Una consecuencia práctica de la disponibilidad de shuttles es la
posibilidad de utilizar el shuttle del cliente, en una llamada a
procedimiento remoto (o RPC
), para ejecutar sobre él el thread del
servidor. Esto no es otra cosa que un ``modelo de objetos pasivo'',
donde clientes y servidores son un conjunto de datos a través de los
cuales navegan flujos de control (shuttles en este caso). Al
mecanismo en virtud del cual es posible transferir el shuttle
del cliente al servidor en el transcurso de una RPC se le denomina
transferencia protegida de control (o PCT
).
En la figura 3.9, el shuttle de la izquierda realiza una PCT para transferir el flujo de control del cliente al servidor y viceversa (en la RPC que g realiza a h). Como puede apreciarse en dicha figura, se emplea un único shuttle aunque estemos efectuando una RPC.
El beneficio de las PCTs radica en el ahorro que supone no cambiar de Shuttle durante una RPC: no es necesario replanificar y la latencia de la RPC (tal y como la percibe el usuario) disminuye debido a que también eliminamos operaciones de sincronización entre el cliente y el servidor.