Over the last few years, we have been witnessing the rising, and sometimes even the fall, of planet-wide distributed systems consisting of relatively independent, frequently uncooperative, and at sometimes even hostile components. For example, over the last 35 years, we have seen the growth of the Internet from a 4-node ARPANET prototype, into a planet-wide network used by half a billion of people. During the last years, we were amazed to witness the phenomenal growth of peer-to-peer file-sharing networks, which, grew up from nonexistent into mass data transfer media encompassing millions of users sharing Terabytes of data. Even more impressive, however, was when we January 2003 we watched how a carefully crafted self-replicated program, called "worm" in the colorful language of computers, would put out of service more than 70,000 Internet-connected databases all over the world, in less than half an hour.
At the Distributed Computing Systems Lab, we are interested in experimentally studying such planet-wide distributed systems in order to understand the forces that drive their day-to-day operation, as well as the dimensions that sustain their long-term evolution. In simple terms, we are interested in learning what kind of traffic is that which flows through the "veins" of such systems? What holds these systems together? How do they respond to various types of attacks? Under what circumstances would they collapse? How can we make them more robust? How can we trust them? How can we be safe in them?
In order to answer these and similar questions, we conduct experimental state-of-the-art research which focuses on studying, analyzing, and improving large scale distributed systems, by focusing in areas such as