Raptorq-Based Multihop File Broadcast Protocol

Abstract

The objective of this thesis is to describe and implement a RaptorQ broadcast protocol application layer designed for use in a wireless multihop network. The RaptorQ broadcast protocol is a novel application layer broadcast protocol based on RaptorQ forward error correction. This protocol can deliver a file reliably to a large number of nodes in a wireless multihop network even if the links have high loss rates. We use mixed integer programming with power balance constraints to construct broadcast trees that are suitable for implementing the RaptorQ-based broadcast protocol. The resulting broadcast tree facilitates deployment of mechanisms for verifying successful delivery. We use the Qualcomm proprietary RaptorQ software development kit library as well as a Ruby interface to implement the protocol. During execution, each node operates in one of main modes: source, transmitter, or leaf. Each mode has five different phases: STARTUP, FINISHING (Poll), FINISHING (Wait), FINISHING (Extra), and COMPLETED. Three threads are utilized to implement the RaptorQ-based broadcast protocol features. Thread 1 receives messages and passes them to the receive buffer. Thread 2 evaluates the received message, which can be NORM, POLL, MORE, and DONE, and passes the response message to the send buffer. Thread 3 multicasts the content of the send buffer. Results obtained by testing the implementation of the RaptorQ-based broadcast protocol demonstrate that efficient and reliable distribution of files over multihop wireless networks with a high link loss rates is feasible

    Similar works