Request based caching of data store data
First Claim
1. A method for caching data associated with entries in a data store accessed in response to a request assigned to a thread of execution, said method comprising:
- (a) determining that a first command arising from said request calls for access to a data store entry in said data store; and
(b) accessing a first entry in a cache object in response to said first command, wherein said first entry corresponds to said data store entry, wherein said cache object is separate from said data store, wherein said cache object is associated with said thread of execution, and wherein said cache object is only accessed in response to commands arising from requests assigned to said thread of execution.
7 Assignments
0 Petitions
Accused Products
Abstract
A request, such as those embedded in URLs and XML documents, is assigned to a thread of execution in a server that is in communication with a data store. The thread of execution includes a thread local storage with a pointer to a cache object. The cache object maintains copies of data store entries frequently accessed by the assigned request. The cache object is accessed in response to data store access commands arising from the request. When a data store access command specifies a data store entry not found in the cache object, the server creates and loads a corresponding cache object entry. The cache object is not updated when other requests alter data store entries, and memory access commands arising from other requests cannot cause the cache object to be accessed. When the request causes the server to write data to the data store, the cache object also maintains a copy of the written data. The server retrieves the written data from the cache object in response to subsequent data store access queries arising from the request. The cache object is destroyed once the server completes a response to the request.
-
Citations
36 Claims
-
1. A method for caching data associated with entries in a data store accessed in response to a request assigned to a thread of execution, said method comprising:
-
(a) determining that a first command arising from said request calls for access to a data store entry in said data store; and
(b) accessing a first entry in a cache object in response to said first command, wherein said first entry corresponds to said data store entry, wherein said cache object is separate from said data store, wherein said cache object is associated with said thread of execution, and wherein said cache object is only accessed in response to commands arising from requests assigned to said thread of execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
(c) destroying said cache object in response to said request being completed.
-
-
3. The method of claim 1, wherein said first command calls for writing a value to said data store entry, wherein said step (b) includes:
-
(1) writing said value to said first entry in said cache object; and
(2) writing said value to said data store entry.
-
-
4. The method of claim 3, wherein a second command arising from said request calls for a query from said data store entry, wherein said method further includes:
(d) retrieving said value from said first entry in said cache object.
-
5. The method of claim 1, wherein said thread of execution contains a thread local storage with a pointer to said cache object.
-
6. The method of claim 5, wherein said thread of execution exists in an Identity Server in communication with said data store.
-
7. The method of claim 6, wherein said data store is in communication with an Access Server.
-
8. The method of claim 1, wherein said cache object is not updated in response to entries in said data store being changed in response to requests other than said request assigned to said thread of execution.
-
9. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code comprising:
-
code that receives a request and assigns said request to a thread of execution, said request relates to one or more entries in a data store code that determines that a first command arising from said request calls for access to a data store entry in said data store; and
code that accesses a first entry in a cache object in response to said first command, said cache object is separate from said data store, wherein said first entry corresponds to said data store entry, wherein said cache object is associated with said thread of execution, and wherein said cache object is only accessed in response to commands arising from said request. - View Dependent Claims (10, 11, 12)
said cache object is destroyed in response to said request being completed.
-
-
13. A system for caching data associated with a data store, said system comprising:
-
means for receiving a request and assigning said request to a thread of execution, said request relates to one or more entries in said data store;
means for determining that a first command arising from said request calls for access to a data store entry in said data store; and
means for accessing a first entry in a cache object in response to said first command, wherein said first entry corresponds to said data store entry, wherein said cache object is associated with said thread of execution, and wherein said cache object is only accessed in response to commands arising from requests assigned to said thread of execution. - View Dependent Claims (14, 15, 16, 17)
said cache object is destroyed in response to said request being completed.
-
-
15. The system of claim 13, wherein said thread of execution contains a thread local storage with a pointer to said cache object.
-
16. The system of claim 13, wherein:
-
said one or more processors are part of an integrated Identity System And Access System; and
said data store entry in said data store includes Identity data.
-
-
17. The system of claim 13, wherein said cache object is not updated in response to entries in said data store being changed in response to requests other than said request assigned to said thread of execution.
-
18. A method for caching data associated with entries in a data store accessed in response to a request assigned to a thread of execution, said method comprising the steps of:
-
(a) determining that a first command arising from said request calls for access to a data store entry in said data store;
(b) accessing a first entry in a cache object in response to said first command, wherein said first entry corresponds to said data store entry, wherein said cache object is not stored in said data store;
wherein said cache object is associated with said thread of execution, wherein said thread of execution contains a thread local storage with a pointer to said cache object, wherein said cache object is only accessed in response to commands arising from said request assigned to said thread of execution, wherein said first command calls for writing a value to said data store entry, and wherein said step (b) includes the steps of;
(1) writing said value to said first entry in said cache object, and (2) writing said value to said data store entry;
(c) retrieving said value from said first entry in said cache object in response to a second command arising from said request, wherein said second command calls for a query from said data store entry; and
(d) destroying said cache object in response to said request being completed. - View Dependent Claims (19)
-
-
20. A method for caching data associated with entries in a data store, comprising:
-
receiving a particular request at an Identity System, said particular request calls for said Identity System to access a particular Identity System data entry in said data store;
assigning a cache for said particular request, said cache is accessible to said particular request but not accessible to other requests, said cache is separate from said data store; and
accessing a particular entry in said cache in response to said particular request calling for said Identity System to access said particular Identity System data entry in said data store, said particular entry in said cache corresponds to said particular Identity System data entry in said data store. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28)
said step of assigning is performed after said step of receiving and prior to said particular request calling for said Identity System to access said particular Identity System data entry in said data store.
-
-
22. A method according to claim 20, wherein:
said particular request calling for said Identity System to access said particular Identity System data entry in said data store includes providing a query.
-
23. A method according to claim 20, wherein:
-
said particular request calling for said Identity System to access said particular Identity System data entry in said data store includes requesting that particular Identity System data entry be written to said data store; and
said step of accessing said particular entry in said cache includes writing particular entry in said cache.
-
-
24. The method of claim 20, further comprising:
destroying said cache in response to said particular request being completed.
-
25. The method of claim 20, wherein:
said data store is accessible to an Access System.
-
26. The method of claim 20, wherein:
said Identity System is integrated with an Access System.
-
27. The method of claim 20, further comprising:
-
determining that said cache does not contain said particular entry in said cache; and
creating said particular entry in said cache.
-
-
28. The method of claim 20, wherein:
said cache is not updated in response to entries in said data store being changed in response to requests other than said particular request.
-
29. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
-
receiving a particular request at an Identity System, said particular request calls for said Identity System to access a particular Identity System data entry in a data store;
assigning a cache for said particular request, said cache is accessible to said particular request but not accessible to other requests, said cache is separate from said data store; and
accessing a particular entry in said cache in response to said particular request calling for said Identity System to access said particular Identity System data entry in said data store, said particular entry in said cache corresponds to said particular Identity System data entry in said data store. - View Dependent Claims (30, 31, 32)
destroying said cache upon termination of said particular request.
-
-
31. One or more processor readable storage devices of claim 29, wherein:
said Identity System is integrated with an Access System.
-
32. One or more processor readable storage devices of claim 29, wherein:
said cache is not updated in response to entries in said data store being changed in response to requests other than said particular request.
-
33. An Identity System, in communication with a data store, that caches data associated with entries in said data store, comprising:
-
a communication interface;
one or more storage devices; and
one or more processors in communication with said one or more storage devices and said communication interface, wherein said one or more processors perform a method comprising;
receiving a particular request, said particular request calls for said Identity System to access a particular Identity System data entry in said data store, assigning a cache for said particular request, said cache is accessible to said particular request but not accessible to other requests, said cache resides in said one or more storage devices and is separate from said data store, and accessing a particular entry in said cache in response to said particular request calling for said Identity System to access said particular Identity System data entry in said data store, said particular entry in said cache corresponds to said particular Identity System data entry in said data store. - View Dependent Claims (34, 35, 36)
destroying said cache upon termination of said particular request.
-
-
35. The Identity System according to claim 33, wherein:
said Identity System is integrated with an Access System.
-
36. The Identity System according to claim 33, wherein:
said cache is not updated in response to entries in said data store being changed in response to requests other than said particular request.
Specification