1 / 17

Licensing Structured Data with Ease

Licensing Structured Data with Ease. Y. W. Law, C. N. Chong , S. Etalle, P. Hartel, and R. Corin Universiteit Twente, The Netherlands chong@cs.utwente.nl. Overview. Introduction and Motivation License Script Language Why Program-based REL? Why Prolog? Licensing Model I, II, and III

vinson
Download Presentation

Licensing Structured Data with Ease

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Licensing Structured Data with Ease Y. W. Law, C. N. Chong, S. Etalle, P. Hartel, and R. Corin Universiteit Twente, The Netherlands chong@cs.utwente.nl

  2. Overview • Introduction and Motivation • LicenseScript Language • Why Program-based REL? • Why Prolog? • Licensing Model I, II, and III • Conclusions and Future Work

  3. Introduction • Digital Rights Management (DRM) is a controversial technology. • We do not debate if DRM is good or bad. • Here, we use our LicenseScript, the rights expression language (REL) to license structured data.

  4. Motivation • We are going to explain some of our design choices of LicenseScript. • We need to present several answers for the following questions: • Why program-based REL? • Why using Prolog?

  5. LicenseScript Language • License consists of three parts: content, clauses, and bindings. • Clauseis a Prolog program to decide if the operation is allowed. • Bindings store license data. • Rule can be thought of as firmware of a system.

  6. Why Program-based REL? • Formal Semantics • Useful properties can be formally verified. • Flexible and Highly Expressive • Able to express more novel usage scenarios.

  7. Why Prolog? • The main component of LicenseScript. • We will show the power of Prolog in handling the structured data. • We propose 3 Licensing Models using LicenseScript that illustrates the advantages of Prolog.

  8. Unlocking License lic(track, [canplay(B,_,Code):- get_value(B,unlockCode,Code)], [unlockCode=1234]) Rule play(N) : lic(N,C1,B1), lic(N,C2,B2) -> lic(N,C1,B1’), lic(N,C2,B2’) <= C2|-canunlock(B1,B1’,Code), C1|-canplay(B2,B2’,Code) Base License lic(track, [canunlock(B,_,Code): get_value(B,unlockCode,U), Code==U], [unlockCode=1234]) Licensing Model I Play • Lock part of the content, to unlock needs license. • Can distribute part of the content free as preview to attract users.

  9. Enhanced License Basic License Add-on License Licensing Model II • A basic set of content and bonus content which can be added on top of the basic content. Combine

  10. Licensing Model II (cont’d.) • We have given a formalism of the combination operation. • We have defined a formalism to resolve the potential name conflicts at clauses and bindings. • Content providers can have more flexible licensing to their structural data.

  11. By using Licensing Model II, we can license the text and audio of the ebook, separately. ebook lic(ebook, [cansynrender(_,_):- candisplay(_,_), canlisten(_,_)], [type=[text,audio]]) ebook-text-part ebook-audio-part lic(ebook, [candisplay(_,_)], [type=[text]]) lic(ebook, [canlisten(_,_)], [type=[audio]]) Licensing Model III Combine

  12. Conclusions and Future Work • We have provided three useful licensing schemes to use with LicenseScript. • We have shown the advantages of using Prolog in licensing. • Future work – security of LicenseScript: • To detect bad licenses. • To protect licenses confidentiality and integrity.

  13. Questions and Answers

  14. Name Conflicts Resolution Definition 1: Names lic (Content, C, B) Bindings, B Set of Names Head of Clauses,C Set of Names

  15. X Y Z x y z Name Conflicts Resolution Definition 2: Renaming Function Renaming Function α bijection Y ∩ Z = {} z= α(x,Y)

  16. Name Conflicts Resolution Definition 1: Combination Combine Functionφ lic1(n,C1,B1) lic3(n,C3,B3) lic2(n,C2,B2) • l3 is a valid license. • Number of (B3) = number of (B2) + number of (B1) • Number of (C3) = number of (C1) + number of (C2) – number of (C1 and C2 which has same head)

  17. Name Conflicts Resolution Definition 1: Combination • There exists b in C1 and B1 (i.e., of lic1) but not in of lic2, there exists a unique b3in of lic3 then the corresponding Prolog clause in C1 also exists in C3. • Similarly, applies to C2 and B2. • There exists b in of lic1 (N1) and lic2 (N2), there exists unique b3(1) and b3(2), b3(1)≠ b3(2) such that b3(1)= α1(b, N1U N2) and b3(2)= α2(b, N1U N2), then the clause b:-b3(1),b3(2) in of lic3

More Related