一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于优化数据通信的系统的制作方法

2021-11-20 00:35:00 来源:中国专利 TAG:


1.本发明涉及一种用于优化网络中的数据通信的系统。


背景技术:

2.硬件和软件资产在物联网(iot)和5g网络的演进中发挥着重要作用。硬件资产包括:从不同iot环境收集信息的设备/传感器;收集、处理设备信息并将其传输到云和电信网络资产(如路由器)的网关;以及促进连接到云的蜂窝塔。软件资产包括:在设备/网关中运行以启用协议转换和身份验证的固件;在蜂窝网络中启用不同配置设置的网络功能;以及部署在云上用于报告和通知的应用程序。
3.因此,必须跨多个层(如硬件基础设施、资源消耗、网络性能和应用程序性能)监视应用程序行为。由于应用程序、设备、连接和基础设施的供应商使用他们自己的固件、操作系统(os)和专有技术,因此保证应用程序性能变得困难。例如,如果不经过复杂的支持流程,应用程序就无法实时请求更高的带宽。
4.因此,需要一种可以执行多层控制和多点控制的框架,以简化根据服务级别协议保证应用程序性能的iot应用程序的部署、操作和优化。


技术实现要素:

5.根据本发明的第一方面,提供了一种用于优化连接到网络的设备之间的数据通信的系统,该系统包括:服务器,被配置为:测量设备之间的数据通信的应用程序性能度量;将应用程序性能度量与性能要求进行比较;响应于应用程序性能度量低于性能要求,检测网络内具有未开发计算资源的节点;确定在性能要求下实现服务的操作参数;命令节点中的一个或多个在操作参数下运行;以及在被命令在操作参数下运行的一个或多个节点之间迁移与数据通信相关联的工作负载的至少一部分。
6.第一方面的数据通信可以由部署的应用程序实施,并且应用程序性能度量可以包括处理由部署的应用程序传送的数据的计算机基础设施的使用。计算机基础设施的使用可以包括吞吐量、延迟、处理器负载平均值、处理器使用率和存储器使用率中的任何一项或多项。
7.第一方面的网络可以由通信协议管理,该通信协议实现服务器所属的智能层,该智能层确定用于数据通信的通信信道的路径。服务器之一可以被指定为主服务器,而其余服务器中的每一个服务器可以被指定为从服务器。通信协议可以进一步实现编排层,其中系统进一步包括属于编排层的终端,该终端被配置为执行由属于智能层的服务器做出的决策。终端执行的决策可以包括选择节点中的一个或多个来迁移工作负载的一部分。通信协议可以进一步实现转换层,其中系统进一步包括属于转换层的数据处理库,该数据处理库被配置为促进将接收的数据转换为与由通信协议实现的其它层中使用的协议兼容的格式。
8.第一方面的操作参数的确定可以源自预测与性能劣化超过阈值之前的反应时间、当前基础设施性能、负载因子和预期应用程序性能的预测偏差中的任何一个或多个相关的
信息。
9.第一方面的一个或多个节点可以位于网络内的以下位置中的任何一个:网络边缘;电信网络;或云计算机网络。
10.在针对用于数据通信的通信信道确定路径的情况下,第一方面的迁移可以包括通过被命令在操作参数下运行的一个或多个节点转移通信信道。与工作负载的迁移之前的通信信道相比,转移的通信信道可具有不同的路径。服务器可以进一步被配置为:为迁移分配间隔;在间隔经过之后,释放工作负载的一部分在其上被迁移的节点;以及将通信信道返回到工作负载的迁移之前的路径。
11.在第一方面的服务器确定用于通信信道的路径的情况下,沿通信信道的至少一个节点可以在工作负载的一部分迁移之后保持相同。
12.在第一方面的数据通信由部署的应用程序实施的情况下,工作负载可以包括处理由部署的应用程序传送的数据所需的计算。共享计算的节点中的一个或多个可属于同一网络内的集群。
13.第一方面的服务器可以进一步被配置为响应于服务器检测到测量的应用程序性能度量的劣化,将应用程序性能度量与性能要求进行比较。
14.通过对网络成本和性能优化之间的关系建模的分类算法,可计算在第一方面的性能要求下实现服务的操作参数的确定。可替代地,用于在性能要求下实现服务的操作参数的确定,源自来自可用操作参数的列表中的选择。
15.根据本发明的第二方面,提供了一种用于优化连接到网络的设备之间的数据通信的计算机实现的方法,该方法包括:测量设备之间的数据通信的应用程序性能独立;将应用程序性能度量与性能要求进行比较;响应于应用程序性能度量低于性能要求,检测网络内具有未开发计算资源的节点;确定在性能要求下实现服务的操作参数;命令节点中的一个或多个在操作参数下运行;以及在被命令在操作参数下运行的一个或多个节点之间迁移与数据通信相关联的工作负载的至少一部分。
16.第二方面的数据通信可以由部署的应用程序实施,并且应用程序性能度量可以包括处理由部署的应用程序传送的数据的计算机基础设施的使用。计算机基础设施的使用可以包括吞吐量、延迟、处理器负载平均值、处理器使用率和存储器使用率中的任何一项或多项。
17.第二方面的网络可以由通信协议来管理,该通信协议实现智能层,该智能层确定用于数据通信的通信信道的路径。通信协议可以进一步实现编排层,该编排层被配置为执行由智能层做出的决策。智能层执行的决策可以包括选择节点中的一个或多个来迁移工作负载的一部分。通信协议可以进一步实现转换层,该转换层被配置为促进将所接收的数据转换为与由通信协议实现的其它层中使用的协议兼容的格式。
18.第二方面的操作参数的确定可以源自预测与性能劣化超过阈值之前的反应时间、当前基础设施性能、负载因子和预期应用程序性能的预测偏差中的任何一个或多个相关的信息。
19.第二方面的节点中的一个或多个可以位于网络内的以下任一位置:网络边缘;电信网络;或云计算机网络。
20.在针对用于数据通信的通信信道确定路径的情况下,第二方面的迁移可以包括通
过被命令在操作参数下运行的一个或多个节点转移通信信道。与工作负载的迁移之前的通信信道相比,转移的通信信道可具有不同的路径。然后第二方面的方法可以分配用于迁移的间隔;在间隔经过之后,释放工作负载的一部分在其上被迁移的节点;以及将通信信道返回到工作负载的迁移之前的路径。
21.在第二方面的网络由实现确定用于通信信道的通信信道的路径的智能层的通信协议管理的情况下,在工作负载的一部分的迁移之后,沿通信信道的至少一个节点保持相同。
22.在第二方面的数据通信由部署的应用程序实施的情况下,工作负载可以包括处理由部署的应用程序传送的数据所需的计算。共享计算的一个或多个节点可属于同一网络内的集群。
23.应用程序性能度量与第二方面的性能要求的比较可以响应于检测到测量的应用程序性能度量的劣化。
24.可以通过对网络成本和性能优化之间的关系建模的分类算法,来计算在第二方面的性能要求下实现服务的操作参数的确定。可替代地,用于在性能要求下实现服务的操作参数的确定,源自来自可用操作参数的列表中的选择。
25.根据本发明的第三方面,提供了一种非暂态处理器可读介质,存储用于优化连接到网络的设备之间的数据通信的代码,该代码表示当被执行时使处理器执行以下操作的指令:测量设备之间的数据通信的应用程序性能度量;将应用程序性能度量与性能要求进行比较;响应于应用程序性能度量低于性能要求,检测网络内具有未开发计算资源的节点;确定在性能要求下实现服务的操作参数;命令节点中的一个或多个在操作参数下运行;以及在被命令在操作参数下运行的一个或多个节点之间迁移与数据通信相关联的工作负载的至少一部分。
26.第三方面的数据通信可以由部署的应用程序实施,并且应用程序性能度量可以包括处理由部署的应用程序传送的数据的计算机基础设施的使用。计算机基础设施的使用可以包括吞吐量、延迟、处理器负载平均值、处理器使用率和存储器使用率中的任何一项或多项。
27.网络可以由通信协议管理,该通信协议实现包含第三方面的处理器的服务器所属的智能层,该智能层确定用于数据通信的通信信道的路径。可以将智能层的服务器之一指定为主服务器,而将其余服务器中的每一个服务器指定为从服务器。通信协议可以进一步实现编排层,该编排层包括被配置为执行由属于智能层的服务器做出的决策的终端。终端执行的决策可以包括选择节点中的一个或多个来迁移工作负载的一部分。通信协议可以进一步实现包括数据处理库的转换层,该数据处理库被配置为促进将接收的数据转换成与在由通信协议实现的其它层中使用的协议兼容的格式。
28.第三方面的操作参数的确定可以源自预测与性能劣化超过阈值之前的反应时间、当前基础设施性能、负载因子和预期应用程序性能的预测偏差中的任何一个或多个相关的信息。
29.第三方面的节点中的一个或多个可以位于网络内的以下任一位置:网络边缘;电信网络;或云计算机网络。
30.在针对用于数据通信的通信信道确定路径的情况下,第三方面的迁移可以包括通
过被命令在操作参数下运行的一个或多个节点转移通信信道。与工作负载的迁移之前的通信信道相比,转移的通信信道可具有不同的路径。服务器可以进一步被配置为:为迁移分配间隔;在间隔经过之后,释放工作负载的一部分在其上被迁移的节点;以及将通信信道返回到工作负载的迁移之前的路径。
31.在第三方面的网络由用于通信信道的实现确定用于通信信道的路径的智能层的通信协议管理的情况下,沿通信信道的至少一个节点可以在工作负载的一部分的迁移之后保持相同。
32.在第三方面的数据通信由部署的应用程序实施的情况下,工作负载可以包括处理由部署的应用程序传送的数据所需的计算。共享计算的一个或多个节点可属于同一网络内的集群。
33.第三方面的处理器可以进一步被配置为响应于服务器检测到测量的应用程序性能度量的劣化,将应用程序性能度量与性能要求进行比较。
34.可以通过对网络成本和性能优化之间的关系建模的分类算法,来计算在第三方面的性能要求下实现服务的操作参数的确定。可替代地,用于在性能要求下实现服务的操作参数的确定,可以源自来自可用操作参数的列表中的选择。
附图说明
35.本发明的代表性实施例仅通过示例的方式在此参考附图进行描述,在附图中:
36.图1示出结合根据本发明的各种实施例的被配置为优化数据通信的系统的网络。
37.图2示出图1的数据优化系统的架构。
38.图3示出具有网关层的图1的网络。
39.图4示出在图2的架构的各个层之间发生的事件序列。
40.图5示出由图1的数据优化系统所使用的分类算法的决策树结构。
41.图6示出优化图1和图3的网络中的数据通信的流程图。
42.图7提供了由图1的数据优化系统提供的多层和多点命令以及控制结构的可视化概要。
具体实施方式
43.在以下描述中,参考附图描述了各种实施例,其中相同的附图标记在不同的示图中通常指代相同的部分。
44.概括地说,本技术提供了一种优化连接到网络的设备之间的数据通信的系统,其中一个设备提供数据的来源,而另一个设备通过网络中可用资源的适当分配提供用于数据的目的地(例如接收由远程相机捕获的实时流视频馈送的智能电话)。该系统实现跨设备、电信网络和公共云基础设施的端到端服务保证。该系统部署了一种架构,该架构将参与者(具有实现系统架构的处理能力的任何设备)分组为四个逻辑层之一:数据层;转换层;智能层;以及编排层,其中智能层负责优化数据通信。在本公开中,属于四个逻辑层中的任何一个逻辑层的参与者使用特定标签来指代,这取决于参与者在特定情况下履行哪些功能。例如:用于属于智能层的那些功能的“服务器”;用于属于编排层的那些功能的“终端”;用于连接到网络以传送执行应用程序生成的数据的那些功能的“设备”。可以理解,具有足够处理
能力的任何硬件都可以用于四层中的任何一层。因此,取决于所需的应用程序性能度量和特定实例的网络状态,相同的硬件可以作为数据层、转换层、智能层和编排层执行。
45.智能层通过确保应用程序性能度量应在由例如服务级别协议指定的性能要求内,来实施数据通信的优化。应用程序性能度量是指用于测量软件应用程序的效果的参数,该软件应用程序输出连接到网络的设备之间传送的数据。实施这些参数的测量的非详尽示例包括cpu使用率、存储器使用率、并发负载、响应时间、带宽、延迟和分组丢失。在本系统架构的上下文中,应用程序性能度量影响终端用户体验,诸如终端用户在请求和交付之间必须等待的持续时间。例如,对于具有实时应用程序(诸如视频会议呼叫)的时间敏感的服务请求,低延迟是优选的。因此,这些度量可以应用于网络内的任何基础设施中的一个或多个,诸如运行接入网络的应用程序的第一终端设备和连接到服务于应用程序发出的请求的网络的第二终端设备,以及属于数据层、转换层、智能层和编排层中任一个的负责允许第一终端设备和第二终端设备之间的数据通信的任何其它计算机硬件。
46.如果应用程序性能度量低于性能要求,智能层的服务器识别网络中是否存在具有未开发计算资源的节点,即具有用于附加计算工作的可用能力的节点。此类节点包括已经在连接到网络的设备之间促进数据通信的那些节点,从而智能层检测到这些节点具有可用的计算资源,可以使用该计算资源来优化数据通信。因此,当智能层测量应用程序性能度量时,这些使用的节点可能已经位于针对用于数据通信的通信信道建立的路径上。可以识别的其它节点包括具有可用计算资源并且不参与促进设备之间的数据通信的那些节点。当智能层测量应用程序性能度量时,这些未使用的节点不位于针对用于数据通信的通信信道建立的路径上。
47.智能层确定在由服务级别协议指定的性能要求下实现服务的操作参数。然后智能层命令具有未开发计算资源的这些节点中的一个或多个以所确定的操作参数运行,并且将与数据通信相关联的工作负载的至少一部分迁移到被命令在操作参数下运行的一个或多个节点。工作负载是指处理由部署的应用程序传送的数据所需的计算,并且包括在该数据在连接到网络的设备之间中继时发生的任务。这些任务包括基本的计算活动,诸如引入数据分组报头以确保数据沿着用于数据通信的通信信道正确路由到下一个节点;更大量的计算活动,诸如数据分析,其可能是引入数据分组路由报头的补充。此类大量计算活动允许将可能超出提供数据的终端设备的能力的繁重计算处理,卸载到具有足够计算处理能力的节点上。大量计算活动取决于在设备之间传送数据的目的以及接收数据的节点的角色,而该目的进而由实施设备之间数据通信的应用程序确定。非详尽示例包括:天气预报应用程序,其中终端设备是简单的温度传感器,并且中继来自温度传感器的温度数据的节点之一执行分析,诸如预测下一周的天气状况;监督应用程序,其中终端设备是简单的相机,并且中继来自相机的视频馈送数据的节点之一执行分析,诸如针对外部数据库进行面部识别;以及远程控制应用程序,其中终端设备是具有各种监视传感器的机器人,并且中继来自机器人的监视传感器数据馈送的节点之一执行分析,诸如确定数据馈送中的每一个是否指示机器人正常操作。
48.迁移是指在具有未开发计算资源的一个或多个节点之间重新分配工作负载。迁移之后的通信信道的路径,取决于网络内被识别为具有未开发计算资源的一个或多个节点。如果仅识别出位于已用于数据通信的通信信道上的节点(即上述“使用节点”),从而实现数
据优化的迁移涉及沿现有通信信道重新分配计算资源,则迁移之后通信信道的路径保持相同。然而,即使仅识别出使用的节点,例如当工作负载的迁移从现有通信信道中省略若干节点时,通信信道的路径也可能改变。如果仅识别出网络内的其它节点(即在通信信道之外的上述“未使用节点”);或者如果识别出使用节点和未使用节点的混合,则通信信道的路径也在迁移之后变化。用于迁移与应用程序相关的工作负载的新节点可以位于网络的任何部分,诸如本地数据中心;或云基础设施,例如私有云、公有云和边缘云。
49.该系统在网络由不同服务供应商互连的集群组成的情况下是有利的。然后中继在连接到网络的设备之间传输的数据的节点也可以由不同的组织互连。例如,两个设备中的一个设备连接到由第一私有计算机云网络提供服务的网关,而另一个设备可以是由第二私有云网络提供服务的智能电话。然后可以通过一个或多个电信网络运营商连接这两个私有计算机云网络。然后在两个设备之间中继数据的节点,可以跨越第一私有计算机云网络、第二私有计算机云网络和一个或多个电话网络运营商。
50.连接到网络的设备可以是具有操作系统能力的任何设备,诸如智能电话或计算机终端。设备的其它示例包括iot(物联网)对象,该对象包含具有唯一标识符的嵌入式电子设备,该唯一标识符使它们能够连接到互联网、智能电话或其它iot设备。与智能电话相比,此类iot设备可以仅具备足以执行其预期功能(诸如温度感测)的处理能力。
51.因此,智能层用作应用程序性能管理工具,来监视和管理应用程序用来跨网络传输数据的网络中一个或多个参与者的操作参数,使得将应用程序性能保持在预期的服务级别。
52.图1示出结合根据本发明的各种实施例的被配置为优化数据通信的系统的网络100。网络100具有多个集群,每个集群可以由不同的组织管理。为了简单起见,图1仅示出了三个集群:第一云计算机网络104、第二云计算机网络112、以及电信运营商网络106。
53.在图1中,两个设备108和110连接到网络100,该网络100用作在两个设备108和110之间传送数据的介质。为了简单起见,仅示出了两个设备,应当理解,在任何情况下,多于两个的设备可以连接到网络100。
54.当设备108和110中的一个请求服务时数据被传送,该服务由例如用于处于另一设备的能力之中的设备108和110中的另一个提供。图1示出由设备108(可以是智能电话或任何台式计算机)请求的服务,而服务由设备110(其可以是相机)提供。在服务是特定的并且仅由有限数量的服务供应商满足的情况下,设备108可以识别设备110提供服务。可替代地,如果不存在这种特定性,则可以随机选择设备110来提供所请求的服务。
55.当设备108和110具有sim模块接口并且可以直接连接到电信运营商网络106时,也采用图1的连接示意图。一个或多个中间设备可以将设备108和110连接到它们相应的云网络104和112。例如(未示出),设备108可以通过网关耦合到第一云计算机网络104,并且设备110可以通过网关耦合到第二云计算机网络112。当设备108和110缺少sim模块接口并且通过本地协议如蓝牙连接到网关并且网关连接到电话运营商网络时,这适用。在另一个实现方式中,相应的网关属于第一云计算机网络104和第二云计算机网络112。
56.数据优化系统具有图2中所示的架构200。
57.允许图1的系统优化数据通信的命令和控制结构的架构200具有四个逻辑层,即:数据层202、转换层204、智能层206和编排层208。整个架构200是基于微服务的和分散式的。
例如,转换层204可以在云中(赋予图1的第一云计算机网络104和第二云计算机网络112)运行或在属于云或与云分离的网关中运行。编排层可以全面(即从最终设备108和110到网络100内的任何节点)运行。每一层都以多架构二进制形式出现以部署在任何硬件中。例如,转换层204表现为云的可执行文件、设备和网关的固件、硬件不可知部署的容器以及智能电话的ios/android应用程序。在适当的情况下参考图1,下面描述层202、204、206和208中的每一层的功能。
58.数据层202
59.数据层202是指收集实施设备108和110之间的数据通信效果的分析的网络100参与者。这些分析包括与例如iot部署相关的以下数据。
60.·
硬件数据(处理器类型、存储器容量等)
61.·
基础设施消耗日志(消耗的存储器、cpu负载等)
62.·
网络日志(带宽使用、延迟、吞吐量、分组丢失等)
63.·
应用程序日志(错误、警告、响应时间)
64.·
用户负载(请求数、会话数等)
65.·
云基础架构数据(虚拟机(vm)数量、vm规格、云网络延迟)
66.数据层202还可以从公共数据源收集数据,公共数据源对于针对应用程序性能优化做出明智决策是至关重要的。公共数据源的示例包括车辆交通、天气等。
67.数据层202还提供了模板,应用程序可以在该模板中报告要收集和处理的任何特定数据点。此外,应用程序可以报告预期的性能标准(在平均查询延迟、吞吐量等方面)。数据层202存储该信息以供智能层206使用,以关于实时完成从工作负载迁移到网络100配置改变的全面优化做出明智的决策。
68.转换层204
69.转换层204是指具有数据处理库以对存储有效的存储器格式过滤和转换数据的网络100参与者。由转换层204提供的功能的示例包括特征选择、协议转换和报告。来自转换层204的报告的示例是:应用程序的带宽消耗的滑动窗口,以确保没有异常消耗;以及由应用程序处理的平均并发流量,以确保应用程序性能不下降。转换层204生成这些报告以促进智能层206执行性能下降的即时根本原因分析。也可以通过用户界面使由转换层204生成的报告可用。
70.数据处理库允许转换层204促进将数据转换成与由架构200实现的其它层中使用的协议兼容的格式。转换层204还可以为智能层206中的机器学习模型执行必要的特征工程。数据转换库非常灵活,并且可以以完全分布式模式运行,以处理大量连续数据流,或也可以缩小规模并作为容器在iot网关上运行。
71.智能层206
72.智能层206是架构200的核心。智能层206是指在网络100内架构200的其它层应该运行的位置中做出实时决策的网络100参与者。如上所述,属于智能层206的计算机基础设施被标记为“服务器”。架构200的分散性质意味着任何服务器都可以作为主机或从机执行,这取决于数据优化要求。
73.智能层206中的每个服务器被配置为测量两个设备108和110之间的数据通信的应用程序性能度量。应用程序性能度量是指用于测量软件应用程序的效果的参数,软件应用
程序输出在连接到网络100的设备108和110之间传送的数据。由于智能层206还确定用于数据通信的通信信道的路径,因此智能层206的服务器监视的应用程序性能度量包括沿着通信信道存在的参数,其确定实施两个设备108和110之间的数据通信的应用程序的效果。通信信道是指在网络100内针对在两个设备108和110之间传输的数据分组所采用的路径。该路径可以使用物理传输介质(诸如电线),或无线介质(诸如无线电信道)。
74.在数据通信由设备108中部署的应用程序实施的实现方式中,应用程序性能度量包括处理由部署的应用程序传送的数据的计算机基础设施的使用。在该实现方式中或任何其它实现方式中,监视的应用程序性能度量包括实施吞吐量和延迟的参数,诸如处理器负载平均值、处理器使用率和存储器使用率。
75.服务器将测量的应用程序性能度量与性能要求进行比较。这种性能要求可以由例如服务级别协议指定,该协议根据包括数据速率延迟、错误率、端口可用性和网络正常运行时间的参数,规定了预期的性能水平。
76.智能层206中的服务器响应于应用程序性能度量低于性能要求,而检测网络100内的计算资源的使用以识别具有未开发计算资源的节点。这些节点是指作为网络100的一部分并且可以位于以下位置中的任何一个的任何计算资源:网络边缘;电信运营商网络106;或云计算机网络(第一云计算机网络104或第二云计算机网络112)。
77.在识别出具有未开发计算资源的节点后,服务器确定在性能要求下实现服务的操作参数。在一种方法中,操作参数的确定源自预测与性能劣化超过阈值之前的反应时间、当前基础设施性能和负载因子中的任何一项或多项相关的信息,这些将在下面更详细地讨论。这种信息可以从执行基于移动平均值和自回归算法的技术中获取。然后服务器命令所识别的节点中的一个或多个在操作参数下运行,并且在被命令以在操作参数下运行的一个或多个节点之间迁移与数据通信相关联的工作负载的至少一部分。
78.在该迁移期间,如果这些节点尚未促进数据通信,用于在设备108和110之间传输数据的通信信道,可以通过被命令以在操作参数下运行的一个或多个节点而转移。转移的通信信道与转移前的通信信道相比具有不同的路径。在一种实现方式中,服务器为迁移分配间隔。在间隔经过之后,服务器释放工作负载的一部分在其上被迁移的节点;以及将通信信道返回到工作负载的迁移之前的路径。
79.在工作负载的迁移期间,智能层206可以指示编排层208迁移延迟敏感的转换和过滤功能(来自转换层204)以部署在网关处。这可能在智能层206中的服务器检测到测量的应用程序性能度量劣化的情况下发生,例如由传入数据速度和量的突然尖峰引起。智能层206具有一套机器学习算法,该算法被训练以做出实时决策以确保应用程序的成本和性能优化。这由被配置为通过分类算法计算操作参数以在性能要求下实现服务的智能层206中的每个服务器来完成,分类算法对网络成本和性能优化之间的关系进行建模。因此,智能层206负责确保应用程序在商定的服务级别协议(sla)内执行。参考图3(与图1中所示的示意图相比,图3示出将设备108连接到电信运营商网络106的网关318层;并且省略了第二云计算机网络112及其连接的设备110),智能层206的附加功能包括:
80.设备108/网关318侧:
81.·
决策何时、什么以及多久,将延迟敏感的工作负载迁移到网关和传感器。
82.·
支持新工作负载或改变现有工作负载的模式所需的硬件改变(例如启用3d加速
等)。
83.·
关于应启用以按需处理事件的高级记录器的决策。
84.网络100侧:
85.·
针对应在网络中执行的顶部改变做出明智的决策以适应事件(例如,对特定sim卡增加带宽分配,以适应有效载荷的临时尖峰)。
86.·
做出安全决策(例如将恶意连接列入黑名单等)。
87.云104侧:
88.·
关于工作负载从一个数据中心迁移到另一个数据中心的决策。
89.·
关于可扩展性和性能的决策(增加cpu分配、虚拟机(vm)数量等)。
90.·
关于边缘部署的决策(将工作负载从网络边缘私有云迁移到公有云)。
91.·
关于安全的决策(改变防火墙以减轻安全事件)。
92.编排层208
93.编排层208具有被配置为执行属于智能层206的服务器的决策的终端。这些决策包括选择网络100内的一个或多节点个来迁移工作负载,诸如将工作负载从公有云迁移到网络边缘处的私有云。编排层的其它功能包括快速执行延迟敏感的数据转换动作,特别是在数据速度中存在尖峰的情况下。编排层208还具有在网络边缘处扩展私有云中的容量(物理的和虚拟的二者)的能力。例如它可以在私有云中实时启动更多vm,以适应网络边缘处的新工作负载。
94.图4提供了在数据优化周期期间在数据层202、转换层204、智能层206和编排层208之间发生的事件402、404、406、408、410、412、414和416的序列400。使用用于控制无人机的操作的应用程序的示例来更详细地阐述该序列400。参考图3,设备108(例如,当它是智能电话时)可以操作控制无人机310的视频监视应用程序。
95.视频分析的范围可包括关键方面,如入侵检测、可疑检测、可疑活动检测等。视频分析在云104、112上执行,并且无人机310通过蜂窝网络312将视频流式传输到云104、112。这种任务关键型应用程序的性能保证非常重要,因为必须实时检测所有事件,并且该应用程序在视频流上运行机器学习(ml)模型时计算量也很大。数据层202收集上面列出的关于端到端应用程序性能的数据点。
96.用于无人机视频监督应用程序的应用程序性能度量的示例包括:
97.·
由云104中视频分析后端应用程序使用的vm:
98.ο数量:3
99.οcpu:intel xeon处理器
100.ο存储器:32gb
101.οgpu:nvidia quadro
102.ο所需的蜂窝网络吞吐量:100mbps
103.数据层202端到端地跟踪来自云104基础设施、应用程序性能和网络100性能的应用程序性能数据,并将数据以json格式存储在如下所示的应用程序性能日志文件中。
104.application_performance_log(apl):
[0105][0106]
以上述格式收集的数据提供了应用程序性能度量的测量,并被发送402到转换层204以供进一步处理。
[0107]
转换层204接收application_performance_log(apl)文件并计算404参数,诸如最大基础设施性能(mip)、当前基础设施性能(cip)、负载因子和网络得分,如下详述。
[0108]
最大基础设施性能(mip)是应用程序使用的硬件中可以预期的最优可行的应用程序性能。硬件基础设施的mip取决于多种因子,如cpu类型、存储器容量、磁盘容量、网络接口卡、系统中部署的应用程序数量、每个应用程序的并发负载等。从历史数据以及制造商和供应商提供的信息中,收集在参数(如硬件可以支持的最大应用程序数量)方面的最优可行性能。使用以下公式计算每个应用程序的mip。
[0109]
mip=负载椅子*网络得分/应用程序数量,
[0110]
其中负载因子=(concurrent_sessions*concurrent_clients*requests_per_second),
[0111]
网络得分=maximum_throughput/best_case_latency(在0到100之间归一化),
[0112]
应用程序数量=可以共享硬件的最大并发应用程序数量。
[0113]
mip得分确定具有理想网络性能和硬件性能的应用程序的最优可行性能得分。
[0114]
当前基础设施性能(cip)是部署应用程序的硬件中的当前应用程序性能。当前基础设施性能使用下面给出的公式计算。
[0115]
cip
t
=负载因子
t
*网络得分
t
/应用程序数量
t

