Shared Kernel Sliding Window Buffer for Concurrent Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current content delivery systems face challenges in efficiently streaming content to multiple devices due to high system memory and processing power requirements, leading to network bottlenecks and poor user experience.

Innovation Solution

Implementing a shared sliding window buffer in kernel space allows for concurrent streaming to multiple devices, reducing the need for multiple buffers and minimizing context/mode switching, thereby optimizing system performance and stream quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TCP-based protocols are used to deliver content streams concurrently to multiple devices, then reliable data transmission is achieved, but system memory usage and processing power requirements increase significantly

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidsystem memory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple separate sliding window buffers into a single shared buffer in kernel space that serves multiple TCP connections simultaneously. This consolidation eliminates redundant buffer allocations while maintaining the reliability of individual connection management, directly reducing memory usage without compromising data transmission reliability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared sliding window buffer is designed to serve multiple functions: it handles data transmission for multiple TCP connections, manages sliding window protocols for different clients, and coordinates with user-space applications all through a single buffer structure. This multi-functionality reduces the total memory required compared to having dedicated buffers for each connection

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

2Ease of operation

If separate sliding window buffers are allocated for each TCP connection, then connection management is simplified, but the number of buffers and memory consumption increase

Engineering Contradiction:
Improveconnection managementVSAvoidnumber of buffers
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

Multiple connection-specific buffer management functions are merged into a single shared buffer structure in kernel space. The buffer maintains internal organization to handle different TCP connections while presenting a unified management interface, reducing the total number of buffer objects from N (one per connection) to 1 (shared buffer)

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared sliding window buffer acts as an intermediary between user-space applications and the network stack. It mediates data flow for multiple TCP connections, translating individual connection requirements into unified buffer management operations, thereby simplifying the overall system architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If user mode and kernel mode switching is performed for each socket operation, then memory protection and system stability are maintained, but processing overhead increases

Engineering Contradiction:
Improvesystem stabilityVSAvoidmode switching overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The sliding window buffer and its management structures are pre-established in kernel space before socket operations begin. Data structures, buffer pointers, and connection state information are prepared in advance in the kernel, eliminating the need for repeated mode switching during actual data transmission operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Multiple socket operations that would traditionally require separate mode switches are merged into unified kernel-space operations. The shared buffer allows multiple connections to be managed through single kernel-space functions, reducing the frequency of user-mode to kernel-mode transitions while maintaining system stability

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12316461B2Optimized kernel for concurrent streaming sessions
Publication Date: 2025.05.27 ADEIA GUIDES INC
  • US12316461B2 patent drawing
  • US12316461B2 patent drawing
  • US12316461B2 patent drawing

AI summary

Systems and methods are described for streaming content to multiple devices from a shared sliding window buffer in kernel space, thereby reducing memory resource use and minimizing context/mode switching between kernel space and user space. For example, concurrent streaming sessions may be seen, e.g., as a live multimedia stream. If a live video is being transmitted as a multicast stream to many devices, rather than each device having a corresponding sliding window buffer in kernel space, each device will share a shared sliding buffer in kernel space. The sliding window buffer size will be at least large enough to stream the slowest connection speed and can be, e.g., multiple times as large as necessary, in case of the issues beyond the worst-case scenario. The system then transmits chunks of the content from the shared sliding window buffer to each of the plurality of client devices.