用于实施用于在多个异构设备上升级和或部署软件的决策的方法与流程

专利2026-01-31  4


本发明涉及用于实施用于在多个异构设备上升级和/或部署软件的决策的方法。此外,本发明涉及数据处理装置、设备以及计算机程序。


背景技术:

1、在边缘计算中,边缘典型地指代与用户和/或应用更接近的位置(在组织内更接近或与生成数据的地方更接近的意义上),并托管能够执行应用和/或容器的多个计算节点。用户然后连接到边缘接口并将他们的应用或容器部署到边缘上。专用边缘编排器可以在合适节点上映射传入的应用或应用容器。

2、这些边缘编排场景中的关键问题之一是跨这些异构节点而编排和部署软件。在具有不同计算能力的异构硬件节点上部署具有服务质量(qos)要求的软件是有挑战性且耗时的。


技术实现思路

1、根据本发明的方面,提供了具有权利要求1的特征的方法、具有权利要求8的特征的数据处理装置、具有权利要求9的特征的设备以及具有权利要求10的特征的计算机程序。在相应从属权利要求、说明书和附图中公开了本发明的进一步特征和细节。在上下文中对方法描述的特征和细节还在每种情况下对应于装置、设备以及计算机程序,并且反之亦然。

2、根据本发明的一方面,提供了一种用于实施用于在多个异构设备上升级和/或部署软件的决策的方法。该多个异构设备可以例如是用于边缘计算的多个计算节点或具有不同计算能力的其他计算设备。设备可能能够执行像应用和/或应用容器之类的软件。软件可以是以像webassembly之类的中间字节码格式编写的。

3、所述方法可以包括:接收在所述设备中的至少一个上升级和/或部署软件的请求。在边缘计算的示例中,用户可以连接到边缘接口并发起软件(特别地,应用或应用容器)到边缘上的部署。编排器(特别地,专用边缘编排器)然后可以根据该方法来接收请求。

4、此外,所述方法可以包括:发起到所述设备中的所述至少一个的连接。连接可以是数据连接等等,特别地,使用像移动通信网络和/或互联网之类的网络。另外,所述方法可以包括:发起用于确定用于执行所述软件的所述至少一个所连接的设备的至少一个能力的过程,特别地,经由连接。在边缘计算的示例中,特别地,这是因为编排器用于在最合适的节点上映射传入的应用或应用容器。因此,最合适的节点可以由所发起的过程确定。特别地,要升级和/或部署的软件具有由该过程考虑的服务质量(qos)要求。

5、而且,该过程可以被发起以用于至少部分或完全由至少一个所连接的设备执行或在至少一个所连接的设备上执行。换言之,该过程(例如,至少一个基准)未被编排器直接实施,而是被发起以由该至少一个设备分散实施。

6、然后,所述方法还可以包括:接收所发起的过程的结果,特别是经由连接。所接收的结果可以包括至少一个基准结果和/或所述至少一个能力的量化。

7、过程的发起和结果的接收允许实施用于基于所接收的结果对软件进行升级和/或部署的决策,特别地,以便根据所接收的结果和/或仅在设备能够执行经升级的软件的情况下将软件升级和/或部署到用于执行软件的最合适设备上。因此,本发明可以提供下述机制:该机制自动量化具有不同能力的设备的系统中的像节点之类的设备的像计算能力之类的能力,并在提供正确计算能力的设备上映射要升级和/或部署的软件。

8、所提出的方法还可以允许软件使用请求来指定与目标平台有关的更详细要求并启用针对更合适部署的编排算法,尤其是当应对动态进入和离开系统的异构节点时。

9、所提出的方法还可以提供根据所提出的过程的基准的使用,该基准被编译成可在具有支持运行时的任何设备或节点上执行的像webassembly之类的中间字节码格式,而不论架构如何。

10、部署还可以被称作在以计算系统的节点的形式存在的设备上映射软件,特别地,应用和/或应用容器。设备可以被配置为可动态进入和退出计算系统的节点。集中式编排器可以用于实施该方法的步骤,特别地,将软件部署到不同节点。在设备上,本地协调器可以用于经由连接来与集中式编排器通信并实施所发起的过程。对于发起过程,编排器可以发送基准的集合以导出结果,特别地,设备的实施基准的能力。决策可以包括基于过程(特别地,基准)的结果的升级和/或部署。

11、在具有不同计算能力的异构设备上对软件的部署和/或升级可能是复杂的,尤其是如果它们需要满足像及时性(实时应用)之类的qos要求。设备和特别地节点可能在计算能力和/或架构细节(例如,架构、高速缓存大小和存储器层级和/或频率和/或微架构细节,像流水线深度)和/或由平台针对资源控制而提供的其他硬件和/或软件特征方面不同。这种系统中的设备可以在从强大云和/或边缘计算中心到具有例如raspberry pi或甚至资源受限的微控制器的性能的更小计算节点的范围内变动。另外,可以提供专门的设备,像gpu、dsp或fpu。当应对设备的这种多样性时,软件(特别地,应用和/或应用容器)的未被通知的升级和/或部署可能导致性能退化或甚至不正确应用行为。在许多情况下,对于编排器而言重要的是选择针对专用节点的考虑准确度与计算效率之间的折衷(例如,在较快计算的情况下较低的准确度)的正确“算法质量”。在分布式设置中,应用可以彼此交互以实现更高功能。可以提供对系统中的其他节点的列表的入口和出口网络带宽,以实现针对包括在系统(特别地,分布式系统)中的不同设备上执行的多个功能部件的因果链的可靠端对端时延。为了高效地利用这种系统并将应用的响应时间保持在所定义的定时要求内,本发明可以提供用于自动确定这种分布式系统中的设备的能力(特别地,计算和/或架构和/或软件能力)的机制。

12、本发明可以允许提供与硬件节点的总体计算能力、它们的在升级和/或部署新应用之前的当前可用资源(作为例如剩余cpu容量或存储器容量)有关的信息。还可以使中央编排器能够利用在不同频率处运行的不同架构等对不同节点的行为进行规范化。此外,还可以使中央编排器能够理解针对由硬件提供的资源隔离和预留的特征以最优地升级和/或部署应用。

13、可能的是,设备被配置为计算系统(特别地,边缘和/或云计算系统和/或分布式系统)中的节点。节点中的每一个可能能够执行软件,特别地,应用和/或应用容器。然而,用于执行软件的设备的能力可以彼此不同。因此,用于确定相应能力的过程可以被发起,作为用于对该差异进行量化的至少一个基准和特别地多个基准。

14、优选地,每个节点能够托管平台中性字节码格式运行时,像用于以中间字节码格式执行软件的解释器和/或编译器。因此,软件可以是以像webassembly之类的中间字节码格式编写的。这允许执行软件,而不论节点的架构如何。

15、还可能的是,实施决策以决定软件在至少一个且特别地多个所连接的设备上的升级和/或部署。可以基于所述至少一个所连接的设备和所确定的能力和(特别地也是所连接的)设备中的进一步设备的进一步确定的能力来实施决策,以决定在设备中的哪个或哪些上升级和/或部署软件。该过程可以包括被发起以在相应设备上运行的至少一个基准。例如,如果接收到用于升级和/或部署软件的请求,则该过程可以被发起多次以在设备中的多个设备上执行。此后,可以评估相应的所接收的结果和/或将相应的所接收的结果彼此比较,以根据决策来找到用于升级和/或部署软件的最合适设备。

16、还可能的是,用于确定所述至少一个能力的过程确定所述至少一个所连接的设备的以下能力中的至少一个:

17、-对于设备的计算性能而言具体的计算能力,

18、-包括与设备的硬件拓扑有关的至少一个规范的硬件能力,

