Current Projects

WARDEN: Wide-Area Remote Debugging of External Networks

Content providers base their business on their ability to receive and answer requests from clients distributed across the Internet. Since disruptions in the flow of these requests directly translate into lost revenue, there is tremendous incentive to diagnose why some requests fail and prod the responsible parties into corrective action. However, a content provider has only limited visibility into the state of the Internet outside its domain. Instead, it must mine failure diagnoses from available information sources to infer what is going wrong and who is responsible.

Our ultimate goal is to help Internet content providers resolve reliability problems in the wide-area network that are affecting end-user perceived reliability. We are creating algorithms to mine the information available to content providers. We work in collaboration with MSN/Live to evaluate our research and produce tools that help improve the ability of users across the Internet to take advantage of the MSN/Live services.

AND: Analysis of Network Dependencies

As the applications we use on a daily basis grow more sophisticated, the number of systems, services, and network components they depend on grows as well. The rising complexity of this web of dependencies increases the fragility of the overall system, with a failure or overload in any one component resulting in many other components appearing to be broken. Confounding the problem is that today this web of dependencies is hidden and implicit --- tucked away in a myriad of configuration files spread across the systems. The situation is eloquently described by Leslie Lamport's famous quote: A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable

The AND project explores techniques for automatically discovering the dependencies between components of a companies the IT infrastructure and using this information to make managing that infrastructure easier.

4D: A New Architecture for Controlling Networks

More information is available from the 4D Project Website.

The 100x100 Network Project

The goal of the project is the design and validation of a network architecture that provides 100 Mb/sec of connectivity to all 100 million American homes and small businesses. For both technical and financial reasons, extension of the current methods of network building are incapable of leading to a network that can provide 100 Mbps end-to-end between 100 M endpoints, with additional bandwidth between high demand sites such as Universities and National Labs.

More information is available from the 100x100 Project Website.


Old Projects

Understanding Network Structure and Behavior

In any IP network, routing protocols provide the intelligence that takes a collection of physical links and transforms them into a network that enables packets to travel from one host to another. Though routing design is arguably the single most important design task for large IP networks, there has been very little systematic investigation into how routing protocols are actually used in production networks to implement the goals of network architects. We are developing a methodology for reverse engineering a coherent global view of a network's routing design from the static analysis of dumps of the local configuration state of each router.

The code for anonymizing configuration files described in the paper Structure Preserving Anonymization of Router Configuration Data, is available.

As part of this work, we have developed abstractions and models that can represent the diverse set of routing designs seen in operational networks. These models provide a means to abstract and summarize a network's configuration that exposes the structure of the routing design and opens it up to direct analysis.

Based on these models, we are creating a new alegbra that enables the static analysis of network properties that previously could only be experimentally determined. Examples include: a description of the set of packets a network will transport between two routers; the maximum load that might be placed on the routing processes running on the network's routers; and a metric to quanity how sensitive the network is to changes in topology and routing advertisements (which in turn may predict how prone the network is to "meltdown" failures where overloads cascade).

Simulation of Multi-hop Mobile Ad Hoc Networks

A beta release of ad-hockey that supports multiple node types is available as ad-hockey-beta-20030808.tgz. There's only very poor documentation of how to use it. Remember to make what-time to build the what-time executable, or ad-hockey won't work. Ensure that your paths are set such that what-time is on your path and that ad-hockey can find it.

You will need Perl/Tk800.015 or newer installed on your machine. If you have not installed this package in the normal location, you will need to edit the appropriate lines at the top of the ad-hockey script to point to where the files are installed. For example:

#NOTE:  this version of ad-hockey WILL NOT work with Perl/Tk400.200
# provide a path to perl/Tk if it's not installed in the default places
use lib '/usr1/dmaltz/ns/Tk800.015';
use lib '/usr1/dmaltz/ns/Tk800.015/blib/arch';
use lib '/usr1/dmaltz/ns/Tk800.015/blib/lib';

Emulation of Multi-hop Mobile Ad Hoc Networks

Please see my Ph.D. thesis, which has a chapter on this topic. Code is available from the Monarch project Software releases page.