Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

A MODIFIED METHOD OF ASSIGNING TASKS IN A DISTRIBUTED COMPUTING SYSTEM OF THE INTERNET OF THINGS

Stepanova M.V. 1
1 Bauman Moscow State Technical University (National Research University)
1531 KB
The emergence of the concept of the Internet of Things and the creation of infrastructures for digital solutions based on this concept has generated both new opportunities and new challenges for such digital solutions. The concept and infrastructure of the Internet of Things is based on the principle of a heterogeneous and distributed infrastructure by embedding various computing modules into objects of the surrounding world and their mutual integration, and their integration with other infrastructures. With this principle, a number of critical problems arise in the implementation of a distributed computing system based on IoT objects, first of all, associated with the optimal control of several data and command streams, as well as with the distribution of the computational load on the nodes of the IoT infrastructure. It should also be borne in mind that the composition, location of nodes, and the state of the distributed computing system of the Internet of Things can dynamically change due to internal and external processes. The original idea behind the concept of the Internet of Things was a self-regulating distributed infrastructure in which each node interacts directly with the others, without a centralized intermediary. However, today the architecture of building IoT infrastructures based on the centralized type of computing is mainly dominated, which makes the issue of optimal load balancing and independent intelligent interaction of nodes on the distributed computing system of the IoT urgent. This article proposes such mechanisms and a method for solving this issue based on a reinforcement learning approach, which allows the distributed computing system of the Internet of Things to quickly respond to internal processes and the environment in real time under uncertain conditions.
internet of things
machine learning
reinforcement learning
distributed computing systems
clustering

В основе Интернета вещей (ИВ) заложена концепция динамической автономной инфраструктуры [1], что делает ключевым аспектом самостоятельное взаимодействие устройств в инфраструктуре ИВ. Вопрос о данном взаимодействии был первоначально обозначен в 2009 г. [2], затем был повторно рассмотрен в 2015 г. [1], однако до сих пор его рассмотрение и решение является актуальными [3].

Ведущиеся исследования по созданию механизмов интеллектуального взаимодействия устройств ИВ направлены, в целом, на сокращение времени взаимодействия устройств и повышение качества обслуживания [4–6].

Самым распространенным типом взаимодействия устройств ИВ является централизованный тип архитектуры, характеризующийся наличием узла, выделенного в качестве центрального и обеспечивающего: консолидацию всех данных и заданий; управление данными и заданиями; управление устройствами [7, 8]. При данном типе устройство отправляет данные или задание на центральный узел, а центральный узел производит необходимую обработку и принимает дальнейшее решение по управлению. Поскольку вся логика управления и хранения данных находится на центральном узле, то это создает ряд проблем для инфраструктуры ИВ (характерных для централизованной архитектуры), таких как:

– высокая вычислительная нагрузка на центральный узел (или облако);

– управление гетерогенными устройствами и их мониторинг;

– масштабируемость при подключении новых устройств, пользователей, приложений;

– управление сетевым трафиком;

– управление устройствами при их перемещении на местности;

– постоянное изменение параметров передающей среды;

– необходимость в поддержке множества сетевых протоколов.

Для снижения влияния указанных проблем на всю инфраструктуру ИВ может быть использован децентрализованный подход, в частности предложенный в структуре граничных вычислений (Edge Computing) [8], при котором нагрузка с центрального узла переносится на удаленные или пограничные узлы сети. Таким образом, за счет распределения логики управления и хранения данных с центрального узла на пограничные узлы можно получить следующие преимущества:

– сократить сетевой трафик внутри инфраструктуры ИВ;

– снизить вычислительную нагрузку на центральном узле.

Перечисленные преимущества граничных вычислений перед централизованным типом архитектуры являются значимыми, однако не представляются в полной мере достаточными для рассмотрения граничных вычислений в качестве основного подхода в целях обеспечения децентрализованной архитектуры для ИВ, поскольку не позволяют решить остальные проблемы. Следовательно, описанные проблемы централизованного типа архитектуры полностью не решаются, в первую очередь, за счет того, что принцип взаимодействия устройств и пограничных узлов сети основан на централизованном типе архитектуры. А именно: во взаимодействие между устройством и основным центральным узлом добавляется пограничный узел сети (например, шлюз), который, в свою очередь, является центральным узлом для устройств и одновременно устройством для основного центрального узла. Таким образом, архитектура по типу граничных вычислений, в конечном итоге, испытывает те же проблемы масштабирования, перегрузки узлов, регулирования трафика и т.д. Более того, в [9, 10] отмечаются критические проблемы граничных вычислений, особенно в отношении задержек, управляемости, надежности, выборочного получения данных и выполнения задач пользователя.

Таким образом, для распределенной вычислительной системы ИВ должны быть предусмотрены подходы и механизм, снижающие негативное влияние централизованного типа архитектуры (в том числе и подобных архитектуре граничных вычислений) и обеспечивающие ее автономность.

В данной работе представлены механизм и метод, которые не имеют цели заменить существующие архитектурные решения и подходы, но позволяют повысить надежность и масштабируемость инфраструктуры ИВ, в частности распределенной вычислительной системы на основе объектов ИВ, сделав ее более гибкой и автономной.

Материалы и методы исследования

1. Архитектура шаблона взаимодействия инфраструктуры Интернета вещей

В [11] определены четыре основных шаблона (паттерна) взаимодействия интеллектуальных объектов:

– устройство – устройство;

– устройство – облако;

– устройство – шлюз;

– обратный паттерн совместного использования данных.

Шаблоны могут быть реализованы и использованы как по отдельности, так и в комбинациях, которые приведены на рис. 1.

missing image file

Рис. 1. Обобщенный шаблон взаимодействия в инфраструктуре Интернета вещей

В зависимости от конкретной бизнес-задачи, специфики или сферы деятельности можно выделить следующие возможные комбинации шаблонов взаимодействия:

– облако – шлюз – устройство;

– центральный узел – шлюз – устройство;

– центральный узел – устройство.

Данные взаимодействия обобщены в соответствии с используемыми подходами [12, 13]. Однако для реализации механизмов и методов назначения заданий и обеспечения автономности устройств в распределенной вычислительной системе Интернета вещей, применимых к различным сферам деятельности, необходимо учитывать аспекты использования каждого шаблона взаимодействия [11]. С данной целью рассматривается обобщенный шаблон взаимодействия в инфраструктуре Интернета вещей (рис. 1). Для его реализации необходимо определить множество условий и предположений:

– на каждом узле должно быть установлено программное обеспечение, такое как виртуальная машина (ВМ, VM – virtual machine), которая совместима с конкретным устройством и уменьшает влияние специфики аппаратного обеспечения от конкретного производителя. Данное условие является необходимым для реализации обобщенной архитектуры взаимодействия инфраструктуры ИВ;

– устройства должны поддерживать любую реализацию физического уровня модели OSI (Open Systems Interconnection);

– взаимодействие внутри инфраструктуры ИВ должно быть реализовано по клиент-серверной модели, причем назначения ролей сервера и клиента могут меняться;

– взаимодействие внутри инфраструктуры ИВ должно обеспечиваться посредством одного и того же протокола.

2. Кластеризация устройств Интернета вещей

В данной работе реализован модифицированный алгоритм назначения заданий в распределенной вычислительной системе Интернета вещей, функционирование которого состоит из нескольких этапов.

На начальном этапе работы алгоритма осуществляется формирование кластеров устройств с помощью метода машинного обучения без учителя – метод нечеткой кластеризации C-средних (Fuzzy C-Means), который основан на данных о сходстве множеств и является алгоритмом мягкой кластеризации. Принцип мягкой кластеризации для ИВ подразумевает, что одно устройство может быть отнесено не к одному кластеру, а способно принадлежать к нескольким множествам кластеров одновременно, что крайне важно при оценке принятия решений, поскольку инфраструктура ИВ, как правило, подвержена динамическим изменениям, таким как: изменение местоположения устройств, изменение технологии передачи данных, изменение типа решаемого задания и т.д.

Для задачи кластеризации устройств необходимо определить следующие требования к алгоритму FCM (Fuzzy C-Means):

– количество кластеров является постоянным и конечным;

– центроид кластера рассчитывается следующим образом [14]:

missing image file (1)

missing image file (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.

missing image file

Рис. 2. Модель агент – окружающая среда

У алгоритма обучения с подкреплением есть два режима работы, которые в данном случае будут модифицированы следующим образом:

– этап исследования: устройство отправляет запросы другим устройствам в кластере. Если устройства в кластере активны, то они подготавливают и формируют обратное сообщение – сигнал вознаграждения;

– этап эксплуатации: устройство оценивает полученное вознаграждение и выбирает соответствующее устройство кластера для отправки задания на выполнение.

5. Модифицированный алгоритм взаимодействия инфраструктуры ИВ

Разработка модифицированного алгоритма осуществлялась на основе ранее проведенных исследований [18].

Модифицированный метод взаимодействия элементов инфраструктуры ИВ показан на рис. 3.

missing image file

Рис. 3. Взаимодействие в инфраструктуре ИВ

Указанный подход сокращает количество транзакций между устройством и главным узлом, в отличие от централизованного типа архитектуры ИВ, когда все транзакции должны быть адресованы главному узлу.

Следующий алгоритм описывает взаимодействие в инфраструктуре ИВ с учетом предложенной модификации.

Шаг 0. Установка начальных значений состояния элементов инфраструктуры ИВ. Главный узел посылает запросы всем устройствам для получения информации о них в соответствии с (1). Главный узел сохраняет список устройств и связанную с ними информацию. Главный узел вычисляет кластеры устройств на основе близости их интегральных характеристик.

Шаг 1. Каждое устройство посылает запрос на главный узел для получения информации о своей принадлежности к кластеру и о других устройствах того же кластера.

Шаг 2. Главный узел отвечает устройствам сообщением, в котором передается принадлежность к кластеру. В случае изменения местоположения устройство возвращается на Шаг 1.

Шаг 3. Устройство, которому необходимо выполнить задание, посылает запросы всем устройствам в том же кластере, если одно из них способно выполнить задание требуемого типа.

Шаг 4. Запрошенные устройства отправляют ответное сообщение в соответствии с информацией (3).

Шаг 5. Выполняется оценка полученных сообщений от устройств тем устройством, которое имеет задание на исполнение.

Шаг 6. Задание отправляется на соответствующее устройство для обработки. Информация о назначенном устройстве обновляется.

Шаг 7. В случае возникновения проблем (например, задача не может быть соответствующим образом обработана устройствами из кластера) распределяющее устройство сообщает об этом главному узлу и посылает запрос на переквалификацию к другому устройству или на включение в новый кластер – Шаг 1.

6. Результаты исследований

Для решаемой в данной работе задачи выбрано значение индекса нечеткости m = 4.

Однако определение оптимального числа кластеров само по себе является открытой темой исследований [20]. В данной работе значение количества кластеров фиксировано и равно 5. На рис. 4 показаны результаты процесса кластеризации алгоритмом FCM, реализованным на Шаге 0.

missing image file

Рис. 4. Кластер устройств ИВ

Левая часть рис. 4 показывает поле распределения точек данных характеристик исследуемых устройств ИВ. Каждое устройство ИВ сформировало свои характеристики в соответствии с (1). Для каждой точки данных, описывающей каждую характеристику устройства ИВ, рассчитывается близость к центроидам кластера по евклидову расстоянию. Значения центроидов итеративно пересчитываются. На правой части рис. 4 показаны результаты кластеризации устройств ИВ, где видно, что устройства с близкими характеристиками образуют кластер.

Для анализа поведения модифицированного алгоритма распределения заданий необходимо сделать следующие допущения:

– количество устройств ИВ и узлов в инфраструктуре ИВ постоянно;

– значение параметра ε постоянное и имеет значение 0,1;

– значение вознаграждения изменяется в диапазоне [0; 1];

– количество узлов в каждом кластере переменное.

Данные допущения введены согласно проведенным ранее исследованиям [18].

На рис. 5 показано изменение значений вознаграждений в пределах одного кластера в зависимости от изменения количества устройств ИВ в кластере. Устройства сохраняют свои значения вознаграждений до нового запроса устройства, которое назначает задание.

missing image file

Рис. 5. Выбор наилучшего устройства (от 5 до 7 устройств ИВ, 2000 симуляций)

missing image file

Рис. 6. Среднее значение вознаграждения при выборе лучшего устройства ИВ (от 5 до 7 устройств ИВ, 2000 симуляций)

После ряда временных шагов устройство отправляет запросы ко всем устройствам в кластере и выполняет обновление сигналов вознаграждений. Распределяющее устройство проводит оценку и отправляет задание на то устройство, которое выполнит его наилучшим способом.

На рис. 6 показано среднее значение вознаграждения для случаев в 7 и 7 устройств (левая и правая части рисунка). При меньшем количестве устройств ИВ наибольшее среднее значение вознаграждения достигается быстрее, чем с большим количеством устройств. Более того, среднее значение вознаграждения выше, если сами значения вознаграждений выше, что определяется поведением алгоритма [21].

Заключение

Принципы автономности и саморегулирования объектов Интернета вещей, которые изначально заложены в концепции Интернета вещей, остаются открытыми вопросами для проведения исследований. Существующие подходы взаимодействия элементов инфраструктуры основаны на централизации управления. Однако простота такого решения приводит к возникновению проблем масштабирования и перегрузки каналов связи и объектов Интернета вещей. Более того, архитектура инфраструктуры Интернета вещей, реализованная по централизованному принципу, не позволяет достичь первоначальной идеи Интернета вещей: самоуправление объектов. Таким образом, предложенный новый подход к реализации объектов Интернета вещей позволяет устранить ряд существующих проблем взаимодействия. В работе предложены обобщенный шаблон взаимодействия устройств Интернета вещей, модель устройства и инфраструктуры Интернета вещей, а также модифицированный метод назначения заданий по устройствам ИВ на основе машинного обучения с подкреплением с использованием алгоритма Fuzzy C-Means. Такой подход позволяет динамически контролировать узлы инфраструктуры ИВ и управлять ими, снижает сетевой трафик и вычислительную нагрузку центрального узла, позволяет учитывать специфику узлов Интернета вещей и дает возможность поддерживать гибкость системы в реальном времени при неопределенных условиях среды.