RFC: 5905
Оригинал: Network Time Protocol Version 4: Protocol and Algorithms Specification
Предыдущие версии: RFC 958, RFC 1059, RFC 1119, RFC 1305, RFC 1361, RFC 1769, RFC 2030, RFC 4330
Категория: Предложенный стандарт
Дата публикации:
Авторы: , , , ,
Перевод: Мельников Дмитрий Анатольевич

11.2.2. Процедура (алгоритм) кластеризации

Кандидаты из группы основных источников синхронизации помещаются в списке оставшихся претендентов v в форме наборов параметров (p, θp, ψp, λp), в котором p — идентификатор виртуального соединения, θp, ψp, stratump — текущие значения сдвига, джиттера и номера «слоя» р-го виртуального соединения, соответственно, а λp — весовой коэффициент равный выражению stratump × MAXDIST + λ, где λ — корневое расстояние синхронизации для р-го виртуального соединения. Перечень основных источников синхронизации обрабатывается процедурой (алгоритмом) кластеризации, в этой обработке принимает участие вторая часть прикладного процесса clock_select():

  1. Пусть набор p, θp, ψp, λp определяет кандидат из списка основных источников синхронизации.

  2. Классифицируем кандидатов с учётом возрастания λp. Пусть n — число кандидатов, а параметр NMIN определяет минимально необходимое число кандидатов в списке основных источников синхронизации.

  3. Для каждого кандидата определяется селективный джиттер ψs:

         +-----             -----+1/2
         |        n-1            |
         |        ---            |
         |   1    \              |
    ψs = | ---- * /  (θs - θj)2  |
         |  n-1   ---            |
         |        j=1            |
         +-----             -----+
  4. Выбираем кандидата с максимальным значением ψs и обозначаем ψmax.

  5. Выбираем кандидата с минимальным значением ψp и обозначаем ψmin.

  6. Проверяем неравенства ψmax < ψmin или n ≤ NMIN. Если они выполняются, то тогда процедура считается выполненной, а оставшиеся кандидаты в списке основных источников синхронизации ранжируются в порядке предпочтения. Первая запись в списке определяет системный удалённый сервер времени, а его переменные в дальнейшем используются для обновления системных переменных. Если неравенства не выполняются, то тогда претендент со значением ψmax удаляется из списка, значение n уменьшается на единицу, а процедура переходит на третью итерацию (λ).

Данная процедура (алгоритм) функционирует циклически, и при каждом цикле удаляет из списка основных источников синхронизации одного из кандидатов, имеющего максимальный селективный джиттер ψs. Однако, если значение ψs меньше минимального значения джиттера удалённого сервера времени ψp, то тогда добиться улучшения качества синхронизации путём удаления «бракуемых» серверов времени не возможно. В противном случае (ψs > ψp), определяется минимальный состав основных источников синхронизации, что позволяет корректно завершить процедуру. После её завершения регистрируется финальное значение ψmax, так как оно в последующем используется в качестве системного селективного джиттера Ψs.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.