目录
前言
一、边缘计算
(一)为什么需要边缘计算
(二)什么是边缘计算
(三)边缘计算体系架构
(四)边缘计算的好处
二、案例分析
(一)云卸载
(二)视频分析
(三)智能家居
(四)智慧城市
三、边缘计算现状
(一)工业界
(二)学术界
四、挑战与机遇
(一)可编程性
(二)命名机制
(三)数据抽象
(四)服务管理
(五)隐私和安全
(六)优化指标
总结
前言
边缘计算面临着数据安全与隐私保护、网络稳定性等挑战,但同时也带来了更强的实时性和本地处理能力,为企业降低了成本和压力,提高了数据处理效率。因此,边缘计算既带来了挑战也带来了机遇,需要我们不断地研究和创新,以应对日益复杂的应用场景和技术需求
一、边缘计算
现在越来越多数据在网络边缘产生,因此,在网络的边缘处理数据会更有效率。之前的研究工作如微数据中心(micro datacenter )、cloudlet(微云)和雾计算(fog computing)已经被引入到社区中,因为当数据在网络的边缘产生时,云计算并不总能有效地处理数据。在很多情况下,边缘计算比云计算对某些计算服务更有效。在本节中将列出一些为什么在一些计算服务中边缘计算比云计算更高效的原因,然后给出对边缘计算的定义和理解。
(一)为什么需要边缘计算
1、从云服务推动
将所有的计算任务放到云上已经被证明是一种有效的数据处理方式,因为云上的计算能力远远超过了边缘事物的能力。然而,与高速发展的数据处理速度相比,网络的带宽却停滞不前。随着边缘生成的数据量增加,数据传输速度成为云计算的瓶颈。例如,一架波音787每秒钟将产生大约5GB的数据,但是飞机与卫星或地面基站之间的带宽不足以传输数据。以自动驾驶汽车为例。汽车每秒钟将产生1GB的数据,它需要实时处理车辆作出正确的决策。如果所有数据都需要发送到云进行处理,那么响应时间会太长。更不用说当前网络的带宽和可靠性将因其在一个地区支持大量车辆的能力而受到挑战。在这种情况下,需要在边缘处理数据,以缩短响应时间,提高处理效率,减小网络压力。
图1 云计算范式
2、从物联网推动
几乎所有的电子设备都将成为物联网的一部分,它们将扮演数据制造者和消费者的角色,比如空气质量传感器、LED条、路灯,甚至是联网的微波炉。可以有把握地推断,在网络边缘的事物数量将在几年内发展到数十亿以上。因此,它们产生的原始数据量将是巨大的,使得传统的云计算无法有效地处理所有这些数据。这意味着物联网产生的大部分数据将永远不会传输到云端,而是在网络的边缘消耗。
如图1,如蓝色实线所示,数据生产者生成原始数据并将其传输到云上,数据消费者向云发送使用数据的请求。红色的虚线表示对从数据用户发送到云的消费数据的请求,绿色的虚线表示来自云的结果。然而,这种结构对物联网来说是不够的。首先,边缘的数据量过大,会导致大量不必要的带宽和计算资源的使用。其次,隐私保护要求将对物联网中的云计算构成障碍。最后,物联网中的大多数终端节点的事物经受不起过大的能耗,而无线通信模块通常非常耗能,因此将某些计算任务分散到边缘进行计算可能是一种更节能计算方式。
3、从数据消费者转变为生产者
在云计算中,处于边缘的终端设备通常充当数据消费者的角色,例如,在智能手机上观看YouTube视频。但是,如今人们也从他们的移动设备生成数据。从数据消费者到数据生产者的转变需要在边缘放置更多功能。例如,现在人们拍照或录制视频,然后通过YouTube、Facebook、Twitter或Instagram等云服务分享数据是很平常的。此外,YouTube用户每分钟上传72小时的新视频内容;Facebook用户分享了近250万条内容;推特用户发布推文近30万次;Instagram用户发布了近22万张新照片。然而,图像或视频剪辑的计算可能相当大,它将占用大量的上传带宽。在这种情况下,在上传到云端之前,视频应该在边缘被剪辑和调整到合适的分辨率。另一个例子是可穿戴健康设备。由于网络边缘收集的物理数据通常是隐私的,所以在边缘处处理数据可以比将原始数据上传到云更好地保护用户隐私。
图2 边缘计算流程
(二)什么是边缘计算
边缘计算是一种使能技术,它可以在网络边缘对物联网服务的上行数据及云服务的下行数据进行计算。其核心理念是:计算应该更靠近数据的源头,可以更加贴近用户。边缘计算中的“边缘”是指从数据源到云计算中心路径之间的任意计算、存储和网络资源。例如,智能手机是个人与云端之间的“边缘”,智能家居中的网关是家庭设备与云端之间的“边缘”,微数据中心和cloudlet是移动设备与云端之间的“边缘”。边缘计算的基本原理是计算应该发生在接近数据源的地方。在我们看来,边缘计算与雾计算(fog computing)是类似的,但是边缘计算更侧重于“物”方面,而雾计算更侧重于基础结构方面。我们认为边缘计算可以像云计算一样对我们的社会产生巨大的影响。
图2说明了边缘计算中的双向计算流。在边缘计算范式中,物不仅是数据消费者,而且是数据生产者。在网络边缘,这些物不仅可以从云端请求服务和内容,还可以从云端执行计算任务。网络可以进行计算卸载、数据存储、缓存和处理,以及从云端向用户分发请求和交付服务。为此需要对网络边缘进行合理地设计,满足安全性,可靠性及隐私保护的需求。
(三)边缘计算体系架构
边缘计算通过在终端设备和云之间引入边缘设备,将云服务扩展到网络边缘。边缘计算架构包括终端层、边缘层和云层。接下来我们简要介绍边缘计算体系架构中每层 的组成和功能。
1、终端层
终端层是最接近终端用户的层,它由各种物联网设备组成,例如传感器、智能手机、智能车辆、智能卡、读卡器等。为了延长终端设备提供服务的时间,则应该避免在终端设备上运行复杂的计算任务。因此,我们只将终端设备 负责收集原始数据,并上传至上层进行计算和存储。终端层连接上一层主要通过蜂窝网络。
2、边缘层
边缘层位于网络的边缘,由大量的边缘节点组成,通常包括路由器、网关、交换机、接入点、基站、特定边缘服务器等。这些边缘节点广泛分布在终端设备和云层之间,例如咖啡馆、购物中心、公交总站、街道、公园等。它们能够对终端设备上传的数据进行计算和存储。由于这些边缘节点距离用户距离较近,则可以为运行对延迟比较敏感的应用,从而满足用户的实时性要求。边缘节点也可以对收集的数据进行预处理,再把预处理的数据上传至云端,从而减少核心网络的传输流量。边缘层连接上层主要通过因特网。
3、云层
云层由多个高性能 服务器和存储设备组成,它具有强大的计算和存储功能,可以执行复杂的计算任务。云模块通过控制策略可以有效地管理和调度边缘节点和云计算中心,为用户提供更好的服务。
(四)边缘计算的好处
在边缘计算中,我们希望利用靠近数据边缘的设备来完成相关计算。与传统的云计算相比,这有几个好处。 在这里使用研究社区的一些早期实验结果来证明边缘计算潜在的好处。研究人员在相关研究中构建了一个概念验证平台来运行人脸识别应用程序,并且通过将计算从云端移动到边缘,响应时间从900ms减少到169ms。Ha等人使用微云(cloudlet)来为穿戴式认知辅助设备分担计算任务,结果显示响应时间提高了80 - 200ms。此外,cloudlet offloading还可以减少30%-40%的能耗。在研究中的clonecloud组合了分区,迁移和合并以及按需实例化移动设备和云之间的分区,其原型可以为测试应用程序减少20倍的运行时间和能耗。
二、案例分析
在本节中将给出几个案例研究,在这些案例中,边缘计算可以发挥作用,以进一步说明对边缘计算的设想。
(一)云卸载
在云计算中大部分计算都发生在云端,也就是说数据和请求都在集中的云端处理。然而,这样的计算模式可能会导致较长的延迟(如长尾延迟),从而降低用户体验。在移动云环境中,许多研究已经从以下方面解决了云卸载的问题。在传统的内容分发网络中,数据都会缓存到边缘结点,随着物联网的发展,数据的生产和消费都是在边缘结点,也就是说边缘结点也需要承担一定的计算任务。把云中心的计算任务卸载到边缘结点这个过程叫做云卸载。举个例子,移动互联网的发展,让我们得以在移动端流畅的购物,我们的购物车以及相关操作(商品的增删改查)都是依靠将数据上传到云中心才能得以实现的。如果将购物车的相关数据和操作都下放到边缘结点进行,那么将会极大提高响应速度,增强用户体验。通过减少延迟来提高人与系统的交互质量。
(二)视频分析
移动电话和网络摄像头的广泛使用使得视频分析成为一项新兴技术。由于较长数据传输延迟和隐私问题,云计算不再适合需要视频分析的应用程序。这里我们举一个在城市里寻找走失儿童的例子。如今,不同种类的摄像机被广泛地部署在城市区域和每辆车中。当有儿童失踪时,摄像头很有可能拍到这个孩子。然而,由于隐私问题或流量成本的原因,摄像头的数据通常不会上传到云端,这使得利用广域摄像头的数据非常困难。即使数据可以在云端访问,但上传和搜索大量数据可能需要很长的时间,这对于搜索一个失踪的孩子来说是不可容忍的。通过边缘计算模式,可以从云端产生搜索孩子的请求,并推送给目标区域的所有事物。每一个事物,例如智能手机,都可以执行请求并搜索其本地的摄像头数据,只将结果报回云端。在这种模式下,可以利用每个事物上的数据和计算能力,与单机云计算相比,可以更快地得到结果。
(三)智能家居
物联网将大大改善家庭环境。一些产品已经开发出来并投放市场,如智能灯、智能电视和机器人吸尘器。然而,仅仅在现有的电子设备上增加一个Wi-Fi模块,并将其连接到云端,对于一个智能家庭来说是不够的。在智能家居环境中,除了连接设备,廉价的无线传感器和控制器应该部署在房间、管道、甚至地板和墙壁上。这些事物会产生惊人的数据量,出于对数据运输压力和隐私保护的考虑,这些数据大多需要直接在本地使用。这就使得云计算不再适合智能家居,取而代之的将会是边缘计算。通过在家庭网关上运行边缘操作系统(EdgeOS),家庭设备可以连接到网关,然后部署相关服务进行统一管理。
图3的结构显示了智能家居中的一种EdgeOS结构。EdgeOS可以通过Wi-Fi,蓝牙,ZigBee,蜂窝网络等收集屋内的各种数据。不同数据源会在数据抽象层进行融合。数据抽象层上面是服务管理层。这一层需要支持可区分性(Differentiation), 可扩展性(Extensibility),隔离(Isolation),可靠性(Reliability)。
图3 智能家居环境中edgeOS的结构
(四)智慧城市
边缘计算应用可以从家庭扩展到社区,甚至扩展到城市。边缘计算表示计算应该尽可能地靠近数据源。通过这种设计,一个请求可以从计算范式的顶端产生,并在边缘进行实际处理。考虑到以下特点,边缘计算可以成为一个理想的智慧城市平台。
1、大数据量
到2019年,100万人口的城市将每天产生180个PB数据,包括公共安全、健康、公用事业和交通运输等。建立集中式的云数据中心来处理所有的数据是不现实的,因为流量工作量太大了。在这种情况下,通过处理网络边缘的数据,边缘计算可能是一种有效的解决方案。
2、低延迟
对于需要可预测和低延迟的应用,如卫生应急或公共安全,边缘计算也是一个合适的范例,因为它可以节省数据传输时间,并简化网络结构。边缘计算可以节省数据传输时间,简化网络结构,是一种合适的计算模式。
3、位置感知
对于基于地理的应用程序,如交通和公用事业管理,由于位置感知,边缘计算超过了云计算。边缘计算可以根据地理位置对数据进行收集和处理,而不需要将数据传输到云端。
4、协作边缘
可以说,云计算已经成为学术界和工业界处理大数据事实上的计算平台。云计算一个关键概念是数据应该已经存储或正在传输到云中,并且最终将在云中进行处理。然而,在许多情况下,由于隐私问题和数据传输的巨大成本,利益相关者所拥有的数据很少相互分享。因此,多个利益相关者之间合作的机会是有限的。边缘作为一个具有数据处理能力的连接云和终端用户的物理小型数据中心,也可以作为逻辑概念的一部分。协作边缘将地理分布的多个利益相关者的边缘连接起来,尽管他们的物理位置和网络结构是研究提出的。那些类似临时连接的边缘为利益相关者提供了共享和协作数据的机会。
图4 图协作边缘示例
在不久的将来,一个非常有价值的应用是可连接医疗健康应用,如图4所示。地理分布式数据处理应用的需求,即医疗健康,需要企业间多领域的数据共享和协作。为了应对这一挑战,协作边缘可以通过创建虚拟共享数据视图来融合地理上分布的数据。虚拟共享数据通过预定义的服务接口公开给最终用户。应用程序将利用这个公共接口为最终用户组合复杂的服务。这些公共服务由协作边缘的参与者提供,计算只发生在参与者的数据设施中,以确保数据的保密性和完整性。为了展示协作边缘的潜在优势,我们以互联医疗作为案例研究。我们以一次流感爆发作为案例研究的开始。患者到医院就诊,患者的电子病历(EMR)将被更新。医院对此次疫情的平均费用、症状、人群等信息进行总结和分享。从理论上讲,一个病人会按照处方去药店买药。一种可能是患者没有遵循治疗。那么,由于医院无法得到病人没有服药的证据,医院就必须承担病人康复的责任。现在通过协作边缘药房可以向医院提供患者的购买记录,这极大地促进了医疗责任制。
与此同时,药房利用医院提供的协作边缘服务检索流感爆发人群。一个明显的好处是药店有足够的库存来获得更多的利润。在药品采购的背后,药房可以利用制药公司提供的数据,检索所有药品仓库的位置、价格和库存。它还向物流公司发送一个转运价格查询请求。然后,药店根据检索到的信息,解决总成本优化问题,制定订单计划。制药公司还从药店收到一堆流感药物订单。在这一点上,制药公司可以重新安排生产计划和重新平衡仓库的库存。同时,作为政府代表的疾病控制和预防中心,正在监测大范围内不断增加的流感人口,因此可以向相关地区的人们发出流感警报。此外,还可以采取进一步的行动,防止流感疫情的蔓延。
流感爆发后,保险公司必须根据保险单为病人买单。保险公司可以分析流感爆发期间流感患者的比例。这一比例和流感治疗费用是调整明年政策价格的重要因素。此外,如果患者愿意共享,保险公司还可以根据其EMR提供个性化的医疗保险策略。通过这个简单的案例,大多数参与者可以从协作边缘中获益,从而降低运营成本,提高盈利能力。
三、边缘计算现状
目前,边缘计算的发展仍然处于初期阶段。随着越来越多的设备 联网,边缘计算得到了来自工业界和学术界的广泛重视和一致认可。本节中主要从工业界和学术界的角度介绍边缘计算的现状。
(一)工业界
在工业界中,亚马逊、谷歌和微软等云巨头正在成为边缘计算领域的领先者。亚马逊的AWS Greengrass 服务进军边缘计算领域,走在了行业的前面。AWS Greengrass将AWS扩展到设备上,这样本地生成的数据就可以在本地 设备上处理。微软在这一领域也有大动作,该公司计划未来4年在物 联网领域投入50亿美元,其中包括边缘计算项目。谷歌宣布了2款新产品,意在帮助改善边缘联网设备的开发。它们分别是硬件芯片Edge 张量处理单元(TPU)和软件堆栈 Cloud 物联网(IoT)Edge。涉足边缘计算领域的并不只是这3大云巨头。2015年,思科、ARM、英特尔、微软、普林斯顿大学联合成立了开放雾计算(OpenFog)联盟;2016 年11月30日,在北京正式成立了产学研结合的边缘计算产业合作平台,推动运行技术(OT)和信息与通 信技术(ICT)产业开放协作,引领边缘计算产业蓬勃发展,深化行业数字化转型。
(二)学术界
学术界也展开了关于边缘计算的研究,边缘计算顶级年会电气和电子工程师协会(IEEE)/国际计算机协会(ACM)边缘计算研讨会(SEC)、IEEE 国际分布式计算系统 会议(ICDCS)、国际计算机通信会议(INFOCOM)等重大国际会议都 开始增加边缘计算的分会和专题研 讨会。涉及主要关键技术及研究热点如下:
1、计算卸载
计算卸载是指终端设备将部分或全部计算任务卸载到资源丰富的边缘服务器,以解决终端设备在资源存储、计算性能以及能效等方面存在的不足。计算卸载的主要技术是卸载决策。卸载决策主要解决的是移动终端如何卸载计算任务、卸载多少以及卸载什么的问题。根据卸载决策的优化目标将计算卸载分为以降低时延为目标、以降低能量消耗为目标以及权衡能耗和时延为目标的3种类型。
2、移动性管理
边缘计算依靠资源在地理上广泛分布的特点来支持应用的移动性,一个边缘计算节点只服务周围的用户。云计算模式对应用移动性的支持则是服务器位置固定,数据通过网络传输到服务器,所以在边缘计算中应用的移动管理是一种新模式。主要涉及2个问题:资源发现,即用户在移动的过程中需要快速发现周围可以利用的资源,并选择最合适的资源。边缘计算的资源发现需要适应异构的资源环境,还需要保证资源发现的速度,才能使应用不间断的为用户提供服务。另一个问题是资源切换,即当用户移动时,移动应用使用的计算资源可能会在多个设备间切换。资源切换要将服务程序的运行现场迁移,保证服务连续性是边缘计算研究的一个重点。一些应用程序期望在用户位置改变之后继续为用户提供服务。边缘计算资源的异构性与网络的多样性,需要迁移过程自适应设备计算能力与网络带宽的变化。作者通过选择性地将虚拟机迁移到最佳位置来优化迁移增益和迁移成本间的权衡。除了以上2个关键技术,边缘计算研究热点还包括网络控制、内容缓存、内容自适应、数据聚合以及安全卸载等问题。在网络控制方面,提出了一种有效的工作负载切片方案,用户使用软件定义网络处理多边缘云环境中的数据密集型应用程序。在内容缓存方面,提出了一种用于自动驾驶服务的两级边缘计算框架,以便充分利用无线边缘的智能来协调内容传输。在内容适应方面,介绍了一种用于在多用户移动网络中优化基于HTTP的多媒体传送的新颖架构。在数据聚合方面,提出了混合整数规划公示和算法,用于物联网边缘网络中传感器测量数据的能量最优路由和多宿聚合问题,以及联合聚合和传播。在安全卸载方面,提出了一种名为MECPASS的新型协作DoS防御架构,以减轻来自移动设备的攻击流量。
四、挑战与机遇
在上一节中描述了边缘计算的五种潜在应用场景。为了实现边缘计算的愿景,我们认为系统和网络社区需要协同工作。在本节中,我们将进一步详细总结这些挑战,并提出一些值得进一步研究的潜在解决方案和机会,包括可编程性、命名、数据抽象、服务管理、隐私和安全性以及优化度量。
(一)可编程性
在云计算中,用户编写代码并将其部署到云上。云提供商负责决定在云中的何处执行计算。用户对应用程序的运行方式一无所知或只知道一部分。这是云计算的好处之一,即基础设施对用户是透明的。通常,程序是用一种编程语言编写的,并针对特定的目标平台进行编译,因为程序只运行在云上。但是,在边缘计算中,计算是从云中进行的,边缘节点很可能是异构平台。在这种情况下,这些节点的运行时各不相同,程序员在编写可能部署在边缘计算范式中的应用程序时面临巨大困难。
(二)命名机制
在边缘计算中,一个重要的假设是事物的数量非常大。在边缘节点的顶部,有许多应用程序正在运行,并且每个应用程序都有其有关如何提供服务的结构。与所有计算机系统一样,边缘计算中的命名方案对于编程、寻址、事物识别和数据通信都非常重要。然而,尚未建立和标准化用于边缘计算范例的有效命名机制。边缘从业人员通常需要学习各种通信和网络协议,以便与系统中的异构事物进行通信。边缘计算的命名机制需要处理事物的移动性、高度动态的网络拓扑、隐私和安全保护,以及针对大量不可靠事物的可扩展性。
传统的命名机制,如DNS和统一资源标识符,能很好地满足目前大多数网络的需求。但是,它们的灵活性不足以为动态边缘网络提供服务,因为有时边缘的大多数事物可能具有高度的移动性,而且受到资源限制。此外,对于网络边缘的一些资源受限的事物,考虑到其复杂性和开销,基于IP的命名机制可能过于庞大而难以支持。
新的命名机制如命名数据网络(NDN)及MobilityFirst可以应用在边缘计算中。NDN提供了一种分层命名结构,它拥有很好的扩展性,良好的可读性,便于服务管理。但是为了适合其它通信协议如蓝牙,Zigbee等,还需为其添加额外的代理。NDN的另一个问题是安全性,因为很难将设备硬件信息与服务提供者分离开来。为了提供更好的移动支持能力,MobilityFirst可以将名字与网络地址分隔开,不过需要使用全球唯一标识符(GUID)。MobilityFirst的另一个缺点是不便于服务管理,因为GUID的可读性不好。
图5 edgeOS中的命名机制
对于比较小的固定边缘,如家庭环境,可以通过EdgeOS为每个设备分配网络地址。在一个系统中,每个设备都有唯一的一个人类可读的名字,它描述了下列信息:位置,角色,数据描述。例如“厨房.微波炉.温度”。如图5所示,EdgeOS会为其分配相应的标识符及地址。每个物体都有一个唯一的人类可读的名字,从而便于服务管理,物体判断,部件更换。这种命名机制对于用户和服务提供者来说都是十分方便的。例如用户会从EdgeOS接收到诸如“卧室天花板上的灯坏掉了”之类的信息,这样用户可以直接更换灯泡,不需要查找错误代码或者为灯泡重新配置网络地址。这种命名机制为服务提供者提供了更好的可编程性,屏蔽了硬件信息,从而更好地保护数据隐私及安全。唯一标识符与网络地址可以与人类易读的名字一一对应。EdgeOS使用标识符进行物体管理。网络地址如IP地址或MAC地址可以用来支持各种通信协议,如蓝牙,WIFI,Zigbee等等。
图6 边缘计算的数据抽象问题
(三)数据抽象
EdgeOS上运行着各种应用,每种应用借助服务管理层API提供特定的服务。在无线传感器网络和云计算范式中已经对数据抽象问题有了深入的研究。但是在边缘计算中,这个问题变得更具挑战性。在物联网时代,网络中存在大量数据产生设备。这里我们举智能家居为例,在智能家居环境中,几乎所有的设备都会向EdgeOS发送数据。但是大多数网络边缘上的设备只会周期性地向网关发送数据。例如温度计每隔一分钟发送一次数据,但是在一天之内这些数据只会被真正的用户使用几次。另一个例子是家庭安防摄像头。它会随时记录数据并发送到网关,但是这些数据会保存在数据库中一段时间,并没有人使用,最终被新数据取代。
据上述情况,我们认为在边缘计算中应该尽可能地减少人的介入,边缘节点应该消费/处理全部的数据,并且以一种积极主动的方式与用户进行交互。这种情况下,网关需要对数据进行预处理,例如噪声去除,事件检测以及隐私保护等等。处理后的数据将发到上层用于提供合适的服务。这个过程面临几个挑战。首先,如图6所示,不同设备传来的数据格式不同。考虑到隐私和安全问题,网关上的应用不应该获取原始数据,它只需要从完整数据表中获取感兴趣的内容即可。数据表的格式可以是ID,时间,名字,数据(如,0000,12:34:56pm 01/01/2016,kitchen.oven2.temperature3, 78)。但是传感器数据被隐藏起来了,所以可能影响到数据可用性。第二,有时候很难决定数据抽象的程度。如果过滤掉太多的原始数据,某些应用或服务可能就无法获取足够的信息。但是如果保留太多原始数据,数据存储也会很麻烦。有时候由于传感器精度不高,环境不稳定或者通讯不正常,边缘设备上的数据信息可能并不可靠,所以如何从不可靠的数据中抽象出有用信息也是一个挑战。收集数据是为应用服务的,为了完成特定的服务,应用需要对物体实施控制,如读写数据。数据抽象层将数据呈现方式以及相应的操作结合起来,并提供了一个公共接口。此外,由于设备的多样性,数据的呈现方式与相应的操作都有所差异,所以找到一种通用的数据抽象方式也并非易事。
(四)服务管理
对于网络边缘上的服务管理,为了保证系统稳定,我们认为需要具有以下几个特性:可区分性,可扩展性,隔离性,可靠性。
1、可区分性
随着物联网的快速发展,网络边缘上会部署多个服务。不同服务应该具有不同优先级,关键服务如物体判断和失败报警应该在其它普通服务之前执行。对于健康相关的服务,心跳停止检测应该具有最高的优先级。
2、可扩展性
可扩展性对于网络边缘来说是一个巨大挑战。相对于移动系统,物联网中的设备更具动态性。用户购买的新设备能否接入原系统将是一个首先要解决的问题。这些问题可以通过设计一个灵活可扩展的服务管理层来解决。
3、隔离性
隔离性是网络边缘需要解决的另一个问题。在移动系统中,如果应用崩溃了,整个系统将会重启。在分布式系统中,共享资源可以通过不同的同步机制如锁或令牌环等进行管理。但是在EdgeOS中,这个问题会更复杂。多个应用会共享相同的资源,例如对灯的控制。如果应用崩溃了或者没有响应,用户应该在不破坏整个EdgeOS的情况下依然可以对灯进行控制。当用户从系统中移除控制灯的应用之后,灯仍然需要与EdgeOS保持连接。我们可以通过部署/取消部署框架解决这个问题。如果在应用安装之前系统检测到了冲突,就会向用户发送警告,从而避免潜在的访问问题。另一个问题是如何将用户个人数据与第三方应用隔离开来。例如你的活动追踪应用不能访问你的用电量数据。为了解决这个难题,我们可以在EdgeOS的服务管理层中加入一种访问控制机制。
4、可靠性
(1)从服务的角度来看,有时候很难准确识别服务失败的原因。例如,如果一台空调坏了,可能的原因有如电源断开,压缩机故障,甚至温度控制器电池耗尽等若干种问题。由于电池耗尽,连接条件恶劣或者部件磨损,传感器节点可能会与系统失去连接。 如果EdgeOS可以提醒用户哪个部件无响应,或者提前警告用户系统中的哪个部件有损坏的风险,这种用户体验非常好。这种挑战的潜在解决方案可以采用无线传感器网络或工业网络,如PROFINET。
(2)从系统的角度来看,保持整个系统的网络拓扑类型非常重要,系统中的每个部件都可以向EdgeOS发送状态/诊断信息。这样就可以很容易地部署错误检测,设备替换以及数据质量检测等服务。
(3)从数据的角度来看,对可靠性的挑战主要来自于传感器数据和通信部分。正如之前研究和讨论过的,网络边缘可能因为各种原因发生故障,发送不可靠的数据。我们也提到了许多用于物联网数据收集的新型通信协议,它们可以支持大量传感器节点和动态网络条件。但是它们的连接可靠性没有蓝牙或者WIFI好。如果数据和通信不可靠,提供可靠的服务将是一个挑战。
(五)隐私和安全
在网络边缘,数据隐私和安全保护是一个重要服务。如果物联网应用部署在家庭中,用户的大量隐私数据会被收集。例如我们可以通过读取电量和水量使用数据判断家中是否有人。因此如何在不涉及隐私的情况下提供服务也是一个问题。有些隐私信息可以在处理数据之前剔除,例如遮蔽视频中的面部。我们认为在边缘数据源上进行计算,也就是在家里,可能是一个不错的保护隐私和数据安全的方法。
我们要提高对数据隐私和安全的意识。以WIFI网络为例,在4.39亿家庭网络连接中,49%的WIFI网络不安全,80%的家庭路由器使用默认密码。89%的公共WIFI热点不安全。所有的利益相关者包括服务提供者,系统和应用开发者以及终端用户都需要意识到用户隐私有可能会受到侵害。如果不加防护的话,摄像头,健康监测器甚至WIFI玩具都可能被他人连接。
第二个要提到的问题是数据的所有权。在移动应用中,终端用户的数据由服务提供者保存和分析。但是让数据留在产生数据的地方,让用户拥有数据可以更好地保护隐私。与健康数据类似,边缘收集的用户数据应该保存在边缘并且由用户决定是否提供给服务提供者。
第三个问题是在网络边缘上,保护隐私和数据安全的有效工具太少。有些设备的资源有限,当前的一些安全防护方法无法部署在上面。而且网络边缘环境多变,因而易受攻击,不好防护。为了保护隐私,有些平台如移动医疗提出统一健康数据保存标准。但是对于边缘计算来说,却缺少处理各种数据的工具。
(六)优化指标
在边缘计算中,有多个层次具有计算能力。那么应该如何分配工作负载呢?我们可以考虑以下几个分配策略,如在每层均匀分配负载或者在每层完成尽可能多的任务。极端情况是完全在端点操作或者完全在云端操作。为了选择最佳的分配策略,本节我们将讨论几个优化指标,包括延迟,带宽,能耗和成本。
延迟:延迟是衡量性能的最重要的指标之一,特别是在交互式应用或服务中。云计算中的服务器可以提供强大的计算能力。他们可以在短时间内处理非常复杂的任务,如图像处理,语音识别等等。但是延迟不是由计算时间决定的。长网络延迟会对实时/交互式应用的行为产生深远的影响。为了减少延迟,最好在最近的物理层完成工作。例如在智能城市案例中,我们可以先用手机处理本地相片,然后只需向云端发送丢失儿童相关信息即可,不需要上传全部相片,因此这种方式速度更快。但是在最近的物理层处理工作并不总是最好的方式。我们需要考虑资源使用情况,避免不必要的等待时间,这样才可以建立一个最佳的逻辑层次。比如当用户正在玩游戏时,由于手机的计算资源已经被占用了,此时最好将相片传至最近的网关或微中心进行处理。
带宽:从延迟的角度来看,高带宽可以减少传输时间。对于短距离传输,我们可以建立高带宽来向边缘发送数据。一方面,如果数据可以在边缘进行处理,系统延迟将大大减少,同时也可以节省边缘与云端的带宽。例如在智能家居案例中,通过WIFI或者其他高速传输方式,几乎所有的数据都可以在网关进行处理。此外传输可靠性也得到了提升,因为传输距离比较短。另一方面,虽然边缘不能完成全部工作,不能减少传输距离,但是至少可以通过对数据进行预处理来显著减少上传的数据量。
能耗:对于网络边缘上的设备来说,电池是最珍贵的资源。对于端点层,将一部分工作在边缘完成可以节省能耗。但是关键要在计算能耗和传输能耗间进行权衡。总的来说,我们先要考虑工作负载的能耗特性。计算量大不大?需要使用多少资源?除了网络信号强度之外,数据大小和可用带宽都会影响传输能耗。如果传输开销小于本地计算开销,最好使用边缘计算。但是如果我们关注的是整个边缘计算的过程,而不仅仅是端点,那么总能耗就应该是每层能耗之和。与端点层类似,每层能耗包括本地计算能耗与传输能耗。这样最佳工作分配策略就有可能改变。例如本地数据中心正忙,那么工作应该上传至上层完成。与在端点计算相比,多跳传输会显著增加系统开销,从而增加能耗。
成本:从服务提供者的角度来看,例如YouTube,亚马逊等等,边缘计算为他们提供了更少的延迟和能耗,从而增加数据吞吐量,改善用户体验。因此,他们可以在处理相同工作量的同时,赚去更多的利润。例如,根据大多数居民的兴趣,我们可以将某个热门视频放在建筑层边缘,这样城市层边缘就可以处理更复杂的任务,总数据吞吐量就可以提高。服务提供者的投入就是创建和维护每一层的成本。为了充分利用每一层的本地数据,提供者可以根据数据的位置向用户收费,同时还需要开发新的成本模型来保证服务提供者的利润和用户的可接受性。
工作分配不是一件容易的事。各个衡量指标之间是密切相关的。例如有时由于能量限制,工作负载需要在城市数据中心完成。与构建服务器层相比,能量限制不可避免地会影响延迟。对于不同的工作负载,指标应该具有不同优先级(或权重),从而选择合理的分配策略。此外,成本分析需要在系统运行时进行。同时还应该考虑并发工作的相互干扰以及资源用量。
总结
物联网(IoT)的普及和丰富的云服务的成功推动了一种新的计算范式——边缘计算的发展,边缘计算要求在网络边缘处理数据。边缘计算具有解决响应时间要求,电池寿命限制,节省带宽成本以及数据安全性和隐私性等问题的潜力。在本文中介绍了边缘计算的定义,然后通过几个案例研究,从云卸载到智能家居和城市,以及协同边缘来实现边缘计算的概念。如今,因为在边缘处理数据可以确保更短的响应时间和更好的可靠性,越来越多的服务被从云端推到网络的边缘。此外,如果更多的数据可以在边缘处理,而不是上传到云端,也可以节省带宽。物联网的发展和通用移动设备的出现改变了边缘边缘在计算范式中的作用,从数据消费者到数据生产者/消费者。在网络边缘处理或处理数据将更加有效。在本文中,首先提出了对边缘计算的理解,基本原理是计算应该在接近数据源的地方进行。然后列出了几个例子,边缘计算可以蓬勃发展,从云卸载到智能环境,如家庭和城市。本文还引入了协作边缘的概念,因为网络边缘可以在物理上和逻辑上连接终端用户和云端,因此它不仅仍然支持传统的云计算范式,而且由于数据的紧密性,它还可以连接远程网络以实现数据共享和协作。最后提出了值得研究的挑战和机遇,包括可编程性、命名、数据抽象、服务管理、隐私和安全以及优化指标。