IP Library Granted Patent US 8,171,348
Granted Patent B2
US 8,171,348 · App. 12/470,693 · Granted May 1, 2012

Data consistency in long-running processes

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,171,348
App. No.
12/470,693
Filed
May 22, 2009
Granted
May 1, 2012
Kind
B2
Art Unit
2114
USPC
714/47
Abstract

Long running computer implemented processes are dynamically adapted to improve data consistency. A range of process steps in a long running computer implemented process is specified. Additionally, each of the computer-implemented process partners that are associated with the execution of the long running process are identified within the range of specified process steps. Monitoring information is also collected with regard to at least one identified process partner. An automatic determination is made as to whether each monitored process partner is available before initiating execution of the specified range of process steps in an instance of the long running computer implemented process and a flow of the long running computer implemented process is transformed based at least in part upon the determination as to whether each monitored process partner is available.

Claims (69)

1. A method of dynamically adapting long running computer implemented processes comprising:

receiving at a process server computer, a specification of a range of process steps in a long running computer implemented process that carries out at least a portion of an associated business workflow, wherein the long running process is designed for execution in a corresponding computing environment;

receiving at the process server computer, an identification of one or more computer-implemented process partners that are associated with the execution of the specified range of process steps in the long running computer implemented process;

receiving monitoring information at the process server computer, which is collected with regard to at least one identified process partner;

determining whether each monitored process partner is available for providing a service via data communication before initiating execution of the specified range of process steps in the long running computer implemented process; and

transforming a flow of the long running computer implemented process based at least in part upon the determination as to whether each monitored process partner is available for providing a service via data communication by:

implementing a completion action to execute the specified range of process steps in the long running computer implemented process if the one or more process partners associated with the execution of the specified range of process steps are available; and

implementing a trigger action that automatically modifies the flow of the long running process to not execute the specified range of process steps if at least one process partner associated with the specified range of process steps is unavailable.

2. The method according to claim 1 , wherein the specification comprises at least one of a full process, a sub-process or a set of steps within a process.

3. The method according to claim 1 , wherein determining whether each monitored process partner is available comprises:

evaluating at least one rule using at least one piece of received monitoring information to determine whether to transform the flow of the long running computer implemented process.

4. The method according to claim 1 , wherein transforming a flow of the long running computer implemented process comprises:

receiving a specification of at least one wait point to wait until each process partner associated with the specified range of process steps is available for processing; and

transforming the long running process to transition flow to the specified wait point in response to at least one process partner associated with the specified range of process steps being unavailable.

5. The method according to claim 1 , further comprising:

triggering at least one additional process in response to determining that at least one process partner associated with the specified range of process steps is unavailable.

6. The method according to claim 5 , wherein:

triggering at least one additional process comprises at least one of sending a message, sending a response to a display, invoking a service and calling another process.

7. The method according to claim 1 , further comprising:

receiving at least one of weighting and priority based upon process behavior;

wherein:

determining whether each monitored process partner is available further comprises:

evaluating one or more of the received at least one of weighting or priority in view of behavior of the long running computer implemented process as it manifests; and

transforming a flow of the long running computer implemented process further comprises:

transforming the flow of the long running computer implemented process based at least in part upon the evaluation of the at least one weighting or priority.

8. The method according to claim 1 , wherein receiving at a process server computer, a specification of a range of process steps in a long running computer implemented process comprises:

graphically displaying steps of an overall process of at least a portion of the associated business workflow; and

enabling a user to specify the range of process steps by specifying the first and last steps of the specified range of process steps.

9. The method according to claim 1 , further comprising:

graphically representing an overall process of at least a portion of the associated business workflow; and

enabling a user to click on the graphically represented process to select a wait point for waiting in response to implementation of the trigger action.

10. The method according to claim 1 , further comprising:

automatically generating a rules template from the process partners that are utilized by the long running computer implemented process; and

enabling a user to enter logic describing at least one process partner and its respective state to define a rule utilized to automatically determine whether each monitored process partner is available for service before initiating execution of the specified range of process steps.

11. A computer program product to dynamically adapt long running computer implemented processes comprising:

a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:

computer readable program code configured to receive a specification of a range of process steps in a long running computer implemented process, wherein the long running process is designed for execution by a process server computer operating in a corresponding computing environment;

computer readable program code configured to receive an identification of one or more computer implemented process partners that are associated with the execution of the specified range of specified process steps in the long running computer implemented process;

computer readable program code configured to receive monitoring information collected with regard to at least one identified process partner;

computer readable program code configured to determine whether each monitored process partner is available before initiating execution of the specified range of process steps in the long running computer implemented process; and

computer readable program code configured to transform a flow of the long running computer implemented process based at least in part upon the determination as to whether each monitored process partner is available, including:

computer readable program code configured to implement a completion action to execute the specified range of process steps in the long running computer implemented process if the one or more process partners associated with the execution of the specified range of process steps are available; and

computer readable program code configured to implement a trigger action that automatically modifies the flow of the long running process to not execute the specified range of process steps if at least one process partner associated with the specified range of process steps is unavailable.

12. The computer program product according to claim 11 , wherein the specification comprises at least one of a full process, a sub-process or a set of steps within a process.

13. The computer program product according to claim 11 , wherein the computer readable program code configured to determine whether each monitored process partner is available comprises:

computer readable program code configured to evaluate at least one rule using at least one piece of received monitoring information to determine whether to transform the flow of the long running computer implemented process.

14. The computer program product according to claim 11 , wherein the computer readable program code configured to transform the flow of the long running process to not execute a process step within the specified range of process steps comprises:

computer readable program code configured to receive a specification of at least one wait point to wait until each process partner associated with the specified range of process steps is available for processing; and

computer readable program code configured to transform the long running process to transition flow to the specified wait point in response to at least one process partner associated with the specified range of process steps being unavailable.

15. The computer program product according to claim 11 , further comprising:

computer readable program code configured to trigger at least one additional process in response to determining that at least one process partner associated with the specified range of process steps is unavailable.

16. The computer program product according to claim 15 , wherein:

the computer readable program code configured to trigger at least one additional process comprises computer readable program code configured to trigger at least one of sending a message, sending a response to a display, invoking a service and calling another process.

17. The computer program product according to claim 11 , further comprising:

computer readable program code configured to receive at the process server computer a specification of at least one of weighting and priority based upon process behavior;

wherein:

the computer readable program code configured to determine whether each monitored process partner is available further comprises:

computer readable program code configured to evaluate one or more of the received at least one weighting or priority in view of behavior of the long running computer implemented process as it manifests; and

the computer readable program code configured to transform a flow of the long running computer implemented process further comprises:

computer readable program code configured to transform the flow of the long running computer implemented process based at least in part upon the evaluation of the at least one weighting or priority.

18. The computer program product according to claim 11 , wherein the computer readable program code configured to specify a range of process steps in a long running computer implemented process executed by a process server computer in a computing environment comprises:

computer readable program code configured to graphically display steps of an overall process of at least a portion of the associated business workflow; and

computer readable program code configured to enable a user to specify the range of process steps by specifying the first and last steps of the specified range of process steps.

19. The computer program product according to claim 11 , further comprising:

computer readable program code configured to graphically represent an overall process of at least a portion of the associated business workflow; and

computer readable program code configured to enable a user to click on the graphically represented process to select a wait point for waiting in response to implementation of the trigger action.

20. The computer program product according to claim 11 , further comprising:

computer readable program code configured to automatically generate a rules template from the process partners that are utilized by the long running computer implemented process; and

computer readable program code configured to enable a user to enter logic describing at least one process partner and its respective state to define a rule utilized to automatically determine whether each monitored process partner is available before initiating execution of the specified range of process steps.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2009
From: O'SULLIVAN, PATRICK J.; SECHUGA, GREGORY; STERN, EDITH H.; WILLNER, BARRY E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022739/0370 →
Continuity (1)
Related Publication 20100299554A1 · Nov 25, 2010