Abstract: The present disclosure relates to a method and a system for synchronizing network inventory. The present disclosure encompasses receiving, at least one of a list of one or more VNFs and CNFs from the IM based on the request. The method further comprises retrieving, at the MAUD [1104], a CNFC list and VNF list from the IM. The method further comprises retrieving, a list of servers executing the one or more VNFs and one or more CNFs from the IM. The method further comprises retrieving, corresponding CNFC list and VNFC list for each server of the list of servers from the IM. The method further comprises comparing, a set of retrieved resources associated with the CNFC and VNFC list. The method further comprises identifying, one or more discrepancies based on the comparison. The method further comprises sending, an update to the IM to remediate the identified one or more discrepancies. [FIG. 3]
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 SYNCHRONIZING
NETWORK INVENTORY”
We, Jio Platforms Limited, an Indian National, of Office - 101, Saffron, Nr. Centre
Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
The following specification particularly describes the invention and the manner in
which it is to be performed.
2
METHOD AND SYSTEM FOR SYNCHRONIZING NETWORK
INVENTORY
TECHNICAL FIELD
5
[0001] Embodiments of the present disclosure relate generally to the field of
wireless communication systems. More particularly, embodiment of the present
disclosure relates to a method and system for synchronizing network inventory.
10 BACKGROUND
[0002] The following description of the related art is intended to provide
background information pertaining to the field of the disclosure. This section may
include certain aspects of the art that may be related to various features of the
15 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 an admission of the prior art.
[0003] Wireless communication technology has rapidly evolved over the past few
20 decades, with each generation bringing significant improvements and
advancements. The first generation of wireless communication technology was
based on analog technology and offered only voice services. However, with the
advent of the second-generation (2G) technology, digital communication and data
services became possible, and text messaging was introduced. 3G technology
25 marked the introduction of high-speed internet access, mobile video calling, and
location-based services. The fourth-generation (4G) technology revolutionized
wireless communication with faster data speeds, better network coverage, and
improved security. Currently, the fifth-generation (5G) technology is being
deployed, promising even faster data speeds, low latency, and the ability to connect
30 multiple devices simultaneously. With each generation, wireless communication
3
technology has become more advanced, sophisticated, and capable of delivering
more services to its users.
[0004] Traditionally, in network management systems, a myriad of challenges are
5 inherent due to their less adaptive and less scalable structures. One of the key
problems is the lack of real-time inventory synchronization. Traditional systems
often fail to reflect the actual state of network resources promptly, leading to
discrepancies between the recorded inventory and the real-time state of resources,
such as Virtual Network Functions (VNFs) and Containerized Network Functions
10 (CNFs). This misalignment often results in operational inefficiencies, incorrect
resource allocations, and, in severe cases, system failures, as the system operates
on outdated or incorrect data.
[0005] Moreover, as there are thousands of network functions running in parallel
15 in modern network environments, any discrepancy between the inventory and
actual infrastructure can lead to system failures. To avoid such scenarios, it becomes
essential to take a proactive approach and ensure that the network inventory is
continuously synchronized with both the backend infrastructure and the dependent
network functions, as well as their respective resources. Failure to synchronize can
20 result in situations where extra VNFs or CNFs may either exist in the inventory but
not in the backend or vice versa, and resource mismatches may occur at the
VNF/CNF level, further affecting network performance.
[0006] Another prominent issue is scalability. Traditional systems, not being based
25 on microservices architecture, struggle with scaling to accommodate the
burgeoning demands of modern networks. The rigid architectures of such systems
pose significant limitations in handling multiple and diverse network functions and
resources. As networks expand and diversify, traditional systems become
increasingly cumbersome and inefficient, struggling to manage the growing number
30 and variety of network functions and services. The absence of an event-driven
model in traditional systems also leads to inefficiencies. In contrast to modern
4
solutions, traditional systems do not react promptly to changes in the network
environment, leading to delays in response and adaptation to the changing network
conditions and requirements. This lack of responsiveness can result in suboptimal
network performance and can compromise the reliability and availability of
5 network services.
[0007] Finally, traditional network management systems typically exhibit lower
fault tolerance. They lack the high availability modes inherent in modern systems,
and their resilience against failures is generally poor. When one instance faces
10 issues during request processing, traditional systems often do not have immediate
fallback options, resulting in service disruptions and operational delays. In
conclusion, the limitations of traditional network management systems in inventory
synchronization, scalability, responsiveness, and fault tolerance hinder the optimal
performance and reliability of network services, making them less suited to the
15 dynamic and demanding environment of modern networks. The advancement to
more adaptive, scalable, and responsive solutions is crucial to address the evolving
needs of network management effectively.
[0008] To address the challenges of managing large scale modern networks, a
20 specialized interface, AU_IM, is proposed as part of this solution. This interface
facilitates all operations at the Microservice Auditor (MAUD), ensuring that the
inventory remains synchronized with the actual infrastructure and its dependent
network functions. The AU_IM interface detects and remediates discrepancies,
such as: extra VNFs/CNFs present in the inventory but not in the backend, extra
25 VNFs/CNFs running in the backend but missing from the inventory and resource
mismatches at the VNF/CNF level.
[0009] Thus, there exists an imperative need in the art for a system and method for
enhanced network inventory synchronization, which aims to manage network
30 resources more efficiently, mitigate discrepancies in network functions, and
5
enhance scalability, responsiveness, and fault tolerance in network management,
ultimately optimizing overall network performance and reliability.
SUMMARY
5
[0010] This section is provided to introduce certain aspects of the present disclosure
in a simplified form that are further described below in the detailed description.
This summary is not intended to identify the key features or the scope of the claimed
subject matter.
10
[0011] An aspect of the present disclosure relates to a method for synchronizing
network inventory. The method comprises transmitting, by a transceiver unit at a
microservice auditor (MAUD), a request to an inventory manager (IM). The method
further comprises receiving, by the transceiver unit, at least one of a list of one or
15 more virtual network functions (VNFs) and one or more container network
functions (CNFs) from the IM based on the request. The method further comprises
retrieving, by a retrieving unit at the MAUD, a corresponding containerized
network function component (CNFC) list and Virtual Network Function
Components (VNFC) list from the IM. The method further comprises retrieving, by
20 the retrieving unit, a list of servers executing the one or more VNFs and one or more
CNFs from the IM. The method further comprises retrieving, by the retrieving unit,
corresponding CNFC list and VNFC list for each server of the list of servers from
the IM. The method further comprises comparing, by a comparing unit, a set of
retrieved resources associated with the CNFC list and VNFC list and a set of actual
25 resources associated with the CNFC list and the VNFC list. The method further
comprises identifying, by an identifying unit, one or more discrepancies based on
the comparison. The method further comprises sending, by the transceiver unit, an
update to the IM for remediating the identified one or more discrepancies.
30 [0012] In an exemplary aspect of the present disclosure, the one or more
discrepancies comprise at least one of extra entries of at least one of CNF, VNF,
6
CNFC, VNFC entry in the IM. The method further comprises missing entry of at
least one of CNF, VNF, CNFC, VNFC entry in the IM.
[0013] In an exemplary aspect of the present disclosure, the sending the update to
5 the IM is performed periodically after a predefined time period.
[0014] In an exemplary aspect of the present disclosure, the periodically sending
the update is performed utilising REST application programming interface (API).
10 [0015] In an exemplary aspect of the present disclosure, remediating the network
inventory comprises at least one of deleting extra entry of at least one of CNF, VNF,
CNFC, VNFC; adding missing entry of at least one of CNF, VNF, CNFC, VNFC;
and synchronising the retrieved set of resources.
15 [0016] In an exemplary aspect of the present disclosure, an AU_IM interface
facilitates communication between the MAUD and the IM.
[0017] In an exemplary aspect of the present disclosure, the set of network
resources comprises at least one of physical memory, random access memory
20 (RAM), and central processing unit (CPU).
[0018] In an exemplary aspect of the present disclosure, the retrieved set of
resources are received from a docker swarm adaptor (DSA) (alternatively referred
to as docker service adaptor (DSA)).
25
[0019] In an exemplary aspect of the present disclosure, the set of actual resources
are received from the list of servers.
[0020] Another aspect of the present disclosure may relate to a system for
30 synchronizing network inventory, the system comprising: a microservice auditor
(MAUD) comprising: a transceiver unit configured to transmit a request to an
7
inventory manager (IM). The system further comprises receive at least one of a list
of one or more virtual network functions (VNFs) and one or more container network
functions (CNFs) from the IM based on the request. The system further comprises
a retrieving unit configured to retrieve a corresponding containerized network
5 function component (CNFC) list and Virtual Network Function Components
(VNFC) list from the IM. The system further comprises retrieve a list of servers
executing the one or more VNFs and one or more CNFs from the IM. The system
further comprises retrieve corresponding CNFC list and VNFC list for each server
of the list of servers from the IM. The system further comprises a comparing unit
10 configured to compare a set of retrieved resources associated with the CNFC list
and VNFC list and a set of actual resources associated with the CNFC list and the
VNFC list. The system further comprises an identifying unit configured to identify
one or more discrepancies based on the comparison. The system further comprises
the transceiver unit further configured to send an update to the IM for remediating
15 the identified one or more discrepancies.
[0021] Yet another aspect of the present disclosure may relate to a non-transitory
computer readable storage medium storing instructions for synchronizing network
inventory, the instructions include executable code which, when executed by one
20 or more units of a system, causes: a transceiver unit transmit a request to an
inventory manager (IM). Further, the instructions include executable code which,
when executed causes receive at least one of a list of one or more virtual network
functions (VNFs) and one or more container network functions (CNFs) from the
IM based on the request. Further, the instructions include executable code which,
25 when executed causes a retrieving unit to retrieve a corresponding containerized
network function component (CNFC) list and Virtual Network Function
Components (VNFC) list from the IM. Further, the instructions include executable
code which, when executed causes retrieve a list of servers executing the one or
more VNFs and one or more CNFs from the IM. Further, the instructions include
30 executable code which, when executed causes retrieve corresponding CNFC list
and VNFC list for each server of the list of servers from the IM. Further, the
8
instructions include executable code which, when executed causes a comparing unit
to compare a set of retrieved resources associated with the CNFC list and VNFC
list and a set of actual resources associated with the CNFC list and the VNFC list.
Further, the instructions include executable code which, when executed causes an
5 identifying unit to identify one or more discrepancies based on the comparison.
Further, the instructions include executable code which, when executed causes the
transceiver unit further to send an update to the IM for remediating the identified
one or more discrepancies.
10 OBJECTS OF THE DISCLOSURE
[0022] Some of the objects of the present disclosure, which at least one
embodiment disclosed herein satisfies are listed herein below.
15 [0023] It is an object of the present disclosure to provide a system and a method for
synchronizing network inventory.
[0024] It is an object of the present invention to provide a system and method for
synchronizing network inventory that automates the synchronization process,
20 ensuring real-time accuracy and mitigating discrepancies between recorded
inventory and actual network resources.
[0025] It is another object of the present invention to provide a system and method
for synchronizing network inventory that identifies and rectifies any extra Virtual
25 Network Functions (VNFs) or Containerized Network Functions (CNFs) present at
the backend, improving the overall reliability and efficiency of network
management.
[0026] It is another object of the present invention to provide a system and method
30 for synchronizing network inventory that employs a microservices architecture,
9
enabling high scalability to manage a myriad of network functions effectively and
accommodate the growing and diverse demands of modern networks.
[0027] It is another object of the present invention to provide a system and method
5 for synchronizing network inventory that operates on an event-driven model,
ensuring prompt responsiveness and adaptation to changes in the network
environment, optimizing network performance and service availability.
[0028] It is another object of the present invention to provide a system and method
10 for synchronizing network inventory that exhibits fault tolerance and high
availability, maintaining uninterrupted service by swiftly allocating requests to the
next available instance in the event of an inventory instance failure.
[0029] It is yet another object of the present invention to provide a system and
15 method for synchronizing network inventory that proactively prevents resource
mismatch and instantiation failure by maintaining inventory in close sync with
actual backend infrastructure and dependent network functions, ensuring seamless
network operations.
20 DESCRIPTION OF THE DRAWINGS
[0030] 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
25 different drawings. Components in the drawings are not necessarily to scale,
emphasis instead being placed upon clearly illustrating the principles of the present
disclosure. Also, the embodiments shown in the figures are not to be construed as
limiting the disclosure, but the possible variants of the method and system
according to the disclosure are illustrated herein to highlight the advantages of the
30 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.
[0031] FIG. 1 illustrates an exemplary block diagram representation of a
5 management and orchestration (MANO) architecture.
[0032] FIG. 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.
10
[0033] FIG. 3 illustrates an exemplary block diagram of a system for synchronizing
network inventory, in accordance with exemplary implementations of the present
disclosure.
15 [0034] FIG. 4 illustrates an exemplary system architecture for synchronizing
network inventory, in accordance with exemplary implementations of the present
disclosure.
[0035] FIG. 5 illustrates a method flow diagram for synchronizing network
20 inventory, in accordance with exemplary implementations of the present disclosure.
[0036] FIG. 6 illustrates a flow diagram for synchronizing network inventory, in
accordance with exemplary implementations of the present disclosure.
25 [0037] The foregoing shall be more apparent from the following more detailed
description of the disclosure.
DETAILED DESCRIPTION
30 [0038] In the following description, for the purposes of explanation, various
specific details are set forth in order to provide a thorough understanding of
11
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
5 address any of the problems discussed above or might address only some of the
problems discussed above.
[0039] The ensuing description provides exemplary embodiments only, and is not
intended to limit the scope, applicability, or configuration of the disclosure. Rather,
10 the ensuing description of the exemplary embodiments will provide those skilled in
the art with an enabling description for implementing an exemplary embodiment.
It should be understood that various changes may be made in the function and
arrangement of elements without departing from the spirit and scope of the
disclosure as set forth.
15
[0040] 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 skills in the art that the embodiments may be practiced without these
specific details. For example, circuits, systems, processes, and other components
20 may be shown as components in block diagram form in order not to obscure the
embodiments in unnecessary detail.
[0041] 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
25 diagram, or a block diagram. Although a flowchart may describe the operations as
a sequential process, many of the operations may be performed in parallel or
concurrently. In addition, the order of the operations may be re-arranged. A process
is terminated when its operations are completed but could have additional steps not
included in a figure.
30
12
[0042] The word “exemplary” and/or “demonstrative” is used herein to mean
serving as an example, instance, or illustration. For the avoidance of doubt, the
subject matter disclosed herein is not limited by such examples. In addition, any
aspect or design described herein as “exemplary” and/or “demonstrative” is not
5 necessarily to be construed as preferred or advantageous over other aspects or
designs, nor is it meant to preclude equivalent exemplary structures and techniques
known to those of ordinary skill in the art. Furthermore, to the extent that the terms
“includes,” “has,” “contains,” and other similar words are used in either the detailed
description or the claims, such terms are intended to be inclusive—in a manner
10 similar to the term “comprising” as an open transition word—without precluding
any additional or other elements.
[0043] As used herein, a “processing unit” or “processor” or “operating processor”
includes one or more processors, wherein processor refers to any logic circuitry for
15 processing instructions. A processor may be a general-purpose processor, a special
purpose processor, a conventional processor, a digital signal processor, a plurality
of microprocessors, one or more microprocessors in association with a Digital
Signal Processing (DSP) core, a controller, a microcontroller, Application Specific
Integrated Circuits, Field Programmable Gate Array circuits, any other type of
20 integrated circuits, etc. The processor may perform signal coding data processing,
input/output processing, and/or any other functionality that enables the working of
the system according to the present disclosure. More specifically, the processor or
processing unit is a hardware processor.
25 [0044] As used herein, “a user equipment”, “a user device”, “a smart-user-device”,
“a smart-device”, “an electronic device”, “a mobile device”, “a handheld device”,
“a wireless communication device”, “a mobile communication device”, “a
communication device” may be any electrical, electronic and/or computing device
or equipment, capable of implementing the features of the present disclosure. The
30 user equipment/device may include, but is not limited to, a mobile phone, smart
phone, laptop, a general-purpose computer, desktop, personal digital assistant,
13
tablet computer, wearable device or any other computing device which is capable
of implementing the features of the present disclosure. Also, the user device may
contain at least one input means configured to receive an input from unit(s) which
are required to implement the features of the present disclosure.
5
[0045] As used herein, “storage unit” or “memory unit” refers to a machine or
computer-readable medium including any mechanism for storing information in a
form readable by a computer or similar machine. For example, a computer-readable
medium includes read-only memory (“ROM”), random access memory (“RAM”),
10 magnetic disk storage media, optical storage media, flash memory devices or other
types of machine-accessible storage media. The storage unit stores at least the data
that may be required by one or more units of the system to perform their respective
functions.
15 [0046] As used herein “interface” or “user interface” refers to a shared boundary
across which two or more separate components of a system exchange information
or data. The interface may also be referred to a set of rules or protocols that define
communication or interaction of one or more modules or one or more units with
each other, which also includes the methods, functions, or procedures that may be
20 called.
[0047] 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
25 digital signal processor (DSP), a plurality of microprocessors, one or more
microprocessors in association with a DSP core, a controller, a microcontroller,
Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array
circuits (FPGA), any other type of integrated circuits, etc.
30 [0048] As used herein the transceiver unit includes at least one receiver and at least
one transmitter configured respectively for receiving and transmitting data, signals,
14
information, or a combination thereof between units/components within the system
and/or connected with the system.
[0049] As discussed in the background section, the current known solutions have
5 several shortcomings. The present disclosure aims to overcome the abovementioned and other existing problems in this field of technology by providing a
method and system of synchronizing network inventory.
[0050] The solution ensures that network inventory data stays updated and accurate
10 across all systems. It synchronizes the information automatically, reducing errors
and improving efficiency. This system is designed to handle large amounts of data
and can work with different types of networks. By doing this, it solves the problem
of outdated or mismatched inventory data and helps companies manage their
networks more effectively.
15
[0051] Hereinafter, exemplary embodiments of the present disclosure will be
described with reference to the accompanying drawings.
[0052] FIG. 1 illustrates an exemplary block diagram representation of a
20 management and orchestration (MANO) architecture/platform [100], in accordance
with exemplary implementation of the present disclosure. The MANO architecture
[100] may be developed for managing telecom cloud infrastructure automatically,
managing design or deployment design, managing instantiation of a network
node(s) etc/service(s). The MANO architecture [100] deploys the network node(s)
25 in the form of Virtual Network Function (VNF) and Cloud-native/ Container
Network Function (CNF). The system as provided by the present disclosure may
comprise one or more components of the MANO architecture [100]. The MANO
architecture [100] may be used to automatically instantiate the VNFs into the
corresponding environment of the present disclosure so that it could help in
30 onboarding other vendor(s) CNFs and VNFs to the platform. In an implementation,
15
the system may comprise a NFV Platform Decision Analytics (NPDA) [1096]
component.
[0053] As shown in FIG. 1, the MANO architecture [100] comprises a user
5 interface layer [102], a network function virtualization (NFV) and software defined
network (SDN) design function module [104], a platform foundation services
module [106], a platform core services module [108] and a platform resource
adaptors and utilities module [112] All the components may be assumed to be
connected to each other in a manner as obvious to the person skilled in the art for
10 implementing features of the present disclosure.
[0054] The NFV and SDN design function module [104] comprises a VNF
lifecycle manager [1042], a VNF catalog [1044], a network services catalog [1046],
a network slicing and service chaining manager [1048], a physical and virtual
15 resource inventory manager (PVIM) [1050] and a CNF lifecycle manager [1052].
The VNF lifecycle manager [1042] may be responsible for deciding on which server
of the communication network the microservice may be instantiated. The VNF
lifecycle manager [1042] may manage the overall flow of incoming/ outgoing
requests during interaction with the user. The VNF lifecycle manager [1042] may
20 be responsible for determining which sequence to be followed for executing the
process. For e.g., in an AMF network function of the communication network (such
as a 5G network), sequence for execution of processes P1 and P2 etc. The VNF
catalog [1044] stores the metadata of all the VNFs (also CNFs in some cases). The
network services catalog [1046] stores the information of the services that need to
25 be run. The network slicing and service chaining manager [1048] manages the
slicing (an ordered and connected sequence of network service/ network functions
(NFs)) that must be applied to a specific networked data packet. The PVIM [1050]
stores the logical and physical inventory of the VNFs. Just like the VNF lifecycle
manager [1042], the CNF lifecycle manager [1052] may be similarly used for the
30 CNFs lifecycle management.
16
[0055] The platforms foundation services module [106] comprises a microservices
elastic load balancer [1062], an identity & access manager [1064], a command line
interface (CLI) [1066], a central logging manager [1068], and an event routing
manager [1070]. The microservices elastic load balancer [1062] may be used for
5 maintaining the load balancing of the request for the services. The identity & access
manager [1064] may be used for logging purposes. The command line interface
(CLI) [1066] may be used to provide commands to execute certain processes which
require changes during the run time. The central logging manager [1068] may be
responsible for keeping the logs of every service. These logs are generated by the
10 MANO architecture [100]. These logs may be used for debugging purposes. The
event routing manager [1070] may be responsible for routing the events i.e., the
application programming interface (API) hits to the corresponding services.
[0056] The platforms core services module [108] comprises NFV infrastructure
15 monitoring manager [1082], an assure manager [1084], a performance manager
[1086], a policy execution engine [1088], a capacity monitoring manager [1090], a
release management (mgmt.) repository [1092], a configuration manager & golden
configuration template (GCT) [1094], an NFV platform decision analytics [1096],
a platform NoSQL DB [1098], a platform schedulers and cron jobs [1100], a VNF
20 backup & upgrade manager [1102], a microservice auditor (MAUD) [1104], and a
platform operations, administration and maintenance manager [1106]. The NFV
infrastructure monitoring manager [1082] may monitor the infrastructure part of the
NFs. For e.g., any metrics such as CPU utilization by the VNF. The assure manager
[1084] may be responsible for supervising the alarms the vendor may be generating.
25 The performance manager [1086] may be responsible for managing the
performance counters. The policy execution engine (PEE) [1088] may be
responsible for managing all the policies. The capacity monitoring manager (CMM)
[1090] may be responsible for sending the request to the PEE [1088]. The release
management repository (RMR) [1092] may be responsible for managing the
30 releases and the images of all of the vendor’s network nodes. The configuration
manager & GCT [1094] manages the configuration and GCT of all the vendors. The
17
NFV platform decision analytics (NPDA) [1096] helps in deciding the priority of
using the network resources. It is further noted that the policy execution engine
(PEE) [1088], the configuration manager & (GCT) [1094] and the (NPDA) [1096]
work together. The platform NoSQL DB [1098] may be a platform database for
5 storing all the inventory (both physical and logical) as well as the metadata of the
VNFs and CNF. It may be noted that the platform NoSQL DB [1098] may be just a
narrower implementation of the present disclosure, and any other kind of structure
for the database may be implemented for the platform database such as relational
or non-relational database. The platform schedulers and cron jobs [1100] may
10 schedule the task such as but not limited to triggering of an event, traverse the
network graph etc. The VNF backup & upgrade manager [1102] takes backup of
the images, binaries of the VNFs and the CNFs and produces those backups on
demand in case of server failure. The microservice auditor [1104] audits the
microservices.
15
[0057] For example, system can check, by audit process, the number of resources
allocated and number of resources actually being in current use, if there is a
difference, it can raise alert or update the system or system user to take corrective
actions or simply update the inventory with latest information; this audit has much
20 importance as to understand the real-scenario of the resource inventory and manage
it to best/optimized way with objective of efficient resource allocation management.
[0058] platform operations, administration, and maintenance manager [1106] may
be used for newer instances that are spawning.
25
[0059] The platform resource adaptors and utilities module [112] further comprises
a platform external API adaptor and gateway [1122], a generic decoder and indexer
(XML, CSV, JSON) [1124], a service adaptor [1126], an API adaptor [1128], and a
NFV gateway [1130]. The platform external API adaptor and gateway [1122] may
30 be responsible for handling the external services (to the MANO architecture [100])
that requires the network resources. The generic decoder and indexer (XML, CSV,
18
JSON) [1124] may directly get the data of the vendor system in the XML, CSV,
JSON format. The service adaptor [1126] may be the interface provided between
the telecom cloud and the MANO architecture [100] for communication. The
Service Adaptor (SA) is a microservices-based system designed to deploy and
5 manage Container Network Functions (CNFs) and their components (CNFCs)
across nodes. It offers REST endpoints for key operations, including uploading
container images to a registry, terminating CNFC instances, and creating volumes
and networks. CNFs, which are network functions packaged as containers, may
consist of multiple CNFCs. The Service Adaptor facilitates the deployment,
10 configuration, and management of these components by interacting with API,
ensuring proper setup and scalability within a containerized environment. This
approach provides a modular and flexible framework for handling network
functions in a virtualized network setup.
15 [0060] The API adaptor [1128] may be used to connect with the virtual machines
(VMs). The NFV gateway [1130] may be responsible for providing the path to each
service going to/incoming from the MANO architecture [100].
[0061] FIG. 2 illustrates an exemplary block diagram of a computing device [200]
20 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 for
synchronizing network inventory, utilising the system. In another implementation,
the computing device [200] itself implements the method for synchronizing
25 network inventory, 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.
[0062] The computing device [200] may include a bus [202] or other
30 communication mechanism for communicating information, and a hardware
processor [204] coupled with bus [202] for processing information. The hardware
19
processor [204] may be, for example, a general-purpose microprocessor. The
computing device [200] may also include a main memory [206], such as a randomaccess 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
5 main memory [206] also may be used for storing temporary variables or other
intermediate information during execution of the instructions to be executed 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 specialpurpose machine that is customized to perform the operations specified in the
10 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
information and instructions for the processor [204].
[0063] A storage device [210], such as a magnetic disk, optical disk, or solid-state
15 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),
Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for
displaying information to a computer user. An input device [214], including
20 alphanumeric and other keys, touch screen input means, etc. may be coupled to the
bus [202] for communicating information and command selections to the processor
[204]. Another type of user input device may be a cursor controller [216], such as a
mouse, a trackball, or cursor direction keys, for communicating direction
information and command selections to the processor [204], and for controlling
25 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.
[0064] The computing device [200] may implement the techniques described
30 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
20
or programs the computing device [200] to be a special-purpose machine.
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
5 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
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
10 software instructions.
[0065] The computing device [200] also may include a communication interface
[218] coupled to the bus [202]. The communication interface [218] provides a twoway data communication coupling to a network link [220] that is connected to a
15 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
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
20 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
various types of information.
25 [0066] 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
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
30 [218]. The received code may be executed by the processor [204] as it is received,
21
and/or stored in the storage device [210], or other non-volatile storage for later
execution.
[0067] Referring to FIG. 3, an exemplary block diagram of a system [300] for
5 synchronizing network inventory, is shown, in accordance with the exemplary
implementations of the present disclosure. In one example, the system [300] may
be implemented as or within a microservice auditor (MAUD) [1104].
[0068] In another example, as depicted in FIG. 3, the system [300] may include the
10 microservice auditor (MAUD) [1104]. The microservice auditor (MAUD) [1104]
may include at least one transceiver unit [302], at least one retrieving unit [304], at
least one comparing unit [306] and at least one identifying unit [308].
[0069] All of the components/ units of the system [300] are assumed to be
15 connected to each other unless otherwise indicated below. As shown in the figures
all units shown within the system [300] should 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 system [300] may comprise any such
numbers of said units, as required to implement the features of the present
20 disclosure. Further, in an implementation, the system [300] may be present in a user
device/ user equipment to implement the features of the present disclosure. The
system [300] may be a part of the user device / or may be independent of but in
communication with the user device (may also referred herein as a UE). In another
implementation, the system [300] may reside in a server or a network entity. In yet
25 another implementation, the system [300] may reside partly in the server/ network
entity and partly in the user device.
[0070] The system [300] is configured for synchronizing network inventory, with
the help of the interconnection between the components/units of the system [300].
30 The synchronizing is made possible through the interconnection and
communication between various components of the system [300].
22
[0071] The network inventory in managing the lifecycle of network elements,
providing visibility into the current state of the network, and supporting various
functions such as provisioning, monitoring, and auditing.
5
[0072] In operation, initially, the transceiver unit [302] may transmit a request to
an inventory manager (IM) [1050].
[0073] In an implementation of the present disclosure, the request is made to
10 retrieve current data regarding network resources such as Virtual Network
Functions (VNFs) and Container Network Functions (CNFs) managed by the
Inventory Manager (IM) (such as PVIM [1050]). The request may include queries
for lists of VNFs, CNFs, their components, and other network resources. The
transceiver unit [302] transmits the request to an IM (such as PVIM [1050]).
15
[0074] The Inventory Manager (IM) is the system for maintaining and updating the
network inventory. It serves as the central hub where all relevant information about
network resources is stored and managed. Such Inventory Manager may be
considered to be similar to the PVIM [1050] as may be understood in conjunction
20 with the FIG. 1. The IM [1050] is responsible for responding to queries and requests
from services like the MAUD, providing lists of resources like VNFs, CNFs,
VNFCs, and CNFCs.
[0075] In an example, an AU_IM interface facilitates communication between the
25 MAUD [1104] and the IM (such as PVIM [1050]).
[0076] This interface, AU_IM, is utilized to automatically synchronize the network
inventory. It ensures that the resources present at the host are in sync with the actual
infrastructure at the backend. The interface actively identifies any discrepancies
30 such as extra Virtual Network Functions (VNFs) or Containerized Network
Functions (CNFs) present at the host or running on servers. It also ensures that any
23
VNF/CNF level resource mismatches are detected and rectified, helping to maintain
consistency between the inventory and backend infrastructure. Additionally, the
interface employs an async event-based implementation to efficiently handle
operations, ensuring timely synchronization while minimizing performance
5 overhead.
[0077] The AU_IM interface can comprise at least one of HTTP and WebSocket
based connections. In an embodiment, the AU_IM interface is configured to
facilitate the exchange of information using the Hypertext Transfer Protocol
10 (HTTP) in conjunction with a RESTful Application Programming Interface (API).
Additionally, in another embodiment, the AU_IM interface may utilize the HTTP
REST API with data formats such as JSON and/or XML for structured information
exchange. In another embodiment, the AU_IM interface may be configured to
establish a WebSocket connection between the MAUD and the IM. This connection
15 enables persistent communication, allowing the MAUD to maintain a continuous
flow of information regarding inventory status and resource utilization.
[0078] Upon receiving the request, the transceiver unit [302] may receive at least
one of a list of one or more virtual network functions (VNFs) and one or more
20 container network functions (CNFs) from the PVIM [1050] based on the request.
[0079] In an implementation of the present disclosure, the VNFs are software-based
network functions that run on virtualized infrastructure instead of dedicated
hardware. The list of VNFs retrieved from the PVIM [1050] includes details about
25 the virtual network functions currently deployed and operational within the
network.
[0080] The CNFs are similar to VNFs but operate in containerized environments,
leveraging technologies like Docker or Kubernetes. The retrieved list of CNFs from
30 the PVIM [1050] includes information about container-based network functions
that are currently running within the network.
24
[0081] The retrieval of these lists allows the MAUD to compare the virtual and
containerized network functions recorded in the inventory with the actual functions
running on the backend infrastructure.
5
[0082] Following this, the retrieving unit [304] may retrieve a corresponding
containerized network function component (CNFC) list and Virtual Network
Function Components (VNFC) list from the IM.
10 [0083] In an implementation of the present disclosure, after receiving the initial list
of VNFs and CNFs from the PVIM [1050], the retrieving unit [304] of the MAUD
proceeds to retrieve more information of the components.
[0084] The CNFC list is the list of each CNF which is made up of multiple smaller
15 components called CNFCs, which represent the containerized elements that
perform tasks within the larger CNF. The CNFC list provides details about all the
individual components of each CNF that is currently running in the network.
[0085] The VNFC list similarly, each VNF consists of multiple components, known
20 as VNFCs, which represent the building blocks of the VNF. The VNFC list contains
the details of all the components within each VNF that the system [300] is
managing.
[0086] The process of retrieving CNFC and VNFC lists is an important step in
25 maintaining synchronization between the inventory and the backend infrastructure.
[0087] Initially, the MAUD [1004] sends a request through the AU_IM interface to
the inventory service to retrieve the list of CNFs across all sites. After receiving the
VNFs and CNFs from the inventory service, the auditor uses the same interface to
30 request the corresponding VNFC and CNFC for each identified CNF and VNF. The
process continues as the MAUD fetches a node list from the inventory service and
25
requests the VNFC and CNFC lists for each node. Through this systematic
communication flow, the AU_IM interface ensures real-time synchronization
between the inventory, backend infrastructure, and network functions, keeping the
resources aligned across different sites and hosts.
5
[0088] Additionally, the retrieving unit [304] may retrieve a list of servers
executing the one or more VNFs and one or more CNFs from the PVIM [1050].
[0089] In an implementation of the present disclosure, the retrieving unit [304] of
10 the MAUD extends its data collection by retrieving a list of the servers that are
executing the previously identified VNFs and CNFs from the PVIM [1050].
[0090] Continuing further, thereafter, the retrieving unit [304] may retrieve
corresponding CNFC list and VNFC list for each server of the list of servers from
15 the IM [1050].
[0091] In an implementation of the present disclosure, the list retrieved by the
MAUD includes details about which servers are responsible for executing these
network functions. This list provides a mapping between the network functions
20 (VNFs/CNFs) and the servers where they are hosted.
[0092] For example, if the inventory indicates that a specific VNF is running on
Server A, but in reality, it is running on Server B, this discrepancy may need to be
corrected to avoid resource allocation errors.
25
[0093] By retrieving the server list helps the system [300] shape a more complete
picture of the network’s resource utilization. This includes not only the VNFs/CNFs
and their components but also the servers' hardware resources (such as CPU, RAM,
and storage) being used to host these functions.
30
26
[0094] After retrieving, the comparing unit [306] may compare a set of retrieved
resources associated with the CNFC list and VNFC list and a set of actual resources
associated with the CNFC list and the VNFC list.
5 [0095] In an implementation of the present disclosure, for each server in the
previously obtained server list (which hosts the VNFs and (CNFs)), the retrieving
unit [304] gathers information about the components (CNFCs and VNFCs) running
on those servers.
10 [0096] The CNFC list provides the components of each CNF that are being
executed on a server. Each CNF may consist of multiple CNFCs, and this list
supports the system [300] to understand which components are active on which
server.
15 [0097] Similarly, the VNFC list provides details about the individual components
of each VNF running on a particular server.
[0098] In an example, the set of retrieved resources and the set of actual resources
comprises at least one of physical memory, random access memory (RAM), and
20 central processing unit (CPU).
[0099] These resources are fundamental to the operation of CNFs and VNFs. By
comparing the retrieved set of resources with the actual resources in use, the system
[300] confirms that the inventory reflects the real-time resource allocation in the
25 network.
[0100] In another example, the retrieved set of resources are received from a docker
swarm adaptor (DSA).
30 [0101] The docker swarm adaptor is a container orchestration tool used for
managing multiple docker containers across a cluster of servers. The DSA acts as
27
an intermediary that provides real-time resource usage data for CNFs deployed in
a docker container environment. The DSA facilitates communication between the
MAUD and the DSA, allowing the MAUD to retrieve the current state of resources
(such as memory and CPU usage) allocated to the CNFs running within docker
5 containers.
[0102] In yet another example, the set of actual resources are received from the list
of servers.
10 [0103] After identifying the servers executing the VNFs and CNFs, the system
[300] retrieves the actual resource utilization from each of these servers. By
comparing these actual server-side resources with the data stored in the inventory,
the system [300] confirms that the network inventory remains synchronized with
the operational state of the infrastructure.
15
[0104] Additionally, the Database unit [310] is integrated into the system [300] to
store all inventory data securely. It is important in maintaining real-time data
integrity and provides quick access to both the MAUD and the PVIM [1050].
20 [0105] Based on the comparison, an identifying unit [308] may identify one or more
discrepancies based on the comparison.
[0106] In an implementation of the present disclosure, in an implementation of the
present disclosure, the identifying unit [308] is tasked with analysing the results of
25 the earlier comparison between the set of retrieved resources and the set of actual
resources.
[0107] The discrepancies may be clear in many ways, including extra entries:
examples where the PVIM lists resources (such as VNFs, CNFs, CNFCs, or
30 VNFCs) that are not present in the actual infrastructure. For example, the PVIM
28
may indicate that a specific VNF is operational, but it is not currently running on
any server.
[0108] Next the missing entries corresponds to situations where the PVIM fails to
5 account for resources that are actually present in the network. For example, a CNF
may be running on a server, but the PVIM does not have any record of it.
[0109] Further, resource mismatches the differences in the reported resource
utilization (e.g., CPU or RAM usage) compared to what is recorded in the inventory.
10 For example, if the PVIM shows that a VNF should be utilizing 2 GB of RAM, but
the actual usage is only 1 GB, this would indicate a mismatch.
[0110] By identifying these discrepancies, the identifying unit [308] in maintaining
the integrity and accuracy of the network inventory.
15
[0111] In an example, the one or more discrepancies comprise at least one of extra
entry of at least one of CNF, VNF, CNFC, VNFC entry in the PVIM and missing
entry of at least one of CNF, VNF, CNFC, VNFC entry in the IM.
20 [0112] In another example, remediating the network inventory comprises at least
one of deleting extra entry of at least one of CNF, VNF, CNFC, VNFC, adding
missing entry of at least one of CNF, VNF, CNFC, VNFC and synchronising the
retrieved set of resources.
25 [0113] The remediating the network inventory involves addressing discrepancies
between the actual state of network resources and the inventory managed by the
IM.
[0114] The deleting extra entries refers to removing any unnecessary records from
30 the inventory. For example, if the inventory lists a CNF, VNF, or their components
29
(CNFC, VNFC) that are no longer active or do not exist on the backend
infrastructure, the system [300] delete these entries from the IM.
[0115] In case of adding missing entries where certain CNF, VNF, CNFC, or VNFC
5 entries are present in the backend infrastructure but missing from the inventory, the
system [300] add these entries to the IM.
[0116] The synchronizing of the retrieved set of resources refers to aligning the
data retrieved from the actual network infrastructure (such as servers or other
10 backend resources) with the data present in the inventory.
[0117] Upon identification, the transceiver unit [302], further sends an update to
the PVIM to remediate the identified one or more discrepancies.
15 [0118] Once discrepancies are identified, the transceiver unit [302] takes action by
sending an update to the IM. The update process may involve actions, including
correcting extra entries by removing any unnecessary or incorrect entries from the
PVIM that do not correspond to actual resources in the network.
20 [0119] By adding missing entries to updating the PVIM to include any resources
that are present in the network but not recorded.
[0120] The synchronizing resource data is to update the PVIM with the correct
resource utilization information (such as RAM and CPU usage) for each VNF and
25 CNF. This helps align the inventory with the actual performance and resource
consumption of network functions.
[0121] By sending these updates to the IM, the transceiver unit [302] helps to
maintain synchronization between the inventory and the actual operational state of
30 the network, minimizing the risk of discrepancies in the future.
30
[0122] In an example, sending the update to the PVIM is performed periodically
after a predefined time period. In another example, periodically sending the update
is performed utilising the REST application programming interface (API).
5 [0123] The process of sending updates to the PVIM is described as occurring
periodically after a predefined time period.
[0124] Instead of only sending updates when discrepancies are identified, the
system [300] is designed to send updates at regular intervals. This means that even
10 if no discrepancies are found, the system [300] still actively communicates with the
IM. The length of time between these updates can be configured based on
operational requirements.
[0125] For example, updates may be sent every minute, every hour, or at any other
15 interval that aligns with the needs of the network management strategy.
[0126] It is noted that the periodic sending of updates to the PVIM is performed
using a REST (Representational State Transfer) application programming interface
(API). Rest API is a widely used architectural style for designing networked
20 applications. It relies on standard HTTP methods (like GET, POST, PUT, DELETE)
to enable communication between client and server. The MAUD interacts with the
PVIM through a REST API.
[0127] FIG. 4 illustrates an exemplary system architecture [400] for synchronizing
25 network inventory, in accordance with exemplary implementations of the present
disclosure. As shown in FIG. 4, the MANO architecture [100] comprises at least
one PVIM [1050], at least one MAUD [1104], and at least one database [310]. The
AU_IM interface between the MAUD [1104] and the PVIM [1050]. The AU_IM
interface facilitates communication between the MAUD [300A] and the PVIM
30 [1050].
31
[0128] The MAUD [1104] is configured to transmit a request to an inventory
manager (IM) (such as PVIM [1050]). The request may be for syncing for
identifying one or more discrepancies. The MAUD [1104] may further be
configured to receive at least one of a list of one or more virtual network functions
5 (VNFs) and one or more container network functions (CNFs) from the PVIM
[1050] based on the request. The MAUD [1104] may be further configured to
retrieve a corresponding containerized network function component (CNFC) list
and Virtual Network Function Components (VNFC) list from the PVIM [1050].
The MAUD [1104] is further configured to retrieve a list of servers executing the
10 one or more VNFs and one or more CNFs from the PVIM [1050]. The MAUD
[1104] further configured to retrieve corresponding CNFC list and VNFC list for
each server of the list of servers from the PVIM [1050].
[0129] The MAUD [1104] is further configured to compare a set of retrieved
15 resources associated with the CNFC list and VNFC list and a set of actual resources
associated with the CNFC list and the VNFC list. The retrieved set of resources are
received from a docker swarm adaptor (DSA). The set of actual resources are
received from the list of servers. In an exemplary aspect, the set of retrieved
resources and the set of actual resources comprises at least one of physical memory,
20 random access memory (RAM), and central processing unit (CPU).
[0130] The MAUD [1104] is further configured to identify one or more
discrepancies based on the comparison. The one or more discrepancies comprise at
least one of extra entry of at least one of CNF, VNF, CNFC, VNFC entry in the
25 PVIM [1050]; missing entry of at least one of CNF, VNF, CNFC, VNFC entry in
the PVIM [1050].
[0131] Thereafter, the MAUD [1104] is further configured to send an update to the
PVIM [1050] for remediating the identified one or more discrepancies. The sending
30 the update to the PVIM [1050] is performed periodically after a predefined time
period. The periodically sending the update is performed utilising REST application
32
programming interface (API). The remediating the network inventory comprises at
least one of deleting extra entry of at least one of CNF, VNF, CNFC, VNFC; adding
missing entry of at least one of CNF, VNF, CNFC, VNFC; and synchronising the
retrieved set of resources.
5
[0132] Referring to FIG. 5, an exemplary method [500] flow diagram for
synchronizing network inventory, in accordance with exemplary implementations
of the present disclosure is shown. In an implementation the method [500] is
performed by the system [300]. Further, in an implementation, the system [300]
10 may be present in a server device to implement the features of the present
disclosure. Also, as shown in FIG. 5, the method [500] starts at step [502].
[0133] At step 504, In operation, initially, the transceiver unit [302] may transmit
a request to an inventory manager (IM) [1050].
15
[0134] In an implementation of the present disclosure, the request is made to
retrieve current data regarding network resources such as Virtual Network
Functions (VNFs) and Container Network Functions (CNFs) managed by the PVIM
[1050]. The request may include queries for lists of VNFs, CNFs, their components,
20 and other network resources. The transceiver unit [302] transmits this request to the
PVIM [1050].
[0135] The Inventory Manager (IM) is the system for maintaining and updating the
network inventory. It serves as the central hub where all relevant information about
25 network resources is stored and managed. Such Inventory Manager may be
considered to be similar to the PVIM [1050] as may be understood in conjunction
with the FIG. 1. The PVIM [1050] is responsible for responding to queries and
requests from services like the MAUD, providing lists of resources like VNFs,
CNFs, VNFCs, and CNFCs.
30
33
[0136] At step 506, Upon receiving the request, the transceiver unit [302] may
receive at least one of a list of one or more virtual network functions (VNFs) and
one or more container network functions (CNFs) from the PVIM based on the
request.
5
[0137] In an implementation of the present disclosure, the VNFs are software-based
network functions that run on virtualized infrastructure instead of dedicated
hardware. The list of VNFs retrieved from the PVIM [1050] includes details about
the virtual network functions currently deployed and operational within the
10 network.
[0138] The CNFs are similar to VNFs but operate in containerized environments,
leveraging technologies like Docker or Kubernetes. The retrieved list of CNFs from
the PVIM [1050] includes information about container-based network functions
15 that are currently running within the network.
[0139] The retrieval of these lists allows the MAUD to compare the virtual and
containerized network functions recorded in the inventory with the actual functions
running on the backend infrastructure.
20
[0140] At step 508, Following this, the retrieving unit [304] may retrieve a
corresponding containerized network function component (CNFC) list and Virtual
Network Function Components (VNFC) list from the IM.
25 [0141] In an implementation of the present disclosure, after receiving the initial list
of VNFs and CNFs from the PVIM [1050], the retrieving unit [304] of the MAUD
proceeds to retrieve more information of the components.
[0142] The CNFC list is the list of each CNF which is made up of multiple smaller
30 components called CNFCs, which represent the containerized elements that
34
perform tasks within the larger CNF. The CNFC list provides details about all the
individual components of each CNF that is currently running in the network.
[0143] The VNFC list similarly, each VNF consists of multiple components, known
5 as VNFCs, which represent the building blocks of the VNF. The VNFC list contains
the details of all the components within each VNF that the system [300] is
managing.
[0144] The process of retrieving CNFC and VNFC lists is an important step in
10 maintaining synchronization between the inventory and the backend infrastructure.
[0145] At step 510, Additionally, the retrieving unit [304] may retrieve a list of
servers executing the one or more VNFs and one or more CNFs from the PVIM
[1050].
15
[0146] In an implementation of the present disclosure, the retrieving unit [304] of
the MAUD extends its data collection by retrieving a list of the servers that are
executing the previously identified VNFs and CNFs from the PVIM [1050].
20 [0147] At step 512, Continuing further, thereafter, the retrieving unit [304] may
retrieve corresponding CNFC list and VNFC list for each server of the list of servers
from the IM [1050].
[0148] In an implementation of the present disclosure, the list retrieved by the
25 MAUD includes details about which servers are responsible for executing these
network functions. This list provides a mapping between the network functions
(VNFs/CNFs) and the servers where they are hosted.
[0149] For example, if the inventory indicates that a specific VNF is running on
30 Server A, but in reality, it is running on Server B, this discrepancy may need to be
corrected to avoid resource allocation errors.
35
[0150] By retrieving the server list helps the system [300] shape a more complete
picture of the network’s resource utilization. This includes not only the VNFs/CNFs
and their components but also the servers' hardware resources (such as CPU, RAM,
5 and storage) being used to host these functions.
[0151] At step 514, After retrieving, the comparing unit [306] may compare a set
of retrieved resources associated with the CNFC list and VNFC list and a set of
actual resources associated with the CNFC list and the VNFC list.
10
[0152] In an implementation of the present disclosure, for each server in the
previously obtained server list (which hosts the VNFs and (CNFs)), the retrieving
unit [304] gathers information about the components (CNFCs and VNFCs) running
on those servers.
15
[0153] The CNFC list provides the components of each CNF that are being
executed on a server. Each CNF may consist of multiple CNFCs, and this list
supports the system [300] to understand which components are active on which
server.
20
[0154] Similarly, the VNFC list provides details about the individual components
of each VNF running on a particular server.
[0155] In an example, the set of retrieved resources and the set of actual resources
25 comprises at least one of physical memory, random access memory (RAM), and
central processing unit (CPU).
[0156] These resources are fundamental to the operation of CNFs and VNFs. By
comparing the retrieved set of resources with the actual resources in use, the system
30 [300] confirms that the inventory reflects the real-time resource allocation in the
network,
36
[0157] In another example, the retrieved set of resources are received from a docker
swarm adaptor (DSA).
5 [0158] The docker swarm adaptor is a container orchestration tool used for
managing multiple docker containers across a cluster of servers. The DSA acts as
an intermediary that provides real-time resource usage data for CNFs deployed in
a docker container environment. The DSA facilitates communication between the
MAUD [1104] and the DSA, allowing the MAUD [1104] to retrieve the current
10 state of resources (such as memory and CPU usage) allocated to the CNFs running
within docker containers.
[0159] In yet another example, the set of actual resources are received from the list
of servers.
15
[0160] After identifying the servers executing the VNFs and CNFs, the system
[300] retrieves the actual resource utilization from each of these servers. By
comparing these actual server-side resources with the data stored in the inventory,
the system [300] confirms that the network inventory remains synchronized with
20 the operational state of the infrastructure.
[0161] Additionally, the Database unit [310] is integrated into the system [300] to
store all inventory data securely. It is important in maintaining real-time data
integrity and provides quick access to both the MAUD [1104] and the PVIM [1050].
25
[0162] At step 516, Based on the comparison, an identifying unit [308] may
identify one or more discrepancies based on the comparison.
[0163] In an implementation of the present disclosure, the identifying unit [308] is
30 tasked with analysing the results of the earlier comparison between the set of
retrieved resources and the set of actual resources.
37
[0164] The discrepancies may be clear in many ways, including extra entries:
examples where the PVIM lists resources (such as VNFs, CNFs, CNFCs, or
VNFCs) that are not present in the actual infrastructure. For example, the PVIM
5 may indicate that a specific VNF is operational, but it is not currently running on
any server.
[0165] Next the missing entries corresponds to situations where the PVIM fails to
account for resources that are actually present in the network. For example, a CNF
10 may be running on a server, but the PVIM [1050] does not have any record of it.
[0166] Further, resource mismatches the differences in the reported resource
utilization (e.g., CPU or RAM usage) compared to what is recorded in the inventory.
For example, if the PVIM shows that a VNF should be utilizing 2 GB of RAM, but
15 the actual usage is only 1 GB, this would indicate a mismatch.
[0167] By identifying these discrepancies, the identifying unit [308] in maintaining
the integrity and accuracy of the network inventory.
20 [0168] In an example, the one or more discrepancies comprise at least one of extra
entry of at least one of CNF, VNF, CNFC, VNFC entry in the PVIM [1050] and
missing entry of at least one of CNF, VNF, CNFC, VNFC entry in the PVIM [1050].
In another example, remediating the network inventory comprises at least one of
deleting extra entry of at least one of CNF, VNF, CNFC, VNFC, adding missing
25 entry of at least one of CNF, VNF, CNFC, VNFC and synchronising the retrieved
set of resources.
[0169] The remediating the network inventory involves addressing discrepancies
between the actual state of network resources and the inventory managed by the
30 PVIM [1050].
38
[0170] The deleting extra entries refers to removing any unnecessary records from
the inventory. For example, if the inventory lists a CNF, VNF, or their components
(CNFC, VNFC) that are no longer active or do not exist on the backend
infrastructure, the system [300] delete these entries from the PVIM [1050].
5
[0171] In case the adding missing entries where certain CNF, VNF, CNFC, or
VNFC entries are present in the backend infrastructure but missing from the
inventory, the system [300] adds these entries to the PVIM [1050].
10 [0172] The synchronizing of the retrieved set of resources refers to aligning the
data retrieved from the actual network infrastructure (such as servers or other
backend resources) with the data present in the inventory.
[0173] At step 518, Upon identification, the transceiver unit [302], further sends
15 an update to the PVIM to remediate the identified one or more discrepancies.
[0174] Once discrepancies are identified, the transceiver unit [302] takes action by
sending an update to the PVIM [1050]. The update process may involve actions,
including correcting extra entries by removing any unnecessary or incorrect entries
20 from the PVIM that do not correspond to actual resources in the network.
[0175] By adding missing entries to updating the PVIM [1050] to include any
resources that are present in the network but not recorded.
25 [0176] The synchronizing resource data is to update the PVIM [1050] with the
correct resource utilization information (such as RAM and CPU usage) for each
VNF and CNF. This helps align the inventory with the actual performance and
resource consumption of network functions.
39
[0177] By sending these updates to the IM, the transceiver unit [302] helps to
maintain synchronization between the inventory and the actual operational state of
the network, minimizing the risk of discrepancies in the future.
5 [0178] In an example, the sending of the update to the PVIM [1050] is performed
periodically after a predefined time period. In another example, periodically
sending the update is performed utilising the REST application programming
interface (API).
10 [0179] The process of sending updates to the PVIM [1050] is described as
occurring periodically after a predefined time period.
[0180] Instead of only sending updates when discrepancies are identified, the
system [300] is designed to send updates at regular intervals. This means that even
15 if no discrepancies are found, the system [300] still actively communicates with the
PVIM [1050]. The length of time between these updates can be configured based
on operational requirements.
[0181] It is noted that the periodic sending of updates to the PVIM [1050] is
20 performed using a REST (Representational State Transfer) application
programming interface (API). Rest API is a widely used architectural style for
designing networked applications. It relies on standard HTTP methods (like GET,
POST, PUT, DELETE) to enable communication between client and server. The
MAUD [1104] interacts with the PVIM [1050] through a REST API.
25
[0182] Thereafter, the method terminates at step [520].
[0183] Referring to FIG. 6 illustrates a flow diagram [600] for synchronizing
network inventory, in accordance with exemplary implementations of the present
30 disclosure.
40
[0184] At step S1: The MAUD [1104] initiates the process.
[0185] At step S2: The MAUD [1104] sends a request to the Private Virtual
Infrastructure Manager (PVIM) [1050] to retrieve a list of all Containerized
5 Network Functions (CNFs) available in the network infrastructure. This request
may be facilitated through the AU_IM interface, which provides communication
between the MAUD [1104] and the Inventory Manager (IM) [1050].
[0186] At step S3: For each CNF retrieved, the MAUD [1104] sends an additional
10 request to the PVIM [1050] to obtain the corresponding Containerized Network
Function Components (CNFC) list.
[0187] At step S4: Following this, the MAUD [1104] retrieves the Node List (i.e.,
server) from the PVIM [1050], representing the servers or nodes where the CNFs
15 are running. The node list serves as a mapping to identify the physical infrastructure
supporting the CNFs and CNFCs.
[0188] At step S5: For each node in the list, the MAUD [1104] sends another
request to the PVIM to fetch the corresponding CNFC list by Node ID. This list
20 helps the MAUD determine which specific CNFCs are active on each server.
[0189] After gathering this data, the MAUD [1104] performs two key operations
such as step S6 and step S7.
25 [0190] At step S6: The MAUD [1104] compares the CNFC list retrieved from the
PVIM with the data in the Inventory Manager's database. If extra CNFCs are found
(i.e., CNFCs that are listed in the database but are no longer active in the
infrastructure), the MAUD [1104] deletes the outdated data from the inventory.
30 [0191] At step S7: The MAUD [1104] checks for resource mismatches between the
inventory data and the real-time infrastructure. If discrepancies in resource
41
allocation (e.g., CPU, RAM, storage) are found, the MAUD [1104] updates the
inventory with the correct details.
[0192] Thereafter, the process terminates at step [S8].
5
[0193] The present disclosure further discloses a non-transitory computer readable
storage medium storing instructions for synchronizing network inventory, the
instructions include executable code which, when executed by one or more units of
a system, causes: a transceiver unit [302] to transmit a request to an inventory
10 manager (IM). Further, the instructions include executable code which, when
executed causes the transceiver unit [302] to receive at least one of a list of one or
more virtual network functions (VNFs) and one or more container network
functions (CNFs) from the IM based on the request. Further, the instructions include
executable code which, when executed causes a retrieving unit [304] to retrieve a
15 corresponding containerized network function component (CNFC) list and Virtual
Network Function Components (VNFC) list from the IM. Further, the instructions
include executable code which, when executed causes the retrieving unit [304] to
retrieve a list of servers executing the one or more VNFs and one or more CNFs
from the IM. Further, the instructions include executable code which, when
20 executed causes the retrieving unit [304] to retrieve corresponding CNFC list and
VNFC list for each server of the list of servers from the IM. Further, the instructions
include executable code which, when executed causes a comparing unit [306]
compare a set of retrieved resources associated with the CNFC list and VNFC list
and a set of actual resources associated with the CNFC list and the VNFC list.
25 Further, the instructions include executable code which, when executed causes an
identifying unit [308] identify one or more discrepancies based on the comparison.
Further, the instructions include executable code which, when executed causes the
transceiver unit [302] further to send an update to the IM to remediate the identified
one or more discrepancies.
30
42
[0194] As is evident from the above, the present disclosure provides a technically
advanced solution for synchronizing network inventory. The present solution
automates the process of updating and maintaining accurate inventory data across
multiple network components, reducing the likelihood of human error, and ensuring
5 real-time accuracy. It enables seamless communication between different network
elements, ensuring that any changes or updates in the inventory are instantly
reflected across the system. Furthermore, the solution is scalable, meaning it can
adapt to both small and large networks, making it suitable for a wide range of
applications. This ensures more efficient network management and reduces
10 downtime due to mismatched or outdated inventory data.
[0195] While considerable emphasis has been placed herein on the disclosed
implementations, it will be appreciated that many implementations can be made and
that many changes can be made to the implementations without departing from the
15 principles of the present disclosure. These and other changes in the implementations
of the present disclosure will be apparent to those skilled in the art, whereby it is to
be understood that the foregoing descriptive matter to be implemented is illustrative
and non-limiting.
20 [0196] 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
25 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.
30
43
We Claim:
1. A method for synchronizing network inventory, the method comprising:
transmitting, by a transceiver unit [302] at a microservice auditor (MAUD) [300A],
a request to an inventory manager (IM);
5 receiving, by the transceiver unit [302], at least one of a list of one or more virtual
network functions (VNFs) and one or more container network functions (CNFs)
from the IM based on the request;
retrieving, by a retrieving unit [304], at the MAUD [300A], a corresponding
containerized network function component (CNFC) list and Virtual Network
10 Function Components (VNFC) list from the IM;
retrieving, by the retrieving unit [304], a list of servers executing the one or more
VNFs and one or more CNFs from the IM;
retrieving, by the retrieving unit [304], corresponding CNFC list and VNFC list for
each server of the list of servers from the IM;
15 comparing, by a comparing unit [306], a set of retrieved resources associated with
the CNFC list and VNFC list and a set of actual resources associated with the CNFC
list and the VNFC list;
identifying, by an identifying unit [308], one or more discrepancies based on the
comparison; and
20 sending, by the transceiver unit [302], an update to the IM for remediating the
identified one or more discrepancies.
2. The method as claimed in claim 1, wherein the one or more discrepancies
comprise at least one of:
25 extra entry of at least one of CNF, VNF, CNFC, VNFC entry in the IM; and
missing entry of at least one of CNF, VNF, CNFC, VNFC entry in the IM.
3. The method as claimed in claim 1, wherein the sending the update to the IM
is performed periodically after a predefined time period.
44
4. The method as claimed in claim 3, wherein the periodically sending the
update is performed utilising REST application programming interface (API).
5 5. The method as claimed in claim 1, wherein remediating the network
inventory comprises at least one of:
deleting extra entry of at least one of CNF, VNF, CNFC, VNFC;
adding missing entry of at least one of CNF, VNF, CNFC, VNFC; and
synchronising the retrieved set of resources.
10
6. The method as claimed in claim 1, wherein an AU_IM interface facilitates
communication between the MAUD [1104] and the IM.
7. The method as claimed in claim 1, wherein the set of retrieved resources
15 and the set of actual resources comprises at least one of physical memory, random
access memory (RAM), and central processing unit (CPU).
8. The method as claimed in claim 1, wherein the retrieved set of resources are
received from a docker swarm adaptor (DSA).
20
9. The method as claimed in claim 1, wherein the set of actual resources are
received from the list of servers.
10. A system for synchronizing network inventory, the system comprising:
25 a microservice auditor (MAUD) [300A] comprising:
a transceiver unit [302], configured to:
45
transmit a request to an inventory manager (IM);
receive at least one of a list of one or more virtual network functions (VNFs) and
one or more container network functions (CNFs) from the IM based on the request;
a retrieving unit [304], configured to:
5 retrieve a corresponding containerized network function component (CNFC) list
and Virtual Network Function Components (VNFC) list from the IM;
retrieve a list of servers executing the one or more VNFs and one or more CNFs
from the IM;
retrieve corresponding CNFC list and VNFC list for each server of the list of servers
10 from the IM;
a comparing unit [306], configured to compare a set of retrieved resources
associated with the CNFC list and VNFC list and a set of actual resources associated
with the CNFC list and the VNFC list;
an identifying unit [308], configured to identify one or more discrepancies based
15 on the comparison; and
the transceiver unit [302], further configured to send an update to the IM for
remediating the identified one or more discrepancies.
11. The system as claimed in claim 10, wherein the one or more discrepancies
20 comprise at least one of:
extra entry of at least one of CNF, VNF, CNFC, VNFC entry in the IM;
missing entry of at least one of CNF, VNF, CNFC, VNFC entry in the IM.
12. The system as claimed in claim 10, wherein the sending the update to the
25 IM is performed periodically after a predefined time period.
46
13. The system as claimed in claim 12, wherein the periodically sending the
update is performed utilising REST application programming interface (API).
14. The system as claimed in claim 10, wherein remediating the network
5 inventory comprises at least one of:
deleting extra entry of at least one of CNF, VNF, CNFC, VNFC;
adding missing entry of at least one of CNF, VNF, CNFC, VNFC; and
synchronising the retrieved set of resources.
10 15. The system as claimed in claim 10, wherein an AU_IM interface facilitates
communication between the MAUD [300A] and the IM.
16. The system as claimed in claim 10, wherein the set of retrieved resources
and the set of actual resources comprises at least one of physical memory, random
15 access memory (RAM), and central processing unit (CPU).
17. The system as claimed in claim 10, wherein the retrieved set of resources
are received from a docker swarm adaptor (DSA).
20 18. The system as claimed in claim 10, wherein the set of actual resources are
received from the list of servers.
| # | Name | Date |
|---|---|---|
| 1 | 202321066605-STATEMENT OF UNDERTAKING (FORM 3) [04-10-2023(online)].pdf | 2023-10-04 |
| 2 | 202321066605-PROVISIONAL SPECIFICATION [04-10-2023(online)].pdf | 2023-10-04 |
| 3 | 202321066605-POWER OF AUTHORITY [04-10-2023(online)].pdf | 2023-10-04 |
| 4 | 202321066605-FORM 1 [04-10-2023(online)].pdf | 2023-10-04 |
| 5 | 202321066605-FIGURE OF ABSTRACT [04-10-2023(online)].pdf | 2023-10-04 |
| 6 | 202321066605-DRAWINGS [04-10-2023(online)].pdf | 2023-10-04 |
| 7 | 202321066605-Proof of Right [07-02-2024(online)].pdf | 2024-02-07 |
| 8 | 202321066605-FORM-5 [04-10-2024(online)].pdf | 2024-10-04 |
| 9 | 202321066605-ENDORSEMENT BY INVENTORS [04-10-2024(online)].pdf | 2024-10-04 |
| 10 | 202321066605-DRAWING [04-10-2024(online)].pdf | 2024-10-04 |
| 11 | 202321066605-CORRESPONDENCE-OTHERS [04-10-2024(online)].pdf | 2024-10-04 |
| 12 | 202321066605-COMPLETE SPECIFICATION [04-10-2024(online)].pdf | 2024-10-04 |
| 13 | 202321066605-FORM 3 [08-10-2024(online)].pdf | 2024-10-08 |
| 14 | 202321066605-Request Letter-Correspondence [24-10-2024(online)].pdf | 2024-10-24 |
| 15 | 202321066605-Power of Attorney [24-10-2024(online)].pdf | 2024-10-24 |
| 16 | 202321066605-Form 1 (Submitted on date of filing) [24-10-2024(online)].pdf | 2024-10-24 |
| 17 | 202321066605-Covering Letter [24-10-2024(online)].pdf | 2024-10-24 |
| 18 | 202321066605-CERTIFIED COPIES TRANSMISSION TO IB [24-10-2024(online)].pdf | 2024-10-24 |
| 19 | Abstract.jpg | 2024-12-04 |
| 20 | 202321066605-ORIGINAL UR 6(1A) FORM 1 & 26-060125.pdf | 2025-01-10 |