19、-包括与设备的架构和/或微架构有关的至少一个规范的架构能力,

20、-对于设备的至少一个性能相关度量而言具体的性能能力,

21、-对于设备的软件(特别地,软件版本)而言具体的软件能力。

22、每个能力可以影响设备的执行要升级和/或部署的软件的总体能力。此外,可以使用特别地以一个或多个基准的形式存在的过程来对每个能力进行量化。

23、还可能的是,所述请求包括指定所述设备上的针对所述软件的执行的应用要求的应用清单。因此,还可以基于该应用清单(特别地,所述至少一个所连接的设备的所确定的能力和所述应用清单的比较和/或多个所连接的设备的所确定的能力与所述应用清单的比较)来实施决策。应用清单可以定义针对软件的执行的要求,诸如服务质量要求。

24、还可能的是,该过程包括用于测试(特别地,每个所连接的设备的)该能力或能力中的每一个的至少一个基准。然而,该过程可以不是集中实施的,而是分离地在所连接的设备中的每一个上实施的。因此,该至少一个基准和/或软件可以被提供给设备,例如,经由连接而传输到设备。该至少一个基准和/或软件可以是基于中间字节码格式(特别地,webassembly)来提供的。

25、例如,该至少一个基准和/或软件可以是通过将该至少一个基准和/或软件从中央编排器传输到设备或设备中的每一个来提供的。可替换地或附加地,该至少一个基准和/或软件可以是通过将用于下载该至少一个基准和/或软件的位置提供给设备或设备中的每一个来提供的。这允许该设备或每个设备实施所提供且特别地传输或下载的至少一个基准和/或软件以用于确定设备的至少一个能力。特别地,中央编排器由与(一个或多个)设备不同的中央数据处理装置执行。还应当强调,可以使用被编译成可在具有支持运行时的任何设备上执行的像webassembly之类的中间字节码格式的基准,而不论架构如何。

26、发起该过程和接收结果的步骤可以由中央编排器针对多个异构设备中的每一个而实施,该中央编排器用于自动量化用于由设备执行软件以及用于在这些设备上升级和/或部署软件的能力。因此,本发明的另一方面可以是:一种中央编排器,用于自动量化用于由计算系统的多个异构设备执行软件以及在这些设备上升级和/或部署软件的能力。

27、本发明的另一方面是:一种数据处理装置,包括用于实施根据本发明的方法的构件。

28、根据本发明的另一方面,可以提供一种针对计算系统的设备。所述设备可以包括用于实施下述过程的构件:确定它的用于在由计算系统的中央编排器发起时执行软件的能力,以及将所述过程的结果报告回到所述中央编排器。此外,所述过程可以包括由所述设备作为中间字节码和/或源文件和/或预编译的二进制文件而接收的至少一个或多个基准。

29、在本发明的另一方面中,可以提供一种包括指令的计算机程序,特别地,计算机程序产品,所述指令在所述计算机程序由计算机执行时使所述计算机实施根据本发明的方法。因此,根据本发明的计算机程序可以具有与已参考根据本发明的方法详细描述的优势相同的优势。

30、计算机可以是执行计算机程序的数据处理设备。计算机可以包括可以用于执行计算机程序的至少一个处理器。而且,可以提供非易失性数据存储器,在其中可以存储计算机程序,并且可以由处理器从其读取计算机程序以用于实施。

31、根据本发明的另一方面,可以提供一种计算机可读储存介质,其包括根据本发明的计算机程序。储存介质可以被形成为数据储存设备,诸如硬盘和/或非易失性存储器和/或存储器卡和/或固态驱动器。储存介质可以例如集成到计算机中。

32、此外,根据本发明的方法可以被配置为计算机实现方法。


技术特征:

1.一种用于实施用于在多个异构设备(15)上升级和/或部署软件的决策的方法(100),包括以下步骤:

