IP Library Granted Patent US 10,320,703
Granted Patent B2
US 10,320,703 · App. 14/870,920 · Granted Jun 11, 2019

Preventing data corruption due to pre-existing split brain

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,320,703
App. No.
14/870,920
Granted
Jun 11, 2019
Kind
B2
Abstract

Various methods, systems, and processes to prevent data corruption caused by a pre-existing split brain condition in a cluster are presented. In response to determining that a node is no longer part of a sub-cluster, another node in the sub-cluster is designated as a racer node. The racer node accesses a matrix, and the matrix includes information to determine whether a majority of coordination points in a cluster are accessible by nodes in the sub-cluster. Based on the accessing, a determination is made that the information indicates that the majority of coordination points are accessible by the nodes. The information is then broadcasted.

Claims (74)

1. A computer-implemented method comprising:

in response to determining that a node is no longer part of a sub-cluster of a cluster, designating another node in the sub-cluster as a racer node;

the racer node accessing a matrix, wherein

the matrix comprises information to determine whether a majority of a plurality of coordination points in the cluster are accessible during a fence race by a plurality of nodes in the sub-cluster, wherein each of the coordination points can fence off one or more nodes in the cluster from accessing one or more storage devices, and

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

based on the accessing, determining that the information indicates that the majority of the plurality of coordination points are accessible by the plurality of nodes; and

broadcasting the information.

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

the node that is no longer part of the sub-cluster, previously had access to the majority of the plurality of coordination points.

3. The computer-implemented method of claim 1 , further comprising:

after determining that the node is no longer part of the sub-cluster, and prior to designating the another node as the racer node, determining that no node in the sub-cluster had access to the majority of the plurality of coordination points.

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

broadcasting the information comprises updating the matrix with the information indicating that the majority of the plurality of coordination points are accessible by the plurality of nodes in the sub-cluster, wherein

the information is broadcasted to the cluster, and

the information also indicates that a fencing race performed by the racer node is successful.

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

based on the information, inhibiting a partitioned node from accessing one or more coordination points of the majority of the plurality of coordination points accessible by the plurality of nodes in the sub-cluster, wherein

the inhibiting prevents a pre-existing split brain condition from occurring in the cluster.

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

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

the CPRM is replicated across all nodes of the 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. A non-transitory computer readable storage medium storing program instructions executable for:

in response to determining that a node is no longer part of a sub-cluster of a cluster,

designating another node in the sub-cluster as a racer node;

accessing a matrix, wherein

the matrix comprises information to determine whether a majority of a plurality of coordination points in the cluster are accessible during a fence race by a plurality of nodes in the sub-cluster, wherein each of the coordination points can fence off one or more nodes in the cluster from accessing one or more storage devices, and

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

based on the accessing, determining that the information indicates that the majority of the plurality of coordination points are accessible by the plurality of nodes; and

broadcasting the information.

9. The non-transitory computer readable storage medium of claim 8 , wherein the node that is no longer part of the sub-cluster, previously had access to the majority of the plurality of coordination points.

10. The non-transitory computer readable storage medium of claim 8 , wherein the program instructions are further executable for:

after determining that the node is no longer part of the sub-cluster, and prior to designating the another node as the racer node, determining that no node in the sub-cluster had access to the majority of the plurality of coordination points.

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

broadcasting the information comprises updating the matrix with the information indicating that the majority of the plurality of coordination points are accessible by the plurality of nodes in the sub-cluster, wherein

the information is broadcasted to the cluster, and

the information also indicates that a fencing race performed by the racer node is successful.

12. The non-transitory computer readable storage medium of claim 11 , wherein the program instructions are further executable for:

based on the information, inhibiting a partitioned node from accessing one or more coordination points of the majority of the plurality of coordination points accessible by the plurality of nodes in the sub-cluster, wherein

the inhibiting prevents a pre-existing split brain condition from occurring in the cluster.

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

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

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

14. 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 for:

in response to determining that a node is no longer part of a sub-cluster of a cluster,

designating another node in the sub-cluster as a racer node;

the racer node accessing a matrix, wherein

the matrix comprises information to determine whether a majority of a plurality of coordination points in the cluster are accessible during a fence race by a plurality of nodes in the sub-cluster, wherein each of the coordination points can fence off one or more nodes in the cluster from accessing one or more storage devices, and

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

based on the accessing, determining that the information indicates that the majority of the plurality of coordination points are accessible by the plurality of nodes; and

broadcasting the information.

15. The system of claim 14 , wherein

the node that is no longer part of the sub-cluster previously, had access to the majority of the plurality of coordination points.

16. The system of claim 14 wherein the program instructions are further executable for:

after determining that the node is no longer part of the sub-cluster, and prior to designating the another node as the racer node, determining that no node in the sub-cluster had access to the majority of the plurality of coordination points.

17. The system of claim 14 , wherein

broadcasting the information comprises updating the matrix with the information indicating that the majority of the plurality of coordination points are accessible by the plurality of nodes in the sub-cluster, wherein

the information is broadcasted to the cluster, and

the information also indicates that a fencing race performed by the racer node is successful.

18. The system of claim 17 wherein the program instructions are further executable for:

based on the information, inhibiting a partitioned node from accessing one or more coordination points of the majority of the plurality of coordination points accessible by the plurality of nodes in the sub-cluster, wherein

the inhibiting prevents a pre-existing split brain condition from occurring in the cluster.

19. The system of claim 14 , wherein

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

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

20. The system of claim 14 , wherein

the plurality of coordination points comprise

one or more coordinator disks, or

one or more coordination point servers.

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 →
Cited By (1)
US 12,333,343