Patent US6259442B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6259442B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Downloading software from a server to a client

Assignee: Adeia Technologies Inc
•
Filing: 1999-11-09
•
Granted: 2001-07-10
•
Expires: 2019-11-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Systems and methods for obtaining and maintaining operable and updated versions of software on a client, which may be a set-top box or a personal computer. A server automatically downloads software updates over a satellite link to a client after such upgrades become available at the server without requiring interaction with a user. Similarly, corrupted software is automatically replaced by the client first automatically detecting if a corrupted state exists in local software or data using a checksum technique. If such corruption is found, the client automatically connects over the Internet to a server that contains a replacement for the corrupted program or data. The client then automatically receives a download of the program or data from the server.

Inventors

  • 👤 Joe F. Britt, Jr.
  • 👤 Andrew T. McFadden
  • 👤 Phillip Y. Goldman
  • 👤 Bruce A. Leak

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 14:12
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/34; G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1417; G06F16/00; G06F8/00; G06F8/60; G06F8/65; G06F8/654

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 218 words
In a computer system that includes a plurality of client systems and a plurality of server systems, all interconnected by a network infrastructure, wherein the plurality of server systems provide access to sites storing Web pages or other data, and wherein one or more of the client systems comprises a conventional television monitor and set-top box having a processing system that includes program instructions used in the operation of the one or more client systems, such as in retrieving data from said sites, a method of restoring a corrupted portion of the program instructions at the client system, wherein the restoring occurs automatically and without user intervention, the method comprising the client system performing the following steps: during initialization, checking the validity of system program instructions at the client system and thereafter checking the validity of application program instructions at the client system; determining that a corrupted state exists in at least a portion of any of the checked program instructions; in response to determining that the corrupted state exists, connecting the client system to one of the server systems or sites that contains a replacement for the corrupted portion of the program instructions; receiving the replacement from said one of the server systems or sites; and replacing the corrupted portion of the program instructions with the replacement.
Claim 2
Dependent Claim 218 words
In a computer system that includes a plurality of client systems and a plurality of server systems, all interconnected by a network infrastructure, wherein the plurality of server systems provide access to sites storing Web pages or other data, and wherein one or more of the client systems comprises a conventional television monitor and set-top box having a processing system that includes program instructions used in the operation of the one or more client systems, such as in retrieving data from said sites, a method of restoring a corrupted portion of the program instructions at the client system, wherein the restoring occurs automatically and without user intervention, the method comprising the client system performing the following steps: during initialization, checking the validity of system program instructions at the client system and thereafter checking the validity of application program instructions at the client system; determining that a corrupted state exists in at least a portion of any of the checked program instructions; in response to determining that the corrupted state exists, connecting the client system to one of the server systems or sites that contains a replacement for the corrupted portion of the program instructions; receiving the replacement from said one of the server systems or sites; and replacing the corrupted portion of the program instructions with the replacement.
Claim 3
Dependent Claim 31 words
The method according to claim 1 , wherein determining that the corrupted state exists comprises the act of using a checksum technique to check the validity of the stored program instructions.
Claim 4
Dependent Claim 66 words
The method according to claim 1 , wherein connecting the client system to said one of the server systems or sites comprises the acts of: the client system selecting a local connection script associated with said one of the server systems or sites that contains the replacement; and the client system connecting to said one of the server systems or sites using the local connection script.
Claim 5
Dependent Claim 81 words
The method according to claim 3 , wherein the act of the client system selecting a local connection script comprises the acts of: the client system reading a default local connection script from a memory; the client system using the default local connection script to connect to a server system that contains the selected local connection script; and the act of the client system downloading the selected local connection script from the server system that contains the selected local connection script.
Claim 6
Dependent Claim 60 words
The method according to claim 1 , wherein receiving the replacement comprises the acts of: the client system automatically requesting the replacement from said one of the server systems or sites after connecting to said one of the server system or sites; and the replacement being downloaded from said one of the server systems or sites over the network infrastructure.
Claim 7
Dependent Claim 34 words
The method according to claim 5 , wherein the act of the replacement being downloaded comprises the act of the replacement being downloaded over a satellite link that is included in the network infrastructure.
Claim 8
Dependent Claim 37 words
The method according to claim 5 , further comprising the acts of: writing the replacement to a random access memory associated with the client system; decompressing the replacement; and writing the decompressed replacement to a flash memory.
Claim 9
Dependent Claim 14 words
The method according to claim 1 , wherein the network infrastructure comprises the Internet.
Claim 10
Dependent Claim 16 words
The method according to claim 8 , wherein the stored program instructions comprise an Internet browser.
Claim 11
Dependent Claim 14 words
The method according to claim 1 , wherein the replacement comprises a Java applet.
Claim 12
Dependent Claim 257 words
A computer program product for implementing, in a computer system that includes a plurality of client systems and a plurality of server systems, all interconnected by a network infrastructure, wherein the plurality of server systems provide access to sites storing Web pages or other data, and wherein one or more of the client systems comprises a conventional television monitor and set-top box having processing system that includes program instructions used in the operation of the one or more client systems, such as in retrieving data from said sites, a method of restoring a corrupted portion of the program instructions at the client system, wherein the restoring occurs automatically and without user intervention, the computer program product comprising: a computer-readable medium carrying computer-executable instructions for implementing the invention, the computer-executable instructions comprising: program code means for checking, during initialization, the validity of system program instructions at the client system and thereafter checking the validity of application program instructions at the client system; program code means for determining whether a corrupted state exists in any portion of the checked program instructions; program code means for connecting the client system to one of the server systems or sites that contains a replacement for the corrupted portion of the program instructions if it has been determined that the corrupted state exists; program code means for receiving the replacement from said one of the server systems or sites; and program code means for replacing the corrupted portion of the program instructions with the replacement for the corrupted portion of the program instructions.
Claim 13
Dependent Claim 257 words
A computer program product for implementing, in a computer system that includes a plurality of client systems and a plurality of server systems, all interconnected by a network infrastructure, wherein the plurality of server systems provide access to sites storing Web pages or other data, and wherein one or more of the client systems comprises a conventional television monitor and set-top box having processing system that includes program instructions used in the operation of the one or more client systems, such as in retrieving data from said sites, a method of restoring a corrupted portion of the program instructions at the client system, wherein the restoring occurs automatically and without user intervention, the computer program product comprising: a computer-readable medium carrying computer-executable instructions for implementing the invention, the computer-executable instructions comprising: program code means for checking, during initialization, the validity of system program instructions at the client system and thereafter checking the validity of application program instructions at the client system; program code means for determining whether a corrupted state exists in any portion of the checked program instructions; program code means for connecting the client system to one of the server systems or sites that contains a replacement for the corrupted portion of the program instructions if it has been determined that the corrupted state exists; program code means for receiving the replacement from said one of the server systems or sites; and program code means for replacing the corrupted portion of the program instructions with the replacement for the corrupted portion of the program instructions.
Claim 14
Dependent Claim 41 words
A computer program product as defined in claim 11 , wherein the program code means for automatically determining whether the corrupted state exists comprises program code means for performing a checksum process to check the validity of the stored program instructions.
Claim 15
Dependent Claim 53 words
A computer program product as defined in claim 11 , wherein the computer-executable instructions further comprise: program code means for writing the replacement to a random access memory associated with the client system; program code means for decompressing the replacement; and program code means for writing the decompressed replacement to a flash memory.
Claim 16
Dependent Claim 35 words
A computer program product as defined in claim 11 , wherein the program code means for automatically determining whether a corrupted state exists in the stored program instructions operate upon the client being powered up.
Claim 17
Dependent Claim 39 words
A computer program product as defined in claim 11 , wherein the program code means for automatically determining whether a corrupted state exists in the stored program instructions operate upon the client establishing communication with one of the servers.
Claim 18
Dependent Claim 300 words
In a computer system that includes a plurality of client systems and a plurality of server systems, all interconnected by a network infrastructure, wherein the plurality of server systems provide access to sites storing Web pages or other data, and wherein one or more of the client systems comprises a conventional television monitor and set-top box having a processing system that includes one or more blocks of program instructions used in the operation of the one or more client systems, such as in retrieving data from said sites, each of the one or more blocks of program instructions being identified by a specific storage address at the client system, a method of restoring a corrupted block of program instructions at the client system, wherein the restoring occurs automatically and without user intervention, the method comprising the client system performing the following steps: checking the validity of the one or more blocks of program instructions at the client system, wherein any particular block of program instructions may include system program instructions, application program instructions, or both system and application program instructions, and wherein the checking may occur at any time, including after initialization; determining that a corrupted state exists in at least one block of program instructions and identifying a specific block of program instructions that is corrupted; in response to determining that the corrupted state exists, connecting the client system to one of the server systems or sites that contains a replacement block for the specific block of program instructions that is corrupted; requesting the replacement block of program instructions from said one of the server systems or site; receiving the replacement block of program instructions from said one of the server systems or sites; and replacing the specific block or program instructions that is corrupted with the replacement block.
Claim 19
Dependent Claim 300 words
In a computer system that includes a plurality of client systems and a plurality of server systems, all interconnected by a network infrastructure, wherein the plurality of server systems provide access to sites storing Web pages or other data, and wherein one or more of the client systems comprises a conventional television monitor and set-top box having a processing system that includes one or more blocks of program instructions used in the operation of the one or more client systems, such as in retrieving data from said sites, each of the one or more blocks of program instructions being identified by a specific storage address at the client system, a method of restoring a corrupted block of program instructions at the client system, wherein the restoring occurs automatically and without user intervention, the method comprising the client system performing the following steps: checking the validity of the one or more blocks of program instructions at the client system, wherein any particular block of program instructions may include system program instructions, application program instructions, or both system and application program instructions, and wherein the checking may occur at any time, including after initialization; determining that a corrupted state exists in at least one block of program instructions and identifying a specific block of program instructions that is corrupted; in response to determining that the corrupted state exists, connecting the client system to one of the server systems or sites that contains a replacement block for the specific block of program instructions that is corrupted; requesting the replacement block of program instructions from said one of the server systems or site; receiving the replacement block of program instructions from said one of the server systems or sites; and replacing the specific block or program instructions that is corrupted with the replacement block.
Claim 20
Dependent Claim 35 words
The method according to claim 16 , wherein determining that the corrupted state exists comprises the act of using a checksum technique to check the validity of the one or more blocks of program instructions.
Claim 21
Dependent Claim 66 words
The method according to claim 16 , wherein connecting the client system to said one of the server systems or sites comprises the acts of: the client system selecting a local connection script associated with said one of the server systems or sites that contains the replacement; and the client system connecting to said one of the server systems or sites using the local connection script.
Claim 22
Dependent Claim 80 words
The method according to claim 18 , wherein the act of the client system selecting a local connection script comprised the acts of: the client system reading a default local connection script from a memory; the client system using the default local connection script to connect to a server system that contains the selected local connection script; and the act of the client system downloading the selected local connection script from the server system that contains the local connection script.
Claim 23
Dependent Claim 26 words
The method according to claim 16 , wherein the client system receives the replacement block over a satellite link that is included in the network infrastructure.
Claim 24
Dependent Claim 40 words
The method according to claim 16 , further comprising the acts of: writing the replacement block to a random access memory associated with the client system; decompressing the replacement block; and writing the decompressed replacement block to a flash memory.
Claim 25
Dependent Claim 14 words
The method according to claim 16 , wherein the network infrastructure comprises the Internet.
Claim 26
Dependent Claim 24 words
The method according to claim 22 , wherein the one or more blocks of program instructions comprise at least a portion an Internet browser.
Claim 27
Dependent Claim 20 words
The method according to claim 16 , wherein the replacement block comprises at least a portion of a Java applet.
Claim 28
Dependent Claim 339 words
A computer program product for implementing, in a computer system that includes a plurality of client systems and a plurality of server systems, all interconnected by a network infrastructure, wherein the plurality of server systems provide access to sites storing Web pages or other data, and wherein one or more of the client systems comprises a conventional television monitor and set-top box having a processing system that includes one or more blocks of program instructions used in the operation of the one or more client systems, such as in retrieving data from said sites, each of the one or more blocks of program instructions being identified by a specific storage address at the client system, a method of restoring a corrupted block of program instructions at the client system, wherein the restoring occurs automatically and without user intervention, the computer program product comprising: a computer-readable medium carrying computer-executable instructions for implementing the invention, the computer-executable instructions comprising: program code means for checking the validity of the one or more blocks of program instructions at the client system, wherein any particular block of program instructions may include system program instructions, application program instructions, or both system and application program instructions, and wherein the checking may occur at any time, including after initialization; program code means for determining that a corrupted state exists in at least one block of program instructions and identifying a specific block of program instructions that is corrupted; program code means for, in response to determining that the corrupted state exists, connecting the client system to one of the server systems or sites that contains a replacement block for the specific block or program instructions that is corrupted; program code means for requesting the replacement block of program instructions from said one of the server systems or site; program code means for receiving the replacement block of program instructions from said one of the server systems or sites; and program code means for replacing the specific block or program instructions that is corrupted with the replacement block.
Claim 29
Dependent Claim 339 words
A computer program product for implementing, in a computer system that includes a plurality of client systems and a plurality of server systems, all interconnected by a network infrastructure, wherein the plurality of server systems provide access to sites storing Web pages or other data, and wherein one or more of the client systems comprises a conventional television monitor and set-top box having a processing system that includes one or more blocks of program instructions used in the operation of the one or more client systems, such as in retrieving data from said sites, each of the one or more blocks of program instructions being identified by a specific storage address at the client system, a method of restoring a corrupted block of program instructions at the client system, wherein the restoring occurs automatically and without user intervention, the computer program product comprising: a computer-readable medium carrying computer-executable instructions for implementing the invention, the computer-executable instructions comprising: program code means for checking the validity of the one or more blocks of program instructions at the client system, wherein any particular block of program instructions may include system program instructions, application program instructions, or both system and application program instructions, and wherein the checking may occur at any time, including after initialization; program code means for determining that a corrupted state exists in at least one block of program instructions and identifying a specific block of program instructions that is corrupted; program code means for, in response to determining that the corrupted state exists, connecting the client system to one of the server systems or sites that contains a replacement block for the specific block or program instructions that is corrupted; program code means for requesting the replacement block of program instructions from said one of the server systems or site; program code means for receiving the replacement block of program instructions from said one of the server systems or sites; and program code means for replacing the specific block or program instructions that is corrupted with the replacement block.
Claim 30
Dependent Claim 43 words
A computer program as defined in claim 25 , wherein the program code means for determining whether the corrupted state exists comprises program code means for performing a checksum process to check the validity of the one or more blocks of program instructions.
Claim 31
Dependent Claim 55 words
A computer program product as defined in claim 25 , wherein the computer-executable instructions further comprise: program code means writing the replacement block to a random access memory associated with the client system; program code means for decompressing the replacement block; and program code means for writing the decompressed replacement block to a flash memory.
Claim 32
Dependent Claim 30 words
A computer program product as defined in claim 25 , wherein the program code means for determining whether a corrupted state exists operate upon the client system being powered up.
Claim 33
Dependent Claim 37 words
A computer program product as defined in claim 25 , wherein the program code means for determining whether a corrupted state exists operate upon the client system establishing communication with one of the server systems or sites.

References Cited (Backward Citations)

US5678002A Cited
US5732268A Cited
US6049671A Cited
US6052803A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-07-09 2005-01-08 2005-07-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-07-09 2009-01-08 2009-07-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-07-09 2013-01-08 2013-07-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag