IP Library › Granted Patent US 12,461,826
Granted Patent B2
US 12,461,826 · App. 18/464,726 · Granted Nov 4, 2025

Failure recovery in a scaleout system using vector clock

Inventor: Keyur B. Desai (Cary, NC)
Assignee: Dell Products L.P.
G06F11/1469G06F11/08H04L67/10
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,461,826
App. No.
18/464,726
Granted
Nov 4, 2025
Kind
B2
Abstract

Determining a failure recovery line in a distributed scaleout computing system. Each node or process of a distributed system has or is associated with a vector clock that includes a logical clock for each node in the distributed system. When failure is detected, a recovery operation may be performed using the vector clock. After the recovery operation, the vector clock is updated such that the failure recovery line is available in the computing system.

Claims (32)

1 . A method comprising:

associating a vector clock with each node in a distributed scaleout system, wherein each of the vector clocks includes a home logical clock for a corresponding node and one or more away logical clocks for other nodes in the distributed Scaleout system;

when an event occurs at a node, updating a vector clock associated with the node, wherein updating the vector clock includes, when the event is an internal event, updating the home logical clock in the vector clock of the node that experienced the internal event;

determining a failure in the distributed scaleout system;

performing a rollback operation using the vector clocks, wherein the vector clocks identify a failure recovery line for recovering the distributed scaleout system from the failure; and

performing a recovery operation based on the failure recovery line.

2 . The method of claim 1 , wherein the event is an external event, further comprising updating a home logical clock in the vector clock of the node and updating the vector clock of the node based using a vector clock of a sending node that sent the event to the node.

3 . The method of claim 1 , further comprising performing a cascaded rollback operation using the vector clocks.

4 . The method of claim 3 , wherein the recovery operation includes recovering from a snapshot and replaying logs, wherein the logs store a chronological history of events in the distributed scaleout system.

5 . The method of claim 4 , further comprising updating the vector clocks such that the vector clocks include a failure recovery line that accounts for the recovery operation.

6 . The method of claim 5 , wherein some entries in the vector clocks are deleted and replaced with new entries.

7 . The method of claim 1 , further comprising scaling the distributed computing system, wherein a vector clock of a new node added to the distributed computing system is initialized to zeros.

8 . The method of claim 1 , further comprising moving multiple nodes forward from a recovery line after using the failure recovery line to identify the recovery line.

9 . A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

associating a vector clock with each node in a distributed scaleout system, wherein each of the vector clocks includes a home logical clock for a corresponding node and one or more away logical clocks for other nodes in the distributed Scaleout system;

when an event occurs at a node, updating a vector clock associated with the node, wherein updating the vector clock includes, when the event is an internal event, updating the home logical clock in the vector clock of the node that experienced the internal event;

determining a failure in the distributed scaleout system;

performing a rollback operation using the vector clocks, wherein the vector clocks identify a failure recovery line for recovering the distributed scaleout system from the failure; and

performing a recovery operation based on the failure recovery line.

10 . The non-transitory storage medium of claim 9 , wherein the event is an external event, further comprising updating a home logical clock in the vector clock of the node and updating the vector clock of the node based using a vector clock of a sending node that sent the event to the node.

11 . The non-transitory storage medium of claim 9 , further comprising performing a cascaded rollback operation using the vector clocks.

12 . The non-transitory storage medium of claim 11 , wherein the recovery operation includes recovering from a snapshot and replaying logs, wherein the logs store a chronological history of events in the distributed scaleout system.

13 . The non-transitory storage medium of claim 12 , further comprising updating the vector clocks such that the vector clocks include a failure recovery line that accounts for the recovery operation.

14 . The non-transitory storage medium of claim 13 , wherein some entries in the vector clocks are deleted and replaced with new entries.

15 . The non-transitory storage medium of claim 9 , further comprising scaling the distributed computing system, wherein a vector clock of a new node added to the distributed computing system is initialized to zeros.

16 . The non-transitory storage medium of claim 9 , further comprising moving multiple nodes forward from a recovery line after using the failure recovery line to identify the recovery line.

17 . A method comprising:

associating a vector clock with each node in a distributed scaleout system, wherein each of the vector clocks includes a home logical clock for a corresponding node and one or more away logical clocks for other nodes in the distributed Scaleout system;

when an event occurs at a node, updating a vector clock associated with the node, wherein updating the vector clock includes, when the event is an external event, updating a home logical clock in the vector clock of the node and updating the vector clock of the node based using a vector clock of a sending node that sent the event to the node;

determining a failure in the distributed scaleout system;

performing a rollback operation using the vector clocks, wherein the vector clocks identify a failure recovery line for recovering the distributed scaleout system from the failure; and

performing a recovery operation based on the failure recovery line.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2023
From: DESAI, KEYUR B.
To: DELL PRODUCTS L.P.
Reel/Frame 064863/0208 →
Continuity (1)
Related Publication 20250086068A1 · Mar 13, 2025
References Cited (11)
US 6772367B1 · Tarafdar · 2004 [cited by examiner]
US 10621049B1 · Certain et al. · 2020 [cited by applicant]
US 11704201B2 · Desai · 2023 [cited by examiner]
US 20150172412A1 · Escriva et al. · 2015 [cited by applicant]
US 20190079950A1 · Ramabaja · 2019 [cited by examiner]
US 20190377701A1 · Mishra · 2019 [cited by examiner]
US 20200151163A1 · Aron et al. · 2020 [cited by applicant]
US 20210018953A1 · Ford · 2021 [cited by applicant]
US 20220253363A1 · Zhang · 2022 [cited by examiner]
US 20220405178A1 · Zhang · 2022 [cited by examiner]
US 20230168972A1 · Desai · 2023 [cited by examiner]