СПОСОБ И УСТРОЙСТВО ДЛЯ ОСУЩЕСТВЛЕНИЯ СИНХРОНИЗАЦИИ ЧАСОВ МЕЖДУ УСТРОЙСТВАМИ
METHOD AND APPARATUS FOR PERFORMING CLOCK SYNCHRONISATION AMONG DEVICES

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к области сетевых коммуникаций, в частности к способу и устройству для осуществления синхронизации часов между устройствами.
УРОВЕНЬ ТЕХНИКИ
Для того чтобы эффективно выполнить проверку и отключение, а также сформировать отчет об ошибках соединения в виртуальных локальных сетях с мостовыми подключениями, может быть использована функция управления ошибками соединения (CFM); в CFM важной функцией является функция измерения задержки сети Ethernet (ETH-DM). В протоколе Y.1731 ETH-DM включает в себя TWO-DM (TWO-DM) и измерение односторонней задержки кадра (ONE-DM), что удобно администратору для измерения и расчета задержки между некоторыми двумя точками и неустойчивой синхронизации передачи данных в соответствии с фактической потребностью во время управления сетью.
TWO-DM завершается передачей регулярных кадров ETH-DM в конечную точку обслуживания (МЕР) уровня и получением кадров ответной информации об ETH-DM от МЕР уровня в течение диагностического интервала. Когда некоторая МЕР создает кадр с информацией об ETH-DM, ожидается, что эта МЕР получит ответный кадр с информацией об ETH-DM от МЕР уровня. Когда используется TWO-DM, точное значение задержки может быть рассчитано, даже если часы двух устройств не синхронизированы. Процесс TWO-DM происходит, как показано на фиг.1; исходная МЕР передает один кадр с запросом информации об ETH-DM с кадром, содержащим TxTimeStampf, а ответная МЕР отправляет в ответ один кадр с информацией об ETH-DM с кадром ответа, содержащим TxTimeStampf, скопированный из запроса информации об ETH-DM с информацией временной метки, указывающей время, когда ответная МЕР принимает и передает кадр. Исходная МЕР получает кадр с ответной информацией об ETH-DM и рассчитывает задержку кадра исходя из включенных четырех временных меток по следующей формуле:
Dual-Delay = (RxTimeb - TxTimeStampf) - (TxTimeStampb - RxTimeStampf),
где Dual-Delay представляет собой двустороннюю задержку кадра, RxTimeb представляет собой временную метку, когда исходный конец получает ответное сообщение, TxTimeStampf представляет собой временную метку, когда исходный конец передает сообщение, TxTimeStampb представляет собой временную метку, когда ответный конец передает ответное сообщение, RxTimeStampf представляет собой временную метку, когда ответный конец получает сообщение от исходного конца.
Процесс ONE-DM протекает, как показано на фиг.2; измерение односторонней задержки кадра вычисляется как разность между временем, когда ответный конец получает сообщение, и временем, когда исходный конец передает сообщение, которое запрашивает синхронизацию между исходной МЕР и ответной МЕР
Однако для результата ONE-DM требуется высокая точность, вплоть до наносекундного масштаба, в то время как существующие способы выполнения синхронизации между двумя устройствами по сетевому протоколу службы времени иметь точность только до секундного масштаба, не отвечающую требованиям, поэтому использование ONE-DM в приложениях затруднительно.
КРАТКОЕ ОПИСАНИЕ
Настоящим изобретением должна быть решена задача создания способа и устройства для осуществления синхронизации часов между устройствами, чтобы устранить недостаток, заключающийся в низкой точности синхронизации между устройствами в соответствующем уровне техники.
Для достижения вышеуказанной цели техническое решение настоящего изобретения предоставляет способ осуществления синхронизации часов между устройствами; данный способ включает в себя следующие этапы: A - выполнение грубой синхронизации между часами исходного и ответного концов с помощью сетевого протокола службы времени с высокой точностью грубой синхронизации до секундного масштаба; B - инициирование исходным концом измерения двусторонней задержки в сети и определение времени, когда ответный конец передает ответное сообщение, времени, когда исходный конец получает ответное сообщение, и двусторонней задержки кадра и использование половины двусторонней задержки кадра в качестве односторонней задержки кадра; C - повторение этапа B заранее заданное число раз и получение среднего значения времени, когда ответный конец передает ответное сообщение, среднего значение времени, когда исходный конец получает ответное сообщение, и средней односторонней задержки кадра исходя из многократно определенного времени, когда ответный конец передает ответное сообщение, многократно определенного времени, когда исходный конец получает ответное сообщение, и многократно определенных односторонних задержек кадра; D - вычитание среднего значения времени, когда исходный конец получает ответное сообщение, из суммы среднего значения того времени, когда ответный конец передает ответное сообщение, и средней односторонней задержки кадра для определения величины коррекции времени; и E - получение местного текущего времени и коррекция местного текущего времени в соответствии с величиной коррекции времени у исходного конца.
Кроме того, этап B может включать в себя: B1 - передачу исходным концом ответному концу сообщения, содержащего время, когда исходный конец передает это сообщение; B2 - возвращение ответным концом ответного сообщения на исходный конец, содержащего время, когда исходный конец передает сообщение, время, когда ответный конец получает это сообщение от исходного конца, и время, когда ответный конец передает ответное сообщение; B3-получение исходным концом ответного сообщения, вычисление двусторонней задержки кадра по следующей формуле: Dual-Delay = (RxTimeb - TxTimeStampf) - (TxTimeStampb - RxTimeStampf), где Dual-Delay представляет собой двустороннюю задержку кадра, RxTimeb представляет собой время, когда исходный конец получает ответное сообщение, TxTimeStampf представляет собой время, когда исходный конец передает сообщение, TxTimeStampb представляет собой время, когда ответный конец передает ответное сообщение, a RxTimeStampf представляет собой время, когда ответный конец получает сообщение от исходного конца; B4 - вычисление односторонней задержки кадра по следующей формуле: Single-Delay = Dual-Delay ÷ 2, где Single-Delay представляет собой одностороннюю задержку кадра, a Dual-Delay представляет собой двустороннюю задержку кадра.
aver
1
2
n
aver
1
n
aver
1
2
n
aver
1
n
aver
1
2
n
aver
1
n
Кроме того, этап C может включать в себя: C1 - повторение этапа B n-1 раз и выполнение TWO-DM в сумме n раз, где n представляет собой заранее заданное число раз; C2 - вычисление среднего значения времени, когда ответный конец передает ответное сообщение, по следующей формуле: TxTimeStampb = (TxTimeStampb + TxTimeStampb + … TxTimeStampb) ÷ n, где TxTimeStampb представляет собой среднее значение времени, когда ответный конец передает ответное сообщение, а каждый из TxTimeStampb, … TxTimeStampb представляет собой полученное время, когда ответный конец передает ответное сообщение; вычисление среднего значения времени, когда исходный конец получает ответное сообщение, по следующей формуле: RxTimeb = (RxTimeb + RxTimeb + … RxTimeb) ÷ n, где RxTimeb представляет собой среднее значение времени, когда исходный конец получает ответное сообщение, а каждый из RxTimeb, … RxTimebпредставляет собой полученное время, когда исходный конец получает ответное сообщение; а также вычисление средней односторонней задержки кадра по следующей формуле: Delay = (Single-Delay + Single-Delay + … Single-Delay) ÷ n, где Delay представляет собой среднюю одностороннюю задержку кадра, а каждый из Single-Delay, … Single-Delay представляет собой полученную одностороннюю задержку кадра.
aver
aver
aver
aver
aver
aver
Кроме того, этап D может включать в себя: вычисление величины коррекции времени по следующей формуле: Minus = RxTimeb - (TxTimeStampb + Delay), где Minus представляет собой величину коррекции времени, RxTimeb представляет собой среднее значение времени, когда исходный конец получает ответное сообщение, TxTimeStampb представляет собой среднее значение времени, когда ответный конец передает ответное сообщение, a Delay представляет собой среднюю одностороннюю задержку кадра.
s
s
Кроме того, этап E может включать в себя: E1 - получение местного текущего времени T исходным концом; E2 - коррекцию местного текущего времени по следующей формуле: T=Т-Minus, где T представляет собой местное текущее время после коррекции, T представляет собой местное текущее время до коррекции, a Minus представляет собой величину коррекции времени.
Кроме того, после этапа E способ может включать в себя: инициирование на ответном конце измерения двусторонней задержки в сети, повторение этапов от B до E и коррекцию местного текущего времени ответного конца.
Кроме того, после коррекции местного текущего времени исходного конца и/или ответного конца данный способ может включать в себя этап инициирования измерения односторонней задержки в сети исходным концом для получения односторонней задержки кадра; этот этап, в частности, включает в себя: передачу исходным концом ответному концу сообщения, содержащего время, когда исходный конец передает это сообщение; прием ответным концом этого сообщения и вычитание времени, когда исходный конец передает это сообщение, из времени, когда ответный конец получает это сообщение, чтобы получить одностороннюю задержку кадра.
Техническое решение данного изобретения предоставляет также устройство для осуществления синхронизации часов между устройствами, в том числе: блок грубой синхронизации, настроенный на выполнение грубой синхронизации между часами исходного конца и ответного конца с помощью сетевого протокола службы времени с высокой точностью грубой синхронизации до секундного масштаба; блок измерения двусторонней задержки в сети, настроенный так, чтобы инициировать измерение исходным концом двусторонней задержки в сети и определение времени, когда ответный конец передает ответное сообщение, времени, когда исходный конец получает ответное сообщение и двусторонней задержки кадра, и использовать половину двусторонней задержки кадра в качестве односторонней задержки кадра; блок определения среднего значения, настроенный так, чтобы определить среднее значение времени, когда ответный конец передает ответное сообщение, среднее значение времени, когда исходный конец принимает ответное сообщение, и среднюю одностороннюю задержку кадра, исходя из многократно определенного времени, когда ответный конец передает ответное сообщение, многократно определенного времени, когда исходный конец принимает ответное сообщение, и многократно определенной односторонней задержки кадра; блок определения величины коррекции времени, настроенный так, чтобы вычитать среднее значение времени, когда исходный конец получает ответное сообщение, из суммы среднего значение времени, когда ответный конец передает ответное сообщение, и средней односторонней задержки кадра для получения величины коррекции времени; и блок коррекции, настроенный так, чтобы исходный конец получил местное текущее время и выполнил коррекцию местного текущего времени в соответствии с величиной коррекции времени.
Кроме того, устройство может включать: блок измерения односторонней сетевой задержки, настроенный так, чтобы инициировать измерение исходным концом односторонней задержки в сети, чтобы определить одностороннюю задержку кадра после того, как выполнена коррекция местного текущего времени исходного конца и/или ответного конца.
По сравнению с известным уровнем техники настоящее изобретение обладает следующими положительными эффектами:
в настоящем изобретении синхронизация часов между устройствами реализована с высокой точностью, вплоть до наносекундного масштаба, с помощью вычисления многократно определенной задержки между устройствами путем использования функции TWO-DM, получения средней односторонней задержки кадра между устройствами, и выполнения коррекции местного текущего времени с местным текущим временем устройств и средней односторонней задержки кадра.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
На фиг.1 изображена блок-схема TWO-DM в известном уровне техники;
на фиг.2 изображена блок-схема ONE-DM в известном уровне техники;
на фиг.3 изображена блок-схема способа осуществления синхронизации часов между устройствами в соответствии с вариантом осуществления настоящего изобретения;
на фиг.4 изображена структурная схема устройства для выполнения синхронизации часов между устройствами в соответствии с вариантом осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Ниже конкретная реализация настоящего изобретения будет дополнительно подробно описана в совокупности с чертежами и вариантами осуществления. Данные варианты осуществления используются для описания изобретения, но не для ограничения объема изобретения.
На фиг.3 показана последовательность операций способа осуществления синхронизации часов между устройствами в соответствии с вариантом осуществления настоящего изобретения, включающая в себя следующие этапы:
этап s301: с помощью сетевого протокола службы времени осуществляется грубая синхронизация между часами исходного конца и ответного конца с высокой точностью грубой синхронизации до секундного масштаба;
этап s302: исходный конец инициирует измерение двусторонней задержки в сети и определяет время, когда ответный конец передает ответное сообщение, время, когда исходный конец получает ответное сообщение, и двустороннюю задержку кадра и использует половину двусторонней задержки кадра в качестве односторонней задержки кадра; этот этап, в частности, включает следующие этапы:
этап S3021: исходный конец передает сообщение на ответный конец, которое содержит TxTimeStampf, представляющее собой время, когда исходный конец передает сообщение; в данном варианте осуществления предполагается, что TxTimeStampf равно 17 час 10 мин 5 с 20 нс;
этап S3022: ответный конец возвращает исходному концу ответное сообщение, которое содержит TxTimeStampf, представляющее собой время, когда исходный конец передает сообщение, RxTimeStampf, представляющее собой время, когда ответный конец получает сообщение от исходного конца, и TxTimeStampb, представляющее собой время, когда ответный конец передает ответное сообщение, в данном варианте осуществления предполагается, что RxTimeStampf равно 17 час 10 мин 15 с 500060 нс, TxTimeStampb равно 17 час 10 мин 17 с 500080 нс;
этап s3023: исходный конец получает ответное сообщение, в данном варианте осуществления предполагается, что RxTimeb, представляющее собой время, когда исходный конец получает ответное сообщение, равно 17 час 10 мин 27 с 60 нс, и вычисляет двустороннюю задержку кадра Dual-Delay по следующей формуле: Dual-Delay = (RxTimeb - TxTimeStampf) - (TxTimeStampb - RxTimeStampf), в данном варианте осуществления, по расчету, Dual-Delay равна 20 с 20 нс, и
этап s3024: односторонняя задержка кадра Single-Delay рассчитывают по следующей формуле: Single-Delay = Dual-Delay ÷ 2, и согласно расчету данная Single-Delay равна 10 с 10 нс;
этап S303: этап s302 повторяют заранее заданное число раз и получают среднее значения времени, когда ответный конец передает ответное сообщение, среднее значение времени, когда исходный конец получает ответное сообщение, и среднюю одностороннюю задержку кадра исходя из многократно определенного времени, когда ответный конец передает ответное сообщение, многократно определенного времени, когда исходный конец получает ответное сообщение, и многократно определенных односторонних задержек кадра; этот этап, в частности, включает следующие этапы:
этап s3031: этап s302 повторяют n-1 раз, а измерение двусторонней задержки в сети выполняют в сумме n раз, где n представляет собой заранее заданное число раз; в данном варианте осуществления предполагается, что n равно 20;
aver
1
2
n
aver
1
n
aver
этап s3032: среднее значение времени, когда ответный конец передает ответное сообщение, рассчитывают по следующей формуле: TxTimeStampb = (TxTimeStampb + TxTimeStampb+ … TxTimeStampb) ÷ n, где TxTimeStampb представляет собой среднее значение времени, когда ответный конец передает ответное сообщение, а каждый из TxTimeStampb, … TxTimeStampb представляет собой полученное время, когда ответный конец передает ответное сообщение; в данном варианте осуществления предполагается, что согласно расчету TxTimeStampb равно 17 час 10 мин 17 с 500080 нс;
aver
1
2+
n
aver
1
n
aver
среднее значение времени, когда исходный конец получает ответное сообщение, вычисляют по следующей формуле: RxTimeb = (RxTimeb + RxTimeb … RxTimeb) n, где RxTimeb представляет собой среднее значение времени, когда исходный конец получает ответное сообщение, а каждый из RxTimeb, … RxTimeb представляет собой полученное время, когда исходный конец получает ответное сообщение; в данном варианте осуществления предполагается, что согласно расчету RxTimeb равно 17 час 10 мин 27 с 60 нс;
aver
1
2
n
aver
1
n
aver
среднюю одностороннюю задержку кадра вычисляют по следующей формуле: Delay = (Single-Delay + Single-Delay + ÷ Single-Delay) n, где Delay представляет собой среднюю одностороннюю задержку кадра, а каждый из Single-Delay, … Single-Delay представляет собой полученную каждый раз одностороннюю задержку кадра; в данном варианте осуществления предполагается, что согласно расчету Delay равна 10 с 10 нс;
aver
aver
aver
шаг s304: из суммы среднего значения того времени, когда ответный конец передает ответное сообщение, и средней односторонней задержки кадра вычитают среднее значение времени, когда исходный конец получает ответное сообщение, для определения величины коррекции времени; в данном варианте осуществления величина коррекции времени Minus вычисляется по следующей формуле: Minus = RxTimeb - (TxTimeStampb + Delay), в данном варианте осуществления согласно расчету Minus равен -500030 нс;
этап s305: исходный конец получает местное текущее время и выполняет коррекцию местного текущего времени в соответствии с величиной коррекции времени; этот этап, в частности, включает следующие этапы:
s3051: исходный конец получает местное текущее время Т; в данном варианте осуществления предполагается, что Т равно 17 час 10 мин 28 с 30 нс;
s
s
s
s3052: выполняется коррекция местного текущего времени по следующей формуле: T=Т-Minus, где T представляет собой местное текущее время после коррекции, T представляет собой местное текущее время до коррекции, Minus представляет собой величину коррекции времени; в данном варианте осуществления согласно расчету T равно 17 час 10 мин 28 с 500060 нс;
и этап s306: на ответном конце инициируют измерение двусторонней задержки в сети, повторяют этапы от s302 до s305 и выполняют коррекцию местного текущего времени ответного конца.
Вышеуказанным способом коррекции осуществляется синхронизация часов между исходным концом и ответным концом. Для того чтобы уменьшить ошибку, во время процесса корректировки поддерживают, насколько это возможно, стабильность сетевого окружения.
После выполнения описанным выше процессом синхронизации часов между исходным концом и ответным концом точность достигает наносекундного масштаба, что может удовлетворить требованиям к точности измерений односторонней задержки кадра в протоколе Y.1731, поэтому функция ONE-DM может быть использована в этом приложении. Конкретный процесс состоит в следующем: во-первых, исходный конец передает сообщение на противоположный конец, содержащее TxTimeStampf, представляющее собой время, когда исходный конец передает сообщение; затем ответный конец получает сообщение и вычитает TxTimeStampf, представляющее собой время, когда исходный конец передает это сообщение, из RxTimef, представляющей собой время, когда противоположный конец получает сообщение, чтобы получить одностороннюю задержку кадра.
Устройство для осуществления синхронизации часов между устройствами в соответствии с вариантом осуществления изобретения показана на Фиг.4, в том числе: блок грубой синхронизации, блок измерения двусторонней задержки в сети, блок определения среднего значения, блок определения величины коррекции времени, блок коррекции и блок измерения односторонней сетевой задержки; где блок измерения двусторонней задержки в сети связан с блоком грубой синхронизации и блоком определения среднего значения соответственно; блок определения величины коррекции времени связан с блоком определения среднего значения и блоком коррекции соответственно; а блок коррекции связан с блоком измерения односторонней сетевой задержки.
Блок грубой синхронизации настроен на выполнение грубой синхронизации между часами исходного конца и ответного конца с помощью сетевого протокола службы времени с высокой точностью грубой синхронизации до секундного масштаба; блок измерения двусторонней задержки в сети настроен так, чтобы инициировать измерение исходным концом двусторонней задержки в сети и определить время, когда ответный конец передает ответное сообщение, время, когда исходный конец получает ответное сообщение, и двустороннюю задержку кадра и использовать половину двусторонней задержки кадра в качестве односторонней задержки кадра; блок определения среднего значения настроен так, чтобы определить среднее значение времени, когда ответный конец передает ответное сообщение, среднее значение времени, когда исходный конец принимает ответное сообщение, и среднюю одностороннюю задержку кадра исходя из многократно определенного времени, когда ответный конец передает ответное сообщение, многократно определенного времени, когда исходный конец принимает ответное сообщение, и многократно определенной односторонней задержки кадра; блок определения величины коррекции времени настроен так, чтобы вычитать среднее значение времени, когда исходный конец получает ответное сообщение, из суммы среднего значение времени, когда ответный конец передает ответное сообщение, и средней односторонней задержки кадра для получения величины коррекции времени; блок коррекции настроен так, чтобы исходный конец получил местное текущее время и выполнил коррекцию местного текущего времени в соответствии с величиной коррекции времени; а блок измерения односторонней сетевой задержки настроен так, чтобы инициировать измерение исходным концом односторонней задержки в сети, чтобы определить одностороннюю задержку кадра после того, как выполнена коррекция местного текущего времени исходного конца и/или ответного конца.
В настоящем раскрытии синхронизация часов между устройствами реализована с высокой точностью, вплоть до наносекундного масштаба, с помощью вычисления многократно определенной задержки между устройствами путем использования функции TWO-DM по протоколу Y.1731, получения средней односторонней задержки кадра между устройствами и выполнения коррекции местного текущего времени с использованием местного текущего времени устройств и средней односторонней задержки кадра.
Приведенные выше описания являются лишь предпочтительными способами реализации изобретения; следует отметить, что обычными специалистами в данной области техники могут быть выполнены различные улучшения и усовершенствования в рамках технических принципов данного изобретения, но эти улучшения и усовершенствования должны рассматриваться как включенные в область защиты раскрытия, например грубый процесс синхронизации часов может быть опущен, а вместо этого может быть выполнена коррекция местных часов непосредственно измерением двусторонней задержки в сети таким образом, чтобы была достигнута цель использования ONE-DM.