Distributed coordination models for client/server computing
- 1 April 1995
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Computer
- Vol. 28 (4) , 14-22
- https://doi.org/10.1109/2.375173
Abstract
Interactions between distributed applications presuppose an underlying control model to coordinate information exchanges and networking software to implement that model. The client/server control model defines distributed interactions in terms of one program requesting and obtaining a service from a second, possibly remote, application. However, this basic model provides inadequate design support when clients need to invoke multiple, independent services, coordinated to reflect how those services interrelate and contribute to the overall application. The author describes extensions to the basic client/ server model that explicitly address one-to-many client/ server interactions by discussing three basic design issues: how multiple services are requested, how those services are managed, and how clients receive responses. The extended coordination models provide support for locating, obtaining, and synchronizing services, as well as for collecting and combining results from multiple servers in a manner that is transparent to clients. Extended models include a scripting engine for managing data and temporal dependencies among services; a basic request broker for mediating client access to distributed services; and extended request broker models that decompose composite services, manage redundant servers, and replicate messages to logical server groups. These coordination models were designed as generic, programmable control services. The control services are interoperable, so they can be combined like building blocks to match application-specific coordination requirements. The one-to-many coordination services are layered on top of an object-oriented, message-passing communication substrate, which transparently manages the complexities of interprogram interactions across networks of heterogeneous computers. This layered architecture lets complex coordination behaviors be modeled and executed external to application elements. It accomplishes this through high-level application programming interface (API) calls. The resulting partitioning of application and generic distributed behaviors yields improved modularity, maintainability, and extensibility of individual clients and servers.Keywords
This publication has 8 references indexed in Scilit:
- The process group approach to reliable distributed computingCommunications of the ACM, 1993
- Group communication in Amoeba and its applicationsDistributed Systems Engineering, 1993
- Object orientation in heterogeneous distributed computing systemsComputer, 1993
- Paradigms for process interaction in distributed programsACM Computing Surveys, 1991
- The Art of Distributed ApplicationsPublished by Springer Nature ,1991
- Process groups and group communications: classifications and requirementsComputer, 1990
- Programming languages for distributed computing systemsACM Computing Surveys, 1989
- Distributed process groups in the V KernelACM Transactions on Computer Systems, 1985