Cache region concept
US-9009409-B2 · Apr 14, 2015 · US
US10007608B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10007608-B2 |
| Application number | US-201514671890-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 27, 2015 |
| Priority date | Dec 28, 2004 |
| Publication date | Jun 26, 2018 |
| Grant date | Jun 26, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method to store objects in a memory cache is disclosed. A request is received from an application to store an object in a memory cache associated with the application. The object is stored in a cache region of the memory cache based on an identification that the object has no potential for storage in a shared memory cache and a determination that the cache region is associated with a storage policy that specifies that objects to be stored in the cache region are to be stored in a local memory cache and that a garbage collector is not to remove objects stored in the cache region from the local memory cache.
Opening claim text (preview).
The invention claimed is: 1. A method comprising: configuring an application to cache objects according to different caching treatments, each of the different caching treatments associated with different regions of a cache, said configuring comprising installing a different combination of storage plug-ins and eviction policy plugins for each different region of the cache, each of said storage plug-ins comprising code to perform get operations and put operations, the get operations configured to move objects from the region to one or more locations outside of the cache in accordance with the caching treatment associated with the region, the put operations configured to move objects to the region from the one or more locations outside of the cache in accordance with the caching treatment, each of said eviction policy plug-ins comprising code to perform cache eviction operations based on a sorting component and an eviction timing component, the sorting component implementing a sorting queue for identifying an object that is to be evicted from the region in accordance with the caching treatment, the eviction timing component determining when the identified object is to be removed from the region in accordance with the caching treatment based on a first threshold level and a second threshold level, the eviction timing component removing the identified object at a predetermined time interval in response to a count of objects in the sorting queue exceeding the first threshold level of a plurality of threshold levels, the eviction timing component removing the identified object when an additional object is added to the sorting queue in response to the count of objects in the sorting queue exceeding the second threshold level of the plurality of threshold levels, the first threshold value being less than the second threshold value with respect to a targeted maximum object count, wherein the region is within a local memory that is private to a virtual machine that executes said code to perform the cache eviction operations. 2. The method of claim 1 , wherein said cache includes a local memory cache. 3. The method of claim 1 , wherein said cache includes a shared memory cache. 4. The method of claim 2 , wherein the cached objects are placed in the local memory cache, the cached objects utilized by a virtual machine associated with the local memory, the local cache residing in the local memory for quick processing by the application. 5. The method of claim 3 , wherein the cached objects are placed in the shared memory for utilization by a plurality of local virtual machines, the plurality of local machines having visibility into the shared memory in which the shared memory cache is implemented. 6. The method of claim 1 , wherein the storage policy plug-in of the cache regions dictates that an object stored in the cache is copied into a persisted storage space in response to the object's removal from the cache. 7. The method of claim 1 , wherein the sorting queue has a type selected from a plurality of types, the plurality of types including at least a least recently used (LRU) queue type, a least frequently used (LFU) queue type, a size-based queue type, and a first in first out (FIFO) queue type. 8. The method of claim 1 , wherein the eviction policy plug-in evicts the object immediately based on the count of the objects in the queue exceeding a third threshold value. 9. A system comprising: multiple virtual machines distributed across multiple central processing units, the multiple virtual machines configured to, at least: configure an application to cache objects according to different caching treatments, each of the different caching treatments associated with different regions of a cache, said configuring comprising installing a different combination of storage plug-ins and eviction policy plug-ins for each different region of the cache, each of said storage plug-ins comprising code to perform get operations and put operations, the get operations configured to move objects from the region to one or more locations outside of the cache in accordance with the caching treatment associated with the region, the put operations configured to move objects to the region from the one or more locations outside of the cache in accordance with the caching treatment, each of said eviction policy plug-ins comprising code to perform cache eviction operations based on a sorting component and an eviction timing component, the sorting component implementing a sorting queue for identifying an object that is to be evicted from the region in accordance with the caching treatment, the eviction timing component determining when the identified object is to be removed from the region in accordance with the caching treatment based on a first threshold level and a second threshold level, the eviction timing component removing the identified object at a predetermined time interval in response to a count of objects in the sorting queue exceeding the first threshold level of a plurality of threshold levels, the eviction timing component removing the identified object when an additional object is added to the sorting queue in response to the count of objects in the sorting queue exceeding the second threshold level of the plurality of threshold levels, the first threshold value being less than the second threshold value with respect to a targeted maximum object count, wherein the region is within a local memory that is private to a virtual machine that executes said code to perform the cache eviction operations. 10. The system of claim 9 , wherein each virtual machine has a local memory space comprising a local memory cache. 11. The system of claim 9 , wherein the virtual machines are configured to use a shared memory in which items are stored that can be accessed by more than one virtual machine that comprises a shared memory cache. 12. The system of claim 10 , wherein cached objects are placed in the local memory cache, the cached objects utilized by a virtual machine associated with the local memory, the local cache residing in the local memory for quick processing by the application. 13. The system of claim 12 , wherein the cached objects are placed in the shared memory for utilization by the local virtual machines, the local machines having visibility into the shared memory in which the shared memory cache is implemented. 14. The system of claim 9 , wherein the storage policy plug-in of the cache regions dictates that an object stored in the local memory cache or shared memory cache is copied into a persisted storage space in response to the object's removal from the cache. 15. The system of claim 9 , wherein the multiple CPUs include at least one pair of a first CPU and a second CPU, wherein the first CPU is configured to run a single virtual machine, and the second CPU of the pair is configured to run a pair of virtual machines. 16. A non-transitory computer-readable medium comprising a set of instructions that, when implemented by at least one processor of a computer system, cause the at least one processor to perform operations comprising: configuring an application to cache objects according to different caching treatments, each of the different caching treatments associated with different regions of a cache, said configuring comprising installing a different combination of storage plug-ins and eviction policy plugins for each different region of the cache, each of said storage plug-ins comprising code to perform get and put operations, each of said eviction policy plug-ins comprising code to perform get operations and put operations, the get opera
for peripheral storage systems, e.g. disk cache · CPC title
using replacement algorithms · CPC title
Partitioned cache · CPC title
with a shared cache · CPC title
for multiprocessing or multitasking · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.