链路唤醒的制作方法

文档序号:14689634发布日期:2018-06-15 16:07阅读:179来源:国知局

本申请涉及网络装置,更具体地涉及诸如网络交换机之类的网络连通性设备。



背景技术:

组成骨干网的一部分的高速数据网络已经成为不可缺少的全球范围的数据连通性。在数据网络中,诸如交换设备之类的网络装置和/或设备将数据分组从源端口指向目的地端口,最终帮助将数据分组从源通信设备导向目的地通信设备。在这种应用中,所感兴趣的是网络设备的能量消耗,特别是被降低的能源消耗。



技术实现要素:

根据本发明的一个方面,提供了一种方法,该方法涉及在处于待机模式的网络交换机处监控网络交换机的信号端子的损失。方法还可涉及识别信号损失端子的不活跃状态,并且作为响应,发起唤醒过程以将网络交换机置于活跃模式中。

根据本发明的另一方面,提供了一种设备,该设备可以包括通信接口电路,该通信接口电路被配置为将数据发送至上游网络设备并从上游网络设备接收数据。设备还可以包括指示与上游网络设备的通信状态的端子,其中端子的第一状态指示来自上游网络设备的信号损失,并且端子的第二状态指示正在从上游网络设备接收信号。设备还可以包括功率管理处理器,该功率管理处理器可以监控端子,并且响应于端子状态的改变,将通信接口置于睡眠模式或者活跃模式。

根据本发明的又一方面,还提供了一种计算机可读介质,该计算机可读介质可以包含可由处理器执行的指令。指令可以包括用来将网络交换机配置为睡眠状态的指令,其中,在睡眠状态中,网络交换机的中央处理单元(CPU)和通信接口是不可操作的。指令还可以包括用来检测网络交换机和上游网络设备之间的通信链路上的信号缺失的指令。介质还可以包括用来响应于对通信链路上的信号恢复的识别而将网络交换机配置为活跃状态的指令,其中,在活跃状态下,网络交换机的CPU和通信接口是可操作的。

附图说明

通过参考下面的附图和详细描述可以更好地理解实施例。附图中的组件不一定按照比例绘制。另外,在附图中,相似的参考标号在不同视图中表示相应的部分。

图1示出示例连通性设备;

图2示出示例交换机内的电路的示例;

图3示出在示例网络中的示例上游设备;

图4示出连通性设备的示例功率管理操作;

图5示出连通性设备的示例功率管理操作。

具体实施方式

通过诸如局域网(LAN)或广域网(WAN)之类的网络进行的数据通信可能涉及源通信设备向目的地通信设备发送数据。源通信设备和/或目的地通信设备可以是台式计算机、膝上型计算机、平板电脑、智能电话、蜂窝电话、服务器计算机、传真机、打印机、数码相机、个人数字助理(PDA)、会议客户端、或任何其他通信使能的设备。源通信设备和目的地通信设备可以被分别称作源设备和目的地设备。

虽然源设备和目的地设备可以分别负责数据的发送和接收,但是网络还可能涉及负责将数据从源设备中继至目的地设备的一个或多个连通性设备或网络设备。例如,连通性设备可以是除了若干其他之外的路由器、交换机和/或集线器。源设备和/或目的地设备可以传输采用一个或多个通信分组的形式的数据。数据可以包括在源设备和目的地设备之间传输的音频数据、视频数据、文件传输数据、电子商务数据、web页面或网站数据、即时消息、电子邮件、和/或任何其他数据。通信分组可以使用格式或协议,诸如用户数据报协议(UDP)、传输控制协议(TCP)、互联网控制消息协议(ICMP)或任何其他协议。本公开中所述的技术方案可以被应用于涉及通过网络进行数据通信的任何连通性设备;然而,出于说明技术特征的目的,网络交换机被用作示例的连通性设备。

图1示出示例网络交换机100。网络交换机100通过执行分组交换使网络上的通信设备能够被连接在一起。网络交换机100还可以被称作“交换机”100。交换机100可以包括一个或多个端口。在该处接收数据分组的端口可以被称作输入端口或入口端口。从该处向目的地输出数据分组的端口可以被称作输出端口或出口端口。交换机100将分组从输入端口交换至输出端口。交换机100可以包括电路(诸如端口、物理接口设备(PHY)、以及交换结构设备),其可以包括ASICS和/或FPGA。图1示出具有输入端口102、104、106、和108以及输出端口110、112、114、和116的示例交换机100。输入和输出端口可以是介质相关接口(MDI)端口和/或介质相关接口交叉(MDIX)端口。交换结构122可以在输入端口102-108和输出端口110-116之间提供连接。如图1所示,分组126可以到达输入端口102。交换机100可以基于与通信分组126相关联的目的地地址将输出端口112确定为针对通信分组126的目的地输出端口。在交换机100的控制下,分组126可以通过交换结构122流向输出端口112。输出端口112可以朝向与通信分组126相关联的目的地地址发送分组。

图2示出交换机100内的电路的示例。交换机100可以包括诸如中央处理单元(CPU)210、交换结构控制单元220、下行链路控制单元230、上行链路控制单元240、收发机单元260、以及存储器存储设备205之类的组件。交换机100可以包括一个或多个电源,这些电源为组件的操作提供了电力。在示例中,组件可以以不同功率电平操作。例如,组件可以以不同电压和/或不同电流操作。因此,交换机100可以包括与这些组件相关联的一个或多个功率转换器210P-240P。例如,功率转换器210P可以向CPU210提供功率;功率转换器220P可以向交换结构控制单元提供功率;功率转换器230P可以向下行链路控制单元230提供功率;以及功率转换器240P可以向上行链路控制单元240提供功率。转换器240P还可以向功率管理单元250和收发机单元260提供功率。

