1.本文描述的实施例一般涉及计算机监测,且更具体地涉及分布式遥测平台。
背景技术:2.计算系统中的遥测通常涉及在工作负荷期间捕获对硬件和软件使用的测量。工作负荷可包括运行应用、执行特定指令、执行网络调用等。通常,遥测由记录可用度量的数据收集器执行。这些度量可包括诸如请求队列深度、往返处理时间、功率使用、硬件调用、等待时间、开放操作系统句柄或计算机硬件或软件的其他可测量方面。遥测分析通常在数据收集器或由遥测代理产生的数据的消费方处执行。通常,遥测代理提供(例如,不变的)测量值集合,这些测量值随后由数据收集器消耗并转化为可用的分析。
附图说明
3.在附图中(这些附图不一定是按比例绘制的),同样的数字可描述不同视图中的类似组件。具有不同的字母后缀的同样的数字可表示类似组件的不同实例。附图总的来说通过示例的方式而不是限制的方式来图示在本文档中所讨论的各实施例。
4.图1是根据实施例的环境的示例的框图,该环境包括用于分布式遥测平台的系统。
5.图2图示出根据实施例的组件交互的示例。
6.图3图示出用于边缘计算的边缘云配置的概览。
7.图4图示出端点、边缘云和云计算环境之间的操作层。
8.图5图示出用于边缘计算系统中的联网和服务的示例方法。
9.图6图示出在多个边缘节点和多个租户之间操作的边缘计算系统中的虚拟边缘配置的部署。
10.图7图示出在边缘计算系统中部署容器的各种计算布置。
11.图8a提供用于边缘计算系统中的计算节点处所部署的计算的示例组件的概览。
12.图8b提供边缘计算系统中的计算设备内的示例组件的进一步的概览。
13.图9图示出用于分发软件的示例软件分发平台。
14.图10图示出根据实施例的用于分布式遥测平台的方法的示例的流程图。
15.图11是图示出可在其上实现一个或多个实施例的机器的示例的框图。
具体实施方式
16.随着工作负荷概况和相对应度量变化,调整遥测分析以支持工作负荷编排变得非常具有挑战性。平台监测技术遥测在一些硬件平台上的可用性使数据收集和分析能够在固件级进行,而不是通过操作系统代理进行。然而,当前遥测方法存在一些问题。例如,典型的方法使用基本的代理统计分析。在这里,代理对代理处的数据执行统计分析(例如,平均值、最大值、最小值等)。这些代理通常执行预定义的基于阈值的警报,以获得总体上即时反馈。这些代理分析是静态的、刚性的,并且无法扩展以解决跨多个实体(例如,其他代理和收集
器)的复杂分析。
17.为了解决这些问题,跨不同的平台层(诸如固件中、操作系统(os)处和云中)实现公共代理运行时。运行时使得灵活的遥测流水线能够被运行。这里,流水线包括若干可执行块,这些块将按运行时执行,而不考虑执行的位置(例如,在固件、云中等)。然而,给定位置可能缺乏在任何给定时刻执行特定的可执行块的计算资源。这里,可执行块可以被移动到另一个位置。在示例中,可执行块可基于位置进行调节。例如,采样率可被降低到启用(通常)计算上更受约束的固件位置以执行该块。
18.运行时是一个可移植遥测分析环境,其使得遥测工作负荷能够基于运行时约束和动态定义的策略被重新分配。该方法有若干优点。例如,遥测分析可以被定义一次并在不同类型的实体上运行,这些实体诸如带内代理(例如,在os中)、带外代理(例如,在硬件或固件中)或遥测收集器(例如,在远程或云节点中)。进一步地,该方法通过实施执行运行时约束来防止遥测工作负荷压倒运行时环境。此外,通过使用策略将遥测分析部署到最适合的环境(诸如那些具有最有用的硬件加速器或高级遥测算法支持的环境),效率和运行时资源使用可以最大化。
19.在示例中,遥测代理(带内和带外)和数据收集器包含共享的运行时环境用于执行可移植分析块。因此,遥测代理和收集器可以基于共享运行时环境内部的代码(例如,源代码、字节代码、目标代码、脚本等)来执行相同的算法。在示例中,共享运行时披露执行环境的能力和标准环境接口。共享运行时还强制执行约束,诸如根据存储器、计算范围或资源访问范围来限制分析执行。在示例中,这些策略和约束可被动态定义。
20.图1是根据实施例的环境的示例的框图,该环境包括用于分布式遥测平台的系统。如图所示,节点105包括os中的带内(ib)代理110并且包括带外(oob)代理115。云分析代理125(例如,收集器)在操作时以通信方式耦合到ib代理110或oob代理115。ib代理110、oob代理115和云分析代理120中的每一个都使用公共运行时。遥测编排器120通过向代理分发可执行块而在代理上运行遥测流水线。
21.ib代理110、oob代理115和云分析代理125这三个子系统协同工作,以运行部分或完整的遥测操作。这三个子系统可以使用构成遥测流水线的相同的密码学签名的数据分析可执行块将分析的一部分相互迁移。
22.ib代理110可包括在os或管理程序之上运行的数据收集和分析软件。oob代理115可包括在诸如可管理性引擎、嵌入式控制器或可编程服务引擎之类的计算平台内的嵌入式固件内运行的数据收集和分析软件。
23.以下是遥测流水线工作负荷编排的示例。oob代理115可以通过硬件遥测接口运行和执行原始计数器或样本数据收集。oob代理115还可以运行数据清洗过程,并且然后向ib代理110和云分析代理125提供经处理的遥测数据。
24.ib代理115可以消耗经处理的遥测数据,并执行用于直接工作负荷调度器的第二数据分析过程。云分析代理125可以出于更长期的目的(诸如工作负荷分析、工作负荷迁移或编排),消耗经处理的遥测数据和对数据的进一步趋势分析或机器学习。
25.可执行代码块(诸如数据清洗过程、用于即时调度器的数据分析或用于机器学习的趋势分析)都是受信任的可移植代码。因此,在oob代理115上运行的相同的分析代码可以被部署在ib代理110上。架构使得相同的遥测可执行代码能够在不同的运行时环境中运行
而无需修改。这使得遥测编排器120能够基于环境的可用资源和可执行代码块的要求来转移遥测流水线的不同部分的计算。
26.为了能够在所有三种环境中协调部署遥测流水线的可执行代码块,以下架构特征中的一个或多个特征可被实现:1.代理是受信任的,代理与遥测编排器120之间的通信也是受信任的。2.安全的故障保护代码部署机制被采用。3.每个代理包括可移植运行时环境。4.通用数据格式被用于存储和交换。5.运行时在可用时披露加速器(例如,gpu、hddl、fpga等)应用编程接口(api)。6.可执行块可以使用签名信任模型被签名。7.执行策略可限制可由可执行块消耗的资源。
27.图2图示出根据实施例的组件交互的示例。遥测代理220可以在许多远程设备上运行,这些远程设备例如在互联网上往回连接并认证到受信任遥测服务器210。遥测服务器210随后可以将javascript代码230推送到代理220。然后,代码230在代理220上的运行时225中运行,以收集数据(例如,在代理数据库235中),执行数据分析,并将相关信息发送到服务器210以进行中央处理(例如,用于与数据库服务器205一起存储的遥测分析215)。
28.在任何时候,遥测服务器210可指示代理220停止运行javascript代码230或用新代码替换代码230。遥测服务器210还可以向不同的代理提供不同的javascript代码,以最佳地使代码适应代理的特定能力或a/b测试。
29.javascript代码230由代理在运行时环境225内运行。本实施例还有额外的好处,即当与以nodejs编写的服务器配对时,javascript对象表示法(json)是数据传输和存储格式的良好选择。因此,遥测数据可以由javascript代码230校正,并使用json上传。在示例中,负荷数据库235可用于存储由javascript代码230指示的一些本地数据。该本地数据库235可用于增强跨设备重启的本地数据处理,或使代理220能够聚合较低优先级的遥测数据,并在需要时将该数据批量发送到服务器210。
30.该架构的另一个优点是通过在低资源(例如,低功率、无加速器等)机器上运行遥测服务器210来实现的。这里,包括gpu、fpga等的代理的处理功率可用于对数据执行更复杂的处理。在这种情况下,服务器210可以向代理220发送更复杂的遥测脚本230和要处理的数据。在示例中,神经网络可以在代理220上的空闲gpu上实现,以处理发送到代理220的数据。许多此类代理可以用来执行这些任务。在示例中,一些数据的处理可能重叠,以验证代理返回一致的结果。
31.在示例中,为了安全保护安全性,可移植运行时225可以仅基于执行策略来披露高级运行时接口。在示例中,可移植运行时225可允许受信任的或经密码学签名的可执行块运行。由执行策略控制的安全范围可包括网络访问、加速器访问、计算性能限制、存储访问或分配的存储器等。
32.在示例中,如果运行时环境225不能满足可执行块的执行要求,或者执行期间的可执行块资源使用超过其部署策略定义的允许限制,则服务器210可以采取措施降低可执行块的执行以满足所施加的限制或约束,将可执行块迁移到另一个可用的运行时环境,或终止可执行块的执行。
33.图3是示出用于边缘计算的配置的概览的框图,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云310共同定位在边缘位置(诸如接入点或基站340、本地处理中枢350、或中央局320),并且因此可以包括多个实体、设备、和装备实例。与云数据中心330相比,边缘云310被定位成更靠近端点(消费者和生产者)数据源360(例如,自主交通工具361、用户装备362、商业和工业装备363、视频捕捉设备364、无人机365、智慧城市和建筑设备366、传感器和iot设备367等)。在边缘云310中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源360使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云310朝向云数据中心330的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
34.计算、存储器和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备处可用的处理资源比在基站处、比在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(ue)),空间和功率通常就越受限。因此,边缘计算试图通过分配被定位成既在地理上更靠近又在网络访问时间上更靠近的更多的资源来减少网络服务所需的资源量。以此种方式,边缘计算试图在适当的情况下将计算资源带给工作负荷数据,或者,将工作负荷数据带给计算资源。
35.以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其自身基础设施中可能具有的限制。这些包括以下的变体:基于边缘位置的配置(例如,因为基站级的边缘在多租户场景中可能具有更受限制的性能和能力);基于对边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。取决于等待时间、距离、和定时特征,这些部署可以在网络层中完成处理,这些网络层可以被视为“接近边缘”层、“靠近边缘”层、“本地边缘”层、“中间边缘”层、或“远边缘”层。
36.边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或与产生和消耗数据的端点设备靠近得多得多的其他设备处实现的计算平台(例如,x86或arm计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监控)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,中央局网络管理硬件能以标准化计算硬件来代替,该标准化计算硬件执行虚拟化网络功能,并为服务的执行提供计算资源并且为连接的设备提供消费者功能。在边缘计算网络内,可能存在计算资源将被“移动”到数据的服务中的场景,以及其中数据将被“移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以便通过激活休眠容量(订阅、按需容量)来根据需要缩放至工作负荷需求,以便管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
37.图4图示出端点、边缘云和云计算环境之间的操作层。具体而言,图4描绘了在网络计算的多个说明性层之间利用边缘云310的计算用例405的示例。这些层开始于端点(设备和事物)层400,该端点层400访问边缘云310以进行数据创建、分析、和数据消耗活动。边缘云310可以跨越多个网络层,诸如边缘设备层410,该边缘设备层410具有网关、自有(on-premise)服务器、或位于物理上邻近边缘的系统中的网络装备(节点415);网络接入层420,
该网络接入层420涵盖基站、无线电处理单元、网络中枢、区域数据中心(dc)、或本地网络装备(装备425);以及位于它们之间的任何装备、设备或节点(在层412中,未详细图示出)。边缘云310内和各层之间的网络通信可以经由任何数量的有线或无线介质来实现,包括经由未描绘出的连接性架构和技术来实现。
38.由于网络通信距离和处理时间约束而导致的等待时间的示例的范围可以从在端点层400之间时的小于毫秒(ms),在边缘设备层410处的低于5ms到当与网络接入层420处的节点通信时的甚至10ms到40ms之间。在边缘云310之外是核心网络430层和云数据中心440层,它们各自均具有增加的等待时间(例如,在核心网络层430处的50ms-60ms、到在云数据中心层处的100ms或更多ms之间)。因此,在核心网络数据中心435或云数据中心445处的、具有至少50ms至100ms或更长的等待时间的操作将无法完成用例405的许多时间关键的功能。出于说明和对比的目的,提供这些等待时间值中的每一个等待时间值;将会理解,使用其他接入网络介质和技术可以进一步降低等待时间。在一些示例中,相对于网络源和目的地,网络的各个部分可以被分类为“靠近边缘”层、“本地边缘”层、“接近边缘”层、“中间边缘”层或“远边缘”层。例如,从核心网络数据中心435或云数据中心445的角度来看,中央局或内容数据网络可以被视为位于“接近边缘”层内(“接近”云,具有在与用例405的设备和端点通信时的高等待时间值),而接入点、基站、自有服务器或网络网关可以被视为位于“远边缘”层内(“远”离云,具有在与用例405的设备和端点通信时的低等待时间值)。将会理解,构成“靠近”、“本地”、“接近”、“中间”或“远”边缘的特定网络层的其他分类可以基于等待时间、距离、网络跳数或其他可测量的特性,如从网络层400-440中的任一层中的源所测量的特性。
39.由于多个服务利用边缘云,因此各种用例405可能在来自传入流的使用压力下访问资源。为了实现低等待时间的结果,在边缘云310内执行的服务在以下方面平衡了不同的要求:(a)优先级(吞吐量或等待时间)和服务质量(qos)(例如,在响应时间要求方面,用于自主汽车的通信量可能比温度传感器具有更高的优先级;或者取决于应用,性能敏感度/瓶颈可能存在于计算/加速器、存储器、存储、或网络资源上);(b)可靠性和复原性(例如,取决于应用,一些输入流需要被作用并且以任务关键型可靠性来路由通信量,而一些其他输入流可以容忍偶尔的故障;以及(c)物理约束(例如,功率、冷却和形状因子)。
40.这些用例的端对端服务视图涉及服务流的概念,并且与事务相关联。事务详细说明了用于消费服务的实体的整体服务要求、以及用于资源、工作负荷、工作流的相关联的服务、以及业务功能和业务水平要求。根据所描述的“条款”执行的服务能以确保事务在服务的生命周期期间的实时和运行时合约合规性的方式在每层处被管理。当事务中的组件缺失其约定的sla时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解sla违反的影响,以及(2)增强系统中的其他组件以恢复整体事务sla,以及(3)实现补救的步骤。
41.因此,考虑到这些变化和服务特征,边缘云310内的边缘计算可以提供实时或接近实时地服务和响应于用例405的多个应用(例如,对象跟踪、视频监控、连接的汽车等)的能力,并满足这些多个应用的超低等待时间要求。这些优势使全新类别的应用(虚拟网络功能(vnf)、功能即服务(faas)、边缘即服务(eaas)、标准过程等)得以实现,这些应用由于等待时间或其他限制而无法利用传统的云计算。
42.然而,伴随边缘计算的优势而来的有以下注意事项。位于边缘处的设备通常是资源受限的,并且因此存在对边缘资源的使用的压力。典型地,这是通过对供多个用户(租户)
和设备使用的存储器和存储资源的池化来解决的。边缘可能是功率受限且冷却受限的,并且因此需要由消耗最多功率的应用对功率使用作出解释。在这些经池化的存储器资源中可能存在固有的功率-性能权衡,因为它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更大的存储器带宽。同样,还需要改善的硬件安全性和信任根受信任的功能,因为边缘位置可以是无人(控制)的,并且可能甚至需要经许可的访问(例如,当被容纳在第三方位置时)。在多租户、多所有者、或多访问设置中,此类问题在边缘云310中被放大,此类设置中,由许多用户请求服务和应用,特别是当网络使用动态地波动以及多个相关者、用例、和服务的组成改变时。
43.在更一般的级别上,边缘计算系统可以被描述为涵盖在先前讨论的、在边缘云310(网络层400-440)中操作的层处的任何数量的部署,这些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点和一个或多个核心数据中心可以跨网络的各个层而分布,以由电信服务提供商(“电信公司”或“tsp”)、物联网服务提供商、云服务提供商(csp)、企业实体或任何其他数量的实体提供边缘计算系统的实现,或者代表电信服务提供商(“电信公司”或“tsp”)、物联网服务提供商、云服务提供商(csp)、企业实体或任何其他数量的实体提供边缘计算系统的实现。诸如当进行编排以满足服务目标时,可以动态地提供边缘计算系统的各种实现方式和配置。
44.与本文提供的示例一致,客户端计算节点可以被具体化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其他事物。进一步地,如边缘计算系统中所使用的标签“节点”或“设备”不一定意指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反,边缘计算系统中的节点或设备中的任一者指代包括分立的或连接的硬件或软件配置以促进或使用边缘云310的各个实体、节点或子系统。
45.由此,边缘云310由网络层410-430之间的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并在网络层410-430之间的边缘网关节点、边缘聚合节点或其他边缘计算节点内被操作的网络组件和功能特征形成。因此,边缘云310可被具体化为提供边缘计算或存储资源的任何类型的网络,这些边缘计算或存储资源被定位成接近具有无线电接入网络(ran)能力的端点设备(例如,移动计算设备、iot设备、智能设备等),这在本文中进行讨论。换言之,边缘云310可被预想为连接端点设备和传统网络接入点、同时还提供存储或计算能力的“边缘”,这些传统网络接入点充当进入到包括移动运营商网络(例如,全球移动通信系统(gsm)网络、长期演进(lte)网络、5g/6g网络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如,wi-fi、长程无线、包括光学网络的有线网络)也可替代此类3gpp运营商网络被利用或与此类3gpp运营商网络组合来利用。
46.边缘云310的网络组件可以是服务器、多租户服务器、装置计算设备或任何其他类型的计算设备。例如,边缘云310可以包括包含壳体、底盘、机箱或外壳的自包含电子设备的装置计算设备。在一些情况下,可以针对便携性来确定壳体尺寸,以使得其可由人类携载或被运输。示例壳体可包括形成一个或多个外表面的材料,该一个或多个外表面部分地或完整地保护装置的内容物,其中,保护可包括天气保护、危险环境保护(例如,emi、振动、极端温度)或使得能够浸入水中。示例壳体可包括用于为固定式或便携式实现方式提供功率的功率电路系统,诸如ac功率输入、dc功率输入、(多个)ac/dc或dc/ac转换器、功率调节器、变压器、充电电路系统、电池、有线输入或无线功率输入。示例壳体或其表面可包括或连接至
安装硬件,以实现到诸如建筑物、电信结构(例如,杆、天线结构等)或机架(例如,服务器机架、刀片支架等)之类的结构的附接。示例壳体或其表面可支持一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学传感器、电容传感器、接近度传感器等)。一个或多个此类传感器可被包含在装置的表面中、由装置的表面承载、或以其他方式被嵌入在装置的表面中或被安装至装置的表面。示例壳体或其表面可支持机械连接性,诸如推进硬件(例如,轮子、螺旋桨等)或铰接硬件(例如,机械臂、可枢转附件等)。在一些情况下,传感器可包括任何类型的输入设备,诸如用户接口硬件(例如,按键、开关、拨号盘、滑块等)。在一些情况下,示例壳体包括包含在其中、由其携载、嵌入其中或附接于其的输出设备。输出设备可包括显示器、触摸屏、灯、led、扬声器、i/o端口(例如,usb)等。在一些情况下,边缘设备是为特定目的而被呈现在网络中、但是可具有可用于其他目的的处理或其他能力的设备(例如,红绿灯)。此类边缘设备可以独立于其他联网设备,并且可设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务的其他计算任务仍然是可用的。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全之类的本地问题的硬件和软件组件。结合图8b描述用于实现装置计算设备的示例硬件。边缘云310还可以包括一个或多个服务器或一个或多个多租户服务器。此类服务器可包括操作系统并实现虚拟计算环境。虚拟计算环境可包括管理(例如,生成、部署、损毁等)一个或多个虚拟机、一个或多个容器等的管理程序。此类虚拟计算环境提供其中一个或多个应用或其他软件、代码或脚本可在与一个或多个其他应用、软件、代码或脚本隔离的同时进行执行的执行环境。
47.在图5中,(以移动设备、计算机、自主交通工具、业务计算装备、工业处理装备的形式的)各种客户端端点510交换特定于端点网络聚合类型的请求和响应。例如,客户端端点510可以通过借助于自有网络系统532交换请求和响应522,经由有线宽带网络获得网络接入。一些客户端端点510(诸如移动计算设备)可以通过借助于接入点(例如,蜂窝网络塔)534交换请求和响应524,经由无线宽带网络获得网络接入。一些客户端端点510(诸如自主交通工具)可通过街道定位网络系统536,经由无线机载网络获得请求和响应526的网络接入。然而,无论网络接入的类型如何,tsp可以在边缘云310内部署聚合点542、544来聚合通信量和请求。因此,在边缘云310内,tsp可以(诸如在边缘聚合节点540处)部署各种计算和存储资源以提供请求的内容。边缘聚合节点540和边缘云310的其他系统被连接至云或数据中心560,该云或数据中心560使用回程网络550来满足来自云/数据中心对网站、应用、数据库服务器等的更高等待时间请求。边缘聚合节点540和聚合点542、544的附加或合并的实例(包括部署在单个服务器框架上的那些实例)也可以存在于边缘云310或tsp基础设施的其他区域内。
48.图6图示出跨在多个边缘节点和使用此类边缘节点的多个租户(例如,用户、提供商)之间操作的边缘计算系统的虚拟化和基于容器的边缘配置的部署和编排。具体而言,图6描绘了边缘计算系统中的第一边缘节点622和第二边缘节点624的协调,以实现对接入各种虚拟边缘实例的各种客户端端点610(例如,智慧城市/建筑系统、移动设备、计算设备、商业/物流系统、工业系统等)的请求和响应。在此,虚拟边缘实例632、634通过接入云/数据中心640以获得对网站、应用、数据库服务器等的更高等待时间的请求来提供边缘云中的边缘计算能力和处理。然而,边缘云使得能够协调用于多个租户或实体的多个边缘节点之间的
处理。
49.在图6的示例中,这些虚拟边缘实例包括:提供给第一租户(租户1)的第一虚拟边缘632,该第一虚拟边缘632提供边缘存储、计算、和服务的第一组合;以及第二虚拟边缘634,提供边缘存储、计算、和服务的第二组合。虚拟边缘实例632、634分布在边缘节点622、624之间,并且可以包括其中从相同或不同的边缘节点满足请求和响应的场景。用于以分布式但协调的方式操作的边缘节点622、624的配置基于边缘供应功能650来发生。用于在多个租户之间为应用和服务提供协调的操作的边缘节点622、624的功能基于编排功能660而发生。
50.应当理解,610中的设备中的一些设备是多租户设备,其中租户1可以在租户1
‘
片’内运行,而租户2可以在租户2片内运行(并且,在进一步的示例中,可能存在附加的租户或子租户;并且每个租户甚至可以对特定特征组具体地享有权利并且在事务上被绑定至特定特征组,一直到对特定的硬件特征具体地享有权利并且在事务上被绑定至特定的硬件特征)。受信任的多租户设备可以进一步包含租户专用的密码学密钥,使得密钥和切片的组合可以被视为信任根摂(rot)或租户专用的rot。可以进一步计算使用dice(设备身份组合引擎)架构动态地组成的rot,使得单个dice硬件构建块可用于构造用于对设备能力(诸如现场可编程门阵列(fpga))进行分层的分层受信任的计算基础情境。rot可进一步用于受信任计算情境,以启用对支持多租赁有用的“扇出”。在多租户环境内,相应的边缘节点622、624可以作为针对每个节点被分配给多个租户的本地资源的安全性特征实施点。附加地,租户运行时和应用执行(例如,在实例632、634中)可以用作安全性特征的实施点,该安全性特征创建跨越潜在多个物理主管平台的资源的虚拟边缘抽象。最后,编排实体处的编排功能660可以作为用于沿着租户边界对资源进行列队的安全性特征实施点来操作。
51.边缘计算节点可对资源(存储器、中央处理单元(cpu)、图形处理单元(gpu)、中断控制器、输入/输出(i/o)控制器、存储器控制器、总线控制器等)分区,其中,相应的分区可包含rot能力,并且其中根据dice模型的扇出和分层可进一步应用于边缘节点。云计算节点通常使用容器、faas引擎、小型服务程序、服务器、或可以根据dice分层和扇出结构进行分区,以支持每个节点的rot情境的其他计算抽象。因此,跨越设备610、622和640的相应的rot可以协调分布式受信任计算基础(dtcb)的建立,使得可以建立端到端链接所有要素的租户专用的虚拟受信任安全信道。
52.进一步地,将理解,容器可具有保护其内容不受先前边缘节点影响的数据或工作负荷特定的密钥。作为容器迁移的一部分,源边缘节点处的舱控制器可以从目标边缘节点舱控制器获得迁移密钥,其中迁移密钥用于包装容器特定的密钥。当容器/舱迁移到目标边缘节点时,解包裹密钥被暴露于舱控制器,然后该舱控制器对经包裹的密钥进行解密。密钥现在可用于对容器特定的数据执行操作。迁移功能可以由被适当地证明的边缘节点和舱管理器(如上所述)来选通。
53.在进一步的示例中,边缘计算系统被扩展以通过在多所有方、多租户环境中使用容器(提供代码和所需依赖关系的被容纳的、可部署的软件单元)来提供多个应用的编排。多租户编排器可用于执行密钥管理、信任锚管理以及与图6中的受信任的
‘
片’概念的供应和生命周期相关的其他安全性功能。例如,边缘计算系统可被配置成用于满足来自多个虚拟边缘实例(以及,来自云或远程数据中心)的各种客户端端点的请求和响应。这些虚拟边
缘实例的使用可以同时支持多个租户和多个应用(例如,增强现实(ar)/虚拟现实(vr)、企业应用、内容交付、游戏、计算迁移)。此外,虚拟边缘实例内可存在多种类型的应用(例如,普通应用;等待时间敏感的应用;等待时间关键的应用;用户平面应用;联网应用等)。虚拟边缘实例还可以横跨处于不同地理位置的多个所有方的系统(或者由多个所有方共同拥有或共同管理的相应的计算系统和资源)。
54.例如,每个边缘节点622、624可以实现容器的使用,诸如使用提供一个或多个容器的组的容器“舱”626、628。在使用一个或多个容器舱的设置中,舱控制器或编排器负责舱中容器的本地控制和编排。根据每个容器的需要对为相应边缘切片632、634提供的各种边缘节点资源(例如,以六边形描绘的存储、计算、服务)进行分区。
55.凭借容器舱的使用,舱控制器监督容器和资源的分区和分配。舱控制器从编排器(例如,编排器660)接收指令,该编排器指令控制器如何最佳地对物理资源进行分区以及在什么持续时间内,诸如通过基于sla合约接收关键性能指标(kpi)目标。舱控制器确定哪个容器需要哪些资源,以及为了完成工作负荷并满足sla需要多久。舱控制器还管理容器生命周期操作,诸如:创建容器、为容器供应资源和应用、协调在分布式应用上一起工作的多个容器之间的中间结果、当工作负荷完成时拆除容器等。附加地,舱控制器可以充当安全角色,该安全角色阻止资源分配,直到正确的租户进行认证,或者阻止向容器供应数据或工作负荷,直到满足证明结果。
56.而且,通过使用容器舱,租户边界仍然可以存在,但存在于容器的每一个舱的情境中。如果每个租户特定的舱都有租户特定的舱控制器,则将存在对资源分配请求进行合并的共享舱控制器,以避免典型的资源短缺情况。可提供进一步的控制,以确保舱和舱控制器的证明和可信度。例如,编排器660可以向执行证明验证的本地舱控制器供应证明验证策略。如果证明满足第一租户舱控制器而不是第二租户舱控制器的策略,则第二舱可以迁移到确实满足该策略的不同边缘节点。替代地,可以允许第一舱执行,并且在第二舱执行之前安装和调用不同的共享舱控制器。
57.图7图示出在边缘计算系统中部署容器的附加计算布置。作为简化示例,系统布置710、720描述了其中舱控制器(例如,容器管理器711、721和容器编排器731)适于通过经由布置710中的计算节点715的执行来启动容器化舱、功能、和功能即服务实例,或适于通过经由布置720中的计算节点723的执行来单独地执行容器化虚拟化的网络功能。该布置适于在(使用计算节点737的)系统布置730中使用多个租户,其中容器化舱(例如,舱712)、功能(例如,功能713、vnf 722、736)、和功能即服务实例(例如,faas实例714)在专用于相应的租户的虚拟机(例如,用于租户732、733的vm 734、735)内被启动(除了执行虚拟化网络功能)。该布置进一步适于在系统布置740中使用,该系统布置740提供容器742、743、或各种功能、应用和功能在计算节点744上的执行,如由基于容器的编排系统741所协调。
58.图7中描绘的系统布置提供了在应用组成方面平等地对待vm、容器和功能的架构(并且得到的应用是这三个组成部分的组合)。每个组成部分可涉及使用一个或多个加速器(fpga、asic)组件作为本地后端。以此方式,应用可以跨多个边缘所有方被划分,如由编排器进行协调。
59.在图7的上下文中,舱控制器/容器管理器、容器编排器和各个节点可以提供安全性实施点。然而,在其中分配给一租户的资源与分配给第二租户的资源是不同的但边缘所
有方合作以确保资源分配不跨租户边界被共享的情况下,可以编排租户隔离。或者,资源分配可以跨租户边界而被隔离,因为租户可以允许经由订阅或事务/合约基础的“使用”。在这些上下文中,边缘所有者可以使用虚拟化、容器化、飞地和硬件分区方案来强制执行租赁。其他隔离环境可包括:裸金属(专用)装备、虚拟机、容器、容器上虚拟机、或其组合。
60.在进一步的示例中,软件定义的或受控的硅硬件以及其他可配置的硬件的各方面可以与边缘计算系统的应用、功能、和服务集成。软件定义的硅(sdsi)可用于基于某一资源或硬件组成部分(例如,通过升级、重新配置或在硬件配置本身内预设新的特征)修复自身或工作负荷的一部分的能力来确保该组成部分履行合约或服务水平协议的能力。
61.在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节点或设备中的任一者可以基于图8a和图8b中所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“物”的类型。例如,边缘计算设备可以被具体化为个人计算机,服务器,智能手机,移动计算设备,智能装置,机载计算系统(例如,导航系统),具有外箱、外壳的自包含设备等,或能够执行所描述的功能的其他设备或系统。
62.在图8a中描绘的简化示例中,边缘计算节点800包括计算引擎(本文中也称为“计算电路系统”)802、输入/输出(i/o)子系统808、数据存储810、通信电路子系统812,以及任选地,一个或多个外围设备814。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、外围设备等)。附加地,在一些示例中,说明性组件中的一个或多个可被并入到另一组件中,或以其他方式形成另一组件的部分。
63.计算节点800可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点800可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程门阵列(fpga)、芯片上系统(soc)或者其他集成系统或设备。在说明性示例中,计算节点800包括或被具体化为处理器804和存储器806。处理器804可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器804可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
64.在一些示例中,处理器804可被具体化为、包括或耦合至fpga、专用集成电路(asic)、可重新配置的硬件或硬件电路系统、或用于促进本文中所描述的功能的执行的其他专用硬件。而且在一些示例中,处理器704可被具体化为专用x处理单元(xpu),也称为数据处理单元(dpu)、基础设施处理单元(ipu)或网络处理单元(npu)。此类xpu可具体化为独立电路或电路封装、集成在soc内或与联网电路系统(例如,在智能nic或增强型智能nic中)集成、加速电路系统、存储设备或ai硬件(例如,gpu或编程fpga)。在cpu或通用处理硬件之外,此类xpu可被设计成用于接收编程以处理一个或多个数据流并执行针对数据流的特定任务和动作(诸如主控微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格、或收集和分发遥测)。然而,将理解,xpu、soc、cpu和处理器804的其他变体可以彼此协调工作,以在计算节点800内并代表计算节点800执行许多类型的操作和指令。
65.存储器806可被具体化为能够执行本文中所述的功能的任何类型的易失性(例如,动态随机存取存储器(dram)等)或非易失性存储器或数据存储。易失性存储器可以是需要功率来维持由该介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可包括
各种类型的随机存取存储器(ram),诸如dram或静态随机存取存储器(sram)。可以在存储器模块中使用的一种特定类型的dram是同步动态随机存取存储器(sdram)。
66.在示例中,存储器设备是块可寻址存储器设备,诸如基于nand或nor技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备(例如,3d xpoint
tm
存储器)或其他字节可寻址的原位写入非易失性存储器设备。存储器设备可指代管芯本身或指代封装的存储器产品。在一些示例中,3d交叉点存储器(例如,3d xpoint
tm
存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器806的全部或部分可以被集成到处理器804中。存储器806可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
67.计算电路系统802经由i/o子系统808通信地耦合到计算节点800的其他组件,该i/o子系统808可被具体化为用于促进与计算电路系统802(例如,与处理器804或主存储器806)以及计算电路系统802的其他组件的输入/输出操作的电路系统或组件。例如,i/o子系统808可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)或用于促进输入/输出操作的其他组件和子系统。在一些示例中,i/o子系统808可以形成芯片上系统(soc)的部分,并可连同计算电路系统802的处理器804、存储器806、和其他组件中的一者或多者一起被并入到计算电路系统802中。
68.一个或多个说明性数据存储设备810可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备810可包括存储用于数据存储设备810的数据以及固件代码的系统分区。各个数据存储设备810还可包括根据例如计算节点800的类型来存储用于操作系统的数据文件和可执行文件的一个或多个操作系统分区。
69.通信电路系统812可被具体化为能够实现通过网络在计算电路系统802与其他计算设备(例如,边缘计算系统的边缘网关)之间进行的通信的任何通信电路、设备或其集合。通信电路系统812可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3gpp 4g或5g标准)、无线局域网协议(诸如ieee 802.11/)、无线广域网协议,以太网、蓝牙低能量、iot协议(诸如ieee 802.15.4或)、低功率广域网(lpwan)或低功率广域网(lpwa)协议等)来实行此类通信。
70.说明性通信电路系统812包括网络接口控制器(nic)820,其也可被称为主机结构接口(hfi)。nic 820可被具体化为一个或多个插入式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点800用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,nic 820可被具体化为包括一个或多个处理器的芯片上系统(soc)的部分,或nic 820可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,nic 820可包括本地处理器(未示出)或本地存储器(未示出),这两者均位于nic 820本地。在此类示例中,nic 820的本地处理器可以能够执行本文中描述的计算电路系统802的功能中的一个或多个功能。附加地或替代地,在此类示例中,nic 820的本地存储器可以在板级、插座级、芯片
级或其他层级上被集成到客户端计算节点的一个或多个组件中。
71.附加地,在一些示例中,相应的计算节点800可以包括一个或多个外围设备814。取决于计算节点800的特定类型,此类外围设备814可包括在计算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备或其他外围设备。在进一步的示例中,计算节点800可以由边缘计算系统中的相应的边缘计算节点(无论是客户端、网关还是聚合节点)来具体化,或者由类似形式的装置、计算机、子系统、电路系统或其他组件来具体化。
72.在更详细的示例中,图8b图示出可以存在于边缘计算节点850中的组件的示例的框图,该组件用于实现本文所描述的技术(例如,操作、过程、方法和方法论)。该边缘计算节点850在被实现为计算设备(例如,移动设备、基站、服务器、网关等)或计算设备(例如,移动设备、基站、服务器、网关等)的一部分时提供节点800的相应组件的更靠近的视图。边缘计算节点850可包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点850可包括可与边缘通信网络或此类网络的组合一起使用的任何设备或与该任何设备耦合。这些组件可被实现为集成电路(ic)、ic的部分、分立电子器件,或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其适用于边缘计算节点850中的组合,或作为以其他方式被并入在更大的系统的底座内的组件。
73.边缘计算设备850可包括处理器852形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xpu/dpu/ipu/npu、专用处理单元、专门处理单元,或其他已知的处理元件。处理器852可以是芯片上系统(soc)的部分,在该soc中,处理器852和其他组件形成为单个集成电路或单个封装,诸如来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生
tm
(edison
tm
)或伽利略
tm
(galileo
tm
)soc板。作为示例,处理器852可包括基于架构酷睿
tm
(core
tm
)的cpu处理器(诸如夸克
tm
(quark
tm
)、凌动
tm
(atom
tm
)、i3、i5、i7、i9或mcu类处理器)、或可从获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如可从加利福尼亚州桑尼威尔市的超微半导体公司获得的处理器、来自加利福尼亚州桑尼威尔市的mips技术公司的基于的设计、许可自arm控股有限公司的基于的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自公司的a5-a13处理器、来自技术公司的骁龙
tm
(snapdragon
tm
)处理器或来自德州仪器公司的omap
tm
处理器。处理器852和伴随的电路系统可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括以有限的硬件配置或以包括少于图8b中所示的所有元件的配置来提供。
74.处理器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)。
75.为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储858还可经由互连856而耦合至处理器852。在示例中,存储858可经由固态盘驱动器(ssdd)来实现。可用于存储858的其他设备包括闪存存储器卡(诸如安全数字(sd)卡、microsd卡、极限数字(xd)图片卡,等等)和通用串行总线(usb)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别nand闪存存储器、nor闪存存储器、单级或多级相变存储器(pcm)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(fetram)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(mram)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(cb-ram)的电阻式存储器、或自旋转移力矩(stt)-mram、基于自旋电子磁结存储器的设备、基于磁隧穿结(mtj)的设备、基于dw(畴壁)和sot(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存储器的组合。
76.在低功率实现方式中,存储858可以是与处理器852相关联的管芯上存储器或寄存器。然而,在一些示例中,存储858可使用微硬盘驱动器(hdd)来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于存储858,这些新技术诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
77.组件可通过互连856进行通信。互连856可包括任何数量的技术,包括工业标准架构(isa)、扩展isa(eisa)、外围组件互连(pci)、外围组件互连扩展(pcix)、pci express(pci快速,pcie)或任何数量的其他技术。互连856可以是例如在基于soc的系统中使用的专有总线。其他总线系统可被包括,诸如集成电路间(i2c)接口、串行外围设备接口(spi)接口、点对点接口、以及功率总线,等等。
78.互连856可将处理器852耦合至收发器866,以用于例如与连接的边缘设备862通信。收发器866可使用任何数量的频率和协议,诸如ieee802.15.4标准下的2.4千兆赫兹(ghz)传输,使用如由特别兴趣小组定义的低能量(ble)标准、或标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备862的连接。例如,无线局域网(wlan)单元可用于根据电气和电子工程师协会(ieee)802.11标准实现通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(wwan)单元发生。
79.无线网络收发器866(或多个收发器)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,边缘计算节点850可使用基于蓝牙低能量(ble)或另一低功率无线电的本地收发器与接近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备862可通过或其他中间功率的无线电而联络到。这两
种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发器而发生,分开的收发器例如使用ble的本地收发器和分开的使用的网格收发器。
80.可包括无线网络收发器866(例如,无线电收发器),以经由局域网协议或广域网协议来与云(例如,边缘云895)中的设备或服务通信。无线网络收发器866可以是遵循ieee 802.15.4或ieee 802.15.4g标准等的低功率广域(lpwa)收发器。边缘计算节点850可使用由semtech和lora联盟开发的lorawan
tm
(长距离广域网)在广域上通信。本文中所描述的技术不限于这些技术,而是可与实现长距离、低带宽通信(诸如sigfox和其他技术)的任何数量的其他云收发器一起使用。进一步地,可使用其他通信技术,诸如在ieee 802.15.4e规范中描述的时分信道跳。
81.除了针对如本文中所描述的无线网络收发器866而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发器866可包括使用扩展频谱(spa/sas)通信以实现高速通信的蜂窝收发器。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的网络。收发器866可包括与任何数量的3gpp(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(lte)和第五代(5g)通信系统)兼容的无线电。网络接口控制器(nic)868可被包括以提供到边缘云895的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备862)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(can)、本地互连网(lin)、设备网络(devicenet)、控制网络(controlnet)、数据高速路+、现场总线(profibus)或工业以太网(profinet),等等。附加的nic 868可被包括以启用到第二网络的连接,例如,第一nic 868通过以太网提供到云的通信,并且第二nic 868通过另一类型的网络提供到其他设备的通信。
82.鉴于从设备到另一组件或网络的可适用通信类型的多样性,由设备使用的可适用通信电路系统可以包括组件864、866、868或870中的任何一个或多个,或由组件864、866、868或870中的任何一个或多个来具体化。因此,在各示例中,用于通信(例如,接收、传送等)的可适用装置可由此类通信电路系统来具体化。
83.边缘计算节点850可以包括或被耦合到加速电路系统864,该加速电路系统864可以由一个或多个人工智能(ai)加速器、神经计算棒、神经形态硬件、fpga、gpu的布置、一个或多个soc、一个或多个cpu、一个或多个数字信号处理器、专用asic、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括ai处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
84.互连856可将处理器852耦合至用于连接附加的设备或子系统的传感器中枢或外部接口870。设备可包括传感器872,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(例如,gps)传感器、压力传感器、气压传感器,等等。中枢或接口870可进一步用于将边缘计算节点850连接至致动器874,诸如功率开关、阀致动器、可听声音发生器、视觉警告设备等。
85.在一些任选的示例中,各种输入/输出(i/o)设备可存在于边缘计算节点850内,或可连接至边缘计算节点850。例如,可包括显示器或其他输出设备884来显示信息,诸如传感
器读数或致动器位置。可以包括输入设备886(诸如触摸屏或小键盘)来接受输入。输出设备884可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如二进制状态指示器(例如,发光二极管(led));多字符视觉输出;或更复杂的输出,诸如显示屏(例如,液晶显示器(lcd)屏),其具有从边缘计算节点850的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可用于:提供边缘计算系统的输出并接收边缘计算系统的输入;管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态;或进行任何其他数量的管理或管理功能或服务用例。
86.电池876可为边缘计算节点850供电,但是在其中边缘计算节点850被安装在固定位置的示例中,该边缘计算节点850可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池876可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
87.电池监测器/充电器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可执行的行动,诸如传输频率、网格网络操作、感测频率,等等。
88.功率块880或耦合至电网的其他电源可与电池监测器/充电器878耦合以对电池876充电。在一些示例中,功率块880可用无线功率接收机代替,以便例如通过边缘计算节点850中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的ltc4020芯片,等等)可被包括在电池监测器/充电器878中。可以基于电池876的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(airfuel alliance)颁布的airfuel标准、由无线电力协会(wireless power consortium)颁布的qi无线充电标准、或由无线电力联盟(alliance for wireless power)颁布的rezence充电标准等等来执行充电。
89.存储858可包括用于实现本文中公开的技术的以软件、固件或硬件命令形式的指令882。虽然此类指令882被示出为被包括在存储器854和存储858中的代码块,但是可以理解,可用例如被建立到专用集成电路(asic)中的硬连线电路来代替代码块中的任一个。
90.在示例中,经由存储器854、存储858或处理器852提供的指令882可被具体化为非瞬态机器可读介质860,该非瞬态机器可读介质860包括用于引导处理器852执行边缘计算节点850中的电子操作的代码。处理器852可通过互连856来访问非瞬态机器可读介质860。例如,非瞬态机器可读介质860可由针对存储858所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机器可读介质860可包括用于指示处理器852执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的行动序列或行动流的指令。如本文中所使用,术语“机器可读介质”和“计算机可读介质”是可互换的。
而且,在特定示例中,处理器852上的指令882(单独地或与机器可读介质860的指令882结合)可以配置受信任执行环境(tee)890的执行或操作。在示例中,tee 890作为处理器852可访问的保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用软件防护扩展(sgx)或硬件安全扩展、管理引擎(me)或理引擎(me)或融合安全可管理性引擎(csme)来提供tee 890的各种实现方式以及处理器852或存储器854中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过tee 890和处理器852在设备850中实现。
91.图9图示出用于将软件分发至一个或多个设备的软件分发平台905,该软件诸如图9的示例计算机可读指令982,该一个或多个设备诸如(多个)示例处理器平台900或连接的边缘设备。示例软件分发平台905可以由能够存储软件并将软件传送到其他计算设备(例如,第三方、或连接的边缘设备)的任何计算机服务器、数据设施、云服务等来实现。示例连接的边缘设备可以是消费方、客户端、管理设备(例如,服务器)、第三方(例如,拥有或操作软件分发平台905的实体的消费方)。示例连接的边缘设备可在商业或家庭自动环境中操作。在一些示例中,第三方是诸如图9的示例计算机可读指令982之类的软件的开发方、销售方、许可方。第三方可以是购买或许可软件以用于使用或转售或分许可的消费方、用户、零售商、oem等。在一些示例中,所分发的软件引起一个或多个用户界面(ui)或图形用户界面(gui)的显示,以标识地理上或逻辑上彼此分离的一个或多个设备(例如,连接的边缘设备)(例如,被特许负责配水控制(例如,泵)、配电控制(例如,继电器)等的物理上分离的iot设备)。
92.在图9的所图示示例中,软件分发平台905包括一个或多个服务器以及一个或多个存储设备。如上文所描述,存储设备存储计算机可读指令982,该计算机可读指令982可以与附图中所图示和本文所描述的示例计算机可读指令相对应。示例软件分发平台905的一个或多个服务器与网络910通信,该网络910可以与因特网或本文中所描述的示例网络中的任何示例网络中的任何一者或多者相对应。在一些示例中,作为商业事务的一部分,一个或多个服务器响应于将软件传送到请求方的请求。可以由软件分发平台的一个或多个服务器或经由第三方支付实体来处置针对软件的交付、销售、或许可的支付。服务器使购买者或许可者能够从软件分发平台905下载计算机可读指令982。例如,软件(其可与本文所述的示例计算机可读指令相对应)可被下载到(多个)示例处理器平台900(例如,示例连接的边缘设备),该(多个)示例处理器平台900用于执行计算机可读指令982以实现技术。在一些示例中,软件分发平台905的一个或多个服务器通信地连接至一个或多个安全域或安全设备,示例计算机可读指令982的请求和传送必须穿过该一个或多个安全域和/或安全设备。在一些示例中,软件分发平台905的一个或多个服务器周期性地提供、传送或强制进行软件(例如,图9的示例计算机可读指令982)更新以确保改善、补丁、更新等被分发并应用于终端用户设备处的软件。
93.在图9的所图示示例中,计算机可读指令982以特定的格式被存储在软件分发平台905的存储设备上。计算机可读指令的格式包括但不限于,特定的代码语言(例如,java、javascript、python、c、c#、sql、html等)或特定的代码状态(例如,未经编译的代码(例如,ascii)、经解释的代码、链接的代码、可执行代码(例如,二进制文件)等)。在一些示例中,软
件分发平台905上所存储的计算机可读指令982在被传送至(多个)处理器平台900时采用第一格式。在一些示例中,第一格式是特定类型的(多个)处理器平台900可以按其来执行的可执行二进制文件。然而,在一些示例中,第一格式是未经编译的代码,其要求一个或多个准备任务将第一格式转换为第二格式以使得能够在(多个)示例处理器平台900上执行。例如,(多个)接收处理器平台900可能需要对采用第一格式的计算机可读指令982进行编译,以生成能够在(多个)处理器平台900上执行的采用第二格式的可执行代码。在另外的其他示例中,第一格式是经解释的代码,其在到达(多个)处理器平台900后由解释器进行解释以促进指令的执行。
94.图10图示出根据实施例的用于分布式遥测平台的方法1000的示例的流程图。方法1000的操作在诸如上文或下文所描述的计算硬件(例如,处理电路系统)中实现。
95.在操作1005处,包括有序可执行块的遥测流水线被获得。这里,有序可执行块中的每个可执行块包括需求数据结构。有序可执行块在操作时相互传递信息以提供遥测数据。在示例中,可执行块中的每个可执行块符合相同的运行时约束。在示例中,运行时约束包括密码学签名、与代理兼容的运行时环境、用于可执行块间通信的单一数据格式、或执行策略限制中的一个或多个。
96.在操作1010处,基于第一可执行块的需求数据结构中的第一需求,遥测流水线的第一可执行块被传送到第一代理。在示例中,第一代理是在计算设备的硬件或固件中实现的带外遥测代理。
97.在示例中,第一可执行块具有多个执行模式。在这里,每个执行模式具有不同的需求。在示例中,多个执行模式是有序的。在这里,高阶模式比低阶模式具有更高的需求。
98.在操作1015处,基于第二可执行块的需求数据结构中的第二需求,遥测流水线的第二可执行块被传送到第二代理。在示例中,第二代理是在计算设备的操作系统或应用中实现的带内遥测代理。
99.在操作1020处,遥测流水线被执行。
100.在操作1025处,在遥测流水线的执行已经开始之后,第一代理不满足第一需求的指示被获得。
101.在操作1030处,响应于指示,第一可执行块从第一代理被移动到第三代理。在示例中,第三代理是云代理。
102.在示例中,方法1000被扩展为包括附加操作。方法1000包括响应于第二代理未能满足第二需求而接收第二可执行块被第二代理移动到第四代理的通知。
103.图11图示出可在其上执行本文中所讨论的技术(例如,方法)中的任何一项或多项的示例机器1100的框图。如本文中所述的示例可包括机器1100中的逻辑或多个组件或机制,或可由机器1100中的逻辑或多个组件或机制操作。电路系统(例如,处理电路系统)是在机器1100的有形实体中实现的、包括硬件(例如,简单电路、门、逻辑等)的电路的集合。电路系统成员关系可以是随时间而灵活的。电路系统包括在操作时可单独地或组合地执行所指定操作的成员。在示例中,电路系统的硬件可被不可改变地设计为执行特定操作(例如,硬连线式)。在示例中,电路系统的硬件可包括可变连接的物理组件(例如,执行单元、晶体管、简单电路等),这些物理组件包括在物理上被修改(例如,对不变的聚集粒子磁性地、电气地、可移动地布置等)以对特定操作的指令进行编码的机器可读介质。在连接物理组件时,
硬件组成部分的底层电气属性例如从绝缘体改变为导体,或反过来从导体变成绝缘体。这些指令使嵌入式硬件(例如,执行单元或加载机构)能够经由可变连接而在硬件中创建电路系统的成员,以在操作时执行特定操作的多个部分。相对应地,在示例中,机器可读介质元件是电路系统的部分,或者在设备正在运行时通信地耦合至电路系统的其他组件。在示例中,物理组件中的任一个可在多于一个电路系统的多于一个成员中使用。例如,在操作下,执行单元可在一个时刻在第一电路系统的第一电路中被使用,并且在不同的时间由第一电路系统中的第二电路重新使用,或由第二电路系统中的第三电路重新使用。下面是关于机器1100的这些组件的附加示例。
104.在替代实施例中,机器1100可作为独立式设备操作,或可被连接(例如,联网)到其他机器。在联网的部署中,机器1100能以服务器-客户端网络环境中的服务器机器、客户端机器或这两者的身份来操作。在示例中,机器1100可充当对等(p2p)(或其他分布式)网络环境中的对等机器。机器1100可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、web设备、网络路由器、交换机或桥、或者能够执行指定要由该机器采取的动作的指令(顺序的或以其他方式)的任何机器。进一步地,虽然仅图示出单个机器,但是术语“机器”也应当被认为包括单独或联合地执行一组(或多组)指令以便执行本文中所讨论的方法中的任何一种或多种方法的机器的任何集合,诸如,云计算、软件即服务(saas)、其他计算机集群配置。
105.机器(例如,计算机系统)1100可包括硬件处理器1102(例如,中央处理单元(cpu)、图形处理单元(gpu)、硬件处理器核、或其任何组合)、主存储器1104、静态存储器(例如,用于固件、微代码、基本输入输出(bios)、统一可扩展固件接口(uefi)的存储器或存储等)1106和大容量存储1108(例如,硬驱动器、磁带驱动器、闪存存储或其他块设备),其中的一些或全部可以经由互链路(例如,总线)1130彼此通信。机器1100可进一步包括显示单元1110、字母数字输入设备1112(例如,键盘)以及用户界面(ui)导航设备1114(例如,鼠标)。在示例中,显示单元1110、输入设备1112以及ui导航设备1114可以是触摸屏显示器。机器1100可附加地包括存储设备(例如,驱动单元)1108、信号生成设备1118(例如,扬声器)、网络接口设备1120以及一个或多个传感器1116(诸如,全球定位系统(gps)传感器、罗盘、加速度计或其他传感器)。机器1100可包括用于连通或者控制一个或多个外围设备(例如,打印机、读卡器等)的输出控制器1128,诸如串行(例如,通用串行总线(usb))、并行、或者其他有线或无线(例如,红外(ir)、近场通信(nfc)等)连接。
106.处理器1102的寄存器、主存储器1104、静态存储器1106或大容量存储1108可以是或者可包括机器可读介质1122,在该机器可读介质1122上存储有一组或多组数据结构或指令1124(例如,软件),该数据结构或指令1124具体化本文中描述的技术或功能中的任何一种或多种或由本文中描述的技术或功能中的任何一种或多种利用。指令1124还可以在由机器1100对其执行期间完全或至少部分地驻留在处理器1102的寄存器、主存储器1104、静态存储器1106或大容量存储1108中的任一者内。在示例中,硬件处理器1102、主存储器1104、静态存储器1106、或大容量存储1108中的一者或任何组合都可以构成机器可读介质1122。虽然机器可读介质1122被图示为单一介质,但是术语“机器可读介质”可包括被配置成用于存储一个或多个指令1124的单一介质或多个介质(例如,集中式或分布式数据库、或相关联的高速缓存和服务器)。
107.术语“机器可读介质”可包括能够存储、编码或承载供机器1100执行并且使机器1100执行本公开的技术中的任何一项或多项技术的指令、或者能够存储、编码或承载由此类指令使用或与此类指令相关联的数据结构的任何介质。非限制性机器可读介质示例可包括固态存储器、光学介质、磁介质和信号(例如,射频信号、其他基于光子的信号、声音信号等)。在示例中,非瞬态机器可读介质包括具有多个粒子的机器可读介质,这些粒子具有不变(例如,静止)质量,并且因此是物质的组合物。相对应地,非瞬态机器可读介质是不包括瞬态传播信号的机器可读介质。非瞬态机器可读介质的具体示例可包括:非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom))以及闪存设备;磁盘,诸如内部硬盘和可移除盘;磁光盘;以及cd-rom和dvd-rom盘。
108.在示例中,存储在机器可读介质1122上或以其他方式提供在机器可读介质1122上的信息可以表示指令1124,诸如指令1124本身或者可以从中导出指令1124的格式。可以从中导出指令1124的该格式可以包括源代码、经编码的指令(例如,以压缩或加密的形式)、经封装的指令(例如,分成多个封装)等。表示机器可读介质1122中的指令1124的信息可以由处理电路系统处理成指令以实现本文所讨论的任何操作。例如,从(例如,由处理电路系统进行的处理的)信息中导出指令1124可以包括:(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地进行链接)、编码、解码、加密、解密、打包、拆包,或者以其他方式将信息操纵到指令1124中。
109.在示例中,指令1124的推导可以包括(例如,通过处理电路系统)对信息进行汇编、编译、或解释,以从机器可读介质1122提供的某个中间或预处理的格式创建指令1124。当信息以多个部分提供时,可以对其进行组合、拆包和修改以创建指令1124。例如,信息可以处于一个或若干远程服务器上的多个经压缩的源代码封装(或目标代码、或二进制可执行代码等)中。源代码封装可以在通过网络传输时被加密,并且可以在本地机器处被解密、被解压缩、(如果必要的话)被汇编(例如,被链接),并且被编译或被解释(例如,被编译或被解释成库、独立的可执行文件等),并且由本地机器执行。
110.可以利用多种传输协议(例如,帧中继、网际协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传输协议(http)等等)中的任何一种协议,经由网络接口设备1120,使用传输介质,通过通信网络1126来进一步发送或接收指令1124。示例通信网络可包括局域网(lan)、广域网(wan)、分组数据网络(例如,互联网)、lora/lorawan、或卫星通信网络、移动电话网络(例如,蜂窝网络,诸如符合3g、4g lte/lte-a、或5g标准的蜂窝网络)、普通老式电话(pots)网络、以及无线数据网络(例如,称为的电气与电子工程师协会(ieee)802.11标准族、称为的ieee 802.16标准族)、ieee 802.15.4标准族、对等(p2p)网络,等等。在示例中,网络接口设备1120可包括用于连接到通信网络1126的一个或多个物理插口(jack)(例如,以太网插口、同轴插口、或电话插口)或者一根或多根天线。在示例中,网络接口设备1120可包括使用单输入多输出(simo)、多输入多输出(mimo)、或多输入单输出(miso)技术中的至少一种无线地进行通信的多根天线。术语“传输介质”应当认为包括能够存储、编码或承载供由机器1100执行的指令的任何无形介质,并且“传输介质”包括数字或模拟通信信号或者用于促进此类软件的通信的其他无形介质。传输介质是机器可读介质。
附加注释和示例
111.示例1是一种用于分布式遥测平台的设备,该设备包括:包括指令的机器可读介质;以及处理电路系统,其在操作时由指令配置成用于:获得包括有序可执行块的遥测流水线,这些有序可执行块中的每个可执行块包括需求数据结构,这些有序可执行块在操作时相互传递信息以提供遥测数据;基于第一可执行块的需求数据结构中的第一需求,将遥测流水线的第一可执行块传送到第一代理;基于第二可执行块的需求数据结构中的第二需求,将遥测流水线的第二可执行块传送到第二代理;执行遥测流水线;在遥测流水线开始执行后,获得第一代理不满足第一需求的指示;以及响应于该指示而将第一可执行块从第一代理移动到第三代理。
112.在示例2中,示例1的主题,其中第一代理是在计算设备的硬件或固件中实现的带外遥测代理。
113.在示例3中,示例1-2中任一项的主题,其中第二代理是在计算设备的操作系统或应用中实现的带内遥测代理。
114.在示例4中,示例1-3中任一项的主题,其中第三代理是云代理。
115.在示例5中,示例1-4中任一项的主题,其中第一和第二可执行块中的每一者符合相同的运行时约束。
116.在示例6中,示例5的主题,其中相同的运行时约束包括密码学签名、与代理兼容的运行时环境、用于可执行块间通信的单一数据格式、或执行策略限制中的一个或多个。
117.在示例7中,示例1-6中任一项的主题,其中处理电路系统在操作期间由指令配置成用于:响应于第二代理不满足第二需求而接收由第二代理将第二可执行块移动到第四代理的通知。
118.在示例8中,示例1-7中任一项的主题,其中第一可执行块具有多个执行模式,其中每个执行模式具有不同的需求。
119.在示例9中,示例8的主题,其中多个执行模式是有序的,并且其中高阶模式比低阶模式具有更高的需求。
120.示例10是一种用于分布式遥测平台的方法,该方法包括:获得包括有序可执行块的遥测流水线,这些有序可执行块中的每个可执行块包括需求数据结构,这些有序可执行块在操作时相互传递信息以提供遥测数据;基于第一可执行块的需求数据结构中的第一需求,将遥测流水线的第一可执行块传送到第一代理;基于第二可执行块的需求数据结构中的第二需求,将遥测流水线的第二可执行块传送到第二代理;执行遥测流水线;在遥测流水线开始执行后,获得第一代理不满足第一需求的指示;以及响应于该指示而将第一可执行块从第一代理移动到第三代理。
121.在示例11中,示例10的主题,其中第一代理是在计算设备的硬件或固件中实现的带外遥测代理。
122.在示例12中,示例10-11中任一项的主题,其中第二代理是在计算设备的操作系统或应用中实现的带内遥测代理。
123.在示例13中,示例10-12中任一项的主题,其中第三代理是云代理。
124.在示例14中,示例10-13中任一项的主题,其中第一和第二可执行块中的每一者符合相同的运行时约束。
125.在示例15中,示例14的主题,其中相同的运行时约束包括密码学签名、与代理兼容的运行时环境、用于可执行块间通信的单数据格式、或执行策略限制中的一个或多个。
126.在示例16中,示例10-15中任一项的主题,包括:响应于第二代理不满足第二需求而接收由第二代理将第二可执行块移动到第四代理的通知。
127.在示例17中,示例10-16中任一项的主题,其中第一可执行块具有多个执行模式,其中每个执行模式具有不同的需求。
128.在示例18中,示例17的主题,其中多个执行模式是有序的,并且其中高阶模式比低阶模式具有更高的需求。
129.示例19是至少一种机器可读介质,包括用于分布式遥测平台的指令,该指令当由处理电路系统执行时使处理电路系统用于执行包括以下步骤的操作:获得包括有序可执行块的遥测流水线,这些有序可执行块中的每个可执行块包括需求数据结构,这些有序可执行块在操作时相互传递信息以提供遥测数据;基于第一可执行块的需求数据结构中的第一需求,将遥测流水线的第一可执行块传送到第一代理;基于第二可执行块的需求数据结构中的第二需求,将遥测流水线的第二可执行块传送到第二代理;执行遥测流水线;在遥测流水线开始执行后,获得第一代理不满足第一需求的指示;以及响应于该指示而将第一可执行块从第一代理移动到第三代理。
130.在示例20中,示例19的主题,其中第一代理是在计算设备的硬件或固件中实现的带外遥测代理。
131.在示例21中,示例19-20中任一项的主题,其中第二代理是在计算设备的操作系统或应用中实现的带内遥测代理。
132.在示例22中,示例19-21中任一项的主题,其中第三代理是云代理。
133.在示例23中,示例19-22中任一项的主题,其中第一和第二可执行块中的每一者符合相同的运行时约束。
134.在示例24中,示例23的主题,其中相同的运行时约束包括密码学签名、与代理兼容的运行时环境、用于可执行块间通信的单数据格式、或执行策略限制中的一个或多个。
135.在示例25中,示例19-24中任一项的主题,其中操作包括:响应于第二代理不满足第二需求而接收由第二代理将第二可执行块移动到第四代理的通知。
136.在示例26中,示例19-25中任一项的主题,其中第一可执行块具有多个执行模式,其中每个执行模式具有不同的需求。
137.在示例27中,示例26的主题,其中多个执行模式是有序的,并且其中高阶模式比低阶模式具有更高的需求。
138.示例28是一种用于分布式遥测平台的系统,该系统包括:用于获得包括有序可执行块的遥测流水线的装置,这些有序可执行块中的每个可执行块包括需求数据结构,这些有序可执行块在操作时相互传递信息以提供遥测数据;用于基于第一可执行块的需求数据结构中的第一需求来将遥测流水线的第一可执行块传送到第一代理的装置;用于基于第二可执行块的需求数据结构中的第二需求来将遥测流水线的第二可执行块传送到第二代理的装置;用于执行遥测流水线的装置;用于在遥测流水线开始执行后获得第一代理不满足第一需求的指示的装置;以及用于响应于该指示而将第一可执行块从第一代理移动到第三代理的装置。
139.在示例29中,示例28的主题,其中第一代理是在计算设备的硬件或固件中实现的带外遥测代理。
140.在示例30中,示例28-29中任一项的主题,其中第二代理是在计算设备的操作系统或应用中实现的带内遥测代理。
141.在示例31中,示例28-30中任一项的主题,其中第三代理是云代理。
142.在示例32中,示例28-31中任一项的主题,其中第一和第二可执行块中的每一者符合相同的运行时约束。
143.在示例33中,示例32的主题,其中相同的运行时约束包括密码学签名、与代理兼容的运行时环境、用于可执行块间通信的单数据格式、或执行策略限制中的一个或多个。
144.在示例34中,示例28-33中任一项的主题,包括:用于响应于第二代理不满足第二需求而接收由第二代理将第二可执行块移动到第四代理的通知的装置。
145.在示例35中,示例28-34中任一项的主题,其中第一可执行块具有多个执行模式,其中每个执行模式具有不同的需求。
146.在示例36中,示例35的主题,其中多个执行模式是有序的,并且其中高阶模式比低阶模式具有更高的需求。
147.示例37是包括指令的至少一种机器可读介质,该指令当由处理电路系统执行时,使得该处理电路系统执行操作以实现示例1-36中的任何一个。
148.示例38是一种设备,包括用于实现示例1-36中的任一个的装置。
149.示例39是一种用于实现示例1-36中的任何一个的系统。
150.示例40是一种用于实现示例1-36中的任何一个的方法。
151.以上具体实施方式包括对附图的引用,附图形成具体实施方式的部分。附图通过图示方式示出可被实施的具体实施例。这些实施例在本文中也被称为“示例”。此类示例可包括除所示出或所描述的那些要素以外的要素。然而,本技术发明人还构想了其中只提供所示出或所描述的那些要素的示例。另外,本技术发明人还构想了相对于本文中所示出或所描述的特定示例(或者其一个或多个方面)或者相对于本文中所示出或所描述的其他示例(或者其一个或多个方面)使用所示出或所描述的那些要素(或者其一个或多个方面)的任何组合或排列的示例。
152.本文档中所涉及的所有公开、专利和专利文档通过引用整体结合于此,如通过引用单独地结合。在本文档和通过引用所结合的那些文档之间的不一致的用法的情况下,在结合的(多个)引用中的用法应当被认为是对本文档的用法的补充;对于不可调和的不一致,以本文档中的用法为准。
153.在此文档中,如在专利文档中常见的那样,使用术语“一(a或an)”以包括一个或多于一个,这独立于“至少一个”或“一个或多个”的任何其他实例或用法。在此文档中,除非另外指示,否则使用术语“或”来指非排他性的或,使得“a或b”包括“a但非b”、“b但非a”、以及“a和b”。在所附权利要求书中,术语“包括(including)”和“其中(in which)”被用作相应的术语“包含(comprising)”和“其特征在于(wherein)”的普通英语等价词。此外,在所附权利要求书中,术语“包括(including)”和“包含(comprising)”是开放式的,也就是说,在权利要求中包括除此类术语之后列举的那些要素之外的要素的系统、设备、制品或过程仍被视为落在那项权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”、“第三”等
仅用作标记,而不旨在对其对象施加数值要求。
154.以上描述旨在是说明性而非限制性的。例如,以上所描述的示例(或者其一个或多个方面)可彼此组合使用。诸如可由本领域普通技术人员在仔细阅读以上描述之后使用其他实施例。摘要用于允许读者快速地确认本技术公开的性质,并且提交此摘要需理解:它不用于解释或限制权利要求书的范围或含义。而且,在以上具体实施方式中,各种特征可分组在一起以使本公开精简。但这不应被解释为意指未要求保护的所公开特征对任何权利要求而言都是必要的。相反,发明性主题可在于少于特定的所公开实施例的所有特征。因此,所附权利要求由此被并入具体实施方式中,其中每项权利要求独立成为单独实施例。各实施例的范围应当参考所附权利要求连同这些权利要求赋予的等效方案的全部范围而确定。