Abstract: The present disclosure provides a system (108) and a method (500) for establishing a sequential initialization of one or more interfaces within a network function (NF). The system (108) includes a processing engine (208) configured to receive, a configuration defining an initialization sequence for the one or more interfaces, determine based on the received configuration, an order for initializing at least one interface, wherein at least one dependent interface is prioritized over at least one interdependent interface during the initialization, determine a status of the initialization of the at least one dependent interface and upon determining a failure in the initialization of the at least one dependent interface, re-establish a connection to initialize the at least one dependent interface at a predetermined time interval and up to a predefined count. FIGURE 4
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 INCORPORATING SEQUENTIAL ORDER FOR INTERFACE
INITIALIZATION
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 INVENTION
[0002] The present disclosure generally relates to systems and methods for
interface management in a wireless telecommunications network. More particularly, the present disclosure relates to a system and a method for establishing a sequential initialization of one or more interfaces within a network function (NF).
DEFINITIONS
[0003] As used in the present disclosure, the following terms are generally
intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.
[0004] The expression ‘Policy Control Function (PCF)’ used hereinafter in
the specification refers to a network function (NF) that governs the policies related to network resource usage and Quality of Service (QoS) in telecommunications networks. It analyzes traffic, enforces access restrictions, and controls service delivery based on network policies and user subscriptions.
[0005] The expression ‘Policy and Charging Rules Function (PCRF)’ used
hereinafter in the specification refers to the NF responsible for the dynamic control of service quality and charging rules in a telecommunications network. It performs
policy enforcement and applies charging rules for network services used by mobile devices.
[0006] The expression ‘configuration’ used hereinafter in the specification
likely defines the order in which interfaces need to be initialized (e.g., diameter first, then hypertext transfer protocol 2 (HTTP2)).
[0007] The expression ‘interface’ used hereinafter in the specification refers
to software components that enable communication and data exchange with other network functions or external systems.
[0008] The expression ‘stack’ used hereinafter in the specification refers to
a set of protocol implementations and software modules that handle specific communication interfaces within the NF. Each stack manages a particular protocol's communication, including its initialization, maintenance, and operation. The stacks are configured to initialize in a specific sequence to ensure interdependencies are respected and to avoid failures that could lead to service disruptions. Each stack includes various attributes which are configured and managed by the processing engine to maintain system stability and efficiency.
[0009] The expression ‘interdependent interface’ used hereinafter in the
specification refers to an interface that relies on the successful initialization or operation of another related interface. It is interconnected so that its functionality or availability is influenced by the state or performance of the dependent interface.
[0010] The expression ‘dependent interface’ used hereinafter in the
specification refers to an interface that requires another interface or component to be successfully initialized or operational before it can function correctly. It relies on the proper functioning of the related interface to perform its tasks effectively within the network.
[0011] The expression ‘operative status’ used hereinafter in the
specification refers to the current state of functionality and readiness of a specific interface. It indicates whether the specific interface is initialized, active, and
capable of performing its designated tasks within the network. The operative status is checked to ensure that an independent interface is fully operational before initializing a dependent interface that relies on it.
[0012] These definitions are in addition to those expressed in the art.
BACKGROUND OF THE INVENTION
[0013] The following description of the 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 is used only to enhance the understanding of the reader with respect to the present disclosure, and not as an admission of the prior art.
[0014] The policy control function/policy and charging rules function
(PCF/PCRF) application has multiple interfaces that are interdependent on each other. If a common stack is used for all interfaces, then there are chances of any single point failure in a network/stack, which may result in a total failure of an application and cause a complete service failure. If any stack is dependent on another stack, then interdependency based on stack initialization may cause technical glitches. Further, some interfaces serve as an incoming request and an outgoing request stack. If the outgoing stack fails to initialize, then the incoming traffic may cause session congestion at the stack, further leading to memory overload, application hang state, and a decrease in throughput.
[0015] There is, therefore, a need in art to provide a system and a method
that can mitigate the problems associated with the prior arts.
OBJECTS OF THE INVENTION
[0016] It is an object of the present disclosure to provide a system and a
method where an NF (a policy control function (PCF and a policy and charging rules function (PCRF)) may continuously retry to establish connections for
diameter and HTTP2 interfaces if there is a failure in initializing of diameter/HTTP2 stacks.
[0017] It is an object of the present disclosure to provide a system and a
method where a sequence of stack initialization ensures that the dependent stack gets initialized before an interdependent stack.
[0018] It is an object of the present disclosure to provide a system and a
method where a sudden surge of traffic due to a failed interface is avoided.
[0019] It is an object of the present disclosure to provide a system and a
method where a proper order of interface initialization is ensured to minimize memory leakage problems and ensure that an application does not go into a hang state due to a stale session.
[0020] It is an object of the present disclosure to provide a system and a
method where the NF checks that a database (DB) is active and only then enables a diameter stack for processing data.
SUMMARY
[0021] The present disclosure discloses a method for a sequential
initialization of one or more interfaces within an NF. The method involves a processing engine for receiving a configuration that specifies the sequence for initializing interfaces. Based on this configuration, the method determines the order in which interfaces should be initialized, prioritizing dependent interfaces over interdependent ones. Subsequently, the method checks the initialization status of the dependent interfaces. If initialization fails for any dependent interface, the method initiates a process to re-establish connection attempts at specified intervals and for a defined number of retries.
[0022] In an embodiment, the one or more interfaces include the at least one
dependent and the at least one independent interface.
[0023] In an embodiment, wherein if the interface is the dependent
interface, the method further comprises searching the interdependent interface associated with the dependent interface and verifying an operative status of the interdependent interface.
[0024] In an embodiment, an error response is received by the processing
engine indicating the failure during the initialization of the dependent interface or during establishing a connection.
[0025] In an embodiment, the operative status of the interdependent
interface is verified based on the error response during establishing the connection.
[0026] In an embodiment, an NF is configured to establish a connection
with at least one interface after the predetermined time interval and for the predefined count if the dependent interface is not initialized.
[0027] In an embodiment, the present invention further comprises
establishing a connection with a database for storing a plurality of user session details including a plurality of user requests, a plurality of responses corresponding to the plurality of user requests, user session data, and historical user session data.
[0028] The present disclosure discloses a system that sequentially initializes
one or more interfaces within an NF. The system comprises a processing engine configured to receive, a configuration defining an initialization sequence for the one or more interfaces, determine based on the received configuration, an order for initializing at least one interface, wherein at least one dependent interface is prioritized over at least one interdependent interface during the initialization, determine a status of the initialization of the at least one dependent interface and upon determining a failure in the initialization of the at least one dependent interface, re-establish a connection to initialize the at least one dependent interface at a predetermined time interval and up to a predefined count.
[0029] Another embodiment of the present subject matter relates to a user
equipment configured to retrieve data from a cluster of distributed databases. The
user equipment includes receiving, by a processing engine, a configuration defining
an initialization sequence for one or more interfaces, determining, based on the
received configuration, an order for initializing at least one interface, wherein at
least one dependent interface is prioritized over at least one interdependent interface
5 during the initialization, determining a status of the initialization of the at least one
dependent interface and upon determining a failure in the initialization of the at least one dependent interface, re-establishing to initialize the at least one dependent interface at a predetermined time interval and up to a predefined count.
10 BRIEF DESCRIPTION OF DRAWINGS
[0030] The accompanying drawings, which are incorporated herein, and
constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not
15 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,
20 or circuitry commonly used to implement such components.
[0031] FIG. 1 illustrates an exemplary network architecture for
implementing a system for establishing a sequential initialization of one or more interfaces within a NF in accordance with an embodiment of the present disclosure.
[0032] FIG. 2 illustrates an exemplary block diagram of the system for
25 establishing the sequential initialization of one or more interfaces within the NF in
accordance with an embodiment of the present disclosure.
[0033] FIG. 3 illustrates another exemplary block diagram of the system for
establishing the sequential initialization of one or more interfaces within the NF in accordance with an embodiment of the present disclosure.
7
[0034] FIG. 4 illustrates an exemplary flow diagram of a method for
establishing the sequential initialization of one or more interfaces within the NF in accordance with an embodiment of the present disclosure.
[0035] FIG. 5 illustrates another exemplary flow diagram of a method for
5 establishing the sequential initialization of one or more interfaces within the NF in
accordance with an embodiment of the present disclosure.
[0036] FIG. 6 illustrates an exemplary computer system in which or with
which the system may be implemented in accordance with an embodiment of the present disclosure.
10 [0037] The foregoing shall be more apparent from the following more
detailed description of the disclosure.
LIST OF REFERENCE NUMERALS
100 – Network Architecture
102-1, 102-2…102-N – Users
15 104-1, 104-2…104-N – User equipments
106 – Network
108, 300 – System
202 – One or more processor(s)
204 – Memory
20 206 – At least one interface
208 – Processing engine
210 – Database
212 – Data parameter engine
8
214 – Other engine
302 – Network controller
304 – Linux kernel
306 – Binding Support Function (BSF)
5 308 – Fault, Configuration, Accounting, Performance and Security (FCAPS)
Management
310 – High availability
312 – Overload management
314 – Diameter stack management
10 316 – Binding function module
318 – Rule engine module
320 – Modification module
322 – Session management
324 – HTTP2 stack management
15 326 – NRF client
610 – External storage device
620 – Bus
630 – Main memory
640 – Read only memory
20 650 – Mass storage device
660 – Communication port
9
670 – Processor
DETAILED DESCRIPTION
[0038] In the following description, for the purposes of explanation, various
specific details are set forth in order to provide a thorough understanding of
5 embodiments of the present disclosure. It will be apparent, however, that
embodiments of the present disclosure may be practiced without these specific
details. Several features described hereafter can each be used independently of one
another or with any combination of other features. An individual feature may not
address any of the problems discussed above or might address only some of the
10 problems discussed above. Some of the problems discussed above might not be
fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.
15 [0039] 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
20 function and arrangement of elements without departing from the spirit and scope
of the disclosure as set forth.
[0040] 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
25 specific details. For example, circuits, systems, networks, processes, and other
components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
10
[0041] Also, it is noted that individual embodiments may be described as a
process that is depicted as a flowchart, a flow diagram, a data flow diagram, a
structure diagram, or a block diagram. Although a flowchart may describe the
operations as a sequential process, many of the operations can be performed in
5 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
10 function or the main function.
[0042] 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
15 necessarily to be construed as preferred or advantageous over other aspects or
designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term
20 “comprising” as an open transition word without precluding any additional or other
elements.
[0043] 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
25 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.
11
[0044] The terminology used herein is to describe particular embodiments
only and is not intended to be limiting the disclosure. As used herein, the singular
forms “a”, “an”, and “the” are intended to include the plural forms as well, unless
the context indicates otherwise. It will be further understood that the terms
5 “comprises” and/or “comprising,” when used in this specification, specify the
presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any combinations of one or more of the
10 associated listed items. It should be noted that the terms “mobile device”, “user
equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms
15 is solely for convenience and clarity of description. The invention is not limited to
any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.
[0045] As used herein, an “electronic device”, or “portable electronic
20 device”, or “user device” or “communication device” or “user equipment” or
“device” refers to any electrical, electronic, electromechanical, and computing
device. The user device is capable of receiving and/or transmitting one or
parameters, performing function/s, communicating with other user devices, and
transmitting data to the other user devices. The user equipment may have a
25 processor, a display, a memory, a battery, and an input-means such as a hard keypad
and/or a soft keypad. The user equipment may be capable of operating on any radio
access technology including but not limited to IP-enabled communication, Zig Bee,
Bluetooth, Bluetooth Low Energy, Near Field Communication, Z-Wave, Wi-Fi,
Wi-Fi direct, etc. For instance, the user equipment may include, but not limited to,
30 a mobile phone, smartphone, virtual reality (VR) devices, augmented reality (AR)
12
devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other device as may be obvious to a person skilled in the art for implementation of the features of the present disclosure.
[0046] Further, the user device may also comprise a “processor” or
5 “processing unit” includes processing unit, wherein processor refers to any logic
circuitry for processing instructions. The processor may be a general-purpose
processor, a special purpose processor, a conventional processor, a digital signal
processor, a plurality of microprocessors, one or more microprocessors in
association with a DSP core, a controller, a microcontroller, Application Specific
10 Integrated Circuits, Field Programmable Gate Array circuits, any other type of
integrated circuits, etc. The processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor is a hardware processor.
15 [0047] As portable electronic devices and wireless technologies continue to
improve and grow in popularity, the advancing wireless technologies for data transfer are also expected to evolve and replace the older generations of technologies. In the field of wireless data communications, the dynamic advancement of various generations of cellular technology is also seen. The
20 development, in this respect, has been incremental in the order of second generation
(2G), third generation (3G), fourth generation (4G), and now fifth generation (5G), and more such generations are expected to continue in the forthcoming time.
[0048] While considerable emphasis has been placed herein on the
components and component parts of the preferred embodiments, it will be
25 appreciated that many embodiments can be made and that many changes can be
made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment as well as other embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing
13
descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.
[0049] The network system consists of multiple interconnected interfaces.
Using a common stack for all these interfaces can have devastating consequences.
5 A single-point failure in the network or stack can cause the entire system to fail,
resulting in a complete service outage. To ensure the proper functioning of the system, it is crucial to initialize the interfaces in a logical order that avoids any interdependence issues. This can be accomplished by configuring the sequence of interface initialization during start-up.
10 [0050] The present disclosure discloses a system and a method for the
sequential initialization of one or more interfaces within the NF. If there is a dependency between two interfaces, it is important to avoid initializing a second interface if a former interface has failed to initialize.
[0051] The various embodiments throughout the disclosure will be
15 explained in more detail with reference to FIG. 1- FIG. 6.
[0052] FIG. 1 illustrates an example network architecture (100) for
implementing a system (108) for establishing the sequential initialization of one or more interfaces within the NF, in accordance with an embodiment of the present disclosure.
20 [0053] As illustrated in FIG. 1, one or more user devices (computing
devices) (104-1, 104-2…104-N) are connected to a proposed system (108) through a network (106). A person of ordinary skill in the art will understand that the one or more computing devices (104-1, 104-2…104-N) are collectively referred as computing devices (104) and individually referred as a computing device (104).
25 One or more users (102-1, 102-2…102-N) may provide one or more requests to the
system (108). A person of ordinary skill in the art will understand that the one or more users (102-1, 102-2…102-N) are collectively referred as users (102) and individually referred as a user (102). Further, the computing devices (104) may also
14
be referred as a user equipment (UE) (104) or as UEs (104) throughout the disclosure.
[0054] In an embodiment, the computing device (104) may include, but not
be limited to, a mobile, a laptop, etc. Further, the computing device (104) may
5 include one or more in-built or externally coupled accessories including, but not
limited to, a visual aid device such as a camera, audio aid, microphone, or keyboard.
Furthermore, the computing device (104) may include a mobile phone, smartphone,
virtual reality (VR) devices, augmented reality (AR) devices, a laptop, a general-
purpose computer, a desktop, a personal digital assistant, a tablet computer, and a
10 mainframe computer. Additionally, input devices (input unit) for receiving input
from the user (102) such as a touchpad, touch-enabled screen, electronic pen, and the like may be used. In an example, the user (102) is an operator.
[0055] In an embodiment, the network (106) includes, by way of example
but not limitation, at least a portion of one or more networks having one or more
15 nodes that transmit, receive, forward, generate, buffer, store, route, switch, process,
or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network (106) may also include, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private
20 network, a packet-switched network, a circuit-switched network, an ad hoc
network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof.
[0056] In an embodiment, the system (108) is configured to initialize a
25 dependent interface always before an interdependent interface to handle a critical
system failure. In the case of interdependencies between interfaces, a priority order is assigned to all the dependent interfaces. The interface with a higher priority order is initialized first. Upon initialization of the interface with the higher priority order, the interface with the subsequent priority order is initialized. In case when the
15
interface with the higher priority order is not initialized, then the system is configured to retry to initialize the corresponding interface. Without initializing the interface with the higher priority order, the interface with the lower priority order cannot be initialized.
5 [0057] In an embodiment, the sequence of initialization is dependent on
each other. For example, if an HTTP2 interface (which is the interdependent interface) is initialized before a diameter interface (which is the dependent interface) then the number of failure sessions may increase with time, resulting in memory overloading and a decrease in the central processing unit (CPU)
10 performance and key performance indicator (KPI). Therefore, the diameter
interface is initialized before the HTTP2 interface according to a configuration that may define an initialization sequence (also referred to as “priority order” or a “defined sequence”). The initialization sequence of the interface is configurable and given at startup time to avoid any dependent interface failure. Further, the
15 initialization sequence refers to the defined order in which the various interfaces
need to be activated. This order ensures critical functionalities are established first, allowing dependent interfaces to function properly.
[0058] Although FIG. 1 shows exemplary components of the network
architecture (100), in other embodiments, the network architecture (100) may
20 include fewer components, different components, differently arranged components,
or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).
25 [0059] FIG. 2 illustrates an example block diagram (200) of the system
(108) for establishing the sequential initialization of one or more interfaces within the NF, in accordance with an embodiment of the present disclosure.
[0060] Referring to FIG. 2, in an embodiment, the system (108) includes
one or more processor(s) (202). The one or more processor(s) (202) is implemented
16
as one or more microprocessors, microcomputers, microcontrollers, digital signal
processors, central processing units, logic circuitries, and/or any devices that
process data based on operational instructions. Among other capabilities, the one
or more processor(s) (202) are configured to fetch and execute computer-readable
5 instructions stored in a memory (204) of the system (108). The memory (204) is
configured to store one or more computer-readable instructions or routines in a non-
transitory computer-readable storage medium, which is fetched and executed to
create or share data packets over a network service. The memory (204) may
comprise any non-transitory storage device including, for example, volatile
10 memory such as random-access memory (RAM), or non-volatile memory such as
erasable programmable read-only memory (EPROM), flash memory, and the like.
[0061] In an embodiment, the system (108) includes an interface(s) (206).
The interface(s) (206) may comprise a variety of interfaces, for example, interfaces for data input and output devices (I/O), storage devices, and the like. The
15 interface(s) (206) may facilitate communication through the system (108). The
interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include, but are not limited to, processing engine(s) (208) and a database (210). Further, the processing engine(s) (208) may include a data parameter engine (212) and other engine(s)
20 (214). In an embodiment, the other engine(s) (214) may include, but are not limited
to, a data ingestion engine, an input/output engine, and a notification engine.
[0062] In an embodiment, the processing engine(s) (208) is implemented as
a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s)
25 (208). In the examples described herein, such combinations of hardware and
programming may be implemented in several different ways. For example, the programming for the processing engine(s) (208) is processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) (208) may comprise a processing resource
30 (for example, one or more processors), to execute such instructions. In the present
17
examples, the machine-readable storage medium may store instructions that, when
executed by the processing resource, implement the processing engine(s) (208). In
such examples, the system may comprise the machine-readable storage medium
storing the instructions and the processing resource to execute the instructions, or
5 the machine-readable storage medium is separate but accessible to the system and
the processing resource. In other examples, the processing engine(s) (208) is implemented by electronic circuitry.
[0063] The system (108) is configured to perform the configuration to
ensure that the dependent one gets initialized before the interdependent one. For
10 example, a database connection should be established before starting interfaces that
rely on a database data, such as the Diameter or HTTP2 interfaces. If the database connection is not up, then the system (108) ensures that the initialization of the diameter interface and HTTP2 interface is held since the diameter interface has a higher priority compared to the HTTP2 interface. The system (108) is configured
15 to secure the database connection and initialize the sequence initially. Once the
database (210) is connected, the diameter interface and the HTTP2 interface are initialized automatically.
[0064] Therefore, the system (108) is configured to avoid a sudden surge of
traffic due to negative use cases of the failed interface. With a proper order of
20 interface initialization, the system (108) is configured to avoid the memory leakage
problem and ensure that an application does not go into a hang state due to a stale session.
[0065] In an embodiment, as the database (210) is configured to store user
session details, the diameter interface may be configured to make a session and
25 serve incoming traffic using the user session details. If the database connection is
down, the diameter interface may not be able to make the session and serve the incoming traffic, which is configured to cause traffic congestion. To prevent congestion, the system (108) ensures the diameter interface remains uninitialized until a connection to the database (210) is established. The system (108) is
18
configured to retry, establishing the database connection upon failure. The retry
count and the retry interval for each stack interface is configurable. Once the
connection is re-established, the diameter and HTTP2 interfaces may be initialized.
If the diameter and HTTP2 interfaces fail to initialize, the system (108) is
5 configured to retry to initialize the diameter and HTTP2 interfaces periodically at a
predefined time interval period.
[0066] During application boot-up, if there is a failure in initializing the
diameter and HTTP2 interfaces of a stack, an NF (PCF or PCRF) is configured to
retry to establish connections for diameter and HTTP2 interfaces continuously.
10 Retry count and duration are configurable for each interface.
[0067] Although FIG. 2 shows exemplary components of the system (108),
in other embodiments, the system (108) may include fewer components, different
components, differently arranged components, or additional functional components
than depicted in FIG. 2. Additionally, or alternatively, one or more components of
15 the system (108) may perform functions described as being performed by one or
more other components of the system (108).
[0068] FIG. 3 illustrates an example block diagram of a system (300) for
establishing the sequential initialization of one or more interfaces within the NF, in accordance with an embodiment of the present disclosure.
20 [0069] As illustrated in FIG. 3, in an embodiment, the system (300) includes
a network controller (302), a Linux interface (304), and a binding support function (BSF) (306). Further, the BSF (306) includes various modules (interfaces) such as a fault, configuration, accounting, performance and security (FCAPS) management module (308), a high availability module (310), an overload management module
25 (312), a diameter stack management module (314), a binding function module
(316), a rule engine module (318), a modification module (320), a session management module (322), a hypertext transfer protocol (HTTP) stack management module (324), and a network resource function (NRF) client module
19
(326). These various modules allow the system (300)/or an NF to register, update and remove the information.
[0070] The FCAPS management module (308) is responsible for detecting,
isolating, and correcting faults in the network. The FCAPS management module
5 (308) focuses on ensuring that the network operates reliably and identifies issues
that may affect performance.
[0071] The high availability module (310) is configured to ensure that
network services are consistently available, even in the face of hardware or software
failures. It often involves redundancy, failover mechanisms, and other strategies to
10 minimize downtime.
[0072] The overload management module (312) monitors and manages
network resources to prevent overload situations. It may involve load balancing, resource allocation, and traffic management to ensure optimal performance under varying loads.
15 [0073] The diameter stack management module (314) is used for AAA
(Authentication, Authorization, and Accounting) in telecommunications networks. This module manages the implementation of the Diameter protocol, handling messages and interactions in the network.
[0074] The binding function module (316) is configured to handle the
20 association or binding of different elements within the network. This could include
associating user sessions with specific resources or managing the relationships between different network components.
[0075] The rule engine module (318) implements a rule-based system for
decision-making. It can be used for policy enforcement, filtering, or other tasks
25 where decisions need to be made based on predefined rules.
[0076] The modification module (320) is involved in making dynamic
changes or modifications to the network configuration or behaviour. It could be used for updates, patches, or other alterations to adapt to changing conditions.
20
[0077] The session management module (322) is responsible for managing
user sessions in the network. It includes tasks such as session establishment, maintenance, and termination.
[0078] The HTTP stack management module (324) is configured to manage
5 the implementation of the HTTP stack, handling web-based communication within
the network.
[0079] The NRF client module (326) interacts with a network resource
function (NRF) to discover and manage available resources in the network.
[0080] The system (300) is configured to receive a plurality of interfaces
10 and a sequence of initialization of each interface from an operator. In one aspect,
the operator uses an input unit to define the interfaces and the sequence. In an example, the plurality of interfaces may include a Rx interface, a Gx interface, a Sd interface, the diameter interface, and the HTTP2 interface. The “Rx interface” is typically associated with the communication between the UE (104), which is the
15 mobile device, and the evolved NodeB (eNB) in LTE (Long-Term Evolution)
networks. This interface controls radio communication and control between the mobile device and the base station (gNB). The “Gx interface” is part of the Policy and Charging Control (PCC) architecture in 3GPP networks. It may facilitate communication between the Policy and Charging Rules Function (PCRF) and the
20 Policy and Charging Enforcement Function (PCEF). The PCRF is responsible for
policy control decisions, and the PCEF enforces these decisions in the bearer and traffic planes. The Gx interface plays a crucial role in managing policies related to quality of service and charging in mobile networks. The “Sd interface” is related to the communication between the Serving GPRS Support Node (SGSN) and the
25 Home Subscriber Server (HSS) in GPRS (General Packet Radio Service) and
UMTS (Universal Mobile Telecommunications System) networks.
[0081] The system (300) is configured to generate a stack based on the
plurality of interfaces and the sequence of initialization. The system (300) configures a number of attributes associated with each interface of the stack. The
21
number of attributes may include an index number, a type of the interface, an
operative status of the interface, and a relationship of the interface with other
interfaces. In an aspect, the system (300) is configured to establish a connection
with the database (210). The database (210) is configured to store a plurality of user
5 session details, including a plurality of user requests, a plurality of responses
corresponding to the plurality of user requests, user session data, and historical user session data.
[0082] The system (300) is configured to receive, from the NF, an activation
signal for initializing a specific interface. The system (300) determines a type of
10 specific interface based on the number of attributes. The system (300) is configured
to initialize the specific interface based on the determined type.
[0083] In an aspect, the system (300) is configured to search for an
independent interface corresponding to the specific interface and check the
operative status of the independent interface if the determined type of the specific
15 interface is the dependent interface.
[0084] In an embodiment, the system (300) initializes the specific interface
if the operative status of the independent interface is initialized, or the determined
type of the specific interface is the independent interface. In an aspect, the system
(300) is configured to wait for a predefined time until the operative status of the
20 independent interface is changed. The predefined time is a configuration parameter
that may tell how many seconds the NF may need to wait before initializing the next interface in the sequence.
[0085] In an example, the diameter interface is the dependent interface
configured to serve a session and incoming traffic. In another example, the HTTP2
25 interface is the interdependent interface.
[0086] In an aspect, the NF may be configured to establish a connection
with the specific interface after a configurable regular time interval and for a predefined count if the specific interface is not initialized. For example, if the connection is not successful on the first attempt, the predefined count comes into
22
play. The predefined count is a configurable parameter that indicates the number of retries before the connection attempt on that interface is stopped.
[0087] FIG. 4 illustrates an example flow diagram of a method (400) for
establishing the sequential initialization of one or more interfaces within the NF in
5 accordance with an embodiment of the present disclosure.
[0088] At step 402, the system (108) receives a configuration defining the
sequence where interfaces may be initialized. This configuration may be provided in various ways, such as a configuration file, API call, or pre-defined settings within the application code. This step establishes the order for initializing the different
10 interfaces within the PCF/PCRF application. For example, consider a scenario
where the sequence of interface initialization involves the diameter and the HTTP2 interfaces. The configuration will specify that the diameter interface must be initialized before the HTTP2 interface. This is crucial because the HTTP2 interface may rely on data stored in the diameter interface to handle incoming and outgoing
15 requests effectively. If the diameter interface is not initialized first, the HTTP2
interface cannot access the necessary data, leading to potential session congestion and system instability.
[0089] At step 404, the PCF/PCRF application boot-up is incorporated to
begin the interface initialization process. The system (108) resources might be
20 allocated, and internal components might be prepared for further operations.
[0090] At step 406, the dependent interface or the database (210)
initialization is provided. The database (210) is connected to the application before
the initialization of the diameter interface and the HTTP2 interface. The system
(108) prioritizes initializing the dependent interface. This depends on the
25 configuration and the interface dependencies.
[0091] At step 408, the system (108) determines if the dependent interface
is successfully initialized. If the connection fails, the system (108) triggers a retry mechanism to attempt reconnecting at regular intervals. The retry mechanism may include configurable parameters such as retry intervals and the number of retries.
23
[0092] At step 410, once the dependent interface is confirmed to be
successfully initialized from step 408, the system (108) begins handling traffic and
data communication through the initialized dependent interface. The system (108)
may start the traffic flow, allowing data to be communicated through the initialized
5 interfaces. This may include handling incoming and outgoing requests, managing
sessions, and ensuring data integrity and reliability.
[0093] FIG. 5 illustrates a flowchart of a method (500) for establishing the
sequential initialization of one or more interfaces within the NF in accordance with embodiments of the present disclosure.
10 [0094] At step (502), the method (500) is configured to receive a
configuration or a set of instructions by the processing engine (208). This configuration contains detailed information that defines the order and sequence in which various network interfaces should be initialized. The configuration specifies the hierarchy and dependencies among the interfaces, categorizing them into
15 dependent and independent interfaces. The configuration includes the following
key details: the initialization sequence, which outlines the exact order in which the interfaces need to be initialized, ensuring smooth network function operations without conflicts and dependencies, and identifying which interfaces rely on others for successful initialization. The configuration further categorizes the interfaces
20 into interdependent interfaces, such as the HTTP2 interface, and dependent
interfaces, such as the diameter interface, which require the successful initialization of independent interfaces, such as the diameter interface that relies on the database (210) to manage session data. Additionally, the configuration details specific attributes associated with each interface, including interface type, status, and
25 relationships with other interfaces, aiding the processing engine in determining the
initialization sequence and handling dependencies effectively.
[0095] At step (504), the method (500) is configured to determine the
initialization order of the interfaces based on the received configuration. The processing engine (208) analyzes the configuration file to identify the sequence in
24
which the interfaces need to be initialized. This involves interpreting the specified
dependencies and categorizing the interfaces into dependent and independent types.
The processing engine prioritizes the initialization of the dependent interface first,
ensuring they are operational before attempting to initialize any interdependent
5 interfaces.
[0096] At step (506), the method (500) is configured to determine the status
of the initialization of the dependent interface. This involves monitoring the
initialization process to check whether the dependent interface has successfully
initialized or encountered a failure. The processing engine (208) receives status
10 signals or error responses from the dependent interface. If an error response is
received, indicating that the initialization has failed, the processing engine assesses the nature and cause of the failure. This step is crucial for ensuring that the dependent interface, which is essential for the proper functioning of the interdependent interface, is properly initialized and operational.
15 [0097] At step (508), the method (500) is configured to re-establish the
initialization of the dependent interface upon determining a failure in the previous initialization attempt. This step involves setting up a re-establishing process where the processing engine (208) attempts to reinitialize the dependent interface at regular, predetermined time intervals. The re-establishing process is governed by
20 configurable parameters that specify the time interval between retries and the
maximum number of retry attempts. These parameters are set to ensure that the dependent interface has multiple opportunities to initialize successfully without causing excessive delays or resource usage. During each re-establishing attempt, the processing engine (208) may reassess the status of the dependent interface. If
25 the interface successfully initializes, the process moves forward to initialize the
interdependent interfaces. If the interface fails to initialize within the allowed number of retry attempts, the system may log the failure, alert the appropriate stakeholders, and potentially take alternative actions to mitigate the impact on the overall system performance.
25
[0098] In an embodiment, the method (500) may be further configured to
search the interdependent interface associated with the dependent interface. The
processing engine (208) may scan the configuration settings to identify the
interdependent interface linked to the dependent interface. This may involve cross-
5 referencing the configuration settings that detail the dependencies between various
interfaces. This search is necessary to establish the relationship between interfaces,
ensuring that the initialization sequence follows the dependencies and avoids
initializing interdependent interfaces before their corresponding dependent
interfaces are ready. In an embodiment, an operative status of the interdependent
10 interface may be verified. The processing engine (208) may check the current
operational status of the interdependent interface through system error reports or
system checks. This can involve querying the interdependent interface for status
indicators such as connectivity, readiness, and error state.
[0099] In an embodiment, an error response is received by the processing
15 engine (208), indicating failure during the initialization of the dependent interface
or during establishing a connection. The error response may be generated by the interface or the NF attempting the initialization or connection, and it is sent to the processing engine (208). The processing engine (208) then initiates a retry mechanism based on the predefined time intervals and the retry counts.
20 [00100] In an embodiment, the method (500) may be further configured to
verify the operative status of the interdependent interface based on the error response during the process of establishing the connection. When the error response is received, it indicates a failure in initializing the dependent interface. The processing engine (208) then checks the status of the interdependent interface to
25 determine if it is functioning correctly. This verification may involve querying the
interdependent interface for its current status or checking system logs and status reports. The error response provides specific information about what went wrong, allowing the processing engine (208) to accurately assess whether the interdependent interface is operational or also experiencing issues.
26
[00101] In an embodiment, the interface includes at least one or more of an
Rx interface, a Gx interface, a Sd interface, a diameter interface, and a hypertext transfer protocol 2 (HTTP2) interface.
[00102] In an embodiment, the diameter interface may be identified as a
5 dependent interface configured to handle sessions and incoming traffic,
highlighting its importance in the initialization sequence. Here, the sessions refer to
the logical connection or context managed by the diameter interface, typically used
for services such as user authentication, authorization, and accounting. The
incoming traffic may refer to the data or requests arriving at the network, which the
10 diameter interface processes to provide the required services, such as session
establishment or management.
[00103] In an embodiment, the HTTP2 interface may be identified as an
interdependent interface, emphasizing the need to ensure its dependencies are met before it is initialized.
15 [00104] In an embodiment, the method (500) may be further configured to
initiate connection attempts with the specified interface after waiting for a predetermined time interval and up to a predefined count if the dependent interface fails to initialize initially.
[00105] In an embodiment, the method (500) may be further configured to
20 establish a connection with a database (210) to store extensive user session details,
encompassing user requests, corresponding responses, current session data, and
historical session data. This database connection may facilitate comprehensive
management and retrieval of user interactions and system activities, ensuring that
all relevant session-related information is securely stored and readily accessible. By
25 maintaining this database connection, the system (108) may ensure efficient
handling of user sessions, support data-driven decision-making processes, and enable seamless continuity of service operations with comprehensive session management capabilities.
27
[00106] FIG. 6 illustrates an exemplary computer system (600) in which or
with which the system (108) and the method (500) of the present disclosure may be implemented in accordance with an embodiment of the present disclosure.
[00107] As shown in FIG. 6, the computer system (600) may include an
5 external storage device (610), a bus (620), a main memory (630), a read-only
memory (640), a mass storage device (650), a communication port(s) (660), and a processor (670). A person skilled in the art will appreciate that the computer system (600) may include more than one processor and communication ports. The processor (670) may include various modules associated with embodiments of the
10 present disclosure. The communication port(s) (660) may be any of an RS-232 port
for use with a modem-based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication ports(s) (660) may be chosen depending on a network, such as a Local Area Network (LAN), Wide Area Network
15 (WAN), or any network to which the computer system (600) connects.
[00108] In an embodiment, the main memory (630) may be Random Access
Memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (640) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chip for storing static
20 information e.g., start-up or basic input/output system (BIOS) instructions for the
processor (670). The mass storage device (650) may be any current or future mass storage solution that can be used to store information and/or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment
25 (SATA) hard disk drives or solid-state drives (internal or external, e.g., having
Universal Serial Bus (USB) and/or Firewire interfaces).
[00109] In an embodiment, the bus (620) may communicatively couple the
processor(s) (670) with the other memory, storage, and communication blocks. The bus (620) may be, e.g. a Peripheral Component Interconnect (PCI) / PCI Extended
28
(PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB), or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (670) to the computer system (600).
5 [00110] In another embodiment, operator and administrative interfaces, e.g.,
a display, keyboard, and cursor control device may also be coupled to the bus (620)
to support direct operator interaction with the computer system (600). Other
operator and administrative interfaces can be provided through network
connections connected through the communication port(s) (660). The components
10 described above are meant only to exemplify various possibilities. In no way should
the aforementioned exemplary computer system (600) limit the scope of the present disclosure.
[00111] In an embodiment, the present disclosure discloses user equipment
(104) configured to retrieve data from a cluster of distributed databases. The user
15 equipment includes receiving by a processing engine, a configuration defining a
sequence of interface initialization of each interface, configuring, by the processing engine, at least one attribute associated with each interface, receiving, by the processing engine, an activation signal for initializing a specific interface from the NF, determining, by the processing engine, a type of specific interface based on the
20 number of attributes, and initializing, by the processing engine, the specific
interface based on the determined type.
[00112] The present disclosure is configured to provide a sequential order of
interface initialisation that ensure the interdependence in logical order. In the
present disclosure, the user is able to set the order of the sequence of interface
25 initialization via configuration at start-up time to avoid critical system failure. The
present disclosure is applicable to a wide range of applications that require real¬time initialization of a number of interfaces in a particular order. With the fast advances of 5G standardization, the present disclosure may be applicable to network protocols-related use cases; embedded systems use cases and database
29
systems. In these use cases, the sequential order of interface initialization helps avoid issues such as data inconsistency, communication errors, or system crashes. It ensures that dependencies are satisfied, resources are available, and interfaces are ready for subsequent operations.
5 [00113] The method and system of the present disclosure may be
implemented in a number of ways. For example, the methods and systems of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the
10 present disclosure are not limited to the order specifically described above unless
specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers a recording
15 medium storing a program for executing the method according to the present
disclosure.
[00114] While considerable emphasis has been placed herein on the preferred
embodiments, it will be appreciated that many embodiments can be made and that
many changes can be made in the preferred embodiments without departing from
20 the principles of the disclosure. These and other changes in the preferred
embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be implemented merely as illustrative of the disclosure and not as a limitation.
25 [00115] The present disclosure provides technical advancement related to
managing interface initialization within the NF applications in telecommunications systems. This advancement addresses the limitations of existing solutions by introducing a method for sequential interface initialization based on dependency relationships. The disclosure involves dynamically configuring the order of
30
interface initialization, ensuring that dependent interfaces are prioritized over
interdependent ones to prevent cascading failures. By implementing the sequential
interface initialization, the disclosed invention enhances network reliability and
resilience against single-point failures. This approach optimizes system
5 performance, reduces operational risks, and ensures consistent service availability,
thereby improving overall network efficiency and user experience.
ADVANTAGES OF THE INVENTION
[00116] The present disclosure provides a system and a method where an NF
(PCF+PCRF) continuously retries to establish connections for diameter and
10 hypertext transfer protocol 2 (HTTP2) interfaces if there is a failure in initializing
diameter/HTTP2 stacks.
[00117] The present disclosure provides the system and the method where a
sequence of stack initialization ensures that the dependent stack gets initialized before the interdependent stack.
15 [00118] The present disclosure provides the system and the method where a
sudden surge of traffic due to a failed interface is avoided.
[00119] The present disclosure provides the system and the method where a
proper order of interface initialization is ensured to minimize a memory leakage
problem and ensure that an application does not go into a hang state due to a stale
20 session.
[00120] The present disclosure provides the system and the method where
the NF checks that the DB is active and only then enables a diameter stack for processing data.
25
31
WE CLAIM:
1. A method (500) for establishing a sequential initialization of one or more
interfaces within a network function (NF), said method (500) comprising:
receiving (502), by a processing engine (208), a configuration defining an initialization sequence for one or more interfaces;
determining (504), based on the received configuration, an order for initializing at least one interface, wherein at least one dependent interface is prioritized over at least one interdependent interface during the initialization;
determining (506) a status of the initialization of the at least one dependent interface; and
upon determining a failure in the initialization of the at least one dependent interface, re-establishing (508) a connection to initialize the at least one dependent interface at a predetermined time interval and up to a predefined count.
2. The method (500) as claimed in claim 1, wherein the one or more interfaces include the at least one dependent and the at least one independent interface.
3. The method (500) as claimed in claim 1, wherein if the one or more interface is the dependent interface, the method further comprising:
searching the interdependent interface associated with the dependent interface; and
verifying an operative status of the interdependent interface.
4. The method (500), as claimed in claim 1, wherein an error response is
received by the processing engine (208) indicating the failure during
initialization of said dependent interface or during establishing a
connection.
5. The method (500), as claimed in claim 1, wherein the operative status of the interdependent interface is verified based on the error response during establishing the connection.
6. The method (500) as claimed in claim 1, wherein the network function (NF) is configured to establish a connection with said at least one interface after the predetermined time interval and for the predefined count if said dependent interface is not initialized.
7. The method (500) as claimed in claim 1, further comprises establishing a connection with a database (210) for storing a plurality of user session details including a plurality of user requests, a plurality of responses corresponding to said plurality of user requests, user session data, and historical user session data.
8. A system (108) for establishing a sequential initialization of one or more interfaces within a network function (NF), said system (108) comprising:
a processing engine (208) configured to:
receive, a configuration defining an initialization sequence for the one or more interfaces;
determine based on the received configuration, an order for initializing at least one interface, wherein at least one dependent interface is prioritized over at least one interdependent interface during the initialization;
determine a status of the initialization of the at least one dependent interface; and
upon determining a failure in the initialization of the at least one dependent interface, re-establish a connection to initialize the at least one dependent interface at a predetermined time interval and up to a predefined count.
9. The system (108) as claimed in claim 8, wherein the one or more interfaces include the at least one dependent and the at least one independent interface.
10. The system (108) as claimed in claim 8, if the one or more interface is the dependent interface, the system is further configured to:
search the interdependent interface associated with the dependent interface; and
verify an operative status of the interdependent interface.
11. The system (108) as claimed in claim 8, an error response is received by the processing engine (208) indicating the failure during initialization of said dependent interface or during establishing a connection.
12. The system (108) as claimed in claim 8, wherein the operative status of the interdependent interface is verified based on the error response during establishing the connection.
13. The system (108) as claimed in claim 8, wherein the network function (NF) is configured to establish a connection with said at least one interface after the predetermined time interval and for the predefined count if said dependent interface is not initialized.
14. The system (108) as claimed in claim 8, further comprises establishing a connection with a database (210) for storing a plurality of user session details including a plurality of user requests, a plurality of responses corresponding to said plurality of user requests, user session data, and historical user session data.
15. A user equipment (UE) (102) communicatively coupled with a communication network (108), the coupling comprises steps of:
receiving, by a processing engine (208), a configuration defining an initialization sequence for one or more interfaces;
determining, based on the received configuration, an order for initializing at least one interface, wherein at least one dependent interface is prioritized over at least one interdependent interface during the initialization;
determining a status of the initialization of the at least one dependent interface; and
upon determining a failure in the initialization of the at least one dependent interface, re-establishing to initialize the at least one dependent interface at a predetermined time interval and up to a predefined count.
| # | Name | Date |
|---|---|---|
| 1 | 202321048984-STATEMENT OF UNDERTAKING (FORM 3) [20-07-2023(online)].pdf | 2023-07-20 |
| 2 | 202321048984-PROVISIONAL SPECIFICATION [20-07-2023(online)].pdf | 2023-07-20 |
| 3 | 202321048984-FORM 1 [20-07-2023(online)].pdf | 2023-07-20 |
| 4 | 202321048984-DRAWINGS [20-07-2023(online)].pdf | 2023-07-20 |
| 5 | 202321048984-DECLARATION OF INVENTORSHIP (FORM 5) [20-07-2023(online)].pdf | 2023-07-20 |
| 6 | 202321048984-FORM-26 [17-10-2023(online)].pdf | 2023-10-17 |
| 7 | 202321048984-FORM-26 [12-04-2024(online)].pdf | 2024-04-12 |
| 8 | 202321048984-FORM 13 [15-04-2024(online)].pdf | 2024-04-15 |
| 9 | 202321048984-AMENDED DOCUMENTS [15-04-2024(online)].pdf | 2024-04-15 |
| 10 | 202321048984-Request Letter-Correspondence [03-06-2024(online)].pdf | 2024-06-03 |
| 11 | 202321048984-Power of Attorney [03-06-2024(online)].pdf | 2024-06-03 |
| 12 | 202321048984-Covering Letter [03-06-2024(online)].pdf | 2024-06-03 |
| 13 | 202321048984-CORRESPONDANCE-WIPO CERTIFICATE-11-06-2024.pdf | 2024-06-11 |
| 14 | 202321048984-ENDORSEMENT BY INVENTORS [05-07-2024(online)].pdf | 2024-07-05 |
| 15 | 202321048984-DRAWING [05-07-2024(online)].pdf | 2024-07-05 |
| 16 | 202321048984-CORRESPONDENCE-OTHERS [05-07-2024(online)].pdf | 2024-07-05 |
| 17 | 202321048984-COMPLETE SPECIFICATION [05-07-2024(online)].pdf | 2024-07-05 |
| 18 | 202321048984-ORIGINAL UR 6(1A) FORM 26-190724.pdf | 2024-07-24 |
| 19 | Abstract-1.jpg | 2024-08-08 |
| 20 | 202321048984-FORM 18 [01-10-2024(online)].pdf | 2024-10-01 |
| 21 | 202321048984-FORM 3 [04-11-2024(online)].pdf | 2024-11-04 |