Sign In to Follow Application
View All Documents & Correspondence

System And Method For Replicating Session Data Cache

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. FIG. 4A

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
17 July 2023
Publication Number
04/2025
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

JIO PLATFORMS LIMITED
Office-101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.

Inventors

1. BHATNAGAR, Aayush
Tower-7, 15B, Beverly Park, Sector-14 Koper Khairane, Navi Mumbai - 400701, Maharashtra, India.
2. SHETTY, Mukta
Flat No 302, Mukund Park, SheetalNagar, Mira Road (East), Thane - 401107, Maharashtra, India.
3. JHA, Alok B
B1-1701, G21 Avenue, Sector 83, Vatika INXT, Gurugram, Haryana - 122004, India
4. KUMAR, Sanjeev
House No.: 8, V.P.O - Kalawar, Tehsil Jagadhri, Distt. - Yamuna Nagar, Haryana - 133103, India.
5. CHOUDHARY, Bakul
Flat No 105, Pine Block, Anand Green Apartment, Prakash Nagar, Khagaul Road, Phulwari Sharif, Patna - 801505, Bihar, India.
6. NARAYAN, Gaurav
Kedar Kunj Colony, Behind Indra Palace, Hinoo, Ranchi, Jharkhand - 834002, India.

Specification

FORM 2
THE PATENTS ACT, 1970 (39 of 1970) THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10; rule 13)
TITLE OF THE INVENTION
SYSTEM AND METHOD FOR REPLICATING SESSION DATA CACHE
APPLICANT
JIO PLATFORMS LIMITED
of Office-101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad -
380006, Gujarat, India; Nationality : India
The following specification particularly describes
the invention and the manner in which
it is to be performed

RESERVATION 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 NF

node 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 network

