Sign In to Follow Application
View All Documents & Correspondence

Method And System For Facilitating An Interconnection Between A Plurality Of Microservices

Abstract: The present disclosure relates to a method and a system for facilitating an interconnection between a plurality of microservices. The disclosure encompasses: receiving, a request from one or more microservices to create at least one task; determining, whether the requested at least one task already exists in a database; generating, the at least one task corresponding to the request in an event it is determined that the at least one task does not already exist; scheduling, the generated at least one task based on a predefined criteria; receiving, a trigger for execution of the scheduled at least one task; fetching, one or more task details from a set of task details stored in the database based on the received trigger; transmitting, the fetched one or more task details associated with the request to the one or more microservices for execution. [FIG. 4]

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

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

Applicants

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

Inventors

1. Aayush Bhatnagar
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
2. Ankit Murarka
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
3. Rizwan Ahmad
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
4. Kapil Gill
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
5. Arpit Jain
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
6. Shashank Bhushan
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
7. Jugal Kishore
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
8. Meenakshi Sarohi
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
9. Kumar Debashish
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
10. Supriya Kaushik De
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
11. Gaurav Kumar
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
12. Kishan Sahu
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
13. Gaurav Saxena
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
14. Vinay Gayki
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
15. Mohit Bhanwria
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
16. Durgesh Kumar
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
17. Rahul Kumar
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
18. Rahul Verma
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
19. Kamal Malik
Reliance Corporate Park, Thane- Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.

