System and method for data replication between network functions
The described system optimizes data replication in network functions by encoding and threshold-based replication, addressing inefficiencies in conventional methods to enhance network resilience and reduce downtime.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-07-15
- Publication Date
- 2026-03-26
AI Technical Summary
Conventional data replication methods in network functions face challenges such as manual intervention during failures, resource inefficiency, and increased latency due to redundant systems, leading to network disruptions and performance issues.
A system and method for data replication that monitors data modifications, encodes them, and determines the type of replication (partial or complete) based on parameter thresholds, reducing resource consumption and overload by selectively replicating only modified data to standby or spare nodes.
This approach optimizes data synchronization, reduces overhead, and prevents network overload by efficiently replicating only necessary data, ensuring seamless continuity and reduced downtime in network functions.
Smart Images

Figure IN2025051056_26032026_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR DATA REPLICATION 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 (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 data replication 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 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 “Command-Line Interface (CLI)” used hereinafter in the specification refers to a text-based interface used to interact with a network function. The CLI enables the network administrators to configure, manage, and troubleshoot the network function through a Graphical User Interface (GUI) of the network function.
[0006] The expression “Service Management Platform (SMP)” used hereinafter in the specification refers to a system used to manage and optimize network services effectively. The SMP ensures efficient service delivery, consistent operations, and effective resource utilization by integrating various functions such as incident management, change management, and service request handling.
[0007] The expression “Data 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 “Complete data replication” used hereinafter in the specification refers to a process of copying all data from one system / database to another, ensuring both systems contain identical, up-to-date copies of the data.
[0009] The expression “Partial data replication” used hereinafter in the specification refers to a process of copying subset of data from one system / database to another, instead of the entire dataset.
[0010] The expression “Active network function (NF)” used hereinafter in the specification refers to a network function that is dynamically manage various operations associated with the network. The active network function is the primary network function / node for actively processing, routing and manipulating the real-time data traffic in a network.
[0011] 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 network function fails. The standby network function / node ensures that services remain operational in an event of failure of the active network function.
[0012] The expression “Spare network function (NF)” used hereinafter in the specification refers to a network function that is an additional or backup networkfunction / node kept in reserve to handle service requirements or failures.
[0013] The expression “Modified field” used hereinafter in the specification refers to a field (a data field or a variable) that has been altered or updated by a user. The modified field may be marked, recorded, or flagged to distinguish it from other fields that remain unchanged.
[0014] The expression “Encoding” used hereinafter in the specification refers to a process of transforming readable plaintext into unreadable ciphertext to mask sensitive information from an unauthorized user.
[0015] The expression “Decoding” used hereinafter in the specification refers to a process of transforming the encoded data into its original format.
[0016] The expression “Data Structure” used hereinafter in the specification refers to an organized format used to store, manage, and retrieve data efficiently.
[0017] These definitions are in addition to those expressed in the art.BACKGROUND
[0018] 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.
[0019] In a network, the network functions handle various user requests simultaneously to maintain seamless and reliable end-to-end communication. The various network functions rely on shared databases or individual databases to manage and store significant information. Each network function interacts with the databasesto retrieve, store, and update information essential for network performance and user experience. The databases assist the network functions in various tasks such as authentication, session management, policy enforcement, and resource allocation. At times, the network functions face disruptions and downtime due to various reasons, such as hardware failure, configuration issues, sudden spikes in network traffic, and power outages.
[0020] In modern 5G core networks, maintaining data consistency and state synchronization across multiple network functions is crucial for ensuring high availability, fault tolerance, and optimal performance. The replication through Replication and Clustering (RPC) addresses these needs by propagating changes made on an active network function to standby and spare network functions. This ensures that all network functions within a cluster have up-to-date and synchronized data, essential for maintaining operational integrity.
[0021] In the conventional approach, managing consistency across the network functions, particularly with simultaneous changes, requires effective mechanisms to handle conflicts and maintain data integrity. In the conventional approach, maintaining high availability and continuity during network function failures requires manual intervention. The network function failure impacts handling the user request and causes overload at a particular network function. The network function failures can be handled using various mechanisms such as redundancy, regular backups, load balancing, and monitoring and alerts. These various mechanisms can be expensive and complex to implement and maintain as these mechanisms require specialized hardware, software, and skilled personnel. Implementing redundant systems involves complex configurations that can cause configuration errors, affecting network disruption. The load-balancing approach can introduce additional latency and processing overhead, which might impact the performance of the network due to misconfigurations. The regular backups require a large amount of storage space to maintain the network anduser data.
[0022] Further, manual intervention during recovery from network function failures takes longer, extending the period of network disruption. The network administrator may need to manually identify the failure and apply fixes to resolve it. Also, manual recovery is prone to human errors, which can intensify the problem or introduce new issues, leading to network outages. Moreover, robust error-handling mechanisms are essential to address replication failures and ensure continued synchronization and data integrity.
[0023] Hence, there is a need to provide a method and a system that can address the shortcomings of existing solutions.OBJECTIVES OF THE DISCLOSURE
[0024] Some of the objectives of the present disclosure, which at least one embodiment herein satisfies, are as follows:
[0025] An objective of the present disclosure is to provide a system and a method for data replication between one or more network functions.
[0026] Another objective of the present disclosure is to provide a system and a method for preventing overload at an active network function using a partial replication mechanism.
[0027] Another objective of the present disclosure is to provide a system and a method for replicating only the modified data, thereby reducing resource consumption.
[0028] Another objective of the present disclosure is to provide a system and a method for optimizing data replication by focusing on specific changes in a data structure.
[0029] Yet another objective of the present disclosure is to provide a system and a method for reducing overhead associated with data synchronization among the network function.
[0030] 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
[0031] In an exemplary embodiment, a method for performing data replication between a primary node and one or more secondary nodes is described. The method comprises monitoring, by the primary node, at least one modification in data and storing the modified data in a first database and updating, by the primary node, at least one field in a data structure corresponding to the at least one modification. The method further comprises encoding, by the primary node, the stored modified data to generate an encoded data, determining, by the primary node, a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure. The type of data replication comprises a partial data replication and a complete data replication. The method further comprises performing, by the primary node, the data replication to at least one secondary node from the one or more secondary nodes according to the determined type of data replication.
[0032] In some embodiments, the primary node is an active node. The one or more secondary nodes comprise at least one of a standby node and a spare node.
[0033] In some embodiments, the method comprises the analyzing the set of parameter values that comprises comparing, by the primary node, a first parameter value with a first threshold value and a second parameter value with a second threshold value and if the first parameter value and the second parameter value are less than the first threshold value and the second threshold value, respectively, initiating, by theprimary node, the partial data replication to the at least one secondary node from the one or more secondary nodes.
[0034] In some embodiments, the method further comprises initiating, by the primary node, the complete data replication to the at least one secondary node from the one or more secondary nodes, if at least one of the first parameter value exceeds the first threshold value and the second parameter value exceeds the second threshold value.
[0035] In some embodiments, the set of parameter values comprises the first parameter value representing a size of the encoded data and the second parameter value representing a number of fields updated in the data structure.
[0036] In some embodiments, the secondary node is configured to perform one or more steps receiving the encoded data from the primary node during the data replication, decoding the encoded data to generate a decoded data and storing the decoded data in a second database associated with the at least one secondary node from the one or more secondary nodes.
[0037] In another exemplary embodiment, a system for performing data replication is described. The system comprises a primary node and one or more secondary nodes. The primary node comprises a monitoring unit configured to monitor at least one modification in data and store the modified data in a first database. An updation unit is configured to update at least one field in a data structure corresponding to the at least one modification. An encoding unit is configured to encode the stored modified data to generate an encoded data. A determining unit is configured to determine a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure. The type of data replication comprises a partial data replication and a complete data replication. An execution unit is configured to perform the data replication to at least one secondary node from the one or moresecondary nodes according to the determined type of data replication.
[0038] 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 performing data replication between a primary node and one or more secondary nodes is described. The method comprises monitoring, by the primary node, at least one modification in data and storing the modified data in a first database and updating, by the primary node, at least one field in a data structure corresponding to the at least one modification. The method further comprises encoding, by the primary node, the stored modified data to generate an encoded data, determining, by the primary node, a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure. The type of data replication comprises a partial data replication and a complete data replication. The method further comprises performing, by the primary node, the data replication to at least one secondary node from the one or more secondary nodes according to the determined type of data replication.BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
[0039] 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.
[0040] FIG. 1 illustrates an exemplary network architecture for implementing a system for data replication between one or more network functions, in accordance with an embodiment of the present disclosure.
[0041] FIG. 2 illustrates an exemplary block diagram of the system for data replication between the one or more network functions, in accordance with an embodiment of the present disclosure.
[0042] FIG. 3 illustrates an exemplary system architecture for data replication between the one or more network functions, in accordance with an embodiment of the present disclosure.
[0043] FIG. 4 illustrates an exemplary flow diagram of a method for data replication between the one or more network functions, in accordance with an embodiment of the present disclosure.
[0044] FIG. 5 illustrates another exemplary flow diagram of a method for performing data replication between a primary node and one or more secondary nodes, in accordance with an embodiment of the present disclosure.
[0045] FIG. 6 illustrates an exemplary computer system in which or with which the embodiments of the present disclosure may be implemented.
[0046] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100 - Network architecture102 - User(s)104 - User Equipments (UEs)106 - Network108 - System110A - Primary Node / Active Network Function / Active NodeHOB - Secondary Node 1 / Standby Network Function / Standby Node 110C - Secondary Node 2 / Spare Network Function / Spare Node200 - Block diagram202 - Processor(s)204 - Memory206 - Interface(s) 208 - Processing Engine210 - Database210A - First Database210B - Second Database212 - Monitoring Unit 214 - Updation Unit216 - Encoding Unit218 - Determining Unit220 - Execution Unit300 - System Architecture304 A, 304B, 304C - Command-line interface (CLI)306A, 306B, 306C - Service Management Platform (SMP)308 A, 308B, 308C - Replication module400- Method Flow Diagram500 - Method Flow Diagram600 - Computer system610 - External Storage Device620 - Bus630 - Main Memory640 - Read Only Memory650 - Mass Storage Device660 - Communication Port670 - ProcessorDETAILED DESCRIPTION
[0047] 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 anycombination 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.
[0048] 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.
[0049] 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.
[0050] 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, asubprogram, 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.
[0051] 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.
[0052] 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.
[0053] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements,components, and / or groups thereof. As used herein, the term “and / or” includes any combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.
[0054] 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.
[0055] Manual failover mechanism for a network function involves a procedure that allows a network operator or administrator to switch to a backup system or component in the event of a primary network function. This procedure can result in longer downtime and increases operational workload. The manual failover mechanism depends on timely detection of failures by manual monitoring, if these alerts are missed or delayed, the failover mechanism can be significantly affected.
[0056] In a network system, various Network Functions (NFs) are deployed to ensure seamless communication. The network functions are assigned with specific roles within a cluster configuration. The network functions are categorized as active,standby, and spare. Each of the network functions serves critical functions to maintain operational integrity and service continuity. The active network function operated as a primary node within the cluster. The active network function processes all network traffic and manages requests. The active network function is communicatively coupled with the database (DB) to fulfill these requests and maintain operational data. The standby network function serves as a backup to the active network function. The standby network function is in an idle state during normal operations and remains fully synchronized with the active network function. The spare network function is provided as an additional backup resource that serves in the event of the failure of both the active network function and the standby network function. The network functions may face difficulty in processing the request in case of overloaded requests from various users. The network function failure may lead to service downtime, data loss, decreased performance, and operational disruption.
[0057] To address the challenges in the conventional techniques, the present disclosure enables a data replication mechanism to prevent overload on a particular network function.
[0058] The various embodiments throughout the disclosure will be explained in more detail with reference to FIG. 1 - FIG. 6.
[0059] FIG. 1 illustrates an exemplary network architecture (100) for implementing a system (108) for data replication between one or more network functions in a network (106), in accordance with an embodiment of the present disclosure.
[0060] As illustrated in FIG. 1, the network architecture (100) may include one or more user equipments (UEs) (104-1, 104-2... 104-N) associated with one or more users (102-1, 102-2... 102-N) in an environment. A person of ordinary skill in the art will understand that one or more users (102-1, 102-2... 102-N) may collectively referred toas 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.
[0061] 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.
[0062] 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 tablet 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 is not limited to, any electrical, electronic, electromechanical, orY1 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.
[0063] 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.
[0064] 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, awired 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.
[0065] 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.
[0066] The system (108) comprises a primary node (110A) and one or more secondary nodes (HOB, HOC). The primary node (110A) and the one or more secondary nodes (HOB, 110C) may be a network function. The network function may be a network element / network node that performs tasks within the network architecture to support communication, connectivity, and management of network services. The network function stores data corresponding to the tasks in the memory of the network function. The primary node (110A) and the one or more secondary nodes (i.e., secondary node 1 (HOB), secondary node 2 (HOC)) may be the same network function. The primary node (110A) may function as an active node for the network function, and the one or more secondary nodes ( 110B, HOC) may function as a standby node and a spare node for the network function, respectively. The system (108) is configured to perform data replication between one or more network functions (i.e., primary node (110A) and one or more secondary nodes (HOB, 110C)), as explained in detail in FIGs. 2-5. A person of ordinary skill in the art will understand that the primary node (110A) may alternatively be referred to as “the active network function” or “the active node” throughout the disclosure. A person of ordinary skill in the art will understand that the secondary node 1 (HOB) may alternatively be referred to as the “standby network function” or “standby node” throughout the disclosure. Furthermore,a person of ordinary skill in the art will understand that the secondary node 2 (110C) may alternatively be referred to as “the spare network function” or “spare node” throughout the disclosure.
[0067] 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).
[0068] FIG. 2 illustrates an exemplary block diagram (200) of the system (108) for data replication between the one or more network functions, in accordance with an embodiment of the present disclosure.
[0069] 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 be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (202) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (108). The memory (204) may be configured to store one or more computer-readable instructions or routines in a non- transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory (204) may include any non-transitory storage device including, for example, volatile memory such as random-access memory (RAM), or non-volatile memory such as erasable programmable read only memory (EPROM), flash memory, and the like.
[0070] In an embodiment, the system (108) may include an interface(s) (206). Theinterface(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).
[0071] 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), 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 processing engine (208) may be implemented by electronic circuitry. The processing engine (208) or the one or more processor(s) (202) may be configured to determine the manner of replication data between one or more network functions in the system (108).
[0072] 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).
[0073] In an embodiment, the system (108) may comprise the primary node (110A) and the one or more secondary nodes (HOB, 110C). The primary node (110A) is an active network function. The one or more secondary nodes (HOB, HOC) comprise at least one of a standby node (HOB) and a spare node (110C).
[0074] In an embodiment, the primary node (110A) may comprise the processing engine (208). The processing engine (208) further comprises a monitoring unit (212), an updation unit (214), an encoding unit (216), a determining unit (218), and an execution unit (220). The primary node (110A) comprises a first database (210A).
[0075] The primary node (110A) is configured to handle live traffic in the network (106) and perform functions such as, but are not limited to, processing requests, executing tasks, and delivering services to clients or end-users. The primary node (110A) stores the data corresponding to the performed functions in the database (210). The monitoring unit (212) is configured to monitor at least one modification in data and store the modified data in the first database (210A). While performing the functions, the monitoring unit (212) continuously monitors modifications in the data. Upon detecting the modifications in the data, the modified data is stored in the first database (210A). In an aspect, the primary node is configured to maintain a set of data structures having a plurality of fields to store the data. Upon detecting modifications in the data, one or more fields corresponding to the detected modifications are modified / updated.
[0076] In an embodiment, the monitoring unit (212) is configured to monitor one or more changes in data associated with the one or more network functions (NFs) (110A, HOB, 110C) to generate a set of modified data. The one or more changes may refer to updates or modifications in data (also known as an updated file) associated with the network function (NF). The monitoring unit (212) is configured to monitor theone or more changes through several mechanisms designed to detect and handle modifications in data and states associated with the network function. The monitoring unit (212) is configured to continuously track data associated with network functions or software components by employing methods such as periodic polling, where the methods regularly query data sources to check for updates. Additionally, the monitoring unit (212) is further configured to use event-driven monitoring to respond to specific triggers or alerts that indicate a change has occurred. This involves setting up listeners or watchers that capture real-time changes in the system.
[0077] Furthermore, the monitoring unit (212) is configured to utilize real-time data streaming techniques to process and analyze continuous flows of data, ensuring immediate detection of any changes. By integrating these monitoring strategies, the monitoring unit (212) effectively ensures that any changes in the system are promptly detected, analyzed, and addressed, thereby maintaining system integrity and performance.
[0078] The updation unit (214) is configured to update at least one field in a data structure corresponding to the at least one modification. The data structure refers to a specialized format for organizing, storing, and managing data so that the data is used efficiently. The data structure enables efficient handling of large amounts of data. The data structure may be a linear data structure or a nonlinear data structure. The linear data structure is a data structure in which data is arranged sequentially. The linear data structure comprises an array, a list, a table, a stack, and a queue. The nonlinear data structure is a data structure in which data is arranged in a hierarchical or interconnected manner. The nonlinear data structure comprises a tree, a graph, a hash table, and a dictionary. In an aspect, the data structure comprises one or more fields. Each field corresponds to one parameter. In an exemplary aspect, the data associated with the one or more network functions may be included in a data file. The data file may include a text file, an Excel file, a comma-separated file (CSV) file, and a log file. For example,the excel file may contain one or more fields. The one or more fields may include parameters such as name, user identity (ID), address, phone number, Internet Protocol (IP) address, data usage, location data, and network preferences. The user may update one or more fields such as the user ID and phone number via the user equipment. The updated data file (file in which the user performs changes) may be stored in the first database (210A). The updation unit (214) may retrieve an original data file from the database (210). Further, the updation unit (214) may compare the original data file with the updated data file to gather the one or more changes in data and generate a set of modified data. For example, the user updated the user ID and phone number. Hence, the set of modified data may include the user ID and phone number.
[0079] In an aspect, the set of modified data may reflect updates made in a set of data structures by the user. The set of modified data may be a subset of the data structure. For example, the set of data structures may include subscriber identity (ID), subscriber name, subscriber Internet protocol (IP) address, subscriber status, activity logs and subscriber preferences. The user may modify the subscriber status and subscriber ID. The set of modified data may include the subscriber status and subscriber ID.
[0080] In an aspect, the data structure assigns a flag to each field to track modifications. When a field is updated, its associated flag is set to "Yes" to indicate that it has been modified. If no changes are made to a field, the flag remains "No," indicating it is unmodified. In an operative aspect, upon updating the at least one field in the data structure, the updation unit (214) is configured to set the flag corresponding to the at least one field as “Yes”.
[0081] The encoding unit (216) is configured to encode the stored modified data to generate an encoded data. In an embodiment, the encoding unit (216) is configured to perform encryption on the set of modified data and determine a size of the encoded modified data. The encoding unit (216) is configured to encrypt only the set of modifieddata to enable less data transmission across the network. The encoding unit (216) converts the set of modified data from a readable form to an unreadable form, to prevent unauthorized users from accessing the modified data. For example, the readable form may be “Hello”, and it may be converted (encoded) as “N5kLw7+N==”. In an aspect, the encoding unit (216) may capture the storage space occupied by the encoded data. For example, the encoded data may occupy 1 KB (Kilobyte) in the first database (210A).
[0082] The determining unit (218) is configured to determine a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure. In an aspect, the type of data replication comprises a partial data replication and a complete data replication. The partial data replication is used to replicate only a part of a data rather than replicating the entire data. The complete data replication is used to replicate entire data. The set of parameter values comprises a first parameter value representing a size of the encoded data and a second parameter value representing number of fields updated in the data structure.
[0083] In an embodiment, the size of the encoded data refers to the amount of space or storage needed to hold the data after the data has been encoded. The size can be measured in various units (e.g., bits, bytes, kilobytes, megabytes, etc.) depending on the scale of the data (i.e., range, size, or level of detail of the data). For example, the data = AAAABBBCCDAA (i.e., 12 characters). Each character has 8 bits. The size of the data = 12*8 = 96 bits. The data “AAAABBBCCDAA” is encoded to “4A3B2C1D2A (i.e., A appears 4 times, B 3 times, C 1 time, D 2 times, A again appears 2 times)”. To estimate the size of the encoded data, consider that each digit and character is 1 byte. So, the size of the encoded data is 4A - 2 bytes, 3B - 2 bytes, 2C - 2 bytes, ID - 2 bytes, 2A - 2 bytes (i.e., 10 bytes = 80 bits).
[0084] In an embodiment, the number of fields updated in the data structure refers to how many specific attributes or variables (fields) within the data are modified orchanged. For example, the cellular data has fields such as User ID = 12345, Cell_tower_ID = TWR001, Signal_strength = -75, Data_usage = 350.2, and Last updated = 2025-04-29. The update of the cellular data includes Cell tower id = TWR045, Signal_strength = -68, Data_usage = 360.9 MB, and Last_updated = 2025- 04-29.
[0085] To determine the type of replication, the determining unit (218) is configured to compare the first parameter value (i.e., size of the encoded data) with the first threshold value and the second parameter value (i.e., number of fields updated in the data structure) with the second threshold value. The execution unit (220) is configured to perform the data replication to at least one secondary node from the one or more secondary nodes (HOB, HOC) according to the determined type of data replication. In an embodiment, if the first parameter value and the second parameter value are less than the first threshold value and the second threshold value, respectively, the execution unit (220) is configured to initiate the partial data replication to the at least one secondary node from the one or more secondary nodes (HOB, HOC). For example, the first threshold value (i.e., threshold for size of encoded data) is 15KB, the second threshold value (i.e., threshold for number of fields updated in the data structure) is 10 fields. The first parameter value (i.e., size of encoded data) is 10KB and the second parameter value (i.e., number of fields updated in the data structure) is 4 fields. The first parameter value (i.e., 10KB) < the first threshold value (i.e., 15 KB) and the second parameter value (i.e., 4 fields) < the second threshold value (i.e., 10 fields). The execution unit (220) initiates the partial data replication as the first parameter value and the second parameter value are less than the first threshold value and the second threshold value, respectively. The partial data replication prevents overload on the primary node (110A) and the one or more secondary nodes (HOB, HOC).
[0086] The execution unit (220) is further configured to initiate the complete datareplication to the at least one secondary node from the one or more secondary nodes (HOB, HOC), if at least one of the first parameter value exceeds the first threshold value and the second parameter value exceeds the second threshold value, respectively. The first parameter value (i.e, size of encoded data) is 18 KB and the second parameter value (i.e., number of fields updated in the data structure) is 12 fields. The first parameter value (i.e. 18 KB) > the first threshold value (i.e., 15 KB) and the second parameter value (i.e., 12 fields) > the second threshold value (i.e., 10 fields). The execution unit (220) initiates the complete data replication as the first parameter value and the second parameter value exceeds the first threshold value and the second threshold value, respectively.
[0087] In another embodiment, the execution unit (220) is configured to replicate the data from the active network function to one or more network functions (i.e., standby or spare network functions) according to the determined type of replication. In an example, the replication condition may comprise a first condition and a second condition. The first condition checks that the number of modified fields does not exceed the first threshold value. For example, if the first threshold value is set to 10, the first condition will be satisfied as long as 10 or fewer fields have been changed. The second condition ensures that the size after partially encoding the modified fields is less than or equal to the second threshold value. For instance, if the second threshold value is 10 KB, the second condition is satisfied if the encoded size of all modified fields is 10 KB or less. If both the first condition and the second condition are satisfied, the execution unit (220) is configured to perform a partial data replication mechanism. Otherwise, the execution unit (220) is configured to perform a complete data replication mechanism.
[0088] The one or more secondary nodes (HOB, HOC) are communicatively coupled to the primary node (110A) over the network (106). In an aspect, if the at least one secondary node from the one or more secondary nodes (HOB, HOC) is notconnected to the primary node (110A), then the at least one secondary node from the one or more secondary nodes (HOB, 110C) sends a connection request to the primary node (110A) over the network (106). Upon receiving a response corresponding to the connection request from the primary node (110A), the connection is established between the primary node (110A) and the at least one secondary node from the one or more secondary nodes (HOB, HOC). In an aspect, the second database (220B) is connected to the one or more secondary nodes (i.e., standby network function (HOB) and spare network function (110C)).
[0089] The at least one secondary node from the one or more secondary node (HOB, 110C) is configured to receive the encoded data from the primary node (110A) during the data replication. In an aspect, the at least one secondary node from the one or more secondary nodes (HOB, HOC) receives the encoded data (e.g., 4A3B2C1D2A) from the primary node (110A) during the partial data replication.
[0090] The at least one secondary node from the one or more secondary nodes (HOB, HOC) is configured to decode the encoded data to generate decoded data. Decoding of the encoded data is the process of converting encoded data back to original format. In an aspect, upon receiving the encoded data, the at least one secondary node from the one or more secondary nodes (HOB, HOC) decodes the encoded data (e.g., 4A3B2C1D2A) to generate the decoded data (e.g., AAAABBBCCDAA).
[0091] The at least one secondary node from the one or more secondary nodes (HOB, 110C) is configured to store the decoded set of data (e.g., AAAABBBCCDAA) in the second database (210B) associated with the at least one secondary node from the one or more secondary nodes (HOB, 110C).
[0092] In an aspect, while performing the decoding, the at least one secondary node from the one or more secondary nodes (HOB, HOC) first decodes the set of modified fields to identify which fields have been modified in the data structure. Basedon the identification of the fields modified in the data structure, the at least one secondary node from the one or more secondary nodes (HOB, 110C) decodes only the modified fields. This enables efficient decoding of the transmitted data by focusing only on the fields that have changed.
[0093] In an aspect, the first database (210A) and the second database (21 OB) may be part of the database (210).
[0094] Although FIG. 2 shows exemplary components of the block diagram (200), in other embodiments, the block diagram (200) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 2. Additionally, or alternatively, one or more components of the block diagram (200) may perform functions described as being performed by one or more other components of the block diagram (200).
[0095] FIG. 3 illustrates an exemplary system architecture (300) for data replication between the one or more network functions, in accordance with an embodiment of the present disclosure.
[0096] In an embodiment, the system architecture (300) may include the one or more network functions (NFs) (110A, HOB, HOC) and the one or more databases (210A, 210B). In an aspect, the one or more network functions may include an active network function (NF) (110A), a standby network function (NF) (HOB) and a spare network function (NF) (HOC). The active network function (NF) (110A) may be configured to operate at an active state for handling all the user requests. The standby network function (NF) (HOB) may be configured as a redundant copy that remains in a standby state. The standby network function (HOB) is configured to take over if the active network function fails or requires maintenance. The spare network function (NF) (HOC) may be configured to serve as an additional backup resource, which can be activated in response to specific conditions or demands to ensure continuous networkservice and reliability. The spare network function (1 IOC) is configured to take over if the standby network function (HOB) fails.
[0097] In an embodiment, the active network function (110A) may be a primary network function (NF) in the system architecture (300). The active network function (110A) may be configured to handle real-time network traffic and perform a desired network function. The active network function (110A) may be configured to process a plurality of requests from the user equipment (104). The active network function (110A) 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 network function (110A) 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 network function (110A) 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 network function (110A) may deliver a network service to the user equipment (104). For example, the network services may include communication services, file and data services, web services, security services, authentication services, remote access services, and traffic management. By enabling these services, the active network function (110A) ensures that user equipment (104) receives desired support and functionality tailored to each specific request. The active network function (110A) stores data corresponding to the executed requests in the first database (210A).
[0098] In an embodiment, the standby network function (HOB) may be a copy of the active network function (110A). The standby network function (HOB) may be configured to continuously monitor an operational status of the active network function (110A). The standby network function (HOB) establishes a connection with the activenetwork function (110A) through a connection request. Upon connection established, the standby network function (HOB) maintains synchronization of state information with the active network function (110A). During the synchronization, the standby network function (HOB) receives data from the first database (21 OA). The synchronization ensures that the standby network function (HOB) mirrors the state and configuration of the active network function (110A), 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 network function (110A). In the event, when the active network function (110A) fails or becomes unable to serve user requests, the standby network function (HOB) is designed to seamlessly take over the responsibilities of the active network function (110A), thereby ensuring uninterrupted service to users and maintaining network reliability.
[0099] In an embodiment, the spare network function (110C) may be an additional backup network function (NF). The spare network function (110C) may be configured to remain idle. The spare network function (HOC) establishes a connection with the active network function (110A) and the standby network function (HOB) through a connection request. Upon connection established with the active network function and connection established with the standby network function (HOB), the spare network function (HOC) may be configured to maintain synchronization of state information with the active network function (110A) and the standby network function (HOB), respectively. Further, if both the active network function (110A) and the standby network function (HOB) face a failure or a disruption in service operation, then the spare network function (110C) may serve the users (102).
[0100] Each of the network functions (110A, HOB, 110C) may include a plurality of command-line interfaces (CLI) (304A, 304B, 304C), a plurality of service management platform (SMP) units (306A, 306B, 306C), and a plurality of replicationmodules (308A, 308B, 308C). The CLI (304A, 304B, 304C) provides a text-based interface that allows the administrators to interact with each network function directly. Through the CLI, the administrators may execute commands to configure, manage, and troubleshoot various network components. For example, the administrator might use the CLI to set or adjust threshold values associated with each network function, ensuring that the network operates within desired parameters and can respond effectively to changes or issues. On the other hand, the SMP units (306A, 306B, 306C) are responsible for the broader management and orchestration of the network functions. The SMP unit handles essential tasks such as provisioning, monitoring, and optimizing these network functions to ensure they function efficiently and meet performance standards.
[0101] In an embodiment, the plurality of replication modules (308A, 308B, 308C) may be configured to initiate one or more replication requests between the network functions (110A, HOB, 110C). The one or more replication requests comprise full replication requests, incremental replication requests, continuous replication requests, and on-demand replication requests. The full replication requests involve duplicating an entire dataset from one network function to another network function, ensuring that a target network function has an exact copy of a source network function. This type of request is typically used when establishing an initial copy of the data or when a comprehensive update is needed to fully synchronize the target with the source. On the other hand, the incremental replication requests focus on replicating only the changes made since the last replication operation. This efficiently maintains up-to-date copies of the data by only transmitting the modified portions rather than the entire dataset, thus saving bandwidth and reducing replication time. The continuous replication requests are designed to keep the target network function continuously synchronized with the source network function. This type of replication involves a realtime or near-real-time process where changes are propagated as they occur, ensuring that the target remains constantly up-to-date without requiring periodic replicationschedules. The on-demand replication requests are triggered manually or based on specific conditions. They allow replication to occur at a particular time or in response to particular events, providing flexibility in data management and ensuring that replication happens only when needed.
[0102] For example, the replication module (308 A) at the active network function (110A) may be configured to propagate the set of modified fields to the replication module (308B) at the standby network function (HOB) and to the replication module (308C) at the spare network function (110C). The set of modified fields is propagated to maintain synchronization or consistency among the network functions (110A, 110B, 110C) in real-time.
[0103] In an exemplary scenario, the active network function (NF) (110A) compares the original data file (stored in the database (210)) with the updated data file to gather one or more changes in data (performed by the user) and generate the set of modified data. These one or more changes may come in various data file formats, such as text or CSV files, and include attributes like caller ID or phone number. For instance, if the user updates the caller ID and area code, the active network function (110A) compares the updated data file with the original data file to identify changes, resulting in a modified data set that includes the updated caller ID and area code.
[0104] The active network function (110A) may assess the number of modified fields and initiate encryption (encoding) of the modified data set, transforming the modified fields into a secure format. The active network function may calculate the size of this encoded data, such as 1 KB for a set including employee ID and phone number. The replication process is determined based on two conditions: if the number of modified fields is less than or equal to a predefined first threshold value and if the size of the encoded data is within a second threshold value. For instance, if there are 2 modified fields and the size of the encoded data is 2 KB, with thresholds set at 5 fields and 100 KB, respectively, both conditions are met, prompting partial data replication.
[0105] If either condition fails, such as having more modified fields than the threshold or exceeding the size limit, a complete (full) data replication is performed by the active network function. For example, with 5 modified fields and the encoded data size of 150 KB, both thresholds are exceeded, leading to the complete data replication.
[0106] Additionally, the active network function (110A) may decode the modified fields before sending them to other network functions and storing them into the database, converting the modified fields from the encoded format of the modified data to a readable form to facilitate efficient data handling and storage.
[0107] The active network function (110A) may initiate the replication process to replicate the modified data set with at least one backup node. The backup node may perform the replication process, including the standby network function (110B) and the spare network function (HOC). The active network function (110A) may send the modified data to the backup node via the replication module (308A, 308B, 308C). The replication module (308A, 308B, 308C) may select the backup node based on an availability status of the database (210A, 210B). The one or more processor(s) (202) may determine the database (210) availability using a status flag. The one or more processor(s) (202) may set the status flag as “TRUE” if the database is available. Otherwise, the status flag is set as “FALSE” in case the database is unavailable. Upon the selection of the backup node by the active network function (110A), the standby network function (110B) or the spare network function (110C) may store the modified data set in the database (210A, 210B) based on the availability status.
[0108] FIG. 4 illustrates an exemplary flow diagram of a method (400) for data replication between the one or more network functions in the network (106), in accordance with an embodiment of the present disclosure.
[0109] At step (402), the method for replicating the data between the one or more network functions (110A, HOB, 110C) is initiated. The one or more network functionscomprise the active network function (110A) and the one or more secondary nodes (i.e., standby network function (HOB) and spare network function (HOC)). In an aspect, the active network function (110) may be configured to perform the data replication by performing the step (404) - step (410).
[0110] At step (404), the active network function (110A) receives one or more data replication requests from the one or more secondary network functions (HOB, HOC). The data replication request may include a data synchronization request, a data propagation request, a data recovery request, a consistency check request, and a status request. The active network function (110A) continuously monitors data to detect any modifications in the data. Upon detecting the modifications in the data, the active network function creates a set of modified data for replication. In an aspect, the set of modified data may be the recently modified data in a data structure by the user. For example, the data structure may include one or more parameters. The one or more parameters may include employee name, employee ID, employee address, phone number, nominee, dependents, employment type, employee salary, and employee bonus. The user(employee) has updated the employee ID and phone number. The updated data are taken as the set of modified data.
[0111] In an exemplary aspect, a set of modified data is generated from one or more changes detected by the active network function (110A). The one or more detected changes may be a data file such as excel, text file, csv file, and log file. For example, the data file may be a text file. The text file may include one or more attributes. The one or more attributes may include caller identity (ID), caller name, caller location, caller phone number, area code, and account status. The user may update caller ID and area code via the user equipment and store an updated file in the memory. An original data file is fetched from the database (210). Further, the original data file is compared with the updated data file to collect the one or more changes in data and generate a set of modified data. For example, the user updated the caller IDand area. Therefore, the set of modified data may include the user ID and phone number.
[0112] At step (406), the number of modified fields is checked in the set of modified data. An encryption process is initiated on the set of modified data. The encryption process involves transforming the set of modified data into a format that may be unreadable without proper authorization. For example, the set of modified data may include employee ID and phone number. A size of the encoded modified data is computed. For example, the size of the encoded modified data may be computed based on a storage occupied in the database (210). The encoded modified data may be encrypted form of employee ID and phone number. The size of the encoded modified data may be 1 Kilobyte (KB).
[0113] In an aspect, the replication process involves the replication of set of modified data from a modified field stored in the database (210). For example, the set of modified data may be stored in a table form. The table form comprises one or more fields. The modified field may be a field in which the user has updated the data. The modified fields are stored in the database (210). For example, whenever a field is modified in the set of data structures, a flag is set as modified for each of the modifications made in the set of data structures. For example, the flag may be set as “TRUE” if the field is modified. The replication process involves one or more conditions to determine the manner of replication (type of replication). The conditions comprise a first condition and a second condition. If both the conditions are satisfied, a partial data replication mechanism may be performed. Otherwise, a complete data replication mechanism may be performed.
[0114] At step (408), in case the number of modified fields is less than or equal to the first threshold value and the size after partial encoding of the modified fields is less than or equal to a second threshold value, then a partial data replication mechanism is performed. In an aspect, the first threshold value and the second threshold value maybe predefined in a replication process. In an aspect, the first threshold may be a numeric value. The first threshold may represent the limit for the number of modified fields. The second threshold may be a measurement for digital data storage such as Kilobytes (KB), Megabytes (MB), Gigabytes (GB), etc. The second threshold may signify the scale for the size of encoded modified data. In an aspect, the replication process comprises two conditions. The first condition may be that the number of modified fields is less than or equal to the first threshold value. The second condition may be the size after partial encoding of the modified fields is less than or equal to a second threshold. Both conditions are to be satisfied to perform a partial data replication mechanism. For example, if any one condition is satisfied, the one or more processor(s) may perform a complete data replication mechanism.
[0115] In an exemplary aspect, the set of data structures comprise one or more parameters such as employee ID, employee name, employee address, phone number, and employee salary. The user (employee), via the user equipment, updates the employee ID and phone number. Here, the modified fields in the set of data structures are 2. The encryption is performed on the modified fields and stores the encoded modified fields in the first database (210A). The size of the encoded modified field is captured from the first database (210A). For example, the size of the encoded modified field may be 2 Kilobytes (KB). The first threshold value may be set as 5 and the second threshold value may be set as 500 Megabytes (MB). The number of modified fields is evaluated with the first threshold value. For example, the number of modified fields is 2, and the first threshold value is 5, satisfies the first condition of the replication process. Further, the size of the encoded modified field is 200 KB, and the second threshold value is 500 MB, the second condition of the replication process is fulfilled. Therefore, satisfying both the conditions of the replication process, the partial data replication mechanism is initiated from the active network function (110A) to the at least one secondary node (i.e., standby network function (HOB) or spare network function (HOC)).
[0116] At step (410), in case the number of modified fields is greater than the first threshold value and the size after partial encoding of the modified fields is greater than the second threshold value, then a complete data replication mechanism is performed from the active network function (110A) to the at least one secondary node (i.e., standby network function (HOB) or spare network function (HOC)).
[0117] In another exemplary aspect, the size of the encoded modified field may be 5 Kilobytes (KB). The first threshold may be set as 2, and the second one may be 500 Megabytes (MB). The number of modified fields is evaluated with the first threshold value. For example, if the number of modified fields is 5 and the first threshold value is 2, the first condition of the replication process is not satisfied. Further, the size of the encoded modified field is 600 MB, and the second threshold value is set as 500 MB, the second condition of the replication process is unsatisfied. Hence, the complete data replication mechanism is performed. In an aspect, the complete data replication mechanism involves the process of replicating the entire set of data structures instead of replicating only the modified fields.
[0118] In an aspect, upon receiving data through the partial data replication or the complete data replication, the at least one secondary node (i.e., standby network function (110B) or spare network function (110C)) performs a decoding of the encoded modified fields, and stores the decoded data in the database (210). The modified fields in the transmitted data are identified, and the decoding is performed on the modified fields. For example, the decoding may be the process of converting the encoded modified fields into the original form to enable readability. The process of decoding the modified fields facilitates an efficient decoding process. The decoded data may be stored in the database (210).
[0119] At step (412), the data replication between the network functions (110A, 110B, 110C) is terminated.
[0120] FIG. 5 illustrates another exemplary flow diagram of a method (500) for performing data replication between the primary node (110A) and the secondary node (HOB, 110C), in accordance with an embodiment of the present disclosure.
[0121] At step (502), the method (500) includes monitoring, by the primary node (110A), at least one modification in data and storing the modified data in the first database (210A). The primary node (110A) is an active node / active network function. The one or more secondary nodes (HOB, HOC) comprise at least one of a standby node / standby network function (HOB) and a spare node / spare network function (HOC). In an aspect, the primary node (110A) handles the live network (e.g., network (106)) and performs the functions corresponding to one or more sessions (e.g., processing requests, executing tasks, and delivering services to clients or end-users). The primary node (110A) further stores data corresponding to the one or more sessions. The primary node (110A) monitors any modification to the data during the one or more sessions. Upon detecting modifications in the data, the primary node (110A) stores only modified data in the first database.
[0122] For example, during a user registration session, data corresponding to the user registration session comprises, but is not limited to, session identifier = abcl23xyz, timestamp = 11thMay at 14.35 pm, user identifier = user789, username = Alice Johnson, user account email = alice.johnson@example.com, user address = 123 Main St, Springfield, profile picture, security question = What is your pet’s name?, etc. After the registration session, the user performs some updates on the user account. The updates comprise the user address = “456 Oak Ave, Springfield”, and the security question = “What is your mother’s maiden name?”.
[0123] At step (504), the method (500) includes updating, by the primary node (110A), at least one field in a data structure corresponding to the at least one modification. In an aspect, upon detecting the modification in the data, the primary node (110A) updates one or more fields in the data structure. The data structurecomprises 8 fields such as, but is not limited to, session identifier, timestamp, user identifier, username, user account email, user address, profile picture, and security question. The primary node (110A) updates fields in the data structure, such as the user address = “456 Oak Ave, Springfield”, and the security question = “What is your mother’s maiden name?”. The number of fields updated in the data structure is 2 fields.
[0124] At step (506), the method (500) includes encoding, by the primary node (110A), the stored modified data to generate an encoded data. In an aspect, the primary node (110A) performs the encoding of the stored modified data and generates the encoded data. For example, the primary node (110A) performs the encoding of updated fields of the data structure i.e., the user address and the security question. After performing the encoding, the primary node (110A) determines the size of the encoded data. The size of the encoded data (i.e., the user address and the security question) = 10KB.
[0125] At step (508), the method (500) includes determining, by the primary node (110A), a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure. The type of data replication comprises a partial data replication and a complete data replication. The set of parameter values comprises the first parameter value and the second parameter value. The first parameter value represents a size of the encoded data, and the second parameter value represents a number of fields updated in the data structure.
[0126] To analyze the set of parameter values, the primary node (110A) compares the first parameter value with a first threshold value and the second parameter value with a second threshold value. In an example, the first threshold value (i.e., threshold for size of encoded data) is 15KB, the second threshold value (i.e., threshold for number of fields updated in the data structure) is 10 fields. The first parameter value (i.e., size of the encoded data) = 10KB. The second parameter value (i.e., number of fields updated in the data structure) = 2 fields.
[0127] At step (510), the method (500) includes performing, by the primary node (110A), the data replication to at least one secondary node from the one or more secondary nodes (HOB, HOC) according to the determined type of data replication. The primary node (110A) performs the partial data or the complete data replication to the at least one secondary node from the one or more secondary nodes (HOB, 110C). In an aspect, the standby node (HOB) has priority over the spare node (HOC). The spare node (HOC) is used if the standby node (HOB) fails or in case of specific requirements. So, the primary node (110A) primarily performs the data replication (i.e., partial or complete data replication) to the standby node (HOB). In the event of the standby node (HOB) failure, the primary node (110A) performs the data replication to the spare node (1 IOC).
[0128] Furthermore, the method (500) comprises if the first parameter value and the second parameter value are less than the first threshold value and the second threshold value, respectively, the primary node (110A) initiates the partial data replication to the at least one secondary node from the one or more secondary nodes (HOB, 110C). For example, the first parameter value (i.e., size of the encoded data) = 10KB < the first threshold value (i.e., 15KB) and the second parameter value (i.e., number of fields updated in the data structure) = 2 fields < the second threshold value (i.e., 10 fields). Upon detecting the first and second parameter values are less than the first and the second threshold values, the primary node (110A) initiates the partial data (e.g., encoded data) replication to the at least one secondary node from the one or more secondary nodes (HOB, HOC).
[0129] The method (500) includes initiating, by the primary node (110A), the complete data replication to the at least one secondary node from the one or more secondary nodes (HOB, 110C), if at least one of the first parameter value exceeds the first threshold value and the second parameter value exceeds the second threshold value. For example, the first parameter value (i.e., size of the encoded data) = 18KBand the second parameter value = 12 fields. So, the first parameter value (i.e., 18KB)> the first threshold value (i.e., 15KB) and the second parameter value (i.e., 12 fields> the second threshold value (i.e., 10 fields). Upon detecting the first and second parameter values exceed the first and the second threshold values, the primary node initiates the complete data replication (e.g., complete data structure) to the at least one secondary node from the one or more secondary nodes (HOB, 110C).
[0130] The method (500) includes the at least one secondary node from the one or more secondary nodes (HOB, 110C) is configured to perform one or more steps. The one or more steps comprise receiving the encoded data from the primary node (110A) during the data replication. The at least one secondary node from the one or more secondary nodes (HOB, HOC) receives the data (i.e., partial or complete data) based on data replication type.
[0131] Upon receiving the encoded data in the partial data replication, the at least one secondary node from the one or more secondary nodes (HOB, 110C) decodes the encoded data to generate a decoded data. In an example, the encoded data (i.e., the user address and the security question) is decoded.
[0132] The at least one secondary node from the one or more secondary nodes (HOB, 110C) stores the decoded data in a second database (210B) associated with the at least one secondary node from the one or more secondary nodes (HOB, HOC). In an example, the decoded data (i.e., the user address and the security question) stores in the corresponding field of the data structure in the second database (210B).
[0133] In an embodiment, a method for employing a data replication mechanism to prevent overload on a cluster of active, standby and spare network functions (e.g., PCF). The active network function (110A) decides the data replication mechanism (e.g., partial data replication or complete data replication) on the standby and spare network functions (HOB, 110C) by maintaining a set of data structures to store fieldsthat have been modified. When a field is modified, the modified field is added to the set of data structures to mark as modified. A replication type (partial or complete) is determined as partial when a number of modified fields is less than or equal to a first threshold and a size after partial encoding of the modified fields is less than or equal to a second threshold; otherwise, complete data replication is determined. The active network function (110A) encodes only the modified data and transmits the encoded data to the standby or spare network functions, where, during decoding, the standby network function (HOB) or the spare network function (HOC) decodes the set of modified fields to identify the modified fields.
[0134] FIG. 6 illustrates an exemplary computer system (600) in which or with which embodiments of the present disclosure may be implemented.
[0135] 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.
[0136] 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.
[0137] 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, aProgrammable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor (670).
[0138] 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).
[0139] 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).
[0140] 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.
[0141] The exemplary computer system (600) is configured to execute a computer program product comprising a non-transitory computer-readable medium comprisinginstructions that, when executed by one or more processors, cause the one or more processors to perform a method for performing data replication between a primary node and one or more secondary nodes is described. The method comprises monitoring, by the primary node, at least one modification in data and storing the modified data in a first database and updating, by the primary node, at least one field in a data structure corresponding to the at least one modification. The method further comprises encoding, by the primary node, the stored modified data to generate an encoded data, determining, by the primary node, a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure. The type of data replication comprises a partial data replication and a complete data replication. The method further comprises performing, by the primary node, the data replication to at least one secondary node of the one or more secondary nodes according to the determined type of data replication.
[0142] The present disclosure provides technical advancements related to data replication. The advancement addresses the limitations of existing solutions by reducing network traffic by transmitting only the modified data over the network. This minimizes network congestion and enables faster data transfer when the network bandwidth is limited or expensive. Transmitting less data over the network speeds up the replication process and reduces the overhead associated with data synchronization, especially in cases of frequent data updates. Only modified data is replicated, reducing the computational resources required for data transmission and processing. This leads to lower CPU and memory usage on both sender and receiver nodes, allowing for more efficient resource utilization. Data replication is optimized to accommodate increasing data volumes and user loads.
[0143] 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.ADVANTAGES OF THE PRESENT DISCLOSURE
[0144] The present disclosure described herein above has several technical advantages including, but not limited to, the realization of the system and the method that:• Determines the manner of data replication between the network functions in a network.• Prevents overload at an active network function using a partial replication mechanism.• Replicates only the modified data reduces resource consumption.• Optimizes data replication by focusing on specific changes in a data structure.• Reduces overhead associated with data synchronization among the network function.• Reduces network traffic by transmitting only the modified data. This reduces the amount of data sent over the network, minimizing network congestion and can lead to faster data transfer times in situations where network bandwidth is limited or expensive.• Improves performance by transmitting less data over the network, which leads to faster replication times and enhanced system responsiveness. The overhead associated with data synchronization is reduced in environments with frequent data updates.• Lowers resource consumption by replicating only modified data, which reduces the computational resources required for data transmission and processing.CPU and memory usage are minimized on both the sender and receiver nodes, allowing for more efficient resource utilization.• Optimizes data replication to scale more effectively and accommodate increasing data volumes and user loads. This scalability is essential for handling growing data and user demands while maintaining performance and responsiveness
Claims
CLAIMS1. A method (500) for performing data replication between a primary node (110A) and one or more secondary nodes (HOB, HOC), the method (500) comprising: monitoring (502), by the primary node (110A), at least one modification in data and storing the modified data in a first database (210A); updating (504), by the primary node (110A), at least one field in a data structure corresponding to the at least one modification; encoding (506), by the primary node (110A), the stored modified data to generate an encoded data; determining (508), by the primary node (110A), a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure, wherein the type of data replication comprises a partial data replication and a complete data replication; and performing (510), by the primary node (110A), the data replication to at least one secondary node from the one or more secondary nodes (HOB, 110C) according to the determined type of data replication.
2. The method (500) as claimed in claim 1, wherein the primary node (110A) is an active node, and wherein the one or more secondary nodes (HOB, 110C) comprise at least one of a standby node (HOB) or a spare node (HOC).
3. The method (500) as claimed in claim 1, wherein the analyzing the set of parameter values comprises: comparing, by the primary node (110A), a first parameter value with a first threshold value and a second parameter value with a second threshold value; andif the first parameter value and the second parameter value are less than the first threshold value and the second threshold value, respectively, initiating, by the primary node (110A), the partial data replication to the at least one secondary node from the one or more secondary nodes (HOB, HOC).
4. The method (500) as claimed in claim 3, comprising: initiating, by the primary node (110A), the complete data replication to the at least one secondary node from the one or more secondary nodes (HOB, 110C), if at least one of the first parameter value exceeds the first threshold value and the second parameter value exceeds the second threshold value.
5. The method (500) as claimed in claim 3, wherein the set of parameter values comprises the first parameter value representing a size of the encoded data and the second parameter value representing a number of fields updated in the data structure.
6. The method (500) as claimed in claim 1, wherein the at least one secondary node from the one or more secondary nodes (HOB, HOC) is configured to perform one or more steps: receiving the encoded data from the primary node (110A) during the data replication; decoding the encoded data to generate a decoded data; and storing the decoded data in a second database (210B) associated with the at least one secondary node from the one or more secondary nodes (HOB, HOC).
7. A system (108) for performing data replication, the system (108) comprising a primary node (110A) and one or more secondary nodes (HOB, 110C), the primary node (110A) comprising: a monitoring unit (212) configured to monitor at least one modification in data and store the modified data in a first database (210A); an updation unit (214) configured to update at least one field in a data structure corresponding to the at least one modification; an encoding unit (216) configured to encode the stored modified data to generate an encoded data; a determining unit (218) configured to determine a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure, wherein the type of data replication comprises a partial data replication and a complete data replication; and an execution unit (220) configured to perform the data replication to at least one secondary node from the one or more secondary nodes (11 OB, 110C) according to the determined type of data replication.
8. The system (108) as claimed in claim 7, wherein the primary node (110A) is an active node, and wherein the one or more secondary nodes (HOB, 110C) comprises at least one of a standby node (HOB) and a spare node (HOC).
9. The system (108) as claimed in claim 7, wherein the determining unit (218) configured to compare a first parameter value with a first threshold value and a second parameter value with a second threshold value; andif the first parameter value and the second parameter value are less than the first threshold value and the second threshold value, respectively, the execution unit (220) is configured to initiate the partial data replication to the at least one secondary node from the one or more secondary nodes (HOB, HOC).
10. The system (108) as claimed in claim 9, wherein the execution unit (220) is further configured to initiate the complete data replication to the at least one secondary node from the one or more secondary nodes (HOB, HOC), if at least one of the first parameter value exceeds the first threshold value and the second parameter value exceeds the second threshold value.
11. The system (108) as claimed in claim 9, wherein the set of parameter values comprises the first parameter value representing a size of the encoded data and the second parameter value representing a number of fields updated in the data structure.
12. The system (108) as claimed in claim 7, wherein the at least one secondary node from the one or more secondary nodes (HOB, 110C) is configured to: receive the encoded data from the primary node (110A) during the data replication; decode the encoded data to generate a decoded data; and store the decoded set of data in a second database (210B) associated with the at least one secondary node from the one or more secondary nodes (HOB, HOC).
13. A computer program product comprising a non-transitory computer- readable medium comprising instructions that, when executed by one or moreprocessors, cause the one or more processors to execute method (500) for performing data replication between a primary node (110A) and one or more secondary nodes (HOB, 110C), the method (500) comprising: monitoring (502), by the primary node (110A), at least one modification in data and storing the modified data in a first database (210A); updating (504), by the primary node (110A), at least one field in a data structure corresponding to the at least one modification; encoding (506), by the primary node (110A), the stored modified data to generate an encoded data; determining (508), by the primary node (110A), a type of data replication by analyzing a set of parameter values associated with the encoded data and the data structure, wherein the type of data replication comprises a partial data replication and a complete data replication; and performing (510), by the primary node (110A), the data replication to at least one secondary node from the one or more secondary nodes (HOB,110C) according to the determined type of data replication.
Citation Information
Patent Citations
Maintaining consistency of data between computing nodes of a distributed computer architecture
US20210042292A1