IP Library Granted Patent US 8,087,017
Granted Patent B1
US 8,087,017 · App. 12/100,238 · Granted Dec 27, 2011

Trace-assisted prefetching of virtual machines in a distributed system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,087,017
App. No.
12/100,238
Granted
Dec 27, 2011
Kind
B1
Abstract

The disclosed implementations related to prefetching of virtual machines. Some embodiments can receive a virtual disk including a first page table block corresponding to one or more other page table blocks or one or more data blocks. Next, the embodiments can generate a representation of the first page table block, the representation of the first page table block including presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk that are pointed to by the first page table block. The embodiments can then sign the representation of the first page table block. Next, the embodiments can use the signature and the generated position independent representation to verify the integrity of the first page table block, and/or change the offset of the one or more other page table blocks or the one or more data blocks.

Claims (64)

1. A method comprising:

receiving a virtual disk including a first page table block corresponding to one or more other page table blocks or one or more data blocks, the one or more other page table blocks or the one or more data blocks being in a first order;

generating a representation of the first page table block, the representation of the first page table block including presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk that are pointed to by the first page table block, the representation being position independent with respect to the one or more data blocks or one or more other page table blocks;

signing the representation of the first page table block, where signing the representation includes generating a signature for the first page table block; and

changing the offset of the one or more other page table blocks or the one or more data blocks such that the one or more other page table blocks or the one or more data blocks are in a new order.

2. The method of claim 1 , further comprising:

receiving the first page table block including the signature for the first page table block;

generating the position-independent representation from the first page table block; and

using the signature and the generated position-independent representation to verify the integrity of the first page table block, where the first page table block includes the presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk, pointed to by the first page table block, and in the new order.

3. The method of claim 1 , wherein each of the one or more other page table blocks and each of the one or more data blocks is signed.

4. The method of claim 1 , wherein each page table block and each data block has a corresponding virtual address, and a signature for a block includes the virtual address for the block inside the signature.

5. A method comprising:

receiving a virtual disk including a first page table block corresponding to one or more other page table blocks or one or more data blocks, the one or more other page table blocks or the one or more data blocks being in a first order;

generating a representation of the first page table block, the representation of the first page table block including presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk that are pointed to by the first page table block, the representation being position independent with respect to the one or more data blocks or one or more other page table blocks;

signing the representation of the first page table block, where signing the representation includes generating a signature for the first page table block;

receiving the first page table block including the signature for the first page table block;

generating the position independent representation from the first page table block; and

using the signature and the generated position independent representation to verify the integrity of the first page table block.

6. The method of claim 5 , wherein each of the one or more other page table blocks and each of the one or more data blocks is signed.

7. The method of claim 5 , wherein each page table block and each data block has a corresponding virtual address, and a signature for a block includes the virtual address for the block inside the signature.

8. A computer-program product tangibly embodied on a non-transitory computer-readable medium for storing instructions, which when executed by a processor, causes the processor to perform operations comprising:

receiving a virtual disk including a first page table block corresponding to one or more other page table blocks or one or more data blocks, the one or more other page table blocks or the one or more data blocks being in a first order;

generating a representation of the first page table block, the representation of the first page table block including presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk that are pointed to by the first page table block, the representation being position independent with respect to the one or more data blocks or one or more other page table blocks;

signing the representation of the first page table block, where signing the representation includes generating a signature for the first page table block; and

changing the offset of the one or more other page table blocks or the one or more data blocks such that the one or more other page table blocks or the one or more data blocks are in a new order.

9. The computer-program product of claim 8 , wherein the operations further comprise:

receiving the first page table block including the signature for the first page table block;

generating the position-independent representation from the first page table block; and

using the signature and the generated position-independent representation to verify the integrity of the first page table block, where the first page table block includes the presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk, pointed to by the first page table block, and in the new order.

10. The computer-program product of claim 8 , wherein each of the one or more other page table blocks and each of the one or more data blocks is signed.

