Научная статья на тему 'HyperCat - структура и модели применения'

HyperCat - структура и модели применения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
157
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕРНЕТ ВЕЩЕЙ / BSI / JSON / СТАНДАРТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Намиот Дмитрий Евгеньевич, Куприяновский Василий Павлович, Зубарева Елена Васильевна

В статье обсуждается фреймворк HyperCat, который решает задачи поиска (адресации) сервисов в проектах, связанных с Интернетом Вещей. Спецификация HyperCat предлагает простой стандарт для описания сервисов (ресурсов) в проектах Интернета Вещей и простые механизмы программного поиска сервисов. Предложенная спецификация легла в основу британского стандарта в области Интернета Вещей. Данный стандарт был переведен в России и может рассматриваться как один из кандидатов на локализацию. Помимо самой спецификации HyperCat мы рассматриваем также инфраструктуру, построенную вокруг этого проекта и возможные выводы для России и отечественных разработок в области Интернета Вещей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «HyperCat - структура и модели применения»

УДК 004.45

Намиот Д.Е.1, Куприяновский В.П.1, Зубарева Е.В.12

1 Московский государственный университет имени М.В. Ломоносова, г. Москва, Россия 2 Елецкии государственные университет им. И.А. Бунина, г. Елец, Россия

HYPERCAT - СТРУКТУРА И МОДЕЛИ ПРИМЕНЕНИЯ

АННОТАЦИЯ

В статье обсуждается фреймворк HyperCat, который решает задачи поиска (адресации) сервисов в проектах, связанных с Интернетом Вещей. Спецификация HyperCat предлагает простой стандарт для описания сервисов (ресурсов) в проектах Интернета Вещей и простые механизмы программного поиска сервисов. Предложенная спецификация легла в основу британского стандарта в области Интернета Вещей. Данный стандарт был переведен в России и может рассматриваться как один из кандидатов на локализацию. Помимо самой спецификации HyperCat мы рассматриваем также инфраструктуру, построенную вокруг этого проекта и возможные выводы для России и отечественных разработок в области Интернета Вещей.

КЛЮЧЕВЫЕ СЛОВА

Интернет Вещей; BSI; JSON; стандарт.

Dmitry Namiot1, Vasily Kupriyanovsky 1, Elena Zubareva12

1Lomonosov Moscow State University, Moscow, Russia 2Yelets State University of Bunin, Yelets, Russia

HYPERCAT - THE STRUCTURE AND USE CASES

ABSTRACT

In this article, we discuss the framework HyperCat, which solves the problem of searching (addressing) for services in the projects related to the Internet of Things. The HyperCat specification proposes a simple standard for describing services (resources) in the projects of the Internet of Things as well as the simple mechanisms of a programming-based search for services. The proposed specification formed the basis of the British standard in the field of Internet of Things. This standard was translated in Russia and can be considered as one of the candidates for localization. In addition to the HyperCat specification, we consider also the infrastructure built around this project and the possible implications for Russia and domestic developments in the field of Internet of Things.

KEYWORDS

Internet of Things; BSI; JSON; standard.

Введение

В этои статье мы хотели бы остановиться на инструментальном средстве с открытым кодом HyperCat, которое решает задачу поиска (адресации) сервисов в проектах, связанных с Интернетом Вещеи [1] - рисунок 1.

Это довольно активно развивающиися проект. Его результаты положены в основу стандартов для Интернета Вещеи. Британскии институт стандартизации (BSI) даже заявляет соответствующии стандарт как первьш в мире стандарт в области Интернета Вещеи. Очевидно, конечно, что это больше маркетинговое заявление, но, тем не менее, важность и полезность этого продукта очевидна.

Соответствующие разработки BSI были переведены на русскии язык и распространялись рабочеи группои Росстандарта, которая занимается отечественными стандартами Умного Города и Интернета Вещеи [3].

hello XI speak □

API

о" System

Рис. 1. HyperCat model [2]

В то же самое время, очевидно, что сам этот продукт (который бесплатен и распространяется по открытой лицензии) неизвестен в России. Отношение в России к стандартам (будь то IoT или Smart City) - также неизвестно. Известные нам разработки и коллективы говорят исключительно о дородных картах, как будто календарныи план чего-либо может решить все проблемы [4]. Тем не менее, мы надеемся, что отечественные разработки в области IoT будут, в итоге, развиваться в русле с мировыми тенденциями и такого рода проекты (системы), как HyperCat окажутся востребованными.

Спецификация Hypercat призвана обеспечить клиентам IoT приложении поиск и обнаружение (раскрытие) информации о доступных сервисах в сети Интернет. С использованием HyperCat разработчики получают возможность писать переносимые приложения и избежать так называемых силосов данных (изолированных датасетов) [5].

