CN114661455A - 用于验证边缘环境中的经训练模型的方法和设备 - Google Patents

用于验证边缘环境中的经训练模型的方法和设备 Download PDF

Info

Publication number
CN114661455A
CN114661455A CN202111392116.0A CN202111392116A CN114661455A CN 114661455 A CN114661455 A CN 114661455A CN 202111392116 A CN202111392116 A CN 202111392116A CN 114661455 A CN114661455 A CN 114661455A
Authority
CN
China
Prior art keywords
model
edge
network
computing
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111392116.0A
Other languages
English (en)
Inventor
F·圭姆伯纳特
N·M·史密斯
K·库马
S·切卢弗
T·弗雷尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN114661455A publication Critical patent/CN114661455A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

公开了验证边缘环境中经训练模型的方法和设备。用于证实边缘环境中经训练模型的示例设备包括:证明验证器,用于确定在第一设备处接收到的模型的证明分数,证明分数在与第一设备不同的第二设备处计算;比较器,用于将证明分数与阈值进行比较;证实器,用于基于比较来证实模型;以及执行器,用于基于证实来对模型进行执行或部署中的至少一项。

Description

用于验证边缘环境中的经训练模型的方法和设备
技术领域
本公开总体上涉及边缘环境中的计算,并且更具体地涉及用于验证边缘环境中的经训练模型的方法和设备。
背景技术
边缘环境(例如,边缘、雾、多接入边缘计算(MEC)、或物联网(IoT)网络)实现了请求工作负荷或工作负荷的组成部分的执行的端点设备附近的工作负荷执行(例如,一个或多个计算任务的执行、使用输入数据的机器学习模型的执行等)、数据存储等。边缘环境可包括经由网络(诸如因特网)连接到云基础设施、端点设备和/或附加的边缘基础设施的基础设施,诸如具有联网和存储能力的边缘平台。边缘平台、边缘节点或边缘可比云基础设施(诸如集中式服务器)更靠近地接近于端点设备。
附图说明
图1图示出用于边缘计算的边缘云配置的概览。
图2图示出端点、边缘云和云计算环境之间的操作层。
图3图示出用于边缘计算系统中的联网和服务的示例方法。
图4图示出在多个边缘节点和多个租户之间操作的边缘计算系统中的虚拟边缘配置的部署。
图5图示出在边缘计算系统中部署容器的各种计算布置。
图6图示出涉及对边缘计算系统中的应用的移动接入的计算和通信用例。
图7图示出根据ETSI多接入边缘计算(MEC)规范布置的示例移动边缘系统参考架构。
图8A提供用于边缘计算系统中的计算节点处所部署的计算的示例组件的概览。
图8B提供边缘计算系统中的计算设备内的示例组件的进一步的概览。
图9A图示出根据示例的用于通过链路而耦合到相应的网关的各个物联网(IoT)网络的域拓扑。
图9B图示出根据示例的云计算网络,该云计算网络与在该云计算网络的边缘处作为雾设备操作的IoT设备的网格网络进行通信。
图9C图示出根据示例的与数个物联网(IoT)设备通信的云计算网络或云的图。
图9D图示出根据示例的示例IoT处理系统架构的框图,在该示例IoT处理系统架构上可执行本文中所讨论的技术(例如,操作、过程、方法和方法论)中的任何一种或多种。
图9E图示出根据示例的部署在边缘计算系统之间的分布式计算层的概览。
图10图示出根据示例的非陆地(卫星)和陆地(移动蜂窝网络)设置中的网络连接性。
图11图示出根据示例的示例信息中心网络(ICN)。
图12图示出用于分布软件的示例软件分布平台。
图13图示出其中可以实现所公开的示例的示例边缘实现。
图14描绘了根据本公开的教导的示例模型证实过程。
图15描绘了图14的示例模型证实过程的示例实现。
图16是图示出根据本公开的教导的示例模型分析系统的示意性概览。
图17是表示可以被执行以实现图16的示例模型分析系统和/或图14的示例模型证实过程的机器可读指令的流程图。
图18是表示图17的机器可读指令的示例子例程的流程图。
图19是表示图17的机器可读指令的示例子例程的流程图。
图20是被构造用于执行图17-图19中的指令以实现图16中的示例模型分析系统和/或图14的示例模型证实过程的示例处理平台的框图。
这些图并未按比例绘制。一般来说,贯穿(多个)附图和所附书面说明书,相同的附图标记将用于指代相同或相似的部分。
除非另有特别说明,诸如“第一”、“第二”、“第三”等的描述词在本文中使用而不以任何方式强加或以其他方式指示优先级、物理顺序、列表中的排列和/或排序的任何含义,但仅用作标签和/或任意名称来区分要素以便于理解所公开的示例。在一些示例中,描述符“第一”可以用于指代具体实施方式中的要素,而在权利要求中可以使用诸如“第二”或“第三”之类的不同描述符来指代相同的要素。在此类情况下,应当理解,此类描述符仅用于清楚地标识那些可能例如以其他方式共享相同名称的要素。如本文中所使用,“基本上实时的”是指,认识到针对计算时间、传输等可能存在现实世界延迟,以接近瞬时的方式发生。由此,除非另外指定,否则“基本上实时的”是指实时+/-1秒。
具体实施方式
公开了用于验证边缘环境中的经训练模型的方法和设备。在自主驾驶中,交通工具对外界(V2X)基础设施可以构建并训练机器学习/人工智能(ML/AI)模型以供部署在交通工具中。在此类系统中,通常有接收和使用ML/AI模型的若干交通工具。例如,本文公开的示例能够在与边缘环境相关联的V2X基础设施中的多个端点生成和验证ML/AI模型。特别是,边缘环境可以启用额外的计算资源来增强V2X基础设施的功能。因此,本文公开的示例可以实现安全和有效的模型证实,以及在V2X基础设施中的不同端点(包括交通工具、V2X基础设施、固定端点等)之间共享经证实的模型。此外,可以应用本文公开的示例在边缘环境中使用经训练的ML/AI模型的任何类型的系统和/或基础设施。本文公开的示例使得经训练的模型能够被证实,以便它们可以用于生成可靠的数据和/或输出。特别地,本文公开的示例可以防止篡改、发散和/或错误的模型通过V2X基础设施和/或V2X基础设施的相关联边缘环境传播和/或扩散。
如上所述,本文公开的示例在边缘环境中实现AI模型的评估。模型使用ML、深度学习(DL)和/或其他人工机器驱动逻辑进行训练,使机器(例如,计算机、逻辑电路等)成为可能。进而,模型被用于处理输入数据,以基于模型先前经由训练过程学习的模式和/或关联来生成输出。例如,可以利用数据来训练模型以识别模式和/或关联,并且在处理输入数据时遵循这样的模式和/或关联,使得(多个)其他输入导致与所识别的模式和/或关联一致的(多个)输出。
一般而言,实现ML/AI系统涉及两个阶段:学习/训练阶段和推理阶段。在学习/训练阶段,训练算法被用于训练模型以根据基于例如训练数据的模式和/或关联来操作。通常,模型包括引导如何将输入数据变换成输出数据的内部参数,诸如通过模型内的一系列节点和连接来将输入数据变换成输出数据。另外,将超参数用作训练过程的一部分,以控制学习的执行方式(例如,学习率、机器学习模型中要使用的层数等)。超参数被定义为是在发起训练过程之前确定的训练参数。
可以基于ML/AI模型的类型和/或预期输出来执行不同类型的训练。例如,有监督训练使用输入和相对应的期望(例如,标记的)输出来选择用于ML/AI模型的减少模型误差的参数(例如,通过在选择参数的组合上进行迭代)。如本文中所使用,标记是指机器学习模型的预期输出(例如,分类、预期输出值等)。替代地,无监督训练(例如,在深度学习、机器学习等的子集中使用)涉及从输入推断模式以选择用于ML/AI模型的参数(例如,不具有预期(标记的)输出的益处)。
一旦被训练,就可以在推理阶段中操作所部署的模型来处理数据。在推理阶段,将要分析的数据(例如,实时数据)输入到模型,并且该模型执行以创建输出。该推理阶段可以被认为是AI“思考”以便基于其从训练中学习到的来生成输出(例如,通过执行模型以将所学习的模式和/或关联应用于实时数据)。在一些示例中,输入数据在被用作机器学习模型的输入之前经历预处理。此外,在一些示例中,在由AI模型生成输出数据之后,可以对该输出数据进行后处理,以将输出变换成有用的结果(例如,数据显示、由机器执行的指令,等等)。
在一些示例中,可以捕获所部署模型的输出并将其作为反馈来提供。通过分析该反馈,能够确定所部署模型的准确性。如果反馈指示所部署的模型的准确性低于阈值或其他标准,则可以使用反馈和更新的训练数据集、超参数等来触发对更新的模型的训练,以生成更新的所部署模型。
本文公开的示例的AI模型在利用边缘计算资源的边缘环境(例如,边缘节点、边缘计算环境)中实现。在一般层面,边缘计算是指计算和存储资源向更靠近于端点设备(例如,消费方计算设备、用户装备等)的转变,以优化总拥有成本、运营费用,减少应用等待时间,降低网络回程通信量和能量,改善服务能力,并且改善与数据私有性或安全性要求的合规性。在一些场景中,边缘计算可提供类云分布式服务,该类云分布式服务可为应用提供在许多类型的存储和计算资源之间的编排和管理。结果是,边缘计算的一些实现方式已被称为“边缘云”或“雾”,因为先前仅在大型远程数据中心中可用的强大的计算资源被移动到更靠近于端点并使得其对于由处于网络的“边缘”处的消费方使用而言是可用的。
已经开发出采用移动网络设置的用于与多接入边缘计算(MEC)方式集成的边缘计算用例,也被称为“移动边缘计算”。MEC方式被设计成允许应用开发人员和内容提供商访问网络的边缘处采用动态移动网络设置的计算能力和信息技术(IT)服务环境。欧洲电信标准协会(ETSI)行业规范小组(ISG)已开发了有限的标准,试图定义用于MEC系统、平台、主机、服务和应用的操作的通用接口。
边缘计算(MEC)和相关联的技术尝试提供减少的等待时间、提高的响应性、降低的网络回程通信量和能量、出于改善的隐私性和安全性而将数据保持在本地,并且提供相比于传统云网络服务和广域网连接中所提供的更多可用的计算能力和网络带宽。然而,将移动性和动态启动的服务集成到某种移动用例和设备处理用例导致编排、功能协调、以及资源管理的限制和对编排、功能协调、以及资源管理的担忧,尤其在其中涉及许多参与方(例如,设备、主机、租户、服务提供商、运营商等)的复杂移动性设置中。
以类似方式,物联网(IoT)网络和设备被设计成用于提供从各种端点的分布式计算布置。IoT设备可以是可在网络上通信的实体对象或虚拟化对象,并且可以包括传感器、致动器以及其他输入/输出组件,IoT设备可用于在现实世界环境中收集数据或执行动作。例如,IoT设备可以包括被嵌入到或附连至日常物品的低功率的端点设备以提供对那些物品的附加水平的人工知觉感知,这些日常物品诸如建筑物、交通工具、包裹等。近年来,IoT设备已经变得更加普及并且由此使用这些设备的应用激增。
在一些示例中,边缘环境可以包括企业边缘,其中与企业边缘的通信和/或企业边缘中的通信可以经由无线和/或有线连接性来促进。各种边缘、雾、MEC、以及IoT网络、设备、以及服务的部署已经引入了许多高级用例和场景,这些用例和场景在网络边缘处并朝向网络边缘处发生。然而,这些高级用例也引入了与编排、安全性、处理和网络资源、服务可用性和效率等等许多其他问题有关的许多相对应的技术挑战。一个此类挑战与边缘、雾、MEC、以及IoT网络、设备以及服务代表端点设备执行工作负荷有关。
本技术和配置可与当前联网系统的许多方面结合使用,但是参考边缘云、IoT、多接入边缘计算(MEC)以及其他分布式计算部署来提供。下列系统和技术可被实现在各种分布式、虚拟化、或受管理的边缘计算系统中或者增强各种分布式、虚拟化、或受管理的边缘计算系统。这些包括其中使用多接入边缘计算(MEC)、第四代(4G)、第五代(5G)无线或下一代网络配置来实现或管理网络服务的环境;或者包括采用涉及光纤、铜以及其他连接的有线网络配置的环境。进一步地,由相应计算组件进行的处理的各方面可涉及地理上接近用户装备或其他端点位置的计算元件,用户装备或端点诸如智能电话、交通工具通信组件、IoT设备等。进一步地,当前所公开的技术可涉及其他边缘/MEC/IoT网络通信标准和配置以及其他中间处理实体和架构。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠近于产生和消耗数据的端点设备的其他设备处实现的计算平台来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监控)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,中央办公网络管理硬件能以执行虚拟化网络功能并为服务的执行提供计算资源且为连接的设备提供消费方功能的计算硬件来代替。
边缘环境包括位于云环境与端点环境之间的网络和/或网络的部分。边缘环境实现在网络的边缘处对工作负荷的计算。例如,端点设备可请求附近基站计算工作负荷而不是请求云环境中的中央服务器。边缘环境包括边缘平台或边缘,边缘平台或边缘包括存储器池或存储器集群、存储资源、和/或处理资源。这些边缘代表其他边缘和/或边缘节点执行诸如工作负荷的执行之类的计算。边缘环境促进生产者(例如,工作负荷执行方、边缘)与消费者(例如,其他边缘、端点设备)之间的连接。
因为边缘可能相比于云环境中的集中式服务器更靠近于端点设备,所以边缘使得相比于云环境能够以更低的等待时间(例如,响应时间)来对工作负荷进行计算。边缘还可基于地理位置或网络布局来实现对工作负荷的本地化执行。例如,端点设备可要求工作负荷在第一地理区域中被执行,但集中式服务器可位于第二地理区域中。端点设备可请求由位于第一地理区域中的边缘节点来进行工作负荷执行以符合企业或监管限制。其他策略可以驱动边缘节点中的执行(例如,能量/功率节省、网络回程通信量降低)。
要在边缘环境中执行的工作负荷的示例包括自主驾驶计算、视频监控监视、机器学习模型执行、以及实时数据分析。工作负荷的附加示例包括递送和/或编码媒体流、测量广告印象率、媒体流中的对象检测、语音分析、资产和/或库存管理、以及增强现实处理。
边缘节点或边缘使得能够以相比于云环境中的服务器的响应时间更低的响应时间来执行工作负荷并将所执行的工作负荷的结果返回至端点设备。例如,如果边缘位于相比于云服务器更靠近于网络上的端点设备,则该边缘服务可相比于云服务器更快地响应于来自端点设备的工作负荷执行请求。端点设备可请求从边缘服务而不是云服务器对时间受限的工作负荷的执行。
另外,边缘节点实现对工作负荷执行的分布和去中心化。例如,端点设备可请求第一工作负荷执行和第二工作负荷执行。在一些示例中,云服务器可响应于这两个工作负荷执行请求。然而,在边缘环境的情况下,第一边缘可执行第一工作负荷执行请求,并且第二边缘可执行第二工作负荷执行请求。此外,即使在边缘的情况下,工作负荷执行也可以分布在边缘内。特别是,示例使经训练模型能够在不同的计算资源和/或边缘设备中进行评估。
本文公开的示例使得能够证实具有边缘节点或边缘的经训练的机器学习AI模型。本文公开的示例可以评估经训练模型的可信度,以及经训练模型是否有效运行。此外,本文公开的示例可以评估来自另一计算节点(例如,边缘网络的V2X环境中的不同交通工具)的经训练模型的准确性,该另一节点可以是相同或不同边缘节点的一部分。
可以实现本文公开的示例以验证和执行边缘环境中的经训练模型。根据本文公开的示例,证明验证器请求或确定在边缘网络的第一设备处接收的模型的证明分数。证明分数是在与第一设备不同的第二设备处计算的。比较器将证明分数与阈值进行比较,并且证实器用于基于该比较来证实模型。进而,基于该证实来执行和/或部署模型。在一些示例中,区块链验证器被实现以请求与模型的区块链证明相关联的第三设备来证实模型(例如,模型是响应于证明分数超过阈值而由第三设备证实的)。
在一些示例中,实现模型改进分析器以确定模型是改进还是降级。换言之,可以在其训练期间或之后评估该模型是在改进还是降级。附加地或替代地,实现认证器以认证模型、与模型相关联的软件、与模型相关联的标识符和/或与模型相关联的硬件。在一些此类示例中,模型认证器认证传感器的签名和/或与模型相关联的传感器数据。
在一些示例中,基于边缘环境的多个设备之间的共识和/或平均来计算前述证明分数。在一些示例中,例如,通过边缘网络传播关于经训练的AI模型的证实的度量(例如,f1分数/混淆矩阵、曲线下面积、对数损失等)。在一些示例中,使用V2X网络和/或基础设施的不同交通工具/端点的“信誉因子”或可信度。
如本文所用,术语“设备”是指与边缘网络相关联的硬件计算设备。因此,术语“设备”可以指固定设备(例如,基站、机顶计算设备等)、移动设备(例如,平板电脑、移动电话等)或与例如交通工具相关联的硬件。如本文所用,术语“区块链”是指涉及多个不同计算设备的任何分散式账本技术和/或实现。如本文所用,术语“经训练的模型”是指至少部分经训练的ML/AI模型。因此,术语“经训练的模型”可以指正在经由ML过程进行训练过程的模型或已经完成训练过程的模型。
图1是示出用于边缘计算的配置的概览的框图100,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云110共同定位在边缘位置(诸如接入点或基站140、本地处理中枢150、或中央局120),并且因此可以包括多个实体、设备、和装备实例。与云数据中心130相比,边缘云110被定位成更靠近端点(消费者和生产者)数据源160(例如,自主交通工具161、用户装备162、商业和工业装备163、视频捕捉设备164、无人机165、智慧城市和建筑设备166、传感器和IoT设备167等)。在边缘云110中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源160使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云110朝向云数据中心130的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
计算、存储器、和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备上可用的处理资源比在基站上、在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(UE)),空间和功率通常就越受限。因此,边缘计算尝试通过分配被定位成既在地理上更靠近又在网络接入时间上更靠近的更多的资源来减少网络服务所需的资源量。以该方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据,或者,将工作负荷数据带到计算资源。
以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其本身的基础设施中可能具有的限制。这些包括以下的变体:基于边缘位置的各种配置(例如,因为处于基站级别的边缘在多租户场景中可能具有更受限制的性能和能力);基于边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。这些部署可以在网络层中完成处理,取决于等待时间、距离、和定时特征,这些网络层可以被视为“接近边缘”、“靠近边缘”、“本地边缘”、“中间边缘”、或“远边缘”层。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠近于产生和消耗数据的端点设备的其他设备处实现的计算平台(例如,x86或ARM计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监测)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,可用执行虚拟化网络功能并为服务的执行提供计算资源并且为连接的设备提供消费者功能的标准化计算硬件来代替中央局网络管理硬件。在边缘计算网络内,可能存在计算资源“被移动”到数据的服务中的场景,以及其中数据“被移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以通过激活休眠容量(订阅、按需容量)来根据需要扩展工作负荷需求,以管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
图2图示出端点、边缘云和云计算环境之间的操作层。体而言,图2描绘了在网络计算的多个说明性层之间利用边缘云110的计算用例205的示例。这些层从端点(设备和事物)层200开始,该层200访问边缘云110以进行数据创建、分析和数据消费活动。边缘云110可以跨越多个网络层(诸如具有网关、内部(on-premise)服务器、或位于物理上邻近边缘系统中的网络设备(节点215)的边缘设备层210);网络接入层220,该网络接入层220涵盖基站、无线电处理单元、网络中枢、区域数据中心(DC)、或本地网络装备(装备225);以及位于它们之间的任何装备、设备或节点(在层212中,未详细图示出)。边缘云110内和各层之间的网络通信可以经由任何数量的有线或无线介质来实现,包括经由未描绘出的连接性架构和技术。
由于网络通信距离和处理时间约束而导致的等待时间的示例的范围可以从在端点层200之间时的小于一毫秒(ms),在边缘设备层210处的低于5ms到当与网络接入层220处的节点通信时的10到40ms之间。在边缘云110之外是核心网络230层和云数据中心240层,每个层均具有增加的等待时间(例如,在核心网络层230处的50-60ms,在云数据中心层处的100ms或更多ms)。因此,在核心网络数据中心235或云数据中心245处的、具有至少为50至100ms或更多的等待时间的操作将无法完成用例205的许多时间关键的功能。出于说明和对比的目的,提供这些等待时间值中的每一个等待时间值;应当理解,使用其他接入网络介质和技术可以进一步降低等待时间。在一些示例中,相对于网络源和目的地,网络的各个部分可以被分类为“靠近边缘”、“本地边缘”、“接近边缘”、“中间边缘”或“远边缘”层。例如,从核心网络数据中心235或云数据中心245的角度来看,中央局或内容数据网络可以被视为位于“接近边缘”层内(“接近”云,具有在与用例205的设备和端点通信时的高等待时间值),而接入点、基站、内部服务器或网络网关可以被视为位于“远边缘”层内(“远”离云,具有在与用例205的设备和端点通信时的低等待时间值)。应当理解,构成“靠近”、“本地”、“接近”、“中间”或“远”边缘的特定网络层的其他分类可以基于等待时间、距离、网络跳数或其他可测量的特性,如从网络层200-240中的任一层中的源测量的。
由于多个服务利用边缘云,各种用例205可以在来自传入流的使用压力下访问资源。为了实现低等待时间的结果,在边缘云110内执行的服务在以下方面平衡不同的需求:(a)优先级(吞吐量或等待时间)和服务质量(QoS)(例如,在响应时间需求方面,自主汽车的通信量可能比温度传感器具有更高的优先级;或者,取决于应用,性能敏感度/瓶颈可能存在于计算/加速器、存储器、存储、或网络资源上);(b)可靠性和复原性(例如,取决于应用,一些输入流需要被作用并且以任务关键型可靠性来路由通信量,而一些其他输入流可以容忍偶尔的故障;以及(c)物理约束(例如,功率、冷却和形状因子)。
这些用例的端到端服务视图涉及服务流的概念,并与事务相关联。事务详细说明了消费服务的实体的整体服务需求,以及资源、工作负荷、工作流、以及业务功能和业务级别需求的相关联的服务。利用所描述的“方面(term)”执行的服务能以某种方式在每层处进行管理,以确保在服务的生命周期期间事务的实时和运行时合同合规性。当事务中的组件缺失其约定的SLA时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违规的影响,以及(2)增强系统中的其他组件以恢复整体事务SLA,以及(3)实现补救的步骤。
因此,考虑到这些变化和服务特征,边缘云110内的边缘计算能以实时或接近实时的方式向用例205的多个应用(例如,对象跟踪、视频监视、连接的汽车等)提供提供服务和作出响应的能力,并满足这些多个应用的超低等待时间需求。这些优势使全新类别的应用(虚拟网络功能(VNF)、功能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)得以实现,这些应用由于等待时间或其他限制而无法利用传统的云计算。
然而,随着边缘计算的优势,有以下注意事项。位于边缘处的设备通常是资源受约束的,并且因此存在对边缘资源的使用的压力。通常,这是通过对供多个用户(租户)和设备使用的存储器和存储资源的池化来解决的。边缘可能是功率和冷却受约束的,并且因此需要由消耗最多功率的应用来负责功率使用。在这些经池化的存储器资源中可能存在固有的功率性能权衡,因为它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更大的存储器带宽。同样,还需要改善的硬件安全性和信任根受信任的功能,因为边缘位置可以是无人(控制)的,并且可能甚至需要经许可的访问(例如,当被容纳在第三方位置时)。在多租户、多所有者、或多访问设置中,此类问题在边缘云110中被放大,此类设置中,由许多用户请求服务和应用,特别是当网络使用动态地波动以及多个利益相关者、用例、和服务的组成改变时。
在更一般的级别上,边缘计算系统可以被描述为涵盖在先前讨论的、在边缘云110(网络层200-240)中操作的层处的任意数量的部署,这些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点和一个或多个核心数据中心可以分布在网络的各个层上,以由电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体或者代表其提供边缘计算系统的实现。可以动态地提供边缘计算系统的各种实现方式和配置,诸如当被编排以满足服务目标时。
与本文提供的示例一致,客户端计算节点可以被具体化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其他事物。进一步地,如边缘计算系统中所使用的标签“节点”或“设备”不一定意指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反,边缘计算系统中的节点或设备中的任一者指代包括分立的和/或连接的硬件或软件配置以促进和/或使用边缘云110的个体实体、节点、或子系统。
由此,边缘云110由网络层210-230中的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并在网络层210-230中的边缘网关节点、边缘聚合节点或其他边缘计算节点内被操作的网络组件和功能特征形成。因此,边缘云110可被具体化为提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源被定位成接近支持无线电接入网络(RAN)的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在本文中所讨论。换言之,边缘云110可被预想为连接端点设备和传统网络接入点、同时还提供存储和/或计算能力的“边缘”,该“边缘”充当进入到包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G/6G网络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如,Wi-Fi、长距离无线、包括光学网络的有线网络)也可替代此类3GPP运营商网络被利用或与此类3GPP运营商网络组合来利用。
边缘云110的网络组件可以是服务器、多租户服务器、装置计算设备和/或任何其他类型的计算设备。例如,边缘云110可以包括作为包括壳体、底座、机箱或外壳的自包含电子设备的装置计算设备。在一些情况下,可以针对便携性来确定壳体尺寸,以使得其可由人类携载和/或被运输。示例壳体可包括形成一个或多个外表面的材料,该一个或多个外表面部分地或完整地保护装置的内容物,其中,保护可包括天气保护、危险环境保护(例如,EMI、振动、极端温度)和/或使得能够浸入水中。示例壳体可包括用于为固定式和/或便携式实现方式提供功率的功率电路系统,诸如AC功率输入、DC功率输入、(多个)AC/DC或DC/AC转换器、功率调节器、变压器、充电电路系统、电池、有线输入和/或无线功率输入。示例壳体和/或其表面可包括或连接至安装硬件,以实现到诸如建筑物、电信结构(例如,杆、天线结构等)和/或机架(例如,服务器机架、刀片支架等)之类的结构的附接。示例壳体和/或其表面可支持一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学传感器、电容传感器、接近度传感器等)。一个或多个此类传感器可被包含在装置的表面中、由装置的表面承载、或以其他方式被嵌入在装置的表面中和/或被安装至装置的表面。示例壳体和/或其表面可支持机械连接性,诸如推进硬件(例如,轮子、螺旋桨等)和/或铰接硬件(例如,机械臂、可枢转附件等)。在一些情况下,传感器可包括任何类型的输入设备,诸如用户接口硬件(例如,按键、开关、拨号盘、滑块等)。在一些情况下,示例壳体包括包含在其中、由其携载、嵌入其中和/或附接于其的输出设备。输出设备可包括显示器、触摸屏、灯、LED、扬声器、I/O端口(例如,USB)等。在一些情况下,边缘设备是为特定目的而被呈现在网络中、但是可具有可用于其他目的的处理和/或其他能力的设备(例如,红绿灯)。此类边缘设备可以独立于其他联网设备,并且可设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务的其他计算任务仍然是可用的。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全之类的本地问题的硬件和软件组件。结合图8B描述用于实现装置计算设备的示例硬件。边缘云110还可以包括一个或多个服务器和/或一个或多个多租户服务器。此类服务器可包括操作系统并实现虚拟计算环境。虚拟计算环境可包括管理(例如,生成、部署、损毁等)一个或多个虚拟机、一个或多个容器等的管理程序。此类虚拟计算环境提供其中一个或多个应用和/或其他软件、代码或脚本可在与一个或多个其他应用、软件、代码或脚本隔离的同时执行的执行环境。
在图3中,(以移动设备、计算机、自主交通工具、业务计算装备、工业处理装备的形式的)各种客户端端点310交换特定于端点网络聚合类型的请求和响应。例如,客户端端点310可以通过交换通过内部网络系统332的请求和响应322,经由有线宽带网络获得网络接入。一些客户端端点310(诸如移动计算设备)可以通过交换通过接入点(例如,蜂窝网络塔)334的请求和响应,经由无线宽带网络获得网络接入。一些客户端端点310(诸如自主交通工具)可通过街道定位网络系统336经由无线交通工具网络获得请求和响应326的网络接入。然而,无论网络接入的类型如何,TSP可以在边缘云110内部署聚合点342、344来聚合通信量和请求。因此,在边缘云110内,TSP可以(诸如在边缘聚合节点340处)部署各种计算和存储资源以提供请求的内容。边缘聚合节点340和边缘云110的其他系统被连接至云或数据中心360,该云或数据中心360使用回程网络350来满足来自云/数据中心对网站、应用、数据库服务器等的更高等待时间请求。边缘聚合节点340和聚合点342、344的附加或合并的实例(包括部署在单个服务器框架上的那些实例)也可以存在于边缘云110或TSP基础设施的其他区域内。
图4图示出跨在多个边缘节点和使用此类边缘节点的多个租户(例如,用户、提供商)之间操作的边缘计算系统的虚拟化和基于容器的边缘配置的部署和编排。具体而言,图4描绘了边缘计算系统400中的第一边缘节点422和第二边缘节点424的协调,以完成对接入各种虚拟边缘实例的各种客户端端点410(例如,智慧城市/建筑系统、移动设备、计算设备、商业/物流系统、工业系统等)的请求和响应。在此,虚拟边缘实例432、434通过接入云/数据中心440(对网站、应用、数据库服务器等有更高等待时间请求)来提供边缘云中的边缘计算能力和处理。然而,边缘云能够协调多个租户或实体的多个边缘节点之间的处理。
在图4的示例中,这些虚拟边缘实例包括:提供给第一租户(租户1)的第一虚拟边缘432,该第一虚拟边缘432提供边缘存储、计算、和服务的第一组合;以及第二虚拟边缘434,提供边缘存储、计算、和服务的第二组合。虚拟边缘实例432、434分布在边缘节点422、424之间,并且可以包括其中从相同或不同的边缘节点满足请求和响应的场景。用于以分布式但协调的方式操作的边缘节点422、424的配置基于边缘供应功能450来发生。用于在多个租户之间为应用和服务提供协调的操作的边缘节点422、424的功能基于编排功能460来发生。
应当理解,410中的设备中的一些设备是多租户设备,其中租户1可以在租户1‘片’内运行,而租户2可以在租户2片内运行(并且,在进一步的示例中,可能存在附加的租户或子租户;并且每个租户甚至可以对特定特征组具体地享有权利并且在事务上被绑定至特定特征组,一直到对特定的硬件特征具体地享有权利并且在事务上被绑定至特定的硬件特征)。受信任的多租户设备可以进一步包含租户专用的加密密钥,使得密钥和片的组合可以被视为“信任根”(RoT)或租户专用的RoT。可以进一步使用DICE(设备标识组合引擎)架构组成动态计算的RoT,使得单个DICE硬件构建块可用于构造用于对设备能力(诸如现场可编程门阵列(FPGA))进行分层的分层受信任的计算基础上下文。RoT进一步可用于受信任计算上下文,以启用对支持多租赁有用的“扇出”。在多租户环境内,相应的边缘节点422、424可以作为分配给每节点多个租户的本地资源的安全性特征实施点。附加地,租户运行时和应用执行(例如,在实例432、434中)可以用作安全性特征的实施点,该安全性特征创建跨越潜在多个物理主管平台的资源的虚拟边缘抽象。最后,编排实体处的编排功能460可以作为用于沿着租户边界对资源进行列队(marshalling)的安全性特征实施点来操作。
边缘计算节点可划分资源(存储器、中央处理单元(CPU)、图形处理单元(GPU)、中断控制器、输入/输出(I/O)控制器、存储器控制器、总线控制器等),其中,相应的分区可包含RoT能力,并且其中根据DICE模型的扇出和分层可进一步应用于边缘节点。云计算节点通常使用可以根据DICE分层和扇出结构进行分区以支持每个节点的RoT上下文的容器、FaaS引擎、小型服务程序、服务器、或其他计算抽象。因此,跨越设备410、422和440的相应的RoT可以协调分布式受信任计算基础(DTCB)的建立,使得可以建立端到端链接所有要素的租户专用的虚拟受信任安全信道。
此外,应当理解,容器可以具有保护其内容不受先前边缘节点影响的数据或工作负荷特定的密钥。作为容器迁移的一部分,源边缘节点处的舱(pod)控制器可以从目标边缘节点舱控制器获得迁移密钥,其中迁移密钥用于包装容器特定的密钥。当容器/舱迁移到目标边缘节点时,解包裹密钥被暴露给舱控制器,然后舱控制器解密经包裹的密钥。密钥现在可用于对容器特定的数据执行操作。迁移功能可以由适当认证的边缘节点和舱管理器(如上所述)进行选通(gate)。
在进一步的示例中,边缘计算系统被扩展以通过在多所有者、多租户环境中使用容器(提供代码和所需依赖关系的被容纳的、可部署的软件单元)来提供多个应用的编排。多租户编排器可用于执行密钥管理、信任锚管理以及与图4中的受信任的‘片’概念的供应和生命周期相关的其他安全性功能。例如,边缘计算系统可被配置成用于满足来自多个虚拟边缘实例(以及,来自云或远程数据中心)的各种客户端端点的请求和响应。这些虚拟边缘实例的使用可以同时支持多个租户和多个应用(例如,增强现实(AR)/虚拟现实(VR)、企业应用、内容交付、游戏、计算迁移)。此外,虚拟边缘实例内可能存在多种类型的应用(例如,普通应用;等待时间敏感型应用;等待时间关键型应用;用户平面应用;联网应用等)。虚拟边缘实例还可以横跨处于不同地理位置的多个所有者的系统(或,由多个所有者共同拥有或共同管理的相应的计算系统和资源)。
例如,每个边缘节点422、424可以实现容器的使用,诸如使用提供一个或多个容器的组的容器“舱”426、428。在使用一个或多个容器舱的设置中,舱控制器或编排器负责舱中容器的本地控制和编排。根据每个容器的需要对为相应边缘片432、434提供的各种边缘节点资源(例如,存储、计算、服务,用六边形描绘)进行分区。
使用容器舱后,舱控制器监督容器和资源的分区和分配。舱控制器从编排器(例如,编排器460)接收指令,该编排器指示控制器如何最佳地对物理资源进行分区以及在什么持续时间内,诸如通过基于SLA合同接收关键性能指标(KPI)目标。舱控制器确定哪个容器需要哪些资源,以及完成工作负荷和满足SLA需要多久。舱控制器还管理容器生命周期操作,诸如:创建容器、为容器提供资源和应用、协调在分布式应用上一起工作的多个容器之间的中间结果、工作负荷完成时拆除容器等。此外,舱控制器可以充当安全角色,阻止资源分配,直到正确的租户验证或阻止向容器提供数据或工作负荷,直到满足认证结果。
此外,通过使用容器舱,租户边界仍然可以存在,但在容器的每一个舱的上下文中。如果每个租户特定的舱都有租户特定的舱控制器,则将有一个共享舱控制器,该共享舱控制器将合并资源分配请求,以避免典型的资源短缺情况。可提供进一步的控制,以确保舱和舱控制器的认证和可信。例如,编排器460可以向执行认证验证的本地舱控制器提供认证验证策略。如果认证满足第一租户舱控制器而不是第二租户舱控制器的策略,则第二舱可以迁移到确实满足该策略的不同边缘节点。或者,可以允许第一舱执行,并且在第二舱执行之前安装和调用不同的共享舱控制器。
图5示出了在边缘计算系统中部署容器的附加计算布置。作为简化示例,系统布置510、520描述了其中舱控制器(例如,容器管理器511、521和容器编排器531)适于通过经由计算节点(布置510中的520)的执行来启动容器化舱、功能、和功能即服务实例,或适于通过经由计算节点(布置520中的523)的执行来单独地执行容器化虚拟化的网络功能。该布置适于在(使用计算节点537的)系统布置530中使用多个租户,其中容器化舱(例如,舱512)、功能(例如,功能513、VNF 522、VNF 536)、和功能即服务实例(例如,FaaS实例514)在专用于相应的租户的虚拟机(例如,用于租户532的VM 534、用于租户533的VM 535)内被启动(除了执行虚拟化网络功能)。该布置进一步适于在系统布置540中使用,该系统布置540提供容器542、543,或在计算节点544上执行各种功能、应用和功能,如由基于容器的编排系统541所协调。
图5中描绘的系统布置提供了在应用组成方面平等地对待VM、容器和功能的架构(并且得到的应用是这三种组成部分的组合)。每个组成部分可能涉及使用一个或多个加速器(FPGA、ASIC)组件作为本地后端。以此方式,应用可以在多个边缘所有者之间被分割,如由编排器进行协调。
在图5的上下文中,舱控制器/容器管理器、容器编排器和各个节点可以提供安全性实施点。然而,可以编排租户隔离,其中分配给一租户的资源与分配给第二租户的资源是不同的,但是边缘所有者合作以确保资源分配不跨租户边界被共享。或者,资源分配可以跨租户边界而被隔离,因为租户可以允许经由订阅或事务/合同基础的“使用”。在这些上下文中,边缘所有者可以使用虚拟化、容器化、飞地和硬件分区方案来强制执行租赁。其他隔离环境可包括:裸金属(专用)装备、虚拟机、容器、容器上的虚拟机或其组合。
在进一步的示例中,软件定义的或受控的硅硬件以及其他可配置的硬件的各方面可以与边缘计算系统的应用、功能、和服务整合。软件定义的硅(SDSi)可用于基于某一资源或硬件组成部分(例如,通过升级、重新配置或在硬件配置本身内提供新的特征)修复自身或工作负荷的一部分的能力、来确保该组成部分履行合同或服务级别协议的能力。
应当领会,本文讨论的边缘计算系统和布置可适用于涉及移动性的各种解决方案、服务和/或用例。作为示例,图6示出涉及对实现边缘云110的示例边缘计算系统600中的应用进行的移动访问的简化的交通工具计算和通信用例。在该用例中,相应的客户端计算节点610可以被具体化为位于相对应交通工具中的机载计算系统(例如,机载导航和/或信息娱乐系统),该机载计算系统在横越道路期间与边缘网关节点620通信。例如,边缘网关节点620可以位于路边机柜中或位于被内置到具有其他的、分开的、机械公共设施的结构中的其他外壳中,路边机柜或其他外壳可以沿着道路、在道路的交叉路口处、或在道路附近的其他位置放置。当相应的交通工具沿着道路行驶时,其客户端计算节点610与特定边缘网关设备620之间的连接可以传播,以便为客户端计算节点610保持一致的连接和上下文。同样,移动边缘节点可以在高优先级服务处或根据(多个)底层服务(例如,在无人机的情况下)的吞吐量或等待时间分辨率需求进行聚合。相应的边缘网关设备620包括一定量的处理和存储能力,并且由此,客户端计算节点610的数据的一些处理和/或存储可以在边缘网关设备620的一个或多个边缘网关设备上执行。
边缘网关设备620可以与一个或多个边缘资源节点640通信,这些边缘资源节点被说明性地具体化为位于通信基站642(例如,蜂窝网络的基站)处或在通信基站642(例如,蜂窝网络的基站)中的计算服务器、设备或组件。如上文所讨论,相应的边缘资源节点640包括一定量的处理和存储能力,并且由此,客户端计算节点610的数据的一些处理和/或存储可以在边缘资源节点640上执行。例如,不太紧急或不太重要的数据处理可以由边缘资源节点640执行,而更高的紧急性或重要性的数据处理可以由边缘网关设备620执行(例如,取决于每个组件的能力,或请求中指示紧急性或重要性的信息)。基于数据访问、数据位置或等待时间,当处理活动期间的处理优先级改变时,可在边缘资源节点上继续工作。同样,可配置的系统或硬件资源本身可以(例如,通过本地编排器)被激活,以提供附加的资源来满足新的需求(例如,使计算资源适配到工作负荷数据)。
(多个)边缘资源节点640还与核心数据中心650通信,核心数据中心650可以包括位于中心位置(例如,蜂窝通信网络的中央局)的计算服务器、设备和/或其他组件。核心数据中心650可以为由(多个)边缘资源节点640和边缘网关设备620形成的边缘云110操作提供到全球网络云660(例如,互联网)的网关。另外,在一些示例中,核心数据中心650可以包括一定量的处理和存储能力,并且因此,可以在核心数据中心650上执行用于客户端计算设备的一些数据处理和/或存储(例如,低紧急性或重要性或高复杂性的处理)。
边缘网关节点620或边缘资源节点640可以提供状态型的应用632和地理分布式数据库634的使用。虽然应用632和数据库634被图示出为在边缘云110的层处横向地分布,但将理解,应用的资源、服务、或其他组件可以在整个边缘云中竖直地分布(包括,在客户端计算节点610处执行的应用的一部分,在边缘网关节点620处或边缘资源节点640等处的其他部分)。另外,如前所述,可以存在任何级别上的对等关系以满足服务目标和义务。进一步地,特定客户端或应用的数据可以基于变化的条件(例如,基于加速资源的可用性、跟随汽车移动等)从边缘移动到边缘。例如,基于访问的“衰减率”,可以进行预测,以标识要继续的下一个所有者,或者数据或计算访问何时将不再可行。可以利用这些服务和其他服务来完成保持事务合规性和无损性所需的工作。
在进一步的场景中,容器636(或容器的舱)可以从边缘节点620灵活地迁移到其他边缘节点(例如,620、640等),使得具有应用和工作负荷的容器不需要被重组、重新编译、重新解释以迁移到工作中。但是,在此类设置中,可能应用一些补救或“混乱”的翻译操作。例如,节点640处的物理硬件可能不同于边缘网关节点620,因此,构成容器底部边缘的硬件抽象层(HAL)将被重新映射到目标边缘节点的物理层。这可能涉及某种形式的后期绑定技术,诸如HAL从容器原生格式到物理硬件格式的二进制转换,或者可能涉及映射接口和操作。舱控制器可用于驱动接口映射,作为容器生命周期的一部分,其中包括迁移到不同的硬件环境/从不同的硬件环境迁移。
图6所涵盖的场景可以利用各种类型的移动边缘节点(诸如在交通工具(汽车/卡车/电车/火车)或其他移动单元中主管的边缘节点),因为边缘节点将沿着主管它的平台移动到其他地理位置。在交通工具对交通工具通信的情况下,单个交通工具甚至可以充当其他交通工具的网络边缘节点,(例如,以执行高速缓存、报告、数据聚合等)。因此,将理解,在各种边缘节点中提供的应用组件可以分布在静态或移动设置中,包括在各个端点设备或边缘网关节点620处的一些功能或操作、在边缘资源节点640处的一些其他功能或操作、以及在核心数据中心650或全球网络云660中的其他功能或操作之间的协调。
在进一步的配置中,边缘计算系统可以通过使用相应的可执行应用和功能来实现FaaS计算能力。在示例中,开发者编写表示一个或多个计算机功能的功能代码(例如,本文中的“计算机代码”),并且该功能代码被上传到由例如边缘节点或数据中心提供的FaaS平台。触发器(诸如例如,服务用例或边缘处理事件)发起利用FaaS平台执行功能代码。
在FaaS的示例中,容器用于提供一个环境,在该环境中执行功能代码(例如,可能由第三方提供的应用)。容器可以是任何隔离执行的实体,诸如进程、Docker容器或Kubernetes容器、虚拟机等。在边缘计算系统内,各种数据中心、边缘、和端点(包括移动)设备被用于按需扩展的“旋转加速(spin up)”功能(例如,激活和/或分配功能动作)。功能代码在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上得到执行。最后,容器响应于执行被完成而在基础设施上被“旋转减速”(例如,去激活和/或解除分配)。
FaaS的其他方面可以使边缘功能以服务方式进行部署,包括对支持边缘计算即服务(边缘即服务或“EaaS”)的相应功能的支持。FaaS的附加特征可包括:使客户(例如,计算机代码开发者)仅在其代码被执行时进行支付的粒度计费组件;用于存储数据以供一个或多个功能重新使用的通用数据存储;各个功能之间的编排和管理;功能执行管理、并行性和合并;容器和功能存储器空间的管理;功能可用的加速资源的协调;以及功能在容器之间的分布(包括已经部署或操作的“暖”容器,相对于需要初始化、部署、或配置的“冷”容器)。
边缘计算系统600可包括边缘供应节点644或与边缘供应节点644通信。边缘供应节点644可以将诸如图8B的示例计算机可读指令882的软件,分发到实施本文所述的任何方法的各个接收方。示例边缘供应节点644可以由能够存储软件指令和/或向其他计算设备传输软件指令(例如,代码、脚本、可执行二进制文件、容器、包、压缩文件和/或其衍生物)的以下各项来实现:任何计算机服务器、家庭服务器、内容交付网络、虚拟服务器、软件分发系统、中央设施、存储设备、存储节点、数据设施、云服务等。示例边缘供应节点644的(多个)组件可以位于云中、局域网中、边缘网络中、广域网中、因特网上和/或与(多个)接收方通信耦合的任何其他位置。接收方可以是拥有和/或操作边缘供应节点644的实体的客户、客户端、合作伙伴、用户等。例如,拥有和/或操作边缘供应节点644的实体可以是软件指令(诸如图8B的示例计算机可读指令882)的开发者、销售者和/或许可者(或其客户和/或消费者)。接收方可以是消费者、服务提供商、用户、零售商、OEM等,他们购买和/或许可软件指令以用于使用和/或转售和/或分许可。
在示例中,边缘供应节点644包括一个或多个服务器和一个或多个存储设备。存储设备主控计算机可读指令,诸如图8B的示例计算机可读指令882,如下所述。类似于上述边缘网关设备620,边缘供应节点644的一个或多个服务器与基站642或其他网络通信实体通信。在一些示例中,作为商业事务的一部分,一个或多个服务器响应于将软件指令传送到请求方的请求。可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处理对软件指令的交付、销售、和/或许可的支付。服务器使购买者和/或许可者能够从边缘供应节点644下载计算机可读指令882。例如,可以与图8B的示例计算机可读指令882相对应的软件指令可以被下载到示例处理器平台700,该示例处理器平台700用于执行计算机可读指令882以实现本文所描述的方法。
在一些示例中,执行计算机可读指令882的(多个)处理器平台可以物理地位于不同的地理位置、法律管辖区等。在一些示例中,边缘供应节点644的一个或多个服务器周期性地提供、传送和/或强制进行软件指令(例如,图8B的示例计算机可读指令882)的更新以确保改善、补丁、更新等被分发并应用于终端用户设备处实现的软件指令。在一些示例中,计算机可读指令882的不同组件可以从不同的源和/或不同的处理器平台分发;例如,不同的库、插件、组件和其他类型的计算模块,无论是经编译的还是经解释的,都可以从不同的源和/或向不同的处理器平台分发。例如,软件指令的一部分(例如,本身不可执行的脚本)可以从第一源分发,而(能够执行脚本的)解释器可以从第二源分发。
图7图示出诸如ETSI MEC规范指示的移动边缘系统参考框架(或MEC架构)700。图7具体图示出具有MEC主机702和704的MEC架构700,MEC主机702和704提供根据ETSI GS MEC-003规范的功能。在一些方面,对MEC平台632和MEC平台管理器706的增强可用于在MEC架构700内提供指定计算功能。本文公开的示例可以通过使经训练的模型能够在MEC架构700中进行证实和分发而在MEC架构700中实现。
参考图7,MEC网络架构700可以包括MEC主机702和704、虚拟化基础设施管理器(VIM)708、MEC平台管理器706、MEC编排器710、操作支持系统712、用户应用代理714、在UE720上运行的UE应用718、以及CFS门户716。MEC主机702可以包括MEC平台732,该MEC平台732具有过滤规则控制组件740、DNS处置组件742、服务注册表738和MEC服务736。MEC服务736可以包括至少一个调度程序,该至少一个调度程序可以用于选择用于在虚拟化基础设施722上实例化MEC应用(或NFV)726、727和728的资源。MEC应用726和728可以被配置成用于提供服务730和731,该服务730和731可以包括处理与一个或多个无线连接(例如,到一个或多个RAN或电信核心网络实体的连接)相关联的不同类型的网络通信通信量。被实例化在MEC主机704内的MEC应用705可以类似于被实例化在MEC主机702内的MEC应用726-7728。虚拟化基础设施722包括经由MP2接口耦合至MEC平台的数据平面724。图7中图示出MEC架构700的各种网络实体之间的附加接口。
MEC平台管理器706可以包括MEC平台元件管理组件744、MEC应用规则和要求管理组件746、以及MEC应用生命周期管理组件748。MEC架构700内的各种实体可以执行如ETSIGS MEC-003规范所公开的功能。
在一些方面,远程应用(或app)750被配置成经由MEC编排器710和MEC平台管理器706与MEC主机702(例如,与MEC应用706-7728)通信。
在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节点或设备中的任一者可以基于图8A和图8B中所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“物”的类型。例如,边缘计算设备可以被具体化为个人计算机,服务器,智能手机,移动计算设备,智能装置,机载计算系统(例如,导航系统),具有外箱、外壳的自包含设备等,或能够执行所描述的功能的其他设备或系统。
在图8A中描绘的简化示例中,边缘计算节点800包括计算引擎(本文中也称为“计算电路系统”)802、输入/输出(I/O)子系统808、数据存储810、通信电路子系统812,以及任选地,一个或多个外围设备814。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、外围设备等)。另外,在一些示例中,说明性组件中的一个或多个可被并入到另一组件中,或以其他方式形成另一组件的部分。
计算节点800可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点800可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、芯片上系统(SOC)或者其他集成系统或设备。在说明性示例中,计算节点800包括或被具体化为处理器804和存储器806。处理器804可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器804可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
在一些示例中,处理器804可被具体化为、包括或耦合至FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路系统、或用于促进本文中所描述的功能的执行的其他专用硬件。而且在一些示例中,处理器704可被具体化为专用x处理单元(xPU),也称为数据处理单元(DPU)、基础设施处理单元(IPU)或网络处理单元(NPU)。此类xPU可具体化为独立电路或电路封装、集成在SOC内或与联网电路系统(例如,在智能NIC或增强型智能NIC中)集成、加速电路系统、存储设备或AI硬件(例如,GPU或编程FPGA)。在CPU或通用处理硬件之外,此类xPU可被设计成用于接收编程以处理一个或多个数据流并执行针对数据流的特定任务和动作(诸如主控微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格、或收集和分发遥测)。然而,将理解,xPU、SOC、CPU和处理器804的其他变体可以彼此协调工作,以在计算节点800内并代表计算节点800执行许多类型的操作和指令。
存储器806可被具体化为能够执行本文中所述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要功率来维持由该介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器(RAM),诸如DRAM或静态随机存取存储器(SRAM)。可以在存储器模块中使用的一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在示例中,存储器设备是块可寻址存储器设备,诸如基于NAND或NOR技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备(例如,
Figure BDA0003364183610000251
3D XPointTM存储器)或其他字节可寻址的原位写入非易失性存储器设备。存储器设备可指代管芯本身和/或指代封装的存储器产品。在一些示例中,3D交叉点存储器(例如,
Figure BDA0003364183610000252
3D XPointTM存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器806的全部或部分可以被集成到处理器804中。存储器806可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
计算电路系统802经由I/O子系统808通信地耦合到计算节点800的其他组件,该I/O子系统808可被具体化为用于促进与计算电路系统802(例如,与处理器804和/或主存储器806)以及计算电路系统802的其他组件的输入/输出操作的电路系统和/或组件。例如,I/O子系统808可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些示例中,I/O子系统808可以形成芯片上系统(SoC)的部分,并可连同计算电路系统802的处理器804、存储器806、和其他组件中的一者或多者一起被并入到计算电路系统802中。
一个或多个说明性数据存储设备810可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备810可包括存储用于数据存储设备810的数据以及固件代码的系统分区。各个数据存储设备810还可包括根据例如计算节点800的类型来存储用于操作系统的数据文件和可执行文件的一个或多个操作系统分区。
通信电路系统812可被具体化为能够实现通过网络在计算电路系统802与其他计算设备(例如,边缘计算系统的边缘网关)之间进行的通信的任何通信电路、设备或其集合。通信电路系统812可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3GPP 4G或5G标准)、无线局域网协议(诸如IEEE
Figure BDA0003364183610000261
)、无线广域网协议,以太网、
Figure BDA0003364183610000262
蓝牙低能量、IoT协议(诸如IEEE802.15.4或
Figure BDA0003364183610000263
)、低功率广域网(LPWAN)或低功率广域网(LPWA)协议等)来实行此类通信。
说明性通信电路系统812包括网络接口控制器(NIC)820,其也可被称为主机结构接口(HFI)。NIC 820可被具体化为一个或多个插入式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点800用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,NIC 820可被具体化为包括一个或多个处理器的芯片上系统(SoC)的部分,或NIC820可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC 820可包括本地处理器(未示出)和/或本地存储器(未示出),这两者均位于NIC820本地。在此类示例中,NIC 820的本地处理器可以能够执行本文中描述的计算电路系统802的功能中的一个或多个功能。附加地或替代地,在此类示例中,NIC 820的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集成到客户端计算节点的一个或多个组件中。
另外,在一些示例中,相应的计算节点800可以包括一个或多个外围设备814。取决于计算节点800的特定类型,此类外围设备814可包括在计算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算节点800可以由边缘计算系统中的相应的边缘计算节点(无论是客户端、网关还是聚合节点)来具体化,或者由类似形式的装置、计算机、子系统、电路系统或其他组件来具体化。
在更详细的示例中,图8B图示出可以存在于边缘计算节点850中的组件的示例的框图,该组件用于实现本文所描述的技术(例如,操作、过程、方法和方法论)。该边缘计算节点850在被实现为计算设备(例如,移动设备、基站、服务器、网关等)或计算设备(例如,移动设备、基站、服务器、网关等)的一部分时提供节点800的相应组件的更靠近的视图。边缘计算节点850可包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点850可包括可与边缘通信网络或此类网络的组合一起使用的任何设备或与该任何设备耦合。这些组件可被实现为集成电路(IC)、IC的部分、分立电子器件,或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其适用于边缘计算节点850中的组合,或作为以其他方式被并入在更大的系统的底座内的组件。
边缘计算设备850可包括处理器852形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知的处理元件。处理器852可以是芯片上系统(SoC)的部分,在该SoC中,处理器852和其他组件形成为单个集成电路或单个封装,诸如来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器852可包括基于
Figure BDA0003364183610000271
架构酷睿TM(CoreTM)的CPU处理器(诸如夸克TM(QuarkTM)、凌动TM(AtomTM)、i3、i5、i7、i9或MCU类处理器)、或可从
Figure BDA0003364183610000272
获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如可从加利福尼亚州桑尼威尔市的超微半导体公司
Figure BDA0003364183610000277
获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于
Figure BDA0003364183610000276
的设计、许可自ARM控股有限公司的基于
Figure BDA0003364183610000273
的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自
Figure BDA0003364183610000274
公司的A5-A13处理器、来自
Figure BDA0003364183610000275
技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。处理器852和伴随的电路系统可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括以有限的硬件配置或以包括少于图8B中所示的所有元件的配置来提供。
处理器852可通过互连856(例如,总线)来与系统存储器854通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器754可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在特定示例中,存储器组件可符合JEDEC颁布的DRAM标准,诸如DDR SDRAM的JESD79F、DDR2 SDRAM的JESD79-2F、DDR3 SDRAM的JESD79-3F、DDR4 SDRAM的JESD79-4A、低功率DDR(LPDDR)的JESD209、LPDDR2的JESD209-2、LPDDR3的JESD209-3和LPDDR4的JESD209-4。此类标准(和类似的标准)可被称为基于DDR的标准,而存储设备的实现此类标准的通信接口可被称为基于DDR的接口。在各种实现中,单独的存储器设备可以是任何数量的不同封装类型,诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P)。在一些示例中,这些设备可以直接焊接到主板上,以提供薄型解决方案,而在其他示例中,设备被配置为一个或多个存储器模块,这一个或多个存储器模块进而通过给定的连接器耦合至主板。可使用任何数量的其他存储器实现方式,诸如其他类型的存储器模块,例如,不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM(微DIMM)或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储858还可经由互连856而耦合至处理器852。在示例中,存储858可经由固态盘驱动器(SSDD)来实现。可用于存储858的其他设备包括闪存卡(诸如安全数字(SD)卡、microSD卡、极限数字(XD)图片卡,等等)和通用串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存储器的组合。
在低功率实现中,存储858可以是与处理器852相关联的管芯上存储器或寄存器。然而,在一些示例中,存储858可使用微硬盘驱动器(HDD)来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于存储858,这些新技术诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连856进行通信。互连856可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI express(PCI快速,PCIe)或任何数量的其他技术。互连856可以是例如在基于SoC的系统中使用的专有总线。其他总线系统可被包括,诸如集成电路间(I2C)接口、串行外围设备接口(SPI)接口、点对点接口、以及功率总线,等等。
互连856可将处理器852耦合至收发机866,以用于例如与连接的边缘设备862通信。收发机866可使用任何数量的频率和协议,诸如IEEE802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由
Figure BDA0003364183610000291
特别兴趣小组定义的
Figure BDA0003364183610000293
低能量(BLE)标准、或
Figure BDA0003364183610000292
标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备862的连接。例如,无线局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现
Figure BDA0003364183610000294
通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(WWAN)单元发生。
无线网络收发机866(或多个收发机)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,边缘计算节点850可使用基于蓝牙低能量(BLE)或另一低功率无线电的本地收发机与接近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备862可通过
Figure BDA0003364183610000295
或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用
Figure BDA0003364183610000296
的网格收发机。
可包括无线网络收发机866(例如,无线电收发机),以经由局域网协议或广域网协议来与云(例如,边缘云895)中的设备或服务通信。无线网络收发机866可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的低功率广域(LPWA)收发机。边缘计算节点850可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距离广域网)在广域上通信。本文中所描述的技术不限于这些技术,而是可与实现长距离、低带宽通信(诸如Sigfox和其他技术)的任何数量的其他云收发机一起使用。进一步地,可使用其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发机866而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发机866可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的
Figure BDA0003364183610000301
网络。收发机866可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)兼容的无线电。网络接口控制器(NIC)868可被包括以提供到边缘云895的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备862)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 868可被包括以启用到第二网络的连接,例如,第一NIC 868通过以太网提供到云的通信,并且第二NIC 868通过另一类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的可适用通信类型的多样性,由设备使用的可适用通信电路系统可以包括组件864、866、868或870中的任何一个或多个,或由组件864、866、868或870中的任何一个或多个来具体化。因此,在各示例中,用于通信(例如,接收、传送等)的可适用装置可由此类通信电路系统来具体化。
边缘计算节点850可以包括或被耦合到加速电路系统864,该加速电路系统864可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括AI处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连856可将处理器852耦合至用于连接附加的设备或子系统的传感器中枢或外部接口870。设备可包括传感器872,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(例如,GPS)传感器、压力传感器、气压传感器,等等。中枢或接口870可进一步用于将边缘计算节点850连接至致动器874,诸如功率开关、阀致动器、可听声音发生器、视觉警告设备等。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于边缘计算节点850内,或可连接至边缘计算节点850。例如,可包括显示器或其他输出设备884来显示信息,诸如传感器读数或致动器位置。可以包括输入设备886(诸如触摸屏或小键盘)来接受输入。输出设备884可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如二进制状态指示器(例如,发光二极管(LED));多字符视觉输出;或更复杂的输出,诸如显示屏(例如,液晶显示器(LCD)屏),其具有从边缘计算节点850的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可用于:提供边缘计算系统的输出并接收边缘计算系统的输入;管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态;或进行任何其他数量的管理或管理功能或服务用例。
电池876可为边缘计算节点850供电,但是在其中边缘计算节点850被安装在固定位置的示例中,该边缘计算节点850可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池876可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监测器/充电器878可被包括在边缘计算节点850中以跟踪电池876(如果包括的话)的充电状态(SoCh)。电池监测器/充电器878可用于监测电池876的其他参数以提供失效预测,诸如电池876的健康状态(SoH)和功能状态(SoF)。电池监测器/充电器878可包括电池监测集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器878可通过互连856将关于电池876的信息传递至处理器852。电池监测器/充电器878也可包括使处理器852能够直接监测电池876的电压或来自电池876的电流的模数(ADC)转换器。电池参数可被用于确定边缘计算节点850可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块880或耦合至电网的其他电源可与电池监测器/充电器878耦合以对电池876充电。在一些示例中,功率块880可用无线功率接收机代替,以便例如通过边缘计算节点850中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监测器/充电器878中。可以基于电池876的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储858可包括用于实现本文中公开的技术的软件、固件或硬件命令形式的指令882。虽然此类指令882被示出为被包括在存储器854和存储858中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路替换代码块中的任一个。
在示例中,经由存储器854、存储858或处理器852提供的指令882可被具体化为非暂态机器可读介质860,该非暂态机器可读介质860包括用于指导处理器852执行边缘计算节点850中的电子操作的代码。处理器852可通过互连856访问非暂态机器可读介质860。例如,非暂态机器可读介质860可由针对存储858所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非暂态机器可读介质860可包括用于指示处理器852执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文所适用,术语“机器可读介质”和“计算机可读介质”是可互换的。
也在特定示例中,处理器852上的指令882(单独地或与机器可读介质860的指令882结合)可以配置受信任执行环境(TEE)890的执行或操作。在示例中,TEE 890作为处理器852可访问的保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用
Figure BDA0003364183610000321
软件防护扩展(SGX)或
Figure BDA0003364183610000322
硬件安全扩展、
Figure BDA0003364183610000323
管理引擎(ME)或
Figure BDA0003364183610000331
融合安全可管理性引擎(CSME)来提供TEE 890的各种实现方式以及处理器852或存储器854中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过TEE 890和处理器852在设备850中实现。
在进一步的示例中,机器可读介质也包括任何有形介质,该有形介质能够存储、编码或携带供由机器执行并且使机器执行本公开方法中的任何一种或多种方法的指令,或者该有形介质能够储存、编码或携带由此类指令利用或与此类指令相关联的数据结构。“机器可读介质”因此可包括但不限于固态存储器、光学介质和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备);诸如内部硬盘及可移除盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。可使用传输介质,经由网络接口设备,利用多个传输协议中的任何一种协议(例如,超文本传输协议(HTTP)),进一步通过通信网络来传送或接收由机器可读介质具体化的指令。
机器可读介质可以由能够以非暂态格式主管数据的存储设备或其他装置提供。在示例中,存储在机器可读介质上或以其他方式提供在机器可读介质上的信息可以表示指令,诸如指令本身或者可以从中导出指令的格式。可以从中导出指令的该格式可以包括源代码、经编码的指令(例如,以压缩或加密的形式)、经封装的指令(例如,分成多个封装)等。表示机器可读介质中的指令的信息可以通过处理电路系统处理成指令来实现本文所讨论的任何操作。例如,从(例如,由处理电路系统进行的处理的)信息中导出指令可以包括:(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地进行链接)、编码、解码、加密、解密、打包、拆包,或者以其他方式将信息操纵到指令中。
在示例中,指令的推导可以包括(例如,通过处理电路系统)对信息进行汇编、编译、或解释,以从机器可读介质提供的一些中间或预处理的格式创建指令。当信息以多个部分提供时,可以对其进行组合、拆包和修改以创建指令。例如,信息可以处于一个或若干远程服务器上的多个经压缩的源代码封装(或目标代码、或二进制可执行代码等)中。源代码封装可以在通过网络传输时被加密,并且可以在本地机器处被解密、被解压缩、(如果必要的话)被汇编(例如,被链接),并且被编译或被解释(例如被编译或被解释成库、独立的可执行文件等),并且由本地机器执行。
图9A图示出用于通过链路而耦合到相应的网关的各个物联网(IoT)网络的示例域拓扑。物联网(IoT)是这样的概念,其中,大量计算设备互连至彼此并互连至因特网,以便在非常低的级别上提供功能和数据采集。因此,如本文中所使用,IoT设备可包括执行功能(诸如感测或控制,等等)、与其他IoT设备和范围更广的网络(诸如因特网)进行通信的半自主设备。
IoT设备常在存储器、尺寸或功能方面受限,从而允许部署较大数量的设备,以实现与较少数量的较大设备类似的成本。然而,IoT设备可以是智能电话、膝上型设备、平板设备、或PC、或其他较大的设备。进一步地,IoT设备可以是虚拟设备,诸如智能电话或其他计算设备上的应用。IoT设备可包括IoT网关,这些IoT网关用于将IoT设备耦合至其他IoT设备并耦合至云应用,以进行数据存储、过程控制,等等。
IoT设备的网络可包括商用和家用自动化设备,诸如给水系统、配电系统、流水线控制系统、工厂控制系统、灯开关、恒温器、锁、相机、警报、运动传感器,等等。IoT设备可以是通过远程计算机、服务器和其他系统可访问的,从而例如控制系统或访问数据。
因特网和类似网络的未来增长可涉及非常大量的IoT设备。相应地,在本文中讨论的技术的情境中,用于此类未来联网的大量创新将解决所有这些层无障碍地增长、发现并制造能访问的经连接资源以及支持隐藏并分隔经连接资源的能力的需求。可使用任何数量的网络协议和通信标准,其中,每种协议和标准被设计成解决特定的目标。进一步地,协议是支持无论地点、时间或空间而进行操作的人类可访问服务的结构的部分。创新包括:服务交付和相关联的基础结构,诸如硬件和软件;安全增强;以及基于在服务水平和服务交付协议中指定的服务质量(QoS)条款的服务提供。如将理解的那样,使用诸如在图9A和图9B中介绍的那些IoT设备和网络在包括有线和无线技术的组合的异构连接性网络中呈现出大量新挑战。
图9A具体提供可用于大量物联网(IoT)网络的域拓扑的简化图,大量IoT网络包括IoT设备904,其中IoT网络956、958、960、962通过主干链路902耦合至相应的网关954。例如,大量IoT设备904可与网关954通信,并且可通过网关954彼此通信。为了简化该图,不是每个IoT设备904或通信链路(例如,链路916、922、928或932)都被标记。主干链路902可包括任何数量的有线或无线技术(包括光学网络),并且可以是局域网(LAN)、广域网(WAN)或因特网的部分。另外,此类通信链路促进IoT设备904与网关954两者之间的光学信号路径,包括使用促进各种设备的互连的复用/解复用组件。
网络拓扑可包括任何数个类型的IoT网络,诸如利用网络956使用蓝牙低能量(BLE)链路922而提供的网格网络。可能存在的其他类型的IoT网络包括:用于通过IEEE802.11
Figure BDA0003364183610000351
链路928与IoT设备904通信的无线局域网(WLAN)网络958;用于通过LTE/LTE-A(4G)或5G蜂窝网络与IoT设备904通信的蜂窝网络960;以及低功率广域(LPWA)网络962,例如,与由LoRa联盟颁布的LoRaWan规范兼容的LPWA网络;或低功率广域网(LPWAN)网络上的IPv6,其与由互联网工程任务组(IETF)颁布的规范兼容。进一步地,各个IoT网络可使用任何数量的通信链路与外部网络提供商(例如,层2或层3提供商)通信,这些通信链路诸如LTE蜂窝链路、LPWA链路、或基于IEEE 802.15.4标准的链路(诸如
Figure BDA0003364183610000352
)。各个IoT网络也可伴随着各种网络和网际应用协议(诸如受约束的应用协议(CoAP))的使用来操作。各个IoT网络还可与协调器设备集成,这些协调器设备提供链路链,该链路链形成经链接的设备和网络的集群树。
这些IoT网络中的每一个IoT网络可为新技术特征(诸如,如本文中所描述的那些技术特征)提供机会。改善的技术和网络可实现设备和网络的指数式增长,包括将IoT网络用到“雾”设备或集成到“边缘”计算系统中。随着此类改进技术的使用增长,可在无需直接的人类干预的情况下开发IoT网络以实现自管理、功能进化和协同。改进的技术甚至可使IoT网络能够在没有集中式受控的系统的情况下运作。相对应地,本文中描述的改进的技术可用于远超当前实现方式地使网络管理和操作功能自动化并增强网络管理和操作功能。
在示例中,IoT设备904之间的(诸如主干链路902上的)通信可受分散化系统保护以进行认证、授权和记账(AAA)。在分散化AAA系统中,可跨互连的异构网络基础结构实现分布式支付、信贷、审计、授权和认证系统。这允许系统和网络迈向自主操作。在这些类型的自主操作中,机器甚至可订立人力资源合约,并且与其他机器网络商议伙伴关系。这可允许针对概括的计划服务水平协议实现共同目标和均衡的服务交付,并且实现提供计量、测量、可追溯性和可跟踪性的解决方案。新供应链结构和方法的产生可在没有任何人类参与的情况下使大量服务能够被产生、被挖掘价值以及坍塌。
此类IoT网络可通过将感测技术(诸如声、光、电子通信量、面部和模式识别、嗅觉、振动)集成到IoT设备之间的自主组织中而进一步被增强。对传感系统的集成可允许对于针对合同服务目标、基于编排和服务质量(QoS)的分群以及资源融合的服务交付的系统性和自主的通信和协调。基于网络的资源处理的单独的示例中的一些包括以下示例。
网格网络956例如可由执行串联式数据-信息变换的系统来增强。例如,包括多链路网络的处理资源的自形成的链能以高效的方式分布原始数据向信息的变换、在资产与资源之间进行区分的能力以及对每一者的相关联的管理。此外,可插入基于基础结构和资源的恰当组件的信任和服务索引以改善数据完整性、质量、保证,并递送数据置信度的度量。
WLAN网络958例如可使用执行标准转换的系统以提供多标准连接性,从而实现使用不同协议进行通信的IoT设备904。进一步的系统可提供跨多标准基础结构的无缝的互连接性,该多标准基础结构包括可见的因特网资源和隐藏的因特网资源。
蜂窝网络960中的通信例如可由转移数据的系统、将通信延伸至更远程的设备的系统或转移数据的系统、以及将通信延伸至更远程的设备的系统两者来增强。LPWA网络962可包括执行非网际(IP)至IP互连、寻址和路由的系统。进一步地,IoT设备904中的每一个可包括用于与那个设备进行广域通信的适当的收发机。进一步地,每个IoT设备904可包括用于使用附加的协议和频率进行通信的其他收发机。关于图9C和图9D中所描绘的IoT处理设备的通信环境和硬件进一步讨论了这一点。
最终,可装备IoT设备的集群以与其他IoT设备以及与云网络通信。这可允许IoT设备在设备之间形成自组织(ad-hoc)网络,从而允许它们充当可被称为雾设备、雾平台或雾网络的单个设备。下面进一步参考图9B来讨论该配置。
图9B图示了与在联网的场景中作为雾平台操作的IoT设备(设备902)的网格网络进行通信的云计算网络。IoT设备的网格网络可被称为雾网络920,该雾网络920从在云900的边缘处操作的设备的网络建立。为了简化该图,没有对每个IoT设备902进行标记。
雾网络920可被认为是大规模地互连的网络,其中数个IoT设备902例如通过无线电链路922与彼此进行通信。雾网络920可以建立可被视为位于IoT边缘设备与云或数据中心之间的水平资源平台、物理资源平台、或虚拟资源平台。在一些示例中,雾网络可以通过分层计算、联合计算、或分布式计算、存储、和网络连接操作来支持垂直隔离的、对等待时间敏感的应用。然而,雾网络也可以用于在边缘和云处以及边缘和云之间分发资源和服务。因此,在本文档中对“边缘”、“雾”、和“云”的引用不一定是离散的或彼此排他性的。
作为示例,该雾网络920可使用由开放连接性基金会TM(OCF)发布的互连规范来促进。该标准允许设备发现彼此并建立通信以用于互连。也可使用其他互连协议,包括例如,最优链路状态路由(OLSR)协议、或至移动自组织联网的更好方式(B.A.T.M.A.N)路由协议、或OMA轻量型M2M(LWM2M)协议,等等。
尽管在本示例中展示三种类型的IoT设备902:网关904、数据聚合器926、以及传感器928,但可以使用IoT设备902和功能的任何组合。网关904可以是提供云900与雾网络920之间的通信的边缘设备,并且还可为从传感器928获得的数据(诸如运动数据、流数据、温度数据等)提供后端处理功能。数据聚合器926可从任何数量的传感器928收集数据,并执行后端处理功能以用于分析。结果、原始数据或这两者可通过网关904传递至云900。传感器928可以是例如能够既收集数据又处理数据的完整的IoT设备902。在一些情况下,传感器928在功能上可能更受限制,该功能例如,收集数据并允许数据聚合器926或网关904处理该数据。
来自任何IoT设备902的通信可沿IoT设备902中的任一者之间的方便的路径被传递以到达网关904。在这些网络中,互连的数目提供了大量冗余,这允许即使在损失数个IoT设备902的情况下也维持通信。此外,网格网络的使用可允许使用功率非常低或位于距基础结构一定距离的IoT设备902,因为连接到另一个IoT设备902的范围可能比连接到网关904的范围小得多。
从这些IoT设备902提供的雾网络920可以被呈现给云900中的设备(诸如服务器906)作为位于云900的边缘处的单个设备,例如,作为设备或平台操作的雾网络。在该示例中,来自雾平台的警报可以被发送而不被识别为来自雾网络920内的特定IoT设备902。以此方式,雾网络920可被视为分布式平台,该分布式平台提供计算和存储资源以执行处理或数据密集型任务(诸如数据分析、数据聚合和机器学习,等等)。
在一些示例中,可以使用命令性编程风格来配置IoT设备902,例如,每个IoT设备902具有特定功能和通信伙伴。然而,形成雾平台的IoT设备902可以声明性编程风格配置,从而使得IoT设备902能重新配置它们的操作和通信,诸如响应于条件、查询和设备故障来确定所需的资源。作为示例,来自位于服务器906处的用户关于由IoT设备902监测的装备子集的操作的查询可以导致雾网络920选择回答该查询所需的IoT设备902,诸如特定的传感器928。然后,来自这些传感器928的数据在由雾网络920发送到服务器906以回答该查询之前,可由传感器928、数据聚合器926或网关904的任何组合来聚合并分析。在该示例中,雾网络920中的IoT设备902可以基于查询来选择使用的传感器928,诸如添加来自流量传感器或温度传感器的数据。进一步地,如果IoT设备902中的一些不可操作,则雾网络920中的其他IoT设备902可以提供类似的数据(如果可用的话)。
在其他示例中,以上描述的操作和功能可由电子处理系统的示例形式的IoT或边缘计算设备来具体化,在该电子处理系统内,可执行一组指令或指令序列以使该电子处理系统执行根据示例实施例的本文中讨论的方法中的任一方法。设备可以是IoT设备或IoT网关,包括由以下各项的多个方面具体化的机器:个人计算机(PC)、平板PC、个人数字助理(PDA)、移动电话或智能电话、或能够执行指定要由该机器采取的动作的指令(顺序地或以其他方式)的任何机器。
此外,尽管在上述示例中可能仅描绘并引用了单个机器,但是也应当认为此类机器包括单独地或联合地执行一组(或多组)指令以执行本文中所讨论的方法中的任何一种或多种方法的机器的任何集合。此外,对于基于处理器的系统的这些示例和类似示例应当被认为包括由处理器、处理器集合或处理电路系统(例如,计算机)控制或操作以单独地或联合地执行指令来执行本文中所讨论的方法中的任何一种或多种方法的一个或多个机器的任何集合。因此,在各示例中,用于处理(例如,处理、控制、生成、评估等)的可适用装置可由此类处理电路系统来具体化。
图9B图示出与数个物联网(IoT)设备通信的云计算网络或云900的图。云900可表示因特网,或者可以是局域网(LAN)、或广域网(WAN),诸如用于公司的专属网络。IoT设备可包括按各种组合分组的任何数量的不同类型的设备。例如,交通控制组906可包括沿城市中的街道的IoT设备。这些IoT设备可包括停车灯、交通流监测器、相机、天气传感器,等等。交通控制组906或其他子组可通过有线或无线链路908(诸如LPWA链路等等)与云900进行通信。进一步地,有线或无线子网912可允许IoT设备诸如通过局域网、无线局域网等等来彼此通信。IoT设备可使用另一设备(诸如网关910或928)来与远程位置(诸如云900)通信;IoT设备也可使用一个或多个服务器930来促进与云900或与网关910的通信。例如,一个或多个服务器930可充当中介网络节点以支持在局域网之间的局部边缘云或雾实现。而且,所描绘的网关928可在诸如具有各种IoT设备914、920、924的云到网关到许多边缘设备配置中操作,各种IoT设备914、920、924对于云900中的资源的分配和使用是受约束的或动态的。
IoT设备的其他示例组可包括远程气象站914、本地信息终端916、警报系统918、自动化柜员机920、警报面板922或移动交通工具(诸如应急交通工具924或其他交通工具926),等等。这些IoT设备中的每一个可与其他IoT设备、与服务器904、与另一IoT雾设备或系统(未示出但在图9中描绘)、或与其中的组合通信。这些IoT设备的组可部署在各种住宅、商业和工业设定(包括私有环境或公共环境两者)中。
如从图9C可见,大量IoT设备可通过云900进行通信。这可允许不同的IoT设备自主地请求信息或将信息提供给其他设备。例如,IoT设备的组(例如,交通控制组906)可从可在没有人类干预的情况下提供预报的远程气象站的组914请求当前的天气预报。进一步地,可由自动化柜员机920向应急交通工具924警告盗窃在进行中。当应急交通工具924朝自动化柜员机920行进时,它可访问交通控制组906以请求清空该位置,例如,通过在足够的时间内亮起红灯以阻止交叉路口处的交叉交通流,以使应急交通工具924能够畅通无阻地进入该交叉路口。
可装备IoT设备的集群(诸如远程气象站914或交通控制组906)以与其他IoT设备以及与云900进行通信。这可允许IoT设备在多个设备之间形成自组织网络,从而允许它们充当单个设备,该单个设备可被称为雾设备或系统(例如,如上文中参照图9B所描述)。
图9D是可存在于IoT设备950中用于实现本文中描述的技术的组件的示例的框图。IoT设备950可包括在示例中示出或在上文公开内容中引用的组件的任何组合。这些组件可被实现为IC、IC的部分、分立电子器件,或其他模块、逻辑、硬件、软件、固件或其适用于IoT设备950中的组合,或作为以其他方式被并入在更大的系统的机架内的组件。此外,图9的框图旨在描绘IoT设备950的组件的高级视图。然而,可省略所示出的组件中的一些组件,可存在附加的组件,并且所示出的组件的不同布置可在其他实现方式中发生。
IoT设备950可包括处理器952形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器,或其他已知的处理元件。处理器952可以是芯片上系统(SoC)的部分,在该SoC中,处理器952和其他组件被形成到单个集成电路或单个封装中,诸如来自英特尔的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器952可包括基于
Figure BDA0003364183610000401
架构酷睿TM(CoreTM)的处理器(诸如QuarkTM、AtomTM、i3、i5、i7或MCU类处理器)、或可从加利福尼亚州圣克拉拉市的
Figure BDA0003364183610000411
公司获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司(AMD)获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于MIPS的设计、许可自ARM控股有限公司的基于ARM的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自
Figure BDA0003364183610000413
Figure BDA0003364183610000412
公司的A5-A14处理器、来自
Figure BDA0003364183610000414
技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。
处理器952可通过互连956(例如,总线)来与系统存储器954通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在各种实现方式中,单独的存储器设备可以是任何数量的不同封装类型,诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P)。在一些示例中,这些设备可以直接焊接到主板上,以提供薄型解决方案,而在其他示例中,设备被配置为一个或多个存储器模块,这一个或多个存储器模块进而通过给定的连接器耦合至主板。可使用任何数量的其他存储器实现方式,诸如其他类型的存储器模块,例如,不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM(微DIMM)或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储958还可经由互连956而耦合至处理器952。在示例中,存储958可经由固态盘驱动器(SSDD)来实现。可用于存储958的其他设备包括闪存卡(诸如SD卡、microSD卡、xD图片卡,等等)和USB闪存驱动器。在低功率实现中,存储958可以是与处理器952相关联的管芯上存储器或寄存器。然而,在一些示例中,存储958可使用微硬盘驱动器(HDD)来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于存储958,诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连956进行通信。互连956可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI express(PCI快速,PCIe)或任何数量的其他技术。互连956可以是例如在基于SoC的系统中使用的专有总线。其他总线系统可被包括,诸如I2C接口、SPI接口、点对点接口、功率总线,等等。
鉴于从设备到另一组件或网络的可适用通信类型的多样性,由设备使用的可适用通信电路系统可以包括组件962、966、968或970中的任何一个或多个,或由组件962、966、968或970中的任何一个或多个来具体化。因此,在各示例中,用于通信(例如,接收、传送等)的可适用装置可由此类通信电路系统来具体化。
互连956可将处理器952耦合至网格收发机962,以便例如与其他网格设备964通信。网格收发机962可使用任何数量的频率和协议,诸如IEEE802.15.4标准下的2.4千兆赫兹(GHz)传送,使用如由
Figure BDA0003364183610000421
特别兴趣小组定义的
Figure BDA0003364183610000423
低能量(BLE)标准、或
Figure BDA0003364183610000422
标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到网格设备964的连接。例如,WLAN单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现Wi-FiTM通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由WWAN单元发生。
网格收发机962可使用用于不同范围的通信的多种标准或无线电来进行通信。例如,IoT设备950可使用基于BLE的或另一低功率无线电的本地收发机与接近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)网格设备964可通过ZigBee或其他中间功率无线电而达到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用ZigBee的网格收发机。
无线网络收发机966可被包括,以经由局域网协议或广域网协议来与云900中的设备或服务通信。无线网络收发机966可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的LPWA收发机。IoT设备950可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距广域网)在广域上通信。本文中所描述的技术不限于这些技术,而是可与实现长距离、低带宽通信(诸如Sigfox和其他技术)的任何数量的其他云收发器一起使用。进一步地,可使用其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的网格收发机962和无线网络收发机966而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,无线电收发机962和966可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的LTE或其他蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的
Figure BDA0003364183610000431
网络。
无线电收发机962和966可包括与任何数量的3GPP(第三代合作伙伴计划)规范(尤其是长期演进(LTE)、长期演进-高级(LTE-A)和长期演进-高级加强版(LTE-A Pro))兼容的无线电。可以注意到,可选择与任何数量的其他固定的、移动的或卫星通信技术和标准兼容的无线电。这些可包括例如任何蜂窝广域无线通信技术,其可包括例如第5代(5G)通信系统、全球移动通信(GSM)无线电通信系统、通用分组无线电服务(GPRS)无线电通信技术、或GSM演进(EDGE)增强数据速率无线电通信技术、UMTS(通用移动电信系统)通信技术,除了上面列出的标准外,任何数量的卫星上行链路技术都可以用于无线网络收发机966,包括例如符合由ITU(国际电信联盟)或ETSI(欧洲电信标准协会)发布标准的无线电等。本文中所提供的示例因此可被理解为适用于各种现有的和尚未制定的各种其他通信技术。
网络接口控制器(NIC)968可被包括以提供到云900或到其他设备(诸如网格设备964)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 968可被包括以允许到第二网络的连接,例如,NIC 968通过以太网提供到云的通信,并且第二NIC 968通过另一类型的网络提供到其他设备的通信。
互连956可将处理器952耦合至外部接口970,该外部接口970用于连接外部设备或子系统。外部设备可包括传感器972,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(GPS)传感器、压力传感器、气压传感器,等等。外部接口970可进一步用于将IoT设备950连接至致动器974(诸如电源开关、阀致动器、可听见声音发生器、视觉警告设备等)。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于IoT设备950内,或可连接至IoT设备950。例如,可包括显示器或其他输出设备984来显示信息,诸如传感器读数或致动器位置。可以包括输入设备986(诸如触摸屏或小键盘)来接受输入。输出设备986可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如二进制状态指示器(例如,LED);多字符视觉输出;或更复杂的输出,诸如显示屏(例如,LCD屏),其具有从IoT设备950的操作生成或产生的字符、图形、多媒体对象等的输出。
电池976可为IoT设备950供电,但是在其中IoT设备950被安装在固定位置的示例中,该IoT设备950可具有耦合至电网的电源。电池976可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监测器/充电器978可被包括在IoT设备950中以跟踪电池976的充电状态(SoCh)。电池监测器/充电器978可用于监视电池976的其他参数以提供故障预测,诸如电池976的健康状态(SoH)和功能状态(SoF)。电池监测器/充电器978可包括电池监视集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器978可通过互连956将关于电池976的信息传输至处理器952。电池监测器/充电器978也可包括允许处理器952直接监测电池976的电压或来自电池976的电流的模数(ADC)转换器。电池参数可被用于确定IoT设备950可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块980或耦合至电网的其他电源可与电池监测器/充电器978耦合以对电池976充电。在一些示例中,功率块980可用无线功率接收机代替,以便例如通过IoT设备950中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监测器/充电器978中。所选择的特定的充电电路可取决于电池976的尺寸,并因此取决于所要求的电流。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless Power Consortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储958可包括用于实现本文中公开的技术的软件、固件或硬件命令形式的指令982。虽然此类指令982被示出为被包括在存储器954和存储958中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路来代替代码块中的任一个。
在示例中,经由存储器954、存储958或处理器952提供的指令982可具体化为非暂态机器可读介质960,该非暂态机器可读介质960包括用于指示处理器952执行IoT设备950中的电子操作的代码。处理器952可通过互连956访问非暂态机器可读介质960。例如,非暂态机器可读介质960可由针对图9D的存储958所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非暂态机器可读介质960可包括用于指示处理器952执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。
而且,在特定示例中,处理器952上的指令988(单独地或与机器可读介质960的指令988结合)可以配置受信任执行环境(TEE)990的执行或操作。在示例中,TEE 990作为处理器952可访问的保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用
Figure BDA0003364183610000451
软件防护扩展(SGX)或
Figure BDA0003364183610000453
硬件安全扩展、
Figure BDA0003364183610000452
管理引擎(ME)或
Figure BDA0003364183610000454
融合安全可管理性引擎(CSME)来提供TEE 990的各种实现方式以及处理器952或存储器954中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过TEE 990和处理器952在设备950中实现。
在更一般的级别,边缘计算系统可以被描述为涵盖在边缘云110中操作的任何数量的部署,其提供来自客户端和分布式计算设备的协调。为了说明的目的,图9E提供了部署在边缘计算环境之中的分布式计算层的进一步抽象概览。
图9E一般性地描绘了用于将边缘服务和应用提供给多利益相关者实体的边缘计算系统,这些多利益相关者实体如在一个或多个客户端计算节点902、一个或多个边缘网关节点912、一个或多个边缘聚合节点922、一个或多个核心数据中心932和全球网络云942之间所分布的,如跨网络的各个层所分布的。可以在电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体处或以其名义提供边缘计算系统的实现。
边缘计算系统的每个节点或设备位于与层910、920、930、940、950相对应的特定层。例如,客户端计算节点902各自位于端点层910,而边缘网关节点912中的每一个位于边缘计算系统的边缘设备层920(本地级别)。附加地,边缘聚合节点922(和/或雾设备924,如果与雾联网络配置926一起布置或操作,或者在雾联网配置926中布置或操作的话)中的每一个位于网络接入层930(中间级别)处。雾计算(或“雾化(fogging)”)通常指云计算扩展到企业的网络的边缘,通常在协调的分布式或多节点网络中。一些形式的雾计算在终端设备与代表云计算位置的云计算数据中心之间提供计算、存储和联网服务的部署。此类形式的雾计算提供与本文所讨论的边缘计算一致的操作;本文所讨论的许多边缘计算方面适用于雾网络、雾化、和雾配置。进一步地,本文所讨论的边缘计算系统的各方面可以被配置为雾,或者雾的各方面可以被集成到边缘计算架构中。
核心数据中心932位于核心网络层940(例如,区域或地理中心级别),而全球网络云942位于云数据中心层950(例如,国家或全球层)。“核心”的使用被提供为网络中较深的集中式网络位置的术语,该集中式网络位置可由多个边缘节点或组件访问;然而,“核心”不一定指定网络的“中心”或最深位置。因此,核心数据中心932可位于边缘云110内、边缘云110处或边缘云110附近。
虽然在图9E中示出了说明性数量的客户端计算节点902、边缘网关节点912、边缘聚合节点922、核心数据中心932、全球网络云942,但是应当领会,边缘计算系统可以在每一层处包括更多或更少的设备或系统。附加地,如图9E所示,每一层910、920、930、940、950的组件的数量通常在每个较低的级别处增加(即,当移动到靠近端点时)。由此,一个边缘网关节点912可以服务多个客户端计算节点902,而一个边缘聚合节点922可以服务多个边缘网关节点912。
与本文提供的示例一致,每个客户端计算节点902可以被具体化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其他“物”。进一步地,如边缘计算系统900中所使用的标签“节点”或“设备”不一定意指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反,边缘计算系统900中的节点或设备中的任一者指代包括分立的和/或连接的硬件或软件配置以促进或使用边缘云110的各个实体、节点或子系统。
由此,边缘云110由分别由层920、930的边缘网关节点912和边缘聚合节点922操作并在层920、930的边缘网关节点912和边缘聚合节点922内被操作的网络组件和功能特征形成。边缘云110可被具体化为提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源被定位成接近无线电接入网络(RAN)启用的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在图9E中被示出为客户端计算节点902。换言之,边缘云110可被预想为连接端点设备和传统网络接入点、同时还提供存储和/或计算能力的“边缘”,该“边缘”充当进入到包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G网络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如,Wi-Fi、长距离无线网络)也可替代此类3GPP运营商网络被利用或与此类3GPP运营商网络组合来利用。
在一些示例中,边缘云110可以形成雾联网配置926的一部分或以其他方式提供到雾联网配置926(例如,雾设备924的网络,未详细示出)中或跨雾联网配置926的入口点,该雾联网配置可被具体化为系统级别横向且分布式架构,该架构分布资源和服务以执行特定的功能。例如,雾设备924的经协调的和分布式网络可以在IoT系统布置的上下文中执行计算、存储、控制、或联网方面。在云数据中心层950与客户端端点(例如,客户端计算节点902)之间的边缘云110中可以存在其他联网的、聚合的和分布式的功能。下面各部分将在网络功能或服务虚拟化的上下文中讨论其中的一些,包括为多个利益相关者编排的虚拟边缘和虚拟服务的使用。
边缘网关节点912和边缘聚合节点922协作以将各种边缘服务和安全性提供给客户端计算节点902。此外,因为每个客户端计算节点902可以是静止的或移动的,因此当相对应的客户端计算节点902围绕区域移动时,每个边缘网关节点912可以与其他边缘网关设备协作以传播当前提供的边缘服务和安全性。为此,边缘网关节点912和/或边缘聚合节点922中的每一个可以支持多个租户和多个利益相关者配置,其中来自多个服务提供商和多个消费者的服务(或针对多个服务提供商和多个消费者而主管的服务)可以跨单个或多个计算设备被支持和被协调。
图10图示出根据示例的非陆地(卫星)和陆地(移动蜂窝网络)设置中的网络连接性。如图所示,卫星星座1000可以包括多个卫星1001、1002,它们彼此连接并且连接到一个或多个陆地网络。具体地,卫星星座连接到回程网络,回程网络进而连接到5G核心网络1040。5G核心网络用于支持卫星网络和陆地5G无线电接入网络(RAN)1030处的5G通信操作。
图10还描绘了陆地5G RAN 1030的使用,以经由大规模MIMO天线1050向用户装备(UE)1020提供无线电连接。应当理解,出于清楚的目的,图10中未描绘各种网络通信组件和单元。考虑到这些基本实体,以下技术描述了可以针对各种边缘计算场景扩展陆地网络和卫星网络的方式。可以实施本文公开的示例以证实并传输卫星1001、1002和/或卫星星座1000之间的学习模型。
图11图示出根据实施例的示例信息中心网络(ICN)1100。ICN与传统的基于主机(例如,基于地址)的通信网络的操作方式不同。ICN是联网范式的涵盖性术语,其中信息和/或功能本身是根据网络而不是主机(例如,提供信息的机器)命名和请求的。在基于主机的联网范式中,诸如网际协议(IP)中使用的,设备定位主机并从该主机请求内容。网络了解如何基于分组中指定的地址来路由(例如,引导)分组。相比之下,ICN不包括对特定机器的请求,并且不使用地址。相反,为了获得内容,设备1105(例如,订阅者)从网络本身请求命名的内容。内容请求可被称为兴趣并且经由兴趣分组1130被传送。随着兴趣分组遍历诸如网络元件1110、1115和1120之类的网络设备(例如,网络元件、路由器、交换机、集线器等),兴趣的记录被例如保存在每个网络元件处的待定兴趣表(PIT)中。因此,网络元件1110为兴趣分组1130维护其PIT 1135中的条目,网络元件1115维护其PIT中的条目,而网络元件1120维护其PIT中的条目。
当遇到具有与兴趣分组1130中的名称匹配的内容的设备(诸如发布者1140)时,该设备1140可以响应于兴趣分组1130而发送数据分组1145。通常,通过追随兴趣分组1130在网络元件PIT中留下的轨迹,数据分组1145通过网络被追溯回到源(例如,设备1105)。因此,每个网络元件处的PIT 1135建立到订阅者1105的回溯,以供数据分组1145追随。
在ICN中匹配命名的数据可遵循若干个策略。一般而言,诸如利用统一资源标识符(URI)来分层级地命名数据。例如,视频可被命名为www.somedomain.com或videos(视频)或v8675309。此处,层级结构可被视为发布者“www.somedomain.com”、子类别“videos(视频)”以及规范化标识“v8675309”。当兴趣1130遍历ICN时,ICN网络元件一般将尝试最大程度地匹配名称。因此,如果ICN元件具有针对“www.somedomain.com或videos(视频)”和“www.somedomain.com或videos(视频)或v8675309”两者的经高速缓存的项目或路由,则ICN元件将针对指定“www.somedomain.com或videos(视频)或v8675309”的兴趣分组1130匹配后者。在示例中,可由ICN设备在匹配中使用表达式。例如,兴趣分组可指定“www.somedomain.com或videos(视频)或v8675*”,其中,‘*’为通配符。因此,包括除通配符之外的数据的任何经高速缓存的项目或路由将被匹配。
项目匹配涉及将兴趣1130与在ICN元件中高速缓存的数据匹配。因此,例如,如果在兴趣1130中被命名的数据1145被高速缓存在网络元件1115中,则网络元件1115将经由网络元件1110把数据1145返回给订阅者1105。然而,如果数据1145未被高速缓存在网络元件1115处,则网络元件1115将兴趣1130路由到(例如,网络元件1120)。为了促进路由,网络元件可以使用转发信息库1125(FIB)来将命名的数据与路由的接口(例如,物理端口)进行匹配。因此,FIB 1125的操作非常类似于传统网络设备上的路由表。
在示例中,附加元数据可被附连至兴趣分组1130、高速缓存的数据、或路由(例如,在FIB 1125中),以提供附加级别的匹配。例如,数据名称可以指定为“ww.somedomain.com或videos(视频)或v8675309”,但也可以包含版本号—或时间戳、时间范围、认可等。在此示例中,兴趣分组1130可以指定期望的名称、版本号或版本范围。匹配随后可定位匹配名称的路由或经高速缓存的数据,并且随后可执行元数据等等的附加比较,以达成关于数据或路由是否匹配兴趣分组1130的最终决策,以便分别用数据分组1145响应兴趣分组1130或转发兴趣分组1130。
ICN与基于主机的联网相比具有优势,因为数据段是单独命名的。由于网络元件可以像原始作者1140一样容易地响应兴趣1130而提供数据分组1130,因此这使得可以在整个网络上进行主动高速缓存。相对应地,网络的相同段传送不同设备请求的相同数据的副本的可能性较小。
细粒度加密是许多ICN网络的另一个特征。典型的数据分组1145包括与兴趣分组1130中的名称匹配的数据名称。而且,数据分组1145包括所请求的数据,并且可包括附加信息以过滤(例如,通过创建时间、到期时间、版本等)类似命名的数据。为了解决以相同名称提供虚假信息的恶意实体,数据分组1145还可以使用发布者密钥来加密其内容,或者提供数据和名称的加密散列。因此,知道密钥(例如,从预期的发布者1140的证书)使得接收者能够确定数据是否来自该发布者1140。此技术还促进了整个网络中数据分组1145的主动高速缓存,因为每个数据分组1145是自包含的且安全的。相反,许多基于主机的网络依靠加密两个主机之间的连接来保护通信。这可能在建立连接的同时增加等待时间,并通过对网络元件隐藏数据来防止对数据进行高速缓存。
示例ICN网络包括:内容中心网络(CCN),如互联网工程任务组(IETF)的CCNx 0.x和CCN 1.x规范草案中所指定的;以及命名数据网络(NDN),如NDN技术报告DND-0001中所指定的。本文公开的示例可促进通过信息中心网络(ICN)1100传输与内容相关联的模型。
图12图示出用于将软件分发至一个或多个设备的软件分发平台1205,该软件诸如图8的示例计算机可读指令882,该一个或多个设备诸如(多个)示例处理器平台1200和/或示例连接的边缘设备。示例软件分发平台1205可以由能够存储软件并将软件传送到其他计算设备(例如,第三方、示例连接的边缘设备)的任何计算机服务器、数据设施、云服务等来实现。示例连接的边缘设备可以是消费方、客户端、管理设备(例如,服务器)、第三方(例如,拥有和/或操作软件分发平台1205的实体的消费方)。示例连接的边缘设备可在商业和/或家庭自动环境中操作。在一些示例中,第三方是诸如图8的示例计算机可读指令882之类的软件的开发方、销售方、许可方。第三方可以是购买和/或许可软件以用于使用和/或转售和/或分许可的消费方、用户、零售商、OEM等。在一些示例中,所分发的软件引起一个或多个用户界面(UI)和/或图形用户界面(GUI)的显示,以标识地理上或逻辑上彼此分离的一个或多个设备(例如,连接的边缘设备)(例如,被特许负责配水控制(例如,泵)、配电控制(例如,继电器)等的物理上分离的IoT设备)。
在图12的所图示示例中,软件分发平台1205包括一个或多个服务器和一个或多个存储设备。存储设备存储计算机可读指令882,该计算机可读指令可以与图17-图19的示例计算机可读指令相对应,如上文所描述。示例软件分发平台1205的一个或多个服务器与网络1210通信,该网络1210可以与互联网和/或上文所述示例网络中的任一个的任何一个或多个相对应。在一些示例中,作为商业事务的一部分,一个或多个服务器响应于将软件传送到请求方的请求。可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处置针对软件的交付、销售、和/或许可的支付。服务器使购买者和/或许可者能够从软件分发平台1205下载计算机可读指令882。例如,软件(其可与图17-19的示例计算机可读指令相对应)可被下载到(多个)示例处理器平台1200(例如,示例连接的边缘设备),该(多个)示例处理器平台1200用于执行计算机可读指令882以实现本文公开的示例。在一些示例中,软件分发平台1205的一个或多个服务器通信地连接至一个或多个安全域和/或安全设备,示例计算机可读指令882的请求和传送必须穿过该一个或多个安全域和/或安全设备。在一些示例中,软件分发平台1205的一个或多个服务器周期性地提供、传送和/或强制进行软件(例如,图8的示例计算机可读指令882)更新以确保改善、补丁、更新等被分发并应用于端用户设备处的软件。
在图12的所图示示例中,计算机可读指令882以特定的格式被存储在软件分发平台1205的存储设备上。计算机可读指令的格式包括但不限于,特定的代码语言(例如,Java、JavaScript、Python、C、C#、SQL、HTML等)和/或特定的代码状态(例如,未经编译的代码(例如,ASCII)、经解释的代码、链接的代码、可执行代码(例如,二进制文件)等)。在一些示例中,软件分发平台1205上所存储的计算机可读指令882在被传送至(多个)处理器平台1200时采用第一格式。在一些示例中,第一格式是特定类型的(多个)处理器平台1200可以按其来执行的可执行二进制文件。然而,在一些示例中,第一格式是未经编译的代码,其要求一个或多个准备任务将第一格式转换为第二格式以使得能够在(多个)示例处理器平台1200上执行。例如,(多个)接收处理器平台1200可能需要对采用第一格式的计算机可读指令882进行编译,以生成能够在(多个)处理器平台1200上执行的采用第二格式的可执行代码。在另外的其他示例中,第一格式是经解释的代码,其在到达(多个)处理器平台1200后由解释器进行解释以促进指令的执行。
图13图示出其中可以实现所公开的示例的示例边缘实现1300。在所示示例中,边缘实现1300包括和/或与V2X基础设施集成。可以实现任何合适的V2X实现和/或通信协议。例如,V2X实现可以包括交通工具对交通工具(V2V)实现,该实现可以实现基站、低地球轨道(LEO_卫星)、WiFi热点或其他桥接技术。上述V2V实现可以使用直接连接技术,诸如,但不限于,WiFi-direct(WiFi直连)、蓝牙、HAM、公民禁令和被授权用于直接和/或点对点连接的其他电磁频谱。此外,本文使用的V2X不限于无线电电磁频谱。在一些示例中,例如,摄像机、3D、红外线、LIDAR等可用于感测、读取或以其他方式从利用光谱的X2V实现中的数据(或作为数据收集的对象)获得数据。进一步地,上述V2X基础设施是边缘网络实现的一部分。然而,可以替代实现任何合适的边缘和/或网络环境。
如图13的所示示例中可以看出,在该示例中实现为汽车的交通工具1301(以下称为1301a、1301b、1301c、1301d、1301e、1301f、1301g等)被示为在靠近卡车1303的道路上行驶。在该示例中,交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g等通信地耦合到与上述V2X网络相关联的基础设施1302。在该示例中,示例基础设施1302包括基站(例如,4GLTE基站、5G蜂窝基站、Wi-Fi基站等)1304、计算节点(例如,服务器网络)1306以及计算节点1308,其服务于不同于与基础设施1302相对应的另一边缘网络、边缘节点或集群1309。在该示例中,服务器1308与云网络1312协同操作,该云网络1312为通信地耦合到其的交通工具1310服务。此外,示例基础设施1302包括:交通设备1314,其在该示例中用作具有无线接口的计算设备;以及无线基站1316,其可以通信地耦合到交通设备1314和/或交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g中的至少一个。
在操作中,交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g之间的通信由示例基站1304实现。特别地,交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g(在该示例中,实现为自驱动汽车)经由基站1304和计算节点1306彼此通信地耦合。附加地或替代地,交通设备1314和/或基站1316用于促进交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g之间的通信。在一些示例中,交通设备1314和/或基站1316向交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g提供信息,诸如交通信息、天气、道路状况、事故、异常驾驶行为、意外驾驶遭遇等。换言之,信息和/或数据可以在交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g和基础设施1302之间流动。
根据所示示例,为了引导交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g的移动,关于驾驶状况和/或与道路相关联的模式(例如,与可视性、交通状况、道路状况等相对应的模式)的信息在交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g之间共享。在所示示例中,信息可以以经训练的AI/ML模型的形式共享。该模型可以通过交通工具1301a、1301b、1301c、1301d、1301e、1301f、1301g中的一个或多个的计算设备(例如,装置、计算节点等)来训练。
转到图13的示例,交通工具1301b经由基站1304向交通工具1301a传送模型的形式的信息。特别地,该信息指示交通正在增加,因为交通工具1301d、1301e、1301f、1301g在交通工具1301b的前面并停了下来。进而,由于交通工具1301b在交通工具1301a之前,因此交通工具1301a被提供作为AI/ML模型的警告。例如,AI/ML模型是使用来自交通工具1301d、1301e、1301f、1301g的数据生成的。然而,为了确保交通工具1301a接收相对无错误的信息和/或未篡改的信息,提供给交通工具1301a的AI/ML模型被证实。可以实现本文公开的示例来证实和认证模型。附加地或替代地,例如,本文公开的示例可以确定模型在训练阶段期间是改进还是降级。
虽然图13的示例涉及V2X实现,本文公开的示例可以应用于与AI/ML模型的评估、训练、认证和/或证实有关的任何合适的分布式计算实现。换句话说,本文公开的示例适用于本文描述的任何实现、拓扑和/或系统。此外,除了下面结合图14-图20描述的那些之外,本文公开的示例可以应用于任何合适的AI/ML模型。
图14描绘了根据本公开的教导的示例模型证实过程1400。所示示例的模型证实过程1400可以在示例边缘云110、示例边缘云210、示例端点310、示例边缘计算系统400、示例边缘计算系统600、示例边缘系统架构700、示例边缘计算节点800、示例云计算网络900、示例卫星星座1000、示例信息中心网络1100或示例软件分发平台1200,或任何其他合适的示例中实现。
根据图14的所图示示例,示例边缘位置1402(以下称为1402a、1402b、1402c等)形成边缘网络和/或边缘节点的一部分。示例边缘位置1402a与具有相对应设备(例如,边缘设备、计算设备等)1406a和传感器1408的交通工具1404a相对应。类似地,示例边缘位置1402b与具有相对应设备1406b的交通工具1404b相对应,而示例边缘位置1402c与具有相对应设备1406c的交通工具1404c相对应。在该示例中,边缘位置1402a、1402b、1402c与不同的边缘计算/计算节点(例如,模型跨多个边缘节点和/或边缘集群训练和/或证实)相对应。然而,在其他示例中,边缘位置1402a、1402b、1402c可以与相同的边缘节点(例如,模型在相同的边缘节点内训练和/或证实)相对应。
为了生成模型,在一些示例中,向设备1406a提供请求。例如,相对应的边缘网络指示设备1406a生成和/或启动模型。在其他示例中,请求由设备1406a发起。在又一其他示例中,基于需要输出数据的指示(例如,作出决策需要来自模型的输出数据)来生成模型。
为了训练模型,设备1406a利用来自示例传感器1406的传感器数据。在该示例中,传感器数据与交通工具1404a经历的驾驶状况有关。在该示例中,当交通工具1404a驾驶通过环境(例如,边缘位置1402a的场所中的环境)时,捕获传感器1406获得数据。当传感器数据由传感器1406收集并由设备1404a分析时,模型被持续训练。在一些示例中,模型被训练直到满足收敛标准(例如,随时间的变化程度低于阈值标准、达到准确度水平、用已知数据验证模型等)。此外,在该示例中,模型由设备1406a训练。然而,在其他示例中,使用多个设备来训练模型。在一些示例中,该模型与自主驾驶控制、自主驾驶环境输入、交通状况、交通模式等有关。
为了证实模型,模型被提供给交通工具1404c的设备1406c和交通工具1404b的设备1406b。换言之,设备1406c、1406b充当模型的证实器和/或对等方(例如,评估对等方)。可以基于模型已被训练的时间量或前述收敛标准,来将模型从设备1406a提供给设备1406c、1406b。在所示示例中,由X、Z、T0和T1表示的与模型相关联的变量或参数由设备1406c、1406b证实。成功证实后,事务被添加到与模型关联的区块和/或区块链中。例如,将事务的散列添加到区块中。在该示例中,设备1406c、1406b基于评估来为区块和/或模型分配分数(例如,证明分数)。模型的评估可以基于F1分数、混淆矩阵、曲线下面积和/或对数损失。在一些示例中,评估设备1406c、1406b的证明分数被平均并与阈值进行比较。在其他示例中,对超过阈值的证明分数的数量进行计数以评估模型。例如,模型的评估可以基于对等方的“投票”,以便在例如分布式账本技术(DLT)(例如,区块链)中使用多数、绝对多数或其他预先确定的阈值来建立共识。换言之,DLT共识和/或部分共识评估可以跨不同的边缘位置1402a、1402b、1402c进行,以基于由证明结果和分数定义的预期可信度水平来接受(或拒绝)经训练/经重新训练的模型。
在一些示例中,评估设备1406b、1406c将它们的模型的分数放置在区块链上。在一些此类示例中,至少一个设备使用区块链证实模型,证实模型并将它们各自的证明分数添加到区块链。在一些示例中,与区块链相关联的设备中的至少一个包括信誉分数或水平。在一些此类示例中,区块链上提供的分数可以按信誉分数加权(例如,较高的信誉分数与较高的权重相对应)。
在一些示例中,在证实时,经训练的模型被提升为全局模型。在一些此类示例中,全局模型被授权来在任何合适的设备上执行。附加地或替代地,确定模型是在改进还是在降级(例如,在其训练期间)。例如,特定边缘位置具有相关联的当前参考模型,该模型表示为A_POR_Model(A_POR_模型),并接收表示为A_on_location_x(A_上_位置_x)的模型以合并到A_POR_Model。示例边缘位置和/或设备可以评估表示为A_merged_model(A_合并的_模型)=Merge(A_POR_Model,A_on_location_x)(合并(A_POR_模型,A_上_位置_x))的合并模型是改进还是降低了对本地边缘的预测(例如,利用或具有证实集)。如果模型改进或没有降级,在一些示例中,边缘位置将发送确认(ACK)以将A_on_location_X包括到A_POR_Model。在一些示例中,每个边缘节点和/或边缘位置可以具有基准(例如,与边缘节点和/或边缘位置相关联的阈值)以评估衍生模型。例如,基准可以从边缘基础设施所有者分配和/或由边缘基础设施所有者提供。
图15描绘了图14的示例模型证实过程1400的示例实现1500。在图15的所示示例中,示例交通工具1502包括相关联的电路系统/逻辑1504,而示例设备1506包括相对应的电路系统/逻辑1508。此外,图15中示出了交通工具1510和设备1512、1514。在该示例中,设备1506的(多个)功能被扩展和/或与其他硬件(例如,交通工具1502)相关联,以执行模型的生成、模型的训练以及模型的证明和传播。换言之,本文公开的示例的功能可以与多个计算节点共享。
示例电路系统/逻辑1504包括不可克隆功能1520、区块链(逻辑)1522、AI逻辑1524、AI证明逻辑1526、签名逻辑1528和网络接口卡(NIC)1530。此外,示例电路系统/逻辑1508包括固件元数据1536、软件1538、AI逻辑1540、网络时间协议(NTP)逻辑1542、签名逻辑1544、NIC 1546、请求逻辑1548、星座配置1550和区块链逻辑1552。此外,元数据1560与设备1506相关联。
在操作中,上述模型在设备1506处生成并在交通工具1502的示例电路系统/逻辑1504处进行分析。此外,在该示例中,与模型相关联的区块链也被转发到示例电路系统/逻辑1504。在该示例中,模型(例如,模型的签名、时间戳和/或原始数据)在设备1512处被证明和/或验证并且设备1514向区块链指示模型的分数和/或将模型的分数应用于区块链。分数可以包括和/或与模型的签名、时间戳和/或原始数据有关。在该示例中,不可克隆功能1520用于唯一地标识交通工具1502和与交通工具1502有关的传感器。进而,电路系统/逻辑1504证明和/或对交通工具1510的模型进行评分。
在该示例中,不可克隆功能1520被实现为唯一地标识边缘设备1504。此外,硬件(诸如设备身份组合引擎(DICE)或其他信任根技术)和固件、固件元数据(诸如示例固件1536)和固件初始化数据被实施以唯一地标识涉及例如传感器数据收集的不同硬件元素。特别地,例如,硬件元素、固件、元数据或初始化数据可以被标识为实际值和/或实际值的摘要列表。附加地或替代地,可以实现软件元数据以唯一地标识与数据收集相关联的不同软件元素。软件元数据可以包括与用于收集数据的不同库或应用相对应的散列摘要列表。类似于硬件元数据,在一些示例中,软件元数据可以包括来自训练库的不同元素。
在一些示例中,多个设备1512和/或一设备1512采用星座逻辑。星座逻辑可以以带外方式实现,以配置作为区块链(例如,私有区块链)一部分的一组对等方(例如,对等设备)来证实模型。在一些示例中,对等方由以下各项限定:(i)到当前边缘位置的距离(例如,可以基于接近度来选择)、(ii)对等方的证书和/或(iii)对等方的标识符(例如,IP地址)。
在一些示例中,采用区块链逻辑。在一些此类示例中,区块链逻辑1522和/或区块链逻辑1552生成与硬件(CPU、训练加速器等)和软件元素(例如,固件、训练软件堆栈等)相对应的模型和签名。进而,模型被发送到分布式边缘内的一组N个对等方(例如,设备1512),期望M(<=N)个对等方来验证模型。每个对等方使用它们的历史数据运行模型(注意,只有证实器需要存储历史数据)、验证生成的输出并与使用区块链共识算法证实模型的M个或多个对等方协调。可以基于模型的关键性和/或重要性来配置和/或修改用于证实模型的比较(例如,与标识光照条件相比,标识道路上的物体具有增加的关键性和/或重要性等)。一旦模型被成功接受,模型就可以传播到其余的分布式边缘。如果模型没有被成功接受,则模型不被传播和/或模型被进一步细化,直到达成区块链共识(例如,作为区块链或DLT共识计算的一部分,模型被进一步迭代,直到证明分数共同超过阈值)。
图16是图示出根据本公开的教导的示例模型分析系统1600的示意性概览。所示示例的模型分析系统1600可以在示例边缘云110、示例边缘云210、示例端点310、示例边缘计算系统400、示例边缘计算系统600、示例边缘系统架构700、示例边缘计算节点800、示例云计算网络900、示例卫星星座1000、示例信息中心网络1100或示例软件分发平台1200,或本文所公开的任何其他合适的示例中实现。在该示例中,模型分析系统1600被实现为利用边缘环境和/或系统的计算资源来训练AI/ML模型以训练和证实模型。根据所示示例,模型分析系统1600用于认证并评估模型(例如,当模型被训练时)以用于后续执行和/或部署。
图16所示示例的模型分析系统1600包括模型分析器1602,其进而包括示例证明验证器1604(例如,在至少一个实施例中,图14中所示的设备1402b和/或设备1406c;在至少一个实施例中,图15中所示的AI证明逻辑1526;在至少一个实施例中,通过在图20中所示的处理器2012上执行指令来实现)、示例比较器1606(例如,在至少一个实施例中,图14中所示的设备1402b和/或设备1406c;在至少一个实施例中,图15所示的AI证明逻辑1526、AI逻辑1524和/或AI逻辑1540;在至少一个实施例中,通过在图20所示的处理器2012上执行指令来实现)、示例区块链验证器1608(例如,在至少一个实施例中,图14中所示的设备1402b和/或设备1406c;在至少在一个实施例中,图15中所示的区块链逻辑1522;在至少一个实施例中,通过在图20中所示的处理器2012上执行指令来实现)、模型改进分析器1610(例如,在至少一个实施例中,图14中所示的设备1406a;在至少一个实施例中,图15中所示的示例电路系统/逻辑1504;在至少一个实施例中,通过在图20中所示的处理器2012上执行指令来实现)、模型训练器1612(例如,在至少一个实施例中,图14中所示的设备1406a;在至少一个实施例中,AI逻辑1524和/或AI逻辑1540)、模型证实器1614(例如,在至少一个实施例中,图15中所示的AI证明逻辑1526;在至少一个实施例中,通过在图20中所示的处理器2012上执行指令来实现)、示例执行器1616(例如,在至少一个实施例中,图15中所示的软件1538和/或固件元数据1536;在至少一个实施例中,通过在图20中所示的处理器2012上执行指令来实现)和示例认证器1618(例如,在至少一个实施例中,图15中所示的签名逻辑1528和/或签名逻辑1544;在至少一个实施例中;通过在图20所示的处理器2012上执行指令来实现)。在一些示例中,模型分析系统1600包括证明器1619(例如,在至少一个实施例中,图15的请求逻辑1514;在至少一个实施例中,通过在图20所示的处理器2012上执行指令来实现)。在该示例中,模型分析器1602通信地耦合到边缘网络接口1620,该边缘网络接口1620可以通信地耦合到至少一个边缘节点和/或边缘网络。特别地,边缘网络接口1620可以与多个边缘网络对接或者被操作用于与单个边缘网络或节点一起使用。边缘网络接口1620可以与本文公开的任何示例对接和/或通信。
所示示例的证明验证器1604被实现以确定在边缘环境的第一设备处接收的模型的分数(例如,证明分数)。在该示例中,证明验证器1604基于由与第一设备不同的第二设备执行的确定和/或评估来确定分数。在一些示例中,证明验证器1604从第二设备和/或与其边缘和/或边缘节点相关联的网络请求分数。在一些示例中,证明验证器基于来自第二设备和/或与数据相关联的区块链的数据来计算分数。本地计算的分数可以与从对等节点获得的分数进行比较,其中可以应用针对异常的统计测试。分数的分析可以基于可应用的分数的平均值、中值、阈值或其他统计测试。分数可以由对等设备或生成分数的多个对等设备生成。当达到多数、绝对多数或用于确定DLT共识的其他阈值方案时;在满足统计测试的情况下,模型被接受。附加地或替代地,分数可以基于对等设备的投票。在一些示例中,计算多个对等分数的综合分数。
示例比较器1606将上述分数与阈值进行比较。在该示例中,阈值由第一设备定义。在其他示例中,阈值由区块链中的数据定义。阈值分数可以基于模型的期望准确度。特别地,期望的准确度可以基于从模型输出的数据类型(例如,事故数据、自主驾驶数据比偏好的音乐选择具有更高的期望准确度等)。
在一些示例中,区块链验证器1608被实现以从区块链获得和/或分析与模型有关的数据。特别地,示例区块链验证器1608可以从区块链获得模型的分数(例如,证明分数)和/或相关联的评分/评估数据。在实现区块链验证器1608的示例中,区块链验证器1608可以请求与区块链相关联(例如,参与区块链更新、就有效性确认区块链等)的第三设备来证实模型和/或提供与模型相关联的评分数据。
示例模型改进分析器1610确定模型是在改进还是在降级。特别地,模型改进分析器1610可以在其训练期间监测模型是改进还是降级。在一些示例中,模型改进分析器1610确定模型是否收敛(例如,收敛程度)和/或模型是否具有确认的准确度(例如,在另一个设备处进行外部验证、与其他测量的比较等)。在一些示例中,模型改进分析器1610在模型尚未改进或已经降级时请求至少一个额外的训练迭代。在一些示例中,模型改进分析器1610基于每个训练迭代的证明分数(例如,来自区块链的证明分数)来确定模型是在改进还是降级。附加地或替代地,模型改进分析器1610利用历史数据并将模型的输出与预期输出进行比较以确定模型准确度的变化。
在所示示例中,模型训练器1612训练模型。在一些示例中,通过在边缘网络的设备之间移动模型来训练模型。在一些此类示例中,区块链用于评估模型的准确性和/或提供模型的评分。因此,评估经训练模型的准确性的区块链可以提供评估结果的参考和/或将结果与模型一起转发用于模型训练质量的上下文评估。或者,可以基于参考来查询区块链,并且训练质量的评估可包括对已提交给链的历史区块链块的审查。
所示示例的模型证实器1614证实模型。可以基于超过阈值的证明分数来证实模型。附加地或替代地,模型证实器1614分析与模型相关联的区块链的有效性和/或完整性。
一旦模型已被证实,示例执行器1616就执行和/或部署模型。在一些示例中,执行器1616使接收模型的设备能够执行模型。附加地或替代地,示例执行器1616可以被实现以将模型指定为经批准用于分发(例如,执行器1616将模型分配为全局模型)。
在该示例中,认证器1618被实现以认证硬件,软件,硬件和/或软件、设备、与设备相关联的交通工具等的标识符。例如,认证器1618可以认证涉及训练模型和/或转发模型的硬件和/或软件的标识符(例如,具有标识符)。
在一些示例中,证明器1619收集要呈现给证明验证器1604和/或任何边缘设备的证明证据。
尽管图16例示出实现示例模型分析系统1600的示例方式,但是图16中示出的元件、过程和/或设备中的一个或多个能以任何其他方式被组合、拆分、重新布置、省略、消除和/或实现。进一步地,图16的示例证明验证器1604、示例比较器1606、示例区块链验证器1608、示例改进分析器1610、示例模型训练器1612、示例模型证实器1614、示例执行器1616、示例认证器1618、示例证明器1619和/或更一般地,示例模型分析系统1600可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例证明验证器1604、示例比较器1606、示例区块链验证器1608、示例模型改进分析器1610、示例模型训练器1612、示例模型证实器1614、示例执行器1616、示例认证器1618、示例证明器1619和/或更一般地,示例模型分析系统1600中的任何一个可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)和/或(多个)现场可编程逻辑器件(FPLD)来实现。当阅读本专利涵盖纯软件和/或固件实现的设备或系统权利要求中的任一项时,示例证明验证器1604、示例比较器1606、示例区块链验证器1608、示例改进分析器1610、示例模型训练器1612、示例模型证实器1614、示例执行器1616、和/或示例认证器1618、示例证明器1619中的至少一个由此被明确地限定为包括包含软件和/或固件的非暂态计算机可读存储设备或存储盘(诸如,存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等等)。更进一步地,除了图16中所图示的那些元件、过程和/或设备之外或者作为图16中所图示的那些元件、过程和/或设备的替代,图16的示例模型分析系统1600还可包括一个或多个元件、过程和/或设备,和/或可包括所图示的元件、过程和/或设备中任一者或全部中的多于一个的元件、过程和/或设备。如本文所使用,短语“进行通信”(包括其各种变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。
在图17-图19中示出了表示用于实现图16的模型分析系统1600的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或其任何组合的流程图。机器可读指令可以是用于由计算机处理器和/或处理器电路执行的一个或多个可执行程序或可执行程序的(多个)部分,计算机处理器和/或处理器电路诸如下文结合图20所讨论的示例处理器平台2000中示出的处理器2012。程序可被具体化在存储于与处理器2012相关联的诸如CD-ROM、软盘、硬驱动器、DVD、蓝光盘或存储器之类的非暂态计算机可读存储介质上的软件中,但是整个程序和/或其部分可以替代地由除处理器2012之外的设备执行和/或被具体化在固件或专用硬件中。进一步地,尽管参考图17-图19所图示的流程图描述示例程序,但是可替代地使用实现示例模型分析系统1600的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。附加地或替代地,框中的任何框或所有框可以由被构造成用于在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。处理器电路系统可以分布在不同的网络位置和/或位于一个或多个设备的本地(例如,单个机器中的多核处理器、跨服务器机架分布的多个处理器等)。
本文中描述的机器可读指令能以压缩格式、加密格式、分段格式、编译格式、可执行格式、封装格式等中的一种或多种来存储。本文描述的机器可读指令可以作为可用于创建、制造和/或产生机器可执行指令的数据或数据结构(例如,指令的部分、代码、代码表示等)来存储。例如,机器可读指令可以被分段并被存储在位于网络或网络集合(例如,在云中、在边缘设备中等)中的相同或不同位置的一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可能需要安装、修改、适配、更新、组合、补充、配置、解密、解压缩、拆包、分发、重新分配、编译等中的一项或多项,以使得它们由计算设备和/或其他机器直接可读取、可解释、和/或可执行。例如,机器可读指令可以存储在多个部分中,这些部分被单独压缩、加密并存储在单独的计算设备上,其中,这些部分在被解密、解压缩和组合时形成实现如本文所述的实现可以一起形成程序的一个或多个功能的指令的一组可执行指令。
在另一示例中,机器可读指令可以以它们可被处理器电路系统读取的状态存储,但是需要添加库(例如,动态链接库(DLL))、软件开发工具包(SDK)、应用编程接口(API)等,以便在特定的计算设备或其他设备上执行指令。在另一个示例中,在可整体或部分地执行机器可读指令和/或对应的(多个)程序之前,可能需要配置机器可读指令(例如,存储的设置、数据输入、记录的网络地址等)。因此,如本文所使用,机器可读介质可以包括机器可读指令和/或(多个)程序,而不管机器可读指令和/或(多个)程序在存储时或以其他方式处于静态或在传输中时的特定格式或状态如何。
本文所描述的机器可读指令可以由任何过去、现在或将来的指令语言、脚本语言、编程语言等表示。例如,机器可读指令可以用以下语言中的任何一种语言来表示:C、C++、Java、C#、Perl、Python、JavaScript、超文本标记语言(HTML)、结构化查询语言(SQL)、Swift等。
如上文所提及,可使用存储于非暂态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)实现图17-图19的示例过程,非暂态计算机和/或机器可读介质诸如,硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在其中存储信息达任何时长(例如,达扩展的时间段内、永久地、达简短的实例、用于临时缓冲和/或用于对信息进行高速缓存)的任何其他存储设备或存储盘。如本文中所使用,术语非暂态计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号且排除传输介质。
“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求将任何形式的“包含”和“包括”(例如,包括、包含、包括有、包含有、具有等)用作前序部分或用于任何种类的权利要求记载内容之中时,要理解的是,附加的要素、项等可以存在而不落在对应权利要求或记载的范围之外。如本文中所使用,当短语“至少”被用作例如权利要求的前序部分中的过渡术语时,它是和术语“包含”和“包括”一样的开放式的。当例如以诸如A、B和/或C之类的形式被使用时,术语“和/或”指的是A、B、C的任何组合或子集,诸如(1)单独的A、(2)单独的B、(3)单独的C、(4)A与B、(5)A与C、(6)B与C、以及(7)A与B及与C。如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A和B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。类似地,如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A或B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。如本文中在描述过程、指令、动作、活动和/或步骤的处理或执行的上下文中所使用,短语“A和B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。类似地,如本文中在描述过程、指令、动作、活动和/或步骤的处理或执行的上下文中所使用,短语“A或B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。
如本文所使用,单数引用(例如,“一(a、an)”、“第一”、“第二”等)不排除复数。本文所使用的术语“一(a或an)”实体是指一个或多个该实体。术语“一(a)”(或“一(an)”)、“一个或多个”和“至少一个”在本文中可以可互换地使用。此外,尽管单独列出,但多个装置、元件或方法动作可由例如单个单元或处理器来实现。另外,虽然各个特征可以被包括在不同的示例或权利要求中,但是这些特征可能被组合,并且在不同的示例或权利要求中的包含并不意味着特征的组合是不可行和/或不是有利的。
图17的示例方法1700始于生成模型。该模型基于传感器数据来进行训练,并经证明以供部署和/或执行。在该示例中,模型基于输入来提供输出数据。此外,模型包括和/或与区块链(例如,分布式账本、多边缘区块链等)相关联以存储与模型有关的信息。
在框1702,模型训练器1612生成并训练模型。在该示例中,模型训练器1612跨边缘节点的多个设备(例如,设备1406)训练模型。在其他示例中,使用单个设备来训练模型。附加地或替代地,模型由计算设备和/或装置跨多个边缘节点和/或边缘集群来训练(例如,跨集群边缘训练)。在该示例中,模型改进分析器1610确定随着模型被训练模型是改进还是降级。在一些此类示例中,当模型已经达到必要的改进程度时停止模型的训练。
在框1704处,在所示示例中,证明验证器1604和/或区块链验证器1608向第一设备和/或计算节点提供模型。模型可以基于从第一设备接收的请求经由边缘网络来向第一设备提供。在其他示例中,基于第一设备执行的配置或动作将模型提供给第一设备(例如,第一设备被带入自动驾驶模式,并且因此,经训练用于自动驾驶的模型被提供给第一设备)。在该示例中,模型伴随着与该模型相关联的区块链。例如,与模型相关联的区块链和/或数据可以在模型转发到设备时与模型一起发送。
在框1706,所示示例的认证器1618认证与模型相关联的硬件和/或软件和/或与模型相关联的区块链。下面结合图19更详细地描述该过程。
在框1708,第一设备的示例证明验证器1604证实模型。在该示例中,证明验证器1604确定和/或接收在第二设备和/或与第一设备不同的计算节点处计算的模型的证明分数。在一些示例中,示例证明验证器1604从第二设备请求证明分数。下面结合图18更详细地讨论证明分数的确定和模型的证实。
在框1710,比较器1606将上述证明分数与阈值(例如,阈值标准)进行比较。如果证明分数超过阈值(框1710),则过程的控制进行到框1712。否则,过程返回到框1702。
在框1712,在一些示例中,证明验证器1604和/或模型证实器1614请求模型证实。特别地,可以请求第三设备基于证明分数超过阈值来证实模型(框1710)。例如,第三设备可以通过向第一设备提供模型被证实的确认来证明成功地证明模型。在一些此类示例中,证明验证器1604和/或模型证实器1614分析与模型相关联的区块链以证实模型(例如,第三设备与区块链中模型的证明数据相关联)。模型的证实将在下面结合图18更详细地讨论。
在框1714,模型证实器1614和/或证明验证器1604确定模型是否被证实。在该示例中,该确定基于由示例比较器1606形成的比较(框1710)。如果模型证实器1614证实了模型(框1714),则过程的控制进行到框1716。否则,过程返回到框1702。在该示例中,在证实模型时,更新相对应的区块链以指示模型的证实和/或评分。
在框1716,所示示例的执行器1616执行和/或部署模型。在一些示例中,模型在接收模型的第一设备上执行。附加地或替代地,该模型被发布和/或指定为全局模型(例如,供边缘网络中的其他设备使用)。
在框1718,模型证实器1614、证明验证器1605和/或区块链验证器1608确定是否重复该过程。如果要重复该过程(框1718),则该过程的控制返回到框1702。在一些示例中,用一组不同的对等方重复该过程以证实模型。在一些此类示例中,可以基于具有更好的(例如,更准确的模型)选择不同的一组对等方和/或对等方可以与在类似条件下部署的模型相关联。附加地或替代地,如果模型未被证实,则模型未被注册和/或发送消息被发送到管理边缘环境的颁发机构。
图18是表示图17的示例方法1700的示例子例程1708的流程图。执行子例程1708以基于来自区块链的数据来评估(例如,定量评估)模型。然而,在其他示例中,没有实现区块链。
在框1802处,示例区块链验证器1608确定第一设备的对等方(例如,对等设备、对等计算节点等)和/或与更新模型的区块链相关联的对等方。在一些示例中,基于以下各项确定和/或指定对等方:(i)到当前边缘位置的距离(例如,可以基于物理距离或接近度来选择),(ii)对等方的证书和/或(iii)对等方的标识符(例如,IP地址)。附加地或替代地,基于将一组对等方配置为被指定用于模型证实的区块链(例如,私有区块链)的一部分的星座逻辑来确定对等方。
在框1804处,在一些示例中,证明验证器1604和/或区块链验证器1608将模型发送到所确定的对等方以供证实。在一些其他示例中,区块链验证器1608访问区块链以获取与模型有关的信息(例如,(多个)证明分数)。在一些示例中,上述对等方中的一些对等方使用其历史数据运行模型,证实所生成的输出并与已证实模型的其他对等方协调以在区块链中签署模型。换句话说,历史数据通过模型运行,并就准确性分析相对应输出。在一些此类示例中,如果成功证实模型的对等方的数量超过未成功证实模型的对等方的数量,则认为模型被证明验证器1604和/或区块链验证器1608证实。
在框1806,在一些示例中,例如,由认证器1618认证提供相应(多个)证明分数的所确定的对等方。在一些此类示例中,与对等方相关联的硬件和/或软件被认证。例如,硬件和/或软件的散列标识符被所确定的对等方用来认证所确定的对等方。在一些示例中,在将模型发送给对等方和/或对等方分析模型之前,认证对等方。在一些示例中,作为相信认证质询的一部分,对等方被认证(例如,验证器和/或验证对等方处理对等方的证明)。在一些示例中,对经训练模型的证实基于训练环境和/或训练质量的证明而发生。因此,响应于对等方被证明和认证,经证明和训练的模型被提供给节点和/或设备。
在框1807,在一些示例中,认证器1618认证来自所确定的对等方的(多个)响应。特别地,认证器1618认证从所确定的对等方计算和/或接收的模型的(多个)分数。
在框1808,在一些示例中,证明验证器1604、证明器1619和/或区块链验证器1608确定模型的(多个)证明分数。在该示例中,(多个)分数是从与模型相关联的区块链确定的。例如,从区块链访问(多个)分数并且验证、确定和/或认证区块链中的条目。在一些示例中,使用经验证和/或经认证的对等方(例如,边缘环境中具有经验证的散列标识符的设备),而忽略未验证的对等方的其他对等证明分数。在一些示例中,来自经验证、确定和/或认证的对等方的区块链中的证明分数被平均在一起。在一些其他示例中,高于阈值(例如,提供给第一设备或由第一设备确定的阈值)的证明分数导致证明验证器1604和/或区块链验证器1608请求参与模型训练和/或模型证明的另一设备来证实模型。附加地或替代地,上述第一设备请求和/或查询来自另一设备的(多个)证明分数。在一些示例中,证明器1619收集模型证明的证据和/或模型的训练环境。
在框1810,在一些示例中,由示例证明验证器1604计算(多个)证明分数的综合分数。综合分数可以是证明分数的平均值。在一些示例中,可以对平均值进行加权,使得具有较高信誉分数和/或证实概率的对等方的权重比其他对等方高。
在框1812,在一些示例中,模型和/或其相关联的区块链和/或区块链部分由对等方签署(例如,在必要数量的对等方基于区块链来证实模型之后)并且过程结束。在一些示例中,如果模型被签署,则模型可以传播到其他分布式边缘和/或边缘节点。或者,如果模型未被签署,则不传播模型(例如,直到模型经历至少一个进一步迭代之后)。在一些示例中,仅一个对等方基于签署模型的对等方的必要数量来签署模型。
在框1814,证明验证器1604和/或区块链验证器1608确定模型是否已经被签署。如果模型已被签署(框1814),则过程的控制进行到框1816。否则,过程返回到框1802。
在框1816,模型由模型证实器1614和/或执行器1616发送到设备(例如,以供执行或分发)并且过程结束/返回。
图19是表示图17的示例方法1700的示例子例程1706的流程图。在所示示例中,子例程1706可以被实现以认证边缘网络的、与模型和/或其证实有关的各种组件和/或软件。因此,可以防止具有错误和/或篡改数据的模型在整个边缘网络中传播。此外,发散的模型(例如,模型的输出)在准确性方面正在下降。
在框1902,示例认证器1618获得节点和/或设备标识符。例如,节点和/或设备标识符可以与用于证实模型的设备有关。
在框1904,示例认证器1618确定硬件标识符。硬件标识符可以与获取用于训练模型的数据的传感器有关。附加地或替代地,硬件标识符可以与用于训练和/或评估模型的计算硬件相关联。
在框1906,示例认证器1618确定软件标识符。例如,认证器1618确定与软件应用、固件、训练软件堆栈等相关联的标识符。
在框1908,示例认证器1618确定传感器标识符。传感器标识符可以与为训练模型而捕获的传感器数据相关联。附加地或替代地,传感器标识符可以与用于证实模型的传感器数据相关联。
例如,在框1910,标识符由认证器1618验证和/或认证。在一些示例中,散列标识符由认证器1618认证。
图20是被构造用于执行图17-图19的指令以实现图16的模型分析系统1600的示例处理器平台2000的框图。处理器平台2000可以是例如,服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,手机、智能电话、诸如iPadTM之类的平板)、个人数字助理(PDA)、互联网设备、DVD播放器、CD播放器、数字视频记录仪、蓝光播放器、游戏控制台、个人视频记录仪、机顶盒、耳机或其他可穿戴设备、或任何其他类型的计算设备。
所图示示例的处理器平台2000包括处理器2012。所图示示例的处理器2012是硬件。例如,处理器2012可以由来自任何所期望的系列或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器实现。硬件处理器可以是基于半导体的(例如,硅基)器件。在该示例中,处理器实现证明验证器1604、示例比较器1606、示例区块链验证器1608、示例模型改进分析器1610、示例模型训练器1612、示例模型证实器1614、示例执行器1616、示例认证器1618、以及示例证明器1619。
所图示示例的处理器2012包括本地存储器2013(例如,高速缓存)。所图示示例的处理器2012经由总线2018而与包括易失性存储器2014和非易失性存储器2016的主存储器进行通信。易失性存储器2014可由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、
Figure BDA0003364183610000693
动态随机存取存储器
Figure BDA0003364183610000692
和/或任何其他类型的随机存取存储器设备实现。非易失性存储器2016可由闪存和/或任何其他所期望类型的存储器设备实现。由存储器控制器控制对主存储器2014、2016的访问。
所图示示例的处理器平台2000还包括接口电路2020。接口电路2020可由任何类型的接口标准实现,诸如以太网接口、通用串行总线(USB)、
Figure BDA0003364183610000691
接口、近场通信(NFC)接口和/或PCI express(PCI快速)接口。
在所图示的示例中,一个或多个输入设备2022被连接至接口电路2020。(多个)输入设备2022准许用户将数据和/或命令输入到处理器2012中。(多个)输入设备可以由例如音频传感器、话筒、(静止的或视频)相机、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、等点鼠标和/或语音识别系统实现。
一个或多个输出设备2024也被连接至所图示示例的接口电路2020。输出设备2024可例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器(LCD)、阴极射线管显示器(CRT)、面内切换(IPS)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。因此,所图示示例的接口电路2020典型地包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。
所图示示例的接口电路2020还包括诸如发射机、接收机、收发机、调制解调器、住宅网关、无线接入点、和/或网络接口之类的通信设备,以促进经由网络2026与外部机器(例如,任何种类的计算设备)交换数据。通信可以经由例如以太网连接、数字订户线路(DSL)连接、电话线连接、同轴电缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等。
所图示示例的处理器平台2000还包括用于存储软件和/或数据的一个或多个大容量存储设备2028。此类大容量存储设备2028的示例包括软盘驱动器、硬驱动器盘、紧凑盘驱动器、蓝光盘驱动器、独立磁盘冗余阵列(RAID)系统、以及数字多功能盘(DVD)驱动器。
图17-图19的机器可执行指令2032可以被存储在大容量存储设备2028中,存储在易失性存储器2014中,存储在非易失性存储器2016中,和/或存储在诸如CD或DVD的可移除非暂态计算机可读存储介质上。
从前述内容将理解,已经公开了实现经训练模型的验证的示例方法、设备和制品。因此,本文公开的示例可以防止使用错误和/或篡改的模型。
所公开的方法、设备和制品通过允许使用更精确的模型来提高使用计算设备的效率,从而可以减少计算(例如,用于达到解和/或收敛计算或模型的计算)。所公开的方法、装置和制品相对应地涉及计算机功能的一个或多个改善。
示例1包括一种用于证实边缘环境中的经训练模型的装置。该装置包括:证明验证器,用于确定在第一设备处接收到的模型的证明分数,证明分数在与第一设备不同的第二设备处计算;比较器,用于将证明分数与阈值进行比较;证实器,用于基于比较来证实模型;以及执行器,用于基于证实来对模型进行执行或部署中的至少一项。
示例2包括如示例1中所定义的装置,其中证明验证器用于基于与模型相关联的区块链来确定证明分数。
示例3包括如示例2中所定义的装置,进一步包括区块链验证器,用于请求作为模型的区块链证明的一部分的第三设备来基于区块链证实模型。
示例4包括如示例2或3中任一项中所定义的装置,其中第二设备用于基于存储在区块链中的多个证明分数的平均值来计算证明分数。
示例5包括如示例1至4中任一项中所定义的装置,进一步包括模型改进分析器,用于确定模型是在改进还是在降级。
示例6包括如示例1至5中的任一项中所定义的装置,进一步包括用于认证模型的认证器。
示例7包括如示例6中所定义的装置,其中认证器用于验证与训练或证实模型的设备相关联的硬件。
示例8包括如示例6或7中的任一项所定义的装置,其中认证器用于验证提供数据以训练模型的传感器的签名。
示例9包括如示例1至8中任一项中所定义的装置,其中第一设备是第一交通工具的一部分,并且第二设备是第二交通工具的一部分,第一交通工具和第二交通工具与边缘环境的交通工具对外界(V2X)网络相关联。
示例10包括如示例1至9中任一项中所定义的装置,其中第一设备和第二设备是边缘环境的不同边缘节点的一部分。
示例11包括一种非暂态计算机可读介质,包括指令,指令在执行时,使至少一个处理器用于:确定在边缘环境的第一设备处接收到的经训练模型的证明分数,对证明分数的确定在与第一设备不同的第二设备处执行;基于证明分数与阈值的比较来证实模型;以及基于证实来对模型进行执行或部署中的至少一项。
示例12包括如示例11中所定义的非暂态计算机可读介质,其中证明分数是根据与模型相关联的区块链确定的。
示例13包括如示例12中所定义的非暂态计算机可读介质,其中模型是通过请求与模型相关联的第三设备基于区块链证实模型来证实的。
示例14包括如示例12中所定义的非暂态计算机可读介质,其中证明分数是基于存储在区块链中的多个证明分数的平均值来计算的。
示例15包括如示例12至14中的任一项所定义的非暂态计算机可读介质,其中证明分数是基于区块链中超过阈值的分数的数量来计算的。
示例16包括如示例11至15中的任一项所定义的非暂态计算机可读介质,其中进一步使至少一个处理器用于确定模型是在改进还是在降级。
示例17包括如示例11至16中的任一项所定义的非暂态计算机可读介质,其中进一步使至少一个处理器用于在边缘环境的第三设备处训练模型。
示例18包括如示例11至17中的任一项所定义的非暂态计算机可读介质,其中进一步使至少一个处理器用于认证与模型相关联的软件。
示例19包括如示例18中所定义的非暂态计算机可读介质,其中软件被用于训练模型。
示例20包括如示例11至19中的任一项所定义的非暂态计算机可读介质,其中进一步使至少一个处理器用于认证与已训练或证实模型的设备相关联的硬件。
示例21包括如示例20中定义的非暂态计算机可读介质,其中通过认证提供数据以训练模型的传感器的签名来认证硬件。
示例22包括如示例11至21中的任一项所定义的非暂态计算机可读介质,其中进一步使至少一个处理器用于基于具有足够精度的第二设备的模型或在与第一设备所分析的状况相似的状况下部署的第二设备的模型中的至少一个来选择第二设备。
示例23包括如示例11至22中的任一项所定义的非暂态计算机可读介质,其中进一步使至少一个处理器用于基于迭代次数大于阈值的第二设备的模型来选择第二设备。
示例24包括一种证实在边缘环境中训练的经训练模型的方法。该方法包括:通过使用至少一个处理器执行指令来确定在第一设备处接收到的模型的证明分数,对证明的确定在与第一设备不同的第二设备处执行;通过使用至少一个处理器执行指令来响应于证明分数超过阈值而证实模型;以及通过使用至少一个处理器执行指令来基于模型的证实来对模型进行执行或部署中的至少一项。
示例25包括如示例24中定义的方法,其中证明分数是基于与模型相关联的区块链确定的。
示例26包括如示例25中定义的方法,进一步包括通过使用至少一个处理器执行指令来请求对与区块链相关联的第三设备的模型的证实。
示例27包括如示例24至26中任一项所定义的方法,进一步包括通过使用至少一个处理器执行指令来确定模型是在改进还是在降级。
示例28包括如示例24至27中任一项所定义的方法,进一步包括通过使用至少一个处理器执行指令来认证与模型相关联的传感器数据的签名。
示例29包括如示例24至28中任一项所定义的方法,其中证明分数是基于共识评分计算的。
示例30包括如示例24至29中任一项所定义的方法,其中证明分数是将基于将证实模型的对等设备的数量与未证实模型的对等设备的数量进行比较来计算的。
示例31包括如示例24至30中任一项所定义的方法,进一步包括如果使用与第一设备和第二设备不同的第三设备证实不成功,则通过使用至少一个处理器执行指令来启动进一步证实。
示例32包括如示例24至31中任一项所定义的方法,进一步包括通过使用至少一个处理器执行指令来基于具有足够精度的第二设备的模型或在与第一设备所分析的状况相似的状况下部署的第二设备的模型中的至少一个来选择第二设备。
示例33是包括指令的至少一种机器可读介质,该指令在被处理电路系统执行时,使得该处理电路系统执行操作以实现示例1-32中的任一项。
示例34是一种设备,包括用于实现示例1-32中的任一项的装置。
示例35是一种用于实现示例1-32中的任一项的系统。
示例36是一种用于实现示例1-32中的任一项的方法。
示例37是一种多层边缘计算系统,包括在本地边缘、网络接入边缘或近边缘计算设置中提供的多个边缘计算节点,该多个边缘计算节点被配置成用于执行示例1-32的方法中的任一项。
示例38是一种边缘计算系统,包括多个边缘计算节点,该多个边缘计算节点中的每一个边缘计算节点被配置成用于执行示例1-32的方法中的任一项。
示例39是一种边缘计算节点,可作为在边缘计算系统中托管服务和多个附加服务的服务器来操作,该边缘计算节点配置成用于执行示例1-32的方法中的任一项。
示例40是一种边缘计算节点,能在边缘计算网络的层中作为聚合节点、网络中枢节点、网关节点或核心数据处理节点来操作,该边缘计算节点被配置成用于执行示例1-32的方法中的任一项。
示例41是一种边缘供应、编排或管理节点,可在边缘计算系统中操作,该节点被配置成用于实现示例1-32的方法中的任一项。
示例42是一种边缘计算网络,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,以启用边缘计算系统,从而实现示例1-32的方法中的任一项。
示例43是一种接入点,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,以启用边缘计算系统,从而实现示例1-32的方法中的任一项。
示例44是一种基站,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,被配置为边缘计算系统,从而实现示例1-32的方法中的任一项。
示例45是一种路边单元,包括联网组件,该联网组件被配置成用于提供或操作通信网络,被配置为边缘计算系统,从而实现示例1-32的方法中的任一项。
示例46是一种内部服务器,能在不同于公共边缘计算网络的私有通信网络中操作,该服务器被配置为边缘计算系统,以实现如权利要求1-32的方法中的任一项。
示例47是一种3GPP 4G/LTE移动无线通信系统,包括联网组件和处理组件,该联网组件和处理组件被配置为边缘计算系统,以实现示例1-32的方法中的任一项。
示例48是一种5G网络移动无线通信系统,包括联网组件和处理组件,该联网组件和处理组件被配置为边缘计算系统,以实现示例1-32的方法中的任一项。
示例49是一种边缘计算系统,被配置为边缘网格,该边缘计算系统被提供有微服务集群、具有边车的微服务集群、或具有边车的链接的微服务集群,该边缘计算系统被配置成用于实现示例1-32的方法中的任一项。
示例50是一种边缘计算系统,包括被配置成用于使用在专用硬件、虚拟机、容器或容器上的虚拟机之间提供的一个或多个隔离环境来实现服务的电路系统,该边缘计算系统被配置成用于实现示例1-32的方法中的任一项。
示例51是一种计算硬件,具有实现于其上的计算功能,该计算硬件能在边缘计算系统中操作,该计算硬件被配置成用于实现示例1-32的方法中的任一项。
示例52是一种边缘计算系统,被配置成利用示例1-32的方法中的任一项来实现服务,其中服务涉及以下中的一项或多项:计算迁移、数据高速缓存、视频处理、网络功能虚拟化、无线电接入网络管理、增强现实、虚拟现实、自主驾驶、交通工具辅助、交通工具通信、工业自动化、零售服务、制造操作、智慧建筑、能源管理、物联网操作、对象检测、语音识别、医疗保健应用、游戏应用或加速的内容处理。
示例53是一种边缘计算系统的设备,包括:一个或多个处理器、以及包括指令的一个或多个计算机可读介质,该指令在由一个或多个处理器执行时使得一个或多个处理器执行示例1-32的方法中的任一项。
示例54是一种或多种计算机可读存储介质,包括指令,该指令用于在指令由边缘计算系统的电子设备的一个或多个处理器执行时使得电子设备执行示例1-32的方法中的任一项。
示例55是用于边缘计算系统中的计算机程序,该计算机程序包括指令,其中,程序由边缘计算系统中的处理元件的执行用于使得处理元件执行如示例1-32的方法中的任一项。
示例56是作为自包含处理系统操作的边缘计算装置设备,其包括壳体、箱或外壳、网络通信电路系统、存储存储器电路系统和处理器电路系统,适于执行示例1-32的方法中的任一项。
示例57是一种边缘计算系统的设备,包括用于执行如示例1-32的方法中的任一项的装置。
示例58是一种边缘计算系统的设备,该边缘计算系统包括用于执行如示例1-32的方法中的任一项的逻辑、模块或电路系统。
示例59是一种处于边缘计算系统内或耦合至边缘计算系统的接入点、基站、路边单元、或内部单元,该接入点、基站、路边单元、或内部单元可操作以用于调用或执行示例1-32中的任一项或者本文中所描述的其他主题的操作。
示例60是一种处于边缘计算系统内或耦合至边缘计算系统的边缘节点,该边缘节点操作边缘供应服务、应用或服务编排服务、虚拟机部署、容器部署、功能部署、以及计算管理,该边缘节点可操作以用于调用或执行示例1-32中任一项或者本文中所描述的其他主题的操作。
示例61是一种边缘计算系统,该边缘计算系统适于支持客户端移动性、交通工具对交通工具(V2V)、交通工具对外界(V2X)、或交通工具对基础设施(V2I)场景,并且任选地根据欧洲电信标准协会(ETSI)多接入边缘计算(MEC)规范来进行操作,该边缘计算系统可操作以使用示例1-32中任一项或本文中所描述的其他主题来调用或执行本文中所讨论的用例。
示例62是一种边缘计算系统,该边缘计算系统适于移动无线通信,包括根据3GPP4G/LTE或5G网络能力的配置,该边缘计算系统可操作以使用示例1-32中任一项或本文中所描述的其他主题来调用或执行本文中所讨论的用例。
示例63是一种边缘计算系统的设备,包括:一个或多个处理器、以及一种或多种计算机可读介质,该一种或多种计算机可读介质包括指令,这些指令在由一个或多个处理器部署和执行时使得该一个或多个处理器使用示例1-32中任一项或本文中所描述的其他主题来执行本文中所讨论的用例。
尽管本文中已公开了某些示例方法、装置和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利的权利要求的范围内的全部方法、装置和制品。
所附的权利要求由此通过本参考被并入到具体实施方式中,其中每一项权利要求其本身作为本公开的单独的实施例。

