Parallel DNS Record Detection Using Shared Bloom Filter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face computational intensity in efficiently detecting newly observed domains, which are potentially malicious, as they require tracking a large volume of newly registered domain names in a short period.

Innovation Solution

A computer-implemented method using multiple processors to apply a common filter to a stream of DNS data points, identifying new records by generating keys and using a Bloom filter to determine if records are in a set, allowing for parallel processing and scalability to quickly detect new domain name records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a single processor tracks newly observed domains using a Bloom filter, then detection accuracy is maintained, but processing speed decreases and the system becomes a bottleneck

Engineering Contradiction:
Improvedetection speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the single processor into multiple processors (first processor, second processor, etc.), each capable of independently applying the Bloom filter to DNS data points. This segmentation allows parallel processing of domain name lookups, significantly increasing detection speed while maintaining the same detection logic in each processor instance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple processors are merged into a coordinated system that shares a common Bloom filter data structure. The processors work in parallel but coordinate through the shared filter, combining their individual processing capabilities into a unified high-performance detection system that maintains data consistency

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If multiple processors are used to process DNS data in parallel, then processing speed increases, but race conditions and deadlocks may occur when updating the Bloom filter

Engineering Contradiction:
Improveprocessing throughputVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A message queue is introduced as an intermediary between the multiple processors and the Bloom filter update mechanism. Processors send detection results and filter update requests through the message queue, which serializes access to the Bloom filter. This allows parallel processing to continue while preventing race conditions and deadlocks during filter updates

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system maintains continuous parallel processing by allowing processors to independently evaluate DNS data points against the Bloom filter without blocking each other. The message queue ensures continuous updates to the Bloom filter without interrupting the parallel detection workflow, maintaining system productivity while ensuring data consistency

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9264440B1Parallel detection of updates to a domain name system record system using a common filter
Publication Date: 2016.02.16 FARSIGHT SECURITY INC
  • US9264440B1 patent drawing
  • US9264440B1 patent drawing
  • US9264440B1 patent drawing

AI summary

In an embodiment, a computer-implemented method detects updates to a domain name system record system. In the method, a stream of data points is received with each data point describing a record of a domain name system. For respective data points, a processor is selected from a plurality of processors. The processors are each configured to apply a data point against a common filter that assesses whether the data point is in a set. At the selected processor, the respective data point is applied to the common filter to determine whether the record is included in the set. When the record is determined not to be included in the set, a message is provided to indicate that the domain name system includes a new record, and the common filter is updated to include the data point in the set.