基于资源可用性的网络路由的制作方法

文档序号:12492676阅读:226来源:国知局
基于资源可用性的网络路由的制作方法与工艺

背景

电子通信正在变得日益为每日交互所必需。不管位置在哪儿,用户可能需要连接到包括类似互联网的局域网(LAN)或广域网(WAN)的网络以便传输并接收数据、进行语音或视频会议等等。而且,通常不包括电子地进行通信的能力的设备(例如,电器、车辆、计量仪、安全及其他类型的监控系统等等)正在变得能够进行通信并且已经开始为网络流量做贡献。当例如要传输的信息量阻止(例如在核心业务时间期间、在紧急事件期间等等)创建现有路由技术未被设计成用于处理的高流量情况时,所造成的网络基础设施的负担可变成问题,从而造成用户的通信延迟和低服务质量。

附图简要说明

所要求保护的主题的各实施例的特征和优点将随着以下详细描述的进行并且当参照附图时变得明显,其中相似的参考号指示相似的部件,并且在附图中:

图1示出根据本公开的至少一个实施例的被配置成用于基于资源可用性的网络路由的示例系统;

图2示出根据本公开的至少一个实施例的示例控制器;

图3示出根据本公开的至少一个实施例的示例设备,网络交换元件可采用该示例设备进行操作;

图4示出根据本公开的至少一个实施例的包括控制器和网络交换元件的信息流指派的示例;

图5示出根据本公开的至少一个实施例的网络交换元件中的处理器的操作不符合控制信息的示例;

图6示出根据本公开的至少一个实施例的重新指派信息流从而使得网络交换元件中的处理器的操作符合控制信息的示例;

图7示出根据本公开的至少一个实施例的禁用网络交换元件中的失活处理器的示例;以及

图8示出根据本公开的至少一个实施例的用于基于资源可用性的网络路由的示例操作的流程图。

尽管将参考说明性实施例进行以下详细描述,其许多替代、修改和变化将对本领域普通技术人员明显。

详细描述

总体上,本公开描述了用于基于资源可用性的网络路由的系统和方法。如在此所参考的,网络可包括任何分组交换网络,诸如例如在IEEE 802.3标准中列出的以太网。实施例可进一步采用被设计成用于与现有网络设备中已经存在的特征进行交互从而控制分组交换网络中的信息路由的基于软件的交换系统。如在2011年2月28日发布的OpenFlow交换机规范实现版本1.1.0(有线协议0x02)中列出的OpenFlow是开发用于在类似以太网的分组交换网络上操作的基于软件的交换系统的示例。OpenFlow可使用不是制造商特定(例如,内部流表)以便以基本上正常操作速度提供受控交换的网络设备共有的特征。具体而言,OpenFlow提供了用于控制各商业以太网交换机或类似的网络设备的信息路由行为的安全接口,而不管设备制造商是谁。以下公开中对OpenFlow的任何参考仅是为了在此解释的目的,并且不旨在将各实施例限制为仅使用OpenFlow的实现方式。相反,可通过被配置成用于在分组交换网络中提供流控制的任何基于软件和/或硬件的解决方案来实现各实施例。例如,如在此所公开的,各实施例将可容易地应用于具有高数据吞吐量的任何互连通信系统。外围组件快速互连(PCIe)是板级互连通信系统的示例,其中,互连组件可高速交换数据,并且符合本公开的流控制的益处将是明显的。而且,交通灯网络也可采用所公开的实施例,其中,每个交通灯可包括向中央控制器报告车辆数量、车流量密度等等的传感器,并且控制器将作出关于交通灯如何用信号控制交通停止并进行的决定。

在一个实施例中,控制器可被配置成用于与网络交换元件(NSE)交互以便控制网络中的路由。控制器可以是例如被配置成用于通过至少向NSE提供控制信息来控制NSE的操作的计算设备。NSE可以是例如被配置成用于控制网络设备的操作的基于软件的交换机。NSE可被配置成用于与网络设备的现有特征(诸如例如流表)交互以便控制网络设备中的处理器如何处理也在网络设备中的端口之间的信息流。在一个实施例中,NSE可被配置成用于向控制器提供状态信息。控制器然后可被配置成用于使用状态信息来确定控制信息并且进而将控制信息提供给NSE。NSE然后可被配置成用于采用控制信息来指派处理器处理端口之间的信息流。

在一个实施例中,状态信息可包括例如NSE中的处理器的能力信息和/或使用信息。状态信息可由控制器用来确定包括例如NSE中的处理器的最小和/或最大使用水平的控制信息。控制信息可由NSE用来指派处理器处理信息流。例如,NSE中的处理器中的至少一个可被配置成用于控制余下的处理器,并且在此方面,可监控余下的处理器以便确保符合控制信息。如果确定处理器不符合控制信息(例如,处理器的使用率低于最小水平或高于最大水平),信息流可被重新指派给其他处理器,以便使不符合的处理器符合。

在相同或不同实施例中,可在NSE中实现进一步的控制,其中,如果它们当前未在处理信息流,则处理器可被去激活(例如,为了节省电力)。例如,在NSE中的处理器被确定正在低于控制信息中列出的最小使用水平下操作的情况下,不符合的处理器的信息流可被重新指派给具有可用处理容量的其他处理器,并且任何失活处理器可被去激活。进一步地,如果确定NSE中的任何处理器正在高于控制信息中列出的最大使用水平下操作并且没有其他处理器具有接受信息流的可用处理容量,则NSE可向控制器发送提醒,该提醒通知控制器处理器不符合并且没有处理容量可用于重新分配信息流。控制器然后可被配置成用于通过例如将信息流指引离开发送提醒的NSE(例如,指引到具有可用处理容量的其他NSE,基于其对其正在控制的NSE的拓扑的了解)来解决“超载”状况。

图1示出根据本公开的至少一个实施例的被配置成用于基于资源可用性的网络路由的示例系统100。系统100可包括控制器102和至少一个NSE 104(例如,控制器102可控制多于一个NSE 104)。控制器102可以是能够进行有线或无线通信的任何计算设备,包括例如移动通信设备(诸如基于安卓操作系统(OS)、黑莓OS、掌上OS、塞班OS等等的智能手机)、移动计算设备(诸如平板计算机,如GalaxyKindle等等,包括英特尔公司制造的低功率芯片组的超极本计算机上网本计算机、笔记本计算机、膝上计算机)、固定计算设备(诸如桌上计算机、网络服务器等等)。在一个实施例中,控制器102还可以是一组分布式控制器102的一部分。NSE 104可以是被配置成用于与结合以上控制器102提及的任何示例设备交互的基于软件的交换机,但是可进一步能够使用专用于支持分组交换网络上的通信的设备(诸如网络交换机、路由器、网关或其他类似的网络特定的设备)。

NSE 104可包括端口106、处理器108、端口110和管理端口112。在正在采用Openflow的实例中,可利用OF-CONFIG协议将物理设备(例如,端口106、处理器108和端口110)中的Openflow相关资源与基于软件的交换机(诸如例如NSE 104)相关联。OFCONFIG未确定将如何在设备中指派资源。OF-CONFIG仅仅关联设备资源并且允许基于软件的交换机(例如,NSE 104)控制将如何采用资源。端口106和端口110可以是NSE 104中的应用特定或进程特定的可寻址位置,信息流118(例如,至少一个数字数据传输单元,诸如数据包、帧等等)可从该可寻址位置发起或者,可替代地,信息流118可被递送到该可寻址位置。处理器108可包括被配置成用于处理信息流118的至少一个处理器(例如,处理单元、处理核等等)。处理信息流118可包括将信息流118从端口106传送到110、以及相反地从端口110传送到106。管理端口112可被配置成用于允许控制器102与NSE 104通信。管理端口112可包括安全通道(诸如在正在采用OpenFlow的情况下),控制器102和NSE 104可通过该安全通道通信。在一个实施例中,NSE 104可通过管理端口112向控制器传输状态信息112,并且可进一步通过管理端口112从控制器102接收控制信息。状态信息114可包括但不限于处理器108的能力信息和/或使用信息。例如,能力信息可包括但不限于处理器108的总数、处理器108的类型(例如,制造商、型号、类别、技术等等)、处理器108的速度、处理器108的最大吞吐量(例如带宽)等等。使用信息可包括但不限于与处理器108和/或端口106/110相对应的当前统计资料,诸如例如处理器108的使用百分比、每处理器108和/或端口106/110每秒帧数(fps)、每处理器108或端口106/110掉落帧数等等。控制信息116可包括但不限于处理器108的许可操作状况,诸如例如处理器108的许可使用水平百分比,包括最大使用水平和/或最小使用水平、处理器108的最大/最小fps等等。最小许可使用水平可提示使用中的处理器108的信息流重新指派和去激活,这可降低能耗并允许去激活的处理器108被释放以用于其他任务(例如,在NSE 104所控制的设备不仅仅是专用网络设备的情况下)。处理器108的最大许可使用水平可导致更好的每处理器性能以及因此改善的总体性能和服务质量。

