System and method incorporating sequential order for interface initialization

WO2025017604A3PCT designated stage expired Publication Date: 2026-06-11JIO PLATFORMS LTD

Patent Information

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

AI Technical Summary

Technical Problem

Existing systems in wireless telecommunications networks face challenges with interface initialization, leading to potential single-point failures, interdependency issues, and service disruptions due to improper sequencing and dependency management.

Method used

A method and system for sequential interface initialization within a network function (NF), where a processing engine receives a configuration specifying the initialization sequence, prioritizing dependent interfaces over interdependent ones, and re-establishing connections for failed interfaces with retry mechanisms.

🎯Benefits of technology

Ensures reliable and resilient interface initialization, preventing cascading failures and service disruptions by ensuring dependent interfaces are initialized before interdependent ones, thus maintaining network stability and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2024051072_11062026_PF_FP_ABST
    Figure IN2024051072_11062026_PF_FP_ABST
Patent Text Reader

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.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD INCORPORATING SEQUENTIAL ORDER FOR INTERFACE INITIALIZATIONRESERVATION 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 performspolicy 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, andcapable 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 fordiameter 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. Theuser 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 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.

[0030] Another embodiment of the present subject matter relates to a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for establishing a sequential initialization of one or more interfaces within the NF, the method comprising 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 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.BRIEF DESCRIPTION OF DRAWINGS

[0031] 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 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 eachcomponent. 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.

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

[0033] FIG. 2 illustrates an 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.

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

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

[0036] FIG. 5 illustrates another 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.

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

[0038] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100 - Network Architecture102-1, 102-2... 102-N - Users104-1, 104-2. . . 104-N - User equipments106 - Network108, 300 - System202 - One or more processor(s)204 - Memory206 - At least one interface208 - Processing engine210 - Database212 - Data parameter engine214 - Other engine302 - Network controller304 - Linux kernel306 - Binding Support Function (BSF)308 - Fault, Configuration, Accounting, Performance and Security (FCAPS) Management310 - High availability312 - Overload management314 - Diameter stack management316 - Binding function module318 - Rule engine module320 - Modification module322 - Session management324 - HTTP2 stack management326 - NRF client610 - External storage device620 - Bus630 - Main memory640 - Read only memory650 - Mass storage device660 - Communication port670 - ProcessorDETAILED DESCRIPTION

[0039] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.

[0040] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure.Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.

[0041] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

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

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

[0044] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0045] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that otherequivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.

[0046] As used herein, an “electronic device”, or “portable electronic 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 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, a mobile phone, smartphone, virtual reality (VR) devices, augmented reality (AR) 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.

[0047] Further, the user device may also comprise a “processor” or “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 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.

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

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

[0050] The network system consists of multiple interconnected interfaces. Using a common stack for all these interfaces can have devastating consequences. 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.

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

[0052] The various embodiments throughout the disclosure will be explained in more detail with reference to FIG. 1- FIG. 6.

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

[0054] 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). 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 be referred as a user equipment (UE) (104) or as UEs (104) throughout the disclosure.

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

[0056] 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 morenodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network (106) may also include, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet- switched network, a circuit- switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof.

[0057] In an embodiment, the system (108) is configured to initialize a 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 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.

[0058] 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) 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 initialization sequence refers to the defined order in which the various interfacesneed to be activated. This order ensures critical functionalities are established first, allowing dependent interfaces to function properly.

[0059] Although FIG. 1 shows exemplary components of the network architecture (100), in other embodiments, the network architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).

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

[0061] 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 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 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 memory such as random-access memory (RAM), or non-volatile memory such as erasable programmable read-only memory (EPROM), flash memory, and the like.

[0062] 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 (VO), storage devices, and the like. The interface(s) (206) may facilitate communication through the system (108). Theinterface(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) (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.

[0063] 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) (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 (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(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 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.

[0064] The system (108) is configured to perform the configuration to ensure that the dependent one gets initialized before the interdependent one. For 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 to secure the database connection and initialize the sequence initially. Once thedatabase (210) is connected, the diameter interface and the HTTP2 interface are initialized automatically.

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

[0066] 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 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 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 configured to retry to initialize the diameter and HTTP2 interfaces periodically at a predefined time interval period.

[0067] 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. Retry count and duration are configurable for each interface.

[0068] 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 ofthe system (108) may perform functions described as being performed by one or more other components of the system (108).

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

[0070] 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 (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 (326). These various modules allow the system (300) / or an NF to register, update and remove the information.

[0071] The FCAPS management module (308) is responsible for detecting, isolating, and correcting faults in the network. The FCAPS management module (308) focuses on ensuring that the network operates reliably and identifies issues that may affect performance.

[0072] 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 minimize downtime.

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

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

[0075] The binding function module (316) is configured to handle the 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.

[0076] The rule engine module (318) implements a rule-based system for decision-making. It can be used for policy enforcement, filtering, or other tasks where decisions need to be made based on predefined rules.

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

[0078] The session management module (322) is responsible for managing user sessions in the network. It includes tasks such as session establishment, maintenance, and termination.

[0079] The HTTP stack management module (324) is configured to manage the implementation of the HTTP stack, handling web-based communication within the network.

[0080] The NRF client module (326) interacts with a network resource function (NRF) to discover and manage available resources in the network.

[0081] The system (300) is configured to receive a plurality of interfaces 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 themobile 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 3 GPP networks. It may facilitate communication between the Policy and Charging Rules Function (PCRF) and the 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 Home Subscriber Server (HSS) in GPRS (General Packet Radio Service) and UMTS (Universal Mobile Telecommunications System) networks.

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

[0083] 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 specific interface based on the number of attributes. The system (300) is configured to initialize the specific interface based on the determined type.

[0084] In an aspect, the system (300) is configured to search for an independent interface corresponding to the specific interface and check theoperative status of the independent interface if the determined type of the specific interface is the dependent interface.

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

[0086] In an example, the diameter interface is the dependent interface configured to serve a session and incoming traffic. In another example, the HTTP2 interface is the interdependent interface.

[0087] 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 play. The predefined count is a configurable parameter that indicates the number of retries before the connection attempt on that interface is stopped.

[0088] 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 accordance with an embodiment of the present disclosure.

[0089] 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 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 interfacemay rely on data stored in the diameter interface to handle incoming and outgoing 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.

[0090] At step 404, the PCF / PCRF application boot-up is incorporated to begin the interface initialization process. The system (108) resources might be allocated, and internal components might be prepared for further operations.

[0091] 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 configuration and the interface dependencies.

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

[0093] 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 interfaces. This may include handling incoming and outgoing requests, managing sessions, and ensuring data integrity and reliability.

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

[0095] 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 inwhich various network interfaces should be initialized. The configuration specifies the hierarchy and dependencies among the interfaces, categorizing them into 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 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 relationships with other interfaces, aiding the processing engine in determining the initialization sequence and handling dependencies effectively.

[0096] 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 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 interfaces.

[0097] 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 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 thedependent interface, which is essential for the proper functioning of the interdependent interface, is properly initialized and operational.

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

[0099] 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 crossreferencing 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 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.

[0100] In an embodiment, an error response is received by the processing 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.

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

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

[0103] In an embodiment, the diameter interface may be identified as a 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 diameter interface processes to provide the required services, such as session establishment or management.

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

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

[0106] In an embodiment, the method (500) may be further configured to 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 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.

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

[0108] As shown in FIG. 6, the computer system (600) may include an external storage device (610), a bus (620), a main memory (630), a read-only memory (640), a mass storage device (650), a communication port(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 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 otherexisting 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 (WAN), or any network to which the computer system (600) connects.

[0109] 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 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 (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Firewire interfaces).

[0110] 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 (PCLX) 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).

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

[0112] In an embodiment, the present disclosure discloses user equipment (104) configured to retrieve data from a cluster of distributed databases. The user 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 number of attributes, and initializing, by the processing engine, the specific interface based on the determined type.

[0113] 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 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 realtime 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 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.

[0114] The method and system of the present disclosure may be implemented in a number of ways. For example, the methods and systems of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing the methods accordingto the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.

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

[0116] 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 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 performance, reduces operational risks, and ensures consistent service availability, thereby improving overall network efficiency and user experience.ADVANTAGES OF THE INVENTION

[0117] The present disclosure provides a system and a method where an NF (PCF+PCRF) continuously retries to establish connections for diameter and hypertext transfer protocol 2 (HTTP2) interfaces if there is a failure in initializing diameter / HTTP2 stacks.

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

[0119] The present disclosure provides the system and the method where a sudden surge of traffic due to a failed interface is avoided.

[0120] 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 session.

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

Claims

CLAIMS1. 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.

16. A computer program product comprising a non-transitory computer- readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method (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.