Claims (25)

1.一种用于证实边缘环境中的经训练模型的装置,所述装置包括:
证明验证器,用于确定在第一设备处接收到的所述模型的证明分数,所述证明分数在与所述第一设备不同的第二设备处计算;
比较器,用于将所述证明分数与阈值进行比较;
证实器,用于基于所述比较来证实所述模型;以及
执行器,用于基于所述证实来对所述模型进行执行或部署中的至少一项。
2.如权利要求1所述的装置,其特征在于,所述证明验证器用于基于与所述模型相关联的区块链来确定所述证明分数。
3.如权利要求2所述的装置,进一步包括区块链验证器,用于请求作为所述模型的区块链证明的一部分的第三设备来基于所述区块链证实模型。
4.如权利要求2或3中任一项所述的装置,其特征在于,所述第二设备用于基于存储在所述区块链中的多个证明分数的平均值来计算所述证明分数。
5.如权利要求1-4中任一项所述的装置,进一步包括模型改进分析器,用于确定所述模型是在改进还是在降级。
6.如权利要求1-5中任一项所述的装置,进一步包括用于认证所述模型的认证器。
7.如权利要求6所述的装置,其特征在于,所述认证器用于验证与训练或证实所述模型的设备相关联的硬件。
8.如权利要求6或7中任一项所述的装置,其特征在于,所述认证器用于验证提供数据以训练所述模型的传感器的签名。
9.如权利要求1-8中任一项所述的装置,其特征在于,所述第一设备是第一交通工具的一部分,并且所述第二设备是第二交通工具的一部分,所述第一交通工具和所述第二交通工具与所述边缘环境的交通工具对外界V2X网络相关联。
10.如权利要求1-9中任一项所述的装置,其特征在于,所述第一设备和所述第二设备是所述边缘环境的不同边缘节点的一部分。
11.一种计算机可读介质,包括指令,所述指令当被执行时使得至少一个处理器用于:
确定在边缘环境的第一设备处接收到的经训练模型的证明分数,对所述证明分数的所述确定在与所述第一设备不同的第二设备处执行;
基于所述证明分数与阈值的比较来证实所述模型;以及
基于所述证实来对所述模型进行执行或部署中的至少一项。
12.如权利要求11所述的计算机可读介质,其特征在于,所述证明分数是根据与所述模型相关联的区块链确定的。
13.如权利要求12所述的计算机可读介质,其特征在于,所述模型是通过请求与所述模型相关联的第三设备基于所述区块链证实所述模型来证实的。
14.如权利要求12或13中任一项所述的计算机可读介质,其特征在于,所述证明分数是基于存储在所述区块链中的多个证明分数的平均值来计算的。
15.如权利要求12-14中任一项所述的计算机可读介质,其特征在于,所述证明分数是基于所述区块链中超过阈值的分数的数量来计算的。
16.如权利要求11-15中任一项所述的计算机可读介质,其特征在于,进一步使所述至少一个处理器用于确定所述模型是在改进还是在降级。
17.如权利要求11-16中任一项所述的计算机可读介质,其特征在于,进一步使所述至少一个处理器用于在所述边缘环境的第三设备处训练所述模型。
18.如权利要求11-17中任一项所述的计算机可读介质,其特征在于,进一步使所述至少一个处理器用于认证与训练或证实所述模型的设备相关联的硬件。
19.如权利要求11-18中任一项所述的计算机可读介质,其特征在于,进一步使所述至少一个处理器用于基于具有足够精度的所述第二设备的模型或在与所述第一设备所分析的状况相似的状况下部署的所述第二设备的模型中的至少一个来选择所述第二设备。
20.如权利要求11-19中任一项所述的计算机可读介质,其特征在于,进一步使所述至少一个处理器用于基于迭代次数大于阈值的所述第二设备的模型来选择所述第二设备。
21.一种证实在边缘环境中训练的经训练模型的方法,所述方法包括:
通过使用至少一个处理器执行指令来确定在第一设备处接收到的模型的证明分数,对证明的确定在与所述第一设备不同的第二设备处执行;
通过使用所述至少一个处理器执行指令来响应于所述证明分数超过阈值而证实所述模型;以及
通过使用所述至少一个处理器执行指令来基于对所述模型的证实来对所述模型进行执行或部署中的至少一项。
22.如权利要求21所述的方法,其特征在于,所述证明分数是基于与所述模型相关联的区块链确定的。
23.如权利要求21或22中任一项所述的方法,进一步包括通过使用所述至少一个处理器执行指令来确定所述模型是在改进还是在降级。
24.如权利要求21-23中任一项所述的方法,进一步包括通过使用所述至少一个处理器执行指令来认证与所述模型相关联的传感器数据的签名。
25.如权利要求21-24中任一项所述的方法,其特征在于,所述证明分数是基于共识评分来计算的或者是基于将证实所述模型的对等设备的数量与未证实所述模型的对等设备的数量进行比较来计算的。
CN202111392116.0A 2020-12-22 2021-11-19 用于验证边缘环境中的经训练模型的方法和设备 Pending CN114661455A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/131,462 2020-12-22
US17/131,462 US20210110310A1 (en) 2020-12-22 2020-12-22 Methods and apparatus to verify trained models in an edge environment

