MESSAGE DRIVEN METHOD AND SYSTEM FOR OPTIMAL MANAGEMENT OF DYNAMIC PRODUCTION WORKFLOWS IN A DISTRIBUTED ENVIRONMENT
First Claim
1. A network-based method of controlling a production workflow in a node-based network utilizing message-driven, persistent, asynchronous communication, comprising the steps of:
- receiving a task request pursuant to the workflow;
providing a tuple for the task request and invoking a stored procedure in response to the task request, wherein the stored procedure comprises generating and transmitting an application-specific message relating to the requested task, and wherein the tuple is associated with the application-specific message;
determining if an acknowledgement has been received to the application-specific message;
providing a message status based on the determination if an acknowledgement has been received;
obtaining a rule for the task request from a knowledge base and moving the tuple to a staging area based on the rule;
determining a network condition, and moving the tuple to an application-specific queue if it is determined that a predetermined network condition exists;
updating the tuple in the application-specific queue based on at least one of a status message and priority message received.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and system to control the data processing workflows in distributed environment with asynchronous message driven mechanism. A production workflow includes an ordered sequence of tasks to be executed that needs to be distributed on multiple computational nodes. Each task is assigned by a sender application to a receiver application running on a computational node through a message. On receiving the message, the receiver application sends and sends an acknowledgment to the message and schedules the sub tasks associated with the task. The sender application on receiving the acknowledgment removes the message from the queue otherwise the messages are stored in the database. On completion of the sub tasks the receiver application generates a message and the sender application on receipt of the message takes up the next task in the sequence and generates a message to another application. The sender application keeps on generating messages till all the tasks are completed in the sequence. The methods adopted in this invention provides persistence and guaranteed delivery of messages thereby improving the quality of service in transaction processing systems that are managing complex workflows.
31 Citations
17 Claims
-
1. A network-based method of controlling a production workflow in a node-based network utilizing message-driven, persistent, asynchronous communication, comprising the steps of:
-
receiving a task request pursuant to the workflow; providing a tuple for the task request and invoking a stored procedure in response to the task request, wherein the stored procedure comprises generating and transmitting an application-specific message relating to the requested task, and wherein the tuple is associated with the application-specific message; determining if an acknowledgement has been received to the application-specific message; providing a message status based on the determination if an acknowledgement has been received; obtaining a rule for the task request from a knowledge base and moving the tuple to a staging area based on the rule; determining a network condition, and moving the tuple to an application-specific queue if it is determined that a predetermined network condition exists; updating the tuple in the application-specific queue based on at least one of a status message and priority message received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product, comprising a tangible computer usable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for controlling a production workflow in a node-based network utilizing message-driven, persistent, asynchronous communication, said method comprising the steps of:
-
receiving a task request pursuant to the workflow; providing a tuple for the task request and invoking a stored procedure in response to the task request, wherein the stored procedure comprises generating and transmitting an application-specific message relating to the requested task, and wherein the tuple is associated with the application-specific message; determining if an acknowledgement has been received to the application-specific message; providing a message status based on the determination if an acknowledgement has been received; obtaining a rule for the task request from a knowledge base and moving the tuple to a staging area based on the rule; determining a network condition, and moving the tuple to an application-specific queue if it is determined that a predetermined network condition exists; updating the tuple in the application-specific queue based on at least one of a status message and priority message received. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A network-based method for processing workflows in a distributed environment for improving data distribution to a user, using an automatic prioritization engine comprising the steps of:
-
computing application-specific throughputs for each application associated with a respective type of job in the workflows; storing the application-specific throughputs for each type of job in a knowledge base; calculating at least one of a nominal and average delivery timeline for specific job types based on metadata relating to the workflow stored in the knowledge base; computing the time spent taken for completion of job by at least one of (i) a particular application and (ii) by all applications involved in the workflow; and incrementing a priority if the elapsed time is greater than the nominal time by fitting a piecewise linear function.
-
Specification