System and method for replicating session data cache

EP4747723A4Pending Publication Date: 2026-06-03JIO PLATFORMS LTD

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
JIO PLATFORMS LTD
Filing Date
2024-07-11
Publication Date
2026-06-03

AI Technical Summary

Technical Problem

Existing systems struggle to synchronize session data cache across network entities in clusters, especially in scenarios where real-time replication is not possible due to network malfunctions, such as issues with TCP communication.

Method used

A method and system for replicating session data cache involves a source network function (NF) node creating a session dump folder for each map of session data cache, encoding entries into bytes, dumping them into files, transferring these files to a target NF node, and decoding them for repopulation into the target session dump directory.

Benefits of technology

This approach allows for efficient replication of session data cache without requiring direct connectivity between network entities, enabling reliable backup and minimal processing overhead, thus ensuring availability and reliability of session data cache.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2024051157_23012025_PF_FP_ABST
    Figure IN2024051157_23012025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a system and a method for replicating session data cache. The system generates a mapping of one or more session data caches of a plurality of sessions between one or more network entities of a network and a user equipment (UE) requesting for service with a corresponding type of object (e.g., attribute). The session data cache may be stored in an object-oriented data structure and may be stored in a separate file corresponding to each type of object (e.g., attribute). Each file may store a predetermined number of session data cache therein. The system encodes the one or more session data cache of mapped to each type of object in byte form. The system transmits the encoded mapping of the session data cache to a target network entity in the network such that the session data is decoded and processed by the target network entity.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR REPLICATING SESSION DATA CACHERESERVATION 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.FIELD OF DISCLOSURE

[0002] The embodiments of the present disclosure generally relate to communication networks. In particular, the present disclosure relates to a system and a method for replicating session data cache.BACKGROUND OF DISCLOSURE

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

[0004] Recent generations of cellular networks have a plurality of network entities that operate in clusters. The network entities often function in clusters for high availability and to prevent a single point of failure. The network entities are also stateful, and a part of the state is maintained in a session data cache. Session data cache should be synchronized among all the network entities in the cluster in order to facilitate accurate processing of requests in network entities other than the main or primary network entity.

[0005] Sometimes mismatch between two network entities in a cluster may occur, leading to a need for an on-demand or manual replication of session cache data. There are situations where replicating the session cache in real-time is not possible through an interface, such as with a netty channel (i.e., a channel that provides users ways to process input / output (I / O) operations, such as read and write). This can happen due to a malfunction in the network, due to which the servers hosting the network entities are unable to contact with each other through the network. For example, there may be an issue with the transmission control protocol (TCP), due to which communication between the nodes is not possible. In such situations, it may also be difficult to perform bulk replication through the interface.

[0006] There is, therefore, a need in the art to provide a method and a system that can overcome the shortcomings of the existing prior arts.SUMMARY

[0007] In an exemplary embodiment, a method for replicating session data cache is described. The method comprises receiving, by a source network function (NF) node, a first command to initiate dump of the session data cache from a user. The session data cache is present in form of plurality of maps of a plurality types of objects. The method comprises creating, by the source NF node, a session dump folder for each map of the plurality of maps inside a session dump directory of the source NF node and encoding, by the source NF node, each of a plurality of entries of each map of the plurality of maps into bytes. The method further comprises dumping, by the source NF node, the encoded bytes of plurality of entries of each map into a plurality of files of the session dump folder for each map of the session dump directory of the source NF node, wherein each file contains a specified number of entries. The method comprises transferring, by the source NF node, the session dump folder to a target NF node and copying, by the target NF node, the plurality of files of the session dump folder into a target session dump directory at the target NF node. The method comprises issuing, by the target NF node, a second command to read the plurality of files of the session dump folder at the target NFnode and reading, by the target NF node, each of the plurality of entries from the plurality of files of the session dump folder. The method comprises decoding, by the target NF node, plurality of objects from the plurality of entries and repopulating, by the target NF node, the plurality of decoded objects into the target session dump directory at the target NF node.

[0008] In some embodiments, locations of the session dump directory of the source NF node and the target NF node are configured at the source NF node and the target NF node, respectively.

