Managing virtual machine instances utilizing an offload device

US2016170785A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016170785-A1
Application numberUS-201414567789-A
CountryUS
Kind codeA1
Filing dateDec 11, 2014
Priority dateDec 11, 2014
Publication dateJun 16, 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.

Generally described, the present application relates to systems and methods for the managing virtual machines instances using a physical computing device and an offload device. The offload device can be a separate computing device that includes computing resources (e.g., processor and memory) separate from the computing resources of the physical computing device. The offload device can be connected to the physical computing device via a interconnect interface. The interconnect interface can be a high speed, high throughput, low latency interface such as a Peripheral Component Interconnect Express (PCIe) interface. The offload device can be used to offload virtualization and processing of virtual components from the physical computing device, thereby increasing the computing resources available to the virtual machine instances.

First claim

Opening claim text (preview).

1 . A computing system comprising: a physical computing device comprising a hardware interconnect interface, one or more processors and memory, wherein the one or more processors are configured to execute instructions that, upon execution, configure the physical computing device to: execute a virtual machine monitor configured to manage a virtual machine instance, wherein the virtual machine instance is assigned virtual processing resources and virtual memory resources corresponding to allocations of computing resources of the physical computing device; an offload device operably coupled to the physical computing device via the hardware interconnect interface, the offload device comprising: an offload device processor configured to execute instructions stored in offload device memory that, upon execution, configures the offload device to: instantiate one or more virtual input/output (I/O) components, wherein the virtual I/O components are configured to emulate one or more devices to perform at least one I/O function on behalf of the virtual machine instance, wherein the virtual I/O components are instantiated in the offload device memory; wherein the virtual machine monitor is configured to provide addressing information associated with the one or more virtual I/O components to the virtual machine instance [[such]] so that at least some of the I/O requests generated by the virtual machine instance are performed by the one or more virtual I/O components of the offload device. 2 . The system of claim 1 , wherein a portion of the plurality of virtual I/O components communicate directly with the virtual machine instance. 3 . The system of claim 2 , wherein the configuration of the plurality of virtual I/O components is based on the configuration of the virtual machine instances. 4 . The system of claim 1 , wherein a portion of the virtual components communicate with the virtual machine instance indirectly via the virtual machine monitor. 5 . The system of claim 4 , wherein the virtual machine monitor utilizes a translation table containing routing information for directing communication between the portion of the plurality of virtual I/O devices and the virtual machine instances. 6 . The system of claim 1 , wherein the interconnect interface is a Peripheral Component Interconnect Express interface. 7 . The system of claim 1 , wherein the virtual I/O components comprise at least one of are at least one of a storage controller, network interface controller, or a programmable interrupt controller. 8 . A computer-implemented method comprising: determining, by a virtual machine monitor, a configuration of a virtual machine instance, wherein the configuration of the virtual machine instance defines a plurality of virtual input/output (I/O) components associated with the virtual machine instance for instantiation on an offload device; instantiating, by the virtual machine monitor, the virtual machine instance on the physical computing device, wherein the virtual machine instance is instantiated using the hardware computing resources of the physical computing device; instantiating, by the offload device, at least a portion of the defined plurality of virtual I/O components associated with the virtual machine instance on the offload device, wherein the plurality of virtual I/O components are instantiated using the hardware computing resources of the offload device, wherein the portion of the virtual I/O components are configured to emulate one or more devices of the virtual machine instance; and providing addressing information of the plurality virtual I/O components on the offload device to the virtual machine instance so that at least some of the I/O requests generated by the virtual machine instance are performed by the portion of the virtual I/O components. 9 . The method of claim 8 further comprising: receiving am I/O request from the virtual machine instance, identifying routing information for a virtual I/O component of the plurality of based, at least in part, on a translation table; and routing the I/O request to the virtual I/O component based, at least in part, on the identified routing information. 10 . The method of claim 9 , wherein the translation table is associated with a portion of the plurality of virtual I/O components. 11 . The method of claim 8 further comprising instantiating a plurality of virtual machine instances on the physical computing device. 12 . The method of claim 8 further comprising instantiating at least one virtual I/O device on the physical computing device. 13 . The method of claim 8 , wherein the addressing information comprises memory addresses of the offload device assigned to the virtual I/O component. 14 . An offload device comprising: an offload device configured to be coupled to a physical computing device via an interconnect interface on the physical computing device, the offload device comprising: an offload device processor configured to execute instructions stored in offload device memory that, upon execution, configures the offload device to: instantiate a plurality of virtual input/output (I/O) components based, at least in part, on configuration instructions, the virtual I/O components configured to emulate one or more physical I/O components, wherein the virtual I/O components are instantiated in the offload device memory, wherein each of the virtual I/O components are associated with a virtual machine instance hosted on the physical computing device, wherein the plurality virtual I/O components are configured to emulate one or more devices to perform at least one I/O function on behalf of the virtual machine instance hosted on the physical computing device; process I/O requests using the virtual I/O components that are received to addressing information made available to one or more virtual machine instances and received via the interconnect interface . 15 . The offload device of claim 14 , wherein the configuration instructions are received from a control plane manager via a network. 16 . The offload device of claim 14 , wherein a portion of the plurality of virtual I/O devices communicate directly with the virtual machine instances using memory-mapped I/O. 17 . The offload device of claim 14 , wherein a portion of the virtual components communicate with the virtual machine instances indirectly via a virtual machine monitor on the physical computing device. 18 . The offload device of claim 14 , wherein the configuration instructions identify the virtual I/O components for instantiation on the offload device. 19 . The offload device of claim 14 , the virtual I/O components comprise at least one of are at least one of a storage controller, network interface controller, or a programmable interrupt controller. 20 . The offload device of claim 14 , wherein the addressing information comprises memory addresses of the offload device assigned to the virtual I/O component.

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • the resource being the memory · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · 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 US2016170785A1 cover?
Generally described, the present application relates to systems and methods for the managing virtual machines instances using a physical computing device and an offload device. The offload device can be a separate computing device that includes computing resources (e.g., processor and memory) separate from the computing resources of the physical computing device. The offload device can be conne…
Who is the assignee on this patent?
Amazon Tech Inc
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 Jun 16 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).