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 for 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;
storing state information in a database under the digital rights management engine's control, the state information relating to the first use of the piece of electronic content;
executing the control program a second time to determine if a second use of the piece of electronic content is authorized, evaluating the first condition and a second condition, the evaluation of the second condition depending, at least in part, on the state information;
upon determining that the second condition has been satisfied, updating the state information and storing the updated state information in the database.
2 . The method of claim 1 , in which the state information stored in the database comprises a count of the number of times the piece of electronic content has been accessed.
3 . The method of claim 1 , in which the state information stored in the database comprises a measure of duration of use of the piece of electronic content.
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 system of claim 4 , in which the first node represents a computing device and the second node represents a subscription service.
8 . The system of claim 4 , in which the first node represents a computing device and the second node represents a home network domain.
9 . 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 storing state information in a database under the digital rights management engine's control, the state information relating to the first use of the piece of electronic content;
means for executing the control program a second time to determine if a second use of the piece of electronic content is authorized, evaluating the first condition and a second condition, the evaluation of the second condition depending, at least in part, on the state information; and
means for updating the state information and storing the updated state information in the database upon determining that the second condition has been satisfied.
10 . The system of claim 9 , in which the state information stored in the database comprises a count of the number of times the piece of electronic content has been accessed.
11 . The system of claim 9 , in which the state information stored in the database comprises a measure of duration of use of the piece of electronic content.
12 . The system of claim 11 , 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.
13 . The system of claim 12 , in which the first condition comprises a requirement that the link object be valid.
14 . The system of claim 12 , in which the first node represents a computing device and the second node represents a user of the computing device.
15 . The system of claim 12 , in which the first node represents a computing device and the second node represents a subscription service.
16 . The system of claim 12 , in which the first node represents a computing device and the second node represents a home network domain.