Topic-Based Load Balancer for Data Intake and Query Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data intake and query systems face challenges in efficiently analyzing and searching massive quantities of diverse machine data from various sources, lacking user-friendly tools for visual identification of data subsets and requiring pre-processing that discards significant amounts of raw data.

Innovation Solution

A data intake and query system with a flexible schema that stores raw machine data for later analysis, utilizing a late-binding schema for field extraction during search time, and employing a pipelined search language to facilitate efficient data retrieval and visualization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If pre-processing is applied to reduce data volume, then data retrieval efficiency is improved, but data loss increases due to discarding raw data

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoiddata loss
Core Design Contradiction:
SpeedVSLoss of substance

Solution Approach 1:

The system performs preliminary indexing on specific fields of raw data during data ingestion, creating searchable indexes without discarding the original raw data. This allows efficient retrieval through indexes while preserving complete data for later analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different processing qualities to different parts of the data: indexed fields are processed for efficient search, while the complete raw data is preserved in its original form. This local differentiation allows both fast retrieval and data preservation.

Inventive Principle:
Principle #3Local quality

2Productivity

If pre-defined schemas are used for data processing, then data processing speed is improved, but adaptability decreases when analyzing diverse data types

Engineering Contradiction:
Improvedata processing speedVSAvoidadaptability to diverse data types
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system uses dynamic schema evolution where field definitions are not fixed but can be discovered and adapted during query execution. The late-binding schema allows the system to adjust to diverse data types on-the-fly while maintaining processing efficiency through learned patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system creates a universal data model that can handle multiple data types and formats through a common field structure. This universal schema allows the same processing infrastructure to efficiently handle diverse machine data from various sources without requiring separate pre-defined schemas for each data type.

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

3Adaptability or versatility

If massive quantities of raw data are stored, then data analysis flexibility is improved, but system complexity increases

Engineering Contradiction:
Improvedata analysis flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments data storage into multiple layers: raw data storage, indexed data storage, and processed data storage. This segmentation allows the system to manage massive data volumes by organizing them into manageable components with different access patterns and processing requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces indexing structures as intermediaries between raw data storage and query processing. These indexes act as mediators that simplify complex queries by providing pre-organized access paths to the underlying raw data, reducing the complexity of searching and analyzing massive data sets.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of time

If data is pre-processed based on anticipated needs, then retrieval efficiency is improved, but information loss occurs due to discarding unprocessed data

Engineering Contradiction:
Improveretrieval efficiencyVSAvoidinformation loss
Core Design Contradiction:
Loss of timeVSLoss of information

Solution Approach 1:

The system performs preliminary field extraction and indexing on key data elements during ingestion, creating efficient access paths for common query patterns. However, it preserves the complete raw data in its original form, allowing retrieval of both indexed fields and full data without information loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system selectively discards only the minimal processing needed for indexing (not the actual data), and recovers complete information when needed by accessing the preserved raw data. This allows efficient processing for common cases while enabling full information recovery when required.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11809395B1Load balancing, failover, and reliable delivery of data in a data intake and query system
Publication Date: 2023.11.07 CISCO TECHNOLOGY INC
  • US11809395B1 patent drawing
  • US11809395B1 patent drawing
  • US11809395B1 patent drawing

AI summary

Systems and methods are described for balancing workloads and reliably delivering data to a plurality of indexing systems in a data intake and query system. A topic-based indexing system load balancer may receive event data from various data sources, each of which may be associated with a topic. The event data may be entirely unparsed, unparsed but divided into events, or parsed into events. The topic-based indexing system load balancer may distribute the received event data on a per-topic or per-event basis to a set of indexing systems, and may distribute topics and events based on the volume received. Unparsed data may be divided into portions, and the topic-based indexing system load balancer may ensure that portions data associated with the same topic are delivered to the same indexer so that events split between two portions may be recombined and indexed.