[0009] In some embodiments, the method comprises assigning an identifier for each map comprising similar session data cache objects. The identifier is used as an identity of a storage location into which session data dump files associated with the map are placed.

[0010] In some embodiments, for migrating a desired map, a directory of the desired map is copied to the target NF node.

[0011] In some embodiments, the decoding and repopulating of the objects is performed for a single type of data object or multiple types of objects.

[0012] In another exemplary embodiment, a system for replicating session data cache is described. The system comprises a source network function (NF) node and a target NF node. The source network function (NF) node comprises a receiving unit configured to receive a first command to initiate dump of the session data cache from a user. The session data cache is present in form of plurality of maps of a plurality types of objects. A creating unit is configured to create a session dump folder for each map of the plurality of maps inside a session dump directory of the source NF node. An encoding unit configured to encode each of a plurality of entries of each map of the plurality of maps into bytes. A dumping unit is configured to dump the encoded bytes of plurality of entries of each map into a plurality of files of the session dump folder for each map of the session dump directory of the source NF node. Each file contains a specified number of entries. A transferring unit is configured to transfer the session dump folder to the target NF node. The target NF node comprises a copying unit configured to copy the plurality of files of the session dump folder into a target session dump directory at the target NF node.An issuing unit is configured to issue a second command to read the plurality of files of the session dump folder at the target NF node. A reading unit is configured to read each of the plurality of entries from the plurality of files of the session dump folder. A decoding unit configured to decode the plurality of objects from the plurality of entries. A repopulating unit configured to repopulate the plurality of decoded objects into the target session dump directory at the target NF node.

[0013] In some embodiments, locations of the session dump directory of the source NF node and the target NF node are configured at the source NF node and the target NF node, respectively.

[0014] In some embodiments, the system is further configured to assign an identifier for each map comprising similar session data cache objects. The identifier is used as an identity of a storage location into which session data dump files associated with the map are placed.

[0015] In some embodiments, for migrating a desired map, a directory of the desired map is copied to the target NF node.

[0016] In some embodiments, the decoding and repopulating of the objects is performed for a single type of data object or multiple types of objects.

[0017] The foregoing general description of the illustrative embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure and are not restrictive.OBJECTS OF THE PRESENT DISCLOSURE

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

[0019] An object of the present disclosure is to provide a system and a method for replicating session data cache.

[0020] Another object of the present disclosure is to provide a system and a method that reduces the need for direct connectivity between network entities for replication of session data caches.

[0021] Another object of the present disclosure is to provide a system and a method that creates a dump of session data cache that can be shared with networkentities via a plurality of modes.

[0022] Another object of the present disclosure is to provide a system and a method that creates backups for the session data cache.

[0023] Another object of the present disclosure is to provide a system and a method that provides a lightweight format for storing and transporting dumps of session data caches with minimal processing.

[0024] Another object of the present disclosure is to provide a system and a method that allows dumping and transmission of a plurality of types of data objects.BRIEF DESCRIPTION OF DRAWINGS

[0025] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes the disclosure of electrical components, electronic components or circuitry commonly used to implement such components.

[0026] FIG. 1 illustrates an exemplary architecture (100) for replicating session data cache, in accordance with embodiments of the present disclosure.

[0027] FIG. 2A illustrates a block diagram (200A) of a proposed system (108), in accordance with embodiments of the present disclosure.

[0028] FIG. 2B illustrates a block diagram (200B) of a proposed system (108) comprising a source network function (NF) node and a target NF node, in accordance with embodiments of the present disclosure.

[0029] FIG. 3 illustrates a system architecture (300) for replicating session data cache, in accordance with embodiments of the present disclosure.

[0030] FIG. 4A illustrates a sequence diagram (400A) for replicating session data cache, in accordance with embodiments of the present disclosure.

[0031] FIG. 4B illustrates a flow diagram (400B) for replicating session data cache, in accordance with embodiments of the present disclosure.

[0032] FIG. 5 illustrates an exemplary computer system (500) in which or with which embodiments of the present disclosure may be implemented.

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

