使用两个阈值和一时间窗口的基于利用率的动态资源重新分配的制作方法

文档序号:23067946发布日期:2020-11-25 17:55阅读:97来源:国知局
使用两个阈值和一时间窗口的基于利用率的动态资源重新分配的制作方法



背景技术:

跨越多个计算资源的负载平衡可以是提供增加的容量、容错性和更高的运营利润的有效方法。一些计算任务可能比较不是时间敏感的,并且因此可使用较慢或较少性能资源来完成,其也可以具有比更高的执行资源更符合成本效益的优点。

此外,一些计算环境,诸如云计算环境,随着现有资源变得被充分利用而提供额外资源的动态分配。额外资源的动态分配也需要支付额外的费用,所以除非真正需要高效地完成计算任务,否则不应该采取这些测量。

测量哪些资源被有效地利用以及哪些有多余容量可能在一些环境中是有挑战性的。例如,第一计算资源的利用率尖峰可能会导致一些实施方式在那些任务可以由第一计算资源(不管其当前利用率)更高效地执行时不适当地选择其它计算资源用于特定的计算任务,诸如读取和/或写入到一个稳定的(例如,非瞬态)的存储设备、处理网络通信或计算一个计算结果。不适当的资源选择可能在性能降低、成本增加和降低的客户满意度方面代价高昂。因此,需要改进的向计算资源动态分配负载或任务的方法。

附图说明

在不一定按比例绘制的附图中,相同的标号可以描述不同视图中相似的组件。具有不同字母后缀的相同标号可以表示相似组件的不同实例。附图总体以举例的方式而非限制性的方式示出本文中讨论的各种实施例。

图1是实现至少一些所公开的实施例的系统的概况图。

图2示出了可以实现至少一些公开的实施例的系统。

图3示出了可以在一个或多个公开的实施例中获得的示例利用率测量。

图4示出了可以在一个或多个公开的实施例中获得的示例利用率测量。

图5是用于动态分配计算资源的方法的流程图。

图6示出可以执行本申请中讨论的任何一个或多个技术(例如,方法)的示例机器的框图。

具体实施方式

下面的描述和附图示出了特定实施例以使本领域的技术人员能够实践它们。其它实施例可以合并结构上、逻辑上、电气上、过程和其它的改变。一些实施例的部分和特征可以包括在其它实施例中或者替代其它实施例的部分和特征。在权利要求中阐述的实施例涵盖那些权利要求的所有可用等效物。

如上所讨论的,测量计算资源的利用率可以是确定如何将特定计算任务分配到资源池中的资源的组成部分。这些计算任务可以包括将文件读取和/或写入请求分配到稳定存储设备池中的一个稳定存储设备、在第一网络或第二网络上路由网络通信,或将结果的计算(诸如算数公式的结果)分配到计算资源池之一。

作为一个示例,稳定存储设备池中的每个稳定存储设备可能正在经历不同的利用率。例如,读/写头的查找时间可以限制稳定存储设备的读/写吞吐量。随着分配给该稳定存储设备的读/写任务的数量增加,该设备的当前吞吐量接近吞吐量限制。在一些方面,当前吞吐量除以吞吐量限制可以表示该稳定存储设备的百分比利用率。相比于第二稳定储存设备时,第一存储设备可以具有更快的或以其它方式改进的读和/或写功能。因此,当在相似的负载下工作时,该第一稳定存储设备的利用率可以比第二稳定存储设备的利用率更低。

因此,这些变化的计算环境提出一个如何最好地分析对象计算资源的利用率信息的技术问题。由所公开的实施例解决的另一个技术问题是如何确定对象计算资源正以相对高的容量运行,并且它可能由于该相对高的运行容量正在经历降低的有效性。所公开的实施例还基于这一利用率信息的分析提供对后续决策的支持。这样的决策可以包括将至少一些计算任务分配给其它计算资源而不是该对象计算资源,以至少部分降低该对象计算资源在中期的利用率。这一利用率的降低可以将对象计算资源恢复到更高效的运行。

所公开的实施例还从基于单个利用率测量将计算负载卸载到计算资源的学习受益,该单个利用率二两正如经常在很多系统中完成的,可能由于做出导致降低整体系统性能的决策引起技术问题。例如,如果在执行测量时特定资源正经历利用率中的瞬时尖峰,在资源的整体利用率可能没有被该瞬时尖峰特征化时,这一利用率中的尖峰可能导致计算负载从该资源被移走。

公开的实施例通过相对于至少两个阈值评估利用率测量来解决这一技术问题,该两个阈值包括第一阈值,以及在一些方面,在一些方面也被称为第二阈值的一个所调整的值。在一些方面,当利用率在第一时间超过第一阈值时,相对于第二阈值评估包括该第一时间的时间窗口内的利用率测量,该第二阈值可以表示比第一阈值更低的利用率。可以在该时间窗口期间确定超过该第二阈值的利用率测量的数量和/或频率。如果该数量和/或频率满足一个或多个标准,可以确定该资源被过度利用,并且然后,计算负载(诸如网络业务、硬盘读取和/或写入请求、处理任务或依赖于各种实施例的其它计算任务)可以被移动到其它的,被较少利用的资源。

所公开的实施例预期的示例类型包括网络利用率、总线利用率,中央处理单元(cpu)利用率、磁盘利用率、高速缓存利用率或其它类型的利用率。这些利用率可以是各种形式的。例如,利用率可以在一些方面被测量和/或表示为最大利用率或容量的百分比。例如,百分之五十(50)的cpu利用率指示该cpu有要执行的任务(而不是空闲任务)在百分之50的时间。可替代地,利用率可以在一些方面被表示为绝对利用率。例如,一个网络可以被确定为具有每秒50兆个比特的利用率。公开的实施例可以随着时间比较利用率测量,以确定利用率中的一个或多个尖峰。利用率中的尖峰可以在一些方面中,表示超过阈值利用率测量。例如,一些实施例可以将cpu利用率中的尖峰定义为任何超过75%的利用率。其它实施例可以将cpu利用率中的尖峰定义为具有低于该特定利用率测量的先前利用率测量和后续利用率测量的任何特定利用率测量。

上面讨论的第一和第二阈值也可以随着实施例而变化。例如,一个实施例可以将第一阈值定义在75%的cpu利用率,将第二阈值定义在50%的利用率。另一个实施例可以将第一阈值定义在50m/b每秒,将第二阈值定义在40m/b每秒。

图1是实现至少一些所公开的实施例的系统的概况图。系统100包括连接到四个网络104a-c的智能引擎102。在一些实施例中,智能引擎102可以连接到两个或更多个网络。至少网络104c-d的每一个包括网络元件。网络104c被示出包括网络元件106a-c,而网络104d被示出包括网络元件106d-f。网络元件106a-f可以包括各种不同的网络设备类型,诸如路由器、防火墙、交换机或者可以在网络104c或104d上施加至少一些性能限制的任何网络元件。

虽然网络104c-d的每一个被示出每个包括三个网络元件,但是技术人员应该理解得是网络104c-d的每一个可以包括比图1中示出的更多或更少的网络元件。图1中示出的网络104a-d的每一个可以是一个或多个网络类型。例如,网络104a-d的每一个可以是互联网协议(ip)网络、时分多路复用网络、无线网络、公共交换电话网(pstn)、令牌环网或任何其它类型的网络。

网络元件106a-f的每一个被配置为向监控过程108a-b发送利用率信息。例如,网络元件106a-c被示出为配置为向监测器108a发送使用信息,而网络元件106d-f被示出为配置为向监测器108b发送使用信息。在一些方面,监测器108a和监测器108b可以是相同的监控过程。监测器108a-b的每一个可以配置为汇总分别从网络单元106a-c和106d-f接收到的利用率信息。例如,来自网络单元106a-c和106d-f的各个测量可以被平均以对其求和。可替换地,可以从来自一个或多个网络元件106a-f的各个测量来确定中值测量。返回可以由监测器108a-b分别将汇总的信息112a-b发送给智能引擎102。

智能引擎102可以确定如何基于汇总的从监测器108a-b接收的利用率信息112a-b路由从一个或多个网络104a-b接收的业务。例如,如果该智能引擎确定网络#3104c比网络#4104d被更大量利用,则智能引擎可以在网络#4104d而不是网络#3104c上路由从一个或多个网络104a-b接收的呼叫。在一些方面,该确定可以基于被监测网络上的利用率中一个或多个尖峰的检测。在一些方面,自适应阈值可以被用于确定网络是否被过多地用于支持额外的业务。举例来说,在一些方面,第一利用率可以被检测到超过第一利用率阈值。在这些方面,然后可以检查这一第一检出利用率周围的利用率,以在一时间段期间确定该网络的利用率是否超过第二利用率阈值,或该利用率会多少次超过第二利用率阈值。基于这一分析,在一些方面,智能引擎102可以确定所监控的网络(例如104c或104d)能够接受额外的业务还是业务应该被路由到备用网络。

一旦智能引擎102已确定一个或多个网络104c和/或104d的利用率,该智能引擎可以在第三网络104c或第四网络104d上路由网络业务,诸如已建立的呼叫业务或呼叫请求消息。为了实现所述路由,在一些方面,智能引擎102可以向多路复用器110发送信号108a以完成路由选择决策。信号108a可以指示如何路由数据108b。例如,信号108a可以指示数据108b要在第三网络104c还是第四网络104d上路由。在一些方面,信号108a可以是所选择的网络的网关地址。在一些其它方面,该路由选择可以通过将目的地的主机名映射到识别所识别的网络的默认网关来完成。

图2示出可以实现至少一些公开的实施例的另一个系统200。图2的系统200包括智能引擎202。智能引擎202分别从应用程序204a-b接收磁盘写如请求203a-b。系统200还包括至少两个稳定存储资源206a-b。稳定存储资源206a-b可以包括一个或多个稳定储存设备。稳定存储资源206a-b的使用率数据208a-b可以被分别提供给监测器210a-b。使用率数据208a-b可以分别表示稳定存储资源206a-b的利用率。例如,使用率数据208a-b可以在一些方面中表示稳定存储资源206a-b的输入/输出(i/o)总线利用率。可以在一些方面确定控制器218的利用率。在一些其它方面,使用率可以表示稳定存储资源206a-b的磁盘臂运动利用率。在一些方面,计算资源的缓冲容量可以是利用率特征的一部分。例如,如果计算资源没有空闲缓冲可用,它可以是在一些方面被认为是100%被利用。

监测器210a-b可以分别汇总和/或量化利用率测量208a-b,并将所得到的测量214a-b提供给智能引擎202。然后,智能引擎202可以基于该得到的测量214a-b确定在哪里分配磁盘写入请求203a-b。

