Cache region concept
First Claim
Patent Images
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.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
350 Citations
18 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
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. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
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 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 identifying an object that is to be evicted 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. - View Dependent Claims (17, 18)
Specification