IP Library Granted Patent US 10,158,669
Granted Patent B2
US 10,158,669 · App. 15/009,423 · Granted Dec 18, 2018

Dynamic application versioning system

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,158,669
App. No.
15/009,423
Granted
Dec 18, 2018
Kind
B2
Abstract

A computer system authenticates a user of a mobile application. In response to authenticating the user, the computer identifies a user profile for the user. The user profile includes a current application state for the mobile application. The computer then selects an application version based on applying a set of rules to the current application state. The computer then sends a response to the mobile device indicating the selected application version, enabling performing an operation for the organization based on the selected version for the application selectively enabling access to services provided by the organization for people.

Claims (55)

1. A method for controlling presentation of a mobile application on a mobile device, the method comprising:

receiving, by an application server, a request from the mobile device to present the mobile application, wherein the mobile application comprises a number of services;

identifying, by the application server, a user profile for a user of the mobile device, the user profile comprising a current application state of the mobile application;

determining, by the application server, a subset of the number of services associated with the user profile;

determining, by the application server, which of the set of application versions supports the subset of the number of services;

selecting, by the application server, an application version for the mobile application from a set of application versions for the mobile application on the mobile device based on an application of a set of rules to the current application state indicated in the user profile, wherein the set of rules comprises a rule for determining an eligibility of the user for one of the set of application versions, wherein the rule for determining the eligibility of the user requires the selected application version to support the subset of the number of services; and

sending, by the application server, a response to the mobile device, the response indicating to the mobile device to present the selected application version of the mobile application to the user.

2. The method of claim 1 further comprising:

subsequent to sending the response to the mobile device, identifying a target application state of the mobile application based on the application of the set of rules to the current application state; and

setting the current application state equal to the target application state.

3. The method of claim 1 , wherein the set of rules further comprises:

a rule for determining a preference of the user for one of the set of application versions, and a rule requiring one of the set of applications versions requirement by an application manager.

4. The method of claim 1 , wherein selecting an application version from a set of application versions based on an application of a set of rules to the current application state further comprises:

determining whether the user profile is one of a prohibited subset of profiles for a particular version of the set of application versions; wherein

the rule for determining the eligibility of the user for one of the set of application versions prohibits the selected application version from being the particular version of the set of application versions.

5. The method of claim 1 , wherein the mobile application on the mobile device comprises:

all of the set of application versions for the mobile application, wherein the set of application versions is a plurality of application versions for the mobile application.

6. The method of claim 5 , wherein each of the set of application versions is a first set and comprises a number of bytes within the mobile application, the method further comprising:

receiving an update to the first set of applications versions for the mobile application on the mobile device, wherein the update includes a new version of the mobile application and forms a second set of application versions.

7. The method of claim 6 , wherein the update does not change the number of bytes within the mobile application for the first set of application versions of the mobile application.

8. A computer system comprising:

a hardware processor;

an application manager, in communication with the hardware processor and executing on an application server, wherein the application manager: receives a request from a mobile device to present a mobile application; identifies a user profile for a user of the mobile device, the user profile comprising a current application state of the mobile application; determines a subset of the number of services associated with the user profile; determines which of the set of application versions supports the subset of the number of services; selects an application version for the mobile application from a set of application versions for the mobile application on the mobile device based on an application of a set of rules to the current application state indicated in the user profile, wherein the set of rules comprises a rule for determining an eligibility of the user for one of the set of application versions, wherein the rule for determining the eligibility of the user requires the selected application version to support the subset of the number of services; and sends a response to the mobile device, the response indicating to the mobile device to present the selected application version of the mobile application to the user.

9. The computer system of claim 8 , wherein the application manager:

identifies a target application state of the mobile application subsequent to sending the response to the mobile device, wherein the target application state is based on the application of the set of rules to the current application state; and

sets the current application state equal to the target application state.

