Load balancing is a technique to spread work between two or more computers, network links, CPUs, hard drives, or other resources, in order to get optimal resource utilization, throughput, or response time. It is commonly used to mediate internal communications in computer clusters, especially high-availability clusters. Using multiple components with load balancing, instead of a single component, may increase reliability through redundancy.
The balancing service in our lab is provided by BalanceNG, a commercial software IP load balancing solution utilising its own network stacks and functionality. It runs on Linux-x86 (2.4 and 2.6 kernels distribution independent) and Solaris (9/10). That means no special hardware device is required but simple a computer running Linux or Solaris.
The website for BalanceNG: http://www.inlab.de/balanceng/