US 12,072,851 B2
System and method for connection concentration in a database environment
Pablo Silberkasten, San Carlos, CA (US); Carol Colrain, Redwood Shores, CA (US); Kevin Neel, San Mateo, CA (US); Michael McMahon, San Francisco, CA (US); Saurabh Verma, Bangalore (IN); and Jean De Lavarene, Versailles (FR)
Assigned to ORACLE INTERNATIONAL CORPORATION, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Aug. 23, 2021, as Appl. No. 17/409,203.
Application 17/409,203 is a continuation of application No. 15/912,856, filed on Mar. 6, 2018, granted, now 11,100,058, issued on Aug. 24, 2021.
Claims priority of provisional application 62/557,041, filed on Sep. 11, 2017.
Claims priority of provisional application 62/557,042, filed on Sep. 11, 2017.
Claims priority of provisional application 62/554,942, filed on Sep. 6, 2017.
Prior Publication US 2021/0382859 A1, Dec. 9, 2021
Int. Cl. G06F 15/16 (2006.01); G06F 1/30 (2006.01); G06F 16/21 (2019.01); G06F 16/2455 (2019.01); G06F 16/25 (2019.01); G06F 16/958 (2019.01); H04L 67/1004 (2022.01); H04L 67/14 (2022.01); H04L 67/141 (2022.01); H04L 67/142 (2022.01); H04L 67/145 (2022.01); H04L 67/5681 (2022.01)
CPC G06F 16/21 (2019.01) [G06F 1/30 (2013.01); G06F 16/2455 (2019.01); G06F 16/252 (2019.01); G06F 16/972 (2019.01); H04L 67/1004 (2013.01); H04L 67/14 (2013.01); H04L 67/141 (2013.01); H04L 67/142 (2013.01); H04L 67/145 (2013.01); H04L 67/5681 (2022.05)] 14 Claims
OG exemplary drawing
 
1. A system for connection concentration, comprising:
a microprocessor, and a software component executing thereon that provides connectivity between client applications and a database environment, including:
providing, for access by the client applications, a plurality of inbound connections that are shareable by the client applications and enable the client applications to communicate requests, via the inbound connections, to the database environment;
providing a plurality of outbound connections that operate to communicate received requests to the database environment;
multiplexing the inbound connections and the outbound connections for use with transaction requests, including maintaining one or more cursor maps for use with the inbound connections associated with the client applications and the outbound connections associated with the database environment;
associating one or more of the inbound connections with an application context associated with a client application and including an application connection identifier; and
selectively mapping the one or more inbound connections associated with the application context with one or more of the outbound connections, based on the application context for the client application and a session state, to provide a mapping of connections associated with the application context;
wherein the software component operates to provide a session abstraction layer for use by the client applications, including that a first client application can use a first driver type to connect to the database environment, and a second client application can use a second driver type to connect to the database environment;
wherein the software component tracks session states, request boundaries, and cursors to reuse database connections across the first and second client applications;
wherein the software component uses the application context, session states, request boundaries, and cursors, to match an application connection to a database connection in a connection pool, wherein in response to a request received from the client application, a request boundary is determined, and a connection pair provided within the mapping of connections associated with the application context is used to process the request, including one of retrieving a requested data from a cache or querying the database environment for the requested data.