IP Library Granted Patent US 11,675,579
Granted Patent B2
US 11,675,579 · App. 16/994,588 · Granted Jun 13, 2023

Systems and methods for deploying enterprise software updates

Inventors: Ajay Gupta (Dublin, CA); Amirul Islam (San Ramon, CA); Shivkumar Krishnan (Los Altos, CA)
Assignee: The Gap, Inc.
G06F8/65G06Q10/105G06Q20/202G06Q20/204G06Q20/206G06Q30/0185H04L67/01
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,675,579
App. No.
16/994,588
Granted
Jun 13, 2023
Kind
B2
Abstract

Systems and methods for deploying enterprise software updates are provided. At a server storing applications and a record of client devices is provided. Each application includes a corresponding group identifier indicating a group associated with an application and a corresponding version identifier indicating a version of the application. The record includes the deployment identifier for each application in the plurality of applications installed on each device. A first application having a first group identifier and a first version identifier, and a second application having the first group identifier and a second version identifier is installed in each respective device. An update for the first application is received at the server, which includes modifying the version identifier of the first application. The update for the first application is communicated to each device. For each respective device, a modification of the deployment identifier indicates which application is executable on the respective device.

Claims (48)

1. A computer implemented method comprising:

at a server:

storing, in a memory of the server, a plurality of applications and a record of a plurality of client devices, wherein:

each respective application in the plurality of applications comprises a corresponding group identifier indicating a group associated with the respective application and a corresponding version identifier indicating a version of the respective application,

the record of the plurality of client devices comprises, for each respective client device in the plurality of client devices, the corresponding version identifier for each respective application in the plurality of applications installed on the respective client device,

a first application in the plurality of applications has a first group identifier and a first version identifier,

a second application in the plurality of applications has the first group identifier and a second version identifier,

the first application and the second application are each configured to run on each respective client device in the plurality of client devices, wherein each respective application in the plurality of applications having a corresponding common group identifier includes a corresponding shared data element associated with the corresponding common group identifier;

receiving, at the server, an update for the first application, wherein the update includes modifying the version identifier of the first application to indicate a version associated with the update;

communicating the update for the first application to a first client device in the plurality of client devices; and

receiving, at the server, a command to modify the version identifier for a subset of applications in the plurality of applications, wherein, for each respective client device in the plurality of client devices, the modification of the version identifier indicates which respective application in the plurality of applications is executable on the respective client device.

2. The method of claim 1 , wherein each respective application in the plurality of applications comprises a corresponding deployment identifier indicating a deployment status of the respective application.

3. The method of claim 2 , wherein the corresponding deployment identifier is selected from the group consisting of an active deployment status and an inactive deployment status.

4. The method of claim 1 , wherein the record of the plurality of client devices further comprises, for each respective client device in the plurality of client devices, a corresponding location identifier associated with the respective client device.

5. The method of claim 1 , wherein each respective application in the plurality of applications having the corresponding common group identifier is stored, on the server, in a single corresponding container associated with the corresponding common group identifier.

6. The method of claim 1 , wherein the update for the first application further comprises modifying a graphical display icon associated with the first application.

7. The method according to claim 1 , wherein the communicating the update for the first application is in response to a request for an updated application from the first client device.

8. The method of claim 1 , wherein the communicating the update for the first application is in response to a command provided by the server to the first client device.

9. The method of claim 1 , wherein the communicating the update for the first application is conducted in accordance with a determination of an available bandwidth of a communication network associated with the server and one or more client devices in the plurality of client devices.

10. The method of claim 1 , wherein the corresponding shared data element for a common group that comprises the first and second applications comprises first data written by the first application and second data written by the second application.

11. The method of claim 1 , wherein the first application and the second application are different versions of a single point of sale (POS) software application.

12. The method of claim 11 , wherein the corresponding shared data element for the first and second applications comprises a transaction identifier of a procurement transaction that was executed by the first application.

