Abstract:
An arrangement and method in a wireless communication network provides users with full control of service management, defines how a user can enter or leave services, and defines dependencies between services. A mobile terminal initiates establishment of a group and creates a unique groupID. The terminal sends invitations to other terminals to join the group and includes the unique groupID and a service feature tag for a desired service. The terminal will not request a service if it is incompatible with a service already running. Terminals that receive invitations store the groupID and service feature tags. These parameters are used to send acceptances or rejections, and to join later or leave a service.

Description:
RELATED APPLICATIONS 
       [0001]    This application is a divisional of co-pending U.S. patent application Ser. No. 12/305,304 filed Feb. 16, 2009, which is a 371 of International Application No. PCT/IB2006/001659, filed Jun. 20, 2006, the disclosures of which are fully incorporated herein by reference. 
     
    
     TECHNICAL FIELD 
       [0002]    This invention relates to mobile communication systems. More particularly, and not by way of limitation, the invention is directed to an arrangement and method for controlling activation and deactivation of services on a mobile terminal. 
       BACKGROUND 
       [0003]    Group communication services are becoming increasingly popular. Many services providing group communications such as Microsoft Network (MSN), Skype, or Yahoo have traditionally operated only with personal computers, but are now moving to mobile devices. To date, there have been activities regarding service manipulation on the network side (for example, service composition and SIP servlets), but little or no activity on the terminal side. The network solutions do not give the user full control of service management. No rules exist that define how a subscriber can enter or leave services, and there are no rules defining dependencies between services. 
         [0004]    What is needed in the art is an arrangement and method for manipulating services that overcomes the shortcomings of the prior art. The present invention provides such an arrangement and method. 
       SUMMARY 
       [0005]    The present invention provides an arrangement and method that provides users with full control of service management, defines how a user can enter or leave services, and defines dependencies between services. 
         [0006]    Thus in one aspect, the present invention is directed to a method of activating a desired service on a mobile terminal participating in a first group. The method includes determining whether activation of the desired service on the mobile terminal would conflict with a service running on other mobile terminals in the group. If activation of the desired service on the mobile terminal would conflict with the running service, the method determines whether the running service can be stopped. If the running service cannot be stopped, the method sends a notification to the mobile terminal that the desired service cannot be activated. If the other service can be stopped, the method stops the other service and activates the desired service on the mobile terminal. 
         [0007]    In another aspect, the present invention is directed to a method of activating a desired service on a mobile terminal participating in a first group. The method includes determining whether the desired service is a service that cannot be activated in more than one group at a time. If so, the method determines whether the desired service is running in a second group. If so, the method stops the desired service in the second group. The method also determines whether a second service is running in the first group that is incompatible with the desired service. If so, the method sends a notification to the mobile terminal that the desired service cannot be activated. If there is not a second service running in the first group that is incompatible with the desired service, the method activates the desired service on the mobile terminal. 
         [0008]    In another aspect, the present invention is directed to a method of deactivating a service on a mobile terminal participating in a group. The method includes determining whether the service is a one-to-many service. If not, the mobile terminal leaves the service. If the service is a one-to-many service, the method determines whether the mobile terminal started the service. If so, the method stops the service. If the mobile terminal did not start the service, the mobile terminal leaves the service while other members of the group continue to run the service. 
         [0009]    In another aspect, the present invention is directed to a method in a wireless communication network for establishing a user group that comprises a plurality of mobile terminals, and running a conference service. The method includes the steps of initiating the conference service by a first mobile terminal; setting up by the network, an empty conference with the first mobile terminal; inviting by the first mobile terminal, a second mobile terminal in the network to join the conference; and joining the conference by the second mobile terminal. This is followed by notifying the first mobile terminal that the second mobile terminal has joined the conference; and notifying the second mobile terminal that the conference includes the first mobile terminal and the second mobile terminal. 
         [0010]    In another aspect, the present invention is directed to an arrangement in a wireless communication network for providing users with control of service management. The arrangement includes means for enabling a first user to establish a group; means for enabling the first user to invite a plurality of other users defined by the first user to join the group; and means for enabling a user to start a service within the group. The service starting means ensures that the service does not conflict with any other services already running within the group or in other groups. The arrangement also includes means for enabling the first user to invite a plurality of other users defined by the first user to subscribe to the service. 
         [0011]    In another aspect, the present invention is directed to a mobile terminal for providing a user with control of service management in a wireless communication network. The mobile terminal includes means for initiating establishment of a group of mobile terminals; means for creating a unique group identifier for the group; and means for sending invitations to other mobile terminals to join the group. The invitations include the unique group identifier and a service feature tag. The mobile terminal also includes means for storing unique group identifiers and service feature tags received in invitations from other mobile terminals; and means for sending acceptances to invitations to join other groups received from other mobile terminals. Through use of the mobile terminal, the user may join and leave an ongoing service any time after being invited to join. Even if the invitation was initially rejected, the user may join later. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    In the following section, the invention will be described with reference to exemplary embodiments illustrated in the figures, in which: 
           [0013]      FIG. 1  is a flow chart illustrating the steps of an exemplary procedure for service activation in Group A; 
           [0014]      FIG. 2  is a flow chart illustrating the steps of an exemplary procedure for service deactivation; 
           [0015]      FIGS. 3A-3B  are portions of a signaling diagram illustrating the flow of messages in an exemplary procedure for starting a group; 
           [0016]      FIG. 4  is a signaling diagram illustrating the flow of messages in an exemplary procedure for leaving a group; 
           [0017]      FIG. 5  is a signaling diagram illustrating the flow of messages in an exemplary procedure for adding a new service to a group that currently is running a service; 
           [0018]      FIG. 6  is a signaling diagram illustrating the flow of messages in an exemplary procedure for inviting a new participant to join an existing group; 
           [0019]      FIG. 7  is a signaling diagram illustrating the flow of messages in an exemplary procedure for rejecting an invitation to join an existing group; and 
           [0020]      FIG. 8  is a signaling diagram illustrating the flow of messages in an exemplary procedure for a new participant to utilize a stored groupID and service FT to join an existing group. 
       
    
    
     DETAILED DESCRIPTION 
       [0021]    In this description, the 3GPP IMS architecture and the IETF protocol SIP is used as a foundation for the application. The invention is however not restricted to using 3GPP IMS and SIP. 
         [0022]    In the present invention, mobile terminals maintain a matrix-based representation of services and subscriber groups for the mobile terminal, together with defined procedures for activation and deactivation of the services. An example of such a representation is shown below in Table 1. Columns in the table show the subscriber groups currently running in the terminal, and rows show the services supported by the terminal (i.e., capabilities). Symbols in the table have the following meanings: 
         [0023]    M—the service is active in the group and I am a participant. 
         [0024]    G—the service is active in the group but I am not a participant. 
         [0025]    X—the service is active in the group but my subscription does not allow me to use it. 
         [0000]    
       
         
               
             
               
               
             
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Service mapping example 
               
             
          
           
               
                   
                 Group 
               
             
          
           
               
                   
                 Service 
                 Group A 
                 Group B 
                 Group C 
               
               
                   
                   
               
               
                   
                 Text chat 
                 M 
                 M 
                 M 
               
               
                   
                 Voice chat 
                 G 
                 M 
               
               
                   
                 Live video 
                 M 
               
               
                   
                 Video share 
               
               
                   
                 Live TV 
               
               
                   
                 Gaming 
                   
                   
                 M 
               
               
                   
                 Whiteboard 
                   
                 X 
               
               
                   
                   
               
             
          
         
       
     
         [0026]    Different types of services and interactions between them are defined from the terminal perspective. Using the table representation, it can be readily determined which services are currently running in each group, and whether the running services are consistent. The mechanisms for dealing with different types of services are common for all services, and thus the description does not refer to any specific service but to a generic one referred as “Service1”. 
         [0027]    The following definitions of different types of services are utilized herein: 
         [0028]    Default service—a service that starts upon group creation and is destroyed when the group is closed. An example of such service is text chat. 
         [0029]    User-active service—a service currently running and utilized by the user. Such services are marked by M in Table 1. 
         [0030]    Group-active service—a service currently running by the group but not by the user. Such services are marked by G in Table 1. 
         [0031]    Single service—a service that cannot be user-active in more than one group at a time. An example of such service is voice chat. 
         [0032]    Mutually exclusive services—services that are not allowed to be group-active in the same group. Examples of such services are live video and whiteboard. 
         [0033]    One-to-many service—a service where its creator is in control of the media stream and other participants are the receivers of the media. Examples of such services are live video and video share. 
         [0034]    Unsubscribed service—a service that is not allowed to run since the user subscription does not cover it. X in Table 1 marks such services. 
         [0035]    Unsupported service—a service that cannot run due to limitations of the user terminal. 
         [0036]    In the following sections, procedures are defined for activating and deactivating services. A user is only in control of services running on his terminal, and can create, join, leave, or stop such services. It is assumed that the target terminal has at least one group communication running, which implies that the user runs at least the default service in each of the created groups. 
         [0037]      FIG. 1  is a flow chart illustrating the steps of an exemplary procedure performed by a mobile terminal for service activation in Group A. There are four conditional statements involved in service activation, which check the service nature and determine whether the service is in conflict with services running in the same group or on the same terminal. The last conditional statement in the diagram decides if the service will be started (i.e. it was not running in Group A) or joined. 
         [0038]    At step  11 , it is determined whether the service is a single service, that is, a service that cannot be user-active in more than one group at a time. If not, the process moves to step  14 . If the service is a single service, the process moves to step  12  where it is determined whether the service is running in some other group such as Group B. If not, the process moves to step  14 . If the service is running, for example in Group B, the process moves to step  13  where the service is stopped in Group B. 
         [0039]    At step  14 , it is determined whether there are any mutually exclusive services running in Group A. If so, the process moves to step  15  where it is concluded that the new service cannot be started. If there are not any mutually exclusive services running in Group A, the process moves to step  16  where it is determined whether the service is passive in Group A. If so, the process moves to step  17  where the service is started. If the service is not passive in Group A, the process moves to step  18  where the user joins the service. 
         [0040]      FIG. 2  is a flow chart illustrating the steps of an exemplary procedure performed by a mobile terminal for service deactivation. When a user leaves a service, it is important to know whether the service is a one-to-many service and whether the person leaving the service is the one who started it. In this case the service (for example live video) will be deactivated for all group participants. If the user did not start the service, the user can leave the service and the rest of the group can continue running it. 
         [0041]    At step  21 , it is determined whether the service is a one-to-many service, that is, a service where its creator is in control of the media stream and other participants are the receivers of the media. If not, the user leaves the service at step  24 . If the service is a one-to-many service, the process moves to step  22  where it is determined whether the user attempting to leave the service is the user who activated the service. If not, the user leaves the service at step  24 . If the user attempting to leave the service is the user who activated the service, the process moves to step  23  where the service is deactivated for all of the users. 
         [0042]    An important principle of this invention is the manner in which services within groups are addressed. To facilitate joining or leaving a service within a group at any time, the invention utilizes a mechanism with double addressing. It is a useful feature allowing, for example, joining and leaving a voice conversation at any time. Each service that is active in a group is addressed using two parameters: 
         [0043]    a) Service feature tag (FT); and 
         [0044]    b) Unique group ID. 
         [0045]    Together, these two parameters provide a unique address that can be used for joining a given service within a given group. Upon receiving an Invite message, the two parameters are stored in the user terminal. This kind of addressing also enables an entire group to be closed at once by using the unique group ID. By using the service feature tag instead, a specific service may be left (or stopped) in any group. 
         [0046]    At any time, any group member can add group participants to a group. The following sections describe the procedures for activating and deactivating services, creating groups, joining services in a group, and leaving services in a group. 
         [0047]      FIGS. 3A-3B  are portions of a signaling diagram illustrating the flow of messages in an exemplary procedure for starting a group. In this example, a user utilizing User Equipment-A (UE-A)  31  starts a group by inviting UE-B  32  and UE-C  33  to join a default service, Service-1.  FIGS. 3A-3B  illustrate the setup for UE-B, and thereafter, the setup for UE-C is the same. Referring to  FIG. 3A , before sending the initial INVITE message  34 , the user UE-A determines whether the service can be started on its terminal according to the procedures described in the previous section. The initial INVITE message, labeled INVITE (1), has the following arguments: 
         [0048]    To: sip:service1-factory@domanA.org 
         [0049]    Accept-contact: “Service1” 
         [0050]    The INVITE message passes through Call State Control Function (CSCF-A)  35  to a Conference Factory  36  for Service1. The Conference Factory creates a conference instance at step  37  and reserves media resources at step  38 . The Conference Factory then sends a SIP 200 OK message  39  through the CSCF-A to UE-A  31 . The 200 OK message, labeled 200 OK (2), has the following format: 
         [0051]    To: sip:b@domainB.org 
         [0052]    From: service1-factory@domainA.org 
         [0053]    Contact: sip:conf77@service1-factory.domainA.org 
         [0054]    At step  40 , the UE-A  31  creates a unique group ID in response, which is sent to all group participants via a REFER message  41 . The REFER message sent to UE-B, labeled REFER (3), has the following format:
       To: sip:b@omainB.org   From: a@domainA.org   Contact: a@domainA.org   Refer-To: conf77@service1-factory.domainA.org; is Focus; method=INVITE   Referred-by: sip: a@domainA.org   Subject: GR345       
 
         [0061]    After receiving the REFER message  41 , UE-B stores the service feature tag (FT) (conf77@service1-factory.domainA.org) and the unique groupID (GR345) at step  42 . Users may utilize these identifiers later to join the service in the group. UE-B then sends a 202 Accepted message  43  to CSCF-B  44 , accepting the REFER message. UE-B then sends an INVITE message  45  through CSCF-B and CSCF-A to a Focal Point  49  associated with Service-1. The INVITE message, labeled INVITE (4) has the following format: 
         [0062]    To: sip:conf77@service1-factory.domainA.org 
         [0063]    From: sip: b@domainB.org 
         [0064]    Referred-by: sip:a@domainA.org 
         [0065]    Referring to  FIG. 3B , at step  46 , UE-A is notified that UE-B has joined. At step  47 , the notification service is performed for UE-B. The process is then repeated at step  48  for UE-C. 
         [0066]      FIG. 4  is a signaling diagram illustrating the flow of messages in an exemplary procedure for leaving a group. In this example, UE-B  32  leaves the group consisting of UE-A  31 , UE-B  32 , and UE-C  33 . The process starts when UE-B sends a Subscribe message  51  through CSCF-B  44  and CSCF-A  35  to a Focal Point  49 . A validity period in the Subscribe message is set to zero (0). The Focal Point then sends a Notify message  53  back to UE-B by the same route. The Notify message indicates that UE-B is unsubscribed, i.e., will not receive any further notifications about group events. UE-B then sends a BYE message  54  to the Focal Point. At step  55 , the Focal Point works with a Multimedia Resource Function Processor (MRFP)  56  to release network resources associated with UE-B. At step  57 , the Focal Point notifies UE-A that UE-B has left, and at step  58 , the Focal Point notifies UE-C that UE-B has left. The Focal Point may retain the address for UE-B so that the Focal Point may optionally send a notification to UE-B at a later time if the group/service is deactivated, and is no longer available to be joined. 
         [0067]      FIG. 5  is a signaling diagram illustrating the flow of messages in an exemplary procedure for adding a new service (Service-2) to a group that currently is running a service (Service-1). In this example, UE-A  31  is adding Service-2 and inviting UE-D  61  to join. At step  62 , it is noted that the precondition for this procedure is that Service-1 (e.g. text chat) is running in the group. 
         [0068]    UE-A  31  starts the process by sending a REFER message  63  to the group. For simplicity, only the REFER message to UE-D  61  is shown. Note that before sending this message, a consistency check is performed to determine whether Service-2 is in conflict with Service-1 running in the same group or on the same terminal. The REFER message has the following format:
       To: sip:d@domainD.org   From: a@domainA.org   Contact: a@domainA.org   Subject: GR345       
 
         [0073]    After receiving the REFER message  63 , UE-D stores the service address (conf77@service2-factory.domainA.org) and the unique groupID (GR345) at step  64 . UE-D then sends a 202 Accepted message  65  through CSCF-A  35  to UE-A, accepting the REFER message. UE-D then sends an INVITE message  66  through CSCF-A to a Focal Point  67  associated with Service-2. The INVITE message has the following format: 
         [0074]    To: sip:conf77@service2-factory.domainA.org 
         [0075]    From: sip: d@domainD.org 
         [0076]    Referred-by: sip:a@domainA.org 
         [0077]    At step  68 , UE-A is notified that UE-D has joined, and UE-D is notified that it has joined the group for Service-2. At step  69 , the setup process is then repeated for the other group members. At step  70 , Service-1 and Service-2 are both running in the group. 
         [0078]      FIG. 6  is a signaling diagram illustrating the flow of messages in an exemplary procedure for inviting a new participant to join an existing group. In this example, UE-A  31  is inviting UE-D  61  to join. The group runs two different services, and the UE-D receives a REFER for each service separately and can choose to accept or reject each service. In any case, the service address is stored on the terminal of the invited participant. 
         [0079]    UE-A  31  starts the process by sending a first REFER message  71  to UE-D  61 . The REFER (1) message invites UE-D to join the group to participate in Service-1. After receiving the REFER (1) message, UE-D stores the service FT (conf77@service1-factory.domainA.org) and the unique groupID (GR345) at step  72 . UE-D then sends a 202 Accepted message  73  through CSCF-A  35  to UE-A, accepting the REFER (1) message. UE-D then sends an INVITE message  74  through CSCF-A to the Focal Point  49  associated with Service-1. 
         [0080]    UE-A  31  continues the process by sending a second REFER message  75  to UE-D  61 . The REFER (2) message invites UE-D to join the group to participate in Service-2. After receiving the REFER (2) message, UE-D stores the service FT (conf77@service2-factory.domainA.org) and the unique groupID (GR345) at step  76 . UE-D then sends a 202 Accepted message  77  through CSCF-A  35  to UE-A, accepting the REFER (2) message. UE-D then sends an INVITE message  78  through CSCF-A to the Focal Point  67  associated with Service-2. At step  79 , UE-A is notified that UE-D has joined, and UE-D is notified that it has joined the group for Service-1 and/or Service-2. At step  80 , the other group members are notified that UE-D has joined the group for Service-1 and/or Service-2. 
         [0081]      FIG. 7  is a signaling diagram illustrating the flow of messages in an exemplary procedure for inviting a new participant to join an existing group, and rejecting the invitation by the invited participant. In this example, UE-A  31  is inviting UE-D  61  to join, and UE-D declines. Note that even in the case of a rejection, the group ID and the service FT are stored on the participant&#39;s terminal allowing him to join later. 
         [0082]    At step  81 , it is noted that the precondition for this procedure is that group communication between UE-A  31  and UE-B  32  is ongoing, UE-A starts the process by sending a REFER message  82  via CSCF-A  35  and CSCF-B  44  to UE-D  61 . The REFER (3) message invites UE-D to join the group to participate, for example, in Service-1. After receiving the REFER (3) message, UE-D stores the service FT (conf77@service1-factory.domainA.org) and the unique groupID (GR345) at step  83 . UE-D then sends a 603 Decline message  84  via CSCF-B and CSCF-A to UE-A, declining to join. It is noted at step  85  that although UE-D has declined, UE-D may join later utilizing the stored groupID and service FT. 
         [0083]      FIG. 8  is a signaling diagram illustrating the flow of messages in an exemplary procedure for a new participant to utilize a stored groupID and service FT to join an existing group. In this example, UE-B  32  joins an existing group in which UE-A  31  and UE-D  61  are running Service-1. UE-B was previously invited to join the group, but either rejected the invitation or joined the group and then left. Now UE-B utilizes the stored groupID and the service FT currently running in the group to join the group and subscribe to Service-1. 
         [0084]    At step  91 , it is noted that the precondition for this procedure is that UE-A  31  and UE-D  61  are running Service-1 in a group. UE-B  32  starts the process by sending an INVITE message  92  via CSCF-B  44  and CSCF-A  35  to the Focal Point  49  for Service-1. The INVITE message includes the unique groupID, which UE-B previously stored when UE-B was first invited to the group. The Focal Point reserves media resources with MRPF  56  at step  93 . The Focal Point then sends a Notify message  94  to CSCF-A, which sends notifications  95  and  96  to the group members UE-A and UE-D indicating that UE-B has joined the group. 
         [0085]    Once UE-B  32  has joined the group, he can choose which services within the group he would like to participate in. Having decided to participate in Service-1, UE-B sends a Subscribe message  97  via CSCF-B  44  and CSCF-A  35  to the Focal Point  49  for Service-1. The Subscribe message includes the service FT for Service-1, which UE-B previously stored when UE-B was first invited to the group. At step  98 , a notification service is conducted to notify UE-B that UE-A  31  and UE-D are running Serivce-1. At step  99 , it is noted that the postcondition for this procedure is that UE-A, UE-B, and UE-D are running Service-1 in the group. 
         [0086]    Those skilled in the art will readily appreciate that the present invention may be implemented using either hardware, or software, or both, and further, software implementations may vary using different languages and data structures. 
         [0087]    The present invention may of course, be carried out in other specific ways than those herein set forth without departing from the essential characteristics of the invention. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive. All changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.