IP Library Granted Patent US 12,093,713
Granted Patent B2
US 12,093,713 · App. 17/229,996 · Granted Sep 17, 2024

Systems and methods for live update of operating systems and hypervisors within virtualization systems

Inventors: Kartik Gopalan (Vestal, NY); Hui Lu (Binghamton, NY)
Assignee: Research Foundation for the State University of New York
G06F9/45558G06F2009/45583
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 12,093,713
App. No.
17/229,996
Granted
Sep 17, 2024
Kind
B2
Abstract

Systems and methods for live updating virtualization systems are disclosed. One method may include identifying a container on a first virtual machine of a virtualization system. The container may include at least one process associated with performing a task on a first virtual machine. The method may also include determining a first communication path between the process included in the container on the first virtual machine and a hypervisor of the virtualization system, and migrating the container and the process included in the container to a second virtual machine. The second virtual machine may be distinct from the first virtual machine. Additionally, the method may include determining a second communication path between the process included in the migrated container on the second virtual machine and the hypervisor of the virtualization system.

Claims (58)

1. A method for migrating a container in a virtualization system, the method comprising:

identifying the container on a first virtual machine of the virtualization system, the container including a process associated with performing a task on the first virtual machine;

determining a first communication path between the process included in the container on the first virtual machine and a hypervisor of the virtualization system by;

identifying a guest virtual address (GVA) associated with the process included in the container, the GVA included within the first virtual machine;

mapping the GVA associated with the process to a first guest physical address (GPA) associated with the process using a first page table, the first GPA and the first page table included within the first virtual machine; and

mapping the first GPA associated with the process to a host physical address (HPA) associated with the process using an extended page table, the HPA and the extended page table included within the hypervisor;

migrating the container and the process included in the container to a second virtual machine, the second virtual machine distinct form the first virtual machine; and

determining a second communication path between the process included in the migrated container on the second virtual machine and the hypervisor of the virtualization system.

2. The method of claim 1 , wherein the first virtual machine and second virtual machine are located on the same physical computing machine.

3. The method of claim 1 , wherein determining the second communication path between the process included in the migrated container on the second virtual machine and the hypervisor of the virtualization system further includes:

identifying the GVA associated with the process included in the migrated container, the GVA included within the second virtual machine being identical to the GVA associated with the process included in the container included within the first virtual machine;

mapping the GVA associated with the process to a second guest physical address (GPA′) associated with the process using a second page table, the second GPA′ and the second page table included within the second virtual machine; and

mapping the second GPA′ associated with the process to the HPA associated with the process using the extended page table.

4. The method of claim 3 , wherein mapping the second GPA′ associated with the process to the HP A further includes:

utilizing an mWarp table included within the hypervisor to aid in the mapping of the second GPA associated with the process to the HPA on the hypervisor, the mWarp table including predetermined data relating to the mapping of the GVA to the HPA in each of the first virtual machine and the second virtual machine, respectively.

5. The method of claim 3 , wherein the second GPA′ included in the second virtual machine is distinct from the first GPA included in the first virtual machine.

6. The method of claim 3 , wherein the second page table included in the second virtual machine is distinct from the first page table included in the first virtual machine.

7. A method for replacing hypervisors in a virtualization system, the method comprising:

identifying a process associated with performing a task on a virtual machine of the virtualization system;

determining a first communication path between the process included on the virtual machine and a hyperplexor of the virtualization system via a first hypervisor, the first hypervisor communicatively connected to the virtual machine and the hyperplexor, the determining by;

identifying a guest virtual address (GVA) associated with the process included on the virtual machine, the GVA included within the virtual machine;

mapping the GVA associated with the process to a guest physical address (GPA) associated with the process using a page table, the GPA and the page table included within the virtual machine;

mapping the GPA associated with the process to a first hypervisor physical address (HYPA) associated with the process using a first virtual extended page table, the first HYPA and the first virtual extended page table included within the first hypervisor; and

mapping the first HYPA associated with the process to a host physical address (HPA) associated with the process using a first extended page table, the HPA and the first extended page table included within the hyperplexor;

replacing the first hypervisor of the virtualization system with a second hypervisor, the second hypervisor communicatively connected to the virtual machine and the hyperplexor; and

determining a second communication path between the process included on the virtual machine and the hyperplexor of the virtualization system via the second hypervisor.

8. The method of claim 7 , wherein the first virtual machine and second virtual machine are located on the same physical computing machine.

9. The method of claim 1 , wherein determining the second communication path between the process included on the virtual machine and the hyperplexor of the virtualization system via the second hypervisor further includes:

