Building Blocks (Bloks)
Abstract:
We believe that a major reason for the limited number of truly distributed applications is that tools and other facilities available to aid the developers of these applications are inadequate. Distributed applications share a common life-cycle and need tools that address each of the stages of this cycle. The goal of our work is to provide the building blocks needed to support each of the stages in the life-cycle of Internet applications.
In order the make the task of building complex distributed applications easier, we have designed various building blocks including: end system multicast (Narada), distributed publish-subscribe (Mercury), network performance prediction (SPAND).
We have also developed tools to help in evaluating the design of wide-area distributed applications. Our approach in the Realistic Network Analysis (RNA) project, is to help reproduce workloads and network conditions to aid in testing. This includes creating realistic simulations environments (Reese), improved sampling techniques to measure traffic patterns (FastCars) and benchmarking tools that recreate realistic loss/delay patterns (WASP).
Our current work focuses on the problems involved in monitoring and upgrading running applications.
**See individual project pages for more details