Sign In to Follow Application
View All Documents & Correspondence

Method And System For Providing High Availability For Workflows In A Fulfilment Management System (Fms)

Abstract: ABSTRACT METHOD AND SYSTEM FOR PROVIDING HIGH AVAILABILITY FOR WORKFLOWS IN A FULFILMENT MANAGEMENT SYSTEM (FMS) The present disclosure relates to a system (108) and a method (500) of providing high availability for workflows in a Fulfilment Management System (FMS). The system (108) includes a receiving unit (210) configured to receive workflow requests by one or more instances of the FMS. The system (108) further includes a storing unit (214) configured to store a state of a first instance of the FMS running the workflow. The system (108) further includes a notification unit (216) configured to notify a failure of the first instance during the running of the workflow. The system (108) includes a forwarding unit (222) configured to forward the workflow to a second instance of the FMS for executing the workflow from its last executed state in the second instance. Ref. Fig. 2

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
15 July 2023
Publication Number
03/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,

Inventors

1. Aayush Bhatnagar
Office-101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi,
2. Ankit Murarka
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
3. Rizwan Ahmad
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
4. Kapil Gill
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
5. Rahul Verma
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
6. Arpit Jain
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
7. Shashank Bhushan
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
8. Kamal Malik
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
9. Prakash Gaikwad
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
10. Sameer Magu
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
11. Rohtas Godara
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India

Specification

DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003

COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
METHOD AND SYSTEM FOR PROVIDING HIGH AVAILABILITY FOR WORKFLOWS IN A FULFILMENT MANAGEMENT SYSTEM (FMS)
2. APPLICANT(S)
NAME NATIONALITY ADDRESS
JIO PLATFORMS LIMITED INDIAN OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD 380006, GUJARAT, INDIA
3.PREAMBLE TO THE DESCRIPTION

THE FOLLOWING SPECIFICATION PARTICULARLY DESCRIBES THE NATURE OF THIS INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.

