一种优化路由数据流的系统和方法转让专利

申请号 : CN201480037240.7

文献号 : CN106464593B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 多若·米兹拉奇

申请人 : 华为技术有限公司

摘要 :

本发明提供一种网络化计算系统,所述网络化计算系统包括:连接到至少一个网络的至少一个网络通信接口,所述至少一个网络通信接口用于从所述至少一个网络接收数据以及发送数据到所述至少一个网络;控制组件,其中所述控制组件用于配置路由,在所述路由上通过所述网络化计算系统从所述至少一个网络中接收到的所述数据被发送到所述至少一个网络,其中所述控制组件用于提供关于所述路由、所述接收到的数据和/或所述发送的数据的当前输入参数到应用组件,其中所述应用组件包括预测模块,其用于评估所述接收到的数据、所述发送数据和/或所述路由的所述当前输入参数和/或历史输入参数,并且其中所述应用组件用于基于由所述预测模块在所述当前输入参数和/或所述历史输入参数的基础上作出的预测输出用于未来路由配置的预测配置参数到所述控制组件,并且其中所述控制组件用于在所述网络化计算系统的操作期间基于由所述应用组件输出的所述预测配置参数动态地配置和/或重新配置所述路由。

权利要求 :

1.一种网络化计算系统(100),其特征在于,包括:

连接到至少一个网络的至少一个网络通信接口(101、102),所述至少一个网络通信接口用于从所述至少一个网络(105、106)接收数据(103)以及发送数据(104)到所述至少一个网络(105、106),控制组件(110),其中所述控制组件(110)用于配置路由(120),在所述路由上通过所述网络化计算系统(100)从所述至少一个网络(105)接收到的所述数据被发送到所述至少一个网络(106),其中所述控制组件(110)用于提供关于所述路由(120)、所述接收到的数据(103)和/或所述发送的数据(104)的当前输入参数(115)到应用组件(130),其中所述应用组件(130)包括预测模块(140),其用于评估所述接收到的数据(103)、所述发送的数据(104)和/或所述路由(120)的所述当前输入参数(115)和/或历史输入参数(141),并且其中所述应用组件(130)用于基于由所述预测模块(140)在所述当前输入参数(115)和/或所述历史输入参数(141)的基础上作出的预测输出用于未来路由配置的预测配置参数(150)到所述控制组件(110),并且其中所述控制组件(110)用于在所述网络化计算系统(100)的操作期间基于由所述应用组件(130)输出的所述预测配置参数(150)动态地配置和/或重新配置所述路由(120);

所述当前输入参数(115)是通过所述应用组件(130)中的监测模块(200)确定的性能指标(215);

所述性能指标(215)包含关于发射的包、接收的包、接收的字节、发射的丢弃、接收的丢弃、发射的误差、流计数发射的包、发射的字节以及接收的误差中的至少一个的信息,以及基于IP的语音传输会话的平均意见分。

2.根据权利要求1所述的网络化计算系统(100),其特征在于,所述应用组件(130)用于以两种操作模式操作:第一操作模式,其中所述应用组件(130)通过包括在所述应用组件(130)中的监测模块(200)监测所述当前输入参数(115)和/或评估用于在所述路由(120)上转发所述数据的约束参数(205);以及第二操作模式,其中所述预测配置参数(150)被输出到所述控制组件(110)。

3.根据权利要求1或2所述的网络化计算系统(100),其特征在于,所述预测模块(140)实施至少一个预测模型(210),所述预测模型(210)用于根据时间序列算法作出预测。

4.根据权利要求1所述的网络化计算系统(100),其特征在于,所述当前输入参数(115)是通过所述监测模块(200)确定的性能指标(215),并且其中所述当前/历史输入参数是当前/历史性能指标,并且其中所述监测模块(200)用于将所述当前性能指标(215)供应到所述预测模块(140)作为到所述至少一个预测模型(210)的输入。

5.根据权利要求1所述的网络化计算系统(100),其特征在于,所述应用组件(130)用于根据所述约束参数(205)输出所述预测配置参数(150),并且其中所述约束参数(205)是根据服务质量和/或服务许可证协议的动态策略和/或约束。

6.根据权利要求1所述的网络化计算系统(100),其特征在于,所述预测模块(140)实施至少一个预测模型(210),所述至少一个预测模型(210)生成至少一个预测配置参数候选(211),其中所述预测是基于所述当前输入参数(115)和/或历史输入参数(141)针对特定时间点作出的。

7.根据权利要求1所述的网络化计算系统(100),其特征在于,所述应用组件(130)包括加权模块(220),其用于通过基于所述当前输入参数(115)和/或历史输入参数(141)定义的加权参数对所述至少一个预测配置参数候选(211)进行加权,所述加权模块(220)进一步用于输出至少一个加权预测配置参数候选,和/或其中所述加权是基于所述当前输入参数(115)和/或历史输入参数(141)的实时评估。

8.根据权利要求1所述的网络化计算系统(100),其特征在于,所述应用组件(130)包括组合模块(230),其用于组合所述至少一个加权预测配置参数候选与至少一个其它加权预测配置参数候选,所述组合模块(230)进一步用于输出至少一个组合预测配置参数。

9.根据权利要求1所述的网络化计算系统,其特征在于,所述应用组件包括输出模块(240),其用于对所述至少一个组合预测配置参数执行误差校正,所述输出模块(240)进一步用于将所述至少一个预测配置参数输出到所述控制组件(110)。

10.根据权利要求1所述的网络化计算系统,其特征在于,所述应用组件(130)包括更新模块(250),其用于在达到所述特定时间点时针对所述特定时间点比较所述至少一个预测配置参数候选(211)与所述当前输入参数(115),和/或其中所述更新模块(250)用于使用优化算法优化所述至少一个预测模型(210),和/或其中所述更新模块(250)用于重新配置所述至少一个预测模型(210)的参数。

11.根据权利要求1所述的网络化计算系统(100),其特征在于,所述应用组件(130)包括更新模块(250),所述更新模块(250)用于更新通过所述加权模块(220)设置的权重。

12.一种用于控制网络化计算系统(100)的方法,其特征在于:

