边缘物联网:面向物联网的移动边缘计算

摘要

为了克服传统物联网架构的可扩展性问题(即分布式物联网设备产生的数据流通过互联网传输到远程云进行进一步分析),本文提出了一种面向物联网架构的新型移动边缘计算方法——edgeIoT,以在移动边缘处理数据流。具体而言,每个基站连接一个雾节点,该雾节点提供本地计算资源。在雾节点之上,设计了基于SDN的蜂窝核心网,以促进雾节点之间的数据包转发。同时,我们在每个雾节点中提出一种分层雾计算架构,在保证用户隐私的同时提供灵活的物联网服务:每位用户的物联网设备均关联一个代理虚拟机(位于雾节点中),该代理虚拟机负责收集、分类和分析设备的原始数据流,将其转换为元数据,并将元数据传输给相应的应用虚拟机(由物联网服务提供商拥有)。每个应用虚拟机接收来自不同代理虚拟机的相应元数据,并向用户提供其服务。此外,还提出了一种新颖的代理虚拟机迁移方案,以最小化基于SDN的核心网中的流量。

引言

如今,大量智能设备和物体都嵌入了传感器,使其能够感知来自环境的实时信息。这一现象催生了一个引人入胜的概念——物联网(IoT),即所有智能事物(如智能汽车、可穿戴设备、笔记本电脑、传感器以及工业和公用组件)通过网络的网络连接起来,并借助不断发展的数据分析技术,彻底改变我们的工作、生活和娱乐方式。在过去几年中,许多初创企业已在智能家居/建筑、智慧城市、智能医疗、智能交通、智能环境等领域采纳并实现了物联网的概念。尽管物联网有潜力惠及整个社会,但仍有许多技术问题有待解决。

