Operating-System Exchanges Using Memory-Pointer Transfers

US2016306649A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016306649-A1
Application numberUS-201615189130-A
CountryUS
Kind codeA1
Filing dateJun 22, 2016
Priority dateJan 19, 2015
Publication dateOct 20, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An “old” hypervisor is upgraded to or otherwise replaced by a “new” hypervisor without migrating virtual machines to a standby computer. The old hypervisor partitions the computer that it controls between a source partition and a target partition. The hypervisor and its virtual machines initially run on the source partition, while a new hypervisor is installed on the target partition. The virtual machines are migrated to the new hypervisor without physically moving the in-memory virtual-machine data. Instead, the old hypervisor sends memory pointers, and the new hypervisor claims the respective memory locations storing the virtual-machine data. After all virtual machines are migrated, the old hypervisor bequeaths the hypervisor memory and a last processor that the old hypervisor requires to run. The new hypervisor claims the bequeathed processor and hypervisor memory after the old hypervisor terminates to complete the upgrade/exchange.

First claim

Opening claim text (preview).

What is claimed is: 1 . An operating-system (OS) exchange process comprising: executing a program set of at least one program on an old OS executing on a computer, the computer allocating respective memory ranges to each program of the program set; partitioning the computer to create a source partition and a target partition, each partition having at least one processor, the program set and the old OS executing on the source partition, the partitioning including installing and executing a new OS on the target partition; migrating the programs from the old OS to the new OS at least in part by, sending, by the old OS to the new OS, program memory pointers to locations in the source partition allocated to the program set, and claiming, by the new OS, memory referred to by the program memory pointers so that the locations are then within the target partition; and transferring resources from the source partition to the target partition and terminating the old OS. 2 . The OS exchange process of claim 2 wherein the old OS is an old hypervisor, the new OS is a new hypervisor, the program set is a virtual-machine set, and each program of the program set is a virtual machine. 3 . The OS exchange process of claim 2 wherein the memory pointers are virtual-machine memory pointers referring to memory locations associated with respective virtual machines and their respective virtual-machine monitors. 4 . The OS exchange process of claim 3 wherein the migrating further includes: prior to the sending, pausing, by the old hypervisor, a first virtual machine, and shutting down a VM monitor associated with the first virtual machine; and after the sending, initializing metadata and structures for the first virtual machine; and restarting, by the new hypervisor, the first virtual machine. 5 . The OS exchange process of claim 4 wherein the partitioning includes defining shared memory to be shared by the old hypervisor and the new hypervisor, the shared memory including a memory-pointer portion, the partitioning further including creating a memory-pointer flag that, when set, precludes the new hypervisor from reading from the memory-pointer portion of shared memory. 6 . The OS exchange process of claim 5 wherein migrating further includes: unsetting, by the old hypervisor, the memory-pointer so that the new hypervisor can read memory pointers from the memory-pointer portion of shared memory; and setting, by the new hypervisor, the memory pointer flag after the memory pointers are read by the new hypervisor. 7 . The OS exchange process of claim 5 wherein the partitioning further includes passing, by the old hypervisor to the new hypervisor, a memory map specifying memory locations for the entire machine, the map identifying memory locations to be exclusively available to the new hypervisor as well as locations of shared memory. 8 . The OS exchange process of claim 2 wherein the transferring resources includes bequeathing, by the old hypervisor to the new hypervisor, hypervisor memory associated with the old hypervisor. 9 . The OS exchange process of claim 8 wherein the bequeathing includes: writing, by the old hypervisor to shared memory, hypervisor memory pointers referring to hypervisor memory locations, and a time-out value corresponding to a time at which the old hypervisor will have been terminated; and after a time set using the time-out expires and after the old hypervisor expires, claiming by the new hypervisor memory referred to by the hypervisor memory pointers. 10 . The OS exchange process of claim 8 wherein the bequeathing also includes claiming by the new processor, a last processor used by the old hypervisor after all the virtual machines have been migrated to the new hypervisor. 11 . The OS exchange process of claim 10 wherein the partitioning includes defining shared memory to be accessible by both the old hypervisor and the new hypervisor, defining a memory-pointer flag that, when set, precludes the new hypervisor from reading from a memory-pointer portion of shared memory to which the hypervisor memory pointers are written, the old hypervisor unsetting the memory-pointer flag upon writing the hypervisor memory pointers to the memory-pointer portion of shared memory. 12 . An operating-system (OS) exchange system comprising non-transitory media encoded with code that, when executed by a processor, implements a process including: executing a program set of at least one program on an old OS executing on a computer system, the computer system allocating respective memory ranges to each program of the program set; partitioning the computer system to create a source partition and a target partition, each partition having at least one processor, the program set and the old OS executing on the source partition, the partitioning including installing and executing a new OS on the target partition; migrating the programs from the old OS to the new OS at least in part by, sending, by the old OS to the new OS, program memory pointers to locations in the source partition allocated to the program set, and claiming, by the new OS, memory referred to by the program memory pointers; and transferring resources from the source partition to the target partition and terminating the old OS. 13 . The OS exchange system of claim 12 wherein the old OS is an old hypervisor, the new OS is a new hypervisor, the program set is a virtual-machine set, and each program of the program set is a virtual machine. 14 . The OS exchange system of claim 13 wherein the memory pointers are virtual-machine memory pointers referring to memory locations associated with respective virtual machines and their respective virtual-machine monitors. 15 . The OS exchange system of claim 14 wherein the migrating further includes: prior to the sending, pausing, by the old hypervisor, a first virtual machine, and shutting down a VM monitor associated with the first virtual machine; and after the sending, initializing metadata and structures for the first virtual machine, and restarting, by the new hypervisor, the first virtual machine. 16 . The OS exchange system of claim 15 wherein the partitioning includes defining shared memory to be shared by the old hypervisor and the new hypervisor, the shared memory including a memory-pointer portion, the partitioning further including creating a memory-pointer flag that, when set, precludes the new hypervisor from reading from the memory-pointer portion of shared memory. 17 . The OS exchange system of claim 16 further wherein the migrating further includes: unsetting, by the old hypervisor, the memory-pointer flag so that the new hypervisor can read memory pointers from the controlled portion of shared memory; and setting, by the new hypervisor, the memory-pointer flag after the memory pointers are read by the new hypervisor. 18 . The OS exchange system of claim 16 wherein the partitioning further includes passing, by the old hypervisor to the new hypervisor, a memory map specifying memory locations for the entire machine, the map identifying memory locations to be exclusively available to the new hypervisor, and locations of shared memory. 19 . The OS exchange system of claim 13 wherein the transferring resources includes bequeathing, by the old hypervisor to the new hypervisor, hypervisor memory associated with the old hypervisor. 20 . The OS exchange system of claim 19 wherein the bequeathing includes: writing, by the old hypervisor to shared memo

Assignees

Inventors

Classifications

  • Starting, stopping, suspending or resuming virtual machine instances · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Loading of operating system · CPC title

  • while running · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016306649A1 cover?
An “old” hypervisor is upgraded to or otherwise replaced by a “new” hypervisor without migrating virtual machines to a standby computer. The old hypervisor partitions the computer that it controls between a source partition and a target partition. The hypervisor and its virtual machines initially run on the source partition, while a new hypervisor is installed on the target partition. The virtu…
Who is the assignee on this patent?
Gunti Mukund, Sekhar Vishnu, Venkatasubramanian Rajesh, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Oct 20 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).