IP Library Granted Patent US 9,721,219
Granted Patent B2
US 9,721,219 · App. 14/848,980 · Granted Aug 1, 2017

High-load business process scalability

Inventor: Soeren Balko (Indooroopilly, AU)
Assignee: SAP SE
G06Q10/06316G06F9/5055G06F9/546G06F2209/509G06F2209/5013
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 9,721,219
App. No.
14/848,980
Granted
Aug 1, 2017
Kind
B2
Abstract

The present disclosure involves systems, software, and computer implemented methods for providing high-load business process scalability in cloud-based infrastructures. One process includes operations for receiving a message at a first computer node executing a first business process instance. A second business process instance associated with the message is identified. The message is sent to a messaging queue for retrieval by the second business process instance if the second business process instance is not located at the first computer node.

Claims (33)

1. A computer-implemented method, comprising:

receiving a message at a first computer node executing a first process instance, the first computer node operating as one of a plurality of nodes in a networked environment, the message associated with a particular process instance executing in the networked environment;

identifying a second process instance associated with the message, wherein the second process instance is associated with at least one particular node in the plurality of nodes in the networked environment;

sending the message from the first computer node to a centralized messaging queue associated with the networked environment for storage and subsequent retrieval by the at least one particular node associated with the second process instance in the centralized messaging queue, wherein a determination of the association between the second process instance and the message includes use of a correlation procedure that matches a payload and a context associated with the message received at the centralized messaging queue to the second process instance;

determining that the message indicates a change to a shared state variable; and

obtaining a lock on the shared state variable if the message indicates a change to the shared state variable, wherein obtaining the lock on the shared state variable comprises preventing other components and process instances other than the second process instance from accessing the shared state variable.

2. The computer-implemented method of claim 1 further comprising sending a notification message to a second computer node hosting the second process instance, the notification message indicating that the message can be retrieved from the centralized messaging queue.

3. The computer-implemented method of claim 1 , wherein the centralized messaging queue is identified based on a process instance identifier of the second process instance.

4. The computer-implemented method of claim 1 , wherein receiving the message at the first computer node comprises receiving the message from a load balancer distributing messages received at a network.

5. The computer-implemented method of claim 1 , wherein identifying the second process instance associated with the message further comprises identifying a plurality of process instances associated with the message.

6. A computer-implemented system, comprising:

memory operable to store a computer node; and

at least one hardware processor interoperably coupled to the memory and configured to:

receive a message at a first computer node executing a first process instance, the first computer node operating as one of a plurality of nodes in a networked environment, the message associated with a particular process instance executing in the networked environment;

identify a second process instance associated with the message, wherein the second process instance is associated with at least one particular node in the plurality of nodes in the networked environment;

send the message from the first computer node to a centralized messaging queue associated with the networked environment for storage and subsequent retrieval by the at least one particular node associated with the second process instance in the centralized messaging queue, wherein a determination of the association between the second process instance and the message includes use of a correlation procedure that matches a payload and a context associated with the message received at the centralized messaging queue to the second process instance;

determine that the message indicates a change to a shared state variable; and

obtain a lock on the shared state variable if the message indicates a change to the shared state variable, wherein obtaining the lock on the shared state variable comprises preventing other components and process instances other than the second process instance from accessing the shared state variable.

7. The computer-implemented system of claim 6 , further configured to send a notification message to a second computer node hosting the second process instance, the notification message indicating that the message can be retrieved from the centralized messaging queue.

8. The computer-implemented system of claim 6 , wherein identifying the second process instance associated with the message further comprises identifying a plurality of process instances associated with the message.

9. The computer-implemented system of claim 6 , wherein the centralized messaging queue is identified based on a process instance identifier of the second process instance.

10. The computer-implemented system of claim 6 , wherein receiving the message at the first computer node comprises receiving the message from a load balancer distributing messages received at a network.

11. A computer-readable non-transitory storage medium encoded with computer-readable instructions configured to cause one or more data processing apparatus to:

receive a message at a first computer node executing a first process instance, the first computer node operating as one of a plurality of nodes in a networked environment, the message associated with a particular process instance executing in the networked environment;

identify a second process instance associated with the message, wherein the second process instance is associated with at least one particular node in the plurality of nodes in the networked environment;

send the message from the first computer node to a centralized messaging queue associated with the networked environment for storage and subsequent retrieval by the at least one particular node associated with the second process instance if the second process instance is not locally executing at the first computer node, where the message is associated with the at least one particular node associated with the second process instance in the centralized messaging queue, wherein a determination of the association between the second process instance and the message includes use of a correlation procedure that matches a payload and a context associated with the message received at the centralized messaging queue to the second process instance;

determine that the message indicates a change to a shared state variable; and

obtain a lock on the shared state variable if the message indicates a change to the shared state variable, wherein obtaining the lock on the shared state variable comprises preventing other components and process instances other than the second process instance from accessing the shared state variable.

12. The computer-readable, non-transitory, storage medium of claim 11 , further configured to send a notification message to a second computer node hosting the second process instance, the notification message indicating that the message can be retrieved from the centralized messaging queue.

13. The computer-readable, non-transitory, storage medium of claim 11 , wherein the centralized messaging queue is identified based on a process instance identifier of the second process instance.

14. The computer-readable, non-transitory, storage medium of claim 11 , wherein receiving the message at the first computer node comprises receiving the message from a load balancer distributing messages received at a network.

15. The computer-readable, non-transitory, storage medium of claim 11 , wherein identifying the second process instance associated with the message further comprises identifying a plurality of process instances associated with the message.

16. The computer-readable, non-transitory, storage medium of claim 11 , further configured to determine that the message indicates a change to a shared state variable.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2015
From: BALKO, SOEREN, DR.
To: SAP AG
Reel/Frame 036522/0896 →
CHANGE OF NAME Recorded Sep 9, 2015
From: SAP AG
To: SAP SE
Reel/Frame 036576/0519 →
Continuity (3)
Continuation 14014794 · Aug 30, 2013
Continuation 13094366 · Apr 26, 2011
Related Publication 20150379451A1 · Dec 31, 2015