在另一示例中,交换机100可以包括电源中断,诸如断路器210CB-230CB。在其他示例中,晶体管或任何其他形式的交换设备可以被使用。电源中断(在下文中被称作断路器)可以启用和禁用相应组件的电源。例如,CPU210可以与断路器210CB相关联;交换结构控制单元220可以与断路器220CB相关联;以及下行链路控制单元230可以与断路器230CB相关联。

在示例中,交换机100可以包括功率管理单元250。功率管理单元250可以控制断路器210CB-230CB。从而,功率管理单元250可以控制被连接到相应的断路器210CB-230CB的、交换机100的组件。功率管理单元250可以包括CPU210电路的一部分或独立于CPU210的电路。

CPU210可以是处理器。CPU210可以负责操作系统和/或控制指令的执行。CPU210可以是可操作以执行逻辑的一个或多个设备。逻辑可以包括被体现在存储器205或其他存储器中的计算机可执行指令或计算机代码,当被CPU210执行时,该计算机可执行指令或计算机代码可以使CPU210执行该逻辑所实现的特征。计算机代码可以包括可由CPU210执行的指令。计算机代码可以以任何现在已知或以后待被发现的计算机语言,诸如C++、C#、Java、Pascal、VisualBasic、Perl、超文本标记语言、JavaScript、汇编语言、外壳脚本、或它们的任意组合。计算机代码可以包括源代码和/或编译代码。CPU210的示例可以包括通用处理器、中央处理单元、专用集成电路(ASIC)、数字信号处理器、现场可编程门阵列(FPGA)、数字电路、模拟电路、或它们的任何组合。CPU210可以与存储器205进行通信。CPU210可以与交换机100的其他组件进行通信。

CPU210可以通过断路器210CB接收功率。断路器210CB可以使能从与CPU210相关联的功率转换器210P到CPU210的功率传输。功率转换器210P可以是DC/DC电力转换器。功率转换器210P可以将电源从第一电压电平转换至第二电压电平。例如,第一电压电平可以被输入到功率转换器210P的电源输入的电压电平,而第二电压电平可以是由功率转换器210P输出的、CPU210的工作电压电平。可替代地或附加地,断路器210CB可以使能从电源到CPU210的功率传输而没有它们之间的功率转换器210P。电源的示例可包括电池、被连接到电源插座的AC/DC功率转换器、通用串行总线(USB)端口、以及任何其他电力源。

存储器205可以是非暂态计算机存储介质。存储器205的示例可以包括随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪速存储器、只读存储器(ROM)或任何其他类型的存储器或它们的组合。存储器205可以存储可由CPU210执行的控制指令。存储器205还可以包含在交换机100的操作期间所使用的数据,诸如被缓冲的分组数据、阈值、网络策略参数、和/或任何其他影响交换机100的操作的数据。

上行链路控制单元240可以是负责在交换机100处接收来自源设备的到来数据(诸如,数据分组126)的电路。上行链路控制单元240可以是在网络模型(诸如,开放式系统互联(OSI)模型)的物理层(PHY)处实施功能的电路。上行链路控制单元240可以将交换结构与物理介质(诸如,光纤或铜电缆)连接,交换机100在这些物理介质上传输数据。上行链路控制单元240可以控制物理介质所连接到的输入端口102-108。例如,输入端口可以通过连接器(诸如,RJ45、RJ48、RJ61或任何其他连接器类型)连接到物理介质。

在示例中,上行链路控制单元240可以根据诸如1000BASE-T、100BASE-TX、和/或10BASE-T以太网标准之类的行业标准实施PHY功能。可替代地或附加地,上行链路控制单元240可以将数据分组126接收为以太网帧,并将所接收的帧转发至CPU210和/或交换结构控制单元220。上行链路控制单元240可以包括串行器/解串器(SerDes)以用于到来数据分组126的串行化-解串行化。上行链路控制单元240可以被称作通信接口电路。可替代地或附加地,通信接口电路可以指代上行链路控制单元240和下行链路控制单元230两者。

可替代地或附加地,上行链路控制单元240可以包括诸如一个或多个寄存器、存储器和/或处理器之类的硬件。上行链路控制单元240可以包括控制指令。与上行链路控制单元240相关联的控制指令可以被存储在存储器205和/或诸如上行链路控制单元240中的存储器之类的单独存储器中。与上行链路控制单元240相关联的控制指令可以由CPU210和/或诸如上行链路控制单元240中的处理器之类的单独处理器执行。可替代地或附加地,上行链路控制单元240可以是ASIC、FPGA、和/或任意其他电路的组合。

上行链路控制单元240可以通过功率转换器240P接收功率。功率转换器240P可以是DC/DC电子功率转换器。功率转换器240P可以将电源从第一电压电平转换至第二电压电平。例如,第一电压电平可以是对功率转换器240P输入的电源的电压电平,而第二电压电平可以是由功率转换器240P输出的、上行链路控制单元240的工作电压电平。可替代地或附加地,上行链路控制单元240可以直接从电源接收功率,而不需要中间的功率转换器240P。电源的示例可以包括电池、被连接到电源插座的AC/DC电源变换器、通用串行总线(USB)端口、和任意其他电力源。

下行链路控制单元230可以是负责从交换机100向相应的目的地设备发送外出数据的电路。下行链路控制单元230可以是在网络模型(诸如,开放式系统互联(OSI)模型)的PHY处实施功能的电路。下行链路控制单元230可以将交换结构连接到诸如光纤或铜电缆之类的物理介质,交换机100在这些物理介质上传输数据。下行链路控制单元230可以控制物理介质所连接到的输出端口110-116。例如,输入端口可以通过连接器(诸如,RJ45、RJ48、RJ61或任何其他连接器类型)连接到物理介质。

在示例中,下行链路控制单元230可以根据诸如1000BASE-T、100BASE-TX、和/或10BASE-T以太网标准之类的行业标准实施PHY功能。可替代地或附加地,下行链路控制单元230可以将从CPU210和/或交换结构控制单元220接收的数据分组126作为以太网帧发送至相应的目的地设备。下行链路控制单元230可以包括串行器/解串器(SerDes)以用于对外出数据分组126的串行化-解串行化。下行链路控制单元230可以被称作通信接口电路。可替代地或附加地,通信接口电路可以指代上行链路控制单元240和下行链路控制单元230两者。因此,通信接口电路可以使能交换机100对数据的发送和接收。

可替代地或附加地,下行链路控制单元230可以包括诸如一个或多个寄存器、存储器和/或处理器之类的硬件。下行链路控制单元230可以包括控制指令。与下行链路控制单元230相关联的控制指令可以被存储在存储器205和/或诸如下行链路控制单元230中的存储器之类的单独存储器中。与下行链路控制单元230相关联的控制指令可以由CPU210和/或诸如下行链路控制单元230中的处理器之类的单独处理器执行。可替代地或附加地,下行链路控制单元230可以是ASIC、FPGA、和/或电路的任意其他组合。

下行链路控制单元230可以通过断路器230CB接收功率。断路器230CB可以使能来自与下行链路控制单元230相关联的功率转换器230P的功率传输。功率转换器230P可以是DC/DC功率转换器。功率转换器230P可以将电源从第一电压电平转换至第二电压电平。例如,第一电压电平可以是被输入到功率转换器230P的电源的电压电平,而第二电压电平可以是由功率转换器230P输出的、下行链路控制单元230的工作电压电平。可替代地或附加地,断路器230CB可以在电源和下行链路控制单元230中间没有功率转换器230P的情况下,使能从电源到下行链路控制单元230的功率传输。电源的示例可以是电池、被连接到电源插座的AC/DC功率转换器、通用串行总线(USB)端口、以及任何其他电源来源。

交换结构控制单元220可以是负责实施交换结构122的电路。交换结构控制单元220可以是ASIC、FPGA、处理器、和/或任何其他电路及其组合。交换结构控制单元220可以包括和执行控制指令。交换机ASIC可以负责基于与分组126相关联的目的地地址将输出端口112确定为针对该分组126的目的地输出端口。例如,交换结构控制单元可以基于与分组126相关联的(OSI模型的)层2帧目的地MAC地址来确定输出端口。

例如,如图1所示,分组126可以达到输入端口102。交换结构控制单元220可以分析与分组相关联的目的地地址,诸如目的地(或下一跳)设备的层2MAC地址。基于该分析,交换结构控制单元220可以将输出端112标识为用于传输分组126的输出端口。从而,交换结构控制单元220可以通过交换结构122从上行链路控制单元240向下行链路控制单元230转发分组126。输出端1口1112可以最终将分组126发送至目的地。

交换结构控制单元220可以将整个分组126从上行链路控制单元240转发至下行链路控制单元230。可替代地或附加地,交换结构控制单元220可以从上行链路控制单元240向下行链路控制单元230部分地转发分组126。在示例中,交换结构控制单元220可以在从上行链路控制单元240向下行链路控制单元230转发分组126之前,对分组126进行缓冲。交换结构控制单元220可以基于与分组126相关联的优先级处理分组126。

交换结构控制单元220可以通过断路器220CB接收功率。断路器220CB可以使能来自与交换结构控制单元220相关联的功率转换器220P的功率传输。功率转换器220P可以是DC/DC功率转换器。功率转换器220P可以将电源从第一电压电平转换至第二电压电平。例如,第一电压电平可以是被输入至功率转换器220P的电源的电压电平,而第二电压电平可以是由功率转换器220P输出的、交换结构控制单元220的工作电压电平。可替代地或附加地,断路器220CB可以在电源和交换结构控制单元220中间没有功率转换器220P的情况下,使能从电源到交换结构控制单元220的功率传输。电源的示例可以包括电池、被连接到电源插座的AC/DC功率转换器、通用串行总线(USB)端口、以及任何其他电源来源。

收发机单元260可以将交换机100的电路(诸如主板、或其他组件)接口连接到交换机100和上游设备之间的通信链路。例如,收发机单元260可以与光纤或铜网络电缆进行接口连接。例如,收发机单元260可以是小形状因子可插拔(SFP)或微型千兆位接口转换器(GBIC)收发机。收发机单元260可以支持SONET、千兆位以太网、光纤通道、和其他通信标准。例如,收发机单元260可以是插入到与上行链路控制单元240相关联的端口的输入/输出(I/O)装置,以将该端口与诸如光纤或铜电缆之类的通信链路相链接。收发机单元260可以将网络数据转换成串行电子数据,反之亦然。

收发机单元260可以检测通信链路中的信号电平。例如,在光纤链路的情况下,收发机单元可以检测光信号电平在预定电平之下。预定电平可以在诸如IEEE802.3ae10GBASE-SR之类的标准中规定。响应于检测到信号电平的下降,收发机单元可以在诸如输出端处生成并输出信号损失(Rx_LOS)指示。收发机260可以具有Rx_LOS输出端,诸如开漏/开集输出。收发机260的Rx_LOS输出端可以被连接到功率管理单元250的端子。Rx_LOS信号可以是对收发机260作为其一部分的交换机100的、关于所接收的信号强度低于规定的阈值或范围的初步指示。这种指示可以表明未被安装的线缆、破损的线缆或在线缆(即,通信链路)的远端处被停用的、故障的或被关断的发射机。

功率管理单元250控制被供应至交换机100的组件的功率。功率管理单元250可以包括诸如一个或多个寄存器、存储器、和/或处理器之类的硬件。功率管理单元250可以包括控制指令。与功率管理单元250相关联的控制指令可以被存储在存储器205和/或诸如功率管理单元250中的存储器之类的单独存储器中。可替代地或附加地,功率管理单元250可以是ASIC、FPGA、和/或电路的任何其他组合。在示例中,功率管理单元250可以是CPU210的一部分。可替代地或附加地,功率管理单元250可以是独立于CPU210的电路。

功率管理单元250可以通过功率转换器240P接收功率。可替代地或附加地,功率管理单元250可以直接从电源接收功率而不需要中间的功率转换器240P。

功率管理单元250可以通过使能和/或禁用被供应至交换机100的组件的功率来控制交换机100的功率消耗。功率管理特征可以通过将交换机100置于深度睡眠模式、待机模式或掉电(powerdown)模式或状态,来节省由交换机100消耗的功率。例如,在深度睡眠模式中,由交换机100消耗的功率可能不超过6W(比活跃或唤醒或上电状态中低95%)。为了实现功率节省,功率管理单元250可以掉电、或关断交换结构控制单元220、CPU210和/或上行链路控制单元240。从而,交换机100可以不接收和/或不处理任何到达上行链路端口102-108处的消息。因此,使用涉及消息的技术,诸如发送“魔术”分组的局域网唤醒(wake-on-LAN)技术来唤醒交换机100可能不起作用。

交换机100可以基于实时时钟,诸如在预先设定的时间处或在预定的持续时间之后从深度睡眠模式醒来或恢复操作。可替代地或附加地,交换机100可以具有诸如按钮之类的接口,其可使得交换机能够被唤醒。在另一示例中,在深度睡眠模式中,功率管理单元250监控触发唤醒过程的来源。例如,交换机100可以接收来自上游设备或可以发起唤醒过程的上行链路合作方的唤醒命令。

功率管理单元250可以具有端子252。在示例中,功率管理单元250可以具有第二端子254。在另一示例中,功率管理单元250可以具有其他端子(未示出)。端子可以是输入和/或输出信号。端子可以是可被编程为输入和/或输出信号的通用输入/输出(GPIO)端子。端子还可以被称作“管脚”和/或“位”。端子252和/或254可以指示上游设备和交换机100之间的链路的状态。可替代地或附加地,端子252和/或254可以指示上游设备的状态。端子252可以被连接到收发机260的Rx_LOS端子以识别来自上游设备的信号的状态。

图3示出示例网络310中的示例上游连通性设备。上游连通性设备可以是诸如交换机、路由器或任何其他连通性设备的网络设备。示例网络310可以是诸如局域网(LAN)之类的专用网络。如所示,LAN310可以包括交换机100。LAN可以包括其他连通性设备320U和320D以及多个通信设备322。通信设备322可以包括通信设备322A、通信设备322B以及通信设备322C。连通性设备320U可以互连到LAN310中的通信设备322A。交换机100可以将通信设备322B互连到LAN310。连通性设备320D可以互连到LAN310中的通信设备322C。通信设备322A、322B可以处于诸如家庭、学校、计算机实验室或办公大楼之类的区域内,并使用有线和/或无线网络连接。例如,网络连接可以使用诸如光纤、铜电缆和/或线缆的组合之类的线缆。可替代地或附加地,LAN310可以使能无线通信。通信设备322可以包括台式计算机、膝上型计算机、平板电脑、智能电话、蜂窝电话、服务器计算机、传真机、打印机、数码相机、个人数字助理(PDA)、会议客户端、或任何其他通信使能的设备。

连通性设备320U可以在交换机100的上游,并且连通性设备320D可以在交换机100的下游。如果设备转发和/或路由数据分组至交换机100,则该设备是交换机100的上游。如果交换机转发数据分组至设备,则该设备是交换机100的下游。例如,上游连通性设备320U和下游连通性设备320D可以分别是能够与交换机100通信的交换机、路由器、路由器/交换机的组合、和/或任何其他类型的连通性设备或网络设备。因此,如图3所示,相对于交换机100,连通性设备320D是“下游”,而使能交换机100与互联网或另一LAN的连通性的连通性设备320U是“上游”。

例如,连接到交换机100的通信设备322B可以与LAN310内的其他通信设备进行通信。可替代地或附加地,通信设备322B可以与LAN310外部的通信设备(例如,在另一LAN350或在诸如互联网之类的公共网络360中的那些通信设备)进行通信。连通性设备320U可以包括路由器的功能以使能与外部网络350和/或360的通信。可替代地或附加地,LAN310可以包括从连通性设备320U分离的路由器(未示出)。在示例中,连通性设备320U可以通过调制解调器366与公共网络360通信。通信设备322B可以通过交换机100与外部网络通信,并且进一步与上游连通性设备320U通信。

对于连通性设备320D,交换机100和连通性设备320U是使能连接到连通性设备320D的通信设备322C与处于LAN310外部的通信设备进行通信的上游设备。因此,如图3所示,连通性设备320D是交换机100和连通性设备320U的下游;或者换句话说,交换机100和连通性设备320U是连通性设备320D的上游。图3使出一种连通性设备和通信设备的可行的布置;其他布置也是可行的。

交换机100、连通性设备320U、以及连通性设备320D可以通过诸如光纤连接、铜电缆连接、或无线连接之类的通信链路与彼此进行通信。下游设备可以监控其自身与上游设备之间的链路的状态。例如,交换机100可以监控交换机100和连通性设备320U之间的链路的状态。例如,端子254可以是信号损失端子(RxLOS),其指示来自连通性设备320U的信号的损失(loss)。RxLOS端子的活跃状态可以指示没有来自连通性设备320U的信号。例如,如果连通性设备320U通过光纤链路与交换机100进行通信,则活跃的RxLOS可以指示被连接到交换机100的连通性设备320U的光发射机不起作用,和/或被关闭。可替代地或附加地,不活跃的RxLOS可以指示连通性设备320U的光发射机起作用。例如,如果被连接到交换机100的连通性设备320U的光发射机被开启(发送数据),则RxLOS可以是不活跃的。

可替代地或附加地,端子254可以是中断端子(INT_L),其指示交换机100和连通性设备320U之间的链路状态的改变。例如,响应于RxLOS端子从不活跃状态到活跃状态的改变,功率管理单元250可以在INTL_L端子上断言信号。可替代地或附加地,功率管理单元250响应于RxLOS从活跃状态转变成不活跃状态,可以在INT_L端子上断言中断信号。

在另一示例中,连通性设备320U可以通过铜链路与交换机100通信。在这种情况下,交换机100可以检测链路状态的改变。例如,交换机100可以检测到连通性设备320U通过禁用铜链路所连接到的端口来弃用铜链路。例如,连通性设备320U可以停止通过铜链路的活跃链路脉冲的传输。交换机100可以检测到传输的终止以识别被弃用的铜链路。在连通性设备320U弃用铜链路的情况下,INT_L端子上的信号可以指示铜链路状态的改变。INT_L端子可以连接到CPU210的端子。可替代地或附加地,功率管理单元250可以监控INT_L端子和/或RxLOS端子以识别到连通性设备320U的通信链路的状态的改变。功率管理单元250响应于端子252、254上的信号可以改变对交换机100的一个或多个组件的功率供应。例如,功率管理单元250可以使能和/或禁用对交换机100的组件的功率供应。例如,功率管理单元250可以控制断路器210CB-230CB改变被供应到交换机100的组件的功率。

图4示出诸如交换机100的连通性设备的示例性功率管理操作。图4将连通性设备320U示为上游设备,并将交换机100示为下游设备。图4还示出交换机100随着上游设备320U和交换机100之间的一系列交互所执行的步骤的示例性流程图400。交换机100可以执行比图4中所示出的那些步骤更少或更多的步骤。操作可以按照与图4中所示出的顺序不同的顺序来执行。在图4中,实线指示分组或消息,诸如UDP分组、或TCP分组、或在连通性设备之间传输的任何其他分组;虚线指示上游设备对连通性设备之间的通信链路的禁用/启用。

交换机100可以接收来自上游设备320U的睡眠命令(425)。例如,交换机可以将睡眠命令接收为分组(诸如,UDP分组、TCP分组或任何其他通信分组)的一部分。交换机100可以通过输入端口102-108在上行链路控制单元240处接收分组。CPU210可以将所接收的分组分析和识别为睡眠命令。作为响应,CPU210可以生成和发送确认消息到上游设备320U(435)。交换机100可以通过输出端口110-116在下行链路控制单元230处将确认消息发送为UDP分组、TCP分组、或任何其他通信分组。确认消息可以指示交换机100已经识别了睡眠命令。

交换机100可以监控交换机100和上游设备320U之间的通信链路的状态。交换机100可以识别出上游设备320U已经禁用对交换机100的数据传输。例如,上游设备320U可以关闭、关断或禁用连接到交换机100并向其发送数据的上游设备320U的组件(诸如,发射机)。例如,如果上游设备320U和交换机100通过光链路进行连接,则上游设备320U可以禁用被连接到上游设备320U和交换机100之间的光链路的光发射机。可替代地或附加地,如果上游设备320U和交换机100通过铜链路进行连接,则上游设备320U可以例如通过禁用通信链路所连接到的端口来弃用到交换机100的链路。

交换机100可以检测链路状态的改变(445)。例如,RxLOS端子252响应于来自上游设备320U的信号损失可以转变成活跃状态。当上游设备使发射机连接到交换机100时,RxLOS端子252可以是不活跃的。可替代地或附加地,INT_L中断端子254响应于链路状态的改变可以断言中断。功率管理单元250可以监控RxLOS端子252和/或INT_L端子254。

功率管理单元250响应于RxLOS端子252状态的改变,可以对交换机100的选定组件断电(powerOFF)(455)。例如,功率管理单元250可以控制断路器210CB-230CB将与各自的断路器相关联的组件关断。例如,功率管理单元250可以通过禁用断路器220CB将相应的交换结构控制单元220关断;通过禁用断路器230CB将相应的下行链路控制单元230关断;以及通过禁用断路器210CB将CPU210关断。上行链路控制单元240和功率管理单元250可以继续接收功率并且是可操作的,而其他选定组件可以被关断,从而是不可操作的。在这种情况下,交换机100可以被称为处于“深度睡眠模式”。图2通过阴影示出被断电的组件和处于深度睡眠模式中继续被通电(powerON)的组件。在深度睡眠模式中,交换机100可能不处理在上行链路控制单元240处接收的任何数据分组。例如,交换机可能不处理LAN唤醒(wake-on-LAN)分组,从而可能不通过LAN唤醒或通过数据分组发送的任何其他消息恢复操作。

可替代地或附加地,当交换机100转变成深度睡眠模式时,它可以在存储器205中存储选择性的数据。例如,被动态生成的数据可能不被存储在存储器205中。可替代地或附加地,存储器205可以被设置有交换机100从深度睡眠模式醒来之后可能需要的数据。在另一示例中,存储器205在深度睡眠模式期间可以继续被接通。因此,交换机100在唤醒期间可以不执行与在存储器205中恢复数据有关的附加步骤,从而节约了唤醒期间的时间。

可替代地或附加地,交换机100中的存储器205可以包括一个或多个分离的存储器设备,该分离的存储器设备可以在交换机100上存储不同类型的数据。例如,当交换机100正在操作时,其可以将被动态生成的数据存储在被包括在存储器205中的第一存储器设备中。与第一存储器设备分离的第二存储器设备可以存储交换机100的操作系统。在另一示例中,第三存储器可以存储交换机100的启动配置。被动态生成的数据可以包括交换机操作参数,诸如端口缓冲器、端口优先级、以及其他动态数据。交换机100的启动配置可以包括默认网关地址、时区、邻居发现协议的状态、以及用于交换机100在启动时恢复操作的其他设置。功率管理单元250可以维持一个或多个存储器的功率以使能从深度睡眠模式的快速唤醒。

例如,交换结构控制单元220的默认配置可以随着时间被修改。例如,交换机100或交换机100的管理员可以识别和记录响应于特定事件而被采取的步骤。例如,响应于针对特定目的地通信设备的分组,交换结构控制单元220可以被编程为通过不同于默认输出端口的特定输出端口转发所接收的分组。可替代地或附加地,响应于与LAN310相关联的网络策略的改变,配置可以被修改。CPU210可以将经修改的交换结构控制单元220的配置保持在存储器205中。在交换机100从深度睡眠模式返回期间,CPU210可以从经修改的配置开始,而不是从诸如默认配置之类的启动配置中导出经修改的配置。从经修改的配置开始可能消耗比从启动配置开始更少的时间。此外,存储器205可以存储硬件状态,包括诸如计数器、统计数字、程序计数器、存储器地址和寄存器值之类的参数。硬件状态可以被恢复为先前所存储的值以用于快速启动。

交换机100可以继续留在深度睡眠模式中直到其检测到通信链路状态的改变(465)。功率管理单元250可以在深度睡眠模式中继续监控通信链路的状态。功率管理单元250可以检测到来自上游设备320U的传输的恢复。例如,上游设备320U可以启用被连接到通信链路的光发射机。可替代地或附加地,上游设备320U可以启用通信链路所连接到的端口。例如,响应于来自上游设备320U的传输的恢复,RxLOS端子252可以转变为不活跃状态。可替代地或附加地,INT_L中断端子254可以根据该恢复来断言中断。

交换机100响应于RxLOS端子252状态的改变和/或INT_L中断端子254上的中断可以发起唤醒过程(475)。唤醒过程可以包括对功率管理单元250针对深度睡眠模式断电的组件进行通电。功率管理单元250可以通过启用相应的断路器来对交换机100的组件进行通电。

可替代地或附加地,存储器205中的数据可以被恢复,从而交换机100可以恢复操作。例如,在交换机100转变为深度睡眠模式之前被动态生成的任何数据可以被删除。例如,硬件/ASIC状态(诸如交换结构控制单元220)可以被恢复为交换机100在进入深度睡眠模式之前的状态。硬件状态可以被存储在存储器205中。CPU210可以将存储器205的内容直接复制到硬件。例如,计数器、统计器、程序计数器、存储器地址、和/或寄存器值可以从存储器205被恢复。内容可以从存储器205被顺序地恢复。可替代地或附加地,CPU210可以使用例如,直接存储器访问(DMA)从存储器205大量地复制值,从而导致更快的启动时间。存储器205中的内容的顺序可能按照与在硬件中恢复内容的顺序不同的顺序。例如,在存储器205中,寄存器-1的值可能被存储在程序计数器PC-1的值后面;然而,在恢复期间,寄存器-1可能在程序计数器PC-1之前被恢复。

通过恢复硬件状态的参数(诸如,硬件计数器值),交换机100可以从其进入深度睡眠模式之前停止的地方继续操作。在示例中,在存储器205中存储的动态状态信息可以被识别和丢弃。例如,被丢弃的动态状态信息可以包括随着时间被记录的其他设备的MAC地址、Netflow流条目、和/或其他这样的动态信息。

一旦功率管理单元250通电交换机100的组件,即,一旦交换机100离开深度睡眠模式,交换机100可以生成并发送消息至上游设备320U(485)。例如,CPU210可以生成消息并通过上行链路控制单元240将该消息发送至上游设备320U。消息可以向上游设备320U指示交换机100被完全通电并准备好用于通信。上游设备320U在接收到指示之后可以继续向交换机100传输数据。

图5示出诸如交换机100的连通性设备的示例性功率管理操作。图5将交换机100示为上游设备,将连通性设备320D示为下游设备。图5还示出交换机100随着下游设备320D和交换机100之间的一系列交互所执行的步骤的示例性流程图500。交换机100可以执行比图5中所示出的那些步骤更少或更多的步骤。操作可以按照与图5中所示出的顺序不同的顺序来执行。在图5中,实线指示分组或消息,诸如UDP分组、或TCP分组、或在连通性设备之间传输的任何其他分组;虚线指示上游设备对连通性设备之间的通信链路的禁用/启用。

交换机100可以发送睡眠命令至下游设备320D(525)。交换机100可以将睡眠命令发送为分组(诸如,UDP分组、TCP分组、或任何其他通信分组)的一部分。作为响应,交换机100可以来自下游设备320D的确认消息(535)。确认消息可以是UDP分组、TCP分组、或任何其他通信分组的一部分。确认消息可以指示下游设备320D已经识别了睡眠命令。

作为响应,交换机100可以禁用到下游设备320D的传输链路(545)。例如,如果交换机100和下游设备320D通过光链路进行连接,则交换机100可以对被连接到下游设备320D和交换机100之间的光链路的光发射机进行断电。例如,交换机100可以断电被连接到下游设备320D和/或上行链路控制单元240的端口。可替代地或附加地,如果交换机100和下游设备320D通过铜链路进行连接,则交换机100可以例如通过禁用铜链路所连接到的端口来弃用到下游设备320D的链路。这时,交换机100可能不将分组转发到下游设备320D,该下游设备320D响应于交换机100所采取的步骤将处于深度睡眠模式。然而,交换机100可以继续将分组转发至除了下游设备320D之外的其他通信和/或连通性设备。

交换机100可以基于网络策略继续将下游设备320D保持在深度睡眠模式中。例如,交换机100可以将下游设备320D保持在深度睡眠模式中直到交换机100接收到要被转发至下游设备320D的数据。可替代地,在调度安排中所指示的时段期间,交换机100可以将下游设备320D保持在深度睡眠模式中。例如,针对LAN310的网络策略可以与调度安排相关联或者可以包括调度安排。调度安排可以指示一个时段,在该时段期间下游设备320D是活跃的和/或处于深度睡眠模式。例如,下游设备320D可以在夜间、节假日、或任何其他预定的时段期间被调度为深度睡眠模式。在示例中,下游设备320D可以连接到在会议室中的通信设备322C。当没有会议被计划为使用会议室和/或通信设备322C时,下游设备320D可被调度为深度睡眠模式。在另一示例中,网络管理员可以命令交换机100禁用到下游设备320D的通信链路。

交换机100可以确定到下游设备320D的通信链路是否要被启用(555)。例如,交换机100可以根据网络策略和调度安排来确定下游设备320D是否被通电。可替代地或附加地,响应于接收到要被传输到下游设备320D的数据,交换机100可以确定通信链路要被启用。在另一示例中,网络管理员可以命令交换机100启用到下游设备320D的通信链路。

响应于确定要启用到下游设备320D的通信链路,交换机100可以启用到下游设备320D的通信链路(565)。否则,通信链路继续被禁用。

交换机100可以等待下游设备320D从深度睡眠状态中醒来。交换机100可以从下游设备320D接收指示该下游设备320D醒来的消息(575)。交换机100在接收到指示性消息之后可以恢复与下游设备320D的通信(585)。在另一示例中,交换机100可以恢复与下游设备320D的通信而不需要等待指示性消息。

在本文件中已经描述了用来解决在诸如交换机100之类的连通性设备的操作期间消耗更少的功率的技术问题的若干技术方案。交换机100的功率管理单元250可以使能交换机100特别是在深度睡眠模式下消耗更少的功率。在深度睡眠模式中,如本文件各处所描述的,交换机100的若干组件可以被断电。被断电的组件可以包括处理作为OSI网络模型的层2的一部分的操作的那些组件。因此,使用诸如LAN唤醒分组之类的消息将交换机100从深度睡眠模式唤醒是不可能的。所描述的技术方案使用OSI模型的层1来对交换机100通电。因此,功率管理单元250可以在深度睡眠模式期间继续向处理层1操作的交换机的组件(诸如,上行链路端口控制单元240和收发机单元260)供应电力。上游设备可以启用/禁用与交换机100连接的光发射机或铜链路以操纵功率管理单元250的RxLOS端子252和/或INT_L中断端子254。功率管理单元250可以监控端子252、254,并且功率管理单元250响应于端子252、254状态的改变,可以通电交换机100的组件。

说明书涉及一个或多个处理器。处理器可以包括通用处理器、中央处理单元、微控制器、服务器、专用集成电路(ASIC)、数字信号处理器、现场可编程门阵列(FPGA)、和/或数字电路、模拟电路。处理器可以是可操作以执行逻辑的一个或多个设备。逻辑可以包括被体现在存储器中的计算机可执行指令或计算机代码,当被处理器执行时,该计算机可执行指令或计算机代码导致处理器执行该逻辑所实现的特征。计算机代码可以包括可利用处理器执行的指令。

交换机100可以通过许多不同方式来实现。诸如CPU210、交换结构控制单元220、下行链路控制单元230、上行链路控制单元240、以及收发机单元260之类的每一个单元可以是硬件或硬件和软件的组合。例如,每一个模块可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、电路、数字逻辑电路、模拟电路、离散电路的组合、门、或任何其他类型的硬件及其组合。可替代地或附加地,每一个单元可以包括存储器硬件(诸如存储器205的一部分),例如,存储器硬件包括可利用处理器210或其他处理器执行的、用以实现该单元的一个或多个特征的指令。当任何一个单元包括存储器的一部分,该存储器的一部分包含可利用处理器执行的指令,该单元可能包括、也可能不包括处理器。在一些示例中,每一个单元可以仅仅是存储器205的一部分或其他物理存储器,其包含可利用处理器210或其他处理器执行的、用以实现相应的模块的特征的指令,而该模块不包括任何其他硬件。因为每个模块包括至少一些硬件,每个单元可以被互换地称作硬件单元,诸如CPU硬件单元210、交换结构控制硬件单元220、下行链路控制硬件单元230、上行链路控制硬件单元240、以及收发机硬件单元260。