然后,智能引擎202可以将来自写入请求203a-b的数据作为数据216a-b分别发送给硬盘控制器218或多路复用器。智能引擎202还可以将控制信号216b发送给硬盘控制器218。控制信号216b可以向硬盘控制器218指示如何路由数据216a。换句话说,控制信号216b可以指示磁盘控制器218应该将数据216经由数据路径220a路由到稳定存储资源206a还是经由数据路径220b路由到稳定存储资源206b。

图3示出可以由一个或多个公开的实施例记录的示例性利用率测量。图3示出一个网络(诸如图1的第一到第四网络104a-d的任何一个)随着时间的利用率测量线306。利用率测量306由离散的利用率测量305组成。利用率测量306可以在一些方面的是周期性收集的。该利用率测量的周期可以按照实施例而变化。举例来说,在一些方面,该周期可以是0.1秒、0.2秒、0.3秒、0.4秒、0.5秒、0.6秒、0.7秒、0.8秒、0.9秒、1秒、两秒或任何周期的任何一个。在一些方面,每个单独的测量306可以合计两个单独的测量306之间的测量周期期间的一个或多个更细粒度的利用率测量。图3还示出了第一利用率阈值310a和第二利用率阈值310b。第一利用率阈值310a表示比第二利用率阈值310b更高水平的利用率。在一些方面,第一利用率阈值310a和第二利用率阈值310b可以是具有由示出的第一和第二利用率阈值310a-b表示的两个值的单一阈值。

图3示出可以落入这两个利用率阈值310a-b之上、之间或之下的利用率测量305。本公开内容的一些方面可以基于计算资源的利用率和该利用率在一段时间(在图3中表示为开始于时间t1并结束于时间t2的时间段320)期间对于第一和第二阈值310a-b的关系确定该资源是否可用于额外的工作。例如,在一些方面,所公开的方面可以检测何时利用率306超过第一阈值310a。该利用率的这部分被示出为利用率340。在利用率340处出现的尖峰出现在时间窗口320中的时间t3处。在一些方面,该时间窗口可以被定义为包括该尖峰发生在利用率340处的时间。例如,时间窗口320可以在检测到利用率340处的尖峰时开始,在检测到该尖峰时结束,或被放置为使得该尖峰处于时间窗口320的中间点处。

响应于该利用率超过第一阈值310a,然后一些公开的实施例可以在一段时间期间(表示为时间段320)监测利用率305。这些实施例可以计数该利用率超过第二阈值310b的次数。利用率306在时间段320期间超过该第二阈值310b的实例在图3中被示出为实例350a-c。在示出的实施例中,利用率306在时间段320期间三(3)次超过第二阈值310b,但是技术人员应该理解得是,随着利用率306响应于被监测的资源上的负载而波动,该数量可以是任何数量。

图4示出了可以在一个或多个公开的实施例中获取的示例利用率测量。图4示出定义利用率曲线图406的个体利用率测量405。虽然图3的利用率测量305定义了高于第一阈值310a的单一尖峰,但是图4示出高于第一利用率阈值410a的多个尖峰440a-e。在一些方面,利用率阈值310a和410a可以是相等的。如何对待高于该第一利用率阈值410a的多个尖峰440a-e可以根据实施例而不同。例如,在一些方面,诸如尖峰440c的尖峰可以定义一时间窗口420a,其具有t4的开始时间和t5的结束时间,在时间t6处出现尖峰440,该时间t6处于时间窗口420a之内。在一些方面,不包括尖峰440c的其它尖峰可以被作为高于第二阈值410b的第二尖峰来对待。例如,在一些方面,时间窗口420a内高于第二阈值410b的每个测量405可被当作第二尖峰对待。因此,图4示出时间窗口402a内的十三个(13)这样的测量。在其它一些方面,只对尖峰本身计数。在一些方面,尖峰可以被定义为在每一侧被连续的表示比第一测量更低的利用率的第二测量围绕的第一测量。因此,在这些方面,尖峰440a-b和440d可被认为是时间窗口420a内的第二尖峰。由于尖峰450a也在时间窗口420a内,尖峰450a也可在一些方面被认为是第二尖峰,尖峰450a也高于第二阈值410b。

如上所讨论的,高于第一阈值410a的尖峰440a-b和440d-e可以被作为关于其它尖峰之一(例如,440c)所定义的时间窗口高于第二阈值410b的尖峰对待。在这些方面的一些中,尖峰440a-b和440d-e的每一个也可以定义其自己的时间窗口。因此,在一些方面,尖峰440a-e可以定义五个(5)不同的时间窗口。图4将这些其它时间窗口的一部分示出为时间窗口420b,其可以由尖峰440e定义。对于图4中的每个时间窗口420a-b,所公开的实施例可以跟踪若干个高于第二阈值410b的尖峰。这些尖峰也可以高于第一阈值410a,但可以不包括定义该时间窗口的尖峰,诸如时间窗口420b的尖峰450e和时间窗口420a的尖峰450c。公开的实施例可以基于任何单一时间窗口内的尖峰来动态分配资源。因此,例如,时间窗口420a可以包括不导致计算资源的任何特定动态重新分配的尖峰,而时间窗口420b可以包括满足标准并且因此在一些方面造成计算资源的动态重新分配的尖峰。公开的实施例可以动态地重新分配资源,其中,该资源可以根据该计算资源的运行时测量被重新分配。

图5是用于动态分配计算资源的方法的流程图。在一些方面,下面关于图5所讨论的处理过程500可以由上面分别关于图1和2所讨论的智能引擎201或202来执行。在一些方面,处理过程500可以由诸如一个或多个硬件处理器之类的电子处理电路来执行,诸如下面关于图6所讨论的那些。

