IP Library Granted Patent US 10,678,625
Granted Patent B2
US 10,678,625 · App. 16/033,278 · Granted Jun 9, 2020

Log-based computer system failure signature generation

Inventors: Pranay Anchuri (Princeton Junction, NJ); Jianwu Xu (Lawrenceville, NJ); Hui Zhang (Princeton Junction, NJ)
Assignee: NEC Corporation
G06F11/079G06F11/0751G06F11/0778G06F11/0787
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,678,625
App. No.
16/033,278
Granted
Jun 9, 2020
Kind
B2
Abstract

Systems and methods for automatically generating failure signatures in a computer system for performing computer system fault diagnosis are provided. The method includes receiving log data, converting each log in the log data into a collection of log pattern sequences including one or more log pattern sequences corresponding to one or more respective failure categories associated with the computer system, generating a collection of seed patterns by computing a global set of patterns from the collection of log pattern sequences, and extracting the collection of seed patterns from the global set of patterns, generating a log pattern grammar representation for each of the one or more log pattern sequences, generating a failure signature for each of the one or more failure categories based on the log pattern grammar representation and the collection of seed patterns, and employing the failure signatures to perform computer system fault diagnosis on new log data.

Claims (61)

1. A system for automatically generating failure signatures in a computer system for performing computer system fault diagnosis, comprising:

a memory device for storing program code; and

at least one processor operatively coupled to the memory device and configured to execute program code stored on the memory device to:

receive log data;

convert each log in the log data into a collection of log pattern sequences including one or more log pattern sequences corresponding to one or more respective failure categories associated with the computer system;

generate a collection of seed patterns by computing a global set of patterns from the collection of log pattern sequences, and extracting the collection of seed patterns from the global set of patterns;

generate a log pattern grammar representation for each of the one or more log pattern sequences;

generate a failure signature for each of the one or more failure categories based on the log pattern grammar representation and the collection of seed patterns; and

employ the failure signatures to perform computer system fault diagnosis on new log data.

2. The system of claim 1 , wherein the at least one processor is configured to convert each log into the collection of log pattern sequences by using one or more clustering algorithms.

3. The system of claim 1 , wherein the log pattern grammar representation includes a grammar tree.

4. The system of claim 1 , wherein the log pattern grammar representation is represented as a set of rules, each rule being a summarization of a subsequence of patterns.

5. The system of claim 1 , wherein each failure signature includes a start part including a first occurrence of a first seed pattern in the log pattern grammar representation, an end part including a second seed pattern following the first seed pattern, and an intermediate part including any non-seed patterns that are accompanied by the seed patterns.

6. The system of claim 1 , wherein the at least one processor is configured to employ the failure signatures to perform computer system fault diagnosis on new log data by:

performing log tokenization preprocessing on the new log data to generate tokenized new log data;

parsing the tokenized new log data using the global set of patterns to generate testing log patterns;

determining if the new log data matches at least one known computer system fault based on the failure signatures and the testing log patterns; and

in response to determining that the new log data matches a known computer system fault based on the failure signatures and the testing log patterns, extracting matched testing log patterns corresponding to the at least one known computer system fault.

7. The system of claim 6 , wherein, in determining if the new log data matches a known computer system fault based on the failure signatures and the testing log patterns, the at least one processor is configured to:

generate failure sequence stack data structures each representing a failure signature sequence;

match the testing log patterns to the failure signature sequence stack data structures to remove elements from at least one of the failure signature sequence stack data structures; and

after the matching, determine that the testing log patterns correspond to at least one known computer system failure in response to determining that at least one of the failure signature sequence stack data structures is empty.

8. A computer-implemented method for automatically generating failure signatures in a computer system for performing computer system fault diagnosis, comprising:

receiving, by at least one processor operatively coupled to a memory, log data;

converting, by the at least one processor, each log in the log data into a collection of log pattern sequences including one or more log pattern sequences corresponding to one or more respective failure categories associated with the computer system;

generating, by the at least one processor, a collection of seed patterns by computing a global set of patterns from the collection of log pattern sequences, and extracting the collection of seed patterns from the global set of patterns;

generating, by the at least one processor, a log pattern grammar representation for each of the one or more log pattern sequences;

