首页> 中国专利> 防止多媒体内容的未经授权的重录的方法和系统

防止多媒体内容的未经授权的重录的方法和系统

摘要

一种在呈现加密数字多媒体文件期间阻止在最终用户多媒体系统上记录数字内容的方法、系统和计算机可读的介质。在呈现加密数字多媒体的过程可以开始之前,在播放期间能够捕获呈现的介质流所有设备和/或端口都被打开,以确保此多媒体内容不被记录。这就阻止了使用可用于存储未加密(已经被解密以便播放或呈现)的内容的设备和/或端口。该方法还包括一个例外情况,即允许具有权限的人进行记录。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-06

    专利权有效期届满 IPC(主分类):G06F21/00 专利号:ZL028161165 申请日:20020819 授权公告日:20080716

    专利权的终止

  • 2008-07-16

    授权

    授权

  • 2006-01-18

    实质审查的生效

    实质审查的生效

  • 2005-11-30

    公开

    公开

说明书

技术领域

本发明广泛地涉及在最终用户系统上呈现多媒体内容的领域,具体来说,涉及在最终用户系统上播放多媒体内容时禁止对多媒体内容的未经授权的重录。

背景技术

使用诸如因特网之类的全球分发系统来分发诸如音乐、电影、计算机程序、图片、游戏及其他内容之类的数字资产在不断地发展。同时,有价值的数字内容的所有者和出版者由于多种原因不积极采用因特网来分发数字资产。一个原因是所有者害怕对数字内容的非法复制或盗版。数字内容的电子提供消除了盗版的多种障碍。对于电子分发,被消除的一个障碍是要求有形的可记录的介质本身(例如,磁盘或CD-ROM)。需要花钱才能将数字内容复制到有形的介质上,虽然在很多情况下空白磁带或可记录的CD不到一个美元。然而,在电子分发的情况下,不再需要有形的介质。有形的介质的成本不是一个因素,因为内容是以电子方式分发的。第二个障碍是内容本身的格式,即,是以模拟格式对数字格式存储的内容。以模拟格式存储的内容,例如,打印的图片,当通过影印方式再现时,副本的质量比原始件的质量差。副本的每一个随后的副本,有时叫做“生成”,都比原件的质量差。当图片用数字方式存储时,这种质量的下降就不存在。每一个副本,以及副本的每一个生成都可以与原件一样清楚。完美的数字副本同以电子方式分发内容以及广泛地通过因特网分发内容的非常低的成本相结合的综合效应使得盗版和分发未经授权的副本相对来说比较容易。只需要敲几下键,盗版者就可以在因特网上发送数百甚至成千上万数字内容的完美的副本。因此,需要保护以电子方式分发的数字资产的安全性。

数字内容的提供商希望为数字内容建立一个安全的全球分发系统,以保护内容所有者的权利。建立数字内容分发系统所存在的问题包括开发数字内容电子分发、权利管理和资产保护系统。以电子方式分发的数字内容包括诸如印刷媒介、电影、游戏、程序、电视、多媒体和音乐之类的内容。

部署电子分发系统为数字内容提供商提供了通过立即销售报告和电子协调来实现快速的支付结算以及通过内容的再分发获得辅助收入来源。由于电子数字内容分发系统不受实际管理员存故障或退货的影响,因此,数字内容提供商和零售商可以降低成本并改善储备量。数字内容提供商可以实现新的或扩大现有的分发渠道,以进行时间更合适的存货的释放。来自电子分发系统的事务性的数据可用于获取有关消费者购买模式的信息并提供有关电子行销方案和促销的即时反馈。为了实现这些目标,需要数字内容提供商使用电子分发模型,以使数字内容对各种各样的用户和企业可用,同时确保保护和计量数字资产。

其他市场上可买到的针对数字内容的电子分发系统,如realaudio、AT & T推出的A2B、Liquid Audio Pro Corp。推出的Liquid Audio Pro、Audio Soft推出的City Music Network等等都提供了在安全的和不安全的电子网络上传输数字数据的方式。使用安全的电子网络大大地降低了向广大的受众分发数字内容的数字内容提供商的要求。使用诸如因特网和Web之类的不安全的网络可以通过使用加密之类的方式使数字内容安全地到达最终用户。然而,一旦加密的数字内容在最终用户的机器上解密,则数字内容就很容易被最终用户进行未经授权的重新分发。因此,需要一种安全的数字内容电子分发系统,该系统可以保护数字资产,并确保甚至在数字内容被提供给消费者和企业之后也可以保护内容提供商的权利。因此,需要进行权利管理,以便进行安全的提供,进行授权,并对数字资产的使用进行控制。

数字内容的所有者不积极采用电子分发的另一个原因是他们希望维护和培植现有的分发渠道。大多数内容所有者通过零售商进行销售。在音乐市场上,这些美国零售商包括Tower Records、Peaches、Blockbuster、Circuit City等等。这些零售商中许多零售商都有网站,可使因特网用户通过因特网来进行挑选,并将所选的产品邮寄给最终用户。音乐网站的例子包括@tower、Music Boulevard和Columbia House。使用电子分发可以消除零售店彼此区分的能力并区分其本身与内容所有者,特别是在网络上。因此,在通过电子分发销售音乐时,需要向诸如图片、游戏、音乐、程序和视频之类的电子内容的零售商提供一种方式彼此之间以及与内容所有者之间区分。

内容所有者准备他们的数字内容,以便通过诸如电子商店之类的分发站点来进行电子分发。因特网上的电子商店,或者通过其他在线服务,希望通过他们的产品和产品促销彼此区分。传统的商店,即,电子商店的-非电子的,非在线的类似事物-使用产品促销、产品销售、产品样品、慷慨的返还策略及其他促销计划来区分其本身与他们的竞争者。然而,在内容提供商对数字内容施加使用条件的在线领域,电子商店区分其本身的能力大大地受到限制。此外,即使使用条件可以变化,电子商店也面临着处理与来自内容提供商的数字内容关联的元数据以便以电子方式推销和销售产品的困难任务。当处理元数据时,电子商店需要管理多个要求。首先,电子商店需要接收与来自内容提供商的数字内容关联的元数据。这种元数据的一部分常常可以以加密的方式发送,因此,内容提供商必须创建一种对加密的内容进行解密的机制。其次,电子商店可能希望在从内容提供商接收到内容之前或者在由电子商店接收到内容之后预览来自内容提供商的元数据,以便帮助进行产品营销、产品定位及内容的其他促销考虑。第三,电子商店需要提取某些元数据,以便用于制作促销材料,如图片和艺术家信息。这种促销材料常常被电子商店直接用于在线促销中。第四,电子商店可能希望通过修改一些允许的使用条件来创建数字内容的不同的形式来互相进行区分。第五,电子商店可能必须在元数据中插入或改变某些地址,如URL,以便购买者自动到对帐事务所进行支付,而不必经过电子商店进行支付。第六,电子商店可能需要创建许可证,以便允许使用匹配使用条件的享有版权的数字内容。例如,许可证可能授予对数字内容进行有限次数的复制的权限。需要一个许可证,以反映授予的权限的条款。

根据所有这些要求,为处理与数字内容相关的元数据,许多电子商店编写自定义的软件程序以处理这些要求。创建这些自定义的软件程序所需要的时间、成本和测试可能比较大。相应地,需要提供一个解决方案来解决这些要求。

此外,数字内容的所有者不积极采用电子分发的另一个原因是准备内容以便进行电子分发做起来比较困难。当今,许多内容提供商在他们的目录中有数千乃至数以万计的标题。以音乐为例,一个内容所有者同时有多个不同格式(例如,CD、磁带和MiniDisc)的单一的原版录音是很常见的。此外,一个单个的格式可能具有重新制作或重新组合的原版录音,以便用于特定的分发渠道。作为示例,广播电台的混录可能不同于舞厅的声道的混录,而后者也可能不同于通常销售的CD。统计和跟踪这些不同的混录是相当繁重的任务。此外,许多原版录音的所有者常常在随后的专辑(“...的精选”)中重新发行旧的录音,或者在电影的音乐声道的编辑及其他专辑或者编辑中重新发行旧的录音。随着越来越多的内容以数字方式提供,对内容进行重新混录和编码以便进行电子分发的必要性也越来越迫切。提供商常常需要使用旧的记录格式作为选择正确的主录音的指南,并将这些录音重新处理和编码,以便发布,供电子分发之用。这对于希望使用他们的旧格式帮助重新发布旧的录音以便进行电子分发的内容提供商尤其正确。提供商将查找数据库以匹配标题、艺术家和录音,以设置编码参数。此手动搜索数据库以便记录作品选的过程也不是没有其缺点。一个缺点是需要让操作员手动搜索数据库并相应地设置处理参数。另一个缺点是在操作员从数据库中选择数据时可能会发生转录错误。相应地,需要给内容提供商提供一种自动检索诸如音频之类的内容的关联的数据和原版录音的方法。

内容所有者准备他们的数字内容,以便通过被称为“编码”的过程来进行电子分发。编码涉及获取内容,如果内容是以模拟格式呈现的,则要将其数字化,并将其压缩。压缩过程允许数字内容更有效地通过网络传输,并存储在可记录的介质上,因为传输或存储的数据量缩小。然而,压缩也有其缺点。大多数压缩会导致某些信息损失,这叫做“有损压缩”。内容提供商还必须作出使用哪一个压缩算法以及需要什么压缩级别的决定。例如,在音乐中,根据音乐的类型,数字内容或歌曲可能具有非常不同的特征。为一种类型选择的压缩算法和压缩级别对于另一种类型音乐可能不是最佳的选择。内容提供商可能发现压缩算法和压缩级别的某种组合对于一种类型的音乐(比如说,古典音乐)效果非常好,但对于另一种类型的音乐(比如,重金属)却不理想。此外,音频工程师常常必须均衡音乐,执行动态范围调整,执行其他预处理和处理设置,以确保编码的音乐类型产生所希望的结果。必须始终手动设置这些编码参数(如,设置均衡级别,以及每一个数字内容的动态范围设置)的要求比较难以承担。再看音乐示例,带有一个覆盖了各种音乐类型的专辑的音乐的内容提供商必须手动为要编码的每一个歌曲或歌曲集选择所希望的编码参数的组合。相应地,需要克服需要手动选择编码的进程参数的做法。

压缩内容的过程可能需要大量专用的计算资源,尤其对于诸如大型故事片之类的较大的内容项目。压缩算法的提供商提供了与他们的压缩技术关联的各种缺点和优点。这些缺点包括:压缩内容所需要的时间量和计算资源;从原始内容获得的压缩量;播放的所希望的比特速率;压缩内容的性能质量;及其他因素。使用将多媒体文件作为输入并生成编码输出文件而没有临时进度或状态指示的编码程序是一个问题。此外,在许多情况下,使用其他程序来调用或管理编码程序,而没有进度的临时指示。这就使得调用应用程序没有办法作为指定要编码的整个选择的百分比来度量已经编码的内容量。在调用程序试图调度多个不同的程序同时运行的情况下,这可能会产生问题。此外,如果为编码选择了成批的内容并且内容提供商希望判断编码进程的进度,这可能尤其困难。相应地,需要克服这些问题。

数字内容的所有者不积极采用电子分发的另一个原因是,缺少在最终用户设备商为以电子方式提供的内容创建数字播放器的标准。内容提供商、电子商店,或电子分发链中的其它环节可能希望在诸如PC、机顶盒、掌上型设备等等之类的各种设备上提供自定义的播放器。需要一个可以在抗窜改的环境中处理数字内容的解密的工具集,即,需要一个在播放期间阻止由第三方对内容进行未授权的访问的环境。此外,需要一个工具集,以使最终用户管理数字内容的本地库,而不允许最终用户对内容进行访问,以便作购买之外的用途。

仍然,对于数字内容电子分发系统的另一个问题是通过标准电话和电缆线路下载内容所花的时间长度。压缩的音乐通过电信线路花15分钟或通过标准电话线路花更长的时间下载不是不常见的。下载视频所需要的时间量甚至更高。虽然诸如电缆因特网访问和宽带之类的其他较高带宽的提供系统越来越比较流行,但是这些系统在许多城镇和城市也没有广泛地采用。此外,许多较高带宽的提供系统可能会由于连接时间花费数字内容的提供商和数字内容的购买者比较高的成本。相应地,需要一种方法和设备,以便以安全的方式提供内容,该方式具有电子分发的许多优点,而不需要比较大的带宽的电信连接。提供用于通过电信线路和以计算机可读的介质分发数字内容的解决方案可能会导致部署两个不同的系统。需要一种系统,该系统通过电信线路或通过计算机可读的介质提供数字内容的分发,而不必重复下列工具和组件:(1)用于保护内容所有者的所有权的的权利管理;(2)事务计量,以便进行立即而准确的补偿;(3)开放式体系结构。

在美国专利6226618和欧洲申请专利1077398中描述了以上某些或全部的解决方案,这些专利包括了本申请中的一些共同的材料。

有关保护数字内容的背景的详细信息可以从下列三个来源找到:“Music on the Internet and the Intellectual Property ProtectionProblem″,作者:Jack Lacy,James Snyder,David Maber,ofAT&T Labs,Florham,Park,N.J.,网址为:http//www.a2bmusic.com/about/papers/musicipp.htm;cryptographicallyprotected container,called DigiBox,见文章″Securing the Content,Not the Wire for Information Commerce″,作者为Olin Sibert,David Bernstein和David Van Wie,InterTrust Technologies Corp.Sunnyvale,CA,网址为:http://www.intertrust.com/architecture/stc.html.;和″CryptolopeContainer Technoiogy″,IBM白皮书,网址为:http://cryptolope.ibm.com/white.htm.

此外,数字内容提供商不积极采用电子分发的另一个原因是,一旦内容加载到最终用户的设备上,最终用户就可以进行数字内容的未经授权的记录。这尤其在内容正在最终用户设备上播放或呈现时会成问题。通常在播放数字内容时,必须将内容解密。在将数字内容解密的此实例过程中,未经授权的数字副本常常被多次记录。可用于制作数字副本的一种方法是打开记录器应用程序,如Microsoft MediaRecorder,并记录当前正在播放的内容。相应地,需要克服此缺点。

此外,另一个缺点是,大多数多媒体最终用户系统具有播放多媒体文件的能力,使用音频输出和音频输入设备和/或端口以及插塞式电缆来记录多媒体文件。在播放或呈现数字内容过程中,正在播放的音频从声卡的输出线补偿到声卡的输入线。相应地,需要允许加密的数字内容被解密并播放,同时阻止在最终用户设备上使用音频插塞式电缆将内容记录到wavein设备和/或端口。

另一个缺点是,某些多媒体系统具有的设备/应用程序带有捕获介质流的能力而不作记录内容的用途,或者这些设备和/或端口不能记录高质量的内容,因此不应该与尝试捕获正在播放的高质量的流的设备或应用程序相混淆。这样的情况的一个示例是能够播放或记录正在通过电话线接收的低比特率音频的语音调制解调器或应答系统应用程序。需要区别和判断在内容呈现过程中处于活动状态的哪些设备/应用程序是“授权的”和“未经授权的”。

发明内容

简单来说,本发明提供了一种在呈现加密数字多媒体文件期间阻止在最终用户多媒体系统上记录数字内容的方法、系统和计算机可读的介质。在呈现加密数字多媒体的过程可以开始之前,在播放期间能够捕获呈现的介质流所有设备和/或端口都被打开,以确保此多媒体内容不被记录。这就阻止了使用可用于存储未加密(已经被解密以便播放或呈现)的内容的设备和/或端口。该方法还包括一个例外情况,即允许具有权限的人进行记录。

附图说明

图1是说明根据本发明的安全数字内容电子分发系统的概述的方框图。

图2是说明根据本发明的安全容器(SC)和关联的图形表示示例的方框图。

图3是说明根据本发明的安全容器(SC)的加密过程的概述的方框图。

图4是说明根据本发明的安全容器(SC)的解密过程的概述的方框图。

图5是根据本发明的图1的安全数字内容分发系统的权利管理体系结构的层次的概述的方框图。

图6是说明应用于图5的许可证控制层的内容分发和授权控制的概述的方框图。

图7是根据本发明的图1的工作流程管理器工具的用户界面示例的插图。

图8是根据本发明的对应于图7中的用户界面的工作流程管理器的主要工具、组件和过程的方框图。

图9是说明根据本发明的图1的电子数字内容商店的主要工具、组件和过程的方框图。

图10是说明根据本发明的图1的最终用户设备的主要部件和过程的方框图。

图11是根据本发明的计算图8的内容预处理和压缩工具的编码速率因素的方法的流程图。

图12是根据本发明的图8的自动元数据获取工具的自动检索其他信息的方法的流程图。

图13是自动设置根据本发明的图8的预处理和压缩工具的预处理和压缩参数的方法的流程图。

图14是播放器应用程序将内容下载到根据本发明的如图15所描述的本地库的用户界面屏幕的例子。

图15是说明根据本发明的在图9的最终用户设备上运行的播放器应用程序的主要组件和过程的方框图。

图16是根据本发明的图15的播放器应用程序的用户界面屏幕的例子。

图17是一个自动为根据本发明的图8的自动元数据获取工具检索其他信息的另一个实施例的流程图。

图18是根据本发明的以计算机可读的存储介质分发内容的图10的另一个实施例的方框图。

图19是根据本发明的获取数字内容的权利的图18的另一个实施例的流程图。

图20是音频卡的详图。

图21是根据本发明的呈现或播放音乐文件的流程图。

图22是详述根据本发明的图21的“打开所有CD质量的非批准的wavein设备”的步骤的流程图。

图23是根据本发明的记录媒体的尝试的流程图。

具体实施方式

为帮助读者很快地定位此实施例中的不同的部分,特为本发明提供了目录。

I.安全数字内容电子分发系统

A.系统概述

1.权利管理

2.计量

3.开放式体系结构

B.系统功能元件

1.内容提供商

2.电子数字内容商店

3.中间市场合作伙伴

4.票据交换所

5.最终用户设备

6.传输基础结构

C.系统使用

II.加密的概念和它们向安全数字内容电子分发系统的应用

A.对称算法

B.公钥算法

C.数字签名

D.数字证书

E.Sc图形表示指南

F.安全容器加密的示例

III.安全数字内容电子分发系统流程

IV.权利管理体系结构模式

A.体系结构层次功能

B.功能分区和流程

1.内容格式化层次

2.内容使用控制层

3.内容标识层

4.许可证控制层

C.内容分发和授权控制

V.安全容器结构

A.一般结构

B.权利管理语言语法和语义

c.安全容器流和处理的概述

D.元数据安全容器620格式

E.Offer安全容器641格式

F.事务安全容器640格式

C.定单安全容器650格式

H.许可证安全容器660格式

I.内容安全容器格式

VI.安全容器包装和打开

A.概述

B.材料单(BOM)部分

C.密钥描述部分

VII.票据交换所

A.概述

B.权利管理处理过程

C.国家特定的参数

D.审核日志和跟踪

E.结果的报告

F.记帐和支付验证

G.重新传输

VIII.内容提供商

A.概述

B.工作流程管理器

1.产品等候操作/信息处理过程

2.新内容请求过程

3.自动元数据获取过程

4.手动元数据输入过程

5.使用条件过程

6.监控的发布过程

7.元数据SC创建过程

8.水印过程

9.预处理和压缩过程

10.内容质量控制过程

11.加密过程

12.内容SC创建过程

13.最后的质量保证过程

14.内容分散过程

15.工作流程规则

C.元数据吸收和输入工具

1.自动元数据获取工具

2.手动元数据输入工具3.使用条件工具

4.元数据SC的部件

5.监控的发布过程

D.内容处理工具

1.水印工具

2.预处理和压缩工具

3.内容质量控制工具

4.加密工具

E.内容SC创建工具

F.最后的质量保证工具

G.内容分散工具

H.内容促销网站

I.内容托管

1.内容托管站点

2.安全数字内容电子分发系统提供的内容托管站点111

IX.电子数字内容商店

A.概述-对多个电子数字内容商店的支持

B.点对点电子数字内容分发服务

1.集成要求

2.内容获取工具

3.事务处理模块

4.通知接口模块

5.对帐工具

C.广播电子数字内容分发服务

X.最终用户设备

A.概述

1.通过电信基础结构提供

2.通过计算机可读的介质提供

B.应用程序安装

C.安全容器处理器

D.播放器应用程序

1.概述

2.最终用户接口组件

3.复制/播放管理组件

4.描述1505、解压缩1506和播放组件

5.数据管理1502和库访问组件

6.应用程序之间的通信组件

7.其他杂项组件

8.通用播放器

9.防止未授权的重新记录

I.安全数字内容电子分发系统

A.系统概述

安全数字内容电子分发系统是包含向最终用户客户设备安全地提供数字内容和与数字内容相关的内容以及进行权利管理的技术、规范、工具和软件的技术平台。最终用户设备包括PC、机顶盒(IRD)和因特网设备。这些设备和/端口可以将内容复制到外部介质或便携的消费设备和/或内容所有者允许的端口。术语“数字内容”或简单来说“内容”,是指以数字格式存储的信息和数据,包括:图片、电影、视频、音乐、程序、多媒体和游戏。

该技术平台说明了如何准备数字内容,通过点对点和广播基础结构(如电缆、因特网、卫星、无线)安全地分发,防止未经过授权的复制和播放。此外,该技术平台的体系结构允许迁移和集成各种技术,如水印、压缩/编码、加密,以及其他安全算法(随着时间的发展而发展)

安全数字内容电子分发系统的基本组件是:(1)保护内容所有人的所有权的权利管理;(2)立即和准确的补偿的事务计量,以及(3),开发和很好地记录的体系结构,该结构能使内容提供商准备内容和允许其通过多个网络基础结构安全地提供,以便在任何符合标准的播放器上播放。

1.权利管理

安全数字内容电子分发系统中的权利管理是通过在系统的操作组件之间分发的功能集来实现的。其主要功能包括:许可授权和控制,以便内容只有被具有安全的许可证的授权的中间或最终用户解除锁定;控制和根据购买或许可证的条件执行内容使用,如允许的复制份数、播放次数,以及许可证可以保持有效的时间间隔或期限。权利管理的辅助功能是允许一个装置识别内容的未经授权的副本的来源,以防止盗版。

许可授权和控制是通过使用票据交换所实体和安全容器(SC)技术来实现的。票据交换所通过在验证成功地完成授权事务之后允许中间或最终用户将内容解除锁定来提供许可授权。安全容器用于在系统组件之中分发加密内容和信息。SC是使用加密、数字签名和数字证书防止未经授权的拦截或修改电子信息和内容的信息或内容的密码携带者。它还允许验证数字内容的可靠性和完整性。这些权利管理功能的优点是电子数字内容分发基础结构不必是安全或受信任的。因此,允许通过诸如Web和因特网之类的网络基础结构进行传输。这是由于这样的事实:内容在安全容器内是加密的,其存储和分发与其解除锁定和使用的控制是分开的。只有具有解密密钥的用户才能将加密的内容解除锁定,票据交换所只对被授权和适当的使用请求发布解密密钥。票据交换所不会批准来自未知或未经授权的一方的假的请求或不符合内容所有者设置的内容的使用条件的请求。此外,如果SC在其传输期间被篡改,则票据交换所中的软件判断SC中的内容被损坏或歪曲,并拒绝事务。

内容使用的控制是通过在最终用户设备上运行的最终用户播放器应用程序195来实现的。应用程序在内容的每一个副本中嵌入了一个数字代码,定义了允许的辅助副本和播放的次数。使用数字水印技术来生成数字代码,将它与其他最终用户播放器应用程序195隔开,并防止进行变更尝试。在另一个实施例中,数字代码只作为与内容113关联的使用条件的一部分来保留的。当数字内容113在符合条件的最终用户设备中被访问时,最终用户播放器应用程序195读取水印以检查使用限制,并在需要时更新水印。如果内容的使用请求不符合使用条件,例如,超出了副本的数量,最终用户设备将不会执行请求。

数字水印还提供了识别内容的授权的或未经授权的副本的来源的手段。内容中的初始水印是由内容所有者嵌入的,以标识内容所有者,指定版权信息,定义地理分布区域,并添加其他相关的信息。第二个水印是在最终用户设备中在内容中嵌入的,以标识内容购买者(或被许可者)和最终用户设备,指定购买或许可证条件以及日期,并添加任何其他相关的信息。

由于水印是内容的不可分割的组成部分,它们都携带在副本中,与副本是否被授权无关。因此,数字内容始终包含有关其来源和其允许的使用的信息,不管内容的所在地或它来自何处。此信息还可以用于防止内容的使用。

2.计量

作为其权利管理功能的一部分,票据交换所保留了其中的密钥交换通过票据交换所进行清算的所有事务的记录。此记录有助于许可授权和初始使用条件的计量。事务记录可以被立即或定期报告到负责的一方,如,内容所有者或内容提供商、零售商,以帮助进行事务支付的电子对帐,以及其他用途。

3.开放式体系结构

安全数字内容电子分发系统(系统)是一个带有发布的规范和接口的开放式体系结构,以帮助在市场上的系统的广泛的实现和接受,同时为内容所有者维护了权利保护。系统体系结构的灵活性和开放性还允许系统随着各种技术、传输基础结构和设备被推向市场而发展。

该体系结构在内容的特征以及其格式方面是开放的。音频、程序、多媒体、视频或其他类型的内容的分发是由该体系结构来支持的。内容可以是其原始格式,如数字音乐的线性PCM,或更多的预处理或编码所获得的格式,如过滤、压缩或预先/去加重等等。该体系结构对于各种加密和水印技术也是开放的。它允许选择特定的技术,以适应不同的内容类型和格式,并随着新技术的发展引论或采用新技术。这种灵活性允许内容提供商挑选和发展它们用于在安全数字内容电子分发系统内进行数据压缩、加密,以及格式化的技术。

该体系结构对不同的分布式网络和分布式模式也是开放的。该体系结构支持通过低速因特网连接或高速卫星和有线网络进行内容分发,并可以以点到点或广播模式来进行使用。此外,该体系结构是这样设计的:以便最终用户设备中的功能可以在各式各样的设备上实现,包括低成本消费设备。这种灵活性允许内容提供商和零售商通过各种服务向中间或最终用户提供内容,并允许用户购买或对内容进行许可,播放,并将它记录在各种播放器设备上。

B.系统功能元件

请看图1,该图显示了说明根据本发明的安全数字内容电子分发系统100的概述的方框图。安全数字内容电子分发系统100包含多个业务元件,其中端对端的解决方案,包括:数字内容的内容提供商101或所有者、电子数字内容商店103、中间市场合作伙伴(未显示)、票据交换所105、内容托管站点111、传输基础结构107、最终用户设备109。这些业务元件中的每一个元件都使用安全数字内容电子分发系统100的各种组件。这些业务元件和系统组件的详细描述,由于它们属于电子内容113分发,如下所示。

1.内容提供商101

内容提供商101或内容所有者是原始内容113的所有者和/或被授权将独立的内容113打包以便进一步分发的经销商。内容提供商101可以直接利用他们的权利或者向电子数字内容商店103、或中间市场合作伙伴(未显示)授权内容113,通常获取与电子商务收入相关的内容使用支付款项。内容提供商101的例子包括Sony、Time-Warner、MTV、IBM、Microsoft、Turner、Fox等等。

内容提供商101使用作为安全数字内容电子分发系统100的一部分提供的工具以便准备他们的内容113和相关数据,以便进行分发。工作流程管理器工具154调度要处理的内容113,并在内容113经过内容113准备和打包的各个步骤时跟踪内容113,以保证有很高的质量。“元数据”这一术语在整个文档中使用,表示与内容113相关的数据,在此实施例中,不包括内容113本身。作为示例,歌曲的元数据可以是歌曲标题或歌曲credits,而不是歌曲的录音。内容113将包含录音。元数据吸收和输入工具161用于从内容提供商的数据库160提取元数据或内容提供商以规定的格式(以音乐为例,诸如CD标题、艺术家名称、歌曲标题、CD艺术品等等之类的内容113信息)提供的数据,并将它打包,以便进行电子分发。元数据吸收和输入工具161还用于输入内容113的使用条件。“使用条件”中的数据可以包括复制限制规则、批发价格、以及被认为是必需的任何业务规则。水印工具用于隐藏标识内容所有者、处理日期及其他相关数据的数据。对于内容113是音频的实施例,使用音频预处理器工具来调节动力学和/或补偿内容113或其他音频,以便达到最佳的压缩质量,将内容113压缩到所希望的压缩级别,并将内容113加密。还可以对这些进行改编,以便遵循数字内容压缩/编码、加密和格式化方法的技术进步,允许内容提供商101利用市场上的最好的工具。

加密内容113、数字内容相关数据或元数据,以及加密密钥被SC包装器工具包装到SC(如下所述),并存储在内容托管站点和/或促销网站,以便进行电子分发。内容托管站点可以驻留在内容提供商101或多个位置,包括电子数字内容商店103和中间市场合作伙伴(未显示)设施中。由于内容113和密钥(如下所述)被加密并包装在SC中,电子数字内容商店103或任何其他托管代理在没有从票据交换所清算并向内容提供商101发出通知的情况下不能直接访问解密内容113。

2.电子数字内容商店103

电子数字内容商店103是通过各式各样的服务或应用程序销售内容113的实体,如内容113主题编程或内容113的电子销售。电子数字内容商店103管理他们的服务的设计、开发、业务活动、结算、市场营销和销售。在线电子数字内容商店103的例子有提供软件的电子下载的网站。

在它们的服务内,电子数字内容商店103实现了安全数字内容电子分发系统100的某些功能。电子数字内容商店103综合来自内容提供商101的信息,将内容和元数据包装到更多的SC中,并将这些SC作为服务或应用程序的一部分提供给消费者或企业。电子数字内容商店103使用安全数字内容电子分发系统100提供的工具来帮助进行:元数据提取、辅助使用条件、SC打包,以及跟踪电子内容事务。辅助使用条件数据可以包括诸如内容113购买价格、按收听次数支付的价格、复制授权和目标设备类型,或时间可用性限制。

一旦电子数字内容商店103完成了来自最终用户的对电子内容113的有效的请求,电子数字内容商店103负责授权票据交换所105以向客户发布内容113的解密密钥。电子数字内容商店还授权包含内容113的SC的下载。电子数字内容商店可以选择在其本地站点托管包含数字内容的SC,和/或利用另一个内容托管站点的托管和分发设施。

电子数字内容商店可以为最终用户使用安全数字内容电子分发系统100时可能具有的任何问题提供客户服务,或者电子数字内容商店103可以与票据交换所105就客户服务支持签定合同。

3.中间市场合作伙伴(来显示)

在另一个实施例中,可以使用安全数字内容电子分发系统100来安全地向叫做“中间市场合作伙伴”的其他企业提供内容113。这些合作伙伴可以包括提供非电子服务的数字内容相关公司,如电视台或视频俱乐部、无线电台或录音俱乐部,以便让它们分发内容113。这些合作伙伴还可以包括其他信任的一方(作为进行录音或销售录音的一部分来处理材料),如录音棚、复制公司和制作人。这些中间市场合作伙伴要求从票据交换所105进行清算,以便将内容113进行解密。

4.票据交换所105

票据交换所105提供了涉及在SC中加密的内容113的销售和/或允许的使用的所有事务的许可授权和记录。当票据交换所105接收来自中间或最终用户的对内容113的解密密钥的请求时,票据交换所105验证请求中的信息的完整性和可靠性;验证该请求是否被电子数字内容商店或内容提供商101授权;并验证请求的使用是否符合如内容提供商101所定义的内容使用条件。一旦满足了这些验证,票据交换所105向发出请求的最终用户发送内容113的解密密钥(包装在许可证SC中)。该密钥以这样的方式加密,以便只有被授权的用户可以检索它。如果最终用户的请求不可验证,完成,或授权,则票据交换所105拒绝对解密密钥的请求。

票据交换所105保留了所有事务的记录,并可以立即或定期或有限度地将它们报告到负责的一方,如电子数字内容商店103和内容提供商101。此报告是向内容提供商101通知内容113的销售的手段,电子数字内容商店103可以获取向它们的客户的电子提供的审核跟踪。在票据交换所105检测到SC中的信息已经被破坏或者不符合内容的使用条件的情况下,它还可以通知内容提供商101和/或电子数字内容商店103。票据交换所105数据库的事务记录和仓库容量是这样构建的,以便进行数据挖掘和报告生成。

在另一个实施例中,票据交换所105可以为诸如偿还、传输失败以及购买争论之类的事务提供客户支持和异常处理。票据交换所105可以作为独立的实体操作,为权利管理和计量提供受信任的保管。它可以根据需要提供记帐和结算。电子票据交换所的例子包括Secure-Bank.com和visa/Mastercard的Secure ElectronicTransaction(SET)(安全电子事务)。在一个实施例中,票据交换所105是最终用户设备109可以访问的网站。在另一个实施例中,票据交换所105是电子数字内容商店103的一部分。

5.最终用户设备109

最终用户设备109可以是包含符合安全数字内容电子分发系统100规范的最终用户播放器应用程序195(稍后描述)的任何播放器设备。这些设备可以包括PC、机顶盒(IRD)和因特网设备。最终用户播放器应用程序195可以以软件和/或消费电子设备硬件来实现。除了执行播放、记录和库管理功能之外,最终用户播放器应用程序195还执行SC处理以便在最终用户设备109上进行权利管理。最终用户设备109管理包含数字内容的SC的下载和存储;从票据交换所105请求和管理加密数字内容密钥的接收;每次复制或播放数字内容时处理水印;根据数字内容的使用条件管理作出的副本的数量(或副本的删除);如果允许,复制到外部介质或便携式消费设备。便携式消费设备可以执行最终用户播放器应用程序195功能的子集,以便处理嵌入在水印中的内容的使用条件。“最终用户”和“最终用户播放器应用程序195”这两个术语在整个文档中使用来表示通过使用或在最终用户设备109上运行。

6.传输基础结构101

安全数字内容电子分发系统100独立于连接电子数字内容商店103和最终用户设备109的传输网络。它支持诸如因特网之类的点到点和诸如数字广播电视之类的广播分发模式。

即使使用相同的工具和应用程序来获取、打包,以及跟踪通过各种传输基础结构107的内容113事务,给客户提供服务的呈现和方法可以依据所选择的基础结构和分发模式而有所不同。传输的内容113的质量也可能会有所不同,因为高带宽基础结构比较低带宽基础结构以比较可以接受的响应时间提供高质量的数字内容。可以改变为点到点分发模式而设计的服务应用程序,以支持广播分发模式。

C.系统使用

安全数字内容电子分发系统100还可以向最终用户设备109安全地提供内容113的高质量电子副本,无论是消费者还是企业,以调节和跟踪内容113的使用。

安全数字内容电子分发系统100可以使用新的和现有的分发渠道部署在各种消费和企业对企业服务中。每一个特定的服务都可以使用不同的财务模式,该财务模式可以通过安全数字内容电子分发系统100的权利管理功能来实施。诸如批发或零售购买、按收听次数支付的使用、订阅服务、复制/不复制限制或再分发之类的模式可以通过票据交换所105的权利管理和最终用户播放器应用程序195复制保护功能来实现。

安全数字内容电子分发系统100给电子数字内容商店103和中间市场合作伙伴提供了在创建销售内容113的服务时的很大的灵活性。同时,它给内容提供商101提供了一个保证级别,它们的数字资产受到保护和计量,以便他们可以为内容113的授权得到适当的补偿。

II.加密的概念和它们向安全数字内容电子分发系统的应用

安全数字内容电子分发系统100中的许可证控制基于加密的使用。本节介绍了本发明的基本加密技术。公钥加密、对称密钥加密、数字签名、数字水印和数字证书的使用已为大家所熟知。

A.对称算法

在安全数字内容电子分发系统100中,内容提供商101使用对称算法对内容进行加密。它们叫做对称算法,因为相同的密钥用于对数据进行加密和解密。数据发件人和收件人必须共享密钥。共享的密钥这里被称为“对称密钥”。安全的数字内容电子分发系统100体系结构独立于为特定的实现方式选择的对称算法。

常见的对称算法有DES、RC2和RC4。DES和RC2两者都是分组密码。分组密码一次使用一组数据位来对数据进行加密。DES是正式的美国政府加密标准,具有64位块大小,并使用56位密钥。三重DES通常用于提高用简单的DES取得的安全性。SAData Security设计了RC2。RC2使用可变的-密钥-大小密码,并具有64位的块大小。也是由RSA Data Security设计的RC4,是可变的密钥大小流密码。流密码一次对单个数据位进行操作。RSAData Security要求每个输出字节RC4需要八到十六个机器操作。

IBM设计了一个叫做SEAL的快速算法。SEAL是一种流算法,它使用可变长度密钥,并且为32位处理器进行了优化。SEAL每个数据字节要求大约五个基本机器指令。基于50MHZ、486的计算机以7.2兆字节/秒运行SEAL(如果所使用的160位密钥已经被预处理为内部表)。

微软在其“Overview of CryptoAPI”文档中报告了加密性能基准的结果。这些结果是使用Microsoft的CryptoAPI在120 14HZ基于Pentium的安装了Windows NT 4.0的计算机上运行的应用程序获取的。

  密码  密钥大小  密钥设时间  加密速度  DES  56  460  1138519  RC2  40  40  286888  RC4  40  151  2377723

B.公钥算法

在安全数字内容电子分发系统100中,对称密钥及其他小数据片是使用公钥加密的。公钥算法使用两个密钥。两个密钥在算术上是相关的,以便用一个密钥加密的数据只能用另一个密钥来解密。密钥的所有者将一个密钥保留为私有(私钥),并公开地分发第二个密钥(公钥)。

为使用公钥算法保护加密消息的传输的安全,一个人必须使用收件人的公钥来对消息进行加密。只有具有关联的私钥的收件人才能将消息解密。公钥算法也用于生成数字签名。私钥也用于该用途。下面一节提供了有关数字签名的信息。

最常用的公钥算法是RSA公钥密码。它已经成为事实上的业界公钥标准。其他也可用于进行加密和数字签名的算法是ElGamal和Rabin。RSA是可变的密钥长度密码。

对称密钥算法比公钥算法快得多。在软件中,DES通常至少是RSA的100倍。因此,RSA不用于对成批数据进行加密。RSAData Security报道,在90MHZ Pentium计算机上,RSA DataSecurity的工具箱BSAFE 3.0对于私钥操作(加密或解密,使用私钥)具有21.6千位/秒、512位模数和7.4千位/秒、1024位模数的吞吐量。

C.数字签名

在安全数字内容电子分发系统100中,SC的颁发者通过进行数字签名来保护SC的完整性。一般而言,要创建消息的数字签名,消息所有者首先计算消息摘要(如下面定义),然后使用所有者的私钥来对消息摘要进行加密。消息是用其签名进行分发的。消息的任何收件人都可以首先通过使用消息所有者的公钥来恢复消息摘要将签名解密,以验证数字签名。然后,收件人计算收到的消息的摘要,并将它与恢复的消息相比较。如果在分发期间没有改变消息,则计算出的摘要和恢复的摘要必须相同。

在安全数字内容电子分发系统100中,由于Sc包含多个数据部件,因此,为每一个部件计算摘要,为连接的部件摘要计算汇总摘要。汇总摘要是使用SC的颁发者的私钥来进行加密的。对于SC,加密的汇总摘要是颁发者的数字签名。部件摘要和数字签名包括在Sc的正文中。Sc的收件人可以通过收到的数字签名和部件摘要来验证SC以及其部件的完整性。

使用单向散列算法来计算消息摘要。散列算法采取可变长度输入信息,并将它转换为固定长度字符串,消息摘要。单向散列算法只在一个方向上操作。即,容易计算一个输入消息的摘要,但很难(计算上不可行)来从其摘要生成输入消息。由于单向散列函数的属性,一个人可以将消息摘要视为消息的指纹。

比较常见的单向散列函数是RSA Data Security的MDS,以及由US National Institute of Technology and Standards(HITS)设计的SHA。

D.数字证书

数字证书用于对发送被数字签名的消息的人或实体的身份进行鉴定或验证。证书是将公钥绑定到个人或实体的证书颁发机构颁发的数字文档。证书包括公钥、人或实体的名称、到期日、证书颁发机构的名称,及其他信息。证书还包含证书颁发机构的数字签名。

当一个实体(或人)发送一个用其私钥进行签名并且带有其数字证书的消息时,消息的收件人使用来自证书的实体的名称来判断是否接受消息。

在安全数字内容电子分发系统100中,每一个SC,除了最终用户设备109颁发的那些之外,包括Sc的创作者的证书。最终用户设备109在他们的SC中不必包括证书,因为许多最终用户不愿意获取证书,或者具有非真实的证书颁发机构颁发的证书。在安全数字内容电子分发系统100中,票据交换所105具有向电子数字内容商店103颁发证书的选项。这就使得最终用户设备109独立地验证电子数字内容商店103是否已经被安全数字内容电子分发系统100授权。

H.Sc图形表示指南

此文档使用图形来表示Sc,显示了加密的部件、非加密的部件、加密密钥和证书。请看图2,该图是Sc 200的图形示例。下列符号在SC图形中使用。密钥201是公钥或私钥。密钥的齿(票据交换所的CLRNCH)表示密钥所有者。句柄内的PB指出,它是公钥,因此,密钥201是一个票据交换所公钥。句柄内的PV指出它是一个私钥。菱形是最终用户数字签名202。缩写字母指出哪一个私钥用于创建签名,因此,在EU中,是下表中的最终用户数字签名。对称密钥203用于对内容进行加密。加密对称密钥对象204包括用CLRNCH的PB加密的对称密钥203。矩形的上边界上的密钥是在对象的加密中使用的密钥。矩形内的符号或文本指出加密的对象(在这种情况下,是对称密钥)。在此示例中,显示了另一个加密对象,事务ID加密对象205。内容授权管理的使用条件206如下所述。SC 200包括使用条件206、事务ID加密对象205、应用程序ID加密对象207、加密对称密钥对象204,所有对象都用最终用户数字签名202进行签名。

下表显示了标识SC的签名者的缩写字母。

  缩写字母  组件  CP  内容提供商101  MS  电子数字内容商店103  HS  内容托管站点111
  EU  最终用户设备109  CH  票据交换所105  CA  证书颁发机构(未显示)

F.安全容器加密的示例

下面的表和图表提供了用于从SC创建和恢复信息的加密与解密过程的概述。在此过程概述中创建和解密的Sc是一般Sc。它不代表安全数字内容电子分发系统100中的用于权利管理的任何特定的SC类型。该过程由图3中描述的加密过程的步骤构成。

图3的加密过程的处理流程

步骤 过程

301   发件人生成随机对称密钥,并使用它来对内容进行加密。

302   发件人通过散列算法运行加密内容以产生内容摘要。

303   发件人使用收件人的公钥来对对称密钥进行加密。PBRECPNT是指收件人的公钥。

304   发件人通过在步骤2中使用的相同散列算法运行加密对称密钥,以产生对称密钥摘要。

305   发件人通过在步骤2中使用的相同散列算法运行内容摘要和对称密钥摘要的连接以产生Sc摘要。

306   发件人用发件人的私钥来对sc摘要进行加密,以产生Sc的数字签名。PV SENDER是指发件人私钥。

307B  发件人创建一个SC文件,该文件包括加密的内容、加密的对称密钥、内容摘要、对称密钥摘要、发件人的证书,以及SC签名。

307A  在启动安全通信之前发件人必须已经从证书颁发机构获取证书。证书颁发机构在证书中包括发件人的公钥、发件人的名称,并对它进行签名。PV CAUTHR是指证书颁发机构的私钥。发件人将SC传输给收件人。

图4的解密过程的处理流程

步骤 过程

408   收件人接收Sc并分开其部件。

409   收件人验证发件人的证书中的数字签名,方法是:用证书颁发机构的公钥对其进行解密。如果证书的数字签名有效,则收件人从证书获取发件人公钥。

410   收件人使用发件人的公钥来对Sc数字签名进行解密。这就恢复Sc摘要。PB SENDER是指发件人公钥。

411   收件人通过发件人用来计算Sc摘要的相同散列算法来运行接收到的内容摘要和加密密钥摘要的连接。

412   收件人将计算出的SC与从发件人的数字签名恢复的摘要进行比较。如果它们相同,则收件人确认接收到的摘要没有被改变,并继续解密过程。如果它们不相同,则收件人放弃Sc,并通知发件人。

413   收件人通过在步骤411中使用的相同散列算法运行加密对称密钥,以计算对称密钥摘要。

414   收件人将计算出的对称密钥摘要与在Sc中接收到的摘要进行比较。如果相同,则收件人知道,加密的对称密钥没有改变。收件人继续解密过程。如果不有效,则收件人放弃Sc,并通知发件人。

415   收件人通过在步骤411中使用的相同散列算法运行加密内容,以计算内容摘要。

416   收件人将计算出的内容摘要与在Sc中接收到的摘要进行比较。如果相同,则收件人知道,加密的内容没有改变。然后收件人继续解密过程。如果不有效,则收件人放弃Sc,并通知发件人。

417   发送者使用收件人的私钥来对加密的对称密钥进行解密。这就恢复了对称密钥。PV RECPNT是指收件人的私钥。

418   收件人使用对称密钥来对加密的内容进行解密。这就恢复了内容。

III.安全数字内容电子分发系统流程

安全电子数字内容分发系统100由系统的不同的参与方使用的多个组件构成。这些参与方包括内容提供商101、电子数字内容商店103、通过最终用户设备109的最终用户和票据交换所105。一个高级系统流程被用作安全数字内容电子分发系统100的概述。下面概述的此流程在内容在整个系统100中流动时跟踪内容。此外,它概述了被参与方用来进行购买的事务、解除锁定和使用内容13的步骤。在系统流程中作出的一些假设包括:

●这是数字内容服务(到PC的点到点接口)的数字内容服务的系统流程。

●内容提供商101以PCM未压缩的格式提交音频数字内容(作为音乐音频示例)。

●内容提供商101在符合ODBC标准的数据库中具有元数据,或内容提供商101将直接向内容信息处理子系统中输入数据。或者以规定的ASCII文件格式提供数据

财务结算是电子数字内容商店进行的。

内容113托管在单个内容托管站点111。

那些精通本技术的人应该理解,这些假设可以改变,以适应数字内容(例如,音乐、视频和程序,以及电子分发系统广播)的准确的本质。

图1中说明了下列处理流程。

步骤 过程

121   内容提供商101提供了一个未压缩的PCM音频文件作为内容113。其文件名与内容113的内容提供商101唯一标识符一起被导入到工作流程管理器154工具中。

122   由内容信息处理子系统使用内容113的内容提供商101唯一标识符和数据库映射模板提供的信息从内容提供商的数据库160捕获元数据。

123   工作流程管理器工具154用于通过内容提供商101上的获取和准备过程来导引内容流。它还可以用于随时跟踪系统中的任何内容片段的状态。

124   内容113的使用条件被输入到内容信息处理子系统,这可以通过手动或自动完成。此数据包括复制限制规则和被认为是必需的和任何其他业务规则。所有元数据输入都可以与数据的音频处理过程一起进行。

125   水印工具用于在内容113中隐藏内容提供商101认为标识内容所所需的数据。这可以包括它是何时捕获的,它是从哪里来的(此内容提供商201),或内容提供商101指定的任何其他信息。

●内容处理工具125根据支持的不同的压缩级别的需要,对内容113执行均衡、动力学调整和重新采样。

-使用内容处理工具125将内容113压缩到所希望的压缩级别。然后,可以播放内容113,以验证压缩是否产生了内容113质量的所需的级别。如有必要,可以随意执行均衡、动力学调整、压缩和播放质量检查。

-内容113和其元数据的子集是由sc包装器使用对称密钥来进行加密的。然后,此工具使用票据交换所105的公钥对密钥进行加密,以产生加密的对称密钥。可以将此密钥传输到任何地方,而不会破坏内容113的安全性,因为可以将它解密的唯一实体是票据交换所205。

126   然后,可以由SC包装器工具152将加密对称密钥、元数据及有关内容113的其他信息包装到元数据SC中。

127   然后,将加密内容113和元数据包装到内容SC中。此时,对内容113和元数据的处理完成。

128   然后,使用内容分配工具(未显示)将元数据SC发送到内容促销网站156。

129   内容分配工具将内容SC发送到内容托管站点111。内容托管站点可以驻留在内容提供商101、票据交换所105或专用于进行内容托管的特殊位置。此站点的URL是被添加到元数据SC的元数据的一部分。

130   内容促销网站156通知新内容113的电子数字内容商店103,说它被添加到系统100。

131   然后电子数字内容商店103使用内容获取工具下载对应于他们希望销售的内容113的元数据SC。

132   电子数字内容商店203将使用内容获取工具从元数据SC中抽出他们希望用来在他们的网站上推销内容113的任何数据。如果愿意,可以获得对此元数据的部份内容的访问权,并可以索取费用。

133   使用内容获取工具输入此电子数字内容商店103特定的内容212的使用条件。这些使用条件包括内容113的不同的压缩级别的零售价和复制/播放限制。

134   电子数字内容商店203特定的使用条件和初始元数据SC被SC包装器工具包装到Offer SC中。

135   在更新电子数字内容商店103网站之后,在Web上冲浪的最终用户便可以访问内容113了。

136   当最终用户发现他们想要买的内容113时,他们单击内容图标,如音乐图标,并将项目添加到由电子数字内容商店103维护的购物车中。当最终用户完成购物时,他们向电子数字内容商店103提交购买请求,以便进行处理。

137   然后,电子数字内容商店103与信用卡清算机构进行交互,与他们目前开展业务一样,提取资金。

138   一旦电子数字内容商店103从信用卡清算机构接收到信用卡授权号码,它将此存储到数据库中,并调用SC包装器工具,以构建事务SC。此事务SC包括最终用户购买的内容113的所有Offer SC、可以追溯回电子数字内容商店103的事务ID、标识最终用户的信息、压缩级别、使用条件和购买的歌曲的价格表。

139   然后,将此事务SC传输到最终用户设备109。

140   当事务SC到达最终用户设备109时,它启动最终用户播放器应用程序195,该应用程序打开事务SC,并确认最终用户的购买。然后,最终用户播放器应用程序195打开单个Offer SC,在另一个实施例中,可以通知用户估计的下载时间。然后,它要求用户指定他们希望何时下载内容113。

141   基于最终用户请求下载的时间,最终用户播放器应用程序195将醒来,启动下载过程的开始:生成包含内容113的加密对称密钥、事务ID,以及最终用户信息的定单SC。

142   然后,将此定单SC发送到票据交换所105,以便进行处理。

143   票据交换所105接收定单SC,打开它,并验证,其中没有数据被篡改。票据交换所105验证最终用户购买的使用条件。这些使用条件必须符合内容提供商101指定的使用条件。此信息被记录到数据库中。

144   一旦完成所有检查,则使用票据交换所105的私钥来将加密对称密钥解密。然后使用最终用户的公钥来将对称密钥加密。然后,由SC包装器将此新的加密对称密钥打包到许可证SC中。

145   然后,将许可证SC传输到最终用户。

146   当在最终用户设备109上接收到许可证SC中,将它存储在内存中,直到内容SC下载。

147   最终用户设备109从内容托管设施111请求发送购买的内容113的对应的许可证SC

148   内容113被发送到最终用户设备109。在收到之后,由最终用户设备109使用对称密钥将内容113解密。

IV.权利管理体系结构模式

A.体系结构层次功能

图5是安全数字内容电子分发系统100的权利管理体系结构的方框图。在体系结构上,四个层次代表了安全数字内容电子分发系统100:许可证控制层501、内容标识符层503、内容使用控制层505,以及内容格式化层507。本节将描述每一个层次的总体功能目标和每一个层次的单个的关键功能。每一个层次中的功能与其他层次中的功能无关。在广泛的限制内,一个层次中的功能可以被类似的功能代替,而不影响其他层次的功能。显然,需要来自一个层次的输出满足相邻层次可以接受的格式和语义。

许可证控制层次501确保:

●在分发期间防止数字内容被非法拦截和窜改;

●内容113发自合法的内容所有者,并由授权的经销商(例如,电子数字内容商店103)分发;

●数字内容购买者具有适当授权的应用程序;

●在购买者或最终用户获得内容113的一个副本之前由购买者向经销商支付款项;保留事务的记录,以作报告之用。

内容标识层503允许对版权和内容购买者的身份进行验证。内容的版权信息和内容购买者的身份允许对任何内容113的副本(无论是否已经授权)进行来源跟踪。因此,内容标识层503提供了防盗版的手段。

内容使用控制层505确保内容113的副本在购买者的设备中根据存储使用条件519来使用。存储使用条件519可以指定内容113的允许的播放次数和本地副本的数量,以及是否可以将内容113记录到外部便携式设备。内容使用控制层505中的功能跟踪内容的副本播放使用,并更新副本/播放状态。

内容格式化层507允许将内容113从内容所有者的设施中的其原始表示的格式转换为与安全数字内容电子分发系统100的服务功能和分发装置一致的格式。转换过程可以包括压缩编码,以及其关联的预处理,如频率均衡和振幅动态调整。对于是音频的内容113,在购买者这一方面,还必须对接收到的内容113进行处理,以获得适合于播放或传输到便携式设备的格式。

B.功能分区和流程

图5显示了权利管理体系结构模型,说明了体系结构层次与构成安全数字内容电子分发系统100和每一个层次中的关键功能的操作组件的映射。

1.内容格式化层次507

与内容格式化层次507关联的一般功能是在内容提供商101处的内容预处理502和压缩511,在最终用户设备109上的内容解密513和解压缩515。上文已经描述了预处理的必要性和特定功能的示例。内容压缩511用于缩小内容113的文件大小以及其传输时间。在安全数字内容电子分发系统100中使用了任何适用于内容113的类型和传输介质的压缩算法。对于音乐,MPEG 1/2/4、DolbyAC-2和AC-3、Sony Adaptive Transform Coding(ATRAC)和低位速率算法是一些常用的压缩算法。内容113以压缩的格式存储在最终用户设备109中,以降低存储大小要求。它是在活动播放期间解压缩的。解密也是在活动的播放期间执行的。稍后在内容使用控制层次505的讨论过程中描述加密的作用和类型。

2.内容使用控制层次505

内容使用控制层次505允许对内容113在最终用户设备109上的使用施加条件或限制。条件可以指定内容113允许的播放次数、是否允许内容113的的辅助副本,辅助副本的份数,以及是否可以将内容113复制到外部便携式设备中。内容提供商101设置允许的使用条件517,然后以SC传输到电子数字内容商店103(请参阅“许可证控制层次501”部分)。电子数字内容商店103可以添加到或缩小使用条件517,只要它不使内容提供商101设置的初始条件失效。然后,电子数字内容商店103将所有存储使用条件519(在SC中)传输到最终用户设备109和票据交换所105。在向最终用户设备109授权内容113发布之前,票据交换所105执行使用条件验证521。

