IP Library Granted Patent US 8,601,489
Granted Patent B2
US 8,601,489 · App. 12/641,155 · Granted Dec 3, 2013

Automated computer systems event processing

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,601,489
App. No.
12/641,155
Granted
Dec 3, 2013
Kind
B2
Abstract

Systems and methods for automated computer systems event processing are described herein. At least some example embodiments include a communication interface that receives an event message and a processing unit (coupled to the communication interface) that processes the event message and that further obtains, parses and tokenizes an character string that includes one or more delimited elements selected from the group consisting of a constant, a variable and a function, wherein each function accepts as input the one or more delimited elements. The processing unit further evaluates the parsed and tokenized character string in response to receiving the event message and initiates an action based upon the result of the evaluation. The processing unit also creates a common execution environment for performing the processing, obtaining, parsing, tokenizing and evaluation.

Claims (75)

1. A management station for managing events that occur in a group of computer machines under a framework in which results of one or more equations associated with an event determine if an action is to be carried out in response to the event, the management station comprising:

a communication interface configured to receive one or more event messages; and

a processing unit coupled to the communication interface, wherein the processing unit includes an advanced variable dependency module and a shared variable data store, wherein the advanced variable dependency module is configured to:

in response to receiving an event message,

determine if the event is associated with one or more equations; and

for at least one equation associated with the event,

parse and tokenize a character string representing the equation, the character string comprising one or more delimited elements selected from the group consisting of a constant, a variable and a function, wherein each function accepts as input the one or more delimited elements;

save the parsed and tokenized character string as a tokenized equation, wherein the tokenized equation identifies each equation element as a shared variable, a number or a function;

retrieve corresponding shared variable values from the shared variable data store for evaluating the tokenized equation;

evaluate the tokenized equation to calculate an equation result;

save the equation result in the shared variable data store; and

determine, based on the equation result, if an action should be initiated in response to the event.

2. The management station of claim 1 , wherein the advanced variable dependency module is configured to save the equation result in the shared variable data store as one of a numerical value, a logical value, a character value and an enumerated value.

3. The management station of claim 1 , wherein the processing unit is configured, in response to receiving the event message, to use a previously saved tokenized equation for the event.

4. The management station of claim 1 , wherein the processing unit performs the parsing and tokenizing in response to creation or modification of the character string.

5. The management station of claim 1 , wherein each function is implemented by separate software modules included within a library.

6. The management station of claim 1 , wherein the advanced variable dependency module is configured to save the equation result in the shared variable data store as an intermediate result for use by one or more additional equations associated with the event.

7. The management station of claim 1 , wherein the function comprises an operator.

8. The management station of claim 1 , wherein the variable comprises a shared variable.

9. The management station of claim 1 , wherein the character string describes a user-defined equation using infix notation, and wherein the processing unit further converts the character string to a reverse polish notation representation of the user-defined equation.

10. The management station of claim 9 , wherein each token is included within a precedence-ordered linked list.

11. The management station of claim 9 , wherein the processing unit parses the formula using a shunting-yard algorithm.

12. A method for processing events from a plurality of computer systems coupled to a management station, the method comprising:

receiving an event message at the management station;

identifying an equation associated with the event;

obtaining a character string for the equation associated with the event at the management station, the character string comprising one or more delimited elements selected from the group consisting of a constant, a variable and a function, wherein each function accepts as input the one or more delimited elements;

parsing and tokenizing the character string for the equation associated with the event at the management station;

saving the parsed and tokenized character string as a tokenized equation, wherein the tokenized equation identifies each equation element as a shared variable, a number or a function;

retrieving corresponding shared variable values from a shared variable data store for evaluating the tokenized equation;

evaluating the tokenized equation to calculate an equation result;

saving the equation result in the shared variable data store; and

determining, based on the equation result, if an action should be initiated in response to the event.

13. The method of claim 12 , wherein the character string comprises an EBCDIC string or an ASCII string.

14. The method of claim 12 , wherein the obtaining, parsing and tokenizing are performed in response to the act of receiving.

15. The method of claim 12 , wherein the obtaining, parsing and tokenizing are performed in response to creating or modifying the character string.

16. The method of claim 12 , wherein each function is implemented by separate software modules included within a library.

17. The method of claim 16 , wherein the library comprises a shared library or a dynamic link library.

18. The method of claim 12 , wherein the function comprises an operator.

19. The method of claim 12 , wherein the variable comprise a shared variable.

20. The method of claim 12 , wherein the character string describes a user-defined equation using infix notation, and wherein the parsing converts the character string to a reverse polish notation representation of the user-defined equation.

21. The method of claim 20 , wherein each token is included within a precedence-ordered linked list.

22. The method of claim 20 , wherein the parsing comprises using a shunting-yard algorithm.

23. A non-transitory computer-readable storage medium bearing executable code, which code when executed by one or more processors cause a management station for processing events from a plurality of computer systems to:

receive an event message;

identify an equation associated with the event;

obtain a character string for the equation associated with the event, the character string comprising one or more delimited elements selected from the group consisting of a constant, a variable and a function, wherein each function accepts as input the one or more delimited elements;

parse and tokenize the character string for the equation associated with the event at the management station;

save the parsed and tokenized character string as a tokenized equation, wherein the tokenized equation identifies each equation element as a shared variable, a number or a function;

retrieve corresponding shared variable values from the shared variable data store for evaluating the tokenized equation;

evaluate the tokenized equation to calculate an equation result;

save the equation result in the shared variable data store; and

determine, based on the equation result, if an action should be initiated in response to the event.

24. A networked computer system, comprising:

one or more monitored systems each configured to transmit one or more event messages;

a communication network that couples the one or more monitored systems to each other and a management station,

wherein the management station is configured to:

receive an event message;

identify an equation associated with the event;

obtain a character string for the equation associated with the event, the character string comprising one or more delimited elements selected from the group consisting of a constant, a variable and a function, wherein each function accepts as input the one or more delimited elements;

parse and tokenize the character string for the equation associated with the event at the management station;

save the parsed and tokenized character string as a tokenized equation, wherein the tokenized equation identifies each equation element as a shared variable, a number or a function;

retrieve corresponding shared variable values from a shared variable data store for evaluating the tokenized equation;

evaluate the tokenized equation to calculate an equation result;

save the equation result in the shared variable data store; and

determine, based on the equation result, if an action should be initiated in response to the event.

25. The networked computer system of claim 24 , wherein the character string comprises an EBCDIC string or an ASCII string.

26. The networked computer system of claim 24 , wherein the management station performs the obtaining, parsing and tokenizing in response to receiving the event message.

27. The networked computer system of claim 24 , wherein the management station performs the obtaining, parsing and tokenizing in response to creation or modification of the character string.

28. The networked computer system of claim 24 , wherein each function is implemented by separate software modules included within a library.

29. The networked computer system of claim 28 , wherein the library comprises a shared library or a dynamic link library.

30. The networked computer system of claim 24 , wherein the function comprises an operator.

31. The networked computer system of claim 24 , wherein the variable comprises a shared variable.

32. The networked computer system of claim 24 , wherein the character string describes a user-defined equation using infix notation, and wherein the processing unit further converts the character string to a reverse polish notation representation of the user-define equation.

33. The networked computer system of claim 32 , wherein each token is included within a precedence-ordered linked list.

34. The networked computer system of claim 32 , wherein the management station parses the formula using a shunting-yard algorithm.

Assignments (13)
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2009
From: LEVY, DAVID D.
To: BMC SOFTWARE, INC.
Reel/Frame 023672/0527 →