Systems and methods for automatic application version upgrading and maintenance
First Claim
Patent Images
1. A method of maintaining application program components on a network comprising:
- maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications;
maintaining the application program on a client;
at the client, identifying an application program for update;
in response to a call to the server from the client, causing the server to download to the client the catalog for the identified application program and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client;
updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and
executing the updated application program on the client;
wherein substantially all processing, other than file transfers, in updating the application program is performed at the client.
15 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to methods and systems for maintaining application programs on a client computer in a client-server network environment. The task of dynamically upgrading components in the application program running on a client is greatly simplified by rendering control to the individual client rather than to a central server. The version updating procedures of the present invention further provides steps to ensure speedy and error-free transfer of the required files and components through an open network environment, such as the Internet.
-
Citations
96 Claims
-
1. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; at the client, identifying an application program for update; in response to a call to the server from the client, causing the server to download to the client the catalog for the identified application program and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; wherein substantially all processing, other than file transfers, in updating the application program is performed at the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A system for maintaining an application program on a network comprising:
-
a server for maintaining the application program, the program including components, each being provided with a version identification; a catalog on the server for specifying the components with the version identifications; a client which maintains the application program and, where a user selects the application program to execute the program, first causes the server to download the catalog to the client, compares the version identifications of the components maintained on the server, indicated in the downloaded catalog, and the version identifications of the components maintained on the client, updates the application program on the client by downloading from the server to the client the selected components for which the version identifications do not match and by replacing the selected components on the client, and thereafter executes the updated application program. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64)
-
-
65. A programmed data processing client comprising:
-
an application program including components, each being provided with a version identification; and a launcher program which, when a user selects the application program to execute the program; causes a server to download a catalog to the client, the catalog specifying the components with the version identifications; compares the version identifications of the components indicated in the downloaded catalog with version identifications of the components maintained on the client; and updates the application program on the client by downloading from the server to the client the selected components for which the version identifications do not match and by replacing the selected components on the client.
-
-
66. A program on a storage device providing instructions, for execution on a client, which:
-
when a user selects to execute an application program on the client, the application program including components, each component having a version identification, cause a server to download a catalog of components with the version identifications; compare the version identifications indicated in the catalog with the version identifications of the components maintained on the client; and update the components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client.
-
-
67. A method of installing and automatically updating application programs on a plurality of client computers attached to a common network comprising the steps of:
-
storing various components of the application programs on one or more server computers attached to the same network with each server operating with standard protocol to automatically transmit a specified file in response to a standard file transfer request; creating a catalog file which lists the names of all the required components of each of said application programs, and specifying for each component a current version identification and either a content of the component or a network address from which the component can be retrieved by the standard file transfer request; storing the catalog file on one or more of said server computers; and installing on each client computer a launcher program which operates as a proxy for each of said application programs and which executes steps for each application program comprising; retrieving the current version of said catalog file and comparing the components and their version identifications to corresponding information in a second catalog of application components already stored on the client computer; retrieving from their designated network addresses any components which said launcher program determines as either not present or having incorrect version identifications; installing the retrieved components in a standard program component directory; storing the retrieved catalog file to identified the components present on the client in a subsequent update; and executing the application program. - View Dependent Claims (68, 69)
-
-
70. A method of maintaining an application program in a client-server environment comprising:
-
maintaining on a server the application program, the program including the components, each having a version identification, and maintaining a catalog of components with the version identifications; in response to a first call to the server from a client, causing the server to download the catalog to the client and the application program; maintaining on the client the application program and information in the downloaded catalog including a list of the components with the version identifications; in response to a subsequent call to the server from the client, causing the server to download a second catalog including the latest version identifications of the components and of any new additional components on the server; comparing in the client the latest version identifications of the components in the second catalog with the version identifications of the components maintained on the client; updating the application program on the client by downloading from the server to the client the selected components for which the version identifications do not match; and executing the updated application program on the client.
-
-
71. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client wherein the catalog maintained on the server includes network addresses of further servers from which the components can be retrieved.
-
-
72. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client wherein the catalog includes procedures for executing supplemental programs on the client prior to executing the updated application program. - View Dependent Claims (73, 74)
-
-
75. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; the method further comprising specifying a maximum wait-time interval to limit any delay associated with updating the application program, and in a catalog maintained on the client specifying a list of further servers on the network, each including a copy of the catalog, such that when the server fails to download the catalog within the maximum wait-time interval, the client cancels the download and routes the call to one of the further servers to engage a new download and so on until the catalog has been downloaded within the specified maximum wait-time interval.
-
-
76. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; the method further comprising; specifying in the catalog a cryptographic digest for each component to ensure authenticity and integrity of the component; updating the application program on the client by downloading from the server to the client and replacing the selected components for which the cryptographic digests do not match; and computing the cryptographic digests on the client to ensure that the downloaded components are authentic and that the components have not been corrupted during transmission.
-
-
77. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; the method further comprising specifying in the catalog any component of the application program which are no longer needed to execute the program; and in response to the call to the application program from the client, updating the application program by downloading the catalog from the server to the client and deleting the selected components on the client that are no longer needed prior to executing the updated program.
-
-
78. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client the catalog for the identified application program and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; the method further comprising specifying a time interval in the catalog, and the application program is updated only on a first time the application is run in the specified time interval. - View Dependent Claims (79)
-
-
80. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; the method further comprising specifying a fixed time interval in the catalog at which the application program is updated regardless of whether the call to the server is made from the client. - View Dependent Claims (81)
-
-
82. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client the catalog for the identified application program and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; wherein the application program on the client is automatically updated on the client each time the client is booted up.
-
-
83. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; wherein the components include executable codes, library files, parameter files, and data files of the application program.
-
-
84. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; wherein the network is the Internet, the server is an Internet server, and the client is a World Wide Web browser, and the call to the server is made through a hypertext link on the browser directed to the catalog on the server. - View Dependent Claims (85, 86, 87, 88, 89)
-
-
90. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; wherein the network is an intranet and the client is a World Wide Web browser, and the call to the application program is made through a hypertext link on the browser directed to the catalog on the server. - View Dependent Claims (91, 92, 93, 94, 95)
-
-
96. A method of maintaining application program components on a network comprising:
-
maintaining on a server the application program, the program including components, each having a version identification, and maintaining a catalog of components with the version identifications; maintaining the application program on a client; in response to a call to the server from the client, causing the server to download the catalog to the client and, in the client, comparing the version identification between the components maintained on the server, indicated in the catalog, and the components maintained on the client; updating the application program components on the client by downloading from the server to the client the selected components for which the version identifications do not match and replacing the selected components on the client; and executing the updated application program on the client; the method further comprising specifying in the catalog a procedure to delete the components immediately after executing the updated application to free up disk space on the client.
-
Specification