IP Library Granted Patent US 9,135,595
Granted Patent B2
US 9,135,595 · App. 14/014,794 · Granted Sep 15, 2015

High-load business process scalability

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,135,595
App. No.
14/014,794
Granted
Sep 15, 2015
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 associated with at least one particular node in the plurality of nodes in the networked environment, and wherein the identification of the second process instance comprises correlating a payload of the message with a data context of the second process instance; and

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 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 particular node associated with the second process instance in the centralized messaging queue, wherein the at least one particular node can access the centralized messaging queue to retrieve the message, wherein the particular node polls the centralized messaging queue for the message, and wherein a polling time is dynamically modified based on a calculation related to an average or median time in which new messages are received in the centralized messaging queue.

2. The 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 method of claim 1 , wherein the centralized messaging queue is identified based on a process instance identifier of the second process instance.

4. The 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 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. The method of claim 1 , further comprising determining that the message indicates a change to a shared state variable.

7. The method of claim 6 , further comprising obtaining a lock on the shared state variable if the message indicates the 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.

8. A computer-accessible, 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 associated with at least one particular node in the plurality of nodes in the networked environment, and wherein the identification of the second process instance comprises correlating a payload of the message with a data context of the second process instance; and

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 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 particular node associated with the second process instance in the centralized messaging queue, wherein the at least one particular node can access the centralized messaging queue to retrieve the message, wherein the particular node polls the centralized messaging queue for the message, and wherein a polling time is dynamically modified based on a calculation related to an average or median time in which new messages are received in the centralized messaging queue.

9. The medium of claim 8 , 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.

10. The medium of claim 8 , wherein the centralized messaging queue is identified based on a process instance identifier of the second process instance.

11. The medium of claim 8 , wherein receiving the message at the first computer node comprises receiving the message from a load balancer distributing messages received at a network.

12. The medium of claim 8 , wherein identifying the second process instance associated with the message further comprises identifying a plurality of process instances associated with the message.

13. The medium of claim 8 , further configured to determine that the message indicates a change to a shared state variable.

14. The medium of claim 13 , further configured to obtain a lock on the shared state variable if the message indicates the 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.

15. A computer-implemented system, comprising:

memory operable to store a computer node; and

at least one hardware processor interoperably coupled to the memory and operable 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 associated with at least one particular node in the plurality of nodes in the networked environment, and wherein the identification of the second process instance comprises correlating a payload of the message with a data context of the second process instance; and

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 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 particular node associated with the second process instance in the centralized messaging queue, wherein the at least one particular node can access the centralized messaging queue to retrieve the message, wherein the particular node polls the centralized messaging queue for the message, and wherein a polling time is dynamically modified based on a calculation related to an average or median time in which new messages are received in the centralized messaging queue.

16. The system of claim 15 further operable 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.

17. The system of claim 15 , wherein the centralized messaging queue is identified based on a process instance identifier of the second process instance.

18. The system of claim 15 , wherein receiving the message at the first computer node comprises receiving the message from a load balancer distributing messages received at a network.

19. The system of claim 15 , wherein identifying the second process instance associated with the message further comprises identifying a plurality of process instances associated with the message.

20. The system of claim 15 further operable to:

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 the 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.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2013
From: BALKO, SOEREN, DR.
To: SAP AG
Reel/Frame 031125/0836 →