IP Library › Granted Patent US 10,904,290
Granted Patent B2
US 10,904,290 · App. 15/866,518 · Granted Jan 26, 2021

Method and system for determining incorrect behavior of components in a distributed IT system generating out-of-order event streams with gaps

Inventor: Felix Klaedtke (Heidelberg, DE)
Assignee: NEC CORPORATION
H04L63/20G06F21/552G06F21/554H04L41/069H04L41/0631H04L63/14G06F2221/2151H04L67/10
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 10,904,290
App. No.
15/866,518
Granted
Jan 26, 2021
Kind
B2
Abstract

A method for determining incorrect behavior of components in a distributed information technology (IT) system includes receiving a pattern useable to indicate an incorrect behavior of a component. An automaton and a complement automaton are constructed based on the pattern, the automaton and complement automaton comprising one or more states. One or more logged events are received, each event in the one or more logged events including a timestamp. Gaps are determined in the one or more logged events. Event matrices are precomputed for the gaps and for each event in the one or more logged events based on the states of the automaton and the complement automaton. The pattern is matched to the one or more logged events by iteratively processing the one or more logged events and the gaps and maintaining a combination matrix. The incorrect behavior is determined based on an output of the pattern matching.

Claims (33)

1. A method for determining incorrect behavior of components in a distributed information technology (IT) system generating out-of-order event streams with gaps, the method comprising:

receiving a pattern which is useable to indicate an incorrect behavior of at least one of the components of the distributed IT system;

constructing an automaton and a complement automaton based on the pattern, the automaton and the complement automaton comprising one or more states;

receiving one or more logged events, each event in the one or more logged events including a timestamp, wherein the timestamps provide an order of the one or more logged events;

determining the gaps in the one or more logged events;

precomputing event matrices for the gaps and for each event in the one or more logged events based on the states of the automaton and the complement automaton;

matching the pattern to the one or more logged events by iteratively processing the one or more logged events and the gaps and maintaining a combination matrix which is updated in each iteration; and

determining the incorrect behavior based on an output of the pattern matching,

wherein each event of the one or more logged events and each of the determined gaps is organized in an evaluation tree that is updated based on each received event, and

wherein the evaluation tree is a binary tree having nodes that are evaluated in parallel, the nodes storing the event matrices for the gaps and for each event in the one or more logged events.

2. The method according to claim 1 , wherein the output is one of a match, a no match, and an undetermined.

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

initiating a counter-measure for at least one of the components determined to be behaving incorrectly based on the output of the pattern matching, wherein the counter-measures include at least one of restarting, reconfiguring, terminating or quarantining the at least one of the components of the distributed IT system.

4. The method according to claim 1 , wherein the combination matrix is initially set to a unit matrix.

5. The method according to claim 1 , wherein the iteratively processing includes updating the combination matrix with the event matrix for a selected event in the one or more logged events.

6. The method according to claim 1 , wherein the iteratively processing includes updating the combination matrix with the event matrix for a selected gap in the gaps.

7. The method according to claim 1 , wherein the iteratively processing is performed using parallel computing.

8. The method according to claim 1 , wherein each event in the one or more logged events includes a sequence number, wherein the sequence number is used to determine the gaps.

9. The method according to claim 8 , wherein each event in the one or more logged events further includes an event source, wherein the event source identifies one of the components that created the logged event.

10. A log analyzer for determining incorrect behavior of components in a distributed information technology (IT) system generating out-of-order event streams with gaps, the log analyzer comprising one or more hardware processors, which alone or together, are configured to provide for execution of the following steps:

receiving a pattern which is useable to indicate an incorrect behavior of at least one of the components of the distributed IT system;

constructing an automaton and a complement automaton based on the pattern, the automaton and the complement automaton comprising one or more states;

receiving one or more logged events, each event in the one or more logged events including a timestamp, wherein the timestamps provide an order of the one or more logged events;

determining the gaps in the one or more logged events;

precomputing event matrices for the gaps and for each event in the one or more logged events based on the states of the automaton and the complement automaton;

matching the pattern to the one or more logged events by iteratively processing the one or more logged events and the gaps and maintaining a combination matrix which is updated in each iteration; and

determining the incorrect behavior based on an output of the pattern matching,

wherein each event of the one or more logged events and each of the determined gaps is organized in an evaluation tree that is updated based on each received event, and

wherein the evaluation tree is a binary tree having nodes that are evaluated in parallel, the nodes storing the event matrices for the gaps and for each event in the one or more logged events.

11. The log analyzer according to claim 10 , wherein the output is one of a match, a no match, and an undetermined.

12. The log analyzer according to claim 10 , wherein the one or more processors are further configured to provide for execution of a step of:

initiating a counter-measure for at least one of the components determined to be behaving incorrectly based on the output of the pattern matching, wherein the counter-measures include at least one of restarting, reconfiguring, terminating or quarantining the at least one of the components of the distributed IT system.

13. The log analyzer according to claim 10 , wherein the updating the combination matrix includes updating the combination matrix with the event matrix for a selected event in the one or more logged events and updating the combination matrix with the event matrix for a selected gap in the gaps.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: NEC LABORATORIES EUROPE GMBH
To: NEC CORPORATION
Reel/Frame 054660/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2018
From: KLAEDTKE, FELIX
To: NEC LABORATORIES EUROPE GMBH
Reel/Frame 044933/0821 →
Continuity (1)
Related Publication 20190215340A1 · Jul 11, 2019
Cited By (1)
US 12,694,413