“Software Clercks (Clerks)”

  • Mike Schroeder

5th ACM SIGOPS European Workshop: Models and Pardigms for Distributed Systems Structuring |

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-machi