根据多个许可证的聚集来操作的数字应用程序的制作方法

文档序号:6568128阅读:182来源:国知局
专利名称:根据多个许可证的聚集来操作的数字应用程序的制作方法
技术领域
本发明涉及根据数字许可证等中陈述的权限和条件在计算设备等上操作的数 字应用程序等。更具体而言,本发明涉及被聚集以便实际上形成应用程序根据其来 操作的规则和权限的超集的多个这样的许可证。发明背景权限管理和实施对于诸如数字应用程序等数字内容而言是高度需要的,其中 这种数字应用程序要被分发到一个或多个用户。典型的分发模式包括诸如磁(软) 盘、磁带、光(紧致)盘(CD)等有形设备,以及诸如电子公告板、电子网络、 因特网等无形介质。在由用户在其计算设备上接收到之后,这一用户可在计算设备 上的适当操作系统的帮助下激活该应用程序。通常,应用程序的作者和/或发布者希望将这一应用程序分发到多个用户或接 收者的每一个以交换许可证费用或某种其它考虑事项。因此,在这种情形中,应用程序可以是文字处理应用程序、电子表格应用程序、浏览器应用程序、游戏应用程 序、媒体播放器应用程序、其组合等等。这一作者/发布者或其它类似的实体(以 下称为"发布者")在得到机会后可能希望限制每一用户可以对这一发布的应用程 序所做的动作。例如,发布者可能希望限制用户至少以拒绝给予发布者来自第二用 户的许可证费用的方式将这一应用程序复制和再分发到该第二用户。然而,在发生了发布之后,这一发布者对应用程序即使有,也只有极少的任 何真实控制。这鉴于以下事实尤其成问题实际上每一个人计算机都包括制作这一 应用程序的精确数字副本、以及将这一精确数字副本下载到可写磁盘或光盘、或将这一精确数字副本通过诸如因特网等网络发送到任何目的地所需的软件和硬件。当然,作为分发应用程序的交易的一部分,发布者可能要求应用程序的用户/ 接收者承诺不会以任何不受欢迎的方式再分发这一应用程序。然而,这种承诺是容 易作出又很容易违背的。发布者可能试图通过通常涉及加密和解密的若干已知安全 设备中的任一种来阻止这种再分发。然而,这极少阻止适度确定的用户解密己加密 的应用程序、将这一应用程序以未加密形式保存、然后再分发该应用程序。先前已提供了权限管理(RM)和实施体系结构和方法以允许对任意形式的数 字应用程序的受控操作,其中这种控制是灵活的,且可由这一应用程序的发布者来 定义。通常,提供一数字许可证来操作应用程序,其中应用程序在没有这一许可证 的情况下不能用有意义的方式来启动。例如,情况可以是应用程序的至少一部分被 加密,并且许可证包括用于解密这一加密部分的解密密钥。另外,情况可以是许可 证被绑定到用户或其计算设备,并且这一计算设备包括确保遵守许可证的条款的安 全特征。这一数字许可证通常包括支配在计算设备上对相应应用程序的使用的一组权 限和条件。由此,每一许可证陈述了授予对指定功能的特定权限的策略。因此,采 用数字许可证,发布者可通过提供对应于不同权限的不同许可证来向用户提供关于 应用程序的不同权限。例如,发布者可能希望以较高的价格来提供应用程序的全特 征版本,并以较低的价格来提供基本版本。同样,发布者可能希望提供具有特定的 第一特征的版本以及没有该特征的版本、具有特定的第二特征的版本以及没有该特 征的版本、具有特定的第三特征的版本以及没有该特征的版本等等。然而,注意,在现有技术中,因为应用程序中的权限的每种变化都需要完全 独立的许可证,因此由于这些权限的任意组合的数目很容易是几十、几百和几千, 并且每一任意的权限组合都需要单独的一种许可证,所以向用户提供权限的任意组 合是一个难题。例如,希望提供具有五个二状态权限(例如,要么存在要么缺乏的权限)的应用程序的发布者必须准备2的5次幂,即32种不同类型的许可证。同 样,希望提供具有四个二状态权限和两个三状态权限(例如存在、受限或缺乏的权 限)的应用程序的发布者必须准备2的4次幂乘以3的2次幂,即144种不同类型 的许可证。因此,应当理解,应用程序的变化的复杂度越大,所导致的不同类型的许可 证的数目也越大。然而,重要的是,对于这种应用程序的发布者而言,提供比有限 数目更多类型,可能是大约十或三十的数量级的许可证即使不是不可能也是非常困难的。简言之,提供每种类型的许可证将要求发布者维护每一类型,包括在必要时 的更新和修改,并且这种维护随着类型数目的增加很容易变为过于大量的任务。因此,存在对应用程序等的发布者等可通过数字许可方案来向用户等提供任 意权限组合的方法和机制的需求,其中最小化了表示这些权限的不同类型许可证的 数目。具体地,存在对关于应用程序的特定权限或权限组由用于该应用程序的单独数字许可证来表示,并且用户获得这些许可证中的一个或多个来相应地获得由其集 体表示的权限或权限组的这一方法和机制的需求。结果,最小化了用于应用程序的 不同类型的许可证的数目。发明概述上述需求至少部分地由本发明来满足,在本发明中,提供了一种以特定方式 在计算设备上釆用一段数字内容的方法。在该方法中,获得对应于该内容的多个数 字许可证,其中这多个许可证包括一基础许可证和至少一个附加许可证。每一附加 许可证中包括对该基础许可证的引用,且基础许可证和每一附加许可证中的每一个 陈述了指定如何可采用内容的规则。标识基础许可证,并通过其中对基础许可证的引用来标识每一附加许可证, 并且基础许可证和每一标识的附加许可证中的规则被聚集成一聚集规则集。然后评 估该聚集规则集以确定该聚集规则集是否允许以特定方式采用内容,并且如果该聚 集规则集允许则采用该内容。附图简述当结合附图阅读时,可以更好地理解以上概述以及以下本发明的各实施例的 详细描述。出于图示本发明的目的,附图中示出了当前优选的实施例。然而,应当 理解,本发明不限于所示的精确排列和手段。附图中