图2示出根据本公开的至少一个实施例的示例控制器102'。总体上,控制器102'可包括能够实现图1中示出的功能的电路。系统模块200可被配置成用于执行在控制器102'的正常操作过程中可发生的各种功能。例如,处理模块202可包括位于分离的组件中的一个或多个处理器,或者可替代地,可包括位于单个组件中(例如,在片上系统(SOC)配置中)的一个或多个处理核。示例处理器可包括但不限于可从英特尔公司获得的各种基于X86的微处理器,包括奔腾、至强、安腾、赛扬、凌动、Core i系列产品族中的那些。处理模块202可被配置成用于在控制器102'中执行指令。指令可包括程序代码,该程序代码被配置成用于致使处理模块202执行与读取数据、写入数据、处理数据、格式化数据、转换数据、变换数据等等相关的活动。信息(例如,指令、数据等等)可被存储在存储器模块204中。存储器模块204可包括固定或可移除格式的随机存取存储器(RAM)或只读存储器(ROM)。RAM可包括被配置成用于在控制器102'的操作期间保持信息的存储器,诸如例如静态RAM(SRAM)或动态RAM(DRAM)。ROM可包括被配置成用于当设备102'激活时提供指令的存储器(诸如bios存储器)、可编程存储器(诸如电子可编程ROM、(EPROMS)、闪存等等)。其他固定或可移除存储器可包括:磁存储器,诸如软盘、硬盘驱动器等等;电子存储器,诸如固态闪存(例如,eMMC等等)、可移除存储器卡或棒(例如,uSD、USB等等);光学存储器,诸如基于致密盘的ROM(CD-ROM)等等。电源模块206可包括内部(例如,电池)和外部(例如,壁式插座)电源以及被配置成用于为控制器102'提供运行所需的功率的模块。通信接口模块208可被配置成用于处理通信模块212的分组路由和各种控制功能,其可包括用于进行有线和/或无线通信的各种资源。有线通信可包括介质,诸如例如通用串行总线(USB)、以太网等等。无线通信可包括例如接近无线介质(例如射频(RF)、红外(IR)等等)、短距离无线介质(例如蓝牙、无线局域网(WLAN)等等)以及长距离无线介质(例如蜂窝、卫星等等)。例如,通信接口模块208可被配置成用于防止通信模块212中活跃的无线通信干扰彼此。当执行该功能时,通信接口模块208可基于未决通信的相对优先级来调度通信模块212的活动。用户接口模块210可包括被配置成用于允许用户与控制器102'交互的电路,诸如例如各种输入机制(例如话筒、开关、按钮、旋钮、键盘、扬声器、触敏表面、一个或多个被配置成用于捕获图像和/或感测接近、距离、运动、姿势等等的传感器)和输出机制(例如扬声器、显示器、指示器、用于振动、运动等等的机电组件)。

在一个实施例中,NSE控制模块214可被配置成用于至少与通信模块212交互。交互可包括NSE控制模块214被配置成用于通过通信模块212接收状态信息、基于状态信息确定控制信息、以及致使控制模块212向NSE 104传输控制信息。NSE控制模块214可按需要(例如响应于从NSE 104接收到状态信息)、在固定时间帧(例如,NSE控制模块214可致使通信模块212周期性地向NSE 104发送对状态信息的请求)、响应于所感测到的系统100的变化等等来执行这些动作。

图3示出根据本公开的至少一个实施例的示例设备300,NSE 104可采用该示例设备进行操作。具体而言,当OpenFlow或另一个类似的基于软件的交换系统用于实现符合所公开的实施例的系统时,NSE 104可包括被配置成用于控制启用通信的设备(例如设备300)的行为的基于软件的交换机。例如,基于软件的交换机可访问设备300的现有特征(例如基于以太网的设备中的流表)以便控制设备300内的处理器如何处理端口之间的信息流。

