首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际检索单位 / 软件许可/商业数字分发策略的补充信任模型

软件许可/商业数字分发策略的补充信任模型

阅读:684发布:2020-05-15

专利汇可以提供软件许可/商业数字分发策略的补充信任模型专利检索,专利查询,专利分析的服务。并且提供了对包含多个可 许可 产品的应用程序的灵活使用许可的系统,包括应用程序层产品策略定义许可证,以及对应于每一可许可产品的可许可产品策略定义许可证。灵活使用许可证还包括用于针对各种环境条件确认使用许可证的权限帐户证书,以及用于在许可授权机构处确认使用许可证而无需传输整个使用许可证的外部确认组件。,下面是软件许可/商业数字分发策略的补充信任模型专利的具体信息内容。

1.一种用于对使用软件产品的请求授权的方法,所述方法包括:
接收使用所述软件产品的请求;
检索与所述软件产品相关联的许可证;
聚集检索到的许可证;以及
确定所请求的使用是否遵循所聚集的许可证中所允许的使用。
2.如权利要求1所述的方法,其特征在于,还包括仅当确定所请求的使用遵 循所聚集的许可证中所允许的使用时才允许所请求的使用。
3.如权利要求1所述的方法,其特征在于,所述聚集检索到的许可证包括, 认证所述检索到的许可证,且仅聚集所述检索到的许可证中经成功认证的许可证。
4.如权利要求1所述的方法,其特征在于,所述检索到的许可证包括多个产 品策略,其中每一产品策略对应于一使用权限,且所述聚集检索到的许可证包括聚 集对应于所述同一使用权限的产品策略。
5.如权利要求4所述的方法,其特征在于,每一产品策略包括聚集类型和聚 集优先级,其中根据所述产品策略的聚集类型和聚集优先级来聚集所述对应于同一 使用权限的产品策略定义。
6.如权利要求5所述的方法,其特征在于,所述聚集类型是总和、最大值、 最小值、替换值和布尔的其中之一。
7.如权利要求1所述的方法,其特征在于,所述检索到的许可证以国际标准 组织权限表达语言(ISO REL)表达。
8.一种存储在计算机可读介质上的对应于应用程序的许可证,所述应用程序 包括可许可产品,所述许可证包括:
应用程序产品策略定义许可证,包括多个产品策略,每一产品策略对应于所 述应用程序的一个使用权限;
可许可单位产品策略定义许可证,包括多个产品策略,每一产品策略对应于 所述可许可产品的一个使用权限;以及
产品密钥证书。
9.如权利要求8所述的许可证,其特征在于,所述许可证以国际标准组织权 限表达语言(ISO REL)表达。
10.如权利要求8所述的许可证,其特征在于,所述许可证与权限帐户证书 相关联,所述权限帐户证书包括环境绑定条件,其中所述权限帐户证书能够认证所 述许可证。
11.如权利要求10所述的许可证,其特征在于,所述环境绑定条件是硬件标 识符。
12.如权利要求10所述的许可证,其特征在于,所述环境绑定条件是原始设 备制造商提供的型号特征。
13.如权利要求10所述的许可证,其特征在于,所述环境绑定条件是网络特 征。
14.如权利要求8所述的许可证,其特征在于,所述许可证是初始使用许可 证。
15.如权利要求8所述的许可证,其特征在于,所述许可证是在线使用许可 证。
16.如权利要求8所述的许可证,其特征在于,所述许可证是离线使用许可 证。
17.如权利要求16所述的许可证,其特征在于,所述许可证还包括外部确认 器。
18.一种用于外部确认对应于软件产品的使用许可证的方法,包括:
接收使用所述软件产品的请求;
接收与所述软件产品相关联的使用许可证,其中所述使用许可证包含外部确 认数据;
根据所述外部确认数据确认所述使用许可证;以及
如果所述使用许可证被成功确认,则根据所述使用许可证允许对所述软件产 品的使用。
19.如权利要求18所述的方法,其特征在于,所述根据外部确认数据来确认 使用许可证包括,对所述外部确认数据指示的第一值执行由所述外部确认数据指示 的函数以生成一结果,将所述结果与由所述外部确认数据指示的第二值进行比较, 且如果所述结果匹配所述第二值则确定所述使用许可证被确认。

说明书全文

发明领域

本发明涉及权限管理(RM)系统,由此仅根据数字许可证来提供对数字内容 的访问。更具体地,本发明涉及适用于通过各种分发(distribution)渠道许可各种 软件产品以便最终在各种使用环境中使用的灵活的许可体系结构。

发明背景