在方块510中,检测并确定计算资源的利用率中的尖峰。在一些方面,当计算资源的利用率测量满足标准(诸如超过阈值)时可以检测到利用率尖峰。在一些方面,当利用率被确定针对一段时间都超过该阈值时,或者当某个数量的连续(在时间上)利用率测量都超过该阈值时,可以检测到利用率尖峰。上面在图3中提供了在一些实施例中方块510的操作的示例。例如,图3示出超过阈值310a的利用率306。这提供了对利用率尖峰340的检测。

在方块520中,阈值是基于方块510的利用率中的尖峰的检测或确定而调整的。在一些方面,该阈值可以在方块520中被降低。例如,鉴于方块510中参考的阈值可以表示第一水平的利用率,则所调整的阈值可以表示更低水平的利用率。上面在至少图3中演示了方块520的示例。例如,在方块520的一些方面,该阈值可以被从阈值310a所表示的值调整到阈值310b所表示的值。

在一些方面,可以静态地确定或定义阈值310a和310。在一些方面,可以动态地确定该阈值。例如,在一些方面,可以确定计算资源的移动平均利用率。然后,方块510的第一阈值可以基于上述移动平均的百分比值。然后该阈值可以被调整到高于该移动平均值的第二百分比。在一些方面,用于确定方块510的阈值的百分比值可以是比该所调整的阈值更大的移动平均值百分比。在一些其它方面,可以基于该计算资源的平均移动利用率的若干个标准差确定该阈值。这些实施例中的移动平均可以是在先前的时间段期间的平均使用率。例如,该时间段可以是先前的0.1秒、0.2秒、0.3秒、0.4秒、0.5秒、0.6秒、0.7秒、0.8秒、0.9秒、1秒、1.5秒、2秒、2.5秒、3秒、3.5秒、4秒、4.5秒、5秒、10秒的任何一个或这里提供的示例时间段之间、大于或小于该时间段的任何值。

在方块530中,检测或确定一个或多个第二利用率尖峰。在定义的时间段或窗口期间检测到第二利用率尖峰。该时间段可以被定义为包括在方块530中检测出的尖峰。到换句话说,处理过程500可以在一时间段期间检查方块510的利用率尖峰周围的利用率。在一些方面,在方块510中检测到尖峰的时间可以定义该时间窗口的开始时间。在一些其它方面,在方块510中检测到尖峰的时间可以定义该时间窗口的结束时间。在一些其它方面,在方块510中检测到尖峰的时间可以定义该时间窗口的中间点。

方块530可以检测利用率中超过所调整的阈值或不同于方块510中使用的阈值的第二尖峰。构成利用率中的第二“尖峰”的标准可以根据实施例而变化。一些实施例可以在该时间段期间任何一个利用率测量超过所调整的或第二阈值(例如,310b)时检测到第二尖峰。其它实施例可以在该时间段期间定义的数量的利用率测量超过该所调整的或第二阈值之后检测到第二尖峰。例如,一些实施例可以在两个、三个、四个、五个、六个、七个、八个、九个或十个连续的利用率测量超过所调整的或第二阈值时检测到第二尖峰。方块530还可以计数或确定该时间窗口期间出现的第二尖峰的数量。在一些方面,方块530可以在该时间窗口期间确定第二尖峰的频率。例如,在一些方面,方块530可以将该时间窗口期间出现的第二尖峰的数量除以该时间窗口的长度以确定该频率。

时间窗口的长度可以根据实施例而变化。在一些方面,时间窗口的长度可以基于在其上测量利用率的链路的速度。例如,在一些方面,时间窗口的长度可以是与速度成正比。例如,x比特/秒的链路速度可以具有y的时间窗口长度,且x+n的链路速度可以具有y+m的时间窗口长度,其中x、y、m和n是常量。在一些其它方面,链路速度/时间窗口长度的比率可以保持恒定。因此,随着链路速度的增加,增加该时间窗口的长度以维持恒定的比率。在一些方面,时间窗口可以与链接速度成反比例。

在方块550中,响应于一个或多个第二利用率尖峰(在方块530中检测到的)满足标准,动态地重新分配计算资源。例如,如上所讨论的,该标准可以评估在方块530中检测到的第二尖峰的数量是否超过定义的数量。在这些方面,如果第二尖峰数量超过定义的数量,负载可从该计算资源移开。例如,负载可以被分配给第二计算资源。在一些方面,计算资源可以是输入/输出总线、稳定存储设备或网络(诸如电话网络)。在一些方面,计算资源可以是多核硬件处理器的内核。在这些方面,关于如何将处理任务路由到多核硬件处理器的哪个内核的决策可以基于本公开内容的技术。

如上关于图1所讨论的,动态分配资源可以包括在第一网络(例如104c)而不是第二网络(例如104d)上路由业务。例如,可以在具有更低或更稳定的利用率和/或抖动的网络而不是具有更高利用率和/或抖动的网络上路由负载。在一些方面,已建立的呼叫业务可以基于网络的利用率的分析被重新路由。例如,在一些方面,处理过程500可以包括基于在方块530中检测到的第二利用率尖峰,确定第一网络的利用率超过所调整的或第二阈值(例如,310b或410b)的次数,以及基于在该窗口内该利用率超过第二阈值达定义的时间百分比而将已建立的呼叫业务从第一网络重新路由到第二网络。

关于图2,动态分配资源可以包括将稳定存储写入请求(例如203a或203b)或文件操作路由到第一稳定存储设备(例如206a)或第二稳定储存设备(例如206b)。例如,磁盘写入请求或其它基于文件的操作可以被路由到没有另一个稳定存储设备那样被大量利用的稳定储存设备,在一些方面减少写入请求和/或文件操作的延迟并且对稳定存储设备负载平衡。

在一些方面,动态分配资源可以包括响应于利用率测量满足第一标准,在具有确定的利用率特征的网络上发起诊断。例如,在一些方面,响应于利用率测量满足第一标准,一个或多个网络元件106a-f中的诊断模式可以由智能引擎102和/或监测器108a和/或108b修改。例如,当该利用率符合第一标准时,可以增加诊断的详细程度以提供关于一个或多个网络元件106a-f的操作的更高水平的细节。然后在一些方面可以分析指示该更高水平的细节的数据以确定该利用率的成因。

在一些方面,第二利用率尖峰可以在该第二利用率尖峰在时间窗口期间的频率超过定义的频率阈值时满足该标准。如上所讨论的,该频率阈值和/或第二尖峰阈值的数量可以基于链路的速度或计算资源的容量被动态地调整。在一些方面,方块550可以根据多个标准评估第二利用率尖峰,诸如尖峰的数量相对于尖峰阈值的数量和尖峰的频率相对于频率阈值二者。

在一些方面,在该时间窗口完成的或已经过去之后,所调整的阈值可以被恢复到其先前的值,诸如在方块510中的值。在一些方面,也可以使用两个阈值(方块510中的一个和方块530中的一个不同的阈值),因此可以不需要恢复该阈值。例如,在这些方面,可以不执行方块520,因为使用两个不同的阈值不需要自动阈值调整。相反,方块520的操作可以通过应用方块530中的第二阈值而不是方块510中使用的阈值来完成。

图6示出可以在其上执行本申请中讨论的任何一个或多个技术(例如,方法)的示例机器600的框图。在替代实施例中,机器600可以作为独立的设备运行或者可以连接(例如,联网)到其它机器。在联网部署中,机器600可以作为服务器机器、客户端机器或者在同时是服务器-客户端网络环境中运行。在一个示例中,机器600可以作为对等网络(p2p)(或其它分布式)网络环境中的对等机器。机器600可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、智能电话、网络装置、网络路由器、交换机或桥、服务器计算机、数据库、会议室设备或者能够执行指定要由该机器采取的动作的指令(顺序或以其它方式)的任何机器。机器600可以全部或部分实现任何一个或多个智能引擎102、智能引擎202、多路复用器110、硬盘控制器218。在各种实施方式中,机器600可以执行上面关于图5描述的一个或多个过程。此外,虽然仅示出了单个机器,但是术语“机器”应当也被理解为包括机器的任何集合,其单独或联合地执行指令集合(或多个集合)以执行本申请中讨论的任何一个或多个的方法,例如云计算、软件即服务(saas)、其它计算机集群配置。

如本申请中所描述的示例,可以包括逻辑或若干组件、模块或机制(在下文中统称为“模块”),或者在其上运行。模块是能够执行指定的操作并且可以以某种方式配置或排列的有形的实体(例如,硬件)。在一个示例中,电路可以被以指定的方式排列为模块(例如,内部的或者关于诸如其它电路之类的外部实体的)。在一个示例中,一个或多个计算机系统(例如,单机,客户端或服务器计算机系统)或一个或多个硬件处理器的全部或一部分可以由固件或软件(例如,指令、应用程序部分或应用程序)配置为运行用于执行指定的操作的模块。在一个示例中,软件可以驻留在机器可读介质上。在一个示例中,软件在由模块的底层硬件执行时,使得该硬件执行指定的操作。

因此,术语“模块”被理解为包含有形实体,就是被物理构造的,具体配置(例如,硬连线)或暂时(例如,短暂地)配置(例如,编程)为以指定的方式运行,或执行本申请中描述的任何操作的一部分或全部。考虑模块被临时配置的示例,每个模块不需要在任何时间一个时刻实例化。例如,在模块包括使用软件配置的通用硬件处理器情况,该通用硬件处理器可以被配置为在不同的时间相应的不同模块。软件可以相应地配置硬件处理器,例如以便构成一时间实例处的特定模块,以及构成不同时间实例处的不同模块。

机器(例如,计算机系统)600可以包括硬件处理器602(例如,中央处理单元(cpu)、图形处理单元(gpu)、硬件处理器内核或它们的任何组合)、主存储器604和静态存储器606,其中一些或全部可以经由链接(例如,总线)608相互通信。机器600还可以包括显示单元610、字母数字输入设备612(例如,键盘)和用户界面(ui)导航设备614(例如,鼠标)。在一个示例中,显示单元610、输入设备612和ui导航设备614可以是触摸屏显示器。机器600可以另外包括存储设备(例如,驱动单元)616、信号生成设备618(例如,扬声器)、网络接口设备620和一个或多个传感器621,诸如全球定位系统(gps)传感器、罗盘、加速计或其它传感器。机器600可以包括输出控制器628,诸如串行(例如,通用串行总线(usb))、并行或其它有线或无线(例如,红外(ir),近场通信(nfc)等)连接,以便进行通信或控制一个或多个外围设备(例如,打印机、读卡器等)。

