Примеры сетевых топологий


Сетевой протокол времени NTP - часть 35


c <- 0;
i <- 0;

for (each [endpoint, type] from lowest) begin/* нахождение нижней границы */

i <- i - type;
low <- endpoint;
if (i ? m - f) break;
if (type = 0) c <- c + 1;
endfor;
i <- 0;

for (each [endpoint, type] from highest) begin/* нахождение верхней границы */

i <- i + type;
high <- endpoint;
if (i ? m - f) break;
if (type = 0 ) c <- c + 1;
endfor;

if (c ? f) break;/* продолжить, пока не будут найдены все ложные кандидаты */

endfor;

if (low > high) begin

/* завершить, если не найдено ни одного пересечения */

sys.peer <- null;
exit;
endif;

Заметим, что работа продолжается далее данной точки, только если имеется более m/2 пересечений. Однако возможно, но не слишком вероятно, что в области пересечения окажется менее m/2 кандидатов.

Алгоритм кластеризации

В исходном алгоритме DTS процедура выбора часов прерывается в данной точке с выбором кандидатов из центра области пересечения. Однако это ведет к заметной потере точности и стабильности, так как не учитываются индивидуальные статистические свойства партнеров. Следовательно, в NTP только кандидаты, которые остаются в результате описанного выше отбора, могут участвовать в последующей обработке. Список кандидатов преобразуется к форме [расстояние, индекс], где расстояние вычисляется на основе кода слоя и расстояния синхронизации l партнера. Масштабный коэффициент позволяет реализовать механизм весового учета вкладов от кодов слоя и расстояния. Обычно, код слоя доминирует, если только один или более кандидатов имеют слишком большие расстояния. Список упорядочивается согласно величине расстояния.

m <- 0;

for (each peer) begin/* обращение ко всем партнерам */

if (low ? q ? high) begin

l <- distance (peer);/* сформировать запись в списке */

dist <- {peer.stratum * NTP.MAXDISPERSE + l}
add [dist, peer] to candidate list;
m <- m + 1;
endif;
endfor;
sort candidate list by increasing dist;

Последующие шаги служат для того, чтобы отсеять кандидатов со слишком большими дисперсиями.


Начало  Назад  Вперед



Книжный магазин