Managing Digita Rights Using JSON


Published on

Technical paper presented to an IEEE conference describing how to express and manage digital rights using JSON client side tools. Slides, audio and video at

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • “ A high CLI score means that a particular city or community possesses learning conditions that support social and economic success. Although not the sole factor contributing to such success, learning at every stage of life is increasingly important in today’s economy ” ( ) . LCT can serve as a leverage for those rural and far away regions that do not have urban typ “learning conditions” conducive to helping raise the likelihood of social and economic success. Knowledge exchange is not only about access to the right information, but also access to the right expertise that resides in individuals: thus the emphasis on both “learning” and “collaboration”.
  • Several areas of R&D were mentioned in the initial project proposal. These were discussed and prioritized at a first kickoff meeting between the 3 collaborators. Four main areas were deemed directly in scope for the project developments while others were deemed out of scope at this stage in the product planning. --- BACKGROUND For several years, NRC-IIT has been developing a model to support distributed (as opposed to centralized) digital rights management. The critical aspect of this work resides in ensuring proper integration of the DDRM vision within the weakly controlled environment that will characterize SynergiC3. A properly designed DDRM framework will ensure that content developers do not waste efforts on canvassing rights information to ascertain usage regulations of assets that they access. In fact, several reports have noted that one of the problems within large organizations is paying multiple times for the same content while not knowing what resources are actually available for use (this is in contrast with views where locking and securing as opposed to acquiring are seen as the cornerstones of DRM). Automated metadata extraction is essential to curb redundant data entry and associated cost overheads. Development of metadata extraction tools started within the CANARIE-funded eduSource project for several NRC-IIT researchers. Although some level of extraction automation was achieved at that time, we feel that this can be significantly enhanced by using a mix of redundant data entry components (storyboard, resource descriptions, default rights declarations, etc.) and semantic extraction. The basic premise behind embedding Learning Design (LD) accelerators is to integrate expert practices into reusable processes that would be available to lay persons. Because LD is not as straightforward an activity as production design, special attention will be placed on loosening or widening the applicability of traditional learning models. Again, as with other components, targeting standardized output will be key to facilitate their inclusion within various other frameworks. Business process modeling and workflow systems are well-suited to handle processes which are repetitive by nature, where the work in question can be modeled a priori, and if information needs and support opportunities are determined once and for all. However, many interesting and valuable work activities do not fit into this static scheme. Static process models might even hinder the development of the intended innovation. Distributed cross-organizational workflows in dynamic and ad hoc cooperations are difficult to model a priori, and complex but unique problems result in complex but unique solutions, which do not justify the effort of complete a priori modeling. The concept of weak workflow is therefore introduced to handle incomplete process models and to intertwine modeling and enactment of workflows. The main objective of the SynergiC3 project is to create a productivity enhancement framework that will allow a content development team to effectively manage its resources as well as provide tools that will significantly decrease production times and costs of developing learning resources while augmenting quality. The integration of automated processes in SynergiC3 ensures collaboration, communication and coordination of efforts in a multidisciplinary development team by: Improving efficiency The automation of e-Learning design and development processes results in the elimination of many unnecessary steps and accelerates content development through tools and applications. Controlling processes and end product quality Improved management of processes and quality control achieved through standardizing working methods and the availability of audit trails. Increasing flexibility Software control over processes enables their re-design in line with changing business needs. Reducing costs Reducing costs for production of custom and generic highly interactive multimedia learning content. Enabling modularity Modular software enables e-Learning professionals to integrate various learning design (Learning Design (LD) is used here as a generalization of Instructional Design (ID), the latter term being strongly associated with instructional theories of learning whereas the former addresses generic learning paradigms). accelerator components as well as ensuring integration with existing and emerging e-Learning framework solutions. Integrating and exporting content Integration with ongoing international initiatives like the recently completed eduSource framework targeting Distributed Learning Object Repository Networks (DLORNs). Integrating all aspects of learning design Creating learning content, streamlining communications and production flow in educational and other multimedia production environments (including for geographically dispersed teams using varied connection speeds).
  • Listed here are the people that are part of the RDWG. Some of them do not perform research per se as their role may be to facilitate exchange between the working of the RDWG with other groups. As well, others not listed here may well perform research functions within the project but are not part of the regular activities of the working group.
  • Managing Digita Rights Using JSON

    1. 1. Managing Digital Rights Using JSON Stephen Downes IEEE Consumer Communications and Networking Conference January 9, 2009, Las Vegas
    2. 2. Who I am <ul><li>Senior Researcher, NRC-IIT LCT </li></ul><ul><li>Specialist in: </li></ul><ul><ul><li>- online learning </li></ul></ul><ul><ul><li>- new media </li></ul></ul><ul><ul><li>- resource metadata </li></ul></ul><ul><li>Website: </li></ul><ul><li>Major Projects: </li></ul><ul><ul><li>Synergic3 – </li></ul></ul><ul><ul><li>PLE – </li></ul></ul><ul><ul><li>OLDaily – </li></ul></ul>
    3. 3. LCT Research Learning and Collaborative Technologies Research Group <ul><li>Located in Moncton </li></ul><ul><ul><li>U de Moncton campus </li></ul></ul><ul><li>Created in 2007 because of … </li></ul><ul><ul><li>Stakeholder interest </li></ul></ul><ul><ul><li>Existing expertise </li></ul></ul><ul><ul><li>Changing market pressures </li></ul></ul><ul><li>Expertise </li></ul><ul><ul><li>Cognitive psychology, Cognitive models, Philosophy, Social networks, Learning Communities, Broadband Communications, IA </li></ul></ul>
    4. 4. Broad R&D areas <ul><li>Technologies to reduce development time for creating “learning resources” </li></ul><ul><ul><li>How do we create better learning resources more efficiently? </li></ul></ul><ul><ul><li>i.e. development process improvements </li></ul></ul><ul><li>Technologies (and resources) to enhance learning outcomes </li></ul><ul><ul><li>What is needed to make learning more efficient? </li></ul></ul><ul><ul><li>i.e. making content clear, usable and engaging </li></ul></ul>Two main research foci
    5. 5. Why LCT? An example: learning conditions in rural regions as compared to those in urban regions <ul><li>CCL’s Composite Learning Index (2008) </li></ul><ul><ul><li>Canadian Council on Learning: “ The Composite Learning Index (CLI) … provides an annual measure of Canada’s performance in a number of areas related to lifelong learning ” ( ). </li></ul></ul>
    6. 6. SynergiC 3 A collaborative effort with industry and academia <ul><li>A software framework </li></ul><ul><ul><li>“ eLearning productivity enhancement framework” to allow collaboration and consistent development </li></ul></ul><ul><li>A collaborative effort </li></ul><ul><ul><li>D2L: Expertise in LCMS, LMS, Commercialization </li></ul></ul><ul><ul><li>U de M: Expertise in “learning content” creation process </li></ul></ul><ul><ul><li>NRC: Several R&D areas </li></ul></ul><ul><ul><ul><li>DDRM, MD extraction, Learning Design, Weak Workflows, … </li></ul></ul></ul><ul><ul><li>ACOA: AIF financing($3M for a $5.5M project) </li></ul></ul><ul><li>Some drivers </li></ul><ul><ul><li>D2L: Market demands, commercialisation channels </li></ul></ul><ul><ul><li>Compatible expertise –> Common goal, Varied objectives </li></ul></ul>
    7. 7. SynergiC 3 Research scope and elements <ul><li>Scope </li></ul><ul><ul><li>DDRM </li></ul></ul><ul><ul><ul><li>Distributed Digital Rights Management </li></ul></ul></ul><ul><ul><li>MDX </li></ul></ul><ul><ul><ul><li>Automated Metadata eXtraction </li></ul></ul></ul><ul><ul><li>LD | ID Accelerators </li></ul></ul><ul><ul><ul><li>Learning | Instructional Design Accelerators </li></ul></ul></ul><ul><ul><li>WWF | PA </li></ul></ul><ul><ul><ul><li>Weak WorkFlows | Product Accelerators </li></ul></ul></ul><ul><li>Out of Scope (examples) </li></ul><ul><ul><li>Distributed LOR Network (DLORN) </li></ul></ul><ul><ul><li>Work Opportunity Billboard </li></ul></ul>
    8. 8. SynergiC 3 Research roles <ul><li>RDWG participants </li></ul><ul><ul><li>Chair </li></ul></ul><ul><ul><ul><ul><li>Stephen Downes (NRC, Researcher) </li></ul></ul></ul></ul><ul><ul><li>NRC | Primary Research </li></ul></ul><ul><ul><ul><ul><li>Luc Belliveau (Software Developer), Bob Kennedy (Researcher), Sandy Liu (Researcher), Patricia Oakley (Researcher), Md. Abdur Rahman (Student), Saeed Samet (Student), Rod Savoie (Researcher), Bruce Spencer (Researcher), [Guillaume Durand (Researcher)] </li></ul></ul></ul></ul><ul><ul><li>U de M | CC expertise liaison </li></ul></ul><ul><ul><ul><ul><li>Dawn McCabe (Project Manager), Danny Cormier (ID, LD Expert), Robert Grégoire (MD Expert), Léna Fournier (Project Assistant) </li></ul></ul></ul></ul><ul><ul><li>D2L | Product development liaison </li></ul></ul><ul><ul><ul><ul><li>Norm Daoust (Product Designer), Khaled Hammouda (Developer), Dimitrije Jankovic (Platform Architect), Rose Kocher (D2L Project Manager) </li></ul></ul></ul></ul>
    9. 9. SynergiC 3 R&D components <ul><li>DDRM </li></ul><ul><ul><ul><ul><li>Distributed Digital Rights Management </li></ul></ul></ul></ul><ul><ul><li>Purpose </li></ul></ul><ul><ul><ul><li>Facilitate rights management </li></ul></ul></ul><ul><ul><ul><ul><li>e.g. alleviate rights canvassing overhead </li></ul></ul></ul></ul><ul><ul><ul><li>Not just about access control, copy protection and enforcement </li></ul></ul></ul><ul><ul><ul><li>Focus on easier handling of usage rights </li></ul></ul></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul>
    10. 10. DDRM Overview <ul><li>DDRM – Mechanism for Managing Copyrights </li></ul><ul><ul><li>DDRM – Distributed Digital Rights Management </li></ul></ul><ul><ul><li>Purpose </li></ul></ul><ul><ul><ul><li>Low-cost and distributed mechanism </li></ul></ul></ul><ul><ul><ul><li>Novel solution, advantage over existing mechanisms </li></ul></ul></ul><ul><ul><ul><li>Takes advantage of existing browser capacity </li></ul></ul></ul>
    11. 11. JSON Overview <ul><li>JSON – Javascript Object Notation </li></ul><ul><ul><li>Javascript </li></ul></ul><ul><ul><ul><li>Object oriented programming language </li></ul></ul></ul><ul><ul><ul><li>Located on web page, processed in browser </li></ul></ul></ul><ul><ul><ul><li>Direct access to document object model (DOM) </li></ul></ul></ul><ul><ul><li>JSON </li></ul></ul><ul><ul><ul><li>Notation used to store data in Javascript </li></ul></ul></ul><ul><ul><ul><li>Method used to access to DOM </li></ul></ul></ul><ul><ul><ul><li>May be accessed directly or imported </li></ul></ul></ul>
    12. 12. JSON Overview <ul><li>JSON Syntax </li></ul><ul><ul><li>Basic Syntax </li></ul></ul><ul><ul><ul><li>Connects lables to data </li></ul></ul></ul><ul><ul><ul><ul><li>eg: name:Stephen </li></ul></ul></ul></ul><ul><ul><ul><li>Note that this is not processed or evaluated; it is the subject of processing or evaluation </li></ul></ul></ul><ul><ul><li>Complex Syntax </li></ul></ul><ul><ul><ul><li>Sets, list created using brackets and quotation marks </li></ul></ul></ul>
    13. 13. JSON Overview <ul><li>JSON Example </li></ul><ul><ul><li>{“menu”: </li></ul></ul><ul><ul><li>{“id”:”file”, </li></ul></ul><ul><ul><li> “ value”::”File”, </li></ul></ul><ul><ul><li> “ popup”: </li></ul></ul><ul><ul><li> { “menuitem”: </li></ul></ul><ul><ul><li> [{“value”:”new”, “onclick”:”create()”}, </li></ul></ul><ul><ul><li> {“value”:”edit”, “onclick”:”edit()”} ] </li></ul></ul><ul><ul><li>}} </li></ul></ul>
    14. 14. JSON Overview <ul><li>JSON Properties </li></ul><ul><ul><li>Brackets and Quotation marks </li></ul></ul><ul><ul><ul><li>Delimit values </li></ul></ul></ul><ul><ul><ul><li>Serve no processing function </li></ul></ul></ul><ul><ul><ul><li>Create a nested, hoerarchal structure </li></ul></ul></ul><ul><ul><li>Not Parsed or Interpreted in any Way </li></ul></ul><ul><ul><ul><li>It is a part of the web page </li></ul></ul></ul><ul><ul><ul><li>It is included in the DOM </li></ul></ul></ul>
    15. 15. Rights Expressions Overview <ul><li>Rights Expressions </li></ul><ul><ul><li>Statement of permissions and duties associated with the use of a resource </li></ul></ul><ul><ul><li>May vary from fully restrictive to fully permissive </li></ul></ul><ul><ul><li>Not required – rights exist automatically </li></ul></ul><ul><ul><li>Not fully stipulative </li></ul></ul><ul><ul><ul><li>Rights may expire according to copyright law </li></ul></ul></ul><ul><ul><ul><li>Rights subject to provisions of fair use, etc. </li></ul></ul></ul>
    16. 16. Rights Expressions Overview <ul><li>Instances of Rights Expressions </li></ul><ul><ul><li>Licenses </li></ul></ul><ul><ul><li>Statements of ownership </li></ul></ul><ul><li>Elements of rights expressions </li></ul><ul><ul><li>Rights holder – owner or licensee </li></ul></ul><ul><ul><li>Resource – eg. r esource identity </li></ul></ul><ul><ul><li>Action – specific use to be put, eg. copy </li></ul></ul><ul><ul><li>Condition – requirement, duty or limitation </li></ul></ul>
    17. 17. Rights Expressions Examples <ul><li>Open Digital Rights Language (ODRL) </li></ul><ul><ul><li>O pen source, not limited </li></ul></ul><ul><ul><li>Statements of ownership </li></ul></ul><ul><li>MPEG Rights Expression Language </li></ul><ul><ul><li>F ormerly XrML </li></ul></ul><ul><ul><li>Ownerd by ContentGuard, patented </li></ul></ul><ul><li>Creative Commons </li></ul><ul><ul><li>E xpressed in ccREL, a W3C submission </li></ul></ul>
    18. 18. Prior Art Patents <ul><li>Lucent </li></ul><ul><ul><li>System that checks for content rights </li></ul></ul><ul><li>IBM </li></ul><ul><ul><li>Use of Java Virtual Machine to govern access </li></ul></ul><ul><li>ContentGuard </li></ul><ul><ul><li>Licensing systems and access controls </li></ul></ul><ul><ul><li>Module to govern access to a resource </li></ul></ul><ul><ul><li>Rights expression in a language (REL) </li></ul></ul>
    19. 19. Prior Art Patents <ul><li>ContentGuard’s REL Patent </li></ul><ul><ul><li>No extant legal action from ContentGuard </li></ul></ul><ul><ul><li>Use by Open Mobile Alliance (OMA) of ODRL note challenged </li></ul></ul><ul><ul><li>Use of ccREL not challenged </li></ul></ul><ul><ul><li>Appears to be specific to “grammar-based languages where the rights expression is used to govern access” </li></ul></ul>
    20. 20. Prior Art Rights Expressions <ul><li>Using XML Rights Expressions </li></ul><ul><ul><li>Translation: </li></ul></ul><ul><ul><ul><li>Use of XSLT to translate directly </li></ul></ul></ul><ul><ul><li>Parsing: </li></ul></ul><ul><ul><ul><li>Data is indirectly parsed using a arser </li></ul></ul></ul><ul><ul><ul><li>This makes the data available in a data table </li></ul></ul></ul><ul><ul><ul><li>Eg. Python Universal XML Parser (Mark Pilgrim) </li></ul></ul></ul><ul><ul><ul><li>Server side parsing, client side parsing </li></ul></ul></ul>
    21. 21. Prior Art Rights Expressions <ul><li>Parsing XML Rights Expressions </li></ul><ul><ul><li>Browser Limitations: </li></ul></ul><ul><ul><ul><li>Web pages may not alter the state of the client computer (ie., no file storage) </li></ul></ul></ul><ul><ul><ul><li>Web applications apply origin restrictions on network requests (ie., can use only data from a single domain) </li></ul></ul></ul><ul><ul><ul><li>These constitute the ‘Cross-domain scripting problem’ – there is no way to process XML from multiple domains using only a web browser </li></ul></ul></ul>
    22. 22. The Tag Hack Javascript Expressions <ul><li>The ‘Tag Hack’ </li></ul><ul><ul><li>A mechanism for placing data from one domain onto a web page from another domain </li></ul></ul><ul><ul><li>Javascript is embedded into a web page using the <script> tag </li></ul></ul><ul><ul><li>This enables the direct writing of web pages, eg. with the document.write() function </li></ul></ul><ul><ul><li>Specifically, web page data encoded in JSON may be written using the tag hack </li></ul></ul>
    23. 23. The Tag Hack Javascript Expressions <ul><li>History of the Tag Hack </li></ul><ul><ul><li>First used in my ‘Referrer System’ (2003) </li></ul></ul><ul><ul><li>Now widely used by advertisers </li></ul></ul><ul><li>Security concerns </li></ul><ul><ul><li>May enable data to be shared to hostile websites </li></ul></ul><ul><ul><li>Requires, therefore, that the source identified in the <script> tag be trusted </li></ul></ul><ul><ul><li>May require additional mechanisms to ensure trust </li></ul></ul>
    24. 24. Rights Models Rights Expressions <ul><li>Associating Rights With Resources </li></ul><ul><ul><li>Either place rights expression inside resource </li></ul></ul><ul><ul><li>Express rights in a separate file and refer </li></ul></ul><ul><li>Types of Rights Expression </li></ul><ul><ul><li>An offer to allow access </li></ul></ul><ul><ul><li>A license that grants access </li></ul></ul><ul><ul><li>In an offer, certain parts of the license are blank </li></ul></ul><ul><ul><li>Similarily, in a rights model, certain parts are blank </li></ul></ul>
    25. 25. Rights Models Rights Expressions <ul><li>Examples of Rights Models </li></ul><ul><ul><li>Identifies the owner of an undesignated resource and specifies one or more sets of one or more licenses (statements of actions and conditions) </li></ul></ul><ul><ul><li>May be associated with a specific resource by reference to the rights model from respurce metadata </li></ul></ul><ul><ul><li>In our implementation, the rights model is expressed in JSON and included in the resource using the tag hack </li></ul></ul>
    26. 26. Using JSON Rights Expressions <ul><li>Expressing Rights Models Using JSON </li></ul><ul><ul><li>When resource metadata is being created, the set of previously created rights models is available as a drop-down selection </li></ul></ul><ul><ul><li>An additional function supports the creation of new rights models </li></ul></ul><ul><ul><li>The URI of the selected rights model is stored in the ‘rights’ metadata element of the resource metadata </li></ul></ul>
    27. 27. Using JSON Rights Expressions <ul><li>Rights Models in LOM </li></ul><ul><li> <rights> </li></ul><ul><li><cost/> </li></ul><ul><li><copyrightAndOtherRestrictions/> </li></ul><ul><li><description><string> </li></ul><ul><li> </li></ul><ul><li></string></description> </li></ul><ul><li></rights> </li></ul>
    28. 28. Using JSON Rights Expressions <ul><li>Rights Models in JSON </li></ul><ul><li> drm({“ODRL”:{ </li></ul><ul><li>“ Rights”: </li></ul><ul><li>{“uid”:”http://…/model.js”, </li></ul><ul><li> “ rightsModelName”:”Stephen”, </li></ul><ul><li> “ type”:”offer”, </li></ul><ul><li> “ Permission”: </li></ul><ul><li>[{“Action”: … etc }] } }}) </li></ul>
    29. 29. Using JSON Rights Expressions <ul><li>Workflow </li></ul><ul><ul><li>Client selects a resource and finds rights expression URI in metadata </li></ul></ul><ul><ul><li>Client imports rigths expression metadata </li></ul></ul><ul><ul><li>Without parsing or interpretation rights expression in JSON manages rights access </li></ul></ul>
    30. 30. JSON: A Novel Approach <ul><li>Why is this a novel approach? </li></ul><ul><ul><li>It is not a language (it has no semantics per se ) but is nothing more than a data structure </li></ul></ul><ul><ul><li>It is not used as a language - no translation or parsing required – the ‘art’ in the prior art is the use and parsing of XML as a language </li></ul></ul><ul><ul><li>It offers a simple solution to the cross-domain scripting problem, which is not solved by any prior art </li></ul></ul>
    31. 31. Acknowledgement <ul><li> This work is part of the SynergiC3 project (, which is partially funded by the Atlantic Canada Opportunities Agency's Atlantic Innovation Fund (AIF), a program designed to encourage partnerships among private sector firms, universities, colleges and other research institutions to develop new products and services. The SynergiC3 project is a Research and Development collaboration between the National Research Council of Canada, Université de Moncton and Desire2Learn Incorporated. </li></ul>