在第一步骤(S301)中,连接到至少一个网络(105、106)的至少一个网络通信接口(101、

102)从所述至少一个网络(105、106)接收数据(103)以及发送数据(104)到所述至少一个网络(105、106),在第二步骤(S302)中,控制组件(110)配置路由(120),在所述路由上通过所述网络化计算系统(100)从所述至少一个网络(105)接收到的所述数据被发送到所述至少一个网络(106),其中在第三步骤(S303)中,所述控制组件(110)提供关于所述路由(120)、所述接收到的数据和/或所述发送的数据的当前输入参数(115)到应用组件(130),其中在第四步骤(S304)中,所述应用组件的预测模块包括预测模块(140),其评估所述接收到的数据(103)、所述发送的数据(104)和/或所述路由(120)的所述当前输入参数(115)和/或历史输入参数(141),并且其中所述应用组件(130)基于由所述预测模块(140)在所述当前输入参数(115)和/或所述历史输入参数(141)的基础上作出的预测输出用于未来路由配置的预测配置参数到所述控制组件(110),并且其中在第五步骤(S305)中,所述控制组件(110)基于由所述应用组件(130)输出的所述预测配置参数(150)动态地配置和/或重新配置所述路由(120);

所述当前输入参数(115)是通过所述应用组件(130)中的监测模块(200)确定的性能指标(215);

所述性能指标(215)包含关于发射的包、接收的包、接收的字节、发射的丢弃、接收的丢弃、发射的误差、流计数发射的包、发射的字节以及接收的误差中的至少一个的信息,以及基于IP的语音传输会话的平均意见分。

13.一种计算系统,其特征在于,包括:

通信接口,其用于接收数据和发送数据,

控制组件,其中所述控制组件用于配置路由,在所述路由上发送所述接收到的数据,其中

所述控制组件用于提供关于所述路由、所述接收到的数据和/或所述发送的数据的当前输入参数到应用组件,其中所述应用组件包括预测模块,所述预测模块用于评估所述接收到的数据、发送的数据和/或所述路由的所述当前输入参数和/或历史输入参数,并且其中所述应用组件用于基于由所述预测模块在所述当前输入参数和/或所述历史输入参数的基础上作出的预测输出用于未来路由配置的预测配置参数到所述控制组件,并且其中所述控制组件用于在所述计算系统的操作期间基于由所述应用组件输出的所述预测配置参数动态地配置和/或重新配置所述路由;

所述当前输入参数是通过所述应用组件中的监测模块确定的性能指标;

所述性能指标包含关于发射的包、接收的包、接收的字节、发射的丢弃、接收的丢弃、发射的误差、流计数发射的包、发射的字节以及接收的误差中的至少一个的信息,以及基于IP的语音传输会话的平均意见分。

说明书 :

一种优化路由数据流的系统和方法

技术领域

[0001] 本发明涉及一种用于数据流优化的系统和方法并且尤其涉及一种用于在网络化计算系统中优化数据流的系统和方法,即,对如何将通过网络化计算系统接收的数据进行数据转发然后通过网络化计算系统发送数据进行优化。具体来说,本发明涉及对路由进行优化,在所述路由上数据被转发到软件定义网络(software-defined network,SDN)。优化优选地通过SDN应用执行。

背景技术

[0002] 现代通信和数据网络包括网络节点,例如,路由器、交换机、网桥和通过网络传输数据的其它设备。近年来,电信行业已经对网络基础设施作出改进并且尤其对用于此网络基础设施的节点作出改进以支持日益增多的网络协议,但是还允许界定网络基础设施必须符合的规则、规范和标准(在下文中也被称为约束或约束参数)。
[0003] 创建和耦合复杂的网络节点以形成支持和实施各种标准和协议的网络基础设施要求能够容易地配置节点,所述网络基础设施例如允许虚拟专用网络(virtual private network,VPN)。
[0004] 为了允许易于配置和管理大量网络基础设施节点,软件定义网络连接(software-defined networking,SDN)提供了一种实现此目标的方法。
[0005] 在SDN中,原则上,网络节点的配置从网络节点的物理设置中解耦。这允许在抽象的水平上定义如何发送且在何处发送网络数据的要求(这通常被称作“控制平面”)。存在根本的更加物理的平面,所述平面实际上根据控制平面上的要求设置将数据转发到选定的目的地(设置的这部分通常被称作“数据面”)。
[0006] 因此,在SDN中,数据转发能力从先前在网络节点中执行的路由、资源和其它管理功能中解耦。支持SDN的(即,SDN兼容的)网络节点,例如,虚拟交换机(例如,开放式虚拟交换机(open virtual switch,OVS)),可用于根据数据面实施功能,而控制平面功能可以通过管理和控制数据面上的配置的SDN控制器提供。
[0007] 应用软件编程接口(application programming interface,API)可管理数据面与控制平面之间的相互作用并且允许在网络内网络连接节点和SDN控制器的(非厂商自定义)组合的实施。因此,SDN结合所提供的API服务可为网络基础设施提供许多益处,其例如包含增大的网络虚拟化、灵活的控制以及网络的利用率,而且还根据具体需求和通过网络的数据流的优化对网络进行定制。
[0008] 通常,包括SDN控制器的控制平面通过API与“应用平面”相互作用。在应用平面上,提供SDN应用,所述应用向控制平面传达它们的网络需求和所需的网络行为。另外,它们可为它们的内部决策制定过程消耗网络的抽象化查看。SDN应用也可以曝露抽象化网络控制的另一层,因此提供可用于与应用通信的一个或多个较高水平接口。
[0009] 为了优化通过网络化计算系统的数据转发,有益的是也在SDN应用中执行网络优化,因为这允许通过相对不变的SDN控制器保持相对不变或完全不变的控制平面。
[0010] 因此本发明旨在验证应用平面水平上的改进的优化功能,这允许优化通过系统转发数据。

发明内容

