ODRL V2.0 - Model Semantics

Working Draft: 13th January 2007

This version:
http://odrl.net/2.0/WD-ODRL-Model-20070113.html
Latest version:
http://odrl.net/2.0/WD-ODRL-Model.html
Previous version:
http://odrl.net/2.0/WD-ODRL-Model-20060504.html
Editors:
Susanne Guth ODRL Initiative - susanneATodrl.net
Renato Iannella National ICT Australia (NICTA) - renatoATnicta.com.au

Abstract

This document describes the ODRL Version 2.0 Model Semantics Recommendation. The model incorporates new features and requirements for the ODRL rights expression language.

Status of this document

This is the third public Working Draft of the ODRL V2.0 Model Semantics Recommendation document. It has been produced by the ODRL Version 2.0 Working Group. This is a Working Draft for review by working group members and other interested parties. Comments on this document should be sent to editors and discussion of this document takes place on the public working group mailing list odrl-version2@odrl.net archived at http://lists.odrl.net/pipermail/odrl-version2/).

This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than "work in progress".

Publication as a Working Draft does not imply endorsement by the ODRL Initiative.

Table of contents

1. Overview
2. Model
3. Scenarios (Informative)
Acknowledgements
Change History
References


1. Overview

The ODRL rights expression language (REL) has benefited from a robust underlying information model that has captured its semantics and provided extensibility paths for various communities. ODRL Version 2.0 is a major update for ODRL and will supersede Version 1.1.[ODRL11]

The ODRL Model is designed to be independent from implementation mechanisms and is focussed on the optimal model and semantics to represent rights-based information.

The following documents are planned for ODRL Version 2.0:

The new model is based on additional semantics and requirements gathered from the DRM community, the latest reasearch on security and access control, as well as the past experiences in implementations and research of ODRL. The requirements for Version 2.0 are documented [ODRL-REQ] and will be directly referenced in this document to ensure that they have been adequately addressed.

