IP Library Granted Patent US 11,262,997
Granted Patent B2
US 11,262,997 · App. 16/678,885 · Granted Mar 1, 2022

Parallel software deployment system

Inventors: Robin Singh (Bengaluru, IN); Trushangi G. Pradhan (Bengaluru, IN)
Assignee: Walmart Apollo, LLC
G06F8/61G06F9/45512G06F9/54H04L63/168
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 11,262,997
App. No.
16/678,885
Granted
Mar 1, 2022
Kind
B2
Abstract

Systems and methods for performing parallel program installations using a script-based installation mode are provided. An exemplary system can include: a plurality of backend servers on which a plurality of scripts is executed to automatically install application programs; and an application server, the application server being configured to: receive a plurality of web service calls from a user device via a user interface; locate web services in response to the web service calls; and send a plurality of Secure Shell (SSH) calls to a plurality of backend servers; in response to the web service calls, provide and expose the plurality of the scripts being as the web services, wherein a number of the web service calls processed by the application server are based on a hardware capacity of the application server.

Claims (38)

1. A system for conducting parallel program installation, comprising:

a plurality of backend servers, each backend server of the plurality of backend servers being associated with an executable script of a plurality of executable scripts and each executable script of the plurality of executable scripts including a set of commands, that when executed, cause installation of a particular application program on the backend server the executable script is associated with; and

an application server, the application server being configured to:

receive a plurality of parallel web service calls from a user device via a user interface;

in response to receiving the plurality of parallel web service calls, locate a plurality of web services, each web service of the plurality of web services being defined with an API to fulfill an installation task corresponding to a particular web service call of the plurality of parallel web service calls;

for each located web service of the plurality of web services, transmit a corresponding Secure Shell (SSH) call to a corresponding backend server of the plurality of backend servers, causing a secure connection between the application server and each corresponding backend server of the plurality of backend servers; and

for each backend server of the plurality of backend servers with a secure connection with the application server, evoke, by a corresponding web service of the plurality of web services, a corresponding executable script of the plurality of executable scripts, evoking a corresponding executable script includes;

automatically installing in parallel, on each of the plurality of backend servers with the secure connection with the application server, each corresponding application program by executing in parallel the set of commands of each of the corresponding executable scripts;

wherein a number of the parallel web service calls processed by the application server are based on a hardware capacity of the application server.

2. The system of claim 1 , wherein the user device, the application server, and the plurality of backend servers are independent of each other in terms of programming language and operating system.

3. The system of claim 1 , wherein the plurality of parallel web service calls are made via browser tabs launched from one or more user devices.

4. The system of claim 3 , wherein the application server receives scripts executed results from each of backend servers that have installed the corresponding application program, and sends the received scripts to the user device to indicate a completion of the parallel program installation.

5. The system of claim 3 , wherein the plurality of executable scripts are stored in a fileshare which is directly accessible to the application server and the plurality of the backend servers.

6. The system of claim 3 , wherein the plurality of executable scripts are stored on one of the plurality of backend servers.

7. The system of claim 3 , wherein the plurality of parallel web service calls are generated using a microservice approach.

8. The system of claim 3 , wherein the plurality of parallel web service calls are parallel and mutually asynchronous calls for performing multiple installations on one or more of the plurality of backend servers.

9. A computer-implemented method of parallel program installation, the method comprising:

providing a plurality of executable scripts, each of the plurality of executable scripts including a set of commands, that when executed, cause installation of a particular application program on one or more backend servers of a plurality of backend servers;

receiving, by an application server, a plurality of parallel web service calls from a user device via a user interface;

in response to receiving the plurality of parallel web service calls, locating, by the application server, each web service of the plurality of web services being defined with an API to fulfill an installation task corresponding to a particular web service call of the plurality of parallel web service calls;

for each located web service of the plurality of web services, transmitting, by the application server, a corresponding Secure Shell (SSH) calls to a corresponding backend server of the plurality of backend servers, causing a secure connection between the application server and each corresponding backend server of the plurality of backend servers; and

for each backend server of the plurality of backend servers with a secure connection with the application server, evoke, by a corresponding web service of the plurality of web services, a corresponding executable script of the plurality of executable scripts, evoking a corresponding executable script includes:

automatically installing in parallel, on each of the plurality of backend servers with the secure connection with the application server, each corresponding application program by executing in parallel the set of commands of each of the corresponding executable scripts of the plurality of executable scripts, wherein a number of the plurality of parallel web service calls processed by the application server are based on a hardware capacity of the application server.

10. The method of claim 9 , wherein the user device, the application server, and the plurality of backend servers are independent of each other in terms of programming language and operating system.

11. The method of claim 9 , wherein the plurality of parallel web service calls are made via browser tabs launched from one or more user devices.

12. The method of claim 9 , wherein the application server receives scripts executed results from each of backend servers that have installed the corresponding application program, and sends the received scripts to the user device to indicate a completion of the parallel program installation.

13. The method of claim 9 , wherein the plurality of executable scripts are stored in a fileshare which is directly accessible to the application server and the plurality of the backend servers.

14. The method of claim 9 , wherein the plurality of executable scripts are stored on one of the plurality of backend servers.

15. The method of claim 9 , wherein the plurality of parallel web service calls are generated using a microservice approach.

16. The method of claim 9 , wherein the plurality of parallel web service calls are mutually asynchronous calls for performing multiple installations on one or more of the plurality of backend servers.

17. A non-transitory computer-readable medium storing instructions, that when executed by one or more processors, causes the one or more processors to:

receive a plurality of parallel web service calls from a user device via a user interface;

in response to receiving the plurality of parallel web service calls, locate a plurality of web services, each web service of the plurality of web services being defined with an API to fulfill an installation task corresponding to a particular web service call of the plurality of parallel web service calls;

for each located web service of the plurality of web services, transmit a corresponding Secure Shell (SSH) call to a corresponding backend server of a plurality of backend servers, causing a secure connection between an application server and each corresponding backend server of the plurality of backend servers; and

for each backend server of the plurality of backend servers with a secure connection with the application server, evoke, by a corresponding web service of the plurality of web services, a corresponding executable script of a plurality of executable scripts, evoking a corresponding executable script includes:

automatically installing in parallel, on each of the plurality of backend servers with the secure connection with the application server, each corresponding application program by executing in parallel the set of commands of each of the corresponding executable scripts;

wherein a number of the parallel web service calls received by the application server are based on a hardware capacity of the application server.

18. The non-transitory computer-readable medium of claim 17 , wherein the user device, the application server, and the backend servers are independent of each other in terms of programming language and operating system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2020
From: SINGH, ROBIN; PRADHAN, TRUSHANGI G.
To: WALMART APOLLO, LLC
Reel/Frame 051970/0632 →
Priority Claims (1)
IN 201811042295 · Nov 9, 2018 · national
Continuity (2)
Provisional Application 62820538 · Mar 19, 2019
Related Publication 20200150943A1 · May 14, 2020
Cited By (1)
US 12,536,009