Abstract:
In an embodiment, information contents, such as, e.g., media contents arranged in pieces including blocks of bits, is distributed over a network including plural terminals at least one of which acts as a source of the pieces of information distributed. Various terminals in the network are configured to act as peer terminals with at least one first peer terminal sending the information to one or more second peer terminals. A set of blocks of a corresponding piece of information is received at the first peer terminal and the corresponding piece of information is reconstructed from the set of blocks received. The pieces of information distributed over the network are fountain encoded by XOR-ing the blocks in a piece, so that a received piece is reconstructable from a combination of a corresponding set of linearly independent XOR-ed blocks. The first peer terminal may start sending to the second peer terminal(s) blocks it is receiving before the corresponding piece of information is reconstructed and possibly subjected to integrity check at the first terminal. Fountain encoding the pieces of information is by means of plural sets of linearly independent XOR-ed blocks. A same piece of information is distributed to a plurality of peer terminals by sending thereto different sets of linearly independent XOR-ed blocks, thus avoiding undue redundancy in the information further propagated to other peers.