在边缘环境中聚合遥测数据的方法和装置与流程

文档序号:24496013发布日期:2021-03-30 21:23阅读:58来源:国知局
在边缘环境中聚合遥测数据的方法和装置与流程

本公开总体地涉及边缘环境,并且更具体地,涉及在边缘环境中聚合遥测数据的方法和装置。



背景技术:

边缘环境(例如,边缘、雾、多接入边缘计算(mec)或物联网(iot)网络)使得能够在请求执行工作负载的端点设备附近执行工作负载(例如,一个或多个计算任务的执行、使用输入数据的机器学习模型的执行等)。边缘环境可以包括通过诸如互联网之类的网络连接到云基础设施、端点设备或其他边缘基础设施的基础设施,诸如边缘服务。与云基础设施(诸如,集中式服务器)相比,边缘服务可以更靠近端点设备。

附图说明

图1描绘了示例环境,该示例环境包括示例云环境、示例边缘环境、示例端点环境以及聚合遥测数据的示例遥测控制器。

图2描绘了图1的示例遥测控制器的框图。

图3描绘了示例资源模型,该示例资源模型包括资源信息对象和遥测信息对象。

图4描绘了图3的遥测信息对象的框图。

图5a-5e描绘了图3的资源对象与图3和/或图4的遥测对象的示例关系。

图6a-6c是示例资源组合的示意图。

图7a-7c是示例遥测组成的示意图。

图8是表示示例机器可读指令被执行来实现图1和/或图2的示例遥测控制器以基于遥测数据将计算任务分发给(多个)示例边缘服务的流程图。

图9是表示示例机器可读指令被执行来实现图1和/或图2的示例遥测控制器以生成示例边缘服务的(多个)示例组成的流程图。

图10是表示示例机器可读指令被执行来实现图1和/或图2的示例遥测控制器以生成(多个)示例资源对象的流程图。

图11是表示示例机器可读指令被执行来实现图1和/或图2的示例遥测控制器以生成(多个)示例遥测信息对象的流程图。

图12是表示示例机器可读指令被执行来实现图3、4和/或5a的示例遥测信息对象以生成遥测数据的流程图。

图13是被构造为执行图8-12的示例机器可读指令来实现图1和/或图2的(多个)示例遥测控制器的示例处理平台的框图。

图14是被构造为执行图8-12的示例机器可读指令来实现图1的(多个)示例边缘服务器的示例处理平台的框图。

附图未按比例绘制。通常,在整个附图和随附的说明书中将使用相同的附图标记来指代相同或相似的部分。

具体实施方式

当标识可被分别引用的多个元件或组件时,在本文中使用描述符“第一”、“第二”、“第三”等。除非基于其使用的上下文另外指定或理解,否则此类描述符无意于赋予优先级、物理顺序或列表中的排列或时间顺序的任何含义,而仅用作分别引用多个元件或组件的标签以易于理解所公开的示例。在一些示例中,描述符“第一”可以用于指具体实施方式中的元件,而在权利要求中可以使用诸如“第二”或“第三”之类的不同描述符来指相同的元件。在此类实例中,应该理解,仅仅为了易于引用多个元件或组件而使用这样的描述符。

总体上,边缘计算是指更靠近端点设备(例如,消费者计算设备、用户设备等)的计算和存储资源的转换,以优化总拥有成本,减少应用时延,改进服务能力,并提高对数据隐私或安全性要求的遵从性。在某些情景下,边缘计算可以提供类似云的分布式服务,该服务可以为多种类型的存储和计算资源中的应用提供编排和管理。因此,边缘计算的一些实现被称为“边缘云”或“雾”,因为以前仅在大型远程数据中心中可用的强大计算资源被移到更靠近端点,并可供网络的“边缘”处消费者使用。

已经开发了移动网络设置中的边缘计算用例,以与多接入边缘计算(mec)方法(也称为“移动边缘计算”)集成。mec方法旨在允许应用开发人员和内容提供商在网络边缘的动态移动网络设置中访问计算功能和信息技术(it)服务环境。欧洲电信标准协会(etsi)行业规范小组(isg)已开发了有限的标准,尝试定义用于mec系统、平台、主机,服务和应用操作的通用接口。

与传统的云网络服务和广域网连接所提供的相比,边缘计算、mec和相关技术尝试提供减少的时延、增加的响应能力和更多可用的计算能力。但是,将移动性和动态启动的服务集成到某些移动使用和设备处理用例中已经导致了对编排、功能协调和资源管理的限制和关注,尤其是在涉及许多参与者(例如,设备、主机、租户、服务提供商、运营商等)的复杂移动性设置中。

以类似的方式,物联网(iot)网络和设备被设计为提供来自各种端点的分布式计算布置。物联网设备可以是可以在网络上通信的物理或虚拟对象,并且可以包括传感器、致动器和其他输入/输出组件,其可以用于收集数据或在现实环境中执行动作。例如,物联网设备可以包括嵌入或附连到日常事物(例如建筑物、车辆、包裹等)的低功率端点设备,以提供对这些事物的附加级别的人工感知。近年来,物联网设备变得越来越流行,因此使用这些设备的应用激增。

在一些示例中,边缘环境可以包括企业边缘,其中可以经由无线和/或有线连接来促进与企业边缘的通信和/或在企业边缘内的通信。各种边缘、雾、mec和iot网络、设备和服务的部署引入了许多高级用例和场景,这些用例和场景发生在网络边缘以及朝向网络边缘发生。但是,这些高级用例还引入了与安全性、处理和网络资源、服务可用性和效率以及许多其他问题相关的许多相应技术挑战。此挑战之一是与边缘、雾、mec和iot网络、设备以及代表端点设备执行工作负载的服务有关。

可以结合当前联网系统的许多方面来利用本技术和配置,但是参考边缘云、iot、多接入边缘计算(mec)和其他分布式计算部署来提供本技术和配置。以下系统和技术可以在各种分布式、虚拟化或管理边缘计算系统中实现或增强。这些环境包括使用多接入边缘计算(mec)、第四代(4g)或第五代(5g)无线网络配置实现或管理网络服务的环境;或在涉及光纤、铜缆和其他连接的有线网络配置中实现或管理网络服务的环境。此外,由各个计算组件进行的处理的方面可以涉及在用户设备地理邻近或其他端点位置的计算元件,诸如智能手机、车辆通信组件、iot设备等。此外,当前公开的技术可以涉及其他边缘/mec/iot网络通信标准和配置,以及其他中间处理实体和结构。

边缘计算是一种发展中的范例,其中通常通过使用在基站、网关、网络路由器或距离更靠近生成和使用数据的端点设备的设备上实现的计算平台,在网络的“边缘”处或更接近网络的“边缘”处执行计算。例如,边缘网关服务器可以配备有存储器池和存储资源,以针对所连接的客户端设备的低时延用例(例如,自动驾驶或视频监视)实时地执行计算。或者作为示例,可以用计算和加速资源来扩展基站,以直接处理所连接的用户设备的服务工作负载,而无需经由回传网络进一步通信数据。或作为另一示例,可以用执行虚拟化网络功能并提供用于执行所连接设备的服务和消费者功能的计算资源的计算硬件来代替中央办公室网络管理硬件。

边缘环境包括位于云环境与端点环境之间的网络和/或网络的一部分。边缘环境使能计算网络边缘的工作负载。例如,端点设备可以请求附近的基站而不是云环境中的中央服务器来计算工作负载。边缘环境包括边缘服务,边缘服务包括存储器池、存储资源和处理资源。边缘服务代表其他边缘服务和/或边缘节点执行计算,诸如工作负载的执行。边缘环境促进了生产者(例如,工作负载执行者、边缘服务)和消费者(例如,其他边缘服务、端点设备)之间的连接。

因为边缘服务比云环境中的集中式服务器更靠近端点设备,所以边缘服务使能以比云环境更低的时延(例如,响应时间)来计算工作负载。边缘服务还可以基于地理位置或网络拓扑来实现工作负载的本地化执行。例如,端点设备可能需要在第一地理区域中执行工作负载,但是集中式服务器可以位于第二地理区域中。端点设备可以请求由位于第一地理区域中的边缘服务执行工作负载以符合公司或规章限制。

要在边缘环境中执行的工作负载的示例包括自动驾驶计算、视频监管监视、机器学习模型执行以及实时数据分析。工作负载的其他示例包括传递和/或编码媒体流、测量广告印象率、媒体流中的对象检测、语音分析、资产和/或库存管理以及增强现实处理。

边缘服务使得执行工作负载以及执行的工作负载的结果返回到端点设备的响应时间比云环境中服务器的响应时间短。例如,如果边缘服务比云服务器更靠近网络上的端点设备,则边缘服务可以比云服务器更快地响应来自端点设备的工作负载执行请求。端点设备可以从边缘服务而不是云服务器请求执行时间受限的工作负载。

另外,边缘服务使能工作负载执行分布和分散。例如,端点设备可以请求第一工作负载执行和第二工作负载执行。在一些示例中,云服务器可以响应两个工作负载执行请求。但是,在边缘环境中,第一边缘服务可以执行第一工作负载执行请求,第二边缘服务可以执行第二工作负载执行请求。

为了满足端点设备的低时延和高带宽需求,边缘云中的编排必须基于关于许多资源(例如,硬件资源、软件资源、虚拟硬件资源和/或软件资源等)的利用的及时资源利用信息以及这些资源能够满足对它们的要求的效率来执行。在本文公开的示例中,此资源利用信息通常被称为遥测(例如,遥测数据、遥测信息等)。

可以为多个源生成遥测,多个源包括单独的硬件组件和/或其一部分、虚拟机(vm)、操作系统(os)、应用和/或编排器。遥测可以由编排器、调度器等使用来确定要计划执行的计算任务的数量和/或类型,以及确定在哪个资源或其一部分上执行。遥测还可用于基于历史和/或当前(例如,即时或接近即时)遥测来确定完成此类计算任务的预期时间。例如,多核中央处理单元(cpu)的核可以使用对核进行采样的性能监视单元(pmu)和/或更一般地,多核cpu每隔几分之一秒生成上千多种不同的信息。在给定的边缘平台、边缘服务等中定期聚合和处理所有此类遥测是一个艰巨而繁琐的过程。优先感兴趣的显著特征并从遥测中提取这些显著特征以识别与资源相关的当前或将来的问题、压力源等,这是困难的。此外,识别不同的资源以从负担重的资源中减轻工作负载是一项复杂的工作。

一些边缘环境期望获得与执行各种功能或服务的资源相关联的遥测数据,诸如数据处理或视频分析功能(例如,机器视觉、用于自动驾驶车辆的图像处理、面部识别检测、视觉对象检测,等等)。但是,许多高吞吐量工作负载(包括一个或多个视频分析功能)可能会执行不到一毫秒(例如,时间间隔的精细粒度)。这样的边缘环境不具有能够监视在平台(例如,资源平台、硬件平台、软件平台、虚拟化平台)上执行的此类精细粒度无状态功能的分布式监视软件或硬件方案或其组合。

本文公开的示例基于边缘环境中的遥测数据的聚合来改进计算任务到边缘服务的分发。在一些公开的示例中,遥测控制器虚拟化边缘环境中的硬件和/或软件资源,以使用与资源无关的命令(例如,机器可读命令)、方向(例如,机器可读的方向)、指令(例如,机器可读指令)来收集遥测数据。例如,遥测控制器可以生成硬件和/或软件资源的模型(例如,机器可读模型),该模型可以被聚合为模型的组合。在此种示例中,请求或订阅的设备或服务(例如,软件服务)可以通过查询相应的模型组成来从硬件和/或软件资源的系统请求遥测。有利地,设备或服务可以使用机器可读命令来请求遥测,该机器可读命令可以是通用的而不是特定于底层硬件和/或虚拟资源的。

本文公开的示例基于遥测数据改进了计算任务到边缘服务的分发。遥测数据由与资源(例如,硬件资源、软件资源等,和/或其组合)相关联的对象生成。如本文中所使用的,术语“对象”是指机器可读定义、数据结构、指令等的逻辑块,和/或包括逻辑块的物理块(例如,存储器和/或存储的块或部分)。逻辑块可以实现功能、接口和/或其他机器可读模型或资源表示。逻辑块可以指可以被编写的代码(例如,人类可读代码、机器可读代码等),使得对象可以监视资源的分区、部分、切片等。例如,可以使用编译的目标代码、源代码等来实现对象,该目标代码、源代码等在被执行时可以将一个或多个对象接口暴露给软件堆栈(例如,平台软件堆栈、系统软件堆栈等)。在此种示例中,一个或多个对象接口在被调用时可以提供和/或开放由资源生成的和/或与之相关联的遥测数据。例如,遥测数据可以包括对资源的一个或多个过程、服务等的执行的跟踪。

本文公开的示例对象可以被组织为资源对象或遥测对象。例如,资源对象可以是基于硬件和/或软件资源的对象。在其他示例中,遥测对象可以是基于与硬件和/或软件资源的接口的对象。

在一些公开的示例中,遥测控制器将诸如多核cpu的核(例如,计算核、处理器核等)的硬件资源虚拟化为资源对象。资源对象可以包括资源信息对象(rio)和rio接口。在此种示例中,遥测控制器可以通过将关于核的能力或功能和/或更一般地关于核的描述性信息或识别信息,封装到代表核的虚拟的面向对象的数据结构中来生成rio。示例遥测控制器可以通过封装命令、指令等来生成rio接口,该命令、指令等在被执行或调用时可以使核执行任务(例如,计算任务),诸如确定、测量和/或生成感兴趣的遥测数据。

在一些公开的示例中,遥测控制器将遥测资源(诸如,到多核cpu的核的数据接口)虚拟化为遥测对象。遥测对象可以包括遥测信息对象(tio)和tio接口。在此种示例中,遥测控制器可以通过将关于数据接口的功能或功能和/或更一般地关于数据接口的描述性信息或识别信息,封装到代表数据接口的虚拟的面向对象的数据结构中来生成tio。示例遥测控制器可以通过封装命令、指令等来生成tio接口,该命令、指令等在执行或调用时可以使数据接口执行任务,诸如从核请求感兴趣的遥测数据。

在一些公开的示例中,遥测控制器为一个或多个边缘服务资源生成rio和相应的rio接口。示例遥测控制器可以生成边缘服务组合(composition),该边缘服务组合可以表示边缘服务的一个或多个rio和/或rio接口之间的数据共享关系、功能关系等。例如,该组合可以表示一个或多个接口以获得与边缘服务的资源相关联的遥测数据。在一些公开的示例中,遥测控制器生成边缘环境组成,该边缘环境组合可以表示边缘服务组合中的一些之间的数据共享关系、功能关系等。在一些公开的示例中,遥测控制器可以响应于连接到边缘环境或从边缘环境断开的资源来自适应地并且动态地调整不同的组合。

在一些公开的示例中,遥测控制器在计算环境的各个层级分层(例如,代表资源的第一层、代表包括多个资源的边缘服务的第二层、代表包括一个或多个边缘服务的边缘环境的第三层等)编排遥测数据的生成和获取。有利地,示例遥测控制器可以使得以不同的粒度范围来生成和/或获得遥测数据,从边缘服务的多核cpu的核的硬件计数器、软件计数器等,到由边缘服务管理的多个资源的吞吐量。在一些公开的示例中,遥测控制器可以基于遥测数据的期望粒度来改进要由边缘环境的资源执行的计算任务的分布和效率。

图1描绘了示例环境(例如,计算环境)100,其包括示例云环境105、示例边缘环境110和示例端点环境115,以调度、分发和/或执行工作负载(例如,一个或多个计算或处理任务)。在图1的示例中,云环境105包括第一示例服务器112、第二示例服务器114、第三示例服务器116、示例遥测控制器130a的第一实例以及示例数据库(例如,云数据库、云环境数据库)135。替代地,示例云环境105可以包括比图1中描绘的服务器112、114、116更少或更多的服务器。示例服务器112、114、116可以执行集中式应用(例如,网站托管、数据管理、机器学习模型应用、响应来自客户端设备的请求等)。

在图1的所示示例中,遥测控制器130a促进与云环境105、边缘环境110或端点环境115中的至少一个相关联的示例遥测数据136a-c的生成和/或获取。在图1的示例中,数据库135存储遥测数据136a-c以及包括至少第一示例可执行文件137和第二示例可执行文件139的示例可执行文件137、139。替代地,数据库135可以包括比第一可执行文件137和第二可执行文件139更少或更多的可执行文件。例如,可执行文件137、139可以是生成遥测的可执行程序,该可执行程序在被执行时可以生成遥测数据136a-c。

在图1的所示示例中,遥测数据136a-c包括第一示例遥测数据136a、第二示例遥测数据136b和第三示例遥测数据136c。在图1的示例中,第一遥测数据136a和第二遥测数据136b可以由边缘环境110生成。在图1的示例中,第三遥测数据136c可以由服务器112、114、116,数据库135等中的一个或多个和/或更一般地由云环境105生成。

在图1的所示示例中,云环境105包括数据库135以记录数据(例如,遥测数据136a-c、可执行文件137、139等)。在一些示例中,数据库135存储包括数据库记录、网站请求、机器学习模型以及执行机器学习模型的结果的信息。示例数据库135可以由易失性存储器(例如,同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、rambus动态随机存取存储器(rdram)等)和/或非易失性存储器(例如,闪存)来实现。数据库135可以附加地或替代地由一个或多个双倍数据速率(ddr)存储器来实现,诸如ddr、ddr2、ddr3、ddr4、移动ddr(mddr)等。示例数据库135可以附加地或替代地由一个或多个大容量存储设备实现,诸如硬盘驱动器、光盘驱动器、数字通用磁盘驱动器、固态磁盘驱动器等。虽然在所示示例中,数据库135被示为单个数据库,但是数据库135可以由任何数量和/或类型的数据库来实现。此外,存储在数据库135中的数据可以是任何数据格式,诸如例如二进制数据、逗号分隔的数据、制表符分隔的数据、结构化查询语言(sql)结构等。

在图1的所示示例中,服务器112、114、116经由诸如互联网之类的网络与边缘环境110和/或端点环境115中的设备通信。同样,示例数据库135可以响应于来自云环境105、边缘环境110和/或端点环境115中的设备的请求来提供和/或存储数据记录。

在图1的所示示例中,边缘环境110包括第一示例边缘服务140和第二示例边缘服务150。在图1中,边缘服务140、150是边缘计算平台或平台服务。例如,边缘服务140、150可以包括硬件和/或软件资源、硬件和/或软件资源的虚拟化、和/或其组合等。在此种示例中,边缘服务140、150可以执行从边缘或端点设备获得的工作负载,如图1的示例所示。

在图1的所示示例中,第一边缘服务140包括遥测控制器130b的第二实例、第一可执行文件137、第一示例编排器142、第一示例调度器144、第一示例组合146、第一示例边缘服务(es)数据库148和第一示例资源149。在图1的示例中,第一可执行文件137包括和/或实现第一组合146。替代地,第一示例组合146可以不被包括在第一可执行文件137中。例如,第一组合146可以被提供给第一边缘服务140和/或被第一边缘服务140访问来作为服务(例如,功能即服务(faas)、软件即服务(saas)等)。在此种示例中,第一组合146可以由服务器112、114、116中的一个或多个托管。在图1中,第一es数据库148包括第一遥测数据136a。

在图1的所示示例中,第二边缘服务150包括遥测控制器130c的第三实例、第二可执行文件139、第二示例编排器152、第二示例调度器154、第二示例组合、第二示例es数据库158和第二示例资源159。在图1的示例中,第二可执行文件139包括和/或实现第二组合156。替代地,第二示例组合156可以不被包括在第二可执行文件139中。例如,第二组合156可以被提供给第二边缘服务150和/或被第二边缘服务150访问来作为服务(例如,faas,saas等)。在此种示例中,第二组合156可以由服务器112、114、116中的一个或多个托管。在图1中,第二es数据库158包括第二遥测数据136b。

在图1的所示示例中,边缘服务140、150包括es数据库148、158,以记录数据(例如,第一遥测数据136a、第二遥测数据136b等)。示例es数据库148、158可以由易失性存储器(例如,sdram、dram、rdram等)和/或非易失性存储器(例如,闪存)来实现。示例es数据库148、158可以附加地或可替代地由一个或多个ddr存储器来实现,诸如ddr、ddr2、ddr3、ddr4、mddr等。示例es数据库148、158可以附加地或替代性地由一个或多个大容量存储设备实现,诸如硬盘驱动器、光盘驱动器、数字多功能磁盘驱动器、固态磁盘驱动器等。虽然在所示示例中,es数据库148、158被示出为单个数据库,但是es数据库148、158可以由任何数量和/或类型的数据库来实现。另外,存储在示例es数据库148、158中的数据可以是任何数据格式,诸如二进制数据、逗号分隔数据、制表符分隔数据、sql结构等。

在一些示例中,第一边缘服务140可以由单个边缘计算平台(例如,单个处理器平台)执行和/或实现。在其他示例中,第一边缘服务140可以由两个或更多个边缘计算平台执行和/或实现。例如,第一边缘服务140和/或其部分可以分布在图1中描绘的两个或更多个示例端点设备160、165、170、175、180、185之间。在其他示例中,第一边缘服务140和/或其部分可以分布在两个或更多个边缘计算平台之间。例如,如图1所示,第一边缘服务140的一个或多个部分和/或更一般地其整体可以由第二边缘服务150执行和/或实现。遥测控制器130b的第二实例、第一编排器142、第一调度器144、第一可执行文件137、第一组合146、第一资源149、第一es数据库148和/或第一遥测数据136a中的一个或多个可以由一个或多个不同的边缘服务(诸如,图1的第二边缘服务150)分发以用于执行、实施、存储等和/或其组合。

在一些示例中,第二边缘服务150可以由单个边缘计算平台(例如,单个处理器平台)执行和/或实现。在其他示例中,第二边缘服务150可以由两个或更多个边缘计算平台执行和/或实现。例如,第二边缘服务150和/或其部分可以分配在图1所示的两个或更多个端点设备160、165、170、175、180、185之间。在其他示例中,第二边缘服务150和/或其部分可以分配在两个或更多个边缘计算平台之间。例如,如图1所示,第二边缘服务150的一个或多个部分和/或更一般而言,其整体可以由第一边缘服务150执行和/或实现。遥测控制器130c的第三实例、第二编排器152、第二调度器154、第二可执行文件139、第二组合156、第二资源159、第二es数据库158和/或第二遥测数据136b中的一个或多个可以由一个或多个不同的边缘服务(例如,图1的第一边缘服务140)分发以用于执行、实施、存储等和/或其组合。

在图1所示的示例中,遥测控制器130b、第一编排器142、第一调度器144、第一组合146和第一资源149被包括在,对应于和/或表示第一边缘服务140。但是,在一些示例中,遥测控制器130b、第一编排器、第一调度器144、第一组合146和/或第一资源149中的一个或多个可以被包括在位于第一边缘服务140之外或外部的边缘环境110中。例如,第一编排器142可以连接到云环境105和/或端点环境115同时位于第一边缘服务140的外部。在其他示例中,遥测控制器130b、第一编排器142、第一调度器144、第一组合146和/或第一资源149中的一个或多个是被包括在边缘环境110中的单独设备。在某些示例中,遥测控制器130b、第一编排器142、第一调度器144、第一组合146和/或第一资源149中的一个或多个可以被包括在云环境105或端点环境115中。例如,第一编排器142可以被包括在端点环境115中,或者第一组合146可以被包括在云环境105中的第一服务器112中。在一些示例中,第一调度器144可以被包括在第一编排器142和/或与第一编排器142集成或组合。

在图1所示的示例中,遥测控制器130c、第二编排器152、第二调度器154、第二组合156和第二资源159被包括在第二边缘服务150中。但是,在一些示例中,遥测控制器130c、第二编排器152、第二调度器154、第二组成156和/或第二资源159中的一个或多个可以被包括在边缘环境110中,而不是被包括在第二边缘服务150中。例如,第二编排器152可以被连接到云环境105和/或端点环境115,同时在第二边缘服务150的外部。在其他示例中,遥测控制器130c、第二编排器152、第二调度器154、第二组成156和/或第二资源159是被包括在边缘环境110中的单独设备。在一些示例中,遥测控制器130c、第二个编排器152、第二调度器154、第二边缘服务组合156和/或第二资源159中的一个或多个可以被包括在云环境105或端点环境115中。例如,第二编排器152可以被包括在端点环境115中,或第二组成156可以被包括在云环境105中的第二服务器114中。在一些示例中,第二调度器154可以被包括在第二编排器152中和/或与第二编排器152集成或组合。

在图1的所示示例中,资源149、159被调用以执行从端点环境115获得的工作负载(例如,边缘计算工作负载)。例如,资源149、159可以对应于边缘节点和/或代表边缘节点或其部分。例如,遥测控制器130b-c,可执行文件137、139,编排器142、152,调度器144、154和/或更一般地,边缘服务140、150可以调用资源149、159中的相应一个来执行一个或多个边缘计算工作负载。

在一些示例中,资源149、159代表硬件资源、虚拟化的硬件资源、软件资源、虚拟化的软件资源等、和/或其组合。例如,资源149、159可以包括,对应于和/或以其他方式表示一个或多个cpu(例如,多核cpu)、一个或多个fpga、一个或多个gpu、一个或多个网络接口卡(nic)、一个或多个视觉处理单元(vpu)等、和/或任何其他类型的硬件或硬件加速器。在此种示例中,资源149、159可以包括,对应于和/或以其他方式表示虚拟化的一个或多个cpu、一个或多个fpga、一个或多个gpu、一个或多个nic等。在其他示例中,编排器142、152,调度器144、154,资源149、159和/或更一般地,边缘服务140、150可以包括,对应于和/或以其他方式表示一个或多个软件资源、虚拟化的软件资源等(诸如管理程序,负载平衡器、os、vm等)和/或其组合。

在图1的所示示例中,边缘服务140、150连接到云环境105中的服务器112、114、116和/或以彼此通信地连接到云环境105中的服务器112、114、116。示例边缘服务140、150可以代表与云环境105、边缘环境110或端点环境115关联的设备执行工作负载。示例边缘服务140、150可以经由网络(诸如,互联网)连接到环境105、110、115中的设备(例如,第一服务器112、数据库135等)和/或与之通信。附加地或替代地,示例边缘服务140、150可以使用任何合适的无线网络与环境105、110、115中的设备通信,该无线网络包括例如一个或多个无线局域网(wlan)(例如,无线保真(wi-fi)网络、远程无线网络等)、一个或多个蜂窝或移动运营商网络(例如,全球移动通信系统(gsm)网络、长期演进(lte)网络、5g/6g网络等)、一个或多个对等网络(例如,蓝牙网络、wi-fi直连网络、车对万物(v2x)网络等)、一个或多个专用网络、一个或多个公共网络等。例如,边缘服务140、150可以连接到被包括在云环境105中的一个或多个蜂窝塔,并且经由一个或多个蜂窝塔连接到第一服务器112。

在图1的所示示例中,端点环境115包括端点设备160、165、170、175、180、185,其包括第一示例端点设备160、第二示例端点设备165、第三示例端点设备170、第四示例端点设备175、第五示例端点设备180、和第六示例端点设备185。替代地,可以具有比图1的端点环境115中描绘的端点设备160、165、170、175、180、185少或多的端点设备。

在图1的所示示例中,端点设备160、165、170、175、180、185是计算设备。例如,端点设备160、165、170、175、180、185中的一个或多个可以是支持互联网的平板电脑、移动手持机(例如,智能手机)、手表(例如,智能手表)、健身追踪器、耳机、车辆控制单元(例如,引擎控制单元、电子控制单元等)、iot设备等。在其他示例中,端点设备160、165、170、175、180、185中的一个或多个可以是物理服务器(例如,机架安装服务器、刀片服务器等)。在又一示例中,端点设备160、165、170、175、180、185中的一个或多个可以是具有一个或多个有线接口的设备(例如,包括一个或多个处理器的设备、计算设备等),例如,局域网(lan)接口、光纤接口、高清多媒体接口(hdmi)、视频图形阵列(vga)接口、数字视觉接口(dvi)等。例如,端点设备160、165、170、175、180、185中的一个或多个可以是台式计算机、互联网设备、游戏机、膝上型计算机、在线媒体播放器(例如,能够提供超媒体服务的设备)、机顶盒,电视机等。在其他或替代示例中,端点设备160、165、170、175、180、185中的一个或多个可以包括相机、传感器等。

在图1的所示示例中,第一至第三端点设备160、165、170连接到第一边缘服务140。此外,在图1的示例中,第四到第六端点设备175、180、185连接到第二边缘服务150。附加地或替代地,示例端点设备160、165、170、175、180、185中的一个或多个可以连接到任意数量的边缘服务(例如,边缘服务140、150)、服务器(例如,服务器112、114、116)或被包括在图1的环境105、110、115中和/或与之相关联的任何其他合适的设备。例如,第一端点设备160可以连接到边缘服务140、150和第二服务器114。

在图1的所示示例中,端点设备160、165、170、175、180、185中的一个或多个可以经由诸如互联网的网络连接到环境105、110、115中的一个或多个设备。附加地或替代地,端点设备160、165、170、175、180、185中的一个或多个可以使用任何合适的无线网络与环境105、110、115中的设备进行通信,该无线网络包括例如一个或多个wlan、一个或多个蜂窝网络、一个或多个对等网络、一个或多个专用网络、一个或多个公共网络等。在一些示例中,端点设备160、165、170、175、180、185可以被连接到包括在一个或多个环境105、110、115中的一个或多个蜂窝塔。例如,第一端点设备160可以连接到包括在边缘环境110中的蜂窝塔,并且该蜂窝塔可以连接到第一边缘服务140。

在一些示例中,端点设备160、165、170、175、180、185中的一个或多个可以使用任何合适的有线网络与环境105、110、115中的设备通信,该有线网络包括例如一个或多个lan、一个或多个光纤网络、一个或多个同轴网络等。例如,第一计算设备160可以是经由hdmi接口、光纤接口、lan接口等和/或其组合连接到第一边缘服务140(例如,在机顶盒、在线流设备、网关等上执行和/或由其实现的边缘服务)的电视。在其他示例中,第二计算设备165可以是经由hdmi接口、lan接口等和/或其组合连接到第一边缘服务140(例如,在电视、网关、互联网设备等上执行和/或由其实现的边缘服务)的游戏控制台。

在一些示例中,响应于来自端点设备(例如,第一端点设备160)执行工作负载的请求,编排器(例如,第一编排器142)可以与至少一个资源(例如,第一资源149)和端点设备(例如,第二端点设备165)来创建与要执行的工作负载的描述相关联的合约(例如,工作负载合约)。第一示例端点设备160可以将与合约和工作负载的描述相关联的任务提供给第一编排器142,并且第一编排器142可以将该任务提供给调度器(例如,第一调度器144)。任务可以包括合约和要执行的工作负载的描述。在一些示例中,任务可以包括获得和/或分配用于执行工作负载的资源的请求。

在一些示例中,编排器142、152维护在环境105、110、115中发生的动作的记录和/或日志。例如,第一资源149可以将接收到工作负载描述通知给第一编排器142。编排器142、152,调度器144、154和/或资源149、159中的一个或多个可以向编排器142、152提供动作和/或资源分配的记录。第一编排器142可以维护或存储接收执行工作负载的请求(例如,第一端点设备160提供的合约请求)的记录。

在一些示例中,调度器144、154可以访问由编排器142、152接收和/或获得的任务,并将该任务提供给一个或多个资源149、159以执行或完成。资源149、159可以基于任务中包括的工作负载的描述来执行工作负载。示例调度器144、154可以从执行工作负载的一个或多个资源149、159中访问工作负载的执行结果。调度器144、154可以将结果提供给请求执行工作负载的设备,诸如第一端点设备160。

有利地,示例边缘环境110中工作负载的执行可以减少成本(例如,估算或计算成本、网络成本、存储成本等,和/或其组合)和/或用于执行工作负载的处理时间。例如,第一端点设备160可以请求第一边缘服务140以比与在云环境105中执行工作负载相关联的第二成本低的第一成本,来执行工作负载。在其他示例中,端点设备(诸如,第一至第三端点设备160、165、170)可以比云环境105中的集中式服务器(例如,服务器112、114、116)更靠近(例如,在空间或地理上)和/或接近诸如第一边缘服务140的边缘服务。例如,第一边缘服务140在空间上比第一服务器112更靠近第一端点设备160。因此,第一示例端点设备160可以请求第一边缘服务140执行工作负载,并且第一边缘服务140传递执行的工作负载结果的响应时间比云环境105中的第一服务器112所提供的响应时间短。

在图1的示出的示例中,遥测控制器130a-c基于与云环境105、边缘环境110或端点环境115中的至少一个相关联的遥测数据136a-c来改进边缘计算工作负载(例如,在边缘服务140、150之间)的分发和执行。例如,遥测控制器130a-c可以确定第一边缘服务140和/或第二边缘服务150具有资源149、159中的一个(或多个)可用资源,诸如硬件资源(例如,计算资源、网络资源、安全性资源、存储资源等)、软件资源(例如,防火墙、负载平衡器、虚拟机(vm)、顾客操作系统(os)、应用、编排器142,152、管理程序等)和/或其组合,基于遥测数据136a-c,可以从其执行边缘计算工作负载。在此种示例中,遥测数据136a-c可以包括利用率(例如,被利用或未被利用的资源的百分比)、接收服务中的延迟(例如,平均延迟)(例如,时延)、资源可用的速率(例如,平均速率)(例如,带宽、吞吐量等)、功率消耗等,其与第一边缘服务140或第二边缘服务150中的至少一个的一个(或多个)资源149、159相关联。

在一些示例中,第一遥测可执行文件137在被执行时生成第一遥测数据136a。在一些示例中,第二遥测可执行程序139在被执行时生成第二遥测数据136b。在一些示例中,遥测可执行文件137、139在被执行时可以通过调用组合146、156中的相应一个来生成遥测数据136a-b。

在一些示例中,与软件资源(例如,资源149、159中的一个或多个)相关联的组合146、156通常可以通过与一个或多个标签相对应的显化结构来描述,诸如一个或多个软件标识(swid)标签、一个或多个简洁的swid(coswid)标签等,和/或其组合。swid标签、coswid标签等可以提供基于xml的可扩展结构,以识别和描述各个软件组件、补丁程序和安装包。例如,swid和/或coswid标签可以包括相应软件资源的软件名称、版、版本等。在一些示例中,swid和/或coswid标签可以指示边缘服务140、150的可用资源以及边缘服务140、150的订阅设备的成员资格。订阅设备可以是服务器112、114、116中的一个,端点设备160、165、170、175、180、185中的一个,等,其可以访问、轮询、查询来自边缘服务140、150的遥测数据。不同的软件组件,甚至特定软件组件的不同发行版,都可以具有与之关联的不同swid标签记录。swid标签、coswid标签等是灵活的数据结构,其可以定义和/或以其他方式表示与软件组件、可执行文件、一组机器可读指令等相关联的大量元数据。在某些示例中,组成146、156由国际标准化组织(iso)标准iso-19770-2(例如,信息技术–软件资产管理-第2部分:软件标识标签,iso-19770-2:2015;2015)中定义的swid标签描述。

在一些示例中,与硬件资源(例如,资源149、159中的一个或多个)相关联的组成146、156通常可以通过本体(例如,硬件资源本体)、分类法(例如,硬件资源分类法)、清单(例如,硬件资源清单)或平台属性证书(例如,硬件资源平台属性证书、可信计算组(tcg)平台)属性证书或凭据等)来描述。

在一些示例中,可以使用参考完整性度量(rim)和/或基于参考完整性度量(rim)管理或跟踪硬件或软件的组合(例如,硬件组合、软件组合,组合146、156中的一个或多个等)。在一些示例中,可以通过将变化记录到中央记录服务或分散式记录服务(诸如基于区块链的记录系统)来管理或跟踪组成146、156。例如,响应于检测到组合146、156的当前或上一个已知状态的变化,组合146、156可以更新服务器112、114、116,数据库135等中的一个。在这些示例中,数据库135可以存储组合146、156的上一个已知状态。响应于组合146、156的状态变化,组合146、156中的已更改状态的一个可以调用服务器112、114、116来更新存储在数据库135中的上一个已知状态。在其他示例中,遥测控制器130b-c,编排器152、162,调度器154、164等,和/或更一般地,边缘服务140、150可以触发服务器112、114、116来将组合146、156的上一个已知状态更新到当前已知状态。

在图1的所示示例中,组合146、156可以是与一个或多个资源149、159相关联的资源组合、与边缘服务140、150相关联的边缘服务组合等。在图1的示例中,组成146、156包括、对应于和/或表示数据模型、信息模型、机器可读资源模型等,表示资源149、159和/或更一般地,边缘服务140、150的硬件资源、软件资源等的虚拟化,其可以促进边缘计算遥测的聚合。例如,组合146、156可以表示一个或多个接口,以生成和/或获得与边缘服务140、150的资源149、159相关联的遥测数据136a-c。在一些示例中,组合146、156包括一个或多个资源组合,每个可以包括一个或多个资源模型。例如,资源模型可以包括、对应于和/或表示硬件资源或软件资源的虚拟化。

在一些示例中,第一组合146包括至少一个与计算资源(例如,cpu、fpga、gpu、nic等)的虚拟化相对应的第一资源模型。在此种示例中,第一资源模型可以包括资源对象和遥测对象。资源对象可以是和/或对应于多核cpu的核、fpga的一个或多个硬件部分、gpu的一个或多个线程等的能力和/或功能。遥测对象可以是和/或对应于与多核cpu的核、fpga的一个或多个硬件部分、gpu的一个或多个线程等的接口(例如,遥测接口)。遥测对象可以包括、对应于和/或表示一个或多个应用程序编程接口(api)、调用(例如,硬件调用、系统调用等)、挂钩(hook)等,其在被执行时可以从计算资源获得遥测数据。

在示例操作中,第一边缘服务140可以调用第一组合146和/或更一般地,调用第一遥测可执行程序137,以确定、生成和/或获得第一遥测数据136a。例如,第一资源149可以包括可由端点设备160、165、170、175、180、185用于边缘计算任务的硬件资源,其中硬件资源可以至少包括多核cpu和固态磁盘(ssd)驱动器。在此种示例中,第一组合146可以至少包括与多核cpu的核相对应的第一资源模型和与ssd驱动器的分区相对应的第二资源模型。第一组合146可以确定第一遥测数据136a,例如核可以执行的千兆赫兹(ghz)的量,核的利用率(例如,核被利用25%、被利用50%、被利用75%等),ssd分区的gb量、ssd分区的利用率等和/或其组合。

在示例操作中,响应于第一组合146确定和/或获得遥测数据136,第一边缘服务140可以将第一遥测数据136a发送到服务器112、114、116中的一个或多个。示例服务器112、114、116可以将第一遥测数据136a存储在数据库135中。在一些示例中,服务器112、114、116可以调用一个或两个编排器142、152来调整从端点设备160、165、170、175、180、185获得的工作负载到边缘服务140、150的分发。有利地,示例编排器142、152和/或更一般地,示例边缘服务140、150,通过将边缘计算工作负载分配或分派给基于遥测数据136a-c识别为可用的边缘服务140、150的资源149、159,可以提高边缘服务140、150的效率和利用率。有利地,通过将边缘计算工作负载分配给资源149、159中的可用资源,边缘示例服务140、150可以增加吞吐量并减少由边缘环境110执行的工作负载的时延。

图2描绘了图1的遥测控制器130a-c的示例框图。在图2的示例中,遥测控制器130a包括示例网络接口210、示例资源查询控制器220、示例组合控制器230、示例性能度量确定器232、示例对象生成器234、示例接口生成器236、示例组合生成器238、示例资源可用性控制器240和示例可执行文件控制器250。虽然图2的框图表示单个遥测控制器,但是图2的框图的多个实例可以用于实现多个遥测控制器,诸如图1的遥测控制器130a-c。

在图2的所示示例中,遥测控制器130a-c包括网络接口210,以从网络(例如,互联网、蜂窝网络、边缘网络、v2x网络等)、环境(例如,图1的云环境105、边缘环境110、端点环境115等)、和/或其组合获得信息和/或向其发送信息,等。在一些示例中,网络接口210实现web服务器,该web服务器(1)从端点设备160、165、170、175、180、185接收工作负载;(2)将遥测数据136a-c发送到服务器112、114、116等。在一些示例中,工作负载、遥测数据136a-c等被格式化为一个或多个超文本传输协议(http)消息。但是,可以附加地或替代地使用任何其他消息格式和/或协议,例如文件传输协议(ftp)、简单消息传输协议(smtp)、http安全(https)协议、v2x协议、蜂窝通信协议等。

在图2的所示示例中,遥测控制器130a-c包括资源查询控制器220以向环境(例如,图1的云环境105、边缘环境110、端点环境115等)轮询和/或查询与环境相关联的资源。在一些示例中,资源查询控制器220可以向感兴趣的环境生成发现或查询数据分组(例如,地址解析协议(arp)分组、http分组、https分组等)。例如,资源查询控制器220可以将一个或多个发现数据分组发送到图1的服务器112、114、116中的一个或多个、图1的边缘服务140、150中的一个或多个、图1的端点设备160、165、170、175、180、185中的一个或多个等,和/或其组合。

在一些示例中,资源查询控制器220响应于一个或多个发送的发现数据分组而获得一个或多个响应数据分组。例如,资源查询控制器220可以将发现数据分组发送到第一边缘服务140。在此种示例中,第一边缘服务140可以将一个或多个响应数据分组发送到资源查询控制器220。示例资源查询控制器220可以通过从一个或多个响应数据分组中提取资源数据或信息来确定第一边缘服务140包括一个或多个资源149。例如,资源查询控制器220可以基于提取的资源数据,确定资源149包括一个或多个cpu149、一个或多个cpu、一个或多个gpu、一个或多个fpga、一个或多个vm、一个或多个管理程序等。在此种示例中,资源查询控制器220可以确定一个或多个cpu、一个或多个gpu、一个或多个fpga等是特定制造商制造、型号、版本等或任何其他类型的识别信息。在其他示例中,资源查询控制器220可以确定一个或多个vm、一个或多个管理程序等是特定软件供应商、软件版本等。

在图2的所示示例中,遥测控制器130a-c包括组合控制器230,以自适应地和/或动态地生成用于感兴趣资源的机器可读模型(例如,资源模型、遥测模型等)。在图2的示例中,组合控制器230包括性能度量确定器232、对象生成器234、接口生成器236和组合生成器238。

在图2的所示示例中,组合控制器230包括性能度量确定器232,以确定、识别和/或选择要处理的感兴趣的性能度量。在一些示例中,性能度量确定器232确定资源(诸如多核cpu的核)具有可用于生成图1的遥测数据136a-c的感兴趣的一个或多个性能度量。例如,多核cpu的核可以具有代表可用线程数量的第一性能度量、代表核支持的加速器的第二性能度量、代表核时延的第三性能度量等。在一些示例中,性能度量确定器232选择感兴趣的性能度量进行处理。例如,性能度量确定器232可以选择第一、第二、第三等性能度量以生成对象(例如,资源对象、遥测对象等)和/或接口(例如,rio接口、tio接口等)。

在图2的所示示例中,组合控制器230包括对象生成器234,以基于资源生成、编译和/或实例化对象(例如,资源对象、遥测对象等)。在一些示例中,对象生成器234通过虚拟化硬件资源或软件资源来生成资源对象。在一些示例中,对象生成器234基于硬件资源生成资源对象。例如,对象生成器234可以生成用于硬件资源(诸如存储分区)的资源对象。在此种示例中,对象生成器234可以基于存储分区来生成rio,其中rio对应于与存储分区相关联的性能度量。例如,rio可以代表存储分区的性能度量,诸如由存储分区执行的读/写周期数量、存储分区的时延、可用于执行边缘计算工作负载的存储分区的百分比或部分等。

在一些示例中,对象生成器234基于硬件资源生成遥测对象。例如,对象生成器234可以生成用于存储分区的遥测对象。在此种示例中,对象生成器234可以基于存储分区来生成tio,其中tio对应于与存储分区相关联的性能度量。例如,tio可以表示存储分区的性能度量,诸如由存储分区执行的读/写周期数量、存储分区的时延,可用于执行边缘计算工作负载的存储分区数量等。

在一些示例中,对象生成器234基于软件资源生成资源对象。例如,对象生成器234可以生成用于软件资源的资源对象,诸如虚拟化的负载平衡器。在此种示例中,对象生成器234可以基于负载均衡器生成资源信息对象,其中资源信息对象对应于与负载均衡器相关联的性能度量。例如,资源信息对象可以表示负载均衡器的性能度量,诸如负载均衡器的当前或历史吞吐量、负载均衡器的时延、负载均衡器是否可用于执行边缘计算工作负载等。

在一些示例中,对象生成器234基于软件资源生成遥测对象。例如,对象生成器234可以为负载平衡器生成遥测对象。在此种示例中,对象生成器234可以基于负载均衡器生成tio,其中该tio对应于与负载均衡器相关联的性能度量。例如,tio可以代表负载均衡器的性能度量,诸如负载均衡器的当前或历史吞吐量、负载均衡器的时延,负载均衡器是否可用于执行边缘计算工作负载等。

在图2的所示示例中,组合控制器230包括接口生成器236,以基于rio、tio等生成、编译和/或实例化接口(例如,rio接口、tio接口等)。然后,接口生成器236基于rio生成rio接口。例如,接口生成器236可以为与存储分区相对应的rio生成rio接口。在此种示例中,接口生成器236可以基于存储分区来生成rio接口,其中,rio接口表示和/或对应于机器可读指令(例如,硬件调用、系统调用等),当机器可读指令被执行时,调用存储分区以获得和/或生成与和该存储分区相关联的性能度量相关联的遥测数据。例如,rio接口可以是遥测接口,因此可以代表命令、指令等,当被执行时可以向存储分区查询与存储分区关联的感兴趣的遥测数据。

在一些示例中,接口生成器236基于tio生成tio接口。例如,接口生成器236可以为与存储分区相对应的tio生成tio接口。在此种示例中,接口生成器236可以基于存储分区来生成tio接口,其中tio接口代表和/或对应于机器可读指令(例如,api、调用、挂钩等),当被执行时,调用rio以获得和/或生成与和存储分区关联的性能度量相关联的遥测数据。例如,tio接口可以代表命令、指令等,当被执行时可以调用rio以调用rio对象来向存储分区查询与存储分区相关联的感兴趣的遥测数据。

在图2的所示示例中,组合控制器230包括组合生成器238,以生成、编译和/或实例化与图1的资源149、159,和/或更一般地,与图1的边缘服务140、150相关联的组合(例如,资源组合、遥测组合等)。例如,组合控制器230可以生成图1的组合146、156。在此种示例中,组合控制器230可以通过基于不同资源对象、遥测对象等之间的关系来组成同构图来生成组合146、156。有利地,在一些示例中,组合控制器230可以生成组合146、156以生成与资源149、159中的一个或多个资源作为整体(例如,包括多核cpu和fpga的硬件平台)相关联的遥测数据,而不是与资源149、159的一部分(例如,多核cpu的核,fpga的硬件部分等)相关联的遥测数据。

在一些示例中,组合生成器238生成包括一个或多个资源对象或对象系统的资源组合。在此种示例中,组合生成器238可以聚合多个资源对象,使用无循环和/或循环图或子图链接多个资源对象中的一个或多个,并基于链接确定多个资源对象中的一个或多个是否是从属对象、对等耦合对象等。下面结合图6a-6c描述与资源组合有关的额外描述。

在一些示例中,组合生成器238生成包括一个或多个遥测对象的遥测组合。在此种示例中,组合生成器238可以聚合多个遥测对象,使用无循环和/或循环图或子图链接多个遥测对象中的一个或多个,并基于链接确定多个遥测对象中的一个或多个是是否从属对象、对等耦合对象等。面结合图7a-7c描述与遥测组成有关的额外描述。

在图2的所示示例中,遥测控制器130a-c包括资源可用性控制器240,以基于遥测数据136a-c确定和/或识别资源149、159中的一个或多个是否可用于执行边缘计算工作负载。在一些示例中,资源可用性控制器240可以基于第一遥测数据136a确定图1的第一资源149可用于执行第一端点设备160的工作负载。例如,工作负载可能需要fpga才能完成。在此种示例中,资源可用性控制器240可以基于包括资源组合、遥测组合等的第一组合146(对应于fpga)来确定第一边缘服务140的第一资源149包括fpga。有利地,资源可用性控制器240可以基于第一遥测数据136a确定与第一边缘服务140相关联的fpga可用。例如,第一遥测数据136a指示fpga具有空闲、使用不足和/或可用于执行工作负载的一个或多个硬件部分。在此种示例中,资源可用性控制器240可以将工作负载分发和/或分配给第一资源149以供执行。

在图2的所示示例中,遥测控制器130a-c包括可执行文件控制器250以基于图1的组合146、156来编译和/或生成图1的可执行文件137、139。在一些示例中,响应于组合生成器238和/或更一般地,组合控制器230,生成一个或多个资源组合(例如,硬件资源组合、软件资源组合等),可执行文件控制器250可以将一个或多个资源组合编译为一个或多个机器可读可执行文件。

在一些示例中,响应于第一遥测控制器130a的可执行文件控制器250编译可执行文件137、139,一个或多个服务器112、114、116可以将可执行文件137、139分发到相应的一个边缘服务140、150。例如,可执行文件控制器250可以发送和/或将(1)第一可执行文件137分发给第一边缘服务140;(2)将第二可执行文件139分发给第二边缘服务150,等等。在一些示例中,响应于边缘服务140、150之一的可执行文件控制器250编译可执行文件137、139中的相应一个,可执行文件控制器250可以将可执行文件137、139中的相应一个发送到服务器112、114、116中的一个或多个用于存储在数据库135中。

尽管图2中示出了实现图1的遥测控制器130a-c的示例方式,但是图2中所示的元件、过程和/或设备中的一个或多个可以以任何其他方式来组合、划分、重新布置、省略、消除和/或实现。此外,示例网络接口210、示例资源查询控制器220、示例组合控制器230、示例性能度量确定器232、示例对象生成器234、示例接口生成器236、示例组合生成器238、示例资源可用性控制器240、示例可执行文件控制器250和/或更一般地,图1的示例遥测控制器130a-c可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例网络接口210、示例资源查询控制器220、示例组合控制器230,示例性能度量确定器232、示例对象生成器234、示例接口生成器236、示例组合生成器238、示例资源可用性控制器240、示例可执行文件控制器250和/或更一般地,示例遥测控制器130a-c可以由一个或多个模拟或数字电路、逻辑电路、可编程处理器、可编程控制器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、可编程逻辑设备(pld)和/或现场可编程逻辑设备(fpld)来实现。当阅读本专利的涵盖纯软件和/或固件实现的任何装置或系统主张时,示例网络接口210、示例资源查询控制器220、示例组合控制器230、示例能度量确定器232、示例对象生成器234、示例接口生成器236、示例组合生成器238、示例资源可用性控制器240和/或示例可执行文件控制器250在此被明确地定义为包括非瞬时性计算机可读的存储设备或存储磁盘,诸如存储器、数字多功能磁盘(dvd)、光盘(cd)、蓝光光盘等,包括软件和/或固件。更进一步地,图1的示例遥测控制器130a-c,除了或代替图2中所示的那些元件之外,还可以包括一个或多个元件、过程和/或设备,和/或可以包括所示出的元件、过程和设备中的任何一个或全部中的不止一个。如本文所使用的,短语“在通信中”(包括其变体)包括通过一个或多个中间组件的直接通信和/或间接通信,并且不需要直接的物理(例如,有线)通信和/或恒定的通信,而是此外,它还包括定期间隔、计划间隔、非周期性间隔和/或一次性事件的选择性通信。

在图2的所示示例中,遥测控制器130a-c包括用于在边缘环境(例如,边缘环境110)中组成边缘服务(例如,边缘服务140、150)的组合(例如,组合146、156)的模块,其中该组合可以表示用于获得与边缘服务的资源(例如,资源149、159)关联的遥测数据(例如,遥测数据136a-c)的第一接口,该遥测数据包括性能度量。

在一些示例中,用于组成的模块可以确定第二资源对象(例如,资源对象302中的第二个)依赖于第一资源对象(例如,资源对象302中的第一个),并响应于该确定,将第二遥测对象(例如,遥测对象304中的第二个)分派为依赖于第一遥测对象(例如,遥测对象304中的第一个),其中第二遥测对象对应于第二资源对象。

在一些示例中,响应于确定第二资源对象依赖于第一资源对象,用于组成的模块可以通过将第二资源对象分派为依赖于第一资源对象,并且将第二遥测对象分派为依赖于第一遥测对象,来生成新的组合(例如,图1的组合146、156)。在一些示例中,组合生成器238实现用于组成的模块。

在图2的所示示例中,遥测控制器130a-c包括用于基于性能度量生成资源对象(例如,资源对象302)的模块,其中该资源对象表示第一接口,其中第一接口可以从资源(例如,图1的资源149、159中的一个或多个)获得性能度量。在一些示例中,用于生成的模块基于性能度量来生成遥测对象,其中遥测对象代表第二接口,其中第二接口可以从资源对象获得性能度量。

在一些示例中,用于生成的模块基于事件(例如,硬件事件、资源事件等)来生成rio接口(例如,图3的rio接口308),其中rio接口可以表示从资源(例如,图3的资源310)获得性能度量的第一指令。在一些示例中,用于生成的模块基于资源的功能来生成rio(例如,图3的rio306),其中rio可以表示从rio接口获得性能度量的第二指令。

在一些示例中,用于生成的模块基于遥测调用(例如,api)生成tio接口(例如,图3的tio接口314),其中tio接口可以表示从端点环境(例如,图1的端点环境115)获得针对遥测数据(例如,图1的遥测数据136a-c)的请求的第一指令。在一些示例中,用于生成的模块基于第一指令来生成tio(例如,图3的tio312),其中tio可以表示从资源对象获得性能度量的第二指令。

在一些示例中,用于生成的模块通过虚拟化硬件资源或软件资源(例如,图1的资源149、159)来生成第一资源对象(例如,图3的资源对象302中的第一个)。在一些示例中,用于生成的模块生成表示一个或多个指令的第一遥测对象(例如,图3的遥测对象304中的第一个)以调用第一资源对象来获得与硬件资源或软件资源相关联的性能度量。在一些示例中,用于生成的模块基于第二资源生成第二资源对象和第二遥测对象,其中第二资源可以与第一资源不同。在此种示例中,第二资源对象可以依赖于第一资源对象,并且第二遥测对象可以依赖于第一遥测对象。在一些示例中,对象生成器234和/或接口生成器236实现用于生成的模块。

在图2的所示示例中,遥测控制器130a-c包括用于将性能度量映射到资源(例如,图1的资源149、159)的功能的第一模块,其中性能度量可基于资源执行功能来确定。

在一些示例中,用于映射的第一模块将性能度量映射到遥测资源的功能,其中遥测资源可以表示从资源对象(例如,图3的资源对象302)获得遥测数据(例如,图1的遥测数据136a-c)的指令,其中可以基于执行计算任务的资源来确定性能度量。在一些示例中,对象生成器234实现用于映射的第一模块。

在图2的所示示例中,遥测控制器130a-c包括第二模块,该第二模块用于将性能度量映射到由资源(例如,资源149、159)生成的事件,其中该事件可以对应于与资源关联的硬件计数器或软件计数器中的至少一个。在一些示例中,用于映射的第二模块将性能度量映射到遥测呼叫(例如,api)。在一些示例中,接口生成器236实现用于映射的第二模块。

在图2的所示示例中,遥测控制器130a-c包括用于基于组合(例如,图1的组合146、156)编译遥测可执行文件(例如,图1的可执行文件137、147)的模块,其中该组合可以包括资源对象(例如,图3的资源对象302)或遥测对象(例如,图3的遥测对象304)中的至少一个。在此种示例中,遥测可执行文件可以响应于边缘服务(例如,图1的边缘服务140、150)执行计算任务而生成遥测数据(例如,图1的遥测数据136a-c),其中可以基于遥测数据将计算任务分发给边缘服务。在一些示例中,可执行文件控制器250实现用于编译的模块。

在图2的所示示例中,图1的边缘服务140、150包括用于调用的第一模块,其中响应于获得从组合(例如,组合146、156)获得遥测数据(例如,图1的遥测数据136a-c)的第一指令,用于调用的第一模块调用第一遥测对象(例如,图3的遥测对象304中的第一个)以生成用于从第一资源对象(例如,图3的遥测对象302的第一个)获得遥测数据的第二指令。在图2中,遥测控制器130a-c包括用于调用的第二模块,其中响应于获得第三指令,用于调用的第二模块调用第一资源对象以从硬件资源或软件资源获得遥测数据。在一些实例中,图1的组合146、156和/或更一般地,图1的遥测可执行文件137、147,实现用于调用的第一装置和/或用于调用的第二装置。

在图2的所示示例中,边缘服务140、150包括用于通过调用第二遥测对象(例如,图3的遥测对象304中的第二个)来生成第二遥测数据(例如,图1的遥测数据136a-c)的第二模块,其中第二遥测对象依赖于第一遥测对象。在一些示例中,响应于生成第二遥测数据,用于生成的第二模块通过调用第一遥测对象(例如,图3的遥测对象304中的第一个)来生成第一遥测数据,并基于第一遥测数据和第二遥测数据确定第三遥测数据(例如,图1的遥测数据136a-c)。

在一些示例中,用于生成的第二模块基于第一性能度量确定第一性能度量代码,基于第二性能度量确定第二性能度量代码以及基于第三性能度量确定第三性能度量代码。在一些示例中,响应于调用指示所生成的第一性能度量和第二性能度量的触发,用于生成的第二模块将第一性能度量代码映射到存储第一性能度量的第一存储器位置,将第二性能度量代码映射到存储第二性能度量的第二存储器位置,基于第一性能度量和第二性能度量确定第三性能度量,并且响应于将第三性能度量代码映射到第三存储器位置,将第三性能度量存储在第三存储器位置。在一些示例中,图1的组合146、156和/或更一般地,图1的遥测可执行文件137、147实现用于生成的第二模块。

在一些示例中,用于组成的模块、用于生成的模块(例如,用于生成的第一模块)、用于生成的第二模块、用于编译的模块、用于映射的第一模块、用于映射的第二模块、用于调用的第一模块和/或用于调用的第二模块中的一个或多个由构造成通过执行软件或固件或硬件电路的相应操作的任何处理器来实现,该硬件电路(例如,分立和/或集成模拟和/或数字电路、fpga、pld、fpld、asic、比较器、运算放大器(op-amp)、逻辑电路等)被构造成无需执行软件或固件即可执行相应的操作,但其他结构同样合适。

图3描绘了示例资源模型300,其包括示例资源对象302和示例遥测对象304。在图3中,资源模型300可以是遥测模型,其在被执行时可以基于执行一个或多个计算任务的资源的分区、部分、切片等来生成遥测数据。例如,图3的资源模型300可以用来实现图1的组合146、156。在图3的示例中,资源模型300可以是机器可执行模型或表示资源149、159中的一个或多个,当被执行时可以生成和/或使遥测数据可供数据消费者使用。在图3的示例中,资源模型300可以对应于图1的资源149、159中的一个或多个的虚拟化。例如,资源模型300可以使用机器可读指令来实现,当该机器可读指令被执行时获得和/或生成用于与一个或多个资源149、159相关联的感兴趣的性能度量的遥测数据。

在一些示例中,图3的资源模型300对应于诸如多核cpu的核的硬件资源的性能度量。例如,性能度量可以是核使用情况(例如,整个核的使用率或核执行的特定进程)、专用字节数(例如,已提交的进程存储器(托管的和本机的))、虚拟字节数(例如,为进程分配的虚拟存储器)、每秒输入/输出(i/o)数据字节数(例如,进程发送或接收的字节数)、每秒生成的异常数等。例如,资源模型300可以至少对应于多核cpu的核的利用率。

在图3的所示示例中,资源模型300包括资源对象302,以生成、访问和/或获得感兴趣的性能度量的值。在图3中,资源对象302可以表示从示例资源310(例如,图1的资源149、159的一个或多个)获得性能度量、性能度量的值等的接口。在图3中,资源对象302包括示例资源信息对象(rio)306和示例rio接口308。

在图3的所示示例中,资源对象302包括rio306以定义和/或指定性能度量和/或用于获得性能度量的指令。例如,rio306可以是数据结构、数据定义等,包括用于性能度量的标识符(例如,变量、字母数字标识符等)、性能度量的数据类型(例如,数组数据类型、浮点数据类型、整数数据类型、字符串数据类型等)、数据精度信息(例如,数字位数、有效数字数目等)、以及/或其组合。

在一些示例中,图2的对象生成器234和/或更一般地,遥测控制器130a-c(图1和图2)通过将与资源310相关联的感兴趣的性能度量映射到资源310的功能来生成rio306。资源310可以是多核cpu的核,并且该功能可以是执行或退出指令、执行逻辑周期、执行参考周期、执行调用、执行直接调用等。在此种示例中,对象生成器234可以将与执行的指令数量相对应的性能度量映射到执行指令的功能。示例对象生成器234可以基于该功能来生成rio306,其中rio306可以表示用于从rio接口308获得性能度量的一个或多个指令。

在图3的所示示例中,资源对象302包括rio接口308,以定义和/或指定一个或多个命令、指令等,以调用资源310来获得与rio306和/或更一般地,资源模型300相对应的性能度量的值.例如,rio接口308可以包括、对应于和/或表示一个或多个硬件或系统调用(例如,linux性能(perf)命令或指令、nigel的监视器(nmon)命令或指令、系统活动报告(sar)工具命令或指令等)等。在图3的示例中,资源310可以是硬件资源、软件资源等。例如,资源310可以是多核cpu的核、负载均衡器(例如,虚拟化的负载均衡器)等。在此种示例中,rio接口308在被调用时可以将命令发送到资源310,资源310又可以获得和/或生成与该命令相对应的性能度量值。

在一些示例中,图2的接口生成器236和/或更一般地,遥测控制器130a-c通过将与资源310相关联的感兴趣的性能度量映射到由资源310生成的事件(例如,资源事件)来生成rio接口308。例如,资源310可以是多核cpu的核,并且事件可以是对多核cpu中包括的用于监视核的功能的硬件计数器(例如,硬件性能计数器)或软件计数器(例如,软件性能计数器)中的至少一个的更新。例如,该功能可以对应于执行指令的核。在此种示例中,接口生成器236可以将与所执行的指令的数量相对应的性能度量映射到执行指令的功能。示例接口生成器236可以基于该事件来生成rio接口308,其中rio接口308可以表示用于从资源310的硬件计数器或软件计数器中的至少一个获得性能度量的一个或多个指令。

在图3的所示示例中,资源模型300包括遥测对象304,以从资源对象302生成、访问和/或获得感兴趣的性能度量的值。在图3中,遥测对象304可以表示用于从资源对象302获得性能度量、性能度量的值等的接口。在图3的示例中,遥测对象304包括示例遥测信息对象(tio)312和示例tio接口314。在图3中,tio312和/或更一般地,遥测对象304被通信和/或功能上耦合到rio306和/或更一般地,资源对象302。

在图3的所示示例中,遥测对象304包括tio312以定义和/或指定性能度量和/或用于经由资源对象302从资源310获得性能度量的指令。例如,tio312可以是数据结构或定义,包括调用rio306的指令、性能度量的标识符(例如变量、字母数字标识符等)、性能度量的数据类型(例如数组数据类型、浮点数据类型、整数数据类型、字符串数据类型等)、数据精度信息(例如,数字位数、有效数字数等)和/或其组合。

在一些示例中,图2的对象生成器234和/或更一般地,遥测控制器130a-c通过将与资源310相关联的感兴趣的性能度量映射到遥测资源的功能来生成tio312。例如,该功能可以从rio306获得遥测数据,并且遥测资源可以是调用指令、跳转指令、机器可读指令等,这些指令在执行时触发rio306从资源310获得遥测数据。示例对象生成器234可以基于功能生成tio312,其中tio312可以表示用于从rio306获得性能度量的一个或多个指令。

在图3的所示示例中,遥测对象304包括tio接口314,以定义和/或指定一个或多个命令、指令等,以调用资源对象302来获得与资源模型300相对应的性能度量的值。例如,tio接口314可以包括,对应于和/或表示一个或多个网络接口、一个或多个web服务器、一个或多个api(例如,代表性状态转移(rest)api、简单对象访问协议(soap)api等)等。

在一些示例中,图2的接口生成器236和/或更一般地,遥测控制器130a-c通过将与资源310相关联的感兴趣的性能度量映射到遥测调用来生成tio接口314。例如,遥测调用可以是网络接口、web服务器、api等的呼叫或调用,它们在被执行时会触发tio312从rio306获得遥测数据。示例接口生成器236可以基于遥测呼叫生成tio接口314,其中tio接口314可以代表用于经由rio306从资源310获得性能度量的一个或多个指令。

在图3的所示示例中,tio接口314和/或更一般地遥测对象304和/或更一般地资源模型300与示例编排器316和示例调度器318通信。在图3的示例中,编排器316可以由图1的第一编排器142或第二编排器152中的至少一个实现和/或与之对应。在图3的示例中,调度器318可以由图1的第一调度器144或第二调度器154中的至少一个实现和/或与之对应。

在图3的所示示例中,资源模型300结合多个示例逻辑层320、322、324执行。在图3的示例中,逻辑层320、322、324包括示例调度和编排层320、示例组合层322和示例原子资源层324。在图3的示例中,调度和编排层320包括编排器316和调度器318,以促进遥测数据的聚合以及工作负载的调度和/或执行。在图3的示例中,组合层322包括资源模型300,以生成和/或聚合与资源310相关联的感兴趣的遥测数据。在图3的示例中,原子资源层324包括硬件资源、软件资源等,诸如资源310。例如,资源310可以对应于和/或实现图1的第一资源149和/或第二资源159。

在示例操作中,编排器316和/或调度器318可以向tio接口314发送请求和/或调用tio接口314的api。例如,该请求可以对应于获得与资源310相关联的性能度量、性能度量值等。在此种示例中,响应于请求和/或api被调用,tio接口314可以触发和/或命令tio312执行该请求。例如,tio接口314可以将请求中包括的性能度量映射到tio312中的性能度量的定义。响应于示例tio312从tio接口314获得请求,tio312可以触发和/或指示rio306执行该请求。响应于示例rio306从tio312获得请求,rio306可以调用rio接口308以从资源310请求性能度量。例如,rio接口308可以向资源310发送用于生成感兴趣的遥测数据的命令。

有利地,示例资源模型300可以将来自编排器316和/或调度器318的与资源无关的api命令、挂钩、调用等转换为针对资源310定制和/或与之对应的硬件和/或软件系统调用。例如,来自编排器316和/或调度器318的请求可以是针对感兴趣的遥测数据的请求,并且该请求不需要对应于任何特定的制造商、型号、类型、版本等等。在这种示例中,硬件或软件系统调用可以与资源310的特定制造商、型号、类型、版本等相对应和/或与之兼容。有利地,请求设备或服务(例如,服务器、边缘服务等)可以请求针对资源310的感兴趣的遥测数据,而无需了解和/或知道关于资源310的特定细节。

图4描绘了图3的示例遥测对象304的框图。在图4所示的示例中,遥测对象304由示例控制平面410、示例数据平面420、示例组合平面450和示例输出平面460实现。例如,图2的可执行文件控制器250,和/或更一般地,遥测控制器130a-c(图1和2)可以通过生成控制平面410、数据平面420、组合平面450和输出平面来生成遥测对象304。在此种示例中,可执行文件控制器250可以通过编译机器可读指令生成图1的可执行文件137、147,当其被执行时实现控制平面410、数据平面420、组合平面450和输出平面460,和/或更一般地,遥测对象304,其被包括在图1的组合146、156中。

在图4的所示示例中,遥测对象304包括控制平面410,以控制遥测聚合和/或收集操作的调度。例如,遥测对象304的控制平面410可以响应于一个或多个示例触发器412、414、416、418而获得感兴趣的遥测数据。例如,触发器412、414、416、418可以控制要收集的遥测数据的类型和/或收集遥测数据的时间段。在图4中,触发器412、414、416、418包括示例生产触发器412、示例收集触发器414、示例消费触发器416和示例组成触发器418。

在图4的所示示例中,控制平面410包括生产触发器412,以指示遥测对象304发送和/或使遥测数据可用于数据消费者,诸如图1的端点设备160、165、170、175、180、185中的一个或多个,图1的服务器112、114、116中的一个或多个等。示例生产触发器412可以是异步或同步的。例如,生产触发器412可以包括第一生产触发器,在被调用时,该第一生产触发器可以在调用时发送遥测数据。在其他示例中,生产触发器412可以包括第二生产触发器,该第二生产触发器在被调用时可以每分钟、每小时、每天等发送遥测数据。例如,第二生产触发器可以对应于计时器。在此种示例中,响应于执行生产触发器412中的第一个,遥测对象304可以每分钟向图1的第一端点设备160发送遥测数据。

在图4的所示示例中,控制平面410包括收集触发器414以聚合和/或收集遥测数据。示例收集触发器414可以是异步的或同步的。例如,收集触发器414可以包括第一收集触发器,该第一收集触发器在被调用时可以调用tio312以经由图3的资源对象302从图3的资源310获得遥测数据。在其他示例中,收集触发器414可以包括第二收集触发器,该第二收集触发器在被调用时可以每分钟、每小时、每天等收集遥测数据。例如,响应于执行收集触发器414中的第一个,遥测对象304可以经由图3的rio306每分钟从资源310获得遥测数据。

在图4的所示示例中,控制平面410包括消费触发器416,以基于时间参数来收集遥测数据的类别或类型。在一些示例中,消费触发器416在被调用时,响应于满足一个或多个条件来收集遥测数据。例如,响应于调用消费触发器416中的第一个,tio312可以在tio312已经被通知数据已被存储在第一存储寄存器中之后,向rio306查询存储在第一存储寄存器中的数据。在此种示例中,tio312可以在数据已经由不同的资源(例如,与资源310不同的资源)计算之后获得数据。

在图4的所示示例中,控制平面410包括组合触发器418,以收集导出的、计算的和/或确定的遥测数据。在一些示例中,遥测对象304获得测量的遥测数据,该遥测数据表示从硬件计数器、软件计数器、存储器寄存器等获得(例如,直接获得)数据(例如,原始或未处理的数据)。在一些示例中,遥测对象304获得代表基于测量的遥测数据计算出的数据的计算出的或确定的遥测数据。例如,可以通过对从硬件计数器获得的第一数据执行算法以生成第二数据,来生成所确定的遥测数据,其中第二数据示基于第一数据确定的。例如,测得的遥测数据可以是原始计数,而确定的遥测数据可以是这些计数的平均值或移动平均值。在此种示例中,所确定的遥测数据不能从图3的资源310直接观察和/或测量。因此,示例组合触发器418在被调用时可以指示遥测对象304获得所计算或确定的感兴趣的遥测数据。

在图4的所示示例中,遥测对象304包括数据平面420,以控制和/或以其他方式促进遥测数据的存储以供数据消费者访问。在图4的示例中,数据平面420包括与性能度量的标识符相对应的示例代码430。在图4的示例中,数据平面420包括与性能度量的值相对应的示例能度量数据(metricdata)440。例如,代码430可以通过特定代码、标识符等来识别每个性能度量,并且性能度量数据440可以包括性能度量数据、性能度量的值等。在此种示例中,代码430可以包括识别针对图3的资源310的第一性能度量的第一代码,性能度量数据440可以包括第一性能度量的值,其中第一性能度量由第一代码标识。在其他示例中,性能度量数据440可以是用于存储相应性能度量的值的寄存器或存储器位置。例如,性能度量数据440可以包括指针(例如,数据指针、性能度量指针等)、数据位置(例如,性能度量位置、性能度量数据位置等)等。

在图4的所示示例中,代码430包括示例原始性能度量代码(rawmetriccodes)432和示例确定的性能度量代码(determinedmetriccodes)434。在图4的示例中,原始性能度量代码432包括一个或多个代码、标识符、值等,其表示从硬件计数器、软件计数器、存储器位置、寄存器位置等测量、获取和/或获得与图3的资源310相关联的性能度量。在图4的示例中,所确定的性能度量代码434包括一个或多个代码、标识符、值等,其表示基于一个或多个所测量的性能度量确定的性能度量。

在图4的所示示例中,性能度量数据440包括示例原始性能度量数据(rawmetricdata)442和确定的性能度量数据(determinedmetricdata)444。例如,原始性能度量数据442、确定的性能度量数据444和/或更一般地,性能度量数据440可以对应于图1的第一、第二和/或第三遥测数据136a-c和/或其部分。

在图4的所示示例中,原始性能度量数据442包括从硬件计数器、软件计数器、存储器位置、寄存器位置等测量,获取和/或获得与图3的资源310相关联的一个或多个性能度量的数据或值。例如,原始性能度量数据442中的第一数据或存储器位置可以对应于原始性能度量代码432的第一代码和/或由其识别。在此种示例中,在确定的性能度量数据444中的第二数据或存储器位置可以对应于确定的性能度量代码434的第二代码和/或由其识别。

在图4的所示示例中,确定的性能度量数据444包括基于原始性能度量数据442中包括的一个或多个测量的性能度量值确定的性能度量的数据或值。在示例操作中,数据平面420可以基于图3的tio312中包括的信息来识别一个或多个感兴趣的性能度量,以进行获得和/或确定。在此种示例中,数据平面420可以基于定义、在线或公开可用的遥测字典、产品设计文档、规范(例如,正式规范)、要求等,生成原始性能度量代码432和/或确定的性能度量代码434,其用于生成和/或实例化遥测对象304。

在图4的所示示例中,遥测对象304包括组合平面450,以生成,计算和/或确定所确定的性能度量数据444以供数据消费者访问。在图4中,组合平面450包括示例公式452、示例判断454、示例过滤456和示例导入控制器458。

在图4的所示示例中,公式452包括,对应于和/或表示可以被运行,执行和/或应用于原始性能度量数据442的算法、公式、数学运算等。在图4的示例中,判断454包括,对应于和/或表示可以在调用公式452之前和/或之后对原始性能度量数据442执行的条件操作。例如,判断454可以包括条件,诸如饱和操作、阈值操作、事件条件等,在满足或符合时,调用公式452。在此类示例中,响应于判断454的第一个条件得到满足,原始性能度量数据442的第一值可以被馈送到公式452的第一算法中,以生成所确定的性能度量数据444的值。

在图4的所示示例中,过滤器456包括,对应于和/或表示一个或多个过滤器,该一个或多个过滤器可用于确定何时在确定的性能度量数据444中存储新的性能度量值。例如,因为新值低于过滤阈值,高于过滤阈值,不等于过滤阈值等,所以过滤器456中的第一个可以排除和/或防止存储新确定的性能度量数据值。在此种示例中,过滤器456可以表示附加的条件操作,其在被调用时可以减少和/或防止无关的或冗余的性能度量数据被存储和/或发送到数据使用者。

在图4的所示示例中,组合平面450包括导入控制器458以访问不同遥测对象304的性能度量数据。在一些示例中,遥测对象304的导入控制器458可以将请求发送到对应于资源310的不同资源的不同遥测对象304的不同tio接口314,来访问感兴趣的性能度量数据。在此种示例中,导入控制器458可以将访问的性能度量数据发送到公式452、判断454或过滤器456中的至少一个,以生成确定的性能度量数据444。对应于资源310的遥测对象304可以将请求发送到对应于相同资源310的不同遥测对象304的不同tio接口314,以访问感兴趣的不同性能度量数据。

在图4的所示示例中,遥测对象304包括输出平面460,以聚合、编译和/或准备遥测数据,例如性能度量数据440,以供数据消费者访问或获取。在一些示例中,输出平面460将性能度量数据440的一个或多个部分发送给数据消费者。在一些示例中,输出平面460能够使能数据消费者通过调用api、访问网站服务器等,来获取性能度量数据440的一个或多个部分,其由输出平面460实例化和/或管理。在图4中,输出平面460包括示例tio事件462和示例数据消费者数据464。

在图4的所示示例中,tio事件462包括,对应于和/或表示由数据消费者或遥测对象304生成的警报、指示等,其中数据消费者数据464已准备好或可用于访问。在一些示例中,响应于生成tio事件462中的第一个,数据消息(例如,http消息、v2x消息等)可以被发送到数据消费者以通告数据消费者由数据消费者请求的数据消费者数据464已准备好进行访问、获取等。在一些示例中,数据消费者可以发送针对数据消费者数据464的请求。在此种示例中,输出平面460可以基于请求生成tio事件462的第二个事件。响应于tio事件462中的第二个事件的生成,示例遥测对象304可以生成由数据消费者请求的遥测数据,以存储在数据消费者数据464中。在图4中,数据消费者数据464包括,对应于和/或表示由图3的资源模型300生成的遥测数据,其可以被发送到数据消费者和/或被数据消费者访问。示例数据消费者数据464可以包括原始性能度量数据442、确定的性能度量数据444和/或更一般地性能度量数据440的一个或多个部分。

在一些示例中,控制平面410、数据平面420、组合平面450或输出平面460中的至少一个可以实现和/或对应于资源149、159和/或更一般地,边缘服务140、150的缓存或存储器逻辑,在被执行时可以促进遥测数据的收集和传输。例如,控制平面410、数据平面420、组合平面450或输出平面460中的至少一者可以是具有缓存或存储器(例如,包括在资源149、159,边缘服务140、150中的缓存或存储器等)的电路。例如,遥测对象304可以向资源310的软件堆栈暴露或实例化新接口(例如,tio接口314),其可以用于通知tio312由特定过程地址空间id(pasid)表示的性能度量。缓存逻辑可以跟踪新的pasid。例如,资源310可以查询tio接口314以确定与性能度量相关联的数据必须被存储在缓存中多长时间。在此种示例中,在tio接口314指定的时间到期之后,与性能度量有关的所有数据可以从缓存中被逐出或移除。有利地,软件堆栈可以调用tio接口314以(1)发现并枚举在缓存中已经存储了多少个对象(例如,tio312和/或更一般地,遥测对象304),其中每个对象可以用唯一的pasid表示,和/或(2)通过提供pasid和对象的标识符来访问感兴趣的对象。

在示例操作中,图1的第一遥测数据136a可以包括第一部分(例如,第一遥测数据部分、第一遥测数据136a的第一部分等等)、第二部分和第三部分,该第一部分包括第一性能度量,第二部分包括第二性能度量,第三部分包括第三性能度量。示例数据平面420和/或更一般而言,遥测对象304可以基于第一性能度量确定第一性能度量代码,基于第二性能度量确定第二性能度量代码,以及基于第三性能度量确定第三性能度量代码。第一性能度量代码和第二性能度量代码可以存储在原始性能度量代码432中,第三性能度量代码可以存储在确定的性能度量代码434中。

在示例操作中,响应于调用触发器(例如,生产触发器412之一、收集触发器414之一、消费触发器416之一、组合触发器418之一)指示正在生成第一性能度量和第二性能度量(例如,正在被存储在原始性能度量数据442中),数据平面420可以(1)将第一性能度量代码映射到原始性能度量数据442中的存储第一性能度量的第一存储器位置,并且(2)将第二性能度量代码映射到原始性能度量数据442中的存储第二性能度量的第二存储器位置。在示例操作中,数据平面420可以基于第一性能度量和第二性能度量来确定第三性能度量。在示例操作中,响应于将第三性能度量代码映射到位于所确定的性能度量数据444中的第三存储器位置,数据平面420可以将第三性能度量存储在第三存储器位置。在示例操作中,输出平面460可以生成指示第三性能度量正在被确定的tio事件462之一。在示例操作中,输出平面460可以从第三存储器位置获得第三性能度量,并将第三性能度量识别为数据消费者数据464和/或将第三性能度量存储为数据消费者数据464。

图5a描绘了图3的资源模型300的另一示例实现。在图5a中,示例资源模型500包括:与图3的资源310,图1的资源149、159等的对象/系统接口(i/f)和实现(impl)相对应的示例资源对象/系统510;以及与资源310,资源149、159等的遥测接口和接口的实现相对应的示例遥测对象/系统520。在图5a中,资源对象/系统510可以对应于诸如图3的资源对象302之类的对象,或者包括资源对象302的对象系统。在图5a的示例中,资源对象/系统510的对象/系统实现部分可以对应于图3的rio306,资源对象/系统510的对象/系统接口部分可以对应于图5a的rio接口308。

在图5a的所示示例中,遥测对象/系统520可以对应于对象,诸如图3的tio312,或包括tio312的对象系统。在图5a中,遥测对象/系统520的遥测实现部分可以对应于图3的tio312,遥测对象/系统520的遥测接口部分可以对应于图3的tio接口314。

在图5a的所示示例中,资源对象/系统510和遥测对象/系统520之间的关系未被描绘成等同和/或严格地不是一对一。例如,资源对象/系统510可以对应于两个或更多个性能度量和对应接口的虚拟化,以获得和/或调用两个或更多个性能度量的生成。在此种示例中,遥测对象/系统520可以对应于接口的虚拟化,以从资源对象/系统510获得两个或更多个性能度量。替代地,如图5b的所示示例中所述的,资源对象/系统510与遥测对象/系统520之间的第一示例关系530可以是一对一。例如,资源对象/系统510可以代表一个性能度量,并且遥测对象/系统520可以代表一个接口以获得一个性能度量。

在一些示例中,图5a的资源模型500可以是复杂对象或包括多个功能或具有多个性能度量的对象的计算机可读模型和/或表示,诸如cpu,其可以具有可用于cpu的许多不同性能度量。有利地,资源对象/系统510可以代表可用于cpu的不同性能度量,而遥测对象/系统520可以代表获得不同性能度量的接口。例如,有利的是,将不同的性能度量分组为多个不同的组或多个不同的tio和对应的tio接口,如在图5c的示例中示出的第二示例关系540所述的。在图5c中,单个对象(例如,资源对象/系统510之一),诸如cpu,可以包括定义多个性能度量的rio306,其中每个性能度量可以具有不同的tio和对应的tio接口(例如,遥测对象/系统520中的多个)。

在一些示例中,诸如多核cpu的单个资源可以具有特定tio组(例如,描述多核cpu的可用pci-e带宽的组),当一起采用时,其可以应用于多核cpu的所有核。如图5d的所示示例中所述的第三示例关系550可以对应于此示例。例如,在图5d中,与多核cpu的第一核相关联的第一性能度量可以对应于资源对象/系统510的第一个510a,并且与多核cpu的第二核相关联的第二性能度量可以对应于资源对象/系统510的第二个510b。在图5d的示例中,遥测对象/系统520可以表示tio对象和相应接口,用于获得第一性能度量和第二性能度量并基于第一性能度量和第二性能度量确定第三性能度量。在一些示例中,如图5e的所示示例中的第四示例关系560所述的,性能度量可以与一个或多个遥测对象和对应的接口具有关系。

图6a-6c是示例资源组合600、610、620的示意图,包括第一示例资源组合600、第二示例资源组合610和第三示例资源组合620。例如,组合生成器238和/或,更一般地,图2的组合控制器230可以生成第一资源组合600、第二资源组合610或第三资源组合620中的至少一个。在此种示例中,组合生成器238可以基于彼此之间的依赖关系(例如,内部依赖关系)通过链接和/或分派资源对象/系统,来生成资源组合600、610、620。在图6a-6c中,资源组合600、610、620可以是遥测模型,其在被执行时可以基于执行一个或多个计算任务的资源的基础来生成遥测数据。

在图6a的所示示例中,资源组合600、610、620包括无循环和循环子图的混合。在图6a中,第一资源组合600包括与图5a的资源对象/系统510的实现相对应的第一示例资源对象/系统510p、510q、510r、510s。在图6a中,第二资源组合610包括与图5a的资源对象/系统510的实现相对应的第二示例资源对象/系统510t、510u。

在图6a的所示示例中,第一资源对象/系统510p、510q、510r、510s包括代表资源对象或资源对象系统的第一示例资源对象/系统510p。例如,组合生成器238可以确定第一资源对象/系统510p不依赖于不同的资源对象/系统。在图6a中,第一资源对象/系统510p具有两个从属资源对象/系统,包括第二示例资源对象/系统510q和第三示例资源对象/系统510r。在图6a中,第一资源组合600包括第四示例资源对象/系统510s,其是第二资源对象/系统510q的从属。

在图6a的所示示例中,组合生成器238可以通过基于彼此的依赖性将资源对象/系统链接和/或分派给资源对象/系统中的不同对象,来生成第一资源组合600。例如,组合生成器238可以基于第二资源对象/系统510q和第三资源对象/系统510r与第一资源对象/系统510p的依赖关系,将第二资源对象/系统510q和第三资源对象/系统510r链接和/或分派给第一资源对象/系统510p。

如本文中所使用的,从属资源对象/系统(例如,从属资源对象、从属资源系统等)是指如下资源对象和/或系统:在其从属的另一个资源对象和/或系统的控制、指导或与之紧密耦合下操作。例如,对于来自第一资源对象/系统510p的服务的请求者或订户,第一资源组合600的整体性能取决于第一资源对象/系统510p的子组件(例如,第二至第四资源对象/系统510q、510r、510s)的性能。

在6a的所示示例中,第二资源组合610的第二资源对象/系统510t、510u包括第五示例资源对象/系统510t,其是第六示例资源对象/系统510u的从属。例如,响应于确定第五资源对象/系统510t依赖于第六资源对象/系统510u,组合生成器238可以将第五资源对象/系统510t链接和/或分派给第六资源对象/系统510u。

在图6a的所示示例中,第一资源组合600耦合到第二资源组合部分610。例如,第一资源组合600的第三资源对象/系统510r可以被对等耦合到第二资源组合610的第五资源对象/系统510t。在此种示例中,第三资源对象/系统510r和第五资源对象/系统510t的对等耦合使得资源组合对象/系统(例如,资源组合600、610的资源对象、系统等)从属于对等耦合的第一资源对象/系统510p和第六资源对象/系统510u,如图6b的示例中所示。

在图6b的所示示例中,未示出(如图6a所示的)每个资源组合对象/系统的内部关系,并且第一资源组合600和第二资源组合610的服务请求者或订户可以依赖于每个资源组合600、610的功能,而不是基础资源组合对象/系统的功能。

例如,图6a和/或图6b可以表示套接字间链接或多套接字cpu中的超路径互连(upi)的计算机可读模型。在此种示例中,第一资源组合600可以是计算机可读模型和/或表示多核cpu的第一核,并且第二资源组合610可以是计算机可读模型和/或表示的多核cpu的第二核。第三资源对象/系统510r可以对应于第一核的第一套接字,第六资源对象/系统510t可以对应于第二核的第二套接字。在此种示例中,第三资源对象/系统510r与第六资源对象/系统510t之间的对等耦合可以对应于多核cpu的第一套接字与第二套接字之间的upi链接。有利地,请求或订阅服务可以通过查询一个或两个资源组合600、610而不是查询基础资源对象/系统来从多核cpu的不同核获得遥测数据。

图6c是第三资源组合620的示例示意图,其包括第一资源组合600和第二资源组合610。第三示例资源组合620是基础资源组合600、610的简化视图。例如,用与第一资源组合600相对应的第一资源组合“pqrs”和与第二资源组合610相对应的第二资源组合“tu”来替换第一资源组合600和第二资源组合620的无循环和循环子图的基础合并,其中第一资源组合和第二资源组合是对等耦合的。有利地,服务的请求者或订户可以通过从第三资源组合620请求遥测数据而不是从基础资源对象和/或系统来请求遥测数据,在图3的示例组合层322处而不是图3的原子资源层324处获得遥测数据。

图7a-7c是示例遥测组合700、710、720的示意图,其包括第一示例遥测组合700、第二示例遥测组合710和第三示例遥测组合720。例如,组合生成器238和/或,更一般地,图2的组合控制器230可以生成第一遥测组合700、第二遥测组合710或第三遥测组合720中的至少一个。在此种示例中,组合生成器238可以基于彼此之间的依赖关系(例如,内部依赖关系)通过链接和/或分派遥测对象/系统,来生成遥测组合700、710、720。

在图7a的所示示例中,遥测组成700、710、720包括无循环和循环子图的混合。在图7a中,第一遥测组合700包括与图5a的遥测对象/系统520的实现相对应的第一示例遥测对象/系统520p、520q、520r、520s。在图7a中,第二遥测组合610包括与图5a的遥测对象/系统520的实现相对应的第二示例遥测对象/系统520t、520u。

在图7a的所示示例中,遥测组成700、710、720基于图6a-6c的资源组合600、610、620组成。例如,响应于资源组合600、610、620的变化,遥测组成700、710、720可以被调整、改变等。在此种示例中,响应于图1的资源149、159中的一个(或多个)在离线或上线,组合生成器238可以生成资源组合器600、610、620中的一个或多个更新。有利地,示例组合生成器238可以生成遥测组合器700、710、720中的一个或多个更新,以结合资源149、159中的变化来放大或缩小遥测聚合操作。

在图7a的所示示例中,第一遥测对象/系统520p、520q、520r、520s包括第一示例遥测对象/系统520p,其代表遥测对象或遥测对象的系统。例如,组合生成器238可以基于第一资源对象/系统510p不依赖于不同的资源对象/系统,来确定第一遥测对象/系统520p不依赖于不同的遥测对象/系统,如图6a-6b所示。在图7a中,第一遥测对象/系统520p具有两个从属遥测对象/系统,包括第二示例遥测对象/系统520q和第三示例遥测对象/系统520r。在图7a中,第一遥测组合700包括第四示例遥测对象/系统520s,其是第二遥测对象/系统520q的从属。

在图7a的所示示例中,组合生成器238可以通过基于彼此的依赖性将遥测对象/系统链接和/或以其他方式分派给遥测对象/系统中的不同的一个或多个,来生成第一遥测组合700。例如,组合生成器238可以基于第二资源对象/系统510q和第三资源对象/系统510r对第一资源对象/系统510p的依赖性,将第二遥测对象/系统520q和第三遥测对象/系统520r链接和/或分配给第一遥测对象/系统520p。如图1和2中所示,第一对象/系统510p上的510q,如图6a-6b所示。

如本文所使用的,从属遥测对象/系统(例如,从属遥测对象、从属遥测系统等)可以指如下遥测对象和/或系统:在其从属的另一个遥测对象和/或系统的控制、指导或与之紧密耦合下操作。例如,对于来自第一遥测对象/系统520p的服务的请求者或订户,与图6a-6c的第一资源组合600的整体性能相关联的遥测数据取决于第一资源对象/系统510p的子组件(例如,第二至第四资源对象/系统510q、510r、510s)的性能的变化程度,并且可以从第一遥测组合700获得。

在图7a的所示示例中,第二遥测组合710的第二遥测对象/系统520t、520u包括第五示例遥测对象/系统520t,其是第六示例遥测对象/系统520u的从属。例如,响应于确定第五资源对象/系统510t依赖于第六资源对象/系统510u,组合生成器238可以将第五遥测对象/系统520t链接和/或分派给第六遥测对象/系统520u,如图6a-6b所示。

在图7a的所示示例中,第一遥测组合700基于图6a-6c的第一资源组合600耦合到图6a-6c的第二遥测组合610,被耦合到第二遥测组合710。例如,第一遥测组合700的第三遥测对象/系统520r可以被对等耦合到第二遥测组合710的第五遥测对象/系统520t。在此种示例中,第三遥测对象/系统520r和第五遥测对象/系统520t的对等耦合使得遥测组合对象/系统(例如,遥测组合700、710的对象、系统等)从属于对等耦合的第一遥测对象/系统520p和第六遥测对象/系统520u,如图7b的示例中所示。

在图7b的所示示例中,未示出(如图7a所示的)每个遥测组合对象/系统的内部关系,并且第一遥测组合700和第二遥测组合710的服务请求者或订户可以依赖于每个遥测组合700、710的功能,而不是基础遥测组合对象/系统的功能。

图7c是第三遥测组合720的示例示意图,其包括第一遥测组合700和第二遥测组合710。第三示例遥测组合720是基础遥测组合700、710的简化视图。例如,用与第一遥测组合700相对应的第一遥测组合“pqrs”和与第二遥测组合710相对应的第二遥测组合“tu”来替换第一遥测组合700和第二遥测组合720的无循环和循环子图的基础合并,其中第一遥测组合和第二遥测组合是对等耦合的。有利地,服务的请求者或订户可以通过从第三遥测组合720请求遥测数据而不是从基础遥测对象和/或系统来请求遥测数据,在图3的示例组合层322处而不是图3的原子资源层324处获得遥测数据。

