在联网计算环境中的按需功率管理的制作方法

文档序号:10660615阅读:190来源:国知局
在联网计算环境中的按需功率管理的制作方法
【专利摘要】本申请的各实施例涉及在联网计算环境中的按需功率管理。公开用于在联网计算环境中的按需功率管理的方法、装置、程序产品和系统。设备模块确定软件定义的网络的多个设备中的一个或者多个非关键设备。非关键设备基于设备的一个或者多个网络特性被确定。使用模块接收用于一个或者多个非关键设备中的每个非关键设备的带宽利用。带宽利用包括与非关键设备关联的网络流量的数量。功率模块响应于用于一个或者多个非关键设备的带宽利用少于阈值带宽来关停软件定义的网络的包括一个或者多个非关键设备的至少一部分。功率模块响应于用于网络的不同部分的带宽利用超过阈值带宽来重启软件定义的网络的被关停的部分。
【专利说明】
在联网计算环境中的按需功率管理
技术领域
[0001] 这里公开的主题内容涉及功率管理并且更特别地涉及在软件定义的网络中的功 率管理。
【背景技术】
[0002] 联网计算环境(比如软件定义的网络)可以包括数百或者数千个网络设备,比如交 换机、路由器、网桥、服务器等。网络计算环境可以利用冗余性以克服单个故障点并且维持 高可用性。这可以允许联网计算环境(比如数据中心)有助于网络范围的弹性以增加可伸缩 网络连通而同时保证系统的连续操作。然而,大量功率可能被在联网计算环境内运行的活 跃设备和消极设备二者消耗。

【发明内容】

