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.