网络设备及监视其启动的方法

文档序号:6487285阅读:110来源:国知局
专利名称:网络设备及监视其启动的方法
技术领域
本发明涉及一种网络设备以及一种用于监视这种设备的软件启动的方法。
背景技术
单机联网设备(例如,DSL调制解调器、网桥或路由器或它们的组合)用来例如将局域网与诸如因特网之类的接入网接口连接。
通常,单机设备包括永久性存储器(也称作板上存储器装置),例如只读存储器(ROM)和/或电可擦除可编程只读存储器(EEPROM)。除了其他的数据和软件之外,这种存储器包含发起启动以及运行设备所必需的数据和软件,例如设备配置参数、引导软件和固件。
为了确保它们的启动,某些单机设备包含上述某些项目(即,设备配置、引导软件和固件)的两份拷贝。但是某些调制解调器可能只具有大小刚好足以容纳这些数据的单份拷贝的永久性存储器。
在这种情形中,如果这些数据被破坏,则设备停止正常运行,直至永久性存储器恢复新的有效固件或配置或引导程序。
例如,当调制解调器从适当的服务器下载升级软件时可能发生这种状况。因为永久性存储器只能保持软件的一份拷贝,所以在完全记录更新的软件之前擦除旧软件。如果在下载期间连接被切断或者设备断电,则软件被破坏。
设备还可能由于软件或硬件故障而在通电阶段停止或自动重启。
在这种情形中,设备常常停止正常运行,并且利用LED指示器向终端用户通知问题状态。
例如,从US 6,526,092中已经得知,允许调制解调器通过电话线将更新的操作代码下载到主个人计算机,并且从主个人计算机通过串行端口对调制解调器的存储器进行重编程。该过程受用户控制。

发明内容
本发明提出了一种用于连接到局域网的网络设备,所述网络包括至少一个软件服务器,所述设备包括用于存储软件的永久性存储器,其特征在于包括-用于连接到所述网络的通信装置,-用于监视所述设备的启动以便检测软件故障的装置,-用于响应于所述监视装置检测到故障而生成软件故障信号,并且自动在所述网络上发送故障通知的装置,其中在所述网络上广播所述通知,以便由所述至少一个软件服务器接收。
这样,用户不需要干预故障改正过程,除非服务器决定这是必需的。优选地,服务器包括用于分析故障类型以及用于自动采取改正动作的应用程序。
具体地说,根据本发明的优选实施例,当故障是软件启动故障时,用于生成故障信号的装置适于请求从软件服务器自动将替换软件下载到存储器装置中。
这样,该实施例的永久性存储器只需要保持一份软件拷贝,并且具有与保持两份拷贝的软件或数据的设备相同等级的鲁棒性。
有利的是,无延迟地进行软件下载。
本发明还提出了一种用于监视网络设备的软件启动的方法,所述设备包括用于存储软件的永久性存储器以及用于连接到网络的通信装置,所述网络包括至少一个软件服务器,所述方法包括如下步骤-监视所述设备的软件启动,以便检测软件启动故障,-响应于检测到软件启动故障,生成软件启动故障信号,-自动在所述网络上广播所述软件故障信号,以便由所述至少一个软件服务器接收。


