Batch Sparse Matrix Coding for Low-Complexity Multicast Transmission

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file transmission schemes over communication networks face challenges in achieving efficient, scalable, and low-complexity data distribution with minimal network delay and overhead, particularly when using linear network coding, as they require excessive computation and storage at intermediate nodes and are not optimized for multicast scenarios.

Innovation Solution

The method employs batch-based sparse matrix coding, where a data file is segmented into batches of coded packets generated using a generator matrix, allowing for efficient transmission and decoding with minimal buffer size and control messages, and utilizing belief propagation decoding to recover input packets with low encoding/decoding complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If linear network coding is used to improve network throughput and resilience to packet loss, then transmission reliability is improved, but encoding/decoding complexity and computation requirements at intermediate nodes increase significantly

Engineering Contradiction:
Improvetransmission reliabilityVSAvoidencoding/decoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The data file is divided into multiple chunks, where each chunk is encoded independently using linear network coding. This segmentation allows intermediate nodes to perform coding operations on smaller data units, reducing the size of transfer matrices and thereby lowering encoding/decoding complexity while maintaining transmission reliability through the distributed nature of the coding scheme

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the network are assigned different coding rates and chunk sizes based on local network conditions and requirements. Intermediate nodes with limited computational resources use smaller chunk sizes and simpler coding operations, while nodes with more resources can handle larger chunks, optimizing the balance between reliability and complexity locally across the network

Inventive Principle:
Principle #3Local quality

2Device complexity

If chunk-based network coding schemes are used to reduce encoding/decoding complexity, then device complexity is reduced, but transmission delay increases due to sequential chunk transmission

Engineering Contradiction:
Improveencoding/decoding complexityVSAvoidtransmission delay
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

Multiple chunks are transmitted in parallel rather than sequentially, allowing intermediate nodes and destination nodes to continuously receive and process coded packets from different chunks simultaneously. This eliminates idle waiting time between chunk transmissions and reduces overall transmission delay while maintaining manageable chunk sizes for low complexity encoding/decoding

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The source node pre-divides the data file into multiple chunks and prepares coding matrices for all chunks in advance. This preliminary segmentation and preparation enables destination nodes to immediately begin decoding operations as soon as sufficient packets are received, eliminating delays associated with sequential chunk processing and reducing total transmission time

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If intermediate nodes buffer all chunks for random or round-robin scheduling, then transmission flexibility is improved, but storage requirements at intermediate nodes increase significantly

Engineering Contradiction:
Improvetransmission flexibilityVSAvoidstorage requirements
Core Design Contradiction:
Adaptability or versatilityVSVolume of stationary object

Solution Approach 1:

The data transmission is segmented into multiple independent chunks that can be scheduled and transmitted separately. Intermediate nodes only need to buffer the current chunk being transmitted rather than all chunks simultaneously, dramatically reducing storage requirements while maintaining the flexibility to implement various scheduling algorithms like random or round-robin scheduling for load balancing and optimization

Inventive Principle:
Principle #1Segmentation

4Device complexity

If sequential chunk transmission is used to simplify scheduling, then device complexity is reduced, but network throughput decreases due to idle network periods

Engineering Contradiction:
Improvescheduling complexityVSAvoidnetwork throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Multiple chunks are transmitted in an overlapping manner where the source node continuously transmits coded packets from different chunks without idle periods. Destination nodes collect packets from multiple chunks simultaneously, ensuring continuous utilization of network bandwidth and maximizing throughput while maintaining relatively simple scheduling logic through the independent nature of chunk-based coding

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP2644004B1Subset coding for communication systems
Publication Date: 2018.09.19 THE CHINESE UNIVERSITY OF HONG KONG
  • EP2644004B1 patent drawingFigure 1
  • EP2644004B1 patent drawingFigure 2~4
  • EP2644004B1 patent drawingFigure 5~6

AI summary

A method for data encoding and associated decoding is based on the concept of batches that allows transmission of a large data file from a source node to multiple destination nodes through communication networks that may employ network coding wherein sparse matrix codes are employed in a network setting. A batch is a set of packets generated by a subset of the input packets using sparse matrix encoder. A sparse matrix encoder can be called repeatedly to generate multiple batches. The batches are generally independent of one another. During the transmission in a communication network, network coding can be applied to packets belonging to the same batch to improve the multicast throughput. A decoder recovers all or at least a fixed fraction of the input packets using received batches. The input packets can be pre-coded using a pre-code before applying sparse matrix codes. The data file can then be reconstructed by further decoding the pre-code.