[go: up one dir, main page]

WO2025149166A1 - Optimization of online request processing - Google Patents

Optimization of online request processing

Info

Publication number
WO2025149166A1
WO2025149166A1 PCT/EP2024/050652 EP2024050652W WO2025149166A1 WO 2025149166 A1 WO2025149166 A1 WO 2025149166A1 EP 2024050652 W EP2024050652 W EP 2024050652W WO 2025149166 A1 WO2025149166 A1 WO 2025149166A1
Authority
WO
WIPO (PCT)
Prior art keywords
aggregated data
data view
user group
datasets
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/EP2024/050652
Other languages
French (fr)
Inventor
Hemant GOYAL
Sanjeev Sharma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority to PCT/EP2024/050652 priority Critical patent/WO2025149166A1/en
Publication of WO2025149166A1 publication Critical patent/WO2025149166A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/41Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/44Augmented, consolidated or itemized billing statement or bill presentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/64On-line charging system [OCS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/765Linked or grouped accounts, e.g. of users or devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 

Definitions

  • Embodiments of the present disclosure generally relate to the field of telecommunication and in particular, to optimization of online request processing.
  • Communication networks are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, and broadcasts.
  • Data processing systems also referred to as business support systems (BSSs)
  • BSSs business support systems
  • Telecommunication BSS consists of many systems which participate in telecommunication traffic flow (e.g., voice calls, data usage etc.) and serve certain functionalities in the flow.
  • OCS Online Charging System
  • monetary balances e.g., available credit or pre-paid amount
  • non-monetary balances e.g., available quota of minutes, bytes etc.
  • OCS-based charging mechanisms the use of network resources associated with a user starting or continuing usage of a communication service provided via a communication network require real time credit authorization, to avoid allowing usage of network resources beyond that permitted by the available credit.
  • OCS should respond to network elements within a defined time range so that the network elements can allow the resource consumption. Otherwise, there could be time-out which could lead to customer dissatisfaction as well as revenue loss. Delay in authorizing network requests causes high latency and thus has negative impact on the customer experience.
  • URLLC ultra reliable low latency
  • customers and/or partners of telecommunication operators may have complex structure.
  • One such example can be a corporate customer with hierarchical structure.
  • the corporate customer may have various departments/business units/groups under it.
  • a department/business unit/group may have i further sub-department/ sub-business unit/ sub-group and so on.
  • Employees of the company are users who use the telecommunication services.
  • an apparatus comprises at least one processor; and at least one memory coupled to the at least one processor, the at least one memory comprising instructions that when executed by the at least one processor implement a method comprising: receiving a request for a user in a first user group in a communication network; determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and processing the request based at least in part on the retrieved first aggregated data view.
  • a computer readable medium has instructions stored thereon, the instructions when executed by at least one processor causing the at least one processor to perform the method according to any of the embodiments of the first aspect.
  • an apparatus comprises means for receiving a request for a user in a first user group in a communication network; means for determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; means for, in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and means for processing the request based at least in part on the retrieved first aggregated data view.
  • FIG. 2 illustrates an example of a hierarchical customer company and associated datasets
  • FIG. 7 illustrates an example of distributed storage of aggregated data views in accordance with some embodiments of the present disclosure
  • FIG. 11 illustrates a flowchart of a computer-implemented method in accordance with some embodiments of the present disclosure.
  • a configuration and provisioning system 130 is configured to manage data required for processing the requests, such as configuration data (e.g., commercial offerings) and customer provisioning data (e.g., subscription).
  • the configuration and provisioning system 130 may maintain product catalog 132, customer/partner management data for the communication network 110.
  • the managed data, such as original provisioning and configuration data 142 may be stored in a data store 140.
  • the data processing system 120 can access to the data store 140 for the stored data when processing the requests.
  • OCS In order to process a request for an employee who is under the subdepartment “SubDept 1”, OCS will have to read all applicable subscriptions (at the subdepartment level, at the department level and at the company level) and corresponding commercial offerings by traversing the hierarchy.
  • Another method offers explicit provisioning, to provision all relevant data which is applicable for a user at the user level. As in the above example, all applicable subscriptions will be provisioned for each and every employee. OCS will get all relevant data to process a request at the user level and subsequent multiple data reads would not be avoided. This approach also has many limitations as set forth below.
  • Telecommunication traffics are getting increased day-by-day, and the same time expectations are to do online rating with low latency.
  • hardware footprint of OCS is getting increased. More hardware resources (e.g., computation power, memory, etc.) are needed to meet the expectations. High hardware footprint not only increases ownership and maintenance costs for the telecommunication operators, but also Carbon emission footprint by consuming more electricity.
  • telecommunication industry is looking forward for the cloud deployment of data processing applications rather than in-house deployment.
  • a cloud provider may have charges based on the number of data reads, volume of data read, hardware resources (e.g., computation power, memory etc.), data storage and the like. Current approaches for handling telecommunication traffic in the associated BSS do not address these factors which have significant impact on the cost for cloud deployment.
  • an improved solution for optimizing latency of online requests in a data processing system associated with a communication network proposes to pre-process various data, such as customer specific data, configurations, commercial offerings etc., which are needed in processing the requests, such as requests for online rating.
  • the pre-processing can create specific aggregated data views. These aggregated data views will be utilized for requests handling, which in turn, will reduce data processing costs and therefore latency will be reduced.
  • the pre-processing to create an aggregated data view may involve multiple activities like merging, filtering, sorting, transformation etc.
  • FIG. 3 illustrates a schematic diagram of an example environment 300 in accordance with some embodiments of the present disclosure.
  • a data pre-processor 350 is added in the environment 300 to pre-process data and create an aggregated data view(s) 315.
  • An aggregated data view 315 may be persisted in an application local memory of the data processing system 120, in the data store 140, or in both.
  • the data preprocessor 350 may be part of any existing module, such as in the data processing system 120, or in the configuration and provisioning system 130.
  • An aggregated data view 315 is created for a user group in a communication network.
  • the aggregated data view 315 is created and stored based on one or more pre-processing operation on a plurality of datasets used in processing requests for the user group.
  • the data processing system 120 can retrieve the aggregated data view to process requests for users in the corresponding user group.
  • a first plurality of data subsets may be selected from the plurality of datasets based on one or more criteria.
  • the selected first plurality of data subsets are then preprocessed to create a first aggregated data view for the first user group.
  • One or more other aggregated data views may be created in a similar way for one or more other user groups.
  • an aggregated data view 315 is created in such a way that the aggregated data view 315 can reduce data read and processing during the request processing.
  • a first plurality of data subsets may be selected from the plurality of datasets based on a criterion of reducing data read and processing on the first aggregated data view as compared with data read and processing on the plurality of datasets.
  • Relevant data may be selected and structured in an optimal way in the aggregated data view so that the processing flows volume of data read and processing can be minimized as much as possible.
  • an aggregated data view 315 is created in such a way that the aggregated data view 315 includes data that are frequently required in processing requests for a corresponding user group.
  • a first plurality of data subsets may be selected from the plurality of datasets based on usage frequencies of respective parts of the plurality of datasets in processing requests for the first user group. The datasets with relatively higher usage frequencies may more likely be selected for creating the first aggregated data view for the first user group.
  • One such example can be pricing rules applicable for a customer which is changed less frequently, but on the other hand is used in all telecommunication requests to rate the consumption for that customer. However, if there is a change in the pricing rules, it must be possible to update aggregated data view immediate to use latest applicable rates.
  • a second plurality of data subsets may be selected from the plurality of datasets based on a second data requirement in the second processing flow, and a second preprocessing operation is then applied on the second plurality of data subsets to create the second aggregated data view. For example, in an aggregated data view for the online rating flow, informative fields like name and description can be omitted, while for an aggregated data view for the BSS invoicing flow these fields can be included.
  • the number of aggregated data views may be limited so that there should not be significant increase in storage cost.
  • the limited number of aggregated data views will allow persisting or cache them in fast access memory area such as an application memory.
  • the number of aggregated data views may be less than the number of individual users in the communication network.
  • an aggregated data view 405 is created for a user group of employees 201 under the subdepartment “Sub Deptl”.
  • the aggregated data views 405 is created for an online rating processing flow and thus may contain only rating relevant information. Name and description, which are not needed for rating, are omited in the aggregated data view 405.
  • the aggregated data view 405 considers all applicable subscriptions and corresponding commercial offerings and includes pre-processed data that is applicable for the online rating.
  • the aggregated data view 405 may contain data for a domestic voice service, which includes negotiated pricing rules that are taken from the common subscription 210 at the company level and service usage rules that are taken from the corresponding commercial offerings 212.
  • the plurality of datasets from which an aggregated data view is created are specific to a first user group and at least one second user group at different hierarchical levels of the user hierarchy, respectively, such as the common subscriptions 210, 220, 230 in FIG. 3, and the commercial offerings 212, 214, 222, and 224.
  • the first user group for which an aggregated data view is created may be a child group of the at least one second user group.
  • the user groups for which the aggregated data views are created may be the groups at the lowest hierarchical levels in the user hierarchy.
  • the data processing may have to read multiple applicable subscriptions by traversing the hierarchy which may have impact on latency due to the number of reads and processing needed. Such traversing can be avoided and the latency can be optimized by creating data aggregated views for such user groups.
  • telecommunication operators have various pre-defined commercial bundled offerings which offers multiple telecommunication services like voice, text, data etc. together with pre-decided service usages and pricing rules. If allowed, a bundled commercial offering can be personalized for an individual. However, a sizable number of individual customers opt for a commercial bundled offering without any personalization.
  • FIG. 8 illustrates an example 800 of aggregated data views built for individual users in accordance with some embodiments of the present disclosure.
  • an offering “Commercial Bundled Offering 1” 810 is illustrated.
  • the offering has two variations “Premium” and “Basic” which have differences in service usage and pricing rules. It is allowed to customize the offering for individual users.
  • five retail users 801, 802, 803, 804, and 805 are depicted who are not linked to each other.
  • the five retail users each have individual subscriptions 811, 812, 813, 814, and 815.
  • “User 1” and “User 2” opted for “Premium” variation while “User 3” and “User 4” for “Basic”.
  • the aggregated data view “Aggregated data view 1” 820 can be used, and there is no need to read individual subscription information and corresponding commercial offering.
  • the aggregated data view “Aggregated data view 2” 822 can be utilized.
  • individual subscription information will have to be read. In this approach, a sizable number of requests can be processed by using the aggregated data views and if needed for few requests individual subscriptions can be read.
  • FIG. 9 illustrates a flowchart of a process 900 for request processing in accordance with some embodiments of the present disclosure.
  • the process 900 may be implemented at the data processing system 120, e.g., the BSS or OCS.
  • the data processing system 120 receives a request for a user in a user group.
  • the data processing system 120 determines whether there is an aggregated data view available for the user group.
  • the aggregated data views may be constructed by processing various data needed in processing requests, such as customer specific data, configurations, commercial offerings etc., which are needed in the processing flows of the data processing system 120, such as online rating, invoicing.
  • duplicates of the aggregated data view are stored in a plurality of data centers, as in the examples of FIGS.6 and 7.
  • the data processing system 120 may determine where the request is received, and transmit a read request to a data center located at a geographical location where the request is received.
  • the distributed storage can reduce or eliminate cross data center reads for the aggregated data views.
  • the first user group may be associated with the first aggregated data view specific for a first processing flow, and a second aggregated data view specific for a second processing flow.
  • retrieving the first aggregated data view may comprise: in accordance with a determination that the first aggregated data view and the second aggregated data view are both available for the first user group, determining that the request is associated with the first processing flow; and retrieving the first aggregated data view specific for the first processing flow.
  • the first aggregated data view may be created or updated in response to one of the following trigger events: provisioning of the first user group, provisioning of a new subscription to a user group in the communication network, a change in subscription data of a user group in the communication network, a change in system configuration related to the first user group, expiry of a subscription to a user group in the communication network, addition or removal of a user in the communication network, and creation of a data center for the communication network.
  • the method 1100 may further comprise: in accordance with a detection that an update is to be applied on a part of a first dataset among the plurality of datasets, determining that the part of dataset is comprised in the first aggregated data view; in accordance with a determination that the part of the first dataset is comprised in the first aggregated data view, applying the update to the first aggregated data view; and in accordance with a determination that the part of the first dataset is excluded from the first aggregated data view, applying no update to the first aggregated data view.
  • the first aggregated data view may be stored in a data center with the plurality of datasets.
  • retrieving the first aggregated data view may comprise: transmitting, to the data center storing the first aggregated data view, a read request for the first aggregated data view; and receiving, from the data center, the first aggregated data view as a response to the read request.
  • duplicates of the first aggregated data view may be stored in a first data center at a first geographical location and a second data center at a second geographical location.
  • retrieving the first aggregated data view may comprise: in accordance with a determination that the request is received in the first geographical location, retrieving the first aggregated data view from the first data center.
  • a number of aggregated data views may be created and stored in a data center for the plurality of datasets, the number of aggregated data views being less than or equal to an upper limit for the plurality of datasets. In some embodiments, the number of aggregated data views may be less than the number of individual users in the communication network.
  • the apparatus comprises means for receiving a request for a user in a first user group in a communication network; means for determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; means for, in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and means for processing the request based at least in part on the retrieved first aggregated data view.
  • the first user group is associated with the first aggregated data view specific for a first processing flow, and a second aggregated data view specific for a second processing flow.
  • the means for retrieving the first aggregated data view comprises: means for, in accordance with a determination that the first aggregated data view and the second aggregated data view are both available for the first user group, determining that the request is associated with the first processing flow; and retrieving the first aggregated data view specific for the first processing flow.
  • the apparatus comprises means for creating the first aggregated data view by: selecting, based on a first data requirement in the first processing flow, a first plurality of data subsets from the plurality of datasets, and applying a first pre-processing operation on the first plurality of data subsets.
  • the apparatus comprises means for creating the second aggregated data view by: selecting, based on a second data requirement in the second processing flow, a second plurality of data subsets from the plurality of datasets, and applying a second pre-processing operation on the second plurality of data subsets.
  • the apparatus comprises means for creating the first aggregated data view in response to one of the following trigger events: provisioning of the first user group, provisioning of a new subscription to a user group in the communication network, a change in subscription data of a user group in the communication network, a change in system configuration related to the first user group, expiry of a subscription to a user group in the communication network, addition or removal of a user in the communication network, and creation of a data center for the communication network.
  • the apparatus further comprises: means for, in accordance with a detection that an update is to be applied on a part of a first dataset among the plurality of datasets, determining that the part of dataset is comprised in the first aggregated data view; means for, in accordance with a determination that the part of the first dataset is comprised in the first aggregated data view, applying the update to the first aggregated data view; and means for, in accordance with a determination that the part of the first dataset is excluded from the first aggregated data view, applying no update to the first aggregated data view.
  • the first aggregated data view is stored in a data center with the plurality of datasets.
  • the means for retrieving the first aggregated data view comprises: means for transmitting, to the data center storing the first aggregated data view, a read request for the first aggregated data view; and means for receiving, from the data center, the first aggregated data view as a response to the read request.
  • duplicates of the first aggregated data view are stored in a first data center at a first geographical location and a second data center at a second geographical location.
  • the means for retrieving the first aggregated data view comprises: means for, in accordance with a determination that the request is received in the first geographical location, retrieving the first aggregated data view from the first data center.
  • a number of aggregated data views are created and stored in a data center for the plurality of datasets, the number of aggregated data views being less than or equal to an upper limit for the plurality of datasets. In some embodiments, the number of aggregated data views is less than the number of individual users in the communication network.
  • the apparatus further comprises means for performing other operations in some example embodiments of the method 1100.
  • the means comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the performance of the apparatus.
  • a computer readable storage medium having instructions stored thereon is provided.
  • the instructions when executed by at least one processor can cause the at least one processor to carry out the functionality in accordance with any one of the embodiments described herein.
  • the computer readable medium may be a non-transitory computer readable storage medium.
  • a computer readable storage medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • computing devices described herein may include the illustrated combination of hardware components
  • computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components.
  • a communication interface may be configured to include any of the components described herein, and/or the functionality of the components may be partitioned between the processing circuitry and the communication interface.
  • non- computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
  • processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium.
  • some or all of the functionalities may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner.
  • the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and/or by end users and a wireless network generally.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Embodiments of the present disclosure provide a solution for optimization of online request processing. A computer-implemented method comprises: receiving a request for a user in a first user group in a communication network; determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and processing the request based at least in part on the retrieved first aggregated data view. The aggregated data view will be utilized for handling requests, which will reduce data processing costs and therefore request latency will be reduced.

Description

OPTIMIZATION OF ONLINE REQUEST PROCESSING
TECHNICAL FIELD
[0001] Embodiments of the present disclosure generally relate to the field of telecommunication and in particular, to optimization of online request processing.
BACKGROUND
[0002] Communication networks are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, and broadcasts. Data processing systems (also referred to as business support systems (BSSs)) are deployed in association with the communication networks to provide data processing services. Telecommunication BSS consists of many systems which participate in telecommunication traffic flow (e.g., voice calls, data usage etc.) and serve certain functionalities in the flow.
[0003] For example, Online Charging System (OCS) is responsible for authorizing the consumption of telecommunication resources like minutes, data, etc., and maintaining monetary balances (e.g., available credit or pre-paid amount) and non-monetary balances (e.g., available quota of minutes, bytes etc.). With OCS-based charging mechanisms, the use of network resources associated with a user starting or continuing usage of a communication service provided via a communication network require real time credit authorization, to avoid allowing usage of network resources beyond that permitted by the available credit. OCS should respond to network elements within a defined time range so that the network elements can allow the resource consumption. Otherwise, there could be time-out which could lead to customer dissatisfaction as well as revenue loss. Delay in authorizing network requests causes high latency and thus has negative impact on the customer experience.
[0004] For some telecommunication protocols, services or business models, there may be more stringent requirement on the latency. One such example can be the fifth generation (5G) ultra reliable low latency (URLLC) communications, where network systems (including the BSS components) should ensure extremely low latency. There are multiple areas like manufacturing, transportation, health care, energy transmission, etc., where URLLC would be needed.
[0005] In some cases, especially in Business-To-Business (B2B) and Business-To-Business- To-X (B2B2X, where X can be Business or Customer), customers and/or partners of telecommunication operators may have complex structure. One such example can be a corporate customer with hierarchical structure. The corporate customer may have various departments/business units/groups under it. Then a department/business unit/group may have i further sub-department/ sub-business unit/ sub-group and so on. Employees of the company are users who use the telecommunication services. There may be hierarchical subscription of telecommunication services. For example, the company has telecommunication plan for basic telecommunication services (e.g., local voice and local text, e.g., short messaging service) for all its employees, while a particular department may opt for more services like international voice service only for employees under the department.
[0006] To process a request of a customer, OCS reads and processes various data, such as subscribed telecommunication services, service usage rules, pricing rules and so on. Customer specific data may change over the time. For example, a customer is opting for a new telecommunication service or change in commercial plan etc. Usually, customer specific data does not change very often. Nevertheless, expectation is to use latest data in BSS flows like online rating. There are business and technical requirements to support customers which have complex structure, process network requests with low latency and use latest information.
SUMMARY
[0007] Embodiments of the present disclosure provide an improved solution for optimization of online request processing.
[0008] Specifically, the embodiments of the present disclosure propose to pre-process various data which are needed in data processing flows such as online rating, and create specific aggregated data views. The pre-processing to create the aggregated data view may involve multiple activities like merging, filtering, sorting, transformation, and the like. These aggregated data views will be utilized for handling requests, which in turn, will reduce data processing costs and therefore request latency will be reduced.
[0009] In a first aspect of the present disclosure, a computer-implemented method is proposed. The method comprises: receiving a request for a user in a first user group in a communication network; determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and processing the request based at least in part on the retrieved first aggregated data view.
[0010] In some embodiments of the first aspect, the plurality of datasets are specific to the first user group and at least one second user group at different hierarchical levels of a user hierarchy, respectively, the first user group being a child group of the at least one second user group. [0011] In some embodiments of the first aspect, the plurality of datasets comprises a plurality of individual datasets specific to individual users in the first user group.
[0012] In some embodiments of the first aspect, the first aggregated data view is created by: selecting a first plurality of data subsets from the plurality of datasets based on at least one of the following criteria: a reduction of data read and processing on the first aggregated data view as compared with data read and processing on the plurality of datasets, update frequencies of respective parts of the plurality of datasets, an update efficiency on the first aggregated data view, or usage frequencies of respective parts of the plurality of datasets in processing requests for the first user group; and applying the pre-processing operation on the first plurality of data subsets to create the first aggregated data view.
[0013] In some embodiments of the first aspect, the first user group is associated with the first aggregated data view specific for a first processing flow, and a second aggregated data view specific for a second processing flow. In some embodiments of the first aspect, retrieving the first aggregated data view comprises: in accordance with a determination that the first aggregated data view and the second aggregated data view are both available for the first user group, determining that the request is associated with the first processing flow; and retrieving the first aggregated data view specific for the first processing flow.
[0014] In some embodiments of the first aspect, the first aggregated data view is created by: selecting, based on a first data requirement in the first processing flow, a first plurality of data subsets from the plurality of datasets, and applying a first pre-processing operation on the first plurality of data subsets. In some embodiments of the first aspect, the second aggregated data view is created by: selecting, based on a second data requirement in the second processing flow, a second plurality of data subsets from the plurality of datasets, and applying a second preprocessing operation on the second plurality of data subsets.
[0015] In some embodiments of the first aspect, the first aggregated data view is created or updated in response to one of the following trigger events: provisioning of the first user group, provisioning of a new subscription to a user group in the communication network, a change in subscription data of a user group in the communication network, a change in system configuration related to the first user group, expiry of a subscription to a user group in the communication network, addition or removal of a user in the communication network, and creation of a data center for the communication network.
[0016] In some embodiments of the first aspect, the method further comprises: in accordance with a detection that an update is to be applied on a part of a first dataset among the plurality of datasets, determining that the part of dataset is comprised in the first aggregated data view; in accordance with a determination that the part of the first dataset is comprised in the first aggregated data view, applying the update to the first aggregated data view; and in accordance with a determination that the part of the first dataset is excluded from the first aggregated data view, applying no update to the first aggregated data view.
[0017] In some embodiments of the first aspect, the first aggregated data view is stored in a data center with the plurality of datasets. In some embodiments of the first aspect, retrieving the first aggregated data view comprises: transmitting, to the data center storing the first aggregated data view, a read request for the first aggregated data view; and receiving, from the data center, the first aggregated data view as a response to the read request.
[0018] In some embodiments of the first aspect, duplicates of the first aggregated data view are stored in a first data center at a first geographical location and a second data center at a second geographical location. In some embodiments of the first aspect, retrieving the first aggregated data view comprises: in accordance with a determination that the request is received in the first geographical location, retrieving the first aggregated data view from the first data center.
[0019] In some embodiments of the first aspect, a number of aggregated data views are created and stored in a data center for the plurality of datasets, the number of aggregated data views being less than or equal to an upper limit for the plurality of datasets. In some embodiments of the first aspect, the number of aggregated data views is less than the number of individual users in the communication network.
[0020] In some embodiments of the first aspect, the method is implemented at an online charging system (OCS), and the request comprises a rating request.
[0021] In a second aspect of the present disclosure, an apparatus is proposed. The apparatus comprises at least one processor; and at least one memory coupled to the at least one processor, the at least one memory comprising instructions that when executed by the at least one processor implement a method comprising: receiving a request for a user in a first user group in a communication network; determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and processing the request based at least in part on the retrieved first aggregated data view.
[0022] In a third aspect, a computer readable medium is proposed. The computer readable medium has instructions stored thereon, the instructions when executed by at least one processor causing the at least one processor to perform the method according to any of the embodiments of the first aspect.
[0023] In a fourth aspect, a computer program is proposed. The computer program comprises instructions which, when executed on at least one processor, cause the at least one processor to carry out the method according to any of the embodiments of the first aspect.
[0024] In a fifth aspect, an apparatus is proposed. The apparatus comprises means for receiving a request for a user in a first user group in a communication network; means for determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; means for, in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and means for processing the request based at least in part on the retrieved first aggregated data view.
[0025] It is to be understood that the Summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Through the more detailed description of some example embodiments of the present disclosure in the accompanying drawings, the above and other objects, features and advantages of the present disclosure will become more apparent, where:
[0027] FIG. 1 illustrates a schematic diagram of an example environment in which embodiments of the present disclosure may be applied;
[0028] FIG. 2 illustrates an example of a hierarchical customer company and associated datasets;
[0029] FIG. 3 illustrates a schematic diagram of an example environment in accordance with some embodiments of the present disclosure;
[0030] FIG. 4 illustrates an example of a hierarchical customer company and associated datasets and aggregated data views in accordance with some embodiments of the present disclosure;
[0031] FIG. 5 illustrates a further example of a hierarchical customer company and associated datasets and aggregated data views in accordance with some embodiments of the present disclosure; [0032] FIG. 6 illustrates a further example of a hierarchical customer company and associated datasets and aggregated data views in accordance with some embodiments of the present disclosure;
[0033] FIG. 7 illustrates an example of distributed storage of aggregated data views in accordance with some embodiments of the present disclosure;
[0034] FIG. 8 illustrates an example of aggregated data views built for individual users in accordance with some embodiments of the present disclosure;
[0035] FIG. 9 illustrates a flowchart of a process for request processing in accordance with some embodiments of the present disclosure;
[0036] FIG. 10 illustrates a flowchart of a process for updating the aggregated data views in accordance with some embodiments of the present disclosure;
[0037] FIG. 11 illustrates a flowchart of a computer-implemented method in accordance with some embodiments of the present disclosure; and
[0038] FIG. 12 illustrates a block diagram showing an apparatus suitable for use in practicing some embodiments of the present disclosure.
[0039] Throughout the drawings, the same or similar reference numerals represent the same or similar element.
DETAILED DESCRIPTION
[0040] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. The embodiments set forth below represent information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure.
[0041] Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or is implied from the context in which it is used. All references to a/an/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and/or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features, and advantages of the enclosed embodiments will be apparent from the following description.
[0042] As used herein, the term “includes” and its variants are to be read as open terms that mean “includes, but is not limited to.” The term “based on” is to be read as “at least in part based on.” The term “one embodiment” and “an embodiment” are to be read as “at least one embodiment.” The term “another embodiment” is to be read as “at least one other embodiment.” The terms “first,” “second,” and the like may refer to different or same objects. Other definitions, explicit and implicit, may be included below.
[0043] As used herein, the term “network node” may also be referred to as a network function (NF), a network entity, or a network device, and refers to a physical, virtual or hybrid function or entity which is deployed at a network side and provides one or more services to clients/consumers. For example, an NF may be arranged at a device in a radio access network (RAN) or a core network (CN) of a communication system. The network node may be implemented in hardware, software, firmware, or some combination thereof. Examples of a network node in a RAN include, but not limited to, a Node B (NodeB or NB), an evolved NodeB (eNodeB or eNB), a next generation NodeB (gNB), a transmission reception point (TRP), a remote radio unit (RRU), a radio head (RH), a remote radio head (RRH), an IAB node, a low power node such as a femto node, a pico node, a reconfigurable intelligent surface (RIS), and the like. Examples of a network node in a CN include, but not limited to, a Mobility Management Entity (MME), a Packet Data Network Gateway (P-GW), a Service Capability Exposure Function (SCEF), a Home Subscriber Server (HSS), or the like. Some other examples of a core network node include a node implementing an Access and Mobility Management Function (AMF), a User Plane Function (UPF), a Session Management Function (SMF), an Authentication Server Function (AUSF), a Network Slice Selection Function (NSSF), a Network Exposure Function (NEF), a Network Function (NF) Repository Function (NRF), a Policy Control Function (PCF), a Unified Data Management (UDM), or the like.
[0044] Communications in a communication environment may conform to any suitable standards including, but not limited to, Global System for Mobile Communications (GSM), Long Term Evolution (LTE), LTE-Evolution, LTE-Advanced (LTE-A), New Radio (NR), Wideband Code Division Multiple Access (WCDMA), Code Division Multiple Access (CDMA), GSM EDGE Radio Access Network (GERAN), Machine Type Communication (MTC) and the like. The embodiments of the present disclosure may be performed according to any generation communication protocols either currently known or to be developed in the future. Examples of the communication protocols include, but not limited to, the fourth generation (4G), 4.5G, the fifth generation (5G) communication protocols, 5.5G, 5G-Advanced networks, or the sixth generation (6G) networks and beyond and the like, wireless local network communication protocols such as Institute for Electrical and Electronics Engineers (IEEE) 802.11 and the like, and/or any other protocols currently known or to be developed in the future. Moreover, the communication may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Frequency Division Duplex (FDD), Time Division Duplex (TDD), Multiple-Input Multiple-Output (MIMO), Orthogonal Frequency Division Multiple (OFDM), Discrete Fourier Transform spread OFDM (DFT-s-OFDM) and/or any other technologies currently known or to be developed in the future.
[0045] In typical communication architectures,
[0046] FIG. 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure may be applied. As illustrated, a data processing system 120 is deployed in association with a communication network 110. The communication network 110 (or related network elements in the communication network 110) sends requests to the data processing system 120. The data processing system 120 is configured to process the requests and provides processing result or feedback to the related network elements in the communication network 110. As an example, the data processing system 120 may be a business support system (BSS) for the communication network 110, or more specifically, an online charging system (OCS) which is a component of the BSS.
[0047] A configuration and provisioning system 130 is configured to manage data required for processing the requests, such as configuration data (e.g., commercial offerings) and customer provisioning data (e.g., subscription). The configuration and provisioning system 130 may maintain product catalog 132, customer/partner management data for the communication network 110. The managed data, such as original provisioning and configuration data 142 may be stored in a data store 140. The data processing system 120 can access to the data store 140 for the stored data when processing the requests.
[0048] It is also to be understood that the elements shown in the figures are intended to represent main functions provided within the environment. As such, the blocks shown in the following figures refer to specific elements in communication networks that provide these main functions. However, other network elements may be used to implement some or all of the main functions represented. Also, it is to be understood that not all functions of a communication environment are depicted in the figures. Rather, functions that facilitate an explanation of illustrative embodiments are represented.
[0049] In some cases, data needed by the data processing system to process a request for a communication user is not available with the user. To process a request, multiple data read operations and processing operations are needed. One such example can be a hierarchical corporate customer of the communication network. FIG. 2 illustrates an example 200 of a hierarchical customer company and associated datasets. The hierarchical corporate customer company “ABC” has departments (e.g., Dept 1, Dept 2, etc.) and departments have sub-departments (e.g., Sub Dept 1, Sub Dept 2 for Dept 1, etc.). Individual employees under subdepartments are considered as individual users of the communication network.
[0050] Regarding the communication services of the hierarchical corporate customer company “ABC”, it has the common subscription 210 for domestic voice and text services which are instantiated from offerings “commercial offering domestic voice” 212 and “commercial offering domestic text” 214. For the “domestic voice” company has negotiated prices. This common subscription is applicable for all employees in the company.
[0051] In addition, the department “Dept 1” has a common subscription 220 for the data service which is instantiated from offerings “commercial offering Internet data” 222. For this data service, the department “Dept 1” has negotiated prices. The common subscription 220 is applicable for all employees in the department.
[0052] Further, the subdepartment “Sub-Deptl” under “Dept 1” has a common subscription 230 for the International voice service which is instantiated from offerings “commercial offering International voice” 232. This common subscription 230 is applicable for all employees 201 in the subdepartment “Sub-Deptl”.
[0053] Employees of the company are communication user who will use the communication services subscribed by various levels in the company. The common subscriptions 210, 220, and 230, the offerings “commercial offering domestic voice” 212, “commercial offering domestic text” offerings 214, “commercial offering Internet data” 222, and “commercial offering International voice” 232 are all stored as respective datasets for the hierarchical corporate customer company “ABC”.
[0054] In order to process a request for an employee who is under the subdepartment “SubDept 1”, OCS will have to read all applicable subscriptions (at the subdepartment level, at the department level and at the company level) and corresponding commercial offerings by traversing the hierarchy.
[0055] The number of data read operations and volume of data processing has direct impact on the latency of the OCS. More data reads and data processing causes high latency. To mitigate the impact on the latency, following methods may be used.
[0056] One method offers offline rating, which processes requests from such customers in an off-line mode (i.e., allowing the requests without authorization and no real time balance management). The requests are rated later, e.g., during off-peak hours. This approach has many limitations. First, there is a risk of revenue leakage if cost corresponding to allowed telecommunication consumption (e.g., voice call, data usage) could not be recovered later. Second, there is negative impact on the customer experience as the customer is not aware about its available monetary and non-monetary balances in real time and can’t adjust its consumption accordingly. Further, this does not reduce data read and data processing. Still, same number of data reads, and same amount of data processing is needed.
[0057] Another method offers explicit provisioning, to provision all relevant data which is applicable for a user at the user level. As in the above example, all applicable subscriptions will be provisioned for each and every employee. OCS will get all relevant data to process a request at the user level and subsequent multiple data reads would not be avoided. This approach also has many limitations as set forth below.
[0058] In case of configuration or provisioning change, massive updates will be needed. In the above example, it is supposed that there is change in the negotiated pricing rule for “domestic voice” at the company level and it is applicable for all employees of the company. Now this negotiated pricing rule is to be updated for all employees in the company. For an organization with a substantial number of employees, it would be time and resource consuming activity to perform the massive updates. During the massive updates, there will be temporary inconsistency, as for some of the employees, update have been done while for remaining ones it is still to be done. Another challenge is error handling. If the changes could not be propagated for some employees due to any error, then there would be inconsistencies for a longer period, which need to be rectified either by system itself or manual intervention or combination of both. Considering all these aspects changes should be planned well in advance.
[0059] Even though all applicable data are provisioned at the user level, a user may not to be supposed to view or update some of the data. In the above example, the employees may not be supposed to view and update the negotiated pricing plans as it is a confidential business information for the company. As such, complex data access control will be needed to ensure such things. Further, it may reduce the number of data read operations by reducing subsequent reads, but it does not reduce the data processing volume during online request processing. On the other side, it increases the data storage significantly as data is replicated for each user.
[0060] Telecommunication traffics are getting increased day-by-day, and the same time expectations are to do online rating with low latency. To cope up with these, hardware footprint of OCS is getting increased. More hardware resources (e.g., computation power, memory, etc.) are needed to meet the expectations. High hardware footprint not only increases ownership and maintenance costs for the telecommunication operators, but also Carbon emission footprint by consuming more electricity. [0061] In some scenarios, telecommunication industry is looking forward for the cloud deployment of data processing applications rather than in-house deployment. A cloud provider may have charges based on the number of data reads, volume of data read, hardware resources (e.g., computation power, memory etc.), data storage and the like. Current approaches for handling telecommunication traffic in the associated BSS do not address these factors which have significant impact on the cost for cloud deployment.
[0062] In embodiments of the present disclosure, there is proposed an improved solution for optimizing latency of online requests in a data processing system associated with a communication network. This solution proposes to pre-process various data, such as customer specific data, configurations, commercial offerings etc., which are needed in processing the requests, such as requests for online rating. The pre-processing can create specific aggregated data views. These aggregated data views will be utilized for requests handling, which in turn, will reduce data processing costs and therefore latency will be reduced. The pre-processing to create an aggregated data view may involve multiple activities like merging, filtering, sorting, transformation etc.
[0063] FIG. 3 illustrates a schematic diagram of an example environment 300 in accordance with some embodiments of the present disclosure. In addition to the communication network 110, the data processing system 120, the configuration and provisioning system 130, and the data store 140 as deployed in the environment 100 of FIG. 1, a data pre-processor 350 is added in the environment 300 to pre-process data and create an aggregated data view(s) 315. An aggregated data view 315 may be persisted in an application local memory of the data processing system 120, in the data store 140, or in both. Although being illustrated as a separate module, the data preprocessor 350 may be part of any existing module, such as in the data processing system 120, or in the configuration and provisioning system 130.
[0064] An aggregated data view 315 is created for a user group in a communication network. The aggregated data view 315 is created and stored based on one or more pre-processing operation on a plurality of datasets used in processing requests for the user group. As a result, instead of reading and processing the plurality of original datasets, the data processing system 120 can retrieve the aggregated data view to process requests for users in the corresponding user group.
[0065] Among all of a plurality of datasets to be used in processing request for a first user group, a first plurality of data subsets may be selected from the plurality of datasets based on one or more criteria. The selected first plurality of data subsets are then preprocessed to create a first aggregated data view for the first user group. One or more other aggregated data views may be created in a similar way for one or more other user groups.
[0066] In some embodiments, an aggregated data view 315 is created in such a way that the aggregated data view 315 can reduce data read and processing during the request processing. Among a plurality of datasets to be used in processing request for a first user group, a first plurality of data subsets may be selected from the plurality of datasets based on a criterion of reducing data read and processing on the first aggregated data view as compared with data read and processing on the plurality of datasets. Relevant data may be selected and structured in an optimal way in the aggregated data view so that the processing flows volume of data read and processing can be minimized as much as possible.
[0067] In some embodiments, an aggregated data view 315 is created in such a way that the aggregated data view 315 includes data that are frequently required in processing requests for a corresponding user group. Among a plurality of datasets to be used in processing request for a first user group, a first plurality of data subsets may be selected from the plurality of datasets based on usage frequencies of respective parts of the plurality of datasets in processing requests for the first user group. The datasets with relatively higher usage frequencies may more likely be selected for creating the first aggregated data view for the first user group.
[0068] In some embodiments, an aggregated data view 315 is created in such a way that it need not be updated frequently and if needed it can be updated very quickly to ensure use of latest data in the processing flows. Among a plurality of datasets to be used in processing request for a first user group, a first plurality of data subsets may be selected from the plurality of datasets based on update frequencies of respective parts of the plurality of datasets, and/or an update efficiency on the aggregated data view. Data which are changed less frequently but used multiple times are good candidates for the aggregated data view. As such, the aggregated data view does not need to be updated very quickly. In case of change in one or more original datasets, the aggregated data view can be updated quickly. One such example can be pricing rules applicable for a customer which is changed less frequently, but on the other hand is used in all telecommunication requests to rate the consumption for that customer. However, if there is a change in the pricing rules, it must be possible to update aggregated data view immediate to use latest applicable rates.
[0069] In some embodiments, there can be processing flows specific aggregated data views. As such, for a same user group, e.g., for the first user group, a first aggregated data view may be created and be specific for a first processing flow, and a second aggregated data view may be created and be specific for a second processing flow. In the case where the data processing system 120 is a BSS, the processing flows may include different BSS flows or different OCS flows. It would be appreciated that the processing flows specific aggregated data views are not limited to first and second aggregated data views, and there could be even more aggregated data views.
[0070] In some embodiments, the data included in the aggregated data views and/or the preprocessing operations may be different for different processing flows. Among the plurality of datasets required for processing requests, part of the datasets may be selected based on a data requirement in the specific processing flow. For example, a first plurality of data subsets may be selected from the plurality of datasets based on a first data requirement in the first processing flow, and then a first pre-processing operation is applied on the first plurality of data subsets to create the first aggregated data view. A second plurality of data subsets may be selected from the plurality of datasets based on a second data requirement in the second processing flow, and a second preprocessing operation is then applied on the second plurality of data subsets to create the second aggregated data view. For example, in an aggregated data view for the online rating flow, informative fields like name and description can be omitted, while for an aggregated data view for the BSS invoicing flow these fields can be included.
[0071] In some embodiments, the number of aggregated data views may be limited so that there should not be significant increase in storage cost. The limited number of aggregated data views will allow persisting or cache them in fast access memory area such as an application memory. In some embodiments, there may be an upper limit for all the plurality of datasets required for processing requests of users, and the number of created aggregated data views may be less than or equal to the upper limit for the plurality of datasets. In some embodiments, the number of aggregated data views may be less than the number of individual users in the communication network.
[0072] Please note that sometimes the proposed aggregated data view may not be enough to process a request and the original datasets will still have to be read or in some cases creating the aggregated data view itself will not be feasible. However, the proposed aggregated data view can be used for a sizable number of requests and cases in the request processing flows.
[0073] Usually, a corporate customer of a telecommunication operator has common subscriptions for their employees. Employees use the telecommunication services, such as voice, text, data etc., which are allowed by the common subscription. The common subscription may include allowed telecommunication services, service usage rules, pricing rules etc. The corporate customer may have a hierarchical structure and may have hierarchical subscriptions.
[0074] FIG. 4 illustrates an example 400 of a hierarchical customer company and associated datasets and aggregated data views in accordance with some embodiments of the present disclosure. The hierarchical structure of the corporate customer company “ABC” and their hierarchical subscriptions are the same as those shown in the example 200 of FIG. 2. Additionally, according to the embodiments of the present disclosure, aggregated data views are created and stored for subdepartments.
[0075] As shown in FIG. 4, an aggregated data view 405 is created for a user group of employees 201 under the subdepartment “Sub Deptl”. The aggregated data views 405 is created for an online rating processing flow and thus may contain only rating relevant information. Name and description, which are not needed for rating, are omited in the aggregated data view 405. The aggregated data view 405 considers all applicable subscriptions and corresponding commercial offerings and includes pre-processed data that is applicable for the online rating. For example, the aggregated data view 405 may contain data for a domestic voice service, which includes negotiated pricing rules that are taken from the common subscription 210 at the company level and service usage rules that are taken from the corresponding commercial offerings 212. The aggregated data view 405 may further contain data for a domestic text service, which includes pricing rules in the common subscription 210 and service usage rules that are taken from the corresponding commercial offerings 214. The aggregated data view 405 may further contain data for an Internet data service, which includes negotiated pricing rules taken from the common subscription 220 at the department level and service usage rules taken from the corresponding commercial offerings 222. The aggregated data view 405 may further contain data for an international voice service which includes negotiated pricing rules taken from the common subscription 230 at the subdepartment level and service usage rules taken from the corresponding commercial offerings 232.
[0076] To process a rating request for an employee in the subdepartment “Sub Dept 1”, the data processing system does not need to traverse the complete hierarchy to read and process all appliable subscriptions and their corresponding commercial offerings to determine applicable service usage rules and pricing rules. All these data are already pre-processed in the aggregated data view 405.
[0077] In some embodiments, regarding a hierarchical user structure and hierarchical subscriptions in an organization, the plurality of datasets from which an aggregated data view is created are specific to a first user group and at least one second user group at different hierarchical levels of the user hierarchy, respectively, such as the common subscriptions 210, 220, 230 in FIG. 3, and the commercial offerings 212, 214, 222, and 224. The first user group for which an aggregated data view is created may be a child group of the at least one second user group. For example, the user groups for which the aggregated data views are created may be the groups at the lowest hierarchical levels in the user hierarchy. As for those user groups, traditionally, the data processing may have to read multiple applicable subscriptions by traversing the hierarchy which may have impact on latency due to the number of reads and processing needed. Such traversing can be avoided and the latency can be optimized by creating data aggregated views for such user groups.
[0078] Since the number of user groups (e.g., user groups corresponding to the subdepartments) in the user hierarchy would be very less compared to the number of individual users in the user hierarchy, there will be a handful number of aggregated data views. In case of any change in the common subscription and/or commercial offerings, the aggregated data views can be updated very quickly and the update of the aggregated data views may be performed together in the same transaction.
[0079] In addition to the subscription and commercial offering data, data in an aggregated data view can be combined and transformed to reduce processing during BSS processing flows.
[0080] FIG. 5 illustrates a further example 500 of a hierarchical customer company and associated datasets and aggregated data views in accordance with some embodiments of the present disclosure. The same hierarchical corporate customer which is explained with reference to FIG. 4 is still used as an example. It is supposed that the company “ABC” enforces a barred list 510 of numbers. All employees in the company cannot call or text to these numbers in the barred list 510. In addition of the company-level barred list, departments and sub-departments also have their own barred lists, such as a barred list 520 for the department “Dept 1”, and a barred list 530 for the subdepartment “Sub Dept 1”. Therefore, for an individual employee, the subdepartment, the department, and the company will cumulatively enforce three barred lists. The configurator, who oversees these barred lists of the customer, may prefer to manage the barred list in a nonsorted way if that is more convenient, for example, manage the numbers in a list into groups.
[0081] For a voice call or text request, if the number of the called party is included in any of these three barred lists, request should not be allowed. During the rating time, it will be in-efficient to find all applicable barred lists by traversing the hierarchy, and then match the called party number in the multiple unsorted lists. To overcome this, aggregated data views at the subdepartment levels may be created to include pre-processed barred list created by merging, removing duplicates, and sorting multiple barred lists. For example, as shown, an aggregated data view 540 is created for the subdepartment “Sub Dept 1”, which includes a combined barred list that is pre-processed from the three barred lists at the company level, the department level, and the subdepartment level.
[0082] With the aggregated data views created, to process a network traffic request for a user in “Sub Dept 1”, the data processing system 120 does not need to traverse the complete hierarchy to read all applicable barred lists and then match the called party number in the multiple lists. The data processing system 120 will have to match the called party number against a single pre- processed barred list in the aggregated data view (e.g., the aggregated data view 540). Since the barred list is already sorted, searching in the list will be faster by applying a fast search algorithm such as binary search. It improves the performance of rating flow and at the same time giving the flexibility to the configurator to manage lists in a convenient way. In case of change in the configured barred list (additional or removal of elements in the barred list), the combined barred list in the aggregated data view can be updated very quickly and may be updated together in the same transaction.
[0083] In some embodiments, one or more created aggregated data views are stored in a data center together with the original datasets. In this case, the aggregated data views may be first retrieved from the data center for processing the request. The original datasets are retrieved if required. In some cases, a telecommunication operator may have multiple geographically distributed data centers which can be deployed on in-house or on cloud or on in hybrid mode. Usually, a network request for a user is served from a data center which is nearer to that user. The proposed aggregated data views can be stored in multiple distributed data centers to serve the requests faster by reducing or eliminating cross data center reads. For example, for a first user group, duplicates of the first aggregated data view are stored in a first data center at a first geographical location and a second data center at a second geographical location etc., for use of individual users at the different geographical locations.
[0084] FIG. 6 illustrates a further example 600 of a hierarchical customer company and associated datasets and aggregated data views in accordance with some embodiments of the present disclosure. Using the same hierarchical corporate customer which is explained above. It is supposed that the company “ABC” has head-office in a city “City 1” which is served by “Data Center 1”. Employees of subdepartment “sub-dept 1” are distributed into two cities “City 1” and “City 2” which are served by “Data Center 1” and “Data Center 2” respectively. As shown, the data center “Data Center 1” 602 in City 1 stores original datasets (including subscription data, commercial offerings, and barred lists), including a subscription 610 (with subscription data and barred list) and commercial offerings 612, 614 at the company level, a subscription 620 and a commercial offering 622 at the department level, and a subscription 630 and a commercial offering 632 at the sub-department level.
[0085] Aggregated data views are created for the subdepartment “Sub Dept 1” and possibly other subdepartments. For the subdepartment “Sub Dept 1”, an aggregated data view 640 is created based on all the subscriptions and commercial offerings at the company level, the department level, and the subdepartment level. The aggregated data view 640 is stored at the data center “Data Center 1” 602. An aggregated data view 642, which is a duplicate 642 of the aggregated data view 640, is stored at the data center “Data Center 2” 604. With the distributed storage of the aggregated date views, a request from an employee 650, who is under the subdepartment “Sub Dept 1” and located in City 1, is processed by retrieving the aggregated data view 640 stored in the data center “Data Center 1” 602. A request from an employee 652, who is under the subdepartment “Sub Dept 1” and located in City 2, is processed by retrieving the aggregated data view 642 stored in the data center “Data Center 2” 604, without having to read data from “Data Center 1” as all needed information is already included in the aggregated data view 642 stored there. Since there will be a handful number of data centers, any update in the aggregated data view (due to change in the common subscriptions or corresponding commercial offerings) can be cascaded very quickly to all data centers.
[0086] Distributed storage of aggregated data views can be used in various time critical loT (Internet of Things) scenarios such self-driving vehicles, remote surgery etc., to ensure low latency request processing. Data needed to process requests from loT devices can be transformed into aggregated data views and can be stored near to loT devices.
[0087] FIG. 7 illustrates an example 700 of distributed storage of aggregated data views in an example loT scenario. In FIG. 7, a company who has fleet of self-driving vehicles are depicted. In this example, the vehicles may be considered as users for the communication networks, and requests (e.g., rating requests, rating request, etc.) for the vehicles are needed to be processed.
[0088] It is assumed that the company has vehicles in two cities “City 1 ” and “City 2”. During journey vehicles may go to another city “City 3” as well. These vehicles need ultra reliable low latency connectivity. Requests at “City 1”, “City 2” and “City 3” are served by “Data Center 1” 702, “Data Center 2” 704, and “Data Center 3” 706, respectively. The company has a common connectivity subscription 710 with a negotiated price on the commercial offering “loT Data” 712, which are stored at “Data Center 1” 702. This common connectivity subscription is applicable for all taxies of the company.
[0089] If the common subscription is provisioned in one of the data centers, the network latency for vehicles at other cities will be high due to cross data center reads. To overcome these, an aggregated data view of applicable subscription is created and stored in all three data centers, where aggregated data views 720, 722, and 724 are duplicates of an aggregated data view for the vehicles under the company “ABC”. With the distributed storage, requests for a vehicle, which is in “City 3”, can be served by “Data Center 3” 706 without having to read the common subscription 710 and corresponding offering 712 from “Data Center 1” 702 as needed information is already included in the aggregated data view 722 stored there. Similarly, the requests for vehicles in “City 2” can be served by “Data Center 2” 704. Since there will be a handful number of data centers, any update in the aggregated data view (due to change in common subscription or corresponding commercial offering) can be cascaded very quickly to all data centers.
[0090] In some embodiments, in addition to an organization customer with a user hierarchy, the proposed aggregated data views can be used for retail individual telecommunication customers as well to improve the latency by reducing data read and processing overheads. In this case, the plurality of original datasets comprises a plurality of individual datasets specific to individual users, and an aggregated data views can be created from the original datasets for processing requests for the individual users.
[0091] Usually, telecommunication operators have various pre-defined commercial bundled offerings which offers multiple telecommunication services like voice, text, data etc. together with pre-decided service usages and pricing rules. If allowed, a bundled commercial offering can be personalized for an individual. However, a sizable number of individual customers opt for a commercial bundled offering without any personalization. There can be aggregated data views of commercial bundled offerings. Requests for retail customers, who has subscribed to a commercial bundled offering without any personalization, can be processed by utilizing the aggregated data view.
[0092] FIG. 8 illustrates an example 800 of aggregated data views built for individual users in accordance with some embodiments of the present disclosure. In this example, an offering “Commercial Bundled Offering 1” 810 is illustrated. The offering has two variations “Premium” and “Basic” which have differences in service usage and pricing rules. It is allowed to customize the offering for individual users. In FIG. 8, five retail users 801, 802, 803, 804, and 805 are depicted who are not linked to each other. The five retail users each have individual subscriptions 811, 812, 813, 814, and 815. “User 1” and “User 2” opted for “Premium” variation while “User 3” and “User 4” for “Basic”. “User 5” opted “Basic” variation with negotiated pricing plans. Two aggregated data views 820 and 822 of the “Commercial Bundled Offering 1” are created for each variation “Premium” and “Basic” which have relevant information for online rating. There is a mapping table 830 between mobile IDs of the users and their subscriptions (aggregated data views or individual subscription).
[0093] For rating requests for customers “User 1” or “User 2”, the aggregated data view “Aggregated data view 1” 820 can be used, and there is no need to read individual subscription information and corresponding commercial offering. Similarly, for “User 3” and “User 4”, the aggregated data view “Aggregated data view 2” 822 can be utilized. For the “User 5” individual subscription information will have to be read. In this approach, a sizable number of requests can be processed by using the aggregated data views and if needed for few requests individual subscriptions can be read.
[0094] There will be limited number of commercial bundled offering and for a commercial offering there will be a handful number of aggregated data views. The aggregated data views can be stored in the application memory for faster access. If there is any change in the offering, corresponding aggregated data views can be updated very quickly, may be together in the same transaction. [0095] FIG. 9 illustrates a flowchart of a process 900 for request processing in accordance with some embodiments of the present disclosure. The process 900 may be implemented at the data processing system 120, e.g., the BSS or OCS.
[0096] At block 910, the data processing system 120 receives a request for a user in a user group.
[0097] At block 920, in response to the request, the data processing system 120 determines whether there is an aggregated data view available for the user group. The aggregated data views may be constructed by processing various data needed in processing requests, such as customer specific data, configurations, commercial offerings etc., which are needed in the processing flows of the data processing system 120, such as online rating, invoicing.
[0098] If there is an aggregated data view created for the user group, at block 930, the data processing system 120 performs the request based at least in part on the aggregated data view.
[0099] In some embodiments, to retrieve the aggregated data view for request processing, the data processing system 120 may transmit a read request to a data center storing the aggregated data view and receive, from the data center, the first aggregated data view as a response to the read request.
[0100] In some embodiments, duplicates of the aggregated data view are stored in a plurality of data centers, as in the examples of FIGS.6 and 7. In this case, the data processing system 120 may determine where the request is received, and transmit a read request to a data center located at a geographical location where the request is received. The distributed storage can reduce or eliminate cross data center reads for the aggregated data views.
[0101] In some examples, the aggregated data view may be indexed by a group identity of the user group or any other suitable indexes. The data processing system 120 may retrieve the aggregated data view available for the user group based on determining that the user is included in the user group. In some examples, if the aggregated data view is created for a group of individual users (as in the example of FIG. 8), a mapping table between identities of the individual users (e.g., mobile numbers or any other suitable identities) and the aggregated data views (such as the mapping table 830 in FIG. 8) may be constructed for retrieving the aggregated data view for processing the request from the user.
[0102] In some embodiments where processing flow specific aggregated data views are created (e.g., a first aggregated data view specific for a first processing flow, and a second aggregated data view specific for a second processing flow), the data processing system 120 may determine the processing flow with which the pending request is associated, and retrieving the aggregated data view specific to the determined processing flow. This is because the specific aggregated data view will include relevant and pre-processed data needed for processing requests in the specific processing flow.
[0103] In some cases, if there is no aggregated data view created for the user group , at block 940, the data processing system 120 performs the request by retrieving all the required datasets for the request.
[0104] According to embodiments of the present disclosure, by providing the aggregated data views, complex business models with complex structure like hierarchy can be supported with low latency online request processing. Technical and business requirements related to low latency in many scenarios like URLLC and time critical loT can be met. The potential revenue leakage, due to traditional offline processing, can be avoided. Further, customer experience will be improved as complex customers like a hierarchical corporate customer will also get real time view of their consumptions and balances.
[0105] The limited number of aggregated data views will not increase the data storage cost significantly. On the other hand, in many cases the aggregated data view will reduce the overall data storage. For example, in the case of hierarchical corporate customer, there is no need to duplicate common subscriptions information for each user.
[0106] During processing a request, the number of data reads, volume of data and processing of data will be reduced. Less processing will save computation power and less data read will save read transactions towards database. These savings will result into reduction of hardware resource footprint. In the cloud-based deployment environment, many cloud providers have charges based on number of data reads, volume of data read, hardware resources (e.g., computation power, memory etc.), data storage etc. Since the proposal is reducing these factors, associated cast in cloud deployment will also get reduced. The proposal is reducing hardware footprints - less computation power and less database storage to process online requests. It will reduce number of required machines and corresponding electricity consumption. Overall, it will reduce carbon emission footprint by saving energy.
[0107] In some embodiments, an aggregated data view(s) may be created or updated in response to various trigger events. In some embodiments, the data pre-processing by the data preprocessor 350 can be triggered immediately with changes in the related datasets, such as the configuration and provisioning data, or can be scheduled for future dated updates. In some embodiments, the data pre-processing by the data pre-processor 350 can be triggered at regular interval.
[0108] Any change in the original datasets may trigger corresponding changes in the aggregated data views. Some example situations, including but not limited to, in which the aggregated data views will have to be created/updated, are as follows. [0109] In some embodiments, provisioning of a new user group or a new organization customer may trigger creating an aggregated data view(s) for the new user group or the new organization customer. In some embodiments, provisioning of a new subscription or a new commercial offering to a new user group or existing user group in the communication network may trigger creating a new aggregated data view(s) or updating the existing aggregated data view(s).
[0110] In some embodiments, a new aggregated data view(s) are created or the existing aggregated data view(s) may be updated in response to a change in data (e.g., subscription data or other relevant customer data) of a user group, such as purchased subscriptions, barred or allowed list of numbers, users etc., due to various reasons such as requested by customer, legal compliance, commercial decisions etc.
[0111] In some embodiments, a change in system configuration related to a user group may trigger creating a new aggregated data view(s) or updating the existing aggregated data view(s). For example, a change in blocked Internet Protocol (IP) addresses, blocked services or networks may trigger creating a new aggregated data view(s) or updating the existing aggregated data view(s).
[0112] In some embodiments, expiry of a subscription or a commercial offering to a user group in the communication network may trigger creating a new aggregated data view(s) or updating the existing aggregated data view(s). The expired information, which are need not be considered anymore, can be removed from the aggregated data views.
[0113] In some embodiments, addition or removal of a user in the communication network may trigger creating a new aggregated data view(s) or updating the existing aggregated data view(s). In some embodiments, addition or creation of a new data center may trigger creating a new aggregated data view(s) or updating the existing aggregated data view(s). Some of the aggregated data views may need to be stored or moved to the new data center.
[0114] FIG. 10 illustrates a flowchart of a process 1000 for updating the aggregated data views in accordance with some embodiments of the present disclosure. The process 1000 may be implemented at the data pre-processor 350 (which may be a separate module or may be included in the data processing system 120, e.g., the BSS or OCS).
[0115] At block 1010, the data pre-processor 350 detects updates in datasets which may need to be considered for the aggregated data views.
[0116] At block 1020, the data pre-processor 350 determines an aggregated data view(s) which are to be updated for the changes in the original datasets. In some embodiments, upon a detection that an update is to be applied on a part of the plurality of datasets, the data pre-processor 350 may determine whether the part of dataset is comprised in a created aggregated data view. [0117] At block 1030, the data pre-processor 350 updates the aggregated data view(s). In some embodiments, the pre-processing operations may be applied based on the updates in the original datasets, to generate the updated aggregated data view(s). If the part of the dataset is comprised in the created aggregated data view, the data pre-processor 350 may apply the update to the first aggregated data view. Otherwise, if the part of the first dataset is excluded from the first aggregated data view, the data pre-processor 350 may apply no update to the first aggregated data view.
[0118] The aggregated data views are constructed and stored in addition to the original datasets for request processing. The aggregated data views can also be updated very quickly, to ensure use of latest data for online requests processing.
[0119] In some embodiments, changes in the aggregated data view may be done immediately. For example, an organization (e.g., a company) is adding few more numbers in its own specific barred list and should come into the effect immediately. Provisioned customer data and corresponding aggregated data views can be updated together, may be in the same transaction.
[0120] In some embodiments, changes in the aggregated data view may be scheduled. For example, for an organization customer (e.g., a company) there is change in the rate plan for domestic voice, applicable for all employees of the organization, and effective from the next year onwards. It can be provisioned at company level at any time in the current year. However, until start of the next year, the new rate plan needs not be considered and all domestic voice usages are to be rated with the existing plan. In this case, update in the aggregated data views can be scheduled just before the start of the next year.
[0121] In some embodiments, there may be regular housekeeping activities to removed expired data from the aggregated data views. For example, expired rate plans which is not needed be considered anymore. In some embodiments, an aggregated data view may become obsolete and can be removed if it is not needed any more. For example, an organization customer has been terminated. Any aggregated data views created for that organization customer can be removed. It may be done immediately, as part of terminate request, or may be scheduled or may be done by some housekeeping jobs.
[0122] FIG. 11 illustrates a flowchart of a computer-implemented method 1100 in accordance with some embodiments of the present disclosure. The method 1100 may be implemented at the data processing system 120 (and the data pre-processor 350) in FIG. 3.
[0123] At block 1110, the data processing system 120 receives a request for a user in a first user group in a communication network.
[0124] At block 1120, the data processing system 120 determines whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group.
[0125] At block 1130, in accordance with a determination that the first aggregated data view is available for the first user group, the data processing system 120 retrieves the first aggregated data view.
[0126] At block 1140, the data processing system 120 processes the request based at least in part on the retrieved first aggregated data view.
[0127] In some embodiments, the method 1100 may be implemented at an online charging system (OCS), and the request may comprise a rating request.
[0128] In some embodiments, the plurality of datasets may be specific to the first user group and at least one second user group at different hierarchical levels of a user hierarchy, respectively, the first user group being a child group of the at least one second user group.
[0129] In some embodiments, the plurality of datasets may comprise a plurality of individual datasets specific to individual users in the first user group.
[0130] In some embodiments, the first aggregated data view may be created by: selecting a first plurality of data subsets from the plurality of datasets based on at least one of the following criteria: a reduction of data read and processing on the first aggregated data view as compared with data read and processing on the plurality of datasets, update frequencies of respective parts of the plurality of datasets, an update efficiency on the first aggregated data view, or usage frequencies of respective parts of the plurality of datasets in processing requests for the first user group; and applying the pre-processing operation on the first plurality of data subsets to create the first aggregated data view.
[0131] In some embodiments, the first user group may be associated with the first aggregated data view specific for a first processing flow, and a second aggregated data view specific for a second processing flow. In some embodiments, retrieving the first aggregated data view may comprise: in accordance with a determination that the first aggregated data view and the second aggregated data view are both available for the first user group, determining that the request is associated with the first processing flow; and retrieving the first aggregated data view specific for the first processing flow.
[0132] In some embodiments, the first aggregated data view may be created by: selecting, based on a first data requirement in the first processing flow, a first plurality of data subsets from the plurality of datasets, and applying a first pre-processing operation on the first plurality of data subsets. In some embodiments, the second aggregated data view may be created by: selecting, based on a second data requirement in the second processing flow, a second plurality of data subsets from the plurality of datasets, and applying a second pre-processing operation on the second plurality of data subsets.
[0133] In some embodiments, the first aggregated data view may be created or updated in response to one of the following trigger events: provisioning of the first user group, provisioning of a new subscription to a user group in the communication network, a change in subscription data of a user group in the communication network, a change in system configuration related to the first user group, expiry of a subscription to a user group in the communication network, addition or removal of a user in the communication network, and creation of a data center for the communication network.
[0134] In some embodiments, the method 1100 may further comprise: in accordance with a detection that an update is to be applied on a part of a first dataset among the plurality of datasets, determining that the part of dataset is comprised in the first aggregated data view; in accordance with a determination that the part of the first dataset is comprised in the first aggregated data view, applying the update to the first aggregated data view; and in accordance with a determination that the part of the first dataset is excluded from the first aggregated data view, applying no update to the first aggregated data view.
[0135] In some embodiments, the first aggregated data view may be stored in a data center with the plurality of datasets. In some embodiments, retrieving the first aggregated data view may comprise: transmitting, to the data center storing the first aggregated data view, a read request for the first aggregated data view; and receiving, from the data center, the first aggregated data view as a response to the read request.
[0136] In some embodiments, duplicates of the first aggregated data view may be stored in a first data center at a first geographical location and a second data center at a second geographical location. In some embodiments, retrieving the first aggregated data view may comprise: in accordance with a determination that the request is received in the first geographical location, retrieving the first aggregated data view from the first data center.
[0137] In some embodiments, a number of aggregated data views may be created and stored in a data center for the plurality of datasets, the number of aggregated data views being less than or equal to an upper limit for the plurality of datasets. In some embodiments, the number of aggregated data views may be less than the number of individual users in the communication network.
[0138] FIG. 12 illustrates a block diagram showing an apparatus 1200 suitable for use in practicing some embodiments of the disclosure. For example, any one of devices described above, including the terminal devices and the base station, may be implemented through the apparatus 1200. As shown, the apparatus 1200 may include a processor 1210, a memory 1220 that stores a program, and optionally a communication interface 1230 for communicating data with other external devices through wired and/or wireless communication.
[0139] The program includes program instructions that, when executed by the processor 1210, enable the apparatus 1200 to operate in accordance with the embodiments of the present disclosure, as discussed above. That is, the embodiments of the present disclosure may be implemented at least in part by computer software executable by the processor 1210, or by hardware, or by a combination of software and hardware.
[0140] The memory 1220 may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memories, magnetic memory devices and systems, optical memory devices and systems, fixed memories and removable memories. The processor 1210 may be of any type suitable to the local technical environment, and may include one or more of general-purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multi-core processor architectures, as non-limiting examples.
[0141] In some example embodiments, an apparatus capable of performing any of the method 1100 (for example, the data processing system 120 and/or the data pre-processor 350 in FIG. 3) may comprise means for performing the respective operations of the method 1100. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. The apparatus may be implemented as or included in the data processing system 120 (and the data pre-processor 350), such as the BSS or OCS for a communication network.
[0142] In some example embodiments, the apparatus comprises means for receiving a request for a user in a first user group in a communication network; means for determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; means for, in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and means for processing the request based at least in part on the retrieved first aggregated data view.
[0143] In some embodiments, the plurality of datasets are specific to the first user group and at least one second user group at different hierarchical levels of a user hierarchy, respectively, the first user group being a child group of the at least one second user group. [0144] In some embodiments, the plurality of datasets comprises a plurality of individual datasets specific to individual users in the first user group.
[0145] In some embodiments, the apparatus comprises means for creating the first aggregated data view by: selecting a first plurality of data subsets from the plurality of datasets based on at least one of the following criteria: a reduction of data read and processing on the first aggregated data view as compared with data read and processing on the plurality of datasets, update frequencies of respective parts of the plurality of datasets, an update efficiency on the first aggregated data view, or usage frequencies of respective parts of the plurality of datasets in processing requests for the first user group; and applying the pre-processing operation on the first plurality of data subsets to create the first aggregated data view.
[0146] In some embodiments, the first user group is associated with the first aggregated data view specific for a first processing flow, and a second aggregated data view specific for a second processing flow. In some embodiments, the means for retrieving the first aggregated data view comprises: means for, in accordance with a determination that the first aggregated data view and the second aggregated data view are both available for the first user group, determining that the request is associated with the first processing flow; and retrieving the first aggregated data view specific for the first processing flow.
[0147] In some embodiments, the apparatus comprises means for creating the first aggregated data view by: selecting, based on a first data requirement in the first processing flow, a first plurality of data subsets from the plurality of datasets, and applying a first pre-processing operation on the first plurality of data subsets. In some embodiments, the apparatus comprises means for creating the second aggregated data view by: selecting, based on a second data requirement in the second processing flow, a second plurality of data subsets from the plurality of datasets, and applying a second pre-processing operation on the second plurality of data subsets.
[0148] In some embodiments, the apparatus comprises means for creating the first aggregated data view in response to one of the following trigger events: provisioning of the first user group, provisioning of a new subscription to a user group in the communication network, a change in subscription data of a user group in the communication network, a change in system configuration related to the first user group, expiry of a subscription to a user group in the communication network, addition or removal of a user in the communication network, and creation of a data center for the communication network.
[0149] In some embodiments, the apparatus further comprises: means for, in accordance with a detection that an update is to be applied on a part of a first dataset among the plurality of datasets, determining that the part of dataset is comprised in the first aggregated data view; means for, in accordance with a determination that the part of the first dataset is comprised in the first aggregated data view, applying the update to the first aggregated data view; and means for, in accordance with a determination that the part of the first dataset is excluded from the first aggregated data view, applying no update to the first aggregated data view.
[0150] In some embodiments, the first aggregated data view is stored in a data center with the plurality of datasets. In some embodiments, the means for retrieving the first aggregated data view comprises: means for transmitting, to the data center storing the first aggregated data view, a read request for the first aggregated data view; and means for receiving, from the data center, the first aggregated data view as a response to the read request.
[0151] In some embodiments, duplicates of the first aggregated data view are stored in a first data center at a first geographical location and a second data center at a second geographical location. In some embodiments, the means for retrieving the first aggregated data view comprises: means for, in accordance with a determination that the request is received in the first geographical location, retrieving the first aggregated data view from the first data center.
[0152] In some embodiments, a number of aggregated data views are created and stored in a data center for the plurality of datasets, the number of aggregated data views being less than or equal to an upper limit for the plurality of datasets. In some embodiments, the number of aggregated data views is less than the number of individual users in the communication network.
[0153] In some embodiments, the apparatus is implemented at an online charging system (OCS), and the request comprises a rating request.
[0154] In some example embodiments, the apparatus further comprises means for performing other operations in some example embodiments of the method 1100. In some example embodiments, the means comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the performance of the apparatus.
[0155] In some embodiments, a computer readable storage medium having instructions stored thereon is provided. The instructions when executed by at least one processor can cause the at least one processor to carry out the functionality in accordance with any one of the embodiments described herein. In some embodiments, the computer readable medium may be a non-transitory computer readable storage medium. A computer readable storage medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a read-only memory (ROM), a random-access memory (RAM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0156] In some embodiments, a computer program comprising instructions is provided. The instructions, when executed by at least one processor, cause the at least one processor to carry out the functionality in accordance with any one of the embodiments described herein. In one embodiment, a carrier containing the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a computer-readable storage medium (e.g., a non-transitory computer-readable medium).
[0157] Although the computing devices described herein (e.g., network nodes) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and/or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and/or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and/or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non- computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[0158] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionalities may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and/or by end users and a wireless network generally.
[0159] Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include DSPs, special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as ROM, RAM, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some embodiments, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure.
[0160] While processes in the figures may show a particular order of operations performed by certain embodiments of the present disclosure, it should be understood that such order is exemplary (e.g., alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc.).
[0161] Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein.

Claims

WHAT IS CLAIMED IS:
1. A computer-implemented method (1100), comprising: receiving (1110) a request for a user in a first user group in a communication network; determining (1120) whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; in accordance with a determination that the first aggregated data view is available for the first user group, retrieving (1130) the first aggregated data view; and processing (1140) the request based at least in part on the retrieved first aggregated data view.
2. The method (1100) of claim 1, wherein the plurality of datasets are specific to the first user group and at least one second user group at different hierarchical levels of a user hierarchy, respectively, the first user group being a child group of the at least one second user group.
3. The method (1100) of claim 1, wherein the plurality of datasets comprises a plurality of individual datasets specific to individual users in the first user group.
4. The method (1100) of any of claims 1 to 3, wherein the first aggregated data view is created by: selecting a first plurality of data subsets from the plurality of datasets based on at least one of the following criteria: a reduction of data read and processing on the first aggregated data view as compared with data read and processing on the plurality of datasets, update frequencies of respective parts of the plurality of datasets, an update efficiency on the first aggregated data view, or usage frequencies of respective parts of the plurality of datasets in processing requests for the first user group; and applying the pre-processing operation on the first plurality of data subsets to create the first aggregated data view.
5. The method (1100) of any of claims 1 to 4, wherein the first user group is associated with the first aggregated data view specific for a first processing flow, and a second aggregated data view specific for a second processing flow; and wherein retrieving the first aggregated data view comprises: in accordance with a determination that the first aggregated data view and the second aggregated data view are both available for the first user group, determining that the request is associated with the first processing flow; and retrieving the first aggregated data view specific for the first processing flow.
6. The method (1100) of claim 5, wherein the first aggregated data view is created by: selecting, based on a first data requirement in the first processing flow, a first plurality of data subsets from the plurality of datasets, and applying a first pre-processing operation on the first plurality of data subsets; and wherein the second aggregated data view is created by: selecting, based on a second data requirement in the second processing flow, a second plurality of data subsets from the plurality of datasets, and applying a second pre-processing operation on the second plurality of data subsets.
7. The method (1100) of any of claims 1 to 6, wherein the first aggregated data view is created or updated in response to one of the following trigger events: provisioning of the first user group, provisioning of a new subscription to a user group in the communication network, a change in subscription data of a user group in the communication network, a change in system configuration related to the first user group, expiry of a subscription to a user group in the communication network, addition or removal of a user in the communication network, and creation of a data center for the communication network.
8. The method (1100) of any of claims 1 to 7, further comprising: in accordance with a detection that an update is to be applied on a part of a first dataset among the plurality of datasets, determining that the part of dataset is comprised in the first aggregated data view; in accordance with a determination that the part of the first dataset is comprised in the first aggregated data view, applying the update to the first aggregated data view; and in accordance with a determination that the part of the first dataset is excluded from the first aggregated data view, applying no update to the first aggregated data view.
9. The method (1100) of any of claims 1 to 8, wherein the first aggregated data view is stored in a data center with the plurality of datasets, and wherein retrieving the first aggregated data view comprises: transmitting, to the data center storing the first aggregated data view, a read request for the first aggregated data view; and receiving, from the data center, the first aggregated data view as a response to the read request.
10. The method (1100) of any of claims 1 to 9, wherein duplicates of the first aggregated data view are stored in a first data center at a first geographical location and a second data center at a second geographical location, and wherein retrieving the first aggregated data view comprises: in accordance with a determination that the request is received in the first geographical location, retrieving the first aggregated data view from the first data center.
11. The method (1100) of any of claims 1 to 10, wherein a number of aggregated data views are created and stored in a data center for the plurality of datasets, the number of aggregated data views being less than or equal to an upper limit for the plurality of datasets.
12. The method (1100) of claim 11, wherein the number of aggregated data views is less than the number of individual users in the communication network.
13. The method (1100) of any of claims 1 to 12, wherein the method is implemented at an online charging system (OCS), and the request comprises a rating request.
14. An apparatus (1200) comprising: at least one processor (1210); and at least one memory (1220) coupled to the at least one processor (1210), the at least one memory (1220) comprising instructions that when executed by the at least one processor (1210) implement acts comprising: receiving a request for a user in a first user group in a communication network; determining whether a first aggregated data view is available for the first user group, the first aggregated data view being created and stored based on a pre-processing operation on a plurality of datasets used in processing requests for the first user group; in accordance with a determination that the first aggregated data view is available for the first user group, retrieving the first aggregated data view; and processing the request based at least in part on the retrieved first aggregated data view.
15. The apparatus (1200) of claim 14, wherein the plurality of datasets are specific to the first user group and at least one second user group at different hierarchical levels of a user hierarchy, respectively, the first user group being a child group of the at least one second user group.
16. The apparatus (1200) of claim 14, wherein the plurality of datasets comprises a plurality of individual datasets specific to individual users in the first user group.
17. The apparatus (1200) of any of claims 14 to 16, wherein the first aggregated data view is created by: selecting a first plurality of data subsets from the plurality of datasets based on at least one of the following criteria: a reduction of data read and processing on the first aggregated data view as compared with data read and processing on the plurality of datasets, update frequencies of respective parts of the plurality of datasets, an update efficiency on the first aggregated data view, or usage frequencies of respective parts of the plurality of datasets in processing requests for the first user group; and applying the pre-processing operation on the first plurality of data subsets to create the first aggregated data view.
18. The apparatus (1200) of any of claims 14 to 17, wherein the first user group is associated with the first aggregated data view specific for a first processing flow, and a second aggregated data view specific for a second processing flow; and wherein retrieving the first aggregated data view comprises: in accordance with a determination that the first aggregated data view and the second aggregated data view are both available for the first user group, determining that the request is associated with the first processing flow; and retrieving the first aggregated data view specific for the first processing flow.
19. The apparatus (1200) of claim 18, wherein the first aggregated data view is created by: selecting, based on a first data requirement in the first processing flow, a first plurality of data subsets from the plurality of datasets, and applying a first pre-processing operation on the first plurality of data subsets; and wherein the second aggregated data view is created by: selecting, based on a second data requirement in the second processing flow, a second plurality of data subsets from the plurality of datasets, and applying a second pre-processing operation on the second plurality of data subsets.
20. The apparatus (1200) of any of claims 14 to 19, wherein the first aggregated data view is created or updated in response to one of the following trigger events: provisioning of the first user group, provisioning of a new subscription to a user group in the communication network, a change in subscription data of a user group in the communication network, a change in system configuration related to the first user group, expiry of a subscription to a user group in the communication network, addition or removal of a user in the communication network, and creation of a data center for the communication network.
21. The apparatus (1200) of any of claims 14 to 20, wherein the acts further comprise: in accordance with a detection that an update is to be applied on a part of a first dataset among the plurality of datasets, determining that the part of dataset is comprised in the first aggregated data view; in accordance with a determination that the part of the first dataset is comprised in the first aggregated data view, applying the update to the first aggregated data view; and in accordance with a determination that the part of the first dataset is excluded from the first aggregated data view, applying no update to the first aggregated data view.
22. The apparatus (1200) of any of claims 14 to 21, wherein the first aggregated data view is stored in a data center with the plurality of datasets, and wherein retrieving the first aggregated data view comprises: transmitting, to the data center storing the first aggregated data view, a read request for the first aggregated data view; and receiving, from the data center, the first aggregated data view as a response to the read request.
23. The apparatus (1200) of any of claims 14 to 22, wherein duplicates of the first aggregated data view are stored in a first data center at a first geographical location and a second data center at a second geographical location, and wherein retrieving the first aggregated data view comprises: in accordance with a determination that the request is received in the first geographical location, retrieving the first aggregated data view from the first data center.
24. The apparatus (1200) of any of claims 14 to 23, wherein a number of aggregated data views are created and stored in a data center for the plurality of datasets, the number of aggregated data views being less than or equal to an upper limit for the plurality of datasets.
25. The apparatus (1200) of claim 24, wherein the number of aggregated data views is less than the number of individual users in the communication network.
26. The apparatus (1200) of any of claims 14 to 25, wherein the apparatus is implemented at an online charging system (OCS), and the request comprises a rating request.
27. A computer readable medium having instructions stored thereon, the instructions when executed by at least one processor (1210) cause the at least one processor (1210) to perform the method (1100) according to any of claims 1 to 13.
28. A computer program product comprising instructions which, when executed on at least one processor (1210), cause the at least one processor (1210) to perform the method (1100) according to any of claims 1 to 13.
PCT/EP2024/050652 2024-01-12 2024-01-12 Optimization of online request processing Pending WO2025149166A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2024/050652 WO2025149166A1 (en) 2024-01-12 2024-01-12 Optimization of online request processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2024/050652 WO2025149166A1 (en) 2024-01-12 2024-01-12 Optimization of online request processing

Publications (1)

Publication Number Publication Date
WO2025149166A1 true WO2025149166A1 (en) 2025-07-17

Family

ID=89620333

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2024/050652 Pending WO2025149166A1 (en) 2024-01-12 2024-01-12 Optimization of online request processing

Country Status (1)

Country Link
WO (1) WO2025149166A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2487869A1 (en) * 2010-08-31 2012-08-15 sovanta AG Computer system for providing aggregated KPI values
US8521774B1 (en) * 2010-08-20 2013-08-27 Google Inc. Dynamically generating pre-aggregated datasets
EP3089437A1 (en) * 2015-04-28 2016-11-02 Alcatel Lucent A method for aggregating network service request related messaging traffic, a charging trigger function module, an online charging system module and a computer program product

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521774B1 (en) * 2010-08-20 2013-08-27 Google Inc. Dynamically generating pre-aggregated datasets
EP2487869A1 (en) * 2010-08-31 2012-08-15 sovanta AG Computer system for providing aggregated KPI values
EP3089437A1 (en) * 2015-04-28 2016-11-02 Alcatel Lucent A method for aggregating network service request related messaging traffic, a charging trigger function module, an online charging system module and a computer program product

Similar Documents

Publication Publication Date Title
US9948791B2 (en) Sharing group notification
US10523531B2 (en) SDN-based API controller
EP3059935B1 (en) Systems, devices, and methods of orchestration and application of business rules for real-time control of subscribers in a telecommunications operator's network
US10148819B2 (en) Team-based customer care routing
US8223777B2 (en) Gateway for achieving low latency and high availability in a real time event processing system
CN109429295A (en) A kind of method, AMF, system and storage medium selecting AMF
US20190058991A1 (en) Communication record privacy protection validation
US12395830B2 (en) Method and system for improving PLMN selection based on required services/ slices for roaming subscribers
US20200267625A1 (en) Operator-id based restriction for a cellular network
US11277718B2 (en) Customer profile and billing lifecycle management in connected endpoints in wireless communication networks
WO2025149166A1 (en) Optimization of online request processing
EP2713550A1 (en) Centralized online charging method and equipment
WO2023124685A1 (en) Pcc policy control method, pcf, smf, and communication system
CN105718483B (en) Method and device for SPR data access of user subscription database
US9591146B2 (en) Method and apparatus for flexible balance management using reservation consumption
CN114691734A (en) Cache control method and device, computer readable medium and electronic device
US10778849B2 (en) Customized service plan generation
US11977526B2 (en) Systems and methods for generating microdatabases
EP4412288A1 (en) Training models specific or generic for subset(s) of user equipment capability classes
US12279201B2 (en) Federated provisioning on multiple core networks based on unique device identifiers
US20250142318A1 (en) Cellular network context based query systems and methods
WO2022105795A1 (en) Network operating method, network element, and storage medium
US10084926B1 (en) Grafting and separation of mobile telephone number lines
WO2025194642A1 (en) Ue policy adjustment method, core network device, ue, and storage medium
WO2023179709A1 (en) Information processing method and apparatus, communication device, and readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24700598

Country of ref document: EP

Kind code of ref document: A1