存储设备616可以包括机器可读介质622,其上存储由本申请中描述的一个或多个技术或功能具体化或利用的一组或多组数据结构或指令624(例如软件)。指令624在由机器600执行期间还可以完全地或至少部分地驻留于主存储器604中、静态存储器606中或者在硬件处理器602中。在一个示例中,硬件处理器602、主存储器604、静态存储器606或存储设备616的一个或任何组合可以构成机器可读介质。

虽然机器可读介质622被示为单个介质,但是术语“机器可读介质”可以包括配置为存储一个或多个指令624的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的缓存和服务器)。

术语“机器可读介质”可以包括能够存储、编码或携带用于由机器600执行并使机器600执行本公开内容的任何一个或多个技术的指令,或者能够存储、编码或携带由这些指令使用或与其相关联的数据结构的任何介质。非限制性的机器可读介质的示例可以包括固态存储器,以及光和磁介质。机器可读介质的具体示例可以包括:非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和闪速存储器设备;磁盘,诸如内部硬盘和可移动硬盘;磁光盘;随机存取存储器(ram);固态硬盘(ssd);和cd-rom和dvd-rom盘。在一些示例中,机器可读介质可以包括永久性计算机可读介质。在一些示例中,机器可读介质可以包括不是瞬时传播信号的机器可读介质。

指令624还可以经由网络接口设备620使用传输介质在通信网络626上发送或接收。机器600可以利用多种传输协议(例如,帧中继、互联网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传输协议(http)等)中的任何一种与一个或多个其它机器通信。示例性通信网络可以包括局域网(lan)、广域网(wan)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通老式电话(pots)网络和无线数据网络(例如,被称为的电气和电子工程师协会(ieee)802.11标准族,被称为的ieee802.16标准族)、ieee802.15.4标准族、长期演进(lte)标准族、通用移动通信系统(umts)标准族、对等网络(p2p)网络等等。在一个示例中,网络接口设备820可以包括一个或多个物理插口(例如,以太网、同轴电缆或电话插孔)或一个或多个天线以连接到通信网络626。在一个示例中,网络接口设备620可以包括多个天线,以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术的至少一个进行无线通信。在一些示例中,网络接口设备620可以使用多用户mimo技术进行无线通信。

如本申请中所描述的示例,可以包括逻辑或若干组件、模块或机制(在下文中统称为“模块”),或者在其上运行。模块是能够执行指定的操作并且可以以某种方式配置或排列的有形的实体(例如,硬件)。在一个示例中,电路可以被以指定的方式排列为模块(例如,内部的或者关于诸如其它电路之类的外部实体的)。在一个示例中,一个或多个计算机系统(例如,单机,客户端或服务器计算机系统)或一个或多个硬件处理器的全部或一部分可以由固件或软件(例如,指令、应用程序部分或应用程序)配置为运行用于执行指定的操作的模块。在一个示例中,软件可以驻留在机器可读介质上。在一个示例中,软件在由模块的底层硬件执行时,使得该硬件执行指定的操作。

示例1是一个系统,其包括处理电路;存储指令的电子硬件存储器,该指令在由处理电路执行时,控制该系统执行以下操作,包括:在第一时间确定计算资源的利用率测量超过利用率阈值;基于该确定来自动地调整该利用率阈值;在一时间窗口期间确定该计算资源中超过所调整的利用率阈值的一个或多个第二利用率测量;以及响应于所确定的一个或多个第二利用率测量满足第一标准来动态地重新分配资源。

在示例2中,示例1的主题可选地包括,其中动态地重新分配资源包括响应于确定的一个或多个第二利用率测量超过第一标准将文件操作引导至第一稳定存储设备,否则将该文件操作引导至第二稳定存储。

在示例3中,示例1-2的任何一个或多个的主题可选地包括操作,该操作还包括如果在该时间窗口内第二利用率测量的数量高于预定的数量则确定满足第一标准。

在示例4中,示例3的主题可选地包括操作,该操作还包括如果在该时间窗口内第二利用率测量的频率高于预定的频率阈值则确定满足第一标准。

在示例5中,示例1-4的任何一个或多个的主题可选地包括,其中该利用率阈值的调整降低由该利用率阈值所表示的网络利用率。

在示例6中,示例1-5的任何一个或多个的主题可选地包括操作,该操作还包括在该时间窗口之后恢复该利用率阈值。

在示例7中,示例1-6的任何一个或多个的主题可选地包括确定该时间窗口包括该第一时间。

在示例8中,示例7的主题可选地包括操作,该操作还包括确定该时间窗口,使得该第一时间是该时间窗口的中间点。

在示例9中,示例1-8的任何一个或多个的主题可选地包括,其中动态地重新分配资源包括响应于确定的一个或多个第二利用率测量满足第一标准而在第一网络上路由网络数据,以及否则在第二网络上路由该网络数据。

在示例10中,示例9的主题可选地包括,其中第一网络是互联网协议(ip)网络,第二网络是时分多路复用网络或无线网络。

在示例11中,示例9-10的任何一个或多个的主题可选地包括,其中通过路由网络数据来动态地重新分配资源包括将网络数据以及关于是在第一网络还是在第二网络上路由该网络数据的指示传送到多路复用器。

在示例12中,示例9-11的任何一个或多个的主题可选地包括操作,该操作还包括响应于确定的利用率测量满足第一标准在第一网络上发起诊断。

在示例13中,示例9-12的任何一个或多个的主题可选地包括操作,该操作还包括在第二利用率测量指示该第一网络的利用率针对预定的时间段超过该所调整的利用率阈值时,确定该第二利用率测量满足第一标准。

在示例14中,示例9-13的任何一个或多个的主题可选地包括操作,该操作还包括响应于该一个或多个第二利用率测量满足第一标准将已建立的呼叫业务从第一网络重新路由到第二网络。

在示例15中,示例14的主题可选地包括操作,该操作还包括基于第二利用率测量确定第一网络的利用率在该时间窗口内超过所调整的阈值的时间量,并且基于在该时间窗口内该利用率超过第二阈值达预定的时间百分比而将已建立的呼叫业务从第一网络重新路由到第二网络。

示例16是用于动态分配计算资源的方法,包括在第一时间经由处理电路确定计算资源的利用率测量超过利用率阈值;基于该确定来自动地调整该利用率阈值;在一时间窗口期间确定该计算资源中超过所调整的利用率阈值的一个或多个第二利用率测量;以及响应于所确定的一个或多个第二利用率测量满足第一标准来动态地重新分配资源。

在示例17中,示例16的主题可选地包括如果在该时间窗口内第二利用率测量的数量高于预定的数量则确定满足第一标准。

在示例18中,示例16-17的任何一个或多个的主题可选地包括,其中该利用率阈值的调整降低由该利用率阈值所表示的网络利用率。

在示例19中,示例17-18的任何一个或多个的主题可选地包括如果在该时间窗口内第二利用率测量的频率高于预定的频率阈值则确定满足第一标准。

在示例20中,示例16-19的任何一个或多个的主题可选地包括在该时间窗口之后恢复该利用率阈值。

在示例21中,示例16-20的任何一个或多个的主题可选地包括确定该时间窗口包括该第一时间。

在示例22中,示例21的主题可选地包括确定该时间窗口,使得该第一时间是该时间窗口的中间点。

在示例23中,示例16-22的任何一个或多个的主题可选地包括,其中动态地重新分配资源包括响应于确定的一个或多个第二利用率测量满足第一标准而在第一网络上路由网络数据,以及否则在第二网络上路由该网络数据。

在示例24中,示例23的主题可选地包括响应于该一个或多个第二利用率测量满足第一标准将已建立的呼叫业务从第一网络重新路由到第二网络。

在示例25中,示例24的主题可选地包括基于第二利用率测量确定第一网络的利用率在该时间窗口内超过所调整的阈值的时间量,并且基于在该时间窗口内该利用率超过第二阈值达预定的时间百分比而将已建立的呼叫业务从第一网络重新路由到第二网络。

在示例26中,示例23-25的任何一个或多个的主题可选地包括,其中第一网络是互联网协议(ip)网络,第二网络是时分多路复用网络或无线网络。

在示例27中,示例23-26的任何一个或多个的主题可选地包括,其中通过路由网络数据来动态地重新分配资源包括将网络数据以及关于是在第一网络还是在第二网络上路由该网络数据的指示传送到多路复用器。

在示例28中,示例23-27的任何一个或多个的主题可选地包括响应于确定的利用率测量满足第一标准在第一网络上发起诊断。

在示例29中,示例23-28的任何一个或多个的主题可选地包括在第二利用率测量指示该第一网络的利用率针对预定的时间段超过该所调整的利用率阈值时,确定该第二利用率测量满足第一标准。

在示例30中,示例16-29的任何一个或多个的主题可选地包括,其中动态地重新分配资源包括响应于确定的一个或多个第二利用率测量超过第一标准将文件操作引导至第一稳定存储设备,否则将该文件操作引导至第二稳定存储。

示例31是一种包括指令的永久性计算机可读存储介质,该指令在被执行时使处理电路执行操作以动态分配计算资源,所述操作包括在第一时间经由处理电路确定计算资源的利用率测量超过利用率阈值;基于该确定来自动地调整该利用率阈值;在一时间窗口期间确定该计算资源中超过所调整的利用率阈值的一个或多个第二利用率测量;以及响应于所确定的一个或多个第二利用率测量满足第一标准来动态地重新分配资源。

在示例32中,示例31的主题可选地包括,其中动态地重新分配资源包括响应于确定的一个或多个第二利用率测量满足第一标准而在第一网络上路由网络数据,以及否则在第二网络上路由该网络数据。

在示例33中,示例31-32的任何一个或多个的主题可选地包括,其中动态地重新分配资源包括响应于确定的一个或多个第二利用率测量超过第一标准将文件操作引导至第一稳定存储设备,否则将该文件操作引导至第二稳定存储。

在示例34中,示例31-33的任何一个或多个的主题可选地包括如果在该时间窗口内第二利用率测量的预定数量高于预定数量则确定满足第一标准。

在示例35中,示例34的主题可选地包括操作,该操作还包括如果在该时间窗口内第二利用率测量的频率高于预定的频率阈值则确定满足第一标准。

在示例36中,示例31-35的任何一个或多个的主题可选地包括操作,该操作还包括在该时间窗口之后恢复该利用率阈值。

在示例37中,示例31-36的任何一个或多个的主题可选地包括确定该时间窗口包括该第一时间。

在示例38中,示例37的主题可选地包括操作,该操作还包括确定该时间窗口,使得该第一时间是该时间窗口的中间点。

在示例39中,示例32-38的任何一个或多个的主题可选地包括操作,该操作还包括在第二利用率测量指示第一网络的利用率针对预定的时间段超过所调整的利用率阈值时确定该第二利用率测量满足该第一标准。

在示例40中,示例32-39的任何一个或多个的主题可选地包括,其中该利用率阈值的调整降低由该利用率阈值所表示的网络利用率。

