Stream Management Service for Secure Data Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and orchestrating large, dynamically fluctuating streams of data across distributed systems is challenging due to workload imbalances, connectivity losses, and hardware failures, particularly in ensuring secure, scalable, and controlled distribution of high-velocity data to geographically dispersed consumers.

Innovation Solution

A stream management service (SMS) is implemented to manage streaming data in read-only mode through access policies, creating syndicated streams that allow multiple consumers to access data records while optimizing read operations by replicating data and creating indexes, ensuring desired quality of service levels and durability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If more resources are added to handle large streams of data, then data processing capacity is improved, but workload imbalance between different parts of the system worsens

Engineering Contradiction:
Improvedata processing capacityVSAvoidworkload balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system segments the data stream processing workload by creating multiple consumer groups, where each group is assigned to specific partition(s) of the data stream. This segmentation allows parallel processing while maintaining balanced workload distribution across resource nodes, as each node handles a defined subset of the total data flow.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic resource allocation where consumer groups can be dynamically assigned to different partitions based on current workload conditions. This allows the system to adapt to changing data flow patterns and maintain workload balance as resources are added or removed, preventing static imbalance issues.

Inventive Principle:
Principle #15Dynamics

2Productivity

If distributed systems grow in size to handle more data, then data processing capability is improved, but system reliability worsens due to increased frequency of connectivity losses and hardware failures

Engineering Contradiction:
Improvedata processing capabilityVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system creates replicated copies of data across multiple nodes in the distributed system. Each partition of the data stream can be replicated to multiple consumer groups, ensuring that if one node fails or experiences connectivity loss, other nodes with copies of the data can continue processing without interruption, thereby maintaining system reliability as the system scales.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system implements fault tolerance mechanisms in advance by configuring multiple consumer groups and defining replay policies before failures occur. When hardware failures or connectivity losses occur, the system can automatically replay data from durable storage to alternative consumer groups, cushioning against the impact of failures and maintaining continuous processing capability.

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

3Ease of operation

If data is distributed to geographically dispersed consumers, then data accessibility is improved, but security control and distribution management become more complex

Engineering Contradiction:
Improvedata accessibilityVSAvoiddistribution management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system implements a universal stream management service that handles multiple functions centrally: data distribution, access policy enforcement, consumer group management, and security control. This multi-functional approach allows geographically dispersed consumers to access data through a standardized interface while the central service manages the complexity of distribution and security, simplifying the user experience despite the underlying complexity.

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

Solution Approach 2:

The stream management service acts as an intermediary between data producers and geographically dispersed consumers. It manages the distribution of data partitions to consumer groups, enforces access policies, and handles security controls centrally, thereby enabling wide geographical accessibility while containing the management complexity within the intermediary service rather than distributing it across all nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If read operations are optimized by replicating data and creating indexes, then query performance is improved, but storage resource consumption increases

Engineering Contradiction:
Improvequery performanceVSAvoidstorage resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system applies local quality optimization by creating indexes and replicas selectively based on access patterns. Frequently accessed partitions or data segments receive replication and indexing resources, while less-accessed data maintains minimal storage overhead. This localized optimization improves query performance for critical operations without proportionally increasing overall storage consumption across the entire distributed system.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11811839B2Managed distribution of data stream contents
Publication Date: 2023.11.07 AMAZON TECH INC
  • US11811839B2 patent drawing
  • US11811839B2 patent drawing
  • US11811839B2 patent drawing

AI summary

Configuration information indicating that one or more stream consumers are granted read-only access to contents of a shared-access data stream is stored at a stream management service. A virtual stream associated with the shared-access stream may be established. In response to a read request directed to the virtual stream, contents of a particular record of the shared-access data stream are provided.