Method and system for handling a race condition

EP4767773A1Pending Publication Date: 2026-07-01JIO PLATFORMS LTD

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
JIO PLATFORMS LTD
Filing Date
2024-09-16
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

The current 5G network architecture faces a race condition issue when a 5G mobile device changes PLMNs during an ongoing call, leading to timeouts in Terminate-Notify Requests and inconsistencies in PDU session states, which degrade Key Performance Indicators (KPIs) at the Policy Control Function (PCF) and Session Management Function (SMF).

Method used

A method and system for handling race conditions in the 5G network by implementing a system comprising a transceiver unit, identification unit, processing unit, detection unit, and execution unit at the Policy Control Function (PCF). This system receives PLMN change requests, identifies call session statuses, generates internal signals for message transmission to the Session Management Function (SMF), detects call completion events, and performs specific actions based on these events to manage PLMN changes and maintain network integrity.

Benefits of technology

The solution effectively addresses race conditions by preventing KPI degradation at the PCF, eliminating inconsistencies in PDU session states at the SMF, and optimizing detachment procedures, thereby ensuring network performance and integrity without altering the Mobility Management Entity (MME) behavior.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2024051769_27032025_PF_FP_ABST
    Figure IN2024051769_27032025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method and a system for handling a race condition The present disclosure encompasses a transceiver unit [302] that receives at a Policy Control Function (PCF) [122], a Public Landline Mobile Network (PLMN) change request, and then an identification unit [304] identifies a call session status. The present disclosure encompasses a processing unit [306] that generates an internal signal to send a message to a Session Management Function (SMF) [108] to be consumed when the call session status is the non-active call session, in an event the call session status is the active call session. Further a detection unit [308] detects a call completion event in the event the call session status is the active call session, and an execution unit [310] performs one of a first action, a second action, a third action and a fourth action, based on detecting the call completion event.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND SYSTEM FOR HANDLING A RACE CONDITIONFIELD OF THE DISCLOSURE

[0001] Embodiments of the present disclosure generally relate to call management and session management in a telecommunication network. More particularly, embodiments of the present disclosure relate to methods and systems for handling a race condition.BACKGROUND

[0002] The following description of the 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 is used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of the prior art.

[0003] When a mobile device or a user Equipment (UE) is switched on, it attempts to make contact with a public land mobile network (PLMN). The particular PLMN to be contacted may be selected either automatically or manually. The UE looks for a suitable cell of the chosen PLMN and chooses that cell to provide available services. The UE will then register its presence in the registration area of the chosen cell, if necessary, by means of a location registration (LR), GPRS attach or IMSI attach procedure. If the UE loses coverage of a cell, say during mobility, or finds a more suitable cell, it reselects the most suitable cell of the selected PLMN. If the new cell is in a different registration area, an LR request is performed. If the UE loses coverage of a PLMN, either a new PLMN is selected automatically, or an indication of which PLMNs are available is given to the user, so that a manual selection can be made. A UE needs to register with the network to get authorized to receive services, to enable mobility tracking and to enable reachability. The Connection Management is used to establish and release the Control Plane signalling connection between the UE and the AMF. The Registration Management is used to register or deregister a UE / user with the 5GS and establish the user context in the 5GS. The Mobility Management functions are used to keep track of the current location of a UE.

[0004] The current scenario in the 5G network architecture poses a significant challenge, when a 5G mobile device is connected to RAT type EUTRAand a PLMN change occurs during an ongoing call. In such a scenario, both PCF and MME initiate the mobile detach process upon callcompletion. This results in a race condition within the network, causing the Terminate-Notify Request from PCF to time out, with no response from SMF. This issue leads to a degradation in Key Performance Indicators (KPIs) at the PCF end and may even result in inconsistencies in PDU session states at SMF. Addressing this race condition and ensuring a smoother transition during PLMN changes is imperative to maintain the integrity and performance of the 5G network.

[0005] Thus, there exists an imperative need in the art to efficiently handle a plurality of race conditions, which the present disclosure aims to address.SUMMARY

[0006] 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.

[0007] An aspect of the present disclosure may relate to a method for handling a race condition. The method comprises receiving, by a transceiver unit, at a Policy Control Function (PCF), a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE). The method comprises identifying, by an identification unit, at the PCF, a call session status associated with a call from the UE, based on the PLMN change request, wherein the call session status is one of an active call session and a non-active call session. The method further comprises generating, by a processing unit, at the PCF, an internal signal to send a message to a Session Management Function (SMF) to be consumed when the call session status is the non-active call session, in an event the call session status is the active call session. The method further comprises detecting, by a detection unit, at the PCF, a call completion event in the event the call session status is the active call session; performing, by an execution unit, at the PCF, one of a first action, a second action, a third action, and a fourth action, based on detecting the call completion event.

[0008] In an exemplary aspect of the present disclosure, the PLMN change request is for a change from a first PLMN to a second PLMN, wherein the call associated with the active call session initiates in first PLMN and completes in the second PLMN.

[0009] In an exemplary aspect of the present disclosure, the first PLMN is associated with a first Radio Access technology (RAT) type and the second PLMN is associated with a second RAT type.

[0010] In another exemplary aspect of the present disclosure, generating the internal signal to send a message to the SMF is based on a flag to support the active call session in an event of PLMN change associated with the UE, wherein the flag is set to true.

[0011] In an exemplary aspect of the present disclosure, the first action comprises detecting, by the detection unit, at the PCF, if the first PLMN is same as the second PLMN. Further, the first action comprises ignoring, by the processing unit, at the PCF, the generated signal, in an event the first PLMN is same as the second PLMN. The first action further comprises sending, by the transceiver unit from the PCF, a first notification to the SMF.

[0012] In an exemplary aspect of the present disclosure, the second action comprises detecting, by the detection unit, at the PCF, if the first RAT type is same as the second RAT type. The second action then comprises ignoring, by the processing unit, at the PCF, the generated signal, in an event the first RAT type is same as the second RAT type and relates to Evolved Universal Terrestrial Radio Access (EUTRA). The second action also comprises detaching, by the processing unit, the UE from a Mobility Management Entity (MME) associated with the first PLMN. Further, the second action comprises sending, by the transceiver unit from the PCF, a first notification to the SMF.

[0013] In an exemplary aspect of the present disclosure, the first notification is an update-notify request.

[0014] In an exemplary aspect of the present disclosure, the third action comprises detecting, by the detection unit, if the first RAT type is same as the second RAT type. The third action comprises detecting, by the detection unit, at the PCF, if the first PLMN is different from the second PLMN. Also, the third action comprise sending, by the transceiver unit, from the PCF, a second notification to trigger network initiated detach process of the UE, to the SMF, in an event the first RAT type is same as second RAT type and relates to New Radio (NR) and in an event the first PLMN is different from the second PLMN.

[0015] In an exemplary aspect of the present disclosure, the fourth action comprises detecting, by the detection unit, at the PCF, if the first RAT type is different from the second RAT type. The fourth action further comprises detecting, by the detection unit, at the PCF, if the first PLMN is different from the second PLMN. Then the fourth action comprises sending, by the transceiver unit, from the PCF, a second notification to trigger network initiated detach process of the UE, inan event the first RAT type is different from the second RAT type and in an event the first PLMN is different from the second PLMN.

[0016] In an exemplary aspect of the present disclosure, the second notification is a terminate- notify request.

[0017] Another aspect of the present disclosure may relate to a system for handling a race condition. The system comprises a transceiver unit, an identification unit, a processing unit, a detection unit, and an execution unit connected with each other. The transceiver unit is configured to receive at a Policy Control Function (PCF), a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE). The identification unit is configured to identify at the PCF, a call session status associated with a call from the (UE), based on the PLMN change request, wherein the call session status is one of an active call session and a non-active call session. The processing unit is configured to generate at the PCF, an internal signal to send a message to a Session Management Function (SMF) to be consumed when the call session status is the nonactive call session, in an event the call session status is the active call session. The detection unit is configured to configured to detect at the PCF, a call completion event in the event the call session status is the active call session. The execution unit is configured to perform at the PCF, one of a first action, a second action, a third action, and a fourth action, based on detecting the call completion event.

