IP Library Granted Patent US 9,419,914
Granted Patent B2
US 9,419,914 · App. 14/322,405 · Granted Aug 16, 2016

Using templates to configure cloud resources

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,419,914
App. No.
14/322,405
Granted
Aug 16, 2016
Kind
B2
Abstract

The present invention extends to methods, systems, and computer program products for using templates to configure cloud resources. Embodiments of the invention include encapsulating cloud configuration information in an importable/exportable node template. Node templates can also be used to bind groups of nodes to different cloud subscriptions and cloud service accounts. Accordingly, managing the configuration of cloud based resources can be facilitated through an interface at a (e.g., high performance) computing component. Templates can also specify a schedule for starting/stopping instance running within a resource cloud.

Claims (49)

1. A computing system comprising:

at least one processor; and

one or more computer-readable storage device having stored computer-executable instructions which, when executed by the at least one processor, implement a method for configuring access to resources that are available through two distinct clusters of nodes, the method comprising:

storing a first node template which includes a schema that is usable by a customer at a computing component to encapsulate a common configuration for a set of nodes that represent resources provided at a first cluster of nodes;

storing a second node template which includes a schema that is usable by the customer at the computing component to encapsulate a common configuration for another set of nodes representing resources at a second cluster of nodes;

accessing account data established by the customer that permit the customer's use of the resources available on at least the second cluster of nodes;

retrieving the second node template and populating the schema of the second node template with the accessed account data;

populating the schema of the first node template with the common configuration for the set of nodes representing the particular resources of the first cluster of nodes, and populating the schema of the second node template with the common configuration for the second cluster of nodes representing the particular resources of the second cluster of nodes;

instantiating an interface module which formulates commands for deploying resources at the second cluster of nodes in accordance with the common configuration of the second node template for the account data contained in the second node template, as well as a cluster manager which formulates commands for deploying resources in the first cluster of nodes in accordance with the common configuration of the first node template;

wherein the cluster manager submits the formulated commands for deploying resources in the first cluster of nodes in accordance with the common configuration of the first node template when resources of the first cluster of nodes are to be employed for the customer and wherein the interface module submits the formulated commands for deploying resources at the second cluster of nodes in accordance with the common configuration of the second node template for the account data contained in the second node template when resources at the second cluster of nodes are to be employed for the customer; and

storing both the populated first node template and the populated second node template so that each stored node template can be imported or exported for subsequent use in providing the common configuration contained therein to facilitate deployment of resources when desired by the customer.

2. The computing system of claim 1 , wherein the method further includes:

storing the second node template subsequent to populating the second node template with the access account data so that information for deploying nodes in the one or more remote data center nodes is maintained in a central location.

3. The computing system of claim 2 , wherein the formulated commands include a deployment schedule for the formulated commands.

4. The computing system of claim 3 , wherein the formulated commands comprise commands for deploying a high performance computing service in one or more remote data center nodes.

5. The computing system of claim 1 , wherein the formulated commands comprise a deployment for a service in one or more remote data center nodes configured to assist one or more other services deployed in one or more on-premises nodes.

6. The computing system of claim 1 , wherein populating the schema of the second node template includes populating the second node template with the accessed account data.

7. The computing system of claim 6 , wherein said accessing account data comprises accessing one or more of: a subscription ID, a service account name, a storage account name, or a customer certificate.

8. A computer program product comprising one or more hardware storage devices having stored thereon computer-executable instructions that, when executed at one or more processor, cause a computer system to implement a method for configuring access to resources that are available through two distinct clusters of nodes, the method comprising:

storing a first node template which includes a schema that is usable by a customer at a computing component to encapsulate a common configuration for a set of nodes that represent resources provided at a first cluster of nodes;

storing a second node template which includes a schema that is usable by the customer at the computing component to encapsulate a common configuration for another set of nodes representing resources at a second cluster of nodes;

accessing account data established by the customer that permit the customer's use of the resources available on at least the second cluster of nodes;

retrieving the second node template and populating the schema of the second node template with the accessed account data;

populating the schema of the first node template with the common configuration for the set of nodes representing the particular resources of the first cluster of nodes, and populating the schema of the second node template with the common configuration for the second cluster of nodes representing the particular resources of the second cluster of nodes;

