Method and system for monitoring a performance of network node servers and applications

EP4747752A1Pending Publication Date: 2026-05-27JIO PLATFORMS LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
JIO PLATFORMS LTD
Filing Date
2024-07-18
Publication Date
2026-05-27

AI Technical Summary

Technical Problem

Existing monitoring solutions for network node servers and applications are inefficient, requiring manual intervention and lacking scalability to handle complex cloud-native systems, leading to prolonged data compilation times and ineffective performance monitoring.

Method used

A method and system for automatically collecting and correlating health check data from applications and server data from network node servers, using a data acquisition unit, storage unit, and performance monitoring module to assess performance based on predefined threshold values.

Benefits of technology

The solution significantly reduces the time required for health checks, enabling faster detection and diagnosis of performance issues, and provides a centralized, scalable platform for monitoring network node servers and applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2024051303_23012025_PF_FP_ABST
    Figure IN2024051303_23012025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method [400] and a system [300] for monitoring a performance node servers and applications. The present disclosure encompasses: a data acquisition unit [302] to automatically collect a health check data related to one or more applications, and a server data related to one or more network node servers. Further, a storage unit [304] stores the health check data and the server data at a location, where the health check data and the server data are associated with an IP address. Further, a performance monitoring module [306] corelates the health check and the server data based on the IP addresses to get a correlation data. Further, the performance monitoring module [306] assess the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND SYSTEM FOR MONITORING A PERFORMANCE OF NETWORK NODE SERVERS AND APPLICATIONSTECHNICAL FIELD

[0001] Embodiments of the present disclosure generally relate to network performance management systems. More particularly, embodiments of the present disclosure relate to methods and systems for monitoring a performance of one or more network node servers and one or more applications.BACKGROUND

[0002] The following description of the related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section is used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of the prior art.

[0003] Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements. The first generation of wireless communication technology was based on analog technology and offered only voice services. However, with the advent of the second-generation (2G) technology, digital communication and data services became possible, and text messaging was introduced. 3G technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth-generation (4G) technology revolutionized wireless communication with faster data speeds, better network coverage, and improved security. Currently, the fifth-generation (5G) technology is being deployed, promising even faster data speeds, low latency, and the ability to connect multiple devices simultaneously. With each generation, wireless communication technology has become more advanced, sophisticated, and capable of delivering more services to its users.

[0004] As networks become more architecturally complex, it’s more and more challenging to detect and diagnose application performance issues. Operators need to ensure accurate troubleshooting of applications within a hyperscale environment. This is possible by obtaining complete and granular data related to the workloads along with detailed information about theunderlying infrastructure. Monitoring systems provide insights into system health. They do so by instrumenting an application to collect and analyse data in the form of logs and metrics. Monitoring systems handle complex forms of data-holding network components that are often created and terminated. They also involve complex and distributed applications that have multiple components.

[0005] Legacy monitoring solutions were designed for much simpler systems. They lack the capability to handle the technical complexities of cloud-native applications or evolving changes related to cross-functionality. In traditional applications, where the application and the server on which the application is running was closely coupled, server metrics such as CPU usage and free memory were the best available ways to alert on user-facing issues. However, in cloud-native systems, where many different services not only share machines, but the way in which they are shared is in constant flux, such an approach is not practically scalable. Thus, it is essential to publish custom metrics of an application for constant resource monitoring and to ensure better overall application health. Further, it is not practically possible for open-source platforms to provide the necessary scalability to meet the needs of large cloud native deployments.

[0006] Network functions in a 5G communication network are deployed on multiple servers in multiple locations, and conducting daily health checks on each server and the network functions running on the server is time consuming if done manually. This process presents several challenges as it involves executing numerous commands to calculate CPU usage, memory usage, disk usage, thread count, free memory, application and server uptime, network connection status, DB status, etc. Furthermore, operations teams must consolidate all this data for each server and application into a single sheet and then assess the overall health check status of each application by comparing them with threshold values. This entire process can take several hours to complete for a single network function. For all the network functions in the network it might take days.

[0007] A network function or a network application is a piece of software that interacts with the control plane of a mobile network by consuming the exposed Application Programmable Interfaces (APIs), e.g., northbound APIs of 5G core and RAN Intelligent Controller (RIC), and edge computing APIs, in a standardized and trusted manner to compose services. These network functions simply expose services that any authorized consumer can consume. There are various applications running on servers associated with nodes in communication systems. For proper running of these applications or nodes, monitoring of certain metrics of the servers is important. For example, central processing unit (CPU) usage, memory usage, thread count, application andserver uptime, etc. need to be monitored. The issue arises when the applications are deployed in several clusters. Conducting daily health checks on each server and the network functions running on the server is time consuming if done manually. It becomes very difficult to monitor such applications deployed in various clusters. Traditionally, this monitoring is done by manual intervention which is time consuming and lacks effectiveness. Also, all the data should be collaborated in a single sheet for easy data analysis. This entire process can take several hours to complete for a single network function or a node.

[0008] Further, over the period of time various solutions have been developed to improve the performance of communication devices and to monitor performance of node servers. However, there are certain challenges with existing solutions. For example, the existing approaches include manual intervention for monitoring the performance of node servers. The existing approaches suffer from a lack of effectiveness in monitoring the performance of the servers, and also take a long time to compile the data from the servers.

[0009] Thus, there exists an imperative need in the art to provide a method and a system for monitoring performance of node servers automatically, which the present disclosure aims to address.SUMMARY

[0010] This section is provided to introduce certain aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.

[0011] An aspect of the present disclosure may relate to a method for monitoring a performance of one or more network node servers and one or more applications. The method comprising automatically collecting, by a data acquisition unit, a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications. Further, the method comprises storing, by a storage unit, the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address. Further, the method comprises retrieving, by a performance monitoring module, the health check data for the one or more applications and the server data for the one or more node servers from the storage unit.Further, the method comprises correlating, by the performance monitoring module, the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data. Further, the method comprises assessing, by the performance monitoring module, the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values.

[0012] In an exemplary aspect of the present disclosure, the health check data comprises at least a CPU usage parameter, a memory usage parameter, a thread count parameter, a database status parameter.

[0013] In an exemplary aspect of the present disclosure, the server data comprises at least a free memory parameter, a network status parameter, a server uptime parameter.

[0014] In an exemplary aspect of the present disclosure, the collecting, by the data acquisition unit, the server data is scheduled via a time-based job scheduler.

[0015] In an exemplary aspect of the present disclosure, the health check data is retrieved by the performance monitoring module using a secure file transfer protocol (SFTP).

[0016] In an exemplary aspect of the present disclosure, the server data is stored by the storage unit in a text format.

[0017] In an exemplary aspect of the present disclosure, the method further comprises collecting, by the data acquisition unit, the health check data, is performed at one of a default frequency, and a frequency determined by manual user inputs via a command line interface (CLI).

[0018] In an exemplary aspect of the present disclosure, the method further comprises determining, by the performance monitoring module, a health status of the one or more applications and the one or more node servers based on the assessment. The method further comprises populating, by the performance monitoring module, a data sheet based on the health check data, the server data, and the determined health status.

[0019] In an exemplary aspect of the present disclosure, the method comprises creating, by the performance monitoring module, a backup of the data sheet by appending a date and time for future reference.

[0020] In an exemplary aspect of the present disclosure, the one or more predefined threshold values is specified in a property file.

[0021] Another aspect of the present disclosure may relate to a system for monitoring a performance of one or more network node servers and one or more applications. The system comprises a data acquisition unit configured to automatically collect a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications. Further, the system comprises a storage unit connected to at least the data acquisition unit, wherein the storage unit is configured to store the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address. Further, the system comprises a performance monitoring module connected to at least the storage unit, wherein the performance monitoring module is configured to retrieve the health check data for the one or more applications and the server data for the one or more node servers from the storage unit. The performance monitoring module is further configured to correlate, the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data. Further, the performance monitoring module is configured to assess the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values.

[0022] Another aspect of the present disclosure may relate to a non-transitory computer readable storage medium storing instruction for monitoring a performance of one or more network node servers and one or more applications, the instructions include executable code which, when executed by one or more units of a system causes a data acquisition unit to automatically collect a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications. Further, the instructions include executable code, which when executed causes a storage unit to store the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address. Further, the instructions includeexecutable code, which when executed causes a performance monitoring module to: retrieve the health check data for the one or more applications and the server data for the one or more node servers from the storage unit; correlate, the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data; and assess the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values.OBJECTS OF THE DISCLOSURE

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

[0024] It is an object of the present disclosure to provide a system and a method for monitoring a performance of one or more network node servers and one or more applications, that is effective and minimizes human intervention.

[0025] It is another object of the present disclosure to provide a system and a method for monitoring a performance of node servers and the applications automatically and put the statistics in a single file that is accessible to the user.

[0026] It is another object of the present disclosure to provide a system and a method for monitoring performance of node servers and the applications to compile the performance of the node serves and the applications in a file in a short span of time, that is, the time taken to monitoring performance is decreased.DESCRIPTION OF THE DRAWINGS

[0027] 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. Also, the embodiments shown in the figures are not to be construed as limiting the disclosure, but the possible variants of the method and system according to the disclosure are illustrated herein to highlight the advantages of the disclosure. It will beappreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components or circuitry commonly used to implement such components.

[0028] Figure 1 illustrates an exemplary block diagram representation of 5thgeneration core (5GC) network architecture.

[0029] Figure 2 illustrates an exemplary block diagram of a computing device upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure.

[0030] Figure 3 illustrates an exemplary block diagram of a system for monitoring a performance of one or more network node servers and one or more applications, in accordance with exemplary implementations of the present disclosure.

[0031] Figure 4 illustrates a method flow diagram for monitoring a performance of one or more network node servers and one or more applications in accordance with exemplary implementations of the present disclosure.

[0032] Figure 5 illustrates a method flow diagram for monitoring a performance of one or more network node servers and one or more applications in accordance with exemplary implementations of the present disclosure.

[0033] Figure 6 illustrates a method flow diagram for monitoring a performance of one or more network node servers and one or more applications in accordance with exemplary implementations of the present disclosure.

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

[0035] 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 may each be used independently of oneanother 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.

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

[0037] 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, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail.

[0038] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may 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.

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

[0040] As used herein, a “processing unit” or “processor” or “operating processor” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. Aprocessor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a Digital Signal Processing (DSP) core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input / output processing, and / or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor or processing unit is a hardware processor.

[0041] As used herein, “a user equipment”, “a user device”, “a smart-user-device”, “a smartdevice”, “an electronic device”, “a mobile device”, “a handheld device”, “a wireless communication device”, “a mobile communication device”, “a communication device” may be any electrical, electronic and / or computing device or equipment, capable of implementing the features of the present disclosure. The user equipment / device may include, but is not limited to, a mobile phone, smart phone, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, wearable device or any other computing device which is capable of implementing the features of the present disclosure. Also, the user device may contain at least one input means configured to receive an input from unit(s) which are required to implement the features of the present disclosure.

[0042] As used herein, “storage unit” or “memory unit” refers to a machine or computer-readable medium including any mechanism for storing information in a form readable by a computer or similar machine. For example, a computer-readable medium includes read-only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices or other types of machine-accessible storage media. The storage unit stores at least the data that may be required by one or more units of the system to perform their respective functions.

[0043] As used herein “interface” or “user interface” refers to a shared boundary across which two or more separate components of a system exchange information or data. The interface may also be referred to as a set of rules or protocols that define communication or interaction of one or more modules or one or more units with each other, which also includes the methods, functions, or procedures that may be called.

[0044] All modules, units, components used herein, unless explicitly excluded herein, may be software modules or hardware processors, the processors being a general-purpose processor, aspecial purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array circuits (FPGA), any other type of integrated circuits, etc.

[0045] As used herein the transceiver unit includes at least one receiver and at least one transmitter configured respectively for receiving and transmitting data, signals, information or a combination thereof between units / components within the system and / or connected with the system.

[0046] As discussed in the background section, the current known solutions have several shortcomings. Conducting daily health checks on each server and the network functions running on the server in a network is time consuming if done manually. This process presents several challenges as it involves executing numerous commands to calculate CPU usage, memory usage, disk usage, thread count, free memory, application and server uptime, network connection status, DB status, etc. Furthermore, operations teams must consolidate all this data for each server and application into a single sheet and then assess the overall health check status of each application by comparing them with threshold values. This entire process can take several hours to complete for a single network function. For all the network functions in the network it might take days.

[0047] The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by providing method and system of monitoring a performance of one or more network node servers and one or more applications. The system and method disclosed here involves automatically collecting health check data related to one or more applications and server data related to one or more network node servers. Here the health check data is associated with the execution of the one or more applications and includes parameters like CPU usage, memory usage, thread count, and database status. The server data includes parameters like free memory, network status, and server uptime. The method then involves the collection of the server data as scheduled via a time-based job scheduler and retrieves the health check data using a secure file transfer protocol (SFTP). The health check data is collected at a default frequency, or a frequency determined by manual user inputs via a command line interface (CLI). The health check data and the server data are then stored at a location wherein the health check data for each of the application is associated with an IP address. The method further involves correlating the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data. The method further involves assessing the performance of the one or more applications and the one or more network node servers based on a comparison of the correlationdata with one or more predefined threshold values. The method also involves a backup of the data sheet by appending a date and time for future reference. The method further discloses determining a health status of the one or more applications and the one or more node servers based on the assessment and populating, by the performance monitoring module

[0306] , a data sheet based on the health check data, the server data, and the determined health status.

[0048] Figure 1 illustrates an exemplary block diagram representation of 5thgeneration core (5GC) network architecture, in accordance with exemplary implementation of the present disclosure. As shown in figure 1, the 5GC network architecture

[0100] includes a user equipment (UE)

[0102] , a radio access network (RAN)

[0104] , an access and mobility management function (AMF)

[0106] , a Session Management Function (SMF)

[0108] , a Service Communication Proxy (SCP)

[0110] , an Authentication Server Function (AUSF)

[0112] , a Network Slice Specific Authentication and Authorization Function (NSSAAF)

[0114] , a Network Slice Selection Function (NSSF)

[0116] , a Network Exposure Function (NEF)

[0118] , a Network Repository Function (NRF)

[0120] , a Policy Control Function (PCF)

[0122] , a Unified Data Management (UDM)

[0124] , an application function (AF)

[0126] , a User Plane Function (UPF)

[0128] , a data network (DN)

[0130] , wherein all the components are assumed to be connected to each other in a manner as obvious to the person skilled in the art for implementing features of the present disclosure.

[0049] Radio Access Network (RAN)

[0104] is the part of a mobile telecommunications system that connects user equipment (UE)

[0102] to the core network (CN) and provides access to different types of networks (e.g., 5G network). It consists of radio base stations and the radio access technologies that enable wireless communication.

[0050] Access and Mobility Management Function (AMF)

[0106] is a 5G core network function responsible for managing access and mobility aspects, such as UE registration, connection, and reachability. It also handles mobility management procedures like handovers and paging.

[0051] Session Management Function (SMF)

[0108] is a 5G core network function responsible for managing session-related aspects, such as establishing, modifying, and releasing sessions. It coordinates with the User Plane Function (UPF) for data forwarding and handles IP address allocation and QoS enforcement.

[0052] Service Communication Proxy (SCP)

[0110] is a network function in the 5G core network that facilitates communication between other network functions by providing a secure and efficient messaging service. It acts as a mediator for service-based interfaces.

[0053] Authentication Server Function (AUSF)

[0112] is a network function in the 5G core responsible for authenticating UEs during registration and providing security services. It generates and verifies authentication vectors and tokens.

[0054] Network Slice Specific Authentication and Authorization Function (NSSAAF)

[0114] is a network function that provides authentication and authorization services specific to network slices. It ensures that UEs can access only the slices for which they are authorized.

[0055] Network Slice Selection Function (NSSF)

[0116] is a network function responsible for selecting the appropriate network slice for a UE based on factors such as subscription, requested services, and network policies.

[0056] Network Exposure Function (NEF)

[0118] is a network function that exposes capabilities and services of the 5G network to external applications, enabling integration with third-party services and applications.

[0057] Network Repository Function (NRF)

[0120] is a network function that acts as a central repository for information about available network functions and services. It facilitates the discovery and dynamic registration of network functions.

[0058] Policy Control Function (PCF)

[0122] is a network function responsible for policy control decisions, such as QoS, charging, and access control, based on subscriber information and network policies.

