Abstract
LinuxDirector is a connection director that supports load balancing among multiple Internet servers, which can be used to build scalable Internet services based on clusters of servers. LinuxDirector extends the TCP/IP stack of Linux kernel to support three IP load balancing techniques, VS/NAT, VS/TUN and VS/DR. Four scheduling algorithms have been implemented to assign connections to different servers. Scalability is achieved by transparently adding or removing a node in the cluster. High availability is provided by detecting node or daemon failures and reconfiguring the system appropriately. This paper describes the design and implementation of LinuxDirector and presents several of its features including scalability, high availability and connection affinity.
Similar content being viewed by others
References
The Coda project. CMU Coda Team, 1987—now. http://www.coda.cs.cmu.edu/
Cisco local director. Cisco Systems, Inc., 1998. http://www.cisco.com/warp/public/751/lodir/index.html
Anderson E, Patterson D, Brewer E. The magicrouter: An application of fast packet interposing. http://www.cs.berkeley.edu/eanders/magicrouter/, May 1996.
Andresen D, Yang T, Ibarra O H. Towards a scalable distributed www server on workstation clusters. InProc. 10th IEEE Int. Symp. Parallel Processing (IPPS’96), April 1996, pp. 850–856.
Brisco T. DNS support for load balancing. http://www.ietf.org/rfc/rfc1794.txt, April 1995, RFC 1794.
Dahlin A, Froberg M, Walerud Jet al. Eddie: A robust and scalable internet server. http://www.eddieware.org/, 1998—now.
Damani O P, Chung P E, Huang Y. One-ip: Techniques for hosting a service on a cluster of machines. http://www.cs.utexas.edu/users/damani/, August 1997.
Dias D, Kish W, Mukherjee Ret al. A scalable and highly available server. InCOMPCON 1996, 1996, pp. 85–92.
Goldszmidt G, Hunt G. NetDispatcher: A tcp connection router. http://www.ics.raleigh.ibm.com/netdispatch/, May 1997.
Gray J, Reuter T. Transaction Processing Concepts and Techniques. Morgan Kaufmann, 1994.
Horman S. Creating redundant Linux servers. InThe 4th Annual LinuxExpo Conference, May 1998. http://vergenet.net/linux/fake/
Katz E D, McGrath R. A scalable http server: The NCSA prototype.Computer Networks and ISDN Systems, May 1994, pp. 155–163.
Kwan T T, McGrath R E, Reed D A. NCSA’s world wide web server: Design and performance.IEEE Computer, Nov. 1995, pp. 68–74.
Robertson Aet al. High-availability Linux project. http://www.linux-ha.org/, 1998—now.
Engelschall R S. Load balancing your web site: Practical approaches for distributing http traffic.Web Techniques Magazine, May 1998, 3(5). http://www.webtechniques.com/
Trocki J. Mon: Service monitoring daemon. http://www.kernel.org/software/mon/, 1998—now.
Yoshikawa C, Chun B, Eastharn Pet al. Using smart clients to build scalable services. InUSENIX’97 Proceedings, 1997. http://now.cs.berkeley.edu/
Zhang Wet al. Linux virtual server project. http://www.LinuxVirtualServer.org/, 1998—now.
Author information
Authors and Affiliations
Corresponding author
Additional information
ZHANG Wensong is a Ph.D. candidate at National Laboratory for Parallel & Distributed Processing. He received his B.S. and M.S. degrees from Changsha Institute of Technology in 1994 and 1997, respectively. His current research interests include clustering technology, operating systems, and object database systems. He also devotes a lot of his time to promoting Linux & open source development in China.
JIN Shiyao is a professor and Ph.D. advisor at National Laboratory for Parallel & Distributed Processing. His research interests include computer architecture, emulation, and performance evaluation.
WU Quanyuan is a professor and Ph.D. advisor at National Laboratory for Parallel & Distributed Processing. He is also a member of National ‘863’ Programme Steering Committee. His research interests include artificial intelligence, distributed computing, and software technologies.
Rights and permissions
About this article
Cite this article
Zhang, W., Jin, S. & Wu, Q. LinuxDirector: A connection director for scalable internet services. J. Comput. Sci. & Technol. 15, 560–571 (2000). https://doi.org/10.1007/BF02948838
Received:
Revised:
Issue date:
DOI: https://doi.org/10.1007/BF02948838
