IP Library Granted Patent US 9,009,409
Granted Patent B2
US 9,009,409 · App. 13/181,299 · Granted Apr 14, 2015

Cache region concept

Inventors: Galin Galchev (Sofia, BG); Frank Kilian (Mannheim, DE); Oliver Luik (Wiesloch, DE); Dirk Marwinski (Heidelberg, DE); Petio G. Petev (Sofia, BG)
Assignee: SAP SE
G06F12/084G06F12/0842G06F12/121G06F9/455G06F12/0253G06F12/0866
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,009,409
App. No.
13/181,299
Granted
Apr 14, 2015
Kind
B2
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.

Claims (45)

1. A system comprising:

a cache manager to:

receive a request to store an object in a memory cache associated with an application that is running on a plurality of virtual machines, a first virtual machine of the plurality of virtual machines having a local memory cache and a shared memory cache, the local memory cache being private to the first virtual machine, the shared memory cache being shared by the first virtual machine and a second virtual machine of the plurality of virtual machines;

determine that a cache region of the memory cache is associated with a storage policy, the storage policy specifying that objects to be stored in the cache region are to be stored in the local memory cache and that a garbage collector is not to remove objects stored in the cache region from the local memory cache;

identify that the object has no potential for storage in the shared memory cache; and

store the object in the cache region of the memory cache based on the determining that the cache region is associated with the storage policy and the identifying that the object has no potential for storage in the shared memory cache.

2. The system of claim 1 , wherein the cache manager is further to establish a hard reference to the object, an identification of the hard reference by the garbage collector to prevent the garbage collector from removing the object from the local memory cache regardless of a lack of a use of the object by the application.

3. The system of claim 2 , wherein the cache manager is further to ignore the hard reference and evict the object from the local memory cache based on an eviction policy associated with the cache region.

4. The system of claim 1 , wherein the cache manager is farther to write the object through to a storage resource having a higher latency than the local memory cache based on the storage policy specifying that objects stored in the cache region are to be written through to a deeper storage.

5. The system of claim 4 , wherein the storage resource is a local memory associated with the local memory cache.

6. The system of claim 1 , wherein the cache manager is farther to:

receive a request to store an additional object in the memory cache associated with the application;

determine that an additional cache region of the memory cache is associated with an additional storage policy, the additional storage policy specifying that a garbage collector is to be enabled to remove additional objects from the additional cache region based on a lack of use of the additional objects by the application;

predict a level of use of the additional object relative to the object; and

store the additional object in the additional cache region based on the determining that the additional cache region is associated with the additional storage policy and the predicting of the level of use of the additional object relative to the object.

7. The system of claim 6 , further wherein the cache manager is further to establish a soft reference to the additional object, an identification of the soft reference by the garbage collector to enable the garbage collector to remove the second object based on an invoking of an eviction process.

8. A method comprising:

receiving a request to store an object in a memory cache associated with an application that is running on a plurality of virtual machines, a first virtual machine of the plurality of virtual machines having a local memory cache and a shared memory cache, the local memory cache being private to the first virtual machine, the shared memory cache being shared by the first virtual machine and a second virtual machine of the plurality of virtual machines;

determining that a cache region of the memory cache is associated with a storage policy, the storage policy specifying that objects to be stored in the cache region are to be stored in the local memory cache and that a garbage collector is not to remove objects stored in the cache region from the local memory cache;

identifying that the object has no potential for storage in the shared memory cache; and

storing the object in the cache region of the memory cache based on the determining that the cache region is associated with the storage policy and the identifying that the object has no potential for storage in the shared memory cache.

9. The method of claim 1 , further comprising establishing a hard reference to the object, an identification of the hard reference by the garbage collector to prevent the garbage collector from removing the object from the local memory cache regardless of a lack of a use of the object by the application.

10. The method of claim 9 , further comprising ignoring the hard reference and evicting the object from the local memory cache based on an eviction policy associated with the cache region.

11. The method of claim 8 , further comprising writing the object through to a storage resource having a higher latency than the local memory cache based on the storage policy specifying that objects stored in the cache region are to be written through to a deeper storage.

12. The method of claim 11 , wherein the storage resource is a local memory associated with the local memory cache.

13. The method of claim 8 , further comprising:

receiving a request to store an additional object in the memory cache associated with the application; and

determining that an additional cache region of the memory cache is associated with an additional storage policy, the additional storage policy specifying that a garbage collector is to be enabled to remove additional objects from the additional cache region based on a lack of use of the additional objects by the application;

predicting, a level of use of the additional object relative to the object; and

storing the additional object in the additional cache region based on the determining that the additional cache region is associated with the additional storage policy and the predicting of the level of use of the additional object relative to the object.

14. The method of claim 13 , further comprising establishing a soft reference to the additional object, an identification of the soft reference by the garbage collector to enable the garbage collector to remove the additional object based on an invoking of an eviction process.

15. A non-transitory machine-readable storage medium comprising instructions that, when executed by a processor of a machine, cause the machine to perform operations comprising:

receiving a request to store an object in a memory cache associated with an application that is running on a plurality of virtual machines, a first virtual machine of the plurality of virtual machines having a local memory cache and a shared memory cache, the local memory cache being private to the first virtual machine, the shared memory cache being shared by the first virtual machine and a second virtual machine of the plurality of virtual machines;

determining that a cache region of the memory cache is associated with a storage policy, the storage policy specifying that objects to be stored in the cache region are to be stored in the local memory cache and that a garbage collector is not to remove objects stored in the cache region from the local memory cache;

identifying that the object has no potential for storage in the shared memory cache; and

storing the object in the cache region of the memory cache based on the determining that the cache region is associated with the storage policy and the identifying that the object has no potential for storage in the shared memory cache.

16. The non-transitory machine-readable storage medium of claim 15 , further comprising establishing a hard reference to the object, an identification of the hard reference by the garbage collector to prevent the garbage collector from removing the object from the local memory cache regardless of a lack of a use of the object by the application.

17. The non-transitory machine-readable storage medium of claim 15 , the method further comprising ignoring the hard reference and evicting the object from the local memory cache based on an eviction policy associated with the cache region.

18. The non-transitory machine-readable storage medium of claim 15 , the method further comprising writing the object through to a storage resource having a higher latency than the local memory cache based on the storage policy specifying that objects stored in the cache region are to be written through to a deeper storage.

19. The non-transitory machine-readable storage medium of claim 18 , wherein the storage resource is a local memory associated with the local memory cache.

20. The non-transitory machine-readable storage medium of claim 15 , the method further comprising:

receiving a request to store an additional object in the memo cache associated with the application; and

determining that an additional cache region of the memory cache is associated with an additional storage policy, the additional storage policy specifying that a garbage collector is to be enabled to remove additional objects from the additional cache region based on a lack of use of the additional objects by the application;

predicting a level of use of the additional object relative to the object; and

storing the additional object in the additional cache region based on the determining that the additional cache region is associated with the additional storage policy and the predicting, of the level of use of the additional object relative to the object.

Assignments (1)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
Continuity (3)
Continuation 12831918 · Jul 7, 2010
Continuation 11024554 · Dec 28, 2004
Related Publication 20140156938A1 · Jun 5, 2014