Clustered Data Routing Architecture for Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data stream processing systems face inefficiencies in maintaining data locality, leading to congestion and reduced throughput due to the need to split data streams across multiple processing hosts, which complicates reconciliation and increases processing overhead.

Innovation Solution

The system organizes data channels and processing hosts into clusters, using a cluster management service to route data streams to the same set of processing hosts within a cluster, and dynamically manages processing hosts and channels to maintain data locality and adjust capacity based on load and throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data streams are split across multiple processing hosts, then processing capacity is increased, but data locality is lost leading to congestion and reduced throughput

Engineering Contradiction:
Improveprocessing capacityVSAvoiddata locality maintenance
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The system segments processing hosts into multiple clusters, where each cluster is dedicated to processing specific data streams. This segmentation allows the system to maintain data locality within clusters while still providing distributed processing capacity across multiple clusters, resolving the contradiction between processing capacity and data locality maintenance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional organization by creating clusters as intermediate layers between individual processing hosts and data streams. This cluster dimension enables the system to simultaneously achieve fine-grained data locality (within clusters) and coarse-grained processing capacity (across clusters), effectively adding a organizational dimension that resolves the contradiction.

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

2Productivity

If data streams are routed to maintain data locality, then throughput is improved, but system complexity increases due to reconciliation requirements

Engineering Contradiction:
ImprovethroughputVSAvoidreconciliation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By segmenting the system into isolated clusters where each cluster processes specific data streams independently, the patent eliminates the need for complex cross-host reconciliation. Each cluster maintains its own data locality without requiring coordination with other clusters, thereby maintaining high throughput while reducing system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the reconciliation function entirely by organizing clusters as self-contained processing units. Each cluster independently handles its assigned data streams without requiring reconciliation with other clusters, effectively removing the reconciliation complexity while preserving throughput benefits of data locality.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If processing hosts are dynamically managed, then resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidmanagement complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cluster architecture segments the system into manageable units, where dynamic management operations (creation, deletion, scaling) are performed at the cluster level rather than individual host level. This segmentation simplifies dynamic resource management by providing clear boundaries and isolation between clusters, reducing management complexity while maintaining high resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource management through the ability to create, delete, and scale clusters based on workload demands. The clustered architecture enables flexible dynamic adjustments at the cluster level without requiring complex coordination between individual processing hosts, thereby improving resource utilization while keeping management complexity manageable.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10178021B1Clustered architecture design
Publication Date: 2019.01.08 AMAZON TECH INC
  • US10178021B1 patent drawing
  • US10178021B1 patent drawing
  • US10178021B1 patent drawing

AI summary

Systems and methods are provided for organizing data channels and processing hosts included in a system into clusters. A cluster management service may receive data from a steam of data and may route the data to a cluster associated with the data stream. A data channel routing service included in the cluster may route the data to the set of processing hosts included in the cluster through multiple data channels included in the cluster. In some instances, the data channel routing service may use any of the data channels to send data to the set of processing hosts. Because incoming data may be distributed among multiple data channels, the cluster may experience less congestion. Further, the system may also process the stream of data using the same processing hosts by routing the stream of data to the same cluster, thereby avoiding split processing of the data stream.