软件盗版已经发展成全球范围内价值数十亿美元的产业。对该日益增长的问 题的一种解决方案曾是使用软件产品激活。一般,在软件可在用户计算机上执行之 前,必须首先获取许可证。用户可向集中的许可授权机构电子地发送用户计算机的 某种类型的标识符,以及用户希望如何使用软件的某种指示符。授权机构以准许所 请求的特定使用的许可证来响应。然后用户可根据授权机构所授予的许可证来操作 软件。
然而,存在与当前的软件激活解决方案相关联的各种问题。首先,当前的软 件许可证往往以公司与公司之间各有不同的专用格式表示。在某些更极端的情况 中,许可证格式在同一公司内的产品与产品之间各有不同。
此外,对众多已出售的软件应用程序而言,产品定义不是平面结构,而是树 形的,应用程序的不同版本表现基本应用程序下分支出的或多或少的特征。这些版 本可共享双亲应用程序的同一源代码,但定价不同且针对不同的用户。典型的许可 证是平面的,从而不能够表达这些现代产品定义的复杂许可要求。
此外,随着软件许可证的复杂性增加来匹配产品定义的复杂性,由许可授权 机构外部地确认许可证可能变得很困难。在用户与许可授权机构之间往返发送大型 的数字签署的许可证可能是非常消耗带宽的。对因特网连接较慢的用户而言,这可 能是非常耗时的任务。
从而,需要能够表示现代软件应用程序的复杂许可要求同时维持适于在线确 认的标准许可证。
发明概述
提供了对包含多个可许可产品的应用程序的灵活使用许可的系统,包括应用 程序层产品策略定义许可证,以及对应于每一可许可产品的可许可产品策略定义许 可证。灵活使用许可证还包括用于针对各种环境条件确认使用许可证的权限帐户证 书,以及用于在许可授权机构处确认使用许可证而无需传输整个使用许可证的外部 确认组件。
此外,提供了用于将多个使用许可证聚集在一起并基于与每一许可证相关联 的聚集策略和优先级来确定得到的使用权限的方法。
附图简述
图1是示出可在其中实现本发明的各方面的示例性计算环境的框图
图2是示出可在其中实现本发明的具有各种计算设备的示例性网络环境的框 图;
图3是根据本发明示出示例性应用程序分层结构的框图;
图4是根据本发明示出示例性产品策略定义许可证系统的框图;
图5是根据本发明示出聚集使用许可证的示例性方法的框图;以及
图6是根据本发明示出用于外部确认许可证的示例性方法的流程图
示例性计算环境
图1和以下讨论旨在提供对可在其中实现本发明的合适的计算环境的简要一 般描述。然而,应理解,预期手持、便携式和所有种类的其它计算设备可结合本发 明使用。尽管以下描述了通用计算机,但这仅是一个示例。因此,本发明也可在其 中包含了非常少或最少的客户机资源网络化主存服务的环境中实现,例如,其中客 户机设备仅用作万维网的浏览器或界面的网络化环境。
尽管不是必需的,但本发明可经由供开发员使用的应用程序编程接口(API) 来实现,和/或包括在网络浏览软件内,它将在诸如程序模等由诸如客户机工作 站、服务器或其它设备的一台或多台计算机执行的计算机可执行指令的通用语境中 描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行 特定任务或实现特定抽象数据类型。一般,程序模块的功能可按各个实施例中所需 被组合或分布。而且,本领域的技术人员可以理解,本发明可以使用其它计算机系 统配置来实现。适合在本发明中使用的其它公知的计算系统、环境和/或配置的示 例包括,但不限于,个人计算机(PC)、自动柜员机器、服务器计算机、手持或 膝上型设备、多处理器系统、基于微处理器的系统、可编程消费者电子产品、网络 PC、小型机、大型机等。本发明也可以在分布式计算环境中实现,其中任务由通 过通信网络或其它数据传输介质链接的远程处理设备来执行。在分布式计算环境 中,程序模块可以位于包括存储器存储设备在内的本地和远程存储器存储介质中。
因此图1示出了可在其中实现本发明的合适的计算系统环境100的示例,尽 管在以上清楚描述了,计算系统环境100只是合适的计算环境的一个示例,并不旨 在对本发明的使用范围或功能提出任何限制。也不应该把计算环境100解释为对示 例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
参考图1,用于实现本发明的一个示例性系统包括计算机111形式的通用计算 设备。计算机111的组件可以包括,但不限于,处理单元120、系统存储器130和 将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统 总线121可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制 器、外围总线和使用各种总线体系结构中的任一种的局部总线。作为示例,而非限 制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA) 总线、扩展的ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外 围部件互连(PCI)总线(也被称为Mezzanine总线)。
计算机111通常包括各种计算机可读介质。计算机可读介质可以是能够被计 算机111访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动 介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。 计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据 结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。 计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技 术;CD-ROM、数字多功能盘(DVD)或其它光盘存储;磁带盒、磁带、磁盘存 储或其它磁性存储设备;或能用于存储所需信息且可以由计算机111访问的任何其 它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计 算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语 “已调制数据信号”指的是这样一种信号,其一个或多个特征以在信号中编码信息 的方式被设定或更改。作为示例,而非限制,通信介质包括诸如有线网络或直接线 连接的有线介质,以及诸如声学、RF、红外线和其它无线介质的无线介质。上述 中任一个的组合也应包括在计算机可读介质的范围之内。
系统存储器130包括易失性或非易失性存储器形式的计算机存储介质,诸如 只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133 (BIOS)包含有助于诸如启动时在计算机111中元件之间传递信息的基本例程, 它通常被存储在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/ 或目前正在操作的数据和/或程序模块。作为示例,而非限制,图1示出了操作系 统134、应用程序135、其它程序模块136和程序数据137。
计算机111也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介 质。仅作为示例,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬 盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151, 以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘156中读取或向其 写入的光盘驱动器155。可以在示例性操作环境下使用的其它可移动/不可移动、易 失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能 盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由诸如接口140 的不可移动存储器接口连接至系统总线121,磁盘驱动器151和光盘驱动器155通 常由诸如接口150的可移动存储器接口连接至系统总线121。
以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算机 111提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在 图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块 146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程 序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它程序 模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的 副本。用户可以通过输入设备,诸如键盘162和定点设备161(通常指鼠标跟踪 球或触摸垫)向计算机111输入命令和信息。其它输入设备(未示出)可以包括麦 克、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由 耦合至系统总线121的用户输入接口160连接至处理单元120,但也可以由其它接 口或总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。
监视器191或其它类型的显示设备也经由诸如视频接口190的接口连接至系 统总线121。诸如北桥的图形接口182也可被连接至系统总线121。北桥是与CPU 即主机处理单元120通信的芯片组,并承担加速图形端口(AGP)通信的责任。一 个或多个图形处理单元(GPU)184可与图形接口182通信。就此方面而言,GPU 184一般包括片上存储器存储,诸如寄存器存储,且GPU 184与视频存储器186 通信。然而,GPU 184仅是协处理器的一个示例,因此可在计算机111中包括各种 协处理设备。监视器191或其它类型的显示设备也经由诸如视频接口190的接口连 接至系统总线121,该接口又与视频存储器186通信。除监视器191以外,计算机 也可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出 外围接口195连接。
计算机111可使用至一个或多个远程计算机,诸如远程计算机180的逻辑连 接在网络化环境下操作。远程计算机180可以是个人计算机、服务器、路由器、网 络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机111描述的 许多或所有元件,尽管在图1中只示出存储器存储设备181。图1中所示逻辑连接 包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的 联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机111通过网络接口或适配器170连接至 LAN 171。当在WAN联网环境中使用时,计算机111通常包括调制解调器172或 用于在诸如因特网等WAN 173上建立通信的其它装置。调制解调器172可以是内 置或外置的,它可以通过用户输入接口160或其它合适的机制连接至系统总线121。 在网络化环境中,相对于计算机111描述的程序模块或其部分可以存储在远程存储 器存储设备中。作为示例,而非限制,图1示出了远程应用程序185驻留在存储器 设备181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建 立通信链路的其它手段。
本领域的普通技术人员可以理解,计算机111或其它客户机设备可被部署为 计算机网络的一部分。就此方面而言,本发明适于具有任何数目的存储器或存储单 元、以及跨任何数目的存储单元或卷进行的任何数目的应用和进程的任何计算机系 统。本发明可应用于带有部署在网络环境中、具有远程或本地存储的服务器计算机 和客户机计算机的环境。本发明也可应用于具有编程语言功能、解释和执行能的 单机计算设备。
分布式计算通过在计算设备和系统之间直接交换来便于共享计算机资源和服 务。这些资源和服务包括信息交换、高速缓存存储和文件的磁盘存储。分布式计算 利用网络连接,允许客户机利用其集体的能力来使整项事业受益。就此方面而言, 各种设备可具有可交互的应用程序、对象或资源来包括本发明中用于受信任图形流 线的认证技术。
图2提供了示例性网络化或分布式计算环境的示意图。分布式计算环境包括 计算对象10a、10b等以及计算对象或设备110a、110b、110c等。这些对象可包括 程序、方法、数据存储、可编程逻辑等。对象可包含诸如PDA、电视机、MP3播 放器、电视机、个人计算机等相同或不同设备的各部分。每一对象可经由通信网络 14与另一对象通信。该网络本身可包括向图2的系统提供服务的其它计算对象和 计算设备。根据本发明的一方面,每一对象10或110可包含可请求本发明用于受 信任图形流水线的认证技术的应用程序。
也可理解,诸如110c的对象可被主存在另一计算设备10或110上。因此, 尽管所示物理环境可将所连接的设备示为计算机,但这样的说明仅是示例性的,且 物理环境可替换地被描绘或描述为包括诸如PDA、电视机、MP3播放器等各种数 字设备、诸如接口、COM对象等的软件对象。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可 由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,众多网络被耦 合至因特网,后者为广泛的分布式计算提供了基础架构并包括众多不同的网络。
在家庭联网环境中,至少存在各自可支持唯一协议的四种不同的网络传输介 质,诸如电线、数据(无线和有线)、语音(例如,电话)和娱乐媒体。大多数家 庭控制设备,诸如电灯开关和设备可使用电线来连接。数据设备可作为宽带(例如, DSL或线缆调制解调器)进入家庭,且可在家庭内使用无线(例如,HomeRF或 802.11b)或有线(例如,家庭PNA、5类线、甚至电线)连接来访问。语音通信 可作为有线(例如,3类线)或无线(例如,手机)来进入家庭,且可使用3类线 布线在家庭中分布。娱乐媒体可通过卫星或线缆进入家庭,且一般使用同轴电缆分 布在家庭中。IEEE 1394或DVI也可作为媒体设备簇的数字互连出现。所有这些网 络环境和可作为协议标准出现的其它环境可被互连以形成可经由因特网连接至外 部世界的内联网。简而言之,为数据存储和传输而存在各种不同的源,因此随着时 间的推移,计算设备将要求在数据处理流水线的所有部分保护内容的各种方式。
‘因特网’通常指的是利用计算机联网领域中公知的TCP/IP协议组的网络和 网关的集合。TCP/IP是“传输控制协议/接口程序”的首字母缩写。因特网可被描 述为通过计算机执行允许用户通过网络交互和共享信息的联网协议来互连的地理 上分布式的远程计算机网络的系统。由于这样广泛分布的信息共享,诸如因特网的 远程网络迄今大体上发展成开发员可为之设计应用程序以便执行专的操作或服 务而基本上没有限制的开放系统。
因此,网络基础架构允许容纳各种网络拓扑,诸如客户机/服务器、对等、或 混合体系结构。“客户机”是使用与其无关的另一类或组的服务的一类或组的成员。 因此,在计算时,客户机是进程,即概括地说是一组指令或任务,它们请求由另一 程序提供的服务。客户机进程利用所请求的服务而无需“了解”关于其它程序或服 务本身的任何工作细节。在客户机/服务器体系结构中,尤其是网络化计算机中, 客户机通常是访问由例如服务器的另一计算机提供的共享网络资源的计算机。在图 2的示例中,计算机110a、110b等可被认为是客户机,而计算机10a、10b等可被 认为是服务器,其中服务器10a、10b等维护然后将在客户计算机110a、110b等中 复制的数据。
服务器一般是可通过诸如因特网等远程网络访问的远程计算机系统。客户机 进程可在第一计算机系统中活动,而服务器进程可在第二计算机系统中活动,通过 通信介质彼此通信,从而提供分布式的功能并允许多个客户机利用服务器的信息收 集能力。
客户机和服务器利用协议层提供的功能来彼此通信。例如,超文本传输协议 (HTTP)是结合万维网(WWW)使用的常见协议。一般,诸如通用资源定位器 (URL)或因特网协议(IP)地址的计算机网络地址被用于向服务器或客户机彼此 标识对方。网络地址可被称为通用资源定位器地址。例如,可在通信介质上提供通 信。具体地,客户机和服务器可经由高容量通信的TCP/IP连接彼此耦合。
因此,图2示出了可在其中使用本发明的示例性网络化或分布式环境,服务 器经由网络/总线与客户机通信。更详细地,根据本发明,多个服务器10a、10b等 经由可以是LAN、WAN、内联网、因特网等通信网络/总线14与诸如便携式计算 机、手持式计算机、瘦客户机、网络化设备的多个客户机或远程计算设备110a、 110b、110c、110d、110e等或诸如VCR、TV、炉子、电灯、加热器等的其它设备 互连。因此构想了,本发明可应用于任何计算设备,期望结合这些设备来处理、存 储和呈现来自受信任源的安全内容。
在其中通信网络/总线14是因特网的网络环境中,例如,服务器10可以是客 户机110a、110b、110c、110d、110e等可经由诸如HTTP的多个已知协议中任一 种与之通信的Web服务器。服务器10也可用作客户机110,这可以是分布式计算 环境的特征。通信可以是有线或无线的,其中适当的客户机设备110可以或可以不 经由通信网络/总线14通信,且可具有与之相关联的独立通信。例如,在TV或 VCR的情况中,可以存在或可以不存在对其控制的网络化方面。每一客户机计算 机110和服务器计算机10可配备各种应用程序模块或对象135,并可连接或访问 各种类型的存储元件或对象,文件可跨这些元件或对象存储或文件的一部分下载或 移动到这些元件或对象。因此,可在具有可访问计算机网络总线14并与之交互的 客户机计算机110a、110b等以及可与客户机计算机110a、110b等交互的服务器计 算机10a、10b等以及其它设备111和数据库20的计算机网络环境中利用本发明。
说明性实施例的详细描述
图3示出了根据本发明的示例性应用程序分层结构。如图所示,该分层结构 包括应用程序301和可许可产品302-305的集合。可许可产品302-305可共享如应 用程序301的相同的源代码,但可许可产品302-305中的每一个被创建为能够彼此 独立出售的不同的产品。例如,应用程序301和可许可产品302-305可在光盘或其 它计算机可读介质上一起分发。
这样的应用程序301的示例可以是操作系统。特定的操作系统可以众多版本 提供,例如64位版本、外语版本、专业版本等。这些版本中的每一个均表示一可 许可产品。尽管每一版本均具有不同的特征,但它们可从其双亲应用程序301得到 其某些或全部的源代码。应用程序301的制造商可通过出售将可许可产品302-305 中的每一个包括在一起的单个封装并仅向购买者收取该购买者希望使用的特定可 许可产品的费用来实现成本节约。另一优点在于,如果特定可许可产品的购买者希 望升级至该可许可产品的特征更完全的版本,则购买者可无需获取应用程序301 的新版本来这样做。
为便于此,每一版本或可许可产品可具有被示为许可证307-309的使用许可 证。如图所示,许可证307-309包括初始使用许可证307、在线使用许可证308以 及离线使用许可证309。尽管每一可许可产品被示为仅具有一个使用许可证,但不 旨在将本发明限于每个可许可产品仅一个许可证。对每一可许可产品可包含的许可 证的数目没有限制。
初始使用许可证307(即,开箱即用许可证)可包括当用户购买软件应用程序 时向用户给予的初始权限。例如,可向服务器应用程序的购买者提供包括该应用程 序的若干版本的CD-ROM,每一版本包括更多或高级的特征。CD-ROM所附带的 例如可以是应用程序中对应于具有最少数目的特征的版本的初始使用许可证。或 者,初始使用许可证可准许用户一开始访问应用程序的特征更完全的版本,并在稍 后经过某个介绍时期之后回复至特征较少的版本。如果购买者稍后期望升级至可许 可产品中的另一个,则购买者必须联系发布者购买其它许可证。
在线使用许可证308可包括用户在购买了软件应用程序之后用户例如通过因 特网获取的使用许可证。当用户购买应用程序时,可要求用户在线激活该应用程序 以接收在线使用许可证。用户可向软件应用程序的制造商提供“购买证明”或产品 的某种其它标识符。在制造商认证了购买证明之后,制造商可向用户提供授予用户 对应于该购买证明的特定权限的在线许可证。
离线使用许可证309可包括例如针对不能够在线确认其许可证的使用许可证。 为便于此,离线使用许可证可包括例如外部确认器315。当用户购买产品时,可要 求用户首先输入对应于所购买产品的号码,例如购买证明。当用户输入了该号码之 后,用户可例如接收第二号码以便输入到用户的计算机中。该第二号码例如可通过 某种数学变换(诸如散列函数)与该购买证明相关。该第二号码可被存储在用户计 算机的已知位置中。稍后,当用户试图使用对应于离线使用许可证309的产品时, 将遇到外部确认器315。外部确认器315理想上包括关于如何确认离线用户许可证 的数据及指令。对前述示例而言,该外部确认器可规定,购买证明的散列应对应于 存储在用户计算机中的已知位置处的值。系统然后可通过对购买证明执行散列来确 认离线使用许可证309,并如外部确认器315所指示地针对所存储的值对其进行检 查。例如,将参考图6进一步描述外部确认器。
图4是根据本发明示出示例性产品许可证401的框图。位于以虚线为边界的 框内的块308、415、410和423表示可被包含在产品许可证401内的各个许可证和 组件。此外,在含有产品许可证401的计算机上,可能存在可任选的权限帐户证书 (“RAC”)421和安全处理器证书(“SPC”)431。SPC 431可用于确认RAC 421, 后者又可被用于确认例如产品许可证401。如前在图3中所示,应用程序301可具 有与之相关联的多个可许可产品302-305,每一可许可产品还与使用许可证307-309 之一相关联。仅为说明方便起见,从图4中移除了可许可产品303和305以及相关 联的使用许可证。对可在产品许可证401中表示的可许可产品及相关联的使用许可 证的数目没有限制。
产品许可证401理想上按照一般权限或策略语言表达,诸如例如国际标准组 织权限表达语言(“ISO REL”)。使用一般权限或策略语言允许产品许可证401 变得灵活且适于在例如各种可能的许可情形中使用。产品许可证401理想上包括若 干组件或许可证,包括使用许可证308、可许可产品层策略产品定义许可证 (“PPDLIC”)415、应用程序层PPDLIC 410、和产品密钥证书423。尽管图4 中仅示出每一组件的一个实例,但对于产品许可证401中可支持的组件或许可证的 数目没有限制。
在产品策略(“PP”)中定义了特定的可许可产品层PPDLIC 415中授予的使 用权限。每一可许可产品层PPDLIC 415包括多个PP,各自对应于相关联应用程 序中所授予的特定使用权限。
类似地,应用程序层PPDLIC 410也包括PP。一开始,特定的应用程序301 可仅连同应用程序层PPDLIC 410分发。应用程序层PPDLIC 410可包括例如对应 于向应用程序301的用户授予的最少使用权限的PP。
产品密钥证书423理想上包括例如购买证明或对应于应用程序二进制文件的 其它标识符。产品密钥证书423的示例有例如通常与所购买的软件应用程序绑在 一起的序列号。这些序列号然后可由用户输入,之后所购买的软件应用程序才可被 激活。产品密钥证书423理想上包括表达发布者期望产品或应用程序如何被许可的 数据。例如,特定的产品密钥证书423可仅对某些产品有效,因此当用户激活该产 品或应用程序时,用户必须拥有相应的产品密钥证书423。如果被激活的应用程序 或产品不能匹配特定的产品密钥证书423,则操作失败,且该产品或应用程序不能 被激活。
随着可许可产品层PPDLIC 415数目的增长,更多应用程序特征被启用,可能 存在跨各个PPDLIC 415定义的若干重复的PP。为了确定向应用程序的用户给予 了哪些权限,每一PP理想上包括优先级以及聚集类型。在其中两个PP冲突的情 况中,可使用优先级和聚集类型来确定如何解决冲突。
例如,服务器产品的用户可具有与服务器产品相关联的多个可许可产品层 PPDLIC 415。在一个可许可产品层PPDLIC 415中,可能存在向用户授予五个客户 端连接的权限的PP。在另一可许可产品层PPDLIC 415中,可能存在向用户授予 三个客户端连接的权限的PP。取决于聚集类型和优先级,可采取若干不同的动作。 如果聚集类型为“总和”,则可将PP相加在一起准许用户总共八个客户端连接。 如果类型为“替换值”,则可选择与具有最高优先级的PP相关联的值。在其中PP 聚集类型冲突的情况中,使用具有最高优先级的PP中的聚集类型。进一步参考图 5描述该用于聚集冲突PP的方法。
权限帐户证书(“RAC”)421包括用于将产品策略许可证401与发布者可能 希望对其限制应用程序301的使用的特定用户、计算机、网络或任何数据相关联的 环境绑定器。RAC 421可与若干许可证相关联,且可用于在可准许特定使用之前 用于认证特定许可证。可根据在尚待批准的美国专利申请第11/048,087号中所述的 方法来实现RAC 421。RAC 421可包含例如对应于特定硬件标识号的标识符。
除硬件标识号以外,RAC 421可包括例如对应于特定网络特征的标识符。当 用户最初接收到特定RAC 421时,用户必须向许可授权机构(无论是否了解)提 供例如与用户的网络环境相关联的某个标识符或特征。在允许对应用程序的特定使 用之前,验证特定网络特征的存在性。例如,在公司环境中,可提供对应于公司网 络的网络特征,因此防止用户在不在办公室时使用该产品。网络特征的示例可包括 域控制器的数目、DSN名、IP地址或本领域已知的任何其它网络特征。
RAC 421也可包括原始设备制造商(“OEM”)指定的计算机特征的标识符。 OEM通常将软件与对其计算机之一的购买捆绑。软件供应商通常以批量折扣将软 件提供给OEM,并可期望软件不会被计算机的购买者转售或重新分发并与该供应 商在市场上全价软件竞争。代替要求计算机的购买者通过某系列步骤来获取所购买 软件的许可证,但在同时防止购买者向另一用户出售所捆绑的软件和许可证,RAC 421可包括对应于OEM计算机的特定特征的某个标识符。该标识符可对应于例如 与BIOS相关联的某个值。可使用本领域中已知的任何系统来实现OEM绑定以便 描述硬件系统并使该描述与特定OEM相关。可由OEM将要在RAC 421中使用的 特定的OEM特征提供给软件制造商,然后在该软件被安装到OEM计算机中之前 由软件制造商将该特征包括在RAC 421中。当OEM计算机的购买者试图使用所安 装的软件时,将针对用户计算机的OEM特征确认RAC 421中列出的OEM特征, 且仅当OEM特征匹配时,允许所请求的软件使用。
可使用安全处理器证书(“SPC”)431来认证RAC 421。如上所述,使用 RAC 421来认证与应用程序二进制文件301相关联的产品许可证401。类似地,使 用SPC 431来认证RAC 421。可使用认证领域中已知的任何系统、方法或技术来 使用SPC 431认证RAC 421。例如,SPC 431可包含可针对存储在用户处理器中的 值进行比较的签署过的值。如果当对签署过的值解密之后,它匹配所存储的值,则 将RAC 421声明为真实的。
图5是根据本发明的许可证聚集示例性方法的流程图。取回特定应用程序的 一组使用许可证。对使用许可证授权。验证与每一使用许可证相关联的任何条件。 如果有条件,并对其验证了之后,则聚集与每一经验证的使用许可证相关联的每一 产品策略(“PP”)。如果条件未被验证,则为聚集目的忽视该许可证,并评估 所授权的许可证组中的下一许可证。实施例继续直到评估了每一许可证。
在501处,用户或管理员选择了要使用的应用程序。为了确定对于该应用程 序向用户授予了何种权限,理想上可检索与该应用程序相关联的任何许可证。如之 前关于图4所述,可能存在与特定应用程序相关联的若干许可证。每一许可证可包 括在允许使用该应用程序或应用程序的特定特征之前应满足的条件(例如,时间或 付费条件)。每一许可证也可具有授予与应用程序相关的特定使用权限的一个或多 个策略产品(“PP”)。因为每一许可证可包括若干重叠的PP,可能有必要聚集 PP来精确确定可向用户给予与该应用程序相关联的使用权限。从而,理想上检索 包括与特定应用程序相关联的PP的每一PPDLIC。例如可从用户计算机上可存储 许可证的令牌存储或其它集中位置检索PPDLIC。
在505处,对许可证授权。可使用用于许可证确认的任何方法来对许可证授 权,诸如例如RAC 421。对许可证授权例如确保许可证有效且并非转移自另一用 户。理想上将不能被授权的任何许可证从被考虑的该组许可证中移除。
在510处,选择经授权的许可证。因为许可证最终被聚集在一起,因此对许 可证的选择无需特定的顺序。可使用本领域已知的任何系统、方法或技术。
在515处,确定是否满足所选许可证中的任何条件。如前所述,参考图3,可 能存在与给定许可证相关联的可任选条件。例如,如果与特定的可许可产品相关联 的许可证指定三十天试用期限,则可能存在指定许可证被设为过期的日期的条件。 如果所选许可证存在条件,且所有条件均被满足,则该实施例在525处继续。否则, 该实施例返回510来选择不同的许可证。
在525处,理想上将与所选许可证相关联的PP与之前聚集的PP聚集。之前 聚集的PP例如可被存储在高速缓存中。如前所述,同一PP可与多个许可证相关 联。如按照例如ISO REL表达的典型PP包括聚集优先级和聚集类型。聚集类型指 定该特定PP应如何与指定同一使用权限的PP聚集。聚集优先级被用来确定哪个 PP对某些聚集类型具有优先级。以下示出示例PP:

            2.26
                 Connections″>3
     

