Data caching policy in multiple tenant enterprise resource planning system
View Patent ↗A cache manager application provides a data caching policy in a multiple tenant enterprise resource planning (ERP) system. The cache manager application manages multiple tenant caches in a single process. The application applies the caching policy. The caching policy optimizes system performance compared to local cache optimization. As a result, tenants with high cache consumption receive a larger portion of caching resources.
1. A method executed on a computing device to provide a data caching policy in a server of a multiple tenant Enterprise Resource Planning (ERP) system, the method comprising:
receiving the data caching policy associated with a removal of cached items from a shared cache of the server;
monitoring status of the cached items and a total consumed cache memory;
ranking the cached items based on the data caching policy evaluating attributes associated with the cached items including a frequency of an access, a last time of an access, and one or more of: an expense to re-compute, an association with one of the shared cache, and attributes of an associated tenant; and
in response to detecting the total consumed cache memory exceeding a predefined limit, removing one or more of the cached items from the shared cache based on the data caching policy.
2. The method of claim 1 , further comprising:
ordering the cached items based on access associated with each of the cached items based on a determination of a least recently used (LRU) caching policy as the data caching policy.
3. The method of claim 2 , further comprising:
ranking one of the cached items with a timestamp furthest from a current time as a LRU cached item.
4. The method of claim 3 , further comprising:
removing the LRU cached item in response to detecting the total consumed cache memory exceeding the predefined limit.
5. The method of claim 2 , further comprising:
ranking one of the cached items with a timestamp nearest to a current time as a most recently used (MRU) cached item.
6. The method of claim 1 , further comprising:
ordering the cached items based on a frequency of access associated with each of the cached items based on a determination of a least frequently used (LFU) caching policy as the data caching policy.
7. The method of claim 6 , further comprising:
ranking one of the cached items as a LFU cached item, wherein the LFU cached item has a lowest frequency of use compared to other cached items.
8. The method of claim 7 , further comprising:
removing the LFU cached item in response to detecting the total consumed cache memory exceeding the predefined limit.
9. The method of claim 1 , further comprising:
removing the one or more cached items from a bottom of the ranked cached items.
10. A server to provide a data caching policy in a multiple tenant Enterprise Resource Planning (ERP) system, the server comprising:
a memory;
a processor coupled to the memory, the processor executing a cache manager application in conjunction with instructions stored in the memory, wherein the cache manager application is configured to:
receive the data caching policy associated with removal of cached items from a shared cache of the server;
monitor status of the cached items and a total consumed cache memory;
rank the cached items based on the data caching policy evaluating attributes associated with the cached items including a frequency of an access, a last time of an access, and one or more of: an expense to re-compute, an association with one of the shared cache, and attributes of an associated tenant; and
in response to detecting the total consumed cache memory exceeding a predefined limit, remove one or more cached items from the shared cache based on the data caching policy.
11. The server of claim 10 , wherein the cache manager application is further configured to:
provide an application programming interface (API) to enable tenants to interact with the shared cache through a registration operation.
12. The server of claim 11 , wherein the cache manager is further configured to:
parameterize the registration operation by one of the cached items that has been added to the shared cache.
13. The server of claim 10 , wherein the cache manager application is further configured to:
provide an application programming interface (API) to enable tenants to interact with the shared cache through a de-registration operation.
14. The server of claim 13 , wherein the cache manager application is further configured to:
parameterize the de-registration operation by one of the cached items that has been removed from the shared cache.
15. The server of claim 10 , wherein the cache manager application is further configured to:
provide an application programming interface (API) to enable tenants to interact with the shared cache through an accessed item notification operation.
16. The server of claim 15 , wherein the cache manager application is further configured to:
parameterize the accessed item notification operation by one of the cached items that has been accessed within the shared cache through a lookup operation.
17. A method executed on a computing device to provide a data caching policy in a server of a multiple tenant Enterprise Resource Planning (ERP) system, the method comprising:
receiving the data caching policy associated with removal of cached items from a shared cache of the server;
monitoring status of the cached items and a total consumed cache memory;
ranking the cached items based on the data caching policy evaluating attributes associated with the cached items including a frequency of an access, a last time of an access, and one or more of: an expense to re-compute, an association with one of the shared cache, and attributes of an associated tenant; and
in response to detecting the total consumed cache memory exceeding a predefined limit, removing one or more cached items from the shared cache based on the data caching policy.
18. The method of claim 17 , further comprising:
ordering the cached items based on a timestamp of access associated with each of the cached items based on a determination of a least recently used (LRU) caching policy as the data caching policy;
ranking one of the cached items with a timestamp furthest from a current time as a LRU cached item; and
removing the LRU cached item in response to detecting the total consumed cache memory exceeding the predefined limit.
19. The method of claim 17 , further comprising:
ordering the cached items based on a frequency of access associated with each of the cached items based on a determination of a least frequency used (LFU) caching policy as the data caching policy;
ranking one of the cached items as a LFU cached item, wherein the LFU cached item has a lowest frequency of use compared to other cached items; and
removing the LFU cached item in response to detecting the total consumed cache memory exceeding the predefined limit.