Implementation of Network Coding on Smartphones

We are interested in practical applications of network coding. We are currently working on a MicroCast: a prototype of network coding on android phones for a cooperative video streaming application. To the best of our knowledge, our implementation is the first to exploit overhearing on androids.

Cross-Layer Optimization of Coded Wireless Networks

In this project, we consider flows transmitted over a network that implements network coding. We are interested in the interaction between e2e congestion control and network coding in the middle. For example, should the e2e protocols be aware of network coding in the middle? What is the optimal network coding-aware rate control? How much benefit does it bring? How should existing transport protocols (TCP or TFRC) be modified in the presnce of network coding?

Network Coding for Video Streaming

Network coding is content-unaware: it mixes packets so as to increase throughput. However, when the coded flows are video streams, the content of packets matters: packets within the same video stream have unequal importance, due to the video content, coding dependencies and playout deadlines. In this project, we design opportunistic network coding schemes particularly for video streaming, which take into account both considerations (i.e., the decodability of network codes by several receivers and the importance and deadlines of video packets).

Network Coding and Security

Network Coding is particularly vulnerable to Byzantine modification (a.k.a. pollution) attacks: malicious nodes can inject bogus packets, which get combined with legitimate blocks at downstream nodes, thus preventing decoding of original packets and degrading the overall performance. Various informational theoretical and cryptographic approaches have been proposed to deal with various aspects of the problem, such as, detection and correction of corrupted packets and location of the attackers. In this work, we are interested in both the timely detection of the attack as well as identifying the location of attackers, which allows to eliminate them from the system and stop the attack at this root.

A Network Coding Approach to Tomography

Network Tomography is a family of monitoring techniques, which aim at inferring internal network characteristics by sending and collecting probe packets from the edge of the network. Prior work on network tomography considered networks that implement multicast and unicast forwarding. In this work, we consider networks where internal nodes implement network coding and we re-visit two classic network tomography problems: (i) link loss inference and (ii) topology inference. We develop new techniques that make use of the network coding capabilities and we show that they can improve several aspects of interest (including identifiability of links, accuracy of estimation, and complexity of probe path selection) over traditional techniques. If network coding is already deployed in a network, then one can exploit this opportunity to also improve other operations, such as network monitoring.