Research Interests & Projects
My research is centered on the design of networked systems, from the Internet to mobile computing and ubiquitous computing. It includes aspects of design, new uses and applications, measurement and operational support, and robustness and security. I use empirical studies to better understand problems and opportunities, and prototypes to evaluate improvements.
- Privacy on the Web and Mobiles. Privacy of personal information in networked systems is a growing issue. We are designing new systems that give users greater control. Our approach is rooted in transparency: we reflect to users the information they give to others in their everyday usage. That is, we show people how they are being tracked. Our solutions use lightweight program analysis techniques for Android programs and Web pages. We aim to provide OS mechanisms that check apps without trusting them. Our scope ranges from low-level network identifiers through to user-facing issues.
- Wirelessly-powered computers. Did you know that it is now feasible to harvest enough energy from RF signals to run small computers? We are developing these computers from the WISP prototype, including the platform, network, and applications. The network is based on ultra-low power backscatter communications. This is a new area of computing that we are pioneering.
- Mobile computing. The future looks to be all mobile and cloud. We are exploring how these two components can work well together, with client-oriented functionality as well as traditional servers running in the cloud. This research builds on a deep understanding of wireless. This strategy will enable high performance yet energy-efficient applications, but care must be taken not to undermine privacy.
Papers on all of these topics are available on my publications page.
Some earlier topics:
- ISP mapping. Internet measurement techniques that allow ISP networks to be mapped.
- Internet denial-of-service. Developed systems for finding the source of denial-of-service attacks and filtering out attack traffic in the network, before it causes damage.
- Deduplication. Techniques for efficiently removing repeated content from network traffic. These kind of methods are widely used in practice for network accelerators.
- Active networks. Programmable networks, in which small programs are injected into the network to configure it and provide the desired services.