[0018] Yet another aspect of the present disclosure may relate to a non-transitory computer readable storage medium storing one or more instructions for handling a race condition, the one or more instructions include executable code which, when executed by one or more units of a system, cause the one or more units to perform certain functions. The one or more instructions when executed cause a transceiver unit of the system to receive at a Policy Control Function (PCF), a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE). The one or more instructions when executed further cause an identification unit of the system to identify at the PCF, a call session status associated with a call from the (UE), based on the PLMN change request, wherein the call session status is one of an active call session and a nonactive call session. The one or more instructions when executed further cause a processing unit of the system to generate at the PCF, an internal signal to send a message to a Session Management Function (SMF) to be consumed when the call session status is the non-active call session, in an event the call session status is the active call session. The one or more instructions when executed further cause a detection unit of the system to detect at the PCF, a call completion event in theevent the call session status is the active call session. The one or more instructions when executed further cause an execution unit of the system to perform at the PCF, one of a first action, a second action, a third action, and a fourth action, based on detecting the call completion event.OBJECTS OF THE DISCLOSURE

[0019] Some of the objects of the present disclosure, which at least one embodiment disclosed herein satisfies are listed herein below.

[0020] It is an object of the present disclosure to provide a system and a method for handling a race condition.

[0021] It is another object of the present disclosure to provide a system and a method for handling one or more race conditions.

[0022] It is another object of the present disclosure to provide a solution to avoid a PDU session state inconsistency at core network functions which ensures there is no requirement to change MME behavior on PLMN change.

[0023] It is yet another object of the present disclosure to provide a solution for successfully identifying one or more call session conditions based on the non-active call session, wherein the one or more call session conditions is at least one of a PLMN change condition check, a Radio Access Technology (RAT) type change condition check and a RAT type condition check.BRIEF DESCRIPTION OF THE DRAWINGS

[0024] 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. Also, the embodiments shown in the figures are not to be construed as limiting the disclosure, but the possible variants of the method and system according to the disclosure are illustrated herein to highlight the advantages of the disclosure. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components or circuitry commonly used to implement such components.

[0025] FIG. 1 illustrates an exemplary block diagram representation of 5thgeneration core (5GC) network architecture.

[0026] FIG. 2 illustrates an exemplary block diagram of a computing device upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure.

[0027] FIG. 3 illustrates an exemplary block diagram of a system for handling a race condition, in accordance with exemplary implementations of the present disclosure.

[0028] FIG. 4 illustrates a method flow diagram for handling a race condition, in accordance with exemplary implementations of the present disclosure.

[0029] FIG. 5 illustrates an exemplary signal flow diagram illustrating a scenario for a race condition.

[0030] FIG. 6 illustrates another exemplary signal flow diagram providing a solution for handling the race condition in case of a change in PLMN.

[0031] FIG. 7 illustrates another exemplary signal flow diagram providing a solution for handling the race condition in case of a change in PLMN in a New Radio.

[0032] FIG. 8 illustrates another exemplary signal flow diagram providing a solution for handling the race condition in case of a change in PLMN and also a change in a type of radio access network.

[0033] FIG. 9 illustrates another exemplary signal flow diagram providing a solution for handling the race condition in case of a change in PLMN and then reverting back to the earlier PLMN.

[0034] The foregoing shall be more apparent from the following more detailed description of the disclosure.DETAILED DESCRIPTION

[0035] 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 may 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.

[0036] 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.

[0037] 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, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail.

[0038] It should be noted that the terms "first", "second", "primary", "secondary", "target" and the like, herein do not denote any order, ranking, quantity, or importance, but rather are used to distinguish one element from another.

[0039] 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 may 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.

[0040] 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 otheraspects 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.

[0041] As used herein, a “processing unit” or “processor” or “operating processor” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. A 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 or processing unit is a hardware processor.

[0042] 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 unit(s) which are required to implement the features of the present disclosure.

[0043] 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.

[0044] 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.

[0045] 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.

[0046] As used herein the transceiver unit include 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.

[0047] 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 method and system of handling a race condition.

[0048] FIG. 1 illustrates an exemplary block diagram representation of 5thgeneration 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 Policy Control 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] , 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.

[0049] Radio Access Network (RAN)

[0104] is the part of a mobile telecommunications system that connects 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.

[0050] Access and Mobility Management Function (AMF)

[0106] is a 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.

[0051] Session Management Function (SMF)

[0108] is a 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) for data forwarding and handles IP address allocation and QoS enforcement.

[0052] 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.

[0053] Authentication Server Function (AUSF)

[0112] is a network function in the 5G core responsible for authenticating UEs during registration and providing security services. It generates and verifies authentication vectors and tokens.

[0054] Network Slice Specific Authentication and Authorization Function (NSSAAF)

[0114] is a 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.

[0055] Network Slice Selection Function (NSSF)

[0116] is a network function responsible for selecting the appropriate network slice for a UE based on factors such as subscription, requested services, and network policies.

[0056] Network Exposure Function (NEF)

[0118] is a network function that exposes capabilities and services of the 5G network to external applications, enabling integration with third-party services and applications.

[0057] Network Repository Function (NRF)

[0120] is a 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.

[0058] Policy Control Function (PCF)

[0122] is a network function responsible for policy control decisions, such as QoS, charging, and access control, based on subscriber information and network policies.

[0059] Unified Data Management (UDM)

[0124] is a network function that centralizes the management of subscriber data, including authentication, authorization, and subscription information.

[0060] Application Function (AF)

[0126] is a network function that represents external applications interfacing with the 5G core network to access network capabilities and services.

[0061] User Plane Function (UPF)

[0128] is a network function responsible for handling user data traffic, including packet routing, forwarding, and QoS enforcement.

[0062] Data Network (DN)

[0130] refers to a network that provides data services to user equipment (UE) in a telecommunications system. The data services may include but are not limited to Internet services, private data network related services.

[0063] Binding Support Function (BSF)

[0132] is a component responsible for storing the binding information for a certain PDU Session and discovering the binding information (e.g. the address information of the selected PCF). The BSF

[0132] allows NF service consumers (e.g. PCF

[0122] ) to register, update and remove the binding information, and allows NF service consumers (e.g. an application function (AF)

[0126] or Network Exposure Function (NEF)

[0118] ) to discover the binding information (e.g. the address information of the selected PCF

[0122] ). The BSF

[0132] may be deployed standalone or may also be collocated with other network functions, such as PCF

[0122] , NRF

[0120] and SMF

[0108] ,

[0064] 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. In an implementation, the computing device

[0200] may also implement a method for handling a race condition utilising the system

[0300] , In anotherimplementation, the computing device

[0200] itself implements the method for handling the race condition using one or more units configured within the computing device

[0200] , wherein said one or more units are capable of implementing the features as disclosed in the present disclosure.

[0065] 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] or other static storage device coupled to the bus

[0202] for storing static information and instructions for the processor

[0204] ,

[0066] 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.

[0067] 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 areperformed 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.

[0068] 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 compatible LAN. 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.

[0069] 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] , a 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.

[0070] Referring to FIG. 3, an exemplary block diagram of a system

[0300] for handling a race condition, is shown, in accordance with the exemplary implementations of the present disclosure. The system

[0300] comprises at least one transceiver unit

[0302] , at least one identification unit

[0304] , at least one processing unit

[0306] , at least one detection unit

[0308] , and at least one execution 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 figures 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 numbers of said units, as required to implement the features of the presentdisclosure. Further, in an implementation, the system

[0300] may be present in a user device / user equipment

