Sign In to Follow Application
View All Documents & Correspondence

Method And System For Dynamic Header Based Parsing Of Counter Information

Abstract: The present disclosure relates to a method [400] and a system [300] for dynamic header-based parsing of counter information. The present disclosure encompasses: a reading unit [302] to read one or more category files. Further, a map generator unit [304] prepares a counter header-counter position map for each category file. Further, a comparing unit [306] compares count of headers with count of counter values in each row, for each category file, and accordingly removes a first subset of rows based on the comparison. Further, the reading unit [302] reads the counter values from the set of rows, for each category file based on counter header-counter position map and the map generator unit [304] prepares counter name-counter value map for each category file. Further, an aggregating unit [308] aggregates the counter name-counter value map of the one or more category files to generate an intermediate data for parsing. [Figure 4]

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
12 July 2023
Publication Number
03/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. Sundaresh
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
2. Rajeshwari Venkatraman
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
3. Aayush Bhatnagar
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
4. Pradeep Kumar Bhatnagar
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
5. Abhishek Sharma
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 DYNAMIC HEADER-BASED PARSING OF COUNTER INFORMATION”
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.

METHOD AND SYSTEM FOR DYNAMIC HEADER-BASED PARSING OF COUNTER INFORMATION
FIELD OF INVENTION
[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 dynamic header-based parsing of counter information.
BACKGROUND
[0002] The following description of the related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section is used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of the prior art.
[0003] Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements. The first generation of wireless communication technology was based on analog technology and offered only voice services. However, with the advent of the second-generation (2G) technology, digital communication and data services became possible, and text messaging was introduced. The third-generation (3G) technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth-generation (4G) technology revolutionized wireless communication with faster data speeds, better network coverage, and improved security. Currently, the fifth-generation (5G) technology is being deployed, promising even faster data speeds, low latency, and the ability to 3 connect multiple devices simultaneously. With each generation, wireless

communication technology has become more advanced, sophisticated, and capable of delivering more services to its users. Further, reducing call drops and latency is of paramount importance in the telecommunications industry. Call drops can be frustrating for users, and they can also result in lost revenue for service providers. Latency, on the other hand, refers to the time it takes for data to travel from one device to another and can cause delays and disruptions in communication. The introduction of 5G technology promises to address these issues by delivering ultra-low latency and high-speed data transmission. With 5G, call drops are going to be minimized, and users are going to experience seamless, uninterrupted communication. Additionally, 5G technology may enable the development of new applications and services that require high-speed, low latency communication, such as remote surgeries, autonomous vehicles, and virtual reality. The reduction of call drops, and latency is crucial in ensuring that users have access to reliable and efficient communication services, and the 5G technology is a significant step towards achieving this goal.
[0004] In the 5G communication system, multiple Network elements which are termed as ‘gNB’ or ‘gNodeB’, cater for providing 5G cellular communication services between multiple user equipment (UEs). An Element Management System (EMS) collects all the Network statistics, alert messages and configuration parameters periodically from various network elements. Depending upon the hardware and software capabilities, number of network elements connected to EMS varies and hence multiple Element Management Systems will be installed for serving the network having millions of nodes.
[0005] Multiple gNBs in a geography cater to one or more communication services between multiple UEs seamlessly. Each gNB usually has multiple carriers, through which one or more communication services on UEs are performed. In other words, multiple procedures are carried out for establishment of data session, service session and mobility management scenario, etc. To monitor each and every event/procedure there are sets of counters which are grouped together and

monitored depending on the procedures. These groups of counters will be referred hereafter as counter categories. Network elements periodically send the performance counter data to the EMS and EMS combines all the data of the network nodes category wise and generates a tar file which is fetched by Operation Support System (OSS) for further processing and generating meaningful key performance metrics.
[0006] Furthermore, EMS is deployed to obtain Performance Management (PM) statistics in form of raw counter information, for each of the carrier and for each of the gNBs. The EMS obtains such counter information from each of the network nodes or gNBs at a defined period of time interval (for example 15 minutes) and stores it in a spreadsheet format. The spreadsheet contains a counter data defined with a header row for a plurality of carrier/gNB, the information of which is in separate columns (implying that the header row may contain counter names related to the counters for the carrier and/or gNB) ), and a plurality of counter category information (the information related to the category of counters for the carrier and/or gNB)n; and a plurality of data rows defining a plurality of identification information for each of carrier and each of gNB (the information related to the identity of the data-carrier and/or gNB) and a plurality of counter information for the count of counter categories for each carrier and/or gNB. Notably, the plurality of counter information for the count of counter categories (data-counter categories) is usually in integer format. A sample table related to the spreadsheet is shown hereinbelow:

Counter 1 Counter 2 Counter 3 Counter 4
Attribute 1 100 1000 1500 2000
Attribute 2 50 500 750 1000
Attribute 3 40 400 600 800

[0007] Moreover, Operation Support System (OSS) like a Centralized Automation Platform is connected to multiple EMSs for collecting the performance at in the form of counters from the nodes periodically. The performance data is processed by OSS by performing various operations like parsing of counter data in the counter files; and thus, computing KPIs thereon.
[0008] Conventionally, the OSS performs parsing of the counter data, by a hardcoding technique, wherein the column numbers for retrieving counter information is predefined.
[0009] Furthermore, it may be noted that a vendor may change the format of this counter file at any point of time and hence the counter position may get altered. In such a scenario, the hardcoding technique may fail and the mapping of values to the counter will be erroneous.
[0010] Therefore, in any telecom network deployment, each of the Original Equipment Manufacturers (OEMs) have an Element Management System which periodically collects performance management (PM) statistics in the form of raw counters from all the Network Nodes. These raw counters are then grouped together based on the procedures or events which they follow for establishment of voice or data session known as counter categories. Performance Counters are grouped category wise for all the nodes homed to the Element Management System and individual PM statistics files are created for each of the category, and then all category files are grouped to make a tar file or zip file at EMS end. In majority of the parsers, counters are identified with respect to the position of its occurrence in the raw file in a static manner. However, there is a limitation in this process. Whenever the vendor introduces new counters (by way of software release). in between the existing counters, the static counter mapping with the position is altered and the parser will fail. Every new software version of various network elements generally brings in new Performance Counters. New Counter families get introduced or get discontinued with changes in the Software Versions. In 5G

standalone (5G SA) implementation (implementation of 5G standards and protocols
in various network elements), OEMs come with software upgrades almost every
quarter which includes introduction of new counters either to fix bug or enhance
the existing feature or introduce the new features. To accommodate such changes
5 in the PM data, costly adaptors need to be developed every time.
[0011] Thus, there exists an imperative need in the art to provide a faster and efficient system and method of parsing the counter data from the counter file dynamically, to cater to the changes in counter data. 10
SUMMARY
[0012] 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.
15 This summary is not intended to identify the key features or the scope of the claimed
subject matter.
[0013] An aspect of the present disclosure may relate to a method for dynamic header-based parsing of counter information. The method comprises step of
20 reading, by a reading unit, one or more category files, wherein each category file of
the one or more category files is associated with a set of headers, a set of columns and a set of rows. Further, the method comprises a step of preparing, by a map generator unit, a counter header – counter position map for each category file of the one or more category files based on the reading of the one or more category files.
25 Further, the method comprises a step of comparing, by a comparing unit, a count of
headers with a count of counter values in each row of the set of rows for each of the one or more category files. Further, the method comprises a step of removing, by the comparing unit, a first subset of rows from the set of rows, in an event of a mismatch in the count of headers and the count of counter values for each of the
30 first subset of rows, based on the comparison. Further, the method comprises step
of reading, by the reading unit, the counter values from the set of rows, for each
6

category file of the one or more category files based at least on the counter header
– counter position map. Further, the method comprises a step of preparing, by the
map generator unit, a counter name–counter value map for each category file of the
one or more category files based at least on the reading of the counter values.
5 Further, the method comprises a step of aggregating, by an aggregating unit, an
intermediate data comprising the set of rows from each of the one or more category files. Further, the method comprises a step of storing, by the storage unit, the intermediate data for parsing.
10 [0014] In an exemplary aspect of the present disclosure, each category file of the
one or more category files is associated with a category of counters related to the network entity, wherein the network entity is one of a network cell and a base station and each counter of the one or more counters defines a performance management statistic of the network entity.
15
[0015] In an exemplary aspect of the present disclosure, the counter header–counter position map is prepared by the map generator unit, by reading each header from the set of headers and storing a sequence of the position of the one or more counters in each of the one or more category files.
20
[0016] In an exemplary aspect of the present disclosure, each header of the set of headers defines a counter name of one or more counters and is stored in a column from the set of columns each row of the set of rows comprises a plurality of counter values of the one or more counters.
25
[0017] In an exemplary aspect of the present disclosure, each row of the set of rows has a counter name and counter value for each of the one or more counters corresponding to a network entity.
30 [0018] In an exemplary aspect of the present disclosure, the method further
comprises a step of determining, by a determination unit, one of a positive addition
7

and a negative addition related to an addition of one or more new counters in the
one or more category files, wherein the positive addition indicates an addition of
the one or more new counters in the one or more category files, and the negative
addition indicates no addition of the one or more new counters in the one or more
5 category files. Further, the method comprises a step of adding, by an addition unit,
the one or more new added counters in the counter name – counter value map in an
event of determination of the positive addition. Further, the method comprises a
step of deriving, by the reading unit, a category of each of the one or more new
added counters from the corresponding value of the one or more new added
10 counters. Further, the method comprises a step of modifying the intermediate data,
by the map generator unit, to create a new mapping for parsing, wherein the new mapping comprises the intermediate data appended with counter name and counter category associated with each of the one or more new added counters.
15 [0019] In an exemplary aspect of the present disclosure, the method further
comprises a step of determining, by the determination unit, one of a positive category addition and a negative category addition based on an addition of the one or more new counters, wherein the positive category addition indicates an addition of the one or more new counter categories, and the negative category addition
20 indicates no addition of the one or more new counter categories. Further, the method
comprises a step of adding, by the addition unit, one or more new added counter categories in the counter header-counter position map, in an event of determination of the positive category addition. Further, the method comprises a step of appending, by the map generator unit, the intermediate data with the one or more
25 new added counter categories. Further, the method comprises a step of facilitating,
by a parser unit, a parsing of the one or more new added counters and the one or more new added counter categories in the intermediate data.
[0020] In an exemplary aspect of the present disclosure, the parser unit facilitates
30 parsing of the intermediate data by reading each row from of the set of rows in the
8

intermediate data and updating a backend database based on the sequence of position of the one or more new added counters.
[0021] Another aspect of the present disclosure may relate to a system for dynamic
5 header-based parsing of counter information. The system comprises a reading unit
configured to read one or more category files. Further, the system comprises a map generator unit connected at least to the reading unit, configured to prepare a counter header-counter position map for each category file of the one or more category files based on the reading of the one or more category files. Further, the system
10 comprises a comparing unit connected at least to the map generator unit, configured
to compare a count of headers with a count of counter values in each row of the set of rows for each of the one or more category files. Further, the comparing unit removes a first subset of rows from the set of rows, in an event of a mismatch in the count of headers and the count of counter values for each of the first subset of rows,
15 based on the comparison. The reading unit is further configured to read the counter
values from the set of rows, for each category file of the one or more category files based at least on the counter header–counter position map. The map generator unit further configured to prepare a counter name–counter value map for each category file of the one or more category files based at least on the reading of the counter
20 values. Further the system comprises an aggregating unit connected with the map
generator unit, the aggregating unit configured to aggregate an intermediate data comprising the set of rows from each of the one or more category files. Further, the system comprises a storage unit connected to the aggregating unit; the storage unit is configured to store the intermediate data for parsing.
25
[0022] Another aspect of the present disclosure may relate to a user equipment (UE) for dynamic header-based parsing of counter information. The UE comprises a processing unit configured to initiate a communication session with another UE via a network entity, wherein the network entity is a base station. Further, the UE
30 establishes the communication session with the another UE, based on providing a
carrier by the network entity. Further, the UE monitors a performance of one or
9

more procedures executed to establish the communication session between the UE and the another UE via the carrier. Furthermore, the UE transmit, performance statistics for each of the one or more procedures, to the system via the network entity. 5
[0023] Yet another aspect of the present disclosure may relate to a non-transitory computer readable storage medium, storing instructions for dynamic header-based parsing of counter information, the instructions include executable code which, when executed by one or more units of a system, causes a reading unit to read one
10 or more category files. Further, each category file of the one or more category files
is associated with a set of headers, a set of columns and a set of rows, and each header of the set of headers defines a counter name of one or more counters and is stored in a column from the set of columns. Furthermore, each row of the set of rows comprises a plurality of counter values of the one or more counters. Further,
15 the executable code executed by the one or more units of a system, causes a map
generator unit to prepare a counter header – counter position map for each category file of the one or more category files based on the reading of the one or more category files. Further, the executable code executed by the one or more units of a system, causes a comparing unit to compare a count of headers with a count of
20 counter values in each row of the set of rows for each of the one or more category
files. Further the executable code, when executed causes the comparing unit removes a first subset of rows from the set of rows, in an event of a mismatch in the count of headers and the count of counter values for each of the first subset of rows based on the comparison. Further the executable code, when executed causes the
25 reading unit reads the counter values from the set of rows, for each category file of
the one or more category files based at least on the counter header- counter position map. Further, the executable code, when executed causes the map generator unit prepares a counter name-counter value map for each category file of the one or more category files based at least on the reading of the counter values. Further, the
30 executable code when executed by the one or more units of a system, causes an
aggregating unit to aggregate an intermediate data comprising the set of rows from
10

each of the one or more category files, wherein each row of the set of rows has a
counter name and a counter value for each of the one or more counters
corresponding to a network entity. Further, the executable code executed by the one
or more units of a system, causes a storage unit to store the intermediate data for
5 parsing.
OBJECTS OF THE DISCLOSURE
[0024] Some of the objects of the present disclosure, which at least one
10 embodiment disclosed herein satisfies are listed herein below.
[0025] It is an object of the present disclosure to provide a system and a method for dynamic header-based parsing of counter information.
15 [0026] It is another object of the present disclosure to provide a system and method
that can enable ingestion of new counters on a real time basis as and when the new counters or categories are introduced by OEMs, with zero development efforts.
[0027] It is another object of the present disclosure to provide a solution through
20 which all the new counters and categories introduced in the new software version
of the nodes along with existing counters are parsed properly without any additional development efforts and with zero cost.
[0028] It is yet another object of the present disclosure to provide a solution that
25 ensures that the Performance tool is always ready to absorb and parse new counters
without disturbing the existing ones as and when the software (which involves counter addition) is upgraded by the vendors.
DESCRIPTION OF THE DRAWINGS
30
11

[0029] 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,
5 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
10 drawings includes disclosure of electrical components or circuitry commonly used
to implement such components.
[0030] Figure 1 illustrates an exemplary architecture diagram for managing
network performance statistic of a network entity in accordance with exemplary
15 implementation of the present disclosure.
[0031] Figure 2 illustrates an exemplary block diagram of a computing device upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. 20
[0032] Figure 3 illustrates an exemplary block diagram of a system for dynamic header-based parsing of counter information, in accordance with exemplary implementations of the present disclosure.
25 [0033] Figure 4 illustrates a method flow diagram for dynamic header-based
parsing of counter information in accordance with exemplary implementations of the present disclosure.
[0034] The foregoing shall be more apparent from the following more detailed
30 description of the disclosure.
12

DETAILED DESCRIPTION
[0035] In the following description, for the purposes of explanation, various
specific details are set forth in order to provide a thorough understanding of
5 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
10 problems discussed above.
[0036] The ensuing description provides exemplary embodiments only, and is not
intended to limit the scope, applicability, or configuration of the disclosure. Rather,
the ensuing description of the exemplary embodiments will provide those skilled in
15 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.
20 [0037] Specific details are given in the following description to provide a thorough
understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, processes, and other components may be shown as components in block diagram form in order not to obscure the
25 embodiments in unnecessary detail.
[0038] Also, it is noted that individual embodiments may be described as a process
which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure
diagram, or a block diagram. Although a flowchart may describe the operations as
30 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
13