mapping the GPA associated with the process to a second hypervisor physical address (HYPA′) associated with the process using a second virtual extended page table, the second HYPA′ and the second virtual extended page table included within the second hypervisor; and

mapping the second HYPA′ associated with the process to the host physical address (HPA) associated with the process using a second extended page table, the HPA and the second extended page table included within the hyperplexor.

10. The method of claim 9 , wherein mapping the second HYPA′ associated with the process to the HPA further includes:

utilizing a HyperFresh table included within the hyperplexor to aid in the mapping of the second HYPA′ associated with the process to the HPA on the hyperplexor, the HyperFresh table including predetermined data relating to the mapping of the GPA included in the virtual machine to the HPA in the hyperplexor using each of the first hypervisor and the second hypervisor, respectively.

11. The method of claim 9 , wherein the second virtual extended page table included in the second hypervisor is distinct from the first virtual extended page table included in the first hypervisor.

12. The method of claim 9 , wherein the second HYPA′ included in the second hypervisor is distinct from the first HYPA included in the first hypervisor.

13. The method of claim 9 , wherein the second extended page table included in the hyperplexor is distinct from the first extended page table included in the hyperplexor.

14. A method for replacing operating systems (OS) in a virtualization system, the method comprising:

identifying:

a container on a first virtual machine of the virtualization system, the container including a process associated with performing a task on first virtual machine, and

a first operating system (OS) included on the first virtual machine;

determining a first communication path between the process included in the container on the first virtual machine and a hypervisor of the virtualization system by:

identifying a guest virtual address (GVA) associated with the process included in the container, the GVA included within the first virtual machine;

mapping the GVA associated with the process to a first guest physical address (GPA) associated with the process using a first page table, the first GPA and the first page table included within the first virtual machine; and

mapping the first GPA associated with the process to a host physical address (HPA) associated with the process using a first extended page table, the HPA and the first extended page table included within the hypervisor;

migrating the container and the process included in the container to a second virtual machine, the second virtual machine distinct form the first virtual machine, and

wherein the second virtual machine includes a second operating system (OS) distinct from the first OS on the first virtual machine; and

determining a second communication path between the process included in the migrated container on the second virtual machine and the hypervisor of the virtualization system.

15. The method of claim 14 , wherein the first virtual machine and second virtual machine are located on the same physical computing machine.

16. The method of claim 14 , wherein determining the second communication path between the process included in the migrated container on the second virtual machine and the hypervisor of the virtualization system further includes:

identifying the GVA associated with the process included in the migrated container, the GVA included within the second virtual machine being identical to the GVA associated with the process included in the container included within the first virtual machine;

mapping the GVA associated with the process to a second guest physical address (GPA′) associated with the process using a second page table, the second GP A′ and the second page table included within the second virtual machine; and

mapping the second GPA′ associated with the process to the HP A associated with the process using a second extended page table, the second extended page table included within the hypervisor.

17. The method of claim 16 , wherein mapping the second GPA′ associated with the process to the HPA further includes:

utilizing a HyperFresh table included within the hypervisor to aid in the mapping of the second GPA′ associated with the process to the HPA on the hypervisor, the HyperFresh table including predetermined data relating to the mapping of the identical GVA included in each of the first virtual machine and the second virtual machine, respectively, to the HPA in the hypervisor using collectively each of:

the first page table in the first virtual machine, the first GPA in the first virtual machine, and the first extended page table in the hypervisor; and

the second page table in the second virtual machine, the second GPA′ in the second virtual machine, and the second extended page table in the hypervisor.

18. The method of claim 16 , wherein the second page table included in the second virtual machine is distinct from the first page table included in the first virtual machine.

19. The method of claim 16 , wherein the second GPA′ included in the second virtual machine is distinct from the first GPA included in the first virtual machine.

20. The method of claim 16 , wherein the second extended page table included in the hypervisor is distinct from the first extended page table included in the hypervisor.

Assignments (2)
CONFIRMATORY LICENSE Recorded Apr 7, 2025
From: THE RESEARCH FOUNDATION FOR THE STATE UNIVERSITY OF NEW YORK AT BINGHAMTON UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 070749/0364 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2021
From: GOPALAN, KARTIK; LU, HUI
To: THE RESEARCH FOUNDATION FOR THE STATE UNIVERSITY OF NEW YORK
Reel/Frame 056065/0951 →
Continuity (2)
Provisional Application 63009771 · Apr 14, 2020
Related Publication 20210318900A1 · Oct 14, 2021