Abstract: The present disclosure relates to a method [400] and a system [300] for managing resources in a network environment. The present disclosure encompasses: a transceiver unit [302] to receive, at an inventory manager module [308], a set of resource data comprising at least a set of host data, and at least a set of site data. Further, a processing unit [304] to determine, from the received set of resource data, at least a target resource to be provisioned, where at least the target resource comprises one of at least a host, at least a site, and a combination thereof. Further, the transceiver unit [302] to transmit, from the inventory manager module [308], a set of details relating to at least the target resource to a docker service module [310]. Further, a provisioning unit [306] to provision, at the docker service module [310], at least the target resource. [FIG. 3]
1
FORM 2
THE PATENTS ACT, 1970
(39 OF 1970)
&
5 THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
“METHOD AND SYSTEM FOR MANAGING RESOURCES
10 IN A NETWORK ENVIRONMENT”
We, Jio Platforms Limited, an Indian National, of Office - 101, Saffron, Nr. Centre
15 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 MANAGING RESOURCES IN A
NETWORK ENVIRONMENT
5
TECHNICAL FIELD
[0001] Embodiments of the present disclosure generally relate to network
performance management systems. More particularly, embodiments of the present
10 disclosure relate to methods and systems for managing resources in a network
environment.
BACKGROUND
15 [0002] The following description of the related art is intended to provide
background information pertaining to the field of the disclosure. This section may
include certain aspects of the art that may be related to various features of the
present disclosure. However, it should be appreciated that this section is used only
to enhance the understanding of the reader with respect to the present disclosure,
20 and not as admissions of the prior art.
[0003] Wireless communication technology has rapidly evolved over the past
few decades, with each generation bringing significant improvements and
advancements. The first generation of wireless communication technology was
25 based on analog technology and offered only voice services. However, with the
advent of the second-generation (2G) technology, digital communication and data
services became possible, and text messaging was introduced. 3G technology
marked the introduction of high-speed internet access, mobile video calling, and
location-based services. The fourth-generation (4G) technology revolutionized
30 wireless communication with faster data speeds, better network coverage, and
3
improved security. Currently, the fifth-generation (5G) technology is being
deployed, promising even faster data speeds, low latency, and the ability to connect
multiple devices simultaneously. With each generation, wireless communication
technology has become more advanced, sophisticated, and capable of delivering
5 more services to its users.
[0004] In modern network environments, managing and provisioning
resources such as hosts and sites across multiple locations presents a significant
challenge. Users often struggle with efficiently grouping and deploying the
10 resources due to the complex nature of infrastructure management. Further, for
performing tasks such as aggregates of hosts and sites requires manual intervention
which also increases the risk of errors, resource mismanagement, and delays in
deployment. Additionally, users face difficulties in synchronizing resource data
across different environments, resulting in inconsistencies and inefficient resource
15 utilization. Moreover, another common issue arises in fault tolerance and high
availability during resource provisioning and management. When a critical instance
responsible for handling inventory requests or resource updates fails, users
experience downtime, leading to interrupted services and delays in provisioning
new resources. Further, updating and modifying resource configurations during
20 runtime may further lead to operational inefficiencies.
[0005] Thus, there exists an imperative need in the art to provide a method and
a system to solve the mentioned difficulties, which the present disclosure aims to
address.
25
OBJECTS OF THE DISCLOSURE
[0006] Some of the objects of the present disclosure, which at least one
embodiment disclosed herein satisfies are listed herein below.
30
4
[0007] It is an object of the present disclosure to provide a system and a method
for managing resources in a network environment.
[0008] It is another object of the present disclosure is for proper site and host
5 creation with the available resources initially from data provided by docker team
and later orchestrated by Swarm manager.
[0009] It is yet another object of the present disclosure for proper resource
inventory management by create/update/get/delete operations for all Sites, hosts,
10 POD and Host Aggregate, which can be performed on a management and
orchestration (MANO) platform.
[0010] Yet another object of the present disclosure is to have auto sync
inventory if there is any ambiguity with the actual data.
15
SUMMARY
[0011] This section is provided to introduce certain aspects of the present
disclosure in a simplified form that are further described below in the detailed
20 description. This summary is not intended to identify the key features or the scope
of the claimed subject matter.
[0012] An aspect of the present disclosure may relate to a method for managing
resources in a network environment. The method comprises receiving, by a
25 transceiver unit, at an inventory manager module, a set of resource data comprising
at least a set of host data, and at least a set of site data. Further, the method comprises
determining, by the processing unit, from the received set of resource data, at least
a target resource to be provisioned, where at least the target resource comprises one
of at least a host, at least a site, and a combination thereof. Next, the method
30 comprises transmitting, by the transceiver unit, from the inventory manager
5
module, a set of details relating to at least the target resource, to a docker service
module. Thereafter, the method comprises provisioning, by a provisioning unit, at
the docker service module, at least the target resource.
5 [0013] In an exemplary aspect of the present disclosure, the method further
comprises updating, by the transceiver unit, at the inventory manager module,
details related to the at least provisioned target resource.
[0014] In an exemplary aspect of the present disclosure, the method further
10 comprises receiving, by the transceiver unit, from a user interface (UI), the set of
resource data.
[0015] In an exemplary aspect of the present disclosure, the method further
comprises providing, by the transceiver unit, at the UI, details related to the at least
15 provisioned target resource.
[0016] In an exemplary aspect of the present disclosure, at least the target
resource comprises a plurality of hosts, and a plurality of sites, and further the
method comprises creating, by the processing unit, one or more aggregates of the
20 at least one of the plurality of hosts, and the plurality of sites, and the one or more
aggregates are created based on predetermined resource attributes of at least one of
the plurality of hosts, and the plurality of sites.
[0017] In an exemplary aspect of the present disclosure, in response to a
25 successful creation of the one or more aggregates of at least one of the plurality of
hosts and the plurality of sites, the method comprises updating, by the transceiver
unit, at the inventory manager module, details of the created one or more
aggregates, and the corresponding resources allocated to the one or more
aggregates.
30
6
[0018] In an exemplary aspect of the present disclosure, in response to an
unsuccessful creation of the one or more aggregates of at least one of the plurality
of hosts and the plurality of sites, the method comprises transmitting, by the
transceiver unit, a notification indicative of unsuccessful creation of the one or more
5 aggregates, and updating, by the transceiver unit, at the inventory manager module,
details relating to the notification.
[0019] In an exemplary aspect of the present disclosure, the predetermined
resource attributes are provided by a user of the network environment.
10
[0020] Another aspect of the present disclosure may relate to a system for
managing resources in a network environment. The system comprises a transceiver
unit configured to receive, at an inventory manager module, a set of resource data
comprising at least a set of host data, and at least a set of site data. Further, the
15 system comprise a processing unit connected at least to the transceiver unit, the
processing unit configured to determine, from the received set of resource data, at
least a target resource to be provisioned, where at least the target resource comprises
one of at least a host, at least a site, and a combination thereof. Further, the
transceiver unit is configured to transmit, from the inventory manager module, a set
20 of details relating to at least the target resource to a docker service module. Further,
the system comprises a provisioning unit connected at least to the transceiver unit
and the processing unit, the provisioning unit configured to provision, at the docker
service module, at least the target resource.
25 [0021] Yet another aspect of the present disclosure may relate to a nontransitory computer-readable storage medium, storing instructions for managing
resources in a network environment, the storage medium comprising executable
code which, when executed by one or more units of a system, causes: a transceiver
unit to receive, at an inventory manager module, a set of resource data comprising
30 at least a set of host data, and at least a set of site data; a processing unit to
determine, from the received set of resource data, at least a target resource to be
7
provisioned, wherein at least the target resource comprises one of at least a host, at
least a site, and a combination thereof; the transceiver unit to transmit, from the
inventory manager module, a set of details relating to at least the target resource to
a docker service module; and a provisioning unit to provision, at the docker service
5 module, at least the target resource.
DESCRIPTION OF THE DRAWINGS
[0022] The accompanying drawings, which are incorporated herein, and
10 constitute a part of this disclosure, illustrate exemplary embodiments of the
disclosed methods and systems in which like reference numerals refer to the same
parts throughout the different drawings. Components in the drawings are not
necessarily to scale, emphasis instead being placed upon clearly illustrating the
principles of the present disclosure. Also, the embodiments shown in the figures are
15 not to be construed as limiting the disclosure, but the possible variants of the method
and system according to the disclosure are illustrated herein to highlight the
advantages of the disclosure. It will be appreciated by those skilled in the art that
disclosure of such drawings includes disclosure of electrical components or
circuitry commonly used to implement such components.
20
[0023] FIG.1 illustrates an exemplary block diagram representation of a
management and orchestration (MANO) architecture/ platform, in accordance with
exemplary implementation of the present disclosure.
25 [0024] 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.
8
[0025] FIG. 3 illustrates an exemplary block diagram of a system for managing
resources in a network environment, in accordance with exemplary
implementations of the present disclosure.
5 [0026] FIG. 4 illustrates a method flow diagram for managing resources in a
network environment, in accordance with exemplary implementations of the
present disclosure.
[0027] FIG. 5 illustrates an exemplary call flow diagram for managing
10 resources in a network environment, in accordance with exemplary
implementations of the present disclosure.
[0028] FIG. 6 illustrates an exemplary flow diagram for managing resources
in a network environment, in accordance with exemplary implementations of the
15 present disclosure.
[0029] The foregoing shall be more apparent from the following more detailed
description of the disclosure.
20 DETAILED DESCRIPTION
[0030] 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
25 embodiments of the present disclosure may be practiced without these specific
details. Several features described hereafter may each be used independently of one
another or with any combination of other features. An individual feature may not
address any of the problems discussed above or might address only some of the
problems discussed above.
30
9
[0031] 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
5 embodiment. It should be understood that various changes may be made in the
function and arrangement of elements without departing from the spirit and scope
of the disclosure as set forth.
[0032] Specific details are given in the following description to provide a
10 thorough understanding of the embodiments. However, it will be understood by one
of ordinary skill in the art that the embodiments may be practiced without these
specific details. For example, circuits, systems, processes, and other components
may be shown as components in block diagram form in order not to obscure the
embodiments in unnecessary detail.
15
[0033] Also, it is noted that individual embodiments may be described as a
process which is depicted as a flowchart, a flow diagram, a data flow diagram, a
structure diagram, or a block diagram. Although a flowchart may describe the
operations as a sequential process, many of the operations may be performed in
20 parallel or concurrently. In addition, the order of the operations may be re-arranged.
A process is terminated when its operations are completed but could have additional
steps not included in a figure.
[0034] The word “exemplary” and/or “demonstrative” is used herein to mean
25 serving as an example, instance, or illustration. For the avoidance of doubt, the
subject matter disclosed herein is not limited by such examples. In addition, any
aspect or design described herein as “exemplary” and/or “demonstrative” is not
necessarily to be construed as preferred or advantageous over other aspects or
designs, nor is it meant to preclude equivalent exemplary structures and techniques
30 known to those of ordinary skill in the art. Furthermore, to the extent that the terms
10
“includes,” “has,” “contains,” and other similar words are used in either the detailed
description or the claims, such terms are intended to be inclusive in a manner similar
to the term “comprising” as an open transition word without precluding any
additional or other elements.
5
[0035] As used herein, a “processing unit” or “processor” or “operating
processor” includes one or more processors, wherein processor refers to any logic
circuitry for processing instructions. A processor may be a general-purpose
processor, a special purpose processor, a conventional processor, a digital signal
10 processor, a plurality of microprocessors, one or more microprocessors in
association with a Digital Signal Processing (DSP) core, a controller, a
microcontroller, Application Specific Integrated Circuits, Field Programmable
Gate Array circuits, any other type of integrated circuits, etc. The processor may
perform signal coding data processing, input/output processing, and/or any other
15 functionality that enables the working of the system according to the present
disclosure. More specifically, the processor or processing unit is a hardware
processor.
[0036] As used herein, “a user equipment”, “a user device”, “a smart-user20 device”, “a smart-device”, “an electronic device”, “a mobile device”, “a handheld
device”, “a wireless communication device”, “a mobile communication device”, “a
communication device” may be any electrical, electronic and/or computing device
or equipment, capable of implementing the features of the present disclosure. The
user equipment/device may include, but is not limited to, a mobile phone, smart
25 phone, laptop, a general-purpose computer, desktop, personal digital assistant,
tablet computer, wearable device or any other computing device which is capable
of implementing the features of the present disclosure. Also, the user device may
contain at least one input means configured to receive an input from unit(s) which
are required to implement the features of the present disclosure.
30
11
[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
medium includes read-only memory (“ROM”), random access memory (“RAM”),
5 magnetic disk storage media, optical storage media, flash memory devices or other
types of machine-accessible storage media. The storage unit stores at least the data
that may be required by one or more units of the system to perform their respective
functions.
10 [0038] As used herein “interface” or “user interface” refers to a shared
boundary across which two or more separate components of a system exchange
information or data. The interface may also refer to a set of rules or protocols that
define communication or interaction of one or more modules or one or more units
with each other, which also includes the methods, functions, or procedures that may
15 be called.
[0039] All modules, units, components used herein, unless explicitly excluded
herein, may be software modules or hardware processors, the processors being a
general-purpose processor, a special purpose processor, a conventional processor,
20 a digital signal processor (DSP), a plurality of microprocessors, one or more
microprocessors in association with a DSP core, a controller, a microcontroller,
Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array
circuits (FPGA), any other type of integrated circuits, etc.
25 [0040] 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.
12
[0041] 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 a system of managing resources in a network environment. The present
5 disclosure receives a set of resource data, including host and site information, and
processes the data to identify target resources for provisioning by creating
aggregates of multiple hosts and sites based on predefined resource attributes, such
as availability zones or device profiles. Once the aggregates are successfully
created, the aggregates are updated at the inventory with the relevant details. In the
10 case of a failure, the cause of failure is also stored at the inventory. The present
disclosure then provisions the identified target resources, updates the inventory, and
displays relevant information to the user interface for continuous management.
[0042] FIG. 1 illustrates an exemplary block diagram representation of a
15 management and orchestration (MANO) architecture / platform [100], in
accordance with exemplary implementation of the present disclosure. The MANO
architecture [100] may be developed for managing telecom cloud infrastructure
automatically, managing design or deployment design, managing instantiation of
network node(s)/ service(s) etc. The MANO architecture [100] deploys the network
20 node(s) in the form of Virtual Network Function (VNF) and Cloud-native/
Container Network Function (CNF). The system as provided by the present
disclosure may comprise one or more components of the MANO architecture [100].
The MANO architecture [100] may be used to auto-instantiate the VNFs into the
corresponding environment of the present disclosure so that it could help in
25 onboarding other vendor(s) CNFs and VNFs to the platform.
[0043] As shown in FIG. 1, the MANO architecture [100] comprises a user
interface layer [102], a network function virtualization (NFV) and software defined
network (SDN) design function module [104], a platform foundation services
30 module [106], a platform core services module [108] and a platform resource
adapters and utilities module [112]. All the components are assumed to be
13
connected to each other in a manner as obvious to the person skilled in the art for
implementing features of the present disclosure.
[0044] The NFV and SDN design function module [104] comprises a VNF
5 lifecycle manager (compute) [1042], a VNF catalogue [1044], a network services
catalogue [1046], a network slicing and service chaining manager [1048], a physical
and virtual resource manager [1050] and a CNF lifecycle manager [1052]. The VNF
lifecycle manager (compute) [1042] may be responsible for deciding on which
server of the communication network, the microservice will be instantiated. The
10 VNF lifecycle manager (compute) [1042] may manage the overall flow of
incoming/ outgoing requests during interaction with the user. The VNF lifecycle
manager (compute) [1042] may be responsible for determining which sequence to
be followed for executing the process. For e.g. in an AMF network function of the
communication network (such as a 5G network), sequence for execution of
15 processes P1 and P2 etc. The VNF catalogue [1044] stores the metadata of all the
VNFs (also CNFs in some cases). The network services catalogue [1046] stores the
information of the services that need to be run. The network slicing and service
chaining manager [1048] manages the slicing (an ordered and connected sequence
of network service/ network functions (NFs)) that must be applied to a specific
20 networked data packet. The physical and virtual resource manager [1050] stores the
logical and physical inventory of the VNFs. Just like the VNF lifecycle manager
(compute) [1042], the CNF lifecycle manager [1052] may be used for the CNFs
lifecycle management.
25 [0045] The platforms foundation services module [106] comprises a
microservices elastic load balancer [1062], an identity and access manager [1064],
a command line interface (CLI) [1066], a central logging manager [1068], and an
event routing manager [1070]. The microservices elastic load balancer [1062] may
be used for maintaining the load balancing of the request for the services. The
30 identity & access manager [1064] may be used for logging purposes. The command
line interface (CLI) [1066] may be used to provide commands to execute certain
14
processes which require changes during the run time. The central logging manager
[1068] may be responsible for keeping the logs of every service. These logs are
generated by the MANO platform [100]. These logs are used for debugging
purposes. The event routing manager [1070] may be responsible for routing the
5 events i.e., the application programming interface (API) hits to the corresponding
services.
[0046] The platforms core services module [108] comprises NFV
infrastructure monitoring manager [1082], an assure manager [1084], a
10 performance manager [1086], a policy execution engine [1088], a capacity
monitoring manager [1090], a release management (mgmt.) repository [1092], a
configuration manager & golden configuration template (GCT) [1094], an NFV
platform decision analytics [1096], a platform NoSQL DB [1098], a platform
schedulers and cron jobs [1100], a VNF backup & upgrade manager [1102], a
15 microservice auditor [1104], and a platform operations, administration and
maintenance manager [1106]. The NFV infrastructure monitoring manager [1082]
monitors the infrastructure part of the NFs. For e.g., any metrics such as CPU
utilization by the VNF. The assure manager [1084] may be responsible for
supervising the alarms the vendor may be generating. The performance manager
20 [1086] may be responsible for managing the performance counters. The policy
execution engine (PEGN) [1088] may be responsible for managing all of the
policies. The capacity monitoring manager (CMM) [1090] may be responsible for
sending the request to the PEGN [1088]. The release management (mgmt.)
repository (RMR) [1092] may be responsible for managing the releases and the
25 images of all of the vendor's network nodes. The configuration manager & (GCT)
[1094] manages the configuration and GCT of all the vendors. The NFV platform
decision analytics (NPDA) [1096] helps in deciding the priority of using the
network resources. It may be further noted that the policy execution engine (PEGN)
[1088], the configuration manager & GCT [1094] and the NPDA [1096] work
30 together. The platform NoSQL DB [1098] may be a database for storing all the
inventory (both physical and logical) as well as the metadata of the VNFs and CNF.
15
The platform schedulers and cron jobs [1100] schedules the task such as but not
limited to triggering of an event, traverse the network graph etc. The VNF backup
& upgrade manager [1102] takes backup of the images, binaries of the VNFs and
the CNFs and produces the backup on demand in case of server failure. The
5 microservice auditor [1104] audits the microservices. For e.g., in a hypothetical
case, instances not being instantiated by the MANO architecture [100] may be using
the network resources. In such case, the microservice auditor [1104] audits and
informs the same so that resources can be released for services running in the
MANO architecture [100]. The audit assures that the services only run on the
10 MANO platform [100]. The platform operations, administration and maintenance
manager [1106] may be used for newer instances that are spawning.
[0047] The platform resource adapters and utilities module [112] further
comprises a platform external API adaptor and gateway [1122], a generic decoder
15 and indexer (XML, CSV, JSON) [1124], a docker service adaptor [1126], an API
adapter [1128], and a NFV gateway [1130]. The platform external API adaptor and
gateway [1122] may be responsible for handling the external services (to the
MANO platform [100]) that requires the network resources. The generic decoder
and indexer (XML, CSV, JSON) [1124] gets directly the data of the vendor system
20 in the XML, CSV, JSON format. The docker service adaptor [1126] may be the
interface provided between the telecom cloud and the MANO architecture [100] for
communication. The API adapter [1128] may be used to connect with the virtual
machines (VMs). The NFV gateway [1130] may be responsible for providing the
path to each services going to/incoming from the MANO architecture [100].
25
[0048] The docker service adapter (DSA) [1126] is a microservices-based
system designed to deploy and manage Container Network Functions (CNFs) and
their components (CNFCs) across Docker nodes. The DSA [1126] offers REST
endpoints for key operations, including uploading container images to a Docker
30 registry, terminating CNFC instances, and creating Docker volumes and networks.
CNFs, which are network functions packaged as containers, may consist of multiple
16
CNFCs. The DSA [1126] facilitates the deployment, configuration, and
management of these components by interacting with Docker's API, ensuring
proper setup and scalability within a containerized environment. This approach
provides a modular and flexible framework for handling network functions in a
5 virtualized network setup.
[0049] FIG. 2 illustrates an exemplary block diagram of a computing device
[200] (herein, also referred to as a computer system [200]) upon which one or more
features of the present disclosure may be implemented in accordance with an
10 exemplary implementation of the present disclosure. In an implementation, the
computing device [200] may also implement a method for managing resources in a
network environment, utilising a system, or one or more sub-systems, provided in
the network. In another implementation, the computing device [200] itself
implements the method for managing resources in a network environment, using
15 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.
[0050] The computing device [200] may include a bus [202] or other
20 communication mechanism(s) for communicating information, and a hardware
processor [204] coupled with bus [202] for processing said information. The
hardware processor [204] may be, for example, a general-purpose microprocessor.
The computing device [200] may also include a main memory [206], such as a
random-access memory (RAM), or other dynamic storage device, coupled to the
25 bus [202], for storing information and instructions to be executed by the processor
[204]. The main memory [206] also may be used for storing temporary variables or
other intermediate information during execution of the instructions to be executed
by the processor [204]. Such instructions, when stored in a non-transitory storage
media accessible to the processor [204], render the computing device [200] into a
30 special purpose device that is customized to perform operations according to the
instructions. The computing device [200] further includes a read only memory
17
(ROM) [208] or other static storage device coupled to the bus [202] for storing static
information and instructions for the processor [204].
[0051] A storage device [210], such as a magnetic disk, optical disk, or solid5 state drive is provided and coupled to the bus [202] for storing information and
instructions. The computing device [200] may be coupled via the bus [202] to a
display [212], such as a cathode ray tube (CRT), Liquid crystal Display (LCD),
Light Emitting Diode (LED) display, Organic LED (OLED) display, etc., for
displaying information to a user of the computing device [200]. An input device
10 [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 mouse, a trackball, or cursor direction keys, for
communicating direction information and command selections to the processor
15 [204], and for controlling cursor movement on the display [212]. The cursor
controller [216] typically has two degrees of freedom in two axes, a first axis (e.g.,
x) and a second axis (e.g., y), that allows the cursor controller [216] to specify
positions in a plane.
20 [0052] 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 device.
According to one implementation, the techniques herein are performed by the
25 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]. The
one or more instructions may be read into the main memory [206] from another
storage medium, such as the storage device [210]. Execution of the one or more
sequences of the one or more instructions contained in the main memory [206]
30 causes the processor [204] to perform the process steps described herein. In
18
alternative implementations of the present disclosure, hard-wired circuitry may be
used in place of, or in combination with, software instructions.
[0053] The computing device [200] also may include a communication
5 interface [218] coupled to the bus [202]. The communication interface [218]
provides two-way data communication coupling to a network link [220] that is
connected to a local network [222]. For example, the communication interface
[218] may be an integrated services digital network (ISDN) card, cable modem,
satellite modem, or a modem to provide a data communication connection to a
10 corresponding type of telecommunication line. In another example, the
communication interface [218] may be a local area network (LAN) card to provide
a data communication connection to a compatible LAN. Wireless links may also be
implemented. In any such implementation, the communication interface [218]
sends and receives electrical, electromagnetic or optical signals that carry digital
15 data streams representing different types of information.
[0054] The computing device [200] can send and receive data, including
program code, messages, etc. through the network(s), the network link [220] and
the communication interface [218]. In an example, a server [230] might transmit a
20 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.
25 [0055] Referring to FIG. 3, an exemplary block diagram of a system [300] for
managing resources in a network environment, is shown, in accordance with the
exemplary implementations of the present disclosure. The system [300] comprises
at least one transceiver unit [302], at least one processing unit [304], and at least
one provisioning unit [306]. Also, all of the components/ units of the system [300]
30 are assumed to be connected to each other unless otherwise indicated below. As
19
shown in the figures all units shown within the system [300] should also be assumed
to be connected to each other. Also, in FIG. 3 only a few units are shown, however,
the system [300] may comprise multiple such units or the system [300] may
comprise any such numbers of said units, as required to implement the features of
5 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). In another implementation, the system [300] may reside
10 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.
[0056] The system [300] is configured for managing resources in a network
environment, with the help of the interconnection between the components/units of
15 the system [300].
[0057] 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
20 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.
[0058] The system [300] comprises the transceiver unit [302]. The
transceiver unit [302] is configured to receive, at an inventory manager module
30 [308], a set of resource data comprising at least a set of host data, and at least a set
20
of site data. Herein, the inventory manager module [308] may refer to a network
entity responsible for maintaining a record of the set of resource data such as the
set of hosts and sites, that may further ensure that an up-to data information of all
the available resources associated with said network is easily accessible. Further,
5 the resource data mentioned herein may reflect a type of data required for managing
and updating said set of resources. In an exemplary implementation, the inventory
manager module [308] may be a physical-virtual inventory manager (PVIM)
module.
10 [0059] Furthermore, the set of host data may refer to the set of details
associated with a physical or a virtual entity (host) within the network. The set of
host data may further include but not be limited to a CPU capacity, an available
memory, a host identity, a total storage size and similar that would be known to a
person skilled in the art.
15
[0060] Similarly, the set of site data may refer to the set of details
associated with the location of the host. The set of site data may further include,
without limitations, a county code, a city code, a regional code, and other
dependable features that would be known to a person skilled in the art.
20
[0061] Further, the transceiver unit [302] is configured to receive, from a user
interface (UI), the set of resource data. In one implementation, the transceiver unit
[302] may receive the set of resource data from the UI. In another implementation,
the transceiver unit [302] may receive the set of resource data from an external node
25 device, through the UI.
[0062] The system [300] further comprises the processing unit [304] connected
at least to the transceiver unit [302]. The processing unit [304] is configured to
determine, from the received set of resource data, at least a target resource to be
30 provisioned. In an aspect, the processing unit [304] may determine the at least the
21
target resource based on one or more internal operational needs. In another aspect,
the processing unit [304] may determine the at least the target resource based on
user-defined requirements. The user defined requirements may be further received,
at the processing unit [304], from the UI.
5
[0063] In an implementation, the at least the target resource comprises one of
at least a host, at least a site, and a combination thereof. In another implementation,
the at least the target resource comprises a plurality of hosts, and a plurality of sites.
10 [0064] Thereafter, post identification of the at least the target resource, the
processing unit [304] is configured to create one or more aggregates of the at least
one of the plurality of hosts, and the plurality of sites. Herein, the aggregation refers
to a process of combining multiple hosts and/or sites into a single logical group to
optimize resource management, improve performance, or meet specific deployment
15 needs.
[0065] Furthermore, the one or more aggregates are created based on
predetermined resource attributes of the at least one of the plurality of hosts, and
the plurality of sites.
20
[0066] In one example, the processing unit [304] may aggregate the plurality
of hosts within a single site based on a performance metrics of said plurality of
hosts.
25 [0067] In another example, the processing unit [304] may aggregate the
plurality of hosts, and the plurality of sites based on a geographic location.
[0068] In yet another example, the processing unit [304] may aggregate the
plurality of hosts, and the plurality of sites based on redundancy needs, where the
22
plurality of hosts from different locations are grouped to provide standby support
in case of downtime.
[0069] In yet another example, the processing unit [304] may aggregate the
5 plurality of hosts, and the plurality of sites based on a level of security required.
[0070] It may be further noted that all such ways of aggregating the plurality
of hots, and the plurality of sites provided here are only exemplary and in no manner
to be construed to limit the scope of the present subject matter in any manner. Any
10 other technique or method known to a person skilled in the art may be used by the
system [300] for aggregating the plurality of hots, and the plurality of sites.
[0071] Herein, the predetermined resource attributes are provided by the user
of the network environment. The predetermined resource attributes may include the
15 performance specifications, the geographic preferences, redundancy requirements,
and the security constraints as mentioned above.
[0072] Thereafter, in response to a successful creation of the one or more
aggregates of at least one of the plurality of hosts and the plurality of sites, the
20 transceiver unit [302] is configured to update, at the inventory manager module
[308], details of the created one or more aggregates, and the corresponding
resources allocated to the one or more aggregates. The transceiver unit [302] may
store the details of created one or more aggregates in a database [312] associated
with the inventory manager module [308]. The details of created one or more
25 aggregates may include the identification of the plurality of hosts, and the plurality
of sites that form part of the aggregate but are not limited to host name, site location,
an aggregate identifier and similar known to a person skilled in the art. Further, the
corresponding resources allocated to the one or more aggregates may include but
not limited to CPU, memory, storage, or any other resource known to a person
30 skilled in the art.
23
[0073] In an implementation, the update at the inventory manager module
[308] may allow the inventory manager module [308] to be provided with the latest
information relating to resources in the network, thereby further preventing over5 provisioning or a misallocation of resources.
[0074] However, in response to an unsuccessful creation of the one or more
aggregates of at least one of the plurality of hosts and the plurality of sites, the
transceiver unit [302] is configured to transmit a notification indicative of
10 unsuccessful creation of the one or more aggregates. In one example the notification
indicative of the unsuccessful creation of the one or more aggregates may involve
an unavailability of resources, such as if the processing unit [304] aggregate hosts
with specific performance metrics but unfortunately the hosts are not available, then
the notification indicative may mention that the same.
15
[0075] In another example, the notification may include one or more network
issues, which may occur due to network latency or connectivity issues between the
plurality of sites, and which may have caused the unsuccessful creation of the one
or more aggregates.
20
[0076] In yet another example, the notification may include a configuration
error, such as configuration mismatches that may have prevented the successful
aggregation.
25 [0077] Thereafter, the transceiver unit [302] is configured to update, at the
inventory manager module [308], details relating to the notification. After the
unsuccessful creation of the aggregation of at least one of the plurality of hosts and
the plurality of sites, the transceiver unit [302] further updates the inventory
manager module [308]. However, in such case, the details of failure such as error
24
codes, reasons for failure, or the specific hosts/sites involved in the unsuccessful
attempt are updated instead of the resource allocation.
[0078] The updating of the failure attempts at the inventory manager module
5 [308] may further indicate that the resources involved in the failed attempt are still
available for future use in order to prevent any resource conflicts or doublebooking.
[0079] Thereafter, the transceiver unit [302] is configured to transmit, from the
10 inventory manager module [308], a set of details relating to at least the target
resource to a docker service module [310]. The docker service module [310] is
responsible for managing the deployment and provisioning of resources in the form
of containers. The docker is a platform that allows a plurality of applications or
services to have their other dependencies which may allow an easy deployment of
15 the plurality of applications and services in different environments. Herein, the
docker service module [310] manages and facilitates the provisioning of resources,
including the plurality of hosts and the plurality of sites, in the form of services that
are capable of performing tasks such as resource allocation, deployment, and
monitoring within the container environment. In an exemplary implementation, the
20 docker service module [310] is a docker service adapter (DSA) module.
[0080] The system [300] further comprises the provisioning unit [306]
connected at least to the transceiver unit [302] and the processing unit [304]. The
provisioning unit [306] is configured to provision, at the docker service module
25 [310], at least the target resource. Herein, the provisioning of at least the target
resource may involve allocation of necessary resources (such as CPU, memory,
container configurations and alike) to deploy the at least one of the plurality of
applications or services. The provisioning of the at least the target resource may be
performed in a following manner: Firstly, the creation or initialization of docker
30 container with the appropriate configuration is performed. Further, the at least target
25
resource is allocated to the services offered by the containers. Next, the double
checking that the plurality of host servers is properly integrated into the container
and are ready for service.
5 [0081] Post completion of the provisioning of the at least the target resource,
the transceiver unit [302] is configured to update, at the inventory manager module
[308], details related to the at least provisioned target resource. The details related
to the at least provisioned target resource are further updated at the database [312].
Herein, the details may involve a provisioning status of the at least the target
10 resource. Further, the details may further involve an information on the lifecycle of
the provisioned resource which may include uptime, start time, and any relevant
operational metrics that may help in managing the resource within the inventory
manager module [308].
15 [0082] Post updating the aforementioned details at inventory manager module
[308], the transceiver unit [302] is configured to provide, at the UI, details related
to the at least provisioned target resource. The details related to the at least
provisioned target resource may include a confirmation such as a message
indicating that the request resource has been successfully provisioned. Further, the
20 details may include other resource details such as host ID, site location, amount of
resource location and other relevant details, along with real-time data showing the
performance and health of the provisioned resource. The delivery of the details
related to the at least provisioned target resource allows user to monitor the status
and configuration of the provisioned resources directly from the UI. The UI
25 facilitates an accessible platform for users to track, manage, and interact with their
provisioned resources.
[0083] Referring to FIG. 4, an exemplary method flow diagram [400] for
managing resources in a network environment, in accordance with exemplary
30 implementations of the present disclosure is shown. In an implementation the
26
method [400] 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.
5 [0084] Also, as shown in FIG. 4, the method [400] initially starts at step [402].
[0085] At step [404], the method [400] comprises receiving, by the transceiver
unit [302], at the inventory manager module [308], the set of resource data
comprising at least the set of host data, and at least the set of site data.
10
[0086] Further, the method [400] comprises receiving, by the transceiver unit
[302], from a user interface (UI), the set of resource data.
[0087] At step [406], the method [400] comprises determining, by the
15 processing unit [304], from the received set of resource data, at least the target
resource to be provisioned.
[0088] The method [400] explains that the at least the target resource comprises
one of at least a host, at least a site, and a combination thereof. The method [400]
20 further explains that at least the target resource comprises a plurality of hosts, and
a plurality of sites.
[0089] The method [400] further comprises creating, by the processing unit
[304], one or more aggregates of the at least one of the plurality of hosts, and the
25 plurality of sites, and the one or more aggregates are created based on
predetermined resource attributes of at least one of the plurality of hosts, and the
plurality of sites. Herein, the predetermined resource attributes are provided by a
user of the network environment.
27
[0090] The method [400] further explains that in response to the successful
creation of the one or more aggregates of at least one of the plurality of hosts and
the plurality of sites, the method [400] comprises updating, by the transceiver unit
[302], at the inventory manager module [308], details of the created one or more
5 aggregates, and the corresponding resources allocated to the one or more
aggregates.
[0091] The method [400] further explains that in response to an unsuccessful
creation of the one or more aggregates of at least one of the plurality of hosts and
10 the plurality of sites, the method [400] comprises transmitting, by the transceiver
unit [302], the notification indicative of unsuccessful creation of the one or more
aggregates, and further updating, by the transceiver unit [302], at the inventory
manager module [308], details relating to the notification.
15 [0092] At step [408], the method [400] comprises transmitting, by the
transceiver unit [302], from the inventory manager module [308], a set of details
relating to at least the target resource, to a docker service module [310].
[0093] At step [410], the method [400] comprises provisioning, by the
20 provisioning unit [306], at the docker service module [310], at least the target
resource.
[0094] The method [400] further comprises updating, by the transceiver unit
[302], at the inventory manager module [308], details related to the at least
25 provisioned target resource.
[0095] The method [400] herein terminates at step [412].
[0096] Referring to FIG. 5, an exemplary call flow diagram [500] for
30 managing resources in a network environment, in accordance with exemplary
28
implementations of the present disclosure is shown. The call flow diagram [500]
includes a system [500] which comprise a user interface [502], an inventory
management module [504], an adapter service [506], and a virtual management
module [508].
5
[0097] Herein, the inventory management module [504] is responsible for
maintaining the inventory of physical and virtual resources. The inventory
management module [504] provides the required metadata (such as device profile
and availability zone) needed to create a host aggregate in the network environment.
10
[0098] Further, the adapter service [506] is a microservice that interacts with
the adapter service [506] to deploy virtual machines and other related instances.
The adapter service [506] handles requests from users and forwards them to the
virtual management module [508] to create resources such as host aggregates.
15
[0099] Furthermore, the virtual management module [508] manages the
computing, storage, and network resources in a virtualized infrastructure. The
virtual management module [508] receives API requests from adapter service [506]
and executes operations like creating host aggregates in the network environment.
20
[0100] Further in accordance with the FIG. 5, the call flow diagram [500] for
managing resources in a network environment is presented in the following steps:-
[0101] At step [502], the UI initiates a request to the inventory management
25 module [504] to fetch the device profile.
[0102] At step [504], post fetching the device profile, the inventory
management module [504] sends an acknowledgement back to the UI with the
requested information.
30
29
[0103] At step [506], the UI further initiates the request to the inventory
management module [504] to fetch the availability zone information.
[0104] At step [508], post fetching the availability zone information, the
5 inventory management module [504] sends an acknowledgement back to the UI
with the requested information.
[0105] At step [510], post receiving the acknowledgement, the UI triggers the
host aggregate creation event by sending a request to adapter service [506]. Herein,
10 the host aggregate in the network environment is a logical grouping of hosts that
share a common set of characteristics. For instance, hosts in a specific geographic
region (availability zone) or those supporting a specific type of hardware
configuration (device profile) can be grouped together to form a host aggregate and
are presented as: [AZ Name]_[Device Profile Group].
15
[0106] At step [512], post receiving the host aggregate creation request, the
adapter service [506] process the metadata which involves attaching the device
profile information into a metadata object and the availability zone information into
host aggregate data.
20
[0107] At step [514], the adapter service [506] forwards the host aggregate
creation request to the virtual management module [508] using host aggregate API
of the network environment. The API mentioned herein is used to create the logical
grouping of compute hosts in the virtualized environment.
25
[0108] At step [516], the virtual management module [508] executes the
request to create the host aggregate.
30
[0109] At step [518], the virtual management module [508] sends a response
back to adapter service [506] confirming whether the operation was successful or
unsuccessful.
5 [0110] At step [520], post successful creation of the host aggregate, the adapter
service [506] generates a host aggregate creation notification that includes the
details of the newly created Host Aggregate. Further, the notification is sent to the
inventory management module [504] to update the inventory with the new
aggregate details.
10
[0111] The adapter service [506] is further configured to send an
acknowledgment to the UI, informing the user that the host aggregate creation was
successful. This allows the user to confirm that the grouping of hosts has been
established in the network environment.
15
[0112] Referring to FIG. 6, an exemplary flow diagram [600] for managing
resources in a network environment, in accordance with exemplary
implementations of the present disclosure is shown. In an implementation the
exemplary flow [600] is performed by the system [300].
20
[0113] The flowchart [600] starts at step [602].
[0114] Further, at step [604], the system [500] performs an analysis of the site
and host data, which may involve gathering relevant attributes such as device
25 profiles, availability zones, and resource specifications.
[0115] Further, at step [606], post analysis of the site and the host data, the
details of the site and the host data is transferred to a docker service module [310].
The docker service module [310] is responsible to provision the target resources
30 (site and hosts) as per the requirement of user.
31
[0116] Further, at step [608], the system [500] awaits a response from the
docker service module [310]. The response can be a success or a failure depending
on the outcome of the provisioning attempt.
5
[0117] Further, at step [610], if the response indicates a failure in the site or
host provisioning, the system [500] sets the site creation status as False in a NoSQL
Database. The present step ensures that failed provisioning attempts are logged, and
no incorrect data is stored regarding site and host creation. Further, the NoSQL
10 Database is updated with the failure details for future reference.
[0118] Further, at step [612], if the provisioning response is successful, the
system [500] then uses an IN service to store and update the details of the site, host,
and resources in the NoSQL Database ensuring that the inventory database is
15 updated with the newly provisioned resources.
[0119] The flowchart [600] herein ends at step [614].
[0120] The present disclosure further provides a non-transitory computer20 readable storage medium, storing instructions for managing resources in a network
environment, the storage medium comprising executable code which, when
executed by one or more units of a system, causes: a transceiver unit [302] to
receive, at an inventory manager module [308], a set of resource data comprising at
least a set of host data, and at least a set of site data; a processing unit [304] to
25 determine, from the received set of resource data, at least a target resource to be
provisioned, wherein at least the target resource comprises one of at least a host, at
least a site, and a combination thereof; the transceiver unit [302] to transmit, from
the inventory manager module [308], a set of details relating to at least the target
resource to a docker service module [310]; and a provisioning unit [306] to
30 provision, at the docker service module [310], at least the target resource.
32
[0121] As is evident from the above, the present disclosure provides a
technically advanced solution for managing resources in a network environment.
The present disclosure provides an asynchronous event-based implementation to
5 manage creation requests during bootup and dynamic modification requests from
the UI at runtime. The present solution incorporates fault tolerance, ensuring high
availability by automatically transferring request handling to another available
inventory instance if one instance fails. The inventory service allows for seamless
pod management, enabling users to provision sites by creating new pods with a
10 collection of available hosts, which can later be modified as needed. Further, the
present solution ensures auto-synchronization of inventory data, maintaining up-todate resource details across all instances.
[0122] While considerable emphasis has been placed herein on the
15 disclosed implementations, it will be appreciated that many implementations can
be made and that many changes can be made to the implementations without
departing from the principles of the present disclosure. These and other changes in
the implementations of the present disclosure will be apparent to those skilled in
the art, whereby it is to be understood that the foregoing descriptive matter to be
20 implemented is illustrative and non-limiting.
33
We Claim:
1. A method [400] for managing resources in a network environment, the
5 method [400] comprising:
- receiving, by a transceiver unit [302], at an inventory manager module
[308], a set of resource data comprising at least a set of host data, and
at least a set of site data;
- determining, by a processing unit [304], from the received set of
10 resource data, at least a target resource to be provisioned, wherein at
least the target resource comprises one of at least a host, at least a site,
and a combination thereof;
- transmitting, by the transceiver unit [302], from the inventory manager
module [308], a set of details relating to at least the target resource, to
15 a docker service module [310]; and
- provisioning, by a provisioning unit [306], at the docker service module
[310], at least the target resource.
2. The method [400] as claimed in claim 1, wherein the method [400] comprises
20 updating, by the transceiver unit [302], at the inventory manager module
[308], details related to the at least provisioned target resource.
3. The method [400] as claimed in claim 1, wherein the method [400] comprises
receiving, by the transceiver unit [302], from a user interface (UI), the set of
25 resource data.
4. The method [400] as claimed in claim 1, wherein the method [400] comprises
providing, by the transceiver unit [302], at the UI, details related to the at least
provisioned target resource.
30
34
5. The method [400] as claimed in claim 1, wherein at least the target resource
comprises a plurality of hosts, and a plurality of sites, and wherein the method
[400] comprises creating, by the processing unit [304], one or more
aggregates of the at least one of the plurality of hosts, and the plurality of
5 sites, and wherein the one or more aggregates are created based on
predetermined resource attributes of at least one of the plurality of hosts, and
the plurality of sites.
6. The method [400] as claimed in claim 5, wherein, in response to a successful
10 creation of the one or more aggregates of at least one of the plurality of hosts
and the plurality of sites, the method [400] comprises updating, by the
transceiver unit [302], at the inventory manager module [308], details of the
created one or more aggregates, and the corresponding resources allocated to
the one or more aggregates.
15
7. The method [400] as claimed in claim 5, wherein, in response to an
unsuccessful creation of the one or more aggregates of at least one of the
plurality of hosts and the plurality of sites, the method [400] comprises:
- transmitting, by the transceiver unit [302], a notification indicative of
20 unsuccessful creation of the one or more aggregates; and
- updating, by the transceiver unit [302], at the inventory manager
module [308], details relating to the notification.
8. The method [400] as claimed in claim 5, wherein the predetermined resource
25 attributes are provided by a user of the network environment.
9. A system [300] for managing resources in a network environment, the system
[300] comprising:
35
- a transceiver unit [302] configured to receive, at an inventory manager
module [308], a set of resource data comprising at least a set of host
data, and at least a set of site data;
- a processing unit [304] connected at least to the transceiver unit [302],
5 the processing unit [304] configured to determine, from the received set
of resource data, at least a target resource to be provisioned, wherein at
least the target resource comprises one of at least a host, at least a site,
and a combination thereof;
- the transceiver unit [302] configured to transmit, from the inventory
10 manager module [308], a set of details relating to at least the target
resource to a docker service module [310]; and
- a provisioning unit [306] connected at least to the transceiver unit [302]
and the processing unit [304], the provisioning unit [306] configured to
provision, at the docker service module [310], at least the target
15 resource.
10. The system [300] as claimed in claim 9, wherein the transceiver unit [302] is
configured to update, at the inventory manager module [308], details related
to the at least provisioned target resource.
20
11. The system [300] as claimed in claim 9, wherein the transceiver unit [302] is
configured to receive, from a user interface (UI), the set of resource data.
12. The system [300] as claimed in claim 9, wherein the transceiver unit [302] is
25 configured to provide, at the UI, details related to the at least provisioned
target resource.
13. The system [300] as claimed in claim 9, wherein at least the target resource
comprises a plurality of hosts, and a plurality of sites, and wherein the
30 processing unit [304] is configured to create one or more aggregates of the at
36
least one of the plurality of hosts, and the plurality of sites, and wherein the
one or more aggregates are created based on predetermined resource
attributes of the at least one of the plurality of hosts, and the plurality of sites.
5 14. The system [300] as claimed in claim 13, wherein, in response to a successful
creation of the one or more aggregates of at least one of the plurality of hosts
and the plurality of sites, the transceiver unit [302] is configured to update, at
the inventory manager module [308], details of the created one or more
aggregates, and the corresponding resources allocated to the one or more
10 aggregates.
15. The system [300] as claimed in claim 13, wherein, in response to an
unsuccessful creation of the one or more aggregates of at least one of the
plurality of hosts and the plurality of sites, the transceiver unit [302] is
15 configured to:
- transmit a notification indicative of unsuccessful creation of the one or
more aggregates; and
- update, at the inventory manager module [308], details relating to the
notification.
20
16. The system [300] as claimed in claim 13, wherein the predetermined resource
attributes are provided by a user of the network environment.
| # | Name | Date |
|---|---|---|
| 1 | 202321064009-STATEMENT OF UNDERTAKING (FORM 3) [23-09-2023(online)].pdf | 2023-09-23 |
| 2 | 202321064009-PROVISIONAL SPECIFICATION [23-09-2023(online)].pdf | 2023-09-23 |
| 3 | 202321064009-POWER OF AUTHORITY [23-09-2023(online)].pdf | 2023-09-23 |
| 4 | 202321064009-FORM 1 [23-09-2023(online)].pdf | 2023-09-23 |
| 5 | 202321064009-FIGURE OF ABSTRACT [23-09-2023(online)].pdf | 2023-09-23 |
| 6 | 202321064009-DRAWINGS [23-09-2023(online)].pdf | 2023-09-23 |
| 7 | 202321064009-Proof of Right [09-02-2024(online)].pdf | 2024-02-09 |
| 8 | 202321064009-FORM-5 [21-09-2024(online)].pdf | 2024-09-21 |
| 9 | 202321064009-ENDORSEMENT BY INVENTORS [21-09-2024(online)].pdf | 2024-09-21 |
| 10 | 202321064009-DRAWING [21-09-2024(online)].pdf | 2024-09-21 |
| 11 | 202321064009-CORRESPONDENCE-OTHERS [21-09-2024(online)].pdf | 2024-09-21 |
| 12 | 202321064009-COMPLETE SPECIFICATION [21-09-2024(online)].pdf | 2024-09-21 |
| 13 | 202321064009-FORM 3 [07-10-2024(online)].pdf | 2024-10-07 |
| 14 | 202321064009-Request Letter-Correspondence [08-10-2024(online)].pdf | 2024-10-08 |
| 15 | 202321064009-Power of Attorney [08-10-2024(online)].pdf | 2024-10-08 |
| 16 | 202321064009-Form 1 (Submitted on date of filing) [08-10-2024(online)].pdf | 2024-10-08 |
| 17 | 202321064009-Covering Letter [08-10-2024(online)].pdf | 2024-10-08 |
| 18 | 202321064009-CERTIFIED COPIES TRANSMISSION TO IB [08-10-2024(online)].pdf | 2024-10-08 |
| 19 | Abstract.jpg | 2024-10-19 |
| 20 | 202321064009-ORIGINAL UR 6(1A) FORM 1 & 26-060125.pdf | 2025-01-10 |