根据越地区目录信息对内容产生数字权限管理(drm)许可的制作方法

文档序号:6384966阅读:114来源:国知局
专利名称:根据越地区目录信息对内容产生数字权限管理(drm)许可的制作方法
技术领域
本发明涉及数字权限管理(DRM)系统。本发明尤其涉及利用DRM系统在如办公室或公司等的组织中发表数字内容,使得在该组织中此内容的演示或使用能按照对应的使用或许可证项受约束。更具体而言,本发明涉及根据从来自另外地区的目录获得的组的信息产生对于对应数字内容的数字许可证。
背景技术
在如数字声频节目,数字视频节目,数字文本,数字数据,数字多媒体等方面十分希望有数字权限管理和实施,在那里数字内容向一个或多个用户发布。数字内容能如文本文档那样是静态的,或它能如现场直播事件的流动声频/视频节目那样是流动的。发布的通常方式包括实物的,如磁盘(软盘),磁带,光(密致)盘(CD)等,和非实物的媒体,如电子公告栏,电子网络,因特网等。用户接收以后,借助于如个人计算上的多媒体演示器等那样的合适的演示设备,演示或“放映”此数字内容。
有一种情况,如作者,发行者,广播者那样的内容拥有者或权限拥有者希望向许多用户或接收者的每一个发布那样的数字内容以换取许可证费用或某些其它报酬。在那样情况,内容能是歌曲,歌集,电影等,而发布的目的是产生许可证费用。那样的内容拥有者希望具有选择地限止用户用那样发布的数字内容做什么。例如,内容拥有者希望限止用户拷贝此内容,并再发布给拒绝向内容拥有者付许可证费的第二用户。
此外,内容拥有者希望向用户提供以不同的许可证费用购买不用类型的使用许可的灵活性,同时让用户限止在实际购买的何类许可的范围内。例如,内容拥有者能希望允许发布的数字内容只放映有限次,只放映某个总的时间,只在某类机器上,只在某类多媒体放映器,或只由某类用户放映,等。
在另外情况,如一个组织的雇员或成员的内容开发者希望发布那样的数字内容给该组织中的一个或多个其它雇员或成员,或给该组织之外的其它个人,但拒绝其他人演示该内容。这里,内容的发布更类似于以保密或限止方式共享的基于组织的内容,而不是为换取许可证费用或其它报酬的广泛基础的发布。
然而,在那样情况,内容能是文档报告,电子报表,数据库,电子邮件等,使能在办公室范围内交换,而内容开发者希望该内容停留在组织或办公室范围内,而不会被如竞争者或广告商那样的非授权个人演示。而且那样内容开发者希望限止接收者能用那样的发布内容做什么。例如,内容拥有者希望限止用户拷贝并至少限止以将内容向被允许演示该内容的人群之外暴露的方式重新发布内容。
此外,内容的开发者能希望向不同接收者提供不同等级的演示权限。例如,内容开发者能希望所保护的内容对一类人可看但不能打印,而对另一类人可看并可打印。
然而,在上述两种情况,在发布以后,内容的拥有者/开发者具有(若有的话)很少对数字内容的控制。考虑到实际上每台个人计算机包括必要的软硬件来作出那样数字内容的精确的数字拷贝,并下载那样的精确数字拷贝到可写的磁盘或光盘,或经过如因特网那样的网络将那个精确数字拷贝发送到任何目的地,这是尤其成问题。
当然,作为内容发布交易的一部分,内容拥有者/开发者能要求数字内容的用户/接收者承诺不以不良方式再发布那样的数字内容。然而,那样的承诺是易做易打破的。内容拥有者/开发者能试图通过通常涉及加密何解密的若干已知安全装置的任一种避免那样的重新发布。然而,在防止一般性下决心的用户解密被加密的数据,以非加密的方式保存那样的数字内容,并随后重新发布它们方面,收效甚微。
因而有需要提供数字权限管理(DRM)和实施的体系结构和方法,允许任何形式的数字内容的受控的演示或放映,其中那样的控制是灵活的,并能由那样数字内容的内容拥有者/开发者尤其是需要那样的体系结构,特别在办公室或组织等的环境中允许并方便那样的受控演示,在那里文档在确定的人群或确定级别的人中共享。更尤其需要那样的体系结构,使内容在该组织的预定分部或“地区”之间被许可。

发明内容
上述需要通过本发明至少部分地满足,本发明中判断从一个组织来的用户是否为该组织中预定的组的成员,其中该组织维持至少包括地区A和地区B的计算机网络,其中地区A具有目录A和能够查询目录A的查询实体A,并其中地区B具有目录B和能够查询目录B的查询实体B。
在此方法中,查询实体A从用户接收请求,并至少部分地根据该用户是否为该组的成员而决定是否准许该请求。于是,查询实体A查询地区A的目录A,以返回关于该组的信息,并作为响应被导向地区B。然而查询实体A联系地区B的查询实体B,并请求查询实体B查询目录B,以确定用户是否为该组的成员。查询实体A从查询实体B接收用户实际上是否该组的成员的响应,并至少部分地根据该用户是否为该组织成员准许用户的请求。


