IP Library Granted Patent US 12,635,028
Granted Patent B2
US 12,635,028 · App. 18/465,370 · Granted May 19, 2026

Distributed connection management in cloud system

Inventors: Dabin Feng (Shanghai, CN); Xia Yu (Shanghai, CN)
Assignee: SAP SE
H04W76/20H04W24/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,635,028
App. No.
18/465,370
Granted
May 19, 2026
Kind
B2
Abstract

Methods, systems, and computer-readable storage media for receiving a request that requires a connection to a database, wherein the application server is initially allocated with a set of base connections by a central server; determining that there are available idle connections based on a number of in-use connections and a number of allocated connections; in response to determining that there are available idle connections, assigning an idle connection to the request and updating the number of in-use connections; determining an in-use percentage using the number of in-use connections and the number of allocated connections; and executing one of: requesting new connections from the central server in response to determining that the in-use percentage satisfies an upper percentage threshold, and returning idle connections to the central server in response to determining that the in-use percentage satisfies a lower percentage threshold.

Claims (74)

1 . A computer-implemented method for connection management in database systems, the method being executed by one or more processors and comprising:

receiving, at an application server, a request that requires a connection to a database, wherein the application server is initially allocated with a set of base connections by a central server;

determining that there are available idle connections based on a number of in-use connections and a number of allocated connections;

in response to determining that there are available idle connections, assigning an idle connection to the request and updating the number of in-use connections;

determining an in-use percentage using the number of in-use connections and the number of allocated connections; and

executing one of:

requesting new connections from the central server in response to determining that the in-use percentage satisfies an upper percentage threshold, and

returning idle connections to the central server in response to determining that the in-use percentage satisfies a lower percentage threshold.

2 . The method of claim 1 , wherein the application server is associated with a max connection value that indicates a maximum number of connections that can be allocated to the application server.

3 . The method of claim 1 , further comprising:

receiving new connections from the central server and updating the number of allocated connections, wherein the number of new connections is a predetermined percentage of the number of base connections.

4 . The method of claim 1 , further comprising:

returning idle connections to the central server and updating the number of allocated connections, wherein the number of returned idle connections is a predetermined percentage of the number of base connections.

5 . The method of claim 1 , wherein the central server comprises a central connection pool including a plurality of connections, and the central server allocates connections from the central connection pool to multiple application servers.

6 . The method of claim 5 , wherein the central server is configured to:

receive the request for new connections from the application server;

determine that there are not a sufficient number of available connections in the central connection pool;

in response to determining that there are not a sufficient number of available connections to be allocated, publishing an event to trigger returning of idle connections from other application servers;

receive idle connections from one or more other application servers; and

allocate a set of idle connections to the application server.

7 . The method of claim 6 , wherein the one or more other application servers are configured to:

receive the event for triggering returning of idle connections;

determining an availability of sufficient idle connections to be returned; and

in response to determining that there are sufficient idle connections to be returned, returning a set of idle connections to the central server.

8 . A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for connection management in database systems, the operations comprising:

receiving, at an application server, a request that requires a connection to a database, wherein the application server is initially allocated with a set of base connections by a central server;

determining that there are available idle connections based on a number of in-use connections and a number of allocated connections;

in response to determining that there are available idle connections, assigning an idle connection to the request and updating the number of in-use connections;

determining an in-use percentage using the number of in-use connections and the number of allocated connections; and

executing one of:

requesting new connections from the central server in response to determining that the in-use percentage satisfies an upper percentage threshold, and

returning idle connections to the central server in response to determining that the in-use percentage satisfies a lower percentage threshold.

9 . The non-transitory computer-readable storage medium of claim 8 , wherein the application server is associated with a max connection value that indicates a maximum number of connections that can be allocated to the application server.

10 . The non-transitory computer-readable storage medium of claim 8 , the operations further comprising:

receiving new connections from the central server and updating the number of allocated connections, wherein the number of new connections is a predetermined percentage of the number of base connections.

11 . The non-transitory computer-readable storage medium of claim 8 , the operations further comprising:

returning idle connections to the central server and updating the number of allocated connections, wherein the number of returned idle connections is a predetermined percentage of the number of base connections.

12 . The non-transitory computer-readable storage medium of claim 8 , wherein the central server comprises a central connection pool including a plurality of connections, and the central server allocates connections from the central connection pool to multiple application servers.

13 . The non-transitory computer-readable storage medium of claim 12 , wherein the central server is configured to:

receive the request for new connections from the application server;

determine that there are not a sufficient number of available connections in the central connection pool;

in response to determining that there are not a sufficient number of available connections to be allocated, publishing an event to trigger returning of idle connections from other application servers;

receive idle connections from one or more other application servers; and

allocate a set of idle connections to the application server.

14 . The non-transitory computer-readable storage medium of claim 13 , wherein the one or more other application servers are configured to:

receive the event for triggering returning of idle connections;

determining an availability of sufficient idle connections to be returned; and

in response to determining that there are sufficient idle connections to be returned, returning a set of idle connections to the central server.

15 . A system, comprising:

one or more hardware processors; and

one or more computer memory devices interoperably coupled with the one or more hardware processors and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more hardware processors, perform operations for connection management in database systems, the operations comprising:

receiving, at an application server, a request that requires a connection to a database, wherein the application server is initially allocated with a set of base connections by a central server;

determining that there are available idle connections based on a number of in-use connections and a number of allocated connections;

in response to determining that there are available idle connections, assigning an idle connection to the request and updating the number of in-use connections;

determining an in-use percentage using the number of in-use connections and the number of allocated connections; and

executing one of:

requesting new connections from the central server in response to determining that the in-use percentage satisfies an upper percentage threshold, and

returning idle connections to the central server in response to determining that the in-use percentage satisfies a lower percentage threshold.

16 . The system of claim 15 , wherein the application server is associated with a max connection value that indicates a maximum number of connections that can be allocated to the application server.

17 . The system of claim 15 , the operations further comprising:

receiving new connections from the central server and updating the number of allocated connections, wherein the number of new connections is a predetermined percentage of the number of base connections.

18 . The system of claim 15 , the operations further comprising:

returning idle connections to the central server and updating the number of allocated connections, wherein the number of returned idle connections is a predetermined percentage of the number of base connections.

19 . The system of claim 15 , wherein the central server comprises a central connection pool including a plurality of connections, and the central server allocates connections from the central connection pool to multiple application servers.

20 . The system of claim 19 , wherein the central server is configured to:

receive the request for new connections from the application server;

determine that there are not a sufficient number of available connections in the central connection pool;

in response to determining that there are not a sufficient number of available connections to be allocated, publishing an event to trigger returning of idle connections from other application servers;

receive idle connections from one or more other application servers; and

allocate a set of idle connections to the application server.

21 . The system of claim 20 , wherein the one or more other application servers are configured to:

receive the event for triggering returning of idle connections;

determining an availability of sufficient idle connections to be returned; and

in response to determining that there are sufficient idle connections to be returned, returning a set of idle connections to the central server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2023
From: FENG, DABIN; YU, XIA
To: SAP SE
Reel/Frame 064874/0877 →
Continuity (1)
Related Publication 20250089118A1 · Mar 13, 2025
References Cited (7)
US 11647081B2 · Kasten · 2023 [cited by examiner]
US 20140113653A1 · Wendling · 2014 [cited by examiner]
US 20140204816A1 · Ismail · 2014 [cited by examiner]
CN 109684397 · 2019 [cited by applicant]
CN 105468619 · 2019 [cited by applicant]
EP 2616966B1 · 2019 [cited by examiner]
WO WO2013086447A1 · 2013 [cited by examiner]