СПОСОБ ФОРМИРОВАНИЯ КАНАЛА ПЕРЕДАЧИ ДАННЫХ
METHOD OF FORMING DATA TRANSMISSION CHANNEL

Область техники
Изобретение относится к области телекоммуникаций, более конкретно - к способам передачи цифровой информации, и может использоваться, например, в системах, обеспечивающих широкополосный и стабильный канал передачи данных.
Предшествующий уровень техники
Изобретение может быть использовано в системах передачи данных, используемых в средствах передвижения и в местах, где отсутствует или затруднен доступ к фиксированным линиям связи. Такие системы требуются, например, для обеспечения деятельности выездных бригад и специалистов оперативных служб, средств массовой информации, многих отраслей промышленности.
Для известных цифровых систем связи, обеспечивающих возможность двухсторонней передачи данных, характерны следующие достоинства и недостатки:
Проводные системы связи (Ethernet и его аналоги):
Достоинства: широкая полоса пропускания, высокая стабильность характеристик каналов связи, высокая надежность
Недостатки: невозможность использования на открытой местности и в движении
Беспроводные системы связи ближнего действия (WiFi-связь и аналоги):
Достоинства: достаточная полоса пропускания для большинства прикладных задач, стабильность характеристик каналов связи, высокая надежность, возможность использования на открытой местности
Недостатки: малый радиус зоны радио-покрытия, невозможность использования в движении
Беспроводные системы сотовой связи (модемы для сетей GSM/3G/4G):
Достоинства: возможность использования на открытой местности и в движении
Недостатки: недостаточность ширины полосы пропускания, которую обеспечивает одно приемо-передающее устройство; нестабильность характеристик каналов связи, недостаточность радио-покрытия каждого из операторов связи для стабильной работы приемо-передающих устройств в удаленных регионах
Беспроводные системы связи дальнего действия (спутниковые системы связи):
Достоинства: широкая полоса пропускания, возможность использования на открытой местности
Недостатки: высокие задержки при передаче, зависимость характеристик каналов связи от климата, невозможность использования в местности с плотной застройкой и в движении.
Известны так же системы, одновременно использующие несколько упомянутых выше систем связи для передачи данных. Это позволяет объединить достоинства и исключить некоторые из недостатков каждой системы связи в отдельности.
Например, из описания к патенту ЕР 2466811 патентообладателя Alcatel Lucent, опубл. 20.06.2012, известен способ формирования канала передачи данных, заключающийся в том, что на первом этапе осуществляют поиск всех доступных каналов связи; на втором этапе поток данных, предназначенный для передачи, разделяют на пакеты равной величины; на третьем этапе данные пакеты распределяют по каналам связи с учетом загруженности и пропускной способности каналов связи и выстраивают в очередь; на четвертом этапе на принимающей стороне осуществляют получение и сборку пакетов данных.
Недостатком этого известного технического решения является то, что оно имеет низкую эффективность и скорость передачи больших объемов данных. Это обусловлено тем, что пропускную способность и качественные показатели каналов связи отслеживают только до начала передачи пакетов и не учитывают изменение пропускной способности каналов связи в процессе передачи пакетов.
Кроме того, в качестве входной характеристики пропускной способности канала используют уровень сигнала радиосети. По уровню сигнала вычисляют предполагаемую пропускную способность, однако такой способ не применим для таких широко распространенных каналов связи как GSM, WCDMA и LTE, где нет прямой связи между качественными показателями каналов связи (скоростью канала, величиной задержки канала и процента потерь) и уровнем сигнала. В сетях такого типа характеристики зависят исключительно от состояния сети, текущей нагрузки на сеть, и пр. Таким образом, еще одним существенным недостатком данного способа является его не универсальность, поскольку он применим далеко не для всех типов каналов связи.
Из описания патента на изобретение США №8259739 патентообладателя CISCO TECHNOLOGY, INC, опубл. 04.09.2012, известен способ формирования канала передачи данных, в котором одновременно используют несколько различных каналов связи, между которыми распределяют пакеты данных и отправляют на принимающую сторону. Особенностью этого известного способа является то, что пакеты данных распределяют между каналами связи с различной шириной полосы пропускания в зависимости от очереди отправки перед приемо-передающими устройствами (далее ППУ).
Такой способ позволяет исключить простои каналов передачи данных и позволяет эффективно использовать всю полосу пропускания каждого канала связи.
Однако этот способ, как и описанный выше аналог, не является универсальным, поскольку он эффективен далеко не для всех типов каналов связи. Существенные недостатки такого способа будут проявляться при использовании каналов связи, построенных на оборудовании, реализующем шейпинг и буферизацию данных, например GSM, WCDMA и LTE сети. В таких каналах связи все пакеты мгновенно передаются сетевому оборудованию, не создавая очередь на передающем интерфейсе, но в результате шейпинга графика, пакеты будут задерживаться или теряться в сети. Таким образом, описанный в патенте способ не может обеспечить максимальную эффективность, минимальные задержки при передаче пакетов данных и универсальность.
Из заявки на изобретение США №20080219281 заявителя Mushroom Networks, опубл. 11.09.2008, известен способ формирования канала передачи данных, который заключается в разделении сессий между приемопередающими устройствами. Пакеты одной сессии могут быть распределены между одним или несколькими ППУ. Алгоритм распределения - раунд-робин (равномерное распределение выбора канала связи) или распределение, связанное с конфигурацией пропускной способности каналов. В данном известном способе осуществляется разделение графика взаимодействия IP оборудования между несколькими каналами связи. В основу метода заложены принципы разделения трафика на сессии на 4-ом сетевом уровне и передача сессии через один или несколько каналов связи.
Недостатком описанного метода является низкая эффективность, что обусловлено невозможностью анализа параметров качества связи передающего канала и их изменения во времени, в условиях высокой волатильности характеристик каналов связи. Метод жестко привязывает сессию 4-го сетевого уровня к одному или нескольким каналам связи, что может приводить к полной остановке взаимодействия при полной деградации выбранных каналов, т.е. появлению больших задержек, с одной стороны, и не эффективному использованию не задействованных каналов, с другой.
Из описания к заявке на изобретение США №20080267184, заявителя Mushroom Networks, опубл. 30.10.2008, известен Способ формирования канала передачи данных, который расширяет способ, описанный в заявке US 20080219281 того же заявителя. Этот способ заключается в том, что на первом этапе (подготовительном) осуществляют поиск всех активных приемопередающих устройств (ППУ) передающей стороны, определяют тип каждого ППУ и его оператора связи, каждому выявленному активному ППУ присваивают IP адрес с образованием канала связи; на втором этапе поток данных, предназначенный для передачи, посредством конвертера приводят к внутреннему формату и делят на пакеты, а при необходимости и на сегменты пакетов, готовые пакеты помещают во входной буфер; на третьем этапе данные из входного буфера распределяют по активным ППУ передающей стороны и отправляют на принимающую сторону; на четвертом этапе на принимающей стороне осуществляют получение пакетов данных, а затем преобразуют данные из внутреннего в исходный формат с помощью конвертера.
Данный аналог является наиболее близким к заявляемому способу формирования канала передачи данных.
Стоит отметить то, что в ближайшем аналоге используют буфер на принимающей стороне, в котором хранят полученные пакеты данных для каждого канала связи. На передающую сторону с принимающей для каждого принятого пакета данных высылается подтверждение его получения, для передачи подтверждения используется тот же канал связи, что и для доставки пакетов с данными. При отсутствии подтверждения на передающей стороне, выполняется повторная передача не подтвержденного пакета данных.
Такая реализация гарантированной доставки эффективно решает задачу устранения потери пакетов при передаче, но имеет ряд недостатков, которые будут проявляться при изменениях характеристик каналов передачи в прямом и обратном направлении. Так, при деградации обратного направления передачи, может возникнуть значительная задержка передачи подтверждений, которая приведет к повторной передаче пакетов данных, на которые не получено подтверждения, несмотря на то, что пакеты с данными были успешно доставлены.
Существенным недостатком ближайшего аналога является влияние деградации одного из каналов связи на эффективность использования остальных, так как при изменении параметров качества связи одного или нескольких каналов связи способ не позволяет оперативно перераспределять пакеты данных между каналами связи, в итоге канал связи, пропускная способность которого ухудшилась, оказывается перегружен данными, а канал связи, пропускная способность которого наоборот увеличилась, передает меньше данных, чем мог бы передавать. Ввиду описанных выше причин ближайший аналог (US 20080267184) не позволяет объединять и использовать с максимальной эффективностью все доступные каналы связи для передачи данных.
Раскрытие изобретения
Задачей настоящего изобретения является создание способа формирования высокоскоростного канала передачи данных, позволяющего с максимально возможной эффективностью объединять и использовать все доступные каналы связи. При этом настоящее изобретение должно обеспечивать универсальность использования практически любых известных каналов связи, минимизацию задержек, максимально возможное использование полосы пропускания и исключение влияния деградации одного или нескольких каналов связи на эффективность использования остальных.
Поставленная задача в способе формирования канала передачи данных, заключающемся в том, что на первом этапе осуществляют поиск всех активных приемо-передающих устройств (ППУ) передающей стороны, определяют тип каждого ППУ и его оператора связи, каждому выявленному активному ППУ присваивают IP адрес с образованием канала связи; на втором этапе поток данных, предназначенный для передачи, посредством конвертера приводят к внутреннему формату и делят на пакеты, а при необходимости и на сегменты пакетов, готовые пакеты помещают во входной буфер; на третьем этапе данные из входного буфера распределяют по активным ППУ передающей стороны и отправляют на принимающую сторону, на четвертом этапе на принимающей стороне осуществляют получение пакетов данных, а затем преобразуют данные из внутреннего в исходный формат с помощью конвертера; достигается тем, что на первом этапе для каждого ППУ задают набор индивидуальных настроек, необходимых для его оптимальной работы, включая параметры подключения к сети и допустимые параметры качества связи, и создают оконечное устройство (ОУ), в которое записывают упомянутые индивидуальные настройки и присвоенный IP адрес соответствующего ППУ, оконечные устройства объединяют между собой переключателем оконечных устройств; на третьем этапе из входного буфера данные передают на анализатор потоков передающей стороны, который производит анализ передаваемых данных и логически разделяет данные на потоки взаимодействия, определяемые по набору параметров отправителя, получателя и типа протокола взаимодействия, при этом анализатор потоков каждому из передаваемых пакетов задает режим обработки и требования по качеству передачи, затем отдельно для каждого из потоков взаимодействия посредством нумератора последовательно присваивают номера пакетам данных, а также номера сегментам пакетов при наличии таковых, после чего направляют пакеты данных на переключатель ОУ, посредством которого каждому из пакетов задают идентификатор пересылающего оконечного устройства (ОУ) и таким образом распределяют упомянутые пакеты по соответствующим ППУ; помимо этого, посредством генератора контрольных пакетов передающей стороны формируют контрольный пакет и передают его на Переключатель оконечных устройств, с помощью которого направляют упомянутый контрольный пакет по всем доступным каналам связи на принимающую сторону; на четвертом этапе, на принимающей стороне посредством декапсулятора разделяют принятый поток на контрольные пакеты и пакеты данных, причем контрольные пакеты направляют на обработчик контрольных пакетов принимающей стороны, а пакеты данных направляют на анализатор потоков принимающей стороны; посредством обработчика контрольных пакетов принимающей стороны для каждого канала связи выполняют измерения и вычисления параметров качества связи; посредством генератора контрольных пакетов принимающей стороны независимо от получения контрольного пакета с передающей стороны формируют встречный контрольный пакет, в который помещают сведения о параметрах качества связи каждого канала связи и направляют встречный контрольный пакет на передающую сторону; на пятом этапе после получения на передающей стороне, по меньшей мере одного встречного контрольного пакета посредством обработчика контрольных пакетов передающей стороны выделяют сведения о параметрах качества связи каждого из каналов связи и передают упомянутые сведения через генератор контрольных пакетов передающей стороны на переключатель ОУ, на последнем с учетом полученных сведений обновляют информацию по параметрам качества связи каждого из каналов связи и записывают эти параметры в соответствующие ОУ; затем с помощью переключателя оконечных устройств перераспределяют предназначенные для отправки пакеты данных с учетом изменения параметров качества связи каждого канала связи; при этом каналы связи, не отвечающие условиям параметров качества связи, заданных на первом этапе, исключают из распределения; через заданный промежуток времени после отправки предыдущего контрольного пакета на генераторе контрольных пакетов передающей стороны формируют очередной контрольный пакет; на анализаторе потоков принимающей стороны производят анализ полученных данных и логически разделяют данные на потоки взаимодействия, после чего потоки взаимодействия направляют на сортировщик, который упорядочивает полученные пакеты и направляет упорядоченные пакеты в сборщик, на котором осуществляют склейку сегментированных пакетов, при наличии таковых, после чего пакеты данных передают на конвертер, посредством которого восстанавливают исходный поток данных; таким образом формируют единый высокоскоростной канал передачи данных.
Возможен вариант осуществления настоящего изобретения, согласно которому на пятом этапе при упорядочивании пакетов данных сортировщик направляет параллельно по всем каналам связи подтверждения о получении пакетов данных на нумератор передающей стороны, откуда утерянные пакеты данных повторно направляют на принимающую сторону, кроме того, в случае получения дублированного пакета на принимающей стороне, он удаляется сортировщиком в процессе упорядочивания полученных пакетов данных.
Возможен вариант осуществления настоящего изобретения, согласно которому на пятом этапе для каждого канала связи осуществляют разгон с целью увеличения его пропускной способности путем передачи большего количества пакетов данных за единицу времени, чем можно передать при расчетной скорости, полученной из контрольного пакета для этого канала связи.
Возможен вариант осуществления настоящего изобретения, согласно которому на пятом этапе для каждого канала связи осуществляют резервирование пропускной способности, поддерживая набранную скорость, путем передачи такого количества пакетов данных за единицу времени, которое можно передать при расчетной скорости, полученной из контрольного пакета для этого канала связи, а для обеспечения наличия достаточного количества пакетов данных дублируют пакеты данных, предназначенные для передачи.
Заявляемый способ допускает использование следующих проводных и беспроводных ППУ: LTE модем, GSM модем, CDMA модем, WIFI модуль, спутниковый модем, оптический модем, ADSL модем, Ethernet модем. Способ не исключает и использование других типов ППУ.
Заявляемый способ динамически распределяет данные сетевого уровня взаимодействия между всеми каналами связи в соответствии с их актуальными характеристиками, что гарантирует эффективность использования полосы пропускания каждого канала связи и позволяет достигать минимальных задержек при передаче данных. Кроме того, способ является универсальным и позволяет использовать практически все возможные типы каналов связи.
Перечень поясняющих фигур
Техническая сущность предложенного технического решения поясняется фигурами, где:
Фиг.1. Процесс обработки пакетов данных на передающей стороне перед их отправкой.
Фиг.2. Процесс обработки пакетов данных после их приема на принимающей стороне.
Фиг.3. Схема процесса распределения пакетов.
Фиг.4. Схема процесса сборки пакетов сортировщиком в исходный поток взаимодействия.
Фиг.5. Применение предлагаемого способа на примере АПК Datacrosser.
Фиг.6. Схема преобразования потоков данных в процессе их передачи через АПК Datacrosser.
Фиг.7. Процесс обработки пакетов данных перед их отправкой на передающей стороне с подтверждением доставки.
Фиг.8. Процесс обработки пакетов данных после их приема на принимающей стороне с подтверждением доставки.
Перечень позиций:
10 - входной поток данных;
12 - поток подготовленных пакетов данных;
14 - исходящий поток (то, что направляется с передающей стороны на принимающую сторону);
16 - контрольные пакеты, подготовленные к передаче с передающей стороны на принимающую сторону;
17 - контрольные пакеты 27, принятые на передающей стороне;
18 - служебные пакеты-подтверждения, полученные на передающей стороне, соответствуют служебным пакетам-подтверждениям 28, направленным с принимающей стороны;
19 - данные о параметрах качества связи каждого из каналов связи, поступающие от обработчика контрольных пакетов передающей стороны 170 на переключатель оконечных устройств 135;
110 - конвертер;
115 - входной буфер;
120 - анализатор потоков передающей стороны;
125 - нумератор;
130 - инкапсулятор;
135 - переключатель оконечных устройств;
i
1
2
N
140 - оконечное устройство (где i соответствует номеру ППУ от 1 до N, например: 140, 140, …, 140);
i
1
2
N
150 - драйвер ППУ (где i соответствует номеру ППУ от 1 до N, например: 150, 150, …, 150);
i
1
2
N
160 - приемо-передающее устройство (ППУ) (где i соответствует номеру ППУ от 1 до N, например: 160, 160, …, 160);
170 - обработчик контрольных пакетов передающей стороны;
180 - генератор контрольных пакетов на передающей стороне;
20 - принятый поток инкапсулированных данных и контрольных пакетов;
23 - принятый поток декапсулированных данных во внутреннем формате;
i
1
2
N
23 - принятый поток декапсулированных данных во внутреннем формате, полученный от соответствующего приемо-передающего устройства (ППУ), где i соответствует номеру ППУ от 1 до N, например: 23, 23, …, 23;
24 - поток взаимодействия;
25 - восстановленный поток данных;
26 - контрольные пакеты, полученные на принимающей стороне;
27 - контрольные пакеты, отправленные с принимающей стороны на передающую сторону;
28 - служебные пакеты-подтверждения, отправляемые с принимающей стороны на передающую сторону;
210 - декапсулятор;
220 - анализатор потоков принимающей стороны;
230 - сортировщик;
240 - сборщик;
250 - конвертер;
270 - обработчик контрольных пакетов принимающей стороны;
280 - генератор контрольных пакетов принимающей стороны;
520 - мобильный шлюз (Клиентская часть АПК);
530 - оператор передачи данных (провайдер сотовой связи, провайдер спутниковой связи или провайдер Wi-Fi связи);
550 - сервер (Серверная часть АПК);
61 - аналоговый видеосигнал;
62 - цифровой видеопоток MPEG2TS;
63 - подготовленный к передаче поток видеоданных, инкапсулированный в пакеты UDP;
64 - принимаемый поток видеоданных, инкапсулированный в пакеты UDP;
65 - поток видеоданных MPEG2TS;
66 - поток видеоданных, предоставляемый видеосервером по протоколу RTSP или RTMP;
67 - подготовленный к передаче поток видеоданных, инкапсулированный в пакеты UDP, передаваемый в режиме с подтверждением;
68 - принимаемый поток видеоданных, инкапсулированный в пакеты UDP, передаваемый в режиме с подтверждением;
69 - потоки взаимодействия с мобильными клиентскими устройствами по протоколу TCP/IP;
600 - аналоговая видеокамера;
605 - мобильное клиентское устройство;
610 - видеокодер;
620 - видеосервер;
630 - DHCP-сервер;
690 - локальная сеть (IP оборудование и сервисы в сети мобильного шлюза);
70 - взаимодействие с мобильными клиентскими устройствами по протоколу DHCP;
71 - выходные потоки взаимодействия.
Подробное описание изобретения
Способ формирования канала передачи данных, заключающийся в том, что на первом этапе осуществляют поиск всех активных приемо-передающих устройств (ППУ) передающей стороны.
i
i
Поиск имеющихся ППУ 160 (где i от 1 до N, а N - это общее количество ППУ) передающей стороны выполняют путем контроля состояния всех внутренних и внешних интерфейсных разъемов (портов). Найденные ППУ проверяют средствами операционной системы и драйверов ППУ 150 на готовность к работе, таким образом, выявляя активные ППУ.
i
Определяют тип каждого ППУ 160 (где i от 1 до N, а N - это общее количество ППУ) и его оператора связи.
i
В качестве ППУ 160 могут быть использованы как проводные, так и беспроводные типы устройств передачи данных, например LTE модем, GSM модем, CDMA модем, WIFI модуль, спутниковый модем, Ethernet модем, ADSL модем, оптический модем. Под оператором связи понимается соответствующий поставщик услуг передачи данных для каждого типа ППУ.
i
На передающей стороне могут быть использованы несколько устройств передачи данных одного типа, возможны любые комбинации, однако предпочтительнее иметь ППУ 160 различных типов для повышения универсальности работы в различных условиях.
i
Каждому выявленному активному ППУ 160 присваивают IP адрес с образованием канала связи.
i
i
i
Подготовительные работы с ППУ 160 считаются законченными после получения ППУ 160 IP-адреса в той сети, которая предоставляет услуги связи для соответствующего ППУ 160. Под предоставляющими услуги связи для ППУ сетями понимаются: для WiFi и Ethernet - доступные для подключения локальные компьютерные сети, для 3G/4G, CDMA и других модемов сотовой связи - сети операторов сотовой связи, для спутниковых модемов - сети спутниковой связи и т.д.
i
Для каждого ППУ 160 задают набор индивидуальных настроек, необходимых для его оптимальной работы, включая параметры подключения к сети и допустимые параметры качества связи, где параметрами подключения к сети, например для модемов сотовых операторов являются: режим подключения к сети - один из: GPRS, EDGE, WCDMA, LTE, и имя точки доступа к сети.
Качество связи определяется четырьмя параметрами:
- Полоса пропускания (Bandwidth), описывает пропускную способность среды передачи информации, определяет ширину канала. Измеряется в bit/s (bps), kbit/s (Kbps), Mbit/s (Mbps), Gbit/s (Gbps).
- Задержка при передаче пакета (Delay), измеряется в миллисекундах.
- Колебания (дрожание) задержки при передаче пакетов - джиттер.
- Потеря пакетов (Packet loss). Определяет количество пакетов, потерянных в сети во время передачи.
i
Допустимые параметры для каждого из ППУ 160 задаются пользователем системы в зависимости от типа решаемой прикладной задачи и заключаются в выставлении следующих параметров на передающей и принимающей сторонах:
- максимальное время ожидания пакета на принимающей стороне;
- максимальное время ожидания пакета-подтверждения о доставке;
- количество повторных отправок пакета;
- размер входного буфера;
- возможность использования дублирования пакетов;
- допустимые значения минимальной скорости передачи;
- допустимые значения максимальных задержек и джиггера при передаче для различных типов используемых ППУ и операторов связи.
Приоритет временных характеристик (низкое допустимое время ожидания, отключение доставки с подтверждением, ужесточение требований к задержкам и джиттеру) - рекомендуется для решения задач, для которых наиболее важна реализация передачи пакетов данных с минимальными задержками, но с учетом возможности потери части пакетов при передаче. Пример использования данного режима - передача потоковых видео и аудио данных.
Приоритет качественных характеристик (использование доставки с подтверждением, увеличение размера буфера и допустимого времени ожидания, смягчение требований к задержкам и джиттеру) - рекомендуется для решения задач, для которых наиболее важна гарантированная передача всех пакетов данных, с учетом возможного увеличения задержек при передаче. Пример использования данного режима - передача данных по протоколам HTTP, HTTPS, FTP и т.д.
Под оптимальным режимом работы понимается режим работы ППУ, при котором ППУ обеспечивает максимальную скорость передачи и минимальные задержки при передаче в текущих условиях.
i
i
i
Для каждого ППУ 160 создают оконечное устройство (ОУ) 140, в которое записывают упомянутые индивидуальные настройки и присвоенный IP адрес соответствующего ППУ 160, оконечные устройства объединяют между собой переключателем оконечных устройств 135.
i
i
i
Оконечное устройство 140 представляет собой логическую сущность для организации передачи и приема пакетов данных, через каждое ППУ 160 и хранения данных о ППУ 160 (настройки, режим работы, статистика по переданным и полученным данным и т.д.)
На втором этапе поток данных 10, предназначенный для передачи, посредством конвертера 110 приводят к внутреннему формату и делят на пакеты, а при необходимости и на сегменты пакетов, готовые пакеты помещают во входной буфер 115.
Под «потоком данных» 10 подразумевается предназначенная для отправки совокупность потоков IP пакетов различных потребителей и получателей данных, использующих протоколы передачи данных не ниже сетевого уровня (см. сетевую модель OSI).
Пакет данных, приведенный к внутреннему формату, содержит в себе как оригинальный IP пакет, так и логическую структуру для хранения набора служебной информации, добавляемой впоследствии нумератором 125 для организации процесса пересылки данных: номер пакета, номер сегмента пакета, флаги обработки и идентификатор пересылающего ППУ.
Для ожидания дальнейшей обработки Конвертер 110 помещает готовые пакеты внутреннего формата во входной буфер 115.
i
i
Входной буфер 115 используется передающей стороной для компенсации случайных задержек при передаче через ППУ 160 пакетов данных, возникающих при ухудшении или потере связи отдельными ППУ 160. Тип используемого буфера - FIFO. Во входной буфер 115 пакеты входного потока 10 помещает Конвертер 110, после их конвертации во внутренний формат.
Анализатор потоков 120 последовательно вычитывает пакеты данных из входного буфера 115, после чего логически разделяет принимаемый для отправки поток IP пакетов на потоки взаимодействия, которые определяются по уникальному набору параметров: сочетанию пары адресов и портов отправителя и получателя, а также типу используемого протокола (далее - «поток взаимодействия»). Для выделенных потоков взаимодействия анализатор потоков 120 производит анализ передаваемых данных (используемый тип данных, протокол, порт и т.д.) и выставляет флаги обработки: флаг необходимости дублирования, отправки подтверждения после приема пакета и т.д.
Затем отдельно для каждого из потоков взаимодействия посредством нумератора 125 последовательно присваивают номера пакетам данных, и номера сегментам пакетов, при наличии таковых.
i
i
После чего нумератор направляет пакеты данных на переключатель ОУ 135, посредством которого каждому из пакетов задают идентификатор пересылающего оконечного устройства 140 (ОУ) и таким образом распределяют упомянутые пакеты по соответствующим ППУ 160 для отправки на принимающую сторону.
i
i
Для отправки через ППУ 160 подготовленных пакетов данных 12, переключатель оконечных устройств 135 выбирает одно ППУ 160 из совокупности активных (работающих в данный момент) (см. Фиг.3).
i
i
i
i
i
i
После окончания процедуры выбора пакет передается в Оконечное устройство 140 (далее - ОУ), соответствующее выбранному ППУ 160. Пакет из ОУ 140 передается в драйвер ППУ 150 и далее в ППУ 160, которое передает его на принимающую сторону. Общее количество пакетов, передаваемых Переключателем оконечных устройств 135 всем работоспособным ОУ 140 в единицу времени, вычисляется в процессе адаптации скорости передачи данных в соответствии с актуальными суммарными характеристиками каналов передачи данных всех работоспособных ОУ.
Инкапсулятор 130 производит упаковку (инкапсуляцию) пакетов внутреннего формата в пакеты UDP протокола.
i
i
Контроль качества используемых каналов связи производится путем регулярной генерации, отправки и замеров времени прохождения контрольных пакетов от передающей стороны к приемной и обратно для каждого ОУ 140. Создаваемые (см. Фиг.1) генератором контрольных пакетов 180 и отправляемые через ОУ 140 контрольные пакеты 16 содержат сводную информацию по всем ОУ, для каждого ОУ это следующая информация: идентификатор ОУ, время отправки и объем данных, полученных через ОУ с момента отправки предыдущего контрольного пакета.
Посредством генератора контрольных пакетов 180 передающей стороны формируют контрольный пакет 16 и передают его на Переключатель оконечных устройств 135, с помощью которого направляют упомянутый контрольный пакет 16 по всем доступным каналам связи на принимающую сторону.
На четвертом этапе на принимающей стороне осуществляют получение пакетов, их обработку, а также анализ параметров каналов передачи данных.
Принятый поток инкапсулированных данных и контрольных пакетов 20 обрабатывает декапсулятор 210 (см. Фиг.2), извлекая пакеты внутреннего формата из полученных UDP-пакетов и разделяя их на контрольные пакеты и пакеты данных.
Декапсулятор 210 направляет контрольные пакеты 26 в обработчик контрольных пакетов принимающей стороны 270, а пакеты данных направляет в анализатор потоков принимающей стороны 220.
Посредством обработчика контрольных пакетов принимающей стороны 270 для каждого канала связи выполняют измерения и вычисления параметров качества связи, как минимум данные параметры включают в себя значения скорости и задержки передачи данных.
Посредством генератора контрольных пакетов принимающей стороны 280 независимо от получения контрольного пакета 26 с передающей стороны формируют встречный контрольный пакет 27, в который помещают сведения о параметрах качества связи каждого канала связи и направляют встречный контрольный пакет 27 на передающую сторону.
i
По параметру «время отправки» Обработчик контрольных пакетов 270 на принимающей стороне (см. Фиг.2) вычисляет задержку прохождения контрольного пакета 16. Генератор контрольных пакетов на принимающей стороне 280 создает аналогичный контрольный пакет 27, который содержит вычисленные Обработчиком контрольных пакетов принимающей стороны 270 значения задержки и информацию об объеме полученных от ОУ 140 данных с момента предыдущего замера, после чего контрольный пакет 27 направляют обратно на передающую сторону, а именно на соответствующий обработчик контрольных пакетов передающей стороны 170.
i
На пятом этапе после получения, по меньшей мере, одного встречного контрольного пакета, посредством обработчика контрольных пакетов 170 передающей стороны выделяют сведения (данные) о параметрах качества связи 19 каждого из каналов связи и передают упомянутые сведения через генератор контрольных пакетов передающей стороны 170 на переключатель ОУ 135. На последнем с учетом полученных сведений обновляют информацию по параметрам качества связи каждого из каналов связи и записывают эти параметры в соответствующие ОУ 140.
Затем с помощью переключателя оконечных устройств 135 перераспределяют предназначенные для отправки пакеты данных с учетом изменения параметров качества связи каждого канала связи.
При этом каналы связи, не отвечающие условиям заданных параметров качества связи, исключают из распределения. При этом ранее исключенные из распределения каналы связи, восстановившие свои характеристики, включают в распределение.
i
i
i
i
i
Распределение пакетов данных по активным каналам производится на основе результатов контроля качества каналов связи. Основной критерий выбора ОУ 140 - максимальная вероятность прохождения отправляемого пакета с минимальными задержками. Для реализации такого выбора создается список активных ОУ, из которого отбрасываются ОУ 140, не соответствующие критериям качества. Используемые для селекции ОУ 140 параметры качества связи измеряют и вычисляют по результату обработки контрольных пакетов 17, полученных с принимающей стороны. После селекции в списке остаются ОУ 140, обеспечивающие передачу данных с допустимой задержкой и джиттером. На основе списка ОУ 140 с подходящими для передачи характеристиками. Переключателем оконечных устройств 135 проводится вероятностное распределение пакетов данных по каналам передачи данных, при этом вероятность передачи пакета данных через ОУ прямо пропорциональна качеству канала связи, формируемого ОУ.
Через заданный промежуток времени после отправки предыдущего контрольного пакета на генераторе контрольных пакетов передающей стороны формируют очередной контрольный пакет.
Для успешного восстановления исходного потока данных количество используемых при упорядочивании буферов должно равняться количеству передаваемых потоков.
На анализаторе потоков 220 принимающей стороны производят анализ полученных данных и логически разделяют данные на потоки взаимодействия 24, после чего потоки взаимодействия 24 направляют на сортировщик 230. Анализатор потоков принимающей стороны 220 проверяет приходящие пакеты на принадлежность к уже обрабатываемым потокам взаимодействия и в случае, если соответствующий поток не найден, производит инициализацию нового буфера в Сортировщике 230.
Сортировщик 230 упорядочивает полученные пакеты и направляет упорядоченные пакеты в сборщик 240, на котором осуществляют склейку сегментированных пакетов, при наличии таковых, после чего пакеты данных передают на конвертер 250, посредством которого восстанавливают исходный поток данных; таким образом формируют единый высокоскоростной канал передачи данных.
i
i
Сортировщик 230 производит упорядочивание пакетов из принятого потока 23 по выставленным при отправке номерам в потоки взаимодействия 24 (см. Фиг.2). Упорядочивание производится путем выборки пакетов из поступающих от ППУ 160 потоков данных 23 и выстраивания в буфере выбранных пакетов в исходной последовательности потока взаимодействия 24 (см. Фиг.4).
Из сортировщика 230 поток взаимодействия 24 передают на сборщик 240. Сборщик 240 осуществляет склейку пакетов, сегментированных перед передачей и передает их в конвертер 250.
Посредством конвертера 250 производят преобразование упорядоченных пакетов из внутреннего в исходный формат и передают восстановленный поток данных 25 получателям на указанные в пакетах IP адреса и порты.
Возможен вариант исполнения изобретения, где на пятом этапе при упорядочивании пакетов данных сортировщик направляет параллельно по всем каналам связи подтверждения о получении пакетов данных на нумератор передающей стороны, откуда утерянные пакеты данных повторно направляют на принимающую сторону, кроме того, в случае получения дублированного пакета на принимающей стороне, он удаляется сортировщиком в процессе упорядочивания полученных пакетов данных.
Повторная отправка утерянных при пересылке пакетов используется для отдельных типов пересылаемых данных и регулируется флагом необходимости отправки подтверждения после приема пакета, который выставляется Анализатором потоков 120. При обработке отправляемого пакета с данным флагом. Нумератор 125 помещает копию пакета в свой внутренний буфер, с указанием времени отправки пакета. Сортировщик 230 принимающей стороны (см. Фиг.7, Фиг.8) при получении пакета с указанным флагом формирует и отправляет на передающую сторону служебный пакет-подтверждение 28 с идентификаторами потока взаимодействия и полученного пакета. Для увеличения вероятности и минимизации задержки получения, пакет-подтверждение 28 отправляется параллельно по всем каналам, формируемым ОУ на передающую сторону. На передающей стороне полученный пакет-подтверждение 18 (соответствует отправленному пакету-подтверждению 28) передают на нумератор 125. При получении подтверждения о доставке Нумератор 125 считает сохраненный пакет успешно доставленным и удаляет его из своего буфера. На основе сохраненного времени отправки пакета Нумератор 125 вычисляет время ожидания пакета-подтверждения и, если время ожидания пакета-подтверждения превышает допустимое время ожидания, определяемое в конфигурации параметров потока, Нумератор 125 производит повторную отправку пакета. Общее количество повторных отправок также указывается в параметрах, так как зависит от допустимых задержек при передаче данных.
Возможен вариант, когда на пятом этапе для каждого канала связи осуществляют разгон с целью увеличения его пропускной способности путем передачи большего количества пакетов данных за единицу времени, чем можно передать при расчетной скорости, полученной из контрольного пакета для этого канала связи. Под разгоном понимается запрос дополнительных ресурсов передающей среды с целью увеличения пропускной способности канала связи. Запрос дополнительных ресурсов реализуется путем перегрузки канала связи, т.е. попытки передачи большего количества пакетов данных за единицу времени, чем можно передать при расчетной скорости.
i
i
i
i
Разгон канала производится путем постоянных попыток увеличения текущей пропускной способности канала, формируемого ПНУ 160 (см. Фиг.1), путем выдачи в соответствующее ОУ 140 большего количества данных, чем ПНУ 160 передает в текущий момент. В случае, если каналообразующее оборудование имеет резерв пропускной способности, оно увеличивает ширину канала, компенсируя увеличившуюся нагрузку на канал. Данный способ разгона канала показывает хорошие результаты для всех типов ППУ 160, работающих в разделяемой среде передачи данных (Ethernet, WiFi, 3G/4G).
i
Для реализации описанного способа Переключатель оконечных устройств 135 получает прогнозируемую общую скорость исходящего потока умножением вычисленной на основе анализа полученных с принимающей стороны контрольных пакетов текущей суммарной скорости передачи используемых ППУ 160 на величину настраиваемого параметра «коэффициент разгона».
i
В процессе вероятностного распределения пакетов полученная прогнозируемая скорость исходящего потока используется Переключателем оконечных устройств 135 как верхняя граница суммарной скорости передачи пакетов в ОУ 140.
i
i
i
i
i
i
i
При использовании описываемой методики разгона канала рано или поздно возникает ситуация, когда канал связи, формируемый ППУ 160, не может справится с возросшей нагрузкой и скорость передачи данных через данное ППУ 160 начинает снижаться. В данном случае происходит увеличение времени ожидания отправки пакетов данных во внутреннем буфере ППУ 160 и во Входном буфере 115, превышение максимально допустимой задержки при передаче пакетов данных и, как следствие, потери пакетов при передаче. Для раннего отслеживания подобных ситуаций и минимизации их последствий, в ОУ 140 хранится история изменений значений скорости отправки через соответствующее ППУ 160. На основе этой информации Переключатель оконечных устройств 135 вычисляет разность значений между текущим и предыдущим значениями скорости канала и если значение разности оказывается ниже нуля - корректирует вычисленную на основании прохождения контрольных пакетов скорость ППУ 160 на величину разности. При этом коррекция не опускает скорректированное значение скорости ниже конфигурационного параметра, определяющего минимальную скорость для данного типа ППУ 160.
Возможен так же вариант, что на пятом этапе для каждого канала связи осуществляют резервирование пропускной способности, поддерживая набранную скорость, путем передачи такого количества пакетов данных за единицу времени, которое можно передать при расчетной скорости, полученной из контрольного пакета для этого канала связи. Для обеспечения наличия достаточного количества пакетов данных дублируют пакеты данных, предназначенные для передачи (частично или полностью в зависимости от ширины канала связи и количества пакетов данных для передачи). При этом дополнительно увеличивают надежность и скорость передачи данных.
Принятие решения о возможности дублирования передаваемых пакетов данных для автоматического включения и выключения процесса дублирования производится Переключателем оконечных устройств 135 путем сравнения скоростей входного потока 10 и прогнозируемой общей скорости исходящего потока 14. В случае, если прогнозируемая общая скорость превышает входящую не менее чем на 10% и у отправляемого пакета выставлен флаг необходимости дублирования Переключатель оконечных устройств 135 принимает положительное решение о возможности использования дублирования. При этом вероятность дублирования пакета, имеющего выставленный флаг дублирования, пропорциональна превышению прогнозируемой общей скорости исходящего потока над входящей скоростью.
Лучший вариант осуществления изобретения
Описанный способ формирования отказоустойчивого, широкополосного и высоконадежного канала связи достаточен для реализации системы, обеспечивающей формирование одностороннего канала связи, который может использоваться для передачи данных по протоколу UDP. Пример применения такого канала - передача видеосигнала с аналоговой камеры видеонаблюдения, находящейся на удаленном или движущемся объекте.
Для формирования канала связи с двухсторонней передачей данных описанным выше способом, следует расположить приемные и передающие части симметрично с обеих сторон канала. Примеры применения подобного канала связи - обеспечение работы системы видеоконференцсвязи на движущемся объекте, предоставление высокоскоростного доступа к ресурсам локальной (глобальной) компьютерной сети с мобильного компьютера (ноутбука), находящегося в удаленном регионе.
При разработке аппаратно-программного комплекса Datacrosser (далее - АПК Datacrosser), в частности, использован описываемый способ формирования прямого и обратного каналов связи. Под прямым каналом связи здесь понимается канал передачи данных от мобильной части комплекса к стационарной, под обратным - от стационарной части комплекса к мобильной.
i
Общая схема работы АПК Datacrosser представлена на Фиг.5. Минимальная конфигурация АПК Datacrosser включает в себя один сервер (Серверная часть АПК) 550 и один мобильный шлюз (Клиентская часть АПК) 520 с шестью встроенными 30-модемами (ППУ) 160, подключенными не менее чем к двум операторам сотовой связи 530.
В режиме передачи видеоданных с аналоговых камер видеонаблюдения АПК Datacrosser работает по следующей схеме (см. Фиг.6):
1. Аналоговый сигнал 61, получаемый с аналоговой видеокамеры 600, Видеокодер 610 преобразует в видеопоток MPEG2TS 62;
2. Полученный поток видеоданных Клиентская часть АПК 520 распределяет между шестью подключенными к мобильному шлюзу 30-модемами. Для передачи используется протокол UDP 63, режим ненадежной доставки, позволяющий добиться минимальных задержек при передаче, но не гарантирующий доставку пакетов передаваемых данных;
3. Серверная часть АПК 550, подключенная к каналам передачи данных сотовых операторов через транспортную сеть провайдера и/или Интернет, на своей стороне получает UDP пакеты 64, распределенные между модемами, и восстанавливает из них исходный поток видеоданных MPEG2TS 65;
4. Видеосервер 620 предоставляет потребителям в локальной сети 690 доступ к видеопотоку MPEG2TS 65 по протоколам RTSP и RTMP 66.
В данной схеме Клиентская часть АПК 520 реализует способ обработки пакетов данных перед их отправкой через каналы связи, формируемые ППУ, Серверная часть АПК 550 реализует способ приема и обработки пакетов данных после их передачи через каналы связи, формируемые ППУ. В качестве ППУ используются 3G-модемы, встроенные в мобильный шлюз (клиентскую часть АПК).
В режиме передачи данных следующих типов: видеосигнала с цифровых (IP) видеокамер, передачи графика устройств видеоконференцсвязи, мобильных и стационарных рабочих станций, серверов и любых других IP-устройств, АПК Datacrosser работает по следующей схеме:
1. Подключенное мобильное клиентское устройство 605 по протоколу DHCP 70 получает IP-адрес от встроенного в АПК DHCP-сервера 630;
2. Входной поток данных 69, получаемый от мобильных клиентских устройств 605 для устройств или приложений в локальной (глобальной) сети Клиентская часть АПК 520 распределяет между подключенными к мобильному шлюзу 3G-модемами. Для передачи используется подготовленный к передаче поток данных, инкапсулированный в пакеты UDP 67, передаваемый в режиме с подтверждением (режим надежной доставки), который гарантирует доставку пакетов за счет небольшого увеличения средней величины задержки при передаче;
3. Серверная часть АПК 550, подключенная к каналам передачи данных сотовых операторов через транспортную сеть провайдера или Интернет, на своей стороне получает принимаемый поток данных, инкапсулированный в пакеты UDP, передаваемый в режиме с подтверждением 68, распределенный между модемами, восстанавливает из них потоки взаимодействия и отправляет их потребителям в локальной (глобальной) сети 690.
4. Выходной пакет данных 71, получаемый от устройств или приложений 630 в локальной (глобальной) сети для мобильных клиентских устройств 605, Серверная часть АПК 550 распределяет между каналами, создаваемыми подключенными к мобильному шлюзу 3G-модемами. Для передачи принимаемого потока данных, инкапсулированного в пакеты UDP, передаваемого в режиме с подтверждением 68, используется тот же протокол и режим;
5. Клиентская часть АПК 520 на своей стороне получает подготовленный к передаче поток данных, инкапсулированный в пакеты UDP 67, распределенный между 3G-модемами, восстанавливает из них потоки взаимодействия 69 и направляет их к потребителям - мобильным клиентским устройствам 605.
В данной схеме и Клиентская часть АПК 520 и Серверная часть АПК 550 реализуют способы обработки пакетов данных перед их отправкой через каналы связи и способ приема и обработки пакетов данных после их передачи через каналы связи, формируемые ППУ. В качестве ППУ также используются 3G-модемы, встроенные в мобильный шлюз (Клиентская часть АПК) 520.
Заявляемый способ допускает использование следующих возможных проводных и беспроводных ППУ: LTE модем, GSM модем, CDMA модем, WIFI модуль, спутниковый модем, оптический модем, ADSL модем, Ethernet модем. Способ не исключает и использование других возможных типов ППУ.
Заявляемый способ динамически распределяет данные сетевого уровня взаимодействия между всеми каналами связи в соответствии с их актуальными характеристиками, что гарантирует эффективность использования полосы пропускания каждого канала связи и позволяет достигать минимальных задержек при передаче данных. Кроме того, способ является универсальным и позволяет использовать практически все возможные типы каналов связи.