[0059] Unified Data Management (UDM)

[0124] is a network function that centralizes the management of subscriber data, including authentication, authorization, and subscription information.

[0060] Application Function (AF)

[0126] is a network function that represents external applications interfacing with the 5G core network to access network capabilities and services.

[0061] User Plane Function (UPF)

[0128] is a network function responsible for handling user data traffic, including packet routing, forwarding, and QoS enforcement.

[0062] Data Network (DN)

[0130] refers to a network that provides data services to user equipment (UE) in a telecommunications system. The data services may include but are not limited to Internet services, private data network related services.

[0063] The 5GC network architecture as shown in Figure 1, also comprises a plurality of interfaces for connecting the network functions with a network entity for performing the network functions. The NSSF

[0116] is connected with the network entity via the interface denoted as (Nnssf) interface. The NEF

[0118] is connected with the network entity via the interface denoted as (Nnef) interface. The NRF

[0120] is connected with the network entity via the interface denoted as (Nmf) interface. The PCF

[0122] is connected with the network entity via the interface denoted as (Npcf) interface. The UDM

[0124] is connected with the network entity via the interface denoted as (Nudm) interface. The AF

[0126] is connected with the network entity via the interface denoted as (Naf) interface. The NSSAAF

[0114] is connected with the network entity via the interface denoted as (Nnssaaf) interface. The AUSF

[0112] is connected with the network entity via the interface denoted as (Nausf) interface. The AMF

[0106] is connected with the network entity via the interface denoted as (Namf) interface in the figure. The SMF

[0108] is connected with the network entity via the interface denoted as (Nsmf) interface. The SMF

[0108] is connected with the UPF

[0128] via the interface denoted as (N4) interface in the figure. The UPF

[0128] is connected with the RAN

[0104] via the interface denoted as (N3) interface. The UPF

[0128] is connected with the DN

[0130] via the interface denoted as (N6) interface. The RAN

[0104] is connected with the AMF

[0106] via the interface denoted as (N2). The AMF

[0106] is connected with the RAN

[0104] via the interface denoted as (Nl). The UPF

[0128] is connected with other UPF

[0128] via the interface denoted as (N9). The interfaces such as Nnssf, Nnef, Nnrf, Npcf, Nudm, Naf, Nnssaaf, Nausf, Namf, Nsmf, N9, N6, N4, N3, N2, and Nl can be referred to as a communication channel between one or more functions or modules for enabling exchange of data or information between such functions or modules, and network entities.

[0064] Figure 2 illustrates an exemplary block diagram of a computing device

[0200] (also referred to herein as a computer system

[0200] ) upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. In an implementation, the computing device

[0200] may also implement a method for monitoring a performance of one or more network node servers and one or more applications utilising the computing device

[0200] , In another implementation, the computing device

[0200] itself implementsthe method for monitoring a performance of one or more network node servers and one or more applications using one or more units configured within the computing device

[0200] , wherein said one or more units are capable of implementing the features as disclosed in the present disclosure.

[0065] The computing device

[0200] may include a bus

[0202] or other communication mechanism for communicating information, and a hardware processor

[0204] coupled with bus

[0202] for processing information. The hardware processor

[0204] may be, for example, a general-purpose microprocessor. The computing device

[0200] may also include a main memory

[0206] , such as a random-access memory (RAM), or other dynamic storage device, coupled to the bus

[0202] for storing information and instructions to be executed by the processor

[0204] , The main memory

[0206] also may be used for storing temporary variables or other intermediate information during execution of the instructions to be executed by the processor

[0204] , Such instructions, when stored in non-transitory storage media accessible to the processor

[0204] , render the computing device

[0200] into a special-purpose machine that is customized to perform the operations specified in the instructions. The computing device

[0200] further includes a read only memory (ROM)

[0208] or other static storage device coupled to the bus

[0202] for storing static information and instructions for the processor

[0204] ,

[0066] A storage device

[0210] , such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to the bus

[0202] for storing information and instructions. The computing device

[0200] may be coupled via the bus

[0202] to a display

[0212] , such as a cathode ray tube (CRT), Liquid crystal Display (LCD), Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for displaying information to a computer user. An input device

[0214] , including alphanumeric and other keys, touch screen input means, etc. may be coupled to the bus

[0202] for communicating information and command selections to the processor

[0204] , Another type of user input device may be a cursor controller

[0216] , such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor

[0204] , and for controlling cursor movement on the display

[0212] , This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane.

[0067] The computing device

[0200] may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and / or program logic which in combination with the computing device

[0200] causes or programs the computing device

[0200] to be a special-purpose machine. According to one implementation, the techniques herein areperformed by the computing device

[0200] in response to the processor

[0204] executing one or more sequences of one or more instructions contained in the main memory

[0206] , Such instructions may be read into the main memory

[0206] from another storage medium, such as the storage device

[0210] , Execution of the sequences of instructions contained in the main memory

[0206] causes the processor

[0204] to perform the process steps described herein. In alternative implementations of the present disclosure, hard-wired circuitry may be used in place of or in combination with software instructions.

[0068] The computing device

[0200] also may include a communication interface

[0218] coupled to the bus

[0202] , The communication interface

[0218] provides a two-way data communication coupling to a network link

[0220] that is connected to a local network

[0222] , For example, the communication interface

[0218] may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, the communication interface

[0218] may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface

[0218] sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

[0069] The computing device

[0200] can send messages and receive data, including program code, through the network(s), the network link

[0220] and the communication interface

[0218] , In the Internet example, a server

[0230] might transmit a requested code for an application program through the Internet

[0228] , the ISP

[0226] , the local network

[0222] , the host

[0224] and the communication interface

[0218] , The received code may be executed by the processor

[0204] as it is received, and / or stored in the storage device

[0210] , or other non-volatile storage for later execution.

[0070] As used herein, the “CPU usage” parameter is one of the most important performance metrics in application monitoring. It is monitored to analyse and determine the processing speed of applications, which is a key performance indicator of network and server health. CPA usage may define a total amount of processing power that is being used by an application while executing the functions. Further, a high CPU usage may indicate that the CPU is overloaded and may further slowdown the working efficiencies of the one or more applications in future.

[0071] As used herein, the “memory usage” parameter may define an amount of Random Access Memory (RAM) that is being consumed while the one or more applications are in running state.Monitoring memory usage is essential in ensuring maximum performance. High rates of memory utilization result in decreased performance for the associated processes. In addition, a steady increase in memory utilization over time may indicate a memory leak. A memory leak is when application processes allocate memory as they start, but the memory is not released when they end. Memory leaks degrade application and server performance over time. Typically, the applications become unresponsive when memory is no longer available. Further, a high memory usage may further degrade a performance of the one or more applications in near future.

[0072] As used herein, the “database status” parameter may define a step where checking of database connection is done by sending an asynchronous “PING” command to the DB server to check connectivity. If the server responds with "PONG", the connection is good.

[0073] As used herein, for the “network status” parameter, a “netstaf ’ command is used to check for LISTEN mode (indicating the server is ready to accept connections) and ESTABLISHED connections (indicating clients have successfully connected to the server).

[0074] As used herein, the “thread count” parameter may show when new threads are created and when they are destroyed Herein the threads may refer to a sequence of instructions provided to the CPU for execution of the one or more applications. Threads are the most important part of an application process. They are the most common way to execute code in parallel. Inappropriate handling of operations like network access or database queries can lead to poor user experience or make the application unresponsive. Thread count, so it is expected to see this value increase with operations that demand more processing on the device and decrease after the processing ends.

[0075] As used herein, the “free memory” parameter may define a total available memory within the one or more network node servers, for handling one or more requests. Further, a low percentage of free memory parameter may define that the performance of the one or more network node servers is degrading and may not be able to handle other additional one or more requests.

[0076] As used herein, the “server uptime” parameter may refer to the amount of time for which a server has been up and operational. Uptime can be measured since the server last booted. It can be measured during each polling cycle as well. Monitoring uptime is important because this metric can alert about a situation where the server is currently operational but may have gone down and rebooted recently and thus impacting users. Many organizations have a practice of rebootingsystems periodically. By monitoring system uptime, administrators can get notified if a system has failed to reboot during the configured reboot cycle.

