«Лаборатория Касперского» запатентовала способ организации бесперебойной работы приложений в распределенных компьютерных системах. Патент № 8639818, выданный Бюро по регистрации патентов и торговых марок США, описывает метод, обеспечивающий отказоустойчивую работу приложения, запущенного сразу на нескольких серверах в кластере и требующего скоординированной работы.
Бесперебойная работа в распределенной вычислительной среде

Корпоративные системы, такие как почтовые сервисы и базы данных, обслуживают большое количество пользователей и часто запускаются на нескольких серверах, объединенных в так называемый кластер. Подобная структура предоставляет больше ресурсов, но при этом нуждается в механизме перераспределения задач в случае поломки одного или нескольких узлов. Это особенно важно, если задачи обрабатываются только одним узлом и не дублируются на других. Для управления кластером может быть выделен управляющий сервер, однако если и он выйдет из строя, под угрозой окажется работа всей системы.

Полученный патент описывает способ организации бесперебойной работы кластера без использования центрального узла. Если один из серверов в распределенной системе откажет, то другие самостоятельно примут его задачи на себя. Децентрализация гарантирует, что задачи будут выполняться, пока хотя бы один узел продолжает работать.

Важной деталью патента является счетчик, который отсчитывает время по единому для всех узлов системы алгоритму. Благодаря этому метод продолжает работать даже в том случае, если часы на серверах не синхронизированы. Через определяемый алгоритмом период времени каждый из узлов кластера отмечает текущее показание своего счетчика в общей базе данных. Одновременно с этим производится проверка своевременного обновления счетчиков других узлов. Если один из них перестал обновляться, соответствующий счетчику узел считается вышедшим из строя, и его задачи назначаются на тот узел, который первый обнаружил поломку.

По сообщению «Лаборатории Касперского»