The present invention relates to software updates generally and, more particularly, to a system and/or method for implementing a set top box software update from an off air broadcast.
Conventional software field upgrades are used by many manufacturers of consumer electronic equipment. A typical upgrade involves downloading a new version of the software to use for the upgrade. A registration on the Internet is often needed before such a download. After downloading, the software is then written to a disc in a format somewhat equipment specific. The software on the disc is then used to write the code into a flash memory on the system. In DVD players and recorders, this process is fairly easy because a disc can be inserted in the tray to start the upgrade. The most advanced upgrade techniques are power safe. If the upgrade fails, the system will fall back to a state where the system can try to upgrade the code again until the upgrade is successful.
It would be desirable to implement a system to upgrade DVD-recorder software in the field with zero (or minimal) impact on the cost of the final product.
The present invention concerns a system comprising a server, a digital recorder, a memory, an optical disc and a drive. The server may be configured to broadcast a software update through an off air network. The digital recorder may be configured to receive an off air download and download the software update. The memory may be configured to store the software update. The drive may be mounted in the digital recorder. The drive may be configured to write the software update from the memory to a writable optical disc. The digital recorder may be upgraded with the software update from the writable optical disc.
The objects, features and advantages of the present invention include providing a system and/or method that may (i) allow a safe upgrade of new generation DVD-recorders with digital broadcast decode support, (ii) remove the need for a second flash memory or hard disc drive, (iii) remove the need for an Internet connection, (iv) be implemented with very limited user intervention, (v) be implemented with low maintenance from the manufacturer and/or (vi) be implemented so a manufacturer may insure that a wide base of systems in the field have the latest code.
These and other objects, features and advantages of the present invention will be apparent from the following detailed description and the appended claims and drawings in which:
With the emergence of Free to Air digital Broadcast (e.g., Europe DVB-T and USA ATSC) the demand for DVD-recorders able to record digital broadcast is growing. While such a system normally broadcasts programming, additional broadcasts may also be implemented. For example, program guide information may be implemented. Such guide information may be useful to a set-top box recorder to provide a graphical interface to initiate recordings. Information useful to a viewer, such as which actors are in a particular show, which episode is being broadcast, whether a program is a repeat, etc. may also be broadcast. While such broadcasts are useful, additional broadcasts may also be implemented. For example, a software update for a STB may be sent over such a broadcast. Since such broadcasts are sometimes subject to interruptions and/or dropouts, safeguards may need to be implemented to ensure a STB is properly upgraded.
One upgrade technique may be to broadcast the software (e.g., code) and save the code into a flash memory of the system, and then run a code to upgrade the system Flash with the new code. Such an implementation may be capable of recovering from an upgrade failure. For example, if the upgrade fails, there is always one of the two Flash memories that stays intact. Such an implementation is normally power safe. However, such a system would need to implement two flash memories (e.g., doubling the cost of to record digital broadcast is growing. While such a system normally broadcasts programming, additional broadcasts may also be implemented. For example, program guide information may be implemented. Such guide information may be useful to a set-top box recorder to provide a graphical interface to initiate recordings. Information useful to a viewer, such as which actors are in a particular show, which episode is being broadcast, whether a program is a repeat, etc. may also be broadcast. While such broadcasts are useful, additional broadcasts may also be implemented. For example, a software update for a STB may be sent over such a broadcast. Since such broadcasts are sometimes subject to interruptions and/or dropouts, safeguards may need to be implemented to ensure a STB is properly upgraded.
One upgrade technique may be to broadcast the software (e.g., code), save the code into a flash memory of the system, and then run a code to upgrade the system Flash with the new code. Such an implementation may be capable of recovering from an upgrade failure. For example, if the upgrade fails, there is always one of the two Flash memories that stays intact. Such an implementation is normally power safe. However, such a system would need to implement two flash memories (e.g., doubling the cost of implementing a single flash memory), which impacts the overall price of the STB.
The present invention may provide a variety of safeguards when updating the code (e.g., software or firmware) of a set-top box using an off air broadcast. The present invention may use the storage available in the STB (e.g., an optical disc in the DVD-recorder) to optimize material costs of the end product. The present invention may provide a system and/or method to upgrade a set-top box that may ensure the system is either upgraded without errors or the upgrade is delayed.
Referring to
In one example, the server 16 may broadcast the latest binary code for a particular set-top box 12. The code may be broadcasted over the off air network 14. An identification header may be included with the code to identify a particular model of set-top box to be upgraded. If the set-top box recognizes the code as a match, the set-top box 12 may receive and download the updated code. The upgrade may be stored in the memory 18 of the set-top box 12. The updated code may then be written to one of either the flash memory 20 or the flash memory 22. For example, the flash memory 20 may store the updated code. The set-top box 12 may then attempt to update the flash memory 22. The update process may be repeated until a successful verification has occurred. If a successful upgrade is not completed within a certain number of attempts, the process may be halted. A halted upgrade attempt may indicate either a corrupted code download, or an otherwise non-usable code. In the case of a non-usable download of new code, the set-top box 12 normally continues to operate using the existing code.
Referring to
For example, an update for the player 52 (e.g., a DVD player) may be downloaded from the Internet. The update may then be written to the optical disc 54 using the computer 56. A user may then remove the disc 56 from the computer 56 and insert the disc 54 into the player 52. The player 52 may then update the current software with updated software.
Referring to
In one example, when an upgraded code version (e.g., VERSION_i+1.BIN) is received, the upgraded code may be automatically written to the disc 114. The optical disc 114 may then safely store the upgraded code. The recorder 102 may then attempt to update the flash memory 110 with the new code stored on the disc 114. The memory 108 may detect that the optical disc 114 has the new code and may attempt to upgrade the memory 110 with the new code. The memory 108 may continually attempt to upgrade the flash memory 110 until a successful upgrade has been confirmed.
Referring to
The digital recorder 102 updates the current code from the optical disc 114. The latest code version may be downloaded from an off air network 106. The server 104 is generally configured to broadcast a software update through the off air network 106. In one example, the server 104 may be a digital television server. Typically, the server 104 may broadcast the latest software update once every twenty-four hours. For example, a digital recorder running VERSION_i may download the latest version, VERSION_i+1, broadcasted by the server 104.
The digital recorder 102 is generally configured to be able to receive Off the Air Downloads (OAD). Typically, the digital recorder 102 may download software updates from the server 104. The digital recorder 102 may be configured to have a memory where the software updates may be temporarily stored. The downloaded software update from the off air broadcast may be stored on the memory 110 until being successfully written to the optical disc 114.
The digital recorder 102 may have a drive 112 mounted inside that is generally configured to write to an optical disc 114. The owner of the recorder 102 may provide a writable optical disc 114 that may be used to store the software update. The memory 110, where the downloaded software update is temporarily stored, may attempt to write the software update to an optical disc 114. If the software update is successfully written to the optical disc 114, then the optical disc 114 may try to update the Flash memory 110 with the newest software version.
If the software update is successfully downloaded and written to the optical disc 114, the optical disc 114 may then attempt to update the internal Flash memory 110 of the digital recorder 102. The optical disc 114 may continually attempt to update the Flash memory 110 of the digital recorder 102 until the update is verified. The digital recorder 102 may continually repeat the process to make sure that the newest available software update is the current running software on the digital recorder 102. This may allow the digital recorder 102 to have the newest software running provided by the server 104.
The present invention may be useful in a market that has shown a real interest for implementing off the air downloads. Off air downloads are more discrete to the user than conventional CD upgrade and do not need a web based server. The present invention may be useful in set-top boxes that use off air downloads, without the overhead of implementing two flash memories for safe upgrades.
The present invention may use the recordable space on an optical disc in a DVD-recoder to save the downloaded file. Using the optical disc saves the need to implement a costly additional Flash memory.
The function performed by the flow diagram of
The present invention may also be implemented by the preparation of ASICs, FPGAs, or by interconnecting an appropriate network of conventional component circuits, as is described herein, modifications of which will be readily apparent to those skilled in the art(s).
The present invention thus may also include a computer product which may be a storage medium including instructions which can be used to program a computer to perform a process in accordance with the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disk, optical disk, CD-ROM, magneto-optical disks, ROMS, RAMS, EPROMs, EEPROMS, Flash memory, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the scope of the invention.