System and method for detecting and managing sessions in a network
The system automates the detection and removal of stale sessions by calculating time differences, addressing inefficiencies in conventional network management, enhancing network performance and reliability.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-07-17
- Publication Date
- 2026-03-12
AI Technical Summary
Conventional network session management is inefficient, prone to errors, and time-consuming due to manual configuration and lack of flexibility, leading to high latency, memory overload, and potential service disruptions from stale sessions.
A system and method for detecting and managing sessions by calculating time differences between session creation/updation times and current times, identifying stale sessions, and automating their removal from memory to optimize memory usage and enhance network performance.
Automated detection and removal of stale sessions improve network efficiency, reduce latency, and enhance reliability by freeing up memory for new sessions, leading to better performance and user experience.
Smart Images

Figure IN2025051072_12032026_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR DETECTING AND MANAGING SESSIONS IN A NETWORKRESERVATION OF RIGHTS
[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD
[0002] The present disclosure relates generally to the field of telecommunications. In particular, the present disclosure relates to a system and a method for detecting and managing sessions (stale sessions) in a network.DEFINITIONS
[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used indicates otherwise.
[0004] The expression “Network Function (NF)” used hereinafter in the specification refers to a functional block within a network that provides specific services or processes data. Examples include but are not limited to network services such as routing, signaling, and data processing.
[0005] The expression “Policy Control Function (PCF)” used hereinafter in the specification refers to a network function that provides policy rules for control plane functions. The PCF is responsible for managing network policies related to access, quality of service, and resource allocation.
[0006] The expression “Session” used hereinafter in the specification refers to an established connection between two or more network entities such as computers, servers, or user devices. The session facilitates communication and data exchange.
[0007] The expression “Active Session” used hereinafter in the specification refers to a network connection that is currently used for data transmission or communication in the network. The active session remains active as long as data transmission occurs in the network.
[0008] The expression “Stale Session” used hereinafter in the specification refers to a session that has become outdated or inactive due to prolonged inactivity in the connection. The Stale Sessions are those sessions for which no termination request has been received from the user equipment (UE) for an extended period after the creation of the sessions. For example, the extended period may be an hour, a day, a week, etc.
[0009] The expression “Cache Memory” used hereinafter in the specification refers to a memory that is used to store frequently accessed data to improve performance and reduce latency. The cache memory may be used to speed up data access and reduce latency in data retrieval processes.
[0010] The expression “Timer” used hereinafter in the specification refers to a predefined duration or time interval that is used to control various operations and processes in the network.
[0011] The expression “Defined configurable time” used hereinafter in the specification refers to a time period that is set or specified (defined) for specific tasks,processes, or network activities. The network administrator or network operator sets the defined configurable time. For example, the defined configurable time may be an hour, a day, a week, etc.
[0012] The expression “Predefined time interval” used hereinafter in the specification refers to a specific, fixed duration of time, often used for repeating actions or monitoring at regular intervals.
[0013] These definitions are in addition to those expressed in the art.BACKGROUND
[0014] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0015] In telecommunication, Network Functions (NFs) play a crucial role in maintaining communication between a wide range of user devices in a network. The network includes the Internet, private network and other communication systems. The NFs ensure the efficient, secure, and reliable functioning of the network. The NFs enables seamless end-to-end communication between the users in the network. The NFs may perform various functions. The various functions include routing, switching, managing network traffic, monitoring and controlling security rules, and tracking sessions.
[0016] In conventional method, a network session defines the interaction between user devices and network entities over the network. During the setup of network sessions on concurrent requests from the user, the network faces difficulty in managing the sessionstate and resources. The manual configuration and management of sessions are prone to errors and time consuming. Also, these network sessions are static and less flexible to adapt to changes according to user or network conditions. The network sessions may suffer from high latency due to the centralized processing and lack of optimization for high-speed networks. The network session is dependent on a central storage resource that leads to increased user traffic and reduces overall performance.
[0017] Further, the conventional solutions for network session management need manual intervention in configuration and updation of sessions, which lead to less efficient network operations and maintenance. The handling of network sessions may be difficult due to user mobility, resulting in potential service disruptions or dropped connections. Also, the network administrators may identify and clean up the terminated or stale network sessions using management tools. The manual clean-up process is time-consuming and needs significant effort, impacting on the overall performance and user experience.
[0018] In normal course of action, as the session terminates, the session data are removed automatically from a storage device. But there may be various network conditions such as packet loss, synchronization loss, node restart, switchover, overload, etc., which may not terminate the session. This may lead to memory overload, latency in the network, and decrease in the throughput.
[0019] Hence, there is a need to provide a method and a system that can address the shortcomings of existing solutions.OBJECTIVES OF THE DISCLOSURE
[0020] Some of the objectives of the present disclosure, which at least one embodiment herein satisfies, are as follows:
[0021] An objective of the present disclosure is to provide a system and a method for detecting and managing sessions (e.g., stale sessions) in a network.
[0022] Another objective of the present disclosure is to provide a system and a method for calculating a time difference between a session creation time or session updation time and a current time of a stale session.
[0023] Another objective of the present disclosure is to provide a system and a method for periodically identifying and removing a stale session from a memory (cache memory) of a network function (NF).
[0024] Another objective of the present disclosure is to provide a system and a method for monitoring a stale session and efficient memory management.
[0025] Another objective of the present disclosure is to provide a system and a method for eliminating an unused stale session and optimizing the memory usage.
[0026] Another objective of the present disclosure is to provide a system and a method for automating the identification and removal of user equipment (UE) stale sessions to enhance the overall performance of the network.
[0027] Other objectives and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.SUMMARY
[0028] In an exemplary embodiment, a method for managing one or more sessions in a network is described. The method comprises initializing, by an initializing unit, a stale session mechanism upon detecting an initialization of a network function (NF) and upon initialization, configuring, by an execution unit, a timer to be run at a predefined time interval upon detecting at least one session established between the NF and a user equipment (UE). The method comprises retrieving, by the execution unit, session information associated with the at least one session established between the NF and the UEfrom a memory after the predefined time interval and determining, by a determining unit, a status corresponding to the at least one session by calculating a time difference using the session information. The method further comprises based on the determination, performing, by the execution unit, one or more operations associated with the at least one session.
[0029] In some embodiments, the session information comprises at least one of a session time, a current time associated with the at least one session, and a session identifier (ID). The session time comprises at least one of a session creation time and a session updation time.
[0030] In some embodiments, the NF is a policy control function (PCF).
[0031] In some embodiments, the method comprises selecting, by the execution unit, a recent time among the session creation time and the session updation time.
[0032] In some embodiments, the status corresponding to the at least one session comprises of an active status and an inactive status.
[0033] In some embodiments, the method comprises calculating, by the execution unit, the time difference between the recent time and the current time and comparing, by the execution unit, the calculated time difference with a defined configurable time. The method comprises based on the comparison, when it is determined that the time difference exceeds a defined configurable time, identifying, by the execution unit, the status of the at least one session as an inactive status and based on the comparison, when it is determined that the time difference lies within the defined configurable time, identifying, by the execution unit, the status of the at least one session as an active status.
[0034] In some embodiments, the one or more operations comprises of upondetermining that the status of the at least one session as the inactive status, eliminating, by the execution unit, the session information from the memory and upon determining that the status of the at least one session as the active status, retaining, by the execution unit, the session information associated with the at least one session in the memory.
[0035] In another exemplary embodiment, a system for managing one or more sessions in a network is described. The system comprises an initializing unit configured to initialize a stale session mechanism upon detecting an initialization of a network function (NF). Upon initialization, an execution unit is configured to configure a timer to be run at a predefined time interval upon detecting at least one session established between the NF and a user equipment (UE) and retrieve session information associated with the at least one session established between the NF and the UE from the memory after the predefined time interval. A determining unit is configured to determine a status corresponding to the at least one session by calculating a time difference using the session information. Based on the determination, the execution unit configured to perform one or more operations associated with the at least one session.
[0036] In yet another exemplary embodiment, a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to execute a method for managing one or more sessions in a network is described. The method comprises initializing, by an initializing unit, a stale session mechanism upon detecting an initialization of a network function (NF) and upon initialization, configuring, by an execution unit, a timer to be run at a predefined time interval upon detecting at least one session established between the NF and a user equipment (UE). The method comprises retrieving, by the execution unit, session information associated with the at least one session established between the NF and the UE from a memory after the predefined time interval and determining, by a determining unit, a status corresponding to the at least one session by calculating a time difference using the session information. The methodcomprises performing, by the execution unit, one or more operations associated with the at least one session based on the determination.
[0037] The foregoing general description of the illustrative embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure, and are not restrictive.BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
[0038] 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 is instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components, or circuitry commonly used to implement such components.
[0039] FIG. 1 illustrates an exemplary network architecture employing a system for detecting and managing sessions in a network, in accordance with an embodiment of the present disclosure.
[0040] FIG. 2 illustrates an exemplary block diagram of the system for detecting and managing the sessions in the network, in accordance with an embodiment of the present disclosure.
[0041] FIG. 3 illustrates an exemplary system architecture for detecting and managing the sessions in the network, in accordance with an embodiment of the present disclosure.
[0042] FIG. 4 illustrates an exemplary flow diagram of a method for detecting andmanaging the sessions in the network, in accordance with an embodiment of the present disclosure.
[0043] FIG. 5 illustrates another exemplary flow diagram of a method for managing one or more sessions in the network, in accordance with an embodiment of the present disclosure.
[0044] FIG. 6 illustrates an exemplary computer system in which or with which the embodiments of the present disclosure may be implemented.
[0045] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100- Network Architecture102- User104- User Equipment106- Network108- System200- Block Diagram202- Processor(s)204- System Memory206- Interface(s)208- Processing Engine210- Database212 - Initializing Unit214 - Execution Unit216 - Determining Unit 300- System Architecture302- Network Function (NF)304 - Memory400- Flow Diagram500 -Flow Diagram 600 - Computer System610 - External Storage Device620 - Bus630 - Main Memory640 - Read Only Memory 650 - Mass Storage Device660 - Communication Port670 - ProcessorDETAILED DESCRIPTION
[0046] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.
[0047] 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.
[0048] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0049] Also, it is noted that individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequentialprocess, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0050] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term “comprising” as an open transition word without precluding any additional or other elements.
[0051] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0052] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicatesotherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.
[0053] While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment, as well as other embodiments of the disclosure, will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.
[0054] Efficiently managing network sessions (stale sessions) for many users in a network presents significant challenges, such as a decrease in throughput, memory overload, and latency in the network. The network sessions need periodic monitoring to ensure effective management of sessions. Traditional network session management is carried out by manual procedures that are time-consuming and error prone.
[0055] The network administrators may identify and clean up the stale sessions usingnetwork management tools and monitoring systems. The tools to detect and address stale sessions involve manual oversight and intervention. The manual intervention can introduce delays in detecting and resolving stale sessions, impacting overall network efficiency. The manual cleanup procedure can be time-consuming and demand significant administrative effort, leading to higher operational costs.
[0056] The present disclosure provides a system and a method to detect UE stale sessions by calculating the session durations and verifying staleness before initiating deletion. The present disclosure enables higher automation and efficiency, significantly reducing manual efforts and minimizing the risk of downtime or service disruptions. The present disclosure streamlines operations and enhances overall system reliability by automating the identification and removal of UE stale sessions.
[0057] The present disclosure provides an advanced session management system. The present disclosure facilitates optimizing network performance, reducing latency, and high availability, by efficiently removing inactive sessions that are no longer in use. The removal of inactive session frees up memory for new sessions. The present disclosure enhances the overall network efficiency and reliability, leading to better performance and smoother user experience.
[0058] In an embodiment, the present disclosure provides a system and a method for detecting and monitoring sessions (stale sessions) in a network. The method includes recording a session creation time or a session updation time of the session based on a user request from a user equipment (UE) by a network function (NF). The method includes determining a recent time of the session based on a comparison of the session creation time and session updation time and capturing a current time of the session based on an initialization of a periodic predefined procedure by the NF. The method includes calculating a time difference between the recent time and the current time of the session by the NF. The method includes determining by the NF, based on the comparison of the calculated time difference and a defined configurable time, that the session is a stale session(e.g., inactive session). The method includes deleting session data of the stale session from a memory (e.g., cache memory) of the NF based on the determination that the session is the stale session
[0059] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.
[0060] The various embodiments throughout the disclosure will be explained in more detail with reference to FIG. 1- FIG. 6.
[0061] FIG. 1 illustrates an exemplary network architecture (100) of a system (108) detecting and managing sessions in a network (106), in accordance with an embodiment of the present disclosure.
[0062] As illustrated in FIG. 1, the network architecture (100) may include one or more user equipment (UE) (104-1, 104-2... 104-N) associated with one or more users (102- 1, 102-2... 102-N) in an environment. A person of ordinary skill in the art will understand that one or more users (102-1, 102-2... 102-N) may collectively referred to as the users (102). Similarly, a person of ordinary skill in the art will understand that one or more UEs (104-1, 104-2... 104-N) may be collectively referred to as the UE (104). Although only three UEs (104) are depicted in FIG. 1, however, any number of the UE (104) may be included without departing from the scope of the ongoing description.
[0063] In an embodiment, the UE (104) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the UE (104) may include, but are not limited to, smartphones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users (102) and / or entities, or any combination thereof. A personof ordinary skill in the art will appreciate that the UE (104) may include, but not limited to, intelligent, multi-sensing, network-connected devices, that may integrate seamlessly with each other and / or with a central server or a cloud-computing system or any other device that is network-connected.
[0064] Additionally, in some embodiments, the UE (104) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smartphone, a phablet device, and so on), a wearable computer device (e.g., a head-mounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and / or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the UE (104) may include, but are not limited to, any electrical, electronic, electromechanical, or equipment, or a combination of one or more of the above devices, such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device, wherein the UE (104) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or the entity such as touchpad, touch-enabled screen, electronic pen, and the like. A person of ordinary skill in the art will appreciate that the UE (104) may not be restricted to the mentioned devices and various other devices may be used.
[0065] Referring to FIG. 1, the UE (104) may communicate with the system (108) through a network (106) for sending or receiving various types of data. In an embodiment, the network (106) may include at least one of a fifth generation (5G) network, sixth generation (6G) network, or the like. The network (106) may enable the UE (104) to communicate with other devices in the network architecture (100) and / or with the system (108). The network (106) may include a wireless card or some other transceiver connectionto facilitate this communication. In another embodiment, the network (106) may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public-Switched Telephone Network (PSTN), or the like.
[0066] In an embodiment, the network (106) may include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network (106) may also include, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof.
[0067] In an embodiment, the UE (104) is communicatively coupled with the system (108) via the network (106). The system (108) may receive a connection request from the UE (104). The system (108) may send an acknowledgment of the connection request to the UE (104). The UE (104) may transmit a plurality of signals in response to the connection request. The system (108) is configured to manage one or more sessions in the network (106), explained in detail in conjunction with FIGs. 2-5.
[0068] In an embodiment, the system (108) detects and monitors stale sessions in the network (106). The system (108) records a session creation time or a session updation time of a session upon receiving a user request (e.g., registration request or update request) from the UE (104) by a network function (NF) (e.g., policy control function (PCF)) (NF (302) as shown in FIG. 3). The system (108) determines a recent time of the session based on the session creation time and the session updation time. The system (108) captures a currenttime of the session based on an initialization of a periodic predefined procedure by the NF. The periodic predefined procedure refers to a structured, time-based mechanism implemented to monitor, manage, and determine the duration of a user's session through regularly scheduled checks or updates. The periodic predefined procedure may be a stale session mechanism. The system (108) calculates a time difference between the recent time and the current time by the NF. The system (108) determines whether the session is stale based on the calculated time difference. Upon determining the session is stale, session data is deleted from a memory (cache memory) of the NF.
[0069] Although FIG. 1 shows exemplary components of the network architecture (100), in other embodiments, the network architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).
[0070] FIG. 2 illustrates an exemplary block diagram (200) of the system (108) for detecting and managing sessions in the network (106), in accordance with an embodiment of the present disclosure.
[0071] FIG. 2, with reference to FIG. 1, illustrates the system (108) that comprises a processor(s) (202), a system memory (204), an interface(s) (206), a processing engine (208), and a database (210).
[0072] The system (108) may include one or more processor(s) (202). The one or more processor(s) (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (202) may be configured to fetch and execute computer- readable instructions stored in the system memory (204) of the system (108). The systemmemory (204) may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The system memory (204) may include any non-transitory storage device including, for example, volatile memory such as random-access memory (RAM), or non-volatile memory such as erasable programmable read only memory (EPROM), flash memory, and the like.
[0073] In an embodiment, the system (108) may include the interface(s) (206). The interface(s) (206) may include a variety of interfaces, for example, interfaces for data input and output devices (I / O), storage devices, and the like. The interface(s) (206) may facilitate communication through the system (108). The interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include, but are not limited to, a processing engine (208) and a database (210).
[0074] In an embodiment, the system (108) may include the processing engine (208) that may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine (208). In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine (208) may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine (208) may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine (208). In such examples, the system may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system and the processing resource. In other examples, the processingengine (208) may be implemented by electronic circuitry. The processing engine (208) may be configured to detect and manage sessions (e.g., stale sessions).
[0075] In an embodiment, the system (108) may include the database (210) that includes data that may be either stored or generated as a result of functionalities implemented by any of the components of the processor (202) or the processing engine (208).
[0076] In an aspect, the processing engine (208) comprises an initializing unit (212), an execution unit (214), and a determining unit (216).
[0077] In an aspect, the processing engine (208) may be part of a network function (NF) (i.e., network function (NF) (302) as shown in FIG. 3). The NF is a policy control function (PCF). In another aspect, the system (108) comprises the NF.
[0078] The initializing unit (212) is configured to initialize a stale session mechanism upon detecting an initialization of the NF (e.g., PCF). In an aspect, the stale session mechanism is a process used to handle and detect sessions that are no longer active or expired. This mechanism ensures that any session (e.g., user logins or data connections) that is no longer valid due to inactivity, timeouts, or other reasons is properly closed, cleaned up, or refreshed.
[0079] In an aspect, the NF (i.e., PCF) initializes in the network (106), when the network is ready to start enforcing policy rules and handling user sessions (i.e., UE registration, update request, etc.). The initialization of the PCF occurs during the setup or operational phase of the network, primarily to ensure the enforcement of policies related to traffic management, quality of service (QoS), and charging. When the NF (e.g., PCF) is initialized, the stale session mechanism is initialized or triggered to manage the one or more stale sessions in the network (106).
[0080] 'Upon initialization, the execution unit (214) is configured to configure a timerto be run at a predefined time interval upon detecting at least one session established between the NF and the UE (104). Configuring the timer comprises setting the timer to run automatically or be triggered upon detecting any specific action or event at a predefined time interval. In an aspect, when the UE (104) sends a registration request to the NF, the at least one session is established between the NF and the UE (104). Upon detecting the at least one session established between the NF and the UE (104), the execution unit (214) configures the timer to run at the predefined time interval (e.g., 12 hrs, 24 hrs). Furthermore, when the at least one session is established between the NF and the UE, data corresponding to the at least one session (i.e., session information such as session creation time, session identifier (ID), a UE identifier, session updation time) in a memory (e.g., cache memory) of the NF. The NF maps the session information against the UE identifier. The mapped information is stored in the memory. In an aspect, the session ID refers to an identifier of the session used to identify and track the session. The session time comprises at least one of a session creation time and a session updation time. The session creation time refers to the time at which the session begins. For example, the session creation time may be recorded upon receiving a registration request from the UE (104). The session creation time and the session ID are stored in the memory (e.g., memory (304) of the NF (302)).
[0081] The execution unit (214) is further configured to retrieve session information associated with the at least one session established between the NF and the UE (104) from the memory (e.g., memory (304) of the NF (302) as shown in FIG. 3) after the predefined time interval. The session information comprises at least one of a session time, a current time associated with the at least one session, and a session identifier (ID).
[0082] In an aspect, retrieving of the session information comprises querying the session information in memory using the UE identifier or session identifier. The session information mapped to the UE identifier / session identifier (ID) is retrieved from the memory. The session update time refers to the time when the NF receives an update requestfrom the UE (104). In an embodiment, the execution unit (214) is configured to capture a session updation time from a plurality of update requests from the UE (104). The plurality of update requests comprises, but is not limited to, a quality of service (QoS) parameters update request, a session modification request, a location update request, and a subscription update request, etc.
[0083] In an aspect, after the predefined time interval (i.e., 12hrs, 24 hrs), the execution unit (214) retrieves the session information (i.e., the session time, the current time of the session, the session ID.
[0084] The execution unit (214) is further configured to select a recent time among the session creation time and the session updation time. In an embodiment, the execution unit (214) may be configured to determine the recent time based on the comparison of the session creation time and the last session updation time. The session updation time is time when any update request is coming after the session creation. If the update request comes after the session creation, then the recent time is the session updation time, otherwise the recent time is the session creation time. For example, the recent time may be determined based on the last interaction of the user in the session. The session creation time may be 10.20 am and the session updation time may be 12.20 pm. Here, the recent time may be the session updation time (i.e., 12.20 pm).
[0085] The execution unit (214) is further configured to determine the current time of the at least one session from the session information. The current time of the session refers to a real-time timestamp or timing information associated with the at least one session.
[0086] After selecting the recent time, the determining unit (216) is configured to determine a status corresponding to the at least one session by calculating a time difference using the session information. The status corresponding to the at least one session comprises an active status and an inactive status.
[0087] To determine the status corresponding to the at least one session, the executionunit (214) is configured to calculate a time difference between the selected recent time and the current time of the at least one session. The calculated time difference is compared with a defined configurable time. The defined configurable time is a time set by a network administrator, a network operator, or an auditor. In an aspect, the network administrator is a professional responsible for managing, configuring, maintaining, and monitoring the network infrastructure. The network operator is an entity responsible for building, maintaining, and managing the necessary hardware and software to deliver network services to users. The auditor is a professional or entity responsible for evaluating, verifying, and ensuring the accuracy, performance, compliance, and security of the network infrastructure and operations.
[0088] For example, the defined configurable time may be time set by the auditor (e.g., Auditor timer). The auditor may be a network administrator, a network operator, a network auditor, etc. In an aspect, the defined configurable time may be a few hours, a day, a week, etc. The defined configurable time may vary based on the type of at least one session established between the UE and the NF. In an example, the defined configurable time for a session corresponding to a registration request is 12 hrs. In another example, the defined configurable time for a session corresponding to a registration update request is 24 hrs. In another example, the defined configurable time for a session corresponding to the policy enforcement is 6 hrs.
[0089] Based on the comparison, when it is determined that the time difference exceeds a defined configurable time, the status of the at least one session is identified as an inactive status. For example, on 5thJune, the recent time (e.g., session creation time) is 12 pm, the current time is 1 am of 6thJune, and the defined configurable time = 12 hrs. The time difference between the recent time and the current time is 13 hrs. The time difference (i.e., 13 hrs) exceeds the defined configurable time (i.e., 12 hrs) so, the status of the session is identified as inactive status.
[0090] When it is determined that the time difference lies within the definedconfigurable time, the status of the at least one session is identified as an active status. For example, on 5thJune, the recent time (e.g., session creation time) is 12 pm, the current time is 10 pm of 5thJune, and the defined configurable time = 12 hrs. The time difference between the recent time and the current time is 10 hrs. The time difference (i.e., 10 hrs) lies within the defined configurable time (i.e., 12 hrs), so, the status of the session is identified as active status.
[0091] Based on the determination of the status of the session, the execution unit (214) is configured to perform one or more operations associated with the at least one session. The one or more operations comprise the elimination or retention of the session information in the memory (i.e., memory (304) of the NF (302)).
[0092] Upon determining that the status of the at least one session as the inactive status, the execution unit (214) is configured to eliminate the session information of the at least one session from the memory (i.e., memory (304) of the NF (302)). The execution unit (214) is configured to retain the session information associated with the at least one session in the memory upon determining that the status of the at least one session as the active status. When the status of the at least one session is the active status, the execution unit (214) maintains the session information in the memory of the NF till the time when the status of the at least one session becomes inactive.
[0093] In an aspect, the execution unit (214) may perform on demand removal of the stale session. The execution unit (214) may remove the stale session data from the memory (i.e., cache memory of the NF) based on a user command in one or more conditions. The one or more conditions may comprise, but are not limited to, network failure, troubleshooting of subscriber or session issues, network congestion, manual subscriber termination, policy or charging errors, etc. The on-demand removal of stale sessions may be performed manually or automatically. In manual removal of the stale session, a network operator or administrator actively identifies and removes stale sessions. For example, the stale session may be removed by a “rescheduleUEStaleSession” command executed by theexecution unit (214). The “rescheduleUEStaleSession” command includes session ID, a time, and date of the session to be removed. In automatic removal of the stale session, the system itself detects and removes the stale sessions based on predefined conditions.
[0094] In this way, the system (108) may be configured to efficiently manage and monitor the sessions between the user equipment (104) and the network function (i.e., NF (302)). The system (108) may be configured to prevent incoming traffic overload by mitigating unforeseen failures. The system (108) ensures seamless creation of new sessions and processing requests without delay or latency. By eliminating unused sessions, the system (108) ensures better memory utilization, resulting in a more robust and reliable network infrastructure with minimal disruptions.
[0095] FIG. 3 illustrates an exemplary system architecture (300) for detecting and managing stale sessions in the network (106), in accordance with an embodiment of the present disclosure.
[0096] FIG. 3, with reference to FIGs. 1 and 2, illustrates the system architecture (300) for detecting and managing sessions in the network (106).
[0097] In an embodiment, the system architecture (300) comprises the network function (NF) (302) and the user equipment (UE) (104). The UE (104) may be communicatively coupled with the NF (302) over the network (106). The NF (302) may be responsible for handling, signaling, data processing, or managing user sessions.
[0098] The NF (302) may be, but is not limited to, a Policy Control Function (PCF), an Access and Mobility Management Function (AMF), Session Management Function (SMF), User Plane Function (UPF) and Charging Function (CHF). In an aspect, the NF (302) may be the processing engine (208).
[0099] In an embodiment, the NF (302) may be the PCF. The NF (302) may manage and enforce network policies related to quality of service (QoS), access control, and userdata handling. The UE (104) may establish a session with the NF (302). For example, the session may be a packet data unit (PDU) session. The session may be established via a session creation request to the NF (302).
[0100] In an embodiment, the NF (302) comprises a memory (304). The memory (304) may be a cache memory. The memory (304) stores information such as, but is not limited to, session information, policy information, user data information, etc. The session information comprises, but is not limited to, session time (e.g., session creation time, session updation time), a current time associated with the session, and a session identifier (ID), etc. The policy information comprises, but is not limited to, access control, policy identifier, quality of service, bandwidth allocation, charging, security policies, etc. The user data information comprises, but is not limited to, username, user identity, billing data, location history, network usage pattern, user device data, etc.
[0101] In an embodiment, the NF (302) may store a session creation time from the received session creation request. The session creation time may be stored in the memory (304) of the NF (302). Further, the UE (104) may send a session update request to the NF (302), for updating the session data. The NF (302) may store a session updation time from the received session update request. The session updation time may be stored in the memory (304) of the NF (302). In an example, session data associated with created session may include a session ID, a session time and a connection type.
[0102] In an embodiment, the NF (302) may perform a user equipment (UE) stale mechanism to detect a stale session. In an aspect, the stale session may be detected based on a time difference between the session creation time or last session updation time and the current time of the session. The NF (302) may calculate the time difference between the session creation time or the last session updation time and the current time of the session. In an aspect, the session creation time is time when the session is created in the network. The session updation time is time when any update request is coming after the session creation. The recent time is selected from the session creation time and the session updationtime. If the update request comes after the session creation, then the recent time is the session updation time, otherwise the recent time is the session creation time. For example, if the UE (104) sends registration request to the NF at 12 pm on 5thApril. The recent time for the session for registration of the UE (104) is the session creation time (i.e., 12 pm on 5thApril). Further, if the UE sends a registration update request after session is created between the UE (104) and the NF (302) at 9 pm on 5thApril, then the recent time is the session updation time (i.e., 9 pm on 5thApril).
[0103] In one aspect, the current time of the session is a real time of the session at a given point in time. In another aspect, the current time may be determined based on the initialization of the stale mechanism at a periodic time. In an aspect, the current time may be determined by periodically refreshing a clock or timer of the stale mechanism that is initially set but may have drifted from real time. This is used in conditions where exact real-time is not essential, and refreshing the mechanism at regular intervals is sufficient to maintain reasonable timekeeping.
[0104] In an aspect, the stale session may be determined by comparing the time difference with the defined configurable time. For example, if the time difference between the session creation time / last session updation time and the current time of the session is greater than a defined configurable time, the session may be determined as stale session. For example, the defined configurable time may be 12 hrs. The session creation time = 10 am of 5thmarch and the current time = 12am of 6thmarch. The time difference between the session creation time and the current time of the session is 14 hrs. The time difference (i.e., 14 hrs) is greater than the defined configurable time (12 hrs). The NF (302) may remove the session data from the memory (304) of the NF (302). In an aspect, the calculated time difference is less than the defined configurable time, the session may not be a stale session. The NF (302) may retain the session data in the memory (304) of the NF (302). In another example, the defined configurable time may be 12 hrs. The session creation time = 10 am of 5thmarch and the current time = 9 pm of 5thmarch. The time difference between thesession creation time and the current time of the session is 11 hrs. The time difference (i.e., 11 hrs) is less than the defined configurable time (12 hrs). The NF (302) may retain the session data in the memory (304) of the NF (302).
[0105] FIG. 4 illustrates another exemplary flow diagram of a method (400) for detecting and managing sessions in the network (106), in accordance with an embodiment of the present disclosure.
[0106] FIG. 4, with reference to FIGs. 1-3, illustrates the method (400) for detecting and managing sessions in the network (106).
[0107] At step (402), the method (400) for detecting and managing a stale session may be initiated.
[0108] At step (404), the method (400) includes iterating UE sessions (e.g., stale sessions). The network function (NF) (302) may handle multiple sessions from the UE (104). In an aspect, the NF (302) may handle sessions management tasks, including creating, modifying, updating and deleting sessions. For example, the UE (104) may initiate a session with the NF (302) via a user create request. The NF (302) may store a session information for the user create request. The user create request may include parameters such as subscription permanent identifier (SUPI), or slice information. The session information may include, but not limited to, a session ID, a session type, a session state and a session creation time.
[0109] In an aspect, the NF (302) may record a session creation time, or a last update time based on the user request. For example, the session creation time may be a time of creation of the session. The UE initiates a registration request to the NE. When the NF initiates registration of the UE, the time is considered as the session creation time. The UE initiates an update request for subscription update after the session creation, the NF (302) may record time which is considered as the session update time / session modified time. The last update time of the session may be the time of latest updation of the session. If no updaterequest is coming, the session creation time is considered the session time. But, when the update request comes after the session establishment, the session update time / session modified time is considered as the session time.
[0110] At step (406), the method (400) includes calculating the time difference between creation / last modified time and current time of the session. The NF (302) may calculate a time difference between a session creation time / last modified time and a current time of the session. In an aspect, the NF (302) may calculate a time difference between the session creation time / last session modified time with a current session time. For example, the last modified time of the session may be obtained from a user update request. The update request may include a timestamp. The timestamp may have a last modified time and a date of modification. For example, timestamp: 2024-08-23T14:23:45.678Z. In an aspect, the update request in the session may include parameters such as an updated session ID, a modification type and a quality of service (QoS).
[0111] In an aspect, the NF (302) may calculate the time difference between the session creation time and the current session time. The current session time may be obtained from the execution unit (214). In an aspect, the current session time is a real time of the session established between the UE and the NF at a given point in time. The current session time is fetched using system functions, for example, command or network management application programming interface (API).
[0112] In an aspect, the current time may be determined based on an initialization of a periodic predefined procedure. The predefined procedure may be a stale mechanism. The execution unit (214) may initialize a stale mechanism to determine stale sessions in the network function (302). For example, the stale mechanism may be initiated at a time when the session is established between the UE and the NF.
[0113] In an aspect, a recent time may be determined by comparing the session creation time and the session updation time. The NF (302) may calculate the time differencebetween the recent time and the current session time.
[0114] At step (408), the method (400) includes determining whether time difference is greater than a defined configurable time. The NF (302) may determine the status of the session based on the defined configurable time. In an aspect, the execution unit (214) may set the defined configurable time for the NF (302). For example, the defined configurable time may be set by a “auditor timer” command. For example, the defined configurable time may be set as an hour, a day, a week, etc. The auditor timer refers to a timer for auditing or monitoring the UE sessions. The auditor timer command is used to set the defined configurable time. The defined configurable time is provided by a network administrator or a network operator or a network auditor.
[0115] At step (410), the method (400) includes detecting that the session is not a stale session. If the NF (302) determines that the time difference does not exceed the configurable time, then the session may not be a stale session.
[0116] At step (412), the method (400) includes the stale session is confirmed and initializing deletion of session data. If the NF (302) determines that the time difference exceeds the defined configurable time, then the session may be the stale session. The NF (302) deletes the session data from the memory (304) of the NF (302). In this way, the NF (302) may silently remove the stale session data from the memory (304). By eliminating unused sessions (e.g., stale session), the system (108) ensures better memory utilization, resulting in a more robust and reliable network infrastructure with minimal disruptions.
[0117] At step (414), the method (400) may be terminated.
[0118] FIG. 5 illustrates an exemplary flow diagram of a method (500) for managing one or more sessions in the network (106), in accordance with an embodiment of the present disclosure.
[0119] FIG. 5, with reference to FIGs. 1-4, illustrates the method (500) for managingone or more sessions in the network (106).
[0120] At step (502), the method (500) comprises initializing, by the initializing unit (212), a stale session mechanism upon detecting an initialization of the network function (NF) (302). The NF (302) is a policy control function (PCF). In an aspect, the NF (i.e., PCF) is initialized, for example, but is not limited to, upon receiving a registration request from the UE, a service request from the UE (104) or any other NF, a policy rule enforcement (e.g., roaming rule, QoS change, charging update, policy re-authorization, etc.). The stale session mechanism is initialized to manage the sessions when the NF (e.g., PCF) (302) is initialized.
[0121] At step (504), the method (500) includes upon initialization, configuring, by the execution unit (214), a timer to be run at a predefined time interval upon detecting at least one session established between the NF (302) and the UE (104). In an aspect, when the NF (i.e., PCF) is initialized and the session for registration is established between the NF (302) and the UE (104) on 5thApril at 12 pm, the timer is configured to be run at the predefined time interval (i.e., after 12 hrs, 24 hrs).
[0122] At step (506), the method (500) includes retrieving, by the execution unit (214), session information associated with the at least one session established between the NF (302) and the UE (104) from a memory (i.e., memory (304) of the NF (302)) after the predefined time interval. The session information comprises at least one of a session time, a current time associated with the at least one session, and a session identifier (ID). The session time comprises at least one of a session creation time and a session updation time. For example, in an aspect, after the predefined time interval (i.e., after 12 hrs), the session information associated with the session (e.g., session for registration of the UE at step (504)) is retrieved at time (e.g., at 6 am on 6thApril). The session information comprises session creation time (i.e., 12 pm on 5thApril). The current time associated with the session is 6 am on 6thApril. The session ID is S4521.
[0123] The method (500) includes selecting, by the execution unit, a recent time among the session creation time and the session updation time. In an aspect, the session creation time is time when the session is created in the network. The session updation time is time when any update request is coming after the session creation. The recent time is selected from the session creation time and the session updation time. If the update request comes after the session creation, then the recent time is the session updation time, otherwise the recent time is the session creation time. For example, the recent time for the session for registration of the UE at step (504) is the session creation time (i.e., 12 pm on 5thApril).
[0124] At step (508), the method (500) includes determining, by a determining unit (216), a status corresponding to the at least one session by calculating a time difference using the session information. The status corresponding to the at least one session comprises of an active status and an inactive status. The execution unit (214) calculates the time difference between the recent time and the current time. For example, the recent time for the session is 12 pm on 5thApril and the current time associated with the session is 6 am on 6thApril. Time difference between the recent time 12 pm on 5thApril and the current time 6 am on 6thApril is 18 hrs.
[0125] After calculating the time difference, the method (500) includes comparing, by the execution unit (214), the calculated time difference with a defined configurable time. The defined configurable time is a time defined by the network administrator / auditor to determine the stale session. The defined configurable time is configurable based on the network requirements (e.g., latency, QoS, specific case, network speed, signal quality, device mobility, and traffic density). For example, the defined configurable time is 14 hrs.
[0126] The method (500) further includes determining, by the execution unit (214), the status of the session based on the comparison of the calculated time difference and defined configurable time. The status of the session is an active status and an inactive status.
[0127] When it is determined that the calculated time difference exceeds a definedconfigurable time, the execution unit (214) identifies the status of the at least one session as an inactive status. For example, the calculated time difference is 18 hrs, and the defined configurable time is 14 hrs. The calculated time difference (i.e., 18 hrs) exceeds the defined configurable time (i.e., 14 hrs), the status of the session is inactive status.
[0128] The method (500) further includes when it is determined that the calculated time difference lies within the defined configurable time, identifying, by the execution unit (214), the status of the at least one session as an active status. In an aspect, when the calculated time difference lies within the defined configurable time, then the status of the session is active. For example, the calculated time difference is 12 hrs, and the defined configurable time is 14 hrs. The calculated time difference (i.e., 12 hrs) lies within the defined configurable time (i.e., 14 hrs), the status of the session is active status.
[0129] At step (510), based on the determination of the status of the session, the method (500) includes performing, by the execution unit (214), one or more operations associated with the at least one session. The one or more operations comprise elimination or retention of the session information. Upon determining that the status of the at least one session as the inactive status, eliminating, by the execution unit (214), the session information from the memory (i.e., memory (304) of the NF (302)). Upon determining that the status of the at least one session as the active status, retaining, by the execution unit (214), the session information associated with the at least one session in the memory (i.e., memory (304) of the NF (302)).
[0130] In an embodiment, the method (500) detects the UE stale sessions by calculating the session durations and verifying staleness before initiating deletion. The session information for a particular request is saved when the UE (104) connects to the NF (e.g., PCF). When an update request is received, a recent modification timestamp is recorded. During the initialization of the NF, a UE stale mechanism is set up to run at a specified time (i.e., NF initialization time) and then at specified intervals (i.e., predefined time intervals (e.g., 12hrs, 24hrs)). The session is determined to be stale by calculating thetime difference between the session creation time or last modified time and the current time. If the calculated time difference exceeds a defined configurable time (e.g., auditor timer), then the session is considered a stale session. The session is removed silently. On- demand removal of the UE stale session mechanism is performed using a reschedule UE stale session command.
[0131] FIG. 6 illustrates an exemplary computer system (600) in which or with which embodiments of the present disclosure may be implemented.
[0132] As shown in FIG. 6, the computer system (600) may include an external storage device (610), a bus (620), a main memory (630), a read-only memory (640), a mass storage device (650), a communication port (660), and a processor (670). A person skilled in the art will appreciate that the computer system (600) may include more than one processor (670) and communication ports (660). The processor (670) may include various modules associated with embodiments of the present disclosure.
[0133] In an embodiment, the communication port (660) may be any of an RS-232 port for use with a modem-based dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fibre, a serial port, a parallel port, or other existing or future ports. The communication port (660) may be chosen depending on the network (106), such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system (600) connects.
[0134] In an embodiment, the memory (630) may be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. Read-only memory (640) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor (670).
[0135] In an embodiment, the mass storage device (650) may be any current or future mass storage solution, which may be used to store information and / or instructions.Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks (e.g., SATA arrays).
[0136] In an embodiment, the bus (620) communicatively couples the processor(s) (670) with the other memory, storage, and communication blocks. The bus (620) may be, e.g., a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB) or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (670) to the computer system (600).
[0137] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and cursor control device, may also be coupled to the bus (620) to support direct operator interaction with the computer system (600). Other operator and administrative interfaces may be provided through network connections connected through the communication port (660). The components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (600) limit the scope of the present disclosure.
[0138] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
[0139] The exemplary computer system (600) is configured to execute a computerprogram product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing one or more sessions in a network is described. The method comprises initializing, by an initializing unit, a stale session mechanism upon detecting an initialization of a network function (NF) and upon initialization, configuring, by an execution unit, a timer to be run at a predefined time interval upon detecting at least one session established between the NF and a user equipment (UE). The method comprises retrieving, by the execution unit, session information associated with the at least one session established between the NF and the UE from a memory after the predefined time interval and determining, by a determining unit, a status corresponding to the at least one session by calculating a time difference using the session information. The method comprises based on the determination, performing, by the execution unit, one or more operations associated with the at least one session.
[0140] While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be implemented merely as illustrative of the disclosure and not as a limitation.
[0141] The present disclosure provides technical advancements related to detecting and monitoring stale sessions in the network. These advancements address the limitations of existing solutions by identifying stale sessions for which no notifications or termination requests have been received for an extended period after their creation. Data stored in the NF's cache memory is deleted when the sessions are inactive. Session monitoring and management are performed effectively to optimize cache memory usage, enabling the seamless creation of new sessions and processing requests without delay or latency. A stalesession mechanism periodically identifies and removes stale sessions from the cache. The system ensures better memory utilization by eliminating unused sessions, resulting in a more robust and reliable network infrastructure with minimal disruptions.ADVANTAGES OF THE PRESENT DISCLOSURE
[0142] The present disclosure described herein above has several technical advantages including, but not limited to, the realization of the system and the method that:
[0143] The present disclosure provides a system and a method for detecting and managing sessions (e.g., stale sessions) in a network. The stale sessions are the sessions for which no notification or termination requests have been received for an extended period after their creation. These sessions may no longer be active, but their data remains stored in the NF's memory (e.g., cache memory and awaits the aforementioned requests.
[0144] The present disclosure provides a system and a method for calculating the time difference between creation time and current time of the session.
[0145] The present disclosure provides a system and a method for periodically identifying and removing stale sessions from the cache memory of a Network function (NF).
[0146] The present disclosure provides a system and a method for monitoring the stale session and efficient memory management.
[0147] The present disclosure provides a system and a method for eliminating unused stale sessions and optimizing memory usage.
[0148] The present disclosure provides a system and a method for efficient session monitoring and management to optimize memory usage, enable the seamless creation ofnew sessions, and ensure the processing of requests without delay or latency. When the number of sessions exceeds the maximum capacity a node can support, the system may experience overload, resulting in the rejection of incoming traffic. This approach mitigates unforeseen failures by proactively addressing potential overloads, enhancing overall network performance.
[0149] The present disclosure provides a system and a method for the detection of UE stale sessions by calculating their durations and verifying their staleness before initiating deletion. This introduces a higher level of automation and efficiency, significantly reducing manual efforts and minimizing the risk of downtime or service disruptions. By automating the identification and removal of UE stale sessions, the invention streamlines operations and enhances overall system reliability.
[0150] The present disclosure provides a system and a method for efficient memory utilization by periodically identifying and removing the UE stale sessions from the memory (e.g., cache memory) of the NF. By eliminating unused sessions, the system ensures better memory utilization, resulting in a more robust and reliable network infrastructure with minimal disruptions.
Claims
CLAIMSWe claim:
1. A method (500) for managing one or more sessions in a network (106), the method (500) comprising: initializing (502), by an initializing unit (212), a stale session mechanism upon detecting an initialization of a network function (NF) (302); upon initialization, configuring (504), by an execution unit (214), a timer to be run at a predefined time interval upon detecting at least one session established between the NF (302) and a user equipment (UE) (104); retrieving (506), by the execution unit (214), session information associated with the at least one session established between the NF (302) and the UE (104) from a memory (304) after the predefined time interval; determining (508), by a determining unit (216), a status corresponding to the at least one session by calculating a time difference using the session information; and based on the determination, performing (510), by the execution unit (214), one or more operations associated with the at least one session.
2. The method (500) as claimed in claim 1, wherein the session information comprises at least one of a session time, a current time associated with the at least one session, and a session identifier (ID), and wherein the session time comprises at least one of a session creation time and a session updation time.
3. The method (500) as claimed in claim 1, wherein the NF (302) is a policy control function (PCF).
4. The method (500) as claimed in claim 2, the method (500) comprising: selecting, by the execution unit (214), a recent time among the session creation time and the session updation time.
5. The method (500) as claimed in claim 1, wherein the status corresponding to the at least one session comprises of an active status and an inactive status.
6. The method (500) as claimed in claim 4, the method (500) comprising: calculating, by the execution unit (214), the time difference between the recent time and the current time; comparing, by the execution unit (214), the calculated time difference with a defined configurable time; based on the comparison, when it is determined that the time difference exceeds a defined configurable time, identifying, by the execution unit (214), the status of the at least one session as an inactive status; and based on the comparison, when it is determined that the time difference lies within the defined configurable time, identifying, by the execution unit (214), the status of the at least one session as an active status.
7. The method (500) as claimed in claim 6, wherein the one or more operations comprises of: upon determining that the status of the at least one session as the inactive status, eliminating, by the execution unit (214), the session information from the memory (304); and upon determining that the status of the at least one session as the active status, retaining, by the execution unit (214), the session information associated with the at least one session in the memory (304).
8. A system (108) for managing one or more sessions in a network (106), the system (108) comprising: an initializing unit (212) configured to initialize a stale session mechanism upon detecting an initialization of a network function (NF) (302);upon initialization, an execution unit (214) configured to: configure a timer to be run at a predefined time interval upon detecting at least one session established between the NF (302) and a user equipment (UE) (104); and retrieve session information associated with the at least one session established between the NF (302) and the UE (104) from the memory (304) after the predefined time interval; a determining unit (216) configured to determine a status corresponding to the at least one session by calculating a time difference using the session information; and based on the determination, the execution unit (214) configured to perform one or more operations associated with the at least one session.
9. The system (108) as claimed in claim 8, wherein the session information comprises at least one of a session time, a current time associated with the at least one session, and a session identifier (ID), and wherein the session time comprises at least one of a session creation time and a session updation time.
10. The system (108) as claimed in claim 8, wherein the NF (302) is a policy control function (PCF).
11. The system (108) as claimed in claim 9, wherein the execution unit (214) is configured to: select a recent time among the session creation time and the session updation time.
12. The system (108) as claimed in claim 8, wherein the status corresponding to the at least one session comprises of an active status and an inactive status.
13. The system (108) as claimed in claim 11, wherein to determine the status corresponding to the at least one session, the execution unit (214) is configured to: calculate a time difference between the recent time and the current time; compare the calculated time difference with a defined configurable time; based on the comparison, when it is determined that the time difference exceeds a defined configurable time, identify the status of the at least one session as an inactive status; and based on the comparison, when it is determined that the time difference lies within the defined configurable time, identify the status of the at least one session as an active status.
14. The system (108) as claimed in claim 13, wherein for performing the one or more operations, the execution unit (214) is configured to: eliminate the session information from the memory (304) upon determining that the status of the at least one session as the inactive status; and retain the session information associated with the at least one session in the memory (304) upon determining that the status of the at least one session as the active status.
15. A computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to execute a method (500) for managing one or more sessions in a network, the method (500) comprising: initializing (502), by an initializing unit (212), a stale session mechanism upon detecting an initialization of a network function (NF) (302);upon initialization, configuring (504), by an execution unit (214), a timer to be run at a predefined time interval upon detecting at least one session established between the NF (302) and a user equipment (UE) (104); retrieving (506), by the execution unit (214), session information associated with the at least one session established between the NF (302) and the UE (104) from a memory (304); determining (508), by a determining unit (216), a status corresponding to the at least one session by calculating a time difference using the session information; and based on the determination, performing (510), by the execution unit (214), one or more operations associated with the at least one session.
Citation Information
Patent Citations
Methods, systems, and computer readable media for dynamically provisioning session timeout information in a communications network
US20190021121A1
System and method for handling stray session requests in a network environment
US9420607B1
Login processing method based on data processing and related apparatus
WO2020233059A1