[0003] 第一方面是如在权利要求1中定义的装置。
[0004] 第二方面是如在权利要求15中定义的方法。
【附图说明】
[0005] 将通过参照在附图中图示的具体实施例来表现对以上简要地描述的实施例的更 特别的描述。理解这些附图仅描绘一些实施例并且因此不会视为对范围的限制,将通过使 用附图、用附加特点和细节描述和说明实施例。
[0006] 图1是图示了用于在联网计算环境中的按需功率管理的系统的一个实施例的示意 框图;
[0007] 图2是图示了用于在联网计算环境中的按需功率管理的模块的一个实施例的示意 框图;
[0008] 图3是图示了用于在联网计算环境中的按需功率管理的另一模块的一个实施例的 示意框图;
[0009] 图4是图示了用于在联网计算环境中的按需功率管理的软件定义的网络环境的一 个实施例的示意框图;
[0010] 图5是图示了用于在联网计算环境中的按需功率管理的方法的一个实施例的示意 流程图;以及
[0011] 图6是图示了用于在联网计算环境中的按需功率管理的另一方法的一个实施例的 示意流程图。
【具体实施方式】
[0012] 图1描绘了用于在联网计算环境中的按需功率管理的系统100的一个实施例。在一 个实施例中,联网计算环境包括软件定义的网络("SDN")。如这里所用SDN是计算机网络,该 计算机网络允许通过对更低级功能的抽象化(比如通过将控制平面(网络的如下部分,该部 分做出关于流量被发送到何处的判决)从数据平面(网络的如下部分,该部分向选择的目的 地转发流量))去耦合来管理网络服务。因而,SDN控制器108可以提供进入网络设备(比如交 换机和路由器)的程序设计接口,这些网络设备可以传统地被配置有封闭、专有固件。以这 一方式,进入联网设备的人工接口可以被程序设计接口替换,该程序设计接口可以实现任 务的自动化(比如配置和策略管理)并且也使网络能够动态地响应于应用要求。SDN可以包 括数据中心中的网络环境,其中客户端通过SDN访问服务器或者其它端点。在另一实施例 中,SDN可以包括有助于在两个或者更多个客户端之间传输数据的联网环境。
[0013] 系统100在一个实施例中包括应用层102、控制层106和基础结构层110,应用层102 包括一个或者多个应用l〇4a-104n,控制层106包括SND控制器108和功率管理模块114,基础 结构层110包括一个或者多个网络设备112a-l 12η。
[0014] 在一个实施例中,应用层102包括SDN的抽象化层,该抽象化层包括利用SDN的应用 或者服务l〇4a-104n。在某些实施例中,应用104a-104n与在控制平面106内的SDN控制器108 通信以对流量经过基础结构层110中的网络设备112a-112n的流动进行计划、组织、编排、自 动化等。SDN控制器108可以提供应用编程接口("API"),应用104a-104n可以使用这些API以 编程地定制和优化SDN以用于不同使用。例如,应用104a-104η可以包括可以在SDN环境中被 优化的网络负荷平衡器、交换机/网络虚拟化应用、防火墙、软件定义的安全服务等。
[0015] 在一个实施例中,控制层106包括SDN的抽象化层,该抽象化层控制流量经过SDN (例如,经过基础结构层110)的流动。特别地,控制层106可以包括SDN控制器108,SDN控制器 108充当用于SDN的策略控制点并且控制网络分组经过基础结构层110的流动。SDN控制器 108可以包括功率控制器或者充当功率控制器以与在SDN内的一个或者多个功率供应通信。
[0016] SDN控制器108在某些实施例中被配置为向在基础结构层110中的网络设备112a-112η和在应用层102中的应用104a-l 04η中继信息。例如,SDN控制器108可以根据应用104a-l〇4n的需要和/或需求动态地做出基础结构层110中的网络分组路由改变。以这一方式,通 过将控制层106从基础结构层110分离,不同于传统联网配置,更复杂的流量管理是可能的 而不是使用访问控制列表和路由协议。
[0017] SDN控制器108可以使用不同通信协议和API来与基础结构层110中的网络设备 112a-112n通信,这些通信协议和API定义SDN控制器108如何与基础结构层110中的网络设 备112a-112n通信以做出如由应用104a-104n的需要所确定的对分组路由/转发路径的调 整。在SDN控制器108与网络设备112a-l 12η之间的通信协议的示例包括Open Networking Foundat i 〇n的OpenFlow?和CisG0?的〇pF1 ex。Open F丨O W⑧例如允许通过添加、修 改和去除分组匹配规则和动作的、对分组转发表的远程监管。以这一方式,路由判决可以由 SDN控制器108周期性地或者临时地做出并且被翻译成规则和动作。
[0018] 在一个实施例中,功率管理模块114被配置为确定SDN的一个或者多个非关键网络 设备112a-112n、接收非关键网络设备112a-112n的带宽利用并且关停向SDN的至少一部分 的功率,该一部分包括具有在预定义的阈值宽度以下的网络带宽的非关键网络设备112a-112η。以这一方式,SDN的如下部分可以被关停以便节约SDN内的功率,这些部分包括未活跃 地诶使用的或者利用不足的非关键网络设备112a-112n。在某些实施例中,功率管理模块 114的至少一部分位于SDN控制器108上。
[0019] 基础结构层11〇包括SDN的抽象化层,该抽象化层包括执行根据由SDN控制器108确 定的分组路由路径经过SDN转发网络流量的多个网络设备102a-102n。如以上描述的那样, SDN控制器108使用通信协议(比如OpenFlow?)来与基础结构110的网络设备112a-112n 通信。
[0020] 在一个实施例中,网络设备112a-112n可以包括联网设备和端点,比如交换机、路 由器、网桥、防火墙、服务器、虚拟机、管理程序等。在一些实施例中,网络设备112a-n是关键 或者非关键设备112a-n。如这里所用,关键设备112a-112n是对于SDN的可靠性而言必需的 并且在未引起负面影响时不能被关停的网络设备112a-112n。非关键设备112a-112n如这里 所用包括可以被关停以例如节约功率而未威胁SDN的可靠性和完整性的网络设备112a-112n〇
[0021] 图2描绘了用于在联网计算环境中的按需功率管理的模块200的一个实施例。在一 个实施例中,模块200包括功率管理模块114的实施例。功率管理模块114在各种实施例中包 括以下更具体地描述的设备模块202、使用模块204和功率模块206中的一个或者多个模块。 [0022]设备模块202在一个实施例中确定SDN的多个设备112a-112n中的一个或者多个非 关键设备112a-112n。如以上描述的那样,多个设备112a-112n可以包括联网部件和/或端 点,比如交换机、路由器、网桥、防火墙、服务器、虚拟机、管理程序等。在某些实施例中,网络 设备112a-112n连接到功率供应,比如功率条、无间断功率供应(例如,电池备用)、功率分布 单元等。在一些实施例中,功率供应连接到SDN(比如IP或者远程管理的功率)条并且由SDN 控制器108管理。例如,SDN控制器108可以命令功率条关断或者可以命令功率条关断具体端 口 /插座。
[0023]非关键设备112a-112n如以上描述的那样是例如在资源使用或者负荷调配方面对 于SDN的功能而言更不关键或者不关键的网络设备112a-112n。例如,服务于SDN上的负荷的 少于1%的交换机可以被视为非关键设备112a-112n,因为可以关停或者以别的方式禁用交 换机并且由交换机处置的负荷可以被重新路由到SDN的不同部分。在另一方面,关键设备 112a-l 12n是对于SDN的功能而言必需的网络设备112a-l 12n。例如,监视所有传入和传出网 络流量的防火墙可以被视为在对SDN无负面影响(比如其它网络设备112a-112n的不可访 问)时不可以被关停的关键设备112a-l 12n。
[0024] 在一个实施例中,设备模块202基于设备112a-l 12η的一个或者多个网络特性确定 非关键设备112a-112n。在某些实施例中,网络特性包括设备112a-112n的预定义的状态。例 如,网络管理员可以通过将交换机中存储的指示符(比如标志)设置成非关键状态来将SDN 中的交换机指明为非关键设备112a-112n。备选地,网络管理员可以将防火墙的指示符设置 成关键状态。设备模块202可以检查指示符以确定设备112a-112n是否已经被指明为关键或 者非关键设备112a-112n。
[0025] 在某些实施例中,网络特性包括用于网络设备112a_112n的带宽利用。在某些实施 例中,如果用于网络设备112a-112n的带宽利用在预定阈值带宽以下,则网络设备112a-112η可以被分类为非关键网络设备112a-112n。在又一实施例中,设备模块202可以如以下 更具体地描述的那样基于SDN的网络拓扑来确定非关键设备112a-112n。例如,如果设备模 块102确定交换机具有在预定水平以下的网络带宽并且在网络拓扑中有去往连接到交换机 的设备112a-112n的备选网络路径,则交换机可以被指明为非关键设备112a-112n。设备模 块202可以周期性地检查和更新哪些设备112a-112n是关键或者非关键设备112a-112n。
[0026] 在一个实施例中,网络特性包括与网络设备112a_112n关联的多个数据路径。如这 里所用,数据路径可以包括数据使用一个或者多个网络设备112a-112n从一个端点向另一 端点行进的路径。在一些实施例中,如果经过SDN的活跃数据路径的数目在预定阈值以下, 则与数据路径关联的网络设备112a-112n可以被视为关键网络设备112a-112n。例如,如果 SDN仅具有单个活跃数据路径,则沿着数据路径的每个网络设备112a-112n可以被视为关键 设备 112a-112n。
[0027] 在另一方面,如果数据路径的数目超过预定阈值(该预定阈值可以指示在SDN中有 非必需数据路径),则设备模块202可以将沿着冗余数据路径的一个或者多个网络设备 112a-112n指明为非关键设备112a-112n。由于SDN是动态地配置的网络环境,所以数据路径 和的数目和与数据路径关联的网络设备112a-112n可以随时间改变。因而,设备模块202可 以随时间更新对设备112a-112n的关键性指明,从而使得先前为非关键设备112a-112n的设 备设备112a-n可以变成关键设备112a-112n,以及反之亦然。
[0028]在一个实施例中,使用模块204接收用于SDN中的一个或者多个非关键设备112a-112η中的每个非关键设备的带宽利用。带宽利用如这里所用包括网络设备112a-112n在时 间段内消耗的网络流量的数量,例如,分组或者信息比特的数量。在某些实施例中,使用模 块204查询、轮询或者以别的方式检查非关键设备112a-112n的带宽利用。在又一实施例中, 非关键设备112a-112n以预定间隔或者在各种时间段向使用模块204发送它们的网络带宽。 [00 29]在一个实施例中,功率模块206关停SDN的至少一部分,该一部分包括具有在阈值 带宽以下的带宽利用的一个或者多个非关键设备112a-112n。在某些实施例中,功率模块 206与连接到具有低带宽利用的非关键设备112a-l 12η的功率供应(比如功率条)通信并且 向功率条发送命令以关停向非关键设备112a-l 12η的功率供应。例如,功率模块206可以向 功率条发送命令以关停向由IP或者MAC地址标识的并且位于功率条的端口四上的交换机的 功率。在这样的实施例中,不仅功率模块206发送命令以关停交换机,而且功率模块206也可 以发送命令以关停连接到交换机的也为非关键设备112a-112n的任何设备112a-112n。在又 一实施例中,功率模块206与具有低带宽利用的非关键设备112a-112n直接通信并且向非关 键设备112a-l 12n发送关停命令。
[0030]在一个实施例中,使用模块204检查一个或者多个非关键设备112a-112n的带宽利 用,并且如果非关键设备112a-112n具有低于带宽阈值的带宽利用则通知功率模块206。例 如,使用模块204可以周期性地接收SDN中的设备112a-112n的带宽利用,并且可以确定接收 的带宽利用是否在阈值带宽以下。如果是这样,则使用模块204可以向功率模块206通知哪 些非关键设备112a-112n具有在阈值以下的带宽,从而使得功率模块206可以关停非关键设 备112a-112n以节约SDN中的功率。
[0031]在一个实施例中,使用模块204监视SDN的全部总带宽利用。在这样的实施例中,如 果SDN的总带宽利用在用于SDN的总带宽阈值以下,则功率模块206可以关停网络的部分,这 些部分包括非关键设备112a-l 12n。例如,如果总带宽阈值被设置成用于SDN的60 %带宽利 用或者容量并且使用模块204确定SDN的带宽利用在30%,则功率模块206可以比如通过关 停一个或者多个交换机和/或路由器来关停SDN的部分,这些部分包括非关键设备112a-112η,这是因为SDN的这些部分可能对于有效地服务于SDN的带宽负荷不是必需的。
[0032]在一个实施例中,功率模块206响应于用于SDN的一个或者多个不同部分的带宽利 用在阈值带宽以上来重启SDN的至少一部分,该一部分包括非关键设备112a-112n。例如,如 果SDN上的负荷达到阈值带宽,则功率模块206可以发送命令以调动(bring up)或者重启 SDN的已经被关停的部分中的非关键设备112a-l 12n以平衡SDN上的负荷。例如,SDN上的负 荷可能需要附加路由器以通过向SDN的已经被关停的部分路由网络流量来服务于SDN上的 负荷。功率模块206可以向功率条和/或路由器发送命令以启动路由器和/或任何附加设备 112a-112n(比如服务器、交换机等)以有助于平衡SDN上的负荷。例如,如果功率模块206发 送命令以启动连接到交换机的服务器,则功率模块206也可以向功率条发送命令以启动连 接到服务器的交换机。
[0033]以这一方式,功率管理模块114能够有效地管理SDN中的功率消耗而未负面地影响 SDN的高可用性和负荷平衡。另外,功率管理模块114可以通过关停或者接通对于满足SDN上 的负荷的需要和需求而言必需的设备112a_l 12η来动态地调整功率消耗。
[0034]图3描绘了用于在联网计算环境中的按需功率管理的另一模块300的一个实施例。 在一个实施例中,模块300包括功率管理模块114的实施例。功率管理模块114可以包括可以 与以上参照图2描述的设备模块202、使用模块204和功率模块206基本上相似的设备模块 202、使用模块204和功率模块206中的一个或者多个模块。在又一实施例中,功率管理模块 114包括以下更具体地描述的网络模块302、流量模块304、迀移模块306、阈值模块308和数 据库模块310中的一个或者多个模块。
[0035]网络模块302在一个实施例中确定SDN的多个网络设备112a-112n的网络拓扑。如 这里所用,网络拓扑是如图4中所示在多个网络设备112a-112n之间的互连性的映射,从而 使得可以经过SDN映射网络流量的流动。例如,使用网络拓扑,SDN控制器108可以映射用于 数据到达特定端点的最佳路径,该路径可以穿越多个交换机、路由器、网桥、防火墙等。 [0036]在一个实施例中,网络模块203基于从SDN的每个网络设备112a-112n接收的网络 数据来确定网络拓扑。网络数据在某些实施例中包括用于网络设备112a-112n的标识数据、 用于可以连接到网络设备112a-112n的一个或者多个网络设备112a-112n的标识数据等。例 如,交换机可以发送它的MAC地址或者IP地址和连接到它的网络设备112a-112n的MAC/IP地 址。以这一方式,网络模块302可以基于从SDN的设备112a-112n中的每个设备接收的网络数 据来生成SDN的拓扑或者映射。
[0037]在某些实施例中,网络模块302基于从连接到SDN的每个设备112a-112n接收的网 络数据来更新网络拓扑。例如,网络模块302可以以预定间隔向每个设备112a-112n轮询或 者查询它的网络数据以确定设备112a-112n是否已经被添加到SDN、从SDN去除、关停、启动 等,这将修改SDN的拓扑。在某些实施例中,网络模块302响应于网络事件(比如如果设备 112a-l 12n已经被添加到SDN、从SDN去除、关停、启动等)来更新网络拓扑。例如,响应于交换 机被连接到SDN(或者如果先前关停则重启),则网络模块302可以向每个设备112a-l 12η查 询或者轮询它的网络数据。
[0038]在一个实施例中,网络模块302从网络设备112a-l 12η周期性地接收网络数据。例 如,网络设备112a-112n可以每天一次、每小时、每十五分钟、在事件之后等向网络模块302 发送网络数据。在一些实施例中,网络模块302响应于未从先前是网络拓扑的部分并且已经 从SDN断开的设备112a-l 12n接收网络数据来更新网络拓扑。例如,如果网络模块302先前检 测到和映射服务器作为网络拓扑的部分,则网络模块302可以响应于未在以后时间点从服 务器接收网络数据来从网络拓扑去除服务器。
[0039] 在一个实施例中,网络模块302使用链路层协议(比如链路层发现协议("LLDP")) 来确定网络拓扑。如这里所用,LLDP是由网络设备112a-112η用来共享它们的标识、能力和 与其它设备112a-112n(比如SDN控制器108)的设备112a-112n连接的链路层协议。在一些实 施例中,如果SDN或者SDN中的设备112a-l 12η不支持LLDP或者另一链路层协议,则网络模块 32可以基于设备112a-l 12η连接到的功率条/供应来确定设备112a-l 12η的标识。例如,网络 模块302可以通过检查功率条的端口来确定哪些设备112a-l 12η被上电,这些设备112a-n连 接到这些端口。网络模块302然后可以检查MAC地址表,该MAC地址表将设备112a-l 12η的MAC 地址映射到设备112a-l 12η连接到的在功率条上的端口以便确定设备112a-l 12η的标识。
[0040] 在一个实施例中,流量模块304基于网络拓扑来将去往SDN的正被关停的一部分的 网络流量重新路由到SDN的尚未关停的一个或者多个部分。例如,流量模块304可以响应于 功率模块206关停服务器Α来将去往在服务器Α上的虚拟机上执行的应用的网络流量重新路 由到应用的在服务器B上的不同虚拟机上执行的冗余版本。流量模块304可以检查网络拓扑 以确定适当路径和/或端点以重新路由流量。
[0041 ]在一个实施例中,迀移模块306基于网络拓扑来将一个或者多个虚拟机从SDN的正 被关停的部分移向SDN的未被关停的部分。例如,迀移模块306可以响应于功率模块206关停 服务器A来向服务器B迀移在服务器A上执行的虚拟机。迀移模块306可以检查网络拓扑以确 定用于正被迀移的一个或者多个虚拟机的适当目的地。
[0042] 在一个实施例中,阈值模块308设置用于SDN和/或SDN的每个设备112a-112n的阈 值带宽。如这里所用,用于整个SDN的阈值带宽可以描述SDN可以以它的当前配置有效地处 理的负荷或者容量。如果在时间点的带宽超过阈值,则阈值模块308可以通知SDN控制器108 和/或功率模块206通过启动在SDN的不同部分的设备112a-l 12n来调动附加资源。例如,如 果阈值模块308确定SDN的带宽利用超过用于SDN的预定带宽阈值,则阈值模块308可以通知 功率模块206调动SDN的不同部分中的一个或者多个交换机、路由器和/或服务器以处置SDN 上的附加负荷。
[0043]在又一实施例中,阈值模块308可以设置用于SDN中的每个设备112a-112n的个别 带宽阈值。例如,阈值模块308可以将用于交换机A的带宽阈值设置到X并且将用于交换机B 的带宽阈值设置到Y。因此,如果交换机A上的带宽利用超过X,则阈值模块308可以通知功率 模块206调动一个或者多个附加网络设备112a-l 12η以处置交换机A上的负荷中的一些负 荷。
[0044]在一个实施例中,阈值模块308设置用于SDN的不同部分的不同带宽阈值。例如,阈 值模块308可以向SDN的由通常地服务于SDN流量的50%的部分的交换机控制的部分设置比 SDN的由通常地服务于SDN流量的5 %的交换机控制的可以被指派带宽阈值90 %的不同部分 更低的带宽阈值,比如20 %。在这样的实施例中,通过向SDN的处置SDN上的负荷的更高比例 的部分指派更低带宽阈值保证SDN的该部分除非SDN的该部分上的带宽利用降至阈值带宽 以下否则将一般地保持活跃或者可靠。这可以防止SDN的部分上的设备112a-112n被循环地 关停和重启,这可能引起设备112a-l 12η上的非必需磨损和破裂。
[0045]在某些实施例中,阈值模块308基于用户输入来设置带宽阈值。例如,阈值模块308 可以基于从网络管理员接收的输入来接收或者确定阈值带宽。在另一实施例中,阈值模块 308基于SDN上的网络流量的历史来设置带宽阈值,并且可以在SDN的生命期间使带宽阈值 波动。例如,阈值模块308可以基于历史带宽数据来确定整天内的在SDN上的网络负荷处于 它的最高时的时段(比如在业务小时期间和在最低时的时段、比如在夜间),并且可以调整 整天的带宽阈值。因而,功率模块206响应于改变的带宽阈值可以关停设备112a-l 12n以节 约功率和/或调动设备112a-l 12n以处置SDN上的负荷。
[0046]阈值模块308可以在各种时间段内(比如在过去一年、过去六个月、过去一个月、过 去两周等)内跟踪用于SDN的带宽利用,以便预测用于SDN的最优阈值带宽。相似地,阈值模 块308可以在时间段内跟踪用于SDN的部分或者用于在SDN内的个别设备112a-112n的带宽 利用,以便预测用于SDN的部分或者在SDN内的设备的最优阈值带宽。基于SDN的部分和/或 设备112a-112n的历史带宽数据和/或当前利用,阈值模块308可以设置用于SDN的部分和/ 或设备112a-l 12n的带宽阈值。
[0047]阈值模块308可以使用不同历史数据来计算不同带宽阈值以确定用于SDN、SDN的 部分和/或在SDN内的设备112a-l 12n的最优阈值带宽。因而,随着SDN上的带宽利用波动,阈 值模块308可以计算用于SDN、SDN的部分和/或在SDN内的设备112a-l 12n的新阈值带宽。例 如,阈值模块208可以以预定间隔(比如每分钟、每小时等)更新阈值带宽。阈值模块308也可 以响应于事件(比如SDN上的带宽利用)超过预定水平或者响应于来自设备112a-112n、SDN 控制器108等的信号/通知来更新阈值带宽。
[0048]在一个实施例中,数据库模块310维护与SDN的多个设备112a-112n关联的一个或 者多个数据库。一个或者多个数据库存储与多个设备112a-112n中的每个设备112a-112n关 联的数据,比如设备标识符、设备类型、关键性状态、功率状态、阈值带宽、功率条标识符和 功率条端口。
[0049] 设备标识符可以包括用于设备112a_l 12η的唯一标识符,比如MAC地址、IP地址等。 设备类型可以包括指示符,该指示符标识用于网络设备112a-112n的类型,比如交换机、路 由器、网桥、防火墙、服务器等。关键性状态可以指示设备112a-112n是否为关键或者非关键 设备112a-112n。功率状态可以指示设备112a-112n是否被上电或者掉电。阈值带宽可以包 括用于设备112a-112n的阈值带宽,从而使得如果设备112a-112n的利用带宽降至阈值带宽 以下,则功率模块206可以关停设备112a-l 12n。功率条标识符可以包括用于设备112a-l 12n 连接到的在SDN中的功率条的标识符,比如MAC地址、IP地址等。功率条端口可以标识设备 112a-112n连接到的在功率条上的端口。
[0050]在一个实施例中,数据库模块310维护包括SDN中的所有设备112a-112n的列表的 实际库存数据库。在一些实施例中,数据库模块310响应于网络模块302确定SDN的设备 112a-112n的拓扑来填充实际库存数据库。实际库存数据库例如可以包括用于每个设备 112a-112n的标识符、用于每个设备112a-112n的类型、功率条标识符和功率条端口。数据库 也可以包括定时器,该定时器指示设备112a-112n向SDN控制器108发送它的网络数据的上 次时间。在定时器到期时,设备112a-112n可以被配置为向SDN控制器108 (例如,使用模块 204)发送它的网络数据,从而使得功率模块206可以做出关于设备112a-112n的关键性的确 定。
[0051 ]在一个实施例中,数据库模块310维护SDN的多个设备112a-112n的关键设备112a-112η的数据库。关键设备112a-112n的数据库包括SDN的不能被关停的一个或者多个设备 112a-l 12η的列表。隐含地,这意味着实际库存数据库中的未在关键设备112a-l 12η数据库 中包括的设备112a-112n是可以被关停以节约功率消耗的非关键设备112a-112n。关键设备 112a-112n数据库可以包含用于每个关键设备112a-112n的唯一标识符、指示关键设备 112a-l 12n向SDN控制器108发送它的网络数据的上次时间的定时器、关键设备112a-l 12n的 类型和"高水位标记",该标记指示阈值带宽,从而使得如果带宽利用超过阈值,则关键设备 112a-112n向SDN控制器108发送通知以分配更多资源(例如,功率模块206调动被关停的非 关键设备112a-112n的点)
[0052]在又一实施例中,数据库模块310维护SDN中的可以被关停的设备112a-112n(例 如,非关键设备112a-112n)的数据库。非关键设备数据库可以包括用于每个非关键设备 112a-112n的唯一标识符、指示自从非关键设备112a-112n被关停起已经经过的时间量的定 时器、非关键设备112a-112n的类型和"高水位标记",该标记指示用于非关键设备112a-112η的阈值带宽,从而使得如果带宽利用在阈值以下,则非关键设备112a-112n变成用于被 功率模块206关停的候选。
[0053] 在某些实施例中,功率模块206检查数据库以确定设备112a-112n中的哪些设备可 以被关停,并且响应于确定可以被关停的非关键设备112a-112n来接收与可以被关停的非 关键设备112a-112n关联的功率条标识符和功率条端口。功率模块206然后可以向标识的功 率条发送信号或者命令以关停向与接收的功率条端口关联的非关键设备112a-112n。
[0054] 数据库模块310在一些实施例中响应于设备112a-l 12η被添加到SDN和/或从SDN去 除(例如,响应于设备模块202确定已经向或者从SDN添加或者去除的设备112a-112n)来更 新实际库存数据库。相似地,数据库模块301响应于SDN配置的改变、设备112a-112n的状态 从关键设备112a-112n被改变成非关键设备112a-112n/从非关键设备112a-112n被改变成 关键设备112a-112n等来更新关键设备数据库。数据库模块310可以响应于非关键设备 112a-112n被关停或者上电等来更新非关键设备数据库。
[0055] 图4描绘了用于在联网计算环境中的按需功率管理的软件定义的网络环境400的 一个实施例。在某些环境中,SDN环境400可以包括数据中心中的联网环境的示例。在一个实 施例中,SDN环境400包括SDN控制器108(包括功率管理模块114)、数据网络414和基础结构 层110。基础结构层110可以包括交换机402/408、路由器404/406、防火墙412和一个或者多 个功率条416a-416cLSDN环境400也可以包括多个服务器410a-410f。在一些实施例中,SDN 控制器108配置经过基础结构层110的设备402-410f从/到数据网络414的数据分组的流动。 [0056] 在一个实施例中,设备模块202基于设备402-410f的网络特性来确定哪些设备 402-410f为非关键设备。例如,路由器404可以是非关键设备,因为它仅连接到单个服务器 410a,该单个服务器410a也连接到交换机402,从而使得如果路由器404将被关停,则服务器 410a仍然将经过交换机402可达。在另一示例中,服务器410f可以被网络管理员等指明为非 关键设备。某些设备可以被视为关键设备,从而使得如果它们将被关停(比如防火墙412), 则SDN的可用性将被负面地影响。
[0057]使用模块204在又一实施例中从SDN环境400中的每个设备402-410f接收带宽利用 以确定哪些设备402-410f被过度利用或者利用不足。响应于带宽利用,功率模块206可以向 功率条416a-416d发送命令以关停或者上电某些设备402-410f。
[0058]例如,如果作为非关键设备的路由器404的带宽降至带宽阈值以下,则功率模块 206可以向连接到路由器404的功率条416a发送关停信号。在某些实施例中,功率模块206查 询非关键设备的数据库以确定与正被关停的路由器404关联的功率条标识符和功率条端 口。即使路由器404被关停,连接到路由器404的服务器410a仍然经过交换机402可访问。以 这一方式,功率管理模块114可以通过关停非必需设备402-410f来节约SDN内的功率,而未 负面地影响SDN的资源的可用性。
[0059]在另一示例中,服务器410f的带宽利用可以降至带宽阈值以下,并且功率模块206 可以向连接到服务器410f的功率条416d发送关停命令。此外,功率模块206可以基于网络拓 扑来确定连接到服务器410f的交换机408也为非关键设备并且它也可以被关停,因为可以 经过路由器406访问连接到交换机408的其它服务器410e。因此,功率模块206可以向连接到 交换机408的功率条416d发送关停信号,从而使得也可以关停交换机。响应于设备402-410f 被关停,流量模块304可以将去往正被关停的设备402-410f的流量重新路由到SDN的未被关 停的不同部分。
[0060] 在又一实施例中,功率模块206可以确定一个或者多个活跃服务器410a-410b、 410d-410e的带宽利用已经超过预定带宽阈值。在这样的实施例中,功率模块206可以向连 接到被关停的服务器410c的功率条416b发送上电命令,从而使得服务器410c可以被上电以 处置 SDN上的负荷中的一些负荷。数据库模块310可以在它维护的各种数据库中更新已经在 SDN中被关停或者上电的设备402-410f的状态。
[0061] 图5是图示了用于在联网计算环境中的按需功率管理的方法500的一个实施例的 示意流程图。在一个实施例中,方法500开始并且确定502SDN的多个设备112a-112n中的一 个或者多个非关键设备112a-112n。在一个实施例中,设备模块202确定502SDN的多个设备 112a-l 12η中的一个或者多个非关键设备112a-l 12η。设备模块202可以基于设备112a-l 12η 的一个或者多个网络特性来确定502非关键设备112a-l 12η。
[0062] 在一个实施例中,方法500接收504用于一个或者多个非关键设备112a-112n中的 每个非关键设备的带宽利用。在一些实施例中,使用模块204接收504用于一个或者多个非 关键设备112a-112n中的每个非关键设备的带宽利用。带宽利用可以包括与非关键设备 112a-112n关联的网络流量的数量。
[0063] 在又一实施例中,方法500响应于用于一个或者多个非关键设备112a-112n的带宽 利用少于阈值带宽来关停506SDN的包括一个或者多个非关键设备112a-112n的至少一部 分。在一个实施例中,功率模块206关停506SDN的包括一个或者多个非关键设备112a-l 12η 的至少一部分,并且该方法500结束。
[0064]图6是图示了用于在联网计算环境中的按需功率管理的另一方法600的一个实施 例的示意流程图。在一个实施例中,方法600开始并且确定602SDN的多个设备112a-112n的 网络拓扑。在一个实施例中,网络模块302确定602SDN的多个设备112a-l 12η的网络拓扑。网 络拓扑描述在多个设备112a-l 12η之间的互连性。
[0065]在一个实施例中,方法600基于网络拓扑来在一个或者多个数据库中存储604与每 个设备112a-112n关联的网络数据。数据库模块310在一些实施例中在一个或者多个数据库 中存储604与每个设备112a-112n关联的网络数据。方法600在某些实施例中确定606多个设 备112a-112n中的一个或者多个非关键设备112a-112n。设备模块202可以确定606多个设备 112a-112n中的一个或者多个非关键设备112a-112n。
[0066]在又一实施例中,方法600接收608用于一个或者多个非关键设备112a-112n中的 每个非关键设备的带宽利用。在某些实施例中,使用模块204接收608用于一个或者多个非 关键设备112a-112n中的每个非关键设备的带宽利用。在一些实施例中,方法600确定610用 于非关键设备112a-l 12η中的每个非关键设备的阈值带宽。阈值模块308可以确定610用于 非关键设备112a-l 12η中的每个非关键设备的阈值带宽。
[0067]在一个实施例中,方法600响应于用于一个或者多个非关键设备112a_112n的带宽 利用少于确定的阈值带宽来关停612SDN的包括一个或者多个非关键设备112a-112n的至少 一部分。在一个实施例中,功率模块206关停612SDN的包括一个或者多个非关键设备112a-112η的至少一部分。
[0068]方法600在某些实施例中基于确定的网络拓扑将去往SDN的正被关停的该一部分 的网络流量重新路由614到SDN的未被关停的部分。在一个实施例中,流量模块304重新路由 614网络流量。在又一实施例中,方法600响应于网络的该一部分被关停来更新616-个或者 多个数据库。在某些实施例中,数据库模块310更新616-个或者多个数据库,并且方法600 结束。
[0069]可以在其它具体形式中实践各实施例。描述的实施例将在所有方面中仅被视为示 例而非限制。本发明的范围因此由所附权利要求而不是由前文描述所指示。落在权利要求 的含义和等效范围内的所有改变将被包含在它们的范围内。
【主权项】
1. 一种装置,包括: 设备模块,所述设备模块确定软件定义的网络的多个设备中的一个或者多个非关键设 备,其中非关键设备基于所述设备的一个或者多个网络特性被确定; 使用模块,所述使用模块接收用于所述一个或者多个非关键设备中的每个非关键设备 的带宽利用,所述带宽利用包括与非关键设备关联的网络流量的数量;以及 功率模块,所述功率模块响应于用于所述一个或者多个非关键设备的所述带宽利用少 于阈值带宽来关停所述软件定义的网络的包括所述一个或者多个非关键设备的至少一部 分。2. 根据权利要求1所述的装置,还包括网络模块,所述网络模块确定所述软件定义的网 络的所述多个设备的网络拓扑,所述网络拓扑描述在所述多个设备之间的互连性。3. 根据权利要求2所述的装置,其中所述网络拓扑基于从所述软件定义的网络的每个 设备接收的网络数据被确定,用于设备的所述网络数据包括标识所述设备的数据和标识所 述设备连接到的一个或者多个不同设备的数据中的一项或者多项。4. 根据权利要求3所述的装置,其中所述网络模炔基于以下各项中的一项来更新所述 网络拓扑:从连接到所述软件定义的网络的每个设备接收的网络数据,以及不从先前是所 述网络拓扑的部分并且已经从所述软件定义的网络断开连接的设备接收网络数据。5. 根据权利要求2所述的装置,还包括流量模块,所述流量模炔基于确定的所述网络拓 扑来将去往所述软件定义的网络的被关停的所述一部分的网络流量重新路由到所述软件 定义的网络的未被关停的部分。6. 根据权利要求2所述的装置,还包括迀移模块,所述迀移模炔基于确定的所述网络拓 扑来将一个或者多个虚拟机从所述软件定义的网络的被关停的所述一部分移向所述软件 定义的网络的未被关停的部分。7. 根据权利要求2所述的装置,其中所述网络拓扑使用链路层发现协议(LLDP)被确定。8. 根据权利要求1所述的装置,其中所述功率模块响应于用于所述网络的一个或者多 个不同部分的所述带宽利用在阈值带宽以上来重启所述软件定义的网络的包括所述一个 或者多个非关键设备的所述至少一部分。9. 根据权利要求1所述的装置,还包括阈值模块,所述阈值模块设置用于所述软件定义 的网络的一部分和所述软件定义的网络的所述多个设备中的每个设备中的一项或者多项 的阈值带宽。10. 根据权利要求1所述的装置,其中所述使用模块以预定间隔检查一个或者多个非关 键设备的带宽利用,并且向所述功率模块通知如下非关键设备:所述非关键设备具有少于 用于所述非关键设备的带宽阈值的带宽利用。11. 根据权利要求1所述的装置,还包括数据库模块,所述数据库模块维护与所述软件 定义的网络的所述多个设备关联的一个或者多个数据库,所述一个或者多个数据库存储与 所述多个设备中的每个设备关联的数据,所述数据包括以下各项中的一项或者多项: 设备标识符; 设备类型; 关键性状态; 功率状态; 阈值带宽; 功率条标识符;以及 功率条端口。12. 根据权利要求11所述的装置,其中所述功率模块在所述一个或者多个数据库中检 查用于所述软件定义的网络的被关停的所述一部分的每个非关键设备的功率条标识符和 功率条端口,并且向由功率条标识符标识的功率条发送信号以关停用于与功率条端口关联 的设备的功率。13. 根据权利要求1所述的装置,其中所述功率模块通过关停非关键设备和用于非关键 设备的功率供应之一来关停所述网络的所述至少一部分。14. 根据权利要求1所述的装置,其中定义非关键设备的所述一个或者多个网络特性包 括所述非关键设备的带宽利用和所述非关键设备的预定义的状态中的一项或者多项。15. -种方法,包括: 通过使用处理器来确定软件定义的网络的多个设备中的一个或者多个非关键设备,其 中非关键设备基于所述设备的一个或者多个网络特性被确定; 接收用于所述一个或者多个非关键设备中的每个非关键设备的带宽利用,所述带宽利 用包括与非关键设备关联的网络流量的数量;以及 响应于用于所述一个或者多个非关键设备的所述带宽利用少于阈值带宽来关停所述 软件定义的网络的包括所述一个或者多个非关键设备的至少一部分。16. 根据权利要求15所述的方法,还包括确定所述软件定义的网络的所述多个设备的 网络拓扑,所述网络拓扑描述在所述多个设备之间的互连性。17. 根据权利要求16所述的方法,其中所述网络拓扑基于从所述软件定义的网络的每 个设备接收的网络数据被确定,用于设备的所述网络数据包括标识所述设备的数据和标识 所述设备连接到的一个或者多个不同设备的数据中的一项或者多项。18. 根据权利要求15所述的方法,还包括响应于用于所述网络的一个或者多个不同部 分的所述带宽利用在阈值带宽以上来重启所述软件定义的网络的包括所述一个或者多个 非关键设备的所述至少一部分。19. 根据权利要求15所述的方法,还包括维护与所述软件定义的网络的所述多个设备 关联的一个或者多个数据库,所述一个或者多个数据库存储与所述多个设备中的每个设备 关联的数据,所述数据包括以下各项中的一项或者多项: 设备标识符; 设备类型; 关键性状态; 功率状态; 阈值带宽; 功率条标识符;以及 功率条端口。
【文档编号】H04L12/12GK106027270SQ201610179478
【公开日】2016年10月12日
【申请日】2016年3月25日
【发明人】A·卡珀, N·哈拉里卡皮, R·卡内利亚, V·舒克拉
【申请人】联想企业解决方案(新加坡)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1