Patent ID: 7962636

Claim:
A computer program product comprising one or more computer storage media having encoded thereon computer executable instructions which, when executed in a distributed computing system with a front-end server and a back end server which communicate over a network, perform a method of pooling connections between the front-end server and the back-end server by changing an identity for an established communication channel in order to reduce the number of connections needed to allow multiple clients to take action on multiple resources residing on the back-end server, the method comprising: a back-end server receiving a request from a front-end server to establish a variable identity pipe with the front-end server, the request including a front-end identifier for authenticating the front-end server to the back-end server, the variable identity pipe to be used to facilitate communication between multiple clients through the front-end server to multiple resources residing on the back-end server; the back-end server authenticating the front-end server; establishing the variable identity pipe between the front-end server and the back-end server; associating the front-end identifier with the variable identity pipe; receiving a first request from the front-end server to change the identity associated with the variable identity pipe from the front-end server to a first client identity for a first client connected to the front-end server, the request including first client identity information; and changing the identity associated with the variable identity pipe to the first client identity; receiving from the front-end server one or more remote procedure calls (RPCs) associated with the first client for a first resource on the back-end server.