Telenor Resource Authorization Challenge Solved with the Neo4j Graph Database

The Challenge

Behind Telenor’s online self-service management portal, you find the middleware responsible for managing customer organizational structures, agreements, subscriptions, and user access to their business mobile subscriptions.

The middleware is backed by Sybase, with queries implemented as stored procedures. Because mobile subscriptions have been increasing – resulting in large customer portfolios – and because users expect near real-time timeliness and real-time response times from online systems, the existing resource authorization module written in SQL did not longer prove to be performing well enough.

Resource authorization would take as much as 20 minutes for the largest customers, and needed to be pre-calculated and cached each night, something also resulting in stale data.

Sebastian Verheughe, architect and developer of the Telenor Mobile Middleware Services, says, “As a premium Telco provider in Norway, we need a reliable system to cater to our large user base. The Neo4j database delivers high performance services for our value chain.”

The solution covers both corporate and residential customers, their corporate structure, the subscriptions containing the phone number, price plan and owner/payer/user of the subscriptions, billing accounts, and any corporate or residential agreements providing discounts for all agreement members.

The Solution

Modeling the resource graph in Neo4j was quite natural, since the domain being modeled is inherently a graph. Neo4j provided fast and secure access and answers to important questions like:

  • Which subscriptions can a user access, does the user have access to the given resource?
  • Which agreements is a customer party to? The speed and accuracy of these operations is quite critical, because system users are not able to access data until authorization calculation is performed.

“With complex dependencies between accounts, products and companies, Neo4j’s high performance engine provides flexibility of data representation along with features that go beyond traditional relational databases,” says Sebastian.

Download Case Study