Response times from a server in a network with high and volatile load are not exactly predictable. For this reason, an adaptive protocol has been developed and implemented for the CHARIOT system to make it aware of the currently available bandwidth. If the system recognizes a lack of bandwidth, this protocol reduces the amount of data sent back to the client. Reduction is achieved by size-reduction or compression of transferred images. This feature enables CHARIOT to transfer the result of a query to the client within a given time limit. The more client requests need to be handled by the system, the more likely that the capacity of the server becomes a bottleneck. The solution to avoid such situations of server overload is the use of a load sharing algorithm in a distributed server.
This work adds such a distributed server to the CHARIOT system, which should help improve the quality of data delivered to the client. The distributed system consists of a frontend server that is contacted by the client, and several backend servers used by this frontend to off-load work.
The load sharing algorithm consists of four components, the so-called policies. The transfer policy decides when the frontend server should be off-loaded, the selection policy decides which part of the load is swapped out, the location policy chooses the backend server that should receive the work, and the information policy is collecting the information about the distributed system and all servers in the workstation cluster. The resulting implementation is flexible and allows easy experimentation with various combinations of these policies.
This work also covers the comparison of these strategies. A preliminary evaluation indicates, that results get better by off-loading entire requests compared to off-loading single prepare steps [WA97] of requests. Furthermore the round robin strategy to choose a backend server is superior to more sophisticated strategies, which confirms earlier results, e.g. those mentioned in [SH92].