[0077] It may be noted that the above-mentioned parameters are just exemplary for explaining the present disclosure, and any other parameters related to the one or more network node servers can be further captured in an implementation of the present disclosure.

[0078] Referring to Figure 3, an exemplary block diagram of a system

[0300] for monitoring a performance of one or more network node servers and one or more applications, is shown, in accordance with the exemplary implementations of the present disclosure. The system

[0300] comprises at least one data acquisition unit

[0302] , at least one storage unit

[0304] , and at least one performance monitoring module

[0306] , Also, all of the components / units of the system

[0300] are assumed to be connected to each other unless otherwise indicated below. As shown in the figures all units shown within the system

[0300] should also be assumed to be connected to each other. Also, in Figure 3 only a few units are shown, however, the system

[0300] may comprise multiple such units or the system

[0300] may comprise any such numbers of said units, as required to implement the features of the present disclosure. In an implementation, the system

[0300] may reside in a server or a network entity.

[0079] The system

[0300] is configured for monitoring a performance of one or more network node servers and one or more applications, with the help of the interconnection between the components / units of the system

[0300] ,

[0080] The system

[0300] comprises the data acquisition unit

[0302] configured to automatically collect a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications and comprises at least a CPU usage parameter, a memory usage parameter, a thread count parameter, a database status parameter. Further, the data acquisition unit

[0302] is configured to collect the health check data, at one of a default frequency and a frequency determined by manual user inputs via a command line interface (CLI). The health check data related to one or more applications is dumped using JAVA APIs (Application Programming Interface) from the one or more applications. The server data (like server uptime) is dumped by using a script initiated from the CLI and stores this data in the storage unit

[0304] in a text file.

[0081] In an implementation of the present disclosure, the one or more applications mentioned herein may refer to the network functions such as UPF, AMF, SMF, AF, NSSAF in a 5G network. The services provided by such network functions are described with reference to Figure 1. These network functions are running on the one or more network node servers. The one or more network node servers are physical servers which provide resources to the one or more applications or network functions running on them.

[0082] Further, the health check data may provide information regarding one or more parameters that may relate to the one or more applications and may further provide insights regarding an effectiveness of the one or more applications. Further, the health check data may further point out one or more issues faced by the one or more applications.

[0083] In an implementation of the present disclosure, the data acquisition unit

[0302] is configured to collect the health check data, at the default frequency, where the default frequency may include at least one of a daily frequency, an hourly frequency, a weekly frequency, and any other similar frequency known in the state of art. Further, the frequency of collecting heath check data is modifiable via the manual user inputs. Further, the manual user inputs is performed at the CLI.

[0084] As used herein, the “CLI” is a text-based interface that is used to interact with one or more units within the system

[0300] , Herein, the frequency for collecting the heath check data of the one or more applications, is modified based on one or more requirements (such as operation requirements). For example, in an event, the data acquisition unit

[0302] collects the heath check data of an application ABC, every one hour (default frequency), but in an event, due to some operational constraints during peak hours, the frequency may be further modified to collect said heath check data in every 15 minutes. The modification in the frequency may further assist in monitoring the performance of the application ABC specially, during the peak hours.

[0085] Further, the server data comprises at least a free memory parameter, a network status parameter, a server uptime parameter.

[0086] Similarly, the server data related to the one or more network node servers may provide insights regarding the effectiveness of the one or more network node servers. Further, the server data may reflect an availability of the one or more network node servers for the one or more applications.

[0087] Furthermore, the data acquisition unit

[0302] is configured to collect the server data at a time scheduled via a time-based job scheduler. In an implementation, to ensure regular dumping of health check data for both the application and server, different scheduling mechanisms are used, for example:• Application Data Dumping: In this mechanism, the APIs provided from a package in Java are used. The health check data dumping task is scheduled to run at a fixed rate.• Server Data Dumping: In this mechanism, a job scheduler provided by the Linux operating system is used. The script for collecting server data is scheduled to run daily at a specific time.

[0088] As used herein, and described above, the time-based job scheduler may collect the server data at the time scheduled (such as hourly, daily, weekly, monthly). The time-based scheduling may refer to a time gap present in between collection of the latest server data with the previously collected server data by the time-based job scheduler. The time-based job scheduler may further maintain an up-to-date record of the server data of the one or more network node servers.

[0089] Further, the system

[0300] comprises a storage unit

[0304] connected to at least the data acquisition unit

[0302] , wherein the storage unit

[0304] is configured to store the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address. In an implementation, for the one or more applications, the path where the health check data should be dumped is configured in an Excel file. This Excel file is read by the one or more applications during the startup to determine where to store their health check data. When the one or more applications perform health checks, they write the health check data to the configured path in the Excel file. The same path is also configured in the script responsible for collecting server data for each of the one or more network node servers. The script runs on each of the network node servers to collect server-specific metrics (like free memory) and dumps this data to the same configured path. This ensures that both the health check data of the one or more applications and server data of the one or more network node servers are dumped to the same location. Further, associating the health check data of an application with an IP address helps in uniquely identifying and isolating the health metrics of each server. This is particularly useful in environments where multiple servers or instances are running similar applications. By appending the IP address, we can easily track and manage the health status of each individual server. The IP address is chosen from a particular network interface (bond) on the server. This bond represents a specific network interface that the server uses to communicate. When health check data isgenerated, it is stored in a folder named with the IP address of the selected bond. This ensures that the data can be easily mapped back to the specific server. A script collects server details and stores this data in the storage unit

[0304] in a text file. This text file is also named with the same IP address (same bond), ensuring consistency in how data is identified and stored. Both the health check data folder and the server detail text file use the same IP address in their names. This consistent naming convention ensures that data from both sources can be easily associated with the correct server.

[0090] In an aspect of the present disclosure, the health check data of the one or more applications may further be stored at a particular location (such as a folder or similar repository) within the storage unit

[0304] , Herein, a name of the particular location (such as folder name) may relate to a folder path in the storage unit

[0304] , Herein the storage unit

[0304] may incorporate one or more databases for storing similar data (such as heath check data and server data that may use similar IP Address). For example: if an IP address of an Application A is ‘ 190.124.1.40’, then the health check data associated with the application A is stored in the folder where the folder name can be ‘health_check_data_190.124.1.40’ or can be A_ health_check_data_190.124.1.40’, which allows an easy searching and retrieving of the health check data associated with the application A, when required. Further, the folder may contain one or more files related to the heath check data for the application A, therefore for eliminating any confusion within the folder, the file name can be mentioned with data and time, at which the health check data is collected. For example: the file names can be mentioned with ‘ 190.124.1.40_08072024’ or ‘A_190.124.1.40_080720924’ or ‘ 190.124.1.40_080720924_14.35’, which may further indicate the data and / or time and may further assist in an easy retrieval of the one or more files that may relate to the IP address ‘ 190.124.1.40’.

[0091] It is to be noted that such folder name mentioned in the example mentioned are just exemplary, and any other term for using a folder name may also lie within the scope of the subject matter.

[0092] Further, each network node server from the one or more network node servers may be associated with a corresponding one or more applications. The server data is stored in the same location as the health check data of the one or more applications. For example, a network node server 1 may be associated with the application A, therefore the server data of the network node serverl may be further stored within the same folder name such as ‘sever_data_190.124.1.40’ or may be ‘ l_sever _data_190.124.1.40’.

[0093] It is to be noted that such folder name mentioned in the example are just exemplary, and any other term for using a folder name may also lie within the scope of the subject matter.

[0094] Also, it is to be noted that any other repository (other than folder and files) may also be utilized by the storage unit

[0304] for storing the heath check data and server data that may be known to a person skilled in the art.

[0095] Further, the grouping of the health check data and the server data for the one or more applications and the one or more network node servers, respectively that are associated with each other may further assist in effectively locating the location of the health check data and the server data, in case the health check data and the server data are required for an analysis.

[0096] Further, the system

[0300] comprises a performance monitoring module

[0306] connected to at least the storage unit

[0304] , wherein the performance monitoring module

[0306] is configured to: retrieve the health check data for the one or more applications and the server data for the one or more node servers from the storage unit

[0304] , Further, the health check data is retrieved by the performance monitoring module

[0306] using a secure file transfer protocol (SFTP). Both health check data related to one or more applications and server data related to one or more network node servers are stored locally on each of the network node server where the applications are running. The path for storing this data is configured as discussed earlier. The performance monitoring module

