IP Library Granted Patent US 8,667,138
Granted Patent B2
US 8,667,138 · App. 12/915,531 · Granted Mar 4, 2014

Distributed hierarchical rendering and provisioning of cloud services

Inventors: Ashok Ganesan (San Jose, CA); Ethan M. Spiegel (Mountain View, CA); Subrata Banerjee (Los Altos, CA); Sukhdev Kapur (Saratoga, CA); Joshua Merrill (Parker, CO); Michael Dvorkin (Redwood City, CA); Kaushik Narayan (San Jose, CA)
Assignee: Cisco Technology, Inc.
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 8,667,138
App. No.
12/915,531
Granted
Mar 4, 2014
Kind
B2
Abstract

Techniques are provided herein for distributed and hierarchical rendering and provisioning of cloud services. At a device in a cloud computing system comprising a plurality of hierarchical levels, a cloud service request is received for rendering and provisioning of a virtual data center. A determination is made as to which aspects of the cloud service request are to be satisfied by devices in a first hierarchical level and which aspects of the cloud service request are to be satisfied by devices in a second hierarchical level and in subsequent hierarchical levels. Rendering and provisioning commands are provided to one or more devices in the first hierarchical level that are selected to satisfy aspects of the cloud service request in the first hierarchical level. A subset cloud service request for aspects of the cloud service request that are to be satisfied by devices in the second hierarchical level is sent to a device in the second hierarchical level.

Claims (36)

1. A method comprising:

at a device in a cloud computing system comprising a plurality of hierarchical levels, receiving a cloud service request for rendering and provisioning of a virtual data center;

determining which aspects of the cloud service request are to be satisfied by devices in a first hierarchical level and which aspects of the cloud service request are to be satisfied by devices in a second hierarchical level and in subsequent hierarchical levels;

providing rendering and provisioning commands to one or more devices in the first hierarchical level that are selected to satisfy aspects of the cloud service request in the first hierarchical level; and

sending to a device in the second hierarchical level a subset cloud service request for aspects of the cloud service request that are to be satisfied by devices in the second hierarchical level when the devices in the first hierarchical level cannot satisfy aspects of the cloud service request.

2. The method of claim 1 , and further comprising selecting one of a plurality of processing domains in the second hierarchical level for aspects of the cloud service request that are to be satisfied by devices in the second hierarchical level, and wherein sending comprises sending the subset cloud service request to a device in the selected processing domain of the second hierarchical level.

3. The method of claim 1 , wherein providing rendering and provisioning commands comprises providing rendering and provisioning subset information derived from the received cloud service request to one or more selected devices in the first hierarchical level.

4. The method of claim 1 , and further comprising at one or more devices in the first hierarchical level, converting the rendering and provisioning commands into an internal configuration to perform one or more functions.

5. The method of claim 1 , and further comprising at the device in second hierarchical level, selecting one or more devices in the second hierarchical level to satisfy the subset cloud service request and providing rendering and provisioning commands to the one or more selected devices in the second hierarchical level.

6. The method of claim 1 , wherein determining comprises determining which aspects of the cloud service request are to be satisfied by devices in the second hierarchical level without knowledge of details of placement, rendering and provisioning of devices in the second hierarchical level.

7. The method of claim 1 , wherein determining is based on a policy request received from a server device in the first hierarchical level in which a virtual machine went active in response to the cloud service request.

8. The method of claim 1 , wherein the second hierarchical level is a lower hierarchical level with respect to the first hierarchical level.

9. The method of claim 1 , wherein the second hierarchical level is a higher hierarchical level with respect to the first hierarchical level.

10. The method of claim 1 , wherein when a device in one of the plurality of hierarchical levels fails or otherwise become inoperable, further comprising determining whether there are one or more other available devices within said one of the plurality of hierarchical levels to satisfy operations of the failed device and if so providing rendering and provisioning commands to said one or more other devices, and otherwise sending a cloud service request to a device in another hierarchical level which determines whether there are one or more available devices in said another hierarchical level to satisfy the operations of the failed device.

11. The method of claim 1 , wherein determining is based on normalized information representing capabilities of devices in the first hierarchical level and in the second hierarchical level.

12. A non-transitory computer-readable memory medium storing instructions that, when executed by a processor, cause the processor to:

at a device in a cloud computing system comprising a plurality of hierarchical levels, receive a cloud service request for rendering and provisioning of a virtual data center;

