Архитектура IoT
Интернет вещей – это обширное понятие, объединяющее бесчисленное множество систем взаимодействия от малых до тех, которые охватывают целые города и страны. Естественно, для отображения архитектуры, затрагивающей все аспекты IoT системы в целом необходимо большое количество различных уровней, и такая система будет выглядеть как нелинейный граф потоков данных.
Поэтому для рассмотрения была выбрана обобщенная и упрощенная архитектура Интернета вещей (рисунок 1), основанная на эталонной модели IoT, предложенной сектором стандартизации электросвязи МСЭ-Т (ITU-T) в документе Y.2060. Она состоит из четырех уровней: уровня элементов, уровня сети, уровня обслуживания и уровня приложений (прикладного уровня). Каждый уровень содержит индивидуальные компоненты системы Интернета вещей для организации единых механизмов.
Использование многоуровневой архитектуры для IoT дает следующие преимущества:
- упрощает разработку решений для определенного уровня. Необходимо создавать продукт, учитывая взаимодействие лишь с верхним и/или нижним уровнями модели;
- способствует созданию поставщиками конкурирующих продуктов унифицированных решений;
- исключает возможности изменения технологий или функций одного уровня без учёта последствий для верхних и/или нижних уровней;
- предоставляет общий язык для описания функций взаимодействия внутри уровней или между ними.
В системе Интернета вещей используются два типа логики – M2M (от машины к машине или межмашинное взаимодействие) и M2P (от машины к человеку). Данные типы логики говорят сами за себя:
- M2M – это взаимосвязанные устройства, механические машины, датчики, сенсоры и т. д., которые имеют уникальные идентификаторы устройств и среду взаимодействия для передачи данных по сети без какого-либо участия человека.
- M2P – это устройства конечного пользования, предоставляющие информацию человеку или ожидающие ее от него.
Уровень 1: уровень элементов
Уровень элементов представляет два типа операций — сбор информации и осуществление механической работы.
Для выполнения первого типа операции используются датчики. К ним можно отнести световые, звуковые, электромагнитные сенсоры и более сложные составные сенсоры, т. н. специализированные датчики, которые создаются под строго определенную задачу (например, RFID – способ автоматической идентификации объектов, в котором посредством радиосигналов считываются или записываются данные). А для второго типа операций используют исполнительные механизмы. С их помощью можно привести в действие определенный процесс (запустить двигатель, открыть дверь, пустить воду и другое).
Устройства этого уровня выполняют заложенные в них механизмы и передают данные на сетевой уровень. Под данными понимается собранная датчиком информация или выполненное механизмом действие.
Уровень 2: сетевой уровень
Сетевой уровень – это среда передачи данных между уровнем элементов и обслуживания. Он обеспечивает передачу информации, полученной с устройств уровня элементов, на верхний уровень или наоборот, поступающей на устройство с верхних уровней, через проводную или беспроводную сеть. В качестве сети подразумевается:
- информационно-телекоммуникационная сеть Интернет (Ethernet, IEEE
802.11 – Wi-Fi); - мобильные сети (3G / 4G / 5G);
- спутниковая связь (LEO/MEO-системы, VSAT-сети).
Сетевой уровень представляет собой составную модель, описывающую способ передачи данных от источника информации к получателю.
Уровень 3: уровень обслуживания
К уровню обслуживания относятся сервисы, обрабатывающие собранные данные и, если это необходимо, обеспечивающие выделение хранилища для них. Данный уровень модели Интернета вещей служит интерфейсом между различными устройствами и обеспечивает способы связи между элементами.
Также, при использовании поверх сетевого уровня, обеспечивает эффективную функциональную связь между устройствами уровня элементов и приложениями на прикладном уровне.
К устройствам обслуживания относятся: сервера и промежуточные устройства – брокеры (по функционалу напоминают маршрутизаторы).
Уровень 4: прикладной уровень
Прикладной уровень состоит из множества приложений для IoT, заточенных под определенный набор устройств или задач. Этот уровень более понятен обычным пользователям, именно через приложения прикладного уровня эталонной модели можно взаимодействовать с устройствами и/или данными, собранными с этих устройств или обработанными на уровне обслуживания.
Межслойный поток данных
Систему Интернета вещей можно рассмотреть с другой стороны, со стороны процессов, совершаемых над данными, циркулирующими в системе. Поток данных в пределах одного уровня или между несколькими уровнями модели IoT может находиться на четырех стадиях:
- сбора;
- передачи;
- анализа;
- хранения.
Стоит подчеркнуть то, что стадии нахождения данных оформлены как ненумерованный список, так как четко определенного порядка для потока данных нет: в одной системе устройство сначала собирает информацию, потом передает ее для хранения, а в другой системе устройство собирает информацию и передает ее для анализа.
На рисунке 2 изображена топология некоторой системы IoT, на которой можно увидеть разнообразие потоков данных между устройствами.
На рисунке 3 представлено соответствие между уровнями модели Интернета вещей и действиями над данными, совершаемыми на этих уровнях.
1. Сбор данных
Сбором данных занимаются устройства уровня элементов, а именно датчики, как упоминалось ранее. Это могут быть, например, RFID-метки, этикетки штрих-кодов или интеллектуальные устройства обнаружения.
Данные, собранные этими устройствами, отправляются на верхний уровень модели для дальнейшей передачи. Чаще всего, сформированные данные оформляются в формате XML или JSON.
2. Передача данных
Передача данных происходит благодаря сетевому уровню модели Интернета вещей, который является проводной или беспроводной средой передачи.
3. Хранение данных
Практически вся информация, циркулирующая в системе Интернета вещей, хранится в базах данных на жестких дисках компьютеров или в облачных сервисах. Это делается для того, чтобы обеспечить доступность к данным в любой момент времени.
Также, как и в обычных сетевых системах, в IoT может быть реализовано:
- дублирование информации на другие носители (процесс резервного копирования) с целью предотвращения угроз потери данных в случае сбоя основной системы хранения или критических ситуациях;
- шифрование информации с целью невозможности прочтения секретных данных (используется при хранении конфиденциальных данных).
4. Анализ данных
Анализ данных происходит на уровне обслуживания и прикладном уровне модели. Анализ – это процесс исследования, фильтрации, преобразования и моделирования данных с целью извлечения полезной информации и принятия решений.
На уровне обслуживая, чаще всего, происходит автоматический анализ (без участия человека), на прикладном уровне – автоматизированный анализ, то есть с непосредственным участием человека.