[0102] to implement the features of the present disclosure. The system

[0300] may be in communication with the user device

[0102] (may also referred herein as a UE). In another 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 and partly in the user device.

[0071] The system

[0300] is configured for handling the race condition, with the help of the interconnection between the components / units of the system

[0300] ,

[0072] As may be known, the race condition is an undesirable situation that occurs when a device or system attempts to perform two or more operations at the same time, but because of the nature of the device or system, the operations must be done in the proper sequence to be done correctly. For example, in case of a request from a network function such as the PCF

[0122] gets expired due to timeout and such request is not responded from another network function such as the SMF

[0108] , The race condition, also known as the race around condition, leads to degradation in KPIs at the NF end (like PCF end) and may lead to inconsistency in a PDU session state at the other NF end (like SMF).

[0073] The transceiver unit

[0302] as shown in FIG. 3, receives at a Policy Control Function (PCF)

[0122] , a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE)

[0102] , The PLMN change request may refer to a request for changing the PLMN in order to detach the UE

[0102] , in case a user or the UE

[0102] moves from one PLMN to another.

[0074] As would be understood the PLMN may refer to a collection of Mobile Switching Centres (MSCs) areas in Circuit Switching (CS) domain and serving General Packet Radio Service (GPRS) Support Node (SGSN) areas for GPRS and SGSN or Mobility Management Entity (MME) areas for Evolved Packet Core (EPC) in Packet Switching (PS) domain within a common numbering plan (e.g. same National Destination Code) and a common routing plan. The PLMN may be established and operated by an administration or Recognized Private Operating Agency (RPOA) for the specific purpose of providing land mobile telecommunications service services to the public. A PLMN may be regarded as an extension of networks (e.g. Integrated Services Digital Network (ISDN), corporate and public packet data network (PDNs), etc.). A PLMN is identified by a globally unique PLMN code or an identifier, which consists of a MCC (Mobile Country Code) and MNC (Mobile Network Code).

[0075] In certain implementations of the present disclosure, the PLMN change request may be for a change from a first PLMN to a second PLMN. It may be noted that in such implementations, the call associated with the active call session initiates in first PLMN and completes in the second PLMN. Further, the PLMN change is an event notification that contains the new PLMN Identifier for the ongoing call session.

[0076] In further implementations of the present disclosure, the first PLMN may be associated with a first Radio Access technology (RAT) type and the second PLMN may be associated with a second RAT type. For example, the first RAT type may be of a 5G network, and the second RAT type may be of a 4G network. The RAT type indicates which Radio Access Technology is currently serving the UE. Some common examples include UTRA (UMTS Terrestrial Radio Access), GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), LTE (Long-Term Evolution), and 5G NR (New Radio). RAT type also includes E-UTRA which is the air interface of 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) upgrade path for mobile networks. It is an acronym for Evolved UMTS Terrestrial Radio Access, also known as the Evolved Universal Terrestrial Radio Access. Further, a PLMN may support more than one radio access technology.

[0077] On receiving the PLMN change request, the identification unit

[0304] identifies at the PCF

[0122] , a call session status associated with a call from the UE

[0102] , based on the PLMN change request, wherein the call session status is one of an active call session and a non-active call session. The call session status may refer to a status of a call session, for example, whether the call is ongoing or has ended. The active call session may indicate that the call is currently ongoing, and the non-active call session may indicate that the call has been ended. As would be understood, the call may refer to an interaction between different users that are availing the communication services through a voice or video call session.

[0078] Thereafter, the processing unit

[0306] generates at the PCF

[0122] , an internal signal to send a message to a Session Management Function (SMF)

[0108] to be consumed when the call session status becomes the non-active call session, in an event the call session status is the active call session. The internal signal may refer to an indication for communicating the call session status to the SMF

[0108] , The message may be in the form of a command or a timeout request, which may be provided for communicating certain actions to be performed after completion of the active call session. The completion of the active call session indicates that completion of an ongoing call. Itmay be noted that the certain actions as specified are to be performed only in the case when the call session status has been determined to be non-active call session. Further, in an implementation, the internal signal is an AAA (Authorization Authentication Answer) message and includes the PLMN identifier and the RAT type information. The PLMN identifier is included within a 3GPP- SGSNMCC-MNC AVP and the RAT type within a RAT- Type AVP Here, AVP stands for Attribute Value Pair and defines the value in the form of a code for the respective attribute. The RAT-Type (AVP) (AVP code 1032) is of type Enumerated and is used to identify the radio access technology that is serving the UE.

[0079] In one of the implementations of the present disclosure, generation of the internal signal may be based on a flag to support the active call session in an event of PLMN change associated with the UE

[0102] , wherein the flag is set to true. In such an implementation, the flag is used for determining whether to support an ongoing call on PLMN change event. If the flag is set to true, it means that the ongoing call or the active call session has to be supported to let the call session continue even if there is a PLMN change event detected.

[0080] Continuing further, after the internal signal is generated, the detection unit

[0308] detects at the PCF

[0122] , a call completion event in the event the call session status is the active call session. The call completion event may refer to the event that the call has been terminated. For detection of the call completion event the call session status is checked and when the active call session is terminated, the call session status becomes the non-active call session, which is identified as the call completion event.

[0081] On detection of the call completion event, the execution unit

[0310] performs at the PCF

[0122] , one of a first action, a second action, a third action, and a fourth action based on detecting the call completion event. The first action, the second action, the third action, and the fourth action may refer to actions that are required to be taken for handling the race condition.

[0082] The first action may refer to an action required to be taken in a case when there is no change in the PLMN. The second action may refer to an action which is required to be taken in a case where there is change in the PLMN and the PLMN is associated with RAT type E-UTRA. The third action may refer to an action required to be taken in a case of no change in the PLMN, and PLMN is associated with the RAT type NR. The fourth action may refer to an action required to be taken in a case of a change in the PLMN and a change in the RAT type(for example, change from 5G to 4G).

[0083] It may be understood that the system

[0300] may fetch certain parameters for identification of the PLMN and the RAT type used by the PLMN as may be obvious to a person skilled in the art.

[0084] In an implementation of the present disclosure, in order to perform the first action, the detection unit

[0308] is required to detect at the PCF

[0122] , if the first PLMN is same as the second PLMN. For detection of the PLMN, the detection unit

[0308] matches certain parameters of the first PLMN with the second PLMN, and in case the parameters are matched, then it is considered that the first PLMN is same as the second PLMN. These parameters may be the unique PLMN code, which consists of a MCC (Mobile Country Code) and MNC (Mobile Network Code). This identification helps in checking the prerequisite whether the first action is required to be executed or not. Then the processing unit

[0306] ignores, the generated signal at the PCF

[0122] , in an event the first PLMN is same as the second PLMN. It may be noted that the ignoring of the generated signal is the first action that is performed in case the first PLMN is same as the second PLMN. The transceiver unit

[0302] sends, from the PCF

[0122] , a first notification to the SMF

[0108] , The first notification is sent for updating the SMF

[0108] that the session may be continued and no change may be required in the session and only the PDU session needs to be updated. PDU stands for Packet Data Unit. A PDU session establishment is the process of establishing a data path between the UE and the 5G core network. A PDU session is a logical connection between the UE and a data network, such as the internet or a private network. It is used to carry user data and can support different types of services, such as voice, video, and data.

[0085] In an implementation of the present disclosure, the first notification may be an update- notify request. The update-notify request may refer to a request for sending the information that the PDU session may be updated and is not required to be terminated.

[0086] To explain the above described first action, let us consider an example. When during an active call session, the detection unit

[0308] detects a PLMN change when the first PLMN is different from the second PLMN, but later on the call completion, the detection unit

[0308] detects at the PCF

[0122] , that the first PLMN is same as the second PLMN. This may happen when the UE hops into multiple PLMNs, but finally returns to the PLMN at which the call initiated at the time of completing the call. The processing unit

