This paper describes requirements placed upon client-server interaction
in a multi-server operating system and how to answer those requirements.
Addressed are the problems of binding maintenance in the face of:
remote method invocation,
forking, binding transfer, authentication,
asynchronous interruption, and client crashes.

Design and implementation choices are analyzed.
The solutions, used by the CMU Mach-US multi-server
UNIX 4.3BSD emulation on the Mach3.0 kernel, are described.

The lessons learned are applicable to multi-server OS design
and should be applicable to object based systems
that must resolve these binding problems in a ``micro'' kernel
environment.
