IP Library Granted Patent US 9,489,230
Granted Patent B1
US 9,489,230 · App. 14/563,315 · Granted Nov 8, 2016

Handling of virtual machine migration while performing clustering operations

Inventors: Manjiri R. Patwardhan (Cupertino, CA); Tushar A. Doshi (Santa Clara, CA); Pooja Sarda (Cupertino, CA); Anish A. Vaidya (San Jose, CA)
Assignee: Veritas Technologies LLC
G06F9/45558G06F2009/4557
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 9,489,230
App. No.
14/563,315
Granted
Nov 8, 2016
Kind
B1
Abstract

Various systems and methods for performing clustering operations in distributed systems are disclosed. For example, one method involves performing a clustering operation that uses a virtual machine (VM). This VM is hosted by a first node. The method involves receiving an indication that indicates a migration of the virtual machine from the first node to a second node. The method also involves, in response to a receipt of this indication, suspending performance of the clustering operation using the virtual machine. The method can also involve resuming performance of the clustering operation using the virtual machine in response to receiving an indication of a successful migration of this virtual machine.

Claims (91)

1. A method comprising:

receiving an indication, wherein

the indication indicates whether a migration of a first virtual machine (VM) from a first node to a second node was successful,

the indication is received after receiving a prior indication,

the first node and the second node are among a plurality of nodes of a cluster of nodes,

the cluster of nodes are managed by clustering software, and

the migration is not controlled by the clustering software;

in response to the receiving the indication, determining whether the indication indicates that the migration was successful; and

in response to determining that the migration was successful,

resuming performance of a clustering operation using the first VM, wherein the resuming performance is initiated by the clustering software.

2. The method of claim 1 , further comprising:

after the receiving the indication, determining whether the second node detected the first VM being hosted by the second node.

3. The method of claim 2 , further comprising:

in response to a determination that the second node has not detected the first VM being hosted by the second node, initiating a status check of the second node, wherein

the status check is configured to detect one or more VMs that are being hosted by the second node.

4. The method of claim 1 , further comprising:

in response to determining that the migration was unsuccessful, performing one or more corrective actions with respect to the first VM.

5. The method of claim 4 , further comprising:

determining whether the one or more corrective actions are successful, and

in response to a determination that the one or more corrective actions are successful, resuming performance of the clustering operation using the first VM.

6. The method of claim 4 , further comprising:

determining whether the one or more corrective actions are successful, and

in response to a determination that the one or more corrective actions are unsuccessful, initiating execution of an error handler.

7. The method of claim 1 , wherein

the first node comprises

at least one application; and

the migration comprises

moving the first VM from a first node to a second node without disconnecting the first node and without disconnecting the at least one application.

8. A system comprising:

one or more processors; and

clustering software configured to

receive an indication, wherein

the indication indicates whether a migration of a first virtual machine (VM) from a first node to a second node was successful,

the indication is received after receiving a prior indication,

the first node and the second node are among a plurality of nodes of a cluster of nodes,

the cluster of nodes are managed by the clustering software, and

the migration is not controlled by the clustering software;

in response to a receipt of the indication, determine whether the indication indicates that the migration was successful; and

in response to a determination that the migration was successful, resume performance of a clustering operation using the first VM, wherein resuming the performance is initiated by the clustering software.

9. The system of claim 8 , wherein the clustering software is further configured to:

make a determination whether the second node detected the first VM being hosted by the second node, wherein

the determination is made after the receipt of the indication.

10. The system of claim 9 , wherein the clustering software is further configured to:

initiate a status check of the second node, wherein

the status check is initiated in response to a determination that the second node has not detected the first VM being hosted by the second node, and

the status check is configured to detect one or more VMs that are being hosted by the second node.

11. The system of claim 8 , wherein the clustering software is further configured to:

perform one or more corrective actions with respect to the first VM, wherein

the one or more corrective actions are performed in response to determining that the migration was unsuccessful.

12. The system of claim 11 , wherein the clustering software is further configured to:

determine whether the one or more corrective actions are successful, and

in response to a determination that the one or more corrective actions are successful, resume performance of the clustering operation using the first VM.

13. The system of claim 11 , wherein the clustering software is further configured to:

determine whether the one or more corrective actions are successful, and

in response to a determination that the one or more corrective actions are unsuccessful, initiate execution of an error handler.

14. The system of claim 8 , wherein:

the first node comprises

at least one application; and

the migration comprises

moving the first VM from a first node to a second node without disconnecting the first node and without disconnecting the at least one application.

15. A computer program product comprising:

a plurality of instructions, comprising

a first set of instructions, executable on a computer system, configured to receive an indication, wherein

the indication indicates whether a migration of a first virtual machine (VM) from a first node to a second node was successful,

the indication is received after receiving a prior indication,

the first node and the second node are among a plurality of nodes of a cluster of nodes,

the cluster of nodes are managed by clustering software, and

the migration is not controlled by the clustering software;

a second set of instructions, executable on the computer system, configured to determine whether the indication indicates that the migration was successful, wherein

the second set of instructions are configured to be executed in response to a receipt of the indication;

a third set of instructions, executable on the computer system, configured to resume performance of a clustering operation using the first VM, wherein

the third set of instructions are configured to be executed in response to a determination that the migration was successful, and

resuming the performance is initiated by the clustering software; and

a non-transitory computer-readable storage medium, wherein the instructions are encoded in the non-transitory computer-readable storage medium.

16. The computer program product of claim 15 , further comprising:

a fourth set of instructions, executable on the computer system, configured to

make a determination whether the second node detected the first VM being hosted by the second node, wherein

the determination is made after the receipt of the indication.

17. The computer program product of claim 16 , further comprising:

a fifth set of instructions, executable on the computer system, configured to initiate a status check of the second node, wherein

the status check is initiated in response to a determination that the second node has not detected the first VM being hosted by the second node, and

the status check is configured to detect one or more VMs that are being hosted by the second node.

18. The computer program product of claim 15 , further comprising:

a sixth set of instructions, executable on the computer system, configured to perform one or more corrective actions with respect to the first VM, wherein

the one or more corrective actions are performed in response to determining that the migration was unsuccessful.

19. The computer program product of claim 18 , further comprising:

a seventh set of instructions, executable on the computer system, configured to determine whether the one or more corrective actions are successful, and

in response to a determination that the one or more corrective actions are successful, resume performance of the clustering operation using the first VM.

20. The computer program product of claim 18 , further comprising:

a eighth set of instructions, executable on the computer system, configured to determine whether the one or more corrective actions are successful, and

in response to a determination that the one or more corrective actions are unsuccessful, initiate execution of an error handler.

Assignments (15)
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 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
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 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
Continuity (1)
Continuation 13493819 · Jun 11, 2012