[0306] then, ignores at the PCF

[0122] , the generated signal in an event the first PLMN becomes same as the second PLMN on the call completion event. Since, the PLMN has now been reverted back to the original PLMN, there may not be any needfor terminating the PDU session for the same. Accordingly, the transceiver unit

[0302] sends from the PCF

[0122] , the first notification to the SMF

[0108] , As provided above, the first notification may be the update notify request.

[0087] In another implementation of the present disclosure, in order to perform the second action, the detection unit

[0308] detects, at the PCF

[0122] , if the first RAT type is same as the second RAT type. The detecting enables checking whether the prerequisites of the performance of the second action are fulfilled. For detecting, the detection unit

[0308] may match certain parameters of the first RAT type with certain parameters of the second RAT type. In case the certain parameters of the first RAT type match with the second RAT type, then it may be determined that the first RAT type is same as the second RAT type. The RAT- Type (AVP) (AVP code 1032) is of type Enumerated and is used to identify the radio access technology that is serving the UE. It may be noted that for identifying the type of RAT there may be various codes allocated from 0 to 2999. The value of 1004 may provide an indication that the RAT is EUTRAN, and similarly, the value of 1006 may indicate that the RAT is NG-RAN. Accordingly, the value may be used for detecting the RAT type and may also detect any change in RAT type. Thereafter, the processing unit

[0306] ignores the generated signal at the PCF

[0122] , in an event the first RAT type is same as the second RAT type and relates to Evolved Universal Terrestrial Radio Access (EUTRA). It may be noted that during the matching of the certain parameters, the first RAT type and the second RAT type may be analysed for determination of RAT type being related to EUTRA. After ignoring / discarding of the generated signal, the processing unit

[0306] detaches the UE

[0102] from a Mobility Management Entity (MME) associated with the first PLMN. As would be known, the MME may refer to a key component of the 5G core network responsible for managing the mobility of the user devices within the network. The MME ensures seamless connectivity and handover between different cells or networks. After detachment is completed, then the transceiver unit

[0302] sends from the PCF

[0122] , a first notification to the SMF

[0108] , As provided above, the first notification may be sent for updating the SMF

[0108] and the session may be continued to be used and no change should be required in the session except updating of the certain parameters, such as updating the bearer context or access points and / or other security parameters.

[0088] In another implementation of the present disclosure, in order to perform the third action, the detection unit

[0308] detects if the first RAT type is same as the second RAT type. Further, the detection unit

[0308] also detects at the PCF

[0122] , if the first PLMN is different from the second PLMN. For detecting, the detection unit

[0308] may match certain parameters of the first PLMN and the first RAT type with certain parameters of the second PLMN and the second RAT type. Incase the certain parameters of the first PLMN are matched with the second PLMN, then it may be determined that the first PLMN is same as the second PLMN. Similarly, in case the certain parameters of the first RAT type are not matched with the second RAT type, then it may be determined that the first RAT type is different than the second RAT type. The detecting enables checking of the prerequisites for the third action. Thereafter, the transceiver unit

[0302] sends from the PCF

[0122] , a second notification to trigger network initiated detach process of the UE

[0102] , to the SMF

[0108] , in an event the first RAT type is same as second RAT type and relates to New Radio (NR) and in an event the first PLMN is different from the second PLMN.

[0089] As may be understood, the NR RAT type may refer to the Next Generation or 5thgeneration of telecommunication technology. Further, the network initiated detach process may refer to the process of detaching the UE

[0102] from the current PLMN through the network end. It may be noted that for detaching the UE

[0102] from the current PLMN, a detachment request may be sent to the serving gateway which may release the resources allocated to the UE, such as radio resources, and bearers. Then the serving gateway may send a notification to the MME about the detachment and accordingly the MME updates the home subscriber server about the detachment.

[0090] Further, in certain implementations of the present disclosure, the second notification may be a terminate-notify request. The terminate-notify request may refer to a request used to provide notification of the termination of the PDU session.

[0091] In another implementation of the present disclosure, for performing the fourth action, the detection unit

[0308] detects at the PCF

[0122] , if the first RAT type is different from the second RAT type. Also, the detection unit

[0308] detects at the PCF

[0122] , if the first PLMN is different from the second PLMN. As provided above, for detecting, the detection unit

[0308] may match certain parameters of the first PLMN and the first RAT type with certain parameters of the second PLMN and the second RAT type. In case the certain parameters of the first PLMN are not matched with the second PLMN, then it may be determined that the first PLMN is different than the second PLMN. Similarly, in case the certain parameters of the first RAT type are not matched with the second RAT type, then it may be determined that the first RAT type is different than the second RAT type. The transceiver unit

[0302] , sends from the PCF

[0122] , a second notification to trigger network initiated detach process of the UE

[0102] , in an event the first RAT type is different from the second RAT type and in an event the first PLMN is different from the second PLMN.

[0092] Referring to FIG. 4, an exemplary method flow diagram

[0400] for handling a race condition, 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] ,

[0093] As may be known, the race condition is an undesirable situation that occurs when a device or system attempts to perform two or more operations at the same time, but because of the nature of the device or system, the operations must be done in a proper sequence to be done correctly. For example, in case of a request from a network function such as the PCF

[0122] gets expired due to timeout and such request is not responded from another network function such as the SMF

[0108] , The race condition, also known as the race around condition, leads to degradation in KPIs at the NF end (like PCF end) and may lead to inconsistency in a PDU session state at the other NF end (like SMF).

[0094] Then at step

[0404] , the method

[0400] involves receiving, by a transceiver unit

[0302] , at a Policy Control Function (PCF)

[0122] , a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE)

[0102] , The PLMN change request may refer to a request for changing the PLMN in order to detach the UE

[0102] , in case a user or the UE

[0102] moves from one PLMN to another.

[0095] As would be understood the PLMN may refer to a collection of Mobile Switching Centres (MSCs) areas in Circuit Switching (CS) domain and Serving General Packet Radio Service (GPRS) Support Node (SGSN) areas for GPRS and SGSN or Mobility Management Entity (MME) areas for Evolved Packet Core (EPC) in Packet Switching (PS) domain within a common numbering plan (e.g. same National Destination Code) and a common routing plan. The PLMN may be established and operated by an administration or Recognized Private Operating Agency (RPOA) for the specific purpose of providing land mobile telecommunications service services to the public. A PLMN may be regarded as an extension of networks (e.g. Integrated Services Digital Network (ISDN), corporate and public packet data network (PDNs), etc.). A PLMN is identified by a globally unique PLMN code, which consists of a MCC (Mobile Country Code) and MNC (Mobile Network Code).

[0096] In certain implementations of the present disclosure, the PLMN change request may be for a change from a first PLMN to a second PLMN. It may be noted that in such implementations, thecall associated with the active call session initiates in first PLMN and completes in the second PLMN. Further, the PLMN change is an event notification that contains the new PLMN Identifier for the ongoing call session.

[0097] In further implementations of the present disclosure, the first PLMN may be associated with a first Radio Access technology (RAT) type and the second PLMN may be associated with a second RAT type. For example, the first RAT type may be of a 5G network, and the second RAT type may be of a 4G network. The RAT type indicates which Radio Access Technology is currently serving the UE. Some common examples include UTRA (UMTS Terrestrial Radio Access), GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), LTE (Long-Term Evolution), and 5G NR (New Radio). RAT type also includes E-UTRA which is the air interface of 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) upgrade path for mobile networks. It is an acronym for Evolved UMTS Terrestrial Radio Access, also known as the Evolved Universal Terrestrial Radio Access. Further, a PLMN may support more than one radio access technology.

[0098] On receiving the PLMN change request, at step

[0406] , the method

[0400] involves identifying, by an identification unit

[0304] , at the PCF

[0122] , a call session status associated with a call from the UE

[0102] , based on the PLMN change request, wherein the call session status is one of an active call session and a non-active call session. The call session status may refer to a status of a call session, for example, whether the call is ongoing or has ended. The active call session may indicate that the call is currently ongoing, and the non-active call session may indicate that the call has been ended. As would be understood, the call may refer to an interaction between different users that are availing the communication services through a voice or video call session.

[0099] On identification of the call session status, then at step

[0408] , the method

[0400] comprises generating, by a processing unit

[0306] , at the PCF

[0122] , an internal signal to send a message to a Session Management Function (SMF)

[0108] to be consumed when the call session status becomes the non-active call session, in an event the call session status is the active call session. The internal signal may refer to an indication for communicating the call session status to the SMF

[0108] , The message may be in the form of a command or a timeout request, which may be provided for communicating certain actions to be performed after completion of a certain event. For example, the certain event may be a completion of the call. It may be noted that the certain action as specified is required to be performed only in the case when the call session status has been determined to be non-active call session.

[0100] In one of the implementations of the present disclosure, generation of the internal signal may be based on a flag to support the active call session in an event of PLMN change associated with the UE

[0102] , wherein the flag is set to true. In such an implementation, the flag is used for determining whether to support an ongoing call on PLMN change event. If the flag is set to true, it means that the ongoing call or the active call session has to be supported to let the call session continue even if there is a PLMN change event detected.

[0101] Further, at step

[0410] , the method

[0400] involves detecting, by a detection unit

[0308] , at the PCF

[0122] , a call completion event in the event the call session status is the active call session. The call completion event may refer to the event that the call has been terminated. For detection of the call completion event the call session status is checked and when the active call session is terminated, the call session status becomes the non-active call session, which is identified as the call completion event.

[0102] On detection of call completion event, then at step

[0412] , the method

[0400] comprises performing, by an execution unit

[0310] , at the PCF

[0122] , one of a first action, a second action, a third action, and a fourth action, based on detecting the call completion event.

[0103] The first action may refer to an action required to be taken in a case when there is no change in the PLMN. The second action may refer to an action which is required to be taken in a case where there is no change in the PLMN and the PLMN is associated with RAT type E-UTRA. The third action may refer to an action required to be taken in a case of no change in the PLMN, and PLMN is associated with the RAT type NR. The fourth action may refer to an action required to be taken in a case of a change in the PLMN and a change in the RAT type (for example, change from 5G to 4G).

[0104] It may be understood that the system

[0300] may fetch certain parameters for identification of the PLMN and the RAT type used by the PLMN as may be obvious to a person skilled in the art.

[0105] In an implementation of the present disclosure, the first action may comprise detecting, by the detection unit

[0308] , at the PCF

[0122] , if the first PLMN is same as the second PLMN. The first action further comprises ignoring, by the processing unit

[0306] , at the PCF

[0122] , the generated signal, in an event the first PLMN is same as the second PLMN. The first action furthercomprises sending, by the transceiver unit

[0302] , from the PCF

[0122] , a first notification to the SMF

[0108] , For detection of the PLMN, the detection unit

[0308] matches certain parameters of the first PLMN with the second PLMN, and in case the parameters are matched, then it is considered that the first PLMN is same as the second PLMN. These parameters may be the unique PLMN code, which consists of a MCC (Mobile Country Code) and MNC (Mobile Network Code). This identification helps in checking the prerequisite whether the first action is required to be executed or not. It may be noted that the ignoring of the generated signal is the first action that is performed in case the first PLMN is same as the second PLMN. The first notification is sent for updating the SMF

[0108] and the session may be continued to be used and no change may be required in the session and only the PDU session needs to be updated.

[0106] In an implementation of the present disclosure, the first notification may be an update- notify request. The update-notify request may refer to a request for sending the information that the PDU session may be updated and is not required to be terminated.

[0107] To explain the above described first action, let us consider an example. When during an active call session, the detection unit

[0308] detects a PLMN change when the first PLMN is different from the second PLMN, but later on the call completion, the detection unit

[0308] detects at the PCF

[0122] , that the first PLMN is same as the second PLMN. This may happen when the UE hops into multiple PLMNs, but finally returns to the PLMN at which the call initiated at the time of completing the call. The processing unit

[0306] then, ignores at the PCF

[0122] , the generated signal in an event the first PLMN becomes same as the second PLMN on the call completion event. Since, the PLMN has now been reverted back to the original PLMN, there may not be any need for terminating the PDU session for the same. Accordingly, the transceiver unit

[0302] sends from the PCF

[0122] , the first notification to the SMF

[0108] , As provided above, the first notification may be the update notify request.

[0108] In another implementation of the present disclosure, the second action comprises detecting, by the detection unit

[0308] , at the PCF

[0122] , if the first RAT type is same as the second RAT type. The second action further comprises ignoring, by the processing unit

[0306] , at the PCF

[0122] , the generated signal, in an event the first RAT type is same as the second RAT type and relates to Evolved Universal Terrestrial Radio Access (EUTRA). Furthermore, the second action further comprises detaching, by the processing unit

[0306] , the UE

[0102] from a Mobility Management Entity (MME) associated with the first PLMN. Then the second action comprises sending, by the transceiver unit

[0302] from the PCF

[0122] , a first notification to the SMF

[0108] , The detectingenables checking whether the prerequisites of the performance of the second action are fulfilled. For detecting, the detection unit

[0308] may match certain parameters of the first RAT type with certain parameters of the second RAT type. In case the certain parameters of the first RAT type are matched with the second RAT type, then it may be determined that the first RAT type is same as the second RAT type. The RAT type AVP (AVP code 1032) is of type Enumerated and is used to identify the radio access technology that is serving the UE. It may be noted that for identifying the type of RAT there may be various codes allocated from 0 to 2999. The value of 1004 may provide an indication that the RAT is EUTRAN, and similarly, the value of 1006 may indicate that the RAT is NG-RAN. Accordingly, the value may be used for detecting the RAT type and may also detect any change in RAT type. It may be noted that during the matching of the certain parameters, the first RAT type and the second RAT type may be analysed for determination of RAT type being related to EUTRA. After ignoring / discarding of the generated signal, the processing unit

[0306] detaches the UE

[0102] from a Mobility Management Entity (MME) associated with the first PLMN. As would be known, the MME may refer to a key component of the 5G core network responsible for managing the mobility of the user devices within the network. The MME ensures seamless connectivity and handover between different cells or networks. As provided above, the first notification may be sent for updating the SMF

[0108] and the session may be continued to be used and no change should be required in the session except updating of the certain parameters, such as updating the bearer context or access points and / or other security parameters.

[0109] In another implementation of the present disclosure, the third action comprises detecting, by the detection unit

[0308] , if the first RAT type is same as the second RAT type. Then the third action further comprises detecting, by the detection unit

[0308] , at the PCF

[0122] , if the first PLMN is different from the second PLMN. Also, the third action comprises sending, by the transceiver unit

[0302] , from the PCF

[0122] , a second notification to trigger network initiated detach process of the UE

[0102] , to the SMF

[0108] , in an event the first RAT type is same as second RAT type and relates to New Radio (NR) and in an event the first PLMN is different from the second PLMN. For detecting, the detection unit

[0308] may match certain parameters of the first PLMN and the first RAT type with certain parameters of the second PLMN and the second RAT type. In case the certain parameters of the first PLMN are matched with the second PLMN, then it may be determined that the first PLMN is same as the second PLMN. Similarly, in case the certain parameters of the first RAT type are not matched with the second RAT type, then it may be determined that the first RAT type is different than the second RAT type. The detecting enables checking of the prerequisites for the third action.

[0110] As may be understood, the NR RAT type may refer to the Next Generation or 5thgeneration of telecommunication technology. Further, the network initiated detach process may refer to the process of detaching the UE

[0102] from the current PLMN through the network end. It may be noted that for detaching the UE

[0102] from the current PLMN, a detachment request may be sent to the serving gateway which may release the resources allocated to the UE, such as radio resources, and bearers. Then the serving gateway may send a notification to the MME about the detachment and accordingly the MME updates the home subscriber server about the detachment.[OHl] Further, in an implementation of the present disclosure, the second notification may be a terminate-notify request. The terminate-notify request may refer to a request used to provide notification of the termination of the PDU session.

[0112] In another implementation of the present disclosure, the fourth action comprises detecting, by the detection unit

[0308] , at the PCF

[0122] , if the first RAT type is different from the second RAT type. Then the fourth action comprises detecting, by the detection unit

[0308] , at the PCF

[0122] , if the first PLMN is different from the second PLMN. Further, the fourth action involves sending, by the transceiver unit

[0302] , from the PCF

[0122] , a second notification to trigger network initiated detach process of the UE

[0102] , in an event the first RAT type is different from the second RAT type and in an event the first PLMN is different from the second PLMN. As provided above, for detecting, the detection unit

[0308] may match certain parameters of the first PLMN and the first RAT type with certain parameters of the second PLMN and the second RAT type. In case the certain parameters of the first PLMN are not matched with the second PLMN, then it may be determined that the first PLMN is different than the second PLMN. Similarly, in case the certain parameters of the first RAT type are not matched with the second RAT type, then it may be determined that the first RAT type is different than the second RAT type.

[0113] Thereafter, at step

[0414] , the method

[0400] terminates.

[0114] FIG. 5 illustrates an exemplary signal flow diagram

[0500] illustrating a scenario for a race condition. As per the signal flow

[0500] , at step

[0502] , the MME or the AMF

[0106] sends an attach request to the SMF

[0108] , Then, at step

[0504] , the SMF

[0108] sends a request for creation of a PDU session to the PCF

[0122] , PDU stands for Packet Data Unit. A PDU session establishment is the process of establishing a data path between the UE and the 5G core network. A PDU session is a logical connection between the UE and a data network, such as the internet or a privatenetwork. It is used to carry user data and can support different types of services, such as voice, video, and data.

[0115] Based on the request, then at step

[0506] , the PCF

[0122] accordingly creates the PDU session and sends back its respective information in the response to the SMF

[0108] , After the SMF

[0108] receives the PDU session, it accordingly, at step

[0508] , sends its information to the MME or the AMF

[0106] , Then the attachment of the UE

[0102] becomes successful. It may be known that the attachments of the UE may refer to establishment of the connection between the UE

[0102] and the telecommunication network. Thereafter, at step

[0510] , the BSF

[0132] may enable initiation of a call by sending an AA (Authorization Authentication) Request (AAR) command for providing the session information. The AAR command, indicated by the Command-Code field set to 265 and the ‘R’ bit set in the Command Flags field, provides the session information. Thereafter, at step

[0512] , the process involves installation of certain dynamic PCC rules that are a collection of parameters that enable IP traffic flows to be identified, QoS parameters and filtering actions to be applied to these flows and charging to be performed on them. After the installation is successful, then, at step

[0514] , the SMF

[0108] sends to the PCF

[0122] , a success indication for the installation of the PCC rules. Then at step

[0516] , the call is established, and an AA answer (AAA) is sent. The AAA command, indicated by the Command-Code field set to 265 and the ‘R’ bit cleared in the Command Flags field, is sent in response to the AAR command.

[0116] Now, at step

[0518] , there is a change detected in the PLMN at the MME or the AMF

[0106] , and the same is reported to the SMF

[0108] , and then eventually at step

[0520] , the same is reported to the PCF

[0122] , After, the call is completed, at step

[0522] , a session termination request (STR) is sent to the PCF

[0122] by the BSF

[0132] , and at step

[0524] , a session termination answer (STA) is sent back to the BSF

[0132] ,

[0117] Now, as provided in the background and the present figure, a race condition or a race around condition arises when at step

[0522] , the PCF

[0122] sends a terminate-notify request to the SMF

[0108] , Also, at step

[0524] , the MME sends the detach request to the SMF

[0108] , Due to this the SMF

[0108] receives multiple requests due to which a race around condition happens and the SMF

[0108] may become unable to make a decision regarding which request should be catered to.

[0118] Referring to FIG. 6, the signal flow diagram

[0600] provides a solution for handling the race condition. The signal flow

[0600] relates to a scenario for handing race condition in case of a change in PLMN. As per the signal flow

[0600] , at step

[0602] , the MME or the AMF

[0106] sendsan attach request to the SMF

[0108] , Then, at step

[0604] , the SMF

[0108] sends a request for creation of a PDU session to the PCF

[0122] , Based on the request, then at step

[0606] , the PCF

[0122] accordingly creates the PDU session and sends back its respective information in the response to the SMF

[0108] , After the SMF

[0108] receives the PDU session, it accordingly, at step

[0608] , sends its information to the MME or the AMF

[0106] , Then the attachment of the UE

[0102] becomes successful. Thereafter, at step

[0610] , the BSF

[0132] may enable initiation of a call by sending an AA Request (AAR) command for providing the session information. Thereafter, at step

[0612] , the process involves installation of certain dynamic PCC rules that are a collection of parameters that enable IP traffic flows to be identified, QoS parameters and filtering actions to be applied to these flows, and charging to be performed on them. After the installation is successful, then at step

[0614] , the SMF

[0108] sends to the PCF

[0122] , a success indication for the same. Then at step

[0616] , the call is established and an AA answer (AAA) is sent.

[0119] Now, at step

[0618] , there is a change detected in the PLMN at the MME or the AMF

[0106] , and the same is reported to the SMF

[0108] , and then eventually at step

[0620] , the same is reported to the PCF

[0122] , After, the call is completed, at step

[0622] , a session termination request (STR) is sent to the PCF

[0122] by the BSF

[0132] , and at step

[0624] , a session termination answer (STA) is sent back to the BSF

[0132] ,

[0120] Accordingly, at step

[0626] , in order to handle race condition, a request is sent to ensure that the dynamic PCC rules are removed. Then at step

[0628] , a response may be received indicating that the PCC rules are removed successfully. Thereafter, at step

[0620] , a detach request may be received in order to detach the UE

[0102] ,

[0121] Referring to FIG. 7, the signal flow diagram

[0700] provides a solution for handling the race condition. The signal flow

[0700] relates to a scenario for handing race condition in case of a change in PLMN and the RAT type is a NR RAT type. As per the signal flow

[0700] , at step

[0702] , the AMF

[0106] sends an attach request to the SMF

[0108] , Then, at step

[0704] , the SMF

[0108] sends a request for creation of a PDU session to the PCF

[0122] , Based on the request, then at step

[0706] , the PCF

[0122] accordingly creates the PDU session and sends back its respective information in the response to the SMF

[0108] , After the SMF

[0108] receives the PDU session, it accordingly, at step

[0708] , sends its information to the AMF

[0106] , Then the attachment of the UE

[0102] becomes successful. Thereafter, at step

[0710] , the BSF

[0132] may enable initiation of a call by sending an AA Request (AAR) command for providing the session information. Thereafter, at step

[0712] , the process involves installation of certain dynamic PCC rules that are a collection of parameters thatenable IP traffic flows to be identified, QoS parameters and filtering actions to be applied to these flows and charging to be performed on them. After the installation is successful, then at step

[0714] , the SMF

[0108] sends to the PCF

[0122] , a success indication for the same. Then at step

[0716] , the call is established, and an AA answer (AAA) is sent.

[0122] Now, at step

[0718] , there is a change detected in the PLMN at the AMF

[0106] , then the same is communicated to the SMF

[0108] , Then at step

[0720] , this PLMN change is conveyed to the PCF

[0122] , Accordingly, on receipt of the STR at the PCF

[0122] at step

