IP Library Granted Patent US 8,910,160
Granted Patent B1
US 8,910,160 · App. 13/493,819 · Granted Dec 9, 2014

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: Symantec Corporation
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 8,910,160
App. No.
13/493,819
Granted
Dec 9, 2014
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 (107)

1. A method comprising:

performing, using one or more processors, a clustering operation, wherein

the clustering operation is initiated by clustering software,

the clustering operation uses a first virtual machine, and

the first virtual machine is hosted by a first node;

receiving an indication, wherein

the indication indicates a migration of the first virtual machine from the first node to a second node, wherein

the migration is not under control of the clustering software; and

in response to a receipt of the indication, suspending performance of the clustering operation using the first virtual machine, wherein

the suspending performance is initiated by the clustering software.

2. The method of claim 1 , wherein

the clustering operation uses a plurality of virtual machines,

the plurality of virtual machines comprises the first virtual machine,

after the suspending, the clustering operation uses remaining virtual machines of the plurality of virtual machines, and

the remaining virtual machines do not comprise the first virtual machine.

3. The method of claim 1 , wherein

the clustering operation uses a plurality of virtual machines,

the plurality of virtual machines comprises the first virtual machine, and

the clustering operation comprises a high-availability operation.

4. The method of claim 1 ,

wherein the migration comprises live migration.

5. The method of claim 1 , further comprising

receiving another indication, wherein

the another indication indicates a successful migration of the first virtual machine from the first node to the second node, and

the another indication is received after receiving the indication, and

in response to the receiving the another indication, resuming performance of the clustering operation using the first virtual machine.

6. The method of claim 5 , further comprising

after the receiving the another indication, determining if the second node detected the first virtual machine being hosted by the second node, and

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

the status checking is configured to detect one or more virtual machines that are being hosted by the second node.

7. The method of claim 1 , further comprising

receiving another indication, wherein

the another indication indicates an unsuccessful migration of the first virtual machine from the first node to the second node, and

the another indication is received after receiving the indication, and

in response to receiving the another indication, performing one or more corrective actions with respect to the first virtual machine.

8. The method of claim 7 , further comprising

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

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

9. The method of claim 1 , further comprising registering with the clustering software, wherein

in response to the registering, the clustering software is configured to issue one or more indications, and

the one or more indications comprise the indication.

10. The method of claim 9 , wherein

the one or more indications comprise one or more of

a virtual machine migration start indication,

a virtual machine migration stop indication,

a virtual machine migration success indication, or

a virtual machine migration failure indication.

11. A system, comprising:

one or more processors;

a first agent, wherein

a first node comprises the first agent,

the first node hosts a first virtual machine, and

the first virtual machine is configured to be migrated from the first node to a second node; and

a clustering software, wherein

the clustering software is configured to

perform a clustering operation using the first virtual machine,

receive an indication, wherein

the indication indicates a migration of the first virtual machine from the first node to a second node, and

the migration is not under control of the clustering software, and

in response to receiving the indication, suspend performance of the clustering operation using the first virtual machine, wherein the suspending performance is initiated by the clustering software; and

the clustering software is configured to be executed using the one or more processors.

12. The system of claim 11 , further comprising

a second agent, wherein

the second node comprises the second agent, and

the second agent is configured to send the indication.

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

after receiving another indication, determine if the second node detected the first virtual machine being hosted by the second node,

in response to a determination that the second node has not detected the first virtual machine being hosted by the second node, initiate status checking of the second node, wherein

the status checking is configured to detect one or more virtual machines that are being hosted by the second node.

14. The system of claim 11 , wherein

the first agent is configured to send the indication.

15. The system of claim 11 , wherein

the clustering operation uses a plurality of virtual machines,

the plurality of virtual machines comprises the first virtual machine,

after the suspending, the clustering operation uses remaining virtual machines of the plurality of virtual machines, and

the remaining virtual machines do not comprise the first virtual machine.

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

receive another indication, wherein

the another indication indicates a successful migration of the first virtual machine from the first node to the second node, and

the another indication is received after receiving the indication, and

in response to a receipt of the another indication, resume performance of the clustering operation using the first virtual machine.

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

receive another indication, wherein

the another indication indicates an unsuccessful migration of the first virtual machine from the first node to the second node,

the another indication is received after receiving the indication, and

in response to a receipt of the another indication, perform one or more corrective actions with respect to the first virtual machine.

18. A computer program product comprising:

a plurality of instructions, comprising

a first set of instructions, executable on a computer system, configured to perform a clustering operation, wherein

the clustering operation is initiated by clustering software,

the clustering operation uses a first virtual machine, and

the first virtual machine is hosted by a first node,

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

the indication indicates a migration of the first virtual machine from the first node to a second node, wherein

the migration is not under control of the clustering software, and

a third set of instructions, executable on the computer system, configured to, in response to a receipt of the indication, suspend performance of the clustering operation using the first virtual machine, wherein the suspending 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.

19. The computer program product of claim 18 , wherein

the clustering operation uses a plurality of virtual machines,

the plurality of virtual machines comprises the first virtual machine,

after the suspending, the clustering operation uses remaining virtual machines of the plurality of virtual machines, and

the remaining virtual machines do not comprise the first virtual machine.

20. The computer program product of claim 18 , wherein the instructions further comprise:

a fourth set of instructions, executable on the computer system, configured to receive another indication, wherein

the another indication indicates a successful migration of the first virtual machine from the first node to the second node, and

the another indication is received after receiving the indication, and

a fifth set of instructions, executable on the computer system, configured to, in response to receiving the another indication, resume performance of the clustering operation using the first virtual machine.

Assignments (16)
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 AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
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 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2012
From: PATWARDHAN, MANJIRI R.; DOSHI, TUSHAR A.; SARDA, POOJA; VAIDYA, ANISH A.
To: SYMANTEC CORPORATION
Reel/Frame 028819/0587 →