Sign In to Follow Application
View All Documents & Correspondence

Method And System For Performing Software Modification In Cluster Network Architecture

Abstract: The present disclosure relates to a method and a system for performing a software modification in a cluster network architecture [306]. The method comprises accessing first container [3062] within the cluster using a secure access protocol. The method further comprises copying software release package onto the first container [3062]. Furthermore, the method comprises invoking modification utility on the first container [3062] to update configurations of the first container [3062]. Moreover, the method comprises and activating standby application on a second container [3064] within the cluster [306]. [FIG. 4]

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
26 September 2023
Publication Number
14/2025
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

Jio Platforms Limited
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India

Inventors

1. Aayush Bhatnagar
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
2. Birendra Singh Bisht
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
3. Harbinder Pal Singh
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
4. Nitin Warape
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
5. Monish Rode
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
6. Mayur Rane
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
7. Arunreddy Sanjeev
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India

Specification

FORM 2
THE PATENTS ACT, 1970 (39 OF
1970)
&
5 THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
10 “METHOD AND SYSTEM FOR PERFORMING SOFTWARE
MODIFICATION IN CLUSTER NETWORK ARCHITECTURE”
15 We, Jio Platforms Limited, an Indian National, of Office - 101, Saffron, Nr. Centre Point,
Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
20
The following specification particularly describes the invention and the manner in which
it is to be performed.
25
2
METHOD AND SYSTEM FOR PERFORMING SOFTWARE
MODIFICATION IN CLUSTER NETWORK ARCHITECTURE
FIELD OF THE DISCLOSURE
5
[0001] Embodiments of the present disclosure generally relate to the field of
manging network systems. More particularly, embodiments of the present
disclosure relate to performing a software modification in a cluster network
architecture.
10
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
15 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.
20 [0003] To remain competitive and meet the expectations of an ever-changing
landscape, networking companies are continually seeking ways to enhance their
services and improve the overall customer experience. One prominent avenue for
achieving these objectives is timely and convenient modification of software within
various network elements, particularly in the context of containerized
25 environments.
[0004] Containerization, the practice of packaging applications and their
dependencies into lightweight and portable units known as containers, has
revolutionized the deployment and scalability of software across diverse
3
environments. However, the process of upgrading software within containers,
commonly referred to as "container respawning," presents substantial challenges.
[0005] Container respawning involves terminating running containers that utilize
5 outdated software versions and replacing them with new containers running the
latest software. While this approach ensures the use of up-to-date software, it
introduces several critical issues. Notably, container respawning can lead to service
interruptions, increased resource utilization during the transition, and the potential
for data loss or data inconsistency.
10
[0006] In light of these challenges, it is imperative to explore alternative methods
to mitigate the adverse impacts of container respawning on system stability and user
experience during software release upgrades. To address this need, various
methodologies and technologies, such as rolling upgrades, canary releases, and
15 zero-downtime deployment methods, have been developed. These approaches are
designed to facilitate smooth software upgrades while minimizing disruptions to
ongoing business operations.
[0007] Efficient solutions for managing container respawning and software release
20 upgrades are vital to ensure the reliability and availability of applications in an
increasingly dynamic and competitive software landscape. However, conventional
approaches have fallen short in addressing known issues, including application
downtime and system overhead caused by managing traffic bursts and application
stops, adversely affecting the user experience.
25
[0008] Hence, in view of these and other existing limitations, there exists an
imperative need in the field of software upgrades to provide a method for software
upgrade releases that significantly enhances efficiency and reliability while
simultaneously eliminating application downtime and minimizing system overhead
30 in telecommunication industries, which the present disclosure aims to address.
4
OBJECTS OF THE DISCLOSURE
[0009] This section is provided to introduce certain objects and aspects of the
present invention in a simplified form that are further described below in the
5 description. In order to overcome at least a few problems associated with the known
solutions as provided in the previous section, an object of the present invention is
to substantially reduce the limitations and drawbacks of the prior arts as described
hereinabove.
10 [0010] Some of the objects of the present disclosure, which at least one
embodiment disclosed herein satisfies are listed herein below.
[0011] It is an object of the present disclosure to provide a system and a method for
performing a software modification in a cluster network architecture.
15
[0012] It is another object of the present disclosure to eliminate or minimize the
need for container respawning or restarting during the software upgrade process,
thereby reducing service interruptions and resource overhead.
20 [0013] It is yet another object of the present disclosure to provide a high availability
upgrade process, to avoid service interruptions during upgrade process.
[0014] It is yet another object of the present disclosure to facilitate sequential
upgrades of controllers and payloads within the clustered network function, thereby
25 ensuring that each component is upgraded one at a time, reducing the risk of
downtime sequential upgrade process.
SUMMARY
30 [0015] 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.
5
This summary is not intended to identify the key features or the scope of the claimed
subject matter.
[0016] An aspect of the present disclosure may relate to a method for performing a
5 software modification in a cluster network architecture. The method comprises
accessing, by an authorization unit, a first controller container within the cluster
using a secure access protocol. The method further comprises copying, by a
processing unit, a software release package onto the first controller container.
Furthermore, the method comprises invoking, by the processing unit, a modification
10 utility on the first controller container to at least update configurations of the first
controller container. The method also comprises activating, by the processing unit,
at least one standby application on a second controller container within the cluster.
The at least one standby application takes control over network traffic to maintain
service availability during the software modification.
15
[0017] In an exemplary aspect of the present disclosure, the method further
comprises sequentially invoking, by the processing unit, the modification utility
across all containers of the cluster, ensuring that at least one container remains
active to handle the network traffic during the software modification.
20
[0018] In an exemplary aspect of the present disclosure, the secure access protocol
is Secure Shell (SSH).
[0019] In an exemplary aspect of the present disclosure, the software release
25 package comprises at least one of updated configuration files, shared libraries,
system binaries, and executable files associated with a new software version.
[0020] In an exemplary aspect of the present disclosure, the method further
comprises updating, by the processing unit, a path in a persistent volume of the first
6
controller container. The path indicates a location where the software release
package is copied.
[0021] In an exemplary aspect of the present disclosure, the at least one standby
5 application is activated on the second container in case the at least one standby
application is associated with at least one active application running on the first
controller container.
[0022] Another aspect of the present disclosure may relate to a system for
10 performing a software modification in a cluster network architecture. The system
comprises an authorization unit configured to access a first controller container
within the cluster using a secure access protocol. The system further comprises a
processing unit configured to copy a software release package onto the first
controller container. The processing unit is configured to invoke a modification
15 utility on the first controller container to at least update configurations of the first
controller container. The processing unit is configured to activate at least one
standby application on a second container within the cluster. The at least one
standby application takes control over network traffic to maintain service
availability during the software modification.
20
[0023] Another aspect of the present disclosure may relate to a non-transitory
computer-readable storage medium storing instruction for performing a software
modification in a cluster network architecture, the storage medium comprising
executable code which, when executed by one or more units of a system, causes an
25 authorization unit configured to access a first controller container within the cluster
using a secure access protocol. Further, the executable code which, when executed
causes a processing unit configured to copy a software release package onto the
first controller container. Further, the executable code which, when executed causes
the processing unit to invoke a modification utility on the first controller container
30 to at least update configurations of the first controller container. Further, the
7
executable code which, when executed causes the processing unit to activate at least
one standby application on a second container within the cluster. The at least one
standby application takes control over network traffic to maintain service
availability during the software modification.
5
DESCRIPTION OF DRAWINGS
[0024] The accompanying drawings, which are incorporated herein, and constitute
a part of this disclosure, illustrate exemplary embodiments of the disclosed methods
10 and systems in which like reference numerals refer to the same parts throughout the
different drawings. Components in the drawings are not necessarily to scale,
emphasis instead being placed upon clearly illustrating the principles of the present
disclosure. Some drawings may indicate the components using block diagrams and
may not represent the internal circuitry of each component. It will be appreciated
15 by those skilled in the art that disclosure of such drawings includes disclosure of
electrical components, electronic components or circuitry commonly used to
implement such components.
[0025] FIG.1 illustrates an exemplary block diagram representation of a 5th
20 generation core (5GC) network architecture [100].
[0026] 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 implementations of the present disclosure.
25
[0027] FIG.3 illustrates an exemplary block diagram of a system for performing a
software modification in a cluster network architecture, in accordance with
exemplary implementations of the present disclosure.
8
[0028] FIG.4 illustrates an exemplary method [400] flow diagram for performing
the software modification in the cluster network architecture, in accordance with
exemplary implementations of the present disclosure.
5 [0029] FIG.5 illustrates an exemplary flow chart of a process for performing the
software modification in the cluster network architecture, in accordance with
exemplary implementations of the present disclosure.
[0030] The foregoing shall be more apparent from the following more detailed
10 description of the disclosure.
DETAILED DESCRIPTION
[0031] In the following description, for the purposes of explanation, various
15 specific details are set forth 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 can each be used independently of one another or with any
combination of other features. An individual feature may not address any of the
20 problems discussed above or might address only some of the problems discussed
above. Some of the problems discussed above might not be fully addressed by any
of the features described herein. Example embodiments of the present disclosure
are described below, as illustrated in various drawings in which like reference
numerals refer to the same parts throughout the different drawings.
25
[0032] 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.
30 It should be understood that various changes may be made in the function and
9
arrangement of elements without departing from the spirit and scope of the
disclosure as set forth.
[0033] Specific details are given in the following description to provide a thorough
5 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, networks, processes, and other
components may be shown as components in block diagram form in order not to
obscure the embodiments in unnecessary detail. In other instances, well-known
10 circuits, processes, algorithms, structures, and techniques may be shown without
unnecessary detail in order to avoid obscuring the embodiments.
[0034] 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
15 diagram, or a block diagram. Although a flowchart may describe the operations as
a sequential process, many of the operations can 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 the figure.
20
[0035] 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
25 necessarily to be construed as preferred or advantageous over other aspects or
designs, nor is it meant to preclude equivalent exemplary structures and techniques
known to those of ordinary skill in the art. Furthermore, to the extent that the terms
“includes,” “has,” “contains,” and other similar words are used in either the detailed
description or the claims, such terms are intended to be inclusive in a manner similar
10
to the term “comprising” as an open transition word without precluding any
additional or other elements.
[0036] As used herein, “a user equipment”, “a user device”, “a smart-user-device”,
5 “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
user equipment/device may include, but is not limited to, a mobile phone, smart
10 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 at least one of
a transceiver unit, a processing unit, a storage unit, a detection unit and any other
15 such unit(s) which are required to implement the features of the present disclosure.
[0037] 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
20 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.
25
[0038] As discussed in the background section, the current known solutions have
several shortcomings for performing software modification in a cluster network
architecture, such as container respawning or restarting during the software
modification in network clusters.
30
11
[0039] The present disclosure aims to overcome the above-mentioned and other
existing problems in this field of technology by providing a method and system for
performing software modification in a cluster network architecture. The present
disclosure provides an easy way to upgrade software releases by avoiding downtime
5 of the network clusters and overhead caused due to halting of the clusters.
[0040] Hereinafter, exemplary embodiments of the present disclosure will be
described with reference to the accompanying drawings.
10 [0041] FIG. 1 illustrates an exemplary block diagram representation of 5th
generation core (5GC) network architecture, in accordance with exemplary
implementations of the present disclosure. As shown in FIG. 1, the 5GC network
architecture [100] includes a user equipment (UE) [102], a radio access network
(RAN) [104], an access and mobility management function (AMF) [106], a Session
15 Management Function (SMF) [108], a Service Communication Proxy (SCP) [110],
an Authentication Server Function (AUSF) [112], a Network Slice Specific
Authentication and Authorization Function (NSSAAF) [114], a Network Slice
Selection Function (NSSF) [116], a Network Exposure Function (NEF) [118], a
Network Repository Function (NRF) [120], a Policy Control Function (PCF) [122],
20 a Unified Data Management (UDM) [124], an application function (AF) [126], a
User Plane Function (UPF) [128], a data network (DN) [130], 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.
25 [0042] The Radio Access Network (RAN) [104] is the part of a mobile
telecommunications system that connects the user equipment (UE) [102] 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.
30
12
[0043] The Access and Mobility Management Function (AMF) [106] is the 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.
5
[0044] The Session Management Function (SMF) [108] is the 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) [128] for data forwarding and handles IP address allocation and Quality of
10 Service (QoS) enforcement. Further, the SMF [108] facilitates enforcement of
session management related policy decisions from the PCF [122].
[0045] The Service Communication Proxy (SCP) [110] is a network function in the
5G core network that facilitates communication between other network functions
15 by providing a secure and efficient messaging service. It acts as a mediator for
service-based interfaces.
[0046] The Authentication Server Function (AUSF) [112] is the network function
in the 5G core responsible for authenticating UEs during registration and providing
20 security services. It generates and verifies authentication vectors and tokens.
[0047] The Network Slice Specific Authentication and Authorization Function
(NSSAAF) [114] is the network function that provides authentication and
authorization services specific to network slices. It ensures that UEs can access only
25 the slices for which they are authorized.
[0048] The Network Slice Selection Function (NSSF) [116] is the network function
responsible for selecting the appropriate network slice for the UE based on factors
such as subscription, requested services, and network policies.
30
13
[0049] The Network Exposure Function (NEF) [118] is the network function that
exposes capabilities and services of the 5G network to external applications,
enabling integration with third-party services and applications.
5 [0050] The Network Repository Function (NRF) [120] is the 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.
[0051] The Policy Control Function (PCF) [122] enables efficient policy control
10 and management, facilitating network behaviour control, network slicing, user
equipment (UE) activities, and communication with other 5G core
network functions. PCF is responsible for policy control decisions, such as QoS,
charging, and access control, based on subscriber information and network policies.
The PCF is responsible for policy control decisions and flow-based charging control
15 functionalities.
[0052] The Unified Data Management (UDM) [124] is the network function that
centralizes the management of subscriber data, including authentication,
authorization, and subscription information.
20
[0053] The Application Function (AF) [126] is the network function that represents
external applications interfacing with the 5G core network to access network
capabilities and services. In an exemplary implementation, the application function
(AF) [126] as shown in FIG. 1, resembles an application server that can interact
25 with the other control-plane NFs. AF(s) [126] can exist for different application
services and can be owned by the network operator or by trusted third parties. For
instance, the AF [126] of an over-the-top application provider can influence routing,
steering its traffic towards its external edge servers. For services considered to be
trusted by the operator, the AF [126] can access Network Function(s) (NF) directly
14
whereas untrusted or third-party AF(s) [126] would access the Network Functions
through the NEF [118].
[0054] The User Plane Function (UPF) [128] is the network function responsible
5 for handling user data traffic, including packet routing, forwarding, and QoS
enforcement.
[0055] The Data Network (DN) [130] refers to a network that provides data
services to user equipment (UE) [102] in a telecommunications system. The data
10 services may include but are not limited to Internet services, private data network
related services.
[0056] The 5GC network architecture also comprises a plurality of interfaces for
connecting the network functions with a network entity for performing the network
15 functions. The network is designed as an interconnected system of Network
Functions (NFs) [also known as fifth generation communication network (5GCN)
network function NF)] that communicate through the one or more interfaces (i.e.,
service-based interfaces or reference point interfaces). The Network Functions
(NF(s)) within the 5G control plane will use service-based interfaces for their
20 interactions. The user plane function (UPF) [128], and radio interactions shall use
the reference point interfaces. Each NF exposes specific functionality and provides
services to other NFs. Therefore, any communication or routing between NFs or
between the network nodes and NFs takes place through these interfaces. Interfaces
are self-contained software modules that are reusable independently of each other
25 and can be thought of as micro services. Further, as shown in the FIG. 1, the
following service-based interfaces are defined:
Namf: Service-based interface exhibited by AMF [106].
Nsmf: Service-based interface exhibited by SMF [108].
Nnef: Service-based interface exhibited by NEF [118].
30 Npcf: Service-based interface exhibited by PCF [122].
15
Nudm: Service-based interface exhibited by UDM [124].
Naf: Service-based interface exhibited by AF [126].
Nchf: Service-based interface exhibited by CHF [132].
Nnrf: Service-based interface exhibited by NRF [120].
5 Nnssf: Service-based interface exhibited by NSSF [116].
Nausf: Service-based interface exhibited by AUSF [112].
Nnssaaf: Service-based interface exhibited by NSSAAF [114].
Nlmf: Service-based interface exhibited by LMF [144].
Nscp: Service-based interface exhibited by SCP [110].
10
[0057] Further, the 5G System Architecture as shown in FIG. 1, contains the
following reference points:
N1: Reference point between the UE [102] and the AMF [106].
N2: Reference point between the RAN [104] and the AMF [106].
15 N3: Reference point between the RAN [104] and the UPF [128].
N4: Reference point between the SMF [108] and the UPF [128].
N6: Reference point between the UPF [128] and a Data Network.
[0058] FIG. 2 illustrates an exemplary block diagram of a computing device [200]
20 upon which the features of the present disclosure may be implemented, in
accordance with exemplary implementation of the present disclosure. In an
implementation, the computing device [200] may implement a method [400] for
performing a software modification in a cluster network architecture [306] (as
shown in FIG.3). In another implementation, the computing device [200] itself
25 implements the method [400] for performing the software modification in the
cluster network architecture [306] 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.
16
[0059] The computing device [200] may include a bus [202] or other
communication mechanism for communicating information, and a hardware
processor [204] coupled with the bus [202] for processing information. The
hardware processor [204] may be, for example, a general-purpose microprocessor.
5 The computing device [200] may also include a main memory [206], such as a
random-access memory (RAM), or other dynamic storage device, coupled to the
bus [202] for storing information and instructions to be executed by the processor
[204]. The main memory [206] also may be used for storing temporary variables or
other intermediate information during execution of the instructions to be executed
10 by the processor [204]. Such instructions, when stored in non-transitory storage
media accessible to the processor [204], render the computing device [200] into a
special-purpose machine that is customized to perform the operations specified in
the instructions. The computing device [200] further includes a read only memory
(ROM) [208] or other static storage device coupled to the bus [202] for storing static
15 information and instructions for the processor [204].
[0060] 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
20 display [212], such as a cathode ray tube (CRT), Liquid crystal Display (LCD),
Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for
displaying information to a computer user. An input device [214], including
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
25 [204]. Another type of user input device may be a cursor controller [216], such as
a mouse, a trackball, or cursor direction keys, for communicating direction
information and command selections to the processor [204], and for controlling
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
30 the device to specify positions in a plane.
17
[0061] 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
5 or programs the computing device [200] to be a special-purpose machine.
According to one implementation, the techniques herein are performed by the
computing device [200] in response to the processor [204] executing one or more
sequences of one or more instructions contained in the main memory [206]. Such
instructions may be read into the main memory [206] from another storage medium,
10 such as the storage device [210]. Execution of the sequences of instructions
contained in the main memory [206] causes the processor [204] to perform the
process steps described herein. In alternative implementations of the present
disclosure, hard-wired circuitry may be used in place of or in combination with
software instructions.
15
[0062] The computing device [200] also may include a communication interface
[218] coupled to the bus [202]. The communication interface [218] provides a twoway data communication coupling to a network link [220] that is connected to a
local network [222]. For example, the communication interface [218] may be an
20 integrated services digital network (ISDN) card, cable modem, satellite modem, or
a modem to provide a data communication connection to a corresponding type of
telephone line. As another example, the communication interface [218] may be a
local area network (LAN) card to provide a data communication connection to a
compatible LAN. Wireless links may also be implemented. In any such
25 implementation, the communication interface [218] sends and receives electrical,
electromagnetic or optical signals that carry digital data streams representing
various types of information.
[0063] The computing device [200] can send messages and receive data, including
30 program code, through the network(s), the network link [220] and the
18
communication interface [218]. In the Internet example, a server [230] might
transmit a requested code for an application program through the Internet [228], the
ISP [226], the local network [222], the host [224] and the communication interface
[218]. The received code may be executed by the processor [204] as it is received,
5 and/or stored in the storage device [210], or other non-volatile storage for later
execution.
[0064] FIG.3 illustrates an exemplary block diagram of a system [300] for
performing a software modification in a cluster network architecture [306], in
10 accordance with exemplary implementations of the present disclosure. In one
implementation, the present disclosure is implemented by the system [300]. The
system [300] may be implemented using the computing device [200]. In an
implementation, the computing device [200] may be connected to the system [300].
15 [0065] The system [300] comprises at least one authorization unit [302] and at least
one processing unit [304]. The system [300] is connected to the cluster network
architecture [306]. The cluster network architecture [306] represents the network
cluster to which a user intends to apply the software modification. The cluster
network architecture [306] may comprise a plurality of containers. As shown in
20 FIG. 3, the plurality of containers may include a first controller container [3062]
(may interchangeably be referred to as first container [3062]), a second controller
container [3064] (may interchangeably be referred to as second container [3064]),
and nth controller container [3080] (may interchangeably be referred to as nth
container [3080]).
25
[0066] In one implementation, the cluster network architecture [306] consists of n
number of controllers and m number of payloads which are distributed across the
plurality of container nodes within the cluster network architecture [306]. The
cluster network architecture [306] ensures that network functions continue to
30 operate even during the software modification. In general, term “containers” herein
represent the individual units within the cluster network architecture [306]. These
19
individual units host network function components and are used for software
modifications (including software upgrades and downgrades without requiring
container respawning).
5 [0067] The containers are responsible for orchestration and management of
payloads. All of the components/ units of the system [300] 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 [300] may comprise multiple such units
or the system [300] may comprise any such number of said units, as required to
10 implement the features of the present disclosure. In an implementation, the system
[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.
[0068] The system [300] is configured for performing the software modification in
15 the cluster network architecture [306], with the help of the interconnection between
the components/units of the system [300].
[0069] To perform the software modification, the authorization unit [302] is
configured to access a first controller container (e.g., the first controller [3062])
20 within the cluster [306] using a secure access protocol. In one implementation, the
secure access protocol is Secure Shell (SSH).
[0070] Next, the processing unit [304] is configured to copy a software release
package onto the first container [3062]. In one example, the software release
25 package resides at one or more remote repositories. In particular, a copy of the
software release package is transferred to a local directory in the first container
[3062] among the containers in the clustered network architecture [306].
[0071] Thereafter, the processing unit [304] is configured to invoke a modification
30 utility on the first controller container [3062] to at least update configurations of the
first controller container [3062]. The modification utility may also include changed
20
configurations, updated libraries, and binaries. Then, the processing unit [304] is
configured to activate at least one standby application on a second container [3064]
within the cluster [306]. The at least one standby application takes control over
network traffic to maintain service availability during the software modification.
5
[0072] In an implementation, the processing unit [304] is configured to sequentially
invoke the modification utility across all containers of the cluster [306], ensuring
that at least one container remains active to handle the network traffic during the
software modification.
10
[0073] In one implementation, the authorization unit [302] enables a user to gain
administrative access into the containers of the cluster network architecture [306]
via the Secure Shell (SSH). In general, SSH is a cryptographic network protocol
that provides secure, encrypted access and communication to remote devices over
15 a potentially unsecured network.
[0074] In one implementation, the software release package comprises at least one
of updated configuration files, shared libraries, system binaries, and executable files
associated with a new software version. The configuration files herein refer to the
20 files that comprises settings or parameters that control the execution or behaviour
of the software which is upgraded on the network architecture [306]. In one
example, the configuration files define system paths, memory usage, etc. on the
communication network.
25 [0075] The shared libraries herein may represent collections of code which are
used/ shared by multiple network components to perform common tasks. The
shared libraries facilitate in reducing redundancy. The system binaries herein
represent the core executable code of the software which is essential for the network
system functionality. The system binaries perform low-level tasks like managing
30 hardware and responding to system calls. The executable files herein may represent
21
compiled programs that can run directly for performing a specific function on a
network component.
[0076] In one implementation, the processing unit [304] is configured to update a
5 path in a persistent volume of the first container [3062]. The path herein is
indicative of a location where the software release package is copied. The updating
of the path by the processing unit [304] may refer to modifying the location where
the first container [3062] accesses or stores its data within the cluster network
architecture [306].
10
[0077] In an exemplary aspect of the present disclosure, the at least one standby
application is activated on the second container [3064] in case the at least one
standby application is associated with at least one active application running on the
first container [3062]. In particular, if any application is active on the first container
15 [3062], then corresponding standby application is fed into the waiting queue of
another container e.g., the second container [3064]. Thus, both the associated
applications (one on the first container [3062] and the other one i.e., standby
application on the second container [3064]) are in execution. Also, the standby
application is responsible for performing traffic management functions on the
20 second container [3064]. For example, the traffic management functions may
include, but are not limited to, maintaining network service availability and
controlling traffic bursts.
[0078] Referring to FIG. 4, an exemplary method flow diagram [400] for
25 performing the software modification in the cluster network architecture [306], in
accordance with exemplary implementations of the present disclosure is shown. In
an implementation, the method [400] is performed by the system [300] for
performing the software modification in the cluster network architecture [306]. As
shown in FIG. 4, the method [400] starts at step [402].
30
22
[0079] At step [404], the method [400] comprises accessing, by the authorization
unit [302], the first container [3062] within the cluster [306] using the secure access
protocol. In one implementation, the secure access protocol is SSH.
5 [0080] At step [406], the method [400] comprises copying, by the processing unit
[304], the software release package onto the first container [3062]. The software
release package herein refers to a ready-to-deploy bundle of configuration files,
system binaries, shared libraries, executable files etc. of a software application.
10 [0081] At step [408], the method [400] comprises invoking, by the processing unit
[304], the modification utility on the first container [3062] to at least update
configurations of the first container [3062]. The modification utility may include
new/changed configurations, upgraded libraries, and binaries.
15 [0082] At step [410], the method [400] comprises activating, by the processing unit
[304], at least one standby application on the second container [3064] within the
cluster [306]. The at least one standby application is responsible for taking control
over network traffic to maintain service availability during the software
modification.
20
[0083] In one implementation, the method [400] comprises sequentially invoking,
by the processing unit [304], the modification utility across all containers of the
cluster [306], ensuring that at least one container remains active to handle the
network traffic during the software modification.
25
[0084] In an implementation, the method [400] comprises updating, by the
processing unit [304], the path in a persistent volume of the first container [3062].
The persistent volume herein refers to storage space in the first container [3062],
where the data (for e.g., the software release package which is copied onto the first
30 container [3062]) is retained even when the first container [3062] is under software
modification. The persistent volume ensures that the data remains available even
23
when the containers in the cluster network architecture [306] are undergoing the
software modification. The path indicates a location where the software release
package is copied.
5 [0085] In an implementation, the at least one standby application is activated on the
second container [3064] in case the at least one standby application is associated
with at least one active application running on the first container [3062].
[0086] Thereafter, the method [400] terminates at step [412].
10
[0087] FIG.5 illustrates an exemplary flow chart of a process [500] for performing
the software modification in the cluster network architecture [306], in accordance
with exemplary implementations of the present disclosure. The process [500] is
initiated after gaining administrative access into the controllers of the cluster
15 network architecture [306].
[0088] At step [502], a latest version of the software release package is copied in
the cluster system [306]. In particular, the latest version of the software release
package is copied in the first controller container [3062].
20
[0089] At step [504], at least one standby application is kept in running state with
ongoing network traffic. In particular, the at least one standby application is
activated on a second container in the cluster system [306].
25 [0090] At step [506], the process [500] comprises updating, the software release
package on all remaining nodes of the cluster [306].
[0091] At step [508], the process [500] comprises observing health of the cluster
system [306]. The observation of the health of the cluster system [306] involves
30 monitoring the container nodes on the cluster system [306] to ensure that they are
functioning correctly after the software release package is updated. The observation
24
may include verifying connectivity, network resource utilization etc. to ensure that
the software update did not lead to introduction of other issues in the cluster system
[306].
5 [0092] Thereafter, the process [500] concludes.
[0093] The present disclosure further discloses a non-transitory computer-readable
storage medium storing instruction for performing a software modification in a
cluster network architecture/ cluster [306], the storage medium comprising
10 executable code which, when executed by one or more units of a system [300],
causes an authorization unit [302] configured to access a first container [3062]
within the cluster [306] using a secure access protocol. Further, the executable code
which, when executed causes a processing unit [304] configured to copy a software
release package onto the first container [3062]. Further, the executable code which,
15 when executed causes the processing unit [304] to invoke a modification utility on
the first container [3062] to at least update configurations of the first container
[3062]. Further, the executable code which, when executed causes the processing
unit [304] to activate at least one standby application on a second container [3064]
within the cluster [306]. The at least one standby application takes control over
20 network traffic to maintain service availability during the software modification.
[0094] Further, in accordance with the present disclosure, it is to be acknowledged
that the functionality described for the various the components/units can be
implemented interchangeably. While specific embodiments may disclose a
25 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
25
functionality described herein, are considered to be encompassed within the scope
of the present disclosure.
[0095] As is evident from the above, the present disclosure provides methods and
5 systems for efficient software modification, such as upgrading a cluster network,
ensuring a smooth and controlled process with minimal service disruptions. A key
objective is to maintain consistency and ease of management for uniform upgrades
across all nodes via a remote invocation mechanism. Additionally, continuous
monitoring of the network’s performance allows for timely detection and resolution
10 of issues.
[0096] The present disclosure offers several advantages, including zero downtime
during the upgrade, and ensuring uninterrupted user and service operations. Traffic
distribution remains continuous, preventing disruptions during in-service upgrades
15 and maintaining service availability. The system also eliminates the need for cluster
restarts, reducing resource overhead and improving efficiency.
[0097] Furthermore, the present disclosure ensures quick availability of individual
components, utilizing persistent container data for faster updates without
20 respawning nodes. The upgrade process is non-disruptive, allowing for seamless
software updates without stopping the application server. Dynamic configuration
changes are preserved during upgrades, eliminating the need for reapplication after
the process.
25 [0098] In conclusion, the software modification system provides a configurable and
efficient solution to manage upgrades in cluster networks, improving both costeffectiveness and overall system performance.
[0099] While considerable emphasis has been placed herein on the disclosed
30 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
26
principles of the present disclosure. These and other changes in the implementations
of the present disclosure will be apparent to those skilled in the art, whereby it is to
be understood that the foregoing descriptive matter to be implemented is illustrative
and non-limiting.
5
27
We Claim:
1. A method [400] for performing a software modification in a cluster network
architecture, the method [400] comprising:
accessing, by an authorization unit [302], a first container [3062] within
5 a cluster [306] using a secure access protocol;
copying, by a processing unit [304], a software release package onto the
first container [3062];
invoking, by the processing unit [304], a modification utility on the first
container [3062] to at least update configurations of the first container [3062];
10 and
activating, by the processing unit [304], at least one standby application
on a second container [3064] within the cluster [306], wherein the at least one
standby application takes control over network traffic to maintain service
availability during the software modification.
15
2. The method [400] as claimed in claim 1, comprising sequentially invoking,
by the processing unit [304], the modification utility across all containers of
the cluster [306], ensuring that at least one container remains active to handle
the network traffic during the software modification.
20
3. The method [400] as claimed in claim 1, wherein the secure access protocol
is Secure Shell (SSH).
4. The method [400] as claimed in claim 1, wherein the software release package
25 comprises at least one of updated configuration files, shared libraries, system
binaries, and executable files associated with a new software version.
5. The method [400] as claimed in claim 1, comprising updating, by the
processing unit [304], a path in a persistent volume of the first container
28
[3062], wherein the path indicates a location where the software release
package is copied.
6. The method [400] as claimed in claim 1, wherein the at least one standby
5 application is activated on the second container [3064] in case the at least one
standby application is associated with at least one active application running
on the first container [3062].
7. A system [300] for performing a software modification in a cluster network
10 architecture, the system [300] comprising:
an authorization unit [302] configured to access a first container [3062]
within a cluster [306] using a secure access protocol;
a processing unit [304] connected to at least the authorization unit
[302], the processing unit [304] is configured to:
15 copy a software release package onto the first container [3062];
invoke a modification utility on the first container [3062] to at least
update configurations of the first container [3062]; and
activate at least one standby application on a second container
[3064] within the cluster [306], wherein the at least one standby
20 application takes control over network traffic to maintain service
availability during the software modification.
8. The system [300] as claimed in claim 7, wherein the processing unit [304] is
configured to sequentially invoke the modification utility across all containers
25 of the cluster [306], ensuring that at least one container remains active to
handle the network traffic during the software modification.
9. The system [300] as claimed in claim 7, wherein the secure access protocol
is Secure Shell (SSH).
30
29
10. The system [300] as claimed in claim 7, wherein the software release package
comprises at least one of updated configuration files, shared libraries, system
binaries, and executable files associated with a new software version.
5 11. The system [300] as claimed in claim 7, wherein the processing unit [304] is
configured to update a path in a persistent volume of the first container
[3062], wherein the path indicates a location where the software release
package is copied.
10 12. The system [300] as claimed in claim 7, wherein the at least one standby
application is activated on the second container [3064] in case the at least one
standby application is associated with at least one active application running
on the first container [3062].

Documents

Application Documents

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