interoperable digital rights management platform · marketing or procuring digital media...

745
1 1 The Digital Media Project Interoperable Digital Rights Management Platform Technical Specification, version 3.3 23 October 2010

Upload: others

Post on 17-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

1 1

The Digital Media Project

Interoperable Digital Rights Management Platform

Technical Specification, version 3.3

23 October 2010

Page 2: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

2 2

NOTICE

Use of the technologies described in this DMP Approved Document may infringe patents,copyrights or intellectual property rights of DMP Members or non-members. Under no circumstanceshall DMP be held responsible for identifying any or all such rights.

Neither DMP nor any of its Members accept any responsibility whatsoever arising out of or inconnection with the use of this DMP Approved Document, the information contained herein and anyrelated Information Technology expression for damages or liability, direct or consequential.

This DMP Approved Document supersedes all previous versions and is subject to change withoutnotice.

DMP is a non profit organisation registered in accordance to the laws of Switzerland.

Copyright © 2006-2007-2008-2009-2010 – The Digital Media Project

Page 3: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

3 3

Foreword

The Digital Media Project

The Digital Media Project (DMP) is a non-profit Association registered in Geneva, Switzerland. Itsmission is “to promote the successful development, deployment and use of digital media that respectthe rights of creators and rights holders to exploit their works, the wish of end users to fully enjoythe benefits of digital media and the interests of value-chain players to provide products and services,according to the principles laid down in the Digital Media Manifesto” [10].

Membership in DMP is open to any corporation and individual firm, partnership, governmentalbody or international organisation. DMP does not restrict Membership on the basis of race, colour,sex, religion or national origin. By joining DMP each Member agrees, both individually andcollectively, to adhere to open competition in the development of digital media technologies,products or services. DMP Members are not restricted in any way from designing, developing,marketing or procuring digital media technologies, hardware, software, systems or services.Members are not bound to implement or use specific digital media standards, recommendations andspecifications by virtue of their participation in DMP.

The goals of DMP are realised by developing Technical Specifications, Technical References andRecommended Practices enabling businesses that support new or improved end-user experiencesand Recommended Actions to appropriate entities to act on removal of barriers holding upexploitation of digital media. Technical Specifications, Technical References, RecommendedPractices and Recommended Actions are collectively called "DMP Approved Documents" (AD).

DMP operates on the basis of open international collaboration of all interested parties: corporationsand individual firms, partnerships, governmental bodies or international organisations, supportingthe DMP mission and the means to achieve its goals. DMP ADs are developed according to theDMP Procedures of Work [11]. DMP seeks the involvement of creators and end users of DigitalMedia through appropriate mechanisms.

DMP ADs are publicly available documents whose copyright is retained by DMP. DMP has thepolicy to contribute the results of its activities to appropriate formal standards bodies and otherappropriate entities whenever this is instrumental to achieve the general DMP goals. Electroniccopies of DMP ADs can be obtained free of charge from the DMP web site (http://www.dmpf.org/)or from the DMP Secretariat ([email protected]).

DMP has the intention to make ADs available in a form such that users can implement them eitherfreely, or on a royalty-free basis or on fair and reasonable terms and non discriminatory (RAND)conditions following the IEC/ISO/ITU policy on IPR in international standards. When issuing Callsfor Proposals DMP explicitly advises Respondents to the Calls of this policy. If DMP references anexternal standard or specification in a DMP AD, DMP expects that the same IPR policy, or acomparable one, has been adopted by the entity that produced the standard or specification.

However, it must be noted that DMP is not in a position to make any expressed or implied guaranteethat licensing of any of the technologies relevant to any or all of its ADs can indeed be obtainedeither royalty free, or at RAND terms.

Page 4: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

4 4

Media and Digital Technologies

Media content has always played an important role in all societies and manifold technologies havebeen invented and deployed to provide means to store, distribute and consume it. The complexity ofthese technologies and the stimulus to provide ever-enhanced end-user experiences have createdvery complex media content value-chains populated by an increasing number of interactingintermediaries, each providing increasingly sophisticated services to the two extremes of the value-chains – creators and end users – as well as to the various intermediaries in between. Note that inDMP all players in the value chain – Creators, intermediaries and End-Users – are generically calledValue-Chain Users or, simply, Users. Note that terms beginning with a capital letter are defined inthe DMP Terminology [6].

Media value-chain technologies have been designed with two main purposes in mind: the first toprovide or augment the end-user experience, and the second to provide or augment the capability todistribute media content. The latest round of technologies – the digital technologies – has augmentedthe end-user experience, e.g. by providing very high quality audio and video that does notdeteriorate with time and use. Further digital networks have also dramatically increased thedistribution potential of media content.

As a result, some of the traditional means to manage the value of media content along the value-chain are rapidly losing their established meaning. This is the source of various difficulties and is themajor cause of the poor exploitation of the potential of digital media technologies. Digital RightsManagement (DRM) has been advocated by many as the set of technologies that can overcome thesedifficulties because Users are given the possibility to manage Content while it moves along theValue-Chain. The reader is alerted to the fact that the DMP defines DRM as follows: InformationTechnology components and services which strive to distribute and control content and its rights.

The DMP agrees that DRM has the potential to combine the benefit of digital technologies with theneed for a virtuous circle that motivates Creators to continue creating because remuneration isfacilitated by DRM technologies. However, DMP sees serious problems in the introduction of DRMtechnologies that are lacking Interoperability.

A DRM system can be described as a particular form of communication designed to providecontrolled communication between two or more Users. Therefore the implementation of a DRMsystem may require a broad range of communication technologies. Unless these are designed in sucha way as to enable communication of Content between two different implementations, DRMbecomes an obstacle that prevent Users from having the seamless and rewarding communicationthat digital media technologies can enable. This has particularly serious consequences in the case ofthe End-User because the lack of Interoperability detracts from the End-User experience and thusmay seriously impede the take off of services designed to provide appropriate remuneration torelevant value-chain users.

Standards can bring benefits to the very special type of communication systems called DRM.However, the application of DRM standards obeys different rules because DRM is tightly connectedto business practices that typically need different combinations of DRM technologies. As theintroduction of digital technologies is currently forcing changes in the way value-chain users

Page 5: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

5 5

conduct their business, it is hard to define today what kinds of standards are required, much less toforecast what kinds of standard will be needed in the future.

The DMP approaches the problem of DRM Interoperability by specifying individual technologies –that DMP calls Tools – required to implement what DMP calls “Primitive Functions”. These are“smaller” functions obtained when the functions value-chain users perform when they do businessbetween themselves are broken down into more atomic elements. It is expected that, while functionsmay undergo substantial changes as a consequence of the evolution of the media business in thevalue-chain, Primitive Functions will generally remain more stable and may just need to beaugmented with new technologies.

Therefore the DMP is not developing a universal “DRM standard” capable of providinginteroperability between every variety of different Users in arbitrary Value-Chains or acrossdifferent Value-Chains. The DMP provides specifications of Tools enabling Primitive Functionsalong with examples of how Value-Chains serving specific goals can be set up using the standardTools. The DMP specifications are developed in phases, so as to achieve gradual development ofstandards technologies.

The DMP approach to DRM standardisation is based on the following process

1. For each phase Use Cases deemed to be significant are identified and documented;2. Primitive Functions required to implement the selected Use Cases are singled out;3. Requirements for Primitive Functions are developed through inputs from relevant Users;4. Tools serving the needs represented by the Use Cases are standardised;5. Calls for Proposals for Tools with the identified requirements are issued;6. The Tools are selected and documented through an open process. DMP favours Tools that have

already been developed, standardised or adopted by other bodies, possibly adapting them toDMP needs;

7. Specifications of how Tools can be assembled to implement the selected Use Cases aredeveloped;

8. In subsequent phases, Calls for Proposals for additional Tools needed to support new PrimitiveFunctions or additional functionalities of existing Tools are issued.

The DMP calls the ensemble of all standardised DRM Tools “Interoperable DRM Platform (IDP)”.The IDP provides several major advantages:

1. The specifications are industry agnostic, i.e. Users are free to build a great variety of Value-Chains that suit their business models by combining just the Tools that are appropriate for them;

2. The capabilities of a Value-Chain or new Value-Chains can be extended by adding more Tools,possibly through additional standardisation;

3. The cost to access standardised Tools may be reduce because in general Tools have multipleusages and may be provided by multiple suppliers;

4. Full interoperability can be achieved within a Value-Chain;5. An enhanced degree of interoperability can be achieved between different Value-Chains;6. Innovation can be continuously fed in the system.

Page 6: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

6 6

DRM requires more than technology

In spite of the value the DMP attaches to Interoperable DRM as the main digital media-enablingtechnology, the DMP has noted that DRM has the potential to substantially alter the balance that hasbeen in existence in the analogue world between different Users of Content, in particular when oneof them is the End-User. If not appropriately remedied, this imbalance may lead to a significantreduction of the scope of Traditional Rights and Usages (TRU) of Users. A possible outcome is theoutright rejection of the new technology on the part of some Users, in particular End-Users who willperceive the media experience in a DRM environment as inferior.

The DMP is not claiming that an established TRU necessarily implies a right of a User to aparticular Use of digital media but simply that, if Users have found a particular Use advantageous inthe analogue domain, they are probably interested in continuing to exercise that Use in the digitaldomain as well. Leveraging upon this interest may provide multiple opportunities for new “DigitalMedia Business Models” that are attractive to Users but respectful of Rights Holders.

Therefore the DMP intends to add technologies to its specifications to make the exercise of a broadrange of TRUs technically possible. However, even a summary analysis shows that many TRUshave a legislative/regulatory impact that needs to be addressed by proper authorities. This can onlybe done within individual jurisdictions by determining which TRUs shall be mandated inInteroperable DRM Platforms operating under their jurisdiction and which TRUs can be left toprivate deals between Users. This is a challenging task because it requires blending knowledgeencompassing the legal, social and economic fields with in-depth knowledge of the highlysophisticated and unusual DRM technologies.

The suite of DMP Approved Documents

DMP has produced the following ADs:

1. Approved Document No. 1 – Value Chain Functions and Requirements [1]: a collection ofPrimitive Functions derived from today’s media value-chains with corresponding Requirements.

2. Approved Document No. 2 - Architecture [2]: a general architecture that describes some of thedigital extensions of today’s media value-chains and collects the basic assumptions andtechnologies underlying the establishment of IDP-enabled Value-Chains.

3. Approved Document No. 3 – Interoperable DRM Platform [3]: a collection of technicalspecifications of basic Tools that are needed to implement Primitive Functions.

4. Approved Document No. 4 – Use Cases and Value Chains [4]: a collection of Use Casesalong with normative specifications of examples of (portions of) Value-Chains implementingthe Use Cases using the Tools drawn from the IDP Toolkit.

5. Approved Document No. 5 – Certification and Registration Authorities [5]: a set ofoperational rules for Certification Authorities established to Certify Devices and DRM Tools,and Registration Authorities established to Assign Identifiers to Content, DRM Tools, Devices,Users and Domains.

6. Approved Document No. 6 – Terminology [6]: a set of terms and corresponding definitionsthat are used throughout DMP ADs providedto overcome the problem of DRM being a field thatimpacts many existing fields with their own established and sometimes conflicting terminologies.

Page 7: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

7 7

7. Approved Document No. 7 – Reference Software [7]: a software implementation of IDP Toolsdistributed, whenever possible, under the Mozilla Public Licence. When this is not possibleDMP provides the reference software with a “modify, use and distribute” license.

8. Approved Document No. 8 – End-to-End Conformance [8]: a set of Recommended Practicesthat Value-Chain Users can reference to ascertain that the Tools employed by other partiesconform to DMP Technical Specifications and Technical References.

9. Approved Document No. 9 – Mapping of Traditional Rights and Usages to the DigitalSpace [9]: a set of example support of TRUs using DMP Tools possibly complemented byrecommendations to appropriate authorities to enable the benefit of TRUs in a DMP-enabledworld of digital media.

Page 8: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

8 8

Table of ContentsForeword .............................................................................................................................................. 3

The Digital Media Project ................................................................................................................ 3Media and Digital Technologies ...................................................................................................... 4DRM requires more than technology............................................................................................... 6The suite of DMP Approved Documents ......................................................................................... 6

Table of Contents ................................................................................................................................. 81 Value Chain Functions and Requirements ................................................................................. 12

1.1 Introduction ........................................................................................................................ 121.2 Value-Chain Users ............................................................................................................. 131.3 General requirements ......................................................................................................... 141.4 Primitive Functions ............................................................................................................ 151.5 Functional requirements..................................................................................................... 17

2 Architecture................................................................................................................................ 432.1 An End-to-End Value-Chain.............................................................................................. 432.2 The DMP Models ............................................................................................................... 482.3 Platform Tools.................................................................................................................... 70

3 Interoperable DRM Platform ..................................................................................................... 823.1 Introduction ........................................................................................................................ 823.2 Represent ............................................................................................................................ 833.3 Protocols........................................................................................................................... 2063.4 Package............................................................................................................................. 240

4 Use Cases and Value Chains.................................................................................................... 2474.1 Introduction ...................................................................................................................... 2474.2 Use Case and Value Chain No. 1 – Open Release ........................................................... 2474.3 Use Case and Value Chain No. 2 – Open Search............................................................. 2624.4 Use Case and Value Chain No. 3 – Home Distribution #1 .............................................. 2644.5 Use Case and Value Chain No. 4 – Home Distribution #2 .............................................. 2664.6 Use Case and Value Chain No. 5 – Internet Distribution ................................................ 2684.7 Use Case and Value Chain No. 6 – Controlled Peer-to-Peer Distribution....................... 2714.8 Use Case and Value Chain No. 7 – Smart Retailer .......................................................... 2754.9 Use Case and Value Chain no. 8 – Personal photography ............................................... 2824.10 Use Case and Value Chain No. 9 – Open Broadcast ....................................................... 2834.11 Use Case and Value Chain No. 10 – Open Governed Broadcast..................................... 2844.12 Use Case and Value Chain No. 11 – Smart Broadcaster ................................................. 2964.13 Use Case and Value Chain No. 12 – TVA Broadcaster................................................... 3094.14 Use Case and Value Chain No. 13 – Open Governed Interactive Content ...................... 3194.15 Use Case and Value Chain No. 14 – Conversion between DRM Content Formats ........ 3204.16 Use Cases and Value Chain Number 15 – Content Identification ................................... 3234.17 Use Cases and Value Chain Number 16 – Value Chain Roles ........................................ 3244.18 Use Cases and Value Chain No. 17 – Domain Management........................................... 326

5 Certification and Registration Authorities ............................................................................... 3315.1 Introduction ...................................................................................................................... 3315.2 DMP Certification Authorities ......................................................................................... 3315.3 DMP Registration Authorities.......................................................................................... 3345.4 Roles of Registration Agencies ........................................................................................ 337

Page 9: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

9 9

5.5 Tasks of the Board of Directors regarding Certification and Registration Authorities ... 3386 Terminology ............................................................................................................................. 339

6.1 Introduction ...................................................................................................................... 3396.2 Definitions........................................................................................................................ 339

7 Reference Software .................................................................................................................. 3497.1 Introduction ...................................................................................................................... 3497.2 Chillout Core .................................................................................................................... 3527.3 Chillout Auxiliary ............................................................................................................ 3597.4 Devices ............................................................................................................................. 3737.5 RRDOnto Java API specification..................................................................................... 4157.6 MXM based Chillout Implementation ............................................................................. 418

8 End-to-End Conformance ........................................................................................................ 4208.1 Introduction ...................................................................................................................... 4208.2 Conformance Testing ....................................................................................................... 4208.3 Certification issues ........................................................................................................... 428

9 Mapping of Traditional Rights and Usages to the Digital Space............................................. 4299.1 Introduction ...................................................................................................................... 4299.2 Use Case #1 – Quote TRU ............................................................................................... 4309.3 Use Case #2 – Personal Copy TRU ................................................................................. 4319.4 Use Case #3 – Space shift TRU ....................................................................................... 4319.5 Use Case #4 – Time shift TRU ........................................................................................ 4339.6 Use Case #5 – Alternative Compensation System DMBM ............................................. 4359.7 Use Case #6 – Community content sharing DMBM........................................................ 4369.8 Use Case #7 – Music sampling DMBM........................................................................... 437

5 References ................................................................................................................................ 4406 Acronyms ................................................................................................................................. 443Annex A – Introduction to some referenced standards .................................................................... 445

A.1 MPEG-21 Digital Item Declaration ................................................................................. 445A.2 MPEG-21 Digital Item Identification .............................................................................. 446A.3 MPEG-21 IPMP Components.......................................................................................... 446A.4 MPEG-21 Rights Expression Language .......................................................................... 448A.5 MPEG-2/4 IPMP Extension ............................................................................................. 449A.6 TV Anytime Metadata...................................................................................................... 450A.7 MPEG-21 Digital Item Adaptation .................................................................................. 452A.8 MPEG-21 File Format...................................................................................................... 453A.9 Event reporting................................................................................................................. 454A.10 MPEG-21 Digital Item Streaming.................................................................................... 455A.11 MPEG-7 BiM ................................................................................................................... 456

Annex B – DMP Schemas................................................................................................................ 458B.1 The Media Streaming Access Protocol Extensions schema............................................. 458B.2 The Media Streaming Domain Extensions schema.......................................................... 459B.3 The Media Streaming Domain Protocol Extensions schema ........................................... 463B.4 The Represent Content Identifier Protocol schema.......................................................... 467B.5 The Represent Content Authentication Protocol schema................................................. 470B.6 The Represent Device Identifier Protocol schema........................................................... 473B.7 The Represent License Schema........................................................................................ 475B.8 The Represent Store Content Protocol schema ................................................................ 476

Page 10: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

10 1

B.9 The Represent Store License Protocol schema ................................................................ 482B.10 The Represent Rights Data Protocol schema ................................................................... 484B.11 The Represent Payment Protocol schema ........................................................................ 488

Annex C – DMP Profiles of Schemas defined by other Bodies....................................................... 493C.1 The MPEG-21 Digital Item Streaming schema ............................................................... 493C.2 The MPEG-21 Digital Item Adaptation schema .............................................................. 503C.3 The Media Streaming Application Format DIDL Profile schema ................................... 505C.4 The Media Streaming DIDL Extensions Schema ............................................................ 510C.5 The DIDModel Schema ................................................................................................... 511C.6 The Digital Item Identification schema............................................................................ 514C.7 The Event Reporting schema ........................................................................................... 514C.8 The Media Streaming IPMPDIDL schema ...................................................................... 526C.9 The Media Streaming IPMPINFO schema ...................................................................... 528C.10 The Media Streaming IPMPINFO extensions schema .................................................... 533C.11 The IPMP XML Messages schema.................................................................................. 535C.12 The MPEG-4 IPMP schema............................................................................................. 557C.13 The MPEG-7 Simple Metadata Profile schema ............................................................... 560C.14 The Media Streaming Access Content Protocol schema ................................................. 580C.15 The Media Streaming Access License Protocol schema.................................................. 583C.16 The Media Streaming Base Protocol schema................................................................... 585C.17 The Media Streaming Domain schema ............................................................................ 587C.18 The Media Streaming Domain Protocol schema.............................................................. 590C.19 The Media Streaming REL Multimedia Extension One .................................................. 597C.20 The REL Multimedia Extension Two .............................................................................. 602C.21 The REL Multimedia Extension Three ............................................................................ 605C.22 The Media Streaming REL Multimedia extension profile schema.................................. 608C.23 The Media Streaming REL core profile schema.............................................................. 611C.24 The Media Streaming REL Standard extension profile schema ...................................... 619C.25 The TV Anytime schema ................................................................................................. 624C.26 The Media Streaming TV Anytime profile schema ......................................................... 637C.27 The XML Namespace Schema......................................................................................... 638C.28 The Digital Signature Schema.......................................................................................... 638

Annex D – Compatibility between TVA RMPI and DMP Represent License................................ 639D.1 Compatibility.................................................................................................................... 639D.2 Mapping Table between RMPI and DMP Represent License ......................................... 645

Annex E – Rights Representation Data Ontology Web Language File ........................................... 648Annex F – WSDL descriptions ........................................................................................................ 688

F.1 CID ................................................................................................................................... 688F.2 CPD .................................................................................................................................. 691F.3 DID................................................................................................................................... 700F.4 DMD................................................................................................................................. 701F.5 LPD .................................................................................................................................. 720F.6 Store License Request ...................................................................................................... 722F.7 TPD .................................................................................................................................. 723

Annex G – Example of Content Registration................................................................................... 732Annex H – Application forms .......................................................................................................... 733

H.1 To Be Completed By Applicant Registration Agency ..................................................... 733

Page 11: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

11 1

H.2 To Be Completed By The Registration Authority ........................................................... 735Annex I – List of Traditional Rights and Usages............................................................................. 736

Page 12: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

12

1 Value Chain Functions and Requirements

1.1 Introduction

DMP is developing a series of specifications for Interoperable DRM called Interoperable DRMPlatform (IDP) where each phase of the IDP specifications is indicated by a sequential number. Theopen IDP specifications enable Users to technically execute Functions using standard Protocolsthrough standard Interfaces with predictable results.

Because there is such a broad variety of value-chains there can hardly be a “universal DRM system”to develop specifications for. Therefore it is expected that there will be a range of“implementations” of DRM systems designed to satisfy the needs of specific value-chain users. TheDMP specifications can be used to realise the digital equivalent of the media value-chains that existtoday, but also to make value-chains that have no obvious equivalent with today’s value-chains.

This unpredictable environment requires a different type of standardisation than used for otherstandardisation efforts, e.g. video coding, that typically apply to well-defined environments. TheDMP approach is based on protocols for lower-level functions (called Primitive Functions) betweenvalue-chain users. If Primitive Functions are well defined existing and possibly new Functions canbe built as combinations of Primitive Functions. In the future new Functions could also be builtusing existing and new Primitive Functions.

This document documents the requirements upon which the Interoperable DRM specification hasbeen developed. To achieve this, the following process – open to any party – has been invoked:

1. Ask a broad range of value-chain users to state their needs2. Derive Functions from the stated needs3. Develop requirements for implementing Functions4. Identify prominent use cases used to focus the development of specifications5. Issue Call for Proposals for technologies to implement Functions.

All documents produced at each of these steps have been made publicly available for comments onthe DMP web site at http://www.digital-media-project.org/.

So far representatives of the following value-chain users have contributed to the process:

1. Civil Rights Associations2. Association of People with Special Needs3. Collective Management Societies4. Device Manufacturers5. Individuals6. Producers7. Public Service Broadcasters8. Sheet Music Publishers9. Telecommunication operators.

Page 13: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

13

This document is work in progress as it is the starting point for the series of interoperable DRMspecifications that DMP plans to develop. Those wishing to comment on or contribute to futureversions of this Chapter 1 are requested to forward their submissions to Marc Gauvin([email protected]). Submissions are typically discussed within the Ad hoc Group onRequirements for Interoperable DRM Platform, whose email reflector is [email protected]. Tosubscribe to the email reflector follow the instructions.

This Chapter 1 contains

1. The list of Value-Chain Users identified so far by DMP, and whose requirements the DMPexpects to support (Secrion 1.2)

2. The list of General Requirements underpinning the DMP process (Secrion 1.3)3. The table a Primitive Functions identified with indication of which IDP Phase supports the given

Primitive Function (Secrion 1.4)4. The full list of Functional Requirements of Primitive Functions (Secrion 1.5).

1.2 Value-Chain Users

Table 1 gives a list of some of the most common value chain users

Table 1 – Some value chain users

# Value-Chain User Acr. Definition1. Creator CRE A User who creates a Work and generates its first

Manifestation2. Performer PRF A User who interprets a Manifestation of a Work making

an Instance3. Registration

AuthorityRAU A User managing Identifier name spaces, and appointing

and overseeing Registration Agencies4. Registration Agency RAG A User appointed by a Registration Authority to Assign

Identifiers5. Collective

Management SocietyCMS A User who provides collective representation to its

members, e.g. Authors, Performers, Publishers etc.6. Producer PRD A User who produces Content7. Publisher PBL A User who selects Content and makes it available to other

Users8. Syndicator SND A User who manages and places Content to Retailers using

a variety of purchasing options9. Metadata Resolution

providerMRP A User who resolves, i.e. maps between disparate sets of

Metadata10. Repository RPS A User who offers Services to long-term Store, Identify,

describe, locate, Access, manage, and Validate Content andits Metadata

11. Monitoring Serviceprovider

MNP A User who processes Use Data to provide information

12. Marketer MKT A User who provides promotional, sale enhancement,brand enhancement and merchandising Services

Page 14: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

14

13. Aggregator AGG A User who provides procuring, packaging, presenting,cataloguing, archiving and indexing Services typically toRetailers

14. Retailer RTL A User who sells or Licenses Content to an End-user15. Technology provider TCP A User who provides technology to make Devices16. Technology licensing

providerTLP A User who provides Device Manufacturers with a license

to utilise patented technology to make Devices17. Device Manufacturer DVM A User who manufactures or assembles hardware and/or

software components to make Devices18. Connectivity provider CNP A User who provides point-to-point or point-to-multipoint

connectivity between Users19. Network Service

providerNTP A User who provides Internet Protocol (or equivalent)

services and typically various other services above it, e.g.quality of service

20. Tool provider TOP A User who sells or Licenses Tools to Users21. Certificate Authority CRA A User who issues digital Certificates used to create digital

Signatures and public-private Keys22. Certification

AuthorityCAU A User appointing and overseeing Certification Agencies

23. Certification Agency CAG A User appointed by a Certification Authority to CertifyDevices or DRM Tools

24. Clearing House CLH A User who collects Value Expressions from other Users todistribute to Right Holders for the purchase of Use Rightsover a given instance of Content

25. Payment Serviceprovider

PSP A User who provides the infrastructure for financialtransactions

26. End-User ENU The last User in a Value-Chain27. Reseller

RSL A User who possesses the Right to control the dispositionand transfer of Content from End-users to different End-users

28. Public Authority PBA A User who provides rules relating to the Use of Contentand taxation on transactions related to Content.

1.3 General requirements

Table 2 collects the general requirements used to design the IDP.

Table 2 – General IDP requirements

1. The IDP shall be a “tool-kit” specification2. The IDP shall evolve in phases, each phase introducing new Tools keeping compatibility

with the Tools of preceding phases3. The IDP shall be open to support all legitimate needs by

Value-Chain Users Associations of People with Special Needs

Page 15: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

15

4. The IDP shall support Rights inheritance, i.e. that the set of Rights acquired by a givenValue-Chain User is subject to the set of Rights that was available to the Value-Chain Usergranting the Rights

5. The IDP shall support the ability of a given Value-Chain User to mask the Value-ChainUsers supplying Services to it in support of the Services that it provides to its clients

6. Licensing of technologies required to implement IDP tools shall be RAND and preferablyroyalty-free

7. The IDP shall be designed in such a way that its use shall have a minimal impact on Users,ideally that its use should be transparent

8. The IDP Tools must satisfy the relevant requirements expressed in this document9. All Entities must be capable of being uniquely and unambiguously Identified10. Information about Devices and Domains shall be restricted to the minimum required for

these to operate in the DMP Environment11. The IDP shall specify technologies that are native to it (e.g. the Rights Expression

Language) and supported by implementations claiming conformance with IDP. DMPrecognises that there may be implementations that replace the native IDP technologies withothers that have the same functionality. However, no support for conformance testing tosuch implementations will be provided by DMP.

1.4 Primitive Functions

Table 3 provides the current list of Primitive Functions grouped in categories. For each PrimitiveFunction a cross in any of the last two right columns indicates whether or not it is currently specifiedand if so in which version of the Interoperable DRM Platform (Chapter 3). An X in both columnsmeans that technology is provided by this specification that adds to the technology already providedby previous versions.

Table 3 – Primitive Functions

Category Primitive Function IDP#1 IDP#2 V.2.1 V.3.2Represent

Represent Identifier of Content XRepresent Identifier of Device XRepresent Identifier of User XRepresent Identifier of Domain XRepresent Identifier of DRM Tool XRepresent Identifier of FootprintRepresent Identifier of Class of UsersRepresent Identifier of TerritoryRepresent Identifier of JurisdictionRepresent Content X XRepresent Resource XRepresent Metadata XRepresent DRM information XRepresent DRM Tool Body XRepresent DRM Tool XRepresent Rights Expression X X

Page 16: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

16

Represent Rights Data XRepresent Key Body XRepresent Key X XRepresent Device Information X XRepresent Domain Information XRepresent Use Data XRepresent Value ChainRepresent Resource FormatRepresent Binarised XML X

IdentifyIdentify Content XIdentify IP Class XIdentify MetadataIdentify Device XIdentify Domain XIdentify RoleIdentify User

RecognizeRecognize Items XRecognize Roles X

RevokeRevoke ContentRevoke Content ElementRevoke DeviceRevoke DomainRevoke User

AuthenticateAuthenticate Content XAuthenticate Device XAuthenticate DRM Tool XAuthenticate User

VerifyVerify ContentVerify Device

NegotiateNegotiate LicenceNegotiate Use DataNegotiate Licence and Use Data

ReportReport Use Data X

DeliverStore XCopyMoveBackup

Page 17: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

17

ExportAccess X XRestoreImportUpdateInter-Device communication X

ManageManage Domain X XManage DRM Tool X

PackagePackage as File XPackage as Broadcast XPackage as Streaming X

ProcessEncrypt/Decrypt X

TransactTest Conformance

Test Conformance of Rights ExpressionsTest Conformance of Enforcing RightsExpressionsTest Conformance of Tamper resistance

CertifyCertify ContentCertify DeviceCertify User

1.5 Functional requirements

1.5.1 Represent

1.5.1.1 Represent Identifier of Content

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of Content so that it can

be Processed by a DeviceObjective To enable accurate Governance of a Content ItemRequirements 1. Ability to provide unique and unambiguous identification of a Content Item

2. Ability to support versioning3. Ability to extend the total number of Identifiers that can be Assigned in such a

manner that previously Assigned Identifiers do not become obsolete4. Ability to Identify Content by different Users to enable tracing the origin of

Content when Licensed to other Users5. Ability to Identify a Content Item for Use only within a specific Device or a

Domain (e.g. a Broadcast Footprint, a company, a home)Benefits 1. Flexible distribution schemes where different Content Elements may be

supplied by different Providers2. A given Content Element may be referenced in multiple parts of a Content Item

Page 18: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

18

3. Multiple Content Items can refer to the same Content Element4. Fine granularity of Rights Expressions.

1.5.1.2 Represent Identifier of Device

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of a Device employed

in a particular instance of Use so that it can be Processed by a DeviceObjective To enable various Device-related Functions such as

To support the association of a piece of Governed Content with a Device To support Trust management

Requirements Ability to work in conjunction with existing industry schemes to administercustomer/device-specific uses

Ability to extend the total number of Identifiers that can be Assigned in such amanner that previously Assigned Identifiers do not become obsolete

Ability to obtain Device capability information by reading the Device Identifier Ability to support requirements for Domain Management

Benefits Allows reliable administration of Device-based Uses Compatible with replacement strategies in cases where a Device is destroyed or

otherwise replaced, or else used only for a period of time after which a differentDevice will be used.

1.5.1.3 Represent Identifier of User

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of a User in a particular

instance of Use so that it can be Processed by a DeviceObjective To enable various User-related Functions such as License Content to an Identified

UserRequirements Ability to support User Authentication

Ability to support Identification of any Value-Chain User Ability to accommodate a variety of models for human interaction with

Devices e.g.:o Allow a single User to use multiple Devices,o Allow multiple Users to share a single Device,o Allow the use of a confidential identity (e.g. prepaid card)

Ability to extend the total number of Identifiers that can be Assigned in such amanner that previously Assigned Identifiers do not become obsolete

Ability to access information related to the User that may be legally requiredfor the provision of Content

Benefits Depending on a given device's design, allows one User to employ multiple devicesor allows multiple Users to use a single device

1.5.1.4 Represent Identifier of Domain

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of Domain so that it can

be Processed by a Device

Page 19: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

19

Objective To enable Value-Chain Users to License Content to Identified groupings of Usersand/or Devices

Requirements Ability to support the following types of Domainso Device-basedo User-basedo Location-based (e.g. DHCP)o Mixed Device, User and Location-basedo Context-based By reference to a legally established class of special users (e.g.

students, people with special needs) Ability to support a hierarchy of Domains

Benefits Enable more Uses of Content by Identifying groupings of Users and/or Devicesinstead of just individual Users or Devices

1.5.1.5 Represent Identifier of DRM Tool

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of executable code or

hardware device that implements one or more DRM Functions on a Device so thatit can be Processed by a Device

Objective To facilitate Authentication of DRM ToolsRequirements Ability to Identify individual DRM Tools

Ability to Identify groups of DRM Tools as an Entity (Tool Group)Ability to Identify complete DRM Systems (Tool Packs)

Benefits To obtain and classify DRM Tools To Authenticate DRM Tools

1.5.1.6 Represent Identifier of Footprint

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of a primary broadcast

distribution area so that it can be Processed by a DeviceObjective To enable Devices to Use Content intended for a particular FootprintRequirements Unique and unambiguous identification of a particular FootprintBenefits Enable Usage of Content within a particular Footprint

1.5.1.7 Represent Identifier of Class of Users

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of a particular class of

Users so that it can be Processed by a DeviceObjective To enable Devices to Use Content intended for a particular class of UsersRequirements Unique and unambiguous identification of a particular class of UsersBenefits Enable Usage of Content within a particular class of Users

1.5.1.8 Represent Identifier of Territory

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of a particular

Page 20: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

20

geographical area so that it can be Processed by a DeviceObjective To enable Devices to Use Content intended for a particular TerritoryRequirements Unique and unambiguous identification of a particular TerritoryBenefits Enable Usage of Content within a particular Territory

1.5.1.9 Represent Identifier of Jurisdiction

Detailed description of RequirementsDefinition The syntax of the information used to describe the identity of a particular

Jurisdiction so that it can be Processed by a DeviceObjective To enable Devices to Use Content intended for a particular JurisdictionRequirements Unique and unambiguous identification of a particular JurisdictionBenefits Enable Usage of Content within a particular Jurisdiction

1.5.1.10 Represent Content

Detailed description of RequirementsDefinition The syntax of the information used to describe the organisation and association of

Content and Content Elements so that it can be Processed by a DeviceObjective To enable a predictable processing of Content and Content Elements according to

the purposes of the Content Item design, i.e. to Represent the Governed Use ofWork, Manifestation, Instance, Production, DRM Tool etc.

Requirements Ability to provide persistent association of Identifiers to Content and ContentElements

Ability to include Clear-text and Encrypted Identifiers, Content and ContentElements in a Content Item

Ability to apply Licenses to different Content Elements in a Content Item Ability to Use individual Content Elements in a Content Item Ability to associate to a Content Item Content Elements Stored at locations

remote from each other Ability to support temporary and permanent unavailability of Content Elements Ability to Represent Content in a Delivery-System agnostic format Ability to convey information related to

Key management Encryption methods Watermarking Etc.

Ability of a Content Item to contain another Content ItemBenefits Standard format to securely communicate Resources and Governance

information for Use Multiple Uses of the same Resources (e.g. possibility to create multiple play

lists) Different Licenses for the same Content and/or Content Elements Easy navigation Easy repurposing

Page 21: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

21

1.5.1.11 Represent Resource

Detailed description of RequirementsDefinition The syntax of the information used to describe the format of a Resource so that it

can be Processed by a DeviceObjective To enable a Device to interpret the Representation so that the Resource can be

UsedRequirements To be as simple as possible

To be as expressive as requiredBenefits Use of Resources by Devices

1.5.1.12 Represent Metadata

Detailed description of RequirementsDefinition The syntax of the information used to describe features and attributes associated

with Content and Content Elements or Devices so that it can be Processed by aDevice

Objective Facilitate interaction between Users for a plurality of purposes, e.g.o Classificationo Descriptiono Search and retrievalo Presentationo Etc.

Enable best Use of Content on DevicesRequirements Ability to support existing Metadata standards

Ability to signal the standard in use Ability to employ a minimal Metadata standard set for End Users Ability to describe Device features and capabilities

Benefits Allow for an effective interchange of Content between Users and optimal Use ofContent and Devices

1.5.1.13 Represent DRM Information

Detailed description of RequirementsDefinition The syntax of the information used to describe Governance of Content so that it

can be Processed by a DeviceObjective To enable a Device to interpret the information so that Content can be Used as

determined by its GovernanceRequirements Ability to represent

DRM Tools required to Access Content Initialisation and configuration data for DRM Tools Decryption Keys Information related to DRM Tool Management Placeholders for Licenses

Benefits Enable Content Governance by Devices

1.5.1.14 Represent DRM Tool Body

Detailed description of Requirements

Page 22: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

22

Definition The syntax of the specific information used to describe DRM Tool embodimentsused so that they can be Processed by a Device

Objective To enable a Device to execute DRM Functions specific of a given Content ItemRequirements Ability to Represent a single Tool Body

Ability to Represent a Tool Pack BodyBenefits Extend the number and scope of DRM Functions that a Device can execute

1.5.1.15 Represent DRM Tool

Detailed description of RequirementsDefinition The syntax of the specific information used to describe the environment in which

DRM Tools will operate so that they can be Processed by a DeviceObjective To provide the Device with the means to perform the required DRM functionalityRequirements The Representation shall include:

Tool ID DRM Processor type, including

o Vendoro Modelo Serial number

Target OS includingo Vendoro Modelo Serial numbero Versiono Virtual machine

CPUo Vendoro Modelo Speed

Memoryo Vendoro Modelo Speedo Size

Auxiliary hardwareo Smart cardo Hard Key

Network Downloading RPC mechanism Firmware Tool API configuration

o Instantiation API IDo Messaging API ID

Target HW Format e.g. zip

Page 23: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

23

Tool source Authentication parameters Update schedule info Tool Validation info License info Others

Benefits Upgradeable Device capable of executing multiple DRM functionalities

1.5.1.16 Represent Rights Expression

Detailed description of RequirementsDefinition The syntax of the information used to describe Permissions and Conditions so that

it can be Processed by a DeviceObjective To allow conditional Use of Content, based on the Conditions being satisfied or

fulfilledRequirements Ability to interpret a Rights Expression

o Without a return channelo With low payloado On a wide array of Device sophistication

Ability to unambiguously Identifyo The User granting the Permissiono The Device, User or Domain obtaining the Permissiono The Content and Content Elements to which the Rights Expression refers

Ability to utilise (Rights data dictionary)o A User selectable Rights data dictionaryo A minimal default Rights data dictionary

Ability to Represent (Permission sets)o Different subsets of Permissionso New Permissions when the need occurs

Ability to Represent (specific Permissions to Content)o Conditional expiry (e.g. Content may no longer be Used if Stored for

longer than a determined period without Use)o One Rights Expression to many Content Elementso Many Rights Expressions each referring to a different Content Element In particular a Content Item can have no Rights Expression (i.e. a

Device can Use the Content without limits)o Content Uses e.g. Period of time (e.g. play as long as the play time is greater than

specified time and less than a specified time) and based on time/date Count based (play up to a specified number of times) User based Device based Domain based Location based

o Rights Expressions with Context Use limitations, e.g. age of End-User Ability to support Delivery by:

Page 24: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

24

o Streamingo Broadcasto File downloado Physical media

Ability to support (Conditions)o Territorieso Jurisdictionso Footprintso Domainso Deviceso Userso IP Entities

Ability to support (Functions)o Not to Encrypt clear-text Resourceso Quoteo Time-shifted Useo Annotationo Trick modeso Move/Copy Between Devices Within Domain Within Footprint

o Export to a movable media Ability to support (Content types)

o Reference to different IP Entitieso Addition of Metadatao Use of the following types of Resources: audio, video, images, text and

executables and groups/bundles thereofo Access of Content based on Rating (e.g. suitability for age)o Rights to segments of Contento Many Rights Expressions each referring to particular Content Elements of

a Content Item Ability to support (Rights of Users)

o Ability to represent the sets of Rights pertaining to all Users e.g. Authors,Performers, Producers, Aggregators, Distributors, etc.

o The Right of a User to License another Usero Restriction to a class of Userso Multiple Licensors

Ability to support dynamic creation of Rights Expressions as a result ofinteraction between Users

Ability to support Creative Commons licensesBenefits Potentially allow the full range of human contractual agreements to be embodied in

the digital domain, especially including automatic processing of agreements thatare stated in rigorous forms

Page 25: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

25

1.5.1.17 Represent Rights Data

Detailed description of RequirementsDefinition The semantics of the data used in Permission and Conditions so that they can be

interpreted by a Device in a predictable wayObjective To enable a device to perform the Functions in an agreed and predictable wayRequirements The RRD will maintain a basic core set of terms for

o IP Entitieso Actionso Rightso Roles

The RRD will support a number of extensions created as the need arises The RRD extension will be consistent with the core To support the following IP Entities

o Worko Adaptationo Manifestationo Instanceo Work Instanceo Adaptation Instanceo Work Manifestation Copyo Work Instance Copyo Adaptation Manifestation Copyo Adaptation Instance Copyo Product

To support the following Actionso Create Worko Make Manifestationo Make Work Manifestationo Make Adaptation Manifestationo Make Instanceo Make Work Instanceo Make Adaptation Instanceo Make Copyo Make Adaptation Instance Copyo Make Adaptation Manifestation Copyo Make Work Instance Copyo Make Work Manifestation Copyo Playo Copy

To support a subset (to be defined) of the following REL Rights:o Adapto Deleteo Delisto Diminisho Embedo Enhance

Page 26: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

26

o Enlargeo Enlisto Executeo Exporto GovernedAdapto GovernedCopyo GovernedMoveo Installo Modifyo Moveo Playo Printo Reduceo Uninstall

To support the following Roleso Creatoro Adaptoro Instantiatoro Producero Distrubutoro End User

RRD shall support the execution of Functions, some of which may be derivedfrom the terms in the list above or be included as new termso Adapt (Resource) Conversion of compression method Video resolution Sampling frequency

o Backupo Copyo Edito Encrypto Exporto Importo Moveo Quoteo Restoreo Space-shifted Useo Storeo Synchroniseo Time-shifted Useo Transfer to an external rendering deviceo Etc.

It must be machine readable It must convey a strict correspondence between machine and human based

interpretation and understanding It must be represent a wide array of Users through adoption of one or more

Page 27: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

27

Roles It must describe a complete array of Actions that Users can perform on or with

IP Entities. It must be capable of discerning between Roles on the basis of different

combinations of Actions and IP Entity relationships It must be capable of associating Rights with Actions and Roles. It must be capable of describing the transfer of Rights throughout the Value

Chain It must be able to associate which IP Entities are required by Actions and which

if any are produced by Actions.Benefits Users have assurance that Devices behave predictably.

Essential input for conformance testing.

1.5.1.18 Represent Key

Detailed description of RequirementsDefinition The syntax of the information used to describe Keys and associated parameters so

that it can be Processed by a DeviceObjective To provide a Device with the necessary information to utilize a KeyRequirements Ability to represent

o Time dependent/independent Keyso Association of Keys to particular time segment of a Resourceo Key type and related data (e.g. Authentication, Certificates, etc.)o Set of Key types

Benefits The ability to use multiple Keys and Key Management schemes

1.5.1.19 Represent Device Information

Detailed description of RequirementsDefinition The syntax of the information used to describe the capabilities of a Device to

perform Functions so that it can be Processed by a DeviceObjective To describe the capability of a DeviceRequirements To identify Device capabilities, e.g.

o Capability to Process (e.g. Render) certain Resource Typeso Capability to determine the applicability of certain Rights Expressionso etc.

Benefits The ability to Access Content that is suitable for the Device

1.5.1.20 Represent Domain Information

Detailed description of RequirementsDefinition The syntax of the information used to describe the attributes of a Domain so that it

can be Processed by a DeviceObjective To describe the minimum set of attributes of a Domain that is required to License

Content for that DomainRequirements The Representation shall include

o Information about when the Domain was createdo Domain Identifier

Page 28: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

28

o Domain Public and Private Keyso Domain Administrator’s name and passwordo List of Devices/Users in the Domaino Maximum number of Devices/Userso List of Revoked Devices/Userso Expiration date of Domain

The Representation may optionally includeo Type of Deviceso Maximum frequency of Devices/Users leaving and joining

Benefits For the Content Provider the ability to determine proper Licensing of itsContent

For the End-User the ability to obtain Content for Use within his Domain

1.5.1.21 Represent Use Data

Detailed description of RequirementsDefinition The syntax of the information used to describe the elements making up one or

more instance of Use of Content, Device or User so that it can be Processed by aDevice

Objective To enable processing of Use Data in a predictable fashionRequirements Ability to Identify Use Data

Ability to support protection of Use Data Ability to convert Use Data to a human readable form Ability to not Identify User or Device associated with Use Data Ability to Represent a wide range of Content Uses e.g. time of Use,

combinations of Content Items, Domains, Superdistribution UsesBenefits Provide a machine-processable record of Uses

1.5.1.22 Represent Value Chains

Detailed description of RequirementsDefinition The syntax of the information used to describe Value ChainsObjective To digitally represent Value ChainsRequirements Ability to represent the actions of the Users

Ability to represent the relationships of the UsersBenefits To enable the unambiguous replication of Value Chains

1.5.1.23 Represent Resource Format

Detailed description of RequirementsDefinition The syntax of the information used to describe the format of Resources so that it

can be Processed by a DeviceObjective To provide the means to Access Content containing suitable Resources for the

DeviceRequirements The ability to express relevant parameters in a Resource format

o Compression algorithm usedo Video resolutiono Bitrate used for encoding

Page 29: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

29

o Audio sampling frequencyo Number of channelso Etc.

Benefits To facilitate Access to ContentTo be able to Access Content that is suitable for the Device

1.5.1.24 Represent Binarised XML

Detailed description of RequirementsDefinition The efficient Representation of XML dataObjective To save memory, transmission and processing capabilities when handling XML

documentsRequirements To reduce the amount of information required to express an XML structure to a

minimum To allow for a lossless conversion between an XML structure its binary

representation and the reconverted XML structure To make processing of a binarised XML structure at least as easy to process as

the original XML structureBenefits Better use of computing and transmission resources

1.5.2 Identify

1.5.2.1 Identify Content

Detailed description of RequirementsDefinition The Function resulting from a request by a User and the consequent Assignment of

an Identifier to Content EntitiesObjective To associate data, e.g. a number, to Entities in a unique and unambiguous fashionRequirements To Assign Identifiers according to the rules laid down by the Registration

Authority as implemented by the Registration Agency so that there exists a unique,unambiguous, persistent and trusted correspondence between the Identifier and theEntity it Identifies The Registration Agency shall provide unique Identifiers The Registration Agency shall Assign the Identifiers unambiguously The Registration Agency shall be able to Authenticate a Content Item without

the need to Access the entire Content ItemBenefits Form trusted relationships (i.e. Authenticate) by providing Users with the ability to

Identify Content Entities

1.5.2.2 Identify IP Class

Detailed description of RequirementsDefinition The Function by which a User Assigns an IP Class to a Content ItemObjective To enable Recognition of the Content ItemRequirements There must be a determined set of IP ClassesBenefits There are more possibilities to Use Content Items

Page 30: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

30

1.5.2.3 Identify Metadata

Detailed description of RequirementsDefinition The Function performed by a User when describing Entities within a DCIObjective To facilitate search for and Use of Content EntitiesRequirements Ability to support the need of different Users to Assign Metadata that have

mandatory descriptive fields, e.g.:o Authoro Titleo Genre of Authorshipo Date of Creation of Worko …

Ability to facilitate cataloguing of Content for distribution to professionalUsers

Benefits Secondary means to identify Entities

1.5.2.4 Identify Device

Detailed description of RequirementsDefinition The Function resulting from a request by a User and the consequent Assignment of

an Identifier to DevicesObjective To enable Device AuthenticationRequirements To Assign Identifiers according to the rules laid down by the Registration

Authority as implemented by the Registration Agency so that there exists a unique,unambiguous, persistent and trusted correspondence between the Identifier and theDevice it Identifies The Registration Agency shall provide unique Identifiers The Registration Agency shall Assign the Identifiers unambiguously

Benefits Form trusted relationships (i.e. Authenticate) by providing Users with the ability toIdentify Devices

1.5.2.5 Identify Domain

Detailed description of RequirementsDefinition The Function resulting from a request by a User and the consequent Assignment of

an Identifier to DomainObjective To enable Identification of a Domain so that Content can be Licensed to itRequirements The Registration Agency shall provide unique Identifiers, at least for the

Domain life cycle The Registration Agency shall Assign the Identifiers unambiguously

Benefits Content can be Licensed to Domains

1.5.2.6 Identify Role

Detailed description of RequirementsDefinition The Function by which a User is Assigned a RoleObjective To enable Recognition of a RoleRequirements There must be a determined set of RolesBenefits It is possible to simplify licensing

Page 31: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

31

1.5.2.7 Identify User

(Currently outside of DMP)Detailed description of Requirements

DefinitionObjectiveRequirements Benefits

1.5.3 Recognize

1.5.3.1 Recognize Items

Detailed description of RequirementsDefinition The Function that matches a given Content Item with corresponding IP Entities in

the RRDObjective To classify Content Items with the IP that they representRequirements The ability to interface with the RRDBenefits Users have the means to recognize the full set of Conditions for any Role required

to interact with a given Content Item

1.5.3.2 Recognize Roles

Detailed description of RequirementsDefinition The Function that matches the Role Assigned to a User with a corresponding Role

in the RRDObjective To classify a User’s Role with a given Content Item in terms of the RRDRequirements The ability to interface with the RRDBenefits Users have the means to recognize the full set of Conditions for any Role required

to interact with a given Content Item

1.5.4 Revoke

1.5.4.1 Revoke Content

Detailed description of RequirementsDefinition The Function by which a User ceases to recognise a Content ItemObjective To prevent the further Use of a Content ItemRequirements Content must be IdentifiedBenefits To discontinue Use of a Content Item, e.g. when the Content Item has been found

unsuitable for distribution

1.5.4.2 Revoke Content Element

Detailed description of RequirementsDefinition The Function by which a User ceases to recognise a Content ElementObjective To prevent the further Use of a Content ElementRequirements Content Element must be IdentifiedBenefits To discontinue Use of a Content Element, e.g. when the Content Element is faulty

Page 32: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

32

1.5.4.3 Revoke Device

Detailed description of RequirementsDefinition The Function by which a User ceases to recognise a device as a DeviceObjective To prevent the further Use of the DeviceRequirements Device must be IdentifiedBenefits To discontinue Use of a Device, e.g. when the Device has been compromised

1.5.4.4 Revoke Domain

Detailed description of RequirementsDefinition The Function by which a Domain Manager ceases to recognise a DomainObjective To prevent the further operation of the DomainRequirements Domain must be Identified

Devices or Users belonging to the Domain must be IdentifiedBenefits To discontinue operation of a Domain, e.g. the Devices have been compromised

1.5.4.5 Revoke User

Detailed description of RequirementsDefinition The Function by which a User ceases to recognise a device as a UserObjective To prevent the further Use of Devices or Content by a UserRequirements User must be IdentifiedBenefits To discontinue Use of Devices by a User, e.g. when the device representing the

User has been compromised

1.5.5 Authenticate

1.5.5.1 Authenticate Content

Detailed description of RequirementsDefinition The Function of proving the identity of a Content Item to a DeviceObjective To make sure that a Device Accesses the intended Content ItemRequirements Content must be Identified

Content must be Signed or Hashed Ability to compare a given Content Item with the Registered Content Item Ability to compare the hash of a given Content Item with the Registered hash

and ID of the Content ItemBenefits To enable a Device to Use the intended Content

1.5.5.2 Authenticate Device

Detailed description of RequirementsDefinition The Function of proving the identity of a Device to another Device a User or

Domain. E.g. A LPD Authenticates a DMD

Objective To make sure that Content is Used by the intended DeviceRequirements Device must be Identified

Ability to support different levels of Authentication

Page 33: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

33

Benefits To enable Content Uses on identified Devices

1.5.5.3 Authenticate DRM Tool

Detailed description of RequirementsDefinition The Function of proving the identity of a DRM Tool to a DeviceObjective To make sure that the Content is processed by the intended DRM ToolRequirements DRM Tool must be IdentifiedBenefits Correct handling of Content Management and Protection

1.5.5.4 Authenticate User

Detailed description of RequirementsDefinition The Function of proving the identity of a User to a Device another User or DomainObjective To make sure that the User is the intended UserRequirements Shall support multiple protocols for the authentication of Users

Outside of DMP scopeBenefits To enable Content Uses by identified Users

1.5.6 Verify

1.5.6.1 Verify Content

Detailed description of RequirementsDefinition The procedure to detect corruption or loss of part of the ContentObjective Delivery of the correct ContentRequirements Ability to detect that there is corruption or loss of part of the ContentBenefits To assure Content Integrity and support Trust Management in the case of DRM

Tools

1.5.6.2 Verify Device

Detailed description of RequirementsDefinition The procedure to detect corruption of part of the software of a DeviceObjective To support Trust Management with a Device that may be remote from a UserRequirements Ability to detect whether there is corruption of the Device softwareBenefits The ability to support Trust Management with a Device that may be remote from a

User

1.5.7 Negotiate

1.5.7.1 Negotiate Licence

Detailed description of RequirementsDefinition The procedure by which an agreement is reached between User A and User B

whereby User A grants a Licence to User B and User B transfers a ValueExpression to User A

Objective To determine the terms and conditions of the Licence and correspondingcompensation

Requirements User B can express agreement or disagreements with proposed License terms

Page 34: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

34

The procedure shall support changes to any parameter of the License (e.g.Principal, types of Use such Play, Copy)

The procedure shall support automatic negotiation of license terms At every step a human readable license must be provided The procedure shall enable the setting of certain parameters as non subject of

negotiation, e.g. setting “no copy” or “time-shifted Use” as a mandatory featureof the License

The procedure shall allow the determination of the degree of confidentiality (noeavesdrop) of the protocol

The procedure shall not require revealing the real identities until the protocolhas been successfully concluded

Benefits To allow Users to achieve the best match between demand and offer

1.5.7.2 Negotiate Use Data

Detailed description of RequirementsDefinition The procedure by which an agreement is reached between User A and User B

whereby User B grants to User A the right to use the User and/or Use Date of UserB and User A transfers a Value Expression to User B

Objective To let two Users determine how the information acquired during interaction withContent can be further utilised

Requirements User A can express agreement or disagreements with proposed License terms The procedure shall support changes to any parameter of the License (e.g.

Principal, types of Use) The procedure shall support automatic negotiation of license terms At every step a human readable license must be provided The procedure shall enable the setting of certain parameters as non subject of

negotiation The procedure shall allow the determination of the degree of confidentiality (no

eavesdrop) of the protocol The procedure shall not require revealing the real identities until the protocol

has been successfully concludedBenefits Allows User confidence that their privacy will be protected, simultaneously

allowing Providers to gain knowledge from User and Use Data to the extent this isagreed.

1.5.7.3 Negotiate Licence and Use Data

Detailed description of RequirementsDefinition The procedure by which an agreement is reached between User A and User B

whereby User A grants to User B a Licence to Use Content and User B grants toUser A a Licence to Use his User and Use Data

Objective To let two Users determine how a Content Item can be used and User and Use Datacan be used

Requirements Users can express agreement or disagreements with proposed License terms The procedure shall support changes to any parameter of the License (e.g.

Principal, types of Use)

Page 35: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

35

The procedure shall support automatic negotiation of license terms At every step a human readable license must be provided The procedure shall enable the setting of certain parameters as non subject of

negotiation The procedure shall allow the determination of the degree of confidentiality (no

eavesdrop) of the protocol The procedure shall not require revealing the real identities until the protocol

has been successfully concludedBenefits To allow Users to achieve the best match between demand and offer

1.5.8 Report

1.5.8.1 Report Use Data

Detailed description of RequirementsDefinition The Function of generating a message containing Use Data triggered by the

execution of another Function as programmed by a UserObjective To provide information of Content UseRequirements The User inserting a programmed event report (ER) should be able to specify

o the conditions under which an event should trigger sending Use Datao what Use Data is to be reportedo to whom the Use Data is to be reported

The delivery of the ER should be secure No ER shall be generated without the User's consent For any Content Item the User shall be informed if the Device generates an ER A Device may be instructed to automatically accept or refuse DCIs containing

an ER-R based on the nature of the ER to be generated The User or Device that will generate the ER should be able not to use the

Content that will trigger the reportingBenefits To enable a variety of business models, e.g. advertising with click counting

1.5.9 Deliver

1.5.9.1 Render

Detailed description of RequirementsDefinition The Function of generating a human-perceivable signal from a ResourceObjective To enable human perception of ContentRequirements A protocol to Deliver Content to a Device for RenderingBenefits To allow the Delivery of a Resource to the intended Rendering Device for human

enjoyment in a way that was intended by the Rights Holder

1.5.9.2 Store

Detailed description of RequirementsDefinition The Function by which Device A Delivers Content to Device B for the purpose of

retaining it in Device B for possible Use at a different point in timeObjective Allow a Device to retain Content and/or Resources for future Use

Page 36: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

36

Requirements A protocol, including the point-to-multipoint case The protocol should be secure The protocol should lend itself to efficient implementations on a wide variety

of DevicesBenefits The User can Use a Content for a longer period of time as per License

1.5.9.3 Copy

Detailed description of RequirementsDefinition The Function by which Device A Stores Content in Device B, preserving the

original Content in Device AObjective To enable more use of the same Content Item

To Copy or Move as per Rights Expressions. To accomplish the transfer of a piece of Governed Content between Devices

Requirements A protocol, including the point-to-multipoint case The protocol should be secure The protocol should lend itself to efficient implementations on a wide variety

of DevicesBenefits Allow controlled Copy of Content

1.5.9.4 Move

Detailed description of RequirementsDefinition The Function by which Device A Stores Content in Device B deleting the original

Content in Device AObjective To enable more use of the same Content Item

To Move as per Rights Expressions. To accomplish the transfer of a piece of Governed Content between Devices

Requirements A protocol, including the point-to-multipoint case The protocol should be secure The protocol should lend itself to efficient implementations on a wide variety

of DevicesBenefits Allow controlled Move of Content

1.5.9.5 Backup

Detailed description of RequirementsDefinition The Function by which a Device can Copy a Content Item (in case the Rights

Expression is a Stateless Rights Expression) to and from a Device where theContent Item is not for Use, e.g. for the purpose of later Restoring the ContentItem.

Objective To be able to backup/restore Content to and from an external deviceRequirements Backup requires that the Backup does not result in a second usable copy.Benefits To be able to make room for Governed Content in a Device without losing

permanently the Governed Content that is removed from the Device. Not to lose the Content in case of Device failure.

Page 37: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

37

1.5.9.6 Export

Detailed description of RequirementsDefinition The Function by which a Device makes available a Content Item for use by a non-

DMP DRM system.Objective To enable use of a Content Item outside of an Environment.Requirements A protocol to communicate with a non-DMP DRM system. This includes, as a

minimum, a means to identify non-DMP DRM systems In the event the other DRM system is not capable of accepting the encryption

used the protocol should be capable of Decrypting and Exporting cleartextResources, Metadata and Licenses so that it may be re-encrypted as required bythe target DRM system.

A Secure Authenticated Channel (SAC)Benefits A Rights Holder has the ability to extend the range of use of their Content to other

governed environments.

1.5.9.7 Access

Detailed description of RequirementsDefinition The Function by which Device A obtains Content from Device B so that Device A

can execute FunctionsObjective To enable a Device to process ContentRequirements Access Content via file download, broadcast and streamingBenefits Access to Content via an array of delivery mechanisms

1.5.9.8 Restore

Detailed description of RequirementsDefinition The Function by which a Device can Copy a Content Item (in case the Rights

Expression is a Stateless Rights Expression) to and from a Device where theContent Item is not for Use, e.g. for the purpose of later Restoring the ContentItem.

Objective To be able to backup/restore Content to and from an external deviceRequirements Backup requires that the Backup does not result in a second usable copy.Benefits To be able to make room for Governed Content in a Device without losing

permanently the Governed Content that is removed from the Device. Not to lose the Content in case of Device failure.

1.5.9.9 Import

Detailed description of RequirementsDefinition The Function by which a Device accesses a piece of content governed by a non-

DMP DRM system.Objective To enable Use of a piece of governed content by a Device.Requirements A protocol to communicate with a non-DMP DRM system. This includes, as a

minimum, a means to identify non-DMP DRM systems The protocol should be capable of obtaining Clear-text Resources, Metadata

and Licenses so that these may be re-encrypted as required by the Environment.

Page 38: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

38

A Secure Authenticated Channel (SAC)Benefits Enables Environments to be populated with governed content from sources outside

of DMP.

1.5.9.10 Update

Detailed description of RequirementsDefinition The means by which a Content Item may replaced by a new Content ItemObjective Allow for Content to be Governed dynamicallyRequirements Associate Content with License

Associate Content with DRM ToolBenefits Enhanced flexibility in implementing Content Delivery and Use

1.5.9.11 Inter-Device communication

Detailed description of RequirementsDefinition The means by which a DRM Processor and a Resource Processor exchange data in

a DeviceObjective To support standardisation of Device componentsRequirements Interface between DRM Processor and Resource Processor

Protocol between DRM Processor and Resource ProcessorBenefits To enable componentisation of Device

1.5.10 Manage

1.5.10.1 Manage Domain

Detailed description of RequirementsDefinition Procedures to manage a set of Devices such that only those Devices can Use the

Content Licensed to the DomainObjective To enable groups of Devices and/or Users e.g. belonging to a family to Use the

same Content on any of the Devices in the groupRequirements Users with an authorised entitlement (Administrator) shall be able to fully

control Domain membership and Content distribution. Setting up a Domain, including the ability to distribute Licences that can only

be used by Devices in the Domain Joining a Domain Authorising entry to a Domain Leaving a Domain Directing to leave a Domain, including the ability to exclude a Device so that it

cannot process Licences associated with the Domain after the time of exclusion Users without an authorised entitlement shall not be able to obtain confidential

information related to the Domain A Domain shall be configurable to permit a variety of distribution options

between Devices belonging to the Domain, e.g. superdistribution of Content toDevices belonging to a sub-Domain within the Domain (e.g., specializedinterest groups)

Benefits Enables content distribution to be both very wide and very specific, supporting

Page 39: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

39

many possible business models.

1.5.10.2 Manage DRM Tool

Detailed description of RequirementsDefinition Procedures to manage the communication of DRM Tools between themselves and

a DRM Processor (parties) to enable a Device to Process Governed ContentObjective To enable Use of a local or external DRM Tool by a DeviceRequirements It shall be possible for a DRM Tool to require:

To be informed of all the other DRM Tools operating at any time To be notified when a new DRM Tool is instantiated To be informed that a particular event occurs The instantiation of another DRM Tool The termination of another DRM Tool The communication of the results of a DRM Tool The exchange of a License or any part of it between two parties The exchange of a Decryption Key along with associated information (i.e.

timing) about its use between two parties The mutual authentication with a party The display of information to a User and the request for a User input

Benefits To allow enhanced flexibility in the adoption of DRM technologies in ContentDelivery and Use

1.5.11 Package

1.5.11.1 Package as File

Detailed description of RequirementsDefinition The Function of processing Content for the purpose of delivering it between

Devices as FileObjective To ensure proper delivery of Content as FileRequirements Minimum overhead compared to Content

The Content should be efficiently retrievableBenefits Ability to Deliver Content between Devices

1.5.11.2 Package as Broadcast

Detailed description of RequirementsDefinition The Function of processing Content for the purpose of delivering it between

Devices as BroadcastObjective To ensure proper delivery of Content as BroadcastRequirements Minimum overhead compared to Content

The Content should be efficiently retrievable Transport of Content should be efficient and timely (e.g. an End-User should

not have to wait for a long time before Using Content)Benefits Ability to Deliver Content between Devices

Page 40: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

40

1.5.11.3 Package as Streaming

Detailed description of RequirementsDefinition The Function of processing Content for the purpose of delivering it between

Devices as StreamObjective To ensure proper delivery of Content as StreamRequirements Minimum overhead compared to Content

The Content should be efficiently retrievable Transport of Content should be efficient and timely (e.g. an End-User should

not have to wait for a long time before Using Content)Benefits Ability to Deliver Content between Devices

1.5.12 Process

1.5.12.1 Encrypt/Decrypt

Detailed description of RequirementsDefinition Methods used to hide portions or totality of Content ElementsObjective To prevent a User from Using Content, Resources or Fragments of ResourcesRequirements Suitably flexible for a wide variety of Content

Efficiently implementable on a wide range of Devices Based on Encryption Algorithms that are:

o publicly disclosedo subject to constant scrutiny and evaluation by the worldwide

cryptographic communityo supporting stream and bulk cipherso considered as secureo in broad use

The appropriate consideration of export restrictions. Encryption methods that allow decryption by Devices with different

processing capabilities Support

o Facilitate efficient prefetch and decryption of child resources.o Efficient random access to content blocks for all linear content types

Benefits To protect Content and Rights Expressions from being read by unintended Users

1.5.13 Transact

Detailed description of RequirementsDefinition Providing User, Device, Governed Content or Service information to a payment

system external to an EnvironmentObjective To enable flexible payment systems such as subscription, pre-payment or

transaction-based payment by a single Device, a Domain or a User.Requirements The ability to support multiple payment methods and mechanismsBenefits Automated payment

Page 41: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

41

1.5.14 Test Conformance

1.5.14.1 Test Conformance of Rights Expressions

Detailed description of RequirementsDefinition Checking that a Rights Expression is interpreted and provides the output as

intended by the originator of the Rights ExpressionObjective To test conformance of the engine interpreting the Rights ExpressionsRequirements Device conformance shall be assessed and regulated according to industrial

compliance regimeBenefits It is essential for a Rights Holder that a Device will correctly interpret Rights

Expressions.

1.5.14.2 Test Conformance of Enforcing Rights Expressions

Detailed description of RequirementsDefinition Checking that the Functions corresponding to the output are executed as intendedObjective To test conformance of the engine executing the Rights ExpressionsRequirements Device conformance shall be assessed and regulated according to industrial

compliance regimeBenefits It is essential for a Rights Holder that a Device will correctly execute the

interpreted Rights Expressions.

1.5.14.3 Test Conformance of Tamper resistance

Detailed description of RequirementsDefinition Defining the levels of tamper resistance and the methods to be used when an

implementation is put under test for tamper resistance to determine such levelsObjective To test the robustness of a Device to attacksRequirementsBenefits It is essential for a Rights Holder that a Device is implemented in a way that makes

it difficult for an attacker to tamper with it.

1.5.15 Certify

1.5.15.1 Certify Content

Detailed description of RequirementsDefinition The issuance of a statement that a given Content Item is conformant to the DMP

specifications (either through Certified Content Creation Device or Authority andcorresponding Agency)

Objective To provide the means to assure when required that a Content Item is indeedContent

Requirements Content conformance testing tools Procedures to Certify Content

Benefits To guarantee system integrity

1.5.15.2 Certify Device

Detailed description of Requirements

Page 42: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

42

Definition The issuance of a statement by an authority that the claim by a device to be aDevice is guaranteed

Objective To make sure that Governed Content is Used by a DeviceRequirements Device conformance testing tools

Procedures to Certify DevicesBenefits To provide a guarantee that a Content Item is Used by a Device

1.5.15.3 Certify User

(Currently outside of DMP)Detailed description of Requirements

Definition The issuance of a statement by an authority that the claim by a device (e.g. smart-card) to represent User is guaranteed

Objective To make sure that Governed Content is Used by a UserRequirements Procedures to Certify UsersBenefits To provide a guarantee that a Content Item is Used by a User

Page 43: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

43

2 Architecture

2.1 An End-to-End Value-Chain

A Value-Chain is a group of interacting Users, connecting (and including) Creators to End-Userswith the purpose of Delivering Content to End-Users. As indicated in the Figure below the maincomponents are

1. Creation (including Adaptation)2. Instantiation3. Production4. Content Provisioning5. Service Provisioning6. Consumption

Figure 1 – Value Chain

Note that dotted arrows mean that the output of a User can be Used by the same type of User tomake more Resources Representing any of Work, Adaptation, Manifestation, Instance.

2.1.1 A walkthrough

A Creator makes a Work that may be performed (“Instantiated”) by a performer and Used by aProducer to make a product – typically a combination of Resources – to be distributed by Contentand Service Providers.

For proper management in a Value-Chain it is useful to combine different types of Resources withdifferent types of Metadata and possibly other information types. DMP calls this combinationContent. For the purpose of Using Content on Devices, Content has to be digitally Represented.DMP calls such digitally Represented Content, DMP Content Information (DCI).

As was already the practice in the analogue world, Content Items require Identification. Creators,Instantiators and Producers typically have the objects that represent their intellectual and/orcommercial property (IP Entities) uniquely Identified. With Identification appropriate Metadata arealso typically generated.

Page 44: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

44

Chapter 5 specifies how this task is performed by a number of organisations (Registration Agencies)that are properly appointed and overseen by a single root authority (Certification Authority). DMPappoints the Certification Authority after approving the Authority’s Certification policies. Thefigure below depicts this three-layer arrangement.

Figure 2 – Authorities appoint Agencies that Identify Content Items

A User wishing to express conditions to Use a Content Item can associate a License to it GrantingPermissions under specified Conditions. The party Granting Permissions is referred to as Licensorand the party receiving them is referred to as Licensee.

Chapter 3 supports the case in which the Licensee is

1. A Device2. A User (i.e. a device representing the user)3. A Domain (i.e. groups of Devices and Users).

A User who does not wish to express Conditions to Use a Content Item can do so by Releasing itwithout a License. The Content Item, however, is still Governed because it is Identified.

To enable a Device to interpret Permissions without human intervention, DMP uses a machinereadable language called Rights Expressions Language (REL). REL can be applied to Content thatrepresents different categories of Intellectual Property (IP Entities). DMP uses a Creation Model todescribe IP Entity relationships and dependencies. These are captured in a standard machine-readable ontology called Represent Rights Data (RRD) which also defines a set of Roles andFunctions.

Page 45: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

45

A Rights Holder can prepare generic Licenses for certain Roles, Functions and Content Items. Theseare converted to specific Licenses made available to Users who declare their Roles, Functions andContent Items.

By interacting with a Content Item using a Device a User typically generates data called Use Data,i.e. Data related to the Use that the User has made of a Content Item and Resources therein. ThisUse Data may have value in and of itself and the User generating the Use Data may decide toLicense other Value-Chain Users to Use such Use Data. In some instances the economic value ofContent is “higher” than that of Use Data, but in other instances the opposite may be the case.

A Rights Holder may decide to add technology, called Event Report Request (ERR), in the DCI thatwill trigger sending to one or more collectors, information about Events related to the use of a givenDCI.

The DCI may also convey information regarding how certain information that may be in-line orreferenced by the DCI should be presented to a human User. For this purpose the Presentation ofDigital Item (PDI) technology is used.

To support different business models Chapter 3 allows a License to be:

Bundled within the Governed Content (i.e. it is part of the DCI) Not Bundled within the Governed Content (i.e. the DCI references an external License).

Chapter 3 allows other Content Elements in the DCI (e.g. Resources) to be in-line or referenced.

The Content Elements in Governed Content can either be in a form that allows immediateProcessing, e.g. for Rendering by a Device (so-called Clear-text) or in a protected (i.e. Encrypted)form. To this end Chapter 3 provides various means to convey Keys and related DRM information.

Chapter 3 provides a basic selection of Encryption Tools that can be employed in restricted-capability Devices such as Portable Audio and Video (PAV) Devices (i.e. Devices without directaccess to network). However, to support a broader range of applications such as those enabled byStationary Audio and Video (SAV) Devices (i.e. Devices with network or broadcast access),Chapter 3 also provides the means to Represent in a DCI blocks of executable code (called DRMTools or DRM Tool Packs) that are required to Process various types of Governed Content.

XML is the technology selected by DMP to Represent Content. XML is very powerful and flexiblebut Content Represented by means of XML can easily become bulky and unwieldy. Therefore DMPhas selected an XML binarisation technology that not only reduces the size of a DCI but also allowssimpler Processing in a Device without loss of information.

To handle relationships between Devices, e.g. for the purpose of Access a Content Item or a Licencefrom a Device, it is necessary to utilise Protocols. In order to Deliver Content between DeviceEntities it is necessary to Package a DCI (in binary form) and its referenced Resources. Chapter 3supports 2 forms of Delivery:

Page 46: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

46

1. As File. This is called DMP Content File (DCF);2. As Stream. This is called DMP Content Broadcast (DCB) in the case of an MPEG-2 Transport

Stream, and DMP Content Streaming (DCS), in the case of Real Time Protocol on InternetProtocol.

2.1.2 Setting up Value-Chains

A designer of a Value-Chain or individual Users may decide set up a Value-Chain that offersContent or Services to other Value-Chain Users. AD3 provides Tools to optimise the effort toachieve this result while maximising flexibility of the resultant Value Chains.

In general Users require Devices to perform the Functions proper of their Role in a Value-Chain. Toentrust Content to a Device, however, a Rights Holder must have assurance that the Device willexecute Functions according to Chapter 3. This is achieved by having the Device Certified.

Chapter 5 specifies how this task is performed by a number of organisations (Certification Agencies)that are properly appointed and overseen by a single root authority (Certification Authority). DMPappoints the Certification Authority after approving the Authority’s Certification policies. Thisthree-layer arrangement is similar to the one used for Content Registration.

Content Registration Agencies have also the task to Authenticate, i.e. to confirm the identity of aContent Item. A Device wishing to obtain Authentication of a Content Item can either contact therelevant Content Registration Agency by reading the syntax of the Identifier or the ContentRegistration Authority. The Authority will then direct the Device to the relevant Agency.

In general interacting Devices require the establishment of a Trust relationship between them, e.g.when they Deliver Content between them. A precondition for this to be possible is that a Device beIdentified. The task of Assigning Identifiers to Devices is performed by special Devices calledDevice Identification Devices. Chapter 5 specifies how this task is performed by a number oforganisations (Device Registration Agencies) that are appointed and overseen by a single rootauthority (Device Registration Authority). DMP appoints the Device Registration Authority afterapproving the Authority’s Registration policies. The same three-layer arrangement used forCertification is also used for Identification.

Other Entities requiring Certification and Identification are: Domain Management Devices (Devicesemployed to manage Domains), DRM Tools and Users. Note that in the current phase ofdevelopment Users play a role only to the extent they are represented by devices, e.g. smart cardsand that Certification of such devices is out of DMP scope.

In summary:

1. DMP Certification Authorities and Agencies are required for the following Entities:a. Devices, e.g. Creation Devices, Consumption Devices and Domain Management Devicesb. DRM Tools.

2. DMP Registration Authorities and Agencies are required for the following Entities:a. Content – License and DRM Toolb. Devices, e.g. Creation Devices, Consumption Devices and Domain Management Devices.

Page 47: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

47

Note that only once a Device or a DRM Tool has been Certified will it be eligible to be Identified.

In general interacting Devices require Authentication to achieve Trust. Chapter 3 provides Protocolsthat can be employed to achieve this.

2.1.3 Navigating the Value-Chain

The figure below places the Devices mentioned above in a generic Value-Chain and identifies theirprincipal relationships. The numbered lines represent interfaces through which different Devicescommunicate using appropriate Protocols. Note that in DMP a Device is either a combination ofhardware and software – or just an instance of software – that allows a User to execute Functions.

Figure 3 – Some typical Devices in a Value-Chain

In the figure Devices with the following colours

1. Yellow: provide Identifiers to Devices or Content2. Blue: make Content3. Green: provide Identifiers for different types of Content or Content Elements4. Orange: verifies Roles5. Red: are End-User Devices6. Light blue: collect Event Reports7. Violet: manages Domains8. Purple: is a non-DMP device.The figure above will be used to describe a full walkthrough.1. Content Creation Device obtains Identifier from Identification Devices for

a. Resourcesb. License

Page 48: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

48

c. DRM Toold. Content

2. Content Creation Device makes Content by combining:a. Resourcesb. Licensec. DRM Toold. Identifiers

3. Content is Delivered to Content Provider Device4. In case License and DRM Tool are referenced (not Bundled within the Content)

a. License is Delivered to License Provider Deviceb. DRM Tool is Delivered to DRM Tool Provider Device

5. An End-User Device (SAV) Accessesa. Content from Content Provider Deviceb. License from License Provider Device if Content does not have a Bundled Licensec. DRM Tools from the DRM Tool Provider Device if

i. End-User Device does not already hold the required DRM Toolii. DRM Tools are not Bundled within the Content

6. End-User Device (SAV) performs the following according to License Permissionsa. Packages Content as File (DCF)b. Adapts Resources creating DCI and DCFc. Moves/Copies DCF to another SAV or End-User Device (PAV) via PXD.

7. PXD performs the followinga. Accesses Content with Bundled Licence (as DCF) from Content Provider Deviceb. If Content does not have a Bundled Licence

i. Accesses Licence from Licence Provider Deviceii. Makes DCI

iii. Makes DCFc. Moves/Copy DCF to PAV

2.2 The DMP Models

2.2.1 Creation Model

Value-Chains begin with Content Items that represent IP Entities. In order for the management ofRights associated to IP to be consistent, Value Chains must be able to generate copies and variationsof Content without breaching the sets of Rights at every point in the Value-Chain. If such an integraltreatment of Rights is not achievable in a consistent and reliable fashion, then there is little hope thatRights Holders will entrust Content representing their IP to a Value-Chain. Therefore, the need toclearly identify the source of all IP and provide the means to represent all Rights associated with IPgenerated throughout the Value Chain is central to the DMP strategy for an Interoperable DRMPlatform.

Interoperability is key to this endeavour because it enables different IP-based business models ofvarying scope and depth to run their full course while at the same time providing the means todetermine that the Rights expressed within them are adequately supported. Furthermore, interop-erability removes the possibility that some Users in the Value Chain be capable of effecting arbitrarycontrol over other Users by virtue of restrictions inherent in the design of technology.

Page 49: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

49

The purpose of the Creation Model is to provide a generic architecture for "Creation" of Content.The model should be able to represent any case where the objects representing IP are Delivered to aDevice, Stored or Rendered. For IP to be identified and managed, it is required that it be embodiedin human perceivable objects to be communicated, identified and associated with an actual humansource. However, the ‘objects’ referred to as ‘having’ IP in this Creation Model are really indepen-dent of physical/digital objects in that their existence depends on the mind of their Creators in thefirst instance although only when they are ‘fixed’ in a physical form, perceivable by other humanbeings, can the IP be identified and communicated.

Thus, the following objects referred to as IP Entities are defined formally in the DMP Terminologyand are pivotal to the DMP vision of how IP is represented by Resources.

WorkThe first IP Entity identified and to which IP is attributed to in the Creation Model is Work. Workrefers to the fruit of an effort undertaken by an individual or group of individuals that constitutes thelogical construct that persists independently of the innumerable possible physical representations ofthat construct. A Work on the one hand can be very specific by being clearly identifiable through alarge number of differing Manifestations all of which are perceived as being of the Work yet it isalso intangible in that proof of its existence requires physically perceivable materials that are not ofthe Work.

AdaptationAn Adaptation of a Work is considered a new Work but is of dependent origination in that its exist-ence depends on the existence of another independent Work. The law consistently requires that theAuthor of an original Work give his consent to the creation and distribution of the new Adaptationof the Work, possibly determining any set of restrictions both moral and economic. Also, the Authorof an Adaptation must refer back to the root original Work. Thus, an original Work can spawn anynumber of Adaptations and Manifestations while an Adaptation can only spawn a singularManifestation. Note that these requirements are only relevant for Works that are not in publicdomain.

ManifestationA Manifestation is an object or event which is an expression of a Work, e.g. the original manuscriptof a musical Work. It is clear that in order to establish the authorship of a Work, at least a first initialobject – either digital or otherwise – must be produced and unequivocally attributed to the Author ofthe Work. Such objects are referred to as Manifestations. Although at least one Manifestation mustbe attributed to the Author of the Work, the Manifestations of Adaptations of a Work are alsoconsidered to be Manifestations of the Work. Thus, a given Work may have Manifestationsattributable to other Authors.

InstanceAn Instance is an object or event which is an example of an Identified Manifestation, e.g. a uniqueperformance of a specific Manifestation of a musical Work. Instances are not necessarily uniquelyof a particular Manifestation of a Work. The IP associated with Instances is so inextricably depend-ent on both the Manifestation and the Work that it is of, that it is classified separately as “Neigh-bouring” or “Performing” Rights. An Instance when it is fixated to a physical support constitutes thefirst copy, also referred to as “master”, used to make further copies, e.g. for commercial purposes.

Page 50: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

50

ExpressionAn expression is the result of a process that an individual undertakes when generating a tangibleManifestation of a Work or that an Instantiator, e.g. a Performer, undertakes when interpreting aparticular Manifestation to generate an Instance.

DMP does not currently define the term expression because the Creation Model is presently onlyconcerned with classification of Content as it pertains to associating IP with digital Manifestationsand Instances of Works and any attribution of IP for an expression is considered to be un-severableand correspond faithfully to the attribution given for the Manifestation and/or Instance in which theyare contained. That is to say, that the owner of any IP attributable to an expression is necessarily thesame person or persons to which the Manifestation and/or Instance is attributable.

Thus, in the Creation Model any object either analogue or digital that either embodies or representsIP – for the purpose of attributing IP Rights – can be classified necessarily under one of thecategories as listed below in Table 1.

Table 4 – IP Objects and Rights

IP Entity IP type Associated Rights types

Work Independent origination CreatorAdaptation Dependent origination CreatorManifestation Dependent origination (Any Manifestation

depends on a Work)Creator

Instance Unique dependent stylistic reproduction Neighbouring or performingrights

Thus, the scope of IP associated with the different IP Entities can be summarized as in Table 2below. Authorship of a Work (independent origination) has dominion only over all its Manifestat-ions and all Instances, copies, reproductions and communications thereof. Authorship of an Adapt-ation has dominion only over all its Manifestations, Instances, copies, reproductions and communic-ations thereof. Realization of an Instance has dominion only over all copies and reproductionsthereof.

Table 5 – IP Entity Scope

EntitiesWork Adaptation Manifestation Instance

IPType

Work x x x xAdaptation x x xManifestation x xInstance x

The figure below illustrates the dependencies between IP Entities.

Page 51: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

51

Figure 4 – IP Entity dependencies

2.2.2 Represent Rights Data (RRD)

The Creation Model illustrates the process by which IP Entities are generated in terms of naturaldependencies derived from the notion of an identifiable first origin of any idea. Thus, the CreationModel defines the relationship between the origin of IP Entities (ultimately residing in the mind ofcreators) and subsequent dependent IP Entities, Actions, and Roles. The Ontology is able torepresent these concepts and their relationships.

The Creation Model is formalised so that IP Entities may be digitally represented irrespective ofwhether or not they were originally digital in nature. Thus, the RRD represents rights associatedwith IP in the analogue such as First-fixation, Mechanical-reproduction and Public-communicationand associates those rights to corresponding digital functions over Resources. In this way and forexample, the Right to make an Instance would correspond to the Right of First-Fixation, the Right tomake an Instance-Copy to the Right of Mechanical-reproduction and the Right to stream in amulticast to the Right of Public-communication. Thus, the actions associated with for example RELthat are conceived to control access to Resources can be associated with the higher level Rightsassociated to IP regardless of whether the IP is represented in an analogue or digital form.Represent Rights Data (RRD) is the digital Representation of the Ontology of IP Entities andassociated actions taken upon them as well as those taken on their corresponding digitalrepresentations as described in the DMP Creation Model. RRD employs the Ontology WebLanguage (OWL).

Page 52: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

52

2.2.2.1 DRM as the link between IP and REL

The IP Entities like Work, Adaptation, Manifestation or Instance are linked independently ofwhether their relationships are represented digitally or otherwise. In the case where objects arerepresented digitally, Rights over Resources must be made subordinate to the Rights over the IPEntity or Entities being represented. Thus, actions to be taken on digital files Representing differentIP Entities must be associated with the hierarchy expressed by the RRD.

Since the ability to perform Functions on media files are agnostic to what those files Represent, onlya DRM system can determine what IP is being Represented and how to associate that particularRepresentation with the set of actions or Functions available. To achieve this, the Metadata used todescribe generically the object Represented by a DCI as well as the Resources within it, must beavailable and coincide with the terms defined in the RRD. Also, Users of Resources may beassociated with generic Roles such as Adaptor, Instantiator, End-User etc. when being assignedrights in fully automated IP licensing processes.

Thus, combining both sets of actions plus Roles will allow for the determination of generic defaultconditions required to invoke different IDP Functions and combinations thereof. For example, aUser obtains a Work-Manifestation Item and chooses the standard Role Adaptor. This then couldautomatically give rise to a standard set of conditions to be fulfilled such as “To Register DCIAdaptation of “Great Blue Work” approval certification XYZ is required.”

2.2.2.2 RRD Foundation

The RRD includes all the IP Entities of the Creation Model and adds corresponding Roles andActions.

2.2.2.2.1 IP Entities

There are several levels of representation in digital media. The most common is the representationinherent in common digital files know as Resources i.e. MP3, MP2-4 files etc., that refers to therepresentation of any entity or event (performance, writing, acting etc.) for the purpose of conveyingsaid event or entity directly to the human senses i.e. sight, hearing etc. through a rendering device.

Resources can be further Represented by using DCIs that provide a standard format for securelycommunicating all the information pertinent to the Use of a Resource such as its location, requiredtools to render Resources, Rights Expressions, Metadata etc., so that Resources are never isolatedfrom the means to Use, govern and protect them.

However, DCIs need not be used only to represent Resources but rather can represent other types ofentities particularly IP Entities (with or without a Resource). Thus, we may produce equally uniqueRepresentations of IP Entities for the purpose of IP management.

The DMP Creation Model extended beyond the IP Entities is sketched in Figure 5 below.

Page 53: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

53

Figure 5 – Extended DMP Creation Model

In Figure 5 and between the creation of the Work and the making of Instances, derivation of IPEntities occurs at two fundamental levels denoted by the verbs: Depend and Use. Use alwaysimplies the existence of at least one copy therefore allowing further commercial copies for whichrights granting is required. Depend implies a more un-severable relationship that may notnecessarily refer to a physically perceivable object; for example, the Work here meant to refer to thelogical construct and/or idea expressed in the Work’s physical Manifestations, exists necessarilyprior to being so expressed. Therefore, we say that the Manifestation Depends on the Work ratherthan say that it Uses the Work.

Beginning with the last event of a chain of events, the chaining of Depend, Use and Produce definesgenerically what the object is (Work, Manifestation, Instance and Copy). Note that although the IPRights considered in the Creation Model can be invoked as per different jurisdictions, the Produce-Use-Depend chains are expected to remain the same in most if not all cases.

At the end of the Creation Model the final products are copies of the IP Entities that can becommunicated. These are as follows:

1. Work-Instance-Copy2. Adaptation-Instance-Copy3. Work-Manifestation-Copy4. Adaptation-Manifestation-Copy

These copies constitute the basis IP Representation further down the distribution chain and are whatare used in Products.

Page 54: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

54

2.2.2.2.2 RRD Functions

RRD Functions are divided into two types:

RRD Functions agnostic to whether or not the relevant IP Entities are represented digitally:

o Create Adaptations: The Function by which an Adaptation is created.o First Fixation: The Function of making an Instance.o Synchronization: The Function of concurrently performing/displaying two distinct Works

or Adaptation Instances each for a different sense e.g. text and audio or video and song.o Mechanical Reproduction: The Function of making physical copies of a Producto Public Communication: The Function of publicly displaying/performing, e.g. live

performance, radio, television, internet streaming, multicast of Instances andManifestations, and download.

o Distribution: the Function of selling, renting and lending of copies.o Private Copy: The Function of Storing Content and hold it private for non commercial

purposes.

RRD Functions taken on digital files that in their essential nature are agnostic to what the digitalobjects may represent such as the RRD Functions represented in REL or a DMP Value ChainFunctions.

2.2.2.2.3 Roles

Roles are defined by groupings of RRD Functions realized on objects and therefore the definition ofan RRD Function implies the corresponding Role to realize the RRD Function. Six different Rolescan be listed: Creator, Adaptor, Instantiator, Producer, Distributor and End-User.

2.2.2.3 RRD Model as an Ontology

The IP objects can be formalised as an ontology. A digital representation of the DMP CreationModel serves to support the development of applications based on the Creation Model. Since theCreation Model is neutral i.e. represents all Users/Roles, IP Entities and their natural dependencies,it can be used as a common foundation for ascribing rights as defined by any jurisdiction thatrecognizes the ownership by individuals of original ideas. Thus, such an Ontology constitutes apowerful common core in support of interoperability between Digital Rights Management systems,a central goal of the DMP’s Interoperable DRM Platform.

The RRD is expressed in OWL (Web Ontology Language). A brief summary of the precedents thathave led to the tools being used to formalize the RRD follows.

The key concepts that underlie OWL are classes and their relations expressed as properties. Thus,the concepts represented in the DMP Creation Model and their relations are mapped to OWL classesand properties. The official W3C reference of OWL can be found at [53].

Chapter 3 describes in detail how the model here described has been transposed into the OWLOntology representation.

Page 55: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

55

2.2.3 Distribution Model

In the general DMP Distribution Model the following Users operate:

1. Content Providers providing Content to End-Users and Service Providers;2. License Providers providing Licenses to End-Users and Service Providers;3. DRM Tool Providers providing DRM Tools to End-Users and Service Providers;4. Service Providers providing Services to End-Users.

Figure 6 – Conceptual diagram of DMP Distribution Model

A specific Value-Chain need not involve all types of Users indicated in the Figure above, e.g.

1. Service Provider may Deliver Content to End-Users with License and DRM Tools Bundledwithin it. In this case the Service Provider makes and Registers a new Content Item out ofContent, License and DRM Tools received from other Users. This is represented in the top lineof the figure.

2. Service Provider may not be required as the End-User individually Accesses Content, Licenseand DRM Tools. This is represented by removing the first line of the figure

3. DRM Tool Provider may not be required, e.g. when Governed Content is Delivered without theuse of DRM Tools. This is represented by removing the bottom line in the figure.

Note that Service Provider makes and Registers a new Content Item out of Content, License andDRM Tools that he receives from other Users.

2.2.4 Delivery Model

For the purpose of this specification all types of Data to be Delivered between Device Entities canbe Represented as Content Elements, in particular Content, Licenses, DRM Tools and DRMInformation. These Content Elements can be variously combined between themselves and otherContent Elements.

Page 56: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

56

DCI is a Representation of Content that, along with the relevant Content Elements, can be Processedby a Device. However, DCI is not suitable for Delivering Content between Devices. The PackageFunction enables Delivery of a Content Item over a variety of specific Delivery mechanisms.Chapter 3 supports Delivery as a File (DCF), on an MPEG-2 Transport Stream (DCB) and on aReal-Time Protocol transport (DCS).

The Package Function includes

Insert DCI in the selected transport mechanism Extract DCI from the selected transport mechanism

2.2.5 DRM Tool Model

The following figure describes the DRM Tool Model.

Figure 7 – Handling of DRM Tools in a Device

Packaged Content is Delivered to a Device because the Device has Accessed it or another Devicehas Delivered it. The Parser extracts the DCI from the Packaged Content. In general the DCI Parserextracts the following from the DCI:

1. Resources2. Metadata3. DRM Information4. DRM Tools or Tool Packs5. Licenses6. Keys.

Resources and Metadata are passed to the appropriate decoding pipelines while DRM Information,DRM Tools or Tool Packs, Licenses and Keys are passed on to the DRM Processor, a modulewithin a Device that executes DRM-related Functions in a Trusted fashion.

The Device may already have all required DRM Tools e.g. because they are:

Page 57: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

57

1. Embedded in the Device2. Stored after having been previously Accessed3. Bundled within the Content Item currently Accessed.

If none of the above holds, then the DRM Processor will Access the missing DRM Tools from theDRM Tool Provider Device. Once Used, all DRM Tools are kept in the Secure Storage of theDevice.

The DRM Processor controls the critical points internal to a Device. As an example, in Figure 7there are 7 such “control points” (indicated as black nodes). The DRM Processor, using the DRMInformation, instantiates the required DRM Tools as plug-in modules (called DRM Tool Bodies),and instructs them to operate on the specific control points along the Resource decoding pipelines.

As described above, DRM Tools represent one or more DRM Functions such as Authenticate,Decrypt, detect watermark signal or extract watermark payload, etc. The DRM Processor handlesinstantiation, initialisation, Authentication, and supervision of DRM Tools Bodies. However, DRMTools can also be aggregated into a DRM Tool Group. In this case a DRM Tool Agent performs thesame tasks above for the DRM Tools in a DRM Tool Group. The combination of a DRM ToolAgent and its DRM Tool Group is called DRM Tool Pack (see Figure 8).

Note that a mandatory requirement for a DRM Processor is that it can interface with DRM ToolAgents and DRM Tools.

By using a DRM Tool Pack, sensitive information about the way a Resource is Governed can beplaced in the DRM Tool Agent instead of placing it in the DCI. However, in those cases where asimple DRM Tool configuration is required, e.g. one DRM Tool performing AES Decryption on aGoverned video stream, a single DRM Tool configuration may be a simpler option.

Figure 8 – Tool Pack Interoperability

Page 58: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

58

Error! Reference source not found.Error! Reference source not found.Error! Referencesource not found.Figure 9 and Figure 10 below graphically compare the “stand alone” DRM Toolsand the DRM Tool Pack.

Figure 9 –“Stand alone” DRM Tools Figure 10 – DRM Tool Pack

The following is an example of a complete walkthrough of the DRM Tool Model when a DRM ToolPack is employed:

1. DRM Tool Providera. Obtains DRM Tool Pack ID from DRM Tool Identification Deviceb. Includes DRM Tool Pack ID in Tool Pack Information with other related Metadatac. Makes DRM Tool Pack by combining DRM Tool Pack Information, DRM Tool Agent,

DRM Tool Group and Signatured. Stores DRM Tool Pack in DRM Tool Provider Device

2. User Requests Service3. Service Provider

a. Authenticates Userb. Sends Tool Pack ID and DRM Tool Provider Device’s URL to SAV

4. SAV requests Tool Pack with Tool Pack ID to DRM Tool Provider Device5. DRM Tool Provider Device Delivers Tool Pack6. DRM Processor

a. Accesses Tool Pack Informationb. Searches for requested DRM Tool Pack from Secure Storagec. Executes DRM Tool Agentd. Sends available Control Points to DRM Tool Agent

7. If User selects more than one Service simultaneously, DRM Processor executes all Tool Agentsfor each service

8. DRM Tool Agent instantiates DRM Tools, initializes DRM Tools, and connects each DRM Toolto proper Control Point

9. If there is a missing DRM Tool in the DRM Tool Group, DRM Tool Agent requests missingDRM Tool to DRM Processor

10. DRM Processora. Searches for missing DRM Tool in the Secure Storageb. Gives the reference of the DRM Tool to Tool Agent

11. DRM Tool Pack Data contains information to initialize DRM Tools in DRM Tool Group, e.g.Key information for Decryption Tool or seed number for watermarking Tool

Page 59: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

59

12. DRM Processor Accesses DRM Tool Pack Data and sends it to DRM Tool Agent, the only onecapable of Parsing DRM Tool Pack Data

13. DRM Tool Agent uses DRM Tool Pack Data to initialise the appropriate DRM Tools in theDRM Tool Group

14. DRM Processor starts Resource decoding15. DRM Tools perform DRM Functions on Resources

To Update a DRM Tool Pack/Tool in SAV the DRM Tool Provider Device performs the following:

1. DRM Tool Provider Device inserts a DRM Tool/Tool Pack Update message in the DCI2. DRM Processor

a. Receives Update messageb. Recognises which DRM Tool Pack/Tool should be Updatedc. If DRM Tool Body is contained in the DCI then DRM Processor replaces the Tool Bodyd. Else DRM Processor Access DRM Tool Body from DRM Tool Providere. Updates proper DRM Tool Pack/Tool according to the Update message

2.2.6 Device Model

It is convenient to introduce specific Device types that are needed to set up typical Value-Chains. Itshould be clear, however, that there may be more Device types than those listed in Table 6 or someof those Devices may be combined in a single Device:

Table 6 – DMP basic Device types# Device Name Acronym1. Device Identification Device DID2. Content Creation Device CCD3. Content Identification Device CID4. Content Provider Device CPD5. License Provider Device LPD6. Role Verification Device RVD7. DRM Tool Provider Device DPD8. Domain Management Device DMD9. Domain Identification Device DoID10. End User Device SAV11. End User Device PAV12. PAV eXternal Device PXD13. Event report Collection Device ECD

It is to be noted that each Device must be able to execute the Protocols that are defined forcommunicating with the other Devices as described in Figure 3 and must contain the technologiesthat are required to perform the actions contained in a Protocol message. Therefore it is of greatpractical importance to collect all such technologies in a middleware so as to accelerate thedevelopment of Devices. The DMP has selected the MPEG eXtensible Middleware (MXM).

Figure 11 depicts the general structure of a generic Device. This is composed of a computingplatform with an Operating System to which the MXM is added. The business logic of the Device isembedded in the specific functions designed in the MXM Application and is implemented as

Page 60: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

60

programmatic calls to the MXM via the MXM API. The MXM Application is what makes theDevice a, say, Content Creation Device or any other Device listed in Table 6.

Figure 11 – Generic MXM-based Device

The MXM also gives a Device the ability to communicate with another Device and therefore it is thefundamental building block of the DMP architecture. On the other hand it is possible to make aconforming Device without using MXM.

Figure 12 – Communicating Devices

The full set of technologies contained in the MXM is large and it may be unwise to load a Devicewith technologies that are never going to be used in a specific Device instance. For this reason theMXM has a structure based on Engines that correspond to specific set of technologies, asgraphically represented in Figure 13.

Page 61: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

61

Figure 13 – The MXM architectureIn the following subsections each Device is briefly described.

2.2.6.1 Device Identification Device

Chapter 3 supports two kinds of Device Identification:

1. “Device info-based identification” in which a Device Identification Device generates the DeviceIdentifier using some vendor specific information such as vendor ID, model ID or product serialnumber;

2. “Certificate-based identification” in which a X.509 certificate [37], generated by a DeviceIdentification Device, is utilised as Device Identifier.

2.2.6.2 Content Creation Device

In a typical CCD walkthrough a Creator activates an application showing a GUI displaying a seriesof steps that the Creator is invited to follow. Therefore a Creator:

1. Selects the DCI from a number of available DCI templates2. Gets Resources with corresponding Identifiers, e.g. from outside the CCD3. Encrypts Resources (optional)4. Fills the Metadata template for each Resource5. Obtains Metadata Identifiers (optional)6. Makes a License, e.g. by selecting one from a number of available License templates7. Obtains a License Identifier from a License Identification Device8. Adds License or License information within the DCI9. Obtains Content Identifier from a Content Identification Device10. Creates a DCF11. Stores the DCF on a Content Provider Device.

2.2.6.3 Content Identification Device

A Content Identification Device implements the Content Identification and Content AuthenticationProtocols as specified by Chapter 3.

2.2.6.4 Content Provider Device

A Content Creation Device Delivers Content to a Content Provider Device. A Content ConsumptionDevice (SAV or PXD) Accesses Content from a Content Provider Device employing AccessProtocols specified by Chapter 3.

2.2.6.5 License Provider Device

In case Licenses are not Bundled within the Content, Licenses are Stored on a License ProviderDevice and may be Accessed by a Content Consumption Device employing Access Protocolsspecified by Chapter 3.In case Content is Licensed to a Domain, the License Provider Device requests appropriateinformation from the Domain Management Device (see below).

Page 62: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

62

2.2.6.6 Role Verification Device

This Device responds to queries made by other Devices to verify the appropriate relationshipsbetween Roles, RRD Functions and IP Entities. For instance a Creator, by querying the RVD, canknow all RRD Functions he can execute.

2.2.6.7 DRM Tool Provider Device

In case DRM Tools are not Bundled within the Content, DRM Tools are Stored on a DRM ToolProvider Device and may be Accessed by a Content Consumption Device employing AccessProtocols as specified by Chapter 3.

2.2.6.8 PAV eXternal Device

PAV Devices do not have network or broadcast connections to Access Content or License. However,they can be connected to a PAV eXternal Device (PXD) or a SAV, that in turn is connected to anetwork or broadcast channel. The following figure depicts the relationship between the fourrelevant Devices.

Figure 14 – A PAV and its PXD

Two cases can be considered

1. In the simplest case the PXD Accesses a Content Item in the form of a DCF with a LicenseBundled within it. Content can then be Copied/Moved to the PAV Device, without further actionby the PXD, using a Protocol that is not specified by DMP.

2. If the PXD obtains a Content Item in the form of a DCF without a Bundled License, thefollowing steps are performed:a. End-User connects his PXD to a Delivery System, e.g. Memory module, the Internet or a

Broadcast channel;b. End-User activates a browser;c. End-User selects a Service;d. End-User select a Content Item (without a License Bundled within it);e. End-User Stores the selected Content in the PXD;f. End-User plugs his PAV in the PXD;g. End-User Accesses the License from License Service Provider;h. PXD Bundles the License within the Content;i. PXD makes a DCF;j. DCF is Copied/Moved to PAV as in case 1.

Page 63: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

63

2.2.6.9 Content Consumption Device (PAV)

To Store Content on a PAV Device the following steps are performed:

1. End-User plugs his PAV to the PXD;2. End-User activates an application on the PXD that connects the PXD to the PAV;3. The application displays a list of the DCFs on the PXD that are available for Use on the PAV;4. End-User selects the DCFs to his liking;5. End-User activates Move/Copy of those DCFs from PXD to PAV.

To Use Content on the PAV Device the following steps are performed:

1. End-User activates GUI2. GUI

a. Reads the files Stored in PAVb. Make a list using information from Metadata in each DCF

3. End-User selects DCF4. PAV

a. Parses DCF to obtain DCIb. Parse DCI to obtain

i. Licenseii. Metadata

iii. Resourcec. Parses License to obtain DRM Information

5. GUI displays the list of Functions that can be executed and Metadata6. User selects the Function7. PAV

a. Decrypts Resourceb. Decodes Resourcec. Renders Resources.

2.2.6.10 End User Device (SAV)

Once a SAV has Accessed the Content, and the necessary License and DRM Tools using the AccessProtocols specified in Chapter 3, it can Use the Content, e.g. Play, Store or Adapt it in the SAV orMove/Copy the Content or its Adaptation to another SAV or PAV as per License terms.

These are Functions a SAV Device performs on a Content Item, in addition to the steps listed in thewalkthrough of the DRM Tool Model:

1. Decrypt Resources2. Decode (decompress) Resources3. Deliver decompressed Resources for Rendering4. Create DCF with Bundled License5. Store DCF6. Move or Copy the DCF to another SAV or a PAV7. Adapt Content8. Encrypt Resources.

Page 64: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

64

The figure below is a conceptual model of a SAV

Figure 15 – Conceptual model of a SAV

In many instances a SAV interacts with other Devices through Interfaces defined as in the figureabove. In other instances it may be useful to define interfaces between processing elements such asthe DRM Processor and the Resource Processor of Fig. 13.

Figure 16 – DRM Processor and Resource Processor in a SAV

Page 65: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

65

A separation between the Resource Processor and the DRM Processor increases flexibility as thevendor of the Resource Processor need not be concerned with the various types of DRM Processors.Likewise, the vendor of the DRM Processor does not have to be concerned with the properties ofeach Resource Processor. As a result, this architecture reduces the cost of integrating the DRM andResource Processors. To achieve this, a standard Interface between both Processors and anappropriate Protocol is essential.

2.2.6.11 Domain Identification Device

See Domain Model below.

2.2.6.12 Domain Management Device

See Domain Model below.

2.2.6.13 Event report Collection Device

This Device Implements the Register Event Report Request and Store Event Report Protocols asspecified by Chapter 3.

2.2.7 Secure implementation of Devices

Device Certification Agencies have the task of checking the implementation of a Device and Certifythat it can be Trusted up to a certain level. While a pure software implementation satisfies the DMPdefinition of Device, it is clear that, to operate, a complete Device must be complemented by ahardware component.

The Trusted Computing Group (TCG) has issued specification of a trusted computing platformconsisting of two stacks, one is the software stack which is called “Trusted Software Stack (TSS)”and the other one is the hardware stack called “Trusted Platform Module (TPM)”. The TCG modelis compatible with the DMP model in that both the TSS and the TSS can be “Devices”.

In the following some information on the TCG model is provided to clarify the role of the DMPreference software (Chillout).

The TPM provides four main functionalities implemented as hardware stack. These can be usedthrough TSS software stacks, whose APIs are also defined by TCG:

1. System integrity evaluation: a TPM can find that the BIOS, the OS or the software is falsifiedby storing the hash of these software stacks when they are correct;

2. Platform certification: a TPM can generate a secret key and store it securely in order to ensurethat the correct TPM is used;

3. Secure storage: to store encryption keys, which is super-ciphered by TPM secret key;4. Crypt-coprocessor: this contains RSA engine, Random Number Generator, Hash and so on.

Devices can store any number of encryption Keys in the secure storage of the TPM. When a Devicewishes to store a Key, an application can use the TPM secret Key in order to encrypt them.

Page 66: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

66

Figure 17 – Secure key storage

The hashes of the BIOS, OS and software stacks are registered in the PCR (Platform ConfigurationRegister). So if a Device needs to Verify the TPM it requests the value of the PCR and compares itwith the value of the PCR stored at the time it was shipped. If the received value of the PCR isequivalent to the stored value of the PCR, Verification succeeds.

Figure 18 – TPM VerificationIn order to use the TCP, Devices should only use the TSS API when they wish to use TPM functions.

The Chillout Reference Implementation is a Java based software. A TSS Java wrapper is availableas Open Source software. The trusted computing architecture is shown in Fig.15.

Figure 19 – Java based trusted computing

If the DMP Reference Software (Chillout) will adopt trusted computing technology, most of theexisting software stacks are still useful. However, when Chillout stacks uses TPM functions,Chillout stacks should provide the functionality to use the TSS API.

TPM

OS

BIOS

Chillout stacks

TSS

Java VM

TPM

OS

BIOS

DMP DRM stacks

TSS Server

PCR PCR

TPM

Keys

OS

BIOS

TSS

DRM stacks

EEPROM/HDD

Page 67: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

67

2.2.8 Domain Model

Domains are groups of Devices or Users sharing some common properties. Using Domains itbecomes possible to implement more flexible Licensing modalities, e.g. to License a Content Item toall Devices or Users in a Domain. A Domain is managed by a special Device called DomainManagement Device.

Figure 20 – An example of Domain

Figure 20 represents a possible Domain configuration with:

1. Two Devices (SAV), belonging to two different End-Users;2. One Device (PAV) belonging to another End-User connected to the network via a PXD;One Device (SAV) belonging to another End-User and remotely connected to the other Devices inthe Domain via the Internet.

In general 5 Device types are required to manage a Domain:

1. Domain Management Devices (DMD), to manage the life cycle of Domains and the list ofDevices and Users belonging to the Domains;

2. Domain Identification Devices (DoID), to Assign Globally Unique Identifiers (GUID) toDMDs on behalf of Domain Registration Agencies;

3. End User Devices (EUD), e.g. SAV or PXD;4. Users, bearing in mind that Users are represented by e.g. a device (smart card etc.) or an identity

on a Device (UN/PW etc.);5. License Provider Devices (LPD) to provide Licenses including for Use of Content in a Domain.

The combined operation of these Devices can be shown by a simple walkthrough in the figurebelow:

Page 68: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

68

Figure 21 – The relationship of the 5 Device types in Manage Domain

1. A User (Domain Administrator) requests DMD to create a Domain2. DMD

a. Creates Domainb. Obtains Domain ID from Domain Identification Device;c. Creates Domain Information containing Device/User list, maximum number of

Devices/Users etc.;d. Creates Domain Context for Device/User containing Domain ID, DMD ID, Domain Private

Key, expiration etc.;e. Delivers AccessID and AccessPassword to Domain Administrator;f. Delivers Domain Context for Device/User to Device/User;

3. Device/User requests License to License Provider Device giving Domain ID;4. License Provider Device sends Domain ID to DMD;5. DMD Delivers Domain Public Key to LPD;6. License Provider Device makes and Delivers License to Device/User.

Note: A Domain Management Device can manage one or several Domains. Ownership of a DMDcan be implemented using a variety of mechanisms, e.g. End-User based or Service Provider based.

2.2.9 Import/Export Model

The DMP specifications enable Users to set up Value Chains and perform Functions in anInteroperable fashion. There may be, however, cases in which a Device needs to access governedcontent from a value-chain. An example, explicitly considered by Chapter 3, is when a SAVaccesses governed content broadcasted with a license expressed using the RMPI Rights ExpressionLanguage [18].

In this case a Device performs the following steps:

1. accesses content2. translates license into a License3. makes DCF using the received Resources, Metadata and the License just made4. Stores DCF.

Page 69: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

69

Chapter 3 specifies the Tools to convert a license expressed using RMPI to a License.

It is possible to Export a DCF with an appropriate License to a device using a similar process.

2.2.10 Data Model

Chapter 3 specifies the Representation of the following data types:

Table 7 – DMP Data types

Content A DMP-defined structure of Content Elements, i.e. Resource, Metadata, Content,License, DRM Information, DRM Tool and Use Data

Identifier The unique signifier Assigned by IdentificationResource Data, whose Representation is not specified by DMP (e.g. an MP3 file or an

executable code), that can be Processed by a DeviceMetadata Data that describe Content and Content ElementsDRMInformation

Data that describe Governance of Content

DRM Tool An algorithm which implements one or more DRM FunctionsDRM ToolBody

An executable computer code that implements a DRM Tool

Licence Data Representing the Permissions to a Content Entity under given Conditionsexpressed by Rights Expressions that are Granted by one User to another User

Key Data used by a cryptographic method to make Clear-text Data Encrypted or,conversely, Encrypted Data Clear-text

DRM Message A message exchanged between DRM Tool Bodies, DRM Processor and DevicesDeviceInformation

Data characterising a Device, e.g. CPU, OS etc.

DomainInformation

Data characterising a Domain that is Stored in a Domain Management Device,e.g. the list of Devices, Users, Domain Key etc.

Use Data Data documenting the Functions performed by a Device Entity on a Content Itemand the associated context

DCI Signature Data Encrypted with a Private Key and appended to a DCI for the purpose ofguaranteeing the Integrity of the DCI

DCI Hash A number generated by applying a mathematical formula to a DCI

The following table describes which Content Elements can be contained in another Content Element

Table 8 – DMP Content Elements

Content Elements Content Elements containedContent Identifier

Resources Metadata DRM Information DRM Tool

Page 70: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

70

DRM Tool Body License Key DRM Message Authentication Message Device Information Domain Information Use Data DCI Signature DCI Hash

IdentifierResources Identifier

Metadata DRM Information

Metadata DRM InformationDRM Information DRM Tool

License Key

DRM Tool DRM Tool Body Device Information DRM Message

DRM Tool BodyLicense KeyKeyDRM Message Key

Authentication MessageDevice InformationDomain Information KeyUse DataDCI Signature KeyDCI Hash

2.3 Platform Tools

This section provides a high-level description of the three types of Tools specified by Chapter 3:Represent, Protocols and Package.

2.3.1 Represent

2.3.1.1 Content

The digital Representation of Content is called DMP Content Information (DCI). The DCI is anXML structure specifying Content Identifiers, DMP-specific information, DRM information andLicenses with Content and Content Elements. See figure below for a graphical representation of aparticular DCI.

Page 71: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

71

Figure 22 – An example of DMP Content Information (DCI)

Chapter 3 adopts a subset of the MPEG-21 Digital Item Declaration for the DCI [17].

2.3.1.2 Identifier

To be Used in Value-Chains, Content Items should be unambiguously Identified for a given lifetimeand within pre-assigned boundaries. Allocation of Identifier achieves this goal if the followingaspects are guaranteed:

1. Persistence, i.e. the Identifier should be used as a reference to the Content Item even beyond thelifetime of the Content Item it Identifies

2. Uniqueness, i.e. the Identifier should be used across Users or globally.Every Content Item expressed by a DCI contains a unique Identifier Assigned by a special type ofUser (Registration Agency). Chapter 3 provides ways to Identify a Resource by means of its originalIdentifier inside the DCI (e.g. ISWC, ISRC) or other Metadata.

Chapter 3 bases its Data Identification on the principles of MPEG-21 Digital Item Identification [23].

2.3.1.3 Resources

Resources can be typical media resources, but also DRM Tools, i.e. the executable code that isneeded by a Device to Process protected Resources. The IDP is agnostic to the type of Resourcessave for a composition of multimedia objects called Lightweight Application Scene Representation(LASeR) that is referenced by Chapter 3 [15].

Page 72: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

72

2.3.1.4 Metadata

Chapter 3 adopts a subset of TV Anytime Metadata [42] as the default Metadata specification forMedia Resources. Note that AD 3 supports the use of other metadata schemes.

2.3.1.5 DRM Information

DRM Information is the set of data resulting from implementing the rules to manage and protect anypart of a DCI. It may include any information in the DCI, e.g.:

Content Governance Information, including the signalling of the DRM Tools required to AccessContent

Decryption Keys Licenses Data for DRM Tools’ initialisation and configuration Appropriate Metadata Etc.

2.3.1.6 DRM Tool

DMP calls an executable computer code that implements a DRM Function a “DRM Tool Body”.This may be resident in a Device or contained or referenced in a DCI.

2.3.1.7 License

Chapter 3 can support a wide range of business models ranging from the simple and straightforwardusage models currently familiar to End-Users to innovative and possibly even speculative businessmodels. Therefore the expression of Rights that may be required between any Users in a ValueChain and the nature and complexity of the Rights expressed may be dependent upon the role of theUsers involved in this exchange.

In a Governed Content Item, the relevant Governance information is expressed within the DCI orreferenced using Permissions expressed in REL statements. In order to be able to Access Governedand protected Resources, the User is required to have obtained the necessary Keys and Certificatesas stipulated by the License. If the Keys are not Bundled within the DCI, they can be obtained asstipulated by the License Provider.

DMP employs two Profiles of the MPEG-21 Rights Expression Language (REL). The first (coreprofile) can be used in reduced-capability Devices such as PAVs. DMP Domain requirements aresupported by the MPEG-21 REL Dissemination and Capture (DAC) Profile [28].

The one-to-one association of Licenses to Content Items may entail significant logistic problems.Therefore Tools to support alternative License distribution scenarios are also provided:

Table 9 – License Distribution Scenarios

License to Description Issues1 Device A Content Item is Licensed for

Use on one specific Device.Device requires a unique ID or certificate.Content must be re-Licensed for each newDevice.

Page 73: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

73

N Devices A Content Item is Licensed forUse on multiple Devices.

Same as single Device. Reduced need to re-License Content as it can be Used on morethan one Device.

Domain A Content Item is Licensed to aDomain, i.e. Content can be Usedon any Device within that Domain.

Content does not need to be re-Licensed,rather a Device needs to join the Domain.The IDP provides specifications for Tools tojoin and leave a Domain.

2.3.1.8 Key

A Key is Data used by a cryptographic method to make Clear-text Data Encrypted or, conversely,Encrypted Data Clear-text. It can be resident in a secure storage of a Device or be carried by a DCI.

2.3.1.9 Event Report Request

ERR can be added to a DCI for the purpose of requesting a Device executing a Function to issue amessage if the Function appears in the ERR. IDP uses the Event Report Request of [31]

2.3.1.10 Presentation Information

In case some in-line or referenced Entity needs to be presented at an End User Device, IDP uses thePresentation of Digital Item standard [23]

2.3.2 Use Data

Currently DMP defines Use Data for the purpose of Domain Management.

2.3.3 Protocols

The IDP requires Protocols to enable communication between Devices. The following Protocolshave been developed and standardised [40]:

Table 10 – Currently defined IDP Protocols

# Protocol name Purposea) Identify Content Protocol To identify content items and elements thereofb) Authenticate Content Protocol To authenticate content items and elements thereofc) Store Content Protocol To store content items and elements thereofd) Access Content Protocol To obtain content items and elements thereofe) Store License Protocol To configure a license service to issue licensesf) Access License Protocol To obtain licenses granting rights over content items and

elements thereofg) Access IPMP Tool Protocol To obtain IPMP Tools necessary to access protected contenth) Manage Domain Protocol To create, join, administer, etc. a group of users and/or devicesi) Access IPMP Tool List

ProtocolTo request the list of IPMP Tool Bodies available on the TPD

j) Register Event Report Request To request the ECD to register a class of Event Reportstriggered by a certain Event Report Request

k) Store Event Report To request the ECD to store an Event Reportl) Discover Domain Protocol To discover a Domain Management Device

Page 74: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

74

Figure 23 graphically represents the Protocols of Table 10

Figure 23 – Currently defined IDP Protocols

Protocols can be classified in the following categories

Table 11 – Protocol categories

# Category name Protocols1 Content Protocols a), b), c), d)2 License Protocols e), f)3 IPMP Tool Protocols g), i)4 Manage Domain Protocols h), l)5 Event Report Protocols j), k)

2.3.3.1 Identify

The following Entities require Identification:1. Content2. DRM Tool3. Device4. User5. Domain

2.3.3.1.1 Identify Content

Chapter 3 specifies the Representation of Content Identification and the corresponding Protocols.

2.3.3.1.2 Identify DRM Tool

Chapter 3 specifies the Representation of DRM Tool Identification and the corresponding Protocols.

2.3.3.1.3 Identify Device

Page 75: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

75

Device Identification is used for following purposes:

Authentication The Licence Provider needs to verify that the target Device can properly UseGoverned Content, i.e. the Licence Provider needs the Device Identifier toenable Authentication

Authorisation The Device Identifier is important information for a User with appropriateauthority to allow or disallow specific Devices to Render Governed content

DomainManagement

The Device Identifier is used to Identify Devices belonging to a specificDomain in which various Devices can be Registered and managed

Audit The Device Identifier is used to Identify participant Devices on Use ofGoverned Content if the audit record needs to be kept

LicenseBackup/Restore

Use of Governed Content is controlled by the License that specifies allowedDevice(s). The Device Identifier is used to Identify dedicated Device onBackup or Restoration of the License

Chapter 3 provides Protocols supporting two kinds of Device Identification:

1. “Device info-based identification” in which a Device Identification Device generates the DeviceIdentifier using some vendor specific information;

2. “Certificate-based identification” in which a Certificate is utilised for Device Identifier.

2.3.3.1.4 Identify User

User Identification is currently outside the scope of DMP.

2.3.3.1.5 Identify Domain

Domain Identification is performed by a Domain Identification Device. Currently Chapter 3 doesnot specify the Protocol for a Domain Management Device to request Domain Identification.

2.3.3.2 Authenticate

The following Entities: Devices, Users and DRM Tools need to establish Trust between themselvesbefore they may perform DRM-related Functions.

2.3.3.2.1 Authenticate Device

Chapter 3 specifies a Protocol to Authenticate Devices having unique Certificates.

2.3.3.2.2 Authenticate User

User Authentication is currently outside the scope of DMP.

2.3.3.2.3 Authenticate DRM Tool

These Protocols are currently part of Manage DRM Tool Protocols.

2.3.3.3 Negotiate

This includes the following (currently unspecified) Protocols:1. Protocol to Negotiate Licence to Use a Content Item2. Protocol to Negotiate Licence to Use a Use Data Item3. Protocol to Negotiate Licence to Use a Content Item against a Licence to Use a Use Data Item

Page 76: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

76

2.3.3.4 Deliver

The following Protocols are required by the IDP to Deliver Content. Those marked in normal areprovided by Chapter 3, those marked in italic will be provided by future versions.

Table 12 – Definitions of types of Delivery

Store The Function by which Device A Delivers Content to Device B for the purpose ofretaining it in Device B for Use at a different point in time

Move The Function consisting of the following actions1. Copy of Content from a source Device to a destination Device2. Deletion of said Content in the source Device

Copy The Function that1. Duplicates Content2. Delivers the duplicate to another Device

Export The Function of making available a Content Item to a non-DMP DRM systemBackup The Function that supports

1. Duplication of Content2. Duplication of Rights Expression in case this is a Stateless Rights Expression, and3. Moving the duplicate(s) to another location that is not a Device

Access The Function executed by a Device when making Content available to so that the Devicecan execute Functions on it

Import The Function of Accessing a governed content item from a non-DMP DRM systemRestore The Function of Moving Content and the associated Stateless Rights Expression, if any, to

the Device from which Backup had been performed

2.3.3.4.1 Access

Chapter 3provides the following Access Protocols:

1. Protocol to Access Content as File2. Protocol to Access License as File3. Protocol to Access DRM Tool Body as File4. Protocol to Access DRM Tool Body as Stream5. Protocols to Access Key as Stream

Additionally the following Local Access Protocols are defined

1. Local License Access Protocol2. Local DRM Tool Body Access Protocol

2.3.3.5 Manage DRM Tool

To facilitate the cooperation of multiple DRM Tools to perform DRM-related Functions onGoverned Resources, Chapter 3 provides a message-based architecture. Such messages are XMLstructures allowing the exchange of information between various components of a Device, e.g. theDRM Processor and a DRM Tool, or between two DRM Tools.

Page 77: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

77

The following is a non-exhaustive list of Functions enabled by the messages defined in DMPManage DRM Tool namespace:

A DRM Tool may require to be informed of all the other DRM Tools operating at any time A DRM Tool may require to be notified when a new DRM Tool is instantiated A DRM Tool may require the instantiation of another DRM Tool A DRM Tool may require the termination of another DRM Tool A License or any part of it may be exchanged between two parties A Decryption Key, along with the timing information about its use, may be exchanged between

two parties The results of a watermarking operation may be communicated Two DRM Tools may mutually authenticate

2.3.3.6 Manage Domain

Approved Document #3 provides a set of protocols that can be used to manage a Domain. Domainmembers that can be Devices or Users. Domain members share Domain membership and the rightson the contents. For this, Domain Management Device (DMD) manages the domain and providesthe Domain members with the functions of joining, leaving, renewing, updating, and so on.Therefore, at least, Domain members should be able to communicate with DMD.

2.3.3.7 Discover Domain

When a device makes a connection to a Domain, the device might have no information about thelocation, availability, or capability of the DMDs. A localised Domain such as home Domain forFree-to-Air broadcast content is one representative example, as shown in the figure 1. On thislocalised Domain environment, Domain management is performed by arbitrary capable device in thehome Domain. In this case, a user can choose the device to makes a role of DMD, and sometimes,the DMD device might be changed or shut down. In this variable Domain, a device to newly accessthe Domain may not know how to communicate with the DMD, so a means for the devices todiscover the domain information such as DMD location is necessary, and Domain DiscoveryProtocol could provide the functionalities to solve the problem mentioned above.

Figure 24 – Sample Scenario of Domain DiscoveryDomain Discovery Protocol can be used for the two following purposes:

Domain device uses Domain Discovery protocol to find the location of the DMD.

Page 78: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

78

Domain device uses Domain Discovery protocol to find the Domain information.

2.3.4 Package Content

For the purpose of Delivery, Content typically needs to be Packaged. Currently Approved Document#3 provides Tools to Package Content for File (DCF), Broadcast (DCB) and Stream (DCS).

2.3.4.1 DMP Content File

The file contains the DCI with some or all of the Resources it references in ‘Boxes’ defined by theISO Base Media File Format and the MPEG-21 File Format [30]. The link between the DCI(containing Metadata and Governance information) and the Resources is done through the ItemLocation Box, which specifies the physical location in the file of a Resource described in the DCI,as represented in Figure 25.

Figure 25 – Conceptual diagram of DMP Content Format (DCF)

2.3.4.2 DMP Content Stream

A number of transport mechanisms may be employed to transmit digitally Represented Content(DCI) between Devices. Currently those of highest relevance are the MPEG-2 Transport Stream(MPEG-2 TS) and the Real-Time Protocol over User Datagram Protocol over Internet Protocol(RTP/UDP/IP). When using these packet-based transmission protocols, Content must be packetisedand then transmitted incrementally to the receiving Device. As Content is a combination of ContentElements, transmitting Content in a streaming fashion implies packetisation of its Content Elements.

Chapter 3 specifies the means to incrementally transmit a DCI (including its component ContentElements, either referenced or included) in a piece-wise fashion and with temporal constraints insuch a way that a receiving Device may incrementally Use the DCI. At the receiving end, apotentially fragmented DCI is received, where, for instance, some parts may have been removed ortransformed at the transmitting end according to some rules.

Package Content as a Stream is based on MPEG-21 Digital Item Streaming (DIS) [33]. The DISstandard specifies a Bitstream Binding Language (BBL) using which it is possible to describe how aDCI may be broken down for transmission and then mapped to the transmission channels of interest:MPEG-2 Transport Streams and RTP/UDP/IP.There are two basic types of BBL document: Instance and Binding descriptions.

Page 79: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

79

1. Instance describes the streaming instructions for a DCI and contains references to the DCI andany other resources of the DCI. References may be URIs, or pointers to the location of the URIwithin the DCI.

2. Binding provides the abstract mapping of the DCI or part thereof to the particular set of outputstreams (MPEG-2 TS and RTP/UDP/IP). Bindings are instantiated as part of an Instancedocument, which provides the URI references for the fragments of Content to which theBinding(s) are to be applied.

Figure 26: Streaming a DCI using Digital Item Streaming

Binding is a set of abstract Bitstream Binding Language instructions which map a DCI into acollection of packets to be output to one or more handlers, as shown the Figure above.

DIS can also be used to Package binary objects over a streaming protocol. BBL uses BS Schemafrom MPEG-21 Digital Item Adaptation (DIA) [29] to specify the structure of binary resourceswhich are to be streamed using BBL. This enables fragments of a binary resource to be specifiedusing XPath [52] references.

2.3.4.2.1 Broadcast

The figure below shows an example DCI related to TV program P1, where Program P1 is composedof:

1. Metadata of the TV program P1 (green box)2. Metadata of the video stream (DMP Infored box)3. Pointer to the video stream in the MPEG-2 Transport Stream4. Metadata of the associated audio stream (DMP Infolight blue box)5. Pointer to the audio stream in the MPEG-2 Transport Stream6. Metadata of the audio-visual stream (DMP Info)7. License of the audio-visual stream8. Metadata of the DRM Tools (DRM Info)9. The actual DRM Tools carried as Resources in the DCI.

Page 80: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

80

Figure 27 – Conceptual diagram of DMP Content Broadcast (DCB)

P1 is Governed as a whole, therefore only one single license and a single DRM Information elementare needed. An alternative DRM configuration not contemplated in this figure but still possibleusing IDP Tools shows Resources Governed individually by an appropriate License and eachcharacterised by appropriate DRM Information.

Chapter 3 provides Tools to carry DCB on MPEG-2 Transport Stream.

2.3.4.2.2 Stream

This is depicted by the figure below

Figure 28 – Conceptual diagram of DMP Content Streaming (DCS)

Here the DCI of Content streamed comprises

Page 81: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

81

1. Metadata of the streaming Content as a whole2. Metadata of the video stream (DMP Info)3. Pointer to the video stream in the RTP Stream4. Metadata of the associated audio stream (DMP Info)5. Pointer to the audio stream in the RTP Stream6. Descriptor of streaming text7. Pointer to the streaming text in the RTP Stream8. License of the Governed video stream9. Metadata of the DRM Tools (DRM Information) Governing the video Resource10. The actual DRM Tools for the Video Resource carried as Resources in the DCI.

Chapter 3 provides Tools to carry DCS on RTP.

Page 82: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

82

3 Interoperable DRM Platform

3.1 Introduction

This Chapter 3 provides specifications of basic standard technologies – called Tools – that arerequired to build Value-Chains. Examples of Value-Chains can be found in Chapter 4 where it isshown how a selected number of Use Cases can be implemented employing Tools specified in thisChapter 3. Of course other Value-Chains of interest to Users can be implemented employing IDPTools.

For ease of treatment Tools are grouped in categories. In IDP-3.2 the following categories of Toolsare specified:

1. Represento Contento Metadatao DCI Signatureo DCI Hasho Identifiero Resourceso DRM Informationo DRM Toolo DRM Tool Bodyo Licenseo Keyo DRM Messageso Authentication Messageso Device Informationo Domaino Domain Protocolso Discovery Protocolso Use Datao Access Protocolso Rights Data Protocolso Payment Protocolso Binary XML

2. Protocolso Identify

Device User

o Authenticate Device User

o Manage Domain DRM Tool

o Discover

Page 83: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

83

Domaino Access

Content License DRM Tool Body Key Rights Data

o Payment3. Package

o Content as Fileo Content as Stream

In this Chapter 3 “sections” will deal with categories and “sub-sections” with “Tools”.

Whenever possible DMP does not specify new technologies, rather it adopts existing technologies.Therefore a number of Tools specified in this Chapter 3 contain references, restrictions, extensionsor adaptations of technologies already standardised by other bodies. There are, however, also casesof technologies that are originally specified in this Chapter 3.

Proper understanding of this Chapter 3 is facilitated by a careful reading of the Foreword to Chapter2, this Chapter 3, Chapter 6. Introductory information on some referenced standards,recommendations and specifications is provided in Annex A. However, proper understandingrequires working knowledge of such referenced documents.

3.2 Represent

In this specification, the term Represent is used to describe the function of expressing information ina form that can be processed by a machine. This information relates to DMP Content Elements byconveying parameters and values between machines associated with the Content Elements.

This chapter specifies how to Represent various DMP Content Elements, some of their componentsand other Data that can be exchanged between Users. These are listed in the following table.

Table 13 – Data Represented in this specification

Content The overall structure of Content Elements and their components.Metadata Metadata Representation within Content and a DMP FormatDCI Signature Description of the digital Signature of the DCI and representation

within ContentDCI Hash Description of the Hash of the DCI and representation within ContentIdentifier Description of Identifier format and representation within ContentResource Description of Resource Elements as an element within ContentDRM Information The grouping together of information associated with the Governance

of ContentDRM Tool Software modules performing one or more DRM Functions such as

Authentication, Decryption, watermarking, etc.DRM Tool Body Data associated with specific instantiation of DRM Tools

Page 84: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

84

License The representation of the DMP LicenseKey The representation of the Key dataDRM Messages Messages exchanged between DRM Tools or between a DRM Tool

and a DRM Processor.Authentication Messages Messages exchanged between two entities to mutually AuthenticateDevice Information The parameters required to describe the Device characteristicsDomain Information relating to the management of DomainsDomain Protocols Information exchanged between Devices while performing Domain-

related ProtocolsDiscovery Protocols Information exchanged between Devices while performing

Discovery-related Protocols, e.g. Domain discovery.Use Data The Use data RepresentationAccess Protocols Information exchanged between Devices while performing Access-

related ProtocolsPayment Protocol Information exchanged between a Device requesting another Device

to perform a paymentRights Data protocol Information exchanged between Devices while performing queries to

the Rove Verification DeviceBinary XML A format for Representing Binarised XML

The Representation of the Content and Content Elements is made up of XML schema, defined usingthe XML schema language as specified in [51].

This Represent Section specifies a number of XML Schema, some of which are devised by the DMPand some of which are profiles of existing specifications or are adopted directly from existingspecifications.

The table below summarises the namespace URIs of the schemas developed by the DMP. Thecolumn on the left indicates in which phase of IDP the schema has been developed. The column onthe right indicates the namespace prefix used within this specification.

Table 14 – URIs of DMP-defined schemas.

Namespace URI Namespace prefixurn:dmp:idp:mxmaitp:extensions:2009 dmp-mxmaitpxurn:dmp:idp:mxmdp:extensions:2009 dmp-mxmdpxurn:dmp:idp:mxmd:extensions:2009 dmp-mxmdxurn:mpeg:mpeg-m:schema:identifycontentprotocol:2009 mxmicpurn:mpeg:mpeg-m:schema:authenticatecontentprotocol:2009 mxmaucpurn:dmp:idp:Represent:DeviceIdentifierProtocol:2007 dmprdipurn:dmp:idp:Represent:DiscoveryProtocol:2008 dmprdpurn:dmp:idp:Represent:License:2007 dmprlurn:dmp:idp:Represent:PaymentProtocol:2008 dmprppurn:dmp:idp:Represent:RightsDataProtocol:2008 dmprrdpurn:mpeg:mpeg-m:schema:storecontentprotocol:2009 mxmscpurn:mpeg:mpeg-m:schema:storelicenseprotocol:2009 mxmslp

Page 85: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

85

Table 15 summarises the namespace URIs of those schemas referenced by this specification.

Table 15 – URIs of referenced schemas

Namespace URI Namespace prefixurn:mpeg:mpeg21:2007:01-BBL-NS bblurn:mpeg:mpeg21:2003:01-DIA-NS diaurn:mpeg:mpeg21:2006:07-DIDL-NS didlurn:mpeg:maf:schema:mediastreaming:DIDLextensions didl-msxurn:mpeg:mpeg21:2002:02-DIDMODEL-NS didmodelurn:mpeg:mpeg21:2002:01-DII-NS diiurn:mpeg:mpeg21:2005:01-ERL-NS erlurn:mpeg:mpeg21:2004:01-IPMPDIDL-NS ipmpdidlurn:mpeg:mpeg21:2004:01-IPMPINFO-NS ipmpinfourn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007 ipmpinfo-msxurn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007 ipmpmsgurn:mpeg:mpeg4:IPMPSchema:2002 mpeg4ipmpurn:mpeg:mpeg7:schema:2001 mpeg7smpurn:mpeg:mpeg7:smp:schema:2001 mpeg7smpurn:mpeg:mpeg-m:schema:accesscontentprotocol:2009 mxmacpurn:mpeg:mpeg-m:schema:accesslicenseprotocol:2009 mxmalpurn:mpeg:maf:schema:mediastreaming:baseprotocol:2007 mxmbpurn:mpeg:maf:schema:mediastreaming:domain:2007 mxmdurn:mpeg:maf:schema:mediastreaming:domainprotocol:2007 mxmdpurn:mpeg:mpeg21:2005:01-REL-M1X-NS (*) rel-m1xurn:mpeg:mpeg21:2006:01-REL-M2X-NS rel-m2xurn:mpeg:mpeg21:2006:01-REL-M3X-NS rel-m3xurn:mpeg:mpeg21:2003:01-REL-MX-NS (*) rel-mxurn:mpeg:mpeg21:2003:01-REL-R-NS (*) rel-rurn:mpeg:mpeg21:2003:01-REL-SX-NS (*) rel-sxurn:tva:metadata:2002 tvaurn:mpeg:maf:Profile:mediastreaming:tva:2007 tva-msafurn:mpeg:mpeg21:2003:01-DIA-NS uedhttp://www.w3.org/2000/09/xmldsig# dsighttp://www.w3.org/2001/04/xmlenc# xenc

(*) These namespaces refer to the REL schemas with validation rules defined in [27] joined withthose defined in [28].

3.2.1 Represent Content

Represent Content defines the basic structure for any information related to Content, which maycontain, in turn, a number of other Represent technologies.

The actual hierarchy may differ depending on the structure of each Content Item, e.g. the order inwhich the various “Represent” technologies are employed. Also the Representation of differentContent Elements may:

Page 86: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

86

1. recur more than once in a Content Item2. not recur at all3. appear in different places depending on the hierarchy

DMP defines Content as a structured combination of Content Elements. The Representation of theseelements is specified in the remaining parts of the Represent chapter. When represented togetherthese elements are ordered within a larger framework specified here as Represent Content.DMP refers to the Content Representation Tool as “DMP Content Information” (DCI).

Specifically, this section provides the means to:

Convey Identifiers of Content and Content Elements Associate DMP-specific information and Metadata with Content and Content Elements Associate DRM Information with Content and Content Elements including

o DRM Tools,o Licenseso Device Informationo Keys

Associate digital signatures with the DCI Associate hash values with the DCI

Note that the Represent Content Tool defined here enables the organisation of the Content Elementsthat together make up the Content and is independent from the Packaging used for Content Delivery,i.e. file, broadcast or network transport.

The DCI is an XML structure, based on the MPEG-21 Digital Item Declaration Language (DIDL)[22], in particular by the DIDL profile and extensions defined by the Media Streaming ApplicationFormat standard (MSAF) [34]. Annex A provides introductory information on the Digital ItemDeclaration Language.

In its entirety, the DMP Content Information (DCI) consists of both the Representation of thevarious DMP ‘Tools’ and the DCI framework for assembling these Represented Elements asContent. The following sub sections describe the locations of Content Elements Represented by thisspecification within the DCI XML structure. The description of the Representation of these ContentElements follows later in the subsequent parts of this section.

3.2.1.1 The DCI Structure

The top level element in a DCI is always a didl:DIDL element, except in those cases where a DCI isnested within another DCI, in which case the top-level element of the nested component is adidl:Item element. The didl:DIDL element is specified in the Figure 29:

<element name="DIDL" type="didl:DIDLType"/><complexType name="DIDLType">

<sequence><element ref="didl:DIDLInfo" minOccurs="0" maxOccurs="unbounded"/><element ref="didmodel:Item"/>

Page 87: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

87

</sequence><anyAttribute namespace="##other" processContents="lax"/>

</complexType>

Figure 29 The didl:DIDL element

A didl:DIDL element may contain any number of didl:DIDLInfo elements and one didmodel:Item.The DIDL element can have an arbitrary number of attributes from a namespace other than thetarget namespace or from a null namespace.

The didl:DIDLInfo element is specified in the Figure 30:

<element name="DIDLInfo" type="didl:DIDLInfoType"/><complexType name="DIDLInfoType">

<sequence><element ref="dsig:Signature"/>

</sequence></complexType>

Figure 30 The didl:DIDLInfo element

The DIDLInfo element may contain a Digital Signature associated with the DCI or parts thereof.

A didl:Item is specified by Figure 31:

<element name="Item" type="didl:ItemType" substitutionGroup="didmodel:Item"/><complexType name="ItemType">

<complexContent><extension base="didmodel:ItemType">

<sequence><element ref="didmodel:Descriptor" minOccurs="0"

maxOccurs="unbounded"/><choice minOccurs="0" maxOccurs="unbounded">

<element ref="didmodel:Item"/><element ref="didmodel:Component"/>

</choice><element ref="didmodel:Presentation" minOccurs="0"

maxOccurs="unbounded"/></sequence><attributeGroup ref="didl:ID_ATTRS"/>

</extension></complexContent>

</complexType>

Figure 31 The didl:Item element

A didl:Item element may contain one or more didl:Descriptor elements, and zero or more choicesbetween a didl:Item and a didl:Component element. A top-level didl:Item element Represents theContent Item. A didl:Item element child of another didl:Item element Represents a Content Element,eg a Resource or another Content Item.

Page 88: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

88

A didl:Descriptor is specified by Figure 32:

<element name="Descriptor" type="didl:DescriptorType"substitutionGroup="didmodel:Descriptor"/><complexType name="DescriptorType">

<complexContent><extension base="didmodel:DescriptorType">

<sequence><element ref="didmodel:Statement"/>

</sequence></extension>

</complexContent></complexType>

Figure 32 The didl:Descriptor element

A didl:Descriptor element is a container for a didl:Statement element.

A didl:Statement is specified by Figure 33:

<element name="Statement" type="didl:StatementType"substitutionGroup="didmodel:Statement"/><complexType name="StatementType" mixed="true">

<complexContent mixed="true"><extension base="didmodel:StatementType">

<sequence><choice>

<element ref="dii:Identifier"/><element ref="dii:RelatedIdentifier"/><element ref="didl-msx:Metadata "/><element ref="ipmpinfo:IPMPGeneralInfoDescriptor"/><element name="ContentElementSignature"

type="dsig:SignatureType"/><element name="LaserObject" type="base64Binary"/><element ref="erl:ERR" maxOccurs="unbounded"/>

</choice></sequence><attribute name="mimeType" type="string"/><attribute name="ref" type="anyURI"/>

</extension></complexContent>

</complexType>

Figure 33 The didl:Statement element

A didl:Statement element can contain any of the following: dii:Identifier, the container for the Identifier of a Content Item or a Content Element. See Section

3.2.5 – Represent Identifier. dii:RelatedIdentifier, the container for the Related Identifier Identifier of a Content Item or a

Content Element. See Section 3.2.5 – Represent Identifier.

Page 89: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

89

didl-msx :Metadata, a top level container for Metadata and other information. See Section 3.2.2– Represent Metadata.

ipmpinfo:IPMPGeneralInfoDescriptor, the container for general DRM Information related to theContent Item and all its Content Elements. See Section 3.2.7.3 – Represent General DRMInformation.

ContentElementSignature: A container for the digital Signature or Hash value of the Resource(e.g. audio-visual resource, executable file, etc...) Represented by the Item containing thedidl:Statement

LaserObject:a container to store the Laser Object dynamically presenting the metadata elementswhich is derived from LASeR Standard.

erl:ERR: a container for the error information.For each didl:Statement element it is possible to specify a mimeType attribute specifying themimeType of the content of the Statement, and a URI for the schema in use within the Statement.

A didl:Component is specified below:

<element name="Component" type="didl:ComponentType"substitutionGroup="didmodel:Component"/><complexType name="ComponentType">

<complexContent><extension base="didmodel:ComponentType">

<sequence><element ref="didmodel:Resource" maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

Figure 34 The didl:Component element

The didl:Component element is a container for one or more didmodel:Resource elements. See 3.2.6– Represent Resource for more information.

3.2.1.2 Location of Identifiers

This sub section describes the location of the Content Identifier in the DCI. Other aspects of ContentIdentification, namely Represent Identifier (syntax) and Protocol to Assign Identifier to Content arespecified in Sections 3.2.5 and 3.3.1, respectively.

3.2.1.2.1 Location of Identifier for Content Item

The Identifier for a Content Item is located within the DCI according to MPEG-21 Digital ItemIdentification [23] as shown in the example below.

<didl:DIDL><didl:Item> <!--This item refers to the Content Item-->

<didl:Descriptor><didl:Statement mimeType="text/plain">

<dii:Identifier><!--See Represent Identifier, Section 3.2.5.1--></dii:Identifier>

Page 90: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

90

</didl:Statement></didl:Descriptor>

</didl:Item></didl:DIDL>

Figure 35 Location of Identifier for a Content Item

3.2.1.2.2 Location of Identifiers for Content Elements

Identifiers for Content Elements are located within the DCI according to MPEG-21 Digital ItemIdentification [23] whose schema is defined in C.6, as shown in the example below.

<didl:DIDL><didl:Item> <!--This item refers to the Content Item-->

<didl:Item id = book1> <!--This item refers to a Content Element--><didl:Descriptor>

<didl:Statement mimeType="text/plain"><dii:Identifier> <!--See Represent Identifier, Section

3.2.5.1 --> </dii:Identifier></didl:Statement>

</didl:Descriptor></didl:Item>

</didl:Item></didl:DIDL>

Figure 36 Location of Identifier for a Content Element

3.2.1.3 Location of Metadata

The location of metadata within the didl structure is shown below for both the case in which data isrelated to all the Content Elements within the DCI and the case in which data is related to a specificContent Element within the DCI.

Metadata can be represented in a DMP-native way as specified in Section 3.2.2

3.2.1.3.1 Location of Metadata for a Content Item

The Metadata is located within the DCI under the didl:Metadata element.The didl:Metadata element residing at the top level in the DCI is meant to convey Metadata aboutthe whole Content Item, (ie all elements represented within the DCI).Figure 37 shows where the didl:Metadata element is located in the DCI for this case.

<didl:DIDL><didl:Item> <!--This item refers to the Content Item-->

<didl:Descriptor><didl:Statement mimeType="text/plain">

<dii:Identifier>dmpID:012345</dii:Identifier> <!--The DMPidentifier for this content-->

</didl:Statement></didl:Descriptor><didl:Descriptor>

Page 91: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

91

<didl:Statement mimeType="text/xml"><didl-msx:Metadata>

<!-- Conveying general Metadata for the Content Item --></didl-msx:Metadata>

</didl:Statement><didl:Descriptor>

</didl:Item></didl:DIDL>

Figure 37: Location of Metadata related to the Content Item

3.2.1.3.2 Location of Metadata for a Content Element

Figure 38 shows where the didl-msx:Metadata element for a specific Content Element is locatedwithin the DCI in this case.

<didl:DIDL><didl:Item> <!--the one representing the Content Item-->

<didl:Item id="Resource1"> <!-- the one representing the Resource--></didl:Descriptor>

<didl:Statement mimeType ="text/xml"><dii:Identifier>ISWC: 01234567890</dii:Identifier>

</didStatement></didl:Descriptor><didl:Descriptor>

<didl:Statement mimeType="text/xml"><didl-msx:Metadata>

<!--conveying Metadata for a Content Element--></didl-msx:Metadata>

</didl:Statement></didl:Descriptor><didl:Component>

<didl:Resource ref="funky1.mp3" mimeType="audio/mpeg"/></didl:Component>

</didl:Item></didl:Item>

</didl:DIDL>

Figure 38: Location of Metadata related to a Content Element

3.2.1.4 Location of DCI signatures

DCI signatures can be inserted in a didl:DIDLInfo element contained in a didl:DIDL element, asrepresented in the example below.

<didl:DIDL><didl:DIDLInfo>

<didl:DISignature><dsig:SignedInfo>

<dsig:CanonicalizationMethod Algorithm=""/>

Page 92: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

92

<dsig:SignatureMethod Algorithm=""/><dsig:Reference>

<dsig:DigestMethod Algorithm=""/><dsig:DigestValue>888880AB</dsig:DigestValue>

</dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>098765CC</dsig:SignatureValue>

</didl:DISignature></didl:DIDLInfo><didl:Item id="A1"></didl:Item>

</didl:DIDL>

Figure 39: Location of DCI Signatures in the DCI

3.2.1.5 Location of Resources in the DCI

A Content Item may contain or reference any number of Resources.

A DCI Representing a Content Item which contains a number n of Resources, e.g. an MP3 file andan MPEG-1 video file, is characterised by n didl:Item elements as child elements of the top leveldidl:Item. Each inner Item contains a didl:Resource element Representing the Resource within adidl:Component element, as shown in the example below.

<didl:DIDL><didl:Item id="A1">

<didl:Item id="B1"><didl:Component>

<didl:Resource mimeType="audio/mp3"/></didl:Component>

</didl:Item><didl:Item id="B2">

<didl:Component><didl:Resource mimeType="video/mpg"/>

</didl:Component></didl:Item>

</didl:Item></didl:DIDL>

Figure 40: Location of Resources in the DCI

A DRM Tool Body, i.e. a special code to execute DRM functions, is considered a Resource.However, this Chapter 3 has a dedicated section for Representation of DRM Tool Body whichincludes the description of the DRM Tool to enable exchange between Devices. The DRM Tools arelocated separately within the Content as described in Section 3.2.1.7

Page 93: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

93

3.2.1.6 Location of Governed Content Elements

In cases where Content Elements are Governed Content Elements, the DCI elements that denote thelocations of the Content Elements within the DCI are substituted for corresponding elements takenfrom the MPEG-21 IPMP Components, specifically those defined in the ipmpdidl namespace.

The following elements: ipmpdidl:Item and ipmpdidl:Statement can be used in lieu of the elementswith the same name defined in the didl namespace to indicate that the Content Element theyRepresent is Governed. Therefore the rule specifying the location of an IPMP DIDL element is thesame that specifies the position of the element with the same name in the didl namespace defined in[22] and described in Section 3.2.1.1 – The DCI Structure.

In addition to the element substitution defined, Governed Resources have an extra DCI childelement within their respective didl:Resource; namely the ipmpdidl:ProtectedAsset child elementdescribed in Represent DRM Information section 3.2.7 and shown in Figure 63: Theipmpdidl:ProtectedAsset element

Metadata can also be Governed. This is described in Section 3.2.7.1 - Represent Governed Elements.

3.2.1.7 Location of DRM Information including DRM Tools

The DCI is able to convey within its structure a number of Content Elements that carry informationrelating to Governed Content Elements that may be required for correct operation of the IDP. Theseinclude Licences and DRM Tools that may be associated with the Use of specific Content Elements.Such items are represented in the DCI by the MSAF profile of the MPEG-21 IPMP informationdescriptor <ipmpinfo-msx:IPMPInfoDescriptor> as descibed in Section 3.2.7.2

The ipmpinfo:IPMPInfoDescriptor element is located as a child element of an ipmpdidl:Infoelement which, in turn, may be contained in one of the following:

ipmpdidl:Item ipmpdidl:Statement didl-msx:Metadata ipmpdidl:ProtectedAsset.

Figure 41 shows the case where the IPMPInfoDescriptor conveys DRM Information for a Resource.

<didl:DIDL><didl:Item> <!--the one representing the Content Item-->

<didl:Item id="Resource1"> <!-- representing a Content Element within a ContentItem -->

<didl:Component><didl:Resource mimeType="application/ipmp">

<ipmpdidl:ProtectedAsset mimeType="video/mpeg"><ipmpdidl:Info>

<ipmpinfo:IPMPInfoDescriptor>...<ipmpinfo:IPMPInfoDescriptor></ipmpdidl:Info>

Page 94: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

94

<ipmpdidl:Contents> <!--in line Governed Resourcehere --></ipmpdidl:Contents>

</ipmpdidl:ProtectedAsset></didl:Resource>

</didl:Component></didl:Item>

</didl:Item></didl:DIDL>

Figure 41: Example location of an IPMPInfoDescriptor within the DCI

Note: Where a ipmpinfo:IPMPInfoDescriptor element appears as a child of a didl:Resourcecontained in the top didl:Item (the one referring to the Content Item as a whole), all the Resourcespart of that Content Item are Governed in the same way as specified in thatipmpinfo:IPMPInfoDescriptor, hence there is no need to replicate IPMPInfoDescriptors for allResources, if these are Governed by the same rules.

3.2.1.8 Location of General DRM Information including DRM ToolList

The DCI uses the IPMPGeneralInfoDescriptor to convey lists of all the DRM Tools required toAccess all the Governed Content Elements. See Section 3.2.7.3 for a description of theRepresentation of these components.

The ipmpinfo:IPMPGeneralInfoDescriptor element is located in a didl:Statement element which ischild of a didl:Descriptor element describing the top-level didl:Item in a DCI (the one referring tothe Content Item as a whole), as shown in the Figure 42.

<didl:DIDL><didl:Item> <!--This item refers to the Content Item-->

<didl:Descriptor><didl:Statement>

<ipmpinfo:IPMPGeneralInfoDescriptor> <!--General DRMInformation here --> </ipmpinfo:IPMPGeneralInfoDescriptor>

</didl:Statement></didl:Descriptor>

</didl:Item></didl:DIDL>

Figure 42 Location of ipmpinfo:IPMPGeneralInfoDescriptor

3.2.1.9 Location of Licenses

Depending on the scope of a License, this shall be signalled in different positions within the DCI.Licenses are required to

1. Grant the Right to Use Content2. Govern the Use of DRM Tools3. Attribute properties to its Principal

Page 95: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

95

For cases 1 and 2, the location of Licenses is specified in this sub-section, while for case 3, as in thecase of a License attributing a User or a Device the property of belonging to a Domain, Licenses areobtained as specified in Section 3.3.3 – Protocols to Manage Domain.

A License (or a reference to a License or a License Service) whose scope refers to the first two casesis signalled by employing the ipmpinfo:RightsDescriptor element, shown in Figure 43:

<element name="RightsDescriptor" type="ipmpinfo:RightsDescriptorType"/><complexType name="RightsDescriptorType">

<sequence><choice minOccurs="0">

<element ref="ipmpinfo:License"/><element ref="ipmpinfo:LicenseReference"/>

</choice></sequence>

</complexType>

Figure 43: The ipmpinfo:RightsDescriptor element

An ipmpinfo:RightsDescriptor may contain a number of Licenses of type ipmpinfo:License, whichis described below. In addition, the License Provider Device URL from where the License can beretrieved, of type “xsd:anyURI”, can be specified in element ipmpinfo:LicenseReference.

The ipmpinfo:RightsDescriptor is one of the nested child elements associated with GovernedContent Elements hierarchy described in 3.2.7.1 – Represent Governed Elements, and is a child ofthe IPMPInfoDescriptor outlined in Section 3.2.7 – Represent DRM Information, located as DRMInformation as described in Section 3.2.1.7.

The element ipmpinfo:License is shown in Figure 44:

<element name="License" type="ipmpinfo:LicenseType"/><complexType name="LicenseType" mixed="true">

<sequence><element ref="rel-r:license" maxOccurs="unbounded"/>

</sequence></complexType>

Figure 44: The ipmpinfo:License element

The ipmpinfo:License element contains an rel-r:license, as defined in rel-r Schema [C.23].

In cases where Content is Packaged in a File, Licenses may alternatively be contained in theLicense_Container Box, as specified in Section 0 - License_Container Box.

The following sub-sections examine the cases 1 and 2 above in detail.

3.2.1.9.1 Licenses Granting the Right to Use Content

Page 96: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

96

As specified in Section 3.2.7 – Represent DRM Information, DMP support the Governance ofseveral types of Content Element: didl:Item, didl:Statement, didl:Resource, didl-msx:Metadata. Ifany of these Content Elements are Governed, their Use may be regulated by a License. The presenceof a License in these cases is signalled by the ipmpinfo:RightsDescriptor in anipmpinfo:IPMPInfoDescriptor element contained in an ipmpdidl:Info element child of anyGoverned Element.

Figure 45 shows the location of a License governing the Use of a Governed Content Element

<didl:DIDL><didl:Item id="A1">

<didl:Item id="B1"><didl:Component>

<didl:Resource mimeType="application/mp21-ipmp"><ipmpdidl:ProtectedAsset mimeType="video/MP2P">

<ipmpdidl:Identifier>urn:mpegRA:mpeg21:dii:isan:006A-B</ipmpdidl:Identifier><ipmpdidl:Info><ipmpinfo:ipmpinfoDescriptor>

<ipmpinfo:RightsDescriptor><ipmpinfo:License>

<r:license licenseId="012345">....

</r:license></ipmpinfo:License>

</ipmpinfo:RightsDescriptor></ipmpinfo:ipmpinfo-msafDescriptor>

</ipmpdidl:Info><ipmpdidl:Contents ref="myserver.com/coolmovie"/>

</ipmpdidl:ProtectedAsset></didl:Resource>

</didl:Component></didl:Item>

</didl:Item></didl:DIDL>

Figure 45: An Example of License Governing a Content Element

3.2.1.9.2 Licenses Governing the Use of DRM Tools

In those cases where the Use of a DRM Tool is subject to a License, as for instance “DRM Tool Tcan only work on Devices certified by Agency A”, the License is conveyed by theipmpinfo:RightsDescriptor element child of an ipmpinfo:Tool element.

The following example shows a DRM Tool whose Use is subject to a License that can be obtainedfrom a given License Service.

<didl:Resource mimeType="application/mp21-ipmp">

Page 97: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

97

<ipmpdidl:ProtectedAsset mimeType="video/MP2P"><ipmpdidl:Identifier>urn:mpegRA:mpeg21:dii:isan:006A-

15FAB</ipmpdidl:Identifier><ipmpdidl:Info>

<ipmpinfo:IPMPInfoDescriptor><ipmpinfo:Tool>

<ipmpinfo:RightsDescriptor><ipmpinfo:LicenseReference>

http://www.DRMTools.org/LicenseService</ipmpinfo:LicenseReference></ipmpinfo:RightsDescriptor>

</ipmpinfo:Tool></ipmpinfo:IPMPInfoDescriptor>

</ipmpdidl:Info><ipmpdidl:Contents ref="myserver.com/mynewmovie"/>

</ipmpdidl:ProtectedAsset></didl:Resource>

Figure 46: An example of DRM Tool in which Use is subject to a License

3.2.1.10 Location of Key Information

There are two types of Keys identified in this specification: time-dependent and time-independent.

3.2.1.10.1 Time-independent Keys

A non-exhaustive list of locations where such a type of Key is delivered is given below:

in the dsig:Signature element, to specify the Key needed to validate the digital Signature, asspecified in [50]

in a License, to identify a Principal, or to convey a Resource Decryption Key, as specified inSection 3 – Represent License.

in a ipmpmsg:KeyData element, for DRM Tool initialisation purposes, as specified in section3.2.14.3 – Represent DRM Messages.

3.2.1.10.2 Time-dependent Keys

Time-dependent Keys are Represented as specified in Section 3.2.13.2 – Represent Time-dependentKeys and are located within a ipmpmsg:KeyData element for updating the Decryption Key for aDRM Tool used to Decrypt Resources.

3.2.1.11 Location of DRM Tool Body

A DRM Tool Body, the executable instructions implementing a DRM Function, may be conveyed inthe DCI enclosed in ipmpinfo:Binary elements, as shown in Figure 47

<ipmpinfo:Tool><ipmpinfo:ToolBaseDescription><ipmpinfo:IPMPToolID>urn:Manufacturer:ToolPack:ToolID:ABCDEF9</ipmpinfo:IPMPT

oolID><ipmpinfo:ConfigurationSettings>

Page 98: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

98

<ipmpinfo:Configuration><ipmpinfo-msx:ToolBody>

<!-- See Section 3.2.9 – Represent DRM Tool Body --></ipmpinfo-msx:ToolBody>

</ipmpinfo:Configuration></ipmpinfo:ConfigurationSettings>

</ipmpinfo:ToolBaseDescription></ipmpinfo:Tool>

Figure 47: An example showing the location of DRM Tool BodyFor more information on DRM Tool Bodies, see Section 3.2.9 – Represent DRM Tool Body.

3.2.1.12 Location of Device Information

In order to select an appropriate DRM Tool with matching hardware and software characteristics,Device Information, a set of data describing hardware and software characteristics of a Device, isrequired. The ipmpinfo-msx:DeviceInformation element may be located in ipmpinfo-msx:Tool oripmpinfo-msx:ToolPack elements within a ipmpinfo-msx:ToolBody element.

<ipmpinfo-msx:ToolBody><ipmpinfo-msx:ToolPack>

<ipmpinfo-msx:DeviceInformation><!--See 3.2.15 – Represent Device Information -- >

</ipmpinfo-msx:DeviceInformation></ipmpinfo-msx:ToolPack>

</ipmpinfo-msx:ToolBody>

Figure 48: An example showing the location of Device Information

For more information on Device Information, see 3.2.16 – Represent Device Information.

3.2.2 Represent Metadata

IDP-3.2 gives the freedom to place any Metadata scheme desired into the designated location in theDCI.

In addition DMP natively supports a specific type of Metadata taken from the TV-Anytime ContentDescription Schema described in [43], defined in the tva-msaf namespace and given in Annex C.26.In order to suit the DMP requirements of describing resources to the End User, the DMP Metadataprofile has been derived from the TV-Anytime Content Description by defining a smaller version ofthe TVAMain element that does not include the UserDescription table. It includes the remainingelements namely: CopyrightNotice, ClassificationSchemeTable and ProgramDescription. However,ProgramDescription has also been reduced by defining a dmp:ProgramDescriptionType based on theTV-Anytime ProgramDescriptionType but including only the TV-Anytime elementsProgramInformationTable, GroupInformationTable and CreditsInformationTable.The TV-Anytime elements not included in the MSAF profile mentioned above are defined asoptional (minOccurs=0) in the TV-Anytime specification, and so instance documents conforming tothis profile are compatible with the larger TV-Anytime specification.

Page 99: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

99

Metadata is included under the didl-msx:Metadata element defined in the DMP Represent Contentnamespace and described below:

Metadata:The didl-msx:Metadata element allows the inclusion of either Governed Metadata or Metadata inclear format. In the first case, Governed Metadata is conveyed as specified in 3.2.7.1 – RepresentGoverned Elements, while in the second case, Metadata is conveyed in the didl-msx:StructuredDataelement. A Metadata Identifier can be conveyed by means of the optional attribute "id". Furthermore,a Digital Signature of the whole didl-msx:Metadada element may be conveyed in the dsig:Signatureelement. The didl-msx:Metadata is shown in Figure 49:

<element name="Metadata" type="didl-msx:MetadataType"/><complexType name="MetadataType">

<sequence><choice>

<group ref="ipmpdidl:IPMPDIDLChildGroup" minOccurs="0"/><element ref="didl-msx:StructuredData" maxOccurs="unbounded"/>

</choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="id" type="anyURI" use="optional"/>

</complexType>

Figure 49: The didl-msx:Metadata element

StructuredData:This element can contain data from any namespace.

The native type of Metadata supported in IDP-3.2 is of type tva-msaf:TVAMain, which is denotedby the attribute 'ref ' value of "urn:dmp:idp2:Represent:Metadata:2006:02". If this attribute isomitted, Metadata contained in tva-msaf:StructuredData is of type tva-msaf. Alternatively, any otherMetadata schema can be employed. In this case the attribute 'ref' shall specify the URI of theMetadata namespace employed.

<element name="StructuredData" type="didl-msx:StructuredDataType"><complexType name="StructuredDataType">

<sequence><any namespace="##any" processContents="lax" minOccurs="0"/>

</sequence><attribute name="ref" type="anyURI"

default="urn:dmp:idp2:Represent:Metadata:2006:02"/></complexType>

Figure 50: The didl-msx:StructuredData

3.2.2.1 The DMP Profile of TV-Anytime Metadata

The MSAF profile of TV-Anytime Metadata is built upon a modification of the TVA Main type toinclude only the Copyright, Classification and ProgramDescription elements. The syntax ofipmpmsg:TVAMain element is specified in Figure 51, while for the semantics refer to [42]:

Page 100: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

100

<element name="TVAMain" type="tva-msaf:TVAMainType"/><complexType name="TVAMainType">

<sequence><element name="CopyrightNotice" type="string" minOccurs="0"/><element name="ClassificationSchemeTable"

type="tva:ClassificationSchemeTableType" minOccurs="0"/><element name="ProgramDescription" type="tva-msaf:ProgramDescriptionType"

minOccurs="0"/></sequence><attribute ref="xml:lang" use="optional" default="en"/><attribute name="publisher" type="string" use="optional"/><attribute name="publicationTime" type="dateTime" use="optional"/><attribute name="rightsOwner" type="string" use="optional"/><attribute name="version" type="unsignedInt" use="optional"/>

</complexType>

Figure 51: The tva-msaf:TVAMain element

The ProgramDescription element defined in [42] has been reduced to include only theProgramInformation, GroupInformationTable and CreditsInformationTable elements. The tva-msaf:DMP ProgramDescriptionType is related to the TV-Anytime elements as follows;

<complexType name="ProgramDescriptionType"><sequence>

<element name="ProgramInformationTable"type="tva:ProgramInformationTableType" minOccurs="0"/>

<element name="GroupInformationTable" type="tva:GroupInformationTableType"minOccurs="0"/>

<element name="CreditsInformationTable" type="tva:CreditsInformationTableType"minOccurs="0"/>

</sequence></complexType>

Figure 52: The tva-msaf:TVAMain element

Note: Since the elements omitted from the TV-Anytime Specification are all defined as optional, aninstance document complying with the DMP profile of the TV-Metadata will also be compliant witha TV-Anytime phase 1 implementations.

3.2.3 Represent DCI Signature

The DCI may be signed by Users who took part in its creation or modification.A signature is contained in the DISignature element child of a didl:DIDLInfo element.

3.2.4 Represent DCI Hash

In order to allow for the authentication of the DCI integrity without relying on a signature andassociated key distribution, a DCI may be simply hashed such that a comparison of a newlygenerated hash with that of an earlier stored version by another party can be made. Although the

Page 101: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

101

hash value itself will need to be recalculated, a hash value can be conveyed in the DCI for referencealong with the associated algorithm.Hash values can be contained in a DISignature element, as specified in [49].

3.2.5 Represent Identifier

3.2.5.1 Represent Content and Content Elements Identifier

Identifiers for Content or Content Elements (e.g. a Resource) are expressed according to a DMPprofile of MPEG-21 Digital Item Identification (DII) [23], as shown in the schema fragment ofFigure 53.

<element name="Identifier" type="anyURI"/><element name="RelatedIdentifier">

<complexType><simpleContent>

<extension base="anyURI"><attribute name="relationshipType" type="anyURI"/>

</extension></simpleContent>

</complexType></element>

Figure 53: Identifier and Related Identifier

The dii:Identifier element contains the Uniform Resource Identifier (URI) of the Content or ContentElement, while the RelatedIdentifier element expresses the URI to which the Identifier is related, forexample the identification of an abstraction of the work (e.g. a composition as an abstraction of asound recording).

3.2.5.1.1 Format of Content Identifiers

The Content Identifier satisfies the characteristics of the URN (Uniform Resource Names) schemedefined in RFC 1737 [44]. Therefore Identifiers that conform to URN schemes can be used toIdentify Content. Currently, there are several registered URN schemes such as InternationalStandard Book Number (ISBN) and International Standard Serial Number (ISSN), each of themserving a specific purpose and having a unique namespace under Internet Assigned NumbersAuthority (IANA).

The syntax of Content Identifier should be conformant to the URN syntax described in RFC 2141[46] as follows:

urn:{a urn namespace for dmp}:{a subordinate namespace}:{subordinate-specific ContentIdentifier}

orurn:{a urn namespace for 3rd party}:{namespace-specific Content Identifier}

Figure 54: Content Identifier Syntax

Page 102: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

102

3.2.5.2 Represent License Identifier

As shown in Figure 55, any rel-msaf:License is characterised by a licenseId attribute specifying theIdentifier for the License.

<xsd:complexType name="License"><xsd:choice>

<xsd:sequence><xsd:choice minOccurs="0" maxOccurs="unbounded">

<xsd:element ref="r:grant"/></xsd:choice><xsd:element ref="r:issuer" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence></xsd:choice><xsd:attribute name="licenseId" type="xsd:anyURI" use="optional"/><xsd:anyAttribute namespace="##other" processContents="lax"/>

</xsd:complexType>

Figure 55: The rel-msaf:License element

3.2.5.3 Represent Metadata Identifier

Metadata related to a Content Item or to a Content Element shall be inserted in a didl-msx:Metadataelement, as specified in Section 3.2.2 – Represent Metadata. Metadata can be identified by means ofan attribute to the didl-msx:Metadata element, named didl-msx:id, as shown in Figure 56:

<attribute name="id" type="anyURI" use="optional"/>

Figure 56: The container for Metadata Identifier

3.2.5.4 Represent DRM Tool Identifier

DRM Tool ID syntax should conform to ‘xsd:anyURI’ format. This is the same format as for Tooland ToolPack, but with the appropriate parent elements.

<element name="ipmpinfo:IPMPToolID" type="anyURI"/>

Figure 57: Tool Identifier Representation

3.2.5.5 Represent Device Identifier

The Device Identifier is Represented by means of the dmprdip:DeviceIdentifier element. TheRepresent Device Identifier Protocol namespace, dmprdip, defines an abstract base type elementfrom which the rest of the elements are derived. This is the following:

<complexType name="IdentifierBaseType" abstract="true"/>

Figure 58: The dmprdip:IdentifierBaseType complex type

A Device Identifier is Represented by the dmprdip:DeviceIdentifier element, as described in Figure59:

<element name="DeviceIdentifier" type="dmprdip:IDType"/><complexType name="IDType">

Page 103: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

103

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element name="id" type="anyURI"/><element ref="dsig:X509Data"/>

</choice></sequence>

</extension></complexContent>

</complexType>

Figure 59: The dmprdip:DeviceIdentifier element

The dmprdip:IDType complex type in the Figure above contains the Identifier of the Device, whichcan be either of type anyURI and conveyed by the id element, or an X.509 certificate, in which caseit shall be expressed according to the dsig:X509Data element and conformant to RFC 2459 [48].

3.2.5.6 Represent User Identifier

IDP-3.2 does not provide Tools to Identify Users. However, several IDP-3.2 Use Cases require UserIdentification. This can be achieved with a variety of technologies such as:

Certificates Globally unique Identifiers Devices (Smart cards, USB devices etc.)

3.2.5.7 Represent Domain Identifier

Every Domain of Devices or Users is characterised by Domain Identifier, which is defined in themsd namespace and shown in Figure 60:

<element name="DomainID" type="mxmd:DomainIDType"/><complexType name="DomainIDType">

<complexContent><extension base="mxmd:IDType">

<sequence><element ref="mxmd:DomainManagerID"/>

</sequence></extension>

</complexContent></complexType><complexType name="IDType">

<sequence><choice>

<element name="id" type="anyURI"/><element ref="dsig:X509Data" minOccurs="0"/>

</choice></sequence>

Page 104: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

104

</complexType>

Figure 60: The mxmd:DomainID element

For more information on the mxmd:DomainID element, refer to Section 3.2.17 – Represent Domain.

3.2.6 Represent Resource

A Resource such as an audio track, a video clip, executable code, etc. is Represented in the DCI bythe element didl:Resource, as shown in the box below.

<element name="Resource" type="didl:ResourceType" substitutionGroup="didmodel:Resource"/><complexType name="ResourceType" mixed="true">

<complexContent mixed="true"><extension base="didmodel:ResourceType">

<sequence><any namespace="##any" processContents="lax"

minOccurs="0"/></sequence><attribute name="mimeType" type="string" use="required"/><attribute name="ref" type="anyURI"/><attribute name="encoding" type="string"/><attribute name="contentEncoding" type="NMTOKENS"/>

</extension></complexContent>

</complexType>

Figure 61: The Resource element

The data type of the Resource represented by the didl:Resource element is identified by themimeType attribute, as defined in IETF RFC 2045 [45]. A Resource is either defined in adidl:Resource element by reference, specifying the Resource’s URI in the ref attribute, or by value,including it inline. The encoding attribute specifies the encoding format used when the Resource isincluded in the didl xml document. Lastly, the contentEncoding attribute, if present, specifies thecontent-encoding(s) as defined in IETF RFC 2616 [47] indicating what additional content-encodingshave been applied to the Resource.

3.2.7 Represent DRM Information

DRM Information is the class of information contained in the DCI that relate to the Governance ofContent or Content Elements. It includes

1. The Representation of the DRM Tools required to Access Content.2. Any initialisation and configuration data, possibly including decryption Keys and information

related to DRM Tool management3. Placeholders for Licenses when these are Bundled within the DCI (see sub section 3.2.1.9).

DRM Information is expressed in XML and is based on the MPEG-21 IPMP Components [34]profile defined in the MSAF standard, included in Annexes C.8, C.9 and C.10.

Page 105: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

105

The process of indicating that a Content Item or some of its Content Elements are Governed is doneusing one of the three MPEG-21 IPMP Components technologies described below, depending onthe Content Item.

IPMP DIDL: The use of an element belonging to IPMP Digital Item Declaration Languagenamespace to Represent the Governed Content Element. These elements are denoted with theipmpdidl: namespace prefix in this specification. These elements are used to replace thecorresponding elements of the same name from the Digital Item Declaration Languagenamespace (prefix didl:) for the case when the Content Element is Representing a GovernedElement. In contrast, the didl: elements are used when the Content Element it is Representing isnot Governed.

IPMPInfoDescriptor: This descriptor is part of the MPEG-21 IPMPINFO namespace and hasbeen profiled in this specification, denoted ipmpinfo. The IPMPInfoDescriptor is used as a childof the ipmpdidl:Info element to describe the DRM Tools that Process (e.g. Decrypt) theGoverned Content Item or its Content Elements, therefore enabling Users to Access theGoverned Elements. Refer to Annex A.3.2 for an overview of MPEG-21 IPMP InformationDescriptor. The ipmpinfo schema is given in Annex C.9.

IPMPGeneralInfoDescriptor: The use of an IPMPGeneralInfoDescriptor to convey the list ofall DRM Tools required to Access all Governed Content Elements. Refer to Annex A.3.3 for anoverview of MPEG 21 IPMP General Information Descriptor. Also the IPMP GeneralInformation Descriptor is defined in the ipmpinfo schema, given in Annex C.9.

The following sub-Sections provide more details on the use of these technologies in IDP-3.2.

3.2.7.1 Represent Governed Elements

The following elements of the DCI can be Governed: didl:Item, didl:Statement, didl-msx:Metadata,didl:Resource. The left column in the table below shows elements from the didl namespace whichcan be replaced by the elements with the same name defined in the ipmpdidl namespace:

Table 16 – Conversion from the didl to the ipmpdidl namespaces

Un-Governed element Governed elementDidl:Item ipmpdidl:ItemDidl:Statement ipmpdidl:Statement

All the elements defined in the ipmpdidl contain the following child elements:

an optional ipmpdidl:Identifier element, specifying an Identifier for the Governed Element; a ipmpdidl:Info element, containing information about the Governance of the Governed Element a ipmpdidl:Contents element, containing the Governed Element.

There are two other elements used for Representing the Governed content elements. These are forRepresenting Metadata and for Representing a Resource.The case of didl-msx:Metadata does not have an IPMP substitution as this element is not part of theDIDL Model but is DMP-native. As explained in 3.2.2 Represent Metadata, this element maycontain either un-Governed data (when the child element didl-msx:StructuredData is employed) or

Page 106: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

106

Governed, in which case it inherits all properties of ipmpdidl elements, including the child elements;Identifier, Info and Contents.

Figure 62 shows an example of Governed Metadata for a Content Element represented by andidl:Item element:

<didl:Item><didl:Descriptor>

<didl:Statement mimeType="text/xml"><didl-msx:Metadata>

<ipmpdidl:Info>

<ipmpinfo:IPMPInfoDescriptor></ipmpinfo:IPMPInfoDescriptor></ipmpdidl:Info><ipmpdidl:Contents>01234567890ABCDEF</ipmpdidl:Contents><!-- Insert the Governed - obfuscated metadata in ipmpdidl:Contents--

></didl-msx:Metadata>

</didl:Statement></didl:Descriptor>

</didl:Item>

Figure 62: An example of Governed Metadata

A similar solution is employed when a Governed Resource is Represented. As this contains aspecific Resource, rather than replacing a didl:Resource element with the ipmpdidl:Resourceelement, a Governed Resource is a Resource Element that has a special child element:ipmpdidl:ProtectedAsset. By virtue of being part of the ipmpdidl namespace, theipmpdidl:ProtectedAsset possesses all properties of ipmpdidl elements and additionally allows extraattributes. Figure 63 shows the ipmpdidl:ProtectedAsset element:

<element name="ProtectedAsset" type="ipmpdidl:ProtectedAssetType"/><complexType name="ProtectedAssetType">

<sequence><group ref="ipmpdidl:IPMPDIDLChildGroup"/>

</sequence><attribute name="mimeType" type="string" use="required"/><attribute name="contentEncoding" type="string"/>

</complexType>

Figure 63: The ipmpdidl:ProtectedAsset element

The ipmpdidl:IPMPDIDLChildGroup refers to the ipmpdidl: child elements; ipmpdidl:Identifier,ipmpdidl:Info and ipmpdidl:Contents used to protect all the Governed elements.

The mimeType attribute defines the mimeType of the protected Resource when in the unprotectedstate, while the contentEncoding attribute defines the content encoding of the Resources when inunprotected state.

Page 107: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

107

When including a ipmpdidl:ProtectedAsset element, the mimeType attribute of the parentdidl:Resource element is set to "application/ipmp".

3.2.7.2 Represent Local DRM Information

The ipmpinfo:IPMPInfoDescriptor is shown in Figure 64:

<element name="IPMPInfoDescriptor" type="ipmpinfo:IPMPInfoDescriptorType"/><complexType name="IPMPInfoDescriptorType">

<sequence><element ref="ipmpinfo:Tool" minOccurs="0" maxOccurs="unbounded"/><element ref="ipmpinfo:RightsDescriptor" minOccurs="0"

maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType>

Figure 64: The ipmpinfo:IPMPInfoDescriptor

The ipmpinfo:IPMPInfoDescriptor element may contain:

1. ipmpinfo:Tool, to convey information on the DRM Tool or Tools that are necessary to Process(e.g. Decrypt) the Governed Content Item or its Content Elements. Refer to Section 3.2.8 –Represent DRM Tool for more information on the Use of the ipmpinfo:Tool element.

2. ipmpinfo:RightsDescriptor, to convey one or more Licenses Governing the use of the parentelement with which the IPMPInfoDescriptor is associated, as described in Section 3.2.10 –Represent License.

3. A digital Signature, which can be applied to the IPMPInfoDescriptor, and conveyed by means ofthe dsig:Signature element.

The location of the IPMPInfoDescriptor is given in Section 3.2.1.7 - Location of DRM Informationincluding Tools.

3.2.7.3 Represent General DRM Information

The scope of the IPMPGeneralInfoDescriptor is to convey all the required information needed bythe Device for presenting the Governed Content to Users, thereby enabling the Device to Access allDRM Tools before they are instantiated in the Device.

The ipmpinfo:IPMPGeneralInfoDescriptor is shown in Figure 65:

<element name="IPMPGeneralInfoDescriptor"type="ipmpinfo:IPMPGeneralInfoDescriptorType"/><complexType name="IPMPGeneralInfoDescriptorType">

<sequence><element ref="ipmpinfo:ToolList" minOccurs="0"/><element ref="ipmpinfo:LicenseCollection" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/><!--Signature for the IPMPGeneralInfoDescriptor element and children -->

Page 108: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

108

</sequence></complexType>

Figure 65 The ipmpinfo:IPMPGeneralInfoDescriptor element

The location of the IPMPGeneralInfoDescriptor is given in Section 3.2.1.8 - Location of GeneralDRM Information including ToolList.

A Governed Content Item, or a Content Item containing one or more Governed Content Elements,shall have one and only one IPMPGeneralInfoDescriptor in the DCI. This may contain the followingelements:

1. ipmpinfo:ToolList element listing the descriptions of all DRM Tools (if any) involved in the Useof the Governed Elements

2. ipmpinfo:LicenseCollection containing all the Licenses (or a reference to them, i.e. the LicenseProvider Device URL) Governing the Use of such Governed Content Elements. Note: the use ofthis element is deprecated in IDP-3.2

3. Signature in the dsig:Signature element.

For more information on the ipmpinfo:ToolList element, refer to Section 3.2.8 – Represent DRMTool.

3.2.8 Represent DRM Tool

This section describes how to indicate within the DRM Information which DRM Tool or DRMTools are required to Access the Content. DRM Tools are software modules performing one or moreDRM Functions such as Authentication, Decryption, watermarking, etc.

Represent DRM Tool is MSAF profile of MPEG-21 IPMP Components [25] and MPEG-2/4 IPMPExtensions [12] and [14] to enable the Representation of single DRM Tools. A further extensionenables the Representation of DRM Tool Packs.

DRM Tool related information is divided between two parent location elements within the DCI asfollows:

1. IPMPGeneralInfoDescriptor is used with the ipmpinfo:ToolList element to convey specificinformation about DRM Tools that may be used by a Device to Access the required DRM Toolsbefore they are needed

2. IPMPInfoDescriptor is used to trigger the instantiation of a DRM Tool and contains the DRMTool Representation.

The two paragraphs below describe in detail these two DRM Tool Representations.

3.2.8.1 The ipmpinfo:ToolList

The ipmpinfo:ToolList is shown in Figure 66:

<element name="ToolList" type="ipmpinfo:ToolListType"/><complexType name="ToolListType">

<sequence><element ref="ipmpinfo:ToolDescription" maxOccurs="unbounded"/>

Page 109: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

109

</sequence></complexType><element name="ToolDescription" type="ipmpinfo:ToolDescriptionType"/><complexType name="ToolDescriptionType">

<sequence><element ref="ipmpinfo:IPMPToolID"/><element ref="ipmpinfo:MemberOf" minOccurs="0"/><choice minOccurs="0">

<element ref="ipmpinfo:Inline"/><element ref="ipmpinfo:Remote"/>

</choice><element ref="ipmpinfo:RightsDescriptor" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="localID" type="ID" use="required"/>

</complexType>

Figure 66: The ipmpinfo:ToolList element

The dmp2_ipmp:ToolList makes it possible to specify information related to a DRM Tool to enablea Device to locate the Tool, as specified in Section 3.3.4.3 - Protocol to Access DRM Tool Body.

A ToolList may contain one or more ipmpinfo:ToolDescription elements, each specifying:

the DRM Tool ID; MemberOf: specifying groups of DRM Tools that can be used as alternatives to the one

specified if not available. This is an optional element; Inline – Remote: the DRM Tool Body can either be Delivered in the ipmpinfo:Inline element, or

information to Access the Tool can be specified in the ipmpinfo:Remote element. This is anoptional element;

RightsDescription: Container of Licenses Governing the Use of DRM Tools (optional element); Signature for the ToolList element. This is an optional element

For more information on the use of the ipmpinfo:ToolList element, refer to [25].

3.2.8.1.1 Location of the ipmpinfo:ToolList element

The ipmpinfo:ToolList element is a child of a ipmpinfo:IPMPGeneralInfoDescriptor element, whichin turn is contained in a didl:Statement contained in a didl:Descriptor below the top-level didl:Itemin a DCI. An example is shown in Figure 67:

<didl:DIDL><didl:Item id="Program1">

<didl:Descriptor><didl:Statement mimeType="text/xml">

<ipmpinfo:IPMPGeneralInfoDescriptor><ipmpinfo:ToolList>

<!-- Insert the Tool List here --></ipmpinfo:ToolList>

Page 110: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

110

</ipmpinfo:IPMPGeneralInfoDescriptor></didl:Statement>

</didl:Descriptor></didl:Item>

</didl:DIDL>

Figure 67: Location of the ipmpinfo:ToolList element

3.2.8.2 The ipmpinfo:Tool element

The ipmpinfo:Tool element is inserted in a ipmpinfo:IPMPInfoDescriptor to indicate that a specificDRM Tool should be operational on the Device. If, whilst parsing the Represent DRM Informationportion of the DCI describing a Governed Resource the DRM Processor encounters anipmpinfo:Tool element in a ipmpinfo:IPMPInfoDescriptor, the DRM Processor instantiates theDRM Tool Represented within it to operate on that Resource.

The ipmpinfo:Tool is shown in Figure 68:

<element name="Tool" type="ipmpinfo:ToolType"/><complexType name="ToolType">

<sequence><choice>

<element ref="ipmpinfo:ToolBaseDescription"/><element ref="ipmpinfo:ToolRef"/>

</choice><element ref="ipmpinfo:InitializationSettings" minOccurs="0"/><element ref="ipmpinfo:RightsDescriptor" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="order" type="positiveInteger"/>

</complexType>

Figure 68: The ipmpinfo:Tool element

In order to instantiate a DRM Tool, the DRM Processor will require additional informationcontained in the ipmpinfo:ToolBaseDescription, as described in sub-section 3.2.8.2.1. Once theDRM Tool is instantiated, the DRM Processor forwards to the DRM Tool any information includedin the ipmpinfo:InitializationSettings for initialising the DRM Tool as described in sub-section3.2.8.2.2. The DRM Tool usage may be subject to usage rules, in which case the correspondingLicenses will be provided in the ipmpinfo:RightsDescriptor element, as specified in Section 3.2.7.2– Represent Local DRM Information. A signature may be applied to the ipmpinfo:Tool element.

For more information on the ipmpinfo:Tool, refer to [25].

3.2.8.2.1 ipmpinfo:ToolBaseDescription

The ipmpinfo:ToolBaseDescription is shown in Figure 69:

<element name="ToolBaseDescription" type="ipmpinfo:ToolBaseDescriptionType"/><complexType name="ToolBaseDescriptionType">

Page 111: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

111

<sequence><element ref="ipmpinfo:IPMPToolID"/><choice minOccurs="0">

<element ref="ipmpinfo:Inline"/><element ref="ipmpinfo:Remote"/>

</choice><element ref="ipmpinfo:ConfigurationSettings" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType>

Figure 69: The ipmpinfo:ToolBaseDescription element

The ipmpinfo:IPMPToolID element specifies the URI of the DRM Tool. With this URI, the DRMProcessor can Access the appropriate DRM Tool Body, as specified in Section 3.3.4.3 – AccessDRM Tool, and instantiate it as described in Chapter 2.

The DRM Tool Body may be either referenced in the ipmpinfo:Remote element or conveyed in theipmpinfo:ToolBaseDescription in the two following ways:

by including it in the ipmpinfo:Inline element as specified in [25] by including it in the ipmpinfo-msx:ToolBody element, child of ipmpinfo:Configuration as

specified in section 3.2.9 - Represent DRM Tool Body.

Additionally, the optional element ipmpinfo:ConfigurationSettings may specify parameters used bythe DRM Processor to configure a DRM Tool, including the ipmpinfo:Update element whichspecifies the location from which any update information may be obtained and the conditions underwhich a DRM Tool shall receive updates.

3.2.8.2.2 ipmpinfo:InitializationSettings

The ipmpinfo:InitializationSettings and its child elemen ipmpinfo:InitializationData is shown inFigure 70:

<element name="InitializationSettings" type="ipmpinfo:InitializationSettingsType"/><complexType name="InitializationSettingsType" mixed="true">

<sequence><element ref="ipmpinfo:InitializationData"/>

</sequence></complexType><element name="InitializationData" type="ipmpinfo:InitializationDataType"/><complexType name="InitializationDataType" mixed="true">

<sequence><sequence minOccurs="0" maxOccurs="unbounded">

<element ref="ipmpmsg:ControlPointID" minOccurs="0"/><element ref="ipmpmsg:ControlPointAddress" minOccurs="0"/>

</sequence>

Page 112: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

112

<element ref="ipmpmsg:Data_BaseClass" minOccurs="0"maxOccurs="unbounded"/>

</sequence></complexType>

Figure 70: The ipmpinfo:InitializationSettings element

The ipmpinfo:InitializationSettings contains one ipmpinfo:InitializationData element which conveysinformation required by a DRM Tool for initialization after its instantiation. The DRM Processorshall extract this information and forward it to the appropriate DRM Tool.

3.2.8.2.3 Location of ipmpinfo:Tool

As specified in [25] and further explained in Section 3.2.7 – Represent DRM Information, theipmpinfo:Tool is always a child element of an ipmpinfo:IPMPInfoDescriptor within a ipmpdidl:Infowhich in turn is contained in any of the Governed Content Elements defined in Section 3.2.7.1–Represent Governed Elements. Figure 71 shows the location of an ipmpinfo:Tool describing a DRMTool designed to Govern a Resource.

<didl:Resource mimeType="application/ipmp"><ipmpdidl:ProtectedAsset mimeType="video/mpeg">

<ipmpdidl:Info><ipmpinfo:IPMPInfoDescriptor>

<ipmpinfo:Tool>......</ipmpinfo:Tool>

<ipmpinfo:IPMPInfoDescriptor></ipmpdidl:Info>

</ipmpdidl:ProtectedAsset></didl:Resource>

Figure 71: Location of the ipmpinfo:Tool element

3.2.8.3 Fixed DRM Tools

This Chapter 3 specifies the following fixed DRM Tools that implementers can utilise without theneed of the full DRM Tool infrastructure.

AES in cbc mode with a 128 bit key identified as follows:o <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>

AES in ecb mode with a 128 bit key identified as follows:o <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-ecb"/>

RSA with a variable key length identified as follows (for a 1024 bit key):o <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa1024"/>

3.2.9 Represent DRM Tool Body

This section specifies the Representation of specific information associated with DRM Toolembodiments. When signalled, such Tool embodiments shall be instantiated on a Device to enableAccess to the Governed Content.

Page 113: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

113

DRM Tools are software modules performing one or more DRM functions such as Authentication,Decryption, watermarking, etc. They may operate as “stand alone” Tools or they can be aggregatedin a single entity called a DRM Tool Pack. A DRM Tool Pack is a special case of a DRM Toolbecause it consists of a group of DRM Tools, named DRM Tool Group, plus a special componentnamed the DRM Tool Agent. The role of the DRM Tool Agent is to instantiate, initialise,Authenticate and supervise any operation performed by the DRM Tools that form part of the ToolGroup.

Figure 72 shows a graphical representation of the Represent Tool Body schema:

<element name="ToolBody" type="ipmpinfo-msx:ToolBodyType"/><complexType name="ToolBodyType">

<sequence><choice maxOccurs="unbounded">

<element ref="ipmpinfo-msx:SingleTool"/><element ref="ipmpinfo-msx:ToolPack"/>

</choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType>

Figure 72: The ipmpinfo-msx:ToolBody element

Represent DRM Tool Body, denoted by the namespace prefix ipmpinfo-msx, conveys theexecutable code of a DRM Tool including specific information describing the DRM Tool (a SingleDRM Tool or a DRM Tool Pack) and an optional Digital Signature.

If a Tool Body is not already available on the Device, the DMP Processor must first Access and,after signature verification, determine the nature of the DRM Tool from the presence of eitheripmpinfo-msx:SingleTool or ipmpinfo-msx:ToolPack.

Note: The DRM Tool ID conveyed by the ipmpinfo:IPMPToolID element child ofipmpinfo:ToolBaseDescription (see Section 3.2.8 – Represent DRM Tool) can either identify aDRM Tool or a DRM Tool Pack, but not both. However, for achieving platform interoperability,implementations of the same DRM Tool (i.e. implementing the very same DRM algorithm) mayexist for different platforms. In this case all of them share the same DRM Tool ID.

The Represent Tool Body namespace is defined in C.10 - The Media Streaming IPMPINFOextensions schema.

3.2.9.1 Single DRM Tool Body

When the DRM Tool is a single DRM Tool, the body of this DRM Tool (the executable code) willbe Delivered employing the ipmpinfo-msx:SingleTool element, shown in Figure 73.

<element name="SingleTool" type="ipmpinfo-msx:DRMToolType"/><complexType name="DRMToolType">

<sequence>

Page 114: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

114

<element ref="ipmpinfo-msx:ToolBodyID"/><element ref="ipmpinfo-msx:DeviceInformation" minOccurs="0"/><element name="ToolPackageType" type="string" minOccurs="0"/><element name="ToolCode" type="base64Binary"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType>

Figure 73: The ipmpinfo-msx:SingleTool element

The actual body of the DRM Tool is contained within the ipmpinfo:Binary element, as shown earlierin Section 3.2.1.11 - 2.1.12 Location of DRM Tool Body. The DRM Tool Body Identifier iscontained in ipmpinfo-msx:ToolBodyID element.

The element ipmpinfo-msx:DeviceInformation provides the means to specify Device Information ofthe Devices on which the DRM Tool can operate (see Section 3.2.16 – Represent Device Informat-ion). Information related to the type of package of the DRM Tool Body (Zip, TAR, etc...) can beconveyed by specifying the corresponding MIME Type in the ipmpinfo-msx:ToolPackageType.

The DRM Processor, after verifying any Signature and ensuring that the Device matches thesupported platform conditions, processes the pack containing the code of the DRM Tool (e.g. un-zips the archive) and instantiates the DRM Tool as described in [2].

3.2.9.2 DRM Tool Pack Body

When the DRM Tool is a DRM Tool Pack, the Tool Pack Body will be delivered by the ipmpinfo-msx:ToolPack element, shown in Figure 74.

<element name="ToolPack" type="ipmpinfo-msx:ToolPackType"/><complexType name="ToolPackType">

<sequence><element ref="ipmpinfo-msx:ToolBodyID"/><element ref="ipmpinfo-msx:DeviceInformation" minOccurs="0"/><element name="ToolPackageType" type="string" minOccurs="0"/><element name="ToolAgent" type="ipmpinfo-msx:ToolAgentType"/><element name="ToolGroup" type="ipmpinfo-msx:ToolGroupType"

minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><element name="ToolAgent" type="ipmpinfo-msx:ToolAgentType"/><complexType name="ToolAgentType">

<sequence><element name="ToolAgentID" type="anyURI"/><element name="ToolAgentCode" type="base64Binary"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType>

Page 115: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

115

<element name="ToolGroup" type="ipmpinfo-msx:ToolGroupType"/><complexType name="ToolGroupType">

<sequence><element name="ToolGroupID" type="anyURI"/><element name="ToolGroupCode" type="base64Binary"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType>

Figure 74: The ipmpinfo-msx:ToolPack

The ipmpinfo-msx:ToolPack element delivers a Tool Agent and an (optional) Tool Group. For moreinformation about a Tool Agent and a Tool Group, refer to Chapter 2. The DRM Tool Pack BodyIdentifier is contained in ipmpinfo-msx:ToolBodyID element. The Tool Agent Body is conveyed bythe ipmpinfo-msx:ToolAgentBody element, and its Tool Agent Identifier is conveyed by theipmpinfo-msx:ToolAgentID.

Note: The Tool Agent ID and Tool Group ID must not be confused with the DRM Tool ID, thelatter being the Identifier of a specific DRM Tool which can be a Single DRM Tool or a DRM ToolPack. Every DRM Tool Pack contains a Tool Agent which in turn is characterised by a Tool AgentID, and may have a Tool Group, characterised by its own ipmpinfo-msx:ToolGroupID.

As in the case of the single DRM Tool, it is also possible to specify information on the package typeand supported platform for the Tool Pack.

The DRM Processor, after verifying all Signatures and ensuring that the Device matches thesupported platform conditions, processes the package containing the code of the Tool Pack (e.g. un-zips the archive) and instantiates the DRM Tool Agent. Once the DRM Tool Agent is instantiated(and possibly Authenticated) the Tool Agent obtains the reference of the Tool Group and intantiatesthe Tools from the ToolGroup, if available. If not available, the DRM Tool Agent will request thereference of the remaining DRM Tools. The DRM Processor locates the missing tools on behalf ofthe Agent. The Agent subsequently instatiates these tools. For detailed information on DRM ToolPack instantiation, initialisation and DRM Tool Pack management in general refer to Section 3.3.7.2.Figure 75 is an example of the Represent Tool Body namespace.

<ipmpinfo-msx:ToolBody><ipmpinfo-msx:ToolPack>

<ipmpinfo-msx:ToolBodyID>urn:foo:toolpack:001</ipmpinfo-msx:ToolBodyID><ipmpinfo-msx:DeviceInformation>

<ipmpinfo-msx:SupportedPlatform><mpeg4ipmp:OperatingSystem>

<mpeg4ipmp:Vendor>Red Hat</mpeg4ipmp:Vendor><mpeg4ipmp:Model>Enterprise</mpeg4ipmp:Model><mpeg4ipmp:Version>9.0</mpeg4ipmp:Version>

</mpeg4ipmp:OperatingSystem></ipmpinfo-msx:SupportedPlatform>

</ipmpinfo-msx:DeviceInformation>

Page 116: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

116

<ipmpinfo-msx:ToolPackageType>application/zip</ipmpinfo-msx:ToolPackageType>

<ipmpinfo-msx:ToolAgent><dmprtb:ToolAgentID>urn:Origin:ToolPack:ToolID:ABC9:ToolAgentID:01</ipmpinfo-msx:ToolAgentID><!-- Include the code implementing the DRM Tool in the element below --><ipmpinfo-msx:ToolAgentBody>AB67543EF5554CD0</ipmpinfo-

msx:ToolAgentBody></ipmpinfo-msx:ToolAgent>

</ipmpinfo-msx:ToolPack></ipmpinfo-msx:ToolBody>

Figure 75: An example of the Represent Tool Body namespace

3.2.10 Represent Rights Data

3.2.10.1 RRD Formalisation

Represent Rights Data (RRD) is an ontology for representing IP Entities and associated actionstaken upon them as well as those taken on their corresponding digital Representations as prescribedby the DMP Creation Model. The Creation Model as well as the rationale of the RRD has beendescribed in Chapter 2 while a Java API for the RRD is provided in Chapter 7.

The RRD is fomalised in a single OWL file defined in Annex E. At the OWL root level, thefollowing three classes have been defined; IP Entity, Actions and Roles. Roles operate on IP Entities,by invoking Actions. The relations between these three classes are illustrated in Figure 76.

Roles IP Entities

Actions

SupportsCan

RightsOwner

Figure 76. Root Level Classes of the Ontology and their relations

Users (Creator, Adaptor, Instantiator, Producer...) have Roles associated to them that attribute tothem rights over Actions that can be exercised on correspondng IP Entities. Each creation modellevel is associated with characteristic Actions that correspond with specific functions that relate toactivities at different points of the value chain.

IP Entities refer to abstract entities that may be represented either digitally or not digitally such asWork, Adaptation, Manifestation, Instance… Further specialization is given so each can be furtherrefined: For example, “Manifestation” can be either of an Adaptation or of a Work.

Page 117: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

117

Figure 77. Roles

Figure 78 shows the IP Entity classes represented in the RRD.

Figure 78 – IP Entities

Actions refer to both those that are applied over digital objects and those that are not. The result ofsome actions may imply the creation of another IPEntity (for example, a MakeAdaptation actiongenerates a new IP Entity of the kind Adaptation) while others do not, for example the action “play”.

Figure 79 depicts the actions represented in the RRD.

Page 118: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

118

Figure 79 – Actions

Page 119: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

119

3.2.10.2 List of Ontology classes

In the OWL file, the following definitions of each class are given in the rdfs:comment attribute. Forall terms defined by the DMP the DMP definition has been used.

Note that a special helper class called Permit has also been defined as follows:

Permit: Transfers capability to perform Actions from one User to one or more Users.

IP EntitiesThe following IP Entities are defined:

1. Work: A creation that retains intellectual or artistic attributes independently of itsManifestations

2. Adaptation: A Work that has been derived from another Work.3. Manifestation: An object or event which is an expression of a Work.

a. WorkManifestation: An object or event which is an expression of a Workb. AdaptationManifestation: An object or event which is an expression of an Adaptation

4. Instance: An object or event which is an example of an Identified Manifestation (e.g. a File)a. WorkInstance: An object or event which is an example of an Identified Work

Manifestation (e.g. a File)b. AdaptationInstance: An object or event which is an example of an Identified

Adaptation Manifestation (e.g. a File).5. Copy: The parent class of DMP defined Copies

a. WorkManifestationCopy: A Copy of a WorkManifestationb. WorkInstanceCopy: A Copy of a WorkInstancec. AdaptationManifestationCopy: A copy of an AdaptationManifestationd. AdaptationInstanceCopy: A Copy of an AdaptationInstance

6. Product: A Content Item that adds value to IP Entities by including them with an appropriateLicence for the purpose of Publishing

ActionsThe following actions are defined:

1. Synchronization. Concurrent performance/display of two distinct Works or AdaptationInstances each for a different sense e.g. tet and audio or video and song

2. MakeAdaptation: The action of making an Adaptation3. Produce: The Function of making Products4. Distribute: The Right to sell, rent and lend.5. PublicCommunication: The action of publicly displaying/performing, e.g. live performance,

radio, television, interneta. Stream. The Function of Delivering Content to a Device where the transferred Content

is processed for Rendering only and not Storedb. Broadcast. The Function that Delivers Content to a Device in a point-to-multipoint

modalityc. Download. Transfer a file or program from a central computer to a smaller computer or

to a computer at a remote location

Page 120: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

120

6. CreateWork: The action of creating a Work without any previous material.7. MakeCopy. The Function by which Device A Stores Content in Device B, preserving the

original Content in Device A. Similar to MechanicalCopy.8. MakeManifestation. The action of making a Manifestation9. MakeInstance. The action of making an Instance from a Manifestation. (Called First Fixation

when it is the first time)10. MakeWorkManifestation: The action of making a Manifestation.11. MakeAdaptationManifestation: The action of making an AdaptationManifestation.12. MakeWorkInstance: The action of making an Instance from a WorkManifestation.13. MakeAdaptationInstance: The action of making an Instance from an Adaptation14. MakeAdaptationInstanceCopy: The action of making a Copy of an AdaptationInstance15. MakeAdaptationManifestationCopy: The action of making a Copy of a Manifestation16. MakeWorkInstanceCopy: The action of making a Copy of a WorkInstance17. MakeWorkManifestationCopy: The action of making a Copy of a WorkManifestation18. ModifyCopy. Action of modifying a copy.

a. Enlarge. (REL)Enlarge represents the Right to modify a resource by making it larger.b. Reduce. (REL) Represents the right to modify a resource by taking away from itc. Extract. (REL) Extract represents the Right to derive a new resource by taking a

fragment out of an existing resource.d. Embed. (REL) Embed represents the Right to include a resource in another resource.e. Export. (REL) This element represents the right to export the associated broadcast

program to another rendering or storage devicef. Modify (REL) Modify represents the Right to make and save changes to a resource

without creating a new resource.g. Delete. (REL) Delete represents the right to destroy a digital resource.h. ExtendRights. (MPEG21 REL) This element represents the right to extend the rights

which are the originally transmitted.i. GovernedAdapt. (REL) This element represents the right to adapt the resource and

results in certain rights being associated with the adapted resource.19. Render. The Function of generating a human-perceivable signal from a Resource

a. Install (REL) Install represents the right to follow the instructions provided by aninstalling resource.

b. Uninstall. (REL) Uninstall represents the right to follow the instructions provided by anuninstalling resource.

c. Print. (REL) Print refers to the making of a fixed physical representation, such as hard-copy prints of images or text, that may be perceived directly (that is, without anyintermediary process) with one or more of the five human senses.

d. Execute. (REL) Execute represents the right to execute a digital resource.e. Play. (REL) Represents the Right to derive a transient and directly perceivable

representation of the Resource. The Function of Rendering a Resource20. MoveContent. (DMP-Move) The Function by which Device A Stores Content in Device B

deleting the original Content in Device A.a. Move. (REL) Represents the right to relocate one resource from one place to another.b. GovernedMove. (REL) This element represents the right to copy the resource and at the

same time to result in certain rights being associated to the copied resource.

Page 121: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

121

RolesThe following Roles are supported:

1. Adaptor: A User who produces an Adaptation2. Creator: A User who generates a Work and makes its first Manifestation, also referred to as

author3. Distributor: A User who distributes a Product including public communication4. EndUser: A User in a Value-Chain who ultimately consumes Content5. Instantiator: A User who produces an Instance6. Producer: A User who produces a Product from an Instance.

3.2.10.3 List of Ontology relations

Relations relate classes in the Ontology. Every relation has a domain corresponding to values fromone class resulting in a range of values of another or the same class. A functional property is aproperty that can have only one (unique) value of the range for each value of the domain. When thefunctional property is absent, it is understood there may be any number of values correspondingbetween domain and range.

The following basic relations have been defined:

Relation Definition Funct. Domain RangeSupports Declares which actions are meaningful over an IP Entity. N IPEntity ActionRightsGivenBy Declares which role can give rights over an action Y Action RoleResultsIn Declares which IP Entity arises as a result of the execution of an

action. It is a functional relation (i.e. the result of an action is asingle individual)

Y Action IPEntity

Can Defines the actions that a role can do. N Role ActionRightsOwner Defines the owner of the rights over an IP Entity. N IPEntity RoleOrigin Defines the original ip entity of another IP Entity (or itself for

Work)N IPEntity IPEntity

HasConsentOver Determines whether a role has the consent given by the Creatorover an IP Entity to perform the actions that require it.

N Role IPEntity

PermitActions Relation used to express the Actions that are allowed to beperformed.

N Permit Action

PermitIPEntity Relation used to express over which IP Entity Actions can beexercised

N Permit IPEntity

SourceOfPermit Relation used to express the User who issues the permit Y Permit RoleObjectOfPermit Relation used to express which User receives a given permit N Permit Role

To represent variations of a range domain correspondence operators such as min, max and exactlycan be used. For example, every product has min 1 copies as sources and a WorkInstanceCopyexactly 1 WorkInstance Origin.The next table shows some examples for the relations defined above

Relation ExampleSupports Work Supports (MakeAdaptation or MakeWorkManifestation)RightsGivenBy Distribute RightGivenBy ProducerResultsIn MakeAdaptation ResultsIn AdaptationCan Adaptor Can (MakeAdaptation or MakeAdaptationManifestation)

Page 122: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

122

RightsOwner MyWork RightsOwner AliceOrigin Adaptation Origin (Work or Adaptation)HasConsentOver Bob HasConsentOver MyInstaneCopy

Note: The first four relations serve to establish general restrictions. While in the RightsOwner andHasConsentOver do not establish restrictions but illustrate how the RRD can operate withindividuals of the Work (MyWork), Creator (Alice) and User (Bob) respetively.

3.2.10.4 Adaptation-related OWL statements

Below is an excerpt of the RRD Ontology OWL file where the use of relations in the context ofdefining Adaptation and related RRD classes:

<owl:Class rdf:about="#Adaptation">1

<rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#Origin"/>2

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Work"/><owl:Class rdf:about="#Adaptation"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom></owl:Restriction>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Manifestation"/><owl:disjointWith rdf:resource="#Instance"/><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#Supports"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection"> <owl:Class

rdf:about="#MakeAdaptation"/><owl:Class rdf:ID="MakeAdaptationManifestation3"/>

</owl:unionOf>

1The class Adaptation is defined

2 The origin of an Adaptation is either a Work or an Adaptation3

An Adaptation supports either MakeAdaptation or MakeAdaptManifestation, Definition of Adaptation, Adaptation is asubclass of IPEntity

Page 123: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

123

</owl:Class></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Copy"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">It is a Work that has been derived from another Work.</rdfs:comment><rdfs:subClassOf><owl:Class rdf:about="#IPEntity"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Product"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Work"/>

</owl:disjointWith></owl:Class>

Figure 80 – excerpt of the RRD Ontology OWL file

The RDD Ontology specified in this document has a wide scope beyond the use of REL statements.

The terms of the Ontology that may be used in a REL statement presently within the IDP are thosedefined by the DAC and ORC profile of REL.

3.2.11 Represent Rights Data Protocols

The Role Verification Device (RVD) is a Device able to answer queries over the RRD OntologyValue Chain Model and to verify that Functions performed by Users adhere to it.

The Role Verification Device is queried with a protocol whose namespace has been called dmprrdp,inherited from the Base Protocol.

3.2.11.1 RVD Protocol Type

<complexType name="RRDProtocolType"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType>

Figure 81 – The RRD Protocol type

3.2.11.2 ExecuteActionReq

This message codifies the request to execute an Action in the RVD.

<element name="ExecuteActionReq">

<complexType>

Page 124: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

124

<complexContent><extension base="dmprrdp:RRDProtocolType">

<sequence><element name="actedBy" type="dmprdip:IDType" /><element name="actedOver" type="xsd:anyURI" /><element name="action" type="dmprrdp:ActionType" /><element name="resultsIn" type="xsd:anyURI" />

</sequence></extension>

</complexContent></complexType>

</element>

Figure 82 – The ExecuteActionReq message

3.2.11.3 GetRightsHoldersReq

This message codifies the query to obtain the rights holder of a DCI and its category of IP.

<element name=”GetRightsHolderReq”><complexType>

<complexContent><extension base="dmprrdp:RRDProtocolType">

<sequence><element ref="dii:Identifier"/>

</sequence></extension>

</complexContent></complexType>

</element>

Figure 83 – The GetRightsHolderReq message

3.2.11.4 GetRightsHoldersResponse

This message codifies the response to a query to obtain the rights holder of a DCI and its category ofIP.

<element name=”GetRightsHolderResponse”><complexType>

<complexContent><extension base="dmprrdp:RRDProtocolType">

<sequence><element name="IPEntity" type="dmprrdp:IPEntityType"/><element name="rightsHolder" type="dmprdip:IDType"/>

</sequence></extension>

</complexContent></complexType>

</element>

Figure 84 – The GetRightsHolderResponse message

Page 125: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

125

3.2.11.5 CreatePermissionReq

This message codifies the query to create a Permission in the RVD by which certain Actions can beverified.

<element name=”CreatePermissionReq”><complexType>

<complexContent><extension base="dmprrdp:RRDProtocolType">

<sequence><element name="action" type="dmprrdp:ActionType"/><element name="actedOver" type="xsd:anyURI"/><element name="actedBy" type="dmprdip:IDType"/><element name="issuedBy" type="xsd:anyURI"/>

</sequence></extension>

</complexContent></complexType>

</element>

Figure 85 – The CreatePermissionReq message

3.2.11.6 VerifyPermissionReq

This message codifies the query to verify if a Permission exists matching the given parameters.

<element name=”VerifyPermissionReq”><complexType>

<complexContent><extension base="dmprrdp:RRDProtocolType">

<sequence><element name="action" type="dmprrdp:ActionType"/><element name="actedBy" type="dmprdip:IDType"/><element name="actedOver" type="xsd:anyURI"/>

</sequence></extension>

</complexContent></complexType>

</element>

Figure 86 – The VerifyPermissionReq message

3.2.12 Represent License

This section specifies the Tool to express usage rules associated with Content that in turn map ontospecific Device behaviour consistent with the semantics of the Rights Expressions.

Licenses may be used for different purposes; a non-exhaustive list is given below:

To Grant the Right to Use Content (e.g. Device D can Play Content Item X five times) To attribute properties to a Principal (Device D belongs to Domain B)

Page 126: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

126

To Govern the Use of DRM Tools (DRM Tool T can only work on Devices Certified by AgencyA)

Licenses in IDP-3.2 are based on a extends the REL Dissemination and Capture (DAC) [27] andOpen Access Content (OAC) [28] Profile, in order to support DMP Domain requirements. For anoverview of the REL Standard, refer to Annex A.3.3. For examples of how this namespace can beused to support various external Rights and Conditions for EUD Use Cases such as Copy ControlInformation (CCI) and TV-Anytime’s Rights Management and Protection Information (RMPI) see[43].

3.2.12.1 The DomainResource element

The dmprl:DomainResource element is an extension to the rel-msaf:Resource complex type, definedin the MPEG-REL core schema, with elements from the DMP Represent Domain schema (msd),and is specified in Figure 87:

<element name="DomainResource" type="dmprl:DomainResourceType" substitutionGroup="rel-msaf:resource"/><complexType name="DomainResourceType">

<complexContent><extension base="rel-r:Resource">

<sequence><element ref="msd:DomainID"/><element ref="msd:DomainKey"/>

</sequence></extension>

</complexContent></complexType>

Figure 87: The dmprl:DomainResource element

The dmprl:DomainResource is used to Grant to a User or a Device the membership of a Domain,and therefore it conveys all the information that the Device or the User requires. In detail, thiselement conveys: The Domain Identifier The Domain Encryption KeyA Domain Resource is always contained in a License, where: the Principal is an Identifier (Device ID or User ID), the Right is possessProperty the Resource is the DomainResource the Conditions under which the Domain Resource is valid (e.g. <rel-r:validityInterval><rel-

r:notAfter>2006-07-29T00:00:00</rel-r:notAfter></rel-r:validityInterval>)

For more information on these elements, refer to Section 3.2.17 – Represent Domain.

3.2.13 Represent Key

DRM applications may require the use of encryption and decryption Keys during their execution.There are two types of Keys:

Page 127: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

127

Content Keys: keys used to encrypt Resources, and inserted into the Content (i.e. in the DCI)possibly encrypted using a License Key. Content Keys may be of two types:

time-independent Keys, ie, keys that do not need to be synchronised to the contentdelivery

time-dependent Keys, ie, keys that are synchronised to timely packet delivery, forinstance for the timely decoding of streamed content.

License Keys: Keys typically used to encrypt Content Keys, and Delivered in a License,possibly encrypted using the License Principal's public Key.

The sub-sections below state how to Represent the different types of Keys.

3.2.13.1 Time-independent Keys

When a Key that can be employed to Decrypt Resources without the need to synchronise the keydelivery with Resource delivery between Devices, this shall be done using the ipmpmsg:Keyelement specified in Figure 88.

<element name="Key" type="ipmpmsg:KeyType"/><complexType name="KeyType">

<complexContent><extension base="ipmpmsg:KeyBaseType">

<sequence><choice>

<element ref="xenc:EncryptedData"/><element ref="xenc:EncryptedKey"/>

</choice></sequence>

</extension></complexContent>

</complexType><complexType name="KeyBaseType" abstract="true"/>

Figure 88: The ipmpmsg:Key element

3.2.13.2 Time-dependent Keys

Where a Key to be employed to Decrypt Resources with time synchronisation constraints associatedwith packetised Resource delivery has to be Delivered between Devices, this shall be conveyedwithin the ipmpmsg:TimeKey element represented in Figure 89:

<element name="TimeKey" type="ipmpmsg:TimeKeyType"/><complexType name="TimeKeyType">

<complexContent><extension base="ipmpmsg:KeyType">

<sequence><element name="startDTS" type="unsignedLong" minOccurs="0"/><element name="startPacketID" type="unsignedInt"

minOccurs="0"/><element name="expireDTS" type="unsignedLong" minOccurs="0"/>

Page 128: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

128

<element name="expirePacketID" type="unsignedInt"minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 89: The ipmpmsg:Key element

The ipmpmsg:TimeKey element conveys a Decryption Key and further information about its use bythe DRM Tool that receives it. ipmpmsg:Key: the container of the Key, which can either be conveyed in an

xenc:EncryptedData element or an xenc:EncryptedKey element. ipmpmsg:startDTS: the container of the decoding time stamp of the first access unit for which

the contained Key is valid (optional) ipmpmsg:startPacketID: the container of the packet ID of the first access unit for which the

contained Key is valid (optional) ipmpmsg:expireDTS: the container for the decoding time stamp of the first access unit for which

the contained Key is no longer valid (optional) ipmpmsg:expirePacketID: the container for the packet ID of the first access unit for which the

contained Key is no longer valid (optional)

Whenever a Key has to be Delivered to a DRM Tool, this is done by employing aipmpmsg:KeyData element, as specified in Section 3.2.14 - Represent DRM Messages. Furtherinformation on the Protocols to Manage DRM Tool is given in Section 3.3.7.2.

3.2.13.3 License Keys

Whenever a Resource has been Protected by one or more DRM Tools employing either anipmpmsg:Key or an ipmpmsg:TimeKey, the Key or the various TimeKeys are in turn encrypted byemploying a further Key (typically referred as the Master Key) which is Delivered in a License, bymeans of the rel-m1x-msaf:ProtectedResource element specified in Figure 90.

<xsd:complexType name="ProtectedResource"><xsd:complexContent>

<xsd:extension base="rel-r:Resource"><xsd:sequence minOccurs="0">

<xsd:element ref="rel-r:digitalResource"/><xsd:choice minOccurs="0" maxOccurs="unbounded">

<xsd:element ref="xenc:EncryptedData"/><xsd:element ref="xenc:EncryptedKey"/>

</xsd:choice><xsd:element name="resourceLocator" type="xsd:anyURI"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType>

Figure 90: The rel-m1x:ProtectedResource element

Page 129: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

129

3.2.14 Represent DRM Messages

3.2.14.1 Introduction

This section provides the means to Represent Information exchanged between different componentson a Device, such as two DRM Tools or a DRM Processor and a DRM Tool.

DRM Messages are a translation of messages originally defined in the MPEG-2 and MPEG-4IPMPX standards (see [12] and [14]) from a binary representation to XML. See Annex A.5 -MPEG-2/4 IPMP Extension for an overview of those standards.

Note: In the sub-sections below a DRM Tool can be either a single DRM Tool or a DRM ToolAgent of a DRM Tool Pack

3.2.14.2 Containers for DRM Messages

As specified in Sections 3.2.8 – Represent DRM Tool and 3.3.7.2 – DRM Processor – DRM ToolsProtocols, the DRM Processor instantiates a DRM Tool to Govern a Content Element every time itencounters a ipmpinfo:Tool element within the Governed Content Representation in the DCI.The DRM Processor assigns an Identifier to each instance of DRM Tool, named the DRM ToolContext ID. The Tool Context ID serves a different role from the DRM Tool ID. In particular, twoinstances of a DRM Tool with a common DRM Tool ID will be assigned different values of ToolContext ID.

Once the DRM Tool is instantiated, the Governance of the Governed Content Element through theDRM Tool may involve the exchange of information between the DRM Processor and the DRMTool or between the various DRM Tools. This information is coded in DRM Messages, which areencapsulated in two different containers depending on the way the Message is originated:1. MessageFromDCI: this container Message is sent from the DRM Processor to a DRM Tool

conveying information extracted from the DCI and addressed to the DRM Tool (e.g. a Key toDecrypt a Resource);

2. MessageFromTool: this container Message is sent either from the DRM Processor or from aDRM Tool to another DRM Tool and contains information originated internally by the sender.For example, a Message requesting mutual Authentication.

Both Containers: MessageFromDCI and MessageFromTool, share the same abstract XML elementBase Type: ipmpmsg:IPMPBaseType, shown in Figure 91:

<complexType name="IPMPBaseType" abstract="true"/>

Figure 91: The ipmpmsg:IPMPBaseType type

3.2.14.2.1 ipmpmsg:ToolMessageBase

All DRM Message Containers are based on the ipmpmsg:ToolMessageBase element, defined inFigure 92:

<element name="ToolMessageBase" type="ipmpmsg:ToolMessageBaseType" abstract="true"/><complexType name="ToolMessageBaseType" abstract="true">

<complexContent>

Page 130: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

130

<extension base="ipmpmsg:IPMPBaseType"><sequence>

<element name="Sender" type="xsd:unsignedInt"/><element name="Recipient" type="xsd:unsignedInt"/>

</sequence></extension>

</complexContent></complexType>

Figure 92: The ipmpmsg:ToolMessageBase element

The abstract element ipmpmsg:ToolMessageBase extends ipmpmsg:IPMPBaseType by addingSender and Recipient elements to the message. These elements contain an unsigned integerrepresenting the unique Identifier that the DRM Processor assigns to each instance of a DRM Tool,the DRM Tool Context ID. The DRM Processor shall be Identified by the value ‘0’.

3.2.14.2.2 ipmpmsg:Data_BaseClass

All DRM Messages extend the ipmpmsg:Data_BaseClass element, as specified in Figure 93:

<element name="Data_BaseClass" type="ipmpmsg:Data_BaseClassType" abstract="true"/><complexType name="Data_BaseClassType" abstract="true">

<complexContent><extension base="ipmpmsg:IPMPBaseType">

<sequence><element name="dataID" type="unsignedInt"/>

</sequence></extension>

</complexContent></complexType>

Figure 93: The ipmpmsg:Data_BaseClass element

The abstract element ipmpmsg:Data_BaseClass extends the ipmpmsg:IPMPBaseType element byadding the dataID element, which shall contain an unsigned integer value identifying a Message.The same value of dataID shall be used in any reply to that message.

3.2.14.2.3 ipmpmsg:MessageFromDI

Any DRM Message extracted from the DCI during its Parsing by the DRM Processor and addressedto a DRM Tool shall be conveyed to that DRM Tool by encapsulation in aipmpmsg:MessageFromDI message, which is specified in Figure 94:

<element name="MessageFromDI" type="ipmpmsg:MessageFromDIType"substitutionGroup="ipmpmsg:ToolMessageBase"/><complexType name="MessageFromDIType">

<complexContent><extension base="ipmpmsg:ToolMessageBaseType">

<sequence>

Page 131: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

131

<element ref="ipmpmsg:Data_BaseClass" minOccurs="0"maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

Figure 94: The ipmpmsg:MessageFromDCI element

The ipmpmsg:MessageFromDCI element (indirectly) extends the ipmpmsg:ToolMessageBaseelement by adding a sequence of DRM Messages extending the ipmpmsg:Data_BaseClass.

3.2.14.2.4 ipmpmsg:MessageFromTool

Any DRM Message originated spontaneously from a DRM Processor or a DRM Tool and addressedto another DRM Tool shall be conveyed to that DRM Tool by encapsulation in aipmpmsg:MessageFromTool message, which is specified in Figure 95:

<element name="MessageFromTool" type="ipmpmsg:MessageFromToolType"substitutionGroup="ipmpmsg:ToolMessageBase"/><complexType name="MessageFromToolType">

<complexContent><extension base="ipmpmsg:ToolMessageBaseType">

<sequence><element ref="ipmpmsg:Data_BaseClass" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType>Figure 95: The ipmpmsg:MessageFromTool element

The ipmpmsg:MessageFromTool element (indirectly) extends the ipmpmsg:ToolMessageBaseelement by adding a sequence of DRM Messages extending the ipmpmsg:Data_BaseClass.

3.2.14.3 DRM Messages

DRM Messages express in an interoperable way a vast quantity of DRM-related information whichcan be exchanged by two parties by Representing it with the Messages specified by the DMPRepresent DRM Messages namespace.

The delivery of DRM Messages exchanged between two DRM Tools on a Device shall be handledby the DRM Processor. Hence, a compliant DRM Processor shall be able to forward all DRMMessages defined in this specification to a recipient DRM Tool. However, a compliant DRMProcessor is not required to be able to process all DRM Messages, as some of them may containinformation that is only meaningful for a specific DRM Processor. A compliant DRM Processorshall be able to process all DRM Messages labelled “DP” in Table 17.

Page 132: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

132

DRM Messages are divided into two categories: those belonging to a base and those belonging to anextended profile of this specification. All DRM Tools shall be able to process DRM Messagesbelonging to the base profile, labelled with “B” in the table below. DRM Tools may also be able toprocess DRM Messages belonging to the extended profile, labelled with “X” in the table below, inwhich case they will be compliant with the extended profile.

3.2.14.3.1 Mutual Authentication Messages

The following table specifies the DRM Messages to be exchanged by two DRM Tools or between aDRM Tool and the DRM Processor to achieve Mutual Authentication.

Table 17 – Mutual Authentication Messages

DRM Message DP Profile PurposeSecureContainer DP B Secure container message for any message extending the

IPMP_Data_BaseClass.InitAuthentication DP B Message that initiates a mutual authentication processMutualAuthentication DP B Messages exchanged during mutual authentication processThe InitAuthentication and MutualAuthentication DRM Messages are described in Section 3.2.15.

3.2.14.3.2 DRM Tool Connection and Disconnection Messages

Table 18 specifies the DRM Messages to be exchanged by a DRM Tool and a DRM Processor totrigger the instantiation of a new DRM Tool, or to obtain specific information about DRM Tools.

Table 18 – DRM Tool Connection and Disconnection Messages

DRM Message DP Profile PurposeGetTools DP B Message sent by a DRM Tool to the DRM

Processor to find all the tools, instantiated or not,that are available on the Device.

GetToolsResponse DP B Message sent by the DRM Processor to a DRMTool in reply to a GetTools Message

ToolParamCapabilitiesQuery DP X Messages allowing a DRM Processor to query aDRM Tool as for support for a specific parametricdescription

ToolParamCapabilitiesResponse DP X Message in response to the above parametriccapabilities query. Returns a boolean value as towhether or not the parametric description issupported by the tool

ConnectTool DP B A Request Message from a DRM Tool to the DRMProcessor to create a connection to a tool identifiedby the ipmpinfo:Tool element

DisconnectTool DP B Message allowing a DRM Tool to disconnect aDRM Tool it has previously connected

GetToolContext DP B Message sent from a DRM Tool to the DRMProcessor to find the DRM Tool context ID of allDRM Tools operating on the same Governed

Page 133: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

133

Content ElementGetToolContextResponse DP B Message sent from the DRM Processor to a DRM

Tool that has required to find the DRM Toolcontext IDs of all DRM Tools operating on thesame Governed Content Element.

3.2.14.3.3 DRM Tool Notification Messages

Table 19 specifies the DRM Messages to be exchanged between a DRM Tool and a DRM Processorwhen being notified of particular events related to DRM Tools on the Device.

Table 19 – DRM Tool Notification Messages

DRM Message DP Profile PurposeAddToolNotificationListener DP B Message sent from a DRM Tool to the DRM

Processor to request notification of certain events.RemoveToolNotificationListener DP B Message sent from a DRM Tool to the DRM

Processor to stop the notification of certain eventsNotifyToolEvent DP B Message to notify a DRM Tool of an event for

which it had previous registered as a listener. A listof events is given in the Represent DRM Messagesschema.

The list of events described in NotifyToolEvent row above are listed in Table 20.

Table 20 – Event types

"00" CONNECTED"01" CONNECTION_FAILED"02" DISCONNECTED"03" DISCONNECTION_FAILED"04" WATERMARKDETECTED"05" PARSE_TOOLPACKDATA_SUCCESS"06" PARSE_TOOLPACKDATA_FAILED"07" UNABLE_TO_PROCESS"08" TOOL_GROUP_NOT_FOUND"09" TERMINATION_FAILED"10" CONTROLPOINT_NOT_SUPPORTED"11" UNABLE_TO_PARSE_LICENSE"12" NO_VALID_LICENSE"13" LICENSE_VALIDATION_FAILED"14" READY_TO_PLAY"15" READY_TO_BE_TERMINATED

3.2.14.3.4 DRM Processing Messages

Table 21 specifies the DRM Messages to be exchanged between two DRM Tools or between aDRM Processor and a DRM Tool for different purposes.

Page 134: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

134

Table 21 – DRM Processing Messages

DRM Message DP Profile PurposeKeyData DP B Message conveying either a time-dependent or time-

independent Decryption KeyRightsData DP B Message conveying a LicenseCanProcess DP B Sent from a DRM Tool to the DRM Processor to allow or

deny content processingOpaqueData DP B General-purpose container Message for any type of dataAudioWatermarkingInit X Message for delivering to a DRM Tool performing audio

watermarking specific information about the audio contentand a payload and possibly other related proprietary datarequired by the Tool

VideoWatermarkingInit X Message for delivering to a DRM Tool performing audiowatermarking specific information about the audio contentand a payload and possibly other related proprietary datarequired by the Tool

SendAudioWatermark X Message conveying an audio watermark payload and otherrelated information obtained by a DRM Tool performingAudio Watermarking on audio data

SendVideoWatermark X Message conveying a video watermark payload and otherrelated information obtained by a DRM Tool performingVideo Watermarking on video data

SelectiveDecryptionInit X Message to initialise a DRM Tool performing decryption

Two Messages among those defined in the Table above are specified below. These areipmpmsg:KeyData and ipmpmsg:RightsData.

<element name="KeyData" type="ipmpmsg:KeyDataType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="KeyDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><choice maxOccurs="unbounded">

<element ref="ipmpmsg:Key"/><element ref="ipmpmsg:TimeKey"/>

</choice><element ref="ipmpmsg:opaqueData" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 96: The ipmpmsg:KeyData elementThe ipmpmsg:RightsData Message shall be employed to Deliver a License to a DRM Tool.

Page 135: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

135

<element name="RightsData" type="ipmpmsg:RightsDataType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="RightsDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="rightsInfo" type="rel-r:License"/>

</sequence></extension>

</complexContent></complexType>

Figure 97: The ipmpmsg:RightsData element

3.2.14.3.5 User Interaction Messages

Table 22 specifies the DRM Messages to allow the communication between a DRM Tool and theUser.

Table 22 – User Interaction Messages

DRM Message DP Profile PurposeUserQuery DP B Message used to query the User for informationUserQueryResponse DP B Message containing the User response to a UserQuery message

3.2.14.3.6 Additional DRM Messages

Table 23 specifies additional DRM Messages to be exchanged between a DRM Tool and a DRMProcessor for different purposes:

Table 23 – DMP-defined DRM Messages

DRM Message DP Profile PurposeInitialiseTool DP B Message conveying initialisation data to a DRM

ToolGetToolGroupReference DP B Message sent by a DRM Tool Agent to the DRM

Processor requesting the reference to theReference of the associated DRM Tool Group

GetToolGroupReferenceResponse DP B Message sent by a DRM Processor to a DRMTool Agent conveying the reference to thereference of the associated DRM Tool Group

GetToolReference DP B This message is to get the reference of specificSingle DRM Tool which is not in the DRM ToolGroup. This message is sent by the DRM ToolAgent to the DRM Processor.

GetToolReferenceResponse DP B This message is to convey the reference of arequested Single DRM Tool. This message is sentby the DRM Processor to the DRM Tool Agent.

GetToolPackData DP B Message sent by a DRM Tool Agent to the DRM

Page 136: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

136

Processor requesting DRM Tool Pack dataToolPackData DP B Message sent by a DRM Processor to a DRM

Tool Agent conveying DRM Tool Pack Data.

Note: a compliant single DRM Tool does not need to be able to process DRM Tool Pack messages.

The syntax of these messages is specified in the DMP namespace ipmpmsg in Annex C.11 – TheIPMP XML Messages Schema. An overview of these messages now follows.ipmpmsg:InitialiseToolThis Message is specified in Figure 98:

<element name="InitialiseTool" type="ipmpmsg:InitialiseToolType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="InitialiseToolType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="DRMProcessorInstance" type="base64Binary"/><sequence minOccurs="0" maxOccurs="unbounded">

<element ref="ipmpmsg:ControlPointID"/><element ref="ipmpmsg:ControlPointAddress"

minOccurs="0"/></sequence><element ref="ipmpmsg:Data_BaseClass" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="ControlPointID" type="ipmpmsg:ControlPointType"/><complexType name="ControlPointType">

<sequence><element name="ID" type="integer"/>

</sequence></complexType>

<element name="ControlPointAddress" type="base64Binary"/>

Figure 98: The ipmpmsg:InitialiseTool element

An ipmpmsg:InitialiseTool element delivers the following information:

DRMProcessorInstance: a handle of the DRM Processor required by the Tool to send Messagesback to the DRM Processor. The format of this handle may depend on the particular Device onwhich the DRM Processor is running, and such information depends on theInstantiation_API_ID value in the ipmpinfo-msx:ToolAPI_Config defined in 3.2.16 - RepresentDevice Information.

Page 137: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

137

ControlPointID: an ID indicating the point where the DRM Tool can operate along the Resourceprocessing pipelines. This ID should be registered by the authorized agency before being used.The ipmpmsg:ControlPointID assignments are given in Table 24;

Table 24 – List of available Control Points

ControlPointID Description00 NO_CONTROL_POINT01 CONTROL_POINT_BEFORE_DEMULTIPLEXING02 CONTROL_POINT_BEFORE_AUDIO_DECODING03 CONTROL_POINT_AFTER_AUDIO_DECODING04 CONTROL_POINT_BEFORE_VIDEO_DECODING05 CONTROL_POINT_AFTER_VIDEO_DECODING06 CONTROL_POINT_BEFORE_STORING07 CONTROL_POINT_BEFORE_PLAYBACK08 CONTROL_POINT_BEFORE_TRANSFERRING

ControlPointAddress: a local address on the Device, that the DRM Tool can be connected to,and have an input Resource. The format of this address may depend on the particular Device onwhich the DRM Processor is running, and such information depends on theInstantiation_API_ID value in the ipmpinfo-msx:ToolAPI_Config element.

Other messages derived from ipmpmsg:Data_BaseClass.

ipmpmsg:GetToolGroupReferenceEach DRM Tool Pack optionally contains the DRM Tool Group. The DRM Tool Agent requires theDRM Tool Group to perform proper DRM functions. This message is sent by the DRM Tool Agentto request the reference of the DRM Tool Group.

<element name="GetToolGroupReference" type="ipmpmsg:GetToolGroupReferenceType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolGroupReferenceType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent></complexType>

Figure 99: The ipmpmsg:GetToolGroupReference element

ipmpmsg:GetToolGroupReferenceResponseThis message is sent by the DRM Processor to deliver the reference of the DRM Tool Group. Thismessage delivers the following information:

ToolGroupReference: the reference of the DRM Tool Group. The reference indicates either thehandle or the local address of the DRM Tool Group depending on the Instantiation_API_IDvalue in the ipmpinfo-msx:ToolAPI_Config element.

Page 138: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

138

<element name="GetToolGroupReferenceResponse"type="ipmpmsg:GetToolGroupReferenceResponseType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolGroupReferenceResponseType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="ToolGroupReference" type="base64Binary"/>

</sequence></extension>

</complexContent></complexType>

Figure 100: The ipmpmsg:GetToolGroupReferenceResponse elementipmpmsg:GetToolReferenceThe DRM Tool Agent may need a Single DRM Tool to perform proper DRM functions. Thismessage is sent by the DRM Tool Agent to request the reference of the Single DRM Tool. Thismessage delivers the following information:

IPMPToolID: ID of the Single DRM Tool that the DRM Tool Agent request. More than one IDcan be given.

<element name="GetToolReference" type="ipmpmsg:GetToolReferenceType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolReferenceType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element ref="ipmpinfo:IPMPToolID" maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

Figure 101: The ipmpmsg:GetToolReference element

ipmpmsg:GetToolReferenceResponseThis message is sent by the DRM Processor to deliver the reference of the Single DRM Tool. Thismessage delivers the following information:

IPMPToolID: the ID of the Single DRM Tool that the DRM Tool Agent request. More than oneID can be given.

ToolReference: the reference of the Single DRM Tool given by the IPMPToolID. The referenceindicates either the handle or the local address of the DRM Tool Group depending on theInstantiation_API_ID value in the ToolAPI_Config.

<element name="GetToolReferenceResponse" type="ipmpmsg:GetToolReferenceResponseType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

Page 139: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

139

<complexType name="GetToolReferenceResponseType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<sequence maxOccurs="unbounded"><element ref="ipmpinfo:IPMPToolID"/><element name="ToolReference" type="base64Binary"/>

</sequence></sequence>

</extension></complexContent>

</complexType>

Figure 102: The ipmpmsg:GetToolReferenceResponse element

ipmpmsg:GetToolPackDataThe DRM Tool Agent may need Tool Pack Data to initialize the DRM Tool Group or the SingleDRM Tool. This message is sent by the DRM Tool Agent to request the Tool Pack Data.

<element name="GetToolPackData" type="ipmpmsg:GetToolPackDataType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolPackDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent></complexType>

Figure 103: The ipmpmsg:GetToolPackData element

ipmpmsg:ToolPackDataThis message is sent by the DRM Processor to deliver the Tool Pack Data. This message deliversthe following information:

OpaqueData: the information to initialize the DRM Tool Group or the Single DRM Tool. Onlythe proper DRM Tool Agent can parse this information.

<element name="ToolPackData" type="ipmpmsg:ToolPackDataType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="ToolPackDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="opaqueData" type="base64Binary"/>

</sequence></extension>

</complexContent></complexType>

Figure 104: The ipmpmsg:ToolPackData element

Page 140: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

140

3.2.14.4 Messages between the Resource Processor and the DRM Processor

The following table specifies DMP-defined Messages to be exchanged between the ResourceProcessor and a DRM Processor for different purposes. Resource Processors and DRM Processorsonly conformant to the Base profile do not need to know how to process and react upon receivingone of the Messages in the table below. However, this is a requirement for those ResourceProcessors and DRM Processors seeking conformance to the extended profile.

Table 25 – Resource Processor - DRM Processor Messages

DRM Message Purpose ExpectedResponse

ipmpmsg:InitialiseIPMPProcessor Message sent by the Resource Processor tothe DRM Processor conveyinginitialisation data

null

ipmpmsg:GetProtectedAsset Message sent by the DRM Processor to theResource Processor requesting the didl-msaf:ProtectedAsset Representing theGoverned Content Element that needs tobe processed

ipmpmsg:GetProtectedAssetResponse

ipmpmsg:GetProtectedAssetResponse Message sent by the Resource Processor toa DRM Processor conveying the requesteddidl-msaf:ProtectedAsset

null

ipmpmsg:GetRightsData Message sent by the DRM Processor to theResource Processor requesting all Licensesavailable for specific Content Elements

ipmpmsg:RightsData

ipmpmsg:NotifyIPMPProcessorEvent Message sent by the DRM Processor to theResource Processor to indicate an eventhas occurred

null

ipmpmsg:TerminateIPMPProcessor Message sent by the Resource Processor tothe DRM Processor requesting to free allthe allocated resources because the DRMProcessor will be shut down

null

ipmpmsg:InitialiseIPMPProcessorMessage sent by the Resource Processor to the DRM Processor conveying initialisation data. Thismessage delivers the following information:

Which Control Points (and optional ControlPointAddress) are available on the ResourceProcessor

The ipmpinfo IPMPGeneralInfoDescriptor of the Governed Content selected Any number of ipmpdidl:ProtectedAsset on which the DRM Processor needs to operate

<element name="InitialiseIPMPProcessor" type="ipmpmsg:InitialiseIPMPProcessorType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="InitialiseIPMPProcessorType">

<complexContent>

Page 141: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

141

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<sequence minOccurs="0" maxOccurs="unbounded"><element ref="ipmpmsg:ControlPointID"/><element ref="ipmpmsg:ControlPointAddress"

minOccurs="0"/></sequence><element ref="ipmpinfo:IPMPGeneralInfoDescriptor"

minOccurs="0"/><element ref="ipmpdidl:ProtectedAsset" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType>

Figure 105: The ipmpmsg:InitialiseIPMPProcessor element

ipmpmsg:GetProtectedAssetMessage sent by the DRM Processor to the Resource Processor requesting the didl:ProtectedAssetRepresenting the Governed Content Element that needs to be processed. This message is specifiedas in Figure 106:

<element name="GetProtectedAsset" type="ipmpmsg:GetProtectedAssetType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetProtectedAssetType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent></complexType>

Figure 106: The ipmpmsg:GetProtectedAsset element

ipmpmsg:GetProtectedAssetResponseMessage sent by the Resource Processor to a DRM Processor conveying the requesteddidl:ProtectedAsset. This message conveys a number of ProtectedAsset elements in response to aipmpmsg:GetProtectedAsset or in case a ProtectedAsset is received via Streaming

<element name="GetProtectedAssetResponse" type="ipmpmsg:GetProtectedAssetResponseType"/><complexType name="GetProtectedAssetResponseType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element ref="ipmpdidl:ProtectedAsset" maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

Figure 107: The ipmpmsg: GetProtectedAssetResponse element

Page 142: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

142

ipmpmsg:GetRightsDataMessage sent by the DRM Processor to the Resource Processor requesting all Licenses available forspecific Content Elements. This Message contains the following information:

The Content ID/Resource ID whose associated Licenses are sought

<element name="GetRightsData" type="ipmpmsg:GetRightsDataType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetRightsDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element ref="dii:Identifier" maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

Figure 108: The ipmpmsg:GetRightsData element

ipmpmsg:NotifyIPMPProcessorEventMessage sent by the DRM Processor to inform the events such as an error or status of the DRMProcessor. NotifyDRMProcessorEvent message extends the Data_BaseClass Type by conveying:

The result of the User Query validation conveyed by the ipmpmsg:EventType.

<element name="NotifyIPMPProcessorEvent" type="ipmpmsg:NotifyIPMPProcessorEventType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="NotifyIPMPProcessorEventType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element ref="ipmpmsg:EventType" maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

Figure 109: The ipmpmsg:NotifyIPMPProcessorEvent elementPossible event types are included in Table 20 – Event types.ipmpmsg:TerminateIPMPProcessorMessage sent by the Resource Processor to the DRM Processor requesting to free all the allocatedresources because the DRM Processor will be shut down.This message is specified as in Figure 110:

<element name="TerminateIPMPProcessor" type="ipmpmsg:TerminateIPMPProcessorType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

Page 143: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

143

<complexType name="TerminateIPMPProcessorType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"/></complexContent>

</complexType>

Figure 110: The ipmpmsg:TerminateIPMPProcessor element

3.2.15 Represent Authentication Messages

This specification defines two Messages to establish Authentication between two Entities. These are:ipmpmsg:InitAuthentication and ipmpmsg:MutualAuthentication.

The use of the Messages described in this section is mandated for local environments (e.g. theestablishment of Mutual Authentication between the DRM Processor and any DRM Tool). Otherauthentication technologies may be used to achieve Mutual Authentication in other environments(e.g. the establishment of Mutual Authentication between two Devices communicating over IPnetworks may very well employ other techniques such as SSL/TLS).

The syntax and semantics of these messages is specified in the sub-sections below.

3.2.15.1 InitAuthentication

The ipmpmsg:InitAuthentication Message shall be employed by an entity to initialise the mutualauthentication process with another. The syntax of the Message is specified in Figure 111:

<element name="InitAuthentication" type="ipmpmsg:InitAuthenticationType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="InitAuthenticationType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="ContextID" type="anyURI" minOccurs="0"/><element name="AuthType" type="ipmpmsg:AUTType"/><!--Context ID of the logical instance of the Tool with which mutual

authentication is to be performed--></sequence>

</extension></complexContent>

</complexType>

Figure 111: The ipmpmsg:InitAuthentication MessageThe ipmpmsg:InitAuthentication Message extends the ipmpmsg:Data_BaseClass Type (see Section3.2.14 – Represent DRM Messages) by conveying: ContextID: the local ID of the DRM Tool with which mutually Authentication is to be initialised

(see Section 3.2.14.2.1 - ipmpmsg:ToolMessageBase). This element is used when mutualAuthentication involves two DRM Tools or a DRM Processor and a DRM Tool, or any time thesender knows the URI of the entity it is requesting to Authenticate with.

AuthType: the type of Authentication required, specified in Figure 112:

Page 144: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

144

<simpleType name="AUTType"><restriction base="integer">

<enumeration value="01"/><enumeration value="02"/><enumeration value="03"/><enumeration value="04"/>

</restriction></simpleType>

Figure 112: The ipmpmsg:InitAuthentication Message

The ipmpmsg:AUTType simple type can only be given one of the values listed in Table 26, with thesemantics specified in the right column.

Table 26 – List of available Authentication Request types

01 No Authentication Required02 No ID verify, Do secure channel03 Do ID verify, No secure channel04 Do ID verify, Do secure channel

The recipient of a ipmpmsg:InitAuthentication Messages shall reply with aipmpmsg:MutualAuthentication Message as defined in the sub-Section below.

3.2.15.2 MutualAuthentication

The ipmpmsg:MutualAuthentication is employed by two entities (e.g. the DRM Processor and aDRM Tool) for the purpose of:

1. negotiating the Authentication protocol2. carrying out the agreed upon protocol3. negotiating how the secured communication channel has to be used.

The syntax of the ipmpmsg:MutualAuthentication is specified in Figure 113:

<element name="MutualAuthentication" type="ipmpmsg:MutualAuthenticationType"substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="MutualAuthenticationType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><choice>

<element name="requestNegotiation"type="ipmpmsg:requestNegotiationType"/>

<element name="successNegotiation"type="ipmpmsg:successNegotiationType"/>

<element name="failedNegotiation" type="boolean"fixed="true"/>

Page 145: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

145

</choice><element name="authenticationData" type="hexBinary"

minOccurs="0"/><element name="authCodes" type="ipmpmsg:AuthCodesType"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>

Figure 113: The ipmpmsg:MutualAuthentication element

The ipmpmsg:MutualAuthentication Message extends the ipmpmsg:Data_BaseClass Type (seeSection 3.2.14 – Represent DRM Messages) by conveying: The choice between:

o ipmpmsg:requestNegotiation element, when the Message is employed in the initial phase ofthe Authentication Protocol in reply to a ipmpmsg:InitAuthentication message, to indicatethat the sender is requesting negotiation about an authentication algorithm to be used in thesubsequent communication

o ipmpmsg:successNegotiation element, when the Message is employed to indicate that thenegotiation of an Authentication protocol was successful, and for specifying the selectedprotocol.

o ipmpmsg:failedNegotiation, indicating that no proposed Authentication algorithms aresupported.

ipmpmsg:authenticationData, an optional element specifying data to be used for mutualauthentication and whose value depends on method specific processing

ipmpmsg:authCodes, optional authentication codes to this message.

The syntax of the ipmpmsg:requestNegotiationType complex type is specified in Figure 114:

<complexType name="requestNegotiationType"><sequence>

<element name="candidateAlgorithms"type="ipmpmsg:AlgorithmDescriptorType"/>

</sequence></complexType>

Figure 114: The ipmpmsg:requestNegotiationType complex type

The ipmpmsg:requestNegotiationType complex type conveys the list of Authentication algorithmssupported by means of the ipmpmsg:candidateAlgorithms element. The ipmpmsg:AlgorithmDescriptorType complex type is specified in Figure 115.

<complexType name="AlgorithmDescriptorType"><sequence>

<element name="algoID" type="anyURI" maxOccurs="unbounded"/><element ref="ipmpmsg:opaqueData" minOccurs="0"/>

</sequence>

Page 146: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

146

</complexType>

Figure 115: The ipmpmsg:AlgorithmDescriptorType complex type

Each of the supported Algorithms are characterised by an Identifier of type xsd:anyURI. Optionally,ipmpmsg:opaqueData containing related data to the algorithm can be conveyed.

The syntax of the ipmpmsg:successNegotiationType complex type is specified in Figure 116:

<complexType name="successNegotiationType"><sequence>

<element name="agreedAlgorithms" type="ipmpmsg:AlgorithmDescriptorType"maxOccurs="unbounded"/>

</sequence></complexType>

Figure 116: The ipmpmsg:successsNegotiationType complex type

The ipmpmsg:MutualAuthentication message containing the ipmpmsg:successNegotiation elementis sent by the entity initiating the mutual Authentication process in reply to aipmpmsg:MutualAuthentication message proposing a list of candidate algorithms. Theipmpmsg:agreedAlgorithms element conveys the list of the Authentication algorithms supported,among the ones proposed by the entity that was challenged.

The syntax of the ipmpmsg:AuthCodesType complex type is specified in Figure 117:

<complexType name="AuthCodesType"><sequence>

<element name="certificates" type="dsig:KeyInfoType" maxOccurs="unbounded"/><element name="trustData" type="hexBinary" minOccurs="0"/>

</sequence></complexType>

Figure 117: The ipmpmsg:AuthCodesType complex type

The ipmpmsg:authCodes element conveys`

a number of certificates and/or trust data belonging to the entity involved in the Authenticationprocess

(optional) trust and security data, mostly used when Mutual Authentication involves DRM Tools.

3.2.16 Represent Device Information

This section specifies the Tools used to Represent the technical characteristics of a Device. This canbe used to negotiate between a Device and a DRM Tool Provider for the correct DRM Tools.Represent Device includes information such as type of operating system, memory, CPU, etc., asshown in Figure 118:

<element name="DeviceInformation" type="ipmpinfo-msx:DeviceType"/><complexType name="DeviceType">

Page 147: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

147

<complexContent><extension base="mpeg4ipmp:TerminalIDType">

<sequence><element ref="ipmpinfo-msx:ToolAPI_Config" minOccurs="0"

maxOccurs="unbounded"/><element ref="ipmpinfo-msx:Others" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 118: The ipmpinfo-msx:DeviceInformation element

For the syntax of the elements in the Figure above defined in the mpeg4ipmp namespace, refer toAnnex C.12, while for their semantics refer to [14].

The ipmpinfo-msx:ToolAPI_Config element was originally defined in [14] in a binary format andhas been transferred to the ipmpinfo-msx:ToolAPI_Config as shown here. The syntax of theipmpinfo-msx:ToolAPI_Config element is specified in Figure 119:

<element name="ToolAPI_Config" type="ipmpinfo-msx:ToolAPI_ConfigType"/><complexType name="ToolAPI_ConfigType">

<sequence><element name="Instantiation_API_ID" type="anyURI" minOccurs="0"/><element name="Messaging_API_ID" type="anyURI" minOccurs="0"/><element name="OpaqueData" type="hexBinary" minOccurs="0"/>

</sequence></complexType>

Figure 119: The ipmpinfo-msx:ToolAPI_Config element

This element specifies two identifiers: ipmpinfo-msx:Instantiation_API_ID and ipmpinfo-msx:Messaging_API_ID, both of type xsd:anyURI. These API identifiers serve the followingpurpose.

Instantiation_API_ID: An Identifier that indicates the API for instantiation of the DRM Tool. Messaging_API_ID: An Identifier that indicates the API to pass messages to/from a DRM Tool

A DMP-appointed Registration Authority shall register for different implementations of DRM Toolinstantiation API and DRM Tool messaging API. An optional field ipmpinfo-msx:OpaqueData shallbe used to convey further data from any namespace.

The optional element ipmpinfo-msx:Others is specified in Figure 120:

<element name="Others" type="ipmpinfo-msx:OtherTypes"/><complexType name="OtherTypes">

<sequence><any namespace="##any" processContents="lax"/>

Page 148: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

148

</sequence><attribute name="ref" type="anyURI" use="required"/>

</complexType>

Figure 120: The ipmpinfo-msx:Others element

By employing the optional ipmpinfo-msx:Others element, which can host data from any namespace,further Information about the Device can be specified. Its mandatory attribute 'ref' of typexsd:anyURI specifies the namespace URI of the data.

The elements specified above are defined in Annex C.10 – The Media Streaming IPMPInfoExtensions Schema.

3.2.17 Represent Base Protocol

The Represent Base Protocol namespace, mxmbp, defines a number of elements and complex typescommon to all Protocols.The DomainProtocolBaseType is an abstract base type from which the rest of the elements arederived. This is the following:

<complexType name="ProtocolBaseType" abstract="true"/>

Figure 121: The mxmbp:ProtocolBaseType complex type

A number of elements defined in msdp namespace derive from the following complex type:

<complexType name="ProtocolType"><complexContent>

<extension base="mxmbp:ProtocolBaseType"><sequence>

<element name="TransactionID" type="string"/><element name="Date" type="dateTime" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 122: The mxmbp:ProtocolType complex type

The mxmbp:ProtocolType contains the TransactionID element which is used to track a messageexchange session.Several messages require an acknowledgement to be returned to the sender after a messsage hasbeen received. This is achieved by employing the mxmbp:Ack message specified in Figure 123.

<element name="Ack" type="mxmbp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmbp:ProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

Page 149: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

149

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

Figure 123: The mxmbp:Ack element

The mxmdp:Ack element extends the mxmdp:ProtocolType complex type by specifying a requiredboolean attribute: Result, which shall indicate whether the Protocol was carried out with success orotherwise. The ProtocolResult element specified in Figure 124 may be employed to conveyadditional information.

<element name="ProtocolResult" type="mxmbp:ProtocolResultType"/><complexType name="ProtocolResultType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element name="ResultCode"type="mxmbp:ResultCodeType"/>

<element name="UserDefinedResult" type="string"/></choice><element name="DisplayString" type="string" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><simpleType name="ResultCodeType">

<restriction base="hexBinary"><enumeration value="00"/><enumeration value="01"/><enumeration value="02"/><enumeration value="03"/><enumeration value="04"/><enumeration value="05"/><enumeration value="06"/><enumeration value="07"/>

</restriction></simpleType>

Figure 124: The mxmbp:ProtocolResult element

The mxmbp:ProtocolResult element may either employ the mxmbp:ResultCode element to convey areturn value among a set defined in the MSAF specification, or a custom value. Furthermore, themessage allows conveying a textual value to be displayed to the user as a result of the protocol.

Page 150: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

150

Table 27 – List of available Authentication Request types

00 RESERVED01 OK02 UNKNOWN MESSAGE03 TIMEOUT04 UNABLE_TO_PROCESS05 UNKNOWN_FAILURE06 PERMISSION_DENIED07 BUSY

This message is sent by any entity involved in the Protocols to Manage Domain, with the purpose ofacknowledging an entity involved in the Protocol of the success or failure of the Protocol.

3.2.18 Represent Domain

This Section specifies the elements that enable Domains to be described. The elements part of thissection are defined in the msd and dmp-msdx namespaces, the latter being DMP extensions to theformer.

3.2.18.1 DomainBaseType

The Represent Domain namespace, msd, defines an abstract base type element from which the restof the elements are derived, as follows:

<complexType name="DomainBaseType" abstract="true"/>

Figure 125: The msd:DomainBaseType complex type

The msd namespace defines the following elements:

<element name="DomainManagerID" type="r:KeyHolder"/><element name="AccessPassword" type="string"/><element name="AccessID" type="r:KeyHolder"/><element name="DomainKey" type="xenc:EncryptedKeyType"/><element name="UserID" type="mxmd:IDType"/><element name="DeviceID" type="mxmd:IDType"/><element name="LocalDomainID" type="mxmd:IDType"/><element name="ContentGroupID" type="anyURI"/><element name="MaximumNumberOfDevices" type="unsignedInt"/><element name="MaximumNumberOfUsers" type="unsignedInt"/><element name="MaximumFrequencyOfUpdateDevice" type="duration"/><element name="MaximumFrequencyOfUpdateUser" type="duration"/><element name="Expiration" type="sx:ValidityTimeMetered"/>

Figure 126: Some msmd elements

The semantics for the elements above are as below. The reader is refered to AD2 - TechnicalArchitecture [2] for an overview of the architecture and Device functions and concepts referred tohere.

Page 151: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

151

mxmd:DomainManagerID: the identifier assigned to a Domain Manager Device (DMD) by theDomain Authority.

mxmd:AccessID: the Access ID given to the Domain Administrator mxmd:AccessPassword: the Access Password given to the Domain Administrator mxmd:DomainKey: the Decryption Key for Domain-Encrypted Content Key mxmd:UserID: the Identifier associated with the User, which is of type ipmpinfo-msxp:IDType

(See Figure 127) mxmd:DeviceID: the Identifier associated with the Device, which is of type ipmpinfo-

msxp:IDType (See Figure 127) mxmd: LocalDomainID: The Local Domain Identifier issued by the DID mxmd:ContentGroupID: the Identifier assigned to a group of Content Items for the Management

of Domains mxmd:MaximumNumberOfDevices: the maximum number of Devices allowed in a Domain mxmd:MaximumNumberOfUsers: the maximum number of Users allowed in a Domain mxmd:MaximumFrequencyOfUpdateDevice: the minimum time interval before a Device that

has left a Domain may be allowed to re-join it. mxmd:MaximumFrequencyOfUpdateUser: the minimum time interval before a User who has

left a Domain may be allowed to re-join it. mxmd:Expiration: the expiration date for the Domain membership

3.2.18.2 IDType

The mxmd:IDType complex type contains an Identifier, which can be either of type anyURI andconveyed by the mxmd:id element, or an X.509 certificate, in which case it shall be expressedaccording to the dsig:X509Data element and conformant to RFC 2459 [48].

<complexType name="IDType"><sequence>

<choice><element name="id" type="anyURI"/><element ref="dsig:X509Data" minOccurs="0"/>

</choice></sequence>

</complexType>

Figure 127: The mxmd:IDType complex type

A Domain is established when a Domain Administrator requests a new Domain from a DomainManager Device (DMD). The Protocol for Creating a Domain is given in Section 3.3.3.2.1 – CreateDomain Protocol.The result of this Protocol is the creation by the DMD of a dmp-mxmdx:DomainManageInfoelement specified in Figure 128:

3.2.18.3 DomainManageInfo

<element name="DomainManageInfo" type="dmp-mxmdx:DomainManageInfoType"/><complexType name="DomainManageInfoType">

<complexContent>

Page 152: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

152

<extension base="mxmd:DomainManageInfoType"><sequence>

<element ref="dmp-msdx:RelatedDomainInfo" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><complexType name="DomainManageInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:DACredentials" minOccurs="0"/><element ref="mxmd:DomainMembershipCredentials"

minOccurs="0"/><choice minOccurs="0" maxOccurs="2">

<element ref="mxmd:User"/><element ref="mxmd:Device"/>

</choice><element ref="mxmd:DomainKey"/><element name="Registration" type="dateTime"/><element name="Expiration" type="sx:ValidityTimeMetered"/>

</sequence></extension>

</complexContent></complexType>

Figure 128: The mxmd:DomainManageInfo element

In the above, the following semantics apply. DomainID: a unique Identifier for the Domain, as specified in 3.2.5.7. The mxmd:DACredentials element contains the Domain Administrator Credentials, the ones by

which a Domain Administrator may Create a Domain, Renew a Domain and Delete a Domain The mxmd:DomainMembershipCredentials element contains the Credentials needed by any

Device or User in order to Join a Domain (Add Device and Add User), Renew the membershipto a Domain (Renew Device, Renew User) and Leave a Domain (Leave Device, Leave User)

The mxmd:Registration element indicates the time at which the Domain is created. The mxmd:Expiration element indicates the time at which the Domain expires.

3.2.18.4 DACredentials

The mxmd:DACredentials and mxmd:DomainMembershipCredentials are specified in Figure 129:

<element name="DACredentials" type="mxmd:DomainCredentialType"/><element name="DomainMembershipCredentials" type="mxmd:DomainCredentialType"/><complexType name="DomainCredentialType">

<sequence><element ref="mxmd:AccessID"/>

Page 153: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

153

<element ref="mxmd:AccessPassword"/></sequence>

</complexType>

Figure 129: The mxmdp:DACredentials and mxmdp:DMCredentials elements

3.2.18.5 DomainID

The mxmd:DomainID element is defined as follows:

<element name="DomainID" type="mxmd:DomainIDType"/><complexType name="DomainIDType">

<complexContent><extension base="mxmd:IDType">

<sequence><element ref="mxmd:DomainManagerID"/>

</sequence></extension>

</complexContent></complexType>

Figure 130: The mxmd:DomainID element

This DomainID element shown above conveys an Identifier assigned to a specific Domain. Thiscontains:

the mxmd:DomainManagerID element, an Identifier Assigned by the Domain Authority the choice between two different representations of the Identifier of the Domain assigned by the

Domain Manager Device, as shown in Figure 127.

3.2.18.6 User

The mxmd:User element is defined in Figure 131:

<element name="User" type="mxmd:UserType"/><complexType name="UserType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:UserIDList"/><element ref="mxmd:MaximumNumberOfUsers" minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateUser"

minOccurs="0"/><element ref="mxmd:UserRevocationList" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 131: The mxmd:User element

Page 154: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

154

The mxmd:User element conveys a set of properties associated with Users in a Domain. Thisconveys the following:

the mxmd:UserIDList, as defined in Figure 132 the mxmd:MaximumNumberOfUsers, the maximum number of Users allowed in a Domain the mxmd:MaximumFrequencyOfUpdateUser: the shortest duration permitted between a User

leaving and re-registering with this Domain. Note that the UserID shall not be removed from theUserIDList until after the time indicated in the mxmd:MaximumFrequencyOfUpdateUserelement.

the mxmd:UserRevocationList: the list of Users which are no longer allowed to be members ofthis Domain.

3.2.18.7 UserIDList

The mxmd:UserIDList element is defined in Figure 132:

<element name="UserIDList"><complexType>

<sequence minOccurs="0" maxOccurs="unbounded"><element ref="mxmd:UserID"/><element ref="mxmd:Expiration"/>

</sequence></complexType>

</element>

Figure 132: The mxmd:UserIDList element

This element is used to convey a list of User Identifiers associated with this Domain. Each User hasan expiration time, allocated by the Domain Managed Device at the time of joining the Domain.

3.2.18.8 Device

The mxmd:Device element is defined in Figure 133:

<element name="Device" type="mxmd:DeviceType"/><complexType name="DeviceType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DeviceIDList"/><element ref="mxmd:MaximumNumberOfDevices"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateDevice"

minOccurs="0"/><element ref="mxmd:DeviceRevocationList"/>

</sequence></extension>

</complexContent></complexType>

Figure 133: The mxmd:Device element

Page 155: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

155

The mxmd:Device element shown above conveys the following set of properties associated withDevices in a Domain.

the mxmd:DeviceIDList, as defined in Figure 134 the mxmd:MaximumNumberOfDevices, the maximum number of Devices allowed in a Domain the mxmd:MaximumFrequencyOfUpdateDevice: the shortest duration permitted between a

Device leaving and re-registering with this Domain. the mxmd:DeviceRevocationList: the list of Devices which are no longer allowed to be members

of this Domain.

3.2.18.9 DeviceIDList

The mxmd:DeviceIDList element is defined in Figure 134:

<element name="DeviceIDList"><complexType>

<sequence minOccurs="0" maxOccurs="unbounded"><element ref="mxmd:DeviceID"/><element ref="mxmd:Expiration" />

</sequence></complexType>

</element>

Figure 134: The mxmd:DeviceIDList element

This element is used to convey a list of Device Identifiers associated with this Domain. Each Devicehas an expiration time, allocated by the Domain Managed Device at the time of joining the Domain.

3.2.18.10 RelatedDomainInfo

The dmp-mxmdx:RelatedDomainInfo element is defined in Figure 135:

<element name="RelatedDomainInfo" type="dmp-mxmdx:RelatedDomainInfoType" /><complexType name="RelatedDomainInfoType">

<sequence><element ref="dmp-mxmdx:ParentDomainInfoList" minOccurs="0" /><element ref="dmp-mxmdx:ChildDomainInfoList" minOccurs="0" />

</sequence></complexType>

<element name="ParentDomainInfoList" type="dmp-mxmdx:ParentDomainInfoListType" /><complexType name="ParentDomainInfoListType">

<sequence maxOccurs="unbounded"><element ref="dmp-mxmdx:ParentDomainInfo" />

</sequence></complexType>

<element name="ChildDomainInfoList" type="dmp-mxmdx:ChildDomainInfoListType" /><complexType name="ChildDomainInfoListType">

<sequence maxOccurs="unbounded">

Page 156: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

156

<element ref="dmp-mxmdx:ChildDomainInfo" /></sequence>

</complexType>

Figure 135: dmp-mxmdx:RelatedDomainInfo element

This element is used to convey the list of Domain Identifier of the Related Domains. The dmp-mxmdx:RelatedDomainInfo is composed of two element: ParentDomainInfoList andChildDomainInfoList.

ParentDomainInfoList: the list of ParentDomainInfo elements. ParentDomainInfo: the information about a parent Domain of the Domain under consideration,

which possesses or issues the ParentDomainInfo ChildDomainInfoList: the list of ChildDomainInfo element. ChildDomainInfo: the information about a child Domain of the Domain under consideration,

which possesses or issues the ParentDomainInfo

3.2.18.11 ParentDomainInfo

The dmp-mxmdx: ParentDomainInfo is defined in Figure 136:

<element name="ParentDomainInfo" type="dmp-mxmdx:ParentDomainInfoType" /><complexType name="ParentDomainInfoType">

<complexContent><extension base="msd:DomainBaseType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:DomainKey"/><element ref="mxmd:DomainMembershipCredentials"

minOccurs="0"/><element ref="mxmd:Expiration"/><element ref="mxmd:MaximumFrequencyOfUpdateDevice"

minOccurs="0" /><element ref="mxmd:MaximumFrequencyOfUpdateUser"

minOccurs="0" /><element name="GrandParentDomainInfoList" type="dmp-

mxmdx:ParentDomainInfoListType" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>

Figure 136: dmp-mxmdx:ParentDomainInfo element

The dmp-mxmdx: ParentDomainInfo element shown above conveys the following set of propertiesassociated with a Parent Domain:

DomainID: Domain ID to identify the parent Domain of the Domain which possesses or issuesthe ParentDomainInfo.

Page 157: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

157

DomainKey: Domain key of the parent Domain of the Domain under consideration, whichpossesses or issues the ParentDomainInfo. This is delivered to a member of the Domain whenthe member acquires or renews its Domain membership.

DomainMembershipCredentials: Domain membership credentials related to the parent Domainof the Domain under consideration, which possesses or issues the ParentDomainInfo.

Expiration: the expiration period of the parent Domain of the Domain under consideration,which possesses or issues the ParentDomainInfo. When it expires, all Contents directlypossessed by this parent Domain should not be used by the members in the Domain underconsideration.

MaximumFrequencyOfUpdateDevice: maximum frequency of device update related to theparent Domain of the Domain which possesses or issues the ParentDomainInfo. If it's greaterthan mxmd:MaximumFrequencyOfUpdateDevice of the Domain, the domain member devices ofthe Domain shall conform to this value.

MaximumFrequencyOfUpdateUser: maximum frequency of User update related to the parentDomain of the Domain under consideration which possesses or issues the ParentDomainInfo. Ifit's greater than mxmd:MaximumFrequencyOfUpdateUser of the Domain, the domain memberusers of the Domain shall conform to this value.

ParentDomainInfoList: a list of ParentDomainInfo related to the parent Domain of the Domainunder consideration, which possesses or issues the ParentDomainInfo. It includes informationabout the grand parent Domain of the Domain under consideration. Ancestor information can beset recursively.

3.2.18.12 ChildDomainInfo

The dmp-mxmdx: ChildDomainInfo element is defined in Figure 137:

<element name="ChildDomainInfo" type="dmp-mxmdx:ChildDomainInfoType"/><complexType name="ChildDomainInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DomainID"/><sequence>

<element ref="mxmd:DeviceIDList" minOccurs="0"/><element ref="mxmd:UserIDList" minOccurs="0"/>

</sequence><element ref="mxmd:Expiration"/><element ref="dmp-mxmdx:ChildDomainInfoList" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 137: dmp-mxmdx:ChildDomainInfo element

The dmp-mxmdx: ChildDomainInfo element shown above conveys the following set of propertiesassociated with a Parent Domain.

Page 158: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

158

DomainID: Domain ID identifying the child Domain of the Domain which possesses or issuesthe ChildDomainInfo.

DeviceIDList: Device ID List of the child Domain of the Domain under consideration, whichpossesses or issues the ChildDomainInfo. It is used to check if any DeviceID in the list is in themxmd:DeviceRevocationList of this Domain.

UserIDList: User ID List of the child Domain of the Domain under consideration, whichpossesses or issues the ChildDomainInfo. It is used to check if any UserID in the list is in themxmd:UserRevocationList of this Domain.

Expiration: the expiration period of the child Domain of the Domain under consideration whichpossesses or issues the ChildDomainInfo. When it expires, all Contents in this Domain underconsideration should not be used by the members in the child domain.

ChildDomainInfoList: Child Domain Info List related to the child Domain of the Domain underconsideration, which has or issues the ChildDomainInfo. It includes information about the grandchild Domain of the Domain. Descendant information can be set recursively.

3.2.18.13 DomainPublicInfo

The dmp-mxmdx:DomainPublicInfo, defined in Figure 138, contains a set of information that aDMD may disclose to Devices requesting it.

<element name="DomainPublicInfo" type="dmp-mxmdx:DomainPublicInfoType"/><complexType name="DomainPublicInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DomainID"/><choice minOccurs="0" maxOccurs="2">

<element ref="dmp-mxmdx:UserInfo"/><element ref="dmp-mxmdx:Deviceinfo"/>

</choice><element ref="mxmd:DomainKey"/><element name="Registration" type="dateTime"/><element ref="mxmd:Expiration"/>

</sequence></extension>

</complexContent></complexType>

Figure 138: dmp-mxmdx:DomainPublicInfo elementThe dmp-mxmdx:DomainPublicInfo element shown above conveys the following set of propertiesassociated with a Domain:

DomainID: a unique Identifier for the Domain, as specified in 3.2.5.7. UserInfo: the list of all User Information related to the users part of the Domain DeviceInfo: The list of all Device Information of the users part of the Domain DomainKey: the Domain Public Key. Registration: the time at which the Domain is created. Expiration: the time at which the Domain expires.

Page 159: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

159

3.2.18.14 UserInfo

The dmp-mxmdx:UserInfo is defined in Figure 139:

<element name="UserInfo" type="dmp-mxmdx:UserInfoType"/><complexType name="UserInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:UserIDList"/><element ref="mxmd:MaximumNumberOfUsers" minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateUser"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>

Figure 139: dmp-mxmdx:UserInfo element

The dmp-mxmdx:UserInfo element shown above conveys the following set of informationassociated with a Domain:

UserIDList: the list of all User Identifiers currently part of the Domain, as specified in Figure132.

MaximumNumberOfUsers: the maximum number of Users that are allowed to join the Domain MaximumFrequencyOfUpdateUser: the minimum time interval for a User between leaving and

joining the Domain

3.2.18.15 DeviceInfo

The dmp-mxmdx:DeviceInfo is defined in Figure 140:

<element name="DeviceInfo" type="dmp-mxmdx:DeviceInfoType"/><complexType name="DeviceInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DeviceIDList"/><element ref="mxmd:MaximumNumberOfDevices"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateDevice"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>

Figure 140: dmp-mxmdx:DeviceInfo element

Page 160: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

160

The dmp-mxmdx:DeviceInfo element shown above conveys the following set of informationassociated with a Domain:

DeviceIDList: the list of all Device Identifiers currently part of the Domain, as specified inFigure 134.

MaximumNumberOfDevices: The maximum number of Devices that are allowed to join theDomain

MaximumFrequencyOfUpdateDevice: the minimum time interval for a Device between leavingand joining the Domain.

3.2.19 Represent Domain Protocol

This Section specifies the messages exchanged between entities when managing Domains, forinstance when creating a Domain, or when Devices join or leave a Domain. The representation ofthe messages includes a number of Domain Representation namespace elements, msd, described insection [3.2.17] and introduces new elements in the Represent Domain Protocol namespace, msdp,as shown in the figures below. A number of protocols for the exchange of these messages to performDomain management are specified in Section 3.3.3 – Protocols to Manage Domain.

3.2.19.1 DomainProtocolType

The base type for all Domain Protocol messages is defined in Figure 141.

<complexType name="DomainProtocolType"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType>

Figure 141: The mxmdp:DomainProtocolType complex type

3.2.19.2 AuthenticateReq

The mxmdp:AuthenticationReq message is defined in Figure 142.A choice between DACredentials and DomainMembershipCredentials elements (depending onwhether it is the Domain Administrator or a Device/User in the Domain who is requestingauthentication with the DMD) shown above is contained within the message specified in Figure 142.

<element name="AuthenticateReq" type="mxmdp:AuthenticateReqType"/><complexType name="AuthenticateReqType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainID" minOccurs="0"/><choice>

<element ref="mxmd:DACredentials"/><element ref="mxmd:DomainMembershipCredentials"/>

</choice></sequence>

</extension>

Page 161: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

161

</complexContent></complexType>

Figure 142: The mxmdp:AuthenticateReq element

3.2.19.3 Ack

The mxmdp:Ack message, defined in Figure 143, is sent in response to an mxmdp:AuthenticateReqmessage and can also be employed to acknowledge the success of an operation or to convey an errormessage in case of failure.

<element name="Ack" type="mxmdp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

Figure 143: The mxmdp:Ack element

For the semantics of the mxmdp:Ack message, refer to Figure 123: The mxmbp:Ack element

3.2.19.4 LocalDomainIDRequest

The mxmdp:LocalDomainIDRequest message is sent by a Domain Management Device to aDomain Identification Device to request an Identifier for a new Domain.

<element name="LocalDomainIDRequest" type="mxmdp:RequestLocalDomainIDType"/><complexType name="RequestLocalDomainIDType">

<complexContent><extension base="mxmdp:DomainProtocolType"/>

</complexContent></complexType>

Figure 144: The mxmdp:LocalDomainIDRequest element

3.2.19.5 LocalDomainIDResponse

The mxmdp:LocalDomainIDResponse message is a message sent by the Domain IdentificationDevice to the Domain Management Device in response to an mxmdp:LocalDomainIDRequest. If therequest was successful, this message conveys the requested LocalDomainID.

<element name="LocalDomainIDResponse" type="mxmdp:LocalDomainIDResponseType"/><complexType name="LocalDomainIDResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:LocalDomainID"/>

Page 162: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

162

</sequence></extension>

</complexContent></complexType>

Figure 145: The mxmdp:LocalDomainIDResponse element

3.2.19.6 RequestDomainPublicInfo

The dmp-msdpx:RequestDomainManageInfo message is sent by any Device (tipically a LicenseProvider Device or a Content Creation Device) to a Domain Management Device to requestinformation about a specific Domain.

<element name="RequestDomainPublicInfo" type="dmp-msdpx:RequestDomainPublicInfoType"/><complexType name="RequestDomainPublicInfoType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainID"/>

</sequence></extension>

</complexContent></complexType>

Figure 146: The mxmdp:RequestDomainPublicInfo element

This message includes the DomainID, the Identifier of the Domain for which the Device isrequesting information

3.2.19.7 RequestDomainPublicInfoResponse

The mxmdp:RequestDomainPublicInfoResponse message is a message sent by the DomainManagement Device to the Device requesting Domain Public Information.

<element name="RequestDomainPublicInfoResponse" type="dmp-msdpx:RequestDomainPublicInfoResponseType"/><complexType name="RequestDomainPublicInfoResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="dmp-mxmdx:DomainPublicInfo"/>

</sequence></extension>

</complexContent></complexType>

Figure 147: The mxmdp:RequestDomainPublicInfoResponse element

If the request was successful, this message conveys to the requesting Device the dmp-mxmdx:DomainPublicInfo element as described in Figure 138.

Page 163: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

163

3.2.19.8 AddDevice

The mxmdp:AddDevice message is sent by a Device to a Domain Management Device to request tojoin a Domain.

<element name="AddDevice" type="mxmdp:AddDeviceType"/><complexType name ="AddDeviceType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmdp:DeviceID"/><element ref="mxmd:Expiration" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 148: The mxmdp:AddDevice element

This message conveys the Identifier of the Device requesting Domain membership.

3.2.19.9 AddUser

The mxmdp:AddUser message is sent by a User to a Domain Management Device to request to joina Domain.

<element name="AddUser" type="mxmdp:AddUserType"/><complexType name ="AddUserType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:UserID"/><element ref="mxmd:Expiration" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 149: The mxmdp:AddUser element

This message conveys the Identifier of the User requesting Domain membership.

3.2.19.10 RenewDevice

The mxmdp:RenewDevice message above is sent by a Device to a Domain Management Device torequest a renewal of its membership of a Domain.

<element name="RenewDevice" type="mxmdp:RenewDeviceType"/><complexType name="RenewDeviceType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence>

Page 164: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

164

<element ref="mxmd:DeviceID"/><element ref="mxmdp:UseData" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 150: The mxmdp:RenewDevice element

This message conveys the Identifier of the Device requesting the renewal of Domain membership,and the Use Data generated.

3.2.19.11 RenewUser

The mxmdp:RenewUser message above is sent by a User to a Domain Management Device torequest a renewal of the membership of a Domain.

<element name="RenewUser" type="mxmdp:RenewUserType"/><complexType name ="RenewUserType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:UserID"/><element ref="mxmdp:UseData" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 151: The mxmdp:RenewUser element

3.2.19.12 AddDeviceResponse, AddUserResponse, RenewDeviceResponse,RenewUserResponse

The following Messages are sent in Response to mxmdp:AddDevice, mxmdp:AddUser,mxmdp:RenewDevice, mxmdp:RenewUser.

<element name="AddDeviceResponse" type="mxmdp:LicenseResponseType"/><element name="AddUserResponse" type="mxmdp:LicenseResponseType"/><element name="RenewDeviceResponse" type="mxmdp:LicenseResponseType"/><element name="RenewUserResponse" type="mxmdp:LicenseResponseType"/><complexType name="LicenseResponseType">

<complexContent><extension base="mxmbp:ProtocolType">

<sequence><element ref="rel-r:license"/>

</sequence></extension>

</complexContent></complexType>

Page 165: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

165

Figure 152: Messages extending the LicenseResponseType complex type

If the request was successful, the message in response would contain a Domain membership License.An example of a Domain Membership License is provided in Figure 153.

<license><grant>

<keyHolder><info>

<dsig:KeyName>My_EUD_public_key</dsig:KeyName><dsig:KeyValue>

<dsig:RSAKeyValue><dsig:Modulus>01234567</dsig:Modulus><dsig:Exponent>89ABCDEF</dsig:Exponent>

</dsig:RSAKeyValue></dsig:KeyValue>

</info></keyHolder><possessProperty/><m1x:protectedResource>

<digitalResource><nonSecureIndirect URI="urn:foo:domains:5555"/>

</digitalResource><xenc:EncryptedKey>

<xenc:EncryptionMethodAlgorithm="http://www.w3.org/2001/04/xmlenc#rsa1024"/>

<xenc:CipherData><xenc:CipherValue>ABABABAB</xenc:CipherValue>

</xenc:CipherData><xenc:CarriedKeyName>Domain Key encrypted with

My_EUD_public_key</xenc:CarriedKeyName></xenc:EncryptedKey>

</m1x:protectedResource><r:allConditions>

<validityInterval><notBefore>2007-03-01T00:00:00</notBefore><notAfter>2007-04-30T00:00:00</notAfter>

</validityInterval></r:allConditions>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>DMD_Public_Key</dsig:KeyName><dsig:KeyValue>

<dsig:RSAKeyValue><dsig:Modulus>12121212</dsig:Modulus>

Page 166: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

166

<dsig:Exponent>34343434</dsig:Exponent></dsig:RSAKeyValue>

</dsig:KeyValue></info>

</keyHolder></issuer>

</license>

Figure 153: An example of Domain membership License

3.2.19.13 LeaveDevice

The mxmdp:LeaveDevice message is sent from a Device to the DMD to request to be removed froma Domain.

<element name="LeaveDevice" type="mxmdp:LeaveDeviceType"/><complexType name="LeaveDeviceType">

<complexContent><extension base="mxmbp:ProtocolType">

<sequence><element ref="mxmd:DeviceID"/>

</sequence></extension>

</complexContent></complexType>

Figure 154: The mxmdp:LeaveDevice element

3.2.19.14 LeaveUser

The mxmdp:LeaveUser message is sent from a User to the DMD to request to be removed from aDomain.

<element name="LeaveUser" type="mxmdp:LeaveUserType"/><complexType name="LeaveUserType">

<complexContent><extension base="mxmbp:ProtocolType">

<sequence><element ref="mxmd:UserID"/>

</sequence></extension>

</complexContent></complexType>

Figure 155: The mxmdp:LeaveUser element

3.2.19.15 CreateDomain

The following messages are employed by the Domain Administrator to create a new domain andmanaging it.

<element name="CreateDomain" type="mxmdp:CreateDomainType"/><complexType name="CreateDomainType">

Page 167: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

167

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DACredentials"/><element ref="mxmd:Expiration"/><element ref="mxmd:MaximumNumberOfUsers" minOccurs="0"/><element ref="mxmd:MaximumNumberOfDevices"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateUser"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateDevice"

minOccurs="0"/><element ref="mxmd:UserRevocationList" minOccurs="0"/><element ref="mxmd:DeviceRevocationList" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 156: The mxmdp:CreateDomain element

The mxmdp:CreateDomain message is sent from a Domain Administrator to the DMD for askingthe set-up of a new Domain.

3.2.19.16 CreateDomainResponse

In response to a mxmdp:CreateDomain message, the DMD replies with amxmdp:CreateDomainResponse message, as specified in Figure 157:

<element name="CreateDomainResponse" type="mxmdp:CreateDomainResponseType"/><complexType name="CreateDomainResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:DomainMembershipCredentials"/>

</sequence></extension>

</complexContent></complexType>

Figure 157: The mxmdp:CreateDomainResponse element

The mxmdp:CreateDomainResponse conveys the DomainID and theDomainMembershipCredentials to the Domain Administrator, who can make them available to anyDevice or User for allowing them to join the Domain he has just created.

Page 168: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

168

3.2.19.17 RenewDomain

The mxmdp:RenewDomain message is sent from a Domain Administrator to the DMD requestingthe renewal of a Domain when this has expired or is the expiration date is near.

<element name="RenewDomain" type="mxmdp:RenewDomainType"/><complexType name="RenewDomainType">

<complexContent><extension base="mxmbp:ProtocolType">

<sequence><element ref="mxmd:Expiration"/>

</sequence></extension>

</complexContent></complexType>

Figure 158: The mxmdp:RenewDomain element

3.2.19.18 DeleteDomain

The mxmdp:DeleteDomain message above is sent from a Domain Administrator to the DMDrequesting a Domain to be Deleted.

<element name="DeleteDomain" type="mxmdp:DeleteDomainType"/><complexType name="DeleteDomainType">

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent></complexType>

Figure 159: The mxmdp:DeleteDomain element

3.2.19.19 UnLicensedSimultaneousUseNotice

A detailed explanation of the use of the mxmdp:UnlicensedSimultaneousUseNotice is given inSection 3.3.3.1 – Protocols to Detect Simultaneous Usage.

<element name="UnLicensedSimultaneousUseNotice"type="mxmdp:UnLicensedSimultaneousUseNoticeType"/><complexType name="UnLicensedSimultaneousUseNoticeType">

<complexContent><extension base="mxmbp:ProtocolType">

<sequence><element ref="mxmd:UseData" maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

Figure 160: The mxmdp:UnLicensedSimultaneousUseNotice element

Page 169: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

169

3.2.19.20 AddDomainRequest

The AddDomainRequest message is sent by a Domain Administrator to a DMD to request that oneof the Domain it manages is added to another Domain as its child Domain. The AddDomainRequestspecifies the DomainID and the DomainCredentials related to the child Domain to be added to theparent one, as well as the DomainID and the DomainCredentials related to the parent Domain towhich the child Domain is added.

<element name="AddDomainRequest" type="dmp-mxmdpx:DomainRelationType"/><complexType name="DomainRelationType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element name="ChildDomainID" type="mxmd:DomainIDType"/><element name="ChildDomainCredentials"

type="mxmd:DomainCredentialType"/><element name="ParentDomainID" type="mxmd:DomainIDType"/><element name="ParentDomainCredentials"

type="mxmd:DomainCredentialType"/></sequence>

</extension></complexContent>

</complexType>

Figure 161: The dmp-mxmdpx:AddDomainRequest element

3.2.19.21 ConnectChildDomain

The ConnectChildDomain message is sent by the DMD managing the child domain to the DMDmanaging the father Domain if the Domains involved in the AddDomain protocol are not managedby the same DMD. As shown in Figure 162, the ConnectChildDomain contains theChildDomainInfo element conveying information about the Domain that will become child Domain.

<element name="ConnectChildDomain" type="dmp-mxmdpx:ConnectChildDomainType"/><complexType name="ConnectChildDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element name="ParentDomainID" type="msd:DomainIDType"/><element name="ParentDomainCredentials"><element ref="dmp-mxmdx:ChildDomainInfo"/>

</sequence></extension>

</complexContent></complexType>

Figure 162: The dmp-mxmdpx: ConnectChildDomain element

Page 170: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

170

3.2.19.22 ConnectParentDomain

The ConnectParentDomain message is sent in response to a ConnectChildDomainInfo message. Asshown in Figure 163, the ConnectParentDomain conveys the ParentDomainInfo of the requestedDomain in order to share with the DMD managing the child Domain the DomainCredential of theparent Domain.

<element name="ConnectParentDomain" type="dmp-mxmdpx:ConnectParentDomainType"/><complexType name="ConnectParentDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element name="ChildDomainID" type="mxmd:DomainIDType"/><element ref="dmp-mxmdx:ParentDomainInfo"/>

</sequence></extension>

</complexContent></complexType>

Figure 163: The dmp-mxmdpx: ConnectParentDomain element

3.2.19.23 UpdateParentDomain

The UpdateParentDomain message is sent to all DMDs managing a parent Domain whenDomainManageInfo is updated as a result of an AddDomain, LeaveDomain, AddDevice, LeaveDevice, AddUser and LeaveUser protocol. In case of a hierarchy of Domains, UpdateParentDomainmessages are also sent recursively until all parent Domains have been notified.

<element name="UpdateParentDomain" type="dmp-mxmdpx:UpdateParentDomainType"/><complexType name="UpdateParentDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element name="ParentDomainID" type="mxmd:DomainIDType"/><element name="ParentDomainCredentials"

type="mxmd:DomainCredentialType"/><element ref="dmp-mxmdx:ChildDomainInfo"/>

</sequence></extension>

</complexContent></complexType>

Figure 164: The dmp-mxmdpx: UpdateParentDomain element

3.2.19.24 UpdateChildDomain

The UpdateChildDomain message is sent to all DMDs managing a child Domain whenDomainManageInfo is updated as a result of an AddDomain, LeaveDomain, AddDevice, LeaveDevice, AddUser and LeaveUser protocol. In case of a hierarchy of Domains, UpdateChildDomainmessages are also sent recursively until all child Domains have been notified.

<element name="UpdateChildDomain" type="dmp-mxmdpx:UpdateChildDomainType"/>

Page 171: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

171

<complexType name="UpdateChildDomainType"><complexContent>

<extension base="mxmdp:DomainProtocolType"><sequence>

<element name="ChildDomainID" type="mxmd:DomainIDType"/><element name="ChildDomainCredentials"

type="mxmd:DomainCredentialType"/><element ref="dmp-mxmdx:ParentDomainInfo"/>

</sequence></extension>

</complexContent></complexType>

Figure 165: The dmp-mxmdpx: UpdateChildDomain element

3.2.19.25 LeaveDomainRequest

The LeaveDomainRequest message is sent from a DomainAdministrator to the DMD managing achild Domain to indicate that the child Domain has the intention to leave its parent Domain. Thismessage conveys the ChildDomainCredentials and the ParentDomainCredentials needed forauthentication, and it specifies the ParentDomainID and the ChildDomainID of the two Domainsinvolved in the operation.

<element name="LeaveDomainRequest" type="dmp-mxmdpx:DomainRelationType"/>

Figure 166: The dmp-mxmdpx: LeaveDomainRequest element

3.2.19.26 DisconnectDomain

The DisconnectDomain message is sent by the DMD of the child Domain (upon receiving a dmp-mxmdpx:LeaveDomainRequest message from the Domain Administrator) to the DMD of the parentDomain. This message indicates to the DMD managing the parent Domain that from now on theChild Domain will be disconnected.

<element name="DisconnectDomain" type="dmp-mxmdpx: DomainRelationType"/>

Figure 167: The dmp-mxmdpx: DisconnectDomain element

3.2.19.27 ShareDomainRequest

Let D1 be a Domain managed by Domain Management Device DMD-1 and D2 a Domain managedby DMD-2. The dmp-mxmdpx:ShareDomainRequest is sent by the Domain Administrator to eitherDMD-1 or DMD-2 requesting that D1 becomes a child Domain of D2 and at the same time D2becomes a child Domain of D1. Domains can only be shared if there is no pre-existing relationshipbetween the two (e.g. they are connected by means of ancestors or descendents), in order to avoidcircular Domain relationships. Applying ShareDomain between two un-related Domains impliesestablishing a circular relationship between the two, and this is the only exception to the rule above.

<element name="ShareDomainRequest" type="dmp-mxmdpx:DomainRelationType"/>

Figure 168: The dmp-mxmdpx: ShareDomainRequest element

Page 172: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

172

The DMD receiving a dmp-mxmdpx:ShareDomainRequest shall send to the DMD managing theother Domain an dmp-mxmdpx:ShareDomain message as specified below.

3.2.19.28 ShareDomain

Let D1 be a Domain managed by Domain Management Device DMD-1 and D2 a Domain managedby DMD-2. The dmp-mxmdpx:ShareDomain message is sent by the DMD who has received a dmp-mspdx:ShareDomainRequest from the Domain Administrator (e.g. DMD-1) to the DMD managingthe other Domain (e.g. DMD-2) conveying information about the domain it is managing (D1) thatwill be shared with the the other Domain (D2). This message conveys dmp-mxmdx:DomainManageInfo element of the Domain.

<element name="ShareDomain" type="dmp-mxmdpx: ShareDomainType"/><complexType name ="ShareDomainType">

<complexContent><extension base="msmdp:DomainProtocolType">

<sequence><element ref="dmp-mxmdx:DomainManageInfo"/>

</sequence></extension>

</complexContent></complexType>

Figure 169: The dmp-mxmdpx: ShareDomain element

3.2.20 Represent Discovery Protocols

This section specifies the syntax and semantics of the messages used to discover the existence of aDomain or of a specific DMD.

3.2.20.1 DomainDiscoveryRequest

The DomainDiscoveryRequest message specified below is a message broadcast from a User or aDevice for the purpose of finding available DMDs.

<element name="DomainDiscoveryRequest" type="dmp-mxmdpx:DomainDiscoveryRequestType"/><complexType name="DomainDiscoveryRequestType">

<complexContent><extension base="msmdp:DomainProtocolType">

<sequence minOccurs="0" maxOccurs="unbounded"><element name="Condition">

<complexType><choice minOccurs="0" maxOccurs="unbounded">

<element ref="msmd:DomainID"/><element ref="msmd:DeviceID"/><element ref="msmd:UserID"/>

</choice></complexType>

</element>

Page 173: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

173

</sequence></extension>

</complexContent></complexType>

Figure 170: The dmp-mxmdpx:DomainDiscoveryRequest message

The semantics of this message are given below:

Condition: This element specifies the conditions for the discovery. DomainID, DeviceID,UserID can be included as conditions. When the request has more than one Condition elements,those conditions are bound using “or” operation, while all the conditions in the Conditionelement are bound using “and” operation.

DomainID: The Domain Identifiers of the Domain. This element is used when the user or thedevice want to find the DMDs which manage the specified Domains. If a DMD receives theDiscoveryRequest message and it manages the Domains specified in this DomainID parameter,the DMD sends response to the EUD.

DeviceID: The Identifier of a Device. This element is used when the user or the device want tofind the DMDs which manage the Domains that includes the specified Device as a Domainmember.

UserID: The Identifier of a User. This element is used when the user or the device want to findthe DMDs which manage the Domains that includes the specified User as a Domain member.

If no condition is specified, all DMDs receiving DiscoveryRequest will send the response.

3.2.20.2 DomainDiscoveryResponse

The DomainDiscoveryResponse message specified below is sent from a DMD upon receival of admp-mxmdpx:DomainDiscoveryRequest.

<element name="DomainDiscoveryResponse" type="dmp-mxmdpx:DomainDiscoveryResponseType"/><complexType name="DomainDiscoveryResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainManagerID"/><element name="Location" type="anyURI" minOccurs="0"/><element ref="mxmd:DomainID" maxOccurs="unbounded"/>

</sequence><attribute name="DMDStatus" type="dmp-mxmdpx:DMDStatusType"/></extension>

</complexContent></complexType><simpleType name="DMDStatusType">

<restriction base="string"><enumeration value="BUSY"/><enumeration value="READY"/>

Page 174: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

174

</restriction></simpleType>

Figure 171: The dmp-mxmdpx:DomainDiscoveryResponse message

The DomainDiscoveryResponse message specified above is a message sent from the DomainManagement Device to User or End-User Device in order to notify the location of DMD and theDomain information. The DomainDiscoveryResponse is sent when the conditions ofDomainDiscoveryRequest are satisfied. The semantics are given below:

DomainManagerID: The Identifier of the DMD which sends the response. Location: The location of the DMD. Any type of location information can be included, and this

element may be skipped when sending response itself is enough to give the location information. DomainID: The Domain Identifiers managed by the DMD. The Domains are decided according

to the conditions in the request message. DMDStatus: A attribute specifying whether the DMD is able to accept requests.

3.2.21 Represent Use Data

The Representation of Use Data required for the management of Domains is given below. The waymsd:UseData and mxmd:Record elements are employed as described in Section 3.3.3.1 – Protocolsto Detect Simultaneous Usage.

<element name="UseData" type="mxmd:UseDataType"/><complexType name="UseDataType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:Record" minOccurs="0" maxOccurs="unbounded"/>

</sequence></complexType>

Figure 172: The mxmd:UseData element

The mxmd:Record element is given in Figure 173.

<element name="Record" type="mxmd:RecordType"/><complexType name="RecordType">

<sequence><element ref="mxmd:DeviceID"/><element name="StartTime" type="dateTime"/><element name="EndTime" type="dateTime"/><element name="NumberOfContentGroups" type="integer"/><element ref="mxmd:ContentGroupID" minOccurs="0" maxOccurs="unbounded"/><element name="NotificationFlag" type="boolean"/>

</sequence></complexType>

Figure 173: The mxmd:Record element

The semantics for mxmd:Record is given below:

Page 175: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

175

DeviceID: the Identifier of the Device on which the Content Item was Used StartTime: the time the Device started to Use a Content Item belonging to a Content Group EndTime: the time the Device ended Using a Content Item belonging to a Content Group NumberOfContentGroups: the number of Content Groups to which the Content Item being Used

belongs to. Each Content Group may consist of multiple Content Items, where only one ContentItem in a Content Group is allowed to be Used simultaneously.

ContentGroupID: The Content Group Identifier NotificationFlag: a Boolean value set to TRUE when this Use Data record has been notified to

the DMD. The communication of the Use Data to another Device in the Domain doesn't changethe value of this flag in the Use Data.

3.2.22 Represent Access Protocol

This Section specifies the messages exchanged between entities when carrying out Access Protocols,for instance when Accessing Content or Accessing License, as specified in Section 3.3.3.6 –Protocols to Access.

3.2.22.1 Access Protocol Representation Common to EUD and CCD

3.2.22.1.1 AccessProtocolType

The base type for all Domain Protocol messages is defined in Figure 174.

<complexType name="AccessProtocolType" abstract="true"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType>

Figure 174: The msap:AccessProtocolType complex type

3.2.22.1.2 Ack

The msap:Ack message, defined in Figure 175, is used to acknowledge the success of an operationor to convey an error message in case of failure.

<element name="Ack" type="mxmdp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

Figure 175: The mxmdp:Ack element

For the semantics of the mxmdp:Ack message, refer to Figure 123: The mxmbp:Ack element

Page 176: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

176

3.2.22.1.3 ContentIdentifierType

The Represent Access Protocol namespace, msap, defines a complex type namedmsap:ContentIdentifierType which is employed to specify the Content Identifier of a Content Item,or in the case of a Resource, the Content Identifier of the Content Item containing the Resource, andthe Resource Identifier:

<complexType name="ContentIdentifierType"><complexContent>

<extension base="mxmbp:ProtocolBaseType"><sequence>

<element name="ContentIdentifier" type="anyURI"/><element name="ResourceIdentifier" type="anyURI"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>

Figure 176: The msap:ContentIdentifierType complex type

3.2.22.1.4 RequestIPMPToolBody

The RequestIPMPToolBody protocol is intended for use by both the EUD and the CCD devices

<element name="RequestIPMPToolBody" type="msap:RequestIPMPToolBodyType"/><complexType name="RequestIPMPToolBodyType">

<complexContent><extension base="msap:AccessProtocolType">

<sequence><element ref="ipmpinfo:IPMPToolID"/><element ref="ipmpinfo-msx:DeviceInformation"/>

</sequence></extension>

</complexContent></complexType>

Figure 177: The msap:RequestIPMPToolBody element

The msap:RequestIPMPToolBody element is employed by a Device to obtain a DRMToolBody(See section 3.2.9 – Represent ToolBody) from a DRM Tool Provider Device. The semantics isgiven below: ipmpinfo:IPMPToolID: The DRM Tool Identified of the requested DRM Tool Body ipmpinfo-msx:DeviceInformation: Device Information allowing the DRM Tool Provider Device

to send an appropriate DRM Tool Body

3.2.22.1.5 RequestIPMPToolBodyResponse

The msap:RequestIPMPToolBodyResponse element is employed by a DRM Tool Provider Deviceto either Deliver a DRM Tool Body in the message or to convey the location from where the DRMTool Body is available.

Page 177: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

177

<element name="RequestIPMPToolBodyResponse"type="msap:RequestIPMPToolBodyResponseType"/><complexType name="RequestIPMPToolBodyResponseType">

<complexContent><extension base="msap:AccessProtocolType">

<sequence><choice maxOccurs="unbounded">

<element ref="ipmpinfo-msx:ToolBody"/><element name="ToolURL" type="anyURI"/>

</choice></sequence>

</extension></complexContent>

</complexType>

Figure 178: The msap:RequestDRMToolBodyResponse element

3.2.22.2 EUD Access Protocol Representation

The following are intended for communication between the Stationary Audio Visual Device (EUD)and supporting Devices.

3.2.22.2.1 Request Content

A PAV (through the PXD) or a EUD sends the following message to the Content Provider in orderto Access Content:

<element name="RequestContent" type="mxmacp:RequestContentType"/><complexType name="RequestContentType">

<complexContent><extension base="mxmacp:AccessContentProtocolType">

<sequence><element name="ContentIdentifier" type="

mxmbp:ContentIdentifierType"/><element name="MimeType" type="string" minOccurs="0" /><element ref="rel-r:license" minOccurs="0"/><element name="UsageEnvironmentDescription"

type="dia:UsageEnvironmentType" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 179: The mxmacp:RequestContent element

The semantics for the mxmacp:RequestContent message are given below:

Page 178: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

178

ContentIdentifier: The Content ID of the requested Content Item. In the case a specific Resourcepart of a Content item is the target of the request, the ResourceID field part ofContentIdentifierType must specify the Resource Identifier.

MimeType: The Mime Type of the requested content4. The following values are supported:1. application/mp21 – The DCF is requested2. application/xml – The DCI is requested

license: an optional License indicating the type of License the entity performing the request isinterested in (where this is applicable)

UsageEnvironmentDescription: The capabilities of the Device on which the Content Item orResource will be rendered

dsig:Signature: an optional digital Signature of the mxmacp:RequestContent message by thePAV or EUD

3.2.22.2.2 Request Content Result

The mxmacp:RequestContentResponse element is sent in response to an mxmacp:RequestContentmessage, and is specified as follows:

<element name="RequestContentResponse" type="msap:RequestContentResponseType"/><complexType name="RequestContentResponseType">

<complexContent><extension base="mxmacp:AccessContentProtocolType">

<sequence><element name="DI" type="didl:DIDLType" minOccurs="0"/><element name="ContentURL" type=" mxmacp:ContentURLType"

minOccurs="0" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="ContentURLType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="MimeType" type="string"/><element name="URL" type="anyURI"/>

</sequence></extension>

</complexContent></complexType>

Figure 180: The mxmacp:RequestContentResponse element

4In the case the target of the request is a specific Content Element (e.g. a Resource) part of the Content Item, the

MimeType element shall contain the specific Resource Mime Type of that Resource.

Page 179: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

179

The RequestContentResponse message may convey the DCI in the DI element if this was the targetof the request. The ContentURL element may convey either the remote location from where theContent Item may be obtained, including the information concerning the Mime Type of the Contentitem or Content Element being made available either for download or as a stream5.

<?xml version="1.0" encoding="UTF-8"?><RequestContentResponse>

<mxmbp:TransactionID>3456</mxmbp:TransactionID><ContentURL>

<MimeType>application/mp4</MimeType><URL>rtp://localhost:8888</URL>

</ContentURL><ContentURL>

<MimeType>application/xml</MimeType><URL>http://localhost:9999</URL>

</ContentURL></RequestContentResponse>

Figure 181: The mxmacp:RequestContentResponse element

The figure above shows that the mp4 video is streamed by employing the rtp protocol to port 8888on the requesting Device, while the metadata associated to the requested Resource is streamed byemploying the http protocol to port 9999.

3.2.22.2.3 Request License

A PAV (through the PXD) or a EUD sends the following message to the License Provider in orderto Access License:

<element name="RequestLicense" type="mxmalp:RequestLicenseType"/><complexType name="RequestLicenseType">

<complexContent><extension base="mxmalp:AccessLicenseProtocolType">

<sequence><choice>

<element name="ContentIdentifier"type="mxmbp:ContentIdentifierType"/>

<element name="LicenseID" type="anyURI"/></choice><element ref="rel-r:license" minOccurs="0"/>

<element ref="dsig:Signature" minOccurs="0"/></sequence>

</extension>

5 In the case the target of the request was a Content Element within a Content Item, the response may contain severalContentURL elements in the case the didl-msaf:Item representing the requested Content Element contains differenttypes of information. As an example, Figure 182 shows a possible response obtained in the case a specific Resource towhich streaming metadata is associated was requested:

Page 180: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

180

</complexContent></complexType>

Figure 182: The mxmalp:RequestLicense element

The semantics for the mxmalp:RequestLicense message are given below:

ContentIdentifier: The Content ID or, if a Resource ID is specified in the ContentIdentifierelement, a specific Resource within a Content Item, for which a License is sought.

LicenseID: An Identifier for the sought License. license: an optional License indicating the License that the requesting party is seeking. dsig:Signature: an optional digital Signature of the msap:RequestLicense message.

3.2.22.2.4 Request License Response

The mxmalp:RequestLicenseResponse message is sent in response to a mxmalp:RequestLicensemessage.

<element name="RequestLicenseResponse" type="mxmalp:RequestLicenseResponseType"/><complexType name="RequestLicenseResponseType">

<complexContent><extension base="mxmalp:AccessLicenseProtocolType">

<sequence><choice>

<element ref="rel-r:license"/><element name="ErrorCode"

type="mxmbp:ResultCodeType"/></choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

Figure 183: The mxmalp:RequestLicenseResponse element

The mxmalp:RequestLicenseResponse element is employed by the License Provider to Deliver aLicense, which if present shall be contained in the rel-r:license element. This message may also besigned by the License Provider and the Signature of the message may be conveyed.in thedsig:Signature element.

3.2.22.3 CCD Access Protocol Representation

The following messages are designed for the communication between the Content Creation Device(CCD) and the Tool Provider Device (TPD). The messages defined in this section belong to theDMP Media Streaming Access Protocol Extensions (dmp-msapx) namespace.

3.2.22.3.1 RequestDRMToolsInfoList

Page 181: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

181

The dmp-msapx:RequestDRMToolsInfoList is sent by a CCD to a TPD for requesting the list of allDRM Tool bodies available.

<element name="RequestDRMToolInfoList" type="dmp-msapx:RequestDRMToolInfoList"/><complexType name="RequestDRMToolInfoList">

<complexContent><extension base="msap:AccessProtocolType">

<sequence><element ref="ipmpinfo-msx:DeviceInformation" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 184: The dmp-msapx:RequestDRMToolInfoList element

The msap: RequestDRMToolsInfoList element is employed by the CCD to request to a TPD the listof available DRMTools. The message may contain the information about the CCD hardware andsoftware characteristics in the DeviceInformation element.

3.2.22.3.2 RequestDRMToolsInfoListResponse

The msap: RequestDRMToolsInfoListResponse element is employed by TPD to convey the list ofall the DRMTool Identifiers (including further information) to the CCD.

<element name="RequestDRMToolInfoListResponse" type="dmp-msapx:RequestDRMToolInfoListResponseType"/><complexType name="RequestDRMToolInfoListResponseType">

<complexContent><extension base="mxmaitp:IPMPToolProtocolType">

<sequence><element ref="dmp-msapx:DRMToolInfo" minOccurs="0"

maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><element name="DRMToolInfo" type="dmp-msapx:DRMToolInfoType"/><complexType name="DRMToolInfoType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element ref="ipmpinfo:IPMPToolID" /><element ref="ipmpmsg:ParametricDescription" minOccurs="0"/>

</sequence></extension>

Page 182: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

182

</complexContent></complexType>

Figure 185: The msap:RequestDRMToolInfoListResponse element

For every DRM Tool available, the dmp-msapx:RequestDRMToolInfoListResponse elementconveys the Tool Identifier and a parametric description of the DRM Tool allowing the CCD tochoose the most appropriate DRM Tool(s) from the list.

3.2.23 Represent Device Identifier Protocol

This section specifies the format of the messages employed by a Device when obtaining a DeviceIdentifier from a Device Identification Device. The exchange protocol of these messages betweenthe two devices is specified in Section 3.3.1.1 – Protocols to Identify Device.

3.2.23.1 DeviceIdentifierProtocolType

The base type for all Device Identifier Protocol messages is defined in Figure 186.

<complexType name="DeviceIdentifierProtocolType" abstract="true"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType>

Figure 186: The dmprdip:DeviceIdentifierProtocolType complex type

3.2.23.2 Ack

The dmprdip:Ack message, defined in Figure 187, is used to acknowledge the success of anoperation or to convey an error message in case of failure.

<element name="Ack" type="dmprdip:AckType"/><complexType name="AckType">

<complexContent><extension base="dmprdip:DeviceIdentifierProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

Figure 187: The dmprdip:Ack elementFor the semantics of the dmprdip:Ack message, refer to Figure 123: The mxmbp:Ack element

3.2.23.3 DeviceIDRequest

The dmprdip:DeviceIDRequest message, sent from any Device to a Device Identification Device forthe purpose of obtaining an Identifier, is specified in Figure 188:

<element name="DeviceIDRequest" type="dmprdip:DeviceIDRequestType"/>

Page 183: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

183

<complexType name="DeviceIDRequestType"><complexContent>

<extension base="dmprdip:DeviceIdentifierProtocolType"><sequence>

<element name="VendorID" type="dmprdip:IDType"/><element name="ModelID" type="anyURI"/><element name="SerialNumber" type="anyURI" minOccurs="0"/><element name="DeviceKey" type="dsig:KeyInfoType"

minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="IDType">

<complexContent><extension base="dmprdip:DeviceIdentifierProtocolType">

<sequence><choice>

<element name="id" type="anyURI"/><element ref="dsig:X509Data"/>

</choice></sequence>

</extension></complexContent>

</complexType>

Figure 188: The ipmpinfo-msxp:DeviceIDRequest

The dmpmdi:RequestDeviceID element extends the ipmpinfo-msxp:IdentifierProtocolType, byconveying the following data:

VendorID: An Identifier or Certificate of the Device vendor. ModelID: The Identifier for the Device model. This value is generated and managed by the

Device vendor. SerialNumber: A value of type xsd:anyURI, generated by the Device vendor and registered by

the Device Identification Device. DeviceKey: The Device Public Key for which the DID will possibly provide an X.509

Certificate An optional digital Signature of the message by the Device

3.2.23.4 DeviceIDResponse

If the requesting Device is eligible for a Device Identifier, the Device Identification Device sends tothe requesting device a dmprdip:DeviceIDResponse message as specified in Figure 189:

<element name="DeviceIDResponse" type="dmprdip:DeviceIDResponseType"/><complexType name="DeviceIDResponseType">

Page 184: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

184

<complexContent><extension base="dmprdip:DeviceIdentifierProtocolType">

<sequence><element name="DeviceID" type="dsig:KeyInfoType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 189: The dmprdip:DeviceIDResponse element

The dmprdip:DeviceIDResponse element extends the ipmpinfo-msxp:IdentifierProtocolType, byconveying the following data:

DeviceID, the certificate for the requesting Device, Issued by the DID Signature: the Digital Signature of the whole message

3.2.24 Represent Content Identifier Protocol

This section specifies the payload of the messages employed by a Device (e.g. a Content CreationDevice) to obtain a Content Identifier for a new Content Item from a Content Identification Device(CID, which is likely run by a Content Identification Agency). The exchange protocol of thesemessages between the two devices is specified in Section 0 – Protocol to Identify Content.

3.2.24.1 ContentIdentifierProtocolType

The base type for all Content Identifier Protocol messages is defined in Figure 190.

<complexType name="ContentIdentifierProtocolType" abstract="true"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType>

Figure 190: The mxmicp:ContentIdentifierProtocolType complex type

3.2.24.2 Ack

The dmprcip:Ack message, defined in Figure 191, is used to acknowledge the success of anoperation or to convey an error message in case of failure.

<element name="Ack" type="mxmicp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension>

Page 185: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

185

</complexContent></complexType>

Figure 191: The mxmicp:Ack element

For the semantics of the mxmicp:Ack message, refer to Figure 123: The mxmbp:Ack element

3.2.24.3 IdentifyContentRequest

The dmprcip:IdentifyContentRequest message is specified in Figure 192:

<element name="IdentifyContentRequest" type="mxmicp:IdentifyContentRequestType"/><complexType name="IdentifyContentRequestType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType">

<sequence><element name="DCI" type=" didl:DIDLType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 192: The mxmicp:IdentifyContentRequest element

This message shall include the DCI Representing the new Content Item without any Content IDspecified in the dii:Identifier, as this will be generated and inserted by the CID. This message can bedigitally Signed, and the value of the Signature can be inserted in the dsig:Signature element.

The CID will return an IdentifyContentResponse message in response to the CCD.

3.2.24.4 IdentifyContentResponse

The mxmicp:IdentifyContentResponse message is specified in Figure 193:

<element name="IdentifyContentResponse" type="mxmicp:IdentifyContentResponseType"/><complexType name="IdentifyContentResponseType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType">

<sequence><element name="DCI" type="didl:DIDLType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 193: The mxmicp:IdentifyContentResponse element

The didl-msxip:IdentifyContentResponse message contains the DCI which now includes theContent ID. The DCI conveyed in the response message may have been digitally Signed or Hashed

Page 186: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

186

by the Content Identification Device. Moreover, an optional Digital Signature can be applied to thewhole didl-msxip:IdentifyContentResponse message.

3.2.24.5 RequestContentIdentifier

An alternative means by which a Content Creation Devices may request a new Content Identifier toa Content Identification Device is provided by the mxmicp:RequestContentIdentifier message.

<element name="RequestContentIdentifier" type="mxmicp:RequestContentIdentifierType"/><complexType name="RequestContentIdentifierType">

<complexContent><extension base=" mxmicp:IdentifyContentProtocolType "/>

</complexContent></complexType>

Figure 194: The mxmicp:RequestContentIdentifier element

3.2.24.6 RequestContentElementIdentifier

A Content Creation Device may request an Identifier for a new Content Element (e.g. a Resource) toa Content Identification Device by employing the mxmicp:RequestContentElementIdentifiermessage.

<element name="RequestContentElementIdentifier" type="mxmicp:RequestContentElementIdentifierType"/><complexType name="RequestContentElementIdentifierType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType ">

<sequence><element name="ContentElementSignature"

type="dsig:SignatureType"/></sequence>

</extension></complexContent>

</complexType>Figure 195: The mxmicp:RequestContentElementIdentifier element

The RequestContentElementIdentifier shall convey the digital Signature or Hash value of theContent Element for which an Identifier is Requested to the Content Identification Device.

3.2.24.7 RequestIdentifierResponse

An mxmicp:RequestIdentifierResponse message is sent to a CCD in response to anmxmicp:RequestContentIdentifier or mxmicp:RequestContentElementIdentifier message.

<element name="RequestIdentifierResponse" type="mxmicp:RequestIdentifierResponseType"/><complexType name="RequestIdentifierResponseType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType ">

<sequence>

Page 187: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

187

<element ref="dii:Identifier"/><element ref="dsig:SignedInfo" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType>Figure 196: The mxmicp:RequestIdentifierResponse element

The message conveys the requested Content or Content Element identifier.

3.2.24.8 RegisterIdentifier

The mxmicp:RegisterIdentifier message is sent in response to anmxmicp:RequestIdentifierResponse to convey the digital Signature or Hash value of the IdentifiedDCI to the Content Identification Device together with the Content Identifier received in theRequestIdentifierResponse message previously received.

<element name="RegisterIdentifier" type="mxmicp:RegisterIdentifierType"/><complexType name="RegisterIdentifierType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType ">

<sequence><element ref="dii:Identifier"/><element name="DCISignature" type="dsig:SignatureType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 197: The mxmicp:RegisterIdentifier element

3.2.24.9 AuthenticateContentRequest

Any Device can authenticate a Content Item at any time. For this purpose, the following message isdefined:

<element name="AuthenticateContentRequest" type="mxmaucp:AuthenticateContentRequestType"/><complexType name="AuthenticateContentRequestType">

<complexContent><extension base="mxmaucp:AuthenticateContentProtocolType ">

<sequence><choice>

<element name="DCIInfo" type="mxmaucp:InfoType"/><element name="DCI" type="didl:DIDLType"/>

</choice><element ref="dsig:Signature" minOccurs="0"/>

Page 188: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

188

</sequence></extension>

</complexContent></complexType><complexType name="InfoType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ID" type="anyURI"/><element name="Signature" type="dsig:SignatureType"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>Figure 198: The mxmaucp:AuthenticateContentRequest element

The mxmaucp:AuthenticateContentRequest message conveys a choice between DCI information(the Content ID and an optional DCI Signature) and the whole DCI (conveyed in the didl:DIDLelement). The mxmaucp:AuthenticateContentRequest message can be digitally Signed, and theSignature can be conveyed in the dsig:Signature element.

3.2.24.10 AuthenticateContentElementRequest

Any Device can authenticate a Content Element (e.g. a Resource) at any time. For this purpose, thefollowing message is defined:

<element name="AuthenticateContentElementRequest" type="mxmaucp:AuthenticateContentElementRequestType"/><complexType name="AuthenticateContentElementRequestType">

<complexContent><extension base="mxmaucp:AuthenticateContentProtocolType ">

<sequence><element name="ContentElementInfo" type="mxmaucp:InfoType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 199: The mxmaucp:AuthenticateContentElementRequest elementThe mxmaucp:AuthenticateContentElementRequest message conveys the Content Element ID andthe Content Element Signature.) and the whole DCI (conveyed in the didl:DIDL element). Thedmprcip:AuthenticateContentElementRequest message can be digitally Signed, and the Signaturecan be conveyed in the dsig:Signature element.

Page 189: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

189

3.2.24.11 AuthenticateContentResponse

Upon receiving either an Authenticate Content or Content Element Request message, a CID mayreply by means of the following message

<element name="AuthenticateResponse" type="mxmaucp:AuthenticateResponseType"/><complexType name="AuthenticateResponseType">

<complexContent><extension base="mxmaucp:AuthenticateContentProtocolType ">

<sequence><choice>

<element name="Signature" type="dsig:SignatureType"/><element name="AuthenticationResult" type="boolean"/><element name="ErrorCode" type="

mxmaucp:ErrorCodeType"/></choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><simpleType name="ErrorCodeType">

<restriction base="string"><enumeration value="HASH_MISSING"/><enumeration value="HASH_CORRUPTED"/><enumeration value="CONTENT_ID_MISSING"/><enumeration value="MALFORMED_REQUEST"/><enumeration value="UNKNOWN_CONTENT"/><enumeration value="GENERIC_ERROR"/>

</restriction></simpleType>

Figure 200: The mxmaucp:AuthenticateContentResponse element

The mxmaucp:AuthenticateContentResponse message conveys a choice between

the Signature of either the Content Item or the Content Element (depending on the request made)in the case the task of verifying the Signature or the Hash is made by the requesting Device

the result of the Authentication (in the AuthorisationResult element) in the case theAuthentication was made on the CID. In the case of failure for impossibility of verifying eitherthe Signature or the Hash, an error code is returned.

More information on the use of such messages to Identify and Authenticate Content are given inSections 3.3.1 and 3.3.2

Page 190: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

190

3.2.24.12 QueryCRAu

This Protocol, to be carried out between any Device and a Content Registration Authority (CRAu),enables a Device to request the URL of a specific Content Identification Device that has Issued aspecific Content ID.

The following message is sent by any Device to a Content Identification Device requesting the URLof the Content Identification Device that has Issued the Content Identifier specified in the message.<element name="QueryCRAu" type="dmprcip:QueryCRAuType"/><complexType name="QueryCRAuType">

<complexContent><extension base="dmprcip:ContentIdentifierProtocolType">

<sequence><element name="ContentID" type="anyURI"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 201: The dmprcip:QueryCRAu element

The semantics for the elements contained in a QueryCRAu message is as follows:

ContentID: The Content Identifiers for which the CID who has Issued it is sought Signature: an optional digital Signature for the message

3.2.24.13 QueryCRAuResponse

The dmprcip:QueryCRAuResponse is sent by the Content Registration Authority in response to aQueryCRAu message.

<element name="QueryCRAuResponse" type="dmprcip:QueryCRAuResponseType"/><complexType name="QueryCRAuResponseType">

<complexContent><extension base="dmprcip:ContentIdentifierProtocolType">

<sequence><element name="CIDURL" type="anyURI"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 202: The dmprcip:QueryCRAuResponse elementThe semantics for the elements defined in the figure above is as follows:

CIDURL: The URL of the Content Identifier Device who has Issued the Content ID specified inthe Request

Signature: an optional digital Signature for the message

Page 191: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

191

3.2.25 Represent Store Content Protocol

The Represent Store Content Protocol is performed between a Content Creation Device and aContent Provider Device with the purpose of transferring a Content Item from the former to thelatter.

3.2.25.1 StoreContentProtocolType

The base type for all Store Content Protocol messages is defined in Figure 203.

<complexType name="StoreContentProtocolType" abstract="true"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType>

Figure 203: The mxmscp:StoreContentProtocolType complex type

3.2.25.2 Ack

The mxmscp:Ack message, defined in Figure 204, is used to acknowledge the success of anoperation or to convey an error message in case of failure.

<element name="Ack" type="mxmscp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

Figure 204: The mxmscp:Ack element

For the semantics of the mxmscp:Ack message, refer to Figure 123: The mxmbp:Ack element

3.2.25.3 TransferProtocolRequest

The mxmscp:TransferProtocolRequest message, defined in Figure 205, is sent by a CCD to a CPDfor requesting the permission to Store a new Content Item in the CPD database/file system.

<element name="TransferProtocolRequest" type="mxmscp:TransferProtocolRequestType"/><complexType name="TransferProtocolRequestType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><element name="TransferProtocol"

type="mxmscp:TransferProtocolType" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

Page 192: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

192

</sequence></extension>

</complexContent></complexType><complexType name="TransferProtocolType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element name="StandardProtocol"type="mxmscp:StandardProtocolType"/>

<element name="CustomProtocol"type="mxmscp:CustomProtocolType"/>

</choice></sequence><attribute name="priority" type="int" use="required"/>

</extension></complexContent>

</complexType><complexType name="StandardProtocolType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="Option" type="mxmscp:ProtocolOptionType"

minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="ProtocolCode" type="mxmscp:ProtocolCodeType"

use="required"/></extension>

</complexContent></complexType><complexType name="CustomProtocolType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="Option" type="mxmscp:ProtocolOptionType"

minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="ProtocolCode" type="string" use="required"/>

</extension></complexContent>

</complexType><simpleType name="ProtocolCodeType">

<restriction base="string"><enumeration value="FTP"/><enumeration value="HTTP"/><enumeration value="HTTPS"/>

Page 193: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

193

<enumeration value="OBEX"/><enumeration value="SMB"/><enumeration value="SOAP"/><enumeration value="TCP"/><enumeration value="UDP"/>

</restriction></simpleType><complexType name="ProtocolOptionType">

<simpleContent><extension base="string">

<attribute name="Key" type="string"/></extension>

</simpleContent></complexType>

Figure 205: The mxmscp:TransferProtocolRequest element

The request includes the list of transfer protocols supported by the CCD, each of them characterisedby a priority attribute, an integer whose value is inversely proportional to the intended priority(priority='1' means top priority). By employing the mxmscp:StandardProtocol, it is possible tospecify a specific protocol among a pre-defined list of protocols provided by the ProtocolCodeTypecomplex type. Alternatively, by employing the mxmscp:CustomProtocol, it is possible to specifyprotocols not present in the ProtocolCodeType list. In both cases, it is possible to specify a numberof options (e.g. version, etc.) related to each protocol by means of the ProtocolOptionType complextype.

3.2.25.4 TransferProtocolResponse

The mxmscp:TransferProtocolResponse message, defined in Figure 206, is sent by a CPD to a CCDin response to a mxmscp:TransferProtocolRequest message.

<element name="TransferProtocolResponse" type="mxmscp:TransferProtocolResponseType"/><complexType name="TransferProtocolResponseType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><choice>

<element name="ProtocolResult"type="mxmbp:ProtocolResultType"/>

<element name="AdoptedProtocol"type="mxmscp:TransferProtocolType"/>

</choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

Figure 206: The mxmscp:TransferProtocolResponse element

Page 194: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

194

The response contains a confirmation or a denial of the requested service. In the former case, theResult attribute is set to true, and by means of the ProtocolOptionType complex type, furtherprotocol options may be specified. In the latter case, the Result attribute is set to false and theProtocolResult element conveys the reason of failure.

3.2.25.5 ContentUploadRequest

The mxmscp:ContentUploadRequest message, defined in Figure 207, is sent by a CCD to a CPDafter receiving a positive mxmscp:TransferProtocolResponse message by the CPD.

<element name="ContentUploadRequest" type="mxmscp:ContentUploadRequestType"/><complexType name="ContentUploadRequestType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><element name="ContentInfo" type="mxmscp:ContentInfoType"

minOccurs="0" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="ContentInfoType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element name="DCF" type="mxmscp:DCFType"/><element name="DCS" type="mxmscp:DCSType"/>

</choice></sequence>

</extension></complexContent>

</complexType><complexType name="DCFType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ContentID" type="anyURI"/><element name="Size" type="long"/><element name="ContentSignature" type="dsig:SignatureType"/>

</sequence></extension>

</complexContent></complexType><complexType name="DCSType">

Page 195: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

195

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element ref="didl:DIDL"/><element name="ContentID" type="anyURI"/>

</choice><element ref="bbl:BBL" minOccurs="0"/><element name="ResourceInfo" type="mxmscp:ResourceInfoType"

minOccurs="0" maxOccurs="unbounded"/><element name="DIFragment" type="string" minOccurs="0"

maxOccurs="unbounded"/></sequence><attribute name="DIFragmentsPending" type="boolean" use="optional"

default="false"/></extension>

</complexContent></complexType><complexType name="ResourceInfoType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ResourceID" type="anyURI"/><element ref="bbl:BBL" minOccurs="0"/><element name="Size" type="long"/><element name="ResourceSignature" type="dsig:SignatureType"/>

</sequence></extension>

</complexContent></complexType>

Figure 207: The mxmscp:ContentUploadRequest element

The mxmscp:ContentUploadRequest message is employed to transmit to the CPD the informationabout the Content to Store. The Content Item to Store may be of two types:

DCF: in this case the CCD conveys the following information:o The Content IDo The size of the DCF fileo The digital Signature or hash value of the DCF

DCS: in this case the CCD conveys the following information:o A choice between

The DCI – The first time this message is sent, the DCI shall be sent. If it isintended not to Store all the Resources in a Content Item at the same time, for thesubsequent times the DCI may be omitted and replaced with the Content ID

Page 196: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

196

The Content ID – When a mxmscp:ContentUploadRequest message for a ContentItem has already been sent once, and only additional Resources part of a ContentItem shall be Stored

o The list of all Resources intended to be Stored. For each Resource the followinginformation is provided: Resource ID Resource Size The digital Resource or Hash value of the Resource.

3.2.25.6 ContentUploadResponse

The mxmscp:ContentUploadResponse message, defined in Figure 208, is sent by a CPD to a CCDin response to an mxmscp:ContentUpload Request message.

<element name="ContentUploadResponse" type="mxmscp:ContentUploadResponseType"/><complexType name="ContentUploadResponseType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><element name="EntityResult" type="mxmscp:EntityResultType"

maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><complexType name="EntityResultType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ContentID" type="anyURI"/><element name="ResourceID" type="anyURI" minOccurs="0"/><choice>

<element name="StoragePath"type="mxmscp:StoragePathType" />

<element name="StorageFailure"type="mxmbp:ProtocolResultType" />

</choice></sequence>

</extension></complexContent>

</complexType><complexType name="StoragePathType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence>

Page 197: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

197

<element name="StorageEntry" type="anyURI" /><element name="EntryInfo" type="mxmscp:ProtocolOptionType"

minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType>

Figure 208: The mxmscp:ContentUploadResponse element

The mxmscp:ContentUploadResponse message is employed to transmit to the CCD the informationneeded to Store the Content Item and/or its Resources. If the mxmscp:ContentUploadRequestmessage was successful, this message will convey in element mxmscp:StoragePath the informationrequired to perform the Content upload: the URL to connect for performing the file transfer andeither the Content ID or the Content Element (i.e. Resource) ID conveyed in the EntityID attribute,indicating the corresponding Content/Resource identifier. The mxmscp:StoragePath occurs onlyonce in the case a DCF is Stored, and repeated n times in case of a DCS with n Resources.

3.2.25.7 UploadStatusRequest

The mxmscp:UploadStatusRequest defined in Figure 209, allows a CCD to query for the status of aContent Item or Content Element in the process of being uploaded.

<element name="UploadStatusRequest" type="mxmscp:UploadStatusRequestType"/><complexType name="UploadStatusRequestType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><element name="ContentID" type="anyURI"/><element name="ResourceID" type="anyURI" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 209: The mxmscp:UploadStatusRequest element

In the request message it is possible to specify the specific Content Item or Content ElementIdentifier whose upload status is the target of the request.

3.2.25.8 UploadStatusResponse

The mxmscp:UploadStatusResponse messags, defined in Figure 210, conveys the response from aCPD to the CCD related to a mxmscp:UploadStatusRequest about the status of a Content Item orContent Element in phase of uploading.

<element name="UploadStatusResponse" type="mxmscp:UploadStatusResponseType"/><complexType name="UploadStatusResponseType">

<complexContent>

Page 198: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

198

<extension base="mxmscp:StoreContentProtocolType"><sequence>

<element name="UploadStatus" type="mxmscp:UploadStatusType"/><element name="DisplayString" type="string" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><simpleType name="UploadStatusType">

<restriction base="string"><enumeration value="TO_BE_UPLOADED"/><enumeration value="CURRENTLY_IN_UPLOAD"/><enumeration value="SUCCESSFULLY_UPLOADED"/><enumeration value="UNSUCCESSFULLY_UPLOADED"/><enumeration value="CONTENT_UNKNOWN"/><enumeration value="NOT_SPECIFIED"/>

</restriction></simpleType>

Figure 210: The mxmscp:UploadStatusResponse element

The response message contains some information on the status of the Content or Content Elementupload in the mxmbp:ProtocolResult element.

3.2.26 Represent Store License Protocol

This Protocol is intended for communication between CCD and LPD to indicate to the LPD how todeal with Licence requests from SAVs. This protocol communicates type of Licences that can beissued or are not allowed to be issued when msap:RequestLicense [Request License] messages arereceived by an LPD.

3.2.26.1 StoreLicenseProtocolType

The base type for all Store License Protocol messages is defined in Figure 211.

<complexType name="StoreLicenseProtocolType" abstract="true"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType>

Figure 211: The mxmslp:StoreLicenseProtocolType complex type

3.2.26.2 Ack

The mxmslp:Ack message, defined in Figure 212, is used to acknowledge the success of anoperation or to convey an error message in case of failure.

<element name="Ack" type="mxmslp:AckType"/><complexType name="AckType">

<complexContent>

Page 199: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

199

<extension base="mxmslp:StoreLicenseProtocolType"><sequence minOccurs="0">

<element ref="mxmbp:ProtocolResult"/></sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

Figure 212: The mxmslp:Ack elementFor the semantics of the mxmslp:Ack message, refer to Figure 123: The mxmbp:Ack element

3.2.26.3 StoreLicenseRequest

The mxmslp:StoreLicenserequest message, defined in Figure 213, is used to send Licenseinformation to the LPD.

<element name="StoreLicenseRequest" type="mxmslp:StoreLicenseRequestType"/><complexType name="StoreLicenseRequestType">

<complexContent><extension base="mxmslp:StoreLicenseProtocolType">

<sequence><element name="ContentItem" type="mxmslp:ItemType"/><element name="ContentElement" type="mxmslp:ItemType"

minOccurs="0" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 213: The mxmslp:StoreLicenseRequest element

A mxmslp:StoreLicenseRequest message conveys the information related to the rights governing aContent Item, conveyed by the ContentItem element of type mxmslp:Item specified in Figure 214.Further on, a mxmslp:StoreLicense message may be digitally Signed.

<complexType name="ItemType"><complexContent>

<extension base="mxmbp:ProtocolBaseType"><sequence>

<element name="ID" type="anyURI"/><element name="License" type="rel-r:License" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType>

Figure 214: The mxmslp:ItemType complex typeAn mxmslp:ItemType complexType conveys the following information:

Page 200: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

200

ID: Either the Content ID or a Content Element ID, depending on the position of the element oftype mxmslp:ItemType in the mxmslp:StoreLicenseRequest message: top level implies ContentID, nested into another element implies ContentElement (e.g. Resource) ID

License: an rel-r:license containing information needed by the LPD to Issue Licenses whenrequests are received (e.g. the decryption Key needed to Access a Protected Content Item).

3.2.27 Represent Payment Protocol

This section specifies the messages part of the DMP Represent Payment Protocol enabling an End-User to obtain a License subject to a transaction being made.

3.2.27.1 PaymentProtocolType

The dmprpp:PaymentProtocolType complex type extends the mxmbp:ProtocolType and it is thebase type for the request and response messages defined in the dmprpp namespace.

<complexType name="PaymentProtocolType" abstract="true"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType>

Figure 215 — The dmprpp:PaymentProtocolType complex type

3.2.27.2 PurchaseRequest

The dmprpp:PurchaseRequest message is sent by an End-User Device to any entity in charge ofdealing with the End User request, typically a merchant server.

<element name="PurchaseRequest" type="dmprpp:PurchaseRequestType"/><complexType name="PurchaseRequestType">

<complexContent><extension base="dmprpp:PaymentProtocolType">

<sequence><element name="Rate" type="rel-sx:Rate" minOccurs="0"/><element name="PaymentInformation"

type="dmprpp:PaymentInformationType" minOccurs="0"/><element name="CashingInformation"

type="dmprpp:PaymentInformationType" minOccurs="0"/><element name="Target" type="dmprpp:TargetType"/><element name="Signature" type="dsig:SignatureType"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>

Figure 216 — The dmprpp:PurchaseRequest element

This message may convey the following information:

Page 201: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

201

Rate: specifying the amount to be paid and the currency. This element may be omitted in thecase the amount is known by the entity or the entities in charge of performing thePaymentRequest.

PaymentInformation: information about the service from which the amount shall be withdrawn.This element may be omitted if this information is known to the entity in charge of performingthe request

CashingInformation: information about the service to which the amount shall be paid. Thiselement may be omitted if this information is known to the entity in charge of performing therequest

Target: the License template(s) or License information item(s) be issued, in case the transactionis successful.

Signature: an optional Digital Signature for message integrity and authentication.

3.2.27.2.1 PaymentInformation

The dmprpp:PaymentInformation element conveys information about the service (service ID andService URL) and the user (user ID and user account ID) performing either the payment or thecashing.

<element name="PaymentInformation" type="dmprpp:PaymentInformationType"/><complexType name="PaymentInformationType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ServiceInformation"

type="dmprpp:ServiceInformationType"/><element name="UserInformation"

type="dmprpp:UserInformationType"/><any namespace="##other" processContents="lax" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="ServiceInformationType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ServiceID" type="anyURI" minOccurs="0"/><element name="ServiceURL" type="anyURI"/>

</sequence></extension>

</complexContent></complexType><complexType name="UserInformationType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="UserID" type="anyURI" minOccurs="0"/>

Page 202: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

202

<element name="UserAccountID" type="anyURI"/></sequence>

</extension></complexContent>

</complexType>

Figure 217 — The dmprpp:PaymentService element

3.2.27.2.2 TargetType

The dmprpp:PaymentProtocolType complex type may convey a number of License templates, eachspecifying the details of a requested license, or a number of LicenseInformation elements. It alsoconveys an identifier for the purchade order being made (OrderNumber).

<complexType name="TargetType"><complexContent>

<extension base="mxmbp:ProtocolBaseType"><sequence>

<choice minOccurs="0" maxOccurs="unbounded"><element name="LicenseTemplate" type="rel-r:License"/><element name="LicenseInformation"

type="dmprpp:LicenseInformationType"/></choice><element name="OrderNumber" type="string"/>

</sequence></extension>

</complexContent></complexType>

Figure 218 — The dmprpp:TargetType complex type

3.2.27.2.3 LicenseInformationType

The dmprpp:LicenseInformationType complex type conveys the identifier of the requested License,and who shall be the Principal in the requested License.

<complexType name="LicenseInformationType"><complexContent>

<extension base="mxmbp:ProtocolBaseType"><sequence>

<element name="LicenseID" type="anyURI"/><element name="Principal" type="dsig:KeyInfoType"/>

</sequence></extension>

</complexContent></complexType>

Figure 219 — The dmprpp:LicenseInformationType complex type

Page 203: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

203

3.2.27.3 PurchaseResponse

The dmprpp:PurchaseResponse message is sent to an End-User Device in response to aPurchaseRequest message, thus specifying the same OrderNumber.

<element name="PurchaseResponse" type="dmprpp:PurchaseResponseType"/><complexType name="PurchaseResponseType">

<complexContent><extension base="dmprpp:PaymentProtocolType">

<sequence><choice>

<element name="PurchaseSuccess"type="dmprpp:PurchaseSuccessType"/>

<element name="PurchaseFailure"type="dmprpp:PurchaseFailureType"/>

</choice><element name="OrderNumber" type="string"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 220 — The dmprpp:PurchasetResponse element

This message conveys a choice between a PurchaseSuccess element in the case the transaction wascarried out successfully, or a dmprpp:PurchaseFailure element otherwise.

3.2.27.3.1 PurchaseSuccessType

The dmprpp:PurchaseSuccessType complex type conveys an unbounded choice between the URL(s)of the License Service(s) from where License(s) may be requested, or the requested license(s).

<complexType name="PurchaseSuccessType"><complexContent>

<extension base="mxmbp:ProtocolBaseType"><sequence>

<choice maxOccurs="unbounded"><element name="LicenseServiceURL" type="anyURI"/><element name="License" type="rel-r:License"/>

</choice></sequence>

</extension></complexContent>

</complexType>

Figure 221 — The dmprpp:PurchaseSuccessType complex type

3.2.27.3.2 PurchaseFailureType

Page 204: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

204

The dmprpp:PurchaseFailureType complex type conveys an error code providing information aboutthe reason why the transaction was not completed successfully, and optionally a message to bedisplayed to the End User who originated the transaction.

<complexType name="PurchaseFailureType"><complexContent>

<extension base="mxmbp:ProtocolBaseType"><sequence>

<element name="FailureCode"type="dmprpp:PurchaseResponseFailureCodeType"/>

<element name="DisplayString" type="string" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><simpleType name="PurchaseResponseFailureCodeType">

<restriction base="string"><enumeration value="BUYER_SERVICE_UNAVAILABLE"/><enumeration value="SELLER_SERVICE_UNAVAILABLE"/><enumeration value="NOT_ENOUGH_CREDIT_ON_BUYER_ACCOUNT"/><enumeration value="REQUEST_REJECTED_BY_BUYER_SERVICE"/><enumeration value="REQUEST_REJECTED_BY_SELLER_SERVICE"/><enumeration value="BUYER_ACCOUNT_UNKNOWN"/><enumeration value="SELLER_ACCOUNT_UNKNOWN"/><enumeration value="UNKNOWN_ERROR_OCCURRED"/>

</restriction></simpleType>

Figure 222 — The dmprpp:PaymentFailureType complex type

Possible failure code types are defined in the table below:

Failure code DescriptionBUYER_SERVICE_UNAVAILABLE The service from where the amount shall

be withdrawn was unreachableSELLER_SERVICE_UNAVAILABLE The service from where the amount shall

be paid was unreachableNOT_ENOUGH_CREDIT_ON_BUYER_ACCOUNT The account from where the amount shall

be withdrawn did not have a sufficientbalance to complete the transaction

REQUEST_REJECTED_BY_BUYER_SERVICE The request was rejected by the buyerservice

REQUEST_REJECTED_BY_SELLER_SERVICE The request was rejected by the sellerservice

BUYER_ACCOUNT_UNKNOWN The specified buyer account does not existSELLER_ACCOUNT_UNKNOWN The specified seller account does not existUNKNOWN_ERROR_OCCURRED An unknown error occurred

Page 205: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

205

3.2.27.4 PaymentConfirmationRequest

The dmprpp:PaymentConfirmationRequest message is sent by a License provider Device to theservice in charge of handling a dmprpp:PurchaseRequest (e.g. a merchant Server) requesting theconfirmation of a payment.

<element name="PaymentConfirmationRequest"type="dmprpp:PaymentConfirmationRequestType"/><complexType name="PaymentConfirmationRequestType">

<complexContent><extension base="dmprpp:PaymentProtocolType">

<sequence><element name="From" type="dmprpp:PaymentInformationType"/><element name="Rate" type="rel-sx:Rate"/><element name="Target" type="dmprpp:TargetType"

minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Figure 223 — The dmprpp:PaymentConfirmationRequest element

3.2.27.5 PaymentConfirmationResponse

The dmprpp:PaymentConfirmationResponse message is sent to a License provider Device inresponse to a dmprpp:PaymentConfirmationRequest confirming or denying that the requestedpayment was made.

<element name="PaymentConfirmationResponse"type="dmprpp:PaymentConfirmationResponseType"/><complexType name="PaymentConfirmationResponseType">

<complexContent><extension base="dmprpp:PaymentProtocolType">

<sequence><element name="PaymentConfirmationResult"

type="dmprpp:PaymentConfirmationResultType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><simpleType name="PaymentConfirmationResultType">

<restriction base="string"><enumeration value="PAYMENT_SUCCESSFULLY_EXECUTED"/><enumeration value="NO_RECORD_FOR_REQUESTED_PAYMENT"/><enumeration value="SERVICE_TEMPORARILY_UNAVAILABLE"/><enumeration value="UNKNOWN_ERROR_OCCURRED"/>

</restriction>

Page 206: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

206

</simpleType>

Figure 224 — The dmprpp:PaymentConfirmationRequest element

3.2.28 Represent Binary XML

This Tool enables the transformation of XML documents representing any of the Entities in thischapter to a binary format for transmission, processing or storage.

DMP selects the XML binarisation technology called BiM standardised by MPEG-7 part 1 [15] andMPEG-B part 1 [36].

3.2.29 Represent Event Report

The MPEG-21 Event Reproting (ER) technology allows a Content creator to specify, detect and actupon “reportable events”. These may relate either to the usage of a DCI by a device, e.g. Play, or tothe occurrence of events related to the device itself, such as when a device connects to anotherdevice.

A Content creator wishing to have one or more users receive information about reportable eventsadds to the DCI an Event Report Request (ER-R) to specify:

Conditions that must be fulfilled in order for the reportable event to “occur” Information to be reported within an ER when the reportable event occurs Intended recipient(s) of the ER Parameters related to delivery of the ER (e.g. transport mechanism and protocol, delivery timing

constraints, priority, etc.).

The mechanics of the ER technology is the following A device receiving a DCI will parse the DCI and the ER-R The device waits for Events to occur An Event Watchdog checks to see if the Events need to be reported on, according to the ER-R’s

received by the DCI When all event conditions associated with an ER-R have been fulfilled, the device constructs an

ER The device dispatches the resulting ER towards the recipient devices specified by the ER-R

The Event Reporting schema, identified by the prefix “erl”, is provided in Annex C.7 – The EventReporting schema.

3.3 Protocols

3.3.1 Protocols to Identify Entities

This section collects the specification of the Protocols to Identify Entities. This Chapter 3 currentlyspecifies Protocols to Identify Devices. The payload of the messages exchanged between anyDevice and a Device Identification Device are specified in section 3.2.23 – Represent DeviceIdentifier Protocol.

Page 207: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

207

3.3.1.1 Protocols to Identify Devices

The Protocol comprises the protocol to generate a Device Identifier, and the Protocol to request aDevice Identifier, for the two kinds of Device Identification supported:

1. “Device info-based identification” in which a Device Identification Device generates the DeviceIdentifier using some vendor specific information such as vendor ID, model ID or product serialnumber;

2. “Certificate-based identification” in which a X.509 certificate [37] is utilised for DeviceIdentifier. Identifiers are uniquely generated by a Device Identification Device run by aRegistration Agency [5].

A Device Identification Device generates Device Identifiers. If a Device contains recognisedTrusted elements (i.e. Certified Devices) these are Delivered for Storage on the Device.

3.3.1.1.1 Device Info-Based Identification

The ID Generation Protocol is implemented as in Table 27.

Table 28 – ID Generation Protocol for Device Info-Based Identification

Initialization The Device confirms that the DID is ready to communicate between each otherthrough simple ping process

RequestIdentifier

Requestor of Device Identifier sends ipmpinfo-msxp:RequestDeviceID message tothe Device Identification Device (see Figure 188: The ipmpinfo-msxp:DeviceIDRequest).If there is no specific product serial number on the Device, the requestor may omitthe ipmpinfo-msxp:SerialNumber element in the requesting message.

AssignIdentifier

The Device Identification Device verifies the information contained in the ipmpinfo-msxp:RequestDeviceID message. If the verification is successful, the DeviceIdentification Device replies with a ipmpinfo-msxp:DeviceID message (see Figure189: The dmprdip:DeviceIDResponse element )containing a new ipmpinfo-msxp:DeviceIdentifier.If the ipmpinfo-msxp:RequestDeviceID message does not contain a product serialnumber, a newly created product serial number is generated inserted, and therequesting Device shall record this information.

Exceptionhandling

If there is no response from either Device within certain time, an exception handler isinvoked.

Note: For the purpose of backward compatibility with IDP-1, an IDP-3.2 Device IdentificationDevice shall be able to recognise the IDP-1 message for obtaining a Device Identifier in addition tothe IDP-3.2 one. In this case the DID shall respond with an Identifier expressed in the IDP-1 format(14 bytes) according to the IDP-1 specification.

3.3.1.1.2 Certificate-Based Identification

Device A may obtain a Device Identifier from a Device Identification Device (DID) by performingthe following steps:

1) Device A:

Page 208: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

208

a) generates a public/private Key pairb) generates an dmp2rdip:DeviceIDRequest message [3.2.23.3] and inserts the public key in the

DeviceKey elementc) Signs the dmp2rdip:DeviceIDRequest message by employing the Device manufacturer

private Keyd) sends the dmp2rdip:DeviceIDRequest message to the DID

2) The DID, upon receiving the message, performs the following steps:a) Verifies the digital Signature of the request message and the Device characteristics specified

in it.b) If the requesting Device is entitled to obtain the requested Certificate, the DID:

i) Issues an X.509 certificate for Device A's public Keyii) generates an dmp2rdip:DeviceIDResponse message [3.2.24.4] containing the generated

certificate in the DeviceID fieldiii) Sends the dmp2rdip:DeviceIDResponse message to Device A

c) If the requesting Device is not entitled to obtain the requested Certificate, or an error occurs,the DID sends an dmp2rdip:Ack message [3.2.24.2] notifying Device A the failure.

Under the Certificate-based Identification system, the Device Registration Agency has the task ofissuing Device Certificates using a Device Registration Agency Certificate issued by the DeviceRegistration Authority [5].

3.3.1.2 Protocol to Identify Content

The following provide 2 protocols. In the first, the Content Item itself (i.e. the DCI) is sent to theCID from the CCD. In the second only the hash is communicated.

3.3.1.2.1 Identify Content with transfer of DCI

This Protocol specifies how to obtain an identifier for a Content Item from a Content IdentificationDevice (CID) and requires the CCD to send the complete DCI to the CID.

This Protocol is as follows:

1) CCD and CID mutually Authenticate2) The CCD sends to the CID an didl-msxip:IdentifyContentRequest [3.2.24.3];3) The CID4) Assigns a new Content Identifier to the received DCI5) Adds the Identifier to received DCI6) Digitally Signs or otherwise Hashes the received DCI7) Stores the Content ID and the generated Hash value in the CID database8) Returns the modified DCI to requesting party by including it in an

dmprcip:IdentifyContentResponse message [3.2.24.4].

3.3.1.2.2 Identify Content with transfer of Signature/Hash

This Protocol specifies how to obtain an identifier for a Content Item from a Content IdentificationDevice (CID). This protocol requires the CCD to send only the Hash of the Identified DCI to theCID. This Protocol is as follows:

1) CID and CCD mutually Authenticate

Page 209: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

209

2) CCD request a Content Identifier from the CID by sending a dmprcip:RequestContentIdentifier[3.2.24.5]

3) If the request from the CCD can be satisfied, the CIDa) generates the requested Identifierb) generates an dmprcip:RequestIdentifierResponse message containing the Identifier [3.2.24.7]

4) CCDa) Adds the received Identifier to the DCI to be Identifiedb) Computes the hash of the DCI with the Identifier includedc) Sends a dmprcip:RegisterIdentifier message to the CID (See Figure 197: The

mxmicp:RegisterIdentifier element)5) The CID

a) Stores the Identifier together with the Hash in the CID database for future reference.b) Replies with an dmprcip:Ack message to the CCD [3.2.24.2]

3.3.1.3 Protocol to Identify Content Elements

This Protocol specifies how to obtain an identifier for a Content Element (e.g. a media Resource)from a Content Identification Device. This protocol requires the CCD to send the hash value of theContent Element to be Identified. This Protocol is carried out in the following steps:

1) The CCD:a) generates the Hash value or the digital Signature of the Content Element to be Identified and

inserts it in a dmprcip:RequestContentElementIdentifier message [3.2.24.6]b) sends the message to the CID

2) The CID, if the request from the CCD can be satisfieda) generates an Identifierb) stores the Identifier together with the Hash value/digital Signature in the CID databasec) returns an dmprcip:RequestIdentifierResponse message to the CCD [3.2.24.7 ].

3.3.1.4 Protocol to query the Content Registration Authority

The Content Registration Authority (CRAu) is in charge of assigning ranges of Content and ContentElement Identifiers to Registration agencies. Hence, by analysing the Content or Content ElementIdentifier, the CRAu is able to determine the Content Registration Agency that has issued a specificIdentifier. This Protocol specifies how to obtain the URL of the Content Registration Agency (i.e. aCID) that has Issued a certain Content or Content Element Identifier from the CRAu. This Protocolis carried out in the following steps:

1) The Device:a) Generates an dmprcip:QueryCRAu message [Figure 201] containing the Content IDb) sends the message to the CRAu

2) The CRAu:a) if the request from the Device can be satisfied:

i) generates an dmp-rcip:QueryCRAUResponse message [Figure 202] containing the URLof the Content Identification Device that has Issued the Content/Content Element IDgiven in input. The message is optionally signed

ii) sends the message in response to the requesting Device

Page 210: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

210

b) if the request cannot be satisfied, it replies with an mxmbp:Ack message indicating thereason of failure.

3.3.2 Protocols to Authenticate Entities

This section collects the specification of the Protocols to Authenticate Entities, i.e. Protocols torecognise and enable Trust between Entities. This Chapter 3 currently specifies Protocols toAuthenticate Devices.

3.3.2.1 Protocols to Authenticate Device

The Protocols to Authenticate Device are closely related to the Protocols to Identify Device (seeSection 3.3.1.1). This sub-section will provide means to Authenticate Devices for the classes ofDevices: Devices having unique Certificates ("Certificate-based identification”)

3.3.2.1.1 Certificate-based Device Authentication

Each Device has a digital Certificate issued by a Device Identification Device as it was described inthe Protocols to Identify Device sub-Section [3.3.1.1]. This includes secret Data Stored in theDevice, and the corresponding Certificate containing the public Data. If two Devices are identifiedby certificates they can mutually authenticate and/or establish a secure channel using the twomessages ipmpmsg:InitAuthentication and ipmpmsg:MutualAuthentication as defined in 3.2.15 orother means.

The sequence diagram below shows how the two messages are employed to achieve MutualAuthentication, in the case the negotiation of the Authentication algorithms was successful:

Figure 225: Sequence diagram of Authentication Messages exchange

Page 211: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

211

3.3.2.2 Protocol to Authenticate Content

The Protocol to Authenticate Content is employed by any User wishing to verify the authenticity ofa Content Item.

In order to Authenticate a Content Item, the following steps shall be performed:1) The requesting Device (e.g. the EUD):

a) Generate an mxmaucp:AuthenticateContentRequest message [3.2.24.9] containingi) either:

(1) the Content ID of the Content Item to be Authenticated(2) (optionally) the DISignature element containing the hash value of the DCI

ii) or(1) the full DCI Representing the Content Item to be Authenticated

b) Mutually Authenticate with CIDc) Sends the mxmaucp:AuthenticateContentRequest to the CID

2) The CID:a) Parses the received mxmaucp:AuthenticateContentRequest message and if the request can be

satisfied generates an mxmaucp:AuthenticateContentResponse message [3.2.24.11]containing:i) either:

(1) the DISignature for the Content Item (if this exists in the CID database), if themxmaucp:AuthenticateContentRequest contained the ContentID field. TheDISignature may contain either the digital Signature of the DCI, or its Hash valueonly, and the Signature/Hash calculation an verification is left to the requestingDevice.

ii) or:(1) the AuthenticationResult boolean value, if the mxmaucp:AuthenticateContentRequest

contained the whole DCI in the didl:DIDL field. In this case the Signature/Hashcalculation and verification is done on the CID

iii) or:(1) An error code specifying that the requested service could not be performed.

3.3.3 Protocols to Manage Domain

3.3.3.1 Overview

A Domain is set up by a Domain Management Device (DMD) at the request of a DomainAdministrator, a User who is responsible for the Use of Content on all Devices by all Users in theDomain. The Domain is Registered to a Domain Identification Device (DID) which provides anIdentifier, msd:LocalDomainID. The Domain Identifier, msd:DomainID is composed of two parts:the DomainManagerID, and the LocalDomainID provided by the DID.

The DMD originates the Domain Information (msd:DomainManageInfo) and Stores it. For eachDevice or User joining the Domain the DMD will make a License containing the Domain Resource(dmprl:DomainResource) and will Deliver this to the Device or User joining the Domain.

A Device or a User requests a License to Use Content in a Domain from a License Provider Device(LPD). The License, possibly Bundled within the Content, or obtained at a later stage, is then

Page 212: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

212

Delivered to a User or a Device (EUD or PAV, the latter via PXD). To be able to Use Domain-bound Content, a Device or User must verify that the Domain Resource Stored in the Device orstored in the User matches the Domain Resource in the License of the Domain bound Content.

This “Protocols to Manage Domain” section specifies the Domain Management Protocols. Thefunctionality of these Protocols includes:

1. Setting up a Domain described by Domain Information represented in msd:DomainManageInfo .2. Managing Device and User membership of a Domain, i.e. joining, renewing and leaving.3. Managing Domain hierarchies, i.e. adding or removing Domains to/from other Domains, sharing

Domains4. Controlling the Use of Content within the Domain.

DomainManagement

Device

Au then ticateReq

CreateDomain

RenewDomain

DeleteDomain

DACredent ials

DomainAdm in is trator

DomainMembersh ipCreden tials

Ack

DomainIdentif ication

Device

LocalDomain IDRequest

LocalDomain IDResponse

LicenseProviderDevice

Reques tKey

Reques tKeyResponse

EndUserDevice

Ack

L icense(DomainResou rce)AddDevice/AddUser

AuthenticateReq

RenewDevice/RenewUser

LeaveDevice/LeaveUser

DomainMembersh ipCredentials

Ack

Un licensedSimultaneousUseNot ice

User

L icense

AccessL icense

AddDomain

LeaveDomain

ShareDomain

Figure 226 - Schematic Overview of Manage Domain

In summary, the establishment of a Domain is characterised by the following sequence of steps.Note: a more detailed protocol is given in the following sub-section.

1) The Domain Administrator requests the creation of a new Domain2) The DMD creates a new Domain and Registers the Domain with a DID3) A Device or a User join a Domain:

a) Authenticates itself with the DMD

Page 213: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

213

b) Sends the account ID and password to the DMD. (The way account ID and password arecommunicated to the Device or User by the Domain Administrator is not specified by theDMP)

4) The DMD:a) creates a Domain Membership License Granting the Device or User the membership to the

Domain.b) Delivers the Membership License to the Device or User.

The DMD maintains a list of Devices and Users for all registered Domains managed. Every time anew Device or User joins a Domain, the Device Manager adds the DeviceID (msd:DeviceID) orUserID (msd:UserID) to the corresponding Device or User list in msd:DomainManageInfo.

Content Items may be grouped in Content Groups for being managed within Domains. A ContentItem belonging to a Content Group is indicated in a License. Content Groups are employed with thepurpose of managing the simultaneous usage of Content Items within a Domain of Devices or Users,as specified in Section 3.3.3.1 – Protocols to detect simultaneous usage. Multiple Content Group IDsmay appear within a License. Where required, it is possible to limit the number of Content Groupspermitted within a Domain.

Note: In the Protocols below:

the Representation of the messages exchanged is given in Section 3.2.19 Represent DomainProtocol

references to the figures defining the payload of the messages are included where appropriate.

3.3.3.2 Protocols between the Domain Administrator and the DMD

This subsection collects the following Protocols

1) Create Domain Protocol2) Renew Domain Protocol3) Delete Domain Protocol4) AddDomain Protocol5) LeaveDomain Protocol6) ShareDomain Protocol

Note that in order to perform the three Protocols listed above, a Domain Administrator needs toknow the Domain Administrator Credentials, to be included in the mxmdp:AuthenticateReq.

3.3.3.2.1 Create Domain Protocol

This Protocol is initiated when a Domain Administrator requests the creation of a Domain. TheProtocol for creating a Domain is specified below.

1) Domain Administrator and DMD mutually Authenticate (See 3.3.2.1 – Protocols to AuthenticateDevice)

2) Domain Administrator issues mxmdp:CreateDomain and sends it to the DMD [Figure 156]

Page 214: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

214

3) DMD requests a new mxmd:LocalDomainID [Figure 126] to a Domain Identification Device(DoID) by sending an mxmdp:LocalDomainIDRequest message [Figure 144]

4) DoID sends mxmdp:LocalDomainIDResponse [Figure 145] to DMD5) DMD

a) Generates the Domain Key, mxmd:DomainKeyb) Generates mxmd:DomainManageInfoc) Stores mxmd:DomainManageInfod) Sends a mxmdp:CreateDomainResponse [Figure 157] message containing the

mxmd:DomainID and mxmd:DomainMembershipCredentials to the Domain Administrator6) The Domain Administrator may distribute the mxmdp:DomainMembershipCredentials to any

User or Device he would like being part of the Domain.

A Domain Administrator will be given as many pairs of mxmdp:DomainMembershipCredential asthe number of Domains he has requested the membership of.

3.3.3.2.2 Renew Domain Protocol

Renewing a Domain can be invoked after a Domain has expired.

1) Domain Administrator and DMD mutually Authenticate (See 3.3.2.1 – Protocols to AuthenticateDevice)

2) Domain Administrator issues mxmdp:AuthenticateReq [Figure 142].3) DMD returns mxmdp:Ack [Figure 143].4) Domain Administrator issues mxmdp:RenewDomain [Figure 158].5) DMD renews mxmd:DomainManageInfo6) DMD returns mxmdp:Ack [Figure 143] acknowledging the success of the Protocol or otherwise.

3.3.3.2.3 Delete Domain Protoco

The Domain Administrator requests the deletion of a Domain to DMD. The Protocol for deleting aDomain is shown below.

1) Domain Administrator and DMD mutually Authenticate (See 3.3.2.1 – Protocols to AuthenticateDevice)

2) Domain Administrator issues mxmdp:AuthenticateReq [Figure 142].3) DMD returns mxmdp:Ack [Figure 143].4) Domain Administrator issues DeleteDomain [Figure 159]5) DMD deletes Domain6) DMD returns mxmdp:Ack [Figure 143] acknowledging the success of the Protocol or otherwise.

3.3.3.2.4 AddDomain Protocol

Let D1 be a Domain managed by Domain Management Device DMD-1 and D2 a Domain managedby DMD-2, both administered by the same Domain Administrator DA. The AddDomain Protocolallows DA to add one or more Domains (e.g. D1) as a child Domain to another Domain (e.g. D2),the father Domain. The AddDomain Protocol is carried out in the following steps:

1) DA and DMD-1 mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device).2) DA sends an dmp-mxmdpx:AddDomainRequest [Figure 161] to DMD-1

Page 215: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

215

3) DMD-1 verifies that the ChildDomainCredentials specified in the request are valid, and that thetwo Domains are in a condition where such operation is allowed (i.e. the operation will notcreate a domain relation cycle, that is, the D2, the Parent Domain should not be one of thedescendants of D1.). If not, an mxmdp:Ack message with”PERMISSION_DENIED” in theformer case or “UNABLE_TO_PROCESS” in the latter is sent in response to the DomainAdministrator.

4) DMD-1 issues an mxmdp:AuthenticateReq [Figure 142] and sends it to DMD-25) DMD-2 verifies the DomainCredential and replies with an mxmdp:Ack [Figure 143] message

with an “OK” result if the authentication succeded, or with a “PERMISSION_DENIED”result ifthe authentication failed.

6) DMD-1 sends an dmp-mxmdpx:ConnectChildDomain [Figure 162] to DMD-27) DMD-2 examines the DomainManageInfo of D2 and determines whether D1 can be added to D2.

If the conditions are satisfied, DMD-2 adds D1 to the list of child Domains of D2. If not, anmxmdp:Ack message with”UNABLE_TO_PROCESS” is sent to DMD-1.

8) If D2 has one or more parent domain, DMD-2 sends an dmp-mxmdpx:UpdateParentDomain[Figure 164] message to all the DMDs involved.

9) If the response from DMD-2 was successful, DMD-1 adds D2 to the list of Parent Domain in D1.10) If D1 has one or more child domains, DMD-1 creates an dmp-mxmdpx:UpdateChildDomain

[Figure 165] and sends it to all the DMDs involved.11) DMD-1 replies to the DA with an mxmdp:Ack message with an “OK” result if the operation was

carried out successfully, or with UNABLE_TO_PROCESS in case of failure

Note: If DMD-1 and DMD-2 are the same, the steps [4, 6] may be skipped.

3.3.3.2.5 LeaveDomain Protocol

Let D1 be a Domain managed by Domain Management Device DMD-1 and D2 a Domain managedby DMD-2, both administered by the same Domain Administrator DA. Additionally, let D2 be aparent Domain of D1. The LeaveDomain Protocol is performed in order to remove the linksbetween a parent Domain (i.e. D2) and its child Domains (i.e. D1). The LeaveDomain Protocol iscarried out in the following steps:

1) DA and DMD-1 mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device).2) DA sends a dmp-mxmdpx:LeaveDomainRequest [Figure 166] to DMD-13) DMD-1 verifies the DomainCredentials of D1. In case these are incorrect, DMD-1 replies with

an mxmdp:Ack [Figure 143] specifying “PERMISSION_DENIED” and the Protocol ends.4) DMD-1 issues an mxmdp:AuthenticateReq [Figure 142] and sends it to DMD-25) DMD-2 verifies the DomainCredential of Domain 2 and replies with an mxmdp:Ack [Figure 143]

message with an “OK” result if the authentication succeded, or with a“PERMISSION_DENIED”result if the authentication failed.

6) DMD-1 sends a dmp-mxmdpx:DisconnectDomain [Figure 167] to DMD-27) DMD-2:

a) deletes D1 from the list of Child Domains in D2.b) If D2 has one or more parent domain, DMD-2 creates an dmp-

mxmdpx:UpdateParentDomain [Figure 164] and sends it to all the DMDs involved.c) Sends an mxmdp:Ack message with the “OK” result to DMD-1

8) DMD-1a) deletes the D2 from the list of Parent Domains.

Page 216: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

216

b) If D1 has one or more child domains, DMD-1 generates a dmp-mxmdpx:UpdateChildDomain [Figure 165] and sends it to all the DMDs involved.

c) Sends an mxmdp:Ack message specifying an “OK” result to the DomainAdministrator orwith “PERMISSION_DENIED” in case of failure

3.3.3.2.6 ShareDomain Protocol

Let D1 be a Domain managed by Domain Management Device DMD-1 and D2 a Domain managedby DMD-2, both administered by the same Domain Administrator DA. The ShareDomain protocolis initiated by the Domain Administrator with the goal of sharing the information related to twoDomains in such a way that the two behave as a unique Domain. This Protocol is carried out in thefollowing steps:

1) DA mutually Authenticate with either DMD-1 or DMD-2; let’s suppose DMD-1 in this case(See 3.3.2.1 – Protocols to Authenticate Device).

2) DA sends a dmp-mspdx:ShareDomainRequest [Figure 168] to DMD-1.3) DMD1 verifies the Domain Credentials of D1 with the ChildDomainCredentials specified in the

ShareDomainRequest are valid.a) If the verification fails, an mxmdp:Ack [Figure 143] message with

a ”PERMISSION_DENIED” result is sent in response to DA and the Protocol terminates.4) DMD-1 and DMD-2 mutually Authenticate.5) DMD-1 creates a mxmdp:AuthenticateReq [Figure 142] using the ParentDomainCredentials

specified in the ShareDomainRequest and sends it to DMD-2.6) DMD-2 verifies the DomainCredential of Domain 2 with those conveyed in AuthenticateReq.

a) If the verification succeeds, DMD-2 replies to DMD-1 with a mxmdp:Ack [Figure 143]message with an “OK” result, and the Protocol continues from step 7.

b) If the verification fails, DMD-2 replies to DMD1 with an mxmdp:Ack message with a“PERMISSION_DENIED”result. which in turn replies to DA with another mxmdp:Ackmessage with ”PERMISSION_DENIED” and the protocol terminates.

7) DMD-1 creates an dmp-mxmdpx:ShareDomain [Figure 169] and sends it to DMD-2.8) DMD-2:

a) examines the DomainManageInfo of D2 and determines whether D1 can be added to D2 andD2 can be added to D1.i) If the conditions are satisfied, DMD-2 adds D1 to the list of child Domains of D2 and to

the list of parent Domains of D2ii) If not, an mxmdp:Ack message with an ”UNABLE_TO_PROCESS” result is sent to

DMD-1, which in turn replies to DA with another mxmdp:Ack message withan ”UNABLE_TO_PROCESS” result and the protocol terminates.

b) If D2 has one or more parent Domains, DMD-2 creates an dmp-mxmdpx:UpdateParentDomain [Figure 164] and sends it to all the DMDs involved.

c) If D2 has one or more child domains, DMD-2 creates an dmp-mxmdpx:UpdateChildDomain[Figure 165] and sends it to all the DMDs involved except DMD-1.

d) sends an dmp-mxmdpx:ShareDomain [Figure 169] message to DMD-1 in reply.9) DMD-1:

a) adds D2 to the list of child Domains of D1 and to the list of parent Domains of D1.b) If D1 has one or more parent Domain, DMD-1 creates an dmp-

mxmdpx:UpdateParentDomain [Figure 164] message and sends it to all the DMDs involvedexcept DMD2.

Page 217: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

217

c) If D1 has one or more child Domains, DMD-1 creates an dmp-mxmdpx:UpdateChildDomain[Figure 165] and sends it to all the DMDs involved.

d) replies to DA with an mxmdp:Ack message with an “OK” result.

As the result of the ShareDomain protocol, ChildDomainInfo and ParentDomainInfo of the eachother’s Domains are shared.

3.3.3.3 Protocol to acquire Domain public information

This Protocol is initiated by any Device (tipically an LPD or a CCD) with a DMD in order toacquire specific information about a Donain (e.g. how many Devices are part of the Domain, whenis the Domain expiring, what is the Domain Public Key, etc.) so that a decision can be made ofwhether Issuing a License for that Domain, and possibly encrypt any required decryption Key usingthe Domain public Key. This Protocol is carried out in the following steps:

1) DMD and LPD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device)2) LPD issues an dmp-mxmdpx:RequestDomainPublicInfo [Figure 146]3) DMD, if the Device performing the Protocol is entitled to obtain the information it is requesting,

replies with an dmp-mxmdpx:RequestDeviceResponse [Figure 147]4) (optionally) the Device replies with mxmdp:Ack [Figure 124].

3.3.3.4 Protocols between the Device/User and the DMD

This subsection collects the following Protocols

Add Device Protocol Add User Protocol Renew Device Protocol Renew User Protocol Leave Device Protocol Leave User Protocol

Note that in order to perform any of the Protocols listed above, a User or a Device needs to know theDomain Membership Credentials, to be included in the mxmdp:AuthenticateReq.

3.3.3.4.1 Add Device Protocol

A Device may request the DMD to be added to a Domain. Following this request the DMD will addthe Device unless the number of Devices exceeds maximum number of Devices defined inmxmd:Device part of the mxmd:DomainManageInfo. The Protocol for adding a Device is shownbelow.

1) Device and DMD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device)2) Device issues mxmdp:AuthenticateRequest message [Figure 103]3) DMD returns mxmdp:Ack message[Figure 104]4) Device issues mxmdp:AddDevice [Figure 148].5) DMD adds the Device Identifier to the Device list in mxmd:Device [Figure 133] part of

mxmd:DomainManageInfo.

Page 218: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

218

6) DMD sends a mxmdp:AddDeviceResponse to the requesting Device, containing a DomainMembership License Granting the Device the membership to the Domain and possiblycontaining the Domain Key.

7) (Optionally) The Device replies with mxmdp:Ack [Figure 107].8) If the Domain has its parent Domains, the DMD sends mxmdp:UpdateParentDomain messages

to the DMDs which have the parent Domains9) If the Domain has its child Domains, the DMD sends mxmdp:UpdateChildDomain messages to

the DMDs which have the child Domains

Successful execution of the Add Device Protocol adds a new DeviceID to the Device ID list of theDMD.

Figure 227 shows an example of Domain Membership License:

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:dmprl="urn:dmp:idp:Represent:License:2007" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:msd="urn:dmp:idp2:Represent:Domain:2006:02"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:dmp:idp:Represent:License:2007http://www.dmpf.org/schemas/dmprl.xsd">

<grant><keyHolder>

<info><dsig:KeyName>Martin_s_EUD_public_key</dsig:KeyName><dsig:KeyValue>

<dsig:RSAKeyValue><dsig:Modulus>01234567</dsig:Modulus><dsig:Exponent>89ABCDEF</dsig:Exponent>s

</dsig:RSAKeyValue></dsig:KeyValue>

</info></keyHolder><possessProperty/><dmprl:DomainResource>

<msd:DomainID><msd:id>urn:Joji_s_domains:5555</msd:id><msd:DomainManagerID>

<info>

<dsig:KeyName>Joji_s_DomainManager_Certificate</dsig:KeyName></info>

</msd:DomainManagerID>

Page 219: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

219

</msd:DomainID><msd:DomainKey>

<xenc:EncryptionMethodAlgorithm="http://www.w3.org/2001/04/xmlenc#kw-aes128"/>

<xenc:CipherData><xenc:CipherValue>ABABABAB</xenc:CipherValue>

</xenc:CipherData></msd:DomainKey>

</dmprl:DomainResource><r:allConditions>

<validityInterval><notBefore>2007-03-01T00:00:00</notBefore><notAfter>2007-04-30T00:00:00</notAfter>

</validityInterval><sx:territory>

<sx:location><sx:country>IT</sx:country>

</sx:location></sx:territory>

</r:allConditions></grant><issuer>

<keyHolder><info>

<dsig:KeyName>DMD_Public_Key</dsig:KeyName><dsig:KeyValue>

<dsig:RSAKeyValue><dsig:Modulus>12121212</dsig:Modulus><dsig:Exponent>34343434</dsig:Exponent>

</dsig:RSAKeyValue></dsig:KeyValue>

</info></keyHolder>

</issuer></license>

Figure 227: An example of Domain Membership License

3.3.3.4.2 Add User Protocol

A User may request the DMD to be added to a Domain. Following this request the DMD will addthe User unless the number of Users exceeds maximum number of Users defined in msd:User partof mxmd:DomainManageInfo. The Protocol for adding a User is shown below.

1) User and DMD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device)2) User issues mxmdp:AuthenticateReq [Figure 142].3) DMD returns mxmdp:Ack [Figure 107].4) User issues mxmdp:AddUser [Figure 149].

Page 220: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

220

5) DMD adds the User Identifier to the User list in mxmd:User [Figure 131] part ofmxmd:DomainManageInfo.

6) DMD sends a mxmdp:AddUserResponse to the requesting User, containing a DomainMembership License Granting the User the membership to the Domain and posibly containingthe Domain Key. License containing the dmprl:DomainResource to the User

7) The User replies with mxmdp:Ack [Figure 107].8) If the Domain has its parent Domains, the DMD sends mxmdp:UpdateParentDomain messages

to the DMDs which have the parent Domains9) If the Domain has its child Domains, the DMD sends mxmdp:UpdateChildDomain messages to

the DMDs which have the child Domains

Successful execution of the Add Device Protocol adds a new UserID to the User ID list of the DMD.

3.3.3.4.3 Renew Device Protocol

Renewing a Device is invoked when the Domain Membership License for the Device expires. Aftermutual Authentication, the Device sends the mxmdp:RenewDevice message to the DMD with theDevice ID and any Use Data in the Device.

If the DMD does not detect unLicensed simultaneous Use from the Use Data (see 3.3.3.1), the DMDsends a new License containing the new Domain Membership License for the Device with a newexpiration period of the Domain. Otherwise, the DMD applies the policy.

The Protocol for Renewing a Device is shown below.

1) Device and DMD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device)2) Device issues mxmdp:AuthenticateReq [Figure 142]3) DMD returns mxmdp:Ack [Figure 104].4) Device issues mxmdp:RenewDevice [ Figure 150 ]5) If DMD does not detect unLicensed simultaneous Use from the Use Data then DMD:6) issues a new Domain Membership License for the Device7) sends a mxmdp:RenewDeviceResponse to the Device8) Else DMD applies policy and sends a mxmdp:Ack [Figure 104] with attribute "Result" set to

"PERMISSION_DENIED" to the Device9) The Device replies with mxmdp:Ack [Figure 107].10) If the Domain has its parent Domains, the DMD sends mxmdp:UpdateParentDomain messages

to the DMDs which have the parent Domains11) If the Domain has its child Domains, the DMD sends mxmdp:UpdateChildDomain messages to

the DMDs which have the child Domains

3.3.3.4.4 Renew User Protocol

Renewing a User is invoked when the Domain Membership License for a User expires. If theDomain Membership License is renewed, this will include a new Expiration period for the User.

The Protocol for Renewing a User is shown below.

1) User and DMD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device)2) User issues mxmdp:AuthenticateReq [Figure 142].

Page 221: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

221

3) DMD returns mxmdp:Ack [Figure 104].4) User issues mxmdp:RenewUser [Figure 151]5) DMD issues a License containing a new Domain Membership License for the User and sends it

to the User, or applies policy and sends a mxmdp:Ack [Figure 104] with attribute "Result" set to" PERMISSION_DENIED " to the User.

6) The User replies with mxmdp:Ack [Figure 107].7) If the Domain has its parent Domains, the DMD sends mxmdp:UpdateParentDomain messages

to the DMDs which have the parent Domains8) If the Domain has its child Domains, the DMD sends mxmdp:UpdateChildDomain messages to

the DMDs which have the child Domains

3.3.3.4.5 Leave Device Protocol

To leave a Domain, a Device sends a request to the DMD. Following this request the DMD willexclude the requesting Device from the Domain.

1) Device and DMD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device)2) Device issues mxmdp:AuthenticateReq [Figure 142].3) DMD returns mxmdp:Ack [Figure 104].4) Device issues mxmdp:LeaveDevice [Figure 154]5) DMD6) removes Device ID from the mxmd:Device part of mxmd:DomainManageInfo7) replies with mxmdp:Ack [Figure 107] with attribute "Result" indicating whether the requested

operation was successful or otherwise8) If the Domain has its parent Domains, the DMD sends mxmdp:UpdateParentDomain messages

to the DMDs which have the parent Domains9) If the Domain has its child Domains, the DMD sends mxmdp:UpdateChildDomain messages to

the DMDs which have the child Domains10) Device Deletes the Domain Membership License

Successful execution of the Leave Device Protocol erases a Domain Membership License in theDevice and the Device ID in the Device ID list of the DMD.

3.3.3.4.6 Leave User Protocol

A User may request DMD to leave the Domain. Following this request DMD excludes therequesting User from the Domain.

1) User and DMD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device)2) User issues mxmdp:AuthenticateReq [Figure 142].3) DMD returns mxmdp:Ack [Figure 107].4) User issues mxmdp:LeaveUser [Figure 155].5) DMD6) removes User ID from the mxmd:User part of mxmd:DomainManageInfo7) replies with mxmdp:Ack [Figure 107] with attribute "Result" indicating whether the requested

operation was successful or otherwise8) If the Domain has its parent Domains, the DMD sends mxmdp:UpdateParentDomain messages

to the DMDs which have the parent Domains

Page 222: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

222

9) If the Domain has its child Domains, the DMD sends mxmdp:UpdateChildDomain messages tothe DMDs which have the child Domains

10) User Deletes the Domain Membership for the User.

Successful execution of the Leave User Protocol erases the Domain Membership License for theUser in the Device and the User ID in the User ID list of the DMD.

3.3.3.5 Protocols to Detect Simultaneous Usage

Flexible Content Licensing models can be implemented through the use of Content Groups, i.e. a setof Content Items with a common Identifier.

A License for a Content Item or Content Group may be Granted to any Device in a Domain with theCondition that the Content Item belongs to a Content Group. In this case such Content Item can beUsed by as many Devices in the Domain as the number of Content Groups this Content Itembelongs to. In order to verify that this Condition is fulfilled, the DMD and the Devices belonging tothe Domain must have at least intermittent connections, so that the DMD can get the Use Data of theDevices and verify that no simultaneous Use of Content has occurred since the last time the DMDand the Devices were connected. A Trusted clock is clearly also required.

An example of License for a Content Item Identified by "urn:foo:1234" belonging the ContentGroup "content_group_ID_1" is given below:

<r:license><r:grant>

<m1x:identityHolder><m1x:idValue>urn:Joji_s_domains:5555</m1x:idValue>

</m1x:identityHolder><mx:play/><r:digitalResource>

<r:nonSecureIndirect URI="urn:foo:1234"/></r:digitalResource><m2x:simultaneousAccess>

<m2x:count>1</m2x:count><m2x:isPartOf>

<m1x:protectedResource><r:digitalResource>

<r:nonSecureIndirect URI="content_group_ID_1"/></r:digitalResource>

</m1x:protectedResource></m2x:isPartOf>

</m2x:simultaneousAccess></r:grant>

</r:license>Figure 228: An example of License for Content Group Content

Page 223: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

223

Note: Assigning a Content Item to a Content Group implies that this Item cannot be used within theDomain at the same time as other Items of the same Content Group are being used. This mechanismshall not be confused with the m2x:simultaneousAccessCount Condition, which only limits the Useof the Content Item to a number of Devices at a time, irrespective of other Content Items. Settingm2x:simultaneousAccessCount to a specific value is equivalent to a Content Item being in its ownunique group, and therefore having no other items but itself to consider when testing forsimultaneous use. DMP at the moment does not specify a Protocol to enforce such Condition.

This section specifies a Protocol to detect when two Devices belonging to the same Domain Use aContent Item simultaneously.

3.3.3.5.1 Use Data

In order to implement the Simultaneous Usage Detection mechanism, the Device must record UseData on the Device i.e. by adding a record for each Content Use event. Each record consists of amxmd:UseData element defined in Section 3.2.20 ‘Represent Use Data’, and contains theinformation that the Device Identified by mxmd:Device ID Used a Content Item belonging tomxmd:ContentGroupID in the time frame between “Start Time” and “End Time”.If the Device leaves a Domain, the Device must hold the Use Data of that Domain in case it needs torejoin the same Domain. Note that Use Data does not contain the Identifier of the Content Itembeing Used, but rather the ContentGroupID.

3.3.3.5.2 Merging Use Data between Devices

When two or more Devices belonging to the same Domain are connected, each Devices shall mergeits Use Data with those of the other Devices, in order to increase the possibilities that the DMDdiscovers un-Licensed simultaneous Use of Content before a Device connects to renew itsmembership to a Domain.

Each Device adds the Use Data of the other Devices to its Use Data. If this operation causesduplicated records in the Use Data, the duplication will be deleted from the Use Data. If two recordshave the same information except for the value of the Notification Flag element [Figure 173], therecord having NotificationFlag with a "FALSE" value will be overwritten by the record with aNotification Flag set to TRUE. Eventually all Devices will integrate the Use Data of each other.

When the Devices are connected via an unsecure network or server, the Use Data must beexchanged over a secure channel (SAC). See Section 3.3.2.1 – Protocols to Authenticate Device forthe establishment of a SAC.

3.3.3.5.3 Un-Licensed Simultaneous Use

All the Devices in a Domain that simultaneously Used Content Elements part of a Content Itembelonging to a Content Group are considered as having performed un-Licensed Simultaneous Use.This is detected by Devices or DMD through inspection of the Use Data.

If the Use Data has any overlapped records in time then the Devices indicated by the DeviceID inthe overlapped record are considered to have incurred un-Licensed Simultaneous Use. However, if aContent Item is Licensed to more than one ContentGroupID, then the Use is allocated to theContentGroupID that avoids un-Licensed Simultaneous Use. This is assessed at the time the UseData is merged or the totality of Use Data are Delivered to the DMD.

Page 224: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

224

Figure 229 describes how Un-Licensed Simultaneous Use is detected. In this figure, Device A UsesContent1 during the period of time shown by the thick line. Similarly Device B is shown UsingContent2 during the thick line segment of the lower line. In this case, the usage of Content1 onDevice A and the usage of Content2 on Device B occur at the same time, shown by the overlappingof their respective thick line segments. Both Content1 and Content2 are given “CG1” as aContentGroupID. As this ContentGroupID is subject to the rule that only one content item from thegroup shall be Used at any time this is an example of Un-Licensed Simultaneous Use.

Figure 229 also shows Device C Using firstly Content3 and later Content4 during the time shownby the two thick line segments of the Device C timeline. In this case, the usage of Content1 onDevice A and the usage of Content3 on Device C overlap in time. However, Content1 and Content3are given different ContentGroupId values so this case does not violate the rule.

Figure 229 Un-Licensed Simultaneous Use Schematic

The usage of Content2 on Device B and the usage of Content4 on Device C also overlaps in time.As Content4 is given both “CG1” and “CG2” as ContentGroupIDs “CG2” will be chosen in order toavoid unnecessary detection of Un-Licensed Simultaneous Usage.

3.3.3.5.4 Notification to Domain Management Device

Whenever a Device connects to the DMD it notifies the DMD if simultaneous Use has been detected.This is done by employing the mxmdp:UnLicensedSimultaneousUseNotice message[Figure 160],containing all mxmd:UseData elements where an overlapping was detected by the Device. TheDMD replies by sending a mxmdp:Ack [Figure 104] acknowledging the receipt of the message, andapplies its own policy.

Once an un-Licensed Simultaneous Use Notice is sent to DMD the Notification Flag element of therecord in the Use Data is set to “True” by the Device, so that an un-Licensed Simultaneous UseNotice will not be issued again when all the records involved in the simultaneous Use have a ‘True’Notification Flag.

Page 225: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

225

Note: the rel-msaf:validityInterval Condition in the License containing the Domain Resource for theDevice or User is set by the DMD to ensure the Device or the User will renew its Domainmembership with an appropriate frequency. This provides the opportunity for the DMD to receiveun-Licensed Simultaneous Use Notices at the time of Domain renewal. According to policy, theDomain Manager may decide to add the Device ID to the Revocation List.

3.3.3.6 Domain Discovery Protocol

The Domain Discovery Protocol is composed of the DomainDiscoveryRequest and theDomainDiscoveryResponse messages. Figure 230 shows the sequence of Domain discoverymessages exchanged between a Device and a DMD receiving a DomainDiscoveryRequest.

Figure 230. Sample Walkthrough of Domain Discovery

The protocol to discover if any DMD is available, its location is carried out in the following steps:

1. End-User Device broadcasts a DomainDiscoveryRequest message to all devices in the network.a. The DomainDiscoveryRequest message can carry the conditions for the discovery such

as Domain ID, Device ID, User ID, etc. The semantics of each condition is described in[3.2.20.1].

2. DMD receives the DomainDiscoveryRequest message. If the DMD satisfies the conditions inthe DomainDiscoveryRequest message, the DMD sends a DomainDiscoveryResponse[3.2.20.2] with its location and Domain information as a response.

3. End-user Device listens for DomainDiscoveryResponse messages from the DMDs for a pre-defined amount of time.

Page 226: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

226

4. When pre-defined time has elapsed, the End-User Device (or the Domain Administrator)analyzes the received responses and starts to communicate with one or more of the DMDs whohave replied depending on EUD’s choice.

3.3.4 Protocols to Access

This section provides the Protocols to Access Content Elements, namely

Content License DRM Tool

These Content Elements may be Packaged for Delivery as File or Stream for Use by a PAV Device(via PXD) or a EUD Device

For reason of economy of space most of the Protocols to Access Content Elements will be given forthe PAV/PXD case as the EUD case becomes then a particular case where the PAV and the PXD arethe same Device.

Protocols to Access Content Elements as File are based on a transactional Protocol called RemoteAccess Protocol (RAP) that is supported over an existing network protocol (TCP/IP or HTTP in thecase of Internet/WWW access). In terms of security, the RAP uses two security layers:

Application-Level: this corresponds to the messages described in the RAP in this Chapter 3; Network-Level: this is represented by an underlying security Protocol, i.e. the SSLv3/TLSv1

Protocol.

CommunicationLevel Security

ApplicationLevel Security

TCP/IP

SSL/TLS

HTTP

SOAP

Application

TCP/IP

SSL/TLS

HTTP

SOAP

Application

Server Component Server Component

Figure 231 – RAP Security Layers

The Remote Access Protocol is built on top of the following premises:

1. The User has acquired some Permissions to use a Content Item, e.g. via a transaction;2. There is a License Provider responsible for producing and managing Licenses;3. The License is given to an Identified and Authenticated Device that is capable of Parsing the

Licenses and enforce the acquired Rights on the Governed Content;4. Licenses should be protectable against eavesdropping attacks;5. Licenses should be Signed by the License Provider;

Page 227: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

227

6. Content Decryption Keys in a License should be protected;7. Certificate-based Device Identification is used [3.3.1.1.2];8. The License Provider Device can Authenticate a Device;9. When the Device is a PAV, the Function of Accessing Content and License is performed by the

PAV eXternal Device (PXD), otherwise it is the EUD itself.10. Confirmation that a License was received by a PXD is possible (to avoid repudiation attacks).

If a Resource referenced by the DCI is Governed, Licenses or references to Licenses or references toLicense Services are stored in the DCI as specified in 3.2.1.9 – Location of Licenses.

3.3.4.1 Protocol to Access Content

This section specifies the Remote Content Access Protocol (RCAP) employed by a EUD to Requesta Content Item or parts thereof. This protocol is based on the exchange of messages between twobasic components: the EUD and the Content Provider Device (CPD).

The RCAP involves the following steps:

1) EUD and Content Provider Device mutually Authenticate (See 3.3.2.1 – Protocols toAuthenticate Device);

2) EUD:a) generates a msap:RequestContent message [Figure 179] that contains the following elements:

i) The Content ID if the whole Content Item is requested, or the Content ID and ContentElement ID if a Content Element in the Content Item is requested;

ii) The Mime Type of the requested content:(1) application/mp21 if the DCF is requested(2) application/xml if the DCI is requested(3) the Content Element Mime Type (e.g. Resource Mime Type) in the case a Content

Element is requested.iii) An optional License indicating the type of License the entity performing the request is

interested in (where this is applicable)iv) The capabilities of the Device on which the Content Item or Resource will be rendered

b) (Optionally) digitally signs the message and inserts the Signature value in the dsig:Signatureelement. Note that in the PXD case, the PXD asks the PAV Device to Sign the message.

c) Sends the msap:RequestContent message to Content Provider Device;3) The CPD:

a) Verifies that the digital Signature is validb) Verifies that the Content ID and the Content Element ID (the latter only if present) are valid

and available in the Content Provider Device database/file system.i) Determines whether the target of the request is the whole Content Item (in which case the

Mime Type parameter will tell whether the target of the request is the DCI or the DCF)or a specific Resource, in which case the Resource will be streamed to the requestingDevice.

c) (Optionally) performs the Protocol with the License Provider Device to asks the LicenseProvider Device whether there is a License for the specific Content ID, PAV Device IDand/or Domain (e.g. because the transaction has been previously completed between a Userand a License Provider). If a License is obtained, this is Bundled within the DCI

Page 228: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

228

d) If the UsageEnvironmentDescription parameter contains a valid Usage EnvironmentDescription and the adaptation requested is possible, the requested content item or thespecific resource is adapted.

4) In the case the request can be satisfied, the CPD generates and conveys to the requesting Devicean msap:RequestContentResponse message [Figure 130] containing:a) (optionally) the Digital Item representing the requested contentb) (optionally) one or more URLs from where the whole content item can be retrieved, in the

case no ResourceID was specifiedc) (optionally) one or more URLs specifying the location from where the specific resource

identified by the ResourceID parameter in the request can be retrievedd) (optionally) the digital signature for the response message

5) In the case the request cannot be satisfied, the CPD generates and conveys to the requestingDevice an mxmdp:Ack message [Figure 125] conveying the information related to the reason offailure. The requesting Device:a) (optionally) replies with a mxmbp:Ack message [Figure 125]

3.3.4.2 Protocol to Access License

The Remote License Access Protocol (RLAP) is used by a device to access Licenses from a LicenseProvider Device (LPD). At the application level RLAP is based on the exchange of messagesbetween two basic components: the requesting Device and the PLD.

The RLAP involves the following steps:1) The requesting Device and the LPD mutually authenticate (See 3.3.2.1 – Protocols to

Authenticate Device);2) The requesting Device:

a) verifies that the Content Item is protected and that a License needed to access Content Itemor Content Element is not available;

b) extracts the Content Identifier (in the case the governance applies to the whole Content Item)or a Resource Identifier (in the case there is the need to access a specific Resource only)fromthe DCI;

c) retrieves the ipmpinfo:LicenseReference URI from the ipmpinfo:RightsDescriptor element inthe DCI;

3) The requesting Device and the License Provider Device specified in theipmpinfo:LicenseReference mutually authenticate;

4) The requesting Device generates a msap:RequestLicense message [Figure 132] containing thefollowing elements:a) A choice between:

i) the Content Identifier or the couple [Content Identifier, Resource Identifier]ii) the License Identifier, in the case the identifier of a specific license that would grant the

needed rights is knownb) (optionally) the License the requesting Device is interested inc) (optionally) The hash value of the DI;

5) The requesting Devicea) (optionally) signs the message;b) sends the msap:RequestLicense message to the License Provider Device;

6) The License Provider Device, upon receiving the message:a) Verifies the signature (if present);

Page 229: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

229

b) Verifies that eitheri) a valid Content Identifier or Content ID plus Resource ID are specified in the request. In

this case, the optional License element may indicate the type of License requested.ii) a valid License ID is specified in the request

c) Verifies that there is a License on the system, or that the requesting Device is entitled to beIssued a License

(1) for the specific Content ID or(2) for a specific Resource identified by the ResourceID parameter contained within a

Content Item identified by the ContentID parameter7) In the case the request can be satisfied, the License Provider Device:

a) generates a msap:RequestLicenseResponse message [Figure 183: Themxmalp:RequestLicenseResponse element] containing the License. The License may includedecryption Keys that are encrypted with:i) The Device public Key in the case of Device License;ii) The Domain public Key in case of Domain License;

b) Delivers the msap:RequestLicenseResponse message to the requesting Device:8) In the case the request cannot be satisfied, the License Provider Device generates and sends to

the requesting Device an mxmdp:Ack message [Figure 125] conveying the information relatedto the reason of failure.

9) The requesting Device:a) receives the message from the License Provider Device, verifies the message contents and:b) (optionally) replies with a mxmbp:Ack message [Figure 125]

3.3.4.3 Protocol to Access DRM Tool Body

This protocol is performed by a EUD or a CCD when the DRM Tool Body is not available on theEUD (and not conveyed in the DCI) for allowing the access to Protected Resources or on the CCDfor Protecting Resources. This Protocol comprises of the following steps:

1) The requesting Device and the TPD mutually Authentiate (See 3.3.2.1 – Protocols toAuthenticate Device);

2) The requesting Devicea) Mutually Authenticates with the DRM Tool Provider Device. The URL of the DRM Tool

Provider Device is contained in the ipmpinfo:Remote element in the DIb) Sends a msap:RequestIPMPToolBody message [Figure 127] to the IPMP Tool Provider

Device, containing:i) The requested IPMP Tool IDii) The Represent Device Information Structure describing the hardware and software

characteristics of the Device on which the requested DRM Tool will run.iii) The digital Signature of the whole message

3) The DRM Tool Provider Device:a) Receives the message;b) Verifies the signature if present;c) Reads Device Informationd) Locates the DRM Tool Body matching the requesting Device's characteristics contained

within Device Informatione) Wraps the DRM Tool Body in an ipmpinfo-msxToolBody structure;

Page 230: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

230

f) Delivers the msap:RequestIPMPToolBodyResponseToolBody [Figure 128] to the requestingDevice.

4) The requesting Device:a) Receives msap:RequestIPMPToolBodyResponseb) (optionally) Sends an mxmdp:Ack message [Figure 125] to the IPMP Tool Provider Device

to notify the successful receipt (or otherwise) of the IPMP Tool Bodyc) Reads the ipmpinfo-msxToolPackageType informationd) Unpackages the ipmpinfo-msxToolBodye) Stores the DRM Tool Body in the local Storage.

3.3.4.4 Protocol to Access DRM Tool list

The Protocol to Access the DRM Tool list is performed between a Content Creation Device (CCD)and a DRM Tool Provider Device (TPD). The former initiates the Protocol for the purpose ofrequesting to the latter the list of DRM Tool Bodies, including related information about each DRMTool Body which is necessary to determine the capabilities of each DRM Tool. Once the Protocolhas been successfully carried out, the CCD may Access one or more DRM Tool Bodies from theTPD by employing 3.3.4.3and use them to protect Resources.

The Protocol is composed of the steps below:

1) The CCD and the TPD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device);2) The CCD

a) generates an dmp-msapx:RequestDRMToolInfoList message [Figure 134] containing anoptional description of the CCD hardware and software characteristics

b) optionally signs the messagec) sends the message to the TPD of its choice

3) The TPD verifies the request message, the digital Signature if available and:a) if the request can be satisfied, generates an dmp-msapx:RequestDRMToolInfoListResponse

[Figure 135] containing the following information:i) an dmp-msapx:DRMToolInfo element for each DRM Tool Body available and satisfying

the hardware and software requirements expressed in the request. Each DRMToolInfoelement contains the DRM Tool ID of the DRM Tool and a parametric description of thecapabilities of the DRM Tool

ii) an optional digital Signature.b) if the request cannot be satisfied, an msap:Ack message [Figure 104] is returned instead,

specifying the reason of failure.

3.3.4.5 Protocols to Access Rights Data

The Role Verification Device (RVD) is a Device which provides access to some of the features ofthe RRD Ontology.

3.3.4.5.1 Protocol to Attribute Intellectual Property Entity

This protocol is used to define the kind of Intellectual Property Entity a Content Item or an Elementthereof is. Possible values are given in Section 3 of [2] (see the datatype dmprrdp:IPEntity)CCD will report RVD this information, and RVD will keep a register of it. This Protocol may beinvoked immediately after the Protocol to Identify Content.

Page 231: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

231

The Protocol is started by the CCD, and it comprises the following steps:

1) The CCD and the RVD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device)2) The CCD:

a) generates an dmprrd:ExecuteActionReq message [Figure 82], with the following parameters:i) the identifier of CCD (of dmprdip:IDType)ii) the Content ID of the Content Item whose IP Entity is being attributediii) zero or more Content ID from which the new Content Item is dependentiv) the Action to be executed (see datatype dmprrdp:ActionType)

b) digitially signs the messagec) sends the message to the RVD

3) The RVD:a) verifies the digital signature of the messageb) evaluates the nature of the Action, and whether this Action is meaningful or not (e.g. a

Manifestation can be made from a Work but not from another Manifestation).c) generates a mxmbp:Ack message with the proper ProtocolResultd) sends the message to the CCD

3.3.4.5.2 Protocol to Obtain Intellectual Property Entity and Rights Ownership

This protocol is used to obtain the kind of Intellectual Property Entity a Content Item or an Elementthereof is, and the corresponding rights owner.Any device will query RVD for this information, and RVD will give an answer if it is present in itsregister. The Protocol is started by the device , and it comprises the following steps:

1) The requesting Device and the RVD mutually Authenticate (See 3.3.2.1 – Protocols toAuthenticate Device)

2) The Requesting Device:a) generates a message (dmprrd:GetRightsHolderReq, [Figure 83]), with the following

parameter:i) the Content ID of the Content Item whose IP Entity is being queried

b) digitally signs the messagec) sends the message to the RVD

3) The RVD:a) verifies the digital signature of the messageb) evaluates whether the requesting Device can access this information, and searches for the

requested informationi) if any of the checks fails, a mxmbp:Ack message is generated with a negative answerii) if the requesting Device can access this information and the information is present, then

it generates a message (dmprrdp:GetRightsHolderResponse, [Figure 84]) containing thekind of IPEntity and a the rights holder

c) sends the message to the requesting Device

3.3.4.5.3 Protocol to Register a Permission in RVD

This protocol is used to register in the RVD a permission by which Actions in the RRDOntoontology can be authorised. Any device can query the RVD for this, and the requesting Device willstart the protocol. It comprises the following steps:

Page 232: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

232

1) The requesting Device and the RVD mutually Authenticate (See 3.3.2.1 – Protocols toAuthenticate Device)

2) The requesting Devicea) generates a message (dmprrdp:CreatePermissionReq [Figure 85]), with the following

parameters:i) action that is allowed, of the type (dmprrdp:ActionType)ii) Digital Item over which the action is exercisediii) Device who exercises the Actioniv) Device who issues the permission

b) digitally signs the messagec) sends the message to the RVD

3) The RVD will store the Permission and answer with an Ack message

3.3.4.5.4 Protocol to Verifies a Permission in RVD

This protocol verifies the existence of a Permission to execute a certain Action.

1) The requesting Device and the RVD mutually Authenticate (See 3.3.2.1 – Protocols toAuthenticate Device)

2) The Requesting devicea) generates a message (dmprrdp:VerifyPermissionReq [Figure 86]) with these parameters

i) action to be exercised, of the type (dmprrdp:ActionType)ii) Digital Item which suffers the actioniii) Device which executes the action

b) digitally signs the messagec) sends the message to the RVD

3) The RVD will check the existence of a Permission matching the given parameters, and willgenerate and send an Ack message.

3.3.5 Protocols to Store

3.3.5.1 Protocol to Store Content

The Protocol to Store Content is employed by a Content Creation Device (CCD) to Store a ContentItem on a Content Provider Device (CPD). The Protocol to Store content is composed by twoProtocols: the Protocol to Store a Content Item, and the Protocol to verify the upload status of theContent Item or Content Element while it is being Stored. The Content Item to Store can be either asingle DCF file, or multiple files in case of a DCS, as further explained in the sections below.

3.3.5.1.1 Protocol to Store a Content Item

The Protocol to Store a Content Item is composed by the following steps.

1) The CCD and the CPD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device);.2) The CCD generates an mxmscp:TransferProtocolRequest message [3.2.25.3] requesting to Store

a new Content Item. This message contains the list of all protocols supported by the CCD (e.g.ftp, http, etc.) which can be employed by the CCD to transfer the Content Item, including apriority attribute and protocol options for each protocol. If the CCD supports more protocolsthan those listed in the mxmscp:StandardProtocol element, these can be expressed by employingthe mxmscp:CustomProtocol element.

Page 233: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

233

3) The CPD upon receiving the TransferProtocolRequest message, generates anmxmscp:TransferProtocolResponse message [3.2.25.4] indicating, by means of the Resultattribute, if the Content can be Stored or not. If yes, the ProtocolOptions element will indicatethe Protocol selected by the CPD based on the best match between the CCD preferences and theCPD capabilities, including any configuration options that might be necessary for the Protocol tobe carried out. If not, the ProtocolResult element will convey the reason of failure.

4) In case of an affirmative response from the CPD, the CCD generates anmxmscp:ContentUploadRequest message [3.2.25.5] specifying the information about theContent Item to Store.a) In the case of a DCF, the following information is specified:

i) The Content IDii) The size of the DCF fileiii) The Hash value or digital Signature of the whole DCF file

b) In the case of a DCS, the following information is specified:i) The choice between

(1) The DCI – The first time a ContentUploadRequest is sent for Storing a DCS, the DCIshall always be specified. It is conceivable, though, that not all the Resources thatmake up a Content Item shall be Stored at the same time. Thus if this approach istaken, starting from the second time the ContentUploadRequest is sent for the sameContent Item, the ContentID shall be sent instead of the DCI.

(2) The Content IDii) The BBL document specifying how a ContentItem shall be Streamed by employing the

Digital Item Streaming technologyiii) A number of mxmscp:Resource elements, which shall be smaller or equal to the number

of Resources listed in the DCI. For each Resource the following information shall bespecified:(1) The Resource ID(2) The size of the Resource file(3) The digital Signature or hash value of the Resource file

5) The CPD, upon receiving the mxmscp:ContentUploadRequest message, generates anmxmscp:ContentUploadResponse message [3.2.25.6] containing the following information:a) The Result attribute, indicating whether the CCD can start uploading Content or not.b) In the affirmative case, the StorePath element may indicate one or more remote locations

where the file(s) can be uploaded. In the case of multiple locations, the StorePath elementspecifies the Content ID or Resource ID of the file which should be uploaded at the specifiedlocation.

c) In the negative case, the StoreFailure element(s) may indicate the reason of failure for theDCF or for each individual Resource.

6) The CCD:a) Receives the mxmscp:ContentUploadResponse message from the CPDb) verifies that it contains an affirmative response, and in this case retrieves from the message

the remote location where the file(s) shall be Storedc) proceed with transferring the file(s).

3.3.5.1.2 Protocol to verify the upload status

The Protocol to verify the upload status is employed by a CCD to verify the status of the upload of aContent Item or Content Element. This Protocol is composed by the following steps:

Page 234: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

234

1) The CCD and the LPD mutually authenticate (See 3.3.2.1 – Protocols to Authenticate Device);2) The CCD generates an mxmscp:UploadStatusRequest message [3.2.25.7] containing the

Identifier of the Content or Content Element whose upload status is sought.3) The CPD, upon receiving the request, replies with an mxmscp:UploadStatusResponse message

[3.2.25.8] containing information related to the status of the upload of the Content Item orContent Element specified in the request.

3.3.5.2 Protocol to Store License

The Protocol to Store License is performed between a Content Creation Device (CCD) and aLicense Provider Device (LPD). The scope of this Protocol is to Store on the LPD a set ofinformation that will enable the latter to Issue Licenses to Devices requesting them. The informationtransmitted to the LPD includes special directives that state which Principals are or are not entitledto be Issued a License, which Rights shall or shall not be Granted, and at which Conditions.

The Protocol to Store License involves following steps:

1) The CCD and the LPD mutually Authenticate (See 3.3.2.1 – Protocols to Authenticate Device);2) The CCD generates an mxmslp:StoreLicenseRequest message [3.2.26.3] containing:

a) the mxmslp:ContentItem element of type mxmslp:ItemType and conveying the Rightsinformation for the whole Content Item

b) a number of mxmslp:ContentElement elements of type mxmslp:ItemType and conveying theRights information for every Governed Content Element.

c) the digital Signature for the whole message.3) The License Provider Device, upon receiving the request message, if the request can be satisfied,

a) verifies the digital Signature;b) Stores the Rights information related to the Content Item and the Content Elements into a

persistent location, so that every time a EUD will perform the Protocol to Access Licensespecifying either the Content ID or the Content ID together with the ResourceID, the LPDwill have the information required at its disposal.

4) LPD sends an msap-msaf:Ack message [3.2.26.2] back to CCD, indicating the result of the StoreLicense.

3.3.6 Payment

3.3.6.1 Protocol to request the execution of a Purchase Orders

The scope of this Protocol is to request an agent to execute a Purchase Order. Typically this Protocolis employed by a Device (e.g. an EUD) whenever payment conditions are found in a License,requesting a payment to be made before the enabling license can be retrieved.This Protocol is performed in the following steps:

1. a Device (e.g. an EUD)a. creates a dmprpp:PurchaseRequest message [3.2.27.2] containing the information

specified below:i. Rate: the amount to be paid, including the currency

ii. PaymentInformation: information concerning the service which shall make thepayment in behalf of the user requesting the payment to be made. This includes

Page 235: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

235

information to identify the service and information to identify the user requestingthe paiment being made among those subscibed to the service.

iii. CashingInformation: information concerning the service which shall receive thepayment. This includes information to identify the service and information toidentify the user to whom the paiment shall be made among those subscibed tothe service.

iv. Target: what is the payment for. This includes a unique string identifying theOrder Number, and may include a License template specifying what License isbeing purchased, or the identifier of a License which is known by both thepurchasing and the selling users, and which shall be the principals of theLicense(s) being purchased.

v. An optional signature for the integrity of the message.b. sends the PurchaseRequest to the entity in charge of handling the request (e.g. a

merchant server).2. the entity receiving the PurchaseRequest tries to satisfy the request and returns a

dmprpp:PurchaseResponse [3.2.27.3] containing:a. The Order Numberb. In case of success

i. either one or more Licenses requested in the PurchaseRequestii. or one or more License references to which the requested Licenses may be

requested by performing the AccessLicense Protocol [3.3.4.2].c. In case of failure, the reason of failure as a string and/or a code identifying the error

which has occurred.d. An optional signature for the integrity of the message.

3.3.6.2 Protocol to request confirmation of a payment

The scope of this Protocol is to request to an agent the confirmation that a specific payment has beenmade. This Protocol is typically employed by a License Provider Device upon receiving anmsap:RequestLicense message [3.2.22.2.3] to verify that a payment to which the issuance of aLicense is subject to has been made, so that the requested License can be issued.This Protocol is performed in the following steps:

1. a Device (e.g. an LPD)a. creates a dmprpp:PaymentConfirmationRequest message [3.2.27.4] containing:

i. From: information concerning the service and the user who should have made thepayment.

ii. Rate: the amount which shuold have been paidiii. Target: what was the payment for.iv. An optional signature for the integrity of the message.

b. sends the PaymentConfirmationRequest to the entity which shall confirm whether thepayment was made successfully or not (e.g. a merchant server).

2. the entity receiving the PaymentConfirmationRequest returns admprpp:PaymentConfirmationResponse [3.2.27.5] containing the result of the query. Based onthis result, the Device will determine whether issuing a License or not.

Page 236: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

236

3.3.7 DRM Processor Protocols

3.3.7.1 DRM Manager – DRM Processor Protocols

Figure 232 shows the message flow between the DRM Manager and the DRM Processor required toplay protected Content Elements. Note that the diagram doesn't show the message communicationbetween the DRM Processor and the Tool Agent, as this is the subject of the next section.

Figure 232: Message flow between the DRM Manager and the DRM Processor

The message flow in the figure above is described in the walkthrough below:

1) User U by employing the EUD decides to play a Protected Resource part of a Content Item2) The DRM Manager parses the DCF and/or the DCI and extracts the DRM Information, Licenses

etc. If the User or the Device has the Right to play the Protected Content Item, the DRMManagera) instantiates the DRM Processorb) authenticates the DRM Processorc) initialises the DRM Processor with the ipmpmsg:InitialiseIPMPProcessor containing:

i) the Control Point listii) the GeneralInfoDescriptoriii) the protectedAsset

Page 237: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

237

3) The DRM Processor may requests to the DRM Manager one or more Licenses using aipmpmsg:GetRightsData

4) The DRM Manager replies with a ipmpmsg:RightsData containing the License(s) if these areavailable

Every time an event occurs on the DRM Processor, an ipmpmsg:NotifyDRMProcessorEventmessage is sent by the DRM Processor to the DRM Manager providing information on the occurredevent.

When a User terminates any action on the Content, the following apply:

1) DRM Manager sends ipmpmsg:TerminateIPMPProcessor message to the DRM Processor.2) The DRM Processor

a) terminates all DRM Tools andb) replies with an ipmpmsg:NotifyDRMProcessorEvent.

3.3.7.2 DRM Processor - DRM Tools Protocols

3.3.7.2.1 Introduction

This Section describes the Protocols between DRM Processor and DRM Tools or between DRMTools involved in the Governance of Content, as described in Section 3.2.8

When a DRM Processor locates a Governed Content Element protected by a DRM Tool it needs tolocate the appropriate DRM Tool Body implementing the DRM Tool. The DRM Processor extractsthe DRM Tool ID from the DCI and then locates the DRM Tool Body corresponding to the requiredDRM Tool or DRM Tool Pack. At this point the DRM Processor instantiates the DRM Tool asindicated in the ipmpinfo-msx:Instantiation_API_ID, specified in 3.2.16 – Represent DeviceInformation.

The Managing of a DRM Tool by the DRM Processor involves the delivery of DRM Messagesdefined in Section 3.2.14 – Represent DRM Messages. DRM Messages are exchanged between aDRM Processor and a DRM Tool according to a Messaging API which is particular to each Device.The DRM Processor chooses the DRM Tool characterised by the Messaging_API_ID supported bythe Device on which it is resident. The Messaging_API_ID is specified in 3.2.16 – Represent DeviceInformation.

DRM Messages are conveyed in either ipmpmsg:MessageFromTool or ipmpmsg:MessageFromDCImessages which extend ipmpmsg:ToolMessageBase. These are shown in Section 3.2.14 – RepresentDRM Messages. The DRM Tool receiving such messages will obtain from the container Messagethe information about the Context ID of the Sender (the “Sender” element) and its own Context ID(the “Recipient” element).The instantiation of a DRM Tool involves the connection of the DRM Tool instance to a specificControl Point and with a specific Sequence Code. The DMP establishes a Registration Authority forregistering Control Points on Devices, Instantiation APIs and Messaging APIs [5].

3.3.7.2.2 Instantiation of a DRM Tool

Page 238: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

238

Depending on the nature of the DRM Tool - a Single DRM Tool or a DRM Tool Pack - the DRMProcessor will act as specified in the two sections below.

3.3.7.2.3 Instantiation of a single DRM Tool

In the case the DRM Tool is a Single DRM Tool, the DRM Processor instantiates it according to themechanisms of the platform on which it is running. According to the Represent Device Informationassociated with the DRM Tool Body, in particular the ipmpinfo-msx:ToolAPI_Config element, theDRM Processor knows the Instantiation_API_ID information of the DRM Tool and actsappropriately in order to get a handle of an instance of the DRM Tool.

3.3.7.2.4 Instantiation of a DRM Tool Pack

When the DRM Tool is a DRM Tool Pack, the DRM Processor instantiates the DRM Tool Agentpart of the DRM Tool Pack, according to the mechanisms of the platform on which it is running.According to the Represent Device Information associated with the DRM Tool Pack Body, inparticular the ipmpinfo-msx:ToolAPI_Config element, the DRM Processor knows theInstantiation_API_ID information of the DRM Tool Agent and acts appropriately in order to get ahandle of an instance of the DRM Tool Agent. The instantiation of the DRM Tool Pack at this pointis not complete yet because the DRM Processor still needs to instantiate the DRM Tools in the DRMTool Group. Before these can be instantiated, the DRM Tool Agent has to be initialised as specifiedbelow.

3.3.7.2.5 Initialisation of a DRM Tool

Once the DRM Processor possesses a handle of an instance of the DRM Tool, the DRM Processorinitialises the DRM Tool instance as specified below, depending on whether the DRM Tool is aSingle DRM Tool or a DRM Tool Agent.

3.3.7.2.6 Initialisation of a single DRM Tool

The DRM Processor initialises a Single DRM Tool by sending it a ipmpmsg:InitialiseTool Message.This Message conveys to the DRM Tool:

the DRM Processor Instance, a handle of the DRM Processor that is needed by the Tool to sendMessages back to the DRM Processor,

the Control Point in which the DRM Tool will operate (optional), the Sequence Code that the DRM Tool has with regards to other DRM Tools operating in the

same Control Point (optional), any DRM Message addressed to that DRM Tool found in the DCI (optional).

3.3.7.2.7 Initialisation of a DRM Tool Pack

The Initialisation of a DRM Tool Pack involves first the initialisation of the DRM Tool Agent.The DRM Processor initialises a DRM Tool Agent by sending it a ipmpmsg:InitialiseTool Message.This Message conveys to the DRM Tool Agent:

the DRM Processor Instance, a handle of the DRM Processor that is needed by the Tool to sendMessages back to the DRM Processor. The format of this handle may depend on the particularDevice on which the DRM Processor is running and such information depends on the

Page 239: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

239

Instantiation_API_ID value in the ToolAPI_Config defined in 3.2.16 -Represent DeviceInformation.

the list of all available Control Points on the Device where the DRM Tool Agent may instantiatethe DRM Tools in the Tool Group with the associate ControlPointAddress where the DRM ToolPack operates.

any DRM Message addressed to that DRM Tool found in the DCI (optional).

After the DRM Tool Agent is instantiated, initialised and Authenticated, the DRM Processorchooses from the available Control Points the ones on which to instantiate the DRM Tools in theDRM Tool Group.

Where the DRM Tool Agent needs the instantiation of another DRM Tool to operate, the DRM ToolAgent requests the reference of the DRM Tool Group from the DRM Processor by sending aipmpmsg:GetToolGroupReference Message [Figure 99]. The DRM Processor replies by sending therequired information contained in the ipmpmsg:GetToolGroupReferenceResponse, [Figure 100] ifthe DRM Processor can Access it (either locally or by employing the DRM Tool Access Protocol,Section 3.3.4.3). In the case this operation fails, the DRM Processor replies with aipmpmsg:NotifyToolEvent, specifying an event of type “TOOL_GROUP_NOT_FOUND”.

Where the DRM Tool Agent needs the instantiation of a Single DRM Tool to operate, then theDRM Tool Agent requests the reference of the Single DRM Tool to the DRM Processor by sendinga ipmpmsg:GetToolReference Message [Figure 101] specifying a list of DRM Tool IDs of therequired DRM Tools. In the case where the DRM Processor can Access the requested DRM Tool, itreplies with a ipmpmsg:GetToolReferenceResponse [Figure 102] conveying a list of DRM Tool IDsand the associated references of each DRM Tool.

Once the DRM Tool Agent obtains the reference of the DRM Tool Group or the reference of aSingle DRM Tool, the DRM Tool Agent connects each DRM Tool in the Tool Group or the SingleDRM Tool to the proper Control Point.

The initialisation information for each DRM Tool is contained in the Tool Pack Data. The DRMTool Agent may use the Tool Pack Data to initialise the DRM Tools in the Tool Group. In this case,the DRM Tool Agent requests the Tool Pack Data from the DRM Processor by sending aipmpmsg:GetToolPackData message [Figure 103]. The DRM Processor searches for the Tool PackData associated with the Tool Pack of the requesting Tool Agent and sends theipmpmsg:ToolPackData [Figure 104] to the DRM Tool Agent by including it in aipmpmsg:MessageFromDCI Message [Figure 94].

Finally, the DRM Tool Agent initialises each DRM Tool with Tool Pack Data.

3.3.7.2.8 Authentication of DRM Tools and DRM Processor

In a secure environment, DRM Processor and DRM Tools should mutually Authenticate before anyother action is performed in the Device after DRM Tool Initialisation. This also has the advantage ofallowing the establishment of a secure channel for communication among parties.

Page 240: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

240

Mutual Authentication can be triggered by either a DRM Tool or the DRM Processor by sending tothe counterpart an ipmpmsg:InitAuthentication Message for negotiating the mutual AuthenticationAlgorithms supported by both parties. Following, a number of ipmpmsg:MutualAuthenticationmessages will be exchanged between the parties involved until mutual Authentication is achieved.For more information on the use of these two messages refer to Sections 3.2.15 – RepresentAuthentication Messages.

When the DRM Tool involved in the Authentication process is a DRM Tool Pack, theAuthentication process will be performed by the DRM Tool Agent, as the Authentication betweenthis and the DRM Tools in the Tool Group is performed by the Tool Agent in a proprietary fashion.

3.3.7.2.9 General DRM Tool Management

Chapter 2 describes several scenarios where DRM Messages are employed to achieve certain goals.For more information on the use of DRM Messages for achieving these goals, refer to [12] and [14].

3.3.7.2.9.1 Obtaining a reference to the DRM Tool Group

The DRM Processor searches the required DRM Tool Pack and instantiates the DRM Tool Agent.The DRM Tool Agent may need the DRM Tools part of the DRM Tool Group. In this case, theDRM Tool Agent sends a ipmpmsg:GetToolGroupReference message [Figure 100] to the DRMProcessor to request a reference to the DRM Tool Group.

3.3.7.2.9.2 Obtaining a reference to a DRM Tool

The DRM Tool Agent may also employ a Single DRM Tool for performing DRM Functions. In thiscase, the Tool Agent sends ipmpmsg:GetToolReference message to the DRM Processor to requestthe reference of the Single DRM Tool [Figure 101].

In response to a ipmpmsg:GetToolReference message, the DRM Processor sends aipmpmsg:GetToolReferenceResponse message [Figure 102] to the DRM Tool Agent to convey thereference of the Single DRM Tool

3.4 Package

Content must be Packaged so that it can be Delivered to Devices. IDP-3.2 provides Tools to achievethis for the following types of transport:

1. File2. Stream

IDP-3.2 identifies these 3 forms of Content Package as DCF (DMP Content Format), DCB (DMPContent Broadcast) and DCS (DMP Content Stream).

3.4.1 Package Content

3.4.1.1 Package Content as Stream

The DMP specifies to Package Content as a Stream using the ISO/IEC CD 21000-18 Digital ItemStreaming (DIS) [32] technology.

Page 241: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

241

3.4.1.2 Package Content as File

This section specifies how to Package Content into the DMP Content File (DCF).

3.4.1.2.1 Introduction

IDP-3.2 provides Tools to Package Content in files whose format using a DMP-defined subset of theMPEG-21 File Format [30], which contains the DCI with some or all of its ancillary Resources,potentially in a single package. The MPEG-21 File Format is based on the ISO Base Media FileFormat [13], which defines how to contain timed media information for a presentation. The filestructure is object-oriented; a file can be decomposed into constituent objects very simply, and thestructure of the objects inferred directly from their type.

In [30], files are formed as a series of objects, called boxes. All data is contained in boxes; there isno other data within the file. Each Box is represented as in Figure 233 and is characterised by twoattributes: boxtype and size.

aligned(8) class Box (unsigned int(32) boxtype,optional unsigned int(8)[16] extended_type) {

unsigned int(32) size;unsigned int(32) type = boxtype;if (size==1) {

unsigned int(64) largesize;} else if (size==0) {

// box extends to end of file}if (boxtype==‘uuid’) {

unsigned int(8)[16] usertype = extended_type;}

}

Figure 233: Boxes and attributes

The size field is an integer that specifies the number of bytes in this box, while the type fieldidentifies the box type, which is normally made of four human-readable characters represented usingfour bytes (4 Character Code, 4CC), to permit the identification of the box. Boxes with anunrecognized type shall be ignored and skipped. Class Box is extended in the ISO specification byClass FullBox, which conveys additional information.

aligned(8) class FullBox (unsigned int(32) boxtype, unsigned int(8) v, bit(24) f)extends Box(boxtype) {unsigned int(8) version = v;bit(24) flags = f;

}

Figure 234: Class FullBox

Table 29 is a subset of the table described in [30], section 3.1 and provides a view of theencapsulation of boxes. The first two columns represent the 4CC identifying the box type; thisinformation is displayed on two columns in order to show the nesting level of the boxes.

Page 242: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

242

Table 29: Logical box structure diagram

Mandatory Description

ftyp yes file type and compatibilityfree no free spacemeta yes Metadata

hdlr yes handler, declares the metadata (handler) typebxml yes binary XML containerxml no XML containeriloc no item location

mdat no media data containerlicc no License_Container Box

licb no License Boxsign no Digital signature of the file

The next section will give an overview on the entries in the table above, and specify DMP-definedvalues for particular variables.

3.4.1.2.2 ISO Base Media File Format Boxes used in the DCF

This section specifies syntax and semantics of the ISO Base Media File Format box elementsadopted by the DMP to Package Content in the DMP File Format (DCF).

3.4.1.2.3 File Type Box (‘ftyp’)

The ftyp box is mandatory and specifies to which specification this file is conformant. The brand fora DMP file is ‘dmpf’ and this value should appear in the compatible_brands as described below.

aligned(8) class FileTypeBoxextends Box(‘ftyp’) {unsigned int(32) major_brand;unsigned int(32) minor_version;unsigned int(32) compatible_brands[]; // to end of the box

}

Figure 235: FileTypeBox

The following table describes the variables of class FileTypeBox

Table 30: Variables of class FileTypeBox

major_brand An identifier for the specification this file is conforming to. For a fileconforming to this specification this variable is set to ‘mp21’.

minor_version A variable representing the version of the brand. For files conforming to thisspecification this variable is set to ‘0x00000000’

Compatible_brands A list of brands to which the content of this box is compatible. ‘dmpf’ shouldappear among the brands in this list.

Page 243: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

243

NOTE: DCF files must have exactly one DMP File Type Box at the beginning of the file.

3.4.1.2.4 Free Box (‘free’)

The Free Box is optional and may contain any kind of data and follows the syntax and semantics asdefined in [12]. A Device may ignore the content of this box. If this box, if present, its content isskipped for the calculation of any digital signature or hash value.

aligned(8) class FreeSpaceBox extends Box(free_type) {unsigned int(8) data[];

}

Figure 236: FreeSpaceBox

3.4.1.2.5 Meta Box (‘meta’)

The Meta Box defined in [13] is shown in Figure 237:

aligned(8) class MetaBox (handler_type)extends FullBox(‘meta’, version = 0, 0) {HandlerBox(handler_type) theHandler;PrimaryItemBox primary_resource;DataInformationBox file_locations;ItemLocationBox item_locations;ItemProtectionBox protections;ItemInfoBox item_infos;IPMPControlBox IPMP_control;Box other_boxes[];

}

Figure 237: Meta Box

However this specification will only consider meaningful three of those boxes:

the HandlerBox: For indicating the structure or format of the ‘meta’ box contents. Thehandler_type for this box should be ‘dmpf’

the ItemLocationBox: as described in 0 below the field other_boxes: containing the ‘bxml’ and ‘xml’ boxes described below.

3.4.1.2.6 XML Boxes (‘bxml’) and (‘xml’)

Two boxes may be contained in the other_boxes array: the Binary XML Box (‘bxml’) which ismandatory, and the XML Box (‘xml’) which is optional. Both will contain the DMP ContentInformation (DCI) as defined in Section 3.2.1 - Represent Content.

aligned(8) class BinaryXMLBox extends FullBox(‘bxml’, version = 0, 0) {unsigned int(8) data[]; // to end of box

}aligned(8) class XMLBox extends FullBox(‘xml ’, version = 0, 0) {

string xml;}

Figure 238: Binary XML Box and XML Box

Page 244: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

244

3.4.1.2.7 Item Location Box

The ItemLocationBox provides a link between Content Element s Represented in the DCI and thephisical location of them within this file or other files, their offset within the file and their length.

aligned(8) class ItemLocationBox extends FullBox(‘iloc’, version = 0, 0) {unsigned int(4) offset_size;unsigned int(4) length_size;unsigned int(4) base_offset_size;unsigned int(4) reserved;unsigned int(16) item_count;for (i=0; i<item_count; i++) {

unsigned int(16) item_ID;unsigned int(16) data_reference_index;unsigned int(base_offset_size*8) base_offset;unsigned int(16) extent_count;for (j=0; j<extent_count; j++) {

unsigned int(offset_size*8) extent_offset;unsigned int(length_size*8) extent_length;

}}

}

Figure 239: ItemLocationBox

The following table describes the variables of class ItemLocationBox.

Table 31 – Variables of class ItemLocationBox

offset_size A value from the set {0, 4, 8} which indicates the length in bytes of the offsetfield.

length_size A value from the set {0, 4, 8} which indicates the length in bytes of the lengthfield.

base_offset_size A value from the set {0, 4, 8} which indicates the length in bytes of thebase_offset field.

item_count An integer value indicating the number of resources in the following array.item_ID An arbitrary integer ‘name’ for this resource which can be used to refer to it (e.g.

in a URL).data-reference-index

A value which is either zero (‘this file’) or a 1-based index into the datareferences in the data information box.

base_offset An integer which provides a base value for offset calculations within thereferenced data. If base_offset_size is 0, base_offset takes the value 0, i.e. it isunused.

extent_count An integer which provides the count of the number of extents into which theresource is fragmented; it must have the value 1 or greater.

extent_offset An integer which provides the absolute offset in bytes from the beginning of thecontaining file, of this item. If offset_size is 0, offset takes the value 0

extent_length An integer which provides the absolute length in bytes of this metadata item. If

Page 245: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

245

length_size is 0, length takes the value 0. If the value is 0, then length of the itemis the length of the entire referenced file.

3.4.1.2.8 Media Data Box (‘mdat’)

This box contains the Content Element Represented and Identified in the DCI, and is defined in [30]as follows:

aligned(8) class MediaDataBox extends Box(‘mdat’) {bit(8) data[];

}

Figure 240: Figure 228: ItemLocationBox

3.4.1.2.9 License_Container Box (‘licc’)

The License_Container Box contains an array of License Boxes each of them containing a Licensefor any Governed Content Item described in the DCI.

The License_Container box, if present, is placed at the beginning of a DCF, and is defined as inFigure 241:

aligned(8) class License_Container extends FullBox(‘licc’) {unsigned int(16) item_count;for (i=0; i<item_count; i++) {

string License_ID;Box License_Box;

}}

Figure 241: License_Container Box

Table 32 – Variables of class License_Container Box

item_count An integer value indicating the number of License Boxes in the containerLicense_ID A string of characters containing the License_IDLicense_Box A box containing a License

3.4.1.2.10 License Box (‘licb’)

The License box contains a License Governing a Content Item described in the DCI.

aligned(8) class LicenseBox extends FullBox(‘licc’) {bit(8) License[];

}

Figure 242: License Box

Table 33 – Variables of class Licens Box

License An array of bytes

Page 246: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

246

3.4.1.2.11 Signature Box (‘sign’)

This box contains digital Signature of the DCF. The digital Signature shall be calculated from thebeginning to the end of the last container, but excluding any content in the Free box.

The Signature box, if present, is placed at the end of a DCF, and is defined as in Figure 243:

aligned(8) class SignatureBox extends Box(‘sign’) {bit(8) data[];

}

Figure 243: Signature Box

Page 247: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

247

4 Use Cases and Value Chains

4.1 Introduction

This Chapter 4 specifies how the informative Use Cases can normatively be implemented using theTools specified in Chapter 3.

DisclaimerBy giving a normative value to this Chapter 4 DMP does not imply that Use Cases can only beimplemented as specified in this Chapter 4.DMP simply intends to provide example normative implementation so that those Users whoassemble the Tools as specified in this Chapter 4 will be able to interoperate with other Users whowill assemble the Tools in a similar way.

In the Use Cases below “Out of scope” and “None” in the IDP Tool column indicate that theFunction is “not required” and “not yet provided” by IDP-3.2, respectively.

Prerequisites for proper understanding of this Chapter 4 are: reading of this Foreword, Chapter 2,Chapter 3 and Chapter 6.

4.2 Use Case and Value Chain No. 1 – Open Release

4.2.1 Rationale

There are many cases where Users (companies or even individuals) own Rights to Content, have aninterest in Releasing it in such a way that other Users can freely Access it but do not want to make itpublic domain. In other words the Content is Governed in a “light-weight” form, i.e. without usingTechnical Protection Measures (TPM). Examples are publicity material, movie trailers, a garageband’s song or an amateur video on a blog. Note that in the DMP, Content means more than justResources as it is defined as “A structured combination of Content and Content Elements”, the latterbeing “Any of the following Data types: Resource, Metadata, Content, License, DRM Information,DRM Tool Pack and Use Data”.

In this Use Case such a type of Release is called “Open Release”.

This form of Release is clearly contiguous to other forms of commercial Release. Therefore it wouldbe advantageous if such other more sophisticated forms could be built on top of this simple form, e.g.if it was possible to add more “heavy-weight” DRM technologies when the context so demands.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.2.2 Tools for walkthrough #1

Leonardo has been invited to give a presentation at a conference but at the last minute he is unableto attend. As a fallback he decides to send some audio-visual material and related data to theconference organisers as Open Release. His material will be given to conference participants first

Page 248: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

248

and to the general public in selected jurisdictions later, in the form of Governed Content fordistribution.

Leonardo knows that in this form his Content will not prevent people from doing what he would notlike them to do. If he or one of his robots should find Resources taken from his Content on someweb sites he will have the option of taking action against the infringers.

Therefore Leonardo performs the following steps. Note that some of these steps (e.g. Resource andContent Identification) could be performed automatically by an “Open Release authoring tool”.

4.2.2.1 Creation

Who Perform What Notes IDP Tool Ref.Leonardo Create Resource PowerPoint file Out of scopeLeonardo Create Metadata Of Powerpoint file Out of scopeLeonardo Create Audio and

videoOut of scope

Leonardo Create Resource Audio-visual Resource file Out of scopeLeonardo Create Metadata Of audio-visual Resource file NoneRegistrationAgency

Identify Resourcesand Metadata

PowerPoint file and audio-visual file

None

Leonardo Represent Identifier In Resources and Metadata RepresentContent

2.5.1

Leonardo Create Human-readableLicense

4. Play5. Time of Use:

6.until conferenceends (Users whoare conferenceparticipants)

7.after conferenceends (all Users inthe selectedjurisdiction)

8. # of times: unlimited9. Store: unrestricted10. Print PowerPoint file:

unrestricted11. Move: unrestricted12. Copy: unrestricted

Out of scope

RegistrationAgency

Assign:Identifier to

Humanreadablelicense

Lower case "L" because thisis not a License

Out of scope

Leonardo Create Machine-readableLicense

Corresponding to the human-readable license (expressed inverbose XML)

RepresentLicense

2.10

RegistrationAgency

Identify License None 2.5.2

Page 249: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

249

Leonardo Create Content Item Containing Resources Metadata Human-readable license

for the selectedjurisdiction

Licence

RepresentContent

2.1

RegistrationAgency

Identify Content Item None

Leonardo Represent ContentIdentifier

In the Content Item RepresentContent

2.5.1

Leonardo BinariseXML

Content Item To reduce memory,transmission and processingrequirements

RepresentBinary XML

2.19

Leonardo Package Content As file PackageContent

4.1.1

Leonardo Release Content file To conference organisers None

Example DCIFigure 244 shows an example DCI for the Open Release Use Case. Such DCI contains all theinformation described in the walkthrough above, including the Licence (both in human- andmachine-readable format), Metadata for the whole Content Item and shows the location of Metadatafor the various Content Elements.

<?xml version="1.0" encoding="UTF-8"?><DIDL xmlns="urn:dmp:idp2:mpeg21:2002:02-DIDL-NS:2006:02"xmlns:dmp2rc="urn:dmp:idp2:Represent:Content:2006:02"xmlns:dmp2rl="urn:dmp:idp2:Represent:License:2006:02"xmlns:dmp1_dii="urn:dmp:idp1:mpeg21:2002:01-DII-NS:2005:04"xmlns:dmp2_ipmpdidl="urn:dmp:idp2:mpeg21:2004:01-IPMPDIDL-NS:2006:02"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dmp2_ipmpinfo="urn:dmp:idp2:mpeg21:2004:01-IPMPINFO-NS:2006:02"xmlns:dmp2rdm="urn:dmp:idp2:Represent:DRMMessages:2006:02"xmlns:dmp2ram="urn:dmp:idp2:Represent:AuthenticationMessages:2006:02"xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:bpx="urn:mpeg:mpeg21:2005:01-REL-BPX-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:mpeg7="urn:mpeg:mpeg7:smp:schema:2001"xsi:schemaLocation="urn:dmp:idp2:mpeg21:2002:02-DIDL-NS:2006:02 dmp2didl-2006-02.xsd">

<Container><Item>

<Descriptor><Statement mimeType="text/plain">

<dmp1_dii:Identifier>urn:myPresentations:presentation:444</dmp1_dii:Identifier></Statement>

Page 250: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

250

</Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2rc:DMPInformation>

<dmp2rc:Metadata><dmp2rc:StructuredData ref="urn:mpeg:mpeg7:smp:schema:2001">

<mpeg7:Mpeg7><mpeg7:Description xsi:type="mpeg7:CreationDescriptionType">

<mpeg7:CreationInformation><mpeg7:Creation>

<mpeg7:Title type="ContentTitle">Slide presentation withAudio and Video</mpeg7:Title>

<mpeg7:Creator><mpeg7:Role

href="urn:mpeg:mpeg7:RoleCS:2001:AUTHOR"/><mpeg7:Agent xsi:type="mpeg7:PersonType">

<mpeg7:Name>

<mpeg7:GivenName>Leonardo</mpeg7:GivenName></mpeg7:Name>

</mpeg7:Agent></mpeg7:Creator><mpeg7:CreationCoordinates>

<mpeg7:Date><mpeg7:TimePoint>2006-04-

18T09:00:00</mpeg7:TimePoint></mpeg7:Date>

</mpeg7:CreationCoordinates></mpeg7:Creation>

</mpeg7:CreationInformation></mpeg7:Description>

</mpeg7:Mpeg7></dmp2rc:StructuredData>

</dmp2rc:Metadata></dmp2rc:DMPInformation>

</Statement></Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2_ipmpinfo:IPMPGeneralInfoDescriptor>

<dmp2_ipmpinfo:LicenseCollection><dmp2_ipmpinfo:RightsDescriptor>

<dmp2_ipmpinfo:License><dmp2rl:License>

<r:license licenseId="urn:myLicenses:6789A"><!-- All participant to the Conference can play until the end of the

Conference -->

Page 251: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

251

<r:grant><r:forAll varName="conferenceParticipants">

<r:propertyPossessor><sx:propertyUri

definition="urn:MyConference:participant"/></r:propertyPossessor>

</r:forAll><r:principal varRef="subscriber"/><mx:play/><r:digitalResource>

<r:nonSecureIndirectURI="urn:myPresentations:presentation:444"/>

</r:digitalResource><r:validityInterval>

<r:notAfter>2006-07-29T18:00:00</r:notAfter></r:validityInterval>

</r:grant><!-- Every Device in Italy can play after the end of the

Conference --><r:grant>

<mx:play/><r:digitalResource>

<r:nonSecureIndirectURI="urn:myPresentations:presentation:444"/>

</r:digitalResource><r:allConditions>

<r:validityInterval><r:notBefore>2006-07-29T18:00:00</r:notBefore>

</r:validityInterval><sx:territory>

<sx:location><sx:country>ITALY</sx:country>

</sx:location></sx:territory>

</r:allConditions></r:grant><!-- Every Device can Print the presentation --><r:grant>

<mx:print/><r:digitalResource>

<r:nonSecureIndirectURI="urn:myPresentations:presentation:444"/>

</r:digitalResource></r:grant><!-- Every Device can Copy the presentation--><r:grant>

<bpx:governedCopy/>

Page 252: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

252

<r:digitalResource><r:nonSecureIndirect

URI="urn:myPresentations:presentation:444"/></r:digitalResource>

</r:grant><!-- Every Device can Move the presentation--><r:grant>

<bpx:governedMove/><r:digitalResource>

<r:nonSecureIndirectURI="urn:myPresentations:presentation:444"/>

</r:digitalResource></r:grant><r:issuer>

<r:keyHolder><r:info>

<dsig:KeyName>Leonardo_sCertificate</dsig:KeyName>

</r:info></r:keyHolder>

</r:issuer></r:license>

</dmp2rl:License></dmp2_ipmpinfo:License>

</dmp2_ipmpinfo:RightsDescriptor></dmp2_ipmpinfo:LicenseCollection>

</dmp2_ipmpinfo:IPMPGeneralInfoDescriptor></Statement>

</Descriptor><Item>

<Descriptor><Statement mimeType="text/xml">

<dmp1_dii:Identifier>urn:Leonardo:Licenses:HumanReadableLicense:12</dmp1_dii:Identifier></Statement>

</Descriptor><Component>

<Resource mimeType="text/plain">This License allows you to:

1. Playa. Time of Use:

i. until conference ends (Users who are conference participants)ii. after conference ends (all Users in Italy)

b. # of times: unlimited2. Store: unrestricted3. Print PowerPoint file: unrestricted4. Move: unrestricted

Page 253: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

253

5. Copy: unrestricted</Resource>

</Component></Item><Item>

<Descriptor><Statement mimeType="text/xml">

<dmp1_dii:Identifier>urn:Leonardo:AudioRecording:1234</dmp1_dii:Identifier></Statement>

</Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2rc:DMPInformation>

<dmp2rc:Metadata><dmp2rc:StructuredData ref="urn:mpeg:mpeg7:schema:2001">

<!-- Metadata for audio track--></dmp2rc:StructuredData>

</dmp2rc:Metadata></dmp2rc:DMPInformation>

</Statement></Descriptor><Component>

<Resource mimeType="application/mp21-ipmp"><dmp2_ipmpdidl:ProtectedAsset mimeType="audio/mpeg">

<dmp2_ipmpdidl:Info><dmp2_ipmpinfo:IPMPInfoDescriptor>

<dmp2_ipmpinfo:RightsDescriptor>

<dmp2_ipmpinfo:LicenseReference>urn:myLicenses:6789A</dmp2_ipmpinfo:LicenseReference>

</dmp2_ipmpinfo:RightsDescriptor></dmp2_ipmpinfo:IPMPInfoDescriptor>

</dmp2_ipmpdidl:Info><dmp2_ipmpdidl:Contents ref="AudioRecording1234.mp3"/>

</dmp2_ipmpdidl:ProtectedAsset></Resource>

</Component></Item><Item>

<Descriptor><Statement mimeType="text/xml">

<dmp1_dii:Identifier>urn:Leonardo:VideoRecording:5678</dmp1_dii:Identifier></Statement>

</Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2rc:DMPInformation>

Page 254: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

254

<dmp2rc:Metadata><dmp2rc:StructuredData ref="urn:mpeg:mpeg7:schema:2001">

<!-- Metadata for video track--></dmp2rc:StructuredData>

</dmp2rc:Metadata></dmp2rc:DMPInformation>

</Statement></Descriptor><Component>

<Resource mimeType="application/mp21-ipmp"><dmp2_ipmpdidl:ProtectedAsset mimeType="video/mpeg">

<dmp2_ipmpdidl:Info><dmp2_ipmpinfo:IPMPInfoDescriptor>

<dmp2_ipmpinfo:RightsDescriptor>

<dmp2_ipmpinfo:LicenseReference>urn:myLicenses:6789A</dmp2_ipmpinfo:LicenseReference>

</dmp2_ipmpinfo:RightsDescriptor></dmp2_ipmpinfo:IPMPInfoDescriptor>

</dmp2_ipmpdidl:Info><dmp2_ipmpdidl:Contents ref="VideoRecording5678.mpg"/>

</dmp2_ipmpdidl:ProtectedAsset></Resource>

</Component></Item><Item>

<Descriptor><Statement mimeType="text/xml">

<dmp1_dii:Identifier>urn:Leonardo:Presentations:2222</dmp1_dii:Identifier></Statement>

</Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2rc:DMPInformation>

<dmp2rc:Metadata><dmp2rc:StructuredData ref="urn:mpeg:mpeg7:schema:2001">

<!-- Metadata for the slide presentation--></dmp2rc:StructuredData>

</dmp2rc:Metadata></dmp2rc:DMPInformation>

</Statement></Descriptor><Component>

<Resource mimeType="application/mp21-ipmp"><dmp2_ipmpdidl:ProtectedAsset mimeType="application/vnd.ms-powerpoint">

<dmp2_ipmpdidl:Info><dmp2_ipmpinfo:IPMPInfoDescriptor>

Page 255: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

255

<dmp2_ipmpinfo:RightsDescriptor>

<dmp2_ipmpinfo:LicenseReference>urn:myLicenses:6789A</dmp2_ipmpinfo:LicenseReference>

</dmp2_ipmpinfo:RightsDescriptor></dmp2_ipmpinfo:IPMPInfoDescriptor>

</dmp2_ipmpdidl:Info><dmp2_ipmpdidl:Contents ref="conferencePresentation33.ppt"/>

</dmp2_ipmpdidl:ProtectedAsset></Resource>

</Component></Item>

</Item></Container>

</DIDL>

Figure 244 – Example DCI for the Open Release Content

4.2.2.2 Consumption

End User Luigi, a conference participant, wishing to Use an Open Release Content Item, performsthe following steps:

Who Perform What Notes IDP Tool Ref.Luigi Access Content Item Access Content 3.6.1Luigi Un-Package Content Item Package Content 4.1.1Luigi Use Content Item As per Licence terms Represent Content Elements 2.

Note that an “Open Release browser” would facilitate Access and Use of Open Release Contentaccording to the Licence terms. For instance the browser could display a human-readable notice tothe user about the permissions given in the Licence.

Licence for every conference participant

Figure 245 shows an example Licence for Luigi's Device, obtained by Luigi from Leonardo aftercommunicating him his SAV Content ID. The Licence Grants Luigi's Device to Use the Resourcespart of the Content Item under some conditions.

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:bpx="urn:mpeg:mpeg21:2005:01-REL-BPX-NS" xmlns:dacx="urn:mpeg:mpeg21:2006:01-REL-DACX-NS" xmlns:dmp2rl="urn:dmp:idp2:Represent:License:2006:02"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:dmp:idp2:Represent:License:2006:02 dmp2rl-2006-02.xsd">

<grant>

Page 256: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

256

<keyHolder><info>

<dsig:KeyName>Luigi's Device identifier</dsig:KeyName></info>

</keyHolder><possessProperty/><sx:propertyUri definition="urn:MyConference:participant"/><validityInterval>

<notAfter>2006-04-30T00:00:00</notAfter></validityInterval>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>Leonardo's Certificate</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 245 – Example of a Licence for Luigi's Device

4.2.3 Tools for walkthrough #2

In this case Leonardo wants to Release his Content with a Licence that is derived from a CreativeCommons licence.

4.2.3.1 Creation

The following example gives a possible DCI for this case where the following information isrepresented:

1. The container has the identifier “urn:mpegRA:mpeg21:dii:or:1110” and contains one Item2. The Item is declared as “Photo of Bob” with the identifier “urn:mpegRA:mpeg21:dii:or:1111”3. The content was derived of the item with the identifier• “urn:mpegRA:mpeg21:dii:or:0010”4. The title of the image is “My Photo1”.5. The Licence does not allow commercial use and modification of the item.6. It is annotated that the item with the identifier “urn:mpegRA:mpeg21:dii:or:5500” is an adapted

version of this item.

<?xml version="1.0"?><DIDL xmlns="urn:mpeg:mpeg21:2002:01-DIDL-NS" xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg21:2006:07-DIDL-OR-NS didl_OR-MAF.xsd">

<Container><Descriptor>

<Statement mimeType="text/xml"><!-- Identifier of the OR-File --><dii:Identifier>urn:mpegRA:mpeg21:dii:or:1110</dii:Identifier>

Page 257: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

257

</Statement></Descriptor><Item id="content_01">

<Descriptor><Statement mimeType="text/plain">Photo of Bob</Statement>

</Descriptor><Component id="comp_01">

<Descriptor><Statement mimeType="text/xml">

<!-- Identifier of the Content_ 01 --><dii:Identifier>urn:mpegRA:mpeg21:dii:or:1111</dii:Identifier>

</Statement></Descriptor><Descriptor>

<Statement mimeType="text/xml"><!-- Related Identifier to the original content--><dii:RelatedIdentifier relationshipType="urn:mpeg:mpeg21:2002:01-RDD-

NS:IsAdaptationOf">urn:mpegRA:mpeg21:dii:or:0010</dii:RelatedIdentifier></Statement>

</Descriptor><Descriptor>

<Statement mimeType="text/xml"><Mpeg7 xmlns="urn:mpeg:mpeg7:schema:or:2007"

xsi:schemaLocation="urn:mpeg:mpeg7:schema:or:2007 mpeg7_OR.xsd"><Description>

<CreationInformation><Creation>

<Title>My Photo1</Title></Creation>

</CreationInformation></Description>

</Mpeg7></Statement>

</Descriptor><Descriptor>

<Statement mimeType="text/xml"><!--The following license doesn't allow the commercial use and modification of

the item. --><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS"

xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"xmlns:m3x="urn:mpeg:mpeg21:2006:01-REL-M3X-NS"xmlns:enc="http://www.w3.org/2001/04/xmlenc#"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M3X-NS rel-m3x-v1.xsd">

<grant>

Page 258: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

258

<mx:play/><digitalResource licensePartId="di_1">

<nonSecureIndirect URI="urn:mpegRA:mpeg21:dii:or:1111"/></digitalResource><m3x:notice noticeType="ShowBeforeExercise">

<m3x:copyRights>Written by Bob, AAA Company, 2007.1.1</m3x:copyRights>

<m3x:nonCommercialUse/></m3x:notice>

</grant><grant>

<m1x:governedCopy/><digitalResource licensePartIdRef="di_1"/><m3x:notice>

<m3x:copyRights>Written by Bob, AAA Company, 2007.1.1</m3x:copyRights>

<m3x:nonCommercialUse/></m3x:notice>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>Rights Issuer Public Key Name</dsig:KeyName></info>

</keyHolder></issuer>

</license></Statement>

</Descriptor><Resource ref="myFirstPicture.jpg" mimeType="image/jpeg"/>

</Component><Annotation target="#comp_01">

<Descriptor><Statement mimeType="text/xml">

<!-- Related Identifiers, which adapted this content. As annotation because itchanges over time. -->

<dii:RelatedIdentifier relationshipType="urn:mpeg:mpeg21:2002:01-RDD-NS:HasAdaptation"> urn:mpegRA:mpeg21:dii:or:5500</dii:RelatedIdentifier>

</Statement></Descriptor>

</Annotation></Item>

</Container></DIDL>

Figure 246 – Example of an Open Release DCI

Page 259: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

259

4.2.3.2 Creation of a DCI with a Creative Commons License

The following example gives a DCI containing a License representing6 a Creative Commons (CC)license “Attribution Non-commercial No Derivatives” (by-nc-nd) 1.0 for the purpose of having itprocessed by a machine where the following information is contained:

The author, John Smith, created a digital item named, “My Photo1”. He is from the organization, “Smith Inc.” and has an email address “[email protected]”. The place the content is created is in Piruli in Spain, on 1998/10/03T14:13. The content is licensed under a CC license scheme, with a licensing information page at

http://creativecommons.org/licenses/by-nd-nc/1.0/

<?xml version="1.0" encoding="UTF-8"?><Mpeg7 xmlns="urn:mpeg:mpeg7:schema:or:2007"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg7:schema:or:2007 mpeg7_OR.xsd">

<Description><CreationInformation>

<Creation><Title>My Photo1</Title><Creator>

<Agent><Name>

<GivenName>John</GivenName><FamilyName>Smith</FamilyName>

</Name><Affiliation>

<Organization><Name>Smith Inc.</Name>

</Organization></Affiliation><ElectronicAddress>

<Email>[email protected]</Email></ElectronicAddress>

</Agent></Creator><CreationCoordinates>

<Location><Name>Piruli</Name><Region>es</Region>

</Location><Date>

<TimePoint>1998-10-03T14:13+01:00</TimePoint></Date>

6The reader is warned that in this document the word “represent A” means that A (typically an analogue entity) is

represented in bits. Therefore no claim can be made in general that the representation of A is fully equivalent to A

Page 260: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

260

</CreationCoordinates><CopyrightString> Creative Commons (CC) License: Attribution Non-commercial No

Derivatives (by-nc-nd) </CopyrightString></Creation><RelatedMaterial>

<MaterialType><Name>Licensing Information Page</Name>

</MaterialType><MediaLocator>

<MediaUri>http://creativecommons.org/licenses/by-nd-nc/1.0/</MediaUri></MediaLocator>

</RelatedMaterial></CreationInformation>

</Description></Mpeg7>

Figure 247 – DCI with a Creative Commons License

4.2.4 Tools for walkthrough #3

In this case Leonardo wishes to be informed of how many “hits” his Content receives, i.e. how manytimes Users Access the Licence not Bundled within the Content file to Use it.

4.2.4.1 Creation

This time Leonardo performs the following steps.

Who Perform What Notes IDP Tool Ref.Leonardo Create Resource PowerPoint file Out of scopeLeonardo Create Metadata Of Powerpoint file Out of scopeLeonardo Create Audio and

videoOut of scope

Leonardo Create Resource Audio-visual Resource file Out of scopeLeonardo Create Metadata Of audio-visual Resource file NoneRegistrationAgency

Identify Resource andMetadata

PowerPoint file and audio-visual file

None

Leonardo Represent Identifier In Resources and Metadata RepresentIdentifier

2.5.1

Leonardo Create Human-readablelicense

With the followingpermissions: Play

a. Time of Use:i. until end of

conference (Userswho are conferenceparticipants)

ii. after end ofconference (allUsers in the selected

Out of scope

Page 261: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

261

jurisdiction)b. Number of times: 1

Store: unrestricted Print PowerPoint file:

unrestricted Move: unrestricted Copy: unrestricted Territoriality: for the

selected jurisdictionRegistrationAgency

Identify Humanreadablelicense

Lower case "L" because this isnot a Licence

Out of scope

Leonardo Create Machine-readableLicence

Corresponding to the human-readable license (expressed inverbose XML)

RepresentLicence

2.10

RegistrationAgency

Identify Licence None

Leonardo BinariseXML

Licence To reduce memory,transmission and processingrequirements

RepresentBinary XML

2.19

Leonardo Store Licence In own server Out of scopeLeonardo Create Content Item Containing

4. Resources5. Metadata6. Human-readable license

for the selected jurisdiction7. Pointer to the binary

Licence8. Identifiers of all the above

RepresentContent

2.1

RegistrationAgency

Identify Content Item None

Leonardo Represent Identifier In Content Item RepresentContentIdentifier

2.5.1

Leonardo BinariseXML

Content Item To reduce memory,transmission and processingrequirements

RepresentBinary XML

2.19

Leonardo Package Content As file PackageContent AsFile

4.1.1

Leonardo Release Content file To conference organisers None

4.2.4.2 Consumption

End User Luigi wishing to Use an Open Release Content Item would perform the following steps:

Who Perform What Notes IDP Tool Ref.

Page 262: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

262

Luigi Access ContentItem

Access Content asFile

3.5.1

Luigi Access Licence Every time Licence is Accessed,Licence server adds a hit

Access Licence asFile

3.5.2

Luigi Un-Package

ContentItem

Package Content 4.1.1

Luigi Use ContentItem

As per Licence terms Represent ContentElements

2.

4.2.5 Tools for walkthrough #4

In this case Leonardo wants to cover a broader number of jurisdictions with a license for each ofthem. The steps of the previous walkthrough are repeated with the difference that for each selectedjurisdictions separate license will be created.

4.2.5.1 Consumption

End User Luigi wishing to Use an Open Release Content Item would perform the following steps:

Who Perform What Notes IDP Tool Ref.Luigi Access Content

ItemAccess Content asFile

3.5.1

Luigi Select Jurisdiction Out of scopeLuigi Access Licence Every time Licence is Accessed,

Licence server adds a hitAccess Licence asFile

3.5.2

Luigi Un-Package

ContentItem

Package Content 4.1.1

Luigi Use ContentItem

As per Licence terms Represent ContentElements

2.

4.3 Use Case and Value Chain No. 2 – Open Search

4.3.1 Rationale

The WWW has had the fast evolution that everybody knows on the basis of the idea that contentcould somehow be posted by anybody for anybody to use without much concern on whether the userposting the content actually had rights to that content and without considering the use that could bemade of the posted content.

This model is clearly reaching its limits. On the one hand there is a demand, on the part of peopleaccessing content on the web, to be assured of its legal status. On the other there is a demand, on thepart of people posting content on the web, to users of that posted content to comply with someconditions.

This Use Case is about a hypothetical service provider GreatRedSearch offering services for thosewho post lightly Governed Content and those who Use it.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

Page 263: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

263

4.3.2 Tools for walkthrough #1

GreatRedSearch (GRS) is a fast growing search engine company that sees the transition of the webto the new phase where Content is posted in a light-weight Governed form (e.g. corresponding to“Open Release” of Use Case #1) that also provides guarantees of the origin of the Content.

4.3.2.1 Creation

GRS decides to offer a service (for free) allowing subscriber Sam to:

Who Perform What Notes IDP Tool Ref.Sam Access Open

Releaseauthoringtool

(this step is outside of DMP) Out ofscope

Sam Select license From a set of standard human-readable licenses for a range ofjurisdictions

Out ofscope

GRS Identify license Out ofscope

GRS Identify Licence RepresentLicenceIdentifier

2.5.2

Sam BinariseXML

Licence To reduce memory, transmission andprocessing requirements

RepresentBinaryXML

2.19

Sam Store Licence In GRS server NoneSam Create Content

ItemContaining1. Resources2. Metadata3. Human-readable license for the

selected jurisdiction4. Pointer to the binary License5. Identifier of all the above

RepresentContent

2.1

GRS Identify ContentItem

None

Sam Represent ContentIdentifier

In the Content Item RepresentContentIdentifier

2.5.1

GRS BinariseXML

ContentItem

RepresentBinaryXML

2.19

Sam Store ContentItem

In GRS server None

4.3.2.2 Consumption

End User Pat of the GRS service can perform the following

Page 264: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

264

Who Perform What Notes IDP Tool Ref.Pat Access Open

Releasebrowser

Out of scope

Pat Browse ContentData Base

The database containing records createdfrom the Content stored in-house and theContent searched on the WWW. Eachrecord contains:

7. Content URL8. Metadata9. Licensing conditions

Out of scope

Pat Access ContentItem

AccessContent asFile

3.5.1

Pat Access Licence AccessLicence asFile

3.5.2

Pat Un-Package

ContentItem

PackageContent

4.1.1

Pat Use ContentItem

As per Licence terms RepresentContentElements

2.

4.4 Use Case and Value Chain No. 3 – Home Distribution #1

4.4.1 Rationale

This Use Case offers an example of how to mitigate the difficulties that some Rights Holdersencounter in Releasing unencrypted digital media because of the possibility for a User to CopyContent on several Devices and Use it simultaneously, thereby reducing their revenues.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.4.2 Tools for walkthrough #1

GreatRedRecords (GRR) is a record label that is open to the adoption of new technology as a meansto promote use of its repertoire by its loyal customer base and to extend use to new customers. GRRis concerned by the possibility of indiscriminate digital copies of its content, but feels that currentDRM solutions for digital distribution do not allow enough flexibility. GRR is seeking a new way tooffer its customers Use of its repertoire with the sole restriction that Use is made with one Device ata time.The marketing department has come up with the following proposal:

A family, identified by a Domain, is offered a large number of songs at appealing prices; all family members independently select songs for their own. The selection is called

ContentGroup;

Page 265: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

265

Family members can play one song at a time taken from their ContentGroup any time they wanton any of their Devices.

It is clear that a song that appears in more than one ContentGroup can be Used by more that oneDevice. In this case simultaneous Use of than song is obviously possible.

Let’s assume that a set of 8 songs has been selected by the Jones family and two family membersAnne and Bob have made overlapping selections for their ContentGroups A and B, i.e. some songshave been selected for A, some for B and some for both A and B. Simultaneous Use of one song outof 1, 2, 3, 4, 5 and 6 is possible for ContentGroup A and of one song out of 4, 5, 6, 7 and 8 ispossible for ContentGroup B. Therefore songs 4, 5 and 6 can be Used simultaneously. This isdepicted in Figure 248

Figure 248 – Songs in ContentGroups A and BThe following steps are needed to implement the proposal made by the GRR marketing department.Of course several variations are possible but only the one described below will be considered further:

Who Perform What Notes IDP Tool Ref.DMDManufacturer

Make DMD Out of scope

CertificationAgency

Certify DMD Out of scope AD #52.

RegistrationAgency

Identify Device DMD Registered Register Domain 2.5.53.1.1

The Jones Buy DMD Out of scopeThe Jones Install DMD On the family’s home

media serverOut of scope

DomainAdministrator

Create Domain Create DomainProtocol

3.3.2.1

Anne Add Device DMD adds Anne’sDevices to the Domain

Add DeviceProtocol

3.3.4.1

Anne Buy Licence Corresponding to set ofsongs belonging toContentGroup A

Out of scope

Anne Access Content Containing Licence Access Contentas File

3. 5.1

Bob Add Device DMD adds Bob’sDevices to the Domain

Add DeviceProtocol

3.3.4.1

Page 266: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

266

Bob Buy Licence Corresponding to set ofsongs belonging toContentGroup B

Out of scope

Bob Access Content Containing Licence Access Contentas File

3. 5.1

Bob Un-Package

Content Item Package Content 4.1.1

Bob Use Content Item Song #6 as per Licenceterms

RepresentContentElements

2.

Device Create Use Data Device used by Bob toplay song #6

Create Use Data 2.17

Anne Un-Package

Content Item Package Content 4.1.1

Anne Use Content Item Song #1 as per Licenceterms

RepresentContentElements

2.

Device Create Use Data Device used by Anne toplay song #1

Create Use Data 2.17

Bob Use Content Item Song #2 against Licenceterms at the same timeas Anne plays song #1

RepresentContentElements

2.

Device Create Use Data Device used by Bob toplay song #2

Create Use Data 2.17

Device Connect DMD Device used by Anne toplay song #1

Protocol to detectsimultaneousUsage

3.3.5

Device Connect DMD Device used by Bob toplay song #2

Protocol to detectsimultaneousUsage

3.3.5

DMD Detect SimultaneousUse

DMD detects un-Licences simultaneousUse of song #1 and song#2

Protocol to detectsimultaneousUsage

3.3.5

Procedure for subsequent steps, if simultaneous use did occur, follows whatever representationswere set out in GRR marketing literature.

4.5 Use Case and Value Chain No. 4 – Home Distribution #2

4.5.1 Rationale

When using DRM systems based on copy protection, End Users are often confronted withinconveniences, if they want to transfer and/or copy content to various devices within theirenvironment. One of the reasons for this is that DRM systems need to have the right key(s) “in theright place, at the right time” in order to encrypt and decrypt content as needed.

Page 267: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

267

Alternatively, a traceability-based approach can be used. While not aiming at preventing End Usersfrom Accessing Content “ex ante”, as conventional DRM does, such systems require that End-Usersmark Content with a responsible User (e.g. the End-User), thus generating “Signed Content”. TheUser is traceable “ex post” in cases of unauthorized public dissemination. However, in return End-Users can Access and Copy Content within their personal environment as they wish, avoiding manycomplexities and possible inconveniences of conventional DRM solutions.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.5.2 Tools for walkthrough #2

This walkthrough has three Users:

1. GreatGreenMusic (GGM) is a Retailer that Releases Governed and protected Content(specifically music) with DRM Information that signals that a DRM Tool is required to Decryptand mark Resources with the Identifier of the User of the Content Item.

2. GreatGreenTool (GGT) is a company that provides the DRM Tool.3. Jim is a User who is willing to Use marked Resources from Governed Content acquired from

GGM in his home environment in an unprotected form.

Jim performs the following steps:

Who Perform What Notes IDP Tool Ref.Jim Buy Licence Allowing Export Out of scopeJim Access Content

ItemContent (title: INeedAKey) has1. the above Licence Bundled within it2. DRM Information signals the

specific Resource marking DRMTool

AccessContent asFile

3.5.1

Jim Un-Package

ContentItem

PackageContent

4.1.1

Jim Use ContentItem

As per Licence terms RepresentContentElements

2.

DRMProcessor

Access DRMToolBody

From GGT Access DRMTool Body asFile

3.5.3

DRMProcessor

Export Resource Done on INeedAKey. The DRM ToolParses and Decrypts the Resource inINeedAKey, marks it with Jim’s ID, andStores it as an un-Encrypted mp3 fileICanBeCopied

Out of scope

Jim Play Resource On all mp3 players within his personalenvironment

Out of scope

Page 268: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

268

Jim will not publicly disseminate the song because the ID of the marking software pointing to hissoftware is within the mp3 file.

4.6 Use Case and Value Chain No. 5 – Internet Distribution

4.6.1 Rationale

There is ample evidence that consumers are interested in accessing content via new, non-physicaldistribution mechanisms (e.g. the Internet) and to use that content on a variety of devices, e.g.portable devices. Rights holders have shown their availability to release governed content throughsuch distribution mechanisms. However, so far this has been done using technologies that do notprovide interoperability. The lack of interoperability is a serious obstacle to the widespreadacceptance of governed content distribution mechanisms that compare favourably with existingservices for their friendliness.

This Use Case is about how the technologies specified in Chapter 3 can be used to implementInternet distribution of Governed Content for Use on Portable (PAV) and Stationary (SAV) Audioand Video Devices.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.6.2 Tools for walkthrough #1

GreatRedBand (GRB) has had considerable success in its native territory aroundMiddleofnowheretown and its fame is spreading to the nearby Nexttonowhereville. The rest of theworld is just next step. GRB produces Instances of original Works, original Adaptations of existingWorks and non original Works.

Unfortunately contacts with distributors have not been successful, so GRB is considering theproposal of an IT solution vendor to try Internet-based distribution of their music as GovernedContent. The proposal looks attractive because it promises to reach the growing number of DMP-compatible PAV Devices that can be used to Play Governed Content.

4.6.2.1 Creation

GRB decides to purchase an integrated IT solution to perform the following steps when producingeach of its recordings of its original Works:

Who Perform What Notes IDP Tool Ref.GRB Make Resources MP3 file (possibly other

Resources e.g. photos, videosetc.)

Out of scope

GRB Make Metadata For all Works and Resources ineach recording

None

GRB Make license Human-readable license for allthe jurisdictions in which GRBintends to distribute its recording

Out of scope

GRB Make Licence Corresponding to the human- Represent 2.10

Page 269: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

269

readable licence LicenceRegistrationAgency

Identify Licence RepresentLicenceIdentifier

2.5.2

GRB BinariseXML

Licence To reduce memory, transmissionand processing requirements

RepresentBinary XML

2.19

GRB Store BinaryLicence

In own Licence Provider Device None

GRB Encrypt Resources RepresentFixed DRMTools

2.8.3

GRB Make ContentItem

Containing Encrypted Resources,Metadata, human-readableLicence, pointer to Licence andIdentifiers of all the above

RepresentContent

2.1

RegistrationAgency

Identify ContentItem

None

GRB Represent Identifier In Content Item RepresentContentIdentifier

2.5.1

GRB BinariseXML

ContentItem

To reduce memory, transmissionand processing requirements

RepresentBinary XML

2.19

GRB Package ContentItem

To make a file PackageContent asFile

4.1.1

GRB Release PackagedContentItem

On GRB’s web site(this step is outside of DMP)

None

4.6.2.2 Consumption

Martin is a GRB fan. To Access their latest hit the following steps are performed:

Who Perform What Notes IDP Tool Ref.Martin Select Song From

www.GreatRedBand.comOut of scope

PXD Access ContentItem

Fromwww.GreatRedBand.com

None

PXD Access Licence From GRB Licence server Access Licence as File 3.5.2PXD Package Licence In DCF Package Content 4.1.1.9PXD Move DCF To Martin’s PAV NonePAV Un-

PackageContentItem

Package Content 4.1.1

PAV Use ContentItem

As per Licence terms Represent ContentElements

2.

Page 270: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

270

4.6.3 Tools for walkthrough #2

One of the Works that GRB wishes to Produce is called What Wonderful Music (WWM) byMagnificent B. Musico (MBM). WWM is registered with a Collective Management Society (CMS)that is also an Agency of the DMP Content Registration Authority.

4.6.3.1 Creation

The CMS offers an innovative web-based Work Licensing service that plugs into the GRB’s ITsolution and that supports GRB performing the following:

Who Perform What Notes IDP Tool Ref.CMS Make Metadata Standard WWM Metadata NoneGRB Select license On the CMS web site for an appropriate

(human-readable) distribution license forFirst Fixation and reproduction of GRB’sInstance of WWM by MBM

Out of scope

CMS Make Licence Corresponding to selected licenseCMS Identify Licence Represent

LicenceIdentifier

2.5.2

CMS Make ContentItem

RepresentContent

2.1

CMS Identify ContentItem

RepresentContentIdentifier

2.5.1

GRB Access ContentItem

Content Item #1 AccessContent asFile

3.5.1

GRB Make Resource The Resource is the MP3 file of theProduction. Other Resource types may beadded

Out of scope

GRB Make Metadata Of the MP3 file of the Production andpossibly other Resource types

None

CMS Identify Resource Out of scopeCMS Identify Metadata Out of scopeGRB Make Content

ItemContent Item from Content Item #1containing: Resources, Metadata andIdentifiers of all the above

RepresentContent

2.1

CMS Identify ContentItem

Content Item #2 None

GRB Represent Identifier In Content Item #2 RepresentContent

2.1

GRB Package ContentItem

Content Item #2 as file PackageContent

4.1.1

GRB Release DCF Content Item #2 on GRB’s web site None

Page 271: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

271

To benefit from available world wide Work licensing services and Work Use Monitoring GRBRegisters:

All their original Works for worldwide identification; Instances (i.e. recordings) for world wide identification.

Soto Lesan from a far away land is a fan of Magnificent B. Musico and is looking for newproductions of WWM by MBM. Soto Lesan does the following:

Searches the web for all references of MBM and is directed to GRB’s websiste; Selects GRB’s production of WWM by MBM; Continues his use case as does Martin in walkthrough #1.

4.7 Use Case and Value Chain No. 6 – Controlled Peer-to-Peer Distribution

4.7.1 Rationale

GreatGreenP2P (GGP) is a P2P network that has decided to “go legit”. The network hosts a vibrantcommunity of music lovers whose members used to indulge in the traditional file sharing. With thechange of times GGP has decided to retain its focus on music but to extend the offer to access musicof two types of provenance:

Self-produced by GGP members as Open Release Content where the Release mechanism isprovided by GGP’s P2P network

Produced by regular record companies that Release their assets on GGP’s P2P network aso unEncrypted Resource in a Governed DCI for promotiono Encrypted Resource in a Governed DCI for sale.

GGP provides its members with a “Create and Share” program to be used for making and sharingContent on the P2P network. The program is a Certified Application that acts as a Content CreationDevice once installed.

A member wishing to share his own music in the community can make a DCI with

2 Resources3 Metadata4 Licence

The program supports the following Functions (same as for Open Release and Open Search):

Registering the Resource with a Collective Management Society (CMS) Making a Licence using a small number of standard templates Registering the Licence Making the DCI Registering the DCI Making the DCF for distribution.

Page 272: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

272

The program supports making DCIs with clear-text Resources only.

Once the “Create and Share” program has created a DCF it Stores it in the shared directory used byGGP’s P2P network in the Creator’s PC.

Further GGP makes a deal with GreatGreenRecords (GGR), an innovative record company. GGRwants to Release their repertoire on GGP’s P2P network. The Release is made in the form of a DCF.The DCI in the DCF contains

Reference to one or more Resources Metadata Licence.Only the most valuable of its Resources are Encrypted by GGR. The less known titles are Releasedin clear-text for promotion. All GGR Resources Released by GGR are watermarked.

GGP distributes to its members an “Access and Play” program to Access and Play songs Releasedon GGP P2P network. The same program can be employed to Access and Play Content Released byits grass root membership and by GGR. The program is a Certified Application that acts as aContent Consumption Device once installed.

A member of the GGP P2P network using the “Access and Play” program can scour the network tofind Content Items of his interest. Once a Content Item is found, the program Parses the DCI anddisplays the Metadata in it. If the member is interested it can download the DCI to his PC where itwill be Stored in the shared directory used by GGP’s P2P network.

There is no incentive for members of the GGP network to extract Unencrypted Resources fromGGR’s Content Items as sharing on the network can only be done with Content Items and not withsingle Resources. There may well be an incentive to Export unEncrypted Resources from GGRoutside of GGP network. However, the license explicitly forbids such an Export and the watermarkallows GGR to monitor the importance of the phenomenon.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.7.2 Tools for walkthrough #1

4.7.2.1 Creation (Sara’s Content)

Sara has created lyrics and scores of her new song. She has sung, played and recorded the song inthe MP3 format.

Who Perform What Notes IDP Tool Ref.Sara Make Resource MP3 file Out of scopeSara Request Identifier Of Resource from CMS NoneCMS

Assign Identifier To Resource None

Page 273: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

273

Sara Make Metadata For all Works and Resources in therecording

None

Sara Select license Human-readable license for GGPdistribution

Out of scope

Sara Make Licence Corresponding to the human-readablelicense

RepresentLicence

2.10

Sara Request Identifier Of Licence to GGP NoneGPP Assign Identifier To Licence NoneSara Binarise Licence To reduce memory, transmission and

processing requirementsRepresentBinary XML

2.19

Sara Create DCI With Resources, Metadata, license,Licence and all Identifiers

RepresentContent

2.1

Sara Request Identifier Of Content Item to GGP NoneGGP Assign Identifier To Content Item NoneSara Add Identifier To Content Item Represent

Content2.1

Sara Binarise DCI To reduce memory, transmission andprocessing requirements

RepresentBinary XML

2.19

Sara Package DCI To make DCF PackageContent

4.1.1

Sara Store DCF i.e. Release on GGP network None

4.7.2.2 Consumption (Sara’s Content)

Who Perform What Notes IDP Tool Ref.Phil Browse GGP

networkUsing GGP Metadata to look forinteresting songs

None

Phil Select Song In GGP network (Sara’s Device) Out of scopeDevice Access Content

ItemFrom Sara’s Device Out of scope

Device Un-Package

ContentItem

Package Content 4.1.1

Device Use ContentItem

As per Licence terms Represent ContentElements

2.

4.7.3 Tools for walkthrough #2

GGP makes a deal with GGR whereby Content is Delivered to GGP as a DCI with unEncryptedResources and prepared using a program similar to GGP’s “Create and Share” program.

4.7.3.1 Creation (GGR’s Content)

For titles that require Encryption GGP makes the DCI for Release on the P2P network with thefollowing steps:Who Perform What Notes IDP Tool Ref.GGP Un-

PackageContent Item Package Content 4.1.1

Page 274: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

274

GGP Use Content Item As per Licence terms Represent ContentElements

2.

GGP Encrypt Resource With Resource Encryption Key Represent FixedDRM Tool

2.8.3

GGP Add URI of GGPLPD

To Licence Represent Licence 2.10

GGP Assign Identifier To Licence RepresentIdentifier

2.5.2

GGP Assign Identifier To DCI RepresentIdentifier

2.5.1

GGP Make DCI With Encrypted Resource, Licenceand Identifiers

Represent Content 2.1

GGP Binarise DCI To reduce memory, transmissionand processing requirements

Represent BinaryXML

2.19

GGP Package DCI To make DCF Package Content 4.1.1GGP Store DCF i.e. Release on GGP network None

Phil is the first P2P user who has found Sara’s song in her PC and feels it looks interesting. He cando that because the P2P network gives direct access to Metadata in DCI. He performs the following.

4.7.3.2 Consumption (GGR’s Content)

Igor knows that Ivan has similar tastes as his and has found a song in Ivan’s PC that looksinteresting. This comes from GGR’s repertoire and is Encrypted. Igor performs the following

Who Perform What Notes IDP Tool Ref.Igor Browse GGP network Using GGP Metadata to

look for interesting songsNone

Igor Select Song In GGP network (Ivan’sDevice)

Out of scope

Device Access DCF From Ivan’s Device Out of scopeDevice Un-

PackageDCF Package

Content4.1.1

Device Parse DCI Notifies Igor that a Licenceis required

RepresentContentElements

2.

Igor Make Transaction With GGP server Out of scopeDevice Access Licence From GGP LPD Access

Licence3.5.2

Device Parse Licence Encrypted Decryption Keyis extracted and sent to theDRM Processor

RepresentLicence

2.10

DRMProcessor

Decrypt EncryptedResourceDecryption Key

Using Igor’s Public Key Out of scope

Page 275: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

275

DRMProcessor

Send DecryptedResourceDecryption Key

To Fixed DRM Tool RepresentDRM message

2.12

FixedDRM Tool

Decrypt Resource Using Decrypted ResourceDecryption Key

Out of scope

Igor Play Resource Out of scope

4.8 Use Case and Value Chain No. 7 – Smart Retailer

Services that are respectful of the Rights of Rights Holders can be promoted by exploiting theflexibility of digital technologies to offer more than what is being provided by other types ofservices. One way is to offer Content subject to conditions that suit the needs of End-Users.

This Use Case describes how Retailer GreatRedOffers (GRO) is betting the future of the enterpriseon its ability to offer Content with a broad variety of very flexible conditions. Therefore it onlyprovides examples licenses without considering the other elements of the Value-Chain.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.8.1 Tools for walkthrough #1

GRO issues a Licence to Play a Content Item on a Device that can be Identified. Below is anexample:

<?xml version="1.0" encoding="UTF-8"?><licensexmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:dmprr="urn:mpeg:mpeg21:2005:04-REL-DMPRR-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-REL-MX-NS rel-mx-dmpREL.xsdurn:mpeg:mpeg21:2005:04-REL-DMPRR-NS dmpREL.xsd">

<grant><keyHolder>

<info><dsig:KeyName>Device A's certificate or Identifier</dsig:KeyName>

</info></keyHolder><mx:play/><digitalResource>

<nonSecureIndirect URI="urn:games.breakout.class"/></digitalResource>

</grant><issuer>

<keyHolder><info>

Page 276: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

276

<dsig:KeyName>Rights Issuer Public Key Name</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 249 – Example of Licence to Play a Content Item on a Device

4.8.2 Tools for walkthrough #2

GRO issues a Licence to Play once (i.e. to “preview”) a Content Item to any Device.An example license is given below

<?xml version="1.0" encoding="UTF-8"?><licensexmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:dmprr="urn:mpeg:mpeg21:2005:04-REL-DMPRR-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-REL-MX-NS rel-mx-dmpREL.xsdurn:mpeg:mpeg21:2005:04-REL-DMPRR-NS dmpREL.xsd">

<grant><mx:play/><digitalResource>

<nonSecureIndirect URI="urn :songs.newsong.mp3"/></digitalResource><sx:exerciseLimit>

<sx:count>1</sx:count></sx:exerciseLimit>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>Rights Issuer Public Key Name</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 250 – Example Licence to preview a Content Item to any Device

4.8.3 Tools for walkthrough #3

GRO issues a Licence to Play a Content Item on a Device that can be Identified when the followingconditions both hold:

1. The actual date/time is less than a specified date/time2. The total duration the Content Item has been Played does not exceed a specified length of time.

Page 277: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

277

An example Licence is given below

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:dmprr="urn:mpeg:mpeg21:2005:04-REL-DMPRR-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-REL-MX-NS rel-mx-dmpREL.xsdurn:mpeg:mpeg21:2005:04-REL-DMPRR-NS dmpREL.xsd" licenseId="543210">

<grant><keyHolder>

<info><dsig:KeyName>Device A's certificate or Identifier</dsig:KeyName>

</info></keyHolder><mx:play/><digitalResource>

<nonSecureIndirect URI="urn :mysongs.aaa.mp3"/></digitalResource><allConditions>

<validityInterval><notAfter>2004-02-13T15:30:00</notAfter>

</validityInterval><sx:validityTimeMetered>

<sx:duration>P15D</sx:duration></sx:validityTimeMetered>

</allConditions></grant><issuer>

<keyHolder><info>

<dsig:KeyName>Rights Issuer’s Public Key Name</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 251 – Example Licence to Play a Content Item on a Device with conditions

4.8.4 Tools for walkthrough #4

GRO issues a Licence (Super Distribution Licence) to Device A to Copy two times a Content ItemC without a Bundled Licence to another Device B. When Device B needs to Play Content Item C itAccesses a Licence from GRO.

An example Licence is given below

<?xml version="1.0" encoding="UTF-8"?>

Page 278: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

278

<r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:dmprr="urn:mpeg:mpeg21:2005:04-REL-DMPRR-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:enc="http://www.w3.org/2001/04/xmlenc#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg21:2005:04-REL-DMPRR-NS dmpREL.xsd"sx:profileCompliance="dmp-rel-1.0">

<r:grant><r:keyHolder>

<r:info><dsig:KeyName>Device A's certificate or identifier</dsig:KeyName>

</r:info></r:keyHolder><dmprr:copy/><r:digitalResource>

<r:nonSecureIndirect URI="urn:movies.wickedmovies.mymovie.mpeg"/></r:digitalResource><sx:exerciseLimit>

<sx:count>2</sx:count></sx:exerciseLimit>

</r:grant><r:issuer>

<r:keyHolder><r:info>

<dsig:KeyName>Issuer's signing key</dsig:KeyName></r:info>

</r:keyHolder></r:issuer>

</r:license>

Figure 252 – Example of Super Distribution Licence

4.8.5 Tools for walkthrough #5

GRO issues a Licence to Device A to Play a Content Item (http://acme.org/myVideo) which isEncrypted. The Licence conveys to Device A the Decryption key to Decrypt the Encrypted ContentData Element. The Decryption key, in turn, is Encrypted and can be Decrypted only by Device A’sprivate key.

An example Licence is given below

<?xml version="1.0" encoding="UTF-8"?><licensexmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:dmprr="urn:mpeg:mpeg21:2005:04-REL-DMPRR-NS"xmlns:enc="http://www.w3.org/2001/04/xmlenc#"

Page 279: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

279

xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-REL-MX-NS rel-mx-dmpREL.xsdurn:mpeg:mpeg21:2005:04-REL-DMPRR-NS dmpREL.xsd">

<grant><keyHolder>

<info><dsig:KeyName>Device A's certificate or Identifier</dsig:KeyName>

</info></keyHolder><mx:play/><dmprr:protectedResource>

<digitalResource><nonSecureIndirect URI="http://acme.org/myVideo"/>

</digitalResource><enc:EncryptedKey>

<enc:EncryptionMethod Algorithm=" http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><dsig:KeyInfo>

<dsig:KeyName>Device A’s Public Key Name</dsig:KeyName></dsig:KeyInfo><enc:CipherData>

<enc:CipherValue>AQABAA==</enc:CipherValue></enc:CipherData><enc:CarriedKeyName>Content encryption key for mymovie

clip</enc:CarriedKeyName></enc:EncryptedKey>

</dmprr:protectedResource></grant><issuer>

<keyHolder><info>

<dsig:KeyName>Rights Issuer’s Public Key Name</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 253 – Example of Licence to Play an Encrypted Content Item on a Device

4.8.6 Tools for walkthrough #6

GRO issues two Licences to Device A that is part of Domain D:

1. The first Licence states that the device holding the named certificate or Identifier is a member ofthe Domain by virtue of possessing DomainResource property. This is in essence a DomainCertificate for the Device.

2. The second Licence (associated to a Content Item) states that any Device in the Domain (i.e. anyDevice that has the stated Domain certificate) can Play the specified Content Item.

Page 280: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

280

These two Licences are enough to allow all Devices in the Domain to Play the stated Content Item.The benefit of this two Licence model is that individual Licences for each Content Item are notneeded.

Two example Licences are given below. The first conveys Domain information to a Device, thesecond grants to a Device part of that Domain some rights on a Content Item.

<?xml version="1.0" encoding="UTF-8"?><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:dmpmd="urn:dmp:Manage:Domain:2005:04-DMP-MD-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:enc="http://www.w3.org/2001/04/xmlenc#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:dmp:Manage:Domain:2005:04-DMP-MD-NS dmpmd.xsd"sx:profileCompliance="dmp-rel-1.0"><r:grant>

<r:keyHolder><r:info>

<dsig:KeyName>Device A's certificate or identifier</dsig:KeyName></r:info>

</r:keyHolder><r:possessProperty/><dmpmd:domainResource>

<dmpmd:DomainManager_ID>012345678</dmpmd:DomainManager_ID><dmpmd:Domain_ID>

<r:info><dsig:KeyName>Domain D's certificate or identifier</dsig:KeyName>

</r:info></dmpmd:Domain_ID><dmpmd:DomainKey>

<enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes128"/><enc:CipherData>

<enc:CipherValue>AQABAA==</enc:CipherValue></enc:CipherData><enc:CarriedKeyName>Domain D encyption key for Device A</enc:CarriedKeyName>

</dmpmd:DomainKey><dmpmd:Expiration>

<sx:duration>P1Y</sx:duration></dmpmd:Expiration>

</dmpmd:domainResource></r:grant></r:license>

Figure 254 – Example of Licence Granting a Device the membership to a Domain

Page 281: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

281

<?xml version="1.0" encoding="UTF-8"?><licensexmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:dmprr="urn:mpeg:mpeg21:2005:04-REL-DMPRR-NS"xmlns:dmpmd="urn:dmp:Manage:Domain:2005:04-DMP-MD-NS"xmlns:enc="http://www.w3.org/2001/04/xmlenc#"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-REL-MX-NS rel-mx-dmpREL.xsdurn:mpeg:mpeg21:2005:04-REL-DMPRR-NS dmprr.xsd"><grant>

<keyHolder><info>

<dsig:KeyName>Domain D's certificate or Identifier</dsig:KeyName></info>

</keyHolder><mx:play/><dmprr:protectedResource>

<digitalResource><nonSecureIndirect URI="http://acme.org/myVideo"/>

</digitalResource><enc:EncryptedKey>

<enc:EncryptionMethod Algorithm=" http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><dsig:KeyInfo>

<dsig:KeyName>Domain D’s Public Key Name</dsig:KeyName></dsig:KeyInfo><enc:CipherData>

<enc:CipherValue>ACSWDQ==</enc:CipherValue></enc:CipherData><enc:CarriedKeyName>Content encryption key for mymovie clip</enc:CarriedKeyName>

</enc:EncryptedKey><dmpmd:DomainManager_ID>012345678</dmpmd:DomainManager_ID><dmpmd:SubDomain_ID>012ABCCDDEEE</dmpmd:SubDomain_ID><dmpmd:SubDomain_ID>3210ZSTTYY21</dmpmd:SubDomain_ID>

</dmprr:protectedResource></grant>

</license>

Figure 255 – Example of a Licence enabling Devices belonging to a Domain to Use a Content Item

Page 282: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

282

4.9 Use Case and Value Chain no. 8 – Personal photography

4.9.1 Rationale

Great Red Cameras (GRC) is a camera manufacturer who senses the growing demand on the part ofits customers to retain control of their photos when they make “a copy” to their friends. Their latestmodel GRC-1 provides a new functionality that GRC hopes will encounter the favour of itscustomers.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.9.2 Tools for walkthrough #1

4.9.2.1 Creation

Shoji has bought a GRC camera and taken some pictures with it. Now he wants to send a selectionof those pictures to Kenji. These are the steps he performs:

Who Perform What Notes IDP Tool Ref.Shoji(camera)

Encrypt Resources .jpg files Out ofscope

Shoji(camera)

Move Resources To his PC using a Trusted Applicationprovided by GRP

None

Shoji (SAV) Make Licence Licence terms are, e.g.1. For one week2. Unlimited number of times3. Simultaneously on all the Devices

of the friend’s Domain

RepresentLicence

2.10

RegistrationAgency

Identify Licence None

Shoji (SAV) Store Licence To Shoji’s Licence Provider Device NoneShoji (SAV) Make Content

ItemWith the selected pictures (withwhatever other Resources andMetadata (e.g. EXIF) the User willdecide to add), pointer to Licence andIdentifiers of Resources, Metadata andLicence

RepresentContent

2.1

RegistrationAgency

Identify ContentItem

None

Shoji (SAV) Represent Identifier To Content Item RepresentContent

2.1

Shoji (SAV) Package ContentItem

For Delivery PackageContent

4.1.1

Shoji (SAV) Copy ContentItem

To Kenji (SAV) Out ofscope

Page 283: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

283

4.9.2.2 Consumption

Kenji, after receiving a notification that Shoji’s pictures have been Delivered, performs thefollowing:

Who Perform What Notes IDP Tool Ref.Kenji(SAV)

Un-Package

ContentItem

Using the Delivered DCF Package Content 4.1.1

Kenji(SAV)

Parse DCI Represent Content 2.

Kenji(SAV)

Access Licence From Shoji’s Licence ProviderDevice

Access Licence asFile

3.5.2

Kenji(SAV)

Play Pictures None

4.10 Use Case and Value Chain No. 9 – Open Broadcast

4.10.1 Rationale

The 70-year old broadcast service is one of the most successful forms of distribution of audio-visualcontent. The use of digital technologies has helped carry the role of television to the digital space.

The greater ability of end-users to re-use digital content is of concern to Content Providers andService Providers alike. That is why the world of television has been increasingly concerned withthe problem of introducing some form of content governance, if not protection, with the conditionthat the traditional experience of television viewing is not negatively affected.

In this Use Case a light-weight form of content governance is applied that may satisfy someconcerns of Content Providers, Service Providers while not affecting the End User experiencenegatively.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.10.2 Tools for walkthrough #1

This walkthrough has the following Users:

Type of User NameService Provider GreenTVToday (GTT)Device Manufacturer GreenTVDevices (GTD)End User Tom

The following steps are made

Who Perform What Notes IDP Tool Ref.GTD Make Device SAV capable of:

1. Interpreting the Licence;2. Displaying an appropriate

RepresentContentRepresent

2.12.10

Page 284: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

284

message when the End-Userperforms a Function that does notcomply with Permissions in theLicence

Licence

CertificationAgency

Certify Device Certification of REL interpreterconformance

AD#5

GTD Sell Device To Retailer Out of scopeGTT Make Licence Play Content in the UK;

Store Content for later Use; Move/Copy Content to another

SAV or PAV within the UK

RepresentLicence

2.10

GTT Make Content Clear-text Broadcasting of televisionprograms with a Licence Bundledwithin the Content

RepresentContent

2.1

GTT Deliver Content Streaming and Downloading ofGoverned Content

PackageContent asStrem

4.1.2

Tom Buy Device From Retailer selecting aManufacturer of his choice, e.g. GTD

Out of scope

Tom Access Service From different Service Providers (e.g.GTT) using the same SAV (e.g. theone bought from GTD)

Out of scope

Tom Access Content AccessContent asStream

3.5.1

Tom Un-Package

ContentItem

PackageContent

4.1.2

Tom Use ContentItem

As per Licence terms RepresentContentElements

2.

4.11 Use Case and Value Chain No. 10 – Open Governed Broadcast

4.11.1 Rationale

Currently some Service Providers adopt business models that employ technical protection measures(Conditional Access systems). Because of the absence of standards these business models requirethe creation of proprietary (portions of) value-chains that require in particular manufacturing,distribution and management of proprietary set top boxes.

Chapter 3 and Chapter 5 provide Tools to implement business models that do not require theestablishment of proprietary (portions of) value-chains but rely in particular on an open market ofInteroperable Devices. This is possible by giving the opportunity to

1. Service Providers to design their own DRM Tools that can be downloaded and executed inInteroperable Devices

2. Device Manufacturers to innovate their Devices for an open market.

Page 285: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

285

4.11.2 Tools for walkthrough #1

In this walkthrough the following Users are assumed to exist:

User PerformA plurality of Broadcast ServiceProviders who

Offer a variety of Governed Content-based Services (e.g.subscription, pay per view, prepaid etc.)

Based on independently selected DRM Tools Carried by a single service channel Updated employing a single update mechanism;

A plurality of Interoperable SAVDevice Manufacturers

Make Interoperable Devices

A plurality of Device CertificationAgencies

Certify Devices manufactured by Device Manufacturers

A single smart card technologyproviderA plurality of End Users who 1. Subscribe to and consume Services from Providers of

their choice2. Buy smart cards from smart card Providers3. Buy Interoperable SAV Devices from Manufacturers of

their choice4. Use Governed Content as per Licence

In this walkthrough the following specific Users play a role:

Type of User NameDevice Manufacturer DM-ADevice Certification Agency CA-BContent Service Provider SP-CSmart card Provider SP-DEnd User Keigo

Note that the financial transactions enabling Keigo to Access and Use Content are outside of thiswalkthrough.

Preliminary steps required before Keigo can Access and Use Content:

Who Perform What Notes IDP Tool Ref.CA-B Certify Device DM-A’s SAVs, i.e. CA-B places a Certificate

inside DM-A’s SAVAD#5

Keigo Buy Device DM-A’s SAV’s are Certified Out ofscope

Keigo Buy Smartcard

From SP-D Out ofscope

Page 286: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

286

4.11.2.1 Keigo Accesses, Plays and Stores Content

Note: In this and following walkthroughs the Licence is assumed to be unencrypted.

Who Perform What Notes IDP Tool Ref.Keigo Select SP-C

ServiceOut of all available Services Out of scope

Keigo Access Content To obtain a subscriptionLicence from SP-C

Access Content asStream

3.5.2

Keigo Select ContentItem

From SP-C’s Service Out of scope

Keigo(SAV)

Un-Package

ContentItem

as Stream Package Content asStream

4.1.1

Keigo(SAV)

Access Licence For every Governed ContentElement

Access Licence asStream

3.5.4

DRMProcessor

Instantiates DRM Tool By processing DRMInformation

Manage DRM Tool 3.4.2

DRMProcessor

Access Key Access Key asStream

3.5.7

Keigo(SAV)

Use ContentItem

As per Licence terms Represent ContentElements

2.

Keigo(SAV)

Store DCF Stored as File with LicenceBundled within it

Represent ContentIdentify ContentRepresent LicenceIdentify LicencePackage Content

2.12.5.12.102.5.24.1.1

4.11.3 Tools for walkthrough #2

In this walkthrough the steps made by two Users Keigo and Ken’ichi when Using Content receivedin walkthrough #1 (CI-E) are analysed. Ken’ichi uses a SAV Manufactured by Device ManufacturerDM-F Certified by Device Certification Agency CA-G.

The specific Users are:

Type of User NameDevice Manufacturer DM-ADevice Certification Agency CA-BContent Service Provider SP-CSmart card Provider SP-DDevice Manufacturer DM-FDevice Certification Agency CA-GEnd User KeigoEnd User Ken’ichi

Preliminary steps required before Ken’ichi can Access and Use Content CI-E:

Page 287: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

287

Who Perform What Notes IDP Tool Ref.CA-G Certify SAV DM-F’s SAVs, i.e. CA-G places a Certificate

inside DM-F’s SAVAD#5

Ken’ichi Buy SAV DM-F’s SAV’s are Certified Out ofscope

Ken’ichi Buy smartcard

From SP-D Out ofscope

4.11.3.1 Keigo Plays Stored Content

Who Perform What Notes IDP Tool Ref.Keigo Select Content

ItemStored in Keigo’s SAV Out of scope

Keigo(SAV)

un-Package

ContentItem

Package Content asFile

4.1.1

SAV Parse Licence Represent Licence 2.10Keigo(SAV)

Use ContentItem

If Licence terms allow “PlayStored Content”1. Then SAV Plays Stored

Content Item2. Else SAV displays

message

Represent ContentElements

2.

4.11.3.2 Ken’ichi Plays Copied/Moved Content

Keigo Copies/Moves Stored Content to Ken’ichi’s SAV.

As for “Keigo Plays Stored Content”. Ken’ichi’s SAV checks whether Licence terms allow “PlayStored Content in Ken’ichi’s SAV”.

4.11.3.3 Keigo Copies/Moves Content to a reduced-Device-capability PAV

Note: the PAV is an IDP-1 DeviceNote: For reasons of simplicity SP-C performs the function of a Registration Agency

Who Perform What Notes IDP Tool Ref.Keigo(SAV)

un-Package

Content Item PackageContent

4.1.1

Keigo(SAV)

Parse Licence If Licence does not permitcreation of PAV-version ofStored Content Item then SAVdisplays message, else

RepresentLicence

2.10

Keigo(SAV)

Access Licence From SP-CSpecifying PAV’s CertificateContaining Decryption Key K2

AccessLicence asFile

3.5.3

DRMProcessor

Send DecryptedResourceDecryption Key

To DRM Tool 1 RepresentDRMmessage

2.12

Page 288: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

288

DRM Tool1

Decrypt Resource Using Decrypted ResourceDecryption Key

Out of scope

DRM Tool2

Adapt Resources For the PAV Out of scope

DRM Tool3

Encrypt AdaptedResources

DRM Tool 3 is the IDP-1Encryption Tool with Key K2

Out of scope

SAV Make Content Item With new Licence RepresentContent

2.1

SAV Move DCF To PAV NonePAV Un-

PackageContent Package

Content asFile

4.1.1

PAV Use DCI As per Licence terms RepresentContent Item

2.

4.11.4 Tools for walkthrough #3

In this walkthrough the following Users are assumed to exist (the differences with walkthrough #1are marked in italic)

User PerformA plurality of ServiceProviders

1) Offer a variety of Governed Content-based Services (e.g.subscription, pay per view, prepaid etc.)

2) Employ independently selected DRM Tools carried by a multipleservice channel and DRM Tools updates implemented via multipleupdate mechanisms

A plurality of DeviceManufacturers

Make Interoperable Devices

A plurality of DeviceCertification Authorities

Certify Devices manufactured by Device Manufacturers

A plurality of smart cardtechnology providersA plurality of End Users Subscribe to Service Providers of their choice

Buy smart cards from trusted third parties Buy Interoperable Devices from Manufacturers of their choice Use Governed Content as per Licence Access Content as files from other End Users via the network

The specific Users are:

Type of User NameDevice Manufacturer DM-ADevice Certification Agency CA-BContent Service Provider SP-CSmart card Provider SP-DTool Provider TP-E

Page 289: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

289

End User Choi

Preliminary steps required before Choi can Access and Use Content:

Who Perform What Notes IDP Tool Ref.CA-B

Certify SAV CA-B places a Certificate inside DM-A’sSAV

AD#5

Choi Buy Device DM-A’s SAV’s are Certified Out ofscope

Choi Buy smartcard

From SP-D Out ofscope

4.11.4.1 Choi Accesses, Plays and Store Content

Who Perform What Notes IDP Tool Ref.Choi Select SP-C Service Out of all available Services Out of scopeChoi Access Content To obtain a subscription

Licence from SP-CAccess Content asStream

3.5.2

Choi Select Content Item From SP-C’s Service Out of scopeChoi(SAV)

Un-Package

Content Item as Stream Package Contentas Stream

4.1.1

Choi(SAV)

Access Licence For every Governed ContentElement

Access Licence asStream

3.5.4

Choi(SAV)

Parse DRMInformation

To find the informationregarding required DRMTools in the DCI

RepresentContent

2.1

Choi(SAV)

Access DRM Tool Case 1: DRM Tool is in theDCI

Access DRMTool Body asStream

3.5.6

Case 2: DRM Tool is in theSAV

Local DRM ToolBody Access

3.5.9

Case 3: DRM Tool Body isAccessed from TP-A via thenetwork

Access DRMTool Body as File

3.5.5

DRMProcessor

Manage DRM Tool Manage DRMTools

3.4

DRMProcessor

Access Key Access Key asStream

3.5.7

Choi(SAV)

Play Content Item As per Licence Terms RepresentContent Elements

2.

SAV Store DCF Stores as a Content File withthe Licence Bundled within it

Package Contentas File

4.1.1

An example of Content Item describing an MPEG-2 program containing an audio and video streamgoverned by the Tool Pack technology is given below:

<?xml version="1.0" encoding="UTF-8"?>

Page 290: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

290

<DIDL xmlns="urn:dmp:idp2:mpeg21:2002:02-DIDL-NS:2006:02"xmlns:dmp2rc="urn:dmp:idp2:Represent:Content:2006:02"xmlns:dmp2rl="urn:dmp:idp2:Represent:License:2006:02"xmlns:dmp1_dii="urn:dmp:idp1:mpeg21:2002:01-DII-NS:2005:04"xmlns:dmp2_ipmpdidl="urn:dmp:idp2:mpeg21:2004:01-IPMPDIDL-NS:2006:02"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dmp2_ipmpinfo="urn:dmp:idp2:mpeg21:2004:01-IPMPINFO-NS:2006:02"xmlns:dmp2rdm="urn:dmp:idp2:Represent:DRMMessages:2006:02"xmlns:r="urn:dmp:idp1:mpeg21:2003:01-REL-R-NS:2005:04"xmlns:mx="urn:dmp:idp1:mpeg21:2003:01-REL-MX-NS:2005:04"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:mp7smp="urn:mpeg:mpeg7:smp:schema:2001"xmlns:dmp2rm="urn:dmp:idp2:Represent:Metadata:2006:02"xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001"xmlns:dmp2_tva="urn:dmp:idp2:tva:metadata:2002:2006:02" xsi:schemaLocation="

urn:dmp:idp2:mpeg21:2002:02-DIDL-NS:2006:02 dmp2didl-2006-02.xsd"><Container>

<Item id="Program1"><Descriptor>

<Statement mimeType="text/plain"><dmp1_dii:Identifier>Identifier of Program 1</dmp1_dii:Identifier>

</Statement></Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2rc:DMPInformation>

<dmp2rc:Metadata><dmp2rc:StructuredData ref="urn:dmp:Represent:Metadata">

<dmp2rm:TVAMain><dmp2rm:ProgramDescription>

<dmp2rm:ProgramInformationTable><dmp2_tva:ProgramInformation

programId="crid://foo.com/1234567"><dmp2_tva:BasicDescription>

<dmp2_tva:Title><![CDATA[Around the World in 80Treasures]]></dmp2_tva:Title>

<dmp2_tva:Synopsis length="short"><![CDATA[DanCruickshank visits India and Sri Lanka as he continues his search for the world's most beautiful andprecious treasures. [S,SL]]]></dmp2_tva:Synopsis>

<dmp2_tva:Genrehref="urn:dmp2_tva:metadata:cs:ContentCS:2002:3.1.5.3">

<dmp2_tva:Name><![CDATA[History]]></dmp2_tva:Name></dmp2_tva:Genre><dmp2_tva:Genre

href="urn:dmp2_tva:metadata:cs:IntentionCS:2002:1.3">

Page 291: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

291

<dmp2_tva:Name><![CDATA[EDUCATION]]></dmp2_tva:Name></dmp2_tva:Genre><dmp2_tva:Genre

href="urn:dmp2_tva:metadata:cs:ContentCS:2002:3.1.4"><dmp2_tva:Name><![CDATA[Arts &

Media]]></dmp2_tva:Name></dmp2_tva:Genre><dmp2_tva:CaptionLanguage closed="true">EN-

UK</dmp2_tva:CaptionLanguage><dmp2_tva:SignLanguage translation="true"

type="BSL">EN-UK</dmp2_tva:SignLanguage></dmp2_tva:BasicDescription><dmp2_tva:AVAttributes>

<dmp2_tva:AudioAttributes>

<dmp2_tva:NumOfChannels>2</dmp2_tva:NumOfChannels></dmp2_tva:AudioAttributes><dmp2_tva:VideoAttributes>

<dmp2_tva:AspectRatio>16:9</dmp2_tva:AspectRatio></dmp2_tva:VideoAttributes>

</dmp2_tva:AVAttributes><dmp2_tva:MemberOf xsi:type="dmp2_tva:MemberOfType"

crid="crid://foo.com/__SERAroundtheWorldin80Treasures"/></dmp2_tva:ProgramInformation>

</dmp2rm:ProgramInformationTable></dmp2rm:ProgramDescription>

</dmp2rm:TVAMain></dmp2rc:StructuredData>

</dmp2rc:Metadata></dmp2rc:DMPInformation>

</Statement></Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2_ipmpinfo:IPMPGeneralInfoDescriptor>

<dmp2_ipmpinfo:ToolList><dmp2_ipmpinfo:ToolDescription localID="TPABCDEF9">

<dmp2_ipmpinfo:IPMPToolID>urn:ETRI:ToolPack:ToolID:ABCDEF9</dmp2_ipmpinfo:IPMPToolID>

</dmp2_ipmpinfo:ToolDescription></dmp2_ipmpinfo:ToolList>

</dmp2_ipmpinfo:IPMPGeneralInfoDescriptor></Statement>

</Descriptor><Component>

Page 292: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

292

<Resource mimeType="application/mp21-ipmp"><dmp2_ipmpdidl:ProtectedAsset mimeType="video/MP2P">

<dmp2_ipmpdidl:Identifier>urn:mpegRA:mpeg21:dmp1_dii:isan:006A-15FA-002B-C95F-B</dmp2_ipmpdidl:Identifier>

<dmp2_ipmpdidl:Info><dmp2_ipmpinfo:IPMPInfoDescriptor>

<dmp2_ipmpinfo:Tool><dmp2_ipmpinfo:ToolBaseDescription>

<dmp2_ipmpinfo:IPMPToolID>urn:ETRI:ToolPack:ToolID:ABCDEF9</dmp2_ipmpinfo:IPMPToolID>

<dmp2_ipmpinfo:Remoteref="http:\\www.ETRIToolPacks.com\ToolID:ABCDEF9"/>

<dmp2_ipmpinfo:ConfigurationSettings><dmp2_ipmpinfo:Update>

<dmp2_ipmpinfo:Locationref="http:\\www.ETRIToolPacks.com\ToolPackUpdate"/>

<dmp2_ipmpinfo:Condition><dmp2_ipmpinfo:ScheduledUpdateTime

periodic="P1D">2005-03-07T00:00:00</dmp2_ipmpinfo:ScheduledUpdateTime>

</dmp2_ipmpinfo:Condition></dmp2_ipmpinfo:Update>

</dmp2_ipmpinfo:ConfigurationSettings></dmp2_ipmpinfo:ToolBaseDescription><dmp2_ipmpinfo:InitializationSettings>

<dmp2_ipmpinfo:InitializationData><dmp2rdm:AddToolNotificationListener>

<dmp2rdm:dataID>98765</dmp2rdm:dataID><dmp2rdm:scope>00</dmp2rdm:scope><dmp2rdm:EventType>02</dmp2rdm:EventType>

</dmp2rdm:AddToolNotificationListener></dmp2_ipmpinfo:InitializationData>

</dmp2_ipmpinfo:InitializationSettings><dmp2_ipmpinfo:RightsDescriptor>

<dmp2_ipmpinfo:LicenseService>http://www.DRMTools.org/LicenseService.php</dmp2_ipmpinfo:LicenseService>

</dmp2_ipmpinfo:RightsDescriptor></dmp2_ipmpinfo:Tool><dmp2_ipmpinfo:RightsDescriptor>

<dmp2_ipmpinfo:License><dmp2rl:License>

<r:license licenseId="012345"><r:grant>

<r:keyHolder><r:info>

Page 293: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

293

<dsig:KeyName>Device A's certificate orIdentifier</dsig:KeyName>

</r:info></r:keyHolder><mx:play/><r:digitalResource>

<r:nonSecureIndirect URI="Identifier of Program 1"/></r:digitalResource>

</r:grant><r:issuer>

<r:keyHolder><r:info>

<dsig:KeyName>The Public Key Name of Program1's Owner</dsig:KeyName>

</r:info></r:keyHolder>

</r:issuer></r:license>

</dmp2rl:License></dmp2_ipmpinfo:License>

</dmp2_ipmpinfo:RightsDescriptor></dmp2_ipmpinfo:IPMPInfoDescriptor>

</dmp2_ipmpdidl:Info><dmp2_ipmpdidl:Contents ref="myserver.com/asset.mpgencoded"/>

</dmp2_ipmpdidl:ProtectedAsset></Resource>

</Component><Item id="AudioStream1">

<Descriptor><Statement mimeType="text/xml">

<dmp1_dii:Identifier>urn:mpegRA:mpeg21:dmp1_dii:isrc:US-ZO3-99-32476</dmp1_dii:Identifier>

<!-- ISRC identifying the sound recording --></Statement>

</Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp1_dii:RelatedIdentifier>urn:mpegRA:mpeg21:dmp1_dii:iswc:T-

034.524.680-1</dmp1_dii:RelatedIdentifier><!-- ISWC identifying the underlying musical work -->

</Statement></Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2rc:DMPInformation>

<dmp2rc:Metadata><!-- Metadata related to this Content Item is Governed now -->

Page 294: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

294

<dmp2_ipmpdidl:Info><dmp2_ipmpinfo:IPMPInfoDescriptor/>

</dmp2_ipmpdidl:Info>

<dmp2_ipmpdidl:Contents>01234567890ABCDEF</dmp2_ipmpdidl:Contents><!-- Insert the Governed - obfuscated metadata in element below -->

</dmp2rc:Metadata></dmp2rc:DMPInformation>

</Statement></Descriptor><Component>

<Resource ref="110xxxxx" mimeType="audio/mpeg"/><!-- Audio streams are identified by a stream ID like the one above -->

</Component></Item><Item id="VideoStream1">

<Descriptor><Statement mimeType="text/xml">

<dmp1_dii:Identifier>urn:mpegRA:mpeg21:dmp1_dii:isan:006A-15FA-002B-B012-A</dmp1_dii:Identifier>

</Statement></Descriptor><Descriptor>

<Statement mimeType="text/xml"><dmp2rc:DMPInformation>

<dmp2rc:Metadata><dmp2rc:StructuredData ref="urn:mpeg:mpeg7:schema:2001">

<!-- MPEG-7 SMP metadata describing the movie--></dmp2rc:StructuredData>

</dmp2rc:Metadata></dmp2rc:DMPInformation>

</Statement></Descriptor><Component>

<Resource ref="1110xxxx" mimeType="video/mpeg"/><!-- Video streams are identified by a stream ID like the one above -->

</Component></Item>

</Item></Container>

</DIDL>

Figure 256 – An example Content Item

4.11.5 Tools for walkthrough #4

In this walkthrough the steps made by Users Choi and Joo when Using Content received inwalkthrough #3 (CI-E) are analysed.

Page 295: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

295

The specific Users are:

Type of User NameDevice Manufacturer DM-ADevice Certification Agency CA-BContent Service Provider SP-CSmart cards Provider SP-DTool Provider TP-FDevice Manufacturer DM-GDevice Certification Agency CA-HSmart cards Provider SP-ITool Provider TP-JEnd User ChoiEnd User Joo

Preliminary steps required before Joo can Access and Use Content:

Who Perform What Notes IDP Tool Ref.CA-H

Certify SAV CA-H places a Certificate inside DM-G’sSAV

AD#5

Joo Buy SAV DM-G’s SAV’s are Certified Out ofscope

Joo Buy smartcard

From SP-I Out ofscope

4.11.5.1 Choi Plays Stored Content

Who Perform What Notes IDP Tool Ref.Choi Select Content

ItemOut of scope

Choi(SAV)

Un-Package

DCF Package Contentas File

4.1.1

Choi(SAV)

Parse DCI RepresentContent

2.1

Choi(SAV)

Parse Licence If Licence terms does not allow“Play Stored Content” displaymessage

RepresentLicence

2.10

SAV Play Content Else Play Stored Content in Choi’sSAV

RepresentContent Elements

2.

4.11.5.2 Joo Plays Copied/Moved Content

To Play Content Copied/Moved by Choi to his SAV Joo performs the following:

Who Perform What Notes IDP Tool Ref.

Page 296: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

296

Joo Select Content Item Out of scopeJoo (SAV) Un-

PackageDCF Package Content

as File4.1.1

Joo (SAV) Parse DCI RepresentContent

2.1

Joo (SAV) Parse Licence If Licence terms do not allow“Play Stored Content in Joo’sDevice” display message

Process: ParseLicence

Joo (SAV) Parse DRMInformation

To find the informationregarding required DRM Toolsin the DCI

RepresentContent

2.1

Joo (SAV) Access DRM Tool Case 1: DRM Tool is in theDCI

Access DRMTool Body asStream

3.5.6

Case 2: DRM Tool is in theSAV

Local DRMTool BodyAccess

3.5.9

Case 3: DRM Tool Body isAccessed from TP-A via thenetwork

Access DRMTool Body asFile

3.5.5

DRMProcessor

Manage DRM Tool Manage DRMTools

3.4

Joo (SAV) Play Content Item As per Licence terms RepresentContentElements

2.

4.12 Use Case and Value Chain No. 11 – Smart Broadcaster

4.12.1 Rationale

This Use Case describes how Broadcaster GreatGreenNetworks (GGN) is facing the new phase ofbroadcasting by offering a broad variety of programs with multiple Licences.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.12.2 Tools for walkthrough #1 – Simple Play with simple condition

This example shows a simple Licence instance using DMP REL with a grant described in the tablebelow.

Table 34 – Licence example 1Item Example of conditions

Principal Device A identified as DE0001Right Immediate Play only without bufferingResource 1. urn:uci:ETRI-10357 with CEKCondition 2 times play only

Page 297: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

297

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder>

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-1000:DO-0001</m1x:idSystem>

<m1x:idValue>DE0001</m1x:idValue></m1x:identityHolder><mx:play/><m1x:protectedResource>

<digitalResource><nonSecureIndirect URI="urn:uci:ETRI-10357"/>

</digitalResource><xenc:EncryptedKey>

<xenc:CipherData><xenc:CipherValue>

ujnDATAPgvq5dPDvTGPPhJIpqnSieHWK2BEn2JYi2AgiTWtTqSsCIqg/76hHCmzSHAXrFaqTl/Zi3LtbXoCV

MoDXgMFkUGIWVyLGDFmq5VxyOwzYM/WMWCEMF1qIUtKW62chDiPaEOfY6dPFyHxtUi4wXMpd3TcIYwV/QTQDMDg=

</xenc:CipherValue></xenc:CipherData>

</xenc:EncryptedKey></m1x:protectedResource><allConditions>

<m2x:timeShiftDuration><m2x:duration>PT0S</m2x:duration>

</m2x:timeShiftDuration><sx:exerciseLimit>

<sx:count>2</sx:count></sx:exerciseLimit>

</allConditions></grant><issuer>

<keyHolder><info>

<dsig:KeyName>Issuer's signing key</dsig:KeyName></info>

</keyHolder></issuer>

Page 298: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

298

</license>

Figure 257 – Licence example 1

4.12.3 Tools for walkthrough #2 – Play with condition

This example shows an elaborate Licence instance using DMP REL with a grant described in thetable below.

Table 35 – Licence example 2

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder>

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-1000:DO-0001</m1x:idSystem>

<m1x:idValue>DE0001</m1x:idValue></m1x:identityHolder><mx:play/><m1x:protectedResource>

<digitalResource><nonSecureIndirect URI="urn:uci:ETRI-10357"/>

</digitalResource><xenc:EncryptedKey>

<xenc:CipherData><xenc:CipherValue>

ujnDATAPgvq5dPDvTGPPhJIpqnSieHWK2BEn2JYi2AgiTWtTqSsCIqg/76hHCmzSHAXrFaqTl/Zi3LtbXoCV

MoDXgMFkUGIWVyLGDFmq5VxyOwzYM/WMWCEMF1qIUtKW62chDiPaEOfY6dPFyHxtUi4wXMpd3TcIYwV/QTQDMDg=

Item Example of conditionsPrincipal Device A identified as DE0001Right Play only with buffering and additional functionsResource 1. urn:uci:ETRI-10357 with CEKCondition Available for 10 days and 12 hours after receiving the Licence

Available only within KOREA Allow to be displayed at other devices within the same domain where the device A

is joined Does not allow to be accessed by more than 3 SAV devices at the same time

Page 299: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

299

</xenc:CipherValue></xenc:CipherData>

</xenc:EncryptedKey></m1x:protectedResource><allConditions>

<sx:validityIntervalFloating><sx:duration>P10DT12H</sx:duration>

</sx:validityIntervalFloating><sx:territory>

<sx:location><sx:country>KR</sx:country>

</sx:location></sx:territory><m2x:destinationPrincipal>

<m1x:identityHolder><m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-

1000</m1x:idSystem><m1x:idValue>DO0001</m1x:idValue>

</m1x:identityHolder></m2x:destinationPrincipal><m2x:simultaneousAccess>

<m2x:count>3</m2x:count></m2x:simultaneousAccess>

</allConditions></grant><issuer>

<keyHolder><info>

<dsig:KeyName>Issuer's signing key</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 258 – Licence example 2

4.12.4 Tools for walkthrough #3 – Export with condition

This example shows you an ‘export’ Licence instance using DMP REL with a grant described in thetable below.

Table 36 – Licence example 3Item Example of conditions

Principal Domain A identified as DO0001Right Export except standard definition analog outputResource 2. urn:uci:ETRI-10357 with CEKCondition Available only 1 time

Target device should be device A identified as DE0001

Page 300: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

300

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder>

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-1000</m1x:idSystem><m1x:idValue>DO0001</m1x:idValue>

</m1x:identityHolder><m2x:export/><m1x:protectedResource licensePartId="protectedResource1">

<digitalResource><nonSecureIndirect URI="urn:uci:ETRI-10357"/>

</digitalResource><xenc:EncryptedKey>

<xenc:CipherData><xenc:CipherValue>

ujnDATAPgvq5dPDvTGPPhJIpqnSieHWK2BEn2JYi2AgiTWtTqSsCIqg/76hHCmzSHAXrFaqTl/Zi3LtbXoCV

MoDXgMFkUGIWVyLGDFmq5VxyOwzYM/WMWCEMF1qIUtKW62chDiPaEOfY6dPFyHxtUi4wXMpd3TcIYwV/QTQDMDg=

</xenc:CipherValue></xenc:CipherData>

</xenc:EncryptedKey></m1x:protectedResource><allConditions>

<m1x:outputRegulation licensePartId="outputRegulation1"><m1x:regulation qualityOfSignal="analog" typeOfSignal="SD"/>

</m1x:outputRegulation><m2x:destinationPrincipal>

<m1x:identityHolder><m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-1000:DO-

0001</m1x:idSystem><m1x:idValue>DE0001</m1x:idValue>

</m1x:identityHolder></m2x:destinationPrincipal><sx:exerciseLimit>

<sx:count>1</sx:count></sx:exerciseLimit>

</allConditions></grant>

Page 301: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

301

<grant><m1x:identityHolder licensePartIdRef="domainA"/><m2x:export/><m1x:protectedResource licensePartIdRef="protectedResource1"/><allConditions>

<m1x:outputRegulation licensePartIdRef="outputRegulation1"/><m2x:destinationPrincipal>

<m1x:identityHolder><m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-1000:DO-

0001</m1x:idSystem><m1x:idValue>DE0002</m1x:idValue>

</m1x:identityHolder></m2x:destinationPrincipal><sx:exerciseLimit>

<sx:count>1</sx:count></sx:exerciseLimit>

</allConditions></grant><issuer>

<keyHolder><info>

<dsig:KeyName>Issuer's signing key</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 259 – Licence example 3

4.12.5 Tools for walkthrough #4 – Store with condition

This example shows you a ‘write’ Licence instance using DMP REL with a grant described in thetable below.

Table 37 – Licence example 4

Item Example of conditionsPrincipal Device A identified as DE0001Right StoreResource 3. urn:uci:ETRI-10357 with CEKCondition 1) Available only 2 times

2) Target storage should be within the same domain wheredevice A is a member.

Device A has security level 3 in the DMP security system orabove

Scrambling using AES encryption algorithm is needed whilestoring

Page 302: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

302

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder>

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-1000:DO0001</m1x:idSystem>

<m1x:idValue>DE0001</m1x:idValue></m1x:identityHolder><m1x:governedCopy/><m1x:protectedResource>

<digitalResource><nonSecureIndirect URI="urn:uci:ETRI-10357"/>

</digitalResource><xenc:EncryptedKey>

<xenc:CipherData><xenc:CipherValue>

ujnDATAPgvq5dPDvTGPPhJIpqnSieHWK2BEn2JYi2AgiTWtTqSsCIqg/76hHCmzSHAXrFaqTl/Zi3LtbXoCV

MoDXgMFkUGIWVyLGDFmq5VxyOwzYM/WMWCEMF1qIUtKW62chDiPaEOfY6dPFyHxtUi4wXMpd3TcIYwV/QTQDMDg=

</xenc:CipherValue></xenc:CipherData>

</xenc:EncryptedKey></m1x:protectedResource><allConditions>

<m2x:scrambling cipherType="AES"/><sx:exerciseLimit>

<sx:count>2</sx:count></sx:exerciseLimit><m2x:destinationPrincipal>

<m1x:identityHolder><m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-

1000</m1x:idSystem><m1x:idValue>DO0001</m1x:idValue>

</m1x:identityHolder></m2x:destinationPrincipal><m2x:securitySystem>

<m2x:identifier>DMP</m2x:identifier><m2x:level>3</m2x:level>

</m2x:securitySystem>

Page 303: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

303

</allConditions></grant><issuer>

<keyHolder><info>

<dsig:KeyName>Issuer's signing key</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 260 – Licence example 4

There is a need to describe what must be represented with the REL In the broadcast channel Use in Device and Domain

Play Content Store Content Play Stored Content Use Stored Content at various levels of granularity, e.g. abstract/digest Content using

appropriate Metadata Move or Copy Stored Content to another SAV. Adapt Content Move or Copy Adapted Content to a PAV Export Stored Content e.g. to a removable media

with a number of conditions

Items Example of conditionsValidity period Viewing period (start and end date)

Total viewing timePlayback Number of times

Allowed playback mode (e.g. Fast forward & rewind, Variable playbackspeed, Sequenced still image display)

Domainmanagement

4. Domain identification5. Number of users6. Permission for transfer of Licence

Output Analogue and digital output Allowed target devices

4.12.6 Tools for walkthrough #5 - Play broadcast program with constraints

In this example, Kim’s DTV is granted the right to play the stated broadcast news with right andconditions like below. Kim has a DTV with DVR which is a member of a digital home domain Aand its identifier is BSI:2232111123.

Play is only allowed within domain A.

Page 304: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

304

time-shift-operation required security level : at least 3 in DMP security system valid interval : from 2005/7/25 to 2005/7/29 geographical limitation : only available within Seoul, Korea simultaneous access count : 5 extendRights : when Licence becomes invalid, update or extend Licence through

http://www.foo.org/extendLiceseService

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder licensePartId="domainA">

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000</m1x:idSystem>

<m1x:idValue>BSI:2232111123</m1x:idValue></m1x:identityHolder><mx:play/><digitalResource licensePartId="news">

<nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/></digitalResource><allConditions>

<m2x:securitySystem><m2x:identifier>DMP</m2x:identifier><m2x:level>3</m2x:level>

</m2x:securitySystem><m2x:simultaneousAccess>

<m2x:count>5</m2x:count></m2x:simultaneousAccess><validityInterval>

<notBefore>2005-07-25T00:00:00</notBefore><notAfter>2005-07-29T00:00:00</notAfter>

</validityInterval><sx:territory>

<sx:location><sx:country>KR</sx:country><sx:region>SEOUL</sx:region>

</sx:location></sx:territory>

</allConditions>

Page 305: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

305

</grant><grant>

<m1x:identityHolder licensePartIdRef="domainA"/><m2x:extendRights>

<m1x:serviceLocation><m1x:url>http://www.foo.org/extendLiceseService</m1x:url>

</m1x:serviceLocation></m2x:extendRights><digitalResource licensePartIdRef="news"/>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>Rights Issuer Public Key Name</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 261 – Licence example 5

4.12.7 Tools for walkthrough #6 - Store & Export broadcast program with constraints

The rights issuer sends Kim a Licence that allows him to store and export specified broadcast newswhile it is transferring under the following conditions:

1. Play is only allowed within domain A whose identifier is BSI:22321111232. Store into the storage with scrambling3. Export through HD-analog output in the form of Constrained Image.4. Export through all analog output in the form of Analog Protection according to Type 1 of APS5. Export through the HD digital output in which DTCP protection method is used.6. All export is only allowed when the target entity is device A or within domain D.7. All export is only allowed when the security level in the DMP security system of target entity is

at least 5

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder licensePartId="domainA">

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000</m1x:idSystem>

Page 306: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

306

<m1x:idValue>BSI:2232111123</m1x:idValue></m1x:identityHolder><mx:play/><digitalResource licensePartId="news">

<r:nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/></digitalResource>

</grant><grant>

<m1x:identityHolder licensePartIdRef="domainA"/><m1x:governedCopy/><digitalResource licensePartIdRef="news"/><m2x:scrambling/>

</grant><grant>

<m1x:identityHolder licensePartIdRef="domainA"/><m2x:export/><digitalResource licensePartIdRef="news"/><allConditions>

<m1x:outputRegulation licensePartId="outputRegulation1"><m1x:regulation typeOfSignal="analog"

qualityOfSignal="HD">ICT:1</m1x:regulation><m1x:regulation typeOfSignal="analog">APSTB:01</m1x:regulation><m1x:regulation typeOfSignal="digital"

qualityOfSignal="HD">DTCP</m1x:regulation></m1x:outputRegulation><m2x:destinationPrincipal>

<m1x:identityHolder><m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000:DO-

00001</m1x:idSystem><m1x:idValue>DE_DeviceA</m1x:idValue>

</m1x:identityHolder></m2x:destinationPrincipal><m2x:destinationCondition licensePartId="destinationCondition1">

<m2x:securitySystem><m2x:identifier>DMP</m2x:identifier><m2x:level>5</m2x:level>

</m2x:securitySystem></m2x:destinationCondition>

</allConditions></grant><grant>

<m1x:identityHolder licensePartIdRef="domainA"/><m2x:export/><digitalResource licensePartIdRef="news"/><allConditions>

<m1x:outputRegulation licensePartIdRef="outputRegulation1"/><m2x:destinationPrincipal>

Page 307: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

307

<m1x:identityHolder><m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-

00001000</m1x:idSystem><m1x:idValue>DO_DomainD</m1x:idValue>

</m1x:identityHolder></m2x:destinationPrincipal><m2x:destinationCondition licensePartIdRef="destinationCondition1"/>

</allConditions></grant><issuer>

<keyHolder><info>

<dsig:KeyName>Rights Issuer Public Key Name</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 262 – Licence example 6

4.12.8 Tools for walkthrough #7 - CCI (Copy Control Information) representation

A rights issuer sends Kim a Licence that allows her copy the specified broadcast news after it isstored under the following conditions

Only one generation copy is allowed ( Copy-Once ) Copied one should not be copied again ( Copy-No-More )

Following example shows the Licence has copy-once rights. This broadcast program is allowedcopy once with bpx:governedCopy condition.

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder licensePartId="domainA">

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000</m1x:idSystem>

<m1x:idValue>BSI:2232111123</m1x:idValue></m1x:identityHolder><mx:play/><digitalResource licensePartId="news">

<r:nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/>

Page 308: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

308

</digitalResource></grant><grant>

<m1x:identityHolder licensePartIdRef="domainA"/><m1x:governedCopy governanceRule="acme:CopyOnce"/><r:digitalResource licensePartIdRef="news"/>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>Rights Issuer Public Key Name</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 263 – Licence example 7

Once this broadcast program is copied to other device, new copied Licence may be shown likefollowing.

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder licensePartId="domainA">

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000</m1x:idSystem>

<m1x:idValue>BSI:2232111123</m1x:idValue></m1x:identityHolder><mx:play/><digitalResource licensePartId="news">

<r:nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/></digitalResource>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>Rights Issuer Public Key Name</dsig:KeyName></info>

</keyHolder>

Page 309: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

309

</issuer></license>

Figure 264 – Licence example 8

4.13 Use Case and Value Chain No. 12 – TVA Broadcaster

4.13.1 Rationale

The TV Anytime Forum has developed specifications with a native Rights Expression languagecalled RMPI. In this Use Case it is assumed that broadcasting is effected using RMPI but that onceContent is received by the SAV it is Imported as a file and Stored.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.13.2 Tools for walkthrough #1 – Free-To-Air Content

The following example shows a possible combination of rights granted to a given piece of contentbroadcast free-to-air:

11. Content is not scrambled and will remain unscrambled after domain acquisition.12. No possibility is granted to acquire new rights.13. In the receiving domain, Play, Analogue Export, Digital Export (both HD and SD) are granted.

Proximity Control is the only restriction that applies. Required security level in the TVA securitysystem is the lowest.

14. Only Play, Analogue Export are granted in any other domain. No Proximity Control applies butGeographic Control (only Germany) does. A medium security level in the TVA security systemis required to enforce that restriction.

4.13.2.1 Expression with RMPI namespace

<?xml version="1.0" encoding="UTF-8"?><TVAMain xmlns="urn:tva:metadata:2005"xmlns:tva2="urn:tva:metadata:extended:2005"xmlns:tva="urn:tva:metadata:2005"xmlns:rmpi="urn:tva:rmpi:2005"xmlns:mpeg21="urn:tva:mpeg21:2005" xmlns:mpeg7="urn:tva:mpeg7:2005"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:tva:metadata:extended:2005 tva2_metadata_3-3_v111.xsd"xsi:type="tva2:ExtendedTVAMainType"><tva2:RMPITable xml:lang="en-us">

<tva2:RMPIDescription RMPIDescriptionId="String"><rmpi:AncillaryRMPI>

<rmpi:RMPITypeFlag>RMPI-MB</rmpi:RMPITypeFlag><rmpi:VersionOfRMPI>0</rmpi:VersionOfRMPI><rmpi:OriginOfRMPI>FTABroadcasterDE</rmpi:OriginOfRMPI>

<rmpi:Cipher>no cipher</rmpi:Cipher><rmpi:MBScramblingControl>maintain</rmpi:MBScramblingControl>

Page 310: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

310

</rmpi:AncillaryRMPI><rmpi:ExtendRights>

<rmpi:ExtendRightsFlagNotGranted/></rmpi:ExtendRights>

<rmpi:ReceivingDomainRights><rmpi:PlayRightFlag>granted</rmpi:PlayRightFlag><rmpi:AnalogueExportRight>

<rmpi:AnalogueExportRightFlagGranted/></rmpi:AnalogueExportRight><rmpi:DigitalExportSDRight>

<rmpi:DigitalExportRightFlagGranted/></rmpi:DigitalExportSDRight><rmpi:DigitalExportHDRight>

<rmpi:DigitalExportRightFlagGranted/></rmpi:DigitalExportHDRight><rmpi:SecurityLevel>level 0</rmpi:SecurityLevel><rmpi:GeographicalControl>Any</rmpi:GeographicalControl><rmpi:PhysicalProximityFlag/>

</rmpi:ReceivingDomainRights><rmpi:AnyDomainRights>

<rmpi:PlayRightFlag/><rmpi:AnalogueExportRight>

<rmpi:AnalogueExportRightFlagGranted/></rmpi:AnalogueExportRight><rmpi:SecurityLevel>level 1</rmpi:SecurityLevel><rmpi:GeographicalControl>Germany</rmpi:GeographicalControl>

</rmpi:AnyDomainRights></tva2:RMPIDescription></tva2:RMPITable></TVAMain>

Figure 265 – Expression with RMPI namespace

4.13.2.2 Expression with REL namespace

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder licensePartId="domainID">

Page 311: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

311

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000</m1x:idSystem>

<m1x:idValue>DO12345</m1x:idValue></m1x:identityHolder><mx:play/><digitalResource licensePartId="news">

<nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/></digitalResource><allConditions licensePartId="ReceivingDomainCondition">

<m2x:destinationPrincipal><m1x:identityHolder licensePartIdRef="domainID"/>

</m2x:destinationPrincipal><m2x:securitySystem>

<m2x:identifier>RMPI</m2x:identifier><m2x:level>0</m2x:level>

</m2x:securitySystem><m2x:proximity/>

</allConditions></grant><grant>

<m1x:identityHolder licensePartIdRef="domainID"/><m2x:export/><digitalResource licensePartIdRef="news"/><allConditions licensePartIdRef="ReceivingDomainCondition"/>

</grant><grant>

<m1x:identityHolder licensePartIdRef="domainID"/><m1x:governedCopy/><digitalResource licensePartIdRef="news"/><allConditions licensePartIdRef="ReceivingDomainCondition"/>

</grant><grant>

<mx:play/><digitalResource licensePartId="news">

<nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/></digitalResource><allConditions licensePartId="AnyDomainCondition">

<m2x:securitySystem licensePartId="AnyDomainSecuritySystemCondition"><m2x:identifier>RMPI</m2x:identifier><m2x:level>1</m2x:level>

</m2x:securitySystem><sx:territory licensePartId="AnyDomainTerritoryCondition">

<sx:location><sx:country>Germany</sx:country>

</sx:location></sx:territory>

</allConditions>

Page 312: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

312

</grant><grant>

<m2x:export/><digitalResource licensePartIdRef="news"/><allConditions>

<m2x:securitySystem licensePartIdRef="AnyDomainSecuritySystemCondition"/><sx:territory licensePartId="AnyDomainTerritoryCondition"/><m1x:outputRegulation>

<m1x:regulation typeOfSignal="digital"/></m1x:outputRegulation>

</allConditions></grant><issuer>

<keyHolder><info>

<dsig:KeyName>FTABroadcasterDE</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 266 – Expression with REL namespace

4.13.3 Tools for walkthrough #2 – Pay-Per-View Content

The following example shows a possible combination of rights granted to a given piece of contentbroadcast e.g. by a Pay-TV operator, where: Content has to be re-scrambled using AES when acquired in the domain Possibility to acquire new rights is granted. The Pay-TV operator will grant these rights. In the receiving domain, Play Right is granted with ability to trick play the content. Content can

be exported to analogue or digital (both HD and SD) outputs but only for immediate viewing. Ahigh security level in the TVA security system is required.

No rights is granted to other domains

4.13.3.1 Expression with RMPI namespace

<?xml version="1.0" encoding="UTF-8"?><TVAMain xmlns="urn:tva:metadata:2005"xmlns:tva2="urn:tva:metadata:extended:2005"xmlns:tva="urn:tva:metadata:2005"xmlns:rmpi="urn:tva:rmpi:2005"xmlns:mpeg21="urn:tva:mpeg21:2005" xmlns:mpeg7="urn:tva:mpeg7:2005"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:tva:metadata:extended:2005 tva2_metadata_3-3_v111.xsd"xsi:type="tva2:ExtendedTVAMainType"><tva2:RMPITable xml:lang="en-us"><tva2:RMPIDescription RMPIDescriptionId="String"><rmpi:AncillaryRMPI>

Page 313: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

313

<rmpi:RMPITypeFlag>RMPI-MB</rmpi:RMPITypeFlag><rmpi:VersionOfRMPI>5</rmpi:VersionOfRMPI><rmpi:OriginOfRMPI>FTABroadcasterDE</rmpi:OriginOfRMPI><rmpi:Cipher>AES</rmpi:Cipher><rmpi:MBScramblingControl>change</rmpi:MBScramblingControl></rmpi:AncillaryRMPI><rmpi:ExtendRights>

<rmpi:ExtendRightsFlagGranted/></rmpi:ExtendRights><rmpi:ReceivingDomainRights>

<rmpi:PlayRightFlag/><rmpi:AnalogueExportRight>

<rmpi:AnalogueExportRightFlagGranted/></rmpi:AnalogueExportRight><rmpi:DigitalExportSDRight>

<rmpi:DigitalExportRightFlagGranted/></rmpi:DigitalExportSDRight><rmpi:DigitalExportHDRight>

<rmpi:DigitalExportRightFlagGranted/></rmpi:DigitalExportHDRight><rmpi:SecurityLevel>level 3</rmpi:SecurityLevel><rmpi:GeographicalControl>Any</rmpi:GeographicalControl><rmpi:PhysicalProximityFlag>controlled</rmpi:PhysicalProximityFlag>

<rmpi:BufferDuration>buffered</rmpi: BufferDuration></rmpi:ReceivingDomainRights><rmpi:AnyDomainRights>

<rmpi:PlayRightNotFlag>not granted</rmpi:PlayRightFlag><rmpi:AnalogueExportRight>

<rmpi:AnalogueExportRightFlagNotGranted/></rmpi:AnalogueExportRight><rmpi:DigitalExportSDRight>

<rmpi:DigitalExportRightFlagNotGranted/></rmpi:DigitalExportSDRight><rmpi:DigitalExportHDRight>

<rmpi:DigitalExportRightFlagNotGranted/></rmpi:DigitalExportHDRight><rmpi:SecurityLevel>N/A</rmpi:SecurityLevel><rmpi:GeographicalControl>N/A</rmpi:GeographicalControl>

</rmpi:AnyDomainRights></tva2:RMPIDescription></tva2:RMPITable></TVAMain>

Figure 267 – Expression with RMPI namespace

4.13.3.2 Expression with REL namespace

Page 314: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

314

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder licensePartId="ReceivingDomain">

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000</m1x:idSystem>

<m1x:idValue>DO12345</m1x:idValue></m1x:identityHolder><mx:play/><m1x:protectedResource licensePartId="news">

<digitalResource><nonSecureIndirect URI="urn:uci:ETRI-10357"/>

</digitalResource><xenc:EncryptedData>

<xenc:EncryptionMethod Algorithm="AES"/><xenc:CipherData>

<xenc:CipherReference URI="urn:broadcast:news:2005_07_10-12H-00M"/></xenc:CipherData>

</xenc:EncryptedData></m1x:protectedResource><allConditions licensePartId="ReceivingDomainCondition">

<m2x:timeShiftDuration><m2x:duration>PT0S</m2x:duration>

</m2x:timeShiftDuration><m2x:securitySystem licensePartIdRef="ReceivingDomainSecuritySystemCondition">

<m2x:identifier>TVA</m2x:identifier><m2x:level>3</m2x:level>

</m2x:securitySystem></allConditions>

</grant><grant>

<m1x:identityHolder licensePartIdRef="ReceivingDomain"/><m2x:export/><digitalResource licensePartIdRef="news"/><allConditions licensePartIdRef="ReceivingDomainCondition"/>

</grant><grant>

<m1x:identityHolder licensePartIdRef="ReceivingDomain"/><m2x:extendRights>

<m1x:serviceLocation>

Page 315: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

315

<m1x:url>http://www.paytv.com/extendLiceseService</m1x:url></m1x:serviceLocation>

</m2x:extendRights><digitalResource licensePartIdRef="news"/><m2x:securitySystem licensePartIdRef="ReceivingDomainSecuritySystemCondition"/>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>FTABroadcasterDE</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 268 – Expression with REL namespace

4.13.4 Tools for walkthrough #3 – Video-On-Demand Content

The following example shows a possible combination of rights granted to a given piece of contentprovided by a content provider using DRM technology, where:

Content is scrambled using Camellia and needs not to be re-scrambled when acquired in thedomain

Possibility to acquire new rights is granted. An URL is given for that purpose. In the receiving domain, Play Right is granted for two days. Only one copy of the content can be

made within these two days and this copy is usable by one single device. Content can beexported only to HD digital output and only for immediate viewing. Content can only beredistributed in the proximity of the receiving domain and within Japan. The highest securitylevel is required.

No rights is granted to other domains

4.13.4.1 Expression with RMPI namespace

<?xml version="1.0" encoding="UTF-8"?><TVAMain xmlns="urn:tva:metadata:2005"xmlns:tva2="urn:tva:metadata:extended:2005"xmlns:tva="urn:tva:metadata:2005"xmlns:rmpi="urn:tva:rmpi:2005"xmlns:mpeg21="urn:tva:mpeg21:2005" xmlns:mpeg7="urn:tva:mpeg7:2005"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:tva:metadata:extended:2005 tva2_metadata_3-3_v111.xsd"xsi:type="tva2:ExtendedTVAMainType"><tva2:RMPITable xml:lang="en-us"><tva2:RMPIDescription RMPIDescriptionId="String"><rmpi:AncillaryRMPI><rmpi:RMPITypeFlag>RMPI-MB</rmpi:RMPITypeFlag><rmpi:VersionOfRMPI>0</rmpi:VersionOfRMPI>

Page 316: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

316

<rmpi:OriginOfRMPI>FTABroadcasterDE</rmpi:OriginOfRMPI><rmpi:Cipher>Camellia</rmpi:Cipher><rmpi:MBScramblingControl>maintain</rmpi:MBScramblingControl></rmpi:AncillaryRMPI><rmpi:ExtendRights>

<rmpi:ExtendRightsFlagGranted>http://www.vod.com/extendLiceseService</rmpi:ExtendRightsFlagGranted></rmpi:ExtendRights><rmpi:ReceivingDomainRights>

<rmpi:PlayRightFlag/><rmpi:AnalogueExportRight>

<rmpi:AnalogueExportRightFlagNotGranted/></rmpi:AnalogueExportRight><rmpi:DigitalExportSDRight>

<rmpi:DigitalExportRightFlagNotGranted/></rmpi:DigitalExportSDRight><rmpi:DigitalExportHDRight>

<rmpi:DigitalExportRightFlagNotGranted/></rmpi:DigitalExportHDRight><rmpi:SecurityLevel>level 3</rmpi:SecurityLevel>

<rmpi:TimeWindow><rmpi:StartDate>

<rmpi:TimePoint>2005-10-05T12:00:00</rmpi:TimePoint></rmpi:StartDate>

<rmpi:EndDate><rmpi:TimePoint>2005-10-07T12:00:00</rmpi:TimePoint>

</rmpi:EndDate></rmpi:TimeWindow>

<rmpi:GeographicalControl>Japan</rmpi:GeographicalControl><rmpi:PhysicalProximityFlag/>

<rmpi:BufferDuration>immediate</rmpi:BufferDuration></rmpi:ReceivingDomainRights><rmpi:AnyDomainRights>

<rmpi:PlayRightFlag>not granted</rmpi:PlayRightFlag><rmpi:AnalogueExportRight>

<rmpi:AnalogueExportRightFlagNotGranted/></rmpi:AnalogueExportRight><rmpi:DigitalExportSDRight>

<rmpi:DigitalExportRightFlagNotGranted/></rmpi:DigitalExportSDRight><rmpi:DigitalExportHDRight>

<rmpi:DigitalExportRightFlagNotGranted/></rmpi:DigitalExportHDRight><rmpi:SecurityLevel>N/A</rmpi:SecurityLevel><rmpi:GeographicalControl>N/A</rmpi:GeographicalControl>

</rmpi:AnyDomainRights></tva2:RMPIDescription>

Page 317: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

317

</tva2:RMPITable></TVAMain>

Figure 269 – Expression with RMPI namespace

4.13.4.2 Expression with REL namespace

<?xml version="1.0" encoding="UTF-8"?><license xmlns="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sx:profileCompliance="dmp-IDP2-rel-1.0" xsi:schemaLocation="urn:mpeg:mpeg21:2006:01-REL-M2X-NS ..\idp-2\rel-m2x-dac-v1.xsd">

<grant><m1x:identityHolder licensePartId="ReceivingDomain">

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000</m1x:idSystem>

<m1x:idValue>DO12345</m1x:idValue></m1x:identityHolder><mx:play/><m1x:protectedResource licensePartId="news">

<digitalResource><nonSecureIndirect URI="urn:uci:ETRI-10357"/>

</digitalResource><xenc:EncryptedData>

<xenc:EncryptionMethod Algorithm="Camellia"/><xenc:CipherData>

<xenc:CipherReference URI="urn:broadcast:news:2005_07_10-12H-00M"/></xenc:CipherData>

</xenc:EncryptedData></m1x:protectedResource><allConditions licensePartId="ReceivingDomainCondition">

<m2x:timeShiftDuration><m2x:duration>PT0S</m2x:duration>

</m2x:timeShiftDuration><m2x:securitySystem>

<m2x:identifier>TVA</m2x:identifier><m2x:level>3</m2x:level>

</m2x:securitySystem><validityInterval>

<notBefore>2005-10-04T12:00:00</notBefore><notAfter>2005-10-06T12:00:00</notAfter>

</validityInterval><sx:territory>

Page 318: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

318

<sx:location><sx:country>Japan</sx:country>

</sx:location></sx:territory><m2x:proximity/><m1x:outputRegulation>

<m1x:regulation typeOfSignal="analog"/><m1x:regulation typeOfSignal="digital" qualityOfSignal="SD"/><m1x:regulation typeOfSignal="digital"

qualityOfSignal="HD">DTCP</m1x:regulation></m1x:outputRegulation>

</allConditions></grant><grant>

<m1x:identityHolder licensePartIdRef="ReceivingDomain"/><m2x:export/><digitalResource licensePartIdRef="news"/><allConditions licensePartIdRef="ReceivingDomainCondition"/>

</grant><grant>

<m1x:identityHolder licensePartIdRef="ReceivingDomain"/><m1x:governedCopy/><digitalResource licensePartIdRef="news"/><allConditions licensePartIdRef="ReceivingDomainCondition"/>

</grant><grant>

<m1x:identityHolder licensePartIdRef="ReceivingDomain"/><m2x:extendRights>

<m1x:serviceLocation><m1x:url>http://www.paytv.com/extendLiceseService</m1x:url>

</m1x:serviceLocation></m2x:extendRights><digitalResource licensePartIdRef="news"/>

</grant><issuer>

<keyHolder><info>

<dsig:KeyName>FTABroadcasterDE</dsig:KeyName></info>

</keyHolder></issuer>

</license>

Figure 270 – Expression with REL namespace

Page 319: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

319

4.14 Use Case and Value Chain No. 13 – Open Governed Interactive Content

4.14.1 Rationale

The advancing deployment of Internet Protocol (IP)-based network gear with increasingly higherbitrate is making it possible to distribute video and television content on a demand basis.

In this Use Case we consider the distribution of video content carried by RTP/UDP/IP.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.14.2 Tools for walkthrough #1

In this walkthrough the following Users are assumed to exist:

User PerformA plurality of DevicesManufacturers

Manufacture Interoperable Devices

A plurality of Device CertificationAuthorities

Certify Interoperable Devices

A plurality of Service Providers 5. Offer a variety of Governed Content-based Services, inparticular on-demand Services

6. Employ independently selected DRM ToolsA plurality of smart cards providersA plurality of Licence ProvidersA plurality of End Users 1. Buy Interoperable Devices from Manufacturers of their

choice2. Buy smart cards from Trusted Third Parties3. Access Services from Providers of their choice4. Access Licences from Providers of their choice5. Use Governed Content as per Licence

The specific Users are:

Type of User NameDevice Manufacturer DM-ADevice Certification Agency CA-BContent Service Provider SP-CSmart card Provider SP-DTool Provider TP-ELicence Provider LP-FPayment Service Provider PP-GEnd User Rufus

Before Rufus can Access and Use Content the following has to happen

Who Perform What Notes IDP Tool Ref.

Page 320: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

320

CA-B Certify SAV CA-B places a Certificate inside DM-A’sSAV

AD#5

Rufus Buy SAV DM-A’s SAV’s are Certified Out ofscope

Rufus Buy smartcard

From SP-D Out ofscope

4.14.2.1 Rufus Accesses, Plays and Stores Content

Who Perform What Notes IDP Tool Ref.Rufus Select SP-B’s

ServiceOut of all available Services Out of scope

Rufus Select Content Item e.g. a movie Out of scopeRufus Select Licence e.g. for 24 hours Out of scopeRufus Select Payment

methodPays PP-G Out of scope

Rufus(SAV)

Un-Package

Content Item Package Contentas Stream

4.1.2

Rufus(SAV)

Access Licence Access Licence asFile

3.5.3

SAV Parse Licence Represent Licence 2.10Rufus(SAV)

Parse DRMInformation

To find the informationregarding required DRMTools

Represent Content 2.1

Rufus(SAV)

Access DRM Tool Case 1: DRM Tool is in theDCI

Access DRMTool Body asStream

3.5.6

Case 2: DRM Tool Body isAccessed from TP-A via thenetwork

Access DRMTool Body as File

3.5.5

DRMProcessor

Manage DRM Tool Manage DRMTools

3.4

DRMProcessor

Access Key Access Key asStream

3.5.7

Rufus(SAV)

Play Content Item As per Licence Terms Represent ContentElements

2.

Rufus(SAV)

Store DCF Stores as a Content File withthe Licence Bundled within it

Package Contentas File

4.1.1

4.15 Use Case and Value Chain No. 14 – Conversion between DRM Content Formats

4.15.1 Rationale

It may happen that even after IDP is broadly deployed not all devices used for using digital contentconform to it and other devices/content would remain conforming to other DRM standards orsystems. It might be impossible to use content governed according to one DRM System in a device

Page 321: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

321

conforming to another DRM systems even within one user’s domain. For seamless content service,it is required to have a procedure for conversion between different DRM standards or systems.

This Use Case is about the conversion of DRM content between various DRM standards or systemsto make possible the use of DRM content governed by one DRM system on different DRM systemby using DMP Content Format as an intermediate format.

This Use Case is considered for illustration purposes. Therefore it is not specifically recommendedfor implementation.

4.15.2 Tools for walkthrough #1

Tom downloads a movie governed by A-DRM System into his A-DRM compliant STB through aVOD service site. Tom wants to send the movie to his B-DRM compliant PMP device and play thismovie content on the PMP as well as the original STB.

This walkthrough has the following Users:

Type of User NameService Provider A-DRM compliant VOD Service (ADV)Device Manufacturer A-DRM compliant STB Devices (ADD)Device Manufacturer B-DRM compliant PMP Devices (BDD)End User Tom

The following steps are made

Who Perform What Notes IDP Tool Ref.Tom Buy content

itemBuy Movie file (possibly otherResources e.g. photos, mp3s etc. fromADV)

Out of scope

Tom Use contentitem

Play the movie governed by A-DRMsystem at ADD

Out of scope

Tom Request contentitem

Make a request to ADD for “copyingcontent item governed by A-DRM toBDD”

Out of scope

ADD Parse Licence If Licence terms allow “Export Content”1. Then ADD starts to convert contentitem2. Else ADD displays message

Out of scope

ADD Authenticate BDD ADD and BDD mutually authenticate AuthenticateDevice

3.2.1

ADD Unpackage Licence ADD unpackages Licence associatedwith the movie content.

Out of scope

ADD Convert Licence ADD converts the unpacked Licenceinto Licence with CEK encrypted withBDD’s public key

RepresentLicence

2.10

Page 322: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

322

ADD Unpackage contentitem

ADD unpackages the movie content item Out of scope

ADD Convert contentitem

ADD converts the unpacked moviecontent item into Content Item andinserts the Licence into the Content Item

RepresentContent

2.1

ADD Package ContentItem

For Delivery PackageContent

4.1.1

ADD Send ContentItem

As file Access Contentas File

3.7.1

BDD Unpackage ContentItem

BDD unpackages the Content Item PackageContent

4.1.1

BDD Unpackage Licence BDD unpackages the Licence PackageContent

4.1.1

BDD Convert Licence BDD converts the unpacked Licence intoits own Licence

Out of scope

BDD Convert ContentItem

BDD converts the unpacked ContentItem into its own content item

Out of scope

BDD Package contentitem

As file Out of scope

Tom Use contentitem

Play the movie governed by B-DRMsystem at BDD

Out of scope

4.15.3 Tools for walkthrough #2

Tom downloads a movie into his A-DRM compliant STB through a VOD service site. This moviecontent is governed by A-DRM System. Tom wants to receive the movie from the STB at his B-DRM compliant PMP device and play this movie content on the PMP as well as the original STB.

This walkthrough has the following Users:

Type of User NameService Provider A-DRM-compliant VOD Service (ADV)Device Manufacturer A-DRM-compliant STB Devices (ADD)Device Manufacturer B-DRM-compliant PMP Devices (BDD)End User Tom

The following steps are made

Who Perform What Notes IDP Tool Ref.Tom Buy content

itemBuy Movie file (possibly otherResources e.g. photos, mp3s etc. fromADV)

Out of scope

Tom Use contentitem

Play the movie governed by A-DRMsystem at ADD

Out of scope

Tom Request contentitem

Make a request to BDD for “copyingcontent item governed by A-DRM atADD into BDD”

Out of scope

Page 323: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

323

BDD Authenticate ADD BDD and ADD mutually authenticate AuthenticateDevice

3.2.1

ADD Parse license If license terms allow “Export Content”1. Then ADD starts to convert contentitem2. Else ADD send message to BDD,BDD displays message

Out of scope

ADD Unpackage license ADD unpackages license associated withthe movie content.

Out of scope

ADD Convert license ADD converts the unpacked license intoLicence with CEK encrypted withBDD’s public key.

RepresentLicence

2.10

ADD Unpackage contentitem

ADD unpackages the movie content item Out of scope

ADD Convert contentitem

ADD converts the unpacked moviecontent item into Content Item andinserts the Licence into the Content Item

RepresentContent

2.1

ADD Package ContentItem

For Delivery PackageContent

4.1.1

BDD Receive ContentItem

As file Access Contentas File

3.7.1

BDD Unpackage ContentItem

BDD unpackages Content Item PackageContent

4.1.1

BDD Unpackage Licence BDD unpackages Licence PackageContent

4.1.1

BDD Convert Licence BDD converts the unpacked Licence intoits own license

Out of scope

BDD Convert ContentItem

BDD converts the unpacked ContentItem into its own content item

Out of scope

BDD Package contentitem

As file Out of scope

Tom Use contentitem

Play the movie governed by B-DRMsystem at BDD

Out of scope

4.16 Use Cases and Value Chain Number 15 – Content Identification

A Content Registration Agency may decide to offer multiple Content Identification Services.

4.16.1 Tools for walkthrough #1

GreenRegistrations offers Content Creators the ability to

Select a standard Licence Fill in all specific Data in the Licence Register the Licence, i.e. obtain a Licence Identifier Create a DCI adding the Resource Licence to the Content Register the DCI and obtain a DCI Identifier.

Page 324: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

324

In this Use Case the Protocol can be implemented using a variant of AD #3 Protocols as follows:

1. CCD makes a DCI2. Content Creator contacts GreenRegistrations3. CID and CCD mutually Authenticate4. Content Creator selects a Licence applicable to his intended Use of the Resources from CID GUI5. Content Creator fills in the Resource Identifiers to be added to the Licence (eg, click and send)6. CID sends Licence and Licence Identifier to CCD7. CCD adds Licence and Identifier to the DCI8. CID

a. Assigns Content Identifier to the DCIb. Sends the requested Identifier to Creator

9. CCDa. Adds Identifier to DCIb. Computes the hash of the new DCI with Identifierc. Content Creator signs Hashd. Sends the hash of DCI to GreenRegistrations

10. CID Stores the hash for future reference

4.17 Use Cases and Value Chain Number 16 – Value Chain Roles

4.17.1 Rationale

Groups of individuals sporadically and often spontaneously, work together to create Content thatmay become distributed on the internet. They do this by exchanging preliminary computer files (text,audio, audio visual, image) known as Resources which serve to represent the different related IPEntities each are responsible for. Eventually, these Resources can become part of Products that areused and traded on the internet. These individuals are also recognized between each other by virtueof sets of specific actions they perform on or with specific IP Entities, different sets of these actionsconstitute Roles for example, a “Creator” authors, a “Performer” interprets and so on with the Rolesof arranger, producer publisher and distributor. These Roles are thus associated with specific IPEntities that in turn qualify the digital objects that represent them. Also, IP Entity to IP Entity andRole to Role relationships are direct corollaries of one another.

However and presently, the process of formalising and recording interactions between Users thatassume Roles is performed through disparate means that are sometimes only partially mechanisedand certainly not interoperable. Therefore, there is a clear need for a common machine readablemethod for representing the relationships between:

1. IP Entities2. IP Entities and Roles3. Roles

A way to achieve the above is by implementing formal (machine readable) Ontologies that allowcapturing definitions and their relationships in a constant and consistent fashion. One such ontologybased on the DMP Creation Model is the RRD.This Use Case illustrates how the RRD as specified in Chapter 3 of IDP 3.1 can be used by severaldifferent Users to mutually declare complementary roles vis à vis a common Content Item.

Page 325: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

325

This Use Case is considered for illustrative purposes. Therefore it is not specifically recommendedfor implementation.

4.17.2 Tools for walkthrough #1

George has an MP3 file on his computer that he wishes to be used exclusively as a Manifestation ofhis Work in lieu of a written score and not as a performance for distribution to the general public.George is a registered user of RRD Ontology Access (ROA), an on line service where he can accessan Ontology Application that runs an API that interfaces the latest version of the DMP RRDOntology maintained as a standard OWL file format. The RRD Ontology supports the Roles:Creator, Adaptor, Instantiator, Producer and Distributor. Thus, George can Register his DCI asrepresenting his Manifestation of his Work. The following table includes a step by step descriptionof how George would achieve this.

Who Perform What Notes IDP Tool Ref.George Make/

Register/Identify

DCI User Creates, Registersand Identifies a DCI toRepresent his Resource

RepresentContent

2.5.1

George Enter User Login User accesses ROA noneGeorge/ROA Mutually

AuthenticateUser The ROA uses a SAC Out of scope

George Access ROA RRDApplication

The RRD applicationconsists of a userinterface that accesses theRRD OWL

RRDOntology/API

2.10

ROA Request DCI The ROA requires theContent Item for itsAuthentication

AccessContent

3.6.1

George Upload Content ItemROA Authenticate Content Item The ROA needs to

Authenticate the DCI andits ID

AuthenticateContent

3.2.3

ROA Request Role A Role must beassociated to identifiedUser with respect toContent Item’s ID.

RRDOntology/API

2.10

George Enter Creator With the User’sdeclaration of Role, theRRD Application + RRDOWL knows what IPEntities can apply.

RRDOntology/API

2.10

ROA Request IP-Entity The RRD Applicationoffers the User therelevant IP-Entity optionscorresponding to the Rolein this case: Work inWork-Manifestation-Copy.

RRDOntology/API

2.10

Page 326: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

326

George Enter Work-Manifestation-Copy

RRD requires that allparent class individualsbe entered also beforeentering child classindividuals

RRDOntology/API

2.10

ROA Request Work andWork-ManifestationTitles

The Parents of Work-Manifestation-Copy

RRDOntology/API

2.10

George Enter Work ID This may be either of astring, a code such asISWC or both

none

Following the above steps, the ROA has added to its RRD OWL file the corresponding concreteindividuals for the following RRD classes: Creator, Work and Work- Manifestation and Work-Manifestation-Copy. These class individuals are now related to one another thanks to the standardRRD OWL file logic. When in the future another user wishes to use Georges Work-Manifestation-Copy, George can require that before being granted access and through his Work-Manifestation-Copy DCI License Users must be referred back to the ROA to be associated with a valid availableRole vis à vis George’s DCI i.e. Instantiator or Producer. This way, George will have a record inthe ROA of all Users that have accessed his DCI and the Role those users have declared vis à visthat same DCI.

4.18 Use Cases and Value Chain No. 17 – Domain Management

4.18.1 Rationale

There are many cases where Users (companies or individuals) who have Rights want to ReleaseContent in such a way that only a group of Users can Access it. Domains are sets of Devices sharingcommon attributes, such as personal or group ownership. Domain Management includes setting upDomains, managing Device and User membership of a Domain (i.e. joining, renewing and leavingDomains) and controlling the Use of Content within the Domain.

The following Use Cases are considered for illustration purposes and are not specificallyrecommended for implementation.

4.18.2 Rights holder defined Domain

4.18.2.1 Tools for walkthrough #1 – a Domain of Devices

The Device manufacturer Great Blue Devices (GBD) intends to use interoperable DRM to bindUsers to the Environment of his well designed GBD Devices and DotBlue Services. For this purposeGBD creates a Domain of GBD Devices. A Domain Authority assigns a Domain Manager ID to theDomain Manager Device (DMD) and Domain Manager Device (DMD) requests DomainIdentification Device (DoID) to assign a Local Domain ID to the newly created Domain operated byGBD. Before shipping new Devices GBD adds the Device Identifiers to the GBD DMD so that allGBD Devices are automatically members of the Domain of GBD Devices.

Page 327: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

327

Who Perform What Notes IDP Tool Ref.DMD,DomainAdministrator(GBD)

Create Domain Domain of GBD Devices CreateDomainProtocol

3.3.2.1

DomainAuthority,DoID, DMD

Identify Domain Domain of GBD Devices RequestLocalDomain IDProtocol

DMD,DomainAdministrator(GBD)

Add Device IDs Domain of GBD Devices Add DeviceProtocol

3.3.4.1

4.18.2.2 Tools for walkthrough #3 – A “walled garden”

A Service Provider can set up and manage a Domain of Users and Devices. The Service Providercan add Users and/or Devices to this Domain. All members of the Domain can receive his Services.

Great Blue Cable network (GBC) is a Provider of internet television Services. Historically the GBCnetwork infrastructure was owned by the people of the Democratic Republic of Blue Island. BlueIsland's citizens could only watch two channels (BTV1 and BTV2). Watching foreign televisionchannels was considered to be a disgrace to the honoured leaders of Blue Island. Then, after thesilent revolution of 2007, the network infrastructure was privatized and upgraded.

The new owners of GBC installed a GBC television Service Provider Device on the head end side ofBlue Island's network infrastructure. All citizens of Blue Island were supplied with Devices forreceiving digital television Services. With these Devices they can receive 40 television channels forfree. These Devices were preconfigured to be part of a GBC Domain managed by a GBC Domainmanagement Device (DMD).. Together with their Devices all citizens of Blue Island received aGBC Pay-TV smart card. The smart card contains a certificate that Identifies the User. Onlyidentified Users can receive GBC Services and it is not possible to receive GBC Services (like e.g.the GBC Electronic Program Guide) on Devices that are not members of the GBC Domain.

GBC also operates 80 Pay-TV channels and rental and retail Services for films (e.g. near-video-on-demand). When a User inserts the smart card into the Device, it exchanges the certificate with theGBC television Service Provider Device. The Domain Management Device then adds the User ID tothe Domain of GBC Pay-TV Users and the Device with the smart card inserted can Access Pay-TVand other Services.

Who Perform What Notes IDP Tool Ref.DMD (GBC DomainAdministrator)

Create Domain Domain of GBCDevices

CreateDomainProtocol

3.3..2.1

DMD (GBC DomainAdministrator)

Create Domain Domain of GBCUsers

CreateDomainProtocol

Page 328: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

328

DMD (Domain Authority) Identify Domain Domain of GBCDevices

RequestLocalDomainIDProtocol

DMD (Domain Authority) Identify Domain Domain of GBCUsers

RequestLocalDomainIDProtocol

DMD (GBC DomainAdministrator)

Add DeviceIDs

Domain of GBCDevice

AddDeviceProtocol

3.3.4.1

DMD (GBC DomainAdministrator)

Add User IDs Domain of GBCUsers

AddDeviceProtocol

3.3.4.2

4.18.2.3 Tools for walkthrough #4 – revoke a User/a Device

Clark is a salesman working on a trade fair. Since Clark has subscribed to GBC's Pay-TV Service hecan watch his favourite TV programmes in the hotel room on his mobile Device. On the third day ofthe fair a thief steals Clark's bag containing the mobile Device with Clark's smart card. FortunatelyClark has stored his music archive on his home Device, so no Content is lost. Before he calls thepolice Clark calls the GBC Domain Administrator and identifies himself with a secret pass phrase.

The GBC Domain Administrator revokes Clark's User identity and the stolen mobile Device fromthe Domain of GBC so that it is not possible any more to Use Clark's stolen smart card nor mobileDevice for accessing GBC communication Services. Then the GBC Domain Administrator creates anew User identity for Clark, adds it to the GBC Domain and sends a new set of devices (e.g. SIMcards, smart cards) to Clark via express mail. In an electronic store nearby Clark buys a new mobileDevice. If the express mail service does a good job Clark will be able to access his usual GBCService a few hours later.

4.18.2.3.1 Revoking Users / Devices

Who Perform What Notes IDP Tool Ref.DMD,DomainAdministrator(Clark)

Identify User/Device Exchanging Credentialinformation with DomainAdministrator

RequestLocalDomain IDProtocol

DMDDomainAdministrator(GBC)

Revoke User/Device Domain of GBC's Users LeaveDeviceProtocol,Leave UserProtocol

3.3.4.5

3.3.4.6

Page 329: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

329

4.18.3 User defined Domain

4.18.3.1 Tools for walkthrough #5 – a local Domain

David is an End-user. He owns several GBD Devices belonging to the GBD Domain (the Domainoperated by the Device Manufacturer GreatBlue Devices – see above). David can establish a localDomain by requesting a new Domain from his local Domain Manager Device (DMD) which isoperated by David. Then David can add/remove Devices of his choice to/from his local Domain,including non-GBD Devices. Content Licensed to David's Domain can be Used on all Devices in hislocal Domain, but only GBD Devices in David's local Domain can receive GBD Services.

Who Perform What Notes IDP Tool Ref.DMDDomainAdministrator(David),

Create Domain Domain of David's Devices CreateDomainProtocol

3.3.2.1

DMDDomainAuthority,(David)

Identify Domain Domain of David's Devices RequestLocalDomain IDProtocol

DMDDomainAdministrator(David)

Add Device IDs Domain of David's Devices Add DeviceProtocol

3.3.4.1

DMDDomainAdministrator(David)

leave Device IDs Domain of David's Devices LeaveDeviceProtocol

3.3.4.2

4.18.3.2 Tools for walkthrough #6 – sharing Content in local Domains

Content can be Licensed to Users, Devices or Domains. Though sharing Content between Users islegal in some situations and jurisdictions (e.g. between friends and family members), strangesituations can happen when Users decide to connect their Devices and try to Play Content on aDevice that was Licensed for an other Device.

David and Eliza are two students of the University of Blue Island. David has a large collection ofKung Fu films Licensed to his local Domain (the License allows David to download the films andPlay them on all Devices in his local Domain). Eliza collects Blue Island horror films from the1970s. All of Eliza's films are Licensed to her User identity (the License allows her to download thefilms and Play them on all Devices controlled by her). One day David and Eliza fall in love andDavid moves into Eliza's flat. Of course they want to Play David's films on Eliza's Devices (and viceversa)

Who Perform What Notes IDP Tool Ref.DMD (DomainAdministrator -

Create Domain Domain of David'sUsers

CreateDomain

3.3.2.1

Page 330: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

330

David) ProtocolDoID Identify Domain Domain of David's

UsersRequestLocalDomain IDProtocol

DMD (DomainAdministrator -David)

Add User ID Add Eliza's User IDto Domain of David'sUsers

Add UserProtocol

3.3.4.2

DMD (DomainAdministrator -Eliza)

Create Domain Domain of Eliza'sDevices

CreateDomainProtocol

3.3.2.1

DoID Identify Domain Domain of Eliza'sDevices

RequestLocalDomain IDProtocol

DMD (DomainAdministrator –Eliza)

Add Device IDs Add David's Devicesto Domain of Eliza'sDevices

AddDeviceProtocol

3.3.4.1

Page 331: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

331

5 Certification and Registration Authorities

5.1 Introduction

To perform the tasks for which they are designed, Value-Chains built to operate according to DMPApproved Documents need to rely on the guaranteed Integrity of Entities such as Device and DRMTools and the Identity of Entities such as Content, Device, Domain, DRM Tools and User.

This Chapter 5 collects roles, qualification requirements, appointment procedures and operationalrules of DMP-appointed Certification and Registration Authorities.

Prerequisites for proper understanding of this Chapter 5 are: reading of this Foreword, Chapter 2 andChapter 6.

5.2 DMP Certification Authorities

When designing, implementing and operating Value-Chains handling Governed Content there areseveral cases where Entities such as Devices (e.g. Creation Devices, Consumption Devices andDomain Management Devices) and DRM Tool Bodies have to be Certified before operation on theIDP. As an example, Certification constitutes a key assurance for a Rights Holder to entrust hisContent to a Device.

Certification is carried out by a plurality of organisations dedicated to the task of Certifying Entities.To perform this task these organisations must be properly accredited by a root authority calledCertification Authority.

In this regard, the only role of DMP is to select and appoint the Certification Authority. SaidAuthority is responsible for Certification policy of types of Entity for which Certification is required.A Certification Agency is responsible for performing tests to guarantee – within an acceptable levelof confidence – that a given Entity may operate in the IDP. Once Certified, the Entity can beIdentified. The Certification Authority will appoint Certification Agencies on the basis of thegeneral rules as specified in this Chapter 5.

5.2.1 Process

For each Certification Authority the following process shall be followed:

1. When the need for a Certification Authority is identified as part of the development of one ormore Approved Documents, the General Assembly will document the need in a Call forParticipation;

2. The General Assembly will request the Board of Directors to issue the Call for Participationwithin the time set by the General Assembly;

3. Applications shall be received by the Board of Directors and reviewed on the basis ofcompliance with the terms contained in the Call for Participation and adequacy of theCertification Policy proposed by the applicant;

4. The Board of Directors shall select and propose the appointment of one candidate CertificationAuthority to the General Assembly within 180 days of the deadline indicated in the Call forParticipation for submitting Applications;

Page 332: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

332

5. The General Assembly shall appoint the Certification Authority based on the proposal made bythe Board of Directors;

6. Once appointed, the Certification Authority may receive applications from applicants wishing tobecome Certification Agencies;

7. The Certification Authority shall review the application for compliance with the CertificationPolicy;

8. In case an application is rejected, the applicant may appeal to the Board of Directors;9. The Board of Directors will issue a final judgement on the appeal;10. The Board of Directors will inform the Certification Authority and the appealing Certification

Agency of its decision within 90 days of the date of appeal;11. If a Certification Authority resigns it must ensure continuity of its function for a minimum

period so that a new Certification Authority may be appointed.

5.2.2 Qualification Requirements for a Certification Authority

To qualify for appointment as a Certification Authority an organization shall demonstrate that:1. It is a legal entity;2. It has been in existence for no less than five years;3. It enjoys a sound financial structure;4. It is familiar with the field in which it applies to operate as an Authority;5. It has employees who are technically competent in Certification of the relevant Entity and are in

number deemed to be sufficient to handle the expected workload;6. It does not have a direct economic stake in the related business;7. It commits to function in its capacity as a Certification Authority for a minimum number of

years;8. It has sufficient equipment resources (e.g., hardware, software) and communication facilities

(e.g., postal street address, telephone, facsimile, e-mail, ftp and web site);9. The fee structure, if one is envisaged, shall be for the purpose of cost recovery, and shall be

approved as part of the appointment;10. It shall require no financial contribution from DMP and its members;11. It shall not become a Certification Agency.

5.2.3 Procedure to appoint a Certification Authority

The following procedure shall be invoked whenever DMP identifies the need for a CertificationAuthority (Note: This procedure needs to be invoked once following which and depending on theresults of the first call the DMP General Assembly may, under its discretion decide to either repeatthe call or proceed by other means to satisfy the requirement):

1. The General Assembly shall draft a Call for Participation;2. The Board of Directors shall issue the Call for Participation by the time indicated by the General

Assembly;3. Prospective Certification Authorities shall submit an application indicating

a. How the requirements of the Call for Participation are fulfilled;b. The time the Certification Authority will be in a position to start accepting applications from

candidate Certification Agencies;c. The criteria for accepting or rejecting applications for Certification Agencies to be applied in

a strictly non-discriminatory fashion;

Page 333: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

333

d. The level of administrative fees and the underlying cost structure which must be based oncost recovery principles;

4. The DMP Board shalla. Assess the applications;b. Select one;c. Draft the text of the agreement between DMP and the selected applicant;d. Achieve agreement with the selected applicant on the text of the agreement;e. Submit its conclusions to the General Assembly, including the text of the agreement between

DMP and the selected applicant;5. The General Assembly shall vote on the proposal of the Board of Directors;6. The DMP Board will inform the successful applicant of the result within 180 days of the

deadline indicated in the Call for Participation for submitting Applications.

5.2.4 Responsibilities of a Certification Authority

Once appointed the Certification Authority shall:

1. Handle all business in English;2. Publish all relevant material on the Certification Authority’s web site. This will include:

a. How to apply for a Certification Agencyb. The level of feesc. The application approval criteriad. Documents describing practices and tutorialse. Etc.;

3. Receive applications from prospective Certification Agencies;4. Evaluate applications in accordance with the application approval criteria, including technical

capabilities of the applicant;5. Inform the applicant within 180 days of receipt of the application of the outcome of the

evaluation;6. Deal with resubmissions of a previously rejected application as a new application;7. Adhere to the procedure for appeals;8. Process requests to extend the field of Entity Certification of a previously appointed

Certification Agency as a new application;9. Publish the register of appointed Certification Agencies on the Certification Authority’s web site;10. Keep a record of all request forms, granted and denied;11. Safeguard any confidential information;12. Handle all aspects of the Certification process in accordance with good business practices;13. Collect complaints about performance of Certification Agencies and act accordingly, including

revoking the status of Certification Agency;14. Inform the relevant Registration Agencies that Certification of an Entity has been revoked in

case the Certification Agency responsible fails to act;15. Report periodically to the DMP Board of Directors.

5.2.5 Responsibilities of Certification Agencies

1. Not to be engaged in the business for which it seeks to become a Certification Agency, as thiswould create a conflict of interest;

2. Apply to the Certification Authority following the procedures and including a description of:

Page 334: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

334

a. The field of Entity Certification;b. The technical qualifications;c. The procedures and test suites to be employed for Certification;

3. Provide contact information;4. Agree to set up an operational Certification Agency within 180 days from the day of receipt of

acceptance of the application;5. Be aware that the appointment may be revoked if the Certification Agency fails to be operational

within the prescribed time;6. Maintain a permanent record of the application form and the notification received from the

Certification Authority;7. Keep a record of all request forms – granted and denied – from companies applying for

Certification in accordance with good business practices;8. Revoke Certification of Entities that are found after receiving Certification that they do not fulfil

the requirements and inform the relevant Registration Agencies;9. Make periodic reports to the Certification Authority.

5.3 DMP Registration Authorities

When designing, implementing and operating Value-Chains handling Governed Content there areseveral cases where Entities such as Content, Licenses, DRM Tool Bodies, Devices, Users andDomains need to be reliably and unambiguously Identified. This task requires specific capabilities,as Identification constitutes a key element of Trust establishment, e.g. in the case of Devices. Thetask of Identification needs to be carried out by several organisations that are properly accredited bya root authority.

In this regard DMP has to make sure that for each Entity there is one and only one root authority –called Registration Authority – each of which may have responsibility for more than one Entity.However, the only role of the DMP is to select and appoint Registration Authorities. A RegistrationAuthority is responsible for allocating namespaces to Registration Agencies in accordance withChapter 3]. The Registration Authority will appoint Registration Agencies on the basis of thegeneral rules as specified in this Chapter 5.

5.3.1 Process

For each Registration Authority the following process shall be followed:

1. When the need for a Registration Authority is identified as part of the development of one ormore Approved Documents, the General Assembly will document the need in a Call forParticipation;

2. The General Assembly will request the Board of Directors to issue the Call for Participationwithin the time set by the General Assembly;

3. Applications shall be received by the Board of Directors and reviewed on the basis ofcompliance witha. The terms contained in the Call for Participation;b. Adequacy of the policy to appoint and supervise Agencies;c. Level of detail of the proposal;

4. The Board of Directors shalla. Provide a list of all responses to the Call for Participation to the General Assembly;

Page 335: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

335

b. Select and propose appointment of one candidate Registration Authority to the GeneralAssembly within 180 days of the deadline indicated in the Call for Participation forsubmitting Applications;

c. Propose a contract between the DMP and the Registration Authority proposed forappointment;

5. The General Assembly shalla. Approve the contract between the DMP and the Registration Authority proposed for

appointment;b. Appoint the Registration Authority

6. The Registration Authority shall receive applications from candidate Registration Agencies andappoint them;

7. In case an application of a candidate Registration Agency is rejected the applicant may appeal tothe Board of Directors;

8. The Board of Directors will issue a final judgement on the appeal;9. The Board of Directors will inform the Registration Authority and the appealing candidate

Registration Agency of its decision within 90 days of the date of appeal;10. The Registration Authority shall make a yearly report which will be reviewed by the General

Assembly;11. If a Registration Authority resigns the matter will be brought to the attention of the General

Assembly for action;12. If a Registration Authority resigns it must ensure continuity of its function for a minimum period

so that a Registration Authority may be appointed.

5.3.2 Qualification Requirements for a Registration Authority

To qualify for designation as a Registration Authority an organization shall demonstrate that:

1. It is a legal entity;2. It has been in existence for no less than five years;3. It enjoys a sound financial structure;4. It is familiar with the field in order to operate as an Authority;5. It has employees who are technically competent in digital identification;6. It does not have a direct stake in the related business that would create a conflict of interest;7. It commits to function in its capacity as a Registration Authority for a minimum number of years;8. It has sufficient equipment resources (e.g., hardware, software) and communication facilities

(e.g., postal street address, telephone, facsimile, e-mail, ftp and web site);9. If it operates with a fee structure, this structure shall be for the purpose of cost recovery, and

shall be approved as part of the appointment;10. It shall require no financial contribution from DMP and its members;11. It shall not become a Registration Agency.

5.3.3 Procedure to appoint a Registration Authority

The following procedure shall be invoked whenever DMP identifies the need for a RegistrationAuthority (Note: This procedure needs to be invoked once following which and depending on theresults of the first call the DMP General Assembly may, under its discretion decide to either repeatthe call or proceed by other means to satisfy the requirement):

Page 336: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

336

1. The General Assembly will draft a Call for Participation;2. The Board of Directors shall issue the Call for Participation by the time indicated by the General

Assembly;3. Prospective Registration Authorities shall submit an application indicating:

a. The time the Registration Authority will be in a position to start assigning subordinatenamespaces to Registration Agencies;

b. The criteria for accepting or rejecting applications for Registration Agencies to be applied ina strictly non-discriminatory fashion;

c. The level of administrative fees, if any, which must be based on cost recovery principles;d. The policy to be applied in appointing and supervising Agencies;

4. The DMP Board shalla. Assess the applications;b. Select one;c. Draft the text of the contract between DMP and the selected applicant;d. Achieve agreement with the selected applicant;e. Submit its conclusions to the General Assembly;

5. The General Assembly will vote on the proposal of the Board of Directors;6. The DMP Board shall inform the selected applicant of the result within 180 days of the deadline

indicated in the Call for Participation;7. The selected applicant and the DMP will sign the contract in the form approved by the General

Assembly.

5.3.4 Procedural responsibilities of a Registration Authority

Once appointed the Registration Authority shall:

1. Obtain, where required, a namespace and use the namespace as a prefix for identifiers inaccordance with the relevant part of Chapter 3;

2. Handle all business in English;3. Publish all relevant material on the Registration Authority’s web site whose domain name is

provided by the DMP. This will include:a. How to apply for a Registration Agency,b. The level of fees charged by the Registration Authority;c. The application approval criteria;d. Documents describing practices and tutorials;e. Etc.;

4. Receive applications from prospective Registration Agencies;5. Review applications in accordance with the application approval criteria;6. If the criteria are met, communicate to the applicant within 30 days of receipt of the application

the assigned subordinate name spaces;7. If criteria are not met, inform the applicant within 30 days of receipt of the application;8. Deal with resubmissions of a previously rejected application as a new application;9. Adhere to the procedure for appeals;10. Process updates of a previously registered subordinate namespace as a new application;11. Act on Registration Agencies failing to be operational within the prescribed time, including

revocation of the authorization;12. Maintain an accurate register of the assigned subordinate name spaces;13. Keep a record of all request forms, granted and denied;

Page 337: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

337

14. Safeguard any confidential information;15. Handle all aspects of the registration process in accordance with good business practice;16. Collect complaints about performance of Registration Agencies and act accordingly, including

revoking the status of Registration Agencies;17. A revoked Registration Agency can appeal to the Board of Directors;18. Report annually to the DMP Board of Directors.

5.3.5 Operational responsibilities of a Registration Authority

1. A Registration Authority shall provide access to the list of appointed Registration Agencies on a24x7 level so that Devices may Access the Registration Agency that has issued a given Identifier(See Chapter 3 for details)

2. A Registration Authority shall perform the functions of a Registration Agency that has beenrevoked or ceased to operate, with the exclusion of Registration of new Content, at the samelevel of service, until such time as the Identifier data base will be reassigned.

5.3.6 Responsibilities of Registration Agencies

1. Apply using the forms supplied and following the procedures adopted by the RegistrationAuthority;a. Include a description of the purpose of the subordinate name space, and the required

technical details as specified in the application form;b. Provide a precise statement of the policy the candidate Registration Agency will pursue

when providing Identifiers;c. Provide contact information;

2. Agree to set up an operational Registration Agency within 180 days from the day of receipt ofacceptance of the request;

3. Publish on their web site the policy the Registration Agency pursues when providing Identifiers;4. Assign Identifiers using exclusively one or more of the DMP Identification Protocols;5. Maintain a permanent record of the application forms and the notifications received from the

Registration Authority;6. Keep a record of all request forms, granted and denied;7. Provide Content Authentication services using the appropriate DMP Authentication Protocol;8. Make the identifier data base available to the Registration Authority for reassignment in case the

Registration Agency is revoked or ceases to operate.

5.4 Roles of Registration Agencies

5.4.1 Roles of DRM Tool Body Registration Agencies

DRM Tool Body Registration Agencies shall Assign Identifiers for the following:

DRM Tool Bodies Identifiers that uniquely Identify executable computer codethat implements a DRM Tool

Control Points Identifiers that uniquely Identify a point in a Device underthe control of a DRM Tool

DRM Tool Instantiation_API_ID Identifiers that uniquely Identify the API for instantiation ofthe DRM Tool.

DRM Tool Messaging_API_ID Identifiers that uniquely Identify the API to pass messages

Page 338: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

338

to/from a DRM Tool

See Chapter 3 for details.

5.5 Tasks of the Board of Directors regarding Certification and RegistrationAuthorities

The responsibilities of the DMP Board of Directors regarding Certification and RegistrationAuthorities shall be:

1. Publish Calls for Participation;2. Receive applications of organizations seeking to become Certification or Registration

Authorities;3. Select and propose Certification and Registration Authorities to the General Assembly;4. Communicate decision of appointment or otherwise to candidate Certification or Registration

Authorities;5. Review and dispose of all appeals by organizations seeking to become Certification or

Registration Agencies within 120 days of receipt of the appeal by the DMP secretariat;6. Inform, in writing, the appealing organization and the Certification or Registration Authority of

the disposition of the appeal;7. Review the annual reports of the Certification and Registration Authorities’ summary of

activities;8. Report to the DMP General Assembly any information concerning the status of operation of the

Certification and Registration Authority and the general status of Certification and RegistrationAgencies.

Page 339: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

339

6 Terminology

6.1 Introduction

This document collects the definitions of key terms used throughout DMP Approved Documents.When terms are used with upper case in other DMP Approved Documents they have the meaningdefined here, unless another meaning is explicitly declared. When the terms are used in lower casethey do not necessarily imply that the meaning is included in the upper case definitions providedhere. For example, "copy" does not necessarily include "Copy", and "use" does not have to include"Use".

6.2 Definitions

Access (Content) The Function executed by a Device when making Contentavailable so that the Device can execute Functions on it

Adapt (Content) The Function of restricting the attributes of a Content Item,e.g. by reducing the Permissions in a License

Adapt (Resource) The Function of modifying the attributes of a Resource, suchas converting 5-channel music to 2-channel music, or sub-sampling a high-definition video to a standard-definitionvideo, etc.

Adaptation A Work that is derived from another WorkAdaptationInstance An object or event which is an example of an Identified

Adaptation Manifestation (e.g. a File)AdaptationInstanceCopy A copy of an Adaptation InstanceAdaptationManifestation An object or event which is an expression of an AdaptationAdaptationManifestationCopy A copy of an Adaptation-ManifestationAdaptor A User who produces an AdaptationAnnotate (Resource) The Function of a User who

1. References a specific Fragment of a Resource and2. Links the reference to another Fragment Created by the

UserApproved Document Any of the following types of DMP documents

1. Recommended Action2. Recommended Practice3. Technical Reference4. Technical Specification

Assign (Identifier) The Function of allotting an Identifier to an EntityAuthenticate The Function of confirming the identity of an Entity to a

Device or UserBackup The Function that supports

1. Duplication of Content2. Duplication of Rights Expression in case this is a Stateless

Rights Expression, and3. Moving of the duplicate(s) to another location that is not a

Device

Page 340: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

340

Binarised XML XML data converted to binary form in a lossless fashionBroadcast The Function that Delivers Content to a Device in a point-to-

multipoint modalityBundle The Function of binding two sets of DataCertificate A token attesting that an Entity has passed the tests of a

Certification AgencyCertification The process whereby a Certification Agency issues a

CertificateCertification Agency A User appointed by a Certification Authority to Certify

EntitiesCertification Authority A User appointing and overseeing Certification AgenciesClear-text Data that can be Processed as is by a DeviceCondition The terms and obligations under which Permissions in a

License can be exercisedConformance The status of a Content or Device Entity that has been judged

to positively meet the requirements of a TechnicalSpecification

Content A DMP-defined structure of Content ElementsContent Element Any of the following Data types: Resource, Metadata,

Content, License, DRM Information, DRM Tool, DRM ToolPack and Use Data

Content Entity Any of the following Entities: Content and Content ElementsContentGroup A group of Content Items for Management within DomainsContent Interoperability The capability of a Content Item to be Used by a Device in

the way expected by the Device(s) from which the Contenthas originated. DMP Governed Content is Interoperable withDMP Devices

Content Item A particular instance of ContentContent Provider A User who Delivers Content to another UserControl Point A point in a Device under the control of a DRM Tool, e.g. in a

Resource decoding pipeline

CopyThe Function by which Device A Stores Content in Device B,preserving the original Content in Device A

CreateWork The action of creating a Work without any previous IP EntityCreator A User who generates a Work and makes its first

Manifestation, also referred to as authorCredentials Information describing the security attributes of an EntityData Information converted to digital formDecrypt The Function of bringing previously unprocessable Data to a

processable form using a KeyDelete The Function of erasing a Content Item Stored on a DeviceDeliver The Function of transferring Content between any two or

more Devices using a transport mechanism (file download,broadcast transport protocol or network streaming protocol)

Page 341: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

341

Delivery System A system designed to enable Delivery of Content betweenDevices

Depend The un-severable relation between two IP Entities whetherphysically perceivable or not

Descriptor Data that describe the properties of a ResourceDevice A combination of hardware and software or just an instance of

software that allows a User to execute FunctionsDevice Entity Any of the following Entities: Device, User and DomainDevice Information Data characterising a Device, e.g. CPU, OS etc.Device Interoperability The capability of a device to exchange data with other devices

across standard interfaces, using standard protocols, and to beprocessed by the devices exchanging the data in a predictablefashion. DMP Devices are Interoperable

Distribution The Function of selling, renting and lendingDistributor A User who distributes a ProductDMP Content Broadcast (DCB) DMP Content Information Packaged for Delivery as

BroadcastDMP Content Broadcast (DCS) DMP Content Information Packaged for Delivery as

StreamingDMP Content File (DCF) DMP Content Information Packaged for Delivery as FileDMP Content Information (DCI) The digital Representation of ContentDMP DRM System A DRM System that realizes Interoperability. A DMP DRM

system implementation allows Devices to Use Content fromanother DMP DRM System implementation even though thelatter may use different technologies

DMP Information Data used to describe Content and Content Elements notrelated to Governance

Domain A set of Devices sharing some common attributes, such aspersonal or group ownership that is appropriate for variousbusiness models

Domain Context Information Data characterising a Domain that is Stored in a Device forthe purpose of Managing and Licensing Use of Content inDomains

Domain Information Data characterising a Domain that is Stored in a DomainManagement Device, e.g. the list of Devices, Users, DomainKey etc.

Domain Management The set of Functions that relate to the1. creation, renewal and deletion of Domains2. joining, renewing and leaving a Domain by Devices and

Users3. Licensing of Content to Domains

DRM FunctionDRM Information Data that describe Governance of ContentDRM Message A message exchanged between DRM Tool Bodies, DRM

Processor and Devices

Page 342: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

342

DRM Processor A module within a Device Certified as being Trusted forexecuting DRM Functions

DRM systemA system of Information Technology components andservices which strives to distribute and control content and itsrights. This operates in an environment driven by law, policiesand business models.

DRM ToolAn algorithm which implements one or more DRM Functions

DRM Tool Agent Executable code that instantiates, initialises, Authenticates,and supervises any operation performed between DRM Toolswithin a DRM Tool Group

DRM Tool BodyAn executable computer code that implements a DRM Tool

DRM Tool Group A combination of DRM ToolsDRM Tool Pack Executable code that comprises a DRM Tool Group and its

DRM Tool AgentEdit The Function of Modifying a Content Item, such as by adding,

deleting, or altering pieces of Content in a Content ItemEncrypt The Function of making Data unprocessable unless a Key is

available to bring the Data to a processable formEnd-User A User in a Value-Chain who ultimately consumes ContentEntity Any of the following: Intellectual Property Entities, Content

Entities and Device EntitiesEnvironment A Device or set of interconnected Devices. An Environment

can interact with other Environments using Protocols and canalso interact with the outside of the Environment throughappropriate interfaces using protocols

Event The execution of a (set of) Function(s) by a Device. It issynonymous with Use

Event Reporting The Creation of a DCI containing information of and about anEvent and communication of the DCI to appropriate Users

Experience The End-User’s emotional and economic result of UsingContent

Export The Function of making available a Content Item to a non-DMP DRM system

File Content Entity which is Stored on a DeviceFirst Fixation The Function of making an InstanceFixate The Function of Storing a Manifestation of a WorkFootprint The geographic area, typically delimited by political

boundaries, intended to be covered by a broadcast signalFragment A time-marked portion within a ResourceFunction Any action implemented with DMP-specified technologiesGoverned Content A Content Item that is at least Identified

Page 343: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

343

Grant The Function of a User asserting to another User thePermission to Use a Content Item under specified Conditions

Identifier The unique signifier Assigned by IdentificationIdentify The Function of Assigning a unique signifier that establishes

the identity of EntitiesImport The Function of Accessing a governed content item from a

non-DMP DRM systemInstance An object or event which is an example of an Identified

Manifestation (e.g. a File)Instantiator A User who produces an InstanceIntegrity The state of a Content Item or a Device when the information

contained has not been altered or corruptedIntellectual Property (IP) Any identifiable product of the mind attributable to any

person(s) or legal entitie(s) that can be represented orcommunicated physically and protectable by copyright orsimilar laws.

Interface The Data interchange point between1. Devices2. Devices and devices3. Devices and Users4. Devices and Delivery Systems

Intermediary Any Value-Chain User with the exclusion of Creator and End-User

Interoperability The ability of a User to technically execute Functions throughInterfaces and Protocols, based on open specifications, withpredictable results

IP Class An ordered set of IP EntitiesIP Entities Types of IP Represented as Content: Work, Adaptation,

Manifestation, InstanceJurisdiction The geographic area over which a given set of laws is

enforcedKey Data used by a cryptographic method to make Clear-text Data

Encrypted or, conversely, Encrypted Data Clear-textKey Management The set of processes employed to create, authenticate, issue,

distribute, store, recover, and revoke KeysLend The Function of Moving a Content Item Stored in one

Environment for temporary Use into another EnvironmentLicence Data Representing the Permissions to a Content Entity under

given Conditions expressed by Rights Expressions that areGranted by one User to another User

License The Function by which a User Grants Permissions to Use aContent Entity

Licensee The User to whom another User Grants RightsLicensor The User who Grants Rights to another UserLink The establishment of a relationship between two FragmentsMakeAdaptation The action of making an Adaptation

Page 344: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

344

MakeAdaptationManifestationCopy The action of making a ManifestationCopyMakeAdaptationInstanceCopy The action of making an Adaptation InstanceCopyMakeAdaptationInstance The action of making an Instance from an AdaptationMakeAdaptationManifestation The action of making an Adaptation Manifestation.MakeCopy See CopyMakeInstance The action of making an Instance from a Manifestation.MakeManifestation The action of making a Manifestation.MakeWorkInstanceCopy The action of making a Work InstanceCopyMakeWorkManifestationCopy The action of making a Work ManifestationCopyMakeWorkInstance The action of making an Instance from a Work Manifestation.MakeWorkManifestation The action of making a Manifestation from Work.Manifestation An object or event which is an expression of a WorkMechanical Reproduction The Function of making physical copies of a ProductMetadata Data that describe Content and Content Elements

MoveThe Function by which Device A Stores Content in Device Bdeleting the original Content in Device A

Package (Content) The Function of Processing Content for the purpose ofDelivering it between Devices

Parse The Function of looking for useful Data in DataPause The Function of suspending the Rendering of a Resource by a

UserPerformer A type of InstantiatorPermission The ability to execute Functions on a Content ItemPlatform The technology infrastructure that enables Users to Use

ContentPlay The Function of Rendering a ResourcePolicy A principle accepted by a group of UsersPrimitive Function A Function typically embedded in a Function or more than

one FunctionPrincipal The User to whom Permissions are GrantedPrivate Copy The Function of Storing Content and hold it private for non

commercial purposesPrivate Key A Key used to Encrypt Data that only the corresponding

Public Key can Decrypt or Decrypt data Encrypted by thecorresponding Public Key

Process The Function of transforming Data executed by a DeviceProduce The Function of making ProductsProducer A User that makes ProductsProduct A Content Item that adds value to IP Entities by including

them with an appropriate Licence for the purpose ofPublishing

Protocol Data formats and rules Devices must follow to exchangeinformation with each other

Page 345: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

345

Public Communication The Function of publicly displaying/performing, e.g. liveperformance, radio, television, internet streaming, multicast ofInstances and Manifestations, and download

Public Key A Key used to Encrypt Data that only the correspondingPrivate Key can Decrypt or Decrypt data Encrypted by thecorresponding Private Key

Publish The Function of making available a Product to other UsersPublisher A User who selects a Product and makes it available to other

UsersQuote The Function of referencing or extracting a Content Item from

another Content ItemRate (Content) The Function of measuring the Use of a Content Item by a set

of UsersRegister The Function of Assigning an Identifier to an Entity and

keeping a record of itRegistered Content Content to which an Identifier has been Assigned by a

Registration AgencyRegistration Agency A User appointed by a Registration Authority to Assign

Identifiers

Registration AuthorityA User managing Identifier name spaces, and appointing andoverseeing Registration Agencies

Release The Function of making a Content Item available to otherUsers, e.g. at commercial terms

Render The Function of converting a Resource to a human-perceivable form

Rent The Function of Moving a Content Item that was Used in oneEnvironment for Use in another Environment in an exchangebased on a Value-Expression for a given period of time

Represent The Function of expressing information in a form that can beprocessed by a Device

Resource Data, whose Representation is not specified by DMP (e.g. anMP3 file or an executable code), that can be Processed by aDevice

Resource Processor A module within a Device capable of processing ResourcesResource Type A Resource such as video, audio, audio-visual, text, synthetic

audio, 2D/3D graphics etc.Restore The Function of Moving Content and the associated Stateless

Rights Expression, if any, to the Device from which Backuphad been performed

Retailer A User who sells or Licenses Content to an End-UserRevoke The Function of recalling a Content Item or removing the

ability of a Device to Use ContentRewind The Function of restarting the Rendering of a ResourceRight A consequence of ownership of Intellectual Property yielding

the ability of performing one or more Functions

Page 346: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

346

Rights Data Data that describes the semantics of actions that can be takenon or with IP Entities

Rights Expression Data that can be Processed to obtain the list of FunctionsPermitted on a Content Item and the Conditions under whichthey can be performed

Rights Holder A User who has Rights to License ContentRole A defined set of actions and corresponding Conditions

attributed to and required of a UserSchema A description of the structure and rules an XML document

must satisfySecure Authenticated Channel(SAC)

A Delivery System that is secure and Encrypted

Service A set of Functions executed by a User on Content that isvaluable for another User or Users

Signature Data Encrypted with a Private Key and appended to otherData typically for the purpose of guaranteeing the Integrity ofthe Data

Stateless Rights Expression A Rights Expression that does not include any Use counts oroverall Use duration etc.

Store The Function by which Device A Delivers Content to DeviceB for the purpose of retaining it in Device B for Use at adifferent point in time

Stream The Function of Delivering Content to a Device where thetransferred Content is Processed for Rendering only and notStored

Super Distribution A mechanism that1. Allows an End-User to Distribute Content to recipient

End-Users or Devices and2. Enables the End-Users of the recipient Devices to obtain a

Licence for the said ContentSynchronise The Function of concurrently performing/displaying two

distinct IP Entities each for a different human sense e.g. textand audio or video and song

Syndicate The Function of Licensing Works or Content for Publicationor Distribution by more than one Publisher or Distributor,typically simultaneously

Technical Specification A type of Approved Document containing normative clauses.Its use in Devices, Contents and Services may requirebusiness agreements between relevant Users. Such businessagreements are outside of DMP

Territory The geographical area under a JurisdictionTool A technology capable of implementing a FunctionTraditional Right and Usage A Right or exception or custom to use content in a given

manner within Jurisdiction

Page 347: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

347

Trick Modes Any of the following Functions, or Functions of a similartype, performed on a Content Item during Rendering by aUser:1. Fast forward2. Slow motion3. Freeze frame4. Fast reverse5. Slow reverse

Trust A state where Device Entities enable Users to executeFunctions on Governed Content

Trust Management The set of mechanisms by which Trust can be established,preserved and severed

Use The execution of a Function on a Content Item by a DeviceUse Case A description of a specific case involving the establishment

and operation of a Value-Chain that can be implementedusing the Tools specified in Approved Documents

Use Context The association of a Content Item with other Content Itemsand the circumstances of Use

Use Data Data documenting the Functions performed by a Device on aContent Item and the associated context

User Any person or legal entity in a Value-Chain connecting (andincluding) Creator and End-User. For the purpose of thecurrent phase of Approved Documents a User is representedby a device or by a User Identity on the Device (e.g.username/password).

User Data Data related to a UserUser Identity Data that establish the distinct personality of a person or a

legal entityUtilize The Function of employing a Manifestation or Instance for the

purpose of making a new IP EntityValue-Chain A group of interacting Users, connecting (and including)

Creators to End-UsersValue-Expression The equating of any two groupings of Content Items and/or

ServicesVerify The Function of assessing

1. The Integrity of a Content Item2. The Integrity of a Device3. The Role adopted by a User with respect to the IP Entity

represented by a Content ItemWithdraw The Function of a Creator that discontinues any and all

Licenses to Use one or more of his WorksWork A creation that retains intellectual or artistic attributes

independently of its ManifestationsWorkInstance An object or event which is an example of an Identified

Manifestation of a Work (e.g. a File)WorkInstanceCopy A copy of a WorkInstance

Page 348: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

348

WorkManifestation An object or event which is an expression of a Manifestationof a Work

WorkManifestationCopy A copy of a WorkManifestation

Page 349: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

349

7 Reference Software

7.1 Introduction

This Chapter 7 provides a normative reference software implementation of the DMP specification.The Reference Software for the DMP specification is available in source code under the terms of theMozilla Public License Version 1.1 [55] and is currently under development by the Chillout project[54]. As the software is constantly improving and new functionalities are added over time, it isrecommended to get the latest news about the code on the Chillout web site [54].

Chillout offers a set of Java libraries implementing the basic DRM functionalities (Core library),support functionalities (Auxiliary library), and Applications for the different Devices that are basedon these. Chillout can also be used to test conformance of independent implementations andtherefore to enable the building of Value Chains whose individual Devices interoperate in spite ofthem coming from independent implementers.

Chillout Devices currently run on Windows, Mac and Linux Operating Systems.

Proper understanding of this Chapter 7is facilitated by a careful reading of the Foreword and ofChapter 2, Chapter 3, Chapter 4 and Chapter 6.

7.1.1 Software overview

The DMP Reference software is organised in the following structure:

1. Core library: library of classes implementing the Primitive functions defined in the TechnicalSpecification. This software is normative as much as the Technical Specification and providesthe functionalities needed to:

• Represent: a set of classes to generate and parse the XML structures defined by the DMPTechnical Specifications;

• Package: a set of classes to generate and parse the DCF and DCS;• (perform the) Protocols: a set of classes to generate and parse the messages exchanged by

two Devices performing the Protocols, and providing the functionality to send andreceive such messages

2. Auxiliary library: library of classes encapsulating the functionalities of a number of moduleswhich a Device may have as a hardware or software implementation. This library is notnormative, in real Devices, these modules are supposed to be replaced by proprietary ones.However the interfaces made available by some or by all the components of this library maybecome part of the DMP Technical Specification. A preliminary list of the modules part of theAuxiliary library is given below;

• Security manager: module incorporating all those functionalities such as secure storageof digital Certificates and Licenses, performing signature operations, etc...

• DRM Processor: module parsing the DRM Information in a DCI, instantiating andmanaging the required DRM Tools, etc...

3. Applications: a set of sample applications with the purpose of showing how to use the classespart of the Core and Auxiliary library and to provide a number of demonstrators of the DMPfunctionalities. This category includes a number of Devices: SAV, CCD, LPD, CPD, CID, TPD,

Page 350: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

350

DID, DMD. This library also includes testing applications such as those for testing Protocols,well-formedness of DCI, License, etc. Figure 271 gives the list of all available Devices and apossible way of inter-connecting them.

Figure 271 shows the relationship between the software libraries described above. For simplicity,the Utility library is not shown in the figure, as its functionalities are available to all other classes.

Figure 271 – DMP Reference software layers

7.1.2 The software repository

The DMP Reference Software is available from the Chillout Subversion [56] repository [57]. Thecode can be downloaded by any computer using a Subversion client, and it can be automaticallybuilt by Apache Maven 2 [58] project management tool.

The following modules are currently available in the trunk remote folder:

chillout_auxiliary: library of classes encapsulating the functionalities that every device musthave when operating in a real environment. This library is not normative, as these modules maybe replaced by those a developer needs.

chillout_ccd: The Content Creation Device is an application allowing a User (e.g. an author) tocreate Content: the DCI and the DCF.

chillout_cid: The Content Identification Device is a server application issuing identifiers to newcontent items created by a SAV or a CCD

chillout_core: library providing the functionalities needed to Represent (a set of classes togenerate and parse the XML structures defined by IDP), to Package (a set of classes to generateand parse the DMP Content File and Streaming formats) and to perform the Protocols (a set ofclasses to generate and parse the messages exchanged by two devices performing the Protocols)

chillout_cpd: The Content Provider Device is a server application allowing Contentcreators/distributors/publishers to make available their Content via a streaming protocol ordownloaded as a file.

Page 351: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

351

chillout_did: The Device Identification Device is a server application providing DigitalCertificates to other Devices upon request.

chillout_dmd: The Domain Management Device is a server application allowing, among theother functionalities, Domain Administrators to create Domains where Governed and un-Governed Content can be Accessed by any Device or User part of them, and Devices and Usersto subscribe to them

chillout_lpd: The License Provider Device is a server application issuing Licences to Devices orUsers, Granting them the Right to use Content.

chillout_sav: The Stationary Audio and Video Device is an application capable of playingaudio-visual Governed and un-Governed Content either stored in files or streamed over networkProtocols. By means of a browser integrated in the application, users can browse a ContentProvider Devices' portal to select content for real time streaming or file download.

chillout_tpd: The DRM Tool Provider Device is a server application providing DRM ToolBodies (modules performing DRM functions such as Decryption, watermarking, etc.) to a SAVor a CCD upon request.

maven-plugins: A folder containing source code not developed by Chillout which is needed forthe correct installation of the Chillout software

mpegtools: A folder containing MPEG reference software which is used by Chillout code,among which the Digital Item Streaming [31] reference software.

Figure 272 shows the Chillout Subversion repository when explored by employing a Subversionclient:

Figure 272 – Overview of the Chillout software repository

In addition to the Project Object Model (POM) [59] describing the whole software, each individualmodule has its own POM containing the instructions needed by Maven to build it.

Page 352: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

352

7.1.3 Software prerequisites

The Chillout software needs a number of software tools in order to be compiled on a computer.These are:

JDK 5.0 or above [60] A Subversion client [56] Apache Maven 2 [58]

Each individual module also requires a number of libraries in order to be compiled; these aredownloaded automatically by Maven when it is executed. In addition to these, each module mayrequire additional external software in order to run, such as the Apache Tomcat servlet Container[62], Apache Ant [63], etc. Further details on the software dependencies for each module will begiven in the sections describing all modules individually.

7.2 Chillout Core

7.2.1 Scope

The Chillout Core Library provides the functionalities needed to: Represent: a set of classes to generate and parse the XML structures defined by IDP. Package: a set of classes to generate and parse the DMP Content File (DCF) and Streaming

(DCS) formats. (perform the) Protocols: a set of classes to generate and parse the messages exchanged by two

devices performing the Protocols, and providing the functionality to send and receive suchmessages

7.2.2 Overview

7.2.2.1 Package overview

Figure 273 shows the Core module on the Chillout Subversion repository when explored byemploying a Subversion client:

Figure 273 – Overview of the chillout_core module

Page 353: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

353

Chillout Core, by following the standard Maven structure, is divided in two branches: the main andthe test branch. The main branch contains the classes implementing the functionalities of thismodule, while the test branch contains a number of JUnit [65] classes for testing some of the mainclasses. The pom.xml file describes how the chillout_core project shall be built by Maven 2.

Note: As Java does not allow naming a package with the name "package", the classes part of thePackage section are contained in a package named "_package".

7.2.2.2 The represent package

The DCI, i.e. the information related to content, such as its structure, Metadata, Identifiers, Licences,protection etc. as well as the payload of any message exchanged between two devices is expressedin XML. The Chillout Core library provides a set of classes that allow an application to easilygenerate any XML structure defined in IDP, and conversely to extract any information containedwithin.

As shown in Figure 274, the Represent classes are divided in two main modules: level0 and level1.A few classes: DCIMaker, DCIParser, ItemParser and Mpeg7SMPParser are external to bothmodules, as they provide the functionalities to manipulate some of the main XML structures such asthe DCI, its Content Elements and any related Metadata (when Expressed according to the MPEG-7Simple Metadata Profile).

Figure 274 – Overview of the Represent classes

7.2.2.2.1 The level0 classes

The level0 classes have been generated by employing an Open Source software tool called JavaArchitecture for XML Binding (JAXB) [64]. By taking the IDP schemas as input, JAXB cangenerate a set of Java classes for manipulating XML structures conformant to the schemas. Figure275 shows how JAXB is employed to generate the level0 classes.

Figure 275 – JAXB Architecture as employed by the Represent classes

Page 354: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

354

For each XML complex type defined in the IDP schemas, JAXB has generated a class with the samename of the complex type. Each of these classes provides the basic methods to read and write thecorresponding XML complex type.

7.2.2.2.2 The level1 classes

In order to facilitate the Applications to use the functionalities provided by the level0 classes, a setof classes have been developed as part of the Represent section. For enabling access to those XMLelements used more frequently by Applications, a corresponding level1 class has been developed asa wrapper around the level0 one.

Figure 276 – The level1 and level0 classes

7.2.2.3 The _package package

Users in Media Value Chains sometime require transferring media resources, DCIs and licensesbundled together. IDP-3.2 specifies the DCF and DCS when the bundle is stored in a file or sentover a stream (e.g. MPEG-2 TS) respectively.

7.2.2.3.1 Package Content as Stream

The DMP specifies to Package Content as a Stream using the ISO/IEC CD 21000-18 Digital ItemStreaming (DIS) [31] technology.

7.2.2.3.2 Package Content as File

This section specifies how to Package Content into the DMP Content File (DCF). The Core libraryprovides a set of functions to bundle media resources with the DCI and other information in a DCF,and conversely to extract this information from a DCF. The logic structure of DCF is shown inFigure 277.

Page 355: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

355

Figure 277 – Logical Structure of DCF

And a DMP Box static view is also shown Figure 278:

Figure 278 – DMP Box static view

Page 356: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

356

The purpose for Package is to create and parse DMP Content in a standard way, which is done hereby DCF Maker and DCF Parser. For DCF Maker to work properly, we need to provide DCF Makerwith information including Content Resource, Resource ID, License, License ID and DCI. The DCFParser will extract information such as Resource ID, Content Resource,License ID, License, DCI,etc. A model for Package is shown below:

DCF Parser

DCF

License

Resources

DCI

Parse File type box

Parse meta box

Parse handler box

Parse XML box

Parse BXML box

Parse license box

Parse signature box

Parse media data box

Parse free data box

Parse item location box

… …

ContentProvider

Render

Signature

… …

Figure 279 – Input/Output Model of Package Protocol

A static view of DCF Maker is shown in Figure 280:

Page 357: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

357

+SetDCI() : bool+AddMediaResource() : bool+AddLicense() : bool+AddFreeData() : bool+MakeFile() : bool

-dcf : DCF

DCFMaker

+AddBox() : bool

-boxes[] : Box

DCF

+GetBoxType() : string+GetBoxSize() : int+Serialize() : int

#size : int#type : string#... ...

Box

*1

1

1

DCI Maker

SAVManager

CPDManager

LPDManager

Figure 280 – DCF Maker static view

DCF Maker is to make a DCF object by generating all kinds of boxes according to AD #3 frominput information such as license data,license ID,resource location,resource ID, and storingthem in the DCF object. Then DCF Maker converts all the boxes into bytestream and write thisbytestream into a file. DCF Maker provides users with data input interfaces and output .dcf file,hiding all the details for boxes processing. As described here, the DCF Maker activities view isgiven below.

Page 358: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

358

User requests creating DCF

Input License Input Freedata Input DCI data Input media items Input item ID

Make DCF

Input DCF path nameCaculate signature Caculate item location

Create license box Create free box Create media data boxCreate XML box

Create signature box Create item location box

Create handler box

Create meta box

Figure 281 – DCF Maker Activities View

DCF Parser is to extract out all the requested information from the received DMP Content File (.dcffile) according to AD #3.

+GetDCI() : bool+GetMediaData() : bool+GetLicense() : bool+GetSignature() : bool+GetFreeData() : bool+GetFileTypeBox() : bool+GetMetaBox() : Box+GetMediaDataBox() : Box+GetHandlerBox() : Box+GetXMLBox() : Box+GetBXMLBox() : Box+GetItemLocationBox() : Box+GetLicenseBox() : Box+GetFreeBox() : Box+GetSignatureBox() : Box+FindBox() : Box

-dcfPathName : string

DCFParser

+GetBoxType() : string+GetBoxSize() : int+Serialize() : int

#size : int#type : string#... ...

Box

*

1

Render

DCIParser

Figure 282 –DCF Parser Static View

Page 359: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

359

Conversely, DCF Maker reconstructs all the boxes from the bytestream read out from a DCF file.Then DCF Maker parses all the boxes according to the DCF format specified by IDP-3.2 andextracts out all the information needed by users. Its activities view is shown below.

User requests parsing DCF

Input dmp content file

Get item ID

Get file type box

Get signature box

Get media data

Get free data box

Get license box

Get media data box

Get meta box

Get XML box

Get DCI

Get item location

Get file type information

Get free data

Get license

Get signature

Get item location box

Get handler box

Get handler information

Figure 283 –DCF Parser Activities View

7.2.3 Software prerequisites

The chillout_core library does not require any additional software in addition to those mentioned in7.1.3. The software libraries on which chillout_core is based on are automatically downloaded byMaven from the remote locations where these are available.

7.3 Chillout Auxiliary

7.3.1 Scope

Unlike the Core library, the Auxiliary library has no normative value. It comprises those classesencapsulating the functionalities of a number of modules required for devices to operate accordingto the IDP specification. However, commercial application may well decide to implement those keyDRM components in a proprietary way, even in hardware, therefore Chillout decided to group themin the Auxiliary library.On the other hand, in order to provide interoperability at a deeper level, some of the interfaces madeavailable by the Auxiliary components may become part of the IDP-3.2 Technical Specification.

Page 360: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

360

7.3.2 Package description

Figure 284 shows the Auxiliary module on the Chillout Subversion repository when explored byemploying a Subversion client:

Figure 284 – Overview of the Auxiliary classes

7.3.2.1 The drmprocessor package

The IDP does not specify any specific algorithm to govern media resources: this choice is left to theuser implementing the specification. However, IDP does specify how to signal that one or moremedia resources part of a content item are governed, and which DRM Tools shall be employed toaccess it.

7.3.2.1.1 DRM Processor overview

The DRM Processor is the SAV module in charge of instantiating and managing the DRM Toolsprotecting a media resource. After receiving the list of all the DRM Tools required for eachgoverned media resource, the DRM Processor locates them either locally on the SAV or remotely,and instantiates them. Usually, before any governed resource is processed, the DRM Tools arerequired to mutually authenticate with the platform on which they operate. This operation, too, ismade possible by the DRM Processor. If this operation succeeds, the DRM Processor initialises anyDRM Tool requiring it, and acts as a message dispatcher between any DRM Tool and the SAVduring the lifetime of the Tool.

The message payload exchanged by means of the DRM processor is defined in IDP-3.2. This allowsa standard communication protocol between DRM Tools and the hosting SAV not just for

Page 361: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

361

authentication purposes, but also for exchanging various types of information, such as decryptionkeys extracted from the DCI.

The DRM Processor provided in the Chillout Auxiliary library provides a reference implementationof the functionalities described above. It is expected that this module could be replaced by a tamper-resistant component in commercial implementations.

7.3.2.1.2 DRM Processor detailed description

All the DRMProcessing functionalities are depicted in a common interface,org.dmp.chillout.auxiliary.drmprocessor.DRMProcessorInterface. The main methods defined in thisinterface are described below:

boolean consumeResource(URL location,List<DRMToolInfo> tools,JAXBElement<? extends Right> useType) throws

UnsupportedFeatureException,JAXBException,MalformedContentElementException,SecurityException,IllegalArgumentException,IOException,ClassNotFoundException,NoSuchMethodException,InstantiationException,IllegalAccessException,InvocationTargetException;

This method is used to create a player to render the resource specified in the location parameter,using the DRM tools information specified in the tools parameter. The useType parameter is used tocheck if the requested operation is available (Play, GovernedCopy, ...). This method returns true ifthe resource was correctly rendered, false otherwise.

boolean manageResource( List<DRMToolInformation> tools,URL oldResourceFileName,URL newResourceFileName) throws UnsupportedFeatureException,

MalformedURLException,IOException,JAXBException,MalformedContentElementException,ClassNotFoundException,SecurityException,NoSuchMethodException,IllegalArgumentException,InstantiationException,IllegalAccessException,InvocationTargetException;

Page 362: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

362

The method above is used to encrypt a resource specified in oldResourceFileName in a new filespecified in newResourceFileName, using the DRM tools information specified in tools. Thismethod returns true if the resource was encrypted correctly, false otherwise. This interface alsoprovides a number of methods as described in the two figures below.

boolean createPlayer(URL location) throws UnsupportedFeatureException, JAXBException,MalformedContentElementException, SecurityException, IllegalArgumentException,IOException, ClassNotFoundException, NoSuchMethodException, InstantiationException,IllegalAccessException, InvocationTargetException;

This method, called by the above method consumeResource, needs to be implemented by a generalPlayerManagerEngine. It has to create and prepare a media chain to consume the passed resource

boolean encryptResource(URL oldResourceFileName, URL newResourceFileName) throwsUnsupportedFeatureException, MalformedURLException,IOException, JAXBException,MalformedContentElementException, ClassNotFoundException, SecurityException,NoSuchMethodException, IllegalArgumentException, InstantiationException,IllegalAccessException, InvocationTargetException;

This method, called by the above method manageResource, needs to be implemented by a generalPlayerManagerEngine. It has to create and start a media chain to manage the passed resource. Theresult managed resource is saved in the newResourceFileName

boolean realize();This method, called usually by SAV, needs to be implemented by a general PlayerManagerEngine. Ithas to inform the media player chain to play

boolean mute();Mute the player. Return true if no exception are reached, false otherwise.

boolean unMute(float volume);Set the volume of the player to volume. Return true if no exception are reached, false otherwise.

boolean setVolume(float volume);Set the volume of the player to volume. Return true if no exception are reached, false otherwise.

double getDuration();Return the duration of the resource.

double getMediaTime();Return the current media time of the played resource.

boolean setMediaTime(double time);Set the current media time of the played resource. Return true if no exception are reached, falseotherwise.

boolean isStarted();

Page 363: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

363

Check if the media Player is playing

boolean isPrefetched();Check if the media Player is ready to play

boolean isRealized();Check if the media Player is starting to be ready to play

boolean start();Start the media chain

boolean stop();Stop the media chain

boolean destroy();Destroy the media chain

//boolean createPlayer(RTPConnectionInfo rtpci, ArrayList al) throws Exception;create a player for RTPConnection (todo)

//boolean startRecording(String inputUrl, String destlocation) throws Exception;start recording (todo)

//boolean autoPlay();autiorun the resource (todo)

boolean addDRMProcessorListener(DRMProcessorListener listner);boolean removeDRMProcessorListener(DRMProcessorListener listener);adding and removing listener that has to be notified from this interface

The DRMProcessorImplementation class, an abstract implementation of the DRMProcessorInterfacewas developed. Nowadays this class is employed to manage DRM Tools in controlPoint=1 and toforward to the player implementation all the requests received. This class will be extended tomanage the authentication and the downloading of missing DRM Tools from a TPD.

Figure 285 – DRM Processor

Page 364: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

364

7.3.2.1.3 DRM Processor usage

When a CCD or a SAV needs to access the functionalities of the DRM Processor, they simply needto instantiate the target EngineImplementation (JMFEngineImplementation in the case JMF isspecified as the DRMProcessor's mediaplayer, GstreamerEngineImplementation in the case ofGstremaer. This can be specified by testing the CCDContext or SAVContext static classes (In thecase of a CCD or a SAV respectively). For example:

DRMProcessorInterface mediaPlayer;

mediaPlayer=MediaPlayerFactory.getFactory(SAVContext.getMediaPlayerFactory()).createMediaPlayer();

The SAVContext class finds the MediaPlayer property in the SAVConfig.properties file.

MediaPlayerFactory=org.dmp.chillout.auxiliary.mediaplayer.jmf.JMFFactory# MediaPlayerFactory=org.dmp.chillout.auxiliary.mediaplayer.gstreamer.

GstreamerFactory

After instantiation, CCD/SAV simply require the consumeResource/realize functionalities toconsume the media or manageResource to manage the media://in the SAV scenariomediaPlayer.consumeResource(location, tools, useType);mediaPlayer.realize();

//in the CCD scenariomediaPlayer.manageResource(tools, oldlocation, newlocation);

The SAV/ CCD has also to listen about event thrown by the DRM Processor, to be notified when themedia player emits an EOS signal, or to simply check which is the current media time. The list ofevents thrown by the DRMProcessorInterface are:

EndOfMediaDRMProcessorEvent: throwed when the media is totally consumed

SetRenderingComponentDRMProcessorEvent (Component renderingComponet): throwed whenthe component to realize the media can be used

ReachedErrorDRMProcessorEvent (String msg, Exception ex): throwed when a genericerror is reached

SendMessageDRMProcessorEvent (String msg): throws an generic message to the player

ControllerClosedDRMProcessorEvent: throwed when controller is closed (JMF semantics)

StartEventDRMProcessorEvent: throwed when the media is started

StopEventDRMProcessorEvent: throwed when the media is stopped

Description of the DRMProcessingPackage:

Page 365: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

365

package org.dmp.chillout.auxiliary.drmprocessor: DRMProcessorInterface: interface that summarize all the DRMProcessor functionalities; DRMProcessorImplementation: abstract class that implement (some of) the

DRMProcessorInterface's methods. It adds support for DRM Tool Control Point 1; DRMProcessorListener / DRMProcessorEvent: classes that support dispatching message

between DRMProcessor and CCD/SAV; DRMProcessor: class that manage DRMProcessing functionalities (for instantiation purpose) DRMTool_CCD / DRMTool_SAV / DRMTool: class that support DRMTool's description

package org.dmp.chillout.auxiliary.drmprocessor.event: List of events that can be dispatched between DRMProcessor and CCD/SAV

package org.dmp.chillout.auxiliary.mediaplayer.gstreamer: Class that supports all the needed steps to instantiate, render and copy a resource using

Gstreamer platform as media player.

package org.dmp.chillout.auxiliary.mediaplayer.jmf: Class that supports all the needed steps to instantiate, render and copy a resource using JMF

platform as media player.

7.3.2.2 The drmtool package

DRM Tools are certainly among those DRM components that a user wishing to make a commercialimplementation of Chillout would provide on his own, either in software or in hardware, as thesemay contain the "secrets" of his business. However, the Chillout project has provided as part of theAuxiliary library a DRM Tool performing DES decryption, which can be used either in realapplications or as a reference to build new DRM Tools.

7.3.2.2.1 DRM Tool overview

All the DRMTool functionalities are depicted in a common interface,org.dmp.chillout.auxiliary.drmtool.ToolInterface. The methods defined in this interface aredescribed below:

public void setCPIDs(int[] CPIDs);

public int[] getCPIDs();

These two methods permit to get and set the Control Point Ids related to the current drmtool

public void setEncryption(boolean encType);

public boolean isEncryption();

These two methods permit to get and to set the encryption type of the current tool (true meansencryption, false means decryption)

public void setKey(byte[] keyData);

Page 366: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

366

public byte[] getKey();

These two methods permit to get and to set the encryption key of the current tool

public String getToolID();

public void setToolID(String toolID);

These two methods permit to get and to set the name of the current tool

public int getDefaultControlPointID();

These methods has to return the default control point ID

7.3.2.2.2 DRM Tool usage

Depending on which media player is used to manage/consume the resource, a differentimplementation of the above interface has to be realized. This implementation has to be regard withall the drmtool functionalities the media chain needs for processing a media. For Example, the JMFconsider the interface Codec as a envelope where we can insert our drmtool. So, the implementationof a drmtool for JMF (called JMFToolInterface) has to extend ToolInterface, but alsojavax.media.Codec. A sketch of the scenario is depicted below

Figure 286 – DRM Tool usage

The ToolInterface's functionalities are so on used only by DRMProcessor when, at start up,instantiate all the specified tools in the right CPIDs and for the right Action. This instantiation phaseis absolutely transparent to the media player user, so it can be concentrate on the really use of thistool and not how are they managed/instantiated.

Page 367: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

367

7.3.2.3 The licenceauthorisation package

7.3.2.3.1 License Authorisation overview

The License Authorisation Engine is a software module that has the following: Input:

o An REL license fileo A Query file consisting of a principal, right, resource, and context information

Output:o Authorization result:

YES – Authorized NO – Not authorized and why. MAYBE - Some Conditions could not be verified

Figure 287 shows a high level overview of the License Authorisation Engine architecture:

Figure 287 – Overview of the License Authorisation module

7.3.2.3.2 License Authorisation usage

Using the License Authorisation module as a stand-alone applicationBy following the example inchillout_auxiliary\src\test\...\licenseauthorisation.test.AuthorisationEngineTest, it is possible tospecify a License file name and a Query file name to give in input to the AuthorisationEngine class.The result of the process is both printed on the screen and wrote to a log file.

One example of License and three examples of Query are provided inchillout_auxiliary\src\test\resources: one which will succeed, one which contains unverifiableConditions (and therefore the Authorisation Engine will return "maybe" and one which will fail.

How the License Authorisation module is used in the SAV

Page 368: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

368

Every time the SAV is attempting to perform an operation on a Content Item, the SAV Managerfirst verifies if this is Governed. If yes, the SAV Manager delegates the License Manager to verifywhether there are any Licenses Granting the SAV the needed Right. If there is a License in theassociated DCI, this is given in input to the License Manager. The License Manager generates aQuery corresponding to the SAV intentions over the Content Item. The Principal in the Query is theSAV itself; this information is obtained from the Security Manager.

The License Manager performs the Authorisation process first by using the generated Query file andthe License given in input from the SAV Manager (if this was available). If this is not sufficient tosatisfy the request, any further License for the same Content Item contained in the Security Manageris also checked against the Query. The process stops as soon as a License satisfying the Query isfound, and in this case the License Manager returns to the SAV Manager a positive result.

In the case no License was able to satisfy the request in the Query, a negative result is returnedinstead. At this point, the SAV Manager may prompt the User if he wants to perform the AccessLicense Protocol to obtain one.

7.3.2.4 The media player package

The media player package manages all the media player functionalities needed to manage/consumea media resource. Depending on the chosen media player framework, a subpackage is considered:for JMF purpose the mediaplayer.jmf is deployed, for Gstreamer the mediaplayer.gstreamer.

Mediaplayer.MediaPlayerFactory is the main class (that acts as a Factory) that has to be called toinstantiate the chosen media player framework.

DRMProcessorInterface mediaPlayer;

mediaPlayer=MediaPlayerFactory.getFactory(SAVContext.getMediaPlayerFactory())

As already described in previous chapter, the MediaPlayer factory is used to instantiate a newDRMProcessor interface, usually checking in the SAV/CCD properties file (where the Media PlayerFramework chosen is specified).

Mediaplayer.gstreamer.GStreamerFactory simply extends Mediaplayer.MediaPlayerFactory,creating a GstreamerEngineImplementation for a DRMProcessorInterface.

GstreamerEngineImplementation is the main class than implements all the DRMProcessorfunctionalities to manage/consume the media resource using the Gstreamer Media Framework.Nowadays this code is experimental, but already permits to manage audio (on mp3) and audiovideo(h263 and raw audio on mov) resources. It interfaces with Gstreamer's dll (on W32 system) usingthe Gstreamer-java bridge and create an ad hoc pipeline that permit to:-render a resource with a decrypt drmtool (in control point 2 and 4)-protect a resource with encrypt drmtool (in control point 2 and 4).To render an audio resources the pipeline is composed by: a filesource element, a drmtool plugin (ifrequested), a mad decoder, an audioconverter, an audioresample and a directsoundsink (on W32system). For audiovideo resources: a filesource element, a ffdemux_mov_mp4_m4a_3gp_3g2_mj2demultiplexer, a queue for both audio and video elementary streams, two drmtools (if requested), a

Page 369: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

369

ffdec_h263 decoder, a ffmpegcolorspace and videoscale converter, an audioconverter, anaudioresample, a directsoundsink (on W32 system) and the Gstreamer-Java Component where thevideo can be renderer (using sun.java2d.opengl property).To protect the audio resources the pipeline are simply composed by a filesource element, a drm tool(if needed) and a filesink element. For audiovideo resources: a filesource element, affdemux_mov_mp4_m4a_3gp_3g2_mj2 demultiplexer, a queue for both audio and videoelementary stream, two drmtools (if needed), a ffmux_mov multiplexer and a filesink element.Important to note: the protection of the resources is made directly after that the pipeline is created,meanwhile, to render a resource the realize functionalities has to be called after the pipeline isinstantiated.

Mediaplayer.gstreamer.JMFFactory simply extends Mediaplayer.MediaPlayerFactory, creating aJMFEngineImplementation for a DRMProcessorInterface.JMFEngineImplementation is the main class than implements all the DRMProcessorfunctionalities to manage/consume the media resource using the JMF Media Framework. It simplycreate a Process with JMF semantics and adding (if needed) a drmtool filter (as effect in JMFsemantics) in the media chain. It permits to:-render a resource and eventually insert a decrypt drmtool (in control point 2 and 4)-protect a resource with encrypt drmtool (in control point 2 and 4).Due some limitation on the multiplexer JMF element, the supported filetype is just audiovideo (h263and raw audio on mov). The code has also implemented as a first attempt to support also recordingand RTP functionalities. Nowadays this code is off-to-date and is not tested yet.

7.3.2.5 The security package

The Security package contains the Security Manager, a module incorporating all thosefunctionalities such as securely storing digital certificates and Licences, performing operationsinvolving Digital Signatures, X.509 Certificates generation and verification, etc... The securityfunctions provided by the Security Manager are mainly based on the java.security and javax.cryptolibraries part of the JDK.

7.3.2.5.1 Security Manager Overview

The Security Manager operates on three security repositories: the first containing Licenseinformation (LicenseInfostore), the second containing Domain Information (DomainInfoStore) andthe third containing Keys (KeyStore). The command line tool keytool provided by JAVA 2 SDK isrecommended for generating and managing the KeyStore.

Security Manager provides general interfaces (methods) which will meet the common securityservices required. Those interfaces can be roughly classified into 3 groups as follows:

Secure information storage and retrievalo License storage and retrieval

Retrieving from and storing into the License infostore secure License information using analias; deleting License information with the given alias from the License infostore.The methods for these purposes are: public void addSecureLicenseInfo(String secureInfoAlias, String secureInfo) public String[] getSecureLicenseInfo(String secureInfoAlias)

Page 370: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

370

public void deleteSecureLicenseInfo(String secureInfoAlias, String secureInfo)o Domain information storage and retrieval

Retrieving from and storing into the Domain infostore secure Domain information using analias; deleting Domain information with the given alias from the Domain infostore.The methods for these purposes are: public void addSecureDomainInfo(String secureInfoAlias, String secureInfo) public String[] getSecureDomainInfo(String secureInfoAlias) public void deleteSecureDomainInfo(String secureInfoAlias, String secureInfo)

X.509 Certificateso Generating X.509 Certificates; retrieving from and storing into the keystore a Certificate;

exporting and importing a Certificate.The methods for these purposes are: public void createUserEntry (String userName, String password, UserInfo userInfo,

PrivateKeyEntry privateKeyEntry) This method is used to add a new user entry in the KeyStore. If the privateKeyEntry

parameter is null, a new public/private key pair and a self-signed certificate will becreated.

public void setCertificateEntry(String username, String password, X509Certificatecertificate)

This method is used to add an X.509 Certificate to the KeyStore for the User identified byusername and password.

public X509Certificate getCertificate(String alias, String password) This method is used to retrieve a trusted Certificate with given alias from the KeyStore

using given password. public X509Certificate getMyCertificate(String username, String password) This method is used to obtain the X.509 Certificate for the User identified by username

and password. public void exportMyCertificate(String keyAlias, String password, FileOutputStream fos) This method is used to export a Device Certificate with given alias from the KeyStore to a

file. public String importCertificate(String keyAlias, String password, FileInputStream fis) This method is used to import an X.509 Certificate of another Device into the KeyStore

with a given alias. public DeviceID getDeviceID(String username, String password) This method is used to obtain the DeviceID from the X.509 Certificate belonging to the

User identified by username and password. Cryptographic services

o General cryptographic services such as key generation, encryption/decryption, generationand verification for both hash and digital signatureThe methods for these purposes are: public void addSecretKey(String keyAlias, String algorithm, int keysize, String

pwdKeyStore, String pwdKeyEntry) This method is used to add a symmetric key to the KeyStore. public KeyPair generateTestKeyPair(String algorithm) This method is used to generate a private/public keypair to be used with the given

algorithm.

Page 371: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

371

public byte[] generateRandomKey(String algorithm) This method is used to generate a random key using the given algorithm. public byte[] generateHash(byte[] data, String algorithm) This method is used to generate a hash for the given data using the given algorithm. public boolean verifyHash(byte[] data, byte[] hashValue, String algorithm) This method is used to verify the validity of the hash for the given data using the given

algorithm. public byte[] encrypt(byte[] data, byte[] encryptionKey, String algorithm) This method is used to encrypt the given data using the given key and algorithm. public byte[] encrypt(byte[] data, String algorithm, String keyAlias, String password)This method is used to encrypt the given data using the given algorithm and the public keywith given alias. public byte[] decrypt(byte[] data, byte[] decryptionKey, String algorithm) This method is used to decrypt the given data using the given key and algorithm. public byte[] decrypt(byte[] data, String algorithm, String keyAlias, String password) This method is used to decrypt the given data using the given algorithm and the private

key with given alias. public byte[] generateSignature(byte[] data, String algorithm, String keyAlias, char[]

password) This method is used to generate a signature for the given data using the given algorithm

and the private key with given alias. public boolean verifySignature(byte[] data, byte[] signature, String algorithm, String

keyAlias, char[] password)o This method is used to verify the validity of a signature for the given data using the given

algorithm and the public key with given alias.

7.3.2.5.2 Using the Security Manager

Every Device should have a Security Manager inside for security consideration. To use SecurityManager, you need an instance of class SecurityManager and certain engines. SecurityManagerprovides you convenient interfaces for calling security services, while those engines perform properoperations to fulfill the security services. Currently, you need to build all the codes in folderssecurity_manager and engines under the package of org.dmp.chillout.auxiliary.security. Then thesteps are as follows:

1) Instantiate a SecurityManager object:You must specify the securityInfo object for the SecurityManager to work properly.PrincipalInfo principalInfo = new PrincipalInfo();//initialise the principalInfo object with some data (such as country, region domainURI, etc.)//otherwise use the default onesSecurityInfo securityInfo = new SecurityInfo(licenseInfoStorePathName,

domainInfoStorePathName, keyStorePathName, principalInfo);SecurityManager securityManager = SecurityManager.getInstance(securityInfo);

2) Storing a License in the SecurityManagersecurityManager.addSecureLicenseInfo(resourceID, license.generateString())

3) Retrieving all Licenses for a Resource from the SecurityManager

Page 372: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

372

String[] txtLicenses = securityManager.getSecureLicenseInfo(resourceID);

4) Encrypting a String with a specific keySuppose that you want to encrypt “abc” with a key from your keystore, the steps are like this:

byte[] data = "abc".getBytes();String algorithm = "AES";String keyAlias = "mykey";char[] password = "testkey".toCharArray();byte[] cipherData = securityManager.encrypt(data, algorithm, keyAlias, password, false);byte[] plainData = securityManager.decrypt(cipherData, algorithm, keyAlias, password, false);

if(plainData == "abc".getBytes()){/* test for methods encrypt and decrypt passed */

}

You can call the method getAlgorithms to see whether AES is supported:String[] cipherAlgorithms = securityManager.getAlgorithms(“Cipher”);

7.3.2.6 Mutual authentication

7.3.2.6.1 Mutual Authentication Overview

The mutual Authentication package contains a basic Authentication function which is to process themessage transferred between two devices when they want to communicate with each other. Forexample, initializing the Authentication and checking the Certificates

7.3.2.6.2 Mutual Authentication usage

The Mutual Authentication is used between two devices who want to communicate with each other.The general process is below:

Figure 288 – Overview – Mutual Authentication between two devices

Page 373: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

373

When users want to use Mutual Authentication, the important thing is to ascertain that each devicehas two certificates: one is a certificate for himself and the other one is a CA certificate(CA’s self-signed certificate) which signs the first one. Because the devices in Chillout System use the sameCA, all these two devices have the same CA certificate.Checking messages between two devices There is two basic messages: InitAuthenticationType and MutualAuthenticationType

o InitAuthenticationType is a message to initiate the Mutual Authentication process.o MutualAuthenticationType is a message containing every message which a device

should response after the MutualAuthentication is initiated. There is a manage class which manages all the messages between two devices:

basicAuthenticationAfter device A initiates the Authentication, device B will send the manage class name to deviceA and say “we should follow this protocol to process Mutual Authentication”. If A agree with itand then two devices all will use this manage class to check all the message communicatingbetween two devices and response with a result message.

Check certificatesAfter device A sends his certificate to device B, device B will check device A’s certificate usingA’s CA certificate. This will check device A’s validation and decide whether they will continuethe mutual Authentication or end the mutual Authentication successfully. The check process islike this:certificated.checkValidity(nowDate);//certificated is device A’s certificatePublicKey pubkey=certificating.getPublicKey();//certificating is device A’sCA certificatecertificated.verify(pubkey);//check certificate

The Mutual Authentication package can be found at the test package:org.dmp.chillout.auxiliary.mutualauthentication.test.

7.3.3 Software prerequisites

The chillout_auxiliary library depends on the chillout_core library. Additionally, in order to use theAuxiliary library the Java Media Framework [61] is required.

7.4 Devices

Chillout does not only to provide the source code of core and auxiliary components, but also a set ofdevices that are easy to configure and run. This helps promoting adoption of Chillout and the DMPspecification by enabling those users not experienced in the DRM field, not enough skilled inprogramming or working for small companies, to experiment with a technology that so far couldonly be used by those experts in the field.

The Devices contains source and executable Java code built on top of the Core classes, andintegrated with Auxiliary classes.

7.4.1 SAV

7.4.1.1 Scope

A Stationary Audio and Video Device (SAV) is a software application capable of playing audio-visual resources stored in files or streamed over the IP protocol. By means of a browser integrated in

Page 374: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

374

the application, users can browse a Content Provider's portal to select content for real time streamingor file download. The SAV supports playing both clear-text and encrypted resources.

7.4.1.2 Overview

The SAV architecture diagram is shown in Figure 289

Figure 289 – Chillout SAV high level architecture

The following walkthrough shows the behaviour of a Stationary Audio and Video Device when aUser employs it to play a Content Item.

Content Item is of any un-Governed media content types (e.g. mp4)o Player Manager checks that it is not DCI/DCFo Player Manager creates an instance of Processor Bridge (PB) communicating the

Resource to playo PB creates an instance of/communicates to the Processor, passing the Resource to playo Processor sets up the media processing chain and play the Resource:

A demux is instantiated, based on the file extension The demux reads the container headers and finds information on the ESs Appropriate decoders are instantiated and connected to the demux output Appropriate renderers are instantiated and connected to the decoders output The media processing chain starts to consume the Resource

o An ERROR_CODE is sent back if any Errors are reached by Processor / PB

Content Item is a DCF/DCIo Player Manager checks that it is DCI/DCFo Player Manager creates an instance of DRM Managero Player Manager asks the DRM Manager to parse the DCF and the DCIo DRM Manager returns

a failure value (all possible error codes TBD ) if something went wrong

Page 375: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

375

a handler to a DCIParser classo Player Manager can use DCIParser class to shows the contents of the DCI to the Usero User chooses a Resource to play.

Player Manager asks DRM Manager to checks if the Resource is: non-Governed and non-Protected

DRM Manager returns a dmp2didl:Resource for the Resource Player Manager parses the passed information to extract Resource

information (mime type, etc...) goto a

Governed but non-Protected Player Manager asks the DRM Manager to checks whether the User has a

License (either in the DCI or in the Security Manager) granting the Rightto play the Governed Resource.

DRM Manager returns:o False (No, User has no Licence):

Player Manager prompts the User to request a Licensefrom the LPD specified in the Content or to join a Domain

if successful: Player Manager shows the User that now he can

play the content if not successful:

Player Manager shows the User some problemsoccurs

o dmp2didl:Resource (Yes, the User has a Licence and can playstraight away)

DRM Manager returns a dmp2didl:Resource for theResource

Player Manager parse the passed information toextract Resource information (mimetype, etc...)

goto ao A User Query Message: User must agree to a text or to some

actions (e.g. CC license or generate an ER) before play can occur: Player Manager prompts text to the User and wait for

agreement DRM Manager returns a dmp2didl:Resource for the

Resource Player Manager parses the passed information to extract

Resource information (mime type, etc...) goto a

Governed and Protected Repeat from 3 above, except that, rather then performing "goto a":

o DRM Manager extracts the Master Key from the valid License forthe Protected Resource and decrypts it by employing the SAVPrivate Key in the Security Manager

Page 376: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

376

o DRM Manager decrypts the keys in any KeyData message (in admp2rk:Key element) for each DRM Tool specified in theProtected Asset by using the Master key

o DRM Manager returns to Player Manager admp2rdm:InitialiseDRMProcessor message, including all theinformation reached above (i – iv)

o Player Manager creates an instance of DRM Processor Bridge(DRM PB), communicating the Resource to play and thedmp2rdm:InitialiseDRMProcessor

o The DRM PB creates an instance of/communicates to the DRMProcessor

o The DRM PB establishes a SAC with the DRM Processor DRM Manager Encrypts the

dmp2rdm:InitialiseDRMProcessor message sends the dmp2rdm:InitialiseDRMProcessor message to

DRM Processoro DRM Processor decrypts the dmp2rdm:InitialiseDRMProcessor

messageo DRM Processor parses the dmp2rdm:InitialiseDRMProcessor and

get all essential DRM Toolso DRM Processor establishes a SAC with the DRM Toolso DRM Processor initializes DRM Toolso DRM Processor sends KeyData message (in a dmp2rk:Key

element) to appropriate DRM Toolo DRM Processor configure the media processing chain

A demux is instantiated, based on the file extension The demux reads the container header and finds

information on the Ess Appropriate decoders are instantiated and connected to the

demux output Appropriate renderers are instantiated and connected to the

decoders outputo DRM Processor setup link between DRM Tools and control points

in media processing chaino DRM Processor play the protected Resource:

Protected Resource entering a control point is passed toappropriate DRM Tool to be processed

Resource in clear text is sent back to control point and thenbe forwarded to next node in the media chain

After the Resource passed through all control points, it isrendered

o A NotifyToolEvent or NotifyDRMProcessorEvent is sent back ifany Errors are reached by Processor / PB

7.4.1.3 Package description

Figure 290 shows the packages part of the chillout_sav module.

Page 377: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

377

Figure 290 – Chillout SAV package overview

7.4.1.3.1 The savmessenger package

The package contains the Talker classes that SAV uses to communicate with other devices via WebServices. The CommunicationManager class is the manager of all the talker classes. It instantiatestalkers for CPD, DMD, LPD and TPD.Each talker sits in a separate folder. They function as the client side of the Web Services. They areimplemented following the Java event model. When talker gets a response from the other party, itwraps up the request result object in an event object and dispatches it to listeners to notify them ofthe result.Relationship with other Devices

7.4.1.3.2 LPD

When a license is not bundled within the Content, CCD will talk to LPD to store the License inLPD’s storage. This process is defined as CCD-LPD protocol. For more information, see the StoreLicense walkthrough section in the introduction of LPD device.

7.4.1.3.3 DMD

As shown in Figure 291, DMD manages Domain in co-operation with DoID, LPD, SAV andDomainAdministrator. First of all, DomainAdministrator initiates the CreateDomain protocol toDMD. DMD creates DomainID and DomainaManageInfo for the newly created Domain with DoID.After the creation of Domain, the protocols between SAV and DMD are used to deliver the Domainmembership to SAV.

Page 378: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

378

Figure 291 – Domain set up

7.4.1.4 Software prerequisites

The chillout_sav library depends on the chillout_core and the chillout_auxiliary library.Additionally, in order to use the chillout_sav library the Apache Ant [66] software is required.

7.4.1.5 Usage

7.4.1.5.1 Playing a DCF

The SAV can be used to play DCFs (DMP Content Files), DCIs where Content Items are packagedas DCS (DMP Content Stream) as well as un-Governed Media Resources encoded in a number offormats. Some pre-encoded DCFs are available on the Chillout ftp repository at the following URL:http://wiki.dmpf.org/files/download/DCFs/.

7.4.1.5.2 Accessing a License from an LPD

If a valid License is not included in the DCI, but a License Reference is signaled in the DCI, theSAV will perform the Access License Protocol with the LPD specified in that field.

7.4.1.5.3 Browsing for Content on a CPD

The Chillout Media Player has an integrated browser window that allows the SAV to browse webpages, and can be used in particular to browse the pages displayed by a Content Provider Device.

7.4.1.5.4 Domain-related features

The Chillout Media Player has a control panel to execute some Domain Administrative operations.As it’s seen in Domain Administrator tab in Domain Administrator tab, three kinds of operations areprovided which are CreateDomain, RenewDomain and DeleteDomain. And the necessaryparameters for each operation can be inserted in the dialog box below the radio buttons. Afterselecting desired operation and providing appropriate parameters, the operation is initiated bypressing the Execute Button on the bottom. After successful execution of CreateDomain operation,DomainID of the newly created Domain is shown in the DomainID List box on the right. Byselecting one of each DomainID, corresponding parameters are shown in dialog boxes below theDomainID List box.

Page 379: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

379

After successful execution of DeleteDomain operation, the corresponding DomainID disappearesfrom the DomainID List box.

Figure 292 – Domain Administration GUI in the SAV (1)

The Chillout Media Player has a control panel to execute some Domain operations for this SAV. Asit’s seen in Join a Domain tab in Domain Administrator tab, six kinds of operations are providedwhich are AddDevice, RenewDevice, LeaveDevice, AddUser, RenewUser and LeaveUser. And thenecessary parameters for each operation can be inserted in the dialog box below the radio buttons.After selecting desired operation and providing appropriate parameters, the operation is initiated bypressing the Execute Button on the bottom. After successful execution of AddDevice operation,DomainID of the newly added to this SAV is shown in the DomainID List box on the right. Byselecting one of each DomainID, corresponding parameters are shown in dialog boxes below theDomainID List box.

After successful execution of LeaveDevice operation, the corresponding DomainID disappearesfrom the DomainID List box.AddUser, RenewUser and LeaveUser are not completed yet since SAV doesn’t have the interface toget UserID from user device e.g. smart card.

Page 380: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

380

Figure 293 – Domain Administration GUI in the SAV (2)

7.4.2 CCD

7.4.2.1 Scope

The Content Creation Device is a Device capable of creating Content Items with the followingcharacteristics:1. They may contain audio/visual resources encoded with the most common encoding formats such

as MP4, MP3, Quicktime, etc2. The audio/video resources may be published

2.1. un-Governed2.2. Governed by means of a License (Creative Commons-like approach)2.3. Governed by means of a License and protected by means of DRM Tools. The User may

choose among a list of DRM Tools the ones to employ to protect each Resource, and mayspecify the encryption key to be employed by each DRM Tool

3. A license may be added to the Governed/Protected Resources, or a License Provider Device mybe specified in the Content, or both

4. A minimum set of metadata (according to the MPEG-7 Simple Metadata Profile) may be addedfor each Resource and for the whole Content Item

7.4.2.2 Overview

The CCD architecture diagram is shown in Figure 294:

Page 381: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

381

Figure 294 – CCD architecture package overview

7.4.2.2.1 CCD walkthrough

The following walkthrough shows the behaviour of a Content Creation Device when a User employsit to Create a Content Item.

Add new Resource walkthrough

User inserts a new record in the CCD database for each Resource (local/remote) he wants topublish. This information includes the location where the Resource resides, Resource metadata(like title, etc...) and Resource ID (alternatively, this can be obtained from a CID). See Figure295 – Import a Resource in the CCD.

Add new SAV certificate walkthrough

User adds a new record in the CCD database and CCD Security Manager containing a SAVX.509 certificate DER-encoded. This may be employed to create Content Items containingProtected Resources accessible by that SAV only. See Figure 296 – Import a SAV certificate.

Create a new content item walkthrough

The User selects to create a new DCI. See Figure 297 – Create a new Content item The CCD GUI show the list of all available Resources and the User checks a checkbox next to

the Resources he wishes to include in the DCI The CCD GUI asks the User, for each checked Resources, how shall be made available (See

Figure 298 – Configure Resource DRM settings). The following options are available: Non-governed: goto 5) Governed only by means of a License (Open Release-like approach) goto 4)

Page 382: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

382

Governed by License and protected by DRM Tools: CCD GUI shows the list of DRM Tools available on the CCD file system (characterised

by e.g. Tool ID and Tool description) If the User chooses:

a Single DRM Tool: he also needs to specify the Control Point in which such Toolshall operate

a ToolPack: he does not need to specify any Control Points The User specifies further information needed by the chosen DRM Tool(s) to process the

Resource (e.g. encryption key(s), watermark payload, initialisation data, etc. See Figure299 – Configure DRM Tool settings)

The User specifies the SAV(s) to whom are Granted the Right to access the ProtectedResource (See Figure 300 – Configure a Resource custom License).

For each Governed Resource: CCD GUI creates an instance of DRM Processor Bridge (DRM PB), communicating

the Resource to crypt and the information related to the DRM Tools to be employed,including decryption keys etc.

DRM Processor instantiates and initialize the DRM Tools DRM Processor configure the media processing chain

A demux is instantiated, based on the mimetype specified in the ProtectedAsset The demux reads the container header and finds information on the ESs Appropriate decoders are instantiated (if needed)

DRM Processor setup link between DRM Tools and control points in mediaprocessing chain

DRM Processor create the protected Resource: Resource entering a control point is passed to appropriate DRM Tool to be

processed Processed Resource is sent back to control point and then be forwarded to next

node in the media chain After the Resource passed through all control points, it is written to file system

If any Errors are reached by Processor / PB a NotifyToolEvent orNotifyDRMProcessorEvent is sent back, otherwise CCD GUI asks DMPContentBuiler to request a new resource ID to CID

For each Governed Resource: CCD GUI asks the User to specify (either or both) (See Figure 298 – Configure Resource

DRM settings): License Reference (LPD url) from where the License for the Governed Resource can be

obtained (and eventually give instructions to the LPD on how to issue licences whenrequests by SAVs will be made)

Licence By performing CCD – LPD protocol specifying some conditions Selection a well-known licence

The CCD GUI ask DMPContent Builder to includes the License and/or the LicenseReference into the DCI that will be created

For each Resource:

Page 383: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

383

CCD asks the User to specify whether the Resource shall be made available in the DCF,Streaming from a Content Provider Device or available in P2P network File: CCD asks the DMPContentBuilder to include the Resource in the DCF Streaming: CCD asks the User to specify further information such as the CPD URL and

additional Streaming instructions for the Resource CCD asks the DMPContent Builder to generate the DCI and get a Content ID The CCD – CID protocol is performed to request a new Content ID to the CID If at least one resource was specified to be available in File the DCF is created DMPContent Builder performing the CCD – CPD protocol

Acquire new DRM Tools walkthrough

User may specify a DRM Tool Provider Device from which the CCD may obtain more DRMTools than those available on the file system. In this case the CCD will perform the CCD – TPDprotocol and download the selected DRM Tools (See Figure 302 – Add a new DRM Tool)

7.4.2.2.2 CCD database

The Content Creation Device stores a number of information in a database which is based on Derby.This information relates to: the available Resources, including the metadata describing them the available DRM Tools, including a textual description the SAV certificates, including a textual description the Content Items generated, including the metadata describing them.

Figure 295 – Import a Resource in the CCD Figure 296 – Import a SAV certificate

Page 384: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

384

Figure 297 – Create a new Content item Figure 298 – Configure Resource DRM settings

Figure 299 – Configure DRM Tool settings Figure 300 – Configure a Resource custom License

Page 385: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

385

Figure 301 – Publish the Content Item Figure 302 – Add a new DRM Tool

7.4.2.3 Package description

Figure 303 shows the packages part of the chillout_ccd module.

Figure 303 – Chillout SAV package overview

7.4.2.3.1 The contentbuilders package

The contentbuilders package contains the classes needed to create a Content Item, i.e. the DCI, theDCF and the DCS.

The following classes are defined in this package: DMPContentBuilder

o As represented in Figure 294 – CCD architecture package overview, and in thewalkthrough in 7.4.2.2. This is the class which applications wishing to create a Contentitem have to call.

DCIBuildero Class for creating a DCI

Page 386: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

386

MetaBuildero Class for creating metadata descriptions for a Content Item or its Content Elements

MPEG7SMPBuildero Class for creating metadata descriptions conforming to the MPEG-7 Simple Metadata

profile ORCLicenseBuilder

o Class for creating Licenses conforming to the MPEG-21 Rights Expression Language(REL) Open Release Content (ORC) profile

ProtectedAssetBuildero Class for creating a ProtectedAsset element describing a Protected Resource

ToolListBuildero Class for generating the DRM Tool List for a Content Item

7.4.2.3.2 The db package

The db package contains the classes needed to create, connect to and access the Content CreationDevice database.

The following classes are defined in this package: CCD_DAO

o Class creating the CCD database (if it does not exist yet in the folder<user_home>/chillout/CCD/db) and providing connection to it

DBAccesso Class providing a number of methods for reading from and writing information to the

CCD database

7.4.2.3.3 The gui package

The classes defined in this package are employed to create the CCD GUI. The main class isPlayerManagerImplementation. PlayerManager

o This is an interface declaring the below two behaviors which needs to be implemented bythe implementation classes. AskUserConfirmation

AskUserConfirmation is to show the user confirmation info. UseResource

The implementation is to implement UseResource to finish the Resource rightparsing and validation.

PlayerManagerImplementationo This is an implementation of the PlayerManager is an assembler to complete parsing the

messages, executing the rights, playing the Content and interact with the end user. WebPanel

o WebPanel rends the web browser from the Operation system and interacts with thebrowser. For more, it also implements WebListener to handle the web exceptions.

WebListenero WebListener is an interface to define the handleWebException method.

WebExceptionEvent

Page 387: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

387

o WebExceptionEvent defines a web event to carry the web exception info from thenotifier to the listener.

ImagePanelo ImagePanel is to show the image.

DCIPanelo DCIPanel is a panel to show the DCI info.

DomainAdminPanelo DomainAdminPanel is a gate including the DomainAdminSubPanel1 and

DomainAdminSubPanel2 to access the domain management info. ContentItemInfo

o ContentItemInfo represents the Content item. AboutDialog

o AboutDialog shows the basic info of the SAV device.

7.4.2.3.4 The guiprocessors package

The guiprocessors package contains two classes needed to process the information inserted by theuser in the CCD GUI. In particular: AddResourceProcessor

o Class needed to read the information inserted by the User in the GUI when adding a newResource, and writing in the GUI the information related to a Resource extracted fromthe CCD database

NewContentItemProcessoro Class needed to read the information inserted by the User in the GUI when creating a

new Content Item, and writing in the GUI the information related to a Content Itemextracted from the CCD database

7.4.2.3.5 The itemsinfo package

The classes defined in this package are basically containers of information exchanged between theGUI components (or any applications wishing to create a Content Item) and theDMPContentBuilder class.

7.4.2.3.6 The util package

This package contains a few utility classes useful for several purposes

7.4.2.3.7 The test package

The test package contains a test class, DMPContentBuilderTest, which can be employed to test theDMPContentBuilder class by showing how to employ the main methods of this class to generateDCIs and DCFs.

7.4.2.4 Relationship with other Devices

7.4.2.4.1 CID

This feature is currently under development.

7.4.2.4.2 LPD

This feature is currently under development.

Page 388: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

388

7.4.2.4.3 CPD

This feature is currently under development.

7.4.2.4.4 TPD

This feature is currently under development.

7.4.2.5 Software prerequisites

In order to run the Content Creation Device, any additional software to those needed to compile thewhole Chillout project is needed.

The Content Creation Device depends on chillout_core and chillout_auxiliary modules

7.4.2.6 Usage

The Content Creation Device supports the following functionalities:1. Add new Resource

o User may insert a new record in the CCD database for each Resource (local/remote) hewants to publish. The location where the Resource resides, the Resource title andResource ID are the only mandatory fields, although additional metadata can be specified.See Figure 295 – Import a Resource in the CCD.

2. Add new SAV certificateo User may add a new record in the CCD database and CCD Security Manager containing

a SAV X.509 certificate DER-encoded. This may be employed to create Content Itemscontaining Protected Resources accessible by that SAV only. See Figure 296 – Import aSAV certificate.

3. Create a new content itemo The User selects to create a new DCI. See Figure 297 – Create a new Content itemo The CCD GUI show the list of all available Resources and the User checks a checkbox

next to the Resources he wishes to include in the DCIo The User, for each checked Resources, may specify how shall be made available (See

Figure 298 – Configure Resource DRM settings). Refer to 4 - Configure Resource DRMSettings.

o The User, for each checked Resources, may specify how shall be made available (SeeFigure 301 – Publish the Content Item): in the DCF Streaming from a Content Provider Device available in P2P network

o The CCD generate the DCI and gets a Content ID from the specified CIDo If at least one resource was specified to be available in File the DCF is created, otherwise

the CCD – CPD protocol is performed4. Configure Resource DRM Settings

o The following options are available: Non-governed Governed only by means of a License (Open Release-like approach):

The user may choose among a finite set of license templates. Governed by License and protected by DRM Tools:

Page 389: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

389

The User may choose among a number of DRM Tools the ones to employto protect (encrypt) the Resource

CCD GUI shows the list of DRM Tools available on the CCD file system The User specifies further information needed by the chosen DRM Tool(s)

to process the Resource (e.g. encryption key(s), watermark payload,initialisation data, etc. See Figure 299 – Configure DRM Tool settings)

The User specifies the SAV(s) to whom are Granted the Right to accessthe Protected Resource (See Figure 300 – Configure a Resource customLicense) or the License Reference (LPD url) from where the License forthe Governed Resource can be obtained (and eventually give instructionsto the LPD on how to issue licences when requests by SAVs will be made)

5. Acquire a new DRM Tool:5.1. User may specify a DRM Tool Provider Device from which the CCD may obtain one or

more DRM Tools (See Figure 302 – Add a new DRM Tool)

7.4.3 CID

7.4.3.1 Scope

Content Identification Device is used to assign an identifier for content or content element andauthenticate content item.

7.4.3.2 Overview

7.4.3.2.1 CID walkthrough

The following walkthrough shows the behaviour of a Content Identification Device when CCDemploys it to identify content or content element.

Identify Content with transfer of DCI walkthrough1. CCD and CID mutually Authenticate.2. The CCD sends to the CID an dmp2rcip:IdentifyContentRequest;3. The CID

a. Assigns a new Content Identifier to the received DCIb. Adds the Identifier to received DCIc. Digitally Signs or otherwise Hashes the received DCId. Stores the Content ID and the generated Hash value in the CID databasee. Returns the modified DCI to requesting party by including it in an

dmp2rcip:IdentifyContentResponse.

Identify Content with transfer of Signature/Hash walkthrough1. CID and CCD mutually Authenticate.2. CCD request a Content Identifier from the CID by sending a dmp2rcip:RequestContentIdentifier.3. CID sends the requested Identifier to CCD by employing the

dmp2rcip:RequestIdentifierResponse message.4. CCD

a. Adds the received Identifier to the DCI to be Identifiedb. Computes the hash of the DCI with Identifier includedc. Sends a dmp2rcip:RegisterIdentifier message to the CID .

Page 390: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

390

5. The CIDa. Stores the Identifier together with the Hash in the CID database for future reference.b. Replies with an dmp2rcip:Ack message to the CCD.

Identify Content Elements walkthrough1. The CCD:

a. generates the Hash value or the digital Signature of the Content Element to beIdentified and inserts it in a dmp2rcip:RequestContentElementIdentifier message

b. sends the message to the CID2. The CID

a. Generates an Identifierb. Stores the Identifier together with the Hash value/digital Signature in the CID

databasec. returns an dmp2rcip:RequestIdentifierResponse message to the CCD.

The following walkthrough shows the behaviour of a Content Identification Device when any Userwishes to verify the authenticity of a Content Item.

Authenticate a Content Item walkthrough1. The requesting Device (e.g. the SAV):

a. Generate an dmp2rcip:AuthenticateContentRequest message containingi. either:

1. the Content ID of the Content Item to be Authenticated2. (optionally) the DCISignature element containing the hash value of

the DCIii. or

1. the full DCI Representing the Content Item to be Authenticatedb. Mutually Authenticate with CIDc. Sends the dmp2rcip:AuthenticateContentRequest to the CID

2. The CID:a. Parses the received dmp2rcip:AuthenticateContentRequest message and generates an

AuthenticateContentResponse message containing:i. either:

1. the DCISignature for the Content Item (if this exists in the CIDdatabase), if the dmp2rcip:AuthenticateContentRequest contained theContentID field. The DCISignature may contain either the digitalSignature of the DCI, or its Hash value only, and the Signature/Hashcalculation an verification is left to the requesting Device.

ii. or:1. the AuthenticationResult boolean value, if the

dmp2rcip:AuthenticateContentRequest contained the whole DCI inthe dmp2_didl:DIDL field. In this case the Signature/Hash calculationand verification is done on the CID

iii. or:1. An error code specifying that the requested service could not be

performed.

Page 391: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

391

7.4.3.2.2 CID database

Table CONTENTIDTable CONTENTID is used to store the path of file id and signature. Hash value is stored in thesignature.

Column name Column type Column instructionId Bigint Primary keyContentid Varchar(100) Content identifierFilepath Varchar(100) Store the pathe of file signature

Table CIDCONFIGTable CIDCONFIG is used to store the configuration items which CID needs.

Column name Column type Column instructionId Bigint Primary keyName Varchar(50) Configuration item nameIdvalue Varchar(100) Configuration item value

7.4.3.3 Package description

Figure 304shows the packages part of the chillout_cid module.

Figure 304: Packages part of the chillout_cid module

7.4.3.3.1 The action package

Page 392: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

392

The classes in the package action are used to call business logic object (bo) and control the pagesjump according to the processing result by Struts components.

7.4.3.3.2 The bo package

The classes in the package bo are used to process business logic and call the database object (dao) toimplement the database operation according to processing logic.

7.4.3.3.3 The dao package

The classes in the package dao are used to operate the persistent object (po) and finish the databaseoperations according to the Hibernate components operation.

7.4.3.3.4 The form package

The classes in the package are related to the table data of the web pages and read or store elementvalues in the table according to the Struts components

7.4.3.3.5 The po package

The classes in the package po are related to the table of the database and implement the operationsof the database persistence operation according to the Hibernate components.

7.4.3.4 The service package

The classes in the package service are used to process web service request according to the Axiscomponents and call business logic object(bo) to finish the business logic processing.

7.4.3.4.1 The vo package

The classes in the package vo are used to implement the functionalities which can transfer theelement values in the table into persistent objects. The functionalities contain filtering and cleaningup the element value in the table.

7.4.3.4.2 The test package

The classes in the package Test are used to test the services which CID support in every case.

7.4.3.5 Relationship with other Devices

7.4.3.5.1 CCD

CCD requests id from CID.

7.4.3.5.2 SAV

SAV requests content authentication from CID.

7.4.3.6 Software prerequisites

In order to run the Content Identification Device, any additional software to those needed to compilethe whole Chillout project is needed.

The Content Identification Device depends on chillout_core and chillout_auxiliary modules.

7.4.3.7 Usage

The Content Identification Device supports the following functionalities:

Page 393: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

393

1. Identify Content or Content element2. Authenticate Content Item

When cid first runs the URN Prefix and Store Path should be configured according to the specificneeds in the cid config page.

Figure 305: cid config page

7.4.4 CPD

7.4.4.1 Scope

Content provider device (CPD) acting as a content-distributor role in DMP content-value-chain,releases legal registered contents to end users. Customers can order the contents through the end-user devices, i.e. SAV (Stationary Audio and Video Device). Usually CCD (Content creation device)creates contents and delivers them to CPD; CPD co-works with LPD (License provider device) sellend users final digital media goods.

When initializing the service to outside, CPD negotiates with LPDs to retrieve concrete licenselocations and relevant information for every published content. When the service is ready, end userscan surf the CPD website to browse the digital goods with corresponding licenses. When user ordersthe satisfied one, the CPD will assemble the final media content file as DCF format and deliver it tocustomer through http or web-service path.

7.4.4.2 Overview

The CPD is a web application running on Tomcat server. CPD is composed of four layers:

Page 394: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

394

Web GUI layer based on Webwork framework Business logical layer based on Spring framework Data persistence layer based on Hibernate Web service layer based on Axis

Figure 306 – The CPD architecture

7.4.4.3 Package description

The CPD is designed following the MVC pattern to arranges the functions into the six packageswhich are the accesscontentprocessor, the bizlogic, the database, the management, the webserviceand the webwork as in Figure 307. The following would introduce the each package in detailed.

Figure 307 – The CPD layers

Page 395: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

395

AccesscontentprocessorThis package is responsible for handling the BBL streaming request.

BizlogicThe Bizlogic is responsible for processing the content as file request.

DatabaseThe database package persists the CPD data into the database. It adopts the Hibernateframework and is designed by the DAO pattern. The package composes of the four parts whichare the interface part defined in the iface package, the base part defined in the base package, theDAO part in the dao package and the part of the table representatives like Tcontentinfo.

The interface(iface) partThe iface part defines the contract of the operations of the table object like the table of thecontent. Currently there are three classes of the IcontentinfoDAO, the IlicenseinfoDAO, and theIuserinfoDAO under the iface packages. The base partThe base package contains the_BootRootDAO class implementing all the database accessmanagement, the base table representative class mapping to the each table like theBaseTcontentinfo.java and the base operation representative class like theBaseTcontentinfoDAO.java. The base operation class implements all methods from the ifaceclass. The dao partThe dao package contains the _RootDAO extending from the _BootRootDAO and the otherDAO classes extending from the base operation representative classes. The developer cancustomize the specific methods to access the database in the DAO classes. The table representative partThe table representative classes in the hibernate package which are extended from the base tablerepresentative classes can be customized by the developer.

Management

Page 396: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

396

The management packages works at the biz layer to implement all the business logic likeoperating the content, the license and the user.

The bo packageThe bo package contains all the classes representing the business objects. The aim of designingthe bo is to map the visual objects in the front layer to the persistent objects at the backend layer. The content packageThe content package contains the ContentAgency and the ContentUtility. The ContentAgency isa facade to access the content info within the ContentUtility’s help. The license packageThe license package contains the LicenseAgency and the LicenseUtility. The LicenseAgency isa facade to access the license info within the LicenseUtility’s help. The user packageThe user package contains the UserRegisterAgency and the UserUtility. The ContentAgency isa facade to access the user info within the UserUtility’s help.

WebserviceThe webservice implements the wsdl communication protocol between the CPD and another device.For example, the access content as file protocol.

WebworkThe webwork package defines the actions needed in the Webwork framework and the visualobjects(VO) classes representing the business objects in the front layer. Via the classes defined inthe vo packages, the data input from the webpage would be transferred to the middle business layerthrough the action classes.

Page 397: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

397

7.4.4.4 Relationship with other Devices

7.4.4.4.1 CCD

CCD can store the created contents to the CPD following the remote content store protocol. Thefeature is under the development.

7.4.4.4.2 LPD

CPD can navigate the user to the corresponding LPD when the user wants to buy the content.

7.4.4.4.3 DID

CPD get the device identifier from the DID.

7.4.4.4.4 SAV

SAV download the content from the CPD.

7.4.4.5 Software prerequisites

7.4.4.6 Usage

7.4.4.6.1 Publishing a Content Item

Figure 308 – Publishing a Content Item

Page 398: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

398

7.4.4.6.2 Managing Published Content Items

Figure 309 – Managing Published Content Items

3. User Management (Add User)

Figure 310 – User Management (Add User)

4. SAV access CPD through Access Content As File Protocol (Web Service)

Page 399: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

399

Figure 311 – SAV access CPD through Access Content As File Protocol

7.4.5 LPD

7.4.5.1 Scope

The LPD device is the License management device in the DMP system. It should be capable of thefollowing: Store a License at the request of CCD when the License is not bundled within the Content. Issue a Signed License to SAV on request. The license should satisfy the terms that are enforced

or agreed upon by all parties in the value chain, and it should contain the resource master keyencrypted by SAV’s private key.

Talk to Domain Management Device when it receives a request that a License should be issuedto a Domain.

7.4.5.2 Overview

LPD is a web application running on Tomcat server. It implements protocols with other devices asWeb Services. The Web Services include LPD-CCD protocol (License storage), LPD-SAV protocol(License issuing) and LPD-DMD protocol.LPD provides a central storage for Licenses that are not bundles within Content, and keeps record ofissued Licenses for statistics purposes. Also, it provides a GUI for Administrators and normal users.Administrators can maintain the License DB, modified stored Licenses, and generate reports onLicense issuing history. Normal users can login to review their own license purchase records.

LPD is composed of the following parts: Business logical layer based on Spring framework Data persistence layer based on Hibernate Web service layer based on Axis

Page 400: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

400

LPD walkthroughStore License walkthrough

CCD raises a request to LPD, including in the message the ID of the governed content and thelicense to be stored. LPD retrieves information from the message and store it into persistentstorage. (still under development.)

Issue License walkthrough

1 SAV sends request to LPD, asking for a License for the content it wants to consume. SAV cantell LPD what License it wants in 2 ways:

1.1 SAV can include in the message the License ID. In this case, LPD will retrieve theLicense from its DB and validate the terms.

1.1.1 If all terms are satisfied, LPD will encrypt the content master key with SAV’spublic key, put the key in the License, sign the License and send it back to SAV.

1.1.2 If any conflict is found during validation, LPD will deny the request.

1.2 SAV can include in the message the ID of the content that it wants to consume and theLicense it wants to have (Intended License). In this case, LPD will validate the IntendedLicense against all Licenses it finds in its DB for that specific content.

1.2.1 If the Intended License agrees with any of the Licenses in DB, the validation isregarded as successful. Then LPD will encrypt the content master key with SAV’spublic key, put the key in the Intended License, sign it and send it back to SAV.

1.2.2 If the Intended License agrees with none of the Licenses in DB, LPD will deny therequest.

Get DomainInfo walkthrough

This function is based on the LPD-DMD protocol and is currently under development.

LPD Administration walkthrough

This function is based on Webworks GUI and is currently under development.

LPD User walkthrough

This function is based on Webworks GUI and is currently under development.

LPD databaseThere are 3 tables in the LPD database:

LicenseTemplate table: used to store the Licenses sent through from CCD devices.

LicencingRecord table: used to keep record of Licenses that have been issued to different SAVdevices.

Resourceinfo table: stores information for content resource encryption.

Page 401: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

401

7.4.5.3 Package description

Figure 312 – Overview of the LPD package

In the Java source folder, there are the following packages:

1. Database package – It’s implemented based on Hibernate technology.a) base folder – Base classes generated by Hibernate that map onto database tables.b) dao folder – DAO objects that can be used by Business Logic layer. Users can extend

them to add their own data access operations.iface – interface classesother files – utility classes that implement the iface interfaces

c) Other files in the Database package – Java classes that extend the Base DB-mappingclasses. User can customize these classes to add their own properties and logics.

2. Management packageThis package includes the classes that connect Hibernate-based DAO layer with the Spring-based Business Logic layer

3. Services packageThis package includes the classes that implement the Web services of LPD. It is the corepackage of the LPD device.

In the Resources folder, there are configuration files for DB, logging and internationalization.

The webapp folder contains supporting files for web interfaces of LPD.

Page 402: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

402

The Test folder contains client applications that can be used to test and debug the LPD WebServices.

7.4.5.4 Relationship with other Devices

7.4.5.4.1 CCD

When CCD wants to store a license in LPD, it should start the license storage process as describedabove in the Store License walkthrough.

7.4.5.4.2 SAV

When SAV want to use a content that is governed by a License that is not bundled with the content,it should talk to LPD to ask for a License. The process should be carried out as described in theIssue License walkthrough.

7.4.5.4.3 CPD

This feature is currently under development.

7.4.5.4.4 DMD

This feature is currently under development.

7.4.5.4.5 DID

This feature is currently under development.

7.4.5.5 Software prerequisites

In order to run the Content Creation Device, any additional software to those needed to compile thewhole Chillout project is needed.The Content Creation Device depends on chillout_core and chillout_auxiliary modules

7.4.5.6 Usage

For those devices that need to access a certain Web Service of LPD, a LPD talker class should beimplemented. They should populate a message as defined in the protocol, and send it to LPD byinvoking the Web Service. You can see the LPDTalker class in the savmessenger package of theSAV device as an example.The usage of GUI will be documented later when the development is done.

7.4.6 DID

7.4.6.1 Scope

In DMP Device Identification Device is a service that provides device id for other deviced (e.g.SAV, CCD, CPD, LPD, TPD, CID, DMD). When device obtains a device id from DID, it becomespart of the DMP system and can establish a security communication channel with other DMPdevices.

7.4.6.2 Overview

7.4.6.2.1 DID walkthrough

The DID architecture diagram is shown in Figure 313:

Page 403: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

403

Figure 313 – DID walkthrough

The following walkthrough shows the behaviour of a Device Identification Device when deviceobtain a device id.1) Other device marshal request message.

i. Device put its device information into request message.ii. If device wants to obtain “Certificate-based identification”, it must generate a private

key/public key pair, and put public key into request message. But if it only wants to obtain“Device info-based identification”, it will elide this step.

iii. Device send request message to DID.2) DID build device id for the application device

i. DID parse request message.ii. If request message not content device serial number, DID will generate a device serial

number for it.iii. DID query device id from database, if DID has issued a device id for this application device,

DID only return it.iv. If request message not content public key, DID will generate “Device info-based

identification”.1. DID marshal dmp2mdi:DeviceID message.

v. If request message content public key, DID will generate “Certificate-based identification”.1. DID access with EJBCA2. Add a new end entity for this device.

Page 404: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

404

3. Create user X.509 certificate for this end entity.4. Turn user X.509 certificate DER-encoded format into xml format.5. DID marshal dmp2mdi:DeviceID message.

vi. DID return dmp2mdi:DeviceID message to application device.

7.4.6.2.2 DID database

The Device Identification Device stores device id information in a database which is based onMYSQL.Table name is tbl_didemap.

7.4.6.3 Package description

Figure 314 – Overview of the DID package

7.4.6.3.1 The core package

The core package contains the all core classes needed to create a X.509 certificate.

The following classes are defined in this package: Base64

This class implements a BASE64 Character encoder/decoder as specified in RFC1521. CreateSerialNumber

This class is use for generate a serial number. DIDXmlProc

o Parse request message.o marshal dmp2mdi:DeviceID message

EJBCAProcThis class is use for operation EJBCA

Page 405: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

405

7.4.6.3.2 The dao package

The dao package contains the all classes needed to operate database.

The following classes are defined in this package: HibernateSessionFactory

This class Configures and provides access to Hibernate sessions, tied to the current thread ofexecution.

DideDaoThis class define all functions need to operate database.

DideMapThis class is a map layer from database table to java class.

7.4.6.3.3 The webservice package

The webservice package contains webservice interface and its implement classes.

The following are defined in this package: IdentifyDeviceProtocolService

Webservice interface . IdentifyDeviceProtocolServiceImpl

Webservice interface implement.

7.4.6.4 Relationship with other Devices

7.4.6.4.1 CCD

This feature is currently under development.

7.4.6.4.2 SAV

This feature is currently under development.

7.4.6.4.3 LPD

This feature is currently under development.

7.4.6.4.4 CPD

This feature is currently under development.

7.4.6.4.5 CID

This feature is currently under development.

7.4.6.4.6 DMD

This feature is currently under development.

7.4.6.4.7 TPD

This feature is currently under development.

7.4.6.5 Software prerequisites

The chillout_did library depends on the chillout_core and the chillout_auxiliary library.

Page 406: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

406

Additionally, in order to use the chillout_did library the EJBCA and MYSQL software is required.

7.4.6.6 Usage

The Device Identification Device supports the following functionalities:

7.4.7 DMD

7.4.7.1 Scope

The Domain Management Device enables the creation of groups of Devices of Users.

7.4.7.2 Overview

As shown in Figure 315, DMD manages Domain in co-operation with DoID, LPD, SAV andDomainAdministrator. First of all, DomainAdministrator initiates the CreateDomain protocol toDMD. DMD creates DomainID and DomainaManageInfo for the newly created Domain with DoID.In this process, LocalDomainID created by DoID is sent to DMD by using LocalDomainIDRequestand LocalDomainIDResponse messages,. Then it’s combined with DomainManagerID and becomesDomainID.After the creation of Domain, the protocols between SAV and DMD are used to deliver the Domainmembership to SAV. When a Domain bound content is requested, LPD is informed DomainID byapplication dependant means, then the LPD issues RequestKey protocol to DMD to get thecorresponding DomainKey.Finally the domain bound license can be created by encrypting the content key with the DomainKey.

Figure 315 – Components of Domain Management

7.4.8 TPD

7.4.8.1 Scope

A Tool Provider Device (TPD) is a Device capable of releasing Tools to End-user Device such asSAV. The TPD issues Tool ID, packages the Tools and enables a user or a Broadcast client to

Page 407: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

407

download it. Tool Administrator can register the Tools and End-User Device can download themthrough the message protocol defined in IDP. Followings are the roles of TPD in IDP.1. TPD makes a role of the repository of various Tools.

1.1. TPD provides the functionality for registering Tools.1.2. TPD stores the Tools securely.1.3. TPD issues Tool ID for the tools.

2. TPD serves the Tool request from SAV.2.1. TPD parses the Tool request messages2.2. TPD packages the necessary Tools.2.3. TPD sends the Tool package to the SAV

3. TPD serves the Tool ID request and related Tool request from CCD3.1. TPD parses the Tool ID request messages3.2. TPD sends all the Tool IDs stored in the Database to CCD and display them to CCD3.3. CCD select one or more Tool ID and sends the selected Tool ID(s) to TPD3.4. TPD packages the necessary Tool(s)3.5. TPD sends all the Tool package(s) to CCD

7.4.8.2 Overview

TPD consists of Tool DB, Storage Manager, Tool Packager, Protocol Manager as shown in Figure316.

Figure 316 – Relationships between TPD, CCD and SAV

Page 408: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

408

Figure 317 – Messages between TPD, CCD and SAV

Followings are the roles of each module..

Tool DBo Stores the Tool information such as Tool ID, Tool meta information, Tool binary data

and user information. Storage manager

o Manages Tool DB and makes a role of middleware between Tool Packager and Tool DB. Tool Packager

o Creates Tool Packages using the Tool information stored in Tool DB. Protocol Manager

o Parses and analyzes the request messages from the administrator or the SAVor CCD, andsends the responses or Tool packages.

7.4.8.2.1 TPD Walkthrough

The following walkthrough shows the behaviour of a Tool Provider Device.

Registering a ToolAdministrator registers a Tool to through the GUI that TPD provides.

a. Administrator logs in with ID and PWb. Click “Register Tools” button in the menuc. TPD displays form interface to receive detail information of the Tool

Storage Manager

Tool DB

Tool Provider Device

Protocol

Manager

Tool Packager

User Interface

Message Parser

SAV/CCD

TPDAdministrator

Message Interface

Page 409: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

409

d. User provides information of the Tool. This information includes following items:- Binary Tool/Tool Agent: This includes a Tool or Tool Agent binary data in charge of

protecting resources in the SAV [mandatory]- Binary Tool Group: This includes a library for the Tool Agent. [optional]- Target Device Information: This indicates target platform on which the Tool may operate.

Device Information includes type of operating system, memory, CPU, etc [optional]e. User clicks “OK” buttonf. TPD validates DRM Protection Tool information. If any error occurs, TPD displays warning

messages.g. TPD displays the result of registration.h. Administrator confirms it.

Downloading the Tools (by SAV)The protocol between the TPD and the SAV for downloading Tools.

1. SAV:a. Mutually Authenticates with TPD.b. sends a dmp2rdm:GetTools message to the TPD, containing:

i. The requested Tool IDii. Message signature

2. DRM Protection Tool Server:c. Receives the message;d. Verifies the signature;e. Creates the required Tool packagesf. Delivers dmp2rdm:GetToolsResponse message to the SAV

3. SAV:g. Receives dmp2rdm:GetToolsResponse message and stores the Tools into its local

Tool storage.

Requesting all Tool ID(s) and Downloading selected Tool(s)(by CCD)The protocol between TPD and CCD for request Tool ID and Tool

1. CCD Mutual Authentication with TPD Send message dmp2:requestToolInfoListType message to TPD

2. TPDc. Receives the messaged. Verifies the signaturee. Get all the Tool ID(s) from Databasef. Delivers the dmp2:ToolInfoListTypeResponse message to the CCD

3. CCDg. Displays all the Tool ID(s) received from TPDh. Selects Tool ID(s) required and package themi. Sends message dmp2rdm:GetTools to TPD

Page 410: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

410

4. TPDj. Receives the messagek. Verifies the signaturel. Creates the required Tool packagem. Sends message dmp2:GetToolsResponse to CCD

5. CCDn. Receives the message dmp2:GetToolsResponse and stores the tools into its local

Tool storage

7.4.8.3 Package description

Figure 318`Error! Reference source not found.shows the packages of the chillout_tpd.

Figure 318 – Packages of the chillout_tpd

7.4.8.3.1 The core package

This package includes auxiliary classes, such as Base64.

7.4.8.3.2 The dao package

This package supports database to TPD. It stores DRM Tool(s), the relationship between DRMTool IDs and registered users, Registered user information. Recently, it supports storing simple tool,but not tool group.The following classes are defined in this package:• MediatoolDAO:

Page 411: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

411

This class includes the information about the registered Tools. Each item contains Tool ID,ToolBody ID, device type, and so on.

• UserandtoolDAO:This class includes some information about the relationship information between registereduser and his registered tool IDs. When a user registers a tool, the user ID and the Tool ID willbe stored in the table.

• UserinfoDAO:This class includes information about the registered user information. Every time a user hasregistered, his/her information will be stored in this table.

• Mediatool, Userinfo, Userandtool and HibernateSessionFactory:These are auxiliary classes about the database operations

7.4.8.3.3 The services package

This package is the main package of TPD. It provides TPD Service Interface. There are twoservices: RequestDRMToolBodyService and RequestDRMToolInfoListService.public String processRequestDRMToolBody(String request) ;

public String processRequestDRMToolInfoList (String request) throwsJAXBException;

a. RequestDRMToolBodyService:Through this service interface, SAV and CCD can package a requestIPMPToolBodyType asmessage and use method processRequestDRMToolBody() to send the message and get aresponse from TPD

b. RequestDRMToolInfoListService:Through this service interface, CCD can package a requestDRMToolInfoListType asmessage and use method processRequestDRMToolInfoList() to send the message and get aresponse from TPD

7.4.8.3.4 The web package

This package is mainly about the Tool registration. In this package, there are two other packages:action package and vo package. The web package and the vo package are auxiliary packages to theaction package. The action package contains all action operations in the registration process:a. User operation:

Login, logout, register Tool, modify user information, look up registered Toolsb. Administrator operation:

Login, logout, register Tool, modify user and tool information(restricted), add user, delete user,delete tool and so on.

User Registration:

Page 412: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

412

Figure 319 – User Registration in tThe Tool Provider Device

Tool Registration:

Figure 320 – Tool Registration in the Tool Provider Device

Administrator management:

Page 413: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

413

Figure 321 – Administrator management in the Tool Provider Device

7.4.8.3.5 The utils package

This package contains a few utility classes useful for several purposes.

7.4.8.3.6 The test package

This package provides two test classes: RequestDRMToolBodyServiceTest andRequestDRMToolInfoListServiceTest. Users can use these two test classes to test the serviceprovided by TPD.

7.4.8.4 Relationship with other Devices

7.4.8.4.1 SAV

TPD Provides various Tools to SAV when SAV request them. When User try to play the governedContent on SAV, SAV parses and analyses the DRM information of the content, and extracts the listof the necessary Tools for the Content. If SAV succeed to find the necessary Tools on their localTool storage, SAV loads the Tools and start to play the Content. If SAV fails to find the necessaryTools on their local Tool storage, SAV accesses the TPD and requests the necessary Tools.According to the request, TPD searches the Tools in their Tool repository, and creates the Toolpackages for transmission. This Tool package is sent to SAV as a response. Once the SAV receivesthe Tool package, SAV stores the tools in their Tool storage. The SAV sendsdmp2rap:RequestToolBody messages for requesting the Tools and TPD sendsdmp2rap:RequestToolBodyResponse messages as a response, which is includes Tool binaries andthe Tool information.

Page 414: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

414

7.4.8.4.2 CCD

CCD creates Contents according the many options. According to this options, CCD creates variousContents - Governed, Ungoverned, or in clear text. If Contents is Governed, CCD can create theprotected Contents or the unprotected Contents. To create Protected Contents, CCD should apply thenecessary Tools on the Resource for protection. For this, CCD should provide to the ContentProviders the functionality of choosing the protection Tools to apply. However, CCD does notmaintain all kinds of tool information, but it only can apply protection Tools on the Resource.Therefore, CCD communicates with TPD to acquire the Tool information.There’re two types of information that is sent to CCD from TPD. One is Tool list information. Whenthe Content Provider chooses the protection tool on the CCD, they might want to use the Tool that isnot stored in the CCD itself. In this case, CCD should receive the Tool list information from TPD.The other one is protection Tool itself. If the Content Provider, for protecting the resource, chooses aTool that is not stored in CCD, CCD should request the necessary Tools to TPD, and TPD sendsTool package to CCD as a response, which is very similar with the relationship between SAV andTPD

7.4.8.4.3 CID

This is under development

7.4.8.4.4 DID

This is under development

7.4.8.5 Software prerequisites

In order to run Tool Provider Device, Compiling the whole Chillout project is needed.The Tool Provider Device depends on Chillout_Core module. And a database is needed.

7.4.8.6 Usage

The Tool Provider Device supports the following functionalities:

• Manage Tool:o User registers a tool through the GUI interface and gives detailed information about the

registered toolo Tool Provider Device confirms them and forms a Tool Body and then stores it in the

Database.o Administrator can add and delete user, add and delete Tool, modify the information of Tool,

manage the relationship between use and his/her registered Tool(s).• Provide Tool(s):

User(SAV or CCD) sends a request including Tool ID to Tool Provider Device. Tool ProviderDevice retrieves the requested tool(s) from the database by the Tool ID. If the tool exists, thepackage it and return it to user.

• Provide all Tool ID(s)o User(CCD) sends a request to Tool Provider Device to know which tool can be available,

then Tool Provider Device sends all the Tool ID in the Database to user.

Page 415: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

415

7.5 RRDOnto Java API specification

Disclaimer: This code is part of Chillout but its functionalities are currently not integrated with therest of the Chillout code.

The OWL language is based on RDFS, ultimately an XML file, making it technologically neutral.Therefore, any program that reads an OWL file will extract the same logic. Furthermore, any OWLfile may be validated against another via an appropriate reasoner such as Pellet. In order to facilitatea swifter development of applications, a basic Java API is required. This section provides thedefinition for the minimum and necessary Java routines to handle the RRROnto OWL filemeaningfully and build applications that make use of the RRD logic.

7.5.1 Features

This library provides the basic functionality to: To query the ontology for key class properties. To manage class individuals with basic common operations To store and retrieve information about class individuals

7.5.2 Requirements

This document only provides the definition of Java methods without any specific implementationand although code is not provided it can be easily generated accessing the appropriate Java librariesfor parsing and reasoning over OWL files. Examples of such libraries are Jena V 2.4 for parsingOWL files and Pellet V 1.3 provides methods for reasoning over OWL files.

7.5.3 Form

The main functionalities of the RRDOnto API have been defined in a public “interface” class calledRRDOnto. This abstract class may be adopted by several implementations e.g. its generic method“store” is defined to enable storage in any destination such as a file, a database, or a remote host etc.

7.5.4 Methods reference

7.5.4.1 Constructor & Destructor Documentation

RRDOnto (String owlurl)

Constructor initialises the ontology parser and reasoner.

Parameters:owlurl Reference OWL should point to RRDOnto.owl found on the web or on the local machine.Example: “http://.../dmp3.owl”, or "file:dmp3.owl".

7.5.4.2 Member Function Documentation

Boolean Load (String url)This method loads RRD individuals from a data repository. The data repository may be local orremote, an OWL file or a database, or any other storage type. The load operation is additive, i.e., ifindividuals have already been loaded the new individuals will be added to the former.Parameters:url Address of the data repository.

Page 416: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

416

Returns:True on success, false on error.

Boolean Store (String url)This method stores individuals in a data repository. This data repository may be local or remote, anOWL file or a database, or any other storage form.Parameters:url Address of the data repository.Returns:True: upon successFalse: upon error.

Boolean Unload ()This unloads individuals from the data model.Returns:True: upon successFalse: upon error.

Boolean CreateUser(Vector<String> roles, String name, String refid)This registers a new user with given roles. Note that all operations are done in the memory datamodel, and persistency is not achieved until a Store operation is performed.Parameters:name Name of the userroles Set of roles that the user playsrefid Reference id to link this user with other user databasesReturns:True: upon successFalse: upon error.

Boolean EraseUser(String name)Deletes an user from the data model.Parameters:name Name of the userReturns:True: upon successFalse: upon error.

Boolean ExecuteAction (String user, String action, Vector<String> objects, Stringnewipentity)

Permits a User to execute an action over one or more objects.Parameters:agent Name of the useraction Name of the actionobjects Names of the objectsnewipentity Name of the new IP Entity (if any)Returns:

Page 417: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

417

True: upon successFalse: upon error.

Vector<String> SearchPermit(String user, String action, String ipentity)Searches for a permit where user can execute the action over an ipentity, and returns the ids of thepermits (if existing)Parameters:user Name of the useraction Name of the actionipenity Name of the objectReturns:Null if no permit exists, or a vector with permits ids that permits the action to be executed onipentity by user.

Boolean CreatePermit(String fromagent, String toagent, String entity, Vector<String>actions, String permitid)

A user gives permission to other user to execute certain actions over a particular IP entity.Parameters:fromagent Agent donor of the permission, and owner of the rights.toagent. Agent that gets the permissionentity. Entity over which the actions can be exercised.actions. One or more actions whose execution permission is given.permitid: ID of the Permit.Returns:True: upon successFalse: upon error.

Boolean RevokePermit(String permitid)Revokes a given permit.Parameters:permitid: ID of the Permit.Returns:True: upon successFalse: upon error.

Boolean GiveConsent(String userfrom, String userto, String object)The Creator userfrom gives special consent to userto over object. This consent is special in certaincases, in the sense that it breaks the value chain of authorisations. For example, in order to make aPublicCommunication it is needed the special consent of the author. This function gives that consent.Parameters:userform Author that gives the consentuserto Author that receives the consentobject IPEntity over which the action is to be executed.Returns:True: upon successFalse: upon error.

Page 418: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

418

String getRightsOwner(String ipentity)Returns the rights owner of a given ipentity.Parameters:ipentity Name of the IP EentityReturns:Name of the User who owns the rights.

String getOrigin(String ipentity)Returns the source of a given ipentity.Parameters:ipentity Name of the IP entityReturns:Name of the source upon which ipentity is based.

7.6 MXM based Chillout Implementation

7.6.1 The MXM standard and its target

MXM is called MPEG extensible middleware. The MXM Standard has been developed to enablethe easy design and implementation of media-handing value chains whose devices are interoperatedwith a set of technologies, especially technologies standardized by MPEG.

The MXM standard enables many MXM applications run on MXM devices based on MXMstandard. So MXM devices can interoperate and communicate with each other. The scope of theMXM Standard is depicted in Figure 12:

7.6.2 The architecture and techlonogies of MXM

The MXM standard contains the following elements:1. MXM engines2. MXM engines APIs3. MXM Orchestrator engine4. MXM Orchestrator engine API5. MXM devices6. MXM applications.

In the MXM standard, only the MXM engine APIs are mandatory. If other modules or applicationswant to be used in a MXM device, it only need to implement the MXM engine APIs. Also, theMXM engine APIs can also be used in other devices or applications.

An MXM engine is a collection of bundled technologies. The MXM Orchestrator engine organises achain of MXM engines. And the related engine APIs are used to access the engines. The MXMarchitecture is depicted in Figure 13.

7.6.3 The implementation of Chillout based on MXM standard

The Chillout project is also for the same value chain as MXM standard. To implement the Chilloutbased on MXM, we can use the following structure:

Page 419: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

419

Figure 322 – A structure for an MXM-based implementation of Chillout devices

The MXM Core is the basis of the Chillout devices. It defined the possible engine interfaces whichwill be used to implement a MXM engine and apply it to a MXM application. It also define theinterfaces to use other engines which are not included in the MXM Core because the MXM Coreincludes a MXM Adaptor which can translate an object into a MXM Engine.

Also, each Chillout device should define a MXM Configuration file according the MXMConfiguration schema. This configuration defines the MXM parameters and the MXM engineswhich will be included and used in this Chillout Device.

After the Chillout Device start, this MXM Configuration file will be loaded and these MXMparameters and MXM engines will be parsed. The MXM engines will be put into the MXM Enginemanger and registered. When one MXM engine will be used, the Chillout device will load thisMXM engine from the MXM Engine manager according to the MXM engine name or otheridentification.

Each Chillout device, it must implement the MXM Core and then it can utilize the functionalitiesdefined in various MXM engines. Moreover, any two Chillout devices implemented the MXM corecan interoperate with each other as depicted in Figure 323.

Figure 323 – Two Chillout Devices interoperate with each other based on MXM

Page 420: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

420

8 End-to-End Conformance

8.1 Introduction

DMP Technical Specifications and References provide Tools and guidance to Users on how toemploy the DMP-specified Tools to set up Value-Chains. However, DMP Approved Documents #1to #7 are in general not sufficient to respond to the following basic questions:

1. Question 1: Has a given Content or Device Entity been made correctly according to theTechnical Specifications?

2. Question 2: Can the Device Entity that has passed the test of Question 1. be safely admitted to aValue-Chain, i.e. it does not compromise its integrity?

Being able to respond to the first question is a pre-requisite for building Interoperable Value-Chainsbased on Devices that are independently manufactured and Use independently Created Content. Thisis the first purpose of this Chapter 8. The goal is achieved through the use of methodologies, testsuites and software to test Entities for Conformance to the Technical Specifications.

By using the material made available by this Chapter 8, Users will be in a position to:

1. Take a content item, feed it to a reference Consumption Device, i.e. a Consumption Devicewhose Conformance has been positively assessed, observe the performance of the Device andjudge whether the content item is a Content Item;

2. Take a protocol, install it on a device, observe the performance of the Protocol running on areference Device that sends reference Content, i.e. Content whose Conformance has beenpositively assessed and judge whether the implementation of the protocol is a Protocol;

3. Take a device, e.g. a content consumption device, connect it to a number of reference Devices,e.g. Content Provider Device, Domain Management Device etc., and judge whether theimplementation of the content consumption device conforms to the Technical Specifications byobserving its performance when subjected to a number of test suites;

4. Etc.

In order to build Value-Chains that Users can entrust their assets to, with an expectation that theywill be Used as expected, Users require means to obtain responses to the second question. This is aprimary function of the Certification Authority and Agencies whose general role is described inChapter 5. Therefore this Chapter 8 only provides general elements that help provide responses toQuestion 2, with the understanding that complete answers to this question with a level of satisfactionsuitable for business practices in a specific environment can only be obtained from CertificationAgencies.

Prerequisites for proper understanding of this Chapter 8 are: reading of this Foreword, Chapter 2,Chapter 3, Chapter 6 and Chapter 7.

8.2 Conformance Testing

The notion of conformance of an implementation (e.g. a video decoder) to a standard, e.g. MPEG-2Video, is well established. There is a set bitstreams, designed to test different features of the

Page 421: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

421

decoding process, which can be fed to the video decoder under test. If the decoder correctly decodesthe bitstreams one can infer that the decoder implementation is conformant. If the video decoder isto be tested for conformance to the MPEG-4 Visual standard, things are slightly more complicatedbecause of the different profiles and levels that are practically used (this is true of MPEG-2 as well,however, only Main Profile is practically used). In practice, however, the same conformance testingprocess described for MPEG-2 Video applies to each individual MPEG-4 Visual profile.

The notion of conformance of an implementation to the DMP specification (IDP) cannot be derivedin an immediate fashion from the preceding case for the simple reason that the IDP is a toolkitstandard with a number of dimensions that is much larger than the number of dimensions of, say,MPEG-4 Visual.

A second aspect of the toolkit nature of the IDP concerns the fact that, even though DMP, in itssearch for an interoperable specification, has specified only one Tool to support a given Function, tothe extent possible the IDP has been designed to allow the use of alternative technologies. Indeedfuture versions of the IDP could be extended to support a further level of abstraction by allowing theuse of more that one technology to implement a given Function. As it is the policy of the DMP notto encourage the use of technologies other than those specified in the current version of the IDP, thisChapter 8 will in general provide no support to assess the conformance of implementations in whichnative IDP Tools have been replaced by other tools of similar functionalities.

The table below lists some of the technology types that are employed by the IDP, the correspondingnative DMP Tools and other tools that could possibly be used, not necessarily with exactly the samefunctionalities, by an implementer to replace native DMP Tools:

Table 1 – Some technologies potentially replaceable by non-DMP specified technologies

Technology type Native DMP Tools Other toolsRights Expression Language DMP REL ODRL, RMPIRepresent Rights Data DMP RRD ODRL OntologyMetadata TV-Anytime profile MPEG-7, Dublin Core, ...

The general problem of testing exhaustively an Entity for Conformance requires examining a largenumber of aspects for which it may be impractical to provide all material to test it. Therefore thisdocument will only concentrate on the means to test the most critical aspects. Future versions of thisChapter 8 may provide additional material in response to precise user needs.

Conformance testing material is provided for the following broad areas:

1. Content and Content Elements2. Protocols and Package Tools3. Devices.

For Content and Content ElementsA content item or content element under test shall be used as an input to a reference Parser. TheParser shall provide as output

Page 422: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

422

1. An indication of whether the syntax of the content item or a content element under test is corrector not (always)

2. Indications of what in the content item or content element under test is incorrect and, if possible,why (in the latter case).

This Chapter 8 points to reference implementations of the Parsers of Chapter 7 that shall be used totest content items and a range of content elements for Conformance.

Protocols and Package ToolsAn implementation of a protocol or a package tool to be tested for Conformance shall be providedeither as an implementation of one side of the protocol or package tool, e.g. for a ContentIdentification Device and for a Content Creation Device, or as clearly separated parts of the twosides of the protocol or package tool. The side to be tested for Conformance shall be installed on adevice with the appropriate interfaces and the behaviour of the device shall be assessed when itcommunicates with a reference Device implementing the other half of the Protocol or Package Tool.

This Chapter 8 points to reference implementations of the two sides of all Protocols and a range oftest suites (reference Content Items and Content Elements) required to test Protocols forConformance.

DevicesA device to be tested for Conformance shall be provided with direct access to the individualcomponent protocols or package tools and to the relevant parts of the device. The device shall beconnected to the set of Devices required for the type of operation required by the Value Chain forwhich the device under test is expected to operate and the performance of each protocol or packagetool or groups of protocols and package tools implemented on the device shall be assessed.

This Chapter 8 only provides limited and demonstration level support for this type of deviceConformance testing. Devices can be tested for Conformance by making them interact with theReference Devices of Chapter 7 and observing the behaviour of the reference Devices.

8.2.1 Content and Content Elements

8.2.1.1 Content

The Reference Parser will provide information on the correctness of

1. The Structure of the DCI2. The location of

a. IdentifiersIdentifier for Content Item

i. Identifiers for Content Elementsb. Metadata

i. Metadata for a Content Itemii. Metadata for a Content Element

c. DCI signaturesd. DCI hash

Page 423: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

423

e. Resources in the DCIf. Governed Content Elementsg. DRM Information including DRM Toolsh. General DRM Information including DRM ToolListi. Licenses

i. Granting the Right to Use Contentii. Governing the Use of DRM Tools

j. Key Informationi. Time-independent Keys

ii. Time-dependent Keysk. DRM Tool Bodyl. Device Information

8.2.1.2 Metadata

8.2.1.3 DRM Information

The Parser will provide information on the correctness of

Governed Elements Local DRM Information General DRM Information

8.2.1.4 DRM Tool

The Parser will provide information on the correctness of

dmp2_ipmpinfo:ToolList dmp2_ipmpinfo:Tool element Fixed DRM Tools

8.2.1.5 DRM Tool Body

The Parser will provide information on the correctness of

Single DRM Tool Body DRM Tool Pack Body

8.2.1.6 License

The Parser will provide information on the correctness of

License element DomainResource element digitalResource element protectedResource element

8.2.1.7 DRM Messages

The Parser will provide information on the correctness of

Page 424: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

424

Containers for DRM Messages DRM Messages

8.2.1.8 Authentication Messages

The Parser will provide information on the correctness of

InitAuthentication MutualAuthentication

8.2.1.9 ProtocolDevice Information

8.2.1.10 ProtocolDomain

8.2.1.11 ProtocolDomain Protocol

8.2.1.12 ProtocolUse Data

8.2.1.13 ProtocolAccess Protocol

8.2.1.14 ProtocolBinary XML

8.2.1.15 Name spaces

The Parser will check that the implementation supports Access to namespaces that are specificallyidentified by DMP.

8.2.2 Protocols

Testing an implementation of a Protocol for Conformance means to be able to verify that a Deviceon which the implemented Protocol under test is running responds correctly to another Device that isknown to implement correctly the other half of the Protocol.

8.2.2.1 Protocols to Identify Entities

8.2.2.1.1 Protocol to Identify Device

This Chapter 8 points to the reference implementation of the Device Identification Protocol for

Device Identification Device.

8.2.2.1.2 Protocol to Identify User

This Chapter 8 does not provide a reference Protocol implementation for the User IdentificationDevice as this is out of scope.

8.2.2.1.3 Protocol to Identify Content

This Chapter 8 points to the reference implementation of the Content Identification Protocol for

Device Identification Device Content Creation Device.

Page 425: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

425

8.2.2.2 Protocols to Authenticate Entities

8.2.2.2.1 Protocol to Authenticate Device

This Chapter 8 points to the reference implementation of the Device Authentication Protocol.

8.2.2.2.2 Protocol to Authenticate User

This Chapter 8 does not provide a reference Protocol implementation for User Identification as thisis out of scope.

8.2.2.2.3 Protocol to Authenticate Content

This Chapter 8 points to the reference implementation of the Content Authentication Protocol for

Device Identification Device Any other Device invoking the Content Authentication Protocol.

8.2.2.3 Protocols to Manage Domain

8.2.2.3.1 Protocols resident on the Domain Management Device

This Chapter 8 points to the reference implementation of the Manage Domain Protocol for theDomain Management Device side of:

Create Domain Protocol Renew Domain Protocol Delete Domain Protocol Add Device Protocol Add User Protocol Renew Device Protocol Renew User Protocol Leave Device Protocol Leave User Protocol Un-Licensed Simultaneous Use Notification to Domain Management Device

8.2.2.3.2 Protocols resident on the Domain Administrator

This Chapter 8 points to the reference implementation of the Manage Domain Protocol for theDomain Administrator side of:

Create Domain Protocol Renew Domain Protocol Delete Domain Protocol

8.2.2.3.3 Protocols resident on the License Provider Device

This Chapter 8 points to the reference implementation of the Manage Domain Protocol for the LPDside.

8.2.2.3.4 Protocols resident on the End-User Device

Page 426: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

426

This Chapter 8 points to the reference implementation of the Manage Domain Protocol for the End-User Device side of:

Add Device Protocol Renew Device Protocol Leave Device Protocol Merging Use Data between Devices Notification to Domain Management Device

8.2.2.4 Protocols to Manage DRM Tools

This Chapter 8 points to the reference implementation of the Manage DRM Tool Protocol for:

Instantiation of a DRM Toolo Instantiation of a single DRM Toolo Instantiation of a DRM Tool Pack

Initialisation of a DRM Toolo Initialisation of a single DRM Toolo Initialisation of a DRM Tool Pack

Authentication of DRM Tools and DRM Processor General DRM Tool Management

o Obtaining a reference to the DRM Tool Groupo Obtaining a reference to a DRM Tool

8.2.2.5 Protocols to Deliver

No support is provided as these Protocols are not yet part of Chapter 3.

8.2.2.6 Protocols to Access

8.2.2.6.1 Protocol to Access Content

This Chapter 8 points to the reference implementation of the Access Content Protocol for

Content Provider Device Any other Device.

8.2.2.6.2 Protocol to Access License

This Chapter 8 points to the reference implementation of the Access License Protocol for

License Provider Device Any other Device.

8.2.2.6.3 Protocol to Access DRM Tool Body

This Chapter 8 points to the reference implementation of the Access DRM Tool Body Protocol for

DRM Tool Body Provider Device Any other Device.

Page 427: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

427

8.2.2.6.4 Protocol to Access Key

This Chapter 8 points to the reference implementation of the Access Key Protocol for

Key Provider Device Any other Device.

8.2.3 Package

8.2.3.1 Package as File

This Chapter 8 points to the reference implementation of Package as File Tool for

Content Creation Device Any other Device unPackaging a DCI in a file.

8.2.3.2 Package as Stream

This Chapter 8 points to the reference implementation of Package as Stream Tool for

Content Provider Device Any other Device unPackaging a DCI in a stream.

8.2.4 Devices

8.2.4.1 Introduction

A Value-Chain is typically made of a number of Devices managed by Users. Devices interact withother Devices using Protocols to exchange Data that are Represented as specified in AD #3.

Therefore testing a Device for conformance makes only sense in the context of a particular Value-Chain, even though it should be possible to isolate and test a set of Primitive Functions in a Devicefor conformance.

A Content Creation Device can be tested for conformance in its ability to successfully

Authenticate with another Device Register a Content Item with a Content Registration Agency Make a Content Item that is syntactically correct Etc.

A Content Consumption Device (SAV) can be tested for conformance in its ability to successfully

Authenticate with another Device Join a Domain Management Device Authenticate a Content Item with a Content Registration Agency Use a Content Item, after

o Accessing a License from a License Provider Deviceo Accessing a DRM Tool from a DRM Tool Provider Device

Etc.

Page 428: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

428

This Chapter 8 points to the reference implementation of the following reference Devices:

Device Identification Device Content Creation Device Content Identification Device Content Provider Device License Provider Device DRM Tool Provider Device Domain Management Device Content Consumption Device (SAV)

These can be used as a basis for extending the functionality of reference Devices needed for settingup Conformance testing environments for specific Value-Chains.

8.3 Certification issues

A Device shall have been designed and manufactured so that the cost for an attacker to

1. Extract cryptographic secrets2. Alter embedded identities3. Defeat Authentication, DCI decoding and Rights Expression interpretations4. Defeat Encryption/Decryption functionalities

is made sufficiently high. The definition of “sufficiently high” is specific of a business area and willbe defined by a Device Certification Agency in the framework set by the Device CertificationAuthority.

Techniques useful to achieve the above goals are:

1. No easily accessible interfaces or busses from which clear-text data can be extracted2. Use of signed code to self-check integrity of software component3. Use of secure hardware in case software relies on hardware for robustness

Page 429: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

429

9 Mapping of Traditional Rights and Usages to the Digital Space

9.1 Introduction

DMP specifications provide interoperable technologies that help Use Governed Content (i.e.Content that is at least Identified). Some of these technologies (i.e. Identification) do not requireRights Holders’ Permissions, others (i.e. Licenses) provide a more complete set of possibilities tomanage Content throughout the Value-Chain requiring Rights Holders’ Permissions.

Traditionally Users have had many ways of enjoying content they purchase or access some of whichdo not require rights holders’ permission. Some of these media usages are backed by law in somejurisdictions, some others are dealt with as exceptions to the law and some others are practicescurrently exercised simply because the state of technology enables them.

DMP feels that solutions that are based on the Interoperable DRM Platform (IDP) could be seen as apoor proposition, in spite of being superior to other DRM solutions thanks to the Interoperabilitythey provide, because the experience gained from them may be perceived by Users as inferior to thecurrent digital or even to the analogue experience.

DMP calls Traditional Rights and Usages (TRU) the ensemble of usages made possible by laws andexceptions or simply practiced by the general public. The DMP community has gone to a great paincollecting as many TRUs as possible and Annex A provides a list of the 88 TRUs that have beenidentified. The reader is directed to http://www.dmpf.org/open/dmp0270.zip for a detailed analysisof those TRUs.

The objective of this Chapter 9 is to provide illustrative examples of:

1. Support of uses similar to those that users were accustomed to in the analogue age but using thetechnologies in the IDP and without compromising the integrity of a Value Chain that is basedon it

2. New innovative ways of offering and consuming digital media largely inspired by TRUs thatDMP calls Digital Media Business Models (DMBM).

For each TRU/DMBM supported the following is provided:

1. A rationale for the TRU/DMBM2. One or more than one solution enabling support of the selected TRU/DMBM, each with

a. A walkthrough complemented with the list of IDP Tools requiredb. Additional actions that may be required to enable TRU/DMBM support.

Note that

1. The DMP has no intention to debate, define or promote the legal status of any of the specificexamples of TRU support;

2. The ways to support a TRU can be manifold. The fact that one has been selected does not implythat DMP has a preference for that particular TRU support and anybody is encouraged to

Page 430: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

430

provide alternative solution cases following the template used in this Chapter 9. These will bediscussed by DMP in an open forum and, if considered technically sound, added to the nextversion;

3. The DMP intends to add more TRUs/DMBMs or just more solution cases in future releases ofthis Chapter 9;

4. Full support of some TRUs may require technologies that are not yet in the IDP Tool kit(indicated in italics) but whose addition may already be under investigation;

5. In most cases a practical implementation of the solutions presented might require a third partyaction, e.g. legislation, in order to determine the conditions under which a User is entitled to geta License as opposed to ask for a License;

6. By identifying a third party action, the DMP does not intend to suggest that such an actionnecessarily be undertaken.

Reading of the following Chapters is prerequisite for a proper understanding of this Chapter:Chapter 4, Chapter 6 and the Foreword of this Chapter 9.

9.2 Use Case #1 – Quote TRU

9.2.1 Rationale

An important feature of digital vs. analogue media is the low threshold of entry to creation becausevirtually anybody is in a position to create Content of high (technical) quality using inexpensivedevices and software. With more and more Content that is being posted it becomes important forpersons in their capacity of Creators to be able to make Quotes from Content that has been Released,possibly in a format that employs technical protection measures.

Below a number of walkthroughs are described in which IDP Users can Quote Content.

9.2.2 Solution case #1

Tim wants to show 10 seconds from time code 1h 15m 25s of “My best quote of the year”, a moviethat is only available as protected Content.

9.2.2.1 Walkthrough

Tim performs the following sequence of steps:

Who Perform What Notes IDP Tool Ref.Tim Obtain License To quote 10 seconds of “My best quote

of the year”Negotiate License

Tim Make DCI Using a Content Creation Device (CCD).The DCI includes Tim’s Content The 10 seconds of the movie The License obtained for Quoting

the movie

Represent Content 2.1

Tim Register DCI Protocol to IdentifyContent

3.1.2

Tim Upload DCI To Content Provider Device CCD-CPD Protocol 3.7

Page 431: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

431

CPD Make DCF Package Content asFile

4.1.2

9.2.2.2 Recommended Actions

There are several ways in which this TRU can be actually implemented. Here follows a non-exhaustive list

1. In a given Jurisdiction the law may oblige Rights Holders to allow a User to make a limitednumber of Quotes of a given Content Item each with a maximum duration

2. In a given Jurisdiction a subscriber to a movie service may be entitled to make a limited numberof Quotes of a given maximum duration

3. The Rights Holder of “My best quote of the year” may wish to promote his movie using thetechnology analysed in the walkthrough giving away a limited number of Quote Licences

4. A User may offer to send Quotes of the movie to a number of friends and be paid for the effort5. ....

9.3 Use Case #2 – Personal Copy TRU

9.3.1 Rationale

Users who buy Content Items would like to make sure that they can continue to play the Contenteven when the medium on which the Content is Stored breaks down or is lost. Below a number ofwalkthroughs are described in which Users can expect to be able to continue Playing the Contentthey have bought, in the said feared adverse circumstances.

9.3.2 Solution case #1

Pete buys a Content Item with a License to Use it on only one Device of his Domain at a time.

9.3.2.1 Walkthrough

This is supported by the walkthrough of AD #4 Use Case No. 3 – Home Distribution #1.

9.3.2.2 Recommended Actions

Legislation may be required to ensure that a User can get a License that supports this Use Case.

9.4 Use Case #3 – Space shift TRU

9.4.1 Rationale

In a world where human mobility is on the increase, the ability to enjoy a Content Itemindependently from the physical location, assuming that the law of a particular location allows theUse of such a Content Item, is an important requirement. Below a number of walkthroughs aredescribed in which Users can expect to be able to Use Content at different locations.

9.4.2 Solution case #1

Abe, a UK national living in the UK, obtains a License from GreatBlueMulti (GBM) to Use aContent Item in multiple territories.

Page 432: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

432

9.4.2.1 Walkthrough

The following steps are performed.

Who Perform What Notes IDP Tool Ref.Abe Selects Content Out of scopeAbe Selects License

termsOut of scope

Abe Make Transaction Out of scopeGBM Make License License Permits Use of Content in

listed multiple TerritoriesRepresent License 2.10

GBM Make DCI The DCI references the License Represent Content 2.1GBM Make DCF Package Content

as File4.1.2

Abe Access License Access License 3.6.2Abe Un-

PackageDCF Package Content

as File4.1.2

Abe Use DCI In multiple Territories Represent ContentElements

2.

9.4.2.2 Recommended Actions

Legislation may be required to ensure that a User can get a License that supports this Use Case.

9.4.3 Solution case #2

Abe is now attending a conference in Germany, a country not covered by the License he haspreviously obtained for the Content Item of his current interest.

9.4.3.1 Walkthrough

Abe obtains a new License to extend temporary coverage to Germany.

Who Perform What Notes IDP Tool Ref.Abe Selects License Out of scopeAbe Make Transaction Out of scopeGBM Make License Content may be Used in

GermanyRepresent License 2.10

Abe Access License Access License 3.6.2Abe(PXD)

Make DCF New License is in the LicenseContainer Box

Package Content asFile

4.1.2

Abe(PXD)

Move DCF To PAV None

Abe(PAV)

Un-Package

DCF Package Content asFile

4.1.2

Abe(PAV)

Use DCI In Germany Represent ContentElements

2.

Page 433: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

433

9.4.3.2 Recommended Actions

Legislation may be required to ensure that a User can get a License that supports this Use Case.

9.5 Use Case #4 – Time shift TRU

9.5.1 Rationale

In some delivery systems, like broadcast, Content must be Used the moment it is received, unlessthe User’s Device has the ability to Store the Content for later Use. Below a number ofwalkthroughs are described in which Users can expect to be able to Use the Content at a differenttime than it was delivered to the User, as it used to be the case with Audio and Video CassetteRecorders.

9.5.2 Solution case #1

Daphnis is a Greek citizen living in Greece. In 2010 the Greek Broadcaster BlueRadioTV (BRT) hasimplemented a form of DTT whereby BRT broadcasts Clear-text digital television and subscribersuse a Certified Device to watch BRT programs. As long as Daphnis watches BRT programs theDevice behaves as a regular DTT set top box. However, when Daphnis wants to Store Content, theDevice requests a License for a DCI of the Stored Content from BRT. In this way Daphnis can UseContent at the time of his choice.

9.5.2.1 Walkthrough

The following happens when Daphnis wants to Store a Content Item:

Who Perform What Notes IDP Tool Ref.BRT Make Content Clear-text Broadcasting of

television programsNone

BRT Deliver Content Streaming of Governed Content NoneDaphnis Select Content To be Stored Out of scopeDaphnis(SAV)

Request Identifier Of DCI to be Stored to ERT(acting as Registration Agency)

Identify Content

BRT Make License 1. Store Content for 1 week;2. Play Content in Greece;3. Move/Copy Content to

another SAV within Greece

RepresentLicense

2.10

Daphnis(SAV)

Access License From ERT License ProviderDevice

Access Licenseas File

Daphnis(SAV)

Encrypt Resource Out of scope

Daphnis(SAV)

Make DCI With License Bundled within it RepresentContent

2.1

Daphnis(SAV)

Make DCF Package Contentas File

4.1.2

Daphnis(SAV)

Un-Package

ContentItem

Package Contentas File

4.1.2

Daphnis(SAV)

Use ContentItem

As per License terms RepresentContent

2.

Page 434: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

434

Elements

9.5.2.2 Recommended Actions

Legislation may be required to ensure that a User can get a License that supports this Use Case.

9.5.3 Solution case #2

Chloe has subscribed to a Broadcast Service Provider and has a License to Use Content at the timeof her choice.

9.5.3.1 Walkthrough

This is supported by the walkthrough of AD #4 Use Case No. 10 – Open Governed Broadcast.

9.5.3.2 Recommended Actions

Legislation may be required to ensure that a User can get a License that supports this Use Case.

9.5.4 Solution case #3

VHS2.0 is a start up that is offering personalised services to store TV programs. User Georgeinstructs VHS2.0 to store certain programs so that he can watch them at the time of his convenience.

9.5.4.1 Walkthrough

The following happens when the service operates:

Who Perform What Notes IDP Tool Ref.George Request Program

storageThis can be done by selectingwhich programs George wants tohave stored

Out of scope

VHS2.0 Receive Program One of the programs selected byGeorge

Out of scope

VHS2.0 Encrypt Program Protocols to ManageDRM Tools

3.5

VHS2.0 Register Resource Resource is the program selectedby George

Protocol to IdentifyContent Elements

3.1.3

VHS2.0 Make Licence With terms that make use of theprogram eligible as “personal use”

Represent Licence 2.11

VHS2.0 Register Licence Protocol to IdentifyContent Elements

3.1.3

VHS2.0 Make DCI Adding Metadata Represent Content 2.1VHS2.0 Register DCI Protocol to Identify

Content3.1.2

VHS2.0 Make DCF Package Content asFile

4.1.2

VHS2.0 Store DCF For later use by George Out of scope

The following happens when George want to watch a selected program

Who Perform What Notes IDP Tool Ref.

Page 435: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

435

George Access Content Protocol to Access Content 3.6.1George Parse DCF George begins to Play the

programPackage Content as File 4.1.2

George Parse Content Represent Content 2.1George Parse License Represent Licence 2.11George Decrypt Program Protocols to Manage DRM

Tools3.5

Note that the TRU support can be achieved either by Storing Content both on the VHS2.0 server oron George’s SAV.

9.5.4.2 Recommended Actions

Legislation may be required to ensure that a VHS2.0 can actually offer this service.

9.6 Use Case #5 – Alternative Compensation System DMBM

9.6.1 Rationale

Many complain about end users being forced to spoil their digital media experience because of theneed to deal with complicated and unfriendly Technical Protection Measures (TPM) and point to theimmediacy of the “MP3 experience” in accessing, using and sharing music. Some have imagineddistribution systems, generally called as Alternative Compensation Systems (ACS), deployed in agiven (say) juridiction in which the payment of a “content access tax” by all citizens allows them tohave access to all content distributed on (say) all digital platforms and rights holders would becompensated in proportion of the actual use of their content.

Some ACS proponents and supporters claim the system is simple. This is not entirely true becausean ACS requires the deployment of a legal, technology and administrative infrastructure of asignificant complexity. They also claim ACSs are alternative to the use of DRM. While it is true thatACSs do not require enforcement using TPMs they do require quite sophisticated DRM(management) technologies. On the other hand it is true that ACSs do provide probably the best userexperience but it is also true that the borderless nature of the Internet would make a countrydeploying an ACS a potential source of “free” content for other countries.

9.6.2 Solution case #1

The country of Oceanland has decided to deploy an ACS for its citizens and to use the IDP as thetechnology to implement it. Therefore Oceanland mandates that

1. All consumption devices used in Oceanland are Certified Devices implementing the EventReporting Tool

2. All citizens shall pay a yearly amount of 100 oceaners to the Content Usage Monitoring Agency(CUMA)

3. CUMA shalla. Collect the Event Reports generated by Oceanlanders when they Use Contentb. Redistribute the proceeds to the Rights Holders in proportion to the Use of their Content

Page 436: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

436

4. Rights holders who want to benefit from a share of CUMA’s revenues Release their Content as aDCI. The DCI includes the Event Reporting Tool that instructs the Device send an Event Reportto CUMA every time the Content is Used

9.6.2.1 Walkthrough

Rights Holder Joe performs a song and wants to distribute it to the national community

Rights HolderWho Perform What Notes IDP Tool Ref.Joe Make DCI With a Licence permitting use of the

Content within OceanlandRepresent Content 2.1

CUMA Add ER-R See A.5 of AD #3 for a generalexplanation of the technology

2.23

Joe Register DCI Protocol to IdentifyContent

3.1.2

Joe Make DCF Package Content 4.1Joe Distribute DCF Out of scope

End UserEnd User Kate is made aware of a new song. Kate is equipped with a Certified Device that iscapable of interpreting the Event Report Request and sending the correct Event Report whenever asong is Played.

Who Perform What Notes IDP Tool Ref.Kate Access DCF Out of scopeKate Play DCF Represent Content 2.1Device Send Event Report Sent to CUMA 2.23

9.6.2.2 Recommended Actions

There are several aspects of legislation that may be required to implement this DMBM.

9.7 Use Case #6 – Community content sharing DMBM

9.7.1 Rationale

There is a contradiction between digital content sharing within a community, and the potentialeconomic exploitation of that same content within that community.

The IDP can be configured to set up communities that can still rely on the positive side of themultiplicative factor but where the potential economic exploitation is not entirely lost.

9.7.2 Solution case #1

“Active Book Club” (ABC) is the name of a community of individuals who share common featuresregarding the type of content they enjoy. The ABC community operates according to the followingrules:

Page 437: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

437

1. ABC acquires the rights to let its members Use a given number of Content Items delivered in anEncrypted format for free or at a price

2. If available, each member has the right to check out a Content Item for a given duration (e.g. 24hours)

3. For the duration of 24 hours that Content Item cannot be checked out by any other member4. When a member checks in a Content Item, it becomes available to other members to check out5. If all “free” Content Items are checked out and a member badly wants one he can get it from

ABC at a price

9.7.2.1 Walkthrough

Simon finds that the novel he was looking for is now available from ABC. The following isperformed

Who Perform What Notes IDP Tool Ref.Simon Become ABC member Out of scopeSimon Check out DCF Simon’s preferred novel Out of scopeSimon Read DCF For 24 hours Represent Content 2.1Simon Check in DCF Simon’s preferred novel Out of scope

9.7.2.2 Recommended Actions

This is likely to be implementable as a pure business relation between ABC and Rights Holders.

9.8 Use Case #7 – Music sampling DMBM

9.8.1 Rationale

Electronic music can be generated by a process called “sampling”. Sampling involves extractingarbitrary fragments from pre-existing recorded music and producing a Work that can be entirely newor a derivative depending on the nature of fragments.

Many DRM systems prevent users from copying, editing or storing digital resources, even if the userintends to do so for private purposes. This fact makes sampling almost impossible in the digitalspace without circumventing measures applied by DRM systems.

Below a number of walkthroughs are described in which Users can expect to be able to sampleProtected Content even if the Licence does not explicitly Grant this Permission.

9.8.2 Solution case #1

Jah is a DJ who creates and produces music. For the creation and production of his music Jah uses aContent Creation Device (CCD) enabling him to

get Governed Content of his choice edit (e.g. cut, paste, mix, modify) this Content (sources) using the Tools of his choice create, produce and publish new Content (target) using the Tools of his choice

Jah wants to excerpt and modify samples from three different pieces of music (sources) that are onlyavailable as Governed Content Items. Jah performs the following sequence of steps

Page 438: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

438

Who Perform What Notes IDP Tool Ref.Jah Selects Content Jah selects several different pieces

of music as sourcesOut of scope

Jah Selects Licenseterms

Out of scope

Jah Access License Jah reads the License Access License asFile

Jah Un-Package

ContentItem

Package Content 4.1.1

Jah Decrypt Resource Out of scopeJah Create Audio and

videoJah knows that he can sample ifthe Licenses of the sources allowsthe creation of Derivative Works(e.g. Adaptations)

Out of scope

Jah Create Resource Audio-visual Resource file Out of scopeJah Create Metadata Of audio-visual Resource file. NoneRegistrationAgency

Identify ResourcesandMetadata

audio-visual file None

Jah Represent Identifier In Resources and Metadata Represent Content 2.5.1Jah Create Human-

readableLicense

Jah includes information about theoriginal Authors in the Metadataof his Content if the License of thesource requires attribution

Out of scope

RegistrationAgency

Assign:Identifierto

Humanreadablelicense

Lower case "L" because this is nota License

Out of scope

Jah Create Machine-readableLicense

Corresponding to the human-readable license (expressed inverbose XML)

Represent License 2.10

RegistrationAgency

Identify License None 2.5.2

Jah Create ContentItem

Containing Resources Metadata Human-readable license for

the selected jurisdiction License

Represent Content 2.1

Regis Identify Content None

Page 439: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

439

trationAgency

Item

Jah Represent ContentIdentifier

In the Content Item Represent Content 2.5.1

Jah BinariseXML

ContentItem

To reduce memory, transmissionand processing requirements

Represent BinaryXML

2.19

Jah Package Content As file Package Content 4.1.1Jah Release Content file None

9.8.2.1 Recommended Actions

Whether or not Jah's quotes breach the author rights of other's can only be determined by a court oflaw. However, if Jah wants to avoid possible problems he can ask the author's first to see if theyconsider Jah's use of the music samples a legitimate use or if they consider that they constitute abreach of some kind.

For the prevention of abuse there is a possibility to introduce the following restrictions

1 The allowed length and the number of samples is Governed by the License of the sources;2 The License of the sources prevents recombination of samples to form whole works.

Page 440: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

440

5 References

1. Digital Media Project; Approved Document No. 1 – Technical Reference: Use Cases; 2008/102. Digital Media Project; Approved Document No. 2 – Technical Reference: Architecture; 2008/103. Digital Media Project; Approved Document No. 3 – Technical Specification: Interoperable

DRM Platform; 2008/104. Digital Media Project; Approved Document No. 4 – Technical Specification: Value-Chains;

2008/105. Digital Media Project; Approved Document No. 5 – Technical Reference: Registration

Authorities; 2008/106. Digital Media Project; Approved Document No. 6 – Technical Reference: Terminology;

2008/107. Digital Media Project; Approved Document No. 7 – Technical Specification: Reference

Software, 2008/108. Digital Media Project; Approved Document No. 8 – Recommended Practice: End-to-End

Conformance, 2008/109. Digital Media Project; Approved Document No. 9 – Recommended Action: Mapping of

Traditional Rights and Usages to the Digital Space, 2008/1010. The Digital Media Manifesto, http://www.dmpf.org/manifesto/, 2003/09/3011. The Digital Media Project, Procedures of Work,

http://www.dmpf.org/project/procedures_of_work.htm12. ISO/IEC 13818-1, Information technology — Generic coding of moving pictures and associated

audio information — Part 11: IPMP on MPEG-2 systems13. ISO/IEC 14496-12, Information technology – Coding of audio-visual objects (MPEG-4) – Part

12: ISO base media file format14. ISO/IEC 14496-13, Information technology — Coding of audio-visual objects — Part 13:

Intellectual Property Management and Protection (IPMP) extensions15. ISO/IEC 14496-20, Information technology – Coding of audio-visual objects – Part 20:

Lightweight Application Scene Representation16. ISO/IEC 15938-1, Information technology – Multimedia content description interface (MPEG-7)

– Part 1: Systems17. ISO/IEC 15938-2, Information technology – Multimedia content description interface (MPEG-7)

– Part 2: Description Definition Language18. ISO/IEC 15938-5, Information technology – Multimedia content description interface (MPEG-7)

– Part 5: Multimedia Description Schemes19. ISO/IEC 15938-9, Information technology – Multimedia content description interface (MPEG-7)

– Part 9: Profiles and Levels20. ISO/IEC 15938-10, Information technology – Multimedia content description interface (MPEG-

7) – Part 10: Schema Definition21. ISO/IEC 15938-11, Information technology — Multimedia content description interface — Part

11: MPEG-7 profile schemas22. ISO/IEC 21000-2, Information technology – Multimedia framework (MPEG-21) – Part 2:

Digital Item Declaration23. ISO/IEC 21000-2/PDAM 1, Information technology – Multimedia framework (MPEG-21) –

Part 2: Digital Item Declaration, Amendment 1, Presentation of Digital Item

Page 441: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

441

24. ISO/IEC 21000-3, Information technology – Multimedia framework (MPEG-21) – Part 3:Digital Item Identification

25. ISO/IEC 21000-4, Information technology – Multimedia framework (MPEG-21) – Part 4: IPMPComponents

26. ISO/IEC 21000-5, Information technology – Multimedia framework (MPEG-21) – Part 5:Rights Expression Language

27. ISO/IEC 21000-5 Amd 2, Information technology – Multimedia framework (MPEG-21) – Part 5:Rights Expression Language, Amendment 2, Dissemination & Capture Extension (DACX)Profile

28. ISO/IEC 21000-5 Amd 3, Information technology – Multimedia framework (MPEG-21) – Part 5:Rights Expression Language, Amendment 3, Open Access Content (OAC) Profile

29. ISO/IEC 21000-7, Information technology – Multimedia framework (MPEG-21) – Part 7:Digital Item Adaptation

30. ISO/IEC 21000-9, Information technology – Multimedia framework (MPEG-21) – Part 9: Fileformat

31. ISO/IEC 21000-15, Information technology – Multimedia framework (MPEG-21) – Part 15:Event Reporting

32. ISO/IEC 21000-16, Information technology – Multimedia framework (MPEG-21) – Part 16:Binary Format

33. ISO/IEC 21000-18, Information technology – Multimedia framework (MPEG-21) – Part 18:Digital Item Streaming

34. ISO/IEC FDIS 23000-5, Information technology – Multimedia Application Format (MPEG-A),Media Streaming Application Format

35. ISO/IEC 23000-7, Information technology – Multimedia Application Format (MPEG-A), OpenAccess Application Format

36. ISO/IEC 23001-1, Information technology – MPEG Systems Technologies (MPEG-B) – Part 1:Binary MPEG format for XML

37. ISO/IEC 23006-1, Information technology – MPEG Extensible Middleware (MPEG-M) – Part 1:Architecture and Technologies

38. ISO/IEC 23006-2, Information technology – MPEG Extensible Middleware (MPEG-M) – Part 2:Application Programming Interfaces

39. ISO/IEC 23006-3, Information technology – MPEG Extensible Middleware (MPEG-M) – Part 3:Reference Software and Conformance

40. ISO/IEC 23006-4, Information technology – MPEG Extensible Middleware (MPEG-M) – Part 4:Protocols

41. ITU Recommendation X.509 | ISO/IEC 9594-8 – Information technology – Open SystemsInterconnection – The Directory: Public-key and attribute certificate frameworks, 03/00

42. ETSI TS 102 822-3-2 V1.3.1 (2006-01); Broadcast and On-line Services: Search, select, andrightful use of content on personal storage systems ("TV-Anytime"); Part 3: Metadata; Sub-part2: System aspects in a uni-directional environment

43. ETSI TS 102 822-5 v1.1.1; Broadcast and On-line Services: Search, select, and rightful use ofcontent on personal storage systems ("TV-Anytime Phase 1"); Part 5: Rights Management andProtection (RMP) Information for Broadcast Applications

44. IETF RFC 1737, K. Sollins and L. Masinter, Functional Requirements for Uniform ResourceNames, December 1994.

45. IETF RFC 2045 N. Freed and N. Borenstein, Multipurpose Internet Mail Extensions (MIME)Part one: Format of Internet Message Bodies.

Page 442: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

442

46. IETF RFC 2141 R. Moats, URN Syntax, May 1997.47. IETF RFC 2616 R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach and T.

Berners-Lee "Hypertext Transfer Protocol – HTTP/1.1"48. IETF RFC 2459, R. Housley, W. Ford, W. Polk, D. Solo, " Internet X.509 Public Key

Infrastructure Certificate and CRL Profile", January 1999.49. “XML-Encryption Syntax and Processing” - W3C Recommendation 10 December 2002.

http://www.w3.org/TR/xmlenc-core/.50. “XML-Signature Syntax and Processing” - W3C Recommendation 12 February 2002.

http://www.w3.org/TR/xmldsig-core/.51. “XML SchemaXML Schema Part 1: Structures Second Edition W3C Recommendation 28

October 2004”, http://www.w3.org/2001/XMLSchema52. W3C Candidate Recommendation, “XML Path Language (XPath) 2.0”, 3 November 2005,

http://www.w3.org/TR/xpath20/53. OWL Web Ontology Language (http://www.w3.org/TR/owl-features/)54. The Chillout project, http://chillout.dmpf.org55. The Mozilla Public License Version 1.1, http://www.mozilla.org/MPL/MPL-1.1.html56. The Subversion project, http://subversion.tigris.org/57. The Chillout software repository, http://dmp.jdl.ac.cn/svn/chillout58. The Apache Maven project, http://maven.apache.org/59. The Maven Project Object Model, http://maven.apache.org/pom.html60. The Java SE Development Kit (JDK), http://java.sun.com/javase/downloads/index.jsp61. Java Media Framework API (JMF), http://java.sun.com/products/java-media/jmf/62. The Apache Tomcat project, http://tomcat.apache.org/index.html63. The Apache Ant project, http://ant.apache.org/64. Java Architecture for XML Binding, http://java.sun.com/webservices/jaxb/65. The JUnit testing framework, http://www.junit.org/index.htm66. The Apache Ant project, http://ant.apache.org/

Page 443: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

443

6 Acronyms

Acronym MeaningAD Approved DocumentBBL Bitstream Binding LanguageCCD Content Creation DeviceCID Content Identification DeviceCPD Content Provider DeviceDCB DMP Content BroadcastDCF DMP Content FileDCI DMP Content InformationDCS DMP Content StreamingDID Device Identification DeviceDIS Digital Item StreamingDoID Domain Identification DeviceDMD Domain Management DeviceDPD DRM Tool Provider DeviceDRM Digital Rights ManagementER Event ReportERR Event Report RequestIDP Interoperable DRM PlatformGUI Graphical User InterfaceIP Intellectual PropertyIP Internet ProtocolLID License Identification DeviceLLAP Local License Access ProtocolLPD License Provider DeviceOWL Ontology Web LanguagePAV Portable Audio and Video (Device)PDI Presentation of Digital ItemPKI Public Key InfrastructurePXD PAV eXternal DeviceRCAP Remote Content Access ProtocolREL Rights Expression LanguageRLAP Remote License Access ProtocolRMPI Rights Management and Protection InformationRRD Represent Rights DataRTP Real Time ProtocolSAC Secure Authenticated ChannelSAV Stationary Audio and Video (Device)TCG Trusted Computing GroupTCP Trusted Computing PlatformTPD DRM Tool Provider DeviceTPM Technical Protection MeasureTPM Trusted Platform Module

Page 444: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

444

TRU Traditional Right and UsageTS (MPEG-2) Transport StreamTSS Trusted Software StackUDP User Datagram ProtocolURI Universal Resource IdentifierXML eXtensible Markup Language

Page 445: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

445

Annex A – Introduction to some referenced standards

A.1 MPEG-21 Digital Item Declaration

The MPEG-21 Digital Item Declaration (DID) describes a set of abstract terms and concepts to forma useful model for defining Digital Items.The semantic meanings of the principal elements of the Digital Item Declaration Model are:

ContainerA container is a structure that allows items and/or containers to be grouped. These groupings ofitems and/or containers can be used to form logical packages (for transport or exchange) or logicalshelves (for organization). Descriptors allow for the “labeling” of containers with information thatis appropriate for the purpose of the grouping (e.g. delivery instructions for a package, or categoryinformation for a shelf).

ItemAn item is a grouping of sub-items and/or components that are bound to relevant descriptors.Descriptors contain information about the item, as a representation of a work. Items may containchoices, which allow them to be customized or configured. Items may be conditional (on predicatesasserted by selections defined in the choices). An item that contains no sub-items can be consideredan entity -- a logically indivisible work. An item that does contain sub-items can be considered acompilation -- a work composed of potentially independent sub-parts. Items may also containannotations to their sub-parts.

ComponentA component is the binding of a resource to all of its relevant descriptors. These descriptors areinformation related to all or part of the specific resource instance. Such descriptors will typicallycontain control or structural information about the resource (such as bit rate, character set, startpoints or encryption information) but not information describing the “content” within.

AnchorAn anchor binds descriptors to a fragment, which corresponds to a specific location or range withina resource.

DescriptorA descriptor associates information with the enclosing element. This information may be acomponent (such as a thumbnail of an image, or a text component), or a textual statement.

ResourceA resource is an individually identifiable asset such as a video or audio clip, an image, or a textualasset. A resource may also potentially be a physical object. All resources must be locatable via anunambiguous address.

StatementA statement is a literal textual value that contains information, but not an asset. Examples of likelystatements include descriptive, control, revision tracking or identifying information.

Page 446: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

446

A.2 MPEG-21 Digital Item Identification

ISO/IEC 21000-3, Digital Item Identification (DII) [23] provides a method to use existingidentification schemes to identify Digital Items. It relies on existing schemes (such as ISRC) andprovides a uniform mechanism to transport industry identifiers within context of MPEG-21.Therefore the specification satisfies two requirements:

The specification needs to be compatible with existing and future identification schemes; and The specification needs to enable use of such identifiers in the context of MPEG-21 applications.

The rationale behind this approach is that (most) identification schemes are content domain specific.It is the stakeholders in these domains that define important issues with respect with “their”identifiers, including:

Level of Granularity; Scope of uniqueness; Persistence; Reference metadata; Resolution; Governance.

Identification systems themselves have to be identified because it may be so that different identifiersare included within one Digital Item. For instance, to know that a Digital Item has an identifier “5-010356-663694” is meaningless unless it is known that this is an EAN bar code. Thus ISO/IEC21000-3 uses namespaces for this and two methods of providing such identifier namespaces.

Some identifications have their own “native: namespace (e.g. the Digital Object Identifier DOI); A Registration Authority has been established to provide a namespace for other identifier

systems.

A.3 MPEG-21 IPMP Components

MPEG-21 IPMP Components [25] defines:

A language named IPMP Digital Item Declaration Language (IPMP DIDL), which provides fora protected Representation of the DID Model, allowing DID hierarchy which is encrypted,digitally signed or otherwise Governed to be included in a DID document in a schematicallyvalid manner.

The IPMPInfoDescriptor schema, defining structures for expressing Governance informationrelated to a single resource within the Content Item, including all required tools, mechanismsand Licenses.

The IPMPGeneralInfoDescriptor schema, defining structures for expressing generalGovernance information related to the whole Content Item, including all required tools,mechanisms and Licenses.

Page 447: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

447

A.3.1 IPMP DIDL

According to IPMP DIDL, for each entity in the DID Model, an IPMP DIDL element is provided asa protected Representation of that entity. didl and IPMP DIDL element are equally interchangeablewithin a Digital Item; an IPMP DIDL element replaces a didl element whenever that elementrequires protection. For instance, as ISO/IEC 21000-2 DID defines the element <didl:Item>,ISO/IEC 21000-4 defines the equivalent <ipmpdidl:Item> and so on for every element in DIDL.

Each of the IPMP DIDL elements contains identical structure.

1 a maximum of one ipmpdidl:Identifier element, into which an appropriate identifier for theprotected Representation may be placed

2 one ipmpdidl:Info element, into which information about the governance is placed3 one ipmpdidl:Contents element, into which the Governed Content is placed

Below is an example of a Resource (an mp3 file) whose Governance is expressed according to theIPMP DIDL model.

<did:Component><!--Asset protected, referenced externally--><did:Resource mimeType="application/ipmp"><ipmpdidl:ProtectedAsset mimeType="video/mpeg">

<ipmpdidl:Identifier>...</ipmpdidl:Identifier><ipmpdidl:Info>...</ipmpdidl:Info><ipmpdidl:Contents ref="funky1.mp3" mimeType="audio/mpeg"/>

</ipmpdidl:ProtectedAsset></did:Resource>

</did:Component>

Figure 324: IPMP information for a governed resource

In this case, the Resource conveyed in element <ipmpdidl:Contents> (although a reference to it isgiven rather that its inclusion inline) is supposed to be obfuscated or protected in some form, and thenecessary information for gaining access to it in clear form is specified in the<ipmp:IPMPInfoDescriptor> element which is child of <ipmpdidl:Info>.

A.3.2 The IPMPInfoDescriptor

The root element for IPMP Information Descriptor schema is “IPMPInfoDescriptor”, which maycontain information related to the algorithms that protect the associated Content, to the licenses thatgovern them, and an associated digital signature, which is specified in the three elements below:

ipmp:Tool - The algorithms performing (one or more) IPMP functions such as Authentication,Decryption, watermarking, etc. IPMP Tools can be single modules or even a complete DRMsystem. This element specifies the information required to gain access to the protected Resourcepart of the Content Item by conveying algorithm description and configuration settings.

ipmp:RightsDescriptor – This element contains information about the License that Governs theResource part of the DMP Content. The License can be contained within this element, or a

Page 448: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

448

reference to it (or to a License service) is provided instead. If the License is encrypted, anIPMPInfoDescriptor containing information about how to access it is provided as a direct childof ipmp:RightsDescriptor.

dsig:Signature - The dsig:Signature element contains the signature for the IPMPInfoDescriptorelement.

Annex C.3 provides the schema for the DMP profile of IPMPInfoDescriptor.

A.3.3 The IPMPGeneralInfoDescriptor

The IPMPGeneralInfoDescriptor element is used to convey general Governance informationrelating to the complete Content Item, and its use is mandatory whenever one or moreIPMPInfoDescriptor elements are present in the DCI. In other words, a DCI containing one or moreGoverned Resources shall use one and only one IPMPGeneralInfoDescriptor to convey generalGovernance information. This element contains the following elements:

The ipmp:ToolList element, the list of all the IPMP Tools required to access all the Governedobjects part of the DMP Content.

The ipmp:LicenseCollection element, which contains a collection of references to Licenses forall Governed parts of theDMP Content. This element is used with the purpose of giving the “bigpicture” on the governed parts of the file in one point.

The (optional) dsig:Signature element, which contains the signature for the presentipmp:IPMPGeneralInfoDescriptor.

A.4 MPEG-21 Rights Expression Language

The REL comprises of the base and DAC (Dissemination And Capture) profile extensions torepresent rights expressions in a plurality of domains: mobile, downloadable, physical media orbroadcast of digital content.

These permissions to Use Content are represented in a ‘License’, which is composed of two mainparts: the ‘Issuer’, the User granting a Right to another User, and the ‘Grant’, as shown in Figure325.

Figure 325: Overview of an REL License

The Grant specifies a ‘Resource’, the target content to be controlled by the License, a ‘Principal’,the identifier or certificate of the entity which can be a device, a domain or user, a ‘Right’ to

Page 449: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

449

describe what kind of Use is permitted on the Resource, and lastly a set of ‘Condition’ to confine theusage of the resource. The following diagram illustrates the seven basic MPEG REL elements usedto encapsulate these information and their inter-relationships.

A.5 MPEG-2/4 IPMP Extension

MPEG-4 is a standard providing the technological elements allowing production, distribution andaccess to digital content in a wide range of scenarios and applications: from digital cinema to thewireless environment, from the WWW world to the graphical applications, enabling a high levelinteraction between users and content, subject to the rules specified by its rights holder.

The MPEG-2 and MPEG-4 IPMP eXtension (IPMP-X) specification [12[ and [14] defines the IPMPTools as modules that perform (one or more) IPMP functions such as authentication, decryption,watermarking, etc. An MPEG-4 stream may be protected by one or more IPMP Tools, which controlthe access to it: in case of an audio/visual stream, for example, being rendered only by authorizedusers. A User, during the authoring phase, can decide the level of access the content should haveprior the distribution phase take place, i.e. the type and location of IPMP Tools which will governthe content access.

An Identifier long 128-bits is assigned by a Registration Authority identifies each IPMP Tool.

Instantiation of IPMP Tools is performed by a conceptual entity within the Terminal: the ToolManager. When this action is performed, to each instance of IPMP Tool is assigned a uniqueidentifier, which will be used to distinguish such instance among the other Tools. In order to supportmulti-platform implementation, a Registration Authority is assigned to record the instantiation APIand the Messaging API adopted by every specific platform.

An IPMP Tool may be instantiated in a specific point of the decoding chain of an Elementary stream.Such points named Control Points which are normatively defined in [12[ and [14] with hexadecimalvalues. For example, in case on an Audio/Visual Stream, the possible Control Points are defined:

1. between the MPEG-4 Decoding Buffer and the Decoders2. between the Decoders and the Compositor Buffer3. between the latter and the Compositor.

To facilitate the cooperation of multiple Tools in the protection and governance of content, amessage-based architecture is provided. Once instantiated, an IPMP Tool may communicate withthe Terminal or other Tools by means of the Message Router, another conceptual entity within theTerminal, which allows the physical routing of information among two entities (any pair of IPMPTools or between a Tool and the Terminal). The Standard defines a set of messages, which everyIPMP Tool and the Terminal must be able to generate, and interpreter in order to be interoperablewith the other components of the framework.

By means of normative messages, every IPMP Tool at any point may require to mutuallyauthenticate with other components. This functionality grants IPMP Tools to operate in a secureenvironment, enabling the detection of malicious components. After mutual authentication has taken

Page 450: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

450

place, encrypted messages may be exchanged among two parties upon agreement onencryption/decryption key

A.6 TV Anytime Metadata

The information included in this overview, including informative example fragments, is taken from,or based closely upon the text in the published TV-Anytime documents SP002V13 ‘SystemDescription’ and SP003v13 Part A ‘Metadata’ also available as ETSI documents TS02 822- 2Systems and TS 02 822-3-1 Part 3: Metadata. The text here is meant as an informative introductoryoverview and the reader is referred to these specification documents for the fuller authoritative text.

The TV-Anytime metadata system allows the consumer to find, navigate and manage content from avariety of internal and external sources including, for example, enhanced broadcast, interactive TV,Internet and local storage.There is a need to associate metadata with content to facilitate human and automated searching forcontent of interest. Such metadata includes descriptive elements and attractors to aid the searchprocess as well as elements essential to the acquisition, capture and presentation processes; formats,duration, etc. Many of these descriptive elements can be found in electronic programme guides andWeb pages.

The TV-Anytime Phase 1 content description metadata is general information about an audio videoresource that does not change regardless of how the content is published or broadcast. It includesinformation such as the Resource title, textual description, and genre. Typically, the audio videoResource creator assigns content description metadata before publication.

A.6.1 TV-Anytime Content Description Metadata

The DMP Metadata used to describe the Audio–Video Resources is taken from the TV-AnytimeContent Description and includes:

Descriptions of audio –visual resources e.g., television programmes. These descriptions are heldin the ProgramInformationTable. They include things like the title of the programme, a synopsis,the genres it falls under and a list of keywords that can be used to match a search. The followingexample is a ProgramInformationTable containing a single ProgramInformation element and istaken from SP002 [42]

<ProgramInformationTable><ProgramInformation programId="crid://hbc.com/foxes/episode11">

<BasicDescription><Title type="main">

The one where Fox jumps in the Potomac</Title><Synopsis>

Fox goes to Washington and jumps in the Potomac</Synopsis><Keyword>Fox</Keyword><Keyword>Washington</Keyword>

Page 451: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

451

<Keyword>Potomac</Keyword><Genre href="urn:tva:metadata:cs:FormatCS:3.5.7.3" type="main"/>

</BasicDescription><OtherIdentifier>guid://e41a-b456-a876-3e49</OtherIdentifier><OtherIdentifier>urn:mpeg:mpeg21:diid:v-isan:29ef-94ba-53c4-3e7a-4ce8-e-5a45-

98ec-f</OtherIdentifier><MemberOf crid = "crid://hbc.com/foxes/all" index = "11" xsi:type =

"EpisodeOfType"/></ProgramInformation>

</ProgramInformationTable>

Figure 326: The tva-msaf:ProgramInformationTable element

Descriptions of groups of related items of content e.g., all episodes of "Foxes in the Wild".These descriptions are held in the GroupInformationTable. The following example is aGroupInformationTable containing a single ProgramInformation element. The example is notexhaustive. Again from SP002 [42]

<ProgramDescription><GroupInformationTable>

<GroupInformation groupId="crid://hbc.com/foxes/all"><GroupType xsi:type="ProgramGroupTypeType" value="series"/><BasicDescription>

<Title type="main">All episodes of Foxes ever</Title><Synopsis>More Foxes than you can handle</Synopsis><Keyword>Foxes</Keyword><Keyword>all</Keyword><Genre href="urn:tva:metadata:cs:FormatCS:3.5.7" type="main"/>

</BasicDescription><MemberOf xsi:type="MemberOfType" crid="crid://hbc.com/comedy/all"/>

</GroupInformation></GroupInformationTable>

</ProgramDescription>

Figure 327: The tva-msaf:ProgramDescription element

A mapping of cast members to unique identifiers. The identifiers can be used in other metadatainstances making searching easier. This mapping is held in the CreditsInformationTable, whichprovides this brief reference that can be used to key into the more comprehensive role mappingsprovided in the CreditsList that forms a part of the BasicDescription Schema. An illustrativeexample is given below.

<CreditsInformationTable><PersonName personNameId="id1">

<mpeg7:GivenName><![CDATA[Ron]]></mpeg7:GivenName><mpeg7:FamilyName><![CDATA[O'Neal]]></mpeg7:FamilyName>

</PersonName></CreditsInformationTable>

Figure 328: The tva-msaf:CreditsInformationTable element

Page 452: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

452

A.6.2 Documents related through the CRID

Parts of a TV-Anytime document are related through the CRID. Metadata may be distributed acrossmany TV-Anytime documents, but it is always possible to relate appropriate pieces through CRIDs.Note that the TV-Anytime CRID is an aid for relating the provision of Content by Service Providerswith data aggregators, commentators or critics through listings or Electronic Programme Guides(EPGs) using TV-Anytime programme metadata. The Crid is not an authoritative registeredIdentifier for binding Content to its Content Creator, Rights owner or End User. For thisfunctionality the DMP Content ID is specified in Section 3.1 ‘Identify Content’ and associatedRegistration Authorities described in the accompanying DMP Specification Chapter 5 [5].Content Identifiers other than the CRID can be placed in the TV-Anytime metadata under the<OtherIdentifier> tag of the ProgramDescription as shown in the example above.

A.6.2.1 Grouping

Programmes can belong to groups, and groups can belong to other groups. Linking programmedescriptions with group descriptions using CRIDs reflects this relationship in the metadata. Thefollowing explanation is from SP002 [42].

ProgramInformation elements are related to GroupInformation elements through the memberOf orepisodeOf elements within the ProgramInformationTable or GroupInformationTable. I.e., thememberOf element contains a group CRID e.g., Foxes Episode 11 is a member of the Foxes group,which is a group that aggregates all episodes of Foxes. This supports the feature where a viewer orEnd User can say "I like this. What is it? Are there more programmes like this?" By navigating up tothe group the viewer may discover that the group is a member of another group and so forth. Thehigher one goes in the tree the more general the concepts become, i.e., moving from a specificepisode of Foxes, to all episodes of Foxes, to all comedy shows, to all shows.

Although out of scope of the DMP, the TV-Anytime specification specifies a protocol for using theCRID to resolve to the locations of the associated DCI, whether these be Internet server or broadcastschedule based. This is a powerful feature of TV-Anytime which may prove useful to serviceproviders serving DMP DCI structured Content over the Internet.

A.6.2.2 Use of MPEG-7

A metadata schema is the formal definition of the structure and type of metadata. TV-Anytime usesthe MPEG-7 Description Definition Language (DDL) [17] to describe metadata structure as well asthe XML encoding of metadata. DDL is based on XML schema as recommended by W3C in [51].TV-Anytime uses several MPEG-7 datatypes and MPEG-7 Classification Schemes.

A.7 MPEG-21 Digital Item Adaptation

MPEG-21 Digital Item Adaptation (DIA) specifies a comprehensive set of description tools that canbe exchanged and used to enable the optimised adaptation of multimedia content. DIA descriptionsare specified in XML to facilitate the development of applications creating, aggregating, exchangingand consuming the descriptions. Whenever bandwidth is constrained, an efficient XML encodingtechnique is provided by the MPEG-B part 1 standard [36].

Page 453: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

453

Describing the usage context is required for determining what version of the content optimally fitsthis context. For this purpose, DIA provides a set of metadata describing the context in terms ofnetworks and devices characteristics, user preferences as well as natural environment characteristics.These metadata are gathered under the term Usage Environment Descriptions.

DIA specifies the syntax and semantics of tools that assist in the adaptation of Digital Items.DIA is used to satisfy transmission, storage and consumption constraints as well as Quality ofService management.

Figure 329 – The Reference diagram for MPEG-21 DIA

Additionally, DIA specifies content centric metadata facilitating the content adaptation process itself.Firstly, DIA provides a way to express the correspondence between usage context and contentcharacteristics, resulting in possible adaptation operations required for obtaining the optimizedversion. Secondly, it provides the means to perform content adaptation in an efficient and codingformat independent way. In particular, MPEG-21 DIA leverages the use of scalable content such asMPEG-4 Scalable Video Coding (SVC) [6] by specifying a generic tool for describing the high levelbitstream syntax and using this description in order to obtain a new adapted version.

A.8 MPEG-21 File Format

Within the ISO/IEC 14496 MPEG-4 standard there are several parts that define file formats for thestorage of time-based media (such as audio, video etc.). They are all based and derived from theISO Base Media File Format [12], which is a structural, media-independent definition. It has a basicbox-structuring part, and a definition for timed sequences of multi-media (audio, video etc.) in sucha box structured file.

Digital ItemAdapted

Digital Item

DIA Tools

Digital ItemAdaptation Engine

ResourceAdaptation Engine

DescriptionAdaptation Engine

DIA Descriptions

Scope ofstandardization

Digital ItemAdapted

Digital Item

DIA Tools

Digital ItemAdaptation Engine

ResourceAdaptation Engine

DescriptionAdaptation Engine

DIA Descriptions

Scope ofstandardization

Scope ofstandardization

Page 454: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

454

ISO/IEC 21000-9 – File Format [30] defines the storage of an MPEG-21 digital item, with some orall of its ancillary data (such as images, movies, or other non-XML data) within the same file usingthe structural definition of a box-structured file as defined in the ISO Base Media File Format. Thefamily of the storage file formats is based in the concept of box-structured files. These are used in anumber of applications, and it is possible to form ‘multi-purpose’ files which contain the boxesrequired by more than one specification

The general meta-box can be used at the file level for MPEG-21 files to to hold an MPEG-21 DigitalItem Declaration. The meta-box also contains a list of attached resources; which may have localnames, and may be located within the same file or in another file.

The full structural power of the meta-box can be used to give significant flexibility in the structureof the MPEG-21 file:

1 Items (other files) required by the digital item may be included in the same file, or in another(possibly combined together in another file), that could be another MPEG-21 file, another filefrom the family, or of another format entirely;

2 Items (files) included in this or other files may be fragmented, and those fragments interleaved.3 Items (files) may be protected and the signaling of that protection given.4 Items (files) may be named, to make access of them easier.

There are URL forms defined for the items (files) defined in a meta-box, and these forms allowaccess to the items from within or outside the file. The general concept is that the MPEG-21 file is a‘package’ of files that are ‘pre-cached’ at the client, and this cache obviates the need to fetch manyindividual files when accessing an MPEG-21 digital item.

The brand defined for MPEG-21 files is ‘mp21’, and if used as a major-brand, the matching fileextension would be “.m21”. The IANA registry (http://www.iana.org/) should be consulted for theappropriate MIME type.

There is a registration authority which registers and documents the four-character-code code-pointsused in this file-format family, as well as some other code-points related to MPEG-4 systems. Thedatabase is publicly viewable and registration is free (http://www.mp4ra.org/).

A.9 Event reporting

ISO/IEC 21000-15 – Event Reporting [31] is a standard designed to provide rights-holders themeans to monitor the usage of copyrighted content in a commercial environment, namely to specify,detect and act upon “reportable events”. These may relate either to the usage of a Digital Item (DI)by a Peer, or to the occurrence of Events related to the device itself. For example, an Event that isrelated to the usage of a DI could be the rendering (or PLAYing) of resources associated with a DI.Alternatively, an example of an Event that is device-related is when a device discovers (or connectsto) another device, an action has no relation to the usage and/or manipulation of DI’s.

In order to allow DI creators to specify reportable events, Event Reporting introduces the conceptsof an Event Report Request (ER-R) and an Event Report (ER). An ER-R is used to specify:

Page 455: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

455

Conditions that must be fulfilled in order for the reportable Event to “occur”; The syntax/format of the information contained within an Event Report (ER) that is to be

reported when the reportable Event occurs; The intended recipient(s) of the Event Report (devices that need to be notified when the

reportable Event occurs), Parameters related to delivery of the Event Report (e.g. transport mechanism and protocol,

delivery timing constraints, priority, etc.).

A general (non-normative) model which reflects the functional aspects of ER-R handling and thesubsequent creation of ER’s is shown in Figure 330 where a set of functional blocks is shown thattogether can provide the overall Event Reporting functionality. The general model of EventReporting is as follows:

An Event Report Request (ER-R) is delivered to an MPEG-21 device; The ER-R is parsed and the device waits for Events to “occur”. They are “trapped” by the Event

Watchdog which then checks to see if the Events need to be reported on, according to the ER-R’s that the device has received;

When all of the Event conditions associated with an ER-R have been fulfilled, the deviceproceeds to construct an ER which includes the data fields specified in the ER-R;

The device then dispatches the resulting ER towards the ER-R’s specified recipient device(s).

Figure 330: General model of ER-R processing and ER generation

A.10 MPEG-21 Digital Item Streaming

Digital Item Streaming (DIS) is part 18 of the MPEG-21 Standard [32]. DIS defines the BitstreamBinding Language, designed to enable the streaming of XML documents in general and DigitalItems in particular. The Bitstream Binding Langauge also allows the streaming of binary resourcespart of a Digital Item, by employing elements from part 7 of ISO/IEC 21000 which specifies thestructure of the binary resources which are to be streamed along with their declaration. Fragments ofa binary resource are specified using W3C XPATH references.

Page 456: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

456

The Bitstream Binding Language (BBL) enables the description of how a Digital Item and possiblybinary content part of it can be fragmented and inserted (bound) into one of several transportstreams, being the language agnostic to the format of the data it is able to process, as well as the typeof transport streams to be output. Moreover, BBL provides an abstraction layer between a storedDigital Item and its representation in a specific channel. This enables different bitstreams to becreated from a single DI to provide different views/subsets of the DI, different renderings of thecontent and different bitstream formats.As a result, different parts of a DI can be sent over separate channels.

In BBL, each channel to be used is associated with a Handler. A BBL processor will provide in ahandler the functionality required for operating the transport channel with which it is associated.BBL is designed for maximum reusability, so that the binding of resources of type Y to outputstreams of type O can be specified once, and referenced by all DIs using Y and O. In the same way,when metadata is presented in a standard format for a group of Digital Items, a single BBL bindingcan be written for that metadata format and applied to all of the DIs.

A.11 MPEG-7 BiM

The Binary MPEG format for XML, or BiM, part of the MPEG-21 suite of Standards, provides a setof generic technologies for encoding XML documents, addressing a broad spectrum of applicationsand requirements by standardising the methods for transmitting and compressing XML documents.

BiM specifies rules for the preparation of XML documents for efficient transport and storage, bothat the encoding and the decoding side of their transmission; at the receiving end, compressed XMLdocuments are decoded, assembled and possibly partitioned.

The coding possibilities (and therefore the encoding size) of every component of a document isachieved by a contextual decoding combined with the use of the schema information. The BiMstructure encoding is based on the XML Schema notion of "content model" from which theencoding format takes most of its source of optimization.

The advantages provided by BiM, such as high compression efficiency and flexibility infragmentating and processing XML documents is achieved by the sharing knowledge of a schemabetween encoder and decoder. The specification also defines means to compile and transmit schemaknowledge information to enable the decoding of compressed XML documents without a priorischema knowledge at the receiving terminal. This because a schema may change over time, or adecoder may not have a priori knowledge of all schema information. By means of this functionality,additional schema information is sent in such a way that it requires minimal CPU of the decoder tobe able to process it: schemas are binary encoded and carried in a Schema Update Unit (SUU).

The transmission of a BiM document is progressive, i.e., is done through a set of elementary updatescalled Fragment Update Units (FUU). These FUUs are themselves packed into access units (AU),which is the minimal transport packet to which timing information is associated. Each FUU iscomposed of a path (FU Context Path) pointing at the node to be added, updated or deleted to thedecoder's current representation of the document, and a payload (FU Payload) containing the portionof the carried document.

Page 457: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

457

On the other hand, during the decoding of a FU Context Path, the element names and types areprogressively decoded from the root element down to the context node, in a depth first manner. Inthis case, at each step of the tree, traversal codes are assigned to each possible element of the path.In addition to this information, its position among its sibling elements is decoded. Other informationrelated to element substitution and type-casting are also decoded. In the case of payload decoding,the element names and types are progressively decoded from the first element to the last one in abreadth first manner.

Page 458: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

458

Annex B – DMP Schemas

B.1 The Media Streaming Access Protocol Extensions schema

The Media Streaming Access Protocol Extensions schema characterised by the following URI:urn:dmp:idp:mxmaitp:extensions:2009 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:dmp:idp:mxmaitp:extensions:2009"

xmlns:dmp-mxmaitpx="urn:dmp:idp:mxmaitp:extensions:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:mxmaitp="urn:mpeg:mpeg-m:schema:accessipmptoolprotocol:2009"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns:ipmpinfo-

msx="urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007"xmlns:ipmpinfo="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"xmlns:ipmpmsg="urn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007"

elementFormDefault="qualified" attributeFormDefault="unqualified"><import namespace="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo.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"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:accessipmptoolprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmaitp.xsd"/>

<import namespace="urn:mpeg:maf:schema:mediastreaming:accessprotocol:2007"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmaitp.xsd"/>

<import namespace="urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo-msx.xsd"/>

<import namespace="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo.xsd"/>

<import namespace="urn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpmsg.xsd"/>

<element name="RequestDRMToolInfoList" type="dmp-mxmaitpx:RequestDRMToolInfoListType"/>

<complexType name="RequestDRMToolInfoListType"><complexContent>

<extension base="mxmaitp:IPMPToolProtocolType"><sequence>

<element ref="ipmpinfo-msx:DeviceInformation"minOccurs="0"/>

<element ref="dsig:Signature" minOccurs="0"/></sequence>

Page 459: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

459

</extension></complexContent>

</complexType><element name="RequestDRMToolInfoListResponse" type="dmp-

mxmaitpx:RequestDRMToolInfoListResponseType"/><complexType name="RequestDRMToolInfoListResponseType">

<complexContent><extension base="mxmaitp:IPMPToolProtocolType">

<sequence><element ref="dmp-mxmaitpx:DRMToolInfo" minOccurs="0"

maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><element name="DRMToolInfo" type="dmp-mxmaitpx:DRMToolInfoType"/><complexType name="DRMToolInfoType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element ref="ipmpinfo:IPMPToolID" /><element ref="ipmpmsg:ParametricDescription"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType></schema>

Figure 331: The dmp-mxmaitpx schema

B.2 The Media Streaming Domain Extensions schema

The Media Streaming Domain Extensions schema characterised by the following URI:urn:dmp:idp:mxmd:extensions:2009 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:dmp:idp:mxmd:extensions:2009"

xmlns:dmp-mxmdx="urn:dmp:idp:mxmd:extensions:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:mxmd="urn:mpeg:mpeg-m:schema:domain:2009"xmlns:mxmdp="urn:mpeg:mpeg-m:schema:domainprotocol:2009"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

Page 460: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

460

<import namespace="urn:mpeg:mpeg-m:schema:domain:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmd.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:domainprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmdp.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<!-- **************************************************************** --><!-- DomainPublicInfo --><!-- **************************************************************** --><element name="DomainPublicInfo" type="dmp-mxmdx:DomainPublicInfoType"/><complexType name="DomainPublicInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DomainID"/><choice minOccurs="0" maxOccurs="2">

<element ref="dmp-mxmdx:UserInfo"/><element ref="dmp-mxmdx:DeviceInfo"/>

</choice><element ref="mxmd:DomainKey"/><element name="Registration" type="dateTime"/><element ref="mxmd:Expiration"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- UserInfo --><!-- **************************************************************** --><element name="UserInfo" type="dmp-mxmdx:UserInfoType"/><complexType name="UserInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:UserIDList"/><element ref="mxmd:MaximumNumberOfUsers"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateUser"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>

Page 461: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

461

<!-- **************************************************************** --><!-- DeviceInfo --><!-- **************************************************************** --><element name="DeviceInfo" type="dmp-mxmdx:DeviceInfoType"/><complexType name="DeviceInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DeviceIDList"/><element ref="mxmd:MaximumNumberOfDevices"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateDevice"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- DomainManageInfo --><!-- **************************************************************** --><element name="DomainManageInfo" type="dmp-mxmdx:DomainManageInfoType"/><complexType name="DomainManageInfoType">

<complexContent><extension base="mxmd:DomainManageInfoType">

<sequence><element ref="dmp-mxmdx:RelatedDomainInfo"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- RelatedDomainInfo --><!-- **************************************************************** --><element name="RelatedDomainInfo" type="dmp-mxmdx:RelatedDomainInfoType"/><complexType name="RelatedDomainInfoType">

<sequence><element ref="dmp-mxmdx:ParentDomainInfoList" minOccurs="0"/><element ref="dmp-mxmdx:ChildDomainInfoList" minOccurs="0"/>

</sequence></complexType><!-- **************************************************************** --><!-- ParentDomainInfoList --><!-- **************************************************************** --><element name="ParentDomainInfoList" type="dmp-mxmdx:ParentDomainInfoListType"/><complexType name="ParentDomainInfoListType">

<sequence maxOccurs="unbounded">

Page 462: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

462

<element ref="dmp-mxmdx:ParentDomainInfo"/></sequence>

</complexType><!-- **************************************************************** --><!-- ChildDomainInfoList --><!-- **************************************************************** --><element name="ChildDomainInfoList" type="dmp-mxmdx:ChildDomainInfoListType"/><complexType name="ChildDomainInfoListType">

<sequence maxOccurs="unbounded"><element ref="dmp-mxmdx:ChildDomainInfo"/>

</sequence></complexType><!-- **************************************************************** --><!-- ParentDomainInfo --><!-- **************************************************************** --><element name="ParentDomainInfo" type="dmp-mxmdx:ParentDomainInfoType"/><complexType name="ParentDomainInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:DomainKey"/><element ref="mxmd:DomainMembershipCredentials"

minOccurs="0"/><element name="Expiration" type="rel-

sx:ValidityTimeMetered"/><element ref="mxmd:MaximumFrequencyOfUpdateDevice"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateUser"

minOccurs="0"/><element name="GrandParentDomainInfoList" type="dmp-

mxmdx:ParentDomainInfoListType" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- ChildDomainInfo --><!-- **************************************************************** --><element name="ChildDomainInfo" type="dmp-mxmdx:ChildDomainInfoType"/><complexType name="ChildDomainInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DomainID"/><sequence>

<element ref="mxmd:DeviceIDList" minOccurs="0"/>

Page 463: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

463

<element ref="mxmd:UserIDList" minOccurs="0"/></sequence><element name="Expiration" type="rel-

sx:ValidityTimeMetered"/><element ref="dmp-mxmdx:ChildDomainInfoList"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType></schema>

Figure 332: The dmp-mxmdx schema

B.3 The Media Streaming Domain Protocol Extensions schema

The Media Streaming Domain Extensions schema characterised by the following URI:urn:dmp:idp:mxmdp:extensions:2009 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:dmp:idp:mxmdp:extensions:2009"

xmlns:dmp-mxmdpx="urn:dmp:idp:mxmdp:extensions:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:dmp-mxmdx="urn:dmp:idp:mxmd:extensions:2009"xmlns:mxmd="urn:mpeg:mpeg-m:schema:domain:2009"xmlns:mxmdp="urn:mpeg:mpeg-m:schema:domainprotocol:2009"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg-m:schema:domain:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmd.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:domainprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmdp.xsd"/>

<import namespace="urn:dmp:idp:mxmd:extensions:2009"schemaLocation="http://www.dmpf.org/schemas/dmp-mxmdx.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<!-- **************************************************************** --><!-- RequestDomainPublicInfo --><!-- **************************************************************** --><element name="RequestDomainPublicInfo" type="dmp-

mxmdpx:RequestDomainPublicInfoType"/><complexType name="RequestDomainPublicInfoType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainID"/>

Page 464: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

464

<element ref="mxmd:ContentGroupID" minOccurs="0"maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- RequestDomainPublicInfoResponse --><!-- **************************************************************** --><element name="RequestDomainPublicInfoResponse" type="dmp-

mxmdpx:RequestDomainPublicInfoResponseType"/><complexType name="RequestDomainPublicInfoResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="dmp-mxmdx:DomainPublicInfo"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- AddDomainRequest --><!-- **************************************************************** --><element name="AddDomainRequest" type="dmp-mxmdpx:DomainRelationType"/><complexType name="DomainRelationType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element name="ChildDomainID"

type="mxmd:DomainIDType"/><element name="ChildDomainCredentials"

type="mxmd:DomainCredentialType"/><element name="ParentDomainID"

type="mxmd:DomainIDType"/><element name="ParentDomainCredentials"

type="mxmd:DomainCredentialType"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- ConnectChildDomain --><!-- **************************************************************** --><element name="ConnectChildDomain" type="dmp-mxmdpx:ConnectChildDomainType"/><complexType name="ConnectChildDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

Page 465: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

465

<sequence><element ref="dmp-mxmdx:ChildDomainInfo"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- ConnectParentDomain --><!-- **************************************************************** --><element name="ConnectParentDomain" type="dmp-

mxmdpx:ConnectParentDomainType"/><complexType name="ConnectParentDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="dmp-mxmdx:ParentDomainInfo"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- UpdateParentDomain --><!-- **************************************************************** --><element name="UpdateParentDomain" type="dmp-mxmdpx:UpdateParentDomainType"/><complexType name="UpdateParentDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element name="ParentDomainCredentials"

type="mxmd:DomainCredentialType"/><element ref="dmp-mxmdx:ChildDomainInfo"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- UpdateChildDomain --><!-- **************************************************************** --><element name="UpdateChildDomain" type="dmp-mxmdpx:UpdateChildDomainType"/><complexType name="UpdateChildDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element name="ChildDomainID"

type="mxmd:DomainIDType"/><element name="ChildDomainCredentials"

type="mxmd:DomainCredentialType"/>

Page 466: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

466

<element ref="dmp-mxmdx:ParentDomainInfo"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- LeaveDomainRequest --><!-- **************************************************************** --><element name="LeaveDomainRequest" type="dmp-mxmdpx:DomainRelationType"/><!-- The messages below are not ready yet --><!-- **************************************************************** --><!-- DisconnectDomain --><!-- **************************************************************** --><element name="DisconnectDomain" type="dmp-mxmdpx:DomainRelationType"/><!-- **************************************************************** --><!-- ShareDomainRequest --><!-- **************************************************************** --><element name="ShareDomainRequest" type="dmp-mxmdpx:DomainRelationType"/><!-- **************************************************************** --><!-- ShareDomain --><!-- **************************************************************** --><element name="ShareDomain" type="dmp-mxmdpx:ShareDomainType"/><complexType name="ShareDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="dmp-mxmdx:DomainManageInfo"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- DomainDiscoveryRequest --><!-- **************************************************************** --><element name="DomainDiscoveryRequest" type="dmp-

mxmdpx:DomainDiscoveryRequestType"/><complexType name="DomainDiscoveryRequestType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence minOccurs="0" maxOccurs="unbounded"><element name="Condition">

<complexType><choice minOccurs="0"

maxOccurs="unbounded"><element ref="mxmd:DomainID"/><element ref="mxmd:DeviceID"/><element ref="mxmd:UserID"/>

Page 467: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

467

</choice></complexType>

</element></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- DomainDiscoveryResponse --><!-- **************************************************************** --><element name="DomainDiscoveryResponse" type="dmp-

mxmdpx:DomainDiscoveryResponseType"/><complexType name="DomainDiscoveryResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainManagerID"/><element name="Location" type="anyURI" minOccurs="0"/><element ref="mxmd:DomainID" maxOccurs="unbounded"/>

</sequence><attribute name="DMDStatus" type="dmp-mxmdpx:DMDStatusType"/></extension>

</complexContent></complexType><simpleType name="DMDStatusType">

<restriction base="string"><enumeration value="BUSY"/><enumeration value="READY"/>

</restriction></simpleType>

</schema>

Figure 333: The dmp-mxmdpx schema

B.4 The Represent Content Identifier Protocol schema

The Represent Content Identifier Protocol schema characterised by the following URI:urn:mpeg:mpeg-m:schema:identifycontentprotocol:2009 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg-m:schema:identifycontentprotocol:2009"

xmlns:mxmicp="urn:mpeg:mpeg-m:schema:identifycontentprotocol:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns:didl="urn:mpeg:mpeg21:2006:07-DIDL-NS"xmlns:didl-msx="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"

Page 468: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

468

xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="http://www.w3.org/2000/09/xmldsig#"schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>

<import namespace="urn:mpeg:mpeg21:2006:07-DIDL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl-msx.xsd"/>

<import namespace="urn:mpeg:mpeg21:2002:01-DII-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/dii.xsd"/>

<complexType name="IdentifyContentProtocolType" abstract="true"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType><element name="Ack" type="mxmicp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><!-- ******************** --><!-- Identify Content (1) --><!-- ******************** --><element name="IdentifyContentRequest" type="mxmicp:IdentifyContentRequestType"/><complexType name="IdentifyContentRequestType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType">

<sequence><element name="DCI" type="didl:DIDLType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><element name="IdentifyContentResponse"

type="mxmicp:IdentifyContentResponseType"/><complexType name="IdentifyContentResponseType">

Page 469: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

469

<complexContent><extension base="mxmicp:IdentifyContentProtocolType">

<sequence><element name="DCI" type="didl:DIDLType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************** --><!-- Identify Content (2) and Content Element --><!-- **************************************** --><element name="RequestContentIdentifier"

type="mxmicp:RequestContentIdentifierType"/><complexType name="RequestContentIdentifierType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType"/>

</complexContent></complexType><element name="RequestContentElementIdentifier"

type="mxmicp:RequestContentElementIdentifierType"/><complexType name="RequestContentElementIdentifierType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType">

<sequence><element name="ContentElementSignature"

type="dsig:SignatureType"/></sequence>

</extension></complexContent>

</complexType><element name="RequestIdentifierResponse"

type="mxmicp:RequestIdentifierResponseType"/><complexType name="RequestIdentifierResponseType">

<complexContent><extension base="mxmicp:IdentifyContentProtocolType">

<sequence><element ref="dii:Identifier"/><element ref="dsig:SignedInfo" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="RegisterIdentifier" type="mxmicp:RegisterIdentifierType"/><complexType name="RegisterIdentifierType">

<complexContent>

Page 470: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

470

<extension base="mxmicp:IdentifyContentProtocolType"><sequence>

<element ref="dii:Identifier"/><element name="DCISignature" type="dsig:SignatureType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

</schema>

Figure 334: The mxmicp schema

B.5 The Represent Content Authentication Protocol schema

The Represent Content Identifier Authentication Protocal schema characterised by the followingURI: urn:mpeg:mpeg-m:schema:authenticatecontentprotocol:2009

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg-m:schema:authenticatecontentprotocol:2009"

xmlns:mxmaucp="urn:mpeg:mpeg-m:schema:authenticatecontentprotocol:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns:didl="urn:mpeg:mpeg21:2006:07-DIDL-NS"xmlns:didl-msx="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="http://www.w3.org/2000/09/xmldsig#"schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>

<import namespace="urn:mpeg:mpeg21:2006:07-DIDL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl-msx.xsd"/>

<import namespace="urn:mpeg:mpeg21:2002:01-DII-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/dii.xsd"/>

<!-- ****************************************** --><!-- AuthenticateContentProtocolType --><!-- ****************************************** --><complexType name="AuthenticateContentProtocolType" abstract="true">

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent>

Page 471: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

471

</complexType><!-- ****************************************** --><!-- Ack --><!-- ****************************************** --><element name="Ack" type="mxmaucp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmaucp:AuthenticateContentProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><!-- ****************************************** --><!-- AuthenticateContentRequest --><!-- ****************************************** --><element name="AuthenticateContentRequest"

type="mxmaucp:AuthenticateContentRequestType"/><complexType name="AuthenticateContentRequestType">

<complexContent><extension base="mxmaucp:AuthenticateContentProtocolType">

<sequence><choice>

<element name="DCIInfo"type="mxmaucp:InfoType"/>

<element name="DCI" type="didl:DIDLType"/></choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="InfoType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ID" type="anyURI"/><element name="Signature" type="dsig:SignatureType"

minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!-- ****************************************** --><!-- AuthenticateContentElementRequest -->

Page 472: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

472

<!-- ****************************************** --><element name="AuthenticateContentElementRequest"

type="mxmaucp:AuthenticateContentElementRequestType"/><complexType name="AuthenticateContentElementRequestType">

<complexContent><extension base="mxmaucp:AuthenticateContentProtocolType">

<sequence><element name="ContentElementInfo"

type="mxmaucp:InfoType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- ****************************************** --><!-- AuthenticateResponse --><!-- ****************************************** --><element name="AuthenticateResponse" type="mxmaucp:AuthenticateResponseType"/><complexType name="AuthenticateResponseType">

<complexContent><extension base="mxmaucp:AuthenticateContentProtocolType">

<sequence><choice>

<element name="ContentSignature"type="dsig:SignatureType"/>

<element name="AuthenticationResult"type="boolean"/>

<element name="ErrorCode"type="mxmaucp:ErrorCodeType"/>

</choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><simpleType name="ErrorCodeType">

<restriction base="string"><enumeration value="HASH_MISSING"/><enumeration value="HASH_CORRUPTED"/><enumeration value="CONTENT_ID_MISSING"/><enumeration value="MALFORMED_REQUEST"/><enumeration value="UNKNOWN_CONTENT"/><enumeration value="GENERIC_ERROR"/>

</restriction></simpleType>

</schema>

Page 473: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

473

Figure 3351: The mxmsucp schema

B.6 The Represent Device Identifier Protocol schema

The Represent Device Identifier Protocol schema characterised by the following URI:urn:dmp:idp:Represent:DeviceIdentifierProtocol:2007 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:dmp:idp:Represent:DeviceIdentifierProtocol:2007"

xmlns="http://www.w3.org/2001/XMLSchema"xmlns:dmprdip="urn:dmp:idp:Represent:DeviceIdentifierProtocol:2007"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="http://www.w3.org/2000/09/xmldsig#"schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<complexType name="DeviceIdentifierProtocolType" abstract="true"><complexContent>

<extension base="mxmbp:ProtocolType"/></complexContent>

</complexType><element name="Ack" type="dmprdip:AckType"/><complexType name="AckType">

<complexContent><extension base="dmprdip:DeviceIdentifierProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><element name="DeviceIDRequest" type="dmprdip:DeviceIDRequestType"/><complexType name="DeviceIDRequestType">

<complexContent><extension base="dmprdip:DeviceIdentifierProtocolType">

<sequence><element name="VendorID" type="dmprdip:IDType"/><element name="ModelID" type="anyURI"/><element name="SerialNumber" type="anyURI"

minOccurs="0"/><element name="DeviceKey" type="dsig:KeyInfoType"

minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence>

Page 474: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

474

</extension></complexContent>

</complexType><complexType name="IDType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element name="id" type="anyURI"/><element ref="dsig:X509Data"/>

</choice></sequence>

</extension></complexContent>

</complexType><element name="DeviceIDResponse" type="dmprdip:DeviceIDResponseType"/><complexType name="DeviceIDResponseType">

<complexContent><extension base="dmprdip:DeviceIdentifierProtocolType">

<sequence><element name="DeviceID" type="dsig:KeyInfoType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- ################################# --><!-- Proposed new messages for IDP 3.1 --><!-- ################################# --><element name="ValidateDeviceID" type="dmprdip:ValidateDeviceIDType"/><complexType name="ValidateDeviceIDType">

<complexContent><extension base="dmprdip:DeviceIdentifierProtocolType">

<sequence><element name="DeviceIDs"

type="dmprdip:DeviceIDListType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="DeviceIDListType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="DeviceID" type="dsig:KeyInfoType"

minOccurs="0" maxOccurs="unbounded"/>

Page 475: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

475

</sequence></extension>

</complexContent></complexType><element name="ValidateDeviceIDResponse"

type="dmprdip:ValidateDeviceIDResponseType"/><complexType name="ValidateDeviceIDResponseType">

<complexContent><extension base="dmprdip:DeviceIdentifierProtocolType">

<sequence><element name="ValidDeviceIDs"

type="dmprdip:DeviceIDListType" minOccurs="0"/><element name="RevokedDeviceIDs"

type="dmprdip:DeviceIDListType" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

</schema>

Figure 336: The dmprdip schema

B.7 The Represent License Schema

The Represent License schema characterised by the following URI:urn:dmp:idp:Represent:License:2007 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:dmp:idp:Represent:License:2007"

xmlns="http://www.w3.org/2001/XMLSchema"xmlns:dmprl="urn:dmp:idp:Represent:License:2007"xmlns:msd="urn:mpeg:maf:schema:mediastreaming:domain:2007"xmlns:r-msaf="urn:mpeg:mpeg21:2003:01-REL-R-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://www.dmpf.org/schemas/rel-r-msaf.xsd"/>

<import namespace="urn:mpeg:maf:schema:mediastreaming:domain:2007"schemaLocation="http://www.dmpf.org/schemas/msd.xsd"/>

<element name="DomainResource" type="dmprl:DomainResourceType"substitutionGroup="r-msaf:resource"/>

<complexType name="DomainResourceType"><complexContent>

<extension base="r-msaf:Resource"><sequence>

<element ref="msd:DomainID"/><element ref="msd:DomainKey"/>

Page 476: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

476

</sequence></extension>

</complexContent></complexType>

</schema>

Figure 337: The dmprl schema

B.8 The Represent Store Content Protocol schema

The Represent Store Content Protocol schema characterised by the following URI: urn:mpeg:mpeg-m:schema:storecontentprotocol:2009 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg-m:schema:storecontentprotocol:2009"

xmlns:mxmscp="urn:mpeg:mpeg-m:schema:storecontentprotocol:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:bbl="urn:mpeg:mpeg21:2007:01-BBL-NS"xmlns:didl="urn:mpeg:mpeg21:2006:07-DIDL-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg21:2006:07-DIDL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl.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"/>

<import namespace="urn:mpeg:mpeg21:2007:01-BBL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/bbl.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<!-- **************************************************************** --><!-- StoreContentProtocolType --><!-- **************************************************************** --><complexType name="StoreContentProtocolType" abstract="true">

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent></complexType><!-- **************************************************************** --><!-- Ack --><!-- **************************************************************** --><element name="Ack" type="mxmscp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence minOccurs="0">

Page 477: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

477

<element ref="mxmbp:ProtocolResult"/></sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- TransferProtocolRequest --><!-- **************************************************************** --><element name="TransferProtocolRequest"

type="mxmscp:TransferProtocolRequestType"/><complexType name="TransferProtocolRequestType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><element name="TransferProtocol"

type="mxmscp:TransferProtocolType" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="TransferProtocolType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element name="StandardProtocol"type="mxmscp:StandardProtocolType"/>

<element name="CustomProtocol"type="mxmscp:CustomProtocolType"/>

</choice></sequence><attribute name="priority" type="int" use="required"/>

</extension></complexContent>

</complexType><complexType name="StandardProtocolType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="Option"

type="mxmscp:ProtocolOptionType" minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="ProtocolCode" type="mxmscp:ProtocolCodeType"

use="required"/></extension>

Page 478: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

478

</complexContent></complexType><complexType name="CustomProtocolType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="Option"

type="mxmscp:ProtocolOptionType" minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="ProtocolCode" type="string" use="required"/>

</extension></complexContent>

</complexType><simpleType name="ProtocolCodeType">

<restriction base="string"><enumeration value="FTP"/><enumeration value="HTTP"/><enumeration value="HTTPS"/><enumeration value="OBEX"/><enumeration value="SMB"/><enumeration value="SOAP"/><enumeration value="TCP"/><enumeration value="UDP"/>

</restriction></simpleType><complexType name="ProtocolOptionType">

<simpleContent><extension base="string">

<attribute name="Key" type="string"/></extension>

</simpleContent></complexType><!-- **************************************************************** --><!-- TransferProtocolResponse --><!-- **************************************************************** --><element name="TransferProtocolResponse"

type="mxmscp:TransferProtocolResponseType"/><complexType name="TransferProtocolResponseType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><choice>

<element name="ProtocolResult"type="mxmbp:ProtocolResultType"/>

<element name="AdoptedProtocol"type="mxmscp:TransferProtocolType"/>

</choice>

Page 479: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

479

<element ref="dsig:Signature" minOccurs="0"/></sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- ContentUploadRequest --><!-- **************************************************************** --><element name="ContentUploadRequest" type="mxmscp:ContentUploadRequestType"/><complexType name="ContentUploadRequestType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><element name="ContentInfo"

type="mxmscp:ContentInfoType" minOccurs="0" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="ContentInfoType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element name="DCF" type="mxmscp:DCFType"/><element name="DCS" type="mxmscp:DCSType"/>

</choice></sequence>

</extension></complexContent>

</complexType><complexType name="DCFType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ContentID" type="anyURI"/><element name="Size" type="long"/><element name="ContentSignature"

type="dsig:SignatureType"/></sequence>

</extension></complexContent>

</complexType><complexType name="DCSType">

<complexContent>

Page 480: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

480

<extension base="mxmbp:ProtocolBaseType"><sequence>

<choice><element ref="didl:DIDL"/><element name="ContentID" type="anyURI"/>

</choice><element ref="bbl:BBL" minOccurs="0"/><element name="ResourceInfo"

type="mxmscp:ResourceInfoType" minOccurs="0" maxOccurs="unbounded"/><element name="DIFragment" type="string" minOccurs="0"

maxOccurs="unbounded"/></sequence><attribute name="DIFragmentsPending" type="boolean"

use="optional" default="false"/></extension>

</complexContent></complexType><complexType name="ResourceInfoType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ResourceID" type="anyURI"/><element ref="bbl:BBL" minOccurs="0"/><element name="Size" type="long"/><element name="ResourceSignature"

type="dsig:SignatureType"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- ContentUploadResponse --><!-- **************************************************************** --><element name="ContentUploadResponse" type="mxmscp:ContentUploadResponseType"/><complexType name="ContentUploadResponseType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><element name="EntityResult"

type="mxmscp:EntityResultType" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><complexType name="EntityResultType">

Page 481: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

481

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ContentID" type="anyURI"/><element name="ResourceID" type="anyURI"

minOccurs="0"/><choice>

<element name="StoragePath"type="mxmscp:StoragePathType" />

<element name="StorageFailure"type="mxmbp:ProtocolResultType" />

</choice></sequence>

</extension></complexContent>

</complexType><complexType name="StoragePathType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="StorageEntry" type="anyURI" /><element name="EntryInfo"

type="mxmscp:ProtocolOptionType" minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- UploadStatusRequest --><!-- **************************************************************** --><element name="UploadStatusRequest" type="mxmscp:UploadStatusRequestType"/><complexType name="UploadStatusRequestType">

<complexContent><extension base="mxmscp:StoreContentProtocolType">

<sequence><element name="ContentID" type="anyURI"/><element name="ResourceID" type="anyURI"

minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- UploadStatusResponse --><!-- **************************************************************** --><element name="UploadStatusResponse" type="mxmscp:UploadStatusResponseType"/>

Page 482: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

482

<complexType name="UploadStatusResponseType"><complexContent>

<extension base="mxmscp:StoreContentProtocolType"><sequence>

<element name="UploadStatus"type="mxmscp:UploadStatusType"/>

<element name="DisplayString" type="string"minOccurs="0"/>

<element ref="dsig:Signature" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><simpleType name="UploadStatusType">

<restriction base="string"><enumeration value="TO_BE_UPLOADED"/><enumeration value="CURRENTLY_IN_UPLOAD"/><enumeration value="SUCCESSFULLY_UPLOADED"/><enumeration value="UNSUCCESSFULLY_UPLOADED"/><enumeration value="CONTENT_UNKNOWN"/><enumeration value="NOT_SPECIFIED"/>

</restriction></simpleType>

</schema>

Figure 338: The mxmscp schema

B.9 The Represent Store License Protocol schema

The Represent Store License Protocol schema characterised by the following URI: urn:mpeg:mpeg-m:schema:storelicenseprotocol:2009 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg-m:schema:storelicenseprotocol:2009"

xmlns:mxmslp="urn:mpeg:mpeg-m:schema:storelicenseprotocol:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:didl="urn:mpeg:mpeg21:2006:07-DIDL-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg21:2006:07-DIDL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl.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"/>

Page 483: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

483

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<!-- **************************************************************** --><!-- StoreLicenseProtocolType --><!-- **************************************************************** --><complexType name="StoreLicenseProtocolType" abstract="true">

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent></complexType><element name="Ack" type="mxmslp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmslp:StoreLicenseProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- StoreLicenseRequest --><!-- **************************************************************** --><element name="StoreLicenseRequest" type="mxmslp:StoreLicenseRequestType"/><complexType name="StoreLicenseRequestType">

<complexContent><extension base="mxmslp:StoreLicenseProtocolType">

<sequence><element name="ContentItem" type="mxmslp:ItemType"/><element name="ContentElement" type="mxmslp:ItemType"

minOccurs="0" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><complexType name="ItemType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ID" type="anyURI"/><element name="License" type="rel-r:License"

minOccurs="0" maxOccurs="unbounded"/></sequence>

Page 484: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

484

</extension></complexContent>

</complexType></schema>

Figure 339: The mxmslp schema

B.10 The Represent Rights Data Protocol schema

The Represent Store License Protocol schema characterised by the following URI:urn:dmp:idp:Represent:RightsData:2008 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema xmlns:dmprrdp="urn:dmp:idp:Represent:RightsDataProtocol:2008"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS"xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"targetNamespace="urn:dmp:idp:Represent:RightsDataProtocol:2008"xmlns:dmprdip="urn:dmp:idp:Represent:DeviceIdentifierProtocol:2007"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:mpeg21:2002:01-DII-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/dii.xsd"/>

<import namespace="urn:dmp:idp:Represent:DeviceIdentifierProtocol:2007"schemaLocation="http://www.dmpf.org/schemas/dmprdip.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"/>

<!-- **************************************************************** --><!-- RRDProtocolType --><!-- **************************************************************** --><complexType name="RRDProtocolType">

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent></complexType>

<!-- **************************************************************** --><!-- Some Basic Types --><!-- **************************************************************** -->

<simpleType name="IPEntityType"><restriction base="string">

<enumeration value="Work"/><enumeration value="Adaptation"/><enumeration value="Manifestation"/>

Page 485: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

485

<enumeration value="Instance"/><enumeration value="Copy"/><enumeration value="Product"/>

</restriction></simpleType>

<simpleType name="RoleType"><restriction base="string">

<enumeration value="Creator"/><enumeration value="Adaptor"/><enumeration value="Instantiator"/><enumeration value="Producer"/><enumeration value="Distributor"/><enumeration value="EndUser"/>

</restriction></simpleType>

<simpleType name="ActionType"><restriction base="string">

<enumeration value="CreateWork"/><enumeration value="MakeManifestation"/><enumeration value="MakeAdaptation"/><enumeration value="MakeInstance"/><enumeration value="MakeCopy"/><enumeration value="Produce"/><enumeration value="Distribute"/><enumeration value="PublicCommunication"/><enumeration value="Synchronisation"/><enumeration value="EndUserAction"/>

</restriction></simpleType>

<!-- *************** Execution of Actions ******************** --><!-- **************************************************************** --><!-- ExecuteActionReq --><!-- **************************************************************** --><element name="ExecuteActionReq">

<complexType><complexContent>

<extension base="dmprrdp:RRDProtocolType"><sequence>

<element name="actedBy" type="dmprdip:IDType" /><element name="actedOver" type="anyURI" /><element name="action" type="dmprrdp:ActionType"

/><element name="resultsIn" type="anyURI" />

</sequence>

Page 486: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

486

</extension></complexContent>

</complexType></element>

<!-- GetRightsOwner Request and Response --><!-- **************************************************************** --><!-- GetRightsHolderReq --><!-- **************************************************************** --><element name="GetRightsHolderReq">

<complexType><complexContent>

<extension base="dmprrdp:RRDProtocolType"><sequence>

<element ref="dii:Identifier"/></sequence>

</extension></complexContent>

</complexType></element>

<!-- **************************************************************** --><!-- GetRightsHolderResponse --><!-- **************************************************************** --><element name="GetRightsHolderResponse">

<complexType><complexContent>

<extension base="dmprrdp:RRDProtocolType"><sequence>

<element name="IPEntity"type="dmprrdp:IPEntityType"/>

<element name="rightsHolder"type="dmprdip:IDType"/>

</sequence></extension>

</complexContent></complexType>

</element>

<!-- *************** Management of Permissions ************* --><!-- **************************************************************** --><!-- CreatePermissionReq --><!-- **************************************************************** --><element name="CreatePermissionReq">

<complexType><complexContent>

<extension base="dmprrdp:RRDProtocolType">

Page 487: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

487

<sequence><element name="action"

type="dmprrdp:ActionType"/><element name="actedOver" type="anyURI"/><element name="actedBy" type="dmprdip:IDType"/><element name="issuedBy" type="anyURI"/>

</sequence></extension>

</complexContent></complexType>

</element>

<!-- **************************************************************** --><!-- VerifyPermissionReq --><!-- **************************************************************** --><element name="VerifyPermissionReq">

<complexType><complexContent>

<extension base="dmprrdp:RRDProtocolType"><sequence>

<element name="action"type="dmprrdp:ActionType"/>

<element name="actedBy" type="dmprdip:IDType"/><element name="actedOver" type="anyURI"/>

</sequence></extension>

</complexContent></complexType>

</element><!-- *************** ******************** --><element name="Ack" type="dmprrdp:AckType"/><complexType name="AckType">

<complexContent><extension base="dmprrdp:RRDProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="string" use="required"/>

</extension></complexContent>

</complexType><complexType name="IDType">

<sequence><choice>

<element name="id" type="anyURI"/><element ref="dsig:X509Data" minOccurs="0"/>

</choice>

Page 488: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

488

</sequence></complexType>

</schema>Figure 340: The dmprrdp schema

B.11 The Represent Payment Protocol schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2007:01-BBL-NS is givenbelow.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:dmp:idp:represent:PaymentProtocol:2008"

xmlns:dmprpp="urn:dmp:idp:represent:PaymentProtocol:2008"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"xmlns:m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-MX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-mx.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"/>

<!-- **************************************************************** --><!-- PaymentProtocolType --><!-- **************************************************************** --><complexType name="PaymentProtocolType" abstract="true">

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent></complexType><!-- **************************************************************** --><!-- PurchaseRequest --><!-- **************************************************************** --><element name="PurchaseRequest" type="dmprpp:PurchaseRequestType"/><complexType name="PurchaseRequestType">

Page 489: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

489

<complexContent><extension base="dmprpp:PaymentProtocolType">

<sequence><element name="Rate" type="rel-sx:Rate" minOccurs="0"/><element name="PaymentInformation"

type="dmprpp:PaymentInformationType" minOccurs="0"/><element name="CashingInformation"

type="dmprpp:PaymentInformationType" minOccurs="0"/><element name="Target" type="dmprpp:TargetType"/><element name="Signature" type="dsig:SignatureType"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><element name="PaymentInformation" type="dmprpp:PaymentInformationType"/><complexType name="PaymentInformationType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ServiceInformation"

type="dmprpp:ServiceInformationType"/><element name="UserInformation"

type="dmprpp:UserInformationType"/><any namespace="##other" processContents="lax"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><complexType name="ServiceInformationType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ServiceID" type="anyURI"

minOccurs="0"/><element name="ServiceURL" type="anyURI"/>

</sequence></extension>

</complexContent></complexType><complexType name="UserInformationType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="UserID" type="anyURI" minOccurs="0"/><element name="UserAccountID" type="anyURI"/>

Page 490: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

490

</sequence></extension>

</complexContent></complexType><complexType name="TargetType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice minOccurs="0" maxOccurs="unbounded">

<element name="LicenseTemplate" type="rel-r:License"/>

<element name="LicenseInformation"type="dmprpp:LicenseInformationType"/>

</choice><element name="OrderNumber" type="string"/>

</sequence></extension>

</complexContent></complexType><complexType name="LicenseInformationType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="LicenseID" type="anyURI"/><element name="Principal" type="rel-r:Principal"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- PurchaseResponse --><!-- **************************************************************** --><element name="PurchaseResponse" type="dmprpp:PurchaseResponseType"/><complexType name="PurchaseResponseType">

<complexContent><extension base="dmprpp:PaymentProtocolType">

<sequence><choice>

<element name="PurchaseSuccess"type="dmprpp:PurchaseSuccessType"/>

<element name="PurchaseFailure"type="dmprpp:PurchaseFailureType"/>

</choice><element name="OrderNumber" type="string"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

Page 491: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

491

</complexContent></complexType><complexType name="PurchaseSuccessType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="LicenseServiceURL" type="anyURI"

minOccurs="0" maxOccurs="unbounded"/><element name="License" type="rel-r:License"

minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><complexType name="PurchaseFailureType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="FailureCode"

type="dmprpp:PurchaseResponseFailureCodeType"/><element name="DisplayString" type="string"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><simpleType name="PurchaseResponseFailureCodeType">

<restriction base="string"><enumeration value="BUYER_SERVICE_UNAVAILABLE"/><enumeration value="SELLER_SERVICE_UNAVAILABLE"/><enumeration

value="NOT_ENOUGH_CREDIT_ON_BUYER_ACCOUNT"/><enumeration value="REQUEST_REJECTED_BY_BUYER_SERVICE"/><enumeration value="REQUEST_REJECTED_BY_SELLER_SERVICE"/><enumeration value="BUYER_ACCOUNT_UNKNOWN"/><enumeration value="SELLER_ACCOUNT_UNKNOWN"/><enumeration value="UNKNOWN_ERROR_OCCURRED"/>

</restriction></simpleType><!-- **************************************************************** --><!-- PaymentConfirmationRequest --><!-- **************************************************************** --><element name="PaymentConfirmationRequest"

type="dmprpp:PaymentConfirmationRequestType"/><complexType name="PaymentConfirmationRequestType">

<complexContent><extension base="dmprpp:PaymentProtocolType">

Page 492: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

492

<sequence><element name="From"

type="dmprpp:PaymentInformationType"/><element name="Rate" type="rel-sx:Rate"/><element name="Target" type="dmprpp:TargetType"

minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- PaymentConfirmationResponse --><!-- **************************************************************** --><element name="PaymentConfirmationResponse"

type="dmprpp:PaymentConfirmationResponseType"/><complexType name="PaymentConfirmationResponseType">

<complexContent><extension base="dmprpp:PaymentProtocolType">

<sequence><element name="PaymentConfirmationResult"

type="dmprpp:PaymentConfirmationResultType"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><simpleType name="PaymentConfirmationResultType">

<restriction base="string"><enumeration value="PAYMENT_SUCCESSFULLY_EXECUTED"/><enumeration value="NO_RECORD_FOR_REQUESTED_PAYMENT"/><enumeration value="SERVICE_TEMPORARILY_UNAVAILABLE"/><enumeration value="UNKNOWN_ERROR_OCCURRED"/>

</restriction></simpleType>

</schema>Figure 341: The dmprpp schema

Page 493: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

493

Annex C – DMP Profiles of Schemas defined by other Bodies

C.1 The MPEG-21 Digital Item Streaming schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2007:01-BBL-NS is givenbelow.

<?xml version="1.0"?><!-- ***************************************************************************

This XML document was originally developed in the course of development ofthe ISO/IEC 21000 standard (MPEG-21). This XML document contains either apart of the MPEG-21 schema implementation for one or more MPEG-21 tools asspecified by the MPEG-21 Requirements or MPEG-21 examples conformant to theMPEG-21 schemas.

ISO/IEC gives users of MPEG-21 free license to this XML document ormodifications thereof for use in hardware or software products claimingconformance to MPEG-21.

Those intending to use this XML document in hardware or software products areadvised that its use may infringe existing patents. The original developersof this XML document and his/her company, the subsequent editors and theircompanies, and ISO/IEC have no liability for use of this XML document ormodifications thereof in an implementation.

Copyright is not released for non MPEG-21 conforming products. Theorganizations who contributed to this XML document retain the full right touse the code for their own purpose, assign or donate their contribution to athird party and inhibit third parties from using their contribution for nonMPEG-21 conforming products.

Copyright (c) 2007 ISO/IEC.

This XML document is provided for informative purposes only. If any parts ofthis XML document contradict the normative part of the corresponding standarddocument then the normative part should be used as the definitivespecification.

This notice must be included in all copies or derivative works.**************************************************************************** --><!--=======================================

##################################################################### ISO/IEC 21000-18/AMD 1 ## Information technology ## - Multimedia framework (MPEG-21) ## - Part 18: Digital Item Streaming #

Page 494: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

494

# ## Schema for Bitstream Binding Language (BBL) ## #####################################################################

=======================================--><xs:schema

xmlns:bbl="urn:mpeg:mpeg21:2007:01-BBL-NS"xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="urn:mpeg:mpeg21:2007:01-BBL-NS"elementFormDefault="qualified" attributeFormDefault="unqualified"version="1.0.0"><!-- ********************************************************************* --><!-- Abstract Type Declarations ** --><!-- ********************************************************************* --><xs:attribute name="name" type="xs:QName"/><!-- *********************************************************************** --><xs:attribute name="value" type="xs:string"/><!-- *********************************************************************** --><xs:attribute name="match" type="xs:string" default="."/><!-- *********************************************************************** --><xs:attribute name="handler" type="xs:IDREF"/><!-- *********************************************************************** --><xs:attribute name="encoding" type="xs:IDREF"/><!-- *********************************************************************** --><xs:attributeGroup name="timeScheme">

<xs:attribute name="timeScheme"><xs:simpleType>

<xs:union><xs:simpleType><xs:restriction base="xs:NCName">

<xs:enumeration value="npt"/><xs:enumeration value="smpte-24"/><xs:enumeration value="smpte-24-drop"/><xs:enumeration value="smpte-25"/><xs:enumeration value="smpte-30"/><xs:enumeration value="smpte-30-drop"/><xs:enumeration value="smpte-50"/><xs:enumeration value="smpte-60"/><xs:enumeration value="smpte-60-drop"/><xs:enumeration value="mp7t"/><xs:enumeration value="clock"/>

</xs:restriction></xs:simpleType><xs:simpleType><xs:restriction base="xs:string">

<xs:pattern value="frac\(\d+\)"/></xs:restriction>

Page 495: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

495

</xs:simpleType><xs:simpleType><xs:restriction base="xs:string"/>

</xs:simpleType></xs:union>

</xs:simpleType></xs:attribute>

</xs:attributeGroup><!-- *********************************************************************** --><xs:complexType name="SourceElementType" abstract="true">

<xs:attribute name="xmlSource" type="xs:string" use="optional"/><xs:attribute name="binarySource" type="xs:string" use="optional"/><xs:attribute name="bSrcNamespace" type="xs:string" use="optional"/><xs:attributeGroup ref="bbl:timeScheme"/>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="IdentifiableElementType">

<xs:complexContent><xs:extension base="bbl:SourceElementType">

<xs:attribute name="id" type="xs:ID" use="optional"/></xs:extension>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="BBLDocType">

<xs:complexContent><xs:extension base="bbl:IdentifiableElementType">

<xs:sequence><xs:element name="Declarations" minOccurs="0"

type="bbl:DeclarationsType"/><xs:element name="Variables" minOccurs="0" type="bbl:VariablesType"/><xs:element name="Register" type="bbl:RegisterType"/><xs:choice maxOccurs="unbounded"><xs:element name="Packet" type="bbl:PacketType"/><xs:element name="PacketStream" type="bbl:PacketStreamType"/>

</xs:choice></xs:sequence>

</xs:extension></xs:complexContent>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="AbstractVarType">

<xs:complexContent><xs:extension base="bbl:SourceElementType">

<xs:attribute ref="bbl:name" use="required"/><xs:attribute ref="bbl:value" use="required"/>

</xs:extension>

Page 496: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

496

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="ParametricElementType">

<xs:complexContent><xs:extension base="bbl:IdentifiableElementType">

<xs:sequence minOccurs="0" maxOccurs="unbounded"><xs:any namespace="##other"/>

</xs:sequence></xs:extension>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="AbstractPacketType" abstract="true">

<xs:complexContent><xs:extension base="bbl:IdentifiableElementType">

<xs:sequence><xs:element name="HandlerParams" type="bbl:ParametricElementType" minOccurs="0"/>

</xs:sequence><xs:attribute ref="bbl:handler" use="optional"/><xs:attribute name="deliveryCondition" type="xs:string" use="optional"/><xs:attribute name="deliveryTime" type="xs:string" use="optional"/><xs:attribute name="repeat" type="xs:float" use="optional" default="0.0"/>

</xs:extension></xs:complexContent>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="AbstractContentType">

<xs:complexContent><xs:extension base="bbl:IdentifiableElementType">

<xs:sequence maxOccurs="unbounded"><xs:any namespace="##any" processContents="skip"/>

</xs:sequence></xs:extension>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="TimingElementType">

<xs:attribute ref="bbl:match" use="optional"/><xs:attribute ref="bbl:value" use="required"/>

</xs:complexType><!-- *********************************************************************** --><!-- ** BBL concrete types ** --><!-- *********************************************************************** --><xs:element name="BBL">

<xs:complexType><xs:choice maxOccurs="unbounded">

Page 497: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

497

<xs:element name="Instance" type="bbl:InstanceType"/><xs:element name="Binding" type="bbl:BindingType"/>

</xs:choice></xs:complexType>

</xs:element><!-- *********************************************************************** --><xs:complexType name="InstanceType">

<xs:complexContent><xs:extension base="bbl:BBLDocType"/>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="BindingType">

<xs:complexContent><xs:extension base="bbl:BBLDocType"/>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="DeclarationsType">

<xs:sequence maxOccurs="unbounded"><xs:any namespace="##any" processContents="skip"/>

</xs:sequence></xs:complexType><!-- *********************************************************************** --><xs:complexType name="VariablesType">

<xs:complexContent><xs:extension base="bbl:SourceElementType">

<xs:choice maxOccurs="unbounded"><xs:element name="Define" type="bbl:DefineType"/><xs:element name="Assign" type="bbl:AbstractVarType"/>

</xs:choice></xs:extension>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="RegisterType">

<xs:complexContent><xs:extension base="bbl:SourceElementType">

<xs:sequence><xs:element name="Handler" type="bbl:HandlerType"

minOccurs="0" maxOccurs="unbounded"/><xs:element name="Encoder" type="bbl:EncoderType"

minOccurs="0" maxOccurs="unbounded"/><xs:element name="Multiplexer" type="bbl:MultiplexerType"

minOccurs="0" maxOccurs="unbounded"/><xs:element name="BSD" type="bbl:BSDType"

minOccurs="0" maxOccurs="unbounded"/>

Page 498: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

498

<xs:element name="Function" type="bbl:FunctionType"minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence></xs:extension>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="DefineType">

<xs:complexContent><xs:extension base="bbl:AbstractVarType">

<xs:attribute name="type" type="bbl:VarType" use="optional" default="xs:int"/></xs:extension>

</xs:complexContent></xs:complexType><xs:simpleType name="VarType">

<xs:restriction base="xs:QName"><xs:enumeration value="xs:integer"/><xs:enumeration value="xs:int"/><xs:enumeration value="xs:long"/><xs:enumeration value="xs:short"/><xs:enumeration value="xs:decimal"/><xs:enumeration value="xs:float"/><xs:enumeration value="xs:double"/><xs:enumeration value="xs:boolean"/><xs:enumeration value="xs:byte"/><xs:enumeration value="xs:QName"/><xs:enumeration value="xs:dateTime"/><xs:enumeration value="xs:base64Binary"/><xs:enumeration value="xs:hexBinary"/><xs:enumeration value="xs:unsignedInt"/><xs:enumeration value="xs:unsignedShort"/><xs:enumeration value="xs:unsignedByte"/><xs:enumeration value="xs:time"/><xs:enumeration value="xs:date"/><xs:enumeration value="xs:anySimpleType"/>

</xs:restriction></xs:simpleType><!-- *********************************************************************** --><xs:complexType name="HandlerType">

<xs:complexContent><xs:extension base="bbl:ParametricElementType">

<xs:attribute name="handlerURI" type="xs:anyURI" use="required"/></xs:extension>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="EncoderType">

Page 499: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

499

<xs:complexContent><xs:extension base="bbl:ParametricElementType">

<xs:attribute name="encoderURI" type="xs:anyURI"use="required"/>

</xs:extension></xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="MultiplexerType">

<xs:choice maxOccurs="unbounded"><xs:element name="Channel" type="bbl:ChannelType"/><xs:element name="Multiplexer" type="bbl:MultiplexerType"/>

</xs:choice><xs:attribute ref="bbl:handler" use="optional"/><xs:attribute name="mode" use="required"><xs:simpleType>

<xs:restriction base="xs:NCName"><xs:enumeration value="packetCount"/><xs:enumeration value="bandwidth"/>

</xs:restriction></xs:simpleType>

</xs:attribute><xs:attribute name="weight" type="xs:int" use="optional" default="1"/>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="ChannelType">

<xs:attribute name="id" type="xs:ID" use="required"/><xs:attribute name="weight" type="xs:int" use="optional" default="1"/>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="BSDType">

<xs:attribute name="namespace" type="xs:anyURI" use="required"/><xs:attribute name="bsSchemaLocation" type="xs:anyURI" use="required"/><xs:attribute name="fromBinarySource" type="xs:boolean" use="optional"

default="true"/></xs:complexType><!-- *********************************************************************** --><xs:complexType name="FunctionType">

<xs:annotation><xs:documentation>Defines an ECMAScript based XPath function</xs:documentation>

</xs:annotation><xs:simpleContent><xs:extension base="xs:string">

<xs:attribute ref="bbl:name" use="required"/><xs:attribute name="args" type="xs:nonNegativeInteger" use="optional" default="0"/>

</xs:extension></xs:simpleContent>

Page 500: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

500

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="PacketType">

<xs:complexContent><xs:extension base="bbl:AbstractPacketType">

<xs:sequence><xs:element name="Content" type="bbl:AbstractContentType"/><xs:element name="Variables" type="bbl:VariablesType" minOccurs="0"/>

</xs:sequence></xs:extension>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="PacketStreamType">

<xs:complexContent><xs:extension base="bbl:AbstractPacketType">

<xs:sequence><xs:choice><xs:element name="ContentTemplate" type="bbl:AbstractContentType"/><xs:element name="Bind" type="bbl:BindType"/>

</xs:choice><xs:element name="Variables" type="bbl:VariablesType" minOccurs="0"/>

</xs:sequence></xs:extension>

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><xs:complexType name="IncludeType">

<xs:complexContent><xs:extension base="bbl:SourceElementType">

<xs:sequence><xs:element name="Timing" type="bbl:TimingType" minOccurs="0"/><xs:element name="Fragmentation" type="bbl:FragmentationType"

minOccurs="0"/><xs:choice minOccurs="0" maxOccurs="unbounded"><xs:element ref="bbl:Attribute"/><xs:element name="Include" type="bbl:IncludeType"/><xs:element name="Encode" type="bbl:EncodeType"/>

</xs:choice></xs:sequence><xs:attribute name="ref" type="xs:string" use="required"/><xs:attribute name="depth" use="optional" default="0">

<xs:simpleType><xs:restriction base="xs:integer">

<xs:minInclusive value="-1"/></xs:restriction>

</xs:simpleType>

Page 501: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

501

</xs:attribute><xs:attribute name="height" use="optional" default="0">

<xs:simpleType><xs:restriction base="xs:integer">

<xs:minInclusive value="-1"/></xs:restriction>

</xs:simpleType></xs:attribute><xs:attribute ref="bbl:match" use="optional"/>

</xs:extension></xs:complexContent>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="TimingType">

<xs:choice maxOccurs="unbounded"><xs:element name="DeliveryTimes" type="bbl:TimingElementType"></xs:element><xs:element name="Durations" type="bbl:TimingElementType"></xs:element>

</xs:choice></xs:complexType><!-- *********************************************************************** --><xs:complexType name="FragmentationType">

<xs:sequence><xs:element name="FragmentAt" type="bbl:FragmentAtType" minOccurs="0"

maxOccurs="unbounded"/><xs:element name="Size" type="bbl:SizeType" minOccurs="0"/><xs:element name="Duration" type="bbl:DurationType" minOccurs="0"/><xs:element name="Count" type="bbl:CountType" minOccurs="0"

maxOccurs="unbounded"/><xs:element name="Constraint" type="bbl:ConstraintType" minOccurs="0"

maxOccurs="unbounded"/></xs:sequence><xs:attribute name="attributes" use="optional" default="none"><xs:simpleType>

<xs:restriction base="xs:NCName"><xs:enumeration value="none"/><xs:enumeration value="id"/><xs:enumeration value="context"/>

</xs:restriction></xs:simpleType>

</xs:attribute></xs:complexType><!-- *********************************************************************** --><xs:complexType name="FragmentAtType">

<xs:attribute ref="bbl:match" use="required"/><xs:attribute name="deliveryTime" type="xs:string" use="optional"/>

Page 502: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

502

<xs:attribute name="repeat" type="xs:string" use="optional" default="0"/><xs:attribute name="id" type="xs:ID" use="optional"/>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="SizeType">

<xs:attribute name="value" type="xs:positiveInteger" use="required"/></xs:complexType><!-- *********************************************************************** --><xs:complexType name="DurationType">

<xs:attribute name="value" type="xs:string" use="required"/></xs:complexType><!-- *********************************************************************** --><xs:complexType name="CountType">

<xs:attribute name="value" type="xs:positiveInteger" use="required"/><xs:attribute ref="bbl:match" use="optional"/>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="ConstraintType">

<xs:attribute name="type" use="required"><xs:simpleType>

<xs:restriction base="xs:NCName"><xs:enumeration value="first"/><xs:enumeration value="last"/><xs:enumeration value="unbroken"/>

</xs:restriction></xs:simpleType>

</xs:attribute><xs:attribute ref="bbl:match" use="optional"/>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="EncodeType">

<xs:complexContent><xs:extension base="bbl:ParametricElementType">

<xs:attribute ref="bbl:encoding" use="required"/><xs:attribute ref="bbl:match" use="optional"/>

</xs:extension></xs:complexContent>

</xs:complexType><!-- *********************************************************************** --><xs:complexType name="BindType">

<xs:complexContent><xs:extension base="bbl:SourceElementType">

<xs:sequence minOccurs="0"><xs:element name="Binding" type="bbl:BindingType"/>

</xs:sequence><xs:attribute name="binding" type="xs:string" use="optional"/>

</xs:extension>

Page 503: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

503

</xs:complexContent></xs:complexType><!-- *********************************************************************** --><!-- ** Elts & Attrs used in BBL documents attached to non-bbl elements ** --><!-- *********************************************************************** --><xs:element name="value-of">

<xs:complexType><xs:complexContent>

<xs:extension base="bbl:SourceElementType"><xs:attribute name="select" type="xs:string" use="required"/>

</xs:extension></xs:complexContent>

</xs:complexType></xs:element><!-- *********************************************************************** --><xs:element name="Attribute">

<xs:complexType><xs:complexContent>

<xs:extension base="bbl:IdentifiableElementType"><xs:sequence><xs:element ref="bbl:value-of" minOccurs="0"/>

</xs:sequence><xs:attribute ref="bbl:name" use="required"/><xs:attribute ref="bbl:match" use="optional"/>

</xs:extension></xs:complexContent>

</xs:complexType></xs:element><!-- *********************************************************************** --><!-- ** BBL attributes which are transmitted as part of xml fragments ** --><!-- *********************************************************************** --><!-- *********************************************************************** --><xs:attribute name="context" type="xs:string" fixed="$addr"/><!-- *********************************************************************** --><xs:attribute name="rap" type="xs:boolean" fixed="true"/><!-- *********************************************************************** --><xs:attribute name="seqNo" type="xs:integer"/><!-- *********************************************************************** --><xs:attribute name="processable" type="xs:boolean" default="true"/>

</xs:schema>

Figure 342: The bbl schema

C.2 The MPEG-21 Digital Item Adaptation schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2003:01-DIA-NS is givenbelow.

Page 504: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

504

<?xml version="1.0"?><!-- Digital Item Adaptation ISO/IEC 21000-7 --><!-- Schema for basic schema tools --><schema

version="ISO/IEC 21000-7"id="DIA.xsd"targetNamespace="urn:mpeg:mpeg21:2003:01-DIA-NS"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:dia="urn:mpeg:mpeg21:2003:01-DIA-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<!-- ################################################ --><!-- Definition of DIA Base Types --><!-- ################################################ -->

<complexType name="DIABaseType" abstract="true"><complexContent>

<restriction base="anyType"><attribute name="id" type="ID" use="optional"/>

</restriction></complexContent>

</complexType>

<complexType name="DIADescriptionType" abstract="true"><complexContent>

<extension base="dia:DIABaseType"/></complexContent>

</complexType>

<!-- ################################################ --><!-- Definition of Description Metadata Type --><!-- ################################################ --><complexType name="DescriptionMetadataType">

<complexContent><extension base="dia:DIABaseType">

<sequence><element name="ClassificationSchemeAlias"

maxOccurs="unbounded"><complexType>

<complexContent><extension base="dia:DIABaseType">

<attribute name="alias"type="NMTOKEN" use="required"/>

<attribute name="href"type="anyURI" use="required"/>

</extension></complexContent>

Page 505: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

505

</complexType></element>

</sequence></extension>

</complexContent></complexType>

<!-- ################################################ --><!-- Definition of DIA Root Element --><!-- ################################################ -->

<element name="DIA"><complexType>

<sequence><element name="DescriptionMetadata" type="dia:DescriptionMetadataType"

minOccurs="0"/><choice maxOccurs="unbounded">

<element name="Description" type="dia:DIADescriptionType"/><element name="Reference" type="dia:ReferenceType"/>

</choice></sequence>

</complexType></element>

<element name="DIADescriptionUnit" type="dia:DIABaseType"/>

<!-- ################################################ --><!-- Definition of Reference --><!-- ################################################ -->

<complexType name="ReferenceType"><attribute name="uri" type="anyURI" use="required"/>

</complexType>

</schema>

Figure 343: The dia schema

C.3 The Media Streaming Application Format DIDL Profile schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2006:07-DIDL-NS is givenbelow.

<?xml version="1.0"?><schema targetNamespace="urn:mpeg:mpeg21:2006:07-DIDL-NS"

xmlns:didl="urn:mpeg:mpeg21:2006:07-DIDL-NS"

Page 506: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

506

xmlns="http://www.w3.org/2001/XMLSchema"xmlns:didl-msx="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"xmlns:ipmpinfo="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"xmlns:ipmpdidl="urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS"xmlns:didmodel="urn:mpeg:mpeg21:2002:02-DIDMODEL-NS"xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:rel-mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:erl="urn:mpeg:mpeg21:2005:01-ERL-NS"elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">

<import namespace="urn:mpeg:mpeg21:2002:02-DIDMODEL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didmodel.xsd"/>

<import namespace="urn:mpeg:mpeg21:2002:01-DII-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/dii.xsd"/>

<import namespace="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo.xsd"/>

<import namespace="urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpdidl.xsd"/>

<import namespace="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl-msx.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"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-MX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-mx.xsd"/>

<import namespace="urn:mpeg:mpeg21:2005:01-ERL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/erl.xsd"/>

<!--=========================================================--><attributeGroup name="ID_ATTRS">

<attribute name="id" type="ID" use="optional"/></attributeGroup><element name="DIDL" type="didl:DIDLType"/><complexType name="DIDLType">

<sequence><element ref="didl:DIDLInfo" minOccurs="0" maxOccurs="unbounded"/><element ref="didmodel:Item"/>

</sequence><anyAttribute namespace="##other" processContents="lax"/>

</complexType><element name="DIDLInfo" type="didl:DIDLInfoType"/><complexType name="DIDLInfoType">

<sequence><element ref="dsig:Signature"/>

</sequence>

Page 507: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

507

</complexType><element name="Item" type="didl:ItemType" substitutionGroup="didmodel:Item"/><complexType name="ItemType">

<complexContent><extension base="didmodel:ItemType">

<sequence><element ref="didmodel:Descriptor"

maxOccurs="unbounded"/><choice minOccurs="0" maxOccurs="unbounded">

<element ref="didmodel:Item"/><element ref="didmodel:Component"/>

</choice><element ref="didmodel:Presentation" minOccurs="0"

maxOccurs="unbounded"/></sequence><attributeGroup ref="didl:ID_ATTRS"/>

</extension></complexContent>

</complexType><element name="Descriptor" type="didl:DescriptorType"

substitutionGroup="didmodel:Descriptor"/><complexType name="DescriptorType">

<complexContent><extension base="didmodel:DescriptorType">

<sequence><element ref="didmodel:Statement"/>

</sequence></extension>

</complexContent></complexType><element name="Statement" type="didl:StatementType"

substitutionGroup="didmodel:Statement"/><complexType name="StatementType" mixed="true">

<complexContent mixed="true"><extension base="didmodel:StatementType">

<sequence><choice>

<element ref="dii:Identifier"/><element ref="dii:RelatedIdentifier"/><element ref="didl-msx:Metadata"/><element

ref="ipmpinfo:IPMPGeneralInfoDescriptor"/><element name="ContentElementSignature"

type="dsig:SignatureType"/><element name="LaserObject" type="base64Binary"/><element ref="erl:ERR" maxOccurs="unbounded"/>

</choice>

Page 508: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

508

</sequence><attribute name="mimeType" type="string"/><attribute name="ref" type="anyURI"/>

</extension></complexContent>

</complexType><element name="Component" type="didl:ComponentType"

substitutionGroup="didmodel:Component"/><complexType name="ComponentType">

<complexContent><extension base="didmodel:ComponentType">

<sequence><element ref="didmodel:Resource"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="Resource" type="didl:ResourceType"

substitutionGroup="didmodel:Resource"/><complexType name="ResourceType" mixed="true">

<complexContent mixed="true"><extension base="didmodel:ResourceType">

<sequence><any namespace="##any" processContents="lax"

minOccurs="0"/></sequence><attribute name="mimeType" type="string" use="required"/><attribute name="ref" type="anyURI"/><attribute name="encoding" type="string"/><attribute name="contentEncoding" type="NMTOKENS"/>

</extension></complexContent>

</complexType><element name="Choice" type="didl:ChoiceType" substitutionGroup="didmodel:Choice"/><complexType name="ChoiceType">

<complexContent><extension base="didmodel:ChoiceType">

<sequence><element ref="didmodel:Condition" minOccurs="0"

maxOccurs="unbounded"/><element ref="didmodel:Descriptor" minOccurs="0"

maxOccurs="unbounded"/><element ref="didmodel:Selection"

maxOccurs="unbounded"/></sequence><attribute name="minSelections" type="nonNegativeInteger"/>

Page 509: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

509

<attribute name="maxSelections" type="positiveInteger"/><attribute name="default" type="IDREFS"/><attribute name="choice_id" type="ID"/><anyAttribute namespace="##other" processContents="lax"/>

</extension></complexContent>

</complexType><element name="Selection" type="didl:SelectionType"

substitutionGroup="didmodel:Selection"/><complexType name="SelectionType">

<complexContent><extension base="didmodel:SelectionType">

<sequence><element ref="didmodel:Condition" minOccurs="0"

maxOccurs="unbounded"/><element ref="didmodel:Descriptor" minOccurs="0"

maxOccurs="unbounded"/></sequence><attribute name="select_id" type="ID" use="required"/><anyAttribute namespace="##other" processContents="lax"/>

</extension></complexContent>

</complexType><element name="Condition" type="didl:ConditionType"

substitutionGroup="didmodel:Condition"/><complexType name="ConditionType">

<complexContent><extension base="didmodel:ConditionType">

<attribute name="require" type="IDREFS"/><attribute name="except" type="IDREFS"/>

</extension></complexContent>

</complexType><element name="Presentation" type="didl:PresentationType"

substitutionGroup="didmodel:Presentation"/><complexType name="PresentationType">

<complexContent><extension base="didmodel:PresentationType">

<sequence><any namespace="##any" processContents="lax"

minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="mimeType" type="string" use="required"/><attribute name="precedence" type="string"/><attribute name="ref" type="anyURI"/>

</extension></complexContent>

Page 510: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

510

</complexType></schema>

Figure 344: The didl schema

C.4 The Media Streaming DIDL Extensions Schema

The schema characterised by the following URI:urn:mpeg:maf:schema:mediastreaming:DIDLextensions is given below.

<?xml version="1.0"?><schema targetNamespace="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"

xmlns:didl-msx="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:ipmpdidl="urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">

<import namespace="http://www.w3.org/2000/09/xmldsig#"schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>

<import namespace="urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpdidl.xsd"/>

<import namespace="urn:mpeg:mpeg7:smp:schema:2001"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mpeg7smp.xsd"/>

<element name="Metadata" type="didl-msx:MetadataType"/><complexType name="MetadataType">

<sequence><choice>

<group ref="ipmpdidl:IPMPDIDLChildGroup" minOccurs="0"/><element ref="didl-msx:StructuredData" maxOccurs="unbounded"/>

</choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="id" type="anyURI" use="optional"/>

</complexType><element name="StructuredData" type="didl-msx:StructuredDataType"/><complexType name="StructuredDataType">

<sequence><any namespace="##any" processContents="lax" minOccurs="0"/>

</sequence><attribute name="ref" type="anyURI" default="urn:mpeg:ms-maf:tva:2006:07"/>

</complexType></schema>

Figure 345: The didl-msx schema

Page 511: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

511

C.5 The DIDModel Schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2002:02-DIDMODEL-NS isgiven below.

<?xml version="1.0"?><!--*******************************************************************************

This XML document was originally developed in the course of development of the ISO/IEC21000 standard (MPEG-21). This XML document contains either a part of the MPEG-21 schemaimplementation for one or more MPEG-21 tools as specified by the MPEG-21 Requirements orMPEG-21 examples conformant to the MPEG-21 schemas.

ISO/IEC gives users of MPEG-21 free license to this XML document or modifications thereoffor use in hardware or software products claiming conformance to MPEG-21.

Those intending to use this XML document in hardware or software products are advised thatits use may infringe existing patents. The original developers of this XML document and his/hercompany, the subsequent editors and their companies, and ISO/IEC have no liability for use ofthis XML document or modifications thereof in an implementation.

Copyright is not released for non MPEG-21 conforming products. The organizations whocontributed to this XML document retain the full right to use the code for their own purpose,assign or donate their contribution to a third party and inhibit third parties from using theircontribution for non MPEG-21 conforming products.

Copyright (c) 2001-2005 ISO/IEC.

This XML document is provided for informative purposes only. If any parts of this XMLdocument contradict the normative part of the corresponding standard document then thenormative part should be used as the definitive specification.

This notice must be included in all copies or derivative works.****************************************************************************--><!--=======================================##################################################################### ISO/IEC 21000-2:2005 ## Information technology ## Multimedia framework (MPEG-21) ## Part 2: Digital Item Declaration ## ## Schema for DID Model abstract Types ## #####################################################################=======================================-->

Page 512: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

512

<schema targetNamespace="urn:mpeg:mpeg21:2002:02-DIDMODEL-NS"xmlns:didmodel="urn:mpeg:mpeg21:2002:02-DIDMODEL-NS"xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"attributeFormDefault="unqualified" version="0.01">

<complexType name="DIDBaseType" abstract="true"/><element name="Container" type="didmodel:ContainerType" abstract="true"/><complexType name="ContainerType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Item" type="didmodel:ItemType" abstract="true"/><complexType name="ItemType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Descriptor" type="didmodel:DescriptorType" abstract="true"/><complexType name="DescriptorType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Statement" type="didmodel:StatementType" abstract="true"/><complexType name="StatementType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Component" type="didmodel:ComponentType" abstract="true"/><complexType name="ComponentType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Anchor" type="didmodel:AnchorType" abstract="true"/><complexType name="AnchorType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Fragment" type="didmodel:FragmentType" abstract="true"/><complexType name="FragmentType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType>

Page 513: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

513

<element name="Condition" type="didmodel:ConditionType" abstract="true"/><complexType name="ConditionType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Choice" type="didmodel:ChoiceType" abstract="true"/><complexType name="ChoiceType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Selection" type="didmodel:SelectionType" abstract="true"/><complexType name="SelectionType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Resource" type="didmodel:ResourceType" abstract="true"/><complexType name="ResourceType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Annotation" type="didmodel:AnnotationType" abstract="true"/><complexType name="AnnotationType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Assertion" type="didmodel:AssertionType" abstract="true"/><complexType name="AssertionType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType><element name="Presentation" type="didmodel:PresentationType" abstract="true"/><complexType name="PresentationType" abstract="true">

<complexContent><extension base="didmodel:DIDBaseType"/>

</complexContent></complexType>

</schema>

Figure 346: The didmodel schema

Page 514: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

514

C.6 The Digital Item Identification schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2002:01-DII-NS is given below.

<?xml version="1.0" encoding="UTF-8"?><!--############################################################--><!-- --><!-- XML Schema for ISO/IEC 21000-3 --><!-- --><!--############################################################--><xsd:schema targetNamespace="urn:mpeg:mpeg21:2002:01-DII-NS"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns="urn:mpeg:mpeg21:2002:01-DII-NS"version="0.02">

<!--#########################################ISO/IEC 21000-3 Identifier Element#########################################-->

<xsd:element name="Identifier" type="xsd:anyURI"/><!--#############################################

ISO/IEC 21000-3 Related Identifier Element#############################################-->

<xsd:element name="RelatedIdentifier"><xsd:complexType>

<xsd:simpleContent><xsd:extension base="xsd:anyURI">

<xsd:attribute name="relationshipType" type="xsd:anyURI"/></xsd:extension>

</xsd:simpleContent></xsd:complexType>

</xsd:element><!--#############################################

ISO/IEC 21000-3 Type Element#############################################-->

<xsd:element name="Type" type="xsd:anyURI"/></xsd:schema>

Figure 347: The dii schema

C.7 The Event Reporting schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2002:01-DII-NS is given below.

<?xml version="1.0"?><!--============================================================--><!--============================================================--><!-- --><!-- Schema for ERL XML Document Type --><!-- -->

Page 515: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

515

<!--============================================================--><!--============================================================--><xsd:schema targetNamespace="urn:mpeg:mpeg21:2005:01-ERL-NS"

xmlns:erl="urn:mpeg:mpeg21:2005:01-ERL-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS"xmlns:dia="urn:mpeg:mpeg21:2003:01-DIA-NS"xmlns:mpeg7="urn:mpeg:mpeg7:smp:schema:2001"xmlns:xsd="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-DIA-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/dia.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2002:01-DII-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/dii.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg7:smp:schema:2001"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mpeg7smp.xsd"/>

<!-- ############################################ --><!-- 7.1 Definition of an Event Report Request --><!-- ############################################ --><xsd:element name="ERR">

<xsd:complexType><xsd:sequence>

<xsd:element ref="erl:ERRDescriptor"/><xsd:element ref="erl:ERSpecification"/><xsd:element ref="erl:EventConditionDescriptor"/>

</xsd:sequence></xsd:complexType>

</xsd:element><!-- ######################################## --><!-- 7.2 Definition of ERRDescriptor --><!-- ######################################## --><xsd:element name="ERRDescriptor">

<xsd:complexType><xsd:sequence>

<xsd:element name="LifeTime" minOccurs="0"><xsd:complexType>

<xsd:sequence><xsd:element name="StartTime"

type="xsd:dateTime"/><xsd:element name="EndTime"

type="xsd:dateTime"/></xsd:sequence>

Page 516: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

516

</xsd:complexType></xsd:element><xsd:element name="Modification" type="erl:ModificationType"

maxOccurs="unbounded"/><xsd:element name="Priority" default="2" minOccurs="0">

<xsd:simpleType><xsd:restriction base="xsd:string">

<xsd:enumeration value="0"/><xsd:enumeration value="1"/><xsd:enumeration value="2"/><xsd:enumeration value="3"/><xsd:enumeration value="4"/><xsd:enumeration value="5"/>

</xsd:restriction></xsd:simpleType>

</xsd:element></xsd:sequence>

</xsd:complexType></xsd:element><xsd:complexType name="ModificationType">

<xsd:sequence><xsd:element ref="erl:PeerId"/><xsd:element ref="erl:UserId"/><xsd:element name="Time" type="xsd:dateTime"/><xsd:element name="Description" type="erl:DescriptionType"

minOccurs="0"/></xsd:sequence>

</xsd:complexType><!-- ############################################### --><!-- 7.3 Definition of ER Descriptor within an ER-R --><!-- ############################################### --><xsd:element name="ERSpecification">

<xsd:complexType><xsd:sequence>

<xsd:element ref="dii:Identifier" minOccurs="0"/><xsd:element name="ERDescription" type="erl:DescriptionType"

minOccurs="0"/><xsd:element name="AccessControl" type="xsd:anyType"

minOccurs="0"/><xsd:element name="ERPayloadSpecification">

<xsd:complexType><xsd:sequence>

<xsd:element name="ERIdentifier"minOccurs="0">

<xsd:complexType><xsd:simpleContent>

Page 517: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

517

<xsd:extensionbase="xsd:anyURI">

<xsd:attributename="baseId" type="xsd:boolean"/>

</xsd:extension></xsd:simpleContent>

</xsd:complexType></xsd:element><xsd:element name="PeerId" minOccurs="0"/><xsd:element name="UserId" minOccurs="0"/><xsd:element name="Time" minOccurs="0"/><xsd:element name="Location"

minOccurs="0"/><xsd:element name="DIOperation"

minOccurs="0" maxOccurs="unbounded"/><xsd:element name="DomainData"

minOccurs="0" maxOccurs="unbounded"><xsd:complexType>

<xsd:attribute name="reportTag"type="xsd:string" use="optional"/>

<xsd:attribute name="semantics"type="xsd:anyURI" use="required"/>

<xsd:attribute name="syntax"type="xsd:anyURI" use="required"/>

<xsd:attribute name="value"type="xsd:string" use="optional"/>

</xsd:complexType></xsd:element><xsd:element name="DIMetadata"

minOccurs="0" maxOccurs="unbounded"><xsd:complexType>

<xsd:sequence><xsd:element

name="DISelection" minOccurs="0">

<xsd:complexType>

<xsd:choice>

<xsd:element name="DISelectionViaDII" minOccurs="0"/>

<xsd:element name="DISelectionViaRelatedDII" minOccurs="0"/>

<xsd:element name="DISelectionViaXPath" minOccurs="0"/>

<xsd:element name="DISelectionViaMetadataElements" minOccurs="0"maxOccurs="unbounded">

Page 518: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

518

<xsd:complexType>

<xsd:attribute name="nameSpace"/>

<xsd:attribute name="itemType"/>

<xsd:attribute name="itemName"/>

<xsd:attribute name="internalOperator"/>

<xsd:attribute name="itemValue"/>

<xsd:attribute name="externalOperator"/>

</xsd:complexType>

</xsd:element>

</xsd:choice>

</xsd:complexType></xsd:element><xsd:element

name="DIMetadataElement" minOccurs="0" maxOccurs="unbounded">

<xsd:complexType>

<xsd:attribute name="nameSpace"/>

<xsd:attribute name="tagName"/>

</xsd:complexType></xsd:element><!-- Selection of the DI

from which the metadata will be reported --><!-- Selection of the

metadata to be reported --></xsd:sequence>

</xsd:complexType></xsd:element>

</xsd:sequence></xsd:complexType>

</xsd:element><xsd:element name="ERFormatSpecification">

<xsd:complexType><xsd:choice>

Page 519: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

519

<xsd:element name="Ref"type="xsd:anyURI"/>

<xsd:element name="XMLschema"type="xsd:anyURI"/>

<xsd:element name="MimeType"type="xsd:string"/>

</xsd:choice></xsd:complexType>

</xsd:element><xsd:element name="ERDeliverySpecification" minOccurs="0"

maxOccurs="unbounded"><xsd:complexType>

<xsd:sequence><xsd:element name="Recipient"

minOccurs="0" maxOccurs="unbounded" type="erl:RecipientType"/><xsd:element name="DeliveryTime"

type="erl:TimeType"/><xsd:element name="DITransportService">

<xsd:complexType><xsd:sequence><xsd:element ref="rel-

r:serviceReference"/></xsd:sequence>

</xsd:complexType></xsd:element>

</xsd:sequence></xsd:complexType>

</xsd:element><xsd:element ref="erl:EmbeddedERR" minOccurs="0"

maxOccurs="unbounded"/></xsd:sequence>

</xsd:complexType></xsd:element><!-- ############################################ --><!-- 7.4 Definition of Event Condition Descriptor --><!-- ############################################ --><xsd:element name="EventConditionDescriptor">

<xsd:complexType><xsd:group ref="erl:EventConditionGroup" maxOccurs="unbounded"/>

</xsd:complexType></xsd:element>

<xsd:group name="EventConditionGroup"><xsd:sequence>

<xsd:element name="Operator1" type="erl:ExternalOperator"minOccurs="0" maxOccurs="unbounded"/>

Page 520: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

520

<xsd:element name="TimeCondition" minOccurs="0"maxOccurs="unbounded">

<xsd:complexType><xsd:group ref="erl:TimeConditionGroup"

maxOccurs="unbounded"/></xsd:complexType>

</xsd:element><xsd:element name="Operator2" type="erl:ExternalOperator"

minOccurs="0" maxOccurs="unbounded"/><xsd:element name="DIOperationCondition" minOccurs="0"

maxOccurs="unbounded"><xsd:complexType>

<xsd:group ref="erl:DIOperationConditionGroup"maxOccurs="unbounded"/>

</xsd:complexType></xsd:element><xsd:element name="Operator3" type="erl:ExternalOperator"

minOccurs="0" maxOccurs="unbounded"/><xsd:element name="PeerCondition" minOccurs="0"

maxOccurs="unbounded"><xsd:complexType>

<xsd:group ref="erl:PeerConditionGroup"maxOccurs="unbounded"/>

</xsd:complexType></xsd:element><xsd:element name="Operator4" type="erl:ExternalOperator"

minOccurs="0" maxOccurs="unbounded"/></xsd:sequence>

</xsd:group>

<xsd:group name="TimeConditionGroup"><xsd:sequence>

<xsd:element name="TimeEvent" type="erl:TimeType" /><xsd:element name="Operator" type="erl:ExternalOperator" minOccurs="0"

maxOccurs="unbounded"/></xsd:sequence>

</xsd:group>

<xsd:group name="DIOperationConditionGroup"><xsd:sequence>

<xsd:element name="DIOperationEvent"><xsd:complexType>

<xsd:sequence><xsd:element ref="erl:UserId" minOccurs="0"

maxOccurs="unbounded"/><xsd:element ref="erl:PeerId" minOccurs="0"

maxOccurs="unbounded"/>

Page 521: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

521

<xsd:element name="Operation" type="xsd:anyURI"/><xsd:element name="DII" type="xsd:anyURI"

maxOccurs="unbounded"/><xsd:element name="RelatedDII" type="xsd:anyURI"

minOccurs="0" maxOccurs="unbounded"/></xsd:sequence>

</xsd:complexType></xsd:element><xsd:element name="Operator" type="erl:ExternalOperator" minOccurs="0"

maxOccurs="unbounded"/></xsd:sequence>

</xsd:group>

<xsd:group name="PeerConditionGroup"><xsd:sequence>

<xsd:element name="PeerEvent"><xsd:complexType>

<xsd:sequence><xsd:any namespace="##any" processContents="lax"

maxOccurs="unbounded"/></xsd:sequence><xsd:attributeGroup ref="erl:InternalOperator"/>

</xsd:complexType></xsd:element><xsd:element name="Operator" type="erl:ExternalOperator" minOccurs="0"

maxOccurs="unbounded"/></xsd:sequence>

</xsd:group><!-- ############################################ --><!-- 8.1 Definition of ER --><!-- ############################################ --><xsd:element name="ER">

<xsd:complexType><xsd:sequence>

<xsd:element ref="erl:ERDescriptor"/><xsd:element ref="erl:ERData"/><xsd:element ref="erl:EmbeddedERR" minOccurs="0"

maxOccurs="unbounded"/></xsd:sequence>

</xsd:complexType></xsd:element><!-- ########################################## --><!-- 8.2 Definition of Event Report Descriptor --><!-- ########################################## --><xsd:element name="ERDescriptor">

<xsd:complexType><xsd:sequence>

Page 522: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

522

<xsd:element name="Description" type="erl:DescriptionType"minOccurs="0"/>

<xsd:element name="Recipient" type="erl:RecipientType"/><xsd:element name="Status">

<xsd:complexType><xsd:attribute name="value" type="xsd:boolean"

default="false"/></xsd:complexType>

</xsd:element><xsd:element name="Modification" type="erl:ModificationType"

maxOccurs="unbounded"/><xsd:element name="ERSource">

<xsd:complexType><xsd:choice>

<xsd:element ref="erl:ERR" minOccurs="0"/><xsd:element name="ERRReference"

type="xsd:anyURI" minOccurs="0"/><xsd:element name="OtherSource"

type="xsd:anyURI" minOccurs="0"/></xsd:choice>

</xsd:complexType></xsd:element>

</xsd:sequence></xsd:complexType>

</xsd:element><!-- ############################################ --><!-- 8.3 Definition of ERData --><!-- ############################################ --><xsd:element name="ERData">

<xsd:complexType><xsd:sequence>

<xsd:element ref="erl:PeerId" minOccurs="0"/><xsd:element ref="erl:UserId" minOccurs="0"/><xsd:element name="Time" type="xsd:dateTime" minOccurs="0"/><xsd:element name="Location" type="mpeg7:PlaceType"

minOccurs="0"/><xsd:element name="DII" type="xsd:anyURI" minOccurs="0"/><xsd:element name="RelatedDII" type="xsd:anyURI"

minOccurs="0"/><xsd:element name="DIOperation" type="xsd:anyURI"

minOccurs="0"/><xsd:element name="ReportedDomainData" minOccurs="0"

maxOccurs="unbounded"><xsd:complexType>

<xsd:sequence><xsd:any namespace="##any"

processContents="lax" maxOccurs="unbounded"/>

Page 523: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

523

</xsd:sequence><xsd:attribute name="name" type="xsd:string"/>

</xsd:complexType></xsd:element><xsd:element name="ReportedDIMetadata" minOccurs="0"

maxOccurs="unbounded"><xsd:complexType>

<xsd:sequence><xsd:any namespace="##any"

processContents="lax" maxOccurs="unbounded"/></xsd:sequence><xsd:attribute name="name" type="xsd:string"/>

</xsd:complexType></xsd:element>

</xsd:sequence></xsd:complexType>

</xsd:element><!-- ############################################### --><!-- 8.4 Definition of Embedded Event Report Request --><!-- ############################################### --><xsd:element name="EmbeddedERR">

<xsd:complexType><xsd:choice maxOccurs="unbounded">

<xsd:element ref="erl:ERR"/><xsd:element name="ERRReference" type="xsd:anyURI"/>

</xsd:choice></xsd:complexType>

</xsd:element><!-- ############################################ --><!-- 9.1 Definition of Time types --><!-- ############################################ --><xsd:complexType name="TimeType">

<xsd:choice minOccurs="0"><xsd:element name="SpecificTime" type="erl:SpecificTime"/><xsd:element name="ElapsedTime" type="erl:ElapsedTime"/><xsd:element name="PeriodicTime" type="erl:PeriodicTime"/>

</xsd:choice></xsd:complexType><xsd:complexType name="SpecificTime">

<xsd:choice><xsd:element name="OnTime" type="xsd:dateTime"/><xsd:sequence>

<xsd:element name="AfterOn" type="xsd:dateTime"minOccurs="0"/>

<xsd:element name="BeforeOn" type="xsd:dateTime"minOccurs="0"/>

</xsd:sequence>

Page 524: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

524

</xsd:choice></xsd:complexType><xsd:complexType name="ElapsedTime">

<xsd:sequence><xsd:element name="StartElapse" type="erl:StartElapse" minOccurs="0"/><xsd:element name="EndElapse" type="erl:EndElapse" minOccurs="0"/>

</xsd:sequence></xsd:complexType><xsd:complexType name="StartElapse">

<xsd:choice><xsd:element name="sTime" type="xsd:time"/><xsd:element name="sDuration" type="xsd:duration"/>

</xsd:choice></xsd:complexType><xsd:complexType name="EndElapse">

<xsd:choice><xsd:element name="eTime" type="xsd:time"/><xsd:element name="eDuration" type="xsd:duration"/>

</xsd:choice></xsd:complexType><xsd:complexType name="PeriodicTime">

<xsd:sequence><xsd:element name="Start" type="xsd:dateTime"/><xsd:element name="DayofWeek" type="erl:DayofWeekType"

minOccurs="0"/><xsd:element name="Period" type="xsd:duration"/><xsd:element name="Duration" type="xsd:duration"/><xsd:element name="End" type="xsd:dateTime"/>

</xsd:sequence></xsd:complexType><!-- Definition of DayofWeekType datatype --><xsd:simpleType name="DayofWeekType">

<xsd:restriction base="xsd:string"><xsd:pattern value="\-?[1-5]{1}W[1-7]{1}D"/>

</xsd:restriction></xsd:simpleType><!-- ############################################ --><!-- 9.2 Definition of PeerId --><!-- ############################################ --><xsd:element name="PeerId" type="xsd:anyURI"/><!-- ############################################ --><!-- 9.3 Definition of UserId --><!-- ############################################ --><xsd:element name="UserId" type="xsd:anyURI"/><!-- ############################################ --><!-- 9.4 Definition of External operator --><!-- ############################################ -->

Page 525: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

525

<xsd:complexType name="ExternalOperator"><xsd:attribute name="name" type="erl:ExternalOprType"/>

</xsd:complexType><xsd:simpleType name="ExternalOprType">

<xsd:restriction base="xsd:string"><xsd:enumeration value="AND"/><xsd:enumeration value="OR"/><xsd:enumeration value="XOR"/><xsd:enumeration value="NOT"/><xsd:enumeration value="("/><xsd:enumeration value=")"/>

</xsd:restriction></xsd:simpleType>

<!-- ############################################ --><!-- 9.5 Definition of Internal operator --><!-- ############################################ --><xsd:attributeGroup name="InternalOperator">

<xsd:attribute name="name" type="erl:InternalOprType"/><xsd:attribute name="location" type="erl:InternalOprLocationType"/>

</xsd:attributeGroup><xsd:simpleType name="InternalOprType">

<xsd:restriction base="xsd:string"><xsd:enumeration value="&gt;"/><xsd:enumeration value="&lt;"/><xsd:enumeration value="&gt;="/><xsd:enumeration value="&lt;="/><xsd:enumeration value="&gt;&lt;"/><xsd:enumeration value="="/><xsd:enumeration value="+"/><xsd:enumeration value="-"/><xsd:enumeration value="*"/><xsd:enumeration value="/"/><xsd:enumeration value="%"/><xsd:enumeration value="("/><xsd:enumeration value=")"/>

</xsd:restriction></xsd:simpleType><xsd:simpleType name="InternalOprLocationType">

<xsd:restriction base="xsd:string"><xsd:enumeration value="prefix"/><xsd:enumeration value="infix"/><xsd:enumeration value="postfix"/>

</xsd:restriction></xsd:simpleType><!-- ############################################ --><!-- 9.6 Definition of DescriptionType -->

Page 526: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

526

<!-- ############################################ --><xsd:simpleType name="DescriptionType">

<xsd:restriction base="xsd:string"/></xsd:simpleType><!-- ############################################ --><!-- 9.8 Definition of RecipientType --><!-- ############################################ --><xsd:complexType name="RecipientType">

<xsd:sequence><xsd:element ref="erl:PeerId"/><xsd:element ref="erl:UserId" minOccurs="0"/>

</xsd:sequence></xsd:complexType>

</xsd:schema>

Figure 348: The erl schema

C.8 The Media Streaming IPMPDIDL schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS isgiven below.

<?xml version="1.0"?><schema targetNamespace="urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS"

xmlns="http://www.w3.org/2001/XMLSchema"xmlns:ipmpdidl="urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS"xmlns:ipmpinfo="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"xmlns:didmodel="urn:mpeg:mpeg21:2002:02-DIDMODEL-NS"elementFormDefault="qualified" attributeFormDefault="unqualified"

version="0.01"><import namespace="urn:mpeg:mpeg21:2002:02-DIDMODEL-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didmodel.xsd"/><import namespace="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo.xsd"/><element name="Item" type="ipmpdidl:ItemType" substitutionGroup="didmodel:Item"/><complexType name="ItemType">

<complexContent><extension base="didmodel:ItemType">

<sequence><group ref="ipmpdidl:IPMPDIDLChildGroup"/>

</sequence></extension>

</complexContent></complexType><element name="Statement" type="ipmpdidl:StatementType"

substitutionGroup="didmodel:Statement"/><complexType name="StatementType" mixed="true">

Page 527: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

527

<complexContent mixed="true"><extension base="didmodel:StatementType">

<sequence><group ref="ipmpdidl:IPMPDIDLChildGroup"/>

</sequence></extension>

</complexContent></complexType><element name="Resource" type="ipmpdidl:ResourceType"

substitutionGroup="didmodel:Resource"/><complexType name="ResourceType" mixed="true">

<complexContent mixed="true"><extension base="didmodel:ResourceType">

<sequence><group ref="ipmpdidl:IPMPDIDLChildGroup"/>

</sequence></extension>

</complexContent></complexType><element name="Presentation" type="ipmpdidl:PresentationType"

substitutionGroup="didmodel:Presentation"/><complexType name="PresentationType" mixed="true">

<complexContent mixed="true"><extension base="didmodel:PresentationType">

<sequence><group ref="ipmpdidl:IPMPDIDLChildGroup"/>

</sequence></extension>

</complexContent></complexType><!-- elements from here onward are unique to the IPMP DIDL Representation--><group name="IPMPDIDLChildGroup">

<sequence><element ref="ipmpdidl:Identifier" minOccurs="0"/><element ref="ipmpdidl:Info"/><element ref="ipmpdidl:Contents"/>

</sequence></group><element name="Contents">

<complexType mixed="true"><sequence>

<any namespace="##any" processContents="lax" minOccurs="0"/></sequence><attribute name="ref" type="anyURI"/>

</complexType></element><element name="Info">

Page 528: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

528

<complexType mixed="true"><sequence>

<element ref="ipmpinfo:IPMPInfoDescriptor"maxOccurs="unbounded"/>

</sequence></complexType>

</element><element name="Identifier">

<complexType mixed="true"><sequence>

<any namespace="##any" processContents="lax" minOccurs="0"/></sequence>

</complexType></element><element name="ProtectedAsset" type="ipmpdidl:ProtectedAssetType"/><complexType name="ProtectedAssetType">

<sequence><group ref="ipmpdidl:IPMPDIDLChildGroup"/>

</sequence><attribute name="mimeType" type="string" use="required"/><attribute name="contentEncoding" type="string"/>

</complexType></schema>

Figure 349: The ipmpdidl schema

C.9 The Media Streaming IPMPINFO schema

The schema characterised by the following URI: urn:mpeg:mpeg21:2004:01-IPMPINFO-NS isgiven below.

<?xml version="1.0"?><schema targetNamespace="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"

xmlns="http://www.w3.org/2001/XMLSchema"xmlns:ipmpinfo="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:ipmpmsg="urn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007"xmlns:mpeg4ipmp="urn:mpeg:mpeg4:IPMPSchema:2002"xmlns:ipmpinfo-

msx="urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007"elementFormDefault="qualified" attributeFormDefault="unqualified"

version="0.01"><import namespace="http://www.w3.org/2000/09/xmldsig#"

schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>

Page 529: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

529

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<import namespace="urn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpmsg.xsd"/>

<import namespace="urn:mpeg:mpeg4:IPMPSchema:2002"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mpeg4ipmp.xsd"/>

<import namespace="urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo-msx.xsd"/>

<!-- elements--><element name="IPMPInfoDescriptor" type="ipmpinfo:IPMPInfoDescriptorType"/><complexType name="IPMPInfoDescriptorType">

<sequence><element ref="ipmpinfo:Tool" minOccurs="0" maxOccurs="unbounded"/><element ref="ipmpinfo:RightsDescriptor" minOccurs="0"

maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><element name="Tool" type="ipmpinfo:ToolType"/><complexType name="ToolType">

<sequence><choice>

<element ref="ipmpinfo:ToolBaseDescription"/><element ref="ipmpinfo:ToolRef"/>

</choice><element ref="ipmpinfo:InitializationSettings" minOccurs="0"/><element ref="ipmpinfo:RightsDescriptor" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="order" type="positiveInteger"/>

</complexType><element name="ToolBaseDescription" type="ipmpinfo:ToolBaseDescriptionType"/><complexType name="ToolBaseDescriptionType">

<sequence><element ref="ipmpinfo:IPMPToolID"/><choice minOccurs="0">

<element ref="ipmpinfo:Inline"/><element ref="ipmpinfo:Remote"/>

</choice><element ref="ipmpinfo:ConfigurationSettings" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><element name="ToolRef" type="ipmpinfo:ToolRef"/><complexType name="ToolRef">

<attribute name="localidref" type="IDREF" use="required"/></complexType>

Page 530: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

530

<element name="IPMPToolID" type="anyURI"/><element name="Inline" type="ipmpinfo:InlineType"/><complexType name="InlineType">

<sequence><element ref="ipmpinfo:Binary"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><element name="Binary" type="base64Binary"/><element name="Remote" type="ipmpinfo:RemoteType"/><complexType name="RemoteType">

<sequence><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="ref" type="anyURI"/>

</complexType><element name="ConfigurationSettings" type="ipmpinfo:ConfigurationSettingsType"/><complexType name="ConfigurationSettingsType" mixed="true">

<sequence><element ref="ipmpinfo:Configuration"/><element ref="ipmpinfo:Update" minOccurs="0"/>

</sequence></complexType><element name="Configuration" type="ipmpinfo:ConfigurationType"/><complexType name="ConfigurationType" mixed="true">

<sequence><element ref="ipmpinfo-msx:ToolBody"/>

</sequence></complexType><element name="Update" type="ipmpinfo:UpdateType"/><complexType name="UpdateType">

<sequence><element ref="ipmpinfo:Location" maxOccurs="unbounded"/><element ref="ipmpinfo:ScheduledUpdateTime" minOccurs="0"/><element ref="ipmpinfo:SupportedPlatform" minOccurs="0"

maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><element name="Location" type="ipmpinfo:RemoteType"/><element name="Condition" type="ipmpinfo:ConditionType"/><complexType name="ConditionType">

<sequence><element ref="ipmpinfo:ScheduledUpdateTime" minOccurs="0"/><element ref="ipmpinfo:SupportedPlatform" minOccurs="0"

maxOccurs="unbounded"/></sequence>

Page 531: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

531

</complexType><element name="ScheduledUpdateTime" type="ipmpinfo:ScheduledUpdateTimeType"/><complexType name="ScheduledUpdateTimeType">

<simpleContent><extension base="dateTime">

<attribute name="periodic" type="duration" use="optional"/></extension>

</simpleContent></complexType><element name="SupportedPlatform" type="ipmpinfo:SupportedPlatformType"/><complexType name="SupportedPlatformType">

<sequence><element ref="ipmpinfo-msx:DeviceInformation"/>

</sequence></complexType><element name="InitializationSettings" type="ipmpinfo:InitializationSettingsType"/><complexType name="InitializationSettingsType" mixed="true">

<sequence><element ref="ipmpinfo:InitializationData"/>

</sequence></complexType><element name="InitializationData" type="ipmpinfo:InitializationDataType"/><complexType name="InitializationDataType" mixed="true">

<sequence><sequence minOccurs="0" maxOccurs="unbounded">

<element ref="ipmpmsg:ControlPointID" minOccurs="0"/><element ref="ipmpmsg:ControlPointAddress" minOccurs="0"/>

</sequence><element ref="ipmpmsg:Data_BaseClass" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</complexType><element name="RightsDescriptor" type="ipmpinfo:RightsDescriptorType"/><complexType name="RightsDescriptorType">

<sequence><choice minOccurs="0">

<element ref="ipmpinfo:License"/><element ref="ipmpinfo:LicenseReference"/>

</choice></sequence>

</complexType><element name="License" type="ipmpinfo:LicenseType"/><complexType name="LicenseType" mixed="true">

<sequence><element ref="rel-r:license" maxOccurs="unbounded"/>

</sequence></complexType>

Page 532: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

532

<element name="LicenseReference" type="ipmpinfo:LicenseReferenceType"/><complexType name="LicenseReferenceType">

<simpleContent><extension base="anyURI"/>

</simpleContent></complexType><!--********************************* --><!-- IPMPGeneralInfoDescriptor --><!--********************************* --><element name="IPMPGeneralInfoDescriptor"

type="ipmpinfo:IPMPGeneralInfoDescriptorType"/><complexType name="IPMPGeneralInfoDescriptorType">

<sequence><element ref="ipmpinfo:ToolList" minOccurs="0"/><element ref="ipmpinfo:LicenseCollection" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/><!--Signature for the IPMPGeneralInfoDescriptor element and children -->

</sequence></complexType><element name="ToolList" type="ipmpinfo:ToolListType"/><complexType name="ToolListType">

<sequence><element ref="ipmpinfo:ToolDescription" maxOccurs="unbounded"/>

</sequence></complexType><element name="ToolDescription" type="ipmpinfo:ToolDescriptionType"/><complexType name="ToolDescriptionType">

<sequence><element ref="ipmpinfo:IPMPToolID"/><element ref="ipmpinfo:MemberOf" minOccurs="0"/><choice minOccurs="0">

<element ref="ipmpinfo:Inline"/><element ref="ipmpinfo:Remote"/>

</choice><element ref="ipmpinfo:RightsDescriptor" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="localID" type="ID" use="required"/>

</complexType><element name="MemberOf" type="ipmpinfo:MemberOfType"/><complexType name="MemberOfType">

<sequence maxOccurs="unbounded"><element ref="ipmpinfo:AlternateGroup"/>

</sequence></complexType><element name="AlternateGroup" type="ipmpinfo:AlternateGroupType"/><complexType name="AlternateGroupType">

Page 533: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

533

<attribute name="groupID" type="positiveInteger" use="required"/></complexType><element name="LicenseCollection" type="ipmpinfo:LicenseCollectionType"/><complexType name="LicenseCollectionType" mixed="true">

<sequence><element ref="ipmpinfo:RightsDescriptor" maxOccurs="unbounded"/>

</sequence></complexType>

</schema>

Figure 350: The ipmpinfo schema

C.10 The Media Streaming IPMPINFO extensions schema

The schema characterised by the following URI:urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007 is given below.

<?xml version="1.0"?><schema targetNamespace="urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007"

xmlns="http://www.w3.org/2001/XMLSchema"xmlns:ipmpinfo-

msx="urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:rmsaf="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:ipmpinfo="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"xmlns:mpeg4ipmp="urn:mpeg:mpeg4:IPMPSchema:2002"elementFormDefault="qualified" attributeFormDefault="unqualified"

version="0.01"><import namespace="http://www.w3.org/2000/09/xmldsig#"

schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<import namespace="urn:mpeg:mpeg4:IPMPSchema:2002"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mpeg4ipmp.xsd"/>

<!-- elements--><!--********************************* --><!-- ToolBody --><!--********************************* --><element name="ToolBody" type="ipmpinfo-msx:ToolBodyType"/><complexType name="ToolBodyType">

<sequence><choice maxOccurs="unbounded">

<element ref="ipmpinfo-msx:SingleTool"/><element ref="ipmpinfo-msx:ToolPack"/>

</choice><element ref="dsig:Signature" minOccurs="0"/>

Page 534: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

534

</sequence></complexType><element name="ToolPack" type="ipmpinfo-msx:ToolPackType"/><complexType name="ToolPackType">

<sequence><element ref="ipmpinfo-msx:ToolBodyID"/><element ref="ipmpinfo-msx:DeviceInformation" minOccurs="0"/><element name="ToolPackageType" type="string" minOccurs="0"/><element name="ToolAgent" type="ipmpinfo-msx:ToolAgentType"/><element name="ToolGroup" type="ipmpinfo-msx:ToolGroupType"

minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><element name="ToolAgent" type="ipmpinfo-msx:ToolAgentType"/><complexType name="ToolAgentType">

<sequence><element name="ToolAgentID" type="anyURI"/><element name="ToolAgentCode" type="base64Binary"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><element name="ToolGroup" type="ipmpinfo-msx:ToolGroupType"/><complexType name="ToolGroupType">

<sequence><element name="ToolGroupID" type="anyURI"/><element name="ToolGroupCode" type="base64Binary"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><element name="SingleTool" type="ipmpinfo-msx:DRMToolType"/><complexType name="DRMToolType">

<sequence><element ref="ipmpinfo-msx:ToolBodyID"/><element ref="ipmpinfo-msx:DeviceInformation" minOccurs="0"/><element name="ToolPackageType" type="string" minOccurs="0"/><element name="ToolCode" type="base64Binary"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></complexType><complexType name="ToolUpdateType"/><element name="ToolBodyID" type="anyURI"/><!--********************************* --><!-- DeviceInformation --><!--********************************* --><element name="DeviceInformation" type="ipmpinfo-msx:DeviceType"/><complexType name="DeviceType">

Page 535: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

535

<complexContent><extension base="mpeg4ipmp:TerminalIDType">

<sequence><element ref="ipmpinfo-msx:ToolAPI_Config"

minOccurs="0" maxOccurs="unbounded"/><element ref="ipmpinfo-msx:Others" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><element name="Others" type="ipmpinfo-msx:OtherTypes"/><complexType name="OtherTypes">

<sequence><any namespace="##any" processContents="lax"/>

</sequence><attribute name="ref" type="anyURI" use="required"/>

</complexType><element name="ToolAPI_Config" type="ipmpinfo-msx:ToolAPI_ConfigType"/><complexType name="ToolAPI_ConfigType">

<sequence><element name="Instantiation_API_ID" type="anyURI" minOccurs="0"/><element name="Messaging_API_ID" type="anyURI" minOccurs="0"/><element name="OpaqueData" type="hexBinary" minOccurs="0"/>

</sequence></complexType>

</schema>

Figure 351: The ipmpinfo-msx schema

C.11 The IPMP XML Messages schema

The schema characterised by the following URI: urn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007"

xmlns="http://www.w3.org/2001/XMLSchema"xmlns:ipmpmsg="urn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"xmlns:ipmpinfo="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS"xmlns:ipmpdidl="urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo.xsd"/>

Page 536: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

536

<import namespace="urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpdidl.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"/>

<import namespace="http://www.w3.org/2001/04/xmlenc#"schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<import namespace="urn:mpeg:mpeg21:2002:01-DII-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/dii.xsd"/>

<!-- Abstract Base Type from which both DRM Message Containers and DRM Messagesinherit -->

<complexType name="IPMPBaseType" abstract="true"/><!--ToolMessageBase--><element name="ToolMessageBase" type="ipmpmsg:ToolMessageBaseType"

abstract="true"/><complexType name="ToolMessageBaseType" abstract="true">

<complexContent><extension base="ipmpmsg:IPMPBaseType">

<sequence><element name="Sender" type="anyURI"/><element name="Recipient" type="anyURI"/>

</sequence></extension>

</complexContent></complexType><!--Data_BaseClass--><element name="Data_BaseClass" type="ipmpmsg:Data_BaseClassType" abstract="true"/><complexType name="Data_BaseClassType" abstract="true">

<complexContent><extension base="ipmpmsg:IPMPBaseType">

<sequence><element name="dataID" type="unsignedInt"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- DRM Message Containers --><!-- **************************************************************** --><!-- MessageFromDI--><element name="MessageFromDI" type="ipmpmsg:MessageFromDIType"

substitutionGroup="ipmpmsg:ToolMessageBase"/><complexType name="MessageFromDIType">

<complexContent><extension base="ipmpmsg:ToolMessageBaseType">

Page 537: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

537

<sequence><element ref="ipmpmsg:Data_BaseClass" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!--MessageFromTool--><element name="MessageFromTool" type="ipmpmsg:MessageFromToolType"

substitutionGroup="ipmpmsg:ToolMessageBase"/><complexType name="MessageFromToolType">

<complexContent><extension base="ipmpmsg:ToolMessageBaseType">

<sequence><element ref="ipmpmsg:Data_BaseClass" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- DRM Messages --><!-- **************************************************************** --><!-- AUTHENTICATION MESSAGES --><!--InitAuthentication--><element name="InitAuthentication" type="ipmpmsg:InitAuthenticationType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="InitAuthenticationType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="ContextID" type="anyURI"

minOccurs="0"/><element name="AuthType" type="ipmpmsg:AUTType"/><!--Context ID of the logical instance of the Tool with which

mutual authentication is to be performed--></sequence>

</extension></complexContent>

</complexType><simpleType name="AUTType">

<annotation><documentation>

"01" - No Authentication Required"02" - No ID verify, Do secure channel"03" - Do ID verify, No secure channel"04" - Do ID verify, Do secure channel

Page 538: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

538

</documentation></annotation><restriction base="integer">

<enumeration value="01"/><enumeration value="02"/><enumeration value="03"/><enumeration value="04"/>

</restriction></simpleType><!--MutualAuthentication--><element name="MutualAuthentication" type="ipmpmsg:MutualAuthenticationType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="MutualAuthenticationType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><choice minOccurs="0">

<element name="requestNegotiation"type="ipmpmsg:requestNegotiationType"/>

<element name="successNegotiation"type="ipmpmsg:successNegotiationType"/>

<element name="failedNegotiation" type="boolean"fixed="true"/>

</choice><element name="authenticationData" type="hexBinary"

minOccurs="0"/><element name="authCodes"

type="ipmpmsg:AuthCodesType" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><complexType name="requestNegotiationType">

<sequence><element name="candidateAlgorithms"

type="ipmpmsg:AlgorithmDescriptorType"/></sequence>

</complexType><complexType name="AlgorithmDescriptorType">

<sequence><element name="algoID" type="anyURI" maxOccurs="unbounded"/><element name="opaqueData" type="base64Binary" minOccurs="0"/>

</sequence></complexType><complexType name="successNegotiationType">

<sequence>

Page 539: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

539

<element name="agreedAlgorithms"type="ipmpmsg:AlgorithmDescriptorType" maxOccurs="unbounded"/>

</sequence></complexType><complexType name="AuthCodesType">

<sequence><element name="certificates" type="dsig:KeyInfoType"

maxOccurs="unbounded"/><element name="trustData" type="hexBinary" minOccurs="0"/>

</sequence></complexType><!--SecureContainer--><element name="SecureContainer" type="ipmpmsg:SecureContainerType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><annotation>

<documentation>To fill the protectedMsgTag field below, use values fromTable 1 in doc ISO/IEC 14496-13:2004

</documentation></annotation><complexType name="SecureContainerType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<choice><sequence>

<element name="encryptedData" type="hexBinary"/><element name="MAC" type="hexBinary"

minOccurs="0"/></sequence><sequence>

<element name="protectedMsgTag" type="short"/><element name="protectedMsg" type="hexBinary"/><element name="MAC" type="hexBinary"

minOccurs="0"/></sequence>

</choice></extension>

</complexContent></complexType><!-- DRM TOOL CONNECTION AND DISCONNECTION MESSAGES --><!--GetTools--><element name="GetTools" type="ipmpmsg:GetToolsType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolsType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent>

Page 540: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

540

</complexType><!--GetToolsResponse--><element name="GetToolsResponse" type="ipmpmsg:GetToolsResponseType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolsResponseType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element ref="ipmpmsg:Tool" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="Tool" type="ipmpmsg:toolType"/><!--It represents a DRM Tool, an extension of ipmpinfo:Tool--><complexType name="toolType">

<complexContent><extension base="ipmpinfo:ToolType">

<sequence><element name="alternates" type="ipmpinfo:ToolType"

minOccurs="0"/><element ref="ipmpmsg:ParametricDescription"

minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!--GetToolContext--><element name="GetToolContext" type="ipmpmsg:GetToolContextType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolContextType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent></complexType><!--GetToolContextResponse--><element name="GetToolContextResponse"

type="ipmpmsg:GetToolContextResponseType" substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolContextResponseType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="ToolContextID" type="unsignedInt"

minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension>

Page 541: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

541

</complexContent></complexType><!--ConnectTool--><element name="ConnectTool" type="ipmpmsg:ConnectToolType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="ConnectToolType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element ref="ipmpinfo:Tool"/>

</sequence></extension>

</complexContent></complexType><!--DisconnectTool--><element name="DisconnectTool" type="ipmpmsg:DisconnectToolType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="DisconnectToolType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="ToolContextID" type="unsignedInt"/>

</sequence></extension>

</complexContent></complexType><!--ParamtericDescription--><element name="ParametricDescription" type="ipmpmsg:ParametricDescriptionType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="ParametricDescriptionType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="descriptionComment" type="string"

minOccurs="0"/><element name="majorVersion" type="byte"/><element name="minorVersion" type="byte"/><element name="paramToolDescription"

type="ipmpmsg:paramToolDescriptionType" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><complexType name="paramToolDescriptionType">

<sequence><element name="class" type="string"/><element name="subClass" type="string"/>

Page 542: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

542

<element name="typeData" type="string" minOccurs="0"/><element name="type" type="string" minOccurs="0"/><element name="addedData" type="string" minOccurs="0"/>

</sequence></complexType><!--ToolParamCapabilitiesQuery--><element name="ToolParamCapabilitiesQuery"

type="ipmpmsg:ToolParamCapabilitiesQueryType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="ToolParamCapabilitiesQueryType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<element name="toolParamDesc"type="ipmpmsg:ParametricDescriptionType"/>

</sequence></extension>

</complexContent></complexType><!--ToolParamCapabilitiesResponse--><element name="ToolParamCapabilitiesResponse"

type="ipmpmsg:ToolParamCapabilitiesResponseType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="ToolParamCapabilitiesResponseType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<element name="capabilitiesSupported" type="boolean"/></sequence>

</extension></complexContent>

</complexType><!-- DRM TOOL NOTIFICATION --><!--NotifyToolEvent--><element name="NotifyToolEvent" type="ipmpmsg:NotifyToolEventType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="NotifyToolEventType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><sequence minOccurs="0">

<element name="OD_ID" type="unsignedInt"/><element name="ESD_ID" type="unsignedInt"/>

</sequence><element ref="ipmpmsg:EventType"

maxOccurs="unbounded"/><element name="toolContextID" type="unsignedInt"/>

Page 543: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

543

</sequence></extension>

</complexContent></complexType><element name="EventType" type="ipmpmsg:EvType"/><simpleType name="EvType">

<annotation><documentation>

"00" – CONNECTED"01" - CONNECTION_FAILED"02" - DISCONNECTED"03" - DISCONNECTION_FAILED"04" - WATERMARKDETECTED"05" - PARSE_TOOLPACKDATA_SUCCESS"06" - PARSE_TOOLPACKDATA_FAILED"07" - UNABLE_TO_PROCESS"08" - TOOL_GROUP_NOT_FOUND

"09" - TERMINATION_FAILED"10" - CONTROLPOINT_NOT_SUPPORTED"11" - UNABLE_TO_PARSE_LICENSE"12" - NO_VALID_LICENSE"13" - LICENSE_VALIDATION_FAILED"14" - READY_TO_PLAY"15" - READY_TO_BE_TERMINATED

</documentation></annotation><restriction base="integer">

<enumeration value="00"/><enumeration value="01"/><enumeration value="02"/><enumeration value="03"/><enumeration value="04"/><enumeration value="05"/><enumeration value="06"/><enumeration value="07"/><enumeration value="08"/><enumeration value="09"/><enumeration value="10"/><enumeration value="11"/><enumeration value="12"/><enumeration value="13"/><enumeration value="14"/><enumeration value="15"/>

</restriction></simpleType><!--AddToolNotificationListener-->

Page 544: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

544

<element name="AddToolNotificationListener"type="ipmpmsg:AddToolNotificationListenerType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="AddToolNotificationListenerType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<element name="scope" type="string"/><element ref="ipmpmsg:EventType"

maxOccurs="unbounded"/><!--see scope list in MPEG IPMPX spec-->

</sequence></extension>

</complexContent></complexType><!--RemoveToolNotificationListener--><element name="RemoveToolNotificationListener"

type="ipmpmsg:RemoveToolNotificationListenerType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="RemoveToolNotificationListenerType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<element ref="ipmpmsg:EventType"maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType><!-- DRM PROCESSING --><!--KeyData--><element name="KeyData" type="ipmpmsg:KeyDataType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="KeyDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><choice maxOccurs="unbounded">

<element ref="ipmpmsg:Key"/><element ref="ipmpmsg:TimeKey"/>

</choice><element name="opaqueData" type="base64Binary"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType>

Page 545: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

545

<complexType name="KeyBaseType" abstract="true"/><element name="Key" type="ipmpmsg:KeyType"/><complexType name="KeyType">

<complexContent><extension base="ipmpmsg:KeyBaseType">

<sequence><choice>

<element ref="xenc:EncryptedData"/><element ref="xenc:EncryptedKey"/>

</choice></sequence>

</extension></complexContent>

</complexType><element name="TimeKey" type="ipmpmsg:TimeKeyType"/><complexType name="TimeKeyType">

<complexContent><extension base="ipmpmsg:KeyType">

<sequence><element name="startDTS" type="unsignedLong"

minOccurs="0"/><element name="startPacketID" type="unsignedInt"

minOccurs="0"/><element name="expireDTS" type="unsignedLong"

minOccurs="0"/><element name="expirePacketID" type="unsignedInt"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><!--RightsData--><element name="RightsData" type="ipmpmsg:RightsDataType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="RightsDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="rightsInfo" type="rel-r:License"/>

</sequence></extension>

</complexContent></complexType><!--CanProcess--><element name="CanProcess" type="ipmpmsg:CanProcessType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="CanProcessType">

Page 546: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

546

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="canProcess" type="boolean"/>

</sequence></extension>

</complexContent></complexType><!--OpaqueData--><element name="OpaqueData" type="ipmpmsg:OpaqueDataType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="OpaqueDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="opaqueData" type="base64Binary"/>

</sequence></extension>

</complexContent></complexType><!--AudioWatermarkingInit--><element name="AudioWatermarkingInit" type="ipmpmsg:AudioWatermarkingInitType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="AudioWatermarkingInitType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="inputFormat"

type="ipmpmsg:AudioFormatType"/><element name="requiredOp"

type="ipmpmsg:requiredOpType"/><element name="wmPayload" type="string" minOccurs="0"/><element name="wmRecipientID" type="anyURI"

minOccurs="0"/><element name="opaqueData" type="base64Binary"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><complexType name="AudioFormatType">

<sequence minOccurs="0"><element name="nChannels" type="byte"/><element name="bitPerSample" type="byte"/><element name="frequency" type="decimal"/>

</sequence><attribute name="mimeType" type="string" use="required"/>

Page 547: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

547

</complexType><simpleType name="requiredOpType">

<annotation><documentation>

"00" - INSERT_WM "01" - EXTRACT_WM "02" - REMARK_WM"03"

- DETECT_COMPRESSION</documentation>

</annotation><restriction base="integer">

<enumeration value="00"/><enumeration value="01"/><enumeration value="02"/><enumeration value="03"/>

</restriction><!--see type list in MPEG IPMPX spec-->

</simpleType><!--VideoWatermarkingInit--><element name="VideoWatermarkingInit" type="ipmpmsg:VideoWatermarkingInitType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="VideoWatermarkingInitType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="inputFormat"

type="ipmpmsg:VideoFormatType"/><element name="requiredOp"

type="ipmpmsg:requiredOpType"/><element name="wmPayload" type="string" minOccurs="0"/><element name="wmRecipientID" type="anyURI"

minOccurs="0"/><element name="opaqueData" type="base64Binary"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><complexType name="VideoFormatType">

<sequence minOccurs="0"><element name="frame_horizontal_size" type="unsignedShort"/><element name="frame_vertical_size" type="unsignedShort"/><element name="chroma_format" type="byte"/>

</sequence><attribute name="mimeType" type="string" use="required"/>

</complexType><!--SendAudioWatermark-->

Page 548: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

548

<element name="SendAudioWatermark" type="ipmpmsg:SendAudioWatermarkType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="SendAudioWatermarkType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<element name="wm_status"type="ipmpmsg:wm_statusType"/>

<element name="compression_status"type="ipmpmsg:compression_statusType"/>

<element name="payload" type="string" minOccurs="0"/><element name="opaqueData" type="base64Binary"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><simpleType name="wm_statusType">

<annotation><documentation>

"00" - WM_PAYLOAD "01" - WM_NOPAYLOAD "02" - NO_WM"03"

- WM_UNKNOWN</documentation>

</annotation><restriction base="integer">

<enumeration value="00"/><enumeration value="01"/><enumeration value="02"/><enumeration value="03"/>

</restriction></simpleType><simpleType name="compression_statusType">

<annotation><documentation>

"00" - COMPRESSION "01" - NO_COMPRESSION "02" -COMP_UNKNOWN

</documentation></annotation><restriction base="integer">

<enumeration value="00"/><enumeration value="01"/><enumeration value="02"/>

</restriction></simpleType><!--SendVideoWatermark-->

Page 549: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

549

<element name="SendVideoWatermark" type="ipmpmsg:SendVideoWatermarkType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="SendVideoWatermarkType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<element name="wm_status"type="ipmpmsg:wm_statusType"/>

<element name="compression_status"type="ipmpmsg:compression_statusType"/>

<element name="payload" type="string" minOccurs="0"/><element name="opaqueData" type="base64Binary"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><!--SelectiveDecryptionInit--><element name="SelectiveDecryptionInit" type="ipmpmsg:SelectiveDecryptionInitType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="SelectiveDecryptionInitType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="mimeType" type="string"/><element name="profileLevelIndication" type="string"/><element name="compliance" type="string"/><element name="bufInfoStruct"

type="ipmpmsg:bufInfoStructType" minOccurs="0" maxOccurs="unbounded"/><choice>

<element name="contentSpecific"type="ipmpmsg:contentSpecificType" minOccurs="0"/>

<sequence><element name="nSegments" type="short"/><element name="RLE_Data" type="short"

maxOccurs="unbounded"/></sequence>

</choice></sequence>

</extension></complexContent>

</complexType><complexType name="bufInfoStructType">

<sequence><element name="cipher_Id" type="anyURI"/><element name="syncBoundary" type="string"/><choice>

Page 550: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

550

<sequence><element name="mode" type="anyURI" minOccurs="0"/><element name="blockSize" type="short"/><element name="keySize" type="short"/>

</sequence><element name="Stream_Cipher_Specific_Init_Info"

type="hexBinary"/></choice>

</sequence></complexType><complexType name="contentSpecificType">

<sequence><element name="numFields" type="short"/><element name="fieldStruct" type="ipmpmsg:fieldStructType"

maxOccurs="unbounded"/></sequence>

</complexType><complexType name="fieldStructType">

<sequence><element name="field_id" type="anyURI"/><element name="fieldScope" type="short"/><element name="buf" type="short"/><element name="map" type="ipmpmsg:mapType" minOccurs="0"/>

</sequence></complexType><complexType name="mapType">

<sequence><element name="sizeMapTable" type="short" minOccurs="0"/><element name="mappingTable" type="short" minOccurs="0"

maxOccurs="unbounded"/><element name="shuffleSpecificInfo" type="hexBinary" minOccurs="0"/>

</sequence></complexType><!-- USER INTERACTION MESSAGES --><!--UserQuery--><element name="UserQuery" type="ipmpmsg:UserQueryType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="UserQueryType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="altText" type="ipmpmsg:altTextType"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType>

Page 551: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

551

<complexType name="altTextType"><sequence>

<element name="languageCode" type="language"/><element name="titleText" type="string" minOccurs="0"/><element name="displayText" type="ipmpmsg:displayTextType"

minOccurs="0" maxOccurs="unbounded"/><element name="needReplyText" type="ipmpmsg:replyTextType"

minOccurs="0" maxOccurs="unbounded"/><element name="inclOptionSelect" type="ipmpmsg:inclOptionSelectType"

minOccurs="0" maxOccurs="unbounded"/><element name="SMIL_URL" type="string" minOccurs="0"

maxOccurs="unbounded"/><element name="SMIL" type="hexBinary" minOccurs="0"/><!-- ISO 639-2:1998 bibliographic three character language code-->

</sequence></complexType><complexType name="displayTextType">

<sequence><element name="text" type="string"/>

</sequence><attribute name="ID" type="unsignedShort" use="required"/>

</complexType><complexType name="replyTextType">

<sequence><element name="text" type="string"/>

</sequence><attribute name="ID" type="unsignedShort" use="required"/><attribute name="subID" type="unsignedShort" use="required"/><attribute name="isHidden" type="boolean"/>

</complexType><complexType name="inclOptionSelectType">

<sequence><element name="promptText" type="string"/>

</sequence><attribute name="ID" type="unsignedShort" use="required"/><attribute name="subID" type="unsignedShort" use="required"/><attribute name="isExclusive" type="boolean"/>

</complexType><!--UserQueryResponse--><element name="UserQueryResponse" type="ipmpmsg:UserQueryResponseType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="UserQueryResponseType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="replyText"

type="ipmpmsg:responseReplyTextType" minOccurs="0" maxOccurs="unbounded"/>

Page 552: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

552

</sequence></extension>

</complexContent></complexType><complexType name="responseReplyTextType">

<sequence><element name="languageCode" type="language"/><element name="replyText" type="ipmpmsg:replyTextType" minOccurs="0"

maxOccurs="unbounded"/><element name="optionResult" type="ipmpmsg:optionResultType"

minOccurs="0" maxOccurs="unbounded"/><!-- ISO 639-2:1998 bibliographic three character language code-->

</sequence></complexType><complexType name="optionResultType">

<sequence><element name="result" type="boolean"/>

</sequence><attribute name="ID" type="unsignedShort" use="optional"/><attribute name="subID" type="unsignedShort" use="optional"/>

</complexType><!-- SPECIFIC IPMP MESSAGES FOR THE MEDIA STREAMING PLAYER MAF --><!-- InitialiseTool --><element name="InitialiseTool" type="ipmpmsg:InitialiseToolType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="InitialiseToolType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence>

<sequence minOccurs="0" maxOccurs="unbounded"><element ref="ipmpmsg:ControlPointID"/><element ref="ipmpmsg:ControlPointAddress"

minOccurs="0"/></sequence>

<element ref="ipmpmsg:Data_BaseClass" minOccurs="0"maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType><element name="ControlPointID" type="ipmpmsg:ControlPointType"/><complexType name="ControlPointType">

<annotation><documentation>

The Control Point ID is an identifier given by a

Page 553: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

553

DMP-appointed Registration Authority with the purpose ofindicating a position in the media resource processingchain, as defined in the DMP Terminology.The following values are currently permitted :"00" - NO_CONTROL_POINT"01" - CONTROL_POINT_BEFORE_DEMULTIPLEXING"02" - CONTROL_POINT_BEFORE_AUDIO_DECODING"03" - CONTROL_POINT_AFTER_AUDIO_DECODING"04" - CONTROL_POINT_BEFORE_VIDEO_DECODING"05" - CONTROL_POINT_AFTER_VIDEO_DECODING"06" - CONTROL_POINT_BEFORE_STORING"07" - CONTROL_POINT_BEFORE_PLAYBACK"08" - CONTROL_POINT_BEFORE_TRANSFERRING

</documentation></annotation><sequence>

<element name="ID" type="integer"/></sequence>

</complexType><element name="ControlPointAddress" type="base64Binary"/><!--ToolPack Extensions--><!--GetToolGroupReference--><element name="GetToolGroupReference" type="ipmpmsg:GetToolGroupReferenceType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolGroupReferenceType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent></complexType><!--GetToolGroupReferenceResponse--><element name="GetToolGroupReferenceResponse"

type="ipmpmsg:GetToolGroupReferenceResponseType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="GetToolGroupReferenceResponseType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<element name="ToolGroupReference"type="base64Binary"/>

</sequence></extension>

</complexContent></complexType><!--GetToolReference--><element name="GetToolReference" type="ipmpmsg:GetToolReferenceType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolReferenceType">

Page 554: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

554

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element ref="ipmpmsg:IPMPToolID"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="IPMPToolID" type="anyURI"/><!--GetToolReferenceResponse--><element name="GetToolReferenceResponse"

type="ipmpmsg:GetToolReferenceResponseType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="GetToolReferenceResponseType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<sequence maxOccurs="unbounded"><element ref="ipmpmsg:IPMPToolID"/><element name="ToolReference"

type="base64Binary"/></sequence>

</sequence></extension>

</complexContent></complexType><!--ToolPackDataRequest--><element name="GetToolPackData" type="ipmpmsg:GetToolPackDataType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetToolPackDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent></complexType><!--ToolPackData--><element name="ToolPackData" type="ipmpmsg:ToolPackDataType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="ToolPackDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element name="opaqueData" type="base64Binary"/>

</sequence></extension>

</complexContent></complexType>

Page 555: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

555

<!-- ******************************************************************** --><!-- Interface Messages Between the Resource Processor and IPMP Processor --><!-- ******************************************************************** --><element name="InitialiseIPMPProcessor" type="ipmpmsg:InitialiseIPMPProcessorType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="InitialiseIPMPProcessorType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><sequence minOccurs="0" maxOccurs="unbounded">

<element ref="ipmpmsg:ControlPointID"/><element ref="ipmpmsg:ControlPointAddress"

minOccurs="0"/></sequence><element ref="ipmpinfo:IPMPGeneralInfoDescriptor"

minOccurs="0"/><element ref="ipmpdidl:ProtectedAsset" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="GetProtectedAsset" type="ipmpmsg:GetProtectedAssetType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetProtectedAssetType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent></complexType><element name="GetProtectedAssetResponse"

type="ipmpmsg:GetProtectedAssetResponseType"/><complexType name="GetProtectedAssetResponseType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence><element ref="ipmpdidl:ProtectedAsset"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="GetRightsData" type="ipmpmsg:GetRightsDataType"

substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="GetRightsDataType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType">

<sequence>

Page 556: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

556

<element ref="dii:Identifier" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="NotifyIPMPProcessorEvent"

type="ipmpmsg:NotifyIPMPProcessorEventType"substitutionGroup="ipmpmsg:Data_BaseClass"/>

<complexType name="NotifyIPMPProcessorEventType"><complexContent>

<extension base="ipmpmsg:Data_BaseClassType"><sequence>

<element ref="ipmpmsg:EventType"maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType><element name="TerminateIPMPProcessor"

type="ipmpmsg:TerminateIPMPProcessorType" substitutionGroup="ipmpmsg:Data_BaseClass"/><complexType name="TerminateIPMPProcessorType">

<complexContent><extension base="ipmpmsg:Data_BaseClassType"/>

</complexContent></complexType><!-- **************************************************************** --><!-- Legacy Messages --><!-- **************************************************************** --><!-- IPMP_Message --><element name="IPMP_Message" type="ipmpmsg:IPMP_MessageType"/><complexType name="IPMP_MessageType">

<complexContent><extension base="ipmpmsg:IPMPBaseType">

<sequence><choice>

<element name="URLString" type="anyURI"/><sequence>

<element name="IPMP_DescriptorIDEx"type="anyURI"/>

<element ref="ipmpmsg:Data_BaseClass"minOccurs="0" maxOccurs="unbounded"/>

</sequence><element name="IPMP_data" type="hexBinary"/>

</choice></sequence>

</extension></complexContent>

Page 557: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

557

</complexType><!--MessageFromBitstream--><element name="MessageFromBitstream" type="ipmpmsg:MessageFromBitstreamType"

substitutionGroup="ipmpmsg:ToolMessageBase"/><complexType name="MessageFromBitstreamType">

<complexContent><extension base="ipmpmsg:ToolMessageBaseType">

<sequence><element ref="ipmpmsg:IPMP_Message" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!--DescriptorFromBitstream--><element name="DescriptorFromBitstream"

type="ipmpmsg:DescriptorFromBitstreamType"substitutionGroup="ipmpmsg:ToolMessageBase"/>

<complexType name="DescriptorFromBitstreamType"><complexContent>

<extension base="ipmpmsg:ToolMessageBaseType"><sequence>

<element name="IPMP_Descriptor" type="hexBinary"minOccurs="0" maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

</schema>

Figure 352: The ipmpmsg schema

C.12 The MPEG-4 IPMP schema

The schema characterised by the following URI: urn:mpeg:mpeg4:IPMPSchema:2002 is givenbelow.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg4:IPMPSchema:2002"

xmlns="http://www.w3.org/2001/XMLSchema"xmlns:mpeg4ipmp="urn:mpeg:mpeg4:IPMPSchema:2002"elementFormDefault="qualified" attributeFormDefault="unqualified">

<element name="TerminalID" type="mpeg4ipmp:TerminalIDType"><annotation>

<documentation>Identification of a terminal</documentation></annotation>

</element>

Page 558: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

558

<complexType name="TerminalIDType"><sequence>

<element name="TerminalType" minOccurs="0"><complexType>

<sequence><element name="Vendor" type="string"/><element name="Model" type="string"/><element name="SerialNO" type="string"

minOccurs="0"/></sequence>

</complexType></element><element name="OperatingSystem" type="mpeg4ipmp:OSType"

minOccurs="0"/><element name="CPU" type="mpeg4ipmp:CPUType" minOccurs="0"/><element name="Memory" type="mpeg4ipmp:MemoryType"

minOccurs="0"/><element name="AsstHardware" minOccurs="0" maxOccurs="unbounded">

<complexType><sequence>

<element name="SmartCard" minOccurs="0"><complexType>

<sequence><element name="Vendor"

type="string"/><element name="Model"

type="string"/></sequence>

</complexType></element><element name="HardKey" minOccurs="0">

<complexType><sequence>

<element name="Type"type="string"/>

</sequence></complexType>

</element></sequence>

</complexType></element><element name="Network" minOccurs="0" maxOccurs="unbounded">

<complexType><sequence>

<element name="Type" type="string"/><element name="Details" type="string"/>

</sequence>

Page 559: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

559

</complexType></element><element name="Downloading" minOccurs="0" maxOccurs="unbounded">

<complexType><attribute name="Capability" type="boolean"

use="required"/></complexType>

</element><element name="RPCMechanism" minOccurs="0"

maxOccurs="unbounded"><complexType>

<sequence><element name="Type" type="string"/><element name="Details" type="string"/>

</sequence></complexType>

</element><element name="Firmware" minOccurs="0" maxOccurs="unbounded">

<complexType><attribute name="Vendor" type="string" use="required"/><attribute name="Name" type="string" use="required"/><attribute name="Version" type="string" use="required"/>

</complexType></element>

</sequence></complexType><complexType name="OSType">

<sequence><element name="Vendor" type="string"/><element name="Model" type="string"/><element name="Version" type="string"/><element name="SerialNO" type="string" minOccurs="0"/><element name="VirtualMachine" minOccurs="0"

maxOccurs="unbounded"><complexType>

<sequence><element name="Vendor" type="string"/><element name="Name" type="string"/><element name="Version" type="string"/>

</sequence></complexType>

</element></sequence>

</complexType><complexType name="CPUType">

<sequence><element name="Vendor" type="string"/>

Page 560: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

560

<element name="Model" type="string"/><element name="Speed" type="integer"/>

</sequence></complexType><complexType name="MemoryType">

<sequence><element name="Vendor" type="string"/><element name="Model" type="string"/><element name="Size" type="integer"/><element name="Speed" type="integer"/>

</sequence></complexType>

</schema>

Figure 353: The mpeg4ipmp schema

C.13 The MPEG-7 Simple Metadata Profile schema

The schema characterised by the following URI: xxx is given below.

<?xml version="1.0" encoding="iso-8859-1"?><!-- ****************************************************************************

This XML document was originally developed in the course of development of theISO/IEC 15938 standard (MPEG-7). This XML document contains either a part ofthe MPEG-7 schema implementation for one or more MPEG-7 tools as specified bythe MPEG-7 Requirements or MPEG-7 description examples conformant to theMPEG-7 schema.

ISO/IEC gives users of MPEG-7 free license to this XML document or modificationsThereof for use in hardware or software products claiming conformance to MPEG-7.

Those intending to use this XML document in hardware or software products areadvised that its use may infringe existing patents. The original developers ofthis XML document and his/her company, the subsequent editors and their companies,and ISO/IEC have no liability for use of this XML document or modificationsthereof in an implementation.

Copyright is not released for non MPEG-7 conforming products. The organizationsWho contributed to this XML document retain the full right to use the code fortheir own purpose, assign or donate their contribution to a third party andinhibit third parties from using their contribution for non MPEG-7 conformingproducts.

Copyright (c) 1999-2003 ISO/IEC.

This XML document is provided for informative purposes only. If any parts of this

Page 561: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

561

XML document contradict the normative part of the corresponding standard documentthen the normative part should be used as the definitive specification.

This notice must be included in all copies or derivative works.************************************************************************** --><!--####################################################################### --><!-- ISO/IEC 15938 Information Technology-Multimedia Content Description Interface --><!-- Part 9: MPEG-7 Profiles and Levels (ISO/IEC 15938-9) --><!-- Simple Meatadata Profile --><!-- --><!-- Last updated: 22 July 2004 --><!-- #############################################################################--><!-- SMP-Light, version:1, date:July 23, 2003 --><schema xmlns="http://www.w3.org/2001/XMLSchema"xmlns:mpeg7="urn:mpeg:mpeg7:smp:schema:2001"targetNamespace="urn:mpeg:mpeg7:smp:schema:2001" elementFormDefault="qualified"attributeFormDefault="unqualified">

<annotation><documentation>

This document contains MDS tools defined in ISO/IEC 15938-5</documentation>

</annotation><!-- ########################################################### --><!-- import xml components --><!-- ########################################################### --><import namespace="http://www.w3.org/XML/1998/namespace"

schemaLocation="http://www.w3.org/2001/xml.xsd"/><!-- ########################################################### --><!-- include MPEG-7 specific extensions for DDL(ISO/IEC 15938-2) --><!-- ########################################################### --><element name="Mpeg7">

<complexType><complexContent>

<extension base="mpeg7:Mpeg7Type"><choice>

<element name="Description"type="mpeg7:CompleteDescriptionType" maxOccurs="unbounded"/>

</choice></extension>

</complexContent></complexType>

</element><!-- Definition of Mpeg7Type datatype --><complexType name="Mpeg7Type" abstract="true">

<sequence>

Page 562: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

562

<!-- DescriptionProfile element added per ISO/IEC 15938 Part 5 Cor1 - July2004 -->

<element name="DescriptionProfile" type="mpeg7:DescriptionProfileType"minOccurs="0"/>

</sequence><attribute ref="xml:lang" use="optional"/>

</complexType><!-- ############################################################ --><!-- Definition of Complete description top-level types (4.4.2) --><!-- ############################################################ --><!-- Definition of CompleteDescription Top-level Type --><complexType name="CompleteDescriptionType" abstract="true">

<sequence><element name="DescriptionMetadata"

type="mpeg7:DescriptionMetadataType" minOccurs="0"/></sequence>

</complexType><!-- ########################################### --><!-- Definition of regionCode datatype (5.6.4) --><!-- ########################################### --><!-- Definition of regionCode datatype --><simpleType name="regionCode">

<restriction base="string"><whiteSpace value="collapse"/><pattern value="[a-zA-Z]{2}(-[a-zA-Z0-9]{1,3})?"/>

</restriction></simpleType><!-- ########################################################### --><!-- Definition of Content description top-level types (4.4.3) --><!-- ########################################################### --><!-- Definition of ContentDescription Top-level Type --><complexType name="ContentDescriptionType" abstract="true">

<complexContent><extension base="mpeg7:CompleteDescriptionType"/>

</complexContent></complexType><!-- Definition of ContentEntity Top-level Type --><complexType name="ContentEntityType">

<complexContent><extension base="mpeg7:ContentDescriptionType">

<sequence><element name="MultimediaContent"

type="mpeg7:MultimediaContentType" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType>

Page 563: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

563

<complexType name="MultimediaContentType" abstract="true"><complexContent>

<extension base="mpeg7:DSType"/></complexContent>

</complexType><!-- ################################################## --><!-- Definition of DescriptionMetadata Header (4.5.3) --><!-- ################################################## --><!-- Definition of DescriptionMetadata Header --><complexType name="DescriptionMetadataType">

<complexContent><extension base="mpeg7:HeaderType">

<sequence><element name="Confidence" type="mpeg7:zeroToOneType"

minOccurs="0"/><element name="LastUpdate" type="mpeg7:timePointType"

minOccurs="0"/><element name="Comment"

type="mpeg7:TextAnnotationType" minOccurs="0"/><element name="PublicIdentifier"

type="mpeg7:UniqueIDType" minOccurs="0" maxOccurs="unbounded"/><element name="PrivateIdentifier" type="string"

minOccurs="0" maxOccurs="unbounded"/><element name="Creator" type="mpeg7:CreatorType"

minOccurs="0" maxOccurs="unbounded"/><element name="CreationLocation" type="mpeg7:PlaceType"

minOccurs="0"/><element name="CreationTime"

type="mpeg7:timePointType" minOccurs="0"/><element name="Instrument"

type="mpeg7:CreationToolType" minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!-- DescriptionProfileType datatype added per ISO/IEC 15938 Part 5 Cor1 - July 2004 --><!-- Definition of DescriptionProfileType datatype --><complexType name="DescriptionProfileType">

<attribute name="profileAndLevelIndication" use="required"><simpleType>

<list itemType="anyURI"/></simpleType>

</attribute></complexType><complexType name="Mpeg7BaseType" abstract="true">

<complexContent><restriction base="anyType"/>

Page 564: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

564

</complexContent></complexType><simpleType name="timePointType">

<restriction base="mpeg7:basicTimePointType"><pattern value="(\-?\d+(\-\d{2}(\-

\d{2})?)?)?(T\d{2}(:\d{2}(:\d{2}(:\d+)?)?)?)?(F\d+)?((\-|\+)\d{2}:\d{2})?"/></restriction>

</simpleType><simpleType name="basicTimePointType">

<restriction base="string"><pattern value="\-?(\d+(\-\d{2}(\-

\d{2})?)?)?(T\d{2}(:\d{2}(:\d{2}(:\d+(\.\d{2})?)?)?)?)?(F\d+)?((\-|\+)\d{2}:\d{2})?"/></restriction>

</simpleType><!-- Definition of mimeType datatype (ISO/IEC 15938-5: 5.6.2) --><simpleType name="mimeType">

<restriction base="string"><whiteSpace value="collapse"/><pattern value='[&#x21;-&#x7f;-[\(\)&lt;&gt;@,;:\\"/\[\]\?=]]+/[&#x21;-

&#x7f;-[\(\)&lt;&gt;@,;:\\"/\[\]\?=]]+'/></restriction>

</simpleType><complexType name="TextAnnotationType">

<choice maxOccurs="unbounded"><element name="FreeTextAnnotation" type="mpeg7:TextualType"/><element name="StructuredAnnotation"

type="mpeg7:StructuredAnnotationType"/></choice><attribute ref="xml:lang"/>

</complexType><complexType name="TextualType">

<simpleContent><extension base="mpeg7:TextualBaseType"/>

</simpleContent></complexType><complexType name="TextualBaseType" abstract="true">

<simpleContent><extension base="string">

<attribute ref="xml:lang" use="optional"/></extension>

</simpleContent></complexType><!-- ########################################## --><!-- Definition of zeroToOne datatype (5.3.2) --><!-- ########################################## --><!-- Definition of zeroToOne datatype --><simpleType name="zeroToOneType">

Page 565: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

565

<restriction base="float"><minInclusive value="0.0"/><maxInclusive value="1.0"/>

</restriction></simpleType><!-- ######################################### --><!-- Definition of UniqueID datatype (6.3.1) --><!-- ######################################### --><!-- Definition of UniqueID datatype --><complexType name="UniqueIDType">

<simpleContent><extension base="string"/>

</simpleContent></complexType><complexType name="StructuredAnnotationType">

<sequence><element name="Who" type="mpeg7:TermUseType" minOccurs="0"

maxOccurs="unbounded"/><element name="WhatObject" type="mpeg7:TermUseType" minOccurs="0"

maxOccurs="unbounded"/><element name="WhatAction" type="mpeg7:TermUseType" minOccurs="0"

maxOccurs="unbounded"/><element name="Where" type="mpeg7:TermUseType" minOccurs="0"

maxOccurs="unbounded"/><element name="When" type="mpeg7:TermUseType" minOccurs="0"

maxOccurs="unbounded"/><element name="Why" type="mpeg7:TermUseType" minOccurs="0"

maxOccurs="unbounded"/><element name="How" type="mpeg7:TermUseType" minOccurs="0"

maxOccurs="unbounded"/></sequence><attribute ref="xml:lang" use="optional"/>

</complexType><complexType name="TermUseType">

<complexContent><extension base="mpeg7:InlineTermDefinitionType">

<attribute name="href" type="mpeg7:termReferenceType"use="optional"/>

</extension></complexContent>

</complexType><complexType name="InlineTermDefinitionType" abstract="true">

<sequence><element name="Name" minOccurs="0" maxOccurs="unbounded">

<complexType><simpleContent>

<extension base="mpeg7:TextualType">

Page 566: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

566

<attribute name="preferred" type="boolean"use="optional"/>

</extension></simpleContent>

</complexType></element><element name="Definition" type="mpeg7:TextualType" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</complexType><simpleType name="termRelationQualifierType">

<union><simpleType>

<restriction base="NMTOKEN"><enumeration value="NT"/><enumeration value="BT"/><enumeration value="RT"/><enumeration value="US"/><enumeration value="UF"/>

</restriction></simpleType><simpleType>

<restriction base="mpeg7:termReferenceType"/></simpleType>

</union></simpleType><simpleType name="termReferenceType">

<union><simpleType>

<restriction base="NMTOKEN"><whiteSpace value="collapse"/><pattern value=":[^:]+:[^:]+"/>

</restriction></simpleType><simpleType>

<restriction base="anyURI"/></simpleType>

</union></simpleType><complexType name="CreatorType">

<complexContent><extension base="mpeg7:MediaAgentType"/>

</complexContent></complexType><complexType name="MediaAgentType">

<sequence><element name="Role" type="mpeg7:ControlledTermUseType"/>

Page 567: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

567

<choice><element name="Agent" type="mpeg7:AgentType"/>

</choice></sequence>

</complexType><complexType name="ControlledTermUseType">

<complexContent><extension base="mpeg7:InlineTermDefinitionType">

<attribute name="href" type="mpeg7:termReferenceType"use="required"/>

</extension></complexContent>

</complexType><complexType name="AgentType" abstract="true">

<complexContent><extension base="mpeg7:DSType">

<sequence><element name="Icon" type="mpeg7:MediaLocatorType"

minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><complexType name="PersonType">

<complexContent><extension base="mpeg7:AgentType">

<sequence><choice maxOccurs="unbounded">

<element name="Name"type="mpeg7:PersonNameType"/>

</choice></sequence>

</extension></complexContent>

</complexType><!-- Definition of Header datatype --><complexType name="HeaderType" abstract="true">

<complexContent><extension base="mpeg7:Mpeg7BaseType">

<attribute name="id" type="ID" use="optional"/></extension>

</complexContent></complexType><complexType name="DSType" abstract="true">

<complexContent><extension base="mpeg7:Mpeg7BaseType">

<attribute name="id" type="ID" use="optional"/>

Page 568: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

568

</extension></complexContent>

</complexType><complexType name="MediaLocatorType">

<sequence><choice minOccurs="0">

<element name="MediaUri" type="anyURI"/><element name="InlineMedia" type="mpeg7:InlineMediaType"/>

</choice><element name="StreamID" type="nonNegativeInteger" minOccurs="0"/>

</sequence></complexType><!-- Definition of InlineMedia datatype (ISO/IEC 15938-5: 6.5.3) --><complexType name="InlineMediaType">

<choice><element name="MediaData16" type="hexBinary"/><element name="MediaData64" type="base64Binary"/>

</choice><attribute name="type" type="mpeg7:mimeType" use="required"/>

</complexType><complexType name="PersonNameType">

<sequence><choice maxOccurs="unbounded">

<element name="GivenName"type="mpeg7:NameComponentType"/>

<element name="FamilyName" type="mpeg7:NameComponentType"minOccurs="0"/>

</choice></sequence><attribute ref="xml:lang" use="optional"/>

</complexType><complexType name="NameComponentType">

<simpleContent><extension base="mpeg7:TextualBaseType">

<attribute name="initial" type="string" use="optional"/><attribute name="abbrev" type="string" use="optional"/>

</extension></simpleContent>

</complexType><complexType name="CreationToolType">

<sequence><element name="Tool" type="mpeg7:TermUseType"/><element name="Setting" minOccurs="0" maxOccurs="unbounded">

<complexType><attribute name="name" type="string" use="required"/><attribute name="value" type="string" use="required"/>

</complexType>

Page 569: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

569

</element></sequence>

</complexType><complexType name="PlaceType">

<complexContent><extension base="mpeg7:DSType">

<sequence><element name="Name" type="mpeg7:TextualType"

minOccurs="0" maxOccurs="unbounded"/><element name="NameTerm"

type="mpeg7:ControlledTermUseType" minOccurs="0" maxOccurs="unbounded"/><element name="Role" type="mpeg7:TermUseType"

minOccurs="0"/><element name="GeographicPosition" minOccurs="0">

<complexType><sequence>

<element name="Point"type="mpeg7:GeographicPointType"/>

</sequence><attribute name="datum" type="string"

use="optional"/></complexType>

</element><element name="AstronomicalBody"

type="mpeg7:TermUseType" minOccurs="0" maxOccurs="unbounded"/><element name="Region" type="mpeg7:regionCode"

minOccurs="0" maxOccurs="unbounded"/><element name="AdministrativeUnit" minOccurs="0"

maxOccurs="unbounded"><complexType>

<simpleContent><extension base="string">

<attribute name="type"type="string" use="optional"/>

</extension></simpleContent>

</complexType></element><element name="PostalAddress" minOccurs="0">

<complexType><sequence>

<element name="AddressLine"type="mpeg7:TextualType" minOccurs="1" maxOccurs="unbounded"/>

<element name="PostingIdentifier"type="mpeg7:TextualType" minOccurs="0"/>

</sequence><attribute ref="xml:lang" use="optional"/>

Page 570: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

570

</complexType></element><element name="InternalCoordinates" type="string"

minOccurs="0"/></sequence><attribute ref="xml:lang" use="optional"/>

</extension></complexContent>

</complexType><complexType name="GeographicPointType">

<attribute name="longitude" use="required"><simpleType>

<restriction base="double"><minInclusive value="-180.0"/><maxInclusive value="180.0"/>

</restriction></simpleType>

</attribute><attribute name="latitude" use="required">

<simpleType><restriction base="double">

<minInclusive value="-90.0"/><maxInclusive value="90.0"/>

</restriction></simpleType>

</attribute><attribute name="altitude" type="double" use="optional"/>

</complexType>

<!-- Definition of Image Content Entity --><complexType name="ImageType">

<complexContent><extension base="mpeg7:MultimediaContentType">

<sequence><element name="Image" type="mpeg7:StillRegionType"/>

</sequence></extension>

</complexContent></complexType><!-- Definition of Video Content Entity --><complexType name="VideoType">

<complexContent><extension base="mpeg7:MultimediaContentType">

<sequence><element name="Video" type="mpeg7:VideoSegmentType"/>

</sequence></extension>

Page 571: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

571

</complexContent></complexType><!-- Definition of Audio Content Entity --><complexType name="AudioType">

<complexContent><extension base="mpeg7:MultimediaContentType">

<sequence><element name="Audio" type="mpeg7:AudioSegmentType"/>

</sequence></extension>

</complexContent></complexType><!-- Definition of AudioVisual Content Entity --><complexType name="AudioVisualType">

<complexContent><extension base="mpeg7:MultimediaContentType">

<sequence><element name="AudioVisual"

type="mpeg7:AudioVisualSegmentType"/></sequence>

</extension></complexContent>

</complexType><!-- ######################################## --><!-- Definition of VideoSegment DS (11.4.8) --><!-- ######################################## --><!-- Definition of VideoSegment DS --><complexType name="VideoSegmentType">

<complexContent><extension base="mpeg7:SegmentType">

<sequence><element name="MediaTime" type="mpeg7:MediaTimeType"

minOccurs="0"/><element name="TemporalDecomposition"

type="mpeg7:VideoSegmentTemporalDecompositionType" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><!-- ######################################## --><!-- Definition of AudioSegment DS (11.5.2) --><!-- ######################################## --><!-- Definition of AudioSegment DS --><complexType name="AudioSegmentType">

<complexContent><extension base="mpeg7:SegmentType">

<sequence>

Page 572: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

572

<element name="MediaTime" type="mpeg7:MediaTimeType"minOccurs="0"/>

<element name="TemporalDecomposition"type="mpeg7:AudioSegmentTemporalDecompositionType" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- ############################################### --><!-- Definition of AudioVisualSegment DS (11.6.2) --><!-- ############################################### --><!-- Definition of AudioVisualSegment DS --><complexType name="AudioVisualSegmentType">

<complexContent><extension base="mpeg7:SegmentType">

<sequence><element name="MediaTime" type="mpeg7:MediaTimeType"

minOccurs="0"/><element name="TemporalDecomposition"

type="mpeg7:AudioVisualSegmentTemporalDecompositionType" minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><!-- ########################################### --><!-- Definition of MediaTime datatype (6.4.10) --><!-- ########################################### --><!-- Definition of MediaTime datatype --><complexType name="MediaTimeType">

<sequence><element name="MediaTimePoint" type="mpeg7:mediaTimePointType"/><element name="MediaIncrDuration"

type="mpeg7:MediaIncrDurationType" minOccurs="0"/></sequence>

</complexType><complexType name="SegmentType" abstract="true">

<complexContent><extension base="mpeg7:DSType">

<sequence><element name="CreationInformation"

type="mpeg7:CreationInformationType" minOccurs="0"/><!--element name="CreationInformation"

type="mpeg7:CreationInformationType"/--><element name="TextAnnotation" minOccurs="0"

maxOccurs="unbounded"><complexType>

<complexContent>

Page 573: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

573

<extensionbase="mpeg7:TextAnnotationType">

<attribute name="type"use="optional">

<simpleType><union

memberTypes="mpeg7:termReferenceType string"/></simpleType>

</attribute></extension>

</complexContent></complexType>

</element></sequence>

</extension></complexContent>

</complexType><simpleType name="mediaTimePointType">

<restriction base="mpeg7:basicTimePointType"><pattern value="(\-?\d+(\-\d{2}(\-

\d{2})?)?)?(T\d{2}(:\d{2}(:\d{2}(:\d+)?)?)?)?(F\d+)?"/></restriction>

</simpleType><complexType name="VideoSegmentTemporalDecompositionType">

<complexContent><extension base="mpeg7:TemporalSegmentDecompositionType">

<sequence><element name="VideoSegment"

type="mpeg7:VideoSegmentType" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!-- ###################################################### --><!-- Profile - Definition of AudioSegment decomposition DSs (11.5.3) --><!-- ###################################################### --><!-- Definition of AudioSegmentTemporalDecomposition DS --><complexType name="AudioSegmentTemporalDecompositionType">

<complexContent><extension base="mpeg7:TemporalSegmentDecompositionType">

<sequence><element name="AudioSegment"

type="mpeg7:AudioSegmentType" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType>

Page 574: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

574

<!-- Definition of AudioVisualSegmentTemporalDecomposition DS --><complexType name="AudioVisualSegmentTemporalDecompositionType">

<complexContent><extension base="mpeg7:TemporalSegmentDecompositionType">

<sequence><element name="AudioVisualSegment"

type="mpeg7:AudioVisualSegmentType" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!-- Definition of TemporalSegmentDecomposition DS --><complexType name="TemporalSegmentDecompositionType" abstract="true">

<complexContent><extension base="mpeg7:SegmentDecompositionType"/>

</complexContent></complexType><complexType name="SegmentDecompositionType" abstract="true">

<complexContent><extension base="mpeg7:DSType">

<attribute name="criteria" type="string" use="optional"/><attribute name="overlap" type="boolean" use="optional"

default="false"/><attribute name="gap" type="boolean" use="optional"

default="false"/></extension>

</complexContent></complexType><complexType name="StillRegionType">

<complexContent><extension base="mpeg7:SegmentType">

<sequence><element name="MediaTimePoint"

type="mpeg7:mediaTimePointType"/></sequence>

</extension></complexContent>

</complexType><!-- ############################################### --><!-- Definition of mediaDuration datatype (6.4.12) --><!-- ############################################### --><!-- Definition of mediaDuration datatype --><simpleType name="mediaDurationType">

<restriction base="mpeg7:basicDurationType"><pattern value="\-?P(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?(\d+N)?)?(\d+F)?"/>

</restriction></simpleType>

Page 575: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

575

<simpleType name="durationType"><restriction base="mpeg7:basicDurationType">

<pattern value="\-?P(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?(\d+N)?)?(\d+F)?((\-|\+)\d{2}:\d{2}Z)?"/>

</restriction></simpleType><simpleType name="basicDurationType">

<restriction base="string"><pattern value="\-

?P(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?(\d+N)?(\d{2}f)?)?(\d+F)?((\-|\+)\d{2}:\d{2}Z)?"/></restriction>

</simpleType><!-- ################################################### --><!-- Definition of MediaIncrDuration datatype (6.4.13) --><!-- ################################################### --><!-- Definition of MediaIncrDuration datatype --><complexType name="MediaIncrDurationType">

<simpleContent><extension base="integer">

<attribute name="mediaTimeUnit"type="mpeg7:mediaDurationType" use="optional"/>

</extension></simpleContent>

</complexType><!-- END of EXTENSIONS for the MSP demo --><complexType name="ContentManagementType" abstract="true">

<complexContent><extension base="mpeg7:CompleteDescriptionType"/>

</complexContent></complexType><complexType name="RatingType">

<sequence><element name="RatingValue" type="float"/><element name="RatingScheme">

<complexType><complexContent>

<extension base="mpeg7:TermUseType"><attribute name="best" type="float"

use="optional"/><attribute name="worst" type="float"

use="optional"/><attribute name="style" use="required">

<simpleType><restriction

base="NMTOKEN"><enumeration

value="higherBetter"/>

Page 576: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

576

<enumerationvalue="lowerBetter"/>

</restriction></simpleType>

</attribute></extension>

</complexContent></complexType>

</element></sequence>

</complexType><complexType name="MediaInstanceType">

<complexContent><extension base="mpeg7:DSType">

<sequence><choice>

<element name="MediaLocator"type="mpeg7:MediaLocatorType"/>

</choice></sequence>

</extension></complexContent>

</complexType><complexType name="CreationDescriptionType">

<complexContent><extension base="mpeg7:ContentManagementType">

<sequence><element name="CreationInformation"

type="mpeg7:CreationInformationType" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><complexType name="CreationInformationType">

<complexContent><extension base="mpeg7:DSType">

<sequence><element name="Creation" type="mpeg7:CreationType"/><element name="Classification"

type="mpeg7:ClassificationType" minOccurs="0"/><element name="RelatedMaterial"

type="mpeg7:RelatedMaterialType" minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><complexType name="CreationType">

Page 577: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

577

<complexContent><extension base="mpeg7:DSType">

<sequence><element name="Title" type="mpeg7:TitleType"

maxOccurs="unbounded"/><element name="TitleMedia" type="mpeg7:TitleMediaType"

minOccurs="0"/><element name="Abstract"

type="mpeg7:TextAnnotationType" minOccurs="0" maxOccurs="unbounded"/><element name="Creator" type="mpeg7:CreatorType"

minOccurs="0" maxOccurs="unbounded"/><element ref="mpeg7:CreationCoordinates" minOccurs="0"

maxOccurs="unbounded"/><element name="CreationTool"

type="mpeg7:CreationToolType" minOccurs="0" maxOccurs="unbounded"/><element name="CopyrightString"

type="mpeg7:TextualType" minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><element name="CreationCoordinates">

<complexType><sequence>

<element name="Location" type="mpeg7:PlaceType"minOccurs="0"/>

<element name="Date" type="mpeg7:TimeType" minOccurs="0"/></sequence>

</complexType></element><complexType name="TitleType">

<simpleContent><extension base="mpeg7:TextualBaseType">

<attribute name="type" use="optional" default="main"/></extension>

</simpleContent></complexType><complexType name="TitleMediaType">

<sequence><element name="TitleImage" type="mpeg7:ImageLocatorType"

minOccurs="0"/></sequence>

</complexType><complexType name="ImageLocatorType">

<complexContent><extension base="mpeg7:MediaLocatorType"/>

</complexContent>

Page 578: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

578

</complexType><complexType name="TimeType">

<sequence><choice>

<element name="TimePoint" type="mpeg7:timePointType"/></choice>

</sequence></complexType><complexType name="ClassificationType">

<complexContent><extension base="mpeg7:DSType">

<sequence><element name="Genre" minOccurs="0"

maxOccurs="unbounded"><complexType>

<complexContent><extension

base="mpeg7:ControlledTermUseType"><attribute name="type"

use="optional" default="main"><simpleType>

<restrictionbase="NMTOKEN">

<enumeration value="main"/>

<enumeration value="secondary"/></restriction>

</simpleType></attribute>

</extension></complexContent>

</complexType></element><element name="ParentalGuidance"

type="mpeg7:ParentalGuidanceType" minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><complexType name="ParentalGuidanceType">

<sequence><choice>

<element name="ParentalRating"type="mpeg7:ControlledTermUseType"/>

</choice></sequence>

Page 579: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

579

</complexType><complexType name="RelatedMaterialType">

<complexContent><extension base="mpeg7:DSType">

<sequence><element name="DisseminationFormat"

type="mpeg7:ControlledTermUseType" minOccurs="0"/><element name="MaterialType" type="mpeg7:TermUseType"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><complexType name="ClassificationSchemeDescriptionType">

<complexContent><extension base="mpeg7:ContentManagementType">

<choice><element name="ClassificationScheme"

type="mpeg7:ClassificationSchemeType" maxOccurs="unbounded"/><element name="ClassificationSchemeBase"

type="mpeg7:ClassificationSchemeBaseType" maxOccurs="unbounded"/></choice>

</extension></complexContent>

</complexType><complexType name="ClassificationSchemeType">

<complexContent><extension base="mpeg7:ClassificationSchemeBaseType">

<sequence><element name="Term" type="mpeg7:TermDefinitionType"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><complexType name="ClassificationSchemeBaseType" abstract="true">

<complexContent><extension base="mpeg7:DSType">

<attribute name="uri" type="anyURI" use="required"/><attribute name="domain" use="optional"/>

</extension></complexContent>

</complexType><complexType name="TermDefinitionType">

<complexContent><extension base="mpeg7:TermDefinitionBaseType">

<sequence>

Page 580: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

580

<element name="Term" minOccurs="0"maxOccurs="unbounded">

<complexType><complexContent>

<extensionbase="mpeg7:TermDefinitionType">

<attribute name="relation"type="mpeg7:termRelationQualifierType" use="optional" default="NT"/>

</extension></complexContent>

</complexType></element>

</sequence></extension>

</complexContent></complexType><complexType name="TermDefinitionBaseType" abstract="true">

<complexContent><extension base="mpeg7:DSType">

<sequence><element name="Name" minOccurs="0"

maxOccurs="unbounded"><complexType>

<simpleContent><extension

base="mpeg7:TextualType"><attribute name="preferred"

type="boolean" use="optional"/></extension>

</simpleContent></complexType>

</element></sequence><attribute name="termID" type="NMTOKEN"/>

</extension></complexContent>

</complexType></schema>

Figure 354: The mpeg7smp schema

C.14 The Media Streaming Access Content Protocol schema

The schema characterised by the following URI:urn:mpeg:maf:schema:mediastreaming:accessprotocol:2007 is given below.

<?xml version="1.0" encoding="UTF-8"?>

Page 581: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

581

<schema targetNamespace="urn:mpeg:mpeg-m:schema:accesscontentprotocol:2009"xmlns:mxmacp="urn:mpeg:mpeg-m:schema:accesscontentprotocol:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:didl-msx="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"xmlns:didl="urn:mpeg:mpeg21:2006:07-DIDL-NS"xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:ipmpinfo-

msx="urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007"xmlns:ipmpinfo="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:rel-mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:dia="urn:mpeg:mpeg21:2003:01-DIA-NS"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"elementFormDefault="qualified" attributeFormDefault="unqualified"><import namespace="urn:mpeg:mpeg21:2002:01-DII-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/dii.xsd"/><import namespace="urn:mpeg:mpeg21:2006:07-DIDL-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl.xsd"/><import namespace="urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensions:2007"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo-msx.xsd"/><import namespace="urn:mpeg:mpeg21:2004:01-IPMPINFO-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ipmpinfo.xsd"/><import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/><import namespace="urn:mpeg:mpeg21:2003:01-REL-MX-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-mx.xsd"/><import namespace="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-m1x.xsd"/><import namespace="urn:mpeg:maf:schema:mediastreaming:DIDLextensions"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl-msx.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"/>

<import namespace="urn:mpeg:mpeg21:2003:01-DIA-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/ued.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<!-- **************************************************************** --><!-- AccessContentProtocolType --><!-- **************************************************************** --><complexType name="AccessContentProtocolType" abstract="true">

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent></complexType><!-- **************************************************************** -->

Page 582: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

582

<!-- Ack --><!-- **************************************************************** --><element name="Ack" type="mxmacp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmacp:AccessContentProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType>

<!-- **************************************************************** --><!-- RequestContent --><!-- **************************************************************** --><element name="RequestContent" type="mxmacp:RequestContentType"/><complexType name="RequestContentType">

<complexContent><extension base="mxmacp:AccessContentProtocolType">

<sequence><element name="ContentIdentifier"

type="msap:ContentIdentifierType"/><element name="MimeType" type="string" minOccurs="0"/><element ref="rel-r:license" minOccurs="0"/><element name="UsageEnvironmentDescription"

type="dia:UsageEnvironmentType" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- RequestContentResponse --><!-- **************************************************************** --><element name="RequestContentResponse"

type="mxmacp:RequestContentResponseType"/><complexType name="RequestContentResponseType">

<complexContent><extension base="mxmacp:AccessContentProtocolType">

<sequence><element name="DI" type="didl:DIDLType"

minOccurs="0"/><element name="ContentURL"

type="mxmacp:ContentURLType" minOccurs="0" maxOccurs="unbounded"/><element ref="dsig:Signature" minOccurs="0"/>

Page 583: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

583

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- ContentURLType --><!-- **************************************************************** --><complexType name="ContentURLType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="MimeType" type="string"/><element name="URL" type="anyURI"/>

</sequence></extension>

</complexContent></complexType>

Figure 355: The mxmacp schema

C.15 The Media Streaming Access License Protocol schema

The schema characterised by the following URI: urn:mpeg:mpeg-m:schema:accesslicenseprotocol:2009 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg-m:schema:accesslicenseprotocol:2009"

xmlns:mxmalp="urn:mpeg:mpeg-m:schema:accesslicenseprotocol:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:didl="urn:mpeg:mpeg21:2006:07-DIDL-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg21:2006:07-DIDL-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/didl.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"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<!-- **************************************************************** --><!-- AccessLicenseProtocolType --><!-- **************************************************************** --><complexType name="AccessLicenseProtocolType" abstract="true">

Page 584: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

584

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent></complexType><!-- **************************************************************** --><!-- Ack --><!-- **************************************************************** --><element name="Ack" type="mxmalp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmalp:AccessLicenseProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- RequestLicense --><!-- **************************************************************** --><element name="RequestLicense" type="mxmalp:RequestLicenseType"/><complexType name="RequestLicenseType">

<complexContent><extension base="mxmalp:AccessLicenseProtocolType">

<sequence><choice>

<element name="ContentIdentifier"type="mxmbp:ContentIdentifierType"/>

<element name="LicenseID" type="anyURI"/></choice><element ref="rel-r:license" minOccurs="0"/><element ref="dsig:Signature" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- RequestLicenseResponse --><!-- **************************************************************** --><element name="RequestLicenseResponse"

type="mxmalp:RequestLicenseResponseType"/><complexType name="RequestLicenseResponseType">

<complexContent><extension base="mxmalp:AccessLicenseProtocolType">

<sequence><choice>

Page 585: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

585

<element ref="rel-r:license"/><element name="ErrorCode"

type="mxmbp:ResultCodeType"/></choice><element ref="dsig:Signature" minOccurs="0"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType></schema>

Figure 3561: The mxmalp schema

C.16 The Media Streaming Base Protocol schema

The schema characterised by the following URI: urn:mpeg:mpeg-m:schema:baseprotocol:2009 isgiven below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"

xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"xmlns="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified" attributeFormDefault="unqualified">

<complexType name="ProtocolBaseType" abstract="true"/><complexType name="ProtocolType" abstract="true">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="TransactionID" type="string"/><element name="Date" type="dateTime" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- Ack --><!-- **************************************************************** --><element name="Ack" type="mxmbp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmbp:ProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension>

Page 586: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

586

</complexContent></complexType><!-- **************************************************************** --><!-- ProtocolResult --><!-- **************************************************************** --><element name="ProtocolResult" type="mxmbp:ProtocolResultType"/><complexType name="ProtocolResultType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ResultCode"

type="mxmbp:ResultCodeType" minOccurs="0"/><element name="DisplayString" type="string"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><complexType name="ResultCodeType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><choice>

<element name="BasicResultCode"type="mxmbp:BasicResultCodeType"/>

<element name="ExtendableResultCode"type="mxmbp:ExtendableResultCodeType"/>

</choice>

</sequence></extension>

</complexContent></complexType><simpleType name="BasicResultCodeType">

<restriction base="string"><enumeration value="OK"/><enumeration value="PERMISSION_DENIED"/><enumeration value="TIMEOUT"/><enumeration value="BUSY"/><enumeration value="MALFORMED_REQUEST"/><enumeration value="UNABLE_TO_PROCESS"/><enumeration value="OPERATION_NOT_SUPPORTED"/><enumeration value="UNKNOWN_MESSAGE"/><enumeration value="UNKNOWN_ERROR"/>

</restriction></simpleType><simpleType name="ExtendableResultCodeType">

Page 587: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

587

<restriction base="string"/></simpleType><!-- **************************************************************** --><!-- ContentIdentifierType --><!-- **************************************************************** --><element name="ContentIdentifier" type="mxmbp:ContentIdentifierType"/><complexType name="ContentIdentifierType">

<complexContent><extension base="mxmbp:ProtocolBaseType">

<sequence><element name="ContentItemIdentifier" type="anyURI"/><element name="ContentElementIdentifier" type="anyURI"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType></schema>

Figure 357: The mxmbp schema

C.17 The Media Streaming Domain schema

The schema characterised by the following URI: urn:mpeg:mpeg-m:schema:domain:2009 is givenbelow.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg-m:schema:domain:2009"

xmlns:mxmd="urn:mpeg:mpeg-m:schema:domain:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="http://www.w3.org/2000/09/xmldsig#"schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<import namespace="http://www.w3.org/2001/04/xmlenc#"schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>

<complexType name="DomainBaseType" abstract="true"/><complexType name="IDType">

<sequence>

Page 588: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

588

<choice><element name="id" type="anyURI"/><element ref="dsig:X509Data" minOccurs="0"/>

</choice></sequence>

</complexType><element name="DomainID" type="mxmd:DomainIDType"/><complexType name="DomainIDType">

<complexContent><extension base="mxmd:IDType">

<sequence><element ref="mxmd:DomainManagerID"/>

</sequence></extension>

</complexContent></complexType><element name="DACredentials" type="mxmd:DomainCredentialType"/><element name="DomainMembershipCredentials" type="mxmd:DomainCredentialType"/><complexType name="DomainCredentialType">

<sequence><element ref="mxmd:AccessID"/><element ref="mxmd:AccessPassword"/>

</sequence></complexType><element name="DomainManageInfo" type="mxmd:DomainManageInfoType"/><complexType name="DomainManageInfoType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:DACredentials" minOccurs="0"/><element ref="mxmd:DomainMembershipCredentials"

minOccurs="0"/><choice minOccurs="0" maxOccurs="2">

<element ref="mxmd:User"/><element ref="mxmd:Device"/>

</choice><element ref="mxmd:DomainKey"/><element name="Registration" type="dateTime"/><element ref="mxmd:Expiration"/>

</sequence></extension>

</complexContent></complexType><element name="User" type="mxmd:UserType"/><complexType name="UserType">

<complexContent>

Page 589: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

589

<extension base="mxmd:DomainBaseType"><sequence>

<element ref="mxmd:UserIDList"/><element ref="mxmd:MaximumNumberOfUsers"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateUser"

minOccurs="0"/><element ref="mxmd:UserRevocationList" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><element name="Device" type="mxmd:DeviceType"/><complexType name="DeviceType">

<complexContent><extension base="mxmd:DomainBaseType">

<sequence><element ref="mxmd:DeviceIDList"/><element ref="mxmd:MaximumNumberOfDevices"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateDevice"

minOccurs="0"/><element ref="mxmd:DeviceRevocationList"

minOccurs="0"/></sequence>

</extension></complexContent>

</complexType><element name="UserRevocationList" type="mxmd:UserRevocationListType"/><complexType name="UserRevocationListType">

<sequence minOccurs="0" maxOccurs="unbounded"><element ref="mxmd:UserID"/>

</sequence></complexType><element name="DeviceIDList" type="mxmd:DeviceIDListType"/><complexType name="DeviceIDListType">

<sequence minOccurs="0" maxOccurs="unbounded"><element ref="mxmd:DeviceID"/><element ref="mxmd:Expiration"/>

</sequence></complexType><element name="UserIDList" type="mxmd:UserIDListType"/><complexType name="UserIDListType">

<sequence minOccurs="0" maxOccurs="unbounded"><element ref="mxmd:UserID"/><element ref="mxmd:Expiration"/>

</sequence>

Page 590: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

590

</complexType><element name="DeviceRevocationList" type="mxmd:DeviceRevocationListType"/><complexType name="DeviceRevocationListType">

<sequence minOccurs="0" maxOccurs="unbounded"><element ref="mxmd:DeviceID"/>

</sequence></complexType><element name="UseData" type="mxmd:UseDataType"/><complexType name="UseDataType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:Record" minOccurs="0" maxOccurs="unbounded"/>

</sequence></complexType><element name="Record" type="mxmd:RecordType"/><complexType name="RecordType">

<sequence><element ref="mxmd:DeviceID"/><element name="StartTime" type="dateTime"/><element name="EndTime" type="dateTime"/><element name="NumberOfContentGroups" type="integer"/><element ref="mxmd:ContentGroupID" minOccurs="0"

maxOccurs="unbounded"/><element name="NotificationFlag" type="boolean"/>

</sequence></complexType><element name="DomainManagerID" type="rel-r:KeyHolder"/><element name="AccessPassword" type="string"/><element name="AccessID" type="string"/><element name="DomainKey" type="xenc:EncryptedKeyType"/><element name="UserID" type="mxmd:IDType"/><element name="DeviceID" type="mxmd:IDType"/><element name="LocalDomainID" type="mxmd:IDType"/><element name="ContentGroupID" type="anyURI"/><element name="MaximumNumberOfDevices" type="unsignedInt"/><element name="MaximumNumberOfUsers" type="unsignedInt"/><element name="MaximumFrequencyOfUpdateDevice" type="duration"/><element name="MaximumFrequencyOfUpdateUser" type="duration"/><element name="Expiration" type="rel-sx:ValidityTimeMetered"/>

</schema>

Figure 358: The mxmd schema

C.18 The Media Streaming Domain Protocol schema

The schema characterised by the following URI: urn:mpeg:mpeg-m:schema:domainprotocol:2009 isgiven below.

Page 591: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

591

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:mpeg-m:schema:domainprotocol:2009"

xmlns:mxmdp="urn:mpeg:mpeg-m:schema:domainprotocol:2009"xmlns="http://www.w3.org/2001/XMLSchema"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:mxmd="urn:mpeg:mpeg-m:schema:domain:2009"xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="urn:mpeg:mpeg-m:schema:domain:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmd.xsd"/>

<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>

<import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<!-- **************************************************************** --><!-- DomainProtocolType --><!-- **************************************************************** --><complexType name="DomainProtocolType" abstract="true">

<complexContent><extension base="mxmbp:ProtocolType"/>

</complexContent></complexType><!-- **************************************************************** --><!-- Ack --><!-- **************************************************************** --><element name="Ack" type="mxmdp:AckType"/><complexType name="AckType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence minOccurs="0"><element ref="mxmbp:ProtocolResult"/>

</sequence><attribute name="Result" type="boolean" use="required"/>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- AuthenticateReq --><!-- **************************************************************** --><element name="AuthenticateReq" type="mxmdp:AuthenticateReqType"/><complexType name="AuthenticateReqType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainID" minOccurs="0"/><choice>

<element ref="mxmd:DACredentials"/>

Page 592: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

592

<elementref="mxmd:DomainMembershipCredentials"/>

</choice></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- LocalDomainIDRequest --><!-- **************************************************************** --><element name="LocalDomainIDRequest" type="mxmdp:RequestLocalDomainIDType"/><complexType name="RequestLocalDomainIDType">

<complexContent><extension base="mxmdp:DomainProtocolType"/>

</complexContent></complexType><!-- **************************************************************** --><!-- LocalDomainIDResponse --><!-- **************************************************************** --><element name="LocalDomainIDResponse"

type="mxmdp:LocalDomainIDResponseType"/><complexType name="LocalDomainIDResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:LocalDomainID"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- RequestKey --><!-- **************************************************************** --><element name="RequestKey" type="mxmdp:RequestKeyType"/><complexType name="RequestKeyType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:ContentGroupID" minOccurs="0"

maxOccurs="unbounded"/><choice minOccurs="0" maxOccurs="unbounded">

<element ref="mxmd:DeviceID"/><element ref="mxmd:UserID"/>

</choice></sequence>

</extension>

Page 593: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

593

</complexContent></complexType><!-- **************************************************************** --><!-- RequestKeyResponse --><!-- **************************************************************** --><element name="RequestKeyResponse" type="mxmdp:RequestKeyResponseType"/><complexType name="RequestKeyResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainKey"/><element ref="mxmd:UserID" minOccurs="0"

maxOccurs="unbounded"/><element ref="mxmd:DeviceID" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- AddDevice --><!-- **************************************************************** --><element name="AddDevice" type="mxmdp:AddDeviceType"/><complexType name="AddDeviceType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DeviceID"/><element ref="mxmd:Expiration" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- AddUser --><!-- **************************************************************** --><element name="AddUser" type="mxmdp:AddUserType"/><complexType name="AddUserType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:UserID"/><element ref="mxmd:Expiration" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType>

Page 594: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

594

<!-- **************************************************************** --><!-- RenewDevice --><!-- **************************************************************** --><element name="RenewDevice" type="mxmdp:RenewDeviceType"/><complexType name="RenewDeviceType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DeviceID"/><element ref="mxmd:UseData" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- RenewUser --><!-- **************************************************************** --><element name="RenewUser" type="mxmdp:RenewUserType"/><complexType name="RenewUserType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:UserID"/><element ref="mxmd:UseData" minOccurs="0"/>

</sequence></extension>

</complexContent></complexType><!--

************************************************************************** --><!-- AddDeviceResponse, AddUserResponse, RenewDeviceResponse, RenewUserResponse

--><!--

************************************************************************** --><element name="AddDeviceResponse" type="mxmdp:LicenseResponseType"/><element name="AddUserResponse" type="mxmdp:LicenseResponseType"/><element name="RenewDeviceResponse" type="mxmdp:LicenseResponseType"/><element name="RenewUserResponse" type="mxmdp:LicenseResponseType"/><complexType name="LicenseResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="rel-r:license"/>

</sequence></extension>

</complexContent></complexType>

Page 595: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

595

<!-- **************************************************************** --><!-- LeaveDevice --><!-- **************************************************************** --><element name="LeaveDevice" type="mxmdp:LeaveDeviceType"/><complexType name="LeaveDeviceType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DeviceID"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- LeaveUser --><!-- **************************************************************** --><element name="LeaveUser" type="mxmdp:LeaveUserType"/><complexType name="LeaveUserType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:UserID"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- CreateDomain --><!-- **************************************************************** --><element name="CreateDomain" type="mxmdp:CreateDomainType"/><complexType name="CreateDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DACredentials"/><element ref="mxmd:Expiration"/><element ref="mxmd:MaximumNumberOfUsers"

minOccurs="0"/><element ref="mxmd:MaximumNumberOfDevices"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateUser"

minOccurs="0"/><element ref="mxmd:MaximumFrequencyOfUpdateDevice"

minOccurs="0"/><element ref="mxmd:UserRevocationList" minOccurs="0"/><element ref="mxmd:DeviceRevocationList"

minOccurs="0"/>

Page 596: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

596

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- CreateDomainResponse --><!-- **************************************************************** --><element name="CreateDomainResponse" type="mxmdp:CreateDomainResponseType"/><complexType name="CreateDomainResponseType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:DomainID"/><element ref="mxmd:DomainMembershipCredentials"

maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><!-- **************************************************************** --><!-- RenewDomain --><!-- **************************************************************** --><element name="RenewDomain" type="mxmdp:RenewDomainType"/><complexType name="RenewDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:Expiration"/>

</sequence></extension>

</complexContent></complexType><!-- **************************************************************** --><!-- DeleteDomain --><!-- **************************************************************** --><element name="DeleteDomain" type="mxmdp:DeleteDomainType"/><complexType name="DeleteDomainType">

<complexContent><extension base="mxmdp:DomainProtocolType"/>

</complexContent></complexType><!-- **************************************************************** --><!-- UnLicensedSimultaneousUseNotice --><!-- **************************************************************** --><element name="UnLicensedSimultaneousUseNotice"

type="mxmdp:UnLicensedSimultaneousUseNoticeType"/><complexType name="UnLicensedSimultaneousUseNoticeType">

Page 597: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

597

<complexContent><extension base="mxmdp:DomainProtocolType">

<sequence><element ref="mxmd:UseData" maxOccurs="unbounded"/>

</sequence></extension>

</complexContent></complexType>

</schema>

Figure 359: The mxmdp schema

C.19 The Media Streaming REL Multimedia Extension One

The REL Multimedia Extension One schema characterised by the following URI:urn:mpeg:mpeg21:2005:01-REL-M1X-NS is given below.

<?xml version="1.0" encoding="UTF-8"?><xsd:schema targetNamespace="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"

xmlns:rel-m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"xmlns:rel-mx="urn:mpeg:mpeg21:2005:01-REL-MX-NS"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="http://www.w3.org/XML/1998/namespace"schemaLocation="http://www.w3.org/2001/xml.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-MX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-mx.xsd"/>

<xsd:import namespace="http://www.w3.org/2001/04/xmlenc#"schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>

<!-- Elements --><xsd:element name="delist" type="rel-m1x:Delist" substitutionGroup="rel-r:right"/><xsd:element name="drmSystem" type="rel-m1x:DrmSystem" substitutionGroup="rel-

r:condition"/><xsd:element name="derivationConstraint" type="rel-m1x:DerivationConstraint"

substitutionGroup="rel-r:condition"/><xsd:element name="enlist" type="rel-m1x:Enlist" substitutionGroup="rel-r:right"/><xsd:element name="governedCopy" type="rel-m1x:GovernedCopy"

substitutionGroup="rel-r:right"/><xsd:element name="governedMove" type="rel-m1x:GovernedMove"

substitutionGroup="rel-r:right"/>

Page 598: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

598

<xsd:element name="identityHolder" type="rel-m1x:IdentityHolder"substitutionGroup="rel-r:principal"/>

<xsd:element name="outputRegulation" type="rel-m1x:OutputRegulation"substitutionGroup="rel-r:condition"/>

<xsd:element name="protectedResource" type="rel-m1x:ProtectedResource"substitutionGroup="rel-r:resource"/>

<xsd:element name="seekPermission" type="rel-m1x:SeekPermission"substitutionGroup="rel-r:condition"/>

<xsd:element name="serviceLocation" type="rel-m1x:ServiceLocation"substitutionGroup="rel-r:serviceDescription"/>

<xsd:element name="startCondition" type="rel-m1x:StartCondition"substitutionGroup="rel-r:condition"/>

<!--Complex Types--><xsd:complexType name="Delist">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="DrmSystem">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element name="identifier" type="xsd:anyURI"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Enlist">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="DerivationConstraint">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence><xsd:element name="isPartOf" minOccurs="0"

maxOccurs="unbounded"><xsd:complexType>

<xsd:sequence maxOccurs="unbounded"><xsd:element ref="rel-

m1x:protectedResource"/></xsd:sequence>

</xsd:complexType></xsd:element><xsd:element name="resourceInclusionList" minOccurs="0"

maxOccurs="unbounded">

Page 599: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

599

<xsd:complexType><xsd:sequence maxOccurs="unbounded">

<xsd:element ref="rel-m1x:protectedResource"/>

</xsd:sequence><xsd:attribute name="temporalRelation"

type="xsd:QName" use="optional"/></xsd:complexType>

</xsd:element><xsd:element name="resourceExclusionList" minOccurs="0"

maxOccurs="unbounded"><xsd:complexType>

<xsd:sequence maxOccurs="unbounded"><xsd:element ref="rel-

m1x:protectedResource"/></xsd:sequence><xsd:attribute name="temporalRelation"

type="xsd:QName" use="optional"/></xsd:complexType>

</xsd:element><xsd:element name="resourceReplacementList"

minOccurs="0"><xsd:complexType>

<xsd:sequence maxOccurs="unbounded"><xsd:element ref="rel-

m1x:protectedResource"/></xsd:sequence>

</xsd:complexType></xsd:element>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="GovernedCopy">

<xsd:complexContent><xsd:extension base="rel-r:Right">

<xsd:attribute name="governanceRule" type="xsd:QName"/></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="GovernedMove">

<xsd:complexContent><xsd:extension base="rel-r:Right">

<xsd:attribute name="governanceRule" type="xsd:QName"/></xsd:extension>

</xsd:complexContent></xsd:complexType>

Page 600: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

600

<xsd:complexType name="IdentityHolder"><xsd:complexContent>

<xsd:extension base="rel-r:Principal"><xsd:sequence minOccurs="0">

<xsd:element name="idSystem" type="xsd:anyURI"minOccurs="0"/>

<xsd:element name="idValue"><xsd:complexType mixed="true">

<xsd:sequence><xsd:any namespace="##any"

minOccurs="0"/></xsd:sequence>

</xsd:complexType></xsd:element>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="OutputRegulation">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0" maxOccurs="unbounded"><xsd:element name="regulation">

<xsd:complexType mixed="true"><xsd:attribute name="typeOfSignal"

type="xsd:QName" use="optional"/><xsd:attribute name="qualityOfSignal"

type="xsd:QName" use="optional"/></xsd:complexType>

</xsd:element></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="ProtectedResource">

<xsd:complexContent><xsd:extension base="rel-r:Resource">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-r:digitalResource"/><xsd:choice minOccurs="0" maxOccurs="unbounded">

<xsd:element ref="xenc:EncryptedData"/><xsd:element ref="xenc:EncryptedKey"/>

</xsd:choice><xsd:element name="resourceLocator" type="xsd:anyURI"

minOccurs="0"/></xsd:sequence>

</xsd:extension>

Page 601: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

601

</xsd:complexContent></xsd:complexType><xsd:complexType name="SeekPermission">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-r:serviceReference"/><xsd:element name="cacheable" minOccurs="0">

<xsd:complexType><xsd:sequence>

<xsd:element name="period"type="xsd:duration" minOccurs="0"/>

</xsd:sequence></xsd:complexType>

</xsd:element></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="ServiceLocation">

<xsd:complexContent><xsd:extension base="rel-r:ServiceDescription">

<xsd:sequence minOccurs="0"><xsd:element name="url" type="xsd:anyURI"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="StartCondition">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-r:condition"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><!-- Simple Types --><xsd:simpleType name="LicenseType">

<xsd:list itemType="xsd:QName"/></xsd:simpleType><!-- Attributes --><xsd:attribute name="licenseType" type="rel-m1x:LicenseType"/>

</xsd:schema>

Figure 360: The rel-m1x schema

Page 602: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

602

C.20 The REL Multimedia Extension Two

The REL Multimedia Extension Two schema characterised by the following URI:urn:mpeg:mpeg21:2006:01-REL-M2X-NS is given below.

<?xml version="1.0" encoding="UTF-8"?><xsd:schema targetNamespace="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"

xmlns:rel-m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:rel-mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:rel-m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="http://www.w3.org/XML/1998/namespace"schemaLocation="http://www.w3.org/2001/xml.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-MX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-mx.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-m1x.xsd"/>

<xsd:import namespace="http://www.w3.org/2001/04/xmlenc#"schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>

<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="export" type="rel-m2x:Export" substitutionGroup="rel-r:right"/><xsd:element name="extendRights" type="rel-m2x:ExtendRights" substitutionGroup="rel-

r:right"/><xsd:element name="simultaneousAccess" type="rel-m2x:SimultaneousAccess"

substitutionGroup="rel-r:condition"/><xsd:element name="noSkipConstraint" type="rel-m2x:NoSkipConstraint"

substitutionGroup="rel-r:condition"/><xsd:element name="destinationPrincipal" type="rel-m2x:DestinationPrincipal"

substitutionGroup="rel-r:condition"/><xsd:element name="destinationCondition" type="rel-m2x:DestinationCondition"

substitutionGroup="rel-r:condition"/><xsd:element name="securitySystem" type="rel-m2x:SecuritySystem"

substitutionGroup="rel-r:condition"/><xsd:element name="proximity" type="rel-m2x:Proximity" substitutionGroup="rel-

r:condition"/>

Page 603: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

603

<xsd:element name="scrambling" type="rel-m2x:Scrambling" substitutionGroup="rel-r:condition"/>

<xsd:element name="timedExerciseLimit" type="rel-m2x:TimedExerciseLimit"substitutionGroup="rel-r:condition"/> <xsd:element name="timeShiftDuration" type="rel-m2x:TimeShiftDuration" substitutionGroup="rel-r:condition"/>

<!-- Complex Type --><xsd:complexType name="DestinationPrincipal">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-r:principal"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="DestinationCondition">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-r:condition"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Export">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="ExtendRights">

<xsd:complexContent><xsd:extension base="rel-r:Right">

<xsd:sequence><xsd:element ref="rel-m1x:serviceLocation"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="SimultaneousAccess">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element name="count" type="xsd:positiveInteger"/><xsd:element name="period" type="rel-r:ValidityInterval"

minOccurs="0" maxOccurs="unbounded"/><xsd:element name="isPartOf" minOccurs="0"

maxOccurs="unbounded">

Page 604: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

604

<xsd:complexType><xsd:sequence>

<xsd:element name="digitalResource"type="rel-r:DigitalResource"/>

</xsd:sequence></xsd:complexType>

</xsd:element></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="SecuritySystem">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element name="identifier" type="xsd:anyURI"/><xsd:element name="level" type="xsd:string"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="Proximity">

<xsd:complexContent><xsd:extension base="rel-r:Condition"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Scrambling">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:attribute name="cipherType" type="xsd:QName"use="optional"/>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="TimedExerciseLimit">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:choice>

<xsd:element name="duration" type="xsd:duration"minOccurs="0"/>

<xsd:element name="quantum" type="xsd:duration"minOccurs="0"/>

</xsd:choice><xsd:element name="count" type="xsd:integer"

minOccurs="0"/>

Page 605: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

605

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="NoSkipConstraint">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:choice maxOccurs="unbounded" minOccurs="0"><xsd:element name="interval" type="rel-

m2x:RelTimeDuration"/><xsd:element name="object" type="rel-r:DigitalResource"/>

</xsd:choice></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="RelTimeDuration" >

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element name="relStartTime" type="xsd:duration"/><xsd:element name="relDuration" type="xsd:duration"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="TimeShiftDuration">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element name="duration" type="xsd:duration"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType>

</xsd:schema>

Figure 361: The rel-m2x schema

C.21 The REL Multimedia Extension Three

The REL Multimedia Extension Three schema characterised by the following URI:urn:mpeg:mpeg21:2006:01-REL-M3X-NS is given below.

<?xml version="1.0" encoding="UTF-8"?><xsd:schema targetNamespace="urn:mpeg:mpeg21:2006:01-REL-M3X-NS"

xmlns:rel-m3x="urn:mpeg:mpeg21:2006:01-REL-M3X-NS"xmlns:rel-m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"

Page 606: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

606

xmlns:rel-m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:rel-mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="http://www.w3.org/XML/1998/namespace"schemaLocation="http://www.w3.org/2001/xml.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-MX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-mx.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-m1x.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-m2x.xsd"/>

<xsd:import namespace="http://www.w3.org/2001/04/xmlenc#"schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>

<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="copyrightNotice" type="rel-m3x:CopyrightNotice"

substitutionGroup="rel-r:condition"/><xsd:element name="nonCommercialUse" type="rel-m3x:NonCommercialUse"

substitutionGroup="rel-r:condition"/><xsd:element name="sourceCode" type="rel-m3x:SourceCode" substitutionGroup="rel-

r:condition"/><xsd:element name="aggregate" type="rel-m3x:Aggregate" substitutionGroup="rel-

r:right"/><xsd:element name="embed" type="rel-m3x:Embed" substitutionGroup="rel-r:right"/><xsd:element name="governedAdapt" type="rel-m3x:GovernedAdapt"

substitutionGroup="rel-r:right"/><xsd:element name="governedAggregate" type="rel-m3x:GovernedAggregate"

substitutionGroup="rel-r:right"/><xsd:element name="governedEmbed" type="rel-m3x:GovernedEmbed"

substitutionGroup="rel-r:right"/><xsd:complexType name="CopyrightNotice">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element name="copyrightString" type="xsd:string"

minOccurs="0"/>

Page 607: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

607

</xsd:sequence><xsd:attribute name="noticeType" type="xsd:QName"

use="optional"/></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="NonCommercialUse">

<xsd:complexContent><xsd:extension base="rel-r:Condition"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="SourceCode">

<xsd:complexContent><xsd:extension base="rel-r:Condition"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="GovernedAdapt">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Aggregate">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="GovernedAggregate">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Embed">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="GovernedEmbed">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType>

</xsd:schema>

Figure 362: The rel-m3x schema

Page 608: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

608

C.22 The Media Streaming REL Multimedia extension profile schema

The XML Schema for the profile elements and types of the MPEG REL multimedia extension,characterised by the following URI: urn:mpeg:mpeg21:2003:01-REL-MX-NS is given below.

<?xml version="1.0" encoding="UTF-8"?><xsd:schema targetNamespace="urn:mpeg:mpeg21:2003:01-REL-MX-NS"

xmlns:rel-mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd" />

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd" />

<xsd:import namespace="http://www.w3.org/2001/04/xmlenc#"schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>

<!-- Rights --><xsd:element name="derive" type="rel-mx:Derive" substitutionGroup="rel-r:right"/><xsd:element name="execute" type="rel-mx:Execute" substitutionGroup="rel-r:right"/><xsd:element name="play" type="rel-mx:Play" substitutionGroup="rel-r:right"/><xsd:element name="print" type="rel-mx:Print" substitutionGroup="rel-r:right"/><xsd:element name="adapt" type="rel-mx:Adapt" substitutionGroup="rel-r:right"/><!--Complex Types--><xsd:complexType name="Modify">

<xsd:complexContent><xsd:extension base="rel-r:Right" />

</xsd:complexContent></xsd:complexType><xsd:complexType name="Derive">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Execute">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Play">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Print">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

Page 609: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

609

</xsd:complexContent></xsd:complexType><xsd:complexType name="Adapt">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Diminish">

<xsd:complexContent><xsd:extension base="rel-r:Right" />

</xsd:complexContent></xsd:complexType><xsd:complexType name="Enhance">

<xsd:complexContent><xsd:extension base="rel-r:Right" />

</xsd:complexContent></xsd:complexType><!-- --><!-- === Resources === --><!-- --><!-- Digital Item Resources --><xsd:complexType name="DiReference">

<xsd:complexContent><xsd:extension base="rel-r:Resource">

<xsd:sequence minOccurs="0"><xsd:element name="identifier" type="xsd:anyURI" />

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:element name="diReference" type="rel-mx:DiReference"

substitutionGroup="rel-r:resource" /><!-- --><!-- === Conditions === --><!-- --><!-- Digital Item Conditions --><xsd:complexType name="DiCriteria">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-mx:diReference" /><xsd:element ref="rel-r:anXmlPatternAbstract"

maxOccurs="unbounded" /></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType>

Page 610: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

610

<xsd:complexType name="DiPartOf"><xsd:complexContent>

<xsd:extension base="rel-r:Condition"><xsd:sequence minOccurs="0">

<xsd:element ref="rel-mx:diReference" /><xsd:element ref="rel-mx:diReference" />

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:element name="diCriteria" type="rel-mx:DiCriteria" substitutionGroup="rel-

r:condition" /><xsd:element name="diPartOf" type="rel-mx:DiPartOf" substitutionGroup="rel-r:condition"

/><xsd:complexType name="ProhibitedAttributeChanges">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:choice minOccurs="0" maxOccurs="unbounded"><xsd:element ref="rel-mx:complement" /><xsd:element ref="rel-mx:intersection" /><xsd:element ref="rel-mx:set" /><xsd:element ref="rel-mx:union" />

</xsd:choice></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:element name="prohibitedAttributeChanges" type="rel-

mx:ProhibitedAttributeChanges" substitutionGroup="rel-r:condition" /><!-- Resource Attribute Set Definitions --><xsd:element name="complement" substitutionGroup="rel-r:licensePart">

<xsd:complexType><xsd:complexContent>

<xsd:extension base="rel-r:LicensePart"><xsd:choice minOccurs="0">

<xsd:element ref="rel-mx:complement" /><xsd:element ref="rel-mx:intersection" /><xsd:element ref="rel-mx:set" /><xsd:element ref="rel-mx:union" />

</xsd:choice></xsd:extension>

</xsd:complexContent></xsd:complexType>

</xsd:element><xsd:element name="intersection" substitutionGroup="rel-r:licensePart">

<xsd:complexType><xsd:complexContent>

<xsd:extension base="rel-r:LicensePart">

Page 611: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

611

<xsd:choice minOccurs="0" maxOccurs="unbounded"><xsd:element ref="rel-mx:complement" /><xsd:element ref="rel-mx:intersection" /><xsd:element ref="rel-mx:set" /><xsd:element ref="rel-mx:union" />

</xsd:choice></xsd:extension>

</xsd:complexContent></xsd:complexType>

</xsd:element><xsd:element name="set" substitutionGroup="rel-r:licensePart">

<xsd:complexType><xsd:complexContent>

<xsd:extension base="rel-r:LicensePart"><xsd:sequence>

<xsd:any namespace="##any" minOccurs="0"maxOccurs="unbounded" />

</xsd:sequence><xsd:attribute name="definition" type="xsd:anyURI"

use="optional" /></xsd:extension>

</xsd:complexContent></xsd:complexType>

</xsd:element><xsd:element name="union" substitutionGroup="rel-r:licensePart">

<xsd:complexType><xsd:complexContent>

<xsd:extension base="rel-r:LicensePart"><xsd:choice minOccurs="0" maxOccurs="unbounded">

<xsd:element ref="rel-mx:complement" /><xsd:element ref="rel-mx:intersection" /><xsd:element ref="rel-mx:set" /><xsd:element ref="rel-mx:union" />

</xsd:choice></xsd:extension>

</xsd:complexContent></xsd:complexType>

</xsd:element></xsd:schema>

Figure 363: The rel-mx schema

C.23 The Media Streaming REL core profile schema

The XML Schema for the profile elements and types of the MPEG REL core, characterised by thefollowing URI: urn:mpeg:mpeg21:2003:01-REL-R-NS is given below.

Page 612: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

612

<?xml version="1.0" encoding="UTF-8"?><xsd:schema targetNamespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"

xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:rel-mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS"xmlns:rel-m1x="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"xmlns:rel-m2x="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"xmlns:rel-m3x="urn:mpeg:mpeg21:2006:01-REL-M3X-NS"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:sccns="urn:uddi-org:schemaCentricC14N:2002-07-10"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"xmlns:dmprpp="urn:dmp:idp:represent:PaymentProtocol:2008"elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="http://www.w3.org/XML/1998/namespace"schemaLocation="http://www.w3.org/2001/xml.xsd"/>

<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"/>

<xsd:import namespace="http://www.w3.org/2001/04/xmlenc#"schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-sx.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-MX-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-mx.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2005:01-REL-M1X-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-m1x.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2006:01-REL-M2X-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-m2x.xsd"/>

<xsd:import namespace="urn:mpeg:mpeg21:2006:01-REL-M3X-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-m3x.xsd"/>

<!-- Elements --><xsd:element name="allConditions" type="rel-r:AllConditions" substitutionGroup="rel-

r:condition"/><xsd:element name="anXmlExpression" type="rel-r:AnXmlExpression"

substitutionGroup="rel-r:anXmlPatternAbstract"/><xsd:element name="anXmlPatternAbstract" type="rel-r:AnXmlPatternAbstract"

substitutionGroup="rel-r:resource"/><xsd:element name="condition" type="rel-r:Condition" substitutionGroup="rel-

r:licensePart"/><xsd:element name="conditionPatternAbstract" type="rel-r:ConditionPatternAbstract"

substitutionGroup="rel-r:anXmlPatternAbstract"/><xsd:element name="digitalResource" type="rel-r:DigitalResource" substitutionGroup="rel-

r:resource"/><xsd:element name="forAll" block="#all" substitutionGroup="rel-r:licensePart"

final="#all"><xsd:complexType>

Page 613: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

613

<xsd:complexContent><xsd:extension base="rel-r:LicensePart">

<xsd:sequence><xsd:element ref="rel-r:anXmlPatternAbstract"

minOccurs="0" maxOccurs="unbounded" /></xsd:sequence><xsd:attribute name="varName" type="rel-r:VariableName"/>

</xsd:extension></xsd:complexContent>

</xsd:complexType></xsd:element><xsd:element name="grant" type="rel-r:Grant" substitutionGroup="rel-r:resource"/><xsd:element name="grantGroup" type="rel-r:GrantGroup" substitutionGroup="rel-

r:resource"/><xsd:element name="keyHolder" type="rel-r:KeyHolder" substitutionGroup="rel-

r:principal"/><xsd:element name="issue" block="#all" substitutionGroup="rel-r:right" final="#all">

<xsd:complexType><xsd:complexContent>

<xsd:extension base="rel-r:Right" /></xsd:complexContent>

</xsd:complexType></xsd:element><xsd:element name="issuer" type="rel-r:Issuer"/><xsd:element name="license" type="rel-r:License"/><xsd:element name="licensePart" type="rel-r:LicensePart"/><xsd:element name="obtain" type="rel-r:Obtain" substitutionGroup="rel-r:right"/><xsd:element name="possessProperty" type="rel-r:PossessProperty" substitutionGroup="rel-

r:right"/><xsd:element name="propertyAbstract" type="rel-r:PropertyAbstract"

substitutionGroup="rel-r:resource"/><xsd:element name="principal" type="rel-r:Principal" substitutionGroup="rel-r:resource"/><xsd:element name="principalPatternAbstract" type="rel-r:PrincipalPatternAbstract"

substitutionGroup="rel-r:resourcePatternAbstract"/><xsd:element name="propertyPossessor" type="rel-r:PropertyPossessor"

substitutionGroup="rel-r:principalPatternAbstract"/><xsd:element name="resource" type="rel-r:Resource" substitutionGroup="rel-

r:licensePart"/><xsd:element name="resourcePatternAbstract" type="rel-r:ResourcePatternAbstract"

substitutionGroup="rel-r:anXmlPatternAbstract"/><xsd:element name="right" type="rel-r:Right" substitutionGroup="rel-r:licensePart"/><xsd:element name="serviceDescription" type="rel-r:ServiceDescription"

substitutionGroup="rel-r:licensePart"/><xsd:element name="serviceReference" type="rel-r:ServiceReference"

substitutionGroup="rel-r:resource"/><xsd:element name="trustedRootIssuers" type="rel-r:TrustedRootIssuers"

substitutionGroup="rel-r:trustRoot"/>

Page 614: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

614

<xsd:element name="trustRoot" type="rel-r:TrustRoot" substitutionGroup="rel-r:licensePart"/>

<xsd:element name="validityInterval" type="rel-r:ValidityInterval" substitutionGroup="rel-r:condition"/>

<!--Complex Types--><xsd:complexType name="AllConditions">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence><xsd:element ref="rel-r:condition" minOccurs="0"

maxOccurs="unbounded"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="AnXmlExpression" mixed="true"

sccns:embeddedLangAttribute="rel-r:lang"><xsd:complexContent mixed="true">

<xsd:extension base="rel-r:AnXmlPatternAbstract"><xsd:attribute name="lang" type="xsd:anyURI"

default="http://www.w3.org/TR/1999/REC-xpath-19991116"/></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="AnXmlPatternAbstract">

<xsd:complexContent><xsd:extension base="rel-r:Resource"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Condition">

<xsd:complexContent><xsd:extension base="rel-r:LicensePart"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="ConditionPatternAbstract">

<xsd:complexContent><xsd:extension base="rel-r:AnXmlPatternAbstract" />

</xsd:complexContent></xsd:complexType><xsd:complexType name="DigitalResource">

<xsd:complexContent><xsd:extension base="rel-r:Resource">

<xsd:choice minOccurs="0"><xsd:element name="secureIndirect"

type="dsig:ReferenceType"/><xsd:element name="nonSecureIndirect" type="rel-

r:NonSecureReference"/>

Page 615: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

615

</xsd:choice></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Grant">

<xsd:complexContent><xsd:extension base="rel-r:Resource">

<xsd:choice minOccurs="0"><xsd:sequence>

<xsd:element ref="rel-r:forAll" minOccurs="0"maxOccurs="unbounded"/>

<xsd:element ref="rel-r:principal" minOccurs="0"/><xsd:element ref="rel-r:right"/><xsd:element ref="rel-r:resource" minOccurs="0"/><xsd:element ref="rel-r:condition" minOccurs="0"/>

</xsd:sequence></xsd:choice>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="GrantGroup">

<xsd:complexContent><xsd:extension base="rel-r:Resource">

<xsd:choice minOccurs="0"><xsd:sequence>

<xsd:element ref="rel-r:forAll" minOccurs="0"maxOccurs="unbounded" />

<xsd:element ref="rel-r:principal" minOccurs="0" /><xsd:element ref="rel-r:condition" minOccurs="0" /><xsd:choice maxOccurs="unbounded">

<xsd:element ref="rel-r:grant" /><xsd:element ref="rel-r:grantGroup" />

</xsd:choice></xsd:sequence>

</xsd:choice></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Inventory">

<xsd:sequence><xsd:choice minOccurs="0" maxOccurs="unbounded">

<xsd:element ref="rel-r:licensePart" /></xsd:choice>

</xsd:sequence></xsd:complexType><xsd:complexType name="Issuer">

<xsd:sequence>

Page 616: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

616

<xsd:choice minOccurs="0"><xsd:element ref="dsig:Signature"/><xsd:element ref="rel-r:principal"/>

</xsd:choice><xsd:element name="details" type="rel-r:IssuerDetails" minOccurs="0"/>

</xsd:sequence></xsd:complexType><xsd:complexType name="IssuerDetails">

<xsd:sequence><xsd:element name="timeOfIssue" type="xsd:dateTime" minOccurs="0"/>

</xsd:sequence></xsd:complexType><xsd:complexType name="KeyHolder">

<xsd:complexContent><xsd:extension base="rel-r:Principal">

<xsd:sequence minOccurs="0"><xsd:element name="info" type="dsig:KeyInfoType"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="License">

<xsd:choice><xsd:sequence>

<xsd:element name="inventory" type="rel-r:Inventory"minOccurs="0"/>

<xsd:choice minOccurs="0" maxOccurs="unbounded"><xsd:element ref="rel-r:grant"/>

</xsd:choice><xsd:element ref="rel-r:issuer" minOccurs="0"/><xsd:element name="otherInfo" minOccurs="0">

<xsd:complexType><xsd:sequence>

<xsd:element name="LicenseSignature"type="dsig:SignatureType"/>

</xsd:sequence></xsd:complexType>

</xsd:element></xsd:sequence><xsd:element name="encryptedLicense" type="rel-r:EncryptedContent"/>

</xsd:choice><xsd:attribute name="licenseId" type="xsd:anyURI" use="optional"/><xsd:anyAttribute namespace="##other" processContents="lax"/>

</xsd:complexType><xsd:complexType name="EncryptedContent">

<xsd:complexContent><xsd:extension base="xenc:EncryptedDataType"/>

Page 617: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

617

</xsd:complexContent></xsd:complexType><xsd:complexType name="LicensePart">

<xsd:attribute name="licensePartId" type="rel-r:LicensePartId" use="optional"/><xsd:attribute name="licensePartIdRef" type="rel-r:LicensePartId" use="optional"/><xsd:attribute name="varRef" type="rel-r:VariableName" use="optional"/>

</xsd:complexType><xsd:complexType name="NonSecureReference">

<xsd:attribute name="URI" type="xsd:anyURI"/></xsd:complexType><xsd:complexType name="Obtain"><xsd:complexContent>

<xsd:extension base="rel-r:Right"/></xsd:complexContent>

</xsd:complexType><xsd:complexType name="PossessProperty">

<xsd:complexContent><xsd:extension base="rel-r:Right"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Principal">

<xsd:complexContent><xsd:extension base="rel-r:Resource"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="PrincipalPatternAbstract">

<xsd:complexContent><xsd:extension base="rel-r:ResourcePatternAbstract"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="PropertyAbstract">

<xsd:complexContent><xsd:extension base="rel-r:Resource"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="PropertyPossessor">

<xsd:complexContent><xsd:extension base="rel-r:PrincipalPatternAbstract">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-r:propertyAbstract"/><xsd:element ref="rel-r:trustRoot" minOccurs="0"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Right">

<xsd:complexContent>

Page 618: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

618

<xsd:extension base="rel-r:LicensePart"/></xsd:complexContent>

</xsd:complexType><xsd:complexType name="Resource">

<xsd:complexContent><xsd:extension base="rel-r:LicensePart"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="ResourcePatternAbstract">

<xsd:complexContent><xsd:extension base="rel-r:AnXmlPatternAbstract"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="ServiceDescription">

<xsd:complexContent><xsd:extension base="rel-r:LicensePart"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="ServiceReference">

<xsd:complexContent><xsd:extension base="rel-r:Resource">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-r:serviceDescription"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="TrustRoot">

<xsd:complexContent><xsd:extension base="rel-r:LicensePart"/>

</xsd:complexContent></xsd:complexType><xsd:complexType name="TrustedRootIssuers">

<xsd:complexContent><xsd:extension base="rel-r:TrustRoot">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-r:principal" maxOccurs="unbounded"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="ValidityInterval">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence><xsd:element name="notBefore" type="xsd:dateTime"

minOccurs="0"/>

Page 619: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

619

<xsd:element name="notAfter" type="xsd:dateTime"minOccurs="0"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><!-- Simple Types--><xsd:simpleType name="LicensePartId">

<xsd:restriction base="xsd:NCName"/></xsd:simpleType><xsd:simpleType name="VariableName">

<xsd:restriction base="xsd:NCName"/></xsd:simpleType>

</xsd:schema>

Figure 364: The rel-r schema

C.24 The Media Streaming REL Standard extension profile schema

The XML Schema for the profile elements and types of the MPEG REL standard extension,characterised by the following URI: urn:mpeg:mpeg21:2003:01-REL-SX-NS is given below.

<?xml version="1.0" encoding="UTF-8"?><xsd:schema targetNamespace="urn:mpeg:mpeg21:2003:01-REL-SX-NS"

xmlns:rel-sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"xmlns:rel-r="urn:mpeg:mpeg21:2003:01-REL-R-NS"elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/rel-r.xsd"/>

<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="exerciseLimit" type="rel-sx:ExerciseLimit" substitutionGroup="rel-

r:condition"/><xsd:element name="propertyUri" type="rel-sx:PropertyUri" substitutionGroup="rel-

r:propertyAbstract"/><xsd:element name="territory" type="rel-sx:Territory" substitutionGroup="rel-

r:condition"/><xsd:element name="validityIntervalDurationPattern" type="rel-

sx:ValidityIntervalDurationPattern" substitutionGroup="rel-r:conditionPatternAbstract"/><xsd:element name="validityIntervalFloating" type="rel-sx:ValidityIntervalFloating"

substitutionGroup="rel-r:condition"/><xsd:element name="validityTimeMetered" type="rel-sx:ValidityTimeMetered"

substitutionGroup="rel-r:condition"/>

Page 620: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

620

<xsd:element name="validityTimePeriodic" type="rel-sx:ValidityTimePeriodic"substitutionGroup="rel-r:condition"/>

<!-- Additional elements --><xsd:element name="feeFlat" type="rel-sx:FeeFlat" substitutionGroup="rel-r:condition"/><xsd:element name="feeMetered" type="rel-sx:FeeMetered" substitutionGroup="rel-

r:condition"/><xsd:element name="feePerInterval" type="rel-sx:FeePerInterval" substitutionGroup="rel-

r:condition"/><xsd:element name="feePerUse" type="rel-sx:FeePerUse" substitutionGroup="rel-

r:condition"/><xsd:element name="feePerUsePrePay" type="rel-sx:FeePerUsePrePay"

substitutionGroup="rel-r:condition"/><xsd:element name="rate" type="rel-sx:Rate" substitutionGroup="rel-r:licensePart"/>

<!-- Additional elements -->

<!--Complex Types--><xsd:complexType name="ExerciseLimit">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence><xsd:element name="count" type="xsd:integer"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="PropertyUri">

<xsd:complexContent><xsd:extension base="rel-r:PropertyAbstract">

<xsd:attribute name="definition" type="xsd:anyURI"/></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="Territory">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:choice minOccurs="0" maxOccurs="unbounded"><xsd:element name="location">

<xsd:complexType><xsd:sequence>

<xsd:element name="country"type="xsd:QName" minOccurs="0"/>

<xsd:element name="region"type="xsd:QName" minOccurs="0"/>

</xsd:sequence></xsd:complexType>

Page 621: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

621

</xsd:element><xsd:element name="domain">

<xsd:complexType><xsd:sequence>

<xsd:element name="uri"type="xsd:anyURI"/>

</xsd:sequence></xsd:complexType>

</xsd:element></xsd:choice>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="ValidityIntervalDurationPattern">

<xsd:complexContent><xsd:extension base="rel-r:ConditionPatternAbstract">

<xsd:sequence minOccurs="0"><xsd:element name="duration" type="xsd:duration" />

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType><xsd:complexType name="ValidityIntervalFloating">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence><xsd:element name="duration" type="xsd:duration"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="ValidityTimeMetered">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence><xsd:element name="duration" type="xsd:duration"

minOccurs="0"/><xsd:element name="quantum" type="xsd:duration"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="ValidityTimePeriodic">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

Page 622: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

622

<xsd:sequence minOccurs="0"><xsd:element name="start" type="xsd:dateTime"/><xsd:element name="period" type="xsd:duration"/><xsd:element name="phase" type="xsd:duration"

minOccurs="0"/><xsd:element name="duration" type="xsd:duration"/><xsd:element name="periodCount"

type="xsd:nonNegativeInteger" minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><!-- Simple Types --><xsd:simpleType name="ProfileCompliance">

<xsd:list itemType="xsd:QName"/></xsd:simpleType><!-- Attributes --><xsd:attribute name="profileCompliance" type="rel-sx:ProfileCompliance"/>

<!-- Additional Complex Types --><xsd:complexType name="AccountPayable">

<xsd:sequence><xsd:any namespace="##other" processContents="lax"/>

</xsd:sequence></xsd:complexType>

<xsd:complexType name="FeeFlat"><xsd:complexContent>

<xsd:extension base="rel-sx:StatefulCondition"><xsd:sequence minOccurs="0">

<xsd:element ref="rel-sx:rate"/><xsd:element name="to" type="rel-sx:AccountPayable"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="FeeMetered">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-sx:rate"/><xsd:element name="per" type="xsd:duration"/><xsd:element name="by" type="xsd:duration"/><xsd:element name="phase" type="xsd:duration"/><xsd:element name="to" type="rel-sx:AccountPayable"

minOccurs="0"/></xsd:sequence>

Page 623: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

623

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="FeePerInterval">

<xsd:complexContent><xsd:extension base="rel-sx:StatefulCondition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-sx:rate"/><xsd:element name="per" type="xsd:duration"/><xsd:element name="to" type="rel-sx:AccountPayable"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="FeePerUse">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-sx:rate"/><xsd:element name="to" type="rel-sx:AccountPayable"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="FeePerUsePrePay">

<xsd:complexContent><xsd:extension base="rel-sx:StatefulCondition">

<xsd:sequence minOccurs="0"><xsd:element ref="rel-sx:rate"/><xsd:element name="initialNumberOfUses"

type="xsd:integer" minOccurs="0"/><xsd:element name="to" type="rel-sx:AccountPayable"

minOccurs="0"/></xsd:sequence>

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="Rate">

<xsd:complexContent><xsd:extension base="rel-r:LicensePart">

<xsd:sequence minOccurs="0"><xsd:element name="amount" type="xsd:float"/><xsd:element name="currency" type="xsd:QName"

minOccurs="0"/></xsd:sequence>

Page 624: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

624

</xsd:extension></xsd:complexContent>

</xsd:complexType><xsd:complexType name="StatefulCondition">

<xsd:complexContent><xsd:extension base="rel-r:Condition">

<xsd:sequence><xsd:element ref="rel-r:serviceReference" minOccurs="0"/>

</xsd:sequence></xsd:extension>

</xsd:complexContent></xsd:complexType>

</xsd:schema>

Figure 365: The rel-sx schema

C.25 The TV Anytime schema

The XML Schema for the profile elements and types of the MPEG REL standard extension,characterised by the following URI: urn:tva:metadata:2002 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xmlns:tva="urn:tva:metadata:2002"xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:tva:metadata:2002"elementFormDefault="qualified" attributeFormDefault="unqualified">

<annotation><documentation xml:lang="en">

-------- This XML Schema file specifies normative DMP metadata types. It is a reduced profile ofrETSI TS 102 822-3-1 V1.1.1 (2003-05)

It differs from ETSI TS 102 822-3-1 V1.1.1 (2003-05) in that it it does not include thefollowing second level elements.

ServiceInformationTableSegmentInformationTableProgramReviewTableProgramLocationTable.UserDescriptionTable

All of which are defined in ETSI TS 102 822-3-1 V1.1.1 (2003-05) withminOccurrs=0

TVAMain and ProgramDescription

These omissions are made through a modified definition of TVAMAin andProgrammeDesscription in the dmp:represent:Metadata namespace.

Page 625: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

625

Apart from the omission of elements not used, all remaining elements are as ETSITS 102 822-3-1 V1.1.1 (2003-05)

</documentation></annotation><import namespace="http://www.w3.org/XML/1998/namespace"

schemaLocation="http://www.w3.org/2001/xml.xsd"/><import namespace="urn:mpeg:mpeg7:schema:2001"

schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mpeg7.xsd"/><annotation>

<documentation xml:lang="en">======== Section 5.3.3 BASIC TYPES</documentation>

</annotation><simpleType name="TVAIDType">

<restriction base="string"><whiteSpace value="collapse"/>

</restriction></simpleType><simpleType name="TVAIDRefType">

<restriction base="string"><whiteSpace value="collapse"/>

</restriction></simpleType><simpleType name="TVAIDRefsType">

<list itemType="tva:TVAIDRefType"/></simpleType><simpleType name="CRIDType">

<restriction base="anyURI"><pattern value="(c|C)(r|R)(i|I)(d|D)://.*/.*"/>

</restriction></simpleType><complexType name="CRIDRefType">

<attribute name="crid" type="tva:CRIDType" use="required"/></complexType><complexType name="FlagType">

<attribute name="value" type="boolean" use="required"/></complexType><complexType name="TVATimeType">

<sequence><element name="TimePoint" type="mpeg7:timePointType"/><element name="Duration" type="mpeg7:durationType" minOccurs="0"/>

</sequence></complexType><complexType name="ControlledTermType">

<sequence><element name="Name" minOccurs="0">

<complexType>

Page 626: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

626

<simpleContent><extension base="mpeg7:TextualType">

<attribute name="preferred" type="boolean"use="optional"/>

</extension></simpleContent>

</complexType></element><element name="Definition" type="mpeg7:TextualType" minOccurs="0"/>

</sequence><attribute name="href" type="mpeg7:termReferenceType" use="required"/>

</complexType><complexType name="TVAAgentType">

<sequence><choice minOccurs="0" maxOccurs="unbounded">

<element name="PersonName" type="mpeg7:PersonNameType"/><element name="PersonNameIDRef">

<complexType><attribute name="ref" type="tva:TVAIDRefType"

use="required"/></complexType>

</element><element name="OrganizationName" type="mpeg7:TextualType"/><element name="OrganizationNameIDRef">

<complexType><attribute name="ref" type="tva:TVAIDRefType"

use="required"/></complexType>

</element></choice>

</sequence></complexType><attributeGroup name="fragmentIdentification">

<attribute name="fragmentId" type="tva:TVAIDType" use="optional"/><attribute name="fragmentVersion" type="unsignedLong" use="optional"/>

</attributeGroup><annotation>

<documentation xml:lang="en">======== Section 5.3.4 DESCRIPTION</documentation>

</annotation><complexType name="KeywordType">

<simpleContent><extension base="mpeg7:TextualType">

<attribute name="type" use="optional" default="main"><simpleType>

<restriction base="NMTOKEN"><enumeration value="main"/>

Page 627: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

627

<enumeration value="secondary"/><enumeration value="other"/>

</restriction></simpleType>

</attribute></extension>

</simpleContent></complexType><complexType name="GenreType">

<complexContent><extension base="tva:ControlledTermType">

<attribute name="type" use="optional" default="main"><simpleType>

<restriction base="string"><enumeration value="main"/><enumeration value="secondary"/><enumeration value="other"/>

</restriction></simpleType>

</attribute></extension>

</complexContent></complexType><simpleType name="SynopsisLengthType">

<restriction base="string"/></simpleType><complexType name="SynopsisType">

<simpleContent><extension base="mpeg7:TextualType">

<attribute name="length" type="tva:SynopsisLengthType"use="optional"/>

</extension></simpleContent>

</complexType><complexType name="RelatedMaterialType">

<sequence><element name="HowRelated" type="tva:ControlledTermType"

minOccurs="0"/><element name="Format" type="tva:ControlledTermType" minOccurs="0"/><element name="MediaLocator" type="mpeg7:MediaLocatorType"/><element name="PromotionalText" type="mpeg7:TextualType"

minOccurs="0" maxOccurs="unbounded"/><element name="SourceMediaLocator" type="mpeg7:MediaLocatorType"

minOccurs="0"/></sequence>

</complexType><complexType name="CreditsItemType">

Page 628: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

628

<complexContent><extension base="tva:TVAAgentType">

<sequence><element name="Character" type="mpeg7:PersonNameType"

minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="role" type="mpeg7:termReferenceType"

use="required"/></extension>

</complexContent></complexType><complexType name="CreditsListType">

<sequence><element name="CreditsItem" type="tva:CreditsItemType" minOccurs="0"

maxOccurs="unbounded"/></sequence>

</complexType><complexType name="AwardsListItemType">

<sequence><element name="Title" type="mpeg7:TextualType"/><element name="Year" type="gYear"/><element name="Award" minOccurs="0" maxOccurs="unbounded">

<complexType><sequence>

<element name="Category"type="mpeg7:TextualType"/>

<choice minOccurs="0"><element name="Nominee"

type="tva:CreditsItemType"/><element name="Recipient"

type="tva:CreditsItemType"/></choice>

</sequence></complexType>

</element></sequence>

</complexType><complexType name="AwardsListType">

<sequence><element name="AwardsListItem" type="tva:AwardsListItemType"

maxOccurs="unbounded"/></sequence>

</complexType><complexType name="BasicContentDescriptionType">

<sequence><element name="Title" type="mpeg7:TitleType" minOccurs="0"

maxOccurs="unbounded"/>

Page 629: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

629

<element name="MediaTitle" type="mpeg7:TitleMediaType" minOccurs="0"maxOccurs="unbounded"/>

<element name="ShortTitle" minOccurs="0" maxOccurs="unbounded"><complexType>

<simpleContent><extension base="mpeg7:TitleType">

<attribute name="length" type="unsignedShort"use="required"/>

</extension></simpleContent>

</complexType></element><element name="Synopsis" type="tva:SynopsisType" minOccurs="0"

maxOccurs="unbounded"/><element name="PromotionalInformation" type="mpeg7:TextualType"

minOccurs="0" maxOccurs="unbounded"/><element name="Keyword" type="tva:KeywordType" minOccurs="0"

maxOccurs="unbounded"/><element name="Genre" type="tva:GenreType" minOccurs="0"

maxOccurs="unbounded"/><element name="ParentalGuidance" type="mpeg7:ParentalGuidanceType"

minOccurs="0" maxOccurs="unbounded"/><element name="Language" type="mpeg7:ExtendedLanguageType"

minOccurs="0" maxOccurs="unbounded"/><element name="CaptionLanguage" minOccurs="0"

maxOccurs="unbounded"><complexType>

<simpleContent><extension base="language">

<attribute name="closed" type="boolean"use="optional" default="true"/>

<attribute name="supplemental"type="boolean" use="optional" default="false"/>

</extension></simpleContent>

</complexType></element><element name="SignLanguage" minOccurs="0" maxOccurs="unbounded">

<complexType><simpleContent>

<extension base="language"><attribute name="primary" type="boolean"

use="optional"/><attribute name="translation" type="boolean"

use="optional"/><attribute name="type" type="string"

use="optional"/>

Page 630: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

630

</extension></simpleContent>

</complexType></element><element name="CreditsList" type="tva:CreditsListType" minOccurs="0"/><element name="AwardsList" type="tva:AwardsListType" minOccurs="0"/><element name="RelatedMaterial" type="tva:RelatedMaterialType"

minOccurs="0" maxOccurs="unbounded"/><element name="ProductionDate" type="tva:TVATimeType"

minOccurs="0"/><element name="ProductionLocation" type="mpeg7:regionCode"

minOccurs="0" maxOccurs="unbounded"/><element name="CreationCoordinates" minOccurs="0"

maxOccurs="unbounded"><complexType>

<sequence><element name="CreationDate"

type="tva:TVATimeType" minOccurs="0"/><element name="CreationLocation"

type="mpeg7:regionCode" minOccurs="0"/></sequence>

</complexType></element><element name="DepictedCoordinates" minOccurs="0"

maxOccurs="unbounded"><complexType>

<sequence><element name="DepictedDate"

type="tva:TVATimeType" minOccurs="0"/><element name="DepictedLocation"

type="mpeg7:PlaceType" minOccurs="0"/></sequence>

</complexType></element><element name="ReleaseInformation" minOccurs="0"

maxOccurs="unbounded"><complexType>

<sequence><element name="ReleaseDate" minOccurs="0">

<complexType><choice>

<element name="DayAndYear"type="date"/>

<element name="Year"type="gYear"/>

</choice></complexType>

Page 631: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

631

</element><element name="ReleaseLocation"

type="mpeg7:regionCode" minOccurs="0"/></sequence>

</complexType></element>

</sequence></complexType><annotation>

<documentation xml:lang="en">======== Section 5.3.5 AUDIO AND VIDEO INFORMATION</documentation>

</annotation><complexType name="AVAttributesType">

<sequence><element name="FileFormat" type="tva:ControlledTermType"

minOccurs="0"/><element name="FileSize" type="unsignedLong" minOccurs="0"/><element name="System" type="tva:ControlledTermType" minOccurs="0"/><element name="BitRate" minOccurs="0">

<complexType><simpleContent>

<extension base="nonNegativeInteger"><attribute name="variable" type="boolean"

use="optional" default="false"/><attribute name="minimum"

type="unsignedLong" use="optional"/><attribute name="average"

type="unsignedLong" use="optional"/><attribute name="maximum"

type="unsignedLong" use="optional"/></extension>

</simpleContent></complexType>

</element><element name="AudioAttributes" minOccurs="0">

<complexType><sequence>

<element name="Coding"type="tva:ControlledTermType" minOccurs="0"/>

<element name="NumOfChannels"type="unsignedShort" minOccurs="0"/>

<element name="MixType"type="tva:ControlledTermType" minOccurs="0"/>

</sequence></complexType>

</element><element name="VideoAttributes" minOccurs="0">

Page 632: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

632

<complexType><sequence>

<element name="Coding"type="tva:ControlledTermType" minOccurs="0"/>

<element name="Scan" type="tva:ScanType"minOccurs="0"/>

<element name="HorizontalSize"type="unsignedShort" minOccurs="0"/>

<element name="VerticalSize" type="unsignedShort"minOccurs="0"/>

<element name="AspectRatio"type="tva:AspectRatioType" minOccurs="0" maxOccurs="2"/>

<element name="Color" type="tva:ColorType"minOccurs="0"/>

</sequence></complexType>

</element></sequence>

</complexType><simpleType name="ScanType">

<restriction base="string"><enumeration value="interlaced"/><enumeration value="progressive"/>

</restriction></simpleType><simpleType name="ColorTypeType">

<restriction base="string"><enumeration value="color"/><enumeration value="blackAndWhite"/><enumeration value="blackAndWhiteAndColor"/><enumeration value="colorized"/>

</restriction></simpleType><complexType name="ColorType">

<attribute name="type" type="tva:ColorTypeType" use="required"/></complexType><simpleType name="RatioType">

<restriction base="string"><pattern value="\d+:\d+"/>

</restriction></simpleType><complexType name="AspectRatioType">

<simpleContent><extension base="tva:RatioType">

<attribute name="type" use="optional" default="original"><simpleType>

<restriction base="string">

Page 633: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

633

<enumeration value="original"/><enumeration value="publication"/>

</restriction></simpleType>

</attribute></extension>

</simpleContent></complexType><annotation>

<documentation xml:lang="en">======== Section 5.3.6 PROGRAMME INFORMATION</documentation>

</annotation><complexType name="ProgramInformationType">

<sequence><element name="BasicDescription"

type="tva:BasicContentDescriptionType"/><element name="OtherIdentifier" type="mpeg7:UniqueIDType"

minOccurs="0" maxOccurs="unbounded"/><element name="AVAttributes" type="tva:AVAttributesType"

minOccurs="0"/><element name="MemberOf" type="tva:BaseMemberOfType"

minOccurs="0" maxOccurs="unbounded"/><element name="DerivedFrom" type="tva:DerivedFromType"

minOccurs="0"/><element name="EpisodeOf" type="tva:EpisodeOfType" minOccurs="0"/><element name="PartOfAggregatedProgram" type="tva:CRIDType"

minOccurs="0"/><element name="AggregationOf" minOccurs="0">

<complexType><sequence>

<element name="AggregatedProgram"type="tva:CRIDRefType" minOccurs="2" maxOccurs="unbounded"/>

</sequence><attribute name="type" use="required">

<simpleType><restriction base="string">

<enumeration value="omnibus"/><enumeration value="magazine"/>

</restriction></simpleType>

</attribute></complexType>

</element></sequence><attribute name="programId" type="tva:CRIDType" use="required"/><attributeGroup ref="tva:fragmentIdentification"/>

</complexType>

Page 634: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

634

<complexType name="EpisodeOfType"><complexContent>

<extension base="tva:BaseMemberOfType"/></complexContent>

</complexType><complexType name="BaseMemberOfType" abstract="true">

<complexContent><extension base="tva:CRIDRefType">

<attribute name="index" type="unsignedInt" use="optional"/></extension>

</complexContent></complexType><complexType name="MemberOfType">

<complexContent><extension base="tva:BaseMemberOfType"/>

</complexContent></complexType><complexType name="BaseDerivationReasonType" abstract="true"/><complexType name="DerivationReasonType">

<complexContent><extension base="tva:BaseDerivationReasonType">

<attribute name="value" use="required"><simpleType>

<restriction base="string"><enumeration value="violence"/><enumeration value="language"/><enumeration value="sex"/><enumeration value="duration"/><enumeration value="other"/>

</restriction></simpleType>

</attribute></extension>

</complexContent></complexType><complexType name="DerivedFromType">

<complexContent><extension base="tva:BaseMemberOfType">

<sequence><element name="DerivationReason"

type="tva:BaseDerivationReasonType" minOccurs="0" maxOccurs="unbounded"/></sequence>

</extension></complexContent>

</complexType><annotation>

<documentation xml:lang="en">

Page 635: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

635

======== Section 5.3.7 GROUP INFORMATION</documentation></annotation><complexType name="BaseProgramGroupTypeType" abstract="true"/><complexType name="ProgramGroupTypeType">

<complexContent><extension base="tva:BaseProgramGroupTypeType">

<attribute name="value" use="required"><simpleType>

<restriction base="string"><enumeration value="series"/><enumeration value="show"/><enumeration value="programConcept"/><enumeration value="programCompilation"/><enumeration value="otherCollection"/><enumeration value="otherChoice"/>

</restriction></simpleType>

</attribute></extension>

</complexContent></complexType><complexType name="GroupInformationType">

<sequence><element name="GroupType" type="tva:BaseProgramGroupTypeType"/><element name="BasicDescription"

type="tva:BasicContentDescriptionType"/><element name="MemberOf" type="tva:BaseMemberOfType"

minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="groupId" type="tva:CRIDType" use="required"/><attribute name="ordered" type="boolean" use="optional" default="false"/><attribute name="numOfItems" type="unsignedInt" use="optional"/><attributeGroup ref="tva:fragmentIdentification"/>

</complexType><annotation>

<documentation xml:lang="en">======== Section 5.7.1 INFORMATION TABLES</documentation>

</annotation><complexType name="ProgramInformationTableType">

<sequence><element name="ProgramInformation" type="tva:ProgramInformationType"

minOccurs="0" maxOccurs="unbounded"/></sequence><attribute name="copyrightNotice" type="string" use="optional"/>

</complexType><complexType name="GroupInformationTableType">

<sequence>

Page 636: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

636

<element name="GroupInformation" type="tva:GroupInformationType"minOccurs="0" maxOccurs="unbounded"/>

</sequence><attribute name="copyrightNotice" type="string" use="optional"/>

</complexType><complexType name="CreditsInformationTableType">

<sequence><choice minOccurs="0" maxOccurs="unbounded">

<element name="PersonName"><complexType>

<complexContent><extension base="mpeg7:PersonNameType">

<attribute name="personNameId"type="tva:TVAIDType" use="required"/>

<attributeGroupref="tva:fragmentIdentification"/>

</extension></complexContent>

</complexType></element><element name="OrganizationName">

<complexType><simpleContent>

<extension base="mpeg7:TextualType"><attribute name="organizationNameId"

type="tva:TVAIDType" use="required"/><attributeGroup

ref="tva:fragmentIdentification"/></extension>

</simpleContent></complexType>

</element></choice>

</sequence><attribute name="copyrightNotice" type="string" use="optional"/>

</complexType><element name="TVAContentLinks">

<complexType><sequence>

<element name="RelatedMaterial" type="tva:RelatedMaterialType"maxOccurs="unbounded"/>

</sequence></complexType>

</element><annotation>

<documentation xml:lang="en">

Page 637: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

637

======== Section 5.7.2 TV-ANYTIME PROGRAM INFORMATIONDOCUMENT</documentation>

</annotation><complexType name="ClassificationSchemeTableType">

<sequence><element name="CSAlias" minOccurs="0" maxOccurs="unbounded">

<complexType><complexContent>

<extensionbase="mpeg7:ClassificationSchemeAliasType">

<attributeGroupref="tva:fragmentIdentification"/>

</extension></complexContent>

</complexType></element><element name="ClassificationScheme" minOccurs="0"

maxOccurs="unbounded"><complexType>

<complexContent><extension base="mpeg7:ClassificationSchemeType">

<attributeGroupref="tva:fragmentIdentification"/>

</extension></complexContent>

</complexType></element>

</sequence></complexType>

</schema>

Figure 366: The tva schema

C.26 The Media Streaming TV Anytime profile schema

The XML Schema for the profile elements and types of the MPEG REL standard extension,characterised by the following URI: urn:mpeg:maf:Profile:mediastreaming:tva:2007 is given below.

<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="urn:mpeg:maf:Profile:mediastreaming:tva:2007"xmlns:tva="urn:tva:metadata:2002" xmlns:tva-msaf="urn:mpeg:maf:Profile:mediastreaming:tva:2007"xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xmlns="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified" attributeFormDefault="unqualified">

<import namespace="http://www.w3.org/XML/1998/namespace"schemaLocation="http://www.w3.org/2001/xml.xsd"/>

Page 638: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

638

<import namespace="urn:mpeg:mpeg7:schema:2001"schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mpeg7.xsd"/>

<import namespace="urn:tva:metadata:2002"schemaLocation="http://www.dmpf.org/schemas/tva.xsd"/>

<element name="TVAMain" type="tva-msaf:TVAMainType"/><complexType name="TVAMainType">

<sequence><element name="CopyrightNotice" type="string" minOccurs="0"/><element name="ClassificationSchemeTable"

type="tva:ClassificationSchemeTableType" minOccurs="0"/><element name="ProgramDescription" type="tva-

msaf:ProgramDescriptionType" minOccurs="0"/></sequence><attribute ref="xml:lang" use="optional" default="en"/><attribute name="publisher" type="string" use="optional"/><attribute name="publicationTime" type="dateTime" use="optional"/><attribute name="rightsOwner" type="string" use="optional"/><attribute name="version" type="unsignedInt" use="optional"/>

</complexType><complexType name="ProgramDescriptionType">

<sequence><element name="ProgramInformationTable"

type="tva:ProgramInformationTableType" minOccurs="0"/><element name="GroupInformationTable"

type="tva:GroupInformationTableType" minOccurs="0"/><element name="CreditsInformationTable"

type="tva:CreditsInformationTableType" minOccurs="0"/></sequence>

</complexType></schema>

Figure 367: The tva-msaf schema

C.27 The XML Namespace Schema

The XML schema characterised by the following URI: http://www.w3.org/XML/1998/namespace isavailable at the following URL: http://www.w3.org/XML/2001/namespace.

C.28 The Digital Signature Schema

The Digital Signature schema characterised by the following URI:http://www.w3.org/2000/09/xmldsig# is available at the following URL:http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd.

Page 639: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

639

Annex D – Compatibility between TVA RMPI and DMP RepresentLicense

This Annex explains how DMP Represent License (hereafter to be referred as the REL DAC Profile)can handle and represent TV-Anytime RMPI information

D.1 Compatibility

There are 4 child elements in the ‘RMPI-MBAndM’ main type like following figure.

Figure 368: The RMPI-MBAndMType complex type

D.1.1 AncillaryRMPI

The first child element, rmpi:AncillaryRMPI does not convey usage rules or conditions but carryfurther information that is required while handling the content.

Figure 369: The AncillaryRMPI element

D.1.1.1 RMPITypeFlag

Since RMPI-MB(Macro Broadcast) can be considered as a specific instance of the RMPI-M(Macro), the classification between RMPI MB and M is not necessary in case that the RMPI Licenseis converted into the DMP License.

D.1.1.2 VersionOfRMPI

This element can be represented by rel-sx-dac:profileCompliance attribute of rel-msaf:licenseelement.

Page 640: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

640

D.1.1.3 OriginOfRMPI

This element can be represented rel-msaf:issuer element.

D.1.1.4 Cipher

This element can be represented by xenc:EncryptedData element which is child element of rel-m1x:encryptedResource element. If the MPEG-21 License has xenc:EcnryptedData element, itmeans that the delivered resource is encrypted with the method specified in the child elements.

Figure 370: The xenc:EncryptedData element

RMPI specifies possible ‘Cipher’ methods (i.e. encryption algorithms) for broadcast content. Theseare:

0 – No cipher1 - AES2 - Camellia3 - DVB Common Scrambling Algorithm v14 - DVB Common Scrambling Algorithm v25- 3DES6- M27-15: reserved for future use

The element xenc:EncryptionMethod element can fully express the encryption algorithm applied, asin the following example:

<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><xenc:EncryptionMethod Algorithm="AES"/><xenc:EncryptionMethod Algorithm="Camellia"/><xenc:EncryptionMethod Algorithm="DVB Common Scrambling Algorithm v1"/><xenc:EncryptionMethod Algorithm="DVB Common Scrambling Algorithm v2"/><xenc:EncryptionMethod Algorithm="3DES"/><xenc:EncryptionMethod Algorithm="M2"/>

D.1.1.5 MBScramblingControl

This condition indicates the scrambling policy to implement.

‘maintain’ : Maintain original scrambling status including no scrambling.‘change’ : Apply or re-apply RMP cipher.

rmpi:MBScramblingControl with the ‘change’ attribute can be represented by the rel-m2x-dac:scrambling element On the other hand, rmpi:MBScramblingControl with the ‘maintain’attribute does not need any counter REL element, because a license without rel-m2x-dac:scrambling

Page 641: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

641

element means encryption status of the delivered resource should not be changed while moving orcopying to other device.

D.1.1.6 MScramblingControl

Since RMPI-MB(Macro Broadcast) can be considered as a specific instance of the RMPI-M(Macro),the same conversion mechanism as rmpi:MBScramblingControl can be applied.

D.1.2 ExtendRights

The second child element, rmpi:ExtendRights gives some information and condition to the client toretrieve new rights to be applied to content when there is no proper rights in the current license.

Figure 371: The rmpi:ExtendRights element

D.1.2.1 ExtendRightsFlagGranted

With rel-m2x-dac:extendRights, REL license allows the ExtendRights and without one, it does notallow. So the counterpart elements to neither rmpi:ExtendRightsFlagGranted norrmpi:ExtendRightsFlagNotGranted flag is needed in the REL.

D.1.2.2 SecurityLevel

This condition can be expressed by rel-m2x-m2x:securitySystem element.

D.1.2.3 SourceOfAdditionalRights

This information can be represented by rel-m2x-m2x:extendRights right as in following example.

<r:grant><m1x:identityHolder licensePartId=’device’>

<m1x:idSystem>urn:mpeg:mpeg21:2006-01-REL-M2X-NS:DM-00001000</m1x:idSystem>

<m1x:idValue>DE1234567</m1x:idValue></m1x:identityHolder><m2x:extendRights>

<m1x:serviceLocation><m1x:url>http://www.foo.org/extendLiceseService</m1x:url>

</m1x:serviceLocation></m2x:extendRights><digitalResource licensePartId=’news’>

<nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/></digitalResource><m2x:securitySystem>

Page 642: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

642

<m2x:identifier>urn:mpeg:mpeg21:security:system1</m2x:identifier><m2x:level>5</m2x:level>

</m2x:securitySystem></r:grant>

Figure 372: Example of conversion of rmpi:SourceOfAdditionalRights

D.1.3 ReceivingDomainRights

The rmpi:ReceivingDomainRights element indicates the first TVA RMP-compliant domain thatreceives the Content and associated RMPI–MB via broadcast. Once the Content is in the Domain,the receiving domain is explicitly identified.

Figure 373: The rmpi:ReceivingDomainRights element

D.1.3.1 PlayRightsFlag

This information can be represented by rel-mx-dac:play element.

D.1.3.2 AnalogExportRight

This information can be represented by rel-m2x-dac:export right and rel-m1x-dac:outputRegulationcondition elements as shown in following example. The example shows the license allows onlyanalog export with APSTB:O1 copy protection constraint.

<r:grant><m1x:identityHolder licensePartIdRef="device"/><m2x:export/><r:digitalResource licensePartIdRef="news"/><m1x:outputRegulation>

<m1x:regulationtypeOfSignal="analog">APSTB:01</m1x:regulation>

Page 643: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

643

</m1x:outputRegulation></r:grant>

Figure 374: Example of conversion of rmpi:AnalogExportRights element

D.1.3.3 DigitalExportSDRights

This information can be represented by rel-m2x-dac:export right and rel-m1x-dac:outputRegulationcondition elements as shown in the following example. The example shows the license allows onlystandard definition digital export with DTCP copy protection constraint.

<r:grant><m1x:identityHolder licensePartIdRef="device"/><m2x:export/><r:digitalResource licensePartIdRef="news"/><m1x:outputRegulation>

<m1x:regulation typeOfSignal="digital"qualityOfSignal="SD">DTCP</m1x:regulation>

</m1x:outputRegulation></r:grant>

Figure 375: Example of conversion of rmpi:DigitalExportSDRights element

D.1.3.4 DigitalExportHDRights

This information can be represented by rel-m2x-dac:export right and rel-m1x-dac:outputRegulationcondition elements as shown in the following example. The example shows the license allows onlyhigh definition digital export with HDCP copy protection constraint.

<r:grant><m1x:identityHolder licensePartIdRef="device"/><m2x:export/><r:digitalResource licensePartIdRef="news"/><m1x:outputRegulation>

<m1x:regulation typeOfSignal="digital"qualityOfSignal="HD">HDCP</m1x:regulation>

</m1x:outputRegulation></r:grant>

Figure 376: Example of conversion of rmpi:DigitalExportHDRights element

D.1.3.5 SecurityLevel

This information can be represented by rel-m2x-dac:securitySystem condition.

D.1.3.6 BufferDuration

This information can be represented by rel-m2x-dac:timeShiftDuration condition.

D.1.3.7 TimeWindow

This information can be represented by rel-msaf:validityInterval condition.

Page 644: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

644

D.1.3.8 GeographicalControl

This information can be represented by rel-sx-dac:territory element.

D.1.3.9 AnalogExportSignalling

This information can be represented by rel-m2x-dac:export right and rel-m1x-dac:outputRegulationcondition elements like in the example shown in Section C.20 – AnalogExportRights.

D.1.3.10 SinglePointOfControl

This information can be represented by rel-msaf:principal extension element such as rel-m1x-dac:identityHolder specifying the device ID, as shown in the following example.

<r:grant><m1x:identityHolder>

<m1x:idSystem>urn:dmp:2006-01-REL-DAC-NS:DM-1000:DO-0001</m1x:idSystem>

<m1x:idValue>DEVICE-00000001</m1x:idValue></m1x:identityHolder><mx:play/><r:digitalResource>

<r:nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/></r:digitalResource>

</r:grant>

Figure 377: Example of conversion of rmpi:SinglePointOfControl element

D.1.3.11 PhysicalProximityFlag

This information can be represented by means of the rel-m2x-dac:proximity condition element asshown in the following example.

<r:grant><m1x:identityHolder>

<m1x:idSystem>urn:dmp:2006-01-REL-DAC-NS:DM-1000</m1x:idSystem>

<m1x:idValue>DOMAIN-1234567</m1x:idValue></m1x:identityHolder><mx:play/><r:digitalResource>

<r:nonSecureIndirect URI="urn:broadcast:news:2005_07_10-12H-00M"/></r:digitalResource>

<m2x:proximity/></r:grant>

Figure 378: Example of conversion of rmpi:PhysicalProximityFlag element

D.1.3.12 SimultaneousRendering

This information can be represented by rel-m2x-dac:simultaneousAccess element.

Page 645: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

645

D.1.3.13 DomainID

This information can be represented by rel-msaf:principal element like in the example shown inSection D.1.3.2– SinglePointOfControl

D.1.4 AnyDomain

Any Domain is any TVA RMP-compliant domain that can respond to the usage conditions statedwithin RMPI-MB and RMPI-M.

Figure 379: The rmpi:AnyDomain element

All ‘rmpi:AnyDomainRights’ can be also represented with ‘rmpi:ReceivingDomainRights’, because‘rmpi:ReceivingDomain’ can be considered as a special case of ‘rmpi:AnyDomain’ from RELperspective.

D.2 Mapping Table between RMPI and DMP Represent License

Function Semantic RMPI DMP Represent LicenseGrant to Receiving Domain <rmpi:ReceivingDomainRights>

Right

play_right_flag(Play)

<rmpi:PlayRightFlag> <mx:play/>

analogue_export_right_flag(Analogue Export)

<rmpi:AnalogExportRight> <m2x:export/><m1x:outputRegulation>

<m1x:regulation typeOfSignal="analog"/></m1x:outputRegulation>

digital_export_SD_flag(Digital SD Export)

<rmpi:DigitalExportSDRight> <m2x:export/><m1x:outputRegulation><m1x:regulation typeOfSignal="digital" qualityOfSignal="SD"/></m1x:outputRegulation>

digital_export_HD_flag(Digital HD Export)

<rmpi:DigitalExportHDRight> <m2x:export/><m1x:outputRegulation typeOfSignal="digital"

qualityOfSignal="HD"/></m1x:outputRegulation>

Constraints

Geographic Control <rmpi:GeographicalControl> <sx:terrority>

Single point of control<rmpi:SinglePointOfControl> <m1x:identityHolder>

<m1x:idValue>DEVICE-ID</m1x:idValue></m1x:identityHolder>

Simultaneous RenderingCount

<rmpi:SimultaneousRendering> <m2x:simultaneousAccess><m2x:count>COUNT</m2x:count>

</m2x:simultaneouseAccess>Physical Proximity <rmpi:PhysicalProximityFlag> <m2x:proximity/>

Buffer Duration:<rmpi:BufferDuration> <m2x:timeShiftDuration>

<m2x:duration>DURATION</m2x:duration></m2x :timeShiftDuration>

Time Window Start/End

<rmpi:TimeWindow> <r:validityInterval><r:notBefore>BEFORE_DATE_TIME</r:notBefore><r:notAfter>AFTER_DATE_TIME</r:notAfter>

</r:validityInterval>

Page 646: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

646

SD Digital Export Control

<rmpi:DigitalExportSDRight><rmpi:DigitalExportControl>

<m1x:outputRegulation><m1x:regulation typeOfSignal="digital"

qualityOfSignal="SD"/>CONSTRAINT</m1x:regulation></m1x:outputRegulation>

HD Digital Export Control

<rmpi:DigitalExportHDRight><rmpi:DigitalExportControl>

<m1x:outputRegulation><m1x:regulation typeOfSignal="digital"

qualityOfSignal="HD">CONSTRAINT</m1x:regulation></m1x:outputRegulation>

Analogue ExportSignalling

<rmpi:AnalogueExportSignaling> <m1x:outputRegulation><m1x:regulation

typeOfSignal="analog">CONSTRAINT</m1x:regulation></m1x:outputRegulation>

Analogue SD Control

<rmpi:AnalogueExportSDControl> <m1x:outputRegulation><m1x:regulation typeOfSignal="analog"

qualityOfSignal="SD">CONSTRAINT</m1x:regulation></m1x:outputRegulation>

Grant to Any Domain <rmpi:AnyDomainRights>

Right

Play <rmpi:PlayRightFlag> <mx:play/>

Analogue Export

<rmpi:AnalogExportRight> <m2x:export/><m1x:outputRegulation>

<m1x:regulation typeOfSignal="analog"/></m1x:outputRegulation>

Digital SD Export

<rmpi:DigitalExportSDRight> <m2x:export/><m1x:outputRegulation>

<m1x:regulation typeOfSignal="digital"qualityOfSignal="SD"/></m1x:outputRegulation>

Digital HD Export

<rmpi:DigitalExportHDRight> <m2x:export/><m1x:outputRegulation>

<m1x:regulation typeOfSignal="digital"qualityOfSignal="HD"/></m1x:outputRegulation>

Constraints

Geographic Control <rmpi:GeographicalControl> <sx:territory>

Single Point of Control<rmpi:SinglePointOfControl> <m1x:identityHolder>

<m1x:idValue>DEVICE-ID</m1x:idValue></m1x:identityHolder>

Buffer Duration: <rmpi:BufferDuration> <m2x:timeShiftDuration>Time Window Start/End <rmpi:TimeWindow> <r:validityInterval>

SD Digital Export Control

<rmpi:DigitalExportSDRight><rmpi:DigitalExportControl>

<m1x:outputRegulation><m1x:regulation typeOfSignal="digital"

qualityOfSignal="SD">CONSTRAINT</m1x:regulation></m1x:outputRegulation>

HD Digital Export Control<rmpi:DigitalExportHDRight>

<rmpi:DigitalExportControl><m1x:outputRegulation>

<m1x:regulation typeOfSignal="digital"qualityOfSignal="HD">CONSTRAINT</m1x:regulation></m1x:outputRegulation>

Analogue ExportSignalling

<rmpi:AnalogueExportSignaling> <m1x:outputRegulation><m1x:regulation

typeOfSignal="analog">CONSTRAINT</m1x:regulation></m1x:outputRegulation>

Analogue SD Control

<rmpi:AnalogueExportSDControl> <m1x:outputRegulation><m1x:regualtion typeOfSignal="analog"

qualityOfSignal="SD">CONSTRAINT</m1x:regulation></m1x:outputRegulation>

Identifiers

Domain<rmpi:DomainId> <m1x:identityHolder>

<m1x:idValue>DOMAIN-ID</m1x:idValue></m1x:identityHolder>

Single Point of Control<rmpi:SinglePointOfControl> <m1x:identityHolder>

<m1x:idValue>DEVICE-ID</m1x:idValue></m1x:identityHolder>

Ancillary applies to both grants <rmpi:AncillaryRMPI>

Ancillary

Cipher Algorithm

<rmpi:Cipher> <m1x:protectedResource><xenc:encryptedData>

<xenc:encryptedMethod algorithm="ALGORITHM"/></xenc:encryptedData>

</m1x:protectedResource>

Scrambling control<rmpi:MBScramblingControl>

<rmpi:MScramblingControl><m2x:scrambling/>

Version of RMPI <rmpi:VersionOfRMPI> <r:license sx:profileCompliance="mpeg-rel-dac v1.0">Origin of RMPI <rmpi:OriginOfRMPI> <r:issuer>

Page 647: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

647

RMPI-Type flag <rmpi:RMPITypeFlag> N/AExtend Rights Apply to both grants <rmpi:ExtendRights>

ExtendRights

Extend Right Granted <rmpi:ExtendRightsFlagGranted> <m2x:extendRights>

Security Level<rmpi:SecurityLevel> <m2x:securitySystem>

<m2x:level>securityLevel</m2x:level></m2x>

Source of AdditionalRights

<rmpi:SourceOfAdditionalRights> <m2x:extendRights><m1x:serviceLocation>serviceURL</m1x:serviceLocation/>

</m2x>

Page 648: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

648

Annex E – Rights Representation Data Ontology Web Language File

<?xml version="1.0"?><rdf:RDF

xmlns="http://dmag.upf.edu/dmp/CreationModel.owl#"xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:xsd="http://www.w3.org/2001/XMLSchema#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xmlns:owl="http://www.w3.org/2002/07/owl#"xmlns:daml="http://www.daml.org/2001/03/daml+oil#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:assert="http://www.owl-ontologies.com/assert.owl#"

xml:base="http://dmag.upf.edu/dmp/CreationModel.owl"><owl:Ontology rdf:about="">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">This is an ontology for describing the DMP Creation Model.</rdfs:comment><owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string">6.1 For IDP2.3</owl:versionInfo>

</owl:Ontology><owl:Class rdf:ID="Render">

<owl:disjointWith><owl:Class rdf:ID="MakeAdaptation"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="MoveContent"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="MakeInstance"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="CreateWork"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:ID="Distributor"/>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:ID="RightGivenBy"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:ID="ModifyCopy"/>

</owl:disjointWith><owl:disjointWith>

Page 649: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

649

<owl:Class rdf:ID="MakeCopy"/></owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="PublicCommunication"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Distribute"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Synchronization"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:ID="Action"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:ID="MakeManifestation"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Function of generating a human-perceivable signal</rdfs:comment><owl:disjointWith><owl:Class rdf:ID="Produce"/>

</owl:disjointWith></owl:Class><owl:Class rdf:ID="AdaptationInstance">

<rdfs:subClassOf><owl:Class rdf:ID="Instance"/>

</rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:valuesFrom><owl:Class rdf:ID="AdaptationManifestation"/>

</owl:valuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:ID="Uses"/></owl:onProperty><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:ID="WorkInstance"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:ID="MakeAdaptationInstanceCopy"/>

</owl:someValuesFrom>

Page 650: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

650

<owl:onProperty><owl:ObjectProperty rdf:ID="Supports"/>

</owl:onProperty></owl:Restriction>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">An object or event which is an example of an Identified Adaptation Manifestation (e.g. a

File)</rdfs:comment></owl:Class><owl:Class rdf:ID="Enlarge">

<owl:disjointWith><owl:Class rdf:ID="Export"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="GovernedAdapt"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Embed"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL)Enlarge represents the Right to modify a resource by making it

larger.</rdfs:comment><owl:disjointWith><owl:Class rdf:ID="Reduce"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Modify"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#ModifyCopy"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:ID="Delete"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="ExtendRights"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Extract"/>

</owl:disjointWith></owl:Class><owl:Class rdf:ID="Download">

<owl:disjointWith><owl:Class rdf:ID="Broadcast"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Stream"/>

Page 651: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

651

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#PublicCommunication"/>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Transfer a file or program from a central computer to a smaller computer or to a computer at a

remote location</rdfs:comment></owl:Class><owl:Class rdf:ID="MakeWorkManifestation">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making a Manifestation from Work.</rdfs:comment><owl:disjointWith><owl:Class rdf:ID="MakeAdaptationManifestation"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class rdf:ID="Creator"/></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:ID="ResultsIn"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class rdf:ID="WorkManifestation"/></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Class rdf:about="#MakeManifestation"/>

</rdfs:subClassOf></owl:Class><owl:Class rdf:about="#CreateWork">

<owl:disjointWith><owl:Class rdf:about="#ModifyCopy"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of creating a Work without any previous meterial.</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#MakeCopy"/>

</owl:disjointWith>

Page 652: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

652

<owl:disjointWith><owl:Class rdf:about="#MoveContent"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Produce"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeInstance"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Synchronization"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#PublicCommunication"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:valuesFrom><owl:Class rdf:ID="Work"/>

</owl:valuesFrom><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Distribute"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Render"/>

</owl:Class><owl:Class rdf:ID="Adaptation">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A Work that is derived from another Work.</rdfs:comment><rdfs:subClassOf><owl:Class rdf:ID="IPEntity"/>

</rdfs:subClassOf>

Page 653: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

653

<owl:disjointWith><owl:Class rdf:ID="Copy"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Manifestation"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Product"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:about="#MakeAdaptationManifestation"/>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#Supports"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:ID="DependsOn"/>

</owl:onProperty><owl:valuesFrom>

<owl:Class rdf:about="#Work"/></owl:valuesFrom><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Instance"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Work"/>

</owl:disjointWith></owl:Class><owl:Class rdf:ID="Adaptor">

<rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:ID="Can"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

Page 654: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

654

<owl:Class rdf:about="#MakeAdaptationManifestation"/><owl:Class rdf:about="#MakeAdaptation"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom></owl:Restriction>

</rdfs:subClassOf><rdfs:subClassOf><owl:Class rdf:ID="Role"/>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A User who produces an Adaptation</rdfs:comment>

</owl:Class><owl:Class rdf:ID="MakeAdaptationManifestationCopy">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making a ManifestationCopy</rdfs:comment><owl:disjointWith><owl:Class rdf:ID="MakeWorkInstanceCopy"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeAdaptationInstanceCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class rdf:ID="Instantiator"/></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:ID="MakeWorkManifestationCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#MakeCopy"/>

</rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:ID="AdaptationManifestationCopy"/>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

</owl:Restriction>

Page 655: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

655

</rdfs:subClassOf></owl:Class><owl:Class rdf:about="#MakeCopy">

<rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Synchronization"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</owl:hasValue><owl:onProperty>

<owl:DatatypeProperty rdf:ID="requiresCreatorAuthorisation"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Distribute"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Produce"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#ModifyCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#ResultsIn"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class rdf:about="#Copy"/></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">MechanicalReproduction. The Right required to Produce</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#MoveContent"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith>

Page 656: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

656

<owl:Class rdf:about="#PublicCommunication"/></owl:disjointWith><owl:disjointWith rdf:resource="#Render"/><owl:disjointWith><owl:Class rdf:about="#MakeInstance"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith></owl:Class><owl:Class rdf:ID="EndUser">

<rdfs:subClassOf><owl:Class rdf:about="#Role"/>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A User in a Value-Chain who ultimately consumes Content</rdfs:comment><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Render"/><owl:Class rdf:about="#ModifyCopy"/><owl:Class rdf:about="#MoveContent"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#Can"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf>

</owl:Class><owl:Class rdf:ID="Print">

<owl:disjointWith><owl:Class rdf:ID="Play"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:ID="Execute"/>

</owl:disjointWith><rdfs:subClassOf rdf:resource="#Render"/><owl:disjointWith><owl:Class rdf:ID="Uninstall"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"

Page 657: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

657

>(MPEG21REL) Print refers to the making of a fixed physical representation, such as hard-copyprints of images or text, that may be perceived directly (that is, without any intermediary process)with one or more of the five human senses.</rdfs:comment>

<owl:disjointWith><owl:Class rdf:ID="Install"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#Instance">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">An object or event which is an example of an Identified Manifestation (e.g. a

File)</rdfs:comment><owl:disjointWith rdf:resource="#Adaptation"/><rdfs:subClassOf><owl:Restriction>

<owl:valuesFrom><owl:Class rdf:about="#Manifestation"/>

</owl:valuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#Uses"/></owl:onProperty><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Work"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Copy"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Product"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#PublicCommunication"/><owl:Class rdf:about="#MakeCopy"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#Supports"/></owl:onProperty>

</owl:Restriction>

Page 658: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

658

</rdfs:subClassOf><rdfs:subClassOf><owl:Class rdf:about="#IPEntity"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Manifestation"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#Produce">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Function of making Products</rdfs:comment><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class rdf:about="#Instantiator"/></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:DatatypeProperty rdf:about="#requiresCreatorAuthorisation"/>

</owl:onProperty><owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</owl:hasValue>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#PublicCommunication"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MoveContent"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:about="#Product"/>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

Page 659: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

659

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Render"/><owl:disjointWith rdf:resource="#MakeCopy"/><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith><owl:Class rdf:about="#ModifyCopy"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Synchronization"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Distribute"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeInstance"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#MakeInstance">

<owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#PublicCommunication"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith><owl:Class rdf:about="#MoveContent"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#ModifyCopy"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Synchronization"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom rdf:resource="#Instance"/><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

Page 660: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

660

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Render"/><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Distribute"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making an Instance from a Manifestation.</rdfs:comment><owl:disjointWith rdf:resource="#Produce"/><owl:disjointWith rdf:resource="#MakeCopy"/>

</owl:Class><owl:Class rdf:about="#PublicCommunication">

<owl:disjointWith><owl:Class rdf:about="#Synchronization"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#ModifyCopy"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:DatatypeProperty rdf:about="#requiresCreatorAuthorisation"/>

</owl:onProperty><owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</owl:hasValue>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#MoveContent"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Distribute"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#MakeCopy"/><rdfs:subClassOf>

Page 661: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

661

<owl:Restriction><owl:someValuesFrom>

<owl:Class rdf:about="#Creator"/></owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#RightGivenBy"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of performing a public reproduction</rdfs:comment><owl:disjointWith rdf:resource="#Render"/><owl:disjointWith rdf:resource="#MakeInstance"/><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith rdf:resource="#Produce"/><rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf></owl:Class><owl:Class rdf:about="#MakeWorkInstanceCopy">

<rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class rdf:about="#Instantiator"/></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making a WorkInstanceCopy</rdfs:comment><rdfs:subClassOf rdf:resource="#MakeCopy"/><owl:disjointWith rdf:resource="#MakeAdaptationManifestationCopy"/><owl:disjointWith><owl:Class rdf:about="#MakeWorkManifestationCopy"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeAdaptationInstanceCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:ID="WorkInstanceCopy"/>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/>

Page 662: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

662

</owl:onProperty></owl:Restriction>

</rdfs:subClassOf></owl:Class><owl:Class rdf:ID="Producer">

<rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#Can"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Produce"/><owl:Class rdf:about="#MakeCopy"/><owl:Class rdf:about="#Synchronization"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom></owl:Restriction>

</rdfs:subClassOf><rdfs:subClassOf><owl:Class rdf:about="#Role"/>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A User who produces a Product from an Instance.</rdfs:comment>

</owl:Class><owl:Class rdf:ID="GovernedMove">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) This element represents the right to copy the resource and at the same time to

result in certain rights being associated to the copied resource.</rdfs:comment><rdfs:subClassOf><owl:Class rdf:about="#MoveContent"/>

</rdfs:subClassOf></owl:Class><owl:Class rdf:about="#MakeAdaptationInstanceCopy">

<owl:disjointWith rdf:resource="#MakeWorkInstanceCopy"/><rdfs:subClassOf rdf:resource="#MakeCopy"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making an AdaptationInstanceCopy</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#MakeWorkManifestationCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:ID="AdaptationInstanceCopy"/>

Page 663: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

663

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class rdf:about="#Instantiator"/></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#MakeAdaptationManifestationCopy"/>

</owl:Class><owl:Class rdf:about="#Reduce">

<owl:disjointWith><owl:Class rdf:about="#GovernedAdapt"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Embed"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Export"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Modify"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#ExtendRights"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) Represents the right to modify a resource by taking away from

it</rdfs:comment><rdfs:subClassOf><owl:Class rdf:about="#ModifyCopy"/>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Enlarge"/><owl:disjointWith><owl:Class rdf:about="#Extract"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Delete"/>

</owl:disjointWith>

Page 664: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

664

</owl:Class><owl:Class rdf:about="#MakeAdaptationManifestation">

<rdfs:subClassOf><owl:Class rdf:about="#MakeManifestation"/>

</rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:about="#AdaptationManifestation"/>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making an AdaptationManifestation from an Adaptation.</rdfs:comment><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:about="#Creator"/>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#RightGivenBy"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#MakeWorkManifestation"/>

</owl:Class><owl:Class rdf:ID="WorkManifestationCopy">

<owl:disjointWith><owl:Class rdf:about="#AdaptationInstanceCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:valuesFrom><owl:Class rdf:about="#WorkManifestation"/>

</owl:valuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:ID="ProducedFrom"/></owl:onProperty><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A copy of a WorkManifestation.</rdfs:comment>

Page 665: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

665

<owl:disjointWith><owl:Class rdf:about="#AdaptationManifestationCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#Copy"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#WorkInstanceCopy"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#WorkManifestation">

<rdfs:subClassOf><owl:Restriction>

<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality><owl:onProperty>

<owl:ObjectProperty rdf:about="#DependsOn"/></owl:onProperty><owl:valuesFrom>

<owl:Class rdf:about="#Work"/></owl:valuesFrom>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#Supports"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:ID="MakeWorkInstance"/><owl:Class rdf:about="#MakeWorkManifestationCopy"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom></owl:Restriction>

</rdfs:subClassOf><rdfs:subClassOf><owl:Class rdf:about="#Manifestation"/>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">An object or event which is an expression of a Manifestation of a Work</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#AdaptationManifestation"/>

</owl:disjointWith></owl:Class>

Page 666: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

666

<owl:Class rdf:about="#Synchronization"><owl:disjointWith><owl:Class rdf:about="#MoveContent"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#MakeInstance"/><owl:disjointWith rdf:resource="#PublicCommunication"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Function of concurrently performing/displaying two distinct IP Entities each for a different

human sense e.g. text and audio or video and song</rdfs:comment><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Distribute"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#MakeCopy"/><rdfs:subClassOf><owl:Restriction>

<owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</owl:hasValue><owl:onProperty>

<owl:DatatypeProperty rdf:about="#requiresCreatorAuthorisation"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Produce"/><owl:disjointWith><owl:Class rdf:about="#ModifyCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Render"/>

</owl:Class><owl:Class rdf:about="#Install">

<owl:disjointWith rdf:resource="#Print"/><owl:disjointWith><owl:Class rdf:about="#Play"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) Install represents the right to follow the instructions provided by an installing

resource.</rdfs:comment><owl:disjointWith>

Page 667: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

667

<owl:Class rdf:about="#Uninstall"/></owl:disjointWith><rdfs:subClassOf rdf:resource="#Render"/><owl:disjointWith><owl:Class rdf:about="#Execute"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#Distribute">

<owl:disjointWith rdf:resource="#Synchronization"/><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</owl:hasValue><owl:onProperty>

<owl:DatatypeProperty rdf:about="#requiresCreatorAuthorisation"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Produce"/><owl:disjointWith><owl:Class rdf:about="#ModifyCopy"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith rdf:resource="#MakeCopy"/><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom rdf:resource="#Producer"/>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Render"/><owl:disjointWith rdf:resource="#MakeInstance"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Right to sell, rent and lend</rdfs:comment><owl:disjointWith rdf:resource="#PublicCommunication"/><owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf><owl:disjointWith>

Page 668: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

668

<owl:Class rdf:about="#MoveContent"/></owl:disjointWith>

</owl:Class><owl:Class rdf:about="#Instantiator">

<rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#MakeInstance"/><owl:Class rdf:about="#MakeCopy"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#Can"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A User who produces an Instance</rdfs:comment><rdfs:subClassOf><owl:Class rdf:about="#Role"/>

</rdfs:subClassOf></owl:Class><owl:Class rdf:about="#Role">

<owl:disjointWith><owl:Class rdf:ID="Permit"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Action"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A defined set of actions and corresponding conditions attributed to and required of a User. A

user is any person or legal entity in a Value-Chain connecting (and including) Creator and End-User. For the purpose of the current phase of Approved Documents a User is represented by adevice or by a User Identity on the Device (e.g. username/password).</rdfs:comment>

<owl:disjointWith><owl:Class rdf:about="#IPEntity"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#Product">

<owl:disjointWith rdf:resource="#Instance"/><owl:disjointWith><owl:Class rdf:about="#Copy"/>

</owl:disjointWith><rdfs:subClassOf>

Page 669: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

669

<owl:Class rdf:about="#IPEntity"/></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Render"/><owl:Class rdf:about="#Distribute"/><owl:Class rdf:about="#PublicCommunication"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#Supports"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A Content Item that adds value to IP Entities by including them with an appropriate Licence for

the purpose of Publishing</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#Manifestation"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class rdf:about="#Copy"/>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:ID="Origin"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Work"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:minCardinality><owl:onProperty>

<owl:ObjectProperty rdf:about="#Origin"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Adaptation"/>

Page 670: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

670

</owl:Class><owl:Class rdf:about="#Work">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A creation that retains intellectual or artistic attributes independently of its

Manifestations</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#Copy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom rdf:resource="#Work"/><owl:onProperty>

<owl:ObjectProperty rdf:about="#Origin"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Instance"/><rdfs:subClassOf><owl:Class rdf:about="#IPEntity"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Manifestation"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#Supports"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#MakeAdaptation"/><owl:Class rdf:about="#MakeWorkManifestation"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom></owl:Restriction>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Adaptation"/><owl:disjointWith rdf:resource="#Product"/>

</owl:Class><owl:Class rdf:about="#AdaptationManifestationCopy">

<owl:disjointWith rdf:resource="#WorkManifestationCopy"/><owl:disjointWith><owl:Class rdf:about="#WorkInstanceCopy"/>

</owl:disjointWith><rdfs:subClassOf>

Page 671: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

671

<owl:Class rdf:about="#Copy"/></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#AdaptationInstanceCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality><owl:onProperty>

<owl:ObjectProperty rdf:about="#ProducedFrom"/></owl:onProperty><owl:valuesFrom>

<owl:Class rdf:about="#AdaptationManifestation"/></owl:valuesFrom>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A copy of an AdaptationManifestation</rdfs:comment>

</owl:Class><owl:Class rdf:ID="MakeAdaptationInstance">

<rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom rdf:resource="#AdaptationInstance"/><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom rdf:resource="#Adaptor"/><owl:onProperty>

<owl:ObjectProperty rdf:about="#RightGivenBy"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#MakeWorkInstance"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making an Instance from an Adaptation</rdfs:comment><rdfs:subClassOf rdf:resource="#MakeInstance"/>

</owl:Class><owl:Class rdf:about="#GovernedAdapt">

<owl:disjointWith><owl:Class rdf:about="#Modify"/>

Page 672: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

672

</owl:disjointWith><owl:disjointWith rdf:resource="#Enlarge"/><owl:disjointWith rdf:resource="#Reduce"/><rdfs:subClassOf><owl:Class rdf:about="#ModifyCopy"/>

</rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Export"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#ExtendRights"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Extract"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) This element represents the right to adapt the resource and results in certain

rights being associated with the adapted resource.</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#Embed"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Delete"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#Creator">

<rdfs:subClassOf rdf:resource="#Role"/><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#Can"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#CreateWork"/><owl:Class rdf:about="#MakeWorkManifestation"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom></owl:Restriction>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A User who generates a Work and makes its first Manifestation, also referred to as

author</rdfs:comment></owl:Class><owl:Class rdf:about="#ModifyCopy">

Page 673: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

673

<owl:disjointWith rdf:resource="#PublicCommunication"/><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith rdf:resource="#MakeCopy"/><owl:disjointWith rdf:resource="#Synchronization"/><owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Produce"/><owl:disjointWith rdf:resource="#Render"/><rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Distribute"/><owl:disjointWith><owl:Class rdf:about="#MoveContent"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Action of modifying a copy.</rdfs:comment><owl:disjointWith rdf:resource="#MakeInstance"/>

</owl:Class><owl:Class rdf:about="#Broadcast">

<owl:disjointWith><owl:Class rdf:about="#Stream"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Download"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Function that Delivers Content to a Device in a point-to-multipoint

modality</rdfs:comment><rdfs:subClassOf rdf:resource="#PublicCommunication"/>

</owl:Class><owl:Class rdf:about="#WorkInstanceCopy">

<owl:disjointWith rdf:resource="#WorkManifestationCopy"/><rdfs:subClassOf><owl:Restriction>

<owl:valuesFrom><owl:Class rdf:about="#WorkInstance"/>

</owl:valuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#ProducedFrom"/></owl:onProperty><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality>

</owl:Restriction></rdfs:subClassOf>

Page 674: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

674

<owl:disjointWith rdf:resource="#AdaptationManifestationCopy"/><owl:disjointWith><owl:Class rdf:about="#AdaptationInstanceCopy"/>

</owl:disjointWith><rdfs:subClassOf><owl:Class rdf:about="#Copy"/>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A copy of a WorkInstance</rdfs:comment>

</owl:Class><owl:Class rdf:about="#ExtendRights">

<owl:disjointWith rdf:resource="#Enlarge"/><rdfs:subClassOf rdf:resource="#ModifyCopy"/><owl:disjointWith><owl:Class rdf:about="#Modify"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Export"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Embed"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Delete"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#GovernedAdapt"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21 REL) This element represents the right to extend the rights which are the originally

transmitted.</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#Extract"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Reduce"/>

</owl:Class><owl:Class rdf:about="#MakeWorkManifestationCopy">

<owl:disjointWith rdf:resource="#MakeWorkInstanceCopy"/><rdfs:subClassOf rdf:resource="#MakeCopy"/><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom rdf:resource="#Instantiator"/>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#MakeAdaptationInstanceCopy"/><rdfs:subClassOf>

Page 675: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

675

<owl:Restriction><owl:someValuesFrom rdf:resource="#WorkManifestationCopy"/><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making a WorkManifestationCopy</rdfs:comment><owl:disjointWith rdf:resource="#MakeAdaptationManifestationCopy"/>

</owl:Class><owl:Class rdf:about="#AdaptationInstanceCopy">

<owl:disjointWith rdf:resource="#WorkManifestationCopy"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A copy of an AdaptationInstance</rdfs:comment><rdfs:subClassOf><owl:Class rdf:about="#Copy"/>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#WorkInstanceCopy"/><owl:disjointWith rdf:resource="#AdaptationManifestationCopy"/><rdfs:subClassOf><owl:Restriction>

<owl:valuesFrom rdf:resource="#AdaptationInstance"/><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality><owl:onProperty>

<owl:ObjectProperty rdf:about="#ProducedFrom"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf>

</owl:Class><owl:Class rdf:about="#AdaptationManifestation">

<rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#DependsOn"/>

</owl:onProperty><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality><owl:valuesFrom rdf:resource="#Adaptation"/>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#Supports"/>

</owl:onProperty>

Page 676: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

676

<owl:someValuesFrom><owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#MakeAdaptationInstance"/><owl:Class rdf:about="#MakeAdaptationManifestationCopy"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom></owl:Restriction>

</rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">An object or event which is an expression of an Adaptation</rdfs:comment><owl:disjointWith rdf:resource="#WorkManifestation"/><rdfs:subClassOf><owl:Class rdf:about="#Manifestation"/>

</rdfs:subClassOf></owl:Class><owl:Class rdf:about="#Extract">

<owl:disjointWith><owl:Class rdf:about="#Embed"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#ExtendRights"/><owl:disjointWith><owl:Class rdf:about="#Delete"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Extract represents the Right to derive a new resource by taking a fragment out of an existing

resource.</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#Export"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Enlarge"/><owl:disjointWith><owl:Class rdf:about="#Modify"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Reduce"/><rdfs:subClassOf rdf:resource="#ModifyCopy"/><owl:disjointWith rdf:resource="#GovernedAdapt"/>

</owl:Class><owl:Class rdf:about="#WorkInstance">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">An object or event which is an example of an Identified Manifestation of a Work (e.g. a

File)</rdfs:comment><rdfs:subClassOf rdf:resource="#Instance"/><rdfs:subClassOf><owl:Restriction>

<owl:onProperty>

Page 677: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

677

<owl:ObjectProperty rdf:about="#Uses"/></owl:onProperty><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality><owl:valuesFrom rdf:resource="#WorkManifestation"/>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom rdf:resource="#MakeWorkInstanceCopy"/><owl:onProperty>

<owl:ObjectProperty rdf:about="#Supports"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#AdaptationInstance"/>

</owl:Class><owl:Class rdf:about="#Execute">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) Execute represents the right to execute a digital resource.</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#Uninstall"/>

</owl:disjointWith><rdfs:subClassOf rdf:resource="#Render"/><owl:disjointWith rdf:resource="#Install"/><owl:disjointWith><owl:Class rdf:about="#Play"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Print"/>

</owl:Class><owl:Class rdf:about="#MoveContent">

<rdfs:subClassOf><owl:Class rdf:about="#Action"/>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Synchronization"/><owl:disjointWith rdf:resource="#Distribute"/><owl:disjointWith><owl:Class rdf:about="#MakeManifestation"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#MakeInstance"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(DMP-Move) The Function by which Device A Stores Content in Device B deleting the original

Content in Device A.</rdfs:comment><owl:disjointWith rdf:resource="#Produce"/><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith rdf:resource="#MakeCopy"/><rdfs:subClassOf>

Page 678: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

678

<owl:Restriction><owl:onProperty>

<owl:ObjectProperty rdf:about="#RightGivenBy"/></owl:onProperty><owl:someValuesFrom>

<owl:Class rdf:about="#Distributor"/></owl:someValuesFrom>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Render"/><owl:disjointWith rdf:resource="#PublicCommunication"/><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#ModifyCopy"/>

</owl:Class><owl:Class rdf:about="#Stream">

<rdfs:subClassOf rdf:resource="#PublicCommunication"/><owl:disjointWith rdf:resource="#Download"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Function of Delivering Content to a Device where the transferred Content is processed for

Rendering only and not Stored</rdfs:comment><owl:disjointWith rdf:resource="#Broadcast"/>

</owl:Class><owl:Class rdf:about="#Export">

<owl:disjointWith><owl:Class rdf:about="#Embed"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Reduce"/><owl:disjointWith><owl:Class rdf:about="#Delete"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Enlarge"/><rdfs:subClassOf rdf:resource="#ModifyCopy"/><owl:disjointWith rdf:resource="#ExtendRights"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Function of making available a Content Item to a non-DMP DRM system. (MPEG21REL)

This element represents the right to export the associated broadcast program to another rendering orstorage device</rdfs:comment>

<owl:disjointWith rdf:resource="#Extract"/><owl:disjointWith><owl:Class rdf:about="#Modify"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#GovernedAdapt"/>

</owl:Class><owl:Class rdf:about="#Permit">

<owl:disjointWith rdf:resource="#Role"/>

Page 679: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

679

<owl:disjointWith><owl:Class rdf:about="#Action"/>

</owl:disjointWith><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Authorisation from one RightsOwner to one or more Agents to perform one or more Actions on

a given IPEntity whose owner is the rights donors.</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#IPEntity"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#MakeWorkInstance">

<rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom rdf:resource="#Creator"/>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#MakeAdaptationInstance"/><rdfs:subClassOf rdf:resource="#MakeInstance"/><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#ResultsIn"/>

</owl:onProperty><owl:someValuesFrom rdf:resource="#WorkInstance"/>

</owl:Restriction></rdfs:subClassOf><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making an Instance from a Work Manifestation.</rdfs:comment>

</owl:Class><owl:Class rdf:about="#Action">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Agents are defined by the actions that they realize on objects and therefore the definition of an

action implies the corresponding agent to realize the action.</rdfs:comment><owl:disjointWith rdf:resource="#Permit"/><owl:disjointWith><owl:Class rdf:about="#IPEntity"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#Role"/>

</owl:Class><owl:Class rdf:about="#Play">

<owl:disjointWith rdf:resource="#Print"/><owl:disjointWith rdf:resource="#Execute"/><owl:disjointWith><owl:Class rdf:about="#Uninstall"/>

Page 680: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

680

</owl:disjointWith><owl:disjointWith rdf:resource="#Install"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) Represents the Right to derive a transient and directly perceivable

representation of the Resource. The Function of Rendering a Resource</rdfs:comment><rdfs:subClassOf rdf:resource="#Render"/>

</owl:Class><owl:Class rdf:about="#Manifestation">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">An object or event which is an expression of a Work.</rdfs:comment><owl:disjointWith rdf:resource="#Product"/><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#MakeInstance"/><owl:Class rdf:about="#MakeCopy"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#Supports"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Work"/><owl:disjointWith rdf:resource="#Adaptation"/><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#DependsOn"/>

</owl:onProperty><owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:cardinality><owl:valuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Work"/><owl:Class rdf:about="#Adaptation"/>

</owl:unionOf></owl:Class>

</owl:valuesFrom></owl:Restriction>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Instance"/><rdfs:subClassOf>

Page 681: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

681

<owl:Class rdf:about="#IPEntity"/></rdfs:subClassOf><owl:disjointWith><owl:Class rdf:about="#Copy"/>

</owl:disjointWith></owl:Class><owl:Class rdf:about="#Delete">

<owl:disjointWith rdf:resource="#Extract"/><owl:disjointWith rdf:resource="#GovernedAdapt"/><owl:disjointWith rdf:resource="#Enlarge"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Function of erasing a Content Item Stored on a Device. (MPEG21REL) Delete represents

the right to destroy a digital resource.</rdfs:comment><rdfs:subClassOf rdf:resource="#ModifyCopy"/><owl:disjointWith rdf:resource="#Export"/><owl:disjointWith><owl:Class rdf:about="#Modify"/>

</owl:disjointWith><owl:disjointWith><owl:Class rdf:about="#Embed"/>

</owl:disjointWith><owl:disjointWith rdf:resource="#ExtendRights"/><owl:disjointWith rdf:resource="#Reduce"/>

</owl:Class><owl:Class rdf:about="#MakeManifestation">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making a Manifestation</rdfs:comment><owl:disjointWith rdf:resource="#MakeCopy"/><owl:disjointWith rdf:resource="#PublicCommunication"/><owl:disjointWith rdf:resource="#Render"/><owl:disjointWith rdf:resource="#MoveContent"/><owl:disjointWith rdf:resource="#MakeInstance"/><rdfs:subClassOf rdf:resource="#Action"/><owl:disjointWith rdf:resource="#ModifyCopy"/><owl:disjointWith rdf:resource="#Synchronization"/><owl:disjointWith rdf:resource="#Distribute"/><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith rdf:resource="#Produce"/><owl:disjointWith><owl:Class rdf:about="#MakeAdaptation"/>

</owl:disjointWith><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#ResultsIn"/>

</owl:onProperty><owl:someValuesFrom rdf:resource="#Manifestation"/>

Page 682: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

682

</owl:Restriction></rdfs:subClassOf>

</owl:Class><owl:Class rdf:about="#Copy">

<owl:disjointWith rdf:resource="#Instance"/><rdfs:subClassOf><owl:Class rdf:about="#IPEntity"/>

</rdfs:subClassOf><owl:disjointWith rdf:resource="#Adaptation"/><owl:disjointWith rdf:resource="#Product"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The Function by which Device A Stores Content in Device B, preserving the original Content in

Device A</rdfs:comment><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom><owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Produce"/><owl:Class rdf:about="#Distribute"/><owl:Class rdf:about="#Render"/><owl:Class rdf:about="#PublicCommunication"/><owl:Class rdf:about="#ModifyCopy"/><owl:Class rdf:about="#MoveContent"/><owl:Class rdf:about="#Synchronization"/><owl:Class rdf:about="#MakeCopy"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom><owl:onProperty>

<owl:ObjectProperty rdf:about="#Supports"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#ProducedFrom"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Instance"/><owl:Class rdf:about="#Manifestation"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom>

Page 683: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

683

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#Manifestation"/><owl:disjointWith rdf:resource="#Work"/>

</owl:Class><owl:Class rdf:about="#MakeAdaptation">

<owl:disjointWith rdf:resource="#Render"/><owl:disjointWith rdf:resource="#Distribute"/><rdfs:subClassOf rdf:resource="#Action"/><owl:disjointWith rdf:resource="#MakeManifestation"/><owl:disjointWith rdf:resource="#Synchronization"/><rdfs:subClassOf><owl:Restriction>

<owl:someValuesFrom rdf:resource="#Adaptation"/><owl:onProperty>

<owl:ObjectProperty rdf:about="#ResultsIn"/></owl:onProperty>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#MakeInstance"/><owl:disjointWith rdf:resource="#CreateWork"/><owl:disjointWith rdf:resource="#PublicCommunication"/><owl:disjointWith rdf:resource="#MakeCopy"/><owl:disjointWith rdf:resource="#MoveContent"/><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#RightGivenBy"/>

</owl:onProperty><owl:someValuesFrom rdf:resource="#Creator"/>

</owl:Restriction></rdfs:subClassOf><owl:disjointWith rdf:resource="#ModifyCopy"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The action of making an Adaptation</rdfs:comment><owl:disjointWith rdf:resource="#Produce"/>

</owl:Class><owl:Class rdf:about="#Modify">

<owl:disjointWith rdf:resource="#Reduce"/><owl:disjointWith rdf:resource="#Extract"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) Modify represents the Right to make and save changes to a resource without

creating a new resource.</rdfs:comment><owl:disjointWith><owl:Class rdf:about="#Embed"/>

</owl:disjointWith><rdfs:subClassOf rdf:resource="#ModifyCopy"/>

Page 684: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

684

<owl:disjointWith rdf:resource="#Delete"/><owl:disjointWith rdf:resource="#Enlarge"/><owl:disjointWith rdf:resource="#ExtendRights"/><owl:disjointWith rdf:resource="#GovernedAdapt"/><owl:disjointWith rdf:resource="#Export"/>

</owl:Class><owl:Class rdf:about="#Distributor">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A User who distributes a Product including public communication</rdfs:comment><rdfs:subClassOf><owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#Can"/>

</owl:onProperty><owl:someValuesFrom>

<owl:Class><owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Distribute"/><owl:Class rdf:about="#PublicCommunication"/>

</owl:unionOf></owl:Class>

</owl:someValuesFrom></owl:Restriction>

</rdfs:subClassOf><rdfs:subClassOf rdf:resource="#Role"/>

</owl:Class><owl:Class rdf:about="#IPEntity">

<owl:disjointWith rdf:resource="#Action"/><assert:notEmpty rdf:datatype="http://www.w3.org/2001/XMLSchema#string">SELECT ?subject ?object

WHERE { ?subject rdfs:subClassOf ?Copy }</assert:notEmpty><owl:disjointWith rdf:resource="#Permit"/><owl:disjointWith rdf:resource="#Role"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Any identifiable product of the mind attributable to any person(s) or legal entitie(s) that can be

represented or communicated physically and protectable by copyright or similarlaws.</rdfs:comment>

</owl:Class><owl:Class rdf:about="#Embed">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) Embed represents the Right to include a resource in another

resource.</rdfs:comment><owl:disjointWith rdf:resource="#GovernedAdapt"/><owl:disjointWith rdf:resource="#Modify"/><owl:disjointWith rdf:resource="#Reduce"/><owl:disjointWith rdf:resource="#Export"/><rdfs:subClassOf rdf:resource="#ModifyCopy"/>

Page 685: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

685

<owl:disjointWith rdf:resource="#Enlarge"/><owl:disjointWith rdf:resource="#ExtendRights"/><owl:disjointWith rdf:resource="#Delete"/><owl:disjointWith rdf:resource="#Extract"/>

</owl:Class><owl:Class rdf:ID="Move">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) Represents the right to relocate one resource from one place to

another.</rdfs:comment><rdfs:subClassOf rdf:resource="#MoveContent"/>

</owl:Class><owl:Class rdf:about="#Uninstall">

<owl:disjointWith rdf:resource="#Execute"/><owl:disjointWith rdf:resource="#Install"/><rdfs:subClassOf rdf:resource="#Render"/><owl:disjointWith rdf:resource="#Play"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">(MPEG21REL) Uninstall represents the right to follow the instructions provided by an

uninstalling resource.</rdfs:comment><owl:disjointWith rdf:resource="#Print"/>

</owl:Class><owl:ObjectProperty rdf:about="#Uses">

<rdfs:subPropertyOf><owl:ObjectProperty rdf:about="#Origin"/>

</rdfs:subPropertyOf></owl:ObjectProperty><owl:ObjectProperty rdf:about="#Supports">

<rdfs:range rdf:resource="#Action"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Declares which actions are meaningful over an IPentity.</rdfs:comment><rdfs:domain rdf:resource="#IPEntity"/>

</owl:ObjectProperty><owl:ObjectProperty rdf:about="#DependsOn">

<rdfs:subPropertyOf><owl:ObjectProperty rdf:about="#Origin"/>

</rdfs:subPropertyOf></owl:ObjectProperty><owl:ObjectProperty rdf:ID="RightsOwner">

<rdfs:range rdf:resource="#Role"/><rdfs:domain rdf:resource="#IPEntity"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Defines the owner of the rights over an ip entity.</rdfs:comment>

</owl:ObjectProperty><owl:ObjectProperty rdf:ID="PermitAction">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Relation used to express the Actions that are allowed to be performed.</rdfs:comment><rdfs:range rdf:resource="#Action"/>

Page 686: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

686

<rdfs:domain rdf:resource="#Permit"/></owl:ObjectProperty><owl:ObjectProperty rdf:about="#ResultsIn">

<rdfs:domain rdf:resource="#Action"/><rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:range rdf:resource="#IPEntity"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Declares which IPentity arises as a result of the execution of an action. It is a functional relation

(i.e. the result of an action is a single individual)</rdfs:comment></owl:ObjectProperty><owl:ObjectProperty rdf:about="#Can">

<rdfs:range rdf:resource="#Action"/><rdfs:domain rdf:resource="#Role"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Defines the actions that a role can do.</rdfs:comment>

</owl:ObjectProperty><owl:ObjectProperty rdf:ID="SubjectOfPermit">

<rdfs:domain rdf:resource="#Permit"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Relation used to express which User receives a given permit.</rdfs:comment><rdfs:range rdf:resource="#Role"/>

</owl:ObjectProperty><owl:ObjectProperty rdf:about="#ProducedFrom">

<rdfs:subPropertyOf><owl:ObjectProperty rdf:about="#Origin"/>

</rdfs:subPropertyOf></owl:ObjectProperty><owl:ObjectProperty rdf:ID="PermitIPEntity">

<rdfs:range rdf:resource="#IPEntity"/><rdfs:domain rdf:resource="#Permit"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Relation used to express over which IP Entity Actions can be exercised</rdfs:comment>

</owl:ObjectProperty><owl:ObjectProperty rdf:about="#Origin">

<rdfs:domain rdf:resource="#IPEntity"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Defines the original ip entity of another ip entity (or itself for Work)</rdfs:comment><rdfs:range rdf:resource="#IPEntity"/>

</owl:ObjectProperty><owl:ObjectProperty rdf:about="#RightGivenBy">

<rdfs:domain rdf:resource="#Action"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Declares which role can give rights over an action</rdfs:comment><rdfs:range rdf:resource="#Role"/>

</owl:ObjectProperty><owl:ObjectProperty rdf:ID="HasConsentOver">

<rdfs:domain rdf:resource="#Role"/>

Page 687: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

687

<rdfs:range rdf:resource="#IPEntity"/><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Determines whether a role has the consent given by the Creator over an IPEntity to perform the

actions that require it.</rdfs:comment></owl:ObjectProperty><owl:DatatypeProperty rdf:about="#requiresCreatorAuthorisation">

<rdfs:domain rdf:resource="#Action"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>

</owl:DatatypeProperty><owl:DatatypeProperty rdf:ID="isDigital">

<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/><rdfs:domain rdf:resource="#IPEntity"/>

</owl:DatatypeProperty><owl:FunctionalProperty rdf:ID="SourceOfPermit">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Relation used to express the User who issues the permit</rdfs:comment><rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/><rdfs:domain rdf:resource="#Permit"/><rdfs:range rdf:resource="#Role"/>

</owl:FunctionalProperty></rdf:RDF>

Figure 380: RRD OWL file

Page 688: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

688

Annex F – WSDL descriptions

This Annex lists the WSDL description of all the Protocols specified in Chapter 3. The followingWSDL descriptions are normative. Note that the parameter “address location” is set to “localhost”and will obviously be different whenever a service is provided at a specific IP address.

F.1CID

F.1.1 IdentifyContentRequest, RequestContentIdentifier, RegisterIdentifier,RequestContentElementIdentifier, AuthenticateContentRequest

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions targetNamespace="http://localhost:8080/chillout_cid/services/CIDService"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_cid/services/CIDService"xmlns:intf="http://localhost:8080/chillout_cid/services/CIDService"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!--WSDL created by Apache Axis version: 1.4Built on Apr 22, 2006 (06:55:48 PDT)-->

<wsdl:message name="processRequestContentElementIdentifierRequest"><wsdl:part name="requestString" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:message name="processRegisterIdentifierResponse">

<wsdl:part name="processRegisterIdentifierReturn" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:message name="processRequestContentIdentifierResponse">

<wsdl:part name="processRequestContentIdentifierReturn" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:message name="processAuthenticateContentRequestResponse">

<wsdl:part name="processAuthenticateContentRequestReturn" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:message name="processIdentifyContentRequestResponse">

<wsdl:part name="processIdentifyContentRequestReturn" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:message name="processRequestContentElementIdentifierResponse">

<wsdl:part name="processRequestContentElementIdentifierReturn" type="xsd:string"></wsdl:part>

</wsdl:message>

Page 689: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

689

<wsdl:message name="processRegisterIdentifierRequest"><wsdl:part name="requestString" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:message name="processRequestContentIdentifierRequest">

<wsdl:part name="requestString" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:message name="processIdentifyContentRequestRequest">

<wsdl:part name="requestString" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:message name="processAuthenticateContentRequestRequest">

<wsdl:part name="requestString" type="xsd:string"></wsdl:part>

</wsdl:message><wsdl:portType name="CIDService">

<wsdl:operation name="processIdentifyContentRequest" parameterOrder="requestString"><wsdl:input message="impl:processIdentifyContentRequestRequest"

name="processIdentifyContentRequestRequest"></wsdl:input><wsdl:output message="impl:processIdentifyContentRequestResponse"

name="processIdentifyContentRequestResponse"></wsdl:output>

</wsdl:operation><wsdl:operation name="processRequestContentIdentifier" parameterOrder="requestString">

<wsdl:input message="impl:processRequestContentIdentifierRequest"name="processRequestContentIdentifierRequest">

</wsdl:input><wsdl:output message="impl:processRequestContentIdentifierResponse"

name="processRequestContentIdentifierResponse"></wsdl:output>

</wsdl:operation><wsdl:operation name="processRegisterIdentifier" parameterOrder="requestString">

<wsdl:input message="impl:processRegisterIdentifierRequest"name="processRegisterIdentifierRequest">

</wsdl:input><wsdl:output message="impl:processRegisterIdentifierResponse"

name="processRegisterIdentifierResponse"></wsdl:output>

</wsdl:operation><wsdl:operation name="processRequestContentElementIdentifier"

parameterOrder="requestString"><wsdl:input message="impl:processRequestContentElementIdentifierRequest"

name="processRequestContentElementIdentifierRequest"></wsdl:input>

Page 690: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

690

<wsdl:output message="impl:processRequestContentElementIdentifierResponse"name="processRequestContentElementIdentifierResponse">

</wsdl:output></wsdl:operation><wsdl:operation name="processAuthenticateContentRequest" parameterOrder="requestString">

<wsdl:input message="impl:processAuthenticateContentRequestRequest"name="processAuthenticateContentRequestRequest">

</wsdl:input><wsdl:output message="impl:processAuthenticateContentRequestResponse"

name="processAuthenticateContentRequestResponse"></wsdl:output>

</wsdl:operation></wsdl:portType><wsdl:binding name="CIDServiceSoapBinding" type="impl:CIDService">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="processIdentifyContentRequest">

<wsdlsoap:operation soapAction=""/><wsdl:input name="processIdentifyContentRequestRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://service.cid.chillout.dmp.org" use="encoded"/>

</wsdl:input><wsdl:output name="processIdentifyContentRequestResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/chillout_cid/services/CIDService" use="encoded"/>

</wsdl:output></wsdl:operation><wsdl:operation name="processRequestContentIdentifier">

<wsdlsoap:operation soapAction=""/><wsdl:input name="processRequestContentIdentifierRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://service.cid.chillout.dmp.org" use="encoded"/>

</wsdl:input><wsdl:output name="processRequestContentIdentifierResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/chillout_cid/services/CIDService" use="encoded"/>

</wsdl:output></wsdl:operation><wsdl:operation name="processRegisterIdentifier">

<wsdlsoap:operation soapAction=""/><wsdl:input name="processRegisterIdentifierRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://service.cid.chillout.dmp.org" use="encoded"/>

</wsdl:input><wsdl:output name="processRegisterIdentifierResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/chillout_cid/services/CIDService" use="encoded"/>

</wsdl:output>

Page 691: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

691

</wsdl:operation><wsdl:operation name="processRequestContentElementIdentifier">

<wsdlsoap:operation soapAction=""/><wsdl:input name="processRequestContentElementIdentifierRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://service.cid.chillout.dmp.org" use="encoded"/>

</wsdl:input><wsdl:output name="processRequestContentElementIdentifierResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/chillout_cid/services/CIDService" use="encoded"/>

</wsdl:output></wsdl:operation><wsdl:operation name="processAuthenticateContentRequest">

<wsdlsoap:operation soapAction=""/><wsdl:input name="processAuthenticateContentRequestRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://service.cid.chillout.dmp.org" use="encoded"/>

</wsdl:input><wsdl:output name="processAuthenticateContentRequestResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/chillout_cid/services/CIDService" use="encoded"/>

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="CIDServiceService">

<wsdl:port binding="impl:CIDServiceSoapBinding" name="CIDService"><wsdlsoap:address location="http://localhost:8080/chillout_cid/services/CIDService"/>

</wsdl:port></wsdl:service>

</wsdl:definitions>

F.2CPD

F.2.1 Access Content

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

xmlns:axis2="http://services.cpd.chillout.dmp.org"xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"xmlns:ns0="http://msap.level0.represent.core.chillout.dmp.org/xsd"xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"xmlns:ns1="http://org.apache.axis2/xsd"xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

Page 692: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

692

targetNamespace="http://services.cpd.chillout.dmp.org"><wsdl:documentation>AccessContentProcessor</wsdl:documentation><wsdl:types>

<xs:schemaxmlns:ns="http://msap.level0.represent.core.chillout.dmp.org/xsd"attributeFormDefault="qualified" elementFormDefault="qualified"targetNamespace="http://msap.level0.represent.core.chillout.dmp.org/xsd"><xs:element name="processContentRequest">

<xs:complexType><xs:sequence>

<xs:element minOccurs="0" name="request"nillable="true" type="xs:string" />

</xs:sequence></xs:complexType>

</xs:element><xs:element name="processContentRequestResponse">

<xs:complexType><xs:sequence>

<xs:element minOccurs="0" name="return"nillable="true" type="xs:string" />

</xs:sequence></xs:complexType>

</xs:element></xs:schema>

</wsdl:types><wsdl:message name="processContentRequestRequest">

<wsdl:part name="parameters"element="ns0:processContentRequest" />

</wsdl:message><wsdl:message name="processContentRequestResponse">

<wsdl:part name="parameters"element="ns0:processContentRequestResponse" />

</wsdl:message><wsdl:portType name="AccessContentProcessorPortType">

<wsdl:operation name="processContentRequest"><wsdl:input message="axis2:processContentRequestRequest"

wsaw:Action="urn:processContentRequest" /><wsdl:output message="axis2:processContentRequestResponse"

wsaw:Action="urn:processContentRequestResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="AccessContentProcessorSOAP11Binding"

type="axis2:AccessContentProcessorPortType"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"

style="document" /><wsdl:operation name="processContentRequest">

<soap:operation soapAction="urn:processContentRequest"

Page 693: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

693

style="document" /><wsdl:input>

<soap:body use="literal" /></wsdl:input><wsdl:output>

<soap:body use="literal" /></wsdl:output>

</wsdl:operation></wsdl:binding><wsdl:binding name="AccessContentProcessorSOAP12Binding"

type="axis2:AccessContentProcessorPortType"><soap12:binding transport="http://schemas.xmlsoap.org/soap/http"

style="document" /><wsdl:operation name="processContentRequest">

<soap12:operation soapAction="urn:processContentRequest"style="document" />

<wsdl:input><soap12:body use="literal" />

</wsdl:input><wsdl:output>

<soap12:body use="literal" /></wsdl:output>

</wsdl:operation></wsdl:binding><wsdl:binding name="AccessContentProcessorHttpBinding"

type="axis2:AccessContentProcessorPortType"><http:binding verb="POST" /><wsdl:operation name="processContentRequest">

<http:operationlocation="AccessContentProcessor/processContentRequest" />

<wsdl:input><mime:content type="text/xml"

part="processContentRequest" /></wsdl:input><wsdl:output>

<mime:content type="text/xml"part="processContentRequest" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="AccessContentProcessor">

<wsdl:port name="AccessContentProcessorSOAP11port_https"binding="axis2:AccessContentProcessorSOAP11Binding"><soap:address

location="https://ganesh-2.local:9002/axis2/services/AccessContentProcessor" />

</wsdl:port>

Page 694: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

694

<wsdl:port name="AccessContentProcessorSOAP11port_http1"binding="axis2:AccessContentProcessorSOAP11Binding"><soap:address

location="http://localhost:8080/chillout_cpd/services/AccessContentProcessor" /></wsdl:port><wsdl:port name="AccessContentProcessorSOAP12port_https"

binding="axis2:AccessContentProcessorSOAP12Binding"><soap12:address

location="https://ganesh-2.local:9002/axis2/services/AccessContentProcessor" />

</wsdl:port><wsdl:port name="AccessContentProcessorSOAP12port_http1"

binding="axis2:AccessContentProcessorSOAP12Binding"><soap12:address

location="http://localhost:8080/chillout_cpd/services/AccessContentProcessor" /></wsdl:port><wsdl:port name="AccessContentProcessorHttpport"

binding="axis2:AccessContentProcessorHttpBinding"><http:address

location="https://ganesh-2.local:9002/axis2/services/AccessContentProcessor" />

</wsdl:port><wsdl:port name="AccessContentProcessorHttpport1"

binding="axis2:AccessContentProcessorHttpBinding"><http:address

location="http://localhost:8080/chillout_cpd/services/AccessContentProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 381 The Access Content Protocol WSDL description

F.2.2 Remote Store Content

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

xmlns:axis2="http://remotestorecontent.protocol.webservice.cpd.chillout.dmp.org"xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"xmlns:ns0="http://org.dmp.chillout.core.represent.level0.dmprscp"xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"xmlns:ns1="http://org.apache.axis2/xsd"xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

Page 695: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

695

targetNamespace="http://remotestorecontent.protocol.webservice.cpd.chillout.dmp.org"><wsdl:documentation>RemoteStoreContentProtocol</wsdl:documentation><wsdl:types>

<xs:schemaxmlns:ns="http://org.dmp.chillout.core.represent.level0.dmprscp"attributeFormDefault="qualified" elementFormDefault="qualified"targetNamespace="http://org.dmp.chillout.core.represent.level0.dmprscp"><xs:element name="processContentUploadRequest">

<xs:complexType><xs:sequence>

<xs:element minOccurs="0" name="strrequest"nillable="true" type="xs:string" />

</xs:sequence></xs:complexType>

</xs:element><xs:element name="processContentUploadRequestResponse">

<xs:complexType><xs:sequence>

<xs:element minOccurs="0" name="return"nillable="true" type="xs:string" />

</xs:sequence></xs:complexType>

</xs:element><xs:element name="processTransferProtocolRequest">

<xs:complexType><xs:sequence>

<xs:element minOccurs="0" name="strrequest"nillable="true" type="xs:string" />

</xs:sequence></xs:complexType>

</xs:element><xs:element name="processTransferProtocolRequestResponse">

<xs:complexType><xs:sequence>

<xs:element minOccurs="0" name="return"nillable="true" type="xs:string" />

</xs:sequence></xs:complexType>

</xs:element><xs:element name="queryUploadStatus">

<xs:complexType><xs:sequence>

<xs:element minOccurs="0" name="strrequest"nillable="true" type="xs:string" />

</xs:sequence></xs:complexType>

</xs:element>

Page 696: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

696

<xs:element name="queryUploadStatusResponse"><xs:complexType>

<xs:sequence><xs:element minOccurs="0" name="return"

nillable="true" type="xs:string" /></xs:sequence>

</xs:complexType></xs:element>

</xs:schema></wsdl:types><wsdl:message name="processTransferProtocolRequestRequest">

<wsdl:part name="parameters"element="ns0:processTransferProtocolRequest" />

</wsdl:message><wsdl:message name="processTransferProtocolRequestResponse">

<wsdl:part name="parameters"element="ns0:processTransferProtocolRequestResponse" />

</wsdl:message><wsdl:message name="queryUploadStatusRequest">

<wsdl:part name="parameters" element="ns0:queryUploadStatus" /></wsdl:message><wsdl:message name="queryUploadStatusResponse">

<wsdl:part name="parameters"element="ns0:queryUploadStatusResponse" />

</wsdl:message><wsdl:message name="processContentUploadRequestRequest">

<wsdl:part name="parameters"element="ns0:processContentUploadRequest" />

</wsdl:message><wsdl:message name="processContentUploadRequestResponse">

<wsdl:part name="parameters"element="ns0:processContentUploadRequestResponse" />

</wsdl:message><wsdl:portType name="RemoteStoreContentProtocolPortType">

<wsdl:operation name="processTransferProtocolRequest"><wsdl:input

message="axis2:processTransferProtocolRequestRequest"wsaw:Action="urn:processTransferProtocolRequest" />

<wsdl:outputmessage="axis2:processTransferProtocolRequestResponse"wsaw:Action="urn:processTransferProtocolRequestResponse" />

</wsdl:operation><wsdl:operation name="queryUploadStatus">

<wsdl:input message="axis2:queryUploadStatusRequest"wsaw:Action="urn:queryUploadStatus" />

<wsdl:output message="axis2:queryUploadStatusResponse"wsaw:Action="urn:queryUploadStatusResponse" />

Page 697: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

697

</wsdl:operation><wsdl:operation name="processContentUploadRequest">

<wsdl:inputmessage="axis2:processContentUploadRequestRequest"wsaw:Action="urn:processContentUploadRequest" />

<wsdl:outputmessage="axis2:processContentUploadRequestResponse"wsaw:Action="urn:processContentUploadRequestResponse" />

</wsdl:operation></wsdl:portType><wsdl:binding name="RemoteStoreContentProtocolSOAP11Binding"

type="axis2:RemoteStoreContentProtocolPortType"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"

style="document" /><wsdl:operation name="processTransferProtocolRequest">

<soap:operationsoapAction="urn:processTransferProtocolRequest" style="document"

/><wsdl:input>

<soap:body use="literal" /></wsdl:input><wsdl:output>

<soap:body use="literal" /></wsdl:output>

</wsdl:operation><wsdl:operation name="queryUploadStatus">

<soap:operation soapAction="urn:queryUploadStatus"style="document" />

<wsdl:input><soap:body use="literal" />

</wsdl:input><wsdl:output>

<soap:body use="literal" /></wsdl:output>

</wsdl:operation><wsdl:operation name="processContentUploadRequest">

<soap:operation soapAction="urn:processContentUploadRequest"style="document" />

<wsdl:input><soap:body use="literal" />

</wsdl:input><wsdl:output>

<soap:body use="literal" /></wsdl:output>

</wsdl:operation></wsdl:binding><wsdl:binding name="RemoteStoreContentProtocolSOAP12Binding"

Page 698: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

698

type="axis2:RemoteStoreContentProtocolPortType"><soap12:binding transport="http://schemas.xmlsoap.org/soap/http"

style="document" /><wsdl:operation name="processTransferProtocolRequest">

<soap12:operationsoapAction="urn:processTransferProtocolRequest" style="document"

/><wsdl:input>

<soap12:body use="literal" /></wsdl:input><wsdl:output>

<soap12:body use="literal" /></wsdl:output>

</wsdl:operation><wsdl:operation name="queryUploadStatus">

<soap12:operation soapAction="urn:queryUploadStatus"style="document" />

<wsdl:input><soap12:body use="literal" />

</wsdl:input><wsdl:output>

<soap12:body use="literal" /></wsdl:output>

</wsdl:operation><wsdl:operation name="processContentUploadRequest">

<soap12:operationsoapAction="urn:processContentUploadRequest" style="document"

/><wsdl:input>

<soap12:body use="literal" /></wsdl:input><wsdl:output>

<soap12:body use="literal" /></wsdl:output>

</wsdl:operation></wsdl:binding><wsdl:binding name="RemoteStoreContentProtocolHttpBinding"

type="axis2:RemoteStoreContentProtocolPortType"><http:binding verb="POST" /><wsdl:operation name="processTransferProtocolRequest">

<http:operation

location="RemoteStoreContentProtocol/processTransferProtocolRequest" /><wsdl:input>

<mime:content type="text/xml"part="processTransferProtocolRequest" />

</wsdl:input>

Page 699: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

699

<wsdl:output><mime:content type="text/xml"

part="processTransferProtocolRequest" /></wsdl:output>

</wsdl:operation><wsdl:operation name="queryUploadStatus">

<http:operationlocation="RemoteStoreContentProtocol/queryUploadStatus" />

<wsdl:input><mime:content type="text/xml" part="queryUploadStatus" />

</wsdl:input><wsdl:output>

<mime:content type="text/xml" part="queryUploadStatus" /></wsdl:output>

</wsdl:operation><wsdl:operation name="processContentUploadRequest">

<http:operation

location="RemoteStoreContentProtocol/processContentUploadRequest" /><wsdl:input>

<mime:content type="text/xml"part="processContentUploadRequest" />

</wsdl:input><wsdl:output>

<mime:content type="text/xml"part="processContentUploadRequest" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="RemoteStoreContentProtocol">

<wsdl:port name="RemoteStoreContentProtocolSOAP11port_https"binding="axis2:RemoteStoreContentProtocolSOAP11Binding"><soap:address

location="https://ganesh-2.local:9002/axis2/services/RemoteStoreContentProtocol" />

</wsdl:port><wsdl:port name="RemoteStoreContentProtocolSOAP11port_http1"

binding="axis2:RemoteStoreContentProtocolSOAP11Binding"><soap:address

location="http://localhost:8080/chillout_cpd/services/RemoteStoreContentProtocol" /></wsdl:port><wsdl:port name="RemoteStoreContentProtocolSOAP12port_https"

binding="axis2:RemoteStoreContentProtocolSOAP12Binding"><soap12:address

location="https://ganesh-2.local:9002/axis2/services/RemoteStoreContentProtocol" />

Page 700: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

700

</wsdl:port><wsdl:port name="RemoteStoreContentProtocolSOAP12port_http1"

binding="axis2:RemoteStoreContentProtocolSOAP12Binding"><soap12:address

location="http://localhost:8080/chillout_cpd/services/RemoteStoreContentProtocol" /></wsdl:port><wsdl:port name="RemoteStoreContentProtocolHttpport"

binding="axis2:RemoteStoreContentProtocolHttpBinding"><http:address

location="https://ganesh-2.local:9002/axis2/services/RemoteStoreContentProtocol" />

</wsdl:port><wsdl:port name="RemoteStoreContentProtocolHttpport1"

binding="axis2:RemoteStoreContentProtocolHttpBinding"><http:address

location="http://localhost:8080/chillout_cpd/services/RemoteStoreContentProtocol" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 382 The Remote Store Content Protocol WSDL description

F.3DID

F.3.1 IdentifyDeviceService

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitionstargetNamespace="http://localhost:8080/chillout_did/services/IdentifyDeviceService"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_did/services/IdentifyDeviceService"xmlns:intf="http://localhost:8080/chillout_did/services/IdentifyDeviceService"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!--WSDL created by Apache Axis version: 1.4Built on Apr 22, 2006 (06:55:48 PDT)-->

<wsdl:message name="processDeviceIDRequestRequest"><wsdl:part name="requestString" type="xsd:string"/>

</wsdl:message><wsdl:message name="processDeviceIDRequestResponse">

<wsdl:part name="processDeviceIDRequestReturn" type="xsd:string"/></wsdl:message><wsdl:portType name="IdentifyDeviceService">

Page 701: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

701

<wsdl:operation name="processDeviceIDRequest" parameterOrder="requestString"><wsdl:input message="impl:processDeviceIDRequestRequest"

name="processDeviceIDRequestRequest"/><wsdl:output message="impl:processDeviceIDRequestResponse"

name="processDeviceIDRequestResponse"/></wsdl:operation>

</wsdl:portType><wsdl:binding name="IdentifyDeviceServiceSoapBinding" type="impl:IdentifyDeviceService">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="processDeviceIDRequest">

<wsdlsoap:operation soapAction=""/><wsdl:input name="processDeviceIDRequestRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.did.chillout.dmp.org" use="encoded"/>

</wsdl:input><wsdl:output name="processDeviceIDRequestResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/chillout_did/services/IdentifyDeviceService" use="encoded"/>

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="IdentifyDeviceServiceService">

<wsdl:port binding="impl:IdentifyDeviceServiceSoapBinding" name="IdentifyDeviceService"><wsdlsoap:address

location="http://localhost:8080/chillout_did/services/IdentifyDeviceService"/></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 383 The Identify Device Service WSDL description

F.4DMD

F.4.1 Add Device

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/AddDeviceProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/AddDeviceProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/AddDeviceProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!--WSDL created by Apache Axis version: 1.4

Built on Apr 22, 2006 (06:55:48 PDT)--><wsdl:message name="processAddDeviceRequest">

Page 702: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

702

<wsdl:part name="addDeviceString" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqResponse">

<wsdl:part name="processAuthReqReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqRequest">

<wsdl:part name="authReqString" type="xsd:string" /></wsdl:message><wsdl:message name="processAckResponse"></wsdl:message><wsdl:message name="processAckRequest">

<wsdl:part name="reqType" type="xsd:string" /></wsdl:message><wsdl:message name="processAddDeviceResponse">

<wsdl:part name="processAddDeviceReturn" type="xsd:string" /></wsdl:message><wsdl:portType name="AddDeviceService">

<wsdl:operation name="processAuthReq"parameterOrder="authReqString"><wsdl:input message="impl:processAuthReqRequest"

name="processAuthReqRequest" /><wsdl:output message="impl:processAuthReqResponse"

name="processAuthReqResponse" /></wsdl:operation><wsdl:operation name="processAddDevice"

parameterOrder="addDeviceString"><wsdl:input message="impl:processAddDeviceRequest"

name="processAddDeviceRequest" /><wsdl:output message="impl:processAddDeviceResponse"

name="processAddDeviceResponse" /></wsdl:operation><wsdl:operation name="processAck" parameterOrder="reqType">

<wsdl:input message="impl:processAckRequest"name="processAckRequest" />

<wsdl:output message="impl:processAckResponse"name="processAckResponse" />

</wsdl:operation></wsdl:portType><wsdl:binding name="AddDeviceProcessorSoapBinding"

type="impl:AddDeviceService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processAuthReq">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAuthReqRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

Page 703: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

703

namespace="http://services.dmd.chillout.dmp.org"use="encoded" />

</wsdl:input><wsdl:output name="processAuthReqResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/AddDeviceProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="processAddDevice">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAddDeviceRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAddDeviceResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/AddDeviceProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="processAck">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAckRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAckResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/AddDeviceProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="AddDeviceServiceService">

<wsdl:port binding="impl:AddDeviceProcessorSoapBinding"name="AddDeviceProcessor">

Page 704: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

704

<wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/AddDeviceProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 384 The Add Device Protocol WSDL description

F.4.2 Add User

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitionstargetNamespace="http://localhost:8080/chillout_dmd/services/AddUserProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/AddUserProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/AddUserProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!--WSDL created by Apache Axis version: 1.4Built on Apr 22, 2006 (06:55:48 PDT)-->

<wsdl:message name="processAddUserResponse"><wsdl:part name="processAddUserReturn" type="xsd:string"/>

</wsdl:message><wsdl:message name="processAddUserRequest">

<wsdl:part name="addUserString" type="xsd:string"/></wsdl:message><wsdl:message name="processAuthReqResponse">

<wsdl:part name="processAuthReqReturn" type="xsd:string"/></wsdl:message><wsdl:message name="processAuthReqRequest">

<wsdl:part name="authReqString" type="xsd:string"/></wsdl:message><wsdl:portType name="AddUserService">

<wsdl:operation name="processAuthReq" parameterOrder="authReqString"><wsdl:input message="impl:processAuthReqRequest" name="processAuthReqRequest"/><wsdl:output message="impl:processAuthReqResponse" name="processAuthReqResponse"/>

</wsdl:operation><wsdl:operation name="processAddUser" parameterOrder="addUserString">

<wsdl:input message="impl:processAddUserRequest" name="processAddUserRequest"/><wsdl:output message="impl:processAddUserResponse" name="processAddUserResponse"/>

</wsdl:operation></wsdl:portType><wsdl:binding name="AddUserProcessorSoapBinding" type="impl:AddUserService">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="processAuthReq">

Page 705: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

705

<wsdlsoap:operation soapAction=""/><wsdl:input name="processAuthReqRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org" use="encoded"/>

</wsdl:input><wsdl:output name="processAuthReqResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/chillout_dmd/services/AddUserProcessor" use="encoded"/>

</wsdl:output></wsdl:operation><wsdl:operation name="processAddUser">

<wsdlsoap:operation soapAction=""/><wsdl:input name="processAddUserRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org" use="encoded"/>

</wsdl:input><wsdl:output name="processAddUserResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://localhost:8080/chillout_dmd/services/AddUserProcessor" use="encoded"/>

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="AddUserServiceService">

<wsdl:port binding="impl:AddUserProcessorSoapBinding" name="AddUserProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/AddUserProcessor"/></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 385 The Add User Protocol WSDL description

F.4.3 Create Domain

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/CreateDomainProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/CreateDomainProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/CreateDomainProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="generateRandomKeyRequest">

<wsdl:part name="algorithm" type="xsd:string" /><wsdl:part name="keyLength" type="xsd:int" />

</wsdl:message>

Page 706: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

706

<wsdl:message name="generateRandomKeyResponse"><wsdl:part name="generateRandomKeyReturn"

type="xsd:base64Binary" /></wsdl:message><wsdl:message name="processCreateDomainResponse">

<wsdl:part name="processCreateDomainReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processCreateDomainRequest">

<wsdl:part name="createDomainString" type="xsd:string" /></wsdl:message><wsdl:portType name="CreateDomainService">

<wsdl:operation name="processCreateDomain"parameterOrder="createDomainString"><wsdl:input message="impl:processCreateDomainRequest"

name="processCreateDomainRequest" /><wsdl:output message="impl:processCreateDomainResponse"

name="processCreateDomainResponse" /></wsdl:operation><wsdl:operation name="generateRandomKey"

parameterOrder="algorithm keyLength"><wsdl:input message="impl:generateRandomKeyRequest"

name="generateRandomKeyRequest" /><wsdl:output message="impl:generateRandomKeyResponse"

name="generateRandomKeyResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="CreateDomainProcessorSoapBinding"

type="impl:CreateDomainService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processCreateDomain">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processCreateDomainRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processCreateDomainResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/CreateDomainProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="generateRandomKey">

Page 707: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

707

<wsdlsoap:operation soapAction="" /><wsdl:input name="generateRandomKeyRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="generateRandomKeyResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/CreateDomainProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="CreateDomainServiceService">

<wsdl:port binding="impl:CreateDomainProcessorSoapBinding"name="CreateDomainProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/CreateDomainProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 386 The Create Domain Protocol WSDL description

F.4.4 Delete Domain

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/DeleteDomainProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/DeleteDomainProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/DeleteDomainProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processDeleteDomainRequest">

<wsdl:part name="deleteDomainString" type="xsd:string" /></wsdl:message><wsdl:message name="processDeleteDomainResponse">

<wsdl:part name="processDeleteDomainReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqResponse">

<wsdl:part name="processAuthReqReturn" type="xsd:string" />

Page 708: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

708

</wsdl:message<wsdl:message name="processAuthReqRequest">

<wsdl:part name="authReqString" type="xsd:string" /></wsdl:message>

<wsdl:portType name="DeleteDomainService"><wsdl:operation name="processAuthReq"

parameterOrder="authReqString"><wsdl:input message="impl:processAuthReqRequest"

name="processAuthReqRequest" /><wsdl:output message="impl:processAuthReqResponse"

name="processAuthReqResponse" /></wsdl:operation><wsdl:operation name="processDeleteDomain"

parameterOrder="deleteDomainString"><wsdl:input message="impl:processDeleteDomainRequest"

name="processDeleteDomainRequest" /><wsdl:output message="impl:processDeleteDomainResponse"

name="processDeleteDomainResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="DeleteDomainProcessorSoapBinding"

type="impl:DeleteDomainService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processAuthReq">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAuthReqRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAuthReqResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/DeleteDomainProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="processDeleteDomain">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processDeleteDomainRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" />

Page 709: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

709

</wsdl:input><wsdl:output name="processDeleteDomainResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/DeleteDomainProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="DeleteDomainServiceService">

<wsdl:port binding="impl:DeleteDomainProcessorSoapBinding"name="DeleteDomainProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/DeleteDomainProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 387 The Delete Domain Protocol WSDL description

F.4.5 Leave Device

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/LeaveDeviceProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/LeaveDeviceProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/LeaveDeviceProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processLeaveDeviceRequest">

<wsdl:part name="leaveDeviceString" type="xsd:string" /></wsdl:message><wsdl:message name="processLeaveDeviceResponse">

<wsdl:part name="processLeaveDeviceReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqResponse">

<wsdl:part name="processAuthReqReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqRequest">

<wsdl:part name="authReqString" type="xsd:string" /></wsdl:message><wsdl:portType name="LeaveDeviceService">

<wsdl:operation name="processAuthReq"

Page 710: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

710

parameterOrder="authReqString"><wsdl:input message="impl:processAuthReqRequest"

name="processAuthReqRequest" /><wsdl:output message="impl:processAuthReqResponse"

name="processAuthReqResponse" /></wsdl:operation><wsdl:operation name="processLeaveDevice"

parameterOrder="leaveDeviceString"><wsdl:input message="impl:processLeaveDeviceRequest"

name="processLeaveDeviceRequest" /><wsdl:output message="impl:processLeaveDeviceResponse"

name="processLeaveDeviceResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="LeaveDeviceProcessorSoapBinding"

type="impl:LeaveDeviceService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processAuthReq">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAuthReqRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAuthReqResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/LeaveDeviceProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="processLeaveDevice">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processLeaveDeviceRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processLeaveDeviceResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/LeaveDeviceProcessor"

Page 711: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

711

use="encoded" /></wsdl:output>

</wsdl:operation></wsdl:binding><wsdl:service name="LeaveDeviceServiceService">

<wsdl:port binding="impl:LeaveDeviceProcessorSoapBinding"name="LeaveDeviceProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/LeaveDeviceProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 388 The Leave Device Protocol WSDL description

F.4.6 Leave user

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/LeaveUserProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/LeaveUserProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/LeaveUserProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processLeaveUserRequest">

<wsdl:part name="leaveUserString" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqResponse">

<wsdl:part name="processAuthReqReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqRequest">

<wsdl:part name="authReqString" type="xsd:string" /></wsdl:message><wsdl:message name="processLeaveUserResponse">

<wsdl:part name="processLeaveUserReturn" type="xsd:string" /></wsdl:message><wsdl:portType name="LeaveUserService">

<wsdl:operation name="processAuthReq"parameterOrder="authReqString"><wsdl:input message="impl:processAuthReqRequest"

name="processAuthReqRequest" /><wsdl:output message="impl:processAuthReqResponse"

name="processAuthReqResponse" /></wsdl:operation>

Page 712: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

712

<wsdl:operation name="processLeaveUser"parameterOrder="leaveUserString"><wsdl:input message="impl:processLeaveUserRequest"

name="processLeaveUserRequest" /><wsdl:output message="impl:processLeaveUserResponse"

name="processLeaveUserResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="LeaveUserProcessorSoapBinding"

type="impl:LeaveUserService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processAuthReq">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAuthReqRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAuthReqResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/LeaveUserProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="processLeaveUser">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processLeaveUserRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processLeaveUserResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/LeaveUserProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="LeaveUserServiceService">

<wsdl:port binding="impl:LeaveUserProcessorSoapBinding"

Page 713: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

713

name="LeaveUserProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/LeaveUserProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 389 The Identify Device Protocol WSDL description

F.4.7 Renew Device

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/RenewDeviceProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/RenewDeviceProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/RenewDeviceProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processAckRequest">

<wsdl:part name="reqType" type="xsd:string" /></wsdl:message><wsdl:message name="processAckResponse"></wsdl:message><wsdl:message name="processRenewDeviceResponse">

<wsdl:part name="processRenewDeviceReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processRenewDeviceRequest">

<wsdl:part name="renewDeviceString" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqResponse">

<wsdl:part name="processAuthReqReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqRequest">

<wsdl:part name="authReqString" type="xsd:string" /></wsdl:message><wsdl:portType name="RenewDeviceService">

<wsdl:operation name="processAuthReq"parameterOrder="authReqString"><wsdl:input message="impl:processAuthReqRequest"

name="processAuthReqRequest" /><wsdl:output message="impl:processAuthReqResponse"

name="processAuthReqResponse" /></wsdl:operation><wsdl:operation name="processAck" parameterOrder="reqType">

<wsdl:input message="impl:processAckRequest"

Page 714: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

714

name="processAckRequest" /><wsdl:output message="impl:processAckResponse"

name="processAckResponse" /></wsdl:operation><wsdl:operation name="processRenewDevice"

parameterOrder="renewDeviceString"><wsdl:input message="impl:processRenewDeviceRequest"

name="processRenewDeviceRequest" /><wsdl:output message="impl:processRenewDeviceResponse"

name="processRenewDeviceResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="RenewDeviceProcessorSoapBinding"

type="impl:RenewDeviceService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processAuthReq">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAuthReqRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAuthReqResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/RenewDeviceProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="processAck">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAckRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAckResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/RenewDeviceProcessor"use="encoded" />

</wsdl:output>

Page 715: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

715

</wsdl:operation><wsdl:operation name="processRenewDevice">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processRenewDeviceRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processRenewDeviceResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/RenewDeviceProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="RenewDeviceServiceService">

<wsdl:port binding="impl:RenewDeviceProcessorSoapBinding"name="RenewDeviceProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/RenewDeviceProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 390 The Renew Device Protocol WSDL description

F.4.8 Renew Domain

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/RenewDomainProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/RenewDomainProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/RenewDomainProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processRenewDomainResponse">

<wsdl:part name="processRenewDomainReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processRenewDomainRequest">

<wsdl:part name="renewDomainType" type="xsd:string" /></wsdl:message>

Page 716: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

716

<wsdl:message name="processAuthReqResponse"><wsdl:part name="processAuthReqReturn" type="xsd:string" />

</wsdl:message><wsdl:message name="processAuthReqRequest">

<wsdl:part name="authReqString" type="xsd:string" /></wsdl:message><wsdl:portType name="RenewDomainService">

<wsdl:operation name="processAuthReq"parameterOrder="authReqString"><wsdl:input message="impl:processAuthReqRequest"

name="processAuthReqRequest" /><wsdl:output message="impl:processAuthReqResponse"

name="processAuthReqResponse" /></wsdl:operation><wsdl:operation name="processRenewDomain"

parameterOrder="renewDomainType"><wsdl:input message="impl:processRenewDomainRequest"

name="processRenewDomainRequest" /><wsdl:output message="impl:processRenewDomainResponse"

name="processRenewDomainResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="RenewDomainProcessorSoapBinding"

type="impl:RenewDomainService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processAuthReq">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAuthReqRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAuthReqResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/RenewDomainProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="processRenewDomain">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processRenewDomainRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

Page 717: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

717

namespace="http://services.dmd.chillout.dmp.org"use="encoded" />

</wsdl:input><wsdl:output name="processRenewDomainResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/RenewDomainProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="RenewDomainServiceService">

<wsdl:port binding="impl:RenewDomainProcessorSoapBinding"name="RenewDomainProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/RenewDomainProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 391 The Renew Domain Protocol WSDL description

F.4.9 Renew User

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/RenewUserProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/RenewUserProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/RenewUserProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processRenewUserRequest">

<wsdl:part name="renewUserString" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqResponse">

<wsdl:part name="processAuthReqReturn" type="xsd:string" /></wsdl:message><wsdl:message name="processAuthReqRequest">

<wsdl:part name="authReqString" type="xsd:string" /></wsdl:message><wsdl:message name="processRenewUserResponse">

<wsdl:part name="processRenewUserReturn" type="xsd:string" /></wsdl:message>

Page 718: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

718

<wsdl:portType name="RenewUserService"><wsdl:operation name="processAuthReq"

parameterOrder="authReqString"><wsdl:input message="impl:processAuthReqRequest"

name="processAuthReqRequest" /><wsdl:output message="impl:processAuthReqResponse"

name="processAuthReqResponse" /></wsdl:operation><wsdl:operation name="processRenewUser"

parameterOrder="renewUserString"><wsdl:input message="impl:processRenewUserRequest"

name="processRenewUserRequest" /><wsdl:output message="impl:processRenewUserResponse"

name="processRenewUserResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="RenewUserProcessorSoapBinding"

type="impl:RenewUserService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processAuthReq">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processAuthReqRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processAuthReqResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/RenewUserProcessor"use="encoded" />

</wsdl:output></wsdl:operation><wsdl:operation name="processRenewUser">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processRenewUserRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processRenewUserResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

Page 719: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

719

namespace="http://localhost:8080/chillout_dmd/services/RenewUserProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="RenewUserServiceService">

<wsdl:port binding="impl:RenewUserProcessorSoapBinding"name="RenewUserProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/RenewUserProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 392 The Renew User Protocol WSDL description

F.4.10Request key

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_dmd/services/RequestKeyProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_dmd/services/RequestKeyProcessor"xmlns:intf="http://localhost:8080/chillout_dmd/services/RequestKeyProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processRequestKeyRequest">

<wsdl:part name="requestKeyType" type="xsd:string" /></wsdl:message><wsdl:message name="processRequestKeyResponse">

<wsdl:part name="processRequestKeyReturn" type="xsd:string" /></wsdl:message><wsdl:portType name="RequestKeyService">

<wsdl:operation name="processRequestKey"parameterOrder="requestKeyType"><wsdl:input message="impl:processRequestKeyRequest"

name="processRequestKeyRequest" /><wsdl:output message="impl:processRequestKeyResponse"

name="processRequestKeyResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="RequestKeyProcessorSoapBinding"

type="impl:RequestKeyService"><wsdlsoap:binding style="rpc"

Page 720: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

720

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processRequestKey">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processRequestKeyRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.dmd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processRequestKeyResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_dmd/services/RequestKeyProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="RequestKeyServiceService">

<wsdl:port binding="impl:RequestKeyProcessorSoapBinding"name="RequestKeyProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_dmd/services/RequestKeyProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 393 The request key Protocol WSDL description

F.5LPD

F.5.1 Request license

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_lpd/services/RequestLicenseProcessor"xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_lpd/services/RequestLicenseProcessor"xmlns:intf="http://localhost:8080/chillout_lpd/services/RequestLicenseProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processRequestLicenseResponse">

<wsdl:part name="processRequestLicenseReturn" type="xsd:string" /></wsdl:message>

Page 721: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

721

<wsdl:message name="processRequestLicenseRequest"><wsdl:part name="requestLicenseString" type="xsd:string" />

</wsdl:message><wsdl:portType name="RequestLicenseService">

<wsdl:operation name="processRequestLicense"parameterOrder="requestLicenseString"><wsdl:input message="impl:processRequestLicenseRequest"

name="processRequestLicenseRequest" /><wsdl:output message="impl:processRequestLicenseResponse"

name="processRequestLicenseResponse" /></wsdl:operation>

</wsdl:portType><wsdl:binding name="RequestLicenseProcessorSoapBinding"

type="impl:RequestLicenseService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processRequestLicense">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processRequestLicenseRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.lpd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processRequestLicenseResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_lpd/services/RequestLicenseProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="RequestLicenseServiceService">

<wsdl:port binding="impl:RequestLicenseProcessorSoapBinding"name="RequestLicenseProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_lpd/services/RequestLicenseProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 394 The request license Protocol WSDL description

Page 722: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

722

F.6Store License Request

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_lpd/services/StoreLicenseRequestProcessor"

xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_lpd/services/StoreLicenseRequestProcessor"xmlns:intf="http://localhost:8080/chillout_lpd/services/StoreLicenseRequestProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="processStoreLicenseRequestRequest">

<wsdl:part name="request" type="xsd:string" /></wsdl:message><wsdl:message name="processStoreLicenseRequestResponse">

<wsdl:part name="processStoreLicenseRequestReturn"type="xsd:string" />

</wsdl:message><wsdl:portType name="StoreLicenseRequestService">

<wsdl:operation name="processStoreLicenseRequest"parameterOrder="request"><wsdl:input message="impl:processStoreLicenseRequestRequest"

name="processStoreLicenseRequestRequest" /><wsdl:output

message="impl:processStoreLicenseRequestResponse"name="processStoreLicenseRequestResponse" />

</wsdl:operation></wsdl:portType><wsdl:binding name="StoreLicenseRequestProcessorSoapBinding"

type="impl:StoreLicenseRequestService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processStoreLicenseRequest">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processStoreLicenseRequestRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.lpd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processStoreLicenseRequestResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_lpd/services/StoreLicenseRequestProcessor"

Page 723: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

723

use="encoded" /></wsdl:output>

</wsdl:operation></wsdl:binding><wsdl:service name="StoreLicenseRequestServiceService">

<wsdl:portbinding="impl:StoreLicenseRequestProcessorSoapBinding"name="StoreLicenseRequestProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_lpd/services/StoreLicenseRequestProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 395 The Store License Request Protocol WSDL description

F.7TPD

F.7.1 Request DRM Tool Body

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor"

xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor"xmlns:intf="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:tns1="http://dsig.level0.represent.core.chillout.dmp.org"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types>

<schema

targetNamespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor"

xmlns="http://www.w3.org/2001/XMLSchema"><import

namespace="http://dsig.level0.represent.core.chillout.dmp.org" /><import namespace="http://xml.apache.org/xml-soap" /><import

namespace="http://schemas.xmlsoap.org/soap/encoding/" /><complexType name="ArrayOf_xsd_anyType">

<complexContent><restriction base="soapenc:Array">

<attribute ref="soapenc:arrayType"

Page 724: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

724

wsdl:arrayType="xsd:anyType[]" /></restriction>

</complexContent></complexType>

</schema><schema targetNamespace="http://xml.apache.org/xml-soap"

xmlns="http://www.w3.org/2001/XMLSchema"><import

namespace="http://dsig.level0.represent.core.chillout.dmp.org" /><import

namespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor"/>

<importnamespace="http://schemas.xmlsoap.org/soap/encoding/" />

<complexType name="Vector"><sequence>

<element maxOccurs="unbounded" minOccurs="0"name="item" type="xsd:anyType" />

</sequence></complexType>

</schema><schema

targetNamespace="http://dsig.level0.represent.core.chillout.dmp.org"xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://xml.apache.org/xml-soap" /><import

namespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor"/>

<importnamespace="http://schemas.xmlsoap.org/soap/encoding/" />

<complexType name="KeyInfoType"><sequence>

<element name="content" nillable="true"type="impl:ArrayOf_xsd_anyType" />

<element name="id" nillable="true"type="xsd:string" />

</sequence></complexType><complexType name="SignatureValueType">

<sequence><element name="id" nillable="true"

type="xsd:string" /><element name="value" nillable="true"

type="xsd:base64Binary" /></sequence>

Page 725: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

725

</complexType><complexType name="CanonicalizationMethodType">

<sequence><element name="algorithm" nillable="true"

type="xsd:string" /><element name="content" nillable="true"

type="impl:ArrayOf_xsd_anyType" /></sequence>

</complexType><complexType name="SignatureMethodType">

<sequence><element name="algorithm" nillable="true"

type="xsd:string" /><element name="content" nillable="true"

type="impl:ArrayOf_xsd_anyType" /></sequence>

</complexType><complexType name="SignedInfoType">

<sequence><element name="canonicalizationMethod"

nillable="true"type="tns1:CanonicalizationMethodType" />

<element name="id" nillable="true"type="xsd:string" />

<element name="reference" nillable="true"type="impl:ArrayOf_xsd_anyType" />

<element name="signatureMethod" nillable="true"type="tns1:SignatureMethodType" />

</sequence></complexType><complexType name="SignatureType">

<sequence><element name="id" nillable="true"

type="xsd:string" /><element name="keyInfo" nillable="true"

type="tns1:KeyInfoType" /><element name="object" nillable="true"

type="impl:ArrayOf_xsd_anyType" /><element name="signatureValue" nillable="true"

type="tns1:SignatureValueType" /><element name="signedInfo" nillable="true"

type="tns1:SignedInfoType" /></sequence>

</complexType></schema>

</wsdl:types><wsdl:message name="isvalidResponse">

Page 726: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

726

<wsdl:part name="isvalidReturn" type="xsd:boolean" /></wsdl:message><wsdl:message name="processRequestDRMToolBodyRequest">

<wsdl:part name="request" type="xsd:string" /></wsdl:message><wsdl:message name="processRequestDRMToolBodyResponse">

<wsdl:part name="processRequestDRMToolBodyReturn"type="xsd:string" />

</wsdl:message><wsdl:message name="isvalidRequest">

<wsdl:part name="signature" type="tns1:SignatureType" /></wsdl:message><wsdl:portType name="RequestDRMToolBodyService">

<wsdl:operation name="processRequestDRMToolBody"parameterOrder="request"><wsdl:input message="impl:processRequestDRMToolBodyRequest"

name="processRequestDRMToolBodyRequest" /><wsdl:output

message="impl:processRequestDRMToolBodyResponse"name="processRequestDRMToolBodyResponse" />

</wsdl:operation><wsdl:operation name="isvalid" parameterOrder="signature">

<wsdl:input message="impl:isvalidRequest"name="isvalidRequest" />

<wsdl:output message="impl:isvalidResponse"name="isvalidResponse" />

</wsdl:operation></wsdl:portType><wsdl:binding name="RequestDRMToolBodyProcessorSoapBinding"

type="impl:RequestDRMToolBodyService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="processRequestDRMToolBody">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processRequestDRMToolBodyRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.tpd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processRequestDRMToolBodyResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor"use="encoded" />

</wsdl:output>

Page 727: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

727

</wsdl:operation><wsdl:operation name="isvalid">

<wsdlsoap:operation soapAction="" /><wsdl:input name="isvalidRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.tpd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="isvalidResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor"use="encoded" />

</wsdl:output></wsdl:operation>

</wsdl:binding><wsdl:service name="RequestDRMToolBodyServiceService">

<wsdl:port binding="impl:RequestDRMToolBodyProcessorSoapBinding"name="RequestDRMToolBodyProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_tpd/services/RequestDRMToolBodyProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 396 The Request DRM Tool Body Protocol WSDL description

F.7.2 Request DRM Tool info List

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions

targetNamespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor"

xmlns:apachesoap="http://xml.apache.org/xml-soap"xmlns:impl="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor

"xmlns:intf="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:tns1="http://dsig.level0.represent.core.chillout.dmp.org"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types>

<schema

Page 728: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

728

targetNamespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor"

xmlns="http://www.w3.org/2001/XMLSchema"><import

namespace="http://dsig.level0.represent.core.chillout.dmp.org" /><import namespace="http://xml.apache.org/xml-soap" /><import

namespace="http://schemas.xmlsoap.org/soap/encoding/" /><complexType name="ArrayOf_xsd_anyType">

<complexContent><restriction base="soapenc:Array">

<attribute ref="soapenc:arrayType"wsdl:arrayType="xsd:anyType[]" />

</restriction></complexContent>

</complexType></schema><schema targetNamespace="http://xml.apache.org/xml-soap"

xmlns="http://www.w3.org/2001/XMLSchema"><import

namespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor" />

<importnamespace="http://dsig.level0.represent.core.chillout.dmp.org" />

<importnamespace="http://schemas.xmlsoap.org/soap/encoding/" />

<complexType name="Vector"><sequence>

<element maxOccurs="unbounded" minOccurs="0"name="item" type="xsd:anyType" />

</sequence></complexType>

</schema><schema

targetNamespace="http://dsig.level0.represent.core.chillout.dmp.org"xmlns="http://www.w3.org/2001/XMLSchema"><import

namespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor" />

<import namespace="http://xml.apache.org/xml-soap" /><import

namespace="http://schemas.xmlsoap.org/soap/encoding/" /><complexType name="KeyInfoType">

<sequence>

Page 729: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

729

<element name="content" nillable="true"type="impl:ArrayOf_xsd_anyType" />

<element name="id" nillable="true"type="xsd:string" />

</sequence></complexType><complexType name="SignatureValueType">

<sequence><element name="id" nillable="true"

type="xsd:string" /><element name="value" nillable="true"

type="xsd:base64Binary" /></sequence>

</complexType><complexType name="CanonicalizationMethodType">

<sequence><element name="algorithm" nillable="true"

type="xsd:string" /><element name="content" nillable="true"

type="impl:ArrayOf_xsd_anyType" /></sequence>

</complexType><complexType name="SignatureMethodType">

<sequence><element name="algorithm" nillable="true"

type="xsd:string" /><element name="content" nillable="true"

type="impl:ArrayOf_xsd_anyType" /></sequence>

</complexType><complexType name="SignedInfoType">

<sequence><element name="canonicalizationMethod"

nillable="true"type="tns1:CanonicalizationMethodType" />

<element name="id" nillable="true"type="xsd:string" />

<element name="reference" nillable="true"type="impl:ArrayOf_xsd_anyType" />

<element name="signatureMethod" nillable="true"type="tns1:SignatureMethodType" />

</sequence></complexType><complexType name="SignatureType">

<sequence><element name="id" nillable="true"

type="xsd:string" />

Page 730: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

730

<element name="keyInfo" nillable="true"type="tns1:KeyInfoType" />

<element name="object" nillable="true"type="impl:ArrayOf_xsd_anyType" />

<element name="signatureValue" nillable="true"type="tns1:SignatureValueType" />

<element name="signedInfo" nillable="true"type="tns1:SignedInfoType" />

</sequence></complexType>

</schema></wsdl:types><wsdl:message name="processRequestDRMToolInfoListRequest">

<wsdl:part name="request" type="xsd:string" /></wsdl:message><wsdl:message name="processRequestDRMToolInfoListResponse">

<wsdl:part name="processRequestDRMToolInfoListReturn"type="xsd:string" />

</wsdl:message><wsdl:message name="isvalidRequest">

<wsdl:part name="signature" type="tns1:SignatureType" /></wsdl:message><wsdl:message name="isvalidResponse">

<wsdl:part name="isvalidReturn" type="xsd:boolean" /></wsdl:message><wsdl:portType name="RequestDRMToolInfoListService">

<wsdl:operation name="isvalid" parameterOrder="signature"><wsdl:input message="impl:isvalidRequest"

name="isvalidRequest" /><wsdl:output message="impl:isvalidResponse"

name="isvalidResponse" /></wsdl:operation><wsdl:operation name="processRequestDRMToolInfoList"

parameterOrder="request"><wsdl:input

message="impl:processRequestDRMToolInfoListRequest"name="processRequestDRMToolInfoListRequest" />

<wsdl:outputmessage="impl:processRequestDRMToolInfoListResponse"name="processRequestDRMToolInfoListResponse" />

</wsdl:operation></wsdl:portType><wsdl:binding name="RequestDRMToolInfoListProcessorSoapBinding"

type="impl:RequestDRMToolInfoListService"><wsdlsoap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="isvalid">

Page 731: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

731

<wsdlsoap:operation soapAction="" /><wsdl:input name="isvalidRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.tpd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="isvalidResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor"

use="encoded" /></wsdl:output>

</wsdl:operation><wsdl:operation name="processRequestDRMToolInfoList">

<wsdlsoap:operation soapAction="" /><wsdl:input name="processRequestDRMToolInfoListRequest">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://services.tpd.chillout.dmp.org"

use="encoded" /></wsdl:input><wsdl:output name="processRequestDRMToolInfoListResponse">

<wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

namespace="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor"

use="encoded" /></wsdl:output>

</wsdl:operation></wsdl:binding><wsdl:service name="RequestDRMToolInfoListServiceService">

<wsdl:portbinding="impl:RequestDRMToolInfoListProcessorSoapBinding"name="RequestDRMToolInfoListProcessor"><wsdlsoap:address

location="http://localhost:8080/chillout_tpd/services/RequestDRMToolInfoListProcessor" /></wsdl:port>

</wsdl:service></wsdl:definitions>

Figure 397 The Request DRM Tool Info List Protocol WSDL description

Page 732: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

732

Annex G– Example of Content Registration

The Registration Authority uses the namespace of DMPF and the DMPF scheme defines its syntaxconforming to the URN syntax with a specific purpose of Identifying Content. In order to UseContent in accordance with the DMP specification, the ContentPro company asks a RegistrationAgency of its choice to assign the string 123456abc to a given Content Item. The RegistrationAgency, which was given the subordinate namespace I100 by the Registration Authority, will usethe following identifier for content Registration: urn:dmpf:I100-123456abc. The syntax of ContentIdentifier is based on DMPF syntax.

This scheme can also be used to support linkage to other naming schemes. For example, in order toenable support for the ISBN naming scheme (ISBN no. 12345689), the Certification Agencyestablishes a link between the Content Identifier mentioned above, and the ISBN number. Then, theidentifier urn:dmpi:isbn-12345689 can be used.

Page 733: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

733

Annex H – Application forms

H.1 To Be Completed By Applicant Registration Agency

Name of organisation

Address, with street, city, country

Principal contact in organisation Position

E-mail Telephone number Fax number

Legal status of organisation Anticipated date of first use of sub namespace

Expected number of identifiers maintained

Expected number of identifiers issued annually

List of countries in which the organisation is represented

Address for correspondence/billing

Authorised representativeName: _________________________________Title: _________________________________

Page 734: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

734

(On separate sheet) Details of provisions made by the application to safeguard conformance with theDMP specification (required to ensure compliance with the Registration Agency responsibilities)

We hereby apply for the assignment of an DMP subordinate namespace, and state that the use of thesub namespace will be in accordance with the DMP specification

Signature/date

Please return application to: The Registration AuthorityOrganizationAddress hereFax:E-mail:

Page 735: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

735

H.2 To Be Completed By The Registration Authority

Form received on Subordinate namespace issued on

Signature/date

Page 736: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

736

Annex I – List of Traditional Rights and Usages

Since the beginning of 2004 DMP has collected a large number of Traditional Rights and Usages(TRU). Document dmp0270 (http://www.dmpf.org/open/dmp0270.zip) provides the full analysis ofall TRUs collected. The list below is extracted from dmp0270.

# TRU Description of TRU

01TRU to quote Right to reproduce limited portions of another author's work, for avariety of reasons, and in a variety of ways usually involving someattribution. Permission from the original author is not required,however exercise of the quote TRU exposes the quoting author topossible legal challenges.

02TRU to make personalcopy

Civil law countries legal term is «private copy», while common lawcountries do not handle it specifically and consider it as part of fair useprerogatives (USA), or fair dealing and other exceptions for privatestudy or research (UK).This mechanism allows certain acts that pertain to exclusive right ofreproduction without requesting prior authorization.Two factors are taken into account: the user (individual, someinstitutions) and/or the purpose of the use (education, noncommercial…) to fall under the exception scope and avoid copyrightinfringement.

03TRU to space shiftcontent

Digital media can be accessed wherever the User is.

04TRU to time shift content The ability to access content at a different time then when it wasoriginally made available.

05TRU to make playbackdevice

The ability to manufacture or otherwise create devices for accessingDigital media.

06TRU to choose playbackdevice

The User may choose among different devices for accessing Digitalmedia and does not need a different device for Digital media ofdifferent types or different devices for Digital media of the same typebut from different sources.

07TRU to use contentwhose copyright hasexpired

Under the Berne Convention, the minimum duration for copyrightprotection is the life of the author plus 50 years (Art. 7(1)). Signatorynations may provide longer durations if they so choose. The copyrightlaw causes all copyrighted works which have reached the end of theirterm of copyright protection to fall into the Public Domain.Public Domain means that the creator of the work has given up or lostall rights to the work. It means that users may do anything with thework – read it, copy it, publish it, change it.

08TRU to communicateprivately

The power of an individual to decide who amongst a group of personswill be the recipient of his/her ideas, thoughts and emotions.

09TRU to publish contentanonymously

To publish content without revealing the identity of the publisher

10TRU to use content To use content without revealing the identity of the user

Page 737: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

737

anonymously

11TRU of attribution Defined narrowly for DMP process as the right to assert authorship ofmedia for which a source is not given (or an incorrect source is given),in other words the right to demonstrate that one's name should beattached to an uncredited (or miscredited) work as that work's creator.The term is used elsewhere as largely synonymous with TRU to berecognized as the author (paternity).

12TRU of anonymity Privacy involves three basic aspects: Autonomy: the capacity of members of society to function as

individuals, uncoerced and with privacy. Intrusion: one should be free from government surveillance with a

reasonable expectation of privacy. Informational privacy: individuals have the right to limit their

personal domain by denying access of their personal information toothers, or to limit how much personal information they areobligated to give to others.

13TRU to annotate forpersonal use

The traditional right to augment media with additional information forpersonal use. The result could be regarded as a limited form ofderivative work. However, whilst the publication of derivative worksis typically restricted by copyright, end-users have not traditionallybeen restricted from making annotations for personal use.

14TRU to edit for personaluse

The ability to edit digital media for one’s personal use The User mayedit, reorganize, mix or transform the Digital media as the Userchooses as long as the User does not (re)distribute the edited results.

15TRU not to becounterfeited

An editor/publisher of a collection of excerpts, some from the publicdomain and some copyright-protected, so the collection enjoys a newMiddleman's copyright protection. Or a distributor of Rolex watcheswho inherits some of Rolex's right not to compete against illegalimitations.

16TRU that sales displayswill follow acceptablepractice

The relationship between a distributor and a retail outlet. For example,expecting that stores will not make false claims about a product andwill not improperly reproduce trade and service marks, as in a retailstore clerk who might use magic markers to make a huge signcontaining misspellings/misrepresentations or using completely wrongcolors for a logo.

17TRU to be ignorant ofusage

The exchange of information and physical goods between people (e.g.Rights holders and End-users) who are separated by space and time isenabled by an infrastructure to store (time-shift) and forward (space-shift). Acting as middlemen, the providers of the infrastructure and thetechnology to exchange information and physical goods enjoy theTRU to be ignorant of the usage of their services.

18TRU to apply a rating to apiece of content

An individual, organization, industry or government can apply a ratingon some applicable scale to digital media

19TRU of continued access "As human beings, we benefit greatly from the works of others.Artists, thinkers, scholars, and performers create works that we all

Page 738: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

738

enjoy, learn from, and are inspired by."[...]"With ever changing technology, in order to preserve many works wewill need to constantly move them ahead, copying them to each newmedia form before the previous one becomes obsolete. Also, as wecreate new media, we need to preserve the knowledge of the methodsof converting from one media to another, so we can still access the oldworks that have not yet been moved ahead. This is crucial. Withoutthis information, even preserved works could be unreadable."

20TRU of political freedom Some free speech rights mingle with fair use thinking to form a contextfor open communication, often greatly to the benefit of society as awhole as well as most, if not all of the individual players in a givendigital media chain, from creators all the way to consumers. Thisgenerally includes the right to pursue some sort of business orcommerce, to pass or influence legislation, to form licenses oragreements, and to generally strive to improve society for altruisticreasons.

21TRU of freedom of art "Along with science, research, and teaching, art is free. The freedomguaranteed covers the artistic creation as regards both the workproduced and the effect produced by it."[...]"One cannot without inhibiting the free development of the creativeartistic endeavour prescribe how the artist should react to reality orreproduce his reactions to it. The artist is the sole judge of the"rightness" of his response. To this extent the guarantee of artisticfreedom means that one must not seek to affect the manner in whichthe artist goes about his business, the material he selects, or the way inwhich he treats it, and certainly not seek to narrow the area in which hemay operate or lay down general rules for the creative process."

22TRU to be recognized asthe author (paternity)

Right of the creator of a literary or artistic work to claim authorship orotherwise assert personal credit for the work's creation.

23TRU not to bemiscredited as the author(misattribution)

Defined narrowly for DMP process as the right to assert non-authorship of media for which one is given as the source, in otherwords the right to demonstrate that one's name should be removedfrom the credit for a work that one did not create. The term is usedelsewhere as closely related to TRU to be recognized as the author(paternity).

24TRU for the author'swork not to be tamperedwith (integrity)

Right for the creator of a literary or artistic work to object tounreasonable modifications that distort or mutilate the work orotherwise present their work in a manner harmful to their reputation.

25TRU of "Firstsale"/Personal loan

After the initial purchase, the purchased digital media may be disposedof in any way the purchaser chooses. Examples are, re-selling,loaning, giving away.

26TRU to transcode The ability of an individual to convert (readable, audible, visible,...)content from one media format to another media format.

27TRU to make prohibitedcontent inaccessible

The ability to identify content not meeting standards of acceptance in agiven region/local and to disable its distribution and/or access.

Page 739: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

739

28TRU to time basedadvertising

The ability to include periodic advertisements during digital mediaaccess.

29TRU to digital mediarental

Selling access to digital media on a time limited basis.

30TRU to freedom frommonitoring

The traditional right to use personal property without any reference toanother authority. The freedom not to be observed whilst doing so, orto have one's usage recorded or tracked.

31TRU of reverseengineering

Reverse engineering means "the process of extracting know-how orknowledge from a human-made artifact". [...] "Human-made artifactsrefers to objects that embody knowledge or know-how previouslydiscovered by other people. Hence, the engineering required touncover the knowledge is reverse engineering". [1]

32TRU ofwithdrawal/objection

Moral right under several legal systems to either withdraw a publishedwork from publication, requiring remuneration for Middlemeneconomically hurt by this, as well as the right to assert that a publishedwork no longer reflects the creator's current views.

33TRU of fair use Fair Use is an important limitation on an author's or copyright holder'sexclusive reproduction rights. Fair uses of content traditionally includesuch activities as copies for scholarship, research, news reporting,comment, criticism, and parody.

34TRU of reproduction Broad right to exclude others from copying protected material (unlessauthorised to do so), implemented with many national variations,generally including listed exceptions

35TRU of economicexploitation

A creator's right to receive economic benefit from their intellectualproduct normally comprising a predictable distribution chain such thatuses outside of that might be considered fair use; for movies aconventional media exploitation chronology supposes theatrical releasefollowed by tape/optical media sales followed by pay TV then cablepremium channels and then broadcast television

36TRU of distribution Generally used to describe the circulation of "fixated" copies,including many contractual arrangements; like TRU reproduction,distribution is often identified by exceptions to the Right-holdersability to exclude, however distribution also often applies to newtechnologies or usage patterns, also including TRU lending and TRUrental.

37TRU of contractualcommerce

A broad right pertaining to TRU political freedom because the abilityto do commerce requires a degree of social stability for financialtransactions governed by agreements to succeed; the right to pursuecommerce including contracts -- the fixation of mutal agreements -- islegislatively governed by a myriad of large-to-small commercial laws

38TRU of reciprocalprotection

Reciprocal protection is a complex exchange based on a value-expression permitting complementary but not identical performance.Between nations, reciprocal protection often means treating authorsfrom foreign countries the same way a country would normally treat itsown nationals. The neighboring rights of performers might also be

Page 740: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

740

handled under reciprocal administration agreements between collectingsocieties. In principle, reciprocal agreements and exchanges (betweenprivate or corporate parties) should be digitally supported by DMP

39TRU of respect for saleroyalties terms andconditions

Part of the trio covering what users and consumers are bound by - interms, conditions and legal liability - when transactions are made bysale, performance or resale. In this case of sale, for example, firstsale doctrine in the U.S. exhausts the distribution right, but this doesnot necessarily carry over to digital (and it certainly does not apply inmany other countries). Even when rights exist, contractual agreementsoften cut across those rights. Electronic sales should be able to comewith a variety of very interesting terms and conditions indeed, some ofthem allowing free use, and/or use conditioned by the context of amarketing promotion.

40TRU of respect forperformance royaltiesterms and conditions

Part of the trio covering what users and consumers are bound by - interms, conditions and legal liability - when transactions are made bysale, performance or resale. In this case of performance, it isextremely likely that the user or consumer has absolutely no idea as towhat the legal doctrine of "performance" is, how it applies to them orhow revenues are shared between collective management societies,publishers, songwriters and artists (recording "covers").

41TRU of respect for resaleroyalties terms andconditions

Part of the trio covering what users and consumers are bound by - interms, conditions and legal liability - when transactions are made bysale, performance or resale. In this case of resale, actual instances arerare and normally confined to French droit de suite legislation or elsetransactions of fine art that have dramatically increased in value, towhich some countries hold an artist entitled to a small percent of thesales price.

42TRU of equitableremuneration

The right of equitable remuneration is generally invoked during alegislative taking of reproduction/distribution control away from acreator under a compulsory license such that the legislatively setcompensation, normally managed by a collecting society, is termed"equitable remuneration" for the value of the work's use

43TRU of reputation Rights of reputation include an author's economic rights not to havetheir work presented in a manner harmful to their future sales, acelebrity's right not to have their physical image misused to create afalse appearance of endorsement, and a moral right not to have workssubjected to derogatory treatment.

44TRU of reasonablemodification

A traditional Middle-man's right in some national legislation, allowingpublishers to take unobjectionable liberties in altering writer'smanuscripts for publication.

45TRU of firstpublication/disclosure

Right for the creator to control the manner in which their work isinitially released or divulged to the public, including economic rightsas well as a moral right recognised under several legal systems.

46TRU of parody A caricaturish and usually humorous form of criticism involvingmocking or imitation often in outlandish style, generally incorporatingdirect references or reproductions of elements from some other work

Page 741: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

741

being mocked

47TRU of factual reporting News journalists enjoy a general liberty to state facts in their columns,and news photographers are able to run sufficiently newsworthypictures without extensive rights clearing and licensing.

48TRU to restrict access tounpublished material

A fundamental and traditional right of authors to create without thepublic having the right to see what they are working on while it is inthe process of being created; poses interesting challenges when draftsare circulated to a limited group such as editors or first readers

49TRU of lending The (restrictive) lending right is retained by the author as a form ofTRU distribution requiring permission, applying obviously tolibraries but also potentially to digital transfer rights; this TRU onlyapplies to some nations

50TRU of translation Translation rights are initially retained by the author but over timepermit various developing nation uses, fair uses, and potentialcompulsory licensing and/or equitable remuneration so that publishedworks can be consumed in other languages besides those that havebeen duly authorised; translators acquire a copyright in theirtranslations but not to the prejudice of prior copyrights in the materialthat was translated

51TRU of regional pricing Authorisation to determine regional pricing schemes has commonlybeen delegated by creators and also Middle-Men to regionaldistributors by contractual agreement, however this long-term practicefor physical goods is threatened by digital distribution over the Internet

52TRU of unpublishedrecording

This TRU springs from the ability to use recording equipment tocapture real events and people regardless of whether one haspermission or licenses. A certain amount of leeway is traditional, andsocial policy has long tried to balance the usefulness ofaudio/visual/audiovisual capture devices with the vulnerability ofcopyrighted materials, possible invasions of privacy and any otherpotential dangers posed by allowing recording equipment to be freelysold and owned. The solution has normally been to either forbid thepresence of cameras and recording equipment or else to forbid imagesor audio recordings being widely circulated or else used for profit(unless written permission is obtained). In other words, as long asnewly recorded media remains unpublished, it may be owned andshown to family and friends.

53TRU of developingnations exception

Developing nations (as defined by treaty) enjoy relatively lax standardsof copyright protection to enable socially valuable uses in countriesthat qualify as relatively underfunded participants in the globaleconomy

54TRU of copying forclassroom instruction

Classroom instruction enjoys wide liberties in the use of materials toconvey educational information to students (this does not extend todistance learning or the sale of commercial educational products).

55TRU to access content inlibraries

The ability to access content in libraries when it is available.

Page 742: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

742

56TRU of authenticity ofcontent guaranteed

The longer and the more populated by unknown middlemen is thevalue-chain between the creator and the end-user and the less meansthe end-user has to know that the particular piece of content is indeedauthentical.

57TRU to choose theservice

To use services independently of the service provider

58TRU to choose thedelivery system

To use services independently of the connectivity provider

59TRU of moral rights A collection of rights distinguished from authors' economic rightsunder several legal systems, pertaining to the fundamental relationshipbetween a creator and the literary and artistic works they have created,primarily including the rights of paternity and integrity.

60TRU of rental The (restrictive) rental right is retained by the author as a form of TRUdistribution requiring permission, applying to commercialtransactions; usually carried out including stated and implied licenseswith the end-user; this TRU only applies to some nations

61TRU of communicationto the public

appears in the WCT/WPPT (WIPO Copyright Treaty and WIPOPerformances and Phonograms Treaty) as an Internet-friendly way togive authors protection for Internet-based "performances" or datatransfers by wire or wirelessly to individuals consuming the data at atime of their own choosing, related to TRU to technological accessrestrictions and TRU reproduction

62TRU of applyingtechnological accessrestrictions

Granted under WCT/WPPT (WIPO Copyright Treaty and WIPOPerformances and Phonograms Treaty) giving authors regionalprotection against tampering devices or software that are designed todefeat content security technology, also prohibits tampering with rightsmanagement information, related to TRU communication to thepublic and TRU reproduction

63TRU to distribute lower-resolution copies only

A primitive usage of the audio and audiovisual analogue industries inwhich master audio recordings, or film or video masters exist in ahigher analogue resolution, or even higher digital resolution, withgreater quality of 'signal' than copies released to the public; significantmainly as having affected the analogue past of TRU reproductionthus conditioning economic aspects within which Middle-men tried to"game" the system

64TRU to compel real-timeonly consumption

Primitive analogue ability to perform written or composed creations inreal-time only at a performance venue; significant mainly as havingaffected the analogue past of TRU reproduction thus conditioningeconomic aspects within which Middle-men tried to "game" the system

65TRU to restrict place ofuse

Creator's right to specify place restrictions on where their creations areto be consumed, for example a restriction could apply authorising onlybuilt-to-spec kiosks; significant mainly as having affected the analoguepast of TRU reproduction thus conditioning economic aspects withinwhich Middle-men tried to "game" the system

66TRU to restrict time of Creator's right to specify time restrictions on when their creations are

Page 743: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

743

use to be consumed, for example a restriction could apply authorising onlylate-night performance of material unsuitable for minors or forexample Christmas songs that sell only during that holiday season;significant mainly as having affected the analogue past of TRUreproduction thus conditioning economic aspects within whichMiddle-men tried to "game" the system

67TRU to make contentcreation device

The ability to manufacture or otherwise create devices for creatingcontent for Digital media.

68TRU to assign contentdescription

To relate content to descriptions that support some degree ofinterpretation of the content's meaning.

69TRU to access content ofone's choice

Traditionally users have enjoyed the possibility to access any type ofcontent that was available (books, cassettes, broadcast transmissions)

70TRU to run applicationsof one's choice

Traditionally users have enjoyed the possibility to run any types ofapplication that was available on their PCs

71TRU to attach playbackdevices of one's choice toa network

Traditionally users have enjoyed the possibility to attach any device tothe telephone network that did not damage it

72TRU to accessinformation about content

Traditionally users have enjoyed the possibility to find descriptions ofavailable content to guide theirpurchasing/viewing/listening/educational decisions

73TRU to share contentwith members of a group

Sharing content with members of a group is distinct from sharingcontent via a public performance.This TRU is typically enjoyed in theprivate domain, where the group comprises people with whom thelicensee of the content has some acquaintance, either through long-standing friendships, familial relationships or even as mere passingstrangers.Traditionally, people rarely share their content, in the contextof a private rendering of that work, with an anonymous group of totalstrangers.Some sharing is serial, in that the work is passed from the firstpurchaser of the content, to other people, once the first purchaser hasfinished with it.Other content sharing with members of a group is concurrent, whereall members of the group witness a single rendering of the worksimultaneously. Some types of content are typically for personal consumption (a

book) – this is an example of serial sharing, where the book canonly be read by a single person at a time and is passed to otherreaders, either when the first reader has finished, or chapter-by-chapter, between a husband and wife, for example.The book can begifted or sold, with no infringement of the author’s copyrights.

Others are typically shared (newspapers, magazines) – publishersof these works factor in the number of people that will typicallyconsume a single copy into their business models, applying amultiplier to any sales of advertising impressions, forexample.Newspapers and magazines are often supported entirelyby advertising revenues. The marginal production cost of the

Page 744: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

744

additional impressions of an ad attributable to second andsubsequent readers is precisely zero, since no additional copies ofthe ad have to be printed to make an impression, whereas theadvertiser has accepted each copy to represent some multiple ofimpressions, agreed by reference to audited readership surveydata.So there is economic advantage to the publisher of themagazine or newspaper in having the content shared.

Some are typically enjoyed in a group (a movie, a broadcast) – welike to gather in groups and watch things together, for thecompanionship of shared experience, to bond socially and toperhaps stimulate debate about the issues raised, after the movie orbroadcast has finished.Sharing content with members of a groupconcurrently plays an important part in creating and maintainingsocial relationships.

Some have both personal and group-wise consumptionmodalities (music) – sometimes we listen to music to facilitate theeuphoria of solitude, at other times to study it in concentrateddetail, still other times as background sonic wallpaper to our dailyactivities and yet others as a group social event.

Sometimes a member of the group, as the author of that work, ownsthe content that is shared, but often the content’s author is a third party.

74TRU to improve end-userexperience

The ability of an individual to create content and services that areexpected to be of value to the end-user

75TRU to choose security To choose a system on which enough trust can be put to use it togetherwith sensitive information

76TRU to restrict adaptation This is traditionally referred to as the right of adaptation and vestscontrol in the creator over other's use of their work to create derivativeworks based on the original; in the event unauthorised adaptations aremade, their copyright exists "without prejudice to the copyright in theoriginal work"

77TRU to restrictperformance

This is traditionally referred to as the right of performance and vestscontrol in the Author over other's use of their work to createperformances, recordings or broadcasts bringing the originalcomposition "to life"; there is a tension between this TRU controllingwhat may be done with works and the TRU

78TRU contracting formiddle-men to broadcast

Authors and other creators of media periodically need the distributionservices provided by Middle-men who can arrange for the creator'smedia to be broadcast.

79TRU contracting formiddle-men to publish

Authors and other creators of media periodically need the distributionservices provided by Middle-men who can arrange for the creator'smedia to be published.

80TRU contracting formiddle-men to release

Authors and other creators of media periodically need the distributionservices provided by Middle-men who can arrange for the creator'smedia to be released.

81TRU contracting formiddle-men to promote

Authors and other creators of media -- as well as many Middle-menwho might themselves already be media distributors -- periodically

Page 745: Interoperable Digital Rights Management Platform · marketing or procuring digital media technologies, hardware, software, systems or services. Members are not bound to implement

745

need the distribution-related services provided by Middle-men whocan arrange for the creator's media to be promoted.Making known to potential users the existence of valuable content is avery important function that can typically not be performed by thecreator. Content promotion to different users (particularly end-users) isregularly entrusted to middle-men (or, if within the same company, toanother department in the same company).

82TRU of adaptation In opposition to the traditional creator's TRU to restrict adaptation,this TRU refers to the common tendency to create adaptations andderivative works regardless of whether these are legally authorised;creators of adaptations acquire a copyright in their adaptations but notto the prejudice of prior copyrights in the material that was adaptated

83TRU of performance In opposition to the traditional creator's TRU to restrict performance,this TRU refers to the common tendency to stage or broadcastperformances of works regardless of whether these are legallyauthorised; performers acquire a copyright in their performances butnot to the prejudice of prior copyrights in the material being performed

84TRU not to apply DRMto a piece of content

These days, almost every word we write is automatically protected bycopyright but this does not mean that we want or need it allautomatically protected by DRM. There should be no technical or legalrequirement to apply DRM to content if the rights holder does not wishit.

85TRU to syndication Through syndication a rights holder can simultaneously make hiscontent available to several channels

86TRU to choose mode ofeconomic compensation

Choice of form of compensation to rights holders (creators, performersand interpreters) for consumption of content by end users.The right foranyone to use their original works or products as a token of exchangeas in barter or alternate currency models.

87TRU to determine contextof use

Due to the moral rights attributed to authors over their content in aconsiderable number of legal jurisdictions (i.e. European continentalAuthor Rights legislation), authors may invoke limitations of use oraccess to their content on the basis of context.

88TRU to make a print of avideo scene (repurposing)

Equipment has existed for a long time that enables an end-user to printa snap shot or screen capture from a TV program