FIELD OF THE INVENTION
[0001] The present invention relates generally to fulfillment management system (FMS) and more specifically relates to method and system for providing high availability for workflows in a Fulfilment Management System (FMS).
BACKGROUND OF THE INVENTION
[0002] Handling of a request becomes difficult in a Fulfillment Management System (FMS) when the services are running in the cluster mode i.e., multiple instances are running. The main problem is the failure management due to process/workflow is not sync in all instances. Also, there is failure management due to any instance which goes down. So, with the conventional technologies, there is failure in multiple ways such as if one of the instances serving any request goes down then most of the times that request is failed.
[0003] Therefore, there is a need for a method of optimizing the FMS by preventing the failure of instances so that zero percent failure can occur at FMS and thereby increasing efficiency.
SUMMARY OF THE INVENTION
[0004] One or more embodiments of the present disclosure provide a method and a system for providing high availability for workflows in a Fulfilment Management System (FMS).
[0005] In one aspect of the present invention, the system for providing high availability for workflows in the FMS is disclosed. The system includes a receiving unit configured to receive workflow requests by one or more instances of the FMS. The system further includes a storing unit configured to store a state of a first instance of the FMS running the workflow. The system further includes a notification unit configured to notify a failure of the first instance during the running of the workflow. The system includes a forwarding unit configured to forward the workflow to a second instance of the FMS for executing the workflow from its last executed state in the second instance.
[0006] In an embodiment, an assigning unit configured to assign the state of the first instance or the second instance running the workflow as an active instance.
[0007] In an embodiment, a termination unit configured to terminate forwarding of the workflow to the first instance when the first instance goes down.
[0008] In an embodiment, an execution unit configured to resume execution of the workflow by the second instance based on the last state of the workflow.
[0009] In an embodiment, the assigning unit is configured to assign priority levels to each of the one or more instances of the FMS.
[0010] In an embodiment, the execution unit is configured to execute the workflow from its respective state at the second instance based on the priority level assigned.
[0011] In an embodiment, a broadcasting unit configured to broadcast, a failure of the first instance to remaining instances of the FMS.
[0012] In another aspect of the present invention, the method of providing high availability for workflows in the FMS is disclosed. The method includes the step of receiving workflow requests by one or more instances of the FMS. The method further includes the step of storing a state of a first instance of the FMS running the workflow. The method further includes the step of notifying a failure of the first instance during the running of the workflow. The method further includes the step of forwarding the workflow to a second instance of the FMS for executing the workflow from its last executed state in the second instance.
[0013] In another aspect of the invention, a non-transitory computer-readable medium having stored thereon computer-readable instructions is disclosed. The computer-readable instructions are executed by a processor. The processor is configured to receive workflow request by one or more instances of a Fulfilment Management System (FMS). The processor is further configured to store a state of a first instance of the FMS running the workflow. The processor is further configured to notify a failure of the first instance during the running of the workflow. The processor is further configured to forward the workflow to a second instance of the FMS for executing the workflow from its last executed state in the second instance.
[0014] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0016] FIG. 1 is an exemplary block diagram of an environment for providing high availability for workflows in a Fulfilment Management System (FMS), according to one or more embodiments of the present invention;
[0017] FIG. 2 an exemplary block diagram of a system for providing high availability for workflows in the FMS, according to one or more embodiments of the present invention;
[0018] FIG. 3 is an exemplary block diagram of an architecture implemented in the system of the FIG. 2, according to one or more embodiments of the present invention;
[0019] FIG. 4 is an exemplary flow diagram for providing high availability for workflows in the FMS, according to one or more embodiments of the present invention; and
[0020] FIG. 5 is a schematic representation of a method of providing high availability for workflows in the FMS, according to one or more embodiments of the present invention.
[0021] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0022] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0023] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0024] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0025] The present disclosure relates to a method and system for providing high availability for workflows in a Fulfilment Management System (FMS). In an embodiment of the present disclosure, the method helps to serve the traffic in case an instance goes down. Thus, the FMS supports high availability for all the flows and processes. In this method, the FMS stores the details of the requests or the processes and replicates it to all other instances with the help of a broadcasting engine. Also, if any instances of the FMS go down in between the process execution, then the other instance of the FMS automatically takes up the process which was in between execution and processes it from the same point of execution. In another embodiment of the present disclosure, when the FMS is running with multiple instances, the currently running instance takes up the processes of the down instance. When a single instance of FMS is running and it is serving a request, if the FMS goes down or the server crashes then that request is posted up to that point where it has been executed. Whenever the instance of FMS comes up, that process is taken from that point only and it is served ahead.
[0026] FIG. 1 illustrates an exemplary block diagram of an environment 100 for providing high availability for workflows in a Fulfilment Management System (FMS) according to one or more embodiments of the present disclosure. In this regard, the environment 100 includes a User Equipment (UE) 102, a server 104, a network 106 and a system 108 communicably coupled to each other for providing high availability for workflows in the FMS.
[0027] As per the illustrated embodiment and for the purpose of description and illustration, the UE 102 includes, but not limited to, a first UE 102a, a second UE 102b, and a third UE 102c, and should nowhere be construed as limiting the scope of the present disclosure. In alternate embodiments, the UE 102 may include a plurality of UEs as per the requirement. For ease of reference, each of the first UE 102a, the second UE 102b, and the third UE 102c, will hereinafter be collectively and individually referred to as the “User Equipment (UE) 102”.
[0028] In an embodiment, the UE 102 is one of, but not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device.
[0029] The environment 100 includes the server 104 accessible via the network 106. The server 104 may include, by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, one or more processors executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an embodiment, the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise side, a defence facility side, or any other facility that provides service.
[0030] The network 106 includes, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The network 106 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
[0031] The network 106 may also include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network 106 may also include, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, a VOIP or some combination thereof.
[0032] The environment 100 further includes the system 108 communicably coupled to the server 104 and the UE 102 via the network 106. The system 108 is configured to provide high availability for workflows in the FMS. As per one or more embodiments, the system 108 is adapted to be embedded within the server 104 or embedded as an individual entity.
[0033] Operational and construction features of the system 108 will be explained in detail with respect to the following figures.
[0034] FIG. 2 is an exemplary block diagram of the system 108 for providing high availability for workflows in the FMS, according to one or more embodiments of the present invention.
[0035] As per the illustrated embodiment, the system 108 includes one or more processors 202, a memory 204, a user interface 206, and a database 208. For the purpose of description and explanation, the description will be explained with respect to one processor 202 and should nowhere be construed as limiting the scope of the present disclosure. In alternate embodiments, the system 108 may include more than one processors 202 as per the requirement of the network 106. The one or more processors 202, hereinafter referred to as the processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions.
[0036] As per the illustrated embodiment, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204. The memory 204 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory 204 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0037] In an embodiment, the user interface 206 includes a variety of interfaces, for example, interfaces for a graphical user interface, a web user interface, a Command Line Interface (CLI), and the like. The user interface 206 facilitates communication of the system 108. In one embodiment, the user interface 206 provides a communication pathway for one or more components of the system 108. Examples of such components include, but are not limited to, the UE 102 and the database 208.
[0038] The database 208 is one of, but not limited to, a centralized database, a cloud-based database, a commercial database, an open-source database, a distributed database, an end-user database, a graphical database, a No-Structured Query Language (NoSQL) database, an object-oriented database, a personal database, an in-memory database, a document-based database, a time series database, a wide column database, a key value database, a search database, a cache databases, and so forth. The foregoing examples of database 208 types are non-limiting and may not be mutually exclusive e.g., a database can be both commercial and cloud-based, or both relational and open-source, etc.
[0039] In order for the system 108 to provide high availability for workflows in the FMS, the processor 202 includes one or more modules. In one embodiment, the one or more modules includes, but not limited to, a receiving unit 210, an assigning unit 212, a storing unit 214, a notification unit 216, a broadcasting unit 218, a termination unit 220, a forwarding unit 222, and an execution unit 224 communicably coupled to each other for providing high availability for workflows in the FMS.
[0040] In one embodiment, the one or more modules includes, but not limited to, the receiving unit 210, the assigning unit 212, the storing unit 214, the notification unit 216, the broadcasting unit 218, the termination unit 220, the forwarding unit 222, and the execution unit 224 and can be used in combination or interchangeably for providing high availability for workflows in the FMS.
[0041] The receiving unit 210, the assigning unit 212, the storing unit 214, the notification unit 216, the broadcasting unit 218, the termination unit 220, the forwarding unit 222, and the execution unit 224 in an embodiment, may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 202. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor 202 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory 204 may store instructions that, when executed by the processing resource, implement the processor. In such examples, the system 108 may comprise the memory 204 storing the instructions and the processing resource to execute the instructions, or the memory 204 may be separate but accessible to the system 108 and the processing resource. In other examples, the processor 202 may be implemented by electronic circuitry.
[0042] In one embodiment, the receiving unit 210 is configured to receive workflow requests by one or more instances of the FMS. The FMS supports management, provisioning & orchestration functions such as network inventory, service provisioning, network configuration & fault Management. The FMS handles the growing complexity of telecom infrastructure with the high degree of automation that its architecture offers. The FMS is designed around automation, intelligence, and closed-loop service lifecycle management to deliver an exemplary OSS experience. Various network domains interact with the platform using REST API based southbound interfaces. The workflow request refers to a formalized sequence of tasks or activities designed to achieve a specific outcome such as provisioning a service, handling customer support or managing network resources. The workflow requests include, but not limited to, provisioning workflow requests, change management workflow requests, incident management workflow requests, configuration management workflow requests, maintenance workflow requests, decommissioning workflow requests, billing and subscription workflow requests. In an embodiment, the workflow can be seen as an interconnection of various Application Programming Interfaces (APIs) that coordinate to achieve the desired outcome. The API is a communication between the nodes and network elements. In an embodiment, the network elements could be network functions. For example, the network function is at least one of routing, switching, firewall, load balancing, or core network elements of 4G/5G, etc. The one or more instances of the FMS refer to specific applications or modules within the FMS that handle different types of workflow requests. The one or more instances includes, but are not limited to, Order Management System (OMS), Service Activation System (SAS), Configuration Management System (CMS), Fault Management System (FMS), Billing and Subscription Management System (BSMS), Customer Relationship Management System (CRMS), Performance Management System (PMS).
[0043] In an embodiment, the one or more instance of the FMS includes a first instance and a second instance. Upon receiving the workflow requests from the one or more instance of the FMS, the assigning unit 212 is configured to assign the state of the first instance or the second instance running the workflow as an active instance. The state of the instance is at least one of active and inactive. Further, the assigning unit 212 is also configured to assign priority levels to each of the one or more instances of the FMS. The priority levels could be at least one of high priority, medium priority and low priority.
[0044] Thereafter, the storing unit 214 is configured to store the state of the first instance of the FMS running the workflow. In case of a failure in the first instance or the first instance goes down during the running of the workflow, the notification unit 216 is configured to notify the failure of the first instance during the running of the workflow. Subsequently, the broadcasting unit 218 is configured to broadcast the failure of the first instance to remaining instances of the FMS.
[0045] Upon notifying and broadcasting the failure of the first instance, the termination unit 220 is configured to terminate the forwarding of the workflow to the first instance.
[0046] Subsequently, the forwarding unit 222 is configured to forward the workflow to the second instance of the FMS for executing the workflow from its last executed state in the second instance. In an embodiment, the last executed state is the point when the first instance goes down or failed during the running of the workflow. The last executed state may include the information of the workflow running in the first instance.
[0047] Upon forwarding the workflow to the second instance of the FMS, the execution unit 224 is configured to resume the execution of the workflow by the second instance based on the last state of the workflow. Further, the execution unit 224 is configured to execute the workflow from its respective state at the second instance based on the priority level assigned. In particular, the second instance executes the workflow from the point when the first instance goes down or failed during the running of the workflow based on the assigned priority level.
[0048] By doing so, the system 108 will not impact the running process and flow in case of any failure of any instances. The system 108 will also improves the processing time by executing the process of failure instance from the last executed state.
[0049] FIG. 3 is an exemplary block diagram of an architecture 300 of the system 108 of FIG. 2, according to one or more embodiments of the present invention.
[0050] The architecture 300 includes an operation and management unit 302, a workflow manager 304, a message broker 306, a graph database 308, a dynamic activator 310, a distributed data lake 312, a cache data store 314, a load balancer 316, the user interface 206, and a dynamic routing management 318. Further, in an embodiment, the plurality of workflow managers 304 may be present. Further, the above indicated components are interconnected via a plurality of interfaces. The components are interconnected using at least one of Hypertext Transfer Protocol (HTTP) connection and Transmission Control Protocol connection.
[0051] In an embodiment, the user interface 206 provides an interface for a user to initiate a request. Further, the workflow manager 304 receives the request initiated by the user for processing through one or more instances present in the workflow manager 304 through an interface INT-WM_UI. Further, the request is transmitted to the dynamic activator 310 for further processing through one or more instances present in the dynamic activator 310 through an interface INT-DA_WM. In an embodiment, the message broker 306 acts as a queuing engine which manages the request queues for processing the request received by the user. The graph database 308 stores and manages the information related to the request.
[0052] In an embodiment, if any one of the instance of the workflow manager 304 goes down or any one of the instance of dynamic activator 310 goes down during the execution of the request initiated by the user, then another active instance of the workflow manager 304 or the dynamic activator 310 receives the information that a particular instance of the workflow manager 304 or the dynamic activator 310 has gone down. The information that the particular instance of the workflow manager 304 or the dynamic activator 310 has gone down is broadcasted to all the instance in the workflow manager 304 or the dynamic activator 310 by the operation and management unit 302 via INT-ELB_OAM and INT-IAM_WM. In an embodiment, the operation and management unit 302 performs the daily health check of micro services (e.g. Alarms, Counters, Availability). The operation and management unit 302 checks the registration status of all micro services and based on health check analysis, sends re-registration requests to all unregistered micro services. In an embodiment, the micro services include workflow manager 304, a message broker 306, a graph database 308, a dynamic activator 310, a distributed data lake 312, a cache data store 314, a load balancer 316, the user interface 206, and a dynamic routing management 318.
[0053] Upon receiving the information that the particular instance of the workflow manager 304 or the dynamic activator 310 has gone down, another active instance of the workflow manager 304 or the dynamic activator 310 from the multiple instances of the workflow manager 304 or the dynamic activator 310 takes up the request and processes it further.
[0054] In an embodiment, the entire information, starting from the point of any instance going down till any another active instance taking up the request, is stored in the distributed data lake 312 and cache data store 314.
[0055] In an embodiment, the active instance takes up the stored information from the distributed data lake 312 and cache data store 314 for executing the request received by the user via the INT-DA_DDL and INT-DA_CD. The active instance executes the request from the point of failure of the last instance or the last instance gone down. Further, operation and management unit 302 provides the information about the instances which are gone down and the instances that are active.
[0056] The load balancer 316 balances the request received by terminating the forwarding of the request to the instances of the workflow manager 304 or the dynamic activator 310. Further, the load balancer 316 forwards the request to the active instance of the workflow manager 304 or the dynamic activator 310 for processing it further.
[0057] For example, when the instance 1 of the workflow manager goes down, the operation and management unit 302 receives the notification about the instance 1 of the workflow manager 304 has gone down. Thereafter, the operation and management unit 302 notifies the load balancer 316 about the state change of the instance 1 of the workflow manager 304. The load balancer 316 changes the state of the instance 1 of the workflow manager 304 to inactive. Further, the load balancer 316 stops forwarding the incoming traffic to the instance 1 of the workflow manager 304. Further, the load balancer 316 forwards the incoming traffic to the available active instance of the workflow manager 304 based on the instance priority.
[0058] FIG. 4 is an exemplary flow diagram for providing high availability for workflows in the FMS, according to one or more embodiments of the present invention.
[0059] At step 402, a North Bound Interface (NBI) transmits the provisioning request to the FMS. In an embodiment, the FMS includes one or more instance such as FMS instance 1, FMS instance 2 and FMS instance 3. Further, each of the FMS instance 1, FMS instance 2 and FMS instance 3 is assigned with the priority levels such as FMS instance 1 with priority 1, FMS instance 2 with priority 2 and FMS instance 3 with priority 3.
[0060] At step 404, upon receiving the request, the FMS executes the process or request at the instances. In particular, the process P1 is executing at the instance 1, process P2 is executing at the instance 2, process P3 is executing at the instance 3. The request is executed at the instance through the plurality of workflow states such as S1, S2, S3, S4, etc.
[0061] At step 406, while the process or request is executing at the instance, more specifically, while the process P1 is executing at the FMS instance 1 and if the FMS instance 1 goes down after executing state S1, the same inform information is transmitted to the broadcasting engine.
[0062] At step 408, upon receiving the information about the FMS instance 1, the broadcasting engine broadcasts the information related to the FMS instance 1 to the other two instances such as FMS instance 2 and FMS instance 3.
[0063] At step 410, subsequently, the FMS instance with highest priority will execute the process P1 of FMS instance 1 from the last executed state. For example, if the FMS instance 1 has gone down while executing at the state 1 i.e., S1, then the FMS instance with highest priority i.e., the FMS instance 2 with priority 2 will execute the process P1 of FMS instance 1 from the S1.
[0064] In an embodiment, the entire information of the instances that fail is stored in the database 208 and the other instances fetches the information of the instances that has failed from the database 208 and it starts executing from the same point where one of the instance is failed. The information of the instance includes the details of the process that was running and the process that failed in the respective instance. In an embodiment, the information of the instance is at least one of, metadata.
[0065] FIG. 5 is a flow diagram of a method 500 of providing high availability for workflows in the FMS, according to one or more embodiments of the present invention. For the purpose of description, the method 500 is described with the embodiments as illustrated in FIG. 2 and should nowhere be construed as limiting the scope of the present disclosure.
[0066] At step 502, the method 500 includes the step of receiving the workflow requests by one or more instances of the FMS by the receiving unit 210. Upon receiving the request, the state of the first instance or the second instance running the workflow is assigned as the active instance by the assigning unit 212. Further, the priority levels to each of the one or more instances of the FMS is also assigned by the assigning unit 212.
[0067] At step 504, the method 500 includes the step of storing the state of the first instance of the FMS running the workflow by the storing unit 214.
[0068] At step 506, the method 500 includes the step of notifying the failure of the first instance during the running of the workflow by the notification unit 216. Subsequently, the failure of the first instance is broadcasted to the remaining instances of the FMS by the broadcasting unit 218.Further, the forwarding of the workflow to the first instance is terminated by the termination unit 220 when the first instance goes down.
[0069] At step 508, the method 500 includes the step of forwarding the workflow to the second instance of the FMS for executing the workflow from its last executed state in the second instance by the forwarding unit 222. Further, resuming the execution of the workflow by the second instance based on the last state of the workflow by the execution unit 224. The workflow is executed from its respective state at the second instance based on the priority level assigned.
[0070] The present invention further discloses a non-transitory computer-readable medium having stored thereon computer-readable instructions. The computer-readable instructions are executed by the processor 202. The processor 202 is configured to receive the workflow request by one or more instances of the FMS. The processor 202 is further configured to store the state of the first instance of the FMS running the workflow. The processor 202 is further configured to notify the failure of the first instance during the running of the workflow. The processor 202 is further configured to forward the workflow to the second instance of the FMS for executing the workflow from its last executed state in the second instance.
[0071] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-5) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0072] The present disclosure incorporates technical advancement that the failure of the any instance does not impact the running process and the flow continues to finish without any failure. Further, the present disclosure saves the processing time by executing the process of failure instance from the last executed state. Hence, the efficiency of the system is increased. Further, the present disclosure is 100% fault tolerant and no request is lost incase of any failure in the instance.
[0073] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.

