System and method for providing a shareable global cache for use with a database environment
First Claim
Patent Images
1. A system for providing a global cache for use with a database environment, the system comprising:
- a computer including a processor;
a database that includes a plurality of database instances, wherein each of the plurality of database instances hosts one or more services;
an application server on the computer, wherein the application server includesa plurality of data sources and a plurality of connection caches, wherein each data source is associated with a connection cache that includes a plurality of connections, anda global cache shared by the plurality of data sources, wherein the global cache includes a plurality of connections,wherein each connection in the plurality of connection caches and the global cache is configured for a service hosted on one or more instances of the plurality of database instances; and
whereupon receiving, at one of the plurality of data sources, a request for a service, the systemdetermines that an idle connection configured for the requested service is not available in the connection cache associated with the data source that receives the request or in the global cache,identifies, from the plurality of database instances, a database instance that hosts the requested service;
locates, within the global cache, an idle connection configured for a different service on the identified database instance,repurposes the idle connection configured for the different service, wherein the repurposing includes switching the different service which the idle connection is configured for to the requested service, anddirects the request to the requested service on the identified database instance using the repurposed idle connection.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein is a system and method for providing a shareable global cache for use with a database environment. In accordance with an embodiment, a shareable global cache is used for caching connections to database instances. When a request is received for a particular service, the system looks for an idle connection to that service, and, if none is available, locates an existing connection to a database instance serving that service and switches a service on the existing connection to that service.
42 Citations
20 Claims
-
1. A system for providing a global cache for use with a database environment, the system comprising:
-
a computer including a processor; a database that includes a plurality of database instances, wherein each of the plurality of database instances hosts one or more services; an application server on the computer, wherein the application server includes a plurality of data sources and a plurality of connection caches, wherein each data source is associated with a connection cache that includes a plurality of connections, and a global cache shared by the plurality of data sources, wherein the global cache includes a plurality of connections, wherein each connection in the plurality of connection caches and the global cache is configured for a service hosted on one or more instances of the plurality of database instances; and whereupon receiving, at one of the plurality of data sources, a request for a service, the system determines that an idle connection configured for the requested service is not available in the connection cache associated with the data source that receives the request or in the global cache, identifies, from the plurality of database instances, a database instance that hosts the requested service; locates, within the global cache, an idle connection configured for a different service on the identified database instance, repurposes the idle connection configured for the different service, wherein the repurposing includes switching the different service which the idle connection is configured for to the requested service, and directs the request to the requested service on the identified database instance using the repurposed idle connection. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for providing a global cache for use with a database environment, the method comprising:
-
providing an application server executing on a microprocessor, wherein the application server includes a plurality of data sources and a plurality of connection caches, wherein each data source is associated with a connection cache that includes a plurality of connections, and a global cache, which includes a plurality of connections, wherein each connection in the plurality of connection caches and the global cache is configured for a service hosted on one or more database instances of a plurality of database instances in a database; receiving, at one of the plurality of data sources, a request for a service; determining that an idle connection configured for the requested service is not available in the connection cache associated with the data source that receives the request or in the global cache; identifying, from the plurality of database instances, a database instance that hosts the requested service; locating, within the global cache, an idle connection configured for a different service on the identified database instance; repurposing the idle connection configured for the different service, wherein the repurposing includes switching the different service which the idle connection is configured for to the requested service; and directing the request to the requested service on the identified database instance using the repurposed idle connection. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more microprocessors cause the one or more microprocessors to perform the steps comprising:
-
configuring an application server to include a plurality of data sources and a plurality of connection caches, wherein each data source is associated with a connection cache that includes a plurality of connections, and a global cache, which includes a plurality of connections, wherein each connection in the plurality of connection caches and the global cache is configured for a service hosted on one or more database instances of a plurality of database instances in a database; receiving, at one of the plurality of data sources, a request for a service; determining that an idle connection configured for the requested service is not available in the connection cache associated with the data source that receives the request or in the global cache; identifying, from the plurality of database instances, a database instance that hosts the requested service; locating, within the global cache, an idle connection configured for a different service on the identified database instance; repurposing the idle connection configured for the different service, wherein the repurposing includes switching the different service which the idle connection is configured for to the requested service; and directing the request to the requested service on the identified database instance using the repurposed idle connection. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification