CN101138239B - 工具包结构和内容执行装置 - Google Patents
工具包结构和内容执行装置 Download PDFInfo
- Publication number
- CN101138239B CN101138239B CN200680007293XA CN200680007293A CN101138239B CN 101138239 B CN101138239 B CN 101138239B CN 200680007293X A CN200680007293X A CN 200680007293XA CN 200680007293 A CN200680007293 A CN 200680007293A CN 101138239 B CN101138239 B CN 101138239B
- Authority
- CN
- China
- Prior art keywords
- tool
- kit
- agent
- data
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8355—Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
- H04N21/83555—Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed using a structured language for describing usage rules of the content, e.g. REL
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/20—Modifications to facilitate cooling, ventilating, or heating
- H05K7/20009—Modifications to facilitate cooling, ventilating, or heating using a gaseous coolant in electronic enclosures
- H05K7/20136—Forced ventilation, e.g. by fans
- H05K7/20172—Fan mounting or fan specifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/20—Modifications to facilitate cooling, ventilating, or heating
- H05K7/20009—Modifications to facilitate cooling, ventilating, or heating using a gaseous coolant in electronic enclosures
- H05K7/20136—Forced ventilation, e.g. by fans
- H05K7/20181—Filters; Louvers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/86—Arrangements characterised by the broadcast information itself
- H04H20/91—Arrangements characterised by the broadcast information itself broadcasting computer programmes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/86—Arrangements characterised by the broadcast information itself
- H04H20/93—Arrangements characterised by the broadcast information itself which locates resources of other pieces of information, e.g. URL [Uniform Resource Locator]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/14—Arrangements for conditional access to broadcast information or to broadcast-related services
Abstract
一种工具包结构,包括:签名值,用于确保工具包的真实性;工具包标识符,用于识别工具包;根据硬件平台提供的每个单元工具包;以及工具包数据,包含当使用每个单元工具包时分配的初始值。每个工具包包括平台信息,其指示关于可在其中使用工具包的硬件的信息;工具包代理,其是为了内容执行而激活的程序;以及工具组,包括根据预定规则、为处理内容而由工具包代理激活的至少一个工具程序。工具代理将由特定服务提供商使用的保护工具组的操作完全交付给由服务提供商与工具组一起提供的工具代理(执行代码)。从而,不需要向公众公开关于所使用的工具的信息。因为用户终端简单地调用每个工具代理,所以其支持与其它DRM技术的互用性。
Description
技术领域
本发明涉及一种用于执行例如多媒体流数据的内容数据的内容执行装置,并且涉及一种存储在内容执行装置中的知识产权管理和保护(IPMP)工具的包(package)结构。
背景技术
知识产权管理和保护(IPMP)工具是具有例如验证、加密、水印等功能的内容保护功能的对象模块,并且处理多媒体数据和例如密钥信息的关键数据。因此,大多数服务提供者拥有专用IPMP工具,并且不愿将关于这些工具的信息(功能、API等)释放给公众。
IPMP工具的广义定义包括用于以安全格式隐藏数据以保护版权或保证数据真实性(authenticity)的IPMP工具,以及为了给出内容数据的各种多媒体效果或增加压缩、传送效率而用于以特定格式简单编码/解码数据的编码器/解码器工具。可使得关于编码器/解码器工具的信息(功能、API等)对公众可用。将以术语的广义意义来解释在此所指的IPMP工具。
同时,每个广播台对其广播内容应用至少一个IPMP工具,以保护该广播内容,和/或对广播内容给出各种多媒体效果。将提供这样的特定广播服务所需要的一组IPMP工具定义为工具组。
每个广播台使用所选择的工具处理广播内容的裸露数据(bare data),以生成内容分组(packet),并经由传送装置将其传送给每个用户。该内容分组最终被传递给用户的播放器。例如,假设广播台A使用工具a、b和c形成内容分组,而广播台B使用工具c、d、e和f形成内容分组。该内容符合MPEG-2标准,并且内容播放器具有根据MPEG-2标准的IPMP终端。
在此情况下,因为每个广播台对保护内容使用单独的工具,所以IPMP终端需要识别可能对于单独的工具不同的全部接口消息,以保证互用性(interoperability)。也就是,如果开发了新工具,并且需要对于该工具的新接口消息,则传统的IPMP终端应当被显著地改变。
此外,当IPMP终端希望使用单独工具时,需要识别关于该工具的信息,该信息指示工具操作的控制点和关于工具的功能的信息(通常,通过接口消息向公众公开)。然而,虽然内容执行装置的设计者希望将工具规范向公众公开,但是由于其降低了工具的安全性,所以工具开发者反对这样的公开。这是因为,当将多个工具应用于一类内容时,暴露了工具自身和应用每个工具的时间点,并且如果每个工具容易被攻击(hack),则最终内容分组的安全性显著降低。因此,在内容执行装置设计者和工具开发者之间存在矛盾的问题。
此外,内容执行装置需要具有工具a、b和c,以执行广播台A的内容,以及具有工具c、d、e和f,以执行广播台B的内容。因此,有时需要访问每个广播台,检查在使用的工具组中是否存在改变、并且根据改变的工具组来调整内容执行装置的工具。存在大量的多媒体编码/解码工具和安全工具。因此,由于内容播放器需要许多工具,所以制造成本增加,并且用户有时需要更新每个广播台的工具。
发明内容
技术问题
本发明针对能够在隐藏执行内容所需要的工具结构的同时保证充分的通用特征的工具包结构。
本发明还针对能够改进内容分组的安全性的工具包结构。
本发明还针对包括能够减少存储在内容执行装置中的工具数据量的工具代理的工具包结构。
本发明还针对包括能够向内容用户提供便利的工具代理的工具包结构。
技术方案
本发明的一个方面提供了一种工具包结构,包括:签名值,用于确保工具包的真实性;工具包标识符,用于识别工具包;至少一个单元工具包;以及工具包数据,包含当使用每个单元工具包时分配的初始值。
每个工具包包括:单元工具包信息;工具包代理,其是为了内容执行而激活的程序;以及工具组,包括根据预定规则、为了处理内容而由工具包代理激活的一个或多个工具程序。
优选的,根据硬件平台提供每个单元包。在此情况下,单元工具包信息是指示关于可在其中使用单元工具包的硬件的信息的平台信息。
本发明的另一方面提供了一种内容执行装置,用于接收预定格式的内容数据,根据该格式转换内容数据,并执行该内容,所述装置包括:工具代理执行器,用于激活与要处理的内容数据的类型相对应的工具代理;以及工具包存储单元,用于存储由工具代理激活的工具程序代码,以根据唯一规则和工具代理的程序代码来处理内容数据。
本发明的又一方面提供了一种用于执行内容数据的方法,包括以下步骤:基于要执行的内容数据的类型,确定并检索要使用的工具包;激活工具包的工具代理;在执行内容数据期间,当由工具代理执行的任务到达需要的控制点时,将执行任务交付给工具代理;以及从工具代理接收执行结果数据,并执行后续任务。
有益效果
通过根据本发明的工具包结构和内容执行装置,可能向内容用户提供便利和/或改进内容分组的安全性。
根据本发明,工具代理将由特定服务提供商使用的保护工具组的操作完全交付给由服务提供商与工具组一起提供的工具代理(执行代码)。从而,不需要向公众公开关于所使用的工具的信息。因为用户终端简单地调用每个工具代理,所以其支持与其它DRM技术的互用性。
附图说明
图1是图解根据本发明示例实施例的工具包结构的框图;
图2是图解根据本发明示例实施例的图1中单元工具包结构的框图;
图3是图解根据本发明示例实施例的图2中工具代理结构的框图;
图4是图解根据本发明示例实施例的图2中工具组结构的框图;
图5是图解包括根据本发明示例实施例的工具包结构的初始值的工具包数据结构的框图;
图6是图解根据本发明示例实施例的内容执行装置的内容执行块的框图;
图7是图解根据本发明示例实施例的内容执行装置的硬件块的框图;
图8-图13图解了根据本发明示例实施例、其中以XML实现工具包结构的大纲(schema)结构;
图14图解了根据本发、其中以XML实现可用于更新工具包的工具包更新消息结构的大纲结构;
图15图解了根据本发明、其中以XML实现可用于更新工具包数据的工具包数据更新消息结构的大纲结构;以及
图16是图解了根据本发明的工具代理和IPMP终端的消息通信结构的流程图。
具体实施方式
以下,将详细描述本发明的示例实施例。但是,本发明不限于以下公开的示例实施例,并且可以各种修改的形式实现。因此,提供这些示例实施例以完成本发明的全面公开,和向本领域的技术人员全面通知本发明的范围。
以下描述的编码/解码不表示暗示压缩/解压的狭义的编码/解码。在此,编码是指根据预定算法转换对象(object)数据的所有处理,而解码是指通过对转换的数据应用预定反向算法而获得原始对象数据的所有处理。
示例实施例1
在此示例实施例中,将本发明的精神应用于符合MPEG2规范的内容广播系统(ISO/IEC JTC 1/SC 29)。在此示例实施例的工具包结构中,可解析(parse)工具代理,并且通过MPEG2规范的IPMP终端来执行工具代理。
根据此示例实施例,根据每个多媒体装置的硬件平台,用于特定广播服务的特定工具包可包括多个内容工具包。在一个工具包中,全部的单元工具包根据硬件规范而简单地具有不同的二进制代码,但是优选地具有相同的接口规范。
图1图解了根据本发明示例实施例的工具包结构。该工具包结构包括:签名值600,用于确保工具包的真实性;工具包标识符220,用于识别工具包;单元工具包300,相应于硬件平台;以及工具包数据400,包括在使用每个单元工具包时分配的初始值。
所示的结构包括用于存储每个单元工具包300的工具包容器200。工具包标识符220可被包括在工具包容器200中。
图8图解了实现这样的工具包结构的XML大纲结构。表1图解了XML大纲结构的元素。在图8和表1中,ToolPackInfo指示工具包容器,ToolPackDataInfo指示工具包数据,并且Signature指示签名值。可通过IPMP终端解析具有所示大纲的工具包。
表1
元素名 | 描述 |
ToolPackInfo | 该元素包括工具包ID、工具代理和工具组 |
ToolPackDataInfo | 该元素包括用于初始化工具代理的信息 |
Signature | 该元素用于工具包大纲的验证和完整性确认 |
工具包容器200还包括用于确保工具包容器的真实性的签名值260。图9图解了实现包括签名值260的工具包容器结构的XML大纲结构。表2图解了XML大纲结构的元素。在图9和表2中,ToolPackInfo指示工具包容器,ToolPackDataInfo指示工具包数据,并且Signature指示签名值。
表2
元素名 | 描述 |
ToolPackID | 这表示工具包的标识符(ID)。当在工具注册服务器中注册工具包时,由工具注册服务器发布该ID。 |
Pack | 该元素包括根据平台的工具代理和工具组。可存在一个或多个包 |
Signature | 该元素用于ToolPackInfo的验证和完整性确认 |
图2图解了根据本发明示例实施例的单元工具包结构。示出的单元工具包结构包括:平台信息350,包括关于单元工具包300可被使用的硬件的信息;工具代理320,其是为内容执行激活的程序;以及工具组340,包括根据预定的规则用于执行内容并且由工具代理320激活的一个或多个工具程序。
如图2所示,单元功能工具包结构优选地包括签名值360,用于确保在单元工具包300的结构中的工具包数据分组的真实性(通过权利保持器(rightholder)生成该签名值360,以指示不存在伪造/串改)。
图10图解了实现单元工具包结构的XML大纲结构。在图10中,ToolAgent指示工具代理、ToolGroup指示工具组、SupportedPlatform指示平台信息、并且Signature指示签名值。
优选地,向每个工具包提供工具代理320。优选地,为了外部装置或处理通过工具包编码的内容数据的应用程序生产者的便利性,向公众公开调用接口的规范和/或参数、返回变量等。优选地,当将要执行需要工具包的内容数据时,预先激活工具代理320。如前面所提到的,可通过在内容执行装置上的预定的IPMP终端来执行工具代理。
在图3中所示的工具代理还可包括:代理标识符(ID)321,用于识别工具代理;远程指针(URL)322,指示可下载工具代理的位置;以及二进制代码324,其为工具代理的执行代码。此外,工具代理还可包括能够确保工具代理320的真实性的工具代理签名值326。
图11图解了实现工具代理结构的XML大纲结构。表3图解了XML大纲结构的元素。在图11和表3中,ToolAgentID指示代理标识符、Remote指示远程指针、Inline指示二进制代码、并且Signature指示签名值。
表3
元素名 | 描述 |
ToolAgentID | 这表示工具代理的标识符(ID)。此ID是由工具代理开发商任意定义的。 |
Remote | 这表示为了下载工具代理而要访问的远程服务器的URL |
Inline | 这包括用于工具代理的二进制代码 |
Signature | 该元素用于ToolAgent的验证和完整性确认 |
如图4所示的工具组可包括:组标识符(ID)341,用于识别工具组;远程指针(URL)342,指示可下载工具组的位置;以及二进制代码344,其为工具组中的工具程序的执行代码。
图12图解了实现工具组结构的XML大纲结构。表4图解了XML大纲结构的元素。在图12和表4中,ToolGroupID指示工具组标识符、Remote指示远程指针、Inline指示二进制代码、并且Signature指示签名值。
表4
元素名 | 描述 |
ToolGroupID | 这表示工具组的标识符(ID)。此ID由工具组开发商任意定义。 |
Remote | 这表示为了下载工具组而要访问的远程服务器的URL |
Inline | 这包括工具组的二进制代码 |
Signature | 该元素用于工具组的验证和完整性确认 |
工具程序用于单独的编码/解码处理。在执行所需任务的同时,激活的工具代理可调用至少一个工具程序,并且向工具程序释放需要的编码/解码处理。但是,由于在外部装置或处理编码的内容数据的应用程序上调用工具代理,所以优选地,相关的生产者识别包括用于工具代理的调用接口和/或参数的规范、返回变量等。但是,只通过工具代理调用工具程序。因此,当通过不向公众公开来保护包括用于工具代理的调用接口和/或参数的规范、返回变量等时,可能获得对于内容数据转换的增加的安全性,而不会麻烦外部装置或相关应用程序的生产者。
同时,工具包中的工具程序可包括由工具代理使用的全部公开的工具程序和全部未公开的工具程序,或者可不包括某些公开的工具程序。后者提供比前者差一些的安全性,但是可通过以交迭方式分别存储可能在多个工具包使用的公开的工具程序,可增强工具包数据的存储效率。为此,后者需要进一步具有公共工具池(pool)结构,即一个或多个包含例如调用接口和/或参数、返回变量等的公开的执行规范的工具程序的组。
可在例如执行存储器和/或存储存储器的存储介质中存储并使用工具包结构,在用于生成并下载工具包的工具服务器和用于执行内容的内容执行装置中提供这些存储器。
同时,可将包括在工具包中的作为执行程序的工具代理和工具程序实现为总是以相同的初始状态被调用(即,重置状态)。可替换地,可将工具代理和工具程序实现为:无论何时被调用,都以改变的初始值被调用,或者为了提供增强的安全性,以从例如外部授权工具服务器被下载的初始值被调用。
在图5中示出的工具包数据结构包括:签名值460,用于确保工具包数据400的真实性;工具包参考值420,指示被应用了工具包数据的工具包;以及初始工具包信息440,包括当激活工具包时所分配的初始值。工具包参考值420指示被应用了所存储的初始值的工具包,并且可包括该工具包的ID值。
工具包数据400结构包括:当工具代理被以初始值调用时、仅仅该工具代理的初始值;当工具程序被以初始值调用时,仅仅至少一个工具程序的初始值;以及当工具代理和工具程序被以初始值调用时,工具代理和工具程序的初始值。
当每次调用工具代理和/或工具程序而改变初始值时,每次调用或终止工具代理和/或工具程序时,在初始工具包数据结构上改变相应的初始值数据。当通过外部工具服务器更新初始值时,在满足例如时间周期的更新条件时,将其更新为从工具服务器下载的新工具包数据块。
同时,如图7所示,存储工具包结构的内容执行装置1200接收预定格式的内容数据,根据该格式转换该数据,并且执行内容。内容执行装置1200包括:工具代理执行器1230,用于根据要处理的内容数据的类型来激活工具代理;以及工具包存储单元1240,用于存储工具代理的程序代码,和根据唯一规则、通过用于处理内容数据的工具代理来激活的至少一个工具程序代码。
将描述通过内容回放终端实现内容执行装置的例子。内容执行装置1200包括用于控制其一般操作的控制装置(CPU)1220。控制装置1220将执行程序从存储存储器加载到执行存储器,以执行该程序。可实现控制装置1220以用作工具代理执行器1230。在此情况下,控制装置1220基于输入内容数据的类型,从工具包存储单元1240检索工具包,如果需要则确认附加到工具包的签名值,将工具代理程序从检索到的工具包加载到执行存储器中,以激活(调用)工具代理程序,并且传递需要的参数。当该装置符合MPEG2标准时,可通过IPMP终端来执行这些任务。
当对于输入的命令和参数执行预定处理时,调用的工具代理调用需要的工具程序。在执行存储器中加载并激活所调用的工具程序。将通过从工具代理接收需要的参数、并且执行预定处理而获得的结果返回到工具代理。在使用一个或多个工具程序完成处理后,工具代理将处理结果传递到控制装置1220,并且终止操作。
因此,在内容执行装置中的工具包存储单元1240可以是其中存储了上述工具包结构的存储介质。例如,当工具包结构包括具有工具代理和/或工具程序的初始值的工具包数据块结构时,如图1到图5所示,将用于记录工具包数据块的字段进一步添加到工具包存储单元1240。此外,当工具包结构包括如上所述的公共工具池时,内容执行装置1200还包括公共工具存储单元1250,所述公共工具存储单元1250用于存储具有公开代码执行规范的公共工具程序,并且根据唯一规则处理内容数据。
内容执行装置1200还可包括用于通过例如因特网的联机电缆接收内容数据的内容数据输入单元1210,以及例如记忆棒的移动数据存储介质。在此情况下,工具代理执行器1230根据在接收的内容数据中的工具包信息来确定希望的工具包。
内容执行装置1200从工具服务器1400下载工具包,并且将其存储在工具包存储单元1240中。内容执行装置1200还可包括用于更新所存储的工具包的工具包管理器1260。控制装置1220可用作工具包管理器1260。
工具服务器1400包括工具注册服务器和工具管理服务器。工具注册服务器是执行用于注册来自每个广播台的使用工具的任务的系统。工具管理服务器是用于将工具包分发到每个用户的内容播放器装置的系统。具有工具注册服务器的权限(authority)可包括工具管理服务器。例如广播台的其它地点可包括工具管理服务器。可替换地,可将工具注册服务器和工具管理服务器组合为一个服务器。以下,将工具服务器和工具管理服务器统一称为工具服务器。
如上所述,在内容服务系统上使用本发明的工具包结构,所述内容服务系统包括:用于生成并下载工具包的工具服务器1400,和用于存储工具包并且在执行内容时使用它的内容执行装置1200。现在将描述在系统中使用工具包结构的方法。
首先,广播台需要注册要被应用于工具服务器中的服务的工具包。当广播台需要工具服务器注册工具组和要与相关信息共同使用的工具代理时,工具服务器生成用于工具组和工具代理的哈稀(hash)值,并且发布唯一识别工具包的工具包ID。工具服务器生成包含工具包信息和由广播台提供的工具包ID的工具包首标(ToolPack_Info大纲)、以及工具组和工具代理的哈稀值,并且使用工具服务器的私有密钥将签名附加到工具包首标。最终,工具服务器将工具包首标、工具组和工具代理分组为工具包(ToolPack大纲),并且将工具包发送到广播台,完成工具包注册过程。
在完成工具包注册过程之后,需要将工具包上传到工具服务器,以由其它装置使用。在接收到工具包上传请求时,工具服务器以DB的形式管理工具包首标信息和二进制工具包。
当用户第一次请求服务时,广播台验证用户,然后向内容执行装置200通知工具服务器400的位置和工具包ID。内容执行装置200请求工具服务器400提供需要的工具包,并且工具服务器400检索请求的工具包,并将其发送到内容执行装置。也就是,内容执行装置200连接到工具服务器400,并且请求工具服务器400发送对应于工具包标识符的工具包,并且工具服务器400从内部工具包DB中检索请求的工具包,并将其发送到内容执行装置200。在此情况下,工具服务器400可将它与它自己的公共密钥一起发送,以便确认工具包验证。
IPMP终端从广播流中调用并解析广播内容消费所需的工具包信息(ID、版本等)、加载需要的工具包、并且调用工具代理。当调用工具代理时,IPMP终端向工具代理提供工具包数据,所述工具包数据包括用于初始化工具的信息和该装置可用的控制点的列表。
如果用户同时调用关于至少一个不同服务信道的不同功能,他/她可调用用于每个服务信道的工具包的全部工具代理。例如,当对于ETRI服务信道选择了普通观看操作时,并且同时,对于信道KBS选择了记录操作,则同时调用用于ETRI服务信道的工具代理和用于KBS服务信道的工具代理,并且适当工具运行由用户选择的每个功能。
工具代理从其管理的工具组中调用需要的工具,使用工具包数据初始化工具,并且将工具连接到适当的控制点。如果在工具组中不存在需要的工具,则工具代理请求IPMP终端检索需要的工具。IPMP终端从公共工具池中检索请求的工具。当工具存在时,IPMP终端将相应的工具实例传递到工具代理。工具代理使用所传递的工具示例来初始化工具,并且将工具连接到控制点。
如果在内容执行装置中不存在需要的工具包,则IPMP终端使用工具包首标信息连接到工具服务器,并且下载需要的工具包。如果在内容执行装置的公共工具池中不存在需要的工具,则IPMP终端连接到工具服务器,以下载需要的工具。
为了更新内容执行装置中的工具,使用通过广播流更新工具的方案(scheme)和通过远程工具服务器更新工具的方案。工具包或公共工具成为更新对象。当通过广播流进行更新时,将工具包更新消息或工具更新消息与广播流一起发送,并且IPMP终端通过该消息执行工具更新。可通过在工具更新消息中包括二进制工具包或工具而立即更新工具。只有关于工具包或工具的信息可被记录在工具更新消息中。在此情况下,IPMP终端可访问工具服务器,并下载需要的工具包或工具。
同时,在通过工具代理或控制装置运行工具程序时,IPMP终端可执行关于工具包的验证,以确认工具包是否合法。在此情况下,内容执行装置请求工具包的证书,并使用从工具服务器输入的公共密钥来确认工具包的签名。
控制点是指当把内容输入到内容执行装置时,IPMP工具可在利用内容的几种方法(回放、存储、传送等)处理内容的每个步骤中应用的点。例如,在消费广播内容的机顶盒中,如表5所示,可在图6的内容处理流上定义控制点。
表5
控制点 | 描述 |
0x00 | 无控制点 |
0x01 | 多路分解前的控制点 |
0x02 | 音频解码前的控制点 |
0x03 | 音频解码后的控制点 |
0x04 | 视频解码前的控制点 |
0x05 | 视频解码后的控制点 |
10x06~0x10 | 保留 |
0x11~0x19 | 存储前的控制点 |
0x20 | 保留 |
0x21~0x29 | 回放前的控制点 |
0x30 | 传送前的控制点 |
示例实施例2
在此示例实施例中,将描述为了允许在图6所示的内容执行装置中顺利地使用第一示例实施例的工具包结构、在内容执行装置和工具代理之间的接口消息结构的例子。
在此示例实施例中,内容执行装置(控制装置)通过标准接口消息与工具代理通信。根据示例实施例的接口消息的数据对象结构如下:假设内容执行装置由广播接收机顶盒和回放终端组成。
Aligued(8)expandable(228-1)Class MessageBase{bit(8)Version;bit(32)Msg_ID;bit(16)Sender;bit(16)recipient;} |
当将广播内容流输入到机顶盒时,回放终端可确认由内容流上的工具包标识符指示的工具包的签名,调用相应的工具代理,并传递用于初始化工具代理的信息。
Class InitializeToolAgentMessage extends MessageBase:bit(8)tag=InitializeToolAgentMessage_tag{ByteArray IPMPTerminalInstance;bit(8)numControlPointsfor(i=0;i<numControlPoints;i++){bit(8)ControlPoint′Type;ByteArray ControlPointAddress;}ByteArray Data;} |
当在工具组中不存在使用内容所需的工具程序时,工具代理可请求回放终端检索公共工具池。
Class GetToolInstances extends MessageBase:bit(8)tag=GetToolInstances_tag{bit(8)numTools;for(i=0;i<numTools;i++){bit(128)ToolID;}} |
回放终端可响应于工具代理关于检索公共工具池的请求,从公共工具池中检索请求的工具程序,并将结果回复到工具代理。
Class GetToolInstancesResponse extends MessageBase:bit(8)tag=GetToolInsiancesResponse_tag{bit(8)numTools;for(i=0;i<numTools;i++){ByteArray ToolInstance;}} |
同时,指令更新存储在回放终端中的工具包相关数据的更新消息可包括用于更新工具包的工具包更新消息、用于更新公共工具的公共功能更新消息、以及用于更新操作工具的初始值块的工具包初始值更新消息。可在广播信道或网络上传递这些消息。消息的示例实施例如下
句法 | 位数 | 记忆存储器 |
ToolPackUpdateMessage(){ | ||
Message_tag | 8 | Uimsbf |
Message_length | 16 | Uimsbf |
Num_ToolPack | 8 | Uimsbf |
For(i=0;i<Num_ToolPack;i++){ | ||
ToolPackDescriptor() | ||
} | ||
} |
句法 | 位数 | 记忆存储器 |
ToolPackDescriptor(){ | ||
Descriptor_tag | 8 | Uimsbf |
Descriptor_length | 16 | Uimsbf |
ToolPackInfoDescriptor() | 8 | Uimsbf |
ToolAgentDescriptor() | ||
ToolGroupDescriptor() | ||
Certificate | ||
} |
句法 | 位数 | 记忆存储器 |
ToolPackInfoDescriptor(){ | ||
Descriptor_tag | 8 | Uimsbf |
Descriptor_length | 16 | Uimsbf |
ToolPackID | 128 | Uimsbf |
ToolPackVersion | 8 | Uimsbf |
ToolServerURL | 字节数组(ByteArray) | |
} |
句法 | 位数 | 记忆存储器 |
ToolAgentDescriptor(){ | ||
Descriptor_tag | 8 | uimsbf |
Descriptor_length | 16 | uimsbf |
ToolAgentBody | 字节数组 | |
} |
句法 | 位数 | 记忆存储器 |
ToolGroupDescriptor(){ | ||
Deseriptor_tag | 8 | Uimsbf |
Descriptor_length | 16 | Uimsbf |
ToolGroupBody | 字节数组 | |
} |
句法 | 位数 | 记忆存储器 |
ToolUpdateMessage(){ | ||
Message_tag | 8 | Uimsbf |
Message_length | 16 | Uimsbf |
Num_Tool | 8 | Uimsbf |
For(i=0;i<Num_Tool;i++){ | ||
ToolDescriptor() | ||
} | ||
} |
句法 | 位数 | 记忆存储器 |
ToolDescriptor(){ | ||
Descriptor_tag | 8 | Uimsbf |
Descriptor_length | 16 | Uimsbf |
ToolID | 128 | Uimsbf |
ToolBody | 字节数组 | |
} |
句法 | 位数 | 记忆存储器 |
ToolPackDataUpdateMessage(){ | ||
Message_tag | 8 | Uimsbf |
Message_length | 16 | Uimsbf |
ToolPackDataDescriptor() | ||
} |
句法 | 位数 | 记忆存储器 |
ToolPackDataDescriptor(){ | ||
Descriptor_tag | 8 | Uimsbf |
Descriptor_length | 16 | Uimsbf |
ToolPackInfoDescriptor() | ||
ToolGroupDataDescriptor() | ||
Signature | 字节数组 | |
} |
句法 | 位数 | 记忆存储器 |
ToolGroupDataDescriptor(){ | ||
Descriptor_tag | 8 | Uimsbf |
Descriptor_length | 16 | Uimsbf |
ToolPackData | 字节数组 | |
} |
示例实施例3
在此示例实施例中,将描述为了允许在与图6所示的符合MPEG2标准的内容执行装置中顺利地使用第一示例实施例的工具包结构、在IPMP终端和工具代理之间的接口消息结构的例子。
首先,将描述工具包数据的更新和使用的工具包更新消息。
当在内容执行装置中不存在工具包时或当需要更新内容执行装置中的工具包时,广播台可将工具包更新相关消息添加到广播流,并且通过IP网络发送它或可单独发送该消息。内容执行装置通过接收的工具包更新消息,使用IPMP终端来更新工具包。
可使用具有如图14和表6所示的大纲结构的工具包更新消息ToolPackUpdateMessage来执行工具包更新任务。
表6
元素名 | 描述 |
MessageID | 工具包更新消息的消息ID |
Version | 工具包更新消息的版本 |
Update | 这包括工具包更新的条件信息。例如,更新时间和服务器位置 |
ToolPackDescriptor | 要更新的工具包的首标信息。可基于此信息确定要更新的工具包。 |
Signature | 该元素用于确认工具包更新消息的完整性和验证 |
也就是,工具包更新消息ToolPackUpdateMessage包括:用于验证作为消息的消息标识符(ID);消息版本,用于指示更新消息的版本;工具包更新条件信息,包括更新工具包所需的信息;工具包描述符,用于指定要更新的工具包;以及签名值,用于确保更新消息的真实性。
可能需要更新作为在初始化工具包时应用的一组初始值的工具包数据,而不是如上所述更新整个工具包。可使用具有如图15和表7所示的大纲结构的工具包更新消息TPDataUpdateMessage来执行工具包数据更新任务。
表7
元素名 | 描述 |
MessageID | 工具包数据更新消息的消息ID |
Version | 工具包数据更新消息的版本 |
Update | 这包括工具包数据更新的条件信息。例如,更新时间和服务器位置 |
ToolPackDescriptor | 要更新的工具包数据的首标信息。可基于此信息确定要更新的工具包数据。 |
Signature | 该元素用于确认工具包数据更新消息的完整性和验证 |
也就是,工具包数据更新消息TPDataUpdateMessage包括:用于识别作为消息的消息标识符(ID);消息版本,用于指示更新消息的版本;工具包数据更新条件信息,包含更新工具包数据所需的信息;工具包数据描述符,用于指定要更新的工具包;以及签名值,用于确保更新消息的真实性。
将总结根据本发明用于使用在内容执行装置200的控制单元(CPU)中的工具包结构来执行内容的方法。所述方法包括:根据要执行的内容数据的类型来确定并检索要使用的工具包的步骤;确认检索的工具包的签名;激活工具包的工具代理;在执行内容数据期间,当通过工具代理执行的任务到达需要的控制点时,向工具代理交付执行任务;并且从工具代理接收执行结果数据,并执行后续任务。
在允许较低安全性的情况下,可省略确认工具包签名的步骤。在向工具代理交付执行任务的步骤之后,工具代理可驱动需要的工具程序,以执行内容数据执行任务。然后,执行后续任务的步骤可被执行。
将对于在IPMP终端和激活的图6的工具代理之间的交互操作(基于接口消息)来总结内容执行方法。如图16所示,通过IPMP终端和激活的工具代理执行的内容执行方法包括以下步骤:基于要执行的内容的类型来检索希望的工具包(S110);激活检索的工具包的工具代理(S120);验证激活的工具代理(S130);将需要的工具连接到每个控制点(S150);通过应用包含工具的初始值的工具包数据来初始化工具(S160);并且执行内容(S170)。
检索要工具包的步骤(S110)还可包括加载所检索的工具包的步骤,其中IPMP终端从内容执行装置的存储存储器中检索工具包。验证工具代理的步骤(S130)可由检验包括在工具包中的签名值的步骤来代替。但是优选的,如图16所示,在IPMP终端和工具代理之间应用相互验证,以进一步增强安全性。
在验证工具代理的步骤(S130)之后,所述方法还可包括步骤:检查是否请求了不是包括在检索的工具包中而是在公共工具池中的公共工具来执行内容,以及当请求了工具池时、经由IPMP终端加载存储在内容执行装置的存储存储器中的公共工具(S140)。
可对于在表1和图6中所示的每个控制点执行工具连接步骤(S150)。在工具初始化步骤中(S160),可应用具有图3的结构的工具包数据。当适当的工具程序被连接到图6所示的内容执行装置的每个控制点时,可执行内容执行步骤(S170)。所述方法还可包括,在内容执行步骤(S170)之后,从每个控制点断开工具的步骤(S180)。
现在将定义应用了内容执行方法并且可在IPMP终端和工具代理之间共同使用以初始化并操作工具包的接口消息。
在图16中示出了接口消息传递。以下面的消息基础类的扩展形式定义接口消息。现在将描述基础类和每个消息类的例子
1)基础类
*语法
Aligned(8)expandable(228-1)Class MessageBaseClass{bit(8)Version;bit(32)Msg_ID;bit(16)Sender;bit(16)Recipient;} |
*含义
Version:消息的版本
Msg_ID:消息的ID
Sender:发送消息的对象
Recipient:接收消息的对象
2)与工具包验证相关的消息
IPMP终端使用以下消息与工具包相互验证。在IPMP终端和工具代理之间使用这些消息。
2-1)InitAuthentication(初始化验证):初始化用于工具包验证的验证方法
*语法
Class InitAuthentication extends MessageBaseClass:bit(8)tag=InitAuthentication_tag{bit(32) ToolPack_ID;bit(8) AuthType;} |
*含义
ToolPack_ID:这指示要验证的工具包的ID。当ID为0时,它指示IPMP终端。
AuthType:每个值具有如表8中所示的含义:
表8
AuthType值 | 含义 |
0x00 | 禁止 |
0x01 | 未请求ID验证 |
0x02 | 未请求ID验证。请求安全信道。 |
0x03 | 请求ID验证。未请求安全信道。 |
0x04 | 请求ID验证。请求安全信道。 |
0x05 0xFE | 保留 |
0xFF | 禁止 |
2-2)MutualAuthentication(相互验证):用于在工具包和IPMP终端之间执行相互验证的消息
*语法
Class MutualAuthentication extends MessageBaseClass:bit(8)tag=MutualAuthentication tag;{bit(1) requestNegotiation;bit(1) successNegotiation;bit(1) failedNegotiation;bit(1) inclAuthenticationDatabit(1) inclAuthCodes;const bit(3)reserved=0b000;if(requestNegotiation){bit(8)uCandidateAlgorithm;AlgorithmDesciptorcandidateAlgorithms[nCandidateAlgorithm];}if(successNegotiation){bit(8) uAgreedAlgorithm;AlgorithmDeseriptoragreedAlgorithms[uAgreedAlgorithm];}if(inclAuthenticalionData){ByteArray AuthenticationData}if(inclAuthCodes){bit(8) type;if(type==0×01){bit(8) nCertificate;bit(8) certType;ByteArray certificates[nCertifieate];}elsei{(type==0×02){KeyDescriptor publicKey;}elseif(type==0×FE){ByteArray opaque;}ByteArray autbCodes;}} |
*含义
requestNegotiation:当请求通过验证方法与接收对象进行协商(negotiation)时,将此设置为“1”。在此情况下,在消息中描述发送对象一侧中使用的验证方法。
successNegotiation:当通过验证方法的协商成功时,将此设置为“1”。在此情况下,在消息中描述协商的验证方法。
failedNegotiation:当通过验证方法的协商失败时,将此设置为“1”。
inclAuthenticationData:当消息中包括验证需要的不透明(opaque)类型的信息时,将此设置为“1”。
inclAuthCode:当消息中包括验证需要的代码时,将此设置为“1”。
type:这表示验证代码的类型值。类型值具有在表9中所示的含义。
表9
类型值 | 含义 |
0x00 | 未使用定义的类型值 |
0x01 | 这表示authCode的值是数字签名值。包括一个或多个SPKI证书或x.509V3证书,作为校验签名的方法(根据cerType值)。 |
0x02 | 这表示authCode的值是数字签名值。包括算法和公共密钥,以确认签名。 |
0x030xDF | ISO保留 |
0xE0OxFD | 用户私有 |
OxFE | 使用应用独立方法。对于验证使用不透明数据。 |
OxFF | 禁止 |
cerType:这表示证书的类型并且具有由证书发布授权(authority)定义的值。
authCode:这表示验证代码并且具有由上述类型定义的值。
ByteArray type:这表示字符串或字节数组。以下示出了一个类结构:
expandable class ByteArray{bit(8)data[sizeOflnstance()];} |
AlgorithmDescriptor type:这是从BaseAlgorithmDescriptor扩展的类型。
2-3)BaseAuthenticationDescriptor(基础验证描述符):用于定义关于验证消息的变量类型的最高类(top class)。
*语法
abstract aligned(8)expandable(2^28~1)class BaseAuthenticationDescriptor:bit(8)tag=0{//empty.To be filled by classes extending this class.} |
*含义
在最高类中,在表10中示出了扩展的描述符。
表10
0x00 | 禁止 |
0x01 | IPMP_AlgorithmDescr_tag |
0x02 | IPMP_KeyDescr_tag |
0x03-0x7F | ISO保留 |
0x7F-OxFE | 用户定义 |
OxFF | 禁止 |
2-4)AlgorithmDescriptor(算法描述符):描述符,用于描述关于应用于验证的算法的信息
*语法
class AlgorithmDescriptor extends BaseAuthenticationDescriptor:bit(8)tag=IPMP_AlgorithmDeser_tag{bit(1) isRegistered;const bit(7) reserved=0b0000.000;if(isRegistered){bit(16) regAlgoID;}else{ByteArray specAlgoID;}ByteArray OpaqueData;} |
*含义:
isRegistered:在由授权注册了算法的情况下,将此设置为“0”。在由注册授权(registration authority)分配了算法时,将此设置为“1”。
regAlogID:由注册授权分配的ID
specAlogID:根据MPEG-2 IPMPX规范分配并如表11中所示而定义的ID。
表11
SpecAlgoID | 内容 | 机密性 | 完整性 |
DH-G-H-x-y | 对于基础组G的Diffie-Hellman密钥协议方案。在证书中指定双方的参数设置。 | 否 | 是 |
EDH-G-H-x-y | 对于基础组G的暂时Diffie-Hellman密钥协议方案。假设双方同意基础组G,并且假设每方生成用于验证的一对公共密钥的暂时参数,并且提交由该方签名的参数。该方的证书用于对方验证签名。 | 否 | 是 |
DH-G-E-H-x-y-z | 结合对称密钥密码算法E使用的DH-G-H-x-y。 | 是 | 是 |
EDH-G-E-H-x-y-z | 结合对称密钥密码算法E使用的EDH-G-H-x-y。 | 是 | 是 |
RSA-OAEP-H-x | Needham-Schroeder方案,配置基于RSA的OAEP,作为公共密钥加密。 | 否 | 是 |
RSA-OAEP-E-H-x-z | 结合对称密钥密码算法E使用的RSA-OAEP-H-x。 | 是 | 是 |
SCHNRR-G-x-y | 对于基础组G的Schnorr识别方案 | 否 | 否 |
在表11中,ID的每个变量具有表12中所示的含义。
表12
变量 | 定义 |
G | 指定基础组(例如椭圆形曲线的子组)的类型 |
E | 指定对称密钥密码算法,以实现消息的机密性 |
H | 指定哈稀功能,以实现消息完整性,要使用的哈稀功能为SHA-1。 |
X | 指定基础字段的大小,例如椭圆形曲线的基础字段的比特长度。 |
Y | 指定基本组的顺序的大小,例如基本组的顺序的比特长度。 |
Z | 指定要使用的对称密钥密码的比特长度。 |
在此,当设置H值时,在两侧要求消息完成性检查。在此情况下,消息包括消息验证代码(MAC)。MAC的使用是可选的。通过在变量H中指示的哈稀功能获得MAC,并且在两侧间共享的秘密信息被用作密钥。MAC如下获得:
MAC=H(H(Shared_Secret)|Message|H(Shared_Secret))
2-5)KeyDescriptor(密钥描述符):描述符,用于描述关于应用于验证的密钥的信息
*语法
class KeyDescriptor extends AlgorithmDcscriptor:bit(8)tag=IPMP_KeyDesct_tag{ByteArray keyBody;} |
*含义
keyBody:此指示密钥值。例如,当加密算法是RSA时,keyBody值将为BER编码数据。
RSAPublicKey::=SEQUENCE{modulus INTEGER,==upublicExponent INTEGER==e} |
3)与工具包初始化相关的消息
当完成在IPMP终端和工具包之间的相互验证时,初始化用于初始化工具代理的任务。
3-1)ConnectToolPack(连接工具包):IPMP终端首先将控制点列表传递到工具代理,使得工具代理将工具组中的工具连接到适当的控制点。
*语法
C1ass ConnectToolPack extends MessageBase:bit(8)tag=ConnectToolPack_tag{bit(8)numControlPointsfor(i=0;i<numControlPoints;i++){bit(8)CoutrolPointType;ByteArray ControlPointAddress;}ByteArray Data;} |
*含义
numControlPoints:这表示控制点的数量。
ControlPointType:这表示控制点索引值。详细内容参见第三章第一部分。
ControlPointAddress:这表示控制点的实例地址值。它指示每个工具要被连接到的点。
Data:可包括其它需要的数据。
3-2)GetToolPackData(得到工具包数据):在工具包数据中描述用于工具代理初始化工具组中的工具的参数信息。因此,工具代理请求IPMP终端提供工具包数据,以初始化工具组中的工具。
*语法
Class GetToolPackData extends MessageBase:bit(8)tag=GetToolPackData_tag{} |
3-3)SendToolPackData(发送工具包数据):IPMP终端从广播流或IP分组中提取工具包数据,并且将其传递到工具代理。IPMP终端可响应于来自工具代理的请求而将工具包数据传递到工具代理,或可直接通过外部ToolPackDataUpdata消息将工具包数据传递到工具代理。在对初始工具包进行初始化时,可能需要工具包数据,并且在工具包操作的时候,可通过IPMP终端新递新工具包数据。
*语法
Class SendToolPackData extends MessageBase:bit(8)tag=SendToolPackData_tag{ToolPackDataDescriptor ToolPackData;ByteArray Data;} |
*含义
ToolPackData:这表示工具包数据。
数据:可包括其它需要的数据。
3-4)GettoolInstances(获得工具实例):当工具组中不存在需要的工具时,工具代理可请求IPMP终端检索工具(公共工具池)。
*语法
Class GetToolInstances extends MessageBase:bit(8)tag=GetToolInstances_tag{bit(8)numTools;for(i=0;i<ntumTools;i++){bit(128)ToolID;}} |
*含义
numTools:这表示要检索的工具的数量。
ToolID:这表示要检索的工具的ID。
3-5)GettoolInstancesResponse(获得工具实例响应):响应于来自工具代理的工具检索请求,IPMP终端从公共工具池中检索所请求的工具,并且将检索的结果回复给工具代理。
*语法
Class GetToolInstancesResponse extends MessageBase:bit(8)tag=GetToolInstancesResponse_tag{bit(8)num Tools;for(i=0;i<numTools;i++){bit(128) ToolID;ByteArray ToolInstance;}} |
*含义
numTools:这表示所检索的工具的数量。
ToolID:这表示所检索的工具的ID。
ToolInstance:这表示所检索的工具的工具实例。
4)事件通知消息
由于工具代理向IPMP终端通知在工具包中发生的事件,IPMP终端需要执行适当的处理。
4-1)NotifyToolPackEvent:工具代理将在工具包初始化中发生的事件和工具包操作传递到IPMP终端,使得适当地处理该事件。
*语法
Class NotifyToolPackEvent extends MessageBase:bit(8)tag=NotifyToolPackEvent_tag{bit(8)EventType} |
*含义
EventType:这表示工具代理将传递到IPMP终端的事件的类型。每个值具有如在表13中指示的事件含义。
表13
事件值 | 含义 |
0x00 | 到控制点的连接成功 |
0x01 | 到控制点的连接失败 |
0x02 | 从控制点断开成功 |
0x03 | 从控制点断开失败 |
0x04 | 工具包数据的解释成功 |
0x05 | 工具包数据的解释失败 |
0x06 | 不能处理工具包 |
0x08~0xC0 | 保留 |
0xC1~0xFF | 用户定义 |
5)与工具包终止相关的消息
当完成内容回放或存在其它原因时,IPMP终端可指令工具代理终止工具包操作。
5-1)DisconnectToolPack(断开工具包):为了从控制点断开工具组中的每个工具,IPMP终端发送到工具代理的消息。
*语法
Class DisconnectToolPack extends MessageBase:bit(8)tag=DisconnectToolPack_tag{ByteArray Data;} |
*含义
Data:可包括其它需要的数据。
同时,IPMP终端或工具代理可能需要从用户直接获得信息。在此情况下,使用以下用户接口消息:
1)IPMP_UserQuery:为了从用户获得需要的信息而用于显示向用户的询问的消息
*语法
class UserQuery extends IPMP_Data_BaseClass:bit(8)tag=IPMP_UserQuery_tag{bit(1) inclDisplayTitle;bit(1) inclDisplayText;bit(1) needReplyText;bit(1) inclOptionSelect;bit(1) inclSMDL;const bit(3) reserved=0b000;bit(24) numOfAltText;for(int i=0;i<numOfAltText;i++){bit(24) languageCode;if (inclDisplayTitle){ByteArray titlcText;}if (inclDisplayText){bit(8) nDisplayText;DTArray displayText[nDisplayText];}if(needReplyText){bit(8) nPromptText;QTArray promptText[nPromptText];}if (inclOptionSelect){bif(8) nOption;OptionArray option[nOption];}if(inclSMDL){bit(1) isReferenced;const bit(7) reserved=0b0000.000;if(isReterenced){ByteArraySMDL_URL;}else{ByteArray_SMDL;}}}} |
*含义
LanguageCode:在ISO 639-2:1998目录文献中定义的语言代码。
titleText:要显示的标题
displayText:要向用户显示的文本
meedReplyText:要由用户输入的文本
promtText:指示输入到用户输入部分的内容的文本字段。例如:用户ID、密码、PIN等
inclOptionSelect:要由用户输入的选项字段。
isExclusive:当将选项相互关联时,一个或多个选项之间的相互排斥(inter-exclusive)的选项。
optionText:指示选项的含义的文本。例如:购买一个月、一次播放、以1024/768来呈现(render)等。
SMIL_URL:指示SMIL文件的位置的元素
SMIL:这表示要显示的SMIL。
2)DTArray
*语法
class DTArray{bit(16) ID;ByteArray displayText;} |
3)RTArray
*语法
class RTArray{bit(16) ID;bit(16) SubID;ByteArray promptText;} |
4)QTArray
*语法
class QTArray{bit(16) ID;bit(16) SubID;bit(1) isHidden;bit(7) 0b0000.000;ByteArray promptText;} |
5)OptionArray
*语法
class OptionArray{bit(1) isExclusive;const bit(7) rescrved=0b0000.000;bit(16) ID;bit(16) SubID;ByteArray promptText;} |
*含义
IsExclusive:当此设置为“1”时,其定义相互排斥的选项字段
ID:用于将数据与特定序列号或其它数据相关联的ID
SubID:ID的SubID组
promptText:要显示的文本
6)IPMP_UserQueryResponse
*语法
class aligned (8)UserIPMP_UserQueryResponse extendsIPMP_Data BaseClass:bit(8)tag=IPMP_UserQueryResponse_tag{bit(1) inclReplyText;bit(1) inclOptionSelect;const bit(6) reserved=0b0000.00;bit(24) languageCode;if (inclReplyText){bit(8) nReplyText;RTArray ReplyText[nReplyText];}if (inclOptionSelect){bit(16) numOfOptions;for(i=0;i<numOfOptions;i++){bit(1) optionResult;//0b1=TRUE,0b0=FALSE;}}} |
*含义
replyText:由用户输入的文本
optionResult:这与replyText相同。但是,需要以预定义的顺序来显示并描述所有选项。
根据本发明的示例实施例以XML大纲实现的工具包结构如下:
<?xml version=“1.0”encoding=“UTF-8”?>
<!--edited with XMLSpy v2005 rel.3 U http://www.altova.com by Paul LEE ASKOR
-->
<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”
xmlns:dsig=“http://www.w3.org/2000/09/xmldsig#”
xmlns:dmptp=“urn:dmp:Represent:ToolPack:2005:09-DMP-RT-NS”
targetNamespace=“urn:dmp:Represent:ToolPack:2005:09-DMP-RT-NS”
elementFormDefault=“qualified”attributeFormDefault=“unqualified”>
<xsd:import namespace=“http://www.w3.org/2000/09/xmldsig#”
schemaLocation=“http://www.w3.org/TR/2002/REC-xmldsig-core-
20020212/xmldsig-core-schema.xsd”/>
<!--elements-->
<xsd:element name=“ToolPack”type=“dmptp:ToolPackType”/>
<xsd:element name=“ToolPackInfo”
type=“dmptp:ToolPackInfoType”/>
<xsd:element name=“Pack”type=“dmptp:PackType”/>
<xsd:element name=“ToolAgent”type=“dmptp:ToolAgentType”/>
<xsd:element name=“toolGroup”type=“dmptp:toolGroupType”/>
<xsd:element name=“SupportedPlatforrn”
type=“dmptp:SupportedPlatformType”/>
<xsd:element name=“ToolPackDataInfo”
type=“dmp中:ToolPackDataInfoType”/>
<xsd:element name“ToolPackData”
type=“dmptp:ToolPackDataType”/>
<!--complex types-->
<!--ToolPackType-->
<xsd:complexType name“ToolPackType”>
<xsd:sequence>
<xsd:element name“ToolPackInfo”
type=“dmptp:ToolPackInfoType”minOccurs“0”!>
<xsd:element name=“ToolPackDataInfo”
type“dmptp:ToolPackDataInfoType”minOccurs”O”/>
<xsd:element ref=“dsig:Signature”minOccurs“0”/>
</xsd:sequence>
</xsd:complexType>
<!--ToolPackInfoType-->
<xsd:complexType name=“ToolPackInfoType”>
<xsd:sequence>
<xsd:element name=“ToolPacklD”
type=“xsd:anyURI”/>
<xsd:element name=“Pack”type=“dmptp:PackType”
maxOccurs“unbounded”/>
<xsd:element ref=“dsig:Signature”minOccurs“0”/>
</xsd:sequence>
</xsd:complexType>
<!--PackType-->
<xsd:complexType name“PackType”>
<xsd:sequence>
<xsd:element name“ToolAgent”
type“dmptp:ToolAgentType”/>
<xsd:element name“toolGroup”
type=“dmptp:toolGroupType”/>
<xsd:element name=“SupportedPlatform”
type=“dmptp:SupportedPlatfOrmType”/>
<xsd:element ref=“dsig:Signature”minOccurs“0”/>
</xsd:sequence>
<xsd:attribute name=“number”type=“xsd:decimal”/>
</xsd:complexType>
<!--ToolAgentType-->
<xsd:complexType name=“ToolAgentType”>
<xsd:sequence>
<xsd:element name=“ToolAgentID”
Type=“xsd:anyURI”/>
<xsd:choice>
<xsd:element name=“Remote”
type=“xsd:anyURI”/>
<xsd:element name=“Inline”
type=“xsd:base64Binary”/>
</xsd:choice>
<xsd:element ref=“dsig:Signature”minOccurs“0”/>
</xsd:sequence>
</xsd:complexType>
<!--toolGroupType-->
<xsd:complexType name=“toolGroupType”>
<xsd:sequence>
<xsd:element name=“toolGroupID”
type=“xsd:anyURI’/>
<xsd:choice>
<xsd:element name“Remote”
type“xsd:anyURI”/>
<xsd:element name=“Inline”
type“xsd:base64 Rinary”/>
</xsd:choice>
<xsd:element ref=“dsig:Signature”minOccurs=“0”/>
</xsd:sequence>
</xsd:complexType>
<!--SupportedPlatforrnType-->
<xsd:complexType name=“SupportedPlatformType”mixed=“true”>
<xsd:sequence>
<xsd:any namespace=“##any”processContents=“lax”
minOccurs“0”!>
</xsd:sequence>
</xsd:complexType>
<!--ToolPackDataInfoType-->
<xsd:complexType name=“ToolPackDataInfoType”>
<xsd:sequence>
<xsd:element name=“ToolPackReflD”
type=“xsd:anyURI”/>
<xsd:element name=”ToolPackData”
type=“dmptp:ToolPackDataType”/>
<xsd:element ref=“dsig:Signature”minOccurs“0”/>
</xsd:sequence>
</xsd:complexType>
<!--ToolPackDataType-->
<xsd:complexType name=“ToolPackDataType”>
<xsd:sequence>
<xsd:any namespace=“##any”processContents=“lax”
minOccurs=“0”/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
以XML大纲形式具体实现的工具包结构的例子如下所示:
<?xml vetsion=“1.0”encoding=“UTF-8”?>
<dmptp:ToolPack
xmlns=“http://www.w3.org/2001/XMLSchema”:xsi=http://www.w3.org/2001
/XMLScherna-instance”:dmptp=“urn:dmp:Represent:ToolPack:2005:09-
DMP-RT-NS”:schemaLocation=“Urn:dmp:Represent:ToolPack:2005:09-DMP-RT-NS
dmptp.xsd”>
<dmptp:ToolPackInfo>
<dmptp:ToolPackID>urn:dmp:Represent:ToolPack:2005:001</dmptp:
ToolPackID>
<dmptp:Pack number“1”>
<dmptp:ToolAgent>
<dmptp:ToolAgentID>urn:dmp:Represent:ToolAgent:2005:001</dmptp:ToolAgentID>
<dmptp:Remote>http://www.etri.re.kr/ETRItool
agent001.dll</dmptp:Remote>
</dmptp:ToolAgent>
<dmptp:toolGroup>
<dmptp:toolGrouplD>urn:dmp:Represent:toolGroup:2005:001</dmptp:toolGroupID>
<dmptp:Remote>http://www.etri.re.kr/ETRItool
group001.dll</dmptp:Remote>
</dmptp:toolGroup>
<dmptp:SupportedPlatform
xmlns:mpeg4ipmp=“urn:mpeg:mpeg4:IPMPSchema:2002”>
<mpeg4ipmp:TerminalID>
<mpeg4ipmp:OperatingSystem>
<mpeg4ipmp:Vendor>Microseft
Corporation</mpeg4iprnp:Vendor>
<mpeg4ipmp:Model>Windows
XP Professional</mpeg4ipmp:Model>
<mpeg4ipmp:Version>SP2</mpeg4ipmp:Version>
</mpeg4ipmp:OperatingSystem>
</mpeg4ipmp:TerminalID>
</dmptp:SupportedPlatform>
</dmptp:Pack>
<dmptp:Pack number=“2”>
<dmptp:ToolAgent>
<dinptp:ToolAgentID>urn:dmp:Represent:ToolAgent:2005:002</dmptp:ToolAgentlD>
<dmptp:Inline>0xfea001</dmptp:Inline>
</dmptp:ToolAgent>
<dmptp:toolGroup>
<dmptp:toolGroupID>um:dmp:Represent:toolGroup:2005:002</dmptp:toolGroupID>
<dmptp:Inline>Oxfea001</dmptp:Inline>
</dmptp:toolGroup>
<dmptp:SuppertedPlatform
xmlns:mpeg4ipmp=“urn:mpeg:mpeg4:IPMPSchema:2002”>
<mpeg4ipmp:TerminalID>
<mpeg4ipmp:OperatingSystem>
<mpeg4ipmp:Vendor>Redhat
Corporation</mpeg4ipmp:Vendor>
<mpeg4ipmp:Model>Linux</mpeg4ipmp:Model>
<mpeg4ipmp:Version>7.0</mpeg4ipmp:Version>
</mpeg4ipmp:OperatingSystem>
</mpeg4ipmp:TerminalID>
</dmptp:SupportedPlatfom>
</dmptp:Pack>
<dmptp:Pack number=“3”>
<dmptp:ToolAgent>
<dmptp:ToolAgentID>urn:dmp:Represent:ToolAgent:2005:003</dmptp:ToolAgentID>
<dmptp:Inline>Oxfea001</dmptp:Inline>
</dmptp:ToolAgent>
<dmptp:toolGroup>
<dmptp:toolGroupID>urn:dmp:Represent:toolGroup:2005:003</dmptp:toolGroupID>
<dmptp:Remote>http://www.etri.re.kr/ETRItool
group003.dll</dmptp:Remote>
</dmptp:toolGroup>
<dmptp:SupportedPlatform
xmlns:mpeg4ipmp=“urn:mpeg:mpeg4:IPMPSchema:2002”>
<mpeg4ipmp:TerminalID>
<mpeg4ipmp:OperatingSystem>
<mpeg4ipmp:Vendor>Microsoft
Corporation</mpeg4ipmp:Vendor>
<mpeg4ipmp:Model>Windows
CE</mpeg4ipmp Model>
<mpeg4ipmp:Version>2.0</mpeg4ipmp:Version>
</mpeg4ipmp:OperatingSystem>
</mpeg4ipmp:TerminalID>
</dmptp:SupportedPlatform>
</dmptp:Pack>
</dmptp:ToolPackInfo>
<dmptp:ToolPackDataInfo>
<dmptp:ToolPackRefID>urn:dmp:Represent:ToolPack:2005:001</dm
p:ptp:ToolPackRefID>
<dmptp:ToolPackData>
<!--any namespace schema can be descibed here!!-->
</dmptp:ToolPackData>
</dmptp:ToolPackDataInfo>
</dmptp:ToolPack>
虽然已经参考某些示例性实施例示出并描述了本发明,但是本领域的技术人员将理解,其中可做出形式和细节上的各种改变,而不背离由所附权利要求定义的本发明的精神和范围。
Claims (5)
1.一种内容执行装置,用于接收预定格式的内容数据,根据该格式转换内容数据,并且执行内容,所述装置包括:
工具包管理器,用于更新所存储的工具包,其中所述工具包包括至少一个单元工具包;签名值,用于确保工具包的真实性;工具包标识符,用于识别工具包;以及工具包数据,包含当使用每个单元工具包时分配的初始值,每个单元工具包包括:指示其中使用单元工具包的硬件的平台信息;为了内容执行而激活的工具包代理;以及根据预定规则为了处理内容数据而由工具包代理激活的一个或多个工具程序;
工具包存储单元,用于存储工具包;以及
工具代理执行器,用于激活与要处理的内容数据的类型相对应的工具代理,其中所述工具代理激活工具程序之一以处理内容数据。
2.如权利要求1所述的装置,还包括公共工具存储单元,用于存储具有开放执行规范、并根据预定规则处理内容数据的公共工具程序代码。
3.如权利要求1所述的装置,还包括内容输入单元,用于接收外部广播内容,其中所述工具代理执行器基于包括在广播内容中的工具包信息来确定要使用的工具包。
4.如权利要求1所述的装置,其中所述装置接收工具包更新消息,并基于工具包更新消息更新存储的工具包,其中所述工具包更新消息包括消息标识符、消息版本、包含更新工具包所需要的信息的工具包更新条件信息、用于指定要更新的工具包的工具包描述符、以及用于确保更新消息的真实性的签名值。
5.如权利要求1至3任意一个所述的装置,其中激活的工具代理从由所激活的工具代理管理的工具组中调用并且初始化需要的工具程序。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050029642 | 2005-04-08 | ||
KR10-2005-0029642 | 2005-04-08 | ||
KR20050029642 | 2005-04-08 | ||
KR1020050055461 | 2005-06-27 | ||
KR10-2005-0055461 | 2005-06-27 | ||
KR20050055461 | 2005-06-27 | ||
PCT/KR2006/001228 WO2006107168A1 (en) | 2005-04-08 | 2006-04-03 | Tool pack structure and contents execution device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101138239A CN101138239A (zh) | 2008-03-05 |
CN101138239B true CN101138239B (zh) | 2012-05-30 |
Family
ID=37073692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680007293XA Expired - Fee Related CN101138239B (zh) | 2005-04-08 | 2006-04-03 | 工具包结构和内容执行装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8261356B2 (zh) |
EP (1) | EP1867158B1 (zh) |
JP (1) | JP4856168B2 (zh) |
KR (1) | KR100836212B1 (zh) |
CN (1) | CN101138239B (zh) |
AT (1) | ATE524017T1 (zh) |
WO (1) | WO2006107168A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100776788B1 (ko) * | 2005-01-17 | 2007-11-19 | 한국전자통신연구원 | Ipmp 툴의 갱신을 위한 언어 표현 방법 및 데이터 구조를 기록한 컴퓨터 판독 가능한 기록 매체, 이를 이용한 ipmp 툴 갱신 방법, 그리고 이를 적용한 사용자 단말 |
WO2007106844A2 (en) * | 2006-03-14 | 2007-09-20 | Divx, Inc. | Federated digital rights management scheme including trusted systems |
KR100776801B1 (ko) | 2006-07-19 | 2007-11-19 | 한국전자통신연구원 | 화상 처리 시스템에서의 제스처 인식 장치 및 방법 |
US8850209B2 (en) * | 2006-09-12 | 2014-09-30 | Microsoft Corporation | Schema signing |
US8997161B2 (en) | 2008-01-02 | 2015-03-31 | Sonic Ip, Inc. | Application enhancement tracks |
CN101651507B (zh) * | 2008-08-15 | 2013-05-29 | 威盛电子(中国)有限公司 | 安全播放多媒体广播内容的方法及系统、多媒体广播系统 |
CA2749170C (en) | 2009-01-07 | 2016-06-21 | Divx, Inc. | Singular, collective and automated creation of a media guide for online content |
KR20100138700A (ko) * | 2009-06-25 | 2010-12-31 | 삼성전자주식회사 | 가상 세계 처리 장치 및 방법 |
CA2774648C (en) * | 2009-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Modular device authentication framework |
US8781122B2 (en) | 2009-12-04 | 2014-07-15 | Sonic Ip, Inc. | Elementary bitstream cryptographic material transport systems and methods |
US9247312B2 (en) | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
WO2012161125A1 (ja) * | 2011-05-20 | 2012-11-29 | 日本放送協会 | 受信機、プログラム及び受信方法 |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1317202A (zh) * | 1998-07-17 | 2001-10-10 | 汤姆森许可公司 | 广播数字电视的条件存取系统 |
WO2003021965A1 (en) * | 2001-09-03 | 2003-03-13 | Matsushita Electric Industrial Co., Ltd. | Apparatus of a flexible and common ipmp system for mpeg-2 content distribution and protection |
WO2003075576A2 (en) * | 2002-03-05 | 2003-09-12 | Matsushita Electric Industrial Co., Ltd. | A method of transferring information specifying a tool utilized for processing a content protected by ipmp |
CN1539107A (zh) * | 2001-06-07 | 2004-10-20 | ��̹�е¿عɹɷ�����˾ | 用于订阅数字权利管理的方法和系统 |
CN1582422A (zh) * | 2001-09-04 | 2005-02-16 | 诺基亚有限公司 | 防止未被授权使用软件的方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3793009B2 (ja) | 2000-09-06 | 2006-07-05 | キヤノン株式会社 | コンテンツ再生装置 |
JP4311899B2 (ja) | 2001-03-02 | 2009-08-12 | パナソニック株式会社 | コンテンツの配信および保護を行なう方法および装置 |
JP3751850B2 (ja) | 2001-03-30 | 2006-03-01 | 日本電信電話株式会社 | コンテンツ管理方法、装置、プログラム及び記録媒体 |
JP2003078519A (ja) * | 2001-06-04 | 2003-03-14 | Matsushita Electric Ind Co Ltd | コンテンツ提供及び保護用の柔軟及び共通ipmpシステムの装置及び方法 |
JP4308493B2 (ja) * | 2001-09-03 | 2009-08-05 | パナソニック株式会社 | Mpeg−2コンテンツの配信と保護のためのフレキシブルで共通のipmpシステムに関する装置 |
JP4252280B2 (ja) * | 2001-10-29 | 2009-04-08 | パナソニック株式会社 | ベースラインdvb−cpcmの装置 |
WO2003067819A2 (en) * | 2002-02-05 | 2003-08-14 | Matsushita Electric Industrial Co., Ltd. | Method of distributed ipmp device messaging and carriage of rights in mpeg ipmp content |
AU2003209711A1 (en) | 2002-02-08 | 2003-09-02 | Matsushita Electric Industrial Co., Ltd. | A process of ipmp scheme description for digital item |
US7631318B2 (en) | 2002-06-28 | 2009-12-08 | Microsoft Corporation | Secure server plug-in architecture for digital rights management systems |
KR20040020175A (ko) | 2002-08-29 | 2004-03-09 | 예스 소프트 주식회사 | 공개키 암호화 알고리즘을 적용하여 콘텐츠 파일을커널모드에서 복호화하는 방법, 이를 이용하여뷰어프로그램의 plug-in 지원에 비종속적인 DRM클라이언트 프로그램 |
KR100501211B1 (ko) | 2002-12-24 | 2005-07-18 | 한국전자통신연구원 | 플러그인 구조 기반의 디알엠 클라이언트 장치 |
-
2006
- 2006-04-03 EP EP06732795A patent/EP1867158B1/en not_active Not-in-force
- 2006-04-03 JP JP2008505231A patent/JP4856168B2/ja not_active Expired - Fee Related
- 2006-04-03 WO PCT/KR2006/001228 patent/WO2006107168A1/en active Application Filing
- 2006-04-03 KR KR1020060030312A patent/KR100836212B1/ko not_active IP Right Cessation
- 2006-04-03 US US11/910,932 patent/US8261356B2/en not_active Expired - Fee Related
- 2006-04-03 CN CN200680007293XA patent/CN101138239B/zh not_active Expired - Fee Related
- 2006-04-03 AT AT06732795T patent/ATE524017T1/de not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1317202A (zh) * | 1998-07-17 | 2001-10-10 | 汤姆森许可公司 | 广播数字电视的条件存取系统 |
CN1539107A (zh) * | 2001-06-07 | 2004-10-20 | ��̹�е¿عɹɷ�����˾ | 用于订阅数字权利管理的方法和系统 |
WO2003021965A1 (en) * | 2001-09-03 | 2003-03-13 | Matsushita Electric Industrial Co., Ltd. | Apparatus of a flexible and common ipmp system for mpeg-2 content distribution and protection |
CN1582422A (zh) * | 2001-09-04 | 2005-02-16 | 诺基亚有限公司 | 防止未被授权使用软件的方法 |
WO2003075576A2 (en) * | 2002-03-05 | 2003-09-12 | Matsushita Electric Industrial Co., Ltd. | A method of transferring information specifying a tool utilized for processing a content protected by ipmp |
Also Published As
Publication number | Publication date |
---|---|
US8261356B2 (en) | 2012-09-04 |
JP4856168B2 (ja) | 2012-01-18 |
KR20060107313A (ko) | 2006-10-13 |
ATE524017T1 (de) | 2011-09-15 |
WO2006107168A1 (en) | 2006-10-12 |
CN101138239A (zh) | 2008-03-05 |
US20080201781A1 (en) | 2008-08-21 |
EP1867158A1 (en) | 2007-12-19 |
JP2008536216A (ja) | 2008-09-04 |
EP1867158B1 (en) | 2011-09-07 |
EP1867158A4 (en) | 2010-03-10 |
KR100836212B1 (ko) | 2008-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101138239B (zh) | 工具包结构和内容执行装置 | |
US8151342B2 (en) | Contents execution device equipped with independent authentication means and contents re-distribution method | |
CN101310474B (zh) | 用于装置之间的数字版权管理的方法和系统 | |
US7627686B2 (en) | Media contents distribution system and method | |
KR100518094B1 (ko) | 콘텐츠의 배신 및 보호를 실행하는 방법 및 장치 | |
KR100734033B1 (ko) | 방송 콘텐츠 보호/관리 시스템 | |
CN1278558C (zh) | 用于条件使用的方法和系统 | |
CN101843109A (zh) | 处理数据的方法和iptv接收设备 | |
JP2019050578A (ja) | 放送通信連携受信装置及び放送通信連携システム | |
CN101584212B (zh) | 用于控制对加密的数字内容进行访问的方法 | |
EP2206338A1 (en) | Method and system for downloading software | |
US20060191015A1 (en) | Copy-protecting applications in a digital broadcasting system | |
CN105580386A (zh) | 接收设备、广播设备、服务器设备以及接收方法 | |
JP2006508563A (ja) | デジタルホームネットワーク用鍵の有効性の確認方法 | |
WO2009017367A2 (en) | Method and system for storage and playback of broadcasting contents, rights issuer applied to the same | |
US20070083659A1 (en) | Streaming system | |
JP2007501461A (ja) | デジタル放送システム用のコピープロテクトアプリケーション | |
CN102497269A (zh) | 一种票据鉴权方法和系统 | |
EP1842364A1 (en) | Contents execution device equipped with independent authentication means and contents re-distribution method | |
KR100947315B1 (ko) | Dcas 기반 로밍 지원 방법 및 시스템 | |
JP2007200057A (ja) | コンテンツ配信システム、uimカードを備える携帯型端末、プログラム及び記録媒体 | |
KR20060061756A (ko) | 방송ㆍ통신 융합 환경에서의 티-커머스 서비스 시스템 및그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20150403 |
|
EXPY | Termination of patent right or utility model |