Self-stabilizing load distribution for replicated servers on a per-access basis

Felix C. Gärtner, Henning Pagnia · 2003

Usually, load distribution schemes for replicated servers are based on a many-to-one mapping between client and server meaning that, while a server may serve many clients, a client has a single specific server which it queries at any point in time. In some cases, however it is desirable that the number of accesses of a client may be distributed over multiple servers, thus yielding a many-to-many mapping between clients and servers. We present a simple method to efficiently realize such a many-to-many mapping between clients and servers. For the sake of transparency we add a component called "distribution module" to the communication interface of client and server. This module is responsible for distributing server accesses over multiple target machines in a well defined way. We present algorithms for the client and server component and show that they are self-stabilizing, meaning that they converge to a stable state once the access pattern becomes regular. Due to this property, the components can tolerate any internal transient fault in a non-masking way. Additionally, our approach is highly modular since servers may run an off-the-shelf load distribution algorithm and replica consistency is not affected.

Read the paper · More papers on PaperTik