IP Library Granted Patent US 9,569,194
Granted Patent B2
US 9,569,194 · App. 14/271,027 · Granted Feb 14, 2017

Virtual application manager

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,569,194
App. No.
14/271,027
Granted
Feb 14, 2017
Kind
B2
Abstract

A system and method are provided for managing applications over a network between a server system and client computers. In one example, the method involves receiving user login information from a client computer, then accessing on the server system a user profile associated with the login information. The user profile includes a user environment configuration for a client environment. Transport protocols are selected based on the user profile. The transport protocols are protocols for transporting information between the server system and the client computer. The user environment configuration stored on the server system is then synchronized with a client environment configuration on the client computer.

Claims (120)

1. A method for managing one or more applications over a network according to a user profile associated with a user, wherein the network is configured to be connected to a server system and to one or more client computers, each of the one or more client computers being associated with an operating system and a hardware configuration, the method comprising:

receiving user login information from one of the one or more client computers, the user login information being associated with the user profile;

accessing the user profile associated with the login information, wherein the user profile includes a user environment configuration based on the user profile;

synchronizing a client environment with the user environment configuration, the client environment being associated with the client computer, wherein synchronizing includes at least the following:

determining one or more transport protocols based on the user profile, the transport protocols comprising one or more protocols for transporting data between the server system and the client computer;

identifying the one or more applications according to the user profile;

determining that at least one of the one or more applications according to the user profile has been used more than a specified threshold by the user;

determining that the at least one application is compatible with the operating system and hardware configuration associated with the client computer; and

in response to determining that the at least one of the one or more applications is compatible with the client computer, preloading the at least one application according to the user profile onto the client computer from the server system by loading application modules from one or more application modules, wherein preloading is performed using at least one of the one or more determined transport protocols.

2. The method of claim 1 , wherein the client computer contains a pre-installed application of the server system, wherein synchronizing the client environment comprises at least one of:

checking for an update to the pre-installed application;

determining that an update is available for the pre-installed application; and

updating the pre-installed application.

3. The method of claim 1 , wherein synchronizing the client environment comprises at least one of:

checking for a new application to be installed onto the client computer;

determining that a new application is available to be installed onto the client computer; and

installing the new application onto the client computer.

4. The method of claim 1 , wherein synchronizing the client environment comprises at least one of:

checking for a new user environment configuration;

determining that a new user environment configuration is available; and

reconfiguring the client computer according to the new user environment configuration.

5. The method of claim 1 , wherein synchronizing the client environment comprises at least one of:

checking for an expired application stored on the client computer;

determining that the client computer contains an expired application; and

performing an expiration procedure.

6. The method of claim 1 , wherein synchronizing the client environment comprises one of:

synchronizing the client environment automatically during a time of user login; or

synchronizing the client environment upon receiving a user initiated request to perform the synchronization.

7. The method of claim 1 , wherein the user environment configuration includes at least one of:

a registry entry;

a temporary file directory;

a file permission;

an application icon description; and

an application link description.

8. The method of claim 1 , further comprising:

receiving a request to open a document, wherein the request is initiated outside of the one or more applications; and

checking for a default document type having an associated installed application on the client computer.

9. The method of claim 8 , further comprising at least one of:

determining that a default document type is attached to the document; and

opening the document with the associated installed application.

10. The method of claim 8 , further comprising at least one of:

determining that a default document type is not attached to the document; and

providing a list of installed applications that are compatible with the document and with the client computer.

11. The method of claim 1 , further comprising:

receiving a configuration of the client computer, the configuration including information associated with the hardware configuration and operating system of the client computer;

receiving a request to install an application onto the client computer; and

checking compatibility of the application with the configuration of the client computer.

12. The method of claim 11 , further comprising:

determining that the application is compatible with the configuration of the client computer; and

installing the application onto the client computer.

13. The method of claim 1 , further comprising maintaining database records including at least one of:

login security information;

an application catalog;

billing information for each user; and

an application profile for each of the one or more applications, wherein each application profile includes at least one of:

application vendor information;

an application type;

an application name;

an alias name;

an application version;

a mirror version;

a patch level;

hardware and operating system compatibility information;

a list of compatible comparable applications;

an application version group;

transport and access methods;

an XML description;

an HTML, description; and

an HTTP link.

14. The method of claim 1 , wherein the one or more application modules comprise statistically often-used application modules.

15. A system for managing one or more applications over a network, the system comprising:

A client computer associated with a client environment, an operating system, and a hardware configuration; and

one or more servers including a database, at least one of the servers comprising a processor, wherein the servers are configured to be connected to the client computer via the network, to store the one or more applications, to store a user profile associated with a user including a user environment configuration accessed by a user login, and to synchronize the client environment with the user environment configuration, wherein synchronizing the client environment with the user environment comprises at least:

determining one or more transport protocols based on the user profile, the transport protocols comprising one or more protocols for transporting data between the one or more servers and the client computer;

identifying the one or more applications according to the user profile;

determining that at least one of the one or more applications has been used more than a specified threshold by the user;

determining that the at least one application is compatible with the operating system and hardware configuration associated with the client computer; and

preloading the at least one of the one or more applications onto the client computer from the servers by loading application modules from one or more applications, wherein preloading is performed using at least one of the one or more determined transport protocols.

16. The system of claim 15 , wherein the server system further includes a transaction processor configured to execute requests from the client computer, wherein the transaction processor is connected to the network and to the database.

17. The system of claim 15 , wherein the client computer further includes a display device, wherein the client computer is configured to render the client environment on the display device in accordance with the user environment configuration.

18. The system of claim 17 , wherein the client environment is one of:

a desktop environment;

a thin client environment;

a laptop environment;

a personal digital assistant environment;

a palmtop environment; and

a workstation environment.

19. The system of claim 15 , wherein the database contains one or more stored applications to which a user may subscribe.

20. The system of claim 19 , wherein the user profile further includes a list of one or more authorized applications to which the user is subscribed, wherein the one or more stored applications includes at least the one or more authorized applications.

21. The system of claim 19 , wherein the one or more stored applications includes one or more unauthorized applications to which the user is not subscribed.

22. The system of claim 15 , wherein the user profile further includes the application local preferences including preferences of an application defined by the user.

23. The system of claim 15 , wherein the user profile further includes a configuration of the client computer, the configuration including information associated with the operating system and hardware configuration of the client computer, wherein the server system is configured to collect and store the configuration of the client computer, wherein the server system is configured to compare compatibility of the one or more applications with the configuration of the client computer.

24. The system of claim 16 , wherein the client computer further includes a client processor, wherein the transaction processor is configured to send an application installation scripter to the client computer, wherein the application installation scripter includes instructions for the client processor on updates to the client environment, wherein updates to the client environment are consistent with the user environment configuration stored on the server system.

25. The system of claim 15 , wherein the client computer further includes a client program launcher configured to launch an authorized application, wherein the client program launcher is a proxy program launcher.

26. The system of claim 15 , wherein the server system maintains at least one of:

login security information;

an application catalog;

billing information; and

application profiles.

27. The system of claim 15 , further comprising another client computer including another client environment, wherein the server system is further configured to synchronize the user environment configuration with the other client environment, wherein the user environment configuration stored on the server system includes preferences defined by the user, wherein the preferences defined by the user are transferred to the other client computer during synchronization of the user environment configuration with the other client environment.

28. The system of claim 15 , wherein the application modules comprise statistically often-used application modules.

29. A client computer configured to connect to a server system via a network, wherein the server system is configured to manage one or more applications over the network, the client computer comprising:

a client environment; and

a processor;

wherein the client computer is associated with an operating system and a hardware configuration, wherein the client computer is configured to synchronize the client environment with a user environment configuration received from the server system, wherein the user environment is based on a user profile accessed by a user login, wherein the user profile is stored on the server system and customized for a user, wherein synchronizing the client environment with a user environment configuration comprises at least:

determining one or more transport protocols based on the user profile, the transport protocols comprising one or more protocols for transporting data between the server system and the client computer;

identifying the one or more applications;

determining that least one of the one or more applications has been used more than a specified threshold by the user;

determining that the at least one application is compatible with the operating system and hardware configuration associated with the client computer; and

preloading the client computer with the at least one application by being loaded with application modules from one or more application modules, wherein preloading is performed using at least one of the one or more determined transport protocols.

30. The client computer of claim 29 , further comprising:

a database configured to store the client environment; and

a display device, wherein the client computer is configured to render the client environment on the display device in accordance with the user environment configuration.

31. The client computer of claim 29 , wherein the client computer is configured to send a request to the server system to update the user profile stored on the server system.

32. The client computer of claim 31 , wherein the request to update the user profile is at least one of:

a request to update a pre-installed application stored on the client computer, wherein the user profile includes a user subscription and a user authorization to the pre-installed application;

a request to install a new application onto the client computer, wherein the new application is stored on a database of the server system;

a request to change a user environment stored on the server system, wherein the user environment configuration is based on a client environment configuration of the client computer; and

a request to subscribe to an expired application stored on the server system.

33. The client computer of claim 29 , wherein the application modules comprise statistically often-used application modules.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: MAXSP CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 036168/0302 →
CHANGE OF NAME Recorded Jul 21, 2015
From: NEW CHECKERBOARD CATTLE AND COMPUTER CORPORATION
To: MAXSP CORPORATION
Reel/Frame 036148/0889 →
NUNC PRO TUNC CONFIRMATORY ASSIGNMENT WITH AN EFFECTIVE DATE OF 7/1/2008 WHICH CONFIRMS THE AGREEMENT OF SALE EXECUTED ON 7/1/2008 FROM MAXSP CORPORATION TO JOHN B. GOODRICH Recorded Jul 21, 2015
From: MAXSP CORPORATION
To: GOODRICH, JOHN B.
Reel/Frame 036163/0082 →
NUNC PRO TUNC CONFIRMATORY ASSIGNMENT WITH AN EFFECTIVE DATE OF 7/1/2008 WHICH CONFIRMS THE BILL OF SALE EXECUTED ON 9/12/2008 FROM JOHN B. GOODRICH TO NEW CHECKERBOARD CATTLE AND COMPUTER CORPORATION Recorded Jul 21, 2015
From: GOODRICH, JOHN B.
To: NEW CHECKERBOARD CATTLE AND COMPUTER CORPORATION
Reel/Frame 036163/0287 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2014
From: KEITH, ROBERT O., JR.
To: MAXSP CORPORATION
Reel/Frame 032833/0076 →