Abstract:
The present invention relates to a method and devices for updating presence information in a communication network comprising a first entity and a second entity, in particular a SIMPLE based communication network. The method comprises the steps of: selecting a plurality of services; providing a service element comprising metadata of the plurality of services; providing information within the service element, wherein the information identifies the plurality of services; and sending the service element to the second entity. Further, devices or entities as well as a computer program for performing the method are provided.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a method and devices for updating presence information in a communication network. In particular, the present invention relates to updating presence information in an IETF SIMPLE based network employing the Presence Information Data Format (PIDF). 
       BACKGROUND 
       [0002]    In recent years, communication services in networks have experienced an immense development both in the number of available services, such as online gaming, chatting, etc., as well as the number of users of these services. 
         [0003]    In current communication networks that are based on SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions) a separate presence element (especially a service element) is used to express the status of one single service for a specific user, e.g. that a user is available for playing hearts. Efforts have been made to standardize presence documents and networks employing these. A communication network that is arranged for SIMPLE is described in the Open Mobil Alliance Presence SIMPLE Specification (OMA-TS-Presence_SIMPLE-V1 — 0 — 1). 
         [0004]    The definition of a service is not explicitly specified but by using one separate service element it is possible to express the status and details of that service separate from other services. 
         [0005]    Presence information is exchanged in presence documents that are sent between entities in the communication network, e.g. by employing the Session Initiation Protocol (SIP) described in IETF RFC3261. A common format used for presence documents is the basic Presence Information Data Format (PIDF) specified in IETF RFC3863. 
         [0006]    The size of the presence documents exchanged between entities in the communication network is relatively large and the increasing number of services and users lead to a heavy increase in the amount of traffic required between entities in order to update presence data of these services. 
         [0007]    Furthermore, networks, and in particular mobile networks, have a limited transmission capacity and the required transmission capacity for update may cause overloading of networks or limit the capacity available for other types of traffic. 
       SUMMARY 
       [0008]    Accordingly, there is a need for method and devices for increasing the performance of a communication network, in particular a PIDF based communication network. 
         [0009]    In order to solve the above-mentioned and other problems, a method for updating presence information in a communication network comprising a first entity and a second entity, is provided, the method comprising the steps of: selecting a plurality of services; providing a service element comprising metadata of the plurality of services; providing information within the service element, wherein the information identifies the plurality of services; and sending the service element to the second entity. 
         [0010]    The present invention is in particular intended for use in a presence SIMPLE based communication network, such as an IMS (IP Multimedia Subsystem) and/or an OMA (Open Mobile Alliance) system. However, the present invention may be implemented in any communication system or network employing PIDF. 
         [0011]    It is an important advantage of the present invention that the number of presence service elements or tuples is reduced, which leads to a reduced amount of presence data to be sent between entities in the network thereby increasing the performance of the network by a reduction of the required data traffic between entities in the network. 
         [0012]    Furthermore, an entity, e.g. a first entity, for a communication network is provided, wherein the entity is adapted for selecting a plurality of services, adapted for providing a service element comprising metadata of the plurality of services, adapted for providing information within the service element, wherein the information identifies the plurality of services, and adapted for sending the service element to another entity in the communication network. 
         [0013]    The first entity may be any entity in the network transmitting presence information such as a Presence Source, e.g. a Presence User Agent (PUA), a Presence Network Agent (PNA), or a Presence External Agent (PEA), or a Presence Server (PS). The first entity may be embodied in or run on e.g. a mobile terminal, a PDA, a laptop, a personal computer, an application server or other servers or any other suitable equipment. 
         [0014]    In accordance with the present invention, an entity, e.g. a second entity, is provided, which is able to receive and handle presence information that is transmitted according to the method of the present invention. Accordingly, an entity for a communication network is provided, wherein the entity is adapted for receiving a service element comprising metadata of a plurality of services, and adapted for updating metadata of each of the plurality of services based on the received service element. 
         [0015]    The second entity may be any entity in the communication network receiving presence information, such as a Presence Server, an Aggregation Proxy, or a Watcher, e.g. an Application Server or a User Equipment. The second entity may be embodied in or run on e.g. a mobile terminal, a PDA, a laptop, a personal computer, an application server or other servers or any other suitable equipment. 
         [0016]    Further in accordance with the present invention, a computer program product for updating presence information in a communication network comprising a first entity and a second entity is provided, the computer program product comprising: computer program code which, when run on a computer, can select a plurality of services; computer program code which, when run on a computer, can provide a service element comprising metadata of the plurality of services; computer program code which, when run on a computer, can provide information within the service element, wherein the information identifies the plurality of services; and computer program code which, when run on a computer, can send the service element to the second entity. 
         [0017]    It is an advantage of the present invention that the required amount of traffic for updating presence information between entities in a communication network is reduced, which leads to reduced risk of network overload due to presence data update. 
         [0018]    The reduction of update traffic is especially important for mobile networks, since the air interface has limited bandwidth and is a resource that may be heavily overloaded. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]    The above and other features and advantages of the present invention will become readily apparent to those skilled in the art by the following detailed description thereof, in particular by detailed description of exemplary embodiments thereof with reference to the accompanying drawings, in which: 
           [0020]      FIG. 1  illustrates an embodiment of the method according to the invention, 
           [0021]      FIG. 2  schematically illustrates a communication network applying the method according to the present invention, 
           [0022]      FIG. 3  schematically illustrates a communication network applying the method according to the present invention, 
           [0023]      FIG. 4  illustrates signalling between a Presence Source and a Presence Server in a communication network, 
           [0024]      FIG. 5  illustrates signalling between a Presence Server and a Watcher in a communication network, 
           [0025]      FIG. 6  partly illustrates an embodiment of the method according to the invention, 
           [0026]      FIG. 7  shows a service element employed in an embodiment of the present invention, 
           [0027]      FIG. 8  shows a service element employed in an embodiment of the present invention, 
           [0028]      FIG. 9  shows a service element employed in an embodiment of the present invention, 
           [0029]      FIG. 10  shows a service element employed in an embodiment of the present invention, and 
           [0030]      FIG. 11  illustrates update of presence information according to the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0031]    The figures are schematic and simplified for clarity, and they merely show details which are essential to the understanding of the invention, while other details have been left out. Throughout, the same reference numerals are used for identical or corresponding parts. 
         [0032]      FIG. 1  illustrates an embodiment of the method according to the present invention. The method  2  may be performed in a communication system as schematically illustrated in  FIG. 2  or  FIG. 3  and comprises the step  4  of selecting a plurality of services. Preferably, step  4  includes selecting a plurality of services having common metadata, e.g. common status and/or common willingness or other types of metadata to be updated. Step  4  may be based on analysis of a plurality of service elements where service elements having identical or partly identical metadata are grouped and subsequently handled according to the steps explained below. After the step  4  of selecting a plurality of services, the method proceeds to step  6  of providing a service element comprising metadata of the plurality of services and subsequently to the step  8  of providing information within the service element. The information within the service element identifies the plurality of services or at least a part of the plurality of services selected in step  4 . Steps  6  and  8  may in an embodiment of the present invention be performed in reverse order. Then the method proceeds to step  10 , where the service element comprising metadata of a plurality of services and information identifying these services is sent or transmitted to a receiving entity, e.g. a second entity, in the communication network. 
         [0033]    The basic concept of the present invention is to create one single service element for a plurality of services having the same presence data, whereby the amount of data that is used to express the presence status of services with similar characteristics may be heavily reduced. 
         [0034]    In  FIG. 2 , a communication network applying the method according to the present invention is schematically illustrated. The communication network is an IETF SIMPLE network comprising a Presence Server  103  communicating with one or more Presence Sources  104  and one or more Watchers  106  as illustrated by the double arrows. The present invention provides a significant reduction in the amount of data sent between entities, e.g. between a Presence Source  104  and the Presence Server  103  and/or between a Presence Server  103  and the Watcher  106 , in the communication network during update of presence information in the network. 
         [0035]      FIG. 3  schematically illustrates an embodiment of the network in  FIG. 2 . The communication network  100  is an IMS network applying the method according to the present invention. In the presence IMS network  100 , the Presence System  102  comprises the entities Presence Server PS  103 , PS XDMS  110 , RLS  112 , and RLS XDMS  114 . The Presence Server  103  communicates with entities comprising Presence Sources  104  and Watchers  106  via IP networks  108 , e.g. including a CSCF. Further, a Presence Source  106  may update presence rules and authorizations in the PS XDMS  110 , e.g. by sending XCAP messages via IP network  116 . 
         [0036]    The Presence Server (PS)  103  is an entity that accepts, stores and distributes presence information by handling publications from Presence Source(s)  104  of presentities, composing presence information from Presence Source(s)  104 , handling subscriptions from Watchers  106  to presence information, and updating presence information when changes occur. The Presence Server  103  exchanges information with Presence Server XML Document Manipulation Server (PS XDMS)  110  that is a database for storage of documents related to presentities, e.g. subscription authorization rules and presence content rules for watchers. The Presence System  102  may further comprise a Resource List Server (RLS)  112  which accepts and manages subscriptions to presence lists, thereby enabling a Watcher to subscribe to multiple presentities by using only a single subscription transaction. The RLS  112  stores and retrieves presence lists of watchers in the RLS XDMS  114  that is a database for storing presence lists. 
         [0037]    The entities in the network  100  are adapted to handle, i.e. send and/or receive, single service elements in presence documents, where each single service element may include information about a plurality of services according to the present invention. 
         [0038]      FIG. 4  and  FIG. 5  illustrate examples of signaling between a Presence Source  104  and a Presence Server  103  and between a Presence Server  103  and a Watcher  106 , respectively, where the method according to the present invention may be applied. The present invention is not limited to these signaling examples, but may be applied to any signaling between any entities in the network exchanging presence information. As illustrated in  FIG. 4 , the Presence Source  104  sends a SIP PUBLISH message including a presence document comprising a service element that identifies a plurality of services and metadata to be updated to the Presence Server  103  via the IP Network  108  when the Presence Source  104  wants to update presence information for one or more services. According to the invention, a single service element may comprise information identifying a plurality of services thereby saving valuable bandwidth and transmission resources leading to a more efficient communication network. When the Presence Server  103  receives the SIP PUBLISH message, the Presence Server  103  handles the presence document accordingly, i.e. updates relevant registers, and confirms receipt by sending a SIP OK message to the Presence Source  104 . 
         [0039]    In  FIG. 5 , the Presence Server  103  sends a SIP NOTIFY message to the Watcher  106  via Watcher IP network  108  when the Presence Server  103  updates presence information for one or more services. The SIP NOTIFY message comprises a presence document including a service element identifying a plurality of services and metadata of the services to be updated. The Watcher  106  receives and handles the presence document and confirms receipt by sending a SIP OK message to the Presence Server  103 . 
         [0040]    The method may be implemented in a number of ways. Presence data may be embodied in an XML document, e.g. at least partly according to PIDF. Accordingly, the method according to the invention suggests an extension of PIDF which enables more efficient use of bandwidth in communication networks. 
         [0041]    In an embodiment of the method according to the present invention, the step of providing information within the service element, wherein the information identifies the plurality of services, may comprise providing at least one service description element, where each service description element comprises at least one service of the plurality of services. In an embodiment of the present invention, a service element comprises one service description element identifying a number of services, such as one, two, three, four, or more services, to be updated, e.g. all services to be updated. 
         [0042]      FIG. 6  illustrates collapsing of two service elements  202 ,  204  into one service element  206  according to the present invention. The service element  202  contains information about the service “service1” whose metadata are to be updated with status=open and willingness=open. The service element  204  contains information about the service “service2” whose metadata are to be updated with the same metadata as service1, i.e. status=open and willingness=open. An entity wanting to update the services “service1” and “service2” having common metadata are selected or identified, and a service element  206  having the common metadata status=open and willingness=open is provided, e.g. in a XML presence document. Further, the entity provides information within the service element  206 , the information identifying the two services “service1” and “service2”. In the embodiment illustrated in  FIG. 6 , a service description element is included in the service element  206  for each service to be updated, i.e. the service element  206  comprises two service description elements with a separate service id element for each service. 
         [0043]    One or more services may be identified in a description element and/or in a service-id element within the one or more service description elements of a service element. 
         [0044]    Further, the at least one service description element may comprise a list element identifying one or more services of the plurality of services. 
         [0045]      FIGS. 7-10  show exemplary service elements or tuples “a1”-“a4” illustrating different ways of providing information identifying the plurality of services according to the present invention. 
         [0046]    In  FIG. 7 , the service element  302  has metadata  304  comprising status=open. The three services in question, namely the games “othello”, “chess”, and “texasholdem”, are included in a description element  308  of a service description element  306 . 
         [0047]    In  FIG. 8 , the service element  312  has metadata  304  comprising status=closed. The two services in question, namely the games “battleship” and “wow”, are included in a description element  308  of a service description element  306 . 
         [0048]    In  FIG. 9  the service element  322  has metadata  304  comprising status=open. The two services “othello” and “chess” are included in a service-id element  314  of respective service description elements  306 A and  306 B. 
         [0049]    In  FIG. 10  the service element  332  has metadata  304  comprising status=open and willingness=open  312 . The two services in question, namely the games “othello” and “chess”, are included in a list element  310  within the service description element  306 . 
         [0050]      FIG. 11  illustrates updating of presence information between entities  402 ,  404  according to the invention. A first entity  402  comprises a processor that is adapted to select or identify a plurality of services to be updated, in the illustrated case the services A, B and C, the services having at least partly overlapping metadata. Each service A, B, and C may have separate service elements  406  from which the first entity  402  is adapted to identify services having common metadata. The first entity  402  is further adapted to provide a service element  408  comprising the common metadata and information about the three services A, B, and C. The service elements may take any suitable form as describe above, e.g. one of the forms  302 ,  312 ,  322  or  332  or a combination of these. Finally, the first entity is adapted to send the service element  408  to the second entity  404 , which in turn is adapted to receive the service element  408  comprising the metadata to be updated. Furthermore the second entity is adapted for handling and updating presence information  410  for each of the services A, B and C based on the single received service element  408 . The first entity  402  may be embodied e.g. as a Presence Server  103 , a Presence Source  104 , a PS XDMS  110 , a RLS  112  or a RLS XDMS  114 . The second entity  404  may be embodied e.g. as a Presence Server  103 , a Presence Watcher  106 , a PS XDMS  110 , a RLS  112  or a RLS XDMS  114 . 
         [0051]    The service element may be provided in a presence XML document. 
         [0052]    The present invention has been illustrated with two or three services. However the present invention is not limited in the number of services to be handled by one single service element. On the contrary, the more services that can be put into one service element, the larger reduction in amount of signaling between the entities in the network which consequently leads to a more efficient utilization of signaling capacity, in particular within a mobile network where signaling capacity is often a limited resource. 
         [0053]    An example of use of the present invention is for simple games where a user may have a large number of small games available on his mobile terminal and all of these different games or services have the same type of metadata which are often identical. Often the only difference between the metadata is that the user either is available for the game or not. The present invention provides such services to be updated with one single service element leading to reduced amount of data to be transmitted in the network. 
         [0054]    One or more types of metadata may be updated within a single service element. In an embodiment of the present invention one type of metadata is updated in one service element and the method is repeated for another type of metadata that is updated in another service element, e.g. for a part of the services updated in the first run. 
         [0055]    It should be noted that in addition to the exemplary embodiments of the invention shown in the accompanying drawings, the invention may be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art.