This paper presents the design philosophy and implementation of the BA
LANCE system. BALANCE Is a flexible, network independent and computer
architecture independent load balancing system which allows the buildi
ng of reusable parallel and distributed applications. By implementing
related services as generic servers with their connection endpoints re
gistered in BALANCE, the clients can easily access the servers by serv
er system calls. To demonstrate the flexibility of BALANCE, several wi
dely different applications have been implemented and evaluated, inclu
ding system servers, parallel and distributed applications and a sched
uling testbed. The use of generic servers to improve system modularity
and code reuse is also discussed. (C) 1997 by John Wiley & Sons, Ltd.