US6006034A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Systems and methods for automatic application version upgrading and maintenance
Assignee: Flexera Software LLC
•
Filing: 1996-09-05
•
Granted: 1999-12-21
•
Expires: 2016-09-05
Abstract
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.
Inventors
- 👤 Clifford Heath
- 👤 Graeme Port
- 👤 Steven Klos
- 👤 Graeme Greenhill
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-28 23:21
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/60; G06F8/65
Claims Analysis
Total Claims: 114
Claim 1
Independent Claim
167 words
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.
Claim 2
Independent Claim
167 words
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.
Claim 3
Dependent Claim
34 words
A method as claimed in claim 1 further comprising storing in a persistent cache on the client a portion of the catalog which includes the components of the updated application program on the client.
Claim 4
Dependent Claim
32 words
A method as claimed in claim 1 further comprising updating the application program on the client by downloading from the server to the client the selected components not present on the client.
Claim 5
Dependent Claim
32 words
A method as claimed in claim 1 wherein the server downloads the catalog and components to the client for updating the application program on the client by way of hypertext transfer protocol.
Claim 6
Dependent Claim
32 words
A method as claimed in claim 1 wherein the server downloads the catalog and components to the client for updating the application program on the client by way of file transfer protocol.
Claim 7
Dependent Claim
27 words
A method as claimed in claim 1 wherein the catalog maintained on the server includes network addresses of further servers from which the components can be retrieved.
Claim 8
Dependent Claim
34 words
A method as claimed in claim 1 wherein the catalog maintained on the server includes directory locations on the client in which the downloaded components are stored for proper execution of the application program.
Claim 9
Dependent Claim
77 words
A method as claimed in claim 1 wherein the call to the server is transmitted to the server by a launcher on the client which operates as a proxy to the application program such that selecting the application from the client to execute the program engages the launcher to communicate with the server to cause the server to download the catalog, update the application program on the client, and execute the updated application program on the client.
Claim 10
Dependent Claim
22 words
A method as claimed in claim 8 wherein the launcher is a functional component of an operating system running on the client.
Claim 11
Dependent Claim
26 words
A method as claimed in claim 1 wherein the catalog includes procedures for executing supplemental programs on the client prior to executing the updated application program.
Claim 12
Dependent Claim
20 words
A method as claimed in claim 10 wherein the supplemental programs are executed following the execution of the application program.
Claim 13
Dependent Claim
16 words
A method as claimed in claim 10 wherein the supplemental programs include a virus scanning program.
Claim 14
Dependent Claim
98 words
A method as claimed in claim 1 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.
Claim 15
Dependent Claim
81 words
A method as claimed in claim 1 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.
Claim 16
Dependent Claim
74 words
A method as claimed in claim 1 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.
Claim 17
Dependent Claim
36 words
A method as claimed in claim 1 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.
Claim 18
Dependent Claim
19 words
A method as claimed in claim 16 wherein the time interval is specified by a user from the client.
Claim 19
Dependent Claim
37 words
A method as claimed in claim 1 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.
Claim 20
Dependent Claim
31 words
A method as claimed in claim 18 wherein the application program is updated at the fixed time interval only as necessary to maintain the application program current without executing the application.
Claim 21
Dependent Claim
27 words
A method as claimed in claim 1 wherein the application program on the client is automatically updated on the client each time the client is booted up.
Claim 22
Dependent Claim
44 words
A method as claimed in claim 1 further comprising recording in a file the status of each updating of the application program including names of the components replaced, deleted or added on the client and related procedures for tracking and reporting the program updates.
Claim 23
Dependent Claim
24 words
A method as claimed in claim 1 wherein the components include executable codes, library files, parameter files, and data files of the application program.
Claim 24
Dependent Claim
50 words
A method as claimed in claim 1 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.
Claim 25
Dependent Claim
45 words
A method as claimed in claim 23 wherein the Web browser includes a launcher program, the launcher program being executed when the hypertext link to the catalog is selected on the browser, to update the application program and to execute the updated application program thereafter.
Claim 26
Dependent Claim
21 words
A method as claimed in claim 24 wherein the launcher program is a plug-in module to cooperatively run with the browser.
Claim 27
Dependent Claim
21 words
A method as claimed in claim 24 wherein the launcher program is a helper application to cooperatively run with the browser.
Claim 28
Dependent Claim
36 words
A method as claimed in claim 23 further comprising specifying in the catalog a procedure to install an icon on the client which enables a user to subsequently execute the application program without accessing the browser.
Claim 29
Dependent Claim
49 words
A method as claimed in claim 23 further comprising specifying in the catalog a procedure to determine whether a launcher program is present on the client, and if the launcher program is not present, retrieving from the server the launcher program and installing the program into the Web browser.
Claim 30
Dependent Claim
45 words
A method as claimed in claim 1 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.
Claim 31
Dependent Claim
45 words
A method as claimed in claim 29 wherein the Web browser includes a launcher program, the launcher program being executed when the hypertext link to the catalog is selected on the browser, to update the application program and to execute the updated application program thereafter.
Claim 32
Dependent Claim
21 words
A method as claimed in claim 30 wherein the launcher program is a plug-in module to cooperatively run with the browser.
Claim 33
Dependent Claim
21 words
A method as claimed in claim 30 wherein the launcher program is a helper application to cooperatively run with the browser.
Claim 34
Dependent Claim
36 words
A method as claimed in claim 29 further comprising specifying in the catalog a procedure to install an icon on the client which enables a user to subsequently execute the application program without accessing the browser.
Claim 35
Dependent Claim
49 words
A method as claimed in claim 29 further comprising specifying in the catalog a procedure to determine whether a launcher program is present on the client, and if the launcher program is not present, retrieving from the server the launcher program and installing the program into the Web browser.
Claim 36
Dependent Claim
33 words
A method as claimed in claim 1 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.
Claim 37
Independent Claim
141 words
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.
Claim 38
Independent Claim
141 words
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.
Claim 39
Dependent Claim
33 words
A system as claimed in claim 36 wherein a portion of the catalog, which includes the components of the updated application program on the client, is stored in a cache on the client.
Claim 40
Dependent Claim
32 words
A system as claimed in claim 36 wherein the application program on the client is updated by downloading from the server to the client the selected components not present on the client.
Claim 41
Dependent Claim
34 words
A system as claimed in claim 36 wherein the plurality of servers downloads the catalog and components to the client for updating the application program on the client by way of hypertext transfer protocol.
Claim 42
Dependent Claim
34 words
A system as claimed in claim 36 wherein the plurality of servers downloads the catalog and components to the client for updating the application program on the client by way of file transfer protocol.
Claim 43
Dependent Claim
27 words
A system as claimed in claim 36 wherein the catalog maintained on the server includes network addresses of further servers from which the components can be retrieved.
Claim 44
Dependent Claim
34 words
A system as claimed in claim 36 wherein the catalog maintained on the server includes directory locations on the client in which the downloaded components are stored for proper execution of the application program.
Claim 45
Dependent Claim
76 words
A system as claimed in claim 36 further comprising a launcher on the client to operate as a proxy to the application program such that when the user selects the application program from the client to execute the program, the launcher is engaged first to communicate with the server to cause the server to download the catalog to the client, update the application program on the client, and execute the updated application program on the client.
Claim 46
Dependent Claim
22 words
A system as claimed in claim 43 wherein the launcher is a functional component of an operating system running on the client.
Claim 47
Dependent Claim
25 words
A system as claimed in claim 43 wherein the launcher is a stand-alone program on the client for updating the application programs on the client.
Claim 48
Dependent Claim
26 words
A system as claimed in claim 36 wherein the catalog includes procedures for executing supplemental programs on the client prior to executing the updated application program.
Claim 49
Dependent Claim
20 words
A system as claimed in claim 46 wherein the supplemental programs are executed following the execution of the application program.
Claim 50
Dependent Claim
16 words
A system as claimed in claim 46 wherein the supplemental programs include a virus scanning program.
Claim 51
Dependent Claim
94 words
A system as claimed in claim 36 wherein the catalog further includes a maximum time interval to limit any delay associated with updating the application program, and a list of further servers on the network, each further server 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.
Claim 52
Dependent Claim
83 words
A system as claimed in claim 36 wherein the catalog specifies a cryptographic digest for each component to ensure authenticity and integrity of the component, and the client updates the application program on the client by downloading from the server and replacing the selected components of the application program 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.
Claim 53
Dependent Claim
82 words
A system as claimed in claim 36 wherein the catalog includes a list of any components of the application program which are no longer needed to execute the program so that, in response to a call to the application program on the client to execute the program, the client updates the application program by downloading the catalog from the server to the client and deleting the selected components on the client which are no longer needed prior to executing the updated program.
Claim 54
Dependent Claim
34 words
A system as claimed in claim 36 wherein the catalog includes a time interval and the application program is updated only on a first time the application is run in the specified time interval.
Claim 55
Dependent Claim
20 words
A system as claimed in claim 52 wherein the predefined time interval is specified by a user from the client.
Claim 56
Dependent Claim
36 words
A system as claimed in claim 36 wherein the catalog includes a fixed time interval at which the application program is updated regardless of whether a call to the application program is made from the client.
Claim 57
Dependent Claim
34 words
A system as claimed in claim 54 wherein the application program is updated at the fixed time interval only if an update is necessary to maintain the application program current without executing the application.
Claim 58
Dependent Claim
31 words
A system as claimed in claim 36 wherein the application program on the client is automatically updated by an operating system on the client each time the client is booted up.
Claim 59
Dependent Claim
50 words
A system as claimed in claim 36 further comprising a file on the client to record status of each updating of the application program, the status including names of the components replaced, deleted or added on the client and related procedures for purpose of tracking and reporting the program updates.
Claim 60
Dependent Claim
24 words
A system as claimed in claim 36 wherein the components include executable codes, library files, parameter files, and data files of the application program.
Claim 61
Dependent Claim
69 words
A system as claimed in claim 36 wherein the network is the Internet, the server is an Internet server, and the client is a World Wide Web browser, and the user selects the application program for execution through a hypertext link on the browser directed to the catalog on the server and procedures in the browser for engaging a download of the components and execution of the program thereafter.
Claim 62
Dependent Claim
44 words
A system as claimed in claim 59 further comprising a launcher program installed on the Web browser, the launcher program being executed when the hypertext link is selected on the browser to update the application program and to execute the updated application program thereafter.
Claim 63
Dependent Claim
37 words
A system as claimed in claim 59 further wherein the catalog is specified with a procedure to install an icon on the client which enables a user to subsequently execute the application program without accessing the browser.
Claim 64
Dependent Claim
49 words
A system as claimed in claim 59 wherein the catalog is specified with a procedure to determine whether a launcher program is present on the client, and if the launcher program is not present, retrieving from the server the launcher program and installing the program into the Web browser.
Claim 65
Dependent Claim
77 words
A system as claimed in claim 36 wherein the network is an intranet and the client is a World Wide Web browser, and the user selects the application program for execution through a hypertext link on the browser directed to the catalog on the server, the Web browser including a launcher program, which is executed when the hypertext link to the catalog is selected, to update the application program and to execute the updated application program thereafter.
Claim 66
Dependent Claim
33 words
A system as claimed in claim 36 wherein the catalog is specified with a procedure to delete the components immediately after executing the updated application to free up disk space on the client.
Claim 67
Dependent Claim
111 words
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.
Claim 68
Dependent Claim
111 words
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.
Claim 69
Dependent Claim
103 words
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.
Claim 70
Dependent Claim
103 words
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.
Claim 71
Independent Claim
242 words
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.
Claim 72
Independent Claim
242 words
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.
Claim 73
Dependent Claim
57 words
A method as claimed in claim 67 further comprising: creating on a World Wide Web site a link on a Web page to the catalog file; and installing on each client computer the launcher program configured as a helper application in a Web browser to automatically execute whenever the link is selected to retrieve the catalog file.
Claim 74
Dependent Claim
18 words
A method as claimed in claim 67 wherein the launcher program is configured as a Web plug-in module.
Claim 75
Independent Claim
186 words
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.
Claim 76
Independent Claim
186 words
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.
Claim 77
Independent Claim
155 words
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.
Claim 78
Independent Claim
155 words
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.
Claim 79
Independent Claim
154 words
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.
Claim 80
Independent Claim
154 words
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.
Claim 81
Dependent Claim
20 words
A method as claimed in claim 72 wherein the supplemental programs are executed following the execution of the application program.
Claim 82
Dependent Claim
16 words
A method as claimed in claim 72 wherein the supplemental programs include a virus scanning program.
Claim 83
Independent Claim
228 words
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.
Claim 84
Independent Claim
228 words
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.
Claim 85
Independent Claim
211 words
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.
Claim 86
Independent Claim
211 words
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.
Claim 87
Independent Claim
204 words
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.
Claim 88
Independent Claim
204 words
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.
Claim 89
Independent Claim
173 words
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.
Claim 90
Independent Claim
173 words
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.
Claim 91
Dependent Claim
19 words
A method as claimed in claim 78 wherein the time interval is specified by a user from the client.
Claim 92
Independent Claim
167 words
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.
Claim 93
Independent Claim
167 words
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.
Claim 94
Dependent Claim
31 words
A method as claimed in claim 80 wherein the application program is updated at the fixed time interval only as necessary to maintain the application program current without executing the application.
Claim 95
Independent Claim
162 words
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.
Claim 96
Independent Claim
162 words
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.
Claim 97
Independent Claim
152 words
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.
Claim 98
Independent Claim
152 words
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.
Claim 99
Independent Claim
178 words
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.
Claim 100
Independent Claim
178 words
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.
Claim 101
Dependent Claim
45 words
A method as claimed in claim 84 wherein the Web browser includes a launcher program, the launcher program being executed when the hypertext link to the catalog is selected on the browser, to update the application program and to execute the updated application program thereafter.
Claim 102
Dependent Claim
21 words
A method as claimed in claim 85 wherein the launcher program is a plug-in module to cooperatively run with the browser.
Claim 103
Dependent Claim
21 words
A method as claimed in claim 85 wherein the launcher program is a helper application to cooperatively run with the browser.
Claim 104
Dependent Claim
36 words
A method as claimed in claim 85 further comprising specifying in the catalog a procedure to install an icon on the client which enables a user to subsequently execute the application program without accessing the browser.
Claim 105
Dependent Claim
49 words
A method as claimed in claim 85 further comprising specifying in the catalog a procedure to determine whether a launcher program is present on the client, and if the launcher program is not present, retrieving from the server the launcher program and installing the program into the Web browser.
Claim 106
Independent Claim
173 words
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.
Claim 107
Independent Claim
173 words
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.
Claim 108
Dependent Claim
40 words
A method as claimed in claim 90 wherein the Web browser includes a launcher program, which is executed when the hypertext link to the catalog is selected, to update the application program and to execute the updated application program thereafter.
Claim 109
Dependent Claim
21 words
A method as claimed in claim 91 wherein the launcher program is a plug-in module to cooperatively run with the browser.
Claim 110
Dependent Claim
21 words
A method as claimed in claim 91 wherein the launcher program is a helper application to cooperatively run with the browser.
Claim 111
Dependent Claim
36 words
A method as claimed in claim 91 further comprising specifying in the catalog a procedure to install an icon on the client which enables a user to subsequently execute the application program without accessing the browser.
Claim 112
Dependent Claim
49 words
A method as claimed in claim 91 further comprising specifying in the catalog a procedure to determine whether a launcher program is present on the client, and if the launcher program is not present, retrieving from the server the launcher program and installing the program into the Web browser.
Claim 113
Independent Claim
163 words
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.
Claim 114
Independent Claim
163 words
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.
References Cited (Backward Citations)
US4714992A
Cited
US5019963A
Cited
US5577244A
Cited
US5005122A
Cited
US5155847A
Cited
US5008814A
Cited
US5495610A
Cited
US5247683A
Cited
US5448727A
Cited
US5555416A
Cited
US5440723A
Cited
US5581764A
Cited
US5343527A
Cited
US5734898A
Cited
US5732266A
Cited
US5586304A
Cited
US5758342A
Cited
US5768511A
Cited
US5737533A
Cited
US5724345A
Cited
US5732275A
Cited
US5754830A
Cited
US5752042A
Cited
US5848421A
Cited
US5721911A
Cited
US5794259A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-12-20 | 2003-06-21 | 2003-12-21 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-12-20 | 2007-06-21 | 2007-12-21 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-12-20 | 2011-06-21 | 2011-12-21 | $7700.00 | Window Closed / Lapsed |