Abstract:
The invention is based on a communication network containing components which use and provide services in the communication network, a plurality of components being able to provide the same service. One component determines the services provided by other components in the communication network. Where the same services are provided by two components, information relating to the output state of the software controlling the services is exchanged between the components and compared. A software update is initialised if the output states differ. If a defined service is activated in a second component by means of a first component, but the service cannot be provided by means of the software of the second component although the second component has the necessary hardware requirements therefore, said service is made available by updating the software of the second component.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application is the US National Stage of International Application No. PCT/DE03/01896, filed Jun. 6, 2003 and claims the benefit thereof. The International Application claims the benefits of German application No. 10230690.7 DE filed Jul. 8, 2002, both of the applications are incorporated by reference herein in their entirety. 
     
    
     FIELD OF INVENTION  
       [0002]     This invention refers to a method for updating services in a communication network.  
       BACKGROUND OF INVENTION  
       [0003]     Communication networks whose components communicate with one another on a packet-switched basis are replacing circuit-switching communication networks to an increasing extent. Such networks are frequently also referred to as Voice over IP (VoIP for short) networks when the Internet protocol (IP) is used for interchanging the audio information provided in the form of data. In this case, the networks may either be used exclusively for transmitting voice data or else for transmitting a mixture of voice data and other information.  
         [0004]     The interconnected devices arranged in communication networks are referred to generally as communication components. When a communication component of this type is used as a terminal, for example as a telephone or a multimedia terminal, this component is also referred to as a client component. Other components are not used as a terminal, but rather provide services in the communication network. The services may be a gateway functionality, a voicemail server, an address directory or the like, for example. Such communication components are also referred to as server components.  
         [0005]     Both the client components and the server components normally comprise a piece of computer hardware (for example a PC) which uses appropriate hardware extensions and a piece of adapted software to perform appropriate functionalities and provide services. In this case, the performance of a communication component is frequently dependent on the presence and release of the installed software, which means that by updating a piece of software which has already been installed or by freshly installing a piece of software which has not been present to date, it is possible to increase the performance of a communication component significantly.  
         [0006]     A piece of computer hardware may also have more than one software application installed on it, which means that a single physical component in the network may in principle exercise both client and server functionalities. Such communication components are also referred to as servents in the literature, an artificial word derived from the terms “client” and “server”.  
         [0007]     The communication components connect to one another by interchanging addressed data packets with one another. In this case, each communication component in the packet-switching communication network has a network address which is uniquely associated with it. In the networks which interchange data on the basis of the Internet protocol (IP networks), this is the IP address and the IP port number, for example. If a communication component is intended to connect to or interchange data with another communication component, then it is first necessary to find out the network address of the other component. The network addresses are not always permanently associated with the communication components over time, but rather may also be allocated dynamically in the network, which means that communication components may each have a different address whenever they have been turned off and turned on again or after predetermined events. For this reason, at least one network component in the known packet-switching communication networks is equipped with an address directory (address database) for all of the communication components which are available in this network. These server components are normally referred to as gatekeepers.  
         [0008]     Alternatively, data interchange without a central address database in the manner of a gatekeeper is known, for example using the “The Gnutella Protocol Specification V 0.4” method, which communication components on the Internet can automatically use to find other communication components for file interchange. In this case, the file and hence data interchange thus takes place not using a central server component or a “gatekeeper”, but rather directly between the individual components. Networks which provide direct data interchange between communication components without a superordinate entity are called peer-to-peer networks. The communication components which comprise both “client” and “server” functionalities are the aforementioned “servents”.  
         [0009]     In the peer-to-peer network based on the Gnutella specification, each communication component (for example a PC) holds files ready for interchange with other communication components. In order to be able to interchange data, the searching communication component requires the network address of the communication component which holds the sought file ready for retrieval. To this end, it first of all sends a first search message, the “ping”. Communication components which receive a “ping” search message respond to the searching communication component using a hit response, the “pong”. This hit response contains the respective network address of the responding communication component and the number of files which this communication component provides for interchange.  
         [0010]     In the next step, the searching communication component sends a second search message “Query” to a limited selection of those communication components which have responded to the “ping” search message with a “pong”. The second search message already contains the file name of the file which is being sought. If a communication component receives a second search message “Query” but does not itself hold the sought file ready for interchange, then it forwards this search message to other communication components in the network whose addresses it has ascertained, for example by means of a “ping” method which has already been carried out in the past. If the communication component can provide the desired file for interchange, however, then it responds to the second search message “Query” with a hit response “Query Hit”, as a result of which the searching communication component can initiate the file transfer using commands defined in the Internet protocol.  
         [0011]     The Gnutella method is used when a particular file is being sought among other communication components. The search method is terminated at the very instant at which the sought file has been found for the first time.  
         [0012]     While the correct file need only be found once when searching on the basis of the Gnutella method, it is frequently important in the case of the services in communication networks to gain access to a plurality of communication components—providing services of the same type—in order to be able to choose between them when required.  
         [0013]     A further drawback of the known method is that although useful data can be interchanged between communication components there is no guarantee that the software used on the communication components is sufficient for processing the useful data or is sufficiently up-to-date.  
         [0014]     In addition, the known method does not allow the software installed on a communication component to be modified.  
       SUMMARY OF INVENTION  
       [0015]     It is an object of the invention to improve the performance of software-controlled communication components arranged in packet-switching communication networks.  
         [0016]     The object is achieved by the features of the claims.  
         [0017]     The invention is based on a communication network, particularly a packet-switching network, which contains communication components which use and provide services in the communication network, with a plurality of communication components being able to provide an identical—software-controlled—service.  
         [0018]     In this case, a communication component ascertains the services provided in the communication network by other communication components. In cases in which both communication components provide identical services, the communication components interchange and compare information about the release of the software controlling the services. If the releases are different, a software update is initialized.  
         [0019]     If a first communication component needs to activate a particular service in a second communication component but this service cannot be provided by the software on the second communication component, even though the hardware requirements necessary for this service are in place in the second communication component, this service is made available by a software update on the second communication component.  
         [0020]     One advantage of the inventive method is that the methods can be implemented with little complexity in already existing systems.  
         [0021]     Advantageous refinements of the invention are specified in the claims.  
         [0022]     By virtue of at least one communication component providing software in a respective up-to-date release for retrieval for a plurality of services, it is a simple matter to ensure that the most up-to-date software version is always present in the entire communication network. This reduces the administration complexity for the communication network to a considerable extent.  
     
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0023]     An exemplary embodiment of the inventive method is described below with reference to the drawing.  
         [0024]     To this end, the single FIGURE shows a schematic illustration of a packet-switching communication network which is connected to a circuit-switching communication network. 
     
    
     DETAILED DESCRIPTION OF INVENTION  
       [0025]     A packet-switching communication network VoIP contains communication components A 1 -A 4 , B 1 -B 11  connected to one another.  
         [0026]     The communication components A 1 -A 4 , B 3 -B 11  are servents which thus have both client and server functionalities. The communication components B 1 , B 2  are “simple” IP telephones, that is to say communication components with pure client functionality.  
         [0027]     The communication components A 1 , A 4  contain, as a server functionality, gateways which connect the packet-switching communication network VoIP to the circuit-switching communication network ISDN. The gateways installed on the communication components A 1  and A 4  are situated at various locations and also in different secondary distribution network areas of the circuit-switching communication network ISDN. The gateways permit connections between the communication components A 1 -A 4 , B 1 -B 11  in the packet-switching communication network VoIP and the circuit-switching communication system S 1 , S 2 , to which ISDN terminals C 1 -C 3  are connected. They are available as usable resources to all client components in the packet-switching communication network VoIP and also to the communication installations S 1 , S 2  in the circuit-switching communication network ISDN.  
         [0028]     The gateways installed on the communication components A 1 , A 4  may be selected and used by the client components of the communication components B 1 , B 2  and also by all client components installed in the packet-switching communication network VoIP on the communication components A 1 -A 4 , B 3 -B 11 —predominantly in the form of software applications. To this end, all communication components A 1 -A 4 , B 3 -B 11  have a piece of communication software installed on them which provides the client functionality.  
         [0029]     The communication software is designed such that it also respectively examines its own communication component A 1 -A 4 , B 3 -B 11  to determine which server functionalities can be provided. This is done at least when the communication software is started for the first time. This information regarding the server functionalities is then stored such that it can be retrieved by the other communication components A 1 -A 4 , B 3 -B 11  using appropriate search methods.  
         [0030]     The text below uses the example of the communication component A 3  to describe the search for services in the packet-switching communication network VoIP, the selection of one of a plurality of gateways as services and the use of the selected gateway for the purpose of a communication connection between the communication component A 3  and the ISDN terminal C 1  in the circuit-switching communication network ISDN.  
         [0031]     When the communication component A 3  has started and the above-described examination of the dedicated hardware has taken place, the client component of the communication component A 3  searches the packet-switching communication network VoIP for other, “adjacent” communication components. To this end, methods defined in the Internet protocol are used which request all components in a network segment to send a response message. This is done by means of a “broadcast”, that is to say a message sent to all components which can be reached. In the course of this search, the communication component A 3  ascertains and stores the network addresses of the communication components A 1  and A 2 . In the next step, the communication component A 3  sends search messages containing the demand for services of a particular type, namely for gateways, to the “adjacent” communication components A 1  and A 2  found.  
         [0032]     The communication component A 3  has been preset such that it uses this search method to search only for services of such a type which will probably or empirically be used more frequently. These include gateways which allow connections between the packet-switching communication network VoIP and the circuit-switching communication network ISDN. Other services which are used less often, for example servers for conducting telephone conferences, are sought in the packet-switching communication network VoIP only when the client component installed on the communication component A 3  demands the use of such a service.  
         [0033]     In this example, the communication software for the communication component A 3  in the packet-switching communication network VoIP searches exclusively for gateways, because this is the service type used most often in this case.  
         [0034]     The communication component A 2  does not have its own gateway, which means that it forwards the search query from the communication component A 3  to further communication components A 4 , B 5 , B 6  itself.  
         [0035]     By contrast, the communication component A 1  has a gateway of its own and responds to the search query from the communication component A 3  with a positive response which includes the network address of the communication component A 1  and the access parameters for the gateway installed thereon. These statements are stored in a table by the communication component A 3 .  
         [0036]     In addition, the communication component A 1  forwards the search message to other communication components B 3 , B 10 , B 11  which are known to it.  
         [0037]     The communication component A 4  likewise has a gateway of its own, which means that it responds to the search query from the communication component A 3 , which it has received via the “detour” through the communication component A 2 , in the same way, with the response comprising the network address of the communication component A 4  and the access parameters for the gateway installed thereon, in a similar manner to the case of the communication component A 1 . These statements are also stored in the table of available gateways by the communication component A 3 .  
         [0038]     The search messages which are forwarded from the communication component A 3  to its adjacent communication components A 1  and A 2  and from these in turn to further communication components contain, in a predefined data field, a number which is reduced by 1 as a counter whenever the search message is forwarded from one communication component to the next communication component. As soon as this number has reached the value 0 as a result of continued forwarding of the search message, the search message is no longer transferred further in the packet-switching communication network VoIP. This prevents the search message from being forwarded infinitely often. The start value for this counter is set to be sufficiently high in the communication component A 3 , which means that a large portion of the packet-switching communication network VoIP or the entire packet-switching communication network VoIP is searched. In this case, the number has the value 10, for example.  
         [0039]     Besides from the communication components A 1  and A 4 , the communication component A 3  receives no further responses.  
         [0040]     The communication components A 1 -A 4 , B 1 -B 11  in the packet-switching communication network VoIP are usually PCs or other data processing devices which obtain their client and also their server functionality essentially by virtue of them being installed with an appropriate piece of software. While alterations are rarely made to the hardware of the data processing devices following installation, software changes are more frequent. These software changes are frequently referred to as updates in the literature.  
         [0041]     In the present exemplary embodiment it is assumed that the two gateways installed on the communication components A 1  and A 4  use the same hardware, that is to say have the same ISDN cards for connecting to the circuit-switching communication network ISDN, but have different releases (versions) of the installed control software. The reason for this, for example, is that the communication component A 4  was not added to the packet-switching communication network VoIP until later and therefore has a newer software version.  
         [0042]     In a similar manner to the method described for the communication component A 3 , the communication component A 1  also searches the other communication components A 2  to A 4 , B 3  to B 11  in the packet-switching communication network VoIP for services when it starts, but also later at regular intervals of time. Within the context of this search, the communication component A 1  is notified of the network address of the communication component A 4  and of the access parameters of the gateway installed on the communication component A 4 . The access parameters of the gateway for the communication component A 4  also comprise details about the release of the control software used there. The communication software installed on the communication component A 1  now establishes that the “gateway” server component located on the communication component A 4  is the same service with the same hardware as its own gateway.  
         [0043]     Subsequently, the communication component A 1  compares the releases of the two software versions and establishes that the software version of the “foreign” gateway is more up-to-date. The communication component A 1  then prompts a software download for this control software to its own communication component A 1 . In this case, the control software may be sent to the communication component A 1  from the communication component A 4  or alternatively from any other communication component providing the control software for the service.  
         [0044]     In addition to updating a software version which is already present, the inventive method also permits automatic fresh installation of a piece of software which has not yet been installed on a communication component but is currently required.  
         [0045]     In the text below, it is assumed that, by way of example, the communication component A 2  calls the communication component A 3 , but the call is not taken on the communication component A 3 . The communication component A 2  then attempts to activate the “callback” service, which is known on the communication component A 2 , on the communication component A 3 . The “callback” service cannot be performed by the communication component A 3 , however, since the control software required for this is not installed on the communication component A 3 . The communication component A 3  then sends a message containing this information to the communication component A 2  and checks whether the software required for the desired service can be obtained from the communication component A 2 . If so, a check is performed to determine whether the communication component A 3  meets the hardware requirement for operating this software.  
         [0046]     If all these requirements have been met, the software is sent from the communication component A 2  to the communication component A 3  and the “callback” service is activated on the communication component A 3 .  
         [0047]     As an alternative to obtaining the control software from the communication component A 2 , the control software for the desired service may also be downloaded from any other communication component A 1 , A 4 , B 3 -B 11 . Of these communication components A 1 , A 4 , B 3 -B 11 , one may also be used specifically for distributing control software and may provide a multiplicity of different services with the respective up-to-date control software for different hardware platforms.  
         [0048]     In addition to bringing the software versions into line during the search for services in the packet-switching communication network VoIP and the fresh installation of software on a communication component, the communication components in the packet-switching communication network VoIP regularly send special search messages which, in a similar manner to the method described, are likewise forwarded from one communication component to the next and which are used by the communication components for actively searching the packet-switching communication network VoIP for suitable newer control software. Such search messages are also received by communication components on which a special server component is installed, which are provided for distributing software updates in the packet-switching communication network VoIP. In this way, it is possible to provide software updates at any point in the packet-switching communication network VoIP and to distribute them on the basis of the “snowball” principle.