System and method for replicating data between network functions
The overload control mechanism addresses service disruptions by managing data replication channels with threshold-based queue monitoring, preventing resource exhaustion and maintaining data integrity and availability in network functions.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-01
- Publication Date
- 2026-03-05
AI Technical Summary
Conventional methods for ensuring high availability of network services face challenges such as manual intervention, complex load balancing, and inefficient failover, leading to service disruptions and data loss during hardware or software failures, particularly due to excessive memory consumption and unresponsive standby or spare instances in network functions.
Implementing an overload control mechanism that monitors queue sizes using predefined threshold levels to manage data replication channels, halting or resuming data writing based on queue status, and employing threads to ensure consistent data replication and resource allocation across network functions.
Prevents resource exhaustion and performance degradation, maintains data integrity and availability, and handles temporary downtimes by optimizing data replication and clustering processes, ensuring seamless service continuity.
Smart Images

Figure IN2025051410_05032026_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR REPLICATING DATA BETWEEN NETWORK FUNCTIONSRESERVATION OF RIGHTS
[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to JIO PLATFORMS LIMITED or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD
[0002] The present disclosure relates generally to the field of telecommunications. In particular, the present disclosure relates to a system and a method for replicating data between the network functions.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 logical or physical component within a network that provides specific services or processes network data. Examples include but are not limited to network services such as routing, signaling, session management, charging, policy control, authorization, and data processing.
[0005] The expression “Command-Line Interface (CLI)” used hereinafter in the specification refers to a text-based interface used to interact with networking devices such as routers, switches, firewalls and other network equipment. The CLIenables the network administrators to configure, manage, and troubleshoot network devices through textual commands.
[0006] The expression “Service Management Platform (SMP)” used hereinafter in the specification refers to an application environment which may be deployed as an active, a standby, or a spare configuration. The SMP is operable to manage Hypertext Transfer Protocol (HTTP2) signaling interactions with peer network functions (NFs). The SMP also interfaces with a Fault, Configuration, Accounting, and Performance (FCAP) manager for Network Management System (NMS) or Element Management System (EMS) operations. The SMF connects with the Session Data Layer (SDL) for NF-specific data storage and retrieval, and accesses subscriber profiles from the Subscriber Provisioning Repository (SPR). Additionally, the SMP may exchange Streaming Data Records (SDRs) with vProbe, and provides a graphical Service Management Point (SMP-GUI) for NF administration and monitoring.
[0007] The expression “Replication” used hereinafter in the specification refers to a process of creating and maintaining copies of data across multiple locations. Replication may be used to enhance data availability, reliability, and performance.
[0008] The expression “Clustering” used hereinafter in the specification refers to grouping multiple nodes to work as a single entity. Clustering may be used to improve availability, scalability, and performance by leveraging the combined resources of the clustered nodes. For example, the nodes may be a network function (NF) and to ensure high availability, uninterrupted services and efficient failover mechanisms for the Network functions (NF), NFs are deployed in a cluster of 3 each acting as Active, Standby and Spare.
[0009] The expression “Active network function (NF)” used hereinafter in the specification refers to a network function that is dynamically managed. The active NF is the primary NF for actively processing, routing and manipulating the real-time datatraffic in a network. It is responsible for processing requests, executing tasks, and delivering services to clients or end-users.
[0010] The expression “Standby network function (NF)” used hereinafter in the specification refers to a network function that is designed to take over operations if the active NF fails. The standby NF ensures that services remain operational in an event of a failure of the standby NF. The Standby NF is redundant copy of the Active NF, where the standby NF closely monitors the active NF and maintains synchronized state information. Both ensure seamless failover and continuity of services.
[0011] The expression “Spare network function (NF)” used hereinafter in the specification refers to a network function that is an additional or backup network function kept in reserve to handle service requirements or failures. The spare NF remains idle but is fully configured and synchronized with the active NF and standby NF. It serves as an additional safety net if both the Active and Standby instances encounter failures simultaneously. The Spare instance can be quickly activated to restore services in such critical situations.
[0012] The expression “Channel statistics object” as used herein refers to a data structure instantiated by a Replication and clustering (RPC) module upon creation of a new connection and corresponding channel. The data structure may be mapped with the channel as a key and configured to maintain channel-specific state information and control flags. The channel statistics object includes, a Boolean flag (isToWrite) indicative of the channel’s write-permission state, where the Boolean flag, when set to false, disables write operations for the corresponding channel. The channel statistics object is retrievable by the application layer for monitoring and managing channellevel operations.
[0013] The expression “Flag” used hereinafter in the specification refers to an indicator that conveys status information, control behavior, or trigger actions within network operations. It is also used to manage and monitor network functions.
[0014] The expression “Buffer” used hereinafter in the specification refers to a temporary storage area used to hold data for transfer between the network functions. Buffer plays an important role in managing data flow, mitigating delays, and improving overall network performance.
[0015] These definitions are in addition to those expressed in the art.BACKGROUND
[0016] 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.
[0017] In modern network architecture, various network functions (NFs) work together to support advanced capabilities, flexibility, and efficiency to provide a seamless network service. The various network functions provide specific network services or capabilities such as routing, security, session management, charging, policy control, authorization, or data processing. The network functions may manage the communication sessions between devices in the network. The session management involves handling the session setup and the setup of communication sessions between devices in the network. By efficient management of sessions in communication network can provide reliable, secure and high-quality services to users.
[0018] Conventionally, various techniques have been employed to achieve high availability of network services. These techniques include redundant hardware deployment, load balancing, network redundancy, and the use of high-availability protocols. However, redundant hardware often requires manual intervention, which increases operational expenditure. Load balancing configurations can become complex in dynamic traffic environments, while network redundancy may require intricate routing across large or multi-provider networks. Moreover, high-availability protocols are not universally applicable to all deployment scenarios. As a result, ensuring high availability often involves manual operations that delay service restoration and increase the recovery time. During system outages caused by hardware or software failures, existing approaches may not provide efficient failover, potentially resulting in service disruption and data loss across the network.
[0019] To overcome these challenges, network functions are often deployed in a cluster comprising three instances configured as Active, Standby, and Spare. The Active instance serves as the primary NF, processing live traffic and delivering services. The standby instance continuously monitors the active instance, maintains synchronized state information, and can seamlessly take the active role in case of failure. The spare instance provides an additional backup, remaining idle but fully configured and synchronized with the other instances such as the active and the standby, ensuring service continuity even in the event of simultaneous active and standby failures. The synchronization among these instances is achieved through a Replication and Clustering module (RPC). Any changes occurring on the active instance are propagated in real-time or near-real-time to the Standby and Spare instances through RPC, thereby maintaining consistency across all nodes in the cluster.
[0020] Since the network functions are stateful, session data forms a critical part of their operational state. A session data cache is maintained and synchronized across all nodes in the cluster to enable accurate request processing at any instanceother than the active node. However, in scenarios where the standby or spare instances become unresponsive, or if either instance processes RPC messages at an extremely slow pace, the send buffer at the active instance can be rapidly exhausted. This leads to excessive memory consumption and may eventually render the Active instance itself unresponsive, causing service disruption.
[0021] Hence, there is a need to provide a method and a system that can address the shortcomings of existing solutions.OBJECTIVES OF THE DISCLOSURE
[0022] Some of the objectives of the present disclosure, which at least one embodiment herein satisfies, are as follows:
[0023] An objective of the present disclosure is to provide a system and a method for replicating data between the network functions using an overload control mechanism in a network.
[0024] Another objective of the present disclosure is to provide a system and a method for preventing overload at an active network function while handling a large volume of data.
[0025] Another objective of the present disclosure is to provide a system and a method for ensuring data integrity and consistency during replication across the network functions.
[0026] Another objective of the present disclosure is to provide a system and a method for controlling replication by efficiently allocating resources to avoid exhaustion and performance degradation.
[0027] Another objective of the present disclosure is to provide a system and a method for handling temporary downtime of network functions in a network.
[0028] Another objective of the present disclosure is to halt writing data to channel helps manage the load on the system and prevents it from becoming overloaded.
[0029] Another objective of the present disclosure is to gracefully handle situations where nodes are added back to the system after temporary downtime.
[0030] Other objects and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.OBJECTIVES OF THE DISCLOSURE
[0031] In an exemplary embodiment, a method for managing a data replication channel between a cluster of Network functions (NFs) is described. The method comprises creating, by a primary NF, a channel information object for the data replication channel over an established connection between the primary NF and a secondary NF, monitoring, by the primary NF, a queue size associated with a transmitting buffer based on the information in the channel information object, determining, by the primary NF, a status of the queue size based on a plurality of predefined threshold levels, and managing, by the primary NF, the data replication channel based on the determined status of the queue size.
[0032] In an embodiment, the secondary NF comprises a standby NF, a spare NF, other instance of the primary NF, one of NF in the cluster of NF, or a combination thereof.
[0033] In an embodiment, managing the data replication channel includes a write operation, a read operation, a halt operation, a resume operation, a flush operation, and a pause operation. The writing operation of data to the data replicationchannel is disabled based on one of the channel operation configurations in the channel information object.
[0034] In an embodiment, the information in the channel information object includes one or more channel operation configurations and a channel state.
[0035] In an embodiment, the plurality of predefined threshold levels comprises a normal level, an above low threshold level, an above high threshold level, an above maximum threshold level, and a not writable level.
[0036] In one of the embodiments, the determined status of the queue size is notified based on the plurality of predefined threshold levels.
[0037] In one embodiment, managing, by the primary NF, the data replication channel includes determining a status of the established data replication channel between the primary NF and secondary NF by exchanging a plurality of data and if the determined status is a disconnected status, resetting the channel information object stored in a database.
[0038] In an embodiment, the information in the channel information object includes a counter which is incremented when a burst of data is written to the data replication channel causing the monitored queue size more than one of the plurality of predefined threshold levels. An alarm is raised when the monitored queue size is more than the one of the plurality of predefined threshold levels for at least a given number of iterations of monitoring.
[0039] In one of the embodiments, if the queue size in a buffer is more than one of the plurality of predefined threshold levels, writing operation is halted for the data replication channel and the data replication channel is flushed. If the queue size in the buffer reaches a below one of the plurality of predefined threshold levels, the writing operation is resumed to the data replication channel.
[0040] In an embodiment, a system for managing a data replication channel between a cluster of network functions. The system includes a replication module. The replication module configured to create a channel information object for a data replication channel over an established connection with a secondary NF, monitor a queue size associated with a transmitting buffer based on information in the channel information object, determine status of the queue based on a plurality of predefined threshold levels, and manage the data replication channel based on the determined status of the queue size.
[0041] In another 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 a data replication channel between a cluster of network functions is disclosed. The method comprises creating, by the primary NF, a channel information object for a data replication channel for a data replication channel over an established connection with a secondary NF, monitoring, by the primary NF, a queue size associated with a transmitting buffer based on the information in the channel information object, determining, by the primary NF, a status of the queue size based on a plurality of predefined threshold levels; and managing, by the primary NF, the data replication channel based on the determined status of the queue size.BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
[0042] 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 appreciatedby 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.
[0043] FIG. 1 illustrates an exemplary network architecture of a system for replicating data between one or more network functions, in accordance with an embodiment of the present disclosure.
[0044] FIG. 2 illustrates an exemplary block diagram of the system for replicating data between one or more network functions, in accordance with an embodiment of the present disclosure.
[0045] FIG. 3 illustrates an exemplary system architecture for replicating data between one or more network functions, in accordance with an embodiment of the present disclosure.
[0046] FIG. 4 illustrates an exemplary flow diagram of a method for replicating data between the one or more network functions, in accordance with an embodiment of the present disclosure.
[0047] FIG. 5 illustrates another exemplary flow diagram of the method for replicating data between the one or more network functions, in accordance with an embodiment of the present disclosure.
[0048] FIG. 6 illustrates another exemplary flowchart of the method for replicating data between one or more network functions, in accordance with an embodiment of the present disclosure
[0049] FIG. 7 illustrates an example computer system in which or with which the embodiments of the present disclosure may be implemented.
[0050] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100 - Network architecture 102 - User(s)104 - User Equipments (UEs)106 - Network108 - System200 - Block diagram 202 - Processor(s)204 - Memory206 - Interface(s)208 - Processing Engine210 - Database 212- Connection Module300 - Exemplary system302 - Network function304 - Command- line interface (CLI)306 - Service Management Platform (SMP)214, 308 - Replication module400, 500 - Flow Diagram600- Flowchart700 - Computer system710 - External Storage Device720 - Bus730 - Main Memory740 - Read Only Memory750 - Mass Storage Device760 - Communication Port770 - ProcessorDETAILED DESCRIPTION
[0051] 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 aredescribed below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.
[0052] 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.
[0053] 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.
[0054] Also, it is noted that individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0055] 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.
[0056] 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.
[0057] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any combinations of one or more of the associated listed items. It should be noted that theterms “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.
[0058] 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.
[0059] In network systems, during periods of high load, data replication and clustering processes may experience delays in data propagation, causing inconsistencies between the primary and replication databases. However, the conventional systems require monitoring of data integrity and consistency among databases. Thus, there is a need for a system and a method to overcome the disadvantages of the conventional systems. The present disclosure provides an overload control mechanism designed to optimize the handling of data replication and clustering in network systems. Specifically, the overload control mechanism employs a monitoring thread to oversee these processes (data replication and clustering), thereby mitigating the risk of overloading a primary network function. Overload conditions may arise when the standby or spare network functions fail to respond to replicationrequests. The disclosed overload control mechanism addresses these challenges by enhancing data integrity across network functions, ensuring consistent and accurate data replication.
[0060] The present disclosure also promotes efficient utilization of system resources, helping to prevent resource exhaustion and associated performance degradation. Furthermore, the present disclosure is equipped to manage temporary downtimes of network functions, maintaining overall system stability and operational effectiveness during such periods.
[0061] In an embodiment, the present disclosure provides a system and a method for replicating data between the network functions in a network. The method includes initiating at least one request to create / perform a channel statistics between one or more network functions (NFs) by one or more processor(s). The method includes scheduling one or more threads to monitor a queue size of a send buffer in the channel statistics through a replication module by the one or more processor(s). A thread refers to a separate path of execution within a process that can operate concurrently with other threads. Data replication often involves copying and synchronizing data between different network functions or storage locations to ensure consistency and availability. The method includes notifying the replication module based on the queue size and a threshold specified by the one or more processor(s). The method includes alerting the network functions based on an overload state band by the one or more processor(s). The method includes replicating a session data across the network functions (NFs) by the one or more processor(s).
[0062] The various embodiments throughout the disclosure will be explained in more detail with reference to FIG. 1- FIG. 7.
[0063] FIG. 1 illustrates an exemplary network architecture (100) of a system (108) for replicating data between one or more network functions, in accordance with an embodiment of the present disclosure.
[0064] 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.
[0065] In an embodiment, the UE (104) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the UE (104) may include, but is not limited to, smartphones, smart watches, smart sensors (e.g., 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 person of ordinary skill in the art will appreciate that the UE (104) may include, but not limited to, intelligent, multisensing, 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.
[0066] Additionally, in some embodiments, the UE (104) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, asmartphone, a phablet device, and so on), a wearable computer device (e.g., a headmounted 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.
[0067] Referring to FIG. 1, the UE (104) may communicate with the system (108) through a network (wireless communication 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 connection to facilitate this communication. In another embodiment, the network (106) may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public Switched Telephone Network (PSTN), or the like.
[0068] 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.
[0069] In an embodiment, the UE (104) is communicatively coupled with the network (106). The network (106) may receive a connection request from the UE (104). The network (106) 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.
[0070] 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).
[0071] FIG. 2 illustrates an exemplary block diagram (200) of the system (108), in accordance with an embodiment of the present disclosure.
[0072] Referring to FIG. 2, in an embodiment, the system (108) may include one or more processor(s) (202). The one or more processor(s) (202) may beimplemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (202) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (108). The memory (204) may be configured to store one or more computer-readable instructions or routines in a non- transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory (204) may include any non-transitory storage device including, for example, volatile memory such as random-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 an interface(s) (206). The interface(s) (206) may include a variety of interfaces, for example, interfaces for data input and output devices (VO), 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 a 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 processorexecutable 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 (202)), to execute such instructions. In the presentexamples, 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 processing engine (208) may be implemented by electronic circuitry. The processing engine (208) may be configured to replicate data between one or more network functions in the system (108). in an example, the one or more network function may be a Policy Control Function (PCF). The processing engine (208) includes a connection module (212) and a replication module (214).
[0075] In an aspect, the one or more processors (202) may be configured to initiate at least one request to establish a connection through a data replication channel with a network function on receiving the instructions from the connection module (212) of the processing engine (208). The replication module (214) is configured to create channel statistics between the network functions. This initiation step facilitates the collection of performance metrics and operational data relevant to the communication channels used for data replication.
[0076] Following the initiation, the one or more processors on receiving instructions from the replication module (214) may be configured to employ one or more scheduling mechanisms where the one or more processors schedule one or more threads to continuously monitor the queue size of a send buffer within the channel statistics object. The scheduling ensures that the send buffer's queue size is tracked in real-time, maintaining operation within predefined limits to prevent potential bottlenecks or delays in data transmission.
[0077] Based on the monitored queue size and a predetermined threshold, the one or more processors may be configured to notify the replication module (214). Thisnotification mechanism alerts the replication module (214) when the queue size approaches or exceeds the specified threshold, signaling an impending overload condition or the need for corrective action.
[0078] In an aspect, the one or more processors may be configured to alert the network functions based on an overload state band. In an example, the over-load state band may include a predefined range of conditions indicating that the system is experiencing or nearing an overload situation. The predefined range of conditions may include above high threshold, above max threshold, above low threshold, normal, not writable etc.) in which the queue size lies for the channel. The alerts prompt the network functions to take appropriate measures to manage or mitigate the identified overload.
[0079] The one or more processors on receiving instructions from the replication module (214) may replicate session data across the network functions, ensuring that data is consistently and accurately mirrored across the designated network functions, thereby maintaining data integrity and availability throughout the network system.
[0080] 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). In an embodiment, the system may include one or more databases (210A, 210B shown in FIG. 3) that may be coupled with the one or more network functions.
[0081] FIG. 3 illustrates an exemplary system architecture (300), in accordance with an embodiment of the present disclosure.
[0082] In an embodiment, the system architecture (300) may include the one or more network functions (NFs) (302A, 302B, 302C) and the one or more databases (210A, 210B). In an aspect, the one or more network functions may include an activenetwork function (NF) (302A), a standby network function (NF) (302B) and a spare network function (NF) (303C). The active network function (NF) (302A) may be configured to handle active network tasks. The standby network function (NF) (302B) may be configured to remain in a standby state, ready to take over if the active network function fails or requires maintenance. The spare network function (NF) (303C) may be configured to serve as an additional backup resource, which can be activated in response to specific conditions or demands to ensure continuous network service and reliability. Each of the network functions (302A, 302B, 302C) may include a plurality of command-line interface (CLI) (304 A, 304B, 304C), a plurality of service management platform (SMP) unit (306A, 306B, 306C), and a plurality of replication module (308A, 308B, 308C).
[0083] In an embodiment, the active NF (302A) may be a primary network function (NF) in the system architecture (300). The active NF (302A) may be configured to handle real-time network traffic and perform a desired network function. The active NF (302A) may be configured to process a plurality of requests from the user equipment (104). The active NF (302A) may be configured to handle and manage multiple simultaneous requests, ensuring efficient processing and response to each request as received from the user equipment (104). The active NF (302A) may execute the plurality of requests. The plurality of requests may include data transmission requests, authentication requests, service requests, resource allocation requests, session management requests, and configuration requests, all originating from user equipment (104). The active NF (302A) may be configured to handle these diverse requests efficiently, ensuring prompt and accurate processing to support seamless network operations. Based on the processed request, the active NF (302A) may deliver a network service to the user equipment (104). For example, the network services may include data transmission for internet access or file transfers, authentication for secure access, provisioning of subscribed services such as video conferencing, resource management to allocate bandwidth, session management for establishing or modifyingcommunication sessions, and configuration updates for network settings or security patches. By providing these services, the active NF (302A) ensures that user equipment (104) receives appropriate support and functionality tailored to each specific request.
[0084] In an embodiment, the standby NF (302B) may be a copy of the active NF (302A). The standby NF (302B) may be configured to continuously monitor an operational status of the active NF (302A) and maintain synchronization of state information with the active NF (302 A). The synchronization ensures that the standby NF (302B) mirrors the state and configuration of the active NF (302 A), thereby preserving the consistency of data and state management across the network. The synchronized state information may encompass the current operational state, session data, and configuration settings of the active NF (302A). In the event, when the active NF (302A) fails or becomes unable to serve user requests, the standby NF (302B) is designed to seamlessly take over the responsibilities of the active NF (302A), thereby ensuring uninterrupted service to users and maintaining network reliability.
[0085] In an embodiment, the spare NF (302C) may be an additional backup network function (NF). The spare NF (302C) may be configured to remain idle. The spare NF (302C) may be configured to maintain synchronization of state information with the active NF (302A) and the standby NF (302B). For example, if both the active NF (302A) and the standby NF (302B) face a failure or a disruption in service operation, then the spare NF (302C) may serve the users (102).
[0086] In an embodiment, each network function (NF) (302A, 302B, 302C) may be configured to establish a connection with the other NFs (302 A, 302B, 302C) in a cluster. The cluster may include a group of network functions (302A, 302B, 302C).
[0087] The network function (302 A, 302B, 302C) may be configured to create a channel information object over a data replication channel by establishing through the data replication channel.. .The replication module (308A,308B,308C) may createthe channel statistics for the NF (302A, 302B, 302C). The channel statistics object (interchangeably referred to as channel information object) may include a channel flag and a channel state. In an example, the network function (302A, 302B, 302C) may be configured to establish the data replication channel by initiating a connection with a peer network function (302B, 302C) and, upon successful connection setup, create the channel information object to track the state, and flags of the channel. For example, the channel flag may indicate whether the channel is active, inactive, or experiencing errors. The channel state may indicate a current condition of the channel. In an example, the channel state may include an active state where the channel is in use and transmitting data effectively, a congested state where the channel is overloaded with traffic, an idle state indicating no current data transmission, and a failed state where the channel is non-operational due to issues. The channel statistics may be stored in the database (210). The channel statistics may be mapped in the database (210) with a channel key. The channel key may refer to an identifier or parameter used to manage and control the channels within the network. The channel key can be used to differentiate between various channels or to manage channel access and resources. In an aspect, the system may access the channel statistics. The channel statistics may be accessed with the channel key. For example, the channel statistics may include a Boolean flag (for example, “isToWrite”). The Boolean flag may be set to false to disable writing to the channel of the NF (302A, 302B, 302C). In an aspect, the NF (302A, 302B, 302C) may have lost connection in the cluster. The channel and the channel statistics of the lost connection may be removed from the database (210). In an aspect, the network function (302A, 302B, 302C) may reconnect to other network functions (302A, 302B, 302C) in the cluster. The reconnected network function (302A, 302B, 302C) may create a new channel. The replication module (308A, 308B, 308C) may create a new channel statistics for the network function (302A, 302B, 302C).
[0088] In an embodiment, the one or more processor(s) (202) may be configured to perform the overload management of the data replication channel usinga flag value. The flag value may be sent to each network function (NF) (302 A, 302B, 302C) at a specific interval. For example, the specific interval may be a second, a minute, an hour or a day. The flag value serves as an indicator or threshold parameter used to assess the operational load or capacity status of the data replication channel. Specifically, the flag value may be set or adjusted based on real-time metrics such as resource utilization, request volume, or processing load. When the flag value reaches a predefined threshold, the processor(s) (202) triggers overload management protocols to address potential performance degradation or service interruptions. These protocols may include redistributing workload among multiple network functions, activating standby or spare functions, or initiating load balancing mechanisms to ensure that no single network function is overwhelmed. The flag value may be set to TRUE to enable writing to the channel of the NF (302 A, 302B, 302C) for overload management.
[0089] Overloading of the data replication channel may be identified by continuously monitoring performance metrics and resource usage. In an example, the performance metrics may include load, memory usage, and network bandwidth consumption. When these metrics surpass predefined thresholds, the system suggests potential overload. Additionally, monitoring the volume of incoming requests or data traffic helps detect overload, as a sudden surge or consistently high volume may indicate excessive strain on the network function. Increased latency and slower response times also signal that the network function might struggle under the current load. Detection of overloading is further supported by tracking error rates and failed transactions, which can indicate that the network function is not coping well with the demand. Based on historical data and anticipated load, flag values and threshold settings trigger overload alerts when exceeded.
[0090] The replication module (308A, 308B, 308C) may schedule a thread through the SMP unit (306A, 306B, 306C). The thread may be scheduled at defined intervals. For example, the thread may be scheduled every 2 seconds at a definedinterval. The defined interval may include, but is not limited to, an hour, a day, a month and a year. In an aspect, the thread may be configured to monitor a queue size (number of bytes) of a send buffer of the channel at a defined interval. The thread may monitor the queue size based on a threshold specified. For example, the threshold specified may be 500 megabytes (MB). In an aspect, the thread may be a process that collects, analyzes, and reports on network status of the primary NF and the secondary NF. The thread may be used for continuously tracking network performance, detecting faults, analyzing traffic, and ensuring security. The thread, via the one or more processors, may be configured to monitor the queue size for the threshold specified. The thread may raise an alarm if the threshold is reached. In an aspect, the thread may notify an overload state of the queue size of the channel based on the threshold specified.
[0091] In an aspect, the overload states of the queue size may be classified as below:
[0092] In an aspect, the overload states of the queue may be represented through the above set of classified states based on the buffer utilization thresholds. In an example, in the NORMAL state, the queue size remains below a predefined low buffer threshold, indicating no overload. When the queue size exceeds or above thelow buffer threshold, the state transitions to ABOVE LOW THRESHOLD, signaling early signs of congestion. Further, when the queue size increase beyond the high buffer threshold results in the ABOVE HIGH THRESHOLD state, indicating a higher degree of overload. If the queue utilization surpasses the maximum buffer threshold, the state is marked as ABOVE MAX THRESHOLD, denoting critical overload conditions. Additionally, when the system WriteableQ returns false typically when the buffer has crossed the high watermark, the state transitions to NOT WRITABLE, thereby preventing further write operations into the queue to safeguard system stability and avoid memory exhaustion.
[0093] In an aspect, the system may be configured to control the overload state. For example, if the queue size exceeds the high buffer threshold i.e., ABOVE HIGH THRESHOLD, the system may stop a write operation for the channel. The write operation involves a process of replicating a session data of the network function (302A, 302B, 302C) to another network function (302A, 302B, 302C). The system may also stop a flush for the channel by setting the flag (isToWrite). The flush refers to a process that writes data from the database / buffer to a disk storage (permanent storage). In an example, the flush operation ensures that all recent data modifications are securely stored in the event of the failure. The stopping of the flush ensures that pending data is not written into the buffer for the channel when the queue size exceeds the high buffer threshold. This prevents excessive consumption of the send buffer at the active instance, avoids memory build-up, and protects the system from becoming unresponsive. Furthermore, stopping the flush allows the system to apply controlled backpressure and resume write operations only when the channel is confirmed to be stable, thereby maintaining service continuity and cluster integrity.. In another example, if the queue size reaches to the normal level (below the low buffer threshold), the system may resume writing to the channel.
[0094] In an aspect, the system may raise alarms based on the type of overload state band. For example, the system may raise various levels of alarm. The various levels of alarm may include but are not limited to, a minor alarm, a critical alarm and a major alarm.
[0095] In an embodiment, the queue size of the send buffer in the channel may be detected for write bursts. The write bursts involve exceeding the threshold specified at a short span of time. For example, the short span of time may be 10 seconds. The queue size may return to normal in a short time. For example, the short time may be 2 seconds. The replication module (308A, 308B, 308C) may monitor the replication of session data to other network function (302A, 302B, 302C) using the channel statistics. The channel statistics may include a retry count. The retry count may be used to prevent alarm floods. For example, the system may increase the retry count. As the queue size of the buffer reaches a normal state, the retry count may be reset. The normal state may be below the threshold specified. In an aspect, the thread may be configured to monitor the queue size (number of bytes) of a send buffer of the channel at the defined interval. The thread monitors the queue size for the threshold specified. The thread may raise an alarm if the queue size does not reach the normal state.
[0096] In an embodiment, the replication module (308A, 308B, 308C) may be configured to disable the channel statistics for write operation. The replication module (308A, 308B, 308C) may send an “isToStopReplication” command to the system. The command may be sent through the command-line interface (CLI) (304A, 304B, 304C). The command may be used by the replication module (308A, 308B, 308C) irrespective of the status of the channel statistics. For example, the user may initiate the “isToStopReplication” command to the standby NF (302B) and the spare NF (302C) via the system. The user may provide input to the system. The input may be a host Internet protocol (IP) address of the standby NF (302B) and the spare NF (302C). Byinitiating the command, the replication to the standby NF (302B) and the spare NF (302C) may be stopped.
[0097] In an exemplary embodiment, the cluster may be a group of Policy Control Function (PCF) instances configured in the active, standby or spare arrangement. The active PCF instance is responsible for handling live traffic and performing core PCF operations, including policy decision-making, session management, and interaction with other network functions. The standby and the spare PCF instances operate as synchronized replicas to ensure seamless failover and service continuity. In operation, the replication process propagates session data changes from the active PCF to the standby and the spare instances via the data replication channel, i.e, the RPC channel. When the buffer associated with the RPC channel exceeds a predefined threshold, the active PCF invokes a control logic that temporarily halts writing to the RPC channel. This controlled halt in data writing ensures that the replication channel is not overwhelmed by excessive data transfer, thereby mitigating the risk of memory build-up and unresponsiveness at the active PCF. Once the buffer utilization returns to an acceptable level, the writing to the RPC channel is resumed. Through this mechanism, the system maintains balanced replication, prevents overload conditions on the active PCF, and ensures stable and efficient operation of PCF functions within the cluster.
[0098] FIG. 4 illustrates an exemplary flow diagram of a method (400) for replicating data between the one or more network functions by managing replication and clustering using the overload control mechanism, in accordance with an embodiment of the present disclosure.
[0099] At step 402, the method (400) may be initiated by a request generated by the user equipment (104) or another network function.
[0100] At step 404, the network function (302A, 302B, 302C) may receive the request containing a session data from the processor(s) (202). The session data may include, but is not limited to, a session ID, network information, a session context, a session state, and traffic management information. The session data may be encoded before replicating to other network functions (302A, 302B, 302C) in the cluster. The cluster may be one or more network functions (302A, 302B, 302C). In an aspect, the session data may be encoded to protect the session data from unauthorized access. The encoding of session data may prevent tampering and eavesdropping.
[0101] At step 406, the network function (302A, 302B, 302C) may decode the session data received within the request. In an aspect, the session data may be decoded into an original form. The decoded session data may be stored in a cache memory of the network function (302A, 302B, 302C). The NF (302A, 302B, 302C) may create the channel for each connection between the other NFs (302 A, 302B, 302C) in the cluster. The replication module (308A, 308B, 308C) may initiate the write operation to the other network functions (302A, 302B, 302C) in the cluster. The network function (302A, 302B, 302C) may raise a callback from the replication module (308A, 308B, 308C). In an exemplary aspect, the active NF (302A) may send the session data for replicating to the standby NF (302B) and the spare NF (302C). The active NF (302A) may raise a callback from the replication module (302B, 302C) of the standby NF (302B) and the spare NF (302C). In an example, the callback is a function or routine that is passed to another function, and the function is then executed. The callback is a way for one part of a program to request another part to perform an action once a specific task or event is completed. In an aspect, the callback may be used to initiate the process of replication. The callback may be triggered by the replication module (308A) of the active NF (302A) to the replication modules (308B, 308C) of the standby NF (302B) and the spare NF (302C).
[0102] At step 408, the processor(s) (202) may monitor the replication flag stored in the channel statistic object. The processor(s) may send the status of the replication flag to the network function (302A, 302B, 302C) at a specific interval. For example, the specific interval may be a second, a minute, an hour, and a day. The replication flag may indicate the status of a writing channel. For example, the status may either be an enabled status or a disabled status. The enabled status allows replicating the session data to the other NF (302A, 302B, 302C) in the cluster. Otherwise, the disabled status does not allow replicating the session data to the other NF (302 A, 302B, 302C) in a cluster.
[0103] At step 410, the network function (302A, 302B, 302C) may initiate writing if the replication flag(s) indicate enable status. The replication module (308A, 308B, 308C) may write the encoded data onto the writing channel of the other network function.
[0104] At step 412, the replication module (308A, 308B, 308C) may reject writing the encoded data onto the writing channel if the replication flags indicate disable status. The replication module (308A, 308B, 308C) may clear the associated data from the memory. For example, the memory may be the cache memory of the NF (302A, 302B, 302C).
[0105] At step 414, the method (400) for managing replication and clustering using the overload control mechanism may be terminated.
[0106] FIG. 5 illustrates another exemplary flow diagram of the method (500) for replicating data between the network functions, in accordance with an embodiment of the present disclosure. In an aspect, the method (500) for overload management among network functions is described in FIG. 5.
[0107] At step 502, the method (500) for overload management may be initiated.
[0108] At step 504, the replication module (308A, 308B, 308C) may be initiated by the processor(s) (202). The replication module (308A, 308B, 308C) may schedule a monitoring thread to monitor the queue size of a channel. In an aspect, the replication module (308 A, 308B, 308C) may create the channel statistics object for each connection established between the network function (302A, 302B, 302C). The channel statistics may include a channel flag and a channel state. The channel statistics may be stored in the database (210).
[0109] At step 506, the replication module (308A, 308B, 308C) may run a buffer monitoring procedure every N seconds. For example, the N second may be 2 seconds. The replication module (308A, 308B, 308C) may check for the queue size of the channel through the monitoring thread.
[0110] At step 508, the monitoring thread, via the one or more processor(s) (202), may be performed by checking for the queue size of a send buffer of the channel. The send buffer may store the session data to be replicated from one NF (302A, 302B, 302C) to another NF (302A, 302B, 302C). The session data may include, but is not limited to, a session ID, a network information, a session context, a session state and a traffic management information. The monitoring thread may notify the replication module (308A, 308B, 308C) based on an overload state band. In an aspect, a callback message may be sent to the network function (NF) (302A, 302B, 302C). The callback message may include the queue size and other values of the channel statistics.
[0111] At step 510, the NF (302A, 302B, 302C) may check the queue size and other values of the channel statistics. Based on the overload state band, the processor(s) (202) may raise various alarms to the NF (302A, 302B, 302C). For example, the processor may raise various levels of alarm. The various levels of alarm may include, but are not limited to, a minor alarm, a critical alarm and a major alarm.
[0112] In an aspect, the replication may be stopped if the queue size attains ABOVE MAX THRESHOLD. The NF (302A, 302B, 302C) may have replication flag. If the queue size attains ABOVE MAX THRESHOLD, the flag may be set as FALSE. In the normal state, the flag may be set as TRUE, and replication resumed.
[0113] At step 512, the buffer monitoring procedure may be iterated for every N seconds. For example, the N seconds may be 2 seconds.
[0114] FIG. 6 illustrates another exemplary flow diagram of the method (600) for replicating data between the network functions of a cluster, in accordance with an embodiment of the present disclosure. FIG. 6 is described in conjunction with FIGS. 1-5.
[0115] At step 602, a connection is established by a primary NF of the cluster with a secondary NF, through the data replication channel.
[0116] At step 604, the primary NF creates a channel information object for the data replication channel. The channel information object can be referred as channel statistics. Whenever a new connection is established and a new channel is created, the replication module will create a new channel information / Statistics object to store the channel’s flags and state. The channel information / Statistics object is stored in a map with the channel as key and channel Statistics as the value. It can be accessed at the application. The Channel Statistics object contains a Boolean flag (isToWrite), which can be set to false to disable writing to that channel. In case, the connection is lost, the channel and channel Statistics entry is removed from the map and after reconnection, a newly created channel Statistics instance is added to the map for that channel.
[0117] At step 606, the primary NF monitors a queue size associated with a transmitting buffer based on the information in the channel information object. A replication Module in the primary NF will schedule a thread at fixed rate at defined interval. This thread monitors the queue size (amount of bytes) present in the sendbuffer of channel at that time. Based on the thresholds specified and the queue size, the thread notifies the Over load State band in which the queue size lies for a channel.
[0118] At step 608, the primary NF determines a status of the queue size based on a plurality of predefined threshold levels. In an aspect, the status may be determined as normal or overloaded status.
[0119] At step 610, the primary NF manages the data replication channel based on the determined status of the queue size. The primary NF has control over what actions it wants to take in a certain threshold band. For instance if the queue size reaches above high buffer threshold, the primary NF can stop the write and flush for that channel by setting flag (isToWrite) for that channel as false. If it reaches normal level (below low buffer threshold), the primary NF can resume writing to the channel by the same API. For different bands, the primary NF can raise alarms of appropriate severity. This will help the user in identifying and alleviating any issues affecting replication long before extreme situations.
[0120] In an embodiment, the secondary NF (302B, 302C) comprises a standby NF, a spare NF, other instance of the primary NF (302A), one of NF in the cluster of NF, or a combination thereof.
[0121] In an embodiment, the managing includes a write operation, a read operation, a halt operation, a resume operation, a flush operation, and a pause operation.
[0122] In an embodiment, the information in the channel information object includes one or more channel operation configurations and a channel state. The information in the channel information object further includes a counter which is incremented when a burst of data is written to the data replication channel causing the monitored queue size more than one of the threshold levels.
[0123] FIG. 7 illustrates an exemplary computer system (700) in which or with which embodiments of the present disclosure may be implemented.
[0124] As shown in F IG. 7, the computer system (700) may include an external storage device (710), a bus (720), a main memory (730), a read-only memory (740), a mass storage device (750), a communication port (760), and a processor (770). A person skilled in the art will appreciate that the computer system (700) may include more than one processor (770) and communication ports (760). The processor (770) may include various modules associated with embodiments of the present disclosure.
[0125] In an embodiment, the communication port (760) 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 (760) 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 (700) connects.
[0126] In an embodiment, the memory (730) may be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. Read-only memory (740) 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 (770).
[0127] In an embodiment, the mass storage device (750) 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 opticaldiscs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks (e.g., SATA arrays).
[0128] In an embodiment, the bus (720) communicatively couples the processor(s) (770) with the other memory, storage, and communication blocks. The bus (720) 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 (770) to the computer system (700).
[0129] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and cursor control device, may also be coupled to the bus (720) to support direct operator interaction with the computer system (700). Other operator and administrative interfaces may be provided through network connections connected through the communication port (760). The components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (700) limit the scope of the present disclosure.
[0130] In an embodiment, a computer program product is described which comprises 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 (600) for managing a data replication channel between a cluster of network functions. The method (600) comprises creating, by a primary NF (302 A), a channel information object for a data replication channel over an established connection with a secondary NF, monitoring, by the primary NF (302A), a queue size associated with a transmitting buffer based on information in the channel information object, determining, by the primary NF (302A), a status of the queue size based on a plurality of predefined threshold levels, and managing, by the primary NF (302 A), the data replication channel based on the determined status of the queue size.
[0131] The present disclosure offers significant technical advancements by optimizing the use of system resources. By controlling the data writing, the system can ensure that resources are allocated efficiently, avoiding resource exhaustion and performance degradation. The present disclosure halts the data writing process and reduces the likelihood of data conflicts or inconsistencies during replication.
[0132] The present disclosure offers control over the actions a system needs to take in a certain threshold band. A retry Count is provided in a channel statistics object to prevent alarm floods and races. The present disclosure enables a user to completely stop the replication for this channel.
[0133] 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.
[0134] The method and system of the present disclosure may be implemented in a number of ways. For example, the methods and systems of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
[0135] 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.TECHNICAL ADVANTAGES
[0136] The present disclosure described herein above has several technical advantages including, but not limited to, the realization of the system and the method that:
[0137] The present disclosure provides a system and a method for managing replication and clustering using an overload control mechanism in a network.
[0138] The present disclosure provides a system and a method for preventing overload at an active network function during large volume of data transmission from the users such as partial or bulk replication after a spare or standby node becomes unresponsive. This prevents service disruptions and maintains the quality of service for end users.
[0139] The present disclosure provides a system and a method for ensuring data integrity and consistency during replication across the network functions. The system reduces the likelihood of data conflicts or inconsistencies during replication by halting the data writing process.
[0140] The present disclosure optimizes the use of system resources. By controlling the data writing, the system can ensure that resources are allocated efficiently, avoiding resource exhaustion and performance degradation.
[0141] The present disclosure provides a system and a method for handling temporary downtime of network functions in a network. The present disclosure provides resilience to failures indicates a level of resilience in the system. It enables nodes to be added back to the system after temporary downtime.
[0142] The present disclosure handles replication to prevent overload on theActive PCF when standby and spare instances are unresponsive.
Claims
We Claim:
1. A method (600) for managing a data replication channel between a cluster of Network functions, the method (600) comprising: creating, by a primary NF (302A), a channel information object for a data replication channel over an established connection between the primary NF and a secondary NF; monitoring, by the primary NF (302 A), a queue size associated with a transmitting buffer based on the information in the channel information object; determining, by the primary NF (302A), a status of the queue size based on a plurality of predefined threshold levels; and managing, by the primary NF (302A), the data replication channel based on the determined status of the queue size.
2. The method (600) as claimed in claim 1, wherein the secondary NF (302B, 302C) comprises a standby NF, a spare NF, other instance of the primary NF (302A), one of NF in the cluster of NF, or a combination thereof.
3. The method (600) as claimed in claim 1, wherein managing the data replication channel includes a write operation, a read operation, a halt operation, a resume operation, a flush operation, and a pause operation, wherein the writing operation of data to the data replication channel is disabled based on one of the channel operation configurations in the channel information object4. The method (600) as claimed in claim 1, wherein the information in the channel information object includes one or more channel operation configurations and a channel state.
5. The method (600) as claimed in claim 1, wherein the plurality of predefined threshold levels comprises a normal level, an above low threshold level, an above high threshold level, an above maximum threshold level, and a not writable level.
6. The method (600) as claimed in claim 1, wherein the determined status of the queue size is alarmed based on the plurality of predefined threshold levels.
7. The method (600) as claimed in claim 4, wherein: one of the channel operation configurations in the channel information object is used to disable write operation of data to the data replication channel.
8. The method (600) as claimed in claim 1, wherein managing, by the primary NF (302A), the data replication channel includes: determining a status of the established data replication channel between the primary NF (302 A) and secondary NF (302B, 302C) by exchanging a plurality of data; and if the determined status is a disconnected status, resetting the channel information object stored .
9. The method (600) as claimed in claim 1, wherein the information in the channel information object includes a counter which is incremented whena burst of data is written to the data replication channel causing the monitored queue size more than one of the plurality of predefined threshold levels, wherein an alarm is raised when the monitored queue size is more than the one of the plurality of predefined threshold levels for at least a given number of iterations of monitoring.
10. The method (600) as claimed in claim 1, wherein if the queue size in a buffer is more than one of the plurality of predefined threshold levels, writing operation is halted for the data replication channel and the data replication channel is flushed, wherein if the queue size in the buffer reaches a below one of the plurality of predefined threshold levels, the writing operation is resumed to the data replication channel.
11. A system (108) for managing a data replication channel between a cluster of network functions, the system (108) comprising: a replication module (214) configured to create a channel information object for a data replication channel over an established connection with a secondary NF; the replication module (214) configured to monitor a queue size associated with a transmitting buffer based on information in the channel information object; the replication module (214) configured to determine status of the queue based on a plurality of predefined threshold levels; and the replication module (214) configured to manage the data replication channel based on the determined status of the queue size.
12. The system (108) as claimed in claim 11, wherein the secondary NF (302B, 302C) comprises a standby NF, a spare NF, other instance of a primary NF (302A), one of NF in the cluster of NF, or a combination thereof.
13. The system (108) as claimed in claim 11, wherein managing the data replication channel includes a write operation, a read operation, a halt operation, a resume operation, a flush operation, and a pause operation, wherein the writing operation of data to the data replication channel is disabled based on one of the channel operation configurations in the channel information object.
14. The system (108) as claimed in claim 11, wherein the information in the channel information object includes one or more channel operation configurations and a channel state.
15. The system (108) as claimed in claim 11, wherein the plurality of predefined threshold levels comprise a normal level, an above low threshold level, an above high threshold level, an above maximum threshold level, and a not writable level.
16. The system (108) as claimed in claim 11, wherein the determined status of the queue size is notified based on one of the plurality of predefined threshold levels.
17. The system (108) as claimed in claim 11, wherein the replication module configured is configured to:determine, a status of the established channel between the primary NF (302A) and secondary NF (302B, 302C) by exchanging a plurality of data; and if the determined status is a disconnected status, reset the channel information object stored in a database.
18. The system (108) as claimed in claim 11, wherein the information in the channel information object includes a counter which is incremented when a burst of data is written to the data replication channel causing the monitored queue size more than one of the plurality of predefined threshold levels, wherein an alarm is raised when the monitored queue size is more than the one of the plurality of predefined threshold levels for at least a given number of iterations of monitoring.
19. The system (108) as claimed in claim 11, wherein if the queue size in a buffer is more than one of the plurality of predefined threshold levels, writing operation is halted for the data replication channel and the data replication channel is flushed, wherein if the queue size in the buffer reaches a below one of the plurality of predefined threshold levels, the writing operation is resumed to the data replication channel.
20. 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 (600) for managing a data replication channel between a cluster of network functions, the method (600) comprising:creating, by a primary NF (302A), a channel information object for a data replication channel over an established connection between the primary NF and a secondary NF; monitoring, by the primary NF (302 A), a queue size associated with a transmitting buffer based on information in the channel information object; determining, by the primary NF (302A), a status of the queue size based on a plurality of predefined threshold levels; and managing, by the primary NF (302A), the data replication channel based on the determined status of the queue size.