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

Input/output fencing 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,320,702
App. No.
14/870,390
Granted
Jun 11, 2019
Kind
B2
Abstract

Various systems, methods, and processes to optimize input/output (I/O) fencing operations in systems that implement coordination points are presented. A matrix is generated. The matrix includes information indicating the accessibility of one or more coordination points by a node. The method then transmits the matrix to one or more other nodes.

Claims (62)

1. A computer-implemented method comprising:

a second node receiving a matrix from a first node, wherein the matrix comprises information indicating accessibility of each coordination point of a plurality of coordination points by the first node;

the second node updating the matrix to include information indicating accessibility of each coordination point of the plurality of coordination points by the second node;

transmitting the updated matrix to one or more other nodes;

wherein the plurality of coordination points includes at least three coordination points;

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

wherein the plurality of coordination points enable access to one or more storage devices shared by the first node, the second node and the one or more other nodes;

wherein each of the coordination points can fence off one or more nodes from accessing the one or more storage devices.

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

the second node receives the matrix in response to the first node's attempt to join a cluster.

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

determining that the first node can, in combination with the second node, access a majority of the plurality of coordination points; and

based on the determining, joining the cluster.

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

accessing a configuration file; and

determining a total number of the plurality of coordination points based on information in the configuration file.

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

determining that the one or more other nodes are already part of the cluster, wherein the first node is not part of the one or more other nodes; and

requesting a second matrix from the cluster, wherein

the second matrix comprises information indicating accessibility of each of the coordination points of the plurality of coordination points by each of the one or more other nodes, and the plurality of coordination points are part of the cluster.

6. 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.

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

receive a matrix from a first node, wherein the matrix comprises information indicating accessibility of each coordination point of a plurality of coordination points by the first node;

update the matrix to include information indicating accessibility of each coordination point of the plurality of coordination points by a second node;

transmit the updated matrix to one or more other nodes;

wherein the plurality of coordination points includes at least three coordination points;

wherein the plurality of coordination points enable access to one or more storage devices shared by the first node, the second node and the one or more other nodes;

wherein each of the coordination points can fence off one or more nodes from accessing the one or more storage devices;

wherein the plurality of coordination points comprise an odd number of coordination points.

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

the second node receives the matrix in response to the first node attempting to join a cluster.

9. The non-transitory computer readable storage medium of claim 8 , further comprising:

determining that the first node can, in combination with the second node, access a majority of the plurality of coordination points; and

based on the determining, joining the cluster.

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

accessing a configuration file; and

determining a total number of the plurality of coordination points based on information in the configuration file.

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

determining that the one or more other nodes are already part of the cluster, wherein the first node is not part of the one or more other nodes; and

requesting a second matrix from the cluster, wherein

the second matrix comprises information indicating accessibility of each of the coordination points of the plurality of coordination points by each of the one or more other nodes, and

the plurality of coordination points are part of the cluster.

12. 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:

receive a matrix from a first node, wherein the matrix comprises information indicating accessibility of each coordination point of a plurality of coordination points by the first node;

update the matrix to include information indicating accessibility of each coordination point of the plurality of coordination points by a second node;

transmit the updated matrix to one or more other nodes;

wherein the plurality of coordination points includes at least three coordination points;

wherein the plurality of coordination points enable access to one or more storage devices shared by the first node, the second node and the one or more other nodes;

wherein each of the coordination points can fence off one or more nodes from accessing one or more storage devices;

wherein the plurality of coordination points comprise an odd number of coordination points.

13. The system of claim 12 , wherein

the second node receives the matrix in response to the first node attempting to join a cluster.

14. The system of claim 12 , further comprising

determining that the first node can, in combination with the second node, access a majority of the plurality of coordination points; and

based on the determining, joining a cluster.

15. The system of claim 13 , further comprising:

accessing a configuration file; and

determining a total number of the plurality of coordination points based on information in the configuration file.

Assignments (13)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2015
From: GAHLOT, JAI; KATKAR, AMOL S.; DAS, UDIPTA; PESHWE, PRANAV
To: SYMANTEC CORPORATION
Reel/Frame 037316/0288 →
Continuity (1)
Related Publication 20170093746A1 · Mar 30, 2017
Cited By (2)
US 12,632,338 US 12,717,680