Patent ID: 7231446

Claim:
An intermediate computer networking device for use on a computer network connecting a plurality of clients with a plurality of physical server devices, the clients and physical server devices being configured to communicate using Hypertext Transfer Protocol (HTTP), the intermediate computer networking device comprising: an HTTP multiplexor/demultiplexor configured to receive HTTP requests from the plurality of clients via a plurality of client TCP connections from the clients to the intermediate computer networking device, and to monitor response parameters that are specific to individual ones of a plurality of server TCP connections from the intermediate computer networking device to a plurality of corresponding sockets on the physical server devices, wherein the HTTP multiplexor/demultiplexor includes a plurality of agents, each agent assigned to a different one of the client TCP connections from the clients to the intermediate computer networking device, and wherein upon receiving an HTTP request from the client, the respective agent: (1) identifies a single one of the plurality of physical server devices specified as a destination within the HTTP request; (2) identifies at least two of the server TCP connections, the at least two identified server TCP connections coupling the intermediate computing device to a plurality of different sockets on the same physical server device specified as the destination within the HTTP request; (3) selects one of the identified server TCP connections that couple the intermediate computing device to different sockets on the same physical server device specified as the destination within the HTTP request, wherein the selection is based on the monitored response parameters specific to the different sockets on the physical server device specified as the destination within the HTTP request, and (4) routes the HTTP request over the selected one of the server TCP connections that couple the intermediate computing device to the different sockets on the same physical server device specified as the destination within the HTTP request for communication to the physical server device as a multiplexed HTTP request.