IP Library Granted Patent US 9,270,521
Granted Patent B2
US 9,270,521 · App. 13/854,758 · Granted Feb 23, 2016

Provisioning and managing a cluster deployed on a cloud

Inventor: David Tompkins (Meno Park, CA)
Assignee: ADOBE SYSTEMS INCORPORATED
H04L41/00G06F9/45558G06F9/5072G06F2009/4557G06F2209/501G06F2209/505
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,270,521
App. No.
13/854,758
Granted
Feb 23, 2016
Kind
B2
Abstract

A system is provided to provision and manage cloud-based clustered application deployment. In one example embodiment, a clustered computing application is detected as being launched on a cluster of nodes. Each node in the cluster is a virtual instance of a machine within a virtualization service. Status of the nodes in the cluster are monitored to detect availability of a server within the virtualization service A notification message addressed to the server is issued in response to detecting the availability of the server. The notification message includes information for connecting to the cluster.

Claims (61)

1. A method comprising:

receiving a request to launch a clustered computing application on a cluster of nodes, each node in the cluster being a virtual instance of a machine within a virtualization service;

monitoring, using a processor of a control server, a status of the nodes in the cluster to determine an availability of a database server within the virtualization service;

in response to the determining of the availability of the database server, sending a notification message to an application server, the notification message including information for the application server to connect to the database server;

in response to determining that the database server and the application server have started, configuring a load balancer to deliver messages to the application server; and

subsequent to launching the clustered computing application, automatically changing a size of the cluster based on data for the clustered computing application and on cluster-sizing rules.

2. The method of claim 1 , wherein the load balancer is configured to deliver messages to the application server in response to determining that all required servers have started.

3. The method of claim 1 , wherein the database server is hosted on at least one server of the cluster.

4. The method of claim 1 , wherein automatically changing the size of the cluster comprises:

receiving a request to change the size of the cluster; and

performing the change in response to the request, wherein performing the change comprises at least one of the following:

starting an additional node hosting at least one of an additional database server or an additional application server, or

stopping an existing node hosting at least one of an existing database server or an existing application server.

5. The method of claim 1 , wherein automatically changing the size of the cluster comprises:

receiving a request to change the size of the cluster; and

performing the change in response to the request, wherein the request to change the size of the cluster is in response to executing one or more rules provided by a rules engine.

6. The method of claim 1 , wherein the notification message further includes information for discovering other nodes in the cluster.

7. The method of claim 1 , further comprising issuing a message addressed to a database failover replica in response to the determining of the availability of the database server, the database failover replica to configure itself for replication of the database server, wherein the database server is a primary database instance.

8. The method of claim 1 , wherein the clustered computing application comprises:

a load balancing tier comprising the load balancer executing on a first node in the cluster;

an application tier comprising the application server executing on a second node in the cluster; and

a database tier comprising the database server executing on a third node in the cluster.

9. A tangible machine-readable storage device in communication with at least one processor, the tangible machine-readable storage device having instructions which when executed by the at least one processor, cause a control server to perform operations comprising:

receiving a request to launch a clustered computing application on a cluster of nodes, each node in the cluster being a virtual instance of a machine within a virtualization service;

determining that a database server within the virtualization service is available;

in response to determining the database server is available, sending a notification message to an application server, the notification message including information for connecting to the database server;

in response to determining that the database server and the application server have started, configuring a load balancer to deliver messages to the application server; and

subsequent to launching the clustered computing application, changing a size of the cluster based on data for the clustered computing application and on cluster-sizing rules.

10. The tangible machine-readable storage device of claim 9 , wherein the load balancer is configured to deliver messages to the application server in response to determining that all required servers have started.

11. The tangible machine-readable storage device of claim 9 , wherein the database server is hosted on at least one server of the cluster.

12. The tangible machine-readable storage device of claim 9 , wherein changing the size of the cluster comprises:

receiving a request to change the size of the cluster; and

performing the change in response to the request, wherein performing the change comprises at least one of the following:

starting an additional node hosting at least one of an additional database server or an additional application server, or

stopping an existing node hosting at least one of an existing database server or an existing application server.

13. The tangible machine-readable storage device of claim 9 , wherein changing the size of the cluster comprises:

receiving a request to change the size of the cluster; and

performing the change in response to the request, wherein the request to change the size of the cluster is in response to executing one or more rules provided by a rules engine.

14. The tangible machine-readable storage device of claim 9 , wherein the notification message further includes information for discovering other nodes in the cluster.

15. The tangible machine-readable storage device of claim 9 , wherein the operations further comprise issuing a message addressed to a database failover replica in response to determining the database server is available, the database failover replica to configure itself for replication of the database server, wherein the database server is a primary database instance.

16. The tangible machine-readable storage device of claim 9 , wherein the clustered computing application comprises:

a load balancing tier comprising the load balancer executing on a first node in the cluster,

an application tier comprising the application server executing on a second node in the cluster, and

a database tier comprising the database server executing on a third node in the cluster.

17. A computer-implemented system comprising:

one or more processors of a control server; and

one or more computer storage media storing computer-executable instructions that, when executed by the one or more processors, implement a method comprising:

receiving a request to launch a clustered computing application on a cluster of nodes, each node in the cluster being a virtual instance of a machine within a virtualization service,

monitoring a status of the nodes in the cluster to determine an availability of a database server within the virtualization service,

in response to the determining of the availability of the database server, sending a notification message addressed to an application server, the notification message including information for connecting to the database server,

in response to determining that the database server and the application server have started, configuring a load balancer to deliver messages to the application server, and

changing a size of the cluster based on data for the clustered computing application and on cluster-sizing rules.

18. The computer-implemented system of claim 17 , wherein the load balancer is configured to deliver messages to the application server in response to detecting that all required servers have started.

19. The computer-implemented system of claim 17 , wherein changing the size of the cluster comprises:

receiving a request to change the size of the cluster; and

performing the change in response to the request, wherein performing the change comprises at least one of the following:

starting an additional node hosting at least one of an additional database server or an additional application server, or

stopping an existing node hosting at least one of an existing database server or an existing application server.

20. The computer-implemented system of claim 17 , wherein changing the size of the cluster comprises:

receiving a request to change the size of the cluster; and

performing the change in response to the request, wherein the request to change the size of the cluster is in response to executing one or more rules provided by a rules engine.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2015
From: TOMPKINS, DAVID
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 036685/0093 →
Continuity (2)
Continuation 12830080 · Jul 2, 2010
Related Publication 20130227091A1 · Aug 29, 2013