能分配适当地址的电子设备转让专利

申请号 : CN03120272.1

文献号 : CN1444354B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 大原清孝

申请人 : 兄弟工业株式会社

摘要 :

为了防止在不采用APIPA的LAN环境中执行不必要的APIPA过程,对预定的IP地址广播一个ICMP回应请求。根据应答检查是否存在多于N个使用APIPA的设备,如果存在,则由APIPA执行IP地址设置。在采用APIPA的LAN环境中,检查待被分配到设备的IP地址是否已被另一个设备使用。如果另一个设备被分配到该IP地址的日期和时间早于该设备被分配到IP地址的日期和时间,则执行APIPA来决定该设备的IP地址。

权利要求 :

1.一种能通过网络通信并且具有自动给自己分配地址以进行通信的功能的电子设备,所述电子设备包括:获取设备,用于在所述网络上从至少一个网络可连接设备获取地址;

确定设备,用于根据所述获取设备获取的地址是否是所述网络可连接设备能通过给自己分配地址的功能而确定的地址范围内的地址,确定所述电子设备是否应自动地给自己分配地址以建立经由网络的通信;

选择设备,用于在所述确定设备确定所述电子设备应自动地给自己分配地址时,从网络可连接设备能通过给自己分配地址而确定的地址范围内选择地址;

验证设备,用于验证由所述选择设备所选择的地址未被所述网络内的另一电子设备所使用;以及地址决策设备,用于在所述验证设备验证所选择的地址未被所述网络内的另一电子设备所使用时,把所述所选择的地址分配给所述电子设备。

2.如权利要求1所述的电子设备,其特征在于所述验证设备包括:

询问单元,用于询问是否有另一个电子设备被分配到由网络内的所述选择设备所选择的地址;以及应答确定单元,用于确定是否接收到对所述询问的应答;以及所述验证设备确认所述所选择的地址在没有对所述询问的应答时不被使用。

3.如权利要求1所述的电子设备,其特征在于由所述获取设备获取的地址是预定地址群中的地址,所述预定地址群处于称作局部链路地址的地址范围内。

4.如权利要求1所述的电子设备,其特征在于所述确定设备根据对所述网络上的设备作出的询问进行确定。

5.如权利要求1所述的电子设备,其特征在于所述地址是预定地址群中的一个IP地址,以及所述确定设备通过广播一个ICMP回应请求针对所述预定地址群的网络地址作出询问,并且根据对该广播的应答进行所述的确定。

6.如权利要求5所述的电子设备,其特征在于当作为所述询问的结果检测到多于预定数量的将被分配所述预定地址群地址的设备时,所述确定设备确定所述的具有自动给自己分配地址的功能的电子设备应该自动地给自己分配地址。

7.如权利要求5所述的电子设备,其特征在于当作为所述询问的结果检测到高于预定比例的将被分配所述预定地址群地址的设备时,所述确定设备确定所述的具有自动给自己分配地址的功能的电子设备应该自动地给自己分配地址。

8.如权利要求1所述的电子设备,其特征在于所述确定设备对包含在所述网络内的设备之间交换的数据包内的地址进行监控,并且根据监控的地址是否在预定地址群中进行所述的确定。

9.如权利要求8所述的电子设备,其特征在于当作为所述监控的结果检测到多于预定数量的将被分配所述预定地址群地址的设备时,所述确定设备确定所述的具有自动给自己分配地址的功能的电子设备应该自动地给自己分配地址。

10.如权利要求8所述的电子设备,其特征在于当作为所述监控的结果检测到高于预定比例的将被分配所述预定地址群地址的设备时,所述确定设备确定所述的具有自动给自己分配地址的功能的电子设备应该自动地给自己分配地址。

11.如权利要求6所述的电子设备,其特征在于当对所述广播的应答数量或被监控的所述数据包的数量未达到预定数时,即使未检测到多于预定数量或或高于预定比例的将被分配所述预定地址群地址的设备,所述确定设备确定所述的具有自动给自己分配地址的功能的电子设备应该自动地给自己分配地址。

12.如权利要求1所述的电子设备,其特征在于当确定所述的具有自动给自己分配地址的功能的电子设备应该自动地给自己分配地址时,所述确定设备重复所述的确定。

13.如权利要求1所述的电子设备,其特征在于所述电子设备在由所述地址决策设备分配地址之前被赋予一个预定的缺省地址。

14.如权利要求1所述的电子设备,其特征在于当所述电子设备启动后所述确定设备进行所述的确定。

说明书 :

(1)技术领域

本发明涉及可连接到网络的电子设备,以及决定该电子设备的地址的系统和方法。

(2)背景技术

迄今为止,已介绍了几种分配电子设备的地址来与网络中其它设备进行通信的方法。例如,该电子设备可人工地分配到预定静态地址,或当安装了TCP/IP协议时它可以从动态主机配置协议(DHCP)服务器中自动地获取地址。能使电子设备自动地分配给自己IP地址的自动私人IP寻址(APIPA)也是众所周知的。

APIPA现在正成为安装在个人电脑等内的操作系统的标准特性。具有APIPA特性的电子设备在被称为局部链路地址的IP地址范围(169.254.0.0-169.254.255.255)内的地址范围169.254.1.0-169.254.255.255中选择IP地址。接着,它使用地址解析协议(ARP)来确保选定的地址尚未被另一个电子设备使用。一旦该电子设备被保证该选定的地址未被使用,它便把该选定的地址分配给自己。APIPA也称作自动IP。

图4说明了该APIPA过程的例子。首先,随机选择一个IP地址。在图4中,选择地址169.254.123.98。然后,发送ARP请求来查看是否存在分配到IP地址169.254.123.98的电子设备。如果从地址169.254.123.98接收到该ARP请求的应答,则确定该选定的地址169.254.123.98已经被使用,于是再次随机选择另一个IP地址。在图4中,选择地址169.254.78.22。发送该地址的ARP请求以确保该地址尚未被另一个设备使用。这次没有应答,因此可以确定不存在分配到该选定的IP地址的设备。该ARP请求通过预警的方式再次被发送。如果未接收到应答,则该选定的IP地址(图4中为169.254.78.22)被分配给该电子设备。

不适合APIPA的电子设备通常具有固定的IP地址,而且该固定的IP地址并不必要是局部链路地址。因此,如果网络中有许多不适合APIPA的常规电子设备(例如,地址为11.22.33.*的设备)而电子设备的IP地址是由网络中的APIPA自动分配的,那些常规电子设备则不能用TCP/IP协议访问该设备。

此外,如果APIPA特性被添加到常规的电子设备,可能导致的情况是,其它设备不能确定由该电子设备本身分配的地址并且从而,其它设备不能与该电子设备进行通信。

例如,可连接到网络的打印机一般在安装前被指定预定的缺省IP地址(例如,192.0.0.192)。安装在个人电脑内的管理软件通过该缺省的IP地址与该打印机进行通信,并且把在网络中适当的新IP地址分配给该打印机。

