David Choffnes

PhD Candidate, in Computer Science at Northwestern University
Northwestern Systems Research Group
Aqualab Research Lab

~ Research Statement ~

Research Statement

CV

Software

Recreation

Photos

Personal

My work focuses on challenges in building large-scale distributed systems (wired and wireless) using an experimental approach. In the area of wired networks, my research currently entails improving Internet performance and scalability by reusing network measurements from a variety of sources. This approach is essential to ensure that P2P applications such as file-sharing, VoIP and streaming video continue to perform well as their use becomes ubiquitous. In the area of wireless networks, I focus on techniques to enable distributed applications over ad-hoc networks formed by cars. Example applications I've worked on include live road-traffic advisories, location-specific messaging, and safety warnings. In general, my research gravitates toward topics that involve building real systems comprising thousands, even millions, of nodes and using empirical methods to assist in their design and to evaluate their effectiveness. Details of my recent work follow.

Sustainable Scalability Through Measurement Reuse

Many large-scale distributed systems attempt to improve performance by optimizing for quantities such as latency, throughput and reliability over end-to-end network paths. Because the current Internet is opaque in nature, most such systems perform extensive measurements to gain information about relevant underlying network behavior. While this pragmatic approach indeed provides viable up-to-date network ``views,'' having each such system perform independent measurements is clearly sub-optimal, fundamentally unsustainable and can negatively impact measurement accuracy.
My work builds on the observation that much of the needed information on network conditions is already being collected by wide-area services, such as production content distribution networks (CDNs), as part of their normal operation.
My main idea in this project is to allow large-scale overlay networks to reuse the measurements collected by long-running, ubiquitous services (e.g., P2P clients and CDNs). Using this model, I built a system called SideStep that improves point-to-point transfer performance by efficiently locating alternate Internet paths (i.e., detouring) over which to transfer data. I also released an FTP suite that uses the service. Following the same approach of measurement reuse, I released an extension to the popular Azureus BitTorrent client named Ono that can significantly improve transfer performance and relieve the tension between ISPs and P2P by biasing toward connections to “nearby” peers. I'm currently investigating to what extent passive measurements from P2P clients can be useful for other distributed systems. For example, my NEWS (Network Early Warning System) software reuses BitTorrent users' natural traffic flows to detect network anomalies locally and then confirms them globally by determining whether other "nearby" users are experiencing the same problem.


Car-to-Car Cooperation (C3)

In the C3 project, I am exploring approaches to building and evaluating cooperative distributed systems for vehicular ad-hoc networks (VANETs). Despite the recent technology and government push toward implementing vehicular networks, research in this area is nascent and VANETs are poorly understood. There is an urgent need for work that establishes the properties of VANETs and builds core abstractions and algorithms to enable large-scale distributed systems that operate in this volatile, infrastructureless environment. My research addresses both of these issues.
My primary goal is to design a practical system for communication in large vehicular networks. I believe that a fundamental challenge to successful car-to-car communication is that it must support extremely dense regions in the network—where the interference of multiple vehicles trying to talk at once can nullify goodput. To address communication in this environment, I have proposed a new networking layer—a Virtual Ferry Network (VFN) for VANETs that exploits vehicular mobility to provide high message delivery ratios by carrying messages instead of broadcasting them in highly congested regions.
To experiment with my ideas, I have built a hardware platform for running distributed applications over vehicles. We are currently using a small testbed of these nodes (see Fig. 1) to characterize fundamental properties such as wireless connectivity, signal strength and accuracy of GPS data in order to guide our design of systems to meet the challenges presented by this environment.

(a)(b)

(c)


Figure 1. Hardware platform for VANET research. Subfigure (a) shows the device from the front; (b) shows a top-down view of the internals, with an iPod nano for size comparison; (c) shows supported peripheral devices, which include GPS, removable external storage and a remote control.

Last updated August 23, 2008.