IP Library Granted Patent US 10,824,457
Granted Patent B2
US 10,824,457 · App. 15/941,665 · Granted Nov 3, 2020

High availability for virtual machines

Inventors: Tony Devadason Titus (Milpitas, CA); Samir Bhattacharya (Pleasanton, CA)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
G06F9/45558G06F9/50G06F11/0712G06F11/0757G06F11/1484G06F11/2023G06F2009/45575G06F2009/45591G06F2009/45595G06F2201/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 10,824,457
App. No.
15/941,665
Granted
Nov 3, 2020
Kind
B2
Abstract

Systems, methods, apparatus, and a computer-readable medium are described for generating and receiving information regarding the current state of the active virtual machine in the host and switching the standby virtual machine from standby to active in response to determining that the current active virtual machine may no longer be able to service network packets.

Claims (44)

1. A network device, comprising:

a memory;

a processor comprising virtualization extensions and configured to load instructions from the memory and execute the instructions to provide:

a hypervisor, comprising:

an operating system for managing memory, input-output devices and scheduling of execution of tasks on the processor;

a kernel virtualization module for the operating system that is configured to execute in kernel mode and use the virtualization extensions of the processor for enabling virtualization;

one or more user virtualization processes configured to:

execute in user mode and interface with the kernel virtualization module for enabling virtualization, and

provide access to virtual hardware resources to a virtual machine;

a monitor module configured to execute in the user mode, and monitor the virtual hardware resources associated with virtual machines;

an active virtual machine, instantiated by the hypervisor, for processing network packets;

a standby virtual machine, instantiated by the hypervisor, that does not process network packets while the active virtual machine processes the network packets; and

the monitor of the hypervisor further configured to:

detect a change in a status of a virtual hardware resource associated with the active virtual machine;

determine, based on the change in the status of the virtual hardware resource, to switch the standby virtual machine to the active virtual machine; and

switch the standby virtual machine to the active virtual machine.

2. The network device of claim 1 , wherein the monitor is further configured to attach hardware resources to the active virtual machine after performing the switch of the standby virtual machine to the active virtual machine.

3. The network device of claim 2 , wherein the hardware resource is a network interface.

4. The network device of claim 2 , wherein the hardware resource is a display console.

5. The network device of claim 1 , wherein the change in the status of the virtual hardware resource is in response to a guest operating system panic event from a guest operating system executing in the virtual machine.

6. The network device of claim 1 , wherein the change in the status of the virtual hardware resource is in response to a guest process panic event from the virtual machine.

7. The network device of claim 1 , wherein the change in the status of the virtual hardware resource is in response to a watchdog timer event from the virtual machine.

8. The network device of claim 1 , wherein the change in the status of the virtual hardware resource is in response to a lack of receiving a ping event for a pre-determined amount of time.

9. The network device of claim 1 , wherein the kernel virtualization module is a kernel-based virtual machine (KVM).

10. The network device of claim 1 , wherein the one or more user virtualization processes are one or more of LibVirt or Qemu.

11. A method, comprising:

determining change in status of a virtualized hardware resource associated with an active virtual machine, wherein

the active virtual machine processes network packets and is hosted by host software that includes an operating system and a kernel virtualization module, and

the virtualized hardware resources are virtualized by one or more user virtualization processes;

executing the kernel virtualization module for the operating system in kernel mode and using virtualization extensions for enabling virtualization;

executing the one or more user virtualization processes in user mode to interface with the kernel virtualization module for enabling virtualization;

providing, by the one or more user virtualization processes, access to the virtualized hardware resources to a virtual machine;

monitoring, by a monitor module configured to execute in the user mode, the virtual hardware resources associated with virtual machines;

determining, by the monitor module, based on the change in the status of the virtual hardware resource, to switch a standby virtual machine to active virtual machine, wherein the standby virtual machine does not process network packets while the active virtual machine processes the network packets; and

switching, by the monitor module, the standby virtual machine to the active virtual machine.

12. The method of claim 11 , further comprising attaching hardware resources to the active virtual machine after switching of the standby virtual machine to the active virtual machine.

13. The method of claim 12 , wherein the hardware resource is a network interface.

14. The method of claim 12 , wherein the hardware resource is a display console.

15. The method of claim 11 , wherein the change in the status of the virtual hardware resource is in response to a guest operating system panic event from a guest operating system executing in the virtual machine.

16. The method of claim 11 , wherein the change in the status of the virtual hardware resource is in response to a guest process panic event from the virtual machine.

17. The method of claim 11 , wherein the change in the status of the virtual hardware resource is in response to a watchdog timer event from the virtual machine.

18. The method of claim 11 , wherein the change in the status of the virtual hardware resource is in response to a lack of receiving a ping event for a pre-determined amount of time.

19. The method of claim 11 , wherein the kernel virtualization module is a kernel-based virtual machine (KVM).

20. The method of claim 11 , wherein the one or more user virtualization processes are one or more of LibVirt or Qemu.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Aug 24, 2018
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 046943/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2018
From: TITUS, TONY DEVADASON; BHATTACHARYA, SAMIR
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 046687/0712 →
Continuity (3)
Continuation PCTUS2017033142 · May 17, 2017
Provisional Application 62343744 · May 31, 2016
Related Publication 20180225140A1 · Aug 9, 2018