2.2.2.2 Vandermonde Matrix Algorithm

The Vandermonde matrix algorithm allows k data packets (referred to as source packets) to be encoded into n encoded packets. The source packets are encoded in such a way that the reception of any subset of k encoded packets at the client end would suffice to recover all the source packets. If more than nk encoded packets are lost, recovery of all the source packets is not possible.

The Vandermonde matrix algorithm generates the first k encoded packets to be identical to the k source packets. This simplifies the decoding of the encoded packets and the recovery of the source packets in cases in which little or no packet loss occurs on the network.

The Vandermonde matrix algorithm is also useful in cases in which more than nk encoded packets are lost. For such cases, the recovery of all the source packets is not possible; however, because first k encoded packets are the same as the k source packets, any of the first k-encoded packets received can be used by the receiver as the source packets.

The Vandermonde matrix algorithm uses the Reed-Solomon coding technique based on the Vandermonde matrix for encoding the data. The Reed-Solomon algorithm uses linear algebra principles for encoding and decoding the data. For more information on Reed-Solomon codes, see [R-SCODES].