В основе Интернета вещей (ИВ) заложена концепция динамической автономной инфраструктуры [1], что делает ключевым аспектом самостоятельное взаимодействие устройств в инфраструктуре ИВ. Вопрос о данном взаимодействии был первоначально обозначен в 2009 г. [2], затем был повторно рассмотрен в 2015 г. [1], однако до сих пор его рассмотрение и решение является актуальными [3].
Ведущиеся исследования по созданию механизмов интеллектуального взаимодействия устройств ИВ направлены, в целом, на сокращение времени взаимодействия устройств и повышение качества обслуживания [4–6].
Самым распространенным типом взаимодействия устройств ИВ является централизованный тип архитектуры, характеризующийся наличием узла, выделенного в качестве центрального и обеспечивающего: консолидацию всех данных и заданий; управление данными и заданиями; управление устройствами [7, 8]. При данном типе устройство отправляет данные или задание на центральный узел, а центральный узел производит необходимую обработку и принимает дальнейшее решение по управлению. Поскольку вся логика управления и хранения данных находится на центральном узле, то это создает ряд проблем для инфраструктуры ИВ (характерных для централизованной архитектуры), таких как:
– высокая вычислительная нагрузка на центральный узел (или облако);
– управление гетерогенными устройствами и их мониторинг;
– масштабируемость при подключении новых устройств, пользователей, приложений;
– управление сетевым трафиком;
– управление устройствами при их перемещении на местности;
– постоянное изменение параметров передающей среды;
– необходимость в поддержке множества сетевых протоколов.
Для снижения влияния указанных проблем на всю инфраструктуру ИВ может быть использован децентрализованный подход, в частности предложенный в структуре граничных вычислений (Edge Computing) [8], при котором нагрузка с центрального узла переносится на удаленные или пограничные узлы сети. Таким образом, за счет распределения логики управления и хранения данных с центрального узла на пограничные узлы можно получить следующие преимущества:
– сократить сетевой трафик внутри инфраструктуры ИВ;
– снизить вычислительную нагрузку на центральном узле.
Перечисленные преимущества граничных вычислений перед централизованным типом архитектуры являются значимыми, однако не представляются в полной мере достаточными для рассмотрения граничных вычислений в качестве основного подхода в целях обеспечения децентрализованной архитектуры для ИВ, поскольку не позволяют решить остальные проблемы. Следовательно, описанные проблемы централизованного типа архитектуры полностью не решаются, в первую очередь, за счет того, что принцип взаимодействия устройств и пограничных узлов сети основан на централизованном типе архитектуры. А именно: во взаимодействие между устройством и основным центральным узлом добавляется пограничный узел сети (например, шлюз), который, в свою очередь, является центральным узлом для устройств и одновременно устройством для основного центрального узла. Таким образом, архитектура по типу граничных вычислений, в конечном итоге, испытывает те же проблемы масштабирования, перегрузки узлов, регулирования трафика и т.д. Более того, в [9, 10] отмечаются критические проблемы граничных вычислений, особенно в отношении задержек, управляемости, надежности, выборочного получения данных и выполнения задач пользователя.
Таким образом, для распределенной вычислительной системы ИВ должны быть предусмотрены подходы и механизм, снижающие негативное влияние централизованного типа архитектуры (в том числе и подобных архитектуре граничных вычислений) и обеспечивающие ее автономность.
В данной работе представлены механизм и метод, которые не имеют цели заменить существующие архитектурные решения и подходы, но позволяют повысить надежность и масштабируемость инфраструктуры ИВ, в частности распределенной вычислительной системы на основе объектов ИВ, сделав ее более гибкой и автономной.
Материалы и методы исследования
1. Архитектура шаблона взаимодействия инфраструктуры Интернета вещей
В [11] определены четыре основных шаблона (паттерна) взаимодействия интеллектуальных объектов:
– устройство – устройство;
– устройство – облако;
– устройство – шлюз;
– обратный паттерн совместного использования данных.
Шаблоны могут быть реализованы и использованы как по отдельности, так и в комбинациях, которые приведены на рис. 1.
Рис. 1. Обобщенный шаблон взаимодействия в инфраструктуре Интернета вещей
В зависимости от конкретной бизнес-задачи, специфики или сферы деятельности можно выделить следующие возможные комбинации шаблонов взаимодействия:
– облако – шлюз – устройство;
– центральный узел – шлюз – устройство;
– центральный узел – устройство.
Данные взаимодействия обобщены в соответствии с используемыми подходами [12, 13]. Однако для реализации механизмов и методов назначения заданий и обеспечения автономности устройств в распределенной вычислительной системе Интернета вещей, применимых к различным сферам деятельности, необходимо учитывать аспекты использования каждого шаблона взаимодействия [11]. С данной целью рассматривается обобщенный шаблон взаимодействия в инфраструктуре Интернета вещей (рис. 1). Для его реализации необходимо определить множество условий и предположений:
– на каждом узле должно быть установлено программное обеспечение, такое как виртуальная машина (ВМ, VM – virtual machine), которая совместима с конкретным устройством и уменьшает влияние специфики аппаратного обеспечения от конкретного производителя. Данное условие является необходимым для реализации обобщенной архитектуры взаимодействия инфраструктуры ИВ;
– устройства должны поддерживать любую реализацию физического уровня модели OSI (Open Systems Interconnection);
– взаимодействие внутри инфраструктуры ИВ должно быть реализовано по клиент-серверной модели, причем назначения ролей сервера и клиента могут меняться;
– взаимодействие внутри инфраструктуры ИВ должно обеспечиваться посредством одного и того же протокола.
2. Кластеризация устройств Интернета вещей
В данной работе реализован модифицированный алгоритм назначения заданий в распределенной вычислительной системе Интернета вещей, функционирование которого состоит из нескольких этапов.
На начальном этапе работы алгоритма осуществляется формирование кластеров устройств с помощью метода машинного обучения без учителя – метод нечеткой кластеризации C-средних (Fuzzy C-Means), который основан на данных о сходстве множеств и является алгоритмом мягкой кластеризации. Принцип мягкой кластеризации для ИВ подразумевает, что одно устройство может быть отнесено не к одному кластеру, а способно принадлежать к нескольким множествам кластеров одновременно, что крайне важно при оценке принятия решений, поскольку инфраструктура ИВ, как правило, подвержена динамическим изменениям, таким как: изменение местоположения устройств, изменение технологии передачи данных, изменение типа решаемого задания и т.д.
Для задачи кластеризации устройств необходимо определить следующие требования к алгоритму FCM (Fuzzy C-Means):
– количество кластеров является постоянным и конечным;
– центроид кластера рассчитывается следующим образом [14]:
(1)
(2)
где dik – евклидово расстояние от устройства ИВ до центроида, i – номер устройства, xi – устройство ИВ, k – номер кластера, m – индекс нечеткости. Индекс нечеткости определяет степень нечеткости: чем больше значение индекса, тем выше степень нечеткости. Обычно значение индекса принимается равным: m = 2 [15]. Однако величина индекса зависит от распределения величины кластера [16].
Для учета динамических изменений в распределенной вычислительной системе Интернета вещей и реализации алгоритма по назначению заданий в ней задается модель устройства ИВ. Данная модель позволяет устройствам обмениваться информацией, что позволяет провести оценку возможности совместной работы и принятия решений.
3. Модель устройства Интернета вещей
Устройства ИВ выпускаются множеством производителей, которые могут предоставляться в рамках как закрытой, или проприетарной, инфраструктуры ИВ, так и открытой. Кроме того, существует множество комплексных решений ИВ, закрытых в принципе для разработки и манипуляций со стороны пользователя. Однако следует отметить, что наблюдается тенденция роста использования открытых, или свободных, решений за счет стандартизации устройств, протоколов, используемого открытого программного обеспечения и типовой аппаратуры.
Независимо от многообразия устройств ИВ и их принадлежности к открытой или закрытой инфраструктуре общими характеристиками, которыми они обладают, являются:
– информация о состоянии (State) устройства: характеристики, режимы работы, потребляемая энергия; вычислительная способность [17] и т.д.;
– информация о расположении (Location) устройства: статическое или динамическое позиционирование устройства, удаленность устройства от других элементов инфраструктуры ИВ;
– информация о состоянии сети связи (Network): скорость передачи данных, пропускная способность канала, стабильность канала.
Для реализации назначения заданий вводится дополнительный параметр Label, который указывает тип решаемого задания. Таким образом, общий вид модели устройства (D, Device) описывается в виде интегральной характеристики:
D = (Label, State, Location, Network). (3)
4. Оценка устройств Интернета вещей и назначение заданий
Для определения устройства ИВ, которое наиболее подходит под назначенное ему задание и наиболее эффективно выполнит полученное задание, используется машинное обучение с подкреплением. Обучение с подкреплением – это разновидность машинного обучения, которая основывается на получении реакции от окружающей среды в режиме реального времени либо в режиме, близком к реальному времени.
Для реализации алгоритма по оценке устройств ИВ и назначения заданий с помощью обучения с подкреплением требуется выполнение следующих условий:
– необходимость хранить актуальную информацию об устройствах в реальном времени либо в режиме, близком к реальному времени. Состояние и поведение устройств ИВ могут быстро изменяться, причем не всегда это можно предсказать;
– устройства ИВ ограничены в таких ресурсах, как: память, вычислительная способность, режимы работы и т.п.
Обучение с подкреплением использует понятия агента и среды. Агент – сущность, имеющая собственное состояние и набор выполняемых действий: а среда – это все, что окружает агента и дает реакцию (вознаграждение) на действия агента.
В роли агента ранее рассматривался центральный узел, а среды – устройства ИВ [18]. Использование машинного обучения с подкреплением позволяет обеспечить взаимодействие между центральным узлом и непосредственно устройством ИВ, что дает возможность реализовать распределенные вычисления на основе инфраструктуры ИВ [18, 19].
В данной работе рассматривается модифицированная архитектура, при которой в роли агента выступает устройство ИВ, которое оценивает другие устройства ИВ; в роли окружающей среды – устройства ИВ, которые оцениваются для распределения заданий. Таким образом, каждое устройство ИВ может быть и агентом, и средой. В данном случае каждое устройство может делегировать задание другому, что обеспечивает назначение заданий в распределенной вычислительной системе Интернета вещей, повышает его автономность и степень интеллектуального взаимодействия устройств.
Модифицированная архитектура, рассматриваемая в данной работе, показана на рис. 2.
Рис. 2. Модель агент – окружающая среда
У алгоритма обучения с подкреплением есть два режима работы, которые в данном случае будут модифицированы следующим образом:
– этап исследования: устройство отправляет запросы другим устройствам в кластере. Если устройства в кластере активны, то они подготавливают и формируют обратное сообщение – сигнал вознаграждения;
– этап эксплуатации: устройство оценивает полученное вознаграждение и выбирает соответствующее устройство кластера для отправки задания на выполнение.
5. Модифицированный алгоритм взаимодействия инфраструктуры ИВ
Разработка модифицированного алгоритма осуществлялась на основе ранее проведенных исследований [18].
Модифицированный метод взаимодействия элементов инфраструктуры ИВ показан на рис. 3.
Рис. 3. Взаимодействие в инфраструктуре ИВ
Указанный подход сокращает количество транзакций между устройством и главным узлом, в отличие от централизованного типа архитектуры ИВ, когда все транзакции должны быть адресованы главному узлу.
Следующий алгоритм описывает взаимодействие в инфраструктуре ИВ с учетом предложенной модификации.
Шаг 0. Установка начальных значений состояния элементов инфраструктуры ИВ. Главный узел посылает запросы всем устройствам для получения информации о них в соответствии с (1). Главный узел сохраняет список устройств и связанную с ними информацию. Главный узел вычисляет кластеры устройств на основе близости их интегральных характеристик.
Шаг 1. Каждое устройство посылает запрос на главный узел для получения информации о своей принадлежности к кластеру и о других устройствах того же кластера.
Шаг 2. Главный узел отвечает устройствам сообщением, в котором передается принадлежность к кластеру. В случае изменения местоположения устройство возвращается на Шаг 1.
Шаг 3. Устройство, которому необходимо выполнить задание, посылает запросы всем устройствам в том же кластере, если одно из них способно выполнить задание требуемого типа.
Шаг 4. Запрошенные устройства отправляют ответное сообщение в соответствии с информацией (3).
Шаг 5. Выполняется оценка полученных сообщений от устройств тем устройством, которое имеет задание на исполнение.
Шаг 6. Задание отправляется на соответствующее устройство для обработки. Информация о назначенном устройстве обновляется.
Шаг 7. В случае возникновения проблем (например, задача не может быть соответствующим образом обработана устройствами из кластера) распределяющее устройство сообщает об этом главному узлу и посылает запрос на переквалификацию к другому устройству или на включение в новый кластер – Шаг 1.
6. Результаты исследований
Для решаемой в данной работе задачи выбрано значение индекса нечеткости m = 4.
Однако определение оптимального числа кластеров само по себе является открытой темой исследований [20]. В данной работе значение количества кластеров фиксировано и равно 5. На рис. 4 показаны результаты процесса кластеризации алгоритмом FCM, реализованным на Шаге 0.
Рис. 4. Кластер устройств ИВ
Левая часть рис. 4 показывает поле распределения точек данных характеристик исследуемых устройств ИВ. Каждое устройство ИВ сформировало свои характеристики в соответствии с (1). Для каждой точки данных, описывающей каждую характеристику устройства ИВ, рассчитывается близость к центроидам кластера по евклидову расстоянию. Значения центроидов итеративно пересчитываются. На правой части рис. 4 показаны результаты кластеризации устройств ИВ, где видно, что устройства с близкими характеристиками образуют кластер.
Для анализа поведения модифицированного алгоритма распределения заданий необходимо сделать следующие допущения:
– количество устройств ИВ и узлов в инфраструктуре ИВ постоянно;
– значение параметра ε постоянное и имеет значение 0,1;
– значение вознаграждения изменяется в диапазоне [0; 1];
– количество узлов в каждом кластере переменное.
Данные допущения введены согласно проведенным ранее исследованиям [18].
На рис. 5 показано изменение значений вознаграждений в пределах одного кластера в зависимости от изменения количества устройств ИВ в кластере. Устройства сохраняют свои значения вознаграждений до нового запроса устройства, которое назначает задание.
Рис. 5. Выбор наилучшего устройства (от 5 до 7 устройств ИВ, 2000 симуляций)
Рис. 6. Среднее значение вознаграждения при выборе лучшего устройства ИВ (от 5 до 7 устройств ИВ, 2000 симуляций)
После ряда временных шагов устройство отправляет запросы ко всем устройствам в кластере и выполняет обновление сигналов вознаграждений. Распределяющее устройство проводит оценку и отправляет задание на то устройство, которое выполнит его наилучшим способом.
На рис. 6 показано среднее значение вознаграждения для случаев в 7 и 7 устройств (левая и правая части рисунка). При меньшем количестве устройств ИВ наибольшее среднее значение вознаграждения достигается быстрее, чем с большим количеством устройств. Более того, среднее значение вознаграждения выше, если сами значения вознаграждений выше, что определяется поведением алгоритма [21].
Заключение
Принципы автономности и саморегулирования объектов Интернета вещей, которые изначально заложены в концепции Интернета вещей, остаются открытыми вопросами для проведения исследований. Существующие подходы взаимодействия элементов инфраструктуры основаны на централизации управления. Однако простота такого решения приводит к возникновению проблем масштабирования и перегрузки каналов связи и объектов Интернета вещей. Более того, архитектура инфраструктуры Интернета вещей, реализованная по централизованному принципу, не позволяет достичь первоначальной идеи Интернета вещей: самоуправление объектов. Таким образом, предложенный новый подход к реализации объектов Интернета вещей позволяет устранить ряд существующих проблем взаимодействия. В работе предложены обобщенный шаблон взаимодействия устройств Интернета вещей, модель устройства и инфраструктуры Интернета вещей, а также модифицированный метод назначения заданий по устройствам ИВ на основе машинного обучения с подкреплением с использованием алгоритма Fuzzy C-Means. Такой подход позволяет динамически контролировать узлы инфраструктуры ИВ и управлять ими, снижает сетевой трафик и вычислительную нагрузку центрального узла, позволяет учитывать специфику узлов Интернета вещей и дает возможность поддерживать гибкость системы в реальном времени при неопределенных условиях среды.