IP Library Granted Patent US 10,997,028
Granted Patent B2
US 10,997,028 · App. 16/777,687 · Granted May 4, 2021

Environmental aware witness for active-active storage cluster nodes

Inventors: Svetlana O. Sokolova (Framingham, MA); Benjamin Yoder (Chandler, AZ); Deepak Vokaliga (Hopkinton, MA)
Assignee: EMC IP Holding Company LLC
G06F11/1425G06F11/2025
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,997,028
App. No.
16/777,687
Filed
Jan 30, 2020
Granted
May 4, 2021
Kind
B2
Art Unit
2114
USPC
714/1
Abstract

The system, devices, and methods disclosed herein relate to a dynamic, robust method for choosing a “winner” in an active-active data storage network. In the systems and methods disclosed herein, two or more intelligent nodes within an active-active data storage network periodically exchange operational parameters in an ongoing negotiation regarding who should be the winner in the event of a communication failure within the network. The winner is chosen dynamically based on the operational parameters. A witness is kept apprised of the winner. In the event of a communication failure between the two nodes, the winner is chosen by the witness based on the most recently negotiated lock file reported by one or both of the nodes.

Claims (41)

1. A method for dynamically assigning a winning node in an active-active data storage network comprising the steps of:

sending a first operational parameter from a first node to a second node;

sending a second operational parameter from the second node to the first node, the first and second nodes being part of an active-active data storage network;

negotiating between the first and second nodes which would be the winner in the event a quality measurement of a communication link between the first and second nodes falls below a threshold value, wherein the negotiation includes evaluating the first and second operational parameters;

choosing a winner based on at least the first and second operational parameters;

recording a winner in a lock file; and

transmitting the lock file to a witness.

2. The method of claim 1 , wherein the first operational parameter and the second operation parameter correspond to an equivalent parameter as between the first node and the second node.

3. The method of claim 1 , wherein the first operational parameter or the second operational parameter is a measure of a cache availability.

4. The method of claim 1 , wherein the first operational parameter is a health measurement for the first node.

5. The method of claim 1 , wherein the second operational parameter is a health measurement for the second node.

6. The method of claim 1 , wherein the first operational parameter is a synchronous communication connection to a third storage node, an asynchronous communication connection to a third storage node, a bias role, a non-bias role, a data replication pathway, a memory board state, or a faulted hardware state for the first node.

7. The method of claim 1 , wherein the second operational parameter is a synchronous communication connection to a third storage node, an asynchronous communication connection to a third storage node, a bias role, a non-bias role, a data replication pathway, a memory board state, or a faulted hardware state, for the second node.

8. A system for managing an active-active distributed data processing network, comprising:

a first intelligent storage node and a second intelligent storage node in an active-active network configuration connected via a communication link, wherein the first intelligent storage node and the second intelligent storage node are configured to monitor a quality measurement of the communication link;

a witness node communicatively coupled to the first intelligent storage node and the second intelligent storage node; and

a processor having logic stored thereon configured to:

send a first operational parameter from a first node to a second node;

send a second operational parameter from the second node to the first node, the first and second nodes being part of an active-active data storage network;

negotiate between the first and second nodes which would be the winner in the event a quality measurement of a communication link between the first and second nodes falls below a threshold value, wherein the negotiation includes evaluating the first and second operational parameters;

choose a winner based on at least the first and second operational parameters;

record a winner in a lock file; and

transmit the lock file to a witness.

9. The system of claim 8 , wherein the first operational parameter and the second operation parameter correspond to an equivalent parameter as between the first node and the second node.

10. The system of claim 8 , wherein the first operational parameter or the second operational parameter is a measure of a cache availability.

11. The system of claim 8 , wherein the first operational parameter is a health measurement for the first node.

12. The system of claim 8 , wherein the second operational parameter is a health measurement for the second node.

13. The system of claim 8 , wherein the first operational parameter is a synchronous communication connection to a third storage node, an asynchronous communication connection to a third storage node, a bias role, a non-bias role, a data replication pathway, a memory board state, or a faulted hardware state for the first node.

14. The system of claim 8 , wherein the second operational parameter is a synchronous communication connection to a third storage node, an asynchronous communication connection to a third storage node, a bias role, a non-bias role, a data replication pathway, a memory board state, or a faulted hardware state for the second node.

15. A non-transitory computer readable storage medium containing software for dynamically assigning a winning node in an active-active data storage network comprising performing the steps of:

sending a first operational parameter from a first node to a second node;

sending a second operational parameter from the second node to the first node, the first and second nodes being part of an active-active data storage network;

negotiating between the first and second nodes which would be the winner in the event a quality measurement of a communication link between the first and second nodes falls below a threshold value, wherein the negotiation includes evaluating the first and second operational parameters;

choosing a winner based on at least the first and second operational parameters;

recording a winner in a lock file; and

transmitting the lock file to a witness.

16. The non-transitory computer readable storage medium of claim 15 , wherein the first operational parameter and the second operation parameter correspond to an equivalent parameter as between the first node and the second node.

17. The non-transitory computer readable storage medium of claim 15 , wherein the first operational parameter or the second operational parameter is a measure of a cache availability.

18. The non-transitory computer readable storage medium of claim 15 , wherein the first operational parameter is a health measurement for the first node.

19. The non-transitory computer readable storage medium of claim 15 , wherein the second operational parameter is a health measurement for the second node.

20. The non-transitory computer readable storage medium of claim 15 , wherein the first operational parameter is a synchronous communication connection to a third storage node, an asynchronous communication connection to a third storage node, a bias role, a non-bias role, a data replication pathway, a memory board state, or a faulted hardware state for the first node, or the second operational parameter is a synchronous communication connection to a third storage node, an asynchronous communication connection to a third storage node, a bias role, a non-bias role, a data replication pathway, a memory board state, or a faulted hardware state for the second node.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2020
From: SOKOLOVA, SVETLANA O.; YODER, BENJAMIN; VOKALIGA, DEEPAK
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051677/0833 →
Continuity (2)
Continuation 15887295 · Feb 2, 2018
Related Publication 20200167233A1 · May 28, 2020
Cited By (2)
US 12,568,160 US 12,641,166