Маршрутизации сообщений в IRC-IoT сети
1. | Функции Локальной Маршрутизации Сообщений
(Local Messages Routing: LMR)
Данный процесс подразумевает урправление ретрансляцией (маршрутизацию) IRC-IoT
сообщений между сервисами и роботами в сети IRC-IoT в виде ограниченного набора
областей (SCOPE) в рамках небольшой IRC-IoT сети, либо в рамках отдельного IT проекта.
|
| • | Для реализации данных функций Маршрутизации
предусмотрен специальный подпротокол:
Маршрутизации Сообщений по Наикратчайшему Пути (Route Messages by Shortest Path: RMSP)
|
| • | В качестве базового, в нём используется алгоритм Дейкстры
|
| • | Предусматривается возможность добавления пользовательских алгоритмов
для расширения функций Локальной Маршрутизации Сообщений интеграторами IRC-IoT сетей.
|
Сообщение с Object Type = lmrnfo (Local Messages Routing Information message)
Сообщение с Object Type = lmrreq (Local Messages Routing Request message)
Сообщение с Object Type = lmrack (Local Messages Routing Acknowledgment message)
Сообщение с Object Type = lmrupd (Local Messages Routing Update message)
Сообщение с Object Type = lmradv (Local Messages Routing Advertisement message)
|
2. | Функции Глобальной Маршрутизации Сообщений
(Global Messages Routing: GMR)
Данный процесс подразумевает управление ретрансляцией (маршрутизацию) IRC-IoT сообщений в
рамках большой IRC-IoT сети, включающей множество больших IT проектов и неограниченное
число областей (SCOPE), в том числе и межсетевую маршрутизацию IRC-IoT сообщений, в случае
синхронного ведения IRC-IoT адресного пространства подобных IRC-IoT сетей.
|
| • | Для реализации данных функций Маршрутизации
предусмотрен специальный подпротокол:
Маршрутизации Сообщений по Наилучшему Пути (Route Messages by Best Path: RMBP) |
| • | Для реализации RMBP используется специальный алгоритм:
Выбора Наилучшего Пути. Данный алгоритм предусматривает поддержку локальной копии
глобальной Хэш-таблицы SCOPE. |
| • | Возможность добавления интеграторами алгоримов для реализации функции
Глобальной Маршрутизации не предусмотрена, из-за необходимости четкой регламентации
процедур межсетевого взаимодействия и с целью обеспечения совместимости
разных IRC-IoT сетей.
|
Сообщение с Object Type = gmrnfo (Global Messages Routing Information message)
Сообщение с Object Type = gmrupd (Global Messages Routing Update message)
Сообщение с Object Type = gmrcon (Global Messages Routing Connection handshake message)
|
Например:
На данной иллюстрации приведены примеры машршрутизации IRC-IoT сообщений.
IoT-Bot
| Описание
|
Bot1 |
Этот робот, получая данные от датчиков из внешней среды,
передает их в IRC-IoT сеть в канал CHANNEL1 |
Bot2 |
На основании данных, опубликованных Bot1 на канале CHANNEL1,
этот робот управляет исполнительными устройствами во внешней среде |
Bot3 |
Данный робот выбирает интересующую его информацию, опубликованную
на канале CHANNEL1, и ретранслирует содержащие её сообщения
на канал CHANNEL2 |
Bot4 |
Этот робот управляет исполнительными устройствами во внешней
среде, на основании данных, опубликованных роботом Bot3 на канале CHANNEL2 |
Bot5 |
Этот робот сам не контактирует со внешней средой, однако реализует
сервисы для сети IRC-IoT, хранит данные или принимает решения |
Каждый из роботов производит маршрутизацию сообщений, как минимум
собственных, однако пропуск трафика (forwarding) или, другими словами
– «ретрансляцию чужих сообщений», осуществляет только Bot3.
Не появляется никаких противоречий, если каналы CHANNEL1 и CHANNEL2 находятся в разных
IRC-IoT
сетях. Правда, это приводит к необходимости заранее синхронизовать объекты,
которыми в своих сообщениях обмениваются роботы.
В таком случае предполагается, что в Глобальных справочниках (Global Dictionary)
таких IRC-IoT
сетей будут храниться идентичные описания объектов.
© 2018–2020 Алексей Воронов, Все права защищены.
|