*
Quick Links|Home|Worldwide
Microsoft*
Search for


Systems & Networking

Interns and Visiting Researchers

Each summer the Systems and Networking Research Group at Microsoft Research has several outstanding students from top schools join the group for research internships. Many of the research projects they have pursued have resulted in refereed research publications, including those winning best paper awards.

This page lists the interns who have worked with us in 2001.

2001 Research Interns

Krishna Gummadi, University of Washington

This summer, I worked with Mike Jones and Marvin Theimer on the Herald Project. Herald is a globally scalable distributed publish/subscribe event notification system. An event can be published at any of the many Herald servers spread geographically, and the Herald system ensures reliable delivery of the event to all the subscribers of the event connected to any Herald server. The Herald servers self-organize themselves into an overlay and run a multicast protocol over the overlay to distribute the events among themselves. During my internship I implemented some initial Herald client and server code, test programs used for validating Herald server implementations, and the "Chord" overlay network protocol.

t-rodrod.jpg (5,917 bytes) Rodrigo Rodrigues, Massachusetts Institute of Technology LCS

This summer Ive been working with my mentor, Atul Adya, and several other people in the Farsite project. Farsite is a serverless, distributed file system that does not assume mutual trust among the client computers. The system provides security, availability, and reliability by distributing multiple encrypted replicas of each file among symbiotically cooperating client machines. Im particularly interested on the concurrency control issues in Farsite: the design and implementation of an adaptive locking protocol that minimizes the number of operations required to process a workload according to its characteristics.

Eugene Shih, Massachusetts Institute of Technology EECS Dept.

At a high-level, the project is about designing an 802.11b, IP-based phone over a handheld (Pocket PC) device. Part of the goal of my internship is to determine the engineering and research issues behind designing an 802.11 phone. In addition, we will try to identify key problems and issues that relate to design of a phone and the system that supports it. The motivation of such a phone system is to give users enhanced services when they are within range of a network with better resources (e.g. reception and bandwidth) than a cellular network.

Initially, I will build a simple phone prototype. This will involve adapting an existing handheld device (iPAQ) to support Voice over IP in real-time. Hardware modifications will be necessary to give the PocketPC a phone-like feel. Aesthetics, usability, and robustness will be important design considerations. Once the hardware is complete, a straightforward PocketPC to PocketPC calling system will be implemented and demonstrated.

In addition to building the hardware, I will investigate the research issues related to designing such a system. I will try and identify some interesting problems to improve such a system. This will involve research into issues concerning scalability, user mobility and the use of public networks.

Kay Sripanidkulchai, Carnegie Mellon University ECE Dept.

This summer, I have been working with Venkat Padmanabhan on designing protocols for peer-to-peer cooperation. The goal of the project is to study and characterize the benefit and overhead of cooperation, and to provide tools to enable such cooperation. I have been looking at using cooperation to improve web performance during flash crowd events, when servers see significant increases in number of requests. Servers that are not provisioned to handle such high load slow down and are unable to service all requests. Clients often observe degraded performance. Even worse, servers crash or are taken off-line. It may be useful for clients to distribute content that they have already downloaded from the server to other clients. This allows some clients to bypass the loaded server altogether. I have studied the potential benefits of cooperation using flash crowd traces gathered at MSNBC. I am implementing and evaluating a protocol to enable cooperation.

Qixiang Sun, Stanford University

This summer, I have been working with Yi-Min Wang (my mentor), Dan Simon, and Wilf Russell on the Masquerade project. In this project, we are building an onion-routing based privacy-preserving service for web browsing. In onion routing, a client browser's HTTP requests are routed through a chain of intermediate nodes before reaching the final web server. This approach attempts to hide the client-server interaction from an eavesdropper or a few compromised intermediate nodes. My focus in this project is to analyze the weaknesses of the onion-routing scheme. Specifically, I am examining whether an attacker can link a client browser to a web server by simply observing traffic patterns at the first onion router in the chain. Over the summer, I have devised and demonstrated an effective attack method through recording and comparing traffic patterns. Using this method, an attacker can determine which web page a client is currently browsing with an accuracy of over 80%. Moreover, we can achieve very low false positive rates, less than 0.1%. Given this attack, I am also looking at potential countermeasures. Many people in the group, especially Lili Qiu and Venkat Padmanabhan, have suggested various countermeasures. The most effective ones appear to be HTTP pipelining or interleaving different web traffic. We are currently studying the effects of these countermeasures and the feasibility of deploying these countermeasures.

Dmitrii Zagorodnov, University of California at San Diego

This summer I worked with Atul Adya, Bill Bolosky and John Douceur on Farsite -- a distributed, server-less file storage system in which files are replicated on clients that do not trust each other. Encryption is used in Farsite to protect data in the files, and replication is used to achieve reliability and availability. One of the important parameters for the replica placement algorithm (that spreads replicas of each file across machines in the system) is the measure of availability of individual machines. Looking at ways to measure this availability was the primary goal of my internship.


Systems and Networking Research Group | Interns and visitors from all years


©2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement