← Back to Patent Explorer
US6167567A Expired / Lapsed US ⏱️ 0.0 years remaining

Technique for automatically updating software stored on a client computer in a networked client-server environment

Assignee: HP Inc
•
Filing: 1998-05-05
•
Granted: 2000-12-26
•
Expires: 2018-05-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A technique for automatically updating software, including but not limited to application programs, residing on, e.g., a client computer. Specifically, an update script is stored on a network server for each software product to be updated and, where appropriate, for each different country or locale in which that product will be installed. At a scheduled time, the client computer automatically, through an executing updating application: establishes a network connection to the server; constructs a file name for a file containing an appropriate update script; and then downloads that file from the server. The script contains appropriate update information, including whether the update is to occur through a web site or through the script, and if the latter, listings of operating system (O/S) specific and O/S-independent product update files. For a script-based update, the updating application downloads those update files, as specified by the script, corresponding to the executing O/S and then, in a sequence specified in the script, executes various files therein to complete the update. Once the update successfully concludes, the updating application appropriately updates the locally stored version number of the installed software and schedules the next update accordingly.

Inventors

  • 👤 Anthony A. Chiles
  • 👤 David C. Chiles
  • 👤 Jackie Lee Manbeck, Jr.
  • 👤 Vu Hoanh Nguyen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:50
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/60; G06F8/65; G06F9/00; G06F9/06; G06F9/44; G06F9/451; G06F9/454

Claims Analysis

