IP Library Granted Patent US 11,003,553
Granted Patent B2
US 11,003,553 · App. 16/450,079 · Granted May 11, 2021

Method and apparatus for failover processing

Inventors: Peter Hailin Peng (Beijing, CN); Yong Zou (Beijing, CN); Peng Wu (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/203G06F11/2025G06F11/2043G06F2201/805G06F2201/815
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,003,553
App. No.
16/450,079
Granted
May 11, 2021
Kind
B2
Abstract

Embodiments of the present disclosure provide a method and apparatus for failover. In an embodiment is provided a method implemented at a first node in a cluster comprising a plurality of heterogeneous nodes. The method comprises: determining whether an application at a second node in the cluster is failed; and in response to determining that the application is failed, causing migration of data and services associated with the application from the second node to a third node in the cluster, the migration involving at least one node heterogeneous to the second node in the cluster. The present disclosure further provides a method implemented at the third node in the cluster and corresponding devices and computer program products.

Claims (65)

1. A method implemented in a cluster, the cluster comprising a plurality of heterogeneous nodes, the method comprising the steps, performed at a first node of the cluster, of:

determining whether an application at a second node in the cluster is failed; and

in response to determining that the application is failed, causing migration of data and services associated with the application from the second node to a third node in the cluster, the migration involving at least one node heterogeneous to the second node in the cluster,

wherein the first node is a slave node of the cluster, and the first and second nodes are the same node, and the method further comprises:

broadcasting, in the cluster, a first election request to select the first node as the master node of the cluster in response to at least one of:

failing to receive information from the current master node of the cluster within a predetermined time period, and

receiving, from the current master node, a message indicating re-election of a master node of the cluster.

2. The method according to claim 1 , wherein causing the migration comprises:

causing at least one of a process, a library and configuration information associated with the application to be migrated from the second node to the third node.

3. The method according to claim 1 , wherein causing the migration includes:

in response to determining that the application is failed, sending a failover request for the migration to a master node of the cluster, at least one of the master node and the third node being heterogeneous to the first node; and

initiating the migration in response to receiving from the third node a message indicating an initiation of a failover process.

4. The method according to claim 1 , wherein the initiating comprises:

ceasing a service failover unit associated with the application, the service failover unit being a container packaged with an instance of the application and at least one of a process, a library and configuration information associated with the application.

5. The method according to claim 4 , wherein the initiating comprises:

detaching a storage device associated with the application.

6. The method according to claim 4 , further comprising:

storing, in a storage device, at least one of a process, a library and configuration information associated with the application in the service failover unit.

7. The method according to claim 1 , further comprising:

receiving, from a fifth node in the cluster, a second election request to select the fifth node as the master node; and

determining whether to select the first node or the fifth node as the master node based on at least one of:

a comparison between first time at which the first node sends the first election request and second time at which the fifth node sends the second election request,

a comparison between first starting time of the first node and second starting time of the fifth node, and

a comparison between a first Internet Protocol (IP) address of the first node and a second IP address of the fifth node.

8. The method according to claim 7 , further comprising:

in response to determining that the first node is selected as the master node, incrementing a count of elections associated with the first node; and

in response to the count of elections exceeding a threshold count, broadcasting, in the cluster, a message indicating that the first node has already been selected as the master node.

9. The method according to claim 1 , further including the steps, performed at the third node, of:

determining whether the data and services associated with an application at a second node in the cluster are to be migrated to the third node; and

in response to determining the migration, obtaining the data and services associated with the application.

10. The method according to claim 9 , further comprising the step, performed at the third node, of:

in response to determining the migration, sending, to the second node, a message indicating an initiation of a failover process.

11. The method according to claim 9 , wherein the obtaining comprises:

obtaining, from a storage device, at least one of a process, a library and configuration information associated with the application.

12. The method according to claim 11 , further comprising the step, performed at the third node, of:

using at least one of the obtained process, library and configuration information associated with the application to start a second service failover unit associated with the application, the second service failover unit being a container packaged with an instance of the application and the at least one of the a process, a library and configuration information associated with the application.

13. The method according to claim 9 , wherein the third node is a slave node of the cluster, and the determining comprises:

determining whether a message indicating that the third node is to serve as a destination node for the migration has been received from the master node of the cluster, at least one of the master node and the third node being heterogeneous to the second node.

14. A computerized device configured and operative as a first node of a cluster of heterogeneous nodes, comprising:

a central processing unit;

memory coupled to the central processing unit; and

I/O interface circuitry coupled to the memory and central processing unit to connect the computerized device, as the first node, to other nodes of the cluster,

the memory including computer program instructions executed by the central processing unit to cause the computerized device, as the first node, to:

determine whether an application at a second node in the cluster is failed; and

in response to determining that the application is failed, cause migration of data and services associated with the application from the second node to a third node in the cluster, the migration involving at least one node heterogeneous to the second node in the cluster,

wherein the first node is a slave node of the cluster, and the first and second nodes are the same node, and the method further includes broadcasting, in the cluster, a first election request to select the first node as the master node of the cluster in response to at least one of:

failing to receive information from the current master node of the cluster within a predetermined time period, and

receiving, from the current master node, a message indicating re-election of a master node of the cluster.

15. The computerized device according to claim 14 , wherein causing the migration comprises:

causing at least one of a process, a library and configuration information associated with the application to be migrated from the second node to the third node.

16. The computerized device according to claim 14 , wherein causing the migration includes:

in response to determining that the application is failed, sending a failover request for the migration to a master node of the cluster, at least one of the master node and the third node being heterogeneous to the first node; and

initiating the migration in response to receiving from the third node a message indicating an initiation of a failover process.

17. The computerized device according to claim 14 , wherein the initiating comprises:

ceasing a service failover unit associated with the application, the service failover unit being a container packaged with an instance of the application and at least one of a process, a library and configuration information associated with the application.

18. The computerized device according to claim 17 , wherein the initiating comprises:

detaching a storage device associated with the application.

19. The computerized device according to claim 18 , wherein the computer program instructions further cause the computerized device, as the first node, to:

store, in a storage device, at least one of a process, a library and configuration information associated with the application in the service failover unit.

20. The computerized device according to claim 14 , wherein the computer program instructions further cause the computerized device, as the first node, to:

receive, from a fifth node in the cluster, a second election request to select the fifth node as the master node; and

determine whether to select the first node or the fifth node as the master node based on at least one of:

a comparison between first time at which the first node sends the first election request and second time at which the fifth node sends the second election request,

a comparison between first starting time of the first node and second starting time of the fifth node, and

a comparison between a first Internet Protocol (IP) address of the first node and a second IP address of the fifth node.

Assignments (10)
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 (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 (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
KEY EMPLOYEE AGREEMENT Recorded Jul 16, 2019
From: PENG, PETER HAILIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049761/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2019
From: ZOU, YONG; WU, PENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049761/0208 →