Method and system for provisioning and configuring counters
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- JIO PLATFORMS LTD
- Filing Date
- 2024-08-14
- Publication Date
- 2026-07-01
AI Technical Summary
Current network performance management systems face delays in detecting and rectifying network anomalies due to the manual and time-consuming process of provisioning and configuring counters, which hinders real-time monitoring and analysis.
A method and system for dynamically provisioning and configuring counters at an application, involving a transceiver unit for receiving counter provisioning requests, a validation unit for determining validation status based on predefined rules, and a provisioning unit for real-time dynamic provisioning and configuration of counters.
Enables real-time monitoring and analysis of network performance by allowing instant configuration of counters, reducing delays in anomaly detection and response, and facilitating continuous network monitoring and management.
Smart Images

Figure IN2024051496_27022025_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR PROVISIONING AND CONFIGURING COUNTERSTECHNICAL 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 dynamically provisioning and configuring one or more counters at an application.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] Network performance management systems typically track network elements and data from network monitoring tools and then combine and process such data to determine key performance indicators (KPIs) of the network. Integrated performance management systems provide the means to visualize the network performance data so that network operators and other relevant stakeholders are able to determine quality of service of the network, and / or network elements. By having an overall as well as detailed view of the network performance, the network operators can detect, diagnose and remedy actual service issues, as well as predict potential service issues or failures in the network and take precautionary measures accordingly.
[0004] To manage a network, it is required that certain parameters are monitored, and one of the most significant elements for network performance management is counters. However, there is generally a lag in time between the counters detecting an anomaly in the network, and a time taken to rectify the anomaly. In other words, the user of the network may not be able to instantly upload the counters and applications are not configured accordingly in real-time. Further, the user may not be able to start analyzing their network and create KPIs right away. Further still, the user may not be able to bulk upload their counters, and instead, is required to upload counters individually, leading to delays.
[0005] Thus, there is a need in the art for dynamic counter provisioning for instant configuration of applications and displaying counters.OBJECTS OF THE DISCLOSURE
[0006] Some of the objects of the present disclosure, which at least one embodiment disclosed herein satisfies are listed herein below.
[0007] It is an object of the present disclosure to provide a system and a method for dynamically provisioning and configuring one or more counters at an application.
[0008] It is another object of the present disclosure to provide a solution for monitoring and managing a network through the counters.
[0009] It is yet another object of the present disclosure to provide a solution where provisioning of the counter takes place in real-time, to provide continuous monitoring, and real-time analysis of the network, and expeditious responses.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 relates to a method for dynamically provisioning and configuring one or more counters at an application. The method comprises receiving, by a transceiver unit, a counter provisioning request, wherein the counter provisioning request is associated with a set of counters associated with the application. The method further comprises determining, by a validation unit, a validation status associated with the counter provisioning request, based on a set of predefined counter provisioning validation rules, wherein the validation status is at least one of a validation successful status, and a validation unsuccessful status. The method further comprises dynamically provisioning, by a provisioning unit, one or more counters from the set of counters associated with the counter provisioning request, based on the validationsuccessful status. The method further comprises configuring, in real time, by the provisioning unit, at the application, the one or more counters, based on the dynamic provisioning of the one or more counters.
[0012] In an exemplary aspect of the present disclosure, the counter provisioning request is received by the transceiver unit via a load balancer, wherein the load balancer is configured to receive the counter provisioning request from a User Interface (UI).
[0013] In an exemplary aspect of the present disclosure, the validation successful status is determined, by the validation unit, in an event the counter provisioning request is in accordance with the set of predefined counter provisioning validation rules, wherein the validation unsuccessful status is determined, by the validation unit, in an event the counter provisioning request is not in accordance with the set of predefined counter provisioning validation rules.
[0014] In an exemplary aspect of the present disclosure, the method further comprises generating, by the validation unit, an acknowledgement based on successfully storing the counter provisioning request.
[0015] In an exemplary aspect of the present disclosure, the method further comprises facilitating, by the provisioning unit, a display, at the application via the UI, of at least the one or more counters based on the validation successful status associated with the counter provisioning request.
[0016] Another aspect of the present disclosure relates to a system for dynamically provisioning and configuring one or more counters at an application. The system comprises a transceiver unit configured to receive a counter provisioning request, wherein the counter provisioning request is associated with a set of counters associated with the application. The IPM unit further comprises a validation unit connected to at least the transceiver unit, the validation unit configured to determine a validation status associated with the counter provisioning request based on a set of predefined counter provisioning validation rules, wherein the validation status is at least one of a validation successful status and a validation unsuccessful status. The IPM unit further comprises a provisioning unit connected to at least the validation unit, the provisioning unit configured to dynamically provision the one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status. The provisioning unit isfurther configured to configure in real time, at the application, the one or more counters based on the dynamic provisioning of the one or more counters.
[0017] Another aspect of the present disclosure relates to a non-transitory computer readable storage medium storing instructions, the instructions including executable code which, when executed by a one or more units of a system, causes: a transceiver unit to receive a counter provisioning request, wherein the counter provisioning request is associated with a set of counters associated with the application; a validation unit to determine a validation status associated with the counter provisioning request based on a set of predefined counter provisioning validation rules, wherein the validation status is at least one of a validation successful status and a validation unsuccessful status; a provisioning unit to: dynamically provision the one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status; and configure in real time, at the application, the one or more counters based on the dynamic provisioning of the one or more counters.DESCRIPTION OF THE DRAWINGS
[0018] 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 be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components or circuitry commonly used to implement such components.
[0019] FIG. 1 illustrates an exemplary block diagram of a network performance management system, in accordance with exemplary embodiments of the present disclosure.
[0020] FIG. 2 illustrates an exemplary block diagram of a computing device configured to implement one or more features of the present disclosure, in accordance with exemplary implementations of the present disclosure.
[0021] FIG. 3 illustrates an exemplary block diagram of a system for dynamically provisioning and configuring one or more counters at an application, in accordance with exemplary implementations of the present disclosure.
[0022] FIG. 4 illustrates an exemplary flow diagram of a method for dynamically provisioning and configuring the one or more counters at the application, in accordance with exemplary implementations of the present disclosure.
[0023] FIG. 5 illustrates an exemplary system architecture for dynamically provisioning and configuring the one or more counters at the application, in accordance with exemplary implementations of the present disclosure.
[0024] FIG. 6 illustrates an exemplary flow diagram of a process for dynamically provisioning and configuring the one or more counters at the application, in accordance with exemplary implementations of the present disclosure.
[0025] The foregoing shall be more apparent from the following more detailed description of the disclosure.DETAILED DESCRIPTION
[0026] 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 one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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. A processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a 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.
[0032] 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.
[0033] 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.
[0034] 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 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.
[0035] All modules, units, components used herein, unless explicitly excluded herein, may be software modules or hardware processors, the processors being a general-purpose processor, a special 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.
[0036] As used herein the transceiver unit include 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.
[0037] As discussed in the background section, the current known solutions have several shortcomings. The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by providing a method and a system of dynamically provisioning and configuring one or more counters at an application. The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by handling the network, its changes and dynamically managing it with the help of counter provisioning. The proposed system and method allows a user of the network to configure one or more new counters easily in the network, and further allows the user to monitor and make required changes in real-time in the network. The method and system further provide inputs to the user regarding discrepancies and shortcomings in the network, and subsequently, suggests one or more counters that the user may deploy in the network to assist in better monitoring of the network.
[0038] FIG. 1 illustrates an exemplary block diagram of a network performance management system
[0100] , in accordance with the exemplary embodiments of the present disclosure. Referring to FIG. 1, the network performance management system
[0100] comprises various sub-systems such as: an integrated performance management (IPM) system
[0102] , a normalization layer
[0104] , a computation layer
[0106] , an anomaly detection layer
[0108] , a streaming engine
[0110] , a load balancer
[0112] , an operation and management system
[0114] , an API gateway system
[0116] , an analysis engine
[0118] , a parallel computing framework
[0120] , a forecasting engine
[0122] , a distributed file system
[0124] , a mapping layer
[0126] , a distributed data lake
[0128] , a scheduling layer
[0130] , a reporting engine
[0132] , a message broker
[0134] , a graph layer
[0136] , a caching layer
[0138] , a service quality manager
[0140] , and a correlation engine
[0142] , Exemplary connections between the above-mentioned subsystems are also as shown in Fig. 1. However, it will be appreciated by those skilled in the art that the present disclosure is not limited to the connections shown in the diagram, and any other connections between the different subsystems that are needed to realise the effects of the network performance management system
[0100] are within the scope of this disclosure.
[0039] Further, the integrated performance management system
[0102] comprises a performance management engine
[0150] , a Key Performance Indicator (KPI) Engine
[0152] , and an ingestion layer
[0154] ,
[0040] The following section describes some of the different sub-systems of the system
[0100] :
[0041] Performance Management Engine
[0150] : The Performance Management engine [lOOv] is a crucial component of the integrated performance management system
[0102] , and is responsible for collecting, processing, and managing performance counter data from various data sources within the network. The gathered data includes metrics such as, connection speed, latency, data transfer rates, etc. This raw data is then processed and aggregated as required, forming a comprehensive overview of network performance. The processed information is then stored in the Distributed Data Lake
[0128] , which is a centralized, scalable, and flexible storage medium, allowing for easy access and further analysis. The Performance Management engine
[0150] also enables the reporting and visualization of this performance counter data, thus providing network administrators with a real-time, insightful view of the network's operation. Through these visualizations, operators can monitor the network's performance, identify potential issues, and make informed decisions to enhance network efficiency and reliability.
[0042] Key Performance Indicator (KPI) Engine
[0152] : The Key Performance Indicator (KPI) Engine
[0152] is a dedicated component tasked with managing the KPIs of all the network elements. It uses the performance counters, which are collected and processed by the Performance Management engine
[0150] from various data sources. These counters, which indicate crucial performance data, are harnessed by the KPI engine
[0152] to calculate essential KPIs. These KPIs may include, without limitations, data throughput, latency, packet loss rate, etc. Once the KPIs are computed, they are segregated based on the aggregation requirements, offering a multi-layered and detailed understanding of network performance. The processed KPI data is then stored in the Distributed Data Lake
[0128] , ensuring a highly accessible, centralized, and scalable data repository for further analysis and utilization. Similar to the Performance Management engine
[0150] , the KPI engine
[0152] is also responsible for reporting and visualization of KPI data. This functionality allows network administrators to gain a comprehensive, visual understanding of the network's performance, thus supporting informed decision-making and efficient network management.
[0043] Ingestion layer
[0154] : The Ingestion layer
[0154] forms a key part of the Integrated Performance Management system
[0102] , and functions to establish an environment capable of handling diverse types of incoming data. This data may include, without limitations, Alarms, Counters, Configuration parameters, Call Detail Records (CDRs), Infrastructure metrics, Logs, and Inventory data, all of which are crucial for maintaining and optimizing the performance of the network. Upon receiving the data, the Ingestion layer
[0154] validates integrity and correctness of the data to ensure that the data is fit for further processing. Following the step of validation, the data is routed to various components of the system
[0100] , including the Normalization layer
[0104] , the Streaming Engine
[0110] , the analysis engine
[0118] , and the Message Broker
[0134] , The destination is chosen based on where the data is required for further analytics and / or processing. By serving as the first point of contact for incoming data, the Ingestion layer
[0154] plays a vital role in managing the data flow within the system
[0100] , thus supporting comprehensive and accurate network performance analysis.
[0044] Normalization layer
[0104] : The Normalization Layer
[0104] serves to standardize, enrich, and store data into the appropriate databases. The normalization layer
[0104] receives data from the ingestion layer
[0154] and adjusts it to a common standard, making it easier to compare and analyse. This process of "normalization" reduces redundancy and improves data integrity. Upon completion of normalization, the data is stored in various databases like the Distributed Data Lake
[0128] , Caching Layer
[0138] , and Graph Layer
[0136] , depending on the intended use for the data. The choice of storage determines how the data can be accessed and used in the future. Additionally, the Normalization Layer
[0104] produces data for the Message Broker
[0134] , which is configured to enable communication between different parts of the network performance management system
[0100] through the exchange of data messages. Moreover, the Normalization Layer
[0104] supplies the standardized data to several other subsystems. These include the Analysis Engine
[0118] for detailed data examination, the Correlation Engine
[0142] for detecting relationships among various data elements, the Service Quality Manager
[0140] for maintaining and improving the quality of services, and the Streaming Engine
[0110] for processing real-time data streams. These subsystems depend on the normalized data to perform their operations effectively and accurately.
[0045] Caching layer
[0138] : The Caching Layer
[0138] play s a significant role in data management and optimization in the network performance management system
[0100] , During the initial phase, the Normalization Layer
[0104] processes incoming raw data to create a standardized format, enhancing consistency and comparability. The Normalizer Layer
[0104] then inserts this normalized data into various databases, such as the Caching Layer
[0138] , The Caching Layer
[0138] is a high-speed data storage layer, which temporarily holds data that is likely to be reused, to improve speed and performance of data retrieval. By storing frequently accessed data in the Caching Layer
[0138] , the network performance management system
[0100] significantly reduces the time taken to access this data, improving overall efficiency and performance of the network performance management system
[0100] , Further, the Caching Layer
[0138] serves as an intermediate layer between the data sources and other sub-systems, such as the Analysis Engine
[0118] , the Correlation Engine
[0142] , the Service Quality Manager
[0140] , and the Streaming Engine
[0110] , The Normalization Layer
[0104] is responsible for providing these sub-systems with the necessary data from the Caching Layer
[0138] ,
[0046] Computation layer
[0106] : The Computation Layer
[0106] serves as the main hub for complex data processing tasks. In the initial stages, raw data is gathered, normalized, and enriched by the Normalization Layer
[0104] , The Normalization Layer
[0104] then inserts this normalized data into multiple databases including the Distributed Data Lake
[0128] , the Caching Layer
[0138] , and the Graph Layer
[0136] , and also feeds it to the Message Broker
[0134] , Within the Computation Layer
[0106] , several powerful sub-systems such as the Analysis Engine
[0118] , the Correlation Engine
[0142] , the Service Quality Manager
[0140] , and the Streaming Engine
[0110] , utilize the normalized data. These systems are designed to execute various data processing tasks. The Analysis Engine
[0118] performs in-depth data analytics to generate insights from the data. The Correlation Engine
[0142] identifies and understands the relations and patterns within the data. The Service Quality Manager
[0140] assesses and ensures the quality of the services. The Streaming Engine
[0110] processes and analyses the real-time data feeds. In essence, the Computation Layer
[0106] is where all major computation and data processing tasks occur. It uses the normalized data provided by the Normalization Layer
[0104] , processing it to generate useful insights, ensure service quality, understand data patterns, and facilitate real-time data analytics.
[0047] Message broker
[0134] : The Message Broker
[0134] operates as a publish-subscribe messaging system. It orchestrates and maintains the real-time flow of data from various sources and applications. At its core, the Message Broker
[0134] facilitates communication between data producers and consumers through message-based topics. This creates an advanced platform for contemporary distributed applications. With the ability to accommodate a large number of permanent or ad-hoc consumers, the Message Broker
[0134] demonstrates immense flexibility in managing data streams. Moreover, the message broker
[0134] leverages the filesystem for storage and caching, boosting its speed and efficiency. The design of the Message Broker
[0134] is centred around reliability and is engineered to be fault-tolerant and mitigate data loss, ensuring the integrityand consistency of the data. With its robust design and capabilities, the Message Broker
[0134] forms a critical component in managing and delivering real-time data in the network performance management system
[0100] ,
[0048] Graph layer
[0136] : The Graph Layer
[0136] , serving as the Relationship Modeler, plays a pivotal role in the network Performance Management system
[0100] , It can model a variety of data types, including alarm, counter, configuration, CDR data, Infra-metric data, Probe Data, and Inventory data. Equipped with the capability to establish relationships among diverse types of data, the graph layer
[0136] offers extensive modelling capabilities. For instance, the graph layer
[0136] can model Alarm and Counter data, Vprobe and Alarm data, elucidating their interrelationships. Moreover, the graph layer
[0136] is adept at processing steps provided in the model and delivering the results to the sub-system requested, such as the Parallel Computing framework
[0120] , Workflow Engine, Query Engine, the Correlation engine
[0012] , Performance Management Engine
[0150] , or KPI Engine
[0152] , With its powerful modelling and processing capabilities, the Graph Layer
[0136] forms an essential part of the network performance management system
[0100] , enabling the processing and analysis of complex relationships between various types of network data.
[0049] Scheduling layer
[0130] : The Scheduling Layer
[0130] is endowed with the ability to execute tasks at predetermined intervals set according to user preferences. A task might be an activity, such as performing a service call, an API call to another microservice, the execution of an Elastic Search query, and storing its output in the Distributed Data Lake
[0128] or Distributed File System
[0124] or sending it to another micro-service. The versatility of the Scheduling Layer
[0130] extends to facilitating graph traversals via the Mapping Layer
[0126] to execute tasks. This crucial capability enables seamless and automated operations within the network performance management system
[0100] , ensuring that various tasks and services are performed on schedule, without manual intervention, thereby enhancing the efficiency and performance of the network performance management system
[0100] , Thus, the Scheduling Layer
[0130] orchestrates the systematic and periodic execution of tasks.
[0050] Analysis Engine
[0118] : The Analysis Engine
[0118] is adapted to provide an environment where users can configure and execute workflows for a wide array of use-cases. This facility aids in the debugging process and facilitates a better understanding of call flows. With the Analysis Engine
[0118] , users can perform queries on data sourced from various subsystems or externalgateways. This capability allows for an in-depth overview of data and aids in pinpointing issues. The flexibility of the analysis engine
[0118] allows users to configure specific policies aimed at identifying anomalies within the data. When these policies detect abnormal behaviour or policy breaches, the analysis engine
[0118] sends notifications, ensuring swift and responsive action. In essence, the Analysis Engine
[0118] provides a robust analytical environment for systematic data interrogation, facilitating efficient problem identification and resolution.
[0051] Parallel Computing Framework
[0120] : The Parallel Computing Framework
[0120] is adapted to provide a user-friendly yet advanced platform for executing computing tasks in parallel. The parallel computing framework
[0120] showcases both scalability and fault tolerance, crucial for managing vast amounts of data. Users can input data via the Distributed File System (DFS)
[0124] or Distributed Data Lake (DDL)
[0128] , The parallel computing framework
[0120] supports the creation of task chains by interfacing with the Service Configuration Management (SCM) SubSystem. Each task in a workflow is executed sequentially, but multiple chains can be executed simultaneously, optimizing processing time. To accommodate varying task requirements, the parallel computing framework
[0120] supports the allocation of specific host lists for different computing tasks. The Parallel Computing Framework
[0120] is an essential tool for enhancing processing speeds and efficiently managing computing resources.
[0052] Distributed File System
[0124] : The Distributed File System (DFS)
[0124] is adapted to enable multiple clients to access and interact with data seamlessly. The DFS
[0124] is designed to manage data files that are partitioned into numerous segments known as chunks. In the context of a network with vast data, the DFS
[0124] effectively allows for the distribution of data across multiple nodes, the DFS
[0124] architecture enhances both the scalability and redundancy of the network performance management system
[0100] , ensuring optimal performance even with large data sets. The DFS
[0124] also supports diverse operations, facilitating the flexible interaction with and manipulation of data.
[0053] Load balancer
[0112] : The Load Balancer (LB)
[0112] is configured to efficiently distribute incoming network traffic across a multitude of backend servers or microservices, the LB
[0112] ensures even distribution of data requests, leading to optimized server resource utilization, reduced latency, and improved overall performance of the network performance management system
[0100] , The LB
[0112] implements various routing strategies to manage traffic, including roundrobin scheduling, header-based request dispatch, and context-based request dispatch. Round-robinscheduling is a simple method of rotating requests evenly across available servers. In contrast, header and context-based dispatching allow for more intelligent, request-specific routing. Headerbased dispatching routes requests based on data contained within the headers of the Hypertext Transfer Protocol (HTTP) requests. Context-based dispatching routes traffic based on the contextual information about the incoming requests. For example, in an event-driven architecture, the LB
[0112] manages event and event acknowledgments, forwarding requests or responses to the specific microservice that has requested the event.
[0054] Streaming Engine
[0110] : The Streaming Engine
[0110] , also referred to as Stream Analytics, is a critical subsystem configured for high-speed data pipelining to the User Interface (UI). The objective of the streaming engine
[0110] is to ensure real-time data processing and delivery. Data is received from various connected subsystems and processed in real-time by the Streaming Engine
[0110] , After processing, the data is streamed to the UI, fostering rapid decisionmaking and responses. The Streaming Engine
[0110] cooperates with the Distributed Data Lake
[0128] , the Message Broker
[0134] , and the Caching Layer
[0138] to provide seamless, real-time data flow. The streaming engine
[0110] is designed to perform required computations on incoming data instantly, ensuring that the most relevant and up-to-date information is always available at the UI. Furthermore, the streaming engine
[0110] can also retrieve data from the Distributed Data Lake
[0128] , the Message Broker
[0134] , and the Caching Layer
[0138] as per the requirement and deliver it to the UI in real-time. The goal of the streaming engine
[0110] is to provide fast, reliable, and efficient data streaming.
[0055] Reporting Engine
[0132] : The Reporting Engine
[0132] is configured to dynamically create report layouts of API data, catered to individual client requirements, and deliver these reports via the Notification Engine. The reporting engine
[0132] serves as the primary interface for creating custom reports based on the data visualized through the client's dashboard. The dashboard, created by the client through the User Interface (UI), provides the basis for the reporting engine
[0132] to process and compile data from various interfaces. The main output of the Reporting Engine
[0132] is a detailed report generated in Excel format. The capacity of the Reporting Engine’s
[0132] to parse data from different subsystem interfaces, process it according to the client's specifications and requirements, and generate a comprehensive report makes it an essential component of the network performance management system
[0100] , Furthermore, the Reporting Engine
[0132] integrates seamlessly with the Notification Engine to ensure timely and efficient delivery of reports to clients via email.
[0056] FIG. 2 illustrates an exemplary block diagram of a computing device
[0200] (herein, also referred to as a computer system
[0200] ) upon which one or more features of the present disclosure may be implemented in accordance with an exemplary implementation of the present disclosure. In an implementation, the computing device
[0200] may also implement a method for dynamically provisioning and configuring the one or more counters at the application, utilising a system, or one or more sub-systems, provided in the network. In another implementation, the computing device
[0200] itself implements the method for dynamically provisioning and configuring the one or more counters at the application, 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.
[0057] The computing device
[0200] may include a bus
[0202] or other communication mechanism(s) for communicating information, and a hardware processor
[0204] coupled with bus
[0202] for processing said 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 a non-transitory storage media accessible to the processor
[0204] , render the computing device
[0200] into a special purpose device that is customized to perform operations according to 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] ,
[0058] 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 user of the computing device
[0200] , 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] , The cursor controller
[0216] typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the cursor controller
[0216] to specify positions in a plane.
[0059] 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 device. According to one implementation, the techniques herein are performed 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] , The one or more instructions may be read into the main memory
[0206] from another storage medium, such as the storage device
[0210] , Execution of the one or more sequences of the one or more 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.
[0060] The computing device
[0200] also may include a communication interface
[0218] coupled to the bus
[0202] , The communication interface
[0218] provides 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 telecommunication line. In 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 different types of information.
[0061] The computing device
[0200] can send and receive data, including program code, messages, etc. through the network(s), the network link
[0220] and the communication interface
[0218] , In an 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.
[0062] Referring to FIG. 3, an exemplary block diagram of a system
[0300] for dynamically provisioning and configuring the one or more counters at the application, is illustrated, in accordance with exemplary implementations of the present disclosure. In an embodiment, the system
[0300] comprises at least one Integrated Performance Management (IPM) unit
[0302] , at least one transceiver unit
[0304] , at least one validation unit
[0306] , at least one provisioning unit
[0308] , and at least one storing unit
[0310] , Further, all the components and / or units of the system
[0300] are assumed to be connected to each other, unless otherwise indicated. Other components and / or units depicted in FIG. 3 to be part of the system
[0300] should also be assumed to be connected to each other. Furthermore, in FIG. 3, only a few units are shown; however, the system
[0300] may comprise one or more of such units, as required to implement the one or more features of the present disclosure. In an implementation, the system
[0300] may be present in a user device / user equipment to implement the features of the present disclosure, may be a part of the user device / user equipment, may be independent of, but in communication with the user device / user equipment (UE), or may be implemented as any combination thereof. In another implementation, the system
[0300] may reside in a server or a network entity. In yet another implementation, the system
[0300] may reside partly in the server / network entity, and partly in the UE.
[0063] The system
[0300] is configured for dynamically provisioning and configuring one or more counters at an application, enabled by the interconnection between the components / units of the system
[0300] ,
[0064] 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.
[0065] The application referred to herein may be a user application that may be utilized by a user to interact with the system
[0300] , In an implementation, the user application is a network monitoring application that may assist the user in monitoring one or more network elements of aparticular network infrastructure. However, it is to be noted that the application mentioned above is just exemplary and may include any other application known to a person skilled in the art.
[0066] The UE referred to herein may be a user device associated with the user and used to interact with the system
[0300] , The UE may include, without limitations, smartphones, laptops, desktops, computers, tablets, or any other device that may be capable of running one or more applications and may further be capable of connecting with the network.
[0067] The system
[0300] comprises the Integrated Performance Management (IPM) unit
[0302] , The IPM unit
[0302] may be implemented as a centralized server that may connected to one or more User-Interfaces (UI) for facilitating an interaction between the User and the system
[0300] , In an example, the IPM unit
[0302] may handle one or more user requests and may be configured to validate the one or more user requests. It is to be noted that the IPM unit
[0302] may perform several other operations which may be known to a person skilled in the art.
[0068] The system
[0300] comprises the transceiver unit
[0304] , and the transceiver unit
[0304] is configured to receive a counter provisioning request. In one example, the transceiver unit
[0304] may directly receive the counter provisioning request from the one or more UIs. In another example, the transceiver unit
[0304] may receive the counter provisioning request from external interfaces, such as, third-party interfaces. The set of counters referred to herein may be a set of one or specific metrics or data points associated with the application that are monitored, tracked, or controlled by the system
[0300] ,
[0069] The counter provisioning request is associated with a set of counters associated with the application. Specifically, the counter provisioning request may relate to the set of counters that may define one or more characteristics of the application. Further, the counter provisioning request may include one or more commands related to at least one of: a new setup of counters within the set of counters, and an adjustment to be made in the set of counters. It may be noted that the counter provisioning request may include any other command(s) related to the set of counters, as known to a person skilled in the art.
[0070] Further, the set of counters may include at least one of: bandwidth usage counters, packet counters, error rate counters, latency counters, throughput counters, and connection counters. Further it is to be noted that the set of counters mentioned above are exemplary and the set ofcounters may include any other counters that may be known to the person skilled in the art. In one example, the set of counters are used to analyse one or more network trends for the one or more network elements. In another example, the set of counters may further be used to calculate one or more Key Performance Indicators (KPIs) for monitoring efficiency of the one or more network elements.
[0071] Further, the transceiver unit
[0304] is configured to receive the counter provisioning request via a load balancer, and the load balancer, in turn, is configured to receive the counter provisioning request from the User Interface (UI). The load balancer is primarily used for a process called load balancing, which refers to distributing one or more available tasks / requests to the one or more available resources in the IPM unit
[0302] , In an implementation of the present disclosure, the load balancer may distribute the incoming counter provisioning request to multiple instances of the IPM unit
[0302] ,
[0072] The system
[0300] further comprises the validation unit
[0306] connected to at least the transceiver unit
[0304] , In response to receiving the counter provisioning request, the transceiver unit
[0304] may transmit the counter provisioning request to the validation unit
[0306] , and the validation unit
[0306] may be configured to validate the counter provisioning request. In an implementation, the validation unit
[0306] is configured to determine a validation status associated with the counter provisioning request based on a set of predefined counter provisioning validation rules. Thereafter, based on the validation of the counter provisioning request, the validation unit
[0306] may be further configured to determine the validation status associated with the counter provisioning request. The set of predefined counter provisioning validation rules may refer to a set of rules utilized by the validation unit
[0306] to validate the counter provisioning request. The set of predefined counter provisioning validation rules may further include at least on of: a limitation on the number of counters, and a threshold for values of counters.
[0073] Further, the validation status is at least one of a validation successful status and a validation unsuccessful status. The validation successful status is determined by the validation unit
[0306] in an event the counter provisioning request is in accordance with the set of predefined counter provisioning validation rules. The validation unsuccessful status is determined by the validation unit
[0306] in an event the counter provisioning request is not in accordance with the set of predefined counter provisioning validation rules. Thus, the validation unit
[0306] may be configuredto prevent execution of any unvalidated requests, based on the validation of the counter provisioning request.
[0074] In an implementation, the limitation on the number of counters may refer to a maximum or minimum number of counters that may be provisioned in the network at any instance. If the request for provisioning of the counters falls outside of the desired, or allowable range, the validation unit
[0306] may be configured to determine that the provisioning request is not valid, or that the validity status of the request is one of validation unsuccessful.
[0075] In an implementation, the threshold value for counters may refer to a maximum limit of number of counters that may be supported in the network at any instance. If the request for provisioning of the counters potentially results in the number of counters in the network exceeding the threshold value, the validation unit
[0306] may be configured to determine that the provisioning request is not valid, or that the validity status of the request is one of validation unsuccessful.
[0076] The system
[0300] further comprises the provisioning unit
[0308] connected to at least the validation unit
[0306] , The provisioning unit
[0308] is configured to dynamically provision the one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status of the counter provisioning request. The dynamic provisioning of the one or more counters from the set of counters may refer to the at least one of the new setup of counters within the set of counters, and the adjustment to be made in the set of counters.
[0077] The provisioning unit
[0308] is further configured to configure in real time, at the application, the one or more counters based on the dynamic provisioning of the one or more counters. Further, the provisioning unit
[0308] may immediately follow the command such as (one or more commands related to a new setup of counters within the set of counters, or an adjustment to be made in the set of counters) presented in the counter provisioning request in the event, the counter provisioning request is validated. The application may further use the newly added counters or the adjusted counters in real time without any delay.
[0078] The provisioning unit
[0308] is further configured to facilitate displaying, at the application via the UI, of at least the one or more counters based on the validation successful status associated with the counter provisioning request to allow the user to view the recently updated counters from the set of counters in real-time via the UI.
[0079] In response to dynamically provisioning the one or more counters, the storing unit
[0310] connected at least to the provisioning unit
[0308] , may be configured to store recent changes made to the set of counters to form a new set of counters. The validation unit
[0306] may be further configured to generate an acknowledgement based on successfully storing the provisioned counters. In one example, the validation unit
[0306] may further generate the acknowledgement (such as a confirmation message) in response to successfully storing of the new set of counters within the set of counters. In another example, the transceiver unit
[0304] may transmit the acknowledgement to the UI.
[0080] Dynamic counter provisioning feature allows the user to manage network using counters and analyze or troubleshoot issues. It helps the user to configure the counters into the application for a particular network node that they want to monitor. Using the counters, network issues are investigated, network trends are analyzed and other KPIs may be formulated to monitor the network efficiently. The capacity to react to, and adapt to changes happening in the network, in real time, allows for a dynamic approach to resolve any problems that may arise, or to make changes within the network to modify one or more parameters. In other words, this dynamic nature allows for more efficient and effective network management. An added feature of dynamic network management is that any downtime, due to a potential problem arising in the network is significantly minimized due to the real time adaptability of the network.
[0081] For ease of understanding, the aforementioned description is explained with a help of an exemplary scenario. A user (suppose an administrator monitoring one or more network elements) who may desire to make an adjustment in the set of counters (suppose the administrator may desire to increase a bandwidth limit for a specific network element) may access the UI to submit a counter provisioning request for adjusting the set of counters, via the transceiver unit
[0304] of the IPM unit
[0302] , The transceiver unit
[0304] , post receiving the counter provisioning request, may further send the counter provisioning request to the validation unit
[0306] , Thereafter, the validation unit
[0306] may further validate the counter provisioning request against the set of predefined counter provisioning validation rules. For example, suppose the user may desire to increase the bandwidth limit from 700 Megabit per second (Mbps) to 800 Mbps, then in such a case, the validation unit
[0306] may validate a maximum allowable bandwidth limit (suppose 1000 Mbps). Further, based on validation of the counter provisioning request, the validation unit
[0306] may determine the validation status of the counter provisioning request. In the above example, the validation unit
[0306] may determine that the request for increasing the bandwidth by the user is within theacceptable range (as 800 Mbps < 1000 Mbps), and the validation unit
[0306] may thus determine the validation successful status of the counter provisioning request. Thereafter, the provisioning unit
[0308] may provision the requested bandwidth limit in the set of counters. The provisioning unit
[0308] may further ensure that the changes in the set of counters are applied immediately, and the set of counters are further accessible for real time usage, and monitoring. Thereafter, the validation unit
[0306] may generate the acknowledgement related to the successful implementation of the counter provisioning request, along with the successful storing of the new set of counters. The transceiver unit
[0304] may transmit the generated acknowledgement to the UI.
[0082] Referring to FIG. 4, an exemplary flow diagram of a method
[0400] for dynamically provisioning and configuring the one or more counters at the application, in accordance with exemplary implementations of the present disclosure, is illustrated. 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 FIG. 4, the method
[0400] starts at step
[0402] ,
[0083] At step 404, the method
[0400] comprises receiving, by the transceiver unit
[0304] , the counter provisioning request. In one implementation, the transceiver unit
[0304] may directly receive the counter provisioning request from the one or more UIs. In another implementation, the transceiver unit
[0304] may receive the counter provisioning request from third-party interfaces. The counter provisioning request is associated with a set of counters associated with the application. Further, the counter provisioning request may include one or more command in regard to at least one of a new setup of counters within the set of counters, and an adjustment to be made in the set of counters.
[0084] The set of counters may include at least one of: bandwidth usage counters, packet counters, error rate counters, latency counters, throughput counters, and connection counters. In one example, the set of counters are used to analyse one or more network trends for the one or more network elements. In another example, the set of counters may further be used to calculate one or more Key Performance Indicators (KPIs) for monitoring efficiency of the one or more network elements.
[0085] Further, the counter provisioning request is received by the transceiver unit
[0304] via the load balancer, wherein the load balancer is configured to receive the counter provisioning request from the UI.
[0086] At step 406, the method
[0400] comprises determining, by the validation unit
[0306] , the validation status associated with the counter provisioning request based on the set of predefined counter provisioning validation rules, wherein the validation status is at least one of the validation successful status and the validation unsuccessful status. The method
[0400] may further comprise, post receiving the counter provisioning request, transmitting, by the transceiver unit
[0304] , the counter provisioning request to the validation unit
[0306] ,
[0087] The validation successful status is determined, by the validation unit
[0306] at the IPM unit
[0302] , in an event the counter provisioning request is in accordance with the set of predefined counter provisioning validation rules. The validation unsuccessful status is determined, by the validation unit
[0306] at the IPM unit
[0302] , in an event the counter provisioning request is not in accordance with the set of predefined counter provisioning validation rules.
[0088] At step 408, the method
[0400] comprises dynamically provisioning, by the provisioning unit
[0308] , one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status.
[0089] At step 410, the method
[0400] comprises configuring in real time, by the provisioning unit
[0308] , at the application, the one or more counters based on the dynamically provisioned one or more counters.
[0090] The method
[0400] further comprises facilitating, by the provisioning unit
[0308] , a display, at the application via the UI, of at least the one or more counters based on the validation successful status associated with the counter provisioning request.
[0091] The method
[0400] further comprises, post dynamically provisioning the one or more counters, storing, by the storing unit
[0310] , recent changes made to the set of counters to form a new set of counters. The method
[0400] further comprises generating by the validation unit
[0306] , at the IPM unit
[0302] , an acknowledgement based on successfully storing the counter provisioning request.
[0092] Thereafter, the method
[0400] terminates at step 412.
[0093] In a preferred embodiment as illustrated in FIG. 5, the connections between the various components of a system
[0500] are established using different protocols and mechanisms, as known in the art. For example:
[0094] UI interface to IPM: The connection between the User Interface (UI)
[0502] and the Integrated Performance Management Module (IPM)
[0504] is established using a hypertext transfer protocol (HTTP) connection. HTTP is a widely used protocol for communication between web browsers and servers. It allows the UI
[0502] to send requests and configurations to the IPM
[0504] , and also receive responses or acknowledgments.
[0095] IPM to DDL: The connection between the IPM module
[0504] and the Distributed Data Lake (DDL)
[0506] is established using a TCP (Transmission Control Protocol) connection. TCP is a reliable and connection-oriented protocol that ensures the integrity and ordered delivery of data packets. By using TCP, the IPM module
[0504] can save and retrieve relevant data from the DDL
[0506] for computations, ensuring data consistency and reliability.
[0096] In some embodiments, the system
[0500] may include a load balancer
[0508] for managing connections. The load balancer
[0508] is adapted to distribute the incoming network traffic across multiple servers or components to ensure optimal resource utilization and high availability. Particularly, the load balancer
[0508] is commonly employed to evenly distribute incoming requests across multiple instances of the IPM module
[0504] , providing scalability and fault tolerance to the system
[0500] , Overall, these connections, and the inclusion of the load balancer
[0500] helps to facilitate effective communication, data transfer, and resource management within the system
[0500] , enhancing its performance and reliability.
[0097] Referring to FIG. 6, an exemplary flow diagram
[0600] for dynamically provisioning and configuring the one or more counters at the application, in accordance with exemplary implementations of the present disclosure, is illustrated. In an implementation the method
[0600] is performed by the system
[0500] , Further, in an implementation, the system
[0500] may be present in a server device to implement the features of the present disclosure.
[0098] As shown in FIG. 6, at step 602, a user may submit a counter provisioning request through a User Interface (UI) server. The counter provisioning request may include one or more command in regard to at least one of a new setup of counters within the set of counters, and an adjustment to be made in the set of counters.
[0099] At step 604, the User Interface may process the counter provisioning request and may further transfer the counter provisioning request to a load balancer.
[0100] At step 606, the load balancer may further receive the counter provisioning request. The load balancer may further manage the distribution of all upcoming requests to ensure an even load distribution and efficient processing of all the upcoming requests.
[0101] At step 608, the load balancer may further forward the counter provisioning request to an Integrated Performance Management (IPM) module
[0504] , The IPM module
[0504] is further responsible for validating, processing, and provisioning the counter provisioning request.
[0102] At step 610, the IPM module
[0504] may validate whether the counter provisioning request is a valid request. The IPM module
[0504] may validate the counter provisioning request against predefined counter provisioning validation rules.
[0103] At step 612, further based on the validation of the counter provisioning request, the IPM module
[0504] may determine whether the counter provisioning request is successful or unsuccessful. If information within the counter provisioning request meets with the predefined counter provisioning validation rules, the IPM module
[0504] may determine the counter provisioning request as a successful request. Conversely, in case the information within the counter provisioning request does not meet with the predefined counter provisioning validation rules, the IPM module
[0504] may determine the counter provisioning request as an unsuccessful request or a failed request.
[0104] At step 614, in an event of successful request, the IPM module
[0504] may further dynamically provision the requested command (such as the one of a new setup of counters within the set of counters, or an adjustment to be made in the set of counters) mentioned on the counter provisioning request and updates the set of counters to form a new set of counters. Further, theIPM module
[0504] may upload the new set of counters to a Distributed Data Lake (DDL). The DDL may store the new set of counters for future references and analysis.
[0105] At step 616, the IPM module
[0504] may further verify whether the new set of counters are successfully updated.
[0106] At step 618, the IPM module
[0504] may communicate the outcome of the request back to the load balancer. In an event, the counter provisioning request is successful and new set of counters are further uploaded to the DDL, the IPM module
[0504] may further communicate the same to the load balancer. Conversely, in an event, the counter provisioning request is unsuccessful or the uploading of the new set of counters to the DDL has failed, the IPM module
[0504] may further communicate the same to the load balancer.
[0107] At step 620, the load balancer may further communicate the outcome of the request back to the UI server.
[0108] At step 622, the UI server may further communicate an acknowledgement of the successful or unsuccessful status of the counter provisioning request to the user.
[0109] As is evident from the above, the present disclosure provides a technically advanced solution for dynamically provisioning and configuring one or more counters at an application. The present solution encompasses many advantages over existing practices to monitor the network that is evolving, provisioning of counters dynamically would make it adaptive to the already existing system and the present solution easily monitors the network using these new counters. Further, this feature allows user to monitor and manage the network through the counters, and by selecting and configuring appropriate counters in the application, the users may efficiently track the network performance and identify issues. Further, provisioning counters in the application allows the user to create customized dashboards and generate reports for their regular analysis. Through network history and pattern analysis, ML gives user the recommendation to include certain counters that would be crucial to monitor their network. Also, the counter provisioning can take place in realtime, this ensures continuous monitoring and real-time analysis of the network, allowing for timely analysis and responses and the option to configure counters in bulk streamlines the configuration process, enhances productivity as the present solution may not require any additional downtimefor counter provisioning and reduces the chances of errors that may occur when configuring counters manually.
[0110] Another aspect of the present disclosure relates to a non-transitory computer readable storage medium storing instructions, the instructions including executable code which, when executed by a one or more units of a system, causes: a transceiver unit to receive a counter provisioning request, wherein the counter provisioning request is associated with a set of counters associated with the application; a validation unit to determine a validation status associated with the counter provisioning request based on a set of predefined counter provisioning validation rules, wherein the validation status is at least one of a validation successful status and a validation unsuccessful status; a provisioning unit to: dynamically provision the one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status; and configure in real time, at the application, the one or more counters based on the dynamic provisioning of the one or more counters.[OHl] 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.
Claims
We Claim:
1. A method [400] for dynamically provisioning and configuring one or more counters at an application, the method [400] comprising: receiving, by a transceiver unit [304], a counter provisioning request, wherein the counter provisioning request is associated with a set of counters associated with the application; determining, by a validation unit [306], a validation status associated with the counter provisioning request based on a set of predefined counter provisioning validation rules, wherein the validation status is at least one of a validation successful status and a validation unsuccessful status; dynamically provisioning, by a provisioning unit [308], one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status; and configuring in real time, by the provisioning unit [308], at the application, the one or more counters based on the dynamic provisioning of the one or more counters.
2. The method [400] as claimed in claim 1, wherein the counter provisioning request is received by the transceiver unit [304] via a load balancer, and wherein the load balancer is configured to receive the counter provisioning request from a User Interface (UI).
3. The method [400] as claimed in claim 1, wherein the validation successful status is determined, by the validation unit [306], in an event the counter provisioning request is in accordance with the set of predefined counter provisioning validation rules, and wherein the validation unsuccessful status is determined, by the validation unit [306], in an event the counter provisioning request is not in accordance with the set of predefined counter provisioning validation rules.
4. The method [400] as claimed in claim 1, wherein the method [400] further comprises generating by the validation unit [306], an acknowledgement based on successfully storing the counter provisioning request.
5. The method [400] as claimed in claim 1, wherein the method [400] further comprises facilitating, by the provisioning unit [308], a display, at the application via a user interface(UI), of at least the one or more counters based on the validation successful status associated with the counter provisioning request.
6. A system [300] for dynamically provisioning and configuring one or more counters at an application, the system [300] comprising: a transceiver unit [304] configured to receive a counter provisioning request, wherein the counter provisioning request is associated with a set of counters associated with the application; a validation unit [306] connected to at least the transceiver unit [304], the validation unit [306] configured to determine a validation status associated with the counter provisioning request based on a set of predefined counter provisioning validation rules, wherein the validation status is at least one of a validation successful status and a validation unsuccessful status; and a provisioning unit [308] connected to at least the validation unit [306], the provisioning unit [308] configured to: o dynamically provision the one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status; and o configure in real time, at the application, the one or more counters based on the dynamic provisioning of the one or more counters.
7. The system [300] as claimed in claim 6, wherein the transceiver unit [304] is further configured to receive the counter provisioning request via a load balancer, and wherein the load balancer is configured to receive the counter provisioning request from a User Interface (UI).
8. The system [300] as claimed in claim 6, wherein the validation successful status is determined by the validation unit [306] in an event the counter provisioning request is in accordance with the set of predefined counter provisioning validation rules, and wherein the validation unsuccessful status is determined by the validation unit [306] in an event the counter provisioning request is not in accordance with the set of predefined counter provisioning validation rules.
9. The system [300] as claimed in claim 6, wherein the validation unit [306] is further configured to generate an acknowledgement based on successfully storing the counter provisioning.
10. The system [300] as claimed in claim 6, wherein the provisioning unit [308] is further configured to facilitate display, at the application via a user interface (UI), of at least the one or more counters based on the validation successful status associated with the counter provisioning request.
11. A non-transitory computer-readable storage medium, storing instructions for provisioning and configuring one or more counters at an application, the storage medium comprising executable code which, when executed by one or more units of a system, causes:- a transceiver unit [304] to receive a counter provisioning request, wherein the counter provisioning request is associated with a set of counters associated with the application;- a validation unit [306] to determine a validation status associated with the counter provisioning request based on a set of predefined counter provisioning validation rules, wherein the validation status is at least one of a validation successful status and a validation unsuccessful status; and- a provisioning unit [308] to: o dynamically provision the one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status; and o configure in real time, at the application, the one or more counters based on the dynamic provisioning of the one or more counters.