Во многих распределенных системах один из сайтов играет роль координатора при выполнении распределенного алгоритма. Иногда координатором является сайт, который инициировал выполнение алгоритма. Но не всегда один и тот же сайт на протяжении всего вычисления может оставаться координатором. Можно привести следующие причины смены координатора.
1. Выход из строя оборудования на сайте – координаторе, в связи с чем, этот сайт не может продолжать управлять процессами в распределенной системе.
2. Метод координации, реализованный на сайте, оказался неэффективным.
3. Изменения в интенсивности использования различных сайтов системы, приводящие к тому, что координация из прежнего места становится менее эффективной, чем координация с других сайтов.
В подобных случаях требуется выбор нового координатора. Выбор среди сайтов нужно проводить и тогда, когда должен быть выполнен централизованный алгоритм и не существует заранее известного кандидата на роль инициатора алгоритма. Например, в случае процедуры инициализации системы, которая должна быть выполнена в начале или после сбоя системы. Так как множество активных сайтов может быть неизвестно заранее, то невозможно назначить один сайт раз и навсегда на роль лидера.
Активные (функционирующие в данный момент) сайты должны самоорганизоваться и провести выборы координатора. Для выбора нужна какая-то информация о кандидатах. Для простоты будем считать, что с каждым сайтом связано некоторое число – оценка est (estimate). Выбран должен быть сайт с максимальным (или в отдельных задачах – минимальным) значением оценки.
Максимальное значение нетрудно найти, если все локальные оценки собрать в одном месте. Но сложность заключается в том, что неясно, кто бы мог взять на себя сбор информации, а также зависимость процедуры сбора от архитектуры системы.