Software clercks

  • Authors:
  • Michael D. Schroeder

  • Affiliations:
  • DEC Systems Research Center, Palo Alto, California

  • Venue:
  • EW 5 Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring
  • Year:
  • 1992

Quantified Score

Hi-index 0.01

Visualization

Abstract

My candidate for the list of important paradigms for distributed computing is the concept of a "clerck". A clerck is software that provides distribution, replication, and location transparency to client programs (applications) in distributed systems. A clerck exports a service interface to a client. The interface is specialized to the function being provided : e-mail, name service, file service, printing service, data base access, etc. Typically a client will need to deal with only a single instance of the interface for a particular function. The interface presents a "logically centralized, logically local" service, even when the underlying implementation is distributed, replicated, and/or remote.The clerck software can have many different structural relationships to its client. In simple cases it can be runtime libraries loaded into the client address space and be invoked with local procedure calls. Or it may operate in a separate address space on the same machine with the client and be invoked by same-machine ipc, same-machine rpc, or callbacks from the operating system. Or it can be in the operating system itself. Finally, it can be on another machine and invoked by cross-machine rpc, although in this last case some measure of transparency is lost since the clerck can crash independently from the client. In all these cases the structure exhibits the clerck paradigm if it presents some aspects of a logically centralized, logically local system for the client.