Digital rights management engine systems and methods
Systems and methods are described for performing digital rights management. In one embodiment, a digital rights management engine is provided that evaluates license associated with protected content to determine if a requested access or other use of the content is authorized. In some embodiments, the licenses contain control programs that are executable by the digital rights management engine.
1 . A method of managing access to or use of a piece of electronic content, the method comprising:
retrieving a control program associated with the piece of electronic content, the control program comprising instructions that, when executed by a digital rights management engine, are operable to evaluate a first condition and, upon determining that the first condition has been satisfied, enable a first use of the piece of electronic content;
receiving an agent program from a remote system, the agent program comprising instructions that, when executed by a digital rights management engine, are operable to store state information in a database managed by the digital rights management engine; and
executing the control program, including making a determination as to whether the first condition has been satisfied, the determination being based at least in part on the state information.
2 . The method of claim 1 , in which the state information stored in the database comprises an initial value of a count of the number of times the first use may be made of the piece of electronic content.
3 . The method of claim 1 , further comprising:
enabling the first use of the piece of electronic content; and
decrementing a current value of the count.
4 . The method of claim 1 , in which the control program is obtained from a link object, the link object forming part of an authorization graph from a first node to a second node.
5 . The method of claim 4 , in which the first condition comprises a requirement that the link object be valid.
6 . The method of claim 4 , in which the first node represents a computing device and the second node represents a user of the computing device.
7 . The method of claim 4 , in which the first node represents a computing device and the second node represents a subscription service.
8 . The method of claim 7 , in which the agent is received from an operator of the subscription service.
9 . The method of claim 4 , in which the first node represents a computing device and the second node represents a home network domain.
10 . A system for managing access to or use of a piece of electronic content, the system comprising:
means for retrieving a control program associated with the piece of electronic content, the control program comprising instructions that, when executed by a digital rights management engine, are operable to evaluate a first condition and, upon determining that the first condition has been satisfied, enable a first use of the piece of electronic content;
means for receiving an agent program from a remote system, the agent program comprising instructions that, when executed by a digital rights management engine, are operable to store state information in a database managed by the digital rights management engine; and
means for executing the control program, including making a determination as to whether the first condition has been satisfied, the determination being based at least in part on the state information.
11 . The system of claim 10 , in which the state information stored in the database comprises an initial value of a count of the number of times the first use may be made of the piece of electronic content.
12 . The system of claim 10 , further comprising:
means for enabling the first use of the piece of electronic content; and
means for decrementing a current value of the count.
13 . The system of claim 10 , in which the control program is obtained from a link object, the link object forming part of an authorization graph from a first node to a second node.
14 . The system of claim 13 , in which the first condition comprises a requirement that the link object be valid.
15 . The system of claim 13 , in which the first node represents a computing device and the second node represents a user of the computing device.
16 . The system of claim 13 , in which the first node represents a computing device and the second node represents a subscription service.
17 . The system of claim 16 , in which the agent is received from an operator of the subscription service.
18 . The system of claim 13 , in which the first node represents a computing device and the second node represents a home network domain.