We derive expressions for remote procedure call (RPC) retransmission timeout values that minimize the weighted sort of total elapsed time, operating system kernel costs, and network charges. Currently we select RPC retransmission timeouts to minimize network utilization, an operating point chosen with our networks' low bandwidth in mind. When public utilities provided digital service becomes popular, we will routinely make requests to servers across town and across nation and we will pay for each message that we send. These networks may offer various grades of service, each with different loss and delay characteristics. In such an environment, choosing the retransmission timeout and grade of service that minimize our costs is not obvious. Our approach, illustrated with a simple RPC algorithm, can be applied to other remote invocation mechanisms. We can incorporate the expression for the optimal retransmission timeout that our approach generates into the communication's software of distributed operating systems.