Abstract: ABSTRACT SYSTEM AND METHOD FOR MANAGING DATA IN AN INVENTORY The present invention relates to a system (108) and a method (600) for managing data in an inventory (110). The method (600) includes step of receiving, a request from a Virtual Network Function Component (VNFC) for retrieving details pertaining to a plurality of Virtual Inventory Managers (VIMs) (114) present at the inventory (110). Thereafter, identifying a requirement for instantiation of the one or more Virtual Network Function (VNFs) and the associated VNFC based on the retrieved details of the plurality of VIMs (114). Upon detecting the requirement for instantiation of the one or more VNFs, the method (600) further includes the step of selecting at least one VIM (114) from the plurality of VIMs (114) for instantiation of the one or more VNFs. Upon instantiation of the one or more VNFs at the selected VIM (114), updating the inventory (110) with the instantiated one or more VNFs and the associated VNFC. Ref. Fig. 2a
DESC:S
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
SYSTEM AND METHOD FOR MANAGING DATA IN AN INVENTORY
2. APPLICANT(S)
NAME NATIONALITY ADDRESS
JIO PLATFORMS LIMITED INDIAN OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD 380006, GUJARAT, INDIA
3.PREAMBLE TO THE DESCRIPTION
THE FOLLOWING SPECIFICATION PARTICULARLY DESCRIBES THE NATURE OF THIS INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.
FIELD OF THE INVENTION
[0001] The present invention relates to the field of wireless communication systems, more particularly relates to a method and a system for managing data in an inventory.
BACKGROUND OF THE INVENTION
[0002] With increase in number of users, a communication network is rapidly evolving to accommodate the surge of request commands and improve user experience. A communication network comprises of many network elements which are configured to operate in specific manners to improve credibility of the communication network. The network incorporate inventories to safe-keep resources and mechanism to efficiently distribute resources to all NFs (Network Functions) in the network so as to process the service requests. Inventory Management (IM) service maintains the virtual inventory and limited physical inventory. It maintains relation between physical and virtual resources with respect to overlay to manage storage memory allocation. Also, it describes physical and virtual resources in view of different attributes using updates from external micro-service. Thus, data accuracy of the inventory management service is dependent upon on the micro-services which create, update, delete these resources and at the same time update these events with IM. Other services can query IM relations, attributes etc. using Query APIs (Application Programming Interface) provided by IM. For capturing information like vendor details, VNF’s and its associated VNF components via request commands like ‘Create’, ‘Read’, and ‘Update’, by means of various APIs exposed by the VNFC service itself. The captured details are also stored by inventory service and can be further used by micro services.
[0003] However, the vender details, data related to VNFC and centralized inventory wherein VNFC data access is only for user and operational purpose. Thus, proper resource inventory management and real time communication with other MS (micro-service) is not possible for VNFC which is purely configured to comply with all create, update, get and delete operations. Presently, there is no dedicated mechanism available for capturing the vender details in hierarchical representation.
[0004] Therefore, there is a need to introduce a system and a method to capture vender details by means of a dedicated interface so that a network component executed micro-service can be operated with ease.
SUMMARY OF THE INVENTION
[0005] One or more embodiments of the present disclosure provides a method and a system for managing data in an inventory.
[0006] In one aspect of the present invention, the method for managing the data in the inventory is disclosed. The method includes the step of receiving, by one or more processors, a request from a Virtual Network Function Component (VNFC) for retrieving details pertaining to a plurality of Virtual Inventory Managers (VIMs) present at the inventory. The method further includes the step of identifying, by the one or more processors, a requirement for instantiation of the one or more Virtual Network Function (VNFs) and the associated VNFC based on the retrieved details of the plurality of VIMs. Upon detecting the requirement for instantiation of the one or more VNFs, the method further includes the step of selecting, by the one or more processors, at least one VIM from the plurality of VIMs for instantiation of the one or more VNFs. Upon instantiation of the one or more VNFs at the selected VIM, the method further includes the step of updating, by the one or more processors, the inventory with the instantiated one or more VNFs and the associated VNFC.
[0007] In another embodiment, the one or more processors, utilizing an interface unit, creates a communication channel between the VNFC and the inventory for at least one of, updating, receiving, transmitting, deleting, creating information pertaining to the VIMs.
[0008] In yet another embodiment, the communication channel is at least one of, one or more Application Programming Interfaces (APIs) and one or more communication interfaces, which is an interface between the VNFC and the inventory.
[0009] In yet another embodiment, the requirement for instantiation of the one or more VNFs and the associated VNFC are identified by the one or more processors by utilizing the one or more (APIs), the APIs are utilized to create, read, and update details of the VIMs, the one or more VNFs and the associated VNFC.
[0010] In yet another embodiment, the step of identifying, the requirement for instantiation of the one or more VNFs and the associated VNFC based on the retrieved details of the plurality of VIMs, includes steps of, determining, by the one or more processors, utilizing the APIs, the load on the one or more VNFs. In response to determining, if the load on the one or more VNFs is breaching a predefined threshold, inferring, by the one or more processors, the requirement for instantiation of the one or more VNFs and the associated VNFC.
[0011] In yet another embodiment, the step of selecting at least one VIM from the plurality of VIMs for instantiation of the VNF, includes the steps of identifying, by the one or more processors, the at least one VIM which is in an active and working condition.
[0012] In yet another embodiment, the step of, updating, the inventory with the instantiated VNF and the associated VNFC, further includes the step of transmitting, by the one or more processors, the data in the inventory to a one or more service instances when a request is received from the respective one or more service instances, wherein the request is at least one of, a Hypertext Transfer Protocol (HTTP) request.
[0013] In yet another embodiment, the interface unit includes an Inventory Manager_ VNFC (IM_VC) interface.
[0014] In yet another embodiment, the interface unit engages a next available inventory instance in a high availability mode when a current inventory instance is down.
[0015] In another aspect of the present invention, the system for managing the data in the inventory is disclosed. The system includes a receiving unit, configured to receive, a request from a Virtual Network Function Component (VNFC) for retrieving details pertaining to a plurality of Virtual Inventory Managers (VIMs) present at the inventory. The system further includes an identification unit, configured to identify, a requirement for instantiation of the one or more Virtual Network Function (VNFs) and the associated VNFC based on the retrieved details of the plurality of VIMs. Upon detecting the requirement for instantiation of the one or more VNFs, the system further includes a selection unit, configured to, select, at least one VIM from the plurality of VIMs for instantiation of the one or more VNFs. Upon instantiation of the one or more VNFs at the selected VIM, the system further includes an updating unit, configured to update the inventory with the instantiated one or more VNFs and the associated VNFC.
[0016] In yet another aspect of the present invention, a non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a processor. The processor is configured to receive a request from a Virtual Network Function Component (VNFC) for retrieving details pertaining to a plurality of Virtual Inventory Managers (VIMs) present at the inventory. The processor is further configured to identify a requirement for instantiation of the one or more Virtual Network Function (VNFs) and the associated VNFC based on the retrieved details of the plurality of VIMs. Upon detecting the requirement for instantiation of the one or more VNFs, the processor is further configured to select at least one VIM from the plurality of VIMs for instantiation of the one or more VNFs. Upon instantiation of the one or more VNFs at the selected VIM, the processor is further configured to process, update, the inventory with the instantiated one or more VNFs and the associated VNFC.
[0017] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0019] FIG. 1 is an exemplary block diagram of an environment for managing the data in an inventory, according to one or more embodiments of the present invention;
[0020] FIG. 2a is an exemplary block diagram of a system for managing the data in the inventory, according to one or more embodiments of the present invention;
[0021] FIG. 2b illustrates an architecture framework (eg., MANO architecture framework) in which the present invention can be implemented;
[0022] FIG. 3 is an exemplary architecture of the system of FIG. 2a, according to one or more embodiments of the present invention;
[0023] FIG. 4 is an exemplary architecture for managing the data in the inventory, according to one or more embodiments of the present disclosure;
[0024] FIG. 5 is an exemplary signal flow diagram illustrating the flow for managing the data in the inventory, according to one or more embodiments of the present disclosure; and
[0025] FIG. 6 is a flow diagram of a method for managing the data in the inventory, according to one or more embodiments of the present invention.
[0026] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0027] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0028] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0029] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0030] Various embodiments of the present invention provide a system and a method to for managing data in an inventory based on a request command from various one or more service instances to the inventory in a network to achieve optimum and efficient time and data management by using a dedicated interface. The present system performs the required activities of an inventory manager so as to provide improved access to inventory data, more specifically data related to Virtual Network Function Components (VNFC) and a vendors list for various Virtual Network Functions (VNFs) when requested by any ongoing one or more service instances.
[0031] Referring to FIG. 1, FIG. 1 illustrates an exemplary block diagram of an environment 100 for managing data in an inventory 110, according to one or more embodiments of the present invention. The environment 100 includes a User Equipment (UE) 102, a server 104, a network 106, a system 108 and the inventory 110. Herin, the managing the inventory pertains to at least one of, but not limited to, a retrieving, an adding, an updating, a creating, and deleting data within the inventory 110 by means of a dedicated interface.
[0032] In one embodiment, the inventory 110 includes at least one of, but not limited to, a plurality of Virtual Inventory Managers (VIMs) 114 and a plurality of Physical Virtual Inventory Managers (PVIMs) 112. Hereinafter, the plurality of Virtual Inventory Managers (VIMs) 114 may be referred as the VIM 114 and the plurality of Physical Virtual Inventory Managers (PVIMs) 112 may be referred as the PVIM 112.
[0033] In one embodiment, VIM 114 is a component responsible for a process of evaluating, tracking and managing an accurate list of services, equipment’s and related resources used within the network 106. In one embodiment, the VIM 114 typically refers to a system or software designed to manage and oversee inventory 110 operations through digital means. For example, the VIM 114 helps businesses handle their inventory 110 more effectively without the need for physical tracking or manual processes.
[0034] In one embodiment, the PVIM 112 is a component responsible for maintaining and managing the inventory 110 of both physical and virtual network resources. The PVIM 112 is a hybrid concept that combines aspects of physical inventory management with virtual or digital tools. The PVIM 112 focuses on managing both physical stock and virtual data related to inventory 110. The physical and virtual network resources refer to tangible and intangible components that make up a network infrastructure, providing connectivity and communication capabilities. The physical network resources include, but are not limited to, routers and switches, cables and fiber optics, servers, base stations, data centers. The virtual network resources include, but are not limited to, virtual machines, virtual network functions, cloud-based services, network slices. In one embodiment, the PVIM 112 manages, updates, creates and removes any physical or virtual or graphical or indexing data stored in the inventory 110.
[0035] In one embodiment, the inventory 110 further includes at least one of, a database 116. In an alternate embodiment, the inventory 110 includes one or more databases 116. The database 116 is one of, but not limited to, a centralized database, a cloud-based database, a commercial database, an open-source database, a distributed database, an index database, a virtual database an end-user database, a graphical database, a No-Structured Query Language (NoSQL) database, an object-oriented database, a personal database, an in-memory database, a document-based database, a time series database, a wide column database, a key value database, a search database, a cache databases, and so forth. The foregoing examples of storage unit 206 types are non-limiting and may not be mutually exclusive e.g., the database can be both commercial and cloud-based, or both relational and open-source, etc. In one embodiment, the VIM 114 and the PVIM 112 work closely with the database 116 which stores various information and data in the network 106.
[0036] For the purpose of description and explanation, the description will be explained with respect to one or more user equipment’s (UEs) 102 of a third party, or to be more specific will be explained with respect to a first UE 102a, a second UE 102b, and a third UE 102c, and should nowhere be construed as limiting the scope of the present disclosure. Each of the at least one UE 102 namely the first UE 102a, the second UE 102b, and the third UE 102c is configured to connect to the server 104 via the network 106.
[0037] In an embodiment, each of the first UE 102a, the second UE 102b, and the third UE 102c is one of, but not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as smartphones, Virtual Reality (VR) devices, Augmented Reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device.
[0038] The network 106 includes, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The network 106 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
[0039] The network 106 may also include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth.
[0040] The environment 100 includes the server 104 accessible via the network 106. The server 104 may include by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, a processor executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an embodiment, the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise side, a defense facility side, or any other facility that provides service.
[0041] The environment 100 further includes the system 108 communicably coupled to the server 104, the UE 102, and the inventory 110 via the network 106. The system 108 is adapted to be embedded within the server 104 or is embedded as the individual entity.
[0042] Operational and construction features of the system 108 will be explained in detail with respect to the following figures.
[0043] FIG. 2a is an exemplary block diagram of the system 108 for managing the data in the inventory 110, according to one or more embodiments of the present invention.
[0044] As per the illustrated and preferred embodiment, the system 108 for managing the data in the inventory 110, includes one or more processors 202, a memory 204 and an interface unit 206. The one or more processors 202, hereinafter referred to as the processor 202, may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions. However, it is to be noted that the system 108 may include multiple processors as per the requirement and without deviating from the scope of the present disclosure. Among other capabilities, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204.
[0045] As per the illustrated embodiment, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204 as the memory 204 is communicably connected to the processor 202. The memory 204 is configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed for managing the data in the inventory 110. The memory 204 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0046] As per the illustrated embodiment, the interface unit 206 acts as a mediator between one or more service instances and the inventory 110. In an embodiment, the one or more service instances refer to individual components or units of functionality that are deployed within the network 106. The one or more service instances are responsible for performing specific tasks or services and can be dynamically managed, scaled, and monitored. The one or more service instances encompass various types of services or functions that can be registered and integrated into the network 106. The one or more new service instances pertain to at least one of, network functions, micro-services, or applications running within the network 106. The micro-service instances defined as the discrete, modular software component within the network 106 that performs the specific function or service. Each microservice is designed to operate independently and interact with other microservices through well-defined interfaces. The microservices collectively form the larger, distributed system that can be managed and scaled according to the needs of the network 106. The one or more service instances is the specific operational occurrence of the microservice, enabling scalability and management of the microservices deployment. The type of the one or more service instances include, but not limited to, Virtual Network Function (VNF) instances, database service instances, Container Network Function (CNF) service instances, network slicing, and authentication and authorization services.
[0047] In one embodiment, the one or more service instances are lightweight Hypertext Transfer Protocol (“HTTP”) based applications that by design perform a single simple function. The one or more service instances is an approach to building an application that breaks its functionality into modular components. In particular, the interface unit 206 may be an at least one of, an Inventory Manager_VNFC (IM_VC) interface. In one embodiment, the interface unit 206 includes a variety of interfaces, for example, a graphical user interface, a web user interface, a Command Line Interface (CLI), and the like. The interface unit 206 engages a next available inventory 110 instance in a high availability mode when a current inventory 110 instance is down. In other words, in a high availability setup, if one inventory 110 instance where the data is managed is failed or becomes unavailable, then the interface unit 206 enables the system 108 to automatically switches to another available instance to ensure that the operations is not disturbed. The interface unit 206 interface is used to update and manage data about images and VIM 114 sites in inventory 110. In particular, the image is a visual representation of the data.
[0048] As per the illustrated embodiment, the system 108 includes the processor 202 for managing the data in the inventory 110. The processor 202 includes a receiving unit 208, a retrieving unit 210, an identification unit 212, a selection unit 214, an instantiation unit 216, an updating unit 218, and a transmitting unit 220. The processor 202 is communicably coupled to the one or more components of the system 108 such as the memory 204 and the interface unit 206. In an embodiment, operations and functionalities of the receiving unit 208, the retrieving unit 210, the identification unit 212, the selection unit 214, the instantiation unit 216, the updating unit 218, and the transmitting unit 220 and the one or more components of the system 108 can be used in combination or interchangeably.
[0049] Initially, a request from a Virtual Network Function Component (VNFC) is received for retrieving details pertaining to a plurality of VIMs 114 present at the inventory 110. In one embodiment, the receiving unit 208 of the processor 202 is configured to receive the request from the VNFC via the interface unit 206. In particular, the request is at least one of, a Hypertext Transfer Protocol (HTTP) request. In one embodiment, the details pertaining to the plurality of VIMs 114 present at the inventory 110 include at least one of, but not limited to, a vendors list and data pertaining to the VNFs. For example, the vendor is the one who provides the one or more VNFs in the network 106. More particularly, the data pertaining to the VNFs includes at least one of, but not limited to, load on the VNFs and one or more resources utilized by the VNFs. Herein, the one or more resources include at least one of, but not limited to, a memory and a Central Processing Units (CPUs).
[0050] In one embodiment, the VNFC is a modular component that makes up part of a Virtual Network Function (VNF). The VNFC typically is a software module or the one or more service instances that handles a specific function within the VNF. Multiple VNFCs can be combined to form a complete VNF, allowing for greater flexibility and scalability. In one embodiment, the VNFC, are components used in the context of Network Functions Virtualization (NFV). The NFV is a network architecture concept that utilizes virtualization technologies to manage network services through software rather than traditional hardware-based appliances.
[0051] In one embodiment, the VNFCs are the building blocks or individual elements of the VNF. Each VNFC performs a specific network function that can be deployed, scaled, and managed independently within a virtualized environment. The VNFC is a component within the VNF that performs a specific part of the function. For example, in a virtualized firewall, different VNFCs might handle packet filtering, stateful inspection, or logging.
[0052] In an alternate embodiment, the request from the VNFC is received for at least one of, updating, storing and deleting details pertaining to the plurality of Virtual Inventory Managers (VIMs) 114 present at the inventory 110. In one embodiment, the receiving unit 208 of the processor 202 is configured to receive the request from the VNFC via the interface unit 206. In particular, the interface unit 206 is a dedicated interface in order to establish communication between the VNFC and the inventory 110.
[0053] In one embodiment, the VNF is a software implementation of a Network Function that can run on a virtualized infrastructure (such as virtual machines or containers) instead of being tied to a specific hardware. The VNFs perform various networking tasks like firewalls, load balancers, routers, and more. A virtual router is an example for the VNF. The virtual router performs the same functions as a physical router, such as forwarding data packets between networks, but runs on a virtualized environment. The virtual router can be scaled and managed more flexibly compared to a traditional hardware router.
[0054] In one embodiment, a control plane VNFC is an example for the VNFC. In a virtual router VNF, the control plane VNFC handles routing protocols, maintaining routing tables, and making decisions about where to send packets. Data plane VNFS is another VNFC within the same VNF that handles the actual forwarding of packets based on the routing decisions made by the control plane.
[0055] Upon receiving the requests from the VNFC via the interface unit 206, the retrieving unit 210 of the processor 202 is configured to retrieve the details of the plurality of VIMs 114 from the inventory 110 based on the received request. In particular, to retrieve the details of the plurality of VIMs 114, the retrieving unit 210 utilizes the interface unit 206 and creates one or more communication channels between the VNFC and the inventory 110 utilizing the interface unit 206. Thereafter, the retrieving unit 210 retrieves the details of the plurality of VIMs 114 from the inventory 110 via the created one or more communication channels.
[0056] In one embodiment, the one or more communication channels are the medium through which the communication between the VNFC, the system 108 and the inventory 110 takes places. The one or more communication channels are designed to send packets/requests across an internet and ensure the successful delivery of data and messages over the network 106. In other words, the one or more communication channels between a source and a destination, such as the VNFC and the inventory 110 ensures secure data transmission therebetween.
[0057] In one embodiment, the one or more communication channels are utilized for at least one of, but not limited to, updating, receiving, transmitting, deleting, creating details pertaining to the VIMs 114 in the inventory 110. In one embodiment, the one or more communication channels are at least one of, but not limited to, one or more Application Programming Interfaces (APIs) and one or more communication interfaces. In the context of APIs, the word Application refers to any software with a distinct function. Interface can be thought of as a contract of service between two applications. This contract defines how the two parties communicate with each other using requests and responses. In other words, the APIs allow software programs to communicate with each other by sending and receiving at least one of, an API calls, or requests for information.
[0058] Upon retrieving the details of the plurality of VIMs 114 from the inventory 110, the identification unit 212 of the processor 202 is configured to identify a requirement for instantiation of the one or more VNFs and the associated VNFC based on the retrieved details of the plurality of VIMs 114. In one embodiment, the requirement for instantiation of the one or more VNFs and the associated VNFC are identified by identification unit 212 by utilizing at least one of, the one or more APIs and the one or more communication interfaces. In particular, the APIs are utilized to create, read, and update details of the at least one of, the VIMs 114, the one or more VNFs and the associated VNFC in the inventory 110.
[0059] In one embodiment, the identification unit 212 is configured to monitor at least one of, but not limited to load on the one or more VNFs determines load on the one or more VNFs utilizing the APIs which are created by the interface unit 206. Herein, the load on the one or more VNFs refers to the volume of network traffic that the one or more VNFs must handle which includes data packets, requests, and responses passing through the one or more VNFs. In an alternate embodiment, the load pertains to utilization of the one or more resources by the one or more VNFs. By leveraging these APIs, network operators can effectively monitor and manage the load on the one or more VNFs, ensuring that the one or more VNFs performs efficiently, and scale as needed to meet network demands.
[0060] Further, when the identification unit 212 utilizing the APIs monitors the load on the one or more VNFs by comparing the load with a predefined threshold. Herein the predefined threshold is configurable by at least one of, the system 108 and a user such as a network operator based on historical data pertaining to the load on the one or more VNFs. While monitoring, if the identification unit 212 determines that the load on the one or more VNFs is breaching the predefined threshold then the identification unit 212 detects that there is the requirement for instantiation of the one or more VNFs in order to reduce the load on the one or more VNFs.
[0061] Upon detecting the requirement for instantiation of the one or more VNFs, the selection unit 214 of the processors 202 is configured to select at least one VIM 114 from the plurality of VIMs for instantiation of the one or more VNFs. In one embodiment, the selection unit 214 selects the at least one active VIM 114 from the plurality of VIMs 114 for instantiation of the one or more VNFs. In particular, the instantiation of the one or more VNFs pertains to creation of the one or more VNFs.
[0062] In one embodiment, the selection unit 214 identifies the at least one VIM 114 which is in an active and working condition from the plurality of VIMs 114and selects the at least one active VIM 114 from the plurality of VIMs 114 for instantiation of the one or more VNFs. For example, the selection unit 214 checks for the recent functions performed by the at least one VIM 114, if the functions performed by the at least one VIM 114 is within a predefined time interval then the VIM 114 is considered to be active. In other words, if selection unit 214 determines that data is updated at the VIM 114 just before 10 seconds of checking, then the VIM 114 is considered as active.
[0063] Upon selection of the at least one VIM 114, the instantiation unit 216 of the processor 202 is configured to instantiate the one or more VNFs and the associated VNFC at the selected VIM 114. In particular, the instantiation unit 216 creates the one or more VNFs at the selected VIM 114.
[0064] Upon instantiation of the one or more VNFs at the selected VIM 114, the updating unit 218 of the processor 202 is configured to update the inventory 110 with the instantiated one or more VNFs and the associated VNFC. In particular, the updating unit 218 updates information pertaining to the instantiated one or more VNFs and the associated VNFC in the at least one of, the PVIM 112 and the database 116.
[0065] Upon updating information of the instantiated one or more VNFs in the inventory 110, the transmitting unit 220 of the processor 202 is configured to transmit the data from the inventory 110 to the VNFC which may be the one or more service instances via the interface unit 206 as per the request received from the respective VNFC. In one embodiment, subsequent to the instantiation, the information of the instantiated one or more VNFs are managing within the inventory 110. In particular, the information of the instantiated one or more VNFs are added or stored within the inventory 110 by using the interface unit 206.
[0066] The receiving unit 208, the retrieving unit 210, the identification unit 212, the selection unit 214, the instantiation unit 216, the updating unit 218, and the transmitting unit 220 in an exemplary embodiment, are implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 202. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor 202 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory 204 may store instructions that, when executed by the processing resource, implement the processor 202. In such examples, the system 108 may comprise the memory 204 storing the instructions and the processing resource to execute the instructions, or the memory 204 may be separate but accessible to the system 108 and the processing resource. In other examples, the processor 202 may be implemented by electronic circuitry.
[0067] FIG. 2b illustrates an architecture (e.g., MANO architecture framework), in which the present invention can be implemented. The system architecture includes the user interface 206, a Network Functions Virtualization (NFV) and Software-Defined Networking (SDN) design function module 230, a platform foundation service module 232, a platform core service module 234, and a platform resource adapter and utilities module 236.
[0068] The NFV and SDN design function module 230 is crucial for modernizing network infrastructure by enabling virtualized, scalable, and programmable network functions and management systems, particularly within the framework of the VNFs. The platform foundation service module 232 refers to the underlying services and infrastructure components that support and enable the deployment, operation, and management of the VNFs. The platform foundation service module 234 provides the essential capabilities and the one or more resources required for the VNF environment to function effectively.
[0069] The platform core service module 234 refers to the fundamental services and components that are essential for the core functionality and operation of the VNFs. These services are critical for the effective deployment, execution, and management of VNFs, providing the necessary support and infrastructure for their operation. The platform resource adapter and utilities module 236 refers to a set of components and tools designed to manage and adapt various resources and services necessary for the operation of VNFs. The platform resource adapter and utilities module 236 plays a crucial role in integrating VNFs with underlying infrastructure and services, providing the necessary support for efficient operation, one or more resources utilization, and interoperability.
[0070] The NFV and SDN design function module 230 includes a VNF lifecycle manger 230a, a VNF catalog 230b, a network service catalog 230c, a network slicing and service chaining manger 230d, the PVIM 112 and a CNF lifecycle manager 230f.
[0071] The VNF lifecycle manager 230a is responsible for managing the entire lifecycle of the VNFs. The VNF lifecycle manager 230a ensures that VNFs or CNFs are deployed, configured, monitored, scaled, and eventually decommissioned effectively. The VNF catalog 230b is a repository or registry that stores information about various VNFs and their configurations. The VNF catalog 230b serves as a central reference for managing and deploying VNFs, providing details about their capabilities, requirements, and how they can be used within the network environment. The network service catalog 230c is a comprehensive repository that organizes and manages the information related to network services composed of VNFs. The network service catalog 230c serves as a central resource for defining, deploying, and managing these services within the VNFs.
[0072] The network slicing and service chaining manager 230d is a crucial component responsible for orchestrating and managing network slicing and service chaining functionalities. These functionalities are essential for efficiently utilizing network resources and delivering tailored network services in a dynamic and scalable manner. The PVIM 112 is a critical component responsible for overseeing and managing both physical and virtual resources required to support the deployment, operation, and scaling of the VNFs.
[0073] Further, the CNF lifecycle manager 230f is a component responsible for overseeing the entire lifecycle of containerized network functions. This includes the management of CNFs from their initial deployment through ongoing operation and maintenance, up to their eventual decommissioning. The CNF lifecycle manager 230f ensures that the CNFs are efficiently deployed, monitored, scaled, updated, and removed, facilitating the smooth operation of network services in a containerized environment.
[0074] The platform foundation service module 232 includes a microservice elastic load balancer 232a, an identity and access manager 232b, a command line interface 232c, a central logging manager 232d and an event routing manager 232e.
[0075] The microservice elastic load balancer 232a is a specific type of load balancer designed to dynamically distribute network traffic across a set of microservices running in a containerized environment. Its primary purpose is to ensure efficient resource utilization, maintain high availability, and improve the performance of network services by evenly distributing incoming traffic among multiple instances of microservices. The microservices refer to an architectural style where a network function is broken down into small, independently deployable services, each of which performs a specific function within the network 106. The identity and access manager 232b is a critical component responsible for managing and securing access to containerized network functions and their resources. The identity and access manager 232c ensures that only authorized users and systems can access specific resources, and enforcing policies related to identity verification, authentication, authorization, and auditing within the environment.
[0076] The central logging manager 232d is a component responsible for aggregating, managing, and analyzing log data from the VNFs and associated infrastructure components. This centralized approach to logging ensures that logs are collected from disparate sources, consolidated into a single repository, and made accessible for monitoring, troubleshooting, and auditing purposes. The event routing manager 232e is a component responsible for handling the distribution and routing of events and notifications generated by various parts of the environment. The event routing manager 232e includes events related to system status, performance metrics, errors, and other operational or application-level events. The event routing manager 232e ensures that these events are efficiently routed to the appropriate consumers, such as monitoring systems, alerting systems, or logging infrastructure, for further processing and action.
[0077] The platform core service module 234 includes an NFV infrastructure monitoring manager 234a, an assurance manager 234b, a performance manger 234c, a policy execution engine 234d, a capacity monitoring manger 234e,a release management repository 234f, a configuration manger and GCT 234g, a NFV platform decision analytics unit 234h, a platform NoSQL DB 234i, a platform scheduler and Cron Jobs module 234j, a VNF backup & upgrade manger 234k, a micro service auditor 234l, and a platform operation, administration and maintenance manager 234m.
[0078] The NFV infrastructure monitoring manager 234a monitors the underlying infrastructure of NFV environments, including computing, storage, and network resources. The NFV infrastructure monitoring manager 234a provides real-time visibility into resource health, performance, and utilization. Further, the NFV infrastructure monitoring manager 234a detects and alerts infrastructure issues. Further, the NFV infrastructure monitoring manager 234a integrates with monitoring tools to ensure reliable operation of VNFs.
[0079] The assurance manager 234b manages the quality and reliability of network services by ensuring compliance with service level agreements (SLAs) and operational standards. The performance manager 234c optimizes the performance of CNFs by tracking and analyzing key performance indicators (KPIs). The policy execution engine 234d enforces and applies policies within the VNF environment to manage operations and access. Further, the policy execution engine 234d executes policies related to security, resource allocation, and service quality. Further, the policy execution engine 234d executes policies translates policy rules into actionable configurations and enforces compliance across VNFs.
[0080] The capacity monitoring manger 234e monitors and manages the capacity of resources within the VNF environment to ensure optimal usage and avoid resource shortages. The release management repository 234f stores and manages software releases, configurations, and versions of VNFs. Further, the release management repository 234f keeps track of different versions of VNFs.
[0081] The configuration manager and Generic Configuration Tool (GCT) 234g manages the configuration of CNFs and related infrastructure components. The NFV platform decision analytics unit 234h analyzes data from a NFV platform to support decision-making and strategic planning.
[0082] The platform NoSQL database (DB) 234i is used for storing and managing large volumes of unstructured or semi-structured data within the VNF environment. The platform scheduler and Cron Jobs module 234j manage scheduled tasks and periodic operations within the VNF environment. The VNF backup & upgrade manager 234k oversees the backup and upgrade processes for VNFs within the VNF environment.
[0083] The micro service auditor 234l monitors and audits microservices to ensure compliance with operational and security standards. The platform operation, administration and maintenance manager 234m manages the overall operation, administration, and maintenance of the CNF platform.
[0084] The platform resource adapter and utilities module 236 includes a platform external API adaptor and gateway 236a, a generic decoder and indexer 236b, a docker swarm adaptor 236c, an opensatck API adaptor 236d and a NFV gateway 236e.
[0085] The platform external API adaptor and gateway 236a facilitates communication between the VNF platform and external systems or services by providing an interface for API interactions. The generic decoder and indexer 236b decodes and indexes various types of data and logs within the VNF environment. The docker swarm adaptor 236c facilitates communication between a docker swarm clusters and the VNF environment, including container deployment, scaling, and management.
[0086] The opensatck API adaptor 236d provides an interface for the CNF platform to interact with OpenStack APIs, enabling operations such as provisioning, scaling, and managing virtual resources. The NFV gateway 236e manages and facilitates communication between NFV (Network Functions Virtualization) components and external networks or services.
[0087] In one embodiment, the Mano is a telecom cloud where the system 108 deploys one or more nodes in form of the VNFs. In particular, the MANO is an environment where the one or more VNFs are automatically instantiated into the environment 100.
[0088] FIG. 3 illustrates an exemplary architecture for the system 108, according to one or more embodiments of the present invention. More specifically, FIG. 3 illustrates the system 108 for managing the data in the inventory 110. It is to be noted that the embodiment with respect to FIG. 3 will be explained with respect to the UE 102 for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
[0089] FIG. 3 shows communication between the UE 102, the system 108, and the inventory 110. For the purpose of description of the exemplary embodiment as illustrated in FIG. 3, the UE 102, uses network protocol connection or the communication channel to communicate with the system 108 and the server 104. In an embodiment, the network protocol connection or the communication channel is the establishment and management of communication between the UE 102, the system 108 and the inventory 110, over the network 106 (as shown in FIG. 1) using a specific protocol or set of protocols. The network protocol connection includes, but not limited to, Session Initiation Protocol (SIP), System Information Block (SIB) protocol, Transmission Control Protocol (TCP), User Datagram Protocol (UDP), File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), Simple Network Management Protocol (SNMP), Internet Control Message Protocol (ICMP), Hypertext Transfer Protocol Secure (HTTPS) and Terminal Network (TELNET).
[0090] In an embodiment, the UE 102 includes a primary processor 302, and a memory 304 and a User Interface (UI) 306. In alternate embodiments, the UE 102 may include more than one primary processor 302 as per the requirement of the network 106. The primary processor 302, may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions.
[0091] In an embodiment, the primary processor 302 is configured to fetch and execute computer-readable instructions stored in the memory 304. The memory 304 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed for managing the data in the inventory 110. The memory 304 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0092] In an embodiment, the User Interface (UI) 306 includes a variety of interfaces, for example, a graphical user interface, a web user interface, a Command Line Interface (CLI), and the like. The User Interface (UI) 306 of the UE 102 transmits the plurality of requests to the inventory 110 in order to at least one of, update, delete and retrieve the information from the inventory 110. In one embodiment, the user may be at least one of, but not limited to, a network operator, etc.
[0093] For example, let us assume the UE 102 transmits the request to retrieve details pertaining to the one or more VNFs from the inventory 110. The request may be at least one of, but not limited to, the http request. In particular, the request is initially received at the VNFC and thereafter, the VNFC requests the system 108 for retrieving the details pertaining to the one or more VNFs from the inventory 110.
[0094] As mentioned earlier in FIG.2, the system 108 includes the processors 202, the memory 204 and the interface unit 206, for managing the data in the inventory 110, which are already explained in FIG. 2a. For the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2a has been omitted to avoid repetition.
[0095] Further, as mentioned earlier the processor 202 includes the receiving unit 208, the retrieving unit 210, the identification unit 212, the selection unit 214, the instantiation unit 216, the updating unit 218, and the transmitting unit 220 which are already explained in FIG. 2a. Hence, for the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2a has been omitted to avoid repetition. The limited description provided for the system 108 in FIG. 3, should be read with the description provided for the system 108 in the FIG. 2a above, and should not be construed as limiting the scope of the present disclosure.
[0096] FIG. 4 is an exemplary the system 108 architecture 400 for managing the data in the inventory 110, according to one or more embodiments of the present disclosure.
[0097] As per the illustrated embodiment, the system 108 architecture 400 includes a VNFC 402, the inventory 110 which includes the PVIM 112 and the database 116.
[0098] In preferred embodiment, the PVIM 112 and VNFC 402 interact with each other via the interface unit 206 to receive and send data to each other for effective data distribution. Herin the interface unit 206 is at least one of, but not limited to, the IM_VC interface.
[0099] In one embodiment, the PVIM 112 receives requests from the VNFC 402 to update data in the database 116 pertaining to the vendor. Herin the VNFC 402 acts as the one or more service instances. In particular, the vendor is the one who provides the one or more VNFs. Further, the PVIM 112 sends query/events to the database 116 in order to update the data in the database 116. For example, the query/events may be at least one of, but not limited to, a VNF_Creation and a VNF_Modification. In an alternate embodiment, the PVIM 112 receives requests from the VNFC 402 to retrieve data from the database 116 pertaining to the vendor via the interface unit 206.
[00100] In an alternate embodiment, if any data related to VNFC is required, then PVIM 112 has exposed events for those type of data, any one or more service instances can subscribe to those events and send the http request to the inventory 110 to get the data related to VNFC.
[00101] In one embodiment, the communication between the VNFC 402 and the inventory 110, and one or more activities such as updating the data or retrieving the data are performed via the interface unit 206 which relays information related to VNF, VNFC 402, any network components associated with that VNF, available in the network 106.
[00102] In an embodiment, the interface unit 206 provides the APIs in order to establish communication between the VNFC 402 and the inventory 110, and the PVIM 112 and the database 116. In one embodiment, the interface unit 206 includes, at least a sub module event module for creating request events to the PVIM, a relay module to provide information obtained from PVIM to the VNFC 402 (one or more service instances) that instigated the command to the PVIM 112 via the interface 206.
[00103] FIG. 5 is a signal flow diagram illustrating the flow for managing the data in the inventory 110, according to one or more embodiments of the present disclosure.
[00104] At step 502, the VNFC transmits the requests to the inventory 110 via the system 108 for at least one of, updating, receiving, transmitting, deleting, creating information pertaining to the VIMs 114 at the inventory 110. Initially, the requests are received at the interface unit 206 of the system 108 via the one or more communication channels.
[00105] At step 504, the system 108 forwards the request to the inventory 110 using the interface unit 206. In particular, the request is received at the at least one of the VIM 114 and the PVIM 112 at the inventory 110.
[00106] At step 506, the inventory 110 transmits a response to the system 108 based to the received request at the inventory 110. In particular, the response includes at least one of, the details pertaining to the VIM 114 where the one or more VNFs can be instantiated. For example, the inventory 110 provides response which includes details regarding the availability of physical resources, not limited to, such as servers, storage devices, networking hardware and virtual resources such as, not limited to, virtual machines, virtual storage, virtual networks within the VIM 114 where the one or more VNFs can be instantiated. In other words, the inventory 110 provides response which includes information on current utilization rates of the physical and virtual resources, facilitating the system 108 to determine whether there are sufficient resources for the one or more VNFs instantiations. In particular, the interface unit 206 of the system 108 receives the response from the inventory 110.
[00107] At step 508, the system 108 transmits the response received from the inventory 110 to the VNFC. In particular, the interface unit 206 of the system 108 transmits the response received from the inventory 110 to the VNFC.
[00108] FIG. 6 is a flow diagram of a method 600 for managing the data in the inventory 110, according to one or more embodiments of the present invention. For the purpose of description, the method 600 is described with the embodiments as illustrated in FIG. 2a and should nowhere be construed as limiting the scope of the present disclosure.
[00109] At step 602, the method 600 includes the step of receiving the request from the VNFC for retrieving details pertaining to the plurality of VIMs 114 present at the inventory 110. In one embodiment, the receiving unit 208 receives the requests from the VNFC via the interface unit 206. In one embodiment, interface unit 206 exposes the one or more communication channels such as the APIs for establishing communication between the VNFC and the inventory 110. For example, the VNFC transmits the http requests for updating VIM 114 sites at the inventory 110.
[00110] In an alternate embodiment, the receiving unit 208 receives the requests from any one or more service instances via the interface unit 206 for at least one of, updating, receiving, transmitting, deleting, creating information pertaining to the VIMs 114 at the inventory 110.
[00111] In one embodiment, retrieving unit 210 of the processor 202 retrieves the details of the plurality of VIMs 114 from the inventory 110 by creating the communication channel between the VNFC and the inventory 110. For example, let us consider the communication channels such as a channel A is created by the retrieving unit 210 utilizing the interface 206. So, when the request is received via the channel A the details pertaining to the VIMs 114 are retrieved from the inventory 110.
[00112] At step 604, the method 600 includes the step of identifying a requirement for instantiation of the the one or more Virtual Network Function (VNFs) and the associated VNFC based on the retrieved details of the plurality of VIMs 114. In one embodiment, identification unit 212 of the processor 202 identifies the one or more VNFs and the associated VNFC. For example, the identification unit 212 identifies the number of VNFs and the associated VNFC within the network 106.
[00113] At step 608, the method 600 includes the step of selecting at least one VIM from the plurality of VIMs 114 for instantiation of the one or more VNFs upon detecting the requirement for instantiation of the one or more VNFs. In one embodiment, selection unit 214 of the processor 202 checks for the requirement for instantiation of the one or more VNFs by monitoring load on the one or more VNFs. For example, If the selection unit 214 determines that the load on the one or more VNFs is more as compared to the predefined threshold, then based on the caparison the selection unit 214 detects that there is the requirement for instantiation of the one or more VNFs to reduce the load on the one or more VNFs.
[00114] Based on the requirement for instantiation of the one or more VNFs, the selection unit 214 identifies the at least one VIM 114 which is in an active and working condition from the plurality of VIMs 114 and selects the at least one active VIM 114 for instantiation of the one or more VNFs. Thereafter, as per the requirement, the instantiation unit 216 of the processor 202 instantiates the one or more VNFs at the selected VIM 114. For example, let us consider there is the requirement of the two instances of the VNFs to reduce the load on the one or more VNFs, then the instantiation unit 216 creates the two instances of the VNFs at the selected VIM 114.
[00115] At step 610, the method 600 includes the step of updating the inventory 110 with the instantiated one or more VNFs and the associated VNFC upon instantiation of the one or more VNFs at the selected VIM 114. In one embodiment, the updating unit 218 is configured to updating the inventory 110 with the instantiated one or more VNFs and the associated VNFC at the selected VIM 114. For example, when the two instances of the VNFs are created by the instantiation unit 216 at the selected VIM 114, then the information pertaining to the instantiated two instances of the VNFs and the associated VNFC are updated in the at least one of, the PVIM 112 and the database 116 within the inventory 110.
[00116] In one embodiment, subsequent to the updation of the instantiated one or more VNFs and the associated VNFC at the inventory 110, the transmitting unit 220 of the processor 202 transmits the updated data from the inventory 110 to the VNFC or any one or more service instances via the interface unit 206 as per the request received from the respective VNFC.
[00117] In one embodiment, the processor 202 enables an async event-based implementation for managing the data in the inventory 110 via the IM_VC interface. Herin, the IM_VC interface works in a high availability mode which manages the data in the inventory 110 instances by engaging a next available inventory 110 instance when a current inventory 110 instance is down. In order words, the processor 202 replaces the current inventory 110 which is down with the next available inventory 110 instance. The current inventory 110 instance and the next available inventory 110 instance are synced due to which the one or more operations are not disturbed. In asynchronous events the execution of one task isn't dependent on another. Multiple tasks can run simultaneously. In an alternate embodiment, the asynchronous programming is a technique that enables program to start a potentially long-running task and still be able to be responsive to other events while that task runs, rather than having to wait until that task has finished.
[00118] In yet another aspect of the present invention, a non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a processor 202. The processor 202 is configured to receive, a request from a Virtual Network Function Component (VNFC) for details pertaining to a plurality of Virtual Inventory Managers (VIMs) 114 present at the inventory 110. The processor 202 is further configured to retrieve the details of the plurality of VIMs 114 from the inventory 110 based on the received request. The processor 202 is further configured to identify one or more Virtual Network Function (VNFs) and the associated VNFC based on the retrieved details of the plurality of VIMs 114. Upon detecting a requirement for instantiation of the one or more VNFs, the processor 202 is further configured to select, at least one VIM from the plurality of VIMs 114 for instantiation of the one or more VNFs. Upon instantiation of the one or more VNFs at the selected VIM 114, the processor 202 is further configured to process, update, the inventory 110 with the instantiated one or more VNFs and the associated VNFC.
[00119] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-6) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[00120] The present disclosure provides technical advancements of the present invention such as proper management of resources for various network functions flows. Minimizes error in the workflow. Enabling the dedicated interface to show VIM, where a VNF can be instantiated. The operation is less time consuming. Async event-based implementation to utilize interface efficiently. Auto –synchronization of inventory with the VNF. Proper resource inventory by create/update/get/delete operations for all the interfaces for all the operations. Avoiding prolonging request processing time. Fast response to query leading to seamless and enhanced user experience. Enabling fault tolerance for any event failure, dedicated interface works in a high availability mode and if one inventory instance went down during request processing then next available instance will take care of this request.
[00121] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.
REFERENCE NUMERALS
[00122] Environment - 100;
[00123] User Equipment (UE) - 102;
[00124] Server - 104;
[00125] Network- 106;
[00126] System -108;
[00127] Inventory – 110;
[00128] PVIM – 112;
[00129] VIM – 114;
[00130] Database-116;
[00131] Processor - 202;
[00132] Memory - 204;
[00133] Interface unit – 206;
[00134] Receiving unit– 208;
[00135] Retrieving unit – 210;
[00136] Identification unit – 212;
[00137] Selection unit – 214;
[00138] Instantiation unit – 216;
[00139] Updating unit – 218;
[00140] Transmitting unit – 220;
[00141] NFV and SDN design function module – 230;
[00142] Virtual Network Function (VNF) lifecycle manager (VNFLM) - 230a;
[00143] VNF catalog - 230b;
[00144] Network service catalog - 230c;
[00145] Network slicing and service chaining manager - 230d;
[00146] Physical and virtual resource manager (PVIM) – 112;
[00147] CNF lifecycle manager - 230f;
[00148] Platform foundation service module – 232;
[00149] Microservice elastic load balancer - 232a;
[00150] Identity and access manager - 232b;
[00151] Command line interface - 232c;
[00152] Central logging manager - 232d;
[00153] Event routing manager - 232e;
[00154] Platform core service module – 234;
[00155] NFV infrastructure monitoring manager - 234a;
[00156] Assurance manager - 234b;
[00157] Performance manager - 234c;
[00158] Policy execution engine -234d;
[00159] Capacity monitoring manager - 234e;
[00160] Release management repository - 234f
[00161] Configuration manager and GCT - 234g;
[00162] NFV platform decision analytics unit - 234h;
[00163] Platform NoSQL DB - 234i;
[00164] Platform scheduler and Cron Jobs module - 234j;
[00165] VNF backup & upgrade manager - 234k;
[00166] Micro service auditor - 234l;
[00167] Platform operation, administration and maintenance manager - 234m;
[00168] Platform resource adapter and utilities module – 236;
[00169] Platform external API adaptor and gateway - 236a;
[00170] Generic decoder and indexer - 236b;
[00171] Swarm adaptor - 236c;
[00172] OpenStack API adaptor - 236d;
[00173] NFV gateway - 236e;
[00174] Primary Processor – 302;
[00175] Memory – 304;
[00176] User Interface (UI) – 306;
[00177] VNFC– 402.
,CLAIMS:
CLAIMS
We Claim:
1. A method (600) to manage data in an inventory (110), the method (600) comprising the steps of:
receiving, by one or more processors (202), a request from a Virtual Network Function Component (VNFC) for retrieving details pertaining to a plurality of Virtual Inventory Managers (VIMs) (114) present at the inventory (110);
identifying, by the one or more processors (202), a requirement for instantiation of the one or more Virtual Network Function (VNFs) and the associated VNFC based on the retrieved details of the plurality of VIMs (114);
upon detecting, the requirement for instantiation of the one or more VNFs, selecting, by the one or more processors (202), at least one VIM from the plurality of VIMs (114) for instantiation of the one or more VNFs; and
upon instantiation of the one or more VNFs at the selected VIM, updating, by the one or more processors (202), the inventory (110) with the instantiated one or more VNFs and the associated VNFC.
2. The method (600) as claimed in claim 1, wherein the one or more processors (202), utilizing an interface unit (206), creates a communication channel between the VNFC and the inventory (110) for at least one of, updating, receiving, transmitting, deleting, creating information pertaining to the VIMs (114). :
3. The method (600) as claimed in claim 2, wherein the communication channel is at least one of, one or more Application Programming Interfaces (APIs) and communication interfaces, which is an interface between the VNFC and the inventory (110).
4. The method (600) as claimed in claim 3, wherein the requirement for instantiation of the one or more VNFs and the associated VNFC are identified by the one or more processors (202) by utilizing the one or more APIs, wherein the APIs are utilized to create, read, and update details of the VIMs (114), the one or more VNFs and the associated VNFC.
5. The method (600) as claimed in claim 1, wherein the step of identifying, the requirement for instantiation of the one or more VNFs and the associated VNFC based on the retrieved details of the plurality of VIMs (114), includes steps of;
determining, by the one or more processors, utilizing the APIs, the load on the one or more VNFs; and
in response to determining, if the load on the one or more VNFs is breaching a predefined threshold, inferring, by the one or more processors (202), the requirement for instantiation of the one or more VNFs and the associated VNFC.
6. The method (600) as claimed in claim 1, wherein the step of, selecting, at least one VIM from the plurality of VIMs (114) for instantiation of the VNF, includes the steps of:
identifying, by the one or more processors (202), the at least one VIM which is in an active and working condition.
7. The method (600) as claimed in claim 1, wherein the step of, updating, the inventory with the instantiated VNF and the associated VNFC, further includes the step of:
transmitting, by the one or more processors (202), the data in the inventory (110) to one or more service instances when a request is received from the respective one or more service instances, wherein the request is at least one of, a Hypertext Transfer Protocol (HTTP) request.
8. The method (600) as claimed in claim 2, wherein the interface unit (206) includes an Inventory Manager_ VNFC (IM_VC) interface.
9. The method (600) as claimed in claim 2, wherein the interface unit (206) engages a next available inventory (110) instance in a high availability mode when a current inventory (110) instance is down.
10. A system (108) to manage data in an inventory (110), the system (108) comprising:
a receiving unit (208), configured to, receive, a request from a Virtual Network Function Component (VNFC) for retrieving details pertaining to a plurality of Virtual Inventory Managers (VIMs) (114) present at the inventory (110);
an identification unit (212), configured to, identify, a requirement for instantiation of the one or more Virtual Network Function (VNFs) and the associated VNFC based on the retrieved details of the plurality of VIMs (114);
upon detecting, the requirement for instantiation of the one or more VNFs, a selection unit (214), configured to, select, at least one VIM (114) from the plurality of VIMs (114) for instantiation of the one or more VNFs; and
upon instantiation of the one or more VNFs at the selected VIM, an updating unit (218), configured to, update, the inventory (110) with the instantiated one or more VNFs and the associated VNFC.
11. The system (108) as claimed in claim 10, wherein the interface unit (206) creates a communication channel between the VNFC and the inventory (110) for at least one of, updating, receiving, transmitting, deleting, creating information pertaining to the VIMs (114).
12. The system (108) as claimed in claim 11, wherein the communication channel is at least one of, one or more Application Programming Interfaces (APIs) and one or more communication interfaces, which is an interface between the VNFC and the inventory (110).
13. The system (108) as claimed in claim 12, wherein the requirement for instantiation of the one or more VNFs and the associated VNFC are identified by the identification unit (212) by utilizing one or more APIs, wherein the APIs are utilized to create, read, and update details of the VIMs, the one or more VNFs and the associated VNFC.
14. The system (100) as claimed in claim 10, wherein the identification unit (212) identifies the requirement for instantiation of the one or more VNFs and the associated VNFC based on the retrieved details of the plurality of VIMs (114), by;
determining, utilizing the APIs, the load on the one or more VNFs;
in response to determining, if the load on the one or more VNFs is breaching a predefined threshold, inferring, the requirement for instantiation of the one or more VNFs and the associated VNFC.
15. The system (108) as claimed in claim 10, wherein the selecting unit (214), is configured to select at least one VIM from the plurality of VIMs (114) for instantiation of the VNF, by:
identifying, the at least one VIM (114) which is in an active and working condition.
16. The system (108) as claimed in claim 10, wherein a transmitting unit (220) is configured to transmit the data in the inventory (110) to one or more service instances when a request is received from the respective one or more service instances, wherein the request is at least one of, a Hypertext Transfer Protocol (HTTP) request.
17. The method (600) as claimed in claim 11, wherein the interface unit (206) includes an Inventory Manager_ VNFC (IM_VC) interface.
18. The method (600) as claimed in claim 11, wherein the interface unit (206) engages a next available inventory (110) instance in a high availability mode when a current inventory (110) instance is down.
| # | Name | Date |
|---|---|---|
| 1 | 202321061744-STATEMENT OF UNDERTAKING (FORM 3) [13-09-2023(online)].pdf | 2023-09-13 |
| 2 | 202321061744-PROVISIONAL SPECIFICATION [13-09-2023(online)].pdf | 2023-09-13 |
| 3 | 202321061744-POWER OF AUTHORITY [13-09-2023(online)].pdf | 2023-09-13 |
| 4 | 202321061744-FORM 1 [13-09-2023(online)].pdf | 2023-09-13 |
| 5 | 202321061744-FIGURE OF ABSTRACT [13-09-2023(online)].pdf | 2023-09-13 |
| 6 | 202321061744-DRAWINGS [13-09-2023(online)].pdf | 2023-09-13 |
| 7 | 202321061744-DECLARATION OF INVENTORSHIP (FORM 5) [13-09-2023(online)].pdf | 2023-09-13 |
| 8 | 202321061744-FORM-26 [27-11-2023(online)].pdf | 2023-11-27 |
| 9 | 202321061744-Proof of Right [12-02-2024(online)].pdf | 2024-02-12 |
| 10 | 202321061744-DRAWING [13-09-2024(online)].pdf | 2024-09-13 |
| 11 | 202321061744-COMPLETE SPECIFICATION [13-09-2024(online)].pdf | 2024-09-13 |
| 12 | Abstract.jpg | 2024-10-15 |
| 13 | 202321061744-Power of Attorney [24-01-2025(online)].pdf | 2025-01-24 |
| 14 | 202321061744-Form 1 (Submitted on date of filing) [24-01-2025(online)].pdf | 2025-01-24 |
| 15 | 202321061744-Covering Letter [24-01-2025(online)].pdf | 2025-01-24 |
| 16 | 202321061744-CERTIFIED COPIES TRANSMISSION TO IB [24-01-2025(online)].pdf | 2025-01-24 |
| 17 | 202321061744-FORM 3 [29-01-2025(online)].pdf | 2025-01-29 |
| 18 | 202321061744-FORM 18 [16-09-2025(online)].pdf | 2025-09-16 |