图8-12示出了表示用于实现示例组成146、156和/或更一般地,图1示例可执行文件137、149,图1至图2的示例遥测控制器130a-c,的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或其任何组合的流程图。机器可读指令可以是一个或多个可执行程序或可执行程序的一部分,以由诸如下面结合图13讨论的示例处理器平台1300中示出的处理器1312、下文结合图14讨论的示例处理器平台1400中示出的或处理器1412之类的计算机处理器来执行。程序可以用存储在非瞬时性计算机可读存储介质中的软件来体现,该介质例如为cd-rom、软盘、硬盘驱动器、dvd、蓝光磁盘或与图13的处理器1312和/或图14的处理器1412相关联的存储器,但是整个程序和/或其部分可以由图13的处理器1312和/或图14的处理器1412之外的设备执行和/或体现在固件或专用硬件中。此外,尽管参考图8-12所示的流程图描述了示例程序,但是可替代地使用实现示例组成146、156和/或更一般地示例可执行文件137、149和/或示例遥测控制器130a-c的许多其他方法。例如,可以改变框的执行顺序,和/或可以改变、消除或合并所描述的一些框。附加地或替代地,任何或所有框可以由一个或多个硬件电路(例如,离散和/或集成的模拟和/或数字电路、fpga、asic、比较器、运算放大器(op-amp、逻辑电路等)实现,该一个或多个硬件电路被构造为在不执行软件或固件的情况下执行相应的操作。

本文描述的机器可读指令可以以压缩格式、加密格式、分段格式、编译格式、可执行格式、打包格式等中的一种或多种存储。本文描述的机器可读指令可以数据被存储为可用于创建、制造和/或生成机器可执行指令的数据(例如,指令的一部分、代码、代码的代表等)。例如,机器可读指令可以被分段并存储在一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可能需要安装、修改、改编、更新、合并、补充、配置、解密、解压缩、解包、分发、重新分配、编译等中的一项或多项,以便使其可由计算设备和/或其他机器直接可读、可解释和/或执行。例如,机器可读指令可以存储在多个部分中,这些部分被单独地压缩、加密并存储在单独的计算设备上,其中,这些部分在被解密、解压缩和组合后形成实现诸如本文所述的程序的可执行指令集。

在另一示例中,机器可读指令可以以其可以被计算机读取的状态存储,但是需要添加库(例如,动态链接库(dll))、软件开发套件(sdk)、应用编程接口(api)等,以便在特定计算设备或其他设备上执行指令。在另一个示例中,在机器可读指令和/或相应的程序可以整体或部分执行之前,可能需要配置机器可读指令(例如,存储设置、输入数据、记录网络地址等)。因此,所公开的机器可读指令和/或相应程序旨在涵盖此种机器可读指令和/或程序,而与在被存储或以其他方式静止或运输时机器可读指令和/或程序的特定格式或状态无关。

本文描述的机器可读指令可以用任何过去、现在或将来的指令语言、脚本语言、编程语言等来表示。例如,可以使用以下任何一种语言来表示机器可读指令:c、c++、java、c#、perl、python、javascript、超文本标记语言(html)、结构化查询语言(sql)、swift等。

如上所述,图8-12的示例过程可以使用存储在非瞬时性计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)来实现,诸如,硬盘驱动器、闪存、只读存储器、压缩磁盘、数字多功能磁盘、缓存、随机存取存储器和/或任何其他存储设备或存储磁盘,在该存储设备或磁盘中将信息存储任意持续时间(例如,延长的时间段、永久地、短暂地实例、暂时缓冲和/或用于缓存信息)。如本文所使用的,术语“非瞬时性计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。

“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求采用任何形式的“包含”或“包括”(例如,包括、包含、含有、有、具有等)作为前序或在任何种类的权利要求叙述中时,应理解为在不超出相应权利要求或叙述的范围的情况下,可以存在其他要素、术语等。如本文所使用的,当短语“至少”用作过渡术语时,例如在一项要求的前序中,它是开放式的,正如术语“包括”和“包含”是开放式的一样。例如,在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。

如本文中所使用的,单数引用(例如,“一”、“一个”、“第一”、“第二”等)不排除多个。如本文所使用的,术语“一”或“一个”实体是指该实体中的一个或多个。术语“一”(或“一个”)、“一个或多个”和“至少一个”在本文中可以互换使用。此外,尽管被单独列出,但是多个装置、元件或方法动作可以由例如单个单元或处理器来实现。另外,尽管各个特征可以被包括在不同的示例或权利要求中,但是这些特征可以被组合,并且在不同的示例或权利要求中包括并不暗示特征的组合是不可行和/或不利的。

图8是表示示例机器可读指令800的流程图,该示例机器可读指令800可以被执行以实现图1和/或图2的示例遥测控制器130a-c,以基于图1的遥测数据136a-c将计算任务分发给第一边缘服务140和/或第二边缘服务150。图8的示例机器可读指令800开始于框802,在框802,遥测控制器130a-c发现边缘环境中的边缘服务资源。例如,资源查询控制器220(图2)可以查询图1的第一边缘服务140。在此种示例中,资源查询控制器220可以基于该查询来识别第一边缘服务140的资源149(图1)。

在框804,示例遥测控制器130a-c确定是否生成新的组合。例如,组合控制器230(图2)可以确定资源149中的一个上线并且不包括在第一资源组合600中。在此种示例中,组合控制器230可以确定新的组合将基于发现的资源149之一来生成。

如果在框804处,示例遥测控制器130a-c确定不生成新的组合,则控制进行到框814以响应于边缘服务执行遥测可执行文件来获得遥测数据。如果在框804,示例遥测控制器130a-c确定生成新的组合,则在框806,遥测控制器130a-c生成边缘服务的组合。例如,组合控制器230可以基于所发现的资源149之一,通过生成资源对象、遥测对象等来生成第一组合146(图1)。下面结合图9描述可以被执行以实现框806的示例指令。

在框808,示例遥测控制器130a-c基于边缘服务组合来生成环境组合。例如,组合控制器230可以生成组合,该组合包括、对应于和/或与图1的边缘环境110的组合146、156相关联。

在框810处,示例遥测控制器130a-c基于边缘服务和/或环境组合来生成遥测可执行文件。例如,可执行文件控制器250(图2)可以基于第一组合146或第二组合156中的至少一个来编译第一可执行文件137(图1)。

在框812中,示例遥测控制器130a-c将遥测可执行文件部署到边缘服务。例如,响应于第一服务器112(图1)的第一遥测控制器130a生成第一可执行文件137,第一服务器112可以将第一可执行文件137发送到第一边缘服务140。在其他示例中,响应于第一边缘服务140的第二遥测控制器130b生成第一可执行文件137,第一边缘服务140可以在第一边缘服务140处部署第一可执行文件137。例如,第一边缘服务140可以将第一可执行文件137加载到存储器(例如,包括在资源149中的易失性或非易失性存储器)、图1的第一es数据库148等,以由第一边缘服务140执行。

在框814中,示例遥测控制器130a-c响应于边缘服务执行遥测可执行文件而获得遥测数据。例如,第一边缘服务140的第二遥测控制器130b可以从第一组合146获得第一遥测数据136a,并将第一遥测数据136a存储在第一es数据库148中。在其他示例中,服务器110、112、114中的一个或多个的第一遥测控制器130a可以响应于第一边缘服务140执行第一组合146和/或更一般地,执行第一可执行文件137,从第一边缘服务140获得第一遥测数据136a。

在框816处,示例遥测控制器130a-c基于遥测数据将工作负载分发给边缘服务。例如,网络接口210(图2)可以从第一端点设备160获得工作负载。示例资源可用性控制器240(图2)可以确定第一边缘服务140的资源149中的一个(或多个)可用于基于第一遥测数据136a执行工作负载。示例资源可用性控制器240可以将工作负载分发给第一边缘服务140以供执行。响应于第一示例边缘服务140执行工作负载,第一边缘服务140可以将处理后的数据、工作负载的结果等发送到第一端点设备160。在框816处,响应于基于遥测数据将工作负载分发给边缘服务,控制进行到框818,以确定是否在边缘环境中发现边缘服务资源。例如,资源查询控制器220可以确定执行另一查询操作,以确定新资源是否变得可用、上线等,或者先前发现的资源是否不再可用、离线等。在框818处,如果示例遥测控制器130a-c确定在边缘环境中发现边缘服务资源,则控制返回框802,否则,图8的示例机器可读指令800结束。

图9是表示示例机器可读指令900的流程图,该示例机器可读指令900可以被执行以实现图1和图2的遥测控制器130a-c,来生成用于边缘服务(例如,图1的边缘服务140、150)的组合(例如,图1的组合146、156)。图9的示例机器可读指令900可以被执行以实现图8的框806。图9的机器可读指令900开始于框902,在框902处,示例遥测控制器130a-c选择边缘服务进行处理。例如,组合控制器230(图2)可以选择图1的第一边缘服务140进行处理。

在框904处,示例遥测控制器130a-c确定要从边缘服务获得的感兴趣的性能度量。例如,性能度量确定器232(图2)可以确定资源149中的第一资源是多核cpu。在此种示例中,性能度量确定器232可以将多核cpu映射到第一性能度量、第二性能度量、第三性能度量等。例如,第一性能度量可以是多核cpu的核已经执行的指令量的度量。

在框906处,示例遥测控制器130a-c基于性能度量来生成资源对象。例如,对象生成器234(图2)可以基于第一性能度量生成图3的资源对象302。下面结合图10描述可以被执行以实现框906的示例指令。

在框908处,示例遥测控制器130a-c基于性能度量生成遥测对象。例如,接口生成器236(图2)可以基于第一性能度量生成图3的遥测对象304。下面结合图11描述可以被执行以实现框908的示例指令。

在框910处,示例遥测控制器130a-c基于资源对象生成资源组合。例如,组合生成器238(图2)可以基于图6a-6b的第一资源对象/系统510p、510q、510r、510s生成图6a-6c的第一资源组合600。在此种示例中,资源对象302可以对应于图6a-6b的第一资源对象/系统510p、510q、510r、510s中的一个。

在框912处,示例遥测控制器130a-c基于遥测对象生成遥测组合。例如,组合生成器238可以基于图7a-7b的第一遥测对象/系统520p、520q、520r、520s生成图7a-7c的第一遥测组合700。在此种示例中,遥测对象304可以对应于图7a-7b的第一遥测对象/系统520p、520q、520r、520s中的一个。

在框914处,示例遥测控制器130a-c基于资源和遥测组成来生成边缘服务组合。例如,组合生成器238可以生成图6c的第三资源组合620和图7c的第三遥测组合720。在此种示例中,组合生成器238可以基于第三资源组合620或第三遥测组成720中的至少一个生成图1的第一组合146。例如,第一组合146可以对应于第一边缘服务140的边缘服务组合。

在框916处,示例遥测控制器130a-c确定是否选择另一个边缘服务进行处理。例如,组合控制器230可以确定是否选择图2的第二边缘服务150进行处理。如果在框916处,示例遥测控制器130a-c确定选择另一边缘服务进行处理,则控制返回到框902以选择另一边缘服务进行处理。如果在框916处,示例遥测控制器130a-c确定不选择另一边缘服务进行处理,则控制返回到图8的示例机器可读指令800的框808,以基于边缘服务组合来生成环境组合。

图10是表示示例机器可读指令1000的流程图,该示例机器可读指令1000可以被执行以实现图1和图2的遥测控制器130a-c,以基于性能度量来生成资源对象。图10的示例机器可读指令1000可以被执行以实现图9的示例机器可读指令900的框906。图10的示例机器可读指令1000开始于框1002,在框1002,示例遥测控制器130a-c将资源映射到性能度量。例如,性能度量确定器232(图2)可以将包括在图1的资源149中的fpga映射到一个或多个性能度量,包括代表所使用的线程数量(例如,处理线程)、核数量等的第一性能度量。

在框1004处,示例遥测控制器130a-c选择性能度量进行处理。例如,性能度量确定器232可以选择fpga的第一性能度量进行处理。

在框1006处,示例遥测控制器130a-c将性能度量映射到资源的功能。例如,对象生成器234(图2)可以将正在利用的线程数量映射到线程执行功能,该线程执行功能在被fpga调用或执行时,利用fpga的一个或多个线程来执行工作负载。

在框1008处,示例遥测控制器130a-c基于该功能生成资源信息对象(rio)。例如,对象生成器234可以基于线程执行功能生成图3的rio306。在此种示例中,对象生成器234可以通过基于线程执行功能生成数据结构来生成rio306,其中该数据结构可以包括指令用于调用rio接口308以获得第一性能度量、第一性能度量的标识符、第一性能度量的数据类型、第一性能度量的数据精度信息等、和/或其组合。

在框1010处,示例遥测控制器130a-c将性能度量映射到资源事件。例如,接口生成器236(图2)可以将第一性能度量映射到与fpga的计数器(例如,硬件计数器、软件计数器)相对应的事件。

在框1012处,示例遥测控制器130a-c基于资源事件生成rio接口。例如,接口生成器236可以基于计数器生成图3的rio接口308。在此种示例中,接口生成器236可以通过封装指令(例如,nmon指令、perf指令、sar指令等)来生成rio接口308以从计数器获取值。

在框1014处,示例遥测控制器130a-c确定是否选择另一性能度量进行处理。例如,性能度量确定器232可以选择fpga的第二性能度量进行处理。如果在框1012处,遥测控制器130a-c确定选择另一性能度量进行处理,则控制返回框1004以选择另一性能度量进行处理。如果在框1012处,遥测控制器130a-c确定不选择另一性能度量进行处理,则控制返回到图9的示例机器可读指令900的框908,以基于性能度量生成遥测对象。

图11是表示示例机器可读指令1100的流程图,该示例机器可读指令1100可以被执行以实现图1和/或图2的遥测控制器130a-c,以基于性能度量生成遥测对象。图11的示例机器可读指令1100可以被执行以实现图9的示例机器可读指令900的框908。图11的示例机器可读指令1100开始于框1102,在框1102,示例遥测控制器130a-c将性能度量映射到遥测资源的功能。例如,性能度量确定器232(图2)可以将gpu的第一性能度量映射到遥测资源的功能。在此种示例中,遥测资源可以是机器可读指令,用于调用图3的rio306以从图3的资源310获得遥测数据。

在框1104处,示例遥测控制器130a-c选择性能度量进行处理。例如,性能度量确定器232可以选择gpu的第一性能度量进行处理。

在框1106处,示例遥测控制器130a-c基于遥测资源生成遥测信息对象(tio)。例如,对象生成器234(图2)可以基于第一性能度量生成图3的tio312。在此种示例中,对象生成器234可以通过基于第一性能度量生成数据结构来生成tio312,其中该数据结构可以包括指令,用于调用rio306、第一性能度量的标识符、第一性能度量的数据类型、第一性能度量的数据精度信息等、和/或其组合。

在框1108处,示例遥测控制器130a-c将性能度量映射到遥测呼叫。例如,接口生成器236(图2)可以将第一性能度量映射到对网络接口、web服务器、api等的呼叫。

在框1110处,示例遥测控制器130a-c基于遥测呼叫生成遥测信息对象接口(tio)。例如,接口生成器236可以基于网络接口、web服务器、api等和/或其组合生成图3的tio接口314。在此种示例中,接口生成器236可以通过封装机器可读指令来生成tio接口314,该机器可读指令在被执行或调用时,可以调用tio312以从rio306获得遥测数据。

在框1112处,示例遥测控制器130a-c确定是否选择另一性能度量进行处理。例如,性能度量确定器232可以选择gpu的第二性能度量进行处理。如果在框1112处,遥测控制器130a-c确定选择另一性能度量进行处理,则控制返回到框1104以选择另一性能度量进行处理。如果在框1112处,示例遥测控制器130a-c确定不选择另一性能度量进行处理,则控制返回至图9的示例机器可读指令900的框910,以基于资源对象生成资源组合。

图12是表示示例机器可读指令1200的流程图,该示例机器可读指令1200可以被执行以实现图3、图4和/或图5的遥测对象304,和/或更一般地,图1的可执行文件137、147,以生成图1的遥测数据136a-c。图12的示例机器可读指令1200开始于框1202,在框1202处,示例遥测对象304确定是否已调用一个或多个触发器。例如,控制平面410(图4)可以确定生产触发器412、收集触发器414、消费触发器416或组合触发器418中的至少一个是否已经被调用和/或以其他方式触发。

如果在框1202处,示例遥测对象304确定触发器尚未被调用,则控制在框1202处等待(例如,直到触发器被调用为止)。如果在框1202处,示例遥测对象304确定已经调用了一个或多个触发器,则在框1204处,遥测对象304确定所调用的触发器是否是收集触发器。例如,控制平面410可以确定图4的收集触发器414之一已经被触发。

如果在框1204处,示例遥测对象304确定所调用的触发器不是收集触发器,则控制进行到框1208,以确定所调用的触发器是否是消费触发器。如果在框1204处,示例遥测对象304确定所调用的触发器是收集触发器,则在框1206处,遥测对象304读取由直接测量生成的遥测数据。例如,数据平面420可以经由图3的资源对象302从资源310的计数器获得原始性能度量数据。在此种示例中,数据平面420可以将原始性能度量数据存储在图4的性能度量数据440的原始性能度量数据442中。

在框1208处,示例遥测对象304确定所调用的触发器是否是消费触发器。例如,控制平面410可以确定图4的消耗触发器416中的一个已经被触发。

如果在框1208处,示例遥测对象304确定所调用的触发器不是消费触发器,则控制进行到框1212,以确定所调用的触发器是否为组合触发器。如果在框1208处,示例遥测对象304确定所调用的触发器不是消费触发器,则在框1210处,遥测对象304读取基于时间同步事件生成的遥测数据。例如,数据平面420可以在第一时间从图6a-6b的第四资源对象/系统510s获得第一原始性能度量数据,在第一时间之后的第二时间从图6a-6b的第二资源对象/系统510q获得第二原始性能度量数据,和/或在第二时间之后的第三时间从图6a-6b的第一资源对象/系统510p获得第三原始性能度量数据。在此种示例中,数据平面420可以将第一至第三原始性能度量数据存储在图4的性能度量数据440的原始性能度量数据442中。

在框1212处,示例遥测对象304确定所调用的触发器是否是组合触发器。例如,控制平面410可以确定图4的组合触发器418中的一个已被触发。

如果在框1212处,示例遥测对象304确定所调用的触发器不是组合触发器,则控制进行到框1216,以确定所调用的触发器是否是生产触发器。如果在框1212处,示例遥测对象304确定所调用的触发器是组合触发器,则在框1214处,遥测对象304读取基于确定的性能度量生成的遥测数据。例如,组合平面450可以通过对原始性能度量数据442的一部分执行和/或应用公式452、判断454和/或过滤器456,基于原始性能度量数据442的该部分来生成所确定的性能度量数据444的一部分。

在框1216处,示例遥测对象304确定所调用的触发器是否是生产触发器。例如,控制平面410可以确定图4的生产触发器412中的一个已经被触发。

