IP Library Granted Patent US 10,635,561
Granted Patent B2
US 10,635,561 · App. 15/862,525 · Granted Apr 28, 2020

Techniques and architectures for managing database failure in a single-node database architecture

Inventors: Olumayokun Obembe (Concord, CA); Chen Liu (San Mateo, CA); Ping-Hsiu Hsieh (San Francisco, CA); Ashwini Bijwe (Hayward, CA); Vijayanth Devadhar (Fremont, CA); Mikhail Chainani (San Francisco, CA); Sridevi Gopala Krishnan (Foster City, CA); Alan Arbizu (Foster City, CA); Jesse Collins (Oakland, CA)
Assignee: salesforce.com, inc.
G06F11/3089G06F11/14G06F11/2038G06F11/2048G06F11/2094G06F11/2097G06F11/3664G06F16/21G06F16/2365G06F2201/84
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 10,635,561
App. No.
15/862,525
Granted
Apr 28, 2020
Kind
B2
Abstract

In a computing environment having multiple application servers each having at least one connection agent and at least one pause agent and a database node, detecting an error condition between a first application server from the multiple application servers and the database node. Indicating that the database node is unavailable to stop attempts to access the database node by a first application server. The attempts to access the database node are paused without an indication of the database node being unavailable to a source of the attempt to access the database node. Checking periodically, with the first application server, availability of the database node. Indicating that the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server.

Claims (26)

1. A non-transitory computer-readable medium to provide, in a computing environment having multiple application servers each having at least one connection agent and at least one pause agent, the computing environment to be executed by one or more hardware processing components coupled with at least one memory device, the computing environment further having a database node, instructions that, when executed by one or more processors, are configurable to cause the one or more processors to:

detect an error condition between a first application server from the multiple application servers and the database node;

indicate that the database node is unavailable to stop attempts to access the database node by a first application server, wherein the attempts to access the database node are paused without an indication of the database node being unavailable to a source of the attempt to access the database node;

check periodically, with the first application server, availability of the database node;

indicate that the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server;

provide read-only (RO) access to a backup database node in response to the database node not being available for a pre-selected period of time; and

provide read/write (R/W) access to the backup database in response to the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server.

2. The non-transitory computer-readable medium of claim 1 wherein the error condition comprises a connection between the first application server and the database node being non-responsive.

3. The non-transitory computer-readable medium of claim 1 wherein the error condition comprises the database node being unavailable.

4. The non-transitory computer-readable medium of claim 1 further comprising instructions that, when executed by the one or more processors, are configurable to cause the one or more processors to indicate that the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server.

5. A method in a computing environment having multiple application servers each having at least one connection agent and at least one pause agent, the computing environment to be executed by one or more hardware processing components coupled with at least one memory device, the computing environment further having a database node, the method comprising:

detecting an error condition between a first application server from the multiple application servers and the database node;

indicating that the database node is unavailable to stop attempts to access the database node by a first application server, wherein the attempts to access the database node are paused without an indication of the database node being unavailable to a source of the attempt to access the database node;

checking periodically, with the first application server, availability of the database node;

indicating that the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server;

providing read-only (RO) access to a backup database node in response to the database node not being available for a pre-selected period of time; and

providing read/write (R/W) access to the backup database in response to the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server.

6. The method of claim 5 wherein the error condition comprises a connection between the first application server and the database node being non-responsive.

7. The method of claim 5 wherein the error condition comprises the database node being unavailable.

8. The method of claim 5 further comprising indicating that the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server.

9. A system having multiple application servers each having at least one connection agent and at least one pause agent, the computing environment to be executed by one or more hardware processing components coupled with at least one memory device, the computing environment further having a database node, the system comprising:

one or more memory devices; and

one or more hardware processing components coupled with the one or more memory devices, the one or more hardware processing components configurable to detect an error condition between a first application server from the multiple application servers and the database node, to indicate that the database node is unavailable to stop attempts to access the database node by a first application server, wherein the attempts to access the database node are paused without an indication of the database node being unavailable to a source of the attempt to access the database node, to check periodically, with the first application server, availability of the database node, and to indicate that the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server, to provide read-only (RO) access to a backup database node in response to the database node not being available for a pre-selected period of time, and to provide read/write (R/W) access to the backup database in response to the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server.

10. The system of claim 9 wherein the error condition comprises a connection between the first application server and the database node being non-responsive.

11. The system of claim 9 wherein the error condition comprises the database node being unavailable.

12. The system of claim 9 further comprising indicating that the database node is available in response to a pre-selected number of successful attempts to contact the database node with the first application server.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: OBEMBE, OLUMAYOKUN; LIU, CHEN; HSIEH, PING-HSIU; BIJWE, ASHWINI; DEVADHAR, VIJAYANTH; CHAINANI, MIKHAIL; KRISHNAN, SRIDEVI GOPALA; ARBIZU, ALAN; COLLINS, JESSE
To: SALESFORCE.COM, INC.
Reel/Frame 044823/0764 →