IP Library Granted Patent US 9,880,825
Granted Patent B1
US 9,880,825 · App. 14/931,714 · Granted Jan 30, 2018

Distributed package management using meta-scheduling

Inventors: Connor Patric Doyle (San Francisco, CA); Thomas Rampelberg (San Francisco, CA); Cody Maloney (San Francisco, CA); José Armando Garcia Sancio (San Francisco, CA)
Assignee: Mesosphere, Inc.
G06F8/61G06F11/1438H04L67/34
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,880,825
App. No.
14/931,714
Filed
Nov 3, 2015
Granted
Jan 30, 2018
Kind
B1
Art Unit
2114
USPC
714/23
Abstract

A system for package management includes an interface and a processor. The interface is to receive an indication to install a package. The processor is to determine a configured package using a set local configuration properties and using the package and to launch, using a metascheduler, a set of subschedulers to install a plurality of applications of the configured package.

Claims (57)

1. A system for package management, comprising:

an interface to:

receive an indication to install a package; and

a processor configured to:

in response to the reception of the indication:

determine a configured package using a set local configuration properties and using the package; and

launch, using a metascheduler, a set of subschedulers to install a plurality of applications of the configured package, comprising to:

cause instantiation of a subscheduler of the set of subschedulers to install an application, comprising to:

 determine whether the subscheduler is performing the installation without error; and

 in response to a determination that the subscheduler is performing the installation without error, perform one or more of the following:

 A) determine whether the installation is underperforming; and

 in response to a determination that the installation is underperforming, perform the installation with another subscheduler; or

 B) determine whether the subscheduler is idle; and

 in response to a determination that the subscheduler is idle, terminate the idle subscheduler.

2. A system as in claim 1 , wherein the processor is also to monitor the set of subschedulers.

3. A system as in claim 2 , wherein monitoring the set of sub schedulers detects a failure of the subscheduler of the set of subschedulers.

4. A system as in claim 3 , wherein the metascheduler restarts the sub scheduler in response to a determination that the failure of the subscheduler is detected.

5. A system as in claim 1 , wherein processor comprises a processor of a cluster manager of a cluster.

6. A system as in claim 5 , wherein the processor is also to monitor the metascheduler.

7. A system as in claim 6 , wherein monitoring the metascheduler detects a failure of the metascheduler.

8. A system as in claim 7 , wherein the cluster manager restarts the metascheduler in response to a determination that the failure of the metascheduler is detected.

9. A system as in claim 1 , wherein a subscheduler is executed using a cluster node of a cluster.

10. A system as in claim 9 , wherein the subscheduler installs an application of the plurality of application of the configured package on one or more nodes of the cluster.

11. A system as in claim 10 , wherein the subscheduler monitors the installation of the application.

12. A system as in claim 11 , wherein monitoring the installation detects a failure to install the application.

13. A system as in claim 12 , wherein the subscheduler restarts the installation of the application in response to a determination that the failure to install the application is detected.

14. A system as in claim 10 , wherein the subscheduler monitors performance of the application when executing a task.

15. A system as in claim 1 , wherein in response to a determination that the subscheduler is performing the installation without error:

determine whether the installation is underperforming; and

in response to a determination that the installation is underperforming, perform the installation with another subscheduler.

16. A system as in claim 1 , wherein in response to a determination that the subscheduler is performing the installation without error:

determine whether the subscheduler is idle; and

in response to a determination that the subscheduler is idle, terminate the idle subscheduler.

17. A method of package management, comprising:

receiving an indication to install a package; and

in response to the reception of the indication:

determining, using a processor, a configured package using a set local configuration properties and using the package; and

launching, using a metascheduler, a set of subschedulers to install a plurality of applications of the configured package, comprising:

causing instantiation of a subscheduler of the set of subschedulers to install an application, comprising:

determining whether the subscheduler is performing the installation without error; and

in response to a determination that the subscheduler is performing the installation without error, performing one or more of the following:

 A) determining whether the installation is underperforming; and

 in response to a determination that the installation is underperforming, performing the installation with another subscheduler; or

 B) determining whether the subscheduler is idle; and

 in response to a determination that the subscheduler is idle, terminating the idle subscheduler.

18. A computer program product for package management, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an indication to install a package; and

in response to the reception of the indication:

determining a configured package using a set local configuration properties and using the package; and

launching, using a metascheduler, a set of subschedulers to install a plurality of applications of the configured package, comprising:

causing instantiation of a subscheduler of the set of subschedulers to install an application, comprising:

determining whether the subscheduler is performing the installation without error; and

in response to a determination that the subscheduler is performing the installation without error, performing one or more of the following:

 A) determining whether the installation is underperforming; and

 in response to a determination that the installation is underperforming, performing the installation with another subscheduler; or

 B) determining whether the subscheduler is idle; and

 in response to a determination that the subscheduler is idle, terminating the idle subscheduler.

Assignments (6)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2023
From: D2IQ, INC.
To: D2IQ (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 065909/0748 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNOR. PREVIOUSLY RECORDED ON REEL 065771 FRAME 0424. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 8, 2023
From: D2IQ (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC.
To: NUTANIX, INC.
Reel/Frame 065836/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2023
From: D2IQ, INC.
To: NUTANIX, INC.
Reel/Frame 065771/0424 →
CHANGE OF NAME Recorded May 15, 2020
From: MESOSPHERE, INC.
To: D2IQ, INC.
Reel/Frame 052679/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2016
From: DOYLE, CONNOR PATRIC; RAMPELBERG, THOMAS; MALONEY, CODY; SANCIO, JOSÉ ARMANDO GARCÍA
To: MESOSPHERE, INC.
Reel/Frame 037418/0434 →
Continuity (1)
Provisional Application 62202047 · Aug 6, 2015