REFERENCE NUMERALS

[0074] Environment- 100
[0075] User Equipment (UE)- 102
[0076] Server- 104
[0077] Network- 106
[0078] System -108
[0079] Processor- 202
[0080] Memory- 204
[0081] User Interface- 206
[0082] Database- 208
[0083] Receiving Unit- 210
[0084] Assigning Unit- 212
[0085] Storing Unit- 214
[0086] Notification Unit- 216
[0087] Broadcasting Unit- 218
[0088] Termination Unit- 220
[0089] Forwarding Unit- 222
[0090] Execution Unit-224
[0091] Operation and Management Unit- 302
[0092] Workflow Manager -304
[0093] Message Broker -306
[0094] Graph Database -308
[0095] Dynamic Activator -310
[0096] Distributed Data Lake -312
[0097] Cache data store -314
[0098] Load Balancer -316
[0099] Dynamic Routing Manager -318

,CLAIMS:CLAIMS:
We Claim:
1. A method (500) of providing high availability for workflows in a Fulfilment Management System (FMS), the method (500) comprising the steps of:
receiving, by a processor (202), workflow requests by one or more instances of the FMS;
storing, by the processor (202), a state of a first instance of the FMS running the workflow;
notifying, by the processor (202), a failure of the first instance during the running of the workflow; and
forwarding, by the processor (202), the workflow to a second instance of the FMS for executing the workflow from its last executed state in the second instance.

