IP Library › Granted Patent US 11,645,263
Granted Patent B2
US 11,645,263 · App. 17/454,407 · Granted May 9, 2023

Systems and methods for managing a highly available and scalable distributed database in a cloud computing environment

Inventors: Zhan Chen (Seattle, WA); Zhiyong Huang (Beijing, CN); Bin Dong (Beijing, CN); Chuanchuan Han (Beijing, CN); Junzhao Zhang (Beijing, CN)
Assignee: Coupang Corp.
G06F16/2358G06F11/008G06F11/1425G06F11/2025G06F11/3409G06F16/21G06F16/256
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,645,263
App. No.
17/454,407
Granted
May 9, 2023
Kind
B2
Abstract

Systems and methods for managing a highly available distributed database comprising: a memory storing instructions; and one or more processors configured to execute the instructions to: determine that a source node, in a distributed database comprising the source node and one or more replica nodes, is not available; select a most-updated replica node from the one or more replica nodes; switch a role of the most-updated replica node to source; update a data store to label the source node as unavailable and the selected replica node as being a promoted source node; send a notification to a user device to update a database topology based on the updated data store; determine whether the user device has updated the database topology; and upon determining the user device has not updated the database topology, continue to send the notification to the user device until the user device has updated the database topology.

Claims (45)

1. A computer-implemented system for managing a distributed database, the system comprising:

a memory storing instructions; and

one or more processors configured to execute the instructions to:

determine that a source node, in a distributed database comprising the source node and one or more replica nodes, is not available;

in response to the determination, convert a replica node into a promoted source node;

send a signal to a user device connected to the distributed database, the signal including instructions for the user device to update a database topology log based on the promoted source node;

determine whether the user device has updated the database topology log; and

upon determining the user device has not updated the database topology log, continue to send the signal to the user device until the user device has updated the database topology log.

2. The system of claim 1 , wherein the processor is further configured to:

determine that the source node is available;

update a last seen time in a data store;

wait for a specific time interval; and

determine whether the source node is available.

3. The system of claim 1 , wherein the processor is further configured to:

determine that no replica node may be selected for promotion;

upon the determination, alert the user device.

4. The system of claim 1 , wherein the processor is further configured to, upon determining the user device has updated the database topology log, terminate a previous connection with the user device.

5. The system of claim 1 , wherein determining whether the user device has updated the database topology log comprises checking a data store for a confirmation from the user device.

6. The system of claim 1 , wherein the selected replica node is a most-updated replica node from the one or more replica nodes.

7. The system of claim 1 , wherein the distributed database exists in a cloud computing environment.

8. The system of claim 1 , wherein the signal includes instructions to connect the user device to the promoted source node.

9. The system of claim 1 , wherein the processor is further configured to update a data store to label the source node as unavailable and the selected replica node as being a promoted source node.

10. The system of claim 9 , wherein the data store is a distributed data store comprising a last seen time, database topology labels, and user device data and statistics.

11. A computer-implemented method for managing a distributed database, the method comprising:

determining that a source node, in a distributed database comprising the source node and one or more replica nodes, is not available;

in response to the determination, selecting a replica node from the one or more replica nodes;

converting the selected replica node into a promoted source node;

sending a signal to a user device connected to the distributed database, the signal including instructions for the user device to update a database topology log based on the promoted source node;

determining whether the user device has updated the database topology log; and

upon determining the user device has not updated the database topology log, continuing to send the signal to the user device until the user device has updated the database topology log.

12. The method of claim 11 , further comprising:

determining that the source node is available;

updating a last seen time in a data store;

waiting for a specific time interval; and

determining whether the source node is available.

13. The method of claim 11 , further comprising:

determining that no replica node may be selected for promotion;

upon the determination, alerting the user device.

14. The method of claim 11 , further comprising, upon determining the user device has updated the database topology log, terminating a previous connection with the user device.

15. The method of claim 11 , wherein determining whether the user device has updated the database topology log comprises checking a data store for a confirmation from the user device.

16. The method of claim 11 , wherein the selected replica node is a most-updated replica node from the one or more replica nodes.

17. The method of claim 11 , wherein the distributed database exists in a cloud computing environment.

18. The method of claim 11 , wherein the signal includes instructions to connect the user device to the promoted source node.

19. The method of claim 11 , further comprising updating a data store to label the source node as unavailable and the selected replica node as being a promoted source node.

20. The method of claim 19 , wherein the data store is a distributed data store comprising a last seen time, database topology labels, and user device data and statistics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2021
From: CHEN, ZHAN; HUANG, ZHIYONG; DONG, BIN; HAN, CHUANCHUAN; ZHANG, JUNZHAO
To: COUPANG CORP.
Reel/Frame 058075/0959 →
Continuity (2)
Continuation 17105127 · Nov 25, 2020
Related Publication 20220164334A1 · May 26, 2022