IP Library Granted Patent US 9,128,792
Granted Patent B2
US 9,128,792 · App. 13/631,203 · Granted Sep 8, 2015

Systems and methods for installing, managing, and provisioning applications

Inventors: Tim G. Kimmet (Los Gatos, CA); Ramana Venkatesh Sivasubramanian (Foster City, CA); Kenneth Hansen (San Francisco, CA)
Assignee: Wal-Mart Stores, Inc.
G06F8/61G06F9/5083G06F11/0709G06F11/079
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,128,792
App. No.
13/631,203
Granted
Sep 8, 2015
Kind
B2
Abstract

Systems and methods are disclosed for provisioning resources for an application according to an application manifest. The resources may include database, network, and processing resources. The application manifest may be organized as a manifest tree with provisioned resources having their own application manifests for provisioning sub-resources. The application manifest may also define provisioning and de-provisioning of the application in response to loading of the application. Root cause analysis may be performed in accordance with the manifest tree. Also disclosed are systems and methods for rolling out an upgrade across a node cluster. Systems and methods are disclosed for routing traffic to different workflow paths in order to implement an overloaded path and evaluate performance of the overloaded path.

Claims (30)

1. A method for installation management, the method comprising:

installing an application on installation hardware;

evaluating, by a provisioning server having one or more processors, a first application manifest associated with the application, the first application manifest including a manifest tree having manifests as nodes thereof, each manifest defining instantiation of a resource, a child node of each node being the manifest of the manifests for a sub-resource of the each node;

traversing, by the provisioning server, the manifest tree and identifying dependencies between resources instantiated by the manifest tree by evaluating the manifest of each node of the manifest tree and determining resources required for implementation of the manifest for the each node;

automatically evaluating, by the provisioning server, the dependencies for the manifest of each node of the manifest tree and automatically ordering execution of the manifests of the manifest tree and automatically generating a deployment plan in accordance with the ordering;

in accordance with the ordering specified in the deployment plan, provisioning, by the provisioning server, the resources; and

associating, by the provisioning server, the resources with the application.

2. The method of claim 1 , wherein the resources include at least one database.

3. The method of claim 2 , wherein the at least one database is a Cassandra™ database.

4. The method of claim 1 , wherein the resources include at least one processing resource.

5. The method of claim 1 , wherein the resources include at least one storage resource.

6. The method of claim 1 , wherein the resources includes an application server.

7. The method of claim 6 , wherein the application server is a JBoss™ server.

8. The method of claim 1 , wherein the resources include a processing resource.

9. The method of claim 1 , wherein the processing resource includes a Tomcat™ server.

10. A system for installation management, the system comprising one or more processors and one or more memory devices operably coupled to the one or more processors, the one or more memory devices storing executable and operational code effective to cause the one or more processors to:

install an application on installation hardware;

evaluate a first application manifest associated with the application, the first application manifest including a manifest tree having manifests as nodes thereof, each manifest defining instantiation of a resource, a child node of each node being the manifest of the manifests for a sub-resource of the each node;

traverse the manifest tree and identifying dependencies between resources instantiated by the manifest tree by evaluating the manifest of each node of the manifest tree and determining resources required for implementation of the manifest for the each node;

automatically evaluating the dependencies for the manifest of each node of the manifest tree and automatically ordering execution of the manifests of the manifest tree and automatically generating a deployment plan in accordance with the ordering;

in accordance with the ordering specified in the deployment plan, provision the resources; and

associate the resources with the application.

11. The system of claim 10 , wherein the resources include at least one database.

12. The system of claim 11 , wherein the at least one database is a Cassandra™ database.

13. The system of claim 10 , wherein the resources include at least one processing resource.

14. The system of claim 10 , wherein the resources include at least one storage resource.

15. The system of claim 10 , wherein the resources includes an application server.

16. The system of claim 15 , wherein the application server is a JBoss™ server.

17. The system of claim 10 , wherein the resources include a processing resource.

18. The system of claim 10 , wherein the processing resource includes a Tomcat™ server.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 045817/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2012
From: KIMMET, TIM G.; SIVASUBRAMANIAN, RAMANA VENKATESH; HANSEN, KENNETH
To: WAL-MART STORES, INC.
Reel/Frame 029454/0547 →
Continuity (1)
Related Publication 20140096129A1 · Apr 3, 2014