如图3所示,设备300可包括类似于结合图2中的控制器102'讨论的那些模块的模块。然而,可存在的至少两个区别包括用户接口模块210是可选的以及NSE模块302替换NSE控制模块214。如果例如设备300不是有充分资格的计算设备(如以上结合图1所讨论的)而是专用联网设备(诸如交换机、路由器、网关等等),则用户接口模块210可以是可选的(或初步的)。NSE模块302可被配置成用于至少与设备300中的处理模块202和通信模块212交互。例如,NSE模块302可致使通信模块212向控制器102传输状态信息并且可通过通信模块212从控制器102接收控制信息。NSE模块302可与处理模块302交互以便控制处理模块202中的处理器(例如对应于NSE 104中的处理器108)如何处理设备300中的端口(例如对应于NSE 104中的端口106和110)之间的信息流(例如对应于NSE 104中的信息流)。例如,设备300可以是计算机设备(例如桌上计算机)并且处理模块202可包括包含多个处理核(例如四个核)的处理器集成电路(IC)。NSE模块302然后可致使处理核之一运行致使处理核控制其他三个核如何处理设备300中的信息流的NSE操作系统(OS)软件。

图4示出根据本公开的至少一个实施例的包括控制器102和NSE 104'的信息流指派的示例。在系统100'中,控制器102可通过至少向NSE 104'提供控制信息来控制NSE 104'的操作。NSE 104'可至少包括端口106A、106B、106C和106D(统称为端口106A-D)、处理器108A、108B、108C和108D(统称为处理器108A-D)以及端口110A、110B、110C和110D(统称为端口110A-D)以及管理端口112。控制器102可通过管理端口112与NSE 104'通信。处理器108A可加载NSE OS,该NSE OS将处理器108A配置成用于例如从处理器108B-D接收状态信息114、通过管理端口112向控制器102提供状态信息114、通过管理端口112从控制器102接收控制信息116以及将处理器108B-D指派为基于控制信息116处理NSE104'中的端口106A-D和端口110A-D之间的信息流118。例如,处理器108A可向控制器102提供状态信息114,状态信息114指示NSE 104'具有三个可用处理器(例如处理器108B-D)、处理器类型(例如基于x86的微处理器中的处理核)、可用处理器的当前处理负载等等。控制器可使用状态信息114确定控制信息116。为了在此进行解释的目的,控制信息116可指示例如处理器108B-D的使用水平百分比限于最小5%和最大80%。控制器102然后可向处理器108A提供控制信息116,当向处理器108B-D指派信息流118时,该处理器可使用控制信息116。

在图4中示出的示例中,处理器108A指派处理器108B处理端口106A和110C之间的第一信息流118A。处理第一信息流118A致使处理器108B具有45%的使用水平,这符合控制信息116中的示例最小和最大使用水平百分比。处理器108C和108D是失活的(例如使用水平为0%)并且因此已经被去激活,如这些处理器被灰色显示所指示的。结果是,所有活跃处理器(例如,图4中的处理器108B)符合,并且处理器108A不需要重新指派信息流118。

图5继续通过在NSE 104'的端口106B和110B之间引入第二信息流118B在图4中示出的示例上建立。第二信息流118B可至少初始地被指派给处理器108B(例如因为其正在活跃地处理第一信息流118A)。处理器108A然后可得知(例如基于从处理器108B接收的状态信息114)处理器108B的操作不符合控制信息116中列出的80%的最大使用水平,因为处理器108B的使用水平百分比已经上升到85%。为了使得处理器108B的操作符合控制信息116,在图6中,处理器108A可激活处理器108C并且然后可向处理器108C指派第二信息流118B。重新指派的结果是,处理器108B的使用水平百分比可降落回45%并且处理器108C的使用水平百分比可上升到45%,由此允许处理器108B和108C二者的操作符合控制信息116。

在图7中,第一信息流118A中止(例如由于完成、截止等等)。在一个实施例中,如果处理器108B仍在活跃地处理其他信息流118,但是处理器108B的使用水平百分比低于控制信息116中列出的最小值(例如5%),则处理器108A可将其他信息流118重新指派到具有容量的另一个活跃的处理器(诸如例如处理器108C)。一旦处理器108B变得全部失活,处理器108A可去激活处理器108B,以便例如节约能量、释放处理器108A从而执行其他任务等等。尽管未在图4至图7中示出,以下情况可发生:一个或多个处理器108B-D的操作不符合控制信息116,但是处理器108B-D中没有一个具有可用于抵消处理负载的任何可用处理容量。在一个实施例中,这种情况可致使处理器提醒控制器102(例如通过管理端口112)。控制器102然后可尝试将信息流118指引离开NSE 104'(例如指引到另一个NSE),以便降低NSE 104'的处理负载,这可允许处理器108A重新指派一个或多个信息流118并且使处理器108B-D的操作符合。