[0011] 因此,在第一方面中,本发明提供一种网络化计算系统,其包括:连接到至少一个网络的至少一个网络通信接口,所述至少一个网络通信接口用于从至少一个网络接收数据以及发送数据到至少一个网络;控制组件,其中所述控制组件用于配置路由,在所述路由上通过网络化计算系统从至少一个网络接收的数据被发送到至少一个网络,其中控制组件用于提供关于路由、接收到的数据和/或发送的数据的当前输入参数到应用组件,其中所述应用组件包括预测模块,其用于评估接收到的数据、发送的数据和/或路由的当前输入参数和/或历史输入参数,并且其中所述应用组件用于基于由预测模块在当前输入参数和/或历史输入参数的基础上作出的预测输出用于未来路由配置的预测配置参数到控制组件,并且其中控制组件用于在网络化计算系统的操作期间基于由应用组件输出的预测配置参数动态地配置和/或重新配置路由。
[0012] 因此,数据在其上流动或通过系统转发的路由通过应用平面上的应用组件得到优化,而控制平面上的控制组件提供所需数据作为优化应用组件所需的当前输入参数。控制组件促进数据在其上流过网络的路由的配置和/或重新配置,以便根据性能约束或相对于由需求或网络运营商与其它(合法)实体的合同产生的约束优化通过此系统的数据流。
[0013] 具体而言,应用组件包括预测模块。预测模块采用由控制组件供应的参数和/或通过监测内部和/或外部过程供应的参数并且评估这些参数。控制组件供应指示网络或其部分的当前状态的参数到应用组件。应用组件可评估当前输入参数并且可使用例如存储于应用组件或功能上连接到应用组件的存储组件中的历史参数。当前和历史输入参数可以是关于分别地、当前或先前在网络中存在的存在于网络或网络化计算系统中的接收到的数据、发送的数据和/或路由的信息。
[0014] 预测模块随后基于当前输入参数以及可以是历史输入参数的评估来预测配置参数。这些预测配置参数用于新的或未来的路由配置。这意味着基于可用于预测模块的参数,预测模块对更好的路由配置如何可服务于通过网络的改进的数据流进行预测。
[0015] 控制组件使用预测配置参数以根据这些预测参数重新配置路由或建立新的路由或从网络中移除现有路由。这样做是为了根据网络的当前状态预测更用于处理通过网络的数据流或设置约束的网络的未来状态。
[0016] 如同通过使用具有预测模块的应用组件,这是有利的,有可能基于网络的当前状态和/或历史状态预测未来网络配置。
[0017] 在第一实施例中,应用组件可以用于以两个操作模式操作:第一操作模式,其中应用组件通过包括在应用组件中的监测模块监测当前输入参数和/或评估用于在所述路由上转发数据的约束参数;以及第二操作模式,其中预测配置参数被输出到控制组件。
[0018] 这基本上意味着在第一操作模式中,应用组件监测从控制组件中接收到的包含关于网络的当前状态的信息的参数。
[0019] 监测模块因此接受来自控制组件的信息,同时在第一操作模式中,应用组件的预测模块未作出或输出预测。在此模式中,仅基于从控制组件接收的输入参数收集信息。并且,可以评估对通过网络的数据流施加约束的约束参数。约束参数例如可以详述数据可以或应该在哪条路由上转发、需要多少资源或多少资源可用于此操作和/或需要改变的路由的其它参数。
[0020] 因此第一操作模式也可以被视为网络化计算系统的“启动过程”。此处,获得并执行应用模块的初始配置并且收集所需参数,基于所述参数作出预测模块的第一预测。在第一操作模式结束时,预测模块/应用组件开始输出预测配置参数。
[0021] 在本发明的第二实施例中,预测模块可实施至少一个预测模型,所述预测模型用于根据时间序列算法和/或时间序列算法的集合作出预测。
[0022] 预测模型因此在预测模块中执行计算并且为预测模块执行计算。具体而言,预测模块可以包括一个以上或多个预测模型,其中的每个预测模型基于当前或历史输入参数输出一个可能的预测配置参数候选用于未来网络配置。
[0023] 使用一个以上预测模型是有利的,因为它允许从多个预测配置参数候选中进行选择并且因此选择用于未来状态或网络的最佳预测。因此,系统变为适应于各种环境并且尤其适应于未知的数据集。另外,它是可缩放的并且可以在使用系统之前添加/移除模型。
[0024] 在第三实施例中,当前输入参数可以是通过监测模块确定的性能指标,并且其中当前/历史输入参数可以是当前/历史性能指标,并且其中监测模块可用于将当前性能指标供应到预测模块作为到至少一个预测模型的输入。
[0025] 因此,监测组件也可以用于从输入参数性能指标中进行推导。
[0026] 在第四实施例中,性能指标可包含关于帧延迟率、抖动率和丢包率、发射的包、接收的包、接收的字节、发射的丢弃、接收的丢弃、发射的误差、流计数发射的包、接收的包、发射的字节以及接收的误差中的至少一个的信息。
[0027] 因此,多种信息可以包含于性能指标中并且通过优化考虑。
[0028] 在第五实施例中,应用组件可用于根据约束参数输出预测配置参数。因此,基于所提供的约束参数,未来网络配置可以通过考虑提供用于网络的约束尤其定制为满足网络化计算系统的运营商的需要以及协议和合同。
[0029] 约束参数可以是根据服务质量(quality of service,QoS)和/或服务许可证协议(service license agreement,SLA)的动态策略和/或约束。
[0030] 在第六实施例中,至少一个预测模型可以生成至少一个预测配置参数候选,其中预测是基于当前和/或历史输入参数针对特定时间点作出的。
[0031] 预测配置参数候选由此是通过使用例如时间序列算法预测的以用于未来的定义数目的时间步骤。
[0032] 根据本发明的第七实施例,应用组件可以包括加权模块,其用于通过基于当前和/或历史输入参数定义的加权参数对至少一个预测配置参数候选进行加权,所述加权模块进一步用于输出至少一个加权预测配置参数,和/或其中加权是基于当前和/或历史输入参数的实时评估。评估可采用均方根(root-means-square,RMS)误差计算或平均误差计算。
[0033] 加权因此允许根据初始配置或基于存在于应用组件中或通过监测模块供应的数据对由至少一个预测模型输出的预测配置参数候选进行“加权”。这可以通过模型的权重的重新配置以及模型的参数来促进,例如,通过改变缓冲区大小、回归的顺序等。模型参数的调节可以通过小批量梯度下降技术和/或强力技术实现。举例来说,如果发现特定预测模型适合于特定网络配置,那么当基于输入参数检测到或假定特定网络配置时,预测配置参数候选的加权可以发生改变,即,应用因数到至少一个预测模型的输出以降低或提高此预测配置参数候选的重要性。
[0034] 在第八实施例中,应用组件可以包括组合模块,其用于组合至少一个加权预测配置参数候选与至少一个其它加权预测配置参数候选,组合模块进一步用于输出至少一个组合预测配置参数。
[0035] 组合模块因此允许组合至少一个预测模型的加权输出与随后可输出到控制组件的单个预测配置参数。基于加权,取决于应用于由至少一个预测模型输出的预测配置参数候选的加权,经不同加权的预测配置参数候选在组合期间或多或少受到影响。
[0036] 在本发明的第九实施例中,应用组件可以包括输出模块,其用于对至少一个组合预测配置参数执行误差校正,所述输出模块进一步用于将至少一个预测配置参数输出到控制组件。
[0037] 误差校正是有利的,因为它允许减少误差,即,减少输出的预测配置参数中的噪声。
[0038] 在本发明的第十实施例中,应用组件可以包括更新模块,其用于在达到特定时间点时针对特定时间点比较至少一个预测配置参数候选与当前输入参数。更新模块用于使用优化算法优化至少一个预测模型和/或其中更新模块用于重新配置至少一个预测模型的参数。
[0039] 在第十一实施例中,更新模块用于更新至少通过加权模块设置的权重。
[0040] 这允许针对所作出的预测修改预测模型和用于预测模型中的参数以及动态地更新用于对预测配置参数候选进行加权的权重。这可以基于用于先前预测的输入参数与由监测模块当前监测到的参数的偏差。这允许对通过网络化计算系统转发的数据的改变作出反应,并且动态地对待控制的网络的当前状态进行优化。
[0041] 在第十二实施例中,应用组件实施神经网络或机器学习。
[0042] 有利的是,神经网络和/或机器学习方法的实施方案允许网络化计算系统自主地适应于网络需求和当前网络状态并且使其配置适应于当前需要或网络,而无需人工干预。实际上,机器学习使用学习阶段(第一操作模式)来学习哪些需求是通过网络转发数据必需的,以及在某些条件下网络表现如何。在学习阶段完成之后,应用组件随后能够仅基于控制组件供应的信息自主地配置网络中的路由。
[0043] 在学习阶段中,预测模型是基于控制组件或监测模块供应的信息配置的并且随后用于作出预测或决策,而并非仅遵循明确编程的指令。机器学习通常与人工智能和优化具有密切关系,其将方法、理论和应用域传递到所述领域。机器学习是设计和程序设计明确的采用的,基于规则的算法是不可行的或导致成本增加。学习可以呈监督学习的形式,其中应用组件使用实例输入和提供到应用组件的所需输出来学习将输入映射到输出的一般规则。并且,可以促进无监督学习,在例如输入参数的群组被提供到应用组件和预测模块的应用组件中,在无监督学习中应用组件必须确定需要如何处理这些输入以便实现设定目标。
[0044] 在本发明的意义上神经网络是人工神经网络并且表示受到中枢神经系统启发以估计或粗略估计取决于大量输入的功能的计算模型。人工神经网络通常呈现为互连神经元的系统,由于其适应性本质,互连神经元的系统根据输入计算值并且能够机器学习以及图案识别。在这种情况下神经元是处理元件或处理单元并且通常以至少两层布置,每一层的神经元由突触连接。可以将权重应用于突触。一层中的神经元执行计算并且突触“传送”计算的结果到其它层的神经元。如果权重被应用于突触,那么连接到突触的第一层中的神经元的计算结果在输入到第二层的连接的神经元之前得到操控。然而,仅具有一个层的人工神经网络也是可能的。
[0045] 总而言之,机器学习方法或神经网络的使用允许形成自主地工作的应用组件,所述应用组件基于输入参数调适其预测。
[0046] 在另一方面中,本发明提供一种用于控制网络化计算系统的方法,其中在第一步骤中,连接到至少一个网络的至少一个网络通信接口从至少一个网络接收数据以及发送数据到至少一个网络,在第二步骤中,控制组件配置路由,在所述路由上通过网络化计算系统从至少一个网络接收的数据被发送到至少一个网络,其中在第三步骤中控制组件提供关于路由、接收到的数据和/或发送的数据的当前输入参数到应用组件,其中在第四步骤中,应用组件的预测模块包括预测模块,其评估接收到的数据、发送的数据和/或路由的当前输入参数和/或历史输入参数,并且其中应用组件基于由预测模块在当前输入参数和/或历史输入参数的基础上作出的预测输出用于未来路由配置的预测配置参数到控制组件,并且其中在第五步骤中,控制组件在网络化计算系统的操作期间基于由应用组件输出的预测配置参数动态地配置和/或重新配置路由。
[0047] 在又另一个方面中,本发明涉及一种计算机程序产品,当在计算系统上执行时,所述计算机程序产品用于执行如上文概述的方法。
[0048] 在最后一个方面中,本发明提供一种系统,其包括:通信接口,所述通信接口用于接收数据和发送数据;控制组件,其中所述控制组件用于配置路由,在所述路由上发送通过计算系统接收到的数据,其中所述控制组件用于提供关于路由、接收到的数据和/或发送的数据的当前输入参数到应用组件,其中所述应用组件包括预测模块,其用于评估接收到的数据、发送的数据和/或路由的当前输入参数和/或历史输入参数,并且其中所述应用组件用于基于由预测模块在当前输入参数和/或历史输入参数的基础上作出的预测输出用于未来路由配置的预测配置参数到控制组件,并且其中控制组件用于在计算系统的操作期间基于由应用组件输出的预测配置参数动态地配置和/或重新配置路由。

