Fountain-Network Relay Coding for Loss-Tolerant Data Spreading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network coding methods face challenges in achieving high data throughput and low transmission delay, especially in uncoordinated transmission scenarios, and are not efficient in handling packet loss over multihop wireless networks.

Innovation Solution

The joint Fountain coding and Network coding (FUN) approach, where each source node uses a fountain code to encode information packets, and intermediate nodes perform intra-session and cross-next-hop network coding to re-code packets, allowing the sink node to decode and reconstruct native packets with a sufficient number of coded packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fountain coding is used for reliable multicast communication, then packet loss recovery capability is improved, but data throughput is reduced

Engineering Contradiction:
Improvepacket loss recovery capabilityVSAvoiddata throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines fountain coding and network coding into a unified FUN coding scheme. Fountain coding provides the outer code layer for reliable packet recovery, while network coding provides the inner code layer for efficient data transmission. This merging allows the system to achieve both high reliability through fountain coding's erasure correction capability and high throughput through network coding's parallel transmission efficiency, resolving the contradiction between the two performance metrics.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If retransmission (ARQ) is used for packet loss recovery, then reliability is improved, but transmission delay increases

Engineering Contradiction:
Improvepacket loss recoveryVSAvoidtransmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The FUN coding scheme performs preliminary error correction encoding at the source node before transmission. By pre-encoding packets with fountain coding and network coding, the system prepares redundant information in advance, allowing receivers to immediately recover from packet loss without waiting for retransmission. This eliminates the feedback and retransmission delay inherent in ARQ protocols.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If forward error correction (FEC) is used, then transmission delay is reduced, but adaptability to varying channel conditions deteriorates

Engineering Contradiction:
Improvetransmission delayVSAvoidadaptability to channel conditions
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The fountain coding component of FUN coding provides dynamic adaptability to varying channel conditions. Unlike fixed-rate FEC codes, fountain codes can generate an unlimited number of coded packets with different rates, allowing the system to adapt to changing network conditions without retransmission. The receiver can recover data from any sufficient subset of transmitted packets, making the system dynamically adaptable to lossy channels while maintaining low delay.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10116418B2Joint fountain coding and network coding for loss-tolerant information spreading
Publication Date: 2018.10.30 UNIV OF FLORIDA RESEARCH FOUNDATION INC
  • US10116418B2 patent drawing
  • US10116418B2 patent drawing
  • US10116418B2 patent drawing

AI summary

A network system for increasing data throughput and decreasing transmission delay from a source node to a sink node via a relay node. The network system may comprise a source node configured to encode a plurality of data packets using rateless coding and transmit the plurality of data packets; at least one relay node configured to receive at least one of the plurality of data packets from the source node, and if the at least one relay node has received a sufficient quantity of the plurality of data packets, regenerate, re-encode, and relay the plurality of data packets; and a sink node configured to receive one or more of the plurality of data packets from the at least one relay node, and if the sink node has received the sufficient quantity of the plurality of data packets, regenerate and decode the plurality of data packets.