Введение
В настоящее время активно развиваются беспроводные технологии передачи данных, предназначенные для проведения удаленного мониторинга и контроля в различных сферах [1–3]. На практике востребованы технические решения, реализованные в рамках концепции Internet of Things (IoT) [4–6]. IoT-системы применяются, в частности, на производственных предприятиях для превентивного управления технологическими процессами. На основе сенсорных технологий, используемых в целях контроля производственных процессов, строятся системы промышленного Интернета вещей (IIoT) [7, 8]. К числу распространенных стандартов, регламентирующих работу таких систем, относится протокол прикладного уровня MQTT [9, 10] и его модификация MQTT-SN, адаптированная для сенсорных сетей [11]. Указанные протоколы для доставки телеметрических данных регламентируют использование сервера как промежуточного устройства, к которому подключаются устройства-клиенты. В качестве таких клиентов в IIoT-системе применяются сенсорные устройства, которые осуществляют измерение контролируемых параметров и отправку на сервер соответствующих телеметрических сообщений, а также IoT-устройства центра управления производственным процессом, на которые эти сообщения передаются из сервера.
В MQTT-системе предусмотрены три уровня качества передачи данных (QoS-0, QoS-1 и QoS-2) [12, 13]. Наименьшей протокольной избыточностью обладает самый низкий уровень (QoS-0). При его реализации не используются повторные передачи искаженных или потерянных информационных пакетов, что обеспечивает невысокий объем передаваемого в IIoT-системе трафика.
Уровень QoS-1 предполагает передачу подтверждений на корректно (безошибочно) принятые информационные пакеты; при этом, если до истечения времени тайм-аута подтверждение не было получено устройством-отправителем, осуществляется повторная передача соответствующего информационного пакета. Число разрешенных повторных передач Nretry является одним из управляемых параметров в системе. Особенность уровня QoS-1 состоит в том, что при его использовании возможно дублирование доставляемых сообщений.
QoS-2 – это наивысший уровень качества передачи данных, который гарантирует отсутствие дубликатов доставляемых сообщений за счет использования двойных подтверждений корректного приема пакетов. Недостатком этого уровня является то, что при его реализации объем передаваемого трафика является самым высоким.
При выборе используемого уровня QoS и разрешенного числа повторных передач необходимо, с одной стороны, добиваться повышения вероятности доставки сообщений в IIoT-системе. С другой стороны, следует минимизировать дублирование доставляемых сообщений, так как оно может привести к некорректному диагностированию состояния контролируемого оборудования. Кроме того, важным критерием является уменьшение объема передаваемого трафика. Анализ показал, что вопросам выбора уровня QoS и параметра Nretry с учетом достижения всех перечисленных требований в системах промышленного Интернета вещей в научно-технических публикациях уделяется недостаточно внимания. Вышеизложенные аргументы определяют актуальность представленного исследования.
Целью исследования является обеспечение теоретически обоснованного выбора уровня качества передачи данных и разрешенного числа повторных передач в системе промышленного Интернета вещей на основе оценивания характеристик доставки сообщений в соответствии с протоколом MQTT-SN.
Материалы и методы исследования
Для достижения цели исследования требуется разработка и применение вероятностных моделей процесса доставки сообщений в IIoT-системе в соответствии с регламентируемыми протоколом MQTT-SN уровнями качества передачи данных. При обеспечении уровня QoS-2 и использовании параметра Nretry = 1 сообщение не будет доставлено из сенсорного устройства на IoT-устройство центра управления, если произойдет любая из семи следующих последовательностей событий:
1) корректно принят информационный пакет PUBLISH; корректно и своевременно принят подтверждающий пакет PUBREC; некорректно принят служебный пакет PUBREL; после повторной передачи некорректно принят служебный пакет PUBREL;
2) корректно принят информационный пакет PUBLISH; некорректно и/или несвоевременно принят подтверждающий пакет PUBREC; после повторной передачи корректно принят информационный пакет PUBLISH; корректно и своевременно принят подтверждающий пакет PUBREC; некорректно принят служебный пакет PUBREL; после повторной передачи некорректно принят служебный пакет PUBREL;
3) корректно принят информационный пакет PUBLISH; некорректно и/или несвоевременно принят подтверждающий пакет PUBREC; после повторной передачи корректно принят информационный пакет PUBLISH; некорректно и/или несвоевременно принят подтверждающий пакет PUBREC;
4) корректно принят информационный пакет PUBLISH; некорректно и/или несвоевременно принят подтверждающий пакет PUBREC; после повторной передачи некорректно принят пакет PUBLISH;
5) некорректно принят информационный пакет PUBLISH; после повторной передачи корректно принят информационный пакет PUBLISH; корректно и своевременно принят подтверждающий пакет PUBREC; некорректно принят служебный пакет PUBREL; после повторной передачи некорректно принят служебный пакет PUBREL;
6) некорректно принят информационный пакет PUBLISH; после повторной передачи корректно принят информационный пакет PUBLISH; некорректно и/или несвоевременно принят подтверждающий пакет PUBREC;
7) некорректно принят информационный пакет PUBLISH; после повторной передачи некорректно принят информационный пакет PUBLISH.
Тогда вероятность того, что сообщение не будет доставлено из сенсорного устройства на IoT-устройство центра управления, можно оценить по формуле
(1)
где P1 – вероятность корректного приема информационного пакета PUBLISH; P2 – вероятность корректного приема подтверждающего пакета PUBREC; PC – вероятность своевременного приема подтверждающего пакета PUBREC, то есть приема этого пакета истечения времени тайм-аута.
Вероятность корректного приема информационного пакета PUBLISH можно оценить с помощью выражения
, (2)
где L1 – битовая длина информационного блока физического уровня, в который инкапсулирован пакет PUBLISH; BER – интенсивность битовых ошибок в используемых беспроводных каналах, используемых для передачи данных.
Для вычисления вероятности корректного приема подтверждающего пакета PUBREC предлагается использовать выражение
, (3)
где L2 – битовая длина информационного блока физического уровня, в который инкапсулирован подтверждающий пакет PUBREC или служебный пакет PUBREL.
После алгебраических преобразований выражение (1) может быть представлено в обобщенном виде для любого натурального значения Nretry:
, (4)
Тогда вероятность доставки сообщения в IIoT-системе при обеспечении уровня QoS-2:
. (5)
При обеспечении уровня QoS-1 и установке Nretry = 1 сообщение не будет доставлено из сенсорного устройства на IoT-устройство центра управления, если информационный пакет PUBLISH будет некорректно принят в результате первой попытки и после его повторной передачи. С учетом этого можно оценить вероятность доставки сообщения в IIoT-системе, в которой реализуется вышеуказанный уровень качества передачи данных, с помощью следующего выражения:
. (6)
При обеспечении уровня QoS-0 сообщение будет доставлено в IIoT-системе, если информационный пакет PUBLISH сначала будет корректно принят сервером после его отправки из сенсорного устройства, а затем после его отправки из сервера он будет корректно принят IoT-устройством центра управления. С учетом этого вероятность доставки сообщения в IIoT-системе, в которой реализуется самый низкий уровень качества передачи данных, можно оценить по формуле
. (7)
Кроме вероятности доставки сообщения, важной характеристикой функционирования в IIoT-системы при обеспечении уровня QoS-1 является вероятность дублирования сообщений. В результате исследования, опубликованного в работе [14], получено следующее выражение для оценивания этой величины:
, (8)
где PONCE – вероятность доставки сообщения без дубликатов из сенсорного устройства на сервер, а также вероятность доставки сообщения без дубликатов из сервера на IoT-устройство центра управления; PONCE – вероятность того, что сообщение не будет доставлено из сенсорного устройства на сервер, а также вероятность того, что сообщение не будет доставлено из сервера на IoT-устройство центра управления.
Величину PONCE можно оценить по формуле [14]
(9)
Значение величины PNOT можно оценить с помощью выражения
. (10)
Результаты исследования и их обсуждение
С использованием выражений (1)–(10) проведены вычислительные эксперименты для исследования зависимости вероятности доставки сообщений (величины PD) и вероятности дублирования сообщений (величины PDUBL) от значений интенсивности битовых ошибок и параметра повторных передач в IIoT-системе. В процессе вычислений использовались следующие исходные данные:
L1 = 256 бит; L2 = 128 бит; PC = 1.
Полученные результаты представлены в виде диаграмм на рис. 1–4.
Допустим, исходя из специфики производства, на котором развернута IIoT-система, вероятность доставки телеметрического сообщения должна быть не ниже уровня 0,9, а вероятность дублирования сообщений не должна превышать значение 0,1. Тогда, судя по рис. 1, при интенсивности битовых ошибок до 2×10-4 включительно можно использовать уровень качества передачи данных QoS-0. Анализ рис. 4 показывает, что при значениях BER от 3×10-4 до 4×10-4 для передачи данных в IIoT-системе можно использовать уровень QoS-1, так как вероятность дублирования сообщений в этих случаях не превышает требуемую величину, а, судя по рис. 1, для достижения требуемой величины PD достаточно установить Nretry = 1.
Рис. 1. Диаграмма зависимости величины PD от значений BER при Nretry = 1
Рис. 2. Диаграмма зависимости величины PD от значений BER при Nretry = 2
Рис. 3. Диаграмма зависимости величины PD от значений BER при Nretry = 3
Рис. 4. Диаграмма зависимости величины PDUBL от значений BER при обеспечении уровня QoS-1
Рекомендуемые значения уровня QoS и Nretry при текущих значениях BER
BER×10-4 |
Уровень QoS |
Nretry |
1 |
0 |
– |
2 |
0 |
– |
3 |
1 |
1 |
4 |
1 |
1 |
5 |
2 |
1 |
6 |
2 |
2 |
7 |
2 |
2 |
8 |
2 |
2 |
9 |
2 |
2 |
10 |
2 |
2 |
11 |
2 |
3 |
12 |
2 |
3 |
Анализ рис. 1–3 показывает, что при значениях BER = 5×10-4 рекомендуется использование QoS-2 и Nretry = 1, при BER от 6×10-4 до 10×10-4 следует использовать QoS-2 и Nretry = 2, а при значениях BER от 6×10-4 до 10×10-4 необходимо использовать QoS-2 и Nretry = 3. Рекомендуемые значения уровня QoS и Nretry при различных значениях BER сведены в таблице.
Заключение
Представленные в работе модели адекватно отражают зависимость вероятности доставки и вероятности дублирования сообщений от интенсивности битовых ошибок, используемого уровня качества передачи данных и разрешенного числа повторных передач в соответствии с протоколом MQTT-SN. Вычислительные эксперименты, выполненные на основе применения указанных моделей, проиллюстрировали возможность теоретически обоснованного выбора уровня QoS и параметра Nretry в системе промышленного Интернета вещей.