The Distributed Systems and Networks (DSN) lab
at Johns Hopkins University focuses on the interplay between theory and
practice in distributed systems and networks. Our vision is to create
a paradigm shift in the way distributed systems are designed and
built. In contrast to the ad-hoc methods underlying most current
systems, the lab is building a small set of general tools that are
provably correct and provide high performance. These tools encapsulate
the challenging aspects of asynchronous networks and enable people to
build scalable distributed applications. The impact of our lab
encompasses the whole range of theoretical ideas, prototype academic
systems, and commercial-grade tools that are used by industry.
Our research focuses on creating the algorithms, protocols, and
infrastructure tools that enable the development of correct
distributed systems that scale to Internet size, with an emphasis on
high performance and high availability. The following is an overview of our current
research activities. Please click here
for more information.
- Survivable Systems
We are interested in designing and implementing systems resilient to both internal and
external attacks. Our work in this area combines Byzantine fault-tolerant protocols with
cryptographic mechanisms to create scalable, efficient, and robust software solutions.
- Messaging Systems
We focus on messaging systems in wide area and wireless environments, more specifically on
routing, multicast and reliability protocols for networks that rapidly change in
structure, availability and bandwidth.
- Group Communication
Our work in Group Communication area involves creating both advanced group
communication systems for
local and wide area networks, and applications that use group communication. A wide area group
communication system scales to tens of sites (Local Area Networks), with hundreds of servers,
supporting thousands of users. This kind of service is crucial for building useful
infrastructures such as scalable certification systems and high performance access
control services , as well as collaborative applications and replicated databases.
Some of the research at DSN has translated into useful systems that are
- Spread is a group communication toolkit that supports wide and
local area networks including the
Internet. Spread provides services ranging from
reliable message passing to fully ordered
messages with delivery guarantees, even in case
of computer failures and network
partitions. Current versions of the toolkit are
used by industry (mostly Internet startups) as
well as other academic institutions. To see the
next generation of such tools, come visit our lab :)
- Secure Spread integrates security services into the Spread group
- mod_backhand is an open source load balancing module for the
Apache web server. mod_backhand incorporates
some of the resource management techniques
developed in our Metacomputing research. The
system is included in the SuSE Linux
distribution and is used by many web sites.
- The Frugal System transforms Jini-enabled networks into
metacomputers, allowing users on any
machine to run their Java jobs on any other
machine in the network. It uses advanced
decision-making algorithms to automatically
place these jobs on the best machine.
The lab has its own network with about 35 computers, including
a cluster of 18 Xeon 64bit Dual-CPU machines, 8 brand-new
Intel 64-bit Quad-Core machines and a brand new 8TB filesystem,
all running 64-bit versions of Linux.
A 1 Gbit/sec direct connection from the lab to the Internet and VBNS
allow us to experiment with high speed wide-area networks. In addition,
we have a 10Gbits/sec connection on our internal network, on which we
can run even more rigorous experiments.
Questions or comments to:
TEL: (410) 516-5562
FAX: (410) 516-6134
Distributed Systems and Networks Lab
Computer Science Department
Johns Hopkins University
3400 N. Charles Street
Baltimore, MD 21218-2686