Abstract: ABSTRACT METHOD AND SYSTEM FOR NESTING WORKFLOWS The present disclosure relates to a system (108) and a method (600) for nesting the workflows. The system (108) includes a transceiver (210) to receive one or more provisioning requests from a Northbound Interface (NBI) to execute a primary workflow. The system (108) includes a creating unit (216) to create one or more secondary workflows via a Graphical User Interface (GUI) based on determining whether the one or more secondary workflows are required to be implemented to complete the execution of the primary workflow pertaining to the one or more provisioning requests. The system (108) includes a dynamic activator unit (218) to nest the primary workflow with one or more secondary workflows. The system (108) includes an invoking unit (220) to invoke the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows. Ref. Fig. 2
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 NESTING WORKFLOWS
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 to fulfillment management systems, more particularly relates to a system and a method for nesting workflows in the fulfillment management systems.
BACKGROUND OF THE INVENTION
[0002] In electronic systems, data is processed by a sequence of tasks, commonly known as a workflow. The workflow may include one or more sub-workflows that descend all the way into a network or a physical hardware.
[0003] In conventional electronic systems, a single workflow is executed by the electronic system. That is, for a process having multiple workflows, the workflows are executed sequentially. Consequently, multiple processes require multiple requests for each workflow. This results in delayed processing and decreased throughput of the electronic system.
[0004] Conventionally, the electronic systems are deployed with a main workflow and optionally with sub-workflows. When a user chooses to execute the workflow, the deployed workflow and the sub-workflows therein are accessed and executed. Such electronic systems do not allow dynamic nesting of sub-workflows or branching out to other workflows during the execution of the deployed workflow. That is, the workflow is designed and deployed either during production or when the electronic system is offline. Therefore, the conventional workflows cannot be nested or modified dynamically during runtime. This renders the electronic system unusable while deploying or updating the workflows.
[0005] Therefore, there is a need for a method of optimizing the workflow without causing downtime of the electronic systems and thereby increasing efficiency and throughput of the electronic systems.
SUMMARY OF THE INVENTION
[0006] One or more embodiments of the present disclosure provide a method and a system for nesting workflows.
[0007] In one aspect of the present invention, the system for nesting workflows is disclosed. The system includes a transceiver configured to receive one or more provisioning requests from a Northbound Interface (NBI) to execute a primary workflow. The system further includes a creating unit configured to create one or more secondary workflows via a Graphical User Interface (GUI) based on determining whether the one or more secondary workflows are required to be implemented to complete the execution of the primary workflow pertaining to the one or more provisioning requests. The system further includes a dynamic activator unit configured to nest, the primary workflow with the one or more secondary workflows created via the GUI. The system further includes an invoking unit configured to invoke the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows.
[0008] In an embodiment, subsequent to receiving the one or more provisioning requests from the NBI to execute the primary workflow the system further includes an initiating unit configured to initiate the execution of one or more states of the primary workflow based on the received one or more provisioning requests. The system further includes a determination unit configured to determine whether the one or more secondary workflows are required to be implemented to complete execution of the primary workflow pertaining to one or more provisioning requests
[0009] In an embodiment, the invoking unit invokes the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows, by invoking, one or more states of the secondary workflow. The invoking unit invokes the primary workflow and the secondary workflow by executing, the one or more states of the secondary workflow and in response to completion of the execution of the one or more states of the secondary workflow, transmitting, a response pertaining to the completion of the execution of the one or more states of the secondary workflow to the invoked one or more states of the primary workflow.
[0010] In an embodiment, the primary workflow uses the response pertaining to the completion of the execution of the one or more states of the secondary workflow in order to complete the execution of the primary workflow.
[0011] In an embodiment, the primary workflow and the one or more secondary workflows in the environment are mapped with each other and stored in the database.
[0012] In another aspect of the present invention, the method for nesting workflows is disclosed. The method includes the step of receiving one or more provisioning requests from the NBI to execute the primary workflow. The method further includes the step of creating, one or more secondary workflows via the GUI based on determining whether the one or more secondary workflows are required to be implemented to complete the execution of the primary workflow pertaining to the one or more provisioning requests. The method further includes the step of nesting the primary workflow with the one or more secondary workflows created via the GUI. The method further includes the step of invoking the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows.
[0013] 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
[0014] 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.
[0015] FIG. 1 is an exemplary block diagram of an environment for nesting the workflows, according to one or more embodiments of the present invention;
[0016] FIG. 2 an exemplary block diagram of a system for nesting the workflows, according to one or more embodiments of the present invention;
[0017] FIG. 3 is a schematic representation of a workflow of the system of FIG. 1, according to the one or more embodiments of the present invention;
[0018] FIG. 4 is an exemplary block diagram of an architecture of the system of the FIG. 2, according to one or more embodiments of the present invention;
[0019] FIG.5 is a signal flow diagram for nesting the workflows, according to one or more embodiments of the present invention; and
[0020] FIG. 6 is a schematic representation of a method for nesting the workflows, 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 provides a method and a system for nesting the workflows. In an embodiment of the present disclosure, the method and the system invoke multiple workflows from a single workflow, thereby providing dynamically nested workflows and processes. The method and the system support nested workflows with one-to-many mapping. That is, in the present disclosure, one workflow may be connected to a plurality of distinct workflows dynamically during run-time.
[0026] FIG. 1 illustrates an exemplary block diagram of an environment 100 for nesting the workflows, 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 nesting the workflows. The UE 102 aids a user to interact with the system 108 for creating one or more secondary workflows via a Graphical User Interface (GUI).
[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 nest the workflows. In an embodiment, the system is configured to nest in middle of on-the fly orders or live orders of the primary workflow with the one or more secondary workflows. 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 nesting the workflows, 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 nest the workflows, the processor 202 includes one or more modules. In one embodiment, the one or more modules includes, but not limited to, a transceiver 210, an initiating unit 212, a determination unit 214, a creating unit 216, a dynamic activator unit 218 and an invoking unit 220 communicably coupled to each other to nest the workflows.
[0040] The transceiver 210, the initiating unit 212, the determination unit 214, the creating unit 216, the dynamic activator unit 218 and the invoking unit 220 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.
[0041] In one embodiment, the transceiver 210 of the system 108 is configured to receive one or more provisioning requests from a Northbound Interface (NBI) to execute the workflows. The one or more provisioning requests includes, but not limited to, service activation/deactivation, network slice provisioning, Quality of Service (QoS) provisioning, resource allocation, user authentication and authorization, policy management, fault management, performance monitoring and reporting.
[0042] The NBI is an application programming interface (API) or protocol that allows a lower-level network component to communicate with a higher-level or more central component. The lower-level network component includes, but not limited to, switches, routers, Access Points (APs), Network Interface Cards (NICs), hubs, firewalls and network load balancers. The higher-level or more central component includes, but not limited to, Software-Defined Networking (SDN) controller, Network Management System (NMS), orchestration platform, policy management server, network analytics platform, Service Function Chaining (SFC) controller, and cloud orchestrator. The workflows are a series of steps or tasks that are executed in a specific sequence to achieve a particular goal or objective. In particular, the workflow is a predefined sequence of API calls that are orchestrated to perform a specific task or set of tasks.
[0043] The workflows include, but not limited to, policy-based workflow, service provisioning workflow, traffic engineering workflow, event-driven workflow, and analytics-driven workflow. The policy-based workflow is a sequence of actions and processes determined by predefined policies that govern the behavior and operation of network elements and services. The service provisioning workflow involves the sequence of steps required to configure, activate, and manage services for users in the network 106. The traffic engineering workflow involves managing and optimizing the flow of data traffic across the network 106 to ensure efficient resource utilization and meet performance targets. The event-driven workflow is triggered by specific events within the network 106, leading to a series of automated actions in response to those events. The analytics-driven workflow uses data analytics to drive decisions and actions within the network 106, optimizing performance and enhancing user experience.
[0044] In an embodiment, the workflows include at least one of, a primary workflow and one or more secondary workflows. Further, the primary workflow and one or more secondary workflows in the environment are mapped with each other and stored in the database 208.
[0045] Upon receiving the one or more provisioning requests from the NBI, the initiating unit 212 is configured to initiate the execution of a one or more states of the primary workflow. The one or more states are Application Programming Interface (API) invocation which gets executed sequentially to different network node such as Policy Control Function (PCF), Unified Data Management (UDM) etc.
[0046] The execution of one or more states of the primary workflow is initiated based on the received one or more provisioning requests. On receipt of initiating the execution of one or more states of the primary workflow, the determination unit 214 is configured to determine the requirement of the one or more secondary workflows. In particular, the determination unit 214 determines whether the one or more secondary workflows are required to be implemented to complete the execution of the primary workflow pertaining to one or more provisioning requests. In an embodiment, the determination unit 214 determines the requirement of the one or more secondary workflows by analyzing the received provisioning request, then evaluating workflow states, in particular the determination unit 214 evaluate if the current state of the primary workflow can proceed independently or needs additional workflow. Further, the determination unit 214 checks for preconditions and dependencies of the primary workflow then identifies gaps and needs, for instance, if an inventory check is needed but not included in the primary workflow, this gap is recognized. Further, the determination unit 214 determines the requirements of the secondary workflow to fill the identified gap.
[0047] Upon determining the requirement of the one or more secondary workflows, the creating unit 216 is configured to create the one or more secondary workflows via a Graphical User Interface (GUI). The GUI is a type of the user interface 206 that allows a user to interact with the system 108 through graphical icons and visual indicators. The one or more secondary workflows is created based on determining whether the one or more secondary workflows are required to be implemented to compete the execution of the primary workflow pertaining to the one or more provisioning requests.
[0048] Upon creation of the one or more secondary workflows via the GUI, the dynamic activator unit 218 is configured to nest the primary workflow with the one or more secondary workflows. In an embodiment, the primary workflow is nested in middle of on-the fly orders or live orders with the one or more secondary workflows. Upon nesting the primary workflow with the one or more secondary workflow, the invoking unit 220 is configured to invoke the primary workflow and the one or more secondary workflows to operate in tandem.
[0049] More specifically, the invoking unit 220 invokes the primary workflow and the one or more secondary workflows to operate in tandem by invoking one or more states of the secondary workflow. Thereafter, the invoking unit 220 executes the one or more states of the secondary workflow. In response to the execution of the one or more states of the secondary workflow, a response pertaining to the completion of the execution of the one or more states of the secondary workflow is transmitted to the one or more invoked states of the primary workflow. The response pertaining to the completion of the execution of the one or more states of the secondary workflow includes, but not limited to execution status, output data, error handling information, state transition instructions.
[0050] Further, the primary workflow uses the response pertaining to the completion of the execution of the one or more states of the secondary workflow in order to complete the execution of the primary workflow. By doing so, the system 108 improves the processing speed of the processor 202 as the nested workflows are created dynamically at the run time. In particular, the processing speed is improved on integration and development to expedite operations. Further, the processing speed is improved by configuring the workflow using the user interface 206 without requiring any change at code base level by the user.
[0051] FIG. 3 describes a preferred embodiment of the system 108 of FIG. 2, according to various embodiments of the present invention. It is to be noted that the embodiment with respect to FIG. 3 will be explained with respect to the first UE 102a and the system 108 for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
[0052] As mentioned earlier in FIG. 1, each of the first UE 102a the second UE 102b, and the third UE 102c may include an external storage device, a bus, a main memory, a read-only memory, a mass storage device, communication port(s), and a processor. The exemplary embodiment as illustrated in FIG. 3 will be explained with respect to the first UE 102a without deviating from the scope of the present disclosure and the limiting the scope of the present disclosure. The first UE 102a includes one or more primary processors 302 communicably coupled to the one or more processors 202 of the system 108.
[0053] The one or more primary processors 302 are coupled with a memory unit 304 storing instructions which are executed by the one or more primary processors 302. Execution of the stored instructions by the one or more primary processors 302 enables the first UE 102a to create one or more secondary workflows via the GUI.
[0054] As mentioned earlier in FIG. 2, the one or more processors 202 of the system 108 is configured to nest the workflows. As per the illustrated embodiment, the system 108 includes the one or more processors 202, the memory 204, the user interface 206, and the database 208. The operations and functions of the one or more processors 202, the memory 204, the user interface 206, and the database 208 are already explained in FIG. 2. For the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition.
[0055] Further, the processor 202 includes the transceiver 210, the initiating unit 212, the determination unit 214, the creating unit 216, the dynamic activator unit 218 and the invoking unit 220. The operations and functions of the transceiver 210, the initiating unit 212, the determination unit 214, the creating unit 216, the dynamic activator unit 218 and the invoking unit 220 are already explained in FIG. 2. Hence, for the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition. The limited description provided for the system 108 in FIG. 3, should be read with the description as provided for the system 108 in the FIG. 2 above, and should not be construed as limiting the scope of the present disclosure.
[0056] FIG. 4 is an exemplary block diagram of an architecture 400 of the system 108 for nesting the workflows, according to one or more embodiments of the present invention.
[0057] According to the exemplary embodiment, the system 108 may include, but may not be limited to, an operation and management unit 402, the workflow manager 404, the dynamic activator unit 218, a message broker 406, a graph database 408, a distributed data lake database 410, a cache data store 412, a load balancer 414, the user interface 206, and a dynamic routing management 416.
[0058] In an embodiment, the user interface 206 provides an interface for a user to design one or more workflows. The user interface 206 receives one or more provisioning requests from the user and transmits the one or more provisioning requests to the workflow manager 404 via the operation and management unit 402. Upon receiving the request from the user interface 206, the operation and management unit 402 initiates the execution of the one or more states of the primary workflow based on the received one or more provisioning requests. Thereafter, the operation and management unit 402 determines whether the one or more secondary workflows are required to be implemented to complete execution of the primary workflow pertaining to one or more provisioning requests. Upon determining the requirement of the one or more secondary workflows, the workflow manager 404 creates the one or more secondary workflows. Further, the workflow manager 404 includes a message broker 406 and a graph database 408. The message broker 406 and the graph database 408 stores the workflow created at the workflow manager 404.
[0059] On receipt of creating the one or more secondary workflows, the workflow manager 404 executes the workflow with the help of the dynamic activator unit 218. The dynamic activator unit 218 nests the primary workflow with the created one or more secondary workflow. Upon nesting the primary workflow with the created one or more secondary workflow, the dynamic activator unit 218 invokes the primary workflow and the one or more secondary workflows to operate in tandem. The invoking of the primary workflow and the one or more secondary workflows are performed by invoking and executing one or more states of the secondary workflow. In response to completion of the execution of the one or more states of the secondary workflow, the response pertaining to the completion of the execution of the one or more states of the secondary workflow is transmitted to the invoked one or more states of the primary workflow. In an embodiment, the dynamic activator involves routing and carry forwarding the attributes and managing state schema.
[0060] Further, the primary workflow and the one or more secondary workflows are stored in a distributed data lake 410 and a cache data store 412. The distributed data lake 410 is a data storage repository that centralizes, organizes, and protects large amounts of structured, semi-structured, and unstructured data pertaining to the details associated with the execution of the workflow. The cache data store 412 helps in storing recently stored data or frequently accessed data pertaining to the details associated with the execution of the workflows. Further, the dynamic routing manager 414 is configured to fetch details associated with the execution of the workflows from the distributed data lake 410 and the cache data store 412.
[0061] In an embodiment, the load balancer 414 is communicably coupled with the dynamic activator unit 218 and the user interface 206. The load balancer 414 dynamically balances the nested workflows. FIG. 5 is a signal flow diagram 500 for nesting the workflows, according to one or more embodiments of the present invention.
[0062] The signal flow diagram 500 includes the NBI 502, a Fulfilment Management System (FMS) 504, the GUI 506, the plurality of workflows such as workflow W1, workflow W2, workflow W3 etc., the plurality of states such as S1, S2, S3, S4, etc.
[0063] The NBI 502 transmits the one or more provisioning request to the FMS 504. The FMS 504 upon receiving the one or more provisioning request, the FMS 504 starts executing the state S1 of the workflow W1. Upon executing the state S1 of the workflow W1, the request is transmitted to the state S2 of the workflow W1 for execution. If the state S2 of the workflow W1 requires additional workflow to complete the execution of the workflow W1 pertaining to the one or more provisioning requests, the S2 of the workflow W1 invokes the state S1 of workflow W2.
[0064] The state S1 of the workflow W2 completes the execution which was requested by the state S2 of the workflow W1 by using all the states such as, W2S2, W2S3, W2S4 present in the workflow W2. Then the response for the request received from the state S2 of the workflow W1 is transmitted by the state S4 of the workflow W2 to the state S2 of the workflow W1.
[0065] Further, the request is transmitted to the state S3 of the workflow W1 from the state S2 of the workflow W1 for execution. During execution of the state S3 of the workflow W1, if the user wants to add one more additional workflow, the user adds the workflow W3 via the GUI 506.
[0066] Thereafter, the state S3 of the workflow W1 invokes the state S1 of the workflow W3 to complete the execution of the request received by the state S2 of the workflow W1. Upon receiving the request from the state S3 of the workflow W1, the state S1 of the workflow W3 executes and completes the request with help of the states such as W3S2, W3S3, W3S4 present in the workflow W3. Upon completing the execution, the state S4 of the workflow of the W3 transmits the response to the state S3 of the workflow W1.
[0067] Upon receiving the response from the state S4 of the workflow W3, the state S3 of the workflow W1 forwards the request to state S4 of the workflow W1 to complete the execution of the received one or more provisioning request. Upon completing the execution, the state S4 of the workflow W1 transmits the response pertaining to the completion of the received one or more provisioning request to the FMS 504. Further, the FMS 504 transmits the response to the NBI 502. Thus, the workflow W1 is executed the one or more provisioning request in tandem based on nesting the workflow W2 and workflow W3.
[0068] FIG. 6 is a flow diagram of a method 600 for nesting the workflows, according to one or more embodiments of the present invention. For the purpose of description, the method 600 is described with the embodiments as illustrated in FIG. 2 and should nowhere be construed as limiting the scope of the present disclosure.
[0069] At step 602, the method 600 includes the step of receiving one or more provisioning requests from the NBI to execute the primary workflow by the transceiver 210. Upon receiving one or more provisioning requests from the NBI to execute the primary workflow, the initiating unit 212 initiates the execution of one or more states of the primary workflow based on the received one or more provisioning requests. Upon initiating the execution of the one or more states of the primary workflow, the determination unit 214 determines whether the one or more secondary workflows are required to be implemented to complete execution of the primary workflow pertaining to one or more provisioning requests.
[0070] At step 604, the method 600 includes the step of creating one or more secondary workflows via the GUI based on determining whether the one or more secondary workflows are required to be implemented to complete the execution of the primary workflow pertaining to the one or more provisioning requests by the creating unit 216.
[0071] At step 606, the method 600 includes the step of nesting the primary workflow with the one or more secondary workflows created via the GUI by the dynamic activator 218.
[0072] At step 608, the method 600 includes the step of invoking the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows by the invoking unit 220. The invoking unit 220 invokes the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows by invoking the one or more states of the secondary workflow. Upon invoking the one or more states of the secondary workflow, the invoking unit 220 executes the one or more states of the secondary workflow. In response to completion of the execution of the one or more states of the secondary workflow, a response pertaining to the completion of the execution of the one or more states of the secondary workflow is transmitted to the invoked one or more states of the primary workflow. The primary workflow uses the response pertaining to the completion of the execution of the one or more states of the secondary workflow in order to complete the execution of the primary workflow
[0073] 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 one or more provisioning requests from the NBI to execute a primary workflow. The processor 202 is further configured to create one or more secondary workflows via the GUI based on determining whether the one or more secondary workflows are required to be implemented to complete the execution of the primary workflow pertaining to the one or more provisioning requests. The processor 202 is further configured to nest the primary workflow with the one or more secondary workflows created via the GUI. The processor 202 is further configured to invoke the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows.
[0074] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-6) 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.
[0075] The present disclosure incorporates technical advancement of feasibility to reuse the workflows. The reusing of the workflows saves time spent on integration and development time and expedites operations. Further, the reusing of the workflows also saves time by configuring the workflows using UE without requiring any change at code base level by the user using UE. Further, the nested workflows is created dynamically at the run time, hence there is no system downtime by using the method of the present disclosure.
[0076] 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
[0077] Environment- 100
[0078] User Equipment (UE)- 102
[0079] Server- 104
[0080] Network- 106
[0081] System -108
[0082] Processor- 202
[0083] Memory- 204
[0084] User Interface- 206
[0085] Database- 208
[0086] Transceiver- 210
[0087] Initiating Unit- 212
[0088] Determination unit- 214
[0089] Creating Unit- 216
[0090] Dynamic activator- 218
[0091] Invoking Unit- 220
[0092] Primary processor- 302
[0093] Memory- 304
[0094] Operation and Management Unit- 402
[0095] Workflow Manger- 404
[0096] Message Broker- 406
[0097] Graph Database- 408
[0098] Distributed Data Lake- 410
[0099] Cache Data store- 412
[00100] Load Balancer- 414
[00101] Dynamic Routing Manager- 416
[00102] NBI- 502
[00103] FMS- 504
[00104] GUI- 506
,CLAIMS:CLAIMS:
We Claim:
1. A method (600) of nesting workflows, the method (600) comprising the steps of:
receiving, by one or more processors (202), one or more provisioning requests from a Northbound Interface (NBI) to execute a primary workflow;
creating, by the one or more processors (202), one or more secondary workflows via a Graphical User Interface (GUI) based on determining whether the one or more secondary workflows are required to be implemented to complete the execution of the primary workflow pertaining to the one or more provisioning requests;
nesting, by the one or more processors (202), the primary workflow with the one or more secondary workflows created via the GUI; and
invoking, by the one or more processors (202), the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows.
2. The method (600) as claimed in claim 1, wherein the step of, receiving, one or more provisioning requests from a Northbound Interface (NBI) to execute a primary workflow, includes the steps of:
initiating, by the one or more processors (202), the execution of one or more states of the primary workflow based on the received one or more provisioning requests; and
determining, by the one or more processors (202), whether the one or more secondary workflows are required to be implemented to complete execution of the primary workflow pertaining to one or more provisioning requests.
3. The method (600) as claimed in claim 1, wherein the step of invoking, the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows, includes the steps of:
invoking, by the one or more processors (202), one or more states of the secondary workflow;
executing, by the one or more processors (202), the one or more states of the secondary workflow; and
in response to completion of the execution of the one or more states of the secondary workflow, transmitting, by the one or more processors, a response pertaining to the completion of the execution of one or more states of the secondary workflow to the invoked one or more states of the primary workflow.
4. The method (600) as claimed in claim 3, wherein the primary workflow uses the response pertaining to the completion of the execution of one or more states of the secondary workflow in order to complete the execution of the primary workflow.
5. The method (600) as claimed in claim 1, wherein the primary workflow and the one or more secondary workflows in the environment are mapped with each other and stored in the database.
6. A system (108) of nesting workflows, the system (108) comprising:
a transceiver (210), configured to, receive, one or more provisioning requests from a Northbound Interface (NBI) to execute a primary workflow;
a creating unit (216), configured to, create, one or more secondary workflows via a Graphical User Interface (GUI) based on determining whether the one or more secondary workflows are required to be implemented to complete the execution of the primary workflow pertaining to the one or more provisioning requests;
a dynamic activator unit (218), configured to, nest, the primary workflow with the one or more secondary workflows created via the GUI; and
an invoking unit (220), configured to, invoke, the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows.
7. The system as claimed in claim 6, wherein subsequent to receiving, the one or more provisioning requests from the NBI to execute the primary workflow, the system further comprises:
an initiating unit (212), configured to, initiate, the execution of one or more states of the primary workflow based on the received one or more provisioning requests; and
a determination unit (214), configured to, determine, whether the one or more secondary workflows are required to be implemented to complete execution of the primary workflow pertaining to one or more provisioning requests.
8. The system (108) as claimed in claim 6, wherein the invoking unit (220), invokes the primary workflow and the one or more secondary workflows to operate in tandem based on nesting the primary workflow with the one or more secondary workflows, by:
invoking, one or more states of the secondary workflow;
executing, the one or more states of the secondary workflow; and
in response to completion of the execution of the one or more states of the secondary workflow, transmitting, a response pertaining to the completion of the execution of the one or more states of the secondary workflow to the invoked one or more states of the primary workflow.
9. The system (108) as claimed in claim 8, wherein the primary workflow uses the response pertaining to the completion of the execution of the one or more states of the secondary workflow in order to complete the execution of the primary workflow.
10. The system (108) as claimed in claim 7, wherein the primary workflow and the one or more secondary workflows in the environment are mapped with each other and stored in the database.
11. A User Equipment (UE) (102), comprising:
one or more primary processors (302) communicatively coupled to one or more processors (202), the one or more primary processors (302) coupled with a memory (304), wherein said memory (304) stores instructions which when executed by the one or more primary processors (302) causes the UE (102) to:
create, one or more secondary workflows via a Graphical User Interface (GUI); and
wherein the one or more processors (202) is configured to perform the steps as claimed in claim 1.
| # | Name | Date |
|---|---|---|
| 1 | 202321047846-STATEMENT OF UNDERTAKING (FORM 3) [15-07-2023(online)].pdf | 2023-07-15 |
| 2 | 202321047846-PROVISIONAL SPECIFICATION [15-07-2023(online)].pdf | 2023-07-15 |
| 3 | 202321047846-FORM 1 [15-07-2023(online)].pdf | 2023-07-15 |
| 4 | 202321047846-FIGURE OF ABSTRACT [15-07-2023(online)].pdf | 2023-07-15 |
| 5 | 202321047846-DRAWINGS [15-07-2023(online)].pdf | 2023-07-15 |
| 6 | 202321047846-DECLARATION OF INVENTORSHIP (FORM 5) [15-07-2023(online)].pdf | 2023-07-15 |
| 7 | 202321047846-FORM-26 [03-10-2023(online)].pdf | 2023-10-03 |
| 8 | 202321047846-Proof of Right [08-01-2024(online)].pdf | 2024-01-08 |
| 9 | 202321047846-DRAWING [13-07-2024(online)].pdf | 2024-07-13 |
| 10 | 202321047846-COMPLETE SPECIFICATION [13-07-2024(online)].pdf | 2024-07-13 |
| 11 | Abstract-1.jpg | 2024-08-27 |
| 12 | 202321047846-Power of Attorney [21-10-2024(online)].pdf | 2024-10-21 |
| 13 | 202321047846-Form 1 (Submitted on date of filing) [21-10-2024(online)].pdf | 2024-10-21 |
| 14 | 202321047846-Covering Letter [21-10-2024(online)].pdf | 2024-10-21 |
| 15 | 202321047846-CERTIFIED COPIES TRANSMISSION TO IB [21-10-2024(online)].pdf | 2024-10-21 |
| 16 | 202321047846-FORM 3 [02-12-2024(online)].pdf | 2024-12-02 |
| 17 | 202321047846-FORM 18 [20-03-2025(online)].pdf | 2025-03-20 |