内容使用条件517的实施是由内容使用控制层次505在最终用户设备109上执行的。首先,在最终用户设备109中从内容标识层503接收到内容113副本时,用代表初始复制/播放权限的复制/播放代码523标记内容113。其次,播放器应用程序195在将内容113存储在最终用户设备109之前对内容113进行加密。播放器应用程序195为每一个内容项目生成一个加密密钥,该密钥经过加密,并且隐藏在最终用户设备109中。然后,每次最终用户设备109访问内容113以便进行复制或播放时,最终用户设备109在允许对内容113进行解密并执行播放或复制之前验证复制/播放代码。最终用户设备109还相应地更新内容113的原始副本和任何新的辅助副本中的复制/播放代码。复制/播放编码是在已经压缩的内容113上执行的。即,在嵌入复制/播放代码之前没有必要解压缩内容113。

最终用户设备109使用许可证水印527在内容113内嵌入复制/播放代码。只有知道嵌入算法和关联的加密密钥的最终用户播放器应用程序195才能读取或修改嵌入的数据。数据对人类观察者不可见或听不见;即,数据对内容113没有引入可以感觉到的下降。由于水印要经过内容处理、数据压缩、D到A和A到D转换的多个步骤,由普通的内容处理所带来的信号恶化,水印以任何表示形式(包括模拟表示)与内容113在一起。在另一个实施例中,不是使用许可证水印527在内容113内嵌入复制/播放代码,最终用户播放器应用程序195安全地使用存储的使用条件519。

3.内容标识层503

作为内容标识层503的一部分,内容提供商101还使用许可证水印527在内容113中嵌入数据(如内容标识符、内容所有者及诸如出版日期和地理分布范围之类的其他信息)。此水印这里被称为“版权水印”529。在接收到时,最终用户设备109用内容购买者的名称和事务ID 535(请参阅下面的“许可证控制层501”部分)以及诸如许可证的日期和使用条件517之类的其他信息对内容113的副本进行水印操作。此水印这里被称为“许可证水印”。内容113的任何副本,无论是以授权的方式获取的与否,都接受音频处理(这会保留内容质量),都会携带版权和许可证水印。内容标识层503可以防止盗版。

4.许可证控制层501

许可证控制层501防止内容113被未经授权的拦截,并确保内容只单个地向具有适当地授权的最终用户设备109发布,并向授权的电子数字内容商店103完成许可证购买事务。许可证控制层501通过双重加密531来保护内容113。使用由内容提供商101生成的加密对称密钥来对内容113进行加密,使用票据交换所的公钥621对对称密钥进行加密。只有票据交换所105可以最初恢复对称密钥。

许可证控制是作为“受信任的一方”用票据交换所105设计的。在为许可证请求537发布权限之前,(即,向最终用户设备109的内容113的对称密钥623),票据交换所105验证事务541和许可证授权543是否完整和真实,电子数字内容商店103从安全数字内容电子分发系统100获得授权,以便销售电子内容113,以及最终用户是否具有适当授权的应用程序。审核/报告545允许生成报告,并与安全电子数字内容分发系统100中的其他授权的一方共享授权事务信息。

许可证控制是通过Sc处理533来实现的。SC用于在系统操作组件之间分发加密的内容113和信息(下面几节提供了有关SC的详细信息)。SC是使用加密、数字签名和数字证书防止未经授权的拦截或修改电子信息或内容113的信息的密码携带者。它还允许对电子数据进行可靠性验证。

许可证控制要求,内容提供商101、电子数字内容商店103和票据交换所105从声誉好的证书颁发机构获得真实的加密数字证书,用于对这些组件进行鉴定。最终用户设备109不必具有数字证书。

C.内容分发和授权控制

图6是说明应用于图5的许可证控制层的内容分发和授权控制的概述的方框图。该图描述了电子数字内容商店103、最终用户设备109和票据交换所105通过因特网进行互连的情况,在这些组件之间使用单播传送点到点)传输。内容提供商101和电子数字内容商店103之间的通信也可以通过因特网或其他网络进行。假设最终用户设备109和电子数字内容商店103之间的内容购买事务是基于标准的因特网Web协议来进行的。作为基于Web的交互的一部分,最终用户选择要购买的内容113,提供个人和财务信息,并同意购买的条件。电子数字内容商店103可以使用诸如SET之类的协议从让受人机构获取支付授权。

还假设,在图6中,电子数字内容商店103已经基于标准的Web协议向最终用户设备109下载了最终用户播放器应用程序195。体系结构要求,电子数字内容商店103向下载的播放器应用程序195分配唯一的应用程序ID,最终用户设备109将它存储起来,以便以后进行应用程序许可证验证(见下文)。

总体的授权流程起始于内容提供商101。内容提供商101使用本地生成的加密对称密钥对内容113进行加密,使用票据交换所105的公钥621对对称密钥623进行加密。在另一个实施例中,可以不本地生成对称密钥,而是从票据交换所105发送到内容提供商101。内容提供商101围绕加密的内容113创建内容SC 630,围绕加密的对称密钥623、存储使用条件519,及其他与内容113关联的信息创建元数据Sc 620。对于每一个内容113对象,有一个元数据SC 620和一个内容SC 630。内容113对象可以是同一首歌曲一个压缩级别,或者内容113对象可以是专辑上的每一首歌曲,或者内容113对象可以是整个专辑。对于每一个内容113对象,元数据Sc 620还携带与内容使用控制层505关联的存储使用条件519。

内容提供商101将元数据Sc 620分发到一个或多个电子数字内容商店103(步骤601),将内容SC 630分发到一个或多个内容托管站点(步骤502)。每一个电子数字内容商店103又创建Offer Sc 641。Offer SC 641通常与元数据SC 620携带相同的信息,包括内容提供商101的数字签名624和内容提供商101的证书(未显示)。如上所述,电子数字内容商店103可以添加到或缩小最初由内容提供商101定义的存储使用条件519(由控制使用控制层处理)。可选地,内容SC 630和/或元数据Sc 620用内容提供商101的数字签名624进行签名。

在最终用户设备109和电子数字内容商店103之间的内容购买事务完成之后(步骤603),电子数字内容商店103创建一个事务SC 640并传输给最终用户设备109(步骤604)。事务SC 640包括唯一的事务ID 535、购买者的名称(即,最终用户的)(未显示)、最终用户设备(109)的公钥661,以及与购买的内容113关联的Offer SC 641。图6中的事务数据642代表了事务ID 535和最终用户名称(未显示)。事务数据642是用票据交换所105的公钥621进行加密的。可选地,事务SC 640是用电子数字内容商店103的数字签名643进行签名的。

在接收到事务SC 640(以及包括在其中的Offer SC 641),在最终用户设备109上运行的最终用户播放器应用程序195通过定单Sc 650从票据交换所105请求许可证授权(步骤605)。定单SC650包括加密的对称密钥623和来自Offer Sc 641的存储使用条件519、来自事务SC 640的加密的事务数据642,以及来自最终用户设备109的加密的应用程序ID 551。在另一个实施例中,定单SC650是用最终用户设备最终用户109的数字签名652进行签名的。

在从最终用户设备109接收到定单Sc 650时,票据交换所105验证:

1.电子数字内容商店103具有来自安全数字内容电子分发系统100的授权(存在于票据交换所105的数据库160中);

2.定单SC 650没有被修改;

3.事务数据642和对称密钥623是完整而真实的;

4.由最终用户设备109购买的电子存储使用条件519与内容提供商101设置的使用条件519一致;以及

5.应用程序ID 551具有有效的结构,并且它是由授权的电子数字内容商店103提供的。

如果验证成功,票据交换所105将对称密钥623和事务数据542解密,并生成许可证Sc 660,并传输给最终用户设备109(步骤606)。许可证SC 660携带对称密钥623和事务数据642,两者都是使用最终用户设备109的公钥661进行加密的。如果有任何验证成功的话,票据交换所105拒绝向最终用户设备109提供许可证并通知最终用户设备109。票据交换所105还将此验证失败的情况通知给电子数字内容商店103。在另一个实施例中,票据交换所105用其数字签名663对许可证sc 660进行签名。

在接收许可证SC 660之后,最终用户设备109将以前从票据交换所105接收到的对称密钥623和事务数据642解密,并从内容托管站点111请求内容SC 630(步骤607)。在内容SC 630到达时(步骤608),最终用户设备109使用对称密钥623将内容113解密(步骤609),并将内容113和事务数据642传递到其他层,以便进行许可证水印、复制/播放编码、加密,并进行进一步的内容113的处理,如图5以前描述的。

最后,票据交换所105定期将汇总事务报告传输到内容提供商101和电子数字内容商店103,以便进行审核和跟踪(步骤610)。

V.安全容器结构

A.一般结构

安全容器(SC)是一个由多个部件构成的结构,这些部件一起定义了内容113的一个单元或事务的一部分,还定义了诸如使用规则、元数据和加密方法之类的相关信息。Sc是这样设计的,以便可以验证信息的完整性和可靠性。SC中的一些信息可以加密,以便它只能在获取适当的授权之后被访问。

Sc至少包括一个材料单(BOM)部分,该部分具有有关SC和有关SC中包括的每一个部件的信息的记录。对于每一个部件,使用诸如MD-5之类的散列算法计算消息摘要,然后包括在部分的BOM记录中。部件的摘要被连接在一起,然后从它们计算另一个摘要,然后使用创建Sc的实体的私钥的加密,以创建一个数字签名。接收SC的一方可以使用数字签名以验证所有的摘要,从而可以验证SC以及所有其部件的完整性。

下列信息可以作为BOM中的记录与每一个部件的记录包括在一起。SC类型判断哪些记录必须包括在其中:

SC版本

Sc ID

SC的类型(例如,Offer、定单、事务、内容、元数据或促销和许可证)。

SC的出版者

创建SC的日期

SC的到期日

票据交换所URL

用于包括的部件的摘要算法的描述

(默认值是MD-5)

用于数字签名加密的算法的描述(默认值是RSA)

数字签名(包括的部件的所有连接的摘要的加密摘要)

SC可以包括一个以上BOM。例如,Offer 641由初始元数据Sc 620部件构成,包括其BOM,以及由电子数字内容商店103和新BOM添加的其他信息。元数据SC 620 BOM的记录包括在Offer SC 641 BOM。此记录包括元数据SC 620 BOM的摘要,可用于验证其完整性,因此,元数据Sc 620中包括的部件的完整性还可以使用存储在元数据Sc 620 BOM中的部件摘要值。元数据SC 620中没有一个部件在为Offer SC 641创建的新BOM中具有记录。只有电子数字内容商店103添加的部件和元数据SC 620 BOM在新的BOM中具有记录。

SC还可以包括“密钥描述”部分。“密钥描述”部分包括包含下列有关SC中的加密部分的信息:

加密部分的名称。

当对部件进行解密时用于该部件的名称。

用于对部件进行加密的加密算法。

指出用于对部件进行加密的公钥或当解密时,用于将加密的部件解密的加密对称密钥的密钥标识符。

用于对对称密钥进行加密的加密算法。此字段只在“密钥描述”部分中的记录包括用于对加密的部件进行加密的加密对称密钥时呈现。

用于对对称密钥进行加密的公钥的密钥标识符。此字段只在“密钥描述”部分中的记录包括用于对加密的部件进行加密的加密对称密钥和对称密钥的加密算法标识符时呈现。

如果Sc不包含任何加密的部分,那么,没有“密钥描述”部分。

B.权利管理语言语法和语义

权利管理语言由一系列参数构成,可以给这些参数指定值,以定义在购买内容113之后对最终用户使用内容113的限制。对使用内容113的限制是使用规则517。每一个内容提供商101都为其每一个内容113项目指定使用规则517。电子数字内容商店103解释元数据SC 620中的使用规则517,并使用信息来提供它们希望的选择选项,以提供他们的客户,并添加内容113的零售购买信息。在最终用户选择了准备购买的内容113之后,最终用户设备109基于存储使用规则519请求授权。在票据交换所105向最终用户发送许可证SC 660之前,票据交换所105验证被请求的存储使用规则519是否与元数据SC 620中的内容提供商101指定的允许的使用规则517一致。

当最终用户设备109接收购买的内容113,存储使用规则519使用水印工具编码到该内容113中或编码在安全地存储的使用规则519中。在最终用户设备109上运行的最终用户播放器应用程序195确保,实施被编码到内容113中的存储使用条件519。

下面是内容113是音乐的实施例中的存储使用条件519的示例

歌曲是可记录的。

歌曲可以播放n次。

C.安全容器流和处理的概述

元数据SC 620是由内容提供商101生成的,并用于定义诸如歌曲之类的内容113项目。内容113本身不包括在这些SC中,因为内容113的大小通常太大,电子数字内容商店103和最终用户无法只为了访问描述性的元数据而有效地下载容器。相反,SC包括一个外部URL(统一资源定位器)以指向内容113。SC还包括提供有关内容113的描述性信息的元数据以及任何其他关联的数据,例如,音乐、CD封面技术和/或歌曲内容113的情况下的数字音频剪辑。

电子数字内容商店103下载他们被授权下载的元数据SC620,并生成Offer SC 641。简而言之,Offer Sc 641由元数据SC620中的一些部件和BOM以及电子数字内容商店103所包括的其他信息构成。当生成Offer SC 641时,创建Offer SC 641的新BOM。电子数字内容商店103还使用元数据SC 620,从它们中提取元数据信息,以在他们的网站上生成HTML页面,该页面向最终用户呈现内容113的描述,以便他们可以购买内容113。

Offer SC 641中的由电子数字内容商店103添加的信息通常缩小元数据Sc 620中指定的使用条件517以及诸如商店的徽标的图像文件和指向商店的网站的URL之类的促销数据的选择。元数据SC 620中的Offer SC 641模板指出哪些信息可以被Offer SC 641中的电子数字内容商店103覆盖,以及电子数字内容商店103需要哪些其他信息(如果有的话),以及哪些部件将保留在嵌入的元数据SC 620中。

当最终用户决定从电子数字内容商店103购买内容113时,Offer SC 641包括在事务SC 640中。电子数字内容商店103对于购买的每一个内容113生成事务SC 640,并包括Offer SC 641,并将它传输到最终用户设备109。最终用户设备109接收事务SC640,并验证事务Sc 640和包括的Offer SC 541的完整性。

对于购买的每一个内容113项目,由最终用户设备109生成定单SC 650。包括Offer SC 641、事务SC 640、以及最终用户设备109的配置文件中的信息。一次只向票据交换所105发送一个定单SC 650。在一个记录包括在元数据SC 620的BOM中的定单Sc 650的票据交换所105URL再次包括在Offer SC 641中。

票据交换所105验证和处理定单SC 650,并给最终用户设备109提供许可证水印527和访问购买了内容113所要求的一切。票据交换所105的功能之一是将Offer SC 541中的水印说明和内容SC 630中的内容113进行解密所需要的对称密钥623解密。加密的对称密钥623记录实际上包含了比实际加密对称密钥623更多的内容。在执行加密之前,内容提供商101可以可选地将其名称附加到实际对称密钥623中。将内容提供商101的名称与对称密钥623一起加密可以防止从合法的SC制造其自己的元数据SC 620和内容SC 630的盗版内容提供商101。票据交换所105验证与对称密钥623一起加密的内容提供商101的名称是否匹配SC证书中的内容提供商101的名称。

如果票据交换所105要求对水印说明作出一些更改,那么票据交换所105就将对称密钥623解密,然后修改水印说明,并使用新对称密钥623将它们再次加密。然后,使用最终用户设备109的公钥661将对称密钥623重新加密。票据交换所105还将Sc中的其他对称密钥623解密,并再次用最终用户设备109的公钥661将它们加密。票据交换所105生成一个包括新加密的对称密钥623和更新的水印说明的许可证SC 660,并响应定单SC 650将它发送到最终用户设备109。如果定单SC 650的处理不能成功地完成,那么,票据交换所105向最终用户设备109返回一个HTML页面或等效内容,以报告授权过程的失败。

许可证SC 660给最终用户设备105提供了访问内容113项目所需要的一切。最终用户设备109从内容托管站点111请求适当的内容SC 530。内容Sc 630是由内容提供商101生成的,并包括加密的内容113和元数据部件。最终用户播放器应用程序195使用许可证SC 650中的对称密钥623来将内容113、元数据和水印说明来进行解密。然后,将水印说明附加到内容113中,并将内容113加密,并存储在最终用户设备109中。

D.元数据安全容器620格式

下表显示了包括在元数据SC 620中的部件。“部件”列中的每一个方框都是与BOM一起包括在Sc中的一个单独的对象(带有[]字符的部件名称除外)。BOM包含Sc中包括的每一个部件的记录。“存在部件”列指出部件本身是否实际包括在Sc中,“摘要”列指出是否为部件计算消息摘要。当SC包括在其他Sc时,某些部件可能不传播(由关联的模板确定),虽然会传播整个初始BOM。之所以会这样,是因为票据交换所105要求整个BOM验证原始Sc中的数字签名。

下表的“密钥描述部分”列定义了SC的“密钥描述”部分中包括的记录。“密钥描述”部分中的记录定义了有关用于将SC内的部件或另一个SC内的部件加密的加密密钥和算法的信息。每一个记录都包括加密部件名称,如有必要,还包括指向包括加密部分的另一个Sc的URL。“结果名称”列定义了在部件被解密之后的分配给该部件的名称。“加密算法”列定义了用于对部件进行加密的加密算法。“密钥Id/加密密钥”列定义了用于对部件进行加密的加密密钥的标识或用于对部件进行加密的加密对称密钥623位字符串的base64编码。“对称密钥算法”是一个可选参数,定义了用于当前一列是一个加密对称密钥623时对对称密钥623进行加密的加密算法。“对称密钥ID”列是当“密钥Id/加密密钥”列是加密的对称密钥623时用于对对称密钥623进行加密的加密密钥的标识符。

   部件                       BOM                结果名称      加密算法    密钥说明部分            对称密    对称密钥

                      部件存在    摘要                                    密钥Id/加密密钥          钥算法       ID

下面描述了在上面的元数据SC表中使用的术语:

[内容URL]-“密钥描述”部分中的记录中的一个参数。这是指向与此元数据SC 620关联的内容SC 630中的加密内容113的URL。

元数据SC 620本身不包含加密内容113。

[元数据URL]-“密钥描述”部分中的记录中的一个参数。这是指向与此元数据SC 620关联的内容SC 530中的加密元数据的URL。元数据SC 620本身不包含加密元数据。

内容ID-定义分配给内容113项目的唯一的ID的部分。如果元数据SC 620引用多个内容113项目,则此部分包括有一个以上的内容ID。

元数据-包含诸如艺术家名称和CD封面技术(在歌曲的情况下)之类的与内容113相关的信息的部分。

可能有多个元数据部分,其中有一些可能是加密的。元数据部分的内部结构取决于其中包含的元数据的类型。使用条件-包含描述使用选项、规则和施加于最终用户的使用内容113的限制的信息的部分。

SC模板-定义描述生成Offer、定单和许可证Sc 660的必需的和可选信息的模板的部分。

水印说明-包含在内容113中实现水印的加密说明和参数的部分。水印说明可以由票据交换所105修改,并在许可证Sc 660内返回到最终用户设备109。在“密钥描述”部分有一个记录,该记录定义了用于对水印说明进行加密的加密算法,当对水印说明进行解密时使用的输出部分名称、用于对水印说明进行加密的加密对称密钥623位字符串的base64编码,用于对对称密钥623进行加密的加密算法,以及对对称密钥523进行解密所必需的公钥的标识符。

票据交换所证书-来自证书颁发机构的或来自票据交换所105的包含票据交换所105的签名的公钥621的证书。可能有一个以上的证书,在这样的情况下,使用一个层次结构,从包含公钥的最高级别的证书打开,直到打开下一个最低级别证书的最高级别的证书(包含票据交换所105的公钥621)。

证书-来自证书颁发机构的或来自票据交换所105的包含创建SC的实体的签名的公钥621的证书。可能有一个以上的证书,在这样的情况下,使用一个层次结构,打开包含公钥的最高级别的证书,再打开下一个级别的证书,依此类推,直到达到包含SC创建者的公钥的最低级别的证书。

SC版本-由SC包装器工具分配给SC的版本号。

SC ID-由创建SC的实体分配给Sc的唯一标识符。

SC类型-指出Sc的类型(例如,元数据、Offer、定单等等)

SC出版者-指出创建SC的实体。

创建日期-创建Sc的日期。

到期日期-Sc过期并且不再有效的日期。

票据交换所URL-最终用户播放器应用程序195应该与其进行交互以获取适当的授权以便访问内容113的票据交换所105的地址。

摘要算法ID-用于计算部分的摘要的算法的标识符。

数字签名算法ID-用于加密连接的部分摘要的摘要的算法的标识符。此加密的值是数字签名。

数字签名-用创建SC的实体的公钥加密的连接部分摘要的摘要。

输出部分-当将加密部分解密时分配给输出部分的名称。

RSA和RC4-用于对对称密钥623和数据部分进行加密的默认加密算法。

加密对称密钥-当解密时,用于对SC部分进行解密的加密密钥位字符串的base64编码。

CH公用密钥-指出票据交换所105的公钥621用于对数据进行加密的标识符。

E.Offer安全容器641格式

下表显示了Offer SC 641中包括的部分。除了一些元数据部分的某些部分,以及元数据SC 620中的BOM,也包括在Offer SC641中。            部件              BOM              结果名称        加密算法       密钥说明部分           对称密    对称密钥

                   部件存在    摘要                                    密钥Id/加密密钥            钥算法       ID

                        Offer SC部件

下面描述了以前没有为另一个Sc描述的上面的Offer SC 641中使用的术语:

元数据SC BOM-原始元数据SC 620中的BOM。Offer SC641 BOM中的记录包括元数据SC 620 BOM的摘要。

其他和被覆盖的字段-被电子数字内容商店103覆盖的使用情况信息。此信息由票据交换所105通过接收到的Sc模板进行验证,以确保电子数字内容商店102所覆盖的任何东西都在其授权的范围内。

电子数字内容商店证书-由票据交换所105提供给电子数字内容商店103的并由票据交换所105使用其私钥进行签名的证书。此证书由最终用户播放器应用程序195用来验证电子数字内容商店103是内容113的一个有效的经销商。最终用户播放器应用程序195和票据交换所105可以通过用票据交换所105的公钥621来解密证书的签名,以便验证电子数字内容商店103是一个授权的经销商。最终用户播放器应用程序195保留了在安装期间作为其初始化的一部分接收到的票据交换所105的公钥621的一个本地副本。

F.事务安全容器640格式

下表显示了事务SC 640以及其BOM和“密钥描述”部分中包括的部分。

部件                    BOM                 结果名称         加密算法    密钥说明部分

                部件存在    摘要                                          密钥Id/加密密钥             对称密    对称密钥

                                                                                                      钥算法       ID

下面描述了以前没有为另一个Sc描述的上面的事务SC 640中使用的术语:

事务ID 535-由电子数字内容商店103分配的用于唯一地标识事务的ID。最终用户ID-由电子数字内容商店103在最终用户作出购买选择并提供信用卡信息时获取的最终用户的标识符。

最终用户的公钥-最终用户的由票据交换所105用来对对称密钥623进行重新加密的公钥661。最终用户的公钥661在购买事务期间被传输到电子数字内容商店103。

Offer Sc-购买的内容113项目的Offer SC 641。

内容使用的选择-由最终用户购买的每一个内容113项目的使用条件的阵列。每一个Offer SC 641都有一个条目。

要显示的HTML-在接收到事务SC 640时或在最终用户设备109和票据交换所105之间的交互期间最终用户播放器应用程序195在因特网浏览器窗口显示的一个或多个HTML页面。

当最终用户设备109接收到事务SC 640时,可以执行下列步骤以验证SC的完整性和可靠性:

1.使用票据交换所105的公钥621来验证电子数字内容商店103证书的完整性。票据交换所105的公钥621在它被作为最终用户播放器应用程序195的初始化的一部分在其安装过程中接收到之后存储在最终用户设备109中。

2.使用电子数字内容商店103证书的公钥验证Sc的数字签名643。

3.验证SC部分的散列。

4.验证事务SC 640中包括的每一个Offer Sc 641的完整性和可靠性。

G.定单安全容器650格式

下表显示了定单SC 650以及其BOM和“密钥描述”部分中包括的部分。这些部分向票据交换所105提供了信息,以便进行解密和验证,或者由票据交换所105进行验证。Offer SC 641中的部分和BOM也包括在定单SC 650中。“元数据SC BOM”的“存在部件”列中的某些字符串指出那些部件中的某些部件不包括在定单SC 650中。元数据SC 620中的BOM也不作任何改变地包括在其中,以便票据交换所105可以验证元数据SC 620以及其部件的完整性。

       部件                  BOM                结果名称         加密算法     密钥说明部分      对称密    对称密钥

                     部件存在    摘要                                        密钥Id/加密密钥    钥算法        ID           

                                              元数据SC部件

                        Offer SC部件

                    事务SC部件

                   定单SC部件

下面描述了以前没有为另一个Sc描述的上面的定单SC 650中使用的术语:

事务Sc BOM-原始事务SC 640中的BOM。定单SC 650BOM中的记录包括事务SC 640 BOM的摘要。

加密的信用卡信息-最终用户的可选的加密信息,用于向信用卡或贷记卡收取购买费用。当创建Offer SC 641的电子数字内容商店103不处理客户记帐时需要此信息,在这样的情况下,票据交换所105可能处理记帐。

H.许可证安全容器660格式

下表显示了许可证SC 660以及其BOM中包括的部件。如“密钥描述”部分所示,将水印说明、内容113和内容113元数据解密所需的“对称密钥623”是由票据交换所105使用最终用户的公钥661重新进行加密的。当最终用户设备109接收到许可证SC660时,它将对称密钥623解密,并使用它们从许可证SC 660和内容SC 630访问加密的部分。

         部件                 BOM

                       部件存在    摘要

下面描述了以前没有为另一个Sc描述的上面的许可证SC 660中使用的术语:

EU公用密钥-指出最终用户的公钥661用于对数据进行加密的标识符。

定单SC 650 ID-从定单SC 650 BOM中获取的SC ID。

证书吊销列表-以前由票据交换所105颁发并签名的,但不再被视为有效的证书ID的可选列表。包括在吊销列表中的具有可以由证书验证的签名的任何Sc都是无效的SC。最终用户播放器应用程序195将票据交换所105的证书吊销列表的一个副本存储在最终用户设备109上。每当接收到吊销列表时,如果有更新的吊销列表,则最终用户播放器应用程序195就用更新的替换其本地副本。

吊销列表包括版本号或时间戳(或两者)以便确定哪一个列表是最新的。

I.内容安全容器格式

下表显示了包括在内容SC 630以及BOM中的部件:

         部件                   BOM

                        部件存在    摘要

下面描述了以前没有为另一个Sc描述的上面的内容SC 630中使用的术语:

加密内容-内容提供商101使用对称密钥623加密的内容113。

加密元数据-与元数据提供商101使用对称密钥623加密的元数据113的元数据。

没有“密钥描述”部分包括在内容SC 630中,因为对加密的部件进行解密的密钥位于在票据交换所105生成的许可证SC 660中。

VI.安全容器包装和打开

A.概述

SC包装器是一个带有API(应用程序编程接口)的32位Windows程序,可以在多个或单步进程中调用,以用所有的指定部分创建SC。SC包装器151、152、153可以在内容提供商101、票据交换所105、电子数字内容商店103及其他需要SC包装的站点上的各种支持Windows程序的硬件平台上使用。如有必要,创建并在SC中包括BOM,以及“密钥描述”部分。包装器API集允许调用者指定在BOM中生成记录和“密钥描述”部分并在SC中包括这些部分所需要的信息。部件和对称密钥623的加密以及计算摘要和数字签名也是由包装器执行的。包装器支持的加密和摘要算法包括在包装器代码或通过外部接口调用它们。