图8示出根据本公开的至少一个实施例的用于基于资源可用性的网络路由的示例操作的流程图。具体而言,操作802、804和816可在控制器中发生,而操作800、806、808、810、812和814可在NSE中发生。在操作800中,NSE可向控制器提供状态信息。在一个实施例中,状态信息可包括NSE中的处理器的能力信息和/或使用信息中的至少一项。在从NSE接收到状态信息之后,控制器可在操作802中确定控制信息。控制信息包括基于状态信息的处理器的最小使用水平或最大使用水平中的至少一项。然后在操作804中可将控制信息提供给NSE。

然后可在操作806中确定NSE中的处理器的操作是否符合控制信息。如果在操作806中确定处理器的操作符合控制信息,则在操作808中进一步确定是否有任何现有通信流已经由于例如通信流完成、中断等等而已经中止。如果在操作808中确定任何现有通信流已经中止,则在操作810中其操作被确定为在最小允许使用水平以下的处理器的任何剩余流可被指派到其他处理器,并且失活的任何处理器可被去激活。按照图8中示出的虚线箭头,如果在操作808中确定没有现有流已被中止,或者在操作810中发生接下来的任何重新指派或去激活,则可选地返回操作800,在操作800中,NSE可再次向控制器提供状态信息。如果例如系统被配置成用于继续向控制器提供经更新的状态信息,则返回操作800可发生。

如果在操作806中确定任何处理器的操作不符合控制信息(例如,任何处理器的使用水平百分比高于控制信息中列出的最大使用水平),则在操作812中可进一步确定任何处理器是否具有可用于例如从不符合的处理器重新指派信息流的处理容量。如果在操作812中确定处理容量可用,则在操作814中可指派一个或多个信息流以便使不符合的处理器的操作符合。例如,一个或多个信息流可被从不符合的处理器重新指派到具有可用处理容量的处理器。如果另一方面在操作812中确定没有处理器具有可用处理容量,则可从NSE向控制器传输提醒。在一个实施例中,在提醒被发送到控制器之后,因为NSE中的情况可改变(例如现有信息流可完成),NSE可继续尝试信息流重新指派,从而造成NSE中的可用处理容量可用于信息流重新指派。在操作816中,控制器然后可尝试解决超载状况。例如,控制器可将一个或多个信息流指引离开NSE(例如指引到另一个NSE),以便降低超载NSE的处理负担。

在一个实施例中,系统可不被配置成用于继续向控制器提供经更新的状态信息(例如,以便返回如图8中示出的操作800)。在这种配置中,操作808或810之后可改为例如返回操作806,在操作806中,可继续监控处理器,因为可在NSE中出现要求信息流重新指派的其他状况(例如诸如在NSE中运行的开始侵略性地消耗资源从而将至少一个处理器推出符合的软件线程)。结果是,NSE可继续将信息流从在最大使用水平以上运行的处理器重新指派到具有可用处理容量的处理器(例如步骤806、812和814),并且可将信息流从在最小使用水平以下操作的处理器重新指派到具有可用处理容量的处理器,可能伴随有去激活任何失活处理器(例如步骤808和810),直到例如重新指派不可能的情况出现(例如由于没有可用处理容量可用,诸如以上所述)。在相同或不同实施例中,无论何时其改变配置(例如无论何时信息流被重新指派和/或中止、无论何时处理器被激活或去激活等等),NSE也可通知控制器。

根据本公开的进一步的实施例可例如改变在控制器和NSE之间分配控制的方式。虽然控制器可被配置成用于向NSE至少提供控制信息,由此允许NSE控制如何将信息流指派给其处理器,在一个实施例中,控制器还可被配置成用于策划如何将信息流指派给NSE中的处理器的某些或全部控制。例如,控制器可从NSE接收状态信息,如上所述,但是然后可使用状态信息生成控制NSE如何指派信息流的指令。系统还可在以下模式中操作:在超越以上所述的示例之外的某些情况下,NSE向控制器提供提醒(例如,当平均处理器使用低于或高于某个水平、当某个数量的信息流在NSE中活跃等等)并且控制器然后可有机会介入NSE的操作,可能结合也在拓扑中由控制器控制的其他NSE,以便平衡系统范围的流量。

尽管图8示出了根据实施例的各操作,将要理解的是在图8中描绘的所有操作对于其他实施例而言不是全部必需的。实际上,在此充分考虑了在本公开的其他实施例中,在图8中描绘的操作和/或在此描述的其他操作可以用未在任何附图中明确示出的方式结合,但是仍充分地与本公开保持一致。因此,涉及未在一个附图中准确示出的特征和/或操作的权利要求被认为在本公开的范围和内容内。

如在此在任何实施例中所使用的,术语“模块”可指代被配置成用于执行任何前述操作的软件、固件和/或电路。软件可被实现为记录在非瞬态计算机可读存储介质上的软件包、代码、指令、指令集和/或数据。固件可被实现为硬编码(例如,非易失性的)在存储器设备中的代码、指令或指令集和/或数据。如在此在任何实施例中所使用的“电路”可单独地或在任何组合中包括例如存储由可编程电路执行的指令的硬连线电路、可编程电路(诸如包括一个或多个单独的指令处理核的计算机处理器)、状态机电路、和/或固件。这些模块可一起或单独地被实现为形成更大的系统的一部分的电路,例如,集成电路(IC)、片上系统(SoC)、台式计算机、膝上型计算机、平板计算机、服务器、智能电话等等。

可在包括一个或多个存储介质的系统中实现在此所描述的任何操作,该一个或多个存储介质在其上单独地或结合地存储当被一个或多个处理器执行时执行该方法的指令。在此,处理器可包括例如服务器CPU、移动设备CPU、和/或其他可编程电路。因此,旨在根据在此所描述的操作可跨多个物理设备分布,诸如在多于一个不同物理位置的处理结构。存储介质可包括任何类型的有形介质,例如任何类型的盘,包括硬盘、软盘、光盘、致密盘只读存储(CD-ROM)、致密盘可重写(CD-RW)、以及磁光盘、半导体器件,诸如只读存储器(ROM)、随机存取存储器(RAM),诸如动态和静态RAM、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存、固态盘(SSD)、嵌入式多媒体卡(eMMC)、安全数字输入/输出(SDIO)卡、磁卡或光卡、或任何其他类型的适合用于存储电子指令的介质。其他实施例可被实现为由可编程控制设备执行的软件模块。

因此,本公开提供了用于基于资源可用性的网络路由的系统和方法。网络交换元件(NSE)可被配置成用于向控制器提供状态信息。该控制器可被配置成用于使用该状态信息来确定可被提供给NSE的控制信息。NSE可进一步被配置成用于指派NSE中的处理器基于控制信息处理信息流。例如,控制信息可包含处理器的最小和最大使用水平百分比。信息流可被从其操作被确定与最小和最大水平不符的处理器重新指派给具有可用处理容量的处理器。而且,当NSE确定不存在将被重新指派给其操作被确定不符的处理器的流程的可用处理容量时,失活处理器可被去激活并且提醒可被发送到该控制器。

以下示例涉及进一步的实施例。在另一个示例实施例中,提供了一种系统。该系统包括:网络交换元件,至少包括端口和处理器,该网络交换元件被配置成用于指派该处理器中的至少一个基于控制信息处理该端口之间的信息流;以及控制器,被配置成用于通过向该网络交换元件提供该控制信息来控制该网络交换元件。

可进一步配置上述示例系统,其中,该网络交换元件包括基于软件的交换机,该交换机被配置成用于控制包括该端口和处理器的设备的操作。在本配置中,可进一步配置上述示例系统,其中,该基于软件的交换机被配置成用于与该设备内的流表交互,该流表定义将如何基于电子与电气工程师协会(IEEE)802.3标准在以太网中路由信息。

可进一步配置上述示例系统,其中,该控制信息包括该处理器的最小使用水平或最大使用水平中的至少一项。

可进一步配置上述示例系统,其中,该处理器包括被配置成用于基于该控制信息指派该信息流的该处理的至少一个处理器。在本配置中,可进一步配置上述示例系统,其中,该至少一个处理器被进一步配置成用于向该控制器提供有关该处理器的状态的信息。在本配置中,可进一步配置上述示例系统,其中,该控制器被配置成用于基于从该至少一个控制器接收的该状态信息确定该控制信息。

在另一个示例实施例中,展现了一种控制器。该控制器包括:通信模块,被配置成用于在网络上通信;以及网络交换元件控制模块,被配置成用于通过该通信模块从网络交换元件接收状态信息、基于该状态信息确定控制信息、以及通过该通信模块向该网络交换元件提供该控制信息。