[0034] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address all 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.

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

[0036] 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-knowncircuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

[0037] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.

[0038] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.

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

[0040] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly 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 and all combinations of one or more of the associated listed items.

[0041] The present disclosure relates to a system and a method for replicating session data cache. The system generates a mapping of one or more session data caches of a plurality of sessions between one or more network entities of a network and a user equipment (UE) requesting for service with a corresponding type of object (e.g., attribute). The session data cache may be stored in an object- oriented data structure and may be stored in a separate file corresponding to each type of object (e.g., attribute). Each file may store a predetermined number of session data cache therein. The system encodes the one or more session data cache of mapped to each type of object (e.g., attribute) in byte form. The system transmits the encoded mapping of the session data cache to a target network entity in the network such that the session data is decoded and processed by the target network entity. The target network entity may resume provision of service using the session data cache.

[0042] The various embodiments throughout the disclosure will be explained in more detail with reference to FIGs. 1-5.

[0043] Referring to FIG. 1, the network architecture (100) may include one or more computing devices or user equipments (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 be individually referred to as the user (102) and collectively referred to as the users (102). Similarly, a person of ordinary skill in the art will understand thatone or more user equipments (104-1, 104-2. . . 104-N) may be individually referred to as the user equipment (104) and collectively referred to as the user equipment (104). A person of ordinary skill in the art will appreciate that the terms “computing device(s)” and “user equipment” may be used interchangeably throughout the disclosure. Although two user equipments (104) are depicted in FIG. 1, however any number of the user equipments (104) may be included without departing from the scope of the ongoing description. In an embodiment, each of the user equipment (104) may have a unique identifier attribute associated therewith. In an embodiment, the unique identifier attribute may be indicative of the Mobile Station International Subscriber Directory Number (MSISDN), International Mobile Equipment Identity (IMEI) number, International Mobile Subscriber Identity (IMSI), Subscriber Permanent Identifier (SUPI), and the like.

[0044] In an embodiment, the user equipment (104) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the user equipment (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 user equipment (104) may include, but is not limited to, intelligent, multi-sensing, network-connected devices, that can integrate seamlessly with each other and / or with a central server or a cloud-computing system or any other device that is network-connected.

[0045] In an embodiment, the user equipment (104) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smart phone, a phablet device, and so on), a wearable computer device(e.g., a headmounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playingdevice, a portable gaming system, and / or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the user equipment (104) may include, but is not limited to, any electrical, electronic, electro-mechanical, or an 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 user equipment (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 user equipment (104) may not be restricted to the mentioned devices and various other devices may be used.

[0046] Referring to FIG. 1, the user equipment (104) may communicate with a system (108) via a network (106). In an embodiment, the network (106) may include at least one of a Fifth Generation (4G) network, 6G network, or the like. The network (106) may enable the user equipment (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. In an embodiment, the network (106) may include one or more base stations (112) for facilitating communication between the one or more UEs (104). The network (106) may be formed by a set of base stations (112) communicatively coupled to enable telecommunication exchanges between one or more UEs (104).

[0047] The base station (112) may be a network infrastructure that provides wireless access to one or more terminals associated therewith. The base station (112) may have coverage defined to be a predetermined geographic area based onthe distance over which a signal may be transmitted. The base station (112) may include, but not be limited to, wireless access point, evolved NodeB (eNodeB), 5G node or next generation NodeB (gNB), wireless point, transmission / reception point (TRP), and the like. In an embodiment, the base station (112) may include one or more operational units that enable telecommunication between two or more UEs (104). In an embodiment, the one or more operational units may include, but not be limited to, transceivers, baseband unit (BBU), remote radio unit (RRU), antennae, mobile switching centres, radio network control units, one or more processors associated thereto.

[0048] In an embodiment, the network (106) may include one or more network entities (110) depicted by network entity 1 (110-1) and network entity 2 (110-2) in FIG. 1. In an embodiment, the network entities (110) may include, but not limited to, a serving gateway (SGW), a packet data network (PDN) Gateway (PGW), a mobility management entity (MME), and the like. In embodiments where the network (106) is a 5G network, the network (106) may further include a user plane, and a control plane having network entities (110) such as an access and mobility management function (AMF) unit, a session management function (SMF) unit, and a network exposure function (NEF) unit, but not limited thereto. In an embodiment, the network entities (110) forming the network (106) may be implemented as a hardware component, software component, or any combination thereof.

[0049] In an aspect, the serving gateway (SGW) node is responsible for routing user data packets and handling other user requests.

[0050] In an aspect, the packet data network gateway (PGW) is a network function for the 4G mobile core network (e.g., the evolved packet core (EPC)). The PGW acts as the interface between a long evolution network (LTE) network and other packet data networks, such as the internet or session initiation protocol (SIP)- based IMS networks.

[0051] In an aspect, the mobility management entity (MME) is a key component of the standards-defined evolved packet core (EPC) for LTE. The MME provides mobility session management for the LTE network and supportssubscriber authentication, roaming, and handovers to other networks.

[0052] In an aspect, the AMF is responsible for managing the access and mobility of devices within each network. The AMF performs registration management, connection management, reachability management, mobility management and various function relating to security and access management and authorization.

[0053] In an aspect, the session management function (SMF) is the control function that manages the user sessions including establishment, modification, and release of sessions.

[0054] In an aspect, the network exposure function (NEF) securely exposes the services and capabilities provided by 3 GPP network functions.

[0055] In accordance with embodiments of the present disclosure, the system (108) may be designed and configured for replicating session data cache. In an embodiment, the system (108) may allow for efficient migration of session data cache from a first network entity (e.g., a source NF node) (110-1) to a second network entity (e.g., a target NF node) (110-2).

[0056] In an embodiment, the user equipment (104) may communicatively couple with the network (106). The network (106) may receive a connection request. 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. The network comprises the system (108), the first network entity (e.g., source network function (NF) node) (110-1), and the second network entity (e.g., target NF node) (110-2) for replicating session data cache.

[0057] FIG. 2A illustrates a block diagram (200) of the proposed system (108), in accordance with embodiments of the present disclosure.

[0058] In an aspect, 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, edge or fog 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 andexecute 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.

[0059] Referring to FIG. 2A, the system (108) may include an interface(s) (206). The interface(s) (206) may include a variety of interfaces, for example, interfaces for data input and output devices, referred to as VO devices, storage devices, and the like. The interface(s) (206) may facilitate communication to / from 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, processing unit / engine(s) (208) and a database (210).

[0060] In an embodiment, the processing uniVengine(s) (208) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing unit(s) (208). In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing unit(s) (208) may be processorexecutable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing unit(s) (208) may include 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 unit(s) (208). In such examples, the system (108) may include 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 (108) and the processing resource. In other examples, theprocessing unit(s) (208) may be implemented by electronic circuitry.

[0061] In an embodiment, the database (210) may include 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 units (208). In an embodiment, the database (210) may be separate from the system (108). In an embodiment, the database (210) may be indicative of including, but not limited to, a relational database, a distributed database, a cloud-based database, or the like.

[0062] In an exemplary embodiment, the processing unit (208) may include one or more units selected from any of a mapping unit (212), an encoding unit (214), a transmitting unit (216), and other units (218) having functions that may include, but are not limited to, testing, storage, and peripheral functions, such as wireless communication unit for remote operation, audio unit for alerts and the like.

[0063] In an embodiment, the mapping unit (212) may map of one or more session data caches of a plurality of sessions between one or more network entities of the network (106) and the UE (104) requesting for service, with a corresponding type of object (e.g., attribute). The session data cache may be stored in an object- oriented data structure and may be stored in a separate file corresponding to each type of object (e.g., attribute). In an example, the session data cache may be stored in Plain Old Java Object (POJO) format. Each file may store a predetermined number of session data cache therein. The session data cache may include a set of attributes associated thereto, including, but not be limited to, start time of sessions, location of session, and the like.

[0064] In an embodiment, the encoding unit (214) may encode the one or more session data cache of mapped to each type of object (e.g., attribute) in byte form. In an example, the encoding unit (214) may encode the session data cache using an encoder. In an embodiment, the encoding of the one or more session data cache may be optimized for split-brain handling, session data reconciliation, bulk replication, and migration interfaces (for example, through a netty channel) in real time, and the like.

[0065] In an embodiment, the transmitting unit (216) may transmit the encoded mapping of the session data cache to a target network entity in the networksuch that the session data is decoded and processed by the target network entity. In an embodiment, the target network entity may belong to the one or more network entities (110). In an embodiment, the target network entity may correspond to a second base station (112-1) that is different from a first base station (112-1) that the system (108) is associated with. In an embodiment, the transmitting unit (216) may transmit the encoded session data cache to a data storage device including, but not limited to, flash drives, Compact Disks (CD), Solid State Drives (SSDs), and the like. The target network entity may resume the provision of service using the session data cache. In an embodiment, the processor may be triggered using a command line interface (CLI). In an embodiment, the session data cache may be processed when the session data cache is being decoded. In an embodiment, the processing of the session data cache may include updating a location attribute with the location of the target network entity, ranking sessions based on the start time attribute, and removing sessions that were terminated during migration, but not limited thereto.

[0066] FIG. 2B illustrates a block diagram (200B) comprising the source network function (NF) node (110-1) and the target NF node (110-2), in accordance with embodiments of the present disclosure.

[0067] The source network function (NF) node (110-1) comprises a receiving unit (222), a creating unit (224), an encoding unit (226), a dumping unit (228) and a transferring unit (230). The target NF node (110-2) comprises a copying unit (232), an issuing unit (234), a reading unit (236), a decoding unit (238) and a repopulating unit (240).

[0068] The receiving unit (222) is configured to receive a first command to initiate dump of the session data cache from a user (e.g., via a command line interface (CLI)) at the source NF node (110-1). The session data cache is present in the form of a plurality of maps of a plurality of types of objects.

[0069] The creating unit (224) is configured to create a session cache dump folder for each map of the plurality of maps inside a session dump directory of the source NF node (110-1).

[0070] The encoding unit (226) is configured to encode each of a pluralityof entries of each map of the plurality of maps into bytes.

[0071] The dumping unit (228) is configured to dump the encoded bytes of plurality of entries of each map into a plurality of files of the session dump folder for each map of the session dump directory of the source NF node (110-1). Each file of the plurality of files contains a specified number of entries.

[0072] The transferring unit (230) is configured to transfer the session dump folder to the target NF node (110-2).

[0073] The copying unit (232) of the target NF node (110-2) is configured to copy the plurality of files of the session dump folder into a session dump directory at the target NF node (110-2).

[0074] The issuing unit (234) is configured to issue a second command to read the plurality of files of the session dump folder at the target NF node (110-2).

[0075] The reading unit (236) is configured to read each of the plurality of entries from the plurality of files of the session dump folder.

[0076] The decoding unit (238) is configured to decode a plurality of objects from the plurality of entries.

[0077] The repopulating unit (240) is configured to repopulate the plurality of decoded objects into the session dump directory at the target NF node (110-2). Decoding and repopulating of the objects is performed for a single type of data object or multiple types of objects.

[0078] FIG. 3 illustrates a system architecture (300) for replicating session data cache, in accordance with embodiments of the present disclosure.

[0079] The system architecture includes a source network function (NF) node 1 (302), a session data cache in the source node 1 (304), a session data cache in a target node 2 (306), the target NF node 2 (308).

[0080] A user may enter a command “dump” into a command line interface (CEI) to initiate the dump of the session data cache. A location for storing the session dump is configured at the source NF node 1 (302). The session data cache is present in form of multiple maps of different types of objects (e.g., attribute). When the command “dump” is initiated, a folder is created for each map inside the session dump directory of the source NF node 1 (302). The entries of each map areencoded into bytes and dumped as files into that map’s folder. Each file contains a specified number of entries. For each map containing same kind of session data cache objects, an integer numbering is assigned. The integer numbering may be a name of the folder into which the session data dump files of that map will be placed.

[0081] Further, the session dump folder is migrated from the source NF node 1 (302) to the target NF node 2 (308). The location for reading the dump is the same as the dump directory configured in the target NF node 2 (308). When only a desired map is required, only that desired map’s directory is copied. The desired map may refer to a specific map for copying to the target NF node.

[0082] Further, after copying the session dump files into the target location, “read dump” command is issued into the CEI at the target NF node 2 (308). The entries from the files are read. The entries are decoded into plurality of objects. The plurality of objects is put into the session cache at the target NF node 2 (308). Decoding and repopulating of the objects are done for a single type of data object (e.g., single user equipment (UE)) or multiple kinds of objects (e.g., multiple user equipments (UEs)) at the same time. For example, decoding and repopulating of user equipments based on the user equipments attributes (e.g., MSISDN, IMEI, IMSI, SUPI, etc.). In this way, the session data is cached between the nodes. This does not require direct connectivity between the nodes at the time of replication, as the dumped data can be taken to the other node via any other route. The dumped data is also treated as a backup of session data cache.

[0083] FIG. 4A illustrates a sequence diagram (400A) for replicating session data cache, in accordance with embodiments of the present disclosure.

[0084] The method includes generating, by a processor such as the processor (202) of FIG. 2, a mapping of one or more session data caches of a plurality of sessions between one or more network entities of a network and a UE, such as the network entity (110), the network (106) and UE (104) of FIG. 1 respectively, requesting for service with a corresponding type of object (e.g., attribute). The session data cache may be stored in an object-oriented data structure and may be stored in a separate file corresponding to each type of attribute. Each file may store a predetermined number of session data cache therein. The methodincludes encoding, by the processor, the one or more session data cache of mapped to each type of object (e.g., attribute) in byte form. The method includes, transmitting, by the processor, the encoded mapping of the session data cache to a target network entity in the network such that the session data is decoded and processed by the target network entity. The target network entity may resume provision of service using the session data cache.

[0085] At step 402, the user may run a “dump” command at a source NF node.

[0086] At step 404, the source NF node may iterate all entries in a source session cache. The source NF node may dump all entries into files in byte format.

[0087] At step 406, the dumped files are transferred to a target NF node.

[0088] At step 408, the target NF node may run a “read dump” command.

[0089] At step 410, the target NF node may read the dumped files and decodes the files. The target NF node may repopulate the session data cache with new data after decoding.

[0090] FIG. 4B illustrates a flow diagram (400B) for replicating session data cache, in accordance with embodiments of the present disclosure.

[0091] At step 422, receiving, by a source network function (NF) node, a first command to initiate dump of the session data cache from a user. The session data cache is present in form of plurality of maps of a plurality types of objects.

[0092] At step 424, creating, by the source NF node, a session dump folder for each map of the plurality of maps inside a session dump directory of the source NF node. Locations of the session dump directories of the source and the target NF nodes are configured at the source and the target NF nodes, respectively.

[0093] At step 426, encoding, by the source NF node, each of a plurality of entries of each map of the plurality of maps into bytes.

[0094] At step 428, dumping, by the source NF node, the encoded bytes of plurality of entries of each map into a plurality of files of the session dump folder for each map of the session dump directory of the source NF node. Each file contains a specified number of entries. An identifier is assigned for each map comprising similar session data cache objects. The identifier is used as an identityof a storage location into which session data dump files associated with the map are placed.

[0095] At step 430, transferring, by the source NF node, the session dump folder to a target NF node.

[0096] At step 432, copying, by the target NF node the plurality of files of the session dump folder into a target session dump directory at the target NF node.

[0097] At step 434, issuing, by the target NF node, a second command to read the plurality of files of the session dump folder at the target NF node.

[0098] At step 436, reading, by the target NF node, each of the plurality of entries from the plurality of files of the session dump folder.

[0099] At step 438, decoding, by the target NF node, the plurality of objects from the plurality of entries.

[0100] At step 440, repopulating, by the target NF node, the plurality of decoded objects into the target session dump directory at the target NF node. Decoding and repopulating of the objects is performed for a single type of data object or multiple types of objects.

[0101] FIG. 5 illustrates an exemplary computer system (500) in which or with which embodiments of the present disclosure may be implemented. As shown in FIG. 4, the computer system (500) may include an external storage device (510), a bus (520), a main memory (530), a read only memory (540), a mass storage device (550), a communication port (560), and a processor (570). A person skilled in the art will appreciate that the computer system (500) may include more than one processor (570) and communication ports (560). Processor (570) may include various modules associated with embodiments of the present disclosure.

[0102] In an embodiment, the communication port (560) 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 fiber, a serial port, a parallel port, or other existing or future ports. The communication port (560) may be chosen depending on a network, such as a local area network (LAN), wide area network (WAN), or any network to which the computer system (500) connects.

[0103] In an embodiment, the memory (530) may be random accessmemory (RAM), or any other dynamic storage device commonly known in the art. Read-only memory (540) may be any static storage device(s) e.g., but not limited to, a programmable read only memory (PROM) chips for storing static information e.g., start-up or basic input / output system (BIOS) instructions for the processor (570).

[0104] In an embodiment, the mass storage (550) 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 (PAT A) 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).

[0105] In an embodiment, the bus (520) communicatively couples the processor(s) (570) with the other memory, storage and communication blocks. The bus (520) 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 (570) to the computer system (500).

[0106] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (520) to support direct operator interaction with the computer system (500). Other operator and administrative interfaces may be provided through network connections connected through the communication port (560). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (500) limit the scope of the present disclosure.

[0107] While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing fromthe principles of the disclosure. These and other changes in the preferred embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be implemented merely as illustrative of the disclosure and not as a limitation.

[0108] The present disclosure provides technical advancement related to replication session data cache. This advancement addresses the limitations of network where there is network malfunction leading to failure of ability to connect between the servers. The disclosure involves creating a dump of session data cache that can be shared with network entities via a plurality of modes. Further the disclosure describes creating backups for session data cache. This in turn increases reliability and ensures availability of session data cache.ADVANTAGES OF THE PRESENT DISCLOSURE

[0109] The present disclosure provides a system and a method for replicating session data cache.

[0110] The present disclosure provides a system and a method that reduces need for direct connectivity between network entities for replication of session data caches.

[0111] The present disclosure provides a system and a method that creates a dump of session data cache that can be shared with network entities via a plurality of modes.

[0112] The present disclosure provides a system and a method that creates backups for session data cache.

[0113] The present disclosure provides a system and a method that provides a lightweight format for storing and transporting dumps of session data caches with minimal processing.

[0114] The present disclosure provides a system and a method that allows dumping and transmission of a plurality of types of data objects.

Claims

CLAIMS1. A method for replicating session data cache, the method comprising: receiving, by a source network function (NF) node (110-1), a first command to initiate dump of the session data cache from a user, wherein the session data cache is present in form of plurality of maps of a plurality types of objects; creating, by the source NF node (110-1), a session dump folder for each map of the plurality of maps inside a session dump directory of the source NF node (110-1); encoding, by the source NF node (110-1), each of a plurality of entries of each map of the plurality of maps into bytes; dumping, by the source NF node (110-1), the encoded bytes of plurality of entries of each map into a plurality of files of the session dump folder for each map of the session dump directory of the source NF node (110-1), wherein each file of the plurality of files contains a number of entries; transferring, by the source NF node (110-1), the session dump folder to a target NF node (110-2); copying, by the target NF node (110-2), the plurality of files of the session dump folder into a target session dump directory at the target NF node (110-2); issuing, by the target NF node (110-2), a second command to read the plurality of files of the session dump folder at the target NF node (110- 2); reading, by the target NF node (110-2), each of the plurality of entries from the plurality of files of the session dump folder; decoding, by the target NF node (110-2), the plurality of objects from the plurality of entries; and repopulating, by the target NF node (110-2), the plurality of decoded objects into the target session dump directory at the target NF node (110-2).

2. The method as claimed in claim 1, wherein locations of the session dump directory of the source NF node (110-1) and the target session dump directory of the target NF node (110-2) are configured at the source NF node (110-1) and the target NF nodes (110-1), respectively.

3. The method as claimed in claim 1 further comprising assigning an identifier for each map comprising similar session data cache objects, wherein the identifier is used as an identity of a storage location into which session data dump files associated with the map are placed.

4. The method as claimed in claim 1, wherein for migrating a desired map, a directory of the desired map is copied to the target NF node (110-2).

5. The method as claimed as claim 1, wherein the decoding and repopulating of the objects is performed for a single type of data object or multiple types of objects.

6. A system for replicating session data cache, the system comprising a source network function (NF) node (110-1) and a target NF node (110-2), the source network function (NF) node (110-1) comprising: a receiving unit (222) configured to receive a first command to initiate dump of the session data cache from a user, wherein the session data cache is present in form of plurality of maps of a plurality types of objects; a creating unit (224) configured to create a session dump folder for each map of the plurality of maps inside a session dump directory of the source NF node (110-1); an encoding unit (226) configured to encode each of a plurality of entries of each map of the plurality of maps into bytes; a dumping unit (228) configured to dump the encoded bytes of plurality of entries of each map into a plurality of files of the session dump folder for each map of the session dump directory of the source NF node(110-1); a transferring unit (230) configured to transfer the session dump folder to the target NF node (110-2), wherein the target NF node (110-2) comprising: a copying unit (232) configured to copy the plurality of files of the session dump folder into a target session dump directory at the target NF node (110-2); an issuing unit (234) configured to issue a second command to read the plurality of files of the session dump folder at the target NF node (110-2); a reading unit (236) configured to read each of the plurality of entries from the plurality of files of the session dump folder; a decoding unit (238) configured to decode plurality of objects from the plurality of entries; and a repopulating unit (240) configured to repopulate the plurality of decoded objects into the target session dump directory at the target NF node (110-2).

7. The system as claimed in claim 6, wherein locations of the session dump directory of the source NF node (110-1) and the target NF node (110-2) are configured at the source NF node and the target NF node (110-2), respectively.

8. The system as claimed in claim 6 is further configured to assign an identifier for each map comprising similar session data cache objects, wherein the identifier is used as an identity of a storage location into which session data dump files associated with the map are placed.

9. The system as claimed in claim 6, wherein for migrating a desired map, a directory of the desired map is copied to the target NF node.

10. The system as claimed in claim 6, wherein the decoding and repopulating of the objects is performed for a single type of data object or multiple types of objects.

11. A user equipment (UE) (104) communicatively coupled with a network (106), the coupling comprises steps of: receiving, by the network (106), a connection request; sending an acknowledgment of the connection request to the UE (104); and transmitting a plurality of signals in response to the connection request, wherein the network comprising a system (108), a source network function (NF) node (110-1) and a target network function (110-2) for implementing a method for replicating session data cache as claimed in claim 1.

12. 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 perform a method for replicating session data cache, the method comprising: receiving, by a source network function (NF) node (110-1), a first command to initiate dump of the session data cache from a user, wherein the session data cache is present in form of plurality of maps of a plurality types of objects; creating, by the source NF node (110-1), a session dump folder for each map of the plurality of maps inside a session dump directory of the source NF node (110-1); encoding, by the source NF node (110-1), each of a plurality of entries of each map of the plurality of maps into bytes; dumping, by the source NF node (110-1), the encoded bytes of plurality of entries of each map into a plurality of files of the session dump folder for each map of the session dump directory of the source NF node(110-1), wherein each file of the plurality of files contains a number of entries; transferring, by the source NF node (110-1), the session dump folder to a target NF node (110-2); copying, by the target NF node (110-2), the plurality of files of the session dump folder into a target session dump directory at the target NF node (110-2); issuing, by the target NF node (110-2), a second command to read the plurality of files of the session dump folder at the target NF node (110- 2); reading, by the target NF node (110-2), each of the plurality of entries from the plurality of files of the session dump folder; decoding, by the target NF node (110-2), the plurality of objects from the plurality of entries; and repopulating, by the target NF node (110-2), the plurality of decoded objects into the target session dump directory at the target NF node (110-2).