Общая концепция HyperCat

Разработка этои спецификации была инспирирована следующеи моделью IoT экосистемы (рисунок 2):

Gateway & connectivity layer

Sensing layer

Proprietary solutions

IoT gateway

LTE-M M 2 M

Third party data hub

Рис. 2. IoT экосистема [6]

Авторство этой модели принадлежит British Telecom. Рассмотрим средний уровень на этой схеме - Data hub. Хаб получает данные от сенсоров и других систем и предоставляет их приложениям и аналитическим сервисам. HyperCat решает задачу о том, как описать данные в этом

хабе. А если хабов несколько - то, соответственно, в каждом из имеющихся хабов.

При этом предполагалось достижение этой интероперабельности за счет использования тех же принципов, на которых строится связанность данных в сети Интернет: доступ к данным через стандартные веб-протоколы и форматы (протокол HTTPS, формат JSON, REST-модель и т. д.), выявление ресурсов через URI, и создание общеи семантики для дескрипторов наборов данных. Для REST-модели, например, таковая семантика так, в итоге, и не утверждена, несмотря на множество попыток [7].

HyperCat представляет собои прагматическии подход, которьш служит отправнои точкои для решения вопросов, связанных с управлением несколькими источниками данных. Эти данные могут быть агрегированы с использованием веб-подходов и связанных данных в несколько центров данных (хабов данных в терминологии HyperCat). HyperCat включает в себя основанныи на JSON легкии подход, базирующиися на стеке технологии, которые используются большим количеством веб-разработчиков. Соответственно, предполагается очень низкии порог вхождения, с идееи, что это простимулирует рост экосистемы Интернета Вещеи.

Спецификация

Спецификация HyperCat [8] включает в себя следующие моменты:

Identity - в качестве идентификации для приложении и хабов данных используются URI

Catalogues - каталог реализуется хабом данных для доступа приложении. Каталог - это просто

неупорядоченная коллекция ресурсов. Каждыи ресурс описывается своим URI. Ресурсом может

быть и другои каталог. Все HyperCat-совместимые хабы поддерживают каталог (возможно, пустои)

по адресу {BASE URL}/cat Каталог представляется JSON-документом с MIME- типом

application/vnd.tsbiotcatalogue+json

Все URI внутри каталога должны быть уникальны

Каталог может поддерживать мета-данные как для самого себя, так и для своих отдельных объектов

Catalogue Object - объект каталога - это JSON объект. Он должен содержать следующие своиства: "items" - JSON массив элементов "item" (возможно, пустои) array of zero "item-metadata" - JSON массив объектов метаданных

Item Object - элемент представляет собои JSON объект со следующими своиствами: "href - идентификатор (URI)

"i-object-metadata" JSON массив объектов метаданных

Массив метаданных должен содержать описания для обязательных отношении. Этот массив может содержать объекты с одинаковыми своиствами.

Metadata Object - объект метаданных есть JSON объект, которыи описывает отношение между родительским объектом (каталогом или элементом каталога) и концепциеи, представленнои в виде URI. Все объекты метаданных должны включать следующие своиства:

"rel" - описывает отношение между родителем и сущностью. Описывается предикатом (глаголом). Представляется как URI

"val" - сущность, для которои описывается отношение. Представляется как JSON строка (возможно - URI)

При описании URI можно использовать относительные адреса. В таком случае они интерпретируются в соответствии с RFC 1808 [9]. Пример использования:

Описание {"rel":"urn:X-tsbiot:rels:isColour", "val":"blue"} должно быть проинтерпретировано так, что своиство iColour родительского объекта имеет значение blue.

Все массивы метаданных имеют (должны включать) обязательные отношения. Во-первых, hесурс должен иметь текстовое описание: "rel": "urn:X-tsbiot:rels:hasDescription:en" "val": описание в форме JSON строки

Дополнительно, все объекты метаданных верхнего уровня должны включать следующее отношение:

"rel: "urn:X-tsbiot:rels:isContentType" "val": "application/vnd.tsbiot.catalogue+json" Оно описывает тип возвращаемых данных.

Также массивы метаданных могут включать дополнительные отношения. Например:

Тип данных, возвращаемых ресурсом (согласно кодировке MIME RFC-2046)

"rel":"urn:X-tsbiot:rels:isContentType"

"val": строка. Например: text/csv

Ссылка на веб-страницу описания ресурса

"rel": "urn:X-tsbiot:rels:hasHomepage" "val": URL для веб-страницы

Тип данных для ресурсов каталога (согласно кодировке MIME RFC-2046)

"rel": "urn:X-tsbiot:rels:containsContentType"

"val": строка. Например: text/csv

Указание на поддержку поиска в каталоге

