In-memory caching of shared customizable multi-tenant data
First Claim
1. A method to be executed at least in part in a computing device for handling customizable data in a multi-tenant environment, the method comprising:
- receiving a request for data from a tenant;
determining whether an entry associated with the requested data is stored in a cache store;
if the entry is stored and is a delete sentinel, providing a notice of non-existent data to the requesting tenant;
if the entry is stored and is a system sentinel, retrieving requested system data from the cache store and providing the data to the requesting tenant; and
if the entry is stored and is the requested data that is customized for the tenant, providing the customized requested data to the requesting tenant.
2 Assignments
0 Petitions
Accused Products
Abstract
In a multi-tenant data sharing environment with shared, customizable data attributes are assigned to requested data and stored in a cache store along with the requested data. For non-customized data designated as system data, one copy is stored in the cache store for use by multiple tenants allowing optimization of memory and performance for each data request/retrieval operation. A “delete sentinel” attribute may be assigned to non-existing data in the cache store enabling notification of requesting tenant(s) without a need to access the tenant data store each time a request for the non-existing data is received.
85 Citations
20 Claims
-
1. A method to be executed at least in part in a computing device for handling customizable data in a multi-tenant environment, the method comprising:
-
receiving a request for data from a tenant; determining whether an entry associated with the requested data is stored in a cache store; if the entry is stored and is a delete sentinel, providing a notice of non-existent data to the requesting tenant; if the entry is stored and is a system sentinel, retrieving requested system data from the cache store and providing the data to the requesting tenant; and if the entry is stored and is the requested data that is customized for the tenant, providing the customized requested data to the requesting tenant. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for handling customizable data in a multi-tenant business application environment, comprising:
-
a cache memory; a processor coupled to the memory, wherein the processor is configured to execute program modules including; a caching module configured to; determine whether an entry associated with the requested record is stored in the cache memory; provide a notice of non-existent record to the requesting tenant responsive to determining that the entry is stored and is a delete sentinel; retrieve the requested record from the cache memory and provide to the requesting tenant responsive to determining that the entry is stored and is a system sentinel, wherein a single copy of the record is stored in the cache memory for any requesting tenant; and provide the customized requested record to the requesting tenant responsive to determining that the entry is stored and is the requested record customized for the tenant. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium with instructions stored thereon for handling customizable data in a multi-tenant business application environment, the instructions comprising:
-
determining whether an entry associated with requested data is stored in a cache store in response to receiving a request for data from a tenant; if the entry is stored and is a delete sentinel, providing a notice of non-existent data to the requesting tenant; if the entry is stored and is a system sentinel, making the requested data available to a plurality of requesting tenants without retrieving the data from a tenant data store for each request; and if the entry is stored and is the requested data that is customized for the tenant, making the customized data available only to the requesting tenant. - View Dependent Claims (18, 19, 20)
-
Specification