Abstract: The present disclosure relates to a method and a system for automating upgradation of driver in a network. The present disclosure encompasses assessing, by an assessment unit [302] at an automation server [300a], connectivity with one or more servers of a cluster; selecting, by a selection unit [304] at the automation server [300a], a list of servers from the one or more servers for a driver upgrade automation; and triggering, by a processing unit [306] at the automation server [300a], using a predefined set of rules, a driver upgrade automation task on the selected list of servers. [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 AUTOMATING
UPGRADATION OF DRIVER IN A NETWORK”
We, Jio Platforms Limited, an Indian National, of Office - 101, Saffron, Nr.
Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
The following specification particularly describes the invention and the manner in
which it is to be performed.
2
METHOD AND SYSTEM FOR AUTOMATING UPGRADATION OF
DRIVER IN A NETWORK
TECHNICAL FIELD
5
[0001] Embodiments of the present disclosure relate generally to the field of
wireless communication systems. More particularly, embodiment of the present
disclosure relates to a method and system for automating upgradation of drivers in
a network.
10
BACKGROUND
[0002] The following description of the related art is intended to provide
background information pertaining to the field of the disclosure. This section may
15 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 an admission of the prior art.
20 [0003] Drivers are software components that enable server hardware to
communicate with the operating system and other applications. To update the
drivers is a necessary task for improving the performance, stability, and
compatibility of the devices in the network. In traditional methods, each type of
cloud native upgrade and infrastructural patch to comply with the 5G standards
25 happens at each 5G network function level with a manual approach, which takes
more time and gives scope for manual errors. Further, to figure out what is the latest
version of driver, there is a need to search for the latest versions of drivers for each
device, manual downloading, and installing them one by one. This procedure is
bothersome and requires a lot of time. Further, if drivers are not up to date, there
30 may be some common problems, which may be faced such as outdated or
incompatible drivers, crashes, errors, or performance issues. Thus, there exists an
3
imperative need in the art to provide an efficient system and method for automating
upgradation of drivers in a network.
SUMMARY
5
[0004] This section is provided to introduce certain aspects of the present
disclosure in a simplified form that are further described below in the detailed
description. This summary is not intended to identify the key features or the scope
of the claimed subject matter.
10
[0005] An aspect of the present disclosure provides a method for automating
upgradation of driver in a network. The method includes assessing, by an
assessment unit at an automation server, connectivity with one or more servers of a
cluster. The method further includes selecting, by a selection unit at the automation
15 server, a list of servers from the one or more servers for a driver upgrade
automation. The method further includes triggering, by a processing unit at the
automation server, using a predefined set of rules, a driver upgrade automation task
on the selected list of servers.
20 [0006] In an aspect, in response to triggering the driver upgrade automation task
on the selected list of servers, the method further comprises receiving, from the
selected list of servers, an acknowledgement indicating successful driver upgrade
on the selected list of servers.
25 [0007] In an aspect, the driver upgrade for the selected list of servers is performed
based on increasing order of latency.
[0008] In an aspect, pursuant to triggering the driver upgrade automation task on
the selection of the list of servers, the method further comprises rebooting, by the
30 processing unit at the automation server, the selected list of servers.
4
[0009] In an aspect, the list of servers is received from a user interface unit.
[0010] In an aspect, the driver upgrade automation task on the one or more
selected list of servers comprises at least one of updates or implementations for at
5 least one of infrastructural patch, compatible with operating system version,
compatible with application version, or compatible with plugin interface, and a
combination thereof.
[0011] In an aspect, the predefined set of rules comprises one or more driver
10 upgrade automation tasks for detecting and selecting the one or more driver updates
for installing on the list of servers.
[0012] In an aspect, each server from the cluster is automatically added to the list
of servers.
15
[0013] In an aspect, selection is performed based on high availability of the
cluster, for one or more driver upgrades.
[0014] Another aspect of the present disclosure provides a system for automating
20 upgradation of driver in a network. The system includes an automation server. The
automation server includes an assessment unit configured to assess connectivity
with one or more servers of a cluster. The automation server further includes a
selection unit configured to select a list of servers from the one or more servers for
driver upgrade automation. The automation server further includes a processing unit
25 configured to trigger, using a predefined set of rules, a driver upgrade automation
task on the selected list of servers.
[0015] Yet another aspect of the present disclosure may relate to a non-transitory
computer readable storage medium storing instructions for automating upgradation
30 of driver in a network, the instructions include executable code which, when
executed by one or more units of a system, causes an assessment unit to assess
5
connectivity with one or more server of a cluster; a selection unit to select a list of
servers from the one or more servers for a driver upgrade automation; and a
processing unit to trigger, using a predefined set of rules, a driver upgrade
automation task on the selected list of servers.
5
OBJECTS OF THE DISCLOSURE
[0016] Some of the objects of the present disclosure, which at least one
embodiment disclosed herein satisfies are listed herein below.
10
[0017] It is an object of the present disclosure to provide a system and a method
for automating upgradation of driver in a network.
[0018] It is another object of the present disclosure to provide a system and a
15 method for driver upgrade automation of such as but not limited to the 5G network,
or 6G network function servers with flawless, quick upgrades and automated
installation for servers on a large scale.
[0019] It is another object of the present disclosure to provide a system and a
20 method for updating drivers automatically with the latest versions of drivers for
each device, installing on a large scale and removing the problems such as
incompatibility between outdated driver and supported devices, crashes, errors, or
performance issues.
25 DESCRIPTION OF THE DRAWINGS
[0020] 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
30 parts throughout the different drawings. Components in the drawings are not
necessarily to scale, emphasis instead being placed upon clearly illustrating the
6
principles of the present disclosure. Also, the embodiments shown in the figures are
not to be construed as limiting the disclosure, but the possible variants of the method
and system according to the disclosure are illustrated herein to highlight the
advantages of the disclosure. It will be appreciated by those skilled in the art that
5 disclosure of such drawings includes disclosure of electrical components or
circuitry commonly used to implement such components.
[0021] FIG. 1 illustrates an exemplary block diagram representation of 5th
generation core (5GC) network architecture.
10
[0022] FIG. 2 illustrates an exemplary block diagram of a computing device upon
which the features of the present disclosure may be implemented in accordance with
exemplary implementation of the present disclosure.
15 [0023] FIG. 3 illustrates an exemplary block diagram of a system for automating
upgradation of driver in a network, in accordance with exemplary implementations
of the present disclosure.
[0024] FIG. 4 illustrates an exemplary network environment for automating
20 upgradation of driver in a network, in accordance with exemplary implementations
of the present disclosure.
[0025] FIG. 5 illustrates a method flow diagram for automating upgradation of
driver in a network, in accordance with exemplary implementations of the present
25 disclosure.
[0026] FIG. 6 illustrates an exemplary architecture for automating upgradation of
driver in a network, in accordance with exemplary implementations of the present
disclosure.
30
7
[0027] The foregoing shall be more apparent from the following more detailed
description of the disclosure.
DETAILED DESCRIPTION
5
[0028] In the following description, for the purposes of explanation, various
specific details are set forth in order to provide a thorough understanding of
embodiments of the present disclosure. It will be apparent, however, that
embodiments of the present disclosure may be practiced without these specific
10 details. Several features described hereafter may each be used independently of one
another or with any combination of other features. An individual feature may not
address any of the problems discussed above or might address only some of the
problems discussed above.
15 [0029] The ensuing description provides exemplary embodiments only, and is not
intended to limit the scope, applicability, or configuration of the disclosure. Rather,
the ensuing description of the exemplary embodiments will provide those skilled in
the art with an enabling description for implementing an exemplary embodiment.
It should be understood that various changes may be made in the function and
20 arrangement of elements without departing from the spirit and scope of the
disclosure as set forth.
[0030] Specific details are given in the following description to provide a
thorough understanding of the embodiments. However, it will be understood by one
25 of ordinary skills in the art that the embodiments may be practiced without these
specific details. For example, circuits, systems, processes, and other components
may be shown as components in block diagram form in order not to obscure the
embodiments in unnecessary detail.
30 [0031] Also, it is noted that individual embodiments may be described as a
process which is depicted as a flowchart, a flow diagram, a data flow diagram, a
8
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
5 steps not included in a figure.
[0032] The word “exemplary” and/or “demonstrative” is used herein to mean
serving as an example, instance, or illustration. For the avoidance of doubt, the
subject matter disclosed herein is not limited by such examples. In addition, any
10 aspect or design described herein as “exemplary” and/or “demonstrative” is not
necessarily to be construed as preferred or advantageous over other aspects or
designs, nor is it meant to preclude equivalent exemplary structures and 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
15 description or the claims, such terms are intended to be inclusive—in a manner
similar to the term “comprising” as an open transition word—without precluding
any additional or other elements.
[0033] As used herein, a “processing unit” or “processor” or “operating
20 processor” includes one or more processors, wherein processor refers to any logic
circuitry for processing instructions. A processor may be a general-purpose
processor, a special purpose processor, a conventional processor, a digital signal
processor, a plurality of microprocessors, one or more microprocessors in
association with a Digital Signal Processing (DSP) core, a controller, a
25 microcontroller, Application Specific Integrated Circuits, Field Programmable Gate
Array circuits, any other type of integrated circuits, etc. The processor may perform
signal coding data processing, input/output processing, and/or any other
functionality that enables the working of the system according to the present
disclosure. More specifically, the processor or processing unit is a hardware
30 processor.
9
[0034] As used herein, “a user equipment”, “a user device”, “a smart-userdevice”, “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
5 or equipment, capable of implementing the features of the present disclosure. The
user equipment/device may include, but is not limited to, a mobile phone, smart
phone, laptop, a general-purpose computer, desktop, personal digital assistant,
tablet computer, wearable device or any other computing device which is capable
of implementing the features of the present disclosure. Also, the user device may
10 contain at least one input means configured to receive an input from unit(s) which
are required to implement the features of the present disclosure.
[0035] As used herein, “storage unit” or “memory unit” refers to a machine or
computer-readable medium including any mechanism for storing information in a
15 form readable by a computer or similar machine. For example, a computer-readable
medium includes read-only memory (“ROM”), random access memory (“RAM”),
magnetic disk storage media, optical storage media, flash memory devices or other
types of machine-accessible storage media. The storage unit stores at least the data
that may be required by one or more units of the system to perform their respective
20 functions.
[0036] As used herein “interface” or “user interface” refers to a shared boundary
across which two or more separate components of a system exchange information
or data. The interface may also be referred to a set of rules or protocols that define
25 communication or interaction of one or more modules or one or more units with
each other, which also includes the methods, functions, or procedures that may be
called.
[0037] All modules, units, components used herein, unless explicitly excluded
30 herein, may be software modules or hardware processors, the processors being a
general-purpose processor, a special purpose processor, a conventional processor, a
10
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.
5
[0038] As used herein the transceiver unit includes at least one receiver and at
least one transmitter configured respectively for receiving and transmitting data,
signals, information or a combination thereof between units/components within the
system and/or connected with the system.
10
[0039] As discussed in the background section, the current known solutions have
several shortcomings. The present disclosure aims to overcome the abovementioned and other existing problems in this field of technology by providing a
method and system of providing one or more driver upgrade automation. The
15 present method and system provide driver upgrade automation and all types of
driver installation under one roof in an automotive way.
[0040] Hereinafter, exemplary embodiments of the present disclosure will be
described with reference to the accompanying drawings.
20
[0041] FIG. 1 illustrates an exemplary block diagram representation of 5th
generation core (5GC) network architecture, in accordance with exemplary
implementation of the present disclosure. As shown in figure 1, the 5GC network
architecture [100] includes a user equipment (UE) [102], a radio access network
25 (RAN) [104], an access and mobility management function (AMF) [106], a Session
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
30 Network Repository Function (NRF) [120], a Policy Control Function (PCF) [122],
a Unified Data Management (UDM) [124], an application function (AF) [126], a
11
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.
5 [0042] Radio Access Network (RAN) [104] is the part of a mobile
telecommunications system that connects 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.
10
[0043] Access and Mobility Management Function (AMF) [106] is a 5G core
network function responsible for managing access and mobility aspects, such as UE
registration, connection, and reachability. It also handles mobility management
procedures like handovers and paging.
15
[0044] Session Management Function (SMF) [108] is a 5G core network
function responsible for managing session-related aspects, such as establishing,
modifying, and releasing sessions. It coordinates with the User Plane Function
(UPF) for data forwarding and handles IP address allocation and QoS enforcement.
20
[0045] Service Communication Proxy (SCP) [110] is a network function in the
5G core network that facilitates communication between other network functions
by providing a secure and efficient messaging service. It acts as a mediator for
service-based interfaces.
25
[0046] Authentication Server Function (AUSF) [112] is a network function in
the 5G core responsible for authenticating UEs during registration and providing
security services. It generates and verifies authentication vectors and tokens.
30 [0047] Network Slice Specific Authentication and Authorization Function
(NSSAAF) [114] is a network function that provides authentication and
12
authorization services specific to network slices. It ensures that UEs can access only
the slices for which they are authorized.
[0048] Network Slice Selection Function (NSSF) [116] is a network function
5 responsible for selecting the appropriate network slice for a UE based on factors
such as subscription, requested services, and network policies.
[0049] Network Exposure Function (NEF) [118] is a network function that
exposes capabilities and services of the 5G network to external applications,
10 enabling integration with third-party services and applications.
[0050] Network Repository Function (NRF) [120] is a network function that
acts as a central repository for information about available network functions and
services. It facilitates the discovery and dynamic registration of network functions.
15
[0051] Policy Control Function (PCF) [122] is a network function responsible
for policy control decisions, such as QoS, charging, and access control, based on
subscriber information and network policies.
20 [0052] Unified Data Management (UDM) [124] is a network function that
centralizes the management of subscriber data, including authentication,
authorization, and subscription information.
[0053] Application Function (AF) [126] is a network function that represents
25 external applications interfacing with the 5G core network to access network
capabilities and services.
[0054] User Plane Function (UPF) [128] is a network function responsible for
handling user data traffic, including packet routing, forwarding, and QoS
30 enforcement.
13
[0055] Data Network (DN) [130] refers to a network that provides data services
to user equipment (UE) in a telecommunications system. The data services may
include but are not limited to Internet services, private data network related services.
5 [0056] The 5GC network architecture also comprises a plurality of interfaces for
connecting the network functions with a network entity for performing the network
functions. The NSSF [116] is connected with the network entity via the interface
denoted as (Nnssf) interface in the figure. The NEF [118] is connected with the
network entity via the interface denoted as (Nnef) interface in the figure. The NRF
10 [120] is connected with the network entity via the interface denoted as (Nnrf)
interface in the figure. The PCF [122] is connected with the network entity via the
interface denoted as (Npcf) interface in the figure. The UDM [124] is connected
with the network entity via the interface denoted as (Nudm) interface in the figure.
The AF [126] is connected with the network entity via the interface denoted as (Naf)
15 interface in the figure. The NSSAAF [114] is connected with the network entity via
the interface denoted as (Nnssaaf) interface in the figure. The AUSF [112] is
connected with the network entity via the interface denoted as (Nausf) interface in
the figure. The AMF [106] is connected with the network entity via the interface
denoted as (Namf) interface in the figure. The SMF [108] is connected with the
20 network entity via the interface denoted as (Nsmf) interface in the figure. The SMF
[108] is connected with the UPF [128] via the interface denoted as (N4) interface
in the figure. The UPF [128] is connected with the RAN [104] via the interface
denoted as (N3) interface in the figure. The UPF [128] is connected with the DN
[130] via the interface denoted as (N6) interface in the figure. The RAN [104] is
25 connected with the AMF [106] via the interface denoted as (N2). The AMF [106] is
connected with the RAN [104] via the interface denoted as (N1). The UPF [128] is
connected with other UPF [128] via the interface denoted as (N9). The interfaces
such as Nnssf, Nnef, Nnrf, Npcf, Nudm, Naf, Nnssaaf, Nausf, Namf, Nsmf, N9,
N6, N4, N3, N2, and N1 can be referred to as a communication channel between
30 one or more functions or modules for enabling exchange of data or information
between such functions or modules, and network entities.
14
[0057] 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
5 implementation, the computing device [200] may also implement a method for
automated driver upgradation. In another implementation, the computing device
[200] itself implements the method for automated driver upgradation 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.
10
[0058] The computing device [200] may include a bus [202] or other
communication mechanism for communicating information, and a processor [204]
coupled with bus [202] for processing information. The processor [204] may be, for
example, a general-purpose microprocessor. The computing device [200] may also
15 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 by the processor [204]. Such
20 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 information and
25 instructions for the processor [204].
[0059] 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
30 display [212], such as a cathode ray tube (CRT), Liquid crystal Display (LCD),
Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for
15
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
5 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]. This input device typically has two degrees
of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow
the device to specify positions in a plane.
10
[0060] 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.
15 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,
such as the storage device [210]. Execution of the sequences of instructions
20 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.
25 [0061] 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
integrated services digital network (ISDN) card, cable modem, satellite modem, or
30 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
16
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
5 various types of information.
[0062] 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
10 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,
and/or stored in the storage device [210], or other non-volatile storage for later
execution.
15
[0063] Referring to FIG. 3, an exemplary block diagram of a system [300] for
automating upgradation of driver in a network, is shown, in accordance with the
exemplary implementations of the present disclosure.
20 [0064] FIG. 4 illustrates an exemplary network environment for automating
upgradation of driver in a network, in accordance with exemplary implementations
of the present disclosure.
[0065] It may be noted that FIG. 3 and FIG. 4 have been explained simultaneously
25 and may be read in conjunction with each other.
[0066] It may be further noted that any other network entities/components known
to a person skilled in the art and not depicted in FIG. 4, may also be in
communication with the driver upgrade automation. Such network
30 entities/components have not been explained here for the sake of brevity.
17
[0067] The system [300] comprises an automation server [300a]. The automation
server [300a] comprises at least one assessment unit [302], at least one selection
unit [304] and at least one processing unit [306].
5 [0068] Also, 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
10 numbers of said 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 [102] to implement the features of the present disclosure.
The system [300] may be a part of the user device [102]/ or may be independent of
but in communication with the user device [102] (may also referred herein as a UE).
15 In another 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 and partly in the user device.
[0069] The system [300] is configured for providing one or more driver upgrade
20 automation, with the help of the interconnection between the components/units of
the system [300]. The driver upgrade automation refers to the process of
automatically identifying, selecting, downloading, and installing driver updates on
target devices or systems, such as servers, network nodes, or other hardware
components.
25
[0070] In operation, an automation server [300a] comprising an assessment unit
[302] may assess connectivity with one or more servers of a cluster. This has been
depicted by Step [402] in FIG. 4.
18
[0071] In an implementation of the present disclosure, the assessment unit [302]
is responsible for assessing the connectivity between the automation server [300a]
and one or more servers within a cluster.
5 [0072] The automation server [300a] serves as the central controller for executing
automation tasks, such as driver upgrades, across various servers in a cluster. The
phrase one or more servers refers the system being capable of performing tasks
(such as upgrades, assessments, or operations) on a single server, if needed, or on
multiple servers simultaneously.
10
[0073] The assessment unit [302] initiates the connectivity assessment by
communicating with each server in the cluster. This involves checking the network
availability and confirming the servers are online, capable of receiving commands.
The cluster may include a plurality of servers that work together to confirm high
15 availability (HA).
[0074] In an example, after connectivity is established, each server from the
cluster is automatically added to the list of servers. This has been depicted by Step
[404] in FIG. 4.
20
[0075] In one embodiment of the present invention, after the automation server
[300a] establishes connectivity with one or more servers within the cluster, each of
these servers is automatically added to a list of servers for automation tasks. The
list of servers represents a collection of all the servers in the cluster that are verified
25 to be available and connected to the automation server [300a]. This means that it
may be the reason for changes in the server cluster over time, such as servers going
offline or new servers being added. The system [300] continuously updates the list
based on the current status of the servers.
19
[0076] Once the servers are added to the list, a selection unit [304] may select, at
an automation server [300a], a list of servers from the one or more servers for
automation. This has been depicted by Step [406] in FIG. 4.
5 [0077] In an implementation of the present disclosure, the selection unit [304]
functions as a component within the automation server [300a], capable of applying
predefined rules to determine which servers from the list should undergo
automation. The predefined rules used for selection may include factors such as,
but not limited only to server high availability (HA), latency, performance metrics.
10
[0078] In an example, the list of the list of servers is received from a user interface
unit.
[0079] The user interface may be an administrator, or user may manually input or
15 configure the servers that will undergo automation tasks. The user interface unit
serves as an interaction point between the system and the administrator, allowing
the user to view, modify, or directly select the servers that are eligible for
automation.
20 [0080] In another example, after server selection, selection is performed based on
high availability of the cluster, for one or more driver upgrades. This has been
depicted by Step [408] in FIG. 4.
[0081] In one embodiment, the selection unit [304] may automatically select
25 servers based on their availability and performance. The servers within an HA
configuration are to continue functioning even if one or more servers fail. The HA
means selecting servers in such a way that a given cluster may function without any
outage.
20
[0082] For example, if a server is part of a high availability (HA) cluster, it may
be given higher priority in the selection process to confirm that tasks are executed
on servers that are less likely to experience idle time.
5 [0083] If a server in the HA cluster becomes unavailable or if there are changes in
the cluster configuration (such as adding or removing servers), the system [300]
may adjust the selected list of servers.
[0084] Following server selection, a processing unit [306] may trigger, using a
10 predefined set of rules, a driver upgrade automation task on the selected list of
servers. This has been depicted by Step [410] in FIG. 4.
[0085] The processing unit [306] may first retrieve the most current drivers
applicable to the selected servers. Once the drivers are obtained, the processing unit
15 [306] sends instructions to the selected servers to apply these updates. Throughout
the driver upgrade process, the processing unit [306] may monitor the status of each
server to confirm that the upgrades are applied successfully. These rules dictate how
and when automation tasks may be executed.
20 [0086] In an example, in response to triggering the driver upgrade automation task
on the selected list of servers, the processing unit [306] may receive, from the
selected list of servers, an acknowledgement indicating successful driver upgrade
on the selected list of servers. The driver upgrade for the selected list of servers is
performed based on increasing order of latency. This has been depicted by Step
25 [412] in FIG. 4.
[0087] After the processing unit [306] triggers the driver upgrade task, each
server in the selected list of servers undergoes the upgrade process. Upon
completion, these servers send an acknowledgment back to the processing unit
30 [306]. The selected list of servers refer to servers within the network that are being
21
upgraded. The selected list of servers perform functions in the network, such as
handling data traffic, managing user requests, or running applications.
[0088] The term increasing order of latency refers to the strategy used for
5 executing the driver upgrades. The latency is the time, takes for a data packet to
travel from one point to another within a network. The latency is used to prioritize
the order in which servers are upgraded. The servers with the lowest latency (i.e.,
the quickest response times) are upgraded first. By upgrading servers in this order,
the system [300] may reduce the risk of disturbance.
10
[0089] In another example, pursuant to triggering the driver upgrade automation
task on the selection of the list of servers, the processing unit [306] may reboot the
selected list of servers. This has been depicted by Step [414] in FIG. 4.
15 [0090] After the processing unit [306] triggers the driver upgrade automation task
and the upgrades are applied, the reboot is often necessary to complete the
installation of the new drivers. The rebooting allows the system [300] to load the
new driver configurations. The processing unit [306] may also notify system [300]
administrators of the reboot process. A monitoring tool may be active to track the
20 status of each server during the reboot process. The processing unit [306] may
receive acknowledgement on whether the reboot was successful and whether the
new drivers are functioning. Upon successful rebooting, the servers may operate
with the newly installed drivers.
25 [0091] In yet another example, the driver upgrade automation task on the one or
more selected list of servers comprises at least one of updates or implementations
for at least one of infrastructural patch, compatible with operating system version,
compatible with application version, or compatible with plugin interface, and a
combination thereof. This has been depicted by Step [416] in FIG. 4.
30
22
[0092] The driver upgrade automation task performed on the selected list of
servers includes a series of updates. The task refers to the process of upgrading
drivers on the selected list of servers.
5 [0093] The infrastructural patches refer to updates that address performance
issues within the. These patches may not be limited to drivers but may also include
updates to the system [300]. Each driver must be compatible with the operating
system it runs on to function correctly. The automation task includes checking for
and applying any necessary updates. Similar to OS compatibility, the new drivers
10 may also be compatible with the versions of applications running on the servers.
Many applications depend on driver functionalities to perform their operations.
[0094] It may be noted that, in many systems, drivers interact with various plugins
that improve functionality. The automation task may involve applying a
15 combination of these updates simultaneously.
[0095] For example, a single driver upgrade may require a new infrastructural
patch and adjustments to confirm compatibility with both the OS and the
application.
20
[0096] It will be noted that, the predefined set of rules comprises one or more
driver upgrade automation tasks for detecting and selecting the one or more driver
updates for installing on the selected list of servers.
25 [0097] The predefined set of rules consists of established protocols, guidelines,
and criteria that how the automation system operates during the driver upgrade
process. The tasks included within the set of rules specifically relate to automating
the detection, selection, and installation of driver updates on the selected list of
servers. The tasks within the predefined rules are the ability to detect available
30 driver updates.
23
[0098] After detecting available updates, the system applies the predefined rules
to select the most appropriate drivers for installation. Once the driver updates have
been detected and selected, the automation system proceeds to install them on the
selected list of servers. This process is executed with the established rules, which
5 may dictate the order of installations, methods of deployment, and rollback
procedures in case of errors.
[0099] Referring to FIG. 5, an exemplary method [500] flow diagram for
automating upgradation of driver in a network, in accordance with exemplary
10 implementations of the present disclosure is shown. In an implementation the
method [500] is performed by the system [300]. Further, in an implementation, the
system [300] may be present in a server device to implement the features of the
present disclosure. Also, as shown in Figure 4, the method [500] starts at step 502.
15 [0100] At step 504, in operation, an automation server [300a] comprising an
assessment unit [302] may assess connectivity with one or more servers of a cluster.
[0101] In an implementation of the present disclosure, the assessment unit [302]
is responsible for assessing the connectivity between the automation server [300a]
20 and one or more servers within a cluster.
[0102] The assessment unit [302] initiates the connectivity assessment by
communicating with each server in the cluster. This involves checking the network
availability and confirming the servers are online, capable of receiving commands.
25 The cluster may include a plurality of servers that work together to confirm high
availability (HA).
[0103] The automation server [300a] acts as the central controller for executing
automation tasks, such as driver upgrades, across various servers in a cluster.
30
24
[0104] In an example, after connectivity is established, each server from the
cluster is automatically added to the list of servers.
[0105] In one embodiment of the present invention, after the automation server
5 [300a] establishes connectivity with one or more servers within the cluster, each of
these servers is automatically added to a list of servers for automation tasks. The
list of servers represents a collection of all the servers in the cluster that are verified
to be available and connected to the automation server [300a]. This means that it
may be the reason for changes in the server cluster over time, such as servers going
10 offline or new servers being added. The system [300] continuously updates the list
based on the current status of the servers.
[0106] At step 506, once the servers are added to the list, a selection unit [304]
may select, at an automation server [300a], a list of servers from the one or more
15 servers for automation.
[0107] In an implementation of the present disclosure, the selection unit [304]
functions as a module within the automation server [300a], capable of applying
predefined rules to determine which servers from the list should undergo
20 automation. These rules used for selection may include factors such as server high
availability (HA), latency, performance metrics.
[0108] In an example, the list of the list of servers is received from a user interface
unit.
25
[0109] This provides a mechanism through which an administrator or user may
manually input or configure the servers that will undergo automation tasks. The
user interface unit serves as an interaction point between the system and the
administrator, allowing the user to view, modify, or directly select the servers that
30 are eligible for automation.
25
[0110] In another example, after server selection, selection is performed based on
high availability of the cluster, for one or more driver upgrades.
[0111] In one embodiment, the selection unit [304] may automatically select
5 servers based on their availability and performance. The servers within an HA
configuration are to continue functioning even if one or more servers fail. The HA
means selecting servers in such a way that a given cluster may function without any
outage.
10 [0112] If a server in the HA cluster becomes unavailable or if there are changes in
the cluster configuration (such as adding or removing servers), the system [300]
may adjust the selected list of servers.
[0113] At step 508, following server selection, a processing unit [306] may
15 trigger, using a predefined set of rules, a driver upgrade automation task on the
selected list of servers.
[0114] The processing unit [306] may first retrieve the most current drivers
applicable to the selected list of servers. Once the drivers are obtained, the
20 processing unit [306] sends instructions to the selected list of servers to apply these
updates. Throughout the driver upgrade process, the processing unit [306] may
monitor the status of each server to confirm that the upgrades are applied
successfully. These rules dictate how and when automation tasks may be executed.
25 [0115] In an example, in response to triggering the driver upgrade automation task
on the selected list of servers, the processing unit [306] may receive, from the
selected list of servers, an acknowledgement indicating successful driver upgrade
on the selected list of servers. The driver upgrade for the selected list of servers is
performed based on increasing order of latency.
30
26
[0116] After the processing unit [306] triggers the driver upgrade task, each server
in the selected list of servers undergoes the upgrade process. Upon completion,
these servers send an acknowledgment back to the processing unit [306]. The
selected list of servers refer to servers within the cluster of the network that is being
5 upgraded. The selected list of servers perform functions in the network, such as
handling data traffic, managing user requests, or running applications.
[0117] The latency is the time, takes for a data packet to travel from one point to
another within a network. The latency is used to prioritize the order in which servers
10 are upgraded. The servers with the lowest latency (i.e., the quickest response times)
are upgraded first. By upgrading servers in this order, the system may reduce the
risk of disruption.
[0118] In another example, pursuant to triggering the driver upgrade automation
15 task on the selection of the list of servers, the processing unit [306] may reboot the
selected list of servers.
[0119] After the processing unit [306] triggers the driver upgrade automation task
and the upgrades are applied, the reboot is often necessary to complete the
20 installation of the new drivers. The rebooting allows the system [300] to load the
new driver configurations. The processing unit [306] may also notify system
administrators of the reboot process. A monitoring tool may be active to track the
status of each server during the reboot process. The processing unit [306] may
receive acknowledgement on whether the reboot was successful and whether the
25 new drivers are functioning as intended. Upon successful rebooting, the servers may
operate with the newly installed drivers.
[0120] In yet another example, the driver upgrade automation task on the one or
more selected list of servers comprises at least one of updates or implementations
30 for at least one of infrastructural patch, compatible with operating system version,
27
compatible with application version, or compatible with plugin interface, and a
combination thereof.
[0121] The driver upgrade automation task performed on the selected list of
5 servers includes a series of updates.
[0122] The infrastructural patches refer to updates that address performance
issues within the. These patches may not be limited to drivers but may also include
updates to the system and the server. Each driver must be compatible with the
10 operating system it runs on to function correctly. The automation task includes
checking for and applying any necessary updates. Similar to OS compatibility, the
new drivers may also be compatible with the versions of applications running on
the servers. Many applications depend on driver functionalities to perform their
operations.
15
[0123] It may be noted that, in many systems, drivers interact with various plugins
that improve functionality. The automation task may involve applying a
combination of these updates simultaneously.
20 [0124] It will be noted that, the predefined set of rules comprises one or more
driver upgrade automation tasks for detecting and selecting the one or more driver
updates for installing on the selected list of servers.
[0125] The predefined set of rules consists of established protocols, guidelines,
25 and criteria that how the automation system operates during the driver upgrade
process. The tasks included within the set of rules specifically relate to automating
the detection, selection, and installation of driver updates on the selected list of
servers. The tasks within the predefined rules are the ability to detect available
driver updates.
30
28
[0126] After detecting available updates, the system applies the predefined rules
to select the most appropriate drivers for installation. Once the driver updates have
been detected and selected, the automation system proceeds to install them on the
selected list of servers. This process is executed with the established rules, which
5 may dictate the order of installations, methods of deployment, and rollback
procedures in case of errors.
[0127] Thereafter, the method terminates at step ([510]).
10 [0128] FIG. 6 illustrates an exemplary architecture [600] for automating
upgradation of driver in a network, in accordance with exemplary implementations
of the present disclosure.
[0129] The architecture [600] comprises an automation server [300a] (such as
15 Driver Upgrade Server [602]). In an exemplary aspect, the architecture [600]
includes an assessment unit [302] configured to assess connectivity with one or
more servers (such as fifth generation core network (5GCN) network function (NF)
– 1, 5GCN NF – 2, and 5GCN NF – 3) of a cluster; a selection unit [304] configured
to select a list of servers from the one or more servers for a driver upgrade
20 automation; and a processing unit [306] configured to trigger, using a predefined
set of rules, a driver upgrade automation task on the selected list of servers.
[0130] The present disclosure further discloses a non-transitory computer
readable storage medium storing instructions for automating upgradation of driver
25 in a network, the instructions include executable code which, when executed by one
or more units of a system, causes: an assessment unit [302] to assess connectivity
with one or more server of a cluster. Further, the instructions include executable
code which, when executed causes a selection unit [304] to select a list of servers
from the one or more servers for automation based on high availability of the
30 cluster, wherein each server from the cluster is automatically added to the list of
servers, based on the assessed connectivity, for one or more driver upgrades.
29
Further, the instructions include executable code which, when executed, causes a
processing unit [306] to trigger a driver upgrade automation task on the selected list
of servers.
5 [0131] As is evident from the above, the present disclosure provides a technically
advanced solution for automating upgradation of driver in a network. The present
method and system provide flawless and quick upgrades and help automate driver
installation and upgrades for servers on a large scale. The present method and
system provide automatic driver updates, which provide hassle-free processes and
10 save a lot of time and ensure that drivers are always up to date. The automated
drivers’ updates may prevent problems caused by outdated or incompatible drivers,
such as crashes, errors, or performance issues and may take a smoother and more
secure computing experience. The present method and system provide driver
upgrade automation and all types of driver installation under one roof in an
15 automotive way.
[0132] 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
20 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.
25 [0133] Further, in accordance with the present disclosure, it is to be acknowledged
that the functionality described for the various components/units can be
implemented interchangeably. While specific embodiments may disclose a
particular functionality of these units for clarity, it is recognized that various
configurations and combinations thereof are within the scope of the disclosure. The
30 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
functionality described herein, are considered to be encompassed within the scope
of the present disclosure.
31
We Claim:
1. A method for automating upgradation of driver in a network, the method
comprising:
assessing, by an assessment unit [302] at an automation server [300a],
5 connectivity with one or more servers of a cluster;
selecting, by a selection unit [304] at the automation server [300a], a
list of servers from the one or more servers for a driver upgrade automation;
and
triggering, by a processing unit [306] at the automation server [300a],
10 using a predefined set of rules, a driver upgrade automation task on the
selected list of servers.
2. The method as claimed in claim 1, wherein in response to triggering the driver
upgrade automation task on the selected list of servers, the method further
15 comprises:
receiving, from the selected list of servers, an acknowledgement
indicating successful driver upgrade on the selected list of servers.
3. The method as claimed in claim 1, wherein the driver upgrade for the selected
20 list of servers is performed based on increasing order of latency.
4. The method as claimed in claim 1, wherein pursuant to triggering the driver
upgrade automation task on the selection of the list of servers, the method
further comprises:
25 rebooting, by the processing unit [306] at the automation server [300a],
the selected list of servers.
5. The method as claimed in claim 1, wherein the list of servers is received from
a user interface unit.
30
32
6. The method as claimed in claim 1, wherein the driver upgrade automation
task on the one or more selected list of servers comprises at least one of
updates or implementations for at least one of infrastructural patch,
compatible with operating system version, compatible with application
5 version, or compatible with plugin interface, and a combination thereof.
7. The method as claimed in claim 1, wherein the predefined set of rules
comprises one or more driver upgrade automation task for detecting and
selecting the one or more driver updates for installing on the list of servers.
10
8. The method as claimed in claim 1, wherein each server from the cluster is
automatically added to the list of servers.
9. The method as claimed in claim 1, wherein selection is performed based on
15 high availability of the cluster, for one or more driver upgrades.
10. A system for automating upgradation of driver in a network, the system
comprising:
an automation server [300a] comprising
20 an assessment unit [302] configured to assess connectivity with
one or more server of a cluster;
a selection unit [304] configured to select a list of servers from
the one or more servers for a driver upgrade automation; and
a processing unit [306] configured to trigger, using a predefined
25 set of rules, a driver upgrade automation task on the selected list of
servers.
11. The system as claimed in claim 10, wherein in response to triggering the
driver upgrade automation task on the selected list of servers, the processing
30 unit [306] is further configured to:
33
receive, from the selected list of servers, an acknowledgement
indicating successful driver upgrade on the selected list of servers.
12. The system as claimed in claim 10, wherein the driver upgrade for the selected
5 list of servers is performed based on increasing order of latency.
13. The system as claimed in claim 10, wherein pursuant to triggering the driver
upgrade automation task on the selection of the list of servers, the processing unit [306] is further configured to:
reboot the selected list of servers.
14. The system as claimed in claim 10, wherein the list of the list of servers is received from a user interface unit.
15. The system as claimed in claim 10, wherein the driver upgrade automation task on the one or more selected list of servers comprises at least one of updates or implementations for at least one of infrastructural patch, compatible with operating system version, compatible with application version, or compatible with plugin interface, and a combination thereof.
16. The system as claimed in claim 10, wherein the predefined set of rules comprises one or more driver upgrade automation task for detecting and selecting the one or more driver updates for installing on the selected list of servers.
17. The system as claimed in claim 10, wherein each server from the cluster is automatically added to the list of servers.
18. The system as claimed in claim 10, wherein selection is performed based on high availability of the cluster, for one or more driver upgrades.
| # | Name | Date |
|---|---|---|
| 1 | 202321064697-STATEMENT OF UNDERTAKING (FORM 3) [26-09-2023(online)].pdf | 2023-09-26 |
| 2 | 202321064697-PROVISIONAL SPECIFICATION [26-09-2023(online)].pdf | 2023-09-26 |
| 3 | 202321064697-POWER OF AUTHORITY [26-09-2023(online)].pdf | 2023-09-26 |
| 4 | 202321064697-FORM 1 [26-09-2023(online)].pdf | 2023-09-26 |
| 5 | 202321064697-FIGURE OF ABSTRACT [26-09-2023(online)].pdf | 2023-09-26 |
| 6 | 202321064697-DRAWINGS [26-09-2023(online)].pdf | 2023-09-26 |
| 7 | 202321064697-Proof of Right [21-02-2024(online)].pdf | 2024-02-21 |
| 8 | 202321064697-FORM-5 [26-09-2024(online)].pdf | 2024-09-26 |
| 9 | 202321064697-ENDORSEMENT BY INVENTORS [26-09-2024(online)].pdf | 2024-09-26 |
| 10 | 202321064697-DRAWING [26-09-2024(online)].pdf | 2024-09-26 |
| 11 | 202321064697-CORRESPONDENCE-OTHERS [26-09-2024(online)].pdf | 2024-09-26 |
| 12 | 202321064697-COMPLETE SPECIFICATION [26-09-2024(online)].pdf | 2024-09-26 |
| 13 | 202321064697-FORM 3 [08-10-2024(online)].pdf | 2024-10-08 |
| 14 | 202321064697-Request Letter-Correspondence [11-10-2024(online)].pdf | 2024-10-11 |
| 15 | 202321064697-Power of Attorney [11-10-2024(online)].pdf | 2024-10-11 |
| 16 | 202321064697-Form 1 (Submitted on date of filing) [11-10-2024(online)].pdf | 2024-10-11 |
| 17 | 202321064697-Covering Letter [11-10-2024(online)].pdf | 2024-10-11 |
| 18 | 202321064697-CERTIFIED COPIES TRANSMISSION TO IB [11-10-2024(online)].pdf | 2024-10-11 |
| 19 | Abstract.jpg | 2024-11-07 |
| 20 | 202321064697-ORIGINAL UR 6(1A) FORM 1 & 26-200125.pdf | 2025-01-24 |