IP Library Granted Patent US 10,623,475
Granted Patent B2
US 10,623,475 · App. 15/860,276 · Granted Apr 14, 2020

Application plugin framework for big-data clusters

Inventors: Naveen Zalpuri (Foster City, CA); Zehava Vardy (Sunnyvale, CA); Yunfeng Yang (Palo Alto, CA); Brady Chang (Austin, TX); Roderick Klinger (Hopkinton, MA); Kien Yih (Los Banos, CA); Bo Wu (San Jose, CA)
Assignee: EMC IP Holding Company LLC
H04L67/10G06F8/65H04L41/0226H04L63/10
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,623,475
App. No.
15/860,276
Granted
Apr 14, 2020
Kind
B2
Abstract

A system for a cluster application manager includes an input interface, a command determiner, and a node determiner. The input interface is for receiving a first management request for a management function for a first application of a set of different applications. The command determiner is for determining a first management base command for the first management request. A second management base command is the same as the first management base command for a second management request for the management function for a second application of the set of different applications that is different from the first application of the set of different applications. The command determiner is for determining a management command, wherein the management command is based at least in part on the first management base command and the first application. The node determiner is for determining a node of a cluster to send the management command.

Claims (38)

1. A system for a cluster application manager, comprising:

one or more processors configured to:

obtain a first management request for a management function for a first application of a set of different applications, wherein the management function corresponds to a common function across a plurality of the set of different applications;

determine a management command based at least in part on the first management request, wherein the management command is determined based at least in part on performing a lookup with respect to a mapping of management commands to management functions, and the management command is translated to an application specific command for at least one other application of the set of different applications, the at least one other application being different from the first application of the set of different applications; and

communicate the management command to a node of a cluster; and

one or more memories coupled to the one or more processors, configured to provide the one or more processors with instructions.

2. The system of claim 1 , wherein the plurality of the set of different applications are respectively configured with a corresponding interface that translates the management command to the application specific command.

3. The system of claim 1 , wherein the one or more processors are further configured to: determine a base command corresponding to the management function for the first application based at least in part on the first management request, wherein the management command is based at least in part on the base command.

4. The system of claim 1 , wherein the one or more processors are further configured to: determine a node of a cluster to send the management command, wherein the node of the cluster is determined based at least in part on the first management request.

5. The system of claim 1 , wherein the first management request comprises one or more of the following: a request to install software, a request to uninstall software, a request to upgrade software, or a request to check the status of software.

6. The system of claim 1 , wherein the one or more processors are further configured to: determine a base command corresponding to the management function for the first application based at least in part on the first management request, the management command is based at least in part on the base command, and one or more of the base command and the management command is implemented using an application integration framework.

7. The system of claim 6 , wherein the application integration framework provides a set of application programming interfaces.

8. The system of claim 1 , wherein the one or more processors are further configured to receive a status.

9. The system of claim 8 , wherein the status includes one or more of the following: a success message, a failure message, or an error message.

10. The system of claim 1 , wherein the one or more processors are further configured to receive a log entry.

11. A system of claim 10 , wherein the cluster ready application is stored in an application repository.

12. A system of claim 10 , wherein the cluster ready application includes an application wrapper.

13. The system of claim 1 , wherein determining the node of the cluster is based at least in part on a heuristic.

14. The system of claim 13 , wherein the heuristic is based on at least one of: a security policy, a failsafe, a tenancy policy, a central processing unit determination, an install limit, a rack policy, a disk requirement, or a memory requirement.

15. A system of claim 13 , wherein the application repository stores a plurality of versions of a specific application.

16. A system of claim 1 , wherein the one or more processors are further configured to provide a node of a cluster a cluster ready application.

17. A system of claim 16 , wherein the application wrapper includes an application programming interface to the cluster application manager.

18. A system of claim 1 , wherein determining the node of the cluster includes determining a plurality of nodes.

19. A system of claim 1 , wherein determining the node of the cluster is based at least in part on a heuristic.

20. A system of claim 19 , wherein determining the node of the cluster is based at least in part on one of the following: a security policy, a failsafe, a tenancy policy, a central processing unit (CPU) determination, an install limit, a rack policy, a disk requirement, a memory requirement, a storage-compute colocation, an isolation/protection domain, a quality of service, or a service level agreement.

21. A system of claim 1 , wherein determining the management command includes determining one or more management commands.

22. The system of claim 1 , wherein the first application comprises a wrapper that is configured to translate a set of a plurality of management commands received from a cluster application manager.

23. The system of claim 22 , wherein the translator translates the set of the plurality of management commands to one or more commands in a format used by an application installer associated with the first application.

24. The system of claim 1 , wherein the one or more processors are further configured to: determine a base command corresponding to the management function for the first application based at least in part on the first management request, wherein the management command is based at least in part on the base command, wherein to determine the base command comprises looking up the base command in a mapping of management functions and commands based at least in part on the management command associated with the first management request.

25. The system of claim 1 , wherein the one or more processors are further configured to: determine a node of a cluster to send the management command, wherein the node of the cluster is determined based at least in part on the first management request and on cluster information associated with one or more characteristics of the cluster.

26. A method for a cluster application manager, comprising:

obtaining a first management request for a management function for a first application of a set of different applications, wherein the management function corresponds to a common function across a plurality of the set of different applications;

determining a management command based at least in part on the first management request, wherein the management command is determined based at least in part on performing a lookup with respect to a mapping of management commands to management functions, and the management command is translated to an application specific command for at least one other application of the set of different applications, the at least one other application being different from the first application of the set of different applications; and

providing the management command to a node of a cluster.

27. A computer program product for a cluster application manager, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

obtaining a first management request for a management function for a first application of a set of different applications, wherein the management function corresponds to a common function across a plurality of the set of different applications;

determining a management command based at least in part on the first management request, wherein the management command is determined based at least in part on performing a lookup with respect to a mapping of management commands to management functions, and the management command is translated to an application specific command for at least one other application of the set of different applications, the at least one other application being different from the first application of the set of different applications; and

providing the management command to a node of a cluster.

Assignments (9)
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 Apr 22, 2020
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 053546/0001 →
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 Jan 3, 2018
From: ZALPURI, NAVEEN; VARDY, ZEHAVA; YANG, YUNFENG; CHANG, BRADY; KLINGER, RODERICK; YIH, KIEN; WU, BO
To: EMC CORPORATION
Reel/Frame 044526/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044996/0001 →
Continuity (2)
Continuation 14581678 · Dec 23, 2014
Related Publication 20180234487A1 · Aug 16, 2018