is terminated when its operations are completed but could have additional steps not included in a figure.
[0039] The word “exemplary” and/or “demonstrative” is used herein to mean
5 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
10 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.
15
[0040] As used herein, a “processing unit” or “processor” or “operating processor” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. A processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality
20 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
25 the system according to the present disclosure. More specifically, the processor or
processing unit is a hardware processor.
[0041] As used herein, “a user equipment”, “a user device”, “a smart-user-device”,
“a smart-device”, “an electronic device”, “a mobile device”, “a handheld device”,
30 “a wireless communication device”, “a mobile communication device”, “a
communication device” may be any electrical, electronic and/or computing device
14

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
5 of implementing the features of the present disclosure. Also, the user device may
contain at least one input means configured to receive an input from unit(s) which are required to implement the features of the present disclosure.
[0042] As used herein, “storage unit” or “memory unit” refers to a machine or
10 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
15 that may be required by one or more units of the system to perform their respective
functions.
[0043] As used herein “interface” or “user interface” refers to a shared boundary
across which two or more separate components of a system exchange information
20 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.
25 [0044] All modules, units, components used herein, unless explicitly excluded
herein, may be software modules or hardware processors, the processors being a general-purpose processor, 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,
30 Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array
circuits (FPGA), any other type of integrated circuits, etc.
15

[0045] 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
5 and/or connected with the system.
[0046] As discussed in the background section, the current known solutions have several shortcomings primarily during introduction of new software versions for various network functions by the vendors. The introduction of new software
10 versions may include addition and/or removal of counters. The present disclosure
aims to overcome the above-mentioned and other existing problems in this field of technology by providing method and system of dynamic header-based parsing of counter information. Further, by adopting the Dynamic Header based counter parsing, with zero development efforts new software can be implemented on a real
15 time basis. Particularly, in this methodology of Dynamic Header based Parsing, the
process reads the header and dynamically stores the sequence of the position of the counters. Based on the revised positioning, the backend database is updated with the modified index for the counters. Due to this strategy, there is no static mapping involved between the counter and counter position in the raw file. Every time the
20 parser job reads the header and according to the sequence it updates the database
wherever required. Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.
[0047] Figure 1 illustrates an exemplary architecture diagram [100] for managing
25 performance management statistics for one or more network elements, in
accordance with exemplary implementation of the present disclosure. As shown in Figure 1, the network architecture [100] includes a plurality of fifth-generation Element Management Systems (5G EMS) [102], at least one Edge node server [104], and at least one Big Data Cluster [106]. 30
16

[0048] The plurality of 5G Element Management System (EMS) [102] are a group
of Element Management System (EMS) that are responsible for managing and
configuring the various components of a 5G network, including the 5G core, radio
access network, and user equipment. Each 5G EMS [102] from the plurality of 5G
5 EMS [102] may further communicate with the one or more network elements to
provision, configure, and monitor the one or more network elements. The plurality
of 5G EMS [102] may further extract one or more network data from each network
element from the one or more network elements and may thereafter send the
network data to the edge node server [104]. As used herein, the network data may
10 further be utilized to create the performance management statistics of the one or
more network elements. It is to be noted that the network data is sent to the edge node server [104], via a Secure File Transfer Protocol (SFTP).
[0049] The edge node server [104] may incorporate one or more edge nodes such
15 as Edge node-1, Edge node-2, …, Edge node-n. Further, the edge node server [104]
may forward the network data received from the plurality of 5G EMS [102] to the Big Data Cluster [106].
[0050] The Big Data Cluster [106] further comprises at least one Hadoop
20 Distributed File System (HDFS) [108] for data ingestion, at least one column-
oriented non-relational database management system (HBASE) [110], at least one
Spark jobs [112], at least one HDFS [114] for storing Key Performance Indicators
(KPI) reports, and at least one Oracle database [116], wherein all the components
present in the Big Data Cluster [106] are assumed to be connected to each other in
25 a manner as obvious to the person skilled in the art for implementing features of the
present disclosure.
[0051] The Big Data Cluster [102] mentioned here may refer as a collection of one
or more servers (Nodes/ databases) that may work in conjunction for storing or
30 processing large data sets (such as large set of network data).
17

[0052] The network data sent by the edge node server [104] is further received at the HDFS [108] for data ingestion. The HDFS [108] may further store the network data in distributed manner for easy availability of the network data related to any specific network element, when required. 5
[0053] Further, the Hbase [110] is a column-oriented and a non-relational database that may run along with the HDFS [108]. The Hbase [110] may provide real-time read/ write access to large data sets for one or more entity which may require random and real-time read/write access to the large data sets.
10
[0054] Post receiving the network data at the HDFS [108], the Spark jobs [112] may further process the large data sets associated with the network data. The processing of data may include at least data transformations, aggregations, and analysis of the network data. Further, it is to be noted that these are just an
15 exemplary data processing methods and may capture any other data processing
techniques known to a person skilled in an art. The HDFS [114] for storing KPI reports may further be utilized for generating KPI reports for each network element based on the network data received at the HDFS [108].
20 [0055] Thereafter, post processing of the network data, the Spark jobs [112] may
further store the processed data at the Oracle database [116]. The Oracle database [116] is a relationship database management system, that is primarily used for storing KPI reports or the performance management statistics of the one or more network elements.
25
[0056] In an implementation of the present disclosure, the plurality of 5G EMS [102] may further extract one or more network data from each network element from the one or more network elements and may thereafter send the network data to the edge node server [104]. Further, the edge node server [104] may forward the
30 network data received from the plurality of 5G EMS [102] to the Big Data Cluster
[106]. The network data sent by the edge node server [104] is further received at
18

the HDFS [108] for data ingestion. The Spark jobs [112] may further processes the network data and post processing of the network data, the Spark jobs [112] may further store the processed data at the Oracle database [116].
5 [0057] Figure 2 illustrates an exemplary block diagram of a computing device
[200] upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. In an implementation, the computing device [200] may also implement a method [400] as shown in Figure 4 for dynamic header-based parsing of counter information
10 utilising the system [300] as shown in Figure 3. In another implementation, the
computing device [200] itself implements the method for dynamic header-based parsing of counter information 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.
15
[0058] The computing device [200] may include a bus [202] or other communication mechanism for communicating information, and a hardware processor [204] coupled with the bus [202] for processing information. The hardware processor [204] may be, for example, a general-purpose microprocessor.
20 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
25 by the processor [204]. Such instructions, when stored in non-transitory storage
media accessible to the processor [204], render the computing device [200] into a special-purpose machine that is customized to perform the operations specified in 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
30 information and instructions for the processor [204].
19

[0059] A storage device [22], 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
display [212], such as a cathode ray tube (CRT), Liquid crystal Display (LCD),
5 Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for
displaying information to a computer user. 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
10 a mouse, a 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]. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane.
15
[0060] 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] causes or programs the computing device [200] to be a special-purpose machine.
20 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]. Such instructions may be read into the main memory [206] from another storage medium, such as the storage device [210]. Execution of the sequences of instructions
25 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.
30 [0061] The computing device [200] also may include a communication interface
[218] coupled to the bus [202]. The communication interface [218] provides a two-
20

way 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
integrated services digital network (ISDN) card, cable modem, satellite modem, or
a modem to provide a data communication connection to a corresponding type of
5 telephone line. As 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 signals that carry digital data streams representing
10 various types of information.
[0062] The computing device [200] can send messages and receive data, including program code, through the network(s), the network link [220] and the communication interface [218]. In the Internet example, a server [230] might
15 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.
20
[0063] Referring to Figure 3, an exemplary block diagram of a system [300] for dynamic header-based parsing of counter information, is shown, in accordance with the exemplary implementations of the present disclosure. The system [300] comprises at least one reading unit [302], at least one map generator unit [304], at
25 least one comparing unit [306], at least one aggregating unit [308], at least one
storage unit [310], at least one determination unit [312], at least one addition unit [314], and at least one parser unit [316]. Also, all of the components/ units of the system [300] are assumed to be connected to each other unless otherwise indicated below. As shown in the Figure 3 all units shown within the system [300] should
30 also be assumed to be connected to each other. Also, in Figure 3 only a few units
are shown, however, the system [300] may comprise multiple such units or the
21

