This application is a 35 U.S.C. § 371 National Stage of International Patent Application No. PCT/SE2017/050771, filed Jul. 10, 2017, designating the United States.
The present invention generally relates to online charging systems and methods and, more particularly, to techniques for dealing with overload situations of such online charging systems.
In the 1990s, prepaid services emerged as a new value-added service in the telecommunications industry. Unlike more traditional contract services, prepaid services required the implementation of real-time charging to ensure that prepaid users had sufficient funds in their accounts to pay for the services they were requesting. Initial implementations of real-time charging used an intelligent network approach. This solution worked well for voice services, but fell short as a technique for tracking real-time charging associated with data services. Accordingly, this led to the implementation of specialized service-charging nodes in communication systems.
Generally speaking, online charging is a mechanism that directly interacts, e.g., in real-time, with an account and controls or monitors charges for a service usage. Online charging also typically includes a rating function which can be used as part of the information used to determine the cost of a service usage. Online charging is accessed by service elements in real-time before and during the time that a service is delivered to an end-user. Moreover, online charging can include checking whether credit is available, credit-reservation, and deduction of credit from the end-user's account when service is completed and refunding of reserved credit that is not used.
An example of an online charging system, including service-charging nodes, and its interactions with nodes in a communication system is illustrated in
After establishment of the charging session in step 106, the service node 100 will execute service delivery in step 108. Then, the service node 100 will forward interrogations to the online charging system 102 so as to report used quota or request new quotas for a service being delivered. On the basis of the interrogations the online charging system 102 will then execute the rating session in the step 110 to determine the charge for the service delivered by the service node 100 according to a rating logic.
The charging session can include, for example, parameters associated with a credit control request (CCR) as specified in the Diameter Credit Control Application specified in RFC 4006, and which is further described below with respect to
While the above-described example is provided in the context of a single service delivery to a single end-user device, those skilled in the art will appreciate that in an actual implementation the charging system 102 will be handling real-time charging for a much larger number of end-user devices simultaneously. This means that the online charging system 102 will be receiving a large number of interrogation signals and, at some point may become overloaded, i.e., reach a predetermined received signaling load which exceeds a predetermined threshold based on its system capabilities.
When the online charging system becomes overloaded, it cannot immediately process all of the interrogation signals that it receives and, instead, may choose to queue some of the interrogation signals in a buffer for later processing when its system resources permit. The action taken to queue an interrogation signal for later processing by an online charging system is referred to herein as “interrogation rejection”, “CCR rejection” or just “rejection”. As mentioned above, and as will be described in more detail below, interrogation signals include initial charging session setup interrogation signals, intermediate interrogation signals to indicate usage and/or requesting a new quota and final interrogation signals to close out charging sessions. When faced with an overload situation, conventional online charging systems rather simplistically apply rejection on only the initial charging session setup interrogations signals, i.e., not rejecting on the intermediate or final interrogation signals, since it is guaranteed that this type of interrogation signal has not yet consumed any network resource. Rejecting other requests than the initial interrogation signal has conventionally been considered hazardous since it is highly likely to reject reporting of network usage, consequently causing revenue leakage for the operator.
This conventional approach is problematic at least because the traffic patterns associated with telecommunication systems are changing and the relative amount of initial interrogation signals which can be rejected during overload is going down as a percentage of the total interrogation signal traffic, thereby rendering the conventional approach for handling overload less effective. This paradigm is illustrated in
In
Among other issues, this conventional overload handling policy leaves less headroom for gracefully rejecting Diameter interrogations. For voice services based on the exemplary statistics shown in
Another implicit consequence of using the conventional overload handling policy is that if an operator network has, for example, a 50/50 ratio of voice- and data charging signaling, it is much more likely that voice calls are being rejected than data services. This again is a consequence of the difference in CCR characteristics between the two different types of services. Rejecting more voice than data may or may not be the desired behavior, but from an end-user/subscriber perspective it is likely that a disrupted voice call is more bothersome than a temporary glitch in a data session.
Thus, there is a need to provide methods and systems that overcome the above-described drawbacks associated only rejecting initial interrogation signals when an online charging system is experiencing an overload condition.
Embodiments allow for an online charging service to selectively reject Charge Control Requests (CCRs) which it receives and which are associated with charging for the provision of telecommunication services when the online charging system is in an overload state.
According to an embodiment, there is a method for rejecting CCR-U (Credit Control Request-Update) interrogation messages associated with charging for telecommunication services by an Online Charging System (OCS) apparatus during a service overload period. The OCS evaluates received CCR-U messages to determine whether each CCR-U message contains any Multiple Services Credit Control (MSCC) information and then rejects CCR-U messages based on properties of the MSCC information.
According to an embodiment, there is an Online Charging System (OCS) for rejecting CCR-U (Credit Control Request-Update) interrogation messages associated with charging for telecommunication services during a service overload period. The system includes at least one processor configured to evaluate received CCR-U messages to determine whether each CCR-U message contains any Multiple Services Credit Control (MSCC) information and to transmit a signal indicating rejection for those CCR-U messages based on properties of the MSCC information.
According to an embodiment, there is a computer-readable storage medium containing a computer-readable code that when read by a computer causes the computer to perform a method for rejecting CCR-U (Credit Control Request-Update) interrogation messages associated with charging for telecommunication services. The method includes evaluating received CCR-U messages to determine whether each CCR-U message contains any Multiple Services Credit Control (MSCC) information and then rejecting CCR-U messages based on properties of the MSCC information.
According to an embodiment, there is an apparatus including a first module configured to evaluate received CCR-U messages to determine whether each CCR-U message contains any Multiple Services Credit Control (MSCC) information and a second module configured to reject CCR-U messages based on properties of the MSCC information.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate one or more embodiments and, together with the description, explain these embodiments. In the drawings:
The following description of the embodiments refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements. The following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims. The embodiments to be discussed next are not limited to the configurations described below, but may be extended to other arrangements as discussed later.
Reference throughout the specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, the appearance of the phrases “in one embodiment” or “in an embodiment” in various places throughout the specification is not necessarily all referring to the same embodiment. Further, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.
As described in the Background, the traffic pattern in operator networks has drastically changed the last few years, with data charging signaling becoming the most dominating charging signaling type. It is likely that this trend will accelerate as smartphones and other always-connected devices increase in numbers. This consequently causes the interrogation signaling characteristics from the core network towards the online charging system to change with the proportion of CCR-U signaling constantly increasing. Therefore, embodiments described below provide techniques for online charging systems to gracefully reject CCR-U interrogation signals during times when the online charging system is in overload. This feature will, among other things, make online charging systems operating in accordance with one or more of the below described embodiments more robust and resilient to failure. In addition to describing techniques for rejecting CCR-U interrogation signaling, embodiments also describe prioritization between different resource facing services (such as voice and data), in which either service may get priority over the other. This has the benefit of being able to more aggressively reject, e.g. data instead of voice, or even further fine-grained data-service prioritization such as prioritizing Whatsapp ahead of Netflix.
More specifically, four different techniques for determining when and/or which intermediate interrogation signals, e.g., CCR-U signals, that an online charging system should reject when it is experiencing an overload condition are described below. Briefly, they include (1) rejecting those CCR-U signals which do not contain any Multiple-Services-Credit-Control (MSCC) information elements, (2) rejecting those CCR-U which contain one or more MSCC information element(s), if none of the MSCC information element(s) are reporting usage, (3) rejecting those CCR-U signals which contain one or more MSCC information elements even if they report usage, and/or implement OCS-dictated prioritization between customer facing services, e.g. voice more important than data. These four different techniques can be used together in a particular online charging system, independently of one another in other online charging systems or in any subcombination desired. Each of these techniques will be described in more detail, after a brief description of a Diameter based online charging system (OSC) and Diameter CCR signaling associated with charging scenarios which is provided for context.
One way to implement an OSC with spending-control capability is to employ Diameter base protocol (RFC 3588) as well as the Diameter Credit Control Application (RFC 4006) to perform the interrogation signaling described above with respect to
This real-time spending-control concept can be applied irrespective of the customer facing service which is being, meaning that the signaling flows described herein are applicable to (but not restricted to) voice, SMS, data, etc. For instance, in a voice call from a calling party (sometimes referred to as the “A-party” in telecom jargon) the typical charging signaling flow would be that an CCR-I signal is initiated towards the OCS when the voice call is being connected to the called party (“B-party”). In that CCR-I interrogation, service units represented as X seconds are being reserved on A-number's account. Actual usage of those reserved units will be reported in a subsequent CCR-U or CCR-T interrogation signal. Whether the subsequent interrogation request is actually a CCR-U or CCR-T signal is dictated by the available funds in conjunction with duration of the call. The fewer funds or the longer the duration of the voice call, the likelier it is for a CCR-U interrogation signal to be initiated prior to the inevitable CCR-T interrogation signal associated with the end of the call.
When implementing online spending-control through Diameter CCR-I/U/T signalling, the requested units (resulting in upfront reservations) and used units (resulting in subsequent charging on the subscriber or account) are reported through Multiple-Services-Credit-Control (MSCC) Attribute Value Pairs (AVPs) within the actual CCR interrogation. An example of the format of a CCR signal is illustrated as
The CCR interrogation which encapsulates the MSCC AVP(s) is hereinafter referred to as either “CCR command session” or simply “command session”. These MSCC(s) information elements can be referred to as charging service sessions, for example in data charging one MSCC service session can be representing Facebook whereas another MSCC service session can be representing Spotify. Both may belong to the same command session, but can be different MSCC service sessions and thus rated/charged separately. This results in the following predicates regarding the different types of interrogation signals that can be transmitted between the gateway 300 and OSC 302 for charging purposes:
Additionally, since the MSCC is an optional AVP in all three CCR operation types (I/U/T) this means that in some cases neither reserved or used units are reported in a particular CCR interrogation signal. This is typically the case when there is no ongoing charging service session (even though the command session is ongoing), e.g. when an end-user is no longer using Facebook, which results in an authorization behavior on the OCS end, such as making sure the subscriber or account still exists.
The implementation of online spending-control through Diameter CCR-I/U/T and MSCCs signaling has robustness implications. During overload of a Diameter server, a portion of the interrogation requests must be rejected by sending some sort of a negative response signal, e.g., a Diameter-Out-Of-Space (result-code 4002) signal, a Diameter-Too-Busy (result-code 3004) signal or a Diameter-Unable-To-Comply (result-code 5012) signal in the Credit Control Answer (CCA) signal in order to indicate to the Diameter charging client that the Diameter server is overloaded and that processing of those rejected interrogation requests will be delayed. Alternatively, when interrogation signals are not rejected the responsive CCA signal can include a Diameter-Success (result code 2001). Rejected interrogation requests can be buffered for later processing when the OCS is less loaded. Based on the foregoing, it will be appreciated that it would not be recommended to reject interrogation requests arbitrarily, since each request type has its own characteristics. Thus the following embodiments provide techniques for selectively rejecting certain interrogation signals.
According to a first embodiment, an OCS 302 is provided with the capability to reject CCR-U interrogation requests which do not contain any MSCCs. Absence of MSCCs implies there is no ongoing online charging towards the end-user, and is a rather common case for always-connected data charging. This enables rejection on the CCR command level.
According to a second embodiment, an OCS 302 is provided with the capability to reject CCR-U interrogation requests which contain MSCC AVP(s), as long as none of those MSCC AVP(s) are reporting any service usage, i.e. all the MSC AVP(s) in a particular CCR-U interrogation request are only requesting new service units. Since MSCC(s) exist, rejection can only be made on individual MSCC(s), i.e., not at the CCR level.
The packet/circuit gateway 300 can take appropriate action when receiving the Diameter-Out-Of-Space signal 4002 on the MSCC-level, by e.g. either blocking the rejected service permanently or, after some time, reattempting the MSCC's service session setup.
According to a third embodiment, an OCS 302 is provided with the capability to process-then-reject CCR-U requests which contain MSCC AVP(s) even when those MSCC AVP(s) are reporting service usage.
According to a fourth embodiment, another advanced selection of interrogation rejections provides the OCS 302 with the capability to prioritize between different customer facing services. This technique is not restricted to any type of CCR, and can be applied regardless of whether the CCR is a CCR-Initial, CCR-Update or CCR-Terminate. When the OCS 302 experiences an overload condition, this embodiment enables an operator to automatically prioritize various charging contexts over others. One example of this behavior would be to give voice services higher priority than data services, meaning that the rejection rate for interrogation signals which are received during overload would be significantly higher for data than voice. This is an appealing feature since disrupted voice calls are likely significantly more disturbing too end users (causing more badwill for the operator) than having a temporary glitch while using a data service would be. This technique can be used in a further fine-grained fashion than simply prioritizing voice relative to data, but can be expanded to a point where different services within a broader category, e.g., data services, can have different priorities during overload. For instance, it might be appealing for operators to let end users utilize Whatsapp with a higher priority than Netflix, i.e., interrogation signals received by an overloaded OCS 302 associated with an end user's usage of Netflix might be rejected more frequently than those associated with an end user's usage of Whatsapp.
In the example shown in
The embodiments described herein enable OCSs to be robust and resilient to failure, even during overload and regardless of networks' traffic patterns. This is today particularly important since the characteristics of traffic patterns in telecommunication systems have drastically changed. While described thus far in terms of systems and signaling flows, embodiments can also be expressed as methods, examples of which are provided in the flow diagrams of
Embodiments described above can be implemented in devices or nodes, e.g., a Diameter server. An example of such a node which can perform the functions described in the various embodiments is shown in
As also will be appreciated by one skilled in the art, the embodiments or portions of the embodiments may take the form of an entirely hardware embodiment or an embodiment combining hardware and software aspects. Further, portions of the embodiments may take the form of a computer program product stored on a computer-readable storage medium having computer-readable instructions embodied in the medium. Any suitable computer-readable medium may be utilized, including hard disks, CD-ROMs (an example of which is illustrated as CD-ROM 1200 in
Although the features and elements of the present embodiments are described in the embodiments, in particular combinations, each feature or element can be used alone without the other features and elements of the embodiments or in various combinations with or without other features and elements disclosed herein. The methods or flowcharts provided in the present application may be implemented in a computer program, software or firmware tangibly embodied in a computer-readable storage medium for execution by a specifically programmed computer or processor.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/SE2017/050771 | 7/10/2017 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2019/013677 | 1/17/2019 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
9479917 | Gota | Oct 2016 | B1 |
9699038 | Larsson et al. | Jul 2017 | B2 |
20060114932 | Cai | Jun 2006 | A1 |
20110003579 | Cai | Jan 2011 | A1 |
20120023246 | Castro Castro | Jan 2012 | A1 |
20120072319 | Karlsson | Mar 2012 | A1 |
20120123914 | Sharma | May 2012 | A1 |
20120149325 | Titus | Jun 2012 | A1 |
20140355428 | Smith et al. | Dec 2014 | A1 |
20150049605 | Mann | Feb 2015 | A1 |
20150105045 | Rolfe | Apr 2015 | A1 |
20160164752 | Larsson | Jun 2016 | A1 |
20160295025 | Huggett | Oct 2016 | A1 |
20170105241 | Nien | Apr 2017 | A1 |
20180124253 | Xu | May 2018 | A1 |
20180309584 | Chai | Oct 2018 | A1 |
20180359655 | Zevallos | Dec 2018 | A1 |
20210152697 | Kesson | May 2021 | A1 |
Number | Date | Country |
---|---|---|
1805442 | Jul 2006 | CN |
102 137 379 | Jul 2011 | CN |
102870441 | Jan 2013 | CN |
102137379 | Dec 2014 | CN |
105493441 | Apr 2016 | CN |
2009108188 | Sep 2009 | WO |
2016150508 | Sep 2016 | WO |
2017092819 | Jun 2017 | WO |
Entry |
---|
International Search Report and Written Opinion dated Apr. 11, 2018 issued in International Application No. PCT/SE2017/050771. (10 pages). |
Number | Date | Country | |
---|---|---|---|
20210152379 A1 | May 2021 | US |