Microsoft's Remote Procedure Call (RPC) service was the first complete implementation of distributed processing available on the Microsoft Windows platform. RPC allows an application to call a function that executes on another computer on a network. To provide you with a detailed look at client/server technology and to shed light on the transition from RPC to COM+, this appendix describes a sample application that uses RPC to compute prime numbers; the calculations required are distributed across a network of computers.
Applications that use RPC usually have two parts: a client and a server. The client makes requests of the server, and the server's only purpose is to provide the client with the requested information. Servers are usually classified by the type of resource they offer. For instance, we're all familiar with file servers, print servers, and communications servers. Using RPC, a server in Windows can share not only its peripherals—such as hard disk space, printers, and modems—but also its computational horsepower.
RPC enables work to be distributed throughout a network. Idle computers on the network become compute servers. These compute servers do not have to be locked in a room with the file server because any computer on the network that runs Windows can be considered a compute server. RPC is Microsoft's answer to the complexity and reliability problems in client/server architecture compared with centralized systems.