Custom caching
AssigneeeBay Inc.
InventorsChristopher J. Kasten, Greg Seitz
Life of this patent
Estimating the term…
Abstract
Methods and systems are presented for custom caching. Application threads define caches. The caches may be accessed through multiple index keys, which are mapped to multiple application thread-defined keys. Methods provide for the each index key and each application thread-defined key to be symmetrical. The index keys are used for loading data from one or more data sources into the cache stores on behalf of the application threads. Application threads access the data from the cache store by providing references to the caches and the application-supplied keys. Some data associated with some caches may be shared from the cache store by multiple application threads. Additionally, some caches are exclusively accessed by specific application threads.
Claims7
A method, comprising:
- acquiring, from an application, a key manager for a cache;
- loading a cache store by using potentially multiple unique key definitions acquired from the key manager with each portion of data as portions of the data is loaded into the cache store;
- receiving for each portion, during the loading, one or more keys into an index associated with the cache store;
- storing, during the receiving, a reference to the data as an entry value that is associated with each key within the index;
- receiving, from a different thread of the application, a specific key into the index along with the reference to the cache;
- and
- returning, to the different thread, the data acquired by traversing the reference located at its entry value.
A system, including:
- a key manager;
- a cache manager;
- a cache entry loader;
- and
- a cache loader, wherein the cache manager creates instances of caches for application threads, the key manager manages key definitions associated with the caches, and the key definitions create a key into an index of the cache store for each portion of data loaded by the cache entry loader, the cache entry loader loads data into the cache store and populates the index with the keys, each key entry having a reference to the loaded data within the cache store, the cache loader acquires the data from one or more data sources, and wherein an instance of one of the caches retrieves or writes information to and from the cache store in response to application thread supplied references to the caches and application thread supplied keys which match one of the keys created by the key definitions.
Dependencies are inferred from the claim text.