Load balancing is one of the most attractive features of the NetSolve project. NetSolve performs computations over a network containing a large number of machines with different characteristics, and one of these machines is the most suitable for a given problem, meaning the one yielding the shortest response time. NetSolve provides the user with a ``best effort'' to find this best resource.
As seen on figure 2, a NetSolve client sends a request to an instance of the NetSolve agent. This instance of the agent has some knowledge about the computational resources in the system. Hopefully this knowledge is not too out of date (which is ensured by a set of protocols we do not have space to describe here) and, for each resource M, allows a fairly accurate computation of :
All the details about the protocols involved in this computations are given in [&make_named_href('', "node19.html#netsolve","[17]")]. The whole idea behind this scheme is that it would be too inefficient to have the agent compute exact values for and for each incoming request. Instead, we prefer to have a quick estimate, which might not be as accurate.