然而,如果打印机增加APIPA特性,该打印机随机地把处于范围169.254.1.0-169.254.254.255内的IP地址自动地分配给自己。因此,其它设备不能通过该缺省IP地址与该打印机进行通信,并且管理软件不能访问该打印机除非它被通知到该由APIPA分配的地址。在这种情况下,用户必须直接地操作该打印机来修改设置并且通过其操作板的方法来控制该打印机。这是耗时的。

如上所述,该包含APIPA特性的常规设备自动地给自己分配IP地址即便它不应这么做,因此当其它设备试图与该设备进行通信时可能会发生问题。

此外,APIPA在设备启用时进行自动地址确定。该包含APIPA特性的设备在每次启用时以上述方式随机地选择IP地址。结果每当设备启用时就改变IP地址。由于存在用直接寻址与其它设备进行通信的设备,所以经常改变设备的IP地址是不可取的。如果经常改变设备的IP地址,把其它设备的IP地址保持为用于TCP/IP上的通信的固定地址的常规网络设备不再能与其它设备进行通信。

此外,网络中的设备越多,选定的IP地址已被使用的比例越高。因此,由于过度ARP请求和应答,网络中的通信量会变得繁重。

为了防止IP地址在设备复位时被改变,APIPA分配的地址被存储在设备的非易失存储器中并且被选为设备的第一个可能的IP地址。如果网络中的每个设备都进行这样的过程,则当设备长期使用时,该设备的地址会固定在某地址。由此,通过直接寻址与设备进行通信成为可能并且避免交换网络中额外的通信来决定该设备地址。

然而,即使存储在非易失存储器内的地址被作为ARP请求发送,万一得到应答,即该设备曾使用的地址已被其它设备使用,则需要再次选择另一个IP地址。

在这方面,可能存在不期望地址变换的情况。例如,已在网络中长时间使用地址A的打印机被关闭,而新的个人计算机成为该网络的一个组成部分并且把该地址A分配给自己。当该打印机通电时,由于该地址A已被该个人计算机使用,则该打印机必须给自己分配新的地址B。结果,网络中曾经向地址A发送打印数据的的该设备未能打印该打印数据。

为了防止上述问题的发生,可以用与在常规网络设备中相同的方式把固定的IP地址分配给适合APIPA的设备。然后,需要寻找一种有效的方式来发现适合APIPA的设备。

(3)发明内容

本发明的一个目的是提供一种电子设备,它能毫无问题地给设备分配适当的用于通信的地址即便该设备适合APIPA。

本发明的另一个目的是提供一种系统和方法,它能毫无问题地决定设备的地址即便该设备适合APIPA。

本发明的还有一个目的是在不需要时不执行APIPA。

本发明更多的目的是不经常改变适合APIPA的设备的IP地址。

本发明的再一个目的是允许寻找适合APIPA的设备并且优先地给该设备分配合适的地址。

为了达到上述目的,本发明的一个方面提供一种电子设备,它根据在网络中交换的通信来确定具有自动给自己分配通信地址的功能的设备是否应该自动给自己分配地址以与网络中的其它设备进行通信,并且输出该确定结果。

例如,网络的管理员可以参考该确定结果并且确定是否在把该设备连接到该网络时阻止该设备给自己分配地址的功能。如果该确定结果是该设备应该自动地给自己分配地址,则管理员可确定,具有自动给自己分配地址的功能的设备可以被连接到网络,其中该功能起作用。否则,管理员阻止该功能并配置该设备使用缺省的地址,或者在分配静态的地址后连接该设备。

该确定结果可被输出到显示装置、打印装置、声音输出装置或者包括上述装置的许多通知装置。该确定结果也可被输出到网络。

可以根据与分配到预定地址群中的一个地址的设备有关的通信来确定具有自动给自己分配地址的功能的设备是否应该执行该功能,该预定地址群最好是能从中选择具有自动给自己分配地址的功能的设备地址的地址群。

该预定地址群处于被称为局部链路地址的地址范围内。例如,假设一个Ipv4网络,地址群可包含范围在169.254.1.0-169.254.254.255的地址。这些是可由APIPA选定的地址,在处于被称为局部链路地址的范围169.254.0.0-169.254.255.255内的地址中。

可能确定网络上是否有设备通过对网络上的其它设备作出请求并检查应答而分配到预定地址群中的地址。这意味着上述的通信可以作为该请求的应答。

例如,可以根据对询问网络上的其它设备是否具有预定地址群中的一个地址的应答来确定该设备是否应该自动地给自己分配地址。如果设备的地址是IP地址,则可广播预定地址群的网络地址的ICMP回应请求,并且可以根据对该广播的应答来确定该设备是否自动地给自己分配地址。这样的询问需要相对较短的确定时间。

也可以通过监测包含在网络中的设备之间交换的数据包的地址来确定网络上是否有设备被分配到预定地址群中的一个地址。在这种情况下,上述的通信可以是被监测的地址。

例如,当该被监测的地址是预定地址群中的一个地址时,可以确定该设备应该自动地给自己分配地址。如此,可以不向网络发送任何信息而完成该决策,从而减少了网络的负载。

如上所述,可以通过对上述广播或监测的应答,也就是说,是否检测到预定地址群中的一个地址来确定设备是否应自动地给自己分配地址。如果检测到预定地址群中的地址,则可能确定该设备应该自动地给自己分配地址并且启动该功能。

这里,如果存在已经错误地给自己分配地址的设备并且只进行了对是否检测到预定地址群中的地址的确定,则存在错误地确定该设备应自动给自己分配地址的可能。特别地,在存在自动给自己分配地址的设备(譬如带有安装APIPA特性的OS的个人计算机)的网络环境中,很可能获取不正确的结果。因此,即使检测到关于该设备的应答或通信,本发明的电子设备必须正确地确定,该具有自动给自己分配地址的功能的设备在给定的网络中不应该自动地给自己分配地址。

由此,更可取的是,当检测到多于预定数量的被分配预定地址群中的地址的设备时再确定该设备应该自动地给自己分配地址。此外,更可取的是,当检测到多于预定比值的被分配预定地址群中的地址的设备时再确定该设备应该自动地给自己分配地址。该预定比值可以是包含预定地址群中的地址的数据包数对监测到的总数据包数的比值。

此外,即使未检测到多于预定数量或比值的被分配预定地址群中的地址的设备,当对广播的应答数或监测到的数据包数未达到预定数量时,该设备应该自动地给自己分配地址也是合乎需求的。万一正在构建网络中每个设备都应自动地给自己分配地址的一个新的网络,那么即使检查了对广播的应答并且进行了对数据包的监测,也决不会被检测到超过预定数量或比值被分配预定地址群中的地址的设备。因此,决不可能构建网络中每个设备都应自动地给自己分配地址的网络。所以,即使未检测到多于该预定数量或比值的被分配预定地址群中的地址的设备,当对广播的应答数或监测到的数据包数未达到该预定数量时,该设备应该自动地给自己分配地址也是合乎需求的,假设该给定的网络是当前被构建的新的网络。特别地,当应答数或监测到的数据包数等于零(0)时,确定该设备应该自动地给自己分配地址是非常有效的。

