IP Library Granted Patent US 9,582,373
Granted Patent B2
US 9,582,373 · App. 14/231,036 · Granted Feb 28, 2017

Methods and systems to hot-swap a virtual machine

Inventors: Gal Zellermayer (Ramat Hasharon, IL); Hilik Paz (Ramat Gan, IL); Avshi Avital (Sde Warburg, IL)
Assignee: VMware, Inc.
G06F11/1484G06F11/1438G06F11/2028G06F11/2094
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,582,373
App. No.
14/231,036
Granted
Feb 28, 2017
Kind
B2
Abstract

Methods and systems to limit the duration of a service interruption caused by a failed middleware application server are disclosed. One example method and system includes monitoring the operational status of a first virtual machine operating as a primary server and the operational status of a second virtual machine operating as a stand-by server and, based on the monitored operational status of the first and second virtual machines, performing a hot-swap to cause the second virtual machine to operate as the primary server and the first virtual machine to operate as the stand-by server. The first and second virtual machines are implemented on a same host processing system. After the hot-swap, the first virtual machine is restarted. In some examples, the first virtual machine and the second virtual machine are implemented on a same host processing system. Performing the hot-swap can include causing the first virtual machine to be uncoupled from a network and causing the second virtual machine to be coupled to the network. In some examples, the method also includes causing copy of a first file system used by the primary server to be stored as a second file system for use by the stand-by server.

Claims (46)

1. A method comprising:

monitoring, by executing an instruction with a processor, an operational status of a first virtual machine operating as a primary server and an operational status of a second virtual machine operating as a stand-by server, the first and second virtual machines being implemented on a same host processing system;

based on the monitored operational status of the first and second virtual machines, performing, by executing an instruction with the processor, a hot-swap to cause the second virtual machine to operate as the primary server and the first virtual machine to operate as the stand-by server, the hot-swap being performed by changing a file system access mode of the first virtual machine from a read/write access of a first file system to a read-only access of the first file system and changing a file system access mode of the second virtual machine from a read-only access of a second file system to a read/write access of the second file system, the first and second file systems having the same information, the secondary server being started prior to the hot-swap being initiated, and the hot-swap being performed without restarting the secondary server; and

restarting the first virtual machine.

2. A method as defined in claim 1 , wherein the performing of the hot-swap includes causing the first virtual machine to be uncoupled from a network and causing the second virtual machine to be coupled to the network.

3. A method as defined in claim 1 , further including, when the first virtual machine is operating as the primary server, causing a copy of the first file system used by the primary server to be stored as the second file system for use by the stand-by server.

4. A method as defined in claim 3 , further including constructing, when the first virtual machine is operating as the primary server, the copy of the first file system using a first baseline snapshot of the first file system taken at a first time and a second snapshot of the first file system taken at a second time.

5. A method as defined in claim 1 , wherein the first and second file systems are a same file system stored on a shared virtual machine disk.

6. A hot-swap tool comprising:

a monitor, implemented by a hardware processor, to generate a notification when a first virtual machine acting as a primary server is not operational;

a configuration tool, implemented by the hardware processor, to respond to the notification by performing a hot-swap operation to cause a second virtual machine to operate as the primary server and the first virtual machine to operate as a stand-by server, the first and second virtual machines being implemented on a same host processing system, the hot-swap being performed by changing a file system access mode of the primary server when implemented by the first virtual machine from a read/write access of a first file system to a read-only access of the first file system and changing a file system access mode of the stand-by server when implemented by the second virtual machine from a read-only access of a second file system to a read/write access of the second file system, the first and second file systems having the same information, the stand-by server being started prior to the hot-swap operation being initiated, and the hot-swap operation being performed without restarting the stand-by server; and

a restart tool to cause the first virtual machine to be restarted after the hot-swap operation.

7. A hot-swap tool as defined in claim 6 , wherein the configuration tool is to perform the hot-swap operation by causing network traffic to be rerouted from the first virtual machine to the second virtual machine.

8. A hot-swap tool as defined in claim 6 , wherein, before the monitor generates the notification, the primary server implemented by the first virtual machine has read/write access to the first file system and the stand-by server implemented by the second virtual machine has read-only access to the second file system.

9. A hot-swap tool as defined in claim 8 , wherein the first and second file systems are a same file system stored on a virtual machine disk shared by the first and second virtual machines and the hot-swap operation includes changing the file system access mode of the primary server to a read-only access mode of the shared virtual machine disk and changing the file system access of the stand-by server to a read/write access mode of the shared virtual machine disk.

10. A hot-swap tool comprising:

a monitor, implemented by a hardware processor, to generate a notification when a first virtual machine acting as a primary server is not operational;