[0116]
应用程序数量
t
=在时间“t”共享硬件资源的应用程序的当前数量,t=时间戳,
[0117]
负载因子
t
=(concurrent_sessions
t
*concurent_clients
t
*requests_per_second
t
),
[0118]
concurrent_sessions
t
=在时间“t”每个应用程序执行的并发会话数量,
[0119]
concurrent_clients
t
=在时间“t”访问每个应用程序的并发客户端数量,
[0120]
requests_per_second
t
=在时间“t”应用程序每秒处理的并发客户端请求数量,
[0121]
网络得分
t
=吞吐量
t
/延迟
t

[0122]
其中吞吐量
t
=应用程序在时间“t”经历的网络吞吐量,
[0123]
延迟
t
=应用程序在时间“t”经历的延迟,以毫秒为单位,
[0124]
cip
t
给出应用程序在时间“t”的性能分数。cip
t
和mip之间的差异为应用程序提供了优化范围,以实现最优可行的性能。
[0125]
计算的最大基础设施性能(mip)、当前基础设施性能(cip)、负载因子和网络得分被转发406到智能层206。
[0126]
智能层206实时接收应用程序的mip、cip、负载因子和网络得分。智能层206考虑过去“n”个时间实例的cip得分并预测未来“m”个时间实例的多个应用程序性能度量,以便计算性能劣化水平以选择最准确的优化动作来恢复应用程序性能。
[0127]
智能层206首先使用下面提到的公式,基于过去“n”个实例的cip得分,连同基础设施元数据(如部署的应用程序的数量、并发负载等),预测未来“m”个时间实例的cip得分。
[0128]
设xi={xi
(t

n)
,...xi
t
}是cip从时间“t