11. The computer-program product of claim 8 , wherein each page table block and each data block has a corresponding virtual address, and a signature for a block includes the virtual address for the block inside the signature.

12. A computer-program product tangibly embodied on a non-transitory computer-readable medium for storing instructions, which when executed by a processor, causes the processor to perform operations comprising:

receiving a virtual disk including a first page table block corresponding to one or more other page table blocks or one or more data blocks, the one or more other page table blocks or the one or more data blocks being in a first order;

generating a representation of the first page table block, the representation of the first page table block including presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk that are pointed to by the first page table block, the representation being position independent with respect to the one or more data blocks or one or more other page table blocks;

signing the representation of the first page table block, where signing the representation includes generating a signature for the first page table block;

receiving the first page table block including the signature for the first page table block;

generating the position independent representation from the first page table block; and

using the signature and the generated position independent representation to verify the integrity of the first page table block.

13. The computer-program product of claim 12 , wherein each of the one or more other page table blocks and each of the one or more data blocks is signed.

14. The computer-program product of claim 12 , wherein each page table block and each data block has a corresponding virtual address, and a signature for a block includes the virtual address for the block inside the signature.

15. A system comprising:

a processor; and

a memory for storing instructions, which when executed by the processor, causes the system to perform operations comprising:

receiving a virtual disk including a first page table block corresponding to one or more other page table blocks or one or more data blocks, the one or more other page table blocks or the one or more data blocks being in a first order;

generating a representation of the first page table block, the representation of the first page table block including presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk that are pointed to by the first page table block, the representation being position independent with respect to the one or more data blocks or one or more other page table blocks;

signing the representation of the first page table block, where signing the representation includes generating a signature for the first page table block; and

changing the offset of the one or more other page table blocks or the one or more data blocks such that the one or more other page table blocks or the one or more data blocks are in a new order.

16. The system of claim 15 , wherein the operations further comprise:

receiving the first page table block including the signature for the first page table block;

generating the position-independent representation from the first page table block; and

using the signature and the generated position-independent representation to verify the integrity of the first page table block, where the first page table block includes the presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk, pointed to by the first page table block, and in the new order.

17. The system of claim 15 , wherein each of the one or more other page table blocks and each of the one or more data blocks is signed.

18. The system of claim 15 , wherein each page table block and each data block has a corresponding virtual address, and a signature for a block includes the virtual address for the block inside the signature.

19. A system comprising:

a processor; and

a memory storing instructions, which when executed by a processor, causes the processor to perform operations comprising:

receiving a virtual disk including a first page table block corresponding to one or more other page table blocks or one or more data blocks, the one or more other page table blocks or the one or more data blocks being in a first order;

generating a representation of the first page table block, the representation of the first page table block including presence information with respect to the one or more other page table blocks or the one or more data blocks in the virtual disk that are pointed to by the first page table block, the representation being position independent with respect to the one or more data blocks or one or more other page table blocks;

signing the representation of the first page table block, where signing the representation includes generating a signature for the first page table block;

receiving the first page table block including the signature for the first page table block;

generating the position independent representation from the first page table block; and

using the signature and the generated position independent representation to verify the integrity of the first page table block.

20. The system of claim 19 , wherein each of the one or more other page table blocks and each of the one or more data blocks is signed.

21. The system of claim 19 , wherein each page table block and each data block has a corresponding virtual address, and a signature for a block includes the virtual address for the block inside the signature.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: GOOGLE LLC
Reel/Frame 058657/0744 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2015
From: MOKA5, INC.
To: OPEN INVENTION NETWORK, LLC
Reel/Frame 036529/0800 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2009
From: WHALEY, JOHN C.; CHUN, WON-SUK; LAM, MONICA SIN-LING; SAPUNTZAKIS, CONSTANTINE P.
To: MOKA5, INC.
Reel/Frame 023365/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2008
From: WHALEY, JOHN C.; CHUN, WON-SUK; LAM, MONICA SIN-LING; SAPUNTZAKIS, CONSTANTINE P.
To: MOKA5, INC.
Reel/Frame 021648/0269 →