Surrogate processes were introduced to Windows NT 4.0 in the Service Pack version 2.0. The original release of DCOM enabled only remote access to out-of-process servers and did not include any support for remote in-process servers. Having remote in-process servers is quite a contradiction because it is not possible to have in-process objects that span processors. In order to use in-process servers remotely, COM introduced the concept of the surrogate process. The surrogate process is started on the remote machine, and the in-process object is loaded into the surrogate's process space (see Figure 9.2).
Figure 9.2. Surrogate model.
Some interesting advantages become available to surrogate processes. The process can have a process ...