Abstract:
A method and system for determining rating data for services in a communication network, wherein an incoming charging request is received from a service element ( 105, 106 ), data such as a location number associated with a service or a subscriber ( 102 ) is accessed, and a tariff structure is traversed ( 307 ). It is determining whether there is a branching condition for the data and then if any list or record ( 201   a,b   ; 202   a,b;    203   a,b   ; 204   a,b ) is associated with a subscriber ( 201 ), account ( 203 ), subscriber group ( 202 ), or account group ( 204 ) contains the data ( 309, 310 ). A list indicator corresponding to the data is accessed ( 311 ). It is determined whether there is a branching condition for the list indicator ( 312 ), and if so the list indicator is searched in the tariff structure ( 313 ). Analyse of the tariff structure is performed based on the list indicator for finding a resulting tariff for return to the request ( 314 - 320 ).

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to a method and system for flexible rating differentiation of service usage in a communications system depending on data unique per subscriber, account or groups of subscribers and accounts.  
       DESCRIPTION OF THE PRIOR ART  
       [0002]     All commercial communications networks, for example mobile telephone communications networks including operators and service providers, have a charging system for charging customers utilising the network and different services.  
         [0003]     Today&#39;s mobile telephone communications networks such as GSM, public switched telecommunications networks (PSTN), ISDN, ATM, Internet etc. provide many different more or less sophisticated tele and data communications services for users and providers, regional as well as world-wide. The demands for increased benefit of the network operator, the service provider, and the service subscriber have brought forth the concept of Intelligent Network (IN). An Intelligent Network is a telecommunications concept that meets the market demand, from network operators and service providers, for advanced services within the existing telephony network. Examples of such services are Premium Rate calls, Mobile Virtual Private Network, Prepaid charging and Personal Number. Different network providers offer different sets of services including both charged services and services free of charge.  
         [0004]     Charging for usage of mobile telephone communications networks such as GSM, public switched telecommunications networks (PSTN), ISDN, ATM, Internet etc. and their associated services are achieved by means of a payment mechanism or service. Both postpaid and prepaid services are used. On one hand, the service subscriber pays for a service after it has been used, for example once a month, in postpaid service. Contrary, in a prepaid service, the service subscriber or customer pays before the usage of the service.  
         [0005]     In some charging systems there is a need for making flexible rating differentiation depending on data unique per subscriber, account or groups of subscribers and accounts.  
         [0006]     In prior art systems the charge rate is based on number lists. It is common for these systems that the lists are common for a certain group of subscribers or group of accounts. Examples of such lists are so called black lists, which includes numbers not allowed to call. Another example is always free call, which holds a numbers that are always free to call. One example for a number in such a list is a number to customer service.  
         [0007]     Since these lists tied to a group of subscribers or group of accounts were not adequate for mobile operators, when it came to providing subscriber unique charging differentiation, a more flexible solution was developed by the applicant.  
         [0008]     This prior art solution of flexible rating differentiation provided by the applicant as part of a prepaid service is a so called Family and Friends (FaF) list. This list is not tied to the whole group of subscribers but is instead associated with an individual account or subscriber. FaF is a feature that gives the prepaid operator the possibility to offer number list based tariff differentiation for all types of calls from or to a prepaid subscriber. An example is a lower tariff to a limited number of friends or family members.  
         [0009]     The Family and Friends uses lists designed for this feature only and the number type to check (called party number) is hard coded in the service logic. The FaF lists gives the operator the possibility to use FaF for single accounts and multi-user accounts. From the prepaid system point of view there is no difference between a single user account and a multi-user account relating to the use of the FAF feature.  
         [0010]     For a single user account the prepaid system uses the FaF number lists associated with the subscriber and/or the account to store the FaF numbers for the prepaid subscriber.  
         [0011]     For a multi-user account the number list for an account can be used as a master FaF number list for all prepaid subscribers connected to the account. Each subscriber connected to the account can also have an individual FaF number list.  
         [0012]     At call set-up for a single or multi-user account, the FaF number list connected to the subscriber is checked first. If the called party number is not found in the subscriber&#39;s FaF list and a FaF number list connected to the account exists, this number list for the account is then checked. If the called number is found the FaF indicator stored for that number in the list will be used. Thus, the check for a hit in the list is made before entering the rating structure. For each number in the list it is possible to store an indicator which is used as branching condition to be able to have different tariffs for different numbers in the list.  
         [0013]     A FaF number list stores number series or full numbers to any subscriber and a FaF indicator for every number or number series in the list. Further, a FaF indicator must always be set for a number or number series in the FaF number list. The FaF number lists are checked with priority. This means that the subscriber&#39;s FaF number list is checked first and the account FaF number list after this.  
         [0014]     The FaF indicator is used for charging purposes in the tariff structure. All indicators can have its own branching condition and corresponding tariff in the tariff structure.  
         [0015]     Charging for FaF takes place in the tariff when a FaF condition exists in the tariff. The condition will branch on the FaF indicator value. The FaF condition works together with the nodes and tariffs in the tariff tree.  
         [0016]     Thus, the FaF feature is a pre-processing step before the actual rating and not an integrated part of the latter. The output from this pre-processing is one, and only one, list indicator.  
         [0017]     In some charging systems it is desirable to make further flexible rating differentiation and to support new features based on subscriber/account unique data differentiation without having to upgrade the system. It is also desirable to be able to introduce new charging models within a short time frame.  
         [0018]     The rating structure or rating plan is the price list for services and is changeable by the operator. In prior art system the FaF list is checked as part of the charging or service logic before entering the rating plan. Thus, the FaF lists are defined for this feature only and the number type to check (called party number) is hard coded in the service/charging logic. Due to this it is not possible for a further operator-defined differentiation. Moreover, it is a problem to be able to support new features based on subscriber/account unique data differentiation without having to upgrade the system.  
       SUMMARY OF THE INVENTION  
       [0019]     It is an object of the present invention to provide an improved method for flexible rating differentiation of service usage in a communications system depending on data unique per subscriber, account or groups of subscribers and accounts.  
         [0020]     This object is achieved by a method for determining rating data for services in a communications network, wherein an incoming charging request is received from a service element, data associated with a service or a subscriber is accessed, and a tariff structure is analysed. The method is characterised by the steps of, if there is a condition in the tariff structure for said data, checking if at least a fraction of the data is included in any list or record associated with a subscriber, account, subscriber group, or account group, continuing to analyse the tariff structure based on the result if the checking for finding a resulting tariff for return to said request.  
         [0021]     A more specific object of the invention is to provide an improved data processing system and a computer program for working the method.  
         [0022]     An advantage of the present invention is that it is possible to store different kinds of numbers or other types of data that could be used for rating differentiation, like for example location numbers.  
         [0023]     It should be emphasized that the term “comprises/comprising” when used in this specification is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]     In order to explain the invention in more detail and the advantages and features of the invention, a preferred embodiment will be described in detail below, reference being made to the accompanying drawings, in which  
         [0025]      FIG. 1  is a schematic view of a part of a cellular mobile telephone network,  
         [0026]      FIG. 2  is a block diagram of a data structure  200  forming a part of the charging system for flexible rating differentiation according to the invention,  
         [0027]      FIG. 3  is a flowchart of the method for flexible rating differentiation according to the invention, and  
         [0028]      FIGS. 3A-3C  is flowcharts of the method for flexible rating differentiation according to the invention in further detail. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0029]     Referring to  FIG. 1 , there is shown an example of a communications network such as a cellular mobile telephone network or PLMN (public land mobile network) including a service providing network, such as an intelligent network (IN) facilitating service delivery for subscribers connected to the network. In this embodiment, the network also provides a real-time charging mechanism and a method for determining rating data for pre-paid services for subscribers in the communications network. The real-time charging mechanism is only one example of a method for charging for services in a communications network, but this mechanism is not necessary for the invention. This real time charging mechanism supports rating and charging of both prepaid and post paid services. An off-line mechanism or other method of charging is likewise possible within the scope of the invention.  
         [0030]     Cellular telephone service, such as GSM/UMTS, involves the subdivision of a service area into a number of smaller cells. Among other components and features, a cellular mobile communications system or PLMN comprises a gateway mobile services switching centre (GMSC)  101  and mobile services switching centre (MSC), which provides specific data about individual mobile phones  102  in the network and operates as an interface towards other networks such as other PLMNs, ISDN or a public switched network (PSTN), represented by a fixed exchange  103  and telephone set  104  in the communications system. The (G)MSC  101  comprises a data processing system, including a computer processor for processing data, and storage means connected to the computer processor for storing data on a storage medium.  
         [0031]     Cellular systems are using radio access based on both analogue and digital transmission. Digital cellular systems provide the best quality with the least amount of band-width. Different kinds of principles such as TDMA or CDMA technologies are used for digital cellular systems, such as GSM.  
         [0032]     The communications system also has an intelligent network IN with a signalling network, which performs message switching between network elements. In this embodiment of the invention, a specific type of signalling protocol, signalling system  7  (SS 7 ), is used as a carrier for the exchange of information messages and carries many types of information elements, which are useful for intelligent network services. However, SS 7  is only an example and the signalling protocol can be based on another protocol such as the Internet Protocol (IP), Camel Application Part (CAP) for GSM/UMTS, IN Application Part (INAP) for fixed networks—where CAP and INAP are transported on SS 7 /C 7 /SIGTRAN. Additionally, the intelligent network includes a service switching function  105 , a gsm service switching function (gsmSSF) in this embodiment. The SSF  105  is in GSM usually located in the (G)MSC  101 . The SSF  105  detects events indicating a call requiring IN and after this triggering, it suspends call processing and starts a series of transactions with a service control function  106 , a gsm service control function (gsmSCF) in this embodiment. Additionally or as an alternative, the communications system has a service or gateway GPRS support node  107 , including a gprs service switching function (gprsSSF), for communication with users of GPRS equipment  107 ′.  
         [0033]     The SCF  106  is a real-time service processing system that, based on a query from the SSF  105 , performs subscriber- or application-specific service logic, controlling the call set-up and call flow. A home location register (HLR)  108  stores the identity and user data of all the subscribers belonging to the PLMN. Further, the HLR  108  provides the (G)MSC  101  with the necessary subscriber data when a call is coming from a public switched network (PSTN)  103 , 104 , an ISDN network, the Internet etc. A visitors location register (VLR) of the (G)MSC  101  contains relevant data of all mobiles currently located or roaming within a serving (G)MSC  101 . The VLR has to support the (G)MSC  101  during call establishment when a call is coming from a mobile telephone  102 .  
         [0034]     A service data function (SDF)  109  or point is a database containing service data needed for the service, including for example tariff data, subscriber data, group data etc. In this embodiment, the SDF  109  or SCF  106  also handles rating and charging analysis.  
         [0035]     The disclosed embodiment of the communications system according to the invention also includes a TCP/IP network (Internet)  110 , a content server (CS)  111  and at least a network access server  112  for communication with computer terminals  113  and their users.  
         [0036]     Before a mobile telephone user can make a phone call or use other post or prepaid services provided by the network and service providers, content provider or value added service provider etc., hereafter called providers, he/she has to be registered as a “subscriber”.  
         [0037]     As mentioned above, the database of the service data function (SDF)  109  contains service data needed for services, including for example tariff data, subscriber data, group data etc in this embodiment.  
         [0038]     One embodiment of a data structure  200  forming a part of the charging system for flexible rating differentiation according to the invention is shown in  FIG. 2 . The data structure is stored and handled by the SDF  109  (and SCF  106 ) shown in  FIG. 2  and includes data and information for flexible rating differentiation of service usage in a communications system depending on data unique per subscriber, account or groups of subscribers and accounts.  
         [0039]     A subscriber is identified by a subscriber ID (SubID)  201 , for example MSISDN in GSM. The SubID  201  is associated with a subscriber group  202  and one or more accounts  203 . The account is in turn associated with an account group  203 .  
         [0040]     Depending on one or more parameters, such as the particular subscription of the subscriber or services accessible by the user, one or more lists  201   a - b ,  202   a - b    203   a - b , and  204   a - b , capable of storing any kind of number or any kind of information type like objects, strings or byte string etc, are created and associated with at least any of the objects: SubID  201 , subscriber group  202 , i.e group of subscribers, account  203 , or account group  204 , i.e group of accounts. Each object  201 - 204  in  FIG. 2  has two associated lists for the purpose of illustration, but in other alternative embodiments or configurations some of the objects have more than two associated lists and some of them have only one or even no associated list.  
         [0041]     The term list is used herein as a conceptual denomination but the actual implementation may vary. Normally, a simple table would be used but other data structures as linked lists, trees etc. could be used as well. With further reference to  FIG. 2 , a list  201   b  associated with the subscriber object is created with a ListId= 23  and a Description=HomeZone. The Description=HomeZone is added to provide the operator with information about the intended use of the list, but is only used as a description field which means that the list could be used for other purposes as well. The list is instantiated for the subscriber with SubId= 555  and filled with two entries, each consisting of a list item and a list indicator. In this example the list items are location numbers: [ 99866 ; 5 ] and [ 99867 ; 6 ]. However, in alternative embodiments the list items can be other kind of location data such as, cell identity, longitude/latitude position etc or an internet address such as an email address, ip-address, SIP address etc.  
         [0042]     Another subscriber, account, account group or subscriber group can create their own instance of the list  201   b  with the same ListID= 23 . Herein, own instance means a new object with its own content but being of the same type and use the same listID.  
         [0043]     A part of the overall rating or tariff structure  205  shown in  FIG. 2  includes a branching condition to check if the location number received in the rating request is part of the List  201   b  with the ListID= 23 . If the List-Indicator stored together with the number in the list is  1 ,  3  or  5 , a tariff of 2 units/min will be applied.  
         [0044]     The following pseudo code illustrates a part of the tariff structure  205 : 
        |- LocationNumber in list  23  
            |- ListIndicator  1 ,  3 ,  5  
                |- Tariff=2 units/min    
               
               
 
         [0048]     All objects can have their own instance and also own content of a list, but the identifier (ListID) of the list is the same for every object associated with an instance of that list. As an example, all subscribers&#39; list defining their respective HomeZone location numbers would be designated the listID  23 . Which number or type of information to check is part of the rating structure as a branching condition. One reason for this is that it is not possible to know in advance what to check against the list content. It is depending on the traffic case and other types of branching conditions if a check towards a list is to be performed. Thus, it is not possible to perform this until the tariff tree is traversed.  
         [0049]     Hence it is also possible to perform a check of different information towards the same list type e.g. Location Number or CalledPartyNumber.  
         [0050]     Moreover, if several different lists are stored for a subscriber it can be wasted time to go through all lists before entering the rating structure and before it is known if this traffic case has a branching on the list content.  
         [0051]     The method for flexible rating differentiation of service usage in a communications system depending on data unique per subscriber, account or groups of subscribers and accounts, is illustrated by the flowcharts in  FIG. 3  and  FIGS. 3A-3C .  
         [0052]     A subscriber  102  with a SubID: 555  makes a call from a cell with a location number  998661234  and based on a charging request from a service element the charging and rating function in the SDF  109  collects or accesses charging input parameters or data such as: service data, subscriber related data, session data, call data, system data etc, received as parameters from a service element for a service requested by a subscriber, in step  301 . One example of a requested service is a regular phone call from a pre-pay subscriber  102  in a PLMN. The subscriber  102  has an account  203  registered for one or more services. The service element is for example an SCF  106  via CAP or INAP, HLR  108  via MAP, web servers/application servers  111  via Diameter, SIP, open API via IP, i.e OSA/Parlay, XML web services via SOAP or any other server with an application requiring charging support, such as an e-commerce site movie/music server for streaming, a news site, WAP server or an SMSC/MMS-C, in alternative embodiments. The charging system receives charging input parameters such as an article, number of events, kind of event, service, local time, destination number, originating or terminating location, distance, QoS, number of time slots, or utilised capacity etc.  
         [0053]     In step  302  the method starts to find objects associated with the SubID and proceeds to the sub routine in  FIG. 3A . The subscriber and its references to the subscriber group  202  and its account  203  are located in the database of the SDF  109  in step  303 . The account group  204  is located via the account  203  associated with the subscriber  201  in step  304 .  
         [0054]     Before entering the rating structure a list handler is instantiated in the SDF  109  with references to the different objects: subscriber  201 , subscriber group  202 , account  203 , account group  204  and the List-Id that is stored for each object. The list handler is a software module in the system adapted to give fast access to the different objects for making the list lookup more efficient. The list handler is however not necessary for the operation of the method and system according to the invention.  
         [0055]     The next procedure or set of method steps, i.e the tariff determination, constitutes the main part of the method according to the invention. This part is entered through  FIG. 3B  step  306  and proceeds by traversing the tariff structure in step  307 . A decision is made whether there is a branching condition for the location number or not in step  308 . A branching condition contains what to check and which list to check against. In this example there is a branching condition to check the LocationNumber against ListID: 23  in step  309 . The used location number ( 998661234 ) is sent to the list handler to check if any object contains this location number in step  310 . The search starts going through the list content for the subscriber. When the specified branching parameter to check for, here location number, is found in the list a list indicator is returned to the tariff structure and can be used as a further branching condition. The list indicator is used to be able to have different tariffs for different items (e.g. numbers) in the list. Thus, when a match is found, the List indicator  5  is returned from the list handler and is accessed in step  311 , in this embodiment. If no match has been found on the subscriber  201 , and if the same list is instantiated on several objects the objects will be checked in a certain priority order, e.g. 1. subscriber  201 , 2. account  203 , 3. subscriber group  202 , and 4. account group  204 .  
         [0056]     The rating method proceeds with a check if there is a branch condition for a list indicator in step  312  and if so it proceeds to find the current list indicator  5  in the tariff structure in step  313 . The analysis of the tariff structure is continued under this condition in step  314 . The structure shown in  FIG. 2  results in a tariff of 2 units/min for the list indicator  5  in step  314 . The tariff is stored in step  316 . The method proceeds through the rest of the tariff structure until an exit criteria is found in step  317 .  
         [0057]     Again referring to  FIG. 3 , the rate is initiated in step  318 . Based on the received input parameters and the determined tariff, 2 units/min in this embodiment, the actual cost or charge of the used service is calculated in step  319 , which is illustrated by the procedure in  FIG. 3C .  
         [0058]     The calculated charge is finally returned to the requesting service element, i.e the SCF  106  in this embodiment but could also be for example a content server  111 .  
         [0059]     The operator controls main rating schemes and central tariff data stored in the database of the SDF  109 . The operator also keeps account data for subscribers. Additionally, the operator provides means for call control and, might contain authentication and authorisation functions of the end-user.  
         [0060]     The method of the present invention is preferably implemented in computer software executable preferably by a central or distributed data processing system forming part of the overall communication system. More specifically, the operator form a separate data processing system or is a subsystem of the overall communication system for communication with other devices, components or data processing system/s in the communications system of the network or networks. In one embodiment of the data processing system, i.e the SCF  106 , according to the invention it comprises a computer processor for processing data in the operator, and at least a storage connected to the computer processor for storing data, such as the database of the SDF  109 , on a storage medium. In this embodiment of the invention, the computer processor of the operator in the network is configured to work the steps of the method.  
         [0061]     Hence, it should be apparent that the present invention provides an improved method and system for use in an electronic communications system or network, comprising a rating and charging mechanism that provides an improved charging system for flexible rating differentiation of service usage in a communications system depending on data unique per subscriber, account or groups of subscribers and accounts, that fully satisfies the aims and advantages set forth above. Although the invention has been described in conjunction with specific embodiments thereof this invention is susceptible of embodiments in different forms, with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the invention to the specific embodiments illustrated.  
         [0062]     In an alternative embodiment of the method and system according to the invention, it will be possible to check for exact match of item or just part of the item (like number series or wild cards). The reason for this is that for example with Family and Friends numbers it should not be possible to store number series (e.g. to get discount for all numbers beginning with +46). But for example with location numbers it should be possible to check against number series. Exact match or wildcards are also possible to use when the lists contains strings or byte strings.  
         [0063]     This solution can for example be used to implement features like family and friends, and home zone based charging. In the latter case the solution is to store location numbers for the home area of a subscriber in a list tied to a subscriber. It would also be possible to create a group for a certain city, such as a “Stockholm Group” where all Stockholm subscribers has a certain discount when calling from Stockholm. In this case the List tied to the Subscriber Group contains the location number(s) for Stockholm. Another example is to differentiate charging for content provided by different content providers where the provider string is used as items in the list. In general it is interesting to be able to differ charges uniquely per subscriber/account based on things like friends/relatives email addresses, certain sent/received messages or any used services made possible by UMTS.  
         [0064]     Although the method is described in conjunction with a mobile telephone call in an intelligent/CAMEL network of a mobile communications system, such as GSM, the method is applicable on any communication session, both terminating and originating, and other communication services in other kind of networks. For example, the method and system according to the invention are applicable in other mobile telephone networks, public switched telecommunications networks (PSTN), ISDN, ATM, Internet etc., which provide many different more or less sophisticated tele and data communications services for users and providers.