13. The method of claim 11 , wherein the corresponding shared data element for the first and second applications comprises an AMEX transaction identifier, an amount, an authorization code, an AVS street match, an AVS zip code match, a settlement batch number, a billing address, a card security code match, a client IP address, a credit card expiration date, a customer code, a description of a procured item, a discount amount, a quantity, a shipping address, a shipping method, a shipping phone number, a tax amount, a tax rate, a tender type, a time stamp, or a universal pricing code for a procurement transaction that was executed by the first application.

14. The method of claim 11 , wherein the corresponding shared data element for the first and second applications comprises a storage sled initialization indication, a storage sled monitoring indication, a storage sled power monitoring indication, or a storage sled status.

15. The method of claim 11 , wherein the corresponding shared data element for the first and second applications comprises a database location, a database store type, a configuration name, a store identifier, or an employee identifier.

16. The method of claim 4 , wherein the corresponding location identifier includes a physical address associated with the respective client device.

17. The method of claim 1 , wherein each respective client device in the plurality of client devices is a mobile device.

18. The method of claim 11 , wherein the corresponding shared data element for the first application and the second application comprises an identification an operating system version.

19. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions which, when executed by a computer system having a memory, cause the computer system to perform a method comprising:

storing, in the memory of the computer system, a plurality of applications and a record of a plurality of client devices, wherein:

each respective application in the plurality of applications comprises a corresponding group identifier indicating a group associated with the respective application and a corresponding version identifier indicating a version of the respective application,

the record of the plurality of client devices comprises, for each respective client device in the plurality of client devices, the corresponding version identifier for each respective application in the plurality of applications installed on the respective client device,

a first application in the plurality of applications has a first group identifier and a first version identifier,

a second application in the plurality of applications has the first group identifier and a second version identifier,

the first application and the second application are each configured to run on each respective client device in the plurality of client devices, wherein each respective application in the plurality of applications having a corresponding common group identifier includes a corresponding shared data element associated with the corresponding common group identifier;

receiving, at the computer system, an update for the first application, wherein the update includes modifying the version identifier of the first application to indicate a version associated with the update;

communicating the update for the first application to a first client device in the plurality of client devices; and

receiving, at the computer system, a command to modify the version identifier for a subset of applications in the plurality of applications, wherein, for each respective client device in the plurality of client devices, the modification of the version identifier indicates which respective application in the plurality of applications is executable on the respective client device.

20. A computer system comprising one or more processors, a display, and a memory coupled to the one or more processors, the memory comprising one or more programs configured to be executed by the one or more processors, thereby causing the computer system to perform a method comprising:

storing, in the memory, a plurality of applications and a record of a plurality of client devices, wherein:

each respective application in the plurality of applications comprises a corresponding group identifier indicating a group associated with the respective application and a corresponding version identifier indicating a version of the respective application,

the record of the plurality of client devices comprises, for each respective client device in the plurality of client devices, the corresponding version identifier for each respective application in the plurality of applications installed on the respective client device,

a first application in the plurality of applications has a first group identifier and a first version identifier,

a second application in the plurality of applications has the first group identifier and a second version identifier,

the first application and the second application are each configured to run on each respective client device in the plurality of client devices, wherein each respective application in the plurality of applications having a corresponding common group identifier includes a corresponding shared data element associated with the corresponding common group identifier;

receiving, at the computer system, an update for the first application, wherein the update includes modifying the version identifier of the first application to indicate a version associated with the update;

communicating the update for the first application to a first client device in the plurality of client devices; and

receiving, at the computer system, a command to modify the version identifier for a subset of applications in the plurality of applications, wherein, for each respective client device in the plurality of client devices, the modification of the version identifier indicates which respective application in the plurality of applications is executable on the respective client device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2023
From: GUPTA, AJAY; ISLAM, AMIRUL; KRISHNAN, SHIVKUMAR
To: THE GAP, INC.
Reel/Frame 063498/0667 →
Continuity (2)
Provisional Application 62888333 · Aug 16, 2019
Related Publication 20210072970A1 · Mar 11, 2021