專利名稱:一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字版權(quán)管理技術(shù),尤其涉及一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承方法及系統(tǒng)。
背景技術(shù):
數(shù)字版權(quán)管理(Digital Rights Management,DRM)技術(shù)可以有效防止用戶通過網(wǎng)絡(luò)和計算機(jī)非法復(fù)制、傳送數(shù)字媒體內(nèi)容,從而保護(hù)媒體內(nèi)容開發(fā)者的利益,是實(shí)現(xiàn)將媒體內(nèi)容通過網(wǎng)絡(luò)進(jìn)行銷售的前提條件之一。其基本原理是媒體內(nèi)容的發(fā)行者(Content Issuer,CI)將加密后的數(shù)字媒體內(nèi)容上傳到網(wǎng)絡(luò)服務(wù)器供用戶下載,而將媒體內(nèi)容的解密密鑰、使用權(quán)限等交給版權(quán)發(fā)行者(Right Issuer,RI)管理,后者將密鑰、使用權(quán)限等信息寫入版權(quán)對象(RightObject,RO)中;用戶如果要使用媒體內(nèi)容,除了從CI服務(wù)器上下載加密的媒體內(nèi)容外,還必須向RI購得與該媒體內(nèi)容相應(yīng)的RO;此外,用戶終端設(shè)備上必須有一個版權(quán)代理模塊(DRM Agent),該模塊能讀取RO中的密鑰對媒體內(nèi)容進(jìn)行解密,并根據(jù)RO中所描述的權(quán)限信息控制用戶對媒體內(nèi)容的使用。
現(xiàn)有DRM標(biāo)準(zhǔn)規(guī)范中,寫入子RO的asset元素可以包含子元素inherit,允許子RO從父RO繼承權(quán)限。但是,在現(xiàn)有DRM標(biāo)準(zhǔn)繼承機(jī)制中,只在子RO的asset元素中可以包括子元素inherit,表示從父RO中繼承permission(權(quán)利),在子RO中asset的其他同級元素,如permission,constraint(限制),requirement(需求),condition(條件)和party(權(quán)利方)等元素中,不允許包含inherit元素。因此,在現(xiàn)有DRM標(biāo)準(zhǔn)繼承機(jī)制中,子RO對父RO的繼承僅限于對Permission的繼承,而不能實(shí)現(xiàn)對于其他元素的繼承,也不能支持子RO選擇性繼承父RO的元素。比如,繼承Permissions和Constraints,或繼承Permission和其他元素,或繼承多于一個但不是全部的元素。
圖1示出了現(xiàn)有DRM標(biāo)準(zhǔn)繼承機(jī)制中針對RO繼承的一個實(shí)例,其中內(nèi)容1(content1)子asset,inherit所標(biāo)識的subsc如tionGUID為父asset,inherit表示子RO從父RO中繼承permission。這樣該例中的子RO只能從父RO中繼承到permission,而不能有選擇性的繼承其他特定的元素,例如constraint、requirement、party和condition等?,F(xiàn)有標(biāo)準(zhǔn)繼承機(jī)制對constraint,party,requirement和condition等元素,沒有繼承的方法。
發(fā)明內(nèi)容
本發(fā)明提供一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承方法及系統(tǒng),用以解決現(xiàn)有技術(shù)中存在不能對父RO元素進(jìn)行選擇性繼承的問題。
為了解決上述技術(shù)問題,本發(fā)明提供一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承方法,包括以下步驟A、當(dāng)有內(nèi)容需要進(jìn)行版權(quán)對象RO繼承時,版權(quán)發(fā)行者RI在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或全部同級元素,再在需要指定繼承和/或不繼承的子asset的同級元素中寫入inherit子元素,來標(biāo)識針對所述元素是否從父RO繼承對應(yīng)的元素,然后將所述子RO發(fā)送給版權(quán)代理模塊DRM Agent;B、所述DRM Agent收到所述子RO后,根據(jù)所述子RO的子asset是否包含inherit子元素確定是否要從父asset繼承父asset的部分或全部同級元素,再根據(jù)所述子asset的同級元素中的inherit子元素確定所述同級元素是否從父RO繼承對應(yīng)的元素,生成最終的子RO。
進(jìn)一步地,上述方法還可具有以下特點(diǎn)用所述同級元素中缺省的inherit子元素標(biāo)識所述同級元素繼承或不繼承父RO中對應(yīng)的元素。
進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述步驟A中,在部分或全部需要繼承的子asset的同級元素中標(biāo)識子RO自定義的子元素和父RO中對應(yīng)元素的優(yōu)先關(guān)系;所述步驟B中,所述DRM Agent根據(jù)所述子asset的同級元素中的所述優(yōu)先關(guān)系標(biāo)識決定子RO自定義的所述元素是否覆蓋從父RO繼承來的所述元素。
進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述子RO針對一個或多個內(nèi)容,所述步驟A中,在所述同級元素中寫入asset子元素,以指定針對特定asset是否繼承所述同級元素;所述步驟B中,所述DRMAgent根據(jù)所述同級元素中的asset子元素確定針對特定asset是否繼承所述同級元素。
進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述步驟B中,當(dāng)所述DRM Agent發(fā)現(xiàn)inherit子元素同時出現(xiàn)在子asset和其同級元素時,按其同級元素的inherit子元素處理;當(dāng)DRM Agent發(fā)現(xiàn)子asset中包含Inherit子元素而其他同級元素中沒有inherit子元素時,按照所述子asset中的inherit子元素處理。
進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述步驟B中,在生成最終的子RO時,當(dāng)針對兩個或多個內(nèi)容的所述同級元素的繼承情況以及其他子元素都一致時,將所述針對兩個或多個內(nèi)容的所述同級元素合并。
本發(fā)明還一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承系統(tǒng),包括版權(quán)發(fā)行者RI和版權(quán)代理模塊DRM Agent,所述RI,用于當(dāng)有內(nèi)容需要進(jìn)行版權(quán)對象RO繼承時,在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或全部同級元素,再在需要指定繼承和/或不繼承的子asset的同級元素中寫入inherit子元素,來標(biāo)識針對所述元素是否從父RO繼承對應(yīng)的元素;并將所述子RO發(fā)送給DRM Agent;所述DRM Agent,用于在收到所述子RO后,根據(jù)所述子RO的子asset是否包含inherit子元素確定是否要從父asset繼承父asset的部分或全部同級元素,再根據(jù)所述子asset的同級元素中的inherit子元素確定所述同級元素是否從父RO繼承對應(yīng)的元素,生成最終的子RO。
本發(fā)明有益效果如下本發(fā)明采用一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承方法及系統(tǒng),在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或者全部同級元素,而不是現(xiàn)有DRM標(biāo)準(zhǔn)繼承機(jī)制中的只繼承permission。再在子asset的需要指定繼承和/或不繼承的同級元素中寫入inherit子元素標(biāo)識是否針對本元素從父RO繼承對應(yīng)的元素過來,從而實(shí)現(xiàn)對父RO各個元素的選擇性繼承。
圖1為現(xiàn)有DRM標(biāo)準(zhǔn)繼承機(jī)制中針對RO繼承的一個實(shí)例示意圖;圖2為本發(fā)明實(shí)施例一中實(shí)現(xiàn)RO繼承的流程圖;圖3為本發(fā)明實(shí)施例一中的父RO和子RO示意圖;圖4為本發(fā)明實(shí)施例一中DRMAgent確定特定元素繼承情況的流程圖;圖5為本發(fā)明實(shí)施例二中的父RO和子RO示意圖。
具體實(shí)施例方式
本發(fā)明的核心思想是,在DRM系統(tǒng)中,需要RO繼承時,在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或全部同級元素,如permission、party、constraint、condition、requirement等。另,可以在子asset的同級permission、party、constraint、condition以及requirement等元素里增加inherit子元素,來標(biāo)識是否針對本元素從父RO繼承對應(yīng)的元素過來。從而實(shí)現(xiàn)對各元素的選擇性繼承。
下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步地描述。
在本發(fā)明中,子RO自定義的子元素與其從父RO繼承所得元素之間存在優(yōu)先關(guān)系,用inherit的overide(覆蓋有效)和default(缺省有效)屬性標(biāo)識。Override為True表示子RO不從父RO繼承相關(guān)元素(如Permission等),而使用子RO自定義的元素(如Permission等);為False表示子RO能夠從父RO繼承相關(guān)元素。Default為True表示子RO自定義的元素不能覆蓋從父RO繼承來的相關(guān)元素;為False表示子RO自定義的元素可以覆蓋從父RO繼承來的相關(guān)元素;Override和Default缺省可以為False或True,由具體需要而定。當(dāng)Override缺省為False時,如果某個asset的同級元素沒有具體寫入inherit子元素則表示要從父RO繼承對應(yīng)元素,當(dāng)Override缺省為True時,如果某個asset的同級元素沒有具體寫入inherit子元素則表示不從父RO繼承對應(yīng)元素,在這種情況下,asset的同級元素中至少有一個元素中包含標(biāo)識需要繼承的inherit子元素。下面以O(shè)verride和Default缺省為False的情況對本發(fā)明作說明。兩個屬性各種取值組合對形成子RO有效元素的影響結(jié)果如表1所示(其中,P表示從父RO繼承來的元素有效;C表示子RO自定義的元素有效)表1
實(shí)施例一實(shí)施例一以子RO只針對一個內(nèi)容的情況為例進(jìn)行說明,如圖2所示,實(shí)施例一中實(shí)現(xiàn)RO繼承的流程包括以下步驟步驟S1、RI在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或全部同級元素;步驟S2、RI根據(jù)繼承需要在子asset的同級permission、party、constraint、condition以及requirement等元素里增加inherit子元素,來標(biāo)識是否針對本元素從父RO繼承對應(yīng)的元素過來,以及子RO自定義的子元素與父RO中對應(yīng)元素之間的優(yōu)先關(guān)系;圖3示出了一個實(shí)例中的父RO和子RO,其中content1為子asset,inherit所標(biāo)識的subscriptionGUID為父asset。子RO的子asset的inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或者全部同級元素,另外,為了標(biāo)識是否針對子asset的同級元素從父RO繼承對應(yīng)的元素過來,如圖所示,該實(shí)例中,在permission和constraint中增加了inherit,其中,permission中inherit的override為False,Default為True,指定子RO從父RO繼承permission且父RO的Permission元素優(yōu)先;constraint中inherit的override為True,Default為False,指定子RO不從父RO繼承constraint。子RO中permission等元素的inherit子元素覆蓋asset中的inherit。
步驟S3、RI將該子RO發(fā)送給DRMAgent;步驟S4、DRM Agent接收到該子RO后,根據(jù)該子RO中的asset元素中包括的inherit找到父RO,并根據(jù)asset的同級元素中包括的inherit子元素確定特定同級元素是否從父RO繼承對應(yīng)的元素以及子RO自定義的該特定子元素和父RO中對應(yīng)元素的優(yōu)先關(guān)系,生成最終的子RO(在該子RO針對的內(nèi)容使用時,根據(jù)該最終的子RO來確定內(nèi)容時權(quán)限)。
如圖4所示,步驟S4中確定每個特定同級元素是否從父RO繼承對應(yīng)的元素以及子RO自定義的該特定子元素和父RO中對應(yīng)元素的優(yōu)先關(guān)系的處理包括以下步驟步驟S41、判斷該元素包括的inherit子元素的override是否為True,如果是,進(jìn)行步驟S42,否則,進(jìn)行步驟S43;步驟S42、判斷該元素包括的inherit子元素的default是否為True,如果是,該元素的RO繼承出錯,不從父RO繼承該元素,結(jié)束;否則,不從父RO繼承該元素,子RO的該元素有效,結(jié)束;步驟S43、判斷該元素包括的inherit子元素的default是否為True,如果是,從父RO繼承該元素,且從父RO繼承得到的該元素優(yōu)先于子RO自定義的對應(yīng)元素;否則,從父RO繼承該元素,且子RO自定義的該元素優(yōu)先于從父RO繼承得到的對應(yīng)元素。
上述實(shí)例最終的子RO如下<rights>
<agreement>
<asset>
<context>
<uid>Content1</uid>
</context>
</asset>
<permission>
<play>
<constraint>
<interval>24</interval>
</constraint>
</play>
<give/>
</permission>
<party>
<context>
<uid>x500:c-EX</uid>
</context>
</party>
<condition>
<constraint>
<software>macro</software>
</constraint>
</condition>
</agreement>
</rights>
其中,子RO從父RO繼承了asset的同級元素party、condition、permission。其中,子RO從父RO繼承permission且父RO的Permission元素優(yōu)先,但由于子RO中permission定義的<give/>和從父RO繼承得到的permission并不沖突,所以在最終的子RO中,permission元素中包括了從父RO繼承得到的內(nèi)容和其自定義的內(nèi)容。而由于指定不繼承父RO的constraint,而且子RO中沒有constraint。所以,新RO也沒有constraint。
實(shí)施例一中實(shí)現(xiàn)RO繼承的系統(tǒng),包括RI和DRM Agent,其中
RI用于當(dāng)有內(nèi)容需要進(jìn)行版權(quán)對象RO繼承時,在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或全部同級元素,再在需要指定繼承和/或不繼承的子asset的同級元素中寫入inherit子元素,來標(biāo)識針對所述元素是否從父RO繼承對應(yīng)的元素;并將所述子RO發(fā)送給DRMAgent;DRM Agent用于在收到所述子RO后,根據(jù)所述子RO的子asset是否包含inherit子元素確定是否要從父asset繼承父asset的部分或全部同級元素,再根據(jù)所述子asset的同級元素中的inherit子元素確定所述同級元素是否從父RO繼承對應(yīng)的元素,生成最終的子RO。
實(shí)施例二在permission中,可以進(jìn)一步攜帶asset子元素,標(biāo)識當(dāng)前permission針對的asset,inherit與這個特性配合,可以指定針對asset從父RO繼承特定的元素。比如,一個RO中包含兩個內(nèi)容,而只有一個內(nèi)容需要從父RO中繼承Permission,而另外一個元素不需要繼承。在Permission中,加入inherit與asset就可以表示針對一個asset繼承的特性。對于constrains等元素(包括condition、requirement和party等),目前標(biāo)準(zhǔn)規(guī)范中沒有定義asset作為其子元素的元素,則需要允許asset作為其子元素,使其可以按照asset來進(jìn)行定制繼承,然后和Permission同樣處理。
當(dāng)inherit同時出現(xiàn)在agreement的子元素asset和其他同級元素時,按照同級元素的inherit處理;當(dāng)asset中包含Inherit而其他同級元素中沒有inherit時,按照asset中的inherit處理。
如圖5所示的實(shí)例中,子RO中agreement的子元素asset中包含inherit,但其他同級元素中也存在inherit,因此該agreement的子元素asset中包含inherit不發(fā)揮作用。針對asset-1即content1的permission的inherit中,override為True且default為False,表示不從父RO繼承permission;針對asset-2即content2的permission的inherit中,override為False且default為True,表示從父RO繼承permission且父RO的permission優(yōu)先;針對asset-1即content1的constraint的inherit中,override為False,而default的默認(rèn)值為False,因此,表示從父RO繼承constraint且子RO的constraint優(yōu)先。
本實(shí)施例最終的子RO如下<rights>
<agreement>
<assetid=asset-1>
<context>
<uid>Content1</uid>
</context>
</asset>
<assetid=asset-2>
<context>
<uid>Content2</uid>
</context>
</asset>
<permission>
<asset idref=asset-1>
<give/>
</permission>
<permission>
<asset idref=asset-2>
<play>
<constraint>
<interval>24</interval>
</constraint>
</play>
</permission>
<constraint>
<asset idref=asset-1>
<count>10</count>
</constraint>
<constraint>
<asset idref=asset-2>
<count>10</count>
</constraint>
<party>
<context>
<uid>x500:c-EX</uid>
</context>
</party>
<condition>
<constraint>
<software>macro</software>
</constraint>
</condition>
</agreement>
</rights>
其中,針對asset-1即content1,不從父RO繼承permission;繼承父RO的constraint的內(nèi)容。針對asset-2即content2,從父RO繼承permission和constraint的內(nèi)容,asset-1和asset-2都繼承了父RO的party和condition的內(nèi)容。
在生成最終的子RO時,如果子RO中針對兩個或多個content的asset的同級元素的繼承情況以及其他子元素都一致,可以將上述針對兩個或多個content的該同級元素合并,下面以兩個content的permission合并為例進(jìn)行說明。
例如,最終生成的子RO中,針對content1和content2的permission完全一致<permission>
<asset idref=content-1>
</asset>
<play/>
</permission>
<permission>
<asset idref=content-2>
</asset>
<play/>
</permission>
則可以將它們合并為<permission>
<asset idref=content-1>
<asset idref=content-2>
<play/>
</permission>
容易想見,即使只針對一個內(nèi)容時,子RO中也可以在permission,condition,party等asset的同級元素中指明其繼承所針對的asset。在本實(shí)施例的一個變化中,把a(bǔ)sset作為上述同級元素的必選子元素以指明其繼承所針對的asset。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承方法,其特征在于,包括以下步驟A、當(dāng)有內(nèi)容需要進(jìn)行版權(quán)對象RO繼承時,版權(quán)發(fā)行者RI在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或全部同級元素,再在需要指定繼承和/或不繼承的子asset的同級元素中寫入inherit子元素,來標(biāo)識針對所述元素是否從父RO繼承對應(yīng)的元素,然后將所述子RO發(fā)送給版權(quán)代理模塊DRM Agent;B、所述DRM Agent收到所述子RO后,根據(jù)所述子RO的子asset是否包括inherit子元素確定是否要從父asset繼承父asset的部分或全部同級元素,再根據(jù)所述子asset的同級元素中的inherit子元素確定所述同級元素是否從父RO繼承對應(yīng)的元素,生成最終的子RO。
2.如權(quán)利要求1所述的方法,其特征在于,用所述同級元素中缺省的inherit子元素標(biāo)識所述同級元素繼承或不繼承父RO中對應(yīng)的元素。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟A中,在部分或全部需要繼承的子asset的同級元素中標(biāo)識子RO自定義的子元素和父RO中對應(yīng)元素的優(yōu)先關(guān)系;所述步驟B中,所述DRM Agent根據(jù)所述子asset的同級元素中的所述優(yōu)先關(guān)系標(biāo)識決定子RO自定義的所述元素是否覆蓋從父RO繼承來的所述元素。
4.如權(quán)利要求1所述的方法,其特征在于,所述子RO針對一個或多個內(nèi)容時,所述步驟A中,在所述同級元素中寫入asset子元素,以指定針對特定asset是否繼承所述同級元素;所述步驟B中,所述DRMAgent根據(jù)所述同級元素中的asset子元素確定針對特定asset是否繼承所述同級元素。
5.如權(quán)利要求1或4所述的方法,其特征在于,所述步驟B中,當(dāng)所述DRM Agent發(fā)現(xiàn)inherit子元素同時出現(xiàn)在子asset和其同級元素時,按其同級元素的inherit子元素處理;當(dāng)DRM Agent發(fā)現(xiàn)子asset中包含Inherit子元素而其他同級元素中沒有inherit子元素時,按照所述子asset中的inherit子元素處理。
6.如權(quán)利要求1所述的方法,其特征在于,所述步驟B中,在生成最終的子RO時,當(dāng)針對兩個或多個內(nèi)容的所述同級元素的繼承情況以及其他子元素都一致時,將所述針對兩個或多個內(nèi)容的所述同級元素合并。
7.一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承系統(tǒng),包括版權(quán)發(fā)行者RI和版權(quán)代理模塊DRM Agent,其特征在于,所述RI,用于當(dāng)有內(nèi)容需要進(jìn)行版權(quán)對象RO繼承時,在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或全部同級元素,再在需要指定繼承和/或不繼承的子asset的同級元素中寫入inherit子元素,來標(biāo)識針對所述元素是否從父RO繼承對應(yīng)的元素;并將所述子RO發(fā)送給DRM Agent;所述DRM Agent,用于在收到所述子RO后,根據(jù)所述子RO的子asset是否包含inherit子元素確定是否要從父asset繼承父asset的部分或全部同級元素,再根據(jù)所述子asset的同級元素中的inherit子元素確定所述同級元素是否從父RO繼承對應(yīng)的元素,生成最終的子RO。
全文摘要
本發(fā)明涉及數(shù)字版權(quán)管理技術(shù),尤其涉及一種數(shù)字版權(quán)管理系統(tǒng)中的版權(quán)對象繼承方法及系統(tǒng)。其中,當(dāng)有內(nèi)容需要進(jìn)行RO繼承時,RI在子RO的子asset寫入inherit子元素標(biāo)識子asset要從父asset繼承父asset的部分或全部同級元素,再在需要指定繼承和/或不繼承的子asset的同級元素中寫入inherit子元素,來標(biāo)識針對該元素是否從父RO繼承對應(yīng)的元素,然后將子RO發(fā)送給DRMAgent;DRMAgent收到該子RO后,根據(jù)該子RO中的相應(yīng)標(biāo)識生成最終的子RO。采用本發(fā)明技術(shù)方案,可以實(shí)現(xiàn)對父RO元素的選擇性繼承。
文檔編號G06F21/00GK101086751SQ200610082808
公開日2007年12月12日 申請日期2006年6月9日 優(yōu)先權(quán)日2006年6月9日
發(fā)明者李益民, 石國欣 申請人:華為技術(shù)有限公司