IP Library Granted Patent US 9,860,311
Granted Patent B1
US 9,860,311 · App. 14/857,177 · Granted Jan 2, 2018

Cluster management of distributed applications

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,860,311
App. No.
14/857,177
Granted
Jan 2, 2018
Kind
B1
Abstract

A method includes performing at a lifecycle manager a first process. The first process includes determining nodes in a cluster to run an application, determining a difference between a cluster goal state and a cluster actual state for the application, determining goal state for each node and sending respective goal state to agents. The method also includes performing at each agent a second process. The second process includes determining a difference between the goal state of the node and an actual state of the node, determining actions to be performed based on the difference between the goal state of the node and the actual state of the node and sending actions to resource managers to perform based on the difference between the goal state of the node and the actual state of the node.

Claims (84)

1. A method comprising:

performing at a lifecycle manager a first process, the first process comprising:

determining nodes in a cluster to run an application;

determining a difference between a cluster goal state and a cluster actual state for the application;

determining goal state for each node; and

sending respective goal state to agents;

performing at each agent a second process, the second process comprising:

determining a difference between the goal state of the node and an actual state of the node;

determining actions to be performed based on the difference between the goal state of the node and the actual state of the node; and

sending actions to resource managers to perform based on the difference between the goal state of the node and the actual state of the node.

2. The method of claim 1 , wherein the lifecycle manager comprises:

a first web service to handle application interface (API) requests;

a cluster goal state driver to perform the first process;

a cluster goal state;

a first event library configured to generate cluster level events;

a cluster actual state formed from actual states of each agent; and

a persistence component comprising key/value store for a cluster state.

3. The method of claim 2 , wherein each agent comprises:

a second web service to handle application interface (API) requests;

a goal state driver to perform the second process;

goal states for applications running on the physical host the agent is running on;

a second event library configured to generate host level events;

an actual state as reported by the resource managers;

the resource managers; and

a local storage.

4. The method of claim 3 , further comprising triggering the second process periodically.

5. The method of claim 3 , further comprising triggering the second process after every event.

6. An apparatus, comprising:

electronic hardware circuitry configured to:

perform at a lifecycle manager a first process, the first process comprising:

determining nodes in a cluster to run an application;

determining a difference between a cluster goal state and a cluster actual state for the application;

determining goal state for each node; and

sending respective goal state to agents;

perform at each agent a second process, the second process comprising:

determining a difference between the goal state of the node and an actual state of the node;

determining actions to be performed based on the difference between the goal state of the node and the actual state of the node; and

sending actions to resource managers to perform based on the difference between the goal state of the node and the actual state of the node.

7. The apparatus of claim 6 , wherein the circuitry comprises at least one of a processor, a memory, a programmable logic device or a logic gate.

8. The apparatus of claim 6 , wherein the lifecycle manager comprises:

a first web service to handle application interface (API) requests;

a cluster goal state driver to perform the first process;

a cluster goal state;

a first event library configured to generate cluster level events;

a cluster actual state formed from actual states of each agent; and

a persistence component comprising key/value store for a cluster state.

9. The apparatus of claim 8 , wherein each agent comprises:

a second web service to handle application interface (API) requests;

a goal state driver to perform the second process;

goal states for applications running on the physical host the agent is running on;

a second event library configured to generate host level events;

an actual state as reported by the resource managers;

the resource managers; and

a local storage.

10. The apparatus of claim 9 , wherein the circuitry is further configured to trigger the second process periodically.

11. The apparatus of claim 9 , wherein the circuitry is further configured to trigger the second process after every event.

12. An article comprising:

a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:

perform at a lifecycle manager a first process, the first process comprising:

determining nodes in a cluster to run an application;

determining differences between a cluster goal state and a cluster actual state for the application;

determining goal state for each node; and

sending respective goal state to agents;

perform at each agent a second process, the second process comprising:

determining difference between the goal state of the node and an actual state of the node;

determining actions to be performed based on the differences between the goal state of the node and the actual state of the node; and

sending actions to resource managers to perform based on the differences between the goal state of the node and the actual state of the node.

13. The article of claim 12 , wherein the lifecycle manager comprises:

a first web service to handle application interface (API) requests;

a cluster goal state driver to perform the first process;

a cluster goal state;

a first event library configured to generate cluster level events;

a cluster actual state formed from actual states of each agent; and

a persistence component comprising key/value store for a cluster state.

14. The article of claim 13 , wherein each agent comprises:

a second web service to handle application interface (API) requests;

a goal state driver to perform the second process;

goal states for applications running on the physical host the agent is running on;

a second event library configured to generate host level events;

an actual state as reported by the resource managers;

the resource managers; and

a local storage.

15. The article of claim 14 , wherein the instructions causing a machine to trigger the second process periodically.

16. The article of claim 14 , wherein the instructions causing a machine to trigger the second process after every event.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2016
From: ROHDE, HENNING; SOMAN, SUNIL V.; LI, HUI; SULLIVAN, SHANE; SINGH, SURINDER PAL; ERHARD, CARL RYAN; ALPEROVITCH, JASMINE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040498/0254 →