DOWNLOADING OF FIRMWARE FOR CE EQUIPMENT

Abstract: A communication system includes a download server (100) and at least one CE apparatus (110). The download server (100) includes a communication interface (130) for communication via a wide area network (120). The server also stores operational firmware of the CE apparatus (110) in a storage (140). The CE apparatus (110) includes a communication interface (160) for communicating via the wide area network (120). The CE apparatus (110) stores a predetermined identifier (170) identifying the download server (100) with respect to the wide area network (120). The CE apparatus (110) initiates the downloading by establishing communication with the identified server (100). It receives the firmware from the download server (100), stores it in a writeable storage medium (180), and ensures that the downloaded firmware will be executed by the processor (150).

Description: Downloading of firmware for CE equipment. The invention relates to a communication system including a download server and at least one CE apparatus. The invention further relates to a communication system including a download server, an interface apparatus and at least one CE apparatus. The invention also relates to the CE apparatus and to the interface apparatus. The invention further relates to a method of automatically downloading operation firmware from a download server to a CE apparatus. The invention also relates to a computer program product. The European patent application EP 0 399 200 describes a communication system with a central headend site and cable television converters, connected via a cable television network. The converters are addressable. The headend can send firmware to an individual converter by sending addressed data via the cable network to the converter. The converter has a non-volatile memory for storing the received firmware and a processor for executing the firmware. A firmware update is performed at the initiative of the headend. Updates are only performed for those converters which are authorized according to records of the cable television operator. The records include information of the converters, such as their address. The known form of firmware updating has several drawbacks, such as requiring an administration of updateable converters and requiring that the converter is accessible via the network at least sometimes when the headend wants to update the converter. It is an object of the invention to provide a communication system, CE apparatus, and method of downloading which offer improved downloading of firmware into the CE apparatus. To meet the object of the invention, the communication system includes a download server and at least one CE apparatus; the download server includes a storage for storing operational firmware of the CE apparatus; and a communication interface for communication via a wide area network; the CE apparatus includes a predetermined identifier identifying the download server with respect to the wide area network; and a communication interface for communicating with the identified download server via the wide area network; and the CE apparatus is operative to initiate the downloading; to receive the firmware from the download server; to store the firmware in a writeable storage medium; and to cause the downloaded firmware to be executed. The initiative for the downloading lies in the CE apparatus. Normally, the server is always accessible via the wide area network. When the CE apparatus wishes to update its firmware it can make it self accessible too, resulting in a wide area connection only being required when used. The CE apparatus stores the identifier of the server. This identifier is preferably installed at the time of manufacture or sale of the apparatus. This makes it simple to retrieve the firmware without much user involvement. Moreover, it is no longer necessary to administrate the large number of addresses/identifiers of the CE apparatuses in the server. The CE apparatuses can even be entirely the same and need not be identifiable with respect to the wide area network. The server identifier may be unique for each type of CE apparatus. This can be implemented by using dedicated servers for each CE apparatus type. Preferably, sub-identifiers are used, where the main identifier identifies the server with respect to the network and the sub-identifier identifies a storage location in the server (or is specific for the type of CE apparatus in some other way). With CE apparatus is in particular meant an Audio/Video device, like a VCR and CD player; a computer peripheral, like a scanner, printer, camera and digital loudspeakers; or a domestic appliance, such as a microwave, and coffee machine. The invention is particularly suitable for those CE apparatuses which normally have no means for easily receiving a software update via, for instance, a CD-ROM, floppy-disk or a user-replaceable memory module. In an alternative arrangement, the communication system includes a download server, an interface apparatus and at least one CE apparatus; the download server includes a storage for storing operational firmware of the CE apparatus; and a communication interface for communication via the wide area network; the interface apparatus includes a first communication interface for communication with the download server via a wide area network; and a second communication interface for communication with the CE apparatus via a local area network; the CE apparatus includes a predetermined identifier identifying the download server with respect to the wide area network; and a communication interface for communication with the interface apparatus via the local area network; and the CE apparatus is operative to make the predetermined identifier available to the interface apparatus enabling the interface apparatus to establish communication with the identified download server; to receive the firmware from the interface apparatus; to store the firmware in a writeable storage medium; and to cause the downloaded firmware to be executed; and the interface apparatus is operative to receive the predetermined identifier from the CE apparatus; to establish communication with the identified download server; to receive the firmware from the identified download server and to transfer the firmware to the CE apparatus; the downloading being initiated by the CE apparatus or the interface apparatus. An interface apparatus, such as a PC or set top box, is used for providing the CE peripheral apparatus access to the remote download server. Frequently, users already have an apparatus at home capable of wide area communication. Increasingly, such apparatuses are equipped with a local area network, such as USB or IEEE 1394, for communication to CE peripherals, such as a CD player, solid state player (like an MP3 player), scanner, camera, digital loudspeaker, etc. By giving such an apparatus the task of acting as an intermediate in the downloading process, in a simple and low-cost manner updating of firmware becomes possible for CE peripherals. By keeping the initiative in the home (i.e. in the CE apparatus or the interface apparatus), no permanent wide area connection is required. By having the server identification stored in the CE apparatus no administration in the server is required, nor a configuration by the user of information in the interface apparatus, instead an automatic downloading with minimal user configuration is possible. As defined in the measure of the dependent claim 3, downloading is performed automatically at the initiative of the CE apparatus. Preferably, the downloading is performed at installation to retrieve the latest firmware. Automatic installation may be triggered by powering the apparatus. This makes it possible to start mass-producing CE apparatuses at a moment when the operational software is not yet ready, where the software is ready at the moment of sale. Alternatively, pre-release and reasonably functioning software may already be included at the moment of manufacture, whereas the finishing touch to the software is made in between manufacture and sale. In these ways, the introduction time of CE apparatuses can be reduced. As defined in the measure of the dependent claim 5, downloading is performed regularly, e.g. every several months, to ensure that the apparatus has up-to-date firmware. As defined in the measure of the dependent claim 6, the user can trigger the downloading, giving the user full control. In this way it is also avoided that a user who is satisfied with the working of its CE apparatus is not confronted with a newly functional apparatus (or even new firmware with unexpected bugs) without having requested so. As defined in the measure of the dependent claim 7, the CE apparatus has a button enabling the user to initiate the downloading in a simple way. The button may be a soft button. Particularly for those CE apparatuses with a limited user interface, it is preferred that the apparatus has a physical push button which triggers the downloading without any further configuring or setting up by the user being required. As defined in the measure of the dependent claim 9, the CE apparatus identifies its firmware. In this way, a download server, using the same server identifier for several types of CE apparatuses, can download firmware for those different types of CE apparatuses, where the firmware identifier is used to locate the desired firmware. The firmware identification may be simple, for instance, in the form of a product type. Preferably, the firmware identification indicates a software version, enabling the download server to determine whether or not a newer or improved version is available. To meet the object of the invention, the method of automatically downloading operational firmware from a download server to a CE apparatus includes retrieving a predetermined identifier from the CE apparatus; the identifier identifying the download server with respect to a wide area network; causing the operational firmware to be downloaded from a storage medium of the download server identified by the predetermined identifier via the wide area network; causing the downloaded operational firmware to be stored in a writeable storage medium of the CE apparatus; and causing the downloaded firmware to be executed by the CE apparatus. To meet the object of the invention, a method of automatically downloading operational firmware from a download server to a CE apparatus includes executing the following steps in an interface apparatus: retrieving a predetermined identifier from the CE apparatus via a local area network; the identifier identifying the download server with respect to a wide area network; receiving the operational firmware from the download server via the wide area network; and transferring the downloaded operational software to the CE apparatus via the local area network. To meet the object of the invention, a computer program product includes a program which is operative to cause the computer to perform above mentioned method. It is an object of the invention to provide an interface apparatus offering improved downloading of firmware from a download server into a CE apparatus. To meet the object of the invention, the interface apparatus includes a first communication interface for communicating with the download server via a wide area network; and a second communication interface for communicating with the CE apparatus via a local area network; the interface apparatus is operative to receive the predetermined identifier from the CE apparatus; to establish communication with the identified download server; to receive the firmware from the identified download server and to transfer the firmware to the CE apparatus. These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments shown in the drawings. Figure 1 shows a block diagram of a system according to the invention with a download server and a CE apparatus; Figure 2 shows a block diagram of a system according to the invention with a download server, an interface apparatus and a CE apparatus; Figure 3 slows a flow-diagram of the download method according to the invention; and Figure 4 shows more details of the flow of information where the downloading takes place via an interface apparatus. Figure 1 shows a block diagram of a system according to the invention with a download server 100 and a CE apparatus 110. Communication can be established between the download server 100 and the CE apparatus via a wide area network 120. In the example shown, the server 100 and the CE apparatus 110 are directly connected via the wide area network. It will be appreciated that the wide area network 120 normally comprises several switches. Moreover, additional equipment, such as relays, bridges, routers, at the server or CE apparatus side may be involved in the wide area communication. With respect to the high- level interaction for the downloading according to the invention, such equipment provides no additional functionality and is ignored. Examples of a wide area network are the normal telephone system and Internet. For the public Internet access to the wide area network is usually provided via an access provider, which is not shown. The download server 100 includes a communication interface 130 for communication via the wide area network 120. The interface 130 may be any suitable means, such as a telephone or cable modem, for providing the communication. The download server 130 also includes or provides access to storage 140 which stores operational firmware of the CE apparatus 110. The firmware is normally embedded code to be executed by an embedded processor 150 of the CE apparatus 110. The firmware is usually in the form of executable code, but may also be in other suitable forms, such as interpretable code, like Java. The code may even exist of parameters setting for the already present embedded code, and in this way change the behavior of the embedded code. Normally the download server is implemented on a computer, such as a server system used by service providers in an Internet environment. The CE apparatus 110 includes a communication interface 160 for communicating with the download server 100 via the wide area network 120. The interface 160 may be any suitable means, such as a telephone or cable modem, for providing the communication. The apparatus also includes a storage 170 for storing a predetermined identifier identifying the download server with respect to the wide area network. The storage may be any suitable type, such as a pre-programmed or write-once memory for storing a permanent identifier like a ROM, CD-ROM or CD-R, or a rewriteable memory, such as EEPROM, a hard-disk or CD-RW. Preferably, solid state memories are used. The memory may be permanent in the CE apparatus or be removable, e.g. in the form of a smart-card, memory stick or CD-ROM type. The identifier may take any suitable form. For instance, if the wide area network 120 is formed by the telephone network, via dialing-in into the server 100, the identifier may simply be a telephone number. Preferably, the full international code is for such a number, allowing the CE apparatus 110 to be used in the different areas as well as different countries. If the wide area network 120 is the public Internet, the identifier may be formed by a URL. The CE apparatus 110 is operative to initiate the downloading. Normally, the downloading process will be controlled by the processor 150 of the CE apparatus, under control of a program. As part of the initiating of the downloading, the CE apparatus 110 establishes a communication channel with the download server 100 via the wide area network 120. In response, the download server 100 retrieves the firmware for the CE apparatus 110 and transfers the firmware to the CE apparatus 110. The CE apparatus 110 receives the firmware and stores it in a writeable storage medium 180. Like described for the storage 170 of the identifier, any suitable type may be used. Both memories 170 and 180 may also be combined in the same physical memory. After the download has been completed, execution of the firmware is enabled. Execution may be started immediately for instance by loading the firmware from EEPROM into the execution memory, which typically consists of RAM, and restarting the execution of the program represented by the firmware. Execution may also take place after explicitly resetting the CE apparatus (e.g. by powering-down the apparatus followed by powering-up), in which case the normal 'booting' process will load the new downloaded firmware automatically (assuming that the boot program knows or has been informed of the storage location (like memory address) of the firmware). The download server 100 may be able to locate the desired software in its storage 140 simply by being accessed (e.g. the download server 100 is specific for one type of CE apparatus, and as such the server identifier corresponds to the firmware). The identifier may also include more information, e.g. in the form of a URL, which allows the server to operate for different types of CE apparatuses. In this case the CE apparatus ensures that this information is transferred to the server to enable the server to retrieve the desired software. For a URL this automatically occurs within Internet. The CE apparatus 110 may also store an additional firmware identifier which identifies the operational firmware. Such an identifier may for instance specify the type of CE apparatus and or the currently loaded firmware version. If so, the CE apparatus 110 makes this firmware identifier available to the download server enabling the download server 100 to retrieve operational firmware suitable for the CE apparatus. Figure 2 shows a block diagram of a system according to the invention with a download server 200, an interface apparatus 210 and a CE apparatus 220. The download server 200 can be the same as described above with respect to figure 1. The interface apparatus 210 includes a first communication interface 212 for communication with the download server 200 via a wide area network 250. The wide area network 250 and communication technology may be as described above. The interface apparatus can communicate with CE apparatuses via local area network 260. Shown are three CE apparatuses 220, 230, and 240, where details are only shown for CE apparatus 220. The local area network may be any suitable type, such as USB, IEEE 1394, Ethernet, etc, being wired or wireless. The local area network may be any topology, like point-to-point or bus/tree form, and may include one or more segments. The network may also include different technologies, for instance coupled via bridges. The interface apparatus 210 includes a second communication interface 214 for communication with the CE apparatus(es) via the local area network 260. The CE apparatus 220 is of substantially the same construction as described for figure 1, where now the communication interface 222 is a local area network interface, such as an USB transceiver. As before, the CE apparatus 220 stores in a memory 224 a predetermined identifier identifying the download server with respect to the wide area network. The firmware to be downloaded is to be executed by the processor 226. In this arrangement, the CE apparatus 220 makes the predetermined identifier available to the interface apparatus 210 enabling the interface apparatus 210 to establish communication with the identified download server 200. Preferably, the CE apparatus 220 takes the initiative for transferring the ID to the interface apparatus 210, however the interface apparatus 210 may also read the identifier from the CE apparatus 220 at its own initiative. In either case, the interface apparatus 210 receives the predetermined identifier from the CE apparatus 220 and establishes communication with the identified download server 200, analogous to already described for figure 1, where the CE apparatus establishes the communication. The interface apparatus 210 receives the firmware from the identified download server 200 and transfer it to the CE apparatus 220. These operations will normally occur under control of a processor of the interface apparatus 210 loaded with a suitable program. Analogous to as described for figure 1, the CE apparatus 220 receives the firmware (but now from the interface apparatus 210), stores the firmware in a writeable storage medium; and causes the downloaded firmware to be executed (immediately or later). As described above for Figure 1, the CE apparatus 220 may include a firmware identifier identifying the operational firmware. The CE apparatus 220 can make this firmware identifier available to the download server 200 enabling the download server 200 to retrieve optimal operational firmware suitable for the CE apparatus 220. The CE apparatus 220 may actively transfer the identifier to the interface apparatus 210, which passes it onto the download server 200. Alternatively, the interface apparatus 210 may read it from the CE apparatus 220. In an embodiment according to the invention, the downloading is initiated automatically. The initiative may be taken by the CE apparatus (in both configurations as shown in figures 1 or 2), the interface apparatus (configuration of figure 2) or either (configuration of figure 2). Preferably, the downloading is initiated automatically as part of a first time installation of the CE apparatus. If the initiative is taken by the CE apparatus, the CE apparatus can check at power on whether firmware has already been downloaded or not. To this end the CE apparatus may store a flag in a re-writeable memory. This flag may be set by the manufacturer to indicate that no download has occurred yet and is changed to indicate that downloading has occurred after the downloading has been completed successfully. If the initiative is taken by the interface apparatus, the interface apparatus may use plug-and-play functionality of the local area network to detect that a CE apparatus is powered on. The interface apparatus may itself administrate whether already firmware has been downloaded to the CE apparatus or read a flag, similar to the one described above, from the CE apparatus. As an alternative or in addition to downloading at installation, the downloading may be initiated automatically at regular intervals in order to obtain up-to-date operational firmware. The initiative may lie in either the CE apparatus or the interface apparatus. It is sufficient to store a time indication of the last download and to compare this to a current time indication to determine how long ago the last download occurred and, consequently, whether a new downloading is preferred. The comparison of the indications may occur each time the interface apparatus or CE apparatus is powered on. As an alternative or in addition to above mentioned triggers for the downloading, the downloading may be initiated in response to a trigger from a user. To this end the initiative-taking apparatus (CE apparatus or interface apparatus) preferably includes a user actuatable button for receiving the trigger from the user. To ensure simple operation, it is preferred that the button is a physical push button. If the button is located on the interface apparatus, like a set top box, the activation of the button preferably triggers download of firmware for each downloadable CE apparatus of the system. In this way a user can simply upgrade an entire system by one button activation. Figure 3 illustrates the method of automatically downloading operational firmware from a download server to a CE apparatus according to the invention. The method includes step 310, wherein a predetermined identifier is retrieved from the CE apparatus. The identifier may be read by the CE apparatus itself or by the interface apparatus. The identifier identifies the download server with respect to a wide area network. In step 320 a connection is made with the identified download server via the wide area network. The connection may be established by the CE apparatus or by the interface apparatus. In step 330, the operational firmware is downloaded from a storage medium of the download server identified by the predetermined identifier. In step 340, the downloaded operational firmware is stored in a writeable storage medium of the CE apparatus. In step 350, the downloaded firmware is prepared for execution by the CE apparatus. Figure 4 provides more detail of the method of automatically downloading operational firmware from a download server 420 to a CE apparatus 400 wherein the downloading occurs via an interface apparatus 410 operable to communicate with the download server 420 via the wide area network and to communicate with the CE apparatus 400 via a local area network. The method includes step 430, wherein the predetermined identifier is transferred from the CE apparatus 400 to the interface apparatus 410. The identifier may be read and send by the CE apparatus or may be read by the interface apparatus from the CE apparatus. The identifier identifies the download server with respect to a wide area network and as such enables the interface apparatus 410 to establish communication with the identified download server 420. In step 440 a connection is made from the interface apparatus 410 with the identified download server 420 via the wide area network. In step 450, the operational firmware is downloaded from a storage medium of the download server 420 to the interface apparatus 410. In step 460 the downloaded operational software is transferred from the interface apparatus 410 to the CE apparatus 400 via the local area network. In step 470, the downloaded operational firmware is stored in a writeable storage medium of the CE apparatus 400. In step 480, the downloaded firmware is prepared for execution by the CE apparatus. The functionality described by the invention is typically executed under control of a processor of the involved device, using conventional hardware. The processor, such as a PC-type processor, micro-controller or DSP-like processor, can be loaded with a program to perform the steps according to the invention. The program is usually loaded from a background storage, such as a harddisk or ROM. A computer program product can be used, for instance, to initially store the program in the background storage. Such a product may be stored on a storage medium, like a CD-ROM, or may be distributed via a network, like the public Internet. As shown in Figure 4, three different programs may be involved in executing the method according to the invention: a program in the server, one in the interface apparatus and one in the CE apparatus.

