Systems and methods for automatic application version upgrading and maintenance
First Claim
Patent Images
1. A method of maintaining components of an application program on a network comprising:
- maintaining on a server the application program, the application 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 on the client by downloading from the server to the client selected components for which the version identifications do not match and replacing the selected components on the client; and
specifying a maximum wait-time interval to limit any delay associated with updating the application program, and in a list maintained on the client specifying further servers on the network, each including a copy of the catalog, and when the server fails to download the catalog within the maximum wait-time interval, the client canceling the download and routing 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.
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 provide steps to ensure speedy and error-free transfer of the required files and components through an open network environment, such as the Internet.
237 Citations
7 Claims
-
1. A method of maintaining components of an application program on a network comprising:
-
maintaining on a server the application program, the application 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 on the client by downloading from the server to the client selected components for which the version identifications do not match and replacing the selected components on the client; and
specifying a maximum wait-time interval to limit any delay associated with updating the application program, and in a list maintained on the client specifying further servers on the network, each including a copy of the catalog, and when the server fails to download the catalog within the maximum wait-time interval, the client canceling the download and routing 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.
-
-
2. A method of maintaining components of an application program on a network comprising:
-
maintaining on a server the application program, the application program including components, each having a version identification, and maintaining a catalog of components with the version identifications;
specifying in the catalog a cryptographic digest for each component to ensure authenticity and integrity of the component;
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 on the client by downloading from the server to the client and replacing the selected components for which the version identifications and 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.
-
-
3. A method of maintaining components of an application program on a network comprising:
-
maintaining on a server the application program, the program application including components, each having a version identification, and maintaining a catalog of components with the version identifications;
specifying in the catalog any component of the application program which are no longer needed to execute the program;
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; and
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, replacing the selected components on the client.
-
-
4. A method of maintaining components of an application program on a network comprising:
-
maintaining on a server the application program, the program application including components, each having a version identification, and maintaining a catalog of components with the version identifications;
specifying a time interval in the catalog;
maintaining the application program on a client;
in response to user selection of the application program at the client, causing 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; and
updating the application program on the client, only on a first time the application program is run in the specified time interval, by downloading from the server to the client selected components for which the version identifications do not match and replacing the selected components on the client. - View Dependent Claims (5)
-
-
6. A method of maintaining components of an application program on a network comprising:
-
maintaining on a server the application program, the program application including components, each having a version identification, and maintaining a catalog of components with the version identifications;
specifying a fixed time interval at which the application program is updated;
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; and
updating the application program on the client by downloading from the server to the client selected components for which the version identifications do not match and replacing the selected components on the client.
-
-
7. A method of maintaining component of an application program on a network comprising:
-
maintaining on a server the application program, the application 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 on the client by downloading from the server to the client selected components for which the version identifications do not match and replacing the selected components on the client; and
specifying a maximum wait-time interval to limit any delay associated with updating the application program, and in a list maintained on the client specifying further servers on the network, and when the server fails to download within the maximum wait-time interval, the client canceling the download and routing the call to one of the further servers to engage a new download.
-
Specification