如果在框1216处,示例遥测对象304确定所调用的触发器不是生产触发器,则控制返回框1202以确定是否已调用触发器。如果在框1216处,示例遥测对象304确定所调用的触发器是生产触发器,则在框1218处,遥测对象304读取由边缘服务的tio生成的遥测数据。例如,输出平面460(图4)可以生成图4的一个或多个tio事件462,其指示原始性能度量数据442的一部分、所确定的性能度量数据444的一部分等可由数据消费者访问、获取等。

在框1220处,示例遥测对象304将遥测数据发送到数据消费者。例如,输出平面460可以将数据消费者数据464发送到图1的云环境105的服务器112、114、116中的一个或多个,图1的端点环境115的端点设备160、165、170、175、180、185中的一个或多个等,和/或其组合。在其他示例中,输出平面460可以将数据消费者数据464提供给第一边缘服务140,以存储在图1的第一es数据库148中。响应于在框1220处将遥测数据发送到数据消费者,示例遥测对象304确定是否识别到触发器已被调用。例如,控制平面410可以确定重新执行确定或分析生产触发器412、收集触发器414、消费触发器416或组合触发器418中的至少一个是否已经被调用。

如果在框1222处,遥测对象304确定是否识别到已调用触发器,则控制返回到框1202以确定是否已调用一个或多个触发器,否则,图12的示例机器可读指令1200结束。

图13是示例处理器平台1300的框图,该示例处理器平台1300被构造为执行图8-12的指令实现图1和/或图2的示例遥测控制器130a-c。处理器平台1300可以是例如服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,手机、智能手机、平板电脑(诸如ipadtm)、互联网设备、游戏机、机顶盒、耳机或其他可穿戴设备、或任何其他类型的计算设备。

所示示例的处理器平台1300包括处理器1312。所示示例的处理器1312是硬件。例如,处理器1312可以由任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、gpu、dsp或控制器来实现。硬件处理器可以是基于半导体(例如,基于硅)的设备。在该示例中,处理器1312实现图2的示例资源查询控制器220、示例组合控制器230、示例性能度量确定器232、示例对象生成器234、示例接口生成器236、示例组合生成器238、示例资源可用性控制器240和示例可执行文件控制器250。

所示示例的处理器1312包括本地存储器1313(例如,缓存)。所示示例的处理器1312经由总线1318与包括易失性存储器1314和非易失性存储器1316的主存储器通信。易失性存储器1314可以由同步动态随机存取存储器(sdram)、动态随机存储器(dram),动态随机存取存储器和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1316可以由闪存和/或任何其他期望类型的存储设备来实现。对主存储器1314、1316的访问由存储器控制器控制。

所示示例的处理器平台1300还包括接口电路1320。接口电路1320可以通过任何类型的接口标准来实现,诸如以太网接口、通用串行总线(usb)、接口、近场通信(nfc)接口和/或pciexpress接口。在该示例中,接口电路1320实现图2的示例网络接口210。