生成SC的包装器的接口是由接受下列参数作为输入的API来执行的:

指向连接的结构的缓冲器的指针。缓冲器中的每一个结构是带有执行命令所需要的信息的包装器的命令。包装器命令包括向Sc添加一个带有关联的BOM记录的部件,向BOM中添加记录,并向“密钥描述”部分添加记录。

指出在上面描述的缓冲器中包含的连接的结构的数量的值。

BOM部分的名称和位置。

每一个位都是定义的标志或预留的以备将来之用的标志的值。下列标志是当前定义的:

-有关在缓冲器中的所有结构都被处理之后SC的所有部件是否应该捆到中单个文件中的指示。将各个部件捆到单个对象中是在生成Sc时执行的最后一个步骤。

-有关数字签名是否从BOM部件中省略掉的指示。如果没有设置此标志,那么,在将SC捆到单个对象之前计算数字签名。

在另一个实施例中,生成SC的包装器的接口是由接受下列参数作为输入的API来执行的:

首先,调用API以创建材料单(BOM)部件,是这样进行的:传递一个指向一个的指针,该结构由用于初始化SC设置(这些设置被表示为SC BOM部件中的IP记录)的信息、用于BOM部件的名称、查找将被添加的部件的默认位置、以及标志值构成。此API返回在随后的包装器API中使用的Sc句柄。

包装器具有一个每当向SC中添加部件时使用的API。此API接受以前由以前的包装器API返回的SC句柄,指向由有关被添加的部件的信息构成的结构的指针,以及一个标志值。有关被添加的部件的信息包括部件的名称和位置、在部件的BOM中使用的名称,被添加的部件的类型,部件的哈希值,标志等等。

在所有部件都已经被添加到Sc之后,包装器API被调用以将所有的部件,包括BOM部件,包装到单个Sc对象(通常是一个文件)中。此API接受以前由以前的包装器API返回的SC句柄,用于包装的SC的名称,指向带有用于对Sc进行签名的信息的结构的指针,以及一个标志值。

包装器或调用包装器的实体可以使用SC模板来生成Sc。SC模板具有定义正在生成的SC中所要求的部件和记录的信息。模板还可以定义用于加密对称密钥623和加密的部件的加密方法和密钥引用。

包装器具有用于打开SC的API。打开SC是获取Sc并将它分隔为其单个部件的过程。然后,可以调用包装器以解密从SC中打开的任何加密部件。

B.材料单(BOM)部分

BOM部分是当正在生成SC时由包装器创建的。BOM是包含有关SC和有关Sc中包括的部件的信息的记录的文本文件。BOM中的每一个记录都位于一个单独的行中,新行表示新记录开始。BOM通常包括每一个部件的摘要,以及可用于验证Sc的可靠性和完整性的数字签名。

BOM内的记录类型如下:

IP IP记录包含属于SC的“Name=Value”对的集。下列名称是为SC的特定的属性预留的:

V major.minor.fix

V属性指定SC的版本。这是SC在其下创建的SC规范的版本号。随后的字符串应该是major.minor.fix格式,其中,major、minor和fix分别是主要版本号、次要版本号和固定级别。

ID值

ID属性是由创建此SC的实体分配给此特定的Sc的唯一值。该值的格式由此文档的稍后的版本定义。

T值

T属性指定SC的类型,这应该是下列类型之一:

ORD-定单Sc 650。

OFF-Offer SC 641。

LIC-许可证SC。

ERA-事务SC 640。

MET-元数据SC 620。

CON-内容SC 530。

A值

A属性标识Sc的作者或出版者。作者/出版者身份应该是明确的和/或向票据交换所105注册。

D值

D属性标识创建Sc的日期,可选地,还包括时间。值应该是如下格式:yyyy/mm/dd[@hh:mm[:ss]sec]]I[(TZ)]]代表year/month/day@hour:minute:second.decitnal-fraction-of-second

(time-zone)值的可选部分括在[]字符中。

E值

E属性标识Sc过期的日期,可选地,还包括时间。值应该与以前定义的D属性中使用的格式相同。只要有可能,应该将到期日期/时间与票据交换所105的日期/时间进行比较。

CCURL值

CCURL属性标识票据交换所105的URL。

值应该是有效的外部URL的形式。

H值

H属性标识用于计算SC中包括的部件的消息摘要的算法。一个摘要算法示例是MD5。

A D记录是包含标识部件的类型、部件的名称、部件的摘要(可选),以及部件不包括在Sc中的指示(可选)的信息的数据或部件条目记录。类型标识符紧后面的A符号用于指出不包括在SC中的部件。下面是预留的数据或部件记录的类型:

K part_name[digest]

指定“密钥描述”部分。

w part_name[digest]

指定水印说明部分。

C part_name[digest]

指定用于验证数字签名的证书。

T part_name[digest]

指定使用条件”部分。

YF part_name[digest]

指定Offer SC 641的模板部分。

YO part_name[digest]

指定定单SC 650的模板部分。

YL part_name[digest]

指定许可证SC 660的模板部分。

ID part_name[digest]

指定引用的内容113的项目的内容113的ID。

CH part_name[digest]

指定票据交换所105证书部分。

SP part_name[digest]

指定电子数字内容商店103证书部分。

B part_name[digest]

指定其部分或其部分的子集包括在此SC中的另一个SC的BOM部分

EP part_name sc_part_name[digest]

指定作为此SC中的单个部件包括的另一个Sc的BOM部分。sc_part_name参数是包括在此Sc中的并且此BOM部件定义的SC部件的名称。与这一个相同的BOM还包括在由sc_part_name参数定义的SC中。

D part_name[digest]

指定数据(或元数据)部分。

S记录是用于定义SC的数字签名的签名记录。数字签名是按如下方式指定的:

S key_identifier signature_string signature_algorithm

S记录包含key_identifier以指出签名的加密密钥,签名字符串(这是数字签名位字符串的base64编码),以及用于对摘要进行加密以创建数字签名的签名算法。

C.密钥描述部分

“密钥描述”部分是由包装器创建的,以提供有关SC加密部分的解密所需要的加密密钥的信息。加密的部分可以包括在生成的Sc中,也可以包括在生成的SC引用的其他Sc中。“密钥描述”部分是包含有关加密密钥的信息的记录以及为其使用了加密密钥的部分的文本文件。“密钥描述”部分中的每一个记录都位于一行中,新行表示新记录的开始。

下列记录类型在“密钥描述”部分内使用,并按如下方式进行定义:

K encrypted-part name;result-part-name;

part-encryption-algorithm_identifier;public-key identifier

key-encryption-algorithm and encrypted-symmetric-key.

K记录指定可以包括在此SC或者可以包括在被此记录引用的另一个SC中的加密部分。encrypted_part_name是此Sc中的部件的名称或者指向另一个SC中的加密部分的名称的URL。results_part_name是被给予解密的部件的名称。part_encryption_algorithm_identifier指出必须对部件进行加密的加密算法。public_key_identifier是用于对对称密钥623进行加密的密钥的标识符。

key_encryption_algorithm_identifier指出用于对对称密钥623进行加密的加密算法。加密的对称密钥是用于对部件进行加密的对称密钥623位字符串的base64编码。

VII.票据交换所105

A.概述

票据交换所105负责安全数字内容电子分发系统100的权利管理功能。票据交换所105功能包括启用电子数字内容商店103,对内容113的权利、购买事务和相关信息的完整性和可靠性验证的验证,向最终用户设备109分发内容加密密钥或对称密钥623,跟踪那些密钥的分发,向电子数字内容商店103和内容提供商101报告事务摘要。内容加密密钥被最终用户设备109用来解除锁定他们获取了权利的内容113(通常通过从授权的电子数字内容商店103的购买事务)。在将内容加密密钥发送到最终用户设备109之前,票据交换所105经过验证过程,以销售验证内容113的实体的可靠性以及最终用户设备109对内容113拥有的权限。这叫做SC分析工具185。在某些配置中,票据交换所105还可以通过共同定位票据交换所105中的执行信用卡授权和记帐的电子数字内容商店103功能的系统来处理内容113购买的财务结算。票据交换所105使用诸如Icverify和Taxware之类的OEM包来处理信用卡处理和本地销售税。

电子数字内容商店实施例

希望作为内容113的销售商参与安全数字内容电子分发系统100的电子数字内容商店103向一个或多个给安全数字内容电子分发系统100提供内容113的数字内容提供商101发出请求。对于发出请求,没有明确的进程,只要双方达成协议。在诸如音乐标签(例如,Sony、Time-Warner等等)之类的数字内容标签决定允许电子数字内容商店103销售其内容113之后,与票据交换所105进行联系,通常通过电子邮件,请求将电子数字内容商店103添加到安全数字内容电子分发系统100。数字内容标签提供了电子数字内容商店103的名称,以及票据交换所105为电子数字内容商店103创建数字证书所需的任何其他信息。证书被以安全的方式发送到数字内容标签,然后被数字内容标签转发到电子数字内容商店103。票据交换所105维护了它分配的数字证书的数据库。每一个证书都包括版本号、唯一的序列号、签名算法、颁发者的名称(例如,票据交换所105的名称),证书被认为是有效的日期范围,电子数字内容商店103的名称、电子数字内容商店103的公钥,以及使用票据交换所105的私钥签名的所有其他信息的散列码。具有票据交换所105的公钥621的实体可以验证证书,然后确信带有可以使用证书的公钥进行验证的签名的Sc是有效的SC。

在电子数字内容商店103从数字内容标签接收到其由票据交换所105创建的数字证书以及处理SC必需的工具之后,它可以开始提供可以由最终用户购买的内容113。电子数字内容商店103包括其证书,以及事务SC 640并使用其数字签名643对SC进行签名。最终用户设备109通过首先检查数字证书吊销列表,然后使用票据交换所105的公钥621来验证电子数字内容商店103的数字证书中的信息,验证电子数字内容商店103是安全数字内容电子分发系统100上的内容113的有效的经销商。票据交换所105维护了一个数字证书吊销列表。撤回列表可以作为一个部件包括在票据交换所105创建的许可证SC 660中。最终用户设备109在最终用户设备109上保留了撤回列表的一个副本,因此,它们可以使用它作为电子数字内容商店103数字证书验证的一部分。每当最终用户设备109接收到许可证SC 660时,它判断是否包括了新撤回列表,如果包括的话,最终用户设备109上的本地撤回列表被更新。

B.权利管理处理过程

定单SC分析

在最终用户从电子数字内容商店103接收到到事务SC 640(包括Offer SC 641)之后,票据交换所105从最终用户那里接收定单SC 650。定单SC 650由包含有关内容113以及其用途的信息、有关销售内容113的电子数字内容商店103的信息、以及有关购买内容113的最终用户的信息构成。在票据交换所205开始处理定单SC 650中的信息之前,它首先执行某些处理,以确保SC它是有效的,并且它包含的数据没有被以任何方式损坏。

验证

票据交换所105通过验证数字签名来开始验证定单SC 650,然后,票据交换所105验证定单SC 650部件的完整性。要验证数字签名,首先票据交换所105使用签名实体(如果签名了的话)的公钥661将签名本身的内容631进行解密。签名实体可以是内容提供商101、电子数字内容商店103、最终用户设备109或它们的任何组合。然后,票据交换所105计算SC的连接部件摘要的摘要,并将它与解密的内容113的数字签名相比较。如果两个值匹配,则数字签名是有效的。要验证每一个部件的完整性,票据交换所105计算部件的摘要,并将它与BOM中的摘要值进行比较。票据交换所105遵循相同的过程来验证数字签名,和定单SC 650内包括的元数据和Offer SC 641部件的部件完整性。

事务和Offer SC 641数字签名的验证过程还间接地验证电子数字内容商店103被安全的数字内容电子分发系统100授权。这基于这样的事实:票据交换所105是证书的颁发者。或者,票据交换所105将能成功地使用电子数字内容商店103的公钥验证事务Sc 640和Offer SC 641的数字签名,但只有在对SC进行签名的实体具有关联的私钥的所有权的情况下。只有电子数字内容商店103具有私钥的所有权。注意,票据交换所105不必具有电子数字内容商店103的本地数据库。由于商店使用票据交换所公钥来对事务SC 640Offer Sc 641公用密钥进行签名。

然后,票据交换所105验证最终用户购买的内容113的存储使用条件519,以确保它们在元数据SC 620中设置的限制内。注意,元数据SC 620包括在定单SC 650内。

密钥处理

加密对称密钥623和水印说明的处理是由票据交换所105在定单SC 650的可靠性和完整性检查、验证电子数字内容商店103、以及验证存储使用条件519成功地完成之后进行的。定单Sc 650的元数据SC 620部份通常具有多个位于“密钥描述”部分(该部分是使用票据交换所105的公钥621加密的)。对称密钥623的加密是内容提供商101在创建元数据SC 620时进行的。

一个对称密钥623用于对水印说明进行解密,其他的密钥用于对内容113和任何加密的元数据进行解密。由于内容113可以代表CD上的单个歌曲或整个歌曲集,则对于每一个歌曲可以使用不同的对称密钥623。水印说明包括在定单Sc 650内的元数据SC 620部份。内容113和加密的元数据位于内容托管站点111上的内容SC630中。内容SC 630内的加密内容113和元数据部分的URL和部件名称,包括在定单SC 650的元数据SC 620部份的“密钥描述”部分。票据交换所105使用其私钥来对对称密钥623进行解密,然后使用最终用户设备109的公钥661来对它们中的每一个进行加密。最终用户设备109的公钥661是从定单SC 650中检索的。新的加密对称密钥623包括在票据交换所105返回到最终用户设备109的“许可证SC 660”的“密钥描述”部分。

在处理对称密钥623期间,票据交换所105可能需要对水印说明进行修改。如果是这种情况,那么,在票据交换所105对对称密钥623进行解密之后,将对水印说明进行修改和重新加密。新水印说明作为返回到最终用户设备109的许可证SC 660内的一部分包括在其中。

如果定单SC 650的所有处理都成功,那么,票据交换所105向最终用户设备109返回许可证SC 660。最终用户设备109使用许可证SC 660信息来下载内容SC 630,并访问加密内容113和元数据。水印说明还由最终用户设备109执行。

如果票据交换所105不能成功地处理定单SC 650,那么,将给最终用户设备109返回HTML页面,并显示在因特网浏览器窗口。HTML页面指出票据交换所105不能处理事务的原因。

在另一个实施例中,如果在为销售设置的发布日期之前用户购买了内容113的一个副本,则将许可证SC 660返回,而没有对称密钥623。在接收对称密钥623的发布日期或该日期之后,许可证SC 660返回到票据交换所105。作为示例,内容提供商101允许用户在歌曲的发布日期之前下载新歌曲,以使客户下载歌曲,并在内容提供商101设置的日期之前准备播放歌曲。这就允许内容113在发布日期立即打开,而不必担心发布日期的带宽和下载时间。

C.国家特定的参数

可选地,票据交换所105使用最终用户设备109的域名,只要有可能,还可以使用信用卡帐单地址来判断最终用户的国家位置。如果最终用户所在的国家对内容113的销售有任何限制,那么,在将许可证SC 660传输到最终用户设备109之前票据交换所105确保处理的事务不违犯任何限制。还预期电子数字内容商店103通过执行与票据交换所105相同的检查来参与向各个国家分发内容113的管理。票据交换所105执行它能够执行的任何检查,以防止电子数字内容商店103忽略内容提供商101设置的国家特定的规则。

D.审核日志和跟踪

票据交换所105为在内容113购买事务和报告请求事务期间执行的每一个操作维护了信息的审核日志150。信息可以用于各种用途,如审核安全数字内容电子分发系统100,报告的生成,以及数据挖掘。

票据交换所105还为电子数字内容商店103在记帐子系统182中维护了帐户平衡。通过数字内容标签向票据交换所105提供了电子数字内容商店103的价格结构。此信息可以包括诸如当前的特殊商品、数量折扣,以及需要施加于电子数字内容商店103的帐户亏损限制之类的东西。票据交换所105使用价格信息来跟踪电子数字内容商店103的平衡,并确保它们不会超过内容提供商101设置的亏损限制。

下列操作通常由票据交换所105进行记录:

最终用户设备109请求许可证SC 660

当票据交换所105处理记帐时,信用卡授权号码

向最终用户设备109分散许可证SC 660

请求报告

来自最终用户的通知,内容SC 630和许可证SC 660被接收和验证

对于许可证SC 660,通常由票据交换所105记录下列信息:

请求的日期和时间

购买事务的日期和时间

购买的物品的内容ID

内容提供商101的标识符

存储使用条件519

●水印指令修改

●被电子数字内容商店103添加的事务ID 535

电子数字内容商店103的标识符

最终用户设备109的标识符

最终用户信用卡信息(如果票据交换所105处理记帐)

对于最终用户的信用卡验证,通常由票据交换所105记录下列信息:

●请求的日期和时间

●向信用卡收取的费用总额

购买的物品的内容ID

●被电子数字内容商店103添加的事务ID 535

●电子数字内容商店103的标识符

●最终用户的标识符

●最终用户信用卡信息

●从信用卡的交换所接收到的授权号码

当许可证Sc 660被发送到最终用户设备109时通常由票据交换所105记录下列信息:

请求的日期和时间

●购买的物品的内容ID

●内容提供商101的标识符

使用条件517

被电子数字内容商店103添加的事务ID 535

●电子数字内容商店103的标识符

●最终用户的标识符

当作出报告请求时通常记录下列信息:

请求的日期和时间

发出报告的日期和时间

请求的报告的类型

●用于生成报告的参数

●请求报告的实体的标识符

E.结果的报告

报告是由票据交换所105使用票据交换所105在最终用户购买事务期间记录的信息生成的。内容提供商101和电子数字内容商店103可以通过支付验证界面183从票据交换所105请求事务报告,以便它们可以利用由票据交换所105记录的信息与它们自已的事务数据库进行对帐。票据交换所105还可以向内容提供商101和电子数字内容商店103提供定期报告。

票据交换所105定义了一个安全的电子接口,该接口可使内容提供商101和电子数字内容商店103请求和接收报告。报告请求Sc包括由票据交换所105向启动请求的实体分配的证书。票据交换所105使用证书和SC的数字签名来验证发自授权的实体的请求。请求还包括定义报告的范围的诸如持续时间之类的参数。票据交换所105验证请求参数,以确保请求者只接收他们被允许具有的信息。

如果票据交换所105判断报告请求Sc是真实并有效的,那么票据交换所105生成一个报告,并将它包装到报告Sc中,以便发送到启动了请求的实体。某些报告可以在定义的时间间隔内自动生成,并存储在票据交换所105,以便它们在接收到请求时立即发送。报告中包括的数据的格式以此文档的后面的版本进行定义。

F.记帐和支付验证

内容113的记帐可以由票据交换所105或电子数字内容商店103处理。在票据交换所105处理电子内容113的记帐的情况下,电子数字内容商店103将最终用户的定单分为电子产品以及(如果适用的话)和实物。然后,电子数字内容商店103将事务通知给票据交换所105,包括最终用户的记帐信息,以及需要授权的总数。票据交换所105授权最终用户的信用卡,并将通知返回到电子数字内容商店103。同时,票据交换所105授权最终用户的信用卡,电子数字内容商店103可以为购买的任何实物向最终用户的信用卡收费。在每一个电子商品被最终用户设备109下载之后,通知票据交换所105,以便向最终用户的信用卡收费。这是在内容113可以在最终用户设备109上使用之前作为最终用户设备109中的最后一个步骤来实现的。

在电子数字内容商店103处理电子内容113的记帐的情况下,有关事务的信息将不通知给票据交换所105,直到最终用户设备109将定单SC 650发送到票据交换所105。在每一个电子物品都下载之后还由最终用户设备109通知票据交换所105。当票据交换所105接到通知时,它向电子数字内容商店103发送一个通知,以便电子数字内容商店103可以向最终用户的信用卡收费。

G.重新传输

安全数字内容电子分发系统100提供了重新传输内容113的能力。这通常由客户服务界面184来执行。电子数字内容商店103提供一个用户界面,最终用户可以一步一步地启动重新传输。最终用户访问电子数字内容商店103站点(在此购买了内容113),为了请求内容113的重新传输。

当最终用户由于内容113不能下载或者下载的内容113无法使用而请求以前购买的内容113的新副本时,则执行内容113的重新传输。电子数字内容商店103判断最终用户是否有资格执行内容113的重新传输。如果最终用户有资格重新传输,那么,电子数字内容商店103生成事务SC 640,包括被重新传输的内容113的Offer SC 641。事务SC 640被发送到最终用户设备109,并由最终用户执行与购买事务相同的步骤。如果最终用户设备109具有将要重新传输的内容113的密钥库中加密密钥,那么SC 640包括指示最终用户设备109删除加密密钥的信息。

在票据交换所105处理购买的内容113的财务结算的情况下,电子数字内容商店103在事务SC 640中包括一个标志,该标志将在定单SC 650中转到票据交换所105。票据交换所105解释定单SC 650中的标志,并对事务进行处理,不会由于购买内容113而向最终用户收取费用。

VIII内容提供商

A.概述

安全数字内容电子分发系统100中的内容提供商101是拥有对内容113的权利的数字内容标签或实体。内容提供商101的作用是准备内容13以便进行分发,并使有关内容113的信息可用于电子数字内容商店103或内容313的可下载的电子版本的零售商。为向内容提供商101提供最大的安全性和权利控制,提供了一系列工具,以使内容提供商101准备并将它们的内容113打包到SC,以使内容113在离开内容提供商101的域时是安全的,并决不会暴露或被未经授权的一方访问。这就可使内容113自由地在整个非安全的网络(因特网)中分发,而不必担心暴露给黑客或未经授权的一方。

内容提供商101的工具的最终目标是准备并将内容113(如歌曲或歌曲系列)打包到内容SC 630中并将描述歌曲的信息、批准歌曲的使用(内容使用件517),以及歌曲的促销信息打包到元数据SC 620中。为实现此,提供了下列工具集:

●工作流程管理器154-调度处理活动并管理所要求的进程的同步。

●内容处理工具155-控制内容113的工具集合,包括水印、预处理(以音频为例,任何要求的均衡、动力学调整或重新采样)编码和压缩。

●元数据吸收和输入工具161-用于从内容提供商的数据库160和/或第三方数据库或数据导入文件和/或通过操作员交互收集内容113描述信息并提供指定内容使用条件517。还提供了用于捕获或提取诸如CD或DDP文件的数字音频内容之类的内容的接口。利用质量控制工具,可以预览准备的内容和元数据。可以对元数据进行所需要的任何校正或重新提交内容,以便进行进一步的处理。

●SC包装器工具152-加密并打包所有内容113和信息,并调用Sc Packer以打包到SC中

●内容分散工具(未显示)-将SC分散到指定的分发中心,如内容托管站点111和电子数字内容商店103。

●内容促销网站156-存储元数据SC 620,并可选地存储更多的促销材料,以供授权的电子数字内容商店103下载。

B.工作流程管理器154

此工具的用途是调度、跟踪和管理内容113处理活动。此应用程序可实现多用户访问并可以从内部网或内容提供商101的Extranet调度内容113并进行状态检查。此设计还允许进行合作的处理,其中,多个个人可以并行地对内容113的多个片段进行处理,并可以不同的个人分配特定的职责,这些个人可以分布在世界各地。

现在请看图8,该图是一个对应于图7的工作流程流程管理器154的主要进程的方框图。图8中的主要进程概述了本节描述的工具所提供的内容113处理功能。工作流程管理器154负责将作业馈送到这些进程,并在其当前进程完成时将作业指向下一个所要求的进程。这是通过一系列应用程序编程接口(API)来实现的,每一个处理工具都调用这些接口,以便:

●检索下一个作业以便进行处理

●指出进程的成功完成

●指出进程的不成功的完成以及失败的理由

●提供进程的临时状态(以使只要求依赖的进程的部分完成的进程开始)

向产品中添加注释,这些注释对指定的进程可用

工作流程管理器154还具有一个用户界面,在图7中说明了一个示例工作流程管理器用户界面700,该界面提供了下列功能:

●配置面板,以允许指定默认值和待指定的条件,并在处理的各个阶段执行

●工作流程规则的自定义,以及自动化处理流程作业调度

状态查询和报告

添加与一个或多个进程关联的作业的注释或说明

●作业管理(即,暂停、发布、删除、更改优先级(处理的顺序))

每一个进程都具有一个与它关联的由工作流程管理器154进行管理的队列。所有从工作流程管理器154请求作业的进程都会导致工作流程管理器154将进程(工具)挂在等待状态(如果当前在其关联的队列中没有作业)或者给进程返回有关执行其相应的进程所需要的所有信息。如果进程被悬挂在等待状态,则当作业被工作流程管理器154放置在其队列中时恢复处理。

工作流程管理器154还基于所定义的规则集管理处理的流程或顺序。这些规则可以由内容提供商101进行自定义(如果它具有特殊的处理要求或配置特定的默认规则)。当一个进程报告其分配的工作完成时,它将此状态通知工作流程管理器154,工作流程管理器154基于定义的规则决定下一步将作业放到哪一个队列中。

指出特殊处理说明或注意的注释还可以在任何处理步骤通过编程API或手动经过工作流程管理器用户界面700或处理器接口附加到产品中。

在优选实施例中,工作流程管理器154中的进程是以Java实现的,但也可以使用诸如C/C++、汇编语言和等效的其他编程语言。应该理解,工作流程管理器154的如下所述的进程可以在各种硬件和软件平台上运行。工作流程管理器154作为一个完整的系统,或作为其构成进程可以作为计算机可读的介质中应用程序分发,包括但不仅限于诸如Web或在软盘、CD-ROM和可移动的硬盘驱动器之类的电子分发。

现在请看图8,该图是一个对应于图7的工作流程管理器154的主要进程的方框图。下面几节概述了每一个进程,并描述了每一个进程所要求的信息或操作。

1.产品等候操作/信息处理过程801

一旦进程所需要的所有信息都可用并且作业已经成功地完成所有相关的处理过程,则将作业放置在特定的处理队列中。在工作流程管理器154中存在于一个特殊的队列,用于保留由于遗漏信息或者阻碍进一步处理的故障而无法在当前可用于处理的作业。这些作业被放置在产品等候操作/信息处理过程801队列。此队列中的每一个作业都具有关联的状态,以指出它等待的操作或信息,在此作业上工作的最后一个进程,一旦提供了丢失的或其他信息或者所需的操作成功地完成,则将此作业排队到下一个进程中。

任何进程的完成都会导致工作流程管理器154检查此队列,并判断此队列中的任何作业是否等候此进程(操作)的完成或此进程提供的信息。如果是这样的话,则将该作业排队到适当的进程队列中。

2.新内容请求过程802

内容提供商101确定它希望销售的那些产品(例如,产品可能是歌曲或歌曲集合)并以电子方式提供。工作流程管理器154的初始功能是使操作员识别这些产品,并将它们放在新内容请求过程802的队列中。内容提供商101可以通过配置选项指定在产品选择界面上提示提供什么信息。输入足够的信息以唯一地标识产品。可选地,还可以包括更多的字段,以请求人工输入与元数据获取平行地启动音频处理过程所要求的信息。如果不手动提供,则此信息可以可选地从默认配置设置中检索或从内容提供商的数据库160中检索,在自动元数据获取过程803的元数据处理过程中的第一阶段获取。内容提供商的数据库160中的内容113的组成和容量确定了内容选择过程。

如果指定了对内容提供商101的数据库160执行查询所需要的信息,则由自动元数据获取过程803处理作业。在音乐实施例中,要适当地调度产品以便进行音频处理,则指定产品的类型和所希望的压缩级别,以及音频PCM或WAV文件名。可以输入此信息作为产品选择过程或通过自定义的查询界面或Web浏览器功能进行选择。指定此信息可使产品被预定以便进行内容处理。

