Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient design of interpretation of REL license using Expert Systems Chun Hui Suen, Munich University of Technology, Institute for Data Processing.

Similar presentations


Presentation on theme: "Efficient design of interpretation of REL license using Expert Systems Chun Hui Suen, Munich University of Technology, Institute for Data Processing."— Presentation transcript:

1 Efficient design of interpretation of REL license using Expert Systems Chun Hui Suen, Munich University of Technology, Institute for Data Processing

2 Contents Problems Problems Current solution Current solution Proposed solution Proposed solution Offline Demo Offline Demo Comparison Comparison Conclusion Conclusion 1

3 Rights Expression Language DRM System 2 Consumer Content Provider

4 Rights Expression Language Buy Rent Promotion Share Gift 2 DRM System Consumer Content Provider

5 Rights Expression Language Direct payment Payment information Try before buying... 2 DRM System Consumer Content Provider

6 Rights Expression Language Expressive REL needed for user-friendly DRM Complicated REL license interpreter Expressive REL needed for user-friendly DRM Complicated REL license interpreter 2

7 Problem License Grant Condition Grant Condition License Root Grant … Expressive Rights description – MPEG-21 REL Expressive Rights description – MPEG-21 REL Tree-based XML Tree-based XML Complicated dependancies Complicated dependancies 3

8 Current solution Inperative programming Inperative programming Object-orientated mapping Object-orientated mapping License Grant Condition Grant Condition License Root Grant … 4

9 Current solution Inperative programming Inperative programming Object-orientated mapping Object-orientated mapping License Grant Condition Grant Condition License Root Grant … 4 License Object Grant Object Condition Object Grant Object Condition Object License Object Root Grant Object …

10 Proposed Solution Knowledge based parsing Knowledge based parsing License Grant Condition Grant Condition License Root Grant … Knowledge database XML - Knowledge parser 5

11 Proposed Solution Knowledge database 6 Root grant xx xxxx License xx xxxx Grant xx xxxx Condition xx xxxx Grant xx xxxx Condition xx xxxx License xx xxxx

12 Intelligence Rule-based matching (Experts System) Root grant xx xxxx License xx xxxx Grant xx xxxx Condition xx xxxx Grant xx xxxx Condition xx xxxx License xx xxxx Rule patternaction Rule patternaction... Inference Engine Pattern-matching 7

13 Intelligence Rule-based matching (Experts System) Root grant xx xxxx License xx xxxx Grant xx xxxx Condition xx xxxx Grant xx xxxx Condition xx xxxx License xx xxxx Rule patternaction Rule patternaction... Inference Engine Add / Mod. / Delete 7

14 Implementation 8 What right is requested? Who can perform it? What resource to use? Under what conditions? System States counters

15 Implementation 9 Hypothesis is true? Grant valid? Issuer valid? Conditions fulfilled? Principal valid? Resource valid? Operation valid? Root grant License Grant Condition Root Grant Resources Right keyholder

16 Demo – Input License 1 <rootGrant> Company A Company A <trustedRootIssuer/></rootGrant> „Company A“ is a trusted issuer „Company A“ is a trusted issuer<rootGrant> john john <possessProperty/> Subscription Subscription </rootGrant> “John” has property “Subscription” “John” has property “Subscription” 10

17 Demo – Input License 2 <license><grant> john john somewhere.mp3 somewhere.mp3 <prerequisiteRight> john john <possessProperty/> Subscription Subscription </prerequisiteRight></grant> “john” allowed to “play”, only if “john” has “Subscription” property “john” allowed to “play”, only if “john” has “Subscription” property 11

18 Demo – Input License 3 Company A Company A </license> Issuer of license is “Company A” Issuer of license is “Company A” 13

19 Demo – Parsed License 1 (rootGrant g0) (rootGrant g0) (keyholder "Company A" g0) (keyholder "Company A" g0) (trustedRootIssuer g0) (trustedRootIssuer g0) (rootGrant g1) (rootGrant g1) (keyholder “john" g1) (keyholder “john" g1) (right possessProperty g1) (right possessProperty g1) (property "Subscription" g1) (property "Subscription" g1) (license l0) (license l0) (grant g2 l0) (grant g2 l0) (keyholder “john" g2) (keyholder “john" g2) (right play g2) (right play g2) (digitalresource "somewhere.mp3" g2) (digitalresource "somewhere.mp3" g2) 14