图1是表示其中可实现本发明的示例性非限制计算环境的框图; 图2是表示具有其中可实现本发明的各种计算设备的示例性网络环境的框图; 图3是示出根据本发明的一个实施例的包括数字许可证的基于信任的系统的 一个示例的实施体系结构的框图;图4是示出根据本发明的一个实施例的诸如图3的许可证等许可证分层结构的框图,其中该分层结构包括基础许可证和附加许可证;以及图5是示出根据本发明的一个实施例的在聚集图4的分层结构的每一许可证中陈述的规则时执行的关键步骤的流程图。发明详述 计算机环境图1及以下讨论旨在提供对其中可实现本发明的合适的计算环境的简要概括 描述。然而,应当理解,构想了所有种类的手持式、便携式和其它计算设备来结合 本发明使用。尽管以下描述了通用计算机,但是这仅是一个示例,并且本发明只需 具有网络服务器互操作性和交互的痩客户机。由此,本发明可在其中蕴含了极少或 最小客户机资源的联网的主存服务的环境,例如其中客户机设备仅用作浏览器或到 万维网的接口的联网环境中实现。尽管并非所需,但本发明可经由开发者使用的,和/或包括在网络浏览软件中 的应用程序编程接口 (API)来实现,该网络浏览软件将在诸如程序模块等由诸如 客户机工作站、服务器或其它设备等一个或多个计算机执行的计算机可执行指令的 一般上下文中描述。 一般而言,程序模块包括执行特定的任务或实现特定的抽象数 据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可如各 个实施例中所需地组合或分布。此外,本领域的技术人员可以理解,本发明可以用 其它计算机系统配置来实施。适甩于本发明的其它众所周知的计算系统、环境和/ 或配置包括但不限于,个人计算机(PC)、自动提款机、服务器计算机、手持式 或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网 络PC、小型机、大型计算机等等。本发明也可以在其中任务由通过通信网络或其 它数据传输介质链接的远程处理设备来执行的分布式计算环境中实施。在分布式计 算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质 中。因此,图1示出了其中可实现本发明的合适的计算系统环境100的一个示例,尽管如上所述,计算系统环境ioo仅为合适的计算环境的一个示例,并非对本发明的使用范围或功能提出任何局限。也不应将计算环境100解释为对示例性操作环境 100中示出的任一组件或其组合具有任何依赖性或需求。参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设 备。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包 括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121 可以是若干种总线结构的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的任一种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA (EISA) 总线、视频电子技术标准协会(VESA)局部总线、以及外围部件互连(PCI)总 线(也称为背板(Mezzanine)总线)。计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算 机110访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。 作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储 介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息 的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储 介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其它存储器技术、CD-ROM、 数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设 备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介 质通常具体化为诸如载波或其它传输机制等己调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语"已调制数据信 号"指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作 为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线 介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机 可读介质的范围之内。系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如 只读存储器(ROM) 131和随机存取存储器(RAM) 132。基本输A/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程, 它通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问和/或当 前正在操作的数据和/或程序模块。作为示例而非局限,图l示出了操作系统134、 应用程序135、其它程序模块136和程序数据137。计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。 仅作示例,图l示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器141, 对可移动、非易失性磁盘152进行读写的磁盘驱动器151,以及对可移动、非易失 性光盘156,如CDROM或其它光介质进行读写的光盘驱动器155。可以在示例性 操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但 不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM 等等。硬盘驱动器141通常通过不可移动存储器接口,如接口 140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口 150 连接到系统总线121。上文讨论并在图1中示出的驱动器及其关联的计算机存储介质为计算机110 提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1 中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和 程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模 块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序 145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的 副本。用户可以通过输入设备,如键盘162和定点设备161 (通常指鼠标、跟踪球 或触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可包括话筒、 操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦 合至系统总线121的用户输入接口 160连接至处理单元120,但是也可以通过其它 接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口 l卯连接至系统 总线121。诸如北桥(Northbridge)等图形接口 182也可连接到系统总线121。北 桥是与CPU或主机处理单元120通信的芯片组,并承担了加速图形端口 (AGP) 通信的责任。 一个或多个图形处理单元(GPU) 184可以与图形接口 182通信。在 这一点上,GPU 184—般包括诸如寄存器存储等片上存储器存储,并且GPU 184 与视频存储器186通信。然而,GPU184仅是协处理器的一个示例,且因此计算机 110中可包括各种协处理设备。监视器191或其它类型的显示设备也通过接口,如 视频接口 190连接至系统总线121,而视频接口 190又与视频存储器186通信。除 监视器191之外,计算机也可包括其它外围输出设备,如扬声器197和打印机196, 它们通过输出外围接口 195连接。计算机110可以使用到一个或多个远程计算机,如远程计算机180的逻辑连 接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网 络PC、对等设备或其它常见的网络节点,并通常包括许多或所有相对于计算机110 所描述的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接 包括局域网(LAN) 171和广域网(WAN) 173,但也可包括其它网络。这类网络 环境常见于办公室、企业范围计算机网络、内联网以及因特网。当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至 LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过WAN173,如因特网建立通信的其它装置。调制解调器172可以是内置 或外置的,它通过用户输入接口 160或其它适当的机制连接至系统总线121。在网 络化环境中,相对于计算机110所描述的程序模块或其部分可储存在远程存储器存 储设备中。作为示例而非局限,图1示出远程应用程序185驻留在存储器设备181 上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链 路的其它手段。本领域的普通技术人员可以理解,计算机110或其它客户机设备可作为计算 机网络的一部分来部署。在这一点上,本发明涉及具有任意数量的存储器或存储单 元以及在任意数量的存储单元或巻上发生的任意数量的应用程序和进程的任何计 算机系统。本发明可应用于具有部署在具有远程或本地存储的网络环境中的服务器 计算机和客户机计算机的环境。本发明也可应用于具有编程语言功能、解释和执行能力的独立计算设备。分布式计算便于通过计算设备和系统之间的直接交换共享计算机资源和服务。这些资源和服务包括信息交换、高速缓存存储和文件的盘存储。分布式计算利 用了网络连接,从而允许客户机充分利用其集体能力来有益于整个企业。在这一点 上,各种设备可具有可交互以蕴含用于可信图形流水线的本发明的认证技术的应用 程序、对象或资源。图2提供了示例性网络化或分布式计算环境的示意图。分布式计算环境包括 计算对象10a、 10b等,以及计算对象或设备110a、 110b、 110c等。这些对象可包 括程序、方法、数据存储、可编程逻辑等等。这些对象可包括诸如PDA、电视机、 MP3播放器、电视机、个人计算机等的相同或不同设备的各部分。每一对象可通 过通信网络14与另一对象通信。该网络本身可包括向图2的系统提供服务的其它 计算对象和计算设备。根据本发明的一个方面,每一对象10或110可包含可以请 求用于可信图形流水线的本发明的认证技术的应用程序。可以理解,诸如110c等对象可以主存在另一计算设备10或110上。由此, 尽管所描述的物理环境可以将连接的设备示为计算机,然而这一说明仅是示例性 的,并且该物理环境可替换地被描绘或描述为包括诸如PDA、电视机、MP3播放 器等各种数字设备,诸如接口、 COM对象等的软件对象。有各种支持分布式计算环境的系统、组件和网络配置。例如,计算系统可以 通过有线或无线系统、局域网或广泛分布的网络连接在一起。当前,许多网络耦合 至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络。在家庭网络环境中,有至少四个全异的网络传输媒体,其每一个可支持一种 唯一的协议,这些媒体如电力线、数据(无线和有线)、语音(如,电话)和娱乐 媒体。诸如电灯开关和电器设备等大多数家庭控制设备可使用电力线来连接。数据 服务可通过宽带(如,DSL或电缆调制解调器)进入家庭,并可在家庭内使用无线(如,HomeRF或802.11B)或有线(如,家庭PNA、 Cat 5、甚至是电力线)连 接来访问。语音话务可通过有线(如,Cat3)或无线(如,蜂窝电话)进入家庭, 并可在家庭中使用Cat3连线来分布。娱乐媒体可通过卫星或电缆进入家庭,并通 常在家庭中使用同轴电缆来分布。正EE 1394和DVI也作为用于媒体设备群集的数 字互联而浮现。可作为协议标准浮现的所有这些网络环境和其它环境可被互联来形 成可通过因特网连接到外部世界的内联网。简言之,存在各种全异的源用于数据的 存储和传输,并因此向前发展,计算设备需要走在数据处理流水线的所有部分处保 护内容的方式。因特网通常指使用TCP/IP协议套件的网络和网关的集合,该协议在计算机联 网领域中是公知的。TCP/IP是"传输控制协议/互联网协议"的缩写。因特网可被 描述为由执行允许用户通过网络交互和共享信息的联网协议的计算机互连的地理 上分布的远程计算机网络的系统。由于这类广泛分布的信息共享,诸如因特网等远 程网络至今发展成一种开放式系统,开发者可对该开放式系统设计用于执行专用操 作或服务的应用程序,在本质上没有限制。由此,网络基础结构启用了诸如客户机/服务器、对等或混合体系结构等大量 网络拓朴结构。"客户机"是使用它所不相关的另一类或组的服务的类或组的成员。 由此,在计算时,客户机是进程,即,粗略地而言是一组请求由另一程序提供的服 务的指令或任务。客户机进程使用所请求的服务,而无需"知道"关于其它程序或 服务本身的任何工作细节。在客户机/服务器体系结构中,尤其是网络化系统中, 客户机通常是访问由另一计算机,如服务器提供的共享网络资源的计算机。在图2 的示例中,计算机U0a、 110b等可以被认为是客户机,而计算机10a、 10b等可以 被认为是服务器,其中服务器10a、 10b等维护随后在客户机计算机110a、 110b等 中复制的数据。服务器通常是可通过远程网络,如因特网访问的远程计算机系统。客户机进 程可以在第一计算机系统中为活动,而服务器进程可以在第二计算机系统中活动, 它们通过通信介质彼此通信,由此提供了分布式功能并允许多个客户机利用服务器 的信息收集能力。客户机和服务器可使用由协议层提供的功能彼此通信。例如,超文本传输协议(HTTP)是一种结合万维网(WWW)使用的常见协议。通常,计算机网络地 址,如统一资源定位符(URL)或互联网协议(IP)地址,可用于彼此标识服务器 或客户机计算机。网络地址可被称为统一资源定位符地址。例如,通信可在通信介 质上提供。具体地,客户机和服务器可经由TCP/IP连接彼此耦合以进行高性能通 信。由此,图2示出了其中可采用本发明的具有通过网络/总线与客户机计算机通 信的服务器的示例性网络化或分布式环境。更详细地,根据本发明,多个服务器 10a、 10b等经由通信网络/总线14互连,通信网络/总线14可以是LAN、 WAN、 内联网、因特网等,它具有多个客户机或远程计算设备110a、 110b、 110c、 110d、 110e等,如便携式计算机、手持式计算机、痩客户机、联网设备或其它设备,如 VCR、 TV、烤箱、灯、加热器等等。由此,构想本发明可应用于任何计算设备, 期望结合这些设备来处理、储存或呈现来自可信源的安全对象。例如,在其中通信网络/总线14是因特网的网络环境中,服务器10可以是客 户机110a、 110b、 110c、 110d、 110e等通过诸如HTTP等多种己知协议中的任一 种与其通信的web服务器。服务器10也可用作客户机110,这可以是分布式计算 环境的特征。通信可以在适当时是有线或无线的。客户机设备IIO可以通过或不通 过通信网络/总线14通信,并可具有与其相关联的独立通信。例如,在TV或VCR 的情况下,可以有或没有其控制的网络化方面。每一客户机计算机110以及服务器 计算机10可以具备各种应用程序模块或对象135,并具有对各种类型的存储元件 或对象的连接或访问,在这些存储元件或对象上可储存文件,或者可向其下载或迁 移文件的各部分。由此,本发明可以用于具有可访问计算机网络/总线14或与其交 互的客户机110a、 110b等,以及可与客户机计算机110a、 110b等交互的服务器计 算机10a、 10b等,以及其它类似的设备111和数据库20的计算机网络环境中。权限管理(RM)综述如已知的,并且现在参考图3,权限管理(RM)和实施对于要分发给用户的 数字应用程序32或其它内容32而言是高度需要的。在用户接收到之后,该用户在 适当计算设备34等的帮助下实例化应用程序32。通常,分发这一数字应用程序32的应用程序作者或发布者(以下称为"发布 者")44希望限制用户可对该分发的应用程序32能做的动作。例如,发布者44可能希望限制用户将这一应用程序32复制和再分发到第二用户,或可能希望允许所分发的应用程序32仅被启动有限次数、或仅启动特定的总时间、仅在特定类型的机器上启动、仅在特定类型的呈现平台上启动、仅由特定类型的用户启动等等。然而,在发生了分发之后,该发布者44对应用程序32即使有,也只有极小 的控制。因此,RM系统40允许对应用程序32的受控启动,其中这一控制是灵活 的,并且可由该应用程序32的发布者44定义。通常,应用程序32以包33的形式 通过任何适当的分发渠道被分发给用户。所分发的包33可包括用对称加密/解密密 钥(KD)加密的应用程序32或其一部分(即,(KD(AP))),以及标识应用程序 32、如何获取用于该应用程序32的许可证等的其它信息。基于信任的RM系统30允许应用程序32或另一应用程序的发布者指定在允 许该应用程序32在用户的计算设备34上启动之前必须满足的规则。这一许可证规 则例如可包括上述时间要求和/或次数要求等等,并且还可陈述用户对于应用程序 32所具有的权限,诸如打印或复制的能力和/或使用应用程序32的特定特征的能力 等等。无论如何,这些规则可被包含在用户/用户的计算设备34 (这些术语可互换 使用,除非环境有另外的要求)必须从发布者或其代理获得的数字许可证或使用文 档(以下称为"许可证")36中。这一许可证36还包括用于解密应用程序32的 已加密部分的解密密钥(KD),该部分可能是根据可由用户的计算设备34解密的密 钥来加密的。如可从图3中见到的,这一加密密钥可以是用户的计算设备34的公 钥(PU-BB),并且可假定用户的计算设备34具有可用于解密(PU-BB(KD))的相应私 钥(PR-BB)。应用程序32的发布者44可信任用户的计算设备34将遵守由该发布者44在 许可证36中指定的规则,即,除非满足了许可证36中的规则,否则应用程序32 不会被启动,并且仅准许用户采用规则中所述的权限。因此,较佳的是,向用户的 计算设备34提供一可信组件或机制38,它除了根据与应用程序32相关联的并由 用户获得的许可证36中所包含的许可证规则之外,不会启动应用程序32。可信组件38通常具有许可证评估器40,它确定许可证36是否有效,审阅该 有效许可证36中的许可证规则,并基于所审阅的许可证规则来确定作出请求的用 户是否具有以所寻求的方式启动相应的应用程序32的权限等。应当理解,许可证 评估器40在RM系统30中是可信的,以根据许可证36中的规则来实现应用程序 32的发布者44的愿望,并且用户不应能够出于不论是恶意还是其它的任何目的来 轻易地更改这些可信元件。应当理解,许可证36中的规则可基于若干因素中的任一个来指定用户是否具有启动应用程序32的权限,这些因素包括用户是谁、用户在何处、用户使用什么 类型的计算设备34、什么操作系统正在调用RM系统30、日期、时间等。另外, 许可证36的规则可将许可证36限于例如预定次数的启动、或预定的操作时间。由 此,可信组件38可能需要参考计算设备34上的时钟42。规则可根据任何适当的语言和句法在许可证36中指定。例如,语言可以简单 地指定必须满足的属性和值(例如,DATE (日期)必须晚于X),或可要求根据 指定脚本的函数执行(例如,IFDATE大于X, THENDO...)。在许可证评估器40确定许可证36有效并且用户满足其中的规则之后,可启 动应用程序32或其相关部分。具体地,为启动应用程序32,从许可证36获得解 密密钥(KD),并将其应用于来自包33的(KD(AP))以得到实际应用程序32,并且然 后实际上以许可证36中所述的方式来启动实际应用程序32。如上所述,具有(PU-BB(KD))的许可证36实际上授权拥有(PR-BB)的实体访问 (KD),且由此访问根据这一(KD)加密的应用程序32,当然要假设该实体遵守许可 证36中所述的所有条件。然而,应当理解,在RM系统30内可存在其它类型的 许可证36。例如,可以理解,在一种情形中,应用程序32的发布者44可授权一个或多 个特定许可证发放者46通过提供具有发布许可证36p的许可证发放者46来发放用 于应用程序32的许可证36。可以理解,这一发布许可证36p类似于许可证36,这 表现在该发布许可证36p同样包括用于解密此处根据许可证46的公钥(PU-BB)加 密的应用程序32的解密密钥(KD)。同样,发布许可证36p同样包括用于呈现内容 32的规则。然而,此处,这些规则要被插入到由许可证发放者46发放的许可证36 中,并且不是特别适用于该许可证发放者46。然而,注意,发放许可证36p可以实际上包括实际适应于许可证发放者46的 其它规则。因此,许可证发放者46应以类似于用户的计算设备34的方式随许可证 评估器40包括一可信组件38。重要的是,所提供的每种类型的许可证36、 36p等 (以下称为"许可证36")通常包括用于认证/验证目的的数字签名,并且每一数 字签名在兑现许可证36之前由可信组件38确认。当然,如果任何确认失败,则该 过程结束并且不兑现许可证36。在单独类型的许可证36中聚集权限如上所述,发布者44可能希望向用户提供单独购买关于特定应用程序32等 的不同权限集的灵活性,由此用户可按需累积并聚集不同的权限集以用所寻求的方式来操作应用程序。例如,发布者44可能希望与第二种类型的许可证36中的复制 权限分离地在第一种类型的许可证36中提供打印权限,并且同样可能希望在第三 种类型的许可证36中提供在扬声器上播放声音以及在监视器上播放视频这两种权 限,并且还可能希望在第四种类型的许可证36中提供一最小权限集。由此,要以 最小方式操作应用程序32的用户将获得第四种类型的许可证36,并且如有所需, 当需要或期望相应的权限时,将获得和"附加"关于第一、第二和第三种类型的许 可证中的任一个或全部。因此,应当理解,在本发明中,应用程序32在任一时刻根据一个或多个许可 证36中所述的权限来操作,其中许可证36中的权限和其它规则实际上被聚集以形 成关于应用程序32的规则和权限的超集。这一聚集的规则和权限的超集与现有技 术的不同,在现有技术中,应用程序32在任一时刻基于一个且仅一个许可证36 来操作。作为一个更具体的示例,考虑这样一个实例应用程序32被安装在计算设备 34上,该计算设备34包括一基本启动或"基础"许可证36,该许可证向计算设备 34处的应用程序32的用户提供了基本权限,诸如实例化应用程序32的权限、操 作应用程序32的基本功能的权限、以及从应用程序32打印的权限,但没有提供其 它权限,诸如将数据从应用程序32复制到别处的权限。另外,基础许可证36可以 旨在在不购买应用程序32的情况下向用户给出其预览,但仅可预览15天的时限。 在这一情况下,许可证36可以至少概念上看似如下<基础许可证><权限><实例化>是</实例化> <条件></条件> <基本功能>是</基本功能> <条件></条件> <打印>是</打印> <条件></条件><权限> <到期曰><首次使用后的天数>15</首次使用后的天数> </到期曰><分层结构><家族id〉基础々家族id><父〉[空]</父> </分层结构></基础许可证>注意,以上基础许可证36仅以肯定的方式陈述了权限,因此没有陈述未提供 的权限,诸如复制数据的权限。然而,这些权限可以改为以肯定和否定的方式来陈 述而不脱离本发明的精神和范围。更重要的是,注意,除了权限信息和到期日信息之外,以上基础许可证36还 陈述了分层结构信息,包括设为"基础"的家族id属性和设为空的父属性。在本 发明的一个实施例中,采用这种家族和基础属性来定义以上基础许可证36在一许 可证36的分层结构内的位置,这些许可证集体地实际上可被组合以聚集其中的规 则。具体地,采用家族id属性"基础"来将以上基础许可证36标识为"基础", 而空父属性示出"基础"没有父并且因此是基础许可证36。因此,采用以上基础许可证36,作为一个实例,如果在应用程序32的预览的 15天之后的某一点处,用户希望获得使用应用程序32—年的权限,则该用户可获 得包含作为对基础许可证36的附加的权限的适当许可证36,其中这一 "附加"许 可证36中所述的权限实际上要被附加到基础许可证36中所述的权限<附加A 19<权限>[空] <权限><到期曰><首次使用后的天数>365</首次使用后的天数〉 </到期曰><分层结构><家族1(1>附加A々家族id><父>基础</父> </分层结构></附加A许可证>注意,以上附加A许可证36没有陈述任何附加权限,而是仅陈述了应用程序 32的到期日现在是对这一附加A许可证36的首次使用后的365天,即一年。还要 注意,附加A许可证36陈述了分层结构信息,该信息包括设为"附加A"的家族 id属性以及设为基础的父属性。由此,采用家族id属性"附加A"来将附加A许 可证36标识为"附加A",并且父属性"基础"示出被标识为"基础"的基础许 可证36是附加A许可证36的父。以类似的方式,如果在某一点处用户希望获得前述复制权限,则该用户可获 得包含这一权限作为对基础许可证36的附加的另一适当许可证36,其中这一 "附 加"许可证36中所述的权限集实际上要被附加到基础许可证36中所述的权限集-<附加B许可证><权限><复制>是</复制> <条件></条件><权限><到期曰>[空]</到期日><分层结构><家族1(1>附加B々家族id><父>基石出</父> </分层结构></附加B许可证>注意,以上附加B许可证36仅陈述了复制权限而没有对到期日作出任何改变。 还要注意,附加B许可证36陈述了分层结构信息,该信息包括被设为"附加B" 的家族id属性,以及被设为基础的父属性。由此,采用家族id属性"附加B"来 将附加B许可证36标识为"附加B",并且父属性"基础"示出被标识为"基础" 的基础许可证36是附加B许可证36的父。同样,以类似的方式,如果在某一点处用户希望获得使用应用程序32十年的 权限,则该用户获得包含这一权限作为对附加A许可证36的附加的适当许可证36, 其中这一 "附加"许可证36中所述的权限实际上要被附加到基础许可证36和附加 A许可证36中所述的权限<附加C许可证><权限>[空]<权限><到期日><首次使用后的年数>10</首次使用后的年数></到期日> <分层结构><家族id〉[空]〈/家族id> <父>附加八</父></分层结构> </附加C许可证>注意,以上附加C许可证36没有陈述附加权限,而是仅陈述了应用程序32 的到期日现在是该附加C许可证36的首次使用后的十年。还要注意,附加A许可 证36陈述了分层结构信息,该信息包括空家族id属性和设为附加A的父属性。由 此,空家族id属性防止附加C许可证36在该分层结构内被标识,其结果是没有其 它许可证36可将其用作父,而父属性"附加A"示出被标识为"基础"的基础许 可证36是附加C许可证36的父。可以理解,基于所有上述许可证36中的分层结构信息,可形成一表示这些许 可证36的总体分层结构的树,如图4所示。该树和由其表示的分结构提供了至少 两个特征。首先,该分层结构内的每一许可证36只能在许可证36为父并且该许可 证36的父子关系存在时被采用,由此一路回到基础许可证36。由此,作为一个示 例,如果用户获得了基础许可证36和附加C许可证36而没有附加A许可证36, 则该附加C许可证36将不可操作,因为它没有通过附加A许可证36链接到基础 许可证36。其次,许可证36在该分层结构内的位置可用于协商这些许可证36中的规则 和权限之间的冲突。例如,情况可以是分层结构内的一个许可证36特别地提供了 一特定权限,而该分层结构内的另一许可证36特别地拒绝了该特定权限。在这一 情况下,许可证36之间的冲突可根据至少部分地取决于许可证36在该分层结构内 各自的位置的预定冲突规则来解决。例如,这些规则可规定子许可证36取代父许 可证36,或较年轻的兄弟许可证36取代较老的兄弟许可证36。如可以理解的,这 种冲突规则可以是任何适当的冲突规则而不会脱离本发明的精神和范围。这种冲突 规则一般对相关公众是已知的,并且因此无需在此详细描述。如现在可以理解的,通过以如上所述的方式使用基础许可证36和附加许可证 36,发布者44或许可证发放者46等可用一个或多个附加许可证36中的附加或更 改的规则和权限来修改特定的基础许可证36所授予的规则和权限。此处要注意, 这一修改除了添加和以其它方式改变现有权限之外,可包括撤消、限制、移除、删 除以及以其它方式影响权限。因此,采用附加许可证36可在稍后的时间单独分发/ 销售/提供应用程序32或其它内容32的新功能,而没有必须再分发应用程序32或 许可证36的大量时间和花费。一般而言,附加许可证36可修改任何先前的生成(父、祖父等)许可证6的任何规则,包括其中所述的任何权限和条件,而不会脱离本发明的精神和范围。例如,情况可以是基础许可证36授予了仅采用最小成本的、以及在相对较短的使用 时间内的相对基本的权限,并且仅允许使用计算设备34上的有限量的存储器。在 这些情况下,基础许可证36的一个或多个可用附加许可证36可将授予的权限扩展 到相对较宽的范围,基础许可证36的一个或多个可用附加许可证36可扩展使用时 间段,并且基础许可证36的一个或多个可用附加许可证36可扩展要使用的存储器 量。当然,其它附加许可证36可提供这些权限的组合。注意,在诸如图4所示的许可证36的任何分层结构内,可能有一个以上基础 许可证36可用。因此,情况可以是附加许可证36指定一个以上父。在这一情况下, 情况可以是分层结构中仅基础许可证36及其附加许可证36被选中用于应用程序 32。或者,情况可以是选择该分层结构中的一个以上或全部基础许可证36及其附 加许可证36来用于应用程序32。还要注意,附加许可证36可在受该附加许可证36中包含的解密密钥(KD)保 护的应用程序32内实行权限,或者可在受该附加许可证36的先前的生成许可证 36中包含的解密密钥(KD)保护的应用程序32内实行权限。尤其是,在后一情况下, 可以理解,存在恶意实体将其自己设计的"欺诈"附加许可证36插入到许可证36 的分层结构中的可能,其中欺诈附加许可证36将用于扩展该先前的生成许可证36 中所述的权限。因此,在本发明的一个实施例中,分层结构中的每一许可证36根据引导回该 恶意实体正常情况下不能访问的根授权机构的公钥来数字地签署。由此,恶意实体 应当不能以从这一根授权机构开始延伸的证书链来获得数字证书,并且不能基于该 数字证书来签署欺诈附加许可证36。因此,确认诸如图4所示的分层结构中的每 一许可证36时的一步是验证该许可证36的签名基于从该根授权机构开始延伸的证 书链而得到确认。在本发明的一个实施例中,该分层结构中的每一许可证根据引导回单个根授 权机构的公钥来数字地签署,并且实际上每一所发放的这样的许可证36具有对应 的公钥-私钥对。因此,在这一实施例中,采用父许可证36的私钥来数字地签署其 每一子许可证36,并且每一这样的子许可证36的数字签名由此根据其父许可证36 的公钥而得到确认。因此,这一公钥应当被包括在该父许可证36内。相应地,确 认诸如图4所示的分层结构中的每一许可证36包括获得该许可证36的父许可证36的公钥,并釆用所获得的公钥来确认该许可证36的数字签名。现在转向图5,根据本发明的一个实施例示出了用于采用诸如来自图4的分层 结构的基础许可证36以及从其扩展的附加许可证36的一种可能的方法。最初,在 计算设备34处通过接收对要在该计算设备34上实例化或用其它方式呈现或采用的 应用程序32等的选择而在计算设备34处模拟这一方法(步骤501)。计算设备34 将注意到应用程序32等是受RM保护的,且因此将采用图3的可信组件38等来 获得批准和协助以实际上启动所选应用程序32。由此,基于所选的应用程序32,可信组件38将从相关联的许可证存储等(未 示出)中标识其中对应于该所选的应用程序32的每一许可证(步骤503),其中 所标识的许可证36可能包括至少一个基础许可证36和一个或多个附加许可证36。 注意,这一标识可用任何适当的方式来执行而不会脱离本发明的精神和范围。例如, 应用程序32可以用特定的参考ID来标记,并且每一对应的许可证36也包含该参 考ID。无论如何,采用所有标识的许可证36,可信组件38然后组装诸如图4的树以 建立所标识的许可证36之间的分层关系。具体地,可信组件38从所标识的许可证 36中标识每一基础许可证36 (步骤505),选择所标识的基础许可证36之一 (步 骤507),然后确认所选的基础许可证(步骤509)。如可以理解的,如在步骤507 处从多个这样的基础许可证36中选择基础许可证36可用任何适当的方式来执行而 不会脱离本发明的精神和范围。例如,该选择可基于所标识的基础许可证36的某 一次序,诸如基于其中包括的发放数据、其中包括的许可证ID、其中包括的优先 级值等。类似地,如在步骤509处确认所选的基础许可证36也可用任何适当的方 式来执行而不会脱离本发明的精神和范围。例如,这一确认可包括检查其数字签名 是否得到确认、许可证36是否过期、以及是否满足使用许可证36的任何条件。如果所选的基础许可证36没有在步骤509处得到确认,则控制返回到步骤 507,选择另一标识的基础许可证36。然而,假定所选的基础许可证36在步骤509 处的确得到确认,则将所选基础许可证36中所述的规则和权限聚集成一聚集许可 证36的表示(步骤511)。如可以理解的,这一表示将包含来自被发现为在所组 装的分层树中的所有许可证36的权限和规则。之后,该方法通过在所确认的基础许可证36内标识家族属性(如果有)的值 (步骤513)来继续。因此,基于所标识的家族属性值,可信组件38标识对应于 所选应用程序32并具有所标识的家族属性值作为父属性值的每一附加许可证36(步骤515)。如可以理解的,每一这样标识的附加许可证在步骤509处得到确认 (步骤517),并且假定确认成功,将附加许可证36中所述的规则和权限聚集成 聚集许可证36的表示(步骤519)。如上所述,在如此聚集的过程中,根据至少 部分地取决于许可证36在该分层结构中各自的位置的预定冲突规则来协商多个许 可证36中的规则和权限之间的冲突。现在应当理解,该方法在必要时对于每一确认的附加许可证重复。具体地, 对每一如此确认的附加许可证,该方法通过如步骤513处在所确认的附加许可证 36内标识家族属性(如果有)的值来继续。然后,基于所标识的家族属性值,可 信组件38再次如步骤515处那样标识对应于所选应用程序并具有所标识的家族属 性值作为父属性值的每一附加许可证36,如步骤509和517处那样确认每一如此 标识的附加许可证,并且假定确认成功,如步骤519处那样将附加许可证36中所 述的规则和权限聚集成聚集许可证36的表示。由此,应当理解,该方法对每一确 认的附加许可证36迭代所需的次数,以及所需的分层树的层次,直到完全形成分 层树并且完全形成聚集许可证36的表示。 一旦完全形成,则由许可证评估器40 评估该聚集许可证36的表示以确定关于应用程序32所寻求的每一动作是否被准许 (步骤521)。注意,在根据图5的方法形成许可证36的分层树的过程中,如果在步骤509 和517处父许可证36无法得到确认,则该父许可证36的所有子许可证36以及实 际上该父许可证36的所有未来生成都不被考虑。由此,如果许可证A具有子许可 证B并且子许可证B进而具有子许可证C,则A的确认失败实际上使得B和C也 无效。同样,如果A得到确认但是B没有得到确认,则B的确认失败实际上使得 C也无效,但是A仍有效。还要注意,在本发明的一个实施例中,许可证36可指定一个以上父许可证36。 如果是这样,则情况可以是一个父得到确认,而其它父没有得到确认,其结果是许 可证36通过确认的父而非无效的父来到达。同样,情况可以是所有父许可证都必 须得到确认以到达许可证36,或者可采用更复杂的逻辑规则。在后一情况下,这 些逻辑规则可以在许可证36的适当部分中陈述。作为该逻辑规则的一个示例,许 可证可指定必须被如下确认的父许可证的组合(许可证A或许可证B)且(许可证C且(许可证D或许可证E))在这一情况下,适当的父候选许可证必须在发放时根据许可证36的逻辑表达 式来确认以便被评估。结论实现结合本发明执行的过程所需的程序设计是相对直截了当的,并且应当为 相关程序设计公众所明白。因此,这一程序设计没有被附加于此。因此,可采用任 何特定的程序设计来实现本发明而不会脱离其精神和范围。在本发明中,应当理解,可对上述实施例作出改变而不脱离其发明概念。更值得注意的是,尽管本发明是按照用于数字应用程序32的许可证36来陈述的,但 是这一许可证36也可用于任何其它形式的数字内容32,包括但不限于音频内容、 视频内容、文本内容、流内容、多媒体内容等。因此,应当理解,本发明不限于所 公开的具体实施例,而是旨在覆盖落入所附权利要求书定义的本发明的精神和范围 之内的修改。
权利要求
1.一种以特定方式在计算设备上采用一段数字内容的方法,所述方法包括获得对应于所述内容的多个数字许可证,所述多个数字许可证包括一基础许可证和至少一个附加许可证,每一附加许可证中包括对所述基础许可证的引用,所述基础许可证和每一附加许可证中的每一个陈述了指定可如何采用所述内容的规则;标识所述基础许可证;通过其中对所述基础许可证的引用来标识每一附加许可证;将所述基础许可证和每一所标识的附加许可证中的规则聚集成一聚集规则集;评估所述聚集规则集以确定该聚集规则集是否允许以所述特定方式来采用所述内容;以及如果所述聚集规则集如此允许,则采用所述内容。
2. 如权利要求l所述的方法,其特征在于,所述基础许可证中包括一家族id 属性,且每一附加许可证中包括一父属性,所述基础许可证的家族id属性标识了 一许可证分层结构内的基础许可证,并且每一附加许可证的父属性将所述基础许可 证标识为所述附加许可证的分层父,所述方法包括通过确定所述基础许可证的家族 id属性的特定值并定位其父属性被设为所述基础许可证的家族id属性的特定值的 每一附加许可证来标识每一附加许可证。
3. 如权利要求l所述的方法,其特征在于,所述基础许可证和每一附加许可 证中的每一个中都包括一家族id属性和一父属性,所述家族id属性标识了所述许 可证,而所述父属性标识了所述许可证的任何分层父以定义所述许可证在一许可证 分层结构内的位置,所述方法包括通过其父属性被设为空值的基础许可证来标识所 述基础许可证,并通过确定所述基础许可证的家族id属性的特定值并定位其父属 性被设为所述基础许可证的家族id属性的特定值的每一附加许可证来标识每一附 加许可证。
4. 如权利要求l所述的方法,其特征在于,评估所述聚集规则集来确定该聚 集规则集是否允许以所述特定方式来采用所述内容包括采用预定冲突规则来协商 来自冲突许可证的规则之间的任何冲突,所述冲突规则至少部分地基于所述冲突许可证在一许可证分层结构内的各自的位置来解决每一冲突。
5. 如权利要求l所述的方法,其特征在于,所述内容是根据包含在至少一个所述许可证内的解密密钥(KD)来加密和解密的,所述方法包括通过从包含(KD)的 所述许可证中检索(KD)并用(KD)来解密所述内容来采用所述内容。
6. 如权利要求l所述的方法,其特征在于,每一许可证包括根据引导回一公 共根授权机构的公钥产生的数字签名,所述方法还包括基于从这一公共根授权机构 开始延伸的证书链来验证每一许可证的签名得到确认。
7. 如权利要求l所述的方法,其特征在于,每一附加许可证是第一级附加许 可证,所述方法包括获得对应于所述内容的多个数字许可证,所述多个许可证包括一基础许可证、 至少一个第一级附加许可证、以及至少一个第二级附加许可证,每一第一级附加许 可证中包括对所述基础许可证的引用,每一第二级附加许可证中包括对所述第一级 附加许可证之一的引用,所述基础许可证和每一附加许可证中的每一个陈述了指定 可如何采用所述内容的规则;标识所述基础许可证;通过其中对所述基础许可证的引用来标识每一第一级附加许可证; 通过其中对所述第一级附加许可证之一的引用来标识每一第二级附加许可证;将所述基础许可证和每一标识的附加许可证中的规则聚集成一聚集规则集; 评估所述聚集规则集以确定该聚集规则集是否允许以所述特定方式来采用所 述内容;以及如果所述聚集规则集如此允许,则采用所述内容。
8. 如权利要求7所述的方法,其特征在于,所述基础许可证和每一附加许可 证中的每一个中都包括一家族id属性和一父属性,所述家族id属性标识了所述许 可证,而所述父属性标识所述许可证的任何分层父以定义所述许可证在一许可证分 层结构内的位置,所述方法包括通过其父属性被设为空值的基础许可证来标识所述 基础许可证,通过确定所述基础许可证的家族id属性的特定值并定位其父属性被 设为所述基础许可证的家族id属性的特定值的每一附加许可证来标识每一第一级 附加许可证,以及通过确定每一第一级附加许可证的家族id属性的特定值并定位 其父属性被设为所述第一级附加许可证中任一个的家族id属性的特定值的每一附 加许可证来标识每一第二级附加许可证。
9. 如权利要求7所述的方法,其特征在于,评估所述聚集规则集来确定该聚 集规则集是否允许以所述特定方式来采用所述内容包括采用预定冲突规则来协商 来自冲突许可证的规则之间的任何冲突,所述冲突规则至少部分地基于所述冲突许 可证在一许可证分层结构内的各自的位置来解决每一冲突。
10. —种其上储存有计算机可执行指令的计算机可读介质,所述指令实现一种以特定方式在计算设备上釆用一段数字内容的方法,所述方法包括获得对应于所述内容的多个数字许可证,所述多个数字许可证包括一基础许 可证和至少一个附加许可证,每一附加许可证中包括对所述基础许可证的引用,所 述基础许可证和每一附加许可证中的每一个陈述了指定可如何采用所述内容的规 则;标识所述基础许可证;通过其中对所述基础许可证的引用来标识每一 附加许可证; 将所述基础许可证和每一所标识的附加许可证中的规则聚集成一聚集规则集;评估所述聚集规则集以确定该聚集规则集是否允许以所述特定方式来采用所 述内容;以及如果所述聚集规则集如此允许,则采用所述内容。
11. 如权利要求IO所述的介质,其特征在于,所述基础许可证中包括一家族 id属性,且每一附加许可证中包括一父属性,所述基础许可证的家族id属性标识 了一许可证分层结构内的基础许可证,并且每一附加许可证的父属性将所述基础许 可证标识为所述附加许可证的分层父,所述方法包括通过确定所述基础许可证的家 族id属性的特定值并定位其父属性被设为所述基础许可证的家族id属性的特定值 的每一附加许可证来标识每一附加许可证。
12. 如权利要求10所述的介质,其特征在于,所述基础许可证和每一附加许 可证中的每一个中都包括一家族id属性和一父属性,所述家族id属性标识了所述 许可证,而所述父属性标识了所述许可证的任何分层父以定义所述许可证在一许可 证分层结构内的位置,所述方法包括通过其父属性被设为空值的基础许可证来标识 所述基础许可证,并通过确定所述基础许可证的家族id属性的特定值并定位其父 属性被设为所述基础许可证的家族id属性的特定值的每一附加许可证来标识每一 附加许可证。
13. 如权利要求10所述的介质,其特征在于,评估所述聚集规则集来确定该聚集规则集是否允许以所述特定方式来采用所述内容包括采用预定冲突规则来协商来自冲突许可证的规则之间的任何冲突,所述冲突规则至少部分地基于所述冲突 许可证在一许可证分层结构内的各自的位置来解决每一冲突。
14. 如权利要求10所述的介质,其特征在于,所述内容是根据包含在至少一 个所述许可证内的解密密钥(KD)来加密和解密的,所述方法包括通过从包含(KD) 的所述许可证中检索(KD)并用(KD)来解密所述内容来采用所述内容。
15. 如权利要求10所述的介质,其特征在于,每一许可证包括根据引导回一 公共根授权机构的公钥产生的数字签名,所述方法还包括基于从这一公共根授权机 构开始延伸的证书链来验证每一许可证的签名得到确认。
16. 如权利要求10所述的介质,其特征在于,每一附加许可证是第一级附加 许可证,所述方法包括获得对应于所述内容的多个数字许可证,所述多个许可证包括一基础许可证、 至少一个第一级附加许可证、以及至少一个第二级附加许可证,每一第一级附加许 可证中包括对所述基础许可证的引用,每一第二级附加许可证中包括对所述第一级 附加许可证的引用,所述基础许可证和每一附加许可证中的每一个陈述了指定可如 何采用所述内容的规则;标识所述基础许可证;通过其中对所述基础许可证的引用来标识每一第一级附加许可证; 通过其中对所述第一级附加许可证之一的引用来标识每一第二级附加许可证;将所述基础许可证和每一标识的附加许可证中的规则聚集成一聚集规则集; 评估所述聚集规则集以确定该聚集规则集是否允许以所述特定方式来采用所 述内容;以及如果所述聚集规则集如此允许,则采用所述内容。
17. 如权利要求16所述的介质,其特征在于,所述基础许可证和每一附加许 可证中的每一个中都包括一家族id属性和一父属性,所述家族id属性标识了所述 许可证,而所述父属性标识所述许可证的任何分层父以定义所述许可证在一许可证 分层结构内的位置,所述方法包括通过其父属性被设为空值的基础许可证来标识所 述基础许可证,通过确定所述基础许可证的家族id属性的特定值并定位其父属性 被设为所述基础许可证的家族id属性的特定值的每一附加许可证来标识每一第一 级附加许可证,以及通过确定每一第一级附加许可证的家族id属性的特定值并定位其父属性被设为所述第一级附加许可证中任一个的家族id属性的特定值的每一附加许可证来标识每一第二级附加许可证。
18.如权利要求16所述的介质,其特征在于,评估所述聚集规则集来确定该 聚集规则集是否允许以所述特定方式来采用所述内容包括采用预定冲突规则来协 商来自冲突许可证的规则之间的任何冲突,所述冲突规则至少部分地基于所述冲突 许可证在一许可证分层结构内的各自的位置来解决每一冲突。
全文摘要
多个数字许可证对应于一段内容,这些许可证包括一基础许可证和至少一个附加许可证。每一附加许可证包括对该基础许可证的引用,且基础许可证和每一附加许可证中的每一个陈述了指定可如何采用该内容的规则。每一附加许可证通过其中对该基础许可证的引用来标识,且基础许可证和每一标识的附加许可证中的规则被聚集成一聚集规则集,评估该聚集规则集以确定该聚集规则集是否允许以特定方式来采用该内容。
文档编号G06Q99/00GK101223549SQ200680025539
公开日2008年7月16日 申请日期2006年7月11日 优先权日2005年7月14日
发明者N·张, R·S·艾泽霍夫, W-P·S·苏 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1