# US 10,771,351 B2 · Fast provisioning service for cloud computing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,351 B2
- Document ID: US10771351B2
- Status: Granted
- Kind: B2
- Application number: 15/290,588
- Filed: 2016-10-11
- Published: 2017-02-02
- Granted: 2020-09-08
- Earliest claimed: 2012-06-15
- Assignees: Digital River, Inc.
- Applicants: Digital River, Inc.
- Inventors: Ryan Patrick Douglas; James Edward Lehnhoff; Michael Robert Wilson; Lukas John Marty; Michael Thomas Gross; Paul Conrad Schaleger
- Web page: https://patentgrep.com/patent/US10771351B2

## CPC

- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/0803: Configuration setting
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/50: Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L 41/5051: Service on demand, e.g. definition and deployment of services in real time
- H04L 41/5077: {wherein the managed service relates to simple transport services, i.e. providing only network infrastructure}
- H04L 41/5096: {wherein the managed service relates to distributed or central networked applications}
- H04L 47/781: {Centralised allocation of resources}
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L 61/4511: using domain name system [DNS]
- H04L 61/5014: using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
- H04L 2101/35: containing special prefixes
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A cloud-based system and method for provisioning IT infrastructure systems is disclosed. The system and method provided constructs an infrastructure generally comprised of a processing component supplying the computational capacity for a platform element, comprising one or more processing elements, memory and I/O subsystems, a storage component utilizing commodity disk drives and comprised of one or more physical storage devices, and a network component providing a high speed connection among processing elements and the processing component to storage components. In addition, the system and method provide all features required for a complete, immediately usable infrastructure system including registration of IP addresses and domain names so that the user may have the system completely up and running without the aid of an administrator.

## Claims

### Claim 1

A fast provisioning system for creating an infrastructure-as-a-service virtual computing platform, comprising:
a computing machine further comprising:
a processor;
a memory associated with the processor;
a display having a graphical user interface, the display communicatively coupled to the processor and memory; and
a resource creation module including instructions that, when executed by the processor, causes the computing machine to create a virtual machine for an infrastructure-as-a-service computing platform, the instructions and processor:
displaying a prompt including a first list further including a plurality of environments for a virtual machine;
receiving an input for one of the plurality of environments from the first list;
displaying a prompt including a second list having at least one machine role associated with the one of the plurality of environments for a virtual machine;
receiving an input from the second list for at least one machine role associated with the one of the plurality of environments for a virtual machine;
presenting at least one chef role from a repository of chef roles for a virtual machine, the at least one chef role based on the input from the first list for the one of the plurality of environments, and the input from the second list for at least one machine role associated with the one of the plurality of environments for the virtual machine, the first list and the second list being independent from one another; and
receiving a chef role input and deploying a virtual machine for the infrastructure-as-a-service platform, the chef role including the machine role instructions for creating the virtual computing platform.

### Claim 2 (depends on 1)

The fast provisioning system of claim 1 wherein memory includes direct access storage device memory, the fast provisioning system further comprising a workflow module which moves information in the memory from a first physical location to a second physical location.

### Claim 3 (depends on 1)

The fast provisioning system of claim 1 further comprising a workflow module that executes a configuration script to configure the virtual machine based on the input for the at least one role and the input for one of the plurality of environments.

### Claim 4 (depends on 1)

The fast provisioning system of claim 1 further comprising a workflow module that
displays prompts at the display for other workflows and provides at least one selected property at a request time.

### Claim 5 (depends on 4)

The fast provisioning system of claim 4 wherein the workflow module
produces a prompt for moving the virtual machine to a local storage; and
moves the virtual machine to the local storage in response to an input from the prompt for moving the virtual machine.

### Claim 6 (depends on 5)

The fast provisioning system of claim 5 wherein the input from the prompt for moving the virtual machine results in a set of criteria for moving the virtual machine, and wherein the workflow module searches for a host computer meeting the set of criteria.

### Claim 7 (depends on 4)

The fast provisioning system of claim 4 wherein at least one prompt allows co-location of a host computer and a local storage for the virtual machine.

### Claim 8 (depends on 2)

The fast provisioning system of claim 2 further comprising a domain name provisioning module which assigns a domain name to the virtual machine.

### Claim 9 (depends on 3)

The fast provisioning system of claim 3 further comprising a domain name provisioning module which assigns a domain name to the virtual machine.

### Claim 10 (depends on 3)

The fast provisioning system of claim 3 further comprising a domain name provisioning module which assigns a domain name to a plurality of virtual machines as a batch.

### Claim 11 (depends on 3)

The fast provisioning system of claim 3 further comprising a domain name provisioning module which controls a network distance between a client and a cloudbank resident resource.

### Claim 12 (depends on 11)

The fast provisioning system of claim 11 wherein the domain name provisioning module includes a set of instructions for load balancing that is applied to control the network distance between the cloudbank and the client.

### Claim 13 (depends on 11)

The fast provisioning system of claim 11 wherein the domain name provisioning module includes a set of instructions for instructions that, when executed by the processor, cause the processor to perform the operations of:
receiving a file containing DNS records;
creating secondary zones corresponding to the externally resolvable zones;
setting domain registrar portals;
storing DNS database;
registering new entries to DNS database;
broadcasting new changes to DNS BIND servers; and
routing DNS queries to the live name servers.

### Claim 14

A method for creating an infrastructure-as-a-service virtual computing platform, comprising:
displaying a prompt including a first list of a plurality of environments for a virtual machine;
receiving an input from the first list for one of the plurality of environments;
displaying a prompt from a second list including at least one machine role associated with the one of plurality of environments for a virtual machine;
receiving an input from the second list for the at least one machine role, the first list and the second list being independent of one another;
presenting at least one chef role from a repository of chef roles for a virtual machine, the at least one chef role based on the input for the one of the plurality of environments, and the input for the one chef role;
receiving a chef role input; and
deploying a virtual machine for the infrastructure-as-a-service platform in response to the chef role input, the chef role including the machine role instructions for creating the virtual computing platform.

### Claim 15 (depends on 14)

The method of claim 14 further comprising:
displaying at least one prompt at the display for other workflows; and
passing in the inputs for at least one role and for at least one environment at a request time.

### Claim 16 (depends on 14)

The method of claim 14 further comprising:
producing a prompt for moving the virtual machine to a local storage; and
moving the virtual machine to the local storage in response to an input from the prompt for moving the virtual machine.

### Claim 17 (depends on 16)

The method of claim 16 further comprising:
wherein the input from the prompt for moving the virtual machine includes a set of criteria for moving the virtual machine, the method further comprising searching for a host computer meeting the set of criteria.

### Claim 18 (depends on 17)

The method of claim 17 further wherein the input from the prompt allows co-location of the host computer and local storage for the virtual machine.

### Claim 19

A fast provisioning system for creating an infrastructure-as-a-service virtual computing platform, comprising:
a computing machine further comprising:
a processor;
a memory associated with the processor;
a display having a graphical user interface, the display communicatively coupled to the processor and memory; and
a resource creation module including instructions that, when executed by the processor, causes the computing machine to create a virtual machine for an infrastructure-as-a-service computing platform, the instructions and processor:
displaying a prompt including a plurality of environments for a virtual machine;
receiving an input for one of the plurality of environments;
displaying a prompt including at least one machine role associated with the one of the plurality of environments for a virtual machine;
receiving an input for the at least one machine role associated with the one of the plurality of environments for a virtual machine, the machine role indicating the type of resource to be deployed;
presenting at least one chef role from a repository of chef roles for a virtual machine, the at least one chef role based on the input for the one of the plurality of environments, and the input for at least one machine role associated with the one of the plurality of environments for the virtual machine; and
receiving a chef role input and deploying a virtual machine for the infrastructure-as-a-service platform, the chef role including the machine role instructions for creating the virtual computing platform.

### Claim 20 (depends on 19)

The fast provisioning system of claim 19 wherein the role input identifies the code and features for configuring the virtual computing platform, the role also determining the options the virtual computing platform presents to a display.
