Stream Processing Scheduler with Containerized Spouts and Bolts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional stream processing systems face challenges in scaling to handle increasing data volumes and complexity, struggling to maintain real-time analytics performance due to difficulties in resource management and backpressure handling.

Innovation Solution

The proposed stream processing system incorporates a cluster manager, service scheduler, and stream processor with features like distributed coordination, metrics management, and a backpressure mechanism to dynamically adjust data flow rates, ensuring efficient resource utilization and handling of varying processing speeds across components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional stream processing systems process increasing data volumes, then data processing capacity is improved, but resource management complexity and backpressure handling difficulties increase

Engineering Contradiction:
Improvedata processing capacityVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the stream processing architecture into distinct components: spouts for data ingestion, bolts for data processing, and a structured container system. Each component operates independently with defined responsibilities, allowing the system to scale processing capacity by adding more spout/bolt instances without proportionally increasing management complexity, as each segment can be managed autonomously through the standardized container interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary components including a standardized container that mediates between the processing logic and the infrastructure, and a metrics manager that acts as an intermediary for collecting and managing system metrics. These intermediaries abstract away the complexity of resource management and backpressure handling from individual processing components, enabling scalable data processing without linearly increasing management overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If the system maintains real-time analytics performance, then processing speed is improved, but difficulty in handling varying processing speeds across components increases

Engineering Contradiction:
Improveprocessing speedVSAvoidbackpressure handling difficulty
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms through the metrics manager that continuously monitors processing speeds and performance metrics across all spouts and bolts. This feedback enables dynamic adjustment of data flow rates to match actual processing capabilities, maintaining real-time analytics performance while automatically adapting to varying processing speeds across different components without requiring complex manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The container system is designed to be dynamic, allowing spouts and bolts to adjust their data production and consumption rates based on real-time conditions. The system can dynamically allocate resources and adjust processing rates across different components, enabling maintenance of overall real-time performance even when individual components experience varying processing speeds, thereby reducing the complexity of manual backpressure handling.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the system scales to handle increasing data volumes, then processing capacity is improved, but hardware requirements increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidhardware requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The standardized container design provides universal functionality that can be instantiated multiple times across different hardware configurations. Each container encapsulates a complete processing unit with integrated metrics collection, allowing the system to scale processing capacity by reusing the same container template across available hardware resources. This multi-functionality enables efficient utilization of existing hardware infrastructure to handle increasing data volumes without proportionally increasing hardware requirements.

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

Solution Approach 2:

The system enables parameter changes in processing capacity by adjusting the number and configuration of spout/bolt instances within the container framework, rather than requiring hardware changes. Processing capacity can be scaled by modifying software parameters such as parallelism degree, buffer sizes, and data flow rates, allowing the system to handle increasing data volumes while maintaining efficient use of existing hardware resources.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10095547B1Stream processing at scale
Publication Date: 2018.10.09 X CORP
  • US10095547B1 patent drawing
  • US10095547B1 patent drawing
  • US10095547B1 patent drawing

AI summary

A system and method for data stream processing. Two or more instances are connected as a topology, wherein at least one of the instances is a spout and at least one of the instances is a bolt. The topology is submitted to a scheduler, wherein the service scheduler receives resource offers from a cluster manager representing computing resources available on one or more of cluster nodes and determines resources to accept and computations to run on the accepted computing resources. The topology is scheduled as one or more jobs, wherein each job includes two or more containers, including a first container and a second container, the first container including a topology master and the second container including a stream manager and one or more stream processing system (SPS) instances, wherein each SPS instance represents one of the instances in the topology.