CN114338680A - 用于在计算设备中相对于服务水平协议来管理服务质量的方法和装置 - Google Patents
用于在计算设备中相对于服务水平协议来管理服务质量的方法和装置 Download PDFInfo
- Publication number
- CN114338680A CN114338680A CN202110981861.2A CN202110981861A CN114338680A CN 114338680 A CN114338680 A CN 114338680A CN 202110981861 A CN202110981861 A CN 202110981861A CN 114338680 A CN114338680 A CN 114338680A
- Authority
- CN
- China
- Prior art keywords
- platform
- resource
- resources
- service
- edge
- 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
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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]
-
- 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
- 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/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
-
- 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/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- 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
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- 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/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- 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
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- 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/0894—Packet rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了用于在计算设备中相对于服务水平协议来管理服务质量的方法和装置。公开了在计算设备中相对于服务水平协议来管理服务质量的示例方法、装置和系统。示例装置包括:第一网格代理,该第一网格代理被分派给第一平台不可知应用,该第一网格代理用于基于来自第一平台不可知应用的第一服务水平协议要求来生成第一资源请求信号;第二网格代理,该第二网格代理被分派给第二平台不可知应用,该第二网格代理用于基于来自第二平台不可知应用的第二服务水平协议要求来生成第二资源请求信息;以及负载平衡器,该负载平衡器用于基于第一资源请求信号和第二资源请求信号来为第一平台不可知应用和第二平台不可知应用分配硬件资源。
Description
技术领域
本公开总体上涉及计算设备,并且更具体地涉及用于在计算设备中相对于服务水平协议来管理服务质量的方法和装置。
背景技术
当应用(例如,第三方软件)被安装在计算设备上时,计算设备的操作系统管理该计算设备的硬件资源来为应用提供服务。一些应用包括定义针对与该应用相关联的性能度量的要求的服务水平协议(SLA)或服务水平目标(SLO)。此类性能度量可对应于存储器/高速缓存带宽、中央处理单元(CPU)使用、抖动、等待时间、速度、分组丢失的数量/百分比、每秒钟要处理的帧数等。SLA和/或SLO要求向计算设备通知实现应用所需要的最低要求。
附图说明
图1图示出针对边缘计算的边缘云配置的概览。
图2图示出端点、边缘云和云计算环境之间的操作层。
图3图示出用于边缘计算系统中的联网和服务的示例环境的框图。
图4图示出在多个边缘节点和多个租户之间操作的边缘计算系统中的虚拟边缘配置的部署。
图5图示出在边缘计算系统中部署容器的各种计算布置。
图6图示出涉及对示例边缘计算系统中的应用的移动接入的示例计算和通信用例。
图7是与本文中所公开的示例结合描述的、用于管理服务质量的示例系统的框图。
图8是图7的示例计算设备的实现方式的框图。
图9是图7的示例计算设备的实现方式的另一框图。
图10A-图10C是图7的示例中介和示例计算设备的实现方式的框图。
图11是表示可以被执行以实现图8的网格代理的示例机器可读指令的流程图。
图12图示出表示可以被执行以实现图9的软QoS网格代理的示例机器可读指令的流程图。
图13图示出表示可以被执行以实现图10A的中介和经池化的QoS控制器的示例机器可读指令的流程图。
图14A是可以部署在图1-图4和/或图6-图10C中所图示的边缘计算系统中的一者中的示例计算节点的示例实现方式的框图。
图14B是被构造成用于执行图11-图13的指令以实现图8-图10C的网格代理、软QoS控制器和/或经池化的QoS控制器的示例处理器平台的框图。
图15是被构造成用于执行图13的指令以实现图10A的中介的示例处理器平台的框图。
这些图并未按比例绘制。一般来说,贯穿(多个)附图和所附书面说明书,相同的附图标记将用于指代相同或相似的部分。
当标识可被分别引用的多个要素或组件时,本文使用描述符“第一”、“第二”、“第三”等。除非基于它们的使用上下文另有规定或理解,否则此类描述符并非旨在赋予优先级或时间顺序的任何含义,而仅仅是为了易于理解所公开的示例而分别指代多个要素或组件的标签。在一些示例中,描述符“第一”可以用于指代详细描述中的要素,而在权利要求中可以使用诸如“第二”或“第三”之类的不同描述符来指代相同的要素。在此类情况下,应当理解,此类描述符仅用于易于引用多个要素或组件。
具体实施方式
对于网络边缘处理和/或虚拟机处理而言,灵活性和可容易地管理的机架级解决方案是符合期望的,其中多个边缘域共享资源池。例如,如果过程是存储器密集型的和/或处理器密集型的,则将过程划分为可由不同的计算设备执行的子过程来确保效率、速度和/或准确性可能是有利的。这些计算设备中的每一者可具有可与其他连接的设备共享的一组资源。如本文中所使用,经池化的资源是为特定租户/用户分配或留出资源的第一设备、单个边缘节点设备和/或第一虚拟机的资源(例如,存储器、CPU、GPU、加速器等)。经池化的资源可以与用于执行特定任务的另一设备共享和/或由该设备使用。以此种方式,应用可以利用多个计算设备和/或虚拟机的资源以快速且高效的方式执行任务。在一些示例中,应用包括执行任务的服务水平协议(SLA)要求和/或服务水平目标(SLO)要求。例如,来自应用的服务请求的(多个)SLA/SLO要求可以对应于带宽要求、等待时间要求、抖动要求、分组丢失数量/百分比、每秒处理的图像数量等。
一些基于云的开发简化了底层平台的、来自与该平台对接的应用的复杂性和细节。以此种方式,此类简化减少对必须知晓平台能力或基础设施服务的位置的一些解决方案的需要,由此提高解决方案的速度。然而,此类基于云的开发对尝试使用经池化的资源来执行任务的应用隐藏了计算设备的软件(例如,操作系统(OS))和/或虚拟机管理器(VMM)平台能力和/或硬件特性(例如,CPU、GPU、存储器等)中的一些或全部。由此,此类基于云的开发使得应用由于硬件和/或软件的特性可能被隐藏而难以在多个不同的计算设备和/或虚拟机之间对过程进行划分,由此使得由于软件和/或硬件特性被隐藏而难以和/或不可能确保与任务相对应的SLA/SLO要求被满足。
本文中所公开的示例通过促进与对计算设备的经池化的资源的SLA/SLO要求的顺应性来管理服务质量(QoS)功能。本文中所公开的示例包括中介,该中介用于从外部应用(例如,在另一计算设备、云/数据中心、基于边缘的服务器、中央数据库等中操作的应用)接收服务请求,并将该服务请求转发至被实现在包括经池化的资源的计算设备中的QoS控制器。QoS控制器通过资源调配技术(RDT)来实施。RDT包括高速缓存监视、高速缓存分配、存储器带宽监视、以及存储器带宽分配。另外,RDT可以与基于设备互连结构的网络设备中的设备互连结构(例如,外围组件互连快速(PCIe))交换机对接,以通过各种设备互连结构(例如,PCIe)连接的组件(例如,加速器、网络接口卡、存储等)来监视带宽。例如,交换机可支持总计64千兆比特/秒(Gb/s),并且如果该交换机连接至三个PCIe设备(例如,每个设备具有使用高达40Gb/s的能力),则RDT可用于根据针对相应的三个设备配置的各种最小带宽来定义和实施对使用这64Gb/s带宽的限制。PCIe和其他总线协议可包括与服务分配、分派、划拨和/或以其他方式池化资源以供特定的租户、用户、工作负荷等使用的能力有关的命令。通过监视命令的使用,本文中所公开的示例可以在任何时间监视用户/可用资源(例如,建立用户/可用资源的地图)。以此种方式,QoS控制器可以基于SLA/SLO要求来确定计算设备的经池化的资源是否能够对请求进行服务。例如,如果服务请求与特定的存储器带宽相对应,则QoS控制器可以确定计算设备是否能够实现该存储器带宽,并且随后基于该确定向中介提交响应。在中介从具有经池化的资源的所有连接的计算设备获得响应之后,该中介可以根据SLA/SLO要求来确定如何向这些计算设备分配过程以对请求进行服务。
另外,本文中所公开的示例利用计算设备内的一个或多个网格代理来降低为计算设备开发和/或传送至计算设备的应用的尺寸和复杂性。应用被开发为在计算设备中实现,以使得该计算设备根据应用中所包括的指令来执行一个或多个任务。然而,存在具有不同的硬件组件、不同的操作系统和/或不同的VMM的多种版本的计算设备。相应地,应用包括标识如何利用不同类型的计算设备进行操作和/或如何与不同类型的计算设备进行通信的服务水平协议(SLA)和/或服务水平目标(SLO)库。另外或替代地,应用可包括用于处置与不同计算设备类型的通信的SLA或SLO启动器和/或管理器。例如,SLO/SLA库/启动器/管理器可以将SLO/SLA转换为基于资源的属性并基于这些基于资源的属性来生成RDT控制信号(例如,资源请求信号)。如上文所描述,SLA/SLO标识在应用在由计算设备实现时的要求(例如,带宽要求、等待时间要求、抖动要求、分组丢失的数量等)。RDT控制信号与用于保留适量的存储器和/或处理器资源来满足SLA/SLO要求的指令对应。以此种方式,应用可以在利用资源在多种类型的计算设备上执行任务的同时实施SLA和/或SLO。然而,SLA库和/或SLA启动器/管理器需要大量的代码。相应地,即使在应用仅仅是几行代码时,将应用传送至设备也对应于大量的数据.
网格代理是被实现在容器(例如,边车(sidecar))中的组件,这些组件实现用于在同一或不同机器上的定位其他服务的目录查找所需要的共用功能集。网格代理作为到其他容器中的其他网格代理的通信桥来进行操作,并实现常见的基础设施服务,诸如传输、安全传输、到主机桥的连接、负载平衡、协议桥接等。网格代理被实现在计算设备中,并且与计算设备的操作系统进行通信。以此种方式,应用可以是平台不可知的(例如,不包括与该应用被实现在其中的设备/平台的特定的操作系统和/或特定的硬件资源相对应的代码)。由此,应用可以在设备上运行,并且保持对底层计算设备以及其他连接的计算设备的操作系统和/或硬件的不可知,因为网格代理作为应用与设备及其他设备的操作系统之间的桥来进行操作。
本文中所公开的示例利用网格代理来从应用中消除对SLA/SLO库、启动器和/或管理器的包括。因为网格代理被实现在计算设备中,因此当新的应用在计算设备中被实现时,计算设备向该新的应用分派网格代理,并且网格代理将高级SLA/SLO要求转换为用于RDT控制指令的基于资源的属性。以此种方式,应用不需要包括SLA库和/或启动器。由此,应用可以在任何类型的计算设备上运行,而无需包括对于不同的计算设备类型特定的代码(例如,SLA/SLO库、启动器和/或管理器)。相应地,经由网络传送的应用的尺寸在尺寸上减小,使得应用传输更加高效和快速并且代码开发的复杂性更低。
图1是示出用于边缘计算的配置的概览的框图100,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云110共同定位在边缘位置(诸如接入点或基站140、本地处理中枢150、或中央局120),并且因此可以包括多个实体、设备、和装备实例。与云数据中心130相比,边缘云110被定位成更靠近端点(消费者和生产者)数据源160(例如,自主车辆161、用户装备162、商业和工业装备163、视频捕捉设备164、无人机165、智慧城市和建筑设备166、传感器和IoT设备167等)。在边缘云110中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源160使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云110朝向云数据中心130的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
计算、存储器和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备处可用的处理资源比在基站处、在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(UE)),空间和功率通常就越受限。因此,边缘计算试图通过分配被定位成既在地理上更靠近又在网络访问时间上更靠近的更多的资源来减少网络服务所需的资源量。以此种方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据,或者,将工作负荷数据带到计算资源。
以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其自身基础设施中可能具有的限制。这些包括基于边缘位置的配置变化(例如,因为处于基站级别的边缘在多租户场景中可能具有更受限制的性能和能力);基于对边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。取决于等待时间、距离、和定时特征,这些部署可以在网络层中完成处理,这些网络层可以被视为“接近边缘”层、“靠近边缘”层、“本地边缘”层、“中间边缘”层、或“远边缘”层。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或与产生和消耗数据的端点设备靠近得多得多的其他设备处实现的计算平台(例如,x86或ARM计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监控)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,中央局网络管理硬件能以标准化计算硬件来代替,该标准化计算硬件执行虚拟化网络功能,并为服务的执行提供计算资源并且为连接的设备提供消费者功能。在边缘计算网络内,可能存在计算资源将被“移动”到数据的服务中的场景,以及其中数据将被“移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以便通过激活休眠容量(订阅、按需容量)来根据需要缩放至工作负荷需求,以便管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
图2图示出端点、边缘云和云计算环境之间的操作层。具体而言,图2描绘了在网络计算的多个说明性层之间利用边缘云110的计算用例205的示例。这些层开始于端点(设备和事物)层200,该端点层200访问边缘云110以进行数据创建、分析、和数据消费活动。边缘云110可以跨越多个网络层,诸如,边缘设备层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)等。在一些情况下,边缘设备是为特定目的而被呈现在网络中、但是可具有可用于其他目的的处理和/或其他能力的设备(例如,红绿灯)。此类边缘设备可以独立于其他联网设备,并且可设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务的其他计算任务仍然是可用的。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全性之类的本地问题的硬件和软件组件。结合图14B描述了用于实现装置计算设备的示例硬件。边缘云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图示出在边缘计算系统中部署容器的附加计算布置。作为简化示例,系统布置510、520描述了这样的设置:在其中舱控制器(例如,容器管理器511、521和容器编排器531)适于通过经由计算节点(布置510中的515)的执行来启动容器化舱、功能、和功能即服务实例,或适于通过经由计算节点(布置520中的523)的执行来单独地执行容器化虚拟化的网络功能。该布置适于在(使用计算节点537的)示例系统布置530中使用多个租户,其中容器化舱(例如,舱512)、功能(例如,功能513、VNF 522、VNF 536)、和功能即服务实例(例如,FaaS实例514)在专用于相应的租户的虚拟机(例如,用于租户532的VM 534、用于租户533的VM535)内被启动(除了执行虚拟化网络功能)。该布置进一步适于在系统布置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等处的其他部分)纵向地分布。另外,如前所述,可以存在任何级别上的对等关系以满足服务目标和义务。进一步地,用于特定客户端或应用的数据可以基于变化的条件(例如,基于加速资源可用性、跟随汽车移动等)从边缘移动到边缘。例如,基于访问的“衰减率”,可以进行预测,以标识要继续的下一个所有者、或者数据或计算访问何时将不再可行。可以利用这些服务和其他服务来完成保持事务合规且无损所需的工作。
在进一步的场景中,容器636(或容器的舱)可以从边缘节点620中的一个边缘节点灵活地迁移到其他边缘节点(例如,这些边缘节点620中的另一个边缘节点、(多个)边缘资源节点640中的一个边缘资源节点等),使得具有应用和工作负荷的容器不需要为了迁移到工作而被重组、重新编译、重新解释。但是,在此类设置中,可能存在所应用的一些补救或“混合”的转换操作。例如,(多个)边缘资源节点640处的物理硬件可能不同于边缘网关节点620处的硬件,并且因此,组成容器底部边缘的硬件抽象层(HAL)将被重新映射到目标边缘节点的物理层。这可能涉及某种形式的后期绑定技术,诸如HAL从容器原生格式到物理硬件格式的二进制转换,或者可能涉及映射接口和操作。舱控制器可用于驱动接口映射,作为容器生命周期的一部分,其包括迁移到不同的硬件环境/从不同的硬件环境迁移。
图6所涵盖的场景可利用各种类型的移动边缘节点(诸如在交通工具(汽车/卡车/电车/火车)或其他移动单元中主控的边缘节点),因为边缘节点将沿主控它的平台移动到其他地理位置。在交通工具对交通工具通信的情况下,各个交通工具甚至可以充当用于其他汽车的网络边缘节点(例如,以执行高速缓存、报告、数据聚合等)。因此,将理解,在各种边缘节点中提供的应用组件可以以静态或移动设置分布,包括在各个端点设备或边缘网关节点620处的一些功能或操作、在(多个)边缘资源节点640处的一些其他功能或操作、以及在核心数据中心650或全球网络云660中的其他功能或操作之间的协调。
在进一步的配置中,边缘计算系统可以通过使用相应的可执行应用和功能来实现FaaS计算能力。在示例中,开发者编写表示一个或多个计算机功能的功能代码(例如,本文中的“计算机代码”),并且该功能代码被上传到由例如边缘节点或数据中心提供的FaaS平台。触发器(诸如例如,服务用例或边缘处理事件)利用FaaS平台发起对功能代码的执行。
在FaaS的示例中,容器用于提供在其中执行功能代码(例如,可能由第三方提供的应用)的环境。容器可以是任何隔离执行的实体,诸如进程、Docker容器或Kubernetes容器、虚拟机等。在边缘计算系统内,各种数据中心、边缘、和端点(包括移动)设备被用于按需缩放的“旋转加速(spin up)”功能(例如,激活和/或分配功能动作)。功能代码在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上得到执行。最后,容器响应于执行被完成而在基础设施上被“旋转减速(spin down)”(例如,去激活和/或解除分配)。
FaaS的进一步的方面可以启用边缘功能以服务方式的部署,包括对支持边缘计算即服务(边缘即服务或“EaaS”)的相应功能的支持。FaaS的附加特征可包括:使客户(例如,计算机代码开发者)仅在其代码被执行时进行支付的细粒度计费组件;用于存储数据以供一个或多个功能重新使用的共用数据存储;各个功能之间的编排和管理;功能执行管理、并行性和合并;容器和功能存储器空间的管理;功能可用的加速资源的协调;以及功能在容器(包括已经部署或操作的“暖”容器,其相对于需要初始化、部署、或配置的“冷”容器)之间的分布。
边缘计算系统600可以包括边缘供应节点644或与边缘供应节点644通信。边缘供应节点644可以将诸如图14B的示例计算机可读指令1482之类的软件分发到各个接收方,以用于实现本文中所描述的方法中的任何方法。示例边缘供应节点644可以由任何计算机服务器、家庭服务器、内容交付网络、虚拟服务器、软件分发系统、中央设施、存储设备、存储节点、数据设施、云服务等实现,上述各者能够存储软件指令和/或向其他计算设备传输软件指令(例如,代码、脚本、可执行二进制文件、容器、包、压缩文件和/或其衍生物)。
示例边缘供应节点644的(多个)组件可以位于云中、局域网中、边缘网络中、广域网中、因特网上和/或与(多个)接收方通信耦合的任何其他位置。接收方可以是拥有和/或操作边缘供应节点644的实体的客户、客户端、合作方、用户等。例如,拥有和/或操作边缘供应节点644的实体可以是软件指令(诸如图14B的示例计算机可读指令1482)的开发者、销售方和/或许可方(或其客户和/或消费者)。接收方可以是购买和/或许可软件指令以用于使用和/或转售和/或分许可的消费者、服务提供商、用户、零售商、OEM等。
在示例中,边缘供应节点644包括一个或多个服务器以及一个或多个存储设备。如下文所描述,存储设备主控计算机可读指令,诸如图14B的示例计算机可读指令1482。类似于上文所描述的边缘网关设备620,边缘供应节点644的一个或多个服务器与基站642或其他网络通信实体进行通信。在一些示例中,作为商业事务的部分,一个或多个服务器对将软件指令传送到请求方的请求进行响应。可以由软件分销平台的一个或多个服务器和/或经由第三方支付实体来处置针对软件指令的交付、销售、和/或许可的支付。服务器使购买方和/或许可方能够从边缘供应节点644下载计算机可读指令1482。例如,软件指令(其可与图14B的示例计算机可读指令1482相对应)可被下载到(多个)示例处理器平台,该(多个)示例处理器平台用于执行计算机可读指令1482以实现本文所描述的方法。
在一些示例中,执行计算机可读指令1482的(多个)处理器平台可以物理地位于不同的地理位置、法律管辖区等。在一些示例中,边缘供应节点644的一个或多个服务器周期性地提供、传送和/或强制更新软件指令(例如,图14B的示例计算机可读指令1482),以确保改善、补丁、更新等被分发并应用于在终端用户设备处实现的软件指令。在一些示例中,计算机可读指令1482的不同组件可以分发自不同的源和/或不同的处理器平台;例如,无论是经编译的还是经解释的,不同的库、插件、组件和其他类型的计算模块都可以分发自不同的源和/或向不同的处理器平台分发。例如,软件指令的一部分(例如,本身不可执行的脚本)可以分发自第一源,而(能够执行脚本的)解释器可以分发自第二源。
在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节点或设备中的任一者可以基于图14A和图14B中所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“物”的类型。例如,边缘计算设备可以被具体化为个人计算机,服务器,智能手机,移动计算设备,智能装置,车载计算系统(例如,导航系统),具有外箱、外壳的自包含设备等,或能够执行所描述的功能的其他设备或系统。
图7是根据本文中所公开的示例的促进管理服务质量的示例环境700的框图。示例环境700包括图1、图2、图3和/或图6的示例边缘云110,并且包括示例云/数据中心701、示例网络702、示例域703、示例中介704、以及示例计算设备706、708。虽然图7的示例对应于基于云的网络,但本文中所公开的示例可以应用于任何类型的计算环境(例如,虚拟机、服务器机架等)。在一些示例中,云/数据中心701对应于图3的云/数据中心360和/或图4的云/数据中心440和/或图6的全球网络云660。另外,示例计算设备706、708可对应于图4的示例边缘节点422、424和/或图6的示例边缘节点620、644。
图7的示例云/数据中心701是(例如,经由示例网络702)与示例中介704和/或示例计算设备706、708对接以监视和/或促进连接的设备的操作的计算设备。在一些示例中,云/数据中心701可获得来自计算设备的数据,以执行更多计算密集型任务。在一些示例中,云/数据中心701可将要执行的任务部署在其他计算设备(例如,示例计算设备706、708)处。示例基于云的服务器701可在私有云和/或公共云中实现。在一些示例中,云/数据中心701是实现和管理机架中的虚拟机或服务器的服务器。
图7的示例网络702是在云/数据中心701与处理设备(例如,中介704和/或计算设备706、708)之间交换数据的经互连系统的系统。示例网络702可使用任何类型的共享或私有网络来实现,诸如但不限于,因特网、电话网络、局域网(LAN)、电缆网和/或无线网络。为了使得能够经由示例网络702进行通信,云/数据中心701、中介704和/或计算设备706、708包括启用到以太网、数字订户线(DSL)、电话线、同轴电缆的连接或者启用任何无线连接等的通信接口。
图7的示例域703包括示例中介704和示例计算设备706、708。示例域703可以是边缘域、雾域、以及IoT域、虚拟机(VM)域、多接入边缘计算(MEC)域等。虽然示例域703包括一个中介704和两个计算设备706、708,但是域703可包括任何数量的中介和/或计算设备。另外,可能存在经由网络702连接的其他域(例如,在同一边缘网络110中或在不同的边缘网络中)。如本文中所使用,域703中的设备与域703外部的设备之间的通信被称为域间通信,并且域703内的设备之间的通信被称为域内通信。
图7的示例中介704基于与服务请求相对应的QoS要求来管理对示例计算设备706、708的经池化的资源的使用。例如,中介704可从计算设备706、708、来自不同的域的计算设备(例如,经由另一中介)、和/或云/数据中心701获得(例如,执行一个或多个任务的)服务请求。在服务请求被获得之后,中介704标识与该服务请求相对应的SLA/SLO要求,并将这些SLA/SLO要求传送至域703的计算设备706、708。如下文进一步所描述,示例计算设备706、708确定它们是否具有实现SLA/SLO要求的容量并向中介704返回响应。在示例中介704接收到这些响应之后,该中介704基于计算设备706、708的响应来分配其经池化的资源来对请求进行服务,同时最佳地实现对应的SLA/SLO要求。在一些示例中,中介704可以被实现在示例计算设备706、708内(例如,在这些计算设备中充当领导计算设备的一个计算设备中和/或在这两个设备中)。下文结合图10A进一步描述示例中介704。
图7的示例计算设备706、708可以是边缘设备、IoT设备、雾设备、虚拟机、服务器和/或任何其他类型的计算设备。在一些示例中,计算设备706、708基于与经池化的资源相对应的服务请求来获得SLA/SLO要求。经池化的资源可以是可由彼此共享和/或由域703(例如,域间)和/或另一域(例如,域内)中的任一其他设备共享的存储器、存储、硬件加速器等。示例计算设备706、708包括经池化的QoS控制器,其用于确定满足SLA/SLO要求所需要的必要的存储器和/或处理器资源的量。在确定资源的量之后,经池化的QoS控制器确定相应的计算设备706、708是否具有足够的可用存储器和/或处理资源来满足所确定的资源的量。示例计算设备706、708基于计算设备706、708是否具有足够的可用资源来根据SLA/SLO要求对请求进行服务来向中介704发送响应。如果示例中介704确定计算设备706、708中的一者或多者应当对服务请求中的一些或全部进行服务,则中介704将传送关于如何对服务请求中的这部分或全部进行服务的指令,并且计算设备706将基于这些指令来对服务请求中的一些或全部进行服务。下文结合图10A进一步描述计算设备706的经池化的QoS控制器。
在一些示例中,图7的计算设备706、708利用网格代理来包括RDT支持,以允许应用在不包括SLA/SLO库、启动器和/或管理器的情况下被实现,从而将SLA变换为基于资源的属性并针对这些基于资源的属性来生成用于不同计算设备类型的RDT控制信号(例如,应用可以是平台不可知的(例如,并非对于特定的操作系统和/或硬件特定的)并且包括应用特定逻辑而不具有平台特定逻辑)。以此种方式,应用的尺寸和复杂性降低。在此类示例中,网格代理获得代理的高级SLA/SLO管理信息(例如,SLA/SLO要求),将这些要求转换为基于资源的属性,生成RDT控制信息(例如,基于这些基于资源的属性,满足SLA/SLO要求所需要的资源的量),并将RDT控制信息发送至计算设备706的OS。OS可以利用RDT扩展来确保与RDT控制信号相对应的处理器和/或存储器资源被利用以满足SLA/SLO。另外,如下文结合图9所进一步描述,计算设备706、708可以利用软件(软)QoS网格在具有多种不同的SLA/SLO要求的多个应用之间执行负载平衡。下文结合图8和图9进一步描述示例网格代理,并且下文结合图9进一步描述软QoS网格。
图8是图7的示例计算设备706的示例实现方式的框图。示例计算设备706包括示例应用800、802,示例网格代理804、806,示例OS 808,以及示例硬件组件810。虽然图8的示例计算设备706包括两个应用和两个网格代理,但计算设备706可包括任何数量的计算设备和/或网格代理。
图8的示例应用800、802是已经被安装和/或下载到示例计算设备706上的应用。示例应用800、802包括当被OS 808执行时执行一个或多个任务的代码。如上文所描述,因为网格代理804包括RDT支持,因此示例应用800是平台不可知的(例如,OS和/或硬件不可知)。示例应用800、802可以包括与SLA/SLO要求相对应的高级SLA管理信息。已经被分派给相应的应用800、802的对应的网格代理804、806将SLA管理信息转换为基于资源的属性。以此种方式,对应的网格代理804、806生成RDT控制信号来保留满足SLA/SLO要求所需要的处理器和/或存储器资源,而不需要与应用800、802相对应的SLA启动器或SLA库。示例应用800、802可从基于云的服务器701(图7)和/或从域703(图7)和/或另一域中的另一计算设备部署。
图8的示例网格代理804、806是桥接应用800、802与OS 808之间的通信的组件。以此种方式,应用800、802可以将SLA/SLO要求传送至示例相应网格代理804、806,并且网格代理804、806可以将SLA/SLO要求转换为基于资源的属性,以生成与满足SLA/SLO要求所需要的存储器和/或处理器资源的量相对应的RDT控制信号。另外,示例网格代理804、806可从OS808获得遥测数据。遥测数据包括用于监视硬件组件810(例如,处理器核、存储器、存储、中央处理单元(CPU)、GPU和/或任何其他硬件组件)的性能和可用性的数据。示例网格代理804、806可对遥测数据进行分析以确定SLA/SLO要求是否被满足,和/或可将遥测数据和/或顺应性指示传送至相应的应用800、802。因为遥测数据的处理由网格代理804、806执行(例如,与应用800、802形成对照),因此应用800、802可以为了负载平衡、弹性缩放等而自由地被迁移或被复制,而无需使得应用800、802特定于计算设备中可用的配置和专门的加速。另外,如下文结合图9进一步所描述,在网格代理804、806处处理遥测数据允许计算设备706执行基于软件的QoS和基于软件的分层式QoS。
在一些示例中,遥测数据可以是隐私敏感的。遥测数据的消费方可以使用遥测数据来推断超出消费该遥测数据的实体的立即操作之外的信息。例如,负载平衡器可使用遥测数据来改善负载平衡效率,并且还可使用遥测数据来建立精细的人工智能(例如,机器学习、深度学习、神经网络等)模型以生成推断数据。在一些示例中(例如,当此类数据私有或有价值时),遥测数据可针对受信任执行环境(TEE)而被加密。由此,示例网格代理804、806可要求遥测推断应用被授权用于利用TEE来执行特定的优化功能。下文结合图15进一步描述示例中介TEE。
图8的示例OS 808从示例网格代理804、806获得RDT控制指令,并基于RDT控制信号(例如,使用RDT扩展)来保留硬件组件810,以确保对应的SLA/SLO要求被满足。在硬件被保留之后,示例OS 808使用所保留的组件810来执行(多个)应用800、802的指令,以满足SLA/SLO要求。另外,示例OS 808监视硬件组件810,以开发与对硬件810的使用相对应的遥测数据(例如,带宽、等待时间、等待时间发散、抖动、分组丢失的数量等)。示例OS 808周期性地、非周期性地和/或基于触发将遥测数据传送至对应的网格代理804、806。示例OS 808利用硬件组件810来执行应用800的指令。硬件组件810可包括处理器核、CPU、GPU、存储器、存储、硬件加速器等。
图9是图7的示例计算设备706的替代示例实现方式的框图。示例计算设备706包括示例应用900、902、904,示例网格代理908、910、912,示例软QoS网格网络914,示例接口916,示例层级结构生成器918、示例负载平衡器920、示例OS 922、以及示例硬件组件924。示例应用902、904、906像图8的示例应用800、802一样操作,示例网格代理908、910、912像图8的示例网格代理804、806一样操作,示例OS 922像图8的示例OS 808一样操作,并且示例硬件组件924像图8的示例硬件组件810一样操作。
在图9的示例中,示例软QoS网格网络914是连接在网格代理908、910、912与OS 922之间的基于软件的组件。示例软QoS网格网络914包括示例接口916、示例层级结构生成器918以及示例负载平衡器920。
图9的示例接口916从示例网格代理908、910、912获得RDT控制信号。如上文所描述,RDT控制信号标识执行相应的应用902、904、906同时满足对应的SLA/SLO要求需要多少存储器和/或处理器资源。示例接口916还从示例OS 922接收与硬件组件924的使用和/或容量相对应的遥测数据。在一些示例中,接口916可将与应用相对应的遥测数据传送至对应的网格代理908、910、912。如下文进一步描述,在负载平衡器920已经确定如何分配资源之后,示例接口916将分配指令传送至示例OS 922,以向OS 922告知如何为示例应用902、904、906分配硬件组件924的资源。
图9的示例层级结构生成器918可将应用编组在一起,和/或为应用902、904、906生成资源层级结构。例如,应用902可被标记或以其他方式被标识为高优先级,而剩余的应用904、906可被标记为低优先级。在此类示例中,层级结构生成器918可针对第一应用902保留SLA/SLO要求和/或硬件组件924,和/或以其他方式对SLA/SLO要求和/或硬件组件924排定优先级。在一些示例中,层级结构生成器918开发为应用902保留某个量或百分比的硬件组件924并为剩余的应用904、906留出剩余的量或百分比的硬件组件924的资源分配。保留的量和/或组的数量和/或层级结构(例如,高、中等、低,等等)可基于用户偏好、制造商偏好、应用偏好、和/或示例硬件组件924的可用性。
图9的示例层级结构生成器918也可确定应用已经基于触发(例如,事件发生)而从第一优先级改变为第二优先级。例如,除非等待时间不满足阈值和/或特定的代码段要被执行,否则应用902可包括与应用902为低优先级相对应的代码。在此类示例中,如果等待时间不再满足阈值和/或如果特定的代码段要被执行,则应用902可从低优先级改变为高优先级。在等待时间满足阈值和/或特定的代码段不再被执行之后,示例应用902可返回至低优先级。在此类示例中,层级结构生成器918监视遥测数据和/或其他数据,以确定等待时间和/或代码是否正在由OS 922执行,从而确定是否要由于优先级状态改变而发起或改变层级结构。如果示例层级结构生成器918确定存在优先级状态改变,则层级结构生成器918基于该优先级状态改变来为应用902、904、906重构和/或创建层级结构。
图9的示例负载平衡器920在向OS 922发送资源分配指令之前执行资源的跨应用平衡。示例负载平衡器920基于来自对应的网格代理908、910、912的相应的接收到的RDT控制信号和/或由示例层级结构生成器918生成的层级结构、通过确定要为相应的应用902、904、906分配多少资源(例如,硬件组件924)来执行跨应用平衡。一旦资源分配完成,则示例负载平衡器920就使用接口916将分配指令传送至OS 922。以此种方式,示例负载平衡器920对资源进行分配以高效地平衡每个应用902、904、906的SLA/SLO要求,同时基于所生成的层级结构(例如,如果一个层级结构被生成)对应用902、904、906排定优先级。另外,示例负载平衡器920可以响应于改变的动态状况而连续地改变资源分配。例如,如果应用已经被标识为处于不通过其SLA/SLO的风险之下,则示例负载平衡器920可以暂时将该应用提升至较高优先级并给予为另一应用保留的附加资源(例如,应用不需要的或可以在不具有该资源的情况下进行的附加资源)。示例负载平衡器920可以动态地调整资源分配,而不要求对示例应用902、904、906的任何改变。
图10A是图7的示例中介704和示例计算设备706的示例实现方式的框图。图10A的示例中介704包括示例网络接口1000、示例服务请求分析器1002、以及示例资源比较器1004。图10A的示例计算设备706包括示例计算平台1008、示例CPU 1009、示例平台代理1010、示例经池化的QoS控制器1012、示例经池化的加速器平台1014、以及示例PCIe交换机1016。示例计算设备706可附加地或替代地包括图8和/或图9中所图示的示例组件中的任何组件。在一些示例中,计算平台1008和示例经池化的加速器平台1014可被包括在硬件组件810和/或硬件组件924中。
图10A的示例网络接口1000(例如,经由图7的网络702)接收来自域内和/或域间设备的服务请求。在服务请求被接收和/或被处理之后,示例网络接口1000将服务请求和/或SLA/SLO要求传送至计算设备706的示例经池化的QoS控制器1012。示例经池化的QoS控制器1012基于这些SLA/SLO要求来传送响应,以标识经池化的加速器平台1014对请求进行服务的能力。示例网络接口1000获得该响应,并且可向计算平台1008的平台代理1010传送对服务请求的部分或全部进行服务的指令。在一些示例中,当例如经池化的QoS控制器1012指示经池化的加速器平台1014不具有充足的资源来对服务请求进行服务时,网络接口1000可传送计算设备706不具备充足的资源的标志或其他指示。例如,网络接口1000可向云/数据中心701或者对计算设备706进行跟踪的另一实体传送标志。以此种方式,示例云/数据中心701或其他实体可以将更多的资源部署到示例计算设备706和/或以其他方式更新/调整示例计算设备706。
示例服务请求分析器1002分析接收到的服务请求,以确定对该服务请求进行服务所需要的资源(例如,CPU、GPU、存储器等)的量。例如,接收到的服务请求可包括指示对服务请求进行服务的要求的SLA和/或SLO,或者通过配置而与该SLA和/或SLO相关联。示例服务请求分析器1002标识SLA和/或SLO要求。服务请求分析器1002可将SLO/SLA要求和/或服务请求传送至示例经池化的QoS控制器1012,以根据这些SLO/SLA要求确定经池化的加速器平台是否具有对该请求进行服务的容量。另外或替代地,服务请求分析器1002可将SLA/SLO要求转换为资源的量,并将该资源的量传送至示例经池化的QoS控制器1012,以根据资源的量来确定经池化的加速器平台1014是否具有对请求进行服务的容量。另外或替代地,示例服务请求分析器1002可传送对来自经池化的QoS控制器1012的资源容量信息的请求,并且随后资源比较器1004根据SLA/SLO要求在本地确定经池化的加速器平台1014是否具有足够的容量来对请求进行服务。
图10A的示例资源比较器1004将来自连接的设备(例如,图7的示例计算设备706、示例计算设备708等)的可用的经池化的资源的量进行比较,以确定如何对请求进行服务。示例资源比较器1004可基于经池化的资源的可用性和SLA/SLO要求而使服务请求在一个计算设备或多个计算设备处被服务。在一些示例中,资源比较器1004基于从经池化的控制器1012发送的容量信息(例如,当经池化的QoS控制器1012发送其资源能力时)来确定如何对请求进行服务。在此类示例中,资源比较器1004可标记不具有足够的资源来对请求进行服务的设备。
图10A的示例计算平台1008包括处理器资源(例如,CPU 1009)和资源控制器(RC)来执行任务。相应地,示例计算平台1008包括纯CPU结构。示例CPU 1009是CPU硬件(HW)或CPU平台。虽然示例计算平台1008包括示例CPU 1009,但计算平台1008可包括任何数量的CPU。示例计算平台1008进一步包括平台代理1010来控制物理层(PHY)与经池化的加速器平台1014对接,以基于来自中介704的指令使用该经池化的加速器来执行任务(例如,在中介704选择计算设备706来对服务请求进行服务之后)。
图10A的示例经池化的QoS控制器1012通过与PCIe交换机1016(或其他设备互连结构交换机)对接来接收来自中介704的信息并确定经池化的加速器平台1014中经池化的资源的能力和/或容量。如果示例中介704确定满足来自服务请求的SLA/SLO要求必要的资源的量,并将资源的量和/或资源特性传送至经池化的QoS控制器1012,则经池化的QoS控制器1012确定是否存在足够的可用资源来满足所标识的资源的量和/或资源特性。如果示例中介704提供SLA/SLO要求,则经池化的QoS控制器1012确定满足SLA/SLO要求所必要的资源的量/资源特性,并且确定在经池化的加速器平台1014中该资源的量/资源特性是否可用于使用。如果示例中介704请求信息,则示例经池化的QoS控制器1012确定经池化的加速器平台1014的能力和/或容量,并返回该能力和/或容量信息。
虽然示例计算设备706包括具有经池化的加速器资源的示例经池化的加速器平台1014,但是示例计算设备706可附加地或替代地包括不同的经池化的资源。例如,计算设备706可包括具有经池化的存储器资源的经池化的存储器平台。在此类示例中,经池化的QoS控制器1012(例如,启用了RDT功能)以与上文所描述的类似的方式与经池化的存储器平台对接,以执行高速缓存监视、高速缓存分配、存储器带宽监视、以及存储器带宽分配。以此种方式,经池化的QoS控制器1012可以提供经池化的存储器信息,以用于对服务请求进行服务。
图10B是图7的示例中介704和示例计算设备706的示例实现方式的框图。图10B的示例中介704包括示例网络接口1000、示例服务请求分析器1002、以及示例资源比较器1004。图10B的示例计算设备706包括示例计算平台1008、示例CPU 1009、示例GPU 1011、示例平台代理1010、示例经池化的QoS控制器1012、示例经池化的加速器平台1014、以及示例PCIe交换机1016。示例计算设备706可附加地或替代地包括图8和/或图9中所图示的示例组件中的任何组件。在一些示例中,计算平台1008和示例经池化的加速器平台1014可被包括在硬件组件810和/或硬件组件924中。
图10B的示例计算平台1008包括示例CPU 1009和示例GPU 1011作为用于执行任务的处理器资源。相应地,示例计算平台1008包括混合式结构。示例GPU 1011是GPU硬件(HW)或GPU平台。虽然示例计算平台1008包括示例CPU 1009和示例GPU 1011,但计算平台1008可包括任何数量的CPU和/或GPU。
图10C是图7的示例中介704和示例计算设备706的示例实现方式的框图。图10C的示例中介704包括示例网络接口1000、示例服务请求分析器1002、以及示例资源比较器1004。图10C的示例计算设备706包括示例计算平台1008、示例GPU 1011、示例平台代理1010、示例经池化的QoS控制器1012、示例经池化的加速器平台1014、以及示例PCIe交换机1016。示例计算设备706可附加地或替代地包括图8和/或图9中所图示的示例组件中的任何组件。在一些示例中,计算平台1008和示例经池化的加速器平台1014可被包括在硬件组件810和/或硬件组件924中。
图10C的示例计算平台1008包括示例GPU 1011作为用于执行任务的处理器资源。相应地,示例计算平台1008包括纯GPU结构。示例GPU 1011是GPU硬件(HW)或GPU平台。虽然示例计算平台1008包括示例GPU 1011,但计算平台1008可包括任何数量的GPU。
尽管在图10A-图10C中图示出实现图7的示例中介704和/或示例计算设备708的示例方式,但图8、图9和/或图10A-图10C中所图示的元件、过程和/或设备中的一者或多者可被组合、划分、重新布置、省略、消除、和/或以任何其他方式被实现。进一步地,以下各项可由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现:图7和/或图10A-图10C的示例网络接口1000、示例服务请求分析器1002、示例资源比较器1004和/或更一般地,示例中介704;和/或图7-图10C网格代理804、806、908、910、912,示例OS 808、922,示例软QoS网格网络914、示例接口916、示例层级结构生成器918、示例负载平衡器920、示例经池化的QoS控制器1012和/或更一般地,计算设备708。由此,例如,以下各项中的任何一项可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件、和/或(多个)现场可编程逻辑器件(FPLD)来实现:图7和/或图10A-图10C的示例网络接口1000、示例服务请求分析器1002、示例资源比较器1004和/或更一般地,示例中介704;和/或图7-图10C网格代理804、806、908、910、912,示例OS 808、922,示例软QoS网格网络914、示例接口916、示例层级结构生成器918、示例负载平衡器920、示例经池化的QoS控制器1012和/或更一般地,计算设备708。当阅读本专利的装置或系统权利要求中的任一项涵盖纯软件和/或纯固件实现方式时,以下各项中的至少一项由此被明确地定义为包括诸如存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等之类的包括软件和/或硬件的非瞬态计算机可读存储设备或存储盘:图7和/或图10A-图10C的示例网络接口1000、示例服务请求分析器1002、示例资源比较器1004和/或更一般地,示例中介704;和/或图7-图10C网格代理804、806、908、910、912,示例OS 808、922,示例软QoS网格网络914、示例接口916、示例层级结构生成器918、示例负载平衡器920、示例经池化的QoS控制器1012和/或更一般地,计算设备708。更进一步地,图7、图8、图9和/或图10A-图10C的示例中介704和/或计算设备708可附加于或替代于图7、图8、图9和/或图10A-图10C中所图示的那些的一个或多个元件、过程和/或设备,和/或可包括多于一个的所图示的元件、过程和设备中的任一者或全部。如本文所使用,短语“进行通信”(包括其各种变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。
在图11-图13中示出了表示用于实现图7、图8、图9和/或图10A-图10C的示例中介704和/或计算设备708的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或其任何组合的流程图。机器可读指令可以是用于由计算机处理器执行的一个或多个可执行程序或者一个或多个可执行程序的(多个)部分,计算机处理器诸如结合图14B和图15在下文讨论的示例处理器平台1450、1550中示出的处理器1452、1552。程序可被具体化在存储于与处理器1452、1552相关联的诸如CD-ROM、软盘、硬驱动器、DVD、蓝光盘或存储器之类的非瞬态计算机可读存储介质上的软件中,但是全部程序和/或其部分可替代地由除处理器1452、1552之外的设备执行,和/或被具体化在固件或专用硬件中。此外,虽然参考图11-图13中图示出的流程图描述了(多个)示例程序,但是可替代地使用实现图7、图8、图9和/或图10A-图10C中示出的示例中介704和/或计算设备708的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。附加地或替代地,框中的任何框或所有框可以由被构造成用于在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。
本文中描述的机器可读指令能以压缩格式、加密格式、分段格式、编译格式、可执行格式、封装格式等中的一种或多种来存储。本文描述的机器可读指令可以作为可用于创建、制造和/或产生机器可执行指令的数据(例如,指令的部分、代码、代码表示等)来存储。例如,机器可读指令可以被分段并被存储在一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可能需要安装、修改、适配、更新、组合、补充、配置、解密、解压缩、拆包、分发、重新分配、编译等中的一项或多项,以使得它们由计算设备和/或其他机器直接可读取、可解释、和/或可执行。例如,机器可读指令可以存储在多个部分中,这些部分被单独压缩、加密并存储在单独的计算设备上,其中,这些部分在被解密、解压缩和组合时形成实现诸如本文所述的程序之类的程序的一组可执行指令。
在另一示例中,机器可读指令可以以它们可被计算机读取的状态存储,但是需要添加库(例如,动态链接库(DLL))、软件开发工具包(SDK)、应用编程接口(API)等,以便在特定的计算设备或其他设备上执行指令。在另一个示例中,在可整体或部分地执行机器可读指令和/或对应的(多个)程序之前,可能需要配置机器可读指令(例如,存储的设置、数据输入、记录的网络地址等)。因此,所公开的机器可读指令和/或对应的(多个)程序旨在包含此类机器可读指令和/或(多个)程序,而不管机器可读指令和/或(多个)程序在存储时或以其他方式处于静态或在传输中时的特定格式或状态如何。
本文所描述的机器可读指令可以由任何过去、现在或将来的指令语言、脚本语言、编程语言等表示。例如,机器可读指令可以用以下语言中的任何一种语言来表示:C、C++、Java、C#、Perl、Python、JavaScript、超文本标记语言(HTML)、结构化查询语言(SQL)、Swift等。
如上文所提及,可使用存储于非瞬态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)实现图11-图13的示例程序,非瞬态计算机和/或机器可读介质诸如,硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在其中存储信息达任何时长(例如,在扩展的时间段内、永久地、对于简短的实例、用于临时缓冲和/或用于对信息进行高速缓存)的任何其他存储设备或存储盘。如本文中所使用,术语非瞬态计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号且排除传输介质。
“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求将任何形式的“包含”和“包括”(例如,包括、包含、包括有、包含有、具有等)用作前序部分或用于任何种类的权利要求记载内容之中时,要理解的是,附加的要素、项等可以存在而不落在对应权利要求或记载的范围之外。如本文中所使用,当短语“至少”被用作例如权利要求的前序部分中的过渡术语时,它是和术语“包含”和“包括”一样的开放式的。当例如以诸如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)”)、“一个或多个”和“至少一个”在本文中可以可互换地使用。此外,尽管单独列出,但多个装置、元件或方法动作可由例如单个单元或处理器来实现。另外,虽然各个特征可以被包括在不同的示例或权利要求中,但是这些特征可能被组合,并且在不同的示例或权利要求中的包含并不意味着特征的组合是不可行和/或不是有利的。
图11图示出表示可被执行以实现在计算设备706(图7-图9)中基于SLA来管理QoS的示例网格代理804(图8)的示例机器可读指令1100的流程图。虽然图11的流程图是结合图7-图9的计算设备706描述的,但示例指令可用于实现(多种)其他类型的(多个)计算设备(例如,虚拟机、服务等)。另外,虽然图11的指令1100是结合网格代理804来描述的,但这些指令可以基于来自应用800、802、902、904、906中的一者或多者的SLA/SLO指令由网格代理804、806、908、910、912中的一个或多个(例如,并行地或以其他方式)执行。
在框1102处,示例网格代理804(图8)确定新的应用(例如,示例应用800(图8))是否被安装在示例计算设备706上。示例应用800可从图7的示例云/数据中心701下载、安装和/或接收。示例网格代理804基于来自OS 808(图8)的信号来确定新的应用是否被安装。如果示例网格代理804确定新的应用未被安装(框1102:否),则控制返回至框1102,直到新的应用被安装。如果示例网格代理804确定新的应用800被安装(框1102:是),则网格代理804连接至该新的应用800(例如,当OS 808将网格代理804分派给应用800时)(框1104)。
在框1106处,示例网格代理804确定是否已经从应用800获得SLA/SLO命令。例如,SLA/SLO命令包括在执行应用800的指令时对OS 808和/或硬件组件810(图8)的要求(例如,带宽要求、抖动要求、等待时间要求、速度要求等)。如果示例网格代理804确定尚未从应用800获得SLA/SLO命令(框1106:否),则控制返回至框1106,直到SLO/SLA命令被接收。如果示例网格代理804确定已经从应用800获得SLA/SLO命令(框1106:是),则示例网格代理804将SLA/SLO命令转换成资源请求信号(例如,RDT控制信号)(框1108)。示例网格代理804通过将SLA/SLO命令变换成基于资源的属性并生成包括这些基于资源的属性的RDT控制信号而将该命令转换成RDT控制信号。由此,RDT控制信号包括与实现SLA/SLO要求所必要的OS808和/或硬件组件810的量和/或特性相对应的信息。
在框1110处,示例网格代理804将资源请求信号(例如,RDT控制信号)传送至OS808,以根据SLA/SLO命令来分配资源(例如,OS 808和/或硬件组件810的资源)(例如,从而满足SLA/SLO要求)。在框1112处,示例网格代理804确定是否已经从OS 808接收到遥测数据。遥测数据与OS 808和/或硬件组件810的性能相对应。以此种方式,网格代理和/或应用800可以监视与SLA/SLO的顺应性。如果示例网格代理804确定尚未接收到遥测数据(框1112:否),则指令结束。如果示例网格代理804确定已经接收到遥测数据(框1112:是),则示例网格代理804对遥测数据进行处理(框1114)。例如,网格代理804可通过确定遥测数据是否满足SLA/SLO要求来处理遥测数据,和/或可将遥测数据传送至应用800,如下文进一步描述。在一些示例中,网格代理804将计算设备706是否符合SLO/SLA要求的指示传送至应用800。
在框1116处,示例网格代理804确定应用800是否已经结束(例如,在计算设备706中终止或挂起)。如果示例网格代理804确定应用800已经结束(框1116:是),则指令结束。如果示例网格代理804确定应用800尚未结束(框1116:否),则示例网格代理804基于经处理的遥测数据来确定SLA和/或SLO要求是否正在被满足(框1118)。如果网格代理804确定SLA和/或SLO要求正在被满足(框1118:是),则控制返回至框1112。如果网格代理804确定SLA和/或SLO要求并非正在被满足(框1118:否),则示例网格代理804将经更新的资源请求控制传送至OS 808,以分配资源来满足SLA和/或SLO要求(框1120),并且控制返回至框1112。
图12图示出表示可被执行以实现图9的示例软QoS网格网络以相对于来自计算设备706中的多个应用的SLA来管理QoS的示例机器可读指令1200的流程图。虽然图12的流程图是结合图9的计算设备706描述的,但图12的示例指令可用于实现(多种)其他类型的(多个)计算设备(例如,虚拟机、服务等)。
在框1202处,示例负载平衡器920(图9)确定新的应用(例如,示例应用902、904、906(图9)中的一者)是否被安装在示例计算设备706上。应用902可从图7的示例云/数据中心701下载、安装和/或接收。示例负载平衡器920基于来自OS 922(图9)的信号来确定新的应用是否被安装。如果示例负载平衡器920确定新的应用未被安装(框1202:否),则控制返回至框1202,直到新的应用被安装。如果示例负载平衡器920确定新的应用被安装(框1202:是),则负载平衡器920将网格代理(例如,图9的网格代理908)分派给新的应用(例如,图9的应用902)(框1204)。
在框1206处,示例层级结构生成器918(图9)确定基于应用的层级结构是否被触发。当应用902、904、906中的一者或多者被认为是高优先级时,基于应用的层级结构可被生成。示例应用902、904、906可包括优先级状态作为SLA/SLO协议的部分,和/或用户和/或制造商可选择应用902、904、906的优先级状态。如果示例层级结构生成器918确定应用层级结构尚未被触发(框1206:否),则控制继续至框1210。如果示例层级结构生成器918确定应用层级结构已经被触发(框1206:是),则示例层级结构生成器918生成应用层级结构(框1208)。
示例层级结构生成器918可基于优先级状态或指令将层级结构构造为任何结构(例如,每一层/每一组具有任何数量的应用的任何数量的层)。例如,层级结构生成器818可将五个应用分派至分层的资源管理器标识符(RMID),以使得资源通过RMID的层级结构而被分层地控制。例如,在资源分配X的情况下,应用1和应用8可共享祖先RMID Rx;在资源分配Y的情况下,应用9、11和12可共享祖先RMID Ry;在资源分配Z的情况下,所有的11个应用1、8、9、10、11的集合可共享公共祖先RMID Rz。在此类示例中,在给予Rz的分配Z内,可将子分配X’和Y’给予Rx和Ry。Rx和Ry可总计达超出Rz的资源要求,但平台可按比率(例如,X’=Z*X/(X+Y)且Y’=Z*Y’/(X+Y))将Z分成针对Rx的分配X’和针对Ry的Y’。替代地,在组成部分RMIDX和Y之间划分Z的不同方式可通过另一策略来制定和控制。这准许硬件组件924和OS 922根据此类示例复合RMID层级结构和相关联的集体资源分配来自动地调整资源(例如,处理器频率、存储器带宽、高速缓存容量、PCIe吞吐量等)的分配,同时网格代理908、910、912以附加的更新来周期性地指令硬件组件924和OS 922。
在框1210处,示例负载平衡器920确定接口916(图9)是否从网格代理908、910、912接收到一个或多个资源请求信号(例如,(多个)RDT控制信号))。如果示例负载平衡器920确定接口916尚未获得一个或多个资源请求信号(框1210:否),则控制继续至框1216。如果示例负载平衡器920确定接口916已经获得一个或多个资源请求信号(框1210:是),则示例负载平衡器920基于来自(多个)网格代理908、910、912的资源请求信号(例如,(多个)RDT控制信号))来确定OS 922和/或硬件组件924的资源的跨RMID(例如,跨应用)平衡。例如,负载平衡器920平衡应用902、904、906的SLA/SLO要求,从而作为层级结构的部分(如果有任何层级结构)给予某些应用优先级。在框1214处,示例接口916根据跨RMID平衡向OS 922传送资源分配指令。
在框1216处,示例负载平衡器920确定是否已经经由接口916从OS 808接收到遥测数据。遥测数据与OS 808和/或硬件组件810的性能相对应。以此种方式,示例负载平衡器920、示例网格代理908和/或示例应用902可以监视与SLA/SLO的顺应性。如果示例负载平衡器920确定尚未接收到遥测数据(框1216:否),则控制继续至框1220。如果示例负载平衡器920确定已经接收到遥测数据(框1216:是),则示例负载平衡器920对遥测数据进行处理(框1218)。示例负载平衡器920可通过确定遥测数据是否满足SLA/SLO要求来处理遥测数据,和/或可将遥测数据传送至网格代理908。在一些示例中,负载平衡器920将计算设备706是否符合SLO/SLA要求的指示传送至网格代理908。
在框1220处,示例负载平衡器920基于经处理的遥测数据来确定SLA和/或SLO要求是否正在被满足。如果负载平衡器920确定SLA和/或SLO要求正在被满足(框1220:是),则控制继续至框1224。如果负载平衡器920确定SLA和/或SLO要求并非正在被满足(框1220:否),则示例负载平衡器920将经更新的资源请求控制传送至OS 922,以分配资源来满足SLA和/或SLO要求(框1222)。
在框1224处,示例负载平衡器920确定新的应用是否已经被安装。如果示例负载平衡器920确定新的应用已经被安装(框1224:是),则控制返回至框1204。如果示例负载平衡器920确定新的应用尚未被安装(框1224:否),则指令结束。
图13图示出表示可被执行以实现用于针对计算设备706中经池化的资源基于SLA来管理QoS的示例中介704(图7和图10A-图10C)和示例经池化的QoS控制器1012(图10A)的示例机器可读指令1300的流程图。虽然图13的流程图是结合图10A的计算设备706描述的,但示例指令可用于实现(多种)其他类型的(多个)计算设备(例如,虚拟机、服务等)。
在框1302处,中介704的示例接口1000(图10A)确定是否已经接收到服务请求。服务请求可与用于执行一个或多个任务的指令相对应。服务请求可从来自同一域703的另一计算设备(例如,域间)或来自不同域的另一计算设备(例如,来自另一中介、来自另一域的计算设备、和/或图7的云/数据中心701)被发送。如果接口1000确定尚未接收到服务请求(框1302:否),则控制返回至框1302,直到接收到服务请求。如果接口1000确定已经接收到服务请求(框1302:是),则示例服务请求分析器1002将SLA/SLO要求(例如,提取自服务请求或者作为服务请求的部分)传送至示例经池化的QoS控制器1012(框1304)。如上文所描述,示例服务请求分析器1002(图10A)可对服务请求进行处理,以确定服务请求的SLA/SLO要求,并且将这些要求转换成经池化的资源的量和/或经池化的资源的特性,并且将该经池化的资源的量和/或经池化的资源特性传送至经池化的QoS控制器1012。附加地或替代地,示例服务请求分析器1002可发送对经池化的资源特性和/或经池化的资源可用性的请求。以此种方式,示例资源比较器1004可在中介704处在本地根据SLA/SLO要求来确定计算设备706是否具有充足的资源来对请求进行服务。
在框1306处,示例经池化的QoS控制器1012将服务水平要求变换成资源的基于资源的属性。例如,如果服务请求包括与特定的等待时间要求相对应的SLO,则经池化的QoS控制器1012将等待时间要求1012转换成满足该等待时间要求所需要的资源的量和/或资源类型。在框1308处,示例经池化的QoS控制器1012根据基于资源的属性(例如,基于计算设备106处资源的特性)来确定经池化的资源(例如,来自经池化的加速器平台1014)是否能够对服务请求进行服务。例如,如果服务请求与等待时间相对应,则经池化的QoS控制器1012确定经池化的资源是否能够根据所要求的等待时间来执行。
如果示例经池化的QoS控制器1012确定经池化的资源无法根据服务请求来进行操作(框1308:否),则示例经池化的QoS控制器1012向示例中介704传送指示计算设备706不具备足够的资源来根据要求满足服务请求的否定响应(框1310)。在框1312处,示例资源比较器1004(图10A)标记该否定响应。在一些示例中,网络接口1000可将所标记的否定响应传送至对计算设备706进行监视的监视设备(例如,图7的云/数据中心701)。以此种方式,监视设备可以潜在地更新计算设备706处的经池化的资源,和/或向管理员建议更新计算设备706处的经池化的资源。在框1312处,指令结束。
如果示例经池化的QoS控制器1012确定经池化的资源能够根据服务请求来进行操作(框1308:是),则示例经池化的QoS控制器1012确定经池化的资源的容量(框1314)。例如,计算设备706的经池化的资源可能在结构上(例如,资源能力)能够满足SLA/SLO要求,但是由于经池化的资源不可用(例如,正在由计算设备106使用)而可能不具有满足SLA/SLO要求的容量(例如,资源容量)。相应地,经池化的QoS控制器1012确定经池化的资源中有多少是未使用的和/或以其他方式可用于用来确定经池化的资源的容量。
在框1316处,示例经池化的QoS控制器1012向中介704传送指示计算设备706的经池化的资源的能力和所确定的容量的响应。该响应可包括对经池化的资源是否具有对请求进行服务的结构能力和足够的容量的指示。响应还可包括所确定的容量。以此种方式,如果经池化的资源具有结构能力但不具有足够的容量来对整个请求进行服务,则中介704可以基于所确定的容量传送执行服务请求的部分的指令。
在框1318处,示例资源比较器1004基于来自计算设备706、708和/或域703(图7)中的任何其他计算设备的(多个)响应来确定针对服务请求的资源分配。例如,资源比较器1004可基于两个计算设备706、708的经池化的资源的能力和/或容量来确定服务请求应当被分配至计算设备706、708中的一者或者在两个计算设备706、708之间划分。在框1320处,示例网络接口1000将分配指令传送至与所确定的资源分配相对应的计算设备的平台代理1010。传送分配指令向计算设备通知要执行服务请求的哪些部分。在框1320处,指令结束。
图14A是示例边缘计算节点1400的示例实现方式的框图,该示例边缘计算节点1400包括计算引擎(本文中也称为“计算电路系统”)1402、输入/输出(I/O)子系统1408、数据存储1410、通信电路系统子系统1412,并且任选地包括一个或多个外围设备1414。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、外围设备等)。另外,在一些示例中,说明性组件中的一个或多个可被并入到另一组件中,或以其他方式形成另一组件的部分。图14A的示例边缘计算节点1400可被部署在图1-图4和/或图6-图10C中所图示的边缘计算系统中的一个边缘计算系统中,以实现图1-图4和/或图6-图10C的任何边缘计算节点。示例边缘计算节点1400可附加地或替代地包括图7-图10C的计算设备706的组件中的任何组件。
示例计算节点1400可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点1400可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、芯片上系统(SOC)或者其他集成系统或设备。在说明性示例中,计算节点1400包括或被具体化为处理器1404和存储器1406。示例处理器1404可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器1404可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
在一些示例中,处理器1404可被具体化为、包括或耦合至FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路系统、或用于促进本文中所描述的功能的执行的其他专用硬件。而且在一些示例中,处理器1404可以具体化为专用x处理单元(xPU),也称为数据处理单元(DPU)、基础设施处理单元(IPU)或网络处理单元(NPU)。此类xPU可被具体化为独立电路或电路封装,集成在SOC内,或者与联网电路系统(例如,在智能NIC中)、加速电路系统、存储设备或AI硬件(例如,GPU或编程的FPGA)集成。在CPU和/或GPU或通用处理硬件之外,此类xPU可被设计成用于接收编程以处理一个或多个数据流并执行针对数据流的特定任务和动作(诸如主控微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格、或者收集和分发遥测)。然而,将理解,xPU、SOC、CPU、GPU和处理器1404的其他变体可以彼此协调工作以在计算节点1400内并代表计算节点1400执行许多类型的操作和指令。
示例存储器1406可被具体化为能够执行本文中所描述的功能的任何类型的易失性存储器(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要功率来维持由该介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器(RAM),诸如DRAM或静态随机存取存储器(SRAM)。可以在存储器模块中使用的一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在示例中,存储器设备1406是块可寻址存储器设备,诸如基于NAND或NOR技术的那些存储器设备。存储器设备1406还可包括三维交叉点存储器设备(例如,3DXPointTM存储器)或其他字节可寻址的就地写入非易失性存储器设备。存储器设备1406可指代管芯本身和/或指代封装的存储器产品。在一些示例中,3D交叉点存储器(例如,3D XPointTM存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器1406的全部或部分可以被集成到处理器1404中。存储器1406可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
示例计算电路系统1402经由I/O子系统1408通信地耦合至计算节点1400的其他组件,该I/O子系统1408可被具体化为用于促进与计算电路系统1402(例如,与处理器1404和/或主存储器1406)以及计算电路系统1402的其他组件的输入/输出操作的电路系统和/或组件。例如,I/O子系统1408可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些示例中,I/O子系统1408可以形成芯片上系统(SoC)的部分,并可连同计算电路系统1402的处理器1404、存储器1406、和其他组件中的一者或多者一起被并入到计算电路系统1402中。
一个或多个说明性数据存储设备1410可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备1410可包括存储用于数据存储设备1410的数据以及固件代码的系统分区。各个数据存储设备1410还可包括根据例如计算节点1400的类型来存储用于操作系统的数据文件和可执行文件的一个或多个操作系统分区。
示例通信电路系统1412可被具体化为能够实现通过网络在计算电路系统1402与其他计算设备(例如,边缘计算系统的边缘网关)之间进行的通信的任何通信电路、设备或其集合。示例通信电路系统1412可以被配置成用于使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3GPP 4G或5G标准)、无线局域网协议(诸如IEEE 802.11/)、无线广域网协议,以太网、蓝牙低能量、IoT协议(诸如IEEE 802.15.4或)、低功率广域网(LPWAN)或低功率广域网(LPWA)协议等)来实施此类通信。
说明性通信电路系统1412包括网络接口控制器(NIC)1420,其也可被称为主机结构接口(HFI)。示例NIC 1420可被具体化为一个或多个插入式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点1400用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,NIC 1420可被具体化为包括一个或多个处理器的芯片上系统(SoC)的部分,或NIC 1420可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC 1420可包括本地处理器(未示出)和/或本地存储器(未示出),这两者均位于NIC 1420本地。在此类示例中,NIC 1420的本地处理器可以能够执行本文中描述的计算电路系统1402的功能中的一个或多个功能。附加地或替代地,在此类示例中,NIC 1420的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集成到客户端计算节点的一个或多个组件中。
另外,在一些示例中,相应的计算节点1400可以包括一个或多个外围设备1414。取决于计算节点1400的特定类型,此类外围设备1414可包括在计算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算节点1400可以由边缘计算系统中的相应的边缘计算节点(无论是客户端、网关还是聚合节点)来具体化,或者由类似形式的装置、计算机、子系统、电路系统或其他组件来具体化。
在更详细的示例中,图14B图示出示例计算设备1450的框图,该示例计算设备1450被构造成用于执行图11-图13的指令以实现本文中所描述的技术(例如,操作、过程、方法和方法论),这些技术诸如图7-图10C的计算设备708。该计算设备1450提供在被实现为计算设备(例如,被实现为移动设备、基站、服务器、网关等)或被实现为该计算设备的部分时节点1400的相应组件的更靠近的视图。计算设备1450可包括本文中所引用的硬件或逻辑组件的任何组合,并且该计算设备1450可以包括可与边缘通信网络或此类网络的组合一起使用的任何设备或与可与边缘通信网络或此类网络的组合一起使用的任何设备耦合。这些组件可被实现为集成电路(IC)、IC的部分、分立电子器件,或适用于计算设备1450中的其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其组合,或者被实现为以其他方式被并入在更大的系统的机架内的组件。例如,计算设备1450可以是例如服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板)、个人数字助理(PDA)、因特网装置、DVD播放器、CD播放器、数字视频记录仪、蓝光播放器、游戏控制台、个人视频记录仪、机顶盒、头戴式耳机或其他可穿戴设备、物联网(IoT)设备或任何其他类型的计算设备。
边缘计算设备1450可包括处理器1452形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知的处理元件。处理器1452可以是芯片上系统(SoC)的部分,在该SoC中,处理器1452和其他组件形成为单个集成电路或单个封装,诸如,来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器1452可包括基于架构酷睿TM(CoreTM)的CPU处理器(诸如,夸克TM(QuarkTM)、凌动TM(AtomTM)、i3、i5、i7、i9或MCU类处理器)、或可从获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于的设计、许可自ARM控股有限公司的基于的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自公司的A5-A13处理器、来自技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。处理器1452和伴随的电路系统可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括以有限的硬件配置或以包括少于图14B中所示的所有元件的配置来提供。在该示例中,处理器实现图8-图10C的示例网格代理804、806、908、910、912,示例OS808、922,示例软QoS网格网络914、示例网络接口916、示例层级结构生成器918、示例负载平衡器920、以及示例经池化的QoS控制器1012。
处理器1452可通过互连1456(例如,总线)来与系统存储器1454通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器1454可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在特定示例中,存储器组件可符合JEDEC颁布的标准,诸如,用于DDR SDRAM的JESD149F、用于DDR2 SDRAM的JESD149-2F、用于DDR3 SDRAM的JESD149-3F、用于DDR4 SDRAM的JESD149-4A、用于低功率DDR(LPDDR)的JESD209、用于LPDDR2的JESD209-2、用于LPDDR3的JESD209-3和用于LPDDR4的JESD209-4。此类标准(和类似的标准)可被称为基于DDR的标准,而存储设备的实现此类标准的通信接口可被称为基于DDR的接口。在各种实现方式中,单独的存储器设备可以是任何数量的不同封装类型,诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q114P)。在一些示例中,这些设备可以直接焊接到主板上,以提供薄型解决方案,而在其他示例中,设备被配置为一个或多个存储器模块,这一个或多个存储器模块进而通过给定的连接器耦合至主板。可使用任何数量的其他存储器实现方式,诸如其他类型的存储器模块,例如,不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM(微DIMM)或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储1458还可经由互连1456而耦合至处理器1452。在示例中,存储1458可经由固态盘驱动器(SSDD)来实现。可用于存储1458的其他设备包括闪存卡(诸如安全数字(SD)卡、microSD卡、极限数字(XD)图片卡,等等)和通用串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者上述任一者或其他存储器的组合。
在低功率实现中,存储1458可以是与处理器1452相关联的管芯上存储器或寄存器。然而,在一些示例中,存储1458可使用微硬盘驱动器(HDD)来实现。此外,附加于或代替于所描述的技术,可将任何数量的新技术用于存储1458,这些新技术诸如,阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连1456进行通信。互连1456可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI express(PCI快速,PCIe)或任何数量的其他技术。互连1456可以是例如在基于SoC的系统中使用的专有总线。其他总线系统可被包括,诸如集成电路间(I2C)接口、串行外围设备接口(SPI)接口、点对点接口、以及功率总线,等等。
互连1456可将处理器1452耦合至收发机1466,以用于与连接的边缘设备1462通信。收发机1466可使用任何数量的频率和协议,诸如IEEE 802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由特别兴趣小组定义的低能量(BLE)标准、或标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备1462的连接。例如,无限局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(WWAN)单元发生。
无线网络收发机1466(或多个收发机)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,计算设备1450可使用基于蓝牙低能量(BLE)或另一低功率无线电的本地收发机与靠近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备1462可通过或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用的网格收发机。
可包括无线网络收发机1466(例如,无线电收发机),以经由局域网协议或广域网协议来与边缘云1495中的设备或服务通信。无线网络收发机1466可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的低功率广域(LPWA)收发机。计算设备1450可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距广域网)在广域上通信。本文中所描述的技术不限于这些技术,而是可与实现长距离、低带宽通信(诸如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。进一步地,可使用其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发机1466而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发机1466可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的网络。收发机1466可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)兼容的无线电。网络接口控制器(NIC)1468可被包括以提供到边缘云1495的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备1462)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 1468可被包括以实现到第二网络的连接,例如,第一NIC1468通过以太网提供到云的通信,并且第二NIC 1468通过另一类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的可适用通信类型的多样性,由设备使用的可适用通信电路系统可以包括组件1464、1466、1468或1470中的任何一个或多个或由组件1464、1466、1468或1470中的任何一个或多个来具体化。因此,在各示例中,用于通信(例如,接收、传送等)的可适用装置可由此类通信电路系统来具体化。
计算设备1450可包括或可被耦合至加速电路系统1464,该加速电路系统1464可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、xPU/DPU/IPU/NPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括AI处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连1456可将处理器1452耦合至用于连接附加的设备或子系统的传感器中枢或外部接口1470。设备可包括传感器1472,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(例如,GPS)传感器、压力传感器、气压传感器,等等。中枢或接口1470进一步可用于将计算设备1450连接至致动器1474(诸如电源开关、阀致动器、可听见声音发生器、视觉警告设备等)。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于计算设备1450内,或可连接至计算设备1450。例如,可包括显示器或其他输出设备1484来显示信息,诸如传感器读数或致动器位置。可以包括输入设备1486(诸如触摸屏或小键盘)来接受输入。输出设备1484可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如,二进制状态指示器(例如,发光二极管(LED));多字符视觉输出;或更复杂的输出,诸如,显示屏(例如,液晶显示器(LCD)屏),其具有从计算设备1450的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可用于:提供边缘计算系统的输出并接收边缘计算系统的输入;管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态;或进行任何其他数量的管理或管理功能或服务用例。
电池1476可为计算设备1450供电,但是在其中计算设备1450被安装在固定位置的示例中,该计算设备1450可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池1476可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监视器/充电器1478可被包括在计算设备1450中以跟踪电池1476(如果包括)的充电状态(SoCh)。电池监视器/充电器1478可用于监视电池1476的其他参数以提供故障预测,诸如电池1476的健康状态(SoH)和功能状态(SoF)。电池监视器/充电器1478可包括电池监视集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监视器/充电器1478可通过互连1456将关于电池1476的信息传输至处理器1452。电池监视器/充电器1478也可包括使处理器1452能够直接监视电池1476的电压或来自电池1476的电流的模数(ADC)转换器。电池参数可被用于确定计算设备1450可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块1480或耦合至电网的其他电源可与电池监视器/充电器1478耦合以对电池1476充电。在一些示例中,功率块1480可用无线功率接收机代替,以便例如通过计算设备1450中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监视器/充电器1478中。可以基于电池1476的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储1458可包括用于实现本文中所描述的技术的软件、固件或硬件命令形式的指令1482。虽然此类指令1482被示出为被包括在存储器1454和存储1458中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路来代替代码块中的任一个。
在示例中,经由存储器1454、存储1458或处理器1452提供的指令1482可被具体化为非瞬态机器可读介质1460,该非瞬态机器可读介质1460包括用于指示处理器1452执行计算设备1450中的电子操作的代码。处理器1452可通过互连1456来访问非瞬态机器可读介质1460。例如,非瞬态机器可读介质1460可由针对存储1458所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机器可读介质1460可包括用于指示处理器1452执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文中所使用,术语“机器可读介质”和“计算机可读介质”是可互换的。
而且,在特定示例中,处理器1452上的指令1482(单独地或与机器可读介质1460的指令1482结合)可以配置受信任执行环境(TEE)1490的执行或操作。在示例中,TEE 1490作为处理器1452可访问的受保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用英特软件防护扩展(SGX)或硬件安全扩展、管理引擎(ME)或融合安全可管理性引擎(CSME)来提供TEE 1490的各种实现方式以及处理器1452或存储器1454中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过TEE 1490和处理器1452在设备1450中实现。如上文结合图8所描述,TEE 1490可处理隐私敏感的遥测数据(例如,通过遥测数据进行的AI推断)。在此类示例中,作为接受和/或公开遥测数据的条件,TEE 1490可确保各种兴趣(例如,条件)被满足。
在进一步的示例中,机器可读介质也包括任何有形介质,该有形介质能够存储、编码或携载供由机器执行并且使机器执行本公开的方法中的任何一种或多种方法的指令,或者该有形介质能够储存、编码或携载由此类指令利用或与此类指令相关联的数据结构。“机器可读介质”因此可包括但不限于固态存储器、光学介质和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备);诸如内部硬盘及可移除盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。可使用传输介质,经由网络接口设备,利用数个传输协议中的任何一种协议(例如,超文本传输协议(HTTP)),进一步通过通信网络来传送或接收由机器可读介质具体化的指令。
机器可读介质可以由能够以非瞬态格式主控数据的存储设备或其他装置提供。在示例中,存储在机器可读介质上或以其他方式提供在机器可读介质上的信息可以表示指令,诸如指令本身或者可以从中导出指令的格式。可以从中导出指令的该格式可以包括源代码、经编码的指令(例如,以压缩或加密的形式)、经封装的指令(例如,分成多个封装)等。表示机器可读介质中的指令的信息可以通过处理电路系统处理成指令以实现本文中讨论的操作中的任何操作。例如,从该信息导出指令(例如,由处理电路系统进行的处理)可以包括:(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地进行链接)、编码、解码、加密、解密、打包、拆包,或者以其他方式将信息操纵到指令中。
在示例中,指令的导出可以包括(例如,通过处理电路系统)对信息进行汇编、编译、或解释,以从由机器可读介质提供的某个中间或预处理的格式创建指令。信息当在多个部分中被提供时可以被组合、拆包和修改以创建指令。例如,信息可以处于一个或若干远程服务器上的多个经压缩的源代码封装(或目标代码、或二进制可执行代码等)中。源代码封装可以在通过网络传输时被加密,并且可以在本地机器处被解密、被解压缩、(如果必要的话)被汇编(例如,被链接),并且被编译或被解释(例如被编译或被解释成库、独立的可执行文件等),并且由本地机器执行。
图11-图13的机器可执行指令1100、1200、1300(1482)可被存储在存储器1554中,存储在存储1558中,和/或被存储在诸如CD或DVD之类的可移除非瞬态计算机可读存储介质上。
在更详细的示例中,图15图示出示例计算设备1550的框图,该示例计算设备1550被构造成用于执行图13的指令以实现本文中所描述的技术(例如,操作、过程、方法和方法论),这些技术诸如图7和/或图10A-图10C的中介704。该计算设备1550提供在被实现为计算设备(例如,被实现为移动设备、基站、服务器、网关等)或被实现为该计算设备的部分时节点1500的相应组件的更靠近的视图。计算设备1550可包括本文中所引用的硬件或逻辑组件的任何组合,并且该计算设备1550可以包括可与边缘通信网络或此类网络的组合一起使用的任何设备或与该设备耦合。这些组件可被实现为集成电路(IC)、IC的部分、分立电子器件,或适用于计算1550中的其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其组合,或者被实现为以其他方式被并入在更大的系统的机架内的组件。例如,计算设备1550可以是例如,服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板)、个人数字助理(PDA)、因特网装置、DVD播放器、CD播放器、数字视频记录仪、蓝光播放器、游戏控制台、个人视频记录仪、机顶盒、头戴式耳机或其他可穿戴设备、物联网(IoT)设备或任何其他类型的计算设备。
边缘计算设备1550可包括处理器1552形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知的处理元件。处理器1552可以是芯片上系统(SoC)的部分,在该SoC中,处理器1552和其他组件形成为单个集成电路或单个封装,诸如,来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器1552可包括基于架构酷睿TM(CoreTM)的CPU处理器(诸如,夸克TM(QuarkTM)、凌动TM(AtomTM)、i3、i5、i7、i9或MCU类处理器)、或可从获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于的设计、许可自ARM控股有限公司的基于的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自公司的A5-A13处理器、来自技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。处理器1552和伴随的电路可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括有限的硬件配置或包括少于图15中所示的所有元件的配置。在该示例中,处理器实现图10A的网络接口1000、服务请求分析器1002、以及资源比较器1004。
处理器1552可通过互连1556(例如,总线)来与系统存储器1554通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器1554可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在特定示例中,存储器组件可符合JEDEC颁布的标准,诸如DDR SDRAM的JESD149F、DDR2 SDRAM的JESD149-2F、DDR3SDRAM的JESD149-3F、DDR4 SDRAM的JESD149-4A、低功率DDR(LPDDR)的JESD209、LPDDR2的JESD209-2、LPDDR3的JESD209-3和LPDDR4的JESD209-4。此类标准(和类似的标准)可被称为基于DDR的标准,而存储设备的实现此类标准的通信接口可被称为基于DDR的接口。在各种实现方式中,单独的存储器设备可以是任何数量的不同封装类型,诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q114P)。在一些示例中,这些设备可以直接焊接到主板上,以提供薄型解决方案,而在其他示例中,设备被配置为一个或多个存储器模块,这些存储器模块进而通过给定的连接器耦合至主板。可使用任何数量的其他存储器实现方式,诸如其他类型的存储器模块,例如,不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM(微DIMM)或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储1558还可经由互连1556而耦合至处理器1552。在示例中,存储1558可经由固态盘驱动器(SSDD)来实现。可用于存储1558的其他设备包括闪存卡(诸如安全数字(SD)卡、microSD卡、极限数字(XD)图片卡,等等)和通用串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存储器的组合。
在低功率实现中,存储1558可以是与处理器1552相关联的管芯上存储器或寄存器。然而,在一些示例中,存储1558可使用微硬盘驱动器(HDD)来实现。此外,附加于或替代于所描述的技术,可将任何数量的新技术用于存储1558,这些新技术诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连1556进行通信。互连1556可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI express(PCI快速,PCIe)或任何数量的其他技术。互连1556可以是例如在基于SoC的系统中使用的专有总线。其他总线系统可被包括,诸如集成电路间(I2C)接口、串行外围设备接口(SPI)接口、点对点接口、以及功率总线,等等。
互连1556可将处理器1552耦合至收发机1566,以用于例如与连接的边缘设备1562通信。收发机1566可使用任何数量的频率和协议,诸如IEEE 802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由特别兴趣小组定义的低能量(BLE)标准、或标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备1562的连接。例如,无限局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(WWAN)单元发生。
无线网络收发机1566(或多个收发机)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,计算设备1550可使用基于蓝牙低能量(BLE)或另一低功率无线电的本地收发机与靠近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备1562可通过或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用的网格收发机。
可包括无线网络收发机1566(例如,无线电收发机),以经由局域网协议或广域网协议来与边缘云1595中的设备或服务通信。无线网络收发机1566可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的低功率广域(LPWA)收发机。计算设备1550可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距广域网)在广域上通信。本文中所描述的技术不限于这些技术,而是可与实现长距离、低带宽通信(诸如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。进一步地,可使用其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发机1566而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发机1566可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的网络。收发机1566可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)兼容的无线电。网络接口控制器(NIC)1568可被包括以提供到边缘云1595的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备1562)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 1568可被包括以启用到第二网络的连接,例如,第一NIC1568通过以太网提供到云的通信,并且第二NIC 1568通过另一类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的可适用通信类型的多样性,由设备使用的可适用通信电路系统可以包括组件1564、1566、1568或1570中的任何一个或多个,或由组件1564、1566、1568或1570中的任何一个或多个来具体化。因此,在各示例中,用于通信(例如,接收、传送等)的可适用装置可由此类通信电路系统来具体化。
计算设备1550可包括或可被耦合至加速电路系统1564,该加速电路系统1564可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、xPU/DPU/IPU/NPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括AI处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连1556可将处理器1552耦合至用于连接附加的设备或子系统的传感器中枢或外部接口1570。设备可包括传感器1572,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(例如,GPS)传感器、压力传感器、气压传感器,等等。中枢或接口1570进一步可用于将计算设备1550连接至致动器1574(诸如电源开关、阀致动器、可听见声音发生器、视觉警告设备等)。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于计算设备1550内,或可连接至计算设备1550。例如,可包括显示器或其他输出设备1584来显示信息,诸如传感器读数或致动器位置。可以包括输入设备1586(诸如触摸屏或小键盘)来接受输入。输出设备1584可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如,二进制状态指示器(例如,发光二极管(LED));多字符视觉输出;或更复杂的输出,诸如,显示屏(例如,液晶显示器(LCD)屏),其具有从计算设备1550的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可用于:提供边缘计算系统的输出并接收边缘计算系统的输入;管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态;或进行任何其他数量的管理或管理功能或服务用例。
电池1576可为计算设备1550供电,但是在其中计算设备1550被安装在固定位置的示例中,该计算设备1550可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池1576可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监视器/充电器1578可被包括在计算设备1550中以跟踪电池1576(如果被包括)的充电状态(SoCh)。电池监视器/充电器1578可用于监视电池1576的其他参数以提供故障预测,诸如电池1576的健康状态(SoH)和功能状态(SoF)。电池监视器/充电器1578可包括电池监视集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监视器/充电器1578可通过互连1556将关于电池1576的信息传输至处理器1552。电池监视器/充电器1578也可包括使处理器1552能够直接监视电池1576的电压或来自电池1576的电流的模数(ADC)转换器。电池参数可被用于确定计算设备1550可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块1580或耦合至电网的其他电源可与电池监视器/充电器1578耦合以对电池1576充电。在一些示例中,功率块1580可用无线功率接收机代替,以便例如通过计算设备1550中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监视器/充电器1578中。可以基于电池1576的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储1558可包括用于实现本文中公开的技术的软件、固件或硬件命令形式的指令1582。虽然此类指令1582被示出为被包括在存储器1554和存储1558中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路来代替代码块中的任一个。
在示例中,经由存储器1554、存储1558或处理器1552提供的指令1582可被具体化为非瞬态机器可读介质1560,该非瞬态机器可读介质1560包括用于指示处理器1552执行计算设备1550中的电子操作的代码。处理器1552可通过互连1556来访问非瞬态机器可读介质1560。例如,非瞬态机器可读介质1560可由针对存储1558所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机器可读介质1560可包括用于指示处理器1552执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文中所使用,术语“机器可读介质”和“计算机可读介质”是可互换的。
而且,在特定示例中,处理器1552上的指令1582(单独地或与机器可读介质1560的指令1582结合)可以配置受信任执行环境(TEE)1590的执行或操作。在示例中,TEE 1590作为处理器1552可访问的保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用 软件防护扩展(SGX)或硬件安全扩展、管理引擎(ME)或融合安全可管理性引擎(CSME)来提供TEE 1590的各种实现方式以及处理器1552或存储器1554中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过TEE 1590和处理器1552在设备1550中实现。
在进一步的示例中,机器可读介质也包括任何有形介质,该有形介质能够存储、编码或携载供由机器执行并且使机器执行本公开方法中的任何一种或多种方法的指令,或者该有形介质能够储存、编码或携载由此类指令利用或与此类指令相关联的数据结构。“机器可读介质”因此可包括但不限于固态存储器、光学介质和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备);诸如内部硬盘及可移除盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。可使用传输介质,经由网络接口设备,利用数个传输协议中的任何一种协议(例如,超文本传输协议(HTTP)),进一步通过通信网络来传送或接收由机器可读介质具体化的指令。
机器可读介质可以由能够以非瞬态格式主控数据的存储设备或其他装置提供。在示例中,存储在机器可读介质上或以其他方式提供在机器可读介质上的信息可以表示指令,诸如指令本身或者可以从中导出指令的格式。可以从中导出指令的该格式可以包括源代码、经编码的指令(例如,以压缩或加密的形式)、经封装的指令(例如,分成多个封装)等。表示机器可读介质中的指令的信息可以由处理电路系统处理成指令以实现本文所讨论的任何操作。例如,从信息中导出指令(例如,由处理电路进行的处理)可以包括:(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地进行链接)、编码、解码、加密、解密、打包、拆包,或者以其他方式将信息操纵到指令中。
在示例中,指令的推导可以包括(例如,通过处理电路系统)对信息进行汇编、编译、或解释,以从机器可读介质提供的某个中间或预处理的格式创建指令。当信息以多个部分提供时,可以对其进行组合、拆包和修改以创建指令。例如,信息可以处于一个或若干远程服务器上的多个经压缩的源代码封装(或目标代码、或二进制可执行代码等)中。源代码封装可以在通过网络传输时被加密,并且可以在本地机器处被解密、被解压缩、(如果必要的话)被汇编(例如,被链接),并且被编译或被解释(例如被编译或被解释成库、独立的可执行文件等),并且由本地机器执行。
图13的机器可执行指令1300可被存储在存储器1554、存储1558中,和/或被存储在诸如CD或DVD之类的可移除非瞬态计算机可读存储介质上。
从前文将会领会,本文中已经公开了用于在计算设备中相对于服务水平协议来管理服务质量的示例方法、装置和制品。所公开的方法、装置和制品通过允许应用是平台不可知的而改善计算机的效率。以此种方式,应用不需要包括平台(例如,OS或硬件)特定代码,由此减小了应用的尺寸并降低了应用的复杂度。相应地,需要较少的资源来部署应用。另外,本文中所公开的示例促进QoS功能以确保SLA/SLO要求相对于经池化的资源被满足。相应地,所公开的示例方法、设备和制品涉及计算机功能的一项或多项改善。
本文中公开了在计算设备中相对于服务水平协议来管理服务质量的示例方法、装置、系统和制品。进一步的示例及其组合包括以下内容:示例1包括一种用于促进服务水平协议的装置(例如,边缘计算设备),该装置包括:第一网格代理,该第一网格代理被分派给第一平台不可知应用,该第一网格代理用于基于来自第一平台不可知应用的第一服务水平协议要求来生成第一资源请求信号;第二网格代理,该第二网格代理被分派给第二平台不可知应用,该第二网格代理用于基于来自第二平台不可知应用的第二服务水平协议要求来生成第二资源请求信号;以及负载平衡器,该负载平衡器用于基于第一资源请求信号和第二资源请求信号来为第一平台不可知应用和第二平台不可知应用分配硬件资源(例如,处理器资源、存储器、硬件加速器等)。
示例2包括如示例1所述的装置,进一步包括:第三网格代理,该第三网格代理被分派给第三平台不可知应用;层级结构生成器,该层级结构生成器用于生成针对第一平台不可知应用、第二平台不可知应用和第三平台不可知应用的层级结构;并且负载平衡器用于基于层级结构来为第一平台不可知应用、第二平台不可知应用和第三平台不可知应用分配硬件资源
示例3包括如示例1-2所述的装置,其中,层级结构中的第一群组接收相比于该层级结构中的第二群组不同的数量的资源。
示例4包括如示例1-3所述的装置,进一步包括接口,该接口用于将与所分配的硬件资源相对应的硬件资源分配传送至操作系统。
示例5包括如示例1-4所述的装置,其中,负载平衡器用于基于遥测数据来确定对于第一服务水平协议要求的顺应性。
示例6包括如示例1所述的装置,其中,第一网格代理用于基于遥测数据来确定对于第一服务水平协议要求的顺应性。
示例7包括一种用于促进服务水平协议的装置(例如,边缘计算设备),该装置包括:存储器;以及处理器电路系统,该处理器电路系统用于:将服务请求的服务水平要求变换为基于资源的属性;根据该基于资源的属性来确定经池化的资源(例如,存储器、处理器资源、硬件加速器等)是否能够对服务请求进行服务;确定经池化的资源的容量;以及传送指示经池化的资源的能力和容量的响应(例如,信号、数据信号或数据分组)。
示例8包括如示例7所述的装置,其中,处理器电路系统用于:从中介获得服务请求,并向该中介传送响应。
示例9包括如示例7-8所述的装置,其中,处理器电路系统用于:将服务请求的服务水平要求变换为基于资源的属性,以确定满足该服务水平要求的资源。
示例10包括如示例7-9所述的装置,其中,处理器电路系统用于:在经池化的资源无法对服务请求进行服务时,传送指示该经池化的资源无法对服务请求进行服务的否定响应。
示例11包括如示例7-10所述的装置,其中,经池化的资源包括存储器、处理器资源或加速器中的至少一者。
示例12包括如示例7-11所述的装置,其中,处理器电路系统用于:与设备互连结构交换机对接,以确定经池化的资源的能力或容量中的至少一者。
示例13包括如示例7-12所述的装置,其中,处理器电路系统被实现在边缘设备、服务器或虚拟机中的至少一者中。
示例14包括一种非瞬态计算机可读存储介质,包括指令,这些指令在被执行时使得一个或多个处理器至少进行以下各项:基于来自第一平台不可知应用的第一服务水平协议要求来生成第一资源请求信号;基于来自第二平台不可知应用的第二服务水平协议要求来生成第二资源请求信号;以及基于第一资源请求信号和第二资源请求信号来为第一平台不可知应用和第二平台不可知应用分配硬件资源。
示例15包括如示例14所述的计算机可读存储介质,其中,指令使得一个或多个处理器进行以下各项:生成针对第一平台不可知应用、第二平台不可知应用和第三平台不可知应用的层级结构;以及基于该层级结构来为第一平台不可知应用、第二平台不可知应用和第三平台不可知应用分配硬件资源。
示例16包括如示例14-15所述的计算机可读存储介质,其中,层级结构中的第一群组接收相比于该层级结构中的第二群组不同的数量的资源。
示例17包括如示例14-16所述的计算机可读存储介质,其中,指令使得一个或多个处理器用于将与所分配的硬件资源相对应的硬件资源分配传送至操作系统。
示例18包括如示例14-17所述的计算机可读存储介质,其中,指令使得一个或多个处理器用于基于遥测数据来确定对于第一服务水平协议要求的顺应性。
示例19包括一种非瞬态计算机可读存储介质,包括指令,这些指令在被执行时使得一个或多个处理器至少进行以下各项:将服务请求的服务水平要求变换为基于资源的属性;根据该基于资源的属性来确定经池化的资源是否能够对服务请求进行服务;确定经池化的资源的容量;以及传送指示经池化的资源的能力和容量的响应。
示例20包括如示例19所述的计算机可读存储介质,其中,指令使得一个或多个处理器:从中介获得服务请求,并向该中介传送响应。
示例21包括如示例19-20所述的计算机可读存储介质,其中,指令使得一个或多个处理器:将服务请求的服务水平要求变换为基于资源的属性,以确定满足该服务水平要求的资源。
示例22包括如示例19-21所述的计算机可读存储介质,其中,指令使得一个或多个处理器:在经池化的资源无法对服务请求进行服务时,传送指示该经池化的资源无法对服务请求进行服务的否定响应。
示例23包括如示例19-22所述的计算机可读存储介质,其中,经池化的资源包括存储器、处理器资源或加速器中的至少一者。
示例24包括如示例19-23所述的计算机可读存储介质,其中,指令使得一个或多个处理器与设备互连结构交换机对接,以确定经池化的资源的能力或容量中的至少一者。
示例25包括如示例19-24所述的计算机可读存储介质,其中,一个或多个处理器被实现在边缘设备、服务器或虚拟机中的至少一者中。
示例26包括一种用于促进服务水平协议的方法,该方法包括:通过利用一个或多个处理器执行指令,基于来自第一平台不可知应用的第一服务水平协议要求来生成第一资源请求信号;通过利用一个或多个处理器执行指令,基于来自第二平台不可知应用的第二服务水平协议要求来生成第二资源请求信号;以及通过利用一个或多个处理器执行指令,基于第一资源请求信号和第二资源请求信号来为第一平台不可知应用和第二平台不可知应用分配硬件资源。
示例27包括如示例26所述的方法,进一步包括:生成针对第一平台不可知应用、第二平台不可知应用和第三平台不可知应用的层级结构;以及基于该层级结构来为第一平台不可知应用、第二平台不可知应用和第三平台不可知应用分配硬件资源。
示例28包括如示例26-27所述的方法,其中,层级结构中的第一群组接收相比于该层级结构中的第二群组不同的数量的资源。
示例29包括如示例26-28所述的方法,进一步包括:将与所分配的硬件资源相对应的硬件资源分配传送至操作系统。
示例30包括如示例26-29中任一项所述的方法,进一步包括:基于遥测数据来确定对于第一服务水平协议要求的顺应性。
示例31包括一种用于促进服务水平协议的方法,该方法包括:通过利用一个或多个处理器执行指令,将服务请求的服务水平要求变换为基于资源的属性;通过利用一个或多个处理器执行指令,根据该基于资源的请求确定经池化的资源是否能够对服务请求进行服务;通过利用一个或多个处理器执行指令,确定经池化的资源的容量;以及传送指示经池化的资源的能力和容量的响应。
示例32包括如示例31所述的方法,进一步包括:从中介获得服务请求,并向该中介传送响应。
示例33包括如示例31-32所述的方法,进一步包括:将服务请求的服务水平要求变换为基于资源的属性,以确定满足该服务水平要求的资源。
示例34包括如示例31-33所述的方法,进一步包括:在经池化的资源无法对服务请求进行服务时,传送指示该经池化的资源无法对服务请求进行服务的否定响应。
示例35包括如示例31-34所述的方法,其中,经池化的资源包括存储器、处理器资源或加速器中的至少一者。
示例36包括如示例31-35所述的方法,进一步包括:与设备互连结构交换机对接,以确定经池化的资源的能力或容量中的至少一者。
示例37包括如示例31-36所述的方法,其中,一个或多个处理器被实现在边缘设备、服务器或虚拟机中的至少一者中。
示例38是一种边缘计算设备,该边缘计算设备包括用于执行示例26-37中的任一项的处理电路系统。
示例39是一种计算机可读介质包括,包括用于执行示例26-37中的任一项的指令。
示例40是一种设备,该设备包括用于执行示例26-37中的任一项的装置。
尽管本文中已公开了某些示例方法、装置和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利的权利要求的范围内的全部方法、装置和制品。
Claims (25)
1.一种用于促进服务水平协议的装置,所述装置包括:
第一网格代理,所述第一网格代理被分派给第一平台不可知应用,所述第一网格代理用于基于来自所述第一平台不可知应用的第一服务水平协议要求来生成第一资源请求信号;
第二网格代理,所述第二网格代理被分派给第二平台不可知应用,所述第二网格代理用于基于来自所述第二平台不可知应用的第二服务水平协议要求来生成第二资源请求信号;以及
负载平衡器,所述负载平衡器用于基于所述第一资源请求信号和所述第二资源请求信号来为所述第一平台不可知应用和所述第二平台不可知应用分配硬件资源。
2.如权利要求1所述的装置,进一步包括:
第三网格代理,所述第三网格代理被分派给第三平台不可知应用;
层级结构生成器,所述层级结构生成器用于生成针对所述第一平台不可知应用、所述第二平台不可知应用和所述第三平台不可知应用的层级结构;并且
所述负载平衡器用于基于所述层级结构来为所述第一平台不可知应用、所述第二平台不可知应用和所述第三平台不可知应用分配所述硬件资源。
3.如权利要求2所述的装置,其中,所述层级结构中的第一群组接收相比于所述层级结构中的第二群组不同的数量的资源。
4.如权利要求1-3中任一项所述的装置,进一步包括接口,所述接口用于将与所分配的硬件资源相对应的硬件资源分配传送至操作系统。
5.如权利要求1-3中任一项所述的装置,其中,所述负载平衡器用于基于遥测数据来确定对于所述第一服务水平协议要求的顺应性。
6.如权利要求1-3中任一项所述的装置,其中,所述第一网格代理用于基于遥测数据来确定对于所述第一服务水平协议要求的顺应性。
7.一种用于促进服务水平协议的装置,所述装置包括:
存储器;以及
处理器电路系统,所述处理器电路系统用于:
将服务请求的服务水平要求变换为基于资源的属性;
根据所述基于资源的属性来确定经池化的资源是否能够对所述服务请求进行服务;
确定所述经池化的资源的容量;以及
传送指示所述经池化的资源的能力和容量的响应。
8.如权利要求7所述的装置,其中,所述处理器电路系统用于:从中介获得所述服务请求,并向所述中介传送所述响应。
9.如权利要求7所述的装置,其中,所述处理器电路系统用于:将所述服务请求的所述服务水平要求变换为所述基于资源的属性,以确定满足所述服务水平要求的资源。
10.如权利要求7所述的装置,其中,所述处理器电路系统用于:在所述经池化的资源无法对所述服务请求进行服务时,传送指示所述经池化的资源无法对所述服务请求进行服务的否定响应。
11.如权利要求7-10中任一项所述的装置,其中,所述经池化的资源包括存储器、处理器资源或加速器中的至少一者。
12.如权利要求7-10中任一项所述的装置,其中,所述处理器电路系统用于:与设备互连结构交换机对接,以确定所述经池化的资源的所述能力或所述容量中的至少一者。
13.如权利要求7-10中任一项所述的装置,其中,所述处理器电路系统被实现在边缘设备、服务器或虚拟机中的至少一者中。
14.一种用于促进服务水平协议的方法,所述方法包括:
通过利用一个或多个处理器执行指令,基于来自第一平台不可知应用的第一服务水平协议要求来生成第一资源请求信号;
通过利用所述一个或多个处理器执行指令,基于来自第二平台不可知应用的第二服务水平协议要求来生成第二资源请求信号;以及
通过利用所述一个或多个处理器执行指令,基于所述第一资源请求信号和所述第二资源请求信号来为所述第一平台不可知应用和所述第二平台不可知应用分配硬件资源。
15.如权利要求14所述的方法,进一步包括:
生成针对所述第一平台不可知应用、所述第二平台不可知应用和第三平台不可知应用的层级结构;以及
基于所述层级结构来为所述第一平台不可知应用、所述第二平台不可知应用和所述第三平台不可知应用分配所述硬件资源。
16.如权利要求15所述的方法,其中,所述层级结构中的第一群组接收相比于所述层级结构中的第二群组不同的数量的资源。
17.如权利要求14-16中任一项所述的方法,进一步包括:将与所分配的硬件资源相对应的硬件资源分配传送至操作系统。
18.如权利要求14-16中任一项所述的方法,进一步包括:基于遥测数据来确定对于所述第一服务水平协议要求的顺应性。
19.一种计算机可读存储介质,包括指令,所述指令在被执行时使得一个或多个处理器执行如权利要求14-18中任一项所述的方法。
20.一种用于促进服务水平协议的方法,所述方法包括:
通过利用一个或多个处理器执行指令,将服务请求的服务水平要求变换为基于资源的属性;
通过利用所述一个或多个处理器执行指令,根据所述基于资源的属性确定经池化的资源是否能够对所述服务请求进行服务;
通过利用所述一个或多个处理器执行指令,确定所述经池化的资源的容量;以及
传送指示所述经池化的资源的能力和容量的响应。
21.如权利要求20所述的方法,进一步包括:从中介获得所述服务请求,并向所述中介传送所述响应。
22.如权利要求20所述的方法,进一步包括:将所述服务请求的所述服务水平要求变换为所述基于资源的属性,以确定满足所述服务水平要求的资源。
23.如权利要求20所述的方法,进一步包括:当所述经池化的资源无法对所述服务请求进行服务时,传送指示所述经池化的资源无法对所述服务请求进行服务的否定响应。
24.如权利要求20-23中任一项所述的方法,其中,所述经池化的资源包括存储器、处理器资源或加速器中的至少一者。
25.一种计算机可读存储介质,包括指令,所述指令在被执行时使得一个或多个处理器执行如权利要求20-24中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/033,370 | 2020-09-25 | ||
US17/033,370 US12113853B2 (en) | 2020-09-25 | 2020-09-25 | Methods and apparatus to manage quality of service with respect to service level agreements in a computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114338680A true CN114338680A (zh) | 2022-04-12 |
Family
ID=74103342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110981861.2A Pending CN114338680A (zh) | 2020-09-25 | 2021-08-25 | 用于在计算设备中相对于服务水平协议来管理服务质量的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12113853B2 (zh) |
CN (1) | CN114338680A (zh) |
DE (1) | DE102021207160A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3103042A1 (fr) * | 2019-11-12 | 2021-05-14 | Orange | Procédés de commande d’un réseau informatique de périphérie à accès multiple |
US11770377B1 (en) * | 2020-06-29 | 2023-09-26 | Cyral Inc. | Non-in line data monitoring and security services |
US20220321403A1 (en) * | 2021-04-02 | 2022-10-06 | Nokia Solutions And Networks Oy | Programmable network segmentation for multi-tenant fpgas in cloud infrastructures |
US20220394081A1 (en) * | 2021-06-03 | 2022-12-08 | Mellanox Technologies, Ltd. | Providing network quality of service for multiple users |
US20230021858A1 (en) * | 2021-07-20 | 2023-01-26 | EMC IP Holding Company LLC | Method and system for improved sentiment analysis |
US20230076061A1 (en) * | 2021-09-07 | 2023-03-09 | Hewlett Packard Enterprise Development Lp | Cascaded priority mapping |
US11966466B2 (en) * | 2022-01-10 | 2024-04-23 | Check Point Serverless Security Ltd. | Unified workload runtime protection |
CN114827249A (zh) * | 2022-05-06 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 网格代理扩展的方法和装置 |
US12047467B2 (en) * | 2022-06-13 | 2024-07-23 | Nec Corporation | Flexible and efficient communication in microservices-based stream analytics pipeline |
CN115378938A (zh) * | 2022-08-12 | 2022-11-22 | 北京睿芯高通量科技有限公司 | 网络资源调度方法、网关设备、边缘和云数据中心服务器 |
WO2024039735A1 (en) * | 2022-08-18 | 2024-02-22 | Interdigital Patent Holdings, Inc. | Methods and apparatuses for task distribution in wireless communications |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11099964B2 (en) * | 2017-12-20 | 2021-08-24 | Pivotal Software, Inc. | Framework actuator integration |
-
2020
- 2020-09-25 US US17/033,370 patent/US12113853B2/en active Active
-
2021
- 2021-07-07 DE DE102021207160.0A patent/DE102021207160A1/de active Pending
- 2021-08-25 CN CN202110981861.2A patent/CN114338680A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102021207160A1 (de) | 2022-03-31 |
US12113853B2 (en) | 2024-10-08 |
US20210014303A1 (en) | 2021-01-14 |
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 | |
US12113853B2 (en) | Methods and apparatus to manage quality of service with respect to service level agreements in a computing device | |
US12041177B2 (en) | Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager | |
EP4109257A1 (en) | Methods and apparatus to facilitate service proxying | |
CN114365452A (zh) | 用于在边缘计算环境中证明对象的方法和装置 | |
CN114253657A (zh) | 使用分布式账本的编排器执行计划 | |
US20210011649A1 (en) | Apparatus, systems, articles of manufacture, and methods for data lifecycle management in an edge environment | |
US20230376344A1 (en) | An edge-to-datacenter approach to workload migration | |
EP3985500A1 (en) | Methods and apparatus for re-use of a container in an edge computing environment | |
US20220116478A1 (en) | Microservice latency reduction | |
US20210014301A1 (en) | Methods and apparatus to select a location of execution of a computation | |
US20220014946A1 (en) | Methods and apparatus for digital twin aided resiliency | |
US20210014047A1 (en) | Methods, systems, apparatus, and articles of manufacture to manage access to decentralized data lakes | |
US20220138156A1 (en) | Method and apparatus providing a tiered elastic cloud storage to increase data resiliency | |
US20210117134A1 (en) | Technologies for storage and processing for distributed file systems | |
EP4109256A1 (en) | Model propagation in edge architectures | |
US20220222584A1 (en) | Heterogeneous compute-based artificial intelligence model partitioning | |
NL2033544B1 (en) | Methods and apparatus to implement edge scalable adaptive-grained monitoring and telemetry processing for multi-qos services | |
US20230344804A1 (en) | Methods and apparatus to increase privacy for follow-me services | |
EP4202669B1 (en) | Methods and apparatus for secure execution on smart network interface cards | |
CN114679449A (zh) | 中立主机边缘服务 | |
CN115525519A (zh) | 分布式遥测平台 | |
CN115373795A (zh) | 基于地理围栏的边缘服务控制和认证 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |