A large proportion of electronic devices or equipment is now program controlled (program-controlled devices). For this purpose they contain microprocessors, operating systems and software applications (programs). Examples are personal computers and telephone terminals, but also machine tools, to mention just a few. In many cases this equipment is connected to a communication network.
as a result of the increasing speed of development cycles, increasing complexity of program-controlled devices and programs, and for rectification of errors frequent updates of the underlying programs (program updates) are necessary.
To this end a program update must typically be transferred to program-controlled devices of a communication network, e.g. terminals, and activated there. If the program updating is to be performed simultaneously for many program-controlled devices this can result in high peak loads in the communication network during the simultaneous updating. This is especially the case if the program updates involve larger volumes of data.
Another factor is that program updates can in some cases not be activated without interrupting the operation of the program-controlled devices. A personal computer must thus frequently be shut down and restarted after program updating for example in order to enable the program update to be activated.
Program updates are transmitted and provided in a very wide variety of ways. Previously they were provided most frequently on data media (e.g. CD-ROM). More recently network-based program updating methods (online update) via a service access of the device or via a connection to a communication network, such as the Internet, have become increasingly widely used.
Basically three different methods are used to do this:
In a first manual method the decision about whether and when to update lies entirely in the hands of the user of the program-controlled device. In this case the user selects the program update for the program-controlled device himself via suitable means (such as an Internet Web browser) and thus starts the transmission of the program update. If required, he shuts down the program-controlled device afterwards in order to subsequently restart it so as to activate the program updating. The disadvantage here is that performing the program update lies solely in the hands of the user. This is especially problematic if important—maybe safety-relevant—program updates are not performed by the user.
A second method runs semi-automatically. In this method either a central server can inform the user about the availability of a new program update or an application that is assigned to the program-controlled device, searches automatically for available program updates, such as in the communication network. If such a program update is found, a request is sent by the application to the user asking whether he or she would like to have the program update transmitted and install it. A disadvantage of this method, particularly in corporate communication networks, is that the method results in peak loads on the communication network at the ends of the day as well as directly after provision of the program update.
A third method runs fully automatically. In this method available program updates are transmitted under central control to users without consulting the latter. The disadvantage here is that no account is taken of individual user behavior. Another problem can be that uninterrupted availability of the program-controlled device is important to the user in specific situations, but that this is disrupted by the fully-automatically execution of program updating.
A method is known from publication EP 1 290 586 A2 in which centrally-stored program updates are performed via a communication network. To this end the program update is initially stored in an external device, in order to then be transmitted to a number of decentralized devices.
An Internet-protocol-based telephone (IP phone) as a terminal is known from publication US 2005/0207432 A1. The publication envisages a terminal which is especially suited for receiving promotional information in conjunction with an integrated search function. To this end the terminal is connected to a server, with the terminal being configured to enable it to receive promotional information from this server. To this end the terminal is equipped with a memory, a processor, a receive device and a transmit device, in order to receive from this server a list of network providers and provider information that match a search request sent by the terminal.