generating, by the at least one processor, a failure signature for each of the one or more failure categories based on the log pattern grammar representation and the collection of seed patterns; and

employing, by the at least one processor, the failure signatures to perform computer system fault diagnosis on new log data.

9. The method of claim 8 , wherein converting each log into the collection of log pattern sequences further includes using one or more clustering algorithms.

10. The method of claim 8 , wherein the log pattern grammar representation includes a grammar tree.

11. The method of claim 8 , wherein the log pattern grammar representation is represented as a set of rules, each rule being a summarization of a subsequence of patterns.

12. The method of claim 8 , wherein each failure signature includes a start part including a first occurrence of a first seed pattern in the log pattern grammar representation, an end part including a second seed pattern following the first seed pattern, and an intermediate part including any non-seed patterns that are accompanied by the seed patterns.

13. The method of claim 8 , wherein employing the failure signatures to perform computer system fault diagnosis on new log data further includes:

performing log tokenization preprocessing on the new log data to generate tokenized new log data;

parsing the tokenized new log data using the global set of patterns to generate testing log patterns;

determining if the new log data matches at least one known computer system fault based on the failure signatures and the testing log patterns; and

in response to determining that the new log data matches a known computer system fault based on the failure signatures and the testing log patterns, extracting matched testing log patterns corresponding to the at least one known computer system fault.

14. The method of claim 13 , wherein determining if the new log data matches at least one known computer system fault based on the failure signatures and the testing log patterns further includes:

generating failure sequence stack data structures each representing a failure signature sequence;

matching the testing log patterns to the failure signature sequence stack data structures to remove elements from at least one of the failure signature sequence stack data structures; and

after the matching, determining that the testing log patterns correspond to at least one known computer system failure in response to determining that at least one of the failure signature sequence stack data structures is empty.

15. A computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method for automatically generating failure signatures in a computer system for performing computer system fault diagnosis, the method performed by the computer comprising:

receiving log data;

converting each log in the log data into a collection of log pattern sequences including one or more log pattern sequences corresponding to one or more respective failure categories associated with the computer system;

generating a collection of seed patterns by computing a global set of patterns from the collection of log pattern sequences, and extracting the collection of seed patterns from the global set of patterns;

generating a log pattern grammar representation for each of the one or more log pattern sequences;

generating a failure signature for each of the one or more failure categories based on the log pattern grammar representation and the collection of seed patterns; and

employing the failure signatures to perform computer system fault diagnosis on new log data.

16. The computer program product of claim 15 , wherein converting each log into the collection of log pattern sequences further includes using one or more clustering algorithms.

17. The computer program product of claim 15 , wherein the log pattern grammar representation is represented as a set of rules, each rule being a summarization of a subsequence of patterns.

18. The computer program product of claim 15 , wherein each failure signature includes a start part including a first occurrence of a first seed pattern in the log pattern grammar representation, an end part including a second seed pattern following the first seed pattern, and an intermediate part including any non-seed patterns that are accompanied by the seed patterns.

19. The computer program product of claim 15 , wherein employing the failure signatures to perform computer system fault diagnosis on new log data further includes:

performing log tokenization preprocessing on the new log data to generate tokenized new log data;

parsing the tokenized new log data using the global set of patterns to generate testing log patterns;

determining if the new log data matches at least one known computer system fault based on the failure signatures and the testing log patterns; and

in response to determining that the new log data matches a known computer system fault based on the failure signatures and the testing log patterns, extracting matched testing log patterns corresponding to the at least one known computer system fault.

20. The computer program product of claim 19 , wherein determining if the new log data matches at least one known computer system fault based on the failure signatures and the testing log patterns includes:

generating failure sequence stack data structures each representing a failure signature sequence;

matching the testing log patterns to the failure signature sequence stack data structures to remove elements from at least one of the failure signature sequence stack data structures; and

after the matching, determining that the testing log patterns correspond to at least one known computer system failure in response to determining that at least one of the failure signature sequence stack data structures is empty.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2020
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 052497/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: ANCHURI, PRANAY; XU, JIANWU; ZHANG, HUI
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 046328/0253 →
Continuity (2)
Provisional Application 62558536 · Sep 14, 2017
Related Publication 20190079820A1 · Mar 14, 2019