Sign In to Follow Application
View All Documents & Correspondence

A Configuration System

Abstract: ABSTRACT A CONFIGURATION SYSTEM The present disclosure relates to a real-time configuration system (108) designed for efficient updates within a network (106). The system includes a receiving unit (302) to accept configuration files from user equipment, a memory (304) to store these files, and a processing unit (308). The processing unit (308) establishes a connection with at least one server from a plurality of servers (220a, 220b, 220c). The processing unit (308) determines a status of at least one process running on the at least one server. The processing unit executes the configuration information on the process if the determined status of the process is a standby status and evaluates a state of the process after executing the configuration information. The processing unit (308) updates the configuration information on the plurality of servers by executing the configuration information on each server when the evaluated state of the executed configuration information is a stable state. Ref. Fig. 2

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
27 October 2023
Publication Number
20/2025
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

JIO PLATFORMS LIMITED
OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD 380006, GUJARAT, INDIA

Inventors

1. Aayush Bhatnagar
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
2. Birendra Singh Bisht
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
3. Harbinder Pal Singh
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
4. Abhay Kumar
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
5. Priti Kelkar
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
6. P R Srikanth Reddy
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
7. Mahendra Varma Eslavath
Reliance Corporate Park, Thane - Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India

Specification

DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003

COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
A CONFIGURATION SYSTEM

2. APPLICANT(S)
NAME NATIONALITY ADDRESS
JIO PLATFORMS LIMITED INDIAN Office-101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
3. PREAMBLE TO THE DESCRIPTION
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 (herein after referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.
TECHNICAL FIELD
[0002] The present disclosure generally relates to the field of configuration management. More particularly, the present disclosure relates to a configuration system for updating the configuration information of a network in real-time.
DEFINITION
[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 ‘configuration’ used hereinafter in the specification refers to a process of setting up and customizing an application to meet the specific needs of an organization or user. In an aspect, the configuration includes defining various parameters, settings, and options that control how the application functions and behaves.
[0005] The expression ‘configuration information’ used hereinafter in the specification refers to a set of parameters, settings, and data that define the operational characteristics of a system, application, or network. The configuration information encompasses system settings that control hardware or software behavior, application parameters that dictate how software functions, network settings required for establishing and managing connections, and operational instructions that guide task execution.
[0006] The expression ‘active status’ used hereinafter in the specification indicates a status in which a process is fully functional, processing requests, handling workload, and providing network services as intended. In a network or computing environment, a process with active status is operational and actively performing its designated functions or tasks.
[0007] The expression ‘standby status’ used hereinafter in the specification indicates a status in which a process is not currently performing its designated functions or handling requests, but remains in a state of readiness to take over if necessary. In the network or computing environment, a process with standby status is idle and not actively engaged in processing workload or providing services. However, it is configured to become active and assume responsibilities promptly if an active process fails or requires replacement, ensuring continuity and high availability of system operations.
[0008] The expression ‘Stable State’ used hereinafter in the specification indicates a condition in which all the processes or components that were affected by the configuration changes are functioning as expected without any issues or inconsistencies. The stable state is reached after the configuration has been applied and verified to ensure that the applied configuration meets the required criteria and does not introduce any new problems or instability.
[0009] The expression ‘Unstable State’ used hereinafter in the specification indicates a condition where the configuration changes have not yet been fully integrated or validated. In this state, there may be inconsistencies, errors, or unpredictability in how the system or processes behave. The system is not yet in its final, reliable condition, and further adjustments or confirmations are needed before it can be considered stable.
[0010] The expression ‘S-CSCF’ used hereinafter in the specification refers to a Serving Call Session Control Function. The S-CSCF is a core component in an internet protocol (IP) Multimedia Subsystem (IMS) network that manages session control, call routing, and user registration.
[0011] The expression ‘I-CSCF’ used hereinafter in the specification refers to an Interrogating Call Session Control Function. The I-CSCF queries other network elements to locate the appropriate S-CSCF for routing Session Initiation Protocol (SIP) requests.
[0012] The expression ‘BGCF’ used hereinafter in the specification refers to a Breakout Gateway Control Function. The BGCF manages the routing of calls between the IMS network and external networks, such as the Public Switched Telephone Network (PSTN), by converting and directing the calls appropriately.
[0013] The expression ‘SIB’ used hereinafter in the specification refers to a network component within the IMS network, specifically the S-CSCF, the I-CSCF, or the BGCF collectively referred to as a SIB. The SIB is involved in managing and processing SIP messages and sessions within the IMS network.
[0014] The expression ‘CLI’ used hereinafter in the specification refers to a command line interface that enables interaction between a device or a software program by allowing a user to enter commands into a text terminal, a terminal emulator, or a remote shell client. The input commands are processed by a command line interpreter which initiates operations corresponding to the entered command.
[0015] These definitions are in addition to those expressed in the art.
BACKGROUND
[0016] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0017] Modern network environments employ multi-server and multi-process architectures to perform several tasks seamlessly. Maintaining consistent configuration files across various systems is essential for optimal performance and reliability of the network. As wireless technologies advance, meeting 6G demands and delivering high-quality services to customers becomes crucial. Additionally, in wireless communication, various network functions (for example, a session management function (SMF) and an access and mobility management function (AMF)) co-operate with each other to provide enhanced network capabilities. Each network function typically operates on separate servers. It is required that all processes, whether on the same server or distributed, use identical configuration files to prevent discrepancies that could lead to service disruptions, security vulnerabilities, and inconsistent performance.
[0018] In existing network environments, updating configuration files presents significant challenges. During the operation of a computing system (server), any necessary alterations to the configuration of the computing must be performed manually by an operator. This involves manually editing the configuration information. Once the modifications are made, the system must be restarted to apply the new configuration settings. This manual configuration process introduces a risk of human error, such as inadvertent deletion of critical configuration elements or incorrect format entries, which can result in unpredictable and potentially severe errors in the configuration data. Furthermore, since the changes to the configuration information only become effective after a system restart, this process can disrupt ongoing system services, leading to interruptions in system operation and adverse effects on service continuity. Manual updates are often error-prone and time-consuming, as administrators must replicate changes accurately across all servers. Further, different servers running distinct processes may require specific configurations, increasing the risk of inconsistencies. If a configuration change is made on one server without corresponding updates on other servers, resulting in conflicts and unexpected behaviors, leading to network downtime and degraded performance.
[0019] In large-scale network environments, the management of setup and configuration becomes a critical issue. The challenges associated with scalability and dynamic flexibility make it particularly difficult to manage configuration changes across a large number of machines concurrently. Manual configuration practices are increasingly impractical and unreliable in such contexts, thus necessitating the adoption of an automated configuration management approach to ensure efficient and accurate management of configuration changes across extensive network infrastructures.
[0020] Presently, configuration management is typically conducted using a Configuration Management Database (CMDB), which serves as a crucial element in the operation and maintenance data ecosystem. The CMDB is responsible for storing essential metadata related to configuration items, including their initiation, modifications, and status updates. A traditional CMDB is designed to handle comprehensive configuration item management within a centralized database. However, as the volume of configuration data and the number of users increase, the traditional CMDB faces significant limitations. It struggles to effectively manage the growing data load, and the integrity of data can be compromised by errors introduced during data entry. Additionally, the traditional CMDB lacks a robust configuration lifecycle management framework, resulting in inadequate support for managing the entire lifecycle of configuration items. This inadequacy leads to confusion, poor data quality, and difficulties in maintaining data accuracy and reliability over time. Consequently, data updates may become inconsistent, and the overall quality of the configuration data may deteriorate.
[0021] Therefore, there is a need for an advanced configuration management system that is capable of concurrently updating configuration information across multiple servers in real time.
OBJECTIVES
[0022] Some of the objectives of the present disclosure, which are addressed by at least one embodiment described herein, are as follows:
[0023] An objective of the present disclosure is to provide a configuration system and a method for updating configuration information within a network in real-time.
[0024] Another objective of the present disclosure is to provide a configuration system and a method that facilitates the simultaneous and real-time updating of configuration information across multiple servers.
[0025] Another objective of the present disclosure is to provide a configuration system that ensures uniformity by maintaining an identical configuration file for each process, regardless of whether it runs on the same server or different servers.
[0026] An objective of the present disclosure is to provide a configuration system that performs configuration updates without interrupting network services, ensuring continuous availability and uninterrupted operation during the update process.
[0027] Another objective of the present disclosure is to deliver a configuration system that operates independently of other nodes in the network.
[0028] Yet another objective of the present disclosure is to incorporate automatic scripting capabilities within a configuration management system. This feature automates the configuration processes through predefined scripts, reducing the need for manual intervention and allowing for consistent and repeatable configuration tasks.
[0029] A further objective of the present disclosure is to employ automated processes and robust validation mechanisms to minimize human errors and inaccuracies associated with manual configuration tasks.
[0030] Additionally, an objective of the present disclosure is to provide a configuration system with a fail-safe feature that restores the system to its previous configuration state in the event of a failure during the execution of a new configuration file.
[0031] Additional objectives and advantages of the present disclosure will be more fully understood from the following detailed description, which is intended to illustrate and not to limit the scope of the present disclosure.
SUMMARY
[0032] In an exemplary embodiment, a configuration system for updating configuration information within a network in real-time is described. The configuration system includes a receiving unit, a memory, and a processing unit. The receiving unit is configured to receive at least one configuration file having the configuration information from a user equipment. The memory is configured to store the at least one received configuration file. The processing unit is coupled with the memory to execute a set of instructions stored in the memory. The processing unit is configured to establish a connection with at least one server from a plurality of servers, wherein a plurality of processes is running on each of the plurality of servers. The processing unit is configured to determine a status of at least one process from the plurality of processes running on the at least one server. The status of the at least one process is one of an active status and a standby status. The processing unit is configured to execute the configuration information on the at least one process if the determined status of the at least one process is the standby status. The processing unit is configured to evaluate a state of the at least one process after executing the configuration information based on one or more attributes. The processing unit is configured to update the configuration information on each server of the plurality of servers by executing the configuration information on each server when the evaluated state of the executed configuration information is a stable state.
[0033] In an embodiment, the configuration information is associated with one or more program files for the plurality of processes.
[0034] In an embodiment, the plurality of processes includes a high availability manager (HA) process, a logger manager (LGM) process, a fault and configuration manager (SYSM) process, a diameter load balancer (DIALB) process, a legal intercept manager (LIM) process, a business logic processor (sib) process, a SIP load balancer (SIPLB) process and a configuration path (config) process.
[0035] In an embodiment, the processing unit is configured to execute the configuration information for each process with having the active status if the evaluated state of the executed configuration information is the stable state.
[0036] In an embodiment, the configuration system includes a communication unit configured to communicate an outcome message representing one of a successful execution and a failed execution of the configuration information.
[0037] In an embodiment, the processing unit is configured to store the received configuration file on each server of the plurality of servers before executing the configuration information on the at least one server.
[0038] In an embodiment, the processing unit is configured to establish the connection with the at least one server based on a set of parameters including server load balancing criteria, authentication credentials, and error handling rules.
[0039] In an embodiment, the processing unit is configured to store current configuration information of the at least one server as a current configuration file in the memory. The processing unit is configured to execute the current configuration information if the evaluated state of the executed configuration information is an unstable state.
[0040] In an embodiment, the processing unit is configured to mask an alarm before executing the configuration information on the at least one server to suppress one or more alarm signals triggered during the execution of the configuration information.
[0041] In an embodiment, the processing unit is configured to unmask the alarm after executing the configuration information on the at least one server to resume monitoring for any actual issues or errors.
[0042] Another exemplary embodiment of the present disclosure describes a method for updating configuration information within a network in real-time. The method includes receiving, by a receiving unit, at least one configuration file including the configuration information from a user equipment. The method includes storing, by a memory, the at least one received configuration file. The method includes establishing, by a processing unit, a connection with at least one server from a plurality of servers, wherein a plurality of processes is running on each of the plurality of servers. The method includes determining, by the processing unit, a status of at least one process from the plurality of processes running on the at least one server, wherein the status of the at least one process is one of an active status and a standby status. The method includes executing, by the processing unit, the configuration information on the at least one process if the determined status of the at least one process is the standby status. The method includes evaluating, by the processing unit, a state of the at least one process after executing the configuration information based on one or more attributes. The method includes updating, by the processing unit, the configuration information on each server of the plurality of servers by executing the configuration information on each server when the evaluated state of the executed configuration information is a stable state.
[0043] In an aspect, the method further includes executing, by the processing unit, the configuration information for each process having the active status if the evaluated state of the executed configuration information is the stable state.
[0044] In an aspect, the method further includes communicating, by a communication unit, an outcome message representing one of a successful execution and a failed execution of the configuration information.
[0045] In an aspect, the method further includes storing, by the processing unit, the received configuration file on each server of the plurality of servers before executing the configuration information on the at least one server.
[0046] In an aspect, the method further includes establishing the connection with the at least one server, by the processing unit, based on a set of parameters including server load balancing criteria, authentication credentials and error handling rules.
[0047] In an aspect, the method further includes storing, by the processing unit, current configuration information of the at least one server as a current configuration file in the memory.
[0048] In an aspect, the method further includes executing, by the processing unit, the current configuration information, when the evaluated state of the executed configuration information is an unstable state.
[0049] In an aspect, the method further includes masking, by the processing unit, an alarm before executing the configuration information on the at least one server to suppress one or more alarm signals triggered during the execution of the configuration information.
[0050] In an aspect, the method further includes unmasking, by the processing unit, the alarm after executing the configuration information on the at least one server to resume monitoring for any actual issues or errors.
[0051] In another exemplary embodiment, a user equipment communicatively coupled to a system in real-time is described. The coupling includes steps of sending, by the user equipment, at least one configuration file comprising the configuration information. The system is configured to receive the at least one configuration file from the user equipment and store the at least one received configuration file. The system is configured to establish a connection with at least one server from a plurality of servers, wherein a plurality of processes is running on each of the plurality of servers. The system is configured to determine a status of at least one process from the plurality of processes running on the at least one server. The status of the at least one process is one of an active status and a standby status. The system is configured to execute the configuration information on the at least one process if the determined status of the at least one process is the standby status. The system is configured to evaluate a state of the at least one process after executing the configuration information based on one or more attributes. The system is configured to update the configuration information on each server of the plurality of servers by executing the configuration information on each server when the evaluated state of the executed configuration information is a stable state.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
[0052] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0053] FIG. 1 illustrates an exemplary network architecture for implementing a configuration system for updating configuration information in a network in real-time, in accordance with an embodiment of the present disclosure.
[0054] FIG. 2 illustrates an exemplary system architecture for updating configuration information of a plurality of servers in the real-time, in accordance with an embodiment of the present disclosure.
[0055] FIG. 3 illustrates a block diagram of the configuration system, in accordance with an embodiment of the present disclosure.
[0056] FIG. 4 illustrates an exemplary representation of various process types in a 5-blade server network, in accordance with an embodiment of the present disclosure.
[0057] FIG. 5 illustrates an exemplary flow chart illustrating a method for updating configuration information within the network in real-time, in accordance with an embodiment of the present disclosure.
[0058] FIG. 6 illustrates an example computer system in which or with which the embodiments of the present disclosure may be implemented.
[0059] 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 – Plurality of Users
104-1, 104-2…104-N – Plurality of User Equipments
106 – Network
108 – System
200 – System Architecture
220a, 220b, 220c – A Plurality of Servers
300 – Block Diagram
302 – Receiving Unit
304 – Memory
306 – A Plurality of Interfaces
308 – Processing Unit
310 – Communication Unit
600– Computing System
610 – External Storage Device
620 – Bus
630 – Main Memory
640 – Read Only Memory
650 – Mass Storage Device
660 – Communication Port
670 – Processor
DETAILED DESCRIPTION
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] The word “exemplary” and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term “comprising” as an open transition word without precluding any additional or other elements.
[0065] 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.
[0066] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.
[0067] 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.
[0068] As the telecommunications industry evolves, the performance requirements for network systems are becoming increasingly stringent. To address these demands, networks deploy a large number of components in a distributed manner. Updating configuration information across such a network is challenging, particularly in maintaining consistency. Accurate and efficient updates are essential to meet the network's performance needs.
[0069] In conventional systems, the configuration information (configuration data) is stored in a centralized database. Servers periodically poll this central database to retrieve the latest configuration data. When updated information is available, the servers immediately update their configurations. If updates are not available, the servers proactively attempt to retrieve the latest data at subsequent polling intervals. This centralized approach poses significant risks; the entire network may be affected if issues arise with the configuration system. Additionally, periodic polling can lead to inconsistencies, with some servers operating with outdated configurations while others use the new settings.
[0070] An alternative method involves using asynchronous messaging mechanisms, such as a message queue (MQ), to receive configuration updates. This approach allows for automatic updates of local configuration files but faces challenges like real-time processing limitations and high overhead.
[0071] Maintaining a consistent configuration file for each process on the same server or across different servers is a complex task in multi-server and multi-process architectures. Command line interfaces (CLI) are often used for updates, but they require users to input command syntax and arguments, which can be prone to errors and time-consuming.
[0072] The present disclosure addresses these challenges by introducing systems and methods that ensure uniform configuration information across all processes, regardless of server or location, while eliminating dependencies on individual network nodes. This approach aims to resolve issues with centralized configuration systems and asynchronous messaging methods by providing real-time updates to configuration files, ensuring consistent and efficient network management.
[0073] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.
[0074] FIG. 1 illustrates an exemplary network architecture (100) for implementing a configuration system (108) for updating configuration information within a network (106) in real-time, in accordance with an embodiment of the present disclosure.
[0075] As illustrated in FIG. 1, the network architecture (100) may include one or more user equipments (UEs) (104-1, 104-2…104-N) associated with one or more users (102-1, 102-2…102-N) in an environment. A person of ordinary skill in the art will understand that one or more users (102-1, 102-2…102-N) may collectively referred to as the user (102). Similarly, a person of ordinary skill in the art will understand that one or more UEs (104-1, 104-2…104-N) may be collectively referred to as the UE (104). Although only three UEs (104) are depicted in FIG. 1, however, any number of the UE (104) may be included without departing from the scope of the ongoing description.
[0076] In an embodiment, the UE (104) may include smart devices operating in a smart environment, for example, an Internet of Things (IoT) system. In such an embodiment, the UE (104) may include, but is not limited to, smartphones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users (102) and/or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the UE (104) may include, but not limited to, intelligent, multi-sensing, network-connected devices that may integrate seamlessly with each other and/or with a central server or a cloud-computing system or any other device that is network-connected. A person of ordinary skill in the art will appreciate that the UE (104) may not be restricted to the mentioned devices and various other devices may be used.
[0077] Referring to FIG. 1, the UE (104) may communicate with the configuration system (108) through the network (106) to send or receive various types of data. In an embodiment, the network (106) may include at least one of a 3G network, 4G network, 5G network, 6G network, or the like. The network (106) may enable the UE (104) to communicate with other devices in the network architecture (100) and/or with the configuration system (108). The network (106) may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network (106) may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, or the like.
[0078] In FIG. 1, the UE (104) may communicate with the configuration system (108) through the network (106). In particular, the UE (104) may be communicatively coupled with the network (106). The coupling includes steps of receiving by the network (106) and a connection request from the UE (104). Upon receiving the connection request, the coupling includes steps of sending, by the network (106), an acknowledgment of the connection request to the UE (104). Further, the coupling includes steps of transmitting a plurality of signals in response to the connection request. The plurality of signals is responsible for communicating with the configuration system (108) to update the configuration information in real-time.
[0079] In an embodiment, the network (106) may include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network (106) may also include, by way of example but not limitation, one or more of a wireless network, 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.
[0080] Within the network, several types of session initiation protocol (SIP) servers known as CSCF are used to process SIP signaling packets in the IMS network. The CSCF is responsible for SIP session control, user authentication, call routing, and controlling the generation of call detail records (CDRs). The P-CSCF is a first point of contact for the network, and the P-CSCF forwards the registration requests received from the UE to an interrogating CSCF (I-CSCF) and forwards the SIP messages to a serving CSCF (S-CSCF). The I-CSCF interrogates the HSS to obtain the address of a relevant S-CSCF to process the SIP initiation request. The I-CSCF interconnects with an interconnect session border controller (I-SBC) that addresses the boundary requirements where network service provides interconnect and exchange inbound and outbound SIP sessions. The S-CSCF is the central node of the signaling plane. The S-CSCF handles SIP registrations of mobile users. A Breakout Gateway Control Function (BGCF) is a SIP proxy server which includes routing functionality based on mobile customer telephone numbers. The BGCF provides breakout functionality in the IMS network which allows communication between different networks, such as a packet-switched (PS) network and a circuit-switched (CS) network. The BGCF is used for routing calls from the network to a phone in the CS network, e.g., the public switched telephone network (PSTN) or public land mobile network (PLMN). The BGCF forwards the signaling to the selected PSTN/PLMN network with the help of a media gateway control function (MGCF) that acts as a gateway to the PSTN/CS network over the network. The S-CSCF, I-CSCF and BGCF together form a SIB module of the network.
[0081] 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).
[0082] FIG. 2 illustrates another exemplary system architecture (200) for updating the configuration information of a plurality of servers (220a, 220b, 220c) simultaneously in real-time, in accordance with an embodiment of the present disclosure.
[0083] Referring to FIG. 2, the user equipment (104) is configured to generate a user request for updating the configuration information of the network (106). The user request may include several key components to ensure a smooth and effective update process. First, the user request may specify the current configuration settings that need to be changed, providing a detailed description or file of the existing configuration. Next, the user request may outline the desired changes, including any new parameters, updated values, or additional settings that should be applied. The user request may also include required configuration information for the changes, such as performance improvements, new features, or security enhancements. Additionally, the user request may indicate the priority and timing for the update, specifying whether the changes are urgent or can be scheduled during a maintenance window. To ensure proper implementation, the user request may include specific instructions for applying the updates, such as detailed steps or scripts to be used. The user request may include value regarding confirmation and validation of the update process, asking for notifications or reports to verify that the changes have been applied correctly and that the system is functioning as expected.
[0084] The user equipment (104) is configured to communicate with one or more networks. In some examples, the user equipment (104) is implemented as any type of user equipment (104) for hosting a webpage or website accessible via the network, such as, but without limitation, a web server, application server, cloud server, or other host. For example, the user equipment (104) acts as a management server capable of communicating data with respect to the device(s). The management server provides access to the hardware resources required for establishing network connectivity.
[0085] In an embodiment, the user request for updating the configuration information may encompass various aspects, including the deletion, change, or updating of the existing settings. In an aspect, the user request may include:
• Deletion of Existing Settings: The user may specify certain configuration parameters or settings that need to be removed from the current configuration.
• Modification of Current Settings: The request might include detailed instructions for altering the existing configuration parameters. This may involve adjusting values, changing operational modes, or reconfiguring components to better align with updated requirements or to improve system performance.
• Addition of New Settings: The user may also request the inclusion of new configuration settings that were not previously part of the system.
[0086] In an aspect, the plurality of servers (220a, 220b, 220c) may be web servers, database servers, application servers, file servers, and mail servers. For instance, the web servers manage HTTP (Hypertext Transfer Protocol) and HTTPS (Hypertext Transfer Protocol Secure) requests to deliver web content, while the database servers handle data storage, management, and queries. The application servers run business applications and support application logic. The file servers facilitate file storage and sharing, and the mail servers manage email communications, ensuring message delivery. In an aspect, the network (106) is a 5G cloud RAN, a next-generation RAN (NG-RAN), long-term evolution (LTE) RAN, a cellular network, a wireless local area network (WLAN), etc.). Each server of the plurality of servers (220a, 220b, 220c) is configured to run (execute) a plurality of processes.
[0087] The configuration system (108) is commutatively coupled to the network (106) and the user equipment (104). The configuration system (108) is configured to receive the user request from the user equipment (104). In an aspect, the user request may include at least one configuration file, including the configuration information representing a number of changes to be performed on the plurality of processes running on the plurality of servers (220a, 220b, 220c). In an embodiment, the plurality of servers (220a, 220b, 220c) may be associated with at least one number of network function. In an aspect, the at least one number of network function may be an access and mobility management function, a session management function and a SIB module. The plurality of servers (220a, 220b, 220c) may be configured to process the at least one request associated with at least one process associated with different components of SIB module such as High Availability (HA) Manager process, and Logger Manager (LGM) process etc. The configuration file includes specific configuration information related to one or more program files associated with the plurality of processes. The configuration file may include detailed changes to be made to the plurality of servers (220a, 220b, 220c). The configuration file is a metadata file encompassing multiple configuration files, each corresponding to different processes. The metadata file organizes and specifies the relationships between these configuration files and their respective process types, ensuring a structured and comprehensive update to the network.
[0088] Upon receiving the configuration file, the configuration system (108) is configured to establish a connection with at least one server of the plurality of servers (220a, 220b, 220c). After establishing the connection with the at least one server, the at least one server is configured to receive the configuration file from the configuration system (108). In an aspect, the configuration system (108) or the connected at least one server is configured to communicate at least one copy of the received configuration file to each server of the plurality of servers (220a, 220b, 220c).
[0089] The configuration system (108) is configured to extract a plurality of information from the received configuration file. In an example, the plurality of information includes a specific process type (provided by the user using the receiving unit) that may be configured, a set of commands to be processed to make suitable changes in the specific process, a sequence of the processes to be served, a specific processes to be served first, and an active timer, and the required space (memory) required for executing the configuration file. Based on the extracted information, the configuration system (108) is configured to determine the specific process running on the at least one server. Furthermore, the configuration system (108) is configured to determine a status of the determined process (specific process) running on the connected server. In an example, the status of the process may be an active status or a standby status. The active status and the standby status refer to distinct operational states of the processes running on connected servers. A process with the active status is currently operational and handling tasks or services. It is the primary process responsible for executing its designated functions, processing requests, and managing workload in real-time. The active status indicates that the process is fully engaged in its role and provides the necessary services or resources to the network or application. A process with the standby status is not actively handling tasks or services but is ready to take over if needed. This process remains passive, monitoring and waiting to become active in the event of a failure or when required.
[0090] If the determined status of the process is the standby status, then the configuration system (108) is configured to execute the stored configuration file on the connected server. In an example, the configuration system (108) is configured to take a backup of an existing configuration file. In a first step, the configuration system (108) is configured to kill the process having the standby status and check whether this comes up as a standby or not. After the standby process is terminated, the configuration system (108) is configured to verify whether the process restarts correctly and resumes its standby role. This involves monitoring and evaluating the behavior of the process to ensure it transitions back into standby status as intended. The configuration system (108) monitors various attributes and indicators to validate that the process is in the standby status. This might include checking system logs, status flags, or process management tools to ensure the process is not erroneously performing active duties or engaging in tasks meant for an operational state. If the standby process successfully restarts and returns to standby status, the configuration system (108) applies the same procedure to all other processes in the network. For example, the configuration system (108) is configured to kill the standby process of every type of process type. After the execution of the configuration information, the configuration system (108) is configured to determine the stability of the executed configuration file on the connected server. To determine the stability of the executed configuration information, the configuration system (108) may evaluate several factors. The configuration system monitors performance metrics like central processing unit (CPU) and memory usage to ensure they remain within normal ranges. The system checks error logs for new issues and verifies that all processes and services are running correctly. Additionally, the configuration system (108) assesses the server's performance under typical loads and tests failover mechanisms to confirm that the server remains stable and reliable after applying the configuration changes.
[0091] If the executed configuration information on the server is unstable, then the configuration system (108) is configured to roll back to the previous configuration of the server. For example, before executing the configuration information, the configuration system (108) is configured to mask an alarm. The alarm is masked to prevent unnecessary follow-up. If the server is shut down for maintenance purposes or if its settings are intentionally being changed for testing purposes, the alarm raised due to such an action may be masked.
[0092] If the executed configuration information on the server is stable, the configuration system (108) is configured to execute the received configuration file on each server of the plurality of servers (220a, 220b, 220c). The configuration system (108) is configured to kill the rest of the standby processes, followed by all the active processes. In an example, after executing the configuration information, the configuration system (108) is configured to unmask the alarm.
[0093] After executing the configuration file on each server, the configuration system (108) is configured to notify the user equipment (104) regarding a status of the executed configuration information. For example, the status may be successful or failure.
[0094] In an operative aspect, the configuration system (108) is configured to update the configuration of the plurality of servers (220a, 220b, 220c) in real-time, without having any dependencies on a single server. Also, the configuration system (108) is configured to update the configuration of the plurality of servers (220a, 220b, 220c) with zero downtime of the network (106). In an aspect, the configuration system (108) is configured to check any new updates from the user equipment (104) and update the configuration of the plurality of servers (220a, 220b, 220c) automatically. The configuration system (108) is configured to execute the configuration file on a selected server at first, and after executing the configuration file on a large scale, therefore is less error-prone. In case, if the configuration system (108) finds any failure in execution then the configuration system (108) will restore the server (system) as it was.
[0095] FIG. 3 illustrates a block diagram (300) of the configuration system (108), in accordance with an embodiment of the present disclosure. As shown in FIG. 3, the configuration system (108) may include a receiving unit (302), a memory (304), a processing unit (308), a communication unit (310), and the database (312).
[0096] The receiving unit (302) is configured to receive the at least one configuration file containing the configuration information from the user equipment. The receiving unit (302) is configured to extract the configuration information from the at least one configuration file. In an aspect, the configuration information is associated with one or more program files for the plurality of processes. In an aspect, the configuration information comprises specific settings or instructions that control the behavior and operation of various processes within the server. This information is associated with the one or more program files, each managing different functions of the system. For example, in the server with user authentication, data processing, and reporting processes, the configuration system might receive the configuration file detailing changes to these operations. In an embodiment, in case of the S-CSCF, of the SIB module, the receiving unit (302) may receive the configuration information related to at least one process such as call setup, session management, or user registration. In case of the I-CSCF, the receiving unit (302) may receive the configuration information corresponding to routing the at least one request to the appropriate S-CSCF based on user profiles. Further, for the BGCF, the receiving unit (3022) may receive the configuration information that may pertain to the at least one process that includes managing the interconnection between different networks during a call. The configuration information may include distinct program files such as a user authentication program file for managing login protocols and security settings, a data processing program file for defining rules for data handling and processing, and a reporting service program file for specifying report formats and schedules. The configuration file may include new security protocols, updated data processing rules, and modified reporting formats, which are applied to the corresponding program files to implement the desired updates to the server. In an example, the receiving unit (302) is further configured to process the received configuration file. In an aspect, the processing of the at least one received configuration file may include parsing the configuration file to extract the configuration information, and validating the integrity and correctness of the extracted configuration information.
[0097] The memory (304) is configured to store the received configuration file(s) and data corresponding to the extracted received configuration information. The memory (304) is configured to keep a copy of the configuration files running on the server. The memory (304) may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory (304) 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.
[0098] The processing unit (308) is configured to couple with the receiving unit (302) and the memory (304). The processing unit (308) is configured to receive the configuration information from the memory (304). The processing unit (308) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that process data based on operational instructions. Among other capabilities, the processing unit (308) may be configured to fetch and execute computer-readable instructions stored in the memory (304) of the configuration system (108).
[0099] In an embodiment, the processing unit (308) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing unit (308). 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 unit (308) may be processor-executable instructions stored on a non-transitory machine-readable storage medium, and the hardware for the processing unit (308) 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 unit (308). In such examples, the system may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system and the processing resource. In other examples, the processing unit (308) may be implemented by electronic circuitry.
[00100] The processing unit (308) is configured to establish a connection with the at least one server from the plurality of servers (220a, 220b, 220c) based on a set of parameters. To establish the connection with the at least one server, the processing unit (308) may follow the below steps:
• send a request to the server using the specified address and port, including necessary connection parameters.
• provide authentication credentials for verification and authorization to ensure proper access rights.
• agree on communication protocols and settings, then establish the connection by confirming the server is reachable.
• confirm the connection is operational by performing a test to ensure data can be exchanged correctly.
[00101] In an aspect, the set of parameters includes server load balancing criteria, authentication credentials, and error handling rules. In an aspect, the server load balancing criteria dictates how the connection request is distributed among servers to optimize resource utilization and prevent overload. Additionally, the set of parameters includes authentication credentials required to securely verify and authorize access to the server, ensuring that only permitted entities can establish the connection. Furthermore, the set of parameters includes error handling rules that define procedures for managing and responding to potential connection failures or anomalies, thereby maintaining connection reliability and system stability.
[00102] The plurality of processes runs on each of the plurality of servers (220a, 220b, 220c). In an example, the plurality of processes includes a high availability manager (HA) process, a logger manager (LGM) process, a fault and configuration manager (SYSM) process, a diameter load balancer (DIALB) process, a legal intercept manager (LIM) process, a business logic processor (sib) process, a SIP load balancer (SIPLB) process and a configuration path process. During the HA process, the server acting as a high availability manager allows other servers (acting as slaves) to make themselves highly available. The HA process is responsible for managing the availability of the servers within the network. It enables other servers, designated as slave nodes, to achieve high availability by coordinating failover and redundancy mechanisms. This process ensures that the network remains operational even if individual servers encounter failures. The LGM process is configured to manage and monitor logging processes in a computer system (server). The LGM process allows an operator to configure logging settings, filter logs, and analyze log data. The LGM provides functionality for configuring logging settings, filtering log entries, and analyzing log data. This process allows operators to monitor system performance, track errors, and maintain comprehensive logs for troubleshooting and auditing purposes. The DIALB process is configured to distribute signaling traffic across multiple servers in the network (106), thereby achieving high scalability and availability. The DIALB process is tasked with distributing Diameter signaling traffic across multiple servers within the network. This load balancing function enhances the scalability and availability of network services by ensuring that no single server becomes a bottleneck. The LIM process is configured to intercept and monitor electronic communications, such as phone calls, emails, and messaging apps, per applicable laws and regulations. The SYSM process monitors and manages system faults and configuration settings. It is responsible for detecting and responding to system faults and managing configuration changes to maintain optimal system performance and stability.
[00103] In an embodiment, the sib process may include various processes running on the various business logic processors (sib01, sib11, sib21, sib31… etc) within the SIB module. Each business logic processor is tailored for specific functions related to session management, call processing, and multimedia service features of the SIB module. For example, sib11, sib111, sib211 might handle core call setup and teardown processes. Further, sib21, sib121, sib221 could be focused on monitoring call quality or integrating with external services. Additional instances like sib31 and sib41 expand functionality, possibly dealing with more complex features such as call routing or media handling. The SIB process is responsible for updating and managing the various functions of the SIB module, which contains critical system configuration and operational data. This process ensures that business logic and system configurations are accurately maintained. The SIPLB process is configured to distribute incoming session initiation protocol (SIP) traffic across multiple servers to improve call handling and scalability. The configuration path process involves setting parameters in a configuration file, applying patches, and establishing system settings. The configuration path process guarantees that these steps are carried out in the proper sequence, ensuring the system achieves the desired configuration state. The configuration path process involves managing multiple locations for configuration files, which depends on the specific file that needs to be updated. In an aspect, the system includes a master dictionary file, which serves as a centralized reference for all configuration files. The master dictionary file specifies each configuration file along with its corresponding path, allowing for easy identification and access. When an update is needed, the system refers to the master dictionary file to locate the correct configuration file. Additionally, there is a data dictionary file that supports the configuration paths. The master dictionary file helps to organize and define the structure of the configuration files, ensuring consistency and clarity in how configurations are applied across the system. By using these structured paths and files, the process of updating configurations becomes more efficient and manageable. In an example, if the user wants to update the server configuration, the system may look up “server_config” in the master dictionary file. The master dictionary file informs that the server configuration is located at /etc/app/config/server.json. In an example, the configuration path process may include the specific configuration path for each process that needs to be updated.
[00104] In an example, the user may input, using the receiving unit (302), the at least one process for which updation is required. In an aspect, the processing unit (308) is configured to identify and modify the configuration for at least one inputted process (specific process). For example, if the at least one inputted process is “process A”, the processing unit may search the master dictionary file to locate the process. For example, the master dictionary file may contain a plurality of paths for various processes. Once the path is identified, the processing unit may access process A and update the necessary parameters associated with the “process A". The configuration information corresponding to the specified process is required to be updated on each server. For example, consider the "call handling process" as the specific process needing configuration updates. Upon receiving the user input, the processing unit (308) is configured to execute a series of steps to update the configuration information related to the call handling process across each server. The processing unit identifies the relevant servers involved in call handling, specifically the Serving Call Session Control Function (S-CSCF), the Interrogating Call Session Control Function (I-CSCF), and the Border Gateway Control Function (BGCF). The processing unit retrieves the existing configuration for the call handling process from each server to understand the current settings.
[00105] The processing unit (308) is configured to determine the status of the at least one process (process A) from the plurality of processes running on the at least one server. The status of each process is classified as either the "active status" or the "standby status." Specifically, the "active status" indicates that the process is currently operational, actively managing tasks and performing its designated functions within the system. Conversely, the "standby status" signifies that the process is in a non-operational state, remaining idle and prepared to assume operational duties if an active process fails or requires replacement. To determine the status of the at least one process, the processing unit (308) may monitor resource usage of the server to check if the at least one process is actively executing tasks or idling. Additionally, the processing unit (308) may review system logs (server logs) or use management tools to query and verify whether the at least one process is operational ("active") or in a ready status ("standby").
[00106] The processing unit (308) is configured to execute the configuration information on the at least one process if the determined status of the at least one process is the standby status. In an embodiment, the processing unit (308) is configured to store the received configuration file on each server of the plurality of servers (220a, 220b, 220c) before executing the configuration information on the at least one server.
[00107] In an operative aspect, upon confirming the standby status, the processing unit (308) retrieves and loads the relevant configuration information, which includes the new settings or updates to be applied. The processing unit (308) executes the configuration information by applying the updates to the standby process. In an aspect, the execution of the configuration information may involve modifying the process’s parameters, operational settings, or associated program files as specified in the configuration information. After executing the configuration information, the processing unit (308) may validate that the updates have been correctly implemented and that the standby process is now prepared with the new settings. This may involve checking logs or performing tests to ensure successful application. In an embodiment, the processing unit (308) is configured to store current configuration information of the at least one server as a current configuration file in the memory (304).
[00108] The processing unit (308) is configured to evaluate the state of the at least one process after executing the configuration information based on the one or more attributes. In an aspect, to evaluate the state of the at least one process, the processing unit (308) is configured to initiate an assessment of the state of the at least one process to determine its operational status and performance. The processing unit (308) utilizes the one or more attributes to guide the evaluation. In an example, the one or more attributes may include metrics such as process responsiveness, resource utilization (e.g., CPU and memory usage), error rates, and server log entries. The processing unit (308) collects data corresponding to the defined attributes and analyzes this data to assess whether the process is operating correctly. This involves comparing current performance metrics and server behaviors against expected criteria. Based on the analysis of the attributes, the processing unit (308) determines whether the state of the process is the stable state.
[00109] Once it is determined that the evaluated state of the executed configuration information is the stable state, the processing unit (308) is configured to update the configuration information on each server. This involves systematically applying the verified configuration changes to all servers within the network to ensure uniformity and consistency. After the configuration information has been executed on each server, the processing unit (308) continues to monitor and validate the updates to confirm that each server is operating according to the new configuration information and that the overall system performance remains optimal.
[00110] In an embodiment, the evaluated state of the executed configuration information is the stable state, the processing unit (308) is configured to execute the configuration information on each process having the active status. Upon confirmation that the configuration file achieves the stable state, the processing unit (308) then applies the configuration information to all processes currently in the active status. This ensures that the configuration updates are consistently applied to processes that are actively engaged in operations, thereby maintaining integrity and ensuring that all active processes function according to the configuration information.
[00111] In an embodiment, the processing unit (308) is configured to execute the current configuration information of the evaluated state of the executed configuration information is determined has an unstable state. Specifically, when the processing unit (308) identifies that the configuration information has resulted in an unstable state (characterized by errors, performance degradation, or other anomalies), then the processing unit (308) is configured to apply the current configuration information to restore or adjust the process to the stable state. In an aspect, this corrective action involves overwriting or modifying the existing configuration to address any instability issues, thereby ensuring that the system reverts to or adopts a more stable configuration.
[00112] In an embodiment, the processing unit (308) is configured to mask an alarm before executing the configuration information on the at least one server. By employing this masking step, the processing unit (308) is configured to mask the alarm to suppress one or more alarm signals that may be triggered during the execution of the configuration information. The processing unit (308) temporarily disables or hides alarm notifications to prevent interruptions that could occur as a result of configuration changes. By masking these alarms, the processing unit (308) ensures that the configuration execution process proceeds smoothly and without unnecessary disruption, allowing for a seamless update of the server’s settings or parameters. Once the configuration information has been successfully executed, the processing unit (308) is configured to unmask the alarm, thereby reinstating the normal alerting and monitoring functions of the server or system. By unmasking the alarm, the processing unit (308) ensures that the server or system resumes its standard monitoring procedures, allowing it to detect and report any actual issues or errors that may arise post-configuration.
[00113] In an embodiment, the configuration system (108) may include an interface(s) (306). The interface(s) (306) may comprise a variety of interfaces, for example, interfaces for data input and output devices (I/O), storage devices, and the like. The interface(s) (306) may also provide a communication pathway for one or more components of the configuration system (108). Examples of such components include, but are not limited to, a processing engine and the database (312).
[00114] In an embodiment, the configuration system includes a communication unit (310) configured to communicate an outcome message representing one of a successful execution and a failed execution of the configuration information. The communication unit (310) has at least one antenna for transmitting and receiving communications packets or records to/from the cloud server. In some examples, at least one antenna is a near-field antenna, a Wi-Fi antenna, and a radio frequency antenna.
[00115] In an embodiment, the database (312) may store data that may be generated as a result of functionalities implemented by any of the components of the configuration system (108). In an embodiment, the database (312) may be indicative of including, but not limited to, a relational database, a distributed database, a cloud-based database, or the like. In an exemplary embodiment, the processing unit (308) may include one or more units having functions that may include, but are not limited to, testing, storage, and peripheral functions, such as a wireless communication unit for remote operation and the like.
[00116] FIG. 4 illustrates an exemplary representation (400) of various process types in a 5-blade server network (SIB module), in accordance with an embodiment of the present disclosure. In an embodiment, the 5-blade server network consists of multiple blades and components that facilitate efficient signaling, session management, and service delivery through the integration of S-CSCF, I-CSCF, and BGCF functionalities in the SIB module. In an embodiment, the representation (400) is comprised of multiple blade servers, each integrating a variety of applications and processes critical for managing intricate network operations. The 5-blade server network includes five individual blade servers. Each blade server can operate independently but can also work in conjunction with the others, sharing resources through the chassis and potentially collaborating on tasks or workloads. In an embodiment, the representation (400) is comprised of multiple blade servers, each integrating a variety of applications and processes critical for managing intricate network operations. Specifically, Blade Server 1 (Blade1), Blade Server 2 (Blade2), Blade Server 3 (Blade3), Blade Server 4 (Blade4), and Blade Server 5 (Blade5) are part of the servers, with each blade hosting distinct applications and running various processes. Blade1, designated as the Master Availability Manager (HA(M)), oversees overall high availability management across the network, ensuring that services remain uninterrupted by managing redundancy and failover processes. Blade2, classified as the Slave Availability Manager (HA(S)), works in conjunction with the master server to support high availability and handle failover scenarios, thus enhancing the system’s resilience. Blade3, Blade4 and Blade5 are categorized based on their performance capabilities, with Blade3 being the highest-performing (HA(PL1)), Blade4 having a moderate performance level (HA(PL2)), and Blade5 categorized as the lowest performance level (HA(PL3)). This performance-based categorization allows for effective load balancing and resource allocation across the servers.
[00117] There may be the plurality of processes that may be running inside the plurality of applications. In an example, the plurality of processes includes several types of processes for e.g., the LGM process, the HA process, the SYSM process, the DIALB process, the LIM process, the SIB process, the SIPLB process and like so.
[00118] In an example, the HA process provides a specialized messaging mechanism that may enable the plurality of processes to exchange information about their current state. Each process sends information related to its current state and may register itself to get notified when the state of the other plurality of processes changes. In an example, the blade 1 server may be categorized as a master availability manager HA(M) and the blade 2 server may be categorized as a slave availability manager HA(S). In an example, the other blade servers may be categorized based upon their performance levels, for e.g., an HA with the highest performance level may be categorized as HA(PL1) and an HA with a moderate performance level may be categorized as HA(PL2), and an HA with low performance level may be categorized as HA(PL3).
[00119] As shown in FIG. 4, the various process types include a range of specialized processes running within the plurality of servers. The Logger Manager (LGM) process, for instance, is responsible for capturing and managing log data, recording system events, errors, and operational details to facilitate troubleshooting and performance monitoring. The High Availability (HA) Manager process provides a specialized messaging mechanism that enables inter-process communication regarding their operational states. Each process can send updates about its status and subscribe to notifications about other processes states, thereby maintaining synchronization and responding to system changes in real-time.
[00120] Additionally, the processes such as the Fault and Configuration Manager (SYSM) handle system fault detection and configuration management, ensuring system stability and proper settings. The Diameter Load Balancer (DIALB) distributes Diameter protocol traffic to balance the load among servers, which is crucial for authentication, authorization, and accounting functions. The Legal Intercept Manager (LIM) ensures compliance with legal interception requirements by managing the monitoring of communications. The SIP Load Balancer (SIPLB) distributes SIP traffic to optimize performance and manage communication sessions efficiently. The SIPLB may include a plurality of load balancers such as SIPLB0, SIPLB1 etc. Further, multiple Business Logic Processors (sib) handle various business logic and rules essential for the applications, facilitating process automation and decision-making in the SIB module. In an embodiment, the sib may include sib01, sib11, sib21, sib31… etc., representing the various business logic processors within the SIB module. Each instance is tailored for specific functions related to session management, call processing, and multimedia service features of the SIB module. For example, sib11, sib111, sib211 might handle core call setup and teardown processes. Further, sib21, sib121, sib221 could be focused on monitoring call quality or integrating with external services. Additional instances like sib31 and sib41 expand functionality, possibly dealing with more complex features such as call routing or media handling and Integration with S-CSCF, I-CSCF, and BGCF. Thus, the configuration of blade servers and processes ensures a robust, scalable, and efficient system capable of managing complex network operations, maintaining high availability, and adhering to performance and compliance standards.
[00121] For example, the shaded portions of the exemplary representation (400) may represent the active instances, and the unshaded portions represent the standby instances.
[00122] FIG. 5 illustrates an exemplary flow diagram (500) for updating configuration information of the network having the plurality of servers (220a, 220b, 220c) in real-time, in accordance with an embodiment of the present disclosure.
[00123] Step (502) includes receiving, by the receiving unit (302), the at least one configuration file including the configuration information from the user equipment. In an aspect, the configuration information is associated with the one or more program files for the plurality of processes. In an aspect, the configuration information comprises specific settings or instructions that control the behavior and operation of various processes within the server.
[00124] Step (504) includes storing, by the memory (304), the at least one received configuration file.
[00125] Step (506) includes establishing, by the processing unit (308), a connection with the at least one server from the plurality of servers (220a, 220b, 220c) based on the set of parameters. The plurality of processes runs on each of the plurality of servers (220a, 220b, 220c). After establishing the connection with the at least one server, the at least one server is configured to receive the configuration file from the configuration system (108). In an aspect, the configuration system (108) or the connected at least one server is configured to communicate at least one copy of the received configuration file to each server of the plurality of servers (220a, 220b, 220c).
[00126] Step (508) includes determining, by the processing unit (308), the status of the at least one process from the plurality of processes concurrently executing on at least one server. In this context, the status of the at least one process is categorized into one of two: an active status, which signifies that the at least one process is actively engaged in executing the designated tasks or functions, and a standby status, which denotes that the at least one process is not currently active but is in a ready state to be transitioned to active status as required. To determine the status of the at least one process, the processing unit (308) may monitor resource usage of the server to check if the at least one process is actively executing tasks or idling. Additionally, the processing unit (308) may review system logs (server logs) or use management tools to determine the status of the at least one process.
[00127] Step (510) includes executing, by the processing unit (308), the configuration information on the at least one process. Step (510) is carried out if the determined status of at least one process is the standby state. The processing unit (308) executes the configuration information by applying the updates to the standby process. In an aspect, the execution of the configuration information may involve modifying the process’s parameters, operational settings, or associated program files as specified in the configuration information. In an aspect, the method further includes storing, by the processing unit (308), current configuration information of the at least one server as a current configuration file in the memory (304) before executing the configuration information on the at least one process. In another aspect, the method further includes storing, by the processing unit (308), the received configuration file on each server of the plurality of servers (220a, 220b, 220c) before executing the configuration information on the at least one server.
[00128] Step (512) includes evaluating, by the processing unit (308), a state of the at least one process after executing the configuration information based on one or more attributes. In an aspect, to evaluate the state of the at least one process, the processing unit (308) is configured to initiate an assessment of the state of the at least one process to evaluate its operational status and performance. In an example, the one or more attributes may include metrics such as process responsiveness, resource utilization (e.g., CPU and memory usage), error rates, and server log entries. In an aspect, to determine the state of the standby process, the processing unit (308) is configured to identify the process ID (PID). When the configuration information is executed, the PID should remain constant if the process is merely idling or in standby mode. A change in the PID indicates that a new instance of the process has started or that its state has shifted. Additionally, the processing unit (308) can monitor the status of the standby process by executing a plurality of commands. These commands provide insights into whether the process is running, sleeping, or in another state, along with its PID. This monitoring ensures that the standby process is properly tracked and managed.
[00129] Step (514) includes updating the configuration information on each server of the plurality of servers (220a, 220b, 220c) by the processing unit (308) by executing the configuration information on each server when the evaluated state of the executed configuration information is stable. In an aspect, the method further includes executing, by the processing unit (308), the configuration information for each process having the active status if the evaluated state of the executed configuration file is the stable state. In an aspect, the method further includes executing, by the processing unit (308), the current configuration information, when the evaluated state of the executed configuration information is an unstable state.
[00130] In an aspect, the method further includes communicating, by a communication unit, an outcome message representing one of a successful execution and a failed execution of the configuration information.
[00131] In an aspect, the method further includes masking, by the processing unit (308), an alarm before executing the configuration information on the at least one server to suppress one or more alarm signals triggered during the execution of the configuration information.
[00132] In an aspect, the method further includes unmasking, by the processing unit (308), the alarm after executing the configuration information on the at least one server to resume monitoring for any actual issues or errors.
[00133] In an embodiment, the present disclosure is configured to employ the following steps of the configuration update process:
• Storing an updated configuration file (For example, config_v2.cfg) that the user wants to apply to a network of servers. Place this file at a specific location, such as /configs/new/, on a server 1.
• Executing a script to start the process of updating the configuration. In an aspect, this script is designed to handle the update process automatically.
• Identifying the Desired Process Type as the user needs to update the configuration for a specific type of service, such as WebServer.
• Determining, on server1, the standby process for the Desired Process Type (for example, WebServer type).
• Creating a backup of the existing WebServer configuration file, config_current.cfg, in case the system needs to revert to it later.
• Distributing Configuration File (config_v2.cfg) to the same directory (/configs/new/) on all other servers (server2, server3, etc.) to ensure consistency across the network.
• Masking Alarms that could trigger during the configuration update to prevent disruptions.
• Terminating Standby Processes (standby WebServer process) on each server. This allows the new configuration to be applied without interference.
• Verifying Process Stability by restarting the standby WebServer process and checking its stability, ensuring it runs correctly with the new configuration.
• Applying Changes Based on Stability:
? If the standby WebServer process on server1 is stable, proceed to terminate all other standby WebServer processes and then stop all active WebServer processes to complete the update.
? If the standby process is unstable, revert to the backup configuration (config_current.cfg) and restart the necessary processes to reflect the original settings.
• Unmasking Alarms by Reactivating any alarms that were previously disabled to ensure that system monitoring resumes as normal.
• Providing a final status message. For example, "Configuration update successful" means all processes are stable and running with the new configuration, and "Configuration update failed" means there are issues, and the system reverts to the original settings.
[00134] In another exemplary embodiment, the user equipment (UE) communicatively coupled to a network in real-time is described. The coupling includes steps of receiving, by the network, a connection request from the UE. The coupling includes sending, by the network, an acknowledgment of the connection request to the UE. The coupling includes transmitting a plurality of signals in response to the connection request. The network is configured to execute the method (500) for updating the configuration information within the network in real-time.
[00135] FIG. 6 illustrates an exemplary computer system (600) in which or with which embodiments of the present disclosure may be implemented.
[00136] 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), communication port(s) (660), and a processor (670). A person skilled in the art will appreciate that the computer system 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 other existing or future ports. The communication port(s) (660) may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system connects.
[00137] 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) chips 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, which can be used to store information and/or instructions. Exemplary mass storage device (650) includes, but is not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks.
[00138] The bus (620) communicatively couples the processor (670) with the other memory, storage, and communication blocks. The bus (620) may be, e.g., a Peripheral Component Interconnect / Peripheral Component Interconnect Extended 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.
[00139] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (620) to support direct operator interaction with the computer system. Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) (660). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
[00140] In another exemplary embodiment, the present disclosure discloses a user equipment communicatively coupled to the system (108) in real-time. The coupling includes steps of sending, by the user equipment, at least one configuration file comprising the configuration information. The system is configured to receive the at least one configuration file from the user equipment and store the at least one received configuration file. The system is configured to establish a connection with at least one server from a plurality of servers, wherein a plurality of processes is running on each of the plurality of servers. The system is configured to determine a status of at least one process from the plurality of processes running on the at least one server. The status of the at least one process is one of an active status and a standby status. The system is configured to execute the configuration information on the at least one process if the determined status of the at least one process is the standby status. The system is configured to evaluate a state of the at least one process after executing the configuration information based on one or more attributes. The system is configured to update the configuration information on each server of the plurality of servers by executing the configuration information on each server when the evaluated state of the executed configuration information is a stable state.
[00141] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
[00142] The present disclosure provides a technical advancement related to maintaining consistent configuration information across multi-server and multi-process architectures. Existing solutions, typically involving command line interfaces (CLI), often encounter reliability issues and fail to ensure uniform configuration updates across all processes. The disclosed solution addresses these limitations by introducing a more robust method for configuration management. This method involves placing the updated configuration file at a designated location and executing the configuration information to propagate the changes. The process begins by copying the updated configuration file to all servers. The configuration information then terminates the standby process and verifies whether it restarts correctly as a standby process. If successful, the configuration information proceeds to replicate the update across all remaining processes. If the standby process fails to restart, the configuration information reverts the configuration to its previous state. This inventive approach offers significant improvements in reliability and consistency of configuration updates, enhancing the overall stability and manageability of the network system.
[00143] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
TECHNICAL ADVANTAGES
[00144] The present disclosure described herein above has several technical advantages including, but not limited to, the realization of a configuration system for updating configuration information in a network in real-time that:
• synchronizes configuration changes across a distributed environment, ensuring that all targeted servers receive and apply updates without delay or manual intervention;
• ensures uniformity by maintaining an identical configuration file for each process, regardless of whether it runs on the same server or a different server. This uniformity ensures consistent behavior and performance of processes across various servers, simplifying configuration management and reducing discrepancies;
• provides a fail-safe mechanism to revert to the previous configuration state in the event of a failure while applying a new configuration file;
• perform configuration updates without interrupting network services, ensuring continuous availability and uninterrupted operation during the update process;
• perform updates and manage configurations without requiring interdependencies or coordination with other nodes, thereby enhancing scalability and simplifying network management;
• automates the configuration processes through predefined scripts, reducing the need for manual intervention and allowing for consistent and repeatable configuration tasks;
• employs automated processes and robust validation mechanisms to minimize human errors and inaccuracies associated with manual configuration tasks, thus improving overall reliability and performance; and
• restores the system to its previous configuration state in the event of a failure during the execution of a new configuration file, ensuring that the system can recover quickly and revert to a stable configuration, thereby maintaining integrity and reducing downtime in case of configuration errors.
,CLAIMS:CLAIMS
We claim:
1 A configuration system (108) for updating configuration information within a network (106) in real-time, the configuration system (108) comprising:
a receiving unit (302) configured to receive at least one configuration file comprising the configuration information from a user equipment;
a memory (304) configured to store the at least one received configuration file;
a processing unit (308) coupled with the memory (304) to execute a set of instructions stored in the memory (304), wherein the processing unit (308) is configured to:
establish a connection with at least one server from a plurality of servers (220a, 220b, 220c), wherein a plurality of processes is running on each of the plurality of servers (220a, 220b, 220c);
determine a status of at least one process from the plurality of processes running on the at least one server, wherein the status of the at least one process is one of an active status and a standby status;
execute the configuration information on the at least one process if the determined status of the at least one process is the standby status;
evaluate a state of the at least one process after executing the configuration information based on one or more attributes; and
update the configuration information on each server of the plurality of servers (220a, 220b, 220c) by executing the configuration information on each server when the evaluated state of the executed configuration information is a stable state.
2 The configuration system (108) as claimed in claim 1, wherein the configuration information is associated with one or more program files for the plurality of processes.
3 The configuration system (108) as claimed in claim 1, wherein the plurality of processes includes a high availability manager (HA) process, a logger manager (LGM) process, a fault and configuration manager (SYSM) process, a diameter load balancer (DIALB) process, a legal intercept manager (LIM) process, a business logic processor (sib) process, a SIP load balancer (SIPLB) process and a configuration path process.
4 The configuration system (108) as claimed in claim 1, wherein the processing unit (308) is configured to execute the configuration information for each process with having the active status if the evaluated state of the executed configuration information is the stable state.
5 The configuration system (108) as claimed in claim 1, includes a communication unit (310) configured to communicate an outcome message representing one of a successful execution and a failed execution of the configuration information.
6 The configuration system (108) as claimed in claim 1, wherein the processing unit (308) is configured to store the received configuration file on each server of the plurality of servers (220a, 220b, 220c) before executing the configuration information on the at least one server.
7 The configuration system (108) as claimed in claim 1, wherein the processing unit (308) is configured to establish the connection with the at least one server based on a set of parameters including server load balancing criteria, authentication credentials, and error handling rules.
8 The configuration system (108) as claimed in claim 1, wherein the processing unit (308) is configured to:
store current configuration information of the at least one server as a current configuration file in the memory (304); and
execute the current configuration information if the evaluated state of the executed configuration information is an unstable state.
9 The configuration system (108) as claimed in claim 1, wherein the processing unit (308) is configured to mask an alarm before executing the configuration information on the at least one server to suppress one or more alarm signals triggered during the execution of the configuration information.
10 The configuration system (108) as claimed in claim 9, wherein the processing unit (308) is configured to unmask the alarm after executing the configuration information on the at least one server to resume monitoring for any actual issues or errors.
11 A method (500) for updating configuration information within a network (106) in real-time, the method (500) comprising:
receiving (502), by a receiving unit (302), at least one configuration file comprising the configuration information from a user equipment;
storing (504), by a memory (304), the at least one received configuration file;
establishing (506), by a processing unit (308), a connection with at least one server from a plurality of servers (220a, 220b, 220c), wherein a plurality of processes is running on each of the plurality of servers (220a, 220b, 220c);
determining (508), by the processing unit (308), a status of at least one process from the plurality of processes running on the at least one server, wherein the status of the at least one process is one of an active status and a standby status;
executing (510), by the processing unit (308), the configuration information on the at least one process if the determined status of the at least one process is the standby status;
evaluating (512), by the processing unit (308), a state of the at least one process after executing the configuration information based on one or more attributes; and
updating (514), by the processing unit (308), the configuration information on each server of the plurality of servers (220a, 220b, 220c) by executing the configuration information on each server when the evaluated state of the executed configuration information is a stable state.
12 The method (500) as claimed in claim 11, wherein the configuration information is associated with one or more program files for the plurality of processes.
13 The method (500) as claimed in claim 11, wherein the plurality of processes includes a high availability manager (HA) process, a logger manager (LGM) process, a fault and configuration manager (SYSM) process, a diameter load balancer (DIALB) process, a legal intercept manager (LIM) process, a business logic processor (sib) process, a SIP load balancer (SIPLB) process and a configuration path process.
14 The method (500) as claimed in claim 11, further comprising executing, by the processing unit (308), the configuration information for each process having the active status if the evaluated state of the executed configuration information is the stable state.
15 The method (500) as claimed in claim 11, further comprising communicating, by a communication unit, an outcome message representing one of a successful execution and a failed execution of the configuration information.
16 The method (500) as claimed in claim 11, further comprising storing, by the processing unit (308), the received configuration file on each server of the plurality of servers (220a, 220b, 220c) before executing the configuration information on the at least one server.
17 The method (500) as claimed in claim 11, further comprising establishing the connection with the at least one server, by the processing unit (308), based on a set of parameters including server load balancing criteria, authentication credentials and error handling rules.
18 The method (500) as claimed in claim 11, further comprising storing, by the processing unit (308), current configuration information of the at least one server as a current configuration file in the memory (304).
19 The method (500) as claimed in claim 18, further comprising executing, by the processing unit (308), the current configuration information, when the evaluated state of the executed configuration information is an unstable state.
20 The method (500) as claimed in claim 11, further comprising masking, by the processing unit (308), an alarm before executing the configuration information on the at least one server to suppress one or more alarm signals triggered during the execution of the configuration information.
21 The method (500) as claimed in claim 11, further comprising unmasking, by the processing unit (308), the alarm after executing the configuration information on the at least one server to resume monitoring for any actual issues or errors.
22 A user equipment (104) communicatively coupled to a system (108), the coupling comprises steps of:
sending, by the user equipment (104), at least one configuration file comprising the configuration information;
wherein the system is configured to:
receive the at least one configuration file from the user equipment (104);
store the at least one received configuration file;
establish a connection with at least one server from a plurality of servers (220a, 220b, 220c), wherein a plurality of processes is running on each of the plurality of servers (220a, 220b, 220c);
determine a status of at least one process from the plurality of processes running on the at least one server, wherein the status of the at least one process is one of an active status and a standby status;
execute the configuration information on the at least one process if the determined status of the at least one process is the standby status;
evaluate a state of the at least one process after executing the configuration information based on one or more attributes; and
update the configuration information on each server of the plurality of servers (220a, 220b, 220c) by executing the configuration information on each server when the evaluated state of the executed configuration information is a stable state.

Documents

Application Documents

# Name Date
1 202321073398-STATEMENT OF UNDERTAKING (FORM 3) [27-10-2023(online)].pdf 2023-10-27
2 202321073398-PROVISIONAL SPECIFICATION [27-10-2023(online)].pdf 2023-10-27
3 202321073398-FORM 1 [27-10-2023(online)].pdf 2023-10-27
4 202321073398-FIGURE OF ABSTRACT [27-10-2023(online)].pdf 2023-10-27
5 202321073398-DRAWINGS [27-10-2023(online)].pdf 2023-10-27
6 202321073398-DECLARATION OF INVENTORSHIP (FORM 5) [27-10-2023(online)].pdf 2023-10-27
7 202321073398-FORM-26 [28-11-2023(online)].pdf 2023-11-28
8 202321073398-Proof of Right [06-03-2024(online)].pdf 2024-03-06
9 202321073398-DRAWING [23-10-2024(online)].pdf 2024-10-23
10 202321073398-COMPLETE SPECIFICATION [23-10-2024(online)].pdf 2024-10-23
11 202321073398-FORM-5 [25-11-2024(online)].pdf 2024-11-25
12 Abstract.jpg 2025-01-16
13 202321073398-Power of Attorney [24-01-2025(online)].pdf 2025-01-24
14 202321073398-Form 1 (Submitted on date of filing) [24-01-2025(online)].pdf 2025-01-24
15 202321073398-Covering Letter [24-01-2025(online)].pdf 2025-01-24
16 202321073398-CERTIFIED COPIES TRANSMISSION TO IB [24-01-2025(online)].pdf 2025-01-24
17 202321073398-FORM 3 [24-02-2025(online)].pdf 2025-02-24
18 202321073398-FORM 18 [20-03-2025(online)].pdf 2025-03-20