IP Library Granted Patent US 10,833,915
Granted Patent B2
US 10,833,915 · App. 16/804,466 · Granted Nov 10, 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
H04L41/0226G06F8/65G06F9/4881H04L43/50H04L63/10H04L63/107H04L67/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,833,915
App. No.
16/804,466
Granted
Nov 10, 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 (34)

1. A system, 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 base command based at least in part on the first management request, wherein the base command is determined based at least in part on performing a lookup with respect to the management function and a mapping with management commands, the base command being a generic application management command common across a plurality of the set of different applications; and

communicate a command to a node of a cluster, wherein the command is based at least in part on the base command, and the base command is translated to a management command; 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 a wrapper for an application running on the node of the cluster translates the base command to an application-specific command for the application.

3. The system of claim 1 , wherein the base 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.

4. The system of claim 1 , wherein a cluster application manager determines a management command based at least in part on the base command and a particular application running on the node to which the management command is to be communicated, and the communication of the command to the node of the cluster comprises communicating the management command to the node of the cluster.

5. The system of claim 4 , wherein the mapping with management commands corresponds to a mapping of management commands to management functions.

6. 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 an application specific command.

7. The system of claim 1 , wherein the one or more processors are further configured to:

determine a node of a cluster to send the command, and the node of the cluster is determined based at least in part on the first management request.

8. 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 a status of software.

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

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

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

12. The system of claim 1 , wherein the node of the cluster to which the command is to be communicated is determined is based at least in part on a heuristic.

13. The system of claim 12 , 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.

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

15. The system of claim 14 , wherein the cluster ready application is stored in an application repository.

16. The system of claim 15 , wherein the application repository stores a plurality of versions of a specific application.

17. The system of claim 14 , wherein the cluster ready application includes an application wrapper.

18. The system of claim 17 , wherein the application wrapper includes an application programming interface to a cluster application manager.

19. 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.

20. The system of claim 19 , 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.

21. A method, 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 base command based at least in part on the first management request, wherein the base command is determined based at least in part on performing a lookup with respect to the management function and a mapping with management commands, the base command being a generic application management command common across a plurality of the set of different applications; and

providing a command to a node of a cluster, wherein the command is based at least in part on the base command, and the base command is translated to a management command.

22. A computer program product, 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 base command based at least in part on the first management request, wherein the base command is determined based at least in part on performing a lookup with respect to the management function and a mapping with management commands, the base command being a generic application management command common across a plurality of the set of different applications; and

providing a command to a node of a cluster, wherein the command is based at least in part on the base command, and the base command is translated to a management command.

Assignments (14)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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
Reel/Frame 060438/0742 →
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 (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2020
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052063/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2020
From: ZALPURI, NAVEEN; VARDY, ZEHAVA; YANG, YUNFENG; CHANG, BRADY; KLINGER, RODERICK; YIH, KIEN; WU, BO
To: EMC CORPORATION
Reel/Frame 051978/0289 →