IP Library Granted Patent US 9,507,542
Granted Patent B1
US 9,507,542 · App. 14/088,294 · Granted Nov 29, 2016

System and method for deploying virtual servers in a hosting 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 9,507,542
App. No.
14/088,294
Granted
Nov 29, 2016
Kind
B1
Abstract

Some embodiments provide a method that, at a particular node of a hosting system that includes several nodes for hosting virtual machines, retrieves data representing a particular computer system from a storage. The data includes several sections and checksums for the sections. The method validates the sections by using the checksums. The method copies the sections of data onto a disk volume of the node that is allocated for a virtual machine in order to deploy the particular computer system. The method configures the particular computer system to operate as the virtual machine by configuring information specific to the particular instantiation of the particular computer system.

Claims (37)

1. A method comprising:

allocating a node of a plurality of nodes, in a hosting system, for hosting a virtual machine;

retrieving data, by the node, that represents a computer system, the data comprising a plurality of sections and a plurality of checksums corresponding to the plurality of sections;

validating the plurality of sections using the plurality of checksums;

copying the plurality of sections onto a disk volume of the node to deploy the computer system on the node; and

configuring the computer system to operate as the virtual machine by configuring information specific to an instantiation of the computer system.

2. The method of claim 1 , wherein retrieving the data comprises retrieving a subset of the plurality of sections and loading the subset into a memory.

3. The method of claim 2 , wherein the subset of the plurality of sections is validated prior to retrieval of a second subset of the plurality of sections.

4. The method of claim 1 , wherein copying the plurality of sections comprises copying a first section of the plurality of sections onto the disk volume after the first section is validated and before a second section of the plurality of sections is validated.

5. The method of claim 1 , wherein validating the plurality of sections comprises:

identifying a section of the plurality of sections and a checksum of the plurality of checksums for the section;

calculating a new checksum for the section; and

determining whether the checksum and the new checksum are equal.

6. The method of claim 5 , wherein the section is only copied onto the disk volume when the checksum and the new checksum are equal.

7. The method of claim 5 further comprising, when the checksum and the new checksum are not equal, determining that the data is corrupt.

8. The method of claim 5 further comprising, when the checksum and the new checksum are not equal, purging the data and requesting a copy of the data representing the computer system.

9. The method of claim 1 , wherein configuring the computer system comprises installing paravirtualization drivers on the computer system.

10. The method of claim 1 , wherein configuring the computer system comprises assigning an IP address to the computer system.

11. The method of claim 1 , wherein configuring the computer system comprises assigning a unique identifier to the computer system.

12. A non-transitory machine readable medium storing a computer program for execution by a node of a plurality of nodes, in a hosting system, for hosting a virtual machine, the computer program comprising instructions for:

retrieving data, by the node, that represents a computer system, the data comprising a plurality of sections and a plurality of checksums corresponding to the plurality of sections;

validating the plurality of sections using the plurality of checksums;

copying the plurality of sections onto a disk volume of the node in order to deploy the computer system on the node; and

configuring the computer system to operate as the virtual machine by configuring information specific to an instantiation of the computer system.

13. The non-transitory machine readable medium of claim 12 , wherein the retrieving comprises:

retrieving a subset of the plurality of sections; and

loading the subset into a memory.

14. The non-transitory machine readable medium of claim 13 , wherein the subset of the plurality of sections is validated prior to retrieval of a second subset of the plurality of sections.

15. The non-transitory machine readable medium of claim 12 , wherein copying the plurality of sections comprises copying a first section of the plurality of sections onto the disk volume after the first section is validated and before a second section of the plurality of sections is validated.

16. The non-transitory machine readable medium of claim 12 , wherein validating the plurality of sections comprises:

identifying a section of the plurality of sections and a checksum of the plurality of checksums for the section;

calculating a new checksum for the section; and

determining whether the checksum and the new checksum are equal.

17. The non-transitory machine readable medium of claim 16 , wherein the section is only copied onto the disk volume when the checksum and the new checksum are equal.

18. The non-transitory machine readable medium of claim 16 , wherein when the checksum and the new checksum are not equal, determining that the data is corrupt.

19. The non-transitory machine readable medium of claim 12 , wherein configuring the computer system comprises installing paravirtualization drivers on the computer system.

20. The non-transitory machine readable medium of claim 12 , wherein configuring the computer system comprises assigning a unique identifier to the computer system.

Assignments (10)
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 →
SECURITY AGREEMENT Recorded Dec 15, 2017
From: GOGRID, LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 044895/0784 →
RELEASE OF SECURITY INTEREST Recorded Nov 16, 2017
From: TORONTO DOMINION (TEXAS) LLC (SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC.)
To: GOGRID, LLC, AS GRANTOR
Reel/Frame 044150/0497 →
RELEASE OF SECURITY INTEREST Recorded Nov 16, 2017
From: TORONTO DOMINION (TEXAS) LLC (SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC.)
To: GOGRID, LLC, AS GRANTOR
Reel/Frame 044150/0514 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2016
From: LAPPAS, PAUL; KEAGY, JOHN M.; KITAGAWA, JUSTIN
To: SERVEPATH, LLC
Reel/Frame 039413/0707 →
CHANGE OF NAME Recorded Aug 12, 2016
From: SERVEPATH, LLC
To: GOGRID, LLC
Reel/Frame 039413/0723 →
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Jan 22, 2015
From: GOGRID, LLC
To: TORONTO DOMINION (TEXAS) LLC, SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 034793/0448 →
PATENT SECURITY AGREEMENT (SECOND LIEN) Recorded Jan 22, 2015
From: GOGRID, LLC
To: TORONTO DOMINION (TEXAS) LLC, SUCCESSOR BY ASSIGNMENT TO MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 034793/0483 →