20 Demo – Parsed License 2 (condition-or c0 g2) (condition-or c0 g2) (condition c0 prerequisiteRight p0) (condition c0 prerequisiteRight p0) (keyholder “john" p0) (keyholder “john" p0) (right possessProperty p0) (right possessProperty p0) (property "Subscription" p0) (property "Subscription" p0) (issuer "Company A" l0) (issuer "Company A" l0) (time 20060504) (time 20060504) (database-count 5 c2) (database-count 5 c2) (predicate 0 “john" play "somewhere.mp3") (predicate 0 “john" play "somewhere.mp3") 15 Hypothesis & states

21 Demo – Interpretation 1 (authorized-grant g0 -1) (authorized-grant g1 -1) (authorized-grant g2 l0) Grant blocks recognised as authorized/trusted 15

22 Demo – Interpretation 1 (authorized-grant g0 -1) (authorized-grant g1 -1) (authorized-grant g2 l0) => (predicate p0 “john" possessProperty "Subscription") New hypothesis: Does john has the property Subscription 15

23 Demo – Interpretation 1 (authorized-grant g0 -1) (authorized-grant g1 -1) (authorized-grant g2 l0) => (predicate p0 “john" possessProperty "Subscription") (keyholder_matched p0 g1) - john (keyholder_matched p0 g1) - john (op_matched p0 g1) - possessProperty (op_matched p0 g1) - possessProperty (cond-fulfilled g1) - none (cond-fulfilled g1) - none (resource_matched p0 g1) - “Subscription” (resource_matched p0 g1) - “Subscription” Conditions for new predicate fulfilled 15

24 Demo – Interpretation 1 (authorized-grant g0 -1) (authorized-grant g1 -1) (authorized-grant g2 l0) => (predicate p0 “john" possessProperty "Subscription") (keyholder_matched p0 g1) (keyholder_matched p0 g1) (op_matched p0 g1) (op_matched p0 g1) (cond-fulfilled g1) (cond-fulfilled g1) (resource_matched p0 g1) (resource_matched p0 g1) (predicate-success p0) (predicate-success p0) New hypothesis fulfilled 15

25 Demo – Interpretation 1 (authorized-grant g0 -1) (authorized-grant g1 -1) (authorized-grant g2 l0) => (predicate p0 “john" possessProperty "Subscription") (keyholder_matched p0 g1) (keyholder_matched p0 g1) (op_matched p0 g1) (op_matched p0 g1) (cond-fulfilled g1) (cond-fulfilled g1) (resource_matched p0 g1) (resource_matched p0 g1) (predicate-success p0) (predicate-success p0) (cond-true c0 prerequisiteRight p0) (cond-satisfied c0) Recursive condtion fulfilled 15

26 Demo – Interpretation 2 (keyholder_matched 0 g2) - John (op_matched 0 g2) - play (resource_matched 0 g2) - somewhere.mp3 (cond-fulfilled g2) - has property Conditions of first grant block fulfilled 16

27 Demo – Interpretation 2 (keyholder_matched 0 g2) (op_matched 0 g2) (resource_matched 0 g2) (cond-fulfilled g2) (predicate-success 0) Final hypothesis fulfilled. 16

28 Comparison - Advantages Flat structure – aids in overcoming problems of complex dependancies Flat structure – aids in overcoming problems of complex dependancies OOP implementation requires global data to support recursive condition OOP implementation requires global data to support recursive condition Knowledge predicate is easily stored in database Knowledge predicate is easily stored in database Support high-volume operation Support high-volume operation “Proof” of authorization can be easily generated “Proof” of authorization can be easily generated Logging of reason for authorization Logging of reason for authorization Helps in making intelligent authorization decisions Helps in making intelligent authorization decisions 17

29 Comparison - Disadvantages Additional knowledge creation stage (XML – pre-processing) Additional knowledge creation stage (XML – pre-processing) Unable to support XML-related conditions in MPEG-21 REL Unable to support XML-related conditions in MPEG-21 REL 18

30 Future work Quantitative speed test Quantitative speed test Optimization of knowledge-based approach Optimization of knowledge-based approach Partitioning of knowledge database into clearly defined sets to reduce search range for rule matching Partitioning of knowledge database into clearly defined sets to reduce search range for rule matching Support more REL commands Support more REL commands 19

31 Conclusion Knowledge-based parsing is feasible Knowledge-based parsing is feasible Reduce REL parser design complexity Reduce REL parser design complexity 20

32 Questions


Download ppt "Efficient design of interpretation of REL license using Expert Systems Chun Hui Suen, Munich University of Technology, Institute for Data Processing."

Similar presentations


Ads by Google