[0306] needs to collect data from each of the network node server and store it on a centralized CLI for processing. This is achieved using the SFTP (Secure File Transfer Protocol) protocol, which allows secure transfer of files over the network. A session is created and configured using the IP address and port of each of the network node server individually. Then an SFTP channel is opened from the session and connected and then data from each of the network node server is fetched to a preconfigured path on centralized CLI and when all the health check data and server data is collected (of each IPs associated with each network node server) then the processing of data starts.

[0097] In an implementation of the present disclosure, the performance monitoring module

[0306] may retrieve the health check data and the server data from the storage unit

[0304] via the SFTP, which may assure a secure and encrypted transfer of data between the storage unit

[0304] and the performance monitoring module

[0306] ,

[0098] In an aspect, the performance monitoring module

[0306] may firstly retrieve the health check data for a specific application and based on the IP address of said specific application, the performance monitoring module

[0306] may search for the one or more network node servers with same IP address.

[0099] The performance monitoring module

[0306] is further configured to correlate, the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data. The performance monitoring module

[0306] gathers both the health check data and the server data. By using the IP address in the names of the folders and files, the tool can bundle together the data from both sources for each server. The tool reads the health check data and the server data using the IP address as the key. It combines these data points into a single dataset for each server. This combined dataset contains both application-specific metrics (e.g., CPU usage, disk usage) and server-specific metrics (e.g., available memory, network statistics). The combined dataset is the correlation data.

[0100] In an implementation of the present disclosure, the correlation data may refer to a combined data linked to the heath check data of the one or more applications and the server data of the one or more node servers. The correlated data may further describe how a particular application may impact the performance of a particular network node server and vice versa.

[0101] Further, the performance monitoring module

[0306] is configured to assess the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values. Further, the one or more predefined threshold values is specified in a property file. The property file is stored in a centralized location on the Command Line Interface (CLI) side. The property file is read using Java File APIs (Application Programming Interface). The path to the property file is specified relative to the CLI's location. The performance monitoring module

[0306] uses this data to perform its tasks.

[0102] Considering an example to understand how performance of one or more applications and the one or more network node server is assessed as described in the present disclosure. In an exemplary implementation, the property file defines threshold values for various metrics, such as,CPU Usage: 40%Memory Usage: 80%Disk Usage: 70%

[0103] These threshold values represent the limits beyond which health status is considered problematic. The performance monitoring module

[0306] extracts the relevant metrics from the correlation data for each server and application. For each metric, the performance monitoring module

[0306] compares the collected value with the configured threshold:• If the collected value exceeds the threshold, the performance monitoring module

[0306] marks the health status as False.• If the collected value is within the threshold, the performance monitoring module

[0306] marks the health status as True.

[0104] For each application and server, the performance monitoring module

[0306] sets a health status flag based on the comparison:• True if all metrics are within their respective thresholds.• False if any metric exceeds its threshold.

[0105] Further, the property file (with a “.properties” extension) is a simple key-value pair configuration file commonly used in Java applications to store configuration settings. The format is plain text, and each line contains a key and its corresponding value separated by an equal sign (=)•

[0106] In an implementation of the present disclosure, the property file may refer to a configuration file that may be used to store pre-defined threshold values for the health check data and the server data. Further, in one aspect, the property file may incorporate ideal values, that are further compared with the correlation data for assessing the performance of the one or more applications and the one or more network node servers. Further, in another aspect the property file may incorporate an acceptable limit for the correlation data, based on which the performance of the one or more applications and the one or more network node servers is determined.

[0107] Further, the performance monitoring module

[0306] compares each data point in the correlation data with the corresponding threshold value from the property file to assess performance of the one or more applications and the one or more network node servers. The performance monitoring module

[0306] compares the correlation data with predefined thresholdvalues, specified in the property file, for each correlation data point. The performance monitoring module

[0306] reads the health check data and the server data using the IP address as the key. It combines these data points into a single dataset for each server. These data points are called the correlation data points.

[0108] For ease of understanding: considering a scenario where for an application AB, the data point present in the corelation data, for the CPU usage parameter is 75% and the property file may define the acceptable limit to be below 80%, then in such a case the performance monitoring module

[0306] may compare the data point with the corresponding acceptable limit (75% < 80%) and may accordingly determine that the CPU usage parameter for the application AB is within the acceptable limit.

[0109] Further, the performance monitoring module

[0306] is configured to determine a health status of the one or more applications and the one or more network node servers based on the comparison of said correlation data with said one or more predefined threshold values. Further, the performance monitoring module

[0306] populates a data sheet based on the health check data, the server data, and the determined health status.

[0110] In an implementation of the present disclosure, in cases where the correlation data points are within the acceptable limit and / or close to the ideal values mentioned in the property file, then the performance monitoring module

[0306] may determine the health status of the one or more applications and the one or more network node servers as a healthy status. Conversely, in cases the data points exceed the acceptable limit and / or far from the ideal values, then in such case the performance monitoring module

[0306] may determine the health status of the one or more applications and the one or more network node servers as an un-healthy status.[OHl] Thereafter, post determining the health status of the one or more applications and the one or more network node servers, the performance monitoring module

[0306] populates the data sheet based on the health check data, the server data, and the determined health status. The data sheet mentioned herein may be a spread sheet. It is to be noted that the type of datasheet is just exemplary, and any other type of sheet may further be used in view of presenting the health check data, the server data, and the determined health status of the one or more applications and the one or more network node servers.

[0112] In an example, the performance monitoring module

[0306] may mark the health status as OK (in cases the data points are within the acceptable limit) and as NOT OK (in cases the data points exceed the acceptable limit) on the spreadsheet. It is again to be noted that the marking of the health status is just exemplary, and any other form of marking can be used for marking the health status, known to a person skill in the art.

[0113] Further, the structure of the datasheet may vary depending on one or more conditions, such as a total number of the one or more applications, the network node servers, and / or a list of parameters to be mentioned on the health check data and the server data, and / or the type of data sheet used to represent the correlation data and the health status of the one or more applications and the one or more network node servers.

[0114] In one aspect, the structure of the data sheet may be represented in a way such that: each row of datasheet (suppose a spreadsheet) may represent a NF (Network Function) instance or an application from the one or more applications. Furter, each column of the datasheet (suppose a spreadsheet) may represent the parameters associated with the NF instance or the application. Further, as mentioned above, the NF instance or the application is determined via the IP address of the server associated with the NF instance or the application.

[0115] For example, the spreadsheet can be presented as:-

[0116] Further, the performance monitoring module

[0306] is configured to create a backup of the data sheet by appending a date and time for future reference.

[0117] In an implementation of the present disclosure, the performance monitoring module

[0306] may further create the backup of the data sheet at regular time intervals and further store it in the storage unit

[0304] , Further, the performance monitoring module

[0306] may uniquely name each data sheet with reference to the data and time of the backup. Further, in an implementation, thedata sheet may be easily retrieved when required for future reference based on the date and time of the backup.

[0118] In yet another aspect, the backup of the data sheet may be saved in a ZIP format (compressed format) which may further save space of the storage unit

[0304] ,

[0119] Referring to Figure 4, an exemplary method flow diagram

[0400] for monitoring a performance of one or more network node servers and one or more applications, in accordance with exemplary implementations of the present disclosure is shown. In an implementation the method

[0400] is performed by the system

[0300] , Further, in an implementation, the system

[0300] may be present in a server device to implement the features of the present disclosure. Also, as shown in Figure 4, the method

[0400] starts at step

[0402] ,

[0120] At step

[0404] , the method

[0400] comprises automatically collecting, by a data acquisition unit

[0302] , a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications. Further in an implementation of the present disclosure, the wherein the health check data comprises at least a CPU usage parameter, a memory usage parameter, a thread count parameter, a database status parameter. The health check data related to one or more applications is dumped using JAVA APIs from the one or more applications. The server data (like server uptime) is dumped by using a script initiated from the CLI and stores this data in the storage unit

[0304] in a text file.

[0121] In an implementation of the present disclosure, the one or more applications mentioned herein may refer to the network functions such as UPF, AMF, SMF, AF, NSSAF in a 5G network. The services provided by such network functions are described with reference to Figure 1. These network functions are running on the one or more network node servers. The one or more network node servers are physical servers which provide resources to the one or more applications or network functions running on them.

