Efficient design of interpretation of REL license using Expert Systems Chun Hui Suen, Munich University of Technology, Institute for Data Processing Contents Problems Current solution Proposed solution Offline Demo Comparison Conclusion 1 Rights Expression Language DRM System Consumer •Buy •Rent •Promotion •Share •Gift Content Provider 2 Rights Expression Language DRM System •Direct payment •Payment information •Try before buying . . . Consumer Content Provider 2 Rights Expression Language Expressive REL needed for user-friendly DRM Complicated REL license interpreter 2 Problem Expressive Rights description – MPEG-21 REL Tree-based XML Root Grant Complicated License dependancies Grant Condition Grant Condition License … 3 Current solution Inperative programming Object-orientated mapping Root Grant License Grant Condition Grant Condition License … 4 Current solution Inperative programming Object-orientated mapping Root Grant Object License Object Root Grant License Grant Object Grant Condition Object Condition Grant Object License Object Grant Condition Object Condition License … … 4 Proposed Solution Knowledge based parsing Root Grant License Grant Condition XML - Knowledge parser Knowledge database Grant Condition License … 5 Proposed Solution Root grant Knowledge database xx xx xx License xx xx xx Grant xx xx xx Condition Grant xx xx Condition License xx xx xx xx xx xx xx xx xx xx 6 Rule-based matching (Experts System) Inference Engine Pattern-matching Rule pattern action Root grant xx xx xx License xx xx xx Grant xx xx xx Condition xx xx xx Rule pattern action Grant xx Condition ... Intelligence License xx xx xx xx xx xx xx xx 7 Rule-based matching (Experts System) Inference Engine Add / Mod. / Delete Rule pattern action Root grant xx xx xx License xx xx xx Grant xx xx xx Condition xx xx xx Rule pattern action Grant xx Condition ... Intelligence License xx xx xx xx xx xx xx xx 7 Implementation Input to inte rpre ta tion e ngine XML lice ns e XML pa rs e r in c++ Hypothe s is S ta te s Inte rpre ta tion re s ult phas e1 CLIP S e xpe rt s ys . Rule s ba s e phas•System e2 States •counters •What right is requested? •Who can perform it? •What resource to use? •Under what conditions? 8 Implementation Root Grant Hypothesis is true? License Root grant Grant Issuer valid? Conditions fulfilled? Condition keyholder Principal valid? Grant valid? Operation valid? Resource valid? Resources Right 9 Demo – Input License 1 <rootGrant> <keyholder>Company A</keyholder> <trustedRootIssuer/> </rootGrant> „Company A“ is a trusted issuer <rootGrant> <keyholder>john</keyholder> <possessProperty/> <propertyUri>Subscription</propertyUri> </rootGrant> “John” has property “Subscription” 10 Demo – Input License 2 <license> <grant> <keyholder>john</keyholder> <play/> <digitalresource>somewhere.mp3</digitalresource> <prerequisiteRight> <keyholder>john</keyholder> <possessProperty/> <propertyUri>Subscription</propertyUri> </prerequisiteRight> </grant> “john” allowed to “play”, only if “john” has “Subscription” property 11 Demo – Input License 3 <issuer>Company A</issuer> </license> Issuer of license is “Company A” 13 Demo – Parsed License 1 (rootGrant g0) (keyholder "Company A" g0) (trustedRootIssuer g0) (rootGrant g1) (keyholder “john" g1) (right possessProperty g1) (property "Subscription" g1) (license l0) (grant g2 l0) (keyholder “john" g2) (right play g2) (digitalresource "somewhere.mp3" g2) 14 Demo – Parsed License 2 (condition-or c0 g2) (condition c0 prerequisiteRight p0) (keyholder “john" p0) (right possessProperty p0) (property "Subscription" p0) (issuer "Company A" l0) (time 20060504) (database-count 5 c2) (predicate 0 “john" play "somewhere.mp3") Hypothesis & states 15 Demo – Interpretation 1 (authorized-grant g0 -1) (authorized-grant g1 -1) (authorized-grant g2 l0) Grant blocks recognised as authorized/trusted 15 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 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 (op_matched p0 g1) - possessProperty (cond-fulfilled g1) - none (resource_matched p0 g1) - “Subscription” Conditions for new predicate fulfilled 15 Demo – Interpretation 1 (authorized-grant g0 -1) (authorized-grant g1 -1) (authorized-grant g2 l0) => (predicate p0 “john" possessProperty "Subscription") (keyholder_matched p0 g1) (op_matched p0 g1) (cond-fulfilled g1) (resource_matched p0 g1) (predicate-success p0) New hypothesis fulfilled 15 Demo – Interpretation 1 (authorized-grant g0 -1) (authorized-grant g1 -1) (authorized-grant g2 l0) => (predicate p0 “john" possessProperty "Subscription") (keyholder_matched p0 g1) (op_matched p0 g1) (cond-fulfilled g1) (resource_matched p0 g1) (predicate-success p0) (cond-true c0 prerequisiteRight p0) (cond-satisfied c0) Recursive condtion fulfilled 15 Demo – Interpretation 2 (keyholder_matched 0 g2) (op_matched 0 g2) (resource_matched 0 g2) (cond-fulfilled g2) - John - play - somewhere.mp3 - has property Conditions of first grant block fulfilled 16 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 Comparison - Advantages Flat structure – aids in overcoming problems of complex dependancies Knowledge predicate is easily stored in database OOP implementation requires global data to support recursive condition Support high-volume operation “Proof” of authorization can be easily generated Logging of reason for authorization Helps in making intelligent authorization decisions 17 Comparison - Disadvantages Additional knowledge creation stage (XML – pre-processing) Unable to support XML-related conditions in MPEG-21 REL 18 Future work Quantitative speed test Optimization of knowledge-based approach Partitioning of knowledge database into clearly defined sets to reduce search range for rule matching Support more REL commands 19 Conclusion Knowledge-based parsing is feasible Reduce REL parser design complexity 20 Questions
© Copyright 2026 Paperzz