Managing nic-encrypted flows for migrating guests or tasks
US-2015326542-A1 · Nov 12, 2015 · US
US9639395B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9639395-B2 |
| Application number | US-201514724259-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 28, 2015 |
| Priority date | Apr 16, 2015 |
| Publication date | May 2, 2017 |
| Grant date | May 2, 2017 |
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.
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for memory requests by a virtual machine. One of the methods includes initiating a migration process to move an application executing on a first device from the first device to a second device by copying pages of data, stored in a memory of the first device and used for the execution of the application, from the first device to the second device while continuing to execute the application on the first device, updating, by the first device, one or more bytes in at least one of the pages of data in response to executing the application on the first device during the migration process, stopping execution of the application on the first device, and copying the updated bytes from the first device to the second device to cause the second device to continue execution of the application.
Opening claim text (preview).
What is claimed is: 1. A non-transitory computer readable storage medium storing instructions executable by a data processing apparatus and upon such execution cause the data processing apparatus to perform operations comprising: initiating a migration process to move an application executing on a first device from the first device to a second device by copying pages of data, stored in a memory of the first device and used for the execution of the application on the first device, from the first device to the second device while continuing to execute the application on the first device including copying a particular page that includes a first subset of bytes and a second subset of bytes that is a different subset than the first subset of bytes; creating a mapping for the application identifying locations in the memory of the pages of data; updating, by the first device, one or more bytes in the first subset of bytes in response to executing the application on the first device during the migration process by: modifying write permissions for the particular page to allow a helper to write data to the particular page and prevent the application from writing data to the particular page; updating, for the particular page, the mapping for the application to identify a corresponding page in the helper; determining, using the mapping for particular data to write to the particular page, that the particular page is mapped to the helper; receiving, by the helper, the particular data for the one or more bytes in the first subset of bytes that are to be updated in response to determining that the particular page is mapped to the helper; and updating, by the helper using the particular data, the one or more bytes in the first subset of bytes from the particular page; stopping execution of the application on the first device; and copying, from the first device to the second device, the updated bytes in the first subset of bytes from the particular page, without copying bytes in the second subset of bytes from the particular page, to cause the second device to continue execution of the application. 2. The computer readable storage medium of claim 1 , the operations comprising: executing the application on the first device including storing pages of data for the application in the memory of the first device, wherein the pages of data for the application comprise the particular page. 3. The computer readable storage medium of claim 2 , wherein executing the application on the first device comprises executing a virtual machine on the first device. 4. The computer readable storage medium of claim 1 , the operations comprising: storing, by the first device, data identifying the updated bytes in response to updating the one or more bytes in the first subset of bytes, wherein copying the updated bytes in the first subset of bytes from the particular page from the first device to the second device, without copying bytes in the second subset of bytes from the particular page, comprises: identifying the updated bytes using the data identifying the updated bytes; and copying the updated bytes in the first subset of bytes from the particular page from the first device to the second device, without copying bytes in the second subset of bytes from the particular page, in response to identifying the updated bytes using the data identifying the updated bytes. 5. The computer readable storage medium of claim 4 , the operations comprising: receiving, by the first device, the one or more bytes in the first subset of bytes; and determining, by the first device, that the one or more bytes are for the particular page for the application which is being migrated, wherein storing the data identifying the updated bytes is responsive to determining that the one or more bytes are for the particular page for the application which is being migrated. 6. The computer readable storage medium of claim 4 , the operations comprising: receiving a request for access to memory from the application; and determining that the request for access to memory is a write request, wherein storing the data identifying the updated bytes is responsive to determining that the request for access to memory is a write request. 7. The computer readable storage medium of claim 4 , wherein: storing, by the first device, the data identifying the updated bytes comprises updating, for the particular page, the mapping for the application to identify the corresponding page in the helper; and identifying the updated bytes using the data identifying the updated bytes comprises identifying the updated bytes using the mapping for the application that identifies the corresponding page in the helper. 8. The computer readable storage medium of claim 1 , wherein copying the updated bytes in the first subset of bytes from the particular page from the first device to the second device, without copying bytes in the second subset of bytes from the particular page, to cause the second device to continue execution of the application comprises copying only the updated bytes from the first device to the second device to cause the second device to continue execution of the application. 9. A system comprising: a first device including: a memory; a data processing apparatus; and a non-transitory computer readable storage medium in data communication with the data processing apparatus and storing instructions executable by the data processing apparatus and upon such execution cause the data processing apparatus to perform operations comprising: initiating a migration process to move an application executing on the first device from the first device to a second device by copying pages of data, stored in the memory of the first device and used for the execution of the application on the first device, from the first device to the second device while continuing to execute the application on the first device including copying a particular page that includes a first subset of bytes and a second subset of bytes that is a different subset than the first subset of bytes; creating a mapping for the application identifying locations in the memory of the pages of data; updating one or more bytes in the first subset of bytes in response to executing the application on the first device during the migration process by: modifying write permissions for the particular page to allow a helper to write data to the particular page and prevent the application from writing data to the particular page; updating, for the particular page, the mapping for the application to identify a corresponding page in the helper; determining, using the mapping for particular data to write to the particular page, that the particular page is mapped to the helper; receiving, by the helper, the particular data for the one or more bytes in the first subset of bytes that are to be updated in response to determining that the particular page is mapped to the helper; and updating, by the helper using the particular data, the one or more bytes in the first subset of bytes from the particular page; stopping execution of the application on the first device; and copying the updated bytes in the first subset of bytes from the particular page from the first device to the second device, without copying bytes in the second subset of bytes from the particular page, to cause the second device to continue execution of the application. 10. The system of claim 9 , the operations comprising: executing the application on the first device including storing pages of data for the application in the memory of the first device, wherein the pages of data for the application comprise the particular page. 11. The system
Related publications grouped by family.
Answers are generated from the same data shown on this page.