Область техники
Изобретение относится к способам передачи данных, и может быть использовано в системах передачи данных по асинхронным сетям связи с низкоскоростными каналами связи и/или низким качеством соединения каналов связи, в том числе в случае динамически меняющегося качества каналов связи, в случае неравномерного получения данных приёмной стороной или прерывания каналов связи в процессе передачи данных, с применением кодов исправления ошибок для восстановления повреждённых данных без использования повторного запроса данных.
Уровень техники
В настоящее время в мире массовым потребителем телекоммуникационных услуг широко применяются различные способы передачи и обмена цифровой информацией различных форматов (текстовые, графические, звуковые и пр.) с применением протоколов передачи данных, в том числе с использованием высокоскоростных асинхронных сетей связи, появляются решения с использованием нескольких каналов связи.
Существующие, доступные массовому потребителю, различные способы передачи исходных данных, с применением протоколов передачи данных, в том числе с использованием высокоскоростных асинхронных сетей связи и множеством каналов связи, не предназначены для работы в неблагоприятных условиях, работы сети, таких как низкие скорости передачи исходных данных, временные прерывания каналов связи между передающей и приёмной стороной, наличие задержек при передаче данных вплоть до потери большого количества исходных данных в процессе их передачи по сетям связи и не обеспечивают гарантированную передачу исходных данных.
Существующий подход заключается в перезапросах недоставленных или поврежденных данных с помощью служебных запросов. В случае хорошего или близкого к хорошему состоянию канала связи данный подход обеспечивает гарантированную доставку исходных данных приёмной стороне. В случае ухудшения состояния канала связи поток служебных перезапросов возрастает, что приводит к резкому понижению скорости передачи данных и полной невозможности работы канала связи, вызывая следующие взаимодополняющие проблемы. Происходят задержки в буферах на приемной стороне во время ожидания даже одного недостающего пакета данных, которые приводят к переполнению буферов и отбрасыванию успешно пришедших пакетов данных. В канале связи нарастает поток служебных данных - повторных запросов. Чем больше недошедших и отброшенных пакетов данных, тем больше перезапросов. На промежуточных маршрутизаторах растут и переполняются очереди данных на отправку. Установка маршрутизаторов с большим объемом памяти лишь отодвигает начало выхода из строя сети связи или прерывание связи.
Известные стандартные способы передачи данных не способны обеспечить устойчивую связь в системе переменной конфигурации сети, состоящей из разнородных подсетей, физические характеристики которых динамически меняются в широком диапазоне значений.
При передаче исходных данных зачастую используются процедуры, применяемые на физическом уровне базовой эталонной модели взаимодействия открытых систем (ГОСТ Р ИСО/МЭК 7498-1-99 «Информационная технология. Взаимосвязь открытых систем базовая эталонная модель. Часть 1 Базовая модель»), такие как исправление ошибок с применением различны кодов исправления ошибок и их комбинации для восстановления повреждённых исходных данных. Базовая эталонная модель взаимодействия открытых систем рассматривает семь уровней взаимодействия открытых систем: физический (уровень 1), звена данных или канальный уровень (уровень 2), сетевой (уровень 3), транспортный (уровень 4), сеансовый (уровень 5), представления данных (уровень 6) и прикладной (уровень 7). Применение кодов исправления ошибок и их комбинации, а также перемежение на уровне устройства может обеспечить наиболее надежную передачу исходных данных, однако такой подход требует доступа к физическому уровню (уровень 1), каждое такое решение будет работать исключительно на конкретной небольшой группе устройств.
Применение процедур исправления ошибок на уровнях выше физического уровня, в свою очередь, является универсальным решением, и может быть использовано в любых системах связи.
Гарантированная доставка исходных данных, не зависимо от состояния сетей связи, для многих потребителей телекоммуникационных услуг является ключевым показателем качества связи.
Задача гарантированной доставки исходных данных, как правило, решается на сетевом и транспортном уровнях взаимодействия открытых систем (уровни 3 и 4 соответственно), с помощью механизмов более надежной маршрутизации. Так, исходные данные могут дублироваться и передаваться по каналу несколько раз, или может происходить поиск надёжного канала, или может использоваться множество путей передачи (множество каналов) от передающей стороны к приёмной, по которым дублируется передача исходных данных. Такие подходы к передаче исходных данных, в ряде случаев, улучшаются алгоритмами перемежения, так что исходные данные разделяются на меньшие части, перемешиваются и передаётся «смесь» различных частей исходных данных. На приёмной стороне производится восстановление структуры исходных данных, где поврежденные части исходных данных берутся из других, успешно доставленных, частей исходных данных. При этом также можно использовать различные коды исправления ошибок.
Однако, чем дальше от физического уровня (уровня 1) применяются механизмы восстановления исходных данных, тем самым эти механизмы менее эффективны. Причиной тому является инкапсуляция данных. К исходным данным уровня 7 добавляются служебные заголовки уровня 6, получившаяся структура оборачивается в заголовки уровня 5 и т.д. В конечном итоге, примененные защитные механизмы будут обернуты в заголовки уровня 2, после чего данные будут переданы на уровень 1 (физический) - переданы по каналу связи. Заголовки уровня 2 также могут быть повреждены, поэтому выбран канальный уровень (уровень 2), включающий в себя все уровни выше.
При низких скоростях передачи данных разумно передавать данные небольшой длины. К примеру, длина заголовка кадра протокола PPP (Point-to-Point Protocol - двухточечный протокол канального уровня (уровня 2)) равен 5 байт и от 2-х до 4-х байт составляет поле дополнительного индикатора целостности кадра данных, который относится к служебным данным, тогда как в сетевом протоколе PPPoE (Point-to-point protocol over Ethernet - сетевой протокол канального уровня (уровень 2) передачи кадров PPP через Ethernet) заголовок кадра составляет уже 14 байт плюс 2 байта составляет поле дополнительного индикатора целостности кадра данных. Данные сетевого уровня (уровня 3) пришлось бы разбивать на несколько частей, каждая из которых обладала бы служебными данными заголовка сетевого уровня (уровня 3).
Для восстановления переданных исходных данных необходима избыточная информация, которой являются коды исправления ошибок. Чем больше избыточной информации, тем меньше исходных данных можно передать на единицу общей передаваемой информации.
Из области техники известны следующие технические решения:
Система и способ для адаптивной потоковой передачи в среде с несколькими путями передачи (патент на изобретение (RU) № 2627303, МПК: H04N 21/6437, H04N 21/6373, H04L 29/06, опубл. 07.08.2017).
Данный патент описывает адаптивную маршрутизацию путём использования специального контроллера на каждом клиентском устройстве. Контроллер зондирует доступные каналы связи, оценивает их пропускную способность и запрашивает согласно полученной информации данные.
В указанном патенте предложена система для осуществления передачи мультимедийного контента путем использования технологии многоканальной адаптивной потоковой передачи в сетевой среде, содержащая множество серверов, являющихся соответственно способными передавать мультимедийный контент в среде RTP/RTSP по соответственному каналу передачи данных на клиент, причем клиент включает в себя средство контроллера, приспособленное зондировать каждый канал из упомянутых каналов передачи данных, чтобы определять соответственную полосу пропускания, связанную с каждым из упомянутых каналов передачи данных, и запрашивать порцию упомянутого мультимедийного контента для каждого из упомянутых серверов согласно соответственной полосе пропускания.
Недостатком данного решения является невозможность обеспечения работы системы передачи данных при отсутствии достаточного количества надёжных каналов связи. Решение, указанное в патенте, не касается непосредственно оптимизации передаваемых исходных данных.
Также известны протоколы радиосвязи для многоканальных систем связи (патент на изобретение (RU) № 2396726, МПК: H04L 29/06, опубл. 10.08.2010).
Изобретение относится к системам беспроводной связи и описывает оптимизацию использования канального уровня путём расширения заголовка кадра, передачу кадров по множеству каналов передачи и адаптированный механизм восстановления исходных данных принимаемой стороной.
В одном из вариантов осуществления патента пакет верхнего уровня сегментируется на пакеты канального уровня, подлежащие передаче по множеству каналов передачи, включающих каждый первый порядковый номер в соответствии с заранее заданным порядком. Кроме того, добавляется второй порядковый номер к каждому пакету канального уровня, подлежащему передаче первый раз. Второй порядковый номер создается из области последовательностей, связанной с конкретным каналом передачи, и может использоваться для обнаружения пропущенных пакетов.
Недостатком данного решения является то, что оно не предусматривает добавление кодов исправления ошибок к исходным данным.
Также известны способ и устройство для передачи пакетных данных переменной длины с конфигурируемым адаптивным выходным планированием, дающим возможность передачи по одной и той же линии передачи дифференцированных услуг для различных типов движения (патент на изобретение (WO) 2001/010048, МПК: H04B 17/00, H04L 1/00, H04L 5/16, опубл. 08.02.2001).
Изобретение касается беспроводных линий связи и описывает совместно канальный (коды исправления ошибок) и физический уровни (изменение модуляции и мощности передатчика) как различные режимы работы системы в зависимости от характеристик канала. В патенте рассматривается режим адаптивности как передача сигнала на одном частотном канале с различными временными интервалами.
Недостатком данного решения является то, что оно не касается асинхронной передачи данных. Также недостатком является необходимость внедрения решения на физическом уровне.
Также известен протокол уровня канала передачи данных с адаптивным кадрированием (патент на изобретение (US) 09444917, МПК: H04L 29/08, выдан 13.09.2016).
Патент описывает программно-аппаратную реализацию протокола HDLC, включающую адаптивное изменение длины кадра канального уровня. Решение поддерживает работу в асинхронном режиме. Рассматривается оптимизация поиска ошибок путем более быстрого аппаратного вычисления контрольной суммы Cyclic Redundancy Check (CRC) или исключения вычисления CRC в случае дублирования данной проверки.
Недостатками данного решения является то, что оно не рассматривает вопросы исправления ошибок данных, а также не решает задачи передачи исходных данных в плохих условиях работы канала передачи данных. Также недостатком является необходимость внедрения решения на физическом уровне.
Также известны система передачи информации, устройство записи и воспроизведения информации, и носитель записи, использующие формат представления данных на основе кода с исправлением ошибок (патент на изобретение (RU) № 2154897, МПК: H03M 13/00, опубл. 20.08.2000).
Изобретение сосредоточено на формате хранения данных на жестких и оптических дисках, и предлагает такой же формат данных для передачи по сети.
Недостатком данного решения является отсутствие адаптивного поведения кадров данных под изменения состояния канала связи. Также недостатком является отсутствие защиты заголовков кадров при передаче.
Также известен способ пакетной передачи сообщений в сетях связи с многомерной маршрутизацией (патент на изобретение (RU) № 2313187, МПК: H04L 12/56, H03M 13/03, H03M 13/27, опубл. 20.12.2007).
Изобретение относится к пакетной передаче сообщений, относится к области техники связи и может быть использовано для передачи дискретной информации, защищенной помехоустойчивым кодом. Технический результат - сокращение времени доставки сообщения. Результат достигается за счет того, что на передающей стороне сообщение разделяют на блоки, длина которых равна числу пакетов в сообщении, каждый блок кодируют помехоустойчивым кодом, выполняют блоковое перемежение символов помехоустойчивого кода с глубиной перемежения, равной длине пакета, и затем символы помехоустойчивого кода разделяют на пакеты таким образом, чтобы каждый символ кода был расположен в своем пакете, причем в каждом пакете формируют контрольную группу для обнаружения ошибок, и далее пакеты по многомерному маршруту передают на приемную сторону. На приемной стороне для каждого пакета проверяют контрольную группу, и пакеты, в которых обнаруживают ошибки, стирают, выполняют деперемежение символов принятых пакетов, формируют помехоустойчивый код, который затем декодируют с исправлением стираний, и получают принятое сообщение. Используемый помехоустойчивый код - код Рида-Соломона.
Недостатками данного решения является его использование только в сетях с многомерной маршрутизацией. В запатентованном решении применяется перемежение данных, которые затем отправляются по разным маршрутам. В заявленном же техническом решении перемежение данных не осуществляется. Данные «склеиваются» в длинную последовательность и передаются вместе по одному маршруту.
Также известен способ кодирования-декодирования информации в системах передачи данных (патент на изобретение (RU) № 2310273, МПК: H03M 13/00, опубл. 10.11.2007).
Изобретение относится к технике связи и может быть использовано в системах передачи данных, преимущественно без обратной связи, для осуществления помехоустойчивого кодирования и декодирования информации каскадным кодом. В способе на передающей стороне к блоку исходной информации добавляют циклическую контрольную сумму и полученный блок кодируют внешним кодом Рида-Соломона (PC) и затем внутренним кодом. Закодированный блок модулируют и передают в канал. После демодулятора принятый блок информации декодируют внутренним кодом. Последовательность декодированных и стертых кодовых слов внутреннего кода запоминают. Если декодирование кодового слова внутреннего кода невозможно, то это некорректируемое кодовое слово сохраняют. Далее декодируют внешний код PC последовательности декодированных и стертых кодовых слов внутреннего кода и вычисляют и проверяют циклическую контрольную сумму упомянутой информационной последовательности. При положительном результате проверки CRC информацию выдают получателю сообщений. При отрицательном результате проверки производят восстановление стертых слов внутреннего кода последовательности. Восстановление стертых слов внутреннего кода и декодирования внешнего кода повторяют до тех пор, пока проверка CRC не даст положительный результат. Техническим результатом является повышение достоверности принятого сообщения.
Недостатком данного решения является отсутствие гарантированной доставки исходных данных в системах передачи данных, а также наличие каскадного кода на физическом уровне. Запатентованное решение не позволяет создавать новые конструкции кадров данных, также отсутствуют инструменты адаптивности при передаче данных.
Также известен способ кодирования и модуляции для услуг широковещательной передачи и групповой передачи в беспроводной системе связи (патент на изобретение (RU) № 2371858, МПК: H04J 3/00, опубл. 27.10.2009).
Изобретение относится к связи, а именно к передаче данных в беспроводной системе связи. Техническим результатом является эффективное распределение системных ресурсов по физическим каналам связи в беспроводной системе связи. Результат достигается тем, что физические каналы, которые должны передаваться в суперкадре (группе кадров), идентифицируются, и им распределяются временные интервалы в суперкадре. Схемы кодирования и модуляции для каждого физического канала выбираются на основе его пропускной способности. Данные для каждого физического канала выборочно кодируются на основе кодовой скорости внешнего кода, например, для кода Рида-Соломона и дополнительно кодируются на основе кодовой скорости внутреннего кода, например, для турбокода. Кодированные данные для каждого физического канала отображаются в символы модуляции на основе выбранной схемы модуляции. Символы модуляции для каждого физического канала дополнительно обрабатываются (например, OFDM-модулируются) и мультиплексируются во временные интервалы, распределенные физическому каналу. Данные, которые должны передаваться с использованием другого метода радиосвязи (например, W-CDMA), также обрабатываются и мультиплексируются во временные интервалы, распределенные для этого метода радиосвязи.
Недостатком данного решения является отсутствие гарантированной доставки исходных данных в системах передачи данных. В патенте рассматривается беспроводная передача по физическим каналам связи. Также отсутствуют инструменты адаптивности при передаче данных.
Также известен способ кодирования и модуляции для услуг широковещательной передачи и групповой передачи в беспроводной системе связи (патент на изобретение (RU) № 2108667, МПК: H03M 13/00, опубл. 10.04.1998).
Изобретение относится к вычислительной технике и технике связи. Его использование в системах персонального радиовызова позволяет передавать сообщения абонентам с высокой достоверностью несмотря на импульсные помехи и Релеевские замирания в радиоканале, а кроме того, за счет стробирования работы приемников повысить срок службы используемых в них источников питания. Этот результат достигается благодаря тому, что на передающей стороне при кодировании k-1 символов кодового слова из передаваемого сообщения дополняют часть собственного адреса абонентского приемника и кодируют кодом Рида-Соломона (РС) (n, k), перемежение кодированных слов производят с учетом группового адреса абонентского приемника, а на приемной стороне в процессе демодуляции выделяют синхропосылку и стробируют приемник в моменты прихода этой синхропосылки и той части кодового слова, которая соответствует групповому адресу приемника, а после деперемежения принятых слов декодируют их в смежном классе того кода РС (n, k-1), который вложен в используемый на передающей стороне код РС (n, k), причем лидер этого смежного класса определяется частью собственного адреса приемника. Декодер, содержащий демодулятор, блок управления, блок постоянной памяти, блок декодирования и блок деперемежения, дополнен таймером и блоком синхронизации, который имеет специальное выполнение.
Недостатком данного решения является отсутствие гарантированной доставки исходных данных в системах передачи данных. Также недостатком данного решения является отсутствие адаптивного поведения кадров данных под изменения состояния канала связи. Также изобретение не рассматривает вопросы создания новых конструкций кадров данных. Изобретение работает только на физическом уровне.
Наиболее близким аналогом является протокол РРР (Point-to-Point) (ссылка: https://ru.wikipedia.org/wiki/PPP_(сетевой протокол)) - двухточечный протокол канального уровня базовой эталонной модели взаимодействия открытых систем (ГОСТ Р ИСО/МЭК 7498-1-99 «Информационная технология. Взаимосвязь открытых систем базовая эталонная модель. Часть 1 Базовая модель»).
Недостатками этого протокола и способа передачи данных являются отсутствие кодов исправления ошибок, отсутствие адаптивного изменения параметров под состояние канала связи. Также этот протокол подвержен проблеме потока перезапросов, который блокирует работу сети.
Техническим результатом заявленного способа является обеспечение гарантированной передачи исходных данных по пакетным сетям связи с низкоскоростными каналами связи и/или низким качеством соединения каналов связи, с применением формата передачи данных на основе кодов исправления ошибок повреждённых данных с использованием обратной связи для адаптивной настройки параметров передачи данных, в том числе в случае неравномерного получения пакетов данных или периодического замирания канала связи.
Раскрытие сущности изобретения
Указанный технический результат достигается способом передачи исходных данных по асинхронным сетям связи, заключающемся в том, что на передающей стороне исходные данные разделяют на блоки данных, затем в начале каждого блока данных добавляют экранирующую последовательность, далее в каждом блоке данных формируют контрольную сумму блока данных для обнаружения ошибок в таком блоке данных, и далее блоки данных с контрольными суммами по каждому блоку данных передаются на приёмную сторону, на приёмной стороне для каждого блока данных проверяют контрольную сумму блока данных на наличие ошибок, и блоки данных, в которых обнаруживают ошибки, стирают, а из блоков данных, в которых не обнаруживают ошибки восстанавливают исходные данные, отличающийся тем, что на передающей стороне вычисляют контрольную сумму исходных данных CRC, затем исходные данные разделяют на участки данных Data ChunkN, где N – это общее количество участков данных Data ChunkN, на которые были разделены исходные данные, далее к каждому участку данных Data ChunkN добавляют экранирующую последовательность ECN, известную передающей и принимающей сторонам и необходимую для дополнительной сигнализации о начале участка данных Data ChunkN, каждый участок данных Data ChunkN и экранирующая последовательность ECN такого участка данных Data ChunkN образуют блок данных Data BlockN, затем формируют кадр данных Data FrameM, где M – это общее количество сформированных кадров данных Data FrameM, состоящий из синхронизирующей последовательности кадра данных SYNC, которая синхронизирует последовательность байт в кадре данных Data FrameM, заголовка кадра данных HeaderM, содержащего: информацию о виде исходных данных id, значение сквозного счётчика cnt кадра данных Data FrameM, значение длины блоков данных, входящих в кадр данных l, значение кодовой скорости исправления ошибок кадра данных R, значение дополнительного индикатора целостности заголовка кадра данных Chk, значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L, код исправления ошибок заголовка кадра данных ECCd, контрольную сумму исходных данных CRC, затем после заголовка кадра данных HeaderM добавляют группы данных, каждая такая группа данных состоит из одного блока данных Data BlockN и кода исправления ошибок такого блока данных ECCN, количество групп данных равно количеству блоков данных Data BlockN на которые были разделены исходные данные, и далее, сформированный кадр данных Data FrameM, передают приёмной стороне, где для каждого полученного кадра данных Data FrameM с помощью синхронизирующей последовательности кадра данных SYNC, которая синхронизирует последовательность байт в кадре данных Data FrameM, находят начало кадра данных Data FrameM, далее на приёмной стороне сверяют значение дополнительного индикатора целостности заголовка кадра данных Chk, если значение дополнительного индикатора целостности заголовка кадра данных Chk не совпадает с фактическим значением, то такой заголовок кадра данных HeaderM восстанавливают с помощью код исправления ошибок заголовка кадра данных ECCd, затем с помощью кодов исправления ошибок блоков данных ECCN восстанавливают все блоки данных Data BlockN, входящие в кадр данных Data FrameM, далее из блоков данных Data BlockN восстанавливают участки данных Data ChunkN, которые после восстановления складывают в исходные данные, далее сверяют контрольную сумму исходных данных CRC, указанную в заголовке кадра данных HeaderM с фактическими значениями восстановленных исходных данных, если контрольная сумма исходных данных CRC, указанная в заголовке кадра данных HeaderM, совпадает с фактическими значениями восстановленных исходных данных, то исходные данные восстановлены, если контрольная сумма исходных данных CRC, указанная в заголовке кадра данных HeaderM, не совпадает с фактическими значениями восстановленных исходных данных, то приёмная сторона направляет передающей стороне служебный кадр Control Frame, содержащий информацию о новых параметрах настройки передачи данных, применяемых передающей стороной и предназначенную для осуществления адаптивной настройки режимов работы передающей стороны и перезапрашивает данные.
Блоки данных Data BlockN могут иметь одинаковые длины.
Служебный кадр Control Frame, содержащий информацию о параметрах настройки передачи данных, применяемого передающей стороной, и предназначенную для осуществления адаптивной настройки режимов работы приёмной стороны, состоит из синхронизирующей последовательности служебного кадра SYNC, которая синхронизирует последовательность байт в служебном кадре Control Frame, заголовка служебного кадра Header, содержащего: информацию о виде исходных данных id, значение сквозного счётчика cnt, отправляемого служебного кадра Control Frame, значение длины блоков данных, входящих в кадр данных l, значение кодовой скорости исправления ошибок кадра данных R, значение дополнительного индикатора целостности заголовка кадра данных Chk, значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L, код исправления ошибок заголовка служебного кадра ECC.
В качестве кодов исправления ошибок ECCN, входящих в кадр данных, может использоваться код Рида-Соломона.
В качестве кода исправления ошибок заголовка кадра данных ECCd может использоваться код Рида-Соломона.
В качестве кода исправления ошибок заголовка служебного кадра ECC может использоваться код Рида-Соломона.
Краткое описание чертежей
Для лучшего понимания заявленного изобретения приводятся следующие графические материалы:
Фиг.1 Разбивка исходных данных на блоки данных Data BlockN.
Фиг.2 Формирование кадра данных Data FrameM.
Фиг.3 Формирование служебного кадра Control Frame, предназначенного для осуществления адаптивной настройки режимов работы передающей стороны.
Осуществление изобретения
Указанный технический результат достигается путем формирования на передающей стороне, при передаче исходных данных, кадра данных Data FrameM, который содержит в себе информацию, необходимую для адаптации параметров настройки передачи данных, применяемых передающей стороной, под изменения состояния канала сети связи. При этом избыточная информация и адаптивность обеспечивают исключение потерь исходных данных, что приводит к исключению перезапросов в связи с потерями исходных данных с приёмной стороны. Вместо перезапроса исходных данных на приёмной стороне восстанавливают поврежденные исходные данные с использованием информации об исходных данных, и информации о параметрах настройки передачи данных, применяемых передающей стороной, и предназначенную для осуществления адаптивной настройки режимов работы передающей стороны, расположенной в кадре данных Data FrameM. К кадру данных Data FrameM добавляют избыточную информацию, необходимую для защиты заголовка кадра данных HeaderM, в котором применяется код исправления ошибок заголовка кадра данных ECCd, а также для защиты блоков данных Data BlockN, в которых применяются коды исправления ошибок блоков данных ECCN, причем защита блоков данных Data BlockN осуществляется для каждого блока данных Data BlockN в отдельности. В зависимости от режимов работы передающей стороны, происходит либо передача в составе кадра данных Data FrameM одного блока данных Data Block1, либо производится соединение нескольких блоков данных Data BlockN с соответствующими кодами исправления ошибок блоков данных ECCN. Заголовок кадра данных HeaderM состоит из: поля HD (Header Data), описывающего параметры передаваемого кадра данных Data FrameM и содержащем информацию о виде исходных данных id (данные или служебная информация), значение сквозного счётчика cnt кадра данных Data FrameM, значение длины блоков данных, входящих в кадр данных l, значение кодовой скорости исправления ошибок кадра данных R, значение дополнительного индикатора целостности заголовка кадра данных Chk, значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L; кода исправления ошибок заголовка кадра данных ECCd; контрольной суммы исходных данных CRC, которая несёт в себе информацию о проверочной сумме по переданным исходным данным и служит для оценки доли ошибок в кадре данных Data FrameM. Значение длины блоков данных, входящих в кадр данных l, зависит от значения кодовой скорости исправления ошибок кадра данных R. Поведение разработанного способа адаптивное, то есть чем хуже канал связи, тем ниже выбирается значение кодовой скорости исправления ошибок кадра данных R, коды исправления ошибок заголовка кадра данных ECCd и коды исправления ошибок блоков данных ECCN в таком случае становятся длиннее, чем лучше канал связи, тем больше выбирается значение кодовой скорости исправления ошибок кадра данных R. Выбор значения кодовой скорости исправления ошибок кадра данных R может производиться как в автоматическом режиме по заложенному алгоритму, так и может быть установлен пользователем. Также адаптивно изменяется значение длины блоков данных, входящих в кадр данных l.
Осуществление заявленного изобретения реализуется следующим способом:
Фиг.1 показывает разбивку на передающей стороне исходных данных на блоки данных Data BlockN.
На передающей стороне изначально вычисляют контрольную сумма исходных данных CRC. Далее исходные данные разделяют на участки данных Data ChunkN. К каждому участку данных Data ChunkN добавляют экранирующую последовательность ECN, известную передающей и принимающей сторонам и необходимую для дополнительной сигнализации о начале участка данных Data ChunkN. Далее из каждого участка данных Data ChunkN и соответствующей экранирующей последовательности ECN такого участка данных Data ChunkN образуют блоки данных Data BlockN.
Фиг.2 показывает формирование кадра данных Data FrameM. На передающей стороне формируют кадр данных Data FrameM, состоящий из заголовка кадра данных HeaderM, который в свою очередь состоит из: поля HD, описывающего параметры передаваемого кадра данных Data FrameM и содержащем информацию о виде исходных данных id (данные или служебная информация), значение сквозного счётчика cnt кадра данных Data FrameM, значение длины блоков данных, входящих в кадр данных l, значение кодовой скорости исправления ошибок кадра данных R, значение дополнительного индикатора целостности заголовка кадра данных Chk, значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L; кода исправления ошибок заголовка кадра данных ECCd; контрольной суммы исходных данных CRC. После заголовка кадра данных HeaderM добавляют группы данных, каждая такая группа данных состоит из одного блока данных Data BlockN и кода исправления ошибок такого блока данных ECCN, количество групп данных равно количеству блоков данных Data BlockN на которые были разделены исходные данные. Значение длины блоков данных, входящих в кадр данных l, зависит от значения кодовой скорости исправления ошибок кадра данных R. Выбор значения кодовой скорости исправления ошибок кадра данных R может производиться как в автоматическом режиме по заложенному алгоритму, так и может быть установлен пользователем. Значение длины блоков данных, входящих в кадр данных l и максимальное значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L могут ограничить количество N блоков данных Data BlockN и их кодов исправления ошибок ECCN, расположенных в первом кадре данных Data Frame1. В таком случае оставшиеся блоки данных Data BlockN и их коды исправления ошибок ECCN не вошедшие в предыдущий кадр данных Data Frame1, располагают в следующем кадре данных Data Frame2, и так до тех пор, пока все группы данных не расположатся в кадрах данных Data FrameM. Перед заголовком кадра данных HeaderM добавляют синхронизирующую последовательность кадра данных SYNC, которая синхронизирует последовательность байт в кадре данных Data FrameM.
Наиболее защищенный режим кадра данных Data FrameM – это наименьшие значения кодовой скорости исправления ошибок кадра данных R и наименьшее значение длины блоков данных, входящих в кадр данных l.
В режиме работы канала связи без ошибок все коды исправления ошибок заголовка кадра данных ECCd отсутствуют, значение кодовой скорости исправления ошибок кадра данных R в таком случае будет равно единице.
Фиг.3 показывает формирование на приёмной стороне служебного кадра Control Frame, содержащего информацию о параметрах настройки передачи данных, применяемых передающей стороной, и предназначенную для осуществления адаптивной настройки режимов работы приёмной стороны. На приёмной стороне формируют служебный кадр Control Frame, состоящий из синхронизирующей последовательности служебного кадра Control Frame, которая синхронизирует последовательность байт в служебном кадре Data FrameM, заголовка служебного кадра Header, содержащего: информацию о виде исходных данных id, значение сквозного счётчика cnt служебного кадра Control Frame, значение длины блоков данных, входящих в кадр данных l, значение кодовой скорости исправления ошибок кадра данных R, значение дополнительного индикатора целостности заголовка кадра данных Chk, значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L, далее вычисляют и добавляют код исправления ошибок заголовка служебного кадра Control Frame.
Заявленный способ реализуется следующим порядком:
На передающей стороне в отношении исходных данных, предназначенных для передаче приёмной стороне, вычисляют контрольную сумму исходных данных CRC, далее исходные данные разделяют на участки данных Data ChunkN и к каждому участку данных Data ChunkN добавляют экранирующую последовательность ECN, известную передающей и принимающей сторонам и необходимую для дополнительной сигнализации о начале участка данных Data ChunkN, каждый участок данных Data ChunkN и экранирующая последовательность ECN такого участка данных Data ChunkN образуют блок данных Data BlockN, в соответствии с Фиг.1.
Далее на передающей стороне, в соответствии с Фиг.2 формируют кадр данных Data FrameM, содержащий: синхронизирующую последовательность кадра данных SYNC, заголовок кадра данных HeaderM, блоки данных Data BlockN, коды исправления ошибок таких блоков данных ECCN. Заголовок кадра данных HeaderM содержит: информацию о виде исходных данных id, значение сквозного счётчика cnt кадра данных Data FrameM, значение длины блоков данных, входящих в кадр данных l, значение кодовой скорости исправления ошибок кадра данных R, значение дополнительного индикатора целостности заголовка кадра данных Chk, значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L, код исправления ошибок заголовка кадра данных ECCd, контрольную сумму исходных данных CRC.
Длина блоков данных, входящих в кадр данных l является адаптивным параметром настройки передачи данных. Количество блоков данных Data BlockN и кодов исправления ошибок таких блоков данных ECCN, размещённых в кадре данных Data FrameM, ограничивается максимальным значением суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L. Количество сформированных передающей стороной кадров данных Data FrameM зависит от длины исходных данных, длины блоков данных, входящих в кадр данных l и максимального значения суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L, указанных в качестве адаптивных параметров настройки передачи данных. Значение длины блоков данных, входящих в кадр данных l, зависит от значения кодовой скорости исправления ошибок кадра данных R. Выбор значения кодовой скорости исправления ошибок кадра данных R может производиться как в автоматическом режиме по заложенному алгоритму, так и может быть установлен пользователем. Изменение параметров настроек передачи данных, применяемого передающей стороной, и предназначенную для осуществления адаптивной настройки режимов работы приёмной стороны может осуществляться с помощью служебного кадра Control Frame. Формирование служебного кадра Control Frame изображено на Фиг.3.
Процесс восстановления исходных данных из полученных приёмной стороной кадров данных Data FrameM выполняют с точностью до наоборот. Из кадров данных Data FrameM расшифровывают и восстанавливают блоков данных Data BlockN, информация для расшифровки и восстановления блоков данных Data BlockN содержится в заголовке кадра данных HeaderM. Затем из расшифрованных и восстановленных c помощью кодов исправления ошибок ECCN блоков данных Data BlockN извлекается последовательность участков данных Data ChunkN и соответствующих экранирующих последовательностей ECN. Из этой последовательности восстанавливают в исходные данные, проверяя совпадение экранирующих последовательностей ECN со значениями, известными приемной стороне. Коды исправления ошибок являются избыточной информацией, необходимой для восстановления исходных данных.
Адаптивный режим работы параметров настройки передачи данных, применяемого в заявленном способе при передаче приёмной стороне блоков данных Data BlockN представляет собой изменение значения длины блоков данных, входящих в кадр данных l, изменение значения кодовой скорости исправления ошибок кадра данных R, изменение значения суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L. Адаптация параметров настройки пакетной передачи данных осуществляется в случае наличия ошибок в канале связи путём оценки принимающей стороной процента потерь пакетов данных за счёт изменения значений длины блоков данных, входящих в кадр данных l, значений кодовой скорости исправления ошибок кадра данных R, и значений суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L. При отсутствии ошибок данных в канале связи значение кодовой скорости исправления ошибок кадра данных R равно единице, коды исправления ошибок блоков данных ECCN отключены.
Состояние канала связи анализируют приёмной стороной с помощью проверки контрольных сумм заголовков и контрольных сумм исходных данных, передаваемых блоков данных Data BlockN в режиме реального времени. Каждая группа параметров настройки передачи данных, а именно: значение длины блоков данных, входящих в кадр данных l, значение кодовой скорости исправления ошибок кадра данных R и значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L, соответствует определённому проценту ошибок данных, которые приёмная сторона может восстановить без перезапроса данных. Информация о соответствии значений длины блоков данных, входящих в кадр данных l, значений кодовой скорости исправления ошибок кадра данных R и значений суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных L определённому проценту ошибок данных заложена в параметры настройки передачи данных на передающей стороне. Проценты ошибок данных разбиты на определённые интервалы. При приближении процента ошибок данных, полученных приёмной стороной, к границам таких интервалов, приёмная сторона отправляет передающей стороне служебный кадр Control Frame с новыми параметрами настройки передачи данных. Внутри этих интервалов вначале выбирают максимальные значения кодовой скорости исправления ошибок кадра данных R и максимальные значения длины блоков данных, входящих в кадр данных l. Если выбранные из интервала значения кодовой скорости исправления ошибок кадра данных R и значения длины блоков данных, входящих в кадр данных l не обеспечивают ожидаемое исправление имеющегося процента ошибок в полученных данных, то значение кодовой скорости исправления ошибок кадра данных R и значения длины блоков данных, входящих в кадр данных l уменьшают.
Приёмная сторона через служебный кадр Control Frame также может сообщить передающей стороне как информацию о том, что передающей стороне нужно усилить защиту передаваемых исходных данных, так и информацию о том, что защиту передаваемых исходных данных передающей стороне можно ослабить. Чем слабее защита исходных данных, тем больше исходных данных на единицу передаваемой информации в кадре данных Data Frame2 можно передать приёмной стороне.
Таким образом, предлагаемый способ обеспечивает гарантированную передачу исходных данных по асинхронным сетям связи с низкоскоростными каналами связи и/или низким качеством соединения каналов связи, с применением формата передачи данных на основе кодов исправления ошибок повреждённых данных с использованием обратной связи для адаптивной настройки параметров соединения, в том числе в случае неравномерного получения пакетов данных или периодического замирания канала связи.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ПЕРЕДАЧИ ДАННЫХ ПО ПАКЕТНЫМ СЕТЯМ СВЯЗИ С ВОЗМОЖНОСТЬЮ ВОССТАНОВЛЕНИЯ ДАННЫХ ПРИ ИХ ПОТЕРЕ ИЗ-ЗА НАЛИЧИЯ ОШИБОК СОЕДИНЕНИЯ В СЕТЯХ СВЯЗИ | 2019 |
|
RU2706879C1 |
СПОСОБ ПАКЕТНОЙ ПЕРЕДАЧИ СООБЩЕНИЙ В СЕТЯХ СВЯЗИ С МНОГОМЕРНОЙ МАРШРУТИЗАЦИЕЙ | 2006 |
|
RU2313187C1 |
ПЕРЕМЕННАЯ ДЛИНА БЛОКА ПАКЕТНЫХ ДАННЫХ УПРАВЛЕНИЯ ЛИНИИ РАДИОСВЯЗИ | 2013 |
|
RU2642820C2 |
ПЕРЕМЕННАЯ ДЛИНА БЛОКА ПАКЕТНЫХ ДАННЫХ УПРАВЛЕНИЯ ЛИНИИ РАДИОСВЯЗИ | 2013 |
|
RU2642458C2 |
СПОСОБ КОДИРОВАНИЯ-ДЕКОДИРОВАНИЯ КАСКАДНОЙ КОДОВОЙ КОНСТРУКЦИИ В СИСТЕМАХ ПЕРЕДАЧИ ДАННЫХ | 2009 |
|
RU2420870C1 |
ПЕРЕМЕННАЯ ДЛИНА БЛОКА ПАКЕТОВ ДАННЫХ УПРАВЛЕНИЯ ЛИНИИ РАДИОСВЯЗИ | 2008 |
|
RU2504119C2 |
СПОСОБ ИМПУЛЬСНОЙ ПАКЕТНОЙ ПЕРЕДАЧИ ДАННЫХ В СЕТЯХ МОБИЛЬНОЙ СВЯЗИ ПЯТОГО ПОКОЛЕНИЯ | 2018 |
|
RU2700561C1 |
УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕОСИГНАЛА, ПРЕДСТАВЛЯЮЩЕГО ИЗОБРАЖЕНИЯ, ПРИЕМНИК ТЕЛЕВИЗИОННОГО СИГНАЛА, ВКЛЮЧАЮЩЕГО ДАННЫЕ ЗАГОЛОВКОВ И ПОЛЕЗНЫЕ ДАННЫЕ В ВИДЕ СЖАТЫХ ВИДЕОДАННЫХ | 1992 |
|
RU2128405C1 |
СПОСОБ ЗАЩИТЫ ИНФОРМАЦИИ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА В ЛОКАЛЬНОЙ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ | 2003 |
|
RU2252449C1 |
ТЕЛЕВИЗИОННАЯ СИСТЕМА ДЛЯ ПРЕОБРАЗОВАНИЯ СЖАТЫХ ДАННЫХ, ПРЕДСТАВЛЯЮЩИХ ИЗОБРАЖЕНИЯ И РАЗМЕЩЕННЫХ В БЛОКАХ, В НЕСЖАТЫЕ ДАННЫЕ И СИСТЕМА ДЛЯ ОБРАБОТКИ СЖАТЫХ ВИДЕОДАННЫХ, ПЕРЕДАВАЕМЫХ В ВИДЕ БЛОКОВ | 1992 |
|
RU2119269C1 |
Изобретение относится к способу передачи данных по асинхронным сетям связи. Техническим результатом является обеспечение гарантированной передачи исходных данных по асинхронным сетям связи с низкоскоростными каналами связи и/или низким качеством соединения каналов связи. Для этого на передающей стороне, при передаче исходных данных, формируют кадр данных, который содержит в себе избыточную информацию для восстановления поврежденных данных и информацию, необходимую для адаптации параметров настройки передачи данных, применяемых передающей стороной, под изменения состояния канала сети связи. На приёмной стороне восстанавливают поврежденные исходные данные с использованием избыточной информации об исходных данных и информации о параметрах настройки передачи данных, применяемых передающей стороной, предназначенной для осуществления адаптивной настройки режимов работы приёмной стороны. К кадру данных добавляют избыточную информацию, необходимую для защиты заголовка кадра данных и для защиты блоков данных, причем такая защита осуществляется для каждого блока данных в отдельности, в которых применяются коды исправления ошибок. Приёмная сторона также может формировать служебный кадр для передающей стороны, содержащий информацию о новых параметрах настройки передачи данных, применяемых передающей стороной, предназначенную для осуществления адаптивной настройки режимов работы приёмной стороны. 5 з.п. ф-лы, 3 ил.
1. Способ передачи исходных данных по асинхронным сетям связи, заключающийся в том, что на передающей стороне исходные данные разделяют на блоки данных, затем в начале каждого блока данных добавляют экранирующую последовательность, далее в каждом блоке данных формируют контрольную сумму блока данных для обнаружения ошибок в таком блоке данных, и далее блоки данных с контрольными суммами по каждому блоку данных передаются на приёмную сторону, на приёмной стороне для каждого блока данных проверяют контрольную сумму блока данных на наличие ошибок, и блоки данных, в которых обнаруживают ошибки, стирают, а из блоков данных, в которых не обнаруживают ошибки, восстанавливают исходные данные, отличающийся тем, что на передающей стороне вычисляют контрольную сумму исходных данных, затем исходные данные разделяют на участки данных, к каждому участку данных добавляют экранирующую последовательность, известную передающей и принимающей сторонам и необходимую для дополнительной сигнализации о начале участка данных, каждый участок данных и экранирующая последовательность такого участка данных образуют блок данных, затем формируют кадр данных, состоящий из синхронизирующей последовательности кадра данных, которая синхронизирует последовательность байт в кадре данных, заголовка кадра данных, содержащего: информацию о виде исходных данных, значение сквозного счётчика кадра данных, значение длины блоков данных, входящих в кадр данных, значение кодовой скорости исправления ошибок кадра данных, значение дополнительного индикатора целостности заголовка кадра данных, значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных, код исправления ошибок заголовка кадра данных, контрольную сумму исходных данных, затем после заголовка кадра данных добавляют группы данных, каждая такая группа данных состоит из одного блока данных и кода исправления ошибок такого блока данных, количество групп данных равно количеству блоков данных, на которые были разделены исходные данные, и далее сформированный кадр данных передают приёмной стороне, где для каждого полученного кадра данных с помощью синхронизирующей последовательности кадра данных, которая синхронизирует последовательность байт в кадре данных, находят начало кадра данных, далее на приёмной стороне сверяют значение дополнительного индикатора целостности заголовка кадра данных, если значение дополнительного индикатора целостности заголовка кадра данных не совпадает с фактическим значением, то такой заголовок кадра данных восстанавливают с помощью кода исправления ошибок заголовка кадра данных, затем с помощью кодов исправления ошибок блоков данных восстанавливают все блоки данных, входящие в кадр данных, далее из блоков данных восстанавливают участки данных, которые после восстановления складывают в исходные данные, далее сверяют контрольную сумму исходных данных, указанную в заголовке кадра данных с фактическими значениями восстановленных исходных данных, если контрольная сумма исходных данных, указанная в заголовке кадра данных, совпадает с фактическими значениями восстановленных исходных данных, то исходные данные восстановлены, если контрольная сумма исходных данных, указанная в заголовке кадра данных, не совпадает с фактическими значениями восстановленных исходных данных, то приемная сторона направляет передающей стороне служебный кадр, содержащий информацию о новых параметрах настройки передачи данных, применяемых передающей стороной, предназначенную для осуществления адаптивной настройки режимов работы приёмной стороны, и перезапрашивает данные.
2. Способ по п. 1, отличающийся тем, что блоки данных имеют одинаковые длины.
3. Способ по п. 1, отличающийся тем, что служебный кадр, содержащий информацию о параметрах настройки передачи данных, применяемых передающей стороной, предназначенную для осуществления адаптивной настройки режимов работы приёмной стороны, состоит из синхронизирующей последовательности служебного кадра, которая синхронизирует последовательность байт в служебном кадре, заголовка служебного кадра, содержащего: информацию о виде исходных данных, значение сквозного счётчика, отправляемого служебного кадра, значение длины блоков данных, входящих в кадр данных, значение кодовой скорости исправления ошибок кадра данных, значение дополнительного индикатора целостности заголовка кадра данных, значение суммарной длины блоков данных и их кодов исправления ошибок, входящих в кадр данных, код исправления ошибок заголовка служебного кадра.
4. Способ по п. 1 или 3, отличающийся тем, что в качестве кодов исправления ошибок, входящих в кадр данных, используют код Рида-Соломона.
5. Способ по п. 1 или 3, отличающийся тем, что в качестве кода исправления ошибок заголовка кадра данных используют код Рида-Соломона.
6. Способ по п. 3, отличающийся тем, что в качестве кода исправления ошибок заголовка служебного кадра используют код Рида-Соломона.
ПРОТОКОЛЫ РАДИОСВЯЗИ ДЛЯ МНОГОКАНАЛЬНЫХ СИСТЕМ СВЯЗИ | 2006 |
|
RU2396726C2 |
СПОСОБ ПЕРЕДАЧИ ДАННЫХ | 2008 |
|
RU2448417C2 |
СПОСОБ КОДИРОВАНИЯ-ДЕКОДИРОВАНИЯ ИНФОРМАЦИИ В СИСТЕМАХ ПЕРЕДАЧИ ДАННЫХ | 2005 |
|
RU2310273C2 |
СПОСОБ ПАКЕТНОЙ ПЕРЕДАЧИ СООБЩЕНИЙ В СЕТЯХ СВЯЗИ С МНОГОМЕРНОЙ МАРШРУТИЗАЦИЕЙ | 2006 |
|
RU2313187C1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Авторы
Даты
2020-01-16—Публикация
2019-02-20—Подача