首先,物联网设备产生的数据流具有高容量和高速度的特点(欧盟委员会预测到2020年,将有500亿到1000亿台智能设备连接到互联网。此外,思科预测,到2019年,连接到互联网的设备将产生每年507.5泽字节的数据。与此同时,由于云中灵活高效地提供资源,在传统物联网架构中,来自分布式物联网设备的大规模物联网数据通过互联网传输到远程云——即用于处理大数据的智能“大脑”,如图1所示。然而,互联网在处理大规模物联网数据方面不具备足够的可扩展性和效率。同时,传输大量数据成本高昂,消耗大量的带宽、能源和时间。其次,由于大规模物联网数据流以高容量和高速度传输至云端,因此有必要设计一种高效的数据处理架构,以实时挖掘有价值的信息。

第三,用户隐私仍然是一个具有挑战性的未解问题:为了获得服务和利益,用户需要与物联网服务提供商共享其感知数据,而这些感知数据可能包含用户的个人信息。因此,设计一种数据共享框架至关重要,使用户在获取物联网服务的同时,其隐私也能得到保障。本文提出了一种高效且灵活的物联网架构——边缘物联网(edgeIoT),利用雾计算和软件定义网络(SDN)在移动边缘对物联网数据流进行收集、分类和分析。本文的主要贡献如下:
• 我们通过将计算资源靠近物联网设备,提出了边缘物联网(edgeIoT),以减轻核心网络的流量负担,并最小化计算资源与物联网设备之间的端到端延迟。
• 我们设计了一种分层雾计算架构,为每位用户以及每个物联网服务提供商提供灵活可扩展的计算资源共享。
• 我们提出并评估了一种新颖的代理虚拟机(VM)迁移方案,以最小化核心网络中的流量。

本文的其余部分结构如下:我们介绍一种新的物联网移动边缘计算架构(即边缘物联网),并解释其高效性和灵活性;我们揭示设计边缘物联网架构所面临的挑战,并提出一些可能的解决方案;最后对文章进行总结。

示意图0

物联网的移动边缘计算

雾计算被定义为一种分布式计算基础设施,包含一组彼此连接良好的高性能物理机(PM),是一种将计算能力推向分布式物联网设备的新兴计算范式。因此,在网络中部署多个雾节点可以就地收集、分类和分析原始物联网数据流,而无需将其传输到云,这能显著减轻核心网络的流量,并有可能加速物联网大数据处理过程。然而,在何处部署雾节点以促进物联网设备与雾节点之间的通信仍是一个开放问题。最优的雾计算部署应确保每个物联网设备都能以低端到端延迟访问计算能力,且不会显著增加核心网络的流量。由于物联网设备具有移动性和异构性特征,雾节点的部署优化十分困难。例如,可穿戴设备和手机会随着时间发生移动,不同物联网设备具有不同的数据传输需求,即一些非敏感能耗设备(如手机和监控设备)需要高速数据速率,而一些敏感能耗设备(如传感器节点)则需要低速且低能耗的数据传输。物联网设备之间异构的数据传输需求导致不同设备采用不同的无线接入技术。

蜂窝网络中的多接口基站

大量已部署在移动网络中的基站(BS)提供了高无线覆盖。因此,分布式基站有望连接所有物联网设备,无论它们是移动的还是静态的。为了支持物联网设备不同的数据传输需求,每个基站可配备多个无线接口,如图2所示,以支持新兴的基于物联网的无线通信技术,例如Zigbee、带中继的设备到设备(D2D)通信、蓝牙低功耗、毫米波和大规模多输入多输出(MIMO)通信、低功耗广域技术以及窄带物联网通信。因此,多接口基站可被视为一种无线网关聚合来自本地物联网设备的所有原始数据流。因此,一种可能的部署方式是将每个基站连接到一个雾节点,以处理聚合后的原始数据流。

示意图1

EdgeIoT架构

图3展示了所提出的边缘物联网(edgeIoT)。雾节点的位置具有灵活性:雾节点可以通过高速光纤直接连接到基站(BS),以最小的端到端延迟传输本地数据流;或者可以部署在蜂窝核心网络的边缘,使得不同的基站可以共享同一个雾节点来处理其本地数据流。与传统的蜂窝核心网络相比,传统方式会导致数据包转发和服务质量(QoS)管理效率低下、不灵活且难以扩展,因此引入了基于SDN的蜂窝核心网。在基于SDN的蜂窝核心网中采用OpenFlow交换机,将所有控制功能从数据转发功能中分离出来。所有的交换机以及基站均由OpenFlow控制器通过OpenFlow协议进行控制。OpenFlow控制器负责管理基站和OpenFlow交换机的转发平面,监控数据平面的流量,并建立用户会话。此外,它还向网络管理运营商提供应用程序编程接口(APIs),以便灵活地添加、删除和修改各种网络功能,例如移动性管理、用户认证、授权与计费、网络可视化以及QoS控制。

每个雾节点都具备通过互联网访问云的能力,以提供计算可用性和灵活的应用服务部署。也就是说,当雾节点没有足够的计算资源来处理其本地数据流时,它们可以将计算工作负载卸载到云上,但会消耗更多的网络资源并导致更高的通信延迟。此外,物联网应用可以部署在本地雾节点或远程云中,以向用户提供服务。灵活的应用服务部署将在后文详细说明。

示意图2

分层雾计算架构

用户设备生成的大部分数据包含个人信息,例如手机和智能汽车拍摄的照片/视频、GPS信息、可穿戴设备感知的健康信息以及智能家居状态感知由智能家居中部署的传感器生成的数据。分析如此庞大的数据不仅有利于用户自身,也有利于整个社会。例如,通过分析设备拍摄的照片/视频可以识别和追踪恐怖分子。具体而言,应用提供商将恐怖分子的照片发送到每个雾节点,每个雾节点在本地执行人脸匹配,将恐怖分子的照片与本地设备拍摄的照片/视频进行比对。如果匹配成功,雾节点会将相应的照片/视频上传至云进行进一步处理。因此,似乎用户必须共享其个人数据才能提供此类服务。主要挑战在于提供此类服务时如何保护用户隐私。

为应对这一挑战,我们提出了一种分层的雾计算架构。如图4所示,每个用户1都关联一个代理虚拟机,该代理虚拟机被视为用户的私有虚拟机(位于附近的雾节点中),可提供灵活的计算和存储资源。属于该用户的物联网设备会注册到其代理虚拟机,后者通过多接口基站收集其注册设备产生的原始数据流,根据数据类型将这些数据流分类(即对原始数据流进行结构化),通过分析相应的数据流生成元数据,并将元数据发送到对应的应用虚拟机。需要注意的是,元数据包含从原始数据流中提取的有价值的信息,且不侵犯用户隐私。例如,在恐怖分子检测应用中,仅上传匹配的照片/视频的位置和时间戳,而非原始照片/视频本身,至应用虚拟机。应用虚拟机由物联网服务提供商拥有,为各个代理虚拟机提供用于生成元数据的语义模型(例如,恐怖分子检测应用中的人脸识别算法),接收来自不同代理虚拟机的元数据,并向用户提供服务。

例如,通过分析来自不同代理虚拟机的元数据,所有恐怖分子都将被识别、追踪和逮捕,从而保护我们的社会。

代理虚拟机的位置可以是动态的:如果注册的设备是静态部署的(例如,智能家居中的传感器),则代理虚拟机也可以在附近的雾节点中保持静态;如果部分注册设备是移动的(例如,用户的手机和可穿戴设备从家中移动到工作场所),如图5所示,用户的代理虚拟机可以拆分为两个代理虚拟机:一个代理虚拟机继续为静态物联网设备(在家中的设备)提供服务,另一个代理虚拟机则随着移动物联网设备的漫游而迁移到其他雾节点。代理虚拟机迁移的目的是最小化蜂窝核心网络的流量(即将移动设备的原始数据流上传到雾节点中的代理虚拟机)以及用户移动物联网设备与其代理虚拟机之间的端到端延迟。

代理虚拟机分解是指将原始的代理虚拟机去整合为两个独立的代理虚拟机,每个代理虚拟机服务于原始代理虚拟机中已注册物联网设备的一个子集(即每个代理虚拟机包含其所服务物联网设备的配置文件和语义模型);相反,代理虚拟机合并是指将属于同一用户的两个代理虚拟机整合为一个代理虚拟机,该代理虚拟机服务于原两个代理虚拟机中的所有已注册物联网设备。此外,代理虚拟机迁移涉及将整个代理虚拟机(包含已注册物联网设备的配置文件、语义模型以及最近的感知数据)从源物理机迁移到目标物理机。代理虚拟机合并/分解过程始终会调用代理虚拟机迁移过程。

应用虚拟机的位置也是动态且灵活的:每个应用虚拟机都可以以本地模式、远程模式或附加模式进行部署。

示意图3

本地应用虚拟机部署指的是在雾节点中部署一个应用虚拟机,用于分析由本地代理虚拟机生成的元数据;例如,在ParkNet应用中,该应用帮助用户在城市区域寻找可用停车位,每个本地代理虚拟机收集其智能汽车的感知数据流(注意每辆智能汽车配备了一个GPS接收器和一个面向乘客侧的超声波测距仪,以生成位置和停车位占用信息),并生成标识可用停车位的元数据发送给应用虚拟机。应用虚拟机将通知并分配可用停车位给本地的智能汽车。

远程应用虚拟机部署指的是将应用虚拟机部署在远程云中,以分析来自不同雾节点的代理虚拟机生成的元数据。当应用虚拟机需要大范围区域的信息时,例如交通重新路由应用,这种部署是必要的。具体而言,该应用的目标是检测交通热点,并为用户选择最佳路径(即最短到达时间)。为了检测交通热点,每辆智能汽车都配备了传感器,用于测量车辆的位置和车速。感知数据流被传输到代理虚拟机,由其对数据流进行本地分析,并生成反映位置交通拥堵程度的元数据。远程云中的中央服务器接收来自代理虚拟机的元数据,并为每个用户选择最佳路线。

插件应用虚拟机部署(即事件触发的应用虚拟机部署)意味着某些事件可以在本地创建应用虚拟机,例如恐怖分子检测应用和寻找失踪儿童应用。当特定区域内报告了失踪儿童或恐怖活动检测等事件时,这些应用需要识别并追踪失踪儿童或恐怖分子。随后,这些应用将在该区域的每个雾节点中创建,并请求每个雾节点中的代理虚拟机运行人脸识别算法,用于将代理虚拟机注册设备最近拍摄的照片/视频与失踪儿童/恐怖分子的照片进行比对,若发现匹配,则返回照片/视频的位置和时间戳。

如何实现边缘物联网应用

如果用户对某个物联网应用(例如ParkNet应用)感兴趣,他们可以在自己的智能汽车/手机上下载并安装该应用。相应地,用户的代理虚拟机将安装由ParkNet应用提供的语义模型(该模型基于感知数据计算可用停车位),并且用户代理虚拟机中的语义模型将被授权访问其智能汽车中配备的GPS接收器和面向乘客侧的超声波测距仪所产生的感知数据。作为回报,用户可以通过ParkNet应用请求查找并预约可用停车位。

实施边缘物联网的挑战

物联网设备与其代理虚拟机之间的关联

最初,每个用户的物联网设备应由其代理虚拟机进行识别/注册。代理虚拟机应知晓该用户所有设备的ID及其相应的特性(即静态或移动设备、智能传感器感知数据或执行器响应动作、感知数据的类型等)。另一方面,用户的物联网设备也应获知代理虚拟机的ID,以便传感器设备可将私有信息传输至正确的代理虚拟机,或执行器设备可从正确的代理虚拟机接收指令。

每个移动物联网设备的代理虚拟机可能会因分解/组合过程而随时间变化。因此,当触发分解/组合过程时,代理虚拟机需要通知其注册的移动物联网设备。

代理虚拟机移动性管理

当一个移动物联网设备从一个基站漫游到另一个基站时,应通过位置更新过程向移动性管理实体(MME)报告其新位置(即移动物联网设备位于该基站的覆盖范围内),MME是OpenFlow控制层中的网络管理操作员。移动性管理在边缘物联网中至关重要,因为代理虚拟机的分解/组合过程以及代理虚拟机迁移过程是由代理虚拟机所注册的物联网设备的位置决定的。代理虚拟机必须知晓其已注册的物联网设备的位置,以便通过物联网设备关联的基站与相应的物联网设备进行通信。

采用现有LTE网络中的移动性管理是一种解决方案;然而,它要求每个移动物联网设备都配备用于识别的SIM卡,并支持LTE网络中的位置更新协议,这种方式不具备可扩展性和经济性。

由于大多数物联网设备都与用户相连,一种替代方案是建立一个由移动物联网设备组成的本地集群网络(例如体域网)。用户的手机或其他可穿戴设备作为簇头,可被视为网关,用于上报网络中物联网设备的位置,并聚合这些设备的数据物联网设备的感知数据流,并将数据流上传至相应的代理虚拟机。请注意,簇头应具备定位能力,通过现有的无线定位技术(如基于WiFi的定位、LTE移动性管理以及蓝牙低功耗(BLE)信标定位)来确定其地理位置或关联的基站ID。簇头的位置代表了本地集群网络中所有成员的位置。

物联网设备迁移管理

如前所述,为了最小化物联网设备感知数据流上传的延迟并降低基于SDN的蜂窝核心网的流量负载,物联网设备的代理虚拟机可在雾节点之间进行分解和迁移。当物联网设备漫游进入新的基站覆盖区域时,并不一定需要迁移其代理虚拟机,因为某些代理虚拟机迁移无法降低延迟,反而会增加核心网络的流量负载。例如,如图5所示,某用户的移动物联网设备从基站1漫游到基站2,因此其代理虚拟机(记为代理虚拟机2)从原始代理虚拟机(记为代理虚拟机1)分解出来,并迁移到雾节点2。如果将代理虚拟机2从雾节点1迁移到雾节点2需要T个单位时间(注意:在迁移过程完成之前,移动物联网设备仍需通过基于SDN的蜂窝核心网将其原始数据流上传至代理虚拟机1),而移动物联网设备在迁移过程完成前已移出基站2的覆盖范围,则此次迁移显然不合适,因为它并未改善用户移动物联网设备与其代理虚拟机之间的端到端延迟,却增加了基于SDN的蜂窝核心网的流量负载(即,用户移动物联网设备产生的所有原始数据流仍需经过基于SDN的蜂窝核心网,此外迁移过程还引入了额外的流量)。

因此,每当用户的移动物联网设备漫游到新的基站时,有必要估算代理虚拟机在雾节点之间迁移的迁移收益。迁移收益表示为p,是定义为当用户移动物联网设备漫游到新的基站时,迁移与不迁移代理虚拟机情况下基于软件定义网络的核心网络总流量的减少量:p = Lstatic – Lmig,其中 Lmig 和 Lstatic 分别为迁移和不迁移时在基于SDN的核心网络中产生的总流量。Lmig 包含两部分:迁移流量以及迁移过程中代理虚拟机与其注册的物联网设备之间传输的总数据流:
$$ L_{mig} = T_{mig}(r_{mig} + r_{data}) $$
其中T为总迁移时间,r为迁移所需的平均带宽,rdata为用户移动物联网设备与其代理虚拟机之间传输数据流的平均数据速率。同时,Lstatic 表示移动物联网设备停留在新基站时,代理虚拟机与其注册的移动物联网设备之间传输的总数据流,即
$$ L_{static} = T_{BS} \cdot r_{data} $$
其中TBS为移动物联网设备留在新基站的停留时间。

显然,适当的代理虚拟机迁移意味着估计的迁移收益大于预定义值ε,即
$$ L_{static} - L_{mig} > \varepsilon $$
其中ε ≥ 0。因此,我们可以推导出
$$ T_{mig} < \frac{T_{BS} r_{data} - \varepsilon}{r_{mig} + r_{data}} \quad (1) $$

公式1表明,只有当迁移时间 $ T_{mig} $ 小于 $\frac{T_{BS} r_{data} - \varepsilon}{r_{mig} + r_{data}}$ 时,迁移才能使网络受益。

由于大约10%到30%的人类移动行为归因于他们的社会关系,而50%到70%则归因于周期性行为,我们认为,基于数学模型可以可靠地预测未来的人类移动行为。移动物联网设备通常附着在用户身上,因此,TBS的值是可预测的。同时,根据它们的历史轨迹,也可以估算出rmig和rdata的值。因此,该值
$$ \frac{T_{BS} r_{data} - \varepsilon}{r_{mig} + r_{data}} $$
可以可靠地估计。为了根据公式1评估迁移,还应预测迁移时间Tmig。

通常,代理虚拟机迁移过程包含多次迭代。在第一次迭代中,源代理虚拟机的所有内存都会被迁移到目标端。由于源代理虚拟机在此期间仍在为用户的物联网设备提供服务,其内存内容可能发生改变。因此,在第二次迭代中,第一次迭代期间产生的脏内存页将被传输到目标代理虚拟机。该迭代过程重复进行,直到某次迭代中产生的脏内存页数量小于预设阈值ς为止。随后,源代理虚拟机停止为其物联网设备提供服务,并将剩余的脏内存页传输至目标端;最终,目标代理虚拟机恢复对物联网设备的服务。因此,迁移时间应是迁移过程中的平均数据速率rmig、脏内存页平均生成速率rdir、初始代理虚拟机内存大小M以及阈值ς的函数,即 $ T_{mig} = f(r_{mig}, r_{dir}, M, \varsigma) $。根据[13]提出的模型,给定迁移过程中的平均传输速率,迁移时间可以被可靠地估计。

为了研究代理虚拟机迁移对核心网络总流量的影响,我们通过应用动态代理虚拟机迁移,评估了一天中蜂窝核心网络的总流量,并将其与静态代理虚拟机部署(即每个代理虚拟机在初始部署后不会在雾节点之间迁移)进行比较。为了模拟每个用户的行为,我们获取了数据轨迹。

示意图4

我们采集了中国黑龙江省超过13,000名用户的移动数据,并提取了他们在一天内的移动性信息。整个区域包含5962个基站(每个基站连接一个雾节点),在当天每分钟都监控每个用户的位置(即用户处于基站覆盖范围内)。同时,基于SDN的蜂窝核心网络可保证迁移过程中的平均传输速率为20 Mb/s(即rmig = 20 Mb/s)。每个用户的移动物联网设备与其用户绑定,并随时间以相同的平均数据速率rdata生成数据流。图6a显示了在一天内,当用户移动物联网设备与其代理虚拟机之间传输数据流的平均数据速率变化时,蜂窝核心网络中的总流量情况。显然,当rdata增加时,与静态代理虚拟机部署相比,采用动态代理虚拟机迁移可以减少基于SDN的蜂窝核心网络中的更多流量。然而,随着每个代理虚拟机的总内存容量(即M)增加,核心网络中的总流量也随之显著增加。这是因为当M的值增大时,迁移时间变得更长(即迁移会产生更多流量),因此更倾向于让更多的代理虚拟机保留在其原始雾节点中,以避免产生大量的迁移流量。

一种缓解核心网络流量负载(当M值较大时)的解决方案是在雾节点中预先分配用户代理虚拟机的副本。具体而言,代理虚拟机中的主要内存部分是语义模型和设备配置文件(这些在初始安装后不会动态更改)。因此,可以将移动物联网设备的语义模型副本预先分配到相应的雾节点中,这些雾节点所连接的基站通常是用户常访问的位置(例如用户的家和工作场所)。需要注意的是,我们进一步分析了上述用户的移动轨迹,发现每个用户主要停留在少数几个基站覆盖的区域;如图6所示,22%、86%、92%、93%、75%和65%的用户分别在一天中的90%、95%和99%的时间(即21.6、22.8和23.76小时)仅停留在四个位置。这一观察结果有助于我们确定每位用户物联网设备的适当副本数量和位置。因此,如果一个代理虚拟机需要迁移到另一个包含其副本之一的雾节点,则无需传输整个代理虚拟机的内存,而只需传输该代理虚拟机与其副本之间的差异,从而显著减少迁移时间和迁移流量。

;b) 统计的用户移动性轨迹的结果。)

