Abstract: The present disclosure relates to a method and a system for software upgrade management. The present disclosure encompasses: receiving, by a transceiver unit [302] via a local module [102], an upgrade request having a start time and an end time to perform a software upgrade procedure of a network node; sending, by the local module [102] to a global module [104], the upgrade request; scheduling, by the global module [104], the software upgrade procedure; receiving, by a corresponding zonal module [106], the upgrade request; checking, by the corresponding zonal module [106], one or more pre-conditions; generating one of a positive outcome and a negative outcome based on the one or more pre-conditions; sending, by the corresponding zonal module [106], the upgrade request to a nodes-manager [108], if the positive outcome is generated; performing, by the nodes-manager [108], the software upgrade procedure; and sharing one or more real time updates. [FIG. 3]
FORM 2
THE PATENTS ACT, 1970 (39 OF 1970) & THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
“METHOD AND SYSTEM FOR SOFTWARE UPGRADE
MANAGEMENT”
We, Jio Platforms Limited, an Indian National, of Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
The following specification particularly describes the invention and the manner in which it is to be performed.
METHOD AND SYSTEM FOR SOFTWARE UPGRADE MANAGEMENT
FIELD OF INVENTION
[0001] Embodiments of the present disclosure generally relate to software upgrade management. More particularly, embodiments of the present disclosure relate to methods and systems for software upgrade management at different levels such as global, zonal, and local levels.
BACKGROUND
[0002] The following description of the related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section is used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of the prior art.
[0003] Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements. The first generation of wireless communication technology was based on analog technology and offered only voice services. However, with the advent of the second generation (2G) technology, digital communication and data services became possible, and text messaging was introduced. The third generation (3G) technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth generation (4G) technology revolutionized wireless communication with faster data speeds, better network coverage, and improved security. Currently, the fifth generation (5G) technology is being deployed, promising even faster data speeds, low latency, and the ability to 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] A node that is installed in a network is associated with a software. The software may have to be updated regularly. For each node, the installed software may have to be updated/upgraded. Since there may be a large number of nodes installed across a region, the number of software upgrades/updates required to be installed is also high.
[0005] In the existing solutions, the software is upgraded manually, which requires human intervention of performing manual login at each node and triggering a software upgrade manually by the user. Also, in the existing solutions, the user has to separately login into each node for taking an update of the software upgrade process, such as to check whether the software has been upgraded successfully or not. This is a time consuming and labor-intensive process.
[0006] Further, over the period of time various solutions have been developed to improve the performance of communication devices and to perform software upgrade management. However, there are certain challenges with existing solutions. The existing solutions are extremely time consuming and labor-intensive.
[0007] Thus, there exists an imperative need in the art to provide a system and a method for software upgrade management which is less time consuming, easy to manage, and less labour intensive, which the present disclosure aims to address.
SUMMARY
[0008] 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.
[0009] An aspect of the present disclosure may relate to a method for software upgrade management. The method comprises receiving, by a transceiver unit via a local module, an upgrade request having a start time and an end time to perform a software upgrade procedure of a network node. The method further comprises sending, by the local module to a global module, the upgrade request. The method further comprises scheduling, by the global module, the software upgrade procedure based on the start time and the end time. The method further comprises receiving, by a corresponding zonal module, the upgrade request, wherein the corresponding zonal module is associated with the network node. The method further comprises checking, by the corresponding zonal module, one or more pre-conditions for performing the software upgrade procedure of the network node. The method further comprises generating, by the corresponding zonal module, one of a positive outcome and a negative outcome based on the checking of the one or more pre-conditions. The method further comprises sending, by the corresponding zonal module, the upgrade request to a nodes-manager, in an event the positive outcome is generated. The method further comprises performing, by the nodes-manager, the software upgrade procedure at the network node. The method further comprises sharing, by the nodes-manager with the global module via the corresponding zonal module, one or more real time updates related to the software upgrade procedure at the network node.
[0010] In an exemplary aspect of the present disclosure, the upgrade request further comprises a set of details for performing the software upgrade procedure, the set of details comprises at least one of: an information related to alarms; an input data related to software upgrade; and a set of other details comprising one or more of a profile name information, a circle information, a node type information, a node selection information, a binary profile information, and an exception alarms information.
[0011] In another exemplary aspect of the present disclosure, the upgrade request is received by the corresponding zonal module at the start time.
[0012] In another exemplary aspect of the present disclosure, in an event the negative outcome is generated based on the checking of the one or more pre-conditions, the method comprises aborting, by the corresponding zonal module, the software upgrade procedure. The method further comprises storing, by the corresponding zonal module at a storage unit, a ‘failure’ status, and a reason for ‘failure’ status.
[0013] In an exemplary aspect of the present disclosure, the method further comprises checking, by the corresponding zonal module, one or more post-conditions related to performing software upgrade procedure based on a set of key performance indicators (KPIs).
[0014] Another aspect of the present disclosure may relate to a system for software upgrade management. The system comprises a transceiver unit, a local module, a global module, a zonal module, and a nodes-manager connected to each other either directly or indirectly. The transceiver unit is configured to receive, via the local module, an upgrade request having a start time and an end time to perform a software upgrade procedure of a network node. The local module is configured to send, to a global module, the upgrade request. The global module is configured to schedule the software upgrade procedure based on the start time and the end time. The corresponding zonal module is configured to receive the upgrade request, wherein the corresponding zonal module is associated with the network node. The corresponding zonal module is further configured to check one or more pre¬conditions for performing the software upgrade procedure of the network node. The corresponding zonal module is further configured to generate one of a positive outcome and a negative outcome based on the checking of the one or more pre¬conditions. The corresponding zonal module is further configured to send the upgrade request to the nodes-manager, in an event the positive outcome is
generated. The nodes-manager is configured to perform the software upgrade procedure at the network node. The nodes-manager is further configured to share, via the corresponding zonal module with the global module, one or more real time updates related to the software upgrade procedure at the network node.
[0015] Yet another aspect of the present disclosure may relate to a non-transitory computer readable storage medium storing one or more instructions for software upgrade management, the one or more instructions include executable code which, when executed by one or more units of a system, causes the one or more units to perform certain functions. The one or more instructions when executed causes a transceiver unit of the system to receive an upgrade request, via a local module, having a start time and an end time to perform a software upgrade procedure of a network node. The one or more instructions when executed further causes the local module of the system to send to a global module, the upgrade request. The one or more instructions when executed further causes the global module of the system to schedule the software upgrade procedure based on the start time and the end time. The one or more instructions when executed further causes a corresponding zonal module of the system to receive the upgrade request, wherein the corresponding zonal module is associated with the network node. The one or more instructions when executed further causes the corresponding zonal module of the system to check one or more pre-conditions for performing the software upgrade procedure of the network node. The one or more instructions when executed further causes the corresponding zonal module of the system to generate one of a positive outcome and a negative outcome based on the checking of the one or more pre-conditions. The one or more instructions when executed further causes the corresponding zonal module of the system to send the upgrade request to a nodes-manager, in an event the positive outcome is generated. The one or more instructions when executed further causes the nodes-manager of the system to perform the software upgrade procedure at the network node. The one or more instructions when executed further causes the nodes-manager of the system to share with the global module via the
corresponding zonal module, one or more real time updates related to the software upgrade procedure at the network node.
OBJECTS OF THE DISCLOSURE
5
[0016] Some of the objects of the present disclosure, which at least one embodiment disclosed herein satisfies are listed herein below.
[0017] It is an object of the present disclosure to provide a system and a method for
10 software upgrade management.
[0018] It is an object of the present disclosure to provide a system and a method for software upgrade management which provides a single window for managing and tracking software upgrades in several nodes simultaneously. 15
[0019] It is another object of the present disclosure to provide a solution for software upgrade management that makes easy to manage software upgrades for each node in a region.
20 [0020] It is yet another object of the present disclosure to provide a solution for
software upgrade management that is less time consuming and less labour intensive.
DESCRIPTION OF THE DRAWINGS
25 [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
30 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
7
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. 5
[0022] FIG. 1 illustrates an exemplary block diagram representation of a system architecture.
[0023] FIG. 2 illustrates an exemplary block diagram of a computing device upon
10 which the features of the present disclosure may be implemented in accordance with
exemplary implementation of the present disclosure.
[0024] FIG. 3 illustrates an exemplary block diagram of a system for software
upgrade management, in accordance with exemplary implementations of the
15 present disclosure.
[0025] FIG. 4 illustrates a method flow diagram for software upgrade management in accordance with exemplary implementations of the present disclosure.
20 [0026] The foregoing shall be more apparent from the following more detailed
description of the disclosure.
DETAILED DESCRIPTION
25 [0027] 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
30 another or with any combination of other features. An individual feature may not
8
address any of the problems discussed above or might address only some of the problems discussed above.
[0028] The ensuing description provides exemplary embodiments only, and is not
5 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
10 disclosure as set forth.
[0029] 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
15 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.
[0030] Also, it is noted that individual embodiments may be described as a process
20 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
25 included in a figure.
[0031] 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
30 aspect or design described herein as “exemplary” and/or “demonstrative” is not
necessarily to be construed as preferred or advantageous over other aspects or
9
designs, nor is it meant to preclude equivalent exemplary structures and techniques
known to those of ordinary skill in the art. Furthermore, to the extent that the terms
“includes,” “has,” “contains,” and other similar words are used in either the detailed
description or the claims, such terms are intended to be inclusive—in a manner
5 similar to the term “comprising” as an open transition word—without precluding
any additional or other elements.
[0032] As used herein, a “processing unit” or “processor” or “operating processor” includes one or more processors, wherein processor refers to any logic circuitry for
10 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
15 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.
20 [0033] As used herein, “a user equipment”, “a user device”, “a smart-user-device”,
“a smart-device”, “an electronic device”, “a mobile device”, “a handheld device”, “a wireless communication device”, “a mobile communication device”, “a communication device” may be any electrical, electronic, and/or computing device or equipment, capable of implementing the features of the present disclosure. The
25 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
30 are required to implement the features of the present disclosure.
10
[0034] 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”),
5 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.
10 [0035] As used herein “interface” or “user interface refers to a shared boundary
across which two or more separate components of a system exchange information or data. The interface may also be referred to a set of rules or protocols that define communication or interaction of one or more modules or one or more units with each other, which also includes the methods, functions, or procedures that may be
15 called.
[0036] 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
20 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.
25 [0037] As used herein the transceiver unit include at least one receiver and at least
one transmitter configured respectively for receiving and transmitting data, signals, information, or a combination thereof between units/components within the system and/or connected with the system.
30 [0038] As discussed in the background section, the current known solutions have
several shortcomings. The present disclosure aims to overcome the above-
11
mentioned and other existing problems in this field of technology by providing a method and a system of software upgrade management.
[0039] FIG. 1 illustrates an exemplary block diagram representation of a system
5 architecture [100], in accordance with exemplary implementation of the present
disclosure. As shown in FIG. 1, a local module [102] is connected with a global
module [104], and the local module [102] and the global module [104]
communicate with each other. Further, the global module [104] is connected with a
zonal module [106] and the global module [104] and the zonal module [106] also
10 communicate with each other. The zonal module [106] is connected with a nodes
manager [108] and the zonal module [106] and the nodes manager [108] also communicate with each other.
[0040] In order to perform a software upgrade, the entities involved includes the
15 local module [102], the global module [104], the zonal module [106], and the nodes-
manager [108].
[0041] The local module [102] may refer to a user interface of a self-organising network (SON) within a telecommunication network. The global module [104] may
20 refer to a global self-organising network (SON) used within the telecommunication
network. The corresponding zonal module [106] may refer to a corresponding zonal self-organizing network (SON) within the telecommunication network. The nodes-manager [108] may refer to a component which manages one or more network nodes within the telecommunication network.
25
[0042] FIG. 2 illustrates an exemplary block diagram of a computing device [200] upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. In an implementation, the computing device [200] may also implement a method for
30 software upgrade management utilising the system [300]. In another
implementation, the computing device [200] itself implements the method for
12
software upgrade management using one or more units configured within the computing device [200], wherein said one or more units are capable of implementing the features as disclosed in the present disclosure.
5 [0043] The computing device [200] may include a bus [202] or other
communication mechanism for communicating information, and a hardware
processor [204] coupled with bus [202] for processing information. The hardware
processor [204] may be, for example, a general-purpose microprocessor. The
computing device [200] may also include a main memory [206], such as a random-
10 access memory (RAM), or other dynamic storage device, coupled to the bus [202]
for storing information and instructions to be executed by the processor [204]. The
main memory [206] also may be used for storing temporary variables or other
intermediate information during execution of the instructions to be executed by the
processor [204]. Such instructions, when stored in non-transitory storage media
15 accessible to the processor [204], render the computing device [200] into a special-
purpose machine that is customized to perform the operations specified in the
instructions. The computing device [200] further includes a read only memory
(ROM) [208] or other static storage device coupled to the bus [202] for storing static
information and instructions for the processor [204].
20
[0044] A storage device [210], such as a magnetic disk, optical disk, or solid-state
drive is provided and coupled to the bus [202] for storing information and
instructions. The computing device [200] may be coupled via the bus [202] to a
display [212], such as a cathode ray tube (CRT), Liquid crystal Display (LCD),
25 Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for
displaying information to a computer user. An input device [214], including
alphanumeric and other keys, touch screen input means, etc. may be coupled to the
bus [202] for communicating information and command selections to the processor
[204]. Another type of user input device may be a cursor controller [216], such as a
30 mouse, a trackball, or cursor direction keys, for communicating direction
information and command selections to the processor [204], and for controlling
13
cursor movement on the display [212]. The input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane.
5 [0045] The computing device [200] may implement the techniques described
herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware, and/or program logic which in combination with the computing device [200] causes or programs the computing device [200] to be a special-purpose machine. According to one implementation, the techniques herein are performed by the
10 computing device [200] in response to the processor [204] executing one or more
sequences of one or more instructions contained in the main memory [206]. Such instructions may be read into the main memory [206] from another storage medium, such as the storage device [210]. Execution of the sequences of instructions contained in the main memory [206] causes the processor [204] to perform the
15 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.
[0046] The computing device [200] also may include a communication interface
20 [218] coupled to the bus [202]. The communication interface [218] provides a two-
way data communication coupling to a network link [220] that is connected to a
local network [222]. For example, the communication interface [218] may be an
integrated services digital network (ISDN) card, cable modem, satellite modem, or
a modem to provide a data communication connection to a corresponding type of
25 telephone line. As another example, the communication interface [218] may be a
local area network (LAN) card to provide a data communication connection to a
compatible LAN. Wireless links may also be implemented. In any such
implementation, the communication interface [218] sends and receives electrical,
electromagnetic, or optical signals that carry digital data streams representing
30 various types of information.
14
[0047] The computing device [200] can send messages and receive data, including
program code, through the network(s), the network link [220] and the
communication interface [218]. In the Internet example, a server [230] might
transmit a requested code for an application program through the Internet [228], the
5 ISP [226], the local network [222], a host [224] and the communication interface
[218]. The received code may be executed by the processor [204] as it is received, and/or stored in the storage device [210], or other non-volatile storage for later execution.
10 [0048] Referring to FIG. 3, an exemplary block diagram of a system [300] for
software upgrade management, is shown, in accordance with the exemplary implementations of the present disclosure. The system [300] comprises at least one transceiver unit [302], at least one local module [102], at least one global module [104], at least one zonal module [106], and at least one nodes-manager [108]. Also,
15 all of the components/ units of the system [300] are assumed to be connected to
each other unless otherwise indicated below. As shown in the figures all units shown within the system [300] should also be assumed to be connected to each other. Also, in FIG. 3 only a few units are shown, however, the system [300] may comprise multiple such units or the system [300] may comprise any such numbers of said
20 units, as required to implement the features of the present disclosure. Further, in an
implementation, the system [300] may be present in a user device/ user equipment to implement the features of the present disclosure. The system [300] may be a part of the user device/ or may be independent of but in communication with the user device (may also referred herein as a UE). In another implementation, the system
25 [300] may reside in a server or a network entity. In yet another implementation, the
system [300] may reside partly in the server/ network entity and partly in the user device.
[0049] The system [300] is configured for software upgrade management, with the
30 help of the interconnection between the components/units of the system [300].
15
[0050] Initially, the transceiver unit [302] is configured to receive, via a local
module [102], an upgrade request having a start time and an end time to perform a
software upgrade procedure of a network node. The upgrade request may refer to
an upgrade of one or more software used by the network node. The start time refers
5 to a time at which the software upgrade is required to be started. The end time refers
to a time at which the software upgrade is required to be ended. The start time and
the end time may also be associated with a maintenance period for the network node
within which the software upgrade procedure is required to be performed among
other maintenance tasks. The software upgrade procedure is the upgradation of the
10 one or more software(s) for the network node. The network node may refer to one
or more components within the telecommunication network. For example, the one or more components may be the base stations of the telecommunication network.
[0051] The present disclosure further discloses that the upgrade request also
15 comprises a set of details for performing a software upgrade procedure. The set of
details comprises at least one of: an information related to alarms; an input data
related to software upgrade; and a set of other details comprising one or more of a
profile name information, a circle information, a node type information, a node
selection information, a binary profile information, and an exception alarms
20 information.
[0052] The information related to alarms, and the exception alarm information may refer to an information associated with pre-checks. The input data related to software upgrade comprises, but not limited to, information associated with a
25 software package to be installed as a part of the software upgrade procedure. The
information associated with pre-checks helps in taking decisions regarding whether the software upgrade procedure should be initiated or not. For example, in case the information associated with the pre-checks shows that an alarm is raised, say for communication failure or that the disk storage is full, then in that case initiating of
30 the software upgrade procedure would be unsuccessful. The set of other details and
the one or more profile name information may relate to a unique name that may be
16
given for a software upgrade profile. The circle information may be name of circle
in which the network node (base station) is deployed. The node type information
represents a type of network node or a type of base station. For example, the node
type information may be an outdoor small cell, or an indoor small cell, or a macro
5 cell, etc. The binary profile information may refer to an information through which
the software upgrade is downloaded. In an example, the binary profile information may comprise information such as a secure file transfer protocol (SFTP) server address, one or more credentials, and a path of binary profile.
10 [0053] After receiving the upgrade request by the transceiver unit [302] via the
local module [102], thereafter the local module [102] is configured to send, to a global module [104], the upgrade request. The upgrade request is a request for upgrading the software of the network node.
15 [0054] After the local module [102] sends the upgrade request to the global module
[104], then the global module [104] is configured to schedule the software upgrade procedure based on the start time and the end time. The software upgrade procedure is required to be performed within the start time and the end time.
20 [0055] The corresponding zonal module [106] is configured to receive the upgrade
request, wherein the corresponding zonal module [106] is associated with the network node.
[0056] The corresponding zonal module [106] is configured to check one or more
25 pre-conditions for performing the software upgrade procedure of the network node.
The one or more pre-conditions may be defined by a network operator or a service
provider for the telecommunication network which may also be exception alarms
that specifies for what conditions the software upgrade procedure should not be
proceeded with. The one or more pre-conditions, for example, may be checking
30 whether an alarm for communication failure has been raised, or whether the disk
17
storage is full. The one or more pre-conditions, then checks if the issues still persists then the software upgrade procedure should be aborted.
[0057] The corresponding zonal module [106] is configured to generate one of a
5 positive outcome and a negative outcome based on the checking of the one or more
pre-conditions. The positive outcome refers to an outcome for which the software upgrade procedure can be performed. The negative outcome refers to an outcome for which the software upgrade procedure cannot be performed. For example, in case the alarm for communication failure has raised, or that the disk storage is full
10 is raised, then in that case, this would lead to a negative outcome of the one or more
pre-conditions, since the software upgrade procedure would have to be aborted in such case. Further, in case any of the alarm has not been raised, such as there is no alarm for communication failure or no that there exists space in the disk storage then that would be a positive outcome of such one or more pre-conditions.
15
[0058] The corresponding zonal module [106] is configured to send the upgrade request to a nodes-manager [108], in an event the positive outcome is generated. The node-manager [108] is responsible for software upgrade of the network node.
20 [0059] The nodes-manager [108] is configured to perform the software upgrade
procedure at the network node. The node-manager [108] may directly perform the software upgrade of the network node, or may also send the network node, a request for performing software upgrade. The node-manager [108] communicates with the network nodes in real-time and gathers one or more real time updates. The one or
25 more real time updates may refer to a status of the software upgrade of the network
node in real time. The node-manager [108] shares the one or more real time updates with the corresponding zonal module for updating the status of the software upgrade.
30 [0060] The nodes-manager [108] is configured to share, via the corresponding
zonal module [106] with the global module [104], one or more real time updates
18
related to the software upgrade procedure at the network node. The corresponding zonal module [106] sends the one or more real time updates received from the node-manager [108] to the global module [104] for sharing the status updates for software upgrade procedure in real time. 5
[0061] The present disclosure further discloses that the corresponding zonal module [106] is further configured to receive the upgrade request, at the start time.
[0062] The present disclosure further discloses that in an event the negative
10 outcome is generated based on the checking of the one or more pre-conditions, the
corresponding zonal module [106] is configured to abort the software upgrade
procedure. The corresponding zonal module [106] is further configured to store, at
a storage unit, a ‘failure’ status, and a reason for ‘failure’ status. The event is the
case of negative outcome. The failure status refers to a status that the software
15 upgrade procedure was not successful. The reason for the failure status is the reason
for which the software upgrade procedure was aborted. The reason may be based on the one or more pre-conditions.
[0063] The present subject matter further discloses that the corresponding zonal
20 module [106] is further configured to check one or more post-conditions related to
performing software upgrade procedure based on a set of key performance indicators (KPIs).
[0064] The one or more post-conditions may be a condition that is checked post
25 software upgrade procedure. In an example, the one or more post-conditions may
be checking a value of a key performance indicators (KPI) from a set of KPIs. If
the KPI, say KPI_NAME_1 and the value of the KPI_NAME_1 is set as say 80,
then in that case, post the software upgrade procedure, the value of the
KPI_NAME_1 is monitored for a predefined time period, say 3 days. If the value
30 of the KPI_NAME_1 is changed during the monitoring time period, i.e., if the value
of the KPI_NAME_1 is reduced, then in that case, it would be assumed that the
19
software upgrade procedure was the issue causing degradation of the performance
of the one or more network nodes. To correct the issue, a rollback procedure is
performed for the software upgrade to minimize the negative impact on the
performance of the one or more network nodes. The rollback procedure involves
5 rollback of the software of the one or more network nodes to the previous version.
[0065] In an example, the set of KPIs may be a total cell availability time (TOTAL_CELL_AVA_TIME), a RRC Connection Setup Success Rate, a data radio bearer (DRB) Establishment success Rate, and a Total Traffic, etc.
10
[0066] Referring to FIG. 4, an exemplary method flow diagram [400] for software upgrade management, in accordance with exemplary implementations of the present disclosure is shown. In an implementation the method [400] is performed by the system [300]. Further, in an implementation, the system [300] may be present
15 in a server device to implement the features of the present disclosure. Also, as
shown in FIG. 4, the method [400] starts at step [402].
[0067] Initially, at step [404], the method [400] comprises receiving, by a transceiver unit [302] via a local module [102], an upgrade request having a start
20 time and an end time to perform a software upgrade procedure of a network node.
The upgrade request may refer to an upgrade of one or more software used by the network node. The start time refers to a time at which the software upgrade is required to be started. The end time refers to a time at which the software upgrade is required to be ended. The start time and the end time may also be associated with
25 a maintenance period for the network node within which the software upgrade
procedure is required to be performed among other maintenance tasks. The software upgrade procedure is the upgradation of the one or more software(s) for the network node. The network node may refer to one or more components within the telecommunication network. For example, the one or more components may be the
30 base stations of the telecommunication network.
20
[0068] The present disclosure further discloses that the upgrade request further
comprises a set of details for performing the software upgrade procedure, the set of
details comprises at least one of: an information related to alarms; an input data
related to software upgrade; and a set of other details comprising one or more of a
5 profile name information, a circle information, a node type information, a node
selection information, a binary profile information, and an exception alarms information.
[0069] The information related to alarms, and the exception alarm information may
10 refer to an information associated with pre-checks. The information associated with
pre-checks helps in taking decisions regarding whether the software upgrade procedure should be initiated or not. For example, in case the information associated with the pre-checks shows that an alarm is raised, say for communication failure or that the disk storage is full, then in that case initiating of the software
15 upgrade procedure would be unsuccessful. The set of other details and the one or
more profile name information may relate to a unique name that may be given for a software upgrade profile. The circle information may be name of circle in which the network node (base station) is deployed. The node type information represents a type of network node or a type of base station. For example, the node type
20 information may be an outdoor small cell, or an indoor small cell, or a macro cell,
etc. The binary profile information may refer to an information through which the software upgrade is downloaded. In an example, the binary profile information may comprise information such as a secure file transfer protocol (SFTP) server address, one or more credentials, and a path of binary profile.
25
[0070] After receiving the upgrade request, then at step [406], the method [400] comprises sending, by the local module [102] to a global module [104], the upgrade request. The global module [104] may refer to a global self-organising network used within the telecommunication network. The upgrade request is a request for
30 upgrading the software of the network node.
21
[0071] After the local module [102] sends the upgrade request, then at step [408],
the method [400] further comprises scheduling, by the global module [104], the
software upgrade procedure based on the start time and the end time. The software
upgrade procedure is required to be performed within the start time and the end
5 time.
[0072] Then at step [410], the method [400] further comprises receiving, by a
corresponding zonal module [106], the upgrade request, wherein the corresponding
zonal module [106] is associated with the network node. The corresponding zonal
10 module [106] may refer to a corresponding zonal self-organizing network within
the telecommunication network.
[0073] Thereafter, at step [412], the method [400] involves checking, by the corresponding zonal module [106], one or more pre-conditions for performing the
15 software upgrade procedure of the network node. The one or more pre-conditions
may be defined by a network operator or a service provider for the telecommunication network which may also be exception alarms that specifies for what conditions the software upgrade procedure should not be proceeded with. The one or more pre-conditions, for example, may be checking whether an alarm for
20 communication failure has been raised, or whether the disk storage is full. The one
or more pre-conditions, then checks if the issues still persists then the software upgrade procedure should be aborted.
[0074] After, the one or more pre-conditions are checked, then at step [414], the
25 method [400] further comprises generating, by the corresponding zonal module
[106], one of a positive outcome and a negative outcome based on the checking of
the one or more pre-conditions. The positive outcome refers to an outcome for
which the software upgrade procedure can be performed. The negative outcome
refers to an outcome for which the software upgrade procedure cannot be
30 performed. For example, in case the alarm for communication failure has raised, or
that the disk storage is full is raised, then in that case, this would lead to a negative
22
outcome of the one or more pre-conditions, since the software upgrade procedure
would have to be aborted in such case. Further, in case any of the alarm has not
been raised, such as there is no alarm for communication failure or no that there
exists space in the disk storage then that would be a positive outcome of such one
5 or more pre-conditions.
[0075] At step [416], the method [400] comprises sending, by the corresponding
zonal module [106], the upgrade request to a nodes-manager [108], in an event the
positive outcome is generated. The nodes-manager [108] may refer to a component
10 which manages one or more network nodes within the telecommunication network.
The node-manager [108] is responsible for software upgrade of the network node.
[0076] At step [418], the method [400] comprises performing, by the nodes-
manager [108], the software upgrade procedure at the network node. The node-
15 manager [108] may directly perform the software upgrade of the network node, or
may also send the network node, a request for performing software upgrade. The
node-manager [108] communicates with the network nodes in real-time and gathers
one or more real time updates. The one or more real time updates may refer to a
status of the software upgrade of the network node in real time. The node-manager
20 [108] shares the one or more real time updates with the corresponding zonal module
for updating the status of the software upgrade.
[0077] At step [420], the method [400] comprises sharing, by the nodes-manager
[108] with the global module [104] via the corresponding zonal module [106], one
25 or more real time updates related to the software upgrade procedure at the network
node. The corresponding zonal module [106] sends the one or more real time updates received from the node-manager [108] to the global module [104] for sharing the status updates for software upgrade procedure in real time.
30 [0078] The present disclosure further discloses that the upgrade request is received
by the corresponding zonal module [106] at the start time.
23
[0079] The present disclosure further discloses that in an event the negative
outcome is generated based on the checking of the one or more pre-conditions, the
method [400] further comprises aborting, by the corresponding zonal module [106],
5 the software upgrade procedure. Thereafter, the method [400] further comprises
storing, by the corresponding zonal module [106] at a storage unit, a ‘failure’ status,
and a reason for ‘failure’ status. The event is the case of negative outcome. The
failure status refers to a status that the software upgrade procedure was not
successful. The reason for the failure status is the reason for which the software
10 upgrade procedure was aborted. The reason may be based on the one or more pre-
conditions.
[0080] The present disclosure further encompasses that the method [400] further
comprises checking, by the corresponding zonal module [106], one or more post-
15 conditions related to performing software upgrade procedure based on a set of key
performance indicators (KPIs).
[0081] The one or more post-conditions may be a condition that is checked post software upgrade procedure. In an example, the one or more post-conditions may
20 be checking a value of a key performance indicators (KPI) from a set of KPIs. If
the KPI, say KPI_NAME_1 and the value of the KPI_NAME_1 is set as say 80, then in that case, post the software upgrade procedure, the value of the KPI_NAME_1 is monitored for a predefined time period, say 3 days. If the value of the KPI_NAME_1 is changed during the monitoring time period, i.e., if the value
25 of the KPI_NAME_1 is reduced, then in that case, it would be assumed that the
software upgrade procedure was the issue causing degradation of the performance of the one or more network nodes. To correct the issue, a rollback procedure is performed for the software upgrade to minimize the negative impact on the performance of the one or more network nodes. The rollback procedure involves
30 rollback of the software of the one or more network nodes to the previous version.
24
[0082] In an example, the set of KPIs may be a total cell availability time (TOTAL_CELL_AVA_TIME), a RRC Connection Setup Success Rate, a data radio bearer (DRB) Establishment success Rate, and a Total Traffic, etc.
5 [0083] Thereafter, at step [422], the method [400] is terminated.
[0084] The present disclosure further discloses a non-transitory computer readable storage medium storing one or more instructions for software upgrade management, the one or more instructions include executable code which, when executed by one
10 or more units of a system, causes the one or more units to perform certain functions.
The one or more instructions when executed causes a transceiver unit [302] of the system [300] to receive an upgrade request, via a local module [102], having a start time and an end time to perform a software upgrade procedure of a network node. The one or more instructions when executed further causes the local module [102]
15 of the system [300] to send to a global module [104], the upgrade request. The one
or more instructions when executed further causes the global module [104] of the system [300] to schedule the software upgrade procedure based on the start time and the end time. The one or more instructions when executed further causes a corresponding zonal module [106] of the system [300] to receive the upgrade
20 request, wherein the corresponding zonal module [106] is associated with the
network node. The one or more instructions when executed further causes the corresponding zonal module [106] of the system [300] to check one or more pre-conditions for performing the software upgrade procedure of the network node. The one or more instructions when executed further causes the corresponding zonal
25 module [106] of the system [300] to generate one of a positive outcome and a
negative outcome based on the checking of the one or more pre-conditions. The one or more instructions when executed further causes the corresponding zonal module [106] of the system [300] to send the upgrade request to a nodes-manager [108], in an event the positive outcome is generated. The one or more instructions when
30 executed further causes the nodes-manager [108] of the system [300] to perform
the software upgrade procedure at the network node. The one or more instructions
25
when executed further causes the nodes-manager [108] of the system [300] to share with the global module [104] via the corresponding zonal module [106], one or more real time updates related to the software upgrade procedure at the network node. 5
[0085] As is evident from the above, the present disclosure provides a technically
advanced solution for software upgrade management. Implementing the features of
the present disclosure, enables provision of a single window for managing and
tracking software upgrades in several nodes simultaneously. Further, the
10 implementing the features of the present disclosure makes it is easy to manage
software upgrades for each node in a region. Further, the implementing features of the present disclosure for software upgrade management is less time consuming and less labour intensive.
15 [0086] While considerable emphasis has been placed herein on the disclosed
implementations, it will be appreciated that many implementations can be made and that many changes can be made to the implementations without departing from the principles of the present disclosure. These and other changes in the implementations of the present disclosure will be apparent to those skilled in the art, whereby it is to
20 be understood that the foregoing descriptive matter to be implemented is illustrative
and non-limiting.
[0087] Further, in accordance with the present disclosure, it is to be acknowledged that the functionality described for the various components/units can be
25 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
30 arrangements and substitutions of units, provided they achieve the intended
26
functionality described herein, are considered to be encompassed within the scope of the present disclosure.
We Claim:
1. A method for software upgrade management, the method comprising:
- receiving, by a transceiver unit [302] via a local module [102], an upgrade request having a start time and an end time to perform a software upgrade procedure of a network node;
- sending, by the local module [102] to a global module [104], the upgrade request;
- scheduling, by the global module [104], the software upgrade procedure based on the start time and the end time;
- receiving, by a corresponding zonal module [106], the upgrade request, wherein the corresponding zonal module [106] is associated with the network node;
- checking, by the corresponding zonal module [106], one or more pre-conditions for performing the software upgrade procedure of the network node;
- generating, by the corresponding zonal module [106], one of a positive outcome and a negative outcome based on the checking of the one or more pre-conditions;
- sending, by the corresponding zonal module [106], the upgrade request to a nodes-manager [108], in an event the positive outcome is generated;
- performing, by the nodes-manager [108], the software upgrade procedure at the network node; and
- sharing, by the nodes-manager [108] with the global module [104] via the corresponding zonal module [106], one or more real time updates related to the software upgrade procedure at the network node.
2. The method as claimed in claim 1, wherein the upgrade request further
comprises a set of details for performing the software upgrade procedure,
the set of details comprises at least one of: an information related to alarms;
an input data related to software upgrade; and a set of other details comprising one or more of a profile name information, a circle information, a node type information, a node selection information, a binary profile information, and an exception alarms information.
3. The method as claimed in claim 1, wherein the upgrade request is received by the corresponding zonal module [106] at the start time.
4. The method as claimed in claim 1, wherein in an event the negative outcome is generated based on the checking of the one or more pre-conditions, the method comprising:
- aborting, by the corresponding zonal module [106], the software upgrade procedure; and
- storing, by the corresponding zonal module [106] at a storage unit, a ‘failure’ status and a reason for ‘failure’ status.
5. The method as claimed in claim 1 further comprising:
- checking, by the corresponding zonal module [106], one or more post¬
conditions related to performing software upgrade procedure based on a
set of key performance indicators (KPIs).
6. A system [300] for software upgrade management, the system [300]
comprising:
- a transceiver unit [302] configured to receive, via a local module [102], an upgrade request having a start time and an end time to perform a software upgrade procedure of a network node;
- the local module [102] connected at least to the transceiver unit [302], the local module [102] configured to send, to a global module [104], the upgrade request;
- the global module [104] connected at least to the local module [102], the global module [104] configured to schedule the software upgrade procedure based on the start time and the end time; and
- a corresponding zonal module [106] connected at least to the global module [104], the corresponding zonal module [106] is configured to:
o receive the upgrade request, wherein the corresponding zonal
module [106] is associated with the network node, o check one or more pre-conditions for performing the software
upgrade procedure of the network node, o generate one of a positive outcome and a negative outcome
based on the checking of the one or more pre-conditions, o send the upgrade request to a nodes-manager [108], in an event
the positive outcome is generated,
- the nodes-manager [108] connected at least to the corresponding zonal
module [106], the nodes-manager [108] is configured to:
o perform the software upgrade procedure at the network node,
and o share, via the corresponding zonal module [106] with the global
module [104], one or more real time updates related to the
software upgrade procedure at the network node.
.
7. The system as claimed in claim 6, wherein the upgrade request comprises a set of details for performing the software upgrade procedure, the set of details comprises at least one of: an information related to alarms; an input data related to software upgrade; and a set of other details comprising one or more of a profile name information, a circle information, a node type information, a node selection information, a binary profile information, an exception alarms information.
8. The system as claimed in claim 6, wherein the corresponding zonal module [106] is configured to receive the upgrade request, at the start time.
9. The system as claimed in claim 6, wherein in an event the negative outcome is generated based on the checking of the one or more pre-conditions, the corresponding zonal module [106] is configured to:
- abort the software upgrade procedure; and
- store, at a storage unit, a ‘failure’ status and a reason for ‘failure’ status.
10. The system as claimed in claim 6 wherein the corresponding zonal module
[106] is further configured to check one or more post-conditions related to
performing software upgrade procedure based on a set of key performance
indicators (KPIs).
| # | Name | Date |
|---|---|---|
| 1 | 202321047024-STATEMENT OF UNDERTAKING (FORM 3) [12-07-2023(online)].pdf | 2023-07-12 |
| 2 | 202321047024-PROVISIONAL SPECIFICATION [12-07-2023(online)].pdf | 2023-07-12 |
| 3 | 202321047024-FORM 1 [12-07-2023(online)].pdf | 2023-07-12 |
| 4 | 202321047024-FIGURE OF ABSTRACT [12-07-2023(online)].pdf | 2023-07-12 |
| 5 | 202321047024-DRAWINGS [12-07-2023(online)].pdf | 2023-07-12 |
| 6 | 202321047024-FORM-26 [19-09-2023(online)].pdf | 2023-09-19 |
| 7 | 202321047024-Proof of Right [06-10-2023(online)].pdf | 2023-10-06 |
| 8 | 202321047024-ORIGINAL UR 6(1A) FORM 1 & 26)-231023.pdf | 2023-11-06 |
| 9 | 202321047024-ENDORSEMENT BY INVENTORS [09-07-2024(online)].pdf | 2024-07-09 |
| 10 | 202321047024-DRAWING [09-07-2024(online)].pdf | 2024-07-09 |
| 11 | 202321047024-CORRESPONDENCE-OTHERS [09-07-2024(online)].pdf | 2024-07-09 |
| 12 | 202321047024-COMPLETE SPECIFICATION [09-07-2024(online)].pdf | 2024-07-09 |
| 13 | 202321047024-FORM 3 [01-08-2024(online)].pdf | 2024-08-01 |
| 14 | Abstract-1.jpg | 2024-08-12 |
| 15 | 202321047024-Request Letter-Correspondence [14-08-2024(online)].pdf | 2024-08-14 |
| 16 | 202321047024-Power of Attorney [14-08-2024(online)].pdf | 2024-08-14 |
| 17 | 202321047024-Form 1 (Submitted on date of filing) [14-08-2024(online)].pdf | 2024-08-14 |
| 18 | 202321047024-Covering Letter [14-08-2024(online)].pdf | 2024-08-14 |
| 19 | 202321047024-CERTIFIED COPIES TRANSMISSION TO IB [14-08-2024(online)].pdf | 2024-08-14 |