Internet of Smart Things-IoST
Author:Mayra Samaniego, Ralph Deters
Published in:2017 IEEE International Conference on Cognitive Computing (ICCC)
Date of Conference: 25-30 June 2017
会议级别:不知道
被引量:11 次
keywords:IoT; Management; Blockchain; Multichain;Smart Things; Autonomy;Self-inferencing; Self-monitoring;Fog; Edge.
摘要
构成物联网的大量异构设备需要有效的资源管理。随着雾计算的出现,一些管理任务可以下移到物联网的边缘,更靠近物理设备。建立在雾网络上的区块链可以处理一些物联网的管理任务,如通信、存储和身份验证。这种情况下,以及超越了原来对物联网中 Things 的定义,可以称之为 “Smart Things"。Smart Things 提供基于 CLIPS 编程语言的人工智能(AI)功能,以实现自我推理和自我监控。这项工作使用私链构建工具 Multichain 通过读写块中信息来达成 Smart Things 之间的通信。本文评估了 Edison Arduino 板上部署的 Smart Things 以及雾网络上部署的的 Multichain 网络。
I. 引言
物联网设备从现实世界感知和捕获数据,然而,它们缺乏足够的计算资源来处理和分析这些数据,只能把它们发送到云。如今,典型的 IoT 系统是一个以云为中心的架构,包括 Things, Services, Applications 三层,其中 Things 的作用仅仅是一个数据收集器。云的稳健性和灵活性使得数据处理高效且可靠,然而数据流到达云端的时间可能影响建立在数据之上的决策的准确性。
云结构的显著缺点是是传感器的单一作用和数据流的传输延迟,若要构建更为先进和高级的物联网系统,就需要在 Things 层使物联网设备具有一定的处理能力,因此引入了物联网中自治的概念。
物联网设备计算能力的提高使得执行自治任务成为可能。实现这一目的通过在 Things 层创建能够自我推理和自我监督的 Smart Things 来实现。
物联网系统中,管理地理上分布的设备必须是低延迟的,而云存储无法处理由终端设备产生的实时数据流。使用雾计算,把管理任务下移到物联网的边缘可以提升效率和减少延迟。一些研究提出了部署在雾网络上的虚拟解决方案,如虚拟传感器和网关。然而,这些方案都偏向于虚拟化独立的组件来避免物联网设备间的实时通信。但雾计算系统中设备间实时通信的需求是恒定存在的。本文通过建立在雾网络上的区块链,实现了 Smart Things 的实时通信的管理,实现的能力包括:
- 去中心化的通信管理
- 低延迟通信
- 实时通信
- Time-effective event management
以下,Section II 讨论物联网中的自治,Section III 介绍物联网中的专家系统,Section IV 讨论区块链协议,Section V 解释 Smart Things 架构,Section VI 给出实验结果和评估。最后一部分做总结。
II. 自治
自治指的是计算机能够监督和管理自己,系统应能够在没有人参与的情况下对未知事件做出反应。根据 Kephart 和 Chess 的研究,自治系统应满足如下原则
- 自我配置与重配置
- 自我优化
- 自我修复
- 自我保护
传统互联网背景下已经有一些关于自治系统的研究。IBM 有一种分层的自治计算框架。但在物联网背景下,自治系统还需要解决一些问题:
- 设备间异构
- 大量设备
- 计算能力限制
- 能耗限制
- 地理上分布
- 实时操作
更多的,根据场景的不同,物联网中的自治概念可以侧重于解决以上某种特定的问题。IBM 的结构是不少研究的基础,总的来说,物联网终端设备是资源,相关的中间件是管理者,它监督设备并根据当前状态执行操作。
ADEPT PoC 是物联网自治系统的另一个方案。和 IBM 的架构不同,它是混合和去中心化的,ADEPT 使用 Telehash 用于点对点通信,使用 BitTorrent 用于分布式文件共享,使用 Ethereum 区块链用于自治设备的协作比如存储设备配置和身份认证。
ADEPT PoC:The Autonomous Decentralized Peer-to-Peer Telemetry Proof of Concept
III. 专家系统
专家系统的概念都熟悉。这里主要是介绍 CLIPS 是一种开发专家系统的编程语言,由 NASA 开发,用 C 编写完成,多平台支持。
CLIPS:The C’ Language Integrated Production System
IV. 区块链
熟悉,略过
V. Smart Things 架构
使用 ADEPT PoC 方案构建的自治系统由两部分组成:Smart Things 和区块链协议。
Smart Things
一个 Smart Things 是一个软件定义的物联网设备,能够分析当前状态,监视可能的改变和推断知识。主要目标是通过直接在物联网设备上开发人工智能(AI)功能,在 Things 层中保持监控和决策。一个 Smart Thing 由三部分组成:
Reader
作用是从环境中感知数据,然后发给 Self-C. resource
Self-Inferencing resource
集成了基于 CLIPS 的专家系统,在开始时会声明一组初始规则和事实 (fact),之后基于这些预先配置的规则进行 AI 推理。接收到的数据会转换为事实然后插入到系统的事实列表,系统分析这些事实并执行操作,最后把分析结果发给 Self-monitoring resource.
Self-Monitoring Resource
从 Self-Inferencing resource 接收结果并评估。根据专家系统的规则和推理过程决定是否把数据发送到区块链从而分发到 Things 层。
以上三部分都使用 Go 语言编程。使用 RESTful 微服务进行通信。
私链构建工具 Multichain
使用 Multichain 管理 Smart Things 间的通信,因为是私链,所以只有预先注册的成员能访问区块链。Multichain 执行的共识算法是轮询(Round Robin, RR)调度算法。每个块必须有创建者签名。块的创建者必须等一个固定的时间才能创建新块。
Multichain 部署在雾网络中,靠近 Things 层。和 Smart Thing 中的 Self-Monitoring Resource 交互。它接收并存储数据,并扩散到整个网络的所有节点,所以节点能够实时的获知决策结果。
VI. 实验与评估
评估 Smart Things 和 Multichain 区块链
评估 Smart Things
使用 Edison Arduino 开发板评估 Smart Things 的性能。在该板上运行 Smart Thing 的三部分组件。从环境中获取温度值 1000 并发送到专家系统。
每个请求都会使用 AES 进行加密,由专家系统解密数据,把数据转化成 fact,插入 face 列表,推理,分析,最后把结果发给 Self-Monitoring resource。
在实验中加入不同的延迟间隔来测试不同请求级别下的 Smart Things 性能。这个延迟间隔指的是数据发送的延迟。结果表明,不同的延迟并不会影响 Smart Things 的性能。Smart Things 的平均响应时间是 1.7ms,所有的实验中,响应时间都大于 1.2ms。加密和解密时间包含在内,这也说明了该系统中提出的 Smart Things 的良好性能。
评估 Multichain
评估部署在雾网络中的 Multichain 的性能,实验中的 Multichain 有三个节点。开发板中的 Smart Things 做完推理分析后,发送 1000 个结果给区块链,每个请求都包含成员的身份验证信息,消息使用 AES 加密,同样,加密和解密的时间包含在实验结果中。
Multichain 的平均响应时间是 389ms。延迟不影响性能。这说明了区块链能够存储数据并分发到所有节点。同时,Multichain 对请求处理成功的概率是 98.47%。
结论和未来工作
自治由 Smart Things 完成,Smart Things 间的实时通信由区块链完成。总的来说,这项研究对物联网系统做了如下贡献:
- 设计开发 Smart Things,可实时完成自我推理和自我监督
- 在 CLIPS 上设计和开发专家系统,来执行数据分析和自我推理
- 设计并实现了集成区块链的雾网络,可与 Smart Things 实时通信,并将管理任务分配到 Things 层的边缘。
未来的工作侧重于评估不同开发板的 Smart Things😳

