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.

people_alt

Assigned experts

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

people_alt

Assigned experts

  • 2 Architects
  • 5 C/C++ developers
  • 6 QA engeneers
  • 2 BAs

timer

Timespan

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

timer

Timepan

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

work

Industry field

  • OSS/BSS
  • Telecommunication charging and billing

work

Industry field

  • 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.

A linear approach to computing events and processing every event one-by-one slows the speed of operation significantly. Concurrent computation is much more effective. That is why to improve the efficiency of using computing power, the calculation logic for a Telecom rating system is written using parallel / multithreaded algorithms .

Business Support System (BSS)

The 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. The calculation means the system must process at least 2,222 events (CDR, Call Detail Records) per second to handle the full scope of events within 10 hours.

To speed up the operation, the event service was divided into three parts:

  • the logic for downloading reference data from the database to local files (ProxyRefresh),
  • the calculation logic that reads events from files (Rating) and
  • the logic for loading billed data into the database (Loading).

When implementing a single-threaded logic and direct work with the database, the calculation speed of this configuration does not exceed 500 CDRs/sec, which is four-times less than required. We have used multisequencing and decreased the number of synchronizations to a minimum. Such an approach to the development allows using the full power of computing resources and minimizing time losses on waiting for the necessary data from other modules. To boost system performance, 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.

Hardware

  • Rating Unix server: 6 CPU + 30GB RAM
  • Oracle DB hosted standalone.

Technology Stack

  • Java
  • .Net
  • Oracle DB

Achievement

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.

timeline

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.

trending_up

Growth

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

speed

Performance

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

trending_up

Growth

Possessing growth potential and ensured a reserve of computing power for further Telecom operator’s network scaling and development.

timeline

Optimization

Decreased the time of operation and processed the required number of events 80 M 26% quicker: 108,000,000/3,000/60/60=7,4 hour;

speed

Perfomance

Increased performance and processed a 35% bigger number of events: 3,000*60*60*10=108,000,000 CDR;

How System Integration Can Help a Telecom Operator With Business Development? How System Integration Can Help a Telecom Operator With Business Development?

How System Integration Can Help a Telecom Operator With Business Development?

We implemented system integration, delivered software and middleware to connect a billing system with legacy modules and helped a telecom operator expand in a new market.
Read More keyboard_arrow_right
How to Replace Multiple Legacy Software With a Telecommunications Billing System? How to Replace Multiple Legacy Software With a Telecommunications Billing System?

How to Replace Multiple Legacy Software With a Telecommunications Billing System?

Implementing a telecommunications billing system is not only a way to automate business processes, but it also is the start of the digital transformation of a whole business.
Read More keyboard_arrow_right