Method and system for handling a race condition in a communication network
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- JIO PLATFORMS LTD
- Filing Date
- 2024-09-18
- Publication Date
- 2026-07-01
AI Technical Summary
In communication networks, race conditions between Spending Limit Answer Request (SLA) and Spending Status Notification Request (SNR) lead to premature session release by the Converged Charging Function (CHF), causing exceptions and errors.
A method and system that manage race conditions by maintaining network sessions until a valid session termination request is received, ensuring that Spending Limit Responses are processed correctly and sessions are released only after confirmation from the Online Charging System (OCS).
This approach significantly reduces error probability by preventing premature session release, ensuring data consistency, and avoiding stale sessions, thereby enhancing the reliability and precision of session management in communication networks.
Smart Images

Figure IN2024051788_27032025_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR HANDLING A RACE CONDITION IN A COMMUNICATION NETWORKFIELD OF THE DISCLOSURE
[0001] Embodiments of the present disclosure generally relate to the field of wireless communication. More particularly, embodiments of the present disclosure relate to handling a race condition in a communication network.BACKGROUND
[0002] 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 understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0003] Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements. The first generation of wireless communication technology was based on antilog technology and offered only voice services. However, with the advent of the second-generation (2G) technology, digital communication and data services became possible, and text messaging was introduced. The third- generation (3G) technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth-generation (4G) technology revolutionized wireless communication with faster data speeds, better network coverage, and improved security. Currently, the fifth-generation (5G) technology is being deployed, promising even faster data speeds, low latency, and the ability to connect multiple devices simultaneously. With each generation, wireless communication technology has become more advanced, sophisticated, and capable of delivering more services to its users.
[0004] As the wireless communication technology has evolved to a great extent, the number of users / subscribers of the wireless networks has also increased to a great extent and it is important for the wireless networks to provide better and smooth services to its subscribers. In the context of network management, a Converged Charging Function (CHF) is entrusted with the responsibility of establishing connections and conducting protocol conversions for subscribers in accordancewith their data and resource utilization patterns. It actively engages with a database to ensure the precise execution of the aforementioned service. The Gy and Sy interfaces are accountable for the establishment and ongoing management of peer connections while offering services to said connections in the communication network. The Gy interface is responsible for exchanging charging information, while the Sy interface enables the session management processes by interacting with the Policy Control Function (PCF) and other systems. The Sy interface is located between the PCF and the Online Charging System (OCS). The Sy reference point enables transfer of policy counter status information relating to subscriber spending from OCS to PCF. These interfaces facilitate Sy session initiation through application programming interfaces (API) functionalities encompassing session subscription, intermediation, and unsubscription tailored for Policy Control Function (PCF) interfaces. An initial Spending Limit Request (SLR) shall be used by the PCF to request the status of policy counters available at the OCS, and to subscribe to updates of policy counters by the OCS. An intermediate SLR shall be used by the PCF to resubscribe to the policy counters provided by the OCS. The SNR procedure shall be used by the OCS to notify the PCF of changes in the status of subscribed policy counter(s).
[0005] Currently, instances arise where Spending Limit Answer Request (SLA) and Spending Status Notification Request (SNR) for a session became entangled in race conditions, which results in the CHF prematurely releasing the session, leading to exceptions. Thus, a race condition is caused. To tackle this challenge, a refined approach is needed that efficiently handles the race condition between the SLA and SNA requests received on the CHF from PCF side in the communication network.
[0006] Hence, in view of these and other existing limitations, there arises an imperative need to handle the race condition in the communication network to overcome the above-mentioned limitations by providing a method and system for handling the race condition, which the present disclosure aims to address.OBJECTS OF THE DISCLOSURE
[0007] This section is provided to introduce certain objects and aspects of the present invention in a simplified form that are further described below in the description. In order to overcome at least a few problems associated with the known solutions as provided in the previous section, an object of the present invention is to substantially reduce the limitations and drawbacks of the prior arts as described hereinabove.
[0008] Some of the objects of the present disclosure, which at least one embodiment disclosed herein satisfies are listed herein below.
[0009] It is an object of the present disclosure to provide a system and a method for handling a race condition in a communication network.
[0010] It is another object of the present disclosure to provide policy rules to customers without any service interruption.
[0011] It is yet another object of the present disclosure to provide a solution for reducing an error probability to a great extent as the error causing scenarios are handled by CHF by not releasing the session prematurely.
[0012] It is another object of the present disclosure to provide a solution to effectively monitor and detect stale sessions, ensuring efficient session management in the network.SUMMARY
[0013] This section is provided to introduce certain aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.
[0014] An aspect of the present disclosure may relate to a method for handling a race condition in a communication network. The method comprises receiving, by a transceiver unit at a Converged Charging Function (CHF) from a Policy Control Function (PCF), a Spending Limit Request (SLR request). The method further comprises transmitting, by the transceiver unit from the CHF to an Online Charging System (OCS), the SLR request. The method further comprises receiving, by the transceiver unit at the CHF from the OCS, a successful Spending Limit Response (SLR response) based on the SLR request. The method further comprises initiating, by a processing unit at the CHF, a network session based on the successful SLR response. The method further comprises maintaining, by the processing unit, the network session at the CHF. The method further comprises receiving, by the transceiver unit, at the CHF, a session termination request (STR request) from the PCF. The method further comprises releasing, by the processing unit, at the CHF, the network session based on the STR request from the PCF.
[0015] In an exemplary aspect of the present disclosure, the successful SLR response is received at the CHF from the OCS based on a set of predefined SLR request conditions.
[0016] In an exemplary aspect of the present disclosure, the network session is associated with a session identifier (Session ID).
[0017] In an exemplary aspect of the present disclosure, prior to releasing the network session based on the STR request from the PCF comprises initiating, by the processing unit, from the CHF, a termination request towards the OCS. The method further comprises receiving, by the transceiver unit, at the CHF, a successful response to the termination request from the OCS. The method further comprises transmitting, by the transceiver unit, from the CHF, the successful response to the PCF.
[0018] In an exemplary aspect of the present disclosure, the network session is maintained at the CHF to handle a Spending Status Notification request (SNR request) from the OCS.
[0019] Another aspect of the present disclosure may relate to a system for handling a race condition in a communication work. The system comprises a transceiver unit configured to receive, at a Converged Charging Function (CHF) from a Policy Control Function (PCF), a Spending Limit Request (SLR request). The transceiver unit
[0302] is further configured to transmit, from the CHF to an Online Charging System (OCS), the SLR request. The transceiver unit is further configured to receive, at the CHF from the OCS, a successful Spending Limit Response (SLR response) based on the SLR request. The system further comprises a processing unit configured to initiate, by the CHF, a network session based on the successful SLR response. The processing unit is further configured to maintain, the network session, at the CHF. The transceiver unit is further configured to receive, at the CHF, a session termination request (STR request) from the PCF. The processing unit is further configured to release, at the CHF, the network session based on the STR request from the PCF.
[0020] Another aspect of the present disclosure may relate to a non-transitory computer-readable storage medium storing instruction for handling a race condition in a communication network, the storage medium comprising executable code which, when executed by one or more units of a system, causes a transceiver unit to receive, at a Converged Charging Function (CHF) from a Policy Control Function (PCF), a Spending Limit Request (SLR request). Further, the executablecode which, when executed causes the transceiver unit to transmit, from the CHF to an Online Charging System (OCS), the SLR request. Further, the executable code which, when executed causes the transceiver unit to receive, at the CHF from the OCS, a successful Spending Limit Response (SLR response) based on the SLR request. Further, the executable code which, when executed causes a processing unit to initiate, by the CHF, a network session based on the successful SLR response. Further, the executable code which, when executed causes the processing unit to maintain, the network session, at the CHF. Further, the executable code which, when executed causes the transceiver unit to receive, at the CHF, a session termination request (STR request) from the PCF. Further, the executable code which, when executed causes the processing unit to release, at the CHF, the network session based on the STR request from the PCF.DESCRIPTION OF DRAWINGS
[0021] 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.
[0022] FIG.1 illustrates an exemplary block diagram representation of a 5th generation core (5GC)
[0100] network architecture.
[0023] FIG. 2 illustrates an exemplary block diagram of a computing device
[0200] upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure.
[0024] FIG. 3 illustrates an exemplary block diagram of a system
[0300] for handling a race condition in a communication network, in accordance with exemplary implementations of the present disclosure.
[0025] FIG. 4 illustrates an exemplary method
[0400] flow diagram for handling the race condition in the communication network, in accordance with the exemplary embodiments of the present disclosure.
[0026] FIG. 5 illustrates another exemplary flow chart depicting the process
[0500] of handling of the race condition in the communication network, in accordance with the exemplary embodiments of the present disclosure.
[0027] The foregoing shall be more apparent from the following more detailed description of the disclosure.DETAILED DESCRIPTION
[0028] 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.
[0029] 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.
[0030] 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 disclosure. These terms are not intended to limit the scope of the disclosure or imply any specific functionality or limitations on the described embodiments. The use of these terms issolely for convenience and clarity of description. The disclosure 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 disclosure as defined herein.
[0031] 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.
[0032] Also, it is noted that individual embodiments may be described as a process which 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 FIG.
[0033] 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 in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
[0034] 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, amemory, a battery and an input-means such as a hard keypad and / or a soft keypad. The user equipment 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.
[0035] Further, the user device and / or a system as described herein to implement technical features as disclosed in the present disclosure may also comprise a “processor” or “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 Processor (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.
[0036] As used herein, “a user equipment”, “a user device”, “a smart-user-device”, “a smartdevice”, “an electronic device”, “a mobile device”, “a handheld device”, “a wireless communication device”, “a mobile communication device”, “a communication device” may be any electrical, electronic and / or computing device or equipment, capable of implementing the features of the present disclosure. The user equipment / device may include, but is not limited to, a mobile phone, smart phone, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, wearable device or any other computing device which is capable of implementing the features of the present disclosure. Also, the user device may contain at least one input means configured to receive an input from at least one of a transceiver unit, a processing unit, a storage unit, a detection unit and any other such unit(s) which are required to implement the features of the present disclosure.
[0037] As used herein, “storage unit” or “memory unit” refers to a machine or computer-readable medium including any mechanism for storing information in a form readable by a computer or similar machine. For example, a computer-readable medium includes read-only memory(“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices or other types of machine-accessible storage media. The storage unit stores at least the data that may be required by one or more units of the system to perform their respective functions.
[0038] As used herein “interface” or “user interface” refers to a shared boundary across which two or more separate components of a system exchange information or data. The interface may also be referred to a set of rules or protocols that define communication or interaction of one or more modules or one or more units with each other, which also includes the methods, functions, or procedures that may be called.
[0039] All modules, units, components used herein, unless explicitly excluded herein, may be software modules or hardware processors, the processors being a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array circuits (FPGA), any other type of integrated circuits, etc.
[0040] As used herein the transceiver unit includes at least one receiver and at least one transmitter configured respectively for receiving and transmitting data, signals, information or a combination thereof between units / components within the system and / or connected with the system.
[0041] As discussed in the background section, the current known solutions have several shortcomings. The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by providing a method and a system of handling a race condition in a communication network.
[0042] FIG. 1 illustrates an exemplary block diagram representation of 5th generation core (5GC) network architecture, in accordance with exemplary implementation of the present disclosure. As shown in FIG. 1, the 5GC network architecture
[0100] includes a user equipment (UE)
[0102] , a radio access network (RAN)
[0104] , an access and mobility management function (AMF)
[0106] , a Session Management Function (SMF)
[0108] , a Service Communication Proxy (SCP)
[0110] , an Authentication Server Function (AUSF)
[0112] , a Network Slice Specific Authentication and Authorization Function (NSSAAF)
[0114] , a Network Slice Selection Function (NSSF)
[0116] , a Network Exposure Function (NEF)
[0118] , a Network Repository Function (NRF)
[0120] , a PolicyControl Function (PCF)
[0122] , a Unified Data Management (UDM)
[0124] , an application function (AF)
[0126] , a User Plane Function (UPF)
[0128] , a data network (DN)
[0130] , and a Converged Charging Function (CHF)
[0132] , wherein all the components are assumed to be connected to each other in a manner as obvious to the person skilled in the art for implementing features of the present disclosure.
[0043] The Radio Access Network (RAN)
[0104] is the part of a mobile telecommunications system that connects the user equipment (UE)
[0102] to the core network (CN) and provides access to different types of networks (e.g., 5G network). It consists of radio base stations and the radio access technologies that enable wireless communication.
[0044] The Access and Mobility Management Function (AMF)
[0106] is the 5G core network function responsible for managing access and mobility aspects, such as UE registration, connection, and reachability. It also handles mobility management procedures like handovers and paging.
[0045] The Session Management Function (SMF)
[0108] is the 5G core network function responsible for managing session-related aspects, such as establishing, modifying, and releasing sessions. It coordinates with the User Plane Function (UPF)
[0128] for data forwarding and handles IP address allocation and Quality of Service (QoS) enforcement. Further, the SMF
[0108] facilitates enforcement of session management related policy decisions from the PCF
[0122] ,
[0046] The Service Communication Proxy (SCP)
[0110] is a network function in the 5G core network that facilitates communication between other network functions by providing a secure and efficient messaging service. It acts as a mediator for service-based interfaces.
[0047] The Authentication Server Function (AUSF)
[0112] is the network function in the 5G core responsible for authenticating UEs during registration and providing security services. It generates and verifies authentication vectors and tokens.
[0048] The Network Slice Specific Authentication and Authorization Function (NSSAAF)
[0114] is the network function that provides authentication and authorization services specific to network slices. It ensures that UEs can access only the slices for which they are authorized.
[0049] The Network Slice Selection Function (NSSF)
[0116] is the network function responsible for selecting the appropriate network slice for the UE based on factors such as subscription, requested services, and network policies.
[0050] The Network Exposure Function (NEF)
[0118] is the network function that exposes capabilities and services of the 5G network to external applications, enabling integration with third-party services and applications.
[0051] The Network Repository Function (NRF)
[0120] is the network function that acts as a central repository for information about available network functions and services. It facilitates the discovery and dynamic registration of network functions.
[0052] The Policy Control Function (PCF)
[0122] enables efficient policy control and management, facilitating network behaviour control, network slicing, user equipment (UE) activities, and communication with other 5G core network functions. PCF is responsible for policy control decisions, such as QoS, charging, and access control, based on subscriber information and network policies. The PCF is responsible for policy control decisions and flow-based charging control functionalities.
[0053] The Unified Data Management (UDM)
[0124] is the network function that centralizes the management of subscriber data, including authentication, authorization, and subscription information.
[0054] The Application Function (AF)
[0126] is the network function that represents external applications interfacing with the 5G core network to access network capabilities and services. In an exemplary implementation, the application function (AF)
[0126] as shown in FIG. 1, resembles an application server that can interact with the other control-plane NFs. AF(s)
[0126] can exist for different application services and can be owned by the network operator or by trusted third parties. For instance, the AF
[0126] of an over-the-top application provider can influence routing, steering its traffic towards its external edge servers. For services considered to be trusted by the operator, the AF
[0126] can access Network Function(s) (NF) directly whereas untrusted or third-party AF(s)
[0126] would access the Network Functions through the NEF
[0118] ,
[0055] The User Plane Function (UPF)
[0128] is the network function responsible for handling user data traffic, including packet routing, forwarding, and QoS enforcement.
[0056] The Data Network (DN)
[0130] refers to a network that provides data services to user equipment (UE)
[0102] in a telecommunications system. The data services may include but are not limited to Internet services, private data network related services.
[0057] The Converged Charging Function (CHF)
[0132] is a network function connected in the 5G network for managing online and offline charging for a plurality of services used by subscribers during the sessions. CHF stores the policy counter information against the subscriber pricing plan and notifies PCF whenever the subscriber breaches the policy thresholds based on usage consumption. On receiving policy trigger information, PCF then applies the policy decision by interacting with SMF.
[0058] The 5GC network architecture also comprises a plurality of interfaces for connecting the network functions with a network entity for performing the network functions. The network is designed as an interconnected system of Network Functions (NFs) [also known as fifth generation communication network (5GCN) network function NF)] that communicate through the one or more interfaces (i.e., service-based interfaces or reference point interfaces). The Network Functions (NF(s)) within the 5G control plane will use service-based interfaces for their interactions. The user plane function (UPF)
[0128] , and radio interactions shall use the reference point interfaces. Each NF exposes specific functionality and provides services to other NFs. Therefore, any communication or routing between NFs or between the network nodes and NFs takes place through these interfaces. Interfaces are self-contained software modules that are reusable independently of each other and can be thought of as micro services. Further, as shown in the FIG. 1, the following service-based interfaces are defined:Namf: Service-based interface exhibited by AMF
[0106] , Nsmf: Service-based interface exhibited by SMF
[0108] , Nnef: Service-based interface exhibited by NEF
[0118] , Npcf: Service-based interface exhibited by PCF
[0122] , Nudm: Service-based interface exhibited by UDM
[0124] , Naf: Service-based interface exhibited by AF
[0126] , Nchf: Service-based interface exhibited by CHF
[0132] , Nnrf: Service-based interface exhibited by NRF
[0120] , Nnssf: Service-based interface exhibited by NSSF
[0116] , Nausf: Service-based interface exhibited by AUSF
[0112] , Nnssaaf: Service-based interface exhibited by NSSAAF
[0114] ,Nlmf: Service-based interface exhibited by LMF
[0144] Nscp: Service-based interface exhibited by SCP
[0110] ,
[0059] Further, the 5G System Architecture as shown in FIG. 1, contains the following reference points:N1 : Reference point between the UE
[0102] and the AMF
[0106] ,N2: Reference point between the RAN
[0104] and the AMF
[0106] ,N3: Reference point between the RAN
[0104] and the UPF
[0128] , N4: Reference point between the SMF
[0108] and the UPF
[0128] , N6: Reference point between the UPF
[0128] and a Data Network.
[0060] The present disclosure can be implemented on a computing device
[0200] as shown in FIG. 2. The computing device
[0200] implements the present disclosure in accordance with the 5G communication network architecture
[0100] (as shown in FIG. 1). FIG. 2 illustrates an exemplary block diagram of the computing device
[0200] upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. In an implementation, the computing device
[0200] may also implement a method
[0400] for handling a race condition in a communication network utilising the system
[0300] , In another implementation, the computing device
[0200] itself implements the method for handling the race condition in the communication network using one or more units configured within the computing device
[0200] , wherein said one or more units can implement the features as disclosed in the present disclosure.
[0061] The computing device
[0200] may include a bus
[0202] or other communication mechanism for communicating information, and a hardware processor
[0204] coupled with bus
[0202] for processing information. The hardware processor
[0204] may be, for example, a general-purpose microprocessor. The computing device
[0200] may also include a main memory
[0206] , such as a random-access memory (RAM), or other dynamic storage device, coupled to the bus
[0202] for storing information and instructions to be executed by the processor
[0204] , The main memory
[0206] also may be used for storing temporary variables or other intermediate information during execution of the instructions to be executed by the processor
[0204] , Such instructions, when stored in non-transitory storage media accessible to the processor
[0204] , render the computing device
[0200] into a special-purpose machine that is customized to perform the operations specified in the instructions. The computing device
[0200] further includes a read only memory (ROM)
[0208] orother static storage device coupled to the bus
[0202] for storing static information and instructions for the processor
[0204] ,
[0062] A storage device
[0210] , such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to the bus
[0202] for storing information and instructions. The computing device
[0200] may be coupled via the bus
[0202] to a display
[0212] , such as a cathode ray tube (CRT), Liquid crystal Display (LCD), Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for displaying information to a computer user. An input device
[0214] , including alphanumeric and other keys, touch screen input means, etc. may be coupled to the bus
[0202] for communicating information and command selections to the processor
[0204] , Another type of user input device may be a cursor controller
[0216] , such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor
[0204] , and for controlling cursor movement on the display
[0212] , The input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane.
[0063] The computing device
[0200] may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and / or program logic which in combination with the computing device
[0200] causes or programs the computing device
[0200] to be a special-purpose machine. According to one implementation, the techniques herein are performed by the computing device
[0200] in response to the processor
[0204] executing one or more sequences of one or more instructions contained in the main memory
[0206] , Such instructions may be read into the main memory
[0206] from another storage medium, such as the storage device
[0210] , Execution of the sequences of instructions contained in the main memory
[0206] causes the processor
[0204] to perform the process steps described herein. In alternative implementations of the present disclosure, hard-wired circuitry may be used in place of or in combination with software instructions.
[0064] The computing device
[0200] also may include a communication interface
[0218] coupled to the bus
[0202] , The communication interface
[0218] provides a two-way data communication coupling to a network link
[0220] that is connected to a local network
[0222] , For example, the communication interface
[0218] may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, the communication interface
[0218] may be a local area network (LAN) card to provide a data communication connection to a compatibleLAN. Wireless links may also be implemented. In any such implementation, the communication interface
[0218] sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
[0065] The computing device
[0200] can send messages and receive data, including program code, through the network(s), the network link
[0220] and the communication interface
[0218] , In the Internet example, a server
[0230] might transmit a requested code for an application program through the Internet
[0228] , the ISP
[0226] , the local network
[0222] , the host
[0224] and the communication interface
[0218] , The received code may be executed by the processor
[0204] as it is received, and / or stored in the storage device
[0210] , or other non-volatile storage for later execution.
[0066] The present disclosure is implemented by the system
[0300] (as shown in FIG. 3). The system
[0300] may be implemented using the computing device
[0200] (as shown in FIG. 2). In an implementation, the computing device
[0200] may be connected to the system
[0300] to perform the present disclosure. Referring to FIG. 3, an exemplary block diagram of the system
[0300] handling a race condition in a communication network, is shown, in accordance with the exemplary implementations of the present disclosure. The system
[0300] comprises at least one converged charging function (CHF)
[0132] , at least one policy control function (PCF)
[0122] , and at least one online charging system (OCS)
[0308] , The CHF
[0132] further comprises at least one transceiver unit
[0302] and at least one processing unit
[0310] , Also, all of the components / units of the system
[0300] are assumed to be connected to each other unless otherwise indicated below. As shown in the FIG.3, all units shown within the system
[0300] should also be assumed to be connected to each other. Also, in FIG. 3 only a few units are shown, however, the system
[0300] may comprise multiple such units or the system
[0300] may comprise any such number of said units, as required to implement the features of the present disclosure. In an implementation, the system
[0300] may reside in a server or a network entity. In yet another implementation, the system
[0300] may reside partly in the server / network entity. In an implementation a process
[0500] (as shown in FIG. 5) is performed by the system
[0300] ,
[0067] The system
[0300] is configured for handling the race condition in the communication network, with the help of the interconnection between the components / units of the system
[0300] ,
[0068] The Online Charging System (OCS)
[0308] is a system connected in the 5G network system that manages the real-time charging and billing of services for subscribers and manages all the transactions within the system, including the subscriber's account balance and charges. The OCS
[0308] enables operators to ensure accurate billing for services by implementing advanced policy rules, enforcing credit limits, accessing advanced analytics, and more. OCS
[0308] is a cloud-native platform that supports charging across multiple generations of telecom networks. This is achieved by providing multi -protocol support for integration. It supports charging customers for their usage based on the device they use. A single plan or bucket may have tariffs for multiple devices as well as the option to have tariffs for device / s or default tariffs. It enables duration-based charging for LTE, Wi-Fi, and FTTH services to support non-monetary entitlements in the form of seconds, minutes, or hours.
[0069] The CHF
[0132] (as explained in FIG. 1) is a network function (NF) in a 5G network for managing online charging for a plurality of services (such as voice call service, video streaming service, etc.) used by subscribers. Further, the PCF
[0122] (as explained in FIG. 1) is a NF responsible for policy enforcement and quality of service (QoS) control in order to effectively allocate / manage one or more resources of the network during the session. A policy counter is a mechanism within the CHF
[0132] to track spending applicable to a subscriber. These policy counters must be available in the CHF
[0132] prior to their use by other network functions, such as PCF
[0122] , The CHF
[0132] stores the policy counter information against the subscriber pricing plan and notifies PCF
[0122] whenever the subscriber breaches the policy thresholds based on usage consumption. Therefore, to enforce policies based on subscriber’s spending limits, the CHF
[0132] maintains the policy counters to track spending for a subscription. Further, a spending limit is the usage limit of a policy counter (e.g. monetary, volume, duration) that a subscriber is allowed to consume. The PCF
[0122] shall request information regarding a subscriber's spending from the CHF
[0132] , to be used as input for dynamic policy decisions for the subscriber, using spending limit reports. The CHF
[0132] shall make information regarding the subscriber's spending available to the PCF
[0122] using spending limit reports. A spending limit report is a notification, containing the current policy counter status generated from the OCS
[0308] which is then made available to the PCF
[0122] by the CHF
[0132] , Policy decisions based on spending limits is a function that allows the PCF to make policy decisions based on the status of policy counters that are maintained in the OCS
[0308] , The PCF
[0122] uses the policy counter statuses received from the OCS
[0308] as input to its policy decisions, e.g. downgrade the QoS or modify the QoS / Policy rules for the subscriber. The Nchf spending limit support service enables the PCF
[0122] to access policy counter status information relating to subscriber spending from CHF
[0132] ,
[0070] The transceiver unit
[0302] is configured to receive, at a Converged Charging Function (CHF)
[0132] from a Policy Control Function (PCF)
[0122] , a Spending Limit Request (SLR request).
[0071] The SLR request mentioned herein may refer to a request sent from the PCF
[0122] to CHF
[0132] to fetch spending limit details for the subscriber. In general, the SLR request here refers to a request responsible for monitoring and managing data usage of user(s) / subscriber(s) to prevent exceeding the predefined limits on the data usage (set by the telecom operator). In another embodiment, the SLR (i.e., control of the data can be set manually on the user devices (or equipment). The data consumption is thus monitored in real time. Upon reaching the spending limit, it is controlled by restricting the data services given to the user(s) to avoid overcharges. The SLR therefore enables the network function(s) of the network to retrieve policy control status information which is responsible for governing the subscribed user’s data usage. The PCF
[0122] may inquire about the charging rates applied by the CHF
[0132] during the session, or a balance limit left with the subscriber for initiating the session.
[0072] The SLR request is sent by the PCF
[0122] to the CHF
[0132] , which further forwards the same to the OCS
[0308] as part of an Initial or Intermediate Spending Limit Report Request procedure. In an example, the SLR request may include one or more information associated with the session. Herein, the one or more information may include a user identifier (ID), a session ID, a request type, list of policy counter identifiers, a type of services or session to be engaged by the subscriber. The request type indicates whether the request is an initial request or a subsequent request for the subscriber. The list of policy counter identifiers indicates the policy counters to be subscribed to. Upon receipt of the SLR request, the transceiver unit
[0302] transmits, from the CHF
[0132] to an Online Charging System (OCS)
[0308] , the SLR request. Thereafter, the transceiver unit
[0302] receives, at the CHF
[0132] from the OCS
[0308] , a successful Spending Limit Response (SLR response) based on the SLR request. The successful SLR response is indication from the OCS
[0308] that the OCS
[0308] has received the SLR request successfully.
[0073] In an exemplary aspect of the present disclosure, the successful SLR response is received at the CHF
[0132] from the OCS
[0308] based on a set of predefined SLR request conditions. The set of predefined SLR request conditions here refers to a set of predefined rules and governing rules that are responsible for managing sessions (primarily data sessions) in the communication network (or simply the network). These rules help in determining how the sessions are established, modified or terminated keeping in mind the quality of services (QoS), resource allocation, trafficmanagement and users etc., in the network. Herein, the set of predefined SLR request conditions, is specific to an operator of the subscriber and may include one or more subscription and network polices associated with said operator. The SLR response may include a policy counter status report and a result code. The policy counter status report contains a policy counter identifier and the current status value. The result code contains the result of the operation. The OCS
[0308] may further ensure that the spending limit of subscriber is under control and lies within said subscription and network polices.
[0074] If all the policy counter identifiers included in the SLR request are known to the OCS
[0308] , the OCS
[0308] shall be able to subsequently notify the PCF
[0122] of any policy counter state changes. This results in a successful SLR response and a successful creation of the network session. The OCS
[0308] shall include the current status of all subscribed policy counters (if any) in the response. In an example, in such a case, the result code may be set to SUCCESS. This refers to the successful SLR response.
[0075] After getting the SLR response, the processing unit
[0310] of the system
[0300] is configured to initiate, by the CHF
[0132] , a network session based on the successful SLR response. The processing unit
[0310] of the system
[0300] is also responsible for maintaining the network session, at the CHF
[0132] , The maintaining of the network session, at the CHF
[0132] , refers to holding on the session, until the transceiver unit
[0302] , receives, at the CHF
[0132] , a session termination request (STR request) from the PCF
[0122] , The STR request terminates the network session thereby signalling the end of the data connection of the user in the communication network. The STR request assures that the network resources are released, and the policies related to the session are updated. Upon receipt of the STR request, the processing unit
[0310] releases, at the CHF
[0132] , the network session based on the STR request from the PCF
[0122] ,
[0076] The maintaining of the network session until the STR request is received at the CHF
[0132] , is done to avoid premature releasing of the session. If the PCF
[0122] has not initiated the STR request and the session is released by the CHF
[0132] , then it might result in a stale session as the session is still maintained by the PCF
[0122] , Therefore, maintaining the session or holding the session till the PCF
[0122] sends an STR request avoids creating stale sessions. Further, in an exemplary aspect of the present disclosure, the network session is maintained at the CHF
[0132] to handle a Spending Status Notification request (SNR request) from the OCS
[0308] , The SNR request is sent by the OCS
[0308] to the PCF
[0122] as part of the Spending Limit Report procedure. This request notifies the user(s) about their data or network resource usage status. The maintaining of the session or holding the session till the STR request is received from the PCF
[0122] , alsoensures that the PCF
[0122] has received the SNR report from OCS
[0308] , and based on the report, the PCF
[0122] sends the STR request to CHF
[0132] , This procedure avoids the race condition scenario.
[0077] In an exemplary aspect of the present disclosure, the network session is associated with a session identifier (Session ID).
[0078] In an exemplary aspect of the present disclosure, prior to releasing the network session based on the STR request from the PCF
[0122] , the processing unit
[0310] is configured to initiate, from the CHF
[0132] , a termination request towards the OCS
[0308] , Further, the transceiver unit
[0302] is configured to receive at the CHF
[0132] , a successful response to the termination request from the OCS
[0308] , Furthermore, the transceiver unit
[0302] is configured to transmit, from the CHF
[0132] , the successful response to the PCF
[0122] ,
[0079] Referring to FIG. 4, an exemplary method flow diagram
[0400] for handling a race condition in a communication network, in accordance with exemplary implementations of the present disclosure is shown. In an implementation the method
[0400] is performed by the system
[0300] , Further, in an implementation, the system
[0300] may be present in a server device to implement the features of the present disclosure. Also, as shown in FIG. 4, the method
[0400] starts at step
[0402] ,
[0080] At step
[0404] , the method
[0400] comprises receiving, by a transceiver unit
[0302] at a Converged Charging Function (CHF)
[0132] from a Policy Control Function (PCF)
[0122] , a Spending Limit Request (SLR request). The SLR request is sent by the PCF
[0122] to the CHF
[0132] , which further forwards the same to the OCS
[0308] as part of the Initial or Intermediate Spending Limit Report Request procedure. In general, the SLR request here refers to a request responsible for monitoring and managing data usage of user(s) / subscriber(s) to prevent exceeding the predefined limits on the data usage (set by the telecom operator). In another embodiment, the SLR (i.e., control of the data can be set manually on the user devices (or equipment). The data consumption is thus monitored in real time. Upon reaching the spending limit, it is controlled by restricting the data services given to the user(s) to avoid overcharges. The SLR therefore enables the network function(s) of the network to retrieve policy control status information which is responsible for governing the subscribed user’s data usage.
[0081] At step
[0406] , the method
[0400] comprises transmitting, by the transceiver unit
[0302] from the CHF
[0132] to an Online Charging System (OCS)
[0308] , the SLR request.
[0082] At step
[0408] , the method
[0400] comprises receiving, by the transceiver unit
[0302] at the CHF
[0132] from the OCS
[0308] , a successful Spending Limit Response (SLR response) based on the SLR request. The successful SLR response is indication from the OCS
[0308] that the OCS
[0308] has received the SLR request successfully.
[0083] At step
[0410] , the method
[0400] comprises initiating, by a processing unit
[0310] at the CHF
[0132] , a network session based on the successful SLR response.
[0084] At step
[0412] , the method
[0400] comprises maintaining, by the processing unit
[0310] , the network session at the CHF
[0132] , The maintaining of the network session, at the CHF
[0132] , refers to holding on the session, until, step
[0414] , the transceiver unit
[0302] , receives, at the CHF
[0132] , a session termination request (STR request) from the PCF
[0122] , The STR request terminates the network session thereby signalling the end of the data connection of the user in the communication network. The STR request assures that the network resources are released, and the policies related to the session are updated. Upon receipt of the STR request, the processing unit
[0310] releases, at the CHF
[0132] , the network session based on the STR request from the PCF
[0122] ,
[0085] The maintaining of the network session until the STR request is received at the CHF
[0132] , is done to avoid premature releasing of the session. If the PCF
[0122] has not initiated the STR request and the session is released by the CHF
[0132] , then it might result in a stale session as the session is still maintained by PCF
[0122] , Therefore, maintaining the session or holding the session till PCF
[0122] send an STR request avoids creating stale sessions. Further, in an exemplary aspect of the present disclosure, the network session is maintained at the CHF
[0132] to handle a Spending Status Notification request (SNR request) from the OCS
[0308] , The SNR request is sent by the OCS
[0308] to the PCF
[0122] as part of the Spending Limit Report procedure. This request notifies the user(s) about their data or network resource usage status. The maintaining of the session or holding the session till the STR request is received from the PCF
[0122] , also ensures that the PCF
[0122] has received the SNR report from OCS
[0308] , and based on the report the PCF
[0122] send the STR request to CHF
[0132] , This procedure avoids the race condition scenario.
[0086] The STR request terminates a user session thereby signalling the end of the data connection of the user in the communication network. The STR request assures that the network resources are released, and the policies related to the session are updated.
[0087] At step
[0416] , the method
[0400] comprises releasing, by the processing unit
[0310] , at the CHF
[0132] , the network session based on the STR request from the PCF
[0122] ,
[0088] In an exemplary aspect of the present disclosure, the successful SLR response is received at the CHF
[0132] from the OCS
[0308] based on a set of predefined SLR request conditions. The set of predefined SLR request conditions here refers to a set of predefined rules and governing rules that are responsible for managing sessions (primarily data sessions) in the communication network (or simply the network). These rules help in determining how the sessions are established, modified or terminated keeping in mind the quality of services (QoS), resource allocation, traffic management and users etc. in the network.
[0089] In an exemplary aspect of the present disclosure, the network session is associated with a session identifier (Session ID).
[0090] In an exemplary aspect of the present disclosure, prior to releasing the network session based on the STR request from the PCF
[0122] , the method
[0400] comprises initiating, by the processing unit
[0310] , from the CHF
[0132] , a termination request towards the OCS
[0308] , The method
[0400] further comprises receiving, by the transceiver unit
[0302] , at the CHF
[0132] , a successful response to the termination request from the OCS
[0308] , The method
[0400] further comprises transmitting, by the transceiver unit
[0302] , from the CHF
[0132] , the successful response to the PCF
[0122] ,
[0091] Thereafter, the method
[0400] terminates at step
[0418] ,
[0092] Referring to FIG. 5, an exemplary flow chart depicting the process
[0500] of handling of a race condition in a communication network is shown, in accordance with the present disclosure.
[0093] The handling of the race condition is performed in the following manner:Step 1 (SI): Policy Control Function (PCF)
[0122] initiates a spending limit request (SLR) requests and sends the SLR request to a Converged Charging Function (CHF)
[0132] , Uponreceipt of the SLR request, the CHF
[0132] proceeds to forward the SLR request to an Online Charging System (OCS)
[0308] ,Step 2 (S2): Upon receiving successful Spending Limit Response (SLR response) based on the SLR request, from the OCS
[0308] at the CHF
[0132] , the CHF
[0132] initiates creation of a network session for the specific request and assigns a unique session identifier (ID).Step 3 (S3): Thereafter, the CHF
[0132] checks if there is any Session Termination Request (STR) which is received from the PCF
[0122] , If the STR is not received, step 4 (S4) is executed otherwise step 5 (S5) is executed.Step 4 (S4): Since the STR is not received, the CHF
[0132] will hold the network session till the STR is received from the PCF
[0122] , This is done to avoid premature releasing of the session. If the PCF
[0122] has not initiated the STR request and the session is released by the CHF
[0132] , then it might result in a stale session as the session is still maintained by PCF
[0122] , Therefore, maintaining the session or holding the session till the PCF
[0122] sends an STR request avoids creating stale sessions.Step 5 (S5): However, if the STR is received, the CHF
[0132] will relay the STR sent by the PCF
[0122] to the OCS
[0308] ,Step 6 (S6): At this step, the CHF
[0132] will check if a session termination answer request (STA) is received from the OCS
[0308] with a successful response i.e. SLR response. If the SLR is received with a successful response, the process proceeds to step 7 (S7). If the STR is not received with successful response, the process reiterates to step 5. This way CHF
[0132] will again check with OCS
[0308] for a successful SLR.Step 7 (S7ss): Upon receiving a successful response from the OCS
[0308] , the CHF
[0132] will execute the deletion / release of the network session associated with the session ID and the process of handling the race condition is thereby concluded.
[0094] The present disclosure further discloses a non-transitory computer-readable storage medium storing instruction for handling a race condition in a communication network, the storage medium comprising executable code which, when executed by one or more units of a system
[0300] , causes a transceiver unit
[0302] to receive, at a Converged Charging Function (CHF)
[0132] from aPolicy Control Function (PCF)
[0122] , a Spending Limit Request (SLR request). Further, the executable code which, when executed causes the transceiver unit
[0302] to transmit, from the CHF
[0132] to an Online Charging System (OCS)
[0308] , the SLR request. Further, the executable code which, when executed causes the transceiver unit
[0302] to receive, at the CHF
[0132] from the OCS
[0308] , a successful Spending Limit Response (SLR response) based on the SLR request. Further, the executable code which, when executed causes a processing unit
[0310] to initiate, by the CHF
[0132] , a network session based on the successful SLR response. Further, the executable code which, when executed causes the processing unit
[0310] to maintain, the network session, at the CHF
[0132] , Further, the executable code which, when executed causes the transceiver unit
[0302] to receive, at the CHF
[0132] , a session termination request (STR request) from the PCF
[0122] , Further, the executable code which, when executed causes the processing unit
[0310] to release, at the CHF
[0132] , the network session based on the STR request from the PCF
[0122] ,
[0095] Further, in accordance with the present disclosure, it is to be acknowledged that the functionality described for the various the components / units can be implemented interchangeably. While specific embodiments may disclose a particular functionality of these units for clarity, it is recognized that various configurations and combinations thereof are within the scope of the disclosure. The functionality of specific units as disclosed in the disclosure should not be construed as limiting the scope of the present disclosure. Consequently, alternative arrangements and substitutions of units, provided they achieve the intended functionality described herein, are considered to be encompassed within the scope of the present disclosure.
[0096] As is evident from the above, the present disclosure provides a technically advanced solution for handling a race condition in a communication network. Thus, the present disclosure ensures data consistency by adhering to the expected sequence of incoming / outgoing requests. The present disclosure establishes a reliable framework where the CHF
[0132] refrains from releasing a session prior to the arrival of STR-STA requests. This precautionary measure prevents the potential update of a non-existent session, effectively averting inconsistencies and request loss. Furthermore, the present disclosure leads to a marked reduction in error probability by preemptively addressing error-prone scenarios as the CHF
[0132] effectively curtails the chances of encountering glitches. Also, a Spending Limit Answer Request (SLA) and Spending Status Notification Request (SNR) related threads are executed before the crucial STR request, thereby adding a layer of precision and reliability to the process of handling the race condition.
[0097] While considerable emphasis has been placed herein on the disclosed implementations, it will be appreciated that many implementations can be made and that many changes can be made to the implementations without departing from the principles of the present disclosure. These and other changes in the implementations of the present disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.
Claims
We Claim:
1. A method [400] for handling a race condition in a communication network, the method [400] comprising: receiving, by a transceiver unit [302] at a Converged Charging Function (CHF) [132] from a Policy Control Function (PCF) [122], a Spending Limit Request (SLR request);- transmitting, by the transceiver unit [302] from the CHF [132] to an Online Charging System (OCS) [308], the SLR request; receiving, by the transceiver unit [302] at the CHF [132] from the OCS [308], a successful Spending Limit Response (SLR response) based on the SLR request; initiating, by a processing unit [310] at the CHF [132], a network session based on the successful SLR response; maintaining, by the processing unit [310], the network session at the CHF [132]; receiving, by the transceiver unit [302], at the CHF [132], a session termination request (STR request) from the PCF [122]; and releasing, by the processing unit [310], at the CHF [132], the network session based on the STR request from the PCF [122],2. The method [400] as claimed in claim 1, wherein the successful SLR response is received at the CHF [132] from the OCS [308] based on a set of predefined SLR request conditions.
3. The method [400] as claimed in claim 1, wherein the network session is associated with a session identifier (Session ID).
4. The method [400] as claimed in claim 1, wherein prior to releasing the network session based on the STR request from the PCF [122], the method [400] comprises: initiating, by the processing unit [310], from the CHF [132], a termination request towards the OCS [308]; receiving, by the transceiver unit [302], at the CHF [132], a successful response to the termination request from the OCS [308]; and- transmitting, by the transceiver unit [302], from the CHF [132], the successful response to the PCF [122],5. The method [400] as claimed in claim 1, wherein, the network session is maintained at the CHF [132] to handle a Spending Status Notification request (SNR request) from the OCS [308],6. A system [300] for handling a race condition in a communication work, the system [300] comprises: a transceiver unit [302], wherein the transceiver unit [302] is configured to:• receive, at a Converged Charging Function (CHF) [132] from a Policy Control Function (PCF) [122], a Spending Limit Request (SLR request),• transmit, from the CHF [132] to an Online Charging System (OCS) [308], the SLR request; and• receive, at the CHF [132] from the OCS [308], a successful Spending Limit Response (SLR response) based on the SLR request; and a processing unit [310] connected to at least the transceiver unit [302], wherein the processing unit [310] is configured to:• initiate, by the CHF [132], a network session based on the successful SLR response, and• maintain, the network session, at the CHF [132];- the transceiver unit [302], further configured to:• receive, at the CHF [132], a session termination request (STR request) from the PCF [122]; and- the processing unit [310], further configured to:• release, at the CHF [132], the network session based on the STR request from the PCF [122],7. The system [300] as claimed in claim 6, wherein the successful SLR response is received at the CHF [132] from the OCS [308] based on a set of predefined SLR request conditions.
8. The system [300] as claimed in claim 6, wherein the network session is associated with a session identifier (Session ID).
9. The system [300] as claimed in claim 6, wherein prior to releasing the network session based on the STR request from the PCF [122], the system [300] comprises:- the processing unit [310] configured to initiate, from the CHF [132], a termination request towards the OCS [308];- the transceiver unit [302], configured to receive at the CHF [132], a successful response to the termination request from the OCS [308]; and- the transceiver unit [302], configured to transmit, from the CHF [132], the successful response to the PCF [122],10. The system [300] as claimed in claim 6, wherein, the network session is maintained at the CHF [132] to handle a Spending Status Notification request (SNR request) from the OCS [308],11. A non-transitory computer-readable storage medium storing instruction for handling a race condition in a communication network, the storage medium comprising executable code which, when executed by one or more units of a system [300], causes: a transceiver unit [302] to:• receive, at a Converged Charging Function (CHF) [132] from a Policy Control Function (PCF) [122], a Spending Limit Request (SLR request),• transmit, from the CHF [132] to an Online Charging System (OCS) [308], the SLR request; and• receive, at the CHF [132] from the OCS [308], a successful Spending Limit Response (SLR response) based on the SLR request; and a processing unit [310] to:• initiate, by the CHF [132], a network session based on the successful SLR response, and• maintain, the network session, at the CHF [132];- the transceiver unit [302] to further:• receive, at the CHF [132], a session termination request (STR request) from the PCF [122]; and- the processing unit [310] to further: release, at the CHF [132], the network session based on the STR request from the PCF [122],