网络唤醒装置与方法

文档序号:6380331阅读:278来源:国知局
专利名称:网络唤醒装置与方法
技术领域
本发明涉及一种网络唤醒装置与方法,且特别涉及一种当计算机系统处于当机状态时,却仍能够重启计算机的网络唤醒装置与方法。
背景技术
近年来已发展出网络唤醒机制,使用者可透过远程终端服务器(remoteserver),将另一端的计算机系统唤醒。此计算机系统所使用的网络适配卡(Network Interface Card,NIC)必须具有让远程终端服务器唤醒的能力,方始得计算机系统具有上述功能。
一般而言,计算机系统中所使用的电源分为两种,一种为核心电源(corepower),另一种则为备用电源(suspend power)。当计算机系统的交流电源插头插上交流电之后,虽然计算机系统的电源开关尚未激活,但备用电源却已提供给计算机系统使用。另外,在计算机系统开机之后,当计算机系统侦测到某些装置处于非使用状态时,可将其设为备用状态(suspend state),并停止供应这些装置核心电源而仅提供备用电源,以达到节省电能的功能。
当计算机系统开机时,基本输入/输出系统(Basic Input/Output System,BIOS)会执行ACPI(Advanced Configuration and Power Interface)程序(routine),以对计算机系统进行完善的电源管理。在开机之后,操作系统可以关掉(turnoff)非使用中的周边装置,或者让系统进入休眠状态。而当使用者按下键盘或移动鼠标之后,ACPI程序可以自动地让计算机系统再度得到核心电源的供应。
上述使计算机系统再度得到核心电源供应的步骤,也可利用网络唤醒的方式来完成。使网络系统的远程终端传送一网络唤醒封包给网络适配卡,当网络适配卡接收到网络唤醒封包后,随即传送一讯号,即电源管理事件(Power Management Event,PME),至计算机系统中的南桥芯片(south bridgechip),以唤醒计算机系统。
当要将计算机系统中的南桥芯片设定成可接收网络适配卡所传送的电源管理事件的状态时,必须在基本输入/输出系统执行开机程序的ACPI程序后才能为之,也就是必须在使用者按下计算机系统的电源开关,计算机系统开始进入开机程序后,方能完成对南桥芯片的设定。而且,在设定的过程当中,必须使用到核心电源的大电流,此为备用电源所无法提供的。所以,在传统作法中,当计算机系统未开机前,南桥芯片是无法对网络适配卡所传送的电源管理事件做出任何反应,也就是计算机系统在此时并无法通过网络来唤醒。换句话说,在传统上,若计算机系统从未进行过开机动作的话,计算机系统不会具备由网络唤醒的功能。
而且,当计算机完成开机动作,并已经完成将计算机系统设定成可接受网络唤醒的状态之后,若此时计算机系统被不正常关机,例如是当机或是其交流电源不正当地断电的话,将使得计算机系统无法对上述电源管理事件做出任何反应。此时,虽然计算机系统中的备用电源仍然存在,但却已经无法通过远程终端的网络唤醒封包来唤醒计算机。传统上只能通过使用者手动按下计算机的电源开关来重启计算机系统,重新设定南桥芯片,才能够使得计算机系统重新具有网络唤醒的功能。
如上所述,当计算机系统运用于服务器系统时,因为在服务器系统中,往往将多台的计算机系统安装在机架(Rack)上,因此若其中一计算机系统发生当机时,则使用者要重启此当机的计算机系统更为困难。

发明内容
本发明的目的在于提供一种网络唤醒装置,当使用网络来唤醒处于当机状态的计算机系统时,利用一可程序化控制装置来重启此计算机系统。
本发明的另一目的在于提供一种网络唤醒方法,当计算机系统发生当机时,依据其所监测计算机系统所获得的系统状态资料,判断是否可以通过网络唤醒来重启此计算机系统。
本发明又一目的在于提供一种网络唤醒方法,此方法可针对计算机系统所处的不同状态做出不同的响应,以改善现有网络唤醒方法无法唤醒已当机的计算机系统的问题。
本发明再一目的在于提供一种可程序化控制装置,此可程序化控制装置利用其与计算机系统间的握手协议,来确认此计算机系统是否处于正常状态,当此计算机系统不处于正常状态时,可用该可程序化控制装置来重启此计算机系统。
根据本发明的上述目的,提出一种网络唤醒装置,其包含一可程序化控制装置、一计算机系统以及一接口装置。当接口装置接收到一网络唤醒封包后,会分别发送一电源管理事件讯号至可程序化控制装置与计算机系统。若计算机系统系处于正常状态,例如睡眠状态以及运转状态,则当其接收到此电源管理事件讯号时,处于睡眠状态的计算机会激活并恢复至运转状态,而处于运转状态的计算机系统则会继续维持运转,并不受到此电源管理事件讯号的影响。若计算机系统系处于异常关机状态,例如当机状态或是其电源被不正当地断电,则当计算机系统接收到此电源管理事件讯号时,其南桥芯片无法对此电源管理事件讯号做出相对的响应。
本发明可程序化控制装置包含一接收模块、一握手模块以及一重启模块,其中接收模块用来接收来自接口装置的一电源管理事件讯号。此可程序化控制装置的控制逻辑为,其握手模块利用一握手协议与计算机系统联络,以判断计算机系统处于正常状态或异常关机状态。当此可程序化控制装置接收到电源管理事件讯号时,若此时计算机系统处于正常状态,则此可程序化控制装置并不会重启此计算机系统,若此时计算机系统处于异常关机状态,则此可程序化控制装置会利用其重启模块重启此计算机系统。
依照本发明一较佳实施例,此接口装置为一网络适配卡。该可程序化控制装置为一基板管理控制器(Baseboard Management Controller,BMC)芯片,通常为一8051芯片直接配置在计算机系统中的主机板,负责监控整个计算机系统的系统状态,并产生系统状态资料。而且,此实施例中的计算机系统利用一南桥芯片来接收上述电源控制讯号。当握手模块通过握手协议发现计算机系统处于异常关机状态时,再配合该系统状态资料,可判断计算机系统的系统状态在此时是否适合利用网络唤醒封包来加以重启。
在此实施例中,上述握手协议通过一缓存器来完成。可程序化控制装置被设定成发送一第一讯号,而计算机系统则被设定成分别会一第二讯号,两者交替地写入缓存器中,且此第一讯号以及第二讯号具有相反的逻辑准位。因此,当缓存器中所存资料的逻辑准位一直保持与第一讯号的逻辑准位相同时,即其并未被计算机系统改变成与第二讯号的逻辑准位相同时,则可得知此时计算机系统处于异常关机状态。
由上所述可知,本发明之网络唤醒装置,通过其可程序化控制装置中所设定的操作逻辑,可使得位于远程终端的中央控制程序或是服务器管理者,直接利用网络唤醒封包重启处于异常关机状态的计算机系统。此外,配合可程序化控制装置中的监测模块,可在上述的重启计算机系统步骤前,先行确认计算机系统的硬设备是否具有任何问题,除了避免重启硬设备有问题的计算机系统而造成更大的损失,而且也可免除现有要重启安装于框架中的多台计算机一时的困难。


图1是本发明一较佳实施例的示意图;图2是图1中的较佳实施例的流程图;图3是本发明的可程序化控制装置的控制逻辑流程图;图4是本发明的握手协议的一较佳实施例的示意图;图5是本发明的另一较佳实施例的示意图;以及图6是图5中的较佳实施例的流程图。
具体实施例方式
以下利用两个实施例来解释本发明的网络唤醒装置,其中计算机系统的正常状态定义为包含运转状态与睡眠状态,而睡眠状态包含了计算机系统操作中的软关机模式(softoff mode)以及中止模式(suspend mode)。计算机系统的异常关机状态则定义为包含当机状态或是其电源被不正当地断电的状况。
图1是本发明一较佳实施例的示意图,图2是图1中的较佳实施例的流程图,以下的说明请配合参照图1与图2。
首先,网络系统的远程终端传送一网络唤醒封包给网络适配卡104(步骤202)。当网络适配卡104接收到此网络唤醒封包后,随即将一讯号,即电源管理事件(Power Management Event,PME)讯号,分别传送至可程序化控制装置102a以及计算机系统106(步骤204)。
在此实施例中,计算机系统106利用一南桥芯片(图未示)接收来自网络适配卡104的电源管理事件讯号。依照计算机系统106所处的不同状态,本发明会做出不同的对应步骤(步骤206)。当计算机系统106处于运转状态时,此南桥芯片忽略此电源管理事件讯号,计算机系统106会继续维持在正常的运转状态(步骤212)。当此计算机系统106处于睡眠状态时,此南桥芯片在接收到电源管理事件讯号后,会唤醒计算机系统106,使计算机系统106被激活并恢复至运转状态(步骤214)。而当此计算机系统106处于异常关机状态时,例如当机状态或是其电源被不正当地断电,则在接收到此电源管理事件讯号之后,其南桥芯片无法对此电源管理事件讯号做出相对的响应(步骤216)。
本发明中可程序化控制装置102a包含一接收模块112,一握手(Handshaking)模块114以及一重启模块116。接收模块112用来接收上述来自网络适配卡104的电源管理事件讯号。握手模块114会利用一握手协议与计算机系统106联络,以判断计算机系统106处于正常状态或异常关机状态。关于本实施例中的握手协议在之后做详细的描述。
图3是本发明可程序化控制装置的控制逻辑的流程图。当此可程序化控制装置102a接收到电源管理事件讯号时(步骤302),若此时计算机系统106被握手模块114判断为处于正常状态(步骤304),则此可程序化控制装置102a并不会重启此计算机系统106(步骤312)。若此时计算机系统106被握手模块114判断为处于异常关机状态(步骤304),则此可程序化控制装置102a会利用其重启模块116重启此计算机系统106(步骤314)。
图4是该握手协议一较佳实施例的示意图。在此实施例中,握手协议通过一缓存器402来完成。可程序化控制装置102a被设定成发送一第一讯号,具有高逻辑准位1,而计算机系统106则被设定成发送一第二讯号,具有低逻辑准位0,两者交替地写入缓存器402中。
因此,当缓存器402中所存资料的逻辑准位一直保持与第一讯号的逻辑准位(高逻辑准位1)相同时,即其并未如预期般地被计算机系统106改变成与第二讯号的逻辑准位(低逻辑准位0)相同时,则可得知此时计算机系统106处于异常关机状态。
图5是本发明另一较佳实施例的示意图,图6是图5中的较佳实施例的流程图,以下的说明请配合参照图5与图6。以下的实施例主要用来说明本发明如何应用在具有多台计算机的服务器系统中。当多台计算机系统均安装在机架(Rack)之上,且其中一计算机系统发生当机时,使用本发明可有助于使用者判断并重启此当机的计算机系统。
图5中可程序化控制装置102b较图1中可程序化控制装置102a多具有一监测模块122以及一数据输出端124。在此实施例中,利用一基板管理控制器(Baseboard Management Controller,BMC)芯片来作为本发明中可程序化控制装置102b。基板管理控制器芯片通常为一8051芯片直接配置于计算机系统106中的主机板,8051芯片本身即具有微处理器、内存以及输入/输出端口,且由备用电源(suspend power)来供给电源。基板管理控制器芯片会收集有关计算机系统106的系统健康和系统状态信息,且当有严重事件产生时可以立即执行纠正的动作。
通常基板管理控制器芯片的系统健康监测功能,是配合若干个数字传感器来实现,数字传感器能监视不同的系统电压、温度和风扇速度。基板管理控制器芯片采用主动轮询的方式,来发现与之连接的若干个传感器中,是否存在超出范围的传感器。
而且,为了使监视工作切实有效,基板管理控制器芯片可以根据不同的闸限值进行配置。例如,当基板管理控制器芯片检测到某个传感器的温度超过某个警告闸限时,就提高与该传感器位置对应的风扇的速度。再者,如果纠正动作所产生的效果不够,此超过某个警告闸线的温度就会超过另一个紧急闸限,此时基板管理控制器芯片就会切断系统电源、记录事件过程并通过网络向远程终端发警告。
首先,可程序化控制装置102b利用其监测模块122,来监测计算机系统106的系统状态资料,并且通过资料输出端124将系统状态资料传送至远程终端(步骤602)。当此计算机系统106处于异常关机状态,位于远程终端的观察者,例如中央控制程序或是服务器管理者,即可依照此系统状态资料来判断是否要重启计算机系统106(步骤604)。
以下分别来讨论如何判断是否可重启计算机系统106。若是计算机系统106的系统状态资料显示此计算机系统的硬设备发生故障,例如其散热风扇故障无法有效帮助散热,或是任一线路的电压值不正确时,则此时必须对此计算机系统的硬设备作进一步的检测与修理,不可贸然地重启此计算机系统106(步骤622)。
另一方面,若是计算机系统106的硬设备并无发生任何问题,只因为某一噪声(noise)的影响使其发生当机的情形,或者是其电源被不正当地断电,但是并未对其硬设备造成任何伤害,则此时可发送网络唤醒封包至网络适配卡104,以重启此计算机系统106(步骤612)。
同样地,当网络适配卡104接收到此网络唤醒封包后,会分别传送一电源管理事件讯号至可程序化控制装置102b以及计算机系统106(步骤614)。然而,由于计算机系统106已处于异常关机状态,因此由网络适配卡104直接传送过来的电源管理事件讯号并不会对计算机系统106产生任何作用。
而本发明可程序化控制装置102b,已利用其握手模块114确认计算机系统106处于异常关机状态。因此,当可程序化控制装置102b的接收模块112接收到来自网络适配卡104的电源管理事件讯号之后,则此可程序化控制装置102b会利用其重启模块116重启此计算机系统106(步骤616)。
在此实施例中,本发明可程序化控制装置为一可程序化控制芯片,直接配置于计算机系统中的主机板。然而,此可程序化控制芯片也可配置于一适配卡中,再与计算机系统连接,或是配置于另一外接计算机系统,再利用传感器与连接线路与要控制与监测的计算机系统连接。值得注意的是,本发明也可为其它可程序化控制装置,例如一位于适配卡上的电路系统或一外接计算机系统中的监控/控制程序,也符合本发明的精神与范围。
由上所述可知,本发明的网络唤醒装置,通过其可程序化控制装置中所设定的操作逻辑,可使得位于远程终端的中央控制程序或是服务器管理者,直接利用网络唤醒封包重启处于异常关机状态的计算机系统。此外,配合可程序化控制装置中的监测模块,可在上述重启计算机系统步骤前,先行确认计算机系统的硬设备是否具有任何问题,除了避免重启硬设备有问题的计算机系统而造成更大的损失,而且也可免除现有要重启安装于框架中的多台计算机一时的困难。
权利要求
1.一种网络唤醒装置,其可用于重启计算机系统,其特征在于该装置包含一与该计算机系统连接的可程序化控制装置以及一与该可程序化控制装置和该计算机系统均连接的接口装置,其中当该接口装置接收到一网络唤醒封包后,该接口装置会分别发送一管理讯号至该可程序化控制装置以及该计算机系统;其中该可程序化控制装置利用一握手协议判断该计算机系统是否异常关机状态,且当该计算机系统接收到该管理讯号并同时处于该异常关机状态时,该可程序化控制系统对该计算机系统发出一开机讯号,以重启该计算机系统。
2.根据权利要求1所述的网络唤醒装置,其特征在于该可程序化控制装置进一步包含一用来监测该计算机系统的系统状态并产生一系统状态资料的监测模块及一用来发送该系统状态资料的资料输出端。
3.根据权利要求1所述的网络唤醒装置,其特征在于该可程序化控制装置是一可程序化控制芯片,该接口装置是一网络适配卡,该管理讯号是一电源管理事件讯号,且该计算机系统具有一用来接收该管理讯号的南桥芯片。
4.一种网络唤醒方法,其特征在于该方法包含以下步骤发送一网络唤醒封包至一接口装置;该接口装置接收到该网络唤醒封包后,分别发送一管理讯号至一可程序化控制装置以及一计算机系统;其中,当该计算机系统处于一运转状态时,该计算机系统忽略该管理讯号,当该计算机系统处于一休眠状态时,该管理讯号唤醒该计算机系统,以及当该计算机系统处于一异常关机状态时,该可程序化控制装置接收到该管理讯号后会重启该计算机系统。
5.根据权利要求4所述的网络唤醒方法,其特征在于该网络唤醒方法进一步包含利用该可程序化控制装置与该计算机系统间的一握手协议,来判断该计算机系统处于一正常状态或该异常关机状态,其中该正常状态包含该运转状态与该休眠状态。
6.根据权利要求5所述的网络唤醒方法,其特征在于利用该握手协议的步骤包含该可程序化控制装置与该计算机系统分别发送一第一讯号与一第二讯号以交替写入于一缓存器,其中该第一讯号与该第二讯号的逻辑准位相反;其中当该缓存器中所存的资料的逻辑准位保持与该第一讯号之逻辑准位相同时,该计算机系统处于该当机状态。
7.根据权利要求4所述的网络唤醒方法,其特征在于该可程序化控制装置为一可程序化控制芯片,该接口装置为一网络适配卡,该管理讯号为一电源管理事件讯号,且该计算机系统具有一南桥芯片,用以接收该管理讯号。
8.根据权利要求4所述的网络唤醒方法,其特征在于该网络唤醒方法进一步包含监测该计算机系统的系统状态并产生一系统状态资料,并根据该系统状态资料,判断是否发出该网络唤醒封包。
9.一种可程序化控制装置,其与一计算机系统连接,其特征在于该可程序化控制装置至少包含一用来接收来自一接口装置的一管理讯号的接收模块、一握手模块以及一用来发送一重启讯号至计算机系统的重启模块,该握手模块利用一握手协议与该计算机系统联络以判断该计算机系统是否处于一异常关机状态,其中当该可程序化控制装置判断该计算机系统处于该异常关机状态,且该可程序化控制装置接收到该管理讯号时,该重启讯号会重启该计算机系统。
10.根据权利要求9所述的可程序化控制装置,其特征在于该握手模块与该计算机系统分别发送一第一讯号与一第二讯号以交替写入于一缓存器,且该第一讯号与该第二讯号的逻辑准位相反,当该缓存器中所存的资料的逻辑准位保持与该第一讯号的逻辑准位相同时,该计算机系统处于该异常关机状态。
11.根据权利要求9所述的可程序化控制装置,其特征在于该可程序化控制装置进一步包含一监测模块,监测该计算机系统的系统状态并产生一系统状态资料;以及一资料输出端,发送该系统状态资料。
12.根据权利要求9所述的可程序化控制装置,其特征在于该接口装置为一网络适配卡,且该管理讯号为一电源管理事件讯号。
全文摘要
一种网络唤醒装置,包含一可程序化控制装置、一计算机系统以及一接口装置。当接口装置接收到一网络唤醒封包后,会分别发送一电源管理事件讯号至可程序化控制装置与计算机系统。若计算机系统处于正常状态,例如睡眠状态以及运转状态,则当其接收到此电源管理事件讯号时,处于睡眠状态的计算机会激活并恢复至运转状态,而处于运转状态的计算机系统则会继续维持运转。若计算机系统处于异常关机状态,例如当机状态或是其电源被不正当地断电,则当其接收到此电源管理事件讯号时,此可程序化控制装置会利用一重启模块重启此计算机系统。本发明还涉及一种利用上述网络唤醒装置的实现网络唤醒功能的方法。
文档编号G06F1/30GK1595331SQ0315892
公开日2005年3月16日 申请日期2003年9月9日 优先权日2003年9月9日
发明者黄章枢 申请人:华宇电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1