Method and system for managing allocation of data plans in a network
The method and system address inefficiencies in data plan allocation by prioritizing based on parameters like priority, type, and quota, ensuring accurate and timely billing and resource optimization.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-07-16
- Publication Date
- 2026-03-12
AI Technical Summary
Conventional network environments face inefficiencies in data plan allocation due to the lack of a systematic method for prioritizing and selecting data plans based on multiple parameters, leading to delays, incorrect billing, and suboptimal resource utilization.
A method and system that prioritize and select data plans using a recursion technique based on parameters such as data plan priority, type, purchase date, and quota availability, ensuring real-time validation and accurate billing.
Enhances data plan management efficiency, reduces errors and discrepancies in billing, and optimizes network resource utilization by ensuring timely and correct data plan allocation and charging.
Smart Images

Figure IN2025051069_12032026_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR MANAGING ALLOCATION OF DATA PLANS IN A NETWORKRESERVATION OF RIGHTS
[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to JIO PLATFORMS LIMITED or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD
[0002] The present disclosure generally relates to the field of telecommunication networks. More particularly, the present disclosure relates to a system and a method for managing allocation of one or more data plans in a network.DEFINITION
[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.
[0004] The term ‘data plans’ used hereinafter in the specification refers to predefined sets of data usage entitlements or service packages offered to a subscriber in a telecommunication network. A data plan may include data quota, validity period, and charging type (e.g., prepaid plans, postpaid plans (including rental plans with amonthly bill cycle), hybrid plans, and add-on plans). Data plans are used to allocate and deduct data usage in accordance with operator policies.
[0005] The term ‘network function’ as used hereinafter in the specification refers to a component within a telecommunication network that performs specific network operations related to managing data plans, charging services, session handling, and policy enforcement. Examples of the network functions include a Policy Control Function (PCF), a Session Management Function (SMF), and a Charging Function (CHF), among others.
[0006] The term ‘Policy Control Function (PCF)’ as used hereinafter refers to a control-plane network function responsible for managing and enforcing policy rules for network access, data usage, and resource allocation. The PCF communicates with other network functions to apply policy decisions and handle real-time charging interactions.
[0007] The term ‘Charging Function - Broadband Network Gateway (CHF- BNG)’ as used hereinafter refers to a network entity or specific configuration of a Charging Function (CHF) integrated with a Broadband Network Gateway (BNG). The CHF-BNG is responsible for calculating, applying, and recording service usage and billing events specifically for broadband data services. The CHF-BNG interfaces with network functions, such as the SMF and the PCF, to manage real-time data charging and allocation.
[0008] The term ‘Session Management Function (SMF)’ as used hereinafter refers to a control-plane network function in a 5thGeneration (5G) core network that is responsible for managing the lifecycle of user sessions, including session creation, modification, and termination. The SMF coordinates with the CHF-BNG to facilitate data flow control, session quotas, and policy-based routing.
[0009] The term ‘Sy interface’ as used hereinafter refers to a standardized interface used within the telecommunication network for communication between an Online Charging System (OCS) and a Policy and Charging Rules Function (PCRF). The Sy interface enables a selection and validation of the most appropriate data plan from a prioritized set of plans, facilitating dynamic charging and policy enforcement decisions.
[0010] The term ‘set of parameters’ as used hereinafter refers to a group of predefined attributes or criteria used by the network entity to evaluate and compare data plans for prioritization, validation, and selection. The set of parameters may include, but is not limited to, a data plan priority, a data plan type, a data plan purchase or recharge date, and quota availability. The set of parameters is used sequentially to determine the eligibility and selection order of data plans.
[0011] The term ‘data plan priority’ or ‘priority field’ as used hereinafter refers to a numeric or categorical value associated with a data plan that determines its relative priority when compared with other data plans. The network entity evaluates the priority field to determine which data plan should be allocated first for charging purposes.
[0012] The term ‘purchase date’ or ‘recharge date’ as used hereinafter refers to a timestamp or recorded date on which a data plan was activated or purchased by a user (e.g., a subscriber).
[0013] The term ‘rental plan’ as used hereinafter refers to a postpaid data plan characterized by a monthly bill cycle, during which a subscriber is allocated a predefined data quota for the next billing period after the bill cycle date. Rental plans are prioritized over other plan types in postpaid scenarios, particularly when significant data consumption occurs before the bill cycle.
[0014] The term ‘quota availability’ as used hereinafter refers to an amount of data remaining or available for consumption under a particular data plan. Quota availability is used as one of the parameters from the set of parameters in determining the eligibility of the data plan for allocation.
[0015] The term ‘stack’ as used hereinafter refers to a data structure used by the network entity (e.g., the CHF-BNG) to arrange multiple data plans in a prioritized sequence. The stack follows a priority ordering mechanism where the most eligible plan is positioned at the top for allocation.
[0016] The term ‘validation rules’ as used hereinafter refers to a set of predefined conditions or checks applied by the network entity (e.g., CHF-BNG) to determine whether a selected data plan is valid for allocation. Validation rules may consider plan status, policy compatibility, subscriber entitlements, quota balance, and activation conditions.
[0017] The term ‘allocation’ as used hereinafter refers to a process of assigning a specific data plan to a user session or subscriber to enable data usage and initiate corresponding charging services.
[0018] The term ‘charging services’ as used herein refers to operations involved in measuring, calculating, and reporting usage of data services for billing purposes. Charging services ensure that data consumed under a given plan is correctly recorded and deducted according to applicable policy rules.
[0019] The term ‘Media Access Control Identifier (MAC ID)’ as used hereinafter refers to a unique identifier assigned to a user equipment (UE) associated with the subscriber. The MAC ID is used to associate a request with a specific subscriber or network function instance for request differentiation and session handling.
[0020] The term ‘new data plan’ as used hereinafter refers to a data plan that has been newly requested for allocation by the subscriber and has yet to be validated or assigned for active use. New data plans are received by the network entity in response to specific triggers, such as data plan expiration, quota exhaustion, or user purchase, and are added to the stack for allocation.
[0021] The term ‘existing data plans’ as used hereinafter refers to data plans that are already allocated or activated by the subscriber and are currently valid or in effect at the time of receiving an allocation request. The existing data plans may still have remaining quotas or validity and may be considered alongside the new data plan during the prioritization and allocation process by the network entity.
[0022] These definitions are in addition to those expressed in the art.BACKGROUND
[0023] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the reader's understanding with respect to the present disclosure, and not as admissions of prior art.
[0024] In modern telecommunications networks, particularly in Fifth Generation (5G) and next-generation network architectures, efficient management of data plans and accurate charging of services is essential. Efficient management of data plans and accurate billing are crucial in modern telecommunication networks to ensure financial health, operational efficiency, and customer satisfaction. Proper billing ensures that service providers maximize revenue while providing transparent and trustworthy service to subscribers. As the number of connected devices and the demand for data services continue to rise, the network functions must ensure thatusers are allocated the correct data plans in a timely manner while also ensuring that the appropriate charges are applied based on data usage. Effective data plan allocation directly impacts the quality of user experience and the utilization of network resources.
[0025] In conventional network environments, particularly those managing a wide range of data plans, several challenges arise in allocating these plans effectively. Existing approaches often rely on basic queuing or selection mechanisms that do not account for multiple parameters that may influence the prioritization of data plan allocation, such as data plan priority, data plan type, purchase or recharge date, and quota availability, which may not be systematically considered. As a result, inefficiencies in the data plan allocation may occur, leading to delays, incorrect billing, and suboptimal utilization of the network resources.
[0026] There is, therefore, a need in the art to provide a method and a system that can mitigate the disadvantages of the prior art.OBJECTIVE
[0027] Some of the objectives of the present disclosure, which at least one embodiment herein satisfies, are as follows:
[0028] An objective of the present disclosure is to provide a system and a method for managing allocation of one or more data plans in a network.
[0029] Another objective of the present disclosure is to enable efficient prioritization and selection of a data plan from the one or more data plans based on a set of parameters (e.g., data plan priority, data plan type, data plan recharge / purchase date, and data plan quota availability) checked in a sequential order.
[0030] Another objective of the present disclosure is to ensure that the allocation of the one or more data plans is aligned with real-time charging services, thereby reducing billing discrepancies and enhancing customer satisfaction.
[0031] Another objective of the present disclosure is to minimize the potential for errors in the allocation and charging services by implementing a systematic approach for prioritizing and selecting the data plan.
[0032] Yet another objective of the present disclosure is to facilitate accurate and timely billing by ensuring that the selected data plan is applied correctly and that the corresponding charges are promptly updated.
[0033] Other objects and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.SUMMARY
[0034] In an exemplary embodiment, a method for managing allocation of one or more data plans in a network is described. The method includes receiving, by a network entity, a request related to the allocation of at least one new data plan from a first network function. The method includes placing, by the network entity, the at least one new data plan in a stack in response to the received request, wherein the stack includes one or more existing data plans. The method includes arranging, by the network entity, each data plans placed in the stack in a priority order using a recursion technique based on a set of parameters associated with the at least one new data plan. The method includes selecting, by the network entity, a data plan from the arranged data plans having a highest priority for the allocation.
[0035] In an embodiment, the set of parameters includes a data plan priority, a data plan type, a data plan purchase date, and a data plan quota availability.
[0036] In an embodiment, to arrange the data plans using the recursion technique, the method includes comparing, by the network entity, each parameter of the set of parameters associated with the at least one new data plan with a corresponding parameter associated with each of the one or more existing data plans. The method further includes determining, by the network entity, the data plan having the highest priority based on the comparison. The method further includes placing, by the network entity, the determined data plan at a top of the stack.
[0037] In an embodiment, the method further includes determining, by the network entity, at least two data plans from the arranged data plans having an equal data plan priority. Upon determining that the data plan priority is equal, the method further includes assigning, by the network entity, the highest priority to the data plan having an earlier data plan purchase date in the stack.
[0038] In an embodiment, the method further includes determining, by the network entity, the data plan type of the at least one new data plan. The method further includes, upon determining the at least one new data plan is a rental data plan, assigning, by the network entity, the highest priority to the rental data plan in the stack.
[0039] In an embodiment, upon selecting the data plan from the arranged data plans, the method further includes validating, by the network entity, the selected data plan having the highest priority based on a set of validation rules associated with the at least one new data plan. Upon validation, the method further includes notifying, by the network entity, a second network function regarding the allocation of the selected data plan to perform a change in at least one policy according to the selected data plan.
[0040] In an embodiment, upon receiving the request, the method further includes identifying, by the network entity, the received request related to theallocation of the at least one new data plan corresponding to a subscriber based on a unique Media Access Control Identifier (MAC ID) associated with the subscriber.
[0041] In an embodiment, the network entity is a Charging Function - Broadband Network Gateway (CHF-BNG), the first network function is a Session Management Function (SMF), and the second network function is a Policy Control Function (PCF).
[0042] In another exemplary embodiment, a system for managing allocation of one or more data plans in a network is disclosed. The system includes a network entity configured to receive a request related to the allocation of at least one new data plan from a first network function. The system further includes a memory configured to store the received request. The system further includes a processor coupled to the memory. The processor is configured to receive the request from the memory and execute instructions stored in the memory to place the at least one new data plan in a stack in response to the received request, wherein the stack includes one or more existing data plans. The processor is configured to arrange data plans placed in the stack in a priority order using a recursion technique based on a set of parameters associated with the at least one new data plan. The processor is configured to select a data plan from the arranged data plans having a highest priority for the allocation.
[0043] In yet another exemplary embodiment, the present disclosure discloses a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing allocation of one or more data plans in a network. The method includes receiving, by a network entity, a request related to the allocation of at least one new data plan from a first network function. The method includes placing, by the network entity, the at least one new data plan in a stack in response to the received request, wherein the stack includes one or more existing data plans. The method includes arranging, by the network entity, data plansplaced in the stack in a priority order using a recursion technique based on a set of parameters associated with the at least one new data plan. The method includes selecting, by the network entity, a data plan from the arranged data plans having a highest priority for the allocation.BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
[0044] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which, like reference numerals, refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0045] FIG. 1 illustrates an exemplary network architecture for implementing a system for managing allocation of one or more data plans in a network, in accordance with an embodiment of the present disclosure.
[0046] FIG. 2 illustrates a block diagram of the system for managing the allocation of the one or more data plans in the network, in accordance with an embodiment of the present disclosure.
[0047] FIG. 3 illustrates an exemplary system architecture of a Sy interface for managing the allocation of the one or more data plans in the network, in accordance with an embodiment of the present disclosure.
[0048] FIG. 4 illustrates an exemplary flow diagram of a method for managing the allocation of the one or more data plans in the network, in accordance with an embodiment of the present disclosure.
[0049] FIG. 5 illustrates another exemplary flow diagram of a method for managing the allocation of the one or more data plans in the network, in accordance with an embodiment of the present disclosure
[0050] FIG. 6 illustrates an example computer system in which or with which the embodiments of the present disclosure may be implemented.
[0051] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100 - Network architecture102- 1 , 102-2... 102-N - Plurality of Users104- 1 , 104-2... 104-N - Plurality of User Equipments106 - Network108 - System200 - Block Diagram202 - Processor(s)204 - Memory206 - Interface(s)208 - Network entity210 - Database300 - System architecture302 - Sy (system) interface 304 - Data plans change request / scenario306 - Charging policy change logic block308 - Top data plan decided through the logic block310 - Other data plans in stack312 - Data plan stack 400, 500 - Method steps600 - Computer System610 - External Storage Device620 - Bus630 - Main Memory 640 - Read Only Memory650 - Mass Storage Device660 - Communication Port670 - ProcessorDETAILED DESCRIPTION
[0052] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.
[0053] The ensuing description provides exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0054] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0055] Also, it is noted that individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0056] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term “comprising” as an open transition word without precluding any additional or other elements.
[0057] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0058] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.
[0059] As used herein, an “electronic device”, or “portable electronic device”, or “user device” or “communication device” or “user equipment” or “device” refers to any electrical, electronic, electromechanical and computing device. The user device is capable of receiving and / or transmitting one or parameters, performing function / s, communicating with other user devices and transmitting data to the other user devices. The user equipment may have a processor, a display, a memory, a battery and an input-means such as a hard keypad and / or a soft keypad. The userequipment may be capable of operating on any radio access technology including but not limited to IP-enabled communication, Zig Bee, Bluetooth, Bluetooth Low Energy, Near Field Communication, Z-Wave, Wi-Fi, Wi-Fi direct, etc. For instance, the user equipment may include, but not limited to, a mobile phone, smartphone, virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general- purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other device as may be obvious to a person skilled in the art for implementation of the features of the present disclosure.
[0060] Further, the user device may also comprise a “processor” or “processing unit” includes processing unit, wherein processor refers to any logic circuitry for processing instructions. The processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a Digital Signal Processing (DSP) core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input / output processing, and / or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor is a hardware processor.
[0061] Radio Access Technology (RAT) refers to the technology used by mobile devices / User Equipment (UE) to connect to a cellular network. It refers to the specific protocol and standards that govern the way devices communicate with base stations, which are responsible for providing the wireless connection. Further, each RAT has its own set of protocols and standards for communication, which define the frequency bands, modulation techniques, and other parameters used for transmitting and receiving data. Examples of RATs include a GSM (Global System for Mobile Communications), a Code Division Multiple Access (CDMA), a Universal MobileTelecommunications System (UMTS), a Long-Term Evolution (LTE), a Fifth Generation (5G) technology, and a Sixth Generation (6G) technology. The choice of RAT depends on a variety of factors, including the network infrastructure, the available spectrum, and the mobile device's / device's capabilities. Mobile devices often support multiple RATs, allowing them to connect to different types of networks and provide optimal performance based on the available network resources.
[0062] Wireless communication technology has rapidly evolved over the past few decades. The first generation of wireless communication technology was analog, offering only voice services. Further, text messaging and data services became possible when a Second Generation (2G) technology was introduced. A Third Generation (3G) technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. A Fourth Generation (4G) technology revolutionized the wireless communication with faster data speeds, improved network coverage, and security. Currently, the 5G technology is being deployed, offering significantly faster data speeds, lower latency, and the ability to connect many devices simultaneously. These advancements represent a significant leap forward from previous generations, enabling enhanced mobile broadband, improved Internet of Things (loT) connectivity, and more efficient use of network resources. The 6G technology promises to build upon these advancements, pushing the boundaries of wireless communication even further. While the 5G technology is still being rolled out globally, research and development into the 6G are rapidly evolving, with the aim of revolutionizing the way of connecting and interacting with technology. Currently, the 5G technology is being deployed, with even faster data speeds, low latency, and the ability to connect multiple devices simultaneously. The 6G technology promises to build upon these advancements, pushing the boundaries of wireless communication even further. Looking ahead, 6G technology promises to build upon these advancements, pushing the boundaries of wireless communication even further. As wireless communication technologies have rapidly evolved from 2Gto 6G and beyond, the complexity of telecommunication network deployments has increased significantly. This evolution of wireless communication technologies ensure optimal telecommunication network performance and reliability in modern communication systems.
[0063] While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment as well as other embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.
[0064] In modern telecommunication networks, efficient and accurate data plan allocation management is vital for maintaining network efficiency and ensuring proper billing. However, existing methods for managing these processes face significant challenges, including inefficiencies in prioritizing and allocating data plans based on dynamic user demands and real-time service requirements.
[0065] One of the primary challenges lies in managing the allocation of multiple data plans received in response to the user requests. Conventional approaches often lack a systematic method for arranging data plans based on a set of parameters, leading to potential delays and errors in the data plan allocation. This may further result in user dissatisfaction due to incorrect billing or inadequate service provisioning.
[0066] Another significant challenge is ensuring that the charging services are updated in real-time, in accordance with the selected data plans. In many cases, delays in updating the charging systems may lead to billing discrepancies, whereusers are either overcharged or undercharged based on outdated information. Such inconsistencies may impact customer satisfaction and complicate the financial management and auditing processes within the telecommunication network.
[0067] Furthermore, the lack of a mechanism for validating the selected data plans may increase the probability of errors in both data plan allocation and billing processes. This issue is particularly pronounced in large-scale networks where multiple user sessions and plan allocations are handled concurrently, making it difficult to maintain accuracy and consistency across all transactions.
[0068] To address these challenges, the present disclosure provides a method and system for managing allocation of data plans in the network. The disclosed method ensures that data plans (existing and newly added data plans) are placed in a queue and selected in a priority order based on a set of predefined parameters (e.g., data plan priority, data plan type, data plan recharge / purchase date, and data plan quota availability) checked in a sequential order, thereby optimizing the allocation process. Additionally, the method provides real-time validation of the selected data plans, ensuring that the billing information is accurate and up-to-date. The disclosed method and system not only enhance the efficiency of data plan management but also significantly reduce the risk of errors and discrepancies in billing.
[0069] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.
[0070] The various embodiments throughout the disclosure will be explained in more detail with reference to FIG. 1 - FIG. 6.
[0071] FIG. 1 illustrates an exemplary network architecture 100 for implementing a system 108 for managing allocation of one or more data plans in a network 106, in accordance with an embodiment of the present disclosure. Examplesof the network may include, the 4G network, the 5G network, the 6G network, and the like.
[0072] As illustrated in FIG. 1, the network architecture 100 may include one or more computing devices or User Equipments (UEs) 104-1, 104-2... 104-N associated with one or more users 102-1, 102-2... 102-N in an environment. A person of ordinary skill in the art will understand that one or more users 102-1, 102-2... 102- N may be individually referred to as the user 102 and collectively referred to as the users 102. Similarly, a person of ordinary skill in the art will understand that one or more UEs 104-1, 104-2... 104-N may be individually referred to as the UE 104 and collectively referred to as the UEs 104. A person of ordinary skill in the art will appreciate that the terms “computing device(s)” and “user equipment” may be used interchangeably throughout the disclosure. Although three UEs 104 are depicted in FIG. 1, however, any number of the UEs 104 may be included without departing from the scope of the ongoing description.
[0073] In an embodiment, the UE 104 may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the UE 104 may include, but is not limited to, smartphones, smart watches, smart sensors (e.g., a mechanical sensor, a thermal sensor, an electrical sensor, a magnetic sensor, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart televisions (TVs), computers, smart security systems, smart home systems, other devices for monitoring or interacting with or for the user 102 and / or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the UE 104 may include, but is not limited to, intelligent, multi-sensing, network-connected devices, that can integrate seamlessly with each other and / or with a central server or a cloudcomputing system or any other device that is network-connected.
[0074] In an embodiment, the UE 104 may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smart phone, a phablet device, and so on), a wearable computer device (e.g., a head-mounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and / or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the UE 104 may include, but is not limited to, any electrical, electronic, electro-mechanical, or an equipment, or a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, a laptop, a general-purpose computer, a desktop, a personal digital assistant, a tablet computer, a mainframe computer, or any other computing device. Further, the UE 104 may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user 102 or an entity such as a touch pad, a touch enabled screen, an electronic pen, and the like. A person of ordinary skill in the art will appreciate that the UE 104 may not be restricted to the mentioned devices and various other devices may be used.
[0075] In FIG. 1 , the UE 104 may communicate with the system 108 through the network 106. In particular, the UE 104 may be communicatively coupled with the network 106. The coupling includes steps of receiving, by network 106, a connection request from UE 104. Upon receiving the connection request, the coupling includes steps of sending, by the network 106, an acknowledgment of the connection request to the UE 104. Further, the coupling includes steps of transmitting a plurality of signals in response to the connection request. Based on the plurality of signals, the system 108 may be configured to manage the allocation of one or more data plans in the network (106).
[0076] In an embodiment, the network 106 may include at least one of the 4G network, the 5G network, the 6G network, or the like. The network 106 may enable the UE 104 to communicate with other devices in the network architecture 100 and / or with the system 108. The network 106 may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network 106 may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), an internet, an intranet, a public network, a private network, a packet- switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. In another embodiment, the network 106 includes, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth.
[0077] In another exemplary embodiment, the network architecture 100 may include a centralized server (not shown) may include or comprise, by way of example but not limitation, one or more of a stand-alone server, a server blade, a server rack, a bank of servers, a server farm, a hardware supporting a part of a cloud service or a system, a home server, a hardware running a virtualized server, one or more processors executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof.
[0078] Although FIG. 1 shows exemplary components of the network architecture 100, in other embodiments, the network architecture 100 may includefewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture 100 may perform functions described as being performed by one or more other components of the network architecture 100.
[0079] FIG. 2 illustrates an exemplary block diagram 200 of the system 108 configured for managing the allocation of the one or more data plans in the network 106, in accordance with an embodiment of the present disclosure. FIG. 2 is explained in conjunction with FIG. 1.
[0080] In an embodiment, the network 106 may be, for example, the 4G network, the 5G network, the 6G network, and the like. In an embodiment, the data plans refer to subscriber-specific packages or plans that allocate network resources, such as data quotas, to a user device (e.g., the UE 104) for accessing network services. The data plans may include various types, such as prepaid plans, postpaid plans, rental plans, and promotional data packs.
[0081] In an embodiment, the system 108 may include one or more processor(s) 202. The one or more processor(s) 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) 202 may be configured to fetch and execute computer-readable instructions stored in a memory 204 of the system 108. The memory 204 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory 204 may include any non-transitory storage device including, for example, volatile memory such as random-accessmemory (RAM), or non-volatile memory such as erasable programmable read only memory (EPROM), flash memory, and the like.
[0082] In an embodiment, the one or more processor(s) 202 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the one or more processor(s) 202. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the one or more processor(s) 202 may be processorexecutable instructions stored on a non-transitory machine-readable storage medium and the hardware for the one or more processor(s) 202 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the one or more processor(s) 202. In such examples, the system 108 may include the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system and the processing resource. In other examples, the one or more processor(s) 202 may be implemented by electronic circuitry.
[0083] In an embodiment, the system 108 may include an interface(s) 206. The interface(s) 206 may include a variety of interfaces, for example, interfaces for data input and output devices (I / O), storage devices, and the like. The interface(s) 206 may facilitate communication through the system 108. The interface(s) 206 may also provide a communication pathway for one or more components of the system 108. Examples of such components include, but are not limited to, a network entity 208 and a database 210.
[0084] In an embodiment, the network entity 208 is configured to manage the allocation of one or more data plans in the network 106. In an embodiment, thenetwork entity 208 may correspond to a Charging Function - Broadband Network Gateway (CHF-BNG). In order to manage the allocation of the one or more data plans, the network entity 208 may be configured to receive a request related to the allocation of at least one new data plan from a first network function. To receive the allocation request, the network entity 208 may be communicatively coupled to the first network function via the network 106. The first network function may correspond to a Session Management Function (SMF). In an embodiment, the SMF may be configured to manage and control data sessions, including session creation, session modification, and session termination.
[0085] In an embodiment, the at least one new data plan refer to a data plan that has been newly requested for allocation to a UE, such as the UE 104 in response to a triggering event, such as an exhaustion of an existing data quota, an expiration of a current data plan, or a purchase of an additional data service. The new data plan may be a prepaid plan, a postpaid (rental) plan, a hybrid plan, or an add-on plan, depending on the service subscribed to by a subscriber (e.g., the user 102). Each new data plan may include attributes such as a data quota, a validity period, a purchase or recharge date, a priority field, a data plan type, and quota availability information.
[0086] In an embodiment, upon receiving the request, the network entity 208 may identify that the received request is related to the allocation of the at least one new data plan corresponding to a subscriber based on a unique Media Access Control Identifier (MAC ID) associated with the subscriber.
[0087] Further, the network entity 208 may be configured to place the at least one new data plan in a stack in response to the received request. The stack may include one or more existing data plans that are currently associated with the subscriber. The one or more existing data plans refer to previously allocated, active, and valid plans that still have quota availability or remaining validity at the time the request is received. In an embodiment, the one or more existing data plans present inthe stack may be retrieved by accessing a database, such as the database 210 or a management system to extract detailed information regarding the data plans currently subscribed by the subscriber of a particular UE (e.g., the UE 104). The retrieval allows the network entity 208 to accurately assess the one or more existing data plans, ensuring that any new plan allocations or modifications are performed in line with the current plan settings. By integrating the existing data plan information, the network entity 208 may effectively manage resources, apply appropriate policies, and maintain continuity of service, thereby optimizing overall network performance and user experience.
[0088] At this stage, the at least one new data plan and the one or more existing data plans are simply queued in the order they were received and have not yet been prioritized or arranged according to any specific criteria. In other words, these plans are still required to be arranged based on a set of parameters. The arrangement of the data plans is crucial as it determines the order in which the data plans may be allocated and charged.
[0089] Following the initial queuing of the data plan, the network entity 208 may arrange the data plans (e.g., a combination of the at least one newly requested data plan and the one or more existing data plans) placed in the stack in a priority order based on checking the set of predefined parameters in a sequential order using a recursion technique. In an embodiment, the set of predefined parameters may be associated with the at least one new data plan. The set of parameters may include, but is not limited to, a data plan priority, a data plan type, a data plan purchase date, and a data plan quota availability.
[0090] The recursion technique refers to implementing a recursive-based approach in a policy change algorithm (e.g., a priority-based plan selection algorithm) used by the network entity 208. The algorithm uses a priority-based recursive approach to evaluate and compare each incoming or existing data plan in the stack bychecking the predefined set of parameters in sequential order. In other words, the algorithm recursively evaluates and compares each newly received or existing data plan within the stack against other data plans based on checking the set of predefined parameters (such as data plan priority, data plan type, data plan purchase date, and data plan quota availability), in the sequential order. In an embodiment, checking the set of predefined parameters in the sequential order allows the network entity 208 to prioritize data plans based on operator-defined business logic, ensuring that higher priority parameters are considered / checked first, and secondary parameters are only checked if needed. Moreover, by using the predefined parameters in a specific order, the system 108 ensures that the most suitable data plan is selected for data allocation and charging. This approach not only improves processing speed but also reduces the chances of errors in plan selection and billing.
[0091] The data plan priority (also referred to as a priority field) refers to a predefined numeric value associated with a data plan, which indicates the relative precedence of that data plan compared to other available data plans. In an embodiment, the priority field is assigned to each data plan during the provisioning or configuration stage, based on operator-defined business logic and service policies. A higher numeric value in the priority field indicates a higher priority for allocation. During evaluation, if the network entity 208 determines that the priority fields of multiple data plans are not equal, the data plan with the highest priority field is selected for allocation without the need to evaluate further parameters. If two or more data plans have an equal priority field value, then secondary parameters, such as the purchase date or plan type, are evaluated to determine the most appropriate plan for allocation. The priority field thus serves as the first and primary criterion in the sequential evaluation process performed by the network entity 208.
[0092] The data plan type may include, but is not limited to, prepaid plans, postpaid plans (rental plans), hybrid plans, or add-on plans. Certain data plan types may be prioritized over others based on network strategies, operator policies, or userspecific subscription profiles. In an embodiment, the prepaid plan refers to a data plan where the subscriber (e.g., the user 102) pays in advance for a specified amount of data usage or validity period. Prepaid plans are typically consumed until the purchased quota is exhausted or the validity period expires, after which the user / subscriber must recharge or purchase a new plan. Further, the postpaid plan (e.g., rental plan) refers to a data plan where the subscriber is billed after consumption, often aligned with a predefined billing cycle (e.g., monthly). Further, the hybrid plan refers to a data plan that combines characteristics of both prepaid and postpaid models. For example, a subscriber may have a base postpaid rental plan but can purchase additional prepaid add-ons if the included quota is exhausted before the billing cycle ends. Additionally, the add-on plan refers to an auxiliary or supplementary data plan that provides additional data quota or services beyond the primary plan. Add-on plans are often purchased separately when the main plan's quota is exhausted and typically have lower priority compared to primary prepaid or postpaid plans. By retrieving details of the different types of data plans, the network entity 208 may ensure that new data plan allocations are managed correctly in relation to the user’s current data plan configurations and billing arrangements, thereby optimizing service delivery and maintaining billing accuracy.
[0093] Further, the data plan purchase date or recharge date refers to a timestamp or date on which the subscriber purchased, activated, or recharged a data plan. The purchase date is a secondary decision-making parameter when two or more data plans have an equal priority field value. In such scenarios, the network entity 208 compares the purchase dates of the data plans and assigns a higher priority to the data plan having an earlier purchase date, thereby ensuring that older entitlements are utilized before newer ones. This approach helps in maintaining billing accuracy,ensures fair usage of pre-existing entitlements, and prevents unnecessary expiration of earlier purchased plans.
[0094] Additionally, the data plan quota availability refers to the amount of remaining data volume or quota associated with a given data plan. Quota availability is used as a parameter to verify whether the data plan is still valid for allocation and continued charging. The network entity 208 may evaluate the available quota to ensure that the data plan selected for allocation has sufficient balance to support user data sessions. If a data plan has exhausted its quota, it may be deprioritized or excluded from selection in favor of another eligible plan with available quota. Monitoring quota availability ensures that users experience uninterrupted service and that charging activities remain accurate and aligned with actual data usage.
[0095] In order to arrange each of the data plans in the stack, the network entity 208 first compares each parameter of the set of parameters associated with the at least one new data plan with a corresponding parameter associated with each of the one or more existing data plans. During this process, the network entity 208 initiates comparisons starting with the highest-priority parameter (e.g., priority field) and, if necessary, proceeds sequentially to secondary parameters (e.g., data plan type, data purchase date, quota availability) until a decisive order may be established. The recursive nature of the algorithm enables efficient handling of multiple data plans by continuously breaking down the comparison task into smaller subsets until the most eligible data plan is identified, thereby improving computational efficiency and decision accuracy.
[0096] Based on the comparison performed using the recursion technique, the network entity 208 further determines a data plan having the highest priority among the available data plans in the stack. The determination process involves evaluating each relevant parameter in a predefined order of importance and selecting the data plan that satisfies the highest-priority conditions. For example, if multipledata plans exhibit the same priority value, the network entity 208 applies secondary evaluation criteria, such as earlier purchase date or rental plan type, to resolve any tie and ensure the most appropriate data plan is selected for allocation and charging. This approach ensures that prioritization is accurate, dynamic, and adaptable to the current network and subscriber conditions.
[0097] To further elaborate, upon comparing, the network entity 208 may determine at least two data plans from the data plans having an equal data plan priority (e.g., the priority field). Upon determining that the data plan priority is equal, the network entity 208 may assign the highest priority to the data plan having an earlier data plan purchase date in the stack.
[0098] In an embodiment, the network entity 208 may also determine the data plan type of the at least one new data plan. Upon determining that the at least one new data plan is a rental data plan (e.g., the postpaid plan), the network entity 208 may assign the highest priority to the rental data plan in the stack.
[0099] Once the data plan with the highest priority is determined, the network entity 208 may further place the determined data plan at the top of the stack. The network entity 208 may then select the data plan from the arranged data plans with the highest priority for the allocation.
[0100] In an embodiment, upon selecting the data plan from the arranged data plans, the network entity 208 may validate the selected data plan having the highest priority based on a set of validation rules associated with the at least one new data plan. The validation ensures that the selected data plan is eligible for allocation and complies with predefined operator policies and subscriber entitlements. The set of validation rules may include, but is not limited to, verifying activation status of the selected data plan, confirming quota availability, checking plan validity against expiry dates, ensuring compatibility with the subscriber’s profile (e.g., prepaid orpostpaid account type), and assessing any service restrictions or special conditions tied to the selected data plan.
[0101] Upon validation, the network entity 208 may notify a second network function regarding the allocation of the selected data plan. In an embodiment, the second network function may correspond to a Policy Control Function (PCF). The PCF may be configured to perform a change in at least one policy according to the selected data plan. Such policy changes may include updating the subscriber’s charging rules, modifying quota management parameters, adjusting access restrictions, or prioritizing data flows based on the allocated plan’s service class.
[0102] In particular, following the notification, the PCF may ensure that the next deductions or charging activities for the subscriber session are performed under the newly assigned data plan, thereby maintaining charging accuracy, billing transparency, and service continuity. This dynamic policy update process allows the network 106 to align session management, billing, and quality of service settings with the most recent data plan allocation, ensuring an optimized user experience within the network 106.
[0103] In an embodiment, the database 210 includes data (e.g., subscriber profiles, data plan records, priority field values, quota usage records, purchase dates, policy types, and validation rule configurations, etc.) that may be either stored or generated as a result of functionalities implemented by any of the components of the system 108.
[0104] In an overall aspect, the network entity 208 may be implemented as the CHF-BNG. The CHF-BNG integrates the roles of charging control and broadband data handling within the network 106. The CHF may be responsible for managing billing and charging rules specifically for broadband services delivered via the BNG The CHF calculates and records service charges based on usage data and policy rules,enabling accurate billing and charging management in the network (e.g., the 5G core network).
[0105] In an overall aspect, the CHF-BNG may include a plurality of interfaces (e.g., N4 interface, diameter-based interface (Sy interface), etc.) configured to monitor and receive incoming requests from the SMF continuously. These requests pertain to creating, modifying, and terminating sessions within the network 106. Specifically, the interfaces are designed to handle session creation requests, session update requests, and session termination requests. During the creation of a session, data is allocated to the customer / subscriber from a designated data plan. As the session progresses, update requests are received, reporting the amount of data used and allocating additional data as required. When the data plan is either expired or fully consumed, a new data pack or data plan may be validated to ensure the continuation of data charging services. The validation process of the new data pack considers the set of parameters (e.g., policy type, pack type, purchase date, etc.) to determine its eligibility.
[0106] In an overall aspect, the postpaid plan (e.g., rental plan), which holds the highest priority, is first assigned for data deduction and is considered fully exhausted once utilized. A new data pack (interchangeably referred to as the data plan) is selected for subsequent data allocation and deduction. These data packs are organized in the stack where the most eligible data pack for deduction is positioned at the top. The selection of this top data pack is based on the set of parameters, including but not limited to, a pack priority, a pack type, a purchase date, and an available quota. The data pack that ranks highest across all priority parameters is placed first in the stack and is validated for the next data allocation. Upon validation of the selected data pack, the PCF is notified, enabling future deductions to be managed using this newly assigned data pack.
[0107] In an overall aspect, when the new data pack is added to the queue, the new data pack priority is determined by considering a predefined set of priority criteria: the priority level of the new data pack must surpass all other current data packs in the queue; if two data packs share the same priority, the one data pack with the older purchase date is given precedence; and if the data pack is the rental plan, it is prioritized regardless of its relative priority level to other packs. Based on these criteria, a Sy (system) interface decides which data pack is most eligible for further allocation and deductions. The Sy interface acts as a decision-making system for selecting and validating the most appropriate data pack from the queue based on the predefined set of priority criteria (e.g., the set of parameters) for allocation. This approach ensures that the allocation of the data plans is accurately managed and reported, thereby maintaining the integrity and efficiency of the charging process within the network 106.
[0108] In an overall aspect, the system 108 is configured to manage multiple data plans chosen by the user / subscriber. For example, consider a scenario where the user (e.g., the user 102) requests a new data plan. The system 108 efficiently integrates and handles plan allocations through a sophisticated, unified framework. For instance, if the user 102 subscribes to a primary data plan with a high data limit, a secondary plan with a lower limit, and then requests an additional plan, the system 108 performs several crucial tasks. It updates the user’s profile to include details of the new plan, maintaining a comprehensive record of each plan’s data allowances, speeds, and features. When the data plan expires or becomes exhausted, the system 108 is configured to validate and allocate a new data pack to ensure uninterrupted service. This involves assessing the new plan based on policy type, purchase date, and other relevant criteria. Specifically, the system 108 validates the new pack to determine eligibility and applies charges according to the terms of the user’s subscription and the prevailing policies. By real-time monitoring of data usage across all the plans, the system 108 may provide alerts when consumption nears or exceedsthe allocated limits. A billing system (e.g., Online Charging System (OCS)) ensures that charges are accurately calculated based on total usage, incorporating any overage fees or adjustments required by the terms of the new plan. The system 108 is designed for scalability, efficiently handling increasing users and data plans while optimizing resource allocation and performance. This approach ensures that data services remain seamless and uninterrupted, with new plans validated and applied effectively to maintain service continuity.
[0109] Although FIG. 2 shows exemplary components of the system 108, in other embodiments, the system 108 may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 2. Additionally, or alternatively, one or more components of the system 108 may perform functions described as being performed by one or more other components of the system 108.
[0110] FIG. 3 illustrates an exemplary system architecture 300 for managing the allocation of the one or more data plans in the network 106, in accordance with an embodiment of the present disclosure. FIG. 3 is explained in conjunction with FIGS. 1 and 2.
[0111] The system architecture 300 is designed to operate within a Sy interface 302. The Sy interface 302 serves as a decision-making channel within the system 108 to select the most appropriate data pack from the queue and put it on the top of the stack for allocation and charging purposes. When a new data pack is inserted into the queue, the Sy interface 302 assesses the priority of the new data pack relative to the existing packs in the queue.
[0112] Further, when two or more data plans (e.g., data packs) share the same priority level, the Sy interface 302 determines which data plan should takeprecedence based on the oldest purchase date. This ensures that older data packs are utilized first, maintaining fairness and optimal resource usage.
[0113] Regardless of their assigned priority levels, the rental plans are given precedence over other types of data packs. The Sy interface 302 ensures that rental plans are always prioritized, adhering to the system’s policy of favoring rental-based allocations.
[0114] After evaluating the priority criteria, the Sy interface 302 validates the most eligible data pack for allocation (e.g., charging policies for deduction). This validation process ensures that the selected data plan meets all necessary conditions, such as remaining quota and compliance with policy types.
[0115] Once the Sy interface 302 identifies and validates the appropriate data plan, it communicates this decision to the PCF. This notification allows the PCF to manage future deductions based on the newly assigned data plan, ensuring a continuous data charging service.
[0116] In order to manage the allocation of the data plans, a data plan change request / scenario is initially received at block 304. The data plan change request may be triggered by various factors, such as user data consumption reaching a certain threshold, a data plan expiration, or a new data plan being purchased. Once the data plan change request is received, it is passed to a charging policy change logic block 306, which is the core decision-making component of the system architecture 300.
[0117] The charging policy change logic block 306 incorporates a policy change algorithm (e.g., a priority-based plan selection algorithm) specifically designed to manage the prioritization and allocation of data plans. This algorithm employs an advanced data structure (e.g., a stack) to ensure the efficient ordering and management of multiple data plans based on a comprehensive set of parameters. These parameters include, but are not limited to, the priority assigned to each plan,the type of plan (e.g., prepaid, postpaid (rental), hybrid, etc.), the purchase date, and the available quota of each plan. The algorithm utilizes a recursive approach (e.g., the recursion technique), which enhances both the speed and effectiveness of the data plan allocation process. By recursively evaluating the set of parameters, the algorithm determines an optimal data plan to allocate based on the current network conditions and user requirements. The recursive approach ensures that the system 108 may rapidly and accurately assess and apply the most appropriate plan, thus optimizing resource utilization and maintaining efficient network operations.
[0118] One of the key features of the charging policy change logic block 306 is its ability to handle both postpaid and prepaid customer types using a Media Access Control Identifier (Mac ID) as a customer identifier. The Mac ID provides a unique and efficient means of targeting individual customers, reducing latency and enabling faster processing times. This universal logic approach allows the system 108 to provide for various customer needs without requiring separate mechanisms for different customer categories.
[0119] After processing the data plan change request through the charging policy change logic block 306, the system 108 identifies the top data plan in the queue (e.g., in a data plan stack 312), as depicted in block 308. This top data plan is selected based on the set of parameters evaluated by the algorithm and is prioritized for immediate allocation. The remaining data plans are organized in the queue or the stack at block 310. The data plans remain in the queue until they are either exhausted or deemed more suitable based on subsequent evaluations by the charging policy change logic block 306.
[0120] In an aspect, the system 108 is designed to meet the speed requirements of the network function and minimize the potential for errors. By employing a prioritized sequence of the data plans, the system 108 streamlines the process of selecting the most appropriate data plan for allocation. This structuredapproach ensures that data is allocated efficiently and charges are applied accurately based on the reported usage. The result is a more reliable and rapid allocation process that reduces the likelihood of errors, thereby enhancing the overall effectiveness of the data plan management system and ensuring that both performance and accuracy are optimized.
[0121] When updating data usage and allocating new data chunks, the system 108 is designed to handle scenarios where the one or more existing data plans expire or become exhausted by changing the current plan or adding a new data pack / plan. As soon as such a situation arises, where the allocated data has been depleted or the current plan has expired, the system 108 promptly updates the data usage records to reflect the current status. The system 108 reallocates data from a new data chunk or activates an additional data pack to ensure continuous service. Concurrently, the PCF is notified of these changes in the data usage plan. This notification enables the PCF to adjust its policies and billing as needed, ensuring that the user's data consumption is accurately managed and appropriate charges are applied. This integrated approach ensures seamless transitions between data plans and maintains the integrity of service delivery and billing.
[0122] Further, utilizing the Sy interface 302 allows the network function to have comprehensive control over the protocol and data deduction policies. The Sy interface 302 facilitates enhanced operational management by allowing the NF to directly oversee and fine-tune the protocol interactions and data deduction mechanisms. Consequently, the network function may streamline operations and adapt policies with greater agility, increasing efficiency and effectiveness at the forefront of network management. Using the Sy interface 302, the system 108 reduces dependencies on external systems or intermediate processes, thereby minimizing latency and potential points of failure. This enhanced control ensures that the NF may promptly respond to dynamic network conditions, optimize data planallocations, and enforce data deduction policies more precisely, ultimately leading to improved performance and user experience.
[0123] FIG. 4 illustrates an exemplary flow diagram of a method 400 for managing the allocation of the one or more data plans in the network 106, in accordance with an embodiment of the present disclosure. FIG. 4 is explained in conjunction with FIGS. 1, 2, and 3. Each step of the method 400 may be performed by the network entity 208 of the system 108.
[0124] The method 400 starts at step 402, with the initiation of a new plan allocation request. In an embodiment, the new plan request is a request initiated by the first network function (e.g., the SMF) to the network entity (e.g., the CHF-BNG), and is triggered when a data session is created, updated, or when the quota of an existing data plan is exhausted or about to expire. The request indicates that a new data plan needs to be allocated to continue data services without interruption, and may carry contextual information such as the subscriber identifier, session details, and current plan status.
[0125] At step 404, the new plan allocation request triggers the network entity 208 to stack data plans at the Sy interface (e.g., the Sy interface 302. In an embodiment, the data plans may include a combination of a newly requested data plan and one or more existing data plans. In other words, once the new plan allocation request is received, the network entity 208 may be configured to place the new data plan into the stack. The stack includes one or more existing data plans that are still active or eligible for use.
[0126] These data plans placed in the stack are organized / arranged in a priority order using the recursion technique based on the set of parameters that are checked in the sequential order. The set of parameters includes, but not limited to, the pack priority, the pack type, the purchase date, and the available quota. Further, adata plan is selected from the arranged data plans where the most eligible data pack for deduction is positioned at the top. The data pack that ranks highest across all priority parameters is placed first in the stack and is validated for the next data allocation.
[0127] For example, in order to arrange the data plans (e.g., the combination of the newly requested data plan and the one or more existing data plans) placed in the stack in the priority order and selecting the data plan from the arranged data plans for allocation, the method 400, at step 406, first checks whether the newly requested data plan (data pack) has a priority greater than all other plans currently in the queue. The priority is decided based on the following criteria: 1) the priority field of the new data pack should be greater than all the others in the queue, 2) if the priority of two data packs is the same, the pack with the oldest purchase date is given priority and 3) if the type of data plan is the rental plan, even if the priority is higher for the data pack, the rental plan may be given priority.
[0128] If the new plan’s priority is greater, the method 400 proceeds to step 408, where this new data plan is placed at the top of the stack, ensuring it is prioritized for immediate allocation.
[0129] If the new plan’s priority is not greater than the other data plans, the method 400 moves to step 410, where the method 400 further checks if the plan type is the same as that of all other data plans in the queue. This check is crucial to ensure that similar types of data plans are grouped, which may optimize the allocation and charging process. If the plan type matches, the method 400 proceeds to step 412 to place the data plan at the top of the queue (or stack).
[0130] If the plan type does not match, the method 400, at step 414, further checks whether the purchase date of the data plan is older than the other plans. In particular, the purchase date is used as a decider when data plans have the samepriority but differ in the time they were purchased. If the purchase date of the new plan is older than that of the other packs, the plan is given precedence and placed at the top of the queue at step 412. This prioritization ensures that older data plans are utilized first, optimizing resource usage and minimizing the chances of plan expiration without usage.
[0131] In cases where the new data plan meets all of the conditions (as discussed in steps 404, 410, and 414) for top placement (e.g., the priority, the plan type, or the older purchase date), the data plan is added to the top of the stack without reordering the existing queue, as shown at step 408.
[0132] The method 400 ends at step 416, marking the end of the allocation and prioritization process. The final placement of the new data plan within the queue ensures that the network function can efficiently manage data plan allocation, aligning with the service provider's policies and enhancing the overall user experience.
[0133] In an overall aspect, the method 400 may consider the following statements:1. The rental plan is assigned for deduction as it has the highest priority and is considered exhausted.2. For the next deduction and allocation of the data pack, a new data pack has to be assigned. The data packs are present in a queue (stack) ordered in such a way that the topmost pack is the most eligible pack for deduction.3. The data packs in the stack are prioritized based on their priority, pack type, purchase date, and quota available.4. The data pack that comes out for all the priority parameters is assigned as first in the queue and, hence, validated for the next allocation.5. When the data pack with the highest priority is validated, the PCF is notified so that the next deductions are planned by the newly assigned data pack.6. Whenever the data pack is inserted in the queue, the priority is decided based on the following scenarios:• The priority field of the new data pack should be greater than all the others in the queue.• If the priorities of two data packs are the same, the data pack with the oldest purchase date is given priority.• If the type of data plan is a rental plan, even if priority is higher for the pack, the rental plan will be given priority.
[0134] Based on the above criteria, the Sy interface 302 makes a decision to validate the most eligible pack for further allocation and deductions.
[0135] FIG. 5 illustrates an exemplary flowchart of a method 500 for managing the allocation of data plans in the network 106, in accordance with an embodiment of the present disclosure. FIG. 5 is explained in conjunction with FIGS. 1, 2, 3, and 4. Each step of the method 500 may be performed by the network entity 208 of the system 108.
[0136] Initially, at step 502, the method 500 includes receiving, by the network entity 208, a request related to the allocation of at least one new data plan from a first network function. In an embodiment, upon receiving the request, the method 500 further includes identifying, by the network entity 208, the received request related to the allocation of the at least one new data plan corresponding to a subscriber based on a unique Media Access Control Identifier (MAC ID) associated with the subscriber. In an embodiment, the network entity 208 may correspond to the CHF-BNG, and the first network function may correspond to the SMF.
[0137] At step 504, the method 500 includes placing, by the network entity 208, the at least one new data plan in a stack in response to the received request. The stack includes one or more existing data plans. The one or more existing data plans refer to data plans that are already allocated or activated by the subscriber and are currently valid or in effect at the time of receiving the at least one new data plan allocation request. The existing data plans may still have remaining quotas or validity and may be considered alongside the new data plan during the prioritization and allocation process by the network entity.
[0138] At step 506, the method 500 includes arranging, by the network entity 208, the data plans placed in the stack in a priority order using a recursion technique based on a set of parameters associated with the at least one new data plan. In an embodiment, the data plans placed in the stack include a combination of the at least one newly requested data plan and the one or more existing data plans. The set of parameters includes a data plan priority, a data plan type, a data plan purchase date, and a data plan quota availability. The at least one new data plan refers to a data plan that has been newly requested for allocation by the subscriber and has yet to be validated or assigned for active use. New data plans are received by the network entity in response to specific triggers, such as data plan expiration, quota exhaustion, or user purchase, and are added to the stack for allocation.
[0139] In an embodiment, to arrange the data plans using the recursion technique, the method 500 includes comparing, by the network entity 208, each parameter of the set of parameters associated with the at least one new data plan with a corresponding parameter associated with each of the one or more existing data plans. The method 500 further includes determining, by the network entity 208, the data plan having the highest priority based on the comparison. The method 500 further includes placing, by the network entity, the determined data plan at a top of the stack.
[0140] In an embodiment, to determine the data plan having the highest priority, the method 500 further includes determining, by the network entity 208, at least two data plans from the data plans having an equal data plan priority. Upon determining the data plan priority is equal, the method further includes assigning, by the network entity, the highest priority to the data plan having an earlier data plan purchase date in the stack. In an embodiment, the method 500 further includes determining, by the network entity 208, the data plan type of the at least one new data plan. The method 500 further includes upon determining the at least one new data plan is a rental data plan, assigning, by the network entity 208, the highest priority to the rental data plan in the stack.
[0141] At step 508, the method 500 includes selecting, by the network entity 208, a data plan from the arranged data plans having the highest priority for the allocation. In an embodiment, upon selecting the data plan from the arranged data plans, the method 500 further includes validating, by the network entity 208, the selected data plan having the highest priority based on a set of validation rules associated with the at least one new data. Upon validation, the method 500 further includes notifying, by the network entity 208, a second network function regarding the allocation of the selected data plan to perform a change in at least one policy according to the selected data plan. In an embodiment, the second network function corresponds to the PCF.
[0142] FIG. 6 illustrates an exemplary computer system 600 in which or with which embodiments of the present disclosure may be implemented. As shown in FIG. 6, the computer system 600 may include an external storage device 610, a bus 620, a main memory 630, a read-only memory 640, a mass storage device 650, communication port(s) 660, and a processor 670. A person skilled in the art will appreciate that the computer system 600 may include more than one processor and communication ports. The processor 670 may include various modules associatedwith embodiments of the present disclosure. The communication port(s) 660 may be any of an RS-232 port for use with a modem-based dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port(s) 660 may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system 600 connects.
[0143] The main memory 630 may be Random- Access Memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory 640 may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor 670. The mass storage device 650 may be any current or future mass storage solution, which can be used to store information and / or instructions. The mass storage device 650 includes, but is not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Lirewire interfaces), one or more optical discs, a Redundant Array of Independent Disks (RAID) storage, e.g. an array of disks.
[0144] The bus 620 communicatively couples the processor 670 with the other memory, storage, and communication blocks. The bus 620 may be, e.g. a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB), or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such a front side bus (LSB), which connects the processor 670 to the computer system 600.
[0145] Optionally, operator and administrative interfaces, e.g. a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus 620 to support direct operator interaction with the computer system 600. Other operator andadministrative interfaces can be provided through network connections connected through the communication port(s) 660. The components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system 600 limit the scope of the present disclosure.
[0146] In an exemplary embodiment, the present disclosure discloses a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing allocation of one or more data plans in a network. The method includes receiving, by a network entity, a request related to the allocation of at least one new data plan from a first network function. The method includes placing, by the network entity, the at least one new data plan in a stack in response to the received request. The stack includes one or more existing data plans. The method includes arranging, by the network entity, the data plans placed in the stack in a priority order using a recursion technique based on a set of parameters associated with the at least one new data plan. The method includes selecting, by the network entity, a data plan from the arranged data plans having the highest priority for the allocation.
[0147] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
[0148] The method and system of the present disclosure may be implemented in a number of ways. For example, the methods and systems of the present disclosure may be implemented by software, hardware, firmware, or any combination ofsoftware, hardware, and firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
[0149] While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be implemented merely as illustrative of the disclosure and not as a limitation.
[0150] The present disclosure offers significant technical advancements in managing the allocation and prioritization of one or more data plans within telecommunication networks. These advancements overcome the limitations of existing solutions by introducing a dynamic and efficient method for handling multiple data plans, including prepaid, postpaid (rental), hybrid, and add-on plans, based on checking the predefined parameters (such as plan priority, plan type, purchase date, and available quota) in a sequential order. Unlike conventional systems, which rely on static, simplistic queues, the disclosed system employs a stack-based structure that dynamically arranges data plans based on their eligibility, ensuring that the most appropriate plan is selected for allocation at any given time. Furthermore, the present disclosure provides a recursive-based approach that enables optimal prioritization and decision-making in the selection of data plans, ensuringfaster processing times and reducing errors in the allocation process. This methodology ensures that postpaid plans (especially rental plans) receive the highest priority for allocation, addressing both operator policy and user preferences effectively. Additionally, the present disclosure provides a flexible, automated mechanism for integrating real-time policy updates and charging control decisions through the Sy interface and the PCF. This integration improves billing accuracy, reduces manual intervention, and enables seamless service continuity, even during transitions between different plan types or when quota limits are reached. Overall, the present invention enhances the operational efficiency of telecommunication networks by streamlining data plan selection and ensuring optimal resource allocation, while simultaneously improving the user experience and minimizing the risk of billing discrepancies.ADVANTAGES OF THE PRESENT DISCLOSURE
[0151] The present disclosure provides a method and a system for managing the allocation of one or more data plans in a network.
[0152] The present disclosure provides an efficient approach for the allocation and prioritization of data plans based on checking a set of predefined parameters (e.g., data plan priority, data plan type, recharge date, and quota availability) in sequential order. By checking the predefined parameters in the sequential order, the system ensures that the most suitable plan is selected for data allocation and charging. This approach not only improves processing speed but also reduces the chances of errors in plan selection and billing.
[0153] The present disclosure enhances the speed and accuracy of plan validation, reducing the scope of errors in the process of data allocation and charging. This is achieved by updating data usage in real-time and dynamically allocating newdata chunks as needed while promptly notifying the PCF about any changes. Such proactive management reduces latency and improves overall network performance.
[0154] The present disclosure minimizes a probability of errors by automating the update and allocation process, thereby ensuring that changes in data usage plans are immediately reflected in the system. This leads to improved user experience through better resource management and service delivery, as the network function gains full control over protocol handling and data deduction policies, reducing dependency on external factors.
[0155] The present disclosure utilizes the Sy interface, which enables the network function to have full control over the protocol and the data deduction policies. Hence, the network function may increase the operations at the forefront, and dependency is reduced.
Claims
CLAIMSWe claim:
1. A method (500) for managing allocation of one or more data plans in a network (106), the method (500) comprising: receiving (502), by a network entity (208), a request related to the allocation of at least one new data plan from a first network function; placing (504), by the network entity (208), the at least one new data plan in a stack in response to the received request, wherein the stack comprises one or more existing data plans; arranging (506), by the network entity (208), data plans placed in the stack in a priority order using a recursion technique based on a set of parameters associated with the at least one new data plan; and selecting (508), by the network entity (208), a data plan from the arranged data plans having a highest priority for the allocation.
2. The method (500) as claimed in claim 1, wherein the set of parameters comprises a data plan priority, a data plan type, a data plan purchase date, and a data plan quota availability.
3. The method (500) as claimed in claim 1, wherein arranging the data plans using the recursion technique comprises: comparing, by the network entity (208), each parameter of the set of parameters associated with the at least one new data plan with a corresponding parameter associated with each of the one or more existing data plans; determining, by the network entity (208), the data plan having the highest priority based on the comparison; andplacing, by the network entity (208), the determined data plan at a top of the stack.
4. The method (500) as claimed in claim 2, comprising: determining, by the network entity (208), at least two data plans from the data plans having an equal data plan priority; and upon determining the data plan priority is equal, assigning, by the network entity (208), the highest priority to the data plan having an earlier data plan purchase date in the stack.
5. The method (500) as claimed in claim 4, comprising: determining, by the network entity (208), the data plan type of the at least one new data plan; and upon determining the at least one new data plan is a rental data plan, assigning, by the network entity (208), the highest priority to the rental data plan in the stack.
6. The method (500) as claimed in claim 1, comprising: upon selecting the data plan from the arranged data plans, validating, by the network entity (208), the selected data plan having the highest priority based on a set of validation rules associated with the at least one new data plan; and upon validating, notifying, by the network entity (208), a second network function regarding the allocation of the selected data plan to perform a change in at least one policy according to the selected data plan.
7. The method (500) as claimed in claim 1, comprising: upon receiving the request, identifying, by the network entity (208), the received request related to the allocation of the at least one new data plancorresponding to a subscriber based on a unique Media Access Control Identifier (MAC ID) associated with the subscriber.
8. The method (500) as claimed in claim 1, wherein the network entity (208) is a Charging Function - Broadband Network Gateway (CHF-BNG), wherein the first network function is a Session Management Function (SMF), and wherein the second network function is a Policy Control Function (PCF).
9. A system (108) for managing allocation of one or more data plans in a network (106), the system (108) comprising: a network entity (208) configured to receive a request related to the allocation of at least one new data plan from a first network function, wherein the network entity (208) comprises: a memory (204) configured to store the received request; and a processor (202) coupled to the memory (204), wherein the processor (202) is configured to receive the request from the memory (204) and execute instructions stored in the memory (204) to: place the at least one new data plan in a stack in response to the received request, wherein the stack comprises one or more existing data plans; arrange data plans placed in the stack in a priority order using a recursion technique based on a set of parameters associated with the at least one new data plan; and select a data plan from the arranged data plans having a highest priority for the allocation.
10. The system (108) as claimed in claim 9, wherein the set of parameters comprises a data plan priority, a data plan type, a data plan purchase date, and a data plan quota availability.
11. The system (108) as claimed in claim 9, wherein to arrange the data plans in the stack using the recursion technique, the processor (202) is configured to: compare each parameter of the set of parameters associated with the at least one new data plan with a corresponding parameter associated with each of the one or more existing data plans; determine the data plan having the highest priority based on the comparison; and place the determined data plan at a top of the stack.
12. The system (108) as claimed in claim 10, wherein the processor (202) is configured to: determine at least two data plans from the arranged data plans having an equal data plan priority; and upon determining the data plan priority is equal, assign the highest priority to the data plan having an earlier data plan purchase date in the stack.
13. The system (108) as claimed in claim 12, wherein the processor (202) is configured to: determine the data plan type of the at least one new data plan; and upon determining the at least one new data plan is a rental data plan, assign the highest priority to the rental data plan in the stack.
14. The system (108) as claimed in claim 9, wherein upon selecting the data plan from the arranged data plans, the processor (202) is configured to:validate the selected data plan having the highest priority based on a set of validation rules associated with the at least one new data plan; and upon validation, notify a second network function regarding the allocation of the selected data plan to perform a change in at least one policy according to the selected data plan.
15. The system (108) as claimed in claim 9, wherein upon receiving the request, the processor (202) is configured to: identify the received request related to the allocation of the at least one new data plan corresponding to a subscriber based on a unique Media Access Control Identifier (MAC ID) associated with the subscriber.
16. The system (108) as claimed in claim 9, wherein the network entity (208) is a Charging Function - Broadband Network Gateway (CHF-BNG), wherein the first network function is a Session Management Function (SMF), and wherein the second network function is a Policy Control Function (PCF).
17. A computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method (500) for managing allocation of one or more data plans in a network (106), the method (500) comprising: receiving, by a network entity (208), a request related to the allocation of at least one new data plan from a first network function; placing, by the network entity (208), the at least one new data plan in a stack in response to the received request, wherein the stack comprises one or more existing data plans;arranging, by the network entity (208), data plans placed in the stack in a priority order using a recursion technique based on a set of parameters associated with the at least one new data plan; and selecting, by the network entity (208), a data plan from the arranged data plans having a highest priority for the allocation.