instantiating an interface module which formulates commands for deploying resources at the second cluster of nodes in accordance with the common configuration of the second node template for the account data contained in the second node template, as well as a cluster manager which formulates commands for deploying resources in the first cluster of nodes in accordance with the common configuration of the first node template;

wherein the cluster manager submits the formulated commands for deploying resources in the first cluster of nodes in accordance with the common configuration of the first node template when resources of the first cluster of nodes are to be employed for the customer and wherein the interface module submits the formulated commands for deploying resources at the second cluster of nodes in accordance with the common configuration of the second node template for the account data contained in the second node template when resources at the second cluster of nodes are to be employed for the customer; and

storing both the populated first node template and the populated second node template so that each stored node template can be imported or exported for subsequent use in providing the common configuration contained therein to facilitate deployment of resources when desired by the customer.

9. The computer program product of claim 8 , wherein the method further includes:

storing the second node template subsequent to populating the second node template with the access account data so that information for deploying nodes in the one or more remote data center nodes is maintained in a central location.

10. The computer program product of claim 9 , wherein the formulated commands include a deployment schedule for the commands.

11. The computer program product of claim 10 , wherein the formulated commands comprise commands for deploying a high performance computing service in one or more remote data center nodes.

12. The computer program product of claim 8 , wherein the formulated commands comprise a deployment for a service in one or more remote data center nodes configured to assist one or more other services deployed in one or more on-premises nodes.

13. The computer program product of claim 8 , wherein populating the schema of the second node template includes populating the second node template with the accessed account data.

14. The computer program product of claim 13 , wherein said accessing account data comprises accessing one or more of: a subscription ID, a service account name, a storage account name, or a customer certificate.

15. A computer-implemented method for configuring access to resources that are available through two distinct clusters of nodes, the method comprising:

storing a first node template which includes a schema that is usable by a customer at a computing component to encapsulate a common configuration for a set of nodes that represent resources provided at a first cluster of nodes;

storing a second node template which includes a schema that is usable by the customer at the computing component to encapsulate a common configuration for another set of nodes representing resources at a second cluster of nodes;

accessing account data established by the customer that permit the customer's use of the resources available on at least the second cluster of nodes;

retrieving the second node template and populating the schema of the second node template with the accessed account data;

populating the schema of the first node template with the common configuration for the set of nodes representing the particular resources of the first cluster of nodes, and populating the schema of the second node template with the common configuration for the second cluster of nodes representing the particular resources of the second cluster of nodes;

instantiating an interface module which formulates commands for deploying resources at the second cluster of nodes in accordance with the common configuration of the second node template for the account data contained in the second node template, as well as a cluster manager which formulates commands for deploying resources in the first cluster of nodes in accordance with the common configuration of the first node template;

wherein the cluster manager submits the formulated commands for deploying resources in the first cluster of nodes in accordance with the common configuration of the first node template when resources of the first cluster of nodes are to be employed for the customer and wherein the interface module submits the formulated commands for deploying resources at the second cluster of nodes in accordance with the common configuration of the second node template for the account data contained in the second node template when resources at the second cluster of nodes are to be employed for the customer; and

storing both the populated first node template and the populated second node template so that each stored node template can be imported or exported for subsequent use in providing the common configuration contained therein to facilitate deployment of resources when desired by the customer.

16. The method of claim 15 , wherein the method further includes:

storing the second node template subsequent to populating the second node template with the access account data so that information for deploying nodes in the one or more remote data center nodes is maintained in a central location.

17. The method of claim 16 , wherein the formulated commands include a deployment schedule for the commands.

18. The method of claim 17 , wherein the formulated commands comprise commands for deploying a high performance computing service in one or more remote data center nodes.

19. The method of claim 15 , wherein the formulated commands comprise a deployment for a service in one or more remote data center nodes configured to assist one or more other services deployed in one or more on-premises nodes.

20. The method of claim 15 , wherein populating the schema of the second node template includes populating the second node template with the accessed account data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2014
From: TEATHER, GREGORY WRAY; MEHTA, PARMITA; ALAM, SALIM
To: MICROSOFT CORPORATION
Reel/Frame 033233/0154 →