Sign In to Follow Application
View All Documents & Correspondence

Method And System For Provisioning And Configuring Counters

Abstract: The present disclosure relates to a method [400] and a system [300] for dynamically provisioning and configuring one or more counters at an application. The present disclosure provides a transceiver unit [304] to receive a counter provisioning request, associated with a set of counters that are further associated with the application. Further, a validation unit [306] may determine a validation status associated with the counter provisioning request based on a set of predefined counter provisioning validation rules. Further, a provisioning unit [308] dynamically provisions one or more counters from the set of counters associated with the counter provisioning request based on the validation successful status. Further, the provisioning unit [308] configures the one or more counters based on the dynamic provisioning of the one or more counters in real time, at the application. [Figure 3]

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
22 August 2023
Publication Number
09/2025
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

Jio Platforms Limited
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.

Inventors

1. Aayush Bhatnagar
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
2. Ankit Murarka
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
3. Jugal Kishore
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
4. Gaurav Kumar
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
5. Kishan Sahu
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
6. Rahul Kumar
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
7. Sunil Meena
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
8. Manasvi Rajani
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.

Specification

FORM 2
THE PATENTS ACT, 1970
(39 OF 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
“METHOD AND SYSTEM FOR PROVISIONING AND
CONFIGURING COUNTERS”
We, Jio Platforms Limited, an Indian National, of Office - 101, Saffron, Nr. Centre
Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
The following specification particularly describes the invention and the manner in
which it is to be performed.
2
METHOD AND SYSTEM FOR PROVISIONING AND CONFIGURING
COUNTERS
TECHNICAL FIELD
5
[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.
10
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
15 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.
20 [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
25 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.
3
[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 5 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.
10
[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
15
[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
20 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.
25 [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
4
[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
5 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
10 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
15 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 validation successful 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.
20
[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).
25
[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
5
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 5 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
10 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
15 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
20 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
25 request based on the validation successful status. The provisioning unit 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.
[0017] Another aspect of the present disclosure relates to a non-transitory computer
30 readable storage medium storing instructions, the instructions including executable
6
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 5 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
10 time, at the application, the one or more counters based on the dynamic provisioning
of the one or more counters.
DESCRIPTION OF THE DRAWINGS
15 [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
20 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
25 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.
7
[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 5 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
10 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
15 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.
20
[0025] The foregoing shall be more apparent from the following more detailed
description of the disclosure.
DETAILED DESCRIPTION
25
[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
30 details. Several features described hereafter may each be used independently of one
8
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 5 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
10 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
15 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.
20 [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
25 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
30 subject matter disclosed herein is not limited by such examples. In addition, any
9
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 5 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.
10 [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
15 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
20 processing unit is a hardware processor.
[0032] As used herein, “a user equipment”, “a user device”, “a smart-user-device”,
“a smart-device”, “an electronic device”, “a mobile device”, “a handheld device”,
“a wireless communication device”, “a mobile communication device”, “a
25 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
30 of implementing the features of the present disclosure. Also, the user device may
10
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 5 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
10 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
15 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.
20 [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,
25 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,
11
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. 5 The present disclosure aims to overcome the abovementioned
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 abovementioned
and other existing problems in this field of technology by handling the
10 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
15 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 [100], in accordance with the exemplary embodiments of the
20 present disclosure. Referring to FIG. 1, the network performance management
system [100] comprises various sub-systems such as: an integrated performance
management (IPM) system [102], a normalization layer [104], a computation layer
[106], an anomaly detection layer [108], a streaming engine [110], a load balancer
[112], an operation and management system [114], an API gateway system [116],
25 an analysis engine [118], a parallel computing framework [120], a forecasting
engine [122], a distributed file system [124], a mapping layer [126], a distributed
data lake [128], a scheduling layer [130], a reporting engine [132], a message broker
[134], a graph layer [136], a caching layer [138], a service quality manager [140],
and a correlation engine [142]. Exemplary connections between the above30
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
12
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 [100] are within the scope of this disclosure.
[0039] Further, the integrated performance 5 management system [102] comprises a
performance management engine [150], a Key Performance Indicator (KPI) Engine
[152], and an ingestion layer [154].
[0040] The following section describes some of the different sub-systems of the
10 system [100]:
[0041] Performance Management Engine [150]: The Performance Management
engine [100v] is a crucial component of the integrated performance management
system [102], and is responsible for collecting, processing, and managing
15 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 [128], which is a centralized, scalable, and
20 flexible storage medium, allowing for easy access and further analysis. The
Performance Management engine [150] also enables the reporting and visualization
of this performance counter data, thus providing network administrators with a realtime,
insightful view of the network's operation. Through these visualizations,
operators can monitor the network's performance, identify potential issues, and
25 make informed decisions to enhance network efficiency and reliability.
[0042] Key Performance Indicator (KPI) Engine [152]: The Key Performance
Indicator (KPI) Engine [152] is a dedicated component tasked with managing the
KPIs of all the network elements. It uses the performance counters, which are
30 collected and processed by the Performance Management engine [150] from
13
various data sources. These counters, which indicate crucial performance data, are
harnessed by the KPI engine [152] 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 5 detailed understanding of network performance. The
processed KPI data is then stored in the Distributed Data Lake [128], ensuring a
highly accessible, centralized, and scalable data repository for further analysis and
utilization. Similar to the Performance Management engine [150], the KPI engine
[152] is also responsible for reporting and visualization of KPI data. This
10 functionality allows network administrators to gain a comprehensive, visual
understanding of the network's performance, thus supporting informed decisionmaking
and efficient network management.
[0043] Ingestion layer [154]: The Ingestion layer [154] forms a key part of the
15 Integrated Performance Management system [102], 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.
20 Upon receiving the data, the Ingestion layer [154] 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 [100],
including the Normalization layer [104], the Streaming Engine [110], the analysis
engine [118], and the Message Broker [134]. The destination is chosen based on
25 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 [154] plays a vital role
in managing the data flow within the system [100], thus supporting comprehensive
and accurate network performance analysis.
30 [0044] Normalization layer [104]: The Normalization Layer [104] serves to
standardize, enrich, and store data into the appropriate databases. The normalization
14
layer [104] receives data from the ingestion layer [154] 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
[128], Caching Layer [138], and Graph 5 Layer [136], 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 [104] produces data for
the Message Broker [134], which is configured to enable communication between
different parts of the network performance management system [100] through the
10 exchange of data messages. Moreover, the Normalization Layer [104] supplies the
standardized data to several other subsystems. These include the Analysis Engine
[118] for detailed data examination, the Correlation Engine [142] for detecting
relationships among various data elements, the Service Quality Manager [140] for
maintaining and improving the quality of services, and the Streaming Engine [110]
15 for processing real-time data streams. These subsystems depend on the normalized
data to perform their operations effectively and accurately.
[0045] Caching layer [138]: The Caching Layer [138] plays a significant role in
data management and optimization in the network performance management
20 system [100]. During the initial phase, the Normalization Layer [104] processes
incoming raw data to create a standardized format, enhancing consistency and
comparability. The Normalizer Layer [104] then inserts this normalized data into
various databases, such as the Caching Layer [138]. The Caching Layer [138] is a
high-speed data storage layer, which temporarily holds data that is likely to be
25 reused, to improve speed and performance of data retrieval. By storing frequently
accessed data in the Caching Layer [138], the network performance management
system [100] significantly reduces the time taken to access this data, improving
overall efficiency and performance of the network performance management
system [100]. Further, the Caching Layer [138] serves as an intermediate layer
30 between the data sources and other sub-systems, such as the Analysis Engine [118],
the Correlation Engine [142], the Service Quality Manager [140], and the Streaming
15
Engine [110]. The Normalization Layer [104] is responsible for providing these
sub-systems with the necessary data from the Caching Layer [138].
[0046] Computation layer [106]: The Computation Layer [106] serves as the main
hub for complex data processing tasks. In 5 the initial stages, raw data is gathered,
normalized, and enriched by the Normalization Layer [104]. The Normalization
Layer [104] then inserts this normalized data into multiple databases including the
Distributed Data Lake [128], the Caching Layer [138], and the Graph Layer [136],
and also feeds it to the Message Broker [134]. Within the Computation Layer [106],
10 several powerful sub-systems such as the Analysis Engine [118], the Correlation
Engine [142], the Service Quality Manager [140], and the Streaming Engine [110],
utilize the normalized data. These systems are designed to execute various data
processing tasks. The Analysis Engine [118] performs in-depth data analytics to
generate insights from the data. The Correlation Engine [142] identifies and
15 understands the relations and patterns within the data. The Service Quality Manager
[140] assesses and ensures the quality of the services. The Streaming Engine [110]
processes and analyses the real-time data feeds. In essence, the Computation Layer
[106] is where all major computation and data processing tasks occur. It uses the
normalized data provided by the Normalization Layer [104], processing it to
20 generate useful insights, ensure service quality, understand data patterns, and
facilitate real-time data analytics.
[0047] Message broker [134]: The Message Broker [134] operates as a publishsubscribe
messaging system. It orchestrates and maintains the real-time flow of data
25 from various sources and applications. At its core, the Message Broker [134]
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 [134] demonstrates immense
30 flexibility in managing data streams. Moreover, the message broker [134] leverages
the filesystem for storage and caching, boosting its speed and efficiency. The design
16
of the Message Broker [134] is centred around reliability and is engineered to be
fault-tolerant and mitigate data loss, ensuring the integrity and consistency of the
data. With its robust design and capabilities, the Message Broker [134] forms a
critical component in managing and delivering real-time data in the network
5 performance management system [100].
[0048] Graph layer [136]: The Graph Layer [136], serving as the Relationship
Modeler, plays a pivotal role in the network Performance Management system
[100]. It can model a variety of data types, including alarm, counter, configuration,
10 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
[136] offers extensive modelling capabilities. For instance, the graph layer [136]
can model Alarm and Counter data, Vprobe and Alarm data, elucidating their
interrelationships. Moreover, the graph layer [136]is adept at processing steps
15 provided in the model and delivering the results to the sub-system requested, such
as the Parallel Computing framework [120], Workflow Engine, Query Engine, the
Correlation engine [142], Performance Management Engine [150], or KPI Engine
[152]. With its powerful modelling and processing capabilities, the Graph Layer
[136] forms an essential part of the network performance management system
20 [100], enabling the processing and analysis of complex relationships between
various types of network data.
[0049] Scheduling layer [130]: The Scheduling Layer [130] is endowed with the
ability to execute tasks at predetermined intervals set according to user preferences.
25 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 [128] or Distributed File System [124] or sending it to
another micro-service. The versatility of the Scheduling Layer [130] extends to
facilitating graph traversals via the Mapping Layer [126] to execute tasks. This
30 crucial capability enables seamless and automated operations within the network
performance management system [100], ensuring that various tasks and services
17
are performed on schedule, without manual intervention, thereby enhancing the
efficiency and performance of the network performance management system [100].
Thus, the Scheduling Layer [130] orchestrates the systematic and periodic
execution of tasks.
5
[0050] Analysis Engine [118]: The Analysis Engine [118] 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 [118], users can perform
10 queries on data sourced from various subsystems or external gateways. This
capability allows for an in-depth overview of data and aids in pinpointing issues.
The flexibility of the analysis engine [118] 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 [118] sends
15 notifications, ensuring swift and responsive action. In essence, the Analysis Engine
[118] provides a robust analytical environment for systematic data interrogation,
facilitating efficient problem identification and resolution.
[0051] Parallel Computing Framework [120]: The Parallel Computing
20 Framework [120] is adapted to provide a user-friendly yet advanced platform for
executing computing tasks in parallel. The parallel computing framework [120]
showcases both scalability and fault tolerance, crucial for managing vast amounts
of data. Users can input data via the Distributed File System (DFS) [124] or
Distributed Data Lake (DDL) [128]. The parallel computing framework [120]
25 supports the creation of task chains by interfacing with the Service Configuration
Management (SCM) Sub-System. 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
[120] supports the allocation of specific host lists for different computing tasks. The
30 Parallel Computing Framework [120] is an essential tool for enhancing processing
speeds and efficiently managing computing resources.
18
[0052] Distributed File System [124]: The Distributed File System (DFS) [124]
is adapted to enable multiple clients to access and interact with data seamlessly.
The DFS [124] is designed to manage data files that are partitioned into numerous
segments known as chunks. In the context 5 of a network with vast data, the DFS
[124] effectively allows for the distribution of data across multiple nodes. the DFS
[124] architecture enhances both the scalability and redundancy of the network
performance management system [100], ensuring optimal performance even with
large data sets. The DFS [124] also supports diverse operations, facilitating the
10 flexible interaction with and manipulation of data.
[0053] Load balancer [112]: The Load Balancer (LB) [112] is configured to
efficiently distribute incoming network traffic across a multitude of backend servers
or microservices. the LB [112] ensures even distribution of data requests, leading
15 to optimized server resource utilization, reduced latency, and improved overall
performance of the network performance management system [100]. The LB [112]
implements various routing strategies to manage traffic, including round-robin
scheduling, header-based request dispatch, and context-based request dispatch.
Round-robin scheduling is a simple method of rotating requests evenly across
20 available servers. In contrast, header and context-based dispatching allow for more
intelligent, request-specific routing. Header-based 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
25 architecture, the LB [112] manages event and event acknowledgments, forwarding
requests or responses to the specific microservice that has requested the event.
[0054] Streaming Engine [110]: The Streaming Engine [110], also referred to as
Stream Analytics, is a critical subsystem configured for high-speed data pipelining
30 to the User Interface (UI). The objective of the streaming engine [110] is to ensure
19
real-time data processing and delivery. Data is received from various connected
subsystems and processed in real-time by the Streaming Engine [110]. After
processing, the data is streamed to the UI, fostering rapid decision-making and
responses. The Streaming Engine [110] cooperates with the Distributed Data Lake
[128], the Message Broker [134], and the 5 Caching Layer [138] to provide seamless,
real-time data flow. The streaming engine [110] is designed to perform required
computations on incoming data instantly, ensuring that the most relevant and upto-
date information is always available at the UI. Furthermore, the streaming engine
[110] can also retrieve data from the Distributed Data Lake [128], the Message
10 Broker [134], and the Caching Layer [138] as per the requirement and deliver it to
the UI in real-time. The goal of the streaming engine [110] is to provide fast,
reliable, and efficient data streaming.
[0055] Reporting Engine [132]: The Reporting Engine [132] is configured to
15 dynamically create report layouts of API data, catered to individual client
requirements, and deliver these reports via the Notification Engine. The reporting
engine [132] 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
20 [132] to process and compile data from various interfaces. The main output of the
Reporting Engine [132] is a detailed report generated in Excel format. The capacity
of the Reporting Engine’s [132] 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
25 management system [100]. Furthermore, the Reporting Engine [132] 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 [200]
30 (herein, also referred to as a computer system [200]) upon which one or more
features of the present disclosure may be implemented in accordance with an
20
exemplary implementation of the present disclosure. In an implementation, the
computing device [200] 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, 5 the computing device [200] 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 [200],
wherein said one or more units are capable of implementing the features as
disclosed in the present disclosure.
10
[0057] The computing device [200] may include a bus [202] or other
communication mechanism(s) for communicating information, and a hardware
processor [204] coupled with bus [202] for processing said information. The
hardware processor [204] may be, for example, a general-purpose microprocessor.
15 The computing device [200] may also include a main memory [206], such as a
random-access memory (RAM), or other dynamic storage device, coupled to the
bus [202], for storing information and instructions to be executed by the processor
[204]. The main memory [206] also may be used for storing temporary variables or
other intermediate information during execution of the instructions to be executed
20 by the processor [204]. Such instructions, when stored in a non-transitory storage
media accessible to the processor [204], render the computing device [200] into a
special purpose device that is customized to perform operations according to the
instructions. The computing device [200] further includes a read only memory
(ROM) [208] or other static storage device coupled to the bus [202] for storing static
25 information and instructions for the processor [204].
[0058] A storage device [210], such as a magnetic disk, optical disk, or solid-state
drive is provided and coupled to the bus [202] for storing information and
instructions. The computing device [200] may be coupled via the bus [202] to a
30 display [212], such as a cathode ray tube (CRT), Liquid crystal Display (LCD),
Light Emitting Diode (LED) display, Organic LED (OLED) display, etc., for
21
displaying information to a user of the computing device [200]. An input device
[214], including alphanumeric and other keys, touch screen input means, etc. may
be coupled to the bus [202] for communicating information and command
selections to the processor [204]. Another type of user input device may be a cursor
controller [216], such as a mouse, a 5 trackball, or cursor direction keys, for
communicating direction information and command selections to the processor
[204], and for controlling cursor movement on the display [212]. The cursor
controller [216] 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 [216] to specify
10 positions in a plane.
[0059] The computing device [200] 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 [200],
15 causes or programs the computing device [200] to be a special-purpose device.
According to one implementation, the techniques herein are performed by the
computing device [200] in response to the processor [204] executing one or more
sequences of one or more instructions contained in the main memory [206]. The
one or more instructions may be read into the main memory [206] from another
20 storage medium, such as the storage device [210]. Execution of the one or more
sequences of the one or more instructions contained in the main memory [206]
causes the processor [204] 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.
25
[0060] The computing device [200] also may include a communication interface
[218] coupled to the bus [202]. The communication interface [218] provides twoway
data communication coupling to a network link [220] that is connected to a
local network [222]. For example, the communication interface [218] may be an
30 integrated services digital network (ISDN) card, cable modem, satellite modem, or
a modem to provide a data communication connection to a corresponding type of
22
telecommunication line. In another example, the communication interface [218]
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 [218] sends and receives
electrical, electromagnetic or optical 5 signals that carry digital data streams
representing different types of information.
[0061] The computing device [200] can send and receive data, including program
code, messages, etc. through the network(s), the network link [220] and the
10 communication interface [218]. In an example, a server [230] might transmit a
requested code for an application program through the Internet [228], the ISP [226],
the local network [222], the host [224] and the communication interface [218]. The
received code may be executed by the processor [204] as it is received, and/or stored
in the storage device [210], or other non-volatile storage for later execution.
15
[0062] Referring to FIG. 3, an exemplary block diagram of a system [300] 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 [300] comprises at least one
20 Integrated Performance Management (IPM) unit [302], at least one transceiver unit
[304], at least one validation unit [306], at least one provisioning unit [308], and at
least one storing unit [310]. Further, all the components and/or units of the system
[300] 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 [300] should
25 also be assumed to be connected to each other. Furthermore, in FIG. 3, only a few
units are shown; however, the system [300] 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 [300] may be present in a user device / user
equipment to implement the features of the present disclosure, may be a part of the
30 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
23
thereof. In another implementation, the system [300] may reside in a server or a
network entity. In yet another implementation, the system [300] may reside partly
in the server / network entity, and partly in the UE.
[0063] The system [300] 5 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 [300].
[0064] Further, in accordance with the present disclosure, it is to be acknowledged
10 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
15 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.
20 [0065] The application referred to herein may be a user application that may be
utilized by a user to interact with the system [300]. In an implementation, the user
application is a network monitoring application that may assist the user in
monitoring one or more network elements of a particular network infrastructure.
However, it is to be noted that the application mentioned above is just exemplary
25 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 [300]. The UE may include, without limitations,
smartphones, laptops, desktops, computers, tablets, or any other device that may be
24
capable of running one or more applications and may further be capable of
connecting with the network.
[0067] The system [300] comprises the Integrated Performance Management
(IPM) unit [302]. The IPM unit [302] may be implemented 5 as a centralized server
that may connected to one or more User-Interfaces (UI) for facilitating an
interaction between the User and the system [300]. In an example, the IPM unit
[302] 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 [302] may perform
10 several other operations which may be known to a person skilled in the art.
[0068] The system [300] comprises the transceiver unit [304], and the transceiver
unit [304] is configured to receive a counter provisioning request. In one example,
the transceiver unit [304] may directly receive the counter provisioning request
15 from the one or more UIs. In another example, the transceiver unit [304] may
receive the counter provisioning request from external interfaces, such as, thirdparty
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 [300].
20
[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
25 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.
25
[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 of counters may include any other
counters that may be known to the person skilled 5 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.
10
[0071] Further, the transceiver unit [304] 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
15 distributing one or more available tasks / requests to the one or more available
resources in the IPM unit [302]. In an implementation of the present disclosure, the
load balancer may distribute the incoming counter provisioning request to multiple
instances of the IPM unit [302].
20 [0072] The system [300] further comprises the validation unit [306] connected to
at least the transceiver unit [304]. In response to receiving the counter provisioning
request, the transceiver unit [304] may transmit the counter provisioning request to
the validation unit [306], and the validation unit [306] may be configured to validate
the counter provisioning request. In an implementation, the validation unit [306] is
25 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 [306] may be further configured to determine the validation status
associated with the counter provisioning request. The set of predefined counter
30 provisioning validation rules may refer to a set of rules utilized by the validation
unit [306] to validate the counter provisioning request. The set of predefined
26
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. 5 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. 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
10 counter provisioning validation rules. Thus, the validation unit [306] may be
configured to 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
15 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 [306] 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.
20
[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
25 unit [306] 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 [300] further comprises the provisioning unit [308] connected
to at least the validation unit [306]. The provisioning unit [308] is configured to
30 dynamically provision the one or more counters from the set of counters associated
27
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
5 counters.
[0077] The provisioning unit [308] 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 [308] may immediately
10 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.
15
[0078] The provisioning unit [308] 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 real20
time via the UI.
[0079] In response to dynamically provisioning the one or more counters, the
storing unit [310] connected at least to the provisioning unit [308], may be
configured to store recent changes made to the set of counters to form a new set of
25 counters. The validation unit [306] may be further configured to generate an
acknowledgement based on successfully storing the provisioned counters. In one
example, the validation unit [306] 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 [304]
30 may transmit the acknowledgement to the UI.
28
[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 5 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
10 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
15 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 [304] of the IPM
20 unit [302]. The transceiver unit [304], post receiving the counter provisioning
request, may further send the counter provisioning request to the validation unit
[306]. Thereafter, the validation unit [306] 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
25 from 700 Megabit per second (Mbps) to 800 Mbps, then in such a case, the
validation unit [306] may validate a maximum allowable bandwidth limit (suppose
1000 Mbps). Further, based on validation of the counter provisioning request, the
validation unit [306] may determine the validation status of the counter
provisioning request. In the above example, the validation unit [306] may determine
30 that the request for increasing the bandwidth by the user is within the acceptable
range (as 800 Mbps < 1000 Mbps), and the validation unit [306] may thus determine
29
the validation successful status of the counter provisioning request. Thereafter, the
provisioning unit [308] may provision the requested bandwidth limit in the set of
counters. The provisioning unit [308] 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. 5 Thereafter, the validation unit [306] 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 [304] may transmit the generated acknowledgement
to the UI.
10
[0082] Referring to FIG. 4, an exemplary flow diagram of a method [400] 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 [400] is performed by
15 the system [300]. Further, in an implementation, the system [300] may be present
in a server device to implement the features of the present disclosure. Also, as
shown in FIG. 4, the method [400] starts at step [402].
[0083] At step 404, the method [400] comprises receiving, by the transceiver unit
20 [304], the counter provisioning request. In one implementation, the transceiver unit
[304] may directly receive the counter provisioning request from the one or more
UIs. In another implementation, the transceiver unit [304] 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
25 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,
30 packet counters, error rate counters, latency counters, throughput counters, and
30
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.
5
[0085] Further, the counter provisioning request is received by the transceiver unit
[304] via the load balancer, wherein the load balancer is configured to receive the
counter provisioning request from the UI.
10 [0086] At step 406, the method [400] comprises determining, by the validation unit
[306], 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 [400] may further comprise, post receiving the
15 counter provisioning request, transmitting, by the transceiver unit [304], the counter
provisioning request to the validation unit [306].
[0087] The validation successful status is determined, by the validation unit [306]
at the IPM unit [302], in an event the counter provisioning request is in accordance
20 with the set of predefined counter provisioning validation rules. The validation
unsuccessful status is determined, by the validation unit [306] at the IPM unit [302],
in an event the counter provisioning request is not in accordance with the set of
predefined counter provisioning validation rules.
25 [0088] At step 408, the method [400] comprises dynamically provisioning, by the
provisioning unit [308], one or more counters from the set of counters associated
with the counter provisioning request based on the validation successful status.
31
[0089] At step 410, the method [400] comprises configuring in real time, by the
provisioning unit [308], at the application, the one or more counters based on the
dynamically provisioned one or more counters.
[0090] The method [400] further 5 comprises facilitating, by the provisioning unit
[308], 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.
10 [0091] The method [400] further comprises, post dynamically provisioning the one
or more counters, storing, by the storing unit [310], recent changes made to the set
of counters to form a new set of counters. The method [400] further comprises
generating by the validation unit [306], at the IPM unit [302], an acknowledgement
based on successfully storing the counter provisioning request.
15
[0092] Thereafter, the method [400] terminates at step 412.
[0093] In a preferred embodiment as illustrated in FIG. 5, the connections between
the various components of a system [500] are established using different protocols
20 and mechanisms, as known in the art. For example:
[0094] UI interface to IPM: The connection between the User Interface (UI) [502]
and the Integrated Performance Management Module (IPM) [504] is established
using a hypertext transfer protocol (HTTP) connection. HTTP is a widely used
25 protocol for communication between web browsers and servers. It allows the UI
[502] to send requests and configurations to the IPM [504], and also receive
responses or acknowledgments.
[0095] IPM to DDL: The connection between the IPM module [504] and the
30 Distributed Data Lake (DDL) [506] is established using a TCP (Transmission
32
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 [504] can save and retrieve relevant data from the DDL [506] for
computations, ensuring data consistency and reliability.
5
[0096] In some embodiments, the system [500] may include a load balancer [508]
for managing connections. The load balancer [508] 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 [508] is
10 commonly employed to evenly distribute incoming requests across multiple
instances of the IPM module [504], providing scalability and fault tolerance to the
system [500]. Overall, these connections, and the inclusion of the load balancer
[500] helps to facilitate effective communication, data transfer, and resource
management within the system [500], enhancing its performance and reliability.
15
[0097] Referring to FIG. 6, an exemplary flow diagram [600] 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 [600] is performed by the system [500]. Further,
20 in an implementation, the system [500] 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
25 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.
30
33
[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.
5
[0101] At step 608, the load balancer may further forward the counter provisioning
request to an Integrated Performance Management (IPM) module [504]. The IPM
module [504] is further responsible for validating, processing, and provisioning the
counter provisioning request.
10
[0102] At step 610, the IPM module [504] may validate whether the counter
provisioning request is a valid request. The IPM module [504] may validate the
counter provisioning request against predefined counter provisioning validation
rules.
15
[0103] At step 612, further based on the validation of the counter provisioning
request, the IPM module [504] 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
20 module [504] 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 [504] may determine the counter provisioning request as an unsuccessful
request or a failed request.
25
[0104] At step 614, in an event of successful request, the IPM module [504] 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
30 counters to form a new set of counters. Further, the IPM module [504] may upload
34
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 [504] may further verify whether the new set
5 of counters are successfully updated.
[0106] At step 618, the IPM module [504] 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
10 module [504] 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 [504] may further
communicate the same to the load balancer.
15 [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
20 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
25 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
30 efficiently track the network performance and identify issues. Further, provisioning
35
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 real-time, this ensures continuous 5 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 downtime for counter provisioning
and reduces the chances of errors that may occur when configuring counters
10 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
15 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
20 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.
25
[0111] 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
30 of the present disclosure will be apparent to those skilled in the art, whereby it is to
36
be understood that the foregoing descriptive matter to be implemented is illustrative
and non-limiting.

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 5 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 5 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] 10 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.

Dated this the 22nd Day of August 2023

Documents

Application Documents

# Name Date
1 202321056268-STATEMENT OF UNDERTAKING (FORM 3) [22-08-2023(online)].pdf 2023-08-22
2 202321056268-PROVISIONAL SPECIFICATION [22-08-2023(online)].pdf 2023-08-22
3 202321056268-FORM 1 [22-08-2023(online)].pdf 2023-08-22
4 202321056268-FIGURE OF ABSTRACT [22-08-2023(online)].pdf 2023-08-22
5 202321056268-DRAWINGS [22-08-2023(online)].pdf 2023-08-22
6 202321056268-FORM-26 [05-09-2023(online)].pdf 2023-09-05
7 202321056268-Proof of Right [14-12-2023(online)].pdf 2023-12-14
8 202321056268-FORM-5 [14-08-2024(online)].pdf 2024-08-14
9 202321056268-ENDORSEMENT BY INVENTORS [14-08-2024(online)].pdf 2024-08-14
10 202321056268-DRAWING [14-08-2024(online)].pdf 2024-08-14
11 202321056268-CORRESPONDENCE-OTHERS [14-08-2024(online)].pdf 2024-08-14
12 202321056268-COMPLETE SPECIFICATION [14-08-2024(online)].pdf 2024-08-14
13 202321056268-FORM 3 [16-08-2024(online)].pdf 2024-08-16
14 202321056268-Request Letter-Correspondence [21-08-2024(online)].pdf 2024-08-21
15 202321056268-Power of Attorney [21-08-2024(online)].pdf 2024-08-21
16 202321056268-Form 1 (Submitted on date of filing) [21-08-2024(online)].pdf 2024-08-21
17 202321056268-Covering Letter [21-08-2024(online)].pdf 2024-08-21
18 202321056268-CERTIFIED COPIES TRANSMISSION TO IB [21-08-2024(online)].pdf 2024-08-21
19 Abstract 1.jpg 2024-08-28