|
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.
We also host occasional research visits by leading researchers from academia
and industry.
This page lists the interns and visiting researchers who have worked with us
in 2000.
2000 Research Interns
Topology Control in Multi-hop Wireless Networks
Pre-configuring a fixed transmission power for all nodes in multi-hop
wireless networks has several drawbacks. It does not guarantee global
connectivity of the network. In places where the network is dense, throughput
and energy-efficiency will be low due to severe interference. In places where
the network is sparse, it may disconnect the network. Topology control is
necessary to maintain global connectivity, conserve energy consumption and
balance throughput. We developed distributed algorithms to address this
problem.
Analysis of the Dynamics of Web Services for Mobile Devices
In this project, we are analyzing log data gathered from the MSN Mobile
server and trying to answer one or more of the following questions:
1. Is there a set of common access patterns generated by different types of
mobile end users? This information can be used to help design a scalable
architecture for personalized web services.
2. From web page access patterns, can we distinguish whether the end client
is a) prefetching for offline browsing or b) currently accessing web services
on-demand? Such information can be used, for example, to assign a higher
priority for on-demand (interactive) requests and help improve the performance
perceived by the user.
3. Is there a noticeable difference in access patterns between mobile and
static end clients? If so, how? This information may be helpful in optimizing
the existing server architecture for mobile services.
As we learn and understand more about the dynamics of mobile web servers, we
hope to come up with more interesting questions and the answers to them.
PANS Implementation and Deployment
The second project I am working on is to finish the ongoing implementation of
PANS
and initiate the deployment of PANS in the Choice network. Also, I will be
designing a class-based QoS system for the last-hop link in the wireless LAN.
Many research in the past has focused on implementing the QoS at the MAC level.
However, we propose a software approach, which permits flexible upgrades and
policy management. A software approach also supports the use of off-the-shelf
components without any modification as required in the MAC level approach.
The QoS project in PANS involves specifying a protocol for traffic control
and designing an efficient scheduler that considers various factors such as
fairness, noise, power, and service provider's profit (yet another incentive for
deploying the system). The system is to be incorporated into the PANS system to
support quality-sensitive network applications (such as video and audio) and
improve overall efficiency in utilizing the bandwidth in a wireless network.
Improving the Convergence of BGP
Recent studies have shown that BGP has very slow convergence, despite it
being loop-free. This summer, we are studying different techniques to improve
the convergence.
Internet Traffic Engineering using MPLS
Our aim is to build an MPLS testbed and study different traffic engineering
techniques through simulation. Our goal is to use this testbed to develop new
traffic engineering protocols.
FarSite File System
This summer I worked on the design of the FarSite file system with John
Douceur, Bill Bolosky, Atul Adya and Marvin Theimer. The main goal
of the FarSite research group is to develop a highly-scalable, distributed
serverless file system. The system should be able to work on top of a
dynamically varying set of machines, and secure against malicious users. it
should provide high reliability and availability and support auto-configuration
mechanisms. In addition to that, users should be aloud to use more space than
what is provided by their local hard disk, in case they need it.
In order to provide increased availability and reliability, FarSite will
create several replicas for each factor. However, increasing the number of
replicas decreases the total amount of usage space, and thus it sets a limit on
the quota of each user. The quota of each user is represented by a multiple "Q"
of his local disk size.
FarSite should be able to compute dynamically the correct number of replicas
that has to be used in order to achieve the desired reliability and availability
and acquire the required space to create additional replicas. The means to
control the available space (for replicas) is given through the quota multiple.
Thus, there exists a relation between the quota multiple, the replication factor
and the current condition of the system. FarSite will use a control system to
monitor the actual file loss rate access failure rate. The control system will
compute the replication factor required to make these rates equal to the desired
ones, and the quota multiple that has to be imposed in order to achieve the
desired replication factor. Overall the designed control system consists of
three major subsystems:
1) Reliability Controller: Monitors the current file loss rate and tries to
compute the required replication factor in order to achieve a target file loss
rate. 2) Availability Controller: Monitors the access failure rate and tries to
compute the required replication factor in order to achieve a target access
failure rate. (The final replication factor is the max. of these two values). 3)
Usage Space Controller: The final one tries to control the usage space by
changing the value of the quota multiple.
During my internship this summer, with my mentor John Douceur, I designed and
evaluated the reliability controller and set the basis for the design of the
availability controller.
Predictable Execution in Windows NT
The driver implementation model in Windows NT loads interrupt handlers, DPCs,
and threads written by driver vendors into the kernel. By using the Rialto/NT
scheduler to ensure predictable thread execution, most of the ongoing
CPU-intensive work done by the driver in interrupt or DPC contexts can be moved
into a thread and scheduled with a CPU reservation. I have modified the driver
of a popular Soft Modem so that its signal processing (most of the work done by
the driver) is performed in a thread with a CPU Reservation, rather than in
long-running interrupts -- all without loss of functionality or modem
reliability. This increases the responsiveness of the system to other interrupts
and DPCs, as well as ensures liveness for other system components should the
driver remain CPU-bound.
Relationships between IP and Geography
An IP address to geographic location mapping service would drive many
applications in the spaces of location aware services( local advertisements,
weather etc.), territorial rights managements, understanding geographic client
access patterns, server placements heuristics and many more. Traditional methods
for solving this problem include a) changing the DNS to hold (latitude,
longitude) data b) whois database queries c) finding a location using
traceroute, country code, city code and airport codes.
This summer, Venkat
Padmanabhan and I have been working on new ways of building such a service
and have approached the problem from different angles. We have also been working
on understanding the correlation between IP routing and geography. We have built
a tool that can provide an IP to geography mapping within the US and Europe
(with high accuracy). Initial results do indicate that there is a decent
correlation between IP routing and geography and that IP paths appear nearly
straight in high connectivity regions.
2000 Visiting Researchers
Dependability Components
My research is focusing on applications of dependability components in
distributed systems and networks. In the Aladdin home network project,
dependability components are enabling end-to-end device control over multiple
PC-controlled networks (e.g., powerline, phoneline, and infrared). Extensibility
to new device types is being achieved via frameworks that simplify dependability
component design and distributed state/event management protocols that simplify
dependability component implementation. The Aladdin system is stabilizing, in
that even if it is subject to the complex and partial failure modes of PCs,
networks, and sensors/actuators of home appliances, it recovers to resume
correct operation.
In the Graybox project, metadata associated with COM components is being used
to manually/mechanically implement dependability wrappers that are more
efficient than the standard replication techniques used to make blackbox
components dependable.
Systems and Networking Research Group | Interns and visitors from all years
|