Eliding redundant copying for virtual machine migration
US-10884790-B1 · Jan 5, 2021 · US
US2022357972A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2022357972-A1 |
| Application number | US-202217728830-A |
| Country | US |
| Kind code | A1 |
| Filing date | Apr 25, 2022 |
| Priority date | Nov 11, 2014 |
| Publication date | Nov 10, 2022 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A task definition is received. The task definition indicates at least a location from which one or more software image can be obtained and information usable to determine an amount of resources to allocate to one or more software containers for the one or more software image. A set of virtual machine instances in which to launch the one or more software containers is determined, the one or more software image is obtained from the location included in the task definition and is launched as the one or more of software containers within the set of virtual machine instances.
Opening claim text (preview).
1 - 20 . (canceled) 21 . A computer-implemented method, comprising: grouping a plurality of virtual machines into a cluster to execute a plurality of tasks by associating the plurality of virtual machines with the cluster using a cluster identifier, the plurality of virtual machines associated with a customer of a computing resource service provider that are configured to run one or more software containers; obtaining an image of a software container configured to execute within a virtual machine, wherein the software container comprises data and one or more processes which, when executed in the virtual machine, are isolated from other processes running within the virtual machine; receiving a request to launch a set of images to execute the plurality of tasks, the set of images including the image of the software container, in accordance with a task definition, wherein the task definition identifies a set of software containers, including the software container, that are assigned to start as a group, wherein the request specifies the cluster identifier of the cluster; and responsive to the receiving the request to execute the plurality of tasks, launching the set of images to yield running software containers within at least a subset of the plurality of virtual machines to execute the plurality of tasks in accordance with the task definition. 22 . The computer implemented method of claim 21 , wherein the request further comprises: a placement scheme including an indication of how to allocate individual software containers of the set of software containers across the plurality of virtual machines; and wherein the method further comprises: launching the set of images across the plurality of virtual machines according to the placement scheme to execute the plurality of tasks. 23 . The computer implemented method of claim 22 , wherein the placement scheme is configured to evenly distribute tasks of the plurality of tasks across the plurality of virtual machines. 24 . The computer-implemented method of claim 22 , wherein at least some individual virtual machines of the plurality of virtual machines are associated with a tag, wherein the placement scheme is configured to distribute tasks of the plurality of tasks across the plurality of virtual machines based on the tags associated with at least some of the individual virtual machines. 25 . The computer-implemented method of claim 22 , wherein at least some individual virtual machines of the plurality of virtual machines are associated with a tag, wherein the placement scheme is configured to allocate at least two tasks of the plurality of tasks to an individual virtual machine based on the tag associated with the individual virtual machine. 26 . The computer-implemented method of claim 21 , further comprising: responsive to receiving a request to deregister a first virtual machine from the cluster: disassociating the cluster identifier from the first virtual machine; and ending tasks of the plurality of tasks executing with running software containers of the virtual machine. 27 . The computer-implemented method of claim 26 , further comprising: responsive to receiving a request to register the virtual machine with a second cluster: associating a second cluster identifier with the virtual machine; and loading at least one image of the set of images or a second set of images to yield at least one running software container on the first virtual machine. 28 . The computer-implemented method of claim 21 , further comprising: autoscaling at least one of the number of the plurality of virtual machines or a resource allocation of at least one of the plurality of virtual machines, associated with the cluster identifier, up or down based on resource usage of the plurality of virtual machines. 29 . A system, comprising: one or more processors; and memory storing computer-executable instructions that, upon execution, cause the one or more processors to: associate a plurality of virtual machines into a cluster using a cluster identifier, the plurality of virtual machines associated with a customer of a computing resource service provider that are configured to run one or more software containers; obtaining an image of a software container configured to execute within a virtual machine; receiving a request to launch a set of images to execute the task, the set of images including the image of the software container, in accordance with a task definition, wherein the task definition identifies a set of software containers, including the software container, that are assigned to start as a group, wherein the request specifies the cluster identifier of the cluster; and responsive to the receiving the request to execute the task, launching the set of images to yield running software containers within at least a subset of the plurality of virtual machines to execute the task in accordance with the task definition. 30 . The system of claim 29 , wherein the cluster is associated with a placement scheme including an indication of how to allocate individual software containers of the set of software containers across the plurality of virtual machines; and wherein the memory stores additional computer-executable instructions that, upon execution, cause the one or more processors to: assign the set of images across the plurality of virtual machines according to the placement scheme to execute the task. 31 . The system of claim 30 , wherein at least some individual virtual machines of the plurality of virtual machines are associated with an individual tag of a plurality of tags, wherein the placement scheme is configured to distribute subprocesses of the task across the plurality of virtual machines based on the tags associated with at least some of the individual virtual machines. 32 . The system of claim 31 , wherein the individual tags indicate a relationship between a software container, a virtual machine, and a task or a subprocess of the task. 33 . The system of claim 31 , wherein a first individual virtual machine of the plurality of virtual machines is associated with a first tag, wherein a second individual virtual machine of the plurality of virtual machines is associated with a second tag, and wherein the placement scheme is configured to allocate subprocesses of the task to the first and second individual virtual machines based on the first tag and the second tag. 34 . The system of claim 29 , wherein the memory stores additional computer-executable instructions that, upon execution, cause the one or more processors to: responsive to receiving a request to move a first virtual machine from the cluster to a second cluster: disassociate the cluster identifier from the first virtual machine; end sub processes of the task executing with at least one running software container of the first virtual machine; associate a second cluster identifier with the virtual machine; and load at least one image of the set of images or a second set of images associated with a second task definition to yield at least one running software container on the first virtual machine. 35 . The system of claim 29 , wherein the memory stores additional computer-executable instructions that, upon execution, cause the one or more processors to: scale at least one of the number of the plurality of virtual machines or a resource allocation of at least one of the plurality of virtual machines, associated with the cluster identifier up or down based on resource usage of the plurality of virtual machines. 36 . A non-transitory computer-
considering software capabilities, i.e. software resources associated or available to the machine · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
Hypervisors; Virtual machine monitors · CPC title
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
to service a request · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.