Abstract:
A charging method for group mode service relating to the group mode service in communication networks is disclosed, the method includes: sending, an initial accounting request to a charging system in response to receiving a service request for establishing a group session from a client, to enable the charging system account at an initial rate; and initiating an interim accounting request to the charging system to enable the charging system account at a rate corresponding to the current group scale in response to detecting that group scale is changed according to a preset threshold for the number of group users. The present invention also provides the corresponding application server and group mode service&#39;s underlying system. By using the present invention to charge the group mode service, the charging interaction between the application server and the charging system is substantially reduced, and the network system resource consumed is reduced.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 12/254,127, filed on Oct. 20, 2008, which is a continuation of International Patent Application No. PCT/CN2007/000680, filed on Mar. 2, 2007, which claims priority to Chinese Patent Application No. 200610075940.2, filed on Apr. 20, 2006, all of which are hereby incorporated by reference in their entireties. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates to group mode services in a communication network, and, in particular, to a method of accounting for a group mode service, corresponding application server and charging system, and system for realizing a group mode service. 
       BACKGROUND OF THE INVENTION 
       [0003]    Group mode services include various services of different types, such as Instant Message (IM), Presence, Push to Talk over Cellular (PoC) and the like. Group mode services have a common characteristic, that is, after a session initiator initiates a session, all users belonging to the same group may select to participate in the session, and users who have participated in the session may also select to exit the session. In other words, in a group mode service, the number of users participating in a session is variable. 
         [0004]    Taking a PoC service for example, it is a Push-to-talk service employing VoIP technology based on a mobile cellular public network. After a PoC user sets a group list, the user may have a point-to-point semi-duplex conversation with other PoC users or have a point-to-multipoint semi-duplex conversation with users in a group that is preset, by only pressing a dedicated key.  FIG. 1  shows a schematic diagram of point-to-multipoint communication in a PoC service. 
         [0005]    A PoC server plays in a PoC service a role of realizing application layer network functions, including controlling PoC function and participating PoC function. 
         [0006]      FIG. 2  is a structural diagram when a PoC Server in which controlling PoC function exists and a PoC Server in which participating PoC function exists belong to different networks. In a point-to-point PoC session and an Ad-hoc PoC session, a PoC Server that acts as an inviting party performs controlling PoC function; while in a PoC chat group and a Pre-arranged group session, a PoC Server that has group identification (ID) performs controlling PoC function. For point-to-multipoint PoC communication, if there are N participants in a PoC session, there will be N interacting paths for transmitting media and signaling when a PoC Server performs controlling PoC function. 
         [0007]    During accounting for a PoC service, accounting factors of a session service mainly include the following: 
         [0008]    PoC session type, such as Ad-hoc, Pre-arranged and Chat PoC; 
         [0009]    the number of participations in a group of the PoC session, or the number of recipients of a Talk Burst; 
         [0010]    service network ID; and 
         [0011]    applying time of the PoC Service, etc. 
         [0012]    At present, in accounting solutions of the prior art, for example, in an Ad-hoc accounting solution or a Pre-arranged accounting solution, accounting is performed on a session owner or a session participant. When accounting is performed on a session owner, it is usually started by a PoC Server in which controlling PoC function exists; whereas when accounting is performed on a session participant, it is usually started by a PoC Server in which participating PoC function exists. 
         [0013]    In the prior art, an accounting rate with respect to a session owner should be adjusted according to variation of the number of PoC participants; moreover, each time a PoC Server receives a SIP message (including an INVITE message and a BYE message), it triggers an ACcounting Request (ACR) to an charging system, and the charging system replies an ACcounting Answer (CCR) at the same time. In this way, when a lot of users participate in a session, a large amount of ACRs and CCRs should be delivered between the PoC Server and the charging system, and thereby consumption of system resources is very large. 
       SUMMARY OF THE INVENTION 
       [0014]    Embodiments of the invention provide a method of accounting for a group mode service, which can reduce accounting-related signaling transmitted between an application server and a charging system. 
         [0015]    The embodiments of the invention further provide an application server, a charging system, and a system for realizing a group mode service. 
         [0016]    A method of accounting for a group mode service includes the following steps: 
         [0017]    initiating, by a client, a service request for establishing a group session to an application server; sending, by the application server, an initial accounting request to a charging system; and performing, by the charging system, accounting at an initial accounting rate; and 
         [0018]    counting, by the application server, the number of online group users according to a received session joining/leaving request from a group user, determining that group scale is changed according to a preset variation threshold for the number of group users, and initiating an interim accounting request to the charging system; and performing, by the charging system, accounting at a rate corresponding to the current group scale. 
         [0019]    An application server includes a group mode service functional unit, and further includes: 
         [0020]    a group scale determining unit, adapted to determine the current group scale, according to the number of online users in a group; 
         [0021]    a group scale change determining unit, adapted to determine whether the group scale is changed; and 
         [0022]    an accounting requesting unit, adapted to send an initial accounting request to a charging system according to a service request for establishing a group session initiated by a client, and initiate an interim accounting request, which carries information on the number of online group users or group scale information, to the charging system after the group scale is changed. 
         [0023]    A charging system includes: 
         [0024]    an accounting request (ACR) receiving and resolving unit, adapted to receive an initial accounting request or interim accounting request initiated by an application server, and resolve information on the number of online group users or group scale information carried in the interim accounting request; 
         [0025]    a rate determining unit adapted to determine an initial rate according to the initial accounting request, and determine a corresponding accounting rate according to the resolved information on the number of online group users or group scale information; and 
         [0026]    a fee computing unit adapted to perform accounting at the determined initial rate or corresponding accounting rate. 
         [0027]    A system for realizing a group mode service includes an application server and a charging system, in which the application server is adapted to realize a group mode service, send an initial accounting request to the charging system according to a service request for establishing a group session initiated by a client, determine the current group scale according to the number of online group users, and initiate an interim accounting request, which carries information on the number of online group users or group scale information, to the charging system when it is determined that the group scale is changed; and 
         [0028]    the charging system is adapted to receive the initial accounting request or interim accounting request initiated by the group application server, resolve the information on the number of online group users or group scale information carried in the interim accounting request, determine an initial rate according to the initial accounting request, determine a corresponding accounting rate according to the resolved information on the number of online group users or group scale information, and perform accounting according to the determined initial rate or corresponding accounting rate. 
         [0029]    According to the embodiments of the invention, an application server counts the number of users in the current online session, determines the current group scale according to the counted result, and triggers accounting only when the group scale is changed, thereby greatly reducing accounting signaling interacted between the application server and the charging system, and decreasing occupation of network system resources. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0030]      FIG. 1  is a schematic diagram illustrating a point-to-multipoint communication in a PoC service; 
           [0031]      FIG. 2  is a structural diagram when a PoC Server in which controlling PoC function exists and a PoC Server in which participating PoC function exists belong to different networks; 
           [0032]      FIG. 3  is a flow chart of a method of accounting for a group-type service, according to an embodiment of the invention; 
           [0033]      FIG. 4  is a block diagram illustrating a process of accounting for a group-type service by taking a PoC service as an example, according to an embodiment of the invention; 
           [0034]      FIG. 5  is a flow chart illustrating accounting signaling of a group-type service by taking a PoC service as an example, according to an embodiment of the invention; 
           [0035]      FIGS. 6A-6F  are flow charts illustrating signaling when an application server initiates an accounting request in different states by taking a PoC service as an example, according to an embodiment of the invention; 
           [0036]      FIG. 7  is a schematic structural diagram of an application server, according to an embodiment of the invention; and 
           [0037]      FIG. 8  is a schematic structural diagram of a charging system, according to an embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0038]    Embodiment of the present invention provides a method of accounting for a group mode service, which is as follows: 
         [0039]    counting, by an application server, the number of users in the current online session after receiving a session joining or leaving request from a group user, detecting the current group scale according to the counted result, and determining whether the group scale is changed; and initiating an accounting request to a charging system if the group scale is changed; and performing, by the charging system, accounting at a rate corresponding to the number of users in the current online session or the current group scale after receiving the accounting request. 
         [0040]    Referring to  FIG. 3 , it is a flow chart showing steps of the method according to an embodiment of the present invention. In the process shown in  FIG. 3 , before entering a normal session, the process includes the following: a client sends a group mode service request to an application server for requesting to establish a multi-party group session; the application server sends an initial accounting request to a charging system; the charging system returns an answer, which carries a triggering variable for a variation threshold for the number of users, to the application server, wherein the triggering variable meets a triggering condition, i.e. it is determined that the group scale is changed, when variation of the number of group users exceeds the variation threshold for the number of users, so that an interim accounting request is needed to be initiated to the charging system. 
         [0041]    During the session, the application server monitors the triggering variable. Specifically, it includes the following steps. 
         [0042]    At Step S 10 , the application server waits for a group user to initiate a session starting request, a session joining request, or a session leaving request. 
         [0043]    At Step S 11 , after the application server receives the session starting request initiated by the group user, it determines that the current group scale is an initial scale, and initiates an initial accounting request to a charging system. Then, the process turns to Step S 17 . 
         [0044]    At Step S 12 , the application server receives the session joining request or session leaving request initiated by the group user. Then, the process proceeds to Step S 13 . 
         [0045]    At Step S 13 , the application server counts the number of users in the current online session. Then, the process proceeds to Step S 14 . 
         [0046]    At Step S 14 , the application server determines the current group scale according to the counted result; in other words, it determines whether the triggering condition on the variation threshold for the number of users is met. Specifically, the process is as follows. 
         [0047]    Corresponding relationship between group scales and ranges of the number of users delimited according to the variation threshold for the number of users is stored in advance in the application server. After the application server counts the number of group users in the current online session, it searches for the stored corresponding relationship and determines the current group scale. See the following Table 1. 
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Number Of Users 
                 Group Scale 
               
               
                   
                   
               
             
             
               
                   
                 0~5 
                 Scale1 
               
               
                   
                  6~15 
                 Scale2 
               
               
                   
                 16~40 
                 Scale3 
               
               
                   
                 &gt;40 
                 Scale4 
               
               
                   
                   
               
             
          
         
       
     
         [0048]    In the Table 1, the following three variation thresholds for the number of users are set: a first threshold “5,” a second threshold “15,” and a third threshold “40.” The number of users is divided into four ranges. 
         [0049]    In the Table 1, corresponding to the ranges of the number of users, there are totally four group scales, which are as follows: 
         [0050]    a first group scale corresponds to a group scale ID “Scale1;” 
         [0051]    a second group scale corresponds to a group scale ID “Scale2;” 
         [0052]    a third group scale corresponds to a group scale ID “Scale3;” and 
         [0053]    a fourth group scale corresponds to a group scale ID “Scale4.” 
         [0054]    If the number of actual online users in the current session is less than or equal to the first threshold, it is determined that the current group scale is the “first group scale.” 
         [0055]    If the number of actual online users in the current session is greater than the first threshold and less than or equal to the second threshold, it is determined that the current group scale is the “second group scale.” 
         [0056]    If the number of actual online users in the current session is greater than the second threshold and less than or equal to the third threshold, it is determined that the current group scale is the “third group scale.” 
         [0057]    If the number of actual online users in the current session is greater than the third threshold, it is determined that the current group scale is the “fourth group scale.” 
         [0058]    It is supposed that the number of users counted currently is 8, because the number of users of 8 is greater than the first threshold and less than the second threshold, it is determined according to Table 1 that the current group scale is the second scale “Scale2.” 
         [0059]    At Step S 15 , the application server further determines whether the group scale is changed; and if the group scale is not changed, the process turns to Step S 10 ; while when the group scale is changed, the process turns to Step S 16 . Specifically, the process is as follows. 
         [0060]    The application server determines whether the current group scale determined is the same as the latest group scale, and if they are the same, it is determined that the group scale is not changed; while if they are different, it is determined that the group scale is changed. 
         [0061]    For example, it is supposed that the latest group scale is the second scale “Scale2.” If there are users exiting the session from time to time and the number of online users counted currently is 5, then it can be seen from Table 1 that the group scale determined currently shall be the first scale “Scale1,” that is to say, at this point, the group scale has been changed. 
         [0062]    At Step S 16 , the application server initiates a new accounting request, i.e. an interim accounting request, to the charging system. Specifically: 
         [0063]    1) when the application server initiates an interim accounting request to the charging system, the request carries information on the number of users; or 
         [0064]    2) when the application server initiates an interim accounting request to the charging system, the request carries information on the current group scale determined. 
         [0065]    At Step S 17 , the charging system performs accounting at a corresponding rate. Specifically: 
         [0066]    if the charging system receives the initial accounting request, it performs accounting at the initial rate; 
         [0067]    a first table of corresponding relationship and a second table of corresponding relationship are stored in the charging system; 
         [0068]    corresponding relationship between the ranges of the number of users and the accounting rates is stored in first table of corresponding relationship; 
         [0069]    corresponding relationship between the group scales and the accounting rates is stored in the second table of corresponding relationship; 
         [0070]    after the charging system receives the interim accounting request carrying the information on the number of users, it searches the first table of corresponding relationship, determines the corresponding accounting rate by matching and performs accounting at the matched accounting rate; and 
         [0071]    after the charging system receives the interim accounting request carrying the group scale information, it searches the second table of corresponding relationship, determines the corresponding accounting rate by matching, and performs accounting at the matched accounting rate. 
         [0072]    The above processing will be repeated until the current session ends. 
         [0073]    Accounting mode that may be employed by the charging system includes online accounting mode or offline accounting mode. 
         [0074]    When the method of accounting according to an embodiment of the present invention is applied to a PoC service, a corresponding block diagram for performing accounting is shown in  FIG. 4 . It is supposed that, N users in a PoC group and their corresponding participating PoC function server lie in a network A, M users and their corresponding participating PoC function Server lie in a network B, and a controlling function server for the group lies in a network X; media and signaling are transmitted between the controlling function server for the group and the participating PoC function Server in the network A via N interacting paths; and media and signaling are transmitted between the controlling function server for the group and the participating PoC function Server in the network B via M interacting paths. The controlling function server for the group is connected with an online charging system via an online accounting interface, or it is connected with an offline charging system via an offline accounting interface. 
         [0075]    the method of accounting according to an embodiment of the present invention is applied to PoC service, specific accounting signaling is shown in  FIG. 5  and includes: 
         [0076]    1) a PoC client sends a Session Initiated Protocol (SIP) message, which includes a SIP INVITE message or SIP BYE message, to a participating PoC function Server; 
         [0077]    2) the participating PoC function Server forwards the SIP INVITE message or SIP BYE message to a controlling PoC function Server; 
         [0078]    3) the controlling PoC function Server counts the number of users and determines whether group scale is changed; a specific determination method is shown by Step S 14  and Step S 15  in the flow chart shown in  FIG. 3 ; 
         [0079]    4) after the controlling PoC function Server determines that the group scale is changed, it initiates an accounting request (ACR), which carries information on the number of the current online users or information on the current group scale, to a charging system; 
         [0080]    5) after the charging system receives the accounting request, it performs accounting at a corresponding accounting rate according to the number of the current users or the group scale, and records the result of accounting; and 
         [0081]    6) the charging system returns an accounting answer (ACA) to the controlling PoC function Server. 
         [0082]    Specific situations in which the controlling PoC function Server initiates an accounting request to the charging system include the following six cases as shown in  FIGS. 6A-6F . 
         [0083]    When offline accounting mode is employed, the process in which the controlling PoC function Server triggers accounting is as follows. 
         [0084]    1) When the controlling PoC function Server receives a session starting request initiated by a user, it initiates an initial accounting request to the offline charging system, as shown in  FIG. 6A ; this accounting request message is StartRecord, which may carry information on the number of users of “1,” or carry identification information of the minimum group scale, such as “Scale1.” 
         [0085]    2) When a user joins or leaves the session, the controlling PoC function Server counts the number of the current users and determines whether the group scale is changed; when the group scale is changed, it initiates an interim accounting request to the offline charging system, as shown in  FIG. 6B ; this accounting request message is InterimRecord, which may carry information on the number of users, such as “8,” or carry identification information of the current group scale, such as “Scale2.” 
         [0086]    3) When the session initiator ends the current session, the controlling PoC function Server initiates an accounting termination request to the offline charging system, as shown in  FIG. 6C ; this accounting request message is TerminationRecord. 
         [0087]    When online accounting mode is employed, the process in which the controlling PoC function Server triggers accounting is as follows. 
         [0088]    4) When the controlling PoC function Server receives a session starting request initiated by a user, it initiates an initial accounting request to the online charging system, as shown in  FIG. 6D ; this accounting request message is InitialRequest, which may carry information on the number of users of “1,” or carry identification information of the minimum group scale, such as “Scale1” 
         [0089]    5) When a user joins or leaves the session, the controlling PoC function Server counts the number of the current users and determines whether the group scale is changed; when the group scale is changed, it initiates an accounting update request to the online charging system, as shown in  FIG. 6E ; this accounting request message is UpdateRequest, which may carry information on the number of users, such as “8,” or identification information of the current group scale, such as “Scale2.” 
         [0090]    6) When the session initiator ends the current session, the controlling PoC function Server initiates an accounting termination request to the online charging system, as shown in  FIG. 6F ; this accounting request message is TerminationRequest. 
         [0091]    According to the above method of the embodiments of the invention, the invention provides an embodiment of a corresponding application server, of which a specific structure is shown in a schematic diagram of  FIG. 7 . The application server includes a group mode service functional unit for realizing a group mode service, and it further includes: 
         [0092]    a group scale determining unit adapted to determine the current group scale according to the number of online users in a group; 
         [0093]    a group scale change determining unit adapted to determine whether the group scale is changed; and 
         [0094]    an accounting requesting unit adapted to send an initial accounting request to a charging system according to a service request for establishing a group session initiated by a client, and initiate an interim accounting request, which carries information on the number of online group users or group scale information, to the charging system after the group scale is changed. 
         [0095]    The group scale determining unit includes: 
         [0096]    a first module adapted to receive a session joining/leaving request from a group user; 
         [0097]    a second module adapted to compute the number of online group users in the current session; and 
         [0098]    a third module adapted to determine the current group scale according to the counted result. 
         [0099]    According to the embodiment of the above method of the invention, the invention provides an embodiment of a corresponding charging system, of which a specific structure is shown in  FIG. 8 . The charging system includes: 
         [0100]    an accounting request receiving and resolving unit adapted to receive an initial accounting request and an interim accounting request initiated by an application server, and 
         [0101]    resolve information on the number of online group users or group scale information carried in the interim accounting request; 
         [0102]    a rate determining unit adapted to determine an initial rate according to the initial accounting request, and determine a corresponding accounting rate according to the resolved information on the number of online group users or group scale information; and 
         [0103]    a fee computing unit adapted to perform accounting at the determined accounting rate. 
         [0104]    The above charging system further includes a rate storing unit adapted to store a first table of corresponding relationship and a second table of corresponding relationship. 
         [0105]    Corresponding relationship between range values of the number of users and accounting rates is stored in the first table of corresponding relationship. 
         [0106]    Corresponding relationship between group scales and accounting rates is stored in the second table of corresponding relationship. 
         [0107]    The rate determining unit searches the first table of corresponding relationship after it resolves the information on the number of online group users, or the rate determining unit searches the second table of corresponding relationship according to the resolved group scale information, then determines a corresponding accounting rate and notifies it to the fee computing unit; and the fee computing unit performs accounting at the determined accounting rate. 
         [0108]    Additionally, the invention further provides a system for realizing a group mode service, which includes the above application server and charging system. 
         [0109]    In conclusion, in the embodiments of the invention, an application server is used to compute the number of users in the current online session and determine the current group scale according to the counted result; accounting is triggered only when the group scale is changed. Therefore, accounting signaling interacted between the application server and the charging system may be reduced greatly, and occupation of network system resources may be decreased. 
         [0110]    In the embodiments of the invention, accounting is performed at a corresponding rate according to the number of users that participate a session currently. Thus, practical service accounting requirements can be met better, thereby better promoting service consumption. 
         [0111]    Various modifications and variations may be made by those skilled in the art without departing from the spirit and scope of the invention. Therefore, as long as such modifications and variations fall in within the scope of the claims of the invention or their equivalent, the invention is intended to cover these modifications and variations.