IP Library Granted Patent US 9,038,083
Granted Patent B2
US 9,038,083 · App. 13/369,930 · Granted May 19, 2015

Virtual machine provisioning based on tagged physical resources in a cloud computing environment

Inventors: Alex Huang (Cupertino, CA); Chiradeep Vittal (Cupertino, CA); William Chan (Santa Clara, CA)
Assignee: Citrix Systems, Inc.
G06F9/45558G06F9/4445G06F9/5072G06F2009/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 9,038,083
App. No.
13/369,930
Granted
May 19, 2015
Kind
B2
Abstract

A cloud system may create physical resource tags to store relationships between cloud computing offerings, such as computing service offerings, storage offerings, and network offerings, and the specific physical resources in the cloud computing environment. Cloud computing offerings may be presented to cloud customers, the offerings corresponding to various combinations of computing services, storage, networking, and other hardware or software resources. After a customer selects one or more cloud computing offerings, a cloud resource manager or other component within the cloud infrastructure may retrieve a set of tags and determine a set of physical hardware resources associated with the selected offerings. The physical hardware resources associated with the selected offerings may be subsequently used to provision and create the new virtual machine and its operating environment.

Claims (56)

1. One or more non-transitory computer-readable media, storing computer-executable instructions that, when executed by a processor, cause a computing device to:

receive a request to create a virtual machine in a cloud computing environment;

receive a selection of a virtual machine offering associated with the request, the selected virtual machine offering comprising at least a set of desired characteristics for a host computing device of the requested virtual machine and a set of desired characteristics for one or more network elements to provide networking capabilities for the requested virtual machine;

in response to the selection of the virtual machine offering, access a storage storing one or more physical resource tags, each of the one or more physical resource tags comprising an electronic label associated with one or more virtual machine offerings and one or more specific physical resources in the cloud computing environment;

retrieve, from the storage, one or more identifiers of specific physical resources in the cloud computing environment, based on an identifier of the selected virtual machine offering, wherein retrieving the one or more identifiers of the specific physical resources comprises:

using the identifier of the selected virtual machine offering to retrieve one or more physical resource tags from a first table storing associations between virtual machine offerings and physical resource tags; and

using the one or more physical resource tags retrieved from the first table to retrieve the one or more identifiers of the specific physical resources from a second table storing associations between physical resource tags and specific physical resources in the cloud computing environment, wherein within the second table, a first physical resource tag is associated with multiple different physical resources in the cloud computing environment; and

provision a first virtual machine corresponding to the request, using the one or more specific physical resources.

2. The one or more non-transitory computer-readable media of claim 1 , storing further computer-executable instructions that, when executed by the processor, cause the computing device to:

display, after receiving the request, a plurality of virtual machine offerings for creating the requested virtual machine, the plurality of virtual machine offerings comprising a first offering that is associated in the storage with a first set of identifiers of a first set of specific physical resources, and a second offering that is associated in the storage with a second set of identifiers of a second set of specific physical resources.

3. The one or more non-transitory computer-readable media of claim 2 , wherein displaying the first offering and the second offering comprises displaying at least one of a manufacturer, physical location, or indication of reliability for at least one specific physical resource in the first set and second set of specific physical resources.

4. The one or more non-transitory computer-readable media of claim 3 , wherein the first offering and the second offering are priced based on the at least one manufacturer, physical location, or indication of reliability for at least one specific physical resource in the first set and second set of specific physical resources.

5. The one or more non-transitory computer-readable media of claim 1 , storing further computer-executable instructions that, when executed by the processor, cause the computing device to:

determine, after receiving the request, at least one specific physical resource within the cloud computing environment having at least a threshold level of current resource capacity;

identify a first set of physical resource tags associated with the at least one specific physical resource having at least the threshold level of current resource capacity;

retrieve from the storage a first set of virtual machine offerings for creating the requested virtual machine, based on the first set of physical resource tags; and

display the first set of virtual machine offerings.

6. The one or more non-transitory computer-readable media of claim 1 , wherein within the storage, at least one virtual machine offering is not associated with any of the physical resource tags.

7. The one or more non-transitory computer-readable media of claim 1 , wherein a first physical resource tag in the first table and the second table corresponds to a manufacturer of one or more of the specific physical resources in the second table.

8. The one or more non-transitory computer-readable media of claim 1 , wherein a first physical resource tag in the first table and the second table corresponds to an indication of reliability of one or more of the specific physical resources in the second table.

9. A method comprising:

receiving, at a first cloud infrastructure computing device, a request to create a virtual machine in a cloud computing environment;

receiving, at the first cloud infrastructure computing device, a selection of a virtual machine offering associated with the request, the selected virtual machine offering comprising at least a set of desired characteristics for a host computing device of the requested virtual machine and a set of desired characteristics for one or more network elements to provide networking capabilities for the requested virtual machine;