[0122] Further, the health check data may provide information regarding one or more parameters that may relate to the one or more applications and may further provide insights regarding an effectiveness of the one or more applications. Further, the health check data may further point out one or more issues faced by the one or more applications.

[0123] In an implementation of the present disclosure, the data acquisition unit

[0302] is configured to collect the health check data, at the default frequency, where the default frequency may include at least one of a daily frequency, an hourly frequency, a weekly frequency, and any other similar frequency known in the state of art. Further, the frequency of collecting heath check data is modifiable via the manual user inputs. Further, the manual user input is performed at the CLI.

[0124] Further, the CLI is a text-based interface that is used to interact with one or more units within the system

[0300] , Herein, the frequency for collecting the heath check data of the one or more applications, is modified based on one or more requirements (such as operation requirements). For example, in an event, the data acquisition unit

[0302] collects the heath check data of an application ABC, in every one hour (default frequency), but in an event, due to some operational constraints during peak hours, the frequency may be further modified to collect said heath check data in every 15 minutes. The modification in the frequency may further assist in monitoring the performance of the application ABC specially, during the peak hours.

[0125] The method

[0400] further comprise collecting, by the data acquisition unit

[0302] , the server data is scheduled via a time-based job scheduler. Further, the server data comprises at least a free memory parameter, a network status parameter, a server uptime parameter. In an implementation, to ensure regular dumping of health check data for both the application and server, different scheduling mechanisms are used, for example:• Application Data Dumping: In this mechanism, the APIs provided from a Java package are used. The health check data dumping task is scheduled to run at a fixed rate.• Server Data Dumping: In this mechanism, a job scheduler provided by the Linux operating system is used. The script for collecting server data is scheduled to run daily at a specific time.

[0126] The method

[0400] further explains that the server data related to the one or more network node servers may provide insights which helps in analysing the root cause whenever service outage occurs. The server data provides network node-wise detailed information in near-real-time whenever any discrepancy occurs in the underlying network.

[0127] Further, the time-based job scheduler may collect the server data at the time scheduled (such as hourly, daily, weekly, monthly). The time-based scheduling may refer to a time gap present in between collection of the latest server data with the previously collected server data bythe time-based job scheduler. The time-based job scheduler may further maintain an up-to-date record of the server data of the one or more network node servers.

[0128] At step

[0406] , the method

[0400] comprises storing, by a storage unit

[0304] , the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address. In an implementation, for the one or more applications, the path where the health check data should be dumped is configured in an Excel file. This Excel file is read by the one or more applications during the startup to determine where to store their health check data. When the one or more applications perform health checks, they write the health check data to the configured path in the Excel file. The same path is also configured in the script responsible for collecting server data for each of the one or more network node servers. The script runs on each of the network node servers to collect server-specific metrics (like free memory) and dumps this data to the same configured path. This ensures that both the health check data of the one or more applications and server data of the one or more network node servers are dumped to the same location. Further, associating the health check data of an application with an IP address helps in uniquely identifying and isolating the health metrics of each server. This is particularly useful in environments where multiple servers or instances are running similar applications. By appending the IP address, we can easily track and manage the health status of each individual server. The IP address is chosen from a particular network interface (bond) on the server. This bond represents a specific network interface that the server uses to communicate. When health check data is generated, it is stored in a folder named with the IP address of the selected bond. This ensures that the data can be easily mapped back to the specific server. A script collects server details and stores this data in the storage unit

[0304] in a text file. This text file is also named with the same IP address (same bond), ensuring consistency in how data is identified and stored. Both the health check data folder and the server detail text file use the same IP address in their names. This consistent naming convention ensures that data from both sources can be easily associated with the correct server.

[0129] The method

[0400] further explains that the health check data of the one or more applications may further be stored at a particular location (such as a folder or similar repository) within the storage unit

[0304] , Herein, a name of the particular location (such as folder name) may relate to folder path in the storage unit

[0304] , Herein the storage unit

[0304] may incorporate one or more databases for storing similar data (such as heath check data and server data that may use similar IP Address). For example: if an IP address of an Application A is ‘ 190.124.1.40’, then the healthcheck data associated with the application A is stored in the folder where the folder name can be ‘health_check_data_190.124.1.40’ or can be A_ health_check_data_190.124.1.40’, which allows an easy searching and retrieving of the health check data associated with the application A, when required. Further, the folder may contain one or more files related to the heath check data for the application A, therefore for eliminating any confusion within the folder, the file name can be mentioned with data and time, at which the health check data is collected. For example: the file names can be mentioned with ‘ 190.124.1.40_08072024’ or ‘A_190.124.1.40_080720924’ or ‘ 190.124.1.40_080720924_14.35’, which may further indicate the data and / or time and may further assist in for an easy retrieval of the one or more files that may relate to the IP address ‘ 190.124.1.40’.

[0130] It is to be noted that such folder name mentioned in the example mentioned are just exemplary, and any other term for using a folder name may also lie within the scope of the subject matter.

[0131] Further, each network node server from the one or more network node servers may be associated with a corresponding one or more applications. The server data is stored in the same location as the health check data of the one or more applications. For example, a network node server 1 may be associated with the application A, therefore the server data of the network node serverl may be further stored within the same folder name such as ‘sever_data_190.124.1.40’ or may be ‘ l_sever _data_190.124.1.40’.

[0132] It is to be noted that such folder name mentioned in the example are just exemplary, and any other term for using a folder name may also lie within the scope of the subject matter.

[0133] Also, it is to be noted that any other repository (other than folder and files) may also be utilized by the storage unit

[0304] for storing the heath check data and server data that may be known to a person skilled in the art.

[0134] Further, the grouping of the health check data and the server data for the one or more applications and the one or more network node servers, respectively that are associated with each other may further assist in effectively locating the location of the health check data and the server data, in case the health check data and the server data are required for an analysis

[0135] At step

[0408] , the method

[0400] comprises retrieving, by a performance monitoring module

[0306] , the health check data for the one or more applications and the server data for the one or more node servers from the storage unit

[0304] , In an implementation of the present disclosure, the health check data is retrieved by the performance monitoring module

[0306] using a secure file transfer protocol (SFTP). Both health check data related to one or more applications and server data related to one or more network node servers are stored locally on each of the network node server where the applications are running. The path for storing this data is configured as discussed earlier. The performance monitoring module

[0306] needs to collect data from each of the network node server and store it on a centralized CLI for processing. This is achieved using the SFTP (Secure File Transfer Protocol) protocol, which allows secure transfer of files over the network. A session is created and configured using the IP address and port of each of the network node server individually. Then an SFTP channel is opened from the session and connected and then data from each of the network node server is fetched to a preconfigured path on centralized CLI and when all the health check data and server data is collected (of each IPs associated with each network node server) then the processing of data starts.

[0136] The method

[0400] further explains that the performance monitoring module

[0306] may retrieve the health check data and the server data from the storage unit

[0304] via the SFTP, which may assure a secure and encrypted transfer of data between the storage unit

[0304] and the performance monitoring module

[0306] ,

[0137] It is to be noted that the above-mentioned information are just exemplary and are defined for providing an understanding to a person known in the skill of the art.

[0138] In another aspect, the performance monitoring module

[0306] may firstly retrieve the health check data for a specific application and based on the IP address of said specific application, the performance monitoring module

[0306] may search for the one or more network node servers with same IP address.

[0139] At step

[0410] , the method

[0400] comprises correlating, by the performance monitoring module

[0306] , the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data. The performance monitoring module

[0306] gathers both the health check data and the server data. By using the IP address in the names of the folders and files, the tool can bundle together the data from both sources for each server. The performance monitoring module

[0306] reads the health check data and the server data usingthe IP address as the key. The performance monitoring module

[0306] combines these data points into a single dataset for each server. This combined dataset contains both application-specific metrics (e.g., CPU usage, disk usage) and server-specific metrics (e.g., available memory, network statistics). The combined dataset is the correlation data.

[0140] The method

[0400] further explains that correlation data may refer to a combined data linked to the heath check data of the one or more applications and the server data of the one or more node servers. The correlated data may further describe how a particular application may impact the performance of a particular network node server and vice versa.

[0141] At step

[0412] , the method

[0400] comprises assessing, by the performance monitoring module

[0306] , the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values. In an implementation of the present disclosure, the one or more predefined threshold values is specified in a property file. The property file is stored in a centralized location on the Command Line Interface (CLI) side. The property file is read using Java File APIs (Application Programming Interface). The path to the property file is specified relative to the CLI's location. The performance monitoring module

[0306] uses this data to perform its tasks.

[0142] Considering an example to understand how performance of one or more applications and the one or more network node server is assessed as described in the present disclosure. In an exemplary implementation, the property file defines threshold values for various metrics, such as,CPU Usage: 40%Memory Usage: 80%Disk Usage: 70%

[0143] These threshold values represent the limits beyond which health status is considered problematic. The performance monitoring module

[0306] extracts the relevant metrics from the correlation data for each server and application. For each metric, the performance monitoring module

[0306] compares the collected value with the configured threshold:• If the collected value exceeds the threshold, the performance monitoring module

[0306] marks the health status as False.• If the collected value is within the threshold, the performance monitoring module

[0306] marks the health status as True.

[0144] For each application and server, the performance monitoring module

[0306] sets a health status flag based on the comparison:• True if all metrics are within their respective thresholds.• False if any metric exceeds its threshold.

[0145] Further, the property file (with a “.properties” extension) is a simple key-value pair configuration file commonly used in Java applications to store configuration settings. The format is plain text, and each line contains a key and its corresponding value separated by an equal sign (=)•

[0146] The method

[0400] further explains that the property file may refer to a configuration file that may be used to store pre-defined threshold values for the health check data and the server data. Further, in one aspect the property file may incorporate ideal values, that are further compared with the correlation data for assessing the performance of the one or more applications and the one or more network node servers. Further, in another aspect the property file may incorporate an acceptable limit for the correlation data, based on which the performance of the one or more applications and the one or more network node servers is determined.

[0147] Further, the performance monitoring module

[0306] compares each data point in the correlation data with the corresponding threshold value from the property file to assess performance of the one or more applications and the one or more network node servers. The performance monitoring module

[0306] compares the correlation data with predefined threshold values, specified in the property file, for each correlation data point. The performance monitoring module

[0306] reads the health check data and the server data using the IP address as the key. It combines these data points into a single dataset for each server. These data points are called the correlation data points.

[0148] For ease of understanding: considering a scenario where for an application AB, the data point present in the corelation data, for the CPU usage parameter is 75% and the property file may incorporate the acceptable limit to be below 80%, then in such case the performance monitoring module

[0306] may compare the data point with the corresponding acceptable limit (75% < 80%)and may accordingly determine that the CPU usage parameter for the application AB is in the acceptable limit.

[0149] The method

[0400] further comprises determining, by the performance monitoring module

[0306] , a health status of the one or more applications and the one or more node servers based on the assessment. Further, the method

[0400] comprises populating, by the performance monitoring module

[0306] , a data sheet based on the health check data, the server data, and the determined health status.

[0150] In an implementation of the present disclosure, in cases where the correlation data points are within the acceptable limit and / or close to the ideal values mentioned in the property file, then the performance monitoring module

[0306] may determine the health status of the one or more applications and the one or more network node servers as a healthy status. Conversely, in cases the data points exceed the acceptable limit and / or far from the ideal values, then in such case the performance monitoring module

[0306] may determine the health status of the one or more applications and the one or more network node servers as an un-healthy status.

[0151] Thereafter, post determining the health status of the one or more applications and the one or more network node servers, the performance monitoring module

[0306] populate the data sheet based on the health check data, the server data, and the determined health status. The data sheet mentioned herein may be in from of spread sheet. It is to be noted that the type of datasheet is just exemplary, and any other type of sheet may further be used in view of presenting the health check data, the server data, and the determined health status of the one or more applications and the one or more network node servers.

[0152] In one example, the performance monitoring module

[0306] may mark the health status as OK (in cases the data points are within the acceptable limit) and as NOT OK (in cases the data points exceed the acceptable limit) on the spreadsheet. It is again to be noted that the marking of the health status is just exemplary, and any other form of marking can be used for marking the health status, known to a person skill in the art.

[0153] Further, the structure of the datasheet may vary depending on one or more conditions, such as a total number of the one or more applications, the network node servers, and / or a list of parameters to be mentioned on the health check data and the server data, and / or the type of datasheet used to represent the correlation data and the health status of the one or more applications and the one or more network node servers.

[0154] In one aspect, the structure of the data sheet may be represented in a way such that: each row of datasheet (suppose a spreadsheet) may represent a NF (Network Function) instance or an application from the one or more applications. Furter, each column of the datasheet (suppose a spreadsheet) may represent the parameters associated with the NF instance or the application. Further, as mentioned above, the NF instance or the application is determined via the IP address of the server associated with the NF instance or the application.

[0155] For example, the spreadsheet can be presented as:-

[0156] The method

[0400] further comprises creating, by the performance monitoring module

[0306] , a backup of the data sheet by appending a date and time for future reference.

[0157] The method

[0400] further explains that the performance monitoring module

[0306] may further create the backup of the data sheet at regular time intervals and further store in the storage unit

[0304] , Further, the performance monitoring module

[0306] may uniquely name each data sheet in reference to the data and time of the backup. Further, in an implementation, the data sheet may be easily retrieved when required for future reference based on the date and time of the backup.

[0158] In yet another aspect, the backup of the data sheet may be saved in a ZIP format (compressed format) which may further store saving space of the storage unit

[0304] ,

[0159] Further, the method terminates at step

[0414] ,

[0160] Referring to Figure 5, an exemplary method flow diagram

[0500] for monitoring a performance of one or more network node servers and one or more applications, in accordance with exemplary implementations of the present disclosure is shown. In an implementation themethod

[0500] is performed by the system

[0300] , Further, in an implementation, the system

[0300] may be present in a server device to implement the features of the present disclosure.

[0161] At step

[0502] , the system

[0300] automatically collects a health check data related to one or more applications. Herein, the health check data may comprise at least a CPU usage parameter, a memory usage parameter, a thread count parameter, a database status parameter that are related to the one or more applications. The system

[0300] may collect the health check data, at the default frequency, such as at least one of a daily frequency, an hourly frequency, a weekly frequency, and any other similar frequency known in the state of art.

[0162] At step

[0504] , the system

[0300] collects a server data related to the one or more network node servers through a time-based job scheduler such as cronjob. Further, the server data may comprise at least a free memory parameter, a network status parameter, a server uptime parameter. Further, time scheduled may refer to a time gap present in between collection of the latest server data with the previously collected server data. The time-based job scheduler may further maintain an up-to-date record of the server data of the one or more network node servers. The collected server data and the heath check data may be further stored at a location based on an IP address associated with the one or more applications and one or more network node servers.

[0163] At step

[0506] , the system

[0300] retrieves the health check data and the server data to a centralized Command Line Interface (CLI) using a secure file transfer protocol (SFTP). The system

[0300] retrieve the one or more heath check data and the server data that are located at similar locations (i.e. having similar IP address).

[0164] At step

[0508] , the system

[0300] corelates the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data. The correlated data may further describe how a particular application may impact the performance of a particular network node server and vice versa.

[0165] Further, the system

[0300] assesses the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values, where the one or more predefined threshold values is specified in a property file. Herein, the property file may refer to a configuration file that may be used to store pre-defined threshold values for the health check data and the server data.

[0166] At step

[0510] , the system

[0300] further populates a data sheet based on the health check data, the server data, and the health status. In case, the values in the correlation data may differ with the one or more predefined threshold values that is specified in the property file, the system

[0300] may determine the health status as NOT OK.

[0167] Similarly, the values in the correlation data may match with the one or more predefined threshold values that is specified in the property file, the system

[0300] may determine the health status as OK.

[0168] Further, based on the determined health status, the system

[0300] may further create the data sheet which mentions the correlation data along with the determined health status.

[0169] At step

[0512] , the system

[0300] creates a backup of the data sheet at regular time intervals by appending a date and time for future reference. The system

[0300] may uniquely name each data sheet with reference to the data and time of the backup.

[0170] Referring to Figure 6, an exemplary method flow diagram

[0600] for monitoring a performance of one or more network node servers and one or more applications, in accordance with exemplary implementations of the present disclosure is shown. In an implementation the method

[0600] is performed by the system

[0300] , Further, in an implementation, the system

[0300] may be present in a server device to implement the features of the present disclosure.

[0171] At step

[0602] , the system

[0300] automatically collects a health check data related to one or more applications (or Network Functions (NF)) and one or more network server nodes. Herein, the health check data may comprise at least a CPU usage parameter, a memory usage parameter, a thread count parameter, a database status parameter that are related to the one or more applications. The system

[0300] may collect the health check data, at the default frequency, such as at least one of a daily frequency, an hourly frequency, a weekly frequency, and any other similar frequency known in the state of art.

[0172] At step

[0604] , the system

[0300] retrieves the health check data to a centralized Command Line Interface (CLI) using a secure file transfer protocol (SFTP).

[0173] At step

[0606] , the health check data of the one or more applications (or NFs) is correlated with the one or more network node servers based on the IP address associated with the one or moreapplications. The system

[0300] then displays the data correlation and assessment for each of the applications or NFs. The block at step

[0604] shows the CLI displaying the data correlation and assessment for NF- 1, NF -2 and so on till NF-n.

[0174] Further, the system

[0300] assesses the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values, where the one or more predefined threshold values is specified in a property file. Herein, the property file may refer to a configuration file that may be used to store pre-defined threshold values for the health check data and the server data.

[0175] At step

[0608] , the system

[0300] further populates a data sheet based on the health check data, the server data, and the health status. The values in the correlation data may be matched with the one or more predefined threshold values that is specified in the property file, and based on this comparison, the system

[0300] may determine the health status as OK. In case, the values in the correlation data may differ with the one or more predefined threshold values that is specified in the property file, the system

[0300] may determine the health status as NOT OK.

[0176] Further, based on the determined health status, the system

[0300] may further create the data sheet which mentions the correlation data along with the determined health status.

[0177] At step

[0610] , the system

[0300] creates a backup of the data sheet at regular time intervals by appending a date and time for future reference.

[0178] The present disclosure further discloses a non-transitory computer readable storage medium storing instruction for monitoring a performance of one or more network node servers and one or more applications, the instructions include executable code which, when executed by one or more units of a system

[0300] causes a data acquisition unit

[0302] to automatically collect a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications. Further, the instructions include executable code, which when executed causes a storage unit

[0304] to store the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address. Further, the instructions include executable code, which when executed causes a performance monitoring module

[0306] to: retrieve the health check data for the one or more applications and the server data for the one ormore node servers from the storage unit

[0304] ; correlate, the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data; and assess the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values.

[0179] As is evident from the above, the present disclosure provides a technically advanced solution for monitoring a performance of one or more network node servers and one or more applications. The automated health check solution as disclosed in the present disclosure, speeds up the process of performing health checks, reducing the time required from hours to just a matter of minutes. With this solution in place, the time taken to complete the entire health check operation is drastically minimized, allowing for increased productivity and efficiency. Secondly, this solution of the present disclosure, incorporates a data backup mechanism. It stores the collected data, including historical records, in both Excel and zip formats, ensuring data integrity and availability for future reference. This backup functionality allows for easy retrieval and analysis of past health check data. By retaining this historical information, the solution empowers users to track trends, identify patterns, and make informed decisions based on historical performance data. The present solution can be further implemented in future technologies such as Sixth generation (6G) technologies.

[0180] While considerable emphasis has been placed herein on the disclosed implementations, it will be appreciated that many implementations can be made and that many changes can be made to the implementations without departing from the principles of the present disclosure. These and other changes in the implementations of the present disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.

[0181] Further, in accordance with the present disclosure, it is to be acknowledged that the functionality described for the various the components / units can be implemented interchangeably. While specific embodiments may disclose a particular functionality of these units for clarity, it is recognized that various configurations and combinations thereof are within the scope of the disclosure. The functionality of specific units as disclosed in the disclosure should not be construed as limiting the scope of the present disclosure. Consequently, alternative arrangements and substitutions of units, provided they achieve the intended functionality described herein, are considered to be encompassed within the scope of the present disclosure.

Claims

We Claim:

1. A method [400] for monitoring a performance of one or more network node servers and one or more applications, the method [400] comprising: automatically collecting, by a data acquisition unit [302], a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications; storing, by a storage unit [304], the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address; retrieving, by a performance monitoring module [306], the health check data for the one or more applications and the server data for the one or more node servers from the storage unit [304]; correlating, by the performance monitoring module [306], the health check data for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data; and assessing, by the performance monitoring module [306], the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values.

2. The method [400] as claimed in claim 1, wherein the health check data comprises at least a CPU usage parameter, a memory usage parameter, a thread count parameter, a database status parameter.

3. The method [400] as claimed in claim 1, wherein the server data comprises at least a free memory parameter, a network status parameter, a server uptime parameter.

4. The method [400] as claimed in claim 1, wherein the collecting, by the data acquisition unit [302], the server data is scheduled via a time-based job scheduler.

5. The method [400] as claimed in claim 1, wherein the health check data is retrieved by the performance monitoring module [306] using a secure file transfer protocol (SFTP).

6. The method [400] as claimed in claim 1, wherein collecting, by the data acquisition unit [302], the health check data, is performed at one of: a default frequency, and a frequency determined by manual user inputs via a command line interface (CLI).

7. The method [400] as claimed in claim 1, wherein the method [400] further comprises: determining, by the performance monitoring module [306], a health status of the one or more applications and the one or more network node servers based on the assessment; and populating, by the performance monitoring module [306], a data sheet based on the health check data, the server data, and the determined health status.

8. The method [400] as claimed in claim 7, wherein the method [400] comprises creating, by the performance monitoring module [306], a backup of the data sheet by appending a date and time for future reference.

9. The method [400] as claimed in claim 1, wherein the one or more predefined threshold values is specified in a property file.

10. A system [300] for monitoring a performance of one or more network node servers and one or more applications, the system [300] comprises: a data acquisition unit [302] configured to automatically collect a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications; a storage unit [304] connected to at least the data acquisition unit [302], wherein the storage unit [304] is configured to store the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address; a performance monitoring module [306] connected to at least the storage unit [304], wherein the performance monitoring module [306] is configured to: o retrieve the health check data for the one or more applications and the server data for the one or more node servers from the storage unit [304],o correlate, the health check data for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data; and o assess the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values.

11. The system [300] as claimed in claim 10, wherein the health check data comprises at least a CPU usage parameter, a memory usage parameter, a thread count parameter, a database status parameter.

12. The system [300] as claimed in claim 10, wherein the server data comprises at least a free memory parameter, a network status parameter, a server uptime parameter.

13. The system [300] as claimed in claim 10, wherein the data acquisition unit [302] is configured to collect the server data at a time scheduled via a time-based job scheduler.

14. The system [300] as claimed in claim 10, wherein the health check data is retrieved by the performance monitoring module [306] using a secure file transfer protocol (SFTP).

15. The system [300] as claimed in claim 10, wherein the data acquisition unit [302] is configured to collect the health check data, at one of: a default frequency and a frequency determined by manual user inputs via a command line interface (CLI).

16. The system [300] as claimed in claim 10, wherein the performance monitoring module [306] is further configured to: determine a health status of the one or more applications and the one or more network node servers based on the assessment, and populate a data sheet based on the health check data, the server data, and the determined health status.

17. The system [300] as claimed in claim 16, wherein the performance monitoring module [306] is further configured to: create a backup of the data sheet by appending a date and time for future reference.

18. The system [300] as claimed in claim 10, wherein the one or more predefined threshold values is specified in a property file.

19. A non-transitory computer readable storage medium storing instruction for monitoring a performance of one or more network node servers and one or more applications, the instructions include executable code which, when executed by one or more units of a system [300] causes: a data acquisition unit [302] to automatically collect a health check data related to one or more applications, and a server data related to one or more network node servers, wherein the heath check data is associated with execution of the one or more applications; a storage unit [304] to store the health check data for each of the one or more applications and the server data for each of the one or more network node servers at a location, wherein the health check data for each of the application is associated with an IP address; a performance monitoring module [306] to: o retrieve the health check data for the one or more applications and the server data for the one or more node servers from the storage unit [304], o correlate, the health check for each of the application and the server data for each of the node servers based on the IP addresses to get a correlation data; and o assess the performance of the one or more applications and the one or more network node servers based on a comparison of the correlation data with one or more predefined threshold values.