Network Coding Protocols with Delay and Energy Constraints
Total Page:16
File Type:pdf, Size:1020Kb
Maricica Nistor Network Coding Protocols with Delay and Energy Constraints MAP-tele Doctoral Programme em Telecommunications Departamento de Engenharia Eletrot´ecnica e de Computadores Faculdade de Engenharia da Universidade do Porto May 2014 Maricica Nistor Network Coding Protocols with Delay and Energy Constraints Tese submetida `aFaculdade de Engenharia da Universidade do Porto para obten¸c˜ao do grau de Doutor em Telecomunica¸c˜oes Orientadores: Professor Doutor Jo˜ao Barros, Universidade do Porto, Portugal Professor Doutor Daniel E. Lucani, Aalborg University, Denmark May 2014 2 Acknowledgements I would like to thank my advisor, Professor Jo˜ao Barros, for his support, en- couragement, and guidance throughout my PhD. I would also like to thank my co-advisor, Professor Daniel E. Lucani, for his help and patience, and the way he really made my life more enjoyable during these last years. I thank my colleagues from IT Porto for the good moments we spent to- gether and all research collaborators I worked with during my PhD. A special thank goes to my family for the unconditional support, trust, and because they never stop to believe in me. I would also like to thank my friends for the encouragements, advises, and for being always close to me. Finally, I would like to thank Luis Monteiro, for his love, patience, and support. I dedicate this work to Luis Monteiro! This work was partially funded by the Funda¸c˜ao Calouste Gulbenkian un- der grant 103905 and by Funda¸c˜ao para a Ciˆencia e Tecnologia (Portuguese Foundation for Science and Technology) under grant SFRH-BD-61953-2009. 3 4 Abstract Network coding is a technique that proposes a different approach for the protocol design in data communication networks. Thus, the nodes in the network are allowed not only to store and forward data packets, but also to process and mix different packets in a single coded packet. By using this technique, the throughput and robustness of the network can be significantly improved. However, the transmission delay of network coding is still not well understood. In real-time communication systems with stringent delay con- straints, understanding the transmission delay distribution is at the core of implementing network coding in practical scenarios. Moreover, the benefits of network coding for broadcast scenarios have been proven, but the use of this technique in data gathering applications is limited. Unlike broadcast applications, where the main objective is to minimize the transmission delay, in data gathering applications the challenge is to reduce the data collection time, called the completion time. The inherent diversity and requirements of data gathering applications make this completion time minimization even more challenging and application-driven. Beyond transmission time consid- erations, network coding requires additional processing to generate the coded packets, which may influence the data transmission performance. In practical scenarios, where the power levels are fixed for different processes, e.g., trans- mission of data, generation of coded packets, the main challenge to improve the energy efficiency of the system is to decrease the transmission time. This implies careful attention in terms of energy efficiency of the overall system. Thus, the focus of the thesis is on the design of communication protocols based on network coding subject to performance metrics that include the data transmission time, the data collection time, and the energy consump- tion. Moreover, we consider different constraints, i.e., application constraints (e.g., deadline, network size, topology, length of the data messages), network constraints (e.g., data loss), design constraints (e.g., feedback type, limited number of data packets). We start by exploring the delay behaviour of network coding in broad- cast applications. Previous results are typically asymptotic in nature or focus 5 mainly on the average delay performance. Seeking to characterize the com- plete delay distribution of network coding, we present a methodology that is feasible for fixed number of receivers, limited field size and number of data messages (generation size). Our findings can be used to optimize network coding protocols with respect to not only to their average but also to their worst-case delay. Second, we deal with the data transmission performance for data gath- ering applications, where the broadcast properties of network coding can be again explored in more challenged networks. Here, we employ different spar- sity levels for the coded data messages and types of feedback, and analyse the benefits of network coding for two topologies, i.e., random and line net- works, using analytical and numerical results. The findings can be extended to large scale networks. We conclude that minimizing the completion time can be achieved for a wide variety of sparsity-feedback pairs given the oppor- tunity that network designers have to choose the setting that best matches their devices capabilities. We then focus on the hardware characteristics of battery-powered devices that are critical for the design of energy efficient communication protocols. Aiming at a systematic approach to choose protocols based on specific devices or to devise protocols that adapt to device characteristics, we first identify the hardware features of various devices and define a total energy consumption model of the network, which leads to a new hardware abstraction. Secondly, we illustrate the need of the hardware abstraction by evaluating the en- ergy cost of two communication protocols, one based on network coding and the other based on Automatic Repeat reQuest and Time Division Multiple Access. The findings show that (a) the energy cost for a protocol varies sig- nificantly on different device platforms and (b) the protocols can be adapted to the underlying hardware for a maximum energy efficiency. Our results are supported with real-life measurements using sensor motes, i.e., TelosB. With this in mind, we use the new hardware abstraction to provide mech- anisms to optimize a communication protocol in terms of energy consump- tion. For this, we consider different levels of feedback to acknowledge the successful transmission of the data. Thus, we provide the potential of our contributions by illustrating how to (1) optimize the protocol to match the hardware and (2) optimize the protocol and the hardware jointly. The results show that the correct level of feedback is highly dependent on the platform of the device. We cross-validate the results with real-life implementations. 6 Resumo A codifica¸c˜ao de rede (network coding) ´euma t´ecnica que prop˜oe uma abor- dagem differente para a concep¸c˜ao de protocol em redes de comunica¸c˜ao de dados. Os n´os na rede s˜ao permitidos n˜ao apenas para armazenar e trans- mitir pacotes de dados, mas tamb´em para processar e misturar diferentes pacotes num ´unico pacote codificado. Ao utilizar esta t´ecnica, o rendimento e a robustez da rede podem ser significativamente melhorados. No entanto, o atraso das transmiss˜oes (transmission delay) da codifica¸c˜ao de rede ainda n˜ao ´ecompletamente compreendido. Em sistemas de comunica¸c˜ao em tempo real com restri¸c˜oes r´ıgidas relativas ao atraso da informa¸c˜ao, a compreens˜ao da distribui¸c˜ao deste atraso ´emuito importante para a implementa¸c˜ao de cod- ifica¸c˜ao de rede em cen´arios pr´aticos. Os benef´ıcios da codifica¸c˜ao de rede em ambientes de transmiss˜ao em broadcast tˆem sido constantemente prova- dos, por´em, o uso desta t´ecnica em aplica¸c˜oes de recolha massiva de dados ´edesconhecida. Ao contrario das aplica¸c˜oes de broadcast onde o principal objectivo ´eminimizar o atraso das transmiss˜oes, nas aplica¸c˜oes de recolha de dados o grande desafio ´eminimizar o tempo de coleta destes (comple- tion time). A diversidade e os requisitos inerentes `as aplica¸c˜oes de coleta de dados tornam esta minimiza¸c˜ao do tempo de coleta ainda mais desafiante e orientada `as aplica¸c˜oes. Para al´em das considera¸c˜oes do tempo de trans- miss˜ao, a codifica¸c˜ao de rede requer processamento adicional para realizar as combina¸c˜oes dos pacotes de dados. Em cen´arios pr´aticos, onde os n´ıveis de potˆencia s˜ao fixos para os diferentes processos, e.g., a transmiss˜ao de dados, gera¸c˜ao de pacotes codificados, o principal desafio para melhorar a eficiˆencia energ´etica do sistema ´ediminuir o tempo de transmiss˜ao. Isto implica uma aten¸c˜ao especial em termos de eficiˆencia energ´etica do sistema global. Assim, o foco da tese est´ana concep¸c˜ao de protocolos de comunica¸c˜ao baseados em codifica¸c˜ao de rede, considerando como m´etricas de desempenho destes o tempo de transmiss˜ao, o tempo da coleta de dados e o consumo de energia. Al´em disso, tomamos em conta diferentes condicionalismos, como s˜ao os requisitos aplicacionais (e.g., o prazo de entrega, o tamanho da rede, a topologia, o comprimento das mensagens de dados), as limita¸c˜oes da rede 7 (e.g., perda de dados) e as condi¸c˜oes impostas pelo projeto (e.g., o tipo de feedback, o n´umero limitado dos pacotes de dados). Em primeiro lugar, exploramos o comportamento de atraso de codifica¸c˜ao de rede em aplica¸c˜oes de broadcast. Os resultados anteriores s˜ao tipicamente assint´oticos e concentram-se principalmente no desempenho m´edio de atraso. Para determinar uma completa caracteriza¸c˜ao da distribui¸c˜ao de atraso para a codifica¸c˜ao de rede, ´eapresentada uma metodologia que ´evalida para um determinado n´umero de receptores, tamanho de campo e n´umero de mensagens de dados (tamanho da gera¸c˜ao). Os nossos resultados podem ser usados para optimizar os protocolos de codifica¸c˜ao de rede n˜ao s´oem rela¸c˜ao ao desempenho medio, mas tamb´em em fun¸c˜ao do comportamento no pior caso.