Claims
- 1. An extensible grammar-based rights expression system for processing one or more rights expressions, said system comprising:
an interpreter adapted to evaluate said one or more rights expressions, said interpreter including one or more plug-in subcomponents configured to allow evaluation of said one or more rights expressions; a validator adapted to validate compliance with conditions set forth in said one or more rights expressions upon authorization by said interpreter; and a framework adapted provide an interface between said interpreter and said validator.
- 2. The system of claim 1, wherein said one or more rights expressions is a plurality of rights expressions.
- 3. The system of claim 2, wherein said one or more plug-in subcomponents is a plurality of plug-in subcomponents configured to allow evaluation of said plurality of rights expressions.
- 4. The system of claim 1, further including a plurality of validators adapted to validate compliance with different conditions of said one or more rights expressions.
- 5. The system of claim 2, further including a plurality of validators adapted to validate compliance with different conditions of said plurality of rights expressions.
- 6. The system of claim 1, wherein said one or more rights expressions includes a grant that includes a usage right associated with a resource and a principal to whom said usage right is granted.
- 7. The system of claim 1, wherein said one or more rights expressions includes a request that includes a usage right associated with a resource and a principal requesting use of said resource.
- 8. The system of claim 7, wherein one or more of said plural rights expressions includes a grant that includes a usage right associated with a resource and a principal to whom said usage right is granted.
- 9. The system of claim 8, wherein said interpreter is adapted to evaluate said request based on said grant, and at least one of:
authorize said request if said requested usage right is issued in said grant; conditionally authorize said request if said requested usage right is issued with one or more condition set forth in said grant; and not authorize said request if said requested usage right is not issued in said grant.
- 10. The system of claim 9, wherein said request is conditionally authorized so that said usage right requested in said request is authorized contingent on one or more condition set forth in said grant.
- 11. The system of claim 10, wherein said validator validates compliance with said one or more condition set forth in said grant.
- 12. The system of claim 8, wherein said interpreter is adapted to evaluate said one or more rights expressions based on said request and said grant.
- 13. The system of claim 12, wherein said one or more rights expressions are evaluated by said interpreter by comparing said usage right, said resource, and said principal included in said request with said usage right, said resource, and said principal included in said grant.
- 14. The system of claim 13, wherein said interpreter is adapted to at least one of:
authorize said request if said usage right, said resource, and said principal of said request and said grant match one another; conditionally authorize said request if said usage right, said resource, and said principal of said request and said grant match one another, and said grant further includes one or more conditions; and not authorize said request if said usage right, said resource, and said principal of said request and said grant do not match one another.
- 15. The system of claim 6, wherein said interpreter is adapted to evaluate said grant by at least one of decrypting said grant, verifying a digital signature, and authenticating issuer of said grant.
- 16. The system of claim 7, wherein said interpreter is adapted to evaluate said request by at least one of authenticating said principal, and verifying said resource.
- 17. The system of claim 1, further comprising an application that interfaces with said framework to provide said one or more rights expressions to said interpreter.
- 18. The system of claim 17, wherein said application is at least one of a creator, a distributor, and a consumer of said one or more rights expressions.
- 19. The system of claim 17, wherein said application is at least one of a rights authoring system adapted to author digital content, and a rendering system adapted to render digital content.
- 20. The system of claim 1, further comprising a parser adapted to manipulate said one or more rights expressions.
- 21. The system of claim 20, wherein said parser is further adapted to facilitate processing of new rights expressions.
- 22. The system of claim 20, wherein said parser interfaces with said framework to provide said manipulated rights expressions to said interpreter.
- 23. The system of claim 1, wherein said interpreter is adapted to be expanded by adding additional plug-in subcomponents thereto.
- 24. The system of claim 23, wherein said additional plug-in subcomponents are configured to allow evaluation of new rights expressions.
- 25. The system of claim 23, further comprising additional validators adapted to validate compliance with conditions set forth in said new rights expressions.
- 26. The system of claim 1, further comprising additional validators adapted to validate compliance with conditions set forth in new rights expressions.
- 27. A method for processing one or more rights expressions including a request that requests a usage right associated with a resource for a principal, and a grant that issues a usage right associated with a resource to a principal, said method comprising the steps of:
registering plug-in components with a framework; making a programmatic call to said framework to authorize requests for usage rights set forth in said one or more rights expressions; finding one or more appropriate plug-in components configured to evaluate each of said requests set forth in said one or more rights expressions; invoking said appropriate plug-in components; evaluating said request against said grant; and returning an authorization result that indicates whether said request is authorized by said grant.
- 28. The method of claim 27, wherein said step of returning said authorization results includes at least one of authorizing said request, conditionally authorizing said request, and not authorizing said request.
- 29. The method of claim 28, wherein if said step of returning said authorization results includes conditionally authorizing said request in which said requested usage right is authorized with at least one condition set forth in said grant, further including the step of validating satisfaction of conditions set forth in said grant.
- 30. The method of claim 27, wherein step of evaluating said request against said grant includes at least one of authenticating said principal, and verifying said resource.
- 31. The method of claim 27, wherein said step of evaluating said request against said grant includes at least one of decrypting said grant, verifying a digital signature, and authenticating issuer of said grant.
- 32. The method of claim 27, wherein said request includes a usage right associated with a resource and a principal requesting use of said resource, and said grant includes a usage right associated with a resource and a principal to whom said usage right is granted.
- 33. The method of claim 32, wherein said step of evaluating said request against said grant includes comparing said usage right, said resource, and said principal included in said request with said usage right, said resource, and said principal included in said grant.
- 34. The method of claim 33, wherein said step of returning said authorization results includes at least one of:
authorizing said request if said usage right, said resource, and said principal of said request and said grant match one another; conditionally authorizing said request if said usage right, said resource, and said principal of said request and said grant match one another, and said grant further includes one or more conditions; and not authorizing said request if said usage right, said resource, and said principal of said request and said grant do not match one another.
- 35. The method of claim 27, further including the step of processing one or more new rights expressions.
- 36. The method of claim 35, further including the step of adding a new plug-in component configured to allow evaluation of said one or more new rights expressions.
- 37. The method of claim 36, wherein said one or more new rights expressions include a new request and a new grant, further including the step of using said new plug-in component to evaluate said new request against said new grant.
- 38. The method of claim 37, further including the step of returning an authorization result that indicates whether said new request is authorized by said new grant.
- 39. The method of claim 38, wherein if said step of returning said authorization results includes conditionally authorizing said new request in which said requested usage right is authorized with at least one condition set forth in said new grant, further including the step of validating satisfaction of conditions set forth in said new grant.
- 40. The method of claim 39, further including the step of adding a new plug-in component configured to validate compliance with conditions set forth in said new grant.
- 41. An extensible grammar-based rights expression system for processing one or more rights expressions, said system comprising:
a framework having an extensible architecture with one or more extensibility points for adding extensions to said grammar; and an interpreter adapted to evaluate said one or more rights expressions; wherein said extensions define semantics and syntax of new rights expressions to allow processing of said new rights expressions.
- 42. The system of claim 41, wherein said interpreter is implemented as a plug-in component.
- 43. The system of claim 41, wherein said interpreter includes one or more plug-in subcomponents configured to allow evaluation of at least one of said one or more rights expressions.
- 44. The system of claim 43, wherein said interpreter is adapted to be expanded by adding additional plug-in subcomponents thereto, said additional plug-in subcomponents being configured to allow evaluation of new rights expressions.
- 45. The system of claim 41, wherein said one or more rights expressions includes a grant that includes a usage right associated with a resource and a principal to whom said usage right is granted, and a request that includes a usage right associated with a resource and a principal requesting use of said resource.
- 46. The system of claim 45, wherein said interpreter is adapted to evaluate said one or more rights expressions by comparing said usage right, said resource, and said principal included in said request with said usage right, said resource, and said principal included in said grant.
- 47. The system of claim 46, wherein said interpreter is adapted to at least one of:
authorize said request if said usage right, said resource, and said principal of said request and said grant match one another; conditionally authorize said request if said usage right, said resource, and said principal of said request and said grant match one another, and said grant further includes one or more conditions; and not authorize said request if said usage right, said resource, and said principal of said request and said grant do not match one another.
- 48. The system of claim 41, wherein said one or more rights expressions include conditions set forth therein.
- 49. The system of claim 48, further comprising one or more validators adapted to validate compliance with one or more conditions set forth in said one or more rights expressions.
- 50. The system of claim 49, wherein said one or more validators are implemented as plug-in components, and system further comprises additional validators adapted to validate compliance with conditions set forth in new rights expressions..
- 51. The system of claim 49, wherein said framework is adapted provide an interface between said interpreter and said one or more validators.
- 52. The system of claim 41, further comprising an application that interfaces with said framework to provide said one or more rights expressions to said interpreter.
- 53. The system of claim 51, wherein said application is at least one of a creator, a distributor, and a consumer of said one or more rights expressions.
- 54. The system of claim 51, wherein said application is at least one of a rights authoring system adapted to author digital content, and a rendering system adapted to render digital content.
- 55. The system of claim 41, further comprising a parser adapted to manipulate and facilitate processing of said one or more rights expressions.
- 56. The system of claim 55, wherein said parser interfaces with said framework to provide said manipulated rights expressions to said interpreter.
- 57. A method for processing one or more rights expressions including a request that requests a usage right associated with a resource for a principal, and a grant that issues a usage right associated with a resource to a principal, said method comprising the steps of:
providing an extensible grammar-based rights expression system having an extensible architecture with an interpreter adapted to evaluate said one or more rights expressions; evaluating said request against said grant using said interpreter; and returning an authorization result that indicates whether said request is authorized by said grant.
- 58. The method of claim 57, further including the step of adding new extensions to said extensible grammar-based rights expression system to allow processing of new rights expressions, wherein said extensions define semantics and syntax of said new rights expressions.
- 59. The method of claim 58, wherein said step of adding new extensions include the step of adding one or more new interpreters to said extensible grammar-based rights expression system, said new interpreters being adapted to evaluate one or more of said new rights expressions.
- 60. The method of claim 58, wherein said step of adding new extensions include the step of adding one or more subcomponents to said interpreter of said extensible grammar-based rights expression system, said one or more plug-in subcomponents being configured to allow evaluation of one or more of said new rights expressions.
- 61. The method of claim 58, wherein said step of evaluating said request against said grant includes the step of using interpreters to match said usage right, said resource, and said principal of said request and said grant.
- 62. The method of claim 61, wherein said step of returning said authorization results includes at least one of:
authorizing said request if said usage right, said resource, and said principal of said request and said grant match one another; conditionally authorizing said request if said usage/right, said resource, and said principal of said request and said grant match one another, and said grant further includes one or more conditions; and not authorizing said request if said usage right, said resource, and said principal of said request and said grant do not match one another.
- 63. The method of claim 62, wherein if said step of returning said authorization results includes conditionally authorizing said request in which said requested usage right is authorized with at least one condition set forth in said grant, further including the step of validating satisfaction of conditions set forth in said grant.
- 64. The method of claim 63, wherein said step of validating satisfaction of conditions set forth in said grant is attained by one or more validators.
- 65. The method of claim 64, wherein said step of adding new extensions include the step of adding one or more new validators to said extensible grammar-based rights expression system, said new validators being adapted to allow validation of satisfaction of conditions set forth in one or more of said new rights expressions.
Parent Case Info
[0001] This application claims priority to U.S. provisional applications Serial No. 60/331,619 filed Nov. 20, 2001, Serial No. 60/331,622 filed Nov. 20, 2001, Serial No. 60/359,646 filed Feb. 27, 2002, and Serial No. 60/359,661 filed Feb. 27, 2002, all of which are incorporated herein by reference in their entirety.
Provisional Applications (4)
|
Number |
Date |
Country |
|
60331619 |
Nov 2001 |
US |
|
60331622 |
Nov 2001 |
US |
|
60359646 |
Feb 2002 |
US |
|
60359661 |
Feb 2002 |
US |