Total Claims: 37
Claim 1
Independent Claim 263 words
A method for updating software in a client-server environment through a network server, comprising the steps of, in a client computer: (A) determining a country or a locale within which the client computer is situated and, in response thereto, constructing a file name for a file containing an update script for use in the country or the locale; (B) issuing a request to the network server to download the file containing the update script to the client computer; and (C) processing the script on the client computer so as to complete an update of the software, wherein the processing step comprises the steps of: (C1) determining an operating system (O/S) then executing on the client computer; and (C2) wherein the update script comprises at least one of O/S-specific and O/S-independent sections: (C2a) if the O/S-independent section specifies a first update file name, extracting a first group of update file names from the O/S-independent section, the first group having at least one associated update file name; and (C2b) if the O/S-specific section of the script corresponds to the O/S executing on the client computer and specifies a second update file name, extracting a second group of update file names from the O/S-independent section, the second group having at least one associated update file name; and (C3) requesting a download to the client computer of update files from the network server corresponding to the first and second groups of update file names, to the extent at least one of the first and second groups of file names are specified in the O/S-independent and O/S-specific sections.
Claim 2
Independent Claim 263 words
A method for updating software in a client-server environment through a network server, comprising the steps of, in a client computer: (A) determining a country or a locale within which the client computer is situated and, in response thereto, constructing a file name for a file containing an update script for use in the country or the locale; (B) issuing a request to the network server to download the file containing the update script to the client computer; and (C) processing the script on the client computer so as to complete an update of the software, wherein the processing step comprises the steps of: (C1) determining an operating system (O/S) then executing on the client computer; and (C2) wherein the update script comprises at least one of O/S-specific and O/S-independent sections: (C2a) if the O/S-independent section specifies a first update file name, extracting a first group of update file names from the O/S-independent section, the first group having at least one associated update file name; and (C2b) if the O/S-specific section of the script corresponds to the O/S executing on the client computer and specifies a second update file name, extracting a second group of update file names from the O/S-independent section, the second group having at least one associated update file name; and (C3) requesting a download to the client computer of update files from the network server corresponding to the first and second groups of update file names, to the extent at least one of the first and second groups of file names are specified in the O/S-independent and O/S-specific sections.
Claim 3
Dependent Claim 55 words
The method in claim 1 wherein the software is installed on the client computer, on a device connected to the client computer wherein the client computer has access to the software, or on any device to which the client computer can establish a network connection and wherein the client computer has access to the software.
Claim 4
Dependent Claim 47 words
The method in claim 2 further comprising the step of issuing, in the event no country or locale specific update file can be found on the server, a request to the server to download a predefined update file, to the client computer, containing a default update script.
Claim 5
Dependent Claim 159 words
The method in claim 1 where the first and second groups of update file names comprise first and second groups of names of "copy" files, respectively, and first and second groups of names of "run" files, respectively, wherein the processing step further comprises the steps of: copying each of the update files in the first and second groups of "copy" files from the network server into local storage on the client computer so as to form transferred "copy" files; copying each of the update files in the first and second groups of "run" files from the network server into the local storage so as to form transferred "run" files; and executing, from local storage, each of the transferred "run" files, in the order each of said "run" files was transferred from the network server to the client computer, so as to install the update, the update being collectively implemented by the transferred "copy" files and the transferred "run" files.
Claim 6
Dependent Claim 39 words
The method in claim 4 further comprising the step of storing each of the transferred "copy" files and each of the transferred "run" files into an associated destination directory, in the local storage, as specified in the update script.
Claim 7
Dependent Claim 23 words
The method in claim 5 wherein the software is an application program, firmware, device driver, device configuration, operating system or any component thereof.
Claim 8
Dependent Claim 29 words
The method on claim 5 wherein the update comprises a non-executable file to be transferred to the client computer, wherein the non-executable file comprises information, help or profile data.
Claim 9
Dependent Claim 23 words
The method in claim 7 further comprising the step of displaying the non-executable file, once transferred, to a user at the client computer.
Claim 10
Dependent Claim 17 words
A computer readable medium having computer executable instructions stored therein for performing the steps of claim 1.
Claim 11
Independent Claim 285 words
A method for updating software in a client-server environment through a network server, comprising the steps of: in a client computer: (A) determining a country or a locale within which the client computer is situated and, in response thereto, constructing a file name for a file containing an update script for use in the country or the locale; (B) issuing a request to the network server to download the file containing the update script to the client computer; and (C) processing the script on the client computer so as to complete an update of the software, wherein the processing step comprises the steps of: (C1) determining an operating system (O/S) then executing on the client computer; and (C2) wherein the update script comprises at least one of O/S-specific and O/S-independent sections: (C2a) if the O/S-independent section specifies a first update file name, extracting a first group of update file names from the O/S-independent section, the first group having at least one associated update file name; and (C2b) if the O/S-specific section of the script corresponds to the O/S executing on the client computer and specifies a second update file name, extracting a second group of update file names from the O/S-independent section, the second group having at least one associated update file name; and (C3) requesting a download to the client computer of update files from the network server corresponding to the first and second groups of update file names, to the extent at least one of the first and second groups of file names are specified in the O/S-independent and O/S-specific sections; and in the network server: (D) downloading, in response to the request, the file containing the update script to the client computer.
Claim 12
Independent Claim 285 words
A method for updating software in a client-server environment through a network server, comprising the steps of: in a client computer: (A) determining a country or a locale within which the client computer is situated and, in response thereto, constructing a file name for a file containing an update script for use in the country or the locale; (B) issuing a request to the network server to download the file containing the update script to the client computer; and (C) processing the script on the client computer so as to complete an update of the software, wherein the processing step comprises the steps of: (C1) determining an operating system (O/S) then executing on the client computer; and (C2) wherein the update script comprises at least one of O/S-specific and O/S-independent sections: (C2a) if the O/S-independent section specifies a first update file name, extracting a first group of update file names from the O/S-independent section, the first group having at least one associated update file name; and (C2b) if the O/S-specific section of the script corresponds to the O/S executing on the client computer and specifies a second update file name, extracting a second group of update file names from the O/S-independent section, the second group having at least one associated update file name; and (C3) requesting a download to the client computer of update files from the network server corresponding to the first and second groups of update file names, to the extent at least one of the first and second groups of file names are specified in the O/S-independent and O/S-specific sections; and in the network server: (D) downloading, in response to the request, the file containing the update script to the client computer.
Claim 13
Dependent Claim 55 words
The method in claim 1 wherein the software is installed on the client computer, on a device connected to the client computer wherein the client computer has access to the software, or on any device to which the client computer can establish a network connection and wherein the client computer has access to the software.
Claim 14
Dependent Claim 74 words
The method in claim 11 further comprising the step of: in the client computer, issuing, in the event no country or locale specific update file can be found on the server, a request to the server to download a predefined update file, to the client computer, containing a default update script; and in the network server, downloading, in response to the predefined update file download request, the predefined update file to the client computer.
Claim 15
Dependent Claim 163 words
The method in claim 1 where the first and second groups of update file names comprise first and second groups of names of "copy" files, respectively, and first and second groups of names of "run" files, respectively, wherein the processing step further comprises the steps of, in the client computer: copying each of the update files in the first and second groups of "copy" files from the network server into local storage on the client computer so as to form transferred "copy" files; copying each of the update files in the first and second groups of "run" files from the network server into the local storage so as to form transferred "run" files; and executing, from local storage, each of the transferred "run" files, in the order each of said "run" files was transferred from the network server to the client computer, so as to install the update, the update being collectively implemented by the transferred "copy" files and the transferred "run" files.
Claim 16
Dependent Claim 43 words
The method in claim 13 further comprising the step of, in the client computer, storing each of the transferred "copy" files and each of the transferred "run" files into an associated destination directory, in the local storage, as specified in the update script.
Claim 17
Dependent Claim 23 words
The method in claim 14 wherein the software is an application program, firmware, device driver, device configuration, operating system or any component thereof.
Claim 18
Dependent Claim 29 words
The method on claim 14 wherein the update comprises a non-executable file to be transferred to the client computer, wherein the non-executable file comprises information, help or profile data.
Claim 19
Dependent Claim 27 words
The method in claim 16 further comprising the step of, in the client computer, displaying the non-executable file, once transferred, to a user at the client computer.
Claim 20
Dependent Claim 280 words
Apparatus for updating software in a client-server environment through a network server, comprising: a client computer having a processor; and a memory, connected to the processor, having computer executable instructions stored therein; and wherein, in response to the stored instructions, the processor: (A) determines a country or a locale within which the client computer is situated and, in response thereto, constructing a file name for a file containing an update script for use in the country or the locale; (B) issues a request to the network server to download the file containing the update script to the client computer; and (C) processes the script on the client computer so as to complete an update of the software through which the processor: (C1) determines an operating system (O/S) then executing on the client computer; and (C2) wherein the update script comprises at least one of O/S-specific and O/S-independent sections: (C2a) if the O/S-independent section specifies a first update file name, extracts a first group of update file names from the O/S-independent section, the first group having at least one associated update file name; and (C2b) if the O/S-specific section of the script corresponds to the O/S executing on the client computer and specifies a second update file name, extracts a second group of update file names from the O/S-independent section, the second group having at least one associated update file name; and (C3) requests a download to the client computer of update files from the network server corresponding to the first and second groups of update file names, to the extent at least one of the first and second groups of file names are specified in the O/S-independent and O/S-specific sections.
Claim 21
Dependent Claim 280 words
Apparatus for updating software in a client-server environment through a network server, comprising: a client computer having a processor; and a memory, connected to the processor, having computer executable instructions stored therein; and wherein, in response to the stored instructions, the processor: (A) determines a country or a locale within which the client computer is situated and, in response thereto, constructing a file name for a file containing an update script for use in the country or the locale; (B) issues a request to the network server to download the file containing the update script to the client computer; and (C) processes the script on the client computer so as to complete an update of the software through which the processor: (C1) determines an operating system (O/S) then executing on the client computer; and (C2) wherein the update script comprises at least one of O/S-specific and O/S-independent sections: (C2a) if the O/S-independent section specifies a first update file name, extracts a first group of update file names from the O/S-independent section, the first group having at least one associated update file name; and (C2b) if the O/S-specific section of the script corresponds to the O/S executing on the client computer and specifies a second update file name, extracts a second group of update file names from the O/S-independent section, the second group having at least one associated update file name; and (C3) requests a download to the client computer of update files from the network server corresponding to the first and second groups of update file names, to the extent at least one of the first and second groups of file names are specified in the O/S-independent and O/S-specific sections.
Claim 22
Dependent Claim 55 words
The apparatus in claim 18 wherein the software is installed on the client computer, on a device connected to the client computer wherein the client computer has access to the software, or on any device to which the client computer can establish a network connection and wherein the client computer has access to the software.
Claim 23
Dependent Claim 51 words
The apparatus in claim 19 wherein the processor, in response to the stored instructions, issues, in the event no country or locale specific update file can be found on the server, a request to the server to download a predefined update file, to the client computer, containing a default update script.
Claim 24
Dependent Claim 159 words
The apparatus in claim 18 where the first and second groups of update file names comprise first and second groups of names of "copy" files, respectively, and first and second groups of names of "run" files, respectively, wherein the processor, in response to the stored instructions: copies each of the update files in the first and second groups of "copy" files from the network server into local storage on the client computer so as to form transferred "copy" files; copies each of the update files in the first and second groups of "run" files from the network server into the local storage so as to form transferred "run" files; and executes, from local storage, each of the transferred "run" files, in the order each of said "run" files was transferred from the network server to the client computer, so as to install the update, the update being collectively implemented by the transferred "copy" files and the transferred "run" files.
Claim 25
Dependent Claim 44 words
The apparatus in claim 21 further wherein the processor, in response to the stored instructions, stores each of the transferred "copy" files and each of the transferred "run" files into an associated destination directory, in the local storage, as specified in the update script.
Claim 26
Dependent Claim 23 words
The apparatus in claim 22 wherein the software is an application program, firmware, device driver, device configuration, operating system or any component thereof.
Claim 27
Dependent Claim 29 words
The apparatus on claim 22 wherein the update comprises a non-executable file to be transferred to the client computer, wherein the non-executable file comprises information, help or profile data.
Claim 28
Dependent Claim 27 words
The apparatus in claim 24 wherein the processor, in response to the stored instructions, displays the non-executable file, once transferred, to a user at the client computer.
Claim 29
Dependent Claim 302 words
Apparatus for updating software in a client-server environment through a network server, comprising: a client computer having a processor; and a memory, connected to the processor, having computer executable instructions stored therein; and wherein, in response to the stored instructions, the processor: (A) determines a country or a locale within which the client computer is situated and, in response thereto, constructing a file name for a file containing an update script for use in the country or the locale; (B) issues a request to the network server to download the file containing the update script to the client computer; and (C) processes the script on the client computer so as to complete an update of the software through which the processor: (C1) determines an operating system (O/S) then executing on the client computer; and (C2) wherein the update script comprises at least one of O/S-specific and O/S-independent sections: (C2a) if the O/S-independent section specifies a first update file name, extracts a first group of update file names from the O/S-independent section, the first group having at least one associated update file name; and (C2b) if the O/S-specific section of the script corresponds to the O/S executing on the client computer and specifies a second update file name, extracts a second group of update file names from the O/S-independent section, the second group having at least one associated update file name; and (C3) requests a download to the client computer of update files from the network server corresponding to the first and second groups of update file names, to the extent at least one of the first and second groups of file names are specified in the O/S-independent and O/S-specific sections; and the network server which: (D) downloads, in response to the request, the file containing the update script to the client computer.
Claim 30
Dependent Claim 302 words
Apparatus for updating software in a client-server environment through a network server, comprising: a client computer having a processor; and a memory, connected to the processor, having computer executable instructions stored therein; and wherein, in response to the stored instructions, the processor: (A) determines a country or a locale within which the client computer is situated and, in response thereto, constructing a file name for a file containing an update script for use in the country or the locale; (B) issues a request to the network server to download the file containing the update script to the client computer; and (C) processes the script on the client computer so as to complete an update of the software through which the processor: (C1) determines an operating system (O/S) then executing on the client computer; and (C2) wherein the update script comprises at least one of O/S-specific and O/S-independent sections: (C2a) if the O/S-independent section specifies a first update file name, extracts a first group of update file names from the O/S-independent section, the first group having at least one associated update file name; and (C2b) if the O/S-specific section of the script corresponds to the O/S executing on the client computer and specifies a second update file name, extracts a second group of update file names from the O/S-independent section, the second group having at least one associated update file name; and (C3) requests a download to the client computer of update files from the network server corresponding to the first and second groups of update file names, to the extent at least one of the first and second groups of file names are specified in the O/S-independent and O/S-specific sections; and the network server which: (D) downloads, in response to the request, the file containing the update script to the client computer.
Claim 31
Dependent Claim 55 words
The apparatus in claim 26 wherein the software is installed on the client computer, on a device connected to the client computer wherein the client computer has access to the software, or on any device to which the client computer can establish a network connection and wherein the client computer has access to the software.
Claim 32
Dependent Claim 73 words
The apparatus in claim 27 wherein the processor, in response to the stored instructions issues, in the event no country or locale specific update file can be found on the server, a request to the server to download a predefined update file, to the client computer, containing a default update script; and the network server downloads, in response to the predefined update file download request, the predefined update file to the client computer.
Claim 33
Dependent Claim 159 words
The apparatus in claim 26 where the first and second groups of update file names comprise first and second groups of names of "copy" files, respectively, and first and second groups of names of "run" files, respectively, wherein the processor, in response to the stored instructions: copies each of the update files in the first and second groups of "copy" files from the network server into local storage on the client computer so as to form transferred "copy" files; copies each of the update files in the first and second groups of "run" files from the network server into the local storage so as to form transferred "run" files; and executes, from local storage, each of the transferred "run" files, in the order each of said "run" files was transferred from the network server to the client computer, so as to install the update, the update being collectively implemented by the transferred "copy" files and the transferred "run" files.
Claim 34
Dependent Claim 43 words
The apparatus in claim 29 wherein the processor in response to the stored instructions, stores each of the transferred "copy" files and each of the transferred "run" files into an associated destination directory, in the local storage, as specified in the update script.
Claim 35
Dependent Claim 23 words
The apparatus in claim 30 wherein the software is an application program, firmware, device driver, device configuration, operating system or any component thereof.
Claim 36
Dependent Claim 29 words
The apparatus on claim 30 wherein the update comprises a non-executable file to be transferred to the client computer, wherein the non-executable file comprises information, help or profile data.
Claim 37
Dependent Claim 27 words
The apparatus in claim 32 wherein the processor, in response to the stored instructions, displays the non-executable file, once transferred, to a user at the client computer.

References Cited (Backward Citations)

US5247683A Cited
US5555416A Cited
US5860012A Cited
US5835911A Cited
US5845090A Cited
US5859969A Cited
US5742829A Cited
US5675802A Cited
US5794218A Cited
US5835777A Cited
US5903859A Cited
US5790796A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-12-26 2004-06-26 2004-12-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-12-26 2008-06-26 2008-12-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-12-26 2012-06-26 2012-12-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag