Asynchronous communication within a server arrangement
First Claim
1. A system for providing a content item, said system comprising:
- a plurality of download servers, wherein each download server receives a request for said content item, said request comprising encrypted data that represents a public key associated with a user from whom said request is received and an identification of said content item, said request having been generated at a first server with which said user has previously engaged in a transaction to purchase said content item, said encrypted data having been encrypted with a first key, each of said download servers having;
a cache which stores said content item; and
a first object which receives a first message to invalidate said content item in said cache and which invalidates said content item in said cache in response to receipt of said first message; and
a fulfillment server having;
a content store which stores said content item; and
a first database which stores information relating to said content item; and
a second object which receives a notification that said information in said first database has been updated or deleted, and which generates, in response to said notification, said first message for dispatch to said plurality of download servers, said first server being separate from said plurality of download servers and from said fulfillment server, said first key being known to said first server and to said plurality of download servers but not to said user, each of said plurality of download servers comprising logic that applies said first key to said encrypted data to retrieve said identification of said content item and said first key, and that uses said public key to encrypt a second key that is used to decrypt said content item, said content item being provided to said user in a form encrypted with said second key and including said second key in a form encrypted by said public key.
4 Assignments
0 Petitions
Accused Products
Abstract
A server architecture for a digital rights management system that distributes and protects rights in content. The server architecture includes a retail site which sells content items to consumers, a fulfillment site which provides to consumers the content items sold by the retail site. The fulfillment site includes an asynchronous fulfillment pipeline which logs information about processed transactions using a store-and-forward messaging service. The fulfillment site may be implemented as several server devices, each having a cache which stores frequently downloaded content items, in which case the asynchronous fulfillment pipeline may also be used to invalidate the cache if a change is made at one server that affects the cached content items.
-
Citations
23 Claims
-
1. A system for providing a content item, said system comprising:
-
a plurality of download servers, wherein each download server receives a request for said content item, said request comprising encrypted data that represents a public key associated with a user from whom said request is received and an identification of said content item, said request having been generated at a first server with which said user has previously engaged in a transaction to purchase said content item, said encrypted data having been encrypted with a first key, each of said download servers having; a cache which stores said content item; and a first object which receives a first message to invalidate said content item in said cache and which invalidates said content item in said cache in response to receipt of said first message; and a fulfillment server having; a content store which stores said content item; and a first database which stores information relating to said content item; and a second object which receives a notification that said information in said first database has been updated or deleted, and which generates, in response to said notification, said first message for dispatch to said plurality of download servers, said first server being separate from said plurality of download servers and from said fulfillment server, said first key being known to said first server and to said plurality of download servers but not to said user, each of said plurality of download servers comprising logic that applies said first key to said encrypted data to retrieve said identification of said content item and said first key, and that uses said public key to encrypt a second key that is used to decrypt said content item, said content item being provided to said user in a form encrypted with said second key and including said second key in a form encrypted by said public key. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method of using a plurality of servers to distribute a content item, said method comprising the acts of:
-
receiving, at a first of said plurality of servers from a first computing device, a request for said content item, said first server having a first cache; determining that no valid copy of said content item exists in said first cache; obtaining said content item at said first server from a content store; providing said content item to said first computing device; storing said content item in said first cache; receiving, at a fulfillment server, a change to an attribute of said content item, said attribute being stored at said fulfillment server; said fulfillment server sending a notification to said plurality of servers in response to said change; and said first server invalidating said copy of said content item in said first cache in response to said notification, each of said plurality of servers comprising logic that performs acts comprising; receiving, from a user, a request to provide said content item to a user, said request comprising a public key associated with said user and an identification of said content item, said public key and identification being in an form encrypted by a first key that is known to each of said plurality of servers and to a first server at which said request is generated but that is not known to said user, said public key being installed by an activation server on a plurality of machines associated with said user. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium encoded with computer-executable instructions to perform a method of using a plurality of servers to distribute a content item, the method comprising:
-
receiving, at a first of said plurality of servers from a first computing device, a request for said content item, said request being received from a user and having been generated at a server remote from said user, said request comprising an identification of a content item and a public key associated with said user, said request being in a form encrypted with a first cryptographic key that is known to said plurality of servers and to said server remote from said user, but that is not known to said user, said content item being encrypted in a form that is decryptable with said first cryptographic key, said first cryptographic key being included in said content item in a from encrypted with said public key, said first server having a first cache; determining that no valid copy of said content item exists in said first cache; obtaining said content item at said first server from a content store; providing said content item to said first computing device; storing said content item in said first cache; receiving, at a fulfillment server, a change to an attribute of said content item, said attribute being stored at said fulfillment server; said fulfillment server sending a notification to said plurality of servers in response to said change; and said first server invalidating said copy of said content item in said first cache in response to said notification. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
Specification