"rel": "urn:X-tsbiot:rels:supportsSearch"

"val":URI для поискового запроса

Поиск по каталогу осуществляется представлением поискового запроса в строке согласно КАС-1738

[10]. Параметры запроса:

"rel" - отношение. URI или строка

"val" - URI или строка

"href - URI для ресурса

Операции над каталогами включают деиствия по созданию, удалению и чтению элементов. Сообразно модели REST, операции модификации поддерживаются через HTTP запрос POST, операция чтения - через GET

Все HTTP (HTTPS) запросы аутентифицируются по ключу, которьш также представляет собои URI. Ключ присутствует в заголовке HTTP запроса. Порядок генерации и распространения ключеи вынесен за рамки спецификации HyperCat.

Статус-код HTTP запроса возвращает информацию о запросе. Например: 204 - нет отклика 400 - неверныи запрос и так далее.

Примеры использования

По сути, спецификация HyperSpace предполагает, что IoT устроиство будет иметь некоторыи веб-сервер, которыи и будет отвечать на указанные выше запросы. Либо хаб данных будет предоставлять такои веб-сервер, аккумулируя данные от менее интеллектуальных устроиств. Для поддержки внедрения HyperCat был создан портал HyperSpace [11], где представлены HyperCat-совместимые решения для вертикальных отраслей (Умный Дом, логистика и т.д.) - рисунок 3.

ASSET MAPPING

Рис. 3. Управление Умным Домом на базе HyperCat Другим примером использования является портал British Telecom [12]. Здесь есть

документация, примеры использования, а также доступные каталоги данных (рисунок 4).

МК air quality sensor со located with AURN El

Manchester Air Quality Data ■ Manchester South El

Manchester Air Quality Data ■ Manchester Oxford Road S

Manchester Air Quality Data ■ Gjazebury S

Manchester Air Quality Data ■ Bury Radcliffe El

Рис. 4 Каталоги данных

PAS-212 и его переводы

Именно HyperCat был положен в основу стандарта BSI PAS-212 - Автоматическое обнаружение ресурсов для Интернета вещеи. Здесь как раз и описываются представленные выше каталоги данных (рисунок 5).

Catalogue

catalogue item

bi&f |iiEi|

metadata

relation -el Val

I relation I i-el| | val| j

catalogue item

href j j

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

metadata

relation rel val

i relation I I -,-a-ij!

Рис. 5 Каталог данных согласно PAS-212 Для этого стандарта существует перевод на русский язык, который распространялся в рамках рабочеи группы по стандартизации TK-098 [13, 14].

Заключение

Позиция авторов в отношении разработки стандартов уже была высказана ранее [4] и она не изменилась. По непонятным причинам к стандартам в России относят, в первую очередь, различные ограничительные меры и регуляции. В то время как, стандарт - это всегда "лучшая практика". Из всех институтов стандартизации в мире, именно BSI является одним из наиболее успешных в коммерческом и профессиональном плане. Построенным на базе HyperCat стандарт BSI PAS-212 предложен в качестве базового международным организациям. Что особенно важно, за разработкои стоит не одна организация, а Hypercat Alliance. PAS-212 является хорошим кандидатом для локализации и принятия в качестве национального стандарта в России. Кроме того, вся эта

разработка является хорошим примером того, как должно было бы (по мнению авторов) осуществляться продвижение Интернета Вещеи в России. Это консорциумы (по аналогии с HyperCat Alliance) из промышленных компании и академических университетов, которые продвигают стандарты. Не дорожные карты (какои смысл устанавливать сроки без базы для разработки), не сервисы (для которых также нужна унификация, которую дают именно стандарты), а именно стандарты. Для которых (по аналогии с описанным выше Hyperspace) далее делать модели применения.

Литература

1. HyperCat http://www.hypercat.io/ Retrieved: Sep, 2016

2. Hypercat: Resource Discovery on the Internet of Things http://iot.ieee.org/newsletter/january-2016/hypercat-resource-discovery-on-the-internet-of-things.html Retrieved: Sep, 2016

3. Куприяновский В. П. и др. О локализации британских стандартов для Умного Города //International Journal of Open Information Technologies. - 2016. - Т. 4. - №. 7.- C. 13-21.

4. Намиот Д.Е., Шнепс-Шнеппе М.А. Об отечественных стандартах для Умного Города //International Journal of Open Information Technologies. - 2016. - Т. 4. - №. 7. - С. 32-37.

5. Куприяновскии В. П. и др. Цифровая экономика и Интернет Вещеи-преодоление силоса данных //International Journal of Open Information Technologies. - 2016. - Т. 4. - №. 8. - С. 36-42.

