Rapid advances in communications technology and the proliferation of inexpensive PCs and workstations have created a wide avenue for distributed computing to move into mainstream computing. Distributed computing is no longer confined to research laboratories but is available to the mass community of computer users. The shift of status would not have been possible if it were not for the immense effort that researchers and developers have put into creating the necessary supporting software networking protocols, distributed operating systems, network file systems, remote procedure calls, message passing interfaces, and most recently, object-oriented middleware. The advent of the Internet and the Web has also added fuel to the shift. The Internet as one gigantic distributed system is no longer a farfetched idea of the visionaries; it is now being used by some to try to solve really tough problems to search for extraterrestrial intelligence [1], to find the largest prime number [2], and to crack the RC5 block cipher [3], just to name a few. Many wide-area distributed systems that are in the making, the Globe system [6] for example, have worldwide scalability as one of their main goals. But distributed computing is not about just IP and HTTP, nor is it about setting up an Ethernet network. Distributed computing, as it always has been, is about achieving high performance at low cost; it is a kind of ``lowly parallel computing'' that dwindling costs and increasing power of the hardware have brought about [5]. Easy as it might sound, distributed computing is still struggling to reach the goal of high performance that is commensurate with the amount of hardware invested. To the researchers, distribution is a long-standing problem. We used to focus a lot on absolute performance, but when machines became faster, the focus seemed to have shifted; it did not, however, completely go away. Today, communication latency is a prime concern affecting performance in the design of high-performance distributed systems, especially when transparency is much demanded at application or user levels and when the system extends beyond a local area. Article ID jpdc.1999.1579, available online at http: www.idealibrary.com on