The model shall be formally specified using UML notation [UML] [ODRL-REQ#6] and shall utilise the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in accordance to [RFC2119].

2. ODRL Model

Figure 1 below shows the complete version 2.0 ODRL Model. The following sections describes the model semantics in detail [ODRL-REQ#4].

Model

Figure 1 - ODRL Model Version 2.0

2.1 Rights

The ODRL Model consist of a number of predetermined classes of rights expressions which inherit from the Rights entity [ODRL-REQ#1.11]

The Rights entity may contain the following attributes:

The rights expression types are defined as:

All of the Rights Class models may contain digital Signature information. The digital signature provides a trusted mechanism to ensure the integrity, authenticity and non-repudiation of the entire rights expression [ODRL-REQ#1.16].

2.2 Asset

The Asset entity is aimed at identifying and providing information about the content and its structure. The Asset entity is the Target of the Permission and/or Prohibition entities, and possibly, indirectly of the Duty entity (via Object).

The Asset entity must contain the following information:

The ODRL Core Profile does not provide additional descriptive metadata for the Asset element. It is recommended to use already existing metadata standards, such as Dublin Core, LOM, or MPEG 7 that are appropriate to the content type or purpose.

The Asset entity may contain a Part entity that indicates that the parent asset contains a number of subparts or is a collection of assets. There are no limits to the level of parts an asset may have. If a parent Asset with child Parts is referenced as the Target of a rights expression, then all the Parts are considered also to be the Target of the same rights expression.

The Asset entity may contain an Inherit entity that indicates an inheritance of rights information from a Parent Asset to a Child Asset [ODRL-REQ#1.20]. In this case, the current Asset is the Child Asset and will inherit all the rights information from the identified Parent Asset. This results in the final set of rights that includes all Parent Asset rights and Child Asset rights. In these cases, the rights to be inherited are all Permissions and Prohibitions directly linked to the Parent Asset. There are no limits to the inheritance levels an asset may have. In the case where the Parent Asset rights contains stateful expressions (i.e. a Permission with Constraint, where "status" is not NULL) , the inheritance relationship can indicate if the status values are also inherited or not. The extra parameter of the inheritance relationship is stateful (boolean). The default case is not to inherit the status values for stateful expressions (i.e., stateful == FALSE).

The Asset entity may contain a WEMI indicator (as defined by [IFLA]) that supports the following information to be captured about the asset [ODRL-REQ#1.21]:

All Asset entities may contain digital Encryption information. The digital encryption provides a trusted mechanism to ensure the confidentiality of the entire asset [ODRL-REQ#1.16].

2.3 Party

The Party entity is aimed at identifying and providing additional information about a person, group of people, or organisation. The Party must identify a (legal) entity that can participate in rights transactions [ODRL-REQ#1.5].

The Party entity must contain the following information:

The ODRL Core Profile does not provide additional metadata for the party element. It is recommended to use already existing metadata standards, such as vCard or CIQ.

The Party entity undertakes the same three roles with both the Permission and Prohibition entities:

The Party entity undertakes three roles with the Duty entity:

Finally the Party entity undertakes an additional role with the Asset entity:

2.4 Permission

The Permission entity indicates the actions that the Assignee/s is permitted to perform on the Target asset, respectively that the Assigner (rights holder) has granted to the Assignee (consumer) .

The Permission entity contains the following:

Furthermore, the Permission entity may contain

2.4.1 Action

The Action entity (as part of a Permission entity) indicates the operations (e.g. play, copy, etc.) that the Assignee/s (i.e. the consumer) is permitted to perform on the Target asset. The Action entity (as part of a Prohibition entity) indicates the operations that the Assignee/s (again the consumer) is prohibited to perform on the Target asset.

The Action entity contains an unlimited set of Action Names which are formally defined in Profiles. The ODRL Core Profile defines a standard set of potential terms that may be used. Communities will develop new or extension Profiles to capture additional or more refined semantics.

The Transfer Rights entity is a subclass of Action. It identifies rights that can be assigned to secondary consumers (also called "Next Rights"). The Transfer Rights permission must link to a Rights entity with the type "Set". It may not contain any Party entities or any Asset entities as these are assumed to be the same as in the parent rights expression.

The Action entity may contain an Exclusive boolean flag that indicates that the Action is unique and only one is being made available as part of the containing Permission entity [ODRL-REQ#1.12]. The default Exclusive boolean flag setting for all Actions is false.

2.4.2 Constraint

The Constraint entity indicates limits and restriction to the Permission, the Prohibition and the Duty entity [ODRL-REQ#1.9].

The Constraint entity may contain the following attributes:

Each Constraint entity must contain ONE Constraint name. Constraint Names are formally defined in Profiles. Constraints express mathematical terms with two operands and one operator, e.g. the 'number of usages' (name or left operand) must be 'smaller than' (operator) the 'maximum allowed number of usages' (ri(ght)Operand). The ODRL Core Profile defines a standard set of potential (operand) terms and operators that may be used. Communities will develop extension Profiles to capture additional or more refined semantics.

Furthermore, the Constraint entity may contain

2.4.3 Duty

The Duty entity indicates a requirement that must be fulfilled in return for being entitled to the containing Permission entity [ODRL-REQ#1.8]. The Duty entity is related to a Party entity via the role Assignee who is responsible for fulfilling the Duty, and to an optional Assigner entity who is entitled to receive the outcomes of the Duty. If there is no direct Assignee, then the Assignee of the linked Permission is responsible for fulfilling the Duty (and may be the same Party). The Assigner can be indicated directly between Party and Duty, if not, then the Assigner will be the same as the Permission Assigner.

The Duty entity contains the following:

The Duty entity contains an unlimited set of Action Names which are formally defined in Profiles. The ODRL Core Profile defines a standard set of potential terms that may be used. Communities will develop extension Profiles to capture additional or more refined semantics.

Furthermore, the Duty entity may contain

2.5 Prohibition

The Prohibition entity indicates the actions that the Assignee/s (or consumer/s) is/are prohibited to perform on the Target asset [ODRL-REQ#1.7]. Prohibitions are issued by the rights holder of the asset - the Assigner.

The Prohibition entity contains the following:

Furthermore, the Prohibition entity may contain

2.6 Legal

The Legal entity may add legal attributes to a Rights entity. The Legal entity provides the following attributes:

Note: The Legal entity itself does not provide any formal legal assurance to any of the parties involed in the rights expressions.

2.7 Communication

The Communication entity may add negotiation aspects to a Rights entity. The Communication entity includes:

2.8 Container

The Container entity may tie Permission, Prohibition, Duty, and Constraint entities together with an AND, OR or XOR relationship. In Figure 2.8.1 three possible uses of the Container entity is shown. The Container entity may tie

Container Model

Figure 2.8.1 - ODRL Version 2.0 - Container Model

This Container Model is part of the ODRL Model Version 2.0. Is has been taken out of Figure 1 simply to reduce complexity. Note that containers are not needed to assign i.e. two or more permissions to a Party entity. In this case simply use as many Assingee relations between Party and Permission as needed. For a container example please refer to Section 3 Scenarios.

2.9 Model Conflicts

The ODRL model may involve the resolution of conflicts due to its broad scope.

Permissions and Constraints

Unlike ODRL Version 1.1, the Version 2.0 Model make no assumptions about which rights have been assigned or not assigned to parties. The Permission model states which actions the assignee is allowed to perform. The Prohibition model states which actions the assignees is not allowed to perform. In either case, there are no assumptions outside of these s. For example, if the "print" Permission was assigned, then the assigner may "print" the asset. Conversely, if the "print" Prohibition was assigned, then the assigner may not "print" the asset. No other assumptions are implictly or explcitly made for any other actions.

In the case of both Permissions and Prohibitions appearing in the same expression, then both need to be honoured. In the above "print" example, the assignee would not be able to print as an end result. Another example may be a Permission to "print" to a monochrome printer, and a Prohibition to "print" to a colour printer, in which case the print action is allowed to a specific type of device.

3. Scenarios (Informative)

This section shows a number of scenarios for each of the rights classes.

The Set

The following shows an instance of a Set. The Set shows a rights expression, stating that the Asset urn:assetgroup:9898 is target of the Permissions publish and the Prohibition to modify. No parties or other elements are involved. This Set could be used, for example, as a rights template.

instance set

Figure 3.1 - An instance of an ODRL Version 2.0 Set

The Offer

The following shows the instance of an Offer. The Offer contains the music file urn:music:01 that is Offered by the Party urn:fred:454545 with the Permissions to play and copy the file. The Permisson copy is only granted once. The two permissions are Offered for a payment of 0,50 AUD.

instance Offer

Figure 3.2 - An instance of an ODRL Version 2.0 Offer

The Agreement

The following shows the instance of an Agreement. The Agreement contains all entities shown in the Offer scenario. A new Party element urn:mary:45455 has been added. This Party accepted the previous Offer and thus is now the buyer of the Permissions play and copy, i.e. is related as assignee of the Permissions and Duty elements.

instance Agreement

Figure 3.3 - An instance of an ODRL Version 2.0 Agreement

The Request

The following shows the instance of a Request. The Party urn:guest:0589 Requests the Permission to display the Asset urn:news:0099.

instance Request

Figure 3.4 - An instance of an ODRL Version 2.0 Request

The Ticket

The following shows the instance of an Ticket. The Ticket expresses the Permission for the party urn:player:9876 to play the game urn:game:4589. The Ticket is valid until the end of the year 2005.

instance Ticket

Figure 3.5 - An instance of an ODRL Version 2.0 Ticket

The Offer and Transfer Rights

The following shows the instance of an Offer with Next Rights. The party urn:rich:5656 assigns the two Permissions transfer and modify directly to the potential buyer of the permissions. The potential buyer himself may then sell the Permissions aggregate and reformat to his/her customers, whereas the Asset urn:wallpaper:888 may only be reformatted into a secure container.

instance next rights

Figure 3.6 - An instance of an ODRL Version 2.0 Offer and Transfer Rights

The Container

The following shows the instance of an Offer with a Permission Container. The Offer Offer88 includes two Permissions copy and print that are tied together by a logical XOR operator, i.e. either the permission print or the permission copy may be performed but not both. The print permission may only performed 5 times. Note that each of the permissions may have their individual constraints, target, etc.

instance container

Figure 3.7 - An instance of an ODRL Version 2.0 Container

Acknowledgements

The editors wish to acknowledge the following organisations as formal supporters of the ODRL Initiative: The editors gratefully acknowledge feedback and contributions to this document from:

Change History (Informative)

Changes since the last public release:

Section  Issue   Changes   Comment  
2.0  ODRL Model   The role assignees was added to the relations between Party and Duty. The role Rightsholder was added to the relations between Party and Asset. The "human readable" attribute was added to the Legal entity.   
2.3  ODRL Model   The new relation "Assignees" from Party to Duty is explained in this Section. Also the explanation of the relation "Assignee" is more detailed now in this Section.    
2.4.2   Constraints   Attributes have been explained in more detail.    
2.4.3   Duties   The new "non-performed" attribute is explained in this Section.    
2.6  Legal   The changed "human readable" attribute is explaned in this Section.    
2.7  Communication   The Communication Entity has been revised. It is now showing only one attribute "state" that allows more flexibility for the negociation of rights expressions.  
2.8  Container   The Container Model is now shown separately, to keep the model diagrams clear.  
All   Statement   The term "Statement" has been changed to "Set" in the entire document.  
2.4, 2.5   tradeable   The attribute "tradeable" has been added to Permission, Duty, Constraint, and Prohibition to indicate if these elements are tradeable in the negociation phase.  

References

[IFLA]  Plassard, M.F. (ed.). International Federation of Library Associations and Institutions, Functional Requirements for Bibliographic Records: Final Report, UBCIM New Series, Vol. 19, (Munich: Saur, 1998) http://www.ifla.org/VII/s13/frbr/frbr.pdf
[ODRL11]  R. Iannella (ed). Open Digital Rights Language (ODRL), Version 1.1. Technical Specification, ODRL Initiative, 8 August 2002.
http://odrl.net/1.1/ODRL-11.pdf
[ODRL-REQ]  S. Guth & R. Iannella (eds). Open Digital Rights Language (ODRL) Version 2.0 Requirements (Working Draft), ODRL Initiative, http://odrl.net/2.0/v2req.html, 24 November 2004.
[RFC2119]  Key words for use in RFCs to Indicate Requirement Levels, S. Bradner. The Internet Society, March 1997. ftp://ftp.rfc-editor.org/in-notes/rfc2119.txt
[UML]  Unified Modeling Language (UML), Management Group, 2003. http://www.omg.org/technology/documents/formal/uml.htm

Valid HTML 4.0!