Claims: CLAIMS: 1. A communication system including a download server and at least one CE apparatus; the download server including a storage for storing operational firmware of the CE apparatus; and a communication interface for communication via a wide area network; the CE apparatus including a predetermined identifier identifying the download server with respect to the wide area network; and a communication interface for communicating with the identified download server via the wide area network; the CE apparatus being operative to initiate the downloading; to receive the firmware from the download server; to store the firmware in a writeable storage medium; and to cause the downloaded firmware to be executed. 2. A communication system including a download server, an interface apparatus and at least one CE apparatus; the download server including a storage for storing operational firmware of the CE apparatus; and a communication interface for communication via the wide area network; the interface apparatus including a first communication interface for communication with the download server via a wide area network; and a second communication interface for communication with the CE apparatus via a local area network; the CE apparatus including a predetermined identifier identifying the download server with respect to the wide area network; and a communication interface for communication with the interface apparatus via the local area network; and the CE apparatus being operative to: make the predetermined identifier available to the interface apparatus enabling the interface apparatus to establish communication with the identified download server; receive the firmware from the interface apparatus; store the firmware in a writeable storage medium; and cause the downloaded firmware to be executed; and the interface apparatus being operative to receive the predetermined identifier from the CE apparatus; to establish communication with the identified download server; to receive the firmware from the identified download server and to transfer the firmware to the CE apparatus; the downloading being initiated by the CE apparatus or the interface apparatus. 3. A communication system as claimed in claim 1 or 2, wherein the downloading is initiated automatically. 4. A communication system as claimed in claim 3, wherein the downloading is initiated automatically as part of a first time installation of the CE apparatus. 5. A communication system as claimed in claim 3, wherein the downloading is initiated automatically at regular intervals in order to obtain up-to-date operational firmware. 6. A communication system as claimed in claim 1 or 2, wherein the downloading is initiated in response to a trigger from a user. 7. A communication system as claimed in claim 6, wherein the initiative-taking apparatus includes a user actuatable button for receiving the trigger from the user. 8. A communication system as claimed in claim 7, wherein the button is a physical push button. 9. A communication system as claimed in claim 1 or 2, wherein the CE apparatus includes a firmware identifier identifying the operational firmware; the CE apparatus being operative to make the firmware identifier available to the download server enabling the download server to retrieve operational firmware suitable for the CE apparatus. 10. A communication system as claimed in claim 1 or 2, wherein the wide area network is Internet. 11. A CE apparatus for use in the system as claimed in claim 1 ; the CE apparatus including a predetermined identifier identifying the download server with respect to the wide area network; and a communication interface for communication with the identified download server via the wide area network; the CE apparatus being operative to initiate the downloading; to receive the firmware from the interface apparatus; to store the firmware in a writeable storage medium; and to cause the downloaded firmware to be executed. 12. A CE apparatus for use in the system as claimed in claim 2; the CE apparatus including a predetermined identifier identifying the download server with respect to the wide area network; and a communication interface for communication with the interface apparatus via the local area network; and the CE apparatus being operative to: make the predetermined identifier available to the interface apparatus enabling the interface apparatus to establish communication with the identified download server; receive the firmware from the interface apparatus; store the firmware in a writeable storage medium; and cause the downloaded firmware to be executed; and the downloading being initiated by the CE apparatus or the interface apparatus. 13. An interface apparatus for use in the system as claimed in claim 2; the interface apparatus including a first communication interface for communicating with the download server via a wide area network; and a second communication interface for communicating with the CE apparatus via a local area network; the interface apparatus being operative to receive the predetermined identifier from the CE apparatus; to establish communication with the identified download server; to receive the firmware from the identified download server and to transfer the firmware to the CE apparatus. 14. A method of automatically downloading operational firmware from a download server to a CE apparatus; the method including: retrieving a predetermined identifier from the CE apparatus; the identifier identifying the download server with respect to a wide area network; causing the operational firmware to be downloaded from a storage medium of the download server identified by the predetermined identifier via the wide area network; causing the downloaded operational firmware to be stored in a writeable storage medium of the CE apparatus; and causing the downloaded firmware to be executed by the CE apparatus. 15. A method as claimed in claim 14, wherein the downloading occurs via an interface apparatus operable to communicate with the download server via the wide area network and to communicate with the CE apparatus via a local area network; the step of causing the operational firmware to be downloaded from the download server including: transferring the predetermined identifier from the CE apparatus to the interface apparatus enabling the interface apparatus to establish communication with the identified download server; transferring the operational firmware from the download server to the interface apparatus via the wide area network; and transferring the downloaded operational software from the interface apparatus to the CE apparatus via the local area network. 16. A method of automatically downloading operational firmware from a download server to a CE apparatus, including executing the following steps in an interface apparatus: retrieving a predetermined identifier from the CE apparatus via a local area network; the identifier identifying the download server with respect to a wide area network; receiving the operational firmware from the download server via the wide area network; and transferring the downloaded operational software to the CE apparatus via the local area network. 17. A computer program product where the program is operative to cause the computer to perform the method of claim 16.

Inventors: MEIRSMAN DANIEL, MEIRSMAN, DANIEL
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 2000
Main classification: G06F9
IPC codes: G06F9, G06F11, G06F13