In the MAGIC project, three major components - an ATM internetwork, a
distributed, network-based storage system, and a terrain visualization
application - were designed, implemented, and integrated to create a
testbed for demonstrating real-time, interactive exchange of data at h
igh speeds distributed resources. The testbed was developed as a syste
m, with special consideration to how performance was affected by inter
actions among the components. This article presents an overview of the
project, with emphasis on the challenges associated with implementing
a complex distributed system, and with coordinating a multi-organizat
ion collaborative project that relied on distributed development. Syst
em-level design issues and performance measurements are described, as
is a tool that was developed for analyzing performance and diagnosing
problems in a distributed system. The management challenges that were
encountered, and some of the lessons learned during the course of the
three-year project are discussed, and a brief summary of MAGIC-II, a r
ecently initiated follow-on project, is given.