CN114253706A - 用于协调边缘平台的方法和装置 - Google Patents
用于协调边缘平台的方法和装置 Download PDFInfo
- Publication number
- CN114253706A CN114253706A CN202111031819.0A CN202111031819A CN114253706A CN 114253706 A CN114253706 A CN 114253706A CN 202111031819 A CN202111031819 A CN 202111031819A CN 114253706 A CN114253706 A CN 114253706A
- Authority
- CN
- China
- Prior art keywords
- edge
- edge node
- microservice
- application
- network
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5006—Creating or negotiating SLA contracts, guarantees or penalties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了用于协调边缘平台的方法和装置。所公开的示例装置包括用于控制对与边缘相关联的数据的处理,包括编排器分析器,该编排器分析器用于确定应用的第一微服务的第一性能要求和该应用的第二微服务的第二性能要求。装置还包括编排器控制器,该编排器控制器用于通过以下操作跨源网络与目的地网络之间的第一和第二边缘节点分派第一微服务和第二微服务:基于第一边缘节点的第一能力满足第一微服务的第一性能要求而将第一微服务分派至第一边缘节点,以及基于第二边缘节点的第二能力满足第二微服务的第二性能要求而将第二微服务分派至第二边缘节点。
Description
技术领域
本公开总体上涉及边缘环境中的计算,并且更具体地涉及用于协调边缘平台的方法和装置。
背景技术
边缘环境(例如,边缘、雾、多接入边缘计算(MEC)、或物联网(IoT)网络)实现了请求工作负荷或工作负荷的组成部分的执行的端点设备附近的工作负荷执行(例如,一个或多个计算任务的执行、使用输入数据的机器学***台。边缘平台、边缘节点或边缘可比云基础设施(诸如集中式服务器)更靠近地接近于端点设备。
附图说明
在附图中(这些附图不一定是按比例绘制的),同样的数字可描述不同视图中的类似组件。具有不同的字母后缀的相同的数字可表示类似组件的不同实例。附图以示例的方式提供而并非作为限制。
图1图示出用于边缘计算的边缘云配置的概览。
图2图示出端点、边缘云和云计算环境之间的操作层。
图3图示出用于边缘计算***中的联网和服务的示例环境的框图。
图4图示出在多个边缘节点和多个租户之间操作的边缘计算***中的虚拟边缘配置的部署。
图5图示出在边缘计算***中部署容器的各种计算布置。
图6图示出涉及对示例边缘计算***中的应用的移动接入的示例计算和通信用例。
图7A和图7B图示出可以在其中实现本文中所公开的示例的示例边缘拓扑。
图8是图示出根据本公开的教导的对边缘集群的示例编排的示例拓扑。
图9是用于实现本文中所公开的示例的示例编排器协调器的框图。
图10是表示可被执行以实现图1-图4、图6-图8和/或图9中所图示的边缘计算***的示例机器可读指令的流程图。
图11是表示可被执行以实现图1-图4、图6-图8和/或图9中所图示的边缘计算***的示例机器可读指令的流程图。
图12A是可以部署在图1-图4、图6-图8和/或图9中所图示的边缘计算***中的一者中的示例计算节点的示例实现方式的框图。
图12B是可以部署在图1-图4、图6-图8和/或图9中所图示的边缘计算***中的一者中的示例计算节点的示例实现方式的另一框图。
图13是被构造用于执行图10和图11的指令以实现图1-图4、图6-图8和/或图9中所图示的示例边缘计算***的示例处理平台的框图。
除非另有特别说明,诸如“第一”、“第二”、“第三”等的描述词在本文中使用而不以任何方式强加或以其他方式指示优先级、物理顺序、列表中的排列和/或排序的任何含义,但仅用作标签和/或任意名称来区分要素以便于理解所公开的示例。在一些示例中,描述符“第一”可以用于指代具体实施方式中的要素,而在权利要求中可以使用诸如“第二”或“第三”之类的不同描述符来指代相同的要素。在此类情况下,应当理解,此类描述符仅用于清楚地标识那些可能例如以其他方式共享相同名称的要素。如本文中所使用,“基本上实时的”是指,认识到针对计算时间、传输等可能存在现实世界延迟,以接近瞬时的方式发生。由此,除非另外指定,否则“基本上实时的”是指实时+/-1秒。
具体实施方式
公开了用于协调边缘平台的方法和装置。在一般层面,边缘计算是指计算和存储资源向更靠近于端点设备(例如,消费方计算设备、用户装备等)的转变,以优化总拥有成本、运营费用,减少应用等待时间,降低网络回程通信量和能量,改善服务能力,并且改善与数据私有性或安全性要求的顺应性。在一些场景中,边缘计算可提供类云分布式服务,该类云分布式服务可为应用提供在许多类型的存储和计算资源之间的编排和管理。结果是,边缘计算的一些实现方式已被称为“边缘云”或“雾”,因为先前仅在大型远程数据中心中可用的强大的计算资源被移动到更靠近于端点并使得其对于由处于网络的“边缘”处的消费方使用而言是可用的。
已经开发出采用移动网络设置的用于与多接入边缘计算(MEC)方式集成的边缘计算用例,也被称为“移动边缘计算”。MEC方式被设计成允许应用开发人员和内容提供方访问网络的边缘处采用动态移动网络设置的计算能力和信息技术(IT)服务环境。欧洲电信标准协会(ETSI)行业规范小组(ISG)已开发了有限的标准,试图定义用于MEC***、平台、主机、服务和应用的操作的通用接口。
边缘计算(MEC)和相关联的技术尝试提供减少的等待时间、提高的响应性、降低的网络回程通信量和能量、出于改善的隐私性和安全性而将数据保持在本地,并且提供相比于传统云网络服务和广域网连接中所提供的更多可用的计算能力和网络带宽。然而,将移动性和动态启动的服务集成到某种移动用例和设备处理用例导致编排、功能协调、以及资源管理的限制和对编排、功能协调、以及资源管理的担忧,尤其在其中涉及许多参与方(例如,设备、主机、租户、服务提供方、运营商等)的复杂移动性设置中。
以类似方式,物联网(IoT)网络和设备被设计成用于提供从各种端点的分布式计算布置。IoT设备可以是可在网络上通信的实体对象或虚拟化对象,并且可以包括传感器、致动器以及其他输入/输出组件,IoT设备可用于在现实世界环境中收集数据或执行动作。例如,IoT设备可以包括被嵌入到或附连至日常物品的低功率的端点设备以提供对那些物品的附加水平的人工知觉感知,这些日常物品诸如建筑物、交通工具、包裹等。近年来,IoT设备已经变得更加普及并且由此使用这些设备的应用激增。
在一些示例中,边缘环境可以包括企业边缘,其中与企业边缘的通信和/或企业边缘中的通信可以经由无线和/或有线连接性来促进。各种边缘、雾、MEC、以及IoT网络、设备、以及服务的部署已经引入了许多高级用例和场景,这些用例和场景在网络边缘处并朝向网络边缘处发生。然而,这些高级用例也引入了与编排、安全性、处理和网络资源、服务可用性和效率等等许多其他问题有关的许多相对应的技术挑战。一个此类挑战与边缘、雾、MEC、以及IoT网络、设备以及服务代表端点设备执行工作负荷有关。
本技术和配置可与当前联网***的许多方面结合使用,但是参考边缘云、IoT、多接入边缘计算(MEC)以及其他分布式计算部署来提供。下列***和技术可被实现在各种分布式、虚拟化、或受管理的边缘计算***中或者增强各种分布式、虚拟化、或受管理的边缘计算***。这些包括其中使用多接入边缘计算(MEC)、***(4G)、第五代(5G)无线或下一代网络配置来实现或管理网络服务的环境;或者包括采用涉及光纤、铜以及其他连接的有线网络配置的环境。进一步地,由相应计算组件进行的处理的各方面可涉及地理上接近用户装备或其他端点位置的计算元件,用户装备或端点诸如智能电话、交通工具通信组件、IoT设备等。进一步地,当前所公开的技术可涉及其他边缘/MEC/IoT网络通信标准和配置以及其他中间处理实体和架构。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠近于产生和消耗数据的端点设备的其他设备处实现的计算平台来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监控)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,中央办公网络管理硬件能以执行虚拟化网络功能并为服务的执行提供计算资源且为连接的设备提供消费方功能的计算硬件来代替。
边缘环境包括位于云环境与端点环境之间的网络和/或网络的部分。边缘环境实现在网络的边缘处对工作负荷的计算。例如,端点设备可请求附近基站计算工作负荷而不是请求云环境中的中央服务器。边缘环境包括边缘平台或边缘,边缘平台或边缘包括存储器池或存储器集群、存储资源、和/或处理资源。这些边缘代表其他边缘和/或边缘节点执行诸如工作负荷的执行之类的计算。边缘环境促进生产者(例如,工作负荷执行方、边缘)与消费者(例如,其他边缘、端点设备)之间的连接。
因为边缘可能相比于云环境中的集中式服务器更靠近于端点设备,所以边缘使得相比于云环境能够以更低的等待时间(例如,响应时间)来对工作负荷进行计算。边缘还可基于地理位置或网络布局来实现对工作负荷的本地化执行。例如,端点设备可要求工作负荷在第一地理区域中被执行,但集中式服务器可位于第二地理区域中。端点设备可请求由位于第一地理区域中的边缘节点来进行工作负荷执行以符合企业或监管限制。其他策略可以驱动边缘节点中的执行(例如,能量/功率节省、网络回程通信量降低)。
要在边缘环境中执行的工作负荷的示例包括自主驾驶计算、视频监控监视、机器学习模型执行、以及实时数据分析。工作负荷的附加示例包括递送和/或编码媒体流、测量广告印象率、媒体流中的对象检测、语音分析、资产和/或库存管理、以及增强现实处理。
边缘节点或边缘使得能够以相比于云环境中的服务器的响应时间更低的响应时间来执行工作负荷并将所执行的工作负荷的结果返回至端点设备。例如,如果边缘位于相比于云服务器更靠近于网络上的端点设备,则该边缘服务可相比于云服务器更快地响应于来自端点设备的工作负荷执行请求。端点设备可请求从边缘服务而不是云服务器对时间受限的工作负荷的执行。
另外,边缘节点实现对工作负荷执行的分布和去中心化。例如,端点设备可请求第一工作负荷执行和第二工作负荷执行。在一些示例中,云服务器可响应于这两个工作负荷执行请求。然而,在边缘环境的情况下,第一边缘可执行第一工作负荷执行请求,并且第二边缘可执行第二工作负荷执行请求。
为了满足端点设备的低等待时间和高带宽需求,边缘云中的编排在关于许多资源(例如,硬件资源、软件资源、虚拟硬件和/或软件资源等)的利用以及那些资源能够满足对其的需求的效率的及时信息的基础上被执行。此类及时信息一般被称为遥测数据或遥测信息。
一些边缘网络是基于服务水平协议(SLA)来管理的。SLA可以包括服务质量(QoS)、带宽和/或等待时间要求。例如,被布置在源网络(例如,主服务器、中央局等)与远离于该源网络的目的地网络(例如,数据中心、无线接入网络等)之间的边缘在这些边缘节点中的一个或多个经历瓶颈、故障和/或降低的性能时满足SLA可能有困难。具体而言,对于按链状结构布置在源网络与目的地网络之间的边缘节点,甚至具有降低的性能或能力的单个边缘节点都可能会阻止整个网络以由SLA定义的水平来执行。
本文中所公开的示例使得链(例如,分层的链)中的边缘节点能够协调和重新分派资源,以使得可以符合SLA(例如,端对端SLA)的要求。例如,通过基于边缘能力以及应用性能要求(例如,在应用遥测数据中指定)来向边缘节点中的那些边缘节点分派工作负荷(例如,微服务),本文中所公开的示例可高度适用于不利的处理、资源和/或网络条件。换言之,本文中所公开的示例将工作负荷分配至具有相称能力的资源,并且由此在不同边缘节点之间的分布式计算方面是有效的。相应地,本文中所公开的示例还可以实现与应用相关联的微服务在多个互连的边缘上的高效执行,以符合SLA中所陈述的要求。本文中所公开的示例监视和/或分析遥测信息,并且相应地,向在拓扑上按链布置的边缘节点的编排器分派工作负荷。换言之,基于SLA实现对工作负荷的经协调的执行,由此在互连的边缘节点之间实现对边缘网络、计算、高速缓存和/或存储能力的更好的利用和更高效的使用。本文中所公开的示例可以被实现在相对于彼此垂直地、分层地和/或按链状结构布置的边缘节点上。具体而言,前述边缘节点可以在源网络(诸如例如,主服务器)与目的地(例如,用户接入网络、网络端点、数据中心等)之间顺序地(例如,菊形链的)布置。
例如,本文中所公开的示例可被实现在不同边缘节点的一个或多个编排器上。替代地,本文中所公开的示例可以被实现在通信地耦合至编排器的硬件上。本文中所公开的一些示例包括用于通信地耦合边缘节点链中的边缘节点的编排器的通信接口。然而,可以替代地实现任何适当数量的编排器和/或边缘节点。在本文中所公开的示例中,编排器分析器确定应用的第一微服务的第一性能要求以及该应用的第二微服务的第二性能要求。例如,在一些示例中,编排器分析器基于第一编排器与第二编排器之间的通信来确定第一边缘节点和第二边缘节点的可用性。编排器分析器还可查询编排器中的至少一个编排器来确定该可用性。例如,通信可以包括对应边缘的遥测信息(例如,对应边缘中的每个边缘的执行能力、可用性或资源等)。进而,基于第一和第二边缘节点的可用性和能力(例如,处理器能力、高速缓存能力、存储器能力等)分别与第一和第二微服务的第一和第二性能要求的组合的确定,编排器控制器将第一微服务和/或工作负荷调度至边缘的第一边缘节点并将第二微服务调度至边缘的第二边缘节点,由此使得SLA的要求能够被满足。另外或替代地,基于前述SLA来分派第一和第二微服务。结果是,可以以时间高效且资源高效的方式满足SLA的条件和/或要求。
通信接口、编排器分析器和/或编排器控制器可以被实现在单个边缘节点、边缘集群或编排器上。替代地,通信接口、编排器分析器和/或编排器控制器可以被实现在多个边缘、边缘集群或编排器上。在一些示例中,应用管理器被实现成用于查询应用和/或与应用相关联的微服务中的至少一者来确定其应用遥测数据,应用遥测数据进而可以用于对不同计算的工作负荷分派。应用遥测数据可以与应用的资源要求(例如,高速缓存要求、数据存储要求、处理器要求等)相对应。另外或替代地,动机控制器被实现成用于将动机(例如,财务动机、停延时间转移动机等)转发和/或提供至第一或第二边缘节点。在一些示例中,执行监视器被实现成用于监视微服务的执行。此种监视可以用于分析边缘节点的遥测数据和/或分析应用/舱容器资源利用(例如,存储器使用、高速缓存使用、存储等)。
如本文中所使用,如作为“链”或沿“链”对边缘/边缘网络和/或边缘集群的引用意指边缘/边缘网络和/或边缘集群通信地耦合至至少一个其他边缘/边缘网络和/或边缘集群并且被布置在源网络与目的地网络之间。相应地,“链”可以指代联网或链接在源网络与目的地网络之间(例如,菊形链接,在其间形成链)的边缘网络、边缘节点和/或边缘集群。如本文中所使用,术语“边缘”和“边缘节点”是指包括用于运行与至少一个应用相关联的微服务的至少一个边缘集群的边缘节点或边缘平台。如本文中所使用,术语“工作负荷”是指可以被部署以供稍后执行或处理的计算和/或所调度的计算和/或执行的单元或包,诸如例如容器舱或微服务。如本文中所使用,针对边缘节点或边缘平台的术语“能力”是指与边缘节点相关联的执行能力,包括但不限于,处理器能力、存储器能力、I/O能力、高速缓存能力和/或存储能力。
图1是示出用于边缘计算的配置的概览的框图100,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云110共同定位在边缘位置(诸如接入点或基站140、本地处理中枢150、或中央局120),并且因此可以包括多个实体、设备、和装备实例。与云数据中心130相比,边缘云110被定位成更靠近端点(消费者和生产者)数据源160(例如,自主车辆161、用户装备162、商业和工业装备163、视频捕捉设备164、无人机165、智慧城市和建筑设备166、传感器和IoT设备167等)。在边缘云110中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源160使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云110朝向云数据中心130的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
计算、存储器和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备处可用的处理资源比在基站处、在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(UE)),空间和功率通常就越受限。因此,边缘计算试图通过分配被定位成既在地理上更靠近又在网络访问时间上更靠近的更多的资源来减少网络服务所需的资源量。以此种方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据,或者,将工作负荷数据带到计算资源。
以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其自身基础设施中可能具有的限制。这些包括基于边缘位置的配置变化(例如,因为处于基站级别的边缘在多租户场景中可能具有更受限制的性能和能力);基于对边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。取决于等待时间、距离、和定时特征,这些部署可以在网络层中完成处理,这些网络层可以被视为“接近边缘”层、“靠近边缘”层、“本地边缘”层、“中间边缘”层、或“远边缘”层。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或与产生和消耗数据的端点设备靠近得多得多的其他设备处(例如,在“本地边缘”、“靠近边缘”、或“接近边缘”处)实现的具有加速器(例如,FPGA、GPU)的计算平台(例如,通用计算平台、x86或ARM计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶、工业IOT或视频监控)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,中央局网络管理硬件能以标准化计算硬件来代替,该标准化计算硬件执行虚拟化网络功能,并为服务的执行提供计算资源并且为连接的设备提供消费者功能。在边缘计算网络内,可能存在计算资源将被“移动”到数据的服务中的场景,以及其中数据将被“移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以便通过激活休眠容量(订阅、按需容量)来根据需要缩放至工作负荷需求,以便管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
图2图示出端点、边缘云和云计算环境之间的操作层。具体而言,图2描绘了在网络计算的多个说明性层之间利用边缘云110的计算用例205的示例。这些层开始于端点(设备和事物)层200,该端点层200访问边缘云110以进行数据创建、分析、和数据消费活动。边缘云110可以跨越多个网络层,诸如,边缘设备层210,该边缘设备层210具有网关、自有(on-premise)服务器、或位于物理上邻近边缘***中的网络装备(节点215);网络接入层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)物理约束(例如,功率、冷却和形状因子)。
这些用例的端对端服务视图涉及服务流的概念,并且与事务相关联。事务详细说明了消费服务的实体的整体服务要求、以及资源、工作负荷、工作流、以及业务功能和业务水平要求的相关联的服务。根据所描述的“条款”执行的服务能以确保事务在服务的生命周期期间的实时和运行时合约顺应性的方式在每层处被管理。当事务中的组件缺失其约定的SLA时,***作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违反的影响,以及(2)增强***中的其他组件以恢复整体事务SLA,以及(3)实现补救的步骤。
因此,考虑到这些变化和服务特征,边缘云110内的边缘计算可以提供实时或接近实时地服务和响应于用例205的多个应用(例如,对象跟踪、视频监控、连接的汽车等)的能力,并满足这些多个应用的超低等待时间要求。这些优势使全新类别的应用(虚拟网络功能(VNF)、功能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)得以实现,这些应用由于等待时间或其他限制而无法利用传统的云计算。
然而,伴随边缘计算的优势而来的有以下注意事项。位于边缘处的设备通常是资源受限的,并且因此存在对边缘资源的使用的压力。典型地,这是通过对供多个用户(租户)和设备使用的存储器和存储资源的池化来解决的。边缘可能是功率受限且冷却受限的,并且因此需要由消耗最多功率的应用对功率使用作出解释。在这些经池化的存储器资源中可能存在固有的功率-性能权衡,因为它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更大的存储器带宽。同样,还需要硬件和信任根受信任的功能的改善的安全性,因为边缘位置可以是无人的,并且可能甚至需要经许可的访问(例如,当被容纳在第三方位置时)。在多租户、多所有者、或多访问设置中,此类问题在边缘云110中被放大,在此类设置中,由许多用户请求服务和应用,特别是当网络使用动态地波动以及多个利益相关方、用例、和服务的组成改变时。相应地,通过高度可适用于不利资源约束和/或网络波动,本文中所公开的示例可以通过有效地在不同边缘之间分派工作负荷而缓解这些问题。
在更一般的级别上,边缘计算***可以被描述为涵盖在先前讨论的、在边缘云110(网络层200-240)中操作的层处的任何数量的部署,这些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点和一个或多个核心数据中心可以跨网络的各个层而分布,以由电信服务提供商(“电信公司”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体提供边缘计算***的实现,或者代表电信服务提供商(“电信公司”或“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)等。在一些情况下,边缘设备是为特定目的而被呈现在网络中、但是可具有可用于其他目的的处理和/或其他能力的设备(例如,红绿灯)。此类边缘设备可以独立于其他联网设备,并且可设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务的其他计算任务仍然是可用的。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全性之类的本地问题的硬件和软件组件。结合图12B描述了用于实现装置计算设备的示例硬件。边缘云110还可以包括一个或多个服务器和/或一个或多个多租户服务器。此类服务器可包括操作***和虚拟计算环境。虚拟计算环境可包括管理(生成、部署、损毁等)一个或多个虚拟机、一个或多个容器等的管理程序。此类虚拟计算环境提供其中一个或多个应用和/或其他软件、代码或脚本可在与一个或多个其他应用、软件、代码或脚本隔离的同时执行的执行环境。
图3图示出示例环境300的框图,在该示例环境300中,各种客户端端点1110(采用移动设备、计算机、自主交通工具、商业计算装备、工业处理装备的形式)与示例边缘云110交换请求和响应。例如,客户端端点310可以通过借助于自有网络***332交换请求和响应322,经由有线宽带网络获得网络接入。一些客户端端点310(诸如移动计算设备)可以通过借助于接入点(例如,蜂窝网络塔)334交换请求和响应324,经由无线宽带网络获得网络接入。一些客户端端点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可以作为用于沿着租户边界对资源进行列队的安全性特征实施点来操作。
边缘计算节点可对资源(存储器、中央处理单元(CPU)、图形处理单元(GPU)、中断控制器、输入/输出(I/O)控制器、存储器控制器、总线控制器等)分区,其中,相应的分区可包含RoT能力,并且其中根据DICE模型的扇出和分层可进一步应用于边缘节点。由容器、FaaS引擎、小型服务程序、服务器、或其他计算抽象组成的云计算节点可以根据DICE分层和扇出结构进行分区,以支持每个节点的RoT上下文。因此,跨越RoT的相应设备410、422和440可以协调分布式受信任计算基础(DTCB)的建立,使得可以建立端到端地链接所有要素的租户专用的虚拟受信任安全信道。
进一步地,将理解,容器可具有保护其内容不受先前边缘节点影响的数据或工作负荷特定的密钥。作为容器迁移的一部分,源边缘节点处的舱控制器可以从目标边缘节点仓控制器获得迁移密钥,其中迁移密钥用于包装容器特定的密钥。当容器/舱迁移到目标边缘节点时,解包裹密钥被暴露于舱控制器,然后该舱控制器对经包裹的密钥进行解密。密钥现在可用于对容器特定的数据执行操作。迁移功能可以由被适当地认证的边缘节点和舱管理器(如上所述)来选通。
在进一步的示例中,边缘计算***被扩展以通过在多所有者、多租户环境中使用容器(提供代码和所需依赖关系的被容纳的、可部署的软件单元)来提供多个应用的编排。多租户编排器可用于执行密钥管理、信任锚管理以及与图4中的受信任的‘片’概念的供应和生命周期相关的其他安全性功能。例如,边缘计算***可被配置成用于满足来自多个虚拟边缘实例(以及,来自云或远程数据中心)的各种客户端端点的请求和响应。这些虚拟边缘实例的使用可以同时支持多个租户和多个应用(例如,增强现实(AR)/虚拟现实(VR)、企业应用、内容交付、游戏、计算迁移)。此外,虚拟边缘实例内可存在多种类型的应用(例如,普通应用;等待时间敏感型应用;等待时间关键型应用;用户平面应用;联网应用等)。虚拟边缘实例还可以横跨处于不同地理位置的多个所有者的***(或者由多个所有者共同拥有或共同管理的相应的计算***和资源)。
例如,边缘节点422、424中的每一者可以实现容器的使用,诸如对提供一组一个或多个容器的容器“舱”426、428的使用。在使用一个或多个容器舱的设置中,舱控制器或编排器负责舱中容器的本地控制和编排。根据每个容器的需要对为相应边缘片432、434提供的各种边缘节点资源(例如,以六边形描绘的存储、计算、服务)进行分区。
凭借容器舱的使用,舱控制器监督容器和资源的分区和分配。舱控制器从编排器(例如,编排器460)接收指令,该编排器指令控制器如何最佳地对物理资源进行分区以及在什么持续时间内,诸如通过基于SLA合约接收关键性能指标(KPI)目标。舱控制器确定哪个容器需要哪些资源,以及为了完成工作负荷并满足SLA需要多久。舱控制器还管理容器生命周期操作,诸如:创建容器、为容器供应资源和应用、协调在分布式应用上一起工作的多个容器之间的中间结果、当工作负荷完成时拆除容器等。另外,舱控制器可以充当安全角色,该安全角色阻止资源分配,直到正确的租户进行认证,或者阻止向容器供应数据或工作负荷,直到满足证实结果。
而且,通过使用容器舱,租户边界仍然可以存在,但在容器的每一个舱的上下文中。如果每个租户特定的舱都有租户特定的舱控制器,则将存在对资源分配请求进行合并的共享舱控制器,以避免典型的资源短缺情况。可提供进一步的控制,以确保舱和舱控制器的证实和可信度。例如,编排器460可以向执行认证验证的本地舱控制器供应认证验证策略。如果认证满足第一租户舱控制器而不是第二租户舱控制器的策略,则第二舱可以迁移到确实满足该策略的不同边缘节点。替代地,可以允许第一舱执行,并且在第二舱执行之前安装和调用不同的共享舱控制器。
图5图示出在边缘计算***中部署容器的附加计算布置。图5的示例舱部署示例可以与本文中所公开的示例的工作负荷部署结合实现,其中舱在沿链(例如,分层链)的不同边缘之间转移,例如以使得这些舱可由可用计算资源执行。作为简化示例,***布置510、520描述了这样的设置:在其中舱控制器(例如,容器管理器511、521和容器编排器531)适于通过经由计算节点(布置510中的515)的执行来启动容器化舱、功能、和功能即服务实例,或适于通过经由计算节点(布置520中的523)的执行来单独地执行容器化虚拟化的网络功能。该布置适于在(使用计算节点537的)示例***布置530中使用多个租户,其中容器化舱(例如,舱512)、功能(例如,功能513、VNF522、VNF 536)、和功能即服务实例(例如,FaaS实例515)在专用于相应的租户的虚拟机(例如,用于租户532的VM 534、用于租户533的VM 535)内被启动(除了执行虚拟化网络功能)。该布置进一步适于在***布置540中使用,该***布置540提供容器542、543、或各种功能、应用和功能在计算节点544上的执行,如由基于容器的编排***541所协调。
图5中描绘的***布置提供了在应用组成方面平等地对待VM、容器和功能的架构(并且得到的应用是这三个组成部分的组合)。每个组成部分可涉及使用一个或多个加速器(FPGA、ASIC)组件作为本地后端。以此方式,应用可以跨多个边缘所有者被划分,如由编排器进行协调。
在图5的上下文中,舱控制器/容器管理器、容器编排器和各个节点可以提供安全性实施点。然而,在其中分配给一租户的资源与分配给第二租户的资源是不同的但边缘所有者合作以确保资源分配不跨租户边界被共享的情况下,可以编排租户隔离。或者,资源分配可以跨租户边界而被隔离,因为租户可以允许经由订阅或事务/合约基础的“使用”。在这些上下文中,可由边缘所有者使用虚拟化、容器化、飞地和硬件分区方案来实施租赁。其他隔离环境可包括:裸金属(专用)装备、虚拟机、容器、容器上虚拟机、或其组合。
在进一步的示例中,软件定义的或受控的硅硬件以及其他可配置的硬件的各方面可以与边缘计算***的应用、功能、和服务集成。软件定义的硅可用于基于某一资源或硬件组成部分(例如,通过升级、重新配置或在硬件配置本身内供应新的特征)修复自身或工作负荷的一部分的能力来确保该组成部分履行合约或服务水平协议的能力。
应当领会,本文讨论的边缘计算***和布置可适用于涉及移动性的各种解决方案、服务和/或用例。作为示例,图6示出涉及对实现边缘云(诸如,图1的边缘云110)的示例边缘计算***600中的应用进行的移动访问的示例简化交通工具计算和通信用例。在该用例中,相应的客户端计算节点610可以被具体化为位于相对应交通工具中的机载计算***(例如,机载导航和/或信息娱乐***),该机载计算***在横越道路期间与示例边缘网关节点620通信。例如,边缘网关节点620可以位于路边机柜或被内置到具有其他分开的、机械公共设施的结构中的其他外壳中,路边机柜或其他外壳可以沿着道路、在道路的交叉路口处、或在道路附近的其他位置放置。当相应的交通工具沿着道路行驶时,其客户端计算节点610与边缘网关节点620中的特定的一个边缘网关节点之间的连接可以传播,以便为示例客户端计算节点610保持一致的连接和上下文。同样,移动边缘节点可以在高优先级服务处或根据(多个)底层服务(例如,在无人机的情况下)的吞吐量或等待时间分辨率要求进行聚合。相应的边缘网关设备620包括一定量的处理和存储能力,并且由此,客户端计算节点610的一些数据处理和/或数据存储可在边缘网关节点620中的一个或多个边缘网关节点620上执行。
边缘网关节点620可以与一个或多个边缘资源节点640通信,这些边缘资源节点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等处的其他部分)纵向地分布。另外,如前所述,可以存在任何级别上的对等关系以满足服务目标和义务。例如,本文中所公开的示例可以实现对资源的有效控制,以满足基于SLA的服务目标和义务。进一步地,用于特定客户端或应用的数据可以基于变化的条件(例如,基于加速资源可用性、跟随汽车移动等)从边缘移动到边缘。例如,基于访问的“衰减率”,可以进行预测,以标识要继续的下一个所有者、或者数据或计算访问何时将不再可行。可以利用这些服务和其他服务来完成保持事务合规且无损所需的工作。
在进一步的场景中,容器636(或容器的舱)可以从边缘节点620中的一个边缘节点灵活地迁移到其他边缘节点(例如,这些边缘节点620中的另一个边缘节点、(多个)边缘资源节点640中的一个边缘资源节点等),使得具有应用和工作负荷的容器不需要为了迁移到工作而被重组、重新编译、重新解释。但是,在此类设置中,可能存在所应用的一些补救或“混合”的转换操作。例如,(多个)边缘资源节点640处的物理硬件可能不同于边缘网关节点620处的硬件,并且因此,组成容器底部边缘的硬件抽象层(HAL)将被重新映射到目标边缘节点的物理层。这可能涉及某种形式的后期绑定技术,诸如HAL从容器原生格式到物理硬件格式的二进制转换,或者可能涉及映射接口和操作。舱控制器可用于驱动接口映射,作为容器生命周期的一部分,其包括迁移到不同的硬件环境/从不同的硬件环境迁移。
图6所涵盖的场景可利用各种类型的移动边缘节点(诸如在交通工具(汽车/卡车/电车/火车)或其他移动单元中主控的边缘节点),因为边缘节点将沿主控它的平台移动到其他地理位置。在交通工具对交通工具通信的情况下,各个交通工具甚至可以充当用于其他汽车的网络边缘节点(例如,以执行高速缓存、报告、数据聚合等)。因此,将理解,在各种边缘节点中提供的应用组件可以以静态或移动设置分布,包括在各个端点设备或边缘网关节点620处的一些功能或操作、在(多个)边缘资源节点640处的一些其他功能或操作、以及在核心数据中心650或全球网络云660中的其他功能或操作之间的协调。
在进一步的配置中,边缘计算***可以通过使用相应的可执行应用和功能来实现FaaS计算能力。在示例中,开发者编写表示一个或多个计算机功能的功能代码(例如,本文中的“计算机代码”),并且该功能代码被上传到由例如边缘节点或数据中心提供的FaaS平台。触发器(诸如例如,服务用例或边缘处理事件)利用FaaS平台发起对功能代码的执行。
在FaaS的示例中,容器用于提供在其中执行功能代码(例如,可能由第三方提供的应用)的环境。容器可以是任何隔离执行的实体,诸如进程、Docker容器或Kubernetes(K8s)容器、虚拟机等。在边缘计算***内,各种数据中心、边缘、和端点(包括移动)设备被用于按需缩放的“旋转加速(spin up)”功能(例如,激活和/或分配功能动作)。功能代码在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上得到执行。最后,容器响应于执行被完成而在基础设施上被“旋转减速(spin down)”(例如,去激活和/或解除分配)。
FaaS的进一步的方面可以启用边缘功能以服务方式的部署,包括对支持边缘计算即服务(边缘即服务或“EaaS”)的相应功能的支持。FaaS的附加特征可包括:使客户(例如,计算机代码开发者)仅在其代码被执行时进行支付的细粒度计费组件;用于存储数据以供一个或多个功能重新使用的共用数据存储;各个功能之间的编排和管理;功能执行管理、并行性和合并;容器和功能存储器空间的管理;功能可用的加速资源的协调;以及功能在容器(包括已经部署或操作的“暖”容器,其相对于需要初始化、部署、或配置的“冷”容器)之间的分布。
边缘计算***600可以包括边缘供应节点644或与边缘供应节点644通信。边缘供应节点644可以将诸如图12B的示例计算机可读指令1282之类的软件分发到各个接收方,以用于实现本文中所描述的方法中的任何方法。示例边缘供应节点644可以由任何计算机服务器、家庭服务器、内容交付网络、虚拟服务器、软件分发***、中央设施、存储设备、存储节点、数据设施、云服务等实现,上述各者能够存储软件指令和/或向其他计算设备传输软件指令(例如,代码、脚本、可执行二进制文件、容器、包、压缩文件和/或其衍生物)。
示例边缘供应节点644的(多个)组件可以位于云中、局域网中、边缘网络中、广域网中、因特网上和/或与(多个)接收方通信耦合的任何其他位置。接收方可以是拥有和/或操作边缘供应节点644的实体的客户、客户端、合作方、用户等。例如,拥有和/或操作边缘供应节点644的实体可以是软件指令(诸如图12B的示例计算机可读指令1282)的开发者、销售方和/或许可方(或其客户和/或消费者)。接收方可以是购买和/或许可软件指令以用于使用和/或转售和/或分许可的消费者、服务提供商、用户、零售商、OEM等。
在示例中,边缘供应节点644包括一个或多个服务器以及一个或多个存储设备。如下文所描述,存储设备主控计算机可读指令,诸如图12B的示例计算机可读指令1282。类似于上文所描述的边缘网关设备620,边缘供应节点644的一个或多个服务器与基站642或其他网络通信实体进行通信。在一些示例中,作为商业事务的部分,一个或多个服务器对将软件指令传送到请求方的请求进行响应。可以由软件分销平台的一个或多个服务器和/或经由第三方支付实体来处置针对软件指令的交付、销售、和/或许可的支付。服务器使购买方和/或许可方能够从边缘供应节点644下载计算机可读指令1282。例如,软件指令(其可与图12B的示例计算机可读指令1282相对应)可被下载到(多个)示例处理器平台,该(多个)示例处理器平台用于执行计算机可读指令1282以实现本文所描述的方法。
在一些示例中,执行计算机可读指令1282的(多个)处理器平台可以物理地位于不同的地理位置、法律管辖区等。在一些示例中,边缘供应节点644的一个或多个服务器周期性地提供、传送和/或强制更新软件指令(例如,图12B的示例计算机可读指令1282),以确保改善、补丁、更新等被分发并应用于在终端用户设备处实现的软件指令。在一些示例中,计算机可读指令1282的不同组件可以分发自不同的源和/或不同的处理器平台;例如,无论是经编译的还是经解释的,不同的库、插件、组件和其他类型的计算模块都可以分发自不同的源和/或向不同的处理器平台分发。例如,软件指令的一部分(例如,本身不可执行的脚本)可以分发自第一源,而(能够执行脚本的)解释器可以分发自第二源。
在进一步的示例中,参考当前的边缘计算***和环境讨论的计算节点或设备中的任一者可以基于下文结合图12A和图12B所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“物”的类型。例如,边缘计算设备可以被具体化为个人计算机,服务器,智能手机,移动计算设备,智能装置,车载计算***(例如,导航***),具有外箱、外壳的自包含设备等,或能够执行所描述的功能的其他设备或***。
图7A和图7B图示出可以在其中实现本文中所公开的示例的示例边缘拓扑。具体而言,上文结合图1-图6所讨论的示例边缘配置和拓扑可以利用下文结合图7A-12B所描述的示例中的任何示例来实现。转向图7A,示例边缘拓扑700被示出为具有边缘(例如,边缘平台、网络边缘等)702,该边缘702具有多个边缘集群704。进而,前述边缘702通信地耦合至接入网络706。例如,边缘702可以是远边缘工业场地的部分。
在操作中,边缘集群704包括计算、存储和网络资源。边缘集群704的计算、存储和网络资源基于接入网络706的使用而独立地被编排。根据本文中所公开的示例,实现跨集群编排,由此使得计算、存储和网络资源能够更有效地被利用。此外,本文中所公开的示例实现基于SLA的跨集群编排,该SLA可以由管理者、操作者和/或开发者来定义。例如,可以跨整个***或整个边缘702维护QoS标准。
图7B图示出与图7A的示例类似但替代地描绘具有对应的边缘集群714的多个边缘节点(例如,边缘、边缘平台等)712的示例边缘拓扑710。在图7B所图示的示例中,边缘节点712在拓扑上相对于彼此按链和/或顺序的次序(例如,菊形链结构、沿通信线等)布置。具体而言,示例边缘节点712跨越源网络(例如,图2的核心网络235)与接入网络(例如,接入网络706、图2的用例205的设备/物等)之间。在该示例中,被描绘成最靠近于接入网络706的边缘节点712在远边缘工业场地处,而被描绘为最远离于接入网络706的边缘节点712最靠近于数据中心或中央局。本文中所公开的示例在跨前述链协调资源使用、同时维护由SLA定义的服务要求方面可以是有效的。在一些示例中,边缘节点712中的一个边缘节点的层级结构由其在链内的位置来定义(例如,最靠近于数据中心/中央局的边缘节点712是主边缘)。在一些此类示例中,边缘节点712中的一些边缘节点管理和/或控制其他边缘节点712。
图8是图示出根据本公开的教导的对边缘和/或边缘集群的示例协调和/或编排的示例拓扑800。在图8所图示的示例中,在图7B中示出的示例链式(例如,菊形链式)边缘节点712的上下文中示出协调。然而,示例编排可以被实现在任何适当的边缘和/或边缘集群拓扑中,包括本文中所公开的实现方式中的任何实现方式。在该示例中,边缘节点712包括对应的边缘集群714并且被顺序地布置在接入网络与主数据源(例如,数据主干、主服务器节点、中央服务器、区域服务器等)之间,这并未示出。在所图示的示例中,边缘集群714中的每一个包括相应的编排器802,该编排器802被实现为用于调度和/或协调K8s舱的K8s编排器。
在操作中,为了在SLA的要求内维护服务(例如,计算服务、存储服务、存储器服务、高速缓存服务等),沿链布置的编排器802基于与遥测数据、应用数据(例如,应用指纹数据、应用指纹)对应的可用性和SLA中定义的要求(例如,性能要求、可用性要求等)而被协调和/或控制。例如,可以执行所图示示例的编排/协调,以维护由SLA定义的QoS。具体而言,QoS可基于等待时间要求、带宽水平等。相应地,如下文将结合图9-图12B更详细地描述的,编排器802彼此通信地耦合,以确定边缘集群714和/或边缘节点712的可用性(例如,服务可用性、计算可用性等)。进而,基于可用性和前述SLA,编排器802向分层地布置的边缘节点712和/或边缘节点712的相关联的集群714中的至少一个分派工作负荷,该工作负荷可以是舱(例如,包括与应用相关联的多个微服务的舱)。在所图示的示例中,基于SLA以及边缘节点712和/或相应的边缘集群714的可用性向边缘节点712中的多个边缘节点712分派微服务806(在图8的示例中,其分别被表示为“微服务1”、“微服务2”、“微服务3”、“微服务4”)。结果是,由边缘节点712提供的服务被分发以更有效地满足由SLA所陈述的要求。为了进一步将性能维持在SLA的水平或超出SLA的水平,经由编排器802在边缘节点712之间传输遥测信息或数据。在其他示例中,工作负荷可以涉及FaaS或任何其他EaaS实现方式。
在一些示例中,编排器802中的一个充当主编排器,而编排器802中的其他编排器充当受主编排器控制和/或指引的辅助编排器。换言之,在此类示例中,主编排器802可以充当控制、管理、协调或指引编排器。在其他示例中,编排器802执行分布式决策作出,以确定要向边缘节点712中的哪一个分配、分派和/或调度工作负荷。在一些示例中,将服务和/或微服务从边缘节点712中的一个边缘节点712的计算移动离开或转移开,以符合SLA。
本文中所公开的示例可以被实现在包括多个结构中的单个结构的硬件(例如,服务器硬件、计算硬件等)中。例如,边缘节点712、边缘集群714和/或编排器802可以被实现在计算机和/或联网硬件中,该计算机和/或联网硬件可以包括壳体、遮光栅格、冷却板、总线、印刷电路板、电源、框架等。
图9是用于实现本文中所公开的示例的示例编排器协调器900的框图。例如,编排器协调器900可以被实现在图7A-图8的边缘702、712和/或边缘集群704、714或本文中所公开的和结合图1-图6示出的任何其他合适的示例中的任一者上。例如,编排器协调器900可以被实现在图1-图8中示出的示例边缘计算配置的核心网络和/或边缘云110中的任一者或其组合中。在一些示例中,编排器协调器900被实现在图4中示出的第一边缘节点422、第二边缘节点424和/或边缘计算***400中。另外或替代地,编排器协调器900可以结合图5中示出的示例容器部署(例如,舱容器部署)来实现。更进一步地,所公开的示例可利用结合图6的示例边缘计算***600所描述和示出的边缘网关节点620、边缘资源节点640或边缘供应节点644中的至少一者来实现。
所图示示例的编排器协调器900可以被实现在单个编排器(例如,编排器802、主编排器、命令编排器、协调编排器等)、多个编排器(例如,分布在编排器802中的多个编排器802上)上,或者被实现到边缘集群外部的计算设备。在一些示例中,编排器协调器被实现在与不同边缘集群的其他编排器进行通信的一个编排器上。示例编排器协调器900包括编排器管理器902,该编排器管理器902进而包括编排器分析器904、通信接口906、编排控制器908、动机控制器910、执行监视器912、遥测分析器914以及应用分析器916。在图9所图示的示例中,编排器管理器902通信地耦合至知识库920和遥测数据存储922,遥测数据存储922可以包括与边缘节点712和/或边缘集群714相关联的遥测数据(例如,计数器、处理器使用信息、存储信息、高速缓存利用等)。
所图示的示例的编排器分析器904确定对应的编排器802的状况(例如,遥测数据、应用遥测数据、可用性等)。在该示例中,编排器分析器904确定编排器802的可用性。具体而言,编排器分析器904确定编排器802的对应边缘节点712是否可用于执行计算任务同时满足SLA的要求。在一些示例中,连续地和/或周期性地从编排器802向编排器分析器904提供可用性数据/信息。另外或替代地,编排器分析器904查询编排器802和/或其相关联的边缘节点712来确定其可用性。在一些示例中,编排器分析器904确定边缘节点712中的哪些和/或边缘集群714中的哪些是可用的。在该示例中,编排器分析器904确定和/或维护与边缘节点712和/或边缘节点712的对应资源的能力(例如,处理器能力、存储器能力等)有关的数据。
示例通信接口906被实现成用于促进和/或提供边缘节点712的编排器802之间的通信。结果是,编排器802能够有效地在其间转移工作负荷。通信接口906可以被实现为硬件和/或软件,并且使得编排器802能够彼此传输可用性、遥测数据和状况、编排器设置等。在一些示例中,通信接口906用于披露舱的入口点和/或接收舱。
所图示示例的编排器控制器908基于由编排器分析器904确定的可用性、工作负荷的性能要求、以及边缘节点712和/或其相关联的边缘集群714中的一些的能力来确定边缘节点712中的哪些和/或边缘节点712的计算资源中的哪些将被分派至少一个工作负荷(例如,舱、应用的至少一个微服务等)。换言之,编排器控制器908作出调度决策以在边缘节点712中的一些之间分配工作负荷。编排器控制器908可以利用遥测数据来确定边缘节点712中的哪些被分派工作负荷,该工作负荷可以包括应用的微服务。在一些此类示例中,编排器控制器908经由通信接口906收集和/或接收遥测数据。另外或替代地,编排器控制器908基于应用指纹来向边缘节点712中的至少一个和/或边缘节点712的边缘集群714中的至少一个分派工作负荷,其中应用和/或其相关联的微服务基于其相关联的遥测数据(例如,存储器要求、带宽要求、处理要求等)而被表征。相应地,应用指纹可以用于向边缘节点712中的至少一个分派工作负荷。换言之,工作负荷分派可以至少部分地基于应用指纹。在一些示例中,在分派工作负荷时将边缘节点712的分层拓扑考虑在内。另外或替代地,将最佳可用的处理资源、I/O密集型通信量可能性、存储要求等考虑在内。在一些示例中,分派工作负荷包括改变所分派的计算和/或被分派的边缘节点712的设置(例如,QoS设置)。
在一些示例中,动机控制器910被实现为用于将动机和/或动机信息转发至边缘节点712的资源、编排器802和/或边缘节点712。动机可以是财务动机、停机时间的增加的灵活性等。结果是,动机可以影响边缘节点712的可用性,和/或引起边缘节点712中的至少一个将指示可用性和/或提供可用资源的可能性增加。例如,动机可以基于各方之间的协议和/或SLA。结果是,动机可以影响工作负荷分派。动机可以与运营商和/或网络管理方的财务动机有关。
在所图示的示例中,执行监视器912监视应用和/或微服务在边缘节点712和/或相关联的边缘集群714处的执行。在该示例中,执行监视器912监视应用、相关联的微服务和/或应用的舱的执行,并确定是否存在可用性和/或性能的显著降低。在一些特定示例中,执行监视器912确定应用是否正在经历瓶颈,或者检测瓶颈的指示。如果应用正在经历瓶颈,则编排器控制器908可以被指引在除经历瓶颈的边缘节点712和/或计算资源之外的其他资源中发现可用性。另外或替代地,编排器控制器908可以沿分层布置或拓扑查询服务和/或边缘节点712来发现可用资源。在一些示例中,执行监视器针对应用关键性能指标(KPI)来对舱进行监视。
在一些示例中,遥测分析器914被实现为用于分析、编译、访问、查询和/或存储与边缘节点712相关联的遥测数据。例如,遥测分析器914可以收集来自在边缘节点712中的至少一个上执行的微服务的数据。另外或替代地,遥测分析器914确定边缘节点712的遥测信息。可以将遥测信息分类和/或组织为不同的类别,包括但不限于处理器利用、存储器使用、高速缓存使用、网络等待时间、网络抖动、数据访问速率等。
在一些示例中,应用分析器916被实现为用于对应用和相关联的微服务进行分析。例如,应用的至少一个性能要求可以基于其预期资源使用(例如,网络带宽使用、处理器使用、存储器使用、高速缓存使用等)而被分类。具体而言,可以利用应用指纹来表征应用和/或与应用相关联的微服务。在一些此类示例中,应用指纹数据可以被存储在知识数据库中。相应地,知识数据库可以由编排器802和/或编排器控制器908使用以向边缘节点712和/或相关联的边缘集群714的资源分派工作负荷。
虽然图9图示出了实现图9的编排器协调器900的示例方式,但图9中所图示的元件、过程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何其它方式被实现。此外,图9的示例编排器分析器904、示例通信接口906、示例编排器控制器908、示例动机控制器910、示例执行监视器912、示例遥测分析器914、示例应用分析器916和/或更一般地示例编排器协调器900可由硬件、软件、固件、和/或硬件、软件和/或固件的任何组合来实现。由此,例如,以下各项中的任何一项可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)和/或(多个)现场可编程逻辑器件(FPLD)实现:示例编排器分析器904、示例通信接口906、示例编排器控制器908、示例动机控制器910、示例执行监视器912、示例遥测分析器914、示例应用分析器916和/或更一般地示例编排器协调器900。当阅读涵盖纯软件和/或固件实现的本专利的装置或***权利要求中的任一权利要求时,示例编排器分析器904、示例通信接口906、示例编排器控制器908、示例动机控制器910、示例执行监视器912、示例遥测分析器914、和/或示例应用分析器916中的至少一者由此被明确地限定为包括包含软件和/或固件的非瞬态计算机可读存储设备或存储盘(诸如,存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等等)。更进一步地,图9的示例编排器协调器900可包括作为图9中所图示的那些元件、过程和/或设备的附加或替代的一个或多个元件、过程和/或设备,和/或可包括多于一个的所图示的元件、过程和设备中的任何或全部元件、过程和设备。如本文所使用,短语“进行通信”(包括其各种变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。
在图10和图11中示出了表示用于实现图9的编排器协调器900的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或其任何组合的流程图。机器可读指令可以是用于由计算机处理器和/或处理器电路执行的一个或多个可执行程序或可执行程序的(多个)部分,计算机处理器和/或处理器电路诸如下文结合图13所讨论的示例处理器平台1300中示出的处理器1312。程序可被具体化在存储于与处理器1312相关联的诸如CD-ROM、软盘、硬驱动器、DVD、蓝光盘、固态驱动器(SSD)或存储器之类的非瞬态计算机可读存储介质上的软件中,但是整个程序和/或其部分可替代地由除处理器1312之外的设备执行,和/或被具体化在固件或专用硬件中。进一步地,虽然参考图10和图11所图示的流程图描述了示例程序,但是可替代地使用实现示例装置50的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。附加地或替代地,框中的任何框或所有框可以由被构造成在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。处理器电路可以分布在不同的网络位置和/或位于一个或多个设备的本地(例如,单个机器中的多核处理器、跨服务器机架分布的多个处理器等)。
本文中描述的机器可读指令能以压缩格式、加密格式、分段格式、编译格式、可执行格式、封装格式等中的一种或多种来存储。本文描述的机器可读指令可以作为可用于创建、制造和/或产生机器可执行指令的数据或数据结构(例如,指令的部分、代码、代码表示等)来存储。例如,机器可读指令可以被分段并被存储在位于网络或网络集合(例如,在云中、在边缘设备中等)中的相同或不同位置的一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可能需要安装、修改、适配、更新、组合、补充、配置、解密、解压缩、拆包、分发、重新分配、编译等中的一项或多项,以使得它们由计算设备和/或其他机器直接可读取、可解释、和/或可执行。例如,机器可读指令可以存储在多个部分中,这些部分被单独压缩、加密并存储在单独的计算设备上,其中,这些部分在被解密、解压缩和组合时形成实现如本文所述的可以一起形成程序的一个或多个功能的指令的一组可执行指令。
在另一示例中,机器可读指令可以以它们可被处理器电路读取的状态存储,但是需要添加库(例如,动态链接库(DLL))、软件开发工具包(SDK)、应用编程接口(API)等,以便在特定的计算设备或其他设备上执行指令。在另一个示例中,在可整体或部分地执行机器可读指令和/或对应的(多个)程序之前,可能需要配置机器可读指令(例如,存储的设置、数据输入、记录的网络地址等)。因此,如本文所使用,机器可读介质可以包括机器可读指令和/或(多个)程序,而不管机器可读指令和/或(多个)程序在存储时或以其他方式处于静态或在传输中时的特定格式或状态如何。
本文所描述的机器可读指令可以由任何过去、现在或将来的指令语言、脚本语言、编程语言等表示。例如,机器可读指令可以用以下语言中的任何一种语言来表示:C、C++、Java、C#、Perl、Python、JavaScript、超文本标记语言(HTML)、结构化查询语言(SQL)、Swift等。
如上文所提及,可使用存储于非瞬态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)实现图10的示例过程,非瞬态计算机和/或机器可读介质诸如,硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在其中存储信息达任何时长(例如,达扩展的时间段、永久地、达简短的实例、用于临时缓冲和/或用于对信息进行高速缓存)的任何其他存储设备或存储盘。如本文中所使用,术语非瞬态计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号且排除传输介质。
“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求将任何形式的“包含”或“包括”(例如,包括、包含、包括有、包含有、具有等)用作前序部分或用于任何种类的权利要求记载内容之中时,要理解的是,附加的要素、项等可以存在而不落在对应权利要求或记载的范围之外。如本文中所使用,当短语“至少”被用作例如权利要求的前序部分中的过渡术语时,它是和术语“包含”和“包括”一样的开放式的。当例如以诸如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)”)、“一个或多个”和“至少一个”在本文中可以可互换地使用。此外,尽管单独列出,但多个装置、元件或方法动作可由例如单个单元或处理器来实现。另外,虽然各个特征可以被包括在不同的示例或权利要求中,但是这些特征可能被组合,并且在不同的示例或权利要求中的包含并不意味着特征的组合是不可行和/或不是有利的。
图10是表示用于实现结合图1-图4、图6-图8和/或图9所图示的示例边缘计算***实现方式的示例方法1000的流程图。在该示例中,具有相关联的微服务的应用将被分配并在边缘节点712上被执行。即,图10的指令分派应用的微服务以供边缘节点712中的不同边缘节点712执行从而以分布式方式跨边缘节点712中的那些边缘节点实现该应用。进一步地,边缘节点712和/或其相关联的边缘集群714具有不同的执行能力。换言之,在该示例中,边缘节点712中不同的边缘节点712与边缘节点712中的其他的边缘节点712相比更擅长于不同的任务。由此,可以基于边缘节点712满足微服务的要求的能力而将微服务分派至边缘节点712中不同的边缘节点712。
在框1002处,示例编排器分析器904和/或遥测分析器914设置端对端SLA要求。例如,可以重新定义、修改和/或调整SLA。在一些此类示例中,SLA要求可以由操作者、管理者和/或开发者设置。在一些示例中,基于不同的状况(例如,高通信量网络状况、随不同时间而有所不同的SLA要求等等)来调整SLA要求。
在框1004处,编排器分析器904和/或至少一个示例编排器802发现可用边缘和/或边缘资源(例如,可用的或未使用的边缘计算资源)。具体而言,编排器分析器904可确定沿链存在多少可用的边缘以及哪些边缘具有资源可用性。在此类示例中,由编排器分析器904和/或至少一个编排器802来确定边缘节点712的能力(例如,存储器能力、处理器能力等)。在一些示例中,还确定和/或分析边缘拓扑。例如,编排器分析器904可以确定和/或标识边缘节点712的拓扑布置和/或整体网络布局。
在框1006处,示例编排器分析器904确定边缘节点712的资源(例如,计算)的可用性。例如,对应的边缘集群的单个编排器确定对应的边缘集群的资源的可用性。在一些示例中,编排器分析器904使得舱加载和/或发起资源的“好撒玛利亚人(Good Samaritan)”能力数据。在一些示例中,“好撒玛利亚人”能力涉及边缘节点712中的一个在沿链的这些边缘节点712中的另一个指示潜在的性能降级和/或无法满足SLA时指示或增加执行服务(例如,高速缓存服务、处理、存储器服务、存储服务等)的资源的可用性的情况。在一些示例中,实现此种能力的边缘节点712可以释放较不关键的资源来承担来自其他边缘节点712的附加工作负荷。在一些示例中,该能力被加载作为用于由舱(例如,K8s舱)、编排器802和/或边缘节点712访问的共享库。另外或替代地,编排器802确定其相应的边缘节点712和/或边缘集群714的遥测数据和/或可用性。
在框1008处,示例编排器分析器904确定应用的第一微服务的第一性能要求。此种确定可基于从应用和/或第一微服务查询到的应用指纹或数据而发生。
在框1010处,示例编排器分析器904确定应用的第二微服务的第二性能要求。例如,第二性能要求不同于第一性能要求(例如,第二性能要求涉及高速缓存存储器要求,而第一性能要求涉及处理器要求等)。
在框1012处,所图示示例的示例编排器控制器908基于边缘节点712中的第一边缘节点712的第一能力(例如,执行能力)满足第一微服务的第一性能要求而将第一微服务分派至边缘节点712中的该第一边缘节点712。
在框1014处,所图示示例的示例编排器控制器908基于边缘节点712中的第二边缘节点712的能力(例如,执行能力)满足第二微服务的第二性能要求而将第二微服务分派至边缘节点712中的该第二边缘节点712。例如,第一性能要求与处理器性能有关,相比于边缘节点712中的第二边缘节点712,边缘节点712中的第一边缘节点712更适合于该第一性能要求。作为进一步的示例,第二性能要求与存储能力有关,相比于边缘节点712中的第一边缘节点712,边缘节点712中的第二边缘节点712更适合于该第二性能要求。
在框1016处,在一些示例中,示例编排器控制器908设置第一或第二边缘节点712中的至少一者的QoS设置,并且过程结束。QoS设置可以基于第一和第二性能要求和/或SLA。
图11是表示可被执行以实现结合图1-图4、图6-图8和/或图9所图示的示例边缘计算***实现方式的示例指令1100的流程图。在所图示的示例中,在边缘节点712之间对工作负荷(例如,舱、应用、微服务、FaaS等等)进行协调、指引、和/或调度,以确保在接入网络706利用边缘节点712中的至少一个边缘节点712的资源时端对端SLA的要求被满足或被超过,这些边缘节点712以链配置和/或拓扑被布置在源网络与目的地网络之间。
在框1102处,示例编排器分析器904和/或至少一个示例编排器802发现可用边缘和/或边缘资源(例如,可用的或未使用的边缘计算资源)。具体而言,示例编排器分析器904可以确定沿链存在多少可用的边缘以及哪些边缘具有资源可用性。在一些示例中,还确定和/或分析边缘拓扑。例如,编排器分析器904可以确定和/或标识边缘节点712的拓扑布置和/或整体网络布局。
在框1104处,示例编排器分析器904披露舱/工作负荷(例如,K8s舱、调度单元、计算、舱、微服务、微服务集合等)的入口点。在一些示例中,由编排器分析器904来查询入口点,以报告和/或探查舱/工作负荷的性能要求信息(例如,遥测信息)。如上文所提及,舱/工作负荷可以是被存储在容器中以供后续执行的自执行应用和/或应用部分。根据所图示的示例,编排器分析器904确定和/或标识边缘节点712中的哪些用于被分派和/或接收舱/工作负荷。另外或替代地,编排器分析器904确定和/或分析关于应用的信息、应用要求和/或与应用相关联的遥测数据。例如,编排器分析器904可以确定应用的微服务的性能要求。
在框1106处,示例编排器分析器904确定边缘节点712的资源(例如,计算)的可用性和/或能力(例如,执行能力)。例如,对应的边缘集群的单个编排器确定(多个)对应的边缘集群的资源的可用性和该(多个)对应的边缘集群的能力。在一些示例中,编排器分析器904使得舱加载和/或发起资源的“好撒玛利亚人(Good Samaritan)”能力数据。在一些示例中,“好撒玛利亚人”能力涉及边缘节点712中的一个在沿链的这些边缘节点712中的另一个指示潜在的性能降级和/或无法满足SLA时指示或增加执行服务(例如,高速缓存服务、处理、存储器服务、存储服务等)的资源的可用性的情况。在一些示例中,实现此种能力的边缘节点712可以释放较不关键的资源来承担来自其他边缘节点712的附加工作负荷。在一些示例中,该能力被加载作为用于由舱(例如,K8s舱)、编排器802和/或边缘节点712访问的共享库。具体而言,共享库可以指示边缘节点712中的哪些可用于利用。另外或替代地,编排器802确定其相应的边缘节点712和/或边缘集群714的遥测数据和/或可用性。
在框1108处,在一些示例中,示例编排器分析器904和/或遥测分析器914定义端对端SLA要求。例如,可以重新定义、修改和/或调整SLA。在一些此类示例中,SLA要求可以由操作者、管理者和/或开发者设置。在一些示例中,基于不同的状况(例如,高通信量网络状况、随不同时间而有所不同的SLA要求等等)来调整SLA要求。
在框1110处,示例编排器分析器904和/或遥测分析器914收集来自边缘节点712和/或相关联的边缘集群714的服务的数据。数据可以包括与遥测、应用遥测、资源可用性和/或遥测数据等有关的信息,并且可以被存储在遥测数据存储922中。
在框1112处,编排器控制器908基于可用性、舱/工作负荷的性能要求以及资源的能力来作出调度决策以符合SLA。换言之,编排器基于可用性和SLA的要求将舱/工作负荷(其可以包括多个微服务)分派至边缘节点712和/或相应的边缘集群714的至少一个资源(例如,计算资源)。另外或替代地,编排器控制器908基于应用指纹(例如,应用遥测数据、应用使用数据等)来进行调度,该应用指纹针对处理器使用、存储器使用等对应用进行表征。在一些示例中,前述调度决策、应用信息和/或相关联的应用遥测数据被存储在知识库920中。另外或替代地,编排器控制器908利用成本函数,其中将工作负荷和/或应用部署到边缘节点712中的一些边缘节点712的调度决策是基于选择使得计算出的成本(例如,能量成本、计算成本、等待时间成本、资源成本等)最低的资源和/或边缘节点712中的一些边缘节点来执行的。在一些示例中,将租赁考虑在内。具体而言,例如,跨越租户隔离边界有时可能会招致性能损失。在一些示例中,作出调度决策以满足由SLA所陈述的要求(例如,作出调度决策以使得SLA的要求被满足或仅略微被超过)。另外或替代地,作出调度决策以超过和/或最大化边缘节点712的整体性能。在一些示例中,分派舱/工作负荷包括改变所分派的计算的设置(例如,QoS设置)。另外或替代地,通过选择具有更好地执行的处理器的资源、选择更好地适应I/O密集型通信量(例如,使用高吞吐量I/O节点)的资源或具有相对较高的存储能力的资源,调度决策基于快速计算的目标。
在框1114处,在一些示例中,编排器控制器908向边缘节点712和/或边缘集群714(例如,边缘节点712和/或边缘集群中附近的、邻近的或接近的一些边缘节点712和/或边缘集群)提供、传送和/或与其共享调度决策。在一些示例中,仅向对应的边缘节点712的边缘集群714提供调度决策。在一些示例中,传送共享的调度决策使得被分派的边缘节点712和/或其对应的编排器802接收和/或检取向其分派的舱/工作负荷。
在框1116处,示例执行监视器912监视舱/工作负荷。例如,执行监视器912相对于应用KPI来监视舱/工作负荷的执行。在一些示例中,在监视舱/工作负荷时使用遥测数据。
在框1120处,示例应用分析器916和/或示例执行监视器912确定应用是否正在经历减退的性能(例如,瓶颈)。例如,可以监视微服务的执行,以使得这些微服务中的至少一个微服务可以被重新分发和/或重新分派至边缘节点712中的另一边缘节点。如果应用正在经历减退的性能(框1120),则控制返回至框1116。否则,指令前进至框1122。
在框1122处,在一些示例中,编排器控制器908将舱/工作负荷分派至边缘节点712中的可用的一个边缘节点712和/或相关联的编排器802。例如,使用前述“好撒玛利亚人”能力。例如,“好撒玛利亚人”能力可以利用由每个应用启用和参数化的共享库来执行,以使得当由编排器控制器908和/或编排器802联系到舱/工作负荷时,资源(例如,较不关键的资源)可以适当的程度和/或比例被释放和/或被分派。换言之,编排器802可以指示边缘节点712的什么资源是可用的和/或哪些计算资源处于相对空闲的状态。另外或替代地,舱/工作负荷可以被转移到云中的代理,以缓解资源瓶颈。将微服务重新分派和/或重新分发至可用资源可以与同框1120相关联的监视有关。对舱/工作负荷的重新分发可以基于平台遥测,该平台遥测包括高速缓存未命中、网络抖动、丢弃的分组、等待时间、存储器使用、带宽、等待时间偏移、存储等待时间和/或读取等待时间等。
在框1124处,在一些示例中,编排器分析器904确定边缘节点712和/或边缘集群714的资源是否可用(例如,可用于满足SLA)和/或具有可用资源。如果资源是可用的(框1124),则过程的控制前进至框1128。否则,指令前进至框1126。
在框1126处,在一些示例中,编排器分析器904发送指示SLA可能未被满足的通知。该通知可以被发送至管理者或中央局/服务器。
在框1128处,所图示示例的示例编排器控制器908在可用资源中设置适当的QoS和/或SLA设置,并且指令返回至框1120。
图12A是示例边缘计算节点(例如,计算)1200的示例实现方式的框图,该示例边缘计算节点1200包括计算引擎(本文中也称为“计算电路***”)1202、输入/输出(I/O)子***1208、数据存储1210、通信电路***子***1212,并且任选地包括一个或多个***设备1214。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、***设备等)。另外,在一些示例中,说明性组件中的一个或多个可被并入到另一组件中,或以其他方式形成另一组件的部分。图12A的示例边缘计算节点1200可被部署在图1-图4、图6-图8和/或图9中所图示的边缘计算***中的一个边缘计算***中,以实现本文中所公开的示例中示出的任何边缘计算节点。
计算节点1200可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点1200可被具体化为单个设备,诸如集成电路、嵌入式***、现场可编程门阵列(FPGA)、芯片上***(SOC)或者其他集成***或设备。在说明性示例中,计算节点1200包括或被具体化为处理器1204和存储器1206。处理器1204可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器1204可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
在一些示例中,处理器1204可被具体化为、包括或耦合至FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路***、或用于促进本文中所描述的功能的执行的其他专用硬件。而且在一些示例中,处理器1204可以具体化为专用x处理单元(xPU),也称为数据处理单元(DPU)、基础设施处理单元(IPU)或网络处理单元(NPU)。此类xPU可被具体化为独立电路或电路封装,集成在SOC内,或者与联网电路***(例如,在智能NIC中)、加速电路***、存储设备或AI硬件(例如,GPU或编程的FPGA)集成。在CPU或通用处理硬件之外,此类xPU可被设计成用于接收编程以处理一个或多个数据流并执行针对数据流的特定任务和动作(诸如主控微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格、或者收集和分发遥测数据)。然而,将理解,xPU、SOC、CPU和处理器1204的其他变体可以彼此协调工作以在计算节点1200内并代表计算节点1200执行许多类型的操作和指令。
存储器1206可被具体化为能够执行本文中所描述的功能的任何类型的易失性存储器(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要功率来维持由该介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器(RAM),诸如DRAM或静态随机存取存储器(SRAM)。可以在存储器模块中使用的一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在示例中,存储器设备是块可寻址存储器设备,诸如基于NAND或NOR技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备(例如,3D XPointTM存储器)或其他字节可寻址的就地写入非易失性存储器设备。存储器设备可指代管芯本身和/或指代封装的存储器产品。在一些示例中,3D交叉点存储器(例如,3D XPointTM存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器1206的全部或部分可以被集成到处理器1204中。存储器1206可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
计算电路***1202经由I/O子***1208通信地耦合至计算节点1200的其他组件,该I/O子***1208可被具体化为用于促进与计算电路***1202(例如,与处理器1204和/或主存储器1206)以及计算电路***1202的其他组件的输入/输出操作的电路***和/或组件。例如,I/O子***1208可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子***。在一些示例中,I/O子***1208可以形成芯片上***(SoC)的部分,并可连同计算电路***1202的处理器1204、存储器1206、和其他组件中的一者或多者一起被并入到计算电路***1202中。
一个或多个说明性数据存储设备1210可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备1210可包括存储用于数据存储设备1210的数据以及固件代码的***分区。各个数据存储设备1210还可包括根据例如计算节点1200的类型来存储用于操作***的数据文件和可执行文件的一个或多个操作***分区。
通信电路***1212可被具体化为能够实现通过网络在计算电路***1202与其他计算设备(例如,边缘计算***的边缘网关)之间进行的通信的任何通信电路、设备或其集合。通信电路***1212可以被配置成用于使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3GPP 4G或5G标准)、无线局域网协议(诸如IEEE802.11/)、无线广域网协议,以太网、蓝牙低能量、IoT协议(诸如IEEE 802.15.4或)、低功率广域网(LPWAN)或低功率广域网(LPWA)协议等)来实施此类通信。
说明性通信电路***1212包括网络接口控制器(NIC)1220,其也可被称为主机结构接口(HFI)。NIC 1220可被具体化为一个或多个***式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点1200用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,NIC 1220可被具体化为包括一个或多个处理器的芯片上***(SoC)的部分,或NIC 1220可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC1220可包括本地处理器(未示出)和/或本地存储器(未示出),这两者均位于NIC 1220本地。在此类示例中,NIC 1220的本地处理器可以能够执行本文中描述的计算电路***1202的功能中的一个或多个功能。附加地或替代地,在此类示例中,NIC 1220的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集成到客户端计算节点的一个或多个组件中。
另外,在一些示例中,相应的计算节点1200可以包括一个或多个***设备1214。取决于计算节点1200的特定类型,此类***设备1214可包括在计算设备或服务器中发现的任何类型的***设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他***设备。在进一步的示例中,计算节点1200可以由边缘计算***中的相应的边缘计算节点(无论是客户端、网关还是聚合节点)来具体化,或者由类似形式的装置、计算机、子***、电路***或其他组件来具体化。
在更详细的示例中,图12B图示出示例边缘计算节点1250的框图,该边缘计算节点1250被构造成用于实现本文中所描述的技术(例如,操作、过程、方法和方法论)。该边缘计算节点1250提供在被实现为计算设备(例如,被实现为移动设备、基站、服务器、网关等)或被实现为该计算设备的部分时节点1200的相应组件的更靠近的视图。边缘计算节点1250可包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点1250可以包括可与边缘通信网络或此类网络的组合一起使用的任何设备或与可与边缘通信网络或此类网络的组合一起使用的任何设备耦合。这些组件可被实现为集成电路(IC)、IC的部分、分立电子器件,或适用于边缘计算节点1250中的其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其组合,或者被实现为以其他方式被并入在更大的***的机架内的组件。例如,边缘计算节点1250可以是例如服务器、个人计算机、工作站、自学***板)、个人数字助理(PDA)、因特网装置、DVD播放器、CD播放器、数字视频记录仪、蓝光播放器、游戏控制台、个人视频记录仪、机顶盒、头戴式耳机或其他可穿戴设备、物联网(IoT)设备或任何其他类型的计算设备。
边缘计算设备1250可包括处理器1252形式的处理电路***,该处理电路***可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知的处理元件。处理器1252可以是芯片上***(SoC)的部分,在该SoC中,处理器1252和其他组件形成为单个集成电路或单个封装,诸如,来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器1252可包括基于架构酷睿TM(CoreTM)的CPU处理器(诸如,夸克TM(QuarkTM)、凌动TM(AtomTM)、i3、i5、i7、i9或MCU类处理器)、或可从获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于的设计、许可自ARM控股有限公司的基于的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自公司的A5-A13处理器、来自技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。处理器1252和伴随的电路***可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括以有限的硬件配置或以包括少于图12B中所示的所有元件的配置来提供。
处理器1252可通过互连1256(例如,总线)来与***存储器1254通信。可使用任何数量的存储器设备来提供给定量的***存储器。作为示例,存储器1254可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在特定示例中,存储器组件可符合JEDEC颁布的标准,诸如,用于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)。
为了提供对信息(诸如数据、应用、操作***等)的持久性存储,存储1258还可经由互连1256而耦合至处理器1252。在示例中,存储1258可经由固态盘驱动器(SSDD)来实现。可用于存储1258的其他设备包括闪存卡(诸如安全数字(SD)卡、microSD卡、极限数字(XD)图片卡,等等)和通用串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者上述任一者或其他存储器的组合。
在低功率实现中,存储1258可以是与处理器1252相关联的管芯上存储器或寄存器。然而,在一些示例中,存储1258可使用微硬盘驱动器(HDD)来实现。此外,附加于或代替于所描述的技术,可将任何数量的新技术用于存储1258,这些新技术诸如,阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连1256进行通信。互连1256可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、***组件互连(PCI)、***组件互连扩展(PCIx)、PCI express(PCI快速,PCIe)或任何数量的其他技术。互连1256可以是例如在基于SoC的***中使用的专有总线。其他总线***可被包括,诸如集成电路间(I2C)接口、串行***设备接口(SPI)接口、点对点接口、以及功率总线,等等。
互连1256可将处理器1252耦合至收发机1266,以用于与连接的边缘设备1262通信。收发机1266可使用任何数量的频率和协议,诸如IEEE802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由特别兴趣小组定义的低能量(BLE)标准、或标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备1262的连接。例如,无限局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(WWAN)单元发生。
无线网络收发机1266(或多个收发机)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,边缘计算节点1250可使用基于蓝牙低能量(BLE)或另一低功率无线电的本地收发机与靠近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备1262可通过或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用的网格收发机。
可包括无线网络收发机1266(例如,无线电收发机),以经由局域网协议或广域网协议来与边缘云1290中的设备或服务通信。无线网络收发机1266可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的低功率广域(LPWA)收发机。边缘计算节点1250可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距广域网)在广域上通信。本文中所描述的技术不限于这些技术,而是可与实现长距离、低带宽通信(诸如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。进一步地,可使用其他通信技术,诸如在IEEE802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发机1266而提及的***之外,还可使用任何数量的其他无线电通信和协议。例如,收发机1266可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的网络。收发机1266可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信***)兼容的无线电。网络接口控制器(NIC)1268可被包括以提供到边缘云1290的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备1262)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 1268可被包括以实现到第二网络的连接,例如,第一NIC1268通过以太网提供到云的通信,并且第二NIC 1268通过另一类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的可适用通信类型的多样性,由设备使用的可适用通信电路***可以包括组件1264、1266、1268或1270中的任何一个或多个或由组件1264、1266、1268或1270中的任何一个或多个来具体化。因此,在各示例中,用于通信(例如,接收、传送等)的可适用装置可由此类通信电路***来具体化。
边缘计算节点1250可包括或可被耦合至加速电路***1264,该加速电路***1264可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、xPU/DPU/IPU/NPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路***来具体化。这些任务可以包括AI处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连1256可将处理器1252耦合至用于连接附加的设备或子***的传感器中枢或外部接口1270。设备可包括传感器1272,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位***(例如,GPS)传感器、压力传感器、气压传感器,等等。中枢或接口1270进一步可用于将边缘计算节点1250连接至致动器1274(诸如电源开关、阀致动器、可听见声音发生器、视觉警告设备等)。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于边缘计算节点1250内,或可连接至边缘计算节点1250。例如,可包括显示器或其他输出设备1284来显示信息,诸如传感器读数或致动器位置。可以包括输入设备1286(诸如触摸屏或小键盘)来接受输入。输出设备1284可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如,二进制状态指示器(例如,发光二极管(LED));多字符视觉输出;或更复杂的输出,诸如,显示屏(例如,液晶显示器(LCD)屏),其具有从边缘计算节点1250的操作生成或产生的字符、图形、多媒体对象等的输出。在本***的上下文中,显示器或控制台硬件可用于:提供边缘计算***的输出并接收边缘计算***的输入;管理边缘计算***的组件或服务;标识边缘计算组件或服务的状态;或进行任何其他数量的管理或管理功能或服务用例。
电池1276可为边缘计算节点1250供电,但是在其中边缘计算节点1250被安装在固定位置的示例中,该边缘计算节点1250可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池1276可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监视器/充电器1278可被包括在边缘计算节点1250中以跟踪电池1276(如果包括)的充电状态(SoCh)。电池监视器/充电器1278可用于监视电池1276的其他参数以提供故障预测,诸如电池1276的健康状态(SoH)和功能状态(SoF)。电池监视器/充电器1278可包括电池监视集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监视器/充电器1278可通过互连1256将关于电池1276的信息传输至处理器1252。电池监视器/充电器1278也可包括使处理器1252能够直接监视电池1276的电压或来自电池1276的电流的模数(ADC)转换器。电池参数可被用于确定边缘计算节点1250可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块1280或耦合至电网的其他电源可与电池监视器/充电器1278耦合以对电池1276充电。在一些示例中,功率块1280可用无线功率接收机代替,以便例如通过边缘计算节点1250中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监视器/充电器1278中。可以基于电池1276的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储1258可包括用于实现本文中所描述的技术的软件、固件或硬件命令形式的指令1282。虽然此类指令1282被示出为被包括在存储器1254和存储1258中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路来代替代码块中的任一个。
在示例中,经由存储器1254、存储1258或处理器1252提供的指令1282可被具体化为非瞬态机器可读介质1260,该非瞬态机器可读介质1260包括用于指示处理器1252执行边缘计算节点1250中的电子操作的代码。处理器1252可通过互连1256来访问非瞬态机器可读介质1260。例如,非瞬态机器可读介质1260可由针对存储1258所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机器可读介质1260可包括用于指示处理器1252执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文中所使用,术语“机器可读介质”和“计算机可读介质”是可互换的。
而且,在特定示例中,处理器1252上的指令1282(单独地或与机器可读介质1260的指令1282结合)可以配置受信任执行环境(TEE)1290的执行或操作。在示例中,TEE 1290作为处理器1252可访问的受保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用 软件防护扩展(SGX)或硬件安全扩展、管理引擎(ME)或融合安全可管理性引擎(CSME)来提供TEE 1290的各种实现方式以及处理器1252或存储器1254中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过TEE 1290和处理器1252在设备1250中实现。
在进一步的示例中,机器可读介质也包括任何有形介质,该有形介质能够存储、编码或携载供由机器执行并且使机器执行本公开的方法中的任何一种或多种方法的指令,或者该有形介质能够储存、编码或携载由此类指令利用或与此类指令相关联的数据结构。“机器可读介质”因此可包括但不限于固态存储器、光学介质和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备);诸如内部硬盘及可移除盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。可使用传输介质,经由网络接口设备,利用数个传输协议中的任何一种协议(例如,超文本传输协议(HTTP)),进一步通过通信网络来传送或接收由机器可读介质具体化的指令。
机器可读介质可以由能够以非瞬态格式主控数据的存储设备或其他装置提供。在示例中,存储在机器可读介质上或以其他方式提供在机器可读介质上的信息可以表示指令,诸如指令本身或者可以从中导出指令的格式。可以从中导出指令的该格式可以包括源代码、经编码的指令(例如,以压缩或加密的形式)、经封装的指令(例如,分成多个封装)等。表示机器可读介质中的指令的信息可以通过处理电路***处理成指令以实现本文中讨论的操作中的任何操作。例如,从该信息导出指令(例如,由处理电路***进行的处理)可以包括:(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地进行链接)、编码、解码、加密、解密、打包、拆包,或者以其他方式将信息操纵到指令中。
在示例中,指令的导出可以包括(例如,通过处理电路***)对信息进行汇编、编译、或解释,以从由机器可读介质提供的某个中间或预处理的格式创建指令。信息当在多个部分中被提供时可以被组合、拆包和修改以创建指令。例如,信息可以处于一个或若干远程服务器上的多个经压缩的源代码封装(或目标代码、或二进制可执行代码等)中。源代码封装可以在通过网络传输时被加密,并且可以在本地机器处被解密、被解压缩、(如果必要的话)被汇编(例如,被链接),并且被编译或被解释(例如被编译或被解释成库、独立的可执行文件等),并且由本地机器执行。
图13是被构造用于执行图10和图11的指令以实现图9的编排器协调器900的示例处理器平台1300的框图。处理器平台1300可以是例如,服务器、个人计算机、工作站、自主学习机器(例如,神经网络)、或任何其他类型的计算设备。
所图示示例的处理器平台1300包括处理器1312。所图示示例的处理器1312是硬件。例如,处理器1312可以由来自任何所期望的系列或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器实现。硬件处理器可以是基于半导体的(例如,硅基)器件。在该示例中,处理器实现示例编排器分析器904、示例通信接口906、示例编排管理器908、示例动机控制器910、示例执行监视器912、示例遥测分析器914、以及示例应用分析器916。
所图示示例的处理器1312包括本地存储器1313(例如,高速缓存)。所图示示例的处理器1312经由总线1318而与包括易失性存储器1314和非易失性存储器1316的主存储器进行通信。易失性存储器1314可由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、动态随机存取存储器和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1316可由闪存和/或任何其他所期望类型的存储器设备实现。由存储器控制器控制对主存储器1314、1316的访问。
所图示示例的处理器平台1300还包括接口电路1320。接口电路1320可由任何类型的接口标准实现,诸如以太网接口、通用串行总线(USB)、接口、近场通信(NFC)接口和/或PCI express(PCI快速)接口。
在所图示的示例中,一个或多个输入设备1322被连接至接口电路1320。(多个)输入设备1322准许用户将数据和/或命令输入到处理器1312中。(多个)输入设备可以由例如音频传感器、话筒、(静止的或视频)相机、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、等点鼠标和/或语音识别***实现。
一个或多个输出设备1324也被连接至所图示示例的接口电路1320。输出设备1324可例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器(LCD)、阴极射线管显示器(CRT)、面内切换(IPS)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。因此,所图示示例的接口电路1320典型地包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。
所图示示例的接口电路1320还包括诸如发射机、接收机、收发机、调制解调器、住宅网关、无线接入点、和/或网络接口之类的通信设备,以促进经由网络1326与外部机器(例如,任何种类的计算设备)交换数据。通信可以经由例如以太网连接、数字订户线路(DSL)连接、电话线连接、同轴电缆***、卫星***、直线对传式无线***、蜂窝电话***等。
所图示示例的处理器平台1300还包括用于存储软件和/或数据的一个或多个大容量存储设备1328。此类大容量存储设备1328的示例包括软盘驱动器、硬驱动器盘、紧凑盘驱动器、蓝光盘驱动器、独立磁盘冗余阵列(RAID)***、以及数字多功能盘(DVD)驱动器。
图10和图11的示例机器可执行指令1332可被存储在大容量存储设备1328中、易失性存储器1314中、非易失性存储器1316中、和/或诸如CD或DVD之类的可移除的非瞬态计算机可读存储介质上。
从前文将会领会,已经公开了使得边缘的***能够有效地在边缘之间协调工作负荷以更好地满足由SLA(例如,端对端SLA)所陈述的要求的示例方法、装置和制品。所公开的方法、装置和制品通过更高效地处理工作负荷来改善使用计算设备的效率,并且在一些情况下,减少整体计算和/或处理时间。所公开的方法、装置和制品相对应地涉及计算机功能的一个或多个改善。
示例1包括用于控制对与边缘相关联的数据的处理的装置。该装置包括编排器分析器,该编排器分析器用于确定应用的第一微服务的第一性能要求和该应用的第二微服务的第二性能要求。该装置还包括编排器控制器,该编排器控制器用于通过以下操作跨源网络与目的地网络之间的第一边缘节点和第二边缘节点分派第一微服务和第二微服务:基于第一边缘节点的第一能力满足第一微服务的第一性能要求而将第一微服务分派至第一边缘节点,以及基于第二边缘节点的第二能力满足第二微服务的第二性能要求而将第二微服务分派至第二边缘节点。
示例2包括如示例1所述的装置,其中,第一微服务或第二微服务中的至少一者基于第一边缘节点或第二边缘节点中的至少一者传送与其能用性有关的信息而被分派。
示例3包括如示例1或2中任一项所述的装置,其中,应用的舱用于接收与能用性有关的信息。
示例4包括如示例1至3中任一项所述的装置,其中,编排器控制器用于定义与被分派的边缘节点相关联的服务质量(QoS)设置。
示例5包括如示例1至4中任一项所述的装置,进一步包括应用分析器,该应用分析器用于对应用进行查询并确定第一性能要求和第二性能要求。
示例6包括如示例5所述的装置,其中,应用分析器用于确定与应用相对应的应用指纹。
示例7包括如示例1至6中任一项所述的装置,进一步包括动机控制器,该动机控制器用于基于第一性能要求或第二性能要求中的至少一者将动机提供至第一边缘节点或第二边缘节点中的至少一者。
示例8包括如示例1至7中任一项所述的装置,进一步包括执行监视器,该执行监视器用于监视第一微服务和第二微服务的执行,执行期间的瓶颈的指示用于使得编排器控制器将第一微服务或第二微服务中的至少一者转移至另一边缘节点。
示例9包括如示例1至8中任一项所述的装置,其中,第一微服务和第二微服务被分派至第一边缘节点和第二边缘节点中相应的边缘节点以满足SLA(服务水平协议)。
示例10包括如示例1至9中任一项所述的装置,其中,第一边缘节点或第二边缘节点的至少一个编排器包括编排器控制器。
示例11包括用于跨源网络与目的地网络之间的第一边缘节点和第二边缘节点分配应用的第一微服务和第二微服务的方法。该方法用于通过至少一个处理器执行至少一条指令来执行以进行以下操作:确定第一微服务的第一性能要求,以及确定第二微服务的第二性能要求。至少一个处理器进一步用于利用至少一个处理器的指令以:基于第一边缘节点的第一能力满足第一微服务的第一性能要求而将第一微服务分派至第一边缘节点,以及基于第二边缘节点的第二能力满足第二微服务的第二性能要求而将第二微服务分派至第二边缘节点。
示例12包括如示例11所述的方法,其中,第一微服务或第二微服务中的至少一者基于第一边缘节点或第二边缘节点中的至少一者传送与其能用性有关的信息而被分派。
示例13包括如示例12所述的方法,其中,进一步使得至少一个处理器将与能用性有关的信息转发至应用的舱。
示例14包括如示例11至13中任一项所述的方法,其中,进一步使得至少一个处理器:定义与第一边缘节点相关联的第一服务质量(QoS)设置,以及定义与第二边缘节点相关联的第二QoS设置。
示例15包括如示例11至14中任一项所述的方法,其中,进一步使得至少一个处理器对应用进行查询,以确定应用遥测数据。
示例16包括如示例15所述的方法,其中,应用遥测数据是基于应用指纹来确定的。
示例17包括如示例11至16中任一项所述的方法,其中,进一步使得至少一个处理器基于第一性能要求或第二性能要求中的至少一者将动机提供至第一边缘节点或第二边缘节点中的至少一者。
示例18包括如示例11至17中任一项所述的方法,其中,进一步使得至少一个处理器:监视应用的微服务的执行;以及响应于执行期间瓶颈的指示,将第一微服务或第二微服务中的至少一者转移至另一边缘节点。
示例19包括如示例11至18中任一项所述的方法,其中,进一步使得至少一个处理器将对第一边缘节点的分派和对第二边缘节点的分派转发至第一边缘节点或第二边缘节点的至少一个编排器。
示例20包括一种非瞬态机器可读介质,包括指令,这些指令在被执行时使得处理器至少:确定应用的第一微服务的第一性能要求;确定该应用的第二微服务的第二性能要求;基于源网络与目的地网络之间的第一边缘节点的第一能力满足第一微服务的第一性能要求而将第一微服务分派至第一边缘节点,以及基于源网络与目的地网络之间的第二边缘节点的第二能力满足第二微服务的第二性能要求而将第二微服务分派至第二边缘节点。
示例21包括如示例20所述的非瞬态机器可读介质,其中,第一微服务或第二微服务中的至少一者基于第一边缘节点或第二边缘节点中的至少一者传送与其能用性有关的信息而被分派。
示例22包括如示例21所述的非瞬态机器可读介质,其中,指令用于进一步使得至少一个处理器将与能用性有关的信息转发至应用的舱。
示例23包括如示例20至22中任一项所述的非瞬态机器可读介质,其中,进一步使得处理器:设置与第一边缘节点相关联的第一服务质量(QoS)设置,以及设置与第二边缘节点相关联的第二QoS设置。
示例24包括如示例20至23中任一项所述的非瞬态机器可读介质,其中,指令用于进一步使得至少一个处理器对应用进行查询以确定应用遥测数据。
示例25包括如示例24所述的非瞬态机器可读介质,其中,指令用于进一步使得至少一个处理器基于应用指纹来确定应用遥测数据。
示例26包括如示例20至25中任一项所述的非瞬态机器可读介质,其中,指令用于进一步使得至少一个处理器:监视第一微服务和第二微服务的执行;以及响应于执行期间瓶颈的指示,将第一微服务或第二微服务中的至少一者转移至另一边缘节点。
示例27包括如示例20至26中任一项所述的非瞬态机器可读介质,其中,指令用于进一步使得至少一个处理器将对第一边缘节点的分派和对第二边缘节点的分派转发至第一边缘节点或第二边缘节点中的至少一者的至少一个编排器。
示例28包括一种设备,该设备包括:用于分别确定应用的第一微服务的第一性能要求和第二微服务的第二性能要求的装置;以及用于跨源网络与目的地网络之间的第一边缘节点和第二边缘节点分派第一微服务和第二微服务的装置。
示例29包括如示例28所述的设备,进一步包括用于传送第一边缘节点或第二边缘节点中的至少一者的能用性的装置。
示例30包括如示例28或29中任一项所述的设备,进一步包括用于将动机提供至第一边缘节点或第二边缘节点中的至少一者的装置。
示例31包括如示例28至30中任一项所述的设备,进一步包括用于监视第一微服务和第二微服务的执行的装置。
尽管本文已公开了某些示例方法、装置和制品,但本专利覆盖的范围并不限于此。相反,本专利覆盖公平落入本专利权利要求范围内的全部方法、装置和制品。
Claims (31)
1.一种用于控制对与边缘相关联的数据的处理的装置,所述装置包括:
编排器分析器,所述编排器分析器用于确定应用的第一微服务的第一性能要求和所述应用的第二微服务的第二性能要求;以及
编排器控制器,所述编排器控制器用于通过以下操作跨源网络与目的地网络之间的第一边缘节点和第二边缘节点分派所述第一微服务和所述第二微服务:
基于所述第一边缘节点的第一能力满足所述第一微服务的所述第一性能要求而将所述第一微服务分派至所述第一边缘节点,以及
基于所述第二边缘节点的第二能力满足所述第二微服务的所述第二性能要求而将所述第二微服务分派至所述第二边缘节点。
2.如权利要求1所述的装置,其中,所述第一微服务或所述第二微服务中的至少一者基于所述第一边缘节点或所述第二边缘节点中的至少一者传送与所述第一边缘节点或所述第二边缘节点中的至少一者的能用性有关的信息而被分派。
3.如权利要求2所述的装置,其中,所述应用的舱用于接收与所述能用性有关的所述信息。
4.如权利要求1至3中任一项所述的装置,其中,所述编排器控制器用于定义与被分派的边缘节点相关联的服务质量QoS设置。
5.如权利要求1至4中任一项所述的装置,进一步包括应用分析器,所述应用分析器用于对所述应用进行查询并确定所述第一性能要求和所述第二性能要求。
6.如权利要求5所述的装置,其中,所述应用分析器用于确定与所述应用相对应的应用指纹,其中,所述第一性能要求和所述第二性能要求基于所述应用指纹。
7.如权利要求1至6中任一项所述的装置,进一步包括动机控制器,所述动机控制器用于基于所述第一性能要求或所述第二性能要求中的至少一者将动机提供至所述第一边缘节点或所述第二边缘节点中的至少一者。
8.如权利要求1至7中任一项所述的装置,进一步包括执行监视器,所述执行监视器用于监视所述第一微服务和所述第二微服务的执行,所述执行期间的瓶颈的指示用于使得所述编排器控制器将所述第一微服务或所述第二微服务中的至少一者转移至另一边缘节点。
9.如权利要求1至8中任一项所述的装置,其中,所述第一微服务和所述第二微服务被分派至所述第一边缘节点和所述第二边缘节点中相应的边缘节点以满足服务水平协议SLA。
10.如权利要求1至9中任一项所述的装置,其中,所述第一边缘节点或所述第二边缘节点的至少一个编排器包括所述编排器控制器。
11.一种用于跨源网络与目的地网络之间的第一边缘节点和第二边缘节点分配应用的第一微服务和第二微服务的方法,所述方法用于通过至少一个处理器执行至少一条指令来执行以进行以下操作:
确定所述第一微服务的第一性能要求;
确定所述第二微服务的第二性能要求;
基于所述第一边缘节点的第一能力满足所述第一微服务的所述第一性能要求而将所述第一微服务分派至所述第一边缘节点;以及
基于所述第二边缘节点的第二能力满足所述第二微服务的所述第二性能要求而将所述第二微服务分派至所述第二边缘节点。
12.如权利要求11所述的方法,其中,所述第一微服务或所述第二微服务中的至少一者基于所述第一边缘节点或所述第二边缘节点中的至少一者传送与所述第一边缘节点或所述第二边缘节点中的至少一者的能用性有关的信息而被分派。
13.如权利要求12所述的方法,其中,进一步使得所述至少一个处理器将与所述能用性有关的所述信息转发至所述应用的舱。
14.如权利要求11至13中任一项所述的方法,其中,进一步使得所述至少一个处理器:
定义与所述第一边缘节点相关联的第一服务质量QoS设置;以及
定义与所述第二边缘节点相关联的第二QoS设置。
15.如权利要求11至14中任一项所述的方法,其中,使得所述至少一个处理器对所述应用进行查询,以确定应用遥测数据。
16.如权利要求15所述的方法,其中,所述应用遥测数据基于应用指纹而被确定。
17.如权利要求11至16中任一项所述的方法,其中,进一步使得所述至少一个处理器基于所述第一性能要求或所述第二性能要求中的至少一者将动机提供至所述第一边缘节点或所述第二边缘节点中的至少一者。
18.如权利要求11至17中任一项所述的方法,其中,进一步使得所述至少一个处理器:
监视所述应用的微服务的执行;以及
响应于所述执行期间瓶颈的指示,将所述第一微服务或所述第二微服务中的至少一者转移至另一边缘节点。
19.如权利要求11至18中任一项所述的方法,其中,进一步使得所述处理器将对所述第一边缘节点的分派和对所述第二边缘节点的分派转发至所述第一边缘节点或所述第二边缘节点中的至少一者的至少一个编排器。
20.一种机器可读介质,包括指令,所述指令在被执行时使得至少一个处理器至少:
确定应用的第一微服务的第一性能要求;
确定所述应用的第二微服务的第二性能要求;
基于源网络与目的地网络之间的第一边缘节点的第一能力满足所述第一微服务的所述第一性能要求而将所述第一微服务分派至所述第一边缘节点,以及
基于所述源网络与所述目的地网络之间的第二边缘节点的第二能力满足所述第二微服务的所述第二性能要求而将所述第二微服务分派至所述第二边缘节点。
21.如权利要求20所述的机器可读介质,其中,所述第一微服务或所述第二微服务中的至少一者基于所述第一边缘节点或所述第二边缘节点中的至少一者传送与所述第一边缘节点或所述第二边缘节点中的至少一者的能用性有关的信息而被分派。
22.如权利要求21所述的机器可读介质,其中,所述指令用于进一步使得所述至少一个处理器将与所述能用性有关的所述信息转发至所述应用的舱。
23.如权利要求20至22中任一项所述的机器可读介质,其中,所述指令用于进一步使得所述至少一个处理器:
设置与所述第一边缘节点相关联的第一服务质量QoS设置;以及
设置与所述第二边缘节点相关联的第二QoS设置。
24.如权利要求20至23中任一项所述的机器可读介质,其中,所述指令用于进一步使得所述至少一个处理器对所述应用进行查询以确定应用遥测数据。
25.如权利要求24所述的机器可读介质,其中,所述指令用于进一步使得所述至少一个处理器基于应用指纹来确定所述应用遥测数据。
26.如权利要求20至25中任一项所述的机器可读介质,其中,所述指令用于进一步使得所述至少一个处理器:
监视所述第一微服务和所述第二微服务的执行;以及
响应于所述执行期间瓶颈的指示,将所述第一微服务或所述第二微服务中的至少一者转移至另一边缘节点。
27.如权利要求20至26中任一项所述的机器可读介质,其中,所述指令用于进一步使得所述至少一个处理器将对所述第一边缘节点的分派和对所述第二边缘节点的分派转发至所述第一边缘节点或所述第二边缘节点中的至少一者的至少一个编排器。
28.一种设备,包括:
用于分别确定应用的第一微服务的第一性能要求和第二微服务的第二性能要求的装置;以及
用于跨源网络与目的地网络之间的第一边缘节点和第二边缘节点分派所述第一微服务和所述第二微服务的装置。
29.如权利要求28所述的设备,进一步包括用于传送所述第一边缘节点或所述第二边缘节点中的至少一者的能用性的装置。
30.如权利要求28或29中任一项所述的设备,进一步包括用于将动机提供至所述第一边缘节点或所述第二边缘节点中的至少一者的装置。
31.如权利要求28至30中任一项所述的设备,进一步包括用于监视所述第一微服务和所述第二微服务的执行的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/032,993 US20210014133A1 (en) | 2020-09-25 | 2020-09-25 | Methods and apparatus to coordinate edge platforms |
US17/032,993 | 2020-09-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253706A true CN114253706A (zh) | 2022-03-29 |
Family
ID=74103302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111031819.0A Pending CN114253706A (zh) | 2020-09-25 | 2021-09-03 | 用于协调边缘平台的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210014133A1 (zh) |
CN (1) | CN114253706A (zh) |
DE (1) | DE102021209145A1 (zh) |
NL (1) | NL2029029B1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10986036B1 (en) * | 2019-11-01 | 2021-04-20 | Hon Lin Technology Co., Ltd. | Method and apparatus for orchestrating resources in multi-access edge computing (MEC) network |
US11757982B2 (en) | 2020-08-05 | 2023-09-12 | Avesha, Inc. | Performing load balancing self adjustment within an application environment |
US20210014114A1 (en) * | 2020-09-25 | 2021-01-14 | Intel Corporation | Methods, apparatus, and articles of manufacture for workload placement in an edge environment |
US11729279B2 (en) * | 2021-01-11 | 2023-08-15 | Dell Products, L.P. | System and method for remote assisted optimization of native services |
US11496601B2 (en) * | 2021-01-13 | 2022-11-08 | Dell Products, L.P. | Client driven cloud network access system and method |
US11722867B2 (en) * | 2021-01-14 | 2023-08-08 | Verizon Patent And Licensing Inc. | Systems and methods to determine mobile edge deployment of microservices |
CN114845344A (zh) * | 2021-02-01 | 2022-08-02 | 华为云计算技术有限公司 | 一种多接入边缘计算网络、流量处理方法及相关设备 |
CA3145950A1 (en) * | 2021-02-02 | 2022-08-02 | The Boeing Company | Onboard analytics system and methods of use |
US20220291953A1 (en) * | 2021-03-12 | 2022-09-15 | International Business Machines Corporation | Dynamically validating hosts using ai before scheduling a workload in a hybrid cloud environment |
US11336536B1 (en) * | 2021-03-31 | 2022-05-17 | Landis+Gyr Innovations, Inc. | Dynamic processing distribution for utility communication networks |
CN114679380B (zh) * | 2021-04-09 | 2024-04-26 | 腾讯云计算(北京)有限责任公司 | 边缘集群的创建方法和相关装置 |
US20220350675A1 (en) * | 2021-05-03 | 2022-11-03 | Avesha, Inc. | Distributed computing system with multi tenancy based on application slices |
US11689505B2 (en) * | 2021-06-28 | 2023-06-27 | Cisco Technology, Inc. | Dynamic proxy response from application container |
US11770305B2 (en) | 2021-08-09 | 2023-09-26 | International Business Machines Corporation | Distributed machine learning in edge computing |
CN113873434B (zh) * | 2021-08-27 | 2022-07-26 | 北京邮电大学 | 面向通信网络热点区域容量增强的多空中基站部署方法 |
US20230093868A1 (en) * | 2021-09-22 | 2023-03-30 | Ridgeline, Inc. | Mechanism for real-time identity resolution in a distributed system |
WO2023057794A1 (en) * | 2021-10-06 | 2023-04-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for aligning quality of service in mobile network and edge cloud |
US11921605B2 (en) * | 2021-10-21 | 2024-03-05 | Hewlett Packard Enterprise Development Lp | Managing applications in a cluster |
US20220124005A1 (en) * | 2021-11-16 | 2022-04-21 | Kshitij Arun Doshi | Systems and methods for reactive intent-driven end-to-end orchestration |
US11755375B2 (en) * | 2021-11-29 | 2023-09-12 | Red Hat, Inc. | Aggregating host machines into a single cloud node for workloads requiring excessive resources |
CN114884880B (zh) * | 2022-04-06 | 2024-03-08 | 阿里巴巴(中国)有限公司 | 数据传输方法以及*** |
WO2024004177A1 (ja) * | 2022-06-30 | 2024-01-04 | 楽天モバイル株式会社 | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 |
WO2024004179A1 (ja) * | 2022-06-30 | 2024-01-04 | 楽天モバイル株式会社 | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 |
WO2024004178A1 (ja) * | 2022-06-30 | 2024-01-04 | 楽天モバイル株式会社 | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 |
WO2024009367A1 (ja) * | 2022-07-04 | 2024-01-11 | 日本電信電話株式会社 | デバイス割当制御装置、デバイス割当制御方法及びプログラム |
US11886864B1 (en) * | 2022-07-18 | 2024-01-30 | International Business Machines Corporation | Enhanced edge application deployment and processing in a network |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10332142B2 (en) * | 2013-03-14 | 2019-06-25 | Datascape, Inc. | System and method for incentivizing wireless device users to interact with sponsor offers and advertising |
WO2018005297A1 (en) * | 2016-06-30 | 2018-01-04 | Intel Corporation | Technologies for implementing consolidated device infrastructure systems |
US10084868B2 (en) * | 2016-09-03 | 2018-09-25 | Microsoft Technology Licensing, Llc | IoT gateway for weakly connected settings |
US10212289B2 (en) * | 2017-04-27 | 2019-02-19 | At&T Intellectual Property I, L.P. | Method and apparatus for managing resources in a software defined network |
US10560940B2 (en) * | 2017-11-10 | 2020-02-11 | Nokia Solutions And Networks Oy | Intelligent traffic steering over optimal paths using multiple access technologies |
US11611491B2 (en) * | 2018-04-12 | 2023-03-21 | Intel Corporation | Edge computing service global validation |
US11093871B2 (en) * | 2018-04-16 | 2021-08-17 | International Business Machines Corporation | Facilitating micro-task performance during down-time |
US11550606B2 (en) * | 2018-09-13 | 2023-01-10 | Intel Corporation | Technologies for deploying virtual machines in a virtual network function infrastructure |
US11108849B2 (en) * | 2018-12-03 | 2021-08-31 | At&T Intellectual Property I, L.P. | Global internet of things (IOT) quality of service (QOS) realization through collaborative edge gateways |
US11711268B2 (en) * | 2019-04-30 | 2023-07-25 | Intel Corporation | Methods and apparatus to execute a workload in an edge environment |
US10856360B1 (en) * | 2019-05-23 | 2020-12-01 | Verizon Patent And Licensing Inc. | System and method for sharing multi-access edge computing resources in a wireless network |
US11146504B2 (en) * | 2019-06-03 | 2021-10-12 | EMC IP Holding Company LLC | Market-based distributed resource allocation for edge-cloud systems |
US20210135969A1 (en) * | 2019-11-06 | 2021-05-06 | Centurylink Intellectual Property Llc | Predictive resource allocation in an edge computing network utilizing beacons |
-
2020
- 2020-09-25 US US17/032,993 patent/US20210014133A1/en active Pending
-
2021
- 2021-08-19 DE DE102021209145.8A patent/DE102021209145A1/de active Pending
- 2021-08-24 NL NL2029029A patent/NL2029029B1/en active
- 2021-09-03 CN CN202111031819.0A patent/CN114253706A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210014133A1 (en) | 2021-01-14 |
NL2029029A (en) | 2022-05-24 |
NL2029029B1 (en) | 2022-06-28 |
DE102021209145A1 (de) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL2029029B1 (en) | Methods and apparatus to coordinate edge platforms | |
US20210014114A1 (en) | Methods, apparatus, and articles of manufacture for workload placement in an edge environment | |
EP3985511A1 (en) | Orchestration of meshes | |
US12041177B2 (en) | Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager | |
CN115373795A (zh) | 基于地理围栏的边缘服务控制和认证 | |
CN114365452A (zh) | 用于在边缘计算环境中证明对象的方法和装置 | |
US20210014303A1 (en) | Methods and apparatus to manage quality of service with respect to service level agreements in a computing device | |
EP4109257A1 (en) | Methods and apparatus to facilitate service proxying | |
CN114679449A (zh) | 中立主机边缘服务 | |
CN114253657A (zh) | 使用分布式账本的编排器执行计划 | |
US20220150125A1 (en) | AI Named Function Infrastructure and Methods | |
US20210021484A1 (en) | Methods and apparatus to schedule workloads based on secure edge to device telemetry | |
CN114338660A (zh) | 用于边缘环境中数据生命周期管理的设备、***、制品和方法 | |
US20210014301A1 (en) | Methods and apparatus to select a location of execution of a computation | |
US20220116478A1 (en) | Microservice latency reduction | |
US20220138156A1 (en) | Method and apparatus providing a tiered elastic cloud storage to increase data resiliency | |
EP4109256A1 (en) | Model propagation in edge architectures | |
CN114253658A (zh) | 边缘计算的持续测试、集成和部署管理 | |
KR20220048927A (ko) | 에지 컴퓨팅 환경에서 컨테이너의 재사용을 위한 방법 및 장치 | |
US20220222584A1 (en) | Heterogeneous compute-based artificial intelligence model partitioning | |
CN114268428A (zh) | 用于管理对分散数据湖的访问的方法、***、设备和制品 | |
EP4203381A1 (en) | Methods and apparatus for attestation for a constellation of edge devices | |
US20240039860A1 (en) | Methods, systems, apparatus, and articles of manufacture to manage network communications in time sensitive networks | |
US20230344804A1 (en) | Methods and apparatus to increase privacy for follow-me services | |
EP4202669A1 (en) | Methods and apparatus for secure execution on smart network interface cards |
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 |