Specification

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 FACILITATING AN
INTERCONNECTION BETWEEN A PLURALITY OF
MICROSERVICES”
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 FACILITATING AN
INTERCONNECTION BETWEEN A PLURALITY OF MICROSERVICES
FIELD OF DISCLOSURE
5
[0001] Embodiments of the present disclosure generally relate to the field of
wireless communication systems. More particularly, embodiments of the present
disclosure relate to methods and systems for facilitating an interconnection between
a plurality of microservices (MS).
10
BACKGROUND
[0002] The following description of related art is intended to provide background
information pertaining to the field of the disclosure. This section may include
15 certain aspects of the art that may be related to various features of the present
disclosure. However, it should be appreciated that this section be used only to
enhance the understanding of the reader with respect to the present disclosure, and
not as admissions of prior art.
20 [0003] Wireless communication technology has rapidly evolved over the past few
decades, with each generation bringing significant improvements and
advancements. The first generation of wireless communication technology was
based on analog technology and offered only voice services. However, with the
advent of the second-generation (2G) technology, digital communication and data
25 services became possible, and text messaging was introduced. 3G technology
marked the introduction of high-speed internet access, mobile video calling, and
location-based services. The fourth-generation (4G) technology revolutionized
wireless communication with faster data speeds, better network coverage, and
improved security. Currently, the fifth-generation (5G) technology is being
30 deployed, promising even faster data speeds, low latency, and the ability to connect
3
multiple devices simultaneously. With each generation, wireless communication
technology has become more advanced, sophisticated, and capable of delivering
more services to its users.
5 [0004] The interaction between a Platform Scheduler (PS) microservice and other
microservices may introduce latency in the network, especially if the scheduler has
to request information/ resources from other microservices, thereby affecting
system performance. In the current existing solutions, service outages due to
scheduling jobs/tasks can disrupt communication. As the system grows, the
10 scheduler may need to handle an increasing number of requests to coordinate tasks.
[0005] Thus, there exists an imperative need in the art for a system and method for
facilitating an interconnection between a plurality of microservices, which the
present disclosure aims to address.
15
SUMMARY
[0006] 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.
20 This summary is not intended to identify the key features or the scope of the claimed
subject matter.
[0007] An aspect of the present disclosure may relate to a method for facilitating
an interconnection between a plurality of microservices. The method includes
25 receiving, by a transceiver unit at a microservice platform, a request from one or
more microservices to create at least one task. Next, the method includes
determining, by a determination unit at the microservice platform, whether the
requested at least one task already exists in a database. Next, the method includes
generating, by a generation unit at the microservice platform, the at least one task
30 corresponding to the request in an event it is determined that the at least one task
4
does not already exist. Next, the method includes scheduling, by a scheduling unit
at the microservice platform, the generated at least one task based on a predefined
criteria. Next, the method includes receiving, by the transceiver unit at the
microservice platform, a trigger for execution of the scheduled at least one task.
5 Next, the method includes fetching, by a fetching unit at the microservice platform,
one or more task details from a set of task details stored in a database based on the
received trigger. Thereafter, the method includes transmitting, by the transceiver
unit at the microservice platform, the fetched one or more task details associated
with the request to the one or more microservices for execution.
10
[0008] In an exemplary aspect of the present disclosure, the task corresponds to at
least one of creating task, modifying task, viewing task, and deleting task.
[0009] In an exemplary aspect of the present disclosure, the method further
15 comprises storing, by a storing unit at the microservice platform, the generated at
least one task and one or more task details in the database.
[0010] In an exemplary aspect of the present disclosure, wherein the method further
comprises an execution unit at the microservice platform configured to initiate the
20 execution of at least one task at the one or more microservices.
[0011] In an exemplary aspect of the present disclosure, the method further
comprises determining further comprises querying, by a querying unit, the database
to find the at least one task corresponding to the request.
25
[0012] Another aspect of the present disclosure may relate to a system for
facilitating an interconnection between a plurality of microservices. The system
comprising a microservice platform. The microservice platform comprising a
transceiver unit configured to receive a request from one or more microservices to
30 create at least one task; a determination unit configured to determine whether the at
5
least one task already exists in a database; a generation unit configured to generate
the at least one task corresponding to the request in an event it is determined that
the at least one task does not already exists; a scheduling unit configured to schedule
the created at least one task based on a predefined criteria; the transceiver unit
5 further configured to a trigger for execution of the scheduled at least one task; a
fetching unit configured to fetch one or more task details from a set of task details
stored in a database based on the received trigger; the transceiver unit is further
configured to transmit the fetched one or more task details associated with the
request to the one or more microservices for execution.
10
[0013] Yet another aspect of the present disclosure may relate to a non-transitory
computer readable storage medium storing instructions for facilitating an
interconnection between a plurality of microservices, the instructions include
executable code which, when executed by one or more units of a system, causes: a
15 transceiver unit of the system to receive a request from one or more microservices
to create at least one task; a determination unit of the system to determine whether
the at least one task already exists in a database; a generation unit of the system to
generate the at least one task corresponding to the request in an event it is
determined that the at least one task does not already exist; a scheduling unit of the
20 system to schedule the created at least one task based on a predefined criteria; the
transceiver unit of the system further to a trigger for execution of the scheduled at
least one task; a fetching unit of the system to fetch one or more task details from a
set of task details stored in a database based on the received trigger; the transceiver
unit of the system further to transmit the fetched one or more task details associated
25 with the request to the one or more microservices for execution.
OBJECTS OF THE DISCLOSURE
[0014] Some of the objects of the present disclosure, which at least one
30 embodiment disclosed herein satisfies are listed herein below.
6
[0015] It is an object of the present disclosure to provide a system and a method for
facilitating interaction between one or more microservice with a platform scheduler
microservice.
5
[0016] It is another object of the present disclosure to provide a solution for
ensuring platform scheduler and cron jobs (PSC) MS interaction with Elasticsearch
(NS) for data storage, enrichment, analysis and visualization.
10 [0017] It is yet another object of the present disclosure enables other microservices
to create, update, visualize and delete variety of tasks at a centralised platform rather
than doing operations at their own system and further, ensures PSC MS interaction
with Elasticsearch (NS) for scalable and faster performance.
15 DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings, which are incorporated herein, and constitute
a part of this disclosure, illustrate exemplary embodiments of the disclosed methods
and systems in which like reference numerals refer to the same parts throughout the
20 different drawings. Components in the drawings are not necessarily to scale,
emphasis instead being placed upon clearly illustrating the principles of the present
disclosure. Also, the embodiments shown in the figures are not to be construed as
limiting the disclosure, but the possible variants of the method and system
according to the disclosure are illustrated herein to highlight the advantages of the
25 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.
[0019] FIG. 1 illustrates an exemplary block diagram of a management and
30 orchestration (MANO) architecture.
7
[0020] 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.
5
[0021] FIG. 3 illustrates an exemplary block diagram of a system for facilitating an
interconnection between a plurality of microservices, in accordance with exemplary
implementations of the present disclosure.
10 [0022] FIG. 4 illustrates a method flow diagram for facilitating an interconnection
between a plurality of microservices, in accordance with exemplary
implementations of the present disclosure.
[0023] FIG. 5 illustrates a sequence flow diagram for facilitating an interconnection
15 between a plurality of microservices, in accordance with exemplary
implementations of the present disclosure.
[0024] FIG. 6 illustrates an exemplary system architecture of a platform scheduler
and cron jobs (PSC/PS) microservice, in accordance with exemplary
20 implementations of the present disclosure.
[0025] The foregoing shall be more apparent from the following more detailed
description of the disclosure.
25 DETAILED DESCRIPTION
[0026] 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
30 embodiments of the present disclosure may be practiced without these specific
details. Several features described hereafter may each be used independently of one
8
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.
5 [0027] 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
10 arrangement of elements without departing from the spirit and scope of the
disclosure as set forth.
[0028] Specific details are given in the following description to provide a thorough
understanding of the embodiments. However, it will be understood by one of
15 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.
20 [0029] Also, it is noted that individual embodiments may be described as a process
which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure
diagram, or a block diagram. Although a flowchart may describe the operations as
a sequential process, many of the operations may be performed in parallel or
concurrently. In addition, the order of the operations may be re-arranged. A process
25 is terminated when its operations are completed but could have additional steps not
included in a figure.
[0030] The word “exemplary” and/or “demonstrative” is used herein to mean
serving as an example, instance, or illustration. For the avoidance of doubt, the
30 subject matter disclosed herein is not limited by such examples. In addition, any
9
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
5 “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.
10 [0031] As used herein, a “processing unit” or “processor” or “operating processor”
includes one or more processors, wherein processor refers to any logic circuitry for
processing instructions. A processor may be a general-purpose processor, a special
purpose processor, a conventional processor, a digital signal processor, a plurality
of microprocessors, one or more microprocessors in association with a (Digital
15 Signal Processing) DSP core, a controller, a microcontroller, Application Specific
Integrated Circuits, Field Programmable Gate Array circuits, any other type of
integrated circuits, etc. The processor may perform signal coding data processing,
input/output processing, and/or any other functionality that enables the working of
the system according to the present disclosure. More specifically, the processor or
20 processing unit is a hardware processor.
[0032] As used herein, “a user equipment”, “a user device”, “a smart-user-device”,
“a smart-device”, “an electronic device”, “a mobile device”, “a handheld device”,
“a wireless communication device”, “a mobile communication device”, “a
25 communication device” may be any electrical, electronic and/or computing device
or equipment, capable of implementing the features of the present disclosure. The
user equipment/device may include, but is not limited to, a mobile phone, smart
phone, laptop, a general-purpose computer, desktop, personal digital assistant,
tablet computer, wearable device or any other computing device which is capable
30 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 at least one of
a transceiver unit, a processing unit, a storage unit, a detection unit and any other
such unit(s) which are required to implement the features of the present disclosure.
5 [0033] As used herein, “storage unit” or “memory unit” refers to a machine or
computer-readable medium including any mechanism for storing information in a
form readable by a computer or similar machine. For example, a computer-readable
medium includes read-only memory (“ROM”), random access memory (“RAM”),
magnetic disk storage media, optical storage media, flash memory devices or other
10 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.
[0034] As used herein “interface” or “user interfaces” refers to a shared boundary
15 across which two or more separate components of a system exchange information
or data. The interface may also be referred to a set of rules or protocols that define
communication or interaction of one or more modules or one or more units with
each other, which also includes the methods, functions, or procedures that may be
called.
20
[0035] All modules, units, components used herein, unless explicitly excluded
herein, may be software modules or hardware processors, the processors being a
general-purpose processor, a special purpose processor, a conventional processor,
a digital signal processor (DSP), a plurality of microprocessors, one or more
25 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.
[0036] As used herein the transceiver unit includes at least one receiver and at least
30 one transmitter configured respectively for receiving and transmitting data, signals,
11
information or a combination thereof between units/components within the system
and/or connected with the system.
[0037] As used herein, the term Platform Scheduler (PS) microservice or Platform
5 Scheduler and cron jobs (PSC OR PS) microservice is interchangeably used in the
specification.
[0038] As used herein, Platform schedulers and cron jobs (PSC/PS) schedules the
task such as but not limited to triggering of an event, traversing the network graph
10 etc.
[0039] As used herein, load balancer refers to such as, device, unit, server or service
which manages incoming and outgoing network traffic load. Load balancer stores
details of the at least available servers, server details, storage, microservices and
15 microservice instances. Load balancer manages the traffic load by directing and
distributing incoming or outgoing traffic to the healthy servers or resources.
[0040] As used herein, microservice refers to such as, unit, node, server loosely
coupled, independent deployable services specialized for performing specific
20 functions and business services and communicating with other services through
well-defined interfaces or application programming interfaces (APIs).
[0041] As used herein, Edge Load Balancer (ELB) refers to a service, unit, platform
for managing and distributing incoming traffic efficiently across a group of
25 supported servers, microservices and units in a manner that may increase speed and
performance of the network. ELB is used to send the requests between the active
instances of one microservice to another microservice.
[0042] As used herein, Event Routing Management (ERM) refers to such as, node,
30 server, service or platform for monitoring and triggering various actions or
responses within the system based on detected events. For example, for any
12
microservice instance down, the ERM may trigger any alert for taking an action to
overcome the service breakdown condition in the network. ERM is used to send the
requests between publisher microservice to subscriber microservice.
5 [0043] As used herein, PSC service acts as a centralised platform that helps to
create and schedule jobs on behalf of other microservices. To perform creating tasks
and scheduling jobs, PSC needs to maintain the data in Elasticsearch (NS) so that
data can be used for future uses. So, with the help of this PSC MS interacts with
Elasticsearch (NS) for fetching the data and providing the relevant information to
10 other MS so that the latter MS can use that data to perform its own business logic.
[0044] 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
15 method and system for facilitating an interconnection between a plurality of
microservices. The present disclosure is implemented with the help of various
components of a management and orchestration (MANO) architecture.
[0045] Hereinafter, exemplary embodiments of the present disclosure will be
20 described with reference to the accompanying drawings.
[0046] FIG. 1 illustrates an exemplary block diagram representation of a
management and orchestration (MANO) architecture [100], in accordance with the
exemplary implementation of the present disclosure. The MANO architecture [100]
25 is developed for managing telecom cloud infrastructure automatically, managing
design or deployment design, managing instantiation of a network node(s) etc. The
MANO architecture [100] deploys the network node(s) in the form of Virtual
Network Function (VNF) and Cloud-native/ Container Network Function (CNF).
The system may comprise one or more components of the MANO architecture. The
30 MANO architecture [100] is used to auto-instantiate the VNFs into the
13
corresponding environment of the present disclosure so that it could help in
onboarding other vendor(s) CNFs and VNFs to the platform.
[0047] As shown in FIG. 1, the MANO architecture [100] comprises a user
5 interface layer, a network function virtualization (NFV) and software defined
network (SDN) design function module [104]; a platforms foundation services
module [106], a platform core services module [108] and a platform resource
adapters and utilities module [112], 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
10 implementing features of the present disclosure.
[0048] The NFV and SDN design function module [104] further comprises a VNF
lifecycle manager (compute) [1042]; a VNF catalogue [1044]; a network services
catalogue [1046]; a network slicing and service chaining manager [1048]; a
15 physical and virtual resource manager [1050] and a CNF lifecycle manager [1052].
The VNF lifecycle manager (compute) [1042] is responsible for on which server of
the communication network the microservice will be instantiated. The VNF
lifecycle manager (compute) [1042] will manage the overall flow of incoming/
outgoing requests during interaction with the user. The VNF lifecycle manager
20 (compute) [1042] is 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 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
25 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 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
30 CNF lifecycle manager [1052] is similarly used for the CNFs lifecycle
management.
14
[0049] The platforms foundation services module [106] further comprises a
microservices elastic load balancer [1062]; an identify & access manager [1064]; a
command line interface (CLI) [1066]; a central logging manager [1068]; and an
5 event routing manager [1070]. The microservices elastic load balancer [1062] is
used for maintaining the load balancing of the request for the services. The identify
& access manager [1064] is used for logging purposes. The command line interface
(CLI) [1066] is used to provide commands to execute certain processes which
require changes during the run time. The central logging manager [1068] is
10 responsible for keeping the logs of every service. The logs are generated by the
MANO architecture [100]. The logs are used for debugging purposes. The event
routing manager [1070] is responsible for routing the events i.e., the application
programming interface (API) hits to the corresponding services.
15 [0050] The platforms core services module [108] further comprises NFV
infrastructure monitoring manager [1082]; an assure manager [1084]; a
performance manager [1086]; a policy execution engine (PEGN) [1088]; a capacity
monitoring manager [1090]; a release management (mgmt.) repository [1092]; a
configuration manager & (GCT) [1094]; an NFV platform decision analytics
20 (NPDA) [1096]; a platform NoSQL DB [1098]; a platform schedulers and cron jobs
(PSC/PS) [1100]; a VNF backup & upgrade manager [1102]; a micro service
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
25 VNF. The assure manager [1084] is responsible for supervising the alarms the
vendor is generating. The performance manager [1086] is responsible for manging
the performance counters. The policy execution engine (PEGN) [1088] is
responsible for all the managing the policies. The capacity monitoring manager
(CPM) [1090] is responsible for sending the request to the PEGN [1088]. The
30 release management (mgmt.) repository (RMR) [1092] is responsible for managing
15
the releases and the images of all the vendor network node. 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 is further noted that the policy execution engine
5 (PEGN) [1088], the configuration manager & (GCT) [1094] and the (NPDA)
[1096] work together. The platform NoSQL DB [1098] is a database for storing all
the inventory (both physical and logical) as well as the metadata of the VNFs and
CNF. The platform schedulers and cron jobs (PSC/PS) [1100] schedules the task
such as but not limited to triggering of an event, traverse the network graph etc. The
10 VNF backup & upgrade manager [1102] takes backup of the images, binaries of the
VNFs and the CNFs and produces those backup on demand in case of server failure.
The micro service auditor [1104] audits the microservices. For e.g., in a
hypothetical case, instances not being instantiated by the MANO architecture [100]
using the network resources then the micro service auditor [1104] audits and
15 informs the same so that resources can be released for services running in the
MANO architecture [100], thereby assuring the services only run on the MANO
architecture [100]. The platform operations, administration and maintenance
manager [1106] is used for newer instances that are spawning.
20 [0051] The platform resource adapters and utilities module [112] further comprises
a platform external API adaptor and gateway [1122]; a generic decoder and indexer
(XML, CSV, JSON) [1124]; a docker swarm adaptor [1126]; an OpenStack API
adapter [1128]; and a NFV gateway [1130]. The platform external API adaptor and
gateway [1122] is responsible for handling the external services (to the MANO
25 architecture [100]) that requires the network resources. The generic decoder and
indexer (XML, CSV, JSON) [1124] gets directly the data of the vendor system in
the XML, CSV, JSON format. The docker swarm adaptor [1126] is the interface
provided between the telecom cloud and the MANO architecture [100] for
communication. The OpenStack API adapter [1128]; is used to connect with the
30 virtual machines (VMs). The NFV gateway [1130] is responsible for providing the
path to each service going to/incoming from the MANO architecture [100].
16
[0052] The present disclosure can be implemented on a computing device [200]
(also referred herein as a computer system [200]) upon which the features of the
present disclosure may be implemented in accordance with exemplary
5 implementation of the present disclosure. In an implementation, the computing
device [200] may also implement a method for facilitating an interconnection
between a plurality of microservices utilising the system. In another
implementation, the computing device [200] itself implements the method for
facilitating an interconnection between a plurality of microservices using one or
10 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.
[0053] The computing device [200] may include a bus [202] or other
communication mechanism for communicating information, and a hardware
15 processor [204] coupled with bus [202] for processing information. The hardware
processor [204] may be, for example, a general-purpose microprocessor. The
computing device [200] may also include a main memory [206], such as a randomaccess 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
20 main memory [206] also may be used for storing temporary variables or other
intermediate information during execution of the instructions to be executed by the
processor [204]. Such instructions, when stored in non-transitory storage media
accessible to the processor [204], render the computing device [200] into a specialpurpose machine that is customized to perform the operations specified in the
25 instructions. The computing device [200] further includes a read only memory
(ROM) [208] or other static storage device coupled to the bus [202] for storing static
information and instructions for the processor [204].
[0054] A storage device [210], such as a magnetic disk, optical disk, or solid-state
30 drive is provided and coupled to the bus [202] for storing information and
17
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 computer user. An input device [214], including
5 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 [204], and for controlling
10 cursor movement on the display [212]. The input device typically has two degrees
of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow
the device to specify positions in a plane.
[0055] The computing device [200] may implement the techniques described
15 herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware
and/or program logic which in combination with the computing device [200] causes
or programs the computing device [200] to be a special-purpose machine.
According to one implementation, the techniques herein are performed by the
computing device [200] in response to the processor [204] executing one or more
20 sequences of one or more instructions contained in the main memory [206]. Such
instructions may be read into the main memory [206] from another storage medium,
such as the storage device [210]. Execution of the sequences of instructions
contained in the main memory [206] causes the processor [204] to perform the
process steps described herein. In alternative implementations of the present
25 disclosure, hard-wired circuitry may be used in place of or in combination with
software instructions.
[0056] The computing device [200] also may include a communication interface
[218] coupled to the bus [202]. The communication interface [218] provides a two30 way data communication coupling to a network link [220] that is connected to a
18
local network [222]. For example, the communication interface [218] may be an
integrated services digital network (ISDN) card, cable modem, satellite modem, or
a modem to provide a data communication connection to a corresponding type of
telephone line. As another example, the communication interface [218] may be a
5 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
various types of information.
10
[0057] The computing device [200] can send messages and receive data, including
program code, through the network(s), the network link [220] and the
communication interface [218]. In the Internet example, a server [230] might
transmit a requested code for an application program through the Internet [228], the
15 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.
20 [0058] Referring to FIG. 3, an exemplary block diagram of a system [300] for
facilitating an interconnection between a plurality of microservices 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
determination unit [304], at least one generation unit [306], at least one scheduling
25 unit [308], at least one fetching unit [310], at least one execution unit [312], and at
least one querying unit [314]. Also, all of the components/ units of the system [300]
are assumed to be connected to each other unless otherwise indicated below. Also,
in FIG. 3 only a few units are shown, however, the system [300] may comprise
multiple such units or the system [300] may comprise any such numbers of said
30 units, as required to implement the features of the present disclosure. Further, in an
19
implementation, the system [300] may be present in a user device to implement the
features of the present invention. The system [300] may be a part of the user device
/ or may be independent of but in communication with the user device (may also
referred herein as a UE). In another implementation, the system [300] may reside
5 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.
[0059] The system [300] is configured for facilitating an interconnection between
a plurality of microservices, with the help of the interconnection between the
10 components/units of the system [300]. The system [300] comprises a microservice
platform [300a]. In an exemplary aspect, the microservice platform [300a] is a
Platform Schedulers & Cron Jobs (PSC/PS) [1100]. The components/units of the
system [300] implemented at the microservice platform [300a].
15 [0060] The system [300] comprises a transceiver unit [302]. The transceiver unit
[302] is configured to receive a request from one or more microservices (MS) to
create at least one task. The transceiver unit [302] at the network platform [300a] is
configured to receive the request for creating the at least one task from one or more
microservices such as, but not limited to, micro service auditor [1104] and release
20 management repository MS [1092]. The task corresponds to at least one of creating
task, modifying task, viewing task, and deleting task. In an implementation, at least
the task may be associated with auditing of the resources in the network for micro
service auditor [1104]. In an implementation, at least the task may be associated
with and releasing resources in the network for release management repository MS
25 [1092]. In an implementation, the request is received from the one or more
microservices (MS) in a format that includes, but not limited only to HTTP format
or JSON format.
[0061] The request includes information such as task details, metadata, and other
30 necessary parameters required for the task to be executed. For example, when a
20
microservice responsible for managing user data needs to initiate a backup process,
it sends a request to the transceiver unit [302]. The transceiver unit [302] then
receives this request, which includes details about the backup task, such as the type
of data to be backed up, the schedule for the backup, and any other relevant
5 instructions. After receiving the request, the transceiver unit [302] passes this
information along to other components within the system [300], initiating the
process of determining whether this task already exists, generating the task if it does
not, and scheduling it for execution.
10 [0062] The system [300] comprises a determination unit [304]. The determination
unit [304] is communicatively attached with the transceiver unit [302]. The
transceiver unit [302] sends at least one task request to the determination unit [304].
The determination unit [304] at the microservice platform [300a] is configured to
determine whether the at least one task already exists in a database. In an
15 implementation, the determination unit [304] is configured to determine whether
the task associated with auditing of the resources in the network for micro service
auditor [1104] and the task may be associated with and releasing resources in the
network for release management repository MS [1092] exist or not. The system
[300] further comprises a Querying Unit [314]. The Querying Unit [314] is
20 configured to query the database to find the at least one task corresponding to the
request. In an implementation, the database may store at least one task associated
with one or more microservices.
[0063] For example, if a microservice requests the creation of a task for processing
25 customer orders, the transceiver unit [302] forwards this task request to the
determination unit [304]. The determination unit [304] then queries the database to
check if a task with similar parameters, such as customer order identifier (ID), order
type, or execution schedule, already exists. If the determination unit [304] finds a
matching task in the database, it prevents the creation of a duplicate task by
30 notifying other components in the system that no new task is required.
21
[0064] The system [300] comprises a generation unit [306]. The determination unit
[304] is communicatively attached with the generation unit [306]. The
determination unit [304] determines whether the at least one task already exists or
not. If the at least one task already does not exist, the determination unit [304] is
5 configured to send the request to generate the at least one task to the generation unit
[306]. The generation unit [306] at the microservice platform [300a] is configured
to generate the at least one task corresponding to the request in an event it is
determined that the at least one task does not already exist. For example, consider
a scenario where a microservice submits a request to process a data migration task.
10 After the transceiver unit [302] receives the request and forwards it to the
determination unit [304], the determination unit [304] checks the database and finds
no existing task with similar migration parameters. At this point, the generation unit
[306] takes over and generates a new task. The task may include details such as the
source and destination of the data, the type of data to be migrated, and any time
15 constraints or conditions under which the migration should occur.
[0065] The system [300] further comprises a storing unit [316]. The storing unit
[316] is configured to store the generated at least one task and the one or more task
details in the database. In an implementation, the storing unit [316] may be an
20 elastic search server or database. The elastic search server or database may store
task details for the generated at least one task such as, task name, task identifier,
associated micro service (MS) name, creation timestamp, and scheduled timeperiod for the execution etc.
25 [0066] The system [300] comprises a scheduling unit [308]. The generation unit
[306] is communicatively coupled with the scheduling unit [308]. The scheduling
unit [308] at the microservice platform [300a] is configured to schedule the created
at least one task based on a predefined criteria. In an implementation, the scheduling
unit [308] is configured to schedule the created task based on the predefined criteria
30 such as, but not limited to, periodically, hourly, predefined priority, availability of
22
resources, performance, scalability and cost. In an implementation, the predefined
criteria may be received with the received HTTP request.
[0067] For example, when a new task is generated for performing a data analysis
5 operation, the scheduling unit [308] examines the predefined criteria, which could
include factors such as the priority level of the task, the availability of system
resources, or the time window during which the task must be completed. Based on
these criteria, the scheduling unit [308] assigns a time slot or execution sequence to
the task. If the system is busy processing other high-priority tasks, the scheduling
10 unit [308] might delay the execution of the new task until resources are available.
In another example, if the task involves routine system maintenance, the scheduling
unit [308] may assign the task to run during off-peak hours, ensuring minimal
disruption to ongoing services. The scheduling criteria can be configured to align
with business rules, performance goals, or specific service-level agreements
15 (SLAs).
[0068] The scheduling unit [308] is communicatively coupled with the transceiver
unit [302]. The scheduling unit [308] is configured to send the details of the
scheduled task to the transceiver unit [302]. The transceiver unit [302] is further
20 configured to a trigger for execution of the scheduled at least one task. In an
implementation, the transceiver unit [302] is configured to send the trigger to a
fetching unit [310] for executing at least one task at the scheduled time. In an
implementation, for the Micro Service Auditor MS [1104] the auditing of resources
has been scheduled at per hour or network administrator configured period.
25
[0069] Once the task has been scheduled based on predefined criteria, the
transceiver unit [302] monitors the execution conditions, such as time or specific
system events, and triggers the task when these conditions are met. For example, if
a task is scheduled to run at midnight for generating a report, the scheduling unit
30 [308] sends the details of this scheduled task, including the exact execution time, to
the transceiver unit [302]. At the designated time, the transceiver unit [302]
23
activates the task by sending a trigger signal to the relevant system components,
prompting the execution of the task. In an exemplary implementation, the trigger
for task execution might be based on the completion of a prerequisite task or the
availability of specific system resources. The transceiver unit [302] can also receive
5 external triggers from other microservices or system events that indicate the
conditions for execution have been met. For example, if a data backup task is
scheduled to execute only after a data import operation is completed, the transceiver
unit [302] would wait for a signal from the importing microservice before triggering
the backup task.
10
[0070] The system [300] comprises a fetching unit [310]. The fetching unit [310]
is communicatively coupled with the transceiver unit [302]. The fetching unit [310]
is configured to receive the trigger from the transceiver unit [302]. Further, the
fetching unit [310] is configured to fetch one or more task details from a set of task
15 details stored in a database based on the received trigger. In an implementation, the
fetching unit [310] may fetch one or more task details such as, task name, task
identifier, associated micro service (MS) name, creation timestamp, and scheduled
time-period for the execution etc. based on the trigger from the database.
20 [0071] For example, when a task for generating an analytics report is triggered by
the transceiver unit [302], the fetching unit [310] retrieves the associated task details
from the database. These details might include parameters such as the specific data
to be analysed, the timeframe for the report, and any user-specific configurations
that were previously stored when the task was created. In an exemplary
25 implementation, if the task involves sending a notification to a set of users, the
fetching unit [310] would retrieve details such as the list of recipients, the message
content, and the notification settings.
[0072] The fetching unit [310] sends the fetched one or more task details to the
30 transceiver unit [302]. The transceiver unit [302] of the system [300] is further
configured to transmit the fetched one or more task details associated with the
24
request to the one or more microservices for execution. The transceiver unit [302]
is configured to communicate with an execution unit [312]. The execution unit
[312] is configured to execute at the at least one task. The execution unit [312] at
the microservice platform [300a] is configured to initiate the execution of at least
5 one task at the one or more microservices. In an implementation, the execution unit
[312] is configured to execute the audit task at Micro Service Auditor MS [1104]
after receiving the fetched task details from the fetching unit [310].
[0073] For example, a microservice has requested a task to process a set of financial
10 transactions. Once the fetching unit [310] retrieves the relevant task details, such as
transaction IDs, customer information, and processing rules, it sends this data to the
transceiver unit [302]. The transceiver unit [302] then transmits the data to the
microservice responsible for handling the transaction processing. This allows the
microservice to execute the task accurately, following the predefined rules and
15 using the detailed information provided. In an exemplary implementation, if a
microservice needs to generate a customer notification, the transceiver unit [302]
would transmit the fetched task details, including customer contact information and
the message content, to the notification microservice. The microservice would then
use this information to send the notification such that the task is executed properly
20 according to the original request.
[0074] 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
25 particular functionality of these units for clarity, it is recognized that various
configurations and combinations thereof are within the scope of the disclosure. The
functionality of specific units as disclosed in the disclosure should not be construed
as limiting the scope of the present disclosure. Consequently, alternative
arrangements and substitutions of units, provided they achieve the intended
30 functionality described herein, are considered to be encompassed within the scope
of the present disclosure.
25
[0075] Referring to FIG. 4 an exemplary method flow diagram [400], for
facilitating an interconnection between a plurality of microservices, in accordance
with exemplary implementations of the present disclosure is shown. In an
5 implementation the method [400] is performed by the system [300]. As shown in
FIG. 4, the method [400] starts at step [402].
[0076] At step [404], the method [400] as disclosed by the present disclosure
comprises receiving, by a transceiver unit [302] at a microservice platform, a
10 request from one or more microservices to create at least one task. The transceiver
unit [302] at the network platform [300a] may receive the request for creating the
at least one task from one or more microservices such as, but not limited to, micro
service auditor [1104] and release management repository MS [1092]. The task
corresponds to at least one of creating task, modifying task, viewing task, and
15 deleting task. In an implementation, at least the task may be associated with auditing
of the resources in the network for micro service auditor [1104]. In an
implementation, at least the task may be associated with and releasing resources in
the network for release management repository MS [1092]. In an implementation,
the request is received from the one or more microservices (MS) such as, but not
20 limited to, in from of HTTP or JSON format.
[0077] Next, at step [406], the method [400] as disclosed by the present disclosure
comprises determining, by a determination unit [304] at the microservice platform
[300a], whether the requested at least one task already exists in a database. The
25 transceiver unit [302] sends at least one task request to the determination unit [304].
In an implementation, the determination unit [304] may determine whether the task
associated with auditing of the resources in the network for micro service auditor
MS [1104] and the task may be associated with and releasing resources in the
network for release management repository MS [1092] exist or not in the database.
30 The system [300] further comprises a Querying Unit [314]. The Querying Unit
26
[314] may query the database to find the at least one task corresponding to the
request. In an implementation, the database may store at least one task associated
with one or more microservices.
5 [0078] Next, at step [408], the method [400] as disclosed by the present disclosure
comprises generating, by a generation unit [306] at the microservice platform, the
at least one task corresponding to the request in an event it is determined that the at
least one task does not already exist. If the at least one task already does not exist,
the determination unit [304] may send the request to generate the at least one task
10 to the generation unit [306]. The generation unit [306] at the microservice platform
[300a] may generate the at least one task corresponding to the request in an event it
is determined that the at least one task does not already exist. The system [300]
further comprises a storing unit [316]. The storing unit [316] may store the
generated at least one task and the one or more task details in the database. In an
15 implementation, the storing unit [316] may be elastic search server or database. The
elastic search server or database may store task details for the generated at least one
task such as, task name, task identifier, associated micro service (MS) name,
creation timestamp, and scheduled time-period for the execution etc.
20 [0079] Next, at step [410], the method [400] as disclosed by the present disclosure
comprises scheduling, by a scheduling unit [308] at the microservice platform
[300a], the generated at least one task based on a predefined criteria. In an
implementation, the scheduling unit [308] may schedule the created task based on
the predefined criteria such as, but not limited to, periodically, hourly, predefined
25 priority, availability of resources, performance, scalability and cost. In an
implementation, the predefined criteria may be received during the receiving of the
HTTP request.
[0080] Next, at step [412], the method [400] as disclosed by the present disclosure
30 comprises receiving, by the transceiver unit [302] at the microservice platform, a
27
trigger for execution of the scheduled at least one task. The method [400]
implemented by the scheduling unit [308] may send the details of the scheduled
task to the transceiver unit [302]. The transceiver unit [302] may further receive a
trigger for execution of the scheduled at least one task. In an implementation, the
5 transceiver unit [302] may send the trigger to a fetching unit [310] for executing at
least one task at the scheduled time. In an implementation, for the Micro Service
Auditor [1104] the auditing of resources has been scheduling at per hour or network
administrator configured period.
10 [0081] Next, at step [414], the method [400] as disclosed by the present disclosure
comprises fetching, by a fetching unit [310] at the microservice platform [300a],
one or more task details from a set of task details stored in a database based on the
received trigger. The fetching unit [310] may receive the trigger from the
transceiver unit [302]. Further, the fetching unit [310] may fetch one or more task
15 details from a set of task details stored in a database based on the received trigger.
In an implementation, the fetching unit [310] may fetch one or more task details
such as, task name, task identifier, associated micro service (MS) name, creation
timestamp, and scheduled time-period for the execution etc. based on the trigger
from the database.
20
[0082] Next, at step [416], the method [400] as disclosed by the present disclosure
comprises transmitting, by the transceiver unit [302] at the microservice platform,
the fetched one or more task details associated with the request to the one or more
microservices for execution. The execution unit [312] may execute at the at least
25 one task. The execution unit [312] at the microservice platform [300a] may initiate
the execution at least one task at the one or more microservices. In an
implementation, the execution unit [312] may execute an audit task at Micro
Service Auditor MS [1104] after receiving the fetched task details from the fetching
unit [310].
30
28
[0083] Thereafter, the method [400] terminates at step [418].
[0084] FIG. 5 illustrates a sequence flow diagram [500] for facilitating an
interconnection between a plurality of microservices, in accordance with exemplary
5 implementations of the present disclosure. As shown in FIG. 5, the sequence flow
[500] comprises a Platform Schedulers & Cron Jobs (PSC/PS) [1100], a
Microservice (MS) [506] and a Elasticsearch (NS) [504].
[0085] At step S1, the MS [506] sends a HTTP request or JSON request to create
10 and schedule a task request to the PSC/PS [1100]. The task request is sent using
either an HTTP or JSON format and is received by the Platform Schedulers & Cron
Jobs (PSC/PS) [1100]. The MS [506] may initiate the request for a variety of tasks,
such as scheduling data backups, report generation, or any other predefined task.
15 [0086] At step S2, the PSC/PS [1100] checks if the request task from the MS [506]
exists or not via NS [504]. The elasticsearch (NS) [504] acts as a server or a
distributed search and analytics engine. NS [504] is used for data ingestion,
enrichment, storage, analysis, and visualization. NS [504] can process JSON
requests and give back JSON data. Elasticsearch (NS) [504] is a distributed search
20 and analytics engine that facilitates data management within the system. It functions
not only as a search engine but also serves as a database, providing capabilities for
data ingestion, storage, enrichment, analysis, and visualization. Elasticsearch (NS)
[504] stores task-related information such as task names, execution schedules,
timestamps, and other relevant details such that the data is easily retrievable when
25 needed. It processes JSON requests from the Platform Schedulers & Cron Jobs
(PSC/PS) [1100] and provides JSON responses, enabling the efficient management
of tasks by storing and retrieving information.
[0087] At step S3, in response to the request, the NS [504] sends a response to
30 PSC/PS [1100] about whether the task exists or not.
29
[0088] At step S4, if the task does not exist, the PSC/PS [1100] sends a failure
response to the MS [506].
5 [0089] At step S5, PSC/PS [1100] creates tasks and stores at the NS [504]. The NS
[504] stores the created task with task details such as, task name, MS [506] name,
timestamp, execution scheduled time and the like.
[0090] At step S6, after creating the task, PSC /PS [1100] schedules the task for the
10 MS [506].
[0091] At step S7, the PSC/PS [110] sends a response to the MS [506] for a task
successfully created and scheduled for the MS [506].
15 [0092] At step S8, the PSC/PS [1100] sends a task trigger at a scheduled time to
the MS [506].
[0093] At step S9, the PSC/PS [1100] fetches relevant details about the task and
task details from the NS [504]. Relevant details typically refer to metadata about
20 the task, such as timestamps, task status (e.g., pending, in-progress, or completed),
the microservice that created the task, and any predefined execution schedules.
These details ensure that the system can track the progress and state of each task
over time. Elasticsearch allows these details to be quickly accessed and updated,
providing fast and scalable querying capabilities.
25
[0094] Further, task details refers to more specific information directly tied to the
task itself. For instance, if a microservice creates a task to back up a database, the
task details might include the task name (e.g., "Database Backup"), parameters such
as the database being backed up (e.g., "CustomerOrdersDB"), the location where
30
the backup will be stored (e.g., "/backups/orders/"), and the frequency or timing of
execution (e.g., "every 24 hours at 2 AM").
[0095] At step S10, the NS [504] provides relevant stored task information to the
5 PSC/PS [1100]. Relevant stored task information includes key data such as the task
name, ID, microservice origin, creation timestamp, scheduled execution time, task
parameters, and status, all stored in Elasticsearch (NS) [504]. For example, a
backup task might include details like "OrderDB_Backup," scheduled for daily
execution, with parameters like the database name and backup location.
10
[0096] At step S11, the PSC/PS [1100] notifies the MS [506] with relevant task
details via HTTP request.
[0097] At step S12, MS [506] executes tasks based on the request body and
15 attributes received from the PSC/PS [1100]. The request body and attributes refers
to the information and parameters included in a request sent from the MS [506] to
the Platform Schedulers & Cron Jobs (PSC/PS) [1100] system when initiating or
executing a task. The request body contains structured data, in JSON format,
detailing the task requirements such as task type, execution timing, and any
20 necessary inputs. Attributes refer to additional parameters or metadata that further
define how the task should be processed or executed. For example, if a microservice
wants to schedule a database backup task, the request body might include the task
name ("Database Backup"), execution time ("02:00 AM"), and the database to back
up ("CustomerOrdersDB"). The attributes could specify additional configurations
25 such as the backup location ("file_path": "/backups/orders/") or priority level
("priority": "high").
[0098] Referring to FIG. 6 illustrates an exemplary system architecture [600] of a
platform scheduler and cron jobs (PSC/PS) microservice, in accordance with
30 exemplary implementations of the present disclosure. As shown in FIG. 6, the
31
system architecture [600] of PSC microservice comprises a CRON & Schedulers
Management [602], a Cron Management [604], a Task Management [606], a FCAP
Management [608], an Event Handling [610], a high availability (HA) and Fault
Tolerance [612], a Data Modelling Framework [614], a ES-DB Client [616], a ERM
5 [618], a ES [620], an ELB [622], a VNF manager [624], VM [626] (VM1
[626a],..VMn [626n]), a GUI Interface [628], a CLI interface [630] and EDGE-LB
[632].
[0099] CRON & Schedulers Management [602] is used for scheduling of the cron
10 jobs. CRON & Schedulers Management [602] is responsible for managing cron
jobs and scheduling them at appropriate intervals. Cron jobs are recurring tasks that
need to be executed at specified times or based on a regular schedule. The CRON
& Schedulers Management [602] handles the scheduling logic such that tasks are
triggered at the right time and in the correct sequence, considering potential
15 overlaps or delays. For example, if a microservice needs to perform a backup every
hour, the CRON & Schedulers Management ensures this task is initiated and
monitored.
[0100] Cron Management [604] is used to manage all the active and inactive crons
20 created at PSC end. The Cron Management [604] works in tandem with the
scheduling module to manage all active and inactive cron jobs created by the PSC.
The Cron Management [604] tracks the lifecycle of each cron job, including its
creation, activation, deactivation, and deletion. This ensures that only relevant and
necessary cron jobs are actively consuming resources. For example, if a job is
25 temporarily unnecessary, it can be deactivated to conserve system resources.
[0101] Task Management [606] is used to manage all the active and inactive tasks
created at PSC end. The Task Management oversees all active and inactive tasks
within the system. These tasks could involve a wide range of operations, such as
30 data ingestion, processing, or analysis. For example, if a data aggregation task is set
32
to run after receiving new data from external sources, this module manages its
initiation and monitors its progress.
[0102] FCAP management [608] manages all the counters and alarms created at
5 PSC. The FCAP Management [608] deals with managing fault counters, alarms,
and performance metrics within the PSC environment. The FCAP Management
[608] ensures the health of the platform by monitoring for irregularities or system
failures. For example, if a task or cron fails to execute as expected, FCAP
Management raises an alarm for the operations team to investigate.
10
[0103] Event Handling [610] manages all the events between microservices. The
Event Handling module [610] facilitates in managing communication between
microservices. It handles both inbound and outbound events, allowing
microservices to communicate status updates, request information, or trigger tasks
15 in other services. For example, if a microservice completes processing a dataset, it
can send an event notification to another microservice, triggering it to initiate its
own task.
[0104] High Availability (HA) and Fault Tolerance [612] handles all the requests
20 if one running instance goes down, then another active instance will complete that
request. The HA and fault tolerance [612] manages requests in the event of a failure
in any of the microservices. If one running instance goes down, another active
instance takes over to complete the request. This prevents system downtime and
ensures that ongoing operations are not interrupted. For example, if a server hosting
25 a microservice crashes, HA and Fault Tolerance immediately redirect the task to
another server without disrupting the user experience.
[0105] Data Modelling Framework [614] is used to manage and check incoming
and outgoing format data at PSC end. The Data Modelling Framework [614]
30 governs the structure and format of incoming and outgoing data so as to maintain
consistency across all microservices when exchanging data. For example, when
33
data is fetched from the Elasticsearch (ES) database, it is transformed into the
required format by this framework before being sent to the requesting microservice.
[0106] ERM [618] is Event Routing Manager which is used to send the requests
5 between publisher microservice to subscriber microservice. The ERM [618]
manages the routing of events between publisher and subscriber microservices for
enabling asynchronous communication between services. For example, when a task
is completed, the ERM [618] facilitates that the notification is routed to the correct
subscriber microservice for further action.
10
[0107] ELB [622] is Edge Load balancer which is used to send the requests between
the active instances of one microservice to another microservice. The ELB manages
load distribution between the various instances of a microservice such that the
system resources are used efficiently by distributing incoming requests evenly
15 across the available instances. The ELB prevents any single instance from being
overwhelmed by too many requests. For example, during peak traffic, the ELB
distributes requests to different instances of a microservice to maintain optimal
performance.
20 [0108] ES-DB Client [616] and ES [620] manage task related data for the
microservices at PSC end. The ES-DB Client [616] serves as an interface between
the PSC and the Elasticsearch (ES) database [620], which stores all relevant data
for tasks and jobs. ES [620] acts as a distributed search and analytics engine or a
database, making it highly scalable for managing large amounts of data for real25 time data access and analytics. For example, when a task is created, the ES-DB
Client [616] stores all task details in ES [620], allowing for quick retrieval when
needed.
[0109] VNF manager [624] manages the one or more VM [626] in a virtual
30 environment in a network functions virtualization (NFV) architecture or virtualized
infrastructure. The VNF Manager [624] manages the virtualization of network
34
functions and resources within the PSC system. The VNF manager [624] oversees
the allocation and management of virtual machines (VM1 [626a]...VMn [626n])
that support the execution of tasks in a virtualized infrastructure for environments
requiring scalability, as additional virtual machines can be provisioned on demand.
5
[0110] GUI [628] is used to communicate with ERM [618] for sending the request
to the microservices. The GUI [628] provides a user-friendly interface for
interacting with the PSC system, allowing administrators or users to monitor task
status, schedule jobs, and review system health.
10
[0111] CLI [630] is used to communicate or trigger the EDGE-LB [632] for
manging the load of the microservices. The CLI [630] serves a similar function but
is intended for advanced users who prefer text-based commands to interact with the
system. Both interfaces enable users to trigger events, create tasks, or check system
15 metrics. The EDGE-LB [632] is responsible for managing load across edge devices
or services in the network for optimal performance and service delivery by
balancing requests and workloads across geographically distributed servers or
devices.
20 [0112] All components and units communicate with each-other for scheduling and
managing a task request. In a used case scenario, for example three instances of the
PSC microservices, such as, instance 1, instance 2 and instance 3 are available in
the network. If one of the instances, such as instance 2 goes down, these
components/units switch or schedule the task of the instance 2 to the instance 1 or
25 instance 3 based on predefined criteria and maintain the high availability of the
network.
[0113] The present disclosure may relate to a non-transitory computer readable
storage medium storing instructions for facilitating an interconnection between a
30 plurality of microservices, the instructions include executable code which, when
executed by one or more units of a system [300], causes: a transceiver unit [302] of
35
the system [300] to receive a request from one or more microservices to create at
least one task request; a determination unit [304] of the system [300] to determine
whether the at least one task already exists; a generation unit [306] of the system
[300] to generate the at least one task corresponding to the request in an event it is
5 determined that the at least one task does not already exist; a scheduling unit [308]
of the system [300] to schedule the created at least one task based on a predefined
criteria; the transceiver unit [302] of the system [300] further to a trigger for
execution of the scheduled at least one task; a fetching unit [310] of the system
[300] to fetch one or more task details from a set of task details stored in a database
10 based on the received trigger; the transceiver unit [302] of the system [300] further
to transmit the fetched one or more task details associated with the request to the
one or more microservices for execution.
[0114] As is evident from the above, the present disclosure provides a technically
15 advanced method for facilitating interaction between one or more microservice with
a platform scheduler microservice. The present disclosure provides a solution for
ensuring PSC MS interaction with Elasticsearch(NS) for data storage, enrichment,
analysis and visualization. Also, the present disclosure enables other microservices
to create, update, visualize and delete a variety of tasks at a centralised platform
20 rather than doing operations at their own system and further, ensures PSC MS
interaction with Elasticsearch(NS) for scalable and faster performance.
[0115] While considerable emphasis has been placed herein on the disclosed
embodiments, it will be appreciated that many embodiments can be made and that
25 many changes can be made to the embodiments without departing from the
principles of the present disclosure. These and other changes in the embodiments
of the present disclosure will be apparent to those skilled in the art, whereby it is to
be understood that the foregoing descriptive matter to be implemented is illustrative
and non-limiting.
30
36
We Claim:
1. A method for facilitating an interconnection between a plurality of
microservices, the method comprising:
5 - receiving, by a transceiver unit [302] at a microservice platform [300a], a
request from one or more microservices to create at least one task;
- determining, by a determination unit [304] at the microservice platform
[300a], whether the requested at least one task already exists in a database;
- generating, by a generation unit [306] at the microservice platform [300a],
10 the at least one task corresponding to the request in an event it is determined
that the at least one task does not already exist;
- scheduling, by a scheduling unit [308] at the microservice platform [300a],
the generated at least one task based on a predefined criteria;
- receiving, by the transceiver unit [302] at the microservice platform [300a],
15 a trigger for execution of the scheduled at least one task;
- fetching, by a fetching unit [310] at the microservice platform [300a], one
or more task details from a set of task details stored in the database based
on the received trigger; and
- transmitting, by the transceiver unit [302] at the microservice platform
20 [300a], the fetched one or more task details associated with the request to
the one or more microservices for execution.
2. The method as claimed in claim 1, wherein the task corresponds to at least
one of creating task, modifying task, viewing task, and deleting task.
25
3. The method as claimed in claim 1, wherein the method comprises storing,
by a storing unit at the microservice platform [300a], the generated at least
one task and one or more task details in the database.
37
4. The method as claimed in claim 1, wherein the method further comprises an
execution unit [312] at the microservice platform [300a] configured to
initiate the execution at least one task at the one or more microservices.
5 5. The method as claimed in claim 1, wherein determining further comprises
querying, by a Querying Unit [314], the database to find the at least one task
corresponding to the request.
6. A system for facilitating an interconnection between a plurality of
10 microservices, the system comprising:
- a microservice platform [300a] comprising:
o a transceiver unit [302] configured to receive a request from one or
more microservices to create at least one task;
o a determination unit [304] configured to determine whether the at
15 least one task already exists in a database;
o a generation unit [306] configured to generate the at least one task
corresponding to the request in an event it is determined that the at
least one task does not already exist;
o a scheduling unit [308] configured to schedule the created at least
20 one task based on a predefined criteria;
o the transceiver unit [302] further configured to a trigger for
execution of the scheduled at least one task;
o a fetching unit [310] configured to fetch one or more task details
from a set of task details stored in the database based on the
25 received trigger; and
o the transceiver unit [302] is further configured to transmit the
fetched one or more task details associated with the request to the
one or more microservices for execution.
30 7. The system as claimed in claim 6, wherein the task corresponds to at least
one of creating task, modifying task, viewing task, and deleting task.
38
8. The system as claimed in claim 6, wherein the system comprises storing at
a storing unit [316] at the microservice platform [300a], the generated at
least one task and the one or more task details in the database.
5
9. The system as claimed in claim 6, wherein system further comprises an
execution unit [312] at the microservice platform [300a] configured to
initiate the execution at least one task at the one or more microservices.
10 10. The system as claimed in claim 6, wherein the system further comprises a
Querying Unit [314] configured to query the database to find the at least one
task corresponding to the request.

Documents

Application Documents

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