当确定该设备不应自动地给自己分配地址时,应该再次进行这样的确定过程。因为若该设备是网络中的第一个组成部分则不存在被分配到预定地址群中的地址的设备,因此可以确定该设备不应该自动地给自己分配地址。如果不久之后再次作出确定,由于可能把像个人计算机这样能给自己分配地址的设备加入该网络,则可重新确定该设备应该自动地给自己分配地址,于是可以获取正确的确定结果。

进行这样确定并且输出结果的电子设备可以充当具有自动地给自己分配地址的功能的设备。

在这种情况下,更可取的是该电子设备装备有地址决策确定装置,它作为输出结果的输出装置的替代或者附加。当确定该设备应该自动地给自己分配地址时,该电子设备给自己分配由地址确定装置决定的地址。因为该电子设备可以直接处理确定结果,所以这使管理员在把设备安置在网络中时可以不参考确定结果。

“输出装置的替代或附加”表明设备也许或者也许不包括输出确定结果的装置。

如上所述,不考虑设备安置的网络环境,本发明允许适当的地址分配,并且防止由具有给自己分配地址的功能的设备产生的不利影响。

例如,当确定该电子设备不应该自动地给自己分配地址并且该设备先前已被赋予一个缺省地址时,其它设备可以通过该缺省地址与该设备进行通信。

例如,该设备可能从预定的地址群中选择地址,并且在验证该选定地址未被网络中的另一个设备所使用后,把该选定的地址分配给自己。该预定的地址群可以在被称作局部链路地址的地址范围内。

更可取的是在设备处于通电状态时确定该设备是否应该自动地给自己分配地址。如此,当确定该设备应该自动地给自己分配地址时,该设备可以在它一通电后就给自己分配地址。如果确定该设备不应该自动地给自己分配地址时,该设备可以在它一通电后就用缺省地址与网络中可能存在的其它设备进行通信。

本发明的另一个方面提供了一种地址确定系统,当启用第一电子设备并且验证到存储在非易失存储器装置内的地址和第二电子设备所用的相同时,该系统获取该第一和第二电子设备的优先级之间的比较结果。如果第一电子设备的优先级高于第二电子设备的优先级,该存储的地址被分配给第一电子设备。第二设备被分配到另一个由第二地址确定装置选定的地址。如果第一电子设备的优先级较低,则由第一地址确定装置选定的另一个地址被分配到第一电子设备。

当该第一和第二电子设备都试图使用同样的地址时,上述地址确定系统允许其中任一个具有较高优先级的设备使用该地址。由此,通过把在上述网络内长期使用地址A的打印机(第一电子设备)的优先级设置成高于个人计算机(第二电子设备)的优先级,即使该个人计算机在该打印机关闭时把该地址A分配给自己,该打印机仍可以继续使用地址A。网络中把打印数据发送到地址A的设备能成功地在打印机上打印该打印数据。上述地址确定系统可以限制具有较高优先级的设备(第一电子设备)地址的改变。因此,不能容易地打断具有较高优先级的重要设备的工作方式。此外,这导致网络维护和运行费用的减少。可以使用的非易失存储装置可以是EEPROM、备份RAM、硬盘等等。

尤为可取的是,判断已存储的地址和另一个设备的地址是否相同的验证设备分别装备有第一和第二电子设备,并且当装备有第二电子设备的第二验证设备验证到第一和第二设备的地址相同时由第二电子设备进行地址确定。这使每个设备都能不用任何特定指令而自发地给自己分配不同的地址,并且简化了系统结构。

当比较设备不能比较第一电子设备和具有与已存储的地址相同的地址的第三电子设备的优先级时,第一地址确定装置为第一电子设备选择另一个地址是尤为可取的。如果该第一电子设备在未进行比较时单方面地保留该已存储的地址,则网络上可能存在两个相同的地址。因此在这种情况下,给第一电子设备分配另一个地址是合乎需求的。举例来说,当任一电子设备的优先级未知时,则不进行比较。

更为可取的是,网络中的每个设备可起到上述地址确定系统的作用。在这种情况下,当电子设备被启用并且验证到存储在其非易失存储装置中的地址与已被另一个电子设备使用的地址相同时,该电子设备获取它本身和该另一个电子设备的优先级之间的比较结果。如果该电子设备的优先级高于该另一个电子设备的优先级,则已存储的地址被分配给该电子设备。如果该电子设备的优先级较低,则由地址确定装置选定的另一个地址被分配给该电子设备。

在本发明的该方面中,更可取的是,该电子设备从预定地址群中随机选择一个地址,并且在验证到该选定的地址未被另一个电子设备所使用时,把该选定的地址分配给自己。上述预定地址群可以在被称为局部链路地址的地址范围内。

该电子设备中保留的优先级可以是该电子设备被分配到地址的日期和时间、基于其特性的等级和基于其用户的等级中的至少一个。

例如,该电子设备被分配到地址的日期和时间越早,该电子设备的优先级越高。接着,当一个新设备成为网络的一部分时可以阻止该较老设备地址的改变。更为可取的是在该分配的地址被写入非易失存储装置的同时存储该日期和时间信息。至于根据设备特性的等级,像服务器这样的设备应该级别为高,不期望其地址的改变。至于根据设备用户的等级,总经理的设备级别可高于主任的设备级别。如此,可以达到基于用户职责的重要性的网络系统的稳定性。

为了获取该电子设备和其它电子设备的优先级之间的比较结果,更为可取的是,该电子设备包括把该电子设备本身已存储的优先级发送到该另一个电子设备的发送装置、接收从该另一个电子设备发送的该另一个电子设备的优先级的接收装置、以及比较其自身已存储的优先级和由该接收装置接收到的优先级的比较设备。如果该另一个设备也包括上述的装置,则可获取优先级比较的结果。

因此,每个设备无需存储该设备自己的优先级以及其它设备的优先级,用户也无需输入并处理该优先级。此外,连接到网络的服务器无需存储、处理和比较各设备的优先级。未能获取比较结果的情况有,未接收到另一个电子设备发送的优先级的情况,以及未通过对服务器的请求接收到比较结果的情况。

如果本发明的该电子设备是计算机,上述的该电子设备的地址设置功能可以是一个可执行程序。在这种情况下,该程序可存储在像软盘、磁光盘、CD-ROM、硬盘、ROM和RAM这样的存储媒质中。该计算机可以从这些媒质或者在将被适当执行的网络上加载该程序。

本发明的地址设置设备包括获取该连接到网络的设备的当前地址的采集装置、确定所获的地址不属于该地址设置设备所属的网络并且也不是该设备的缺省地址(初始地址)的确定装置、和通知规定该设备的信息的通知装置。

因此,即使用户把设备的地址改变为不属于该地址设置设备所属的网络的错误地址,也可以用该错误地址来寻找该设备。

(4)附图说明

现在将参考附图通过例子的方式描述本发明,其中:

图1是作为第一实施例的电子设备的打印机结构的框图;

图2是作为第一实施例的电子设备的打印机内地址设置过程的流程图;

图3是由APIPA进行IP寻址过程的流程图;

图4是说明在设备内由APIPA进行的自动寻址的说明性视图;

图5是作为第二实施例的电子设备的打印机结构的框图;

图6A和6B是作为第二实施例的电子设备的打印机内地址设置过程的流程图;

