Способ синхронизации часов в цифровых сетях
METHOD FOR SYNCHRONIZING CLOCKS IN DIGITAL NETWORKS

Изобретение относится к области способов синхронизации в цифровых сетях, в частности, в которых контролируются внешние или внутренние параметры с фиксацией времени на некоторых объектах, снабженных часами реального времени, и по каналам связи передается информация об этих параметрах, включая время, на другой объект, также снабженный часами реального времени, указанный объект является ведущим относительно других, ведомых объектов.
Примерами систем, в которых реализуются такие способы, являются системы сигнализации, охраны, телеметрии, экологического мониторинга и т.п.
Важнейшим параметром таких систем является точность фиксации времени изменения контролируемого параметра, относительно часов ведущего объекта.
Ввиду того, что стабильность любых часов ограничена, всегда имеется расхождение между часами ведомых и ведущего объектов, в общем случае указанное расхождение является функцией времени r{t).
m
m
s
r(t)=t-t
m
где t - время ведущего объекта (master),
s
t - время ведомого объекта (slave).
0
Для каждой системы в зависимости от конкретного приложения существует максимально допустимое значение временного расхождения r. Для нормально функционирующей системы должно выполняться условие:
0
r(t) ≤ rдля всех t.
m
s
ms
sm
Ведущий и ведомые объекты могут обмениваться пакетами данных, содержащими информацию о временах t и t в момент отправки этих пакетов. Обозначим  времена приема по часам принимающей стороны соответствующих пакетов. В реальных системах всегда имеется некоторая задержка в передаче пакетов. d - величина задержки при передаче по каналу связи пакета от ведущего объекта к ведомому, a d - то же, но в противоположном направлении.
Между указанными величинами имеют место следующие соотношения:
m
s
m
s
Таким образом, обмен между объектами принципиально не дает возможности определить величину расхождения, необходимую для коррекции часов с погрешностью менее d. Существуют разные пути уменьшения этой погрешности, связанной с временем передачи информации по каналам связи. Если каналы являются стационарными, т.е. d и d - константы, они могут быть вычислены на стадии проектирования системы (см. 1. патент РФ на изобретение №2040035, М. кл. G04C 11/02, опубл. 20.02.1995 г.), в котором рассматривается способ синхронизации часов, основанный на приеме разнесенными наземными пунктами шумовых СВЧ-сигналов с борта искусственного спутника Земли, когерентном их преобразовании к видеочастоте, цифровой регистрации принятых сигналов и определении временной задержки прихода одного и того же сигнала в пункты синхронизации методом корреляционной обработки зарегистрированных сигналов, по величине которой производят сличение шкал времени, отличающийся тем, что перед началом сеанса передачи шкал времени измеряют значения временных задержек в передающей и приемной аппаратуре первого и второго пунктов, определяют разности значений временных задержек в передающей и приемной аппаратуре указанных пунктов, а затем в начальный момент времени t1 по часам первого пункта с помощью кодовой последовательности формируют шумовой СВЧ-сигнал, регистрируют его на этом же пункте, сформированный сигнал задерживают по времени на величину разности значений временных задержек в передающей и приемной аппаратуре первого пункта, задержанный сигнал преобразуют на частоту f1 fпр.2, усиливают преобразованный сигнал по мощности, излучают усиленный сигнал в направлении на искусственный спутник Земли-ретранслятор, принимают бортовой аппаратурой искусственного спутника Земли-ретранслятора сигнал на частоте f1, переизлучают его на второй пункт на частоте f1 с сохранением фазовых соотношений, принимают ретранслированный сигнал на втором пункте, ретранслируют принятый сигнал с задержкой, равной разности значений временных задержек в передающей и приемной аппаратуре второго пункта, принимают бортовой аппаратурой искусственного спутника Земли-ретранслятора сигнал на частоте f1, переизлучают его на первый пункт на частоте f2 с сохранением фазовых соотношений, принимают ретранслированный сигнал на первом пункте, усиливают принятый сигнал по мощности, преобразуют усиленный сигнал на частоту fc fпр.1, ретранслируют его на этом же пункте в момент времени t3, в тот же начальный момент времени t1 по часам второго пункта с помощью такой же кодовой последовательности формируют такой же шумовой СВЧ-сигнал, сформированный сигнал преобразуют на частоту f1, усиливают его по мощности, излучают усиленный сигнал в направлении на искусственный спутник Земли-ретранслятор, принимают бортовой аппаратурой искусственного спутника Земли-ретранслятора сигнал на частоте, переизлучает его на первый пункт на частоте f2 с сохранением фазовых соотношений, принимают ретранслированный сигнал на первом пункте, усиливают принятый сигнал по мощности, преобразуют усиленный сигнал на частоту fc fпр.1 и регистрируют его на этом же пункте в момент времени t2. Однако данный способ не применим для нестационарных систем, где d и d не являются константами.
ms
sm
m
s
Если система симметрична, т.е. d=d=d, возможна процедура обмена с обратной передачей, заключающаяся в том, что пакет от одного объекта передается к другому, который немедленно его возвращает (передает в противоположном направлении). В этом случае время от момента передачи пакета до получения его назад составляет 2d, что дает возможность определить d (см. 2. патент РФ на изобретение №2404448, М. кл. G04C 1/02, G06F 13/42, опубл. 20.11.2010 г.). В данном способе вычисляют первое значение временного смещения между часами реального времени подчиненного компьютера и часами реального времени главного компьютера, вычисляют второе значение временного смещения между часами реального времени подчиненного компьютера и часами реального времени главного компьютера, вычисляют среднее значение временного смещения между часами реального времени подчиненного компьютера и часами реального времени главного компьютера, используя первое значение временного смещения и второе значение временного смещения, и корректируют часы реального времени подчиненного компьютера, используя среднее значение временного смещения. Однако данный способ не применим для несимметричных систем, когда средой передачи является сеть с коммутацией пакетов, маршрутизацией и с различной физической природой каналов связи, в которых допущение о симметричности в общем случае не выполняется, и d и d являются случайными величинами. Данный способ по патенту №2404448 выбран за прототип. Проблемой, которую необходимо решить, является низкая точность синхронизации часов ведомых объектов относительно часов ведущего объекта в несимметричных сетях, таких, как сети с коммутацией пакетов, маршрутизацией и различной природой каналов связи, в которых время доставки пакетов является случайными величинами. Техническим результатом предлагаемого технического решения является повышение точности синхронизации часов ведомых объектов относительно часов ведущего объекта при случайном времени задержки доставки пакетов.
Указанный технический результат достигается в способе синхронизации часов в цифровых сетях, состоящих из ведущего и ведомого объектов, снабженных часами, между которыми осуществляют передачу пакетов информации по каналам связи, при этом ведущий объект систематически передает на ведомые объекты синхронизирующие пакеты, согласно изобретению ведомые объекты после приема синхронизирующего пакета формируют квитирующие пакеты, фиксируя информацию о времени отправки пакета по часам ведомого объекта, а ведущий объект после приема квитирующего пакета, формирует корректирующий пакет, содержащий информацию о времени отправки по часам ведущего объекта и передает его на ведомый объект, где фиксируют время приема этого пакета, вычисляют разность между временем передачи квитирующего пакета и приема корректирующего пакета по часам ведомого объекта, которую сравнивают с порогом, являющимся максимально допустимым временем задержки, и, если вычисленная разность не превышает значения порога, производят корректировку часов ведомого объекта на величину вычисляемой разности между временем отправки корректирующего пакета по часам ведущего объекта и временем приема корректирующего пакета по часам ведомого объекта, за вычетом половины времени между передачей квитируемого пакета и приема корректируемого пакета.
Преимущество заявляемого способа заключается в том, что он позволяет исключить из процесса корректировки часов акты с большим временем задержки, т.е. избежать больших погрешностей синхронизации, которые связаны со случайностью времени задержки в канале связи.
Предлагаемый способ поясняется чертежами, где на фиг. 1 представлена временная диаграмма, поясняющая процесс синхронизации.
На фиг. 1 приняты следующие обозначения:
Т
t 1 - момент отправки синхронизирующего пакета, инициализированный синхронизирующей последовательностью с периодом Т;
Т
t 2 - момент приема синхронизирующего пакета, совпадающий с моментом отправки квитирующего пакета;
Т
Т
ΐ 3 - момент приема квитирующего пакета, совпадающий с моментом передачи корректирующего пакета, содержащего информацию о t 3;
Т
t 4 - момент приема синхронизирующего пакета;
r - расхождение часов:
L - временной порог;
sm
d - задержка при передаче от ведомого объекта к ведущему;
ms
d - задержка при передаче от ведущего объекта к ведомому;
d - суммарная задержка:
На фиг. 2 поясняется процесс синхронизации с периодом Т. На этой фигуре основания треугольников определяют величину:
T
T
d=t4 - t2.
На фиг. 3 приведена блок-схема алгоритма процесса синхронизации.
Процесс синхронизации в соответствии с фиг. 1, 2, 3 происходит следующим образом:
T
1. В момент времени t 1 от ведущего объекта передается синхронизирующий пакет к ведомому.
T
2. Ведомый объект, приняв синхронизирующий пакет в момент времени t 2, передает квитирующий объект к ведущему.
T
T
3. Ведущий объект, приняв квитирующий пакет в момент времени t 3, передает корректирующий пакет, содержащий информацию о t 3, к ведомому.
T
4. Ведомый объект, приняв корректирующие пакет в момент времени t 4 проверяет соотношение:
5. Если соотношение выполняется (фиг. 1,б), производится корректировка часов ведомого объекта на величину:
6. Если соотношение не выполняется (фиг. 1,а), корректировка не производится.
Описанная процедура производится с периодом Τ (фиг. 2).
На этой фигуре основания треугольников определяют величину:
Абсолютная погрешность синхронизации μ удовлетворяет соотношению:
т.е. чем меньше d, тем выше точность синхронизации, d является случайной величиной, распределенной по определенному закону.
0
Ввиду того, что время доставки принципиально не может равняться нулю, существует некоторое не случайное минимальное время доставки - d, т.е.
где ~d - случайная составляющая задержки.
Временной порог L следует выбирать исходя из соотношения:
где α<<1
Вероятность выполнения соотношения (3) p=F(L), где F (~d) - закон распределения случайной составляющей задержки.
В теории массового обслуживания, как правило, используется показательный закон:
Математическое ожидание при этом
Как правило, разработчики системы нормируют среднее значение задержки, что дает возможность определить параметр β. Вероятность того, что при N попыток синхронизации соотношение (3) выполняется хотя бы один раз:
Если необходимо выполнить число попыток Ν, при которых событие наступит с вероятностью q хотя бы один раз (при вероятности события p), то:
Из (8) и (9) следует, что
-βαd
Р=1 - e0.
Необходимо, чтобы за N попыток расхождение часов не превышало предельно допустимого, т.е.
-3
-6
где k - коэффициент, характеризующий скорость ухода часов. В реальных системах k колеблется в широких пределах от 10 до 10.
Соотношения (8), (12), (13) и (14) дают возможность выбрать необходимые параметры для реализации заявляемого способа синхронизации.
0
В предлагаемом способе с вероятностью q ошибка синхронизации не превышает L, т.е. близка к минимальной задержке d. Если заявляемую процедуру не использовать, вероятность того, что ошибка синхронизации будет больше μ определяется соотношением:
0
0
-4
Для r=1 сек, β=10, d=0,05 сек, α=0,1, q=0,99 и k=10 в соответствии с приведенными формулами:
P=0,05; N=90 и T=111 сек.
Это означает, что при заданных и рассчитанных параметрах с вероятностью 0,99 ошибка синхронизации не будет больше 0,1 сек. Если не использовать предлагаемое решение, то при тех же параметрах вероятность того, что ошибка синхронизации будет больше 0,2 сек равна в соответствии с (15) - 0.14.
Блок-схема алгоритма реализации способа, представленная на фиг. 3, показывает возможность осуществления предлагаемого способа.