determine which aspects of the cloud service request are to be satisfied by devices in the first hierarchical level and which aspects of the cloud service request are to be satisfied by devices in a second hierarchical level and in subsequent hierarchical levels;

provide rendering and provisioning commands to one or more devices in the first hierarchical level that are selected to satisfy aspects of the cloud service request in the first hierarchical level; and

send to a device in the second hierarchical level a subset cloud service request for aspects of the cloud service request that are to be satisfied by devices in the second hierarchical level when the devices in the first hierarchical level cannot satisfy aspects of the cloud service request.

13. The computer-readable memory medium of claim 12 , wherein the instructions that cause the processor to provide rendering and provisioning commands comprise instructions that cause the processor to provide corresponding rendering and provisioning subset information derived from the received cloud service request to one or more selected devices in the first hierarchical level.

14. The computer-readable memory medium of claim 12 , and further comprising instructions that, when executed by the processor, cause the processor to select one of a plurality of processing domains in the second hierarchical level for aspects of the cloud service request that are to be satisfied by devices in the second hierarchical level.

15. The computer-readable memory medium of claim 12 , wherein the instructions that cause the processor to determine are configured to cause the processor to determine which aspects of the cloud service request are to be satisfied by devices in the second hierarchical level without knowledge of details of placement, rendering and provisioning of devices in the second hierarchical level.

16. An apparatus comprising:

a network interface unit configured to perform communications over a network;

a processor configured to be coupled to the network interface unit, wherein the processor is configured to:

receive a cloud service request for rendering and provisioning of a virtual data center in a cloud computing system comprising a plurality of hierarchical levels;

determine which aspects of the cloud service request are to be satisfied by devices in a first hierarchical level and which aspects of the cloud service request are to be satisfied by devices in a second hierarchical level and in subsequent hierarchical levels;

provide rendering and provisioning commands to one or more devices in the first hierarchical level that are selected to satisfy aspects of the cloud service request in the first hierarchical level; and

send to a device in the second hierarchical level a subset cloud service request for aspects of the cloud service request that are to be satisfied by devices in the second hierarchical level when the devices in the first hierarchical level cannot satisfy aspects of the cloud service request.

17. The apparatus of claim 16 , wherein the processor is configured to provide rendering and provisioning commands by providing rendering and provisioning subset information derived from the received cloud service request to the one or more selected devices in the first hierarchical level.

18. The apparatus of claim 16 , wherein the processor is further configured to select one of a plurality of processing domains in the second hierarchical level for aspects of the cloud service request that are to be satisfied by devices in the second hierarchical level.

19. The apparatus of claim 16 , wherein the processor is configured to determine which aspects of the cloud service request are to be satisfied by devices in the second hierarchical level without knowledge of details of placement, rendering and provisioning of devices in the second hierarchical level.

20. The apparatus of claim 16 , wherein the processor is further configured to determine which aspects of the cloud service request are to be satisfied by devices in the first hierarchical level and which aspects of the cloud service request are to be satisfied by devices in the second hierarchical level and in the subsequent hierarchical levels based on a policy request received from a server device in the first hierarchical level in which a virtual machine went active in response to the cloud service request.

21. The apparatus of claim 16 , wherein when a device in one of the plurality of hierarchical levels fails or otherwise becomes inoperable, determine whether there are one or more other available devices within said one of the plurality of hierarchical levels to satisfy operations of the failed device and if so provide rendering and provisioning commands to said one or more other device, and otherwise send a cloud service request to a device in another hierarchical level which determines whether there are one or more available devices in said another hierarchical level to satisfy the operations of the failed device.

22. The apparatus of claim 16 , wherein the processor is further configured to determine which aspects of the cloud service request are to be satisfied by devices in the first hierarchical level and which aspects of the cloud service request are to be satisfied by devices in the second hierarchical level and in the subsequent hierarchical levels based on normalized information representing capabilities of devices in the first hierarchical level and in the second hierarchical level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2010
From: GANESAN, ASHOK; SPIEGEL, ETHAN M.; BANERJEE, SUBRATA; KAPUR, SUKHDEV; MERRILL, JOSHUA; DVORKIN, MICHAEL; NARAYAN, KAUSHIK
To: CISCO TECHNOLOGY, INC.
Reel/Frame 025351/0812 →
Continuity (1)
Related Publication 20120110185A1 · May 3, 2012