Virtual machine homogenization to enable migration across heterogeneous computers

US2017075716A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017075716-A1
Application numberUS-201615360011-A
CountryUS
Kind codeA1
Filing dateNov 23, 2016
Priority dateMar 18, 2010
Publication dateMar 16, 2017
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.

Described is a technology by which a virtual machine may be safely migrated to a computer system with a different platform. Compatibility of the virtual machine may be checked by comparing the virtual machine's capabilities against those of the new platform. To ensure compatibility, when created the virtual machine may have its capabilities limited by the lowest common capabilities of the different platforms available for migration. Computer systems may be grouped into migration pools based upon similar capabilities, and/or a virtual machine may be mapped to certain computer systems based upon capabilities needed by that virtual machine, such as corresponding to needed performance, fault tolerance and/or flexibility.

First claim

Opening claim text (preview).

1 . In a computing environment, a method performed on at least one processor, comprising: identifying at least two of a plurality of computer systems having different hardware-related capabilities; limiting a virtual machine on a computer system of the plurality of computer systems to a compatible set of hardware-related characteristics that is present among at least one of the plurality of computer systems to make the virtual machine compatible with any of the plurality of computer systems, the hardware-related characteristics including non-uniform memory access topologies, or non-uniform I/O access topologies, or both non-uniform memory access topologies and non-uniform I/O access topologies; and migrating the virtual machine from the computer system of the plurality of computer systems to another computer system of the plurality of computer systems. 2 . The method of claim 1 wherein limiting the the virtual machine comprises virtualizing a processor feature set provided to the virtual machine to match a lowest common processor feature set that is present among the plurality of computer systems. 3 . The method of claim 2 wherein virtualizing the processor feature set comprises selecting features common between different processors of a single vendor, selecting features common between different processors of different vendors, or both selecting features common between different processors of a single vendor and selecting features common between different processors of different vendors. 4 . The method of claim 1 wherein limiting the virtual machine comprises virtualizing processor cache characteristics to match a lowest common set of processor cache characteristics that is present among the plurality of computer systems. 5 . The method of claim 1 wherein limiting the virtual machine comprises virtualizing processor-related characteristics to match a lowest common set of processor-related characteristics that is present among the plurality of computer systems, the processor-related characteristics including characteristics of control registers, model-specific registers, memory type range registers or address range registers, or any combination of control registers, model-specific registers, memory type range registers or address range registers. 6 . The method of claim 1 wherein limiting the virtual machine comprises virtualizing hardware-related characteristics to match a lowest common set of hardware-related characteristics that is present among the plurality of computer systems, the hardware-related characteristics including non-uniform memory access topologies, or non-uniform I/O access topologies, or both non-uniform memory access topologies and non-uniform I/O access topologies, and further comprising providing a virtual non-uniform memory access topology based on a physical non-uniform memory access topology of the plurality of computer systems. 7 . The method of claim 1 further comprising, providing a virtual machine monitor that is compatible with a plurality of versions of virtual machines, or providing a virtual machine operating system that is compatible with a plurality of versions of virtual machine monitors, or both providing a virtual machine monitor that is compatible with a plurality of versions of virtual machines and providing a virtual machine operating system that is compatible with a plurality of versions of virtual machine monitors. 8 . The method of claim 1 wherein migrating the virtual machine includes verifying the compatibility of the virtual machine on the other computer system to which the virtual machine is being migrated. 9 . The method of claim 1 further comprising, persisting capability data of the virtual machine on the other computer system to which the virtual machine is being migrated. 10 . The method of claim 1 further comprising, configuring the virtual machine with a virtual machine-aware operating system that is operative to adjust to a virtual machine monitor version. 11 . The method of claim 1 further comprising, grouping computer systems based upon the hardware-related characteristics to provide a migration pool comprising the plurality of computer systems. 12 . In a computing environment, a method performed on at least one processor, comprising: receiving information corresponding to platform-related capabilities needed by a virtual machine, the platform-related capabilities corresponding to non-uniform memory access topologies, or non-uniform I/O access topologies, or both non-uniform memory access topologies and non-uniform I/O access topologies; receiving other information corresponding to platform-related capabilities of a plurality of computer systems; and mapping the virtual machine to a subset of the plurality of computer systems based upon which of the computer systems are capable of being compatible with the platform-related capabilities needed by the virtual machine. 13 . The method of claim 12 wherein receiving the information corresponding to the platform-related capabilities needed by the virtual machine comprises selecting the platform-related capabilities based upon needed performance, fault tolerance or flexibility, or any combination of performance, fault tolerance or flexibility. 14 . The method of claim 12 further comprising, running the virtual machine on one computer system of the subset, and migrating the virtual machine to another computer system of the subset, including verifying the compatibility of the virtual machine on the other computer system to which the virtual machine is being migrated. 15 . The method of claim 14 wherein verifying the compatibility includes providing capability data of the virtual machine to the other computer system, and further comprising, persisting the capability data of the virtual machine on the other computer system. 16 . The method of claim 14 wherein migrating the virtual machine includes, on the other computer system, obtaining CPUID instruction results in response to a CPUID instruction from the virtual machine, adjusting the CPUID instruction results into adjusted CPUID instruction results, returning the adjusted CPUID instruction results to the virtual machine, restarting the virtual machine, and persisting the adjusted CPUID instruction results. 17 . In a computing environment, a system comprising: a system manager coupled to a virtual machine monitor on each of the plurality of computer systems, the system manager controlling migration of a virtual machine from one computer system to another computer system of the plurality, including by providing capability data of the virtual machine to the virtual machine monitor of the other computer system for use in determining whether the virtual machine on the one computer system is compatible with the other computer system, and if so, limiting the virtual machine to a set of hardware-related characteristics that is present on the other computer system to make the virtual machine compatible with the other computer system, and performing the migration. 18 . The system of claim 17 wherein the virtual machine monitor of the one computer system limits capabilities of the virtual machine to less than the computer system's capabilities to make the virtual machine compatible with the other computer system. 19 . The system of claim 17 wherein the capability data of the virtual machine includes a processor feature set, processor cache characteristics, control register characteristics, model-specific register characteristics, memory type range register characteristics, a

Assignees

Inventors

Classifications

  • Improving or facilitating administration, e.g. storage management · CPC title

  • at device level, e.g. emulation of a storage device or system · CPC title

  • resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence) · CPC title

  • Migration mechanisms · CPC title

  • Plurality of storage devices · 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 US2017075716A1 cover?
Described is a technology by which a virtual machine may be safely migrated to a computer system with a different platform. Compatibility of the virtual machine may be checked by comparing the virtual machine's capabilities against those of the new platform. To ensure compatibility, when created the virtual machine may have its capabilities limited by the lowest common capabilities of the diffe…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
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 Mar 16 2017 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).