Multi-threaded Search Response Aggregation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern data centers face challenges in efficiently processing large volumes of machine-generated data due to its unstructured nature, making indexing and searching operations difficult, especially as the number of hosts and clients grows.

Innovation Solution

A data aggregation and analysis system that asynchronously processes messages from multiple servers using a search daemon, which distributes search requests to search peers, aggregates partial results, and transforms them into memory data structures, optimizing response processing through parallel processing and efficient thread management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single processing thread is used to handle responses from multiple search peers, then the system structure is simple, but the processing efficiency and response time deteriorate due to sequential processing

Engineering Contradiction:
Improvesystem structureVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the single processing thread into multiple worker threads, with each thread responsible for processing responses from specific search peers. This segmentation allows parallel processing of search results while maintaining manageable thread organization through dedicated message queues for each peer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by creating multiple threads that can simultaneously process responses from different search peers. This transitions the system from sequential single-threaded processing to concurrent multi-threaded processing, significantly improving throughput.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiple worker threads are created for each search peer, then processing efficiency improves through parallel processing, but system complexity and resource consumption increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the worker threads into groups, with each group handling responses from specific search peers. This organized segmentation allows efficient parallel processing while maintaining clear responsibility boundaries and reducing overall system complexity through structured thread management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Worker threads are designed with multi-functionality to handle various types of messages (search results, errors, acknowledgments) from different search peers using a unified processing framework. This reduces complexity by avoiding the need for specialized thread code for each message type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Device complexity

If all search responses are processed with the same computational resources, then resource allocation is simple, but processing time increases for computationally complex search results

Engineering Contradiction:
Improveresource allocationVSAvoidprocessing time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent applies local quality by allocating computational resources dynamically based on the specific needs of each search response. Worker threads can apply different processing strategies depending on the computational complexity, data volume, and priority of individual search results, optimizing processing time for diverse query types.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements dynamic resource allocation where worker threads can adjust their processing behavior based on real-time conditions such as message queue depth, computational complexity of current task, and system load. This allows the system to adapt resource usage to match actual processing needs rather than following fixed allocation patterns.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11695830B1Multi-threaded processing of search responses
Publication Date: 2023.07.04 CISCO TECHNOLOGY INC
  • US11695830B1 patent drawing
  • US11695830B1 patent drawing
  • US11695830B1 patent drawing

AI summary

Multi-threaded processing of search responses returned by search peers is disclosed. An example method may include transmitting, by a computer system, a search request to a plurality of search peers of a data aggregation and analysis system; receiving, by a first processing thread, a plurality of data packets from the plurality of search peers; parsing, by a second processing thread, one or more data packets of the plurality of data packets to produce a first partial response to the search request; parsing, by a third processing thread, the one or more data packets to produce a second partial response to the search request; and generating, based on the first partial response and the second partial response, an aggregated response to the search request.