IP Library Granted Patent US 8,887,158
Granted Patent B2
US 8,887,158 · App. 12/044,888 · Granted Nov 11, 2014

Dynamic cluster expansion through virtualization-based live cloning

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,887,158
App. No.
12/044,888
Granted
Nov 11, 2014
Kind
B2
Abstract

Methods and apparatus, including computer program products, are provided for transitioning one or more aspect of a dynamic cluster of computers to one or more virtual machines. In one aspect, there is provided a computer-implemented method. The method may include receiving a selection representing a node of a cluster selected for cloning. An indication may be provided to the node to prepare for cloning. The indication may be provided by accessing an interface at the node. When the selection is received and the node is prepared for cloning, the cloning of the node may be initiated. In some implementations, the node comprises a virtual machine including an application. Related apparatus, systems, methods, and articles are also described.

Claims (56)

1. A computer-implemented method comprising:

receiving, at a controller, a selection from a user interface, wherein the selection represents a node selected for cloning, wherein the node comprises a virtual machine including an application;

providing, by the controller, an indication to the node to prepare for the cloning by accessing an interface at the node;

causing, by the controller, the node to detach from a cluster of nodes, wherein before being detached, the node is not served an additional processing request by the controller;

causing, by the controller, the cloning during a runtime of the node, when the selection is received and the node is prepared for the cloning, wherein before the cloning, the controller waits until the node is in a stable state to enable transitioning the application to the cloned node after the cloning; and

providing, by the controller, an indication to use the cloned node, wherein the controller is implemented by at least one processor.

2. The computer-implemented method of claim 1 , wherein the accessing further comprises:

accessing, by the controller, an interface at the application to instruct the application to prepare for cloning, the preparation instruction causing the application to perform one or more of the following: terminate a session; terminate a call; reject an incoming call for additional session; and notify the controller that cloning may take place.

3. The computer-implemented method of claim 1 , wherein the initiating further comprises:

initiating, by the controller, the cloning by instructing a hypervisor to copy to another hypervisor, the node comprising the virtual machine, the application, an operating system, and data associated with the application.

4. The computer-implemented method of claim 3 , wherein the initiating further comprises:

instructing the hypervisor to keep a copy of the node and any contents of the node.

5. The computer-implemented method of claim 3 , further comprising:

copying the node from the hypervisor to another hypervisor during runtime, the copying implemented as a migration.

6. The computer-implemented method of claim 3 , further comprising:

providing, to the other hypervisor, an indication to use the copied node.

7. The computer-implemented method of claim 3 further comprising:

providing, to the hypervisor, an indication to use the node, after the node has been copied to the other hypervisor.

8. A computer-implemented method comprising:

receiving, at a controller, a selection from a user interface, wherein the selection represents a node selected for cloning, wherein the receiving further comprises using, as the node, a virtual machine comprising an application, an operating system, and data associated with the application;

providing, by the controller, an indication to the application including the node to allow the node to prepare for the cloning by accessing an interface at the application, wherein the preparation by the application includes at least one of the following: rejecting at least one call from a dispatcher, suspending a pending session during runtime, providing an indication of whether the cloning is accepted, and forwarding the indication to the virtual machine wrapping the application;

causing, by the controller, the node to detach from a cluster of nodes, wherein before being detached, the node is not served an additional processing request by the controller;

causing, by the controller, the cloning during a runtime of the node, when the selection is received and the node is prepared for the cloning, wherein before the cloning, the controller waits until the node is in a stable state to enable transitioning the application to the cloned node after the cloning; and

providing, by the controller, an indication to use the cloned node, wherein the controller is implemented by at least one processor.

9. A computer-readable storage medium including executable instructions that when executed perform operations comprising:

receiving, at a controller, a selection from a user interface, wherein the selection represents a node selected for cloning, wherein the node comprises a virtual machine including an application;

providing, by the controller, an indication to the node to prepare for the cloning by accessing an interface at the node;

causing, by the controller, the node to detach from a cluster of nodes, the node to detach from a cluster of nodes, wherein before being detached, the node is not served an additional processing request by the controller;

causing, by the controller, the cloning during a runtime of the node, when the selection is received and the node is prepared for the cloning, wherein before the cloning, the controller waits until the node is in a stable state to enable transitioning the application to the cloned node after the cloning; and

providing, by the controller, an indication to use the cloned node.

10. The computer-readable medium of claim 9 , wherein the receiving further comprises:

using, as the node, the virtual machine further comprising at least one of an operating system and data associated with the application.

11. The computer-readable medium of claim 10 , wherein the providing further comprises:

accessing, by the controller, another interface at the application to instruct the application to prepare for cloning.

12. The computer-readable medium of claim 11 , wherein the accessing further comprises:

accessing, by the controller, the interface at the application to instruct the application to prepare for cloning, the preparation instruction causing the application to perform one or more of the following: terminate a session; terminate a call; reject an incoming call for an additional session; and notify the controller that cloning may take place.

13. The computer-readable medium of claim 9 , wherein the initiating further comprises:

initiating, by the controller, the cloning by instructing a hypervisor to copy to another hypervisor, the node comprising the virtual machine, the application, an operating system, and data associated with the application.

14. The computer-readable medium of claim 13 , wherein the initiating further comprises:

instructing the hypervisor to keep a copy of the node and any contents of the node.

15. The computer-readable medium of claim 13 , further comprising:

copying the node from the hypervisor to another hypervisor during runtime, the copying implemented as a migration.

16. The computer-readable medium of claim 13 further comprising:

providing, to the other hypervisor, an indication to use the copied node.

17. The computer-readable medium of claim 13 further comprising:

providing, to the other hypervisor, an indication to use the node, after the node has been copied to the other hypervisor.

18. A system comprising:

a processor; and

a memory, wherein the processor and the memory are configured to perform a method comprising:

receiving, at a controller, a selection from a user interface, wherein the selection represents a node selected for cloning, wherein the node comprises a virtual machine including an application;

providing, by the controller, an indication to the node to prepare for the cloning by accessing an interface at the node;

causing, by the controller, the node to detach from a cluster of nodes, the node to detach from a cluster of nodes, wherein before being detached, the node is not served an additional processing request by the controller;

causing, by the controller, the cloning during a runtime of the node, when the selection is received and the node is prepared for the cloning, wherein before the cloning, the controller waits until the node is in a stable state to enable transitioning the application to the cloned node after the cloning; and

providing, by the controller, an indication to use the cloned node.

19. the system of claim 18 , wherein the receiving further comprises:

using, as the node, the virtual machine further comprising at least one an operating system and data associated with the application.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2008
From: GEBHART, ALEXANDER; BOZAK, EROL
To: SAP AG
Reel/Frame 021249/0789 →