IP Library › Granted Patent US 10,664,481
Granted Patent B2
US 10,664,481 · App. 14/869,859 · Granted May 26, 2020

Computer system programmed to identify common subsequences in logs

Inventors: Roberto Attias (Alameda, CA); Alberto Gonzalez Prieto (Mountain View, CA)
Assignee: Cisco Technology, Inc.
G06F16/24578G06F16/1727G06F16/215G06F16/2465G06F16/24568G06F16/3344G06F16/90344G06F11/3476G06F17/40G06F40/211G06F40/284G06N5/025
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,664,481
App. No.
14/869,859
Granted
May 26, 2020
Kind
B2
Abstract

A data processing method includes receiving a stream of digital data with a plurality of objects and, in response to receiving an object, tokenizing the object to create a tokenized object, and storing the tokenized object in a token database. The method further includes comparing the tokenized object to a plurality of other tokenized objects stored in the token database, computing a pattern associated with the tokenized object, storing the pattern in a pattern database, and managing a size of the pattern database by identifying, a subset of patterns that are eligible for deletion from the pattern database based on an age of each pattern, ranking each pattern of the subset based on a quality and a popularity metric, identifying, based on the ranking and from the subset, a second pattern and deleting the second pattern from the pattern database to produce an updated database.

Claims (42)

1. A method comprising:

using a computer, receiving a stream of digital data comprising a plurality of objects;

using programmed tokenizer instructions executed using the computer, in response to receiving a first object of the plurality of objects, tokenizing the first object to create a first tokenized object and electronically digitally storing the first tokenized object in a token database that comprises a plurality of other tokenized objects and using an electronic digital storage device;

using the computer, comparing the first tokenized object to the plurality of other tokenized objects stored in the token database, computing a first pattern including the first tokenized object having a constant sequence placed within characters of the first tokenized object, wherein the constant sequence identifies a subsequence of characters in at least two objects of the plurality of objects that are different, and storing the first pattern in a pattern database that comprises a plurality of patterns;

using the computer, managing a size of the pattern database by:

identifying, from the plurality of patterns, a subset of patterns that are eligible for deletion from the pattern database based on an age of each pattern and storing in computer memory data identifying the subset of patterns;

ranking each pattern of the subset based on a quality metric and a popularity metric, by marking the data identifying the subset of patterns with rank values, wherein the popularity metric is a hit count of an associated pattern, and wherein the quality metric comprises a function of a length of the constant sequence placed within characters of a tokenized object of an associated pattern;

identifying a lowest ranked pattern from the subset for deletion including determining a longest length of the constant sequence placed within characters of a tokenized object of an associated pattern; and

repeating the tokenizing, comparing and storing using the updated database;

wherein the method is executed using one or more computing devices.

2. The method of claim 1 , wherein the token database is a fixed size circular buffer.

3. The method of claim 1 , wherein the first pattern is computed using a longest subsequence match algorithm.

4. The method of claim 1 , wherein the size is between 25 and 1000 patterns.

5. The method of claim 1 , wherein the age further comprises a grace period based on the size of the pattern database and a number of new patterns added to the pattern database after a pattern associated with the age, wherein the pattern associated with the age is not eligible for deletion during the grace period.

6. The method of claim 1 , wherein the quality metric comprises a function of a ratio of the constant sequence length and a total length of a pattern.

7. The method of claim 1 , wherein the plurality of objects are not pre-defined.

8. A method comprising:

using a computer, managing a size of a pattern database that stores a plurality of patterns, each pattern of the plurality of patterns including a tokenized object having a constant sequence placed within characters of the first tokenized object, wherein the constant sequence identifies a subsequence of characters in at least two objects that are different, by:

identifying, from the plurality of patterns, a subset of patterns that are eligible for deletion from the pattern database based on an age of each pattern and storing in computer memory data identifying the subset of patterns;

ranking each pattern of the subset based on a quality metric and a popularity metric, by marking the data identifying the subset of patterns with rank values, wherein the popularity metric is a hit count of an associated pattern, and wherein the quality metric comprises a function of a length of the constant sequence placed within characters of a tokenized object of an associated pattern;

identifying a lowest ranked pattern from the subset for deletion including determining a longest length of the constant sequence placed within characters of a tokenized object of an associated pattern; and

deleting the pattern from the pattern database to produce an updated database;

wherein the method is executed using one or more computing devices.

9. The method of claim 8 , wherein the size is between 25 and 1000 patterns.

10. The method of claim 8 , wherein the age further comprises a grace period based on the size of the pattern database and an amount of new patterns added to the pattern database after a pattern associated with the age, wherein the pattern associated with the age is not eligible for deletion during the grace period.

11. A computing device comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to:

receive a stream of digital data comprising a plurality of objects;

in response to receiving a first object of the plurality of objects, tokenize the first object to create a first tokenized object and electronically digitally store the first tokenized object in a token database that comprises a plurality of other tokenized objects and using an electronic digital storage device;

compare the first tokenized object to the plurality of other tokenized objects stored in the token database, computing a first pattern including the first tokenized object having a constant sequence placed within characters of the first tokenized object, wherein the constant sequence identifies a subsequence of characters in at least two objects of the plurality of objects that are different, and storing the first pattern in a pattern database that comprises a plurality of patterns;

manage a size of the pattern database by:

identifying, from the plurality of patterns, a subset of patterns that are eligible for deletion from the pattern database based on an age of each pattern and storing in computer memory data identifying the subset of patterns;

ranking each pattern of the subset based on a quality metric and a popularity metric, by marking the data identifying the subset of patterns with rank values, wherein the popularity metric is a hit count of an associated pattern, and wherein the quality metric comprises a function of a length of the constant sequence placed within characters of a tokenized object of an associated pattern;

identifying a lowest ranked pattern from the subset for deletion including determining a longest length of the constant sequence placed within characters of a tokenized object of an associated pattern; and

repeating the tokenizing, comparing and storing using the updated database.

12. The computing device of claim 11 , wherein the token database is a fixed size circular buffer.

13. The computing device of claim 11 , wherein the first pattern is computed using a longest subsequence match algorithm.

14. The computing device of claim 11 , wherein the size is between 25 and 1000 patterns.

15. The computing device of claim 11 , wherein the age further comprises a grace period based on the size of the pattern database and a number of new patterns added to the pattern database after a pattern associated with the age, wherein the pattern associated with the age is not eligible for deletion during the grace period.

16. The computing device of claim 11 , wherein the quality metric comprises a function of a ratio of the constant sequence length and a total length of a pattern.

17. The computing device of claim 11 , wherein the plurality of objects are not pre-defined.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2015
From: ATTIAS, ROBERTO; PRIETO, ALBERTO GONZALEZ
To: CISCO TECHNOLOGY, INC.
Reel/Frame 036714/0971 →
Continuity (1)
Related Publication 20170091190A1 · Mar 30, 2017