所示PP具有优先级2.26以及聚集类型总和。聚集策略类型总和指示例如与PP相 关联的使用权限应与高速缓存中指定同一使用权限的任何之前的PP相关联的使用 权限相加。以下在表T1中示出与每一聚集类型相关联的聚集策略。
聚集类型 聚集策略 最小值 使用包含算术最小值的PP的值 最大值 使用包含算术最大值的PP的值 总和 使用所有PP值的总和 布尔 使用PP值的逻辑或 替换值 使用具有相关联的最高优先级的PP值
表T1
依此考虑与许可证相关联的每一PP。如果指定同一使用权限的PP还未由实 施例考虑(即,它还未位于包括所有之前考虑过的PP的高速缓存中),则将PP 置于高速缓存中,且不必采取任何动作。否则,指定同一使用权限的PP位于高速 缓存中,且理想上根据PP中所指定的聚集类型以及取决于聚集类型(根据与所选 PP相关联的优先级)将当前PP与高速缓存中的PP聚集。
如果聚集类型为“最小值”,则将具有算术最小值的PP的值置于高速缓存中。
如果聚集类型为“最大值”,则将具有算术最大值的PP的值置于高速缓存中。
如果聚集类型为“总和”,则对当前PP的值与高速缓存中所存在的PP的值(如 果有的话)求和。
如果聚集类型为“布尔”,则使用高速缓存中PP值的逻辑或。
如果聚集类型为“替换值”,则使用高速缓存中具有最高聚集优先级的PP的 值。
尽管使用前述五种聚集类型示出了当前示例,但不旨在将本发明限于所述的 那些类型。本发明能够支持聚集值领域中所知的任何已知系统、方法或技术。
当考虑了与所选许可证相关联的所有PP之后,实施例在510处选择下一许可 证。实施例继续从剩余许可证中聚集PP,直到不存在剩余的许可证。当耗尽了许 可证之后,可在高速缓存中存储的剩余经聚集的PP中找到特定应用程序的用户可 用的使用权限。
图6是根据本发明的外部确认的示例性方法的流程图。遇到用于使用许可证 的外部确认指示符。检查相关联的外部确认器。根据外部确认器认证该使用许可证。 如果确认成功,则允许如使用许可证中所述的使用。否则,拒绝使用。
在601处,用户可试图使用特定的可许可产品。例如,如参考图3所述,可 许可产品可对应于可许可产品305。如图所示,可许可产品305具有相应的离线使 用许可证309。离线使用许可证309具有相关联的外部确认器315。
当用户试图使用可许可产品305时,从许可证存储中检索离线使用许可证 309。如前所述,理想上使用诸如ISO REL的一般权限或策略语言来表达许可证。 当解释许可证时,可能遇到对应于外部确认器315的字段或标志。该字段的存在指 示,必须根据相关联的外部确认器315来验证该离线使用许可证。外部确认器315 包括追加至离线使用许可证309或以其它方式与之相关联的数据。
如前参考图3所述,理想上外部确认器315包括指示可任何确认离线使用许 可证309的数据。当用户原始购买对应于离线使用许可证309的可许可产品305 时,用户可经由例如电话向可许可产品305的生产者提供对应于购买证明的号码。 反过来,可向用户提供对应于购买证明的短号码。该号码例如可以是购买证明的散 列。该号码例如可由用户输入,并存储在计算机上外部确认器315所知的位置中。 外部确认器315可包括用于将购买证明的散列与该存储的号码进行比较的指令,且 仅当散列与所存储的号码匹配时才允许使用。因为用户不知道制造商使用的散列函 数,所以用户不能从购买证明重新创建所存储的号码。除散列函数以外,可使用各 种方法,例如包括数字签名等认证所存储的号码。
在610处,根据外部确认器315认证使用许可证309。如上所述,外部确认器 315可包括指示可如何认证使用许可证308的数据。或者,外部确认器315可包括 用户计算机上对应于确认指令的指针或存储器地址。可使用确认领域中已知的任何 系统、方法或技术。
在615处,确定是否成功地认证了离线使用许可证309。如果该许可证被成功 认证,则该实施例可继续至625,在那里允许离线使用许可证309中所指定的使用。 否则,离线使用许可证309不被认证,且在635处不允许使用。
如上所述,尽管结合各个计算设备描述了本发明的示例性实施例,但底层概 念可应用于任何计算设备或系统。
可结合硬件或软件或其适当组合来实现此处所述的各种技术。因此,本发明 的方法和装置或其某些方面或部分可采用具体化成有形介质的程序代码(即,指令) 的形式,这些介质诸如软盘、CD-ROM、硬盘驱动器、或任何其它机器可读存储介 质,其中当将程序代码加载到诸如计算机的机器中并由其执行时,该机器成为实现 本发明的装置。在程序代码在可编程计算机上执行的情况中,计算设备一般包括处 理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件), 至少一个输入设备,和至少一个输出设备。程序可按需使用汇编或机器语言实现。 在任何情况中,语言可以是编译或解释语言,或与硬件实现组合。
本发明的方法和装置也可经由具体化成经由诸如电线或电缆、光纤或任何其 它形式的传输等某些传输介质传输的程序代码的形式的通信实现,其中,当程序代 码由如EPROM、门阵列、可编程逻辑器件(PLD)、客户计算机等机器接收、加 载并执行时,该机器成为用于实现本发明的装置。当在通用处理器上实现时,程序 模块结合处理器来提供用于调用本发明的功能的唯一装置。此外,结合本发明使用 的任何存储技术总是可以是硬件和软件的组合。
尽管结合各个附图的优选实施例描述了本发明,但可以理解,可使用其它类 似的实施例,或可对所述实施例进行修改和添加以执行本发明的同一功能,而不与 之背离。从而,本发明不应限于任何单个实施例,而是应以根据所附权利要求书的 宽度和范围来解释。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