Channel Aggregation Hierarchy for Data Replay Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems face challenges in efficiently retrieving and replaying data from massive volumes of IoT devices and web applications, leading to high computational complexity and latency, particularly due to high-throughput clients dominating traffic and the need for costly de-multiplexing for each client, which prevents scalability.
Innovation Solution
A method is introduced that accelerates replay access through a channel aggregation hierarchy, multiplexing events from 100 input buffers into a physically aggregated stream, caching events in memory, and maintaining a cache structure that corresponds to the multiplexing network topology and current subscribers, allowing efficient delivery of events to clients with durable data streams.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If events are demultiplexed for each client individually, then data delivery to clients is achieved, but computational complexity and latency increase significantly
Solution Approach 1:
The system performs demultiplexing in advance during event ingestion, creating pre-sorted event streams for each channel before client requests arrive. This preliminary action eliminates the need for real-time demultiplexing for each client request, significantly reducing computational complexity and latency while maintaining accurate data delivery.
Solution Approach 2:
Instead of physically separating events for each client request, the system creates logical copies or references to pre-demultiplexed event streams. Clients subscribe to channel views that reference the same underlying pre-sorted event data, eliminating redundant demultiplexing operations while preserving data delivery accuracy.
2Productivity
If high-throughput clients dominate traffic, then data processing speed increases, but system scalability with respect to number of clients deteriorates
Solution Approach 1:
The system segments the event processing workload by channel, maintaining separate pre-demultiplexed event streams for each channel regardless of client count. This segmentation allows the system to scale with the number of clients without increasing per-client processing overhead, as each client simply subscribes to their designated channel view.
Solution Approach 2:
The pre-demultiplexed channel views serve multiple clients simultaneously, making the system universal. A single pre-sorted event stream for a channel can be shared by any number of clients subscribed to that channel, enabling linear scalability with respect to client count while maintaining high processing throughput.
3Loss of time
If a cache structure representing channel aggregation hierarchy is maintained, then replay access latency is reduced, but memory requirements and cache management complexity increase
Solution Approach 1:
The cache structure implements a nested hierarchy where channel cache lists are organized within the aggregation hierarchy. Cache lists for child channels are nested within parent channel structures, allowing efficient traversal and access. This nesting mirrors the event stream hierarchy, enabling fast replay access by navigating only the necessary cache levels without managing entire cache structures.
Solution Approach 2:
The cache management system applies different strategies to different levels of the hierarchy based on local characteristics. Child channels with higher event rates maintain larger cache lists, while parent channels with lower rates use smaller lists. This local quality approach optimizes replay performance for each channel level without uniformly increasing memory requirements across the entire system.
Data Source
AI summary
The technology disclosed relates to accelerating replay access to numerous streams via a channel aggregation hierarchy, muxing events from input buffers that receive event streams, into a physically aggregated stream in memory. A subscriber accesses events from the streams via the channel hierarchy; demuxing the physical aggregated stream and caching the events from the physical aggregated stream into event cache memory; caching references to selected events, which belong to active channels that have subscribers, in a caching structure including channel cache lists of the references, the caching structure including stream level channel cache lists, intermediate level channel cache lists, and, if the physical aggregate channel has subscribers, a physical aggregate channel cache list; and receiving a replay access request that specifies a channel and that specifies a starting point for the replay, and responsively delivering events from the event cache memory using a cache list corresponding to the specified channel.


