Caching framework for a multi-tenant identity and data security management cloud service
AssigneeOracle International Corporation
InventorsLokesh Gupta, Ashutosh Pitre
Life of this patent
Estimating the term…
Abstract
A caching framework for a multi-tenant cloud-based system includes a plurality of microservices, a global cache that implements a global namespace, and a plurality of tenant caches, each tenant cache corresponding to a different tenant of the multi-tenant cloud-based system. The framework further includes a common module corresponding to each of the microservices and comprising a cache application programming interface (API), and a cache module comprising a service provider interface (SPI) adapted to connect to a distributed remote cache.
Claims20
A caching framework for a multi-tenant cloud-based system comprising:
- one or more hardware processors that execute instructions to implement the caching framework comprising:
- a plurality of microservices;
- a global cache that implements a global namespace;
- a plurality of tenant caches, each tenant cache corresponding to a different tenant of the multi-tenant cloud-based system;
- a common module corresponding to each of the microservices, the common module comprising a cache application programming interface (API) and a remote API proxy;
- and
- a cache module comprising a service provider interface (SPI) adapted to connect to a distributed remote cache;
- wherein each microservice has compile time dependency on its respective common module and has run time dependency on the cache module so that the common module facilitates changes in the distributed remote cache;
- wherein the one or more processors, in response to a request from a client, comprising a call to a first cache API that identifies a first microservice, for a resource comprising metadata, determine, by the remote API proxy, whether the resource is indicated as cacheable based on the metadata, and if cacheable whether the resource is cached in a near cache or in the distributed remote cache, wherein the remote cache is external of the first microservice and the remote API proxy establishes a connection with the distributed remote cache;
- based on the determination by the remote API proxy, provide the resource to the client from one of an administration microservice, the near cache or the distributed remote cache.
A non-transitory computer readable medium having instructions stored thereon that, when executed by one or more processors, cause the processors to implement a caching framework for a multi-tenant cloud-based system, the caching framework comprising:
- a plurality of microservices;
- a global cache that implements a global namespace;
- a plurality of tenant caches, each tenant cache corresponding to a different tenant of the multi-tenant cloud-based system;
- a common module corresponding to each of the microservices, the common module comprising a cache application programming interface (API) and a remote API proxy;
- and
- a cache module comprising a service provider interface (SPI) adapted to connect to a distributed remote cache;
- wherein each microservice has compile time dependency on its respective common module and has run time dependency on the cache module so that the common module facilitates changes in the distributed remote cache;
- wherein the one or more processors, in response to a request from a client, comprising a call to a first cache API that identifies a first microservice, for a resource comprising metadata, determine, by the remote API proxy, whether the resource is indicated as cacheable based on the metadata, and if cacheable whether the resource is cached in a near cache or in the distributed remote cache, wherein the remote cache is external of the first microservice and the remote API proxy establishes a connection with the distributed remote cache;
- based on the determination by the remote API proxy, provide the resource to the client from one of an administration microservice, the near cache or the distributed remote cache.
A method executing by one or more processors of providing a caching framework for a multi-tenant cloud-based system comprising:
- generating a plurality of microservices, each of the microservices having access to a global cache that implements a global namespace and a plurality of tenant caches, each tenant cache corresponding to a different tenant of the multi-tenant cloud-based system;
- generating a common module corresponding to each of the microservices, the common module comprising a cache application programming interface (API) and a remote API proxy;
- and
- generating a cache module comprising a service provider interface (SPI) adapted to connect to a distributed remote cache;
- wherein each microservice has compile time dependency on its respective common module and has run time dependency on the cache module so that the common module facilitates changes in the distributed remote cache;
- wherein the one or more processors, in response to a request from a client, comprising a call to a first cache API that identifies a first microservice, for a resource comprising metadata, determine, by the remote API proxy, whether the resource is indicated as cacheable based on the metadata, and if cacheable whether the resource is cached in a near cache or in the distributed remote cache, wherein the remote cache is external of the first microservice and the remote API proxy establishes a connection with the distributed remote cache;
- based on the determination by the remote API proxy, providing the resource to the client from one of an administration microservice, the near cache or the distributed remote cache.
Dependencies are inferred from the claim text.