5. The OXID Resolver
Each machine that supports the COM network protocol supports a one- per-machine service known as the machine's `OXID Resolver.' Communication with an OXID Resolver is via a DCE RPC, not an ORPC.
The OXID Resolver performs several services:
- It caches and returns to clients when asked the string bindings necessary to connect to OXIDs of exported objects for which this machine is either itself a client or is the server. Note that it typically returns only to client processes on the same machine as itself, the OXIDs for which it is a client.
- It receives pings from remote client machines to keep its own objects alive.
- May do lazy protocol registration in the servers which it scopes. These services are carried out through an RPC interface (not a COM interface) known as IOXIDResolver. An OXID Resolver may be asked for the information required to connect to one of two different kinds of OXIDs, either the OXIDs associated with its own objects, or the OXIDs associated with objects for which it is itself a client The second case occurs when two or more client processes on the same machine ask their local OXID Resolver to resolve a given OXID. The client OXID Resolver in this case can cache the OXID information an return it to local clients without having to contact the server's OXID Resolver again.