Publications (1)

Publication Number Publication Date
CN114661455A true CN114661455A (zh) 2022-06-24

Family

ID=75382992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111392116.0A Pending CN114661455A (zh) 2020-12-22 2021-11-19 用于验证边缘环境中的经训练模型的方法和设备

Country Status (3)

Country Link
US (1) US20210110310A1 (zh)
EP (1) EP4020880A1 (zh)
CN (1) CN114661455A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116434818A (zh) * 2023-03-28 2023-07-14 深圳市芯存科技有限公司 基于fpga的ddr3多端口读写存储管理方法
CN117351328A (zh) * 2023-12-04 2024-01-05 杭州灵西机器人智能科技有限公司 一种标注图像生成方法、系统、设备和介质
CN117956597A (zh) * 2023-12-29 2024-04-30 广州汽车集团股份有限公司 模型训练方法、频谱资源分配方法、装置及电子设备
CN118037440A (zh) * 2024-04-09 2024-05-14 湖南三湘银行股份有限公司 一种综合信贷系统的授信数据处理方法及系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019235864A1 (ko) * 2018-06-05 2019-12-12 주식회사 네트워크디파인즈 신뢰가 없는 네트워크에서 데이터 전달을 증명하는 방법 및 장치
US11356537B2 (en) * 2019-03-11 2022-06-07 At&T Intellectual Property I, L.P. Self-learning connected-device network
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services
US11507698B2 (en) * 2021-01-19 2022-11-22 Dell Products L.P. Blockchain-based attestation service
KR20220152022A (ko) * 2021-05-07 2022-11-15 삼성전자주식회사 블록체인 네트워크에 포함된 노드에 대응하는 전자 장치와 이의 동작 방법
CN113452681B (zh) * 2021-06-09 2022-08-26 青岛科技大学 基于区块链的车联网群智感知声誉管理系统及方法
US12069069B2 (en) * 2021-06-14 2024-08-20 Mellanox Technologies Ltd. Network devices assisted by machine learning
CN113239635A (zh) * 2021-06-16 2021-08-10 中国银行股份有限公司 一种模型评价方法及装置
CN113596390B (zh) * 2021-06-16 2024-02-13 国网浙江省电力有限公司电力科学研究院 基于三层架构的变电站视频监控异常预警系统及实现方法
US20210326763A1 (en) * 2021-06-25 2021-10-21 Intel Corporation Model propagation in edge architectures
CN113612598B (zh) * 2021-08-02 2024-02-23 北京邮电大学 基于秘密共享和联邦学习的车联网数据共享系统及方法
US20230139656A1 (en) * 2021-11-03 2023-05-04 Mastercard International Incorporated Method and system of machine learning model validation in blockchain through zero knowledge protocol
WO2023097022A1 (en) * 2021-11-23 2023-06-01 Strong Force Ee Portfolio 2022, Llc Ai-based energy edge platform, systems, and methods
US20220116224A1 (en) * 2021-12-22 2022-04-14 Intel Corporation Methods and apparatus for attestation for a constellation of edge devices
US20230216928A1 (en) * 2022-01-06 2023-07-06 International Business Machines Corporation Hybrid edge computing
CN115002217B (zh) * 2022-05-23 2024-02-06 中国电信股份有限公司 调度方法、装置、设备及介质
US11777870B1 (en) * 2022-07-08 2023-10-03 Bank Of America Corporation Machine-learning (ML)-based systems and methods for maximizing resource utilization
CN115277845B (zh) * 2022-07-22 2024-07-19 南京理工大学 基于多智能体近端策略的车联网分布式边缘缓存决策方法
WO2024101907A1 (en) * 2022-11-11 2024-05-16 Samsung Electronics Co., Ltd. Federated learning and management of global ai model in wireless communication system
CN116489163B (zh) * 2023-06-16 2023-09-19 清华大学 基于多链的边缘个性化协作学习方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2929988A1 (en) * 2013-08-12 2015-02-19 Selventa Systems and methods for crowd-verification of biological networks
US10151475B2 (en) * 2014-08-19 2018-12-11 Intel Corporation System for determining scaling in a boiler
US20190332814A1 (en) * 2018-04-27 2019-10-31 Nxp B.V. High-throughput privacy-friendly hardware assisted machine learning on edge nodes
US12052145B2 (en) * 2018-12-07 2024-07-30 Telefonaktiebolaget Lm Ericsson (Publ) Predicting network communication performance using federated learning
US20190272375A1 (en) * 2019-03-28 2019-09-05 Intel Corporation Trust model for malware classification
US11580335B2 (en) * 2019-04-02 2023-02-14 General Electric Company Transaction management of machine learning algorithm updates
US11823568B2 (en) * 2019-05-02 2023-11-21 Toyota Motor North America, Inc. Dynamic speed limit for vehicles and autonomous vehicles
US11423332B2 (en) * 2019-09-27 2022-08-23 Intel Corporation Distributed machine learning in an information centric network
US20220343167A1 (en) * 2019-11-05 2022-10-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for machine learning model life cycle
WO2021201823A1 (en) * 2020-03-30 2021-10-07 Siemens Aktiengesellschaft Robust artificial intelligence inference in edge computing devices
US20220129789A1 (en) * 2020-10-28 2022-04-28 Capital One Services, Llc Code generation for deployment of a machine learning model

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116434818A (zh) * 2023-03-28 2023-07-14 深圳市芯存科技有限公司 基于fpga的ddr3多端口读写存储管理方法
CN116434818B (zh) * 2023-03-28 2024-02-09 深圳市芯存科技有限公司 基于fpga的ddr3多端口读写存储管理方法
CN117351328A (zh) * 2023-12-04 2024-01-05 杭州灵西机器人智能科技有限公司 一种标注图像生成方法、系统、设备和介质
CN117351328B (zh) * 2023-12-04 2024-02-13 杭州灵西机器人智能科技有限公司 一种标注图像生成方法、系统、设备和介质
CN117956597A (zh) * 2023-12-29 2024-04-30 广州汽车集团股份有限公司 模型训练方法、频谱资源分配方法、装置及电子设备
CN118037440A (zh) * 2024-04-09 2024-05-14 湖南三湘银行股份有限公司 一种综合信贷系统的授信数据处理方法及系统
CN118037440B (zh) * 2024-04-09 2024-09-06 湖南三湘银行股份有限公司 一种综合信贷系统的授信数据处理方法及系统

