IP Library Granted Patent US 10,445,147
Granted Patent B1
US 10,445,147 · App. 15/872,418 · Granted Oct 15, 2019

System and method for deploying virtual servers in a hosting system

Inventors: Paul Lappas (San Francisco, CA); John M. Keagy (San Francisco, CA); Justin Kitagawa (Lafayette, CA)
Assignee: OPEN INVENTION NETWORK LLC
G06F9/5077G06F3/065G06F3/067G06F3/0619G06F9/45558G06F2009/45562
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 10,445,147
App. No.
15/872,418
Granted
Oct 15, 2019
Kind
B1
Abstract

Some embodiments provide a method for creating an image of a virtual machine. The method identifies a particular computer system operating as a virtual machine with a particular configuration on a hardware resource of a hosting system that includes several hardware resources. The method captures data representing the particular computer system. Capturing the data includes copying a particular section of the data, computing a checksum for the particular section of the data, and streaming the particular section with the computed checksum to a storage.

Claims (45)

1. A computer-implemented method of generating an image of a virtual machine, the method comprising:

determining, by one or more computing devices, a checksum for a first data unit associated with a first virtual machine operating on a hardware resource of a hosting system that comprises a plurality of hardware resources;

appending to the first data unit, by the one or more computing devices, the determined checksum associated with the first data unit; and

storing in a storage associated with the hosting system, by the one or more computing devices, an image file comprising the first data unit and the appended checksum.

2. The computer-implemented method of claim 1 , further comprising:

identifying, by the one or more computing devices, the first virtual machine operating on the hardware resource; and

extracting, by the one or more computing devices, the first data unit from the hardware resource.

3. The computer-implemented method of claim 1 , further comprising:

determining, by the one or more computing devices, a checksum for a second data unit associated with the first virtual machine operating on the hardware resource; and

appending to the second data unit, by the one or more computing devices, the determined checksum associated with the second data unit.

4. The computer-implemented method of claim 3 , further comprising extracting, by the one or more computing devices, the second data unit from the hardware resource.

5. The computer-implemented method of claim 1 , wherein the image file is for use in a later deployment of the virtual machine within the hosting system.

6. The computer-implemented method of claim 1 , further comprising compressing, by the one or more computing devices, the first data unit and the appended checksum.

7. The computer-implemented method of claim 6 , wherein storing, by the one or more computing devices, the first data unit and the appended checksum further comprises storing the compressed first data unit and appended checksum.

8. The computer-implemented method of claim 1 , further comprising streaming, by the one or more computing devices, the first data unit and the appended checksum to a caching network.

9. The computer-implemented method of claim 1 , further comprising generating, by the one or more computing devices, the image file comprising the first data unit and the appended checksum.

10. The computer-implemented method of claim 1 , wherein the one or more computing devices comprise a utility management module that interfaces with an external caching network, an external module for managing the hosting system, a hypervisor on the hardware resource, and the first virtual machine.

11. A hosting and storage system for hosting a plurality of virtual machine configurations and for storing image files of the virtual machine configurations, the system comprising:

a plurality of nodes, each node of the plurality of nodes comprising resources for hosting at least one virtual machine; and

a utility management module operating using a first set of resources and a second set of resources of a first node of the plurality of nodes, the utility management module comprising computer-readable instructions that when executed by one or more processors cause the one or more processors to perform operations, the operations comprising:

determining a checksum for a first data unit associated with a first virtual machine;

appending the determined checksum associated with the first data unit to the first data unit; and

storing an image file comprising the first data unit and the appended checksum in a storage associated with the hosting and storage system.

12. The hosting and storage system of claim 11 , the instructions further comprising:

identifying the first virtual machine operating using the second set of resources on the first node; and

extracting the first data unit from the first node.

13. The hosting and storage system of claim 11 , the instructions further comprising:

determining a checksum for a second data unit associated with the first virtual machine; and

appending the determined checksum associated with the second data unit to the second data unit.

14. The hosting and storage system of claim 13 , the instructions, further comprising extracting the second data unit from the second node.

15. The hosting and storage system of claim 11 , the instructions further comprising streaming the first data unit and the appended checksum to a caching network.

16. One or more tangible, non-transitory computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform operations, the operations comprising:

iteratively determining checksums for a plurality of data units associated with a first virtual machine operating on a hardware resource of a hosting system that comprises a plurality of hardware resources;

appending to each data unit the determined checksum associated with the data unit; and

storing an image file comprising each data unit and the appended checksums in a storage associated with the hosting system.

17. The one or more tangible, non-transitory computer-readable media of claim 16 , the instructions further comprising:

identifying the first virtual machine operating on the hardware resource; and

extracting each data unit from the hardware resource.

18. The one or more tangible, non-transitory computer-readable media of claim 16 , wherein iteratively determining checksums for a plurality of data units further comprises:

determining a checksum for a first data unit associated with the first virtual machine operating on the hardware resource; and

determining a checksum for a second data unit associated with the first virtual machine operating on the hardware resource.

19. The one or more tangible, non-transitory computer-readable media of claim 18 , wherein appending to each data unit the determined checksum associated with the data unit further comprises:

appending to the first data unit the determined checksum associated with the first data unit; and

appending to the second data unit the determined checksum associated with the second data unit.

20. The one or more tangible, non-transitory computer-readable media of claim 16 , the instructions further comprising streaming, by the one or more computing devices, each data unit and the appended checksum to a caching network.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062401/0512 →
RELEASE OF SECURITY INTEREST Recorded Aug 30, 2019
From: CITIBANK, N.A.
To: GOGRID, LLC; DATAPIPE, INC.
Reel/Frame 050224/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2019
From: GOGRID, LLC
To: OPEN INVENTION NETWORK LLC
Reel/Frame 047895/0811 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2018
From: LAPPAS, PAUL; KEAGY, JOHN M.; KITAGAWA, JUSTIN
To: SERVEPATH, LLC
Reel/Frame 047121/0262 →
CHANGE OF NAME Recorded Oct 10, 2018
From: SERVEPATH, LLC
To: GOGRID, LLC
Reel/Frame 047790/0015 →
Continuity (4)
Continuation 15362483 · Nov 28, 2016
Continuation 14088294 · Nov 22, 2013
Continuation 12841150 · Jul 21, 2010
Provisional Application 61346871 · May 20, 2010