IP Library Granted Patent US 10,374,970
Granted Patent B2
US 10,374,970 · App. 15/421,797 · Granted Aug 6, 2019

Deploying a cloud service with capacity reservation followed by activation

Inventors: Prajakta Patil (Redmond, WA); Sushant Pramod Rewaskar (Redmond, WA); Ajay Mani (Woodinville, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L47/746G06F9/5072H04L47/745H04L47/783G06F2209/503G06F2209/5014
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 10,374,970
App. No.
15/421,797
Granted
Aug 6, 2019
Kind
B2
Abstract

A system receives a request for a plurality of resources of a cloud computing system to deploy a service. The system selects a portion of the resources and determines whether the selected portion is at least partially available in one or more clusters in parallel. If available, the system reserves the available resources for a predetermined period of time. If unavailable in one of the clusters, the system releases the reserved resources after the predetermined period of time. While or after determining the availability, the system locates at least a portion of the remainder of the resources in the one or more clusters. The system allocates the reserved resources on one of the clusters and the located remainder of the resources to deploy the service and instantiates the service on the one of the clusters using the allocated resources.

Claims (45)

1. A system for deploying a service in a cloud computing system, the system comprising:

a processor; and

machine readable instructions, stored on a tangible machine readable medium, when executed by the processor, configure the processor to:

receive a request for deployment of the service on the cloud computing system;

identify a plurality of resource pools on the cloud computing system for deploying the service;

selectively identify a portion of the plurality of resource pools based on availability of the portion relative to availability of one or more additional portions of the plurality of resource pools;

initiate reserving, for a predetermined period of time, the identified portion of the plurality of resource pools for allocation prior to activating deployment of the service on the cloud computing system;

if reserving the identified portion of the plurality of resource pools is unsuccessful, release, within or after the predetermined period of time, the identified portion of the plurality of resource pools and identify another plurality of resource pools on the cloud computing system for deploying the service; and

if reserving the identified portion of the plurality of resource pools is successful, reserve the one or more additional portions of the plurality of resource pools for allocation.

2. The system of claim 1 wherein the machine readable instructions further configure the processor to, if reserving the identified portion of the plurality of resource pools is successful, initiate instantiation processing based on the reserved portion of the plurality of resource pools independent of availability of the one or more additional portions of the plurality of resource pools.

3. A system comprising:

a processor; and

machine readable instructions, stored on a tangible machine readable medium, when executed by the processor, configure the processor to:

receive a request for deployment of a service on a cloud computing system;

identify a plurality of resource pools on the cloud computing system for deploying the service;

selectively identify a portion of the plurality of resource pools based on availability of the portion relative to availability of one or more additional portions of the plurality of resource pools;

reserve, for a predetermined period of time, the identified portion of the plurality of resource pools for allocation prior to activating deployment of the service on the cloud computing system; and

in response to successfully reserving the identified portion of the plurality of resource pools, reserve the one or more additional portions of the plurality of resource pools for allocation.

4. The system of claim 3 wherein the portion of the plurality of resource pools is identified based on a determination that resources of the portion are more scarce than the one or more additional portions of the plurality of resource pools.

5. The system of claim 3 wherein the machine readable instructions further configure the processor to, in response to successfully reserving the identified portion of the plurality of resource pools:

locate the one or more additional portions of the plurality of resource pools;

allocate the identified portion of the plurality of resource pools for deployment of the service on the cloud computing system; and

instantiate the service on the identified portion of the plurality of resources.

6. The system of claim 3 wherein the machine readable instructions further configure the processor to locate the one or more additional portions of the plurality of resource pools after the identified portion of the plurality of resource pools is reserved.

7. The system of claim 3 wherein the machine readable instructions further configure the processor to locate the one or more additional portions of the plurality of resource pools while selectively identifying the portion of the plurality of resource pools based on availability of the portion relative to availability of one or more additional portions of the plurality of resource pools.

8. The system of claim 3 wherein the machine readable instructions further configure the processor to, in response to successfully reserving the identified portion of the plurality of resource pools:

allocate the reserved portion of the plurality of resource pools for deployment of the service; and

initiate instantiation processing based on the allocated reserved portion of the plurality of resource pools independent of availability of the one or more additional portions of the plurality of resource pools.

9. The system of claim 3 wherein the machine readable instructions further configure the processor to identify computing, networking, and storage resources from the plurality of resource pools, the identified portion of the plurality of resource pools including one or more of the computing resources, and the one or more additional portions remainder of the plurality of resource pools including the networking and storage resources.

10. The system of claim 3 wherein the machine readable instructions further configure the processor to select the identified portion of the plurality of resource pools including a number of processor cores, an amount of memory, a number of instances of the service, and update and fault domain configurations.

11. A method comprising:

receiving a request for deployment of a service on a cloud computing system;

identifying a plurality of resource pools on the cloud computing system for deploying the service;

selectively identifying a portion of the plurality of resource pools based on availability of the portion relative to availability of one or more additional portions of the plurality of resource pools, the identified portion of the plurality of resource pools being more scarce than the one or more additional portions of the plurality of resource pools of the plurality of resource pools;

initiating reserving, for a predetermined period of time, the identified portion of the plurality of resource pools for allocation prior to activating deployment of the service on the cloud computing system;

if reserving the identified portion of the plurality of resource pools is unsuccessful, releasing, within or after the predetermined period of time, the identified portion of the plurality of resource pools and identifying another plurality of resource pools on the cloud computing system for deploying the service; and

if reserving the identified portion of the plurality of resource pools is successful, allocating the reserved identified portion of the plurality of resource pools for deploying of the service on the cloud computing system.

12. The method of claim 11 further comprising instantiating the service on a cluster of the cloud computing system using the allocated reserved identified portion of the plurality of resource pools and the one or more additional resource pools of the plurality of resource pools.

13. The method of claim 11 further comprising locating the one or more additional portions of the plurality of resource pools of the plurality of resource pools after the identified portion of the plurality of resource pools is reserved.

14. The method of claim 11 further comprising locating at least a portion of the one or more additional resource pools of the plurality of resource pools while selectively identifying the portion of the plurality of resource pools.

15. The method of claim 11 further comprising, if reserving the identified portion of the plurality of resource pools is successful:

allocating the reserved identified portion of the plurality of resource pools for deployment of the service; and

initiating instantiation processing based on the allocated reserved identified portion of the plurality of resource pools before locating the one or more additional resource pools of the plurality of resource pools.

16. The method of claim 11 further comprising identifying computing, networking, and storage resources from the plurality of resource pools, the identified portion of the plurality of resource pools including one or more of the computing resources, and the one or more additional resource pools of the plurality of resource pools including the networking and storage resources.

17. The method of claim 11 further comprising selecting the identified portion of the plurality of resource pools including a number of processor cores, an amount of memory, a number of instances of the service, and update and fault domain configurations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: PATIL, PRAJAKTA; REWASKAR, SUSHANT PRAMOD; MANI, AJAY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 041146/0170 →
Continuity (1)
Related Publication 20180219794A1 · Aug 2, 2018
Cited By (6)
US 12,204,947 US 12,260,254 US 12,353,918 US 12,455,771 US 12,650,883 US 12,657,163