专利名称::用于提供数字权利管理系统之间互操作性的方法和装置的制作方法
技术领域:
:本发明总体涉及数字通信,并且具体地涉及数字权利管理。
背景技术:
:企业内容管理系统是通常可以管理例如包括HTML和XMLWeb内容、文档图像、电子办公文档、打印输出、音频和视频的所有类型的数字信息(或者数字内容)的商务解决方案。常规企业内容管理系统一般可以保护对于给定商务而言敏感或者保密的数字信息。例如,企业内容管理系统的用户可以将任何公司文档或者信息声明为公司记录。一旦文档被声明为公司记录,无恰当授权就不能编辑或者从企业内容管理系统删除该文档。此外,按照在企业内容管理系统中定义的访问允许和生命周期规则来掌控文档的访问允许和生命周期。因此,只有例如记录管理员的授权用户才可以处理或者管理文档的生命周期。在当今增长的电子商务界中,许多商务发现不但使用企业内容管理系统来管理和存储在给定企业内生成的数字内容而且管理由用户使用第三方客户机(例如第三方软件)生成的数字内容并且将该数字内容导入到企业内容管理系统中越来越重要。将使用第三方软件生成的数字内容并入到企业内容管理系统中是与并入在企业内生成的数字内容相似的通常简单直接的过程。然而,使用这样的第三方软件的用户正在越来越多地使用与第三方软件相关联的一个或者多个(专用)数字权利管理(DRM)系统来保护数字内容。数字权利管理系统一般使用所应用的密码以允许内容所有者为创建的内容规定具体使用。常规数字权利管理系统是不易于与包括常规企业内容管理系统的其它数字权利管理系统或者非数字权利管理系统互操作的"封闭"系统。这归因于以下事实数字权利管理系统维护对关联数字内容的持续控制并且如果容易实现互操作性则会轻易规避数字权利管理系统的内容保护。数字权利管理系统的例子包括可从华盛顿州Redmond的微软公司获得的MicrosoftWindowsRightsManagementServices(RMS)以及可从加利福尼亚州圣何塞的Adobe系统公司获得的AdobeLiveCyclePolicyServer。因而,需要的是一种为第三方内容保护系统(或者第三方软件)提供从加密到数字权利管理的集成服务集的企业内容管理系统。
发明内容总体上,在一个方面中,本说明书描述一种内容管理系统,该内容管理系统包括可操作用以自动确定已经导入到内容管理系统中的数字内容的第一保护格式的过滤器和可操作用以将数字内容从第一保护格式变换成第二保护格式的变换器。第二保护格式不同于第一保护格式。〖06]特定实施例可以包括以下特征中的一个或者多个特征。该方法还可以包括根据第二保护格式在内容管理系统中存储数字内容以及加密所保存的数字内容。存储数字内容可以包括以与内容管理系统支持的多个数字权利管理系统对应的多个不同格式存储数字内容。存储数字内容可以包括无障碍地存储数字内容以允许对存储的数字内容的索引搜索或者文本搜索。该方法还可以包括以多个格式中的任一格式从内容管理系统导出数字内容,包括无障碍地导出数字内容。该方法还可以包括将数字签名应用于导入到内容管理系统中的数字内容以便认证所导入的数字内容。自动确定数字内容的第一保护格式可以包括将一个或者多个算法应用于数字内容以检测对于数字权利管理系统来说是特有的特征。自动确定数字内容的第一保护格式也可以包括应用一个或者多个方法调用,其中各方法调用对应于内容管理系统支持的特定数字权利管理系统。该方法还可以包括将导入到数字权利管理中的数字内容从一个格式转码成另一格式。将数字内容从第一保护格式变换成第二保护格式可以包括使用通过企业内容管理系统支持的数字权利管理系统建立的预建立证书。预建立证书可以在导入到内容管理系统中的数字内容中给予内容管理系统一个或者多个所有权权利。数字内容可以包括HTML和XMLWeb内容、文档图像、电子办公文档、打印输出、音频和视频中的一个或者多个。总体上,在另一方面中,这一说明书描述了一种用于变换内容管理系统中的数字内容的有形地存储于计算机可读介质上的计算机程序产品。该产品包括用以Y吏可编程处理器自动确定已经导入到内容管理系统中的数字内容的第一保护格式以及将数字内容从第一保护格式变换成第二保护格式的指令。第二格式不同于第一保护格式。总体上,在另一方面中,这一说明描述一种内容管理系统,该内容管理系统包括可操作用以自动确定已经导入到内容管理系统中的数字内容的第一保护格式的过滤器和可操作用以将数字内容从第一保护格式变换成第二保护格式的变换器。第二保护格式不同于第一保护格式。实施可以提供以下优点中的一个或者多个优点。公开了一种提供多个不同(专用)数字权利管理系统之间互操作性的企业内容管理系统。由于企业内容管理系统可以将数字内容变换成许多不同类型的数字权利管理格式,所以终端用户只需具有由企业内容管理系统支持的一个特定类型的数字权利管理软件。DRM内容在多个数字权利管理格式之间变换这样的能力提供与许可具体数字权利管理软件相关联的改进效率和更低成本。此外,在这一说明书中提供的方法提供了用以变换企业内容管理系统内的数字内容的高效、鲁棒和动态可配置手段。在附图和以下描述中阐述了一个或者多个实施的细节。其它特征和优点将从描述和附图中以及从权利要求中变得清楚。图1是根据本发明实施例的包括企业内容管理系统的数据处理系统的框图。图2是图示了根据本发明实施例的图1的企业内容管理系统的框图。图3图示了根据本发明实施例用于将数字内容接收到图1的企业内容管理系统中的方法。[15]图4图示了根据本发明实施例用于从图1的企业内容管理系统导出数字内容的方法。[16]图5图示了根据本发明实施例的包括变换器服务、内容和用户ID映射器以及XACML策略服务的图1的企业内容管理系统的服务。[17]图6图示了根据本发明实施例的图5的变换器服务的框图。[18]图7图示了根据本发明实施例的用于将数字内容从一个数字权利管理格式变换成另一数字权利管理格式的UML类图。[19]图8图示了根据本发明实施例的用于在数字内容由企业内容管理系统接收时变换数字内容的方法调用。[20]图9图示了根据本发明实施例的图5的XACML策略服务的框图。图10是根据本发曰,数据处理系统的框图。[22]在各附图中的相同标号表示相同单元,具体实施例方式本发明的实施主要地涉及数字通信并且具体地涉及数字权利管理。这里描述的通用原理和特征以及实施的各种修改对于本领域技术人员而言将是容易明白的。因此,本发明的实施例并非限于所示实施而是应该赋予与这里描述的原理和特征一致的最广范围。图1图示了根据本发明实施例的包括客户机102和服务器104的数据处理系统100。虽然数据处理系统100表示为包括一个客户机和一个服务器,但是数据处理系统100可以包括任何数目的客户机和服务器。数据处理系统100可以具有任何数目和类型的计算机系统,例如包括工作站、桌面型计算机、膝上型计算机、个人数字助理(PDA)、蜂窝电话、网络等。数据处理系统100包括存储于服务器104上(在一个实施例中)的企业内容管理系统106。企业内容管理系统106可以是企业软件解决方案,比如可从纽约阿芒克的国际商业机器公司获得的DB2ContentManager或者其它内容管理系统。与常规企业内容管理系统不同,企业内容管理系统106支持不同类型的数字权利管理系统,因此企业内容管理系统106可以用来管理和存储从不同类型的数字权利管理系统创建的数字内容。例如,用户可以将已经根据一个特定数字权利管理系统进行了保护(或者封装)的数字内容导入到企业内容管理系统106中,而同一或者其它用户可以从企业内容管理系统106取回冲艮据另一数字;f又利管理系统来保护的相同数字内容。更一般而言,企业内容管理系统106可以接收受保护数字内容(例如DRM内容108A)和/或非保护数字内容(例如非DRM内容110A)以及导出受保护数字内容(例如DRM内容108B)和/或非保护数字内容(例如非DRM内容110B)。因而,企业内容管理系统106提供多个数字权利管理系统之间互操作性的单个可控集中点。此外,在一个实施例中,企业内容管理系统106可以4艮据与企业内容管理系统106所支持的数字权利管理系统对应的多个不同数字权利管理格式来存储相同数字内容。企业内容管理系统106也可以无障碍地存储数字内容以例如允许用户在针对具体数字内容执行搜索时有权搜索项和/或索引项。此外,由于许多企业想要保证在数字内容存储于服务器(例如服务器104)上时保护数字内容,所以在一个实施例中企业内容管理系统106是也利用加密来保护数字内容的(服务器侧)内容保护系统。企业内容管理系统106也可以维护用来保护(或控制访问)在企业内容管理系统106中存储的数字内容的集中访问控制列表(ACL)。一般而言,ACL标识哪些用户可以访问具体数字内容以及标识用户针对具体数字内容而具有的访问权类型。各种类型的访以删除对象)、执行(可以执行对象)、读(可以读对象)、写(可以改变对象)、创建(可以创建新对象)、允许(可以改变对象的ACL)、属性(可以改变除ACL以外的属性)等。在一个实施例中,企业内容管理系统106包括用于确定所接收的数字内容是如何被封装(即使用哪个特定数字权利管理系统来保护所接收的数字内容)的过滤器(未示出)以及用于将数字内容从一个给定保护格式变换成另一给定保护格式的变换器(未示出)。变换器可以与特定数字权利管理系统的许可服务器(例如第三方许可服务器)协商解保护(或者解封装)或者保护导入到企业内容管理系统106中的数字内容。下文具体讨论过滤器和变换器。如上文所讨论的,常规数字权利管理系统通常是不易于与其它数字权利管理系统或者非数字权利管理系统互操作的封闭系统。包括在数字权利管理系统之间转移受保护数字内容(这里称为DRM内容)的对DRM内容的任何使用一4殳都必须通过相应外又利表达语言(REL)由给定数字权利管理系统来明示地授权。数字权利管理系统REL可以由与数字权利管理系统相关联的软件逻辑解释,使得可以从包含与DRM内容相关联的权利的许可来明确地辨别(与DRM内容相关联的)各使用模式。基于在许可中包含的针对执行权利的约定对于DRM内容有确定性的行为。这样,必须有用于规定DRM内容可以转移到(或者导入到)另一数字权利管理系统的方式。每个数字权利管理系统REL可以不同,但是每个都具有对DRM内容的使用有完全控制(包括从DRM内容去除保护的能力)的内容所有者(或者创建者)这一概念。因而,在一个实施例中,数字权利管理系统用来获得将DRM内容转移到另一数字权利管理系统的权限的过程是通过向转移代理如企业内容管理系统106提供所有权权利。对提供两个不同数字权利管理系统之间互操作性的数字权利管理软件强加的一般要求是许可的变换造成对DRM内容的可预测、明确、可接受但是未必一致处理。也就是说,一个数字权利管理系统所提供的权利可能在另一数字权利管理系统中有所放松或者加强,只要结果是可接受、明确和可预测的。在一个实施例中,针对"可接受"的标准是内容创建者信任在数字权利管理REL中标识为所有者的企业内容管理系统106。这允许内容创建者将DRM内容的所有4又转移到企业内容管理系统106以及向企业内容管理系统106给予为DRM内容设置策略(或者权利)的权利。企业内容管理系统106—般通过提供在受信任和安全环境中转移对DRM内容的控制的手段来解决多个数字权利管理系统之间互操作性的问题。因此,在一个实施例中,与企业内容管理系统106相关联的内容所有者和创建者可以具有^见定DRM内容的内容使用策略是共同职责这一商务关系。在一个实施例中,策略包括掌控用户与数字内容之间交互的一个或者多个权利。通过在后端服务器(例如在一个实施例中为服务器104)中提供用以无障碍地认证DRM内容和获得DRM内容授权的过程(通过企业内容管理系统106),企业内容管理系统106可以转移DRM内容以实现多个数字权利管理系统之间的互操作性。例如,在企业内容管理系统106的多个用户各实施不同的数字权利管理系统情况下,各用户可以从企业内容管理系统106取回数字内容,而无论DRM内容的初始特定格式如何。具体而言,企业内容管理系统106可以用与用户相关联的数字权利管理系统所要求的格式将数字内容导出到每个用户。DRM内容在多个数字权利管理格式之间变换这样的能力提供了与许可具体数字权利管理软件相关联的改进效率和更低成本。图2具体地图示了企业内容管理系统106的实施例。如图2中所示,企业内容管理系统106包括连接器200、资源管理器202和库服务器204。在一个实施例中,连接器200是为企业门户、关系数据库、商务情报和企业内容管理应用提供广泛信息集成的内容信息集成器(II4C)连接器。II4C连接器让(商务)用户跨传统和多媒体数据资源二者使数据查询个性化、广泛搜寻每个具体需求以及利用相关结果。对于开发者而言,114C连接器实现快速门户应用开发和部署。II4C连接器还为访问(存储于库服务器202中的)结构化数据和(存储于资源管理器204中的)非结构化数据(包括从企业内生成的数字内容和从第三方生成的数字内容)提供有所增强的基础。在一个实施例中,连接器200包括允许用户与库服务器202和资源管理器204交互的应用编程4妄口(API)集(例如JAVA或者C)。可以存储于资源管理器204中的非结构化数据的例子包括JPEG(联合图片专家组)图像和BMP(位图)图像,而可以存储于库服务器204中BMP图像相关联的引用、属性和/或元数据。一般而言,连接器200将库服务器202与资源管理器204隔离并且提供用于允许用户管理(例如取回、导入、更新或者去除)企业内容管理服务器106内的数字内容的手段。企业内容管理系统106还包括过滤器206、变换器服务208、封装器服务210和企业内容管理策略服务212。过滤器206确定已经向已经由用户导入到企业内容管理系统106中的DRM内容施加的保护类型。常规数字权利管理系统通常使用专用格式,使得一个数字权利管理系统将不能解释已经由另一数字权利管理系统保护(或者编码)的文件。因此,在一个实施例中,过滤器106将一连串算法应用于数字内容以检测过滤器106已知的数字权利管理系统所特有的特征。例如,可以用来识别与数字权利管理系统相关联的唯一特征的一个算法包括扫描包括导入数字内容的数字流的开头以识别将导入的数字内容与特定数字权利管理系统相关联的位模式。因而,数字流的开头可以用作为以下特征,该特征用以将数字内容标识为根据特定数字权利管理系统来格式化。其它类型的唯一特征可以由过滤器206使用来确定向DRM内容施加的保护类型。在另一实施中,过滤器206针对导入的数字内容调用用于不同数字权利管理系统(受企业内容管理系统106支持)的方法(或数字权利管理API),而无论哪个方法例如访问数字内容成功都将确定如已经向DRM内容施加的保护类型。在一个实施例中,过滤器206维护受支持的数字权利管理系统和向各受支持的数字权利管理系统分配的对应唯一标识符(内容ID)的列表。在这一实施中,当检测到特定数字权利管理格式时,过滤器206将唯一标识符(已经预先分配给特定数字权利管理格式)关联到对应数字内容。过滤器206可以在库服务器202中持续数字内容的"状态"以及关联唯一标识符以供企业内容管理系统106内的其它部件如变换器服务208使用。在一个实施例中,变换器服务208确定在导入数字内容和从企业内容管理系统106导出时应当向凄丈字内容施加什么变换。例如,由企业内容管理系统106接收的DRM内容(根据第一数字权利管理格式)可能需要根据如在企业内容管理策略服务212中指定的第二数字权利管理格式来存储。并且,在企业内容管理系统106内存储的数字内容可能需要变换成与特定用户相关联的特定数字权利管理格式。在一个实施例中,变换器服务208(例如在内容ID存储库中)维护与企业内容管理系统106的各用户(或者客户机)相关联的数字权利管理系统的列表。在这一实施中,当数字内容从企业内容管理系统106导出到特定用户时,变换器服务208可以基于数字内容的当前状态和特定用户所需的数字权利管理格式来确定需要对数字内容执行什么类型的变换。变换器服务208—般将企业内容管理系统106中的数字内容从一个格式变换成另一格式。变换器服务208可以将数字内容从非保护格式变换成保护格式、将数字内容从非保护格式变换成保护格式、以及将数字内容从一个保护格式变换成另一保护格式。在一个实施例中,变换器服务208使用封装器服务210将数字内容解封装(或者解保护)或者封装(或保护)数字内容。在一个实施例中,封装器服务210(通过XACML(可扩展访问控制标记语言)策略服务器504,下文具体讨论)根据在第三方许可服务器216内阐明的(第三方)策略或者许可对数字内容解封装或者封装数字内容。封装器210也可以根据在企业内容管理策略服务212内阐明的(企业)策略或者许可对数字内容解封装或者封装数字内容。变换器服务208也可以将数字内容从一个格式转码成另一格式。例如,变换器服务208可以将BMP(位图)文件转码成JPEG文件。在一个实施中,变换器服务208还可以加密数字内容和设定数字签名。数字签名允许认证企业内容管理系统中存储的数字内容。另外,如果用户试着与企业内容管理系统106提供的访问方法相脱离的访问数字内容,则加密可以保护与企业内容管理系统中存储的数字内容相关联的原始数据。在一个实施例中,企业内容管理系统106还包括提供公共API(应用编程接口)的第三方客户机214,第三方可以通过这些API进行编码以便在企业内容管理系统106的框架内集成他们的数字权利管理系统。图3图示了用于将数字内容导入到企业内容管理系统(例如企业内容管理系统106)中的方法300。接收数字内容(步骤302)。在一个实施例中,企业内容管理系统通过连接器(例如连接器200)从客户机(例如客户机214)接收数字内容。客户机可以是与企业内相关联的客户机或者客户机可以是第三方客户机。此外,接收的数字内容可以受DRM保护或者未受DRM保护。在一个实施例中,将数字内容作为流或者作为对流的统一资源定位符(URL)来接收。关于数字内容是否要在企业内容管理系统内保护进行确定(步骤304)。在一个实施例中,关于是否要保护数字内容的确定由在企业内容管理系统的企业内容管理策略服务(例如企业内容管理策略服务212)内阐述的策略和许可来指定。该确定也可以通过与企业内容管理策略服务(例如企业内容管理策略服务212)通信的第三方许可服务器(例如第三方许可服务器216)来指定。如果在步骤304中确定不保护数字内容,则过滤器(例如过滤器206)关于数字内容是否在保护状态进行确定(步骤306)。在一个实施例中,过滤器本身基于向数字内容施加的保护类型将唯一标识符分配给数字内容。如果数字内容以非保护状态由企业内容管理系统接收,则(例如在资源管理器204中)存储数字内容(步骤308)。如果由企业内容管理系统接收的数字内容处于保护状态,则(例如由封装器服务210)将数字内容解封装(或者解保护)(步骤310)。在一个实施例中,根据通过企业内容管理系统支持的数字权利管理系统而建立的预建立证书(或者权利)将数字内容解封装。然后在步骤306中存储解封装的数字内容。如果在步骤304中确定要在企业内容管理系统内保护数字内容,则关于数字内容是否在保护状态进行确定(步骤312)。如果数字内容在非保护状态,则(例如由封装器服务210)封装数字内容(步骤314)。在一个实施例中,根据在企业内容管理策略服务中阐述的策略或者许可来封装(或者保护)数字内容。可替换地,可以使用常规加密技术来加密数字内容。然后在步骤308中存储封装的数字内容。如果在步骤312中确定数字内容在保护状态,则将数字内容解封装(步骤316),然后重新封装数字内容(步骤318)(根据在企业内容管理策略服务中阐述的策略或者许可)。可替换地,如果在步骤312中确定数字内容在保护状态,则数字内容可以直接原样存储于资源管理器中(即原保护状态)。图4图示了用于从企业内容管理系统(例如企业内容管理系统106)导出数字内容的方法400。接收对从企业内容管理系统导出数字内容的请求(步骤402)。在一个实施例中,该请求包括对才各式为特定数字权利管理系统所特有的数字内容的请求。可替换地,企业来确定用户所要求的特定数字权利管理格式。(例如由过滤器106)关于数字内容的格式是否与该请求一致进行确定(步骤404)。如果数字内容的格式与该请求一致,则从企业内容管理系统导出数字内容。如果数字内容的格式不与该请求一致,(例如由变换器服务208)将数字内容变换成与该请求一致的格式(步骤408)。然后在步骤406中从企业内容管理系统导出变换的数字内容。图5图示了根据本发明实施例与企业内容管理系统106相关联的服务。在这一实施中,服务包括也具有Web服务接口的三个企业JavaBean(EJB),即变换器服务500、内容和用户ID映射器502和XACML策略服务504。一般而言,变换器服务500变换数字内容,内容和用户ID映射器502将与DRM保护内容相关联的第三方数字权利管理ID映射到企业管理系统106向相同数字内容分配的全球唯一标识符(GUID),而XACML策略服务504提供用于供企业内容管理系统106使用的允许和属性信息(包括许可和策略)。XACML策略服务504也可以向第三方许可服务器(例如第三方许可服务器506)或者企业许可服务器(例如企业策略服务器508)提供额外允许或者属性信息。服务可以分布于许多服务器或者机器上。现在将具体讨论各服务。网艾^器應务变换器服务500调用适当变换过程(在图5中表示为Java变换510)以将数字内容从一个格式变换成另一格式。数字内容可以作为流来提供或者作为针对流的URL来提供。在一个实施例中持续由变换过程返回的信息。各变换过程包括串行执行的一个或者多个Java类(在图5中表示为变换器适配器类512)。如果第三方应用使用Web服务来执行对数字内容的变换,则第三方Java类(在图5中表示为第三方变换器514)将进行对Web服务的调用。数目不限的变换过程可供使用。一般基于描述了数字内容和数字内容的当前状态的选择标准来选择具体变换。在一个实施例中,用来确定将应用哪个变换过程的选择标准是基于数字内容的MIME类型、项目类型(内容类型)、请求该变换的位置和数字内容的当前状态。在一个实施例中,当前状态描述了以下变化,这些变化并不造成MIME类型改变但是仍然改变内容。例如,根据高级加密标准(AES)来加密的JPEG文件就是一种这样的情况,其中MIME类型没有改变但是当前状态指示了变化。在选择标准(或者算法)造成两个或者更多匹配的情况下可以使用额外因素(或者唯一特征)。例如,选择标准可能指示要求Adobe变换或者Microsoft变换,然而利用额外信息(比如用户偏好)则可以确定应当对数字内容执行Microsoft变换。在一个实施例中,变换过程配置可以定义为使得一个变换过程适用于许多内容类型、MIME类型和代码入口点。此外,可能要求多个过程来对数字内容进行变换。在这样的情况下,可以依次执行各过程。例如,第一变换过程可以对数字内容解密而第二变换过程可以根据具体数字权利管理系统的格式来封装数字内容。在一个实施例中,变换器服务500具有存储和取回与变换过程相关联的元数据的能力。图6图示了根据实施例的变换器服务500的内部细节。在这一实施中,变换器服务500包括内容ID储存库602、门面(facade)604、变换类工厂606和适配器起动器类608。例如,如果企业内容管理系统106尚未向数字内容分配全球唯一标识符,则内容ID储存库602可以用来存储已经分配给数字内容的暂时ID。变换器类工厂606和门面604可以用来使用常规技术创建数目不限的变换过程。适配器类起动器608可以用来调用可以串行执行的一个或者多个Java类(上文有讨论)。在图6中也示出了对于变换器服务500的输入610。输入610代表形式可以是流或者针对流的URL的数字内容。输入610在一个实施例中还包括关联请求元数据,包括MIME类型、内容类型、请求位置和请求用户。输入610变换成响应612。在一个实施例中,响应612的形式为流或者针对流的URL。如图6中所示,响应612也可以包括额外数据,比如与文本搜索索引有关的信息。[54]图7图示了用于通过变换器服务500来变换数字内容的统一建模语言(UML)类图700。图7示出了用来描述根据选择标准的不同类型来使用哪些变换过程的信息。具体而言,各变换过程是基于选择标准,该选择标准包含描述了过程位置的枚举以及用于MIME类型、内容类型(项目类型)和内容状态的值。这些值各可以用常规表达格式来描述,使得单个变换定义可以适用于选择标准的许多不同值。回到图2和图5,在一个实施例中,与II4C连接器516相关联的层提供当对企业内容管理系统106内的数字内容执行具体动作时调用的机制(或者退出)。在一个实施例中,提供的用于变换数字内容的方法是voidjc^o"mCow""/(^yfe/76w^/^er,6,es/ead,z'W^#enS&^。该方法按段变换数字内容。各变换段(在一个实施例中)与原段长度相同。按字节段变换数字内容对基于简单流的加密起作用,然而多数第三方数字权利管理应用使用块加密,因此在多数情况下要求访问所有数字内容。在一个实施例中,为了高效地变换数字内容,在数据存储于资源管理器204中之前将数字内容作为流或者针对流的URL捕获。Servlet过滤器可以添加到与资源管理器204相关联的Servlet。在一个实施例中,Servlet过滤器安装于Servlet容器和与资源管理器204相关联的Servlet之间。当(例如由连接器)接收对导入或者导出数字内容的请求时,具体变换过程需要知道正在执行什么动作(或者操作)、MIME类型、项目类型和状态(如果可用)。基于向Servlet过滤器提供的信息,变换过程知道该操作(例如存储)和MIME类型(例如列为内容类型)和内容ID。变换过程不知道状态,然而对于导入操作,此信息是不需要的。为了在存储(或者提交)数字内容之前基于内容ID确定数字内容的状态,将调用软件代码(例如变换器服务)以确定是否需要变换数字内容,而如果是这样,则将元数据传递到与资源管理器204相关联的Servlet。参照图8,示出了时序图800,该示了根据实施例在数字内容导入到企业内容管理系统106(图2)中时的方法调用。在时序图800中的关键部件是II4C连接器802、CM退出804、变换器806、RM过滤器808和RMServlet810。II4C连接器802提供通向企业内容管理系统106的Java接口层。CM退出804代表无论何时执行导入(或者存储)或者导出(或者取回)操作、II4C连接器802都要调用的软件代码。变换器806是用于变换数字内容的服务。在一个实施例中,变换器806也可以暂时存储变换的元数据。RM过滤器808是用来截获对资源管理器204的所有调用的过滤器(例如图2的过滤器206)。RM过滤器808是将调用变换的部件。RMServlet810是与资源管理器204相关联的Servlet。如图8中所示,CM退出804使用变换器806来确定是否应当变换数字内容,而如果是这样,则CM退出804与RM过滤器808通信以保证数字内容发送到变换器806。具体而言,当接收导入数字内容到企业内容管理系统106中的请求时,II4C连接器802先调用CM退出804。CM退出804然后调用变换806以确定是否需要变换数字内容。假设将执行对数字内容的变换,CM退出804向RM过滤器808通知对数字内容即将发生的导入。如上文所讨论的,在一个实施例中,在数据存储于例如资源管理器204中之前将数字内容作为流或者针对流的URL捕获。因而,在一个实施例中,CM退出804通过获得取回URL并且将取回URL添加到RM过滤器808的导入告警命令来通知RM过滤器808。CM退出804可以通过超文本传送协议(HTTP)Post请求来调用RM过滤器808。RM过滤器808处理导入通知请求以及存储内容ID、对象名、内容版本、集合ID、库名、更新日期、令牌、导入命令和用于通知到期的时间戳。RM过滤器808然后被用导入请求调用并且执行(例如对内容ID储存库的)查找以确定是否有匹配变换请求。如果有匹酉已,则调用对应变换过程。一旦对数字内容的变换完成,使用内容ID作为关键字来存储从变换生成的元数据。然后将变换数字内容URL提供给RMServlet810。II4C连接器802然后调用退出类中的postStore方法。postStore方法将变才奂器806提供的元凄丈才居(比j口状态)存储到例如库服务器202(图2)中。在一个实施例中,一旦元数据存储于库服务器202中,从变换器806的数据存储去除元数据。[60]键顏,回到图5,在一个实施例中,内容和用户ID映射器502将与DRM保护内容相关联的第三方数字权利管理ID(或者内容ID)映射到由企业管理系统106向相同数字内容分配的全球唯一标识符(GUID)。具体而言,数字权利管理系统一般封装(或者加密)数字内容并且将关键字(或者唯一标识符,这里也称为内容ID)与封装的数字内容相关联。数字权利管理系统也维护关于封装的数字内容的信息(例如访问控制信息)并且根据关键字在许可服务器中持续这样的信息。因此例如,如果数字权利管理系统遇到封装的数字内容,则数字权利管理系统可以通过与数字内容相关联的内容ID将封装的数字内容与许可服务器中的持续信息相关。在一个实施例中,当数字内容导入到企业内容管理系统106中时,企业内容管理系统106也将唯一标识符(ID)分配给导入的数字内容。因而,就已经导入到企业内容管理系统106中的DRM保护内容而言,内容和用户ID映射器502(在一个实施例中)将数字内容的内容ID与企业内容管理系统106分配给相同数字内容的(全球)唯一标识符(ID)相关。X4CAtt衷略糜务在一个实施例中,XACML策略服务504确定什么类型的权利应用于已经导入到企业内容管理系统106中的数字内容。总体上,在一个实施例中,企业内容管理系统106可操作用以通过权限(或者允许)位提供对数字内容的访问控制。例如,可以通过权限位来与数字内容相关联的权利包括用以创建(或者导入)、取回、更新(或者修正)和删除企业内容管理系统106内的数字内容的权利。XACML策略服务504可操作用以基于与数字内容相关联的全球唯一标识符来确定与特定数字内容相关联的权利。全球唯一标识符可以用来例如基于请求数字内容的用户来访问ACL(在企业内容管理系统106例如,在受限模式下,如果用户希望访问已经根据给定数字权利管理系统来保护(通过企业内容管理系统106)的数字内容,则许可服务器(与给定数字权利管理系统相关联)将与XACML策略服务504协商以确定对特定数字内容是否有用户访问权利。总体上,在受限模式下,在用户打开数字内容之时分配用于用户和内容的权利。对照而言,在非受限模式下,在封装之时分配用于用户和内容的权利。在这一例子中,XACML策略服务504与内容和用户ID映射器502通信以确定与数字内容的内容ID相关联的全球唯一标识符(GUID)以确定什么权利适用于用户。在非受限模式下,XACML策略服务504可操作用于为企业内容管理系统106中存储的数字内容创建许可。在一个实施例中,XACML策略服务504使用后端策略服务器(在图5中表示为企业策略服务器508)来提供XACML策略响应信息。参照图9,示出了根据本发明实施例的XACML策略服务504的框图900。在一个实施例中,XACML策略服务504包括基本部件902、扩展部件904和上下文模块906。基本部件902使用从企业许可服务器508接收的标准允许信息来生成XACML响应信息。扩展部件904基于唯一标准来添加信息。扩展部件904允许灵活性,寸吏得第三方可以更改XACML响应以包括专门信息。上下文才莫块906从基本部件902和扩展部件904提取后端。对于各新后端将需要独立的内容模块(未示出)。在一个实施例中,XACML策略服务504生成两个特定类型的XACML文档-XACML策略和XACML响应。XACML策略包括下列各项规则集、用于规则组合算法的标识符、责任集和目标。在一个实施例中,XACML策略包含一个目标和任何数目的规则。目标可以由三个部分构成主题、资源和一个或者多个动作。规则也可以包含目标、条件集和效果。效果是满足规则的预定结果并且可以取值"允许,,或者"拒绝"。目标帮助确定XACML策略是否与请求相关。目标可以是广义的,使数个规则(或者在规则内的数个动作)能够在单个XACML策略(其中各规则将具体指定适用于该^L则的目标)内加以指定。^见则可以包含多个动作。如果在规则内包含多个动作,则就规则的总体评价而言""分离地评价这些^见则。在一个实施例中,目标呈现为了使XACML策略或者规则适用于给定请求而必须满足的布尔条件。如果策略和规则适用,则评价规则。当多个规则适用时,规则组合算法可以用来到达最终授权判决。规则还可以包括条件。如果条件评价为正确,则返回规则效果。如果条件评价为错误,则规则不适用而针对该规则返回"不适用"。XACML策略可以组合成策略集。策略集指定策略组合算法。XACML响应(文档)指定关于XACML请求的判决。在一个实施例中,判决可以是四个值之一允许、拒绝、不确定和不适用。此外,可以返回指示了在评价XACML请求过程中是否出错的状态代码。用于状态代码的可能值(在一个实施例中)是OK、遗失属性、语法错误、处理错误或者其它额外状态信息。在一个实施例中,对权限和判决的请求采用XACML请求的形式。XACML请求指定一个或者多个主题、资源和动作。当出现与非受限数字权利管理系统的集成时可以从变换器服务500调用XACML策略服务504。一般而言,数字权利管理系统具有用于集成的两种可能模式即受限和非受限。在受限情况下,安全地封装数字内容并且将唯一内容ID分配给封装。在用户打开数字内容之时分配用于用户和内容的权利。具体而言,当用户(通过客户机)尝试打开数字内容时,用户ID和DRM内容ID发送到数字权利管理策略服务器。数字权利管理策略提供权利或者向企业策略服务(例如XACML策略服务504)请求权利。在非受限情况下,在封装之时分配权利。视特定数字权利管理系统而定,可以根据由封装数字内容的用户分配的企业模板列表或者从策略服务器确定权利。在一个实施例中,ACL与XACML策略服务504相关联。在一个实施例中,ACL的形式为用户ID集和/或用户组及其关联权限。可以通过作为权限集合的权限集来代表ACL所代表的权限。在一个实施例中,ACL用来控制对企业内容管理系统106(图2)内的数字内容的访问。例如,可以通过一个或者多个ACL来控制的一些对象包括数据对象(例如用户存储的数字内容)和项目类型。在一个实施例中,数据对象具有分配的持久标识符(PID)。因此,给定了PID和用户名(或者用户ID),可以确定用户对指定数据对象的权限。为了控制对特定项目的访问而加以4企查的ACL可以来自该项目或者用来创建该项目的项目类型。这普遍称为项目级绑定或者项目级类型绑定。项目ACL和项目类型ACL无需相同。在一个实施例中,如在下表1中提供XACML策略到ACL的映射。<table>tableseeoriginaldocumentpage25</column></row><table>表1*XACML条件或者动作可以用作为用于权限的限定符。例如,如果权限是"读,,,则限定符可以是"在20050928之前"。或者如果权限是"打印",则限定符可以是"不多于(5)份"。因而,属性可以用来代表限定符。上述方法步骤中的一个或者多个方法步骤可以由一个或者多个可编程处理器来执行,这些处理器执行计算机程序以通过对输入数据进行操作并且生成输出来执行功能。一般而言,本发明的实施例可以采用完全硬件实施、完全软件实施或者包含硬件和软件元素的实施的形式。在优选实施例中,本发明用软件来实施,该软件包括但不限于固件、驻留软件、微代码等。另外,本发明可以采用可从计算机可用或者计算机可读介质来访问的计算机程序产品的形式,该介质提供程序代码以供计算机或者任何指令执行系统使用或者结合计算机或者任何指令执行系统来使用。出于这一说明书的目的,计算机可用或者计算机可读介质可以是以下任何装置,该装置可以包含、存储、传送、传播或者运送程序以供指令执行系统、装置或者设备使用或者结合指令执行系统、装置或者设备来使用。介质可以是电、磁、光、电磁、红外或者半导体系统(或者装置或者设备)或者传播介质。计算机可读介质的例子包括半导体或者固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前例子包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-R/W)和DVD。图10图示了适合于存储和/或执行程序代码的数据处理系统1000。数据处理系统1000包括通过系统总线1006耦合到存储器单元1004AB的处理器1002。在其它实施例中,^:据处理系统1000可以包括多个处理器,而各处理器可以直接地或者间接地通过系统总线耦合到一个或者多个存储器单元。存储器单元1004AB可以包括在实际执行程序代码过程中利用的本地存储器、大容量存储器和高速緩存存储器,这些高速緩存存储器提供至少一些程序代码的暂时存储以便减少在执行过程中必须从大容量存储器取回代码的次数。如图所示,输入/输出或者I/0设备1008AB(包括但不限于键盘、显示器、定位设备等)耦合到数据处理系统1000。I/O设备1008AB可以直接地或者间接地通过中介I/O控制器(未示出)耦合到数据处理系统1000。在该实施例中,网络适配器1010耦合到数据处理系统1000以使数据处理系统1000能够变得通过通信链路1012耦合到其它数据处理系统或者远程打印机或者存储设备。通信链路1012可以是公共或者专用网络。调制解调器、有线调制解调器和以太网卡只是当前可用的网络适配器类型的少数例子而已。已经描述了用于管理企业内容管理系统中的数字内容的各种实施。然而,本领域技术人员将容易认识到对这些实施可以有各种修改。例如,可以以不同的顺序来执4于上文讨i仑的方法步骤以实现所需结果。因而,在不脱离所附权利要求的范围情况下本领域技术人员可以4故出许多1奮改。权利要求1.一种用于变换内容管理系统中的数字内容的方法,包括以下步骤自动确定已经导入到所述内容管理系统中的数字内容的第一保护格式;以及将所述数字内容从所述第一保护格式变换成第二保护格式,所述第二保护格式不同于所述第一保护格式。2.根据权利要求1所述的方法,还包括根据所述第二保护格式在所述内容管理系统中存储所述数字内容。3.根据权利要求2所述的方法,还包括对所述存储的数字内容加密。4.根据权利要求2所述的方法,其中存储所述数字内容包括以与所述内容管理系统支持的多个数字权利管理系统对应的多个不同格式存储所述数字内容。5.根据权利要求4所述的方法,其中存储所述数字内容包括无障碍地存储所述数字内容以允许对所述存储的数字内容的索引搜索或者文本搜索。6.根据权利要求5所述的方法,还包括以所述多个格式中的任一格式从所述内容管理系统导出所述数字内容,包括无障碍地导出所述数字内容。7.根据权利要求1所述的方法,还包括将数字签名应用于导入到所述内容管理系统中的所述数字内容以便认证所述导入的数字内容。8.根据权利要求1所述的方法,其中自动确定数字内容的第一保护格式包括将一个或者多个算法应用于所述数字内容以检测数字权利管理系统所特有的特征。9.根据权利要求1所述的方法,其中自动确定数字内容的第一保护格式包括应用一个或者多个方法调用,其中各方法调用对应于所述内容管理系统支持的特定数字权利管理系统。10.根据权利要求1所述的方法,还包括将导入到所述数字权利管理中的所述数字内容从一个格式转码成另一格式。11.根据权利要求1所述的方法,其中将所述数字内容从所述第一保护格式变换成第二保护格式包括使用通过所述企业内容管理系统支持的数字权利管理系统建立的预建立证书。12.根据权利要求11所述的方法,其中所述预建立证书在导入到所述内容管理系统中的所述数字内容中给予所述内容管理系统一个或者多个所有权权利。13.根据权利要求1所述的方法,其中所述数字内容包括HTML和XMLWeb内容、文档图像、电子办公文档、打印输出、音频和视频中的一个或者多个。14.一种有形地存储于计算机可读介质上的用于变换内容管理系统中的数字内容的计算机程序产品,所述产品包括用以使可编程处理器执行以下操作的指令自动确定已经导入到所述内容管理系统中的数字内容的第一保护才各式;以及将所述数字内容从所述第一保护格式变换成第二保护格式,所述第二保护格式不同于所述第一保护格式。15.根据权利要求14所述的产品,还包括可操作用以根据所述第二保护格式在所述内容管理系统中存储所述数字内容的指令。16.根据权利要求15所述的产品,还包括用以对所述存储的数字内容加密的指令。17.根据权利要求15所述的产品,其中所述用以存储所述数字内容的指令包括用于以与所述内容管理系统支持的多个数字权利管理系统对应的多个不同格式存储所述数字内容的指令。18.根据权利要求17所述的产品,其中所述用以存储所述数字内容的指令包括用以无障碍地存储所述数字内容以允许对所述存储的数字内容的索引搜索或者文本搜索的指令。19.根据权利要求18所述的产品,还包括用于以所述多个格式中的任一格式从所述内容管理系统导出所述数字内容的指令,包括用以无障碍地导出所述数字内容的指令。20.根据权利要求14所述的产品,还包括用以将数字签名应用于导入到所述内容管理系统中的所述数字内容以便认证所述导入的数字内容的指令。21.才艮据权利要求14所述的产品,其中所述用以自动确定数字内容的第一保护格式的指令包括用以将一个或者多个算法应用于所述数字内容以检测数字权利管理系统所特有的特征的指令。22.根据权利要求14所述的产品,其中所述用以自动确定数字内容的第一保护格式的指令包括用以应用一个或者多个方法调用的指令,其中各方法调用对应于所述内容管理系统支持的特定数字权利管理系统。23.根据权利要求14所述的产品,还包括用以将导入到所述数字权利管理中的所述数字内容从一个格式转码成另一格式的指令。24.根据权利要求14所述的产品,其中所述用以将所述数字内容从所述第一保护格式变换成第二保护格式的指令包括用以使用通过所述企业内容管理系统支持的数字权利管理系统建立的预建立证书的指令。25.根据权利要求24所述的产品,其中所述预建立证书在导入到所述内容管理系统中的所述数字内容中给予所述内容管理系统一个或者多个所有权权利。26.根据权利要求14所述的产品,其中所述数字内容包括HTML和XMLWeb内容、文档图像、电子办公文档、打印输出、音频和视频中的一个或者多个。27.—种内容管理系统,包括过滤器,可操作用以自动确定已经导入到所述内容管理系统中的数字内容的第一保护格式;以及变换器,可操作用以将所述数字内容从所述第一保护格式变换成第二保护格式,其中所述第二保护格式不同于所述第一保护格式。28.根据权利要求27所述的内容管理系统,还包括资源管理器,可操作用以根据所述第二保护格式存储所述数字内容。29.根据权利要求27所述的内容管理系统,其中所述变换器还可操作用以将所述数字内容变换成与所述内容管理系统支持的多个数字权利管理系统对应的多个不同格式。30.根据权利要求29所述的内容管理系统,其中所述变换器可操作用以使用通过所述企业内容管理系统支持的数字权利管理系统建立的预建立证书将所述数字内容从所述第一保护格式变换成所述多个不同格式。31.根据权利要求29所述的内容管理系统,其中所述资源管理器还操作用于以与所述内容管理系统支持的多个数字权利管理系统对应的多个不同格式存储所述数字内容以及无障碍地存储所述数字内容以允许对所述存储的数字内容的索引搜索或者文本搜索。32.根据权利要求31所述的内容管理系统,其中所述内容管理器系统可操作用于以所述多个格式中的任一格式导出所述数字内容,包括无障碍地向所述用户导出所述数字内容。33.根据权利要求27所述的内容管理系统,其中所述过滤器可操作用以将一个或者多个算法应用于所述数字内容以检测数字权利管理系统所特有的特征以便自动确定数字内容的所述第一保护格式。34.根据权利要求27所述的内容管理系统,其中所述过滤器可操作用以将一个或者多个方法调用应用于所述数字内容以检测数字权利管理系统所特有的特征以便自动确定数字内容的所述第一保护格式,其中各方法调用对应于所述内容管理系统支持的特定数字权利管理系统。35.根据权利要求27所述的内容管理系统,其中所述数字内容包括HTML和XMLWeb内容、文档图像、电子办公文档、打印输出、音频和视频中的一个或者多个。全文摘要提供用于管理内容管理系统中的数字内容的方法和装置。内容管理系统包括可操作用以自动确定已经导入到内容管理系统中的数字内容的第一保护格式的过滤器和可操作用以将数字内容从第一保护格式变换成第二保护格式的变换器。第二保护格式不同于第一保护格式。文档编号G06F21/00GK101351805SQ200680049603公开日2009年1月21日申请日期2006年12月14日优先权日2006年1月3日发明者D·R·盖斯勒,G·E·布鲁,J·C·波利梅尼,J·C·马尔巴彻,M·利桑克,M·赫塔多申请人:国际商业机器公司