IP Library Granted Patent US 9,767,494
Granted Patent B2
US 9,767,494 · App. 14/724,043 · Granted Sep 19, 2017

Organizing data in a virtual computing infrastructure

Inventors: Willem Robert Van Biljon (Cape Town, ZA); Christopher Conway Pinkham (Los Gatos, CA); Russell Andrew Cloran (Cape Town, ZA); Michael Carl Gorven (Cape Town, ZA); Alexandre Hardy (Cape Town, ZA); Brynmor K. B. Divey (Cape Town, ZA); Quinton Robin Hoole (Cape Town, ZA); Girish Kalele (Sunnyvale, CA)
Assignee: Oracle International Corporation
G06Q30/04G06F21/6218G06Q40/00H04L63/0236H04L63/101H04L63/102H04L67/10H04L67/32H04M15/66G06F2221/2141G06F2221/2145G06Q40/02G06Q40/10H04L29/06H04L41/0213
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,767,494
App. No.
14/724,043
Granted
Sep 19, 2017
Kind
B2
Abstract

Organizing data in a cloud computing environment having a plurality of computing nodes is described. An authorization to service a request is received. The request may be from a user for launching an instance. In response to receiving the authorization and based on the request, an image list is determined. The image list includes information corresponding to a plurality of machine images. At least one machine image is identified from the image list associated with a functional requirement of the request. The instance is launched at the at least one computing node. The at least one machine image is updated after the instance has been launched.

Claims (39)

1. A method of determining a computing node to run an instance in a cloud computing environment having a plurality of computing nodes, the method comprising:

receiving an authorization to service a launch plan, the launch plan being from a user, wherein the launch plan identifies an image list but not any individual machine image within the image list;

selecting, automatically, from the image list, a machine image to be used to launch the instance;

in response to receiving the authorization, identifying, based on the machine image selected, at least one tag to determine at least one attribute of the instance;

searching the plurality of computing nodes based on the at least one tag to identify at least one computing node having one or more computing resources that match the at least one attribute of the instance;

assigning the launch of the instance to the at least one computing node based on the match;

creating, using a virtualization layer, a virtual computing environment on the assigned at least one computing node; and

launching the instance on the assigned at least one computing node.

2. The method of claim 1 , wherein the image list includes multiple separate references to a same machine image.

3. The method of claim 1 , wherein the image list includes a plurality of versions of a same machine image.

4. The method of claim 1 , wherein the image list includes machine images added by users other than the user who specifies the launch plan.

5. The method of claim 1 , wherein the at least one attribute includes one or more of an amount of RAM, a number of CPUs, a virtual block device type, and a network interface.

6. The method of claim 1 , wherein the match is based on a plurality of attributes of the instance, and the match, is conducted based on an arbitrary number of the plurality of attributes of the instance.

7. The method of claim 1 , wherein the launch plan includes a plurality of instances to launch, and, for each instance to launch of the plurality of instances to launch, at least one of image list specification, memory size, number of virtual network interfaces (VNICs), one or more block devices, or one or more attributes.

8. The method of claim 7 , Wherein the launch plan includes network-locality relationships between at least two of the plurality of instances to launch.

9. The method of claim 1 , wherein the launch plan includes a pre-defined shape of the computing node to run the instance, wherein the pre-defined shape includes a number of CPUs and an amount of available RAM of the computing node, wherein different shapes form parts of shape families, and wherein each of the plurality of computing nodes specifies which shape family it can provide.

10. The method of claim 9 , wherein searching the plurality of computing nodes is at least partially based on the shape family that each of the plurality of computing nodes can provide.

11. The method of claim 1 , further comprising:

storing a representation of the launch plan;

comparing an actual state of the instance running on the at least one computing node to an ideal state specified in the launch plan; and

applying changes to the actual state of the instance to make it consistent with the ideal state specified in the launch plan.

12. A cloud computing system, comprising:

a plurality of computing nodes; and

a virtualization layer configured to create a virtual computing environment on each of the plurality of computing nodes;

the cloud computing system configured to:

receive an authorization to service a launch plan, the launch plan being from a user, Wherein the launch plan identifies an image list but not any individual machine image within the image list;

select, automatically, from the image list, a machine image to be used to launch an instance based on the launch plan;

in response to the authorization, identify, based on the machine image selected, at least one tag to determine at least one attribute of the instance;

search the plurality of computing nodes based on the at least one tag to identify at least one computing node having one or more computing resources that match the at least one attribute of the instance;

assign the launch of the instance to the at least one computing node based on the match; and

launch the instance from the assigned at least one computing node.

13. The cloud computing system of claim 12 , wherein the image list includes multiple separate references to a same machine image.

14. The cloud computing system of claim 12 , wherein the at least one attribute includes one or more of an amount of RAM, a number of CPUs, a virtual block device type, and a network interface.

15. The cloud computing system of claim 12 , wherein the match is based on a plurality of attributes of the instance, and the match is conducted based on an arbitrary number of the plurality of attributes of the instance.

16. The cloud computing system of claim 12 , wherein the launch plan includes a plurality of instances to launch, and, for each instance to launch of the plurality of instances to launch, at least one of image list specification, memory size, number of VNICs, one or more block devices, or one or more attributes.

17. The cloud computing system of claim 16 , wherein the launch plan includes network-locality relationships between at least two of the plurality of instances to launch.

18. The cloud computing system of claim 12 , wherein the launch plan includes a pre-defined shape of a computing node to be used to launch the instance, wherein the pre-defined shape includes a number of CPUs and an amount of available RAM of the computing node, wherein different shapes form parts of shape families, and wherein each of the plurality of computing nodes specifies which shape family it can provide.

19. The cloud computing system of claim 18 , wherein searching the plurality of computing nodes is at least partially based on the shape family that each of the plurality of computing nodes can provide.

20. The cloud computing system of claim 12 , wherein the launch plan includes user-specific placement requirements that are opaque to the cloud computing system.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE SIXTH INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 035790 FRAME: 0614. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 16, 2015
From: DIVEY, BRYNMOR K.B.
To: NIMBULA, INC.
Reel/Frame 035992/0677 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2015
From: VAN BILJON, WILLEM ROBERT; PINKHAM, CHRISTOPHER CONWAY; CLORAN, RUSSELL ANDREW; GORVEN, MICHAEL CARL; HARDY, ALEXANDRE; DIVEY, BRYNMORE K.B.; HOOLE, QUINTON ROBIN; KALELE, GIRISH
To: NIMBULA, INC.
Reel/Frame 035790/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2015
From: NIMBULA, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 035828/0919 →
Continuity (4)
Continuation 13299301 · Nov 17, 2011
Continuation PCTUS2011040590 · Jun 15, 2011
Provisional Application 61355078 · Jun 15, 2010
Related Publication 20150264121A1 · Sep 17, 2015