Feedback-Based Online Network Coding for Throughput and Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication systems over packet erasure channels face challenges in achieving optimal throughput and minimizing decoding delay and queue size, especially in network settings where traditional fountain codes and random linear network coding are not composable across links and result in decoding delays due to block-based encoding.

Innovation Solution

A feedback-based online network coding algorithm that uses the concept of 'seen' packets to manage queues dynamically, allowing for the transmission of linear combinations and dropping of packets when all receivers have acknowledged them, ensuring that the physical queue size tracks the virtual queue size and reduces decoding delay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If block-based random linear coding is used, then throughput is improved, but decoding delay increases

Engineering Contradiction:
ImprovethroughputVSAvoiddecoding delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the block-based coding approach into finer granularities by enabling receivers to decode and acknowledge individual packets or smaller subsets within a block. This allows the sender to transmit subsequent packets sooner, reducing the effective decoding delay while maintaining the throughput benefits of block-based coding.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary decoding at receiver nodes, allowing them to decode packets before the entire block is received. By enabling early decoding and acknowledgment of individual packets or subsets, the system reduces the waiting time for subsequent transmissions without sacrificing overall throughput.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If fountain codes are used, then decoding complexity is reduced, but composability across links is lost

Engineering Contradiction:
Improvedecoding complexityVSAvoidcomposability across links
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic adaptability by allowing intermediate nodes to perform both fountain code decoding and network coding operations based on their specific needs and capabilities. This dynamic approach enables composability across links while maintaining the low complexity benefits of fountain codes where applicable.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal coding framework that can operate in multiple modes: pure fountain coding for simplicity, network coding for composability, or hybrid approaches. This multi-functionality allows the system to adapt to different network conditions and requirements while maintaining low decoding complexity.

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

3Adaptability or versatility

If random linear network coding is used, then composability across links is achieved, but decoding delay increases due to block-based encoding

Engineering Contradiction:
Improvecomposability across linksVSAvoiddecoding delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the network coding blocks into smaller units that can be decoded and acknowledged independently. This segmentation allows intermediate nodes to perform network coding operations on smaller subsets, reducing the block size and thereby reducing decoding delay while maintaining composability across links.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms where receivers acknowledge decoded packets or subsets to the sender and intermediate nodes. This feedback enables dynamic adjustment of coding operations, allowing the system to reduce block sizes and decoding delays while maintaining composability through continuous adaptation based on receiver needs.

Inventive Principle:
Principle #23Feedback

4Stability of the object's composition

If pre-coding stage is used to decode messages in order, then message ordering is guaranteed, but throughput is reduced

Engineering Contradiction:
Improvemessage orderingVSAvoidthroughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent performs preliminary decoding of individual packets or small subsets at receiver nodes before the entire block is received. This preliminary action allows receivers to process and acknowledge messages in order on a finer granularity, reducing the need for extensive pre-coding stages and thereby improving throughput while maintaining ordering guarantees.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the message stream into smaller decodable units that can be processed in order independently. This segmentation reduces the burden on pre-coding stages by allowing incremental decoding and acknowledgment, thereby improving throughput while maintaining message ordering through controlled segmentation rather than full-block pre-coding.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8068426B2Feedback-based online network coding
Publication Date: 2011.11.29 MASSACHUSETTS INST OF TECH
  • US8068426B2 patent drawing
  • US8068426B2 patent drawing
  • US8068426B2 patent drawing

AI summary

A method, apparatus and computer program product for feedback-based online network coding is presented. In one embodiment, a transmitting node determines a linear combination of packets to transmit from a transmit queue. The transmitting node transmits the linear combination of packets. The transmitting node determines whether a packet can be removed from the transmit queue, wherein when a determination is made that a packet can be removed from the transmit queue then removing the packet from the transmit queue, and when a determination is made that a packet cannot be removed from the transmit queue then refraining from removing the packet from the transmit queue.