system [300] may comprise any such numbers of said units, as required to implement the features of the present disclosure. The system [300] may reside in a server or a network entity.
5 [0064] The system [300] is configured for dynamic header-based parsing of counter
information, with the help of the interconnection between the components/units of the system [300].
[0065] In an exemplary aspect of the present disclosure, the system [300] comprises
10 the reading unit [302], wherein the reading unit [302] is configured to read the one
or more category files. Furthermore, each category file of the one or more category files is associated with a category of counters carrying one or more counter information related to a network entity, wherein the network entity is one of a network cell and a base station and the counters define performance management
15 statistics of the network entity. For example, a counter category may be data traffic
related to network nodes. Further, each category file of the one or more category files is associated with a set of headers, a set of columns and a set of rows. In addition, each header of the set of headers defines a counter name of one or more counters and is stored in a column from the set of columns, and each row of the set
20 of rows comprises a plurality of counter values of the one or more counters. It is to
be noted that each category file from the one or more category files is Original Equipment Manufacturers (OEMs) specific and may vary from one OEM to another OEM. Such as a particular OEM may have a latency category file for each network element, while another OEM may not have such a latency category file. Further,
25 system [300] is configured for dynamic header-based parsing using one or more
units shown within the system [300]. The dynamic header-based parsing may refer to a process of extracting and interpreting one or more data from one or more category files associated with one or more network elements. There is no static mapping involved between the counter names and counter positions in the one or
30 more category files, and hence a parser is able to easily parse the network data even
if new counters get added or new counter categories get added.
22

[0066] The one or more category files mentioned herein may contain the
performance management statistics which may be extracted from the Big Data
Cluster [106]. Further, the performance management statistics may include one or
5 more parameters such as a number of call drops, an average response time, a node
availability percentage, and similar associated parameters with the network entity over a pre-determined period of time (for example 30 minutes). It is to be noted that the performance management statistics of the network entity may further be utilized in one or more aspects (such as identifying performance bottlenecks, capacity
10 planning, visualizing health of the network entity and similar aspects known to a
person skilled in the art). Further, the performance management statistics may be represented in form of at least one of percentages, average, ratio and absolute values. Further, each category file of the one or more category files is associated with the category of counters that are related to a specific network entity, where the
15 category of counters may be referred to as a set of criteria that at least contains one
counter value. For ease of understanding, consider a category file including one or more counters for one or more cells. for a specific category. It is to be noted that the category names and counter names are OEM specific. Some representative examples may include a total number of bytes received by a specific cell, a category
20 including a total number of data packets sent by the specific cell, number of errors
encountered by the specific cell, and similar other known categories in the art.
[0067] In an implementation of the present disclosure, the reading unit [302] reads the performance management statistics associated with the network entity by
25 observing the category file of said network entity, where each category file of the
one or more category files is associated with the set of headers, the set of columns and the set of rows. Further, each header of the set of headers may define a specific counter name from the one or more counters which represents a network performance statistic of said network entity and is stored in a specific column from
30 the set of columns.
23

[0068] Further, each row from the set of rows of each category file may include the plurality of counter values which may define the performance statistics corresponding to a respective header of said row. It is to be noted that the counter value is preferably an integer format. 5
[0069] For ease in understanding, the above-mentioned paragraph is explained with
the help of an example: consider two category files named XYZ and ABC, each
having a respective counter data for one or more network cells. In an exemplary
scenario, the counter data of said category file XYZ may include a header row
10 defining a set of counter names such as Counter a, Counter b for a plurality of
network cells. Further consider the category file ABC, which may include a header row defining another set of counter name(s) such as Counter i for the plurality of network cells.
15 [0070] The category file XYZ and the category file ABC may be represented as: -

Column 1 Column 2 Column 3 Column 4 Column 5
Row 1 Network cells Counter a Counter b
Row 2 Cell 101 1000000 50000
Row 3 Cell 102 800000 40000
Row 4 Cell 103 400000 10000
(Category File XYZ)

20

Column 1 Column 2 Column 3 Column 4
Row 1 Network cells Counter i
Row 2 Cell 101 100
24

Row 3 Cell 102 80
Row 4 Cell 103 40
(Category File ABC)
[0071] It is to be noted that the information presented in the category file XYZ, and
the category file ABC are for explanatory purposes and the actual category file may
5 include a vast number of counters that may relate to the performance management
statistics for said category file XYZ and said category file ABC. Further, the columns 1-3 mentioned in the category file XYZ and the category file ABC are fixed attributes for said plurality of cells and may not change, while receiving the counter values for each counter.
10
[0072] In an exemplary aspect of the present disclosure, the system [300] further comprises the map generator unit [304] connected at least to the reading unit [302]. The map generator unit [304] is further configured to prepare a counter header-counter position map for each category file of the one or more category files based
15 on the reading of the one or more category files; wherein the counter header-counter
position map is prepared by the map generator unit [304], by reading each header from the set of headers and storing a sequence of the position of the one or more counters in each of the one or more category files.
20 [0073] In an implementation of the present disclosure, the map generator unit [304]
further prepares the counter header-counter position map for each category file from the one or more category files associated with the plurality of network cells – Cell 101, Cell 102, cell 103 (as displayed in the above-mentioned example). The counter header-counter position map may describe an arrangement of the one or more
25 counters for each category file. The reading unit [302] reads the position of each
header (having a counter name) from the set of headers, stored in the category file and based on the observation of the reading unit [302], the map generator unit [304] accordingly prepares the counter header-counter position map as per the arrangement of the one or more counter names for each category file.
25

[0074] For ease in understanding, the above-mentioned paragraph is explained with
the help of previously mentioned example: in case of the category file XYZ, the
reading unit [302] may read that the counter information of the ‘Counter a’ for the
5 plurality of network cells is mentioned at Column 4, therefore the position of the
‘Counter a’ is 4. Similarly, the reading unit [302] may read that the counter
information of the ‘Counter b’ is mentioned at Column 5, therefore the position of
the ‘Counter b’ is 5. The map generator unit [304] then prepares the counter header–
counter position map, based on the reading of the category file XYZ by the reading
10 unit [302] (as mentioned above). The counter header-counter position map for the
category file XYZ, may be represented as:-

Column 1

Column 2

Column 3

Column 4 Column 5

Counter a Counter b
4
5
Counter positions
Counter header-counter position map (XYZ)

15 [0075] Similarly, the map generator unit [304] prepares the counter header-counter
position map for the category file ABC (as mentioned in the above example). It is to be noted that the category names and counter names are OEM specific, and the above example is for illustrative purposes only.
20 [0076] In an exemplary aspect of the present disclosure, the system [300] further
comprises the comparing unit [306] connected at least to the map generator unit [304], configured to compare a count of headers with a count of counter values in each row of the set of rows for each of the one or more category files.
25 [0077] The comparing unit [306] compares the count of headers with the count of
counter values in each row from the set of rows for each of the one or more category files. The count of counter values may define a total number of counter values
26

received via the Big Data Cluster [106] for each counter header present in each category files of the one or more category file.
[0078] In an exemplary aspect of the present disclosure, the comparing unit [306]
5 removes a first subset of rows from the set of rows, in an event of a mismatch in the
count of headers and the count of counter values for each of the first subset of rows,
based on the comparison of the count of headers with the count of counter values
in each row of the set of rows for each of the one or more category files. The event
of mismatch in the count of headers and the count of counter values for each of the
10 first subset of rows may occur due to one or more issues (such as network
fluctuation, or data packet loss, therefore the count of counter values received may either exceed or fall short to the count of counter headers of the category file.
[0079] In an exemplary aspect of the present disclosure, the comparing unit [306]
15 removes the first subset of rows from the set of rows in an event of a mismatch in
the count of headers and the count of counter values for each of the first subset of rows, to avoid any merging of wrong data in the counter header-counter position map of the one or more category files.
20 [0080] For ease in understanding, the above-mentioned paragraph is explained with
the help of previously mentioned example: considering the category file XYZ, the total count of headers in the header row is 2 (‘Counter a’ and ‘Counter b’), and the count of counter values in Row 1 is 2 (1000000, 50000), in Row 3 is 2 (800000, 40000), and Row 4 is 2 (40000, 10000). Therefore, the count of headers i.e. count
25 of counter names matches with the count of counter values in all the three rows.
Hence, based on the comparison by the comparing unit [306], none of the rows in the category file XYZ is removed.
[0081] Continuing with the above example, consider another scenario: when the
30 total count of counter values in Row 2 are 3 (1000000, 50000,7380), then in such a
scenario, the comparing unit [306] may remove the Row 2 that does not match with
27

the total count of headers, to avoid any merging of wrong data in the counter header-counter position map of the category file XYZ.
[0082] The above-mentioned scenario may be represented as: -5

Column 1 Column 2 Column 3 Column 4 Column 5 Column 6
Row 1 Network cells Counter a Counter b
Row 2 Cell 101 1000000 50000 7380
Row 3 Cell 102 800000 40000
Row 4 Cell 103 400000 10000
Category File XYZ
[0083] It is to be noted that the category names and counter names are OEM specific, and the above example is for illustrative purposes only.
10
[0084] In an exemplary aspect of the present disclosure, the reading unit [302] is further configured to read the counter values from the set of rows, for each category file of the one or more category files based at least on the counter header-counter position map.
15
[0085] The reading unit [302] may read the counter values from said counter header-counter position map, to identify the counter values associated with respective counters. For ease of understanding, continuing with the previous mentioned example: considering the category file XYZ, post removing the Row 2,
20 from the set of rows, the reading unit [302] may further read the counter values
from Row 1 and Row 3 for the category file XYZ.
[0086] In an exemplary aspect of the present disclosure, the map generator unit [304] is further configured to prepare a counter name-counter value map for each
28

category file of the one or more category files based at least on the reading of the counter values.
[0087] The map generator unit [304] further proceeds to prepare the counter name-
5 counter value map for each category file of the one or more category files, post
reading of the counter values of each category file of the one or more category files
via the reading unit [302]. The counter name-counter value map may represent the
counter data which is associated with a corresponding counter. The map generator
unit [304] based on the counter header-counter position map may create the counter
10 name-counter value map.
[0088] Referring to the above-mentioned example, the counter name-counter value map for Category file XYZ may be represented as:

15

Column 1 Column 2 Column 3 Column 4 Column 5
Row 1 Network cells Counter a Counter b
Row 3 Cell 102 800000 40000
Row 4 Cell 103 400000 10000
(T he counter nam e-counter valu e map for the category file XYZ)


20

[0089] Further, it may be assumed that a similar counter name-counter value map is prepared for the category file ABC. It is to be noted that the category names and counter names are OEM specific, and the above example is for illustrative purposes only.


25

[0090] In an exemplary aspect of the present disclosure, the system [300] further comprises the aggregating unit [308] connected with the map generator unit [304], the aggregating unit [308] configured to aggregate an intermediate data comprising the set of rows from each of the one or more category files, wherein each row of

29

the set of rows has a counter name and a counter value for each of the one or more counters corresponding to a network entity.
[0091] The aggregating unit [308] further aggregates (combines) all the counter
5 name-counter value map for each of the category file of the one or more category
files to form the intermediate data. The intermediate data used herein is an aggregation of counter values and counter names of each of the category file based on the counter name-counter value map for the category files.
10 [0092] For ease in understanding, the above-mentioned paragraph is explained with
the help of previously mentioned example: Post generation of the counter name-counter value map for the category file XYZ and the category file ABC, the aggregating unit [308] may further combine both the counter name-counter value maps. The aggregated counter name-counter value map of both the category files
15 may be represented as an intermediate data as shown below:

Column 1 Column 2 Column 3 Column 4 Column 5 Column 7
Row 1 Network cells Counter a Counter b Counter i
Row 2 Cell 101 1000000 50000 100
Row 3 Cell 102 800000 40000 80
Row 4 Cell 103 400000 10000 40
[0093] In an exemplary aspect of the present disclosure, the system [300] further
comprises a storage unit [310] connected to the aggregating unit [308], the storage
unit [310] configured to store the intermediate data for parsing. The intermediate
20 data generated by the aggregating unit [308] is further stored in the storage unit
[310] for parsing. The intermediate data may be used for gathering essential information (information related to the performance, configuration and alike of one or more network cells). As used herein parsing is a process of analysing reading and interpreting a structured data (such as data stored in each category file) and
30

thereafter either extracting one or more relevant data from the structured data and/or mapping the structured data into a more consistent format.
[0094] In an exemplary aspect of the present disclosure, the system [300] comprises
5 the determination unit [312] configured to determine one of a positive addition and
a negative addition related to an addition of one or more new counters in the one or
more category files, wherein the positive addition indicates an addition of the one
or more new counters in the one or more category files, and the negative addition
indicates no addition of the one or more new counters in the one or more category
10 files. In an exemplary aspect of the present disclosure, the positive addition may
indicate that one or more new counters are added within a specific category file of the one or more category files. Conversely, the negative addition indicates that no further addition of counters is done within said specific category file.
15 [0095] Referring to the previous example, consider the category file XYZ. Further,
the category file XYZ may incorporate a positive addition of a new counter (‘Counter c’). In such a case, the determining unit [312] may consider this as the positive addition of the new counter (‘Counter c’) within the category file XYZ.
20 [0096] In an exemplary aspect of the present disclosure, the system [300] comprises
an addition unit [314], the addition unit [314] configured to add the one or more new added counters in the counter name-counter value map in an event of determination of the positive addition.
25 [0097] Referring to previous example, post determining of the positive addition by
the determination unit [312] of the new counter (‘Counter c’) within the category file XYZ, the addition unit [314] further adds the new counter (‘Counter c’) in the existing counter name-counter value map of the category file XYZ. The ‘Counter c’ gets added to category file XYZ as the category of ‘Counter c’ is the same as
30 category of category file XYZ. The new counter name-counter value map of the
category file XYZ may now be represented as: -
31

Column 1 Column 2 Column 3 Column 4 Column 5 Column 6
Row 1 Network cells Counter a Counter b Counter c
Row 2 Cell 101 1000000 50000
Row 3 Cell 102 800000 40000
Row 4 Cell 103 400000 10000
[0098] In an exemplary aspect of the present disclosure, the reading unit [302] is
further configured to derive a category of each of the one or more new added
counters from the corresponding value of the one or more new added counters.
5 Since, each counter is associated with a specific category (for example a memory
or a processor), therefore, based on the one or more new added counters, the reading unit [302] may derive the category of the one or more new added counters. It is to be noted that the category names and counter names are OEM specific, and the above category example is for illustrative purposes only.
10
[0099] In an exemplary aspect of the present disclosure, the map generator unit [304] is further configured to modify the intermediate data to create a new mapping for parsing, wherein the new mapping comprises counter name and counter category associated with each of the one or more new added counters.
15
[0100] Referring to the previous example, considering the category file XYZ, the
map generator unit [304] may then modify the intermediate data aggregated from
the counter name-counter value maps of the category file XYZ and category file
ABC. The map generator unit [304], post modifying the intermediate data may
20 present the intermediate data as shown below: -
Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7
32

Row 1 Network cells Counter a Counter b Counter c Counter i
Row 2 Cell 101 1000000 50000 100 100
Row 3 Cell 101 800000 40000 50 80
Row 4 Cell 101 400000 10000 50 40
[0101] In an exemplary aspect of the present disclosure, the determination unit
[312] is further configured to determine one of a positive category addition and a
5 negative category addition based on an addition of the one or more new counters,
wherein the positive category addition indicates an addition of the one or more new counter categories, and the negative category addition indicates no addition of the one or more new counter categories.
10 [0102] Referring to the previous example, the determination unit [312] may further
identify the category of the new added counter (‘Counter c’) from the corresponding value of the new added counter (‘Counter c’) from the category file XYZ, where the set of headers in the category file XYZ may now include (‘Counter a’, ‘Counter b’, and ‘Counter c’). The reading unit [302] identifies if the category of the ‘Counter
15 c’ is a new category or belongs to an existing category, which is already associated
with the intermediate data. In the example, the category of newly added ‘Counter c’ is not new as shown above, hence it gets added to category file XYZ.
[0103] In an exemplary aspect of the present disclosure, the addition unit [314] is
20 configured to add one or more new added counter categories in the counter header-
counter position map, in an event of determination of the positive category addition.
Further, based on identifying by the determination unit [312], an addition of a new
counter category, the addition unit [314], adds the new counter category to the
counter header-counter position. Also, a new category file for the new added
25 category is generated to receive the corresponding counter values.
33

[0104] In an exemplary aspect of the present disclosure, the map generator unit
[304] is further configured to append the intermediate data with the one or more
new added counter categories. In an exemplary aspect of the present disclosure, the
map generator unit [304] may further modify the intermediate data, which was
5 created by the aggregating unit [308], to create a new counter name-counter value
map for parsing. The modification of the intermediate data may include updating the old data with the new added counter name and counter category. The new counter name-counter value map may include the addition of the new counter name as determined by the determination unit [312] for the new added ‘Counter c’.
10
[0105] In an exemplary aspect of the present disclosure, the system [300] further comprises a parser unit [316], wherein the parser unit [316] is configured to facilitate a parsing of the one or more new added counters and the one or more new added counter categories in the intermediate data. Further, the parser unit [316] is
15 configured to facilitate parsing by reading each row from the set of rows in the
intermediate data and updating a backend database based on the sequence of position of the one or more new added counters. The intermediate data for the previously generated counter value-counter position map which is already stored in the backend database in the storage unit [310], is updated based on parsing of the
20 updated intermediate data.
[0106] Further, the parser unit [316] parses the one or more new added counters and the one or more new added counter categories in the intermediate data. The parser unit [316] facilitates parsing by examining each row from the set of rows in
25 the intermediate data. For each row, the parser unit [316] determines the position
of the one or more new added counters and the one or more new added counter categories and based on the position of the one or more new added counters and the one or more new added counter categories, the parsing unit [316] updates the intermediate data which is stored in the backend database in the storage unit [310].
30 Further, the intermediate data is updated based on the sequence of position of the
one or more new added counters in each of the one or more category files. As shown
34

in the example above, each counter name is associated with a counter position. The parser unit [316] updates the intermediate data in the storage unit [310] based on the position of each counter name in the intermediate data.
5 [0107] In an exemplary aspect of the present disclosure, the system [300] for
dynamic header-based parsing of counter information comprises below steps for each of the category files. The below steps are performed by one or more units of the system [300] as shown in Figure 3.
10 [0108] Step 1: Firstly, for an Excel file comprising an input raw data of counters,
the header is read via the reading unit [302] to keep a map of in-memory. Also, the map of is prepared by the map generator unit [304].
15 [0109] Step 2: Further, the system [300] via the comparing unit [306] matches
number of columns in headers with column-values in data rows. If the count of headers does not match with the count of values in a row, the row is removed. The rows where the count of headers does not match with the count of values cannot be parsed, and hence removed by the system [300].
20
[0110] Step 3: Further, the system [300] via the parsing unit [316] parses each of the data rows. The system [300] performs the below steps for parsing each of the data rows:
a. Read, via the reading unit [302] counter-value from counter-position available
25 in map created in Step 1.
b. After the above step a of reading the counter-value from counter-position, the
map generator unit [304] creates a map of .
c. Such a map will be created for each of the data row.
35

[0111] Step 4: Post completion of parsing of the input raw data via the parsing unit [316], there will be same number of records as available in the original Excel file (excluding removed rows).
5 [0112] Step 5: Further, by performing all the above steps (1-4), there will be
multiple rows for a node generated from parsing of multiple Excel files.
[0113] Step 6: Further, the above parsed data further gets aggregated into an intermediate data via the aggregating unit [308] which has one row for each node. 10
[0114] Referring to Figure 4, an exemplary method flow diagram [400] for
dynamic header-based parsing of counter information, in accordance with
exemplary implementations of the present disclosure is shown. In an
implementation the method [400] is performed by the system [300]. Further, in an
15 implementation, the system [300] may be present in a server device to implement
the features of the present disclosure. Also, as shown in Figure 4, the method [400] starts at step [402].
[0115] Further, Figure 4 is intended to be read with the exemplary block diagram
20 representation of the network architecture [100] as shown in Figure 1 and the
exemplary block diagram of the system [300] as shown in Figure 3. The Figure 1, Figure 3 and Figure 4 complement each other.
[0116] At step 404, the method [400] comprises reading, by a reading unit [302],
25 one or more category files, wherein each category file of the one or more category
files is associated with a set of headers, a set of columns and a set of rows. Further,
each header of the set of headers defines a counter name of one or more counters
and is stored in a column from the set of columns each row of the set of rows
comprises a plurality of counter values of the one or more counters. Furthermore,
30 each category file of the one or more category files is associated with a category of
counters carrying one or more counter information related to a network entity,
36

wherein the network entity is one of a network cell and a base station and each
counter of the one or more the counters define a performance management statistic
of the network entity. It is to be noted that each category file from the one or more
category files is Original Equipment Manufacturers (OEMs) specific and may vary
5 from one OEM to another OEM. Such as a particular OEM may have a latency
category file for each network element associated with said particular OEM, while the another OEM may not have such latency category file.
[0117] Further, the one or more category files mentioned herein may contain the
10 performance management statistics which may be extracted from the Big Data
Cluster [106]. Further, the performance management statistics may include one or more parameters such as number of call drops, an average response time, a node availability percentage, and similar parameters associated with the network entity over a pre-determined period of time (for example 30 minutes). It is to be noted that
15 the performance management statistics of the network entity may further be utilized
in one or more aspects (such as identifying performance bottlenecks, capacity planning, visualizing health of the network entity and similar aspects known to a person skilled in the art). Further, the performance management statistic may be represented in form of at least one of percentages, average, ratio and absolute
20 values. Further, each category file of the one or more category files is associated
with the category of counters that are related to a specific network entity, where the category of counters may be referred to as a set of criteria that at least contains one counter value. For example, a counter category may be data traffic related to network nodes.
25
[0118] It is to be noted that the category names and counter names are OEM specific. Some representative examples for category names may include but not limited to a total number of bytes received by a specific cell, a category including a total number of data packets sent by the specific cell, number of errors
30 encountered by the specific cell, and similar other known categories in the art.
37

[0119] Further, the reading unit [302] reads the performance management statistic
associated with the network entity by observing the category file of said network
entity, where each category file of the one or more category files is associated with
the set of headers, the set of columns and the set of rows. Further, each header of
5 the set of headers may define a specific counter name from the one or more counters
which represents a network performance statistic of said network entity and is
stored in a specific column from the set of columns. Further, each row from the set
of rows of each category file may include the plurality of counter values which may
define the performance statistics corresponding to a respective header of said row.
10 It is to be noted that the counter value is preferably an integer format.
[0120] At step 406, the method [400] comprises preparing, by a map generator unit
[304], a counter header-counter position map for each category file of the one or
more category files based on the reading of the one or more category files. Further,
15 the counter header-counter position map is prepared by the map generator unit
[304], by reading each header from the set of headers and storing a sequence of the position of the one or more counters in each of the one or more category files.
[0121] The map generator unit [304] prepares the counter header-counter position
20 map for each category file from the one or more category files associated with the
network entity. The counter header-counter position map may describe an
arrangement of the one or more counters for each category file. The reading unit
[302] reads the position of each header (corresponding to a counter name) from the
set of headers, stored in the category file and based on the observation of the reading
25 unit [302], the map generator unit [304] accordingly prepares the counter header-
counter position map as per the arrangement of the one or more counter names for each category file.
[0122] At step 408, the method [400] comprises comparing, by a comparing unit
30 [306], a count of headers with a count of counter values in each row of the set of
rows for each of the one or more category files. The count of counter values may
38

define a total number of counter values received via the Big Data Cluster [106] for each counter header present in each category files of the one or more category file.
[0123] The comparing unit [306] compares the count of headers with the count of
5 counter values in each row from the set of rows for each of the one or more category
files.
[0124] At step 410, the method [400] comprises removing, by the comparing unit [306], a first subset of rows from the set of rows, in an event of a mismatch in the
10 count of headers and the count of counter values for each of the first subset of rows,
based on the comparison. In the event of mismatch in the count of headers and the count of counter values for each of the first subset of rows, the comparing unit [306] removes the first subset of rows from the set of rows, to avoid any merging of wrong data in the counter header-counter position map of said category files. The event of
15 mismatch in the count of headers and the count of counter values for each of the
first subset of rows may occur due to one or more issues (such as network fluctuation, or data packet loss, therefore the count of counter values received may either exceed or fell short to the count of counter headers of the category file.
20 [0125] At step 412, the method [400] comprises reading, by the reading unit [302],
the counter values from the set of rows, for each category file of the one or more category files based at least on the counter header-counter position map.
[0126] The reading unit [302] further reads the counter values from said counter
25 header-counter position map, to identify the counter values associated with
respective one or more counters.
[0127] At step 414, the method [400] comprises preparing, by the map generator
unit [304], a counter name-counter value map for each category file of the one or
30 more category files based at least on the reading of the counter values.
39

[0128] The map generator unit [304] further proceeds to prepare the counter name-
counter value map for each category file of the one or more category files, post
reading of the counter values of each category file of the one or more category files
via the reading unit [302]. The counter name-counter value map may represent the
5 counter value which is associated with a corresponding counter. The map generator
unit [304] creates the counter name-counter value map based on the counter header-counter position map.
[0129] At step 416, the method [400] comprises aggregating, by an aggregating
10 unit [308], an intermediate data comprising the set of rows from each of the one or
more category files; wherein each row of the set of rows has a counter name and counter value for each of the one or more counters corresponding to a network entity.
15 [0130] The aggregating unit [308] further aggregates (combines) all the counter
name-counter value map for each category file of the one or more category files to form the intermediate data. The intermediate data used herein is an aggregation of counter values and counter names of each of the category file based on the counter name-counter value map for the category files.
20
[0131] At step 418, the method [400] comprises storing, by the storage unit [310], the intermediate data for parsing.
[0132] The intermediate data generated by the aggregating unit [308] is further
25 stored in the storage unit [310] for parsing. The intermediate data may be used for
gathering essential information (information related to the performance,
configuration and alike of one or more cells). As used herein the parsing is a process
of analysing reading and interpreting a structured data (such as data stored in each
category file) and thereafter either extracting one or more relevant data from the
30 structured data and/or mapping the structured data into a more consistent format.
40

[0133] Further, the method [400] comprises step of determining, by a determination
unit [312], one of a positive addition and a negative addition related to an addition
of one or more new counters in the one or more category files, wherein the positive
addition indicates an addition of the one or more new counters in the one or more
5 category files, and the negative addition indicates no addition of the one or more
new counters in the one or more category files.
[0134] The method [400] further explains that the positive addition as mentioned
may indicate that one or more new counters are added within a specific category
10 file of the one or more category files. Conversely, the negative addition indicates
that no further addition of counters is done within said specific category file.
[0135] Further, the method [400] comprises step of adding, by an addition unit
[314], the one or more new added counters in the counter name-counter value map
15 in an event of determination of the positive addition.
[0136] Further, the method [400] comprises step of deriving, by the reading unit [302], a category of each of the one or more new added counters from the corresponding value of the one or more new added counters. Since, each counter is
20 associated with a specific category (for example a memory or a processor),
therefore, based on the one or more new added counters, the reading unit [302] may derive the category of the one or more new added counters. It is to be noted that the category names and counter names are OEM specific, and the above category example is for exemplary purposes only.
25
[0137] The method [400] further explains that the reading unit [302] further
identifies the category of each counter of the one or more new added counters based
on reading the counter values from the set of rows, for each category file of the one
30 or more category files based at least on the counter header-counter position map.
41

[0138] Further, the method [400] comprises step of modifying the intermediate data, by the map generator unit [304], to create a new mapping for parsing, wherein the new mapping comprises the intermediate data appended with counter name and counter category associated with each of the one or more new added counters. 5
[0139] The method [400] further explains that the map generator unit [304] modifies the intermediate data, which was created by the aggregating unit [308], to create a new counter name-counter value map for parsing.
10 [0140] The reading unit [302] is further configured to derive a category of each of
the one or more new added counters from the corresponding value of the one or more new added counters.
[0141] Further, the method [400] comprises step of determining, by the
15 determination unit [312], one of a positive category addition and a negative
category addition based on an addition of the one or more new counters, wherein
the positive category addition indicates an addition of the one or more new counter
categories, and the negative category addition indicates no addition of the one or
more new counter categories. The reading unit [302] may further identify the
20 category of the new added counter.
[0142] Further, the method [400] comprises step of adding, by the addition unit [314], one or more new added counter categories in the counter header-counter position map, in an event of determination of the positive category addition.
25
[0143] Further, the method [400] comprises step of appending, by the map generator unit [304], the intermediate data with the one or more new added counter categories. The map generator unit [304] may modify the intermediate data, which was created by the aggregating unit [308], to create a new counter name-counter
30 value map for parsing. The modification of the intermediate data may include
updating the old data with the new added counter name and counter category. The
42

new counter name-counter value map may include the addition of the new counter category as determined by the determination unit [312] for an additional performance measurement statistic of the network entity.
5 [0144] Further, the method [400] comprises step of facilitating, by a parser unit
[316], a parsing of the one or more new added counters and the one or more new added counter categories in the intermediate data.
[0145] Further, the method [400] comprises step of facilitating by the parser unit
10 [316], parsing of the intermediate data by reading each row from of the set of rows
in the intermediate data and updating a backend database based on the sequence of
position of the one or more new added counters. The intermediate data for the
previously generated counter value-counter position map which is already stored in
the backend database in the storage unit [310] is updated based on parsing of the
15 updated intermediate data. The parser unit [316] facilitates parsing by examining
each row from the set of rows in the intermediate data. For each row, the parser unit
[316] determines the position of the one or more new added counters and the one
or more new added counter categories and based on the position of the one or more
new added counters and the one or more new added counter categories, the parsing
20 unit updates the intermediate data which is stored in the backend database in the
storage unit [310]. Further, the intermediate data is updated based on the sequence of position of the one or more new added counters in each of the one or more category files.
25 [0146] Further, the method [400] can be explained with the help of examples that
are mentioned in relation to the Figure 3. The example as mentioned in relation to Figure 3 has not been repeated here again to eliminate any redundancy.
[0147] In an exemplary aspect of the present disclosure, the method [400] for
30 dynamic header-based parsing of counter information comprises below steps for
43

each of the category files. The below method steps of method [400] are performed by the by the one or more units of the system [300].
[0148] Step 1: Firstly, for an Excel file comprising an input raw data of counters,
5 the header is read via the reading unit [302] to keep a map of in-memory. Also, the map of is prepared by the map generator unit [304].
[0149] Step 2: Further, the system [300] via the comparing unit [306] matches
10 number of columns in headers with column-values in data rows. If the count of
headers does not match with the count of values in a row, the row is removed. The rows where the count of headers does not match with the count of values cannot be parsed, and hence removed by the system [300].
15 [0150] Step 3: Further, the system [300] via the parsing unit [316] parses each of
the data rows. The system [300] performs the below steps for parsing each of the data rows:
a. Read, via the reading unit [302] counter-value from counter-position
available in map created in point 1.
20 b. After the above step a of reading the counter-value from counter-position,
the map generator unit [304] creates a map of . c. Such a map will be created for each of the data row.
25 [0151] Step 4: Post completion of parsing of the input raw data via the parsing unit
[316], there will be same number of records as available in the original Excel file (excluding removed rows).
[0152] Step 5: Further, by performing all the above steps (1-4), there will be
30 multiple rows for a node generated from parsing of multiple Excel files.
44

[0153] Step 6: Further, the above parsed data further gets aggregated into an intermediate data via the aggregating unit [308] which has one row for each node.
[0154] Step 7: The method [400] terminates at step 420. 5
[0155] Also, the present disclosure discloses a User Equipment (UE), comprising a processing unit configured to initiate a communication session with another UE via a network entity, wherein the network entity is a base station. Further, the UE establishes the communication session with the another UE, based on providing a
10 carrier by the network entity. Further, the UE monitors a performance of one or
more procedures executed to establish the communication session between the UE and the another UE via the carrier. Furthermore, the UE transmits, performance statistics for each of the one or more procedures, to the system [300] via the network entity.
15
[0156] Also, the present disclosure discloses a non-transitory computer readable storage medium, storing instructions for dynamic header-based parsing of counter information, the instructions include executable code which, when executed by one or more units of a system, causes a reading unit [302] to read one or more category
20 files. Further, each category file of the one or more category files is associated with
a set of headers, a set of columns and a set of rows, and each header of the set of headers defines a counter name of one or more counters and is stored in a column from the set of columns. Furthermore, each row of the set of rows comprises a plurality of counter values of the one or more counters. Further, the executable code
25 when executed by the one or more units of a system, causes a map generator unit
[304] to prepare a counter header-counter position map for each category file of the one or more category files based on the reading of the one or more category files. Further, the executable code when executed by the one or more units of a system, causes a comparing unit [306] to compare a count of headers with a count of counter
30 values in each row of the set of rows for each of the one or more category files.
Further the executable code, when executed causes the comparing unit [306] to
45

remove a first subset of rows from the set of rows, in an event of a mismatch in the
count of headers and the count of counter values for each of the first subset of rows
based on the comparison. Further, the instructions include executable code which,
when executed by one or more units of a system, causes the reading unit [302] to
5 read the counter values from the set of rows, for each category file of the one or
more category files based at least on the counter header-counter position map. Further, the instructions include executable code which, when executed by one or more units of a system, causes the map generator unit [304] to prepare a counter name-counter value map for each category file of the one or more category files
10 based at least on the reading of the counter values. Further, the executable code
when executed by the one or more units of a system, causes an aggregating unit [308] to aggregate an intermediate data comprising the set of rows from each of the one or more category files, wherein each row of the set of rows has a counter name and a counter value for each of the one or more counters corresponding to a network
15 entity. Further, the executable code when executed by the one or more units of a
system, causes a storage unit [310], to store the intermediate data for parsing.
[0157] As is evident from the above, the present disclosure provides a technically advanced solution for dynamic header-based parsing of counter information. The
20 present solution follows a Dynamic Header based Counter Parsing, where all new
counters and categories introduced in a new software version of the nodes along with existing counters are parsed properly without any additional development efforts and with zero cost. Also, this implementation ensures that the present solution is always ready to parse new counters without disturbing the existing ones
25 as and when the software (which involves counter addition) is upgraded by
Vendors.
[0158] While considerable emphasis has been placed herein on the disclosed
implementations, it will be appreciated that many implementations can be made and
30 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
46

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.
5 [0159] Further, in accordance with the present disclosure, it is to be acknowledged
that the functionality described for the various 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
10 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.
47

We Claim:
1. A method [400] for dynamic header-based parsing of counter information,
the method [400] comprising:
5 - reading, by a reading unit [302], one or more category files, wherein
each category file of the one or more category files is associated with a set of headers, a set of columns and a set of rows;
- preparing, by a map generator unit [304], a counter header – counter
position map for each category file of the one or more category files
10 based on the reading of the one or more category files;
- comparing, by a comparing unit [306], a count of headers with a count
of counter values in each row of the set of rows for each of the one or
more category files;
- removing, by the comparing unit [306], a first subset of rows from the
15 set of rows, in an event of a mismatch in the count of headers and the
count of counter values for each of the first subset of rows, based on the comparison;
- reading, by the reading unit [302], the counter values from the set of
rows, for each category file of the one or more category files based at
20 least on the counter header-counter position map;
- preparing, by the map generator unit [304], a counter name-counter value map for each category file of the one or more category files based at least on the reading of the counter values;
- aggregating, by an aggregating unit [308], an intermediate data
25 comprising the set of rows from each of the one or more category files;
and
- storing, by a storage unit [310], the intermediate data for parsing.
2. The method [400] as claimed in claim 1 wherein each category file of the
30 one or more category files is associated with a category of counters related
to a network entity, wherein the network entity is one of a network cell and
48

5

a base station and each counter of the one or more the counters define a performance management statistic of the network entity.
3. The method [400] as claimed in claim 1, wherein the counter header-counter position map is prepared by the map generator unit [304], by reading each header from the set of headers and storing a sequence of the position of the one or more counters in each of the one or more category files.

4. The method [400] as claimed in claim 1, wherein each header of the set of
10 headers defines a counter name of one or more counters and is stored in a
column from the set of columns each row of the set of rows comprises a plurality of counter values of the one or more counters.
5. The method [400] as claimed in claim 1, wherein each row of the set of rows
15 has a counter name and counter value for each of the one or more counters
corresponding to a network entity.
6. The method [400] as claimed in claim 1, wherein the method [400] further
comprises:
20 - determining, by a determination unit [312], one of a positive addition
and a negative addition related to an addition of one or more new
counters in the one or more category files, wherein the positive addition
indicates an addition of the one or more new counters in the one or more
category files, and the negative addition indicates no addition of the one
25 or more new counters in the one or more category files;
- adding, by an addition unit [314], the one or more new added counters
in the counter name-counter value map in an event of determination of
the positive addition;
- deriving, by the reading unit [302], a category of each of the one or more
30 new added counters from the corresponding value of the one or more
new added counters; and
49

modifying the intermediate data, by the map generator unit [304], to create a new mapping for parsing, wherein the new mapping comprises the intermediate data appended with counter name and counter category and associated with each of the one or more new added counters.
7. The method [400] as claimed in claim 6 further comprising:
determining, by the determination unit [312], one of a positive category
addition and a negative category addition based on an addition of the
one or more new counters, wherein the positive category addition
indicates an addition of the one or more new counter categories, and the
negative category addition indicates no addition of the one or more new
counter categories;
adding, by the addition unit [314], one or more new added counter
categories in the counter header-counter position map, in an event of
determination of the positive category addition;
appending, by the map generator unit [304], the intermediate data with
the one or more new added counter categories; and
facilitating, by a parser unit [316], a parsing of the one or more new
added counters and the one or more new added counter categories in the
intermediate data.
8. The method [400] as claimed in claim 7, wherein the parser unit [316] facilitates parsing of the intermediate data by reading each row from of the set of rows in the intermediate data and updating a backend database based on a sequence of position of the one or more new added counters.
9. A system [300] for dynamic header-based parsing of counter information, the system [300] comprising:
- a reading unit [302] configured to read one or more category files, wherein each category file of the one or more category files is

associated with a set of headers, a set of columns and a set of rows, wherein each header of the set of headers defines a counter name of one or more counters and is stored in a column from the set of columns, each row of the set of rows comprises a plurality of counter values of the one or more counters;
- a map generator unit [304] connected at least to the reading unit [302], configured to prepare a counter header- counter position map for each category file of the one or more category files based on the reading of the one or more category files;
- a comparing unit [306] connected at least to the map generator unit [304], configured to compare a count of headers with a count of counter values in each row of the set of rows for each of the one or more category files;
- removing, by the comparing unit [306], a first subset of rows from the set of rows, in an event of a mismatch in the count of headers and the count of counter values for each of the first subset of rows, based on the comparison;
- the reading unit [302] further configured to read the counter values from the set of rows, for each category file of the one or more category files based at least on the counter header-counter position map;
- the map generator unit [304] further configured to prepare a counter name-counter value map for each category file of the one or more category files based at least on the reading of the counter values;
- an aggregating unit [308] connected with the map generator unit
[304], the aggregating unit [308] configured to aggregate an
intermediate data comprising the set of rows from each of the one or
more category files, wherein each row of the set of rows has a
counter name and a counter value for each of the one or more
counters corresponding to a network entity; and

- a storage unit [310] connected to the aggregating unit [308], the storage unit [310] is configured to store the intermediate data for parsing.
10. The system [300] as claimed in claim 9 wherein each category file of the one or more category files is associated with a category of counters related to a network entity, wherein the network entity is one of a network cell and a base station and the counters define performance management statistics of the network entity.
11. The system [300] as claimed in claim 9, wherein the counter header- counter position map is prepared by the map generator unit [304], by reading each header from the set of headers and storing a sequence of the position of the one or more counters in each of the one or more category files.
12. The system [300] as claimed in claimed in claim 9, wherein the system [300] further comprises:
a determination unit [312] configured to determine one of a positive addition and a negative addition related to an addition of one or more new counters in the one or more category files, wherein the positive addition indicates an addition of the one or more new counters in the one or more category files, and the negative addition indicates no addition of the one or more new counters in the one or more category files;
an addition unit [314] configured to add the one or more new added counters in the counter name-counter value map in an event of determination of the positive addition;
the reading unit [302], configured to derive a category of each of the one or more new added counters from the corresponding value of the one or more new added counters; and

- the map generator unit [304] configured to modify the intermediate data
to create a new mapping for parsing, wherein the new mapping
comprises counter name and counter category associated with each of
the one or more new added counters.
13. The system [300] as claimed in claim 12 further comprising:
- the determination unit [312] is further configured to determine one of a positive category addition and a negative category addition based on an addition of the one or more new counters, wherein the positive category addition indicates an addition of the one or more new counter categories, and the negative category addition indicates no addition of the one or more new counter categories;
- the addition unit [314] configured to add one or more new added counter categories in the counter header-counter position map, in an event of determination of the positive category addition;
- the map generator unit [304] further configured to append the intermediate data with the one or more new added counter categories; and
- a parser unit [316] configured to facilitate a parsing of the one or more new added counters and the one or more new added counter categories in the intermediate data.
14. The system [300] as defined in claim 11, wherein the parser unit [316] is
configured to:
facilitate parsing by reading each row from the set of rows in the intermediate data and updating a backend database based on the sequence of position of the one or more new added counters.
15. A User Equipment (UE) comprising:
a processing unit configured to:

- initiate a communication session with another UE via a network entity, wherein the network entity is a base station;
- establish the communication session with the another UE, based on providing a carrier by the network entity;
- monitor a performance of one or more procedures executed to establish the communication session between the UE and the another UE via the carrier; and
- transmit, performance statistics for each of the one or more procedures, to the system [300] via the network entity.

Documents

Application Documents

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