可进一步配置上述示例控制器,其中,该状态信息包括该网络交换元件中的处理器的能力信息或使用信息中的至少一项。在本配置中,可进一步配置上述示例控制器,其中,该控制信息包括该处理器的最小使用水平或最大使用水平中的至少一项。在本配置中,可进一步配置上述示例控制器,其中,该网络交换元件被进一步配置成用于通过该通信模块从该网络交换元件接收提醒,该提醒指示该处理器中的至少一个正在超过该最大使用水平,以及基于该提醒将信息流重定向远离该网络交换元件。

在另一个示例实施例中,展现了一种设备。该设备可包括:通信模块,被配置成用于在网络上通信;端口,被配置成用于传输和接收信息流;处理器,被配置成用于处理该端口之间的该信息流;以及网络交换元件模块,被配置成用于通过该通信模块向控制器提供状态信息、通过该通信模块从该控制器接收控制信息、以及指派该处理器中的至少一个基于该控制信息处理该端口之间的该信息流。

可进一步配置上述示例设备,其中,该网络交换元件模块被配置成用于与该设备内的流表交互,该流表定义将如何基于电子与电气工程师协会(IEEE)802.3标准在以太网中路由信息。

可进一步配置上述示例设备,其中,该状态信息包括该网络交换元件中的处理器的能力信息或使用信息中的至少一项。

可进一步配置上述示例设备,其中,该控制信息包括基于该状态信息的该处理器的最小使用水平或最大使用水平中的至少一项。

在另一个示例实施例中,展现了一种方法。该方法可包括:从网络交换实体接收状态信息;基于该状态信息确定控制信息;以及向该网络交换实体传输该控制信息。

可进一步配置上述示例方法,其中,该状态信息包括该网络交换元件中的处理器的能力信息或使用信息中的至少一项。

可进一步配置上述示例方法,其中,确定控制信息包括确定该处理器的最小使用水平或最大使用水平中的至少一项。

在本配置中,上述示例方法可进一步包括:从该网络交换元件接收提醒,该提醒为该网络交换元件中的该处理器中的至少一个正在超过该最大使用水平;以及基于该提醒将信息流重定向远离该交换元件。

在另一个示例实施例中,展现了一种方法。该方法可包括:向控制器提供状态信息;从该控制器接收控制信息;确定处理器是否正在根据该控制信息操作;以及控制端口之间的信息流的处理,从而使得该处理器的该操作符合该控制信息。

可进一步配置上述示例方法,其中,该控制信息包括基于该状态信息的该处理器的最小使用水平或最大使用水平中的至少一项。

可进一步配置上述示例方法,其中,控制信息流的处理包括确定任何处理器是否具有可用处理容量、以及将信息流从被确定为未根据该控制信息操作的处理器重新分配到被确定为具有可用处理容量的处理器。在本配置中,可进一步配置上述示例方法,其中,控制信息流的处理包括当确定处理器未根据该控制信息操作并且没有处理器具有可用处理容量时提醒该控制器。在本配置中,可进一步配置上述示例方法,其中,控制信息流的处理包括确定是否有任何信息流已经被中止、以及基于该控制信息在该处理器之间重新分配信息流。在本配置中,上述示例方法可被配置成用于进一步包括去激活由于信息流的该重新分配而未在处理信息流的任何处理器。

在另一个示例实施例中,展现了一种至少包括控制器和网络交换实体的系统,该系统被安排成用于执行任何上述示例方法中的方法。

在另一个示例实施例中,展现了一种被安排成用于执行任何上述示例方法的芯片组。

在另一个示例实施例,提供了至少一种机器可读介质,包括多个指令,响应于在计算设备上被执行,该指令致使该计算设备执行任何上述示例方法。

在另一个示例实施例中,展现了一种控制器装置,该控制器装置被安排成用于执行有关控制器装置的任何上述方法。

在另一个示例实施例中,展现了一种网络交换元件,该网络交换元件被安排成用于执行有关网络交换元件的任何上述方法。

已经在此使用的术语和表达被用作描述而非限制的术语,并且不旨在使用这种术语和表达时排除所展示和描述的特征的任何等效方案(或其部分),并且认识到在权利要求书的范围内各种修改是可能的。因此,权利要求书旨在覆盖所有这种等效方案。

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