图7A和7B是说明数据内容的例子的说明性视图,数据内容包括日期和时间请求数据包及返回数据包以及IP地址和端口号;

图8是通信系统结构的框图,该系统包括作为第三实施例的地址设置设备的个人计算机和作为设备的打印机;

图9是说明作为第三实施例的地址设置设备内的地址设置过程的流程图;

图10是个人计算机内地址设置过程的示例性视图,该个人计算机作为第三实施例的地址设置设备和对用户的通知电文;以及

图11是个人计算机内地址设置过程的示例性视图,该个人计算机作为常规的地址设置设备和对用户的通知。

(5)具体实施方式

第一实施例

图1是作为本实施例的电子设备的打印机10的框图。

该打印机10包括用来存储各种操作所需的数据和程序的ROM 12、用来存储临时数据的RAM 14、用来执行特定的应用程序的ASIC(专用集成电路)16、可重写非易失存储器NVRAM 18、监测通过LAN的数据包并且从LAN接收所需数据包或把所需数据包发送至LAN的用于数据发送和接收的网络控制器20、用来打印的打印机22、实时时钟(RTC)24和用来控制上述部件的CPU 26。

许多未示出的设备被连接到该LAN,譬如多个个人计算机等等。每个个人计算机装备有用于对打印机10作出打印请求的打印机驱动器和各种设置的管理工具。

在打印机10中,CPU 26执行存储在ROM 12中的程序来控制网络控制器20等,从而启用TCP/IP上的通信。该打印机10在被接通后进行地址设置过程。

首先,如图2中的步骤S110所示,可以确定步骤S230中稍后描述的APIPA是否已经分配IP地址。换句话说,可以确定由APIPA分配的IP地址是否存储在NVRAM 18中。如果步骤S230中APIPA已分配IP地址(S110:是),该过程继续进行到步骤S240。另一方面,如果步骤S230中APIPA未分配IP地址(S110:否),RAM 14内提供的用于计数接收到的数据包数量的数据包计数器的值和用于计数检测到的APIPA地址数量(或APIPA地址的类型)的APIPA计数器的值被设置为零(0)(S120),并且该过程继续进行到S130。

在步骤S130中,通过该LAN广播IP地址255.255.255.255的ICMP回应请求。结果,所有连接到该LAN的设备把ICMP应答发送到该LAN。

在步骤S140中,可以确定自本地址设置过程开始以来是否已经经过五秒。如果尚未经过五秒(S140:否),可以确定是否接收到在步骤S130中广播的ICMP回应请求的应答(ICMP应答)数据包(S150)。如果未接收到对该ICMP回应请求的应答数据包(S150:否),则过程返回步骤S140。如果接收到ICMP回应请求的应答数据包(S150:是),该数据包计数器加1(S160),并且可以确定包含在接收到的数据包内的IP地址是否是处于由APIPA分配的范围(从169.254.1.0到169.254.254.255)内的IP地址(S170)。

如果包含在该接收到的数据包内的IP地址不是由APIPA在步骤S170中分配的IP地址(S170:否),则该过程返回到步骤S140以检查另一个数据包。如果包含在该接收到的数据包内的IP地址是由APIP分配的IP地址(S170:是),该APIPA计数器加1(S180),并且该过程返回到步骤S140。换句话说,通过重复步骤S140-S180,可以计数步骤S130中广播的ICMP回应请求的应答数量(该数据包计数器的值)和APIPA地址数量(该APIPA计数器的值)(数据包计数器≥APIPA计数器)。

如果确定自该过程开始以来已经经过五秒(S140:是),则进行步骤S190和其后的步骤。换句话说,在步骤S190可以确定该APIPA计数器是否等于或大于整数N。举例来说,该N可被设置为一(1),或者任何复数数字。如果确定该APIPA计数器小于N(S190:否),则可以确定APIPA计数器对数据包计数器的比值是否等于或大于0.2,或者包含APIPA地址的数据包数量是否等于或大于接收到的数据包的20%(S200)。该20%的值可由网络管理员任意改变。

如果在步骤S200中确定APIPA计数器对数据包计数器的比值小于0.2(S200:否),可以进一步确定该数据包计数器是否等于或小于整数M(S210)。

如果,并且到步骤S190-S210都被否定为止,打印机10的IP地址被设置为缺省IP地址192.0.0.192(S220),并且该过程继续进行到步骤S240。另一方面,如果肯定地确定步骤S190-S210中的任何一步,则进行APIPA(S230),并且该过程继续进行到步骤S240。

如果下列的一项为真:步骤S110中已设置APIPA的IP地址(S110:是);步骤S220中已设置缺省IP地址;已经步骤S230中已进行APIPA,那么该过程在步骤S240中的三十秒睡眠之后返回步骤S110。

这里,通过图3所示的流程图详细解释了图4中进行的APIPA(S230)。

当该过程开始时,从地址范围169.254.1.0-169.254.254.255中随机选择一个IP地址(S300),并且该选定的IP地址的ARP请求从网络控制器20被发送到该LAN(S310)。然后,可以确定从LAN到网络控制器20是否存在对步骤S310中作出的该ARP请求的应答(S320)。换句话说,可以确定该选定的IP地址是否未被连接到该LAN的另一个设备使用。如果存在应答(S320:是),由于该选定的IP地址已被使用于是该过程返回步骤S300,并且选择另一个IP地址。另一方面,如果未接收到应答(S320:否),该选定的IP地址未被使用,该选定的IP地址被设置为其自身(打印机10)的地址(S330),并且该IP地址存储在NVRAM 18中。

如上所述,在该实施例中,对255.255.255.255的ICMP回应请求被广播,并且从产生的应答,可以确定是否存在N个或更多个由APIPA分配IP地址的设备(终端等等)(S190),或者来自由APIPA分配IP地址的设备的应答数量对应答总数的比值是否等于或大于预定的值(S200)。由于可以确定IP地址是否应该照那样由APIPA设置,所以可以防止APIPA在不采用APIPA的LAN环境中被执行。换句话说,由于APIPA是在确认当前网络环境看来可以采用APIPA之后被执行的,所以不执行不必要的IP寻址(自动寻址)。

当正在构建采用APIPA的新的网络环境时,即使广播了255.255.255.255的ICMP回应请求,仍然不存在作出应答的设备(或者在构建网络的开始阶段几乎没有)。因此,步骤S190和S200中未获取肯定的确认结果,很有可能永远不能构建采用APIPA的网络。然而,即使在步骤S190和S200中获取否定的确认结果,如果该设备被设计成当响应该广播的设备数等于或小于M时执行APIPA,那么适当的地址设置仍是可能的(期望M等于零(0)或者与可连接到该网络的终端数相比非常小的值)(S210:是)。

由此,当该LAN环境不采用APIPA时,可以通过使用缺省IP地址来进行各种操作,像通过常规用于个人计算机的管理工具把新的IP地址设置到打印机10等等。

在本实施例中,可以确定APIPA是否根据对ICMP回应请求广播的应答(S190-S210等等)被执行(S130)。然而,可以经由网络控制器20监测到通过LAN的数据包(该步骤等价于S150:是),并且举例来说,可以确定包含在监测到的数据包内的IP地址是否是由APIPA分配的IP地址(该步骤等价于S170)。

在本实施例中,不输出步骤S190-S210的确定结果。然而,这些结果可以在该打印机10的操作面板上显示、通过打印机械22打印、通过网络控制器20输出到LAN、或者作为声音消息输出到未显示的扬声器。

在本实施例中,作为例子,该打印机包括步骤S190和S200的确定装置。然而,该打印机可以只包括上述装置中的一个。步骤S210中的确定可以被取消。

在本实施例中,步骤S130中广播了地址255.255.255.255的ICMP回应请求,并且对应答该回应请求的设备(在数据包计数器中)和具有APIPA地址的设备(在APIPA计数器中)进行计数。根据计数结果,可以作出步骤S190-S210中的确定。然而,也可以在步骤S130中广播地址169.254.255.255的ICMP回应请求。

如上配置后,应答该广播的设备仅限于那些分配到APIPA地址的设备。因此,只有通过计数已应答的设备(S150和S160)才能发现具有APIPA地址的设备数量,并且减少了对该网络和打印机10的负载(在这种情况下,删除了步骤S170和S180)。根据具有APIPA地址的已应答设备的数量,可以进行与步骤S190等价的确定,且可以确定是否应该选择性地执行APIPA(步骤S200和S210已被删除)。

在本实施例中,打印机10被描述为电子设备的一个例子。然而,该电子设备可以是连接到LAN的个人计算机,且该打印机10可以只进行步骤S120-S180并在步骤S190-S210中打印确定结果。在该方式中,当打印机10被连接到LAN时,可以根据该个人计算机得到的确定结果确定打印机10内的APIPA是否应被激活。由此,即使该为APIPA配置的打印机10被连接到不采用APIPA的LAN,也可以防范通信由于APIPA的自动执行而被禁用的可能事故。

第二实施例

图5是把打印机30作为本发明的电子设备的框图。

该打印机30包括用于存储各种操作所需的数据和程序的ROM 32、用于存储临时数据的RAM 34、用于执行应用特定程序的ASIC 36、用于存储包含打印机30的地址、优先级等各种设置的可写非易失存储器NVRAM 38、用于由监控并接收通过LAN所需的数据包并把数据包发送到LAN来进行数据发送和接收的网络控制器40、用于打印的打印机械42、用于保持当前日期和时间的实时时钟(RTC)44、以及用于控制上述部件的CPU 46。

有许多连接到LAN的设备(未示出),譬如许多个人计算机等等。每台个人计算机装备有用于对打印机30作出打印请求的打印驱动器和用于各种设置的管理工具。

在打印机30中,CPU 46执行存储在ROM 32内的程序来控制网络控制器40等等,从而启用TCP/IP上的通信。打印机30通过LAN从个人计算机接收打印请求和设置请求等等,并且进行打印和设置。作为实现通信的初始化步骤,打印机30在通电后进行地址设置过程来把用于在TCP/IP上通信的IP地址分配给自己。现用图6A和6B所示流程图说明地址设置过程。

如图6A中的步骤S410所示,在打印机30通电后,CPU 46确定最后一次使用的打印机的IP地址是否被写入(存储在)NVRAM 38。如果该IP地址已被写入(S410:是),该过程进行到步骤S470。如果该IP地址未被写入(S410:否),该过程进行到步骤S420。

如图4所示,步骤S420-S450说明通过APIPA的IP地址确定过程。特别地,该过程随机选择IP地址(S420),把该选定IP地址的ARP请求从网络控制器40发送到LAN(S430),并且观察步骤S430中是否有从该LAN到该网络控制器40的对该ARP请求的应答(S440)。换句话说,可以确定该选定的IP地址是否正被LAN中的其它设备使用。如果存在应答(S440:是),由于该选定的IP地址已被使用,所以该过程返回步骤S420来选择另一个IP地址。另一方面,如果没有应答(S440:否),该选定的IP地址未被使用,并且它被设置为打印机30的IP地址(S450)。如图4所示,举例来说,地址169.254.78.22被分配给打印机30。

在步骤S460中,步骤S420-S450内确定的IP地址以及由RTC 44保持的当前日期和时间被写入(存储在)NVRAM 38。例如,该确定的IP地址169.254.78.22被写入。

在步骤S470中,该被写入NVRAM 38的IP地址的ARP请求被发送到LAN。在步骤S480中,可以确定是否有对该请求的应答。换句话说,可以验证该存储在NVRAM 38中的IP地址是否正被LAN中的其它设备使用。

如果存在应答,也就是说,该IP地址正在被其它设备使用(S480:是),该过程进行到步骤S490。如果没有应答,也就是说,没有正在使用该IP地址的设备(S480:否),该过程进行到步骤S510。

在步骤S490中,从NVRAM 38中读出在步骤460中被写入的日期和时间,并发送到在步骤S480中已响应的设备(应答者)。

如图7A所示,在该日期和时间的发送中,通过UDP(用户数据报协议)发送了一个数据包,该数据包包含指示日期和时间请求数据包的标志以及打印机取得该IP地址的日期和时间的信息(也就是说,从NVRAM 38读出的日期和时间)。目标地址是已响应设备的IP地址(也就是说,相同的存储在NVRAM 38内的IP地址),并且对应该请求定义目标端口号为2436。图7A说明的例子中,存储在步骤S460的该IP地址169.254.78.22正在被另一个设备使用(也就是说,存在IP地址冲突)。

在步骤S495中,可以确定从应答者发送的返回数据包(像图7B所示的那个)是否响应步骤S490中发送的日期和时间请求数据包而被接收。当未接收到该返回数据包时(S495:否),该过程进行到步骤S420。如果接收到该返回数据包(S495:是),该过程进行到步骤S500。在步骤S500中,从应答者发送的返回数据包内包含的日期和时间与从NVRAM 38中读取的日期和时间相比较。如果应答者这边的日期和时间较迟(S500:否),该过程转到步骤S510。如果没有来自应答者的返回数据包(S495:否),或者应答者这边的日期和时间较早(S500:是),则由APIPA通过上述S420向前的步骤决定打印机30的IP地址。如果步骤S495中未接收到返回数据包(S495:否),可以认为,例如,对日期和时间请求数据包没有应答功能的设备可能与打印机30具有相同的IP地址。在这些不能得知其它设备的优先级(由于不知优先级而未能比较)并且任意保持打印机30的IP地址的情况下,网络中可能存在相同的IP地址。因此,通过向前执行S420向前的步骤给该打印机30分配另一个IP地址是合乎需求的。

在步骤S510中,该存储在NVRAM 38内的IP地址被设置为打印机30的IP地址。

由此,当存储在NVRAM 38内的IP地址与另一个设备当前使用的IP地址不冲突时(S480:否),并且即便当存储在NVRAM 38内的IP地址与另一个设备当前使用的IP地址冲突、但另一个设备的IP地址取得的日期和时间迟于打印机30的IP地址取得的日期和时间(存储在步骤S460中的时间和日期)时(S500:否),打印机30可以使用存储在NVRAM 38内的IP地址。

自此开始,解释打印机30担当前述的另一个设备的过程,换句话说,万一打印机30是步骤S490中发送的日期和时间请求数据包的接收者。

如图6B所示,该过程在图6A中的步骤S460或S510之后进行。

在图6B中的步骤S520中,当从LAN接收到数据(换句话说,当在前述的UDP端口号2436处接收到数据),该过程进行到步骤S530。

在步骤S530中,可以确定接收到的数据是否是日期和时间请求数据包。如果它是日期和时间请求数据包(S530:是),该过程进行到步骤S540。如果它不是日期和时间请求数据包(S530:否),该过程移动到步骤S570。在步骤S570中,进行除地址设置过程之外的其它操作。

在步骤S540中,包含在接收到的日期和时间请求数据包内的日期和时间与存储在NVRAM 38内的日期和时间相比较。在步骤S550中,可以确定接收到的日期和时间请求数据包内的日期和时间是否早于存储在NVRAM 38内的日期和时间。如果接收到的日期和时间请求数据包内的日期和时间早于存储在NVRAM 38内的日期和时间(S550:是),该过程移动到步骤S560。否则(S550:否),该过程移动到步骤S580。

在步骤S560和S580中,存储在打印机的NVRAM 38内的日期和时间被作为对该日期和时间请求数据包的发送者的应答而发送。该应答由图7B示出的数据包作出。特别地,打印机30的IP地址被设置为源IP地址,目标地址被设置为广播地址,且前述的UDP端口号2436被设置为目标端口号。然后,发送包含标志的数据包,该标志指示一个返回数据包以及取得IP地址时日期和时间(换句话说,存储在NVRAM 38内的日期和时间)上的信息。

在步骤S560之后,该过程返回图6A中的步骤S420,并且由前述的APIPA在此选择并确定新的IP地址。

另一方面,在步骤S580之后,该过程移动到步骤S520。简而言之,打印机30连续地使用该IP地址。

如上,当打印机30的IP地址与另一个设备的IP地址冲突(S480:是)并且没有来自该另一个设备的应答(S495:否)或者打印机30取得IP地址的日期和时间迟于该另一个设备取得IP地址的日期和时间(S500:是)时,打印机改变其IP地址。如果该IP地址与另一个设备的IP地址冲突并且打印机30取得IP地址的日期和时间早于该另一个设备取得IP地址的日期和时间(S500:否)时,打印机30可以继续使用其IP地址。

由此,即使另一个打印机30被连接到该打印机30已连接的LAN,已经长期使用该地址的该打印机30可以无须改变而继续使用该地址。用户可以把打印请求发送到长期由该地址识别的该打印机30,以从LAN上的个人计算机打印。这样可以保持网络的稳定性。

在本实施例中,图6和图7所示的打印机30执行该过程。然而,除打印机外的各种设备也可执行这些过程。

在本实施例中,存储步骤460中存储IP地址被分配的日期和时间,接着以优先级为基础在步骤S500和S550内确定该设备是否继续使用该IP地址。然而,除日期和时间之外的各种信息可以成为确定的基础。例如,代替步骤S460中所用的日期和时间,可以存储打印机30自身的优先级(例如,根据使用该打印机30的用户级别或根据设备自身的特性给出的等级)。这些优先级可以通过LAN设置,或者通过打印机30内提供的操作面板的装置来设置。优先级可以根据各种优先级的综合评估来确定。

在本实施例中,为了获取其它设备的优先级,打印机30必须接收步骤S560或S580中从其它设备发出的优先级信息(S495:是)。然而,尽管会打扰管理员或用户,打印机30和其它设备的优先级都会被预先输入到打印机30中。在该情况下,由于它们的优先级未知,管理员或用户未输入优先级的其它设备会给自己分配另一个IP地址(S420-S450),就像在步骤S495中未从其它设备接收到关于日期和时间信息的应答的情况下一样。

此外,在本实施例中,打印机30具有验证LAN上未使用相同IP地址的装置、用于比较优先级的装置、以及用于存储该优先级数据的装置。然而,这些装置可以提供给网络上的服务器,且该服务器可以比较优先级并存储优先级数据。换句话说,打印机30只为了比较结果和优先级而对该服务器作出请求。在这种情况下,可以用对服务器作出请求并解释服务器产生的应答的步骤来代替验证步骤S430-S440和S470-S480,该验证步骤用来确保某IP地址未被连接到该网络的其它设备使用。同样,可以用对服务器作出请求并解释服务器产生的应答的步骤来代替用来获取打印机30和该其它设备之间的优先级比较结果的步骤S490-S500。该服务器可以是另一个连接到该LAN的打印机。

第三实施例

本实施例涉及用来把地址分配到网络中的电子设备的地址设置设备。

有一台网络打印机,当它未能从DHCP服务器获取IP地址时被提供一个缺省地址。如图11所示,该缺省地址是,举例来说,IP地址192.0.0.192,子网掩码0.0.0.0,及网关地址0.0.0.0。

也有一个管理工具,它运行在个人计算机上来配置网络中的设备。该工具与具有缺省地址的设备进行通信并且把该缺省地址改变为用户指定的地址。可以通过在连接到网络的个人计算机上执行该管理工具来改变连接到该网络的打印机的地址。以下经由图11解释了通过管理工具改变地址的过程。

如图11所示,该个人计算机通过网络在SNMP上对MAC地址和sysObjectID广播一个请求。各种连接到该网络的设备响应该请求并且返回它们的MAC地址和sysObjectID。在这些应答中,也包含了那些设备的IP地址。

接收到这些应答的个人计算机选择一个设备,包含在其sysObjectID内的该设备的厂商代码可由管理工具管理并且该设备的IP地址被设置为该设备的缺省地址(即,192.0.0.192),然后该个人计算机像图11中间部分所示的对话那样把该选定设备的MAC地址作为未定义的地址显示。图11中两个打印机被认为其地址未被定义的未定义设备。

当用户选择了具有待用个人计算机的鼠标等等来定义的IP地址的设备的MAC地址时,则显示关于IP地址、子网掩码和网关地址的地址设置表格,用户可以用键盘等把那些值输入到该表格中。例如,当执行管理工具的个人计算机的网络地址、子网掩码和网关地址分别为192.168.123.0、255.255.255.0和0.0.0.0时,用户把一个未被网络中的其它计算机使用的地址192.168.123.100赋予IP地址,并且把打印机的子网掩码和网关地址分别赋值为255.255.255.0和0.0.0.0。当输入了这些值以后,该个人计算机通过网络在SNMP上广播该输入的IP地址、子网掩码和网关地址并且指示该打印机把这些地址分配给自己。此时,该选定的MAC地址被广播为“MAC地址确认”。

由该MAC地址确认识别的设备把该已发送的IP地址、子网掩码和网关地址分配给自己。在上面的例子中,网络地址192.168.123.0、子网掩码255.255.255.0、IP地址192.168.123.100被设置为该打印机的静态地址。管理工具通过上面设置的地址与该打印机进行通信以显示该打印机的状态并且改变该打印机的设置。

如上所述,图11中的对话中示出具有缺省IP地址192.0.0.192的设备的MAC地址。这里,如果用户为该选定的设备输入错误的网络地址,便产生该设备的设置不再能由该个人计算机改变的问题。例如,如果用户对上述网络中的设备错误地输入了地址192.186.123.100,该管理工具不再能与该设备进行通信并且不再能用该管理工具改变打印机的地址。

此外,如果该打印机包含APIPA特性,则该打印机自动地给自己分配地址并且接着,由于该打印机未被识别为未定义的设备,所以管理工具不能给该打印机分配另一个地址。

本实施例提供了一种地址设置装置,它包括用于获取连接到网络的设备的当前地址的获取装置、用于确定该获取的地址不是该地址设置装置所属网络的地址并且也不是该设备的缺省地址(初始地址)的确定装置、以及用于通知规定该设备的信息的通知装置。

这里,短语“该获取的地址不是该地址设置装置所属网络的地址”意指该获取的地址和该地址设置设备的网络地址不相同。例如,如果该地址设置设备的网络地址和IP地址分别为192.168.123.0和192.168.123.20,且获取的地址为192.186.123.100,则该获取的地址不是该地址设置装置所述网络的地址并且它也不是该设备的缺省地址(例如,192.0.0.192)。结果,规定具有该地址的设备的信息未被通知。

因此,即使用户把设备的地址改变为一个不是该地址设置装置所属网络的错误地址,也可以用该错误的地址发现该设备。

此外,本实施例的地址设置装置包括用于输入一个待被分配给该被通知的设备的输入装置、以及用于对该被通知的设备发送指令以通过网络把该输入的地址分配给自己的发送转置。因此,用户容易改正被分配到错误地址的设备的地址。

更为可取的是,当确定该获取的地址是将被设备用来分配给自己的地址时,本发明的地址设置设备通知规定该具有获取的地址的设备的信息。

该将被设备用来分配给自己的地址可以是处于由APIPA分配的范围内的IP地址。如此,可以通过本发明的地址设置设备来改变该设备自动分配给自己的地址。

可取的是,当确定该获取的地址是该设备的缺省地址时,该通知装置也通知规定该具有获取的地址的设备的信息。更为可取的是,当确定该设备满足一个上述条件:即,当该设备的地址是该地址设置设备所属网络的地址时;当该设备的地址是该设备用来分配给自己的地址时;以及当该设备的地址是该设备的缺省地址时,该通知装置可以通知规定该设备的信息。

更为可取的是,当获取装置获取该设备的地址时可以获得该规定待被通知的设备的信息,因为这避免了网络中的繁忙业务。该信息可以是该获取的地址(例如,IP地址)、厂商代码、或该设备的型号。该信息也可以是该设备的MAC地址、或通知规定该设备的信息中的因数。该通知规定该设备的信息中的因数可以是这样的信息:该设备的地址不是该地址设置设备所属网络的地址;该设备的地址是该设备的缺省地址;以及该设备的地址是该设备用来分配给自己的地址。通过通知该因数,用户可以了解为何获取该设备的地址,并且确定是否应修改该设备的地址。

更为可取的是,该地址设置设备包含选择装置,它列出规定该设备的信息并且如果被通知的设备超过一个则允许用户选择一个设备。

像SNMP这样的各种协议可被用于地址获取和地址设置指令的发送。例如,可以使用SNMP广播。

在IP环境中的一个网络的情况下,更为可取的是该地址设置指令包含IP地址、子网掩码和网关地址。更为可取的还有该指令包含该被通知的设备的MAC地址。于是网络中的该设备比较其MAC地址和发送的MAC地址,并且当两个地址一致时,给自己分配该发送的IP地址、子网掩码和网关地址。

如果本发明的地址设置设备是一台计算机,则上面解释的地址设置功能可以是一个可执行的程序。如第一和第二实施例中所描述的,这样的程序可存储在存储器媒质内或者通过网络被发送。

现在将通过例子来描述本实施例。

图8是说明通信系统1的配置的框图,该系统包括打印机60a-60c(下文中也被称作打印机60)和一台作为适合本实施例的地址设置设备的个人计算机(PC)53。

如图8所示,该打印机60和个人计算机53被连接到通信系统1并装备有LAN接口(I/F)54、61,它们分别被连接到LAN电缆55以建造一个局域网(LAN)。

该LAN中的打印机60各自包含打印部分、用户接口(I/F)、通信控制部分、上述的LAN I/F 61、USB接口(I/F)和控制部分,并且打印从像个人计算机53这样的外部设备通过该LAN发送的数据。该打印部分包含送纸和出纸机械,以及用于打印从个人计算机53等通过该LAN I/F 61发送的数据的打印机械。该用户I/F包含像液晶显示器这样的显示部分、以及像按键开关这样的操作部分。在该用户I/F内,对应用户操作的指令被从该操作部分输入到该控制部分,并且在该显示部分上显示从该控制部分发送的消息等等。例如,在该显示部分上显示指示该打印机60的运行状态和该LANI/F 61的地址等的设置的信息。

该LAN I/F 61把该打印机60连接到该LAN,并且它通过该LAN实现与该个人计算机53和网络中的其它设备的双向通信。例如,该LANI/F 61在TCP/IP、IPX/SPX等上从外部设备(譬如个人计算机53)获取打印数据。然后,它把该数据输入控制部分,并且根据来自控制部分的指令把该打印机60的运行状态报告给该外部设备(譬如个人计算机53)。

该LAN I/F 61也可以在SNMP上与外部设备(个人计算机53)进行通信,并且如稍后将解释的那样,它在SNMP上与地址设置设备(个人计算机53)进行通信并且根据来自该地址设置设备(本实施例中的个人计算机53)的指令操作存储在控制部分内的地址数据。

打印机60a和60b在装载前被给出IP地址192.0.0.192、子网掩码0.0.0.0、和网关地址0.0.0.0作为缺省地址。打印机60c启动后自动分配给自己一个处于由APIPA规定的范围169.254.1.0-169.254.254.255内的IP地址。打印机60a、60b、60c的MAC地址分别为00:80:77:12:34:56、00:80:77:34:5E:FD和00:80:77:E2:A5:33。

该个人计算机53被分配到IP地址192.168.123.20、子网掩码255.255.255.0和网关地址0.0.0.0。一个用于把打印数据通过LAN发送的打印机60的打印驱动器和一个用于通过该LAN配置该打印机60的管理工具被安装到该个人计算机53的硬盘驱动器(HDD)65上。该管理工具由像CD-ROM和DVD这样的记录媒质分布,或者分布在网络上。用户把该管理工具安装到该个人计算机53的HDDD 65,并且CPU 56执行该安装到个人计算机53的管理工具的程序,从而使该个人计算机53起到适合本实施例的地址设置设备的作用。该个人计算机53是一台普通的计算机,它包括非易失存储媒质ROM 57、可读可写存储媒质RAM 58、HDD 65等等。显示部分59包含LCD等,并且显示该打印机60的MAC地址列表和地址设置表格。操作部分62包括键盘63、鼠标64等。操作部分62允许用户从该打印机60的MAC地址列表中选择一个期望的MAC地址以及把一个期望的IP地址等输入到在显示部分59上显示的该地址设置表格。

下文中,通过图9所示的流程图描述了由个人计算机53上的管理工具执行的地址设置过程。该个人计算机53起到本实施例的地址设置设备的作用。

