Архитектура и организация граничных вычислений для виртуального кластера на основе компьютеров с ограниченными вычислительными ресурсами тема диссертации и автореферата по ВАК РФ 05.13.15, кандидат наук Шматков Владислав Николаевич
- Специальность ВАК РФ05.13.15
- Количество страниц 224
Оглавление диссертации кандидат наук Шматков Владислав Николаевич
Реферат
Synopsis
Введение
ГЛАВА 1. Обзор литературы
1.1 Интернет Вещей в современном мире
1.2 Анализ актуальных одноплатных компьютеров в различных областях
1.3 Существующие решения формирования кластера
1.6 Применение кластеров на одноплатных компьютерах в сетях Интернета Вещей
Вывод по главе
ГЛАВА 2. Кластер на основе одноплатных компьютеров
2.1 Архитектура кластера на основе одноплатных компьютеров
2.1.1 VM ware ESXi
2.1.2 Docker Swarm и Kubernetes
2.2. Методы и алгоритмы распределённых вычислений на кластере из одноплатных компьютеров
2.2.1 Алгоритмы балансировщика нагрузки
2.2.1.1 Алгоритм Round Robin
2.2.1.2 Алгоритм Weighted Round Robin
2.2.1.3 Алгоритм Sticky Sessions
2.2.1.4 Алгоритм min - max
2.3. Методы передачи сообщения
2.4. Хранение данных в кластере из одноплатных компьютеров
2.5 Тестирование производительности кластера
2.5.1 Межсетевое взаимодействие
2.5.2 Тестирование скорости расчёта матриц
2.5.2 Тестирование распознавания изображения с использованием сверточной нейронной сети
Вывод по главе
ГЛАВА 3. Разработка архитектуры, алгоритмов и методов построения распределенного кластера на основе устройств с ограниченными вычислительными ресурсами
3.1 Разработка архитектуры для кластера компьютеров с ограниченными ресурсами
3.2 Описание слоёв архитектуры
3.2.1. Слой устройств
3.2.2 Слой формирования и управления кластером
3.2.3 Координационный слой кластера
3.2.4 Слой виртуального кластера
3.3 Методы и алгоритмы формирования кластера
3.3.1 Регистрация и тестирование устройства
3.3.3 Работа координационного узла
3.3.4 Алгоритмы работы Виртуального Кластера
3.4 Методы формирования кластера из одноплатных компьютеров
3.4.5.1 Выбор координационного узла
3.4.5.2 Выбор узла хранения данных
3.4.5.3 Выбор мастер узла
3.4.5.4 Выбор вычислительных узлов
3.5 Формирование вычислительного слоя ВГУ
3.5.1 Модифицированный закон Амдала
3.5.2 Эмпирическое заполнение слоя ВУ следуя условию:
3.5.3 Мета-Обучение
3.5.4 Заполнение узлов, ориентированное на анализ доступных ресурсов Мастер Узла
3.5.5 Заполнение узлов с применением подхода кластеризации узлов
3.6 Сравнение виртуального и классического кластеров
Вывод по главе
ГЛАВА 4. Тестовый стенд и результаты
4.1 Описание тестового стенда
4.2 Результаты тестирования КОВР
4.3 Метод и алгоритм формирования кластера
4.3.1 Подбор устройств для роли координационного слоя
4.3.2 Подбор устройств для роли узла хранения
4.3.3 Подбор устройств для роли мастер узла
4.3.4 Подбор устройств для роли вычислительных узлов
3.6.1 Построение виртуального кластера
4.4 Тестирование виртуального кластера
4.4.1 Тестирование Координационного слоя
4.4.2 Тестирование производительности виртуального кластера
4.5 Результаты тестирования
4.5.1 Таблица конфигураций виртуального кластера для тестовых задач
4.6 Рекомендации по определению лучшей конфигурации виртуального кластера
Вывод по главе
Заключение
Список сокращений
Список литературы
Публикации
Реферат
В настоящее время во всем мире технологии Интернета Вещей (IoT, Internet of Things) всё больше становятся неотъемлемой частью нашей повседневной жизни, например: умный дом, умный город, сельское хозяйство, медицина, логистика и т.д. Огромное количество данных, генерируемых устройствами Интернета Вещей, требуют дальнейшей постобработки и анализа, в том числе с использованием машинного обучения. Для обработки поступающей информации используются «облака», где на мощностях дата-центра происходит непосредственный их анализ и принятие решений на основе полученных результатов. Однако, количество подключенных устройств к сети Интернет постоянно увеличивается, что приводит к сложностям обработки данных в «облаках» в связи с увеличением поступающих данных, увеличению нагрузки на сеть, увеличиваются задержки передачи данных между узлами и т.д.
Одним из решений данного вопроса является развитие технологий граничных вычислений, позволяющих взять часть нагрузки на себя и уменьшить время отклика на возникающее событие. Для организации граничных вычислений задействуются одноплатные компьютеры, которые обладают компактными размерами и высокой энергоэффективностью, но малой производительностью, не позволяющей решать вычислительно сложные задачи с использованием ресурсов одного устройства. Одним из решений данной проблемы является создание локального кластера, состоящего из компьютеров с ограниченными вычислительными ресурсами (КОВР). В данной работе под КОВР понимаются одноплатные компьютеры, например Rock64, которые не содержат дополнительных вычислительных расширителей, сопроцессоров для вычислений специальных задач, также, ограниченность КОВР стоит понимать в контексте решаемой задачи, когда мощности одного КОВР недостаточно [1].
При этом компьютеры и кластеры, задействованные в граничных вычислениях, часто выполняют определенные задачи и не задействуют всего потенциала данных устройств, которые хоть и являются компьютерами с ограниченными вычислительными ресурсами, но могут быть также использованы для решения иных задач в зависимости от свободных вычислительных ресурсов для организации виртуального кластера. В рамках данной работы под виртуальным кластером понимается организованное определенным образом множество компьютеров с ограниченными вычислительными ресурсами для решения вычислительно сложных задач с использованием виртуализации ресурсов доступных устройств в существующей инфраструктуре сети Интернета Вещей. При этом под виртуализацией понимается выделение части свободных ресурсов устройств для решения задач в рамках кластера. Актуальность настоящей работы обусловлена постоянным увеличением числа задействованных КОВР в сети Интернета Вещей, а также ростом их производительности, ресурсы которых обычно не задействованы в полном объеме так как решают строго определенный ряд задач. Эти мощности можно использовать
для построения Виртуального Кластера на основе существующей инфраструктуры для решения целого ряда иных задач, например таких как:
• Анализ данных от оконечных устройств в области граничных вычислений для перераспределения вычисления нагрузки на дата-центры с использованием уже существующей инфраструктуры.
• Использование свободных вычислительных ресурсов для решения вычислительно сложных задач на основе КОВР без необходимости приобретения дополнительного оборудования или задействования мощностей ЦОД.
• Организация вычислительной группы устройств под решаемую задачу с поиском наиболее подходящих узлов, а также формирование слоя постоянной памяти на основе свободных ресурсов Интернета Вещей.
• Виртуализация использования вычислительных ресурсов сети для распределения и хранения данных на устройствах Интернета Вещей.
В данной диссертационной работе рассматривается организация вычислений на гетерогенных узлах в сети Интернета Вещей, с предложенной уровневой архитектурой (в данной работе именуемая так же, как «слоистая архитектура») для формирования слоёв виртуального кластера из доступных узлов.
Стоит обратить внимание, что применение данного виртуального кластера стоит рассматривать, когда нерационально использовать мощности «облачных центров» или высокопроизводительных дорогостоящих компьютеров для решения текущих задач.
Объектом исследования является организация вычислений на виртуальном кластере на основе КОВР для повышения эффективности граничных вычислений в окружении Интернета Вещей
Предметом исследования являются архитектура, методы и алгоритмы построения виртуального кластера и распределения узлов с ограниченными вычислительными ресурсами.
Целью диссертационной работы является повышение производительности распределенного виртуального кластера устройств с ограниченными вычислительными ресурсами (КОВР) при решении вычислительно сложных задач в условиях гетерогенной сети. Для достижения поставленной цели необходимо решить следующие задачи:
1. Провести анализ существующих кластерных систем, построенных на КОРВ и область их применения
2. Выполнить классификацию устройств по решаемым задачам задействованных узлов в виртуальном кластере на основе опыта применения кластерных систем, состоящих из одноплатных компьютеров в различных областях применения.
3. Разработать архитектуру системы для кластера компьютеров с ограниченными вычислительными ресурсами, формируемых из удаленных устройств в условиях гетерогенной сети.
4. Разработать метод виртуализации хранения данных для улучшения качественных характеристик хранения и передачи данных на КОВР для виртуального кластера
5. Разработать алгоритм распределения устройств на основе классификации параметров производительности и доступных системных ресурсов компьютеров с ограниченными вычислительными ресурсами
6. Разработать сценарий экспериментальной оценки производительности распределенного виртуального кластера в условиях гетерогенной сети.
7. Спроектировать и собрать экспериментальный гетерогенный кластер для тестирования разработанной архитектуры и алгоритмов формирования виртуального кластера.
8. Провести экспериментальную проверку разработанных методов и алгоритмов формирования виртуального кластера в различных конфигурациях используя вычислительные задачи для оценки производительности.
9. Разработка рекомендаций по определению наилучшей конфигурации виртуального кластера для заданной вычислительно сложной задачи в условиях ограниченных вычислительных ресурсов.
Методы исследования: В работе использованы архитектурные методы, кластеризация данных, линейная алгебра.
Научные положения выносимые на защиту
1. Масштабируемая гибридная архитектура системы с возможностью динамического определения ролей узлов на основе тестирования доступных на них ограниченных ресурсов, позволяющая повысить производительность распределенных вычислений на кластере, формируемого из устройств в гетерогенной сети, за счет перераспределения узлов по уровням с учетом специфики решаемой задачи.
2. Алгоритм распределения устройств на основе доминирования по Парето учитывающий результаты тестов производительности системных ресурсов обеспечивает подбор вычислительных узлов для заданных ролей.
3. Метод формирования ВГУ и распределения узлов виртуального кластера на основе кластеризации в пространстве параметров производительности доступных устройств, обеспечивающий выбор однородных и взаимозаменяемых узлов виртуального кластера.
Научная новизна:
1. Предложенная гибридная архитектура виртуального кластера содержит элементы распределенной, модульной и микросервисной архитектур. Это позволяет: а) обеспечить координацию узлов, обработку и хранение данных на основе уровневой архитектуры; б) организовать и производить вычисления на ВГУ за счёт использования распределенной архитектуры; в) обеспечить адаптивность и конфигурируемость виртуального кластера за счёт применения элементов микросервисной архитектуры, что расширяет возможность адаптации системы виртуального кластера к новым задачам за счёт изменения или добавления соответствующих модулей при условии сохранения используемых интерфейсов. Разработанная автором архитектура виртуального кластера характеризуется передачей координационному узлу функций распределения задач по ВГУ и управления распределением данных на узлах хранения, и обеспечивает резервирование текущего состояния системы за счёт избыточности ключевых узлов, что позволяет сохранить целостность системы и завершения выполнения вычислительной задачи.
2. Алгоритм распределения устройств и назначения ролей в системе виртуального кластера,
учитывающий основные ресурсные ограничения, обеспечивает повышение производительности виртуального кластера на основе метода доминирования по Парето для сужения области поиска значений по заранее заданным параметрам. Данный алгоритм отличается от существующих (популярных) алгоритмов возможностью настройки параметров качественных характеристик производительности с учетом предварительно выполняемых тестов для определения ресурсных ограничений.
3. Предложенный метод формирования ВГУ и распределения вычислительных узлов позволяет добиться перераспределения вычислительных ресурсов без необходимости горизонтального масштабирования текущей инфраструктуры, что расширяет возможности использования доступных свободных ресурсов удаленных устройств для формирования виртуального кластера с целью его использования для решения вычислительно сложных задач (машинногообучения, обработки данных и т.д.).
Теоретическая значимость полученных результатов состоит в обосновании целесообразности построения и эффективности использования виртуальных кластеров
на основе одноплатных компьютеров для использования свободных ресурсов устройств с целью выполнения распределенных задач в граничных вычислениях.
Практическая значимость заключается в разработке экспериментального виртуального кластера, а также в разработанных программных компонентах для демонстрации виртуализации памяти на одноплатных компьютерах и организации распределенных вычислений на сформированных виртуальных кластерах в областях граничных и туманных вычислениях.
Достоверность изложенных в работе результатов проведенных исследований обеспечивается комплексом теоретических и расчётно-аналитических исследований в части выбора архитектуры виртуального кластера, исследования производительности формируемого на основе предложенной архитектуры кластера, непротиворечивостью данных проведенных экспериментов. Результаты исследовательской работы прошли апробацию на отечественных и международных конференциях. Полученные в работе результаты согласуются с данными других исследований, опубликованных в различных рецензируемых отечественных и зарубежных изданиях.
Соответствие диссертации паспорту научной специальности.
Диссертационная работа соответствует паспорту научной специальности 05.13.15 «Вычислительные машины, комплексы и компьютерные сети», а проведенное исследование - формуле специальности. Исследование соответствует следующим пунктам паспорта специальности.
2. Теоретический анализ и экспериментальное исследование функционирования вычислительных машин, комплексов и компьютерных сетей с целью улучшения их технико-экономических и эксплуатационных характеристик.
4. Разработка научных методов и алгоритмов организации параллельной и распределенной обработки информации, многопроцессорных, многомашинных и специальных вычислительных систем.
5. Разработка научных методов и алгоритмов создания структур и топологий компьютерных сетей, сетевых протоколов и служб передачи данных в компьютерных сетях, взаимодействия компьютерных сетей, построенных с использованием различных телекоммуникационных технологий, мобильных и специальных компьютерных сетей, защиты компьютерных сетей и приложений.
Рекомендованный список диссертаций по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК
Архитектура и методы вычислений для распределенной сверточной нейронной сети на кластере компьютеров с ограниченными вычислительными ресурсами2020 год, кандидат наук Хайдарова Резеда Раитовна
Построение и оптимизация распределенных виртуальных вычислительных систем2020 год, кандидат наук Пья Сон Ко Ко
Использование виртуализации для увеличения эффективности вычислении2020 год, кандидат наук Чжо За
Система управления распределенными виртуальными кластерами2019 год, кандидат наук Чубахиро Амисси
Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде2013 год, кандидат технических наук Е Мьинт Найнг
Введение диссертации (часть автореферата) на тему «Архитектура и организация граничных вычислений для виртуального кластера на основе компьютеров с ограниченными вычислительными ресурсами»
Апробация работы.
1. 26th Conference of Open Innovations Association FRUCT (Yaroslavl, April 23-24, 2020).
2. The Majorov International Conference on Software Engineering and Computer Systems (MICSECS 2018)
3. International Academic Workshop «Information Technology & Culture (ITC-2017, 22-23 June, Saint Petersburg).
4. XLVI научная и учебно-методическая конференция Университета ИТМО (31 января - 3 февраля 2017 года)
Публикации. По теме диссертационной работы автором опубликовано 7 статей, из них 1 работы изданы в журнале, рекомендованном перечнем ВАК, 4 в журналах, входящих в списки Web of Science/Scopus, 2 публикации в иных изданиях. Ценность научных работ заключается в том, что в них развернуто представлены новые результаты, полученные в рамках диссертационного исследования. Публикации автора разносторонне освещают и обосновывают ключевые решения по теме диссертации, а именно, по обеспечению эффективной организации граничных вычислений при решении вычислительно-сложных задач в условиях гетерогенной сети компьютеров с ограниченными вычислительными ресурсами. Работы, представляющие основные теоретические положения и практические результаты, опубликованы в рецензируемых изданиях, индексируемых реферативными базами Web of Science, Scopus, ВАК, и прошли апробацию на научных конференциях различного уровня.
В публикации «ROCK-CNN: A Distributed RockPro64-based Convolutional Neural Network Cluster for IoT. Verification and Performance Analysis» описано проектирование гетерогенной архитектуры с применением элементами уровневой, микросервисной и распределенных архитектур.
В публикации «ROCK-CNN: Distributed Deep Learning Computations in a Resource-Constrained Cluster» рассматривается использование распределенных сверточных нейронных сетей в кластере, состоящем из компьютеров с ограниченными вычислительными ресурсами, описаны алгоритмы организации распределенных сверточных нейронных сетей. Проведено тестирование кластера и представлены результаты.
В публикации «The platform prototype for testing heterogeneous networks in IoT environment» рассматривается взаимодействие различных протоколов передачи данных в сети Интернета Вещей. Предложен метод тестирования устройств для оценки скорости обмена
данными с использованием различных протоколов передачи данных в зашумленной среде исследуемой сети.
В публикации «Конфигурируемые IoT-устройства на основе SoC-систем ESP8266 и протокола MQTT» были разработаны шаблоны приложений сенсора и актуатора, конфигурируемые посредством WEB-интерфейса. Реализован режим точки доступа для начальной настройки устройства. Получены зависимости времени отправки и приема MQTT-сообщения в зависимости от его длины, измерено время отклика устройства на сетевые запросы и потери сетевых пакетов и MQTT-сообщений.
В публикации «Взаимодействие с устройствами интернета вещей с использованием голосового интерфейса» рассматривается реализация голосового управления на компьютере с ограниченными вычислительными ресурсами в сети Интернета Вещей.
Статьи из списков Web of Science/Scopus:
1. Shmatkov V.N., Spynu S.F., Pimenov V. The platform prototype for testing heterogeneous networks in IoT environment // CEUR Workshop Proceedings - 2019, Vol. 2344
2. Khaydarova R., Mouromtsev D., Fishchenko V., Shmatkov V., Lapaev M., Shilin I. ROCKCNN: Distributed Deep Learning Computations in a Resource-Constrained Cluster // International Journal of Embedded and Real-Time Communication Systems - 2021, Vol. 12, No. 3, pp. 14-31
3. Khaydarova R., Fishchenko V., Mouromtsev D., Shmatkov V., Lapaev M. ROCK-CNN: A Distributed RockPro64-based Convolutional Neural Network Cluster for IoT. Verification and Performance Analysis // Proceedings of the 26th Conference of Open Innovations Association FRUCT - 2020, pp. 174-181
4. Корзухин С.В., Хайдарова Р.Р., Шматков В.Н. Конфигурируемые IoT-устройства на основе SoC-систем ESP8266 и протокола MQTT [Configurable iot devices based on esp8266 soc system and mqtt protocol] // Научно-технический вестник информационных технологий, механики и оптики [Scientific and Technical Journal of Information Technologies, Mechanics and Optics] - 2020. - Т. 20. - № 5(129). -С. 722-729
ВАК:
1. Шматков В.Н., Бонковски П., Медведев Д.С., Корзухин С.В., Голендухин Д.В., Спыну С.Ф., Муромцев Д.И. Взаимодействие с устройствами интернета вещей с
использованием голосового интерфейса // Научно-технический вестник информационных технологий, механики и оптики [Scientific and Technical Journal of Information Technologies, Mechanics and Optics] - 2019. - Т. 19. - № 4(122). - С. 714-721
Публикации в иных изданиях:
1. Медведев Д.С., Шматков В.Н. Распознавание поз человека на малопроизводительных устройствах окружения Интернета Вещей // Сборник трудов IX конгресса молодых ученых (Санкт-Петербург, 15-18апреля 2020г.) -2021. - Т. 1. - С. 77-80
2. Голендухин Д.В., Шматков В.Н. Взаимодействие с окружением интернета вещей на основе распознавания жестов при использовании умных часов // Сборник трудов VIII конгресса молодых ученых (Санкт-Петербург, 15-19апреля 2019г.) -2019. - Т. 3. -С. 187-191
Личный вклад. Содержание диссертации и основые положения, выносимые на защиту, отражают персональный вклад автора в опубликованные работы. Автором лично спроектирована архитектура виртуального кластера, разработан алгоритм распределения устройств в виртуальном кластере, описан метод формирования виртуальной группы узлов (ВГУ) и распределения узлов в виртуальном кластере, разработан экспериментальный стенд и спроектирован эксперимент. Также автором разработаны программные компоненты для демонстрации виртуализации памяти на одноплатных компьютерах и организации распределенных вычислений на сформированных виртуальных кластерах. Автору исследования принадлежит постановка задачи исследования; анализ литературных источников; разработка методик и проведение экспериментальных исследований; обработка полученных результатов и их обобщение; выработка практических рекомендаций. Представленные в диссертации и публикациях результаты исследования получены автором самостоятельно.
Объем и структура работы. Диссертация состоит из введения, четырех глав и заключения. Полный объем диссертации составляет 223 страницы текста с 51 рисунком и 16 таблиц. Список литературы содержит 55 наименований.
Содержание работы
Во введении обосновывается актуальность данного диссертационного исследования, формулируются цель и задачи работы, определяются объект, предмет и методы исследования, излагается научная новизна и практическая и теоретическая значимость полученных результатов.
В первой главе проводится обзор предметной области, рассмотрены основные тенденции развития области Интернета Вещей, а также рассматриваются области применение одноплатных компьютеров в различных задачах. Одноплатный компьютер (single board computer,SBC) - это самодостаточный компьютер, собранный на одной печатной плате с установленными на ней всеми необходимыми компонентами (ЦПУ, ОЗУ, системы ввода-вывода и т.д.) и представляют собой компьютеры с ограниченными вычислительными ресурсами (КОВР). При этом, одноплатные компьютеры являются устройствами с ограниченными вычислительными ресурсами, так как не позволяют решать вычислительно сложные задачи при работе с большими данными задействованными ресурсами одного устройства. Было проведено сравнение различных одноплатных компьютеров между собой по ключевым характеристикам. Исследована область применения кластерных систем, организованных на КОВР, в ходе которого было выявлена большая популярность использования данных систем в образовательных и исследовательских целях при изучении распределенных систем и организации граничных вычислений (edge computing).
Рассмотрены различные существующие кластерные системы, в том числе на КОВР, а также сферы применения таких кластерных систем. Представлены некоторые вычислительные задачи, выполняемые на кластерных системах в образовательной сфере и в граничных вычислениях с применением различных моделях КОВР, что представлено в таблице 1.
Таблица 1 - Обзор области применения одноплатных компьютеров
Область Используемые Выполняемые задачи Работы год
применения устройства
В Raspberry Pi • выполнения Cox S.J.[17] 2013
образовательных вычислительных задач.
целях • тестирование производительности работы системы в различных фреймворках, в том числе и Н^оор
Raspberry Pi B • Обучение кластерным вычислениям Aaron M. Pfalzgraf [18] 2014
Raspberry Pi • тестирование производительности работы системы в различных задачах Ahmad Ashari[19] 2015
Raspberry Pi • Оценка применения одноплатных компьютеров для осуществления кибер операций Suzanne J. Matthews [20] 2016
Raspberry Pi 2 • выполнения вычислительных задач. • Обучение кластерным вычислениям Mappuji [21] 2017
Raspberry Pi(link is external) 2 Model B • Выполнение вычислительных задач • Моделирование и прогнозирование Wee Archie[22][23] 20152017
Raspberry Pi 3 b+ (1060 устройств) • выполнения вычислительных задач. • Демонстрация возможностей • Обучение кластерным вычислениям Oracle Open World 2019
Raspberry Pi 3 b+ • Работа с большими данными • Анализ производительности распределенной системы БЫоор Adnan[24] 2019
Граничные вычисления (edge computing) Raspberry Pi • Облачные вычисления в концепции граничных вычислений Claus Pahl[25] 2016
Raspberry Pi • Применение кластера в качестве вычислительного узла для граничных вычислений Roberto Morabito[26] 2017
• Оценка производительности контейнерных служб
Pi Stack • Управление удаленными одноплатными компьютерами на базе Beowulf Jeremy Singer [8] 2018
Raspberry Pi Odroid XU4 Lattepand 4G • Распределенная потоковая обработка данных • Управление конечными устройствами B Qureshi [9] 2019
Raspberry Pi • Исследование облачных вычислений на одноплатных компьютерах • Потоковая обработка данных Fernandez-Cerero[27] 2019
RockPro64 • распределенная глубокая нейронная сеть на кластере из одноплатных компьютеров Rezeda Khaydarova[28] 2019
Raspberry Pi • архитектура для кластерных контейнерных приложений • граничные вычисления Mappuji [29] 2020
Существующие на данный момент решения для применения КОВР основаны на экспериментальных решениях организации кластеров в рамках одной сети и использовании одной модели КОВР. Применение КОВР и кластерных систем в граничных вычислениях нацелено на решение определенной задачи, что приводит к тому, что
вычислительные ресурсы отдельных узлов задействуются не полностью и их можно использовать для решения иных вычислительных задач.
Кластеры из одноплатных компьютеров доказали свою эффективность не только в сфере образования и обучению работе с кластерными системами, но и их высокую эффективность применения в промышленности для контроля различных систем, также они нашли своё применение в робототехнике, в «умных системах», например: парковки, умные дома, уличном освещении. Кластерные системы на основе одноплатных компьютеров применяются для поддержания веб-сервисов и различных серверов, так как такая система способна эффективно масштабироваться и подключать дополнительные узлы по мере роста нагрузки на систему, таким образом обеспечивая энергоэффективность работы комплекса в целом. При этом если один из узлов выйдет из строя, то гарантируется отказоустойчивость системы, а низкая стоимость одноплатного компьютера по сравнению с обычной системой уменьшает издержки на обслуживание.
Количество задействованных одноплатных компьютеров постоянно растёт и в дальнейшем этот рост будет только увеличиваться, при этом доступные ресурсы одноплатных компьютеров / классических кластерных систем не всегда задействуются полностью или вовсе простаивают.
Идея «виртуального кластера» (далее ВК) состоит в объединении и организации разрозненных гетерогенных устройств для решения различных сложных вычислительных задач с использованием свободных (доступных) ресурсов уже существующей инфраструктуры находящихся в области граничных вычислений. В первую очередь, рассчитанную на использование ресурсов одноплатных компьютеров. Такой кластер также позволит использовать ресурсы существующей инфраструктуры более рационально, например, развернув дополнительные сервисы по обработке и хранению данных.
Таким образом, поставленная в работе задача по методам организации виртуального кластера, формируемого на основе одноплатных компьютеров является актуальной, а её решение позволит использовать ресурсы виртуального кластера для организации граничных вычислений.
Во второй главе рассмотрены основные существующие архитектуры распределенных систем с использованием КОВР, а также представлены в физическом исполнении несколько кластерных систем. Рассмотрены программные методы организации локальных кластеров на КОВР с использованием платформы Docker Swarm и Kubernete, а также управление виртуальными машинами с применением VMware ESXi, основным недостатком которого являются чрезвычайно высокие системные требования. Однако VMware ESXi по заявлением разработчиков является средой тестирования технологий на ARM процессорах и не предназначена для полноценной работы,
является проприетарный системой. Данные системы в первую очередь предназначены для работы с локальными узлами и организацией кластера в ручном режиме.
Основной элемент балансировки нагрузки - это применяемый алгоритм. Задача алгоритма состоит: распределении задач между узлами (все узлы должны быть загружены всегда), обеспечить высокую скорость обработки запросов, при этом должен быть обработан каждый запрос.
Для обработки всех поставленных задач их необходимо доставить на соответствующий вычислительный узел, в данной работе рассматриваются такие способы обмена сообщениями как: Socket (Сокет), Message Passing Interface (MPI), REST API.
При этом для вычислений необходимо получить данные на обработку и сохранить результат, в классических высокопроизводительных системах за это отвечают быстрые жесткие диски, но в кластерах с использованием КОВР чаще всего используется постоянная память представленная microSD картой с низкой скоростью работы с данными и реже eMMC памятью. В рассматриваемых системах модуль постоянной памяти часто является узким место ограничивающим производительность системы. Для решения данной проблемы используется внешнее хранилище данных, на котором хранятся файлы для обработки. Хранилищем данных может быть представлен usb накопитель подключенный к мастер узлу, ограничение на скорость работы с данными зависит от спецификации USB порта устройства или на сетевом диске / облаке, в таком случае работа с данными ограничивается возможностью сетевого взаимодействия устройств.
Для оценки производительности кластерных систем чаще всего используют тесты сложения матриц, например библиотека LINPACK, что позволяет сравнить время выполнения одной задачи на разных системах. Однако, данная библиотека не предназначена для использования в нестандартных системах с многоуровневой архитектурой, поэтому был использован алгоритм сложения матриц А и В размерностью m х п на вычислительном кластере с количеством узлов к. Для этого необходимо выполнить разбиение матриц А и В на подматрицы в зависимости от m, п и к.
В случае, когда m • п < к, разбиение тривиально. Для удобства матрицы А и В можно свернуть в одномерные вектора А и В, где А = [ а11, а12 , а13 ,..., а21, а22 ,..., атп ], В = [ Ьы , ^12 ,. ., Ь21 , Ь22 ,..., Ьтп ]. Тогда на каждый i-ый вычислительный узел, где i = 1,2,3...m • п, приходится по элементу а и Ъ, где а Е А, Ъ Е В. Таким образом, каждый i-ый вычислительный узел производит сложение скалярных значений а и Ь.
Если т • п > к, необходимо разделить каждую из матриц на к подматриц размером [^1 х [^1. Таким образом, каждый í-ый вычислительный узел производит сложение двух матриц размером [^1 х [^1, по возможности применяя собственные аппаратные оптимизации по распараллеливанию данной операции.
По завершении всех операций, результирующая матрица собирается из подматриц в соответствии с произведённым ранее разбиением. Данный тест демонстрирует производительность только в одной задаче, поэтому был использован тест в задаче распознавания изображений, требующей существенных вычислительных ресурсов. В основном для работы с изображением используют графические устройства (видеокарты), но не на всех одноплатных компьютерах они имеются, а если есть, то не удовлетворяют требованиям существующих библиотек. Поэтому тестирование будет проводится с использованием CPU доступных устройств с библиотекой «face detector» основанной на модели сверточной нейронной сети имеющую готовые примеры и предобученную модель для множества изображений, что позволяет использовать данный тест как бенчмарк. В данном тесте используются изображения размером 1000x500 пикселей и весом 1,5-2 МБ.
Третья глава посвящена разработке архитектуры, методов и алгоритмов организации узлов для виртуального кластера на КОВР. В настоящее время архитектуры Интернета Вещей представлены в виде слоистых (архитектур) и в зависимости от задачи количество слоев может варьироваться от трёх до семи. Например, архитектура, состоящая из трёх уровней, называется «трехслойной», каждый уровень отвечает за своё назначение:
1. На уровне восприятия находятся устройства. Устройства имеют датчики, отвечающие за получение информации, и исполнительные механизмы для взаимодействия с окружающей средой.
2. Сетевой уровень отвечает за взаимодействие устройств с другими сетевыми устройствами и серверами.
3. Уровень приложения, отвечает за доставку «услуг» конечному пользователю. Именно на этом уровне располагаются сервера и «облака».
По результатам обзора существующих архитектур были сформулированы требования к виртуальному кластеру:
• Самоорганизация системы.
• Подбор устройств от решаемой задачи.
• Определение «оптимального» количества устройств для решения задачи.
Разработанная архитектура для виртуального кластера предполагает использование компьютеров с ограниченными вычислительными ресурсами, которые не однородны по своим характеристикам, что приводит к задаче подбора похожих по характеристикам устройств и формирования из них виртуального кластера. Так как кластеров может быть сформировано больше одного, то стояла задача разработать слой управления ими, а также предоставления дискового пространства для хранения файлов на базе КОВР. Как и в ранее рассмотренных архитектурах в разработанной архитектуре для ВК применяются микросервисы, которые предполагают использование для каждого типа данных отдельный микросервис, независимый от остальных, что позволяет путем замены модуля обеспечить адаптивность и конфигурируемость системы для приёма различных типов данных. Основной особенностью является формирование всех слоёв кластера на основе подключаемых внешних устройств и выбор конфигурации по заданным параметрам для обеспечения выполнения вычислительной задачи.
Архитектура виртуального гетерогенного кластера, которая называется распределенная архитектура виртуального кластера (РАВК) и включает в себя четыре слоя: слой устройств, слой формирования и управления кластером, слой координации кластера, слой виртуального кластера (Рис. 1). Каждый слой из четырех слоев архитектуры отвечает за выполнение своей задачи:
1. слой устройств, здесь находятся все доступные внешние устройства.
2. слой Формирования и Управления кластером, является «Сервером» и отвечает за задачи:
• Регистрации устройств.
• Формирования кластера.
• Постановки задачи кластеру.
• Управления кластером.
3. слой Координации кластера отвечает за:
• Формирование виртуального пространства хранения данных.
• Взаимодействие с виртуальными кластерами.
• Регистрацию результатов.
4. слой Виртуальной Группы Устройств:
• Формирование ВГУ.
• Распределение ВУ.
При этом стоит отметить главную особенность компьютеров с ограниченными вычислительными ресурсами, это недостаток ресурсов одного КОВР для решения
вычислительно сложной задачи, в данной работе рассматривается масштабирование параметра хранения данных (постоянной памяти).
Рисунок 1 - Архитектура виртуального кластера на основе компьютеров с ограниченными вычислительными ресурсами «Сервер» является назначаемым устройством, данный узел необходим для организации кластера и получения результатов, но в расчётах не участвует. Также для формирования кластера были определены «роли» узлам. Каждый узел должен соответствовать определенным характеристикам для определения его места в виртуальном
кластере. Назначаемые виды узлов представлены: Мастер Узлом (МУ), Вычислительным Узлом (ВУ), Координационным Узлом (КУ), Узлом Хранения (УХ).
Формирование виртуального кластера разделено на несколько последовательных этапов. Рассмотрим основные методы и алгоритмы, участвующие в формировании виртуальной группы устройств с самого начала. Первым в работе кластера задействуется «слой Формирования и Управления кластером» (Сервер ВК), он отвечает за:
1. Регистрацию и тестирования новых устройств с присвоением устройству роли, соответствующей характеристикам устройства и текущим параметрам кластера.
2. Подбор параметров для виртуальных кластеров на основе имеющихся устройств.
3. Работоспособность всех уровней ВК.
4. Взаимодействие пользователя с формированным кластером через ВебИнтерфейс. После регистрации и тестирования доступных устройств Сервер задаёт первоначальные
параметры для формирования ВК, которое начинается с «Координационного слоя». Данный слой состоит из Координационного Узла (КУ) и узлов хранения данных. При этом КУ отвечает за взаимодействие Сервера и Виртуальной Группы Устройств (ВГУ), а также за взаимодействие с узлами хранения данных. Следующим шагом необходимо назначить Мастер Узел, а также присвоить ему подходящие Вычислительные Узлы, которые сформируют Виртуальную Группу Устройств (ВГУ). Стоит отметить, что координационный узел может обслуживать несколько ВГУ. При этом характеристики КОВР могут существенно отличаться, как и другие важные параметры (скорость сети, загруженность процессора и озу, количество свободной постоянной памяти и т.д.), для того чтобы сформировать ВГУ более сбалансированно необходимо подобрать устройства по схожим параметрам, что соответствует задачи кластеризации. Более подробно этапы формирования виртуального кластера представлены на рисунке 2.
Рисунок 2 - Этапы формирования виртуального кластера
В разработанной архитектуре выделяются два формируемых слоя: слой координации кластера и слой ВГУ. На каждый из этих слоёв назначается устройство с определенной ролью:
• Слой координации кластера:
о Координационный узел - устройство с данной ролью отвечает за распределение задач между ВГУ, а также за организацию «виртуализации хранения данных» и распределение файлов между узлами «хранения данных». В том числе производит регистрацию и хранение результатов обработки данных. о Узел хранения данных - устройство, назначаемое для организации постоянного дискового пространства для хранения данных.
• Слой виртуальной группы устройств:
о Главный узел - он же «Мастер Узел» (МУ), на прямую связан с Координационным Узлом, управляет состоянием кластера, распределяет задачи между вычислительными узлами. о Виртуальный Вычислительный узел (ВВУ) - устройства, назначенные на эту роль, выполняют задания, назначенные Мастер Узлом, результаты возвращая МУ.
Координационный узел выбирается случайным образом из наиболее подходящих по характеристикам устройств, соответствующих заданным параметрам. После выбора устройства и назначения ему соответствующей роли клиенту отправляется задание на скачивание и установку необходимых модулей, а также список, назначенных узлов хранения данных. После уставки и настройки системы координационный узел передаёт данные о готовности главному серверу. Визуализация алгоритма формирования координационного слоя представлена на рисунке 3.
Рисунок 3 - Алгоритм формирования координационного слоя
Пользователь во время формирования кластера может также задать исходные данные и метод (алгоритм) для их обработки, на основе этих данных будет сформирован координационный узел и подобраны устройства для формирования виртуального кластера. Объём постоянной памяти рассчитывается по формуле:
Квп
1С ¿=1
V,- - к, УВп> ^схд
где:
Увп - общий объём постоянной виртуальной памяти
Vi - свободная доступная постоянная память 1 - устройства
Уисхд - общий объем исходных данных
к - коэффициент использования объёма доступной памяти, по умолчанию 30%.
Координационный узел выделяет необходимый объём постоянной памяти на каждый виртуальный кластер в зависимости от исходных данных, если объёма памяти не хватает,
то он запрашивает один из свободных узлов для повышения его объёма, в случае отсутствия свободного узла координационный узел отправляет запрос на смену роли уже задействованного устройства и его использования в качестве узла хранения.
Данные на координационном узле хранятся в виде ссылок на их месторасположение в базе данных БОЬке. Формируя очередь задач для ВГУ координационный узел передаёт Главному Узлу ВГУ список ссылок на скачивание файлов с узлов хранения данных.
С учётом использования различных по своим характеристикам узлов для хранения данных, вопрос балансировки нагрузки при передаче данных узлам ВГУ был решён с использование очереди с подтверждения, освободившегося для передачи данных узла хранения, что позволяет передать данные на обработку с наименьшими задержками. После передачи файла узел хранения передаёт свой новый статус координационному узлу для получения новых заданий.
По завершению вычислений результаты от Мастер Узла передаются на координационный узел в компонент «Обработки и регистрации результатов», где проходит регистрация результатов и удаление из очереди задач обработанных данных. Данная операция необходима для отслеживания выполнения расчётов, а в случае выхода из строя мастер узла и замены его на любой другой не придётся выполнять повторные вычисление, так как будет передан список ещё не обработанных исходных данных.
Похожие диссертационные работы по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК
Математическое моделирование средств управления ресурсами и данными в распределенных и виртуализованных средах2007 год, доктор физико-математических наук Тормасов, Александр Геннадьевич
Разработка технологии обеспечения высокоскоростных вычислений на основе облачной инфраструктуры2021 год, кандидат наук Кочовски Петар
Исследование и разработка метода ускорения операции соединения распределенных массивов данных по заданному критерию2024 год, кандидат наук Тырышкина Евгения Сергеевна
Метод и модели поддержки автоматизированного проектирования функционально-надежных Кластерных компьютерных систем реального времени2016 год, кандидат наук Богатырев Анатолий Владимирович
Специальное математическое и программное обеспечение децентрализованного управления динамической реконфигурацией вычислительной системы на базе мобильных устройств2022 год, кандидат наук Рожкова Татьяна Сергеевна
Список литературы диссертационного исследования кандидат наук Шматков Владислав Николаевич, 2021 год
Литература
1. Gershenfdd NA When Things Son k> Think. New York: Henry Holl and Company, 2000. 224 p.
2. Dragomir D., Gheorghe i.. Costea S„ Radovici A. A Survey on Secure Communication Protocols for fc>T Systems /.' Proc of Ни International Workshop on Secure Internet of Things (StoT 2016).
2016.P. 40-62. doi: 10.1109,5loT-2016.012
3. Hejazi H, Ra>bH., Cinkler T, Lengyel L. Surveyor platforms for massive k>T//Proc. of the IEEE Intematicna] Conference on Future loT Technologies (Future loT 2018). 2018. doi: 10.1109,'ЛОТ2018.832359е
4. Polianytsia A„ SUrkova 0-, Herasymaiko K. Survey of hardware loT platforms II Proc Third International Scientific-Practical Conference Problems of Infocommunicatioiu Science and Technology (PIC S&T).2016. P. 152-153.doi: iai109.'TNPOCOMMST2016.7905364
5. Singh KJ, Kapoor DS Oeate Your Own Internet of Things: A survey of loT platforms // IEEE Consumer Electronics Magazine.
2017. V. 6. N 2. P. 57-68. doi: 1 a 1109/Ж E20162640718
6. Naik N.. Jenkins P. Web protocols and dudlenges of Web latency in the Web of Things И Proc ^ International Conference on Ubiquitous and Future Networks (ICUFN 2016). 2016. P. 845-850. doi: I0.I109,'KUFN.20I6.7537156
7. СелонСв С JL Яковлев В .В Архитектура промышленных приложений 1оТ и протоколы AMQP, MQTT, JMS, REST, СоАР,
References
1. GenjienieldN.A. When Things Start to Think. New York, Henry Holt and Company, 2000, 224 p.
2. Dragomir D., Ghe or ghe L., Costea S., Radovici A. A Survey on Secure Communication Protocols for IoT Systems. Pmc. of the Inxmalonol Workshop on Secure Interne1 of Things (SIoT 2016), 2016, pp 49-62. doi: 10.1 K»,'SIoT20l6.0l2
3. Hejazi H .. Rajab H, Cinkler T., Lengyel L. Survey of platforms for massive loT. Pmc of the IEEE InternMonti Conference on FuUre lor Technologies (Futun loT 2018), 2018. doi: 10.1109/FIOT.2018.8325598
4. Polianytsia A, Starkova O., Hera&ymenko K. Survey of hardware IoT platforms. Pmc Third International Scientific-Practtol Conference ProNems ofln/ocommmicaltms Sciene art! Technology (PIC SA Tf,
2016, pp. 152-153. doi: I0.1109/INFOCOMMST.2016.7905364
5. Singh K.J., Kapoor D.S. Create Your Ow n Internet of Tilings: A survey of IoT platforms. IEEE Consumer Electronics Magazine,
2017, vol. 6, no 2, pp. 57-68, doi: 10.1109,MCE201626407I8
6. Nail N, Jenkins P. Web protocols and challenges of Web btency in the Web ofThings. Pmc. S^lnternatimal Confemnce on UhipitUus and Future Networks (ICUFN 2016), 2016. pp. 845-850. doi: 10.1109.1CUFN .2016 7537156
7. Seleaiev S, Yakovlev V. Industrial Application Archkecture IoT and protocols AMQP, MQTT, JMS, REST, CoAP, XMPP, DDS.
КОНФИГУРИРУЕМЫЕ ЮТ-УСТРОИСТВА НА ОСНОВЕ SoC-СИСТЕМ ESP6266 И ПРОТОКОЛА МОТТ
XMPP. DDS и International Journal of Open Information Technologies 2019. V. 7 . N5 . P. 17-28.
8. Hwang HC., Park J, Shod J.G. Design and implementation of a reliable message transmission system based on MQTT protocol in U)'T S Wifeless Personal Communications. 2016. V. 91. N 4. P. 17651777. dot 10.1007/s 11277-016- 3398-2
9. Roy D.G, MahatoB, DeD. BuyyaR. Application-aware end-to-end delay and m«usage loss estimation in Internet of Things I loT) -MQTT-SN protocols tt Future Generation Computer Systems. 2018. V. 89. P. 300-316. dor 10.1016,'j.fixture.2018.06.040
10. Naik N. Choice of effective messaging protocols for loT systerm: MQTT, CoAP, AMQP and HTTP // Proc. 3" Annual IEEE Iriematicnal Symposium on Systems Engineering (1SSE 2017% 2017. P. 808S251. doi: 10.1109,S)eEjig2017JI(№82il
11. Yokouni Т., Sasaki Y. Comparison with HTTP and MQTT on required network resources for loT // Proc. 2"* International Conference on Control, Electronics, Renewable Energy, and Communications (KCEREC 2016). 2016. P. 7814989. dot: 10.1109ЛСС EREC 2016.7814989
12. Boneto R., Bui N, tjkkuuii V.,01iverauA,S«Wati A, Rossi M. Secure communication for smart loT objects: Protocol stacks, use cases and practical examples // Proc. 13* IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM 2012). 2012. P. 6263790. doi: 10.1109/W» WMoM. 201 2j6263790
13. Dinculeanl D., Cheng X. Vulnerabilities and limitations of MQTT protocol used between iot devioes // Applied Sciences. 2019. V. 9. N 3. P. 848.doi: 10J390«pp9050848
Atmoko R A, Riantini R, Hasin M.K loT real time dau acquisition tsing MQTT protocol// Journal of Hiysics: Conference Sen ев. 2017. V. 853. N 1. P. 0120(13. doi: 10.1081,1742-659485i l/012003 Ulsm нов B.H., Бонновскн П., Медведев Д.С., Кораухин С .В., Голенцухнн Д.В , Слыну С.Ф., Муромцев Д.И. Взаимодействие с устройствами Инге|>гета пешей с использованием голосового интерфейса// Научно-технический вестник информационных технологий, механики и оптнкн. 2019. Т. 19. № 4. С 714-721. doi: 10.17586.2226-1494-2019-19-4-714-721
14
15
International Journti of Open Information Technologies, 2019, \©l. 7, no. 5, pp. 17-28. (in Russian)
8. Hwang HC. Park J. Shon J.G. Design and implementation of a reliable message transmission system based on MQTT protocol in loT. Wineless Personal Communications, 2016, vol. 91, no. 4, pp- 1765-1777. doi: iai007/sll277-016-3398-2
9. Roy D.G., Maiiato B, De D., Bttyya R. Application-aware end-to-end defaty and message loss estimation in Internet of Things (loT) -MQTT-SN potocols. Fnure Genemtion Computer Systems, 2018. voL 89, pp. 300-316 doi: 10.1016.].fuure 2018.06.040
10. Nak N. Choice of effective messaging protocols for loT systems: MQTT, CoAP, AMQP and HTTP // Proc. Annual IEEE Inlermtkmal .Vayxit/un or SyHem* Engtteering (ISSE 2017), 2017, pp. 8088251.doi: 10.1 l09.SysF.ng.2017.808X251
11. Yokotani T„ Sasaki Y. Comparison with HTTP and MQTT on required network resources for loT. Proc. International Conference on Control. Electronics, Renewable Energy, and Communications (1CCEREC 2016). 2016, pp. 7814989. doi: 10.1I09/1CCEREC2016.7814989
12. Bonet1oR,BuiN,U*kundi V, OBvereauA, SerbanatiA, Rossi M. Secure communication for smart loT objects: Protocol stacks, use cases and practical examples. Ptvc. /J* IEEE International Stmpotium on a WutiJ of Wlnkss. Mobile and Mtitmetia Nehrotks (WoWMoM 2012), 2012, pp.6263790. doi: 10.1109/Wo WM oM 2012 6263790
13. Dinculani D, Cheng X. Vulnerabilities and Imitations of MQTT protocol used between iot devico». Applied Sciences, 2019, vol. 9, no. 5. pp. 848. doi: 10J390app9050848
14. Atmoko RA, Riartini R, Hasin MX. loT real time data acquisition using MQTT protocol. Journal of Physics. Conference Series, 2017, voL853.no. 1, pp. 012003. dd: l0.1088/1742-6596«53/l.012003
15. Shmatkov V.N, Bakowski P, Medvedev D.S, Korzukhin S.V., Golendukhin D.V, Spynu S.F., Moufomtsev D.I. Interaction with Internet of Things devices by voice control. Scientific and Technical Journal of Information Technologies. Meelanics and Optics. 2019, vol.19, no. 4, pp. 714-721. (in Russian). doi: 10.17586/2226-1494-2019-19-4-714-721
Авторы
Kupiv iмм Сергей Владиславович —студент. Университет ИТМО, Санкт-Петербург, 197101, Российски Федерациа, ORCID ID: 00004003-3163-9061, SageykoreuldiiiM-gtrttiLcom Хайзарова hit' i и Раит пана —инженер-исследователь, Университет ИТМО. Санкт-Петербург. 197101. Российски Федерациа, Scopus ID. 57031874500, ORCID ID: OOOO-OOO1-8270-9192, migtolowaggmaiLoom
Шчаткоа Владислав Николаевич —заведующий лабораторией, инасенер-нослсдователь, Ушгверситет ИТМО, Санкт-Петербург, 197101, Российски Федерация, ORCID ID: 0000-0003-1391-1455. shin Mko vv I aditi gmiilcoir
Authors
Serjtey V. Korzukhin — Student, ITMO University, Saint Petersburg. 197101, Russian Federation, ORCID Ш: 0000-0003-3163-9061, SergeykomiJiinj^rgirailcom
Kewda К Kliaydarova —Research Engineer, ITMO University, Saint Petersbwg, 197101, Russian Federation. Scopus ID: 57031874500, ORCID ID: OOOO-OOO 1-8270-9192, mignolow^maj.oom
Vladislav N. Shnutkov — Laboratory Head. Research Engineer, ITMO University, Saint Petersburg, 197101, Russian Federation, ORCID ID: 00004003-1391-1455, shma*ovvlad@«matU<m
Л4ИЯГ®ГИТГГ ИТ но
l-W-HO-TBCrtfHECKMR ВЕСТНИКHHtCCMWJHOHrtÄ ТВСНОЛСГИЧ, WEXAHUO* И ОПТИКИ МКМВЦГЯЮ Ъм 191*4 IBBN 222в-1404 Гтт*х//гшПтю.гц'
ЭаВГПВСАНО TECHNICAL JOUBHALCf IMFCflMMÏOW TECHMOLCCIES, MECHWCSAND OPTES JJ/-AU9IS12010 Vol 10 No 4 IB8N 2226-1404 taptfwJimo/ivW
«(№!№> ИМПШ Mi (UM I DIM
УДК (HM.522 doi: 10.17586/2226-1494-2019-19Ж714-721
ВЗАИМОДЕЙСТВИЕ С УСТРОЙСТВАМИ ИНТЕРНЕТА ВЕЩЕЙ С ИСПОЛЬЗОВАНИЕМ ГОЛОСОВОГО ИНТЕРФЕЙСА
B.I1.Шмаисов. П. Ьонковскн. Д.С. Медведев, C.B. KopiyxHii. Д.В. Голендухин. СФ. Сиыну. Д.И. М\ ромиси Университет ИТМО, Санкт-Петербург, 197I01, Российская Федерациа Адрес для переписки: shrrotkovvladia girail.coin Информация остатке
Поступилаврсдакцию 23.04.19,приютак печати 01.06.19 Яшк ст атьи — русский
Ссылка /дли цитирования: Шматков ВЦ Бонконски П Медведев Д.С, Корякин Ci»., Голенф хин Л В . СпынуС.Ф., Муромцев Д-И Взаимодействие с устройствами интернета вещей с использованием голосового интерфейса ¿' Научно-технический вестник информационных технологий, механики и оптики. 2019. Т. 19.» 4. С 714-721. doi: 10 НЗИб-^б. 1494-2019-19-4-714-721 Аннотация
Предмет исследования. Рассмотрены современные наиболее популярные голосовые ассистенты для управления устройствами интернета вещей, представленные на рынке, такие как Google Cloud Specch-to-Tcxt, Аталэп Transcribe, IBM Speech to Text, Yandex SpccchKit. Выявлены нх достоинства и недостатки. Для работы голосовых ассистентов необходимо подключение к сети Интернет с целью обработки получаемых данных в «облаке», а также для синхронизации и управления устройствами пользователя. Большой практический интерес могут представлять голосовые ассистенты, которым не требуется наличие подключения к сета Интернет. Метод. В данной статье предложена модель организации локального (без использования сети Интернет) распспнавання речи с использованием мобильных устройств. В качестве системы распознавания спонтанной речи используется программное обеспечение CMU Sphinx, осуществляющее распознавание речи с одновременным применением акустической и языювай моделей, a также трансляцию распознанной речи в команды, понятые системе, построенной на базе открытой платформы управления устройствами «OpaiHah». Предложен подход к описанию грамматик и формированию словаря для распспнавання речи. Приведен пример словаря и описания грамматики для речевой системы управления подклкленными устройствами. Для тестирования описываемого в статье подхода создан демонстрационный стенд, основой юторого является одноплатный персональный компьютер Ra^beny Pi с установленным программным обеспечением орепНаЬ, и построены устройства интернета вещей на базе микроюнтроллеров ESP8266. Основные результаты. Реализовано голосовое управление устройствами интернета вещей, которое осуществляется с применением протоюла MQTT. Реализовано взаимодействие с сервером по протоколу HTTP. Проведено тестирование распознавания голосовых команд. Показана возможность практического применения предложенного в статье подхода к распознаванию спонтанной речи. Практическая значимость. Данная модель пспволяст описать и подключить к системе значительное число устройств интернета вещей, представленных на рынке. Используя данную модель можно минимизгфовать или исключить влияние работоспособности сторонних внешних сервисов на работу системы голосового управления устройствами интернета вещей. Ключевые слова
человею-компьютерное взаимодействие, интернет вещей, голосовое убавление, умный дом, управление устройствами
doi: 10.17586/2226-1494-2019-19-4-714-721
INTERACTION WITH INTERNET OF THINGS DEVICES BY VOICE CONTROL V.N. Shnutkov, P. liakimiki. D.S. Medvcdcv, S.V. Korzukhin, D.V. Golcndukliln. S.F. Spynu. D.I. Mourointscv ГГМО University, Saint Petersburg, 197101, Ruasim Federation Corresponding author: shmafcovvbdjg/gnailcam Article Info
Received 23.04.19, aoceptedOl .06.19 Article in Russian
Fordtadon: Shrmtkov V.N., B^kowski P, Medvedev OS, Korzuldiin S.V , Golendukhin D.V., Spynu S.F, MourornBev D.I. Interaction with Internet of Things devioes by voice control. Scientific anl Technical J cttrnal of Injurmalion Technologies, Mechtitlcs and Optics, 2019, wl. 19, no. 4, pp 714-721 (in Russian), doi: 10.17586/2226-1494-2019-19-4-714.721
В Н. Шматков, П. Бонковски, Д.С. Медведев, C.B. Корэухин, Д.В. Голендухин, С.Ф. Спыну, Д.И. Муромцев
Abstract
Subject of Research. 1 he paper considers actual popular voice assistants for voicc control of Internet of Things devices, such as GoogleCloud Speech-to-Text, Amazon Transcribe, ШМ Speech-to-Tcct, Yandex SpeechKit. Theirprosand cons arc identified, internet connection is necessary far operation of so ice assistants aimed at data processing in the cloud and synchronization and control ofuser's mobile devices. Voice assistants, which can operate without Internet connection, can have significant practical value. Method. Architectural model for on-site speech recognition (without the Internet) with the use of mobile devices is proposed. CMU Sphinx software is used as a base for spontaneous qreech recognition system. The software uses both acoustic and speech models for spsrntancous speech recognition and also translates voice commands into such ones that can be processed by the system based onOpenHab open platform for device control. The approaches to grammar and dictionary creation for speech recognition are proposed. Example of dictionary and grammar description for voice control of attached devices arc given In order to test the described approach, the demonstration stand was treated based on single-board Raspbary Pi computer with OpenHab software installed. In addition, devices of the Internet of Things based on ESP8266 microcontroller were built. Main Results. Control of the internet of Things devices and interaction with the server are implemaitcd with the use of MQTT protocol. Testily of voice commands recognition is earned out. The possibility of practical app licatian of the proposed approach to spontaneous qiecch recognition is shown. Practical Relevance Proposed model describes and integrates into control system a significant part of the Internet of Things devices represented on market. By applying the model, it is possible to minimize or even remove the impact of external third-party services on working crpacity of voice control system for the Internet of Things devices. Keywords
human-co rrjurtcr interaction, loT, Internet of Things, voice control, smart home, device control
Введение
Интернет вещей — это концепция, появившаяся в начале 2000-х годов и с тех пор надежно закрепившаяся среди наиболее популярных направлений в области информационных технологий. В ее основе лежит идея о вычислительной сети устройств, способных взаимодействовать друг с другом и с внешним миром [1].
Решения интернета вещей предлагают различные способы взаимодействия пользователя и системы устройств. Успешные разработки в области распознавания и синтеза речи способствуют появлению нового вида человеко-машинных интерфейсов: голосовых ассистентов, способных вести с пользователем диалог на естественном языке и выполнять различные голосовые команды.
Основной проблемой голосовых ассистентов является облачная обработка данных и зависимость от качества интернет-подклкнения. Каждая из систем, представленных на рынке, имеет собственную экосистему и список поддерживаемых устройств. Часто подключить и настроить устройства других производителей невозможно или они имеют урезанный функционал.
В данной работе мы провели краткий обзор существующих решений области и предложили концепцию голосового управления системой интернета вещей, включающую в себя разбор спонтанной речи и формирование команды взаимодействия с устройствами. С упором на предложенную концепцию мы спроектировали стенд для тестирования разработанной системы интернета вещей. Данная работа основана на следующих технологиях: CMU Sphinx — открытое программное обеспечение (ПО) [2) для распознавания речи, ОрепНАВ — открытое ПО для координации интернет вещей1.
Прототип голосовой платформы
Данная платформа состоит из двух подсистем: подсистемы голосового управления и подсистемы управления интернет вещами, которая отвечает за формирование и выполнение сценариев интернет вещами. В ходе реализации предложенной схемы голосового упраклекия был создан стенд, имитирующий систему «Умный дом». Общая схема стенда отражена на рис. 1. Далее подробнее рассмотрим каждую кз подсистем.
Подсистема голосового управления
&
пользователь
Подсистема управления Интернет Вещами
-о-
ESP8266
реле
■ О -Г -ж
ESP8266 ПК-передатчик ^_обогревателе/
Рис. 1. Схема прототипа голосового управления интернетом вещей
1 Документация орепНАВ [Электронныйресурс]. Режим доступа: https:,''/www.cpcnhA.oig/docs,свободный. Яз. ант. (дата обращения: 15.05.2019).
Обзор голосовых ассистентов
На сегодняшний день существует большое разнообразие коммерческих систем автоматического распознавания речи: Google Cloud Speech-to-Text1, Amazon Transcribe2, IBM Speech to Text3, Yandex SpeechKit4. Данные системы решают большое количество задач и освобождают разработчика от необходимости создавать такую комплексную н сложную систему, как систему автоматического распознавания речи. Например, распознавание речи с помощью проверенных временем алгоритмов, демонстрирующих высокие результаты [3], можно реализовать с использованием высокопроизводительных вычислительных ресурсов об.танных систем. Облачные платформы предоставляют отказоустойчивый программный интерфейс приложения (API, Application Programming Interface) для распознавания речи, а также имеют экосистемы с большим количеством пользователей, куда легко встраивать собственные приложения с голосовым интерфейсом.
Кроме несомненных достоинств, вышеупомянутые системы имеют следующие недостатки.
1. Перечисленные выше системы являются облачными системами, поэтому они зависят от их доступности, пропускной способности и прочих факторов, влияющих на скорость распознавания.
2. Нет возможности настроить систему распознавания речи для решения конкретной задачи. Качество распознавания зависит от используемой языковой модели. В разных прикладных областях разная вероятность у разных слов. Стандартные системы используют усредненную модель языка, либо модель, разработанную для решения проблем, поставленных перед создателями платформы, далеко не всегда совпадающими с задачами пользователей системы.
3. Обычно работа с облачными системами требует дополнительных финансовых затрат, заданных правилами использования таких систем.
4. Ресурсозатратность голосовой активации. При постоянной записи звука дополнительно расходуется интернет-трафик.
Современные системы локального распознавания речи можно разделить на две группы: основанные на последовательном использовании нескольких моделей — акустических и языковых: и end-to-end подходы, основанные на нейронных сетях и не требующие использования раздельных моделей. К первой группе можно отнести, например, Kaldi и CMU Sphinx, которые опираются в основном на НММ (ант Hidden Matkov Model) и GMM (анг. Gaussian Mixture Model) [4-6]. Представителями второй группы являются: wav2letter++, OpenSeq2Seq, ESPNet. Последние используют глубокое обучение, в частности, опираются на модели seq2seq (англ. sequence to sequence) с функцией потерь СТС (англ. Comiectionist Temporal Classification) (7).
В последние десятилетия используют end-to-end системы за счет упрощения работы системы, а также сокращения разрыва в точности по сравнению с системами с раздельными моделями. Тем не менее в области локального распознавания речи для интернета вещей часто применяются именно подходы нз первой группы. Например, некоторые работы демонстрируют успешное совместное применение GMM, НММ и нейронные сети с глубинным обучением (DNN, Deep Neural Network) [8].
Голосовое управление
Современные решения в области интернета вещей сложно представить без голосового управления и умных ассистентов. Более того благодаря технологическим достижениям в области голосового убавления и искусственного интеллекта голосовой ассистент теперь является центром управления автоматизированной кнберфкзической системой — например, умным домом.
Подсистема распознавания речи разрабатываемой системы состоит из двух блоков.
1. Блок ASR (ант. Automatic Speech Recognition).
2. Елок формирования команды. ASR осуществляет перевод речевого сигнала в текст (9). Таким речевым сигналом будут служить команды вида:
— «Умный дом, включи свет на кухне»;
— «Умный дом, проветри квартиру»;
— «Умный дом, нагрей комнаты до 25 градусов».
Блок формирования команды в свою очередь преобразует текстовые данные в структурированный объект, который бы характеризовал команду пользователя. Далее этот объект передается подсистеме формирования сценариев, которая на основе его и результатов работы других подсистем формирует соответствующие сценарии.
1 Главная страница Google Cloud Speech-to-Text Рлектронный ресурс]. Режим доступа: https://cloud.google.cora' qieech-to-text, свободный. Яз. англ. (дата обращения: 15.05.2019).
г Главная страница Amazon Trancribet [Электронный ресурс |. Режим доступа: https:.'/aws.amaam.oom''iu/transcribe, свободный. Яз. рус. (дата обращения: 15.05.2019).
1 Главная страница Watson Speech to Text Рлектронный ресурс]. Режим доступа: https://www.ibm.com/cloud' watsan-speech-to-tcxt, свободный. Яз. англ. (дата обращения: 15.05.2019).
1 Главная страница Yandex SpcechK.it |Электронный ресурс). Режим доступа: https .vdoud.yandexru'docs'qxochkit, свободный. Яз. рус. (дата обращения: 15.05.2019).
ВН. Шматков, П. Бон ко веки, Д. С. Медведев, C.B. Корэухин, Д.В. Голендухин, С Ф. Спыну, ДИ. Муромцев
Прототип подсистемы голосовою управления был реализован в виде мобильного приложения на базе операционной системы (ОС) Android, в котором для распознавания нспользоватась библиотека pocketSphinx из CMU Sphinx. Распознавание речи происходило на самом телефоне без подключения к интернету [10).
Распознавание речи
Для разработки блока автоматического распознавания речи был использован проект CMU Sphinx. CMU Sphinx является одним из самых крупных проектов по распознаванию речи, а также обладает реализацией для ОС Android, что и стало решающим при выборе программного средства для распознавания речи.
Для распознавания речи в CMU Sphinx используются две модели: акустическая и языковая. Акустическая модель позволяет оценить распознавание речевого сегмента с точки зрения схожести на звуковом уровне. Дтя каждого звука описывается его произношение в речи. Языковая же модель позволяет определить наиболее вероятные последовательности слов. Для свои между языковой и акустической моделями задается словарь, в котором сопоставлены лексемы и фонемы (спою и его звучание). А также для описания языка задается грамматика формальные правила, которые описывают простые правила построения предложений.
В качестве примера настроек используемой ASR продемонстрируем некоторые настройки разработанного прототипа системы голосового управления умным домом. В роли языковой и акустической моделей русского языка были использованы модели', подготовленные разработчиками CMU Sphinx. Словарь и грамматика создавались самостоятельно. Словарь состоит из слов, относящихся к управлению умным домом: «умный», «доя», «обогреватель», «свет» и т. д. Ввиду того что словарь состоит только нз слов, связанных с прикладной областью, вероятность распознавания посторонних фраз становится очень низкой. Для каждого устройства описываются собственные правила грамматики. Так, если слова «включи» и «выключи» могут использоваться для нескольких устройств, то слово «горячее» макет использоваться толы® в предложениях, относящихся к работе с обогревателем.
Пример описания грамматики для CMU Sphinx представлен в листинге 1.
<heaterExpression> - <heater> <intennediateAction> cheater Parameter?;
<heater> - (овогреватель ) ;
<intennediateAction> - (сделай) ;
cheater Parameter» - (горячее I холоднее) ;
<lampExpres3ion0n0ff> - <action><direction> <lamp>;
<direction> - (правую I левую| центральную! настольную! ;
<lamp> - (лампу);
<action> - (включи| выключи) ;
Листинг 1. Пример описания грамматики для CMU Sphinx
Учитывая, что предполагается использовать отологические описания устройств, то словарь мокно формировать из слов, относящихся к устройствам: к осуществляемым ими действиям, расположению, описанию и г д.
Стоит отметить, что система распознавания работает в режиме постоянной обработки сигналов, записанных микрофоном. Для перехода в режим распознавания команд используется активациоиная фраза, услышав которую подсистема начинает анализировать сигнал с микрофона с целью сопоставить его с описанными ранее грамматиками.
Формирование команд
В блоке формирования команд необходимо на основании распознанной речи сформировать команду. В общем случае блок ASR возвращает строку синтаксическое дерево или другие структурированные данные, нз которых необходимо извлечь информацию об объекте, действии, месте действия и г д. В случае использования CMU Sphinx можно использовать описанные ранее грамматики для извлечения необходимой ira формации.
В результате работы блока формирования команд создается объект, в котором указаны объект команды и действие, например, «лампа» и «включить». Датее объект передается в подсистему управления интернет вещами.
В рамках реализации прототипа в роли узла, формирующего сценарии, использовалось ПО орепНАВ — средство автоматизации управления интернетом вещей. Взаимодействие с орепНАВ осуществляется с помощью RESTAPI.
1 Модели CMU Sphinx для русского языка рлектронный ресурс). №ким доступа: https://is.gd/PiH5J, свободный. Яз. англ. (дата обращения: 15.052019).
Описание тестовой платформы 1оТ
Подсистема управления интернетом вещей в рамках стенда построена на базе одноплатного мини-ПК Raspberry Pi и микроконтроллеров. На стенде реализованы управление освещением (6 «умных» источников света), отоплением («умный» отопитель — конвектор, имеющий 2 уровня мощности), а также набор сенсоров. Каждое «умное» устройство строилось с использованием платформы Arduino на основе микроконтроллера ESP 8266, объединенною в сеть Wi-Fi с сервером выполнения команд. Сервер выполнения команд был развернут на платформе Raspberry Pi с установленным ПО орепНАВ. К зтой же сети Wi-Fi был подклютен смартфон, работающий на ОС Arvdroidc приложением, реализующим распознавание речи и формирование команды. Для отправки команд на сервер выполнения команд использовался протокол HTTP. Для взаимодействия сервера выполнения команд с Internet of Things (1оТ)-устройств был использован протокол MQTT, работающий поверх протокола TCP. Выбор протокола обусловлен его гибкостью, простотой использования, простотой адресации к устройствам, поддержкой адресации к группам устройств посредством подписки на рассылку категории (нлн «темы» в терминологии MQTT) сообщений (11).
Устройство стенда схематически отображено на рис. 1, фото стенда показано на рис. 2.
ВН. Шматков, П. Бон ко веки, Д. С. Медведев, C.B. Корэухин, Д.В. Голендухин, С Ф. Спыну, ДИ. Муромцев
Тестирование голосового управлении
Работа тестового стенда про исходила следующим образом.
1. Анализ сигнала микрофона подсистемой распознавания речи.
2. Переход в режим ожидания команды после обнаружения активацнонной фразы.
3. Распознавание речи. На данном этапе происходит сопоставление распознанных слов с заданной грамматикой.
4. Формирование команды. На основе распознанной речи формируются параметры и отправляется НТТР-запрос к серверу, осуществляющему взаимодействие с интернет вещами.
5. Выполнение команды. Сервер, реализующий взаимодействие с интернет-вещами, обрабатывает Ьпр запрос, после в зависимости от сценария, указанного запросом, отправляет необходимые команды 1оТ-усгройствам.
В качестве примера голосовой команды рассмотрим следующее предложение: «Умный дом, сделай обогреватель горячее». В данном случае активацнонной фразой является «Умный дом», а командой — «сделай обогреватель горячее».
В рамках тестирования тремя разными дикторами было произнесено 30 голосовых команд, попадающих под правила грамматик, и 30 не попадающих. Суммарно система получила на вход 180 голосовых команд. Общее количество команд было разделено на две части поЛ' команд в каждой. В таблице приведены результаты тестирования. Гипотезе Я0 соответствует ситуация, когда система распознает голосовую команду а гипотезе Н\ — наоборот, система не распознает команду. Из всего множества команд первая часть команд относилась к Я0, вторая — к Я,.
Тап.тца. Ошибки первого и второго рода работы прототипа
Верная гипотеза N
Но н,
Результат ракп ы прототипа Но 76 5 81
Hi 14 85 99
Оценка работы системы распознавания осуществлялась с помощью F-меры, учитывающей ошибки первого и второго рода:
_ „ Precision * Recall
F = 2-,
Precision + Recall
где Precision — тонкость классификации, определяется отношением числа верно распознанных голосовых команд к общему числу распознанных. Recall — полнота классификации, определяется отношением числа верно распознанных голосовых к числу команд, которые должны были быть распознаны. В результате прототип показал Fm 88,89 %.
На созданном стенде была протестирована предложенная схема реализации голосового управления. Установлено, что такой подход к реализации жизнеспособен.
Заключение
В ходе исследования был разработан прототип стенда «умного дома» с интерфейсом голосового управления с реализацией на локальном сервере без необходимости к подключению сети Интернет. По результатам работы выявлены недостатки в виде недостаточного показателя эффективности системы, что скорее с вязано с тем, что прототип разрабатывался с целью доказать возможность в небольшие сроки создать подобную систему. На данный момент недостатком можно считать сложность добавления новых умных устройств в систему. При добавлении устройства необкодимо вручную обновлять словарь ASR, а затем дописывать обработчики новых команд, что является трудозатрат ним при частом обновлении списка устройств.
Разработанный стенд позволяет решить задачу тестирования и автоматизации помещений с применением различных архитектур и интерфейсов взаимодействия с пользователем.
Дальнейшее развитие платформы предусматривает использование онтологнй, как способ описания правил взаимодействия устройств и логику работы системы в целом [12). Планируется реализация автоматического добавления устройств в систему, а также использование логического вывода для динамического формирования сценариев управления интернет вещами Для создания онтологии будет использоваться язык описания онталогнй OWL, который будет интерпретироваться системой посредством модуля, написанного на Java с использованием библиотеки Apache Jena. Данный модуль будет участвовать в динамическом формировании сценариев взаимодействия устройств системы. Также рассматривается внедрение системы аутентификации пользователя по голосу на основе нейронных сетей [13-16].
Литература
I. Gershenfdd NA. WI*nThmgiSartto Think. New Yorlc Hair, Holt and Cotnpwy, 2000. 224 p.
2 БеленкоМЗ., ЕвлактииПЗ.Сравнительныйаналюснстем распознавай на речи с открытым кодом // Международный научно-исследовательский журнал. 2017. № 4-4. С. 13-18. dot 10.23670'TRJ.2017.58141
3. Dernoncourt F„ Bui Т., Chang W. A framework foe speech recognition benchmarking tt Proc. Interspeedi. Hyderabad, India, 2018. P. 169-170.
4. Povey D., Ghoethal A, Boulianne G. The Kaldi speech recouni-tion toolkit tt Proc. Workshop on Automatic Speedi Recognition and Understanding. 2011.
5. Lamere P. etal.TheCMUSPHINX-4 speech recognitiai system // IEEE Int. Cmf. on Acoustics. Speech and Signal Processing. Hong (Cong, 2003. V. 1. P. 2-5.
6. Balandin S., Andreev S„ Kouclieryavy Y. (eds) Internet of Things, Smart Spaces, and Next Generation Networks and Systems. Springer. 2015. 713 pdm: 10.1007:978-3-319-10353-2
7. Pratap V, Harmun A, Xu Q. et al. Wav2Letter+-t: A tasteitopen-source speedi recognition system it Proc. IEEE bit. Conf. on Acoustics, Speech and Signal Processing. Brighton, UK, 2019. doc 10.ll09/ic«4>.2019.8683335
8. Mehrabani M.. Bangalore S„ Stern B. Personalized speedi recognition for Internet of Tilings // Proc. IEEE 2*4 World Forum on Internet of Things. Milan, Italy, 2015. P. 369-374. doi: 10.1109/WF -loT.3015.7389082
9. Levis J., Suvorov R. Automatic speech recognition // The Encyclopedia of Applied Linguistics. 2012. doi: 10.10029781405198431 .whea Ю066
10. Sharma A5„ Bhalley R. ASR- A real-time speech recognition on portable devioes // Proc. 2"1 Int. Conf. on Advanoes in Computing, Communication, & Automation. Bareilly, India, 2016.doi: 10.1109,'TCACCAF.2016.7749004
II. Дикий Д.И., Артемьева В.Д. Протокол передачи данных MQTT в модели усиленного управления права ми доступа ли сетей интернета //Н%чно-техиический вестник информационных технологий, механики и оптики. 2019. Т. 19. № I. С. 109-117. doi: 10.17586/2226-1494-2019-19-1-109-117
12. Maarala АЛ., Su X., Riekki J. Semantic reasoning for oontext-aware Internet of Things applications tt IEEE Internet of Tilings Journal. 2016. V.4. N2. P. 461-473. doi: 10.1109/jiot20l62587060
13. McLaren M.. Lei Y, Ferrer L. Advances in deep neural network approaches to speaker recognition it Proc IEEE Int. Conf. on Acoustics, Speech and Signal Processing. Brisbane. Australia, 2015. P. 4814—4818. doi: 10.1109/ICASSP2015.7178885
14. Matejka P., Glerobek О , Novotny O. et al. Analysis of DNN approaches to speaker ulcnt ification // Proc. IEEE fait. Conf. en Acoustics, Speech and Signal Processing. Shan^iai, Oiina, 20)6. P. 5100-5104. doi: 10.1I09/ICASSP.2016.7472649
15. Бучнева Т.И.. Кудряшои М.Ю. Нейронные сети в задаче ндетнфикашш диктора по голо су й Вестник ТьГУ С quia: Прикладная математи». 2015. №2. С. 119-126.
16. Ge Z. et al. Neural network based speaker classification and verification systems with enhanced features // Proc. Intelligent Systems Conference London, 2017. P. 1089-1094. doi: 10.1109/bitdliSys.2017.8324265
Rifcmw
1. GeriienfeldN.A. When Things Start tu Think. New York, Henry Holt and Conpany, 2000, 224 p.
2. Belonko M.V., Balakshai P.V. Comparative analyst; of ^icedi recognition systems with open code. International Research Journal, 2017, no. 4-4, (p 13-18. («1 Russian) doi: 1023670/ IRJ2017.58.141
3. Demaicourt F, Bui T., Chang W. A framework for speech recognition benduntrking. Proc. bterspeech. Hyderabad, India, 2018, jp. 169-170.
4. Povey D„ Ghosh al A., Boulianne G. The Kaldi speech recognition toolkit. Proc. Workshop on Automatic Speech Recojfiitkm aid VmkrHanding, 2011.
5. LamereP.etal.TlieCMU SPHINX-4 speedi reoogiitiontystem. IEEE Int. Conf. on Acoustics, Speech and Signal Processing. Hong Kong, 2003, VOL 1, pp. 2-5.
6. Balandin S„ Andreev S„ Koucheryavy Y. (eds) Internet of Things, Smart Spaces, and Next Generation Networks and Systems. Spring«, 2015,713 p. doi: 10.1007*78-3-319-10353-2
7. Pratap V.. Harnun A., Xu Q. et al. Wav2Letter++: A fastest open-source speech recognition system. Proc. IEEE Int. Conf. on Acoustks. Speech and Sliftal Pmceslng. Brighton, UK, 2019. doi: 101109/icaoap2019.8683535
8. Mehrabani M„ Bangalore S„ Stern B. Personalized speech recognition for Internet of Things. Pmc. IEEE WorlJFonan on Internet of Things. Milan, Italy, 2015, pp. 369-374. doi: 10.1109fWF-IoT.2015.7389082
9. Levis J., Suvorov R. Automatic speedi recognition. The Encyclopedia of Applied Linguistics, 2012. doi: 10.1002/9781405198431 whea10066
10. Sharma A. S^ Bhalley R. ASR - Areal-time speedi recognition on portable dev ices. Proc. Int. Conf. on Advances In Computing, Communication, <$ Automation. Bareilly, India, 20]6.doi: 10.1109,TCACCAF.20I6.TJ49004
11. Dikii D.I, Artemeva VJ). MQTT data protocol in remote access control management model for Internet networks. Scientific and Technical Joimal of Informal km Technologies, Mechatlcs attl Optics, 2019, vol. 19, no. I, pp. 109-117 (in Russian), doi: 10.17586,2226-1494-2019-19-1-109-117
12. Maarala A.L, Su X, Riekki J. Semantic reasoning for cortext-aw are Internet of Things applications. IEEE Ink-met of Things Journal, 2016. vol.4, no. 2, pp. 461-473. doi: 10.1109/ jiot.20162587060
13. McLaren M-, Lei Y., Ferrer L. Advances in deep neural network approadies to speaker recognition. Proc. IEEE Int. Conf. on Accustics, Speech atdSignal Pmcessktg. Brisbane, Australia, 2015,pp. 4814-4818. doi: 10.1109,1 CASS P.2015.7178885
14. Materia P, Glembek O, Novotny O. et al. Analysis of DNN approadies to speaker identification. Pmc. IEEE ltd Conf at Acoustics. Speech and SigmJ Pmcea ify. SJurijfiai, China, 2016. pp. 5100-5104.doi: 10.110»/ICASSP2016.7472649
15. BuchnevaT.I, Kudryashov M .Yu Neural network in the task of speaker identification by voice. Herald of Tver Stan University Series. Applied Mathematics, 2015, no. 2, pp. 119-126. (in Russian)
16. Ge Z. et al. Neural network based speaker classification and verification systems will enhanced features. Pmc. Inktlhgent Systems Conference. London. 2017, pp. 1089-1094. doi: 10.1 KXrtntdlSya.2017.8324265
Авторы
Шматков Владислав Николаевич — инженер. Университет ИТМО,Санкт-Петербург, 197101, Российскаа Федерация. (ЖСЮ ГО: 00004)003-1391-1455, АплаНат М@япм&сот Ьомкоаски На!рик — инженер. Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, ORCID ГО: 0000-0001-8325-1873, Ьаиййатол
Медведев Дмитрий Сергеевич — студент, инженер, Университет ИТМО, Санкт-Петербург, 197101, Российскаа Федерациа, ОНСГО ГО: 00000001-5596-3988, mislitel4ilgmail.com Кор 1>тин Сергей Владиславович —студент. Университет ИТМО.Санкт-Петербург, 197101, Российская Федерациа, (ЖСГО ГО: 00004КЮ3.3163-9061. ЯечеукогпкЫп/йвтаИсап
Aothors
Vladislav N. Shniatkov — engineer, ГТМО University, Saint Petersburg, 197101, Russian Fedeation, ORCID ID: 0000.0003-1391-1455, shmatkovvladggma il.com Patrvk Bqkowvld — engineer, ГГМО University, Sain Petersburg, 197101, Russian Federation, ORCID ID: 0000-0001-8325-1873, hnki@itim.nl
Dmitry & Medvedev —student, engineer, ITMO University.
Saint Petersburg, 197101, Russian Federation, ORCID ID:
0000-0001 -5596-3988, mirfitddiggmail.com
Sergey V. Korzukhtn — student, ITMO University, Saint Petersburg,
197101, Russin Federation. ORCID ID: 0000-0003-3163-9061,
Sergey.koezukhiniggmail.com
The platform prototype for testing heterogeneous networks in IoT environment.
Vladislav Shmatkov, Sergei Spynu, Vladimir Pimenov
ITMO University, 49 Kronverksky Pr., 197101 Saint Petersburg. Russia shmatkovvladCgjnail .com, vadervegaOgmail .com,tikll9d440nail.ru, http://en.iino.ru
Abstract. This article discusses the interaction of multimodal interfaces in a hetercgeneous network environment of the Internet of Things. Methods are proposed for testing data exchange between devices using various data transmission protocols in various noisy environments of the studied network.
Keywords: Wireless sensor networks. Internet of Things (IoT), Wire-lesB devices, Sensor DeviceB, Mobile devices. Actuator technology. Network traffic analytics.
1 Introduction
o.
a
o >
v>
3
I
a.
H
o
The Internet of Things Is a concept of a network of physical objects interacting with each other or with the external environment [1]. The peculiarity of this concept is that it excludes human participation in various operations and actions of this system, but human interaction with the system remains through various interfaces; voice, sensory, graphic, visual, etc.
Heterogeneous networks have gained particular popularity and development in the field of IoT. IoT networks are not designed to stream data [2], but it is often necessary [3-4] for the correct interaction of some devices / interfaces. The interaction of several different system interfaces with the external environment (multimodal interfaces) allows the system to uniquely identify the command given or the event that occurred, but at the same time there are a number of problems with the interaction of devices due to the use of different data exchange protocols, data processing, different subsystems and systems general etc.
The use of various protocols and technologies in IoT networks leads to Incompatibility problems of some technical solutions [5].
In this paper, the problem of the interaction of devices (interfaces) in a heterogeneous network in the concept of Machine-to-machine (M2M) [6] is considered, namely the data exchange using popular technologies for transferring streaming data between devices when reacting to an initiating event is considered.
The purpose of this work is to test the interaction of devices in the conditions of the tested data network of the Internet of things, to track information losses during streaming data and to consider the data integrity when transmitting in
various noise conditions of a wireless communication channel. Conducting these tests will serve as a starting point for creating a system of user interaction through multimodal interfaces (visual, voice, and sensory).
2 Communication of the Internet of Things
In modern systems the Internet of Things for communication between the M2M devices use heterogeneous data: the audio/video data, and streaming simple data packages with wearable devices, including sensors/actuators.
The devices used in the IoT environment must provide sufficient speed of transmission and processing of heterogeneous data. In this paper we consider the most common current models of network modules and single-Board computers used in the field of the Internet of things: single-Board computers, arduino, STM32, sensors and actuator, and etc.
lb test the streaming of audio / video data, it is necessary to pay attention not only to the technical characteristics of the test devices, but also to the most popular codecs that allow to transfer data most efficiently. Among them were chosen popular codecs used in computer vision. As a test, the transmission of video data In the resolution: 360p, 480p. 720p, 108Op formats will be used:
Table 1. Video codec characteristics
Codecs 360p 480p 720p 1080p
H.265, Mb/s 3(min) 6(min) 10(min) 12/30
MPEG-4 AVC, 0,77(352 x 288) 4 (max) 14(max) 20(max)
Mb/s
VC-1, Mb/s 2(352 x 288) lO(max) 20(max) 20(max)
MPEG-2 . Mb/s 4(352x 288 ) 15(DVD: 9.8) 60 (HDV : 25) 60 (HDV : 25)
VP9, Mb/s 3,6(640x 384) 7,2(1080 x512) 12(1280x 768) 18(2048x1088)
Tb check the flow of audio data, the most popular codecs were selected, including those used in the operation of voice assistants devices.
Table 2. Audio codec characteristics
Codecs Speex MPEG-1 FLACI Opus PCM (16 bit)
Bitrate, Kbit/s 44 64/128 986 16-510 176.4
When working with video data, a channel bandwidth of at least 1 Mb/s is required, and when transmitting a high-quality video stream at least 12-20 Mb/s, depending on the selected codec. Audio data is less demanding on data transfer bandwidth. These characteristics are used to select network modules and build an IoT testing platform.
3 Communication of the Internet of Things
3.1 Overview of the studied wireless data networks: WiFi, Bluetooth Low Energy (BLE), 6L0WPAN
The development of data transmission technologies has improved the existing modules and optimized power consumption, which has a positive impact on the duration of various devices, including in the field of IoT.
lb begin, consider the technical characteristics of the selected networks, taking into account the latest standards IEEE 802.11b/g/ac, IEEE 802.15.1, IEEE 802.15.4d.
Table 3. Network characteristics
Specifications WiFi BLE v.4.2 6L0WPAN
Standard IEEE IEEE 802.15.1 IEEE 802.15.4d
Frequency range. GHz 802.1 l(b/g/ac) 2.4 - 2.83/5.18 - 5.82 2.4 - 2.483 0.864 - 0.865
Bandwidth. Mbps 11 / 54 / 433 0.125 - 2 0.115-0.25
C oram un icat ion 140/140/30 60-100 before 4000
range, m Maximum number of 30 7 65536
nodes in the network
WiFi networks provide a high transfer rate and are the best option for working with video and audio data, but these WiFi modules have high power consumption and are most often used in stationary solutions with a constant power source.
The characteristics of BLE networks allow you to work with audio data and streaming data from devices. Low power consumption allows you to use t hese modules in wearable devices.
6L0WPAN networks are used to ensure maximum autonomy of remote sensors, the exchange of small amounts of data over long distances. This technology provides a high autonomy of the device when running on an AAA battery for up to 3 years, but it has a low data transfer rate and low reliability due to the lack of data validation. Widely used in IoT on various sensors, counters, widely used in solutions Smart Home [7-8] and Smart City [9-12].
3.2 Overview of data transfer devices, test methods
Transmission Device Modules. The most popular and stable modules for each considered network were reviewed and selected.
Devices using Wi-Fi and BLE protocols operate on the same frequency band, which can lead to poor communication quality and data transfer problems during simultaneous operation.
Table 4. Technical specifications of wireless modules
Device / parameter ESP8283 ciRFs284 MBee-868-30 AP6336S cc2630 nRF32832 JDY -18
Standard IEEE 8GQ.lt b/B/n IEEE 802.15.1 IEEE 802.13.4d IEEE 802.11 ac IEEE 802.13.4 IEEE 802.1S.1 IEEE 802.13.1
Frr q ue tu-y range. GHtt 2.1-2,18a 2.4-2,483 0,864-0,865 3,18-3,82 2,4 2,4 2,4
Bandwidth Mbit/. ll/s 0,129-2 30-200 433 0,2 1-2 0,123
Output power, 20/17/14 -20.. .+8 -32 ...+27 10-17 0...-t-3 -20 ...+4 0
Serial tivity, -91/-73/-72 -92.3/-89 -110 -32 -87 -96 -97
Number of chaonela 14 8 6 23 8 8 10
Average current 170/140/ 120 13,6 36 201 6,1-9,1 8,4 4
tion in trarumk-»loti mode, mA
Local Area Network (LAN). Today, one of the most common and reliable data networks. In the field of the Internet of Things, it has received little development, since it does not provide sufficient mobility, but it allows maintaining high bandwidth and using Power over Ethernet (PoE) technology to provide power to devices remote from the transmission network.
Power-line communication (PLC). Power-line communication (PLC) is used to transmit data over a power line, allowing you to power and control devices on your home network. This technology implements the IEEE 1901.2 standard. It is mainly used for Smart Home solutions, which is well suited for Internet of Things.
Test methods for data transmission. In this paper, within the framework of the problem of data transmission in the Internet of Things environment, the following test options are considered [13]:
Connection Testing: wireless signal testing to monitor and optimize data exchange between devices.
Performance Testing: test the communication and computing capabilities of devices involved in testing.
Stress testing: to determine the number of simultaneous connections supported by the device.
Compatibility testing, verifies the correct operation of various protocols and configurations.
Evaluation of the efficiency of data transmission is organized using t he tools of Wireshark, Tcpdump, OpenWSN [14-15]. The protocols used in the test (if the device supports): TCP. UDP. SCTP. MQTT, CoAP. AMQP.
It is worth noting that a large amount of traffic with different characteristics is generated in the IoT environment. Sensors and actuators, counters send a small packet of data at the time of activation, while streaming; video requires a large amount of resources on the communication channel and its processing on the server.
Testing for "noise" is carried out by adding unrelated devices with a test bench operating at the same frequency to create natural interference.
4 The platform prototype for testing networks
The laboratory stand was assembled taking into account testing of heterogeneous networks and technologies used in the Internet of Thing environment.
The server used is a single-board computer Orange Pi RK3399 and Intel Nuc responsible for processing and analyzing traffic, including connecting external devices. Additional Orange Pi RK3399 is used to transfer streaming video and audio signal to the server using various codecs.
The sensor network is built using the Arduino Mega as a node (Node), external devices based on the Arduino Nano V3.0 are connected to It using WiFl, BLE. GLowPAN modules. Each node (Node) collects and transmits information to the server.
The number of nodes in the network under the conditions of the testing task is limited to 5.
The listed devices are based on different architectures, such as ARM7. x86, Atmega328p.
5 The methodology 5.1 Test case 1
Testing the transmission of streaming video data to a receiver (server) device in various noise conditions of the channel used. The architecture of data transmission in a heterogeneous network is presented in Figure 1.
A device with a connected camera sends data to the server using various codecs and data transfer protocols over a WiFi network. The distance between the transmitter and receiver varies according to experiment [1.5,10,15,20.25 meters], At each step, the characteristics of data reception and transmission are measured, including the addition of additional devices operating in the same room at the frequency of the tested communication channel. The number of devices transmitting streaming data at the tested frequency varies from 0 to 25 in increments of 5 for each stage of testing. The test takes place in the same room.
hfrulhf
Fig. 1. Test case 1 architecture
5.2 Test case 2
The use of various technologies (standards) Wi-Fi, BLE, 6L0WPAN, as well as supported transport protocols in order to test the transfer of simple streaming data using various devices and protocols to a dedicated server in a heterogeneous network. The data transfer architecture is shown in Figure 2.
Fig. 2. Test case 2 architecture
We consider the I068, damage, delays in receiving data from devices on the network, depending on the number of requests sent per second and the number of devices and nodes in the network involved.
5.3 Test case 3
Testing the speed and synchronism of obtaining data from different sources in a heterogeneous network in response to a single triggering event. In this experiment are used: Node (node) - a device connecting nodes (protocol). One device (SD) —the device communicates with the server directly and transfers data The server is a single-board computer with a Linux operating system that records the time and result of receiving data.
Each device sends a pre-created data packet indicating the number of the packet being sent, aftxed set of data and network parameters. This is the example
of data package structure: {
Device: "Dev#"; Network: "Name network Node #"; Network node: "Number #"; Package number: "Number #"; Data set: "Test-data:";
}
The event is initiated artificially by giving a signal to all devices participating in the experiment. The test is carried out for all transport protocols supported by the device and the network. Each device in the network is responsible only for one data transfer protocol.
The test result allows you to determine the delay in receiving the packet, the time of desynchronization of the received data and their loss. This information will be used in the future to create multi-modal interfaces for user interaction with the system (Human-to-Device).
5.4 Test case 4
Collect statistics of power consumption of devices at all stages of the experiment. The data obtained are necessary for analysis and application in further work.
5.5 Test case 5
Testing the influence exerted on network parameters of a heterogeneous network connected to nodes. The testing model is based on the methodology for determining the connectivity of nodes in a heterogeneous network [15]. The model under test also uses the model of an energy-efficient network based on the connectivity of devices [16]. The model was built using 25 data transfer devices, 5 arduino mega, which perform the functions of central nodes, implement primary data processing and send data to the server, using a single-board computer Orange Pi RK3333 and Intel Nuc as the server, including connection of external devices. The number of concentrating nodes (central nodes) varies from 0 to 5. After each step, the network characteristics are measured and the quality of the
transmitted data is determined. After that the number of nodes in the circuit is increased by one.Thus, this model makes it possible to assess the impact of the number of nodes on the quality of the transmitted data and the parameters of the network itself.
6 Methodology for analyzing the results
During t hroughput testing, the number of bytes transferred per second is recorded. Calculated throughput, as the ratio of the number of bits of information successfully transmitted during the test to the time of testing [13].
T =
Nb,
(1)
where T is the throughput; NntM is the number of bits successfully transmitted during t; t is the test time.
The delay is calculated as follows:
D =
XIi=l (trecicvcd ^sent )
(2)
where n is the number of transmitted packets; i|.„lcTOlJ - the time of receipt of the i-th packet; t\cn, is the departure time of the i-th packet. Packet loss we can find using formula:
, rid ropped H lent
(3)
where Tidropped is the number of lost packets; nlent is the number of packets sent, The IEEE 802.11a and IEEE 802.11g standards specify the bitrate when two devices interact, depending on the distance between them using two one-dimensional data arrays with one-to-one correspondence: each distance value has its own bitrate value.
Using the method of least squares, we can obtain the coefficients a and b of the linear function y = ax + b, which will describe the dependence of the bitrate on the distance with sufficient accuracy.
lb determine a similar dependency for Bluetooth, you need to use additional calculations and transformations to obtain a similar functional dependency' based on data from the Bluetooth standard IEEE 802.15.1. lb obtain the bitrate values, the Shannon-Hartley' theorem is used:
C-Blog2 (l +
RSSI\
~ir)
(4)
where B is the throughput. N is the average power of noise and interference in the passband.
To calculate the bitrate, it is necessary to calculate the values of the RSSI value - the power of the received radio signal, measured in dBm. This value is
found using a formula based on the Friis transmission equation [17-18]. This formula implies that the transfer is carried out in ideal conditions.
RSSI=P0- lOnlg^J (5)
where d, m is the distance between the device and the transmitter: do, m -the distance between the device and the point where the signal power Po was measured; n Is the signal energy loss coefficient (for air. n = 2).
Next, you need to convert power values from dBm to W. This is done using the following formula
i\v = 10«P^--J0)/10), (6)
These mathematical models for WiFi and Bluetooth are used In the Interaction of two devices.
Since the study conducted experiments with several transmitting devices, as well as the communication channel is noisy, the above mathematical model for WiFi and Bluetooth changes for more than two interacting devices. Based on the data obtained during the experiments, a new mathematical model is compiled, taking into account the number of devices, the noise of the communication channel and the distance from the data transmission nodes to the receiving server. The function of two variables is considered: b(d,n), where 6 is the bitrate, d is the distance, n is the number of devices. The function itself is obtained by approximation of experimental data.
7 Future directions and conclusion
In the course of the work, test cases were compiled and a test model of the Internet of Things data transmission was choeen. The results of this test will serve as a starting point for designing Multimodal User Interfaces based on voice recognition, image and gesture control using wearable things.
Also in the future it Is planned to consider models of interoperability of devices based on semantic technologies.
References
1. Statistical information on the number of IoT device®, Retrieved January 29, 2014, from https ://newsroom .CISCO. coa/ pre 88-release-content 7type=uebcont en tjt art lcleld=1334100
2. Borth&kur D., Dubey H., Constant N.. Mahler L., Mankodiya K.. Smart fog: fog computing framework for unsupervised clustering analytics in wearable internet of things. 2017 IEEE Global Conference on Signal and Information Proceesing (GlobalSIP), 08 March 2018, 472-476.
3. Yannuzzi MMilito R.. Serral-Gracia R., Montero D., Nemirovsky M. Key ingredients in an IoT recipe: Fog Computing, Cloud oomputing, and more Fog Computing. 2014 IEEE 19th International Workshop on Computer Aided Modeling and Deeign of Communication Links and Networks (CAMAD), 325-329.
4. Dupont C., Giaffreda R., Capra L.. Edge computing in IoT context: horizontal and vertical Linux container migration. FBK Creafce-Net, via alla Cascata 56/D, 38123 Trento, Italy. 3017
5. R. Chander V. , Saswati Mukherjee S., Elias S. An applications interoperability model for heterogeneous internet of things environments. Computers fc Electrical Engineering Volume 64, November 2017, Pages 163-172.
6. Belloa 0>, Zeadally S., Badrac MM 2016. Network layer inter-operation of De vice-to-Device communication technologies in Internet of Things (IoT), Elsevier, 15 March 2017, Pages 52-62
7. Biljana L., Ri8teska S., TVivodaliev K., 2016. A review of Internet of Things for smart home: Challenges and solutions: Journal of Cleaner Production (2016), 1 -22.
8. Soliman M., Abiodun T., Hamouda T., Zhou J., Chung-Horng Lung., 2013. Smart Home: Integrating Internet of Things with Web Services and Cloud Computing. 2013 IEEE International Conference on Cloud Computing Technology and Science, (2013), 317 - 320.
9. Beccali M., Bonomolo M., Ciulla G., Galatioto A, Brano V., 2015. Improvement of energy efficiency and quality of street lighting in South Italy as an action of Sustainable Energy Action Plans. The case study of Comiso (RG), Elsevier (2015), 1-15.
10. Zanella A., Member S., Bui N., Castellani A., Vangelista L., Member M., Zorzi M., 2014. Internet of Things for Smart Cities, IEEE internet of things journal, voL 1, no. 1, February 2014, 22-32.
11. Hammi B., Khatoun R., Zeadally S., Fayad A., Khoukhi L., 2017. IoT technologies for smart cities. The Institution of Engineering and Technology, September 2017, voL 7 Iss. 1, pp. 1-13.
12. Centenaro M., Vangelista. L., Zanella A., Zorzi M. Long-Range Communications in lTnlicensed Bands: The Rising Stars in the IoT and Smart City Scenarios. IEEE WirelesB Communications, Vol. 23 , Issue: 5 , October 2016, 60-67.
13. Esquiagola J., Costa L., Calcina P., Fedrecheski G., Zuffo M., 2017. Performance Testing of an Internet of Things Platform, In Proceedings of the 2nd International Conference on Internet of Things, Big Data and Security (IoTBDS 2017), pages 309-314.
14. Cognizant (2016). The internet of things Qa unleashed, from https : //www. cognizant. com/Insigjfcit sVhitepapers/ theinternet-of-things-qa-unlea8hed-codexl233.pdf Last accessed: December 2018
15. Koucheryavy A., Nurilloev I., Paramonov A., Prokopiev A. Provision of connectivity of wirelesB sensor nodes in heterogeneous network. TELECOM IT electronic scientific journal. The Banch-Bruevich Saint-Petersburg State University of Telecommunications.
16. Magno M., Aoudia F., Gautier M., Berder O., Benini L. 2017, WULoRa: An Energy Efficient IoT End-Node for Energy Harvesting and Heterogeneous Communication, 2017 Design, Automation and Test in Europe (DATE), 1528 -1533.
17. Saveliev A., Malw D., Tam ash akin M., Budkov V.. Service and multimedia data transmission in IoT networks using hybrid communication devices, 12th International Scientific-Technical Conference on Electromechanics and Robotics *'Zavai-ishin's Readings" - 2017.
18. Rutledge D., "Encyclopedia of practical electronic" (2002)
19. James P., Yang T., Lee C., eds., Fùture InfbrmationTechnology: 6th International Conference on Future Information Technology, 184 (2011)
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.