在示例41中,示例32-40的任何一个或多个的主题可选地包括操作,该操作还包括响应于该一个或多个第二利用率测量满足第一标准将已建立的呼叫业务从第一网络重新路由到第二网络。

在示例42中,示例41的主题可选地包括操作,该操作还包括基于第二利用率测量确定第一网络的利用率在该时间窗口内超过所调整的阈值的时间量,并且基于在该时间窗口内该利用率超过第二阈值达预定的时间百分比而将已建立的呼叫业务从第一网络重新路由到第二网络。

在示例43中,示例32-42的任何一个或多个的主题可选地包括,其中第一网络是互联网协议(ip)网络,第二网络是时分多路复用网络或无线网络。

在示例44中,示例32-43的任何一个或多个的主题可选地包括,其中通过路由网络数据来动态地重新分配资源包括将网络数据以及关于是在第一网络还是在第二网络上路由该网络数据的指示传送到多路复用器。

在示例45中,示例32-44的任何一个或多个的主题可选地包括操作,该操作还包括响应于确定的利用率测量满足第一标准在第一网络上发起诊断。

示例46是一种用于动态分配计算资源的装置,该装置包括用于在第一时间经由处理电路确定计算资源的利用率测量超过利用率阈值的单元;用于基于该确定来自动地调整该利用率阈值的单元;用于在一时间窗口期间确定该计算资源中超过所调整的利用率阈值的一个或多个第二利用率测量的单元;以及用于响应于所确定的一个或多个第二利用率测量满足第一标准来动态地重新分配资源的单元。

在示例47中,示例46的主题可选地包括用于在该时间窗口之后恢复该利用率阈值的单元。

在示例48中,示例46-47的任何一个或多个的主题可选地包括用于如果在该时间窗口内第二利用率测量的预定数量高于预定数量则确定满足第一标准的单元。

在示例49中,示例46-48的任何一个或多个的主题可选地包括用于确定该时间窗口包括该第一时间的单元。

在示例50中,示例49的主题可选地包括用于确定该时间窗口,使得该第一时间是该时间窗口的中间点的单元。

在示例51中,示例46-49的任何一个或多个的主题可选地包括,其中用于动态地重新分配资源的单元包括用于响应于确定的一个或多个第二利用率测量满足第一标准而在第一网络上路由网络数据,以及否则在第二网络上路由该网络数据的单元。

在示例52中,示例51的主题可选地包括用于如果在该时间窗口内第二利用率测量的频率高于预定的频率阈值则确定满足第一标准的单元。

在示例53中,示例51-52的任何一个或多个的主题可选地包括用于响应于第二利用率测量指示第一网络的利用率针对预定的时间段超过所调整的利用率阈值确定满足该第一标准的单元。

在示例54中,示例51-53的任何一个或多个的主题可选地包括,其中该利用率阈值的调整降低由该利用率阈值所表示的网络利用率。

在示例55中,示例51-54的任何一个或多个的主题可选地包括用于响应于该一个或多个第二利用率测量满足第一标准将已建立的呼叫业务从第一网络重新路由到第二网络的单元。

在示例56中,示例55的主题可选地包括用于基于第二利用率测量确定第一网络的利用率在该时间窗口内超过所调整的阈值的时间量的单元,以及用于基于在该时间窗口内该利用率超过第二阈值达预定的时间百分比而将已建立的呼叫业务从第一网络重新路由到第二网络的单元。

在示例57中,示例51-56的任何一个或多个的主题可选地包括,其中第一网络是互联网协议(ip)网络,第二网络是时分多路复用网络或无线网络。

在示例58中,示例51-57的任何一个或多个的主题可选地包括,其中通过路由网络数据来动态地重新分配资源包括将网络数据以及关于是在第一网络还是在第二网络上路由该网络数据的指示传送到多路复用器。

在示例59中,示例51-58的任何一个或多个的主题可选地包括用于响应于确定的利用率测量满足第一标准在第一网络上发起诊断的单元。

在示例60中,示例46-59的任何一个或多个的主题可选地包括,其中用于动态地重新分配资源的单元包括响应于确定的一个或多个第二利用率测量超过第一标准将文件操作引导至第一稳定存储设备的单元,以及否则将该文件操作引导至第二稳定存储的单元。

因此,术语“模块”被理解为包含有形实体,就是被物理构造的,具体配置(例如,硬连线)或暂时(例如,短暂地)配置(例如,编程)为以指定的方式运行,或执行本申请中描述的任何操作的一部分或全部。考虑模块被临时配置的示例,每个模块不需要在任何时间一个时刻实例化。例如,在模块包括使用软件配置的通用硬件处理器情况,该通用硬件处理器可以被配置为在不同的时间相应的不同模块。软件可以相应地配置硬件处理器,例如以便构成一时间实例处的特定模块,以及构成不同时间实例处的不同模块。

各种实施例可以全部或部分地在软件和/或固件中实现。这一软件和/或固件可以采取包含在永久性性计算机可读存储介质之中或之上的指令的形式。然后,那些指令可以由一个或多个处理器读取并执行以执行本申请中描述的操作。该指令可以是任何合适的形式,诸如但不限于源代码、经编译代码、解释后代码、可执行代码、静态代码、动态代码等等。这样的计算机可读介质可以包括用于以一个或多个计算机可读的形式存储信息的任何有形的永久性介质,诸如但不限于只读存储器(rom);随机存取存储器(ram);磁盘存储介质;光存储介质;闪存;等等。

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