Virtual machine memory management
First Claim
1. A computer-implemented method comprising:
- receiving a notification that contents of a first memory page for a first virtual machine on a first host machine are the same as contents of a second memory page for a second virtual machine on a second different host machine, wherein a memory page is a segment of computer-executable instructions or data;
deallocating storage space occupied by the first memory page on the first host machine in response to receiving the notification;
receiving a request from the first virtual machine for the first memory page; and
in response to the request, obtaining a copy of contents of the second memory page from the second host machine.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for determining image search results. One of the methods includes receiving a notification that contents of a first memory page for a first virtual machine on a first host machine are the same as contents of a second memory page for a second virtual machine on a second different host machine. Storage space occupied by the first memory page on the first host machine is deallocated based on the notification. A request from the first virtual machine for the first memory page is received. In response to the request, a copy of contents of the second memory page is obtained from the second host machine.
-
Citations
25 Claims
-
1. A computer-implemented method comprising:
-
receiving a notification that contents of a first memory page for a first virtual machine on a first host machine are the same as contents of a second memory page for a second virtual machine on a second different host machine, wherein a memory page is a segment of computer-executable instructions or data; deallocating storage space occupied by the first memory page on the first host machine in response to receiving the notification; receiving a request from the first virtual machine for the first memory page; and in response to the request, obtaining a copy of contents of the second memory page from the second host machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 24)
-
-
9. A computer-implemented method comprising:
-
determining that multiple memory pages whose contents are the same are used by multiple different virtual machines that are each hosted by a different respective host machine of a plurality of host machines; storing, by a first host machine, contents of a memory page from one of the multiple memory pages whose contents are the same; receiving, from a different second host machine that previously deallocated memory space storing the contents of the memory page, a request for location information of the stored contents of the memory page; and providing, to the second host machine in response to the request, location information identifying a location of the contents of the memory page stored by the first host machine. - View Dependent Claims (10, 11, 12, 22)
-
-
13. A system comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; receiving a notification that contents of a first memory page for a first virtual machine on a first host machine are the same as contents of a second memory page for a second virtual machine on a second different host machine, wherein a memory page is a segment of computer-executable instructions or data; deallocating storage space occupied by the first memory page on the first host machine in response to receiving the notification; receiving a request from the first virtual machine for the first memory page; and in response to the request, obtaining a copy of contents of the second memory page from the second host machine. - View Dependent Claims (14, 15, 16, 17, 18, 25)
-
-
19. A system comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; determining that multiple memory pages whose contents are the same are used by multiple different virtual machines that are each hosted by a different respective host machine of a plurality of host machines; storing, by a first host machine, contents of a memory page from one of the multiple memory pages whose contents are the same; receiving, from a different second host machine that previously deallocated memory space storing the contents of the memory page, a request for location information of the stored contents of the memory page; and providing, to the second host machine in response to the request, location information identifying a location of the contents of the memory page stored by the first host machine. - View Dependent Claims (20, 21, 23)
-
Specification