Dynamic Channel Allocation for Streaming Event Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face challenges in managing high loads and ensuring high availability for log collection in multi-tenant environments, particularly when handling large amounts of streaming event data, as load metrics can fluctuate significantly, leading to potential bottlenecks and reduced performance.

Innovation Solution

A distributed computing system with a log collection engine that includes a decision engine and a load balancer to dynamically allocate new channels and redirect data when load metrics exceed thresholds, ensuring efficient distribution of streaming event data and freeing up resources by deallocating overloaded channels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single channel is used for log collection, then the device complexity is low, but the system cannot handle high loads and experiences performance bottlenecks

Engineering Contradiction:
Improvelog collection capacityVSAvoidchannel management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the log collection capacity into multiple channels, where each channel independently handles a portion of the feed data. This segmentation enables the system to scale horizontally by adding more channels to handle increased load, directly resolving the contradiction between collection capacity and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic channel allocation where channels are created, activated, or deactivated based on real-time load metrics. The load balancer dynamically adjusts the number and distribution of channels handling feed data, allowing the system to adapt to varying loads without manual intervention.

Inventive Principle:
Principle #15Dynamics

2Reliability

If multiple channels are allocated for high load handling, then the system can handle fluctuating loads, but the device complexity increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidchannel allocation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The load balancer continuously monitors load metrics from multiple channels and uses this feedback to make real-time decisions about data distribution. When a channel's load exceeds thresholds, the system automatically redistributes feed data to healthier channels, maintaining reliability without requiring complex manual management.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system implements self-service load balancing where the load balancer autonomously monitors channel health metrics and automatically redistributes feed data based on observed conditions. This eliminates the need for external intervention or complex manual channel management while maintaining high availability.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If feed data is continuously routed to the same channel, then the routing logic is simple, but the system cannot adapt to load fluctuations

Engineering Contradiction:
Improveload adaptation capabilityVSAvoidrouting logic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The routing logic transitions from static to dynamic, where the load balancer continuously adjusts feed data distribution based on real-time channel load metrics. Channels are dynamically selected or deactivated based on their current health status, enabling the system to adapt to load fluctuations automatically.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes routing parameters based on load metrics, specifically adjusting which channels receive feed data based on their current load state. When load metrics exceed thresholds, the system changes the routing parameters to redirect data to alternative channels, maintaining adaptability without requiring complex manual reconfiguration.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If channels are not deallocated when overloaded, then the system maintains stable channel configuration, but computing resources are wasted

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidchannel lifecycle management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements a lifecycle management mechanism where channels are discarded (deallocated) when they become chronically overloaded or unhealthy, and their computing resources are recovered for reuse. The load balancer monitors channel performance and automatically removes underperforming channels from the active set, improving resource utilization efficiency.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS9870272B2Collecting streaming event data from applications deployed in a distributed computing environment
Publication Date: 2018.01.16 VMWARE INC
  • US9870272B2 patent drawing
  • US9870272B2 patent drawing
  • US9870272B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for distributed data management. One of the methods includes receiving a plurality of feeds of streaming event data and routing feed data from each of the feeds to a respective channel of a plurality of channels, each of the channels being configured to store feed data until the feed data is consumed by a data sink, including routing feed data from a first feed to a first channel. A load metric for the first channel is determined to exceed a threshold. In response, a second channel is allocated for the first feed and feed data is redirected from the first feed to the second channel instead of the first channel.