6. Mike Fisher & John Davies CREATING INTERNET OF THINGS ECOSYSTEMS. IoT ecosystems, a case in point. // The Journal. -2015.-vol.9.-Part 4.- pp. 10-14

7. Намиот Д.Е. МЕТАДАННЫЕ В REST-МОДЕЛИ //ПРОГРАММНАЯ ИНЖЕНЕРИЯ. - 2015. - №. 5. - С. 20-25.

8. HyperCat specification https://hypercatiot.github.io/spec1.1.pdf Retrieved: Sep, 2016

9. RFC 1808 https: //tools.ietf.org/html/rfc1808 Retrieved: Sep, 2016

10. RFC 1738 http://tools.ietf.org/html/rfc1738 Retrieved: Sep, 2016

11. Hyperspace https://hyperspace.center/ Retrieved: Sep, 2016

12. BT HyperCat http://portal.bt-hypercat.com/ Retrieved: Sep, 2016

13. Ярцев Д. И. и др. Экономика стандартизации в цифровую эпоху и информационно-коммуникационные технологии на примере Британского института стандартов //International Journal of Open Information Technologies. - 2016. - Т. 4. - №. 6.

- С. 1-9.

14. Куприяновскии В. П., Намиот Д. Е., Куприяновскии П. В. Стандартизация Умных городов, Интернета Вещеи и Больших Данных. Соображения по практическому использованию в России //International Journal of Open Information Technologies.

- 2016. - Т. 4. - №. 2. - С. 34-40.

References

1. HyperCat http://www.hypercat.io/ Retrieved: Sep, 2016

2. Hypercat: Resource Discovery on the Internet of Things http://iot.ieee.org/newsletter/january-2016/hypercat-resource-discovery-on-the-internet-of-things.html Retrieved: Sep, 2016

3. Kuprijanovskij V. P. i dr. O lokalizacii britanskih standartov dlja Umnogo Goroda //International Journal of Open Information Technologies. - 2016. - T. 4. - #. 7.- C. 13-21.

4. Namiot D.E., Shneps-Shneppe M.A. Ob otechestvennyh standartah dlja Umnogo Goroda //International Journal of Open Information Technologies. - 2016. - T. 4. - #. 7. - S. 32-37.

5. Kuprijanovskij V. P. i dr. Cifrovaja jekonomika i Internet Veshhej-preodolenie silosa dannyh //International Journal of Open Information Technologies. - 2016. - T. 4. - #. 8. - S. 36-42.

6. Mike Fisher & John Davies CREATING INTERNET OF THINGS ECOSYSTEMS. IoT ecosystems, a case in point. // The Journal. -2015.-vol.9.-Part 4.- pp. 10-14

7. Namiot D.E. METADANNYE V REST-MODELI //PROGRAMMNAJa INZhENERIJa. - 2015. - #. 5. - S. 20-25.

8. HyperCat specification https://hypercatiot.github.io/spec1.1.pdf Retrieved: Sep, 2016

9. RFC 1808 https: //tools.ietf.org/html/rfc1808 Retrieved: Sep, 2016

10. RFC 1738 http://tools.ietf.org/html/rfc1738 Retrieved: Sep, 2016

11. Hyperspace https://hyperspace.center/ Retrieved: Sep, 2016

12. BT HyperCat http://portal.bt-hypercat.com/ Retrieved: Sep, 2016

13. Jarcev D. I. i dr. Jekonomika standartizacii v cifrovuju jepohu i informacionno-kommunikacionnye tehnologii na primere Britanskogo instituta standartov //International Journal of Open Information Technologies. - 2016. - T. 4. - #. 6. - S. 1-9.

14. Kuprijanovskij V. P., Namiot D. E., Kuprijanovskij P. V. Standartizacija Umnyh gorodov, Interneta Veshhej i Bol'shih Dannyh. Soobrazhenija po prakticheskomu ispol'zovaniju v Rossii //International Journal of Open Information Technologies. - 2016. - T. 4.

- #. 2. - S. 34-40.

Поступила 27.09.2016

Об авторах:

Намиот Дмитрий Евгеньевич, кандидат физико-математических наук, доцент, старший научный сотрудник факультета вычислительной математики и кибернетики Московского государственного университета имени М.В. Ломоносова, [email protected];

Куприяновский Василий Павлович, заместитель директора центра геопространственного экономического анализа экономического факультета Московского государственного университета имени М.В. Ломоносова, [email protected];

Зубарева Елена Васильевна, кандидат педагогических наук, доцент, старший научный сотрудник факультета вычислительной математики и кибернетики Московского государственного университета имени М.В. Ломоносова; руководитель Центра открытых информационных технологий Елецкого государственного университета имени И.А. Бунина, [email protected].

i Надоели баннеры? Вы всегда можете отключить рекламу.