Centralized and distributed address correlated network coding protocols. (Optimisation et application du codage réseau dans l'architecture des futurs réseaux sans fils)

Network coding (NC) is a new technique in which transmitted data is encoded and decoded by the nodes of the network in order to enhance throughput and reduce delays. Using algebraic algorithms, encoding at nodes accumulates various packets in one message and decoding restores these packets. NC requires fewer transmissions to transmit all the data but more processing at the nodes. NC can be applied at any of the ISO layers. However, the focus is mainly on the network layer level. In this work, we introduce novelties to the NC paradigm with the intent of building easy to implement NC protocols in order to improve bandwidth usage, enhance QoS and reduce the impact of losing packets in lossy networks. Several challenges are raised by this thesis concerning details in the coding and decoding processes and all the related mechanisms used to deliver packets between end nodes. Notably, questions like the life cycle of packets in coding environment, cardinality of coded messages, number of bytes overhead transmissions and buffering time duration are inspected, analytically counted, supported by many theorems and then verified through simulations. By studying the packet loss problem, new theorems describing the behavior of the network in that case have been proposed and novel mechanisms to overcome this loss have been provided. In the first part of the thesis, an overview of NC is conducted since triggered by the work of Alshwede et al. NC techniques are then detailed with the focus on linear and binary NC. These techniques are elaborated and embellished with examples extracted from different scenarios to further help understanding the advantages and disadvantages of each of these techniques. In the second part, a new address correlated NC (ACNC) protocol is presented and two approaches using ACNC protocol are introduced, the centralized approach where decoding is conducted at end nodes and the distributed decoding approach where each node in the network participates in the decoding process. Centralized decoding is elaborated by first presenting its decision models and the detailed decoding procedure at end nodes. Moreover, the cardinality of received coded messages and the buffering requirements at end nodes are investigated and the concepts of aging and maturity are introduced. The distributed decoding approach is presented as a solution to reduce the overhead on end nodes by distributing the decoding process and buffering requirements to intermediate nodes. Loss and recovery in NC are examined for both centralized and distributed approaches. For the centralized decoding approach, two mechanisms to limit the impact of loss are presented. To this effect, the concept of closures and covering sets are introduced and the covering set discovery is conducted on undecodable messages to find the optimized set of packets to request from the sender in order to decode all received packets. For the distributed decoding, a new hop-to-hop reliability mechanism is proposed that takes advantage of the NC itself and depicts loss without the need of an acknowledgement mechanism.