Published: Jul 29, 2020
Country - Austria
Country
Austria
Team - 20+ Experts
Team
20+ Experts
Industry - Telecom
Industry
Telecom
Time - 18 Months
Time
18 Months

Overview

A billing system is a core element of a Business Support System (BSS) of any telecommunications provider intended for processing, calculating a quote and invoicing of every customer of a Telecom operator’s network. And the rating is a component of a billing system that is responsible for charging events and calls in this network.

The system uses multiple parameters, including event type, start time, duration, event initiator, starting and ending points. The charging procedure consists of several processes: reading input data, verification and acquisition, matching with a subscriber base, rating the event, calculating a quote, saving the output data and loading the calculated result in the database.

Telecom operators offer subscribers differentiated tariffs, including non-chargeable time for calls, or free-of-charge calls to specific numbers, or a certain number of free initial seconds of a call, etc. and a charging system applies all those tariff configurations for calculations. In fixed-line networks of incumbent telecommunication providers, which have to follow strict regulatory limitations and support many legacy tariffs, these configurations can be very complex. Dozens of parameters can characterize each call and event (Call Detail Record or CDR), and dozens of millions of such events have to be processed and charged during a single day, besides other operational activities.


Assigned experts

  • 2 Architects
  • 8 C/C++ developers
  • 10 QA engeneers
  • 3 BAs

Timespan

  • 18 months of implementation
  • lifetime change management
  • maintenance and support

Industry field

  • OSS/BSS
  • Telecommunication charging and billing

Solution

A linear approach to computing events and processing every event one-by-one is not sufficient to provide enough performance to fit a charging cycle of processing an entire daily volume of network events into a single day, even on the most advanced hardware. Parallel computation and balancing of the load between different stages of the process are much more effective. That is why to improve the efficiency of computing power usage and boost performance, the charging system's calculation logic has been implemented using parallel / multithreaded algorithms. This approach allows upscaling the calculation speed almost linearly (depending on the configuration and composition of the input data).

According to the requirements, the expected speed of event processing can be calculated as follows: 80,000,000/10/60/60 = 2,222 CDRs/sec. This calculation means the system must process at least 2,222 events per second to handle the full scope of events within 10 hours. When implementing a single-threaded logic and direct processing with the database, the calculation speed of this configuration does not exceed 500 CDRs/sec, which is four-times less than required.

To speed up the operation, the events charging system logic was divided into three parts:

  • the logic for downloading reference data and tariff configurations from the database to local files,
  • the calculation logic that reads events from files provided by network switches associates them to proper accounts, applies rate plan’s rules to these events according to the reference data and prepares resulting call records, charges and other data to be loaded back to the database,
  • the logic for loading charged events and other required data into the database.

We have used multisequencing and decreased the number of synchronizations to a minimum. Such an approach to the system implementation allows for using the full power of computing resources and minimizing delays in waiting for the necessary data from other modules. To boost the system performance even more, a modular architecture was used for the implementation of the computation logic. The benefit of a modular architecture is the ability to group computational modules and balance the operational load between these groups to ensure better performance and utilization of computing power. Additionally, a raw-level parallel database upload process was implemented, peaking at 10,000 CDR/sec together with related data of upload speed.


Business Support System (BSS)

Technology and Hardware


Java
.Net
Oracle

Achievements


As a result of utilizing highly optimized, specialized, multithreaded algorithms with a small number of synchronized sections for storing, searching and processing data, it was possible to achieve a total event processing and charging rate of more than 3,000 CDR/sec, which exceeds the required performance criteria. The initial requirements were 80M of events billed within 10h, and around 2,250 of events per second. The delivered system increases performance, shortens the testing and integration cycles and greatly reduces the time required for highly resource-consuming re-rating and bill simulation activities.

Optimization</br>

Optimization

Decreased the time of operation and processing the required 80M of events 26% quicker: 80,000,000/3,000/60/60=7,4 hour, leaving more room for other operations on production.
Growth</br>

Growth

Possessing growth potential and ensuring a reserve of computing power for further Telecom operator’s network scaling and development.
Performance</br>

Performance

Increased performance, processing a 35% more events within the same production system operational window: 3,000*60*60*10=108,000,000 CDR.