Common Time-Indexed Jitter Buffer for VoIP Packet Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current VoIP systems face challenges with packet loss, latency, and jitter due to variations in packet transit time, which are exacerbated by the overhead of maintaining separate jitter buffers with their own clocks and data storage for each stream, leading to inefficiencies in packet handling.

Innovation Solution

Implementing a single jitter buffer with a common data store and timer across multiple streams, where packets are indexed and transmitted based on a determined common transmit time, reducing overhead and improving packet handling efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate jitter buffers with their own clocks and data storage are maintained for each stream, then packet handling reliability is improved, but device complexity increases

Engineering Contradiction:
Improvepacket handling reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple separate jitter buffers into a single shared jitter buffer that handles multiple packet streams. Instead of maintaining independent clocks and data storage for each stream, the invention uses one common clock and a shared data structure that can store packets from multiple streams, thereby reducing device complexity while maintaining packet handling reliability through the unified buffer management mechanism

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single jitter buffer is designed to serve multiple packet streams simultaneously, making it a universal component that performs the jitter compensation function for all streams. The buffer uses a common clock that can determine transmit times for packets from different streams, and the data storage is structured to accommodate packets from multiple sources, thus reducing overall system complexity while maintaining reliability

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

2Reliability

If separate jitter buffers are maintained for each stream, then packet loss is reduced, but overhead increases

Engineering Contradiction:
Improvepacket loss reductionVSAvoidoverhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent combines multiple separate jitter buffer implementations into a single shared buffer that processes packets from multiple streams. This merging eliminates the redundant overhead of maintaining separate clock instances, independent data structures, and duplicate buffer management logic for each stream, while still providing packet loss protection through the unified buffer mechanism

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single jitter buffer is designed to handle multiple packet streams with a common clock and shared data storage, making it a multi-functional component that reduces overhead by serving multiple streams simultaneously. The buffer management logic operates on a unified data structure rather than duplicating operations across multiple independent buffers, thereby reducing computational and memory overhead

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

Data Source

PatentUS12143300B2Packet buffering with a common time-indexed data store across packet streams
Publication Date: 2024.11.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12143300B2 patent drawing
  • US12143300B2 patent drawing
  • US12143300B2 patent drawing

AI summary

Receiving, by a network device at a receiving time, one or more packets, each packet being one of a plurality of ordered packets in one of a plurality of streams received at the network device. Determining, by the network device for each received packet, a transmit time based on one timer common to the plurality of streams. Indexing, by the network device in a data store common to the plurality of streams, each packet by the determined transmit time. Transmitting, by the network device at each particular time corresponding to a determined transmit time, all packets in the data store indexed to the particular time.