Also Published As

Publication number Publication date
US20210110310A1 (en) 2021-04-15
EP4020880A1 (en) 2022-06-29

Similar Documents

Publication Publication Date Title
EP4020880A1 (en) Method, apparatus and machine-readable storage to verify trained models in an edge environment
US11888858B2 (en) Calculus for trust in edge computing and named function networks
US11425111B2 (en) Attestation token sharing in edge computing environments
US20220255916A1 (en) Methods and apparatus to attest objects in edge computing environments
US20210014113A1 (en) Orchestration of meshes
US12010144B2 (en) End-to-end device attestation
US20220191648A1 (en) Digital twin framework for next generation networks
US20210021619A1 (en) Trust-based orchestration of an edge node
US12041177B2 (en) Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager
CN114253706A (zh) 用于协调边缘平台的方法和装置
CN114253793A (zh) 动态追踪控制
CN114338679A (zh) 用于边缘环境中的工作负荷布置的方法、设备和制品
US20230169397A1 (en) Methods and apparatus for attestation of an artificial intelligence model
CN114253657A (zh) 使用分布式账本的编排器执行计划
KR20220091367A (ko) 하드웨어 및 소프트웨어를 보호하기 위한 장치, 시스템 및 방법
US20210152543A1 (en) Automatic escalation of trust credentials
US20220014566A1 (en) Network supported low latency security-based orchestration
CN114253658A (zh) 边缘计算的持续测试、集成和部署管理
CN115525421A (zh) 用于促进服务代理的方法和装置
EP4155752A1 (en) Connected device region identification
CN114254336A (zh) 用于通过使用边界标签来实施数据边界的方法、装置和系统
US20210326763A1 (en) Model propagation in edge architectures
US20230319141A1 (en) Consensus-based named function execution
US20240241960A1 (en) Trusted provenance authority for cloud native computing platforms
CN115529677A (zh) 以信息为中心的网络非结构化数据载体

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination