Synchronization Process for Streaming Packet Transmission

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Synchronization of input/output operations between individual processes or threads is challenging, particularly in scenarios like video streaming, where tight timing constraints require accurate synchronization without overloading the CPU with clock distribution and intensive polling.

Innovation Solution

A system that includes a processor with a synchronization process that manages a queue of packets for transmission, using a master queue and completion queue to coordinate packet transmission and send doorbells to transmission hardware, offloading synchronization efforts from individual processes and reducing CPU load by consolidating synchronization tasks into a single process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If individual processes or threads perform input/output independently, then each process can operate autonomously, but synchronization of their related input/output becomes challenging and requires intensive polling and clock distribution

Engineering Contradiction:
Improveprocess autonomyVSAvoidsynchronization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the synchronization function into a dedicated synchronization process that consolidates timing coordination for multiple processes. Instead of each process independently managing its own synchronization, a single synchronization process handles all timing coordination by accessing shared queues (dummy send queue, completion queue) and coordinating packet transmissions across processes, thereby reducing overall system complexity while maintaining process autonomy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The synchronization process acts as an intermediary between individual transmit processes and the transmission hardware. It receives packet information from various transmit processes, manages timing coordination through shared queues, and sends doorbells to transmission hardware to trigger actual packet transmission. This intermediary role eliminates the need for direct complex synchronization between processes and the hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If CPU performs intensive polling and clock distribution for synchronization, then timing accuracy is maintained, but CPU load increases significantly

Engineering Contradiction:
Improvetiming accuracyVSAvoidCPU load
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts the synchronization function from the CPU-intensive polling and clock distribution tasks. By implementing a dedicated synchronization process that uses event-driven mechanisms (doorbells triggered by completion queue entries), the system maintains timing accuracy while eliminating continuous CPU polling. The synchronization process only activates when needed, based on actual packet transmission events rather than continuous time-based polling.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The transmission hardware and completion queue mechanism provide self-service timing signals. When packets are transmitted or ready for transmission, the hardware automatically generates completion queue entries that trigger the synchronization process to send doorbells. This self-service mechanism eliminates the need for CPU to actively monitor and poll for transmission status, significantly reducing CPU load while maintaining accurate timing.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If multiple transmit processes manage their own packet queues independently, then each process has control over its data, but coordinating packet transmission timing becomes difficult

Engineering Contradiction:
Improveprocess controlVSAvoidtransmission timing coordination
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The patent segments the transmission coordination function into separate components: each transmit process maintains its own packet queue and control (preserving process autonomy), while a separate synchronization process handles timing coordination. The synchronization process accesses shared queues (dummy send queue, completion queue) to coordinate transmission timing across all processes. This segmentation allows each process to operate independently while achieving precise timing coordination through the synchronization process.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11277455B2Streaming system
Publication Date: 2022.03.15 MELLANOX TECHNOLOGIES LTD(IL)
  • US11277455B2 patent drawing
  • US11277455B2 patent drawing
  • US11277455B2 patent drawing

AI summary

A method including configuring a transmit process to store information including a queue of packets to be transmitted, the queue defining transmit process packets to be transmitted, each packet associated with a transmission time, and configuring a synchronization process to receive from the transmit process at least some of the information. The synchronization process performs one of: A) accessing a dummy send queue and a completion queue, and transmitting one or more of the transmit process packets in accordance with a completion queue entry in the completion queue, and B) sends a doorbell to transmission hardware at a time when at least one of the transmit process packets is to be transmitted, the synchronization process including a master queue configured to store transmission entries, each transmission entry including a transmit process indicator and an indication of transmit process packets to be transmitted. Related apparatus and methods are also described.