Raj's Ongoing Projects


Fault Detection and Identification in Routing Protocols

In any setting that involves a network, many important computations are carried out in a distributed fashion. Examples are routing-algorithms, parameter-estimation algorithms and distributed computations. These distributed algorithms assume cooperating, error-free behavior among the nodes; i.e. each node involved in the computation carries out its tasks faithfully. This assumption is valid when the nodes are homogeneous, are present in a benign environment, and under central control. However if the environment is hostile allowing nodes to be compromised, or if nodes are heterogeneous allowing for different interpretation and implementation of the algorithm or if there is no central control that can verify and ensure the validity of each node's execution of the distributed algorithm, the computation may fail. Whether a distributed computation will fail, the conditions under which it will fail, and the extent to which it will fail are important questions, answers to which will help us determine the robustness of the distributed computation. Until now research and analysis of distributed algorithms has focused on the convergence properties of distributed algorithms, while assuming that nodes in the computation function as they should. In the real world, nodes malfunction or can be compromised, especially in the emerging areas of sensor-nets and ad-hoc networks. It is important and useful to analyze the properties of distributed algorithms under such adverse conditions. In my work I am studying such resilience analysis. I first deal with the issue of defining, classifying and if possible, quantifying the notion of resilience in a distributed algorithm. Then I focus on a particular aspect of resilience I call detection and grapples with the issue of whether and when nodes can sense that there is an error in the distributed computation. Toward such detection, we demonstrate preliminary results which show that, for a distributed protocol, certain classes of disruptive behaviors are detectable while other classes of disruptive behavior are not.

Related Papers

  • Raj Kumar Rajendran, Vishal Misra, Dan Rubenstein, "Strong Detection of Misconfigurations", Principles of Distributed Computing, Las Vegas, July 2005.
    ps, pdf,

People

Raj Kumar Rajendran Vishal Misra Dan Rubenstein

Overlay Routing For VoIP

Voice traffic on the Internet (VoIP) is poised to grow rapidly but the Internet is not engineered for such delay-sensitive applications. In our OverPhone Project we show how the end-user quality of VoIP calls can be improved by rerouting them in an intermediate overlay network and thought the use of various path-diversity and error-coding techniques. We introduce our overlay network (OverPhone) that is tuned to optimize VoIP quality and provide experimental results of its implementation on the PlanetLab testbed. We show that re-routing VoIP calls through OverPhone improves the quality of more than a third of the paths by significant amounts when using the G.711 codec. We believe that this benefit extends to other well known and proprietary codecs as well. We also investigated the benefits and trade-offs of using techniques such as path-diversity and parity-coding. We found that path-diversity is useful in sustaining throughput at high loads, and that parity-codes can be used to trade-off bandwidth for path-quality.

Related Papers

  • Raj Kumar Rajendran, Samrat Ganguly, Rauf Izmailov, Dan Rubenstein, "Performance Optimization of VoIP using an Overlay Network", Columbia University Technical Report .
    ps, pdf, ppt,

Software

We implemented the OverPhone system in Perl and tested it over 40 nodes on the PlanetLab overlay. We found that the quality of about 30% of the calls could be improved. The Overphone software is provided below so that you can test it yourself.

Return to main page