Dynamic Partitioning for Data Stream Workload Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The management and orchestration of large, dynamically fluctuating streams of data pose challenges due to workload imbalances, resource underutilization, and security concerns in distributed systems, particularly in handling hundreds or thousands of concurrent data producers and consumers.

Innovation Solution

A stream management system (SMS) and stream processing service (SPS) are implemented with programmatic interfaces, dynamic resource provisioning, automated failovers, and advanced workflow management to distribute workload, ensure data integrity, and provide scalable and secure data processing across multiple tenants in a virtualization environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If more resources are added to handle large streams of data, then the system capacity increases, but workload imbalances and resource underutilization occur

Engineering Contradiction:
Improvesystem capacityVSAvoidworkload balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements dynamic resource allocation and workload distribution mechanisms that automatically adjust resource assignment based on real-time stream characteristics and system state. This allows the system to adaptively balance workloads across resources, preventing both overload and underutilization while maintaining high capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system monitors and adjusts key parameters such as partition counts, replica factors, and resource assignments based on stream properties and system performance. By dynamically changing these parameters, the system optimizes workload distribution and resource utilization without manual intervention.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If data is stored at external facilities for security, then client control is reduced, but security concerns increase

Engineering Contradiction:
Improvedata securityVSAvoidclient control
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements fine-grained access control and encryption mechanisms that segment security policies by data sensitivity, client requirements, and operational context. This allows clients to maintain control over their data through policy definitions while enabling secure storage at external facilities with appropriate protection measures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces security intermediaries including encryption services, access control policies, and compliance mechanisms that mediate between client control requirements and external storage security needs. These intermediaries enable secure data handling while preserving client authority over data access and usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If distributed systems grow in size, then processing capacity increases, but failure frequency increases

Engineering Contradiction:
Improveprocessing capacityVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements proactive failure prevention mechanisms including health monitoring, predictive analytics, and preventive maintenance scheduling. By detecting potential failures before they occur and taking corrective actions, the system maintains high reliability even as distributed systems scale to handle increased processing capacity.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The system implements automated failure recovery mechanisms that detect failures, isolate affected components, and restore service through failover to backup resources. This enables the system to maintain processing capacity while handling failures that naturally occur in growing distributed systems.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10691716B2Dynamic partitioning techniques for data streams
Publication Date: 2020.06.23 AMAZON TECH INC
  • US10691716B2 patent drawing
  • US10691716B2 patent drawing
  • US10691716B2 patent drawing

AI summary

A partitioning policy, comprising an indication of an initial mapping of data records of a stream to a plurality of partitions, is selected to distribute data records of a data stream among a plurality of nodes of a stream management service. Data ingestion nodes and storage nodes are configured according to the initial mapping. In response to a determination that a triggering criterion for dynamically repartitioning the data stream has been met, a modified mapping is generated, and a different set of ingestion and storage nodes are configured. For at least some time during which arriving data records are stored in accordance with the modified mapping, data records stored at the first set of storage nodes in accordance with the initial mapping are retained.