a configuration tool, implemented by the hardware processor, to respond to the notification by performing a hot-swap operation to cause a second virtual machine to operate as the primary server and the first virtual machine to operate as a stand-by server, the first and second virtual machines being implemented on a same host processing system, the hot-swap being performed by changing a file system access mode of the primary server when implemented by the first virtual machine from a read/write access of a first file system to a read-only access of the first file system and changing a file system access mode of the stand-by server when implemented by the second virtual machine from a read-only access of a second file system to a read/write access of the second file system, the first and second file systems having the same information, the stand-by server being started prior to the hot-swap operation being initiated, and the hot-swap operation being performed without restarting the stand-by server;

a restart tool to cause the first virtual machine to be restarted after the hot-swap operation; and

a snapshot generator to generate a snapshot of the first file system associated with the primary server, the snapshot to be used to construct an up-to-date version of the first file system, and the up-to-date version of the first file system to be stored as the second file system in a virtual machine disk used by the stand-by server.

11. A method comprising:

monitoring, by executing an instruction with a processor, an operational status of a first virtual machine operating as a primary server and an operational status of a second virtual machine operating as a stand-by server, the first and second virtual machines being implemented on a same host processing system;

generating a snapshot of a first file system associated with the primary server, the snapshot to be used to construct an up-to-date version of the first file system, and the up-to-date version of the first file system to be stored as the second file system in a virtual machine disk used by the stand-by server;

based on the monitored operational status of the primary server and the stand-by server, performing, by executing an instruction with the processor, a hot-swap to cause the second virtual machine to operate as the primary server and the first virtual machine to operate as the stand-by server, the hot-swap being performed by changing a file system access mode of the first virtual machine from a read/write access of a first file system to a read-only access of the first file system and changing a file system access mode of the second virtual machine from a read-only access of a second file system to a read/write access of the second file system, the first and second file systems having the same information, the secondary server being started prior to the hot-swap being initiated, and the hot-swap being performed without restarting the secondary server; and

restarting the first virtual machine.

12. A tangible machine readable non-transitory storage medium comprising instructions that, when executed, cause a machine to at least:

start a first virtual machine operating as a primary server and a second virtual machine operating as a stand-by server, the first and second virtual machines being implemented on a same host processing system;

generate a snapshot of a first file system associated with the primary server, the snapshot to be used to construct an up-to-date version of the first file system, and the up-to-date version of the first file system to be stored as a second file system in a virtual machine disk used by the stand-by server;

monitor operational status of the primary server and operational status of the stand\-by server;

based on the monitored operational status of the primary server and operational status of the stand-by server, and without restarting the stand-by server:

change a file system access mode of the primary server when implemented by the first virtual machine from a read/write access of the first file system to a read-only access of the first file system,

change a file system access mode of the stand-by server when implemented by the second virtual machine from a read-only access of the second file system to a read/write access of the second file system to cause the second virtual machine to act as the primary server, the first and second file systems having the same information; and

restart the first virtual machine to act as the stand-by server.

13. A tangible machine readable non-transitory storage medium comprising instructions that, when executed, cause a machine to at least:

start a first virtual machine operating as a primary server and a second virtual machine operating as a stand-by server, the first and second virtual machines being implemented on a same host processing system;

monitor operational status of the primary server and operational status of the stand-by server;

based on the monitored operational status of the primary server and the stand-by server, and without restarting the stand-by server:

change a file system access mode of the primary server when implemented by the first virtual machine from a read/write access of a first file system to a read-only access of the first file system,

change a file system access mode of the stand-by server when implemented by the second virtual machine from a read-only access of a second file system to a read/write access of the second file system to cause the second virtual machine to act as the primary server, the first and second file systems having the same information; and

restart the first virtual machine to act as the stand-by server.

14. A tangible machine readable storage medium as defined in claim 13 , wherein the first file system used by the first virtual machine and the second file system used by the second virtual machine are a same file system.

15. A tangible machine readable storage medium as defined in claim 13 , wherein the instructions further cause the machine to perform the hot-swap by causing the first virtual machine to be uncoupled from a network and causing the second virtual machine to be coupled to the network.

16. A tangible machine readable storage medium as defined in claim 13 , wherein the instructions cause the machine to generate a snapshot of the first file system when the first virtual machine is operating as the primary server for use in constructing the second file system when the second virtual machine is operating as the stand-by server.

17. A tangible machine readable storage medium as defined in claim 13 , wherein the first and second file systems used by the first and second virtual machines, respectively, are a same file system stored in a shared virtual machine disk.

18. A tangible machine readable storage medium as defined in claim 17 , wherein the primary server and the stand-by server, when coupled to the network, provide a middleware service to a processor coupled to the network.

19. A tangible machine readable storage medium as defined in claim 13 , wherein the first virtual machine uses a first file system stored in a first virtual machine disk, and the second virtual machine uses a second file system stored in a second virtual machine disk, the first file system and the second file system being a same file system.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2014
From: ZELLERMAYER, GAL; PAZ, HILIK; AVITAL, AVSHI
To: VMWARE, INC.
Reel/Frame 033034/0823 →
Continuity (1)
Related Publication 20150278046A1 · Oct 1, 2015