结合附图,考虑下面对本发明实施例的详细但非限制性的描述,可以容易地理解本发明的教导,附图中图1示出了包括根据本实施例的网络设备的系统的方框图;图2示意性地示出了根据本实施例的原理并适于在图1的系统中使用的处理方法的流程图;以及图3示意性地示出了图2所示的方法的更多细节的流程图。
具体实施例方式
图1示出了结合有根据本发明的单机设备1的系统的方框图。
该网络设备1存在于能够处理数据传输通信的任何设备中。例如,其可以是DSL类型调制解调器或其他单机联网设备。该设备连接到局域网2,服务器3和/或具有故障处理应用程序的设备(未示出)也连接到该局域网2。
网络设备1具有永久性板上存储器装置4,例如电可擦除可编程只读存储器(EEPROM)。该永久性存储器保存多个项目。根据本发明,除了其他数据和软件程序之外,该存储器存储设备启动和运行所必需的数据和软件程序例如,设备配置参数5、引导软件6和固件7。
设备配置5是一组参数,其中包括调制解调器的序列号和网络地址。
固件7存在于写入存储器中的、应用程序级软件不可擦除的任何软件中,即,具有一定保护的软件。在本实施例中,固件例如包括调制解调器的操作系统。虽然在下文中通过下载可以全面替换固件,但是固件可以包括不同的项目,并且本发明不限于大批下载,而是可以扩展为测试并下载单独的项目。
事实上,单机设备1还包括数据处理单元,例如运行不同程序的微处理器以及非永久性存储器,但是为了清楚的原因这里没有表示出来。永久性存储器中存储的软件在执行之前被复制到非永久性存储器(例如,RAM)。
单机设备还包括位于板上存储器装置4与连接到网络2的网络通信装置9之间的数据传输模块8。
传输模块8例如可以采用标准化引导程序协议(BOOTP)以及文件传输协议(TFTP)来通过局域网2在服务器3与设备1之间交换信息。如果设备是根据本发明的DSL调制解调器,则其还包括相应的PSTN接口以及相关电路,以实现其DSL功能。这些项目本身是公知的,并且在图1中没有表示出来。
模块8和10可以是硬件实现的,或者可以是由微处理器从非永久性存储器运行的软件模块。
根据本发明,单机设备1还包括能够控制设备的软件启动的监视装置10。
这些监视装置10尤其检验固件7的有效性、存在和正确启动以及配置数据5的有效性。还可以检验永久性存储器中的引导软件拷贝,但是将不会更详细地进行描述。
特别是在启动过程中出现任何问题的情形中,这些监视装置10生成固件启动故障信号,传输模块8和通信装置9通过数据传输网络2将该信号发送到软件服务器3。
向软件服务器3所通知的该故障信号被关联到服务器发出的下载替换固件的BOOTP请求。用来发送该故障信号的BOOTP协议的帧部分指明要下载的软件类型或者适当的故障信号。例如,所述帧部分可以是BOOTP协议的“厂商特有可选字段”(vendor specific optionalfield)。
假设数据传输网络2中的应用程序(示例性地,是软件服务器3)维护其中存储了程序代码以及替换软件和/或配置数据的数据库。
响应此BOOTP请求,该服务器3使用传输模块8的TFTP协议和通信装置9将替换软件通过网络2发送到网络设备。
实际上,BOOTP消息包括设备的多个故障状态,下面将详细描述该过程。局域网上的另一设备将解释这些状态,并且决定改正动作,改正动作通常包括替换软件下载,但是还可以包括向用户通知故障信息。
有利的是,监视装置8还可以关联到按钮11,用户可手动操作该按钮,以触发通过网络下载固件和/或引导软件的请求。
优选地,视觉或声音报警器12连接到监视装置10,用于向用户通知启动故障。
图2示出了根据本实施例的单机设备1的启动过程的简化版本的流程图。所示出的步骤主要涉及测试软件(例如,存储器4中的固件)的有效性和存在。
在单机设备1通电时(步骤20),监视装置10开始固件测试步骤21,该步骤涉及启动设备1所必需的固件。如果在该测试步骤中没有检测到问题,则监视装置10在步骤22中检验固件是否存储在板上存储器装置4中。
如果固件缺失,则监视装置10生成软件启动故障信号F,并且重启设备1。
在步骤23,如果没有成功执行测试步骤21,则监视装置10通过使用传输模块8的BOOTP协议和通信装置9,请求通过传输网络2从软件服务器3下载替换固件。
在步骤24,软件服务器3通过使用传输模块8的BOOTP协议和通信装置9,通过传输网络2下载替换固件。
在步骤25,监视装置10控制下载的正确性。例如,当下载被中断时,监视装置10生成特定的固件故障信号F(包括故障类型的指示),并且重启设备1,从而可以发起新的下载。
如果正确执行了测试,则监视装置10在步骤26中加载固件,并且设置启动故障标记和定时器,以确定启动时限。如果固件正确执行了其启动,则重置标记。如果在达到启动时限时软件启动没有完成,则仍然设置标记,并且监视装置10生成软件启动故障信号F(也包括故障类型的指示,但不同于上述第一故障类型),并且重启设备1。反之,在步骤27,当正确执行了软件启动时,重置软件启动标记,并且不生成故障信号。
有利的是,根据本实施例,网络设备1在固件启动故障或缺少固件的情况下提供替换软件的自动请求和自动下载。这样,例如,自动修复启动故障,并且用户甚至都没有注意到故障的存在。
具体地说,图3的方框图示出了根据该实施例的单机设备的启动过程的详情。
当对网络设备发起通电条件时,该过程从步骤30开始。然后,图3的过程由监视装置10使用公知的BOOTP和TFTP协议来执行。
在步骤31,执行初始测试。通常,监视装置10检验永久性存储器4的可用性以及非永久性存储器的正常操作。
在步骤32,根据本发明,有利的是,确定是否存在设备配置故障或者终端用户是否按动了激活按钮11以请求软件下载。
如果这些状况之一出现,则监视装置10跳到步骤33,并且控制板上存储器装置4中存储的配置数据的有效性。
设备配置5通常由签名或校验和来保护。这种签名或校验和被寄存在设备1的板上存储器装置4中。一种控制设备配置有效性的经典且简单的方法是,重新计算其校验和,并且将该校验和与所寄存的校验和相比较。如果两者不匹配,则设备配置5不再有效。在这种情形中,监视装置10设置相应的故障标记34。
有利的是,将该标记34编码,以传送关于所遭遇的故障类型的信息。在上述情形中,故障标记34包括指示存在设备配置故障的信息状态。
取决于配置数据的类型,配置数据故障可以或不可以通过下载来改正。在后一种情形中,设备发出的BOOTP消息被其他网络设备解释为指示该设备不再可以使用,并且应将其视为无用。
如果步骤33中配置有效,这意味着终端用户按动了按钮11来触发固件下载。这样,监视装置10仍然设置启动故障标记35。该故障标记35指定用户已经请求了固件下载。
如果没有请求下载并且设备配置不存在问题时,则在步骤32之后,监视装置10在步骤36中检验板上存储器装置4中寄存的固件程序7的有效性。
进行这种检验的一种简单方法是,控制其验证模式(闪速验证模式,FVP)的存在及有效性。验证模式是检验软件或数据完整性的一种经典工具。当固件被成功记录在永久性存储器4中时,计算验证模式,并且还将其写入存储器4中。如果设备在存储固件时遭遇电源故障或其他问题,则与该固件相对应的验证模式也没有被存储或者是错误的。
因此,在步骤36,监视装置10利用固件验证模式来检验固件的有效性。如果模式无效,则设置故障标记37。相对于其他测试步骤,这一特定故障标记指示故障的本质。
在步骤38,监视装置10检验故障标记34、35、37的设置。如果设置了至少一个标记,则监视装置10将使用传输模块8的BOOTP协议和通信装置9,自动通过传输网络2向服务器3发送故障信号。该消息包含故障标记状态。
与网络设备捆绑在一起的应用程序(例如,软件服务器3的应用程序)侦听这些信号,并且解释故障状态信息。在解释该信息之后,这些应用程序确定动作,这些动作包括开始将固件下载到网络设备1和/或将问题通知给用户(例如,在发生致命的配置故障时,因为不可能改正故障,所以通知用户)中的至少一个动作,在确定动作时优选地不需要终端用户的任何干预。如果在一定次数的重试之后不能正确执行下载,也可以通知用户。为此,可以实现尝试次数的计数器,在每一条例如请求固件下载的BOOTP消息之后该计数器适当增加。
具体地说,传输模块8在由监视装置10在网络上发送的适当BOOTP协议消息的“厂商特有可选字段”中指示问题状态。该字段的标准应用是向应用程序传送特定限制或额外的客户端信息。
换句话说,优选地,在网络上广播该消息,而不是专门针对预定服务器。网络上的任一设备都可以充当服务器,只要其具有合适的应用程序来侦听、分析该消息并对该消息做出响应。
在下载替换软件之后,将替换软件存储在永久性板上存储器装置4中。该步骤的标号为39。
在步骤40,监视装置10控制替换软件下载时没有任何中断并且被正确记录。
当所下载的软件是固件时,在步骤41,数据处理单元检验替换固件,并且计算其闪速验证模式(FVP),并将其记录在存储器4中。
如果替换软件被破坏,或没有被正确下载或记录,则监视装置10设置相应的故障标记42。然后,重启单机设备1。当然,对这些标记进行存储,使其不会受到重启过程的影响。在步骤31,设备测试是否设置了标记42,并且发送相应的BOOTP消息以请求固件下载。
在步骤43,如果在步骤38中没有检测到故障标记,则监视装置10控制板上存储器装置4中固件的存在。有多种不同的方法可以用来检验这种存在。例如,可以通过检测固件代码的固定位置中的指定标识代码,来检验固件的存在。根据本发明,也可以使用其他方法。
如果没有寄存软件,则监视装置10设置故障标记44,并且在步骤30重启调制解调器,以便基于如上设置的标记来处理故障。
如果执行步骤41或步骤43时没有任何问题,则监视装置10在步骤45设置启动标记,并且触发启动定时器,然后在步骤46加载并启动固件。
在成功启动之后,固件重置启动标记,确认固件正常启动。然而,如果在启动时间过去之前没有执行启动,则监视装置10设置问题标记48,并且在步骤30重启设备,以处理相应故障。
作为总结,图3的过程定义了五个问题状态-软件(固件)启动错误固件在启动过程中中止,或者在没有正确启动时重启;-无效配置;-失败的软件(固件)下载(例如,下载过程的中断);-缺少软件;-向永久性存储器写入下载软件失败(验证模式不正确)。
其他状态可以触发软件下载-用户按动设备的机械按钮,以请求固件下载;-固件通过网络接收到执行固件更新的请求。
监视装置在引导过程开始时或者在执行引导过程期间检验标记。可以明确请求下载,或者可以向侦听设备消息的应用程序发出关于下载的决定。
本发明并不局限于这里所公开的优选实施例。实际上,可以下载任何类型的软件或数据。并且还可以使用TFTP和BOOTP协议之外的其他协议来执行这种处理。
权利要求
1.用于连接到局域网的网络设备,所述网络包括至少一个软件服务器,所述设备包括用于存储软件(5、6、7)的永久性存储器(4),其特征在于包括-用于连接到所述网络的通信装置(8、9),-用于监视所述设备的启动以便检测软件故障的装置(10),-用于响应所述监视装置检测到故障而生成软件故障信号,并且自动在所述网络上发送故障通知的装置(10),其中在所述网络上广播所述通知,以便由所述至少一个软件服务器接收。
2.根据权利要求1所述的设备,其特征在于所述故障信号包括指定下列各项中至少一项的信息-故障的本质,-要下载的替换软件的标识,-所述永久性存储器中当前存储的软件的版本的标识。
3.根据前述权利要求中任一项所述的设备,其特征在于所述软件包括下列各项中至少一项-引导程序(6),-配置数据(5),-固件(7)。
4.根据权利要求3所述的设备,其特征在于所述软件包括固件,所述用于监视启动的装置(10)包括-用于检验(36)当前固件验证模式的有效性的装置(10),和-用于在该验证模式无效时生成(39)特定软件启动故障信号(37)的装置(10)。
5.根据权利要求1所述的设备,其特征在于所述用于监视启动的装置(10)包括-用于计算(33)当前软件的校验和的装置,-用于比较(33)所计算的校验和与预先存储的校验和的装置,-用于在所计算的校验和与所存储的校验和不相同时生成(39)软件启动故障信号(34)的装置。
6.根据权利要求3所述的设备,其特征在于所述存储器包括固件,所述用于监视启动的装置(10)包括-用于检验(43)所述存储器装置(4)中固件存在的装置,-用于在所述存储器(4)中没有存储固件时重启(30)所述单机设备的装置,-用于在所述存储器(4)中没有存储固件时生成(39)软件启动故障信号(44)的装置。
7.根据前述权利要求中任一项所述的设备,其特征在于所述用于监视启动的装置(10)包括-用于检验(40)所述存储器(4)中替换软件下载的装置,-用于在该下载期间检测到问题时重启(30)所述设备的装置以及用于生成软件启动故障信号(42)的装置。
8.根据权利要求3或4以及7所述的设备,其特征在于所述软件包括固件,并且所述设备包括-用于在替换固件(7)被正确记录在所述存储器(4)中时,将与所下载的替换固件相对应的替换固件验证模式(17)写入(41)存储器(4)中的装置。
9.根据前述权利要求中任一项所述的设备,其特征在于所述用于监视启动的装置(10)包括-用于检验(46)软件加载过程的装置,-用于在该加载期间出现问题时重启(30)所述单机设备的装置以及用于生成软件启动故障信号(48)的装置。
10.根据前述权利要求中任一项所述的设备,其特征在于所述用于监视启动的装置(10)包括-确定启动时限的定时器,-用于开始软件启动(45)的装置,所述软件适于在启动完成之后向所述监视装置指示启动结束,-如果在所述时限结束之前软件启动没有完成,用于生成软件启动故障信号(48)的装置。
11.根据前述权利要求中任一项所述的设备,其特征在于还包括与所述监视装置(10)连接的用户可动作装置(11),用于使用户能够手动请求替换软件下载。
12.根据前述权利要求中任一项所述的设备,其特征在于还包括与所述监视装置(10)连接的报警器(12),用于向用户通知启动故障。
13.根据前述权利要求中任一项所述的设备,其特征在于用于生成软件启动故障信号的装置(10)包括-用于检验(38)故障标记的设置的装置,以及-用于响应检测到所设置的故障标记而生成(39)软件故障信号并将该信号在所述网络上传输的装置。
14.根据前述权利要求中任一项与权利要求2所结合的设备,其中故障本质的指示包括一系列状态标记。
15.根据权利要求14所述的设备,其中所述通知还包括所述永久性存储器中当前存储的软件的版本的标识。
16.用于监视网络设备的软件启动的方法,所述设备包括用于存储软件(5、6、7)的永久性存储器(4)以及用于连接到网络(2)的通信装置(8、9),所述网络包括至少一个软件服务器(3),所述方法包括如下步骤-监视(32、33、36、38、40、43、46)所述设备的软件启动,以便检测软件启动故障,-响应检测到软件启动故障,生成软件启动故障信号(34、35、37、42、44、48),-自动在所述网络(2)上广播(39)所述软件故障信号,以便由所述至少一个软件服务器接收。
17.根据权利要求16所述的方法,其特征在于所述软件故障信号包括向所述至少一个软件服务器请求(39)将替换软件下载在所述存储器(4)中的请求。
18.根据权利要求16所述的方法,其中所述软件故障信号包括所述故障的标识以便由所述至少一个服务器进行分析。
全文摘要
本发明涉及一种用于连接到局域网的网络设备以及一种用于监视这种设备的启动的方法。该设备包括用于存储软件(5、6、7)的永久性存储器(4),并且有利地还包括用于连接到所述网络的通信装置(8、9);用于监视所述设备的启动以便检测软件故障的装置(10);用于响应在网络上检测到故障而生成软件故障信号的装置,其中在所述网络上广播所述通知,以便由所述至少一个软件服务器接收。
文档编号G06F11/14GK1809816SQ200480017493
公开日2006年7月26日 申请日期2004年6月25日 优先权日2003年6月30日
发明者本·范黑格恩多伦, 科恩·德布鲁因, 迪里克·范德珀尔 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1