在示出的示例中,一个或多个输入设备1322被连接到接口电路1320。输入设备1322允许用户将数据和/或命令输入到处理器1312中。输入设备1322可以由例如音频传感器、麦克风、相机(静止或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、isopoint设备和/或语音识别系统来实现。

一个或多个输出设备1324也连接到所示示例的接口电路1320。输出设备1324可以例如由显示设备(例如,发光二极管(led)、有机发光二极管(oled)、液晶显示器(lcd)、阴极射线管显示器(crt)、就地开关(ips)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器来实现。因此,所示示例的接口电路1320通常包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。

所示示例的接口电路1320还包括通信设备,诸如发射器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口,以促进通过网络1326与外部机器(例如,任何种类的计算设备)交换数据。通信可以通过例如以太网连接、数字用户线(dsl)连接、电话线连接、同轴电缆系统、卫星系统、线路现场无线系统、蜂窝电话系统等。

所示示例的处理器平台1300还包括用于存储软件和/或数据的一个或多个大容量存储设备1328。这种大容量存储设备1328的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光磁盘驱动器、独立磁盘冗余阵列(raid)系统和数字多功能磁盘(dvd)驱动器。

图8-12中表示的示例机器可执行指令1332可以被存储在大容量存储设备1328中、在易失性存储器1314中、在非易失性存储器1316中和/或在诸如cd或dvd的可移动非瞬时性计算机可读存储介质上。

图14是示例处理器平台1400的框图,该示例处理器平台1400被构造为执行图8-12的指令,以实现图1的边缘服务140、150。处理器平台1400可以是例如服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,手机、智能电话、平板电脑(诸如ipadtm))、互联网设备、游戏机、机顶盒、耳机或其他可穿戴设备,或任何其他类型的计算设备。

所示示例的处理器平台1400包括处理器1412。所示示例的处理器1412是硬件。例如,处理器1412可以由任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、gpu、dsp或控制器来实现。硬件处理器可以是基于半导体(例如,基于硅)的设备。在该示例中,处理器1012实现图1和图2的示例遥测控制器130b、130c,图1的示例编排器142、152,示例调度器144、154,示例可执行文件137、139,示例组合146、156和示例资源149、159。

所示示例的处理器1412包括本地存储器1413(例如,缓存)。所示示例的处理器1412经由总线1418与包括易失性存储器1414和非易失性存储器1416的主存储器通信。易失性存储器1414可以由sdram、dram、和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1416可以由闪存和/或任何其他期望类型的存储设备来实现。对主存储器1414、1416的访问由存储器控制器控制。

所示示例的处理器平台1400还包括接口电路1420。接口电路1420可以通过任何类型的接口标准来实现,诸如以太网接口、usb、接口、nfc接口、和/或pciexpress接口。

在示出的示例中,一个或多个输入设备1422连接到接口电路1420。输入设备1422允许用户将数据和/或命令输入到处理器1412中。输入设备1422可以通过例如音频传感器、麦克风、相机(静止或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、isopoint设备、和/或语音识别系统来实现。

一个或多个输出设备1424也连接到所示示例的接口电路1420。输出设备1424可以例如由显示设备(例如,led、oled、lcd、crt显示器、ips显示器,触摸屏等)、触觉输出设备、打印机和/或扬声器来实现。因此,所示示例的接口电路1420通常包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。

所示示例的接口电路1420还包括通信设备,诸如发射器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口,以促进通过网络1426与外部机器(例如,任何种类的计算设备)交换数据。通信可以通过例如以太网连接、dsl连接、电话线连接、同轴电缆系统、卫星系统、线路现场无线系统、蜂窝电话系统等。

所示示例的处理器平台1400还包括一个或多个大容量存储设备1428,用于存储软件和/或数据。这种大容量存储设备1428的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光磁盘驱动器、raid系统和(dvd)驱动器。在该示例中,一个或多个大容量存储设备1428实现图1的es数据库148、158和遥测数据136b、136c。

在图8-12中表示的示例机器可执行指令1432可以被存储在大容量存储设备1428中、易失性存储器1414中、非易失性存储器1416中和/或可移动非瞬时性计算机可读存储介质(例如cd或dvd)上。附加地或替代地,资源149、159可以包括和/或以其他方式对应于本地存储器1413、易失性存储器1414、非易失性存储器1416、总线1418、接口1420、输入设备1422、输出设备1424或一个或多个大容量存储设备1428。

根据前述内容,将认识到,已经公开了基于与边缘环境的边缘服务相关联的聚合遥测数据来改进边缘计算工作负载的分布的示例方法、装置和制造品。所公开的方法、装置和制造品通过如下方式改进边缘云、边缘环境中的编排:生成和/或以其他方式及时与以下至少一者对应的遥测数据:(1)利用与边缘服务相关联的资源;(2)此类资源能够满足对资源的需求的效率。有利地,所公开的方法、装置和制造品通过将边缘计算工作负载分配给具有可用资源的边缘服务来改进边缘服务如何满足来自端点设备的低时延和高带宽需求,其中可用资源可以基于本文公开的遥测数据聚合技术进行识别。通过将边缘计算工作负载分配给计算设备的可用资源或通过使边缘计算工作负载远离压力过大或过度使用的计算设备,所公开的方法、装置和制造品提高了使用计算设备的效率。因此,所公开的方法、装置和制造品据此针对计算机功能上的一项或多项改进。

本文公开了用于在边缘环境中聚合遥测数据的示例方法、装置、系统和制造品。其他示例及其组合包括以下内容:

示例1包括一种在边缘环境中聚合遥测数据的装置,所述装置包括:至少一个处理器;以及存储器,所述存储器包括指令,所述指令在被执行时使得所述至少一个处理器用于执行至少如下操作:在所述边缘环境中生成边缘服务的组合,所述组合表示用于获得所述遥测数据的第一接口,所述遥测数据与所述边缘服务的资源相关联,所述遥测数据包括性能度量;基于所述性能度量生成资源对象,所述资源对象表示第二接口,所述第二接口用于从所述资源的第一资源获得所述性能度量;基于所述性能度量生成遥测对象,所述遥测对象表示第三接口,所述第三接口用于从所述资源对象获得所述性能度量;以及基于所述组合生成遥测可执行文件,所述组合包括所述资源对象或所述遥测对象中的至少一个,所述遥测可执行文件用于响应于所述边缘服务执行计算任务来生成所述遥测数据,所述计算任务基于所述遥测数据被分配给所述边缘服务。

示例2包括示例1的装置,其中,所述第一资源是硬件资源,并且所述至少一个处理器用于:将所述性能度量映射到所述硬件资源的功能,所述性能度量是基于所述硬件资源执行所述功能来确定;将所述性能度量映射到由所述硬件资源生成的事件,所述事件对应于硬件计数器或软件计数器中的至少一个;基于所述事件生成资源信息对象(rio)接口,所述rio接口表示用于从所述硬件资源获得所述性能度量的第一命令;以及基于所述功能生成rio,所述rio表示用于从所述rio接口获得所述性能度量的第二命令。

示例3包括示例1的装置,其中,所述第一资源是硬件资源,并且所述至少一个处理器用于:将所述性能度量映射到遥测资源的功能,所述遥测资源表示用于从所述资源对象获得遥测数据的第一命令,所述性能度量是基于所述硬件资源执行计算任务来确定;将所述性能度量映射到应用程序编程接口(api);基于所述api生成遥测信息对象(tio)接口,所述tio接口表示用于从端点环境获得针对所述遥测数据的请求的第二命令;以及基于所述第一命令生成tio,所述tio表示从所述资源对象获得所述性能度量的第三命令。

示例4包括示例1的装置,其中,所述第一资源是硬件资源或软件资源,所述组合包括一个或多个资源模型,所述一个或多个资源模型包括第一资源模型,并且所述至少一个处理器用于:通过虚拟化所述硬件资源或所述软件资源生成第一资源对象;生成第一遥测对象,所述第一遥测对象表示一个或多个命令,所述一个或多个命令用于调用所述第一资源对象以获得与所述硬件资源或所述软件资源相关联的性能度量;确定第二资源对象依赖于所述第一资源对象;以及响应于所述确定,将第二遥测对象分派为依赖于所述第一遥测对象,所述第二遥测对象对应于所述第二资源对象。

示例5包括示例4的装置,其中,所述一个或多个命令包括第一命令,并且所述至少一个处理器用于:响应于获得用于从所述组合中获得所述遥测数据的第二命令,调用所述第一遥测对象以生成用于从所述第一资源对象获得所述遥测数据的第三命令;以及响应于获得所述第一命令,调用所述第一资源对象以从所述硬件资源或所述软件资源获得所述遥测数据。

示例6包括示例1的装置,其中,所述组合是第一组合,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测可执行文件是第一可执行文件,并且所述至少一个处理器用于:基于所述第二资源生成第二资源对象和第二遥测对象;响应于确定所述第二资源对象依赖于所述第一资源对象,通过以下方式生成第二组合:将所述第二资源对象分派为依赖于第一资源对象;并且将所述第二遥测对象分派为依赖于所述第一遥测对象;以及基于所述第一组合生成第二可执行文件,所述第二可执行文件用于生成所述遥测数据。

示例7包括示例1的装置,其中,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测数据包括第一遥测数据、第二遥测数据和第三遥测数据,并且所述至少一个处理器用于:基于所述第二资源生成第二资源对象和第二遥测对象,所述第二资源对象依赖于所述第一资源对象,所述第二遥测对象依赖于所述第一遥测对象;通过调用所述第二遥测对象生成所述第二遥测数据;响应于生成所述第二遥测数据,通过调用所述第一遥测对象生成所述第一遥测数据;以及基于所述第一遥测数据和所述第二遥测数据确定所述第三遥测数据。

示例8包括示例7的装置,其中,所述性能度量是第一性能度量,所述第一遥测数据包括所述第一性能度量,所述第二遥测数据包括第二性能度量,以及所述第三遥测数据包括第三性能度量,并且所述至少一个处理器用于:基于所述第一性能度量确定第一性能度量代码,基于所述第二性能度量确定第二性能度量代码,并基于所述第三性能度量确定第三性能度量代码;以及响应于调用指示生成了所述第一性能度量和所述第二性能度量的触发器:将所述第一性能度量代码映射到存储所述第一性能度量的第一存储器位置;将所述第二性能度量代码映射到存储所述第二性能度量的第二存储器位置;基于所述第一性能度量和所述第二性能度量确定所述第三性能度量;以及响应于将所述第三性能度量代码映射到第三存储器位置,将所述第三性能度量存储在所述第三存储器位置。

示例9包括一种非瞬时性计算机可读存储介质,包括指令,所述指令在被执行时使得机器执行至少如下操作:在边缘环境中生成边缘服务的组合,所述组合表示用于获得遥测数据的第一接口,所述遥测数据与所述边缘服务的资源相关联,所述遥测数据包括性能度量,所述指令用于通过以下方式生成所述组合:基于所述性能度量生成资源对象,所述资源对象表示第二接口,所述第二接口用于从所述资源的第一资源获得所述性能度量;并且基于所述性能度量生成遥测对象,所述遥测对象表示第三接口,所述第三接口用于从所述资源对象获得所述性能度量;以及基于所述组合生成遥测可执行文件,所述组合包括所述资源对象或所述遥测对象中的至少一个;执行所述遥测可执行文件生成所述遥测数据;以及响应于基于所述遥测数据将计算任务分配给所述边缘服务,执行所述计算任务。

示例10包括示例9的非瞬时性计算机可读存储介质,其中,所述第一资源是硬件资源,并且所述指令在被执行时使得所述机器:将所述性能度量映射到所述硬件资源的功能,所述性能度量是基于所述硬件资源执行所述功能来确定;将所述性能度量映射到由所述硬件资源生成的事件,所述事件对应于硬件计数器或软件计数器中的至少一个;基于所述事件生成资源信息对象(rio)接口,所述rio接口表示用于从所述硬件资源获得所述性能度量的第一命令;以及基于所述功能生成rio,所述rio表示用于从所述rio接口获得所述性能度量的第二命令。

示例11包括示例9的非瞬时性计算机可读存储介质,其中,所述第一资源是硬件资源,并且所述指令在被执行时使得所述机器:将所述性能度量映射到遥测资源的功能,所述遥测资源表示用于从所述资源对象获得遥测数据的第一命令,所述性能度量是基于所述硬件资源执行计算任务来确定;将所述性能度量映射到应用程序编程接口(api);基于所述api生成遥测信息对象(tio)接口,所述tio接口表示用于从端点环境获得针对所述遥测数据的请求的第二命令;以及基于所述第一命令生成tio,所述tio表示从所述资源对象获得所述性能度量的第三命令。

示例12包括示例9的非瞬时性计算机可读存储介质,其中,所述第一资源是硬件资源或软件资源,所述组合包括一个或多个资源模型,所述资源模型包括第一资源模型,并且所述指令在被执行时使得所述机器通过以下方式生成所述第一资源模型:通过虚拟化所述硬件资源或所述软件资源生成第一资源对象;生成第一遥测对象,所述第一遥测对象表示一个或多个命令,所述一个或多个命令用于调用所述第一资源对象以获得与所述硬件资源或所述软件资源相关联的性能度量;确定第二资源对象依赖于所述第一资源对象;以及响应于所述确定,将第二遥测对象分派为依赖于所述第一遥测对象,所述第二遥测对象对应于所述第二资源对象。

示例13包括示例12的非瞬时性计算机可读存储介质,其中,所述一个或多个命令包括第一命令,并且所述指令在被执行时使得所述机器:响应于获得用于从所述组合中获得所述遥测数据的第二命令,调用所述第一遥测对象以生成用于从所述第一资源对象获得所述遥测数据的第三命令;以及响应于获得所述第一命令,调用所述第一资源对象以从所述硬件资源或所述软件资源获得所述遥测数据。

示例14包括示例9的非瞬时性计算机可读存储介质,其中,所述组成是第一组成,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测可执行文件是第一可执行文件,并且所述指令在被执行时使得所述机器:基于所述第二资源生成第二资源对象和第二遥测对象;响应于确定所述第二资源对象依赖于所述第一资源对象,通过以下方式生成第二组合:将所述第二资源对象分派为依赖于第一资源对象;并且将所述第二遥测对象分派为依赖于所述第一遥测对象;基于所述第一组合生成第二可执行文件;以及基于所述第二可执行文件生成所述遥测数据。

示例15包括示例9的非瞬时性计算机可读存储介质,其中,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测数据包括第一遥测数据、第二遥测数据、第三遥测数据,并且所述指令在被执行时使得所述机器:基于所述第二资源生成第二资源对象和第二遥测对象,所述第二资源对象依赖于所述第一资源对象,所述第二遥测对象依赖于所述第一遥测对象;通过调用所述第二遥测对象生成所述第二遥测数据;响应于生成所述第二遥测数据,通过调用所述第一遥测对象生成所述第一遥测数据;以及基于所述第一遥测数据和所述第二遥测数据确定所述第三遥测数据。

示例16包括示例15的非瞬时性计算机可读存储介质,其中,所述性能度量是第一性能度量,所述第一遥测数据包括所述第一性能度量,所述第二遥测数据包括第二性能度量,以及所述第三遥测数据包括第三个性能度量,并且所述指令在被执行时使得所述机器:基于所述第一性能度量确定第一性能度量代码,基于所述第二性能度量确定第二性能度量代码,并基于所述第三性能度量确定第三性能度量代码;以及响应于调用指示生成了所述第一性能度量和所述第二性能度量的触发器:将所述第一性能度量代码映射到存储所述第一性能度量的第一存储器位置;将所述第二性能度量代码映射到存储所述第二性能度量的第二存储器位置;基于所述第一性能度量和所述第二性能度量确定所述第三性能度量;以及响应于将所述第三性能度量代码映射到第三存储器位置,将所述第三性能度量存储在所述第三存储器位置。

示例17包括一种在边缘环境中聚合遥测数据的装置,所述装置包括:用于在所述边缘环境中生成边缘服务的组合的装置,所述组合表示用于获得所述遥测数据的第一接口,所述遥测数据与所述边缘服务的资源相关联,所述遥测数据包括性能度量;用于基于所述性能度量生成资源对象和遥测对象的装置,所述资源对象表示第二接口,所述第二接口用于从所述资源的第一资源获得所述性能度量,所述遥测对象表示第三接口,所述第三接口用于从所述资源对象获得所述性能度量;以及用于基于所述组合编译遥测可执行文件的装置,所述组合包括所述资源对象或所述遥测对象中的至少一个,所述遥测可执行文件用于响应于所述边缘服务执行计算任务来生成所述遥测数据,所述计算任务基于所述遥测数据被分配给所述边缘服务。

示例18包括示例17的装置,其中,所述第一资源是硬件资源,并且进一步包括:用于将所述性能度量映射到所述硬件资源的功能的第一装置,所述性能度量是基于所述硬件资源执行所述功能来确定;用于将所述性能度量映射到由所述硬件资源生成的事件的第二装置,所述事件对应于硬件计数器或软件计数器中的至少一个;以及用于生成的装置,所述用于生成的装置用于:基于所述事件生成资源信息对象(rio)接口,所述rio接口表示用于从所述硬件资源获得所述性能度量的第一指令;并且基于所述功能生成rio,所述rio表示用于从所述rio接口获得所述性能度量的第二指令。

示例19包括示例17的装置,其中,所述第一资源是硬件资源,并且进一步包括:用于将所述性能度量映射到遥测资源的功能的第一装置,所述遥测资源表示用于从所述资源对象获得遥测数据的第一指令,所述性能度量是基于所述硬件资源执行计算任务来确定;用于将所述性能度量映射到应用程序编程接口(api)的第二装置;用于生成的装置,所述用于生成的装置用于:基于所述api生成遥测信息对象(tio)接口,所述tio接口表示用于从端点环境获得针对所述遥测数据的请求的第二指令;并且基于所述第一指令生成tio,所述tio表示从所述资源对象获得所述性能度量的第三指令。

示例20包括示例17的装置,其中,所述第一资源是硬件资源或软件资源,所述组成包括一个或多个资源模型,所述一个或多个资源模型包括第一资源模型,并且进一步包括:用于生成的装置,所述用于生成的装置用于:通过虚拟化所述硬件资源或所述软件资源生成第一资源对象;并且生成第一遥测对象,所述第一遥测对象表示一个或多个指令,所述一个或多个指令用于调用所述第一资源对象以获得与所述硬件资源或所述软件资源相关联的性能度量;以及用于构成的装置,所述用于构成的装置用于:确定第二资源对象依赖于所述第一资源对象;并且响应于所述确定,将第二遥测对象分派为依赖于所述第一遥测对象,所述第二遥测对象对应于所述第二资源对象。

示例21包括示例20的装置,其中,所述一个或多个指令包括第一指令,并且进一步包括:响应于获得用于从所述组合中获得所述遥测数据的第二指令,用于调用所述第一遥测对象以生成用于从所述第一资源对象获得所述遥测数据的第三指令的第一装置;以及响应于获得所述第一命令,用于调用所述第一资源对象以从所述硬件资源或所述软件资源获得所述遥测数据的第二装置。

示例22包括示例17的装置,其中,所述组合是第一组合,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测可执行文件是第一可执行文件,并且进一步包括:用于基于所述第二资源生成第二资源对象和第二遥测对象的装置;响应于确定所述第二资源对象依赖于所述第一资源对象,用于构成的装置,所述用于构成的装置通过以下方式生成第二组合:将所述第二资源对象分派为依赖于第一资源对象;并且将所述第二遥测对象分派为依赖于所述第一遥测对象;以及用于编译的装置,所述用于编译的装置基于所述第一组合生成第二可执行文件,所述第二可执行文件用于生成所述遥测数据。

示例23包括示例17的装置,其中,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测数据包括第一遥测数据、第二遥测数据和第三遥测数据,所述用于生成的装置是用于生成的第一装置,并且进一步包括:所述用于生成的第一装置,所述用于生成的第一装置用于基于所述第二资源生成第二资源对象和第二遥测对象,所述第二资源对象依赖于所述第一资源对象,所述第二遥测对象依赖于所述第一遥测对象;以及用于生成的第二装置,所述用于生成的第二装置用于:通过调用所述第二遥测对象生成所述第二遥测数据;响应于生成所述第二遥测数据,通过调用所述第一遥测对象生成所述第一遥测数据;以及基于所述第一遥测数据和所述第二遥测数据确定所述第三遥测数据。

示例24包括示例23的装置,其中,所述性能度量是第一性能度量,所述第一遥测数据包括所述第一性能度量,所述第二遥测数据包括第二性能度量,以及所述第三遥测数据包括第三性能度量,并且所述用于生成的第二装置用于:基于所述第一性能度量确定第一性能度量代码,基于所述第二性能度量确定第二性能度量代码,并基于所述第三性能度量确定第三性能度量代码;以及响应于调用指示生成了所述第一性能度量和所述第二性能度量的触发器:将所述第一性能度量代码映射到存储所述第一性能度量的第一存储器位置;将所述第二性能度量代码映射到存储所述第二性能度量的第二存储器位置;基于所述第一性能度量和所述第二性能度量确定所述第三性能度量;以及响应于将所述第三性能度量代码映射到第三存储器位置,将所述第三性能度量存储在所述第三存储器位置。

示例25包括一种非瞬时性计算机可读存储介质,包括指令,所述指令在被执行时使得至少一个处理器至少:响应于获得用于执行边缘设备的工作负载的请求,在边缘环境中发现与至少一个边缘服务相关联的多个边缘服务资源,所述至少一个边缘服务包括所述多个边缘服务资源中的第一边缘服务资源;基于从所述至少一个边缘服务获得的第一遥测数据,识别所述至少一个边缘服务,所述第一遥测数据包括指示所述第一边缘服务资源可用于执行所述工作负载的可用性的性能度量;将所述工作负载分配给所述至少一个边缘服务用于执行;以及响应于所述至少一个边缘服务执行遥测模型,基于由所述至少一个边缘服务执行所述工作负载,从所述至少一个边缘服务获得第二遥测数据,所述遥测模型包括第一接口用于获得由所述第一边缘服务资源生成的所述第二遥测数据。

示例26包括示例25的非瞬时性计算机可读存储介质,其中,所述第二遥测数据包括所述性能度量,所述第一边缘服务资源包括第一硬件资源,并且所述指令在被执行时使得所述至少一个处理器:基于所述性能度量生成资源对象,所述资源对象表示第二接口,所述第二接口用于从所述第一硬件资源获得所述性能度量;以及基于所述性能度量生成遥测对象,所述遥测对象表示第三接口,所述第三接口用于从所述资源对象获得所述性能度量。

示例27包括示例26的非瞬时性计算机可读存储介质,其中,所述第一边缘服务资源包括硬件资源,并且所述指令在被执行时使得所述至少一个处理器:将所述性能度量映射到遥测资源的功能,所述遥测资源表示用于从所述资源对象获得遥测数据的第一指令,所述性能度量是基于所述硬件资源执行计算任务来确定;将所述性能度量映射到应用程序编程接口(api);基于所述api生成遥测信息对象(tio)接口,所述tio接口表示用于从端点环境获得针对所述遥测数据的请求的第二指令;以及基于所述第一指令生成tio,所述tio表示从所述资源对象获得所述性能度量的第三指令。

示例28包括示例25的非瞬时性计算机可读存储介质,其中,所述第一边缘服务资源包括硬件资源,并且所述指令在被执行时使得所述至少一个处理器:将所述性能度量映射到所述硬件资源的功能,所述性能度量是基于所述硬件资源执行所述功能来确定;将所述性能度量映射到由所述硬件资源生成的事件,所述事件对应于硬件计数器或软件计数器中的至少一个;基于所述事件生成资源信息对象(rio)接口,所述rio接口表示用于从所述硬件资源获得所述性能度量的第一指令;以及基于所述功能生成rio,所述rio表示用于从所述rio接口获得所述性能度量的第二指令。

示例29包括一种在边缘环境中聚合遥测数据的方法,所述方法包括:在所述边缘环境中生成边缘服务的组合,所述组合表示用于获得所述遥测数据的第一接口,所述遥测数据与所述边缘服务的资源相关联,所述遥测数据包括性能度量;所述生成包括:基于所述性能度量生成资源对象,所述资源对象表示第二接口,所述第二接口用于从所述资源的第一资源获得所述性能度量;以及基于所述性能度量生成遥测对象,所述遥测对象表示第三接口,所述第三接口用于从所述资源对象获得所述性能度量;基于所述组合生成遥测可执行文件,所述组合包括所述资源对象或所述遥测对象中的至少一个;执行所述遥测可执行文件来生成所述遥测数据;以及响应于基于所述遥测数据将计算任务分配给所述边缘服务,执行所述计算任务。

示例30包括示例29的方法,其中,所述第一资源是硬件资源,并且进一步包括:将所述性能度量映射到所述硬件资源的功能,所述性能度量是基于所述硬件资源执行所述功能来确定;将所述性能度量映射到由所述硬件资源生成的事件,所述事件对应于硬件计数器或软件计数器中的至少一个;基于所述事件生成资源信息对象(rio)接口,所述rio接口表示用于从所述硬件资源获得所述性能度量的第一指令;以及基于所述功能生成rio,所述rio表示用于从所述rio接口获得所述性能度量的第二指令。

示例31包括示例29的方法,其中,所述第一资源是硬件资源,并且进一步包括:将所述性能度量映射到遥测资源的功能,所述遥测资源表示用于从所述资源对象获得遥测数据的第一指令,所述性能度量是基于所述硬件资源执行计算任务来确定;将所述性能度量映射到应用程序编程接口(api);基于所述api生成遥测信息对象(tio)接口,所述tio接口表示用于从端点环境获得针对所述遥测数据的请求的第二指令;以及基于所述第一指令生成tio,所述tio表示从所述资源对象获得所述性能度量的第三指令。

示例32包括示例29的方法,其中,所述第一资源是硬件资源或软件资源,所述组成包括一个或多个资源模型,所述一个或多个资源模型包括第一资源模型,并且进一步包括通过以下方式生成所述第一资源模型:通过虚拟化所述硬件资源或所述软件资源生成第一资源对象;生成第一遥测对象,所述第一遥测对象表示一个或多个命令,所述一个或多个指令用于调用所述第一资源对象以获得与所述硬件资源或所述软件资源相关联的性能度量;确定第二资源对象依赖于所述第一资源对象;以及响应于所述确定,将第二遥测对象分派为依赖于所述第一遥测对象,所述第二遥测对象对应于所述第二资源对象。

示例33包括示例32的方法,其中,所述一个或多个指令包括第一指令,并且进一步包括:响应于获得用于从所述组合中获得所述遥测数据的第二指令,调用所述第一遥测对象以生成用于从所述第一资源对象获得所述遥测数据的第三指令;以及响应于获得所述第一指令,调用所述第一资源对象以从所述硬件资源或所述软件资源获得所述遥测数据。

示例34包括示例29的方法,其中,所述组合是第一组合,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测可执行文件是第一可执行文件,并且进一步包括:基于所述第二资源生成第二资源对象和第二遥测对象;响应于确定所述第二资源对象依赖于所述第一资源对象,通过以下方式生成第二组合:将所述第二资源对象分派为依赖于第一资源对象;并且将所述第二遥测对象分派为依赖于所述第一遥测对象;基于所述第一组合生成第二可执行文件;以及基于所述第二可执行文件生成所述遥测数据。

示例35包括示例29的方法,其中,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测数据包括第一遥测数据、第二遥测数据和第三遥测数据,并且进一步包括:基于所述第二资源生成第二资源对象和第二遥测对象,所述第二资源对象依赖于所述第一资源对象,所述第二遥测对象依赖于所述第一遥测对象;通过调用所述第二遥测对象生成所述第二遥测数据;响应于生成所述第二遥测数据,通过调用所述第一遥测对象生成所述第一遥测数据;以及基于所述第一遥测数据和所述第二遥测数据确定所述第三遥测数据。

示例36包括示例35的方法,其中,所述性能度量是第一性能度量,所述第一遥测数据包括所述第一性能度量,所述第二遥测数据包括第二性能度量,以及所述第三遥测数据包括第三性能度量,并且进一步包括:基于所述第一性能度量确定第一性能度量代码,基于所述第二性能度量确定第二性能度量代码,并基于所述第三性能度量确定第三性能度量代码;以及响应于调用指示生成了所述第一性能度量和所述第二性能度量的触发器:将所述第一性能度量代码映射到存储所述第一性能度量的第一存储器位置;将所述第二性能度量代码映射到存储所述第二性能度量的第二存储器位置;基于所述第一性能度量和所述第二性能度量确定所述第三性能度量;以及响应于将所述第三性能度量代码映射到第三存储器位置,将所述第三性能度量存储在所述第三存储器位置。

示例37包括一种在边缘环境中聚合遥测数据的装置,所述装置包括:组合生成器,所述组合生成器用于在所述边缘环境中生成边缘服务的组合,所述组合表示用于获得所述遥测数据的第一接口,所述遥测数据与所述边缘服务的资源相关联,所述遥测数据包括性能度量;对象生成器,所述对象生成器用于:基于所述性能度量生成资源对象,所述资源对象表示第二接口,所述第二接口用于从所述资源的第一资源获得所述性能度量;基于所述性能度量生成遥测对象,所述遥测对象表示第三接口,所述第三接口用于从所述资源对象获得所述性能度量;以及可执行文件控制器,所述可执行文件控制器用于基于所述组合生成遥测可执行文件,所述组合包括所述资源对象或所述遥测对象中的至少一个,所述遥测可执行文件用于响应于所述边缘服务执行计算任务来生成所述遥测数据,所述计算任务基于所述遥测数据被分配给所述边缘服务。

示例38包括示例37的装置,其中,所述第一资源是硬件资源,并且进一步包括:对象生成器,所述对象生成器用于将所述性能度量映射到所述硬件资源的功能,所述性能度量是基于所述硬件资源执行所述功能来确定;接口生成器,所述接口生成器用于:将所述性能度量映射到由所述硬件资源生成的事件,所述事件对应于硬件计数器或软件计数器中的至少一个;并且基于所述事件生成资源信息对象(rio)接口,所述rio接口表示用于从所述硬件资源获得所述性能度量的第一指令;以及所述对象生成器用于基于所述功能生成rio,所述rio表示用于从所述rio接口获得所述性能度量的第二指令。

示例39包括示例37的装置,其中,所述第一资源是硬件资源,并且进一步包括:所述对象生成器用于将所述性能度量映射到遥测资源的功能,所述遥测资源表示用于从所述资源对象获得遥测数据的第一指令,所述性能度量是基于所述硬件资源执行计算任务来确定;接口生成器,所述接口生成器用于:将所述性能度量映射到应用程序编程接口(api);并且基于所述api生成遥测信息对象(tio)接口,所述tio接口表示用于从端点环境获得针对所述遥测数据的请求的第二指令;以及所述对象生成器用于基于所述第一指令生成tio,所述tio表示从所述资源对象获得所述性能度量的第三指令。

示例40包括示例37的装置,其中,所述第一资源是硬件资源或软件资源,所述组成包括一个或多个资源模型,所述一个或多个资源模型包括第一资源模型,并且进一步包括:所述对象生成器用于:通过虚拟化所述硬件资源或所述软件资源生成第一资源对象;并且生成第一遥测对象,所述第一遥测对象表示一个或多个命令,所述一个或多个指令用于调用所述第一资源对象以获得与所述硬件资源或所述软件资源相关联的性能度量;以及所述组合生成器用于:确定第二资源对象依赖于所述第一资源对象;并且响应于所述确定,将第二遥测对象分派为依赖于所述第一遥测对象,所述第二遥测对象对应于所述第二资源对象。

示例41包括示例40的装置,其中,所述一个或多个指令包括第一指令,并且所述遥测可执行文件用于:响应于获得用于从所述组合中获得所述遥测数据的第二指令,调用所述第一遥测对象以生成用于从所述第一资源对象获得所述遥测数据的第三指令;以及响应于获得所述第一指令,调用所述第一资源对象以从所述硬件资源或所述软件资源获得所述遥测数据。

示例42包括示例37的装置,其中,所述组合是第一组合,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测可执行文件是第一可执行文件,并且进一步包括:所述对象生成器用于基于所述第二资源生成第二资源对象和第二遥测对象;响应于确定所述第二资源对象依赖于所述第一资源对象,所述组合生成器用于通过以下方式生成第二组合:将所述第二资源对象分派为依赖于第一资源对象;并且将所述第二遥测对象分派为依赖于所述第一遥测对象;以及所述可执行文件控制器用于基于所述第一组合生成第二可执行文件,所述第二可执行文件用于生成所述遥测数据。

示例43包括示例37的装置,其中,所述资源对象是第一资源对象,所述遥测对象是第一遥测对象,所述资源包括第二资源,所述遥测数据包括第一遥测数据、第二遥测数据和第三遥测数据,并且进一步包括:所述对象生成器用于基于所述第二资源生成第二资源对象和第二遥测对象,所述第二资源对象依赖于所述第一资源对象,所述第二遥测对象依赖于所述第一遥测对象;以及所述遥测可执行文件用于:通过调用所述第二遥测对象生成所述第二遥测数据;响应于生成所述第二遥测数据,通过调用所述第一遥测对象生成所述第一遥测数据;并且基于所述第一遥测数据和所述第二遥测数据确定所述第三遥测数据。

示例44包括示例43的装置,其中,所述性能度量是第一性能度量,所述第一遥测数据包括所述第一性能度量,所述第二遥测数据包括第二性能度量,以及所述第三遥测数据包括第三性能度量,并且所述遥测可执行文件用于:基于所述第一性能度量确定第一性能度量代码,基于所述第二性能度量确定第二性能度量代码,并基于所述第三性能度量确定第三性能度量代码;以及响应于调用指示生成了所述第一性能度量和所述第二性能度量的触发器:将所述第一性能度量代码映射到存储所述第一性能度量的第一存储器位置;将所述第二性能度量代码映射到存储所述第二性能度量的第二存储器位置;基于所述第一性能度量和所述第二性能度量确定所述第三性能度量;以及响应于将所述第三性能度量代码映射到第三存储器位置,将所述第三性能度量存储在所述第三存储器位置。

尽管本文已经公开了某些示例方法、装置和制造品,但是本专利的覆盖范围不限于此。相反,该专利涵盖了完全落入本专利权利要求范围内的所有方法、装置和制造品。

所附权利要求据此通过引用结合到本详细描述中,其中每个权利要求独立地作为本公开的单独实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1