当肯定通过操作部分62的用户指令时,存储在RAM 58内的显示计数器的值被设置为零(0)(S1),然后通过LAN在SNMP上广播对MAC地址和sysObjectID的请求(S2)。

可以确定是否存在对步骤S2中来自LAN中的设备的该SNMP广播的应答。如果存在应答(S3:是),可以确定该返回的sysObjectId是否是所需的那个(S4)。换句话说,可以确定已应答的设备是否是将由管理工具根据包含在该sysObjectID内的厂商代码进行管理的设备。如果该返回的sysObjectID不是期望的那个(S4:否),则确定该设备不由管理工具进行管理,并且该过程返回步骤S3以检查来自另一个设备的应答。

如果在步骤S4中确定该返回的sysObjectID是期望的那个(S4:是),可以确定已应答的设备的IP地址是否是该设备的缺省地址(S5)、该设备的IP地址是否具有与该个人计算机53相同的网络地址,即,该设备的网络地址是否是该个人计算机53所属网络的地址(S6)、或该设备的IP地址是否是处于由APIPA分配的范围内的地址(S7)。如果该设备的IP地址是该设备的缺省地址(S5:是)、该设备的网络地址不是该个人计算机53所属网络内的地址(S6:否),并且该设备的IP地址是处于由APIPA分配的范围内的地址(S7:是),那么,设备上的信息被作为未定义设备的信息被存储在RAM 58内,并且该显示计数器的值加一(S8)。如果该设备的IP地址不是该设备的缺省地址(S5:否)、该设备的网络地址是该个人计算机53所属网络内的地址(S6:是),并且该设备的IP地址不是处于由APIPA分配的范围内的地址(S7:否),那么由于无须把该设备显示为未定义的设备,于是该过程返回步骤S3以检查来自另一个设备的应答。

如果步骤S3中没有来自其它设备的应答(S3:否),则可以确定对一个预定的时间是否没有应答被接收(S9)。如果该预定的时间尚未过去(S9:否),该过程返回步骤S3。如果对该预定的时间未接收到应答(S9:是),则可以确定该显示计数器的值是否为零(0)(S10)。如果该显示计数器的值为零(0)(S 10:是),则由于没有未定义的设备,所以该地址设置过程结束。如果该显示计数器的值不为零(0)(S10:否),则在显示部分59上显示在步骤S8中存储在RAM 58内的设备的MAC地址列表(参考稍后解释的图10的中间部分)(S11)。

然后,用户通过操作部分62把指令赋予步骤11中显示在显示部分59上的设备的MAC地址列表(S12)。如果该指令是将要取消(S12:取消命令),则该地址设置过程结束。如果用户选择一个设备来设置地址(S12:设备选择命令),则该选定设备的地址设置表格(未示出)被显示在该显示部分59上(S13)。

如果用户通过操作部分62的键盘63把该选定设备的IP地址、子网掩码和网关地址输入到显示在该显示部分59上的地址设置列表(S14:地址设置命令),则该输入的IP地址、子网掩码和网关地址通过LAN在SNMP上被广播(S15),并且一个请求被发送到该选定的设备以把该地址分配给自己,于是该地址设置过程结束。如果该地址设置被用户取消(S14:取消命令),则该地址设置过程结束。

下面描述上述地址设置过程的操作的一个特例。如图10所示,该个人计算机53通过LAN在SNMP上广播一个对MAC地址和sysObjectID的请求。

连接到LAN的包括打印机60在内的各种设备响应该SNMP广播返回它们的MAC地址和sysObjectID。各设备的IP地址也包含在这些应答中。

如图10的中间部分所示的对话中的未定义的设备,已接收该返回的MAC地址和sysObjectID的个人计算机53显示满足下列条件的设备的MAC地址:由sysObjectID指示的厂商代码是将由管理工具所管理的打印机60的厂商代码;该返回的IP地址的源IP地址是打印机60a、60b的缺省地址之一(即192.0.0.192)并且也是处于由APIPA分配的范围169.254.1.0-169.254.254.255内的地址。不仅示出MAC地址也示出通知信息时的因数。换句话说,如果该返回的IP地址是处于APIPA的范围内的地址,则(APIPA)的指示被加入该MAC地址,并且如果它是该缺省地址,则只示出该MAC地址。

由此,图10示出打印机60的各个MAC地址。至于打印机60c,(APIPA)的指示被加入MAC地址。

根据这样的指示,用户可以识别既未分配到由DHCP服务器获取的IP地址又没有分配到静态地址的设备的MAC地址。同样,用户可以了解具有该显示的MAC地址的设备的IP地址是否是一个缺省地址或是一个由APIPA分配的地址。

用户可以用个人计算机53上装有的鼠标64和键盘13从MAC地址列表上选择IP地址等等将被改变的设备的MAC地址。

例如,如果用户希望把打印机60c的IP地址改变为IP地址192.168.123.100,该地址含有该个人计算机53所连接的LAN的网络地址,则用户在图10的中间部分示出的对话内选择MAC地址00:80:77:E2:A5:33(APIPA)。

当该个人计算机53监测到该选择,则它显示一个未示出IP地址、子网掩码和网关地址输入的设置表格。用户可以通过键盘63等输入到该设置表格。

用户把IP地址192.168.123.100、子网掩码255.255.255.0和网关地址0.0.0.0作为待被分配到打印机60c的地址输入。

当输入了这些地址后,该个人计算机53通过LAN在SNMP上广播该输入的IP地址、子网掩码和网关地址,并且请求打印机60c把这些地址分配给自己。在这点上,个人计算机53把该选定的MAC地址作为“MAC地址确认”而广播。

在LAN中的设备中,具有与MAC地址确认相同的MAC地址的设备把该请求的IP地址、子网掩码和网关地址分配给自己。换句话说,打印机60c把IP地址192.168.123.100、子网掩码255.255.255.0和网关地址0.0.0.0分配给自己。

在上面的方法中,可以改变曾经由APIPA分配过地址的打印机60c的地址。

在上面示出的例子中,也可以通过相同的管理工具既配置该新型的打印机60c又配置该常规打印机60a、60b。

在按照图10的特定操作例中,如果该源IP地址是一个缺省地址或是一个由APIPA分配的地址,则显示该设备的MAC地址。然而,如果该源IP地址包含不同于该个人计算机53所属的LAN的网络地址的一个网络地址,也可以显示该设备的MAC地址。如此,在上面的例子中即使用户把错误的IP地址192.186.123.100分配给打印机60c,打印机60c的MAC地址作为未定义的设备显示在对话中。因此,如果分配了一个错误的IP地址,可能改正该错误。

此外,万一该个人计算机53由APIPA分配IP地址,则它可以与具有处于APIPA分配的范围内的地址的装置进行通信。在这种情况下,无须在对话中显示具有这样的地址的装置的MAC地址。

在上面的实施例中,通知用户该未定义的设备的装置是显示部分59。然而,该通知可以作为话音消息而给用户。此外,在上面的实施例中用户通过操作部分62输入地址。然而,该地址可以由用户话音而输入。

本发明不应限于下面描述的实施例,并且其它的修改和变化是可能的而无须超出本发明的技术范围。