对上述概述以及下面的本发明的实施例的详述,通过结合附图将更好地理解。为说明本发明的目的,在图中示出较佳的实施例。然而可以理解,本发明不限于所示出的精确安排与工具。附图为图1是表示示例的非限止性计算环境的方框图,其中可以实现本发明;图2是表示具有各种计算设备可以实现本发明发明的示例性网络环境的方框图;图3是按本发明用于发表数字内容的系统和方法的较佳实施例的功能方框图;图4是按本发明用于发表受权限管理的数字内容的方法的较佳实施例的流程图;图4A是示出由图4的方法产生的签署的权限标签的方框图;图5是按本发明用于许可受权限管理的数字内容的系统和方法的较佳实施例的方框图;图6A和6B是按本发明用于许可受权限管理的数字内容的方法的较佳实施例的流程图;图7是示出按本发明的一个实施例由请求者和发许可证者组织的目录向发许可证者发出的证明和权限标签的方框图;图8是示出按本发明的一个实施例组织成多个分部或地区的组织的方框图,其中每个地区具有至少一个DRM服务器和一个目录;图9是示出通过确定组成员方法联系的各种实体的方框图;图10是对图9中示出的实体示出在图8的目录中目录项的方框图;图11是示出基于信任的系统的例子的实施的体系结构的方框图;图12是流程图,示出在判断用户是否为DRM服务器的地区本地的组成员时由图8的DRM服务器完成的关键步骤;图13是流程图,示出按本发明的实施例,在判断用户是否为DRM服务器的地区本地的组成员时,由图8的DRM服务器完成的关键步骤;
图14是示出按本发明的一个实施例在高速缓存取中的各项的方框图;图15和16是方框图,示出按本发明的一个实施例使用图14的高速缓存的高速缓存体系结构的变化情况;图17A和17B是流程图,示出按本发明的一个实施例结合图15和16的高速缓存体系结构,由图8的发许可证DRM服务器利用的算法完成的关键步骤,以确定用户是否为组中的成员。
具体实施例方式
计算机环境图1和下面的描述试图提供能实现本发明的合适的计算环境的简单的一般描述。然而须理解,手持,便携和所有类型的其它计算设备预期能结合本发明使用。虽然下面描述通用计算机,但这仅是例子,本发明只需要具有与网络服务器互操作及互动的瘦客户。因此,本发明能在连网的装备服务的环境中实现,其中只包含很少或最少的客户资源,如客户设备仅用作World WideWeb的浏览器或界面的网络环境。
虽然不必要,本发明能通过由开发者使用和/或包括在网络浏览软件中的应用程序界面(API)来实现,它将以由如工作站,服务器或其它设备那样的计算机执行的如程序模块那样的计算机可执行指令的一般情况予以描述。通常,程序模块包括例行程序,程序,对象,组件,数据结构等,它们完成特定任务或实现特定的抽象数据类型。通常在各种实施例中,程序模块的功能可以如希望那样结合或分布。而且,本专业熟练人士得知,本发明能用其它计算机系统配置实施。适合于本发明使用的其它众知的计算系统,环境和/或配置包括个人计算机(PC),自动取款机(ATM),服务器计算机,手持或膝上设备,多处理器系统,基于微处理器的系统,可编程消费者电子设备,网络PC,小型计算机,大型计算机等,但不限于这些。本发明也能在分布式计算环境中实施,其中任务由通过通讯网络或其它数据传输媒体连接的远程处理设备完成。在分布式计算环境中,程序模块能位于包括存储设备的本地和远程的计算机存储媒体中。
于是图1示出能实现本发明的合适计算系统环境100的例子,虽然使得解释清楚,计算系统环境100只是合适的计算环境的一个例子,不试图对本发明的使用或功能的范围提出任何限止。计算环境100不解释成对示例性操作环境100中示出的任何组件或其组合具有任何依赖或需求。
参考图1,实现本发明的示例性系统包括以计算机110形式的通用计算设备。计算机110的组件包括处理单元120,系统存储器130,和将包括系统存储器的各种系统组件连接到处理单元120的系统总线121,但不限于这些。系统总线121能是若干类型系统总线的任一种,包括存储总线或存储控制器,外围总线,和使用各种总线体系结构的任一种的局部总线。例如,那样的体系结构包括工业标准体系结构(ISA)总线,微通道体系结构(MCA)总线,增强的ISA(EISA)总线,视频电子技术标准协会(VESA)局部总线,和外设部件互连(PCI)总线(也称Mezzanine总线)。
计算机110通常包括各种计算机可读媒体。计算机可读媒体能是任何能由计算机110访问的可得到的媒体,包括易失性媒体和非易失性媒体,可移动和不可移动媒体。例如,计算机可读媒体能包括计算机存储媒体和通讯媒体,但不限于这里。计算机存储媒体包括以任何方法或技术实现的易失性和非易失性,可移动和不可移动媒体,用于存储如计算机可读指令,数据结构,程序模块或其它数据那样的信息。计算机存储媒体包括RAM,ROM,EEPROM,闪存或其它存储技术,CDROM,数字视频盘(DVD)或其它光盘存储器,盒式磁带,磁带,磁盘存储器或其它磁存储设备,或任何其它能用于存储希望的信息并能由计算机110访问的媒体,但不限于这些。通讯媒体通常体现在计算机可读指令,数据结构,程序模块或以如载波或其它传输机制的调制数据信号形式的其它数据,并包括任何信息、提交媒体。术语“调制数据信号”指的是具有一个或多个特征组成以一种方式改变以至于编码信号中的信息的信号。例如,通讯媒体包括如有线网络或直线连接那样的有线媒体,如声音,RF,红外,和其它无线媒体那样的无线媒体,但不限于这些。任何上述的组合也应包括在计算机可读媒体范围内。
系统存储器130包括以易失和/或非易失存储器方式的计算机存储媒体,如只读存储器(ROM)131和随机存储器(RAM)132。包含帮助(如在起动期间)在计算机110中各单元之间传输信息的基本例行程序的基本输入/输出系统133(BIOS)通常存储在ROM131。RAM132通常包含由处理单元120即时访问和/或当时运行的数据和/或程序模块。例如,图1示出操作系统134,应用程序135,其它程序模块136,和程序数据137,但不限于这些。
计算机110也能包括其它可移动/不可移动,易失/非易失计算机存储媒体。图1仅例示了向不可移动,非易失性磁媒体读写的硬盘驱动器141,向可移动,非易失性磁盘152读写的磁盘驱动器,和向如CDROM或其它光媒体那样的可移动非易失性光盘156读写的光盘驱动器155。其它能在示例性操作环境中使用的可移动/不可移动,易失/非易失性计算机存储媒体包括盒式磁带,闪存卡,数字视频盘,数字视频带,固态RAM,固态ROM,等,但不限于这些。硬盘驱动器141通常通过如接口140那样的不可移动存储器接口连接到系统总线,而磁盘驱动器151和光盘驱动器155通常经如接口150那样的可移动存储器接口连接到系统总线121。
上面讨论并示于图1的驱动器及其相关的计算机存储媒体提供计算机可读指令,数据结构,程序模块,和用于计算机110的其它数据的存储。例如在图1中,硬盘驱动器141示作存储操作系统144,应用程145,其它程序模块146,和程序数据147。注意,这些组件能与操作系统134,应用程序135,其它程序模块136,和程序数据相同或不同。操作系统144,应用程序145,其它程序模块146,和程序数据147这里被赋予不同的序号,说明至少它们是不同的拷贝。用户通过如键盘162,和通常称为鼠标的定位设备161,跟踪球或接触垫那样的输入设备输入命令和信息到计算机110。其它输入设备(未示出)能包括话筒。操纵杆,游戏垫,卫星碟,扫描器等。这些和其它输入设备常常通过连接到系统总线121的用户输入接口160连接处理单元120,但能通过其它接口和总线结构连接,如平行口,游戏口,或通用串口总线(USB)。
监视器191或其它类型的显示设备也通过如视频接口190那样的接口连接系统总线121。如Northbridge那样的图象接口182也能连接到系统总线121。Northbridge是与CPU或主处理单元120通讯的芯片集,并认为负责加速图象端口(AGP)通讯。一个或多个图象处理单元(GPU)184能与图象接口182通讯。在这方面,GPU184通常包括如寄存器存储器那样的芯片上的存储器,且GPU184与视频存储器186通讯。然而GPU184仅是协处理器的一个例子,而各种协处理设备能包括在计算机110中。监视器191或其它类型的显示设备也能通过如视频接口190或其它类型的显示设备也能通过如视频接口190那样的接口连接到系统总线121,视频接口转而与视频存储器186通讯。除了监视器191以外,计算机还能包括如喇叭197和打印机196那样的其它外围输出设备,它们能通过输出外围接口195连接。
计算机110能使用到如远程计算机180那样的一个或多个远程计算机的逻辑连接在网络环境中操作。远程计算机180能是个人计算机,服务器,路由器,网络PC,对等设备或其它公共的网络节点,并通常包括上面相对于计算机110描述的许多或所有单元,虽然在图1中只示出存储器设备181。在图1中画出的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也能包括其它网络。那样的网络环境在办公室,企业范围的计算机网络,内联网和因特网中是常见的。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它用于在如因特网那样的WAN173上建立通讯的其它装置。内置或外接的调制解调器172能通过用户输入接口160或其它合适的机制连接到系统总线121。在网络环境中,相对于计算机110画出的程序模块或其部分能存储在远程的存储设备中。例如,图1示出驻留在存储设备181上的远程应用程序185,但不限于此。可以理解,示出的网络连结是示例性的,可以使用在计算机之间建立通讯链路的其它装置。
本领域的普通技术人员将认识到,计算机110或其他客户设备能作出计算机网络的一部分来配置。在这方面,本发明适合于具有任何数量的存储器或存储单元,以及具有占据任何数量的存储单元或存储卷之间的任何数量的应用或处理的任何计算机系统。本发明能应用于带有配置成具有远程或本地存储器的网络环境的服务器计算机和客户计算机的环境。本发明也能应用于具有编程语言功能,解释和执行能力的独立计算设备。
分布式计算通过在计算设备和系统之间直接交换便于共享计算机资源和服务。这些资源和服务包括文件的信息交换,高速缓存,和盘存储。分布式计算得益于网络连接,允许客户利用他们的全部能力有利于整个企业。在这方面,各种设备能具有应用,对象和资源,它们能互动,以隐含用于信任的图象管线的本发明的认证技术。
图2提供示例性连网的或分布式计算环境的原理图。分布式计算环境包括计算对象10a,10b等和计算对象或设备110a,110b,110c,等。这些对象能包括程序,方法,数据存储,可编程逻辑等。对象能包括如PDA,电视,MP3演唱器,电视,个人计算机等的相同或不同设备的部分。每个对象能借助通讯网络14与其它对象通讯。网络本身能包括向图2的系统提供服务的计算对象和计算设备。按照本发明的一个方面,每个对象10或110能包括一应用,它能请求本发明的认证技术用于信任的图象管线。
可以理解,如110c那样的对象能被包容在另外的计算设备10或110中。因此,虽然画出的物理环境能示出如计算机那样的连接的设备,那样的表示仅仅是示例性的,实际的环境能另外画出或描述,使包括如PDA,电视,MP3一演唱机等的各种数字设备,如接口,COM对象等的软件对象。
存在各种系统,组件,和网络配置支持分布式计算环境。例如,计算系统能通过有线或无线系统,通过局域网或广泛分布的网络连结在一起。当前,许多网络连接到因特网,后者对广泛分布的计算提供底层架构,并包含许多不同的网络。
在家庭网络环境中,至少有四种根本不同的网络传输媒体,它们每个支持各自的协议,如电源线,数据(无线和有线的),语音(如电话),和娱乐媒体。大多数家庭控制设备,如点灯开关和电器,能使用电源线连接。数据服务作为宽带(如DSL或有线电视调制解调器)进入家庭,并在家中能使用无线(如Home RF或802.11b)或有线(如Home PNA,Cat5,甚至电源线)访问。语音信息能作为有线(如Cat3)或无线(如手机电话)进入家庭,并能在家中使用Cat3连线分布。娱乐媒体通过卫星或电缆进入家庭,并通常在家中使用同轴电缆分布。IEEE1394和DVI也作为对集群媒体设备的数字互连出现。所有这些网络能够互连,以形成内联网,后者借助因特网连接外部世界。简而言之,对数据的存储和传送存在各种全然不同的资源,因而接下去,计算设备需要在数据处理管线的所有部分保护内容的方法。
“因特网”通常指的是利用在计算机网络专业中众知的TCP/IP协议的套件的网络和网关的集合,TCP/IP是“Transport Control Protocol/InterfaceProgram”的缩写。因特网能描述成由执行网络协议的计算机互连的地理上分布的远程计算机网络的系统,它允许用户在网上互动并共享信息。由于如此广泛散布的信息共享,因此如因特网那样的远程网络已演变成一个开放系统,对它开发者能基本上不受限止地设计软件应用,用于完成专门的操作或服务。
因此,网络底层架构使能有许多网络拓扑,如客户/服务器的,对等的,或混合体系结构。“客户”是一个级别或组的成员,该级别使用与其无关的另外级别或组的服务。因此在计算上,客户是一个过程,即粗略地说是请求由另外程序提供的服务的一组指令或任务。客户过程使用所请求的服务而不必“知道”有关其它程序或服务本身的工作细节。在客户/服务器体系结构中,尤其在网络系统中,客户通常是访问由如服务器那样的另外计算机提供的共享网络资源的计算机。在图2的例子中,计算机110a,110b等能看作客户,而计算机10a,10b等能看作服务器,其中服务器等保持随后复制到客户计算机110a,110b等的数据。
服务器通常是经过如因特网那样的远程网络访问的远程计算机系统。客户过程能在第一计算机系统中是活动的,服务器过程能在第二计算机系统中是活动的,经通讯网络互相通讯,因此提供分布式的功能,并允许多个客户获得服务器信息汇集能力的好处。
客户和服务器利用由协议层提供的功能互相通讯。例如,超文本传输协议(HTTP)是结合World Wide Web(WWW)使用的共同协议。通常,如统一资源定位器(URL)或因特网协议(IP)地址那样的网络地址被用于服务器和客户机的互相识别。网络地址能称为统一资源定位器地址。例如,通讯能经过通讯媒体提供。尤其是客户和服务器能经TCP/IP连结互相连结,用于大容量通讯。
因此,图2示出服务器经网络/总线与客户机通讯的示例性网络或分布式环境,本发明能在其中实现。更详细地,按本发明一系列服务器10a,10b等通过LAN,WAN,内联网,因特网等那样的通讯网络/总线,与一系列客户或远程计算设备110a,110b,110c,110d,110e等互连,如便携计算机手持式计算机,瘦客户,连网电器或其它设备,如VCR,TV,电炉,电灯,加热器等。可以预期,本发明能应用于希望处理,存储或演示从信任来源来的保密内容的任何计算设备。
例如在通讯网络/总线14是因特网的网络环境中,服务器是Web服务器,它通过若干已知的如HTTP那样的协议的任一种与客户110a,110b,110c,110d,110e等通讯。服务器10也能用作客户110,能具有分布式计算环境的特征。通讯只要合适能是有线或无线的。客户设备110可以或不可以经通讯网络/总线14通讯,并能具有与其相关的独立的通讯。例如,在TV或VCR的情况,对控制可以是或不是连网的。每个客户计算机110和服务器计算机10能装有各种应用程序模块或对象135,装有对各种类型存储单元或对象的连接或访问功能,文件能存入这些存储单元之中,或者文件的各部分能下载或移植到那里。因此,本发明能在具有客户计算机110a,110b等的计算机网络环境中使用,客户机能访问计算机网络/总线14和服务器计算机10a,10b,并与其互动,服务器能与客户计算机110a,110b等及其它设备111和数据库20互动。
数字权限管理(DRM)概貌众所周知并参考图11,在如数字声频节目,数字视频节目,数字文本,数字数据,数字多媒体等数字内容12向用户发布的地方,数字权限管理(DRM)和实施是非常希望与数字内容12结合。用户接收之后,用户借助于如个人计算机14等上的媒体放映器那样的合适的演示设备演示或“放映”数字内容。
通常,发布那样数字内容12的内容拥有者或开发者(这里称为“所有者”)希望限止用户用那样发布的内容能做什么。例如,内容拥有者希望限止用户拷贝并向第二用户再发布那样的内容,或希望允许发布的数字内容只放映限定的次数,或只放映某个总的时间,只在某类机器上放映,只在某类媒体放映器上放映,只由某类型用户放映等。
然后在发布发生之后,那样的内容拥有者对数字内容12只具有很少(若有的话)的控制。然而DRM系统10允许控制地演示或表示任何形式的数字内容12,其中那样的控制是灵活的并能由那样的数字内容的内容拥有者确定。通常,内容12借助任何合适的发布通道以包13的形式发布给用户。发布的数字内容包13能包括用对称加密/解密密钥(KD)(即(KD(CONTENT))加密的数字内容,和识别该内容,以及如何获取那样的内容的许可证的其它信息。
基于信任的DRM系统10允许数字内容12的所有者规定在数字内容12在用户的计算设备14似的航允许演示之前必须满足的许可证规则。那样的许可证规则能包括上述的时间的要求,并能体现在数字许可证或使用文档(以后称“许可证”)16之中,用户/用户的计算设备14(此后,那样的术语是可交换的,除非需要另外情况)必须从内容拥有者或代理获取许可证。那样的许可证16还包解密密钥(KD),用于解密可能按由用户的计算设备可解密的密钥加密的数字内容。
一段数字内容12的内容拥有者必须确信。用户的计算设备14将遵守由该内容拥有者在许可证16中规定的规则和要求,即在许可证16中的规则和要求被满足之前将不演示数字内容12。因此最好为用户的计算设备14提供信任的组件或机制18,使得除非遵照了体现在与该数据内容12相关并由用户获得的许可证16中的许可证规则,将不演示该数字内容12。
信息组件18通常具有许可证估算器20,它判断该许可证是否有效,审查在该有效许可证16中的许可规则及要求,并根据审查的许可证规则和要求判断,请求的用户是否有权限以找到的方式或其它方式演示所请求的数字内容。可以理解,许可证估算器20在DRM系统10按照许可证16内的规则和要求实现数字内容12的所有者的希望方面是可信的,且用户应不能够为了任何不良或其它目的容易地更换那样的信任的单元。
可以理解,在许可证16中的规则和要求根据下列因素的任一个规定,用户是否有权限演示该数字内容12,包括用户是谁,用户在哪里,用户使用什么类型的计算设备,哪个演示应用调用DRM系统,日期,时间等。此外,例如许可证16的规则和要求可以将许可证16限止预定次数的放映,或预定的放映时间。
在许可证16中能按照任何合适的语言和语法规定规则和要求。例如,语言能简单地规定必须满足的属性和值(如DATE必须比X更晚),或按照执行的脚本要求实施的功能(如IF DATE大于X,THEN DO……,)。
在许可证估算器20判定,许可证16是有效,并该用户满足其中的规则和要求之后,就能演示数字内容12。尤其是为了演示内容12解密密钥(KD)从许可证16获得,并应用到来自于内容包13的(KD(CONTENT)),以得到实际的内容12,随后实际的内容12真正被演示。
发表数字内容图3是用于发表数字内容的系统及方法的功能方框图。这里使用的术语“发表”指的是一个过程,应用或服务遵循此过程以便用可信任的实体建立该实体对那个内容能发布的一组权限和条件,以及那些权限和条件向谁发布。按本发明,发表的过程包括加密数字内容,和内容的作者试图对该内容的所有可能的用户的不变的可实施的权限的表。此过程能以保密方法完成,以禁止对任何权限和对内容的访问,除非内容拥有者想做。
特别使用3个实体来发表安全的数字内容在客户300上执行并准备拟发表的内容的内容准备应用302;也驻留在客户设备300上的数字权限管理(DRM)应用程序界面(API);通过如因特网,局域或广域网其组合的通讯网络330,在通讯上连接客户300的DRM服务器320。
内容准备应用302能是产生数字内容的任何应用。例如,应用302能是文字处理器,或产生数字文本文件,数字音乐,视频,或其它类似内容的发表者。内容有能包括流动的内容,如现场直播或录下的事件,或例子的流动的声频/视频节目。向应用302提供加密密钥以便加密数字内容,从而形成加密的数字内容文件304,而用户提供与数字内容文件304中与加密的内容紧密相关的权限数据。权限数据包括对在数字内容中具有权限的每个实体的身份,以及对每个已识别的实体的一组权限和条件。
例如,那样的实体是一个人,一类个人或一个设备。那样的权限能包括读,编辑,拷贝,打印等该数字内容的权限。条件能包括最小的系统需要,日期和时间限止,放映计数等。
客户API306传送加密的数据内容和权限数据到DRM服务器320。使用下面详述的过程,DRM服务器320判定它是否实施权限数据,若是,DRM服务器签署权限数据以形成签署的权限标签(SRL)308。然而通常,任何信任的实体能签署权限数据,最好使用由DRM服务器320信任的密钥。例如客户能使用由DRM服务器320向它提供的密钥签署权限数据。
权限标签308能包括表示权限描述,加密的内容密钥,和根据权限描述和加密的内容密钥的数字签名。若DRM服务器320签署权限标签,它将签署的权限标签308通过客户API306送回给客户,API306在客户设备300上存储签署的权限标签308。内容准备应用302随后将签署的权限标签308与加密的数字内容文件相联系,使得通过链接形成经权限管理的内容文件310。虽然应注意,SRL308能存在离开内容文件304的已知位置,后者带着链接到内容文件308的对SRL308的参照以形成内容文件310。
现参考图4,示出用于发表经权限管理的数字内容的一个方法。在步骤402,应用302产生用于加密数字内容的内容密钥(CK)。虽然任何密钥能用于加密数字内容,内容密钥(CK)通常是对称密钥。众所周知,由对称密钥算法使用对称密钥既加密又解密。因而,在发送者和接收者之间共享时,(CK)应该隐藏很好的。
在步骤404,应用302用(CK)加密数字内容以形成加密的数字内容304(即(CK(内容)))。因而,或者由内容的发表者或者有另外实体产生对应于(CK(内容))的权限数据。注意,那样的权限数据能是客户权限数据或从预定的模板获得的权限数据。如上讨论,权限数据能包括授权消费该内容的实体的表,每个实体关于此内容具有的特定权限,和可能加到那些权限上的任何条件。
在步骤406,API306产生用于加密内容密钥(CK)的第二加密密钥(DES1)。(DES1)最好也是对称密钥。在步骤408,API306用(DES1)加密(CK)得出(DES1(CK)),在步骤410,API306舍弃(CK)结果是现在只能通过解密(DES1(CK))获得(CK)。为保证(CK(内容))对中央DRM服务器320是保护的,且对该内容的所有“许可证请求”按照权限数据是集中地做的,在步骤412API306接触所提供的DRM服务器320,并检索其公用密钥(PU-DRM)。在步骤414,API306用(PU-DRM)加密(DES1)得到(PU-DRM(DES1))。因此,(CK)能对(PU-DRM)被保护,以保证在需要解密(CK(内容))时,DRM服务器320是能够访问(CK)的位移实体。在步骤416,API306用(DES1)加密权限数据(即授权实体的表和与表中每个授权的实体相关的对应权限和条件),以得到(DES1(权限数据))。
在另外的实施例中,能使用(CK)直接加密权限数据,以得到(CK(权限数据)),且能使用(PU-DRM)直接加密(CK),得到(PU-DRM(CK)),从而完全放弃使用(DES1)。然而,使用(DES1)加密权限数据和(CK)允许那样的(DES1)负荷任何适合于DRM服务器的特定算法,然而(CK)能由独立于DRM服务器的实体规定,且不能适合于那里。
在步骤418,内容保护应用302提交(PU-DRM(DES1))和(DES1(权限数据))给DRM服务器,作为用于签署的权限标签。另外,客户本身能以下面列出的方式签署权限数据。若权限数据被提交给服务器用于签署,则在步骤420,DRM服务器320访问权限数据,并验证是否能实施在提交的权限标签中能够实施的权限和条件。为了验证可以实施的权限数据,DRM服务器320应用对应于(PU-DRM)的私有密钥(PR-DRM)于(PU-DRM(DES1)),得到(DES1),并随后应用(DES1)于(DES1(权限数据)),以得到明文的权限数据。服务器320随后能做任何策略校验,以验证在权限数据中规定的用户,权限和条件是在任何由服务器320实施的任何策略之中。服务器320签署原先提交包括(PU-DRM(DES1))和(DES1(权限数据))的权限标签,得到签署的权限标签(SRL)308,其中签名是根据DRM服务器的私有密钥(PR-DRM),并将SRL308返回给API306,后者随后将返回的SRL308交给客户应用302。
SRL308是使其防止窜改的数字签名的文档。此外,SRL308独立于用于加密内容的实际密钥类型和算法,但保持对所保护的内容的强的1-1的关系。现在参考图4A,在本发明的一个实施例中,SRL308能包括作为SRL308的基础的内容的信息,多半包括内容的ID;有关签署SRL308的DRM服务器的信息,包括(PU-DRM(DES1))和如用于确定DRM服务器在网络上位置的URL那样的分派信息,和若URL失败时的撤退信息;描述SRL308本身的信息;(DES1(权限数据))(DES1(CK));和数字签名(S(PR-DRM)),及其它。
通过保证信任的实体签署权限数据以创建签署的权限标签308,DRM服务器320判定,它强按照由发表者如在权限标签308数据中所描述那样列出的项对该内容发生许可证。可以理解,用户需要获得演示内容的许可证,尤其是因为许可证包含内容密钥(CK)。当用户希望获得对加密内容的许可证时,用户能向DRM服务器320或其它许可证发行实体提出包括SRL308的对内容的许可证请求,和验证用户证书的证明。然后,许可证发行实体能解密(PU-DRM(DES1))和(DES1(权限数据))以产生权限数据,列出所有由坐着(若有的话)授予学考证请求实体的所有权限,并构成只有那些指定权限的许可证。
所上所述,在应用302接收SRL308之后,应用302链接带有对应的(CK(内容))304的签署的权限标签308以形成受权限管理的数字内容。另外,权限数据存储在已知的位置,用加密的数字内容提供该位置的参照。因此,DRM-使能的演示应用能通过演示应用试图演示的内容的片断发现签署的权限标签308。此发现触发演示应用起动对DRM发许可证服务器320的请求。例如,发表应用302能将URL存到DRM发许可证服务器302,或者在数字签名之前DRM发许可证服务器320能将其自己的URL作为元数据的片断嵌入权限标签中,使得由演示应用调用的DRM客户API306能识别正确的DRM发许可证服务器320。
获得对发表的内容的许可证现参考图5,示出用于对受权限管理的数字内容发许可证的系统和方法。这里用的术语发许可证指的是一个过程,应用或服务遵循的过程,以便请求和接收一个许可证,使在该许可证中命名的实体能按照在许可证中规定的项消费该内容。到发许可证过程的输入能包括与请求许可证的内容相关的签署的权限标签(SRL)308,和为其请求该许可证的实体的公共密钥证明。注意,请求许可证的实体不必然是为其申请许可证的实体。通常,许可证包括从SRL308来的权限描述,能解密被加密的内容的加密的密钥,和在权限描述和加密的密钥上的数字签名,以便判定合法性并防止窜改。
主要是,客户API306将受权限管理的内容310的签署的权限标签308通过通讯网络330送到DRM服务器320。如上所述,权限标签308包含按DRM服务器320的公共密钥(PU-DRM)加密的内容密钥(CK)(即(PU-DRM(CK))。然后在发行许可证的过程中,DRM服务器320将(PR-DRM)应用到(PR-DRM(CK))以获得(CK)。然后它使用在许可证请求中拒绝的,在公共密钥证明中的公共密钥(PU-ENTITY)重新加密(即(PU-ENTITY(CK)))。新加密的(PU-ENTITY(CK))随后被放在许可证中。这样,许可证能返回到调用者而没有暴露(CK)的危险,因为只有对应于(PU-ENTITY)的私有密钥(PR-ENTITY)的持有者能够从(PU-ENTITY(CK))恢复(CK)。然后客户API306使用(CK)解密被加密的内容以形成解密的数字内容312。然后客户应用302能按照在许可证中提供的权限使用解密的数字内容312。
另外如下面详述,如发表客户那样的客户例如能发行使用许可证给它自己以消费该内容。
现参考图6A和6B,示出向受权限管理的数字内容发许可证的方法。在步骤602,如DRM服务器320那样的许可证发行实体接收包括公共密钥证明或对一个或多个请求的领许可证的每一个的身份的许可证请求。估计是,若规定一身份,DRM服务器320能从目录,数据库等获得相应的公共密钥证明。若只对一个领许可证者请求许可证,只命名一个证明或身份。若对多个领许可证者请求许可证,能对每个潜在的领许可证者命令证明或身份。在步骤604,若需要,认证请求的实体(即作出许可证请求的实体)。在步骤606若需要时判断,该实体是否允许请求许可证。
在步骤608,若发行实体判定,公共密钥证明不包括在许可证请求中,则发行实体使用指定的身份实现在目录服务或数据库中对合适的公共密钥证明的查找。在步骤610中,若发行实体判定,证明在目录中,则在步骤612中检索该证明。若对给定的潜在领许可证者在请求或目录中不能找到证明,则对那个潜在的领许可证者许可证服务器不产生许可证,且在步骤614,向请求的实体返回一个错误信息。
假设DRM服务器320对至少一个潜在的领许可证者具有公共密钥证明,则在步骤616,DRM服务器320验证每个领许可证者证明的信任。若未能验证,DRM服务器判定,领许可证者的证明的发行者不在信任的发行者表中,因而对那个领许可证者请求失败,且在步骤614产生一个错误信息。因此,其证明不是由信任的发行者发行的任何潜在的领许可证者将不能接收许可证。
此外,DRM服务器320最好完成在从信任的发行者证明到单独的领许可证者的公共密钥证明的证明链中所有实体的数字签名验证。在一个链中验证数字签名的过程是众知的算法。若对给定的潜在领许可证者的公共密钥证明未被验证,或在链中的证明未验证,该潜在的领许可证者不是信任的,因而不向那个潜在领许可证者发行许可证。相反,在步骤618发行许可证。过程在步骤620重复,直到为其请求许可证的所有实体已被处理。
如图6B所示,DRM320进行验证在许可证请求中接收的签署的权限标签308。在一个实施例中,DRM服务器320具有每个在那里签署的权限标签的主拷贝。然后在许可证时间(步骤622),DRM服务器320能检索主权限标签的拷贝。主权限标签能比在许可证请求中发出的权限标签的拷贝更新,因而将是用于产生请求的许可证的权限标签。若找不到主权限标签在步骤624,DRM服务器按照预定的策略判断,是否根据请求中的权限标签发行一许可证。若策略不允许,在步骤626许可证请求失败,在步骤628向API306返回一个错误信息。
在步骤630,DRM服务器320验证SRL308,且特别是那里的数字签名。若SRL308未验证,在步骤626许可证请求失败,且在步骤628向API306返回一个错误信息。
在发生所有验证之后,DRM服务器根据SRL308对每个认可的许可证构造一许可证。在步骤632,DRM服务器320对每个领许可证者产生对要发生的许可证的相应权限描述。对每个领许可证者,DRM服务器320针对在权利标签的权限描述中命名的身份,估算在该领许可证者的公开密钥证明中命名的身份。在步骤636,DRM服务器320从SRL308获得(PU-DRM(DES1))和(DES1(CK)),并应用(PR-DRM)以获得(CK)。然后发行实体使用从领许可证者的公开密钥证明来的(PU-ENTITY),重新加密(CK)以得到(PU-ENTITY(CK))。在步骤638,DRM服务器320用(PU-ENTITY(CK)链接产生的权限描述,并使用(PR-DRM)数字签名最终的数据结构(即S(PR-DRM))。这样,签名的数据结构成为对此特定领许可证者的许可证。
在步骤640,DRM服务器320判定,对特定的请求,没有更多的许可证要产生。然后在步骤642,产生的许可证带着合适的证明链返回给请求的实体,以及证明链将许可证往回连系到信任的机构。
借助目录发许可证当对保护的内容发行许可证时,许可证发行实体(以后称“发许可证者”)查询从内容发出的SRL308,以取定向哪个用户/组/集群/分部/平台等(以后称为“实体”)提供权限和发送的证明,以识别许可证的请求者。据此,发许可证者判定在SRL308中列出的哪些权限被发信给请求者。在概念上,发许可证者调查在SRL308中列出的实体,并将那样的实体与请求者比较。因此,若SRL308规定,特定组接收一许可证,且请求者是该组的成员,请求者被授予带有对SRL308中的组列出的权限的许可证。类似地,若SRL308规定,特定的用户接收一许可证且请求者是那样的用户,该请求者被授予带有对SRL308中的那个用户列出的权限的许可证。可以理解,特定的SRL308能列出若干实体及其权限,且特定的请求者能根据是一个或多个实体的成员授予一许可证。
在本发明的一个实施例并如图7所见,请求者在发送的证明1202中借助识别符1204识别,在那里识别符1204能是别名,在组织的目录1206中请求者通过它被识别。因而,SRL308在其中按照那个识别符1204列出每个授以权限的实体。于是作为请求许可证1208的处理一部分,通常是DRM服务器320的发许可证者从证明1202获得请求者的识别符1204,并将获得的识别符1204与在发送的SRL308中列出的所有识别符1204比较。若找到匹配,发许可证者1210为请求者发行带有在SRL308中对该请求者的识别符1204规定的权限的许可证1208。
此外,有了目录1206的可用性,发许可证者1210在假定目录1206保护反映在每个其它实体中的请求者的成员的状态的前提下述判定,请求者是否在SRL308中列出的任何其它实体的成员。通常对每个请求者,目录1206不仅列出其识别符1204,还列出该请求者作为其成员的每个组/集群/分部/平台/其它实体等的识别符1208。注意,目录1206能包括识别符1208如电子邮件地址,另外的邮件地址,ID,另外的ID,组成员,历史的识别符等。
带着从请求者接收其中的具有识别符1204的证明1202,带着从该请求者接收的SRL308中的权限数据,一般来说若除其它事情以外从目录1206判断,请求者是在SRL308中列出的任何实体的成员,则发许可证者1210发行许可证1208给请求者。若是,且假设对发许可证的所有其它条件均满足,发许可证者1210向请求者发行许可证1208,它带有对从SRL308获得的列出的实体规定的权限和条件。
在本发明的一个实施例中,在SRL308中列出的实体代表在目录1206中合适地表示的组或集群或某些个人的集合(以后称为“组”)。那样的组能包括电子邮件-使能的组,如分部表或电子邮件别名,或能结合网络操作系统等确定的安全的组。
值得注意,按照组规定在SRL308中的权限并按照其组的成员向请求者发行的许可证1208实行在企业或组织机构中的数字权限管理。例如,文档或电子邮件能是DRM保护的,所以给定部门的所有成员有权阅读文档或电子邮件。假设对一个部门的组(如电子邮件的别名)存在于该组织的目录1206之中(经常是这样),文档或电子邮件的作者将根据组而不是根据个人授予权限。可以理解,那样授以组范围权限的优点包括作者在规定具有各权限的个人等级方面使用方便。此外,通过按组规定权限,当新成员加入该组或老的成员离开该组时,规定的权限不会“过时”。相反,只要该组的成员在组织的目录1206中保持最新,所有该组的当前成员能够实行使该权限。
判定请求者是否为组的成员通常,目录1206是对组织或其一部分感兴趣的有用信息的仓库。尤其是,目录1206保存有关在组织中每个用户的若干重要信息段,包括用户为其中成员的每个组。实际上,对一个用户的成员至少部分地借助在目录1206中按用户的列出予以确定。
注意,在组织是特别大或者需要的情况,那里的计算能以某种逻辑方式划分成多个分部或“区域”。例如每个区域能是根据地域的,例如若该组织有一个办公室在Wilkes-Barre Pennsylvania,而另一个办公室在Boynton Beach,Florida,在那样情况每个办公室带有不同区域。另选地,例如每个区域能是根据功能的,例如若该组织具有会计部门和生产部门,在那样情况每个部门带有不同的区域。当然,区域能按任何其它准则定义而不背离本发明的精神和范围。
重要的是,每个区域具有其自己的目录1206或目录组1206(后面称为“目录1206”),且每个区域至少具有一个DRM服务器320。现参考图8,对一个组织示出两个区域,区域A和区域B,其中区域A具有目录A和DRM服务器A,区域B具有目录B和DRM服务器B。能够理解,每个区域的作用好象是受保护的飞地,其中配备相应的目录和DRM服务器。因此,至少从安全的观点,区域A中的DRMA应相对容易地访问目录A中的信息,而也从安全的观点,区域B中的DRM服务器B几乎也能相对容易地访问在区域A中目录A的信息。可是注意到,具有互操作需要的多个区域通常在它们之间复制信息,能可选地在它们之间建立直接的信任关系。
在区域中的组成员判断暂时假设,组织的整体由图8的区域A表示,而图8的区域B不存在,可以理解,区域A的目录A保存有关该组织的所有目录信息,包括所有用户和那些用户所属的组。这里注意到,那样的组实际上能包括多个层次的组。因此如图9所见,能有这样的情况,组1具有组2和组3作为直接的成员,而组3具有用户1作为直接成员。在那样情况,用户1是组3的直接成员,组1的间接成员,而不是组2的成员。然后能理解,若SRL308列出对组1或组3的权限,假设所有其它条件满足用户1能获得基于那些权限的许可证1208,而若SRL308只列出对组2的成员的权限,用户1不能获得那样的许可证1208。更普遍地,作为SRL308中命名的组的直接或间接的成员的用户能获得带有授予那个组的权限和条件的许可证1208。
如图10所见,示出对组1到3和用户1的每一个在目录A中的记录对象/记录。注意,通常每个记录是以对相应的实体列出的形式,它包括所有实体的直接成员,假设实体是组,还包括该实体具有的所有直接的成员资格,而不管该实体是一用户或任何组的子组。因此,组1具有组2和组3作为直接成员,且不是任何其它组的直接成员,组2没有成员是组1的直接成员,组3具有用户1作为直接成员,且是组1的直接成员,而用户1作为用户没有成员,但是组3的直接成员。当然,在图9和10中示出的目录A是过分简单化的,因而实际上看来大得多,且带有许多用户和组。然而,示出的目录A适合于描述本发明的目的。
在用户1向DRM服务器A提交SRL308的过程中提交的SRL308列出一个和多个组以及它们的权限,然后DRM服务器A至少部分地通过参考目录A判定用户是否为SRL308中列出的任何组的直接或间接成员来决定是否向用户1发行许可证1208。可以理解,那样的判定能以两个普通方式之一完成-从列出的组到用户,或从用户到列出的组。
通常完成从组到用户的判定是更为直接的过程,但因为组能具有许多成员,看来要花费相当大量时间来审查所有找到的用户以判定是否存在匹配。通常完成从用户到组的判定是不那么直接的过程,但因为一用户一般不是太多组的成员,看来需要花费相当少量的时间来审查所有找到的组以判定是否存在匹配。在任何情况至少从经验上发现,完成从用户到组的判定是更经济且总的说来是希望的。
仍然参考图9和10,并现在还参考图12,为了作出关于用户1是否组1的成员的组成员判定,DRM服务器A如下进行。首先,DRM服务器A询问目录A是否存在组1(步骤1201)。可以理解,若对那样询问的响应示出组1不存在,因为用户1不能是不存在的组的成员,过程完成(步骤1203)。因此,尽管判断是从用户到组的完成的,询问该组是否存在的预先步骤被完成,以避免完成任何不必要的附加步骤。
当然,如图所示,组1确定存在,所以响应实际上是yes。因此,DRM服务器A询问目录A,用户1是其成员的所有组,且目录A返回用户1是组3的成员的信息(步骤1205,1207)。当然,组3不是组1,所以DRM服务器A尚未判定用户1是否组1的成员(步骤1209)。然而,若通过用户1是组3的直接成员而组3是组1的直接或间接成员,发现用户1是组1的间接成员,则DRM服务器A需继续。
于是DRM服务器A继续询问目录A组3为其成员的所有组,且目录A返回组3是组1的成员的信息(步骤1211,1213)。结果,DRM服务器A判定用户1的由于是组3的成员,实际上是组1的间接成员(步骤1215)。
现能理解,DRM服务器A必须经过很多组和很多次叠代循环查询,最终判定用户1实际上是组1的成员。相反,若情况是用户1实际上不是组1的成员,在最终判定用户1不是组1的成员之前,DRM服务器A必须对用户1经过所以可能的直接和间接的组成员资格的全体查询。下面更详细描述,因为那样的查询很花费并需连续地完成,那样调查的结果能存入一个或多个高速缓存器。
经过诸区域的组成员判定当一个组织具有多个配置的区域,且需要可跨越区域得到用户和组成员资格的信息时,没有直接的方法关于特定组判定一个用户的组成员资格,尤其是查询DRM服务器320处于在其目录中不本地持有需要的信息的区域中的情况。取代地,DRM服务器320必须查询确实本地持有那个信息的其它区域。
尤其特别重要的是那样情况,其中请求如图8的DRM服务器A那样的DRM服务器320根据列出一个组的SRL308向一用户发行许可证,其中该组对DRM服务器A驻留的区域A不是本地的。替代地,那个组对区域B是本地的,因而在区域B的目录B中有记录。结果,必须关于区域B的目录B作出关于所讨论的用户是否所讨论的组的成员的组成员资格判定,因为那个目录B具有对所讨论的组的带有该组的组信息的记录。
然而,重要的是,区域A的DRM服务器A通常不能直接查询区域B的目录B,以获得真实的目录信息,因为越区域询问通常出于安全考虑受限止,或受保护。在本发明的一个实施例中,替代地,DRM服务器A请求区域B的DRM服务器B直接查询区域B的目录B,并用查询的结果向DRM服务器A禀报。注意,DRM服务器B对目录B的查询不是越区域询问,因而不受限止。
然而,必须理解,DRM服务器A在请求DRM服务器B进行查询之前必须确定知道,因为所讨论的组对区域B是本地的,DRM服务器B实际上是完成此查询合适的DRM服务器320。简单地说,DRM服务器A在请求DRM服务器B查询目录B之前必须知道,讨论的组对区域B是本地的。然而,DRM服务器A只能查询目录A,因而不知道所讨论的组的本地区域,除非目录A具有那样的信息。
因而在本发明的一个实施例中,如图8所见,目录A确实具有那样的信息。尤其是目录A具有所讨论组的指针对象,将任何有关所讨论的组的查询实体引向区域B。例如,那样的指针对象能包括区域B的地址,此地址在DRM服务器A请求有关所讨论的组的信息时返回给查询的DRM服务器A。预计,区域B的目录B具有对所讨论的组的记录对象。因此,DRM服务器A利用该地址寻找区域B并由此继续进行。
在本发明的一个实施例中,区域B的地址特定是区域B中目录B的地址。然后DRM服务器A据此用那个地址与目录B接触。然而,因为DRM服务器A在区域A中,目录B在区域B中,且如上提到,目录B正常地不越界向DRM服务器A提供任何实质信息。然而目录B能向DRM服务器提供DRM服务器B的地址。
因而,在本发明的一个实施例中,DRM服务器A从目录B接收DRM服务器B的地址,并据此请求DRM服务器B为DRM服务器A查询目录B。尤其是,DRM服务器A请求DRM服务器B查询目录B,所讨论的用户是否为所讨论的组的成员,并向DRM服务器A返回答案。预计那样的请求包括某种将DRM服务器A识别成DRM整体中的DRM服务器320,例如使得带证明链的识别证明回溯到由DRM服务器B识别的可信的原始机构。因而,只有当识别证明被验证时,DRM服务器B为DRM服务器A执行查询目录B。
假设DRM服务器B确实以上面参考图12列出的方式执行为DRM服务器A查询目录B,DRM服务器B最终判定所讨论的用户是否为所讨论的组的成员,并返回那样的信息到DRM服务器A,作为对那里来的请求的响应。
注意,当DRM服务器B查问目录,所讨论的用户是否为所讨论的组的成员时,所讨论的用户必须在目录B中被表示,若不通过记录对象至少要通过指针对象。而且,那样的指针对象必须包括有关用户为其成员的每个组的信息,尤其是因为当组成员资格信息是如上所述地从用户到组的方法确定时,要参考那样有关成员的信息。
现参考图13作概要重述,DRM服务器A和代表DRM服务器A的DRM服务器B完成下列步骤以确定跨越区域的组成员资格首先,DRM服务器A从用户接收对使用对应于一段内容的许可证1208的请求(1301)。请求包括识别该用户的证明和与该内容相关的SRL308。在响应中假设SRL308识别其中一个组并还假设未出现合适的高速缓存的信息,DRM服务器A查询目录A以返回对识别的组的任何对象(步骤1303)。出现的情况假设,该组对区域B是本地的,所以该组在目录A中实际上表示成指向区域B的指针对象,且DRM服务器A从目录A接收指向区域B的指针对象,因此表明该组对区域B是本地的(步骤1304),并从收到的指针对象检索区域B的地址(步骤1305)。
然后,DRM服务器A利用检索到的地址查询在区域B中的目录B关于DRM服务器B的地址,而作为响应目录B返回那个地址到DRM服务器A(步骤1307,1308)。得到DRM服务器B的地址的特定机制是众知的,或对有关公众是明白的,因此不必在此详细讨论。于是能利用任何适合的机制而不背离本发明的精神和范围。
然后DRM服务器A用DRM服务器B的地址请求DRM服务器B查询目录B,该用户是否为该组的成员(步骤1311)。由DRM服务器A利用将请求提交给DRM服务器B的特定机制又是众知且对有关公众是明白的,因此不必在此详细讨论。因此,能利用任何的机制而不背离本发明的精神和范围。
再次假设未出现合适的高速缓存信息,用DRM服务器A,DRM服务器B查询目录B以返回任何对识别的组的对象(步骤1313)。现在的情况假设该组对区域B是本地的,所以该组在目录B中实际中表示成记录对象,且DRM服务器B从目录B接收该记录对象,因此表明该组对区域B是本地的(步骤1315)。注意,DRM服务器B此时能审查在接收的对象中列出的组的成员,以判定该用户是否为该组的直接成员(步骤1317)。若是,判断是肯定的,DRM服务器B向DRM服务器A报告是肯定的(步骤1319)。若否,DRM服务器B查询目录B以返回对该用户的任何对象,并从而通过以类似于结合图12示出的方式,试图从用户到现在目录B中搜遍来进行判断,该用户是否为该组的成员(步骤1323)。在结束试图的搜索以后,DRM服务器B将判断在该用户和该组之间是否存在关系,并将其报告给DRM服务器A(步骤1325)。
当然,根据那样判断,DRM服务器A决定是否承诺从该用户在步骤1301接收的请求(步骤1327)。能够理解,若该用户不是该组的成员,请求被拒绝,当然除非发现该用户是在接收的SRL308中识别的另外组的成员。类似地,若用户是该组的成员,请求被承诺,前提是对那个承诺的所有其它条件被满足。
借助高速缓存信息判定用户的组的成员资格如上描述,在根据SRL308向用户发行许可证的过程中,DRM服务器320能通过参考在DRM服务器320的区域或在其它区域中的目录判断,该用户是否为在SRL308中识别的组的成员。然而可以理解,参考目录1206每次作出判断是很大花费且很麻烦的,尤其在附加的网络通信量以及必须由目录1206完成的工作方面,以及尤其是作判断次数变得相当高时,更是如此。
因而在本发明的一个实施例中,从一个或多个目录1206导出的用户-组信息在DRM服务器320可访问的一个或多个位置上高速缓存,此外在本发明的一个实施例中,DRM服务器320在工作用户-组判断使用最低代价优先(lowest-cost-first)算法,在参考目录1206之前以最低代价到最高代价的次序审查多个高速缓存位置。因此,较高代价的操作尽可能推迟,判断速度加快,网络通讯量减少。
高速缓存用户-组信息在如结合图12揭示的从目录1206判断用户是否为组的成员的过程中,DRN服务器320至少潜在地位于该用户成为其直接或间接成员的某些其它组。注意,因为一旦成员资格路径实际上被找到,搜索停止,看来不是找到用户的所有组。例如,若在检查对所讨论的组的记录对象时发现,用户是该组的直接成员,则不再寻找该用户是其直接或间接用户的其它组。类似度,若必须从用户到组搜索以试图寻找其间的成员资格路径,则至少找到该用户是其直接成员的组,但某些间接组可能未找到,因为成员资格路径事先被找到。然而在本发明的一个实施例中,DRM服务器320将用户及其所有直接或间接组资格的知识存入一个或多个高速缓存,用于未来必须的参考。
现参考图14,看到高速缓存1404的多个实体1402,尤其是从高速缓存1404的一个项1402看到,对用户3,发现该用户3直接或间接地是组4,6和7的成员,而组4是组6和7的成员。类似地,从高速缓存1404中的另外项1402看出,对用户4,发现用户4只是组8的成员。用户3和4以及组4是否该组的直接或间接成员认为是非本质的,因而不予描述,虽然那些信息若发现是必要或有用的能予以描述。重要的是对用户/组的所有组成员资格被高速缓存,因为任何特定的用户-组关系在晚些时候对相同或不同的用户/组建立用户-组关系时是有用的。
可以理解,高速缓存1404中从目录1206获得的信息在一段时间后会变成“过时的”。这是因为随时间推移用户能被从目录1206删除,附加的组和组成员资格能被定义等,而高速缓存1404尚未自动更新以反映那样改变的信息。因此从图14看到,高速缓存1404的每个项1402包括创建时间。然后根据此创建时间,任何查询高速缓存1404的查询实体能决定,该项1404是否太老,以至难以信赖。此外或另选地,高速缓存1404能自己删除那些根据创建时间认为太老的每个项1402。
现参考图15和16,可以看到图14的高速缓存1404能以若干配置实现。在一个配置中,在一个区域中的每个许可证发行DRM服务器320具有相当基本的轻型的存储器中的高速缓存1404,而该区域还具有带着相当扩展的重型的存储器中的高速缓存的专用高速缓存服务器1502(图15)。此外,专用的高速缓存服务器1502能利用数据库高速缓存1404,和/或在目录1206上为许可证发行DRM服务器320完成查询。
在另外的配置中,在一个区域中每个许可证发行DRM服务器320具有高速缓存1404,它是相当扩展的重型的存储器中高速缓存(图16),并完成在目录1206上的查询。不出现专用的高速缓存服务器1502,虽然数据库高速缓存能在该区域中的所有许可证发行DRM服务器320中间共享。在任何配置中,每个基本的高速缓存1404只具有用户信息,而每个扩展的高速缓存1404具有用户和组信息。
最低代价优先算法不管高速缓存1404的配置,寻求判断用户是否为组的成员的DRM服务器320利用本发明的最低代价优先的算法,以最低代价到最高代价的次序搜索高速缓存1404和目录1206。假定,与DRM服务器320相关的高速缓存1404具有与其相关的最低代价,与专门的高速缓存服务器1502和数据库高速缓存1404相关的高速缓存1404具有与其相关的较高的代价,且目录1206具有与其相关的最高代价。当然,代价是主观上的,在任何速率特定的实体能具有任何特定的代价而不背离本发明的精神和范围。
现参考图17A和17B,可以看到,该算法的主要特征是在所有认为具有较低代价的操作用尽之前不尝试认为具有较高代价的操作。通常,按增加代价的次序,操作在发许可证的DRM服务器320的存储器中高速缓存1404中查找,在数据库高速缓存1404或专用的高速缓存服务器的高速缓存1404中查找,并在AD中查找。在实现算法时,提交一个用户以及一个或多个目标组,作出用户是否为任何目标组的直接或间接的成员的判断。本质上,算法借助从高速缓存和目录1206来的所有具备的成员资格信息,从用户到任何目标组搜索,在完成较高代价的操作之前总是完成较低代价的操作。若用户是目标组之一的成员,算法返回结果“yes”,若用户不是任何目标组的成员返回结果“No”,若用户不在目录1206中返回“user not found-用户未找到”,若在目录1206中找不到目标组,返回“notarget group are found-找不到目标组”。
如图17A中所见,过程通过定义所讨论的用户和一个或多个目标组开始(步骤1701)。现在假设DRM服务器320具有本地的高速缓存1404并具对远程高速缓存1404(可以是专用高速缓存服务器1502或数据库高速缓存1404)和目录1206的访问,由许可证发行的DRM服务器320使用的算法利用一系列的储存室(bin)和队列,包括·目标储存室(T),其中驻留一个或多个目标组;·验证的目标储存室(V),其中驻留经验证的一个或多个目标组;·搜索储存室(S),其中驻留等待被搜索的组;·本地队列(Q1),其中驻留在本地高速混存1404中待搜索的组;·远程队列(Q2),其中驻留在远程高速缓存1404中待搜索的组;·目录队列(Q3),其中驻留在目录1206中待搜索的组;和·舍弃的储存室(D),其中驻留已经处理的组。
因此,算法的进行是通过验证一个或多个(目标组或各组,通过对目标储存室中的每个目标组搜索以寻找对目标组的记录或项1402。因为基本上关于每个存储设备完成相同的过程(S1,对应于本地高速缓存1404;S2,对应于远程高速缓存1404;S3对应于目录1206),那样的过程只需要参照普通存储Sx描述。
尤其是,算法首先注视S1,本地高速缓存1404,且对目标储存室(T),中的每个目标组,若该目标组作为在本地高速缓存中的项1402被找到,则该目标组从(T)中删除,且该目标组被放在验证的目标储存(V),而它的项1402被放在任何较低层高速缓存1404,这在此范例中不存在(步骤1703)。随后算法对于S2(远程高速缓存)重复步骤1703,且对仍留在(T)中的每个目录组,若该目录组作为在远程高速缓存1404中的项被找到,则从(T)删除该目录组,且该目标组被放入(V),而它的项1402被放入任何较低层高速缓冲1404,这在此范例中是本地高速缓存1404。最后,算法对于S3,目录1206再次重复步骤1703,且对仍留在(T)中的每个目标组,若该目标组作为在目录1206中的记录被找到,则从(T)中删除该目标组,且目标组被放入(V),而它的项1402放在任何较低层高速缓存1404,这在此范例中是本地和远程高速缓存1404。
在对每个存储设备完成步骤1703之后,验证的目标储存室(V)应包含所有被发现存在于高速缓存1404或目录1206之中的目标组。留在目录储存室中的所具有目标组能认为是坏的或不再存在,因而能忽略。若(V)是空的情况,算法结束,因为不存在被验证的目标组,而算法返回“找不到目标组”的信息(步骤1705)。应该注意,通过将一个记录或项1402从目录或远程高速缓存1404拷贝到所有较低层的高速缓存1404,那些较低层高速缓存1404成为装载高速缓存信息,它们能被用于未来判定,一个用户是否为一个组的成员。
随后,假设在(V)中至少存在一个被验证的目标组,算法验证该用户。尤其是,算法首先通过考察Si,本地高速缓冲1404,然后考察S2,远程高速缓冲1404,然后考察S3,目录搜索对所讨论的用户的记录或项(步骤1709)。在步骤1709的任何叠代中找到对该用户的记录或项1402(以后称为“项”)之后,算法将该用户成为其成员的每个组放到搜索储存室(S)(步骤1711),并此外用对该用户的一个项1402填入所有较低层的高速缓冲1404(步骤1713)。注意,若从任何步骤1709的叠代未找到对该用户的项,因为不存在被验证的用户算法结束,且算法返回“用户未找到”(步骤1715)。
可以理解,步骤1709是以可以想象的次序叠代,对应于从最低代价的操作到最高代价的操作,在这里的情况,按照S1,再S2,再S3。因此,一旦用户被验证,较高代价的操作被避免。注意,用户可以在一个或多个目标组之前确认而不背离本发明的精神和范围。
假设找到一个被验证的用户,他是如由(S)中的组表示的至少一个组的成员,且至少找到一个验证的目标组,如由(V)中对应的项表示,现参考图17B,算法通过从(S)和(V)判定在(S)中的任何组是否匹配在(V)中的任何组(即验证的一个或多个目标组)而继续(步骤1723)。若确实找到(S)中的一个组匹配(V)中的一项,算法以匹配终止,算法返回“yes”(步骤1725)。否则,算法通过将(S)中的所有组传送到本地队列(Q1)而继续(步骤1727)。
随后,算法完成叠代过程以搜索从用户到任何目标组的成员资格路径。叠代过程需要在本地和远程高速缓存1404及目录1206中的多重搜索以确定组的成员资格。因为关于每个队列(Q1对应于本地高速缓存1404;Q2对应于远程高速缓存1404;Q3对应于目录1206)基本上完成相同的过程,那样的过程只需要参考一般的(Qx)和一般的Sx描述,如图17B所示,其中S1是本地高速缓存1404;S2是远程高速缓存1404;S3是目录1206。
尤其是,现在假设在图17B中的(Qx)和Sx是(Q1)和S1,本地高速缓存1404,首先作出判断,(Q1)是否空(步骤1729)。当然,(Q1)开始应该不空,但因为过程是叠代的,可能达到(Q1)开始确实是空的点。假设(Q1)开始不空,且具有一个组,选中该组并从(Q1)中删除,且判断该组是否已在舍弃储存室(D)中(步骤1731)。当然开始时,被选中并从(Q1)中删除的组不在(D)中,因为该组尚未被处理,但当过程叠代时,其它组能放入(Q1),多半包括已被处理的组,且当每个组被处理时,它确实被传送到(D)。
若选中并从(Q1)中删除的组已被处理并在(D)中,算法回到步骤(1729),在那里再次判断,(Q1)是否空。然而若选中并从(Q1)中删除的组已被处理并因而不在(D)中,算法继续,对于在对应(Q1)的高速缓存1404或目录(现在情况是本地高速缓存1404)中的选定的组搜索一个项1402(步骤1733)。
若在本地高速缓存1404对选定的组找不到那样的项1402,过程继续,将该组从(Q1)传送到远程队列(Q2)(步骤1735),然后回到步骤(1729),再次判断(Q1)是否空。然而,如果在本地高速缓存1404中找到对选定的组的那个项1402,算法将每个新发现的组(选定组是其成员)放到搜索储存室(S),并将选定的组传送到舍弃的储存室(D)(步骤1739),并此外将对应于选定组的项1402填入所有较低层的高速缓存1404(步骤1737)。当然应注意,关于(Q1)和本地高速缓存1404,不存在较低层的高速缓促1404。然后,算法返回到步骤1723,在那里判断是否在(S)中的任何组(即新发现的组)匹配在(V)中的任何组(即验证的一个或多个目标组)。当然若确实找到(S)中的一个组匹配(V)中的一个项,算法带着匹配终止,在步骤1725中算法返回“yes”。否则,算法继续,在步骤1727将所有S中的组传送到本地队列(Q1),且算法继续。
这样做,通过(Q1)算法在可能用本地高速缓存1404的范围内开辟了从用户倒任何验证的目标组所有可能的路径。现能理解,假设找不到匹配,(Q1)用过程叠代时更加新发现的组填入,且直到(Q1)中的所有组借助本地高速缓存被处理到舍弃储存室(D)或到通过远程高速缓存1404处理的(Q2),(Q1)变空,因此被认为最为花费的在远程高速缓存1404的操作在所有在本地高速缓存1404的可能操作做完以前不发生,而当在步骤1729发现(Q1)是空时才发生。
事实上当在步骤1729发现(Q1)是空时,处理才以类似于有关(Q1)发生的方式参考远程队列(Q2)。尤其是现在假设,图17B中的(Qx)和Sx是(Q2)和S2(远程高速缓存1404),首先作出判断,(Q2)是否为空(步骤1729)。这里(Q2)开始看来不空,虽然在本地队列1404能自己处理从(Q1)来的所有组的情况,那样的事件会发生。假设(Q2)开始非空,而具有一个组,该组被选中并从(Q2)中删除,且判断那样的组是否由于已被处理而已经在舍弃储存室(D)中(步骤1731)。
若选中并从(Q2)中删除的组已被处理并因而在(D)中,算法返回到步骤(1729),在那里再次判断(Q2)是否空。然而,若选中且从(Q2)中删除的组未被处理,因而不在(D)中,算法继续,在高速缓存1404或对应于在此情况为远程高速缓存1404的(Q2)的目录1206中搜索对选中的组的一个项1402(步骤1733)。
若在远程高速缓存1404中找不到对选中的组的那样项1402,过程继续,将该组从(Q2)传送到目录队列(Q3)(步骤1735),并随后回到步骤(1729),在那里再次判断(Q2)是否为空。然而,若在远程高速缓存1404中找到对选中的组的那个项1402,算法将每个新发现的组(选中的组是其成员)放到搜索储存室(S)并将选中的组传送到舍弃储存室(D)(步骤1739),并此外将对应于选中组的项1402填入所有较低层的高速缓存1404(步骤1737)。当然应注意,对于(Q2)和远程高速缓存1404,只有本地高速缓存1404需要被填入。然后算法返回到步骤1723,在那里判断,是否(S)中的任何组(即新发现的组)匹配在(V)中的任何组(即验证的一个或多个目标组)。当然若确实找到(S)中的一个组匹配(V)中的一项,算法带着匹配终止,在步骤1725算法返回“yes”。否则算法继续,在步骤1727将所有S中的组传送到本地队列(Q1),且算法继续,(Q1)被处理。
这样做,通过(Q2)算法在可能用远程高速缓存1404的范围开辟了从用户到任何验证的目标组所有可能的路径。现能理解,假设找不到匹配,(Q2)用过程叠代时更加新发现的组填入,且直到(Q2)中的所有组借助远程高速缓存1404被处理到舍弃储存室(D)或到通过目录1404处理的(Q3),(Q2)变空。因此被认为更加花费的在目录1206的操作在所有在远程高速缓存1404的可能操作做完之前不发生,而当(Q2)是空时才发生。
重要的是,借助(Q2)和远程高速缓存1404新发现的任何组首先借助(Q1)和本地高速缓存1404处理。因此在本地高速缓存1404的所有可能的操作做完之前,认为更花费的在远程高速缓存1404的操作对于新发现的组不发生,当(Q1)变空时才发生。
事实上当在步骤1729发现(Q2)是空时,处理才以类似于有关(Q1)和(Q2)发生的方式参考目录队列(Q3)。尤其是现在假设,图17B中的(Qx)和Sx是(Q3)和S3(目录1206),首先作出判断,(Q3)是否为空(步骤1729)。这里(Q3)开始看来不是空,虽然在本地和远程队列1404能自己能处理从(Q1)和(Q2)来的所有组的情况,那样的事件会发生。假设(Q3)开始非空,而具有一个组,该组被选中并从(Q3)中删除,且判断那样的组是否由于已被处理而已经在舍弃储存室(D)中(步骤1731)。
如果选中并从(Q3)删除的组已被处理并因而在(D)中,算法返回到步骤(1729),在那里再次判断(Q3)是否空。然而若选中并从(Q3)中删除的组尚未被处理,因而不在(D)中,算法继续,在高速缓存1404或对应于在此情况为目录1206的(Q3)的目录1206中搜索对选中的组的一个项1402(步骤1733)。
若在目录1206中找不到对选中的组的那样项1402,过程继续,将该组移出(Q3)到(D)(步骤1735),并随后回到步骤(1729),在那里再次判断(Q3)是否空。注意,因为在(Q3)之后没有下一个队列,选中的组不能进一步处理。然而,若在远程高速缓存1404中找到对选中的组的那个项1402,算法将每个新发现的组(选中的组是其成员)放到搜索储存室(S),并将选中的组传送到舍弃储存室(D)(步骤1739),并此外将对应于选中组的项1402填入所有较低层的高速缓存1404(步骤1737)。当然应注意,对于(Q3)和目录1206,本地和远程高速缓存1404需要如此填入。然后算法返回到步骤1723。在那里判断,是否(S)中的任何组(即新发现的组)匹配在(V)中的任何组(即验证的一个或多个目标组)。当然若确实找到(S)中的一个组匹配(V)中的一项,算法带着匹配终止,在步骤1725算法返回“yes”。否则算法继续,在步骤1727将S中的所有组传送到本地队列(Q1),且算法继续,(Q1)被处理。
这样做,通过(Q3),算法在可以用目标1206的范围开辟了从用户到任何验证的目标组所有可能的路径。现能理解,假设找不到匹配,(Q3)用过程叠代时更加新发现的组填入,且直到(Q3)在的所有组借助目录1206被处理到舍弃储存室(D),(Q3)变空。
重要的是,任何借助(Q3)和目录1206新发现的任何组首先借助(Q1)和本地高速缓存1404处理。因此在本地和远程高速缓存1404的所有可能的操作做完之前,认为更花费的在目录1206的操作对于新发现的组不发生,当(Q1)和(Q2)变空时才发生。
事实上当在步骤1729发现(Q3)是空时,过程不再进行,因为在此特定情况没有(Q4),因而过程完成。尤其是算法不带匹配地结束,且算法返回“No”(步骤1741)。
现应理解,本发明的算法设计成在完成任何较高代价操作之前首先完成最低代价的操作。可以理解,通过定义类似数目的队列,借助三层存储(即本地和远程高速缓存1404和目录1206)揭示的算法能替代地应用到任何其它数目的存储器层,包括2,4,5,6,7等。因而本发明的算法能应用到高速缓存的用户一组信息的任何多层存储器安排而不背离本发明的精神和范围。
结论为实施结合本发明完成的过程所必须的编程是相当直接的且对有关的编程公众是明白的。因而那样的编程不附于此。然而任何特定的编程能使用来实施本发明而不背离其精神和范围。
在本发明中,数字权限管理(DRM)和实施的体系结构及方法允许任何形式的数字内容受控的演示或放映。该体系结构允许并方便了那样的受控演示,尤其在文档在确定组的人员或确定级别人员之间共享的办公室或组织的环境中。那样的体系结构允许越过区域获得内容的许可证。
应该理解,对上述实施例能作为各种改变而不背离发明的概念。例如,虽然本发明的说明描述了判断从用户到组的组的成员资格,那样的判断能另作改变成从组到用户而不背离本发明的精神和范围。然而可以理解,本发明不限于所揭示的特定的实施例,而试图复盖在由附后的权利要求所定义的本发明的精神和范围内的各种修改。
权利要求
1.一种用于判断来自一个组织的用户是否为在该组织中预定的组的成员的方法,该组织包含计算机网络,网络至少包括区域A和区域B,区域A具有目录A和能查询目录A的查询实体A,区域B具有目录B和能查询目录B的查询实体B,该方法包括查询实体A从用户接收请求,查询实体A至少部分地根据用户是该组的成员决定是否准许该请求;查询实体A查询区域A的目录A以返回关于该组的信息并在应答中导向区域B;查询实体A接触区域B的查询实体B并请求查询实体B询问目录B,该用户是否该组的成员;查询实体A接收来自询问查询问实体B的答复,该用户实际上是否该组的成员;和查询实体A至少部分地根据用户是否该组的成员准许来自该用户的请求。
2.如权利要求1所述的方法,其特征在于,包括查询实体A查询问区域A的目录A以返回对该组的任何对象,该组对区域B是本地的,使得区域B的目录B具有对应该组的记录对象,对目录B中该组的该记录对象包括该组的所有直接成员,区域A的目录A具有对应该组的指针对象,在目录A中对该组的指针对象包括区域B的地址;查询实体A在应答中从目录A接收对该组的指针对象,从而表明该组对区域A不是本地的;查询实体A从接收的指针对象检索区域B的地址;查询实体A利用检索的地址查询区域B的目录B关于区域B的查询实体B的地址;查询实体A在应答中从区域B接收查询问实体B的地址;和查询实体A在那个地址接触查询实体B,并请求查询实体B查询目录B,该用户是否为该组的成员。
3.如权利要求1所述的方法,其特征在于,还包括,查询实体B查询区域B的目录B以判定该用户是否为该组的成员;查询实体B查询区域B的目录B,以返回对该组的任何对象,该组对区域B是本地的,使得区域B的目录B具有对应于该在的记录对象,在目录B中该组的记录对象包括该组的所有直接成员;查询实体B在应答中从目录B接收对该组的记录对象,从而表明该组对区域B是本地的;和查询实体B审查在接收的记录对象中列出的该组的直接成员,以判定该用户是否该组的直接成员。
4.如权利要求3所述的方法,其特征在于,还包括若该用户是该组的直接成员,查询实体B报告查询实体A,该用户实际上是该组的成员;若该用户不是该组的直接成员,查询实体B查询目录B以返回对该用户的任何对象,并通过试图在目录B中寻找从该用户到该组的成员资格路径进行判断该用户是否该组的间接成员,找到的从该用户到该在的成员资格路径证实了该用户实际上是该组的成员;和根据是否有成员资格路径,查询实体B向查询实体A报告,该用户实际上是否该组的成员。
5.如权利要求3所述的方法,其特征在于,查询实体A是数字权限管理(DRM)服务器,该方法包括查询实体A从用户接收演示数字内容对应段的数字许可证,该请求包括用户的识别和组的识别。
6.如权利要求5所述的方法,其特征在于,查询实体B是DRM服务器,方法还包括查询实体A向查询实体B发出查询实体A是DRM服务器的识别,且查询实体B根据发出的识别查明查询实体A有资格得知该用户是否该组的成员。
7.如权利要求6所述的方法,其特征在于,包括查询实体A向查询实体B发出数字证明,它带有追溯到由查询实体识别的机构的可信的根的证明链,且查询实体B验证该证明。
8.如权利要求1所述的方法,其特征在于,查询实体A是数字权限管理(DRM)服务器,该方法包括查询实体A从用户接收对演示数据内容的对应段的数据许可证的请求,该请求包括该用户的识别和该组的识别。
9.具有用于实现一方法的存储的计算机可执行指令的计算机可读媒体,该方法用于判断,从一组织的一用户是否该组织中预定组的成员,该组织包含计算机网络,网络至少包括区域A和区域B,区域A具有目录A和能查询目录A的查询实体A,区域B具有目录B和能查询目录B的查询实体B,该方法包括查询实体A从用户接收请求,查询实体A至少部分地根据用户是该组的成员决定是否准许该请求;查询实体A查询区域A的目录A以返回关于该组的信息,并在应答中导向区域B;查询实体A接触区域B的查询实体B,并请求查询实体B查询目录B,用户是否为该组的成员;查询实体A从查询实体B接收应答,该用户实际上是否该组的成员;和查询实体A至少部分地根据用户是否该组的成员准许从该用户来的请求。
10.如权利要求9所述的媒体,其特征在于,包括查询问实体A查询区域A的目录A以返回对该组的任何对象,该组对区域B是本地的,使得区域B的目录B具有对应于该组的记录对象,在目录B中对应该组的记录对象包括该组的所有直接成员,区域A的目录A具有对应该组的指针对象,在目录A中对应该组的指针对象包括区域B的地址;查询实体A在应答中从目录A接收对该组的指针对象,从而表明该组对区域A不是本地的;查询实体A从接收的指针对象检索区域B的地址;查询实体A利用检索的地址询问区域B的目录B关于区域B的查询实体B的地址;查询实体A在应答中从目录B接收查询实体B的地址;和查询实体A在该地址上接触查询实体B并请求查询实体B查询目录B,该用户是否该组的成员。
11.如权利要求9结合另外计算机可读媒体的媒体,其中存储计算机可执行指令,用于实现一方法包括查询实体B查询区域B的目录B,以判定该用户是否该组的成员,包括查询实体B查询区域B的目录B,以返回对该组的任何对象,该组对区域B是本地的,使得区域B的目录B具有对应该组的记录对象,目录B中对该组的记录对象包括该组的所有直接成员;查询实体B在应答中从目录B接收对该组的记录对象,从而表明该组对区域B是本地的;和查询实体B审查在接收的记录对象中列出的该组的直接成员,以判定该用户是否为该组的直接成员。
12.如权利要求11所述的另外的媒体,其特征在于,该方法还包括若该用户是该组的直接成员,查询实体B向查询实体A报告,用户实际上是该组的成员;若该用户不是该组的直接成员,查询实体B查询目录B以返回对该用户的任何对象并通过试图在目录B中找从该用户到该组的成员资格路径进行判断,该用户是否该组的间接成员,找到的从该用户到该组的成员资格路径证实该用户实际上是该组的成员;和根据是否有成员资格路径,查询实体B向查询实体A报告,该用户实际上是否该组的成员。
13.如权利要求11所述的媒体,其特征在于,查询实体A是数字权限权利(DRM)服务器,该媒体的方法包括查询实体A从用户接收对演示数字内容的对应段的数字许可证的请求,该请求包括该用户的识别和该组的识别。
14.如权利要求13所述的媒体和另外媒体,其特征在于,查询实体B是DRM服务器,该媒体的方法还包括查询实体A问查询实体B发送查询实体A是DRM服务器的识别,另外媒体的方法还包括查询实体B根据发出的识别查明,查询实体A有资格得到该用户是否该组的成员。
15.如权利要求14所述的媒体和另外媒体,其特征在于,该媒体的方法包括查询实体A向查询实体B发出数字证明,它带有追溯到由查询实体识别的机构的可信人的根的证明链,且另外媒体的方法包括查询实体B验证该证明。
16.如权利要求9的媒体,其特征在于,查询实体A是数字权限管理(DRM)服务器,该方法包括查询实体A从该用户接收对演示数字内容的相应段的数字许可证的请求,该请求包括该用户的识别和该组的识别。
全文摘要
一个组织维持至少包括区域A和区域B的计算机网络,其中区域A具有目录A和能够查询目录A的查询实体A,而区域B具有目录B和能够查询目录B的查询实体B。查询实体A从用户接收请求,并至少部分地根据该用户是否该组的成员决定是否准许该请求。于是,查询实体A查询目录A以返回有关该组的信息;导向区域B;接触查询实体B;请求查询实体B查询目录B该用户是否该组的成员;接收应答;并至少部分地根据该用户是否该组的成员准许从用户来的请求。
文档编号G06Q50/00GK1550995SQ20041000760
公开日2004年12月1日 申请日期2004年2月26日 优先权日2003年2月26日
发明者P·D·瓦克斯曼, P D 瓦克斯曼, C·凡卡泰克, ㄌ┛, Y·(E·)罗森非尔德, 罗森非尔德, A·那林 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1