1996 · 86 citations · 7 references
ComputingComputer ScienceDistributed SystemsMessage PassingSystems ProgrammingDistributed ComputingDistributed Systems ArchitectureDistributed Systems DesignInterprocess CommunicationPeer-to-peer SystemsRemote Procedure CallDistributed ArchitectureDistributed System ServicesInter-service CommunicationObject-oriented ArchitectureObject-oriented Language DesignPeer-to-peer ComputingRemote Method InvocationSoftware Components
This paper describes the design of a distributed system built using Java that supports peer-to-peer communication among processes spread across a network. We identify the requirements of a software layer that supports distributed computing, and we propose a design that meets those requirements. Our primary concerns are (I) the identification, specification, and implementation of software components that can be composed in different ways to develop correct distributed applications; (2) reasoning about the components systematically; and (3) providing services to the components. This paper deals with the last of these concerns. Though our implementation uses Java, the fundamental ideas apply to any object-oriented language that supports messaging and threads. Alternative implementations use such languages coupled with object request brokers or remote procedure invocation mechanisms.
7
K. Mani Chandy, Leslie Lamport · ACM Transactions on Computer Systems · 1985 · 2.4K citations · Full text
J. Postel · 1980 · 1.6K citations
W. Richard Stevens, T. Narten · ACM SIGCOMM Computer Communication Review · 1990 · 997 citations
Parallel program design: a foundation
Chris Jesshope · Microprocessors and Microsystems · 1989 · 845 citations