一些特征被示为存储在计算机可读存储介质(例如,作为被实现为计算机可执行指令的逻辑或作为存储器中的数据结构)。全部或部分系统及其逻辑和数据结构可以被存储在、被分布在一个或多个类型的计算机可读存储介质上,或从一个或多个类型的计算机可读存储介质读取。计算机可读存储介质的示例可以包括硬盘、软盘、CD-ROM、闪存驱动器、缓冲存储器、易失性存储器、非易失性存储器、RAM、闪速存储器、或任何其他类型的一个或多个计算机可读存储介质。计算机可读存储介质可以包括任何类型的非暂态计算机可读介质,诸如CD-ROM、易失性存储器、非易失性存储器、ROM、RAM、或任何其他适当的存储设备。然而,计算机可读存储介质不是用于传播信号的暂态传输介质。

系统100的处理能力可以被分布在多个实体之间,诸如在多个处理器和存储器之间,可选择地包括多个分布式处理系统。参数、数据库、以及其他数据结构可以被分开存储和管理,可以被合并在单个存储器或数据库中,可以在逻辑上或在物理上以许多不同的方式进行组织,以及可以利用不同类型的数据结构(诸如链表、哈希表或隐式存储机制)来实现。诸如程序或电路之类的逻辑可以在被分布在若干存储器和处理器的多个程序之间进行组合或拆分,并且可以被实现在诸如共享库(例如,动态链接库(DLL))之类的函数库中。例如,DLL可以存储准备中间映射或者在映射上实施搜索的代码。作为另一示例,DLL本身可以提供全部或部分系统、工具或两者的功能。

不管所描述的特定实施方式如何,所有讨论在本质上均为示例性的,而非限制性的。例如,尽管实施方式的所选方面、特征或组件被描述为被存储在存储器中,但是一个或多个系统的全部或部分可以被存储在其他计算机可读存储介质上,被分布在其他计算机可读存储介质,或者从其他计算机可读存储介质读取,其他计算机可读存储介质例如是次级存储设备,诸如硬盘、闪存驱动器、软盘和CD-ROM。另外,各种模块和屏幕显示器功能仅仅是这类功能的一个示例,并且涵盖类似功能的任何其他配置是可行的。

用于实施上文所讨论的处理、方法和/或技术的相应的逻辑、软件或指令可以被提供在计算机可读存储介质上。附图中所示出和本文所述的功能、动作或任务可以响应于被存储在计算机可读介质之上或之内的一组或多组逻辑或指令而被执行。功能、动作或任务独立于特定类型的指令集、存储介质、处理器或处理策略,并且可由软件、硬件、集成电路、固件、微代码等等执行。同样地,处理策略可以包括多处理、多任务、并行处理等等。在一个实施例中,指令被存储在可移动介质设备上以由本地系统或远程系统读取。在其他实施例中,逻辑或指令被存储在远程位置中以通过计算机网络或在电话线路上进行传输。在又一实施例中,逻辑或指令被存储在给定计算机、中央处理单元(CPU)、图形处理单元(GPU)或系统内。

此外,尽管上文描述了特定的组件,但是本文所述的方法、系统和制品可以包括附加的、更少的或不同的组件。例如,处理器可以被实现为微处理器、微控制器、专用集成电路(ASIC)、离散逻辑、或其他类型的电路或逻辑的组合。类似地,存储器可以是DRAM、SRAM、闪存或任何其他类型的存储器。标志、数据、数据库、表、实体或其他数据结构可以被分开存储和管理,可以被合并在单个存储器或数据库中,可以被分布,或者可以在逻辑上和物理上以许多不同方式进行组织。组件可以独立地操作或者作为同一程序或装置。组件可以驻存在分离的硬件(例如,分离的可移动电路板)上,或共享公用的硬件(例如,用于实现来自存储器的指令的同一存储器和处理器)。程序可以是单个程序、分离程序的一部分或被分布在若干存储器和处理器。

第二动作可以被称为“响应于”第一动作,而与第二动作是否直接或间接地由第一动作造成无关。第二动作可能发生在明显晚于第一动作的时间,并且仍然响应于第一动作。类似地,即使在第一动作和第二动作之间发生了介于中间的动作,并且即使一个或多个介于中间的动作直接导致第二动作被执行,第二动作仍可以被称为响应于第一动作。例如,如果第一动作设置标志,然后每当该标志被设置时,第三动作发起第二动作,则第二动作可以响应于第一动作。

为了明确对短语的使用并由此向公众提供通知,除非申请人明确声称相反的意思,否则短语“<A>、<B>...和/或<N>中的至少一个”或“<A>、<B>...<N>及其组合中的至少一个”或“<A>、<B>...和/或<N>”被申请人以最广泛地意义定义成意为从包括A、B、...和N的群组中选出的一个或多个元件,替代上文或下文中的任何其他隐含的定义。换句话说,该短语意为元件A、B、...或N中的一个或多个的任意组合,包括单独的任何一个元件或一个元件与一个或多个其他元件的组合,该其他元件还可以包括未列出的附加元件的组合。

尽管已经对各种实施例进行了描述,然而对本领域技术人员显而易见的是更多的实施例和实现方式是可行的。因此,本文所述的实施例仅仅是示例,而非唯一可行的实施例和实现方式。

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