10. The computer system of claim 8 , wherein the set of rules further comprises a rule for determining a preference of the user for one of the set of application versions, and a rule requiring one of the set of applications versions requirement by the application manager.

11. The computer system of claim 8 , wherein in selecting an application version from a set of application versions based on an application of a set of rules to the current application state, the application manager:

determines whether the user profile is one of a prohibited subset of profiles for a particular version of the set of application versions; wherein

the rule for determining the eligibility of the user for one of the set of application versions prohibits the selected application version from being the particular version of the set of application versions.

12. The computer system of claim 8 , wherein the mobile application on the mobile device comprises:

all of the set of application versions for the mobile application, wherein the set of application versions is a plurality of application versions for the mobile application.

13. The computer system of claim 12 , wherein each of the set of application versions is a first set and comprises a number of bytes within the mobile application, and wherein the application manager:

receives an update to the first set of applications versions for the mobile application on the mobile device, wherein the update includes a new version of the mobile application and forms a second set of application versions.

14. The computer system of claim 13 , wherein the update does not change the number of bytes within the mobile application for the first set of application versions of the mobile application.

15. A computer program product for controlling presentation of a mobile application on a mobile device, the computer program product comprising:

a non-transitory computer readable storage media;

program code, stored on the non-transitory computer readable storage media, for receiving a request from the mobile device to present the mobile application;

program code, stored on the non-transitory computer readable storage media, for identifying a user profile for a user of the mobile device, the user profile comprising a current application state of the mobile application;

program code, stored on the non-transitory computer readable storage media, for determining a subset of the number of services associated with the user profile;

program code, stored on the non-transitory computer readable storage media, for determining which of the set of application versions supports the subset of the number of services;

program code, stored on the non-transitory computer readable storage media, for selecting an application version for the mobile application from a set of application versions for the mobile application on the mobile device based on an application of a set of rules to the current application state indicated in the user profile; and

program code, stored on the non-transitory computer readable storage media, for sending a response to the mobile device, the response indicating to the mobile device to present the selected application version of the mobile application to the user.

16. The computer program product of claim 15 , further comprising:

program code, stored on the non-transitory computer readable storage media, for identifying a target application state of the mobile application based on the application of the set of rules to the current application state, wherein the fifth program code is executed subsequent to the program code for sending the response to the mobile device; and

program code, stored on the non-transitory computer readable storage media, for setting the current application state equal to the target application state.

17. The computer program product of claim 15 , wherein the set of rules further comprises:

a rule for determining a preference of the user for one of the set of application versions, and a rule requiring one of the set of applications versions requirement by an application manager.

18. The computer program product of claim 15 , wherein the program code for selecting the application version further comprises:

program code for determining whether the user profile is one of a prohibited subset of profiles for a particular version of the set of application versions; wherein

the rule for determining the eligibility of the user for one of the set of application versions prohibits the selected application version from being the particular version of the set of application versions.

19. The computer program product of claim 15 , wherein the mobile application on the mobile device comprises all of the set of application versions for the mobile application, wherein the set of application versions is a plurality of application versions for the mobile application.

20. The computer program product of claim 15 , wherein each of the set of application versions is a first set and comprises a number of bytes within the mobile application, the computer program product further comprising:

program code, stored on the non-transitory computer readable storage medium, for receiving an update to the first set of applications versions for the mobile application on the mobile device, wherein the update includes a new version of the mobile application and forms a second set of application versions.

21. The computer program product of claim 20 , wherein the update does not change the number of bytes within the mobile application for the first set of application versions of the mobile application.

Assignments (2)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2016
From: RUSSO, ALVARO, JR.; SNYTKINE, DMITRI; CHO, HANWOONG DARREN; ALTAMURA, DONNA M.; SHETH, TUSHAR S.; BRAUMAN, MICHAEL JUSTIN; ROTH, STEVEN J.; CIVETTA, VINCENT; BERGAMINI, STEVEN F.
To: ADP, LLC
Reel/Frame 037613/0684 →