产品选择用户界面提供了一个选项,可使操作员指定是否可以发布产品以便进行处理或者是否将它挂起,以便等待进一步的信息输入。如果挂起,则将作业添加到新内容请求过程802的队列中,等候进一步操作,以完成数据输入和/或发布产品,以供处理。一旦发布产品,则工作流程管理器154评估指定的信息,并判断将作业传递到哪些进程。

如果提供了适当的信息以便对内容提供商101的数据库160执行自动化查询,则将作业排队,以便执行自动元数据获取过程803。如果没有为自动元数据获取过程803配置数据库映射表,则作业排队,以便执行手动元数据输入过程804(有关“数据库映射表”的详细信息,请参阅“自动元数据获取过程803”部分)。

如果指定了音频处理过程所必需的一般信息和执行水印操作所需的特定的信息,则作业排队,以便执行水印过程808(内容处理过程的第一阶段)。如果当发布作业时缺少任何所需的信息的话,则将作业排队到产品等候操作/信息处理过程801的队列中,并带有缺少信息的状态。

如果状态指出了内容113的文件名,例如,在内容113是音频,并且PCM或WAV文件缺少的情况下,这可能指出要求捕获(或从数字介质中进行数字提取)。音频处理功能要求歌曲文件可以通过标准文件系统接口进行访问。如果歌曲位于外部介质或者音频处理工具不能直接访问的文件系统中,则文件被首先复制到可访问的文件系统中。如果歌曲是数字格式,但在CD或数字磁带上,则将它们提取到音频处理工具可以访问的文件系统中。一旦文档可访问,则使用工作流程管理器用户界面700指定或选择作业的路径和文件名,以便可以将它发布到水印过程中,假设进行水印操作所需的所有其他信息都已经指定。

3.自动元数据获取过程803

自动元数据获取过程803对内容提供商101的数据库160或者导入了数据的临时数据库执行一系列查询,以求以自动化的方式获取尽可能多的产品信息。自动元数据获取过程803在允许项目放置其排队中之前要求下列信息:

●带有适当的信息以生成对内容提供商101的数据库160的数据库映射表

●执行查询所要求的产品信息

●唯一地定义产品的适当的产品信息

对内容提供商101的数据库160执行自动化的查询以获取处理此内容113所需的信息。例如,如果内容113是音乐,则执行此查询所需要的信息可以是专辑名称也可以是如内容提供商101所定义的UPC或特定的专辑或选择ID。在要获取的信息中,某些被指定为必需(有关详细信息,请参阅有关“自动元数据获取过程803”的部分)。如果获取了所有所需的信息,则将作业排队,准备执行使用条件过程805。如果缺少任何所需的信息,则将歌曲排队,以便进行手动元数据输入过程804。如果在产品操作/信息处理过程801队列中有任何作业在等待此步骤中获取的任何信息的话,则更新作业状态以指出它不再等待此信息。如果该作业不再具有任何未完成的要求,则将它排队到下一个定义的队列中。

4.手动元数据输入过程804

手动元数据输入过程804为操作员提供了输入遗漏信息的手段。它没有相关性。一旦指定了所有所需的信息,则将作业排队,准备执行使用条件过程805。

使用条件过程505

使用条件过程805允许指定产品使用和限制。使用条件过程805可能要求某些元数据。在使用条件指定完成时,作业就有资格排队,以便进入元数据SC创建过程807,除非已经请求了监控的发布过程806,或者被配置为工作流程管理器154规则中的默认值。在这种情况下,将作业排队,以便进入监控的发布过程806。在排队到元数据Sc创建过程807之前,工作流程管理器154将首先保证,已经满足该过程的所有相关性(参见下文)。如果不,则将作业排队到产品等候操作/信息处理过程801。

6.监控的发布过程806

监控的发布过程806允许进行质量检查,并对为数字内容产品指定的信息进行验证。它没有任何相关性。以前在此产品的处理过程中的任何阶段附加到作业的注释可以被监督者进行检查,并采取适当的操作。在检查所有信息和注释之后,监督者具有下列选项:

批准发布和将产品排队,以便进入元数据Sc创建过程801

修改和/或添加信息,并将产品排队,以便进入元数据SC创建过程807

将注释附加到作业,并重新排队,以便进入手动元数据输入过程804

添加注释,将作业排到排队中,以便进入产品等候操作/信息处理过程801

7.元数据SC创建过程807

元数据SC创建过程807将上面收集的所有信息以及元数据Sc 620所需的其他信息收集到一起,并调用Sc包装器过程以创建元数据SC 620。此工具要求下列内容作为输入:

要求的元数据

使用条件

在此产品的所有质量级别的加密阶段使用的加密密钥

此最后一个相关性要求,在可以创建元数据SC 620之前关联的音频对象完成音频处理阶段。在完成元数据SC创建过程807时,基于定义的工作流程规则,将作业排队到最后的质量保证过程813或内容分散过程814的队列中。

8.水印过程808

水印过程808将版权及其他信息添加到内容113。对于其中内容113是歌曲的实施例,此工具要求下列内容作为输入:

●歌曲文件名(如果是专辑,多个文件名)

●水印说明

水印参数(将包括在水印中的信息)

在水印过程808完成时,如果所需输入都可用,将作业排队,以便进入预处理和压缩过程809,或者以别的方式排队到产品等候操作/信息处理过程801中。

9.预处理和压缩过程809

预处理和压缩过程809将内容113编码到指定的压缩级别,首先执行执行任何所要求的预处理。将作业排队到此队列中实际上创建了多个队列条目。为所希望的产品的每一个压缩级别创建了作业。可以在多个系统上平行地执行编码过程。此工具要求下列内容作为输入:

●水印内容文件名(如果内容113是一个专辑,则多个文件名)

●产品的质量级别(可以预先配置)

●压缩算法(可以预先配置)

●产品类型((如果预处理器需要的话)

在完成编码过程时,将作业排队到内容质量控制过程810(如果工作流程规则这样配置的话)。如果没有,则将作业排队到加密过程811中。

如果编码工具的第三方提供商没有提供显示已经处理的内容113(如音频)的百分比的方法,或者指出已经编码的内容113的量作为所选择的内容112的整个选择的百分比,在图11中,显示了一种方法的流程图1100,以确定图8的内容预处理和压缩工具的数字内容的编码率。该方法以选择所希望的编码算法和位速率开始,步骤1101。接下来,进行查询,以判断此算法和编码率如果具有以前计算的速率因素,步骤1102。速率因素是用于判断特定的编码算法和压缩率和特定的位速率的因素。如果没有存储以前计算的速率因素,则在预先确定的时间量内对内容113的样本进行编码。在优选实施例中,预先确定的时间段是几秒。预先确定的时间段的此编码速率用于计算新速率因素Rnew。在已知时间量和编码的内容113量的情况下,计算新速率因素Rnew的方法是Rnew=(编码的数字内容的长度)/(时间量),步骤1108。内容113被编码,编码状态使用以前计算的速率因素Rnew来进行显示,步骤1109。然后存储此编码速率因素Rnew,步骤1107,供此编码算法和编码位速率将来使用。如果所选择的算法具有以前计算的速率因素Rstored,步骤1103。内容113被编码,使用以前计算的速率因素Rstored来进行显示进度,步骤1104。同时,对于此选择的算法和位速率,计算当前因素Rcurrent,步骤1105。此当前速率因素Rcurrent用于更新存储的速率因素Rnew=Average OF(Rstored+Rcurrent),步骤1106。速率因素的迭代更新可使编码速率的判断对于特定编码算法和位速率每一次随后的使用变得越来越准确。然后存储新速率,以供将来使用,步骤1107。如果当前速率因素Rcurrent超出以前存储的速率因素Rstored一个给定范围或阈值,则不进行Rstored的更新。

然后,可以呈现编码状态的显示。编码状态包括当前编码速率、基于编码速率和内容113的文件的总长度作为进度条显示总的内容113的百分比的显示。编码状态还可以包括编码的剩余的时间。通过将计算的编码速率Rcurrent除以内容113的文件的总长度来计算编码的剩余的时间。编码状态可以被转移到可以调用调用过程的另一个程序。这可以帮助监督程序编码或相互依赖的程序在编码时操作并更有效地成批进行处理。应该理解,在另一个实施例中,编码可以包括水印步骤。

10.内容质量控制过程810

内容质量控制过程810在功能方面类似于监控的发布过程806。它是一个可选步骤,可以使人验证至今为止执行的内容处理的质量。这与水印过程808和预处理和压缩过程809的编码部分的完成没有相关性。在内容质量控制过程810完成时,有下列选项可用:

●可以发布作业,并排队,以便执行加密过程811。

●可以附加注释,将一个或多个作业重新排队,以便进行预处理和压缩过程809。

最后一个选项要求歌曲文件的未编码的带水印版本在内容质量控制过程810完成之前保持可用。

11.加密过程811

加密过程811调用适当的安全数字内容电子分发权利管理功能以对每一个带水印的/编码的歌曲文件进行加密。此过程与所有其他音频过程的完成与否没有相关性。在加密过程811完成时,将作业进行排队以便参加内容Sc创建过程812。

12.内容SC创建过程812

内容SC创建过程812可能要求某些元数据文件包括在内容SC 630中。如果要求内容113之外的文件,则收集文件,并调用SC包装器过程,以便为内容113(例如,歌曲)的每一个压缩级别创建内容SC 630。在完成内容SC创建过程812时,基于定义的工作流程规则,将歌曲排队到最后的质量保证过程813或内容分散过程814队列中。

13.最后的质量保证过程813

最后的质量保证过程813是一个可选的步骤,它可以在关联的元数据和内容Sc 630之间进行交叉引用检查,以验证它们是否正确地匹配,并且包含在其中的所有信息和内容113都是正确的。在完成最后的质量保证过程813时,将作业排队,以便执行内容分散过程814。如果发现问题,则在大多数情况下必须将作业重新排队到失败阶段。在此阶段重新排队更加昂贵,因为除了校正问题所要求的重新处理之外,产品必须经过重新加密和重新包装。建议,使用以前的保证阶段来保证内容113的质量以及信息的准确性和完整性,

14.内容分散过程814

内容分散过程814负责将SC转移到适当的托管站点。在成功地转移SC之后,记录作业完成状态,并将作业从队列中删除。如果在转移SC时发生问题,在定义的重试次数之后,在工作流管理器工具154中将作业标志为失败并遇到错误。

15.工作流程规则

图8的工作流程规则按如下方式在三个主要系统中操作:

A:工作流程管理器工具154

1.新内容请求过程802

2.产品等候操作/信息处理过程801

3.最后的质量保证过程813

4.内容分散(和通知)过程814

B:元数据吸收和输入工具

1.自动元数据获取过程803

2.手动元数据输入过程804

3.监控的发布过程806

4.元数据SC创建过程807

C:内容处理工具155

1.水印过程808(要求版权数据)

2.预处理和压缩过程809

3.内容质量控制过程810

4.加密过程811

5.内容SC创建过程812

工作流程

内容113选择操作员输入新产品,它开始排队到A1(新内容请求过程802)。

A1:当内容113选择操作员将它发布到工作流程管理器工具154,然后它被排队到B1(自动元数据获取过程803)

A2:来自步骤B1(自动元数据获取过程803),或步骤B2(手动元数据输入过程804),或步骤B3(监控发布过程806)

在到步骤Before的途中(元数据SC创建过程807)

[需要加密密钥]。

来自步骤Before(元数据SC创建过程807)

在其到步骤A3(最后的质量保证过程813)或步骤A4(内容分散过程814)的途中

[需要内容SC 630]

来自步骤C1(水印过程808)

在其到步骤C2(预处理和压缩过程809)的途中

需要元数据来进行预处理和压缩过程809]

来自步骤C4(加密过程811)

在到步骤C5的途中(内容SC创建过程812)

[需要元数据以便进行内容SC 630打包]

来自步骤C5(内容SC创建过程812)

在其到步骤A3(最后的质量保证过程813)或步骤A4(内容分散过程814)的途中

[需要元数据SC 620]

A3:在步骤A3(最后的质量保证过程813)之后,放到队列B2(手动元数据输入过程804),或者放到队列B3(监控的发布过程806),或者根据质量保证操作员的需要放到队列中。

A4:在步骤A4(内容分散过程814)之后,为此产品准备工作流程管理器工具154。

B1:在步骤B1(自动元数据获取过程803)之后,如果步骤C1(水印过程808)所需要的元数据存在,则将代表此产品的输入放到队列C1上。

[也执行下列逻辑)

如果1-任何所要求的元数据丢失,或者2-有指向手动元数据提供商的注释,那么也将产品放到队列B2上(手动元数据输入过程804)

否则,如果为此产品请求了监控的发布,那么将该产品放到队列B3上(监控的发布过程806)。

否则,如果产品具有来自所有请求的质量级别的内容处理工具155的所有信息,则将该产品放到队列Before(元数据Sc创建过程807)

否则,将产品标志为需要加密密钥,并将产品放到队列A2上(产品等候操作/信息处理过程801)

B2:在步骤B2(手动元数据输入过程804)

如果没有执行步骤C1(水印过程808),并且存在步骤C1所需要的元数据,则将代表此产品的输入放到队列C1上。

也执行下列逻辑)

如果只是提供了步骤C2(预处理和压缩过程808)所需要的元数据,那么

也执行下列逻辑)

如果由元数据吸收和输入工具161收集的所有元数据都存在,那么

如果为此产品请求了监控的发布,那么将该产品放到队列B3上(监控的发布过程806)

否则

如果来自内容处理工具155的步骤C4(加密过程811)的所有信息都存在,那么,将此产品放队列Before(元数据SC创建过程807)

否则,将产品标志为需要加密密钥,并将此产品放到队列A2上(产品等候操作/信息处理过程801)

如果元数据提供商请求了强制的监控的发布,那么将该产品放到队列B3上(监控的发布过程806)

否则,不执行任何操作(将产品保留在队列B2(手动元数据输入过程804))。

B3:在步骤B3过程中(监控的发布过程806),

如果此操作员将产品发回到步骤B2(手动元数据输入过程804),那么,将产品放到队列B2。

否则,如果此操作员发布产品,那么

如果来自内容处理工具155的步骤C4(加密过程811)的所有信息都存在,那么,将此产品放队列Before(元数据SC创建过程)

否则,将产品标志为需要加密密钥,并将此产品放到队列A2上(产品等候操作/信息处理过程801)

否则,产品保留在队列B3上(监控的发布过程806)

Before:在步骤Before(元数据Sc创建过程807)之后,将产品元数据标志为包装,如果所有(产品/质量级别)字节组都已经包装,那么,如果内容提供商101配置给SC指定质量保证,那么,将此产品放到队列A3上(最后的质量保证过程813)

否则,将此产品放到队列A4上(内容分散过程814)

否则,将产品标志为需要内容113SC,并将此产品放到队列A2上(产品等候操作/信息处理过程801)

C1:在步骤C1(水印过程808)之后,

如果步骤C2(预处理和压缩过程809)需要的元数据存在,那么为每一个(产品/质量级别)字节组创建一个条目,并将它们放到队列C2,

否则,将产品标志为需要元数据,以便进行预处理/压缩,并将此产品放到队列A2(产品等候操作/信息处理过程801)

C2:在步骤C2(预处理和压缩过程809)之后,如果内容提供商101的配置指定了内容质量控制过程810,那么将此(产品/质量级别)字节组放到队列C3上(内容质量控制过程810),

否则将此(产品/质量级别)字节组放到队列C4上(加密过程811)

C3:在步骤C3(内容质量控制过程810)之后,那么,将此(产品/质量级别)字节组放到队列C4上(加密过程811)

C4:在步骤C4(加密过程811)之后,

向元数据吸收和条目工具161提供所需要的信息(即,过程所生成的并用于对内容113进行加密的对称密钥623)

如果内容Sc 630所需的所有元数据都存在,那么将此(产品/质量级别)字节组放到C5上(内容Sc创建过程812),

否则,将产品标志为需要元数据,以便进行内容SC 630包装,并将此(产品/质量级别)字节组放到A2上(产品等候操作/信息处理过程801)

C5:在步骤C5之后(内容SC创建过程812),

将质量级别标志为此质量级别的内容113已经包装

如果已经包装了所有(产品/质量级别)字节组,那么如果产品被标志为元数据已经包装,那么

如果内容提供商101配置给SC指定质量保证,那么,将此产品放到队列A3上(最后的质量保证过程813)

否则,将此产品放到队列A4上(内容分散过程814)

否则,将产品标志为需要元数据SC 620,并将此产品放到队列A2上(产品等候操作/信息处理过程801)。

否则(所有(产品/质量级别)字节组没有被包装)不执行任何操作(另一个(产品/质量级别)字节组触发操作)。

C.元数据吸收和输入工具

元数据由描述内容113的数据构成,例如,在音乐中,记录的标题、艺术家、作者/作曲家、制作人和记录长度。下面的描述基于内容113。本领域普通技术人员应该认识到,其他内容类型,例如,视频、节目、多媒体、电影和等效物质,都在本发明的真正的范围和含义内。

此子系统将内容提供商101提供给电子数字内容商店103的数据集合在一起,以便进行产品的促销(例如,对于音乐,此艺术家的样本剪辑、此艺术家的历史、以及此记录出现的专辑的列表、与此艺术家关联的类型),内容提供商101与购买的产品一起给最终用户提供的数据(例如,艺术家、制作人、专辑封面、磁道长度),以及内容提供商101希望提供给最终用户的不同的购买选项(使用条件517)。数据被打包到元数据SC 620并对电子数字内容商店103可用。为实现此,提供了下列工具:

自动元数据获取工具

手动元数据输入工具

使用条件工具

监控的发布工具

这些工具可使内容提供商101实现工作流程管理器154的上文描述的过程。这里所描述的工具在优选实施例中是一个基于Java的工具箱,但也可以使用诸如C/C++、汇编语言和等效的其他编程语言。

1.自动元数据获取工具

自动元数据获取工具给用户提供了实现上文描述的自动元数据获取过程803的能力。自动元数据获取工具用于在没有操作员帮助的情况下访问内容提供商101的数据库160,并检索尽可能多的数据。有配置方法可用于使此过程自动化。内容提供商101可以定制默认元数据模板以识别此内容提供商101希望提供给最终用户(例如,作曲家、制作人、伴奏者、磁道长度)的数据的类型,内容提供商101提供到电子数字内容商店103的促销数据的类型(例如,以音乐为例,此艺术家的样本剪辑、此艺术家的历史、以及此记录出现的专辑的列表、与此艺术家关联的类型)。默认元数据模板包括最终用户设备109所需要的数据字段,可以被可选地提供给最终用户设备109的数据字段,以及数据字段的样本集,针对电子数字内容商店103,推销艺术家、专辑和/或单个。

要从内容提供商101的数据库160提取模板数据字段,自动元数据获取工具使用一个表,该表将数据的类型(例如,作曲家、制作人、艺术家的简历)映射到可以查找数据的数据库内的位置。每一个内容提供商101都帮助指定他们的环境的映射表。

自动元数据获取工具使用内容提供商101的元数据模板和映射表,以获取内容提供商101的数据库160中的任何数据。每一个产品的状态都用自动元数据获取过程803的结果更新。丢失任何所需数据的产品都排在手动元数据输入过程804的队列中,否则,它就可以包装到元数据SC 620中。

2.手动元数据输入工具

手动元数据输入工具给用户提供了实现上文描述的手动元数据输入过程804的能力。手动元数据输入工具允许任何适当地获得授权的操作员提供缺失的数据。如果操作员判断缺失的数据不可用,则操作员可以将注释附加到产品并请求监控的发布。内容提供商101可能出于质量保证的目的,要求产品接受监控的发布。一旦所有所需数据都存在,并且如果没有请求监控的发布,那么,产品就可以包装到元数据SC 620中。

3.使用条件工具

使用条件工具给用户提供了实现上文描述的使用条件过程805的能力。提供内容113待售或出租(限制的用途)的过程,使用电子提供,涉及一系列业务决策。内容提供商101决定在哪一个压缩级别内容113可用。那么,对于内容113的每一个压缩的编码版本,指定了一个或多个使用条件。每一个使用条件都定义了最终用户的权利,以及在内容113的用途方面对最终用户的任何限制。

作为内容处理工具155的一部分,使用条件集(最终用户权利和限制)被附加到产品中。

使用条件定义:

1.此使用条件向其应用的内容113的压缩编码版本。

2.此使用条件覆盖的用户的类型(例如,业务、家庭消费者)

3.此使用条件是否允许购买或出租内容113。

对于出租事务:

用于限制出租的条件的度量单位(例如,天、播放)。

上述单元的数量,在此数量之后,内容113将不再播放。

对于购买事务:

最终用户被允许制作的可播放的副本的数量。

他/她能够向什么类型的介质上制作副本(例如,可写光盘存储器(CD-R)、MiniDisc、个人计算机)

4.时间段,在该时间段内,允许购买/出租事务发生(即,只有在开始可用的日期之后和在可用的最后日期之前,最终用户可以在此使用条件的条款下购买/出租)

5.最终用户可以进行此购买(或出租)的国家

6.在此使用条件之下购买/出租事务的价格

7.水印参数

8.要求票据交换所105的通知的事件的类型。

使用条件集的示例

内容提供商101可以决定测试北美市场的接受以在1997年的第四季度由流行儿童声乐家重新发布儿童的歌曲。测试将使歌曲可用于两个不同的压缩编码版本:384Kbps和56Kbps。可以购买384Kbps版本(以及可以向MiniDisc中制作一个副本)或租用(两个星期),而只能购买56kbps版本(不进行复制)。对于任何购买/出租,水印说明都一样,内容提供商101希望票据交换所105统计进行的每一个副本。此将按如下方式创建使用条件:

  使用条件1  使用条件2 使用条件3  压缩编码的版本  384Kbps  384Kbps 56Kbps  用户的类型  私人用户  私人用户 私人用户  事务的类型  购买  出租 购买  可用性日期  1997年10月  1日到1997  年12月31  日  1997年10月  1日到1997  年12月31  日 1997年10月1日到1997 年12月31日  国家  美国和加拿大  美国和加拿大 美国和加拿大  水印  标准  标准 标准  通知事件  复制操作  无 无  到什么介质  MiniDisk  不适用 不适用  出租条款  不适用  14天 不适用  价格  价格1  价格2 价格3

4.元数据SC 620的部件

下面是元数据吸收和条目工具161收集的用于包括到元数据SC 620中的一些类型的数据。进行了一个尝试,以根据功能和目标将数据分组到SC部件。

product ID                     [src:content provider;]

                               (dest:everybody;]  licensor label company        [dest:EMS;end-user;]  licensee label company        [dest:EMS;end-user;]  source(publisher)of this object

(sublicensee label company)(dest:everybody;]

type of object(thatis,,a single object

an array of objects]

                             object ID(dent:everybody;]

International Standard Recording Code(ISRC)

International Standard Music Number(ISMN)

usage conditions(src:content provider;dest:EMS,end-user,

Clearinghouse(s)105)

purchased usage conditions(src:EMS;dest:end-user,Clearinghouse(s)

105)

the set of usage conditions(consumer restrictions and rights)forthe use of the object(sound recording)

an indiVidual entry in the array of usage conditions

the compression encoded version of the Content 113 to whichthis

usage condition applies

whether this usage condition allows for the purchase or the

rental of the Content 113

for a rental transaction:

the measurement unit which is used to limit the term of therental(for example,days,plays).

the number of the above units after which the Content 113

will no longer play.

for a purehase transaction:

the number of playable copies the End-User is allowed

to make.

onto what kinds of media can(s)he make those copies(forexample,CD-Recordable(CD-R),MiniDisc,personal

computer)

the period of time during which the purchase/rental transactionis allowed to occur(i.e.,an End-User can purchase/rent under theterms of this usage condition only after the beginning availability dateand before the last date of availability)

a pointer to the countries from which an End-User(s)can

transactthis purchase(or rental)

the price of the purchase/rental transaction under this usagecondition

a pointer to the encrypted watermarking instructions and

parameters

a pointer to the types of events which require notification of

the Clearinghouse(s)105

purchase data(encrypted;optional info;arc:EMS;dest:end-user,Clearinghouse(s)105)

purchase date

purchase price

bill to name and address

consumer name and address

country of the consumer(best guess)

metadata 1(src:content provider;dest:EMS,end-user)

an array of{

copyright information

for the composition

for the sound recording

title of song

principal artist

}