附图说明

[0049] 现在将在下文中参考图式说明本发明的上述方面和实施例。
[0050] 图1示出了本发明的示意性概述。
[0051] 图2更详细地说明了本发明的实施例。
[0052] 图3说明根据本发明的方法。
[0053] 图4示出了根据本发明的示例性实施方案。
[0054] 图5示出了图1的示例性实施例。
[0055] 图6示出了发明性系统的示例性实施方案计划。

具体实施方式

[0056] 一般而言,必须注意的是在本申请案中描述的所有布置、设备、模块、组件、模型、元件、单元和构件等可以通过软件或硬件元件或其任何种类的组合实施。通过本申请案中所描述的多个实体执行的所有步骤以及描述成将通过各个实体执行的功能性意指相应实体用于或用于执行相应步骤和功能性。即使在以下对具体实施例的描述中,将由一般实体执行的具体功能性或步骤并未反映在执行所述具体步骤或功能性的所述实体的具体详细元件的描述中,所属领域的技术人员也应该清楚,这些方法和功能性可以用对应的硬件或软件元件或其任何种类的组合来实施。另外,在多个所描述装置元件的功能性中实施本发明的方法以及其多个步骤。
[0057] 本发明大体上允许预测用于例如路由器或负载均衡器等SDN应用的网络性能指标,因此它们可以根据预测而不是预设结果作出决策。
[0058] 在过去,数据科学家需要检查历史性能日志,所述历史性能日志是其中根据不同模型或需求记录对应的设备的性能的数据集。随后,需要作出应使用哪个模型来实现最佳性能的最后决定。然而,历史性能日志并不总是可访问的或可供使用的。并且,需要人机交互来发现最佳配置并且极少对配置进行更新。因此,极少发生网络对通过网络转发的数据的当前需求的适应。
[0059] 在一个实施例中,本发明通过开发机器学习系统解决了这一问题,所述系统不仅使用一个模型用于预测网络中的路由的未来配置,而且至少在一个实施例中使用若干预测模型来实现更好的可扩展性且实现了针对网络配置以及尤其数据通过其发送和接收的路由的配置作出的预测的更高精确度。通过实施更新模块,有可能使用来自预测的反馈以及预测配置参数与当前需求的比较以动态地且自动地更新网络配置而无需人类参与。
[0060] 尤其当通过网络串流传输数据时,本发明允许所需网络配置的实时预测,并且因此应用组件能够将预测配置参数实时提供给控制组件使得控制组件可以相应地在网络中重新配置路由。并且,这允许使网络配置适应于改变,因为例如在复杂的网络结构中,单个组件可能出故障,并且因此在其上发送或接收且通过网络转发数据的路由可能由于那些组件的故障而发生改变。
[0061] 另外,在应用组件中使用反馈回路,其允许对当前网络配置与预测网络配置或其参数进行比较并且允许进一步改进未来预测,因为具体而言预测模型的参数以及通过加权单元执行的加权是动态地适应的。举例来说,通过加权模块执行的加权取决于每个模块的均方根误差,而预测模型参数的改变可取决于强力或小批量梯度下降优化。
[0062] 通过输出模块执行的误差校正还允许减少组合预测配置参数中的噪声。
[0063] 因此,可以通过预测模块来评估监测系统提供的指标,所述指标可以例如是帧延迟率、抖动率和丢包率,也是用于基于IP的语音传输(Voice over IP,VOIP)会话的平均意见分(mean opinion score,MOS)。
[0064] 图1示出了根据本发明的第一方面的一般设置。在图1中,示出了网络化计算系统100。网络化计算系统包括至少一个网络通信接口101。在图1中,示出了两个分离的网络通信接口101和102。然而,网络化计算系统100还可以包含更多通信接口101、102。如果接口用于发送以及接收数据,那么网络化计算系统也可以仅包括一个网络通信接口101。网络化计算系统100使用至少一个网络通信接口101以接收数据103和发送数据104。通过箭头说明数据的接收103和数据的发送104。网络化计算系统100可从单个网络105发送数据104和接收数据103,而且可从一个以上网络105、106发送和接收数据。网络化计算系统100所连接到的网络105、106可以是不同类型的并且可以对它们施加不同物理约束。举例来说,一个网络可以是IPv4网络,而另一个网络可以是IPv6网络,或者一个网络可以是虚拟网络而另一个网络是物理网络。当然,网络105、106也可以是相同类型的。
[0065] 网络化计算系统100进一步包括控制组件110。控制组件110通常是SDN网络的控制平面的一部分并且可以包括SDN控制器,例如OpenDaylight。控制组件110用于配置、改变、重新配置、设置、移除和添加或建立路由120,在所述路由上通过网络化计算系统100从至少一个网络105接收的数据被发送到至少一个网络106。这意味着网络化计算系统100在由控制组件110配置的路由120上从网络105、106接收数据并且将数据转发到相同网络或另一网络106。在图1中通过连接通信接口101和102的粗线示出了示例性路由。当然,在特殊情况中,可能仅存在一条路由120。用于转发的这些网络元件(未示出)可以是桥接器、路由器、交换机并且可能是常规的物理网络设备或虚拟设备,例如虚拟交换机(例如,开放式虚拟交换机(open virtual switches,OVS))。
[0066] 控制组件110用于提供路由120、接收到的数据103和/或发送的数据104的当前输入参数115到应用组件130。这意味着表示路由和它们的配置以及关于发送、接收和转发的数据的信息可以提供到应用组件130,所述应用组件随后能够评估当前输入参数115。控制组件110因此能够将这些输入参数提供到应用组件130。另外,控制组件110也可以提供关于网络元件的配置的信息,并且具体而言输入参数包含关于用于网络化计算系统中的路由的网络组件的配置的信息。在一个实施例中,控制组件110提供性能指标到应用组件130。
[0067] 应用组件130进一步包括预测模块140,所述预测模块用于评估当前输入参数115。另外,应用组件也可以评估历史输入参数141和/或每个模型的先前的预测,这意味着这些参数先前由控制组件110提供到应用组件130并且存储于应用组件130或预测模块140中。应用组件130可以因此包括促进这些历史输入参数141的存储的存储单元。具体而言,历史输入参数可以含有关于接收到的数据103、发送的数据104和/或路由120的信息。
[0068] 应用组件130进一步用于基于由预测模块140在当前参数115和/或历史输入参数141的基础上作出的预测输出用于未来路由配置的预测配置参数150到控制组件110。
[0069] 控制组件110随后用于动态地配置和/或重新配置路由120,这意味着在网络化计算系统100的操作期间,基于通过应用组件130输出的预测配置参数150,控制组件110可建立新路由120或移除现有路由120或简单地改变路由120的参数。
[0070] 在图1中,虚线表示通过控制组件110收集的和/或供应到控制组件110的信息。此信息可以衍生自路由120,而且衍生自至少一个网络通信接口101、102。类似地,虚线表示通过控制组件110执行的路由120和/或至少一个网络通信接口101、102的配置/重新配置。关于路由120和/或至少一个网络通信接口101、102的信息可以已经呈当前输入参数115的形式。并且,可以使用预测配置参数150直接执行路由120和/或至少一个网络通信接口101、102的配置/重新配置。尤其是,控制组件110可简单地将关于路由120和/或至少一个网络通信接口101、102的信息作为当前输入参数115或其部分转发到应用组件130。并且,控制组件
110可简单地将预测配置参数150作为配置参数转发到路由120和/或至少一个网络通信接口101、102。当然,替代于路由120和/或至少一个网络通信接口101、102,其它网络实体可将信息供应到控制组件110和/或可以通过控制组件110进行配置。
[0071] 图2示出了应用组件130的更详细的视图。如先前所陈述,应用组件130可以两种操作模式操作。在第一操作模式中,应用组件130通过监测模块200监测当前输入参数115。优选地,监测模块200包括在应用组件130中并且优选地评估网络数据包的第一帧。然而,还可以是可能的是监测模块200提供为与应用组件130分开的模块。
[0072] 应用组件130还能够评估约束参数205,所述约束参数供应到应用组件130。约束参数205定义规则,所述规则定义数据如何在路由120上转发。第一操作模式也可以被视为启动过程,其中应用组件收集关于网络化计算系统100的当前设置的信息并且用于初始化由应用组件130使用的参数。举例来说,应用组件130可收集和存储通过控制组件110输入到应用组件130的输入参数,所述输入参数随后用作历史输入参数141以用于由预测模块140作出预测。
[0073] 在第二操作模式中,应用组件130随后将预测配置参数150输出到控制组件110。
[0074] 预测模块140还包括或实施至少一个预测模型210。至少一个预测模块210用于根据时间序列算法作出预测。虽然图2示出了多个预测模型210,但是必须理解的是这些预测模块也可以是不同设置、类型和/或配置的。举例来说,预测模块可根据移动平均计算、指数平滑计算、自动回归计算和/或自回归整合移动平均计算和/或任何其它模型(时间序列算法、模式等)作出预测。因此,图2中所示的预测模块210可各自根据不同时间序列算法执行不同预测或者它们可组合不同的时间序列算法。
[0075] 监测模块200可进一步用于根据从控制组件110供应的输入参数115确定性能指标215和/或OVS指标。监测组件进一步用于将这些性能指标215和/或OVS指标提供给预测模块。所述指标随后由至少一个预测模型210作为输入使用。基于此输入,即,基于性能指标
215和/或OVS指标,至少一个预测模型210随后能够提供预测。在下文中,性能指标215也可以是OVS指标。
[0076] 性能指标可以包含关于帧延迟率、抖动率、丢包率、MOS中的至少一个的信息。OVS指标可以包含关于发射的包、接收的包、接收的字节、发射的丢弃、接收的丢弃、发射的误差、流计数发射的包、发射的字节和/或接收的误差中的至少一个的信息。
[0077] 然而,由应用组件130使用的预测模型210不是静态地提供的,而是它们可以在网络计算系统100的启动过程之前视需要动态地移除或添加。通常,存在至少一个预测模型210。然而,在移除所有预测模型210的情况下,使用通过最后一个预测模型210作出的最后一个预测。没有预测模型210的预测模块140以所谓的反应性模式工作,这可以有益于专用的数据集和约束参数205。举例来说,当数据集在大部分时间下稳定时,例如,在丢包率在大部分时间中大约为~0%的情况下,反应性模式将更好的工作。在其它情况中,如同证券交易所,反应性模型将不工作,因为存在每一滴答声(即,定义的时间步骤)的许多改变。主要想法是将反应性模型插入到预测模型210的列表中,因此在“稳定”数据集情况下,系统自动使用反应性模型,并且在“噪声”数据集情况下,将使用其它模型。
[0078] 然而,通常,预测模块140包括一个以上预测模型210。根据例如服务质量或服务许可证协议,约束参数205可以是动态策略和/或约束。应用组件130因此根据约束参数205输出预测配置参数150,使得由控制组件110执行的应答由应用组件130供应的预测配置参数150的配置是根据约束参数205。
[0079] 至少一个预测模型210生成至少一个预测配置参数候选211,其通过将预测模型210连接到预测配置参数候选211的箭头象征。针对特定时间点且基于当前性能指标215和/或历史输入参数141作出预测。预测配置参数候选211优选地也存储为历史输入参数141的一部分(如通过连接预测配置参数候选211与历史输入参数141的对应的箭头所指示)。
[0080] 应用组件130还包括加权模块220。加权模块220对由至少一个预测模型210输出的至少一个预测配置参数候选211以加权参数进行加权。加权参数还基于性能指标215(使用实线的箭头)和/或历史输入参数141(使用虚线的箭头)定义。历史输入参数141也可以是先前供应到应用组件的历史性能指标。
[0081] 加权模块220还用于输出至少一个加权预测配置参数候选到组合模块230。通过加权模块220执行的加权尤其基于性能指标215和/或历史输入参数141的实时评估执行。
[0082] 组合模块230组合至少一个加权预测配置参数候选与至少一个其它加权预测配置参数候选(如果可供使用的话)。如果仅存在一个加权预测配置参数候选,那么组合模块简单地转发加权预测配置参数候选为组合预测配置参数。否则的话,组合模块230输出两个或两个以上加权预测配置参数候选的组合作为组合预测配置参数。
[0083] 另外,应用组件包括输出模块240。输出模块用于对至少一个组合预测配置参数执行误差校正。输出模块240进一步用于在控制组件110的误差校正之后输出至少一个预测配置参数150。
[0084] 更新模块250也可用于比较针对特定时间点的至少一个预测配置参数候选211,即,这意味着当达到初始作出预测的特定时间点时先于通过监测模块200供应的性能指标215预测的参数。更新模块250可因此采用历史输入参数141。基于此比较且尤其基于预测配置参数与当前性能指标的偏差,更新模块优化至少一个预测模型210的参数。因此,更新模块250可以采用优化算法。更新模块250可进一步重新配置至少一个预测模型210的参数,而且重新配置加权模块220。这意味着在通过更新模块250执行更新之后,预测模型评估馈送到至少一个预测模型210的性能指标。用于优化模型参数的算法可以是小批量梯度下降和/或强力算法。小批量梯度下降算法试图通过发现本地最小(梯度)而使误差率降到最小。随后它重新配置模型,因此它们假设为更精确的。强力算法试图检查所有的可能性,而当误差小于一些微小值(例如,0.005)时小批量停止。基于来自更新模块250的输出,同样可以改变输出模块240的参数,例如,以适应误差校正。
[0085] 举例来说,在移动平均预测中存在缓冲区。可假设将缓冲区大小设置成20。在数据稳定的情况下此缓冲区大小的优化将减少并且在噪声数据的情况下它将增大。相同情况也用于移动中间预测。在指数平滑预测的情况下,α变为与当前值相比对历史更精确或反之亦然。举例来说,通过自回归整合移动平均(autoregressive integrated moving average,ARIMA)预测,可以配置p、d、q参数。在自回归中,例如,取决于误差,顺序可以从5到3或7改变。
[0086] 图3示出了根据本发明的第二方面的原理方法。
[0087] 在第一步骤S301中,连接到至少一个网络105、106的网络通信接口101、102从至少一个网络105、106接收数据103以及发送数据104到至少一个网络105、106。
[0088] 在第二步骤S302中,控制组件110配置路由120,在所述路由上从至少一个网络105接收的数据被发送到至少一个网络106。
[0089] 在第三步骤S303中,控制组件110提供路由120、接收到的数据和/或发送的数据的当前输入参数115到应用组件130。
[0090] 在第四步骤S304中,应用组件130的预测模块140包括预测模块,其评估接收到的数据103、发送的数据104和/或路由120的当前输入参数115和/或历史输入参数141,并且其中应用组件130输出用于未来路由配置的预测配置参数150到控制组件110。
[0091] 在第五步骤S305中,控制组件110基于由应用组件130输出的预测配置参数动态地配置和/或重新配置路由120。
[0092] 第六步骤S306指示方法步骤S301-S305在网络化计算系统100的操作期间是重复的。
[0093] 更具体地,本发明涉及SDN环境,其中基于软件的组件,例如,应用组件或SDN应用接收来自监测组件或监测系统200的性能指标。举例来说,应用组件旨在改进网络化计算系统100中的路由或受控制组件110控制的网络组件的负载平衡。举例来说,应用组件130旨在根据约束参数(例如,角色与职责),同时考虑进入指标215(例如,性能和/或OVS指标)作出更好的决策。例如,应用组件可以主动地改变类别选择,这例如允许使用网络中的更便宜的链路,例如,数字订户线(digital subscriber line,DSL)替代昂贵的多协议标签交换(multi-protocol label switching,MPLS),同时保证服务质量(quality of service,QoS)和服务许可证协议(service license agreement,SLA)。
[0094] 替代于现有技术方法,通过应用组件130作出的决策不是仅取决于而是可以取决于基于基本试探法的决策,例如,预定规则或简单的静态模型,并且可以是对动态环境中的改变敏感的,例如,复杂的网络基础设施或所谓的“云”环境。
[0095] 本发明因此使用时间序列分析作为机器学习技术,这允许根据预定义逻辑的未来值的预测。本发明所使用的预测模型是移动平均、指数平滑、自回归计算、自回归整合移动平均等等。因此,数据科学家不再需要使用不同模型检查性能日志或数据集以最后选择合适的模型,而是通常使用多个模型,并且整合预测模型210的结果以接收针对当前情况的最佳结果。
[0096] 因此,可以规避使用预定义的且仅很少更新的单个模型的问题以使网络化计算系统适应未知的数据,并且适应动态环境,这是因为本发明允许自主地且自动地更新和调节配置。因此,本发明提供一种混合方法,所述方法组合若干预测模型210而不是单个静态模型。这改进了所产生的预测参数的精确性。具体而言,混合模型实时预测网络性能同时使实时在线预测误差降到最小。本发明不仅预测用于下次步骤的短期指标,而且预测长期指标,长期指标意味着与下次步骤相比的更加未来的指标(时间步骤还可以被称作“滴答”,其定义特定的时间周期),并且用于自动调节。然而,本发明具体来说涉及短期预测。
[0097] 具体而言,本发明用监测模块200处理数据流的监测。监测模块产生指标,例如,性能指标,例如,帧延迟率、抖动率、丢包率、用于基于IP的语音传输(Voice over IP,VoIP)通信的平均意见分(mean opinion score,MOS)等。
[0098] 本发明允许在时间t处接收和评估性能指标值,同时针对此指标在时间t+k预测所述值,同时1≤k≤∞。在第一操作模式中,如上文所概述,应用组件以预定义时间的聚集性能指标开始。这也可以被视为用于机器学习方法的培训阶段。在此阶段,也可以确定应该使用哪种预测模型,预测模块的初始参数应该如何设置,应该如何应用权重以及应该应用多少权重。举例来说,可以通过使用均方根误差或平均绝对误差计算来实施加权。
[0099] 并且,在此第一操作模式期间,可以使用如同小批量梯度下降算法或强力算法等算法来更新(或“调节”)预测模块的参数。并且,可以决定的是通过输出模块240执行何种误差校正。举例来说,可以决定不执行误差校正,执行特定误差校正或根据多个历史结果的平均误差来校正误差。
[0100] 根据本发明,关于根据本发明的应用组件130的设置的决策是基于监测指标的评估在第一操作阶段期间自动执行的。在此过程中,可以执行其它误差校正,例如,可以使用均方根误差校正、平均绝对误差校正等。
[0101] 图4更详细地示出了图2中说明的本发明。
[0102] 此处,监测模块200输出指标值到应用组件130并且尤其到标记为Mi,t-1的预测模型210,其中ⅰ是预测模型的数目,其与时间t-1相关,同时1≤i
[0103] 加权预测配置参数候选随后在组合模块230中组合为“混合模型t+k”并且误差校正值εt-1在点401处进一步组合用于执行误差校正,其中针对时间t-1误差校正值是εt-1,以产生预测配置参数150或至少一个在线混合预测值。
[0104] 图4还示出了评估器402,其可以是更新模块250的一部分,其可以评估通过监测模块200提供的针对时间t的指标值“指标值t”,并且其还可以评估预测配置参数候选211(PVi,t+k)以产生平均误差值MEi,t。平均误差值MEi,t表示在时间t处具有由监测模块200提供的性能指标指标值t的预测配置参数候选的最新n个结果的平均误差。误差校正可以是在时间t处用于模型ⅰ的均方根误差(root-means-square error,RMSE)或平均绝对误差(mean absolute error,MAE)计算的结果。调节实体404、405说明更新模块250的更新功能或调节功能,而实体404更新应用于预测配置参数候选211的权重并且实体405更新预测模型210的参数。
[0105] 因此,本发明允许当提供在时间t处的性能指标值指标值t时的实时预测。模型Mi,t-1预测针对时间t+k的指标值PVi,t+k。混合模型t+k被定义为:
[0106]
[0107] 混合模型的误差噪声可以被定义为:
[0108] 在线混合预测t+k=混合模型t+k+εt-1
[0109] 在线混合预测t+k表示供应到控制组件110的输出并且因此表示由输出模块240输出的预测配置参数150。在时间t处,平均误差MEi,t是通过以两个公式中的一个比较最新预测计算的:
[0110]
[0111] 和/或
[0112]
[0113] 这些平均误差将使得能够动态地更新预测模型210和它们的参数以及通过加权模块220应用的权重。图4中的虚线表示反馈线。实际值j表示实际指标值,这是与预测值相比的,即,与用于预测模型i的预测配置参数候选相比的。
[0114] 权重的更新也是基于平均误差执行的并且预测模型210可以根据它们的平均误差分类,其中最低平均误差可以定义为最佳的。因此,权重可以如下定义和更新:
[0115]
[0116] 也可以例如通过执行以下计算对权重进行归一化:
[0117]
[0118] 其中,
[0119]
[0120] 为了更新预测模型210,举例来说,可以使用预测模型使用的缓冲区大小或通过预测模型执行的计算的顺序、小批量梯度下降算法或者可以应用强力技术以使误差降到最小同时改变至少一个预测模型的参数。
[0121] 举例来说,对于给定组m值,在指数平滑的情况下:
[0122] PVj=(1-∝)*历史+(∝)*最后值
[0123] 参数α,0≤α≤1可以改变,例如,改变了0.05,并且参数α可以更新使得产生最小均方根误差。
[0124] 可以执行误差校正以修复应用组件130的输出中的噪声误差,例如,方法是通过下式计算均方根误差或平均绝对误差(mean absolute error,MAE):
[0125] εt=ME混合,t=RMSE混合,t或MAE混合,t
[0126] 总而言之,在本发明中可以在若干已知时间序列算法的集合中使用在线混合模型以针对短期(时间步骤的下一个滴答)和长期(下k个滴答)近实时预测网络性能指标。此预测可以通过对可变网络进行主动优化的SDN应用(例如,路由器或负载均衡器)使用。本发明提供全自动启动过程,而且可以使用在线反馈调节自动评估过程中的模型和权重。也可以提供混合模型预测的自动误差校正。
[0127] 本发明的一些益处在于处理在线串流数据、近实时预测的能力、不仅预测指标的短期值而且预测指标的长期值的能力、作用于例如网络等具有未知的行为的可变环境的能力,以及替代单个模型使用混合方法(若干预测模型的集合以实现更多的可扩展性和更好的精确性)的能力。
[0128] 图5示出了图1中所示的实施例的示例性实施例,并且具体而言是其特定实施方案。相同元件由相同参考标号所指代。在图5中示出了可以是WAN虚拟化(参见下文)的网络计算系统100,其具有单个网络通信接口102,例如,vSwitch,即,虚拟交换机。虚拟交换机或开放式虚拟交换机(open virtual switch,OVS)通常是分布式虚拟多层交换机。vSwitch的主要目的是提供用于硬件虚拟化环境的交换堆栈,同时支持用于计算机网络的多个协议和标准。还示出了控制组件110并且具体而言所述控制组件表示SDN控制器,例如,OpenDaylight。在这种情况下应用组件130尤其是具有(混合)预测模块140的SDN应用。优选地存储的历史输入参数141是根据历史滑动窗口的预测值和指标。仪表盘组件,其具体而言是用户可访问的,允许配置约束参数205。监测模块200可以是外部监测系统570的一部分以测量性能指标571。网络计算系统100可以根据例如接收到的数据103的网络数据包的第一帧确定关于接收到的数据103的各种信息,例如,内容的类型、服务类型(type of service,TOS)、优先权等。在此实例中当前输入参数115是来自OVS的数据,例如,OVS指标和第一帧信息。在这种情况下路由120的重新配置和预测配置参数是针对OVS指标和OVS的新规则的设置的请求,例如,关于将使用哪条路径来发送数据104。广域网(Wide Area Network,WAN)虚拟化尝试通过分配低成本WAN链路基于流平衡负载,同时使用动态约束确保服务质量(quality of service,QoS)。
[0129] 举例来说,对于VOIP呼叫,约束参数可以是:最大帧延迟150ms、最大抖动是30ms,并且最大丢包率是1%。一旦违反这些约束,则流绕行到另一链路,即,重新配置路由120。举例来说,查看在时间i处的每个预测模型211的预测并且当超过标准时,例如,帧延迟>=150ms时,设置成1。随后查看在时间i+1处的实际值并且检查重路由决策是否正确。假定帧延迟的移动平均的缓冲区是50、30、80、100、30、70、10、120、50和130。在这种情况下,移动平均预测值是67ms。在这种情况下,所述系统将不会重路由(67ms小于150ms)现存流。在若干滴答之后,指标值超过150ms,随后系统将重路由,但是已经太晚。在它是视频串流的情况下,可以发生短时的冻结。另一方面,在线混合模型可以预测所述值将是200ms。因此,所述流必须立即路由,因此在视频中将不存在中断。
[0130] 图6示出了发明性系统的示例性实施方案计划。示出了WAN虚拟化600,其接收或生成性能和开放式vSwitch(Open vSwitch,OVS)指标以及动态策略和约束。驻留在应用级上的路径选择插件601接收性能和开放式vSwitch(Open vSwitch,OVS)指标作为输入,以及第一数据包帧,其包含关于例如服务类型(type of service,TOS)的服务信息。路径选择插件601可以是应用组件130或可以是应用组件130的一部分。服务信息也可以单独地供应。路径选择插件601包括在线混合预测模型602,所述模型还接收性能和开放式vSwitch(Open vSwitch,OVS)指标作为输入来输出预测指标并且将它们供应到基于情境的路由(Context Based Routing,CBR)引擎603,所述模型还接受动态策略和约束。CBR引擎603可以基于“Drools”,其中“Drools”是具有基于规则引擎的转发和反向链接推断的企业规则管理系统(business rule management system,BRMS),也被称作生产规则系统,其使用Rete算法(用于实施生产规则系统的模式匹配算法)的增强型实施方案。“Drools”支持JSR-94(用于Java规则引擎API的Java规范请求)标准以用于其企业规则引擎和企业框架以用于在组织、应用或服务中的企业策略的构造、维护和推行。CBR引擎603可随后输出配置参数用于路由120。
它可输出“不建议”,这意味着基于所供应的信息应用组件130并未看到对路由120的重新配置的需要。然而,重新配置可以是基于来自其它应用组件的输出可取的。CBR引擎603也可以输出“建议路径”,数据应该在“建议路径”上转发。此外,CBR引擎603可输出有助于数据的重路由和/或路由120的重新配置的命令,尤其是基于约束以及性能指标的预测。此信息也可以反馈给CBR引擎603并且用作历史配置参数141。
[0131] 在更一般的实施例中,本发明也可以用于不涉及网络连接的领域。举例来说,在医学中,可以监测患者并且可以提供例如体温、高血压、血氧合水平等指标。如果造成例如心跳骤停等疾病的这些指标的阈值的一些知识是可供使用的,那么发明性解决方案(或所述混合模型)将使用预测模型和调节技术的集合预测给定指标的未来值。因此,可以通过指标的预测来预测疾病或其发生。
[0132] 对于贸易相关实施方案,可以例如在证券交易所中设想类似系统。本发明将使用预测模型和调节技术的集合预测给定股票的未来价值。因此可以提供将对股票采取何种措施的选择方案。
[0133] 在云环境中,可以决定何时根据例如CPU、内存使用、I/O等一些应用指标的预测按尺寸放大/超尺寸放大一些虚拟机。
[0134] 因此,在一个实施例中本发明提供一种计算系统,其包括:通信接口,所述通信接口用于接收数据和发送数据;控制组件,其中所述控制组件用于配置路由,在所述路由上发送接收到的数据,其中所述控制组件用于提供路由、接收到的数据和/或发送的数据的当前输入参数到应用组件,其中所述应用组件包括预测模块,其用于评估接收到的数据、发送的数据和/或路由的当前输入参数和/或历史输入参数,并且其中所述应用组件用于基于由预测模块在当前输入参数和/或历史输入参数的基础上作出的预测输出用于未来路由配置的预测配置参数到控制组件,并且其中控制组件用于在计算系统的操作期间基于由应用组件输出的预测配置参数动态地配置和/或重新配置路由。
[0135] 已经结合本文中的各种实施例描述本发明。然而,所附实施例的其它变化形式可由所属领域的技术人员从图式、揭示内容和所附权利要求书的研究中通过实践所主张的本发明而理解并实现。在权利要求书中,词语“包括”不排除其它元素或步骤,不定冠词“一”不排除多个。单个处理器或其它单元可以实现权利要求中列举的若干项目的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能被有效地使用。计算机程序可存储或分发到合适的介质上,例如与其它硬件一起或者作为其它硬件的部分提供的光存储介质或者固态介质,还可以以其它形式例如通过因特网或者其它有线或无线电信系统分发。