IOT语义互操作性之标准与开源

这个系列文章描述了一个单一的语义数据模型来支持物联网和建筑、企业和消费者的数据转换。 这种模型必须简单可扩展, 以便能够在各行业领域之间实现插件化和互操作性。 对于一个目前从事智能硬件的老码农,觉得这些文字具有积极的参考意义。在这第二部分, 尝试确定了现有的行业标准和开源方法, 以便在应用程序层提供互操作性。

"标准的好处在于你有许多的选择; 
此外, 如果你不喜欢他们中的任何一个, 
可以等待明年的模型。" - Andrew Tanenbaum 

应对元数据挑战的社区驱动方法

已经习惯了一系列看似无止境的新协议、倡议和联盟, 所有这些都是为了开创所有人期待已久的物联网时代到来。

到目前为止, 可能已经在物联网设备上建立了一个共同的连接层, 但是有些技术因素对于寻找一个共同的互操作解决方案提出了相当大的挑战。 在成本、无线电频谱范围、数据速率和能源消耗之间进行权衡, 使得很难找到一个一刀切的方案。

许多"物联网标准"的联盟都涉及到连接层, 它们正朝着高层发展(在应用层上, 一切都是软件, 物理定律不适用[6])。 虽然应用层内的设备互操作性尚未成熟, 但在20多年前就通过电子数据交换(EDI)解决了该层内的 B2B 互操作性问题, 尽管不是很完美。

现在看到的"物联网标准"和"业务标准"联盟正在应用层内互操作性的中心点汇聚。 对于可管理性, 本系列将集中讨论9个组织的语义互操作性方法, 它们的共同点是:

  • 跨越 OSI 模型的连接和应用层(图12)

图12 在 OSI 层内的联合体互操作性方法

  • 处理五个相互关联的行业的大部分用例: 房屋与建筑、能源、零售、医疗和运输与物流(图13)

图13 行业组织的语义层努力

蓝牙

蓝牙(Bluetooth.com)是一种无线技术标准, 用于在短距离内交换数据, 由拥有3万多家会员公司的蓝牙技术联盟(SIG)管理。 在消费者层面, 蓝牙设备是高度受限设备之间应用层互操作性最普遍的例子。

当蓝牙网络建立时, 一个设备为主, 而其他所有设备为从。 基本速率 / 增强数据速率版本称为经典蓝牙, 是一个发送稳定且优化的高质量数据流(即音乐)。 新的低能量版本(BLE)即智能蓝牙,更适合物联网和传感器, 是建立在一个全新的开发框架,使用通用属性或GATT。

  • 配置文件(Profile):对于两个可互操作的蓝牙设备, 它们必须支持相同的配置文件。 蓝牙有它自己的应用层配置文件, 目前围绕着传统上由经典蓝牙(即耳机、扬声器、鼠标)实现的"配件"角色。 智能蓝牙支持GATT的配置文件, 它将角色扩展到个人健康和医疗领域(如血压、心率传感器、温度计、体重秤)。 GATT定义了一种连接蓝牙智能设备的分层数据结构。每个配置文件描述一个基于 GATT 功能的用例、角色和一般行为。虽然现在市场上有蓝牙智能照明产品, 但是没有标准化的应用层协议来提供多个供应商的互操作性。 尽管蓝牙Mesh已经面世, Thread 和 Zigbee 等等正在争夺物联网的同样用途; 随之而来的肯定是一系列GATT的Profile, 不仅限于外围设备, 还包括家庭和建筑使用案例, 如照明, 暖通等等。
  • 分配数字——蓝牙将标识符分配给与配置(公司、设备)和语义(测量单位、数据类型)相关的对象。

GS1

GS1(GS1.org)是一个全球性组织, 负责开发和维护世界上使用最广泛的供应链标准系统。 使用 GS1标准的150个国家, 每天有超过100万个用户公司执行超过60亿笔交易。

GS1已经在应用层中开发了几个标准, 支持可互操作地交换业务关键信息, 包括事务、产品和可见性事件数据。 这些标准主要涉及零售、医疗和运输物流行业的贸易伙伴之间的数据交换。

GS1的"全球商业语言"将物理世界和数字世界联系起来, 为物联网奠定了基础。 通过扩展其标准体系, GS1可以发挥关键作用, 加快"事物"的识别速度, 使其相互关联, 并使其互操作成为行业的全球语言, 包括企业、人和事物。

  • EPC 信息服务(EPCIS) , 核心业务词汇(CBV)——EPCIS是一个 GS1标准, 最初基于 RFID 技术, 使得不同的应用程序能够创建和分享关于物理或数字物体的"可见度事件数据"。 其主要用途是供应链可追踪性, 使贸易伙伴能够让产品在整个供应链中流动时分享有关产品的实际流动和状况的信息。 它有助于回答"什么、在哪里、什么时候、为什么"的问题, 以满足消费者和监管机构对准确和详细产品信息的需求。 一个新兴的用例就是物联网。CBV 提供了用于填充 EPCIS 数据方案的核心语义, 以确保可互操作的数据交换, 减少不同企业表达共同意图的变化。
  • 全球产品分类(GPC)和 SmartSearch: Gpc 根据产品的基本属性和与其他产品的关系对产品进行分类。 从野营设备到鞋类, 家用电器到玩具, 都有 GPC 标准。 SmartSearch是 GS1的外部扩展词汇表(schema.org)。期望提供更加丰富的在线产品描述, 用于网络搜索,然而要调和这两个词汇之间的差异仍然是一个挑战。
  • 全球数据同步网络(GDSN)-GDSN 是一个基于互联网的互操作网络, 使贸易伙伴能够根据与贸易伙伴关系有关的数据存储实现全球登记注册, 同步符合全球会计准则的产品数据。
  • EDI:GS1电子数据交换系统为整个供应链上发生的商业交易提供全球标准, 包括订单、装运和付款对象。 GS1有三套免费标准: EANCOM, XML 和 UN/CEFACT XML。
  • 识别码-识别码是 GS1的结构化数据, 代表全球唯一的公司、贸易项目、地点、集装箱和资产。 它们被应用于 GS1条形码和EPC/RFID 中, 以及在 EPCIS 事件和 EDI 交易中识别对象。

互联网工程专责小组(IETF)

IETF (IETF.org)是一个由网络设计者、运营商、供应商和研究人员组成的全球性社区, 他们关注的是互联网的平稳运行和架构的进化。 IETF 的RFC包含了关于互联网的技术和组织说明, 包括协议、程序和概念。

可扩展配置协议(EPP)-EPP (RFC5730-RFC 5734)是一个应用层C/S协议, 用于储存和管理存储在共享中央存储库中的对象。 通过XML, 协议定义了通用对象管理操作以及将协议操作映射到对象的可扩展框架。 EPP 协议套件目前包含一个因特网域和主机对象类的基本协议规范和语义, 以及与个人和组织相关的"联系"标识符。 最初开发 EPP 的目的是使那些销售在线身份服务的互联网注册体能够更有效地获取中央域名登记数据。 其他对象类的规格可能会随着需求的确定而发展。

因特网架构委员会(IAB)为 IETF 提供架构监督。 2016年, IAB 组织了一个物联网语义互操作性(IOTSI)研讨会, 以评估当前元数据模型的差距。

Object Management Group (OMG)

OMG (OMG.org)侧重于建模和基于模型的标准, 使软件可以互操作性。 OMG 管理工业互联网联盟, 并在国际进口联合会的连接框架内开发了数据分配服务, 这是一个"核心连接标准"。 OMG 还管理用于建模应用程序、业务流程和数据结构的统一建模语言(UML)。

OMG 的医疗保健领域任务组(Healthcare Domain Task Force)与健康级别7(HL7)协同开发一套医疗保健互操作性标准, 该平台提供了一个支持遗留接口协议的模型驱动平台, 同时与当前行业最佳实践保持一致。

在2017年, OMG 承担了美国零售联合会技术标准的所有权和管理权, 并成立了一个新的艺术零售领域专责小组。 这些标准包括艺术数据模型, UnifiedPOS, POSlog, A2A 信息和 BPM。

  • ARTS Operational Data Model (ODM):ARTS ODM 是一种关系数据模型, 它包含了支持零售业务操作的数百个事务和主数据对象类。
  • UnifiedPOS (UPOS):UPOS 是一个全球采用的互操作性标准, 包括30多个销售点(POS)周边设备类(例如, 现金抽屉、收据打印机等)的 uml 定义的数据模型。 这些数据模型可以在 UPOS 控制和服务层中互操作。

开放连接基金会(OCF)

OCF (OpenConnectivity.org)已经成为物联网设备最大的工业连接和互操作性标准组织之一, 拥有超过300家会员公司。 公开联系财团(OIC)与 AllSeen 联盟于2016年合并, 成立了 OCF。 在合并之前, OIC组织获得了发展万国邮政管理和控制规范 UPnP 论坛的资产。

规范解决了与 Zigbee Dotdot 相同的互操作性层, 包括一个具有 RESTful 交互的通用资源和安全模型。 IoTivity是 OCF 规范的开源参考实现。

  • Models:OCF 的 peer-to-peer (P2P) RESTful 架构是基于创建、读取、更新、删除、通知(CRUDN)操作, 该操作使用简单、开放的数据结构(模型)来安全地通信, 这些结构描述了基本资源和由这些资源组成的设备。OneIoTa是一个开放的工具, 用于开发和管理 OCF 和其他组织的模型以及它们之间的映射的开放工具。 虽然 OCF 已经开发了自己的支持家庭和建筑使用案例的设备类模型, 但它正在与医疗保健个人连接健康联盟(PCHA)和能源专用 EEBus 合作。

Project Haystack

Project Haystack(Project-Haystack.org)是一个开源社区, 旨在解决应用层中智能建筑系统和物联网设备数据建模的挑战。 它开发了一个数据建模方法, 标记库(分类法) , REST 通信协议和参考实现。

haystack 的愿景是通过创建一个标准化的方法来定义"数据语义"和相关服务, 以及 API 来消耗和共享数据及其语义描述符, 从而简化物联网数据的使用。

Tags是 Haystack中一个简单的, 灵活的标签方法, 可以用于 Excel 电子表格和 CSV 文本文件,以及嵌入式设备中的数据表、 XML 表示、 web 服务等等。

Schema.org

这是搜索引擎运营商在2011年发布的, 目的是为网页上的结构化数据标记创建和管理一套通用的语义模式。 标记使搜索引擎能够通过定义的实体、它们的属性和关系来搜索和聚合网页内容。

本体论(Ontology)最初是为基于顶级的常见网络内容开发的对象类(object classes ).本体论越来越成为重点。Extension是通过广泛的社区合作网络创建的。不同于托管扩展(例如bib.schema.org, auto.schema.org, etc.),对于产品描述是完全独立的, 有他们自己的工作流程, 审查流程和基础设施。

托管扩展的目的是将物联网和非物联网语义词汇合并到一个可持续和可扩展的本体中, 这种本体论迫使物联网数据结构与使用这些数据的工具、产品和应用程序脱钩。

公开组(OpenGroup.org)

Open Group (OpenGroup.org)管理企业架构框架的开放集团架构框架(TOGAF), 并为其500多个成员组织提供了论坛, 以促进基于开放标准和全球互操作性的企业集成。

公开组医疗保健论坛致力于推进互操作性, 以交换关键的健康和医疗数据。 考虑到移动性、分析性、云计算和物联网的融合, 开放平台3.0论坛正在为数字平台开发一个互操作性标准。

  • 开放数据元素框架(O-DEF):O-DEF 是一个总体语义框架, 可以将特定行业的语义标准作为"插件"。它的"核心索引"包括顶级对象类、属性(属性)和数据类型。 开放集团和其他组织开发的插件可以扩展"核心索引"以支持特定的用例和行业。
  • 开放数据框架(O-DF):O-DF 是一个支持可互操作数据交换的开放组织 IoT 标准。 对象标识符使得可以将可能位于不同信息系统中的单个事件。数据联系起来。

Zigbee 联盟

Zigbee (Zigbee.org)长期以来一直与其2.4 GHz IEEE 802.15.4基础的网络堆栈相关联, 现在被称为"Zigbee PRO"。 Zigbee 规范所定义的技术, 比蓝牙或 Wi-Fi 等其他无线个人区域网络更简单, 也更便宜。 2013年, 基于6LoWPAN 的"Zigbee IP"被添加到智能电网市场。 还有"Zigbee RF4CE", 它为消费者环境提供无线电频率控制。 有超过400家会员公司和1300多个认证产品使用其技术。

  • Zigbee 集群库(ZCL)定义和编目了大量设备的互操作,代表了10多年的行业协作工作。 这个目录提供了一个细粒度的设备属性分解, 涵盖广泛的设备类别(例如暖通空调、照明等)和工业类别(例如房屋及楼宇、零售、医疗、能源等)。
  • Dotdot-Zigbee 联盟最近宣布了一个名为 Dotdot 的新"物联网通用语言", 将 ZCL 标准规范与连接层分离开来。 Zigbee 的 Dotdot 使 Zigbee 在定义应用层中的对象和动作方面有了一个重要的开端。

从网络和物理层连接中分离这些应用层定义具有重要意义。 在此之前, 拥有一个"Zigbee 认证产品"意味着它在应用层和 Zigbee 网络和物理层遵守。 现在, 有可能具有 dotdot 兼容的设备, 这些设备在应用层可兼容, 但物理层不同。

Zigbee 已经开始展示 Dotdot 在不同连接协议栈之间的互操作性(如图14所示) , 并在2017年的 CES 上首次展示了基于Thread的设备。 因此, 可以想象, 消费者可以在应用层上使用Thread设备与 Zigbee 设备进行交互操作, 尽管他们不使用相同的连接技术。 实际上, 要实现这一点, 需要在 tcp / ip 级别上使用某种网关设备来使 Dotdot 适应正在使用的每一个连接层。 这种"tcp / ip 级协议收敛"模式是应用层的一个常见主题[6]。

将应用层互操作性从连接层中分离出来的一个有趣的结果是"logo 混淆" 例如, 一个智能照明产品需要两个认证: 一个是"Thread认证组件", 另一个是"Dotdot" 。 如果我们期望一个光开关直接与一个灯具交流, 我们将不得不寻找两个标志匹配。 这种"双重标志"形势是否会打击市场, 还有待观察。

图14 联合体转向可互换的连接层

References:

6 Ewing, David. “Delving deeper into Dotdot – Zigbee’s new ‘Universal Language for the IoT’”, Embedded.com, April 2016.

8