a pointer to{

the artwork(e.g.,album cover)

the format of the artwork(e.g.,GIF,JPEG);

optional info:

an array of additionalinformation{

composer

publisher

producer

sidemen

date of recording

date of release

lyrics

track name-(description)/track length

list of albums on which this recording appears

genre

}

metadata 2(src:content provider;dest:EMS)

an array of structures,each representing different quality levelsof the same sound recording{

the sound recording;

the quality level of the sound recording;

the size(in bytes)of the(probably compressed)sound recording;

}

metadata 3(src:content provider;dest:EMS,end-user)

optional info:

promotional material:

a pointer to artist promotion material{

a URL to the artist′s web site;

background description(s)of the artist(s);

artist-related interviews(along with format of the interview

(e.g.,text,audio,video));

reviews(along with format of the reviews(e.g.,text,audio,video));

sample clips(and its format and compression level);recent andupcoming concerts/appearances/events-their dates and locations;

}

a pointer to album promotion material{

sample clip(and its format and compression level);

background description(s)of the producer,and/or the composer,

and/or the movie/play/cast,and/or the making of the album,etc.;

non-artist-related interviews(along with format of the

interview(e.g.,text,audio,video));

reviews(along with format of the reviews(e.g.,text,audio,

video))

genre;

single promotions:

sample clip(and its format and compression level)

background description(s)of the producer,and/or the composer,

and/or the movie/play/cast,and/or the making of the single,etc.

reviews(along with format of the reviews(e.g.,text,audio,video))

5.监控的发布工具

监控的发布工具给用户提供了实现上文描述的监控发布过程806的能力。被内容提供商101指定为具有监控的发布权限的个人可以调用等候监控发布的产品(即,在监控发布过程806的队列上的产品),检查其内容113以及其伴随的注释,并且可以

批准其内容113和发布用于包装到元数据SC 620中的产品,或者

进行任何必需的校正,并发布用于包装到元数据SC 620的产品或者

添加注释,说明要进行的校正操作,并将产品重新提交到手动元数据输入过程704

在另一个实施例中,在创建Sc之后,有另一个可选的质量保证步骤,在该步骤中,可以打开SC的内容113,并检查完整性和准确性,此时,可以给予或拒绝最后批准产品发行进入零售渠道。

D.内容处理工具

内容处理工具155实际上是用于处理数字内容文件以创建内容的带有水印的、编码的和加密副本的软件工具的集合。这些工具利用工业标准数字内容处理工具,以允许随着水印、编码和加密技术的发展进行可插入的替换。如果所选择的工业工具可以通过命令行系统调用接口和传递的参数加载或者提供其函数可以通过DLL接口进行调用的工具箱,则内容处理可以在某种程度上实现自动化。对每一个工具的前端应用程序查询内容处理工具155中的适当的队列,以查找下一个可用的作业,检索所要求的文件和参数,然后加载工业标准内容处理工具以执行所要求的功能。在完成任务时,如果工具不报告结束状态,则可能要求对队列进行手动更新。

下面将描述内容处理工具155的一般版本,但可以进行自定义。内容处理工具155可以以Java、C/C++或任何等效的软件来编写。内容处理工具155可以由包括磁盘、CD或通过网站的任何计算机可读的装置来提供。

1.水印工具

水印工具给用户提供了实现如上所述的水印过程809的能力。此工具使用音频水印技术将内容113所有者的版权信息应用到歌曲文件中。要写入的实际信息由内容提供商101确定,并选择特定的水印技术。此信息可用于前端水印工具,以便可以适当地将此信息适当地传递到水印功能。这就对元数据吸收和条目工具161施加同步要求,以保证它在允许歌曲的音频文件被处理之前已经获取此信息。此歌曲不会可用于进行音频处理,直到已经获取水印信息。

水印是作为音频处理的第一步骤应用的,因为它为所创建的歌曲的所有编码所共有。只要水印可以经受得住编码技术的考验,每个歌曲只需要进行一次水印处理。

已知有各种水印技术,并已经投入商业应用。但是,前端水印工具能够支持各种工业水印工具。

2.预处理和压缩工具

预处理和压缩工具为用户提供了实现如上所述的预处理和压缩过程809的能力。音频编码涉及两个过程。编码基本上是有损压缩算法对PCM音频流(以音乐内容为例)的应用。通常可以调整编码器以基于所要求的音频质量的级别生成各个播放位流速率。较高的质量将导致较大的文件大小,因为对于高质量内容113文件大小可以变成相当大,高质量的内容113的下载时间可能变得比较长,有时在标准的28,800bps的调制解调器上难以达到。

因此,内容提供商101可以选择提供各种数字内容质量供下载,以满足不希望等待很长时间来进行下载的不耐烦的和低带宽客户的要求,以及只购买高质量内容113或具有较高速度连接的音频爱好者或高带宽客户的要求。

压缩算法在它们的生成内容113的较低的位速度再现的技术方面不同。技术在算法(即,MPEG、AC3、ATRAC)和压缩的级别方面不同。要取得较高级别的压缩,通常数据在被提供给压缩算法之前以较低的采样率进行重新采样。为用较小的保真度的损失更有效地进行压缩,或者防止某些频率范围的激烈的丢失,数字内容有时可能要求对某些频率的均衡级别进行调整或者对记录的动力学进行调整。内容预处理要求直接与压缩算法和所要求的压缩的级别相关。在某些情况下,内容113的样式(例如,音乐类型)可以成功地被用作确定预处理要求的基础,因为来自相同类型的歌曲通常具有类似的动力学。利用某些压缩工具,这些预处理功能是编码过程的一部分。利用其它工具,在压缩之前执行所希望的预处理。

除了待售的可下载的音频文件之外,每一个歌曲还具有一个低比特率(TAR)编码的剪辑,以允许歌曲通过LBR流式协议进行采样。此LBR编码还是内容处理工具155的职责。此剪辑可以由内容提供商101作为单独的PCM文件或者作为偏移和长度的参数来提供。

如同水印一样,希望编码工具可以通过DLL或命令行系统调用接口加载,并传递所有要求的参数,以便进行预处理和压缩。前端编码工具可能具有同步要求,带有元数据吸收和条目工具161,例如,如果内容是音乐,如果判断歌曲的类型是在执行任何音频预处理之前从内容提供商的数据库160获取的。这取决于所选择的编码工具以及歌曲的类型是如何不确定。如果内容提供商101变更每个歌曲的编码的质量级别的选择,则此信息还可以在编码步骤之前提供,并与元数据吸收和条目工具161生成的元数据一致。

目前已知有各种高质量编码算法和工具。但是,前端编码工具能够支持各种工业编码工具。

现在请看图12,该图显示了根据本发明的图8的自动元数据获取工具的一个实施例的流程图。该过程最开始是从内容提供商101正在检查的介质读取标识符。一个音频CD中的内容的例子。在音频CD实施例中,下列代码是可用的通用价格代码(UPC)、国际标准记录代码(ISRC)、国际标准音乐编号(ISMN)。此标识符以内容的适当的播放器读取,例如音频CD的音频CD播放器、DVD电影的DVD播放器、DAT记录的DAT记录器以及等效的播放器,步骤1201。接下来,此标识符用于索引内容提供商101的数据库160,步骤1202。如图8所描述的工作流程管理器过程所需要的某些或所有信息在数据库160以及任何其他相关的源中进行检索,步骤1203。此信息可以包括内容113和与其相关的元数据。在步骤1204中,检索到的其他信息用于启动工作流程管理器154,以便创建电子内容113。应该理解,介质的多种选择,如多个音频CD、可以进行排队,以便可使自动元数据获取工具为电子分发创建一系列内容113。例如,可以从一系列CD甚至从由内容提供商101检查的一个或多个CD中的选择的磁道创建所有内容113。

在另一个实施例中,预处理参数可以自动从内容提供商的数据库160中检索。现在请看图13,该图是自动设置根据本发明的图8的预处理和压缩工具的预处理和压缩参数的方法的流程图。在此实施例中,内容113是音乐。在步骤1301中,选择音乐(内容113)以在内容处理工具155中进行编码。确定所选择的音乐的类型,步骤1302。这可以手动输入或通过使用可用的其他元数据,如从图12中描述的过程检索到的其他数据。然后检查音频压缩级别和音频压缩算法,步骤1303。然后,按类型、压缩设置和什么压缩参数的压缩算法查找什么压缩参数应该用于预处理和压缩过程809,1304。

3.内容质量控制工具

内容质量控制工具为用户提供了实现如上所述的内容质量控制过程810的能力。这是一个可选的内容处理工具,并为质量控制技术人员提供了检查编码和带水印的内容文件并根据质量判断批准或拒绝内容文件的机会。他可以重新对内容进行编码,并进行手动的预处理调整,直到质量合适,或者可以将歌曲标志为重新处理并附加描述问题的记录。

此步骤可以由内容提供商101作为内容处理工作流的可选或所要求的步骤配置。在将此内容的所有Sc打包之后,提供另外一个可选的最后的质量保证进程813(例如,CD上的歌曲的每一个SC),此时,可以测试内容编码的质量,但在加密和打包之前的早期发现问题可以进行更有效的内容处理。因此,应该在此步骤确保内容质量,而不是等到所有处理都最终完成之后。

4.加密工具

加密工具给用户提供了实现如上所述的加密过程811的能力。内容加密是内容处理工具155的最后一个步骤。被编码工具创建的内容的每一个版本现在都是加密的。加密工具是SC包装器的功能。Sc包装器被调用以对歌曲进行加密,并返回使用的生成的加密密钥。以后此密钥被传递到SC包装器,以便在创建元数据Sc 620时使用。

E.内容SC创建工具

一旦收集了所有元数据,则内容SC创建工具根据元数据的计划的用途将它们分为各种用途。这些元数据组被写入到文件,这些文件将被作为元数据SC 620的元数据部分传递到SC包装器工具。每一个部分(文件)都具有唯一的处理要求。一旦关联的歌曲被处理和加密,并确定了目标目的地(内容托管站点111的URL),则内容113的内容SC 630已经准备好,可以进行创建。已经完成处理过程并满足上文描述的所有要求的内容113进行排队,以装到工作流程管理器154的包装器队列中。

现在,内容SC创建工具检索元数据吸收和条目工具161的前面的步骤创建的所有所需的文件,并调用SC包装器功能以创建元数据SC 620和内容SC 630。此过程为每一个歌曲创建了单个元数据Sc 620和多个内容SC 630。例如,如果内容是音乐,则在完整的歌曲的各个质量级别的音频处理过程中创建的每一个音频文件,被装入单独的内容SC 630。为样本剪辑创建的音频文件被作为要包括在元数据SC 620中的元数据文件传递。

F.最后的质量保证工具

最后的质量保证工具给用户提供了实现如上所述的最后的质量保证进程813的能力。一旦为内容文件生成了所有SC,则内容可用于最后的质量保证检查。可以在内容113准备过程的各个阶段执行质量保证。内容提供商101可以选择在每一个主要步骤完成时执行质量保证,以防止以后进行过度的修改,也可以选择等到所有音频准备过程完成之后并立即对一切执行质量保证。如果选择后者,在创建SC完成时执行质量保证。此工具允许每一个Sc打开、检查歌曲,并播放音频。

发现的任何问题,甚至较小的文本变化都由于SC的内部安全功能要求重新生成SC。为避免不需要的重新处理时间,建议利用临时的质量保证步骤,以保证元数据的准确性,此特定的质量保证步骤是预留的,以便用于在与此歌曲关联的SC之间验证适当的交叉引用。如果发现问题,则质量保证人可以输入附加到歌曲的问题说明,并将其放到适当的处理队列中以便进行重新处理。相应地在工作流程管理器154中更新状态,以指出歌曲的所有相关组件的状态。如果没有发现问题,则将内容113标记为已准备好待发布。

5.内容分散工具

内容分散工具给用户提供了实现如上所述的内容分散进程814的能力。一旦内容113已经被批准发布,内容113的SC位于内容分散进程的队列中。分散工具监控队列,并根据内容提供商101提供的配置设置执行Sc文件的立即转移或一组SC文件的分批转移。内容提供商101还可以可选地配置内容分散工具以自动将所有SC放在此队列中,直到它们被手动标志为发布。这就允许内容提供商101在他们预定的发布日期前面准备内容,并将它们保持到希望发布它们(例如,新歌曲、电影或游戏)。SC还可以根据定义的发布日期控制对内容113的访问,这样,对内容提供商101实际推迟SC的提供没有要求,但这个手动发布选项仍可以用于此目的或者用于管理转移这些大文件所要求的网络带宽。

当被标志为发布时,内容113的内容SC 630通过FTP被转移到指定的内容托管站点111。元数据SC 620通过FTP被转移到内容促销网站156。这里SC被暂时转移到新内容113目录,直到它们可以被处理和集成到内容促销网站156。

图17是一个自动为根据本发明的图8的自动元数据获取工具检索其他信息的另一个实施例的流程图。该过程类似于上面的图8中描述的过程。然而,监控的发布606和内容质量控制909的质量检查被合并到一个叫做“质量控制1104”的质量检查。在元数据SC创建807和内容SC创建812之前执行质量检查。在SC创建之前执行质量检查,消除了打开内容113和关联的元数据SC 620的步骤。此外,在此实施例中,产品等候操作/信息处理过程801队列被消除。取决于正在被请求的什么操作,作业放置在特定的处理队列中。例如,如果作业要求手动元数据,即,输入更多的元数据,则作业被放在手动元数据条目行列中。此外,自动元数据获取803与新内容请求合并,以在元数据吸收和条目工具161和内容处理工具155之前预先发生。最后,值得指出的是,使用条件804在自动元数据获取803和在手动元数据输入803期间输入。因此,许多使用条件可以在自动元数据获取803步骤期间填充。

H.内容促销网站

为最有效地分散有关内容提供商101在通过数字下载提供什么内容的信息,为将所需要的文件提供给电子数字内容商店103,以使它将此内容113供其客户下载,每一个内容提供商101应该有一个保管此信息的安全网站。这类似于目前某些内容提供商101用来向它们的零售商以及需要此信息的其他人提供促销内容的方法。在这种类型的服务已经存在的情况下,可以将更多的部分添加到网站,电子数字内容商店103可以访问网站,以查看通过下载可用于销售的内容的列表。

内容提供商101对此站点的设计和布局具有完全控制,或者可以选择使用作为安全数字内容电子分发系统100的工具箱的一部分提供的“交钥匙”Web服务器解决方案。要为此服务实现它们自己的设计,内容提供商101只需要为访问他们的站点的电子数字内容商店103提供到元数据SC 620的链接。这是使用安全数字内容电子分发系统100的工具箱实现的。选择过程和显示什么信息由内容提供商101自己决定。

通过FTP从内容分散工具接收到新内容目录中的元数据SC620由内容促销网站156处理。这些容器可以用SC预览工具打开,以显示或从容器中提取信息。然后,可以使用此信息更新HTML Web页面和/或向此服务维护的可搜索的数据库添加信息。SC预览工具实际上是电子数字内容商店103用来打开和处理元数据SC 620的内容获取工具的子集。有关详细信息,请参阅“内容获取工具”部分。然后,应该将元数据SC 620文件移到由内容促销网站156维护的永久的目录。

一旦元数据SC 620已经集成到内容促销网站156,就可以公布其可用性。当每一个新元数据SC 620被添加到站点,内容提供商101可以向所有订阅电子数字内容商店103发送一个通知,或者可以对所有添加的元数据SC 620每天(或任何定义的周期)在当天(或时间段)发出一个通知。此通知波美比重计通过与电子数字内容商店103Web服务器进行标准的HTTP交换来执行的,具体方法是发送一个包含引用添加的元数据SC 620的定义的CGI字符串。此消息由电子数字内容商店103(以后描述)的通知接口模块来处理。

I.内容托管

娱乐业每年生产成千上万的内容标题,如CDS、电影和游戏,添加到当前可用的数以万计内容标题中。设计了一个安全数字内容电子分发系统100以支持目前商店可用的所有内容标题。

安全数字内容电子分发系统100每天最终可以给下载到客户的内容标题的数量达到数千或数万。对于大量的标题,这要求大量的带宽。计算机磁盘空间和带宽需要带有多个内容托管站点111的分布式、可缩放的实现方式。系统还支持全世界的客户。这要求海外的站点以加快提供给全球的客户。

设计了在安全数字内容电子分发系统100上进行内容托管,以允许内容提供商101托管它们自己的内容113或共享公用设施。

在安全数字内容电子分发系统100上进行内容托管由多个内容托管站点111构成,它们都包含安全数字内容电子分发系统100提供的所有内容113,以及多个辅助内容站点(未显示),它们包含内容提供商101提供的当前热点。内容托管站点111的数量随着使用系统的最终用户的数量而变化。辅助内容站点托管了数量有限的歌曲,但它们将代表在系统上使用的大多数带宽。当主要站点上的容量增大到最大容量时,辅助站点被投入运行。辅助站点可以位于网络访问点(NAP)的附近,这将帮助提高下载速度。它们还可能位于全世界的不同的地区,以提高下载速度。

如果内容提供商101选择在他们自己系统中托管所有内容113,则它们可以充当单个内容托管站点111,有或者没有更多的辅助内容站点。这就允许它们构建它们自己的可缩放的分布式系统。在另一个实施例中,对于某些内容113,电子数字内容商店103还可以充当内容托管站点111。此实施例要求在电子数字内容商店101和内容提供商101之间进行特殊的财务协议。

1.内容托管站点

内容113被本说明书的“内容提供商”部分所描述的内容分配工具通过FTP或HTTP或者通过诸如磁带、CD-ROM、闪存或其他计算机可读的介质之类的离线装置添加到内容托管站点111。内容提供商101创建的元数据SC 620包含一个指出定位此内容113的内容SC 630的URL的字段。此URL对应于内容托管站点111。电子数字内容商店103可以覆盖此URL(如果Offer SC 641中的内容提供商101允许)。当最终用户设备109希望下载内容SC 630时,最终用户设备109传输到此内容托管站点111。

最终用户设备109通过将许可证Sc 660发送到内容托管站点111启动对内容SC 630的请求。这与票据交换所105返回的许可证SC 660相同。可以验证许可证SC 660的数字签名以判断它是否为有效的许可证SC 660。如果它是有效的许可证Sc 660,则要么启动下载,或者下载请求可以重定向到另一个内容托管站点111。

2.安全数字内容电子分发系统100提供的内容托管站点111

对于安全数字内容电子分发系统100,应该使用哪一个站点下载内容113的决策是由内容SC 630的初始请求的主要内容站点决定的。此站点使用下列信息做出此决定:

是否有托管请求的内容113的辅助内容站点?

(安全数字内容电子分发系统100提供的内容113的大部分只位于主要站点上)

最终用户设备109的地理位置位于何处?(当请求在最终用户设备109启动请求时,此信息可以从最终用户设备109获得,此信息在定单SC 650中传递到票据交换所105;

是否有适当的辅助站点并在运行?(有时辅助站点可以是离线的);

辅助站点的负载是多少?(在某些情况下,辅助站点比较忙,可以选择不算忙的另一个站点。

在将内容SC 630传输到最终用户设备109之前,应最终用户的请求执行分析和验证。维护了一个用于下载内容113的所有许可证SC ID的数据库。可以检查此数据库,以确保最终用户设备109只对购买的每一个内容113片段发出请求。这防止了恶意用户反复地访问内容托管站点111,希望减慢内容托管站点111的速度,并防止内容SC 630的未经授权的下载。

内容113的提升和降级到辅助内容站点是定期根据单个内容113的片段的客户需求来执行的。

内容托管路由器

内容托管路由器(未显示)驻留在内容托管站点111并接收所有来自希望下载内容113最终用户的请求。它对最终用户请求执行检查,以确保他们实际购买了内容113。维护了一个有关辅助内容站点的状态的数据库,包括什么内容113位于它们上面以及它们的当前状态。此当前状态包括站点上的活动量以及站点是否停机以便进行维护。

到内容托管路由器的唯一的接口是许可证Sc 660,这是当要求下载内容113时由最终用户设备109发送的。许可证SC 660包括指出允许用户下载内容113的信息。

辅助内容站点

辅助内容站点(未显示)托管了安全数字内容分发系统100的流行的内容113。这些站点分散世界各地,并位于网络访问点(NAP)的附近,以改善下载时间。当主要内容托管站点111靠近最大容量时,这些站点按需要被添加到系统。

IX.电子数字内容商店

A.概述-对多个电子数字内容商店103的支持

电子数字内容商店103基本上是零售商。它们是销售内容113以便向客户分发的实体。对于内容113的分发,这将包括数字内容零售网站、数字内容零售商店、或任何希望涉及向消费者销售电子内容113的业务。这些业务可以只销售电子内容113,可以选择只将电子产品的销售添加到它们当前销售的任何其他商品中。通过将可下载的电子产品引入到电子数字内容商店103的服务提供中是通过为电子数字内容商店103作为安全数字内容电子分发系统100的一部分开发的工具集来实现的。

这些工具被电子数字内容商店103用来

●获取由内容提供商101打包的元数据SC 620

●从这些Sc提取内容113用作构建他们的服务产品的输入

●创建Offer SC 641,描述它们供出售的可下载的内容113

●通过创建和向最终用户设备109发送事务SC 640,处理销售的确认和下载的开始

管理可下载的内容113的销售的事务日志和每一个下载的状态

处理状态通知和事务身份验证请求

●执行对帐

设计了一些工具,以提供电子数字内容商店103希望将可下载的电子内容113的销售集成到其服务中的方式的灵活性。可以这样使用这些工具,以便购买的可下载的内容113的所有财务结算都由票据交换所105来处理,虽然这不作要求。这些工具还可使电子数字内容商店103完全服务于他们的客户,以及处理财务事务本身,包括提供促销和特殊产品。这些工具可使电子数字内容商店103很快地将可下载的内容113的销售很快地集成到其现有的服务中。此外,电子数字内容商店103不必托管可下载的内容113,也不必管理其分发。由内容提供商101所选择的内容托管站点111来执行此功能。

在优选实施例中,电子数字内容商店103的工具是以Java实现的,但也可以使用诸如C/C++、汇编语言和等效的其他编程语言。应该理解,如下所述的电子数字内容商店103的工具可以在各种硬件和软件平台上运行。电子数字内容商店103作为一个完整的系统,或作为其构成组件可以作为计算机可读的介质中应用程序分发,包括但不仅限于诸Web或在软盘、CD-ROM和可移动的硬盘驱动器之类的电子分发。

在另一个实施例中,电子数字内容商店103的组件是程序员的软件工具箱的一部分。此工具箱可实现到下面讨论的一般电子数字内容商店103的组件的预定义的接口。这些预定义的接口是API或应用程序编程接口的形式。使用这些API的开发人员可以从高级别应用程序实现组件的任何功能。通过向这些组件提供API,程序员可以很快地开发一个自定义电子数字内容商店103,而不必重新创建这些组件的任何组件的这些功能和资源。

电子数字内容商店103不仅限于基于Web的服务提供。提供的工具被希望销售可下载的电子内容113的所有电子数字内容商店103使用,不管用于向最终用户提供此内容113的传输基础结构或提供模式。通过卫星和电缆基础结构提供的播放服务还使用这些相同的工具以获取、打包和跟踪电子内容113销售情况。演示待售的电子商品和将这些产品提供给最终用户的方法是基于广播的服务提供和点到点交互式的Web服务类型提供之间的主要区别。

B.点到点电子数字内容分发服务

点到点主要是指在电子数字内容商店103和最终用户设备109之间的一对一的交互服务。这通常代表了通过电话或电缆调制解调器连接提供的因特网基于Web的服务。在此模式下还支持不同于因特网的网络,只要它们符合Web服务器/客户端浏览器模式即可。图9是一个说明电子数字内容商店103的主要工具、组件和过程的方框图。

1.集成要求

安全的数字内容电子分发系统100不仅创建新的在线业务,但为现有的业务提供了一种方法,以将可下载的电子内容113的销售集成到它们的当前报表中。提供给电子数字内容商店103的工具套件可以简化此集成工作。内容获取工具171和SC包装器工具153为电子数字内容商店103提供了一种方法,以从成员内容提供商101获取有关它们具有可用于销售的信息,并创建引用这些可下载的对象作为他们自己报表中的项目所要求的文件。此过程是批驱动的,并可以大大地自动执行,并只将新内容113集成到站点中。

设计了安全数字内容电子分发的工具,以允许将电子可下载的内容113的销售集成到基于Web的电子数字内容商店103(例如,Columbia Mouse online、Music Boulevard、eTower)典型的实现方式,并等效于对它们当前内容113零售范例的最小更改。可以有多种集成方法,在优选实施例中,电子数字内容商店103为所有产品搜索、预览、选择(购物车)和购买提供支持。每一个电子数字内容商店103建立了奖励,并如目前那样销售其产品。在安全数字内容电子分发系统100中,它将简单地需要指出在其报表中哪些产品还可用于电子下载,并允许其客户在进行购买选择时选择电子下载选项。在另一个实施例中,客户的购物车可以包含电子(内容113)和物理介质选择的混合物。在客户付帐之后,电子数字内容商店103完成财务结算,并记录或通知其装运和处理功能,以处理购买的物理商品,然后,电子数字内容商店103的商务处理功能调用事务处理器模块175以处理完全完全电子化的下载。它简单地将所需的信息以及所有处理从该点传递,由安全数字内容电子分发系统100的工具集处理。在另一个实施例中,事务处理的其他方法也是可以的,并使用安全数字内容电子分发系统100的工具来处理财务结算,万一电子数字内容商店103希望销售可下载的商品,或者将物理和可下载的商品的财务结算分开。

为处理商品的下载,电子数字内容商店103被给予一个它从内容提供商161的内容促销网站156获取每一个可下载的产品的产品ID(未显示)。此产品ID与客户的可下载的产品的购买选择关联。产品ID是电子数字内容商店103传递给事务处理器模块175以标识用户购买的产品的东西。创建的用于描述产品的Sc(OfferSC 642),与电子数字内容商店103分开,并保留在Offer数据库181中,以便简化这些对象的管理,并使它们的存在对电子数字内容商店103透明。

提供了事务处理器模块175及其他附加功能,作为Web服务器端可执行程序(即,CGI和NSAPI,ISAPT可调用的功能)或简单的到DLL或C对象库的API。这些功能处理最终用户交互和可选的与票据交换所105的运行时间过程。这些功能与Web服务器的商务服务进行交互,以创建启动内容113下载过程所需要的文件并下载到最终用户设备的109。它们还处理可选的交互,以提供授权和接受活动的完成的通知。

还提供了对帐工具179,以帮助电子数字内容商店103与票据交换所105进行联系,以便根据其自己的和票据交换所105的事务日志进行对帐。

2.内容获取工具171

内容获取工具171负责与内容促销网站156连接以预览和下载元数据SC 620。由于内容促销站点是一个标准网站,电子数字内容商店103使用一个Web浏览器来导航此站点。导航功能随着内容提供商101的站点设计而变化。某些站点可能提供广泛的搜索功能,并带有促销信息的许多屏幕。其他人可能具有简单的浏览器界面,并带有标题、执行者、或新的版本列表,以供从中选择。所有站点都包括元数据SC 620的选择,包含歌曲或专辑的所有促销和描述性信息。

或者,电子商店103可以预订内容更新并通过FTP自动接收更新。

查看元数据

内容获取工具171是一个Web浏览器帮助器应用程序,该应用程序在每当在内容促销网站156上选择元数据SC 620链接时启动。选择SC使它被下载到电子数字内容商店103,并启动帮助器应用程序。内容获取工具171打开元数据SC 620并显示包含在其中的非加密信息。显示的信息包括提取的元数据173,举一个音乐的例子,与歌曲关联的图像和描述歌曲的信息,如果歌曲的预览剪辑包括在元数据SC 620中,则还可以听到该剪辑。在内容113是音乐的例子中,有关歌曲或专辑的促销信息、专辑标题,以及如果内容提供商101提供了艺术家,还可以显示艺术家。此信息还作为浏览器窗口中的一系列链接的HTML页面显示,诸如歌曲和歌词以及内容提供商101希望保护的任何其他元数据之类的可购买的内容113,都不能从零售内容网站180访问。

在另一个实施例中,内容提供商101提供可选促销内容,以获取利润。在此实施例中,在元数据SC 620中,这样的促销内容是加密的。打开此数据财务结算活动可以通过票据交换所105利用被收取指定费用的电子数字内容商店103的帐户来进行处理。

提取元数据

除预览功能之外,此工具提供了另外两个功能:元数据提取和Offer SC 641的准备。元数据提取选项的选择提示电子数字内容商店103输入到将存储元数据的位置的路径和文件名。诸如图形和音频预览剪辑之类的二进制元数据作为单独的文件存储,文本元数据存储在ASCII分隔的文本文件中,然后,零售内容网站180可以将该文件导入到其数据库中。描述ASCII分隔的文件的布局的表也在单独的TOC文件中创建。还可以有更多的选项,以允许提取到其他国家语言支持(NLS)支持的格式。

在提取的数据中提供的一个重要信息片段是产品ID。此产品ID是电子数字内容商店103向事务处理器模块175(有关详细信息,请参阅“事务处理”部分)标识用户购买的内容113所需要的商务处理功能。事务处理器模块175使用此产品ID从Offer数据库181中适当地检索适当的Offer SC 641,以便随后下载到最终用户设备109。电子数字内容商店103对它如何呈现其站点上的可下载的内容113的提供具有完全控制。它只须保留向此产品ID提供的内容113的交叉引用,以便适当地与安全数字内容电子分发系统100的工具连接。这里提供此信息,允许电子数字内容商店103将此产品或内容113集成到其报表和销售页面(数据库),与OfferSC 641创建过程并行,因为这两个进程都使用相同的产品ID来引用产品。这在下面进行描述。

Offer SC创建153

电子数字内容商店103被要求创建一个Offer SC 641,描述待售的可下载的内容113。进入Offer SC 641的大多数信息从元数据Sc 620派生而来。内容获取工具171通过以下操作创建Offer SC641:

如元数据SC 620中的Offer SC模板所定义的,从元数据SC620中删除不需要包括在Offer SC 641中的部分

如此工具中的配置选项指定默认值所定义的,添加电子数字内容商店103的更多的要求的部分

如元数据SC 620中的Offer SC模板所定义的,提示提供更多的所需输入或选择

调用SC包装器153将此信息打包到SC格式

要由播放器应用程序195(以后作进一步的描述)显示在最终用户设备109上的元数据将保留元数据SC 620中。只被电子数字内容商店103作为到其Web服务数据库的输入的其他促销元数据将从元数据SC 620中删除。由内容提供商101提供的权利管理信息,如水印说明、加密的SynTletric密钥623,以及定义对象的允许的使用的使用条件517也将保留。

此脱去的元数据SC 620然后包括在Offer SC 641中。电子数字内容商店103也将其自己的叫做“存储使用条件519”的使用条件或购买选项附加到Offer SC 641。这可以交互地实现或通过默认值集自动实现。如果被配置为交互地处理,则电子数字内容商店103被提示提供允许的对象使用条件517,如内容提供商101所定义的那样。然后他选择他希望向其客户提供的选项。现在这些变成新的使用条件或存储使用条件919。要自动处理,电子数字内容商店103配置默认购买选项集,以便为所有内容113提供。这些默认选项自动对照由内容提供商101定义的所允许的使用条件517来进行自动,如果没有差异,则在Offer SC 541中进行设置。

一旦创建了offer SC 641,它存储在Offer数据库181,并带有在元数据SC 620中预先指定的产品ID。当与Offer数据库121连接以检索Offer SC 641时,这些产品ID以后被电子数字内容商店103用来识别由客户购买的可下载的内容113,以便打包和向最终用户传输。有关详细信息,请参阅事务处理器模块175”部分。

在另一个实施例中,电子数字内容商店103在其站点托管了内容SC 641。此实施例要求对offer SC 641进行更改,如用电子数字内容商店103的URL替换内容托管站点111的URL。

3.事务处理模块175

电子数字内容商店103直接与票据交换所105进行结算。或者,电子数字内容商店103可以直接从票据交换所105请求财务结算。有两种基本模式来处理可下载的内容113的最终用户购买请求。如果电子数字内容商店103不希望处理购买的财务结算,并没有特殊的控制商品的销售的促销或奖励,不使用购物车来捆绑购买请求,可以向Offer SC 641文件直接提供其内容113下载页面上的链接。这些Offer SC 641将必须带有包括在元数据中的零售价信息。Offer Sc 641中还包括特殊的HTML offer页面,该页面呈现带有销售的条款的购买选项。此页面用当构建Offer SC 641时创建的模板生成。当最终用户单击到offer SC 641的直接链接时,OfferSC 641下载到浏览器最终用户设备109,启动一个帮助器应用程序,该帮助器应用程序打开容器,并呈现Offer Sc 641中包括的offer页面。此页面包含一个表单,以收集客户信息,包括信用卡信息和购买选项选择。然后,该表单被直接提交到票据交换所105,以便进行财务结算和处理。可选地,此表单可以包含使用最终用户的信用信息所需要的字段或行业标准本地事务处理程序。

现在描述电子数字内容商店103处理记帐的实施例。处理购买请求的比较典型的模式是允许电子数字内容商店103处理财务结算,然后向最终用户提交下载授权。此方法允许电子数字内容商店103将可下载的内容113的销售与其站点上的销售的其他商品集成,允许对购买请求进行成批处理,只向客户进行一次统一的收费(通过购物车),而不是对每一个下载请求进行分别的收费,并允许电子数字内容商店103直接跟踪其客户的购买模式,并提供特殊的促销和俱乐部选项。在此环境中,可下载的内容113的提供包括在其购物页面中,该内容在被最终用户选择时添加到购物车中,并与电子数字内容商店的103当前购物模式中的那样,进行处理和财务结算。一旦完成财务结算,电子数字内容商店103的商务处理进程调用事务处理器模块175以完成事务。

事务处理器模块175

事务处理器模块175的角色是将最终用户设备109所需要的信息综合在一起,以启动和处理购买的内容113的下载。此信息被打包到事务SC 640中,该信息被Web服务器作为对购买提交的响应发回最终用户设备109。事务处理器模块175需要电子数字内容商店103的商务处理进程提供三种信息:购买的内容113的产品ID、事务数据642,以及确认购买结算的HTML页面或CGIURL。

产ID是与刚刚销售的内容113关联的元数据SC 620中向电子数字内容商店103提供的值。此产品ID用于从Offer数据库181检索关联的Offer SC 641。

事务数据642是一个由电子数字内容商店103的事务处理功能提供的信息的结构,稍后用于将票据交换所105的处理与由电子数字内容商店103执行的财务结算事务关联,并提供要包括在下载到最终用户设备109的内容113的水印中的用户身份信息。当票据交换所105接收有效的定单SC 650时,它记录指出销售的内容113的事务,哪一个电子数字内容商店103销售的,以及包括最终用户的名称和事务ID 535的事务数据642。事务ID 535提供到财务结算事务的引用。以后由票据交换所105将此信息返回到电子数字内容商店103,供与从内容提供商101(或其代理)接收到的记帐声明进行对帐。票据交换所事务日志179可以被内容提供商101用来判断其什么内容113已经销售,并允许他为每一个电子数字内容商店103创建一个帐单,以便征收属于他的版税。除记帐之外的其他电子装置可以用于在内容提供商101和电子数字内容商店103之间结算。

事务SC 640中提供的信息和事务SC 640的安全性和完整性向票据交换所105提供足够的可靠性,购买事务是有效的,在由票据交换所105记录此销售之前,不需要进行进一步的验证。然而,电子数字内容商店103具有在从其帐户收费之前请求验证的选项(在票据交换所105中记录的事务,向内容提供商101指出,此电子数字内容商店103已经为此内容113的销售收取了费用)。此验证/通知的请求由事务数据642中的标志来指出。在此情况下,票据交换所105与电子数字内容商店103联系,并在从其帐户收取费用并发布加密密钥623之前从电子数字内容商店103接收授权。事务ID 535作为此身份验证请求的一部分被从票据交换所105传递到电子数字内容商店103以使电子数字内容商店103将对以前执行的事务的此请求与最终用户关联。此事务ID 535可以是电子数字内容商店103希望使用的任何唯一值,并只让其收益。

事务数据642还包含客户名称。此名称可以来自于当用户购买时由该用户填充的购买表单的用户名字段,或者来自于在向电子数字内容商店103进行某些用户注册过程期间以前记录的信息,或者是从此事务中使用的卡关联的信用卡信息获得的。此名称以后包括在许可证水印527中。

事务数据642还包含最终用户购买的存储使用条件519。此信息包括在许可证水印527中,并被最终用户设备109用来进行复制和播放控制。

事务处理器模块175所需要的最后的参数是确认购买结算的HTML页面或CGI URL。这样做的目的是允许电子数字内容商店103以财务结算的确认以及希望包括响应中的其他信息来响应最终用户。此HTML页面或CGI URL包括在事务Sc 640中,并当接收和处理事务SC 640时显示在最终用户设备109的浏览器窗口。

事务SC 640是在处理购买提交之后从电子数字内容商店103对最终用户的HTTP响应。作为直接的HTTP响应发送SC强制在SC处理器帮助器应用程序的最终用户设备109上自动加载,如此允许事务的自动完成,而不取决于进一步的最终用户启动的操作。稍后的部分将比较详细地描述最终用户设备109和播放器应用程序195中的此进程。

当用所需的参数调用事务处理器模块175时,它生成包含事务数据642的事务SC 640,事务确认HTML页面或SC的其他所需的安全功能的引用URL,并检索和植入与购买关联的Offer SC641。它还记录有关此事务的信息,以供通知接口模块176和对帐工具179使用。

4.通知接口模块176

通知接口模块176是一个Web服务器端可执行的例程(NSAPI可以调用的CGI或功能,ISAPI或等效物)。它处理来自票据交换所105、最终用户设备109、内容托管站点111和内容提供商101的请求和通知。电子数字内容商店103可以可选地请求其通知的事件是:

来自票据交换所105的通知,说明最终用户设备109请求加密密钥623,票据交换所105为指定内容113发布加密密钥623。可以可选地配置此通知,要求在加密密钥623发送到最终用户设备109之前,从电子数字内容商店103进行身份验证。来自内容托管站点111的通知,说明内容SC 630已经被发送到最终用户设备109。

●来自最终用户设备109的通知,内容SC 630和许可证SC660被接收并成功地用于处理内容113或被发现已经损坏。来自内容提供商101的通知,说明内容113被放在内容促销网站156。

这些通知中没有一个在安全数字内容电子分发系统流100中是必需的步骤,而是作为可选项提供的,以给电子数字内容商店103提供在满足销售任务时关闭其记录的机会。它还提供处理客户服务请求所需要的信息,是这样做的:让电子数字内容商店103知道由于事务的财务结算或在完成销售的尝试过程中发生了什么错误什么功能已经泄露。或者,此状态的大部分在需要时可以从票据交换所105通过客户服务接口184获得。

在内容促销网站156上可用的新内容113的通知的频率由内容提供商101判断。通知可以在每一个新元数据Sc 620被添加时提供或者只是每天所有新的元数据Sc 620在那一天添加。

所有这些通知导致在事务日志278中记录条目。如果电子数字内容商店103希望对这些通知执行他自己的处理,那么他可以截取CGI调用,执行其唯一的功能,然后可选地将请求传递到通知接口模块176。

5.对帐工具179

此对帐工具179与票据交换所105进行联系,以比较事务日志178与票据交换所105的日志。这是一个可选的进程,该进程可用于帮助电子数字内容商店103感觉对安全数字内容电子分发系统100的帐户系统满意。

在另一个实施例中,此工具可以被更新,以提供电子资金转帐,以便向内容提供商101和票据交换所105进行自动定期付款。它还可以被设计为在对照事务日志178进行对帐之后,从票据交换所105接收电子票据。

C.广播电子数字内容分发服务

广播主要叫做一对多的传输方法,其中,在最终用户设备109和电子数字内容商店103之间没有个人交互操作,无法自定义按需查看和收听。这通常是通过数字卫星或电缆基础结构提供的,其中内容113被预编程,以便所有最终用户设备109接收相同的流。

还可以定义一个混合模式,以便电子数字内容商店103提供以这样的方式组织的数字内容服务,它可以通过因特网连接提供Web分发接口以及通过广播服务提供较高的带宽卫星或电缆分发接口,与站点设计具有较大的通用性。如果IRD后通道串行接口连接到Web,并且IRD支持Web导航,则最终用户可以通过后通道因特网接口以通常的方式导航数字内容服务,预览并选择要购买的内容113。用户可以选择高质量可下载的内容113,购买这些选择,并通过因特网连接接收所需的许可证Sc 660,然后通过较高带宽广播接口请求提供内容113(内容SC 630)。Web服务可以指出哪一个内容113将以这样的方式根据广播节目表可用于下载,并可以完全基于购买的内容113构建广播流。此方法将允许基于Web的数字内容服务与广播设施进行联系,以向配备有适当的设备的用户提供高质量内容113,使数量有限的特定内容113(例如歌曲或CD)每日可用,整个目录通过Web接口以较低的质量可用于下载。

也可以设计其他广播模式,其中,没有到最终用户设备109的Web接口。在此模式中,促销内容是最终用户设备109(即,IRD),在此执行特殊处理,以对流进行解码,并向最终用户呈现促销内容,从该内容中可以进行购买选择。

实际购买选择将通过从最终用户设备109到票据交换所105的后通道通信来启动,并将利用SC执行所有数据交换。已经以这样的方式构建并开发了提供给电子数字内容商店103的工具集,以使大多数工具适用于点到点因特网服务提供以及广播卫星或电缆提供。数字内容网站电子数字内容商店103用来获取并管理内容113并准备Sc的工具还被基于卫星的电子数字内容商店103来管理和准备内容113,以便在广播基础结构上分发。通过Web服务分发的Sc与通过播放服务分发的Sc相同。

X.最终用户设备109

安全数字内容电子分发系统100的最终用户设备109的应用程序执行两个主要功能:

第一,Sc处理和复制控制;第二,加密内容113的播放。无论最终用户设备109是个人计算机还是专门的电子消费设备,它必须能够执行这些基本功能。最终用户设备105还提供各种其他特点和功能,如创建播放列表管理数字内容库,在内容播放期间显示信息和图像,记录到外部介质设备。这些功能根据这些应用程序所支持的服务和设计应用程序所针对的设备的类型而变化。

A.概述

1.通过电信基础结构提供

现在请参看图10,该图显示了主要部件和进程以及最终用户设备109功能流。设计的以支持基于PC的Web接口内容113服务的应用程序由两个可执行的软件应用程序构成:Sc处理器192和播放器应用程序195。Sc处理器192是一个可执行应用程序,该应用程序被作为一个帮助器应用程序配置到最终用户Web浏览器191以处SC文件/MIME类型。每当从电子数字内容商店203、票据交换所105、和内容托管站点111接收到SC时,浏览器启动此应用程序。它负责执行SC的所有所需要的处理,最后将内容113添加到最终用户的数字内容库196。

播放器应用程序195是一个独立的可执行应用程序,最终用户加载该应用程序以在他的数字内容库196中执行内容113,管理他的数字内容库196并创建内容113的副本(如果允许的话)。播放器应用程序195和Sc处理器192应用程序可以以Java、C/C++或任何等效的软件编写。在优选实施例中,应用程序可以从诸如网站之类的计算机可读的装置中下载。然而,其他提供机制也是可以的,如在诸如磁盘或CD之类的计算机可读的介质来提供。

搜索和浏览内容113信息,预览歌曲剪辑,并选择要购买的歌曲,都通过最终用户Web浏览器191来处理。电子数字内容商店103与目前许多内容113零售网站提供相同的购物体验。与目前的基于Web的内容113购物对最终用户的区别是,他们现在可以选择可下载的内容113对象以添加到它们的购物车中。如果电子数字内容商店103除了可下载的对象之外还具有其他可用于销售的其他商品,则最终用户可能在他的购物车中会有物理和电子可下载的商品的组合。直到在最终用户付帐并向电子数字内容商店103提交他的最终购买授权之后,不涉及安全数字内容电子分发最终用户设备109。在此点之前,所有交互操作都在电子数字内容商店103和最终用户设备109上的浏览器191之间进行。这包括预览样本数字内容剪辑。数字内容剪辑不是打包到Sc中,而是作为可下载的文件集成到电子数字内容商店103的Web服务中或从流式服务器中播放。内容113剪辑的格式不是由系统体系结构决定的。在另一个实施例中,播放器应用程序195可以直接与电子数字内容商店103或票据交换所105进行交互或者脱机使用促销CD。

2.通过计算机可读的介质提供

在此另一个实施例中,不是描述通过电信线路(如电话线路、cableTv、直接TV、因特网及其他有线和无线通信基础结构)下载内容113或者甚至播放器应用程序195本身,在此实施例中,将描述计算机可读的介质。计算机可读的介质包括软盘、CD、DVD、便携式快闪存储器、ZipDrive、可移动的硬盘驱动器和计算机可以从中读取信息的任何其他可移动介质。为简单起见,在此实施例中,计算机可读的介质是CD 1802,内容113是音乐。CD 1802代替内容托管站点111以允许音乐通过物理介质而不是通过诸如宽带之类的电子装置分发。CD 1802包含内容SC 530中的音乐样本,和多个压缩的和加密音乐磁道和有关内容113的关联的元数据。音频会话中的样本磁道可以在标准CD播放器中。当最终用户设备109的内置CD驱动器自动启动Web浏览器191,以使最终用户收听音乐样本并选择一个或多个压缩的和加密的歌曲进行购买。

总体购买事务过程与从内容托管站点111下载内容113的过程相同。区别在于,加密的内容113不从内容托管站点111下载,而是在存储在CD 1802中的内容SC 630读取内容133。因此,CD 1802的使用消除了通过窄带因特网下载时间比较长的问题,也不必使用宽带因特网信道了。如前所述,对于内容113的电信分发,使用最终用户设备109的最终用户通过从电子数字内容商店103接收事务SC 641来访问加密密钥623以访问加密密钥623。在另一个实施例中,从内容提供商101、或票据交换所105或过程购买授权的任何其他第三方源接收修改的事务SC 1832。

可以放到CD 1802的压缩和加密歌曲的数量取决于音乐采样在音频会话中的数量的播放时间,并取决于压缩音乐数据速率和每一个歌曲的长度。例如,如果允许大约二十(20)秒的音乐采样,那么,CD 1802上将可以容纳大约四(4)个以256千位/秒压缩的60分钟长度的音乐作品或八(8)个以128千位/秒压缩的60分钟长度的专辑。如果计算机可读的介质是DVD而不是CD 1802,则当前DVD技术存储大约比CD介质中的压缩音乐作品的数量的5倍。相应地,利用当前DVD技术,可以存储二十(20)个50分钟的以256千位/秒压缩的音乐作品和四十(40)个以128千位/秒压缩的60分钟的专辑。

现在描述CD 1002上存储的信息的一个实施例。亦称促销包1801的信息分为两个已知的一般的区域:(i)内容会话区域1804,在此例子中是音频内容;以及(ii)数据会话1806,该会话被集成到了播放器应用程序195的功能中。

内容会话区域1804包括:

-带有有关CD 1802的内容的信息的信息性音频曲目1808和购买一个包括的压缩歌曲的过程。

-关于20个促销音乐的30秒音频曲目1820。

数据会话1806包括:

-在最终用户设备109中启动数据会话的Autorun.exe 1812程序。如果在Microsoft Windows中启用了自动运行功能,则CD的autorun.exe 1812将会自动启动。否则,最终用户设备109必须手动启动autorun.exe 1812。CD 1802中的readme.txt文件(未显示)具有当自动运行功能在此情况下不可用时指导最终用户的信息。作为其执行的一部分,autorun.exe 1812打开CD 1802上的HTML页面1816的第一个HTML页面的第一个HTML页面,这又会启动Web浏览器191,Web浏览器191自动注册逻辑驱动器标识符(从该标识符打开第一个HTML页面),并使用它作为当前引用驱动器。

-指向CD 1802上的HTML页面1816的第一个HTML页面的Autorun.ini 1814文件。

-带有指导最终用户在Windows中没有启用自动运行功能的情况下如何启动autonm.exe的说明的Readme.txt(未显示)文件。此文本文件还提供了有关CD 1802的用途以及购买音乐的过程的信息。

-播放器应用程序安装包1818允许最终用户在最终用户设备109上安装播放器应用程序195。

-支持最终用户的导航以选择音乐和收集最终用户信用卡信息以发送到电子数字内容商店103的HTML页面1816集。

-每一个压缩专辑的数据集。

-内容SC 630和关联的元数据。

-Offer SC 641指向CD 1802中的内容SC 630和声道文件。内容。SC 630和声道文件位于基于固定的目录结构的CD 1802。

-修改的事务SC 1824类似于电信实施例中的事务SC 640,修改的事务Sc 1824包含指向CD 1802上的Offer SC 641的标识符,以及可用的使用条件519。

修改的事务SC 1824可以用内容提供商101的数字签名624进行数字签名。

现在请看图19,该图是图18的另一个实施例的流程图,说明了根据本发明的获得数字内容的权利。该过程从最终用户将CD1802加载到最终用户设备109开始,步骤1902。最终用户可以收听信息音频曲目和音乐采样及其他多媒体促销材料,步骤1904。最终用户与从CD 1802读取的HTML页面进行交互,最终用户选择他/她想要买的音乐,并提供信用卡信息。HTML页面1816向最终用户提供诸如电信实施例中的Offer SC 640中的价格和使用条件519。

一旦最终用户选择购买的专辑,并提供信用卡信息,在Web浏览器191上运行的浏览器脚本程序将从CD 1802导出的通知SC1822传输到诸如电子数字内容商店103之类的支付站点,步骤1906。在最终用户设备109和支付站点之间使用诸如SSL连接之类的安全的连接,以便防止信用卡和选择信息在因特网上被窃听。

在取得支付授权之后,Web浏览器191将接收到修改的事务Sc 1824。此修改的事务SC 1824类似于常规的修改的事务SC640,但它不携带SC 641,并包括通知sc 1822。即,修改的事务SC 1824携带事务数据642、通知SC 1822和音乐的使用条件519,步骤1908。

播放器应用程序195接收CD 1802中的所选择的offer Sc641。然后,应用程序与票据交换所105进行常规的交互,以获得电信实施例的如图6所述的选择的内容113的许可证SC 660,步骤1910。

在接收到内容113的许可证SC 660之后,播放器应用程序195复制CD 1802的对应的内容SC 630,并开始进行图6的上面的电信实施例所描述的那些部分的常规处理。

CD 1802的内容准备与上面的“部分VIII内容提供商”中所描述的系统和方法相同。但不是创建内容SC 630以便通过电信网络进行分发,内容SC 630和Offer SC 640被写入到CD 1802。CD1802上还包括每一个歌曲的通知SC 1822,每一个歌曲的OfferSC,以及HTML页面集1816。autorun.exe 1812、autorun.ini1814和最终用户应用程序安装包1818可以包括在CD 1802中。

播放器应用程序195支持提供内容113的电信实施例以及此计算机可读的介质分发实施例所需要的更改可以包括下面的“部分X.D播放器应用程序”中列出的所有组件。这使得提供的两个实施例兼容。此外,播放器应用程序安装包1818的功能包括软件,该软件:

-允许最终用户选择CD 1802中包括的专辑。

-允许最终用户指向offer Sc 641、内容Sc 630的位置。如果所需要的Offer Sc 641在CD 1802上不可用,那么向电子数字内容商店103提供HTML地址。

-创建由对应的Offer SC 641、数字签名641和可用的使用条件519的标识符组成的通知SC 1822。

-允许将指导最终用户选择和购买音乐的HTML页面。HTML页面的创建将基于页面模板来进行。模板应该允许可以包含有关音乐的信息HTML页面1816的创建和自定义。有关每一个歌曲的信息可以包括护套和封面技术,歌词和使用条件。模板允许创建和自定义将提供给最终用户的HTML表单的创建和自定义。

-允许操作员指向autorun.exe 1812文件、autorun.ini 1814文件和播放器应用程序安装包1818的位置。

-允许最终用户修改autorun.ini 1814文件,以便它指向将提供给最终用户的HTML页面1816的第一个HTML页面。

-允许最终用户选择音频信息和音乐采样声道并指向在线URL。

至今为止描述了CD 1802上的内容提供。值得注意的是,CD上的促销加密内容可以是常规音乐或DVD CD的一部分。可以通过下面的部分D中的“播放器应用程序195”中的小节4,“解密1505、解压1506和播放组件1506”中的过程来创建CD 1802。CD1802包含来自内容提供商101或者来自电子数字内容商店103的促销包1801。当播放此CD 1802时,这就能使用户或用户的朋友非常快地购买到CD 1802上的内容113。换句话说,如果用户将CD 1802带到朋友的家中收听,则该朋友可以购买复制CD 1802的权利以便自己使用,而不必从内容托管站点111下载内容113。这就使得促销包1801在朋友和同事之间非常快速的传播。朋友不是返回到商店或通过因特网下载内容113,该朋友可以使用下面的图19中描述的过程流来创建CD 1802上加密的内容113的副本。除内容113之外,播放器应用程序195还可以在CD 1802上提供,以便允许播放器应用程序195通过一个社区进行快速的传播。

在又一个实施例中,促销包1801可以在最终用户之间通过电子邮件进行传播。但是目前压缩文件通过电话线路传输仍比较慢。在诸如电缆调制解调器之类的较高速度网络中将增大容量。通过给予用户通过电子邮件向其他人发送促销包1801的能力,内容113可以由电子邮件列表中的任何一个人来购买。

B.应用程序安装

播放器应用程序195和帮助器应用程序1981被打包到一个自安装可执行程序中,该程序可以从许多网站下载或通过上文X.A.3部分“通过计算机可读的介质提供”中的实施例来提供。票据交换所105充当一个托管了公用网站上的主下载页面的中央位置。它包含可以下载安装包的位置的链接。安装包在所有内容托管站点111提供,以便满足各个地理位置的下载请求。每一个成员电子数字内容商店103还可以使包可以从他们的站点下载,也可以只提供到票据交换所105的公用网站上的主下载页面的链接。

任何希望购买可下载的内容113的最终用户都下载并安装此包。安装自己包含在此可下载的包中。它打开包并安装帮助器应用程序198和播放器应用程序195,还向安装的Web浏览器配置帮助器应用程序198。

作为安装的一部分,为最终用户设备109创建公用/私钥661对,以便在处理定单和许可证SC 660时使用。还生成随机对称密钥(秘密用户密钥),以便在许可证数据库197中保护歌曲加密密钥使用。秘密用户密钥(未显示)通过将密钥分成多个部分并将密钥的片段存储在整个最终用户的计算机的多个位置。代码的此区域用抗窜改的软件技术进行保护,以便不会将密钥的分段方式以及存储的位置泄漏出去。甚至防止最终用户访问此密钥有助于防止盗版或与其他计算机共享内容113。有关如何使用这些密钥的详细信息,请参阅SC处理器192部分。

抗窜改软件技术是阻止黑客未经授权进入计算机软件应用程序的方法。通常黑客希望理解和/或修改软件以便删除对使用的限制。在现实中,没有不能被“黑”的计算机程序;这就是为什么抗窜改软件没有叫做“防窜改软件”。但破坏抗窜改保护的应用程序所需的努力通常会阻止大多数黑客,因为所费的努力与可能的收益不成正比。这里努力将是获取到内容113的一个片段(也许是CD上的单个歌曲)的密钥的访问。

一种抗窜改的软件技术是来自于IBM。引入了此代码的一个产品位于IBM ThinkPad 770膝上型计算机上。这里,抗窜改软件用于保护计算机中的DVD电影播放器。诸如Hollywood studios之类的数字内容提供商关心数字电影的来临,以及制作完美的副本的容易程度,坚持DVD光盘上的电影应该包含复制保护机制。IBM的抗窜改软件使得绕过这些复制保护机制变得困难。这是一个非常典型的抗窜改软件的应用程序;该软件用于强制对内容113的某些保护类型的使用实施某些规则。

IBM的抗干扰软件在攻击者的路径中放入了几种类型的障碍。首先,它包含战胜或者至少降低黑客使用的标准软件工具的有效性:调试器和反汇编程序。其次,它包含自我完整性检查,以便单个修改,或者少量的修改,都将被检测并导致不正确的操作。最后,它包含迷惑性的内容,以误导黑客有关其真正的操作。后一种技术比较特别,但开头两个建立于加密技术中的已知的工具:加密和数字签名。

C.安全的容器处理器192

当最终用户向电子数字内容商店103提交他在他的购物车中收集的商品的最终购买授权时,他的Web浏览器仍处于活动状态,等待Web服务器的响应。电子数字内容商店103的Web服务器处理购买,并执行财务结算,然后将事务SC 640返回到最终用户设备109。Sc处理器192(帮助器应用程序198)被Web浏览器启动以处理与事务SC 640关联的SC mime类型。图14是播放器应用程序195将内容下载到根据本发明的如图10所描述的本地库的用户界面屏幕的例子。

SC处理器192打开事务SC 640,并提取响应HTML页面和包含在内的Offer SC 641。响应HTML页面显示在浏览器窗口,确认最终用户的购买。然后打开Offer SC 641,从它们中提取内容113(例如歌曲或专辑)名称以及相应的下载时间,步骤1401。然后显示一个新窗口,其中带有此信息,并向最终用户呈现调度内容113(例如,音乐、歌曲或整个专辑)下载的选项,步骤1402。最终用户可以选择立即下载或者可以调度下载在以后进行。如果选择一个以后的时间,则下载调度信息将保存在一个日志中,如果最终用户设备109的电源在预定时间是开启的,那么,下载在此时就会启动。如果计算机在预定下载时间没有处于活动状态或者通信链路没有处于活动状态,则当计算机下次启动时提示最终用户重新安排下载时间。

当调度的下载时间发生或者如果要求立即下载,SC处理器192从事务SC 640中的信息、offer Sc 641、以及在安装时生成的最终用户的公钥661创建定单SC 650。此定单SC 650通过HTTP请求发送到票据交换所105。当票据交换所105返回许可证Sc 660时,帮助器应用程序198被重新调用以处理许可证SC 660。然后,打开许可证SC 660,并从参考定单SC 650提取内容托管站点111的URL。然后,通过浏览器并通过http请求将许可证SC 660发送到指定的内容托管站点111,以请求下载内容SC 630。当内容SC 630回到浏览器时,帮助器应用程序198被再次重新调用。SC处理器192显示被下载的内容113的名称以及下载进度指示器和要完成所估计的时间。

由于内容113正在被Sc处理器192接收,它将内容113数据加载到内存缓冲器中以便进行解密。缓冲器的大小取决于加密算法和水印技术193的要求,并是降低暴露于黑客代码的非加密内容113的量。由于缓冲器被填充,它使用从许可证SC 660中提取的最终用户的密钥623(对应于公钥661)进行解密,许可证SC 660本身首先使用私钥进行解密。然后,将解密的缓冲器传递到水印功能。

水印193从许可证SC 660提取水印说明,并使用最终用户的私钥对说明进行解密。然后,从许可证SC提取水印数据,该数据包括向电子数字内容商店103(从该商店购买此内容113)注册的购买者的名称之类的事务信息,或如果电子数字内容商店103不提供注册功能,从信用卡注册信息导出。水印中还包括购买日期,以及电子数字内容商店103指定的事务ID 535,以引用为此事务记录的特定的记录。还包括存储使用条件519,以供播放器应用程序195的复制控制。

水印193用抗窜改的代码技术进行保护,以便不暴露水印说明,从而防止黑客发现水印的位置和技术。这就防止了黑客删除或修改水印。

在将任何所需的水印雕刻到此内容缓存之后,该缓存被传递到加密功能以便重新加密194。使用诸如IBM的SEAL加密技术之类的处理器有效的安全加密算法来使用随机对称密钥对内容113进行重新加密。一旦下载和解密和重新加密194过程完成,被内容提供商101最初用来对内容113进行加密的加密密钥623被销毁,使用在安装时创建和隐藏的秘密用户密钥对新的SEAL密钥本身进行加密。此新的加密Seal密钥现在存储在许可证数据库107中。

与在内容提供商101执行的源不同,在最终用户设备109上执行的用户水印可能需要变成一个行业标准,以便生效。这些标准仍在发展。可用某种技术来允许控制信息嵌入在音乐中,并可更新许多次。直到复制控制标准变得比较稳定时,在安全数字内容电子分发系统100中提供了复制控制的备选方法,以便它不依赖于复制控制水印,也能在消费者设备中提供权利管理。存储和播放/记录使用条件安全是利用加密的DC库收藏196,它依赖于最终用户设备109并通过抗窜改的环境进行保护。采用了软件挂钩以便在采用标准时支持复制控制水印。当今存在一种对在各种压缩级别水印AAC及其他编码音频流的支持技术,但此技术目前仍不成熟,无法作为一个复制控制的唯一的方法投入使用。

解密和重新加密194过程是用抗窜改的代码技术保护的代码的另一个方面,以便不暴露原始内容113加密密钥,新SEAL密钥、秘密用户密钥、存储秘密用户密钥段的地点以及密钥是如何分段的。

解密和重新加密194的过程有两个目的。存储用诸如SEAL之类的算法加密的内容113可以比实时解密更快,并且与诸如DES之类的更多行业标准类型算法相比,需要比较少的处理器利用率。这使播放器应用程序195能执行内容113的实时并发解密-解码-播放,而不必在解码和播放之前首先对内容113的整个文件进行解密。SEAL算法和效率很高的解码算法的效率,不仅能进行并行运算(从加密文件进行流式播放),还允许此进程在系统处理器的性能低得多的处理器上发生。因此,此应用程序可以在60MHz Pentium系统也许更低的低端的最终用户设备109上可以得到支持。将最后存储内容113所采用的加密格式与初始加密格式分开,可以在选择原始内容加密算法时实现更大的灵活性。因此,可以使用广泛接受的并被认可的行业标准算法可以增强安全数字内容电子分发系统100的数字内容工业认可度。

此解密和重新加密194过程的第二个目的是取消了被内容提供商101用来加密此内容113的原版加密密钥623存储被授权播放此内容113每一台最终用户设备109的必要性。加密的主密钥623,作为许可证SC 660的一部分,只缓存在最终用户设备109的硬盘上非常短的时间,并且只在内存中清除,时间也非常短。在此执行阶段,密钥623通过抗窜改的代码技术来保护。一旦此解密和重新加密194阶段完成,在最终用户设备109上无须以任何形式保留此密钥623,从而大大地缩小了黑客侵犯的可能性。

一旦歌曲已经重新加密,它存储在数字内容库196中。播放器应用程序195所使用的所有元数据是从关联的Offer Sc 641中提取的,还存储在数字内容库196中,步骤1403。被加密的元数据的任何一部分,如歌曲歌词,与上文描述的针对其他内容的同样的方式解密和重新加密。用于加密内容113的相同SEAL密钥用于需要加密的任何关联的元数据。

D.播放器应用程序195

1.概述

安全的数字内容电子分发播放器应用程序195(这里简称为“播放器应用程序195”)类似于CD、DVD或其他数字内容播放器,并类似于CD、DVD或其他数字内容存储管理系统。至少它能执行诸如播放歌曲或视频之类的内容113。在另一个级别,它为提供了最终用户提供了一个用于管理他/她的数字内容库196的工具。重要的是,它提供了用于编辑和播放诸如歌曲(这里简称为“播放列表”)内容集。

播放器应用程序195可以从组件的集合组装,这些组件可以分别根据内容提供商101和电子数字内容商店103的要求选择和自定义。描述了播放器的一般版本,但可以进行自定义。

现在请参考图15,该图显示了在图10的最终用户设备109上运行的主要部件和播放器应用程序195的进程的方框图。

有多个构成播放器对象管理器1501的子系统的多个组件集:

1.最终用户接口组件1509

2.复制/播放管理组件1504

3.解密1505、解压1506、播放组件1507,可能还包括记录。

4.数据管理1502和库访问组件1503

5.应用程序间通信组件1508

6.其他杂项(安装等等)组件

基于下列要求可以从这些集内的每一个集中选择组件:

平台(Windows、Unix或等效物)

通信协议(网络、电缆等等)

内容提供商101或电子数字内容商店103

硬件(CD、DVD、等等)

票据交换所105技术等等。

下面几部分详细描述了各种组件集。最后一部分详细描述了在一般播放器中如何将这些组件装配在一起,并讨论了如何自定义组件。

在另一个实施例中,播放器应用程序135的组件和SC处理器132可以作为程序员的软件工具箱的一部分。此工具包可使到一般播放器应用程序的组件的预定义的接口列在上面。这些预定义的接口是API或应用程序编程接口的形式。使用这些API的开发人员可以从高级别应用程序实现组件的任何功能。通过向这些组件提供API,程序员可以很快地开发一个自定义播放器应用程序195,而不必重新创建这些组件的任何组件的这些功能和资源。

2.最终用户接口组件1509

此集中的组件组合在一起以提供播放器应用程序195的屏幕显示。请注意,设计建立了这些组件的不确定的布局。在一般播放器中提供了一个这样的布局。基于来自内容提供商101和/或电子数字内容商店的要求及其他要求,还可以其他布局。

此集被分子组,从用于呈现最终用户显示器1510的组件开始,并处理用于诸如音频播放以及元数据的呈现之类的低级别的功能的叫做“最终用户控件1511”的控件。接下来,最终用户显示部件1510进一步被分为特殊功能组(播放列表、数字内容库),然后,用于分组和放置那些较低级别组件的对象容器组件。

在下面的组件列表内,对创建CDS或将内容113复制到CD或其他可记录的介质的任何引用只适用于播放器应用程序195启用了这样的功能的情况。还请注意,术语CD在该上下文中是一般术语,还可以代表各种其他外部记录设备,如MiniDisc或DvD。

图16是根据本发明的图15的播放器应用程序195的用户界面屏幕的例子。最终用户控件1511的功能包括(最终用户界面的对应的屏幕是显示的1601-1605):

用于执行内容113的控件:

播放/停止按钮

播放按钮

停止按钮

暂停按钮

快进按钮

快退按钮

音量控制

声道位置控制控制/显示

音频通道音量级别显示等等。

用于显示与内容113关联的元数据的控件

封面图片按钮

封面图片对象

艺术家图片按钮

艺术家图片对象

声道列表按钮

声道列表信息对象

声道列表选择器对象(单击以播放)

声道名称对象

声道信息对象

声道歌词按钮

声道歌词对象

声道艺术家名称对象

声道分数按钮

声道分数对象

CD名称对象

CD分数按钮

CD分数对象

一般(可配置的)元数据按钮

一般元数据对象等等。

最终用户显示器1510的功能包括(最终用户界面的对应的屏幕是显示的1601-1605):

显示器容器的播放列表

●播放列表管理按钮

●播放列表管理窗口

●数字内容搜索按钮

●数字内容搜索定义对象

●数字内容搜索提交按钮

●数字内容搜索结果对象

●将所选的搜索结果项目复制到播放列表按钮

●播放列表对象(可编辑)

●播放列表保存按钮

●播放列表播放按钮按钮

●播放列表暂停按钮

播放列表重新启动按钮

●从播放列表按钮创建CD等等。

数字内容库196的显示

●数字内容库按钮

●数字内容管理员窗口

●数字内容类别按钮

●数字内容类别对象

●按艺术家按钮

●按性别按钮

●按标签按钮

●按类别按钮

●删除按钮

●添加到播放列表按钮

●复制到CD按钮

●-歌曲列表对象

●歌曲列表显示容器以及更多的容器和杂项

●播放器窗口容器

●音频控件容器

●元数据控件容器

●元数据显示容器

●工具栏容器对象

●采样按钮

●下载按钮

●购买按钮

●记录按钮

●播放器名称对象

●标签/提供商/商店广告按钮

●标签/提供商/商店URL按钮

●艺术家URL按钮等等

3.复制/播放管理组件1504

这些组件处理加密密钥、水印处理、复制管理等等的设置。还存在用于与Clearinghouse 105进行通信,传输购买请求,诸如按收听次数支付或每次对内容113进行访问都支付的特殊服务的接口。当前,与Clearinghouse 105进行通信的功能是由Sc处理器192进行处理的。

在最终用户设备109上播放器应用程序155使用内容113被记录到诸如许可证数据库197之类的数据库。播放器应用程序195的每一次使用的跟踪可以传输到一个或多个日志站点,如ClearingHouse 105或内容提供商101或电子数字内容商店103或指定并耦合到传输基础结构107的任何站点。这种传输可以安排在预先确定的时间进行,以将使用信息上传到日志站点。一个预先确定的时间是每天早晨当传输基础结构107的网络通信量不那么拥挤时。使用已知技术的播放器应用程序195在预定的时间醒来,并将信息从本地日志数据库传输到日志站点。通过检查日志站点信息,内容提供商101可以衡量他们的内容113的流行程度。

在另一个实施例中,不是记录内容113的使用以便稍后上传到日志站点,而是在每一次使用内容113期间将内容113的使用情况上传到日志站点。例如,当将存储在最终用户设备109上的内容113复制到诸如DVD光盘、数字磁带、快闪存储器、小型磁盘或等效的读取/可写入的可移动介质上之类的外部设备时,使用情况被更新到日志站点。当购买内容113时,这可能是复制传输的使用条件206中的内容113的前提。这将确保在播放、复制或对内容113执行其他操作期间,内容提供商101可以准确地跟踪他们的内容113的使用情况。

此外,有关内容113的其他信息也可以上传到日志站点。例如,执行内容113的最后的时间(例如,小时和日期);执行了内容113多少次;内容113是否复制到诸如DVD光盘、数字磁带或小型光盘之类的已授权的外部设备。如果在最终用户设备109上单个播放器应用程序195有多个不同的用户,如一个家庭的不同的成员,则将内容113的用户的标识符与使用信息一起传输到日志站点。通过检查上传到日志站点的使用信息,内容提供商101可以基于实际使用情况、用户的标识符和执行内容113的次数衡量内容113的流行程度。实际使用情况的测量使用取样法(如电视或电话调查的尼耳森等级方案,在任一时刻只对有限数量的用户进行采样,并推断出结果)使此系统更加面向实际。在此实施例中,对于登录回诸如电子数字内容商店103或内容提供商101之类的指定网站的用户,可以测量实际使用情况。

4.解密1505、解压缩1506和播放组件1506

这些组件使用由“复制/播放管理”组件获得的密钥来将从“数据管理和库访问”组件获得的音频数据解锁,进行相应的解压来准备进行播放,并使用系统音频服务来播放它。在另一个实施例中,从“数据管理和库访问”组件中获得的音频数据可以复制到诸如CD、磁盘、磁带或小型磁盘之类的可移动介质。

5.数据管理1502和库访问组件1503

这些组件用于存储和检索最终用户的系统上的各种存储设备上的歌曲数据,并处理针对存储的歌曲的信息请求。

6.应用程序间通信组件1508

这些组件用于安全的数字内容电子分发播放器及可能调用播放器应用程序195或者当播放器应用程序195在执行其功能时必须使用的其他应用程序(例如,浏览器、帮助程序和/或插件等)。例如,当激活URL控件时,它调用相应的浏览器并指示它加载相应的页面。

7.其他杂项组件

不属于上述类别(例如,安装)的单个的组件都被分组在这里。

8.通用播放器

在本节中,讨论将上述组件合并到播放器应用程序195的版本中。这只是许多可能的不同的例子中的一个,因为播放器应用程序195被设计成基于软件对象进行自定义。播放器对象管理器1501是一个将所有其他组件容纳到一起的软件框架。如上面几节所讨论的,此图表中的播放器对象管理器1501下面的方框是任何播放器所需的,但是,可以被专门的版本替代,具体情况取决于使用的加密的形式,音频压缩的类型、内容113库的访问方法等等。

在播放器对象管理器1501上面是可变对象1512,它们主要是从与正在播放或搜索的内容113关联的元数据派生出的。通过最终用户显示器1510和从最终用户控件1511接收到的输入,使这些可变对象对最终用户设备109可用。所有对象都是可配置的,所有容器的布局也都是可自定义的。这些对象可以用C/C++、Java或任何等效的编程语言来实现。

使用播放器应用程序195

下面的实施例是在最终用户设备109上运行的播放器应用程序195是音频播放器,而内容113是音乐的例子。那些精通本技术的人应该理解的是,播放器应用程序195也支持其他类型的内容113。典型的音频爱好者具有保存了歌曲的CD库。所有这些都可在安全的数字内容电子分发系统100内可用。从电子数字内容商店103购买的歌曲集存储在系统上的数字内容库196内。类似于物理CD的歌曲的分组作为播放列表来存储。在某些情况下,播放列表正好模拟CD(例如,从电子数字内容商店103购买了市场上可买到的CD的所有音轨作为CD的在线版本,并由相当于CD的播放列表的播放列表进行定义)。但是大多数播放列表被最终用户合在一起,以组合他们存储在系统上的数字内容库的歌曲。然而,为便于进行讨论,当提及术语“播放列表”时,使用定做的音乐CD作为示例。

当最终用户显式启动播放器应用程序195而不是通过从SC处理器192应用程序调用来启动它时,它预装到被访问的播放列表。如果在数字内容库196中没有播放列表,则自动启动播放列表编辑器(除非用户通过首选项设置关闭了此功能)。有关详细信息,请参见下面的“播放列表”。

还可以用特定的歌曲作为参数调用播放器应用程序195,在这样的情况下,它立即进入歌曲播放模式。可选地,可以在继续进行之前准备歌曲以便进行播放,但是等候操作。有关此情况下的详细信息,请参见“歌曲播放”。

播放列表(最终用户界面1603的对应的屏幕)

当最终用户调用了播放列表功能时,下面是可用的功能:

●打开播放列表

●调用数字内容管理员,以显示一个存储的播放列表的列表,以便进行选择。有关详细信息,也请参见下面的“数字内容管理员”。

●编辑播放列表

●调用播放列表编辑器(参见下文),如果一个人已经加载,则最好使用当前播放列表。否则,编辑器创建一个空的播放列表,以便开始。

●运行播放列表

●从所选的歌曲开始一次播放一个歌曲(或者,如果没有选择歌曲,则为播放列表的开始)。在播放列表编辑器中设置的选项影响播放的顺序。然而,这里有控件,以覆盖播放列表的此次播放的那些选项。

●播放歌曲

●只播放从播放列表中所选的歌曲。有关详细信息,请参见“歌曲播放”

●播放列表信息

●显示有关播放列表信息。

●歌曲信息

●显示有关播放列表内的所选的歌曲的信息

●将与此播放列表关联的网站加载到浏览器中。

●管理员

●打开“数字内容管理员”窗口。有关详细信息,也请参见下面的“数字内容管理员”。

播放列表编辑器(最终用户界面1603的对应的屏幕)

当调用播放列表编辑器时,下面是最终用户的选项:

●查看/加载/删除播放列表

●调用数字内容管理员,以显示一个存储的播放列表的列表,以便选择其中一个加载或删除。有关详细信息,也请参见下面的“数字内容管理员”。

●保存播放列表

●播放列表的当前版本保存在数字内容库196中。

●删除歌曲

●当前所选的歌曲从播放列表中删除。

●添加歌曲

●在歌曲搜索模式下调用数字内容管理员,以便选择要添加到播放列表的歌曲。有关详细信息,也请参见下面的“数字内容管理员”。

●设置歌曲信息

●显示和允许对有关播放列表内的所选的歌曲的信息进行更改。此信息存储在播放列表内,并不改变有关存储在数字内容库196内的歌曲的信息。下列内容可以更改:

●所显示的歌曲标题

●最终用户有关歌曲的注释

●在播放歌曲时的输入延迟

●在播放歌曲之后的后继延迟

●当播放时歌曲内的开始点

●当播放时歌曲内的终点

●随机节点的权重

●此歌曲及其他的音量调整。

设置播放列表属性:显示并允许对此播放列表的属性进行更改。可以设置下列属性:

●播放列表标题

●播放列表模式(随机、连续等等)

●重复模式(播放一次,当完成时重新启动)

●最终用户有关此播放列表的注释

管理员(最终用户界面1601的对应的屏幕)

●打开“数字内容管理员”窗口。有关详细信息,也请参见下面的“数字内容管理员”。

歌曲播放

当通过调用播放器应用程序195(以歌曲作为参数)或者通过从播放列表中或者在数字内容管理员内选择歌曲进行播放准备了一个歌曲进行播放时,下面是最终用户的选项:(最终用户界面1601的对应的屏幕)

●播放

●暂停

●停止

●快退

●快进

●调节音量

●调节音轨位置

●查看歌词

●查看片头

●查看CD封面

●查看艺术家图片

●查看音轨信息

●查看其他元数据

●访问网站

●播放列表

●管理员等等

数字内容库

当选择歌曲或播放列表(参见上文)或者可以在其自己的窗口中打开以便在最终用户的系统上管理歌曲库时,可以隐式调用数字内容管理员。在这种情况下,下面是最终用户的选项:

处理歌曲:

按艺术家、类别、标记等等对所有内容进行排序

按艺术家、类别、标记等等选择歌曲

向当前播放列表添加所选歌曲

将歌曲复制到CD(如果允许的话)

删除歌曲

将歌曲添加类别等等。

处理播放列表:

按名称排序

按类别排序

按关键字搜索

按包含的歌曲标题搜索

加载所选择的播放列表

重命名播放列表

删除播放列表

从所选择的播放列表创建CD(如果允许的话)等等。

9.防止未经授权的转录

在呈现期间阻止解密内容的记录

图20说明了根据本发明的多媒体最终用户设备109的高级别视图,以及音频卡2056的方框图。借助于此音频卡2056,最终用户能够编码或记录诸如音乐之类的数字内容113,即使该内容已经加密。值得注意的是,虽然音频卡2056被描述为一个功能卡,但是,也可以内置到主板中或者在主板和功能卡之间分开。音频功能卡2056通过功能总线接2060与系统功能总线2058耦合。音频功能卡2056被设计为访问存储了数字内容113的存储介质2054。存储介质2054可以是磁盘、网络设备、磁盘驱动器、CD、DVD、小型磁盘、DAT、盒式磁带、激光盘或任何其他计算机可读的介质。在一个实施例中,数字内容113被加密,以便防止未经授权的访问。音频功能卡2056被设计为将数字文件转换为音频,或者进行相反的操作。音频功能卡2056包含一个特殊的内置处理器,叫做“DSP2062”(数字信号处理器)和控制存储器,该存储器可以是ROM 2064(只读存储器),用于处理通过耦合到最终用户设备109的扬声器输出的数字音频内容113。音频是在记录期间使用音频卡2056上的叫做ADC(模拟-数字转换器)2068的微型芯片转换为数字信号的序列。当播放音频声音时,数字信号被发送到扬声器,在那里,它们被一个叫做DAC(数模转换器)2066的微型芯片转换回模拟信号,DAC通过在从存储介质2054中读取内容113时将数字值转换为一个给定的模拟值来产生变化的声音。

数字内容113通常被压缩,以便进行存储和/或更快的传输。数字内容113以短的独立的片段来发送。一个例子是Wave文件格式。为了使最终用户实时接收到多媒体效果的声音,收听音乐,或者为了参加音频或视频会议,声音必须作为流式声音来提供。比较高级的音频卡支持声音的波表、或预捕获的表。广泛部署的内容113格式是MPEG Layer3。音频功能卡2056通过到音频输出2070的音频电缆2074连接到扬声器2072。为了简化图形,只显示了右边的扬声器。应该理解的是,对于立体声和环绕声系统,需要两个或更多扬声器。

从存储介质2054中读取数字内容113,如有必要,解密和/或解压缩,并由DAC 2066转换为模拟信号,并通过扬声器播放或呈现。正是在此呈现的过程中模拟信号才是解密的形式。在现有技术中为制作未经授权的完美的副本,最终用户可以安装插塞式电缆2076以将音频输出2070连接到2078中的线路。使用插塞式电缆或诸如提供相同功能的操作系统功能之类的软件作为插塞式电缆,可使内容113在没有加密的情况下存储回存储介质2054。此解密的内容113如果是以数字格式捕获的,则是完美的。没有模拟噪声,没有背景噪声,没有转换错误,数字内容113是原件的完美的副本。音频功能卡2056可能需要数字输出接口或者在进行DAC转换之前提供一个到数字内容的直接接口。这种类型的记录消除了加密,并可使完美的未经授权的副本播放、或者进一步复制或发送或销售或通过诸如Napster.com或Gnutella.com或Audiogallaxy.com之类的在线服务进行交换,一般而言,可以以任何方式使用,而不受加密方案的限制。本发明防止了在播放加密内容113时进行这种类型未经授权的重录。

“预先确定的音频质量”这一术语是被内容113的提供商认为可使用的最低质量级别。例如,内容提供商101可能认为,随后的未经授权的重录的低于CD质量音频的任何音频质量都无关紧要。CD质量是使用每秒钟44,100采样转换为数字文件的信息的两个通道(立体声)。

一个多媒体平台被设计为记录或呈现存储的或从最终用户设备109的存储区196中读取的音频。这包括输入音频并转换来自诸如麦克风、乐器(如合成器)、MIDI(乐器数字接口)设备或到呈现音频内容的waveout设备的输出的直接连接之类的来源的模拟波形的能力。这种能力要求上面的图20的音频功能卡中描述的硬件和在音频功能卡和应用程序之间进行连接的设备驱动程序。呈现数字内容的能力导致一个或多个音频流被提供给一个或多个扬声器。本发明中使用的术语“wavein”是指同基于特定的质量记录了内容113的设备驱动程序相结合的硬件。这是在Microsoft Windows Multimedia编程环境中常用的术语。

设计了全双工声卡以允许同时进行记录和播放。正是这种类型的音频平台可以同时呈现多媒体内容和记录内容。通过打开所有wavein设备驱动程序,消除了在最终用户系统上将多媒体内容输出插入到多媒体内容输入中的能力。

虽然上文针对本发明的一个实施例描述了音频功能卡2056的详细信息,但是,值得注意的是,如下文所述的,本发明也可以实施其他类型的多媒体卡和设备。一种类型的硬件是视频卡。

在呈现期间阻止解密内容的记录

现在请看图3,该图是根据本发明的在最终用户设备109上呈现加密文件的流程。当有必要呈现或播放内容113时,流程进入步骤2102和2104。在步骤2200中打开某一质量或预先确定的音频级别的所有非批准的wavein设备和/或端口。在下面的图22中将详细说明此过程。在此过程完成之后,在步骤2118中呈现内容,即,播放或呈现歌曲或者其他多媒体内容113。如果打开预先确定的质量的非批准的wavein设备和/或端口的过程失败,则将此消息发送到播放器应用程序195,流程在步骤2116中退出,而不呈现内容。在内容113的处理完成之后,本发明在步骤2112中关闭waveout设备。一旦此过程完成,则关闭wavein设备和/或端口,流程在步骤2116中退出。

打开Wavein设备和/或端口的详细信息

图22是一个流程图2200,说明了在播放或呈现内容113期间阻止记录内容113。本发明是通过打开,因此阻止所有可用的记录设备和/或端口来实现的。当本发明在步骤2204中使用Microsoftwindows API call wavingetnumdevs()获取一个N wavein设备和/或端口时,流程进入步骤2202。值得注意的是,虽然上面的实施例描述了使用Microsoft Windows API的音频的wavein,但是音频记录设备和/或端口之外的其他记录设备和/或端口也在本发明的范围内。其他记录设备和/或端口包括图片、视频、及其他多媒体记录。此外,本发明可以使用用于在操作系统下记录的任何其他类型的I/O设备和/或端口。假设此列表的wavein设备和/或端口的编号为0到MAX,则本发明在步骤2206中将N设置为0。在步骤2208中确定设备#0能够以诸如CD质量之类的预先确定的质量进行记录。可选地,如果判断设备#0不能进行该质量的记录,则本发明在步骤2210中不判断它是否打开,并进入步骤2218。这种情况的一个例子是调制解调器。如果设备#0支持预先确定的质量(如CD质量),例如,在步骤2210中以每秒44,100抽样数好于或等于双通道(立体声),则在步骤2212中检查设备,以查看它是否打开。如果还没有打开,则在步骤2214中打开。如果在步骤2212中已经打开,则在步骤2216中检查设备,以查看它是否具有权限在呈现解密的媒体期间由本发明打开。如果它具有权限,本发明进入步骤2218。如果没有权限打开,则在步骤2220向播放器应用程序195提供一个不能打开错误。

在步骤2218,检查被处理的设备的数量,以查看它是否为最后一个设备。如果在步骤2218中设备的数量N等于MAX,则流程在步骤2222中退出。如果它不等于MAX,则在步骤2224中当前编号增大1,流程重新进入步骤2208。

这就完成了本发明在播放或呈现加密内容113期间的方法的描述。预先确定的质量的所有可用的记录设备和/或端口都已经打开,因此,不能用于进行记录。

授权记录媒体

现在请看图23,该图是描述记录内容113的要求的流程图2300。流程进入步骤2302,授权在步骤2304记录内容113。对于预先确定质量的文件,任何记录应用程序将搜索未打开的、可用的wavein设备。如果在步骤2306中呈现加密的媒体,但是在步骤2308中没有预先确定的质量的wavein设备和/或端口,则流程在步骤2110退出。如果在步骤2306没有呈现加密的媒体,则记录应用程序可以在步骤2312打开wavein设备并记录媒体。本发明不干涉记录操作,同时播放器应用程序195不会主动地呈现安全的内容113。此外,由于在2200中检测到打开的wavein设备和/或端口可以通过让最终用户关闭所有具有打开的wavein端口的应用程序并重试呈现过程来进行纠正。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号