IP Library Granted Patent US 10,719,417
Granted Patent B2
US 10,719,417 · App. 15/883,832 · Granted Jul 21, 2020

Data protection cluster system supporting multiple data tiers

Inventors: Peng Wu (Shanghai, CN); Yong Zou (Santa Clara, CA)
Assignee: EMC IP Holding Company, LLC
G06F11/2033G06F2201/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,719,417
App. No.
15/883,832
Granted
Jul 21, 2020
Kind
B2
Abstract

A hierarchical multi-level heterogeneous cluster data system having processing nodes at each of a plurality of cluster levels configured for different data tiers having different availability, accessibility and protection requirements. Each cluster level comprises groups of processing nodes arranged into a plurality of failover domains of interconnected nodes that exchange heartbeat signals to indicate that the nodes are alive and functioning. A master node of each failover domain is connected to a master node of a parent failover domain for exchanging heartbeat signals to detect failures of nodes at lower cluster levels. Upon a network partition, the nodes of the failover domain may be merged into another failover domain at the same or a higher cluster level to continue providing data services. The cluster has a global namespace across all cluster levels, so that nodes that are moved to different failover domains can be accessed using the same pathname.

Claims (27)

1. A method of operating a hierarchical multiple level cluster data system for different tiers of data having different data availability, accessibility and protection requirements, comprising:

configuring pluralities of data processing nodes at each cluster level to have hardware resources selected to provide performances necessary to process data at a data tier corresponding to data stored at that cluster level;

organizing the pluralities of nodes at each said cluster level into a plurality of failover domains comprising groups of interconnected nodes, one node of each group being a master node and the remaining nodes of the group being slave nodes controlled by the master node, said one master node of each failover domain managing the nodes of the failover domain for the requirements of the tier of data of that failover domain, and one or more other nodes of the failover domain that are namespace master nodes managing a namespace of the nodes of said failover domain;

monitoring heartbeat signals exchanged between the pluralities of nodes to detect failures;

upon detecting a failure of one node in a failover domain, failing over the data services of the one failed node to another node in the same failover domain if said other node has sufficient resources to assume said data services, otherwise failing over said data services of the failed node to another node in the same tier as the failed node which has sufficient resources to assume said data services; and

upon detecting an inability to communicate with multiple nodes in a failover domain, merging said multiple nodes into a different failover domain where there is no inability to communicate with said multiple nodes.

2. The method of claim 1 , wherein said monitoring comprised monitoring by a master node of a failover domain heartbeat signals from master nodes at one or more lower cluster levels to reduce overall cluster overhead associated with monitoring heartbeat signals.

3. The method of claim 1 , wherein said configuring comprises configuring the nodes at each cluster level into pools of active nodes and standby nodes for taking over data services for failed active nodes.

4. The method of claim 1 , wherein said configuring comprises configuring nodes at said different cluster levels to be heterogeneous and configured for the performance and processing requirements of the tier of data at each said cluster level.

5. The method of claim 4 , wherein said configuring comprises configuring nodes at an upper level of the cluster to have solid state storage for data that must be accessed substantially instantaneously and randomly.

6. The method of claim 4 , wherein said configuring comprises configuring nodes at an intermediate cluster level with hardware selected for active data that are frequently restored or replicated and that have high sequential throughput and random access requirements.

7. The method of claim 4 , wherein said configuring comprises configuring nodes at a low level of the cluster with hardware selected long term archive storage of infrequently accessed data.

8. The method of claim 1 further comprising configuring said cluster system to have a global namespace such that a file moved to a different cluster level is accessible using the same path name.

9. The method of claim 1 , wherein said merging of multiple nodes into a different failover domain comprises merging said multiple nodes into a parent failover domain at a next higher cluster level of the system, and reorganizing said parent failover domain to handle nodes merged from the failed failover domain and nodes of the parent failover domain.

10. The method of claim 1 further comprising providing each failover domain with a distributed database which maintains a list of nodes of that failover domain and which is accessible by the nodes of that failover domain.

11. The method of claim 1 , wherein a master node of a failover domain at a top level of the cluster is an overall cluster master node, and wherein said failover domain at said top level maintains a distributed database that stores the overall cluster node membership and configurations, and the method comprises replicating said distributed database to other failover domains at said top level of the cluster.

12. The method of claim 11 , wherein said cluster master node serves as a work load dispatcher that receives requests from clients for cluster data services and assigns the requests to an active node in an appropriate data tier level.

13. A hierarchical multiple level cluster data system for different tiers of data having different data availability, accessibility and protection requirements, comprising:

a first cluster level at a top level of the hierarchical cluster configured for first tier data that requires substantially instantaneous access;

a second cluster level below the first cluster level configured for active data at a second tier that requires high sequential throughput and high random input;

one or more third cluster levels below the second cluster level configured for archive data that is to be archived for long periods of time;

a plurality of data processing nodes at each of said cluster levels, each node comprising hardware resources configured to provide performances to meet the data processing requirements for data at a data tier corresponding to said each cluster level;

a plurality of failover domains at each said cluster level, each failover domain comprising a subset of the plurality of nodes at each said cluster level, the nodes of each failover domain being interconnected for communications with the other nodes of said each failover domain, one of said nodes of each failover domain being a master node and the remaining nodes of the failover domain being slave nodes controlled by the master node, said one master node of each failover domain managing the nodes of the failover domain for the requirements of the tier of data of that failover domain, and one or more other nodes of the failover domain that are namespace master nodes managing a namespace of the nodes of said failover domain, the nodes of each failover domain being configured to exchange first heartbeat signals with other nodes of the failover domain, which first heartbeat signals indicate that said nodes of the failover domain are active and functioning, and the master node of each failover domain being configured to exchange second heartbeat signals with master nodes of failover domains at other cluster levels to detect failures, if any, of the nodes of failover domains at said other cluster levels;

a cluster master node comprising a master node of a failover domain of the first cluster level for controlling the master nodes of said failover domains; and

a global namespace having a single naming level for all nodes in the cluster such that a node moved to any level of the cluster can be accessed using a same pathname.

14. The system of claim 13 , wherein the nodes of each failover domain are organized into a pool of nodes comprising active nodes and standby nodes configured to take over data services from a failed active node.

15. The system of claim 13 , wherein said top level of the hierarchical cluster comprises nodes having solid state memory, and said one or more third cluster levels comprises a cluster level storing data in a cloud.

Assignments (8)
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 IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2018
From: ZOU, YONG; WU, PENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044776/0458 →
Continuity (1)
Related Publication 20190235978A1 · Aug 1, 2019