Abstract: The present disclosure relates to a method [400] and a system [300] for managing workflow during runtime of an application. The method [400] includes receiving, at a transceiver unit [302], a workflow modification request from a user interface (UI) [102]. The method [400] includes performing, by a processing unit [304], at least validation and condition check of an updated workflow data upon receiving the workflow modification request, the updated workflow data is received in the workflow modification request. The method [400] includes storing, by a storage unit [306], the updated workflow data in a database upon a successful validation and condition check. The method [400] further includes receiving, by the transceiver unit [302], a workflow execution request from the UI [102]. The method [400] further includes executing, by the processing unit [304], a set of tasks according to the updated workflow data upon receiving the workflow execution request. [FIG. 4]
FORM 2
THE PATENTS ACT, 1970 (39 OF 1970) & THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
“METHOD AND SYSTEM FOR MANAGING WORKFLOW DURING RUNTIME OF AN APPLICATION”
We, Jio Platforms Limited, an Indian National, of Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India.
The following specification particularly describes the invention and the manner in which it is to be performed.
METHOD AND SYSTEM FOR MANAGING WORKFLOW DURING RUNTIME OF
AN APPLICATION
TECHNICAL FIELD
[0001] Embodiments of the present disclosure generally relate to automated systems.
More particularly, embodiments of the present disclosure relate to a method and a system for managing workflow during runtime of an application.
BACKGROUND
[0002] The following description of the related art is intended to provide background
information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section is used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of the prior art.
[0003] Generally, a workflow is defined as a sequence of tasks that processes a set of
data through a specific path from initiation to completion. Workflow is used for managing repetitive processes and tasks which occur in a particular order. Also, workflow is the mechanism by which people and enterprises accomplish their work, whether manufacturing a product, providing a service, processing information or any other value-generating activity. Workflows are used to generally automate the different tasks which will be executed by the program code but when something is to be changed in the steps contained in the workflow itself then this may cause chain of different problems like building and deploying the old binaries in a production server, make code changes and redeploy it on the production, providing different builds and so on. And this type of workflow is also not very resilient against different types of task entities.
[0004] Thus, there exists an imperative need in the art for a runtime modifiable version-
controlled template-based workflow engine, which the present disclosure aims to address.
SUMMARY
[0005] This section is provided to introduce certain aspects of the present disclosure in
a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.
[0006] An aspect of the present disclosure may relate to a method for managing
workflow during runtime of an application. The method includes receiving, at a transceiver unit, a workflow modification request from a user interface (UI). The method further includes performing, by a processing unit, at least validation and condition check of an updated workflow data upon receiving the workflow modification request, the updated workflow data is received in the workflow modification request. The method further includes storing, by the storage unit, the updated workflow data in a database upon a successful validation and condition check. Furthermore, the method encompasses receiving, by the transceiver unit, a workflow execution request from the user interface (UI). The method further includes executing, by the processing unit, a set of tasks according to the updated workflow data upon receiving the workflow execution request.
[0007] In an exemplary aspect of the present disclosure, the method further comprises
receiving, at the transceiver unit, a workflow creation request from the user interface (UI). Furthermore, the method encompasses storing, by the storage unit, a workflow data in the database with corresponding version details. The method further encompasses executing, by the processing unit, a corresponding set of initial tasks according to the workflow data upon receiving a request for the execution of the workflow data from the user interface.
[0008] In an exemplary aspect of the present disclosure, upon determining a failure of
the at least validation and condition check of the updated workflow data, the method includes sending, by the transceiver unit, an error message to a northbound system.
[0009] In an exemplary aspect of the present disclosure, upon determining at least one
issue in executing the set of tasks, the method comprises sending, by the transceiver unit, a notification to at least a workflow operation entity.
[0010] In an exemplary aspect of the present disclosure, executing the set of tasks
according to the updated workflow data is performed based on a workflow identifier, corresponding to the workflow execution request, fetched from the database.
[0011] Another aspect of the present disclosure may relate to a system for managing
workflow during runtime of an application. The system includes a transceiver unit configured to receive a workflow modification request from a user interface (UI). The system further includes a processing unit configured to process at least validation and condition check of an updated workflow data upon receiving the workflow modification request, the updated workflow data is received in the workflow modification request. The system further includes a storage unit configured to store the updated workflow data in a database upon a successful validation and condition check. Furthermore, the system includes the transceiver unit configured to receive a workflow execution request from the user interface (UI). The system further includes the processing unit configured to execute a set of tasks according to the updated workflow data upon receiving the workflow execution request.
[0012] Yet another aspect of the present disclosure further relates to a user equipment
(UE) for managing workflow during runtime of an application comprising a system. The system further comprising a transceiver unit configured to receive a workflow modification request from a user interface (UI). The system further comprising a processing unit configured to process at least validation and condition check of an updated workflow data upon receiving the workflow modification request, the updated workflow data is received in the workflow modification request. The system further comprising a storage unit configured to store the updated workflow data in a database upon a successful validation and condition check. Furthermore, the system comprising the transceiver unit configured to receive a workflow execution request from the UI. Furthermore, the system comprising the processing unit configured to execute a set of tasks according to the updated workflow data upon receiving the workflow execution request.
[0013] Yet another aspect of the present disclosure may relate to a non-transitory
computer readable storage medium storing instruction for managing workflow during runtime of an application. The instruction includes executable code which, when executed by one or more units of a system, causes a transceiver unit to receive a workflow modification request from a user interface (UI). The instruction when executed by the system further causes a processing unit to process at least validation and condition check of
an updated workflow data upon receiving the workflow modification request, the updated workflow data is received in the workflow modification request. The instruction when executed by the system further causes a storage unit to store the updated workflow data in a database upon a successful validation and condition check. The instruction when executed by the system further causes the transceiver unit to receive a workflow execution request from the user interface (UI). The instruction when executed by the system further causes the processing unit to execute a set of tasks according to the updated workflow data upon receiving the workflow execution request.
OBJECTS OF THE INVENTION
[0014] Some of the objects of the present disclosure, which at least one embodiment
disclosed herein satisfies are listed herein below.
[0015] It is an object of the present disclosure to provide a system and a method for
providing runtime modifiable version-controlled template-based workflow engine.
[0016] It is another object of the present disclosure to provide a solution that enables
achieving automation by providing minute instructions and milestones of the tasks that have to be executed by the workflow which eliminates the risk of human errors.
[0017] It is another object of the present disclosure to provide execution of different
task entities such as, trouble tickets, change requests, appointments and work orders to efficiently perform issue management.
[0018] It is another object of the present disclosure to provide a workflow that may be
designed by a user via a User Interface (UI) by different instructions, conditions, creating different rules, imposing different validations for each workflow milestone.
DESCRIPTION OF THE DRAWINGS
[0019] 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. Also, the embodiments shown in the figures are not to be construed as limiting the disclosure, but the possible variants of the method and system according to the disclosure are illustrated herein to highlight the advantages of the disclosure. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components or circuitry commonly used to implement such components.
[0020] FIG. 1 illustrates an exemplary Service Management Platform (SMP)
architecture [100], in accordance with the exemplary embodiments of the present disclosure.
[0021] FIG. 2 illustrates an exemplary block diagram of a computing device upon
which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure.
[0022] FIG. 3 illustrates an exemplary block diagram of a system for managing
workflow during runtime of an application, in accordance with exemplary implementations of the present disclosure.
[0023] FIG. 4 illustrates a method flow diagram for managing workflow during runtime
of an application, in accordance with exemplary implementations of the present disclosure.
[0024] FIG. 5 illustrates an exemplary implementation of the method for managing
workflow during runtime of an application, in accordance with exemplary implementations of the present disclosure.
[0025] The foregoing shall be more apparent from the following more detailed
description of the disclosure.
DETAILED DESCRIPTION
[0026] In the following description, for the purposes of explanation, various specific
details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure
may be practiced without these specific details. Several features described hereafter may each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above.
[0027] The ensuing description provides exemplary embodiments only, and is not
intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0028] Specific details are given in the following description to provide a thorough
understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail.
[0029] Also, it is noted that individual embodiments may be described as a process
which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure.
[0030] The word “exemplary” and/or “demonstrative” is used herein to mean serving
as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive—in
a manner similar to the term “comprising” as an open transition word—without precluding any additional or other elements.
[0031] As used herein, a “processing unit” or “processor” or “operating processor”
includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. A processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a (Digital Signal Processing) DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor or processing unit is a hardware processor.
[0032] As used herein, “a user equipment”, “a user device”, “a smart-user-device”, “a
smart-device”, “an electronic device”, “a mobile device”, “a handheld device”, “a wireless communication device”, “a mobile communication device”, “a communication device” may be any electrical, electronic and/or computing device or equipment, capable of implementing the features of the present disclosure. The user equipment/device may include, but is not limited to, a mobile phone, smart phone, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, wearable device or any other computing device which is capable of implementing the features of the present disclosure. Also, the user device may contain at least one input means configured to receive an input from at least one of a transceiver unit, a processing unit, a storage unit, a detection unit and any other such unit(s) which are required to implement the features of the present disclosure.
[0033] As used herein, “storage unit” or “memory unit” refers to a machine or
computer-readable medium including any mechanism for storing information in a form readable by a computer or similar machine. For example, a computer-readable medium includes read-only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices or other types of machine-accessible storage media. The storage unit stores at least the data that may be required by one or more units of the system to perform their respective functions.
[0034] As used herein “interface” or “user interface refers to a shared boundary across
which two or more separate components of a system exchange information or data. The
interface may also be referred to a set of rules or protocols that define communication or
interaction of one or more modules or one or more units with each other, which also includes
5 the methods, functions, or procedures that may be called.
[0035] All modules, units, components used herein, unless explicitly excluded herein,
may be software modules or hardware processors, the processors being a general-purpose
processor, a special purpose processor, a conventional processor, a digital signal processor
10 (DSP), a plurality of microprocessors, one or more microprocessors in association with a
DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array circuits (FPGA), any other type of integrated circuits, etc.
[0036] As used herein the transceiver unit include at least one receiver and at least one
15 transmitter configured respectively for receiving and transmitting data, signals, information
or a combination thereof between units/components within the system and/or connected with the system.
[0037] As discussed in the background section, the current known solutions have
20 several shortcomings. The present disclosure aims to overcome the shortcomings and other
existing problems in this field of technology by providing method and system of managing workflow during runtime of an application.
[0038] Referring to FIG. 1, an exemplary Service Management Platform (SMP)
25 architecture [100] is shown, in accordance with the exemplary embodiments of the present
disclosure. As shown in FIG. 1, the SMP architecture [100] (herein after SMP [100])
includes a SMP manager (SMPM) [101], a user interface (UI) [102], a workflow design
service (WFD) [104], a workflow assign service (WFA) [106], a workflow execution engine
(WFEE) [108], an application programming interface (API) Gateway [110], a lightweight
30 directory access protocol (LDAP) unit [112], a customer assurance (CA) unit [114], a
resource assurance unit (RA) [116], a service assurance unit (SA) [118], a data ingestion service (DI) [120], a workflow manager (WFM) [122], an Identity Access Manager (IAM) [126], an asynchronous streaming engine (ASYNC) [128], a persistent data store engine [130], an SMP cache store [132], a work order manager [WOM] [134].
9
[0039] The SMP [100] is a microservice based architecture which improves scalability
and resiliency of the SMP [100]. The services of SMP [100] work in tandem to provide
workflow management, customer assurance, resource assurance and service assurance
5 functions. The SMP [100] integrates with operations support systems (OSS)/ business
support systems (BSS) platforms like a customer relationship management (CRM) [140], a
network management system (NMS) [142], cognitive platform (CP) [144] and integrated
performance management (IPM) [146]. The integration with the CRM [140] provides
customer assurance to manage all customer related trouble tickets and service requests. The
10 integration with the NMS [142], the CP [144] and the IPM [146] provides resource, service
assurance respectively.
[0040] The SMP Manager (SMPM) [101] is responsible to manage the operations in
the SMP Architecture [100] efficiently.
15
[0041] The UI [102] lets a user to explore available options to deal with trouble tickets,
work orders etc. The UI [102] has all the options which are available on the SMP [100]. The
options may be related to viewing, updating, closing, or escalating trouble tickets.
20 [0042] The WFD [104] is configured to provide a mechanism to design and create
workflow from the UI [102] for the generated trouble ticket and service request related to the service assurance, customer assurance and resource assurance.
[0043] The WFA [106] service provides a mechanism to assign operations context
25 (OCs) based on circle and job role provided by the LDAP unit. The circle refers to a
geographic region in which the SMP [100] may operate. The WFA [106] has mechanism to
manage Service-Level Agreement (SLA) and Escalation Matrix. The SLA is a contract
between the operator and the user. The operation context (may also be referred to as an
assignment group) is an entity that contains members or sub-entities such as the managers,
30 coordinator, approvers, among other such sub-entities.
[0044] The WFEE [108] shall provide a mechanism to manage execution of generated
workflow. The WFEE [108] is responsible for archiving each completed workflow. The WFEE [108] may provide mechanism to manage workflow in case of SLA breach.
10
[0045] The API Gateway [110] provides a runtime and a backend component (an API
proxy) for API calls. The API Gateway secures, protects, manages, and scales API calls by
intercepting API requests and applying policies, such as throttling and security, using
5 handlers and managing API statistics.
[0046] The LDAP unit [112] provides an open and cross platform protocol used for
directory services authentication. The directory services store the users, passwords, and
computer accounts, and share that information with other entities on the network such as the
10 NMS [142], the CP [144], the IPM [146] and the like.
[0047] The CA unit [114] is configured to evaluate interaction of the user to identify
trouble tickets and service request. The CA unit [114] further provides a mechanism to manage all trouble tickets and service request related to the CRM [140]. 15
[0048] The RA unit [116] provides a mechanism to manage all trouble tickets and
service request related to the NMS.
[0049] The service assurance (SA) unit [118] provides a mechanism to manage all
20 trouble tickets and service request related to the CP [144] and the IPM [146].
[0050] The data ingestion service (DI) [120] service provides mechanism to ingest data
into the ASYNC streaming engine [128] related to trouble ticket management and workflow management. 25
[0051] The WFM [122] provides mechanism to manage, and provide workflow created
against the trouble ticket or service request for service assurance, customer assurance, and resource assurance.
30 [0052] The ELB [124] fulfils the load balancing needs of the SMP architecture [100].
The load balancing algorithm is round-robin for all of its components. The round- robin refers to an arrangement of choosing all elements in a group equally in some rational order.
11
[0053] The IAM [126] act as Authorization and Authentication Application Tool for
the SMP [100]. When a user logs in from the UI, the IAM [126] provides a token to be used
in the subsequent Requests. The token contains information about the user, user-agent,
internet protocol (IP), last access time and policy. The information helps to separate
5 authorized requests from unauthorized requests.
[0054] The ASYNC streaming engine [128] is focused on streaming data. The
streaming data refers to large numbers of data transmitted in continuation of time.
10 [0055] The persistent data store engine [130] is a search engine based on Lucene
library. The lucene library refers to an open-source search engine library for performing structured search, full text-search, nearest-neighbour search, and the like, in the persistent data store engine [130]. The persistent data store engine [130] provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free
15 JSON documents.
[0056] The SMP cache store [132] is an in-memory data structure store, used as cache
service in the SMP [100].
20 [0057] The WOM [134] is responsible for the maintaining the work order management
process efficiently.
[0058] FIG. 2 illustrates an exemplary block diagram of a computing device [200]
upon which the features of the present disclosure may be implemented in accordance with
25 exemplary implementation of the present disclosure. In an implementation, the computing
device [200] may also implement a method for managing workflow during runtime of an application, utilising the system. In another implementation, the computing device [200] itself implements the method managing workflow during runtime of an application, using one or more units configured within the computing device [200], wherein said one or more
30 units are capable of implementing the features as disclosed in the present disclosure.
[0059] The computing device [200] may include a bus [202] or other communication
mechanism for communicating information, and a hardware processor [204] coupled with bus [202] for processing information. The hardware processor [204] may be, for example, a
12
general-purpose microprocessor. The computing device [200] may also include a main
memory [206], such as a random-access memory (RAM), or other dynamic storage device,
coupled to the bus [202] for storing information and instructions to be executed by the
processor [204]. The main memory [206] also may be used for storing temporary variables
5 or other intermediate information during execution of the instructions to be executed by the
processor [204]. Such instructions, when stored in non-transitory storage media accessible
to the processor [204], render the computing device [200] into a special-purpose machine
that is customized to perform the operations specified in the instructions. The computing
device [200] further includes a read only memory (ROM) [208] or other static storage device
10 coupled to the bus [202] for storing static information and instructions for the processor
[204].
[0060] A storage device [210], such as a magnetic disk, optical disk, or solid-state drive
is provided and coupled to the bus [202] for storing information and instructions. The
15 computing device [200] may be coupled via the bus [202] to a display [212], such as a
cathode ray tube (CRT), Liquid crystal Display (LCD), Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for displaying information to a computer user. An input device [214], including alphanumeric and other keys, touch screen input means, etc. may be coupled to the bus [202] for communicating information and command selections to the
20 processor [204]. Another type of user input device may be a cursor controller [216], such as
a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor [204], and for controlling cursor movement on the display [212]. The input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane.
25
[0061] The computing device [200] may implement the techniques described herein
using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computing device [200] causes or programs the computing device [200] to be a special-purpose machine. According to one implementation,
30 the techniques herein are performed by the computing device [200] in response to the
processor [204] executing one or more sequences of one or more instructions contained in the main memory [206]. Such instructions may be read into the main memory [206] from another storage medium, such as the storage device [210]. Execution of the sequences of instructions contained in the main memory [206] causes the processor [204] to perform the
13
process steps described herein. In alternative implementations of the present disclosure, hard-wired circuitry may be used in place of or in combination with software instructions.
[0062] The computing device [200] also may include a communication interface [218]
5 coupled to the bus [202]. The communication interface [218] provides a two-way data
communication coupling to a network link [220] that is connected to a local network [222]. For example, the communication interface [218] may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example,
10 the communication interface [218] may be a local area network (LAN) card to provide a
data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface [218] sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
15
[0063] The computing device [200] can send messages and receive data, including
program code, through the network(s), the network link [220] and the communication interface [218]. In the Internet example, a server [230] might transmit a requested code for an application program through the Internet [228], the ISP [226], the local network [222],
20 the host [224], and the communication interface [218]. The received code may be executed
by the processor [204] as it is received, and/or stored in the storage device [210], or other non-volatile storage for later execution.
[0064] The present disclosure is implemented by a system [300] (as shown in FIG. 3).
25 In an implementation, the system [300] may include the computing device [200] (as shown
in FIG. 2). It is further noted that the computing device [200] is able to perform the steps of a method [400] (as shown in FIG. 4).
[0065] Referring to FIG. 3, an exemplary block diagram of a system [300] for
30 managing workflow during runtime of an application, is shown, in accordance with the
exemplary implementations of the present disclosure. The system [300] comprises at least one transceiver unit [302], at least one processing unit [304], and at least one storage unit [306]. Also, all of the components/ units of the system [300] are assumed to be connected to each other unless otherwise indicated below. As shown in the figures all units shown
14
within the system should also be assumed to be connected to each other. Also, in FIG. 3
only a few units are shown, however, the system [300] may comprise multiple such units or
the system [300] may comprise any such numbers of said units, as required to implement
the features of the present disclosure. Further, in an implementation, the system [300] may
5 be present in a user device to implement the features of the present disclosure. The system
[300] may be a part of the user device / or may be independent of but in communication with the user device (may also referred herein as a UE). In another implementation, the system [300] may reside in a server or a network entity. In yet another implementation, the system [300] may reside partly in the server/ network entity and partly in the user device. 10
[0066] The system [300] is configured for managing workflow during runtime of an
application, with the help of the interconnection between the components/units of the system [300].
15 [0067] The system includes a transceiver unit [302]. The transceiver unit [302] is
configured to receive a workflow modification request from a user interface (UI) [102]. The workflow modification request refers to a request to modify or update an existing workflow. The transceiver unit [302] is further configured to receive a workflow creation request from the user interface (UI). The workflow creation request refers to creating a new workflow.
20 Workflow refers to a sequence of task to process data from initiation to completion. For
instance, when a person is joining a new organization, a workflow may be for onboarding of the person. The workflow for onboarding may include a standard process for requesting documents and explaining the working of the organization to the person. A user may create a new workflow for onboarding or may modify to add any other new information to be given
25 to new persons joining the organization. The user may be a workflow operation entity, a
workflow operation person, and the like. In an implementation of the present disclosure, the UI [102] may send either the workflow modification request or the workflow creation request. The workflow modification request may include an updated workflow data. The updated workflow data refers to the data to be modified or added to the workflow. The
30 workflow creation request may include a workflow data. The workflow data refers to the
data required to create the workflow. In an implementation of the present disclosure, the workflow modification request or the workflow creation request may be sent to a data aggregation microservice. The data aggregation microservice refers to a single system that
15
performs multiple services. For instance, the data aggregation microservice may perform services such as retrieving of data, storing data, processing of data, and the like.
[0068] The system [300] further includes a processing unit [304] configured to process
5 at least validation and condition check of an updated workflow data upon receiving the
workflow modification request, the updated workflow data is received in the workflow modification request. The validation may be performed by the processing unit [304] by monitoring the updated workflow. The process of validation may include checking the format of the updated workflow, checking the modification in the updated workflow, and
10 the like. The checking of the format refers to checking if the updated workflow is the same
as the existing workflow. The checking the modification refers to checking the updated workflow for alignment with the workflow modification request. In an implementation of the present disclosure, the processing unit [304] may check if it is the workflow modification request or the workflow creation request based on the condition check and the validation.
15 The condition check refers to evaluating, by the processing unit [304], if a condition is met
before proceeding with the execution of the workflow modification request. The condition check may depend on the information included in the workflow modification request. The workflow modification request may include conditions such as input parameters, output parameters, entry conditions, exit conditions, and the like. The input parameters refer to
20 taking a parameter as input from the user for executing the set of tasks. The output
parameters refer to sending a parameter as output to the user after executing the set of tasks. The entry conditions refer to a specific condition which may lead the workflow to start. The workflow may continue till exit conditions are met. The exit conditions refer to a specific condition which may lead the workflow to end. Further, if it is the workflow modification
25 request, the processing unit [304] may validate and check the updated workflow data. For
the workflow creation request, the condition check and the validation may not be required to be performed on the workflow data. The transceiver unit [302] is further configured to send an error message to a northbound system upon determining a failure of the at least validation and condition check of the updated workflow data. In an implementation of the
30 present disclosure, the northbound system refers to an output-oriented system. The
northbound system may send outputs to the UI [102]. For instance, if the request relates to a trouble ticket, based on the type of request (the workflow modification request or the workflow creation request), the workflow may be managed based on the life cycle of the trouble ticket mentioned in the request.
16
[0069] The system [300] further includes a storage unit [306]. The storage unit [306]
is configured to store the updated workflow data in a database upon a successful validation
and condition check for the workflow modification request. The storage unit [306] is further
5 configured to store a workflow data in the database with corresponding version details for
the workflow creation request.
[0070] The transceiver unit [302] is further configured to receive a workflow execution
request from the user interface (UI) [102]. In an implementation of the present disclosure,
10 the transceiver unit [302] may forward the workflow execution request to the WFEE [108].
The workflow execution request refers to a request to initiate the workflow.
[0071] The processing unit [304] is configured to execute a set of tasks according to
the updated workflow data upon receiving the workflow execution request for the workflow
15 modification request. For the workflow creation request, the processing unit [304] is
configured to execute a corresponding set of initial tasks according to the workflow data upon receiving a request for the execution of the workflow data from the UI [102]. The processing unit [304] is configured to execute the set of tasks based on a workflow identifier, corresponding to the workflow execution request, fetched from the database. The workflow
20 identifier refers to unique identifiers defined by the user. For instance, the workflow may
include steps of acknowledging, assigning, rejecting, cancelling, and the like. Each of the steps of acknowledging, assigning, rejecting, cancelling, and the like. The workflow may include parameters/conditions such as input parameters, output parameters, entry conditions, exit conditions, and the like. The input parameters refer to taking a parameter as input from
25 the user for executing the set of tasks. The output parameters refer to sending a parameter
as output to the user after executing the set of tasks. The entry conditions refer to a specific condition which may lead the workflow to start. The workflow may continue till exit conditions are met. The exit conditions refer to a specific condition which may lead the workflow to end. Further, the workflow parameters/conditions may be changed during
30 runtime.
[0072] The transceiver unit [302] is configured to send a notification to at least a
workflow operation entity upon determining at least one issue during execution of the set of
tasks. In an implementation of the present disclosure, the processing unit [304] may check
35 for at least one issue arising in executing the set of tasks. The workflow operation entity
17
may resolve the at least one issue arising in executing the set of tasks, based on the
notification. If the processing unit [304] do not determine the at least one issue in executing
the set of tasks, the processing unit [304] may complete the workflow execution request.
The modified workflow or the created workflow may be further stored in the database by
5 the storage unit [306].
[0073] The system [300] may perform a mechanism to efficiently modify or create a
workflow in runtime. The mechanism of modification or creation of workflow in runtime
may be clear by a method flow for the system [300] as shown in FIG. 4.
10
[0074] Referring to FIG. 4, an exemplary method flow diagram [400] for managing
workflow during runtime of an application, in accordance with exemplary implementations
of the present disclosure is shown. In an implementation, the method [400] is performed by
the system [300]. Further, in an implementation, the system [300] may be present in a server
15 device to implement the features of the present disclosure. Also, as shown in FIG. 4, the
method [400] starts at step [402].
[0075] At step [404], the method includes receiving, at a transceiver unit [302], a
workflow modification request from a user interface (UI) [102]. The workflow modification
20 request refers to a request to modify or update an existing workflow. The method may
include receiving, at the transceiver unit [302], a workflow creation request from the user interface (UI) [102]. The workflow creation request refers to creating a new workflow. Workflow refers to a sequence of task to process data from initiation to completion. For instance, when a person is joining a new organization, a workflow may be for onboarding
25 of the person. The workflow for onboarding may include a standard process for requesting
documents and explaining the working of the organization to the person. A user may create a new workflow for onboarding or may modify to add any other new information to be given to new persons joining the organization. The user may be a workflow operation entity, a workflow operation person, and the like. In an implementation of the present disclosure, the
30 UI [102] may send either the workflow modification request or the workflow creation
request. The workflow modification request may include an updated workflow data. The updated workflow data refers to the data to be modified or added to the workflow. The workflow creation request may include a workflow data. The workflow data refers to the data required to create the workflow. The workflow modification request or the workflow
35 creation request may be forwarded to the WFD [104]/a workflow engine. In an
18
implementation of the present disclosure, the workflow modification request or the
workflow creation request may be sent to a data aggregation microservice. The data
aggregation microservice refers to a single system that performs multiple services. For
instance, the data aggregation microservice may perform the services- retrieving of data,
5 storing data, processing of data, and the like.
[0076] At step [406], the method includes performing, by a processing unit [304], at
least validation and condition check of the updated workflow data upon receiving the workflow modification request. The validation may be performed by the processing unit
10 [304] by monitoring the updated workflow for. The process of validation may include
checking the format of the updated workflow, checking the modification in the updated workflow, and the like. The checking of the format refers to checking if the updated workflow is the same as the existing workflow. The checking the modification refers to checking the updated workflow for alignment with the workflow modification request. In
15 an implementation of the present disclosure, the processing unit [304] may check if it is the
workflow modification request or the workflow creation request based on the condition check and the validation. The condition check refers to evaluating, by the processing unit [304], if a condition is met before proceeding with the execution of the workflow modification request. The condition check may depend on the information included in the
20 workflow modification request. The workflow modification request may include conditions
such as input parameters, output parameters, entry conditions, exit conditions, and the like. The input parameters refer to taking a parameter as input from the user for executing the set of tasks. The output parameters refer to sending a parameter as output to the user after executing the set of tasks. The entry conditions refer to a specific condition which may lead
25 the workflow to start. The workflow may continue till exit conditions are met. The exit
conditions refer to a specific condition which may lead the workflow to end. Further, if it is the workflow modification request, the processing unit [304] may validate and check the updated workflow data. For the workflow creation request, the condition check and the validation may not be required to be performed on the workflow data. Upon determining a
30 failure of the at least validation and condition check of the updated workflow data, the
method comprises sending, by the transceiver unit [302], an error message to a northbound system. In an implementation of the present disclosure, the northbound system refers to an output-oriented system. The northbound system may send outputs to the UI [102]. For instance, if the request relates to a trouble ticket, based on the type of request (the workflow
19
modification request or the workflow creation request), the workflow may be managed based on the life cycle of the trouble ticket mentioned in the request.
5 [0077] Next at step [408], if a request is the workflow modification request, the method
includes storing, by a storage unit [306], the updated workflow data in a database upon a
successful validation and condition check. If the request is the workflow creation request,
the method includes storing, by the storage unit [306], the workflow data in the database
with corresponding version details.
10
[0078] Next at step [410], the method includes receiving, by the transceiver unit [302],
a workflow execution request from the user interface (UI) [102]. In an implementation of
the present disclosure, the transceiver unit [302] may forward the workflow execution
request to the WFEE [108]. The workflow refers to a request to initiate the workflow.
15
[0079] Next, at step [412], in case of the workflow modification request, the method
includes executing, by the processing unit [304], a set of tasks according to the updated workflow data upon receiving the workflow execution request. In case of the workflow creation request, the method includes executing, by the processing unit [304], a
20 corresponding set of initial tasks according to the workflow data upon receiving a request
for the execution of the workflow data from the UI [102]. The executing the set of tasks according to the updated workflow data is performed based on a workflow identifier, corresponding to the workflow execution request, fetched from the database. The workflow identifier refers to unique identifiers defined by the user. For instance, the workflow may
25 include steps of acknowledging, assigning, rejecting, cancelling, and the like. Each of the
steps of acknowledging, assigning, rejecting, cancelling, and the like. In addition, the workflow may include parameters/conditions such as input parameters, output parameters, entry conditions, exit conditions, and the like. The input parameters refer to taking a parameter as input from the user for executing the set of tasks. The output parameters refer
30 to sending a parameter as output to the user after executing the set of tasks. The entry
conditions refer to a specific condition which may lead the workflow to start. The workflow may continue till exit conditions are met. The exit conditions refer to a specific condition which may lead the workflow to end. The workflow parameters/conditions may be changed during runtime.
20
[0080] In an implementation of the present disclosure, the processing unit [304] may
check for at least one issue arising in executing the set of tasks. Upon determining at least
one issue in executing the set of tasks, the method comprises sending, by the transceiver unit
5 [302], a notification to at least a workflow operation entity. In an implementation of the
present disclosure, the workflow operation entity may resolve the at least one issue arising
in executing the set of tasks, based on the notification. If the processing unit [304] do not
determine the at least one issue in executing the set of tasks, the processing unit [304] may
complete the workflow execution request. The modified workflow or the created workflow
10 may be further stored in the database by the storage unit [306].
[0081] Referring to FIG. 5, it illustrates an exemplary implementation of the method
for managing workflow during runtime of an application.
15 [0082] At step 1, the method flow [500] starts.
[0083] Further, at step 2, the User Interface [102] may send a request to the Data
Aggregator for execution of workflow. The Data Aggregator may forward the request to the
Workflow Design Service (WFD) [104]/ workflow engine.
20
[0084] At step 3, the WFD [104]/workflow engine may pre-process the request to check
if it is a modification request or a creation request. The pre-process includes performing
validations and checking conditions in the creation or the modification request. If the request
is the creation request, the workflow data is stored in the database. If the request is the
25 modification request, the workflow data is validated and then stored in the database.
[0085] At step 4, the WFD [104]/workflow engine may check if the conditions are
matched. The workflow modification request may include conditions such as input
parameters, output parameters, entry conditions, exit conditions, and the like. The input
30 parameters refer to taking a parameter as input from the user for executing the set of tasks.
The output parameters refer to sending a parameter as output to the user after executing the set of tasks. The entry conditions refer to a specific condition which may lead the workflow to start. The workflow may continue till exit conditions are met. The exit conditions refer to a specific condition which may lead the workflow to end.
35
21
[0086] At step 5, if the conditions are not met, an error response is sent to the
northbound systems/ northbound interface (NBI).
[0087] If the conditions are matched, the method proceeds to step 6. At step 6, In case
5 the conditions are met, the request is sent to the WFEE [108] to execute the workflow
according to the request.
[0088] At step 7, the workflow data identifier is fetched from the database and the
request is performed according to the instructions given in the workflow. A workflow
10 milestone is updated and stored in the database. Accordingly, a response associated with the
request is sent to the Northbound systems.
[0089] At step 8, the WFD [104]/workflow engine may check for any issue arising in
the request for execution of workflow.
15
[0090] If any issue is identified, the method may proceed to step 9. At step 9, a
notification may be sent to the workflow operation entity. After resolution of the issue by
the workflow operation entity, resubmission of the workflow may be performed, and the
workflow is resumed effectively.
20
[0091] If any issue is not identified, at step 10, the WFD [104]/workflow engine may
update the completion of execution of the workflow and store the workflow in the database.
[0092] The present disclosure further relates to a user equipment (UE) for managing
25 workflow during runtime of an application comprising a system [300]. The system [300]
further comprising a transceiver unit [302] configured to receive a workflow modification
request from a user interface (UI) [102]. The system [300] further comprising a processing
unit [304] configured to process at least validation and condition check of an updated
workflow data upon receiving the workflow modification request, the updated workflow
30 data is received in the workflow modification request. The system [300] further comprising
a storage unit [306] configured to store the updated workflow data in a database upon a
successful validation and condition check. Furthermore, the system [300] comprising the
transceiver unit [302] configured to receive a workflow execution request from the UI [102].
Furthermore, the system [300] comprising the processing unit [304] configured to execute
35 a set of tasks according to the updated workflow data upon receiving the workflow execution
request.
22
[0093] The present disclosure further discloses a non-transitory computer readable
storage medium storing instructions for managing workflow during runtime of an application. The instructions include executable code which, when executed by one or more units of a system, causes a transceiver unit [302] to receive a workflow modification request from a user interface (UI) [102]. The instructions when executed by the system further cause, a processing unit [304] to process at least validation and condition check of an updated workflow data upon receiving the workflow modification request, the updated workflow data is received in the workflow modification request. The instructions when executed by the system further cause a storage unit [306] to store the updated workflow data in a database upon a successful validation and condition check. The instructions when executed by the system further cause the transceiver unit [302] to receive a workflow execution request from the user interface (UI). The instructions when executed by the system further cause the processing unit [304] to execute a set of tasks according to the updated workflow data upon receiving the workflow execution request.
[0094] As is evident from the above, the present disclosure provides a technically
advanced solution for managing workflow during runtime of an application. The present disclosure discloses that the Runtime modifiable version-controlled Template based workflows enables the application to achieve better degree of automation by providing minute instructions and milestones of the tasks that have to be executed by the workflow which eliminates the risk of human errors. Also, the present disclosure discloses that the automation helps to analyse the business and positively affect the overall productivity. Further, the present disclosure discloses that the version-controlled templates can be used to support the older entities that has been already associated with the workflows with older versions enables to be more flexible with the workflows. Furthermore, the present disclosure ingests this kind of workflows for the execution of different types of task entities such as, trouble tickets, change requests, appointments and work orders. By using this kind of workflows, the present disclosure efficiently does the issue management.
[0095] While considerable emphasis has been placed herein on the disclosed
implementations, it will be appreciated that many implementations can be made and that many changes can be made to the implementations without departing from the principles of the present disclosure. These and other changes in the implementations of the present
disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.
We Claim:
1. A method [400] for managing workflow during runtime of an application, the method
[400] comprising:
- receiving, at a transceiver unit [302], a workflow modification request from a user interface (UI) [102];
- performing, by a processing unit [304], at least validation and condition check of an updated workflow data upon receiving the workflow modification request, the updated workflow data is received in the workflow modification request;
- storing, by a storage unit [306], the updated workflow data in a database upon a successful validation and condition check;
- receiving, by the transceiver unit [302], a workflow execution request from the UI [102]; and
- executing, by the processing unit [304], a set of tasks according to the updated workflow data upon receiving the workflow execution request.
2. The method [400] as claimed in claim 1, further comprises:
- receiving, at the transceiver unit [302], a workflow creation request from the user interface (UI);
- storing, by the storage unit [306], a workflow data in the database with corresponding version details; and
- executing, by the processing unit [304], a corresponding set of initial tasks according to the workflow data upon receiving a request for the execution of the workflow data from the UI [102].
3. The method [400] as claimed in claim 1, wherein upon determining a failure of the at least validation and condition check of the updated workflow data, the method comprises sending, by the transceiver unit [302], an error message to a northbound system.
4. The method [400] as claimed in claim 1, wherein upon determining at least one issue in executing the set of tasks, the method comprises sending, by the transceiver unit [302], a notification to at least a workflow operation entity.
5. The method [400] as claimed in claim 1, wherein executing the set of tasks according to the updated workflow data is performed based on a workflow identifier, corresponding to the workflow execution request, fetched from the database.
6. A system [300] for managing workflow during runtime of an application, the system comprising:
a transceiver unit [302] configured to receive a workflow modification request from a user interface (UI) [102];
a processing unit [304] configured to process at least validation and condition check of an updated workflow data upon receiving the workflow modification request, the updated workflow data is received in the workflow modification request;
a storage unit [306] configured to store the updated workflow data in a database upon a successful validation and condition check;
the transceiver unit [302] configured to receive a workflow execution request from the UI [102]; and
the processing unit [304] configured to execute a set of tasks according to the updated workflow data upon receiving the workflow execution request.
7. The system [300] as claimed in claim 6, further comprising:
the transceiver unit [302] configured to receive a workflow creation request from the UI [102];
the storage unit [306] configured to store a workflow data in the database with corresponding version details; and
the processing unit [304] configured to execute a corresponding set of initial tasks according to the workflow data upon receiving a request for the execution of the workflow data from the user interface.
8. The system [300] as claimed in claim 6, wherein the transceiver unit [302] is further
configured to send an error message to a northbound system upon determining a failure
of the at least validation and condition check of the updated workflow data.
9. The system [300] as claimed in claim 6, wherein the transceiver unit [302] is configured to send a notification to at least a workflow operation entity upon determining at least one issue during execution of the set of tasks.
10. The system [300] as claimed in claim 6, wherein the processing unit [304] execute the set of tasks based on a workflow identifier, corresponding to the workflow execution request, fetched from the database.
11. A user equipment (UE) comprising:
- a transceiver unit [302] configured to:
o receive a workflow modification request from a user interface (UI) [102]; and
o receive a workflow execution request from the UI [102],
wherein the UE facilitates managing workflow during runtime of an application based on:
- processing, at a processing unit [304], at least validation and condition check of an updated workflow data upon receiving the workflow modification request, wherein the updated workflow data is received in the workflow modification request;
- storing, at a storage unit [306], the updated workflow data in a database upon a successful validation and condition check; and
- executing, at the processing unit [304], a set of tasks according to the updated workflow data upon receiving the workflow execution request.
| # | Name | Date |
|---|---|---|
| 1 | 202321047306-STATEMENT OF UNDERTAKING (FORM 3) [13-07-2023(online)].pdf | 2023-07-13 |
| 2 | 202321047306-PROVISIONAL SPECIFICATION [13-07-2023(online)].pdf | 2023-07-13 |
| 3 | 202321047306-FORM 1 [13-07-2023(online)].pdf | 2023-07-13 |
| 4 | 202321047306-FIGURE OF ABSTRACT [13-07-2023(online)].pdf | 2023-07-13 |
| 5 | 202321047306-DRAWINGS [13-07-2023(online)].pdf | 2023-07-13 |
| 6 | 202321047306-FORM-26 [14-09-2023(online)].pdf | 2023-09-14 |
| 7 | 202321047306-Proof of Right [14-12-2023(online)].pdf | 2023-12-14 |
| 8 | 202321047306-ORIGINAL UR 6(1A) FORM 1 & 26-300124.pdf | 2024-02-03 |
| 9 | 202321047306-FORM-5 [11-07-2024(online)].pdf | 2024-07-11 |
| 10 | 202321047306-ENDORSEMENT BY INVENTORS [11-07-2024(online)].pdf | 2024-07-11 |
| 11 | 202321047306-DRAWING [11-07-2024(online)].pdf | 2024-07-11 |
| 12 | 202321047306-CORRESPONDENCE-OTHERS [11-07-2024(online)].pdf | 2024-07-11 |
| 13 | 202321047306-COMPLETE SPECIFICATION [11-07-2024(online)].pdf | 2024-07-11 |
| 14 | 202321047306-FORM 3 [01-08-2024(online)].pdf | 2024-08-01 |
| 15 | Abstract-1.jpg | 2024-08-14 |
| 16 | 202321047306-Request Letter-Correspondence [16-08-2024(online)].pdf | 2024-08-16 |
| 17 | 202321047306-Power of Attorney [16-08-2024(online)].pdf | 2024-08-16 |
| 18 | 202321047306-Form 1 (Submitted on date of filing) [16-08-2024(online)].pdf | 2024-08-16 |
| 19 | 202321047306-Covering Letter [16-08-2024(online)].pdf | 2024-08-16 |
| 20 | 202321047306-CERTIFIED COPIES TRANSMISSION TO IB [16-08-2024(online)].pdf | 2024-08-16 |