能耗考虑

在网络边缘部署雾节点可能会增加处理物联网数据流的运营成本,相较于在集中式云中处理这些数据流(集中式云通过高效且灵活的资源和电力管理来最小化云的能耗)。然而,在所提出的EdgeIoT架构中引入绿色能源可以显著降低边缘物联网服务提供商的运营成本(即减少电网能源消耗)。

具体而言,每个雾节点可以由绿色能源和电网能源共同供电。当雾节点的绿色能源不足以满足其托管代理虚拟机的能源需求时,将首先消耗绿色能源,然后再使用电网能源。一些能源需求较低且生成较多绿色能源的雾节点会产生多余的绿色能源,而另一些能源需求较高且生成较少绿色能源的雾节点则需要消耗电网能源。因此,可以通过将代理虚拟机从消耗电网能源的雾节点迁移到拥有过剩绿色能源的雾节点,以进一步减少电网能耗。

结论

本文提出了一种新架构——edgeIoT,以在移动边缘高效处理由大规模分布式物联网设备产生的原始数据流。与传统物联网架构相比,所提出的EdgeIoT架构可显著减少核心网络中的流量负载以及物联网设备与计算资源之间的端到端延迟,从而促进物联网服务提供。此外,本文还提出了实现EdgeIoT架构过程中的三项挑战,并提供了潜在解决方案。

更多推荐