A Case for Virtual Distributed Objects


Randall L Hyde
Brett D. Fleish


There are two emerging trends in distributed computing. The first trend is evolving because programming high performance client-server applications is a challenge. Client-server architectures must be designed from the ground up for good performance. Increasingly, we are seeing client-server models evolving away from traditional client-server structures into new structures such as three-tier systems and distributed object systems. Consequently, as the typical architecture used for distributed systems evolves to increase performance, we must also recognize that the complexity of developing software for cost-effective distributed systems increases as we distribute functionality. Error handling must be more robust and messaging more efficient as we move away from centralized server models. As the pressure to decentralize for better performance rises, the increasing number of decentralized servers increases management/administrative complexity.

The second converging trend associated with the transition from client/server to peer-to-peer distributed objects is the rapid advance in techniques to support Distributed Shared Memory (DSM). DSM provides an illusion of shared memory for a set of loosely coupled systems. Targeted to the scientific computing community for large-scale scientific computations, DSM has been primarily used to support scientific applications. Whereas originally DSM was envisioned as a means to support an entire paged virtual address space for all machines on the network, current trends suggest sharing smaller entities targeted towards object-oriented systems will become more important over the next decade.

In this paper we argue that combining DSM and Remote Method Invocation (RMI) will become the predominant paradigm for distributed computing in the next century augmenting tools such as CORBA, Network OLE/DCOM, and Java RMI. Merging the features of distributed object systems with DSM produces Virtual Distributed Objects (VDOs). VDOs allow systems designers to design high-performance lower-maintenance software. We describe why distributed objects, supported with VDOs using DSM and RMI, could potentially supplant strict client-server structures whose scalability and extensibility are inherently limited.


Special Issue