|
|
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
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.
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.
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.
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.
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.
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
|