2. The method (500) as claimed in claim 1, comprising assigning, by the processor (202), the state of the first instance or the second instance running the workflow as an active instance.

3. The method (500) as claimed in claim 2, comprising terminating, by the processor (202), forwarding of the workflow to the first instance when the first instance goes down.

4. The method (500) as claimed in claim 1, comprising resuming execution, by the processor (202), of the workflow by the second instance based on the last state of the workflow.

5. The method (500) as claimed in claim 4, comprising assigning, by the processor (202), priority levels to each of the one or more instances of the FMS.

6. The method (500) as claimed in claim 5, comprising executing, by the processor (202), the workflow from its respective state at the second instance based on the priority level assigned.

7. The method (500) as claimed in claim 1, comprising broadcasting, by the processor (202), a failure of the first instance to remaining instances of the FMS.

8. A system (108) for providing high availability for workflows in a Fulfilment Management System (FMS), the system (108) comprising:
a receiving unit (210) configured to receive, workflow requests by one or more instances of the FMS;
a storing unit (214) configured to store, a state of a first instance of the FMS running the workflow;
a notification unit (216) configured to notify, a failure of the first instance during the running of the workflow; and
a forwarding unit (222) configured to forward, the workflow to a second instance of the FMS for executing the workflow from its last executed state in the second instance.

9. The system (108) as claimed in claim 8, comprising an assigning unit (212) configured to assign, the state of the first instance or the second instance running the workflow as an active instance.

10. The system (108) as claimed in claim 8, comprising a termination unit (220) configured to terminate, forwarding of the workflow to the first instance when the first instance goes down.

11. The system (108) as claimed in claim 8, comprising an execution unit (224) configured to resume execution, of the workflow by the second instance based on the last state of the workflow.

12. The system (108) as claimed in claim 11, wherein the assigning unit (212) is configured to assign, priority levels to each of the one or more instances of the FMS.

13. The system (108) as claimed in claim 12, wherein the execution unit (224) is configured to execute, the workflow from its respective state at the second instance based on the priority level assigned.

14. The system (108) as claimed in claim 8, comprising a broadcasting unit (218) configured to broadcast, a failure of the first instance to remaining instances of the FMS.

Documents

Application Documents

# Name Date
1 202321047834-STATEMENT OF UNDERTAKING (FORM 3) [15-07-2023(online)].pdf 2023-07-15
2 202321047834-PROVISIONAL SPECIFICATION [15-07-2023(online)].pdf 2023-07-15
3 202321047834-FORM 1 [15-07-2023(online)].pdf 2023-07-15
4 202321047834-FIGURE OF ABSTRACT [15-07-2023(online)].pdf 2023-07-15
5 202321047834-DRAWINGS [15-07-2023(online)].pdf 2023-07-15
6 202321047834-DECLARATION OF INVENTORSHIP (FORM 5) [15-07-2023(online)].pdf 2023-07-15
7 202321047834-FORM-26 [03-10-2023(online)].pdf 2023-10-03
8 202321047834-Proof of Right [08-01-2024(online)].pdf 2024-01-08
9 202321047834-DRAWING [13-07-2024(online)].pdf 2024-07-13
10 202321047834-COMPLETE SPECIFICATION [13-07-2024(online)].pdf 2024-07-13
11 Abstract-1.jpg 2024-08-28
12 202321047834-Power of Attorney [21-10-2024(online)].pdf 2024-10-21
13 202321047834-Power of Attorney [21-10-2024(online)]-1.pdf 2024-10-21
14 202321047834-Form 1 (Submitted on date of filing) [21-10-2024(online)].pdf 2024-10-21
15 202321047834-Form 1 (Submitted on date of filing) [21-10-2024(online)]-1.pdf 2024-10-21
16 202321047834-Covering Letter [21-10-2024(online)].pdf 2024-10-21
17 202321047834-Covering Letter [21-10-2024(online)]-1.pdf 2024-10-21
18 202321047834-CERTIFIED COPIES TRANSMISSION TO IB [21-10-2024(online)].pdf 2024-10-21
19 202321047834-CERTIFIED COPIES TRANSMISSION TO IB [21-10-2024(online)]-1.pdf 2024-10-21
20 202321047834-FORM 3 [02-12-2024(online)].pdf 2024-12-02
21 202321047834-FORM 18 [20-03-2025(online)].pdf 2025-03-20