Probabilistic Data Structure for Log Message Clustering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The processing overhead in computer systems that store log messages increases significantly as the number of clusters grows, requiring extensive comparisons when new log messages are collected, leading to inefficiencies in log message clustering.

Innovation Solution

The use of a probabilistic data structure, such as a Bloom filter, to determine whether a new log message is definitely not similar to any existing clusters, allowing for the creation of a new cluster with a single operation, rather than comparing it to each representative log message, thereby reducing processing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional log message clustering is used, then log messages can be classified into clusters, but processing overhead increases significantly as the number of clusters grows to thousands or millions

Engineering Contradiction:
Improvelog message clustering efficiencyVSAvoidprocessing overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a Bloom filter as an intermediary data structure between the incoming log message and the cluster database. The Bloom filter quickly filters out log messages that definitely do not match any existing cluster, preventing unnecessary comparisons with thousands or millions of clusters. This intermediary layer dramatically reduces processing overhead while maintaining accurate clustering results.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the clustering process into two distinct stages: (1) a fast filtering stage using the Bloom filter to eliminate non-matching clusters, and (2) a detailed comparison stage only for messages that pass the filter. This segmentation allows the system to handle large numbers of clusters efficiently by dividing the work into coarse filtering and fine matching.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the number of clusters increases to thousands or millions, then more log message types can be handled, but the number of comparisons required for each new log message increases significantly

Engineering Contradiction:
Improvelog message type coverageVSAvoidcomparison operations
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-computing and storing Bloom filter representations of all existing clusters before processing new log messages. This preliminary preparation allows the system to quickly filter incoming messages without performing full comparisons against every cluster, making the system scalable to handle thousands or millions of clusters without proportionally increasing comparison operations.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If full comparison is performed against all representative log messages, then accurate clustering is achieved, but processing time increases with the number of clusters

Engineering Contradiction:
Improveclustering accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by performing only a partial comparison (Bloom filter check) for most log messages, and only performing full comparisons for the small subset of messages that pass the filter. This partial approach maintains clustering accuracy for messages that need it while avoiding unnecessary full comparisons for messages that clearly don't match any cluster.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11392620B2Clustering log messages using probabilistic data structures
Publication Date: 2022.07.19 MICRO FOCUS LLC
  • US11392620B2 patent drawing
  • US11392620B2 patent drawing
  • US11392620B2 patent drawing

AI summary

A probabilistic data structure may be queried to test whether text of a received log message is present in the probabilistic data structure. The representative log messages may be included in respective existing clusters are included in the probabilistic data structure. Based on whether the text is present, whether to create a new cluster for the received log message may be determined.