IP Library Granted Patent US 11,750,692
Granted Patent B2
US 11,750,692 · App. 17/475,825 · Granted Sep 5, 2023

Connection pool anomaly detection mechanism

Inventors: Olumayokun Obembe (Concord, CA); Da Zhao (San Mateo, CA); Fabio Meireles Fernandez Valbuena (Alpharetta, GA); Ping-Hsiu Hsieh (San Francisco, CA); Xiaodan Wang (Dublin, CA); Vijayanth Devadhar (Fremont, CA); Jason Woods (Toronto, CA); Ashwini Bijwe (Hayward, CA); Yichuan Cai (Bellevue, WA); Paul E. Jatkowski (Clinton Township, MI); Kin Lun Wong (Hillsborough, CA); Sidarth Conjeevaram (San Jose, CA); Zeyu Zheng (Hayward, CA); Jae Young Park (San Francisco, CA)
Assignee: Salesforce, Inc.
H04L67/101G06F11/3006G06F16/252
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 11,750,692
App. No.
17/475,825
Granted
Sep 5, 2023
Kind
B2
Abstract

Techniques and structures to prevent exhaustion of a database connection pool, including retrieving data from the database connection pool, monitoring the data to determine whether the connection pool is at risk of an exhaustion condition, analyzing the data to determine whether one or more clients accessing the database connection pool are offenders upon determining that the connection pool is at risk and throttling access to the one or more clients accessing the database connection pool upon determining the one or more clients to be offenders.

Claims (36)

1. A method to prevent exhaustion of a database connection pool, comprising:

retrieving data from the database connection pool;

analyzing the data to determine whether the database connection pool is at risk, wherein the database connection pool is determined to be at risk upon a determination that utilization of the database connection pool has been at risk in a number of intervals in the multiple intervals in which the data connection pool is analyzed for being at risk; and

throttling access to the database connection pool upon determining the database connection pool has been at risk, wherein:

the database connection pool is determined to be at sustained risk upon a determination that the database connection pool has been at risk for more than a first threshold percentage of the intervals,

the database connection pool is determined to be at intermittent risk upon a determination that the database connection pool has been at risk for more than a second predetermined threshold percentage of the intervals, wherein the second predetermined threshold percentage is less than the first threshold percentage of the intervals, and

a client is determined as a sustained offender upon a determination that the client is an offender having a utilization greater than a third predetermined threshold percentage of the intervals.

2. The method of claim 1 , further comprising determining that a client is an intermittent offender upon a determination that the client is an offender having a client weight greater than a predetermined threshold weight.

3. The method of claim 1 , wherein access is throttled to one or more clients that are accessing the database connection pool based on one or more throttling rules providing throttling conditions including a throttle access rate limit.

4. The method of claim 3 , wherein the access the one or more throttling rules further comprise an expiration date for the throttling conditions.

5. The method of claim 3 , further comprising removing the throttle upon a determination that the connection pool is no longer at risk.

6. The method of claim 1 , wherein the database connection pool is determined to be at risk of a first category upon a determination that utilization of the database connection pool has been at risk based on a first threshold of the intervals, and at risk of a second category upon a determination that utilization of the database connection pool has been at risk based on a second threshold of the intervals.

7. A computing device comprising:

at least one physical memory device to store a connection pool manager; and

one or more processors coupled with the at least one physical memory device, the one or more processors configurable to execute the connection pool manager to:

retrieving data from a database connection pool;

analyzing the data to determine whether utilization of the database connection pool is at risk, wherein the database connection pool is determined to be at risk upon a determination that utilization of the database connection pool has been at risk in a number of intervals in which the data connection pool is analyzed for being at risk; and

throttling access to the database connection pool upon determining the database connection pool has been at risk, wherein:

the database connection pool is determined to be at sustained risk upon a determination that the database connection pool has been at risk for more than a first threshold percentage of the intervals,

the database connection pool is determined to be at intermittent risk upon a determination that the database connection pool has been at risk for more than a second predetermined threshold percentage of the intervals, wherein the second predetermined threshold percentage is less than the first threshold percentage of the intervals, and

a client is determined as a sustained offender upon a determination that the client is an offender having a utilization greater than a third predetermined threshold percentage of the intervals.

8. The computing device of claim 7 , wherein the connection pool manager determines that a client is an intermittent offender upon a determination that the client is an offender having a client weight greater than a predetermined threshold weight.

9. The computing device of claim 7 , wherein the access is throttled to one or more clients that are accessing the database connection pool based on one or more throttling rules providing a throttle access rate limit.

10. The computing device of claim 9 , wherein the connection pool manager removes the throttle upon a determination that the connection pool is no longer at risk.

11. The computing device of claim 9 , wherein the database connection pool is determined to be at risk of a first category upon a determination that utilization of the database connection pool has been at risk based on a first threshold of the intervals, and at risk of a second category upon a determination that utilization of the database connection pool has been at risk based on a second threshold of the intervals.

12. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, are configurable to cause the one or more processors to:

retrieving data from a database connection pool;

analyzing the data to determine whether the database connection pool is at risk, wherein the database connection pool is determined to be at risk upon a determination that utilization of the database connection pool has been at risk in a number of intervals in which the data connection pool is analyzed for being at risk; and

throttling access to the database connection pool upon determining the database connection pool has been at risk, wherein:

the database connection pool is determined to be at sustained risk upon a determination that the database connection pool has been at risk for more than a first threshold percentage of the intervals,

the database connection pool is determined to be at intermittent risk upon a determination that the database connection pool has been at risk for more than a second predetermined threshold percentage of the intervals, wherein the second predetermined threshold percentage is less than the first threshold percentage of the intervals, and

a client is determined as a sustained offender upon a determination that the client is an offender having a utilization greater than a third predetermined threshold percentage of the intervals.

13. The non-transitory computer-readable medium of claim 12 , wherein the access is throttled to one or more clients that are accessing the database connection pool based on one or more throttling rules providing a throttle access rate limit.

14. The non-transitory computer-readable medium of claim 13 , having stored thereon instructions that, when executed by one or more processors, further cause the processors to remove the throttle upon a determination that the connection pool is no longer at risk.

15. The non-transitory computer-readable medium of claim 12 , wherein the database connection pool is determined to be at risk of a first category upon a determination that utilization of the database connection pool has been at risk based on a first threshold of the intervals, and at risk of a second category upon a determination that utilization of the database connection pool has been at risk based on a second threshold of the intervals.

16. The non-transitory computer-readable medium of claim 12 , wherein the connection pool manager determines that a client is an intermittent offender upon a determination that the client is an offender having a client weight greater than a predetermined threshold weight.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0571 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2022
From: OBEMBE, OLUMAYOKUN; ZHAO, DA; FERNANDEZ VALBUENA, FABIO MEIRELES; HSIEH, PING-HSIU; DEVADHAR, VIJAYANTH; WANG, XIAODAN; WOODS, JASON; CAI, YICHUAN; WONG, KIN LUN; JATKOWSKI, PAUL; CONJEEVARAM, SIDARTH; ZHENG, ZEYU; PARK, JAE YOUNG; BIJWE, ASHWINI
To: SALESFORCE.COM, INC.
Reel/Frame 059093/0039 →