2.如权利要求1所述的方法(100),其特征在于,所述设备(15)被配置为计算系统(1)中的节点,所述计算系统(1)特别是边缘或云计算系统(1),每个节点能够执行所述软件,特别地,应用和/或应用容器,用于执行所述软件的所述设备(15)的能力彼此不同,并且用于确定相应能力的过程是作为用于对该差异进行量化的至少一个基准而发起的,并且优选地,每个节点能够托管用于以中间字节码格式执行所述软件的平台中性字节码格式运行时。

3.如前述权利要求中任一项所述的方法(100),其特征在于,所述决策被实施以决定在所述至少一个所连接的设备(15)上对所述软件进行升级和/或部署,所述决策特别是基于所述至少一个所连接的设备(15)的所确定的能力和设备(15)中的进一步设备的进一步确定的能力来实施的,以决定在设备(15)中的哪个或哪些上升级和/或部署所述软件。

4.如前述权利要求中任一项所述的方法(100),其特征在于,用于确定所述至少一个能力的过程确定所述至少一个所连接的设备(15)的以下能力中的至少一个:

5.如前述权利要求中任一项所述的方法(100),其特征在于,所述请求包括指定设备(15)上的针对所述软件的执行的应用要求的应用清单,所述决策是基于所述至少一个所连接的设备(15)的所确定的能力和所述应用清单的比较来实施的。

6.如前述权利要求中任一项所述的方法(100),其特征在于,所述过程包括用于测试能力的至少一个基准,所述至少一个基准和/或所述软件基于中间字节码格式而被提供给所述设备(15),所述中间字节码格式特别是webassembly,其中优选地,所述至少一个基准和/或所述软件是通过将所述至少一个基准和/或所述软件从中央编排器(30)发射到所述设备(15)和/或通过将用于下载所述至少一个基准和/或所述软件的位置提供给所述设备(15)来提供的,使得所述设备(15)实施用于确定所述设备(15)的至少一个能力的所发射或下载的至少一个基准和/或软件,其中特别地,所述中央编排器(30)由与所述设备(15)不同的中央数据处理装置(10)执行。

7.如前述权利要求中任一项所述的方法(100),其特征在于,发起(102)所述过程和接收(104)所述结果的步骤由中央编排器(30)针对多个异构设备(15)中的每一个而实施,所述中央编排器(30)用于自动量化用于由设备(15)执行所述软件以及用于在这些设备(15)上升级和/或部署所述软件的能力。

8.一种数据处理装置(10),包括用于实施如前述权利要求中任一项所述的方法(100)的构件。

9.一种针对计算系统(1)的设备(15),所述设备(15)包括用于实施下述过程的构件:确定它的用于在由所述计算系统(1)的中央编排器(30)发起时执行软件的能力,以及将所述过程的结果报告回到所述中央编排器(30),所述过程包括由所述设备(15)作为中间字节码和/或源文件和/或预编译的二进制文件而接收的基准。

10.一种包括指令的计算机程序(200),所述指令在所述计算机程序(200)由计算机(20)执行时使所述计算机(20)实施如权利要求1至7中任一项所述的方法(100)。


技术总结
本发明涉及一种用于实施用于在多个异构设备(15)上升级和/或部署软件的决策的方法(100),包括以下步骤:‑接收(101)在所述设备(15)中的至少一个上升级和/或部署软件的请求,‑发起(102)到所述设备(15)中的所述至少一个的连接(50),‑发起(103)用于确定用于执行所述软件的所述至少一个所连接的设备(15)的至少一个能力的过程,所述发起(103)是经由所述连接(50)来实施的,所述过程被发起以用于由所述至少一个所连接的设备(15)执行,‑接收(104)所发起的过程的结果,‑实施(105)用于基于所接收的结果对所述软件进行升级和/或部署的决策。

技术研发人员:A·哈曼,D·N·达萨利,D·齐根拜因,M·普雷斯勒,T·黄
受保护的技术使用者:罗伯特·博世有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/index.php/read-1826914.html

最新回复(0)