Method and system for upgrading firmware in network functions in a network
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- JIO PLATFORMS LTD
- Filing Date
- 2024-09-27
- Publication Date
- 2026-06-24
AI Technical Summary
The traditional manual approach to firmware updates in 5GCN nodes is time-consuming, prone to errors, and lacks scalability, leading to inefficiencies and potential system failures.
A system and method for automated firmware upgrade in network functions, involving a connection unit to check connectivity, a transceiver unit to receive input for firmware upgrade, a generation unit to create an upgrade task, an upgrading unit to execute the task, and a restarting unit to complete the upgrade, ensuring accurate and standardized implementations.
The automated system significantly reduces manual effort and time, minimizes errors, ensures compliance with NIC standards, enhances scalability, and maintains competitive relevance by delivering efficient and reliable firmware upgrades across multiple devices and nodes.
Smart Images

Figure IN2024051884_03042025_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR UPGRADING FIRMWARE IN NETWORK FUNCTIONS IN A NETWORKFIELD OF THE DISCLOSURE
[0001] The present disclosure generally relates to the field of wireless communication networks. In particular, the present disclosure related to methods and systems for upgrading firmware in network functions in a network.BACKGROUND
[0002] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0003] Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements. The first generation of wireless communication technology was based on analog technology and offered only voice services. However, with the advent of the second-generation (2G) technology, digital communication and data services became possible, and text messaging was introduced. 3G technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth generation (4G) technology revolutionized wireless communication with faster data speeds, better network coverage, and improved security. Currently, the fifth generation (5G) technology is being deployed, promising even faster data speeds, low latency, and the ability to connect multiple devices simultaneously. With each generation, wireless communication technology has become more advanced, sophisticated, and capable of delivering more services to its users.
[0004] Traditionally, primarily characterized by its manual approach to firmware updates and compliance in 5GCN Nodes, encounters numerous problems. Firstly, one of the paramount issues is the extensive time consumption inherent to the manual process of implementing firmware patches and upgrades. This aspect severely reduces the overall efficiency of the system, leading todelays and prolonged downtimes which can be detrimental in environments where continuous operation is crucial. The process, being manually intensive, also restricts the speed at which advancements and fixes can be delivered to the devices, hampering the pace at which the technology can evolve and adapt. Secondly, the system is inherently prone to errors due to the lack of automation. This susceptibility to human mistakes can lead to incorrect implementations and can compromise the functionality and reliability of the devices. Errors in firmware updates and implementations can have far-reaching consequences, potentially leading to system failures and loss of critical functionalities, which can be especially critical in the context of 5G networks. Additionally, the traditional system poses significant challenges in managing compliance with NIC standards due to its manual nature. The risk of non-compliance and inconsistency in firmware implementations is heightened, potentially leading to operational inconsistencies and disruptions. Standardization is crucial to ensure seamless interoperability and operation of the devices within the network, and any deviation can result in conflicts and malfunctions. Furthermore, the inefficiency stemming from the intensive manual effort required for every firmware installation and upgrade causes delays and impedes the optimal functioning of the network. In a field characterized by rapid advancements, such inefficiencies can be detrimental to maintaining a competitive edge and responding swiftly to emerging needs and challenges. Lastly, the manual approach significantly hinders the scalability of firmware deployment across multiple devices and nodes. This limitation potentially restricts the reach and impact of essential updates and improvements, posing challenges in large-scale operations where uniformity in updates and implementations is crucial.
[0005] Thus, there exists an imperative need in the art for a system and method for automated firmware update and compliance in 5GCN nodes, that aims to mitigate these inherent problems found in the traditional system, providing a solution that is not only more efficient and accurate but also scalable, catering to the demands of evolving technology landscapes.OBJECTS OF THE DISCLOSURE
[0006] Some of the objects of the present disclosure, which at least one embodiment disclosed herein satisfies are listed herein below.
[0007] It is an object of the present disclosure to provide a system and a method for automated firmware update that significantly reduces the time and manual effort traditionally required toimplement firmware patches and upgrades, thereby enhancing overall system efficiency and productivity.
[0008] It is another object of the present disclosure to provide a system and a method for automated firmware update that minimizes the risk of human errors, ensuring more accurate and reliable firmware implementations, which in turn, fortifies the integrity and functionality of the devices within the network.
[0009] It is another object of the present disclosure to provide a system and a method for automated firmware update that ensures stringent adherence to NIC standards, guaranteeing consistent and standardized firmware implementations and allowing seamless interoperability and optimal operation of the devices.
[0010] It is another object of the present disclosure to provide a system and a method for automated firmware update that optimizes the speed and responsiveness in delivering essential fixes and advancements to the devices, maintaining competitive relevance in the face of rapidly advancing technological developments.
[0011] It is another object of the present disclosure to provide a system and a method for automated firmware update that offers enhanced scalability, enabling the uniform deployment of firmware across multiple devices and nodes, catering to the demands of large-scale operations and ensuring uniformity in updates and implementations.SUMMARY
[0012] This section is provided to introduce certain aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.
[0013] An aspect of the present disclosure relates to a method for upgrading firmware in network functions in a network. The method comprises checking, by a connection unit, at a server module, a connectivity between the server unit and a set of network functions (NFs) in the network. The method further comprises receiving, by a transceiver unit, at the server module, an input relating to a selection of one or more NFs from the set of NFs for which a corresponding firmwareis to be upgraded. The method further comprises generating, by a generation unit, at the server module, a task for upgrading the firmware of the of the one or more NFs. The method further comprises executing, by an upgrading unit, at the server module, the generated task. The method further comprises restarting, by a restarting unit, at the server module, the one or more NFs to complete the upgradation of the corresponding firmware in the one or more NFs.
[0014] In an exemplary aspect of the present disclosure, the step of generating the task comprises checking, by the generation unit, at the server module, a current version of the corresponding firmware in the one or more NFs. The step of generating the task further comprises determining, by the generation unit, at the server module, that the one or more NFs require a firmware upgrade, based on a difference between the current version of the corresponding firmware in the one or more NFs, and a latest available firmware for the one or more NFs. The step of generating the task further comprises generating, by the generation unit, at the server module, the task, wherein the task comprises upgrading the firmware from in the one or more NFs from a corresponding current version to the latest available version.
[0015] In an exemplary aspect of the present disclosure, the method comprises verifying, by a verification unit, at the server module, the upgradation on each of the one or more NFs. The step of verifying the upgradation on each of the one or more NFs comprises determining, by the verification unit at the server module, a status of operation of the one or more NFs after upgradation of the corresponding firmware of the one or more NFs. The step of verifying the upgradation on each of the one or more NFs further comprises determining, by the verification unit, at the server module, a status of the upgradation process. The status is one of successful, when the status of operation of the one or more NFs is functional, and unsuccessful, when the status of operation of the one or more NFs is non-functional.
[0016] In an exemplary aspect of the present disclosure, the input related to the selection of the one or more NFs is provided from a user interface (UI).
[0017] In an exemplary aspect of the present disclosure, the input related to the selection of the one or more NFs is provided based on checking, by a selection unit, at the server module, a current version of the corresponding firmware in each NF from the set of NFs in the network. The input related to the selection of the one or more NFs is provided further based on selecting, by the selection unit, at the server module, the one or more NFs, based on a difference between the currentversion of the corresponding firmware in the one or more NF s, and a latest available firmware for the one or more NFs.
[0018] In an exemplary aspect of the present disclosure, the step of executing the generated task is performed remotely, based on execution by the upgrading unit, of a set of instructions stored in a storage unit communicably coupled to the upgrading unit.
[0019] Another aspect of the present disclosure relates to a system for upgrading firmware in network functions in a network. The system comprises a connection unit configured to check, at a server module, a connectivity between the server unit and a set of network functions (NFs) in the network. The system further comprises a transceiver unit connected at least to the connection unit, the transceiver unit configured to receive, at the server module, an input relating to a selection of one or more NFs from the set of NFs for which a corresponding firmware is to be upgraded. The system further comprises a generation unit connected at least the transceiver unit, the generation unit configured to generate, at the server module, a task for upgrading the firmware of the of the one or more NFs. The system further comprises an upgrading unit connected at least to the generation unit, the upgrading unit configured to execute, at the server module, the generated task. The system further comprises a restarting unit connected at least to the upgrading unit, the restarting unit configured to restart, at the server module, the one or more NFs to complete the upgradation of the corresponding firmware in the one or more NFs.
[0020] Yet another aspect of the present disclosure relates to a non-transitory computer- readable storage medium, storing instructions for upgrading firmware in network functions in a network, the storage medium comprising executable code which, when executed by one or more units of a system, causes: a connection unit to check, at a server module, a connectivity between the server module and a set of network functions (NFs) in the network; a transceiver unit to receive, at the server module, an input relating to a selection of one or more NFs from the set of NFs for which a corresponding firmware is to be upgraded; a generation unit to generate, at the server module, a task for upgrading the firmware of the of the one or more NFs; an upgrading unit to execute, at the server module, the generated task; and a restarting unit to restart, at the server module, the one or more NFs to complete the upgradation of the corresponding firmware in the one or more NFs.BRIEF DESCRIPTION OF DRAWINGS
[0021] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Also, the embodiments shown in the figures are not to be construed as limiting the disclosure, but the possible variants of the method and system according to the disclosure are illustrated herein to highlight the advantages of the disclosure. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components or circuitry commonly used to implement such components.
[0022] FIG. l illustrates an exemplary block diagram representation of 5th generation core (5GC) network architecture.
[0023] 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 implementations of the present disclosure.
[0024] FIG. 3 illustrates an exemplary block diagram of a system for upgrading firmware in network functions in a network, in accordance with exemplary implementations of the present disclosure.
[0025] FIG. 4 illustrates an exemplary flow diagram of a method for upgrading firmware in network functions in a network, in accordance with exemplary implementations of the present disclosure.
[0026] FIG. 5 illustrates an exemplary diagram depicting a process for upgrading firmware in network functions in a network, in accordance with exemplary implementations of the present disclosure.
[0027] The foregoing shall be more apparent from the following more detailed description of the disclosure.DETAILED DESCRIPTION
[0028] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter may each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above.
[0029] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0030] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail.
[0031] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure.
[0032] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniquesknown to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive — in a manner similar to the term “comprising” as an open transition word — without precluding any additional or other elements.
[0033] As used herein, a “processing unit” or “processor” or “operating processor” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. A processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a Digital Signal Processing (DSP) core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input / output processing, and / or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor or processing unit is a hardware processor.
[0034] As used herein, “a user equipment”, “a user device”, “a smart-user-device”, “a smartdevice”, “an electronic device”, “a mobile device”, “a handheld device”, “a wireless communication device”, “a mobile communication device”, “a communication device” may be any electrical, electronic and / or computing device or equipment, capable of implementing the features of the present disclosure. The user equipment / device may include, but is not limited to, a mobile phone, smart phone, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, wearable device or any other computing device which is capable of implementing the features of the present disclosure. Also, the user device may contain at least one input means configured to receive an input from unit(s) which are required to implement the features of the present disclosure.
[0035] As used herein, “storage unit” or “memory unit” refers to a machine or computer- readable medium including any mechanism for storing information in a form readable by a computer or similar machine. For example, a computer-readable medium includes read-only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices or other types of machine-accessible storage media. The storage unit stores at least the data that may be required by one or more units of the system to perform their respective functions.
[0036] 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 refer to a set of rules or protocols that define communication or interaction of one or more modules or one or more units with each other, which also includes the methods, functions, or procedures that may be called.
[0037] All modules, units, components used herein, unless explicitly excluded herein, may be software modules or hardware processors, the processors being a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array circuits (FPGA), any other type of integrated circuits, etc.
[0038] As used herein the transceiver unit includes at least one receiver and at least one transmitter configured respectively for receiving and transmitting data, signals, information or a combination thereof between units / components within the system and / or connected with the system.
[0039] As used herein, a docker platform is a cloud native platform for providing containers or software packages in virtual or cloud environments, and for building or running applications in microservices architectures.
[0040] As discussed in the background section, the current known solutions have several shortcomings. The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by providing a method and a system for upgrading firmware in network functions in a network. The present method and system provide a means to upgrade a firmware in one or more network functions in a network.
[0041] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.
[0042] FIG. 1 illustrates an exemplary block diagram representation of 5th generation core (5GC) network architecture, in accordance with exemplary implementation of the present disclosure. As shown in figure 1, the 5GC network architecture
[0100] includes a user equipment(UE)
[0102] , a radio access network (RAN)
[0104] , an access and mobility management function (AMF)
[0106] , a Session Management Function (SMF)
[0108] , a Service Communication Proxy (SCP)
[0110] , an Authentication Server Function (AUSF)
[0112] , a Network Slice Specific Authentication and Authorization Function (NSSAAF)
[0114] , a Network Slice Selection Function (NSSF)
[0116] , a Network Exposure Function (NEF)
[0118] , a Network Repository Function (NRF)
[0120] , a Policy Control Function (PCF)
[0122] , a Unified Data Management (UDM)
[0124] , an application function (AF)
[0126] , a User Plane Function (UPF)
[0128] , a data network (DN)
[0130] , Location Management Function (LMF)
[0132] , Gateway Mobile Location Centre (GMLC)
[0134] and Location Services (LCS) client
[0136] wherein all the components are assumed to be connected to each other in a manner as obvious to the person skilled in the art for implementing features of the present disclosure.
[0043] The RAN
[0104] is the part of a mobile telecommunications system that connects user equipment (UE)
[0102] to the core network (CN) and provides access to different types of networks (e.g., 5G network). It consists of radio base stations and the radio access technologies that enable wireless communication.
[0044] The AMF
[0106] is a 5G core network function responsible for managing access and mobility aspects, such as UE registration, connection, and reachability. It also handles mobility management procedures like handovers and paging.
[0045] The SMF
[0108] is a 5G core network function responsible for managing session-related aspects, such as establishing, modifying, and releasing sessions. It coordinates with the User Plane Function (UPF) for data forwarding and handles IP address allocation and QoS enforcement.
[0046] The SCP
[0110] is a network function in the 5G core network that facilitates communication between other network functions by providing a secure and efficient messaging service. It acts as a mediator for service-based interfaces.
[0047] The AUSF
[0112] is a network function in the 5G core responsible for authenticating UEs during registration and providing security services. It generates and verifies authentication vectors and tokens.
[0048] The NSSAAF
[0114] is a network function that provides authentication and authorization services specific to network slices. It ensures that UEs can access only the slices for which they are authorized.
[0049] The NSSF
[0116] is a network function responsible for selecting the appropriate network slice for a UE based on factors such as subscription, requested services, and network policies.
[0050] The NEF
[0118] is a network function that exposes capabilities and services of the 5G network to external applications, enabling integration with third-party services and applications.
[0051] The NRF
[0120] is a network function that acts as a central repository for information about available network functions and services. It facilitates the discovery and dynamic registration of network functions.
[0052] The PCF
[0122] is a network function responsible for policy control decisions, such as QoS, charging, and access control, based on subscriber information and network policies.
[0053] The UDM
[0124] is a network function that centralizes the management of subscriber data, including authentication, authorization, and subscription information.
[0054] The AF
[0126] is a network function that represents external applications interfacing with the 5G core network to access network capabilities and services.
[0055] The UPF
[0128] is a network function responsible for handling user data traffic, including packet routing, forwarding, and QoS enforcement.
[0056] The DN
[0130] refers to a network that provides data services to user equipment (UE) in a telecommunications system. The data services may include but are not limited to Internet services, private data network related services.
[0057] The LMF
[0132] is a network function in the 5G core responsible for managing the location information of user equipment (UE). It coordinates with other network functions to determine and provide the geographic location of a UE.
[0058] The GMLC
[0134] is a network entity that serves as an interface between the 5G core network and external location-based services. The GMLC retrieves location information from the LMF
[0132] and other relevant network functions and provides it to authorized external applications, such as emergency services or location-based advertising platforms.
[0059] Further, a Location service (LCS) is a service concept in system (e.g. GSM or UMTS) standardization. LCS specifies all the necessary network elements and entities, their functionalities, interfaces, as well as communication messages, due to implement the positioning functionality in a cellular network.
[0060] Further, the LCS Client
[0136] is a software and / or hardware entity that interacts with a LCS Server for the purpose of obtaining location information for one or more Mobile Stations. LCS Clients subscribe to LCS in order to obtain location information. LCS Clients may or may not interact with human users. The LCS Client is responsible for formatting and presenting data and managing the user interface (dialogue). The LCS Client may reside in the Mobile Station (UE).
[0061] The 5GC network architecture also comprises a plurality of interfaces for connecting the network functions with a network entity for performing the network functions. The NSSF
[0116] is connected with the network entity via the interface denoted as (Nnssf) interface in the figure. The NEF
[0118] is connected with the network entity via the interface denoted as (Nnef) interface in the figure. The NRF
[0120] is connected with the network entity via the interface denoted as (Nnrf) interface in the figure. The PCF
[0122] is connected with the network entity via the interface denoted as (Npcf) interface in the figure. The UDM
[0124] is connected with the network entity via the interface denoted as (Nudm) interface in the figure. The AF
[0126] is connected with the network entity via the interface denoted as (Naf) interface in the figure. The NSSAAF
[0114] is connected with the network entity via the interface denoted as (Nnssaaf) interface in the figure. The AUSF
[0112] is connected with the network entity via the interface denoted as (Nausf) interface in the figure. The AMF
[0106] is connected with the network entity via the interface denoted as (Namf) interface in the figure. The SMF
[0108] is connected with the network entity via the interface denoted as (Nsmf) interface in the figure. The SMF
[0108] is connected with the UPF
[0128] via the interface denoted as (N4) interface in the figure. The UPF
[0128] is connected with the RAN
[0104] via the interface denoted as (N3) interface in the figure. The UPF
[0128] is connected with the DN
[0130] via the interface denoted as (N6) interface in the figure. The RAN
[0104] isconnected with the AMF
[0106] via the interface denoted as (N2). The AMF
[0106] is connected with the RAN
[0104] via the interface denoted as (Nl). The UPF
[0128] is connected with other UPF
[0128] via the interface denoted as (N9). The interfaces such as Nnssf, Nnef, Nnrf, Npcf, Nudm, Naf, Nnssaaf, Nausf, Namf, Nsmf, N9, N6, N4, N3, N2, and Nl can be referred to as a communication channel between one or more functions or modules for enabling exchange of data or information between such functions or modules, and network entities.
[0062] FIG. 2 illustrates an exemplary block diagram of a computing device
[0200] (herein, also referred to as a computer system
[0200] ) upon which one or more features of the present disclosure may be implemented in accordance with an exemplary implementation of the present disclosure. In an implementation, the computing device
[0200] may also implement a method for upgrading firmware in network functions (NFs) in a network, utilising a system, or one or more sub-systems, provided in the network. In another implementation, the computing device
[0200] itself implements the method for upgrading firmware in network functions (NFs) in a network, using one or more units configured within the computing device
[0200] , wherein said one or more units are capable of implementing the features as disclosed in the present disclosure.
[0063] The computing device
[0200] may include a bus
[0202] or other communication mechanism(s) for communicating information, and a hardware processor
[0204] coupled with bus
[0202] for processing said information. The hardware processor
[0204] may be, for example, a general-purpose microprocessor. The computing device
[0200] may also include a main memory
[0206] , such as a random-access memory (RAM), or other dynamic storage device, coupled to the bus
[0202] , for storing information and instructions to be executed by the processor
[0204] , The main memory
[0206] also may be used for storing temporary variables or other intermediate information during execution of the instructions to be executed by the processor
[0204] , Such instructions, when stored in a non-transitory storage media accessible to the processor
[0204] , render the computing device
[0200] into a special purpose device that is customized to perform operations according to the instructions. The computing device
[0200] further includes a read only memory (ROM)
[0208] or other static storage device coupled to the bus
[0202] for storing static information and instructions for the processor
[0204] ,
[0064] A storage device
[0210] , such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to the bus
[0202] for storing information and instructions. The computing device
[0200] may be coupled via the bus
[0202] to a display
[0212] , such as a cathode ray tube (CRT),Liquid crystal Display (LCD), Light Emitting Diode (LED) display, Organic LED (OLED) display, etc., for displaying information to a user of the computing device
[0200] , An input device
[0214] , including alphanumeric and other keys, touch screen input means, etc. may be coupled to the bus
[0202] for communicating information and command selections to the processor
[0204] , Another type of user input device may be a cursor controller
[0216] , such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor
[0204] , and for controlling cursor movement on the display
[0212] , The cursor controller
[0216] typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the cursor controller
[0216] to specify positions in a plane.
[0065] The computing device
[0200] may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and / or program logic which, in combination with the computing device
[0200] , causes or programs the computing device
[0200] to be a special-purpose device. According to one implementation, the techniques herein are performed by the computing device
[0200] in response to the processor
[0204] executing one or more sequences of one or more instructions contained in the main memory
[0206] , The one or more instructions may be read into the main memory
[0206] from another storage medium, such as the storage device
[0210] , Execution of the one or more sequences of the one or more instructions contained in the main memory
[0206] causes the processor
[0204] to perform the process steps described herein. In alternative implementations of the present disclosure, hard-wired circuitry may be used in place of, or in combination with, software instructions.
[0066] The computing device
[0200] also may include a communication interface
[0218] coupled to the bus
[0202] , The communication interface
[0218] provides two-way data communication coupling to a network link
[0220] that is connected to a local network
[0222] , For example, the communication interface
[0218] may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telecommunication line. In another example, the communication interface
[0218] may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface
[0218] sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing different types of information.
[0067] The computing device
[0200] can send and receive data, including program code, messages, etc. through the network(s), the network link
[0220] and the communication interface
[0218] , In an example, a server
[0230] might transmit a requested code for an application program through the Internet
[0228] , the ISP
[0226] , the local network
[0222] , the host
[0224] and the communication interface
[0218] , The received code may be executed by the processor
[0204] as it is received, and / or stored in the storage device
[0210] , or other non-volatile storage for later execution.
[0068] The computing device
[0200] encompasses a wide range of electronic devices capable of processing data and performing computations. Examples of the computing device
[0200] include, but are not limited only to, personal computers, laptops, tablets, smartphones, servers, and embedded systems. The computing device
[0200] may operate independently or as part of a network and can perform a variety of tasks such as data storage, retrieval, and analysis. Additionally, the computing device
[0200] may include peripheral devices, such as monitors, keyboards, and printers, as well as integrated components within larger electronic systems, showcasing their versatility in various technological applications.
[0069] FIG. 3 illustrates an exemplary block diagram of a system
[0300] for upgrading firmware in network functions (NFs) in a network, in accordance with exemplary implementations of the present disclosure. The system
[0300] comprises at least one connection unit
[0302] , at least transceiver unit
[0304] , at least one generation unit
[0306] , at least one upgrading unit
[0308] , at least one restarting unit
[0310] , at least one verification unit
[0312] , and at least one selection unit
[0314] , The system
[0300] further comprises a server module
[0320] , The system
[0300] further comprises a set of network functions (NFs) [322-1, 322-2. . ,322-N], The set of NFs [322-1, 322-2. . ,322-N] may be individually and / or collectively referred to as NFs
[0322] , herein. Also, all of the components / units of the system
[0300] are assumed to be connected to each other unless otherwise indicated below. Also, in FIG. 3 only a few units are shown; however, the system
[0300] may comprise multiple such units or the system
[0300] may comprise any such numbers of said units, as required to implement the features of the present disclosure. Further, in an implementation, the system
[0300] may be present in a user equipment (UE) (such as, a user device) to implement the features of the present invention. The system
[0300] may be a part of the UE, or may be independent of, but in communication with the UE. In another implementation, the system
[0300] may reside in a server or a network entity. In yet another implementation, the system
[0300] may reside partly in the server / network entity and partly in the UE.
[0070] The system
[0300] is configured for upgrading firmware of network functions in a network, with the help of the interconnection between the components / units of the system
[0300] ,
[0071] The system
[0300] comprises a connection unit
[0302] , The connection unit
[0302] is configured to check, at the server module
[0320] , a connectivity between the server module
[0320] , and the set of NFs
[0322] in the network. In an implementation, the server module
[0320] may be a docker server module, or a docker service adapter (DSA). The DSA is a microservices-based system designed to deploy and manage network functions and network function components across docker nodes. The DSA offers REST endpoints for key operations, including uploading container images to a docker registry, terminating NF instances, and creating docker volumes and networks. The DSA facilitates the deployment, configuration, and management of NF and NF components by interacting with docker's API, and ensuring proper setup and scalability within the network. This approach provides a modular and flexible framework for handling network functions in a virtualized network setup.
[0072] In an implementation, the connection unit
[0302] is configured to check that the set of NFs
[0322] are connected in the network with the server module
[0320] , In other words, the connection unit
[0302] is configured to check that the set of NFs
[0322] are active or in-service in the network. In an implementation, the connection unit
[0302] checks the connectivity by determining communication between the server module
[0320] and each of the set of NFs
[0322] , This may involve checking the network availability and confirming that the NFs
[0322] are online, and are capable of receiving commands.
[0073] In an implementation, the network may be, such as but not limited to, 4G, 5G or 6G network. The set of NFs may include, without limitations, Access and Mobility Management Function (AMF), Session management Function (SMF), etc. as described in FIG. 1.
[0074] The transceiver unit
[0304] is connected to at least the connection unit
[0302] , The transceiver unit
[0304] is configured to receive, at the server module
[0320] , an input related to a selection of one or more NFs
[0322] (such as any one or more of the NFs [322-1, 322-2. . ,322-N]) from the set of NFs
[0322] for which the corresponding firmware is to be upgraded. As used herein, the upgrading of firmware may be associated with operations such as, without limitations, adding or installing new features of operating system (OS), OS version, software packages, supported formats, plug-ins, etc.
[0075] In an embodiment, the input is received from a user interface (UI), by a user. In an exemplary implementation, the user such as, network admin, service provider or any authorised person, may provide the input related to a selection of the one or more NFs
[0322] for which the firmware is to be upgraded. The user may provide the input using a user device such as a mobile device, a computer device, a human machine interface (HMI) device, etc. The input may be in the form of any one or more of a text input, a touch input and a voice input.
[0076] In another embodiment, the input is received from the selection unit
[0314] , The selection unit
[0314] is configured to provide the input based on checking, at the server module
[0320] , a current version of the corresponding firmware in each NF from the set of NFs
[0322] in the network. Further, the selection unit
[0314] is configured to provide the input based on selecting, at the server module
[0320] , the one or more NFs
[0322] , based on a difference between the current version of the corresponding firmware in the one or more NFs
[0322] , and a latest available firmware for the one or more NFs
[0322] , In other words, the selection unit
[0314] is configured to monitor the set of NFs
[0322] in the network. Specifically, the selection unit
[0314] may monitor the current version of the firmware running on the set of NFs
[0322] , The selection unit
[0314] may receive an input regarding an update in the firmware of related to any one or more NFs
[0322] , The update may be received from the server module
[0320] , and may be received as a user input from the UI. The selection unit
[0314] may be configured to compare the latest available firmware for an NF
[0322] (as received from the update) with the current version of the firmware in the NF
[0322] , If the selection unit
[0314] finds a difference, i.e., if the selection unit
[0314] determines, based on the comparison, that the NF
[0322] is running a version of the firmware that is different than the latest available version, the selection unit
[0314] is configured to select the NF
[0322] to be part of the input relating to the one or more NFs
[0322] whose firmware is to be upgraded.
[0077] The generation unit
[0306] is connected at least to the transceiver unit
[0304] , The generation unit
[0306] is configured to generate, at the server module
[0320] a task for upgrading the firmware of the one or more NFs
[0322] , The generation unit
[0306] generates the task based on the input received relating to the selection of the one or more NFs
[0322] , In an embodiment, in order to generate the task, the generation unit
[0306] is configured to check the current version of the corresponding firmware in the one or more NFs
[0322] , Further, the generation unit
[0306] is configured to determine that the one or more NFs
[0322] require the firmware upgrade, based on the difference between the current version of the corresponding firmware in the one or more NFs
[0322] , and the latest available firmware for the one or more NFs
[0322] , Furthermore, the generationunit
[0306] is configured to generate the task. The task may comprise upgrading the firmware of the one or more NFs
[0322] from the corresponding current version to the latest available version. In an embodiment, the task may comprise a set of instructions in the form of a script. The set of instruction may be instructive of upgrading the firmware of the one or more NFs
[0322] , The set of instructions may be stored at a storage unit connected to at least the generation unit
[0306] ,
[0078] The upgrading unit
[0308] is connected at least to the generation unit
[0306] , The upgrading unit
[0308] is configured to execute, at the server module
[0320] , the generated task. In an implementation, the upgrading unit
[0308] is configured to access the set of instructions stored in the storage unit, where the storage unit is further connected at least to the upgrading unit
[0308] , The upgrading unit
[0308] is configured to then execute the set of instructions. In an embodiment, the execution of the generated task is performed remotely, based on execution, by the upgrading unit
[0308] , of the set of instructions.
[0079] The restarting unit
[0310] is connected to at least the upgrading unit
[0308] , The restarting unit
[0310] is configured to restart, at the server module
[0320] , the one or more NFs
[0322] to complete the upgradation of the corresponding firmware of the one or more NFs
[0322] , After execution of the generated task, by the upgrading unit
[0308] , the upgrading unit
[0308] is configured to indicate to the restarting unit
[0310] of the completion of execution of the task. The restarting unit
[0310] is then configured to restart the one or more NFs
[0322] to complete the upgradation of the docker platform.
[0080] The verification unit
[0312] is connected at least to the restarting unit
[0310] , The verification unit
[0312] is configured to verify, at the server module
[0320] , the upgradation of the firmware in each of the one or more NFs
[0322] , The verification unit
[0312] is configured to verify the upgradation on the one or more NFs
[0322] to check functioning of the one or more NFs
[0322] after their upgradation. In an embodiment, to verify the upgradation, the verification unit
[0312] is configured to determine, at the server module
[0320] , a status of operation of the one or more NFs
[0322] after upgradation of the corresponding firmware of the one or more NFs
[0322] , The status of operation may be one of functional, and non-functional. In an implementation, the status of operation may be determined by the connection unit
[0302] based on connectivity of the upgraded one or more NFs
[0322] with the server module
[0320] , The verification unit
[0312] may be further configured to determine, at the server module
[0320] , a status of the upgradation process. The status of the upgradation process may be successful, when the status of operation of the one or more NFs
[0322] is functional, after the upgradation process. The status of the upgradation process may be unsuccessful, when the status of operation of the one or more NFs
[0322] is non-functional, after the upgradation process.
[0081] In an exemplary implementation, the verification unit
[0312] is configured to check the functioning of the one or more NFs
[0322] for identifying any error or any deviation from their correct functioning.
[0082] In an exemplary implementation, the system
[0300] is configured to store the NFs
[0322] having a successful upgradation process in a list of successfully upgraded NFs, in the storage unit. In another exemplary implementation, the system
[0300] is configured to store the NFs
[0322] having an unsuccessful upgradation process in a list of unsuccessfully upgraded NFs, in the storage unit. The system
[0300] may share status of the upgradation of the one or more NFs
[0322] with the user, at the UI.
[0083] 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 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.
[0084] FIG. 4 illustrates an exemplary flow diagram of a method
[0400] for upgrading firmware in network functions (NFs) in a network, in accordance with exemplary implementations of the present disclosure. In an implementation the method
[0400] is performed by the system
[0300] , Referring now to FIGs. 3 and 4, the method
[0400] starts at step
[0402] ,
[0085] At step
[0404] , the method
[0400] comprises checking, by the connection unit
[0302] , at the server module
[0320] , the connectivity between the server module
[0320] and the set of network functions (NFs)
[0322] in the network.
[0086] At step
[0406] , the method
[0400] further comprises receiving, by the transceiver unit
[0304] , at the server module
[0320] , the input relating to a selection of one or more NFs
[0322] from the set of NFs
[0322] for which the corresponding firmware is to be upgraded.
[0087] At step
[0408] , the method
[0400] further comprises generating, by the generation unit
[0306] , at the server module
[0320] , the task for upgrading the firmware of the of the one or more NFs
[0322] ,
[0088] In an embodiment, the step of generating the task comprises checking, by the generation unit
[0306] , at the server module
[0320] , the current version of the corresponding firmware in the one or more NFs
[0322] , The step of generating the task further comprises determining, by the generation unit
[0306] , at the server module
[0320] , that the one or more NFs
[0322] require the firmware upgrade, based on the difference between the current version of the corresponding firmware in the one or more NFs
[0322] , and the latest available firmware for the one or more NFs
[0322] , The step of generating the task further comprises generating, by the generation unit
[0306] , at the server module
[0320] , the task, wherein the task comprises upgrading the firmware from in the one or more NFs
[0322] from a corresponding current version to the latest available version.
[0089] At step
[0410] , the method
[0400] further comprises executing, by the upgrading unit
[0308] , at the server module
[0320] , the generated task.
[0090] In an embodiment, the step of executing the generated task is performed remotely, based on execution by the upgrading unit
[0308] , of a set of instructions stored in a storage unit communicably coupled to the upgrading unit
[0308] ,
[0091] At step
[0412] , the method
[0400] further comprises restarting, by the restarting unit
[0310] , at the server module
[0320] , the one or more NFs
[0322] to complete the upgradation of the corresponding firmware in the one or more NFs
[0322] ,
[0092] In an embodiment, the method
[0400] further comprises verifying, by the verification unit
[0312] , at the server module
[0320] , the upgradation on each of the one or more NFs
[0322] , In an embodiment, the step of verifying the upgradation on each of the one or more NFs
[0322] comprises determining, by the verification unit
[0312] at the server module
[0320] , a status of operation of the one or more NFs
[0322] after upgradation of the corresponding firmware of the oneor more NFs
[0322] , The step of verifying the upgradation on each of the one or more NFs
[0322] further comprises determining, by the verification unit
[0312] , at the server module
[0320] , a status of the upgradation process. In an embodiment, the status is one of: successful, when the status of operation of the one or more NFs
[0322] is functional, and unsuccessful, when the status of operation of the one or more NFs
[0322] is non-functional.
[0093] In an embodiment, the input related to the selection of the one or more NFs
[0322] is provided from the UI. In an embodiment, the input related to the selection of the one or more NFs
[0322] is provided based on checking, by the selection unit
[0314] , at the server module
[0320] , the current version of the corresponding firmware in each NF from the set of NFs
[0322] in the network. The input related to the selection of the one or more NFs
[0322] is provided further based on selecting, by the selection unit
[0314] , at the server module
[0320] , the one or more NFs
[0322] , based on a difference between the current version of the corresponding firmware in the one or more NFs
[0322] , and the latest available firmware for the one or more NFs
[0322] ,
[0094] Thereafter, at step
[0414] , the method
[0400] terminates.
[0095] FIG. 5 illustrates an exemplary diagram depicting a process
[0500] for upgrading firmware in network functions
[0322] in a network, in accordance with exemplary implementations of the present disclosure.
[0096] At step
[0502] , the process
[0400] comprises receiving, at the server module
[0320] , the input relating to a selection of one or more NFs
[0322] from the set of NFs
[0322] for which the corresponding firmware is to be upgraded. The input is a user input.
[0097] At step
[0504] , the process
[0500] comprises selecting, at the server module
[0320] , the one or more NFs
[0322] based on the user input. The one or more NFs
[0322] are the ones that require an upgrade of their firmware.
[0098] At step
[0506] , the process
[0500] further comprises checking, at the server module
[0320] , the current version of firmware in the selected NFs
[0322] , If the firmware is out of data, then the server module
[0320] is further configured to generate the task to upgrade the firmware of the NFs
[0322] , The task may include a set of instructions that may be executed at the server module
[0099] At step
[0508] , the process
[0500] comprises executing the task to upgrade the firmware of the selected NFs
[0322] ,
[0100] At step
[0510] , the process
[0500] comprises, restarting the selected NFs
[0322] after the upgrade process is completed.
[0101] At step
[0512] , the process
[0500] comprises verifying the success of the upgrade process in the selected NFs
[0322] ,
[0102] The present disclosure further provides a non-transitory computer-readable storage medium, storing instructions for upgrading firmware in network functions in a network, the storage medium comprising executable code which, when executed by one or more units of a system, causes: a connection unit
[0302] to check, at a server module
[0320] , a connectivity between the server module
[0320] and a set of network functions (NFs)
[0322] in the network; a transceiver unit
[0304] to receive, at the server module
[0320] , an input relating to a selection of one or more NFs
[0322] from the set of NFs
[0322] for which a corresponding firmware is to be upgraded; a generation unit
[0306] to generate, at the server module
[0320] , a task for upgrading the firmware of the of the one or more NFs
[0322] ; an upgrading unit
[0308] to execute, at the server module
[0320] , the generated task; and a restarting unit
[0310] to restart, at the server module
[0320] , the one or more NFs
[0322] to complete the upgradation of the corresponding firmware in the one or more NFs
[0322] ,
[0103] As is evident from the above, the present disclosure provides a technically advanced solution for upgrading firmware in network functions in a network. The present system and method for significant reduction in the time and manual effort conventionally required to implement firmware patches and upgrades, thereby enhancing overall system efficiency and productivity. Further provided is a system and a method that minimizes the risk of human errors, ensuring more accurate and reliable firmware implementations, which in turn, fortifies the integrity and functionality of the devices within the network. Further provided is a system and a method that ensures stringent adherence to NIC standards, guaranteeing consistent and standardized firmware implementations and allowing seamless interoperability and optimal operation of the devices. The present system and method further provide for optimized speed and responsiveness in delivering essential fixes and advancements to the devices, maintaining competitive relevance in the face of rapidly advancing technological developments. Furthermore, there is provided a system and amethod that offers enhanced scalability, enabling the uniform deployment of firmware across multiple devices and nodes, catering to the demands of large-scale operations and ensuring uniformity in updates and implementations.
[0104] While considerable emphasis has been placed herein on the disclosed embodiments, it will be appreciated that many embodiments can be made and that many changes can be made to the embodiments without departing from the principles of the present disclosure. These and other changes in the embodiments of the present disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.
Claims
We Claim:
1. A method [400] for upgrading firmware in network functions in a network, the method [400] comprising:- checking, by a connection unit [302], at a server module [320], a connectivity between the server module [320] and a set of network functions (NFs) [322] in the network;- receiving, by a transceiver unit [304], at the server module [320], an input relating to a selection of one or more NFs [322] from the set of NFs [322] for which a corresponding firmware is to be upgraded;- generating, by a generation unit [306], at the server module [320], a task for upgrading the firmware of the of the one or more NFs [322];- executing, by an upgrading unit [308], at the server module [320], the generated task; and- restarting, by a restarting unit [310], at the server module [320], the one or more NFs [322] to complete the upgradation of the corresponding firmware in the one or more NFs [322],2. The method [400] as claimed in claim 1, wherein the step of generating, at the server module [320], the task comprises:- checking, by the generation unit [306], at the server module [320], a current version of the corresponding firmware in the one or more NFs [322];- determining, by the generation unit [306], at the server module [320], that the one or more NFs [322] require a firmware upgrade, based on a difference between the current version of the corresponding firmware in the one or more NFs [322], and a latest available firmware for the one or more NFs [322]; and- generating, by the generation unit [306], at the server module [320], the task, wherein the task comprises upgrading the firmware from in the one or more NFs [322] from a corresponding current version to the latest available version.
3. The method [400] as claimed in claim 1, wherein the method [400] comprises verifying, by a verification unit [312], at the server module [320], the upgradation on each of the one or more NFs [322], and wherein the step of verifying the upgradation on each of the one or more NFs [322] comprises:- determining, by the verification unit [312] at the server module [320], a status of operation of the one or more NFs [322] after upgradation of the corresponding firmware of the one or more NFs [322]; and- determining, by the verification unit [312], at the server module [320], a status of the upgradation process, wherein the status is one of- successful, when the status of operation of the one or more NFs [322] is functional, and- unsuccessful, when the status of operation of the one or more NFs [322] is nonfunctional.
4. The method [400] as claimed in claim 1, wherein the input related to the selection of the one or more NFs [322] is provided from a user interface (UI).
5. The method [400] as claimed in claim 1, wherein the input related to the selection of the one or more NFs [322] is provided based on:- checking, by a selection unit [314], at the server module [320], a current version of the corresponding firmware in each NF from the set of NFs [322] in the network; and- selecting, by the selection unit [314], at the server module [320], the one or more NFs [322], based on a difference between the current version of the corresponding firmware in the one or more NFs [322], and a latest available firmware for the one or more NFs [322],6. The method [400] as claimed in claim 1, wherein the step of executing the generated task is performed remotely, based on execution by the upgrading unit [308], of a set of instructions stored in a storage unit communicably coupled to the upgrading unit [308],7. A system [300] for upgrading firmware in network functions in a network, the system [300] comprising:- a connection unit [302] configured to check, at a server module [320], a connectivity between the server module [320] and a set of network functions (NFs) [322] in the network;- a transceiver unit [304] connected at least to the connection unit [302], the transceiver unit [304] configured to receive, at the server module [320], an input relating to aselection of one or more NFs [322] from the set of NFs [322] for which a corresponding firmware is to be upgraded;- a generation unit [306] connected at least the transceiver unit [304], the generation unit [306] configured to generate, at the server module [320], a task for upgrading the firmware of the of the one or more NFs [322];- an upgrading unit [308] connected at least to the generation unit [306], the upgrading unit [308] configured to execute, at the server module [320], the generated task; and- a restarting unit [310] connected at least to the upgrading unit [308], the restarting unit [310] configured to restart, at the server module [320], the one or more NFs [322] to complete the upgradation of the corresponding firmware in the one or more NFs [322],8. The system [300] as claimed in claim 7, wherein, to generate, at the server module [320], the task, the generation unit [306] is configured to:- check a current version of the corresponding firmware in the one or more NFs [322];- determine that the one or more NFs [322] require a firmware upgrade, based on a difference between the current version of the corresponding firmware in the one or more NFs [322], and a latest available firmware for the one or more NFs [322]; and- generate the task, wherein the task comprises upgrading the firmware from in the one or more NFs [322] from a corresponding current version to the latest available version.
9. The system [300] as claimed in claim 7, wherein the system [300] comprises a verification unit [312] connected at least to the restarting unit [310], the verification unit [312] configured to verify, at the server module [320], the upgradation on each of the one or more NFs [322], and wherein, to verify the upgradation on each of the one or more NFs [322], the verification unit [312] is further configured to:- determine, at the server module [320], a status of operation of the one or more NFs [322] after upgradation of the corresponding firmware of the one or more NFs [322]; and- determine, at the server module [320], a status of the upgradation process, wherein the status is one of:- successful, when the status of operation of the one or more NFs [322] is functional, and- unsuccessful, when the status of operation of the one or more NFs [322] is nonfunctional.
10. The system [300] as claimed in claim 7, wherein the input related to the selection of the one or more NFs [322] is provided from a user interface (UI).
11. The system [300] as claimed in claim 7, wherein the system [300] comprises a selection unit [314] connected at least to the connection unit [302], and the transceiver unit [304], and wherein the input related to the selection of the one or more NFs [322] is provided based on:- checking, by the selection unit [314], at the server module [320], a current version of the corresponding firmware in each NF from the set of NFs [322] in the network; and- selecting, by the selection unit [314], at the server module [320], the one or more NFs [322], based on a difference between the current version of the corresponding firmware in the one or more NFs [322], and a latest available firmware for the one or more NFs [322],12. The system [300] as claimed in claim 7, wherein execution of the generated task is performed remotely, based on execution by the upgrading unit [308], of a set of instructions stored in a storage unit communicably coupled to the upgrading unit [308],13. A non-transitory computer-readable storage medium, storing instructions for upgrading firmware in network functions in a network, the storage medium comprising executable code which, when executed by one or more units of a system, causes:- a connection unit [302] to check, at a server module [320], a connectivity between the server module [320] and a set of network functions (NFs) [322] in the network;- a transceiver unit [304] to receive, at the server module [320], an input relating to a selection of one or more NFs [322] from the set of NFs [322] for which a corresponding firmware is to be upgraded;- a generation unit [306] to generate, at the server module [320], a task for upgrading the firmware of the of the one or more NFs [322];- an upgrading unit [308] to execute, at the server module [320], the generated task; and- a restarting unit [310] to restart, at the server module [320], the one or more NFs [322] to complete the upgradation of the corresponding firmware in the one or more NFs [322],