next up previous
Next: Implicit v. Explicit binding Up: Inter-Domain Communication Previous: Inter-Domain Communication



In order to invoke operations on a remote interface, to which a client has an interface reference, a client requires a local interface encapsulating the implementation needed for the remote invocation. This is what we have previously described as an invocation reference. In Nemesis , an invocation reference is a closure pointer of the same type as the remote interface - in other words a surrogate for the remote interface.

An interface reference typically arrives in a domain as a result of a previous invocation. Name servers or traders provide services by which clients can request a service by specifying its properties. An interface reference is matched to the service request and then returned to the client.

In the local case (described in section v), an interface reference is simply a pointer to the interface closure, and binding is the trivial operation of reading the pointer. In the case where communication has to occur across protection domain boundaries (or across a network), the interface reference has to include rather more information and the binding process is correspondingly more complex.

I. Leslie, D. McAuley, R. Black, T. Roscoe, P. Barham, D. Evers, R. Fairbairns & E. Hyden