[0722] , when the call is completed and STR is sent by the BSF

[0132] to the PCF

[0122] , then at step

[0724] , the PCF

[0122] sends an STAto the BSF

[0132] , Also, at step

[0726] , the PCF

[0122] sends a terminate-notify request for terminating the PDU session to the SMF

[0108] , accordingly, at step

[0728] , the SMF

[0108] sends a response confirming the termination of the PDU session. Then, at step

[0730] , the SMF

[0108] sends a request for deleting the PDU session, to which the PCF

[0122] , at step

[0732] , sends back a response after confirming the deletion of the PDU session.

[0123] Referring to FIG. 8, the signal flow diagram

[0800] provides a solution for handling the race condition. The signal flow

[0800] relates to a scenario for handing race condition in case of a change in PLMN and also a change in RAT type. As per the signal flow

[0800] , at step

[0802] , the MME or the AMF

[0106] sends an attach request to the SMF

[0108] , Then, at step

[0804] , the SMF

[0108] sends a request for creation of a PDU session to the PCF

[0122] , Based on the request, then at step

[0806] , the PCF

[0122] accordingly creates the PDU session and sends back its respective information in the response to the SMF

[0108] , After the SMF

[0108] receives the PDU session, it accordingly, at step

[0808] , sends its information to the MME or the AMF

[0106] , Then the attachment of the UE

[0102] becomes successful. Thereafter, at step

[0810] , the BSF

[0132] may enable initiation of a call by sending an AA Request (AAR) command for providing the session information. Thereafter, at step

[0812] , the process involves installation of certain dynamic PCC rules that are a collection of parameters that enable IP traffic flows to be identified, QoS parameters and filtering actions to be applied to these flows and charging to be performed on them. After the installation is successful, then at step

[0814] , the SMF

[0108] sends to the PCF

[0122] , a success indication for the same. Then at step

[0816] , the call is established, and an AA answer (AAA) is sent.

[0124] Now, at step

[0818] , there is a change detected in the PLMN at the MME or the AMF

[0106] , then the same is communicated to the SMF

[0108] , Then at step

[0820] , this PLMN change is conveyed to the PCF

[0122] , Also, at step

[0822] , the MME / AMF detects change in the RAT type,and reports the same to the SMF

[0108] , Accordingly, on receipt of the STR at the PCF

[0122] at step

[0826] , when the call is completed and STR is sent by the BSF

[0132] to the PCF

[0122] , then at step

[0828] , the PCF

[0122] sends an STAto the BSF

[0132] , Also, at step

[0830] , the PCF

[0122] sends a terminate-notify request for terminating the PDU session to the SMF

[0108] , accordingly, at step

[0832] , the SMF

[0108] sends a response confirming the termination of the PDU session. Then, at step

[0834] , the SMF

[0108] sends a request for deleting the PDU session, to which the PCF

[0122] , at step

[0836] , sends back a response after confirming the deletion of the PDU session.

[0125] Referring to FIG. 9, the signal flow diagram

[0900] provides a solution for handling the race condition. The signal flow

[0900] relates to a scenario for handing race condition in case of a change in PLMN and then the PLMN reverts back to the earlier PLMN. As per the signal flow

[0900] , at step

[0902] , the MME or the AMF

[0106] sends an attach request to the SMF

[0108] , Then, at step

[0904] , the SMF

[0108] sends a request for creation of a PDU session to the PCF

[0122] at the PLMN to which the UE is already connected, for example PLMN A. Based on the request, then at step

[0906] , the PCF

[0122] accordingly creates the PDU session and sends back its respective information in the response to the SMF

[0108] , After the SMF

[0108] receives the PDU session, it accordingly, at step

[0908] , sends its information to the MME or the AMF

[0106] , Then the attachment of the UE

[0102] becomes successful. Thereafter, at step

[0910] , the BSF

[0132] may enable initiation of a call by sending an AA Request (AAR) command for providing the session information. Thereafter, at step

[0912] , the process involves installation of certain dynamic PCC rules that are a collection of parameters that enable IP traffic flows to be identified, QoS parameters and filtering actions to be applied to these flows and charging to be performed on them. After the installation is successful, then at step

[0914] , the SMF

[0108] sends to the PCF

[0122] , a success indication for the same. Then at step

[0916] , the call is established, and an AA answer (AAA) is sent.

[0126] Now, at step

[0918] , there is a change detected in the PLMN at the MME or the AMF

[0106] , for example change from PLMN Ato PLMN B, then the same is communicated to the SMF

[0108] , Then at step

[0920] , this PLMN change is conveyed to the PCF

[0122] , Then in a scenario, where the PLMN is again changed, but now the PLMN changes back to the PLMN under which the call was initiated, i.e., the PLMN changes back to PLMN A. Then at step

[0922] , another PLMN change is reported to the SMF

[0108] , which conveys the same to the PCF

[0122] at step

[0924] , Accordingly, on receipt of the STR at the PCF

[0122] at step

[0926] , when the call is completed and STR is sent by the BSF

[0132] to the PCF

[0122] , Then at step

[0928] , the PCF

[0122] sends an STA to the BSF

[0132] , Then, at step

[0930] , the SMF

[0108] sends a request to the SMF

[0108] for removing thedynamic PCC rules. Then after the PCC rules are successfully removed, then at step

[0932] , a confirmation response conveying success or removal of the PCC rules.

[0127] The present disclosure further discloses a non-transitory computer readable storage medium storing one or more instructions for handling a race condition, the one or more instructions include executable code which, when executed by one or more units of a system

[0300] , cause the one or more units to perform certain functions. The one or more instructions when executed cause a transceiver unit

[0302] of the system

[0300] to receive at a Policy Control Function (PCF)

[0122] , a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE)

[0102] , The one or more instructions when executed further cause an identification unit

[0304] of the system

[0300] to identify at the PCF, a call session status associated with a call from the (UE), based on the PLMN change request, wherein the call session status is one of an active call session and a non-active call session. The one or more instructions when executed further cause a processing unit

[0306] of the system

[0300] to generate at the PCF

[0122] , an internal signal to send a message to a Session Management Function (SMF)

[0108] to be consumed when the call session status is the non-active call session, in an event the call session status is the active call session. The one or more instructions when executed further cause a detection unit

[0308] of the system

[0300] to detect at the PCF

[0122] , a call completion event in the event the call session status is the active call session. The one or more instructions when executed further cause an execution unit

[0310] of the system

[0300] to perform at the PCF

[0122] , one of a first action, a second action, a third action, and a fourth action, based on detecting the call completion event.

[0128] As is evident from the above, the present disclosure provides a technically advanced solution for handling a race condition. The present solution provides various technical advantages of handling the race around condition at the Policy Control Function (PCF). Firstly, this approach ensures there is no Key Performance Indicator (KPI) degradation at the PCF, as it prevents the occurrence of Terminate-Notify timeouts. This means that network performance metrics remain stable and reliable. Secondly, it eliminates the potential for inconsistencies in the Packet Data Unit (PDU) session state at the Session Management Function (SMF) and other core network functions, enhancing overall network integrity. Importantly, there is no need to alter the behavior of the Mobility Management Entity (MME) in response to PLMN changes, simplifying network management. Additionally, PCF takes the initiative to send Terminate-Notify requests for mobile device detachment during PLMN changes only when MME is not already triggering the process. This optimizes detachment procedures. Furthermore, the solution extends its support to scenarios involving frequent PLMN change requests in bordering areas. For instance, when a call is initiatedin PLMN A, the device moves to PLMN B and subsequently returns to PLMN A during the call, the detachment process is suppressed after call completion. This intelligent handling prevents unnecessary signaling on the control plane, ensuring a smoother experience for mobile device attachment and detachment in the same PLMN. This comprehensive approach showcases the technical prowess and efficiency gained from managing the race around condition at the PCF level.

[0129] 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.

[0130] Further, in accordance with the present disclosure, it is to be acknowledged that the functionality described for the various 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.

Claims

We Claim:

1. A method for handling a race condition, the method comprising: receiving, by a transceiver unit [302], at a Policy Control Function (PCF) [122], a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE) [102]; identifying, by an identification unit [304], at the PCF [122], a call session status associated with a call from the UE [102], based on the PLMN change request, wherein the call session status is one of an active call session and a non-active call session; generating, by a processing unit [306], at the PCF [122], an internal signal to send a message to a Session Management Function (SMF) [108] to be consumed when the call session status is the non-active call session, in an event the call session status is the active call session; detecting, by a detection unit [308], at the PCF [122], a call completion event in the event the call session status is the active call session; performing, by an execution unit [310], at the PCF [122], one of a first action, a second action, a third action and a fourth action based on detecting the call completion event.

2. The method as claimed in claim 1, wherein the PLMN change request is for a change from a first PLMN to a second PLMN, wherein the call associated with the active call session initiates in first PLMN and completes in the second PLMN.

3. The method as claimed in claim 2, wherein the first PLMN is associated with a first Radio Access technology (RAT) type and the second PLMN is associated with a second RAT type.

4. The method as claimed in claim 1, wherein generating the internal signal to send a message to the SMF [108] is based on a flag to support the active call session in an event of PLMN change associated with the UE [102], wherein the flag is set to true.

5. The method as claimed in claim 2, wherein the first action comprises: detecting, by the detection unit [308], at the PCF [122], if the first PLMN is same as the second PLMN; ignoring, by the processing unit [306], at the PCF [122], the generated signal, in an event the first PLMN is same as the second PLMN;sending, by the transceiver unit [302], from the PCF [122], a first notification to the SMF [108],6. The method as claimed in claim 3, wherein the second action comprises: detecting, by the detection unit [308], at the PCF [122], if the first RAT type is same as the second RAT type; ignoring, by the processing unit [306], at the PCF [122], the generated signal, in an event the first RAT type is same as the second RAT type and relates to Evolved Universal Terrestrial Radio Access (EUTRA); detaching, by the processing unit [306], the UE [102] from a Mobility Management Entity (MME) associated with the first PLMN; sending, by the transceiver unit [302] from the PCF [122], a first notification to the SMF [108],7. The method as claimed in claim 6, wherein the first notification is an update-notify request.

8. The method as claimed in claim 3, wherein the third action comprises: detecting, by the detection unit [308], if the first RAT type is same as the second RAT type; detecting, by the detection unit [308], at the PCF [122], if the first PLMN is different from the second PLMN; sending, by the transceiver unit [302], from the PCF [122], a second notification to trigger network initiated detach process of the UE [102], to the SMF [108], in an event the first RAT type is same as second RAT type and relates to New Radio (NR) and in an event the first PLMN is different from the second PLMN.

9. The method as claimed in claim 3, wherein the fourth action comprises: detecting, by the detection unit [308], at the PCF [122], if the first RAT type is different from the second RAT type; detecting, by the detection unit [308], at the PCF [122], if the first PLMN is different from the second PLMN; sending, by the transceiver unit [302], from the PCF [122], a second notification to trigger network initiated detach process of the UE [102], in an event the first RAT type is different from the second RAT type and in an event the first PLMN is different from the second PLMN.

10. The method as claimed in claim 9, wherein the second notification is a terminate-notify request.

11. A system [300] for handling a race condition, the system [300] comprising: a transceiver unit [302], configured to receive at a Policy Control Function (PCF) [122], a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE) [102]; an identification unit [304] connected at least to the transceiver unit [302], the identification unit [304] configured to identify at the PCF, a call session status associated with a call from the (UE), based on the PLMN change request, wherein the call session status is one of an active call session and a non-active call session; a processing unit [306] connected at least to the transceiver unit [302], the processing unit [306] configured to generate at the PCF [122], an internal signal to send a message to a Session Management Function (SMF) [108] to be consumed when the call session status is the non-active call session, in an event the call session status is the active call session; a detection unit [308] connected at least to the transceiver unit [302], the detection unit [308] configured to detect at the PCF [122], a call completion event in the event the call session status is the active call session; an execution unit [310] connected at least to the transceiver unit [302], the execution unit [310] configured to perform at the PCF [122], one of a first action, a second action, a third action and a fourth action based on detecting the call completion event.

12. The system [300] as claimed in claim 11, wherein the PLMN change request is for a change from a first PLMN to a second PLMN, wherein the call associated with the active call session initiates in first PLMN and completes in the second PLMN.

13. The system [300] as claimed in claim 12, wherein the first PLMN is associated with a first Radio Access technology (RAT) type and the second PLMN is associated with a second RAT type.

14. The system [300] as claimed in claim 11, wherein generating the internal signal to send a message to the SMF [108] is based on a flag to support the active call session in an event of PLMN change associated with the UE [102], wherein the flag is set to true.

15. The system [300] as claimed in claim 12, wherein to perform the first action, the system [300] comprises: the detection unit [308], further configured to detect at the PCF [122], if the first PLMN is same as the second PLMN; the processing unit [306], further configured to ignore at the PCF [122], the generated signal, in an event the first PLMN is same as the second PLMN; the transceiver unit [302], further configured to send from the PCF [122], a first notification to the SMF [108],16. The system [300] as claimed in claim 13, wherein for performing the second action, the system [300] comprises: the detection unit [308], further configured to detect at the PCF [122], if the first RAT type is same as the second RAT type; the processing unit [306], further configured to ignore at the PCF [122], the generated signal, in an event the first RAT type is same as the second RAT type and relates to Evolved Universal Terrestrial Radio Access (EUTRA); the processing unit [306], further configured to detach the UE [102] from a Mobility Management Entity (MME) associated with the first PLMN; the transceiver unit [302], further configured to send from the PCF [122], a first notification to the SMF [108],17. The system [300] as claimed in claim 16, wherein the first notification is an update-notify request.

18. The system [300] as claimed in claim 13, wherein for performing the third action, the system [300] comprises: the detection unit [308], further configured to detect if the first RAT type is same as the second RAT type; the detection unit [308], further configured to detect at the PCF [122], if the first PLMN is different from the second PLMN; the transceiver unit [302], further configured to send from the PCF [122], a second notification to trigger network initiated detach process of the UE [102], to the SMF [108], in an event the first RAT type is same as second RAT type and relates to New Radio (NR) and in an event the first PLMN is different from the second PLMN.

19. The system [300] as claimed in claim 13, wherein for performing the fourth action, the system [300] comprises: the detection unit [308], further configured to detect at the PCF [122], if the first RAT type is different from the second RAT type; the detection unit [308], further configured to detect at the PCF [122], if the first PLMN is different from the second PLMN; the transceiver unit [302], further configured to send from the PCF [122], a second notification to trigger network initiated detach process of the UE [102], in an event the first RAT type is different from the second RAT type and in an event the first PLMN is different from the second PLMN.

20. The system [300] as claimed in claim 18, wherein the second notification is a terminate- notify request.

21. A non-transitory computer-readable storage medium storing instructions for handling a race condition, 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 Policy Control Function (PCF) [122], a Public Landline Mobile Network (PLMN) change request associated with a user equipment (UE) [102]; an identification unit [304] to identify at the PCF, a call session status associated with a call from the (UE), based on the PLMN change request, wherein the call session status is one of an active call session and a non-active call session; a processing unit [306] to generate at the PCF [122], an internal signal to send a message to a Session Management Function (SMF) [108] to be consumed when the call session status is the non-active call session, in an event the call session status is the active call session; a detection unit [308] to detect at the PCF [122], a call completion event in the event the call session status is the active call session; an execution unit [310] to perform at the PCF [122], one of a first action, a second action, a third action and a fourth action based on detecting the call completion event.