Optimizing data cache when applying user-based security
First Claim
1. A secure caching method comprising:
- receiving a user request for data and a security context which indicates a role of a user and a corresponding at least one dimension of data organized in hierarchical levels, wherein the security context defines access rights to a data source;
searching a cache for the requested data based on the user request and the received security context, wherein the searching comprises determining whether the received security context is present with the received corresponding at least one dimension in a list of at least one lists which identifies data stored in the cache;
if the requested data is found in the cache, returning the cached data in response to the user request, andif the requested data is not found in the cache, obtaining the requested data from the data source, storing the obtained data in the cache and associating the obtained data with the security context, and returning the requested data in response to the user request.
1 Assignment
0 Petitions
Accused Products
Abstract
A secure caching system and caching method include receiving a user request for data, the request containing a security context, and searching a cache for the requested data based on the user request and the received security context. If the requested data is found in cache, returning the cached data in response to the user request. If the requested data is not found in cache, obtaining the requested data from a data source, storing the obtained data in the cache and associating the obtained data with the security context, and returning the requested data in response to the user request. The search for the requested data can include searching for a security list that has the security context as a key, the security list including an address in the cache of the requested data.
25 Citations
29 Claims
-
1. A secure caching method comprising:
-
receiving a user request for data and a security context which indicates a role of a user and a corresponding at least one dimension of data organized in hierarchical levels, wherein the security context defines access rights to a data source; searching a cache for the requested data based on the user request and the received security context, wherein the searching comprises determining whether the received security context is present with the received corresponding at least one dimension in a list of at least one lists which identifies data stored in the cache; if the requested data is found in the cache, returning the cached data in response to the user request, and if the requested data is not found in the cache, obtaining the requested data from the data source, storing the obtained data in the cache and associating the obtained data with the security context, and returning the requested data in response to the user request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A secure caching method in a system connected to a user and a data source, the method comprising:
-
receiving a user request and a security context which indicates a role of the user and a corresponding at least one dimension of data organized in hierarchical levels and a data identifier, wherein the security context defines access rights to the data source; checking in a list storage for the presence of a list identified by the security context and the data identifier; and if the list is not present, creating a list in the list storage identified by the security context and the data identifier, retrieving data from the data source, and storing the retrieved data in a data storage, and populating the created list with addresses of storage of the retrieved data stored in the data storage; and if the list is present, determining whether the received security context is present with the received corresponding at least one dimension in the list and retrieving data from the data storage using the storage addresses in said list. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A caching system comprising:
-
a processor executing software modules; and a memory storing the software modules, wherein the software modules comprise; a receiver module which receives a user request for data and a security context which indicates a role of a user and a corresponding at least one dimension of data organized in hierarchical levels, wherein the security context defines access rights to a data source; a search module which searches a cache for the requested data based on the user request and the received security context, wherein the search module determines whether the received security context is present with the received corresponding at least one dimension in a list of at least one lists which identifies data stored in the cache; a management module which obtains the cached data in response to the user request if the requested data is found in the cache, wherein if the requested data is not found in the cache, the management module obtains the requested data from the data source, stores the obtained data in the cache and associates the obtained data with the security context, and returns the requested data in response to the user request. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A non-transitory computer-readable medium storing instructions for secure caching, the instructions comprising:
-
receiving a user request for data and a security context which indicates a role of a user and a corresponding at least one dimension of data organized in hierarchical levels, wherein the security context defines access rights to a data source; searching a cache for the requested data based on the user request and the received security context, wherein the searching comprises determining whether the received security context is present with the received corresponding at least one dimension in a list of at least one lists which identifies data stored in the cache; if the requested data is found in the cache, returning the cached data in response to the user request, and if the requested data is not found in the cache, obtaining the requested data from the data source, storing the obtained data in the cache and associating the obtained data with the security context, and returning the requested data in response to the user request. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification