СПОСОБ И СИСТЕМА ВЗАИМОДЕЙСТВИЯ ПРОГРАММ И УСТРОЙСТВ С ПОМОЩЬЮ УПРАВЛЯЮЩЕЙ ПЛАТФОРМЫ
METHOD AND SYSTEM FOR INTERACTION OF PROGRAMS AND DEVICES USING CONTROL PLATFORM

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее решение относится к области компьютерной техники, в частности к способу и системе взаимодействия устройств и программ посредством управляющей платформы с применением технологии цифрового двойника (ЦД).
УРОВЕНЬ ТЕХНИКИ
[0002] На сегодняшний день централизованное управление множеством средств, таких как программы и устройства, организующие единую инфраструктуру, имеет ряд проблем, связанных с разнородностью протоколов для связи различных сущностей, что вносит необходимость разработки унифицированных правил и усложнения систем для обеспечения требуемого управления множеством потоков данных.
[0003] Частично данную проблему предлагается решить за счет формирования централизованного принципа общения множества устройств, в частности устройств Интернета вещей (IoT), с помощью отправки в сообщениях от устройств друг друга «твитов» (tweet), содержащих метаданные, указывающие на тип информации, обрабатываемой и передаваемой устройством, которые будут описываться языком DDL (Device Description Language) [1].
[0004] В патентной заявке US 20170171143 A1 (International Business Machines Corp, 15.06.2017) предлагается способ организации устройств IoT с помощью интерпретатора сообщений, который с помощь поиска по шаблону типов сообщений определяет какие данные и от каких типов устройств поступают на центральную систему управления.
[0005] Недостатками такого рода решений является их низкая эффективность в части создания универсального метода управления множеством как аппаратных, так и программных решений, с помощью централизованной платформы, обеспечивающей унифицированный обмен данными.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Заявленное изобретение направлено на решение технической проблемы, присущей известным подходам из уровня техники, в части обеспечения универсального метода управления устройствами и программами с помощью единой платформы.
[0007] Техническим результатом изобретения является эффективный обмен данными между клиентами самых разных типов, подключенными к управляющей платформе, за счет применения цифровых двойников.
[0008] Заявленный технический результат достигается за счет осуществления способа взаимодействия программ и устройств с помощью управляющей платформы, при этом способ содержит этапы, на которых:
осуществляют первичное подключение клиента к управляющей платформе, при этом клиент является устройством или программным приложением;
осуществляют отправку первичного сообщения от клиента на платформу с информацией для формирования цифрового двойника (ЦД);
осуществляют формирование ЦД клиента на управляющей платформе, содержащего по меньшей мере сведения о типе данных, обрабатываемых клиентом, формат сообщений, формируемый клиентом, и текущее состояние клиента;
выполняют синхронизацию состояний подключаемого клиента и его ЦД на управляющей платформе в ходе обмена сообщениями между клиентами управляющей платформой;
выполняют извлечение и обогащение полезных данных, получаемых в сообщениях от клиента, причем полезные данные представляются в структурированном виде, с помощью их обработки сформированным ЦД;
выполняют преобразование сообщений в виде структурированных данных в формат, принимаемый клиентом;
осуществляют обработку данных с помощью ЦД при взаимодействии с клиентами и ЦД, подключенных к управляющей платформе, для отправки информационных сообщений и/или команд.
[0009] В одном из частных примеров осуществления способа ЦД находится на клиенте и передается на управляющую платформу при первичном подключении.
[0010] В другом частном примере осуществления способа ЦД получается управляющей платформой из внешнего источника или из библиотеки шаблонов ЦД, расположенного на управляющей платформе.
[0011] В другом частном примере осуществления способа клиент и платформа производят взаимную аутентификацию.
[0012] В другом частном примере осуществления способа аутентификация происходит с использованием симметричных и/или асимметричных криптографических алгоритмов.
[0013] В другом частном примере осуществления способа к ЦД дополнительно применяют механизмы проверки целостности при его передаче с клиента на управляющую платформу.
[0014] В другом частном примере осуществления способа ЦД передается по гиперссылке, хранимой на клиенте.
[0015] В другом частном примере осуществления способа управляющая платформа проверяет на основании ЦД клиента его техническое состояние и/или актуальность программного обеспечения.
[0016] В другом частном примере осуществления способа ЦД обеспечивает обновление программного обеспечения на клиенте при подключении к управляющей платформе.
[0017] В другом частном примере осуществления способа клиент представляет собой устройство Интернета вещей (IoT).
[0018] В другом частном примере осуществления способа управляющая платформа выполнена с возможностью делегирования частичного или полного функционала по меньшей мере одному подключенному клиенту, и передачи ЦД по меньшей мере одного другого клиента для последующего обмена сообщениями, используя одного из подключенных клиентов как шлюз.
[0019] В другом частном примере осуществления способа управляющая платформа выполнена с возможностью динамического переназначения клиентов, применяемых в качестве шлюзов, при управлении группой клиентов.
[0020] В другом частном примере осуществления способа подключаемый клиент и управляющая платформа содержат предустановленные ключи шифрования.
[0021] В другом частном примере осуществления способа ключи шифрования используются для аутентификации клиентов на управляющей платформе.
[0022] В другом частном примере осуществления способа обмен данными со стороны подключаемого клиента с управляющей платформой осуществляется с помощью двоичного протокола.
[0023] В другом частном примере осуществления способа все ЦД подключенных клиентов передают информацию на управляющую платформу в унифицированном виде.
[0024] В другом частном примере осуществления способа сообщения между клиентом и управляющей платформой передаются в структурированном или неструктурированном виде.
[0025] Заявленный технический результат также достигается за счет системы взаимодействия программ и устройств с помощью управляющей платформы, при этом система содержит:
по меньшей мере один клиент, представляющий собой устройство или программное приложение, выполненный с возможностью обмена сообщениями с управляющей платформой;
управляющую платформу, выполненную с возможностью обмена сообщениями с по меньшей мере одним клиентом;
формирования цифрового двойника (ЦД) клиентов, подключаемых к платформе, причем ЦД содержит по меньшей мере сведения о типе данных, обрабатываемых клиентом, формат сообщений, формируемый клиентом, и текущее состояние клиента;
синхронизации состояний подключаемых клиентов и соответствующих им ЦД в ходе обмена сообщениями;
извлечения и обогащения полезных данных, получаемых в сообщениях от клиентов, причем полезные данные представляются в структурированном виде, с помощью их обработки сформированным ЦД;
преобразования сообщений в виде структурированных данных в формат, принимаемый клиентом;
обработки данных с помощью ЦД при взаимодействии с клиентами и ЦД, подключенными к управляющей платформе, для отправки информационных сообщений и/или команд.
[0026] В одном из частных примеров реализации системы ЦД находится на клиенте и передается на управляющую платформу при первичном подключении.
[0027] В другом частном примере реализации системы ЦД получается управляющей платформой из внешнего источника или из библиотеки шаблонов ЦД, расположенного на управляющей платформе.
[0028] В другом частном примере реализации системы клиент и платформа производят взаимную аутентификацию.
[0029] В другом частном примере реализации системы аутентификация происходит с использованием симметричных и/или асимметричных криптографических алгоритмов.
[0030] В другом частном примере реализации системы к ЦД дополнительно применяют механизмы проверки целостности при его передаче с клиента на управляющую платформу.
[0031] В другом частном примере реализации системы ЦД передается по гиперссылке, хранимой на клиенте.
[0032] В другом частном примере реализации системы управляющая платформа проверяет на основании ЦД клиента его техническое состояние и/или актуальность программного обеспечения.
[0033] В другом частном примере реализации системы ЦД обеспечивает обновление программного обеспечения на клиенте при подключении к управляющей платформе.
[0034] В другом частном примере реализации системы клиент представляет собой устройство Интернета вещей (IoT).
[0035] В другом частном примере реализации системы управляющая платформа выполнена с возможностью делегирования частичного или полного функционала по меньшей мере одному подключенному клиенту, и передачи ЦД по меньшей мере одного другого клиента для последующего обмена сообщениями, используя одного из подключенных клиентов как шлюз.
[0036] В другом частном примере реализации системы управляющая платформа выполнена с возможностью динамического переназначения клиентов, применяемых в качестве шлюзов, при управлении группой клиентов.
[0037] В другом частном примере реализации системы подключаемый клиент и управляющая платформа содержат предустановленные ключи шифрования.
[0038] В другом частном примере реализации системы ключи шифрования используются для аутентификации клиентов на управляющей платформе.
[0039] В другом частном примере реализации системы обмен данными со стороны подключаемого клиента с управляющей платформой осуществляется с помощью двоичного протокола.
[0040] В другом частном примере реализации системы все ЦД подключенных клиентов передают информацию на управляющую платформу в унифицированном виде.
[0041] В другом частном примере реализации системы сообщения между клиентом и управляющей платформой передаются в структурированном или неструктурированном виде.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0042] Фиг. 1А, 1Б иллюстрируют общий вид схемы заявленного решения.
[0043] Фиг. 2 иллюстрирует блок-схему способа подключения клиентов к управляющей платформе.
[0044] Фиг. 3 иллюстрирует пример переноса функционала цифровых двойников на клиента и использования его в качестве шлюза.
[0045] Фиг. 4 иллюстрирует пример вычислительного устройства. ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0046] На Фиг. 1А представлена схема заявленного решения, которая содержит управляющую платформу (130), соединенную каналом передачи данных (120), со множеством клиентов (111-114). Каждый клиент (111-114) представляет собой устройство или программное приложение, которые могут взаимодействовать как друг с другом, так и посредством централизованного управления через платформу (130). Управляющая платформа (130) может представлять собой программное приложение, реализованное на одном или нескольких вычислительных устройствах, например, на сервере, мейнфрейме или серверном кластере, или любом другом типе устройства, обеспечивающему выполнения функционала платформы (130).
[0047] Клиенты могут представлять собой различные устройства и программные приложения из различных технических сфер, например, IoT. IoT и "подключенные" устройства отличаются большим многообразием, что дает результатом их разные потребности в каналах связи и протоколах. Например, беспроводной датчик температуры, актуатор, сенсор, SoC, мобильные устройства, умные носимые устройства, роутеры, портативные вычислительные устройства, телевизоры, игровые приставки, программные приложения различного профиля, устройства спутниковой связи, автомобиль из сервиса каршеринга и прочее. Таким образом, клиенты сильно отличаются как по потребностям в трафике данных, так и по возможности его обработать. Для примера рассмотрим беспроводной датчик температуры и «подключенный» автомобиль. Датчик температуры просыпается каждый час и отправляет результаты измерения по радиоканалу. При этом для такого рода устройств важно экономить радиоресурс (использование эфира), так как количество датчиков может быть существенными и передача энергозатратна, а объем полезных данных крайне мал - несколько байтов. Ресурс электропитания также сильно ограничен, так как питание может осуществляться от аккумулятора малой емкости или от батарейки длительное время. В противоположность датчику температуры «подключенный» автомобиль передает большой объем данных в режиме реального времени, при этом ресурс по электропитанию практически неограничен.
[0048] IoT устройства могут выбираться из широкого спектра известных решений, участвующих в процессе информационного обмена, например, такими устройствами могут быть: датчики, актуаторы, сенсоры, смартфон, планшет, телевизор, игровая приставка, компьютер, ноутбук, терминал, мейнфрейм, различные типы измерительных устройств (термометры, монометры, счетчики и т.д.) и т.п. Очевидно, что представленный спектр устройств является только примером использования в настоящем техническом решении и не ограничивается другими устройствами, которые могут быть снабженными необходимой программно-аппаратной логикой для взаимодействия в IoT среде.
[0049] Исходя из этого, для устройств разных типов зачастую применяются разные протоколы, которые наиболее подходят для каждого случая, что усложняет процесс их настройки и последующего подключения для формирования единой сети и эффективного управления ими.
[0050] В части канала передачи данных (120) может применяться различный тип проводной и/или беспроводной связи, например, Интернет, Интранет, радиоканал (Bluetooth, BLE, IrDa), LAN, WLAN, WAN и прочее.
[0051] Как представлено на Фиг. 1А управляющая платформа (130) может дополнительно связаться со внешними системами (141-143), которые могут представлять различные хранилища данных, системы менеджмента, системы типа «Умный дом» и прочее.
[0052] Как показано на Фиг. 1Б управляющая платформа (130) содержит ЦД (131-134) для каждого подключенного клиента (111-114). Управляющая платформа может выполняться, например, в виде сервера (130) или размещаться как программная логика на любом пригодном вычислительном устройстве. Каждый ЦД (131-134) обменивается с соответствующим клиентом (111-114) наиболее эффективным образом, позволяя ускорить и унифицировать прием-передачу сообщений.
[0053] ЦД (131-134) представляет собой набор метаданных, который связан с клиентом (111-114) и отражает его текущее состояние, например: его ID, версию прошивки, тип устройства, тип программы, различные константы, различные переменные, секреты, конфигурацию (изменение которой говорит платформе о том, что при следующем сеансе связи необходимо ее обновить на устройстве/клиенте), и информация о наборе и форматах сообщений для полезных данных (payload), которые могут быть отправлены или получены. Под полезными данными, как правило, понимается часть пакета данных без служебной информации (без заголовка, битов синхронизации и т.п.), то есть это - существенные данные, передаваемые единым блоком целевому адресату.
[0054] ЦД (131-134) может содержать широкий спектр информации о клиенте (111-114), в частности, структуру сообщений, текущее состояние, логику работы и коммуникации, другие алгоритмы и характеристики, необходимые управляющей платформе (130) для общения с клиентом (111-114) и другими ЦД. Таким образом, настоящий подход позволяет применять единый протокол, в который инкапсулированы полезные данные (индивидуальный субпротокол) для различных клиентов без потери эффективности обмена информацией между множеством устройств. В частности, существующие протоколы на базе структурированных данных считают накладные расходы на передачу несущественными, в итоге чтобы отправить, например, 1 килобайт полезных данных (например, значений измерений какого-то датчика) зачастую нужно 10-50-100 килобайт на пакет, т.к. каждое значение будет сопровождаться именем, описанием, форматом и прочей информацией, а сами данные вместо бинарного представления будут представлены в виде текстовой строки. Это приводит к значительному снижению эффективности. Заявленный метод применения ЦД непосредственно на управляющей платформе (130) позволяет добавлять метаданные уже на самой платформе (130), где проблемы с каналами и трафиком не актуальны, обеспечивая при этом нивелирование снижение скорости доставки данных до конечного клиента.
[0055] Заявленное решение позволяет реализовать протокол для взаимодействия с различными клиентами (IoT, Сервера, Приложения). Протокол обмена данными между клиентами (111-114) и управляющей платформой (130) бинарный (двоичный), но в качестве полезных данных могут пересылаться сообщения неопределенного заранее формата, которые могут быть как бинарными данными, так и структурированными. Проблема пересылки бинарных данных в том, что они не содержат никакой информации о своей структуре и как их формировать и разбирать управляющая платформа (130) заранее не знает. Также, управляющая платформа (130) заранее не знает какие состояния и конфигурации могут быть у клиента (111-114). Для того чтобы решить эту проблему применяется ЦД (131-134), обеспечивающий бесшовный обмен данными с клиентом (111-114), без необходимости дополнительной настройки каждого отдельного клиента (111-114). ЦД (131-134) осуществляет формирование структурированных сообщений и их передачу в хранилище (135).
[0056] Хранилище (135) может быть централизованного или децентрализованного типа, например, база данных, распределенный реестр (блокчейн), файловое хранилище, RAID-массив и т.п. Хранилище (135) используется для последующего обмена информацией между управляющей платформой (130) и внешними системами (140).
[0057] На Фиг. 2 представлена блок-схема предлагаемого способа (200) управления клиентами (111-114) посредством применения ЦД (131-134) на управляющей платформе (130).
[0058] На первом этапе (201) выполняется инициация первичного подключения клиента (111-114) к управляющей платформе (130). Первичное подключение может выполняться, например, при сопряжении клиента с управляющей платформой (130), регистрации приложения или другим образом, позволяющим выполнить отправку сигнала или данных на управляющую платформу (130).
[0059] На следующем этапе (202) после получения управляющей платформой (130) сообщения от клиента (например, клиент (111)) для последующего формирования его ЦД (131). ЦД (131) может быть сформирован различными способами, в частности, от клиента (111) на этапе (202) может быть передана информация для скачивания ЦД (131) (например, гиперссылка, QR-код и т.п.) из внешнего источника (ресурса), или по выбору ЦД (131) из библиотеки шаблонов, которая может содержаться на управляющей платформе (130) или на внешнем ресурсе. В другом примере шаблон ЦД (131) может храниться непосредственно на самом клиенте (111) и передаваться на этапе (202) для его сохранения на управляющей платформе (130).
[0060] На этапе (203) осуществляется формирование ЦД (131) для клиента (111), что позволит осуществить эффективное последующее взаимодействие с ним, позволяя иметь оперативный доступ к информации о том, какое состояние у ЦД (131) на основании текущего состояния клиента (111). ЦД (131) содержит базово следующую информацию: тип данных, обрабатываемых клиентом, формат сообщений, формируемый клиентом, и текущее состояние клиента. Дополнительно ЦД (131) может содержать и иные данные, например, текущую конфигурацию клиента, версию прошивки, статус работоспособности и т.п.
[0061] Одной из основных задач ЦД (131) является обеспечение разбора полезных данных, получаемых от клиента (111). ЦД (131) обеспечивает унифицированный обмен данными между клиентом (111) и управляющей платформой (130) без необходимости подстройки протокола для получения полезных данных от клиента (111), поскольку ЦД (131) обеспечит дальнейшую интерпретацию данных при обмене. ЦД (131-134) подключенных клиентов передают информацию на управляющую платформу (130) в унифицированном виде, при этом сообщения между клиентами (111-114) и управляющей платформой (130) могут передаваться в структурированном или неструктурированном виде.
[0062] За счет ЦД (131) становится возможным обмен между клиентом (111) и управляющей платформой (130) полезными данными в бинарном формате, которые с помощью ЦД (131) могут быть преобразованы в структурированные (YML, JSON, XML и др.) данные, а также быть впоследствии обогащены информацией о структуре и метаданными для дальнейшей передачи в систему бизнес-логики, например, одну из внешних систем (140). Также и полученные от пользовательских внешних систем (140) структурированные сообщения (YML, JSON, XML и др.) могут быть преобразованы в бинарное сообщение и переданы на соответствующий клиент (111-114).
[0063] На этапе (204) выполняется синхронизация состояний клиента (111) и его ЦД (131), в ходе которого проверяется, например, текущее состояние клиента (111), версия его ПО и/или прошивки, требуется ли оперативное обновление параметров и т.п. С учетом того, что клиенты (111-114) могут изменять свой функционал (в частности, это критично для программных приложений), то необходимо оперативно отслеживать изменения и содержание полезных данных при выполнении обмена с управляющей платформой (130). При обновлении аппаратных или программных состояний клиентов (111-114) соответствующая информация также будет отражена за счет обновления связанного шаблона ЦД (131-134).
[0064] На следующем этапе (205) при обмене данными между клиентами (111-114) и их ЦД (131-134) осуществляется извлечение и обогащение полезных данных, получаемых в сообщениях от клиентов (111-114), при этом полезные данные представляются уже в структурированном виде, с помощью их обработки сформированным ЦД (131-134), атакже обеспечивается преобразование сообщений в виде структурированных данных в формат, принимаемый каждым типом клиента (111-114).
[0065] При выполнении первичного подключения клиентов (111-114) к управляющей платформе (130) может выполняться их взаимная аутентификация, например, с помощью обмена криптографическими ключами, формируемыми на основании симметричных и/или асимметричных криптографических алгоритмов. Ключи шифрования могут быть предустановленными на соответствующем клиенте и управляющей платформе, например, с помощью способа, изложенного в патенте [2]. В частных случаях к ЦД (131-134) может дополнительно применяться механизм проверки целостности при его передаче с клиента на управляющую платформу (130). Таким механизмом может выступать, например, электронная подпись, секретный ключ и т.п.
[0066] Как указывалось выше, управляющая платформа (130) может быть реализована на различных видах вычислительных устройств, при этом управляющая платформа (130) может выполняться с возможностью делегирования частичного или полного функционала по меньшей мере одному подключенному клиенту, и передачи ЦД по меньшей мере одного другого клиента для последующего обмена сообщениями, используя одного из подключенных клиентов как шлюз.
[0067] На Фиг. 3 представлен пример, в котором управляющая платформа (130) может использовать клиента (111) как шлюз для получения данных от одного или нескольких других клиентов (112, 113), при этом ЦД (132, 133) соответствующих клиентов передается клиенту (111) для интерпретации обмена сообщениями между клиентами (112, 113) и управляющей платформой (130). Каждый клиент (111-114), выбранный в качестве шлюза, может динамически переназначаться управляющей платформой (130), что позволяет эффективно управлять группой клиентов.
[0068] Подход с переносом функционала на клиента (111) обусловлен переносом логики и функционала ЦД ближе к другим клиентам, например, когда необходимо принимать автономные решения, не зависящие от наличия интернет-соединения в конкретной локации. Таким образом, перенос ЦД на клиента, например, компьютер, и перенос на него ЦД для управления другими клиентами позволяет в зоне покрытия упомянутого компьютера исполнять и решать задачи коммуникации и принятия решений локально, независимо от отправки сообщений на управляющую платформу (130). Как один из случаев такого подхода можно рассмотреть умный дом, содержащий локальный шлюз для управления элементами умного дома, обеспечивающего управление обогревателями независимо от наличия подключения к сети Интернет внутри дома.
[0069] На Фиг. 4 представлен общий пример вычислительной системы на базе вычислительного компьютерного устройства (300), представляющего собой, например, компьютер, сервер, ноутбук, смартфон и т.п., которое может применяться для полной или частичной реализации заявленного решения. В общем случае устройство (300) содержит такие компоненты, как: один или более процессоров (301), по меньшей мере одну оперативную память (302), средство постоянного хранения данных (303), интерфейсы ввода/вывода (304), средство В/В (305), средства сетевого взаимодействия (306).
[0070] Процессор (301) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (300) или функционала одного или более его компонентов. Процессор (301) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (302).
[0071] Память (302), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал. Средство хранения данных (303) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п.Средство (303) позволяет выполнять долгосрочное хранение различного вида информации, например, истории обработки запросов (логов), идентификаторов пользователей, данные камер, изображения и т.п.
[0072] Интерфейсы (304) представляют собой стандартные средства для подключения и работы с различными устройствами. Интерфейсы (304) могут представлять, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п. Выбор интерфейсов (304) зависит от конкретного исполнения устройства (300), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п., а также подключаемых сторонних устройств.
[0073] В качестве средств В/В данных (305) может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.
[0074] Средства сетевого взаимодействия (306) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карта, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средства (406) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM, LPWAN, квантовый канал передачи данных, спутниковая связь и т.п.
[0075] Компоненты устройства (300), как правило, сопряжены посредством общей шины передачи данных.
[0076] В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.
Источники информации:
[1] Khaled et al. IoT-DDL-Device Description Language for the "T" in IoT. Digital Object Identifier 10.1109/ACCESS.2017.Doi Number.
[2] Патент RU 2695487 C1 «СПОСОБ И СИСТЕМА ОБЕСПЕЧЕНИЯ ВЗАИМОДЕЙСТВИЯ УСТРОЙСТВ ИНТЕРНЕТА ВЕЩЕЙ (IOT)». Турин О.Д., опуб. 23.07.2019.