设备监测系统、监测程序和监测方法及装置 【技术领域】
本发明涉及设备监测系统、监测程序和监测方法及装置,用于使用至少一个设备管理服务器对网络上的多个设备进行管理。
背景技术
一般来说,在使用一个或多个设备管理服务器对网络上的多个设备进行管理的网络系统中,(这些)设备管理服务器周期性地或根据需要对每个设备进行询问,校验来自设备的响应,从而监测每个设备的状态,包括其运行状态。
(专利文献1)
日本专利特开第2001-67334号
(专利文献2)
日本专利特开第2002-57680号
不过,这样的询问—响应式监测方案具有下列问题。
即,在使用询问—响应式监测方案时,其中一个设备接一个设备地重复进行询问和响应,当网络规模增大、设备的数量增多时,设备管理服务器上的负荷以及网络流量也相应地增加了。这就要求配备高规格服务器和宽带网络干线,这会导致成本的大幅增加。
而且,由于只有设备管理服务器进行询问才能知道每个设备的状态,如果为了减少流量等而增大询问的时间间隔的话,异常检测将会花费时间,从而使得快速响应无法实现。
为有效地解决上述问题而提出了本发明。其主要目的是提供设备监测系统、设备监测程序以及设备监测方法,这些可以可靠地监测设备,而不会增加设备管理服务器上的负荷或增加网络流量。
【发明内容】
(发明1)
为了实现上述目的,发明1是经由网络与多个设备相连的设备监测系统,其中所述多个设备中的每一个都设有设备监测功能,用于:对不同于该监测设备的另一设备进行监测,并将该被监测设备的状态变化通知给不同于所述另一设备的第三设备。
因此,即使没有经过网络定期地对每个设备进行询问,其状态中地任何变化也将由对其进行监测的设备通知给其它设备。这使得可以避免设备管理服务器等上的负荷以及网络流量的增加,这种增加通常是由询问造成的。
而且,所有设备都由一个或多个设备监测,因此它们的状态中的任何变化都可以被可靠地通知给其它设备。在本发明中,通常,术语“另一设备”(或“另一个设备”)表示被监测设备所监测的设备,而术语“第三设备”表示被通知了关于“另一个设备”的状态的设备(下文中用法相同)。
(发明2)
发明2是经由网络与多个设备相连接的设备监测系统,其中所述多个设备中的每一个都设有设备监测功能,用于:对不同于该监测设备的另一设备进行监测,并将该被监测设备的任何异常情况通知给不同于所述另一设备的第三设备。
因此,与发明1的情况一样,即使没有经过网络定期地对每个设备进行询问,任何设备的异常情况也都由对其进行监测的设备通知给其它设备。这使得避免设备管理服务器上的负荷以及网络流量的增加成为可能,这种增加通常是由询问造成的。
而且,根据本发明,把正被监测的设备的“异常情况”通知给其它没备,但是与发明1不同的是,没有把所述设备的状态变化通知给其它设备,除非这些状态变化是异常的。这样,较之发明1,降低了通知的频率,从而使得进一步减少设备管理服务器上的负荷以及网络流量成为可能。
顺便说一下,本发明并没有具体规定“异常情况”的识别标准,不过对于普通设备而言,典型的异常情况包括诸如建立网络连接失败这样的错误,对于打印机而言,异常情况包括:卡纸、缺墨(色粉)等,即,设备不能起到它们应当起到的作用并且需要立即修理、检查、补充等的情形。
与此不同的是,发明1中所述的“状态中的变化”具有更加宽泛的含义,并且包括异常情况。它包括设备状态中的每一种可能变化,它们可能是伴随设备操作而发生的,例如耗材的剩余量和设备的启动时间,如后面将详细介绍的那样(下文中用法相同)。
(发明3)
发明3是一种设备监测系统,其包括:与网络相连接的多个设备;和设备管理服务器,用于管理所述多个设备,其中所述多个设备中的每一个都设有设备监测功能,用于:对不同于该监测设备的另一设备进行监测,并将该被监测设备的状态变化通知给不同于所述另一设备的第三设备。
与发明1的情况一样,这使得可以避免设备管理服务器等上的负荷以及网络流量的增加,这种增加是由询问造成的,并且可以可靠地将被监测设备的任何状态变化通知给其它设备。
而且,由于本发明除了要监测的设备之外还包括设备管理服务器,通过将被监测设备的状态变化通知给设备管理服务器,可以减少在发送和接收状态变化通知时各个设备上的负荷。
(发明4)
发明4是一种设备监测系统,其包括:与网络相连接的多个设备;和设备管理服务器,用于管理所述多个设备,其中所述多个设备中的每一个都设有设备监测功能,用于:对不同于该监测设备的另一设备进行监测,并将所述被监测设备的任何异常情况通知给不同于所述另一设备的第三设备。
与发明1中的情况一样,这使得可以避免设备管理服务器等上的负荷以及网络流量的增加,这种增加是由询问造成的,并且可以可靠地将被监测设备的任何异常情况通知给第三设备。
而且,与发明2中的情况一样,只把正被监测设备的“异常情况”通知给第三设备。这样降低了通知的频率,从而使得可以进一步减少设备管理服务器上的负荷以及网络流量。
而且,与发明3中的情况一样,由于本发明除了要监测的设备之外还包括设备管理服务器,通过将被监测设备的状态变化通知给设备管理服务器,可以减少在发送和接收状态变化通知时各个设备上的负荷。
(发明5)
发明5是根据发明1到4中的任何一项的设备监测系统,其中所述多个设备中只有一些设有所述设备监测功能。
换句话说,虽然所有的设备都可以如在发明1到4中的情况那样设有设备监测功能,但是根据本发明,只有一些设备,例如,设备组中的一些设备设有设备监测功能。
因此,如果一代表性的设备对其它设备进行监测并将任何异常情况通知给其它设备及设备管理服务器,那么较之所有设备都设有设备监测功能的情况,可以降低单个设备的制造成本。
(发明6)
发明6是根据发明1到5中的任何一项的设备监测系统,其中所述设备监测功能包括:设备检测部,用于识别与网络相连接的其它设备的存在;设备管理表创建部,用于创建设备管理表,该设备管理表用来从所识别出的其它设备中标识要监测的设备;设备管理表存储部,用于存储所创建的设备管理表;状态信息检测部,用于对有关监测设备的状态信息进行检测;状态信息发送部,用于将有关监测设备和被监测设备的状态信息发送给第三设备或设备管理服务器;以及状态信息接收部,用于接收至少来自任何其它设备状态信息。
这种配置使得可以有效地监测网络上的所有设备,并且允许每个设备可靠地获取并发送所检测到的状态信息。
(发明7)
发明7是根据发明1到6中的任何一项的设备监测系统,其中所述设备是打印机。
这使打印机可以通过网络互连起来,以互相通知另一个打印机的任何状态变化或异常情况。
(发明8)
发明8是由根据发明1到7中的任何一项的设备监测系统所用的设备监测程序,其中该设备监测程序使计算机实现了根据发明1到7中的任何一项的设备监测系统的设备监测功能。
这提供了与发明1到7相同的效果。此外,与使用硬件实现同样功能的情况相比,这使得可以更加容易且经济地利用通用计算机或设备的部分内置计算机功能来将设备监测功能实现为软件。
(发明9)
发明9是用于设备监测系统的设备监测程序,其中该设备监测程序使计算机实现了设备监测功能,用于:对不同于该监测设备的另一设备进行监测,并且将所述被监测设备的任何异常情况都通知给不同于所述另一设备的第三设备。
这提供了与发明8相同的效果。此外,与使用硬件实现同样功能的情况相比,这使得可以更加容易且经济地利用通用计算机或设备的部分内置计算机功能来将设备监测功能实现为软件。
(发明10)
发明10是一种设备监测程序,该设备监测程序使安装在与网络相连的多个设备中的每一个上的计算机作为下述部分执行:设备检测部,用于识别安装有所述计算机的其它设备的存在;设备管理表创建部,用于创建设备管理表,该设备管理表用来从所识别出的其它设备中标识要监测的设备;设备管理表存储部,用于存储所创建的设备管理表;状态信息检测部,用于检测有关监测设备的状态信息;状态信息发送部,用于将有关监测设备和被监测设备的状态信息发送到不同于该监测设备和被监测设备的其它设备或设备管理服务器;以及状态信息接收部,用于接收至少来自任何其它设备的状态信息。
这提供了与发明8相同的效果。此外,与发明9的情况相同,较之使用硬件实现同样功能的情况,这使得可以更加容易且经济地利用通用计算机或设备的部分内置计算机功能来将设备检测功能实现为软件。
(发明11)
发明11是一种用于网络上的多个设备的设备监测方法,其中,所述多个设备定期地或者根据需要对它们的状态彼此进行监测,并且发现任何正被监测状态的变化的任何设备都将把该变化通知给其它设备或设备管理服务器。
与发明1中的情况一样,这使得可以避免设备管理服务器等上的负荷以及网络流量的增加,这种增加是由询问造成的,并且可以可靠地将被监测设备的任何状态变化通知给其它设备。
(发明12)
发明12是一种用于网络上的多个设备的设备监测方法,其中所述多个设备定期地或者根据需要对异常情况彼此进行监测,并且发现正被监测的异常情况的任何设备都将把该异常情况通知给其它设备或设备管理服务器。
与发明1中的情况一样,这使得可以避免设备管理服务器等上的负荷以及网络流量的增加,这种增加是由询问造成的,并且可以可靠地将被监测设备的任何状态变化通知给其它设备。
而且,与发明2中的情况一样,只把正被监测设备的“异常情况”通知给其它设备。这样就降低了通知的频率,从而使得可以进一步减少设备管理服务器上的负荷以及网络流量。
(发明13)
发明13是根据发明11或12的设备监测方法,其中所述通知包括关于被监测设备的日志信息。
这使得不仅可以标识已经显露出异常情况等的设备,而且还可以检查包括异常情况等的发生时间在内的操作历史。
(发明14)
发明14是根据发明11到13中的任何一项的设备监测方法,其中每个设备对逻辑上或物理上接近的设备进行监测。
具体来说,逻辑上接近的设备是那些功能上类似或属于同一类别的设备。比如打印机和打印机、打印机和扫描仪等。物理上接近的设备是那些真正安装在接近范围内的设备,例如放置在同一厨房中的微波炉和电冰箱(下文中用法相同)。
因此,如果选择逻辑上或物理上接近的设备进行彼此监测,由于两个设备通常处于开启状态并且同时在运行,如果其中任何一个发生了故障,那么就可以立即识别出该故障。
(发明15)
发明15是根据发明11到14中的任何一项的设备监测方法,其中每个设备对功能上类似的设备进行监测。
由于功能上类似的设备通常同时运行,与逻辑上或物理上接近的设备的情况一样,如果它们其中一个发生了故障,那么就可以立即识别出该故障,这与发明12的情况相同。
(发明16)
发明16是根据发明11到15中的任何一项的设备监测方法,其中每个设备对在生产时间上相差一段时间或更长时间的设备进行监测。
如果选取在相同时期制造的设备进行彼此监测,并且如果把旧设备配对在一起,在最坏的情况下,两个设备可能会同时故障停机,而它们的故障根本就不会被通知给设备管理服务器。
因此,按照本发明的情况,通过将在生产时间上相差一段时间或更长时间的设备配对,即,通过根据生产日期将旧设备和新设备配对成监测伙伴,可以几乎消除两个设备同时都故障停机的可能性,从而能够可靠地将它们中任何一个的任何故障通知给设备管理服务器。
(发明17)
发明17是根据发明11到16中的任何一项的设备监测方法,其中每个设备根据由母设备创建的设备管理表来确定要监测的设备。
这使得可以顺利地确定要由每个设备监测的设备,避免漏掉任何未被监测的设备,从而实现了有效且高度可靠的设备监测系统。
(发明18)
发明18是根据发明17的设备监测方法,其中所述设备管理表是由母设备根据从设备管理服务器获取的设备管理方法参数来创建的。
这使每个设备都可以容易地创建设备管理表,而不用每次都获知相同网络上的设备的数量、类型等。
(发明19)
发明19是根据发明17或18的设备监测方法,其中所述网络上的多个设备中首先启动的设备成为母设备。
这样,通过灵活地使首先启动的设备成为母设备而非确定固定的母设备,就可以快速地确定母设备,从而使系统平稳地工作。
(发明20)
发明20是根据发明17到19中的任何一项的设备监测方法,其中当所述母设备停止操作时,检测到该关机的设备取而代之充任母设备。
因此,即使母设备停止操作或故障停机,另一设备也会迅速地充任母设备,使系统可以继续平稳地运行,如发明17中的情况那样。
(发明21)
发明21是根据发明17到20中任何一项的设备监测方法,其中当所述母设备关机时,第一个接收到来自该母设备的关机通知的设备取而代之充任母设备。
因此,与发明20中的情况一样,即使所述母设备停止操作,另一设备也会迅速地充任母设备,使系统可以继续平稳地运行。
(发明22)
发明22是根据发明17到21中的任何一项的设备监测方法,其中XML协议被用作用于设备中的通信部以及设备与设备管理服务器之间的通信部的数据描述格式。
使用在因特网上使用的这种标准协议使得不仅可以在相同类型的设备之间容易且可靠地交换数据,而且可以在不同类型的设备之间或在不同厂商的设备之间容易且可靠地交换数据。
(发明23)
发明23是根据发明17到21中的任何一项的设备监测方法,其中打印机用作所述设备。
与发明7中的情况一样,这样就使打印机可以通过网络互连起来,以互相监测并通知另一打印机的任何状态变化或异常情况。
(发明24)
发明24是一种包括设备监测功能的设备,该设备监测功能用于:对不同于该监测设备的另一设备进行监测,并将该被监测设备的状态变化通知给不同于所述另一设备的第三设备。
与发明1中的情况一样,这使得可以避免设备管理服务器等上的负荷以及网络流量的增加,这种增加是由询问造成的,并且可以可靠地将被监测设备的状态变化通知给其它设备。
(发明25)
发明25是一种包括设备监测功能的设备,该设备监测功能用于:对不同于该监测设备的另一设备进行监测,并将该被监测设备的任何异常情况通知给不同于所述另一设备的第三设备。
因此,与发明1的情况一样,即使没有定期地询问每个设备,任何设备的异常情况也都由监测设备通知给其它设备。这使得可以避免设备管理服务器上的负荷以及网络流量的增加,这种增加通常是由询问造成的。
(发明26)
根据发明26的打印机是根据发明24或25的设备,其中该设备是打印机。
与发明7中的情况一样,这样就允许打印机通过网络互连起来,以互相通知另一打印机的任何状态变化或异常情况。
【附图说明】
图1是示出与设备监测系统相关的网络的配置的示意图;
图2是示出设备的设备监测功能的配置的示意图;
图3是示出设备管理服务器的状态信息处理功能的配置的示意图;
图4是示出设备监测系统的最小配置的示意图;
图5A和5B是示出设备监测表和状态通知方向的示意图;
图6是示出实现本发明系统的硬件配置的框图;
图7是示出设备管理方法参数的示例的示意图;
图8是示出获取设备管理方法的流程图;
图9是示出用于确定母设备的方法的流程图;
图10是示出用于确定母设备的另一种方法的流程图;
图11是示出从服务器获取设备管理方法的流程图;
图12是示出如何创建设备管理表的流程图;
图13是示出如何检测并存储状态信息的流程图;
图14是示出如何发送状态信息的流程图;
图15是示出如何查询状态的流程图;
图16是示出如何提供设备关机通知的流程图;
图17是示出根据常规方案在正常条件下服务器与设备之间的数据包流的示意图;
图18是示出根据常规方案在异常条件下服务器与设备之间的数据包流的示意图;
图19是示出根据本发明在正常状态下服务器与设备之间的数据包流的示意图;
图20是示出根据本发明在异常条件下服务器与设备之间的数据包流的示意图;
图21是示出在设备间交叉保持日志信息的示例的示意图;
图22是示出在设备关机时发生的信息流的示意图;
图23是示出可以应用本发明的网络配置的另一示例的示意图;
图24是示出可以应用本发明的网络配置的另一示例的示意图;
图25是示出可以应用本发明的网络配置的另一示例的示意图;
图26是示出可以应用本发明的网络配置的另一示例的示意图;
图27是示出可以应用本发明的网络配置的另一示例的示意图;
图28是示出可以应用本发明的网络配置的另一示例的示意图;
图29是示出可以应用本发明的网络配置的另一示例的示意图;
图30A和30B是示出设备监测表和状态通知方向的示意图;
图31A和31B是示出设备监测表和状态通知方向的示意图;
图32是示出设备的生产日期的示例的示意图;
图33是示出设备管理表的示例的示意图;
图34是示出设备管理表的示例的示意图;
图35是示出有关设备的生产日期等的信息的示例的示意图;
图36是示出如何根据生产时间等对设备进行配对以进行监测的示例的示意图;
图37是示出有关设备寿命等的信息的示例的示意图;
图38是示出有关设备的生产日期等的信息的示例的示意图;
图39是示出如何根据生产时间等对设备进行配对以进行监测的示例的示意图;
图40是示出有关设备的生产日期等的信息的示例的示意图;
图41是示出如何根据生产时间等对设备进行配对以进行监测的示例的示意图;
图42是示出如何传送操作历史的流程图;和
图43是示出涉及新设备添加的处理的流程图。
【具体实施方式】
下面将参照附图对本发明的优选实施例进行详细说明。
图1示出与本发明的设备监测系统相关的网络的最小配置。该系统包括:至少两个或更多个与网络N相连接的设备10,和至少一个或更多个设备管理服务器12。
对根据本发明的设备10没有具体的限制,只要它们可以连接到网络并可以经由网络N与设备管理服务器12进行通信就可以。它们一般包括网络可连接设备:例如,打印机、扫描仪、复印机、传真机、投影仪、数码相机、PC、音频设备、电视机、录像机、电冰箱、微波炉、加湿器、空调、洗衣机、电风扇、其它数字家用电子设备、便携式电话、PDA(个人数字(数据)助理)、电子报纸等的便携式终端、网卡、网关(包括家用网关)、路由器、桥接器,以及HUB。
“网络可连接”设备是安装有诸如下面所列的网络可连接通信接口的设备10。
也就是说,这种接口可以是兼容10BASE-2、10BASE-5、10BASE-10等的以太网接口;兼容100BASE-FX、100BASE-TX等的高速以太网接口;兼容1000BASE-SX、1000BASE-LX等的吉比特以太网接口;10吉比特以太网接口;FDDI(光纤分布式数据接口)接口;令牌环接口;兼容IEEE1394、IEEE802.11a、IEEE802.11b等的无线LAN接口;兼容USB1.1、USB2.0(高速USB)等的USB(通用串行总线)接口;蓝牙接口;或兼容IrDA(红外线数据交互)等的红外线通信接口。
除了每个设备所特有的功能外,设备10还设置有如图2所示配置的设备监测功能20。
设备监测功能20定期地或者根据需要对另一设备10进行监测,根据需要获取其状态信息,并经由网络N通知给设备管理服务器12。它主要包括:设备检测部21、设备管理表创建部22、设备管理表存储部23、状态信息检测部24、状态信息发送部25、状态信息接收部26、状态信息存储部27、通信部28、以及数据库29,如图2所示。
设备检测部21使网络N上的设备可以识别每个其它设备的存在,并且还可识别任何新增设备的存在。
设备管理表创建部22创建用于把网络N上的设备10配对以便它们彼此监测的表。所创建的任何设备管理表都由设备管理表存储部23存储在数据库29中。
例如,在具有图4所示的基于一个设备管理表对两个设备A和B进行管理的最小配置的的网络N中,设备管理表100规定一个设备A和另一个设备B如图5A所示那样彼此进行管理(监测)。而且,假定它们的状态信息如图5B所示那样相互传送并由这两个设备共享。
状态信息检测部24定期地获取本地状态信息,这些信息包括:例如,来自安装在设备各部上的传感器的错误、故障和空闲状态。
状态信息发送部25将由状态信息检测部24获取的本地状态信息传送给由设备管理表指定的另一设备,并将关于该另一设备的状态信息及本地状态信息传送给设备管理服务器或第三设备。
状态信息接收部26收状来自另一设备的接态信息。然后,所接收到的状态信息和由状态信息检测部24所获取的本地状态信息一起被状态信息存储部27存储在数据库29中。
通信部28提供了与设备管理服务器12及其它设备进行通信的能力。而且,它还提供了与网络N的接口,并且主要用于发送和接收状态信息。
另一方面,设备管理服务器12经由网络N集中地对设备10进行控制。此外,它还具有如图3所示那样配置的状态信息处理功能30。
如该图所示,状态信息处理功能30并在设备管理服务器12中,主要包括:状态信息接收部31、状态信息存储部32、状态信息分析部33、状态信息利用部34、通信部35、以及数据库36。
状态信息接收部31从设备10接收状态信息。在图4所示的示例中,当从设备A发出状态信息时,同时收到关于设备B的状态信息。类似地,当从设备B发出状态信息时,同时收到关于设备A的状态信息。
状态信息存储部32将状态信息存储在数据库36中,状态信息分析部33对该状态信息进行分析,并且状态信息利用部34使用该状态信息的分析结果。
通信部35提供与设备10进行通信的能力。而且,它还提供与网络N的接口,并接收来自设备10的状态信息。
顺便说一下,设备管理服务器12并不限于任何特殊的设备管理服务器,而可以是能够接收状态信息的任何设备,例如状态管理服务器、PC、工作站、PDA或便携式电话。它无需独立于所有设备,并且它可以与所述设备中的任何一个相组合在一起或并在其中。此外,其配置也不局限于本实施例的配置。
而且,各种处理功能,包括设备10的设备监测功能20和设备管理服务器12的状态信息处理功能30,都可以由计算机系统来实现,该计算机系统包括:硬件,其又包括中央处理单元、主存储器等;和图8至16所示的各种专用软件(处理程序)。
如图6所示,实现设备监测功能20和状态信息处理功能30的计算机系统包括:CPU(中央处理单元)40,用于执行各种控制和计算;RAM(随机存取存储器)41,用作主存储器;ROM(只读存储器)42;辅存储器43,例如硬盘驱动器(HDD)或半导体存储器;输出装置44,例如监视器(LCD(液晶显示器)或CRT(阴极射线管));输入装置45,例如键盘和鼠标;网络N;它们的输入/输出接口(I/F)46,所有这些都通过各种内部和外部总线47互连起来,所述内部和外部总线47包括:诸如PCI(外围元件互连)总线和ISA(工业标准体系架构)总线的处理器总线、存储器总线、系统总线和输入/输出总线。
把提供在诸如CD-ROM、DVD-ROM和软盘(注册商标)的存储介质上或通过通信网络N获取的各种专用控制程序、数据等安装在辅存储器43中,并且根据需要载入主存储器41。然后,根据载入主存储器41的程序,CPU 40利用各种资源进行预定的控制和计算,经总线47把结果(处理后的数据)输出到输出装置44,以将其显示出来,并且根据需要将该数据保存(更新)并存储在辅存储器43中的数据库中。
用于各种控制程序的可用存储介质都是计算机可读型,除了上述CR-ROM、DVD-ROM和软盘(注册商标)以外,这些存储介质还包括:诸如MD(迷你磁盘(Mini-Disk))的磁性存储介质、诸如LD(光盘)的光学存储介质、以及诸如MO的磁光存储介质。
下面,对具有上述配置的本发明的设备监测系统的操作进行说明。
首先,如图8所示,当网络N上的设备启动时,它检测到相同网络上的另一设备,并且询问该第二设备是否知道设备管理方法(步骤S100)。
如果它发现(步骤S102)该第二设备不知道最新的设备管理方法(否),则该第一设备就从设备管理服务器获取最新的设备管理方法参数(Device management method properties)(步骤S104)。如果第二设备拥有最新的设备管理方法参数(是),则第一设备在设备管理表的创建过程中照原样反映它们(步骤S106)。
设备管理方法参数包括:例如,所监测的设备的数量、设备监测时间间隔等,如在图7中所示的设备管理方法参数102。
如果预先从网络N上的设备中选出的母设备获取了设备管理方法参数、创建了设备管理表并将其发布给其它的设备,那么就不再需要每个设备都去获取设备管理方法参数并创建设备管理表了,从而网络流量可以大大地减少。
关于用于确定母设备的方法,通常,将网络N上首先启动的设备指定为母设备是最有效的。在这种情况下,其它的设备应该定期地检查母设备的存在,并且没有检测到母设备或收到来自母设备的关机通知的设备就取而代之变为母设备。
因此,如图9所示,每个非母设备在启动时检查母设备的存在,在运行期间还定期地检查母设备的存在(步骤S200和S202),并且如果没有检测到母设备(否)就变为母设备(步骤S204)。相反,如果检测到了母设备(是),它将继续充任普通设备,并且按预定时间间隔重复检查母设备的存在。
关于用于确定“首先启动的设备”的方法,它并不局限于特殊的方法,相反,举例来说,下述方法都是可以想到的。
具体来讲,按照一种可以想到的方法,当设备在网络上启动时,通过广播将该启动通知了网络上的其它设备。按照另一种方法,当从另一设备返回表示它已经启动的ACK(应答)时,本地设备根据该ACK信息对其自己与该另一设备之间的启动时间进行比较,从而确定哪一个启动得较早。如果发现这两个设备是同时启动的,那么就例如通过使用随机函数r(随机地抽取0与1之间的一值的函数)来确定启动较早的设备。在这种情况下,使用了下述的界定,例如:如果0≤r<0.5,则本地设备启动得较早,但是如果0.5≤r<1,则另一个设备启动得较早。另选地,当两个设备同时启动时,第一个询问启动时间的设备可以被确定为启动较早的设备。顺便说一下,为了使上述方法中的时间同步,在设备管理服务器利用GPS(全球定位系统)等得到了正确时间之后,所有设备可以通过定期地根据NTP(网络时间协议)对设备管理服务器进行单独查询而使时间同步,其中NTP是用于通过网络来适当地调整计算机的内部时钟的协议。
另一方面,如图10所示,每个非母设备(下文中称为子设备)不断地监测着是否从母设备收到了关机通知(步骤S206)。如果收到了通知(是),它将检查是否任何其它设备已经成为母设备(步骤S208)。如果还没有母设备(否),该非母设备就变为母设备(步骤S210)。如果已经存在母设备(是)或者如果在步骤S206中没有收到关机通知(否),该非母设备继续充任非母设备,直至收到关机通知。
而且如图11所示,母设备定期地向设备管理服务器询问最新的设备管理方法(步骤S300、S302)并将该最新的设备管理方法参数通知给网络N上的所有设备(步骤S304)。另选地,设备管理服务器可将设备管理方法定期地通知给母设备。
当母设备在停机或失去其功能时,母设备通常将通知一子设备它在停机并使该子设备更新成为母设备。另一方面,如果母设备没有经过关机程序而异常停机的话,就没有子设备知道该母设备的关机。因此,希望母设备在运行期间定期地向子设备发送“母设备通知”,以使它们知道它是网络上唯一的母设备。子设备将定期地收到“母设备通知”,从而验证网络上存在母设备。如果持续某一段时间没有“母设备通知”到来,那么识别出该事实的子设备就会进行某些既定过程:例如,它发布一个“要求成为母设备的通知”,以向其它子设备宣布它将成为新的母设备。
接下来,母设备利用设备管理方法参数来创建设备管理表。
具体来说,如图12所示,母设备从设备管理服务器读取最新的设备管理方法参数(步骤S400),利用该最新的设备管理方法参数来识别网络N上的设备(步骤S402),然后创建“设备管理表”(步骤S404)。
然后,母设备使用它自己的设备管理表存储部23存储该“设备管理表”(步骤S406),并将该“设备管理表”发送给网络N上的所有其它设备(步骤S408)。
然后,如图13所示,每个设备使用它自己的状态信息检测部24检查它自己的设备状态(步骤S500和S502),并通过设备信息存储部27将该设备状态信息存储在它自己的数据库29中(步骤S504)。
此外,如图14所示,每个设备定期地读取它自己的设备状态信息(步骤S506和S508),并且根据设备管理表通过状态信息发送部25将该设备状态信息发送给其它设备(步骤S510和S512)。
另一方面,如图15所示,每个设备都等待着来自它所监测的设备的通知,并且如果即使应到时也没有信息发送来的话(步骤S600和S602),则该监测设备将向被监测设备询问其状态信息(步骤S604)。
如果没有从被监测设备返回响应,则该监测设备假定在被监测设备中发生了故障(步骤S606和S608),该监测设备通过附送被监测设备的“操作历史”和“故障点”(步骤S610)来将该结果通知给设备管理服务器(步骤S612)。
另选地,如果即使应到时也还没有状态信息发送来的话,则该监测设备可以假定在被监测设备中发生了故障,并将该结果通知给设备管理服务器,而不向被监测设备询问状态信息。
如图16所示,任何打算以常规方式关机的设备都向设备管理服务器发出关机请求(电源关闭请求)(步骤S700),读取其自己的设备管理表(步骤S702),向其监测伙伴发送关机通知(步骤S704),从而完成关机过程。
收到这一通知的另一设备停止对该已关机的设备的监测,并且依照其自己的设备管理表或基于从设备管理服务器重新获取的参数所创建的新的设备管理表来开始监测另一个设备的状态信息。
下面,将给出对根据本发明的设备监测方法的具体实施例的说明。
图17和18示出典型的常规设备监测方法,而图19和20示出根据本发明的设备监测方法。
如图17所示,假定四个设备A、B、C和D与网络N相连接并且由单一的设备管理服务器进行管理。
在这种类型的网络中,为了获取关于设备A、B、C和D的状态信息,即,为了识别它们是否在正确地操作,设备管理服务器询问每个设备A、B、C和D并对响应进行检查。在这种管理方法中,设备管理服务器必须至少进行四次询问(1、3、5和7)并对响应进行四次检查(2、4、6和8),总共要进行八次通信处理作业。
如果每次询问或响应需要一个数据包和一次服务器的通信处理作业的话,在这个示例子中的查询和响应就需要“八个”数据包和“八次”服务器的通信处理作业,如下面的表1所示。
(表1) 信源 目标 数据包类型 标号数据包个数 服务器 设备A 询问 1 1 设备A 服务器 响应 2 1 服务器 设备B 询问 3 1 设备B 服务器 响应 4 1 服务器 设备C 询问 5 1 设备C 服务器 响应 6 1 服务器 设备D 询问 7 1 设备D 服务器 响应 8 1 合计 8 服务器的通信处理作业的数量 8
在这种典型的常规设备监测方法中,如果一个设备中发生了故障,例如,设备B,导致其系统故障停机,如图18所示,设备管理服务器同等地询问所有设备A、B、C和D,并且当发现没有来自设备B的响应时,设备管理服务器识别出设备B停机。
因此,如表2所示,如果设备之一故障停机,数据包的数量和服务器的通信处理作业的数量都减1变为“7”。顺便说一下,如果没有来自设备B的响应,设备管理服务器识别出设备B中发生了故障。
这样,该典型的常规设备监测方法具有增加网络流量和增加要由设备管理服务器处理的信息量的缺点,按照该方法,不仅在正常条件下,而且当系统停机时都会有大量的数据包流动。
(表2) 信源 目标 数据包类型 标号数据包个数 服务器 设备A 询问 1 1 设备A 服务器 响应 2 1 服务器 设备B 询问 3 1 服务器 设备C 询问 5 1 设备C 服务器 响应 6 1 服务器 设备D 询问 7 1 设备D 服务器 响应 8 1 合计 7 服务器的通信处理作业的数量 7
相反,根据本发明的设备管理方法,如图19所示,设备A、B、C和D彼此进行监测,每个设备定期地将其状态信息发送给相邻的设备,并且任何一个状态信息不再被收到的设备将会为此通知设备管理服务器。
例如,如图20所示,如果四个设备A、B、C和D中的设备B发生了故障,导致其系统故障停机,则无法将其状态信息传递给设备B的设备A为此通知设备管理服务器(5),或者即使在预定时间段之后设备D也没有收到来自设备B的状态信息,则设备D进行一次状态检查(6),从而验证设备B的系统已经停机,然后为此通知设备管理服务器(7)。
因此,如下面的表3所示,流经网络的数据包的数量在正常次数情况下减半为“4”。此外,如表4和5所示,即使当一系统停机时,设备管理服务器也能够通过单一的通信处理作业来识别这种情况。
顺便说一下,在接收到通知之后,设备管理服务器可以对设备进行一次询问以进行验证,不过即使包含了这次询问,处理作业的数量也会大幅减少。
(表3) 信源 目标 数据包类型 标号数据包个数 设备A 设备B 状态通知 1 1 设备B 设备D 状态通知 2 1 设备D 设备C 状态通知 3 1 设备C 设备A 状态通知 4 1 合计 4 服务器的通信处理作业的数量 0
(表4)
(此时进行状态通知的设备(a)进行错误通知。在异常操作期间) 信源 目标 数据包类型 标号数据包个数 设备A 设备B 状态通知 1 1 设备D 设备C 状态通知 3 1 设备C 设备A 状态通知 4 1 设备A 服务器 错误通知 5 1 合计 4 服务器的通信处理作业的数量 1
(表5)
(此时进行状态通知的设备(d)进行错误通知。在异常操作期间) 信源 目标 数据包类型 标号数据包个数 设备A 设备B 状态通知 1 1 设备D 设备C 状态通知 3 1 设备C 设备A 状态通知 4 1 设备D 设备B 状态通知 5 1 设备D 服务器 错误通知 6 1 合计 5 服务器的通信处理作业的数量 1
在包含每个设备服务器对应N个设备的网络环境中,在常规方案中,按照该方案对每个设备都进行一次询问和响应,服务器与设备之间的询问数据包和响应数据包的总数以及服务器的通信处理作业数量是由N×2给出,如下面的表6所示。随着N的增大,数据包的数量和服务器的通信处理作业的数量都显著地增大。
而且,如表7所示,如果设备之一(设备2)被判定为无法操作,由于该设备没有做出响应,那么数据包的数量和服务器通信处理作业的数量都变为2N-1,仍然需要大量的数据包和通信处理作业。
(表6) 信源 目标 数据包类型 数据包个数 服务器 设备1 询问 1 设备1 服务器 响应 1 服务器 设备2 询问 1 设备2 服务器 响应 1 … … … … … … … … 服务器 设备N 询问 1 设备N 服务器 响应 1 合计 2N 服务器通信处理作业的数量 2N
(表7) 信源 目标 数据包类型 数据包个数 服务器 设备1 询问 1 设备1 服务器 响应 1 服务器 设备2 询问 1 服务器 设备3 询问 1 设备3 服务器 响应 1 … … … … … … … … 服务器 设备N 询问 1 设备N 服务器 响应 1 合计 2N-1 服务器通信处理作业的数量 2N-1
相反,根据本发明的设备监测方法,如下面的表8所示,在各设备正常操作期间流经网络的数据包的数量是N,它等于设备的数量并且是常规方案数量的一半。
(表8) 信源 目标 数据包类型 数据包个数 设备1 设备2 状态通知 1 设备2 设备3 状态通知 1 … … … … 设备N 设备1 状态通知 1 合计 N 服务器通信处理作业的数量 0
而且,如下面的表9所示,当设备之一(设备K)变为无法操作并且紧挨在前的设备(设备K-1)进行错误通知时,数据包的总数减去了来自设备K的状态通知,增加了来自设备K-1的通知,因此保持不变(N)。从而,网络流量也同样保持不变。而且,服务器处理作业的数量也由于来自设备K-1的错误通知而仅增加了一,并且远小于常规方案的数量。
(表9) 信源 目标 数据包类型 数据包个数 设备1 设备2 状态通知 1 设备2 设备3 状态通知 1 … … … … … … … … 设备N 设备1 状态通知 1 设备(K-1) 服务器 错误通知 1 合计 N 服务器通信处理作业的数量 1
在接收来自被判定为无法操作的设备(K)的状态通知的设备(K+1)向服务器做出错误通知的情况下,仅有两个额外的数据包,即,由设备K+1进行的状态检查和从设备K+1向服务器的错误通知,因此数据包的总数仅增加了一,如下面的表10所示。此外,服务器处理作业的数量也由于来自设备K+1的错误通知而仅增加了一,远小于常规方案的数量。
(表10) 信源 目标 数据包类型 数据包个数 设备1 设备2 状态通知 1 设备2 设备3 状态通知 1 … … … … … … … … 设备N 设备1 状态通知 1 设备(K+1) 设备K 状态通知 1 设备(K+1) 服务器 错误通知 1 合计 N+1 服务器通信处理作业的数量 1
这样,本发明消除了对由设备管理服务器进行的设备的周期性询问和来自设备的响应的需要,并因此避免了设备管理服务器上的负荷以及网络流量的增加,即使在随着网络规模增大设备的数量增多的情况下。
这消除了对高规格服务器或宽带网络干线的需要,使得可以利用现有的PC和通信基础设施,从而提供了增加的成本效率。
即使设备管理服务器没有进行询问,它也能立即识别出任何异常情况,因为检测到异常情况的设备将该异常情况通知了它。这使得可以迅速地采取合适的措施,例如修复或更换引起异常情况或故障停机的设备,从而非常有助于改进整个系统的可靠性。
顺便说一下,在本发明中,用于设备之间或设备管理服务器与设备之间的存在检查和状态检查的协议并不局限于具体的协议。而是,使用诸如HTTP(超文本传输协议)、SNMP(简单网络管理协议)和FTP(文件传输协议)的TCP/IP兼容通信协议将增加通用性,并且使本发明可以直接用于与因特网相关的网络上,例如后面将要介绍的实施例中所用的网络。而且,通过使用XML(可扩展标记语言(eXtensible Markup Language))作为数据格式,就可以独立于在网络上的设备10和设备管理服务器12上运行的OS和应用程序而交换数据。
而且,根据本实施例,关于设备的“状态信息”并没有被具体限制,只要它代表设备的状态就行。例如,它包括:电源的开/关状态、设备启动后的时间、标准时间(GMT(格林威治标准时间)、日本标准时间等)、功耗、生产日期、产品序列号、网络设置、IP地址、子网掩码、默认网关、DNS(域名服务器)名、WINS(Windows因特网名字服务)名、NetBIOS(网络BIOS)名、固件版本信息、存储器大小(已用存储器空间、未用存储器空间、硬盘大小、已用硬盘空间、和未用硬盘空间)、以及故障信息。对于打印机而言,状态信息代表打印机特有的信息。它包括:色粉消耗量(%:CMYK)、色粉剩余量(%:CMYK)、开机后已打印的页数(A4、A3、B5等)、纸盒、盖子状况(开/合)、有没有双工单元、产品序列号、打印机内部温度、有没有卡纸、以及故障信息。
图21到31示出本发明的其它实施例。
根据图21和22所示的实施例,设备不仅如上面的实施例中的情况那样交换它们自己的状态信息,而且还交换表示每个设备的设备历史的日志信息。这使得不仅可以立即标识故障停机的设备,而且可以获取其日志信息并采取最适当的措施。
具体来说,在图21的示例中,一个网络上有三个设备A、B和C,如果设备A将其日志信息与其状态信息一起发送给设备B,如果设备B将其日志信息与其状态信息一起发送给设备C,并且如果设备C将其日志信息与其状态信息一起发送给设备A,则每个设备A、B或C都将拥有两条信息:其自己的日志信息和有关另一设备的日志信息,如图中所示。
因此,如图22所示,如果一个设备,即设备B关机了(1),则从设备B到设备C的状态信息和日志的传送停止了(2)。检测到这一状况的设备C对设备B进行“操作询问”(3),并且如果没有来自设备B的响应,设备C确定设备B已经停机,并且通过附送设备B停机的时间和由设备C保存的设备B的日志信息来通知设备管理服务器(4)。这使设备管理服务器不仅可以迅速地获知设备B已经停机,而且可以从由设备C发来的设备B的日志信息中提取有用的信息(5),并对其进行有效的利用。
图23到29示出本发明可以应用的各种不同的网络形式。
本发明可以应用的网络并不局限于构建在单独的建筑物中的LAN或类似的网络。可以通过诸如图23中所示因特网的广域网将设备与设备管理服务器连接起来,或者所有设备和设备管理服务器可以如图24所示单独地与因特网相连接。
而且,可以如图25所示通过网关和因特网将设备与设备管理服务器连接起来,所有设备都可以如图26所示经网关和因特网与设备管理服务器相连接,或者可以如图27所示安装两个或更多个设备管理服务器。
如果彼此分离的网络1和网络2上的设备如图28和29所示彼此进行监测,例如,当其中一个网络故障停机时,当其中一个网络上的所有设备都故障停机时,或者当网关故障停机时,另一个网络上的设备可以检测到这一问题并通知设备管理服务器。
图32到34示出如何配对设备以彼此进行监测的示例。
用于选择监测伙伴的一种可能准则是物理上的接近,例如彼此安装在相同房间或相同建筑物中的设备。另一个准则是逻辑上的接近。例如,如果选取类别相近的设备(打印机和扫描仪、或微波炉和电冰箱)作为监测伙伴,就可以提供一个在其中连续使用相同类别设备的环境,因为紧密相关的设备(联合使用的设备)彼此进行监测。
此外,如图32到34所示,通过将在生产日期上相差一段时间或更长时间的设备配对为监测伙伴,即,通过根据生产日期将新设备和旧设备配对为监测伙伴,可以消除两个设备同时故障停机的可能性,以免它们无法将它们的状态通知给设备管理服务器。
例如,假设网络上有四个设备A、B、C和D,并且它们按照如图32所示的顺序由旧到新排列。
在本示例中,如果生产日期最早的设备A对生产日期最晚的设备D进行监测,生产日期最晚的设备D对生产日期次早的设备B进行监测,依此类推,如图33中的设备监测表所示,则可以说,考虑到越旧的设备越容易发生故障这个一般假定,在不同对中发生故障的可能性没有太大的差异。因此,能够有效地进行错误通知。
而且,在它们自己之间在生产日期上有着极大差别的设备组合中,如图34所示,当向生产日期较早的设备发送信息时,如果信息还冗余地发送给另一个设备的话,可以提高信息发送的可靠性。
此外,在设备应该连续操作的情况下,通过对相同类型的设备或不同类型的设备进行配对,能够确保错误处理的可靠性。
另一方面,如果将都不连续操作的设备配对,监测将不会具有明显的效果。因此,为了改进监测系统的可靠性,需要将连续操作的设备和不连续操作的设备配对,或将不同的设备配对。
此外,监测伙伴并不局限于一对一的关系。如果如图30A、30B、31A和31B所示所有设备都监测两个或更多个设备,就可以大大改进监测的可靠性,尽管流经网络的数据包的数量有一定的增加。
顺便说一下,在图30A和30B的示例中,所有三个设备A、B和C都对其它设备进行监测,而在图31A和31B的示例中,所有N个设备都对两个设备进行监测。
图35到41提供了对如图32到34所示用于对两个设备进行配对以便它们彼此进行监测的一些方法的更加详细的图解说明,这些设备在生产时间上相差一段时间或更长时间。
图35和36示出如何对设备进行配对的第一个示例。
假设在网络上有五个生产日期已知的设备1到5,在该网络上如图所示进行监测,可以通过用当前时间(例如2003年10月1日)减去生产日期来计算出代表设备1到5的新旧程度的运行期X1到X5。例如,生产日期为2003年3月1日的设备1的运行期X1是7个月,生产日期为2002年7月1日的设备2的运行期X2是15个月,生产日期为2000年1月1日的设备5的运行期为45个月,依此类推。设备1到5的运行期X1到X5以越来越长的顺序排列。
然后,如果以运行期X1为基础计算运行期的差,那么X1与X2之间的差Y1是(15-7)=8个月,X1与X3之间的差Y2是26个月,X1与X4之间的差Y3是32个月,X1与X5之间的差Y4是39个月。
然后,通过从由此计算出的Y1到Y4中选择最大值来对设备进行配对。在图35的示例中,由于Y4的值最大,所以将设备1与设备5配对为监测伙伴。
类似地,剩下的设备2到4间的运行期的差按如下进行计算:Y’2=Y3-Y2=6、Y’3=Y4-Y2=13。由于Y’3大于Y’2,将设备2与设备4配对为监测伙伴。
这样,在图35的示例中,设备1与设备5以及设备2与设备4被配对,剩下的设备3由最新的设备1进行监测,如图36所示。
另一个配对方法考虑了设备1到5的产品寿命(L1~L5),如图37和38所示。
具体来说,按照这种方法,首先将每个设备的产品寿命L减去直到目前的运行期X计算出值Y。例如,如图38所示,由于设备1具有十二个月的产品寿命,所以设备1的Y1是“5个月”,这是由“12个月”减去“7个月”得到的。类似地,设备2的Y2是“9个月”,设备3的Y3是“-20个月”(可以出现负值,如这种情况),设备4的Y4是“-2个月”,而设备5的Y5是“-33个月”。
接下来,基于从由此确定的Y1到Y5中选取的Y1,计算Y2到Y5与Y1的差Z1到Z4。在图38的示例中,由Z1=Y2-Y1给出的Z1是通过“9个月”减去“5个月”而算出的“4个月”,通过Y3减去Y1算得Z2等于“-25个月”,Z3是“-7个月”,而Z4是“-38个月”。
然后,通过将如此算得的Z1与Z2到Z4进行比较,确定最小的Z值,并且从随机的角度将产品寿命不会大约同时到期的设备配对。在图38所示的示例中,由于Z4具有最小值,所以首先配对的设备是设备1和5,如图39所示。
除了已经配对的设备1和5外,对于剩下的设备2到3,以类似的方式计算Z’2和Z’3。当所有配对都确定了时,将任何剩下的设备设为由生产日期最晚的设备进行监测。在图38所示的示例中,由于Z’2小于Z’3,所以将设备2和设备3配对,并且将剩下的设备4设为由生产日期最晚的设备1进行监测,如图39所示。
按照再又一种配对方法,设备1到5根据它们的生产日期对它们的其中之一进行监测,如图40和41所示。
具体来讲,假设有五个设备1到5,它们按照越来越旧的顺序排列,如图40所示。如图40所示,(1)生产日期最晚的设备1监测生产日期最早的设备5,(2)设备5监测生产日期次晚的设备2,(3)设备2监测生产日期第四最晚的设备4,(4)设备4监测生产日期第三最晚的设备3,(5)设备3监测生产日期最晚的设备1。
这样,通过根据生产时间来确定各个设备的监测伙伴,可以有效地避免监测和被监测设备同时到达它们的寿命终点并丧失它们的监测和通知功能的情况,从而可以建立高度可靠的系统。顺便说一下,按照这种方式配对的设备彼此之间在生产日期上相差一段时间或更长时间是令人满意的。具体的时段取决于各个设备的寿命(可用年限)、系统的可靠性等,并不局限于特定的值。不过,对于打印机或平均寿命为几年的其它设备而言,例如,它们之间在生产日期上至少相差几个月或更长的话,是比较令人满意的。
图42示出设备的示例关机过程。它示出了将所获取的操作历史或如前面的实施例中所介绍的其它日志信息传送给另一设备的流程。
具体来说,任何将要关机的设备都将检查设备关机请求(步骤S800)。如果有关机请求(是),该设备读取其设备管理表(步骤S802)并将其自己的操作历史和它所获取的另一设备的操作历史一起发送给设备管理表中指定的新的监测设备(步骤S804)。这使得可以不丢失有用的操作历史地完成关机过程。
而且,如果在现有网络中添加了新的设备,如图43所示,那么母设备对新设备进行检测(步骤900),重新创建设备管理表(步骤S902),从而立即为该新设备选取一个监测伙伴。