IP Library Granted Patent US 10,341,252
Granted Patent B2
US 10,341,252 · App. 14/870,956 · Granted Jul 2, 2019

Partition arbitration optimization

Inventors: Jai Gahlot (Maharashtra, IN); Amol S. Katkar (Assam, IN); Udipta Das (Maharashtra, IN); Pranav Peshwe (Assam, IN)
Assignee: Veritas Technologies LLC
H04L47/746G06F11/1425G06F11/2028G06F11/2046G06F11/2094H04L12/18H04L41/06H04L41/0806H04L41/12H04L41/5054H04L67/1095H04L67/16H04L67/288
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,341,252
App. No.
14/870,956
Granted
Jul 2, 2019
Kind
B2
Abstract

Various systems, methods, and processes to optimize partition arbitration are disclosed. In response to a cluster being partitioned into multiple network partitions, a determination is made, using a first node in a first network partition, whether the first node wins one or more coordination points. The determination of the first node is then transmitted to a second node in the first network partition. Further, another determination is made using the second node whether the second node wins one or more other coordination points other than the one or more coordination points won by the first node.

Claims (85)

1. A computer-implemented method comprising:

in response to a cluster being partitioned into a plurality of network partitions,

determining, using a first node in a first network partition of the plurality of network partitions, whether

the first node wins a race between the first node and another node, for one or more coordination points of a plurality of coordination points, wherein the first node, in response to winning the race, can configure the one or more coordination points to fence off the other node in the cluster in order to preclude access by the other node to one or more storage devices, and

the plurality of coordination points comprise an odd number of coordination points,

transmitting the determination of the first node to a second node in the first network partition, and

determining, using the second node, whether the second node wins one or more additional coordination points of the plurality of coordination points, other than the one or more coordination points.

2. The computer-implemented method of claim 1 , wherein

the determining using the second node further comprises

the first node and the second node together winning a majority of coordination points of the plurality of coordination points.

3. The computer-implemented method of claim 1 , wherein

winning the one or more coordination points comprises

accessing the one or more coordination points;

ejecting a registration key of the other node, which is not in the first network partition from the one or more coordination points;

wherein ejecting the registration key effectively preempts the other node from winning the one or more coordination points.

4. The computer-implemented method of claim 2 , further comprising

transmitting the determination of the second node to a third node, if the first node and the second node together do not win the majority of coordination points of the plurality of coordination points, wherein

the third node is part of the first network partition.

5. The computer-implemented method of claim 1 , wherein

the determining using the first node comprises performing, using the first node, a first fencing race, and

the determining using the second node comprises performing, using the second node, a second fencing race.

6. The computer-implemented method of claim 1 , wherein

the determining using the first node or the determining using the second node comprises accessing a matrix, wherein

the matrix is a coordination point reachability matrix (CPRM), and

the CPRM is replicated across all nodes of a plurality of nodes in the cluster.

7. The computer-implemented method of claim 1 , wherein

the plurality of coordination points comprise

one or more coordinator disks, or

one or more coordination point servers.

8. The computer-implemented method of claim 1 , wherein

the first node is designated as a first racer node, and

after the first racer node transmits the determination to the second node,

the second node is designated as a second racer node.

9. A non-transitory computer readable storage medium storing program instructions executable to:

in response to a cluster being partitioned into a plurality of network partitions,

determine, using a first node in a first network partition of the plurality of network partitions, whether

the first node wins a race between the first node and another node, for one or more coordination points of a plurality of coordination points, wherein the first node, in response to winning the race, can configure the one or more coordination points to fence off the other node in the cluster in order to preclude access by the other node to one or more storage devices, and

the plurality of coordination points comprise an odd number of coordination points,

transmit the determination of the first node to a second node in the first network partition, and

determine, using the second node, whether the second node wins one or more additional coordination points of the plurality of coordination points, other than the one or more coordination points.

10. The non-transitory computer readable storage medium of claim 9 , wherein

the determining using the second node further comprises

the first node and the second node together winning a majority of coordination points of the plurality of coordination points.

11. The non-transitory computer readable storage medium of claim 9 , wherein

winning the one or more coordination points comprises

accessing the one or more coordination points;

ejecting a registration key of the other node, which is not in the first network partition from the one or more coordination points;

wherein ejecting the registration key effectively preempts the other node from winning the one or more coordination points.

12. The non-transitory computer readable storage medium of claim 10 , further comprising

transmitting the determination of the second node to a third node, if the first node and the second node together do not win the majority of coordination points of the plurality of coordination points, wherein

the third node is part of the first network partition.

13. The non-transitory computer readable storage medium of claim 9 , wherein

the determining using the first node comprises performing, using the first node, a first fencing race, and

the determining using the second node comprises performing, using the second node, a second fencing race.

14. The non-transitory computer readable storage medium of claim 9 , wherein

the determining using the first node or the determining using the second node comprises accessing a matrix, wherein

the matrix is a coordination point reachability matrix (CPRM), and

the CPRM is replicated across all nodes of a plurality of nodes in the cluster.

15. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

in response to a cluster being partitioned into a plurality of network partitions,

determine, using a first node in a first network partition of the plurality of network partitions, whether

the first node wins a race between the first node and another node, for one or more coordination points of a plurality of coordination points, wherein the first node, in response to winning the race, can configure the one or more coordination points to fence off the other node in the cluster in order to preclude access by the other node to one or more storage devices, and

the plurality of coordination points comprise an odd number of coordination points,

transmit the determination of the first node to a second node in the first network partition, and

determine, using the second node, whether the second node wins one or more additional coordination points of the plurality of coordination points, other than the one or more coordination points.

16. The system of claim 15 , wherein

the determining using the second node further comprises

the first node and the second node together winning a majority of coordination points of the plurality of coordination points.

17. The system of claim 15 , wherein

winning the one or more coordination points comprises

accessing the one or more coordination points;

ejecting a registration key of the other node, which is not in the first network partition from the one or more coordination points;

wherein ejecting the registration key effectively preempts the other node from winning the one or more coordination points.

18. The system of claim 16 , further comprising

transmitting the determination of the second node to a third node, if the first node and the second node together do not win the majority of coordination points of the plurality of coordination points, wherein

the third node is part of the first network partition.

19. The system of claim 15 , wherein

the determining using the first node comprises performing, using the first node, a first fencing race, and

the determining using the second node comprises performing, using the second node, a second fencing race.

20. The system of claim 15 , wherein

the first node is designated as a first racer node, and

after the first racer node transmits the determination to the second node,

the second node is designated as a second racer node.

Assignments (12)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
Continuity (2)
Continuation 14870390 · Sep 30, 2015
Related Publication 20170093647A1 · Mar 30, 2017