n”到时间“t”的实现值,
[0129]
风险函数具有如下形式:
[0130]
λ(t|x
i
)=λ0(t)exp(β1x
i1


β
p
x
ip
)=λ0(t)exp(x
i
·
β).
[0131]
该表达式给出具有协变量向量(解释变量)xi的cip在时间t的风险函数。
[0132]
智能层206预测当cip当前得分减半时的时间实例,即获得对直到性能劣化变为两倍糟糕的剩余时间的估计。cip当前得分在时间yi下降到一半的可能性可以写为:
[0133][0134]
其中θj=exp(xj
·
β)并且求和是在对象j的集合上,其中事件在时间yi之前没有发生(包括对象cip(i)本身)。显然0<li(β)≤1。这是部分可能性:可以估计协变量的效果,而无需对风险随时间推移的变化进行建模。
[0135]
使用上述公式,计算未来“m”个实例的cip当前得分性能下降一半的可能性,其中“m”为cip当前得分减半的可能性大于80%的时间实例。“m”的值给出了智能层206在性能劣化超过阈值之前必须优化应用程序性能的反应时间。
[0136]
一旦确定了“m”的值,下一步就是预测从时间“t”到时间“t m”的负载因子和网络
得分的值。使用下面给出的公式预测负载因子和网络得分的值。
[0137]
假定时间序列数据x
t
(在本例中为负载因子和网络得分),其中t表示数据被记录之前的最新时间戳,并且x
t
是实数,预测公式为,
[0138][0139]
其中l是滞后算子,并且ε
t
是误差项,i是实例数,p是要预测的时间滞后数,是滞后算子,q是移动平均模型的阶数,θ
i
是移动平均部分的超参数,并且是多样性。
[0140]
该公式用于预测从当前时间“t”到时间“m”的负载因子和网络得分的值,即预期性能显著下降的预测时间实例。
[0141]
智能层206现在具有以下信息来确定最优优化动作,该动作如图4中的事件408所示:
[0142]
i.m,应用程序的性能将显著下降的时间实例,这提供了性能劣化超过阈值(例如50%)之前的反应时间。
[0143]
ii.负载因子
t
,负载因子
(t l)
......负载因子
(t m)
,表示当应用程序性能预期下降时应用程序从当前时间“t”到时间“m”的预测负载因子。
[0144]
iii.网络得分
t
,网络得分
(t l)
....网络得分
(t m)
,表示当应用程序性能预期下降时从当前时间“t”到时间“m”应用程序将经历的预测网络性能。
[0145]
iv.cip
t
,cip
(t 1)
.....cip
(t m)
表示从时间“t”到“m”的预测基础设施得分。
[0146]
v.d
t
,d
(t 1)
,......d
(t m)
表示在给定的基础设施和网络设置中,预期应用程序性能与最优可行应用程序性能的预测偏差。
[0147]
智能层206需要该信息中的一个或多个,以确定用于应用程序的合适优化动作,即允许智能层206确定将在性能要求下实现服务的操作参数。
[0148]
智能层206具有图5中所示的元数据库500,其表示将到达网络设置504的预测信息(m、负载因子、网络得分、cip和d)的组合,该网络设置504具有将在性能要求下实现服务的操作参数。这些网络设置504提供了可选择的并且将在性能要求下实现服务的可用操作参数的列表。
[0149]
元数据库500具有决策树结构并且该树是基于领域专家输入和历史趋势凭经验构建的。例如,决策树可以使用对网络100成本和性能优化之间的关系进行建模的分类算法。智能层206通过具有关于cip、m、负载因子、网络得分和d的预测信息的树遍历,对元数据库执行查询410,以确定412合适的优化动作。d,预期应用程序性能的预测偏差,用于确定应用程序性能的最优可行优化的范围。d用作连接决策树节点的边缘特性。每个优化动作在树中具有置信度分数502,该置信度分数表示该特定动作在过去帮助减少应用程序性能劣化的置信度。
[0150]
例如,如果cip
(t m)
=55并且m=13,这表示智能层206预测在应用程序性能下降到cip
(t m)
之前的13分钟间隔。根据元数据库500树遍历,针对该情况获得的决策是迁移到新的vm。该优化动作决策被传递414到编排层208以启动具有高x%的cpu和存储器的新vm,其中x基于硬件制造商输入和过去的历史趋势凭经验确定。
[0151]
一旦编排层208执行416优化动作以启动新的更大的vm并将应用程序迁移到新的
vm,用于应用程序的cip
t
、负载因子和网络得分就被实时跟踪。如果迁移之后应用程序性能提高,则更新元数据库500的置信水平。如果性能劣化,则对存储在元数据库500中的特定优化动作的置信度降低。这确保元数据库500随着条件和应用程序性能趋势的变化而发展。
[0152]
返回图2,可以通过使用容器来部署架构200,每个封装代码实现架构200的相应层202、204、206和208。例如,能够部署智能层206的服务器的容器,可以来自存储用于优化连接到网络的设备之间的数据通信的代码的非暂态处理器可读介质。能够部署智能层206的服务器的这种代码表示当被执行时使处理器执行以下操作的指令:测量设备之间数据通信的应用程序性能度量;将应用程序性能度量与性能要求进行比较;响应于应用程序性能度量低于性能要求,检测网络内具有未开发计算资源的节点;确定在性能要求下实现服务的操作参数;命令一个或多个节点在操作参数下运行;以及在被命令以在操作参数下运行的一个或多个节点之间,迁移与数据通信相关联的工作负载的至少一部分。
[0153]
当图1和图3的网络100的服务器部署实现智能层206的容器时,服务器根据具有图6中所示步骤的方法,优化连接到网络100的设备108、110和310之间的数据通信。
[0154]
在步骤602中,测量设备108、110和310之间的数据通信的应用程序性能度量。在步骤604中,将应用程序性能度量与性能要求进行比较。在步骤606中,响应于应用程序性能度量低于性能要求,检测在网络100内具有未开发计算资源的节点。在步骤608中,确定在性能要求下实现服务的操作参数。在步骤610中,命令具有未开发计算资源的一个或多个节点在操作参数下运行。在步骤612中,在被命令以在操作参数下运行的一个或多个节点之间,迁移与数据通信相关联的工作负载的至少一部分。
[0155]
图7提供了由图1的数据优化系统提供的多层和多点命令以及控制结构的可视化概要。
[0156]
数据优化系统提供了水平框架,该水平框架可以对iot网络(即连接设备到网关和云的网络)进行多层和多点的命令和控制。多层命令和控制的能力包括以下内容。
[0157]
·
在iot网络中实时动态配置新设备(传感器和网关),以确保业务连续性和性能优化。
[0158]
·
以无线方式部署新版本的设备(传感器或网关)固件。
[0159]
·
改变设备设置并以无线方式提供新证书/用户。
[0160]
·
将新工作负载推送到网关以进行边缘计算以优化性能(延迟和吞吐量)。
[0161]
·
实时改变蜂窝网络设置(带宽分配等)以优化i/o速度、连接性和覆盖范围。
[0162]
·
动态创建私有网络边缘iot云(小型服务器集群私有对等电信接入网络)在网络边缘处执行计算以优化性能。
[0163]
·
在私有网络边缘云和公有云之间实时迁移工作负载(包括从一个数据中心到公有云中的另一个数据中心的迁移)。
[0164]
·
优化硬件设置,包括cpu、存储器、网络设置和应用程序分配、虚拟机配置等,以确保最优应用程序性能。
[0165]
此类多层和多点命令和控制结构提供的优势包括以下内容:
[0166]
·
跨硬件、os、虚拟化、网络和应用程序层的端到端多层性能优化,所有这些都使用单个水平智能控制平面。
[0167]
·
启用边缘处的计算以优化应用程序的性能。
[0168]
·
针对应用程序启用透明且可编程的iot通信网络。
[0169]
·
iot应用程序的自主性能和成本优化。
[0170]
·
自适应网络条件、有效载荷模式、负载因子和应用程序性能趋势的实时变化。
[0171]
·
使用预测分析做出自主优化决策,以确保应用程序性能始终满足预期基准。
[0172]
·
基于当前应用程序性能、负载和网络性能值以及预测的未来值进行的优化动作。
[0173]
·
自适应系统,可以自我学习正确的优化决策,并对错误的决策进行自我惩罚。
[0174]
·
跨应用程序、vm、网络和硬件层的应用程序性能的零接触端到端自主管理。
[0175]
在本技术中,除非另有说明,否则术语“包含”、“包括”及其语法变体旨在表示“开放”或“包容性”语言,使得它们包括所列举的元素但也允许包括附加的、非明确引用的元素。
[0176]
虽然已经参考示例性实施例描述了本发明,但是本领域技术人员将理解,在不脱离本发明的精神和范围的情况下,可以进行各种改变并且可以用等同物替代其元素。此外,在不脱离本发明的基本范围的情况下,可以进行修改以使本发明的教导适应特定情况和材料。因此,本发明不限于本说明书中公开的特定示例,而是包括落入所附权利要求范围内的所有实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献