Research

Most of my research interests are in systems and networking. The work that I’ve done covers a wide range of topics, including:

  • operating systems
  • networking
  • storage systems
  • parallelism in systems software
  • distributed systems
  • combinatorial optimization
  • security
  • embedded systems
  • microprocessor architecture

Much of my research has been done in the context of Emulab, a testbed for distributed systems and network research. I’m one of the principal architects and implementers of Emulab – I’ve been working on it since 2000. The main Emulab site is at the University of Utah, but there are now dozens of sites around the world running testbeds with the Emulab software. My work on Emulab has lead to involvement with the NSF GENI initiative, in the form of our group’s own ProtoGENI prototype. Other major facilities based on Emulab include PRObE and DETER.

My PhD dissertation work involved improving the scale and realism of network testbeds, by breaking some of the key barriers that limit the sizes they can reach and by coupling live networks with predictable and repeatable testbeds.

As an undergraduate, I did a Bachelor’s Thesis entitled Agile Protocols, an Application of Active Networking to Censor-Resistant Publishing Networks. The idea was to apply active networking techniques (ie. mobile code for network protocols) to make it difficult for ISPs, governments, and other powers to detect and filter peer-to-peer publishing networks such as Freenet.