IP Library Granted Patent US 10,127,124
Granted Patent B1
US 10,127,124 · App. 14/867,516 · Granted Nov 13, 2018

Performing fencing operations in multi-node distributed storage systems

Inventors: Prasanta R. Dash (San Jose, CA); Amarinder Singh Randhawa (Sunnyvale, CA); Asmita Jagtap (Pune, IN); Chaitanya Yalamanchili (Santa Clara, CA); Madhav Buddhi (Sunnyvale, CA)
Assignee: Veritas Technologies LLC
G06F11/2069H04L67/1097G06F2201/805G06F2201/85
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,127,124
App. No.
14/867,516
Filed
Sep 28, 2015
Granted
Nov 13, 2018
Kind
B1
Examiner
RIAD, AMINE
Art Unit
2113
USPC
714/4.2
Abstract

Various systems and methods for managing node connectivity in distributed storage systems are disclosed. For example, one method involves detecting a communication fault between two nodes. A first node is configured to communicate input/output (I/O) requests to the second node as in-flight I/O requests. The second node is configured to communicate locally generated I/O requests and the received I/O requests to storage devices. Once the communication fault is detected, a fencing operation is performed. The fencing operation can include processing some of the received I/O requests by the second node, and rejecting any additional in-flight I/O requests received from the first node.

Claims (65)

1. A computer-implemented method comprising:

detecting a communication fault between a first node and a second node, wherein

the first node and the second node each issue one or more input/output (I/O) requests to a storage device;

performing an arbitration process to determine to which of a winner node group or a loser node group the first node and the second node belong, respectively; and

if as a result of the arbitration process, either of the first node or the second is determined to be a node in the loser node group, fencing the node from the storage device by performing a fencing operation, wherein

the fencing operation prevents the node from communicating with the storage device.

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

the arbitration process is performed by the first node and the second node.

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

if the arbitration process is successful, performing the fencing operation; and

if the arbitration process is unsuccessful, retrying the arbitration process using one or more other nodes.

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

the fencing operation further comprises instructing the storage device to not accept any communication from the node.

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

the node uses a proxy node to issue the one or more I/O requests to the storage device.

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

the proxy node is part of the winner node group, and

as a result of the fencing operation, the proxy node is prevented from processing the one or more I/O requests.

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

de-registering the node with the storage device.

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

the de-registering comprises deleting a key of the node from the storage device.

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

detecting a network partition prior to performing the arbitration process.

10. A system comprising:

one or more processors; and

a control module configured to be executed using the one or more processors to detect a communication fault between a first node and a second node, wherein

the first node and the second node each issue one or more input/output (I/O) requests to a storage device;

perform an arbitration process to determine to which of a winner node group or a loser node group the first node and the second node belong, respectively; and

if as a result of the arbitration process, either of the first node or the second is determined to be a node in the loser node group, fence the node from the storage device by performing a fencing operation, wherein

the fencing operation prevents the node from communicating with the storage device.

11. The system of claim 10 , wherein

the arbitration process is performed by the first node and the second node, and

a network partition is detected prior to performing the arbitration process.

12. The system of claim 11 , further comprising:

if the arbitration process is successful, performing the fencing operation; and

if the arbitration process is unsuccessful, retrying the arbitration process using one or more other nodes.

13. The system of claim 10 , wherein

the fencing operation further comprises instructing the storage device to not accept any communication from the node.

14. The system of claim 10 , wherein

the node uses a proxy node to issue the one or more I/O requests to the storage device,

the proxy node is part of the winner node group, and

as a result of the fencing operation, the proxy node is prevented from processing the one or more I/O requests.

15. The system of claim 10 , further comprising:

de-registering the node with the storage device, wherein

the de-registering comprises deleting a key of the node from the storage device.

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

detect a communication fault between a first node and a second node, wherein

the first node and the second node each issue one or more input/output (I/O) requests to a storage device;

perform an arbitration process to determine to which of a winner node group or a loser node group the first node and the second node belong, respectively; and

if as a result of the arbitration process, either of the first node or the second is determined to be a node in the loser node group, fence the node from the storage device by performing a fencing operation, wherein

the fencing operation prevents the node from communicating with the storage device.

17. The non-transitory computer readable storage medium of claim 16 , wherein

the arbitration process is performed by the first node and the second node, and

a network partition is detected prior to performing the arbitration process.

18. The non-transitory computer readable storage medium of claim 17 , further comprising:

if the arbitration process is successful, performing the fencing operation; and

if the arbitration process is unsuccessful, retrying the arbitration process using one or more other nodes.

19. The non-transitory computer readable storage medium of claim 16 , wherein

the node uses a proxy node to issue the one or more I/O requests to the storage device,

the proxy node is part of the winner node group, and

as a result of the fencing operation, the proxy node is prevented from processing the one or more I/O requests.

20. The non-transitory computer readable storage medium of claim 16 , further comprising: de-registering the node with the storage device, wherein

the de-registering comprises deleting a key of the node from the storage device; and

instructing the storage device to not accept any communication from the node.

Assignments (13)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069632/0613 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2017
From: SYMANTEC CORPORATION
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 041897/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2016
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0466 →
Continuity (1)
Continuation 13667693 · Nov 2, 2012
Cited By (2)
US 12,568,160 US 12,641,166