Copy-on-write by origin host in virtual machine live migration
First Claim
Patent Images
1. A method, comprising:
- intercepting, by a processor of a first computer system, a write access to a memory page by a virtual machine undergoing live migration from the first computer system to a second computer system;
storing a transformed copy of the memory page in a memory of the first computer system, wherein the transformed copy of the memory page comprises a first plurality of parts of the memory page, the first plurality of parts associated with a first plurality of values of a hash function;
making the memory page writable for the virtual machine to modify the memory page into a modified memory page, wherein the modified memory page is transformed, by the processor, into a second plurality of parts, the second plurality of parts associated with a second plurality of values of the hash function;
identifying, by comparing the first plurality of values of the hash function and the second plurality of values of the hash function, parts of the modified memory page that are different than parts of the transformed copy of the memory page; and
responsive to determining, by the processor, that a number of the identified parts of the modified memory page exceeds a first defined threshold value and falls below a second defined threshold value, transmitting the identified parts of the modified memory page to the second computer system.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for reducing network traffic in virtual machine live migration. An example method may comprise: intercepting, by a first computer system, a write access to a memory page by a virtual machine undergoing live migration from the first computer system to a second computer system; storing a copy of the memory page in a memory before allowing the virtual machine to modify the memory page; identifying data to be transmitted to the second computer system responsive to comparing the memory page and the copy of the memory page; and transmitting the data to the second computer system.
44 Citations
22 Claims
-
1. A method, comprising:
-
intercepting, by a processor of a first computer system, a write access to a memory page by a virtual machine undergoing live migration from the first computer system to a second computer system; storing a transformed copy of the memory page in a memory of the first computer system, wherein the transformed copy of the memory page comprises a first plurality of parts of the memory page, the first plurality of parts associated with a first plurality of values of a hash function; making the memory page writable for the virtual machine to modify the memory page into a modified memory page, wherein the modified memory page is transformed, by the processor, into a second plurality of parts, the second plurality of parts associated with a second plurality of values of the hash function; identifying, by comparing the first plurality of values of the hash function and the second plurality of values of the hash function, parts of the modified memory page that are different than parts of the transformed copy of the memory page; and responsive to determining, by the processor, that a number of the identified parts of the modified memory page exceeds a first defined threshold value and falls below a second defined threshold value, transmitting the identified parts of the modified memory page to the second computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A first computer system, comprising:
-
a memory; and a processor, operatively coupled to the memory, to; intercept a write access to a memory page by a virtual machine undergoing live migration from the first computer system to a second computer system; store a transformed copy of the memory page in a memory of the first computer system, wherein the transformed copy of the memory page comprises a first plurality of parts of the memory page, the first plurality of parts are associated with a first plurality of values of a hash function; make the memory page writable for the virtual machine to modify the memory page into a modified memory page, wherein the modified memory page is transformed, by the processor, into a second plurality of parts, the second plurality of parts associated with a second plurality of values of the hash function; identify, by comparing the first plurality of values of the hash function and the second plurality of values of the hash function, parts of the modified memory page that are different than parts of the transformed copy of the memory page; responsive to determining that a number of the identified parts of the modified memory page exceeds a first defined threshold value and falls below a second defined threshold value, transmit the identified parts of the modified memory page to the second computer system. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable non-transitory storage medium comprising executable instructions that, when executed by a processor of a first computer system, cause the processor to:
-
intercept a write access to a memory page by a virtual machine undergoing live migration from the first computer system to a second computer system; store a transformed copy of the memory page in a memory of the first computer system, wherein the transformed copy of the memory page comprises a first plurality of parts of the memory page, the first plurality of parts are associated with a first plurality of values of a hash function; make the memory page writable for the virtual machine to modify the memory page into a modified memory page, wherein the modified memory page is transformed, by the processor, into a second plurality of parts, the second plurality of parts associated with a second plurality of values of the hash function; identify, by comparing the first plurality of values of the hash function and the second plurality of values of the hash function, parts of the modified memory page that are different than parts of the transformed copy of the memory page; and responsive to determining that a number of the identified parts of the modified memory page exceeds a first defined threshold value and falls below a second defined threshold value, transmit the identified parts of the modified memory page to the second computer system. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification