IP Library Granted Patent US 8,826,308
Granted Patent B1
US 8,826,308 · App. 13/938,092 · Granted Sep 2, 2014

Programming language conditional event dispatcher

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,826,308
App. No.
13/938,092
Granted
Sep 2, 2014
Kind
B1
Abstract

Methods and systems of monitoring events occurring in a computer system are provided. An event monitoring instruction including a condition is parsed, the event monitoring instruction expressed using syntax defined in source code, the parsing resulting in an event channel to monitor and the condition. Then execution of an application is paused. The event channel is monitored until an event occurs on the event channel. Then an event handler for the event is run in response to the event occurring on the event channel. The condition is evaluated to determine whether the condition is satisfied. Execution of the application is resumed in response to the condition being satisfied.

Claims (40)

1. A method of monitoring events occurring in a computer system, the method comprising:

parsing an event monitoring instruction including a condition, the event monitoring instruction expressed using syntax defined in source code, the parsing resulting in an event channel to monitor and the condition;

pausing execution of an application;

monitoring the event channel until an event occurs on the event channel;

running an event handler for the event in response to the event occurring on the event channel;

evaluating the condition to determine whether the condition is satisfied; and

resuming execution of the application in response to the condition being satisfied.

2. The method of claim 1 , wherein the method is performed without the use of a remote function call.

3. The method of claim 1 , wherein the event monitoring instruction further includes a timeout value, and wherein the monitoring the event channel includes monitoring the event channel until an event occurs on the event channel and the condition is satisfied, or time has passed equal to or greater than the timeout value, whichever occurs first.

4. The method of claim 1 , wherein the event monitoring instruction includes an instruction to check for registered event handlers.

5. The method of claim 1 , wherein the event monitoring instruction is an Advanced Business Application Programming (ABAP) statement.

6. The method of claim 5 , wherein the event channel includes an ABAP push channel.

7. The method of claim 5 , wherein the event channel includes an ABAP messaging channel.

8. The method of claim 1 , wherein the method is performed by an instance of an application server.

9. The method of claim 1 , wherein the syntax is WAIT FOR <event channels> UNTIL <logical expression>.

10. The method of claim 3 , wherein the syntax is WAIT FOR <event channels> UNTIL <logical expression> UP TO <timeout>.

11. A system comprising:

a database containing source code-expressing syntax for an event monitoring instruction; and

an application server having a processor configured to:

parse an event monitoring instruction including a condition, the event monitoring instruction expressed using syntax defined in source code, the parsing resulting in an event channel to monitor and the condition;

pause execution of an application;

monitor the event channel until an event occurs on the event channel;

run an event handler for the event in response to the event occurring on the event channel;

evaluate the condition to determine whether the condition is satisfied; and

resume execution of the application in response to the condition being satisfied.

12. The system of claim 11 , wherein the application server is an ABAP application server.

13. The system of claim 11 , wherein the application server is an ABAP/Java application server.

14. The system of claim 11 , wherein the parsing, pausing, monitoring, and resuming are performed without the use of a remote function call.

15. The system of claim 11 , wherein the event monitoring instruction further includes a timeout value, and wherein the monitoring the event channel includes monitoring the event channel until an event occurs on the event channel and the condition is satisfied, or time has passed equal to or greater than the timeout value, whichever occurs first.

16. The system of claim 11 , wherein the syntax is WAIT FOR <event channels> UNTIL <logical expression>.

17. The system of claim 15 , wherein the syntax is WAIT FOR <event channels> UNTIL <logical expression> UP TO <timeout>.

18. A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor of a machine, cause the machine to perform operations of monitoring events occurring in a computer system, including:

parsing an event monitoring instruction including a condition, the event monitoring instruction expressed using syntax defined in source code, the parsing resulting in an event channel to monitor and the condition;

pausing execution of an application;

monitoring the event channel until an event occurs on the event channel;

running an event handler for the event in response to the event occurring on the event channel;

evaluating the condition to determine whether the condition is satisfied; and

resuming execution of the application in response to the condition being satisfied.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the instructions are performed without the use of a remote function call.

20. The non-transitory computer-readable storage medium of claim 18 , wherein the event monitoring instruction further includes a timeout value, and wherein the monitoring the event channel includes monitoring the event channel until an event occurs on the event channel and the condition is satisfied, or time has passed equal to or greater than the timeout value, whichever occurs first.

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 Jul 9, 2013
From: JOLFAEI, MASOUD AGHADAVOODI; BRESCH, STEFAN; PRESTEL, HELMUT; DUNZ, THORSTEN MARCUS; LOTT, EDGAR; RADMACHER, FRANK; BOHLMANN, KARSTEN
To: SAP AG
Reel/Frame 030762/0620 →