accessing, by the first cloud infrastructure computing device, a storage storing one or more physical resource tags, each of the one or more physical resource tags comprising an electronic label associated with one or more virtual machine offerings and one or more specific physical resources in the cloud computing environment, in response to the selection of the virtual machine offering;

retrieving, from the storage, one or more identifiers of specific physical resources in the cloud computing environment, based on an identifier of the selected virtual machine offering, wherein retrieving the one or more identifiers comprises:

using the identifier of the selected virtual machine offering to retrieve one or more physical resource tags from a first table storing associations between virtual machine offerings and physical resource tags; and

using the one or more physical resource tags retrieved from the first table to retrieve the one or more identifiers of the specific physical resources from a second table storing associations between physical resource tags and specific physical resources in the cloud computing environment, wherein within the second table, a first physical resource tag is associated with multiple different physical resources in the cloud computing environment; and

provisioning, by the first cloud infrastructure computing device, a first virtual machine corresponding to the request, using the one or more specific physical resources.

10. The method of claim 9 , further comprising:

after receiving the request, displaying a plurality of virtual machine offerings for creating the requested virtual machine, the plurality of virtual machine offerings comprising a first offering that is associated in the storage with a first set of identifiers of a first set of specific physical resources, and a second offering that is associated in the storage with a second set of identifiers of a second set of specific physical resources.

11. The method of claim 10 , wherein displaying the first offering and the second offering comprises displaying at least one of a manufacturer, physical location, or indication of reliability for at least one specific physical resource in the first set and second set of specific physical resources.

12. The method of claim 11 , wherein the first offering and the second offering are priced based on the at least one manufacturer, physical location, or indication of reliability for at least one specific physical resource in the first set and second set of specific physical resources.

13. The method of claim 9 , further comprising:

after receiving the request, determining at least one specific physical resource within the cloud computing environment having at least a threshold level of current resource capacity;

identifying a first set of physical resource tags associated with the at least one specific physical resource having at least the threshold level of current resource capacity;

retrieving from the storage a first set of virtual machine offerings for creating the requested virtual machine, based on the first set of physical resource tags; and

displaying the first set of virtual machine offerings.

14. The method of claim 9 , wherein within the storage, at least one virtual machine offering is not associated with any of the physical resource tags.

15. An apparatus comprising:

a processor controlling at least some operations of the apparatus; and

a memory storing computer executable instructions that, when executed by the processor, cause the apparatus to:

receive a request to create a virtual machine in a cloud computing environment;

receive a selection of a virtual machine offering associated with the request, the selected virtual machine offering comprising at least a set of desired characteristics for a host computing device of the requested virtual machine and a set of desired characteristics for one or more network elements to provide networking capabilities for the requested virtual machine;

in response to the selection of the virtual machine offering, access a storage storing one or more physical resource tags, each of the physical resource tags comprising an electronic label associated with one or more virtual machine offerings and one or more specific physical resources in the cloud computing environment;

retrieve, from the storage, one or more identifiers of specific physical resources in the cloud computing environment, based on an identifier of the selected virtual machine offering, wherein retrieving the one or more identifiers of the specific physical resources comprises:

using the identifier of the selected virtual machine offering to retrieve one or more physical resource tags from a first table storing associations between virtual machine offerings and physical resource tags; and

using the one or more physical resource tags retrieved from the first table to retrieve the one or more identifiers of the specific physical resources from a second table storing associations between physical resource tags and specific physical resources in the cloud computing environment, wherein within the second table, a first physical resource tag is associated with multiple different physical resources in the cloud computing environment; and

provision a first virtual machine corresponding to the request, using the one or more specific physical resources.

16. The apparatus of claim 15 , the memory storing further computer executable instructions that, when executed by the processor, cause the apparatus to:

display, after receiving the request, a plurality of virtual machine offerings for creating the requested virtual machine, the plurality of virtual machine offerings comprising a first offering that is associated in the storage with a first set of identifiers of a first set of specific physical resources, and a second offering that is associated in the storage with a second set of identifiers of a second set of specific physical resources.

17. The apparatus of claim 15 , the memory storing further computer executable instructions that, when executed by the processor, cause the apparatus to:

determine, after receiving the request, at least one specific physical resource within the cloud computing environment having at least a threshold level of current resource capacity;

identify a first set of physical resource tags associated with the at least one specific physical resource having at least the threshold level of current resource capacity;

retrieve from the storage a first set of virtual machine offerings for creating the requested virtual machine, based on the first set of physical resource tags; and

display the first set of virtual machine offerings.

18. The apparatus of claim 15 , wherein within the storage, at least one virtual machine offering is not associated with any of the physical resource tags.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2012
From: HUANG, ALEX; VITTAL, CHIRADEEP; CHAN, WILLIAM
To: CITRIX SYSTEMS, INC.
Reel/Frame 028456/0961 →
Continuity (1)
Related Publication 20130212576A1 · Aug 15, 2013