IP Library Granted Patent US 11,023,324
Granted Patent B2
US 11,023,324 · App. 16/263,587 · Granted Jun 1, 2021

Harmonization of failure domains in a distributed system

Inventors: Suraj Raju (Issaquah, WA); Travis Lane (Seattle, WA); Douglas Kilpatrick (Seattle, WA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1425G06F11/3433G06F16/134G06F16/1774G06F16/182G06F16/9014H04L67/1044H04L67/1059G06F2201/81
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 11,023,324
App. No.
16/263,587
Granted
Jun 1, 2021
Kind
B2
Abstract

Harmonization of failure domains in a distributed system is provided herein. A data storage system as described herein can include a memory that stores computer executable components and a processor that executes computer executable components stored in the memory. The computer executable components can include a node assignment component that assigns computing nodes in the data storage system to respective failure domains of a set of data failure domains, a hashing component that generates hashing information associated with respective computing nodes of the computing nodes assigned to a selected failure domain of the set of failure domains, and a group update component that designates at least one computing node of the computing nodes in the selected data failure domain to perform an operation associated with the hashing information.

Claims (52)

1. A data storage system, comprising:

a memory that stores computer executable components; and

a processor that executes computer executable components stored in the memory, wherein the computer executable components comprise:

a node assignment component that assigns computing nodes in the data storage system to respective failure domains of a set of failure domains;

a hashing component that generates hashing information associated with respective computing nodes of the computing nodes assigned to a selected failure domain of the set of failure domains; and

a group update component that designates at least one computing node of the computing nodes in the selected failure domain to perform an operation associated with the hashing information at least in part by receiving a merge request to merge a first computing node into the selected failure domain from a second computing node in the selected failure domain and denying the merge request in response to the second computing node being determined to comprise outdated hashing information.

2. The data storage system of claim 1 , wherein the computer executable components further comprise:

a lock data management component that assigns client lock data for a client associated with the data storage system to a third computing node of the computing nodes in the selected failure domain in response to the third computing node being designated by the group update component.

3. The data storage system of claim 2 , wherein the lock data management component propagates the client lock data from the third computing node to a fourth computing node of the computing nodes in the selected failure domain, which is different from the third computing node, in response to the third computing node becoming unavailable.

4. The data storage system of claim 1 , wherein the computer executable components further comprise:

a node recording component that maintains a first record comprising identities of respective available computing nodes in the selected failure domain.

5. The data storage system of claim 4 , wherein the node recording component further maintains a second record relating to the hashing information associated with the selected failure domain, wherein the node recording component updates the first record at a first time corresponding to designation of the at least one computing node in the selected failure domain by the group update component, and wherein the node recording component updates the second record at a second time that is different from the first time.

6. The data storage system of claim 5 , wherein the computer executable components further comprise:

a load monitor component that monitors a system load associated with the data storage system, wherein the second time corresponds to the system load being less than a threshold system load.

7. The data storage system of claim 4 , wherein the computer executable components further comprise:

a synthetic mapping component that generates a synthetic mapping of the respective computing nodes in the selected failure domain in response to the first record being unavailable.

8. The data storage system of claim 1 , wherein the hashing information comprises a distributed hash table.

9. The data storage system of claim 1 , wherein the group update component grants the merge request and merges the first computing node into the selected failure domain in response to the second computing node having up-to-date hashing information.

10. The data storage system of claim 1 , wherein the hashing component propagates at least a portion of the hashing information to respective computing nodes in the selected failure domain comprising the second computing node.

11. A method, comprising:

assigning, by a device operatively coupled to a processor, computing nodes in a data storage system to respective failure domains of a group of failure domains;

generating, by the device, distributed hashing information for respective computing nodes of the computing nodes assigned to a selected failure domain of the group of failure domains; and

designating, by the device, at least one computing node in the selected failure domain to perform an operation associated with the distributed hashing information;

receiving, by the device from a second computing node in the selected failure domain, a request to merge a first computing node into the selected failure domain; and

denying, by the device, the request in response to the second computing node comprising outdated distributed hashing information.

12. The method of claim 11 , further comprising:

assigning, by the device, client lock data for a client associated with the data storage system to a third computing node of the computing nodes in the selected failure domain in response to the third computing node being designated via the designating.

13. The method of claim 12 , further comprising:

propagating, by the device, the client lock data from the third computing node to a fourth computing node of the computing nodes in the selected failure domain, which is different from the third computing node, in response to the third computing node becoming unavailable.

14. The method of claim 11 , further comprising:

maintaining, by the device, a first record comprising identities of respective available computing nodes in the selected failure domain.

15. The method of claim 14 , further comprising:

maintaining, by the device, a second record relating to the distributed hashing information associated with the selected failure domain;

updating, by the device, the first record at a first time corresponding to the designating the at least one computing node in the selected failure domain; and

updating, by the device, the second record at a second time that is different from the first time.

16. The method of claim 15 , further comprising:

monitoring, by the device, a system load associated with the data storage system, wherein the second time corresponds to the system load being less than a threshold system load.

17. A non-transitory machine-readable medium comprising computer executable instructions that, when executed by a processor of a data storage system, facilitate performance of operations, the operations comprising:

assigning computing nodes in the data storage system to respective failure domains;

generating a distributed hash table associated with respective computing nodes of the computing nodes assigned to a selected failure domain of the respective failure domains;

designating at least one computing node in the selected failure domain to perform an operation associated with the distributed hash table; and

in response to a first computing node in the selected failure domain being determined to comprise outdated information associated with the distributed hash table, denying a request from the first computing node to merge a second computing node into the selected failure domain.

18. The non-transitory machine-readable medium of claim 17 , wherein the operations further comprise:

assigning client lock data for a client associated with the data storage system to a third computing node of the computing nodes in the selected failure domain in response to the third computing node being designated via the designating; and

propagating the client lock data from the third computing node to a fourth computing node of the computing nodes in the selected failure domain, which is different from the third computing node, in response to the third computing node becoming unavailable.

19. The non-transitory machine-readable storage medium of claim 17 , wherein the operations further comprise:

maintaining a first record comprising identities of respective available computing nodes in the selected failure domain;

maintaining a second record comprising information relating to the distributed hash table;

updating the first record at a first time corresponding to the designation of the at least one computing node in the selected failure domain; and

updating the second record at a second time that is different from the first time.

20. The non-transitory machine-readable medium of claim 19 , wherein the operations further comprise:

monitoring a system load associated with the data storage system, wherein the second time corresponds to the system load being less than a threshold system load.

Assignments (5)
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 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
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 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2019
From: RAJU, SURAJ; LANE, TRAVIS; KILPATRICK, DOUGLAS
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048210/0409 →