A client-server system includes a new front end server which interposes
itself between a prior (back end) server and its clients using an
interposed dynamically-loaded library linked to the back end. The
interposed library and front end can provide enhanced services without
requiring reconfiguration of either the back end server or its clients.
The front end can accept network connections on the same port as the back
end server is programmed to. The interposed library intercepts standard
network system calls by the back end and emulates their behavior by
communicating with the front end. The front end can send file descriptors
of either direct connections with clients, or of pipes for relaying
requests and response from and to clients through the front end, to the
interposed library for return to calls by the back end to accept
connections. The capabilities which the front end can provide include
caching, protocol conversion, session affinity, filtering, traffic
conversion, and spreading load between multiple back end processes.
Un sistema del servidor de cliente incluye un servidor nuevo del extremo delantero que se interponga entre un servidor anterior (del extremo trasero) y sus clientes usando una biblioteca dina'mico-cargada interpuesta ligada al extremo trasero. La biblioteca interpuesta y el extremo delantero pueden proporcionar servicios realzados sin requerir la reconfiguración del servidor trasero del extremo o de sus clientes. El extremo delantero puede aceptar conexiones de red en el mismo puerto a el cual el servidor trasero del extremo se programa. La biblioteca interpuesta intercepta llamadas estándares del sistema de la red por el extremo trasero y emula su comportamiento comunicándose con el extremo delantero. El extremo delantero puede enviar descriptores del fichero de conexiones directas con los clientes, o de las pipas para retransmitir peticiones y respuesta y a clientes a través del extremo delantero, a la biblioteca interpuesta para la vuelta a las llamadas por el extremo trasero de aceptar conexiones. Las capacidades que el extremo delantero puede proporcionar incluyen depositar, la conversión de protocolo, la afinidad de la sesión, la filtración, la conversión del tráfico, y la carga que se separa entre los procesos del final de la parte posteriora del múltiplo.