NetDispatcher: A TCP Connection Router

    Net Dispatcher is a software router of TCP connections that supports load sharing across multiple TCP servers. It cosists of the Executor, an operating system kernel extension that supports fast IP packet forwarding, and a user level Manager process that controls it. The Manager implements a novel dynamic load-sharing algorithm for allocation of TCP connections among servers according to their real-time load and responsiveness. This algorithm produces weights that are used by the Executor to quickly select a server for each new connection request. This allocation method was shown to be higly efficient in real tests, for large Internet sites serving milliions of TCP connections per day. The Executor forwards client TCP packets to the servers without performing any TCP/Ip header translations. Outgoing server-to-client packets are not handled by NetDispatcher and can follow a separate network route to the clients. Depending on the workload traffic, the performance benefit of this half-connecitons method can be significant. Prototrypes of NetDispatcher were used to scale up several large and high-load Internet sites.

By: German Goldszmidt, and Guerney.D.H.Hunt

Published in: RC20853 in


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to .