entities 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.
5 [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
10 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
15 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.
20 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.
25 [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
30 obscure the embodiments in unnecessary detail. In other instances, well-known
7

circuits, 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
5 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
10 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,
15 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
20 “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
25 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.
30 Furthermore, the particular features, structures, or characteristics may be combined
in any suitable manner in one or more embodiments.
8

[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
5 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
10 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
15 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
20 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
25 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-
30 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 that
9

one 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
5 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
10 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 (IoT)
15 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),
20 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
25 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 head-mounted display computer device, a head-mounted camera device, a wristwatch
30 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
10

device, 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
5 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
10 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
15 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
20 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,
25 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
30 wireless access to one or more terminals associated therewith. The base station
(112) may have coverage defined to be a predetermined geographic area based on
11

the 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
5 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.
10 [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
15 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
20 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
25 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
30 component of the standards-defined evolved packet core (EPC) for LTE. The MME
provides mobility session management for the LTE network and supports
12

subscriber 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
5 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.
10 [0054] In an aspect, the network exposure function (NEF) securely exposes
the services and capabilities provided by 3GPP 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
15 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
20 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
25 (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
30 devices that process data based on operational instructions. Among other
capabilities, the one or more processor(s) (202) may be configured to fetch and
13

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
5 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)
10 (206). The interface(s) (206) may include a variety of interfaces, for example,
interfaces for data input and output devices, referred to as I/O 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
15 components include, but are not limited to, processing unit/engine(s) (208) and a
database (210).
[0060] In an embodiment, the processing unit/engine(s) (208) may be
implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the
20 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 processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing unit(s) (208) may include a processing
25 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
30 instructions, or the machine-readable storage medium may be separate but
accessible to the system (108) and the processing resource. In other examples, the
14

processing 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,
5 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),
10 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
15 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
20 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
25 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.
30 [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 network
15

such 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
5 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
10 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
15 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
20 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
25 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
30 source NF node (110-1).
[0070] The encoding unit (226) is configured to encode each of a plurality
16

of 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
5 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
10 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.
15 [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
20 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
25 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
(CLI) 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).
30 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 are
17

encoded 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.
5 [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.
10 [0082] Further, after copying the session dump files into the target location,
“read dump” command is issued into the CLI 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
15 (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
20 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
25 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
30 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 method
18

includes 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
5 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
10 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
15 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
20 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.
25 [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
30 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 identity
19

of 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.
5 [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
10 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.
[00100] 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.
15 Decoding and repopulating of the objects is performed for a single type of data
object or multiple types of objects.
[00101] 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),
20 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.
25 [00102] 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
30 (WAN), or any network to which the computer system (500) connects.
[00103] In an embodiment, the memory (530) may be random access
20

memory (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
5 (570).
[00104] 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 (PATA) or Serial Advanced
10 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).
[00105] In an embodiment, the bus (520) communicatively couples the
15 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
20 computer system (500).
[00106] 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
25 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.
[00107] While considerable emphasis has been placed herein on the preferred
30 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
21

the principles of the disclosure. These and other changes in the preferred
embodiments of the disclosure will be apparent to those skilled in the art from the
disclosure herein, whereby it is to be distinctly understood that the foregoing
descriptive matter is to be implemented merely as illustrative of the disclosure and
5 not as a limitation.
[00108] 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
10 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
15 [00109] The present disclosure provides a system and a method for
replicating session data cache.
[00110] The present disclosure provides a system and a method that reduces
need for direct connectivity between network entities for replication of session data
caches.
20 [00111] 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.
[00112] The present disclosure provides a system and a method that creates
backups for session data cache.
25 [00113] 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.
[00114] The present disclosure provides a system and a method that allows
dumping and transmission of a plurality of types of data objects. 30
22

WE CLAIM:
1. 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.

Documents

Application Documents

# Name Date
1 202321048169-STATEMENT OF UNDERTAKING (FORM 3) [17-07-2023(online)].pdf 2023-07-17
2 202321048169-PROVISIONAL SPECIFICATION [17-07-2023(online)].pdf 2023-07-17
3 202321048169-FORM 1 [17-07-2023(online)].pdf 2023-07-17
4 202321048169-DRAWINGS [17-07-2023(online)].pdf 2023-07-17
5 202321048169-DECLARATION OF INVENTORSHIP (FORM 5) [17-07-2023(online)].pdf 2023-07-17
6 202321048169-FORM-26 [14-09-2023(online)].pdf 2023-09-14
7 202321048169-FORM-26 [16-10-2023(online)].pdf 2023-10-16
8 202321048169-FORM-26 [04-04-2024(online)].pdf 2024-04-04
9 202321048169-FORM 13 [04-04-2024(online)].pdf 2024-04-04
10 202321048169-AMENDED DOCUMENTS [04-04-2024(online)].pdf 2024-04-04
11 202321048169-Power of Attorney [04-06-2024(online)].pdf 2024-06-04
12 202321048169-Covering Letter [04-06-2024(online)].pdf 2024-06-04
13 202321048169-CORRESPONDANCE-WIPO CERTIFICATE-14-06-2024.pdf 2024-06-14
14 202321048169-RELEVANT DOCUMENTS [11-07-2024(online)].pdf 2024-07-11
15 202321048169-FORM-5 [11-07-2024(online)].pdf 2024-07-11
16 202321048169-FORM 13 [11-07-2024(online)].pdf 2024-07-11
17 202321048169-DRAWING [11-07-2024(online)].pdf 2024-07-11
18 202321048169-CORRESPONDENCE-OTHERS [11-07-2024(online)].pdf 2024-07-11
19 202321048169-COMPLETE SPECIFICATION [11-07-2024(online)].pdf 2024-07-11
20 202321048169-AMENDED DOCUMENTS [11-07-2024(online)].pdf 2024-07-11
21 Abstract-1.jpg 2024-08-14
22 202321048169-ORIGINAL UR 6(1A) FORM 26-190924.pdf 2024-09-23
23 202321048169-FORM 18 [30-09-2024(online)].pdf 2024-09-30
24 202321048169-FORM 3 [04-11-2024(online)].pdf 2024-11-04