(57)【特許請求の範囲】
【請求項１】
複数の電子機器が接続されたネットワークにおける当該電子機器のアドレスを決定するアドレス決定システムであって、
前記ネットワークに接続された電子機器によって同一のアドレスが利用されているか否かを確認する確認手段と、
前記同一のアドレスを利用する電子機器同士における、各々のアドレスを決定した日時情報を比較する比較手段と
を更に備え、
前記ネットワークに接続された第１の電子機器は、
当該第１の電子機器のアドレスを自ら決定する第１のアドレス決定手段と、
当該第１の電子機器のアドレスであって、前回ネットワークを介して通信を行った際に用いたアドレスを記憶する不揮発性の記憶手段と、
当該第１の電子機器の電源が再投入されて当該第１の電子機器が起動した場合であって、前記確認手段により、前記記憶手段に記憶された記憶アドレスが、前記ネットワークに接続された他の電子機器によって利用されていると確認された際に、前記比較手段による比較結果が、当該第１の電子機器の前記日時情報の方が前記同一のアドレスを利用する第２の電子機器の前記日時情報よりも古い場合には、前記記憶アドレスを自己のアドレスとする一方、当該第１の電子機器の前記日時情報の方が前記第２の電子機器の前記日時情報よりも新しい場合には、前記第１のアドレス決定手段によって別のアドレスを自己のアドレスとして決定する第１の制御手段と
を備え、
前記第２の電子機器は、
当該第２の電子機器のアドレスを自ら決定する第２のアドレス決定手段と、
前記比較手段による比較結果が、当該第２の電子機器の前記日時情報の方が前記第１の電子機器の前記日時情報よりも新しい場合に、前記第２のアドレス決定手段によって別のアドレスを自己のアドレスとして決定する第２の制御手段と
を備えることを特徴とするアドレス決定システム。
【請求項２】
前記確認手段は、前記第１の電子機器及び第２の電子機器に、それぞれ第１の確認手段及び第２の確認手段として設けられ、前記第２の電子機器は、当該第２の確認手段による確認結果に基づいて、前記第２の制御手段によるアドレスの決定を行うことを特徴とする請求項１に記載のアドレス決定システム。
【請求項３】
前記第１の電子機器に備えられた第１の制御手段は、前記比較手段によって、前記同一のアドレスを利用する第３の電子機器の前記日時情報と当該第１の電子機器の前記日時情報とが比較できない場合は、前記第１のアドレス決定手段によって別のアドレスを自己のアドレスとして決定することを特徴とする請求項１または２に記載のアドレス決定システム。
【請求項４】
ネットワークを介して通信を行うために用いる自己のアドレスを自ら決定するアドレス決定手段と、
前記アドレス決定手段によって決定し、前回ネットワークを介して通信を行った際に用いたアドレスを記憶する不揮発性の記憶手段と、
当該電子機器の電源が再投入されて当該電子機器が起動した場合に、前記記憶手段に記憶されたアドレスと同一のアドレスを持つ他の機器が前記ネットワーク上にあるか否かを確認する確認手段と、
前記確認手段によって前記ネットワーク上に前記記憶手段に記憶されたアドレスと同一のアドレスを持つ他の機器がないと確認された際に、前記記憶手段に記憶されたアドレスを前記自己のアドレスとして利用するアドレス設定手段と
を備えた電子機器であって、
前記他の機器のアドレスを決定した日時情報と自機器のアドレスを決定した日時情報とを比較した比較結果を取得する取得手段と、
前記確認手段によって前記ネットワーク上に前記記憶手段に記憶されたアドレスと同一のアドレスを持つ他の機器があると確認された際に、前記取得手段によって取得した比較結果が、自機器の前記日時情報の方が前記他の機器の前記日時情報よりも古い場合には、前記記憶手段に記憶されたアドレスを自己のアドレスとする一方、自機器の前記日時情報の方が前記他の機器の前記日時情報よりも新しい場合には、前記アドレス決定手段によって別のアドレスを前記自己のアドレスとして自ら決定するように制御する制御手段と
を備えることを特徴とする電子機器。
【請求項５】
前記制御手段は、前記取得手段によって前記比較結果が取得されない場合は、前記アドレス決定手段によって別のアドレスを前記自己のアドレスとして自ら決定するように制御することを特徴とする請求項４に記載の電子機器。
【請求項６】
請求項４または５に記載の電子機器において、
前記アドレス決定手段は、所定のアドレス群の中からランダムに候補となる自己のアドレスを選定し、当該候補となるアドレスを自己のアドレスとする他の電子機器が、前記ネットワーク上に存在しないことを確認して、当該候補となるアドレスを自己のアドレスとして決定すること
を特徴とする電子機器。
【請求項７】
請求項４〜６のいずれかに記載の電子機器において、
前記所定のアドレス群は、リンクローカルアドレス内のアドレスであること
を特徴とする電子機器。
【請求項８】
請求項４〜７のいずれかに記載の電子機器において、
前記記憶手段は、更に自己の前記日時情報を記憶し、
前記取得手段による自機器の前記日時情報と他機器の前記日時情報との比較結果の取得は、自機器が記憶している自機器の前記日時情報を前記他の機器に送信する送信手段と、他の機器から送信された他の機器の前記日時情報を受信する受信手段と、自機器が記憶している前記日時情報と、前記受信手段によって受信した他機器の前記日時情報とを比較する比較手段とを備えることにより実現すること
を特徴とする電子機器。
【請求項９】
請求項４〜８のいずれかに記載の電子機器としての機能をコンピュータに実現させるためのプログラム。
【請求項１０】
複数の電子機器が接続されたネットワークにおける当該電子機器のアドレスを決定するアドレス決定方法であって、
前記電子機器同士における、各々のアドレスを決定した日時情報を比較する比較ステップと、
前記複数の電子機器に含まれる第１の電子機器のアドレスを当該第１の電子機器自ら決定するアドレス決定ステップと、
前記第１の電子機器のアドレスと前記ネットワークに接続された他の電子機器が利用する利用中アドレスとが同一であるか否かを確認する確認ステップと、
前記第１の電子機器のアドレスであって、前回ネットワークを介して通信を行った際に用いたアドレスを不揮発性の記憶媒体に記憶する記憶ステップと、
前記第１の電子機器の電源が再投入されて当該第１の電子機器が起動された場合であって、前記確認ステップによって、前記記憶ステップにて記憶媒体に記憶された記憶アドレスが、前記利用中アドレスとが同一であると確認された際に、前記比較ステップによる比較結果が、前記第１の電子機器の前記日時情報の方が前記利用中アドレスを利用する第２の電子機器の前記日時情報よりも古い場合には、前記記憶ステップによって記憶されたアドレスを第１の電子機器のアドレスとするとともに、前記第２の電子機器のアドレスを別のアドレスに変更する一方、前記第１の電子機器の前記日時情報の方が前記第２の電子機器の前記日時情報よりも新しい場合には、前記第１の電子機器のアドレスを前記アドレス決定ステップによって決定された別のアドレスとする制御ステップと
を備えたことを特徴とするアドレス決定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ネットワークに接続可能な電子機器及び、その電子機器のアドレスを決定するシステム、方法等に関する。
【０００２】
【従来の技術】
従来より、電子機器が通信に利用する自己のアドレスを設定する方法として、予め決定されたアドレスをスタティックに設定する方法や、例えばTCP/IPにおけるDHCPサーバのようにアドレスを付与するサーバを設け、そのサーバから付与されたアドレスを自己のアドレスとして設定する方法が知られている。また、例えばAPIPA(Automatic Private IP Adressing)のように、自己のアドレスを自動的に自ら決定する（自己決定する）方法が知られている。
【０００３】
このAPIPAは、AutoIPとも呼ばれ、近年、ＰＣにおけるＯＳの機能などとして標準的に実装されつつあるものであり、電子機器が自己のアドレスを設定する際に、リンクローカルアドレスと呼ばれるIPアドレスの範囲(169.254.0.0〜169.254.255.255)のうち、169.254.1.0〜169.254.254.255の間のひとつのIPアドレスをランダムに自己のIPアドレスの候補として選び出し、他の電子機器がその候補のIPアドレスをすでに使用していないことをARPで確認後、その候補のIPアドレスを自己のIPアドレスとして決定するものである。
【０００４】
このAPIPA処理の具体例を図５を参照して説明する。APIPA処理では、まず、図５に示すようにランダムに自己のIPアドレスの候補を選び出す。図５の例では169.254.123.98を選び出している。そして、ARPによって169.254.123.98をIPアドレスとする電子機器が存在するか否かを確認する。図５に示すようにARPに対するリプライがアドレス169.254.123.98からあった場合には、その候補のIPアドレス169.254.123.98はすでに利用されているIPアドレスであるため、もう一度ランダムに候補のIPアドレスを選び出す。図５の例では169.254.78.22を選び出している。ここで再びARPによって、この候補のIPアドレスがすでに利用されていないかを確認する。今度は、リプライがないのでそのIPの機器が存在しないと判断できる。ここで、もう一度念のためにARPで確認して、リプライがない場合には、その候補のIPアドレス（図５では169.254.78.22）を自己のIPアドレスとして設定する。このようにして自己のIPアドレスを自ら決定して設定するのである。
【０００５】
こうしたAPIPAによるアドレスの自己決定は、例えば機器の起動時に行われるのであるが、APIPAでは上述のようにIPアドレスをランダムに選び出すため、機器を起動させるたびにIPアドレスが変化してしまうという問題がある。IPアドレスを直接指定して通信を行う機器があるので、機器のIPアドレスが頻繁に変わるのはあまり望ましくないのである。また、同一のネットワークに接続される機器が増えれば増えるほど、既に利用されているIPアドレスを候補としてしまう可能性が高くなるため、余分な通信（ARPリクエスト、ARPリプライ）が発生し、ネットワークを圧迫してしまう。
【０００６】
そこで、上述したようにAPIPAによって自己決定したアドレスを不揮発性の記憶媒体に記憶しておき、記憶されたアドレスを上述したAPIPAにおける最初のIPアドレスの候補として用いることにより、電源再投入時のIPアドレスの変化を抑える方法が知られている。ネットワーク上の各機器がこのような処理を行えば、各機器を長期間使用していくことにより、各機器のアドレスがそれぞれ所定のIPアドレスに固定されるようになる。したがって、IPアドレスを直接指定して通信を行うことができ、アドレス決定のための余分な通信を抑えることができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、不揮発性の記憶媒体に記憶されたアドレスを、最初の候補としてARPした際にリプライがあった場合、すなわち、前回自機器が利用していたアドレスを、すでに他の機器が利用している場合には、上述したように、再度ランダムに別のIPアドレスを選択しなおすことになる。
【０００８】
このとき、機器によっては、アドレスが変化するのが望ましくない場合がある。例えば、ネットワーク上で長年同一のアドレスＡを利用してきたプリンタについて、たまたまそのプリンタの電源が切られている間に、新たなＰＣがそのネットワークに接続され、そのＰＣがアドレスＡを自己のアドレスとして決定してしまった場合に、プリンタの電源が再投入されると、このプリンタはアドレスＡがすでにＰＣによって利用されているため、アドレスＡとは別のアドレスＢを自己のアドレスとして再設定してしまう。そのため、これまでアドレスＡに対して印刷データを送信してきたネットワーク上の機器は、ＰＣに対して印刷データの送信を試みることとなり、印刷を行うことができない。
【０００９】
そこで、本発明は上述した問題点を解決し、通信に用いるアドレスを適切に設定することのできる電子機器及び電子機器のアドレスを決定するシステム、方法等を提供することを目的とする。
【００１０】
【課題を解決するための手段及び発明の効果】
上述した問題点を解決するためになされた請求項１に記載のアドレス決定システムは、第１の電子機器が起動された際に、不揮発性の記憶手段に記憶された記憶アドレスとネットワークに接続された他の電子機器が利用するアドレスとが同一であると確認されたとき、当該他の電子機器のアドレスを決定した日時情報と第１の電子機器のアドレスを決定した日時情報とを比較手段によって比較し、第１の電子機器のアドレスを決定した日時情報の方が古い場合には、記憶アドレスを第１の電子機器のアドレスとする一方、第２のアドレス決定手段によって決定された別のアドレスを第２の電子機器のアドレスとして決定し、第１の電子機器のアドレスを決定した日時情報の方が新しい場合には、第１のアドレス決定手段によって決定された別のアドレスを第１の電子機器のアドレスとして決定する。
【００１１】
このようにすれば、第１の電子機器と第２の電子機器とが同一のアドレスを利用しようとした際には、アドレスを決定した日時情報の古い方がそのアドレスを利用することができる。したがって、例えば上述したネットワーク上で長年同一のアドレスＡを利用してきたプリンタ（第１の電子機器）のアドレスを決定した日時がＰＣ（第２の電子機器）のアドレスを決定した日時よりも古ければ、たまたまそのプリンタの電源が切られている間に、新たなＰＣがそのネットワークに接続され、そのＰＣがアドレスＡを自己のアドレスとして決定してしまっても、そのプリンタの電源が再投入された際には、プリンタの方がアドレスＡを使い続けることができる。よって、これまでアドレスＡに対して印刷データを送信してきたネットワーク上の機器は、これまでどおりプリンタに対して印刷データの送信を行うことができ、ネットワークシステムとして期待通りの動作をさせることができる。このように通信に用いるアドレスを適切に設定することができる。
【００１２】
こうすることで、アドレスを決定した日時情報が古い機器（第１の電子機器）のアドレスの変化を抑えることができ、その結果、アドレスを決定した日時情報の古い重要な機器について、正常な動作を維持させることが容易にできる。また、これにより例えばネットワーク管理の保守・運用コスト等の削減が可能となる。なお、不揮発性の記憶手段としては、例えば、ＥＥＰＲＯＭやバッテリバックアップされたＲＡＭ、ハードディスク等を利用するとよい。
【００１３】
また、特に、請求項２に示すように、記憶アドレスとネットワークに接続された他の電子機器のアドレスとが同一であるか否かを確認する確認手段は、第１の電子機器及び第２の電子機器にそれぞれ設けられ、第２の電子機器における第２の制御手段によるアドレスの決定は、第２の電子機器に設けられた第２の確認手段によって、第１の電子機器と第２の電子機器とのアドレスが同一であることが確認された際に行うと良い。こうすることで、各機器に格別指令を与えなくても、各機器が自主的に別のアドレスに設定することとなり、構成が簡易となる。
【００１４】
また、特に、請求項３に示すように、比較手段によって第１の電子機器のアドレスを決定した日時情報と、記憶アドレスと同一のアドレスを利用する第３の電子機器のアドレスを決定した日時情報との比較ができない場合は、第１のアドレス決定手段によって別のアドレスを第１の電子機器のアドレスとして決定すると良い。つまり、両者のアドレスを決定した日時情報が比較できない状態においては、第１の電子機器にて記憶アドレスを一方的に維持してしまうと、ネットワーク上に同一のアドレスが存在し続ける可能性があるので、両者のアドレスを決定した日時情報が比較できない場合は、第１の電子機器のアドレスを別のアドレスに決定することが望ましいのである。尚、比較手段によるアドレスを決定した日時情報の比較ができない場合としては、どちらか一方のアドレスを決定した日時情報が明らかでないとき等が挙げられる。
【００１５】
上述した問題点を解決するためになされた請求項４に記載の電子機器は、電子機器の電源が再投入されて当該電子機器が起動した場合であって、不揮発性の記憶手段に記憶されたアドレスと同一のアドレスを持つ他の機器がネットワーク上にあると確認されたとき、他の機器のアドレスを決定した日時情報と自機器のアドレスを決定した日時情報とを比較した比較結果を取得して、その比較結果により、自機器のアドレスを決定した日時情報の方が古い場合には、記憶手段に記憶されたアドレスを自己のアドレスとし、自機器のアドレスを決定した日時情報の方が新しい場合には、アドレス決定手段によって決定された別のアドレスを自己のアドレスとして決定する。
【００１６】
このようにすれば、これら構成を備えた電子機器同士が同一のアドレスを利用しようとした際には、アドレスを決定した日時情報の古い方がそのアドレスを利用することができる。したがって、例えば上述したネットワーク上で長年同一のアドレスＡを利用してきたプリンタのアドレスを決定した日時情報がＰＣのアドレスを決定した日時情報よりも古ければ、たまたまそのプリンタの電源が切られている間に、新たなＰＣがそのネットワークに接続され、そのＰＣがアドレスＡを自己のアドレスとして決定してしまっても、そのプリンタの電源が再投入された際には、プリンタの方がアドレスＡを使い続けることができる。よって、これまでアドレスＡに対して印刷データを送信してきたネットワーク上の機器は、これまでどおりプリンタに対して印刷データの送信を行うことができ、ネットワークシステムとして期待通りの動作をさせることができる。このように通信に用いるアドレスを適切に設定することができる。
【００１７】
こうすることで、アドレスを決定した日時情報が古い機器のアドレスの変化を抑えることができ、その結果、アドレスを決定した日時情報の古い重要な機器について、正常な動作を維持させることが容易にできる。また、これにより例えばネットワーク管理の保守・運用コスト等の削減が可能となる。なお、不揮発性の記憶手段としては、例えば、ＥＥＰＲＯＭやバッテリバックアップされたＲＡＭ、ハードディスク等を利用するとよい。また、自機器のアドレスを決定した日時情報は、例えば不揮発性の記憶媒体に記憶することで保持するとよい。
【００１８】
また、特に、請求項５に示すように、取得手段によって自機器のアドレスを決定した日時情報と他機器のアドレスを決定した日時情報を比較した比較結果が取得されない場合は、アドレス決定手段によって別のアドレスを自己のアドレスとして決定すると良い。つまり、比較結果が取得されない状態においては、両者のアドレスを決定した日時情報が比較できず、このような状態にて、自己のアドレスを一方的に維持してしまうと、ネットワーク上に同一のアドレスが存在し続ける可能性がでてくる。そのため、比較結果が取得されない場合は、自己のアドレスを別のアドレスに決定することが望ましいのである。
【００１９】
また、特に、請求項６に示すように、所定のアドレス群の中からランダムに候補となる自己のアドレスを選定し、その候補となるアドレスを自己のアドレスとする他の電子機器が、ネットワーク上に存在しないことを確認して、候補となるアドレスを自己のアドレスとする電子機器について優れた効果を発揮する。なお、所定のアドレス群は、例えば請求項７に示すようにリンクローカルアドレス内のアドレスとすることができる。例えば、ネットワークがＩＰｖ４の環境であれば、リンクローカルアドレスである169.254.0.0〜169.254.255.255内の169.254.1.0〜169.254.254.255をアドレス群とすることができる。
【００２０】
【００２１】
なお、他の機器のアドレスを決定した日時情報と自機器のアドレスを決定した日時情報との比較結果の取得は、例えば、請求項８に示すように、自機器が記憶しているアドレスを決定した日時情報を前記他の機器に送信する送信手段と、他の機器から送信された他の機器のアドレスを決定した日時情報を受信する受信手段と、自機器が記憶しているアドレスを決定した日時情報と受信手段によって受信した他機器のアドレスを決定した日時情報とを比較する比較手段とを備えることにより実現するとよい。そして、他機器も自機器と同様の手段を備えることにより、アドレスを決定した日時情報の比較結果を取得することができる。
【００２２】
こうすることによって、各機器に自機器のアドレスを決定した日時情報と他機器のアドレスを決定した日時情報とを共に記憶する必要性やそれらをユーザが入力する必要性、更には、それらを管理する必要性が無くなる。あるいは、これら各機器のアドレスを決定した日時情報をネットワークに接続されたサーバ等によって記憶・管理・比較する必要性も無くなる。尚、請求項５における、比較結果が取得されない場合というのは、他機器から送信されるべき日時情報が受信されない場合や、サーバ等に対して比較結果を要求したがそれに対する返答がない場合などが考えられる。
【００２３】
なお、請求項９に示すように、請求項４〜８のいずれかに記載の電子機器としての機能をコンピュータにて実現する場合、例えば、コンピュータで実行するプログラムとして備えることができる。このようなプログラムの場合、例えば、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ハードディスク、ＲＯＭ、ＲＡＭ等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードして実行したり、ネットワークを介してロードして実行することにより、機能を実現できる。
【００２４】
上述した問題点を解決するためになされた請求項１０に記載のアドレス決定方法は、第１の電子機器の電源が再投入されて当該第１の電子機器が起動された場合であって、不揮発性の記憶手段に記憶された記憶アドレスが、ネットワークに接続された他の機器が利用する利用中アドレスとが同一であるとことが確認されたとき、当該他の機器のアドレスを決定した日時情報と第１の電子機器のアドレスを決定した日時情報とを比較ステップによって比較し、第１の電子機器のアドレスを決定した日時情報の方が古い場合には、記憶アドレスを第１の電子機器のアドレスとするとともに、第２の電子機器のアドレスを別のアドレスに変更する一方、第１の電子機器のアドレスを決定した日時情報の方が新しい場合には、アドレス決定ステップによって決定された別のアドレスを第１の電子機器のアドレスとして決定する。
【００２５】
このようにすれば、第１の電子機器と第２の電子機器とが同一のアドレスを利用しようとした際には、アドレスを決定した日時情報の古.い方がそのアドレスを利用することができる。したがって、例えば上述したネットワーク上で長年同一のアドレスＡを利用してきたプリンタ（第１の電子機器）のアドレスを決定した日時情報がＰＣ（第２の電子機器）のアドレスを決定した日時情報よりも古ければ、たまたまそのプリンタの電源が切られている間に、新たなＰＣがそのネットワークに接続され、そのＰＣがアドレスＡを自己のアドレスとして決定してしまっても、そのプリンタの電源が再投入された際には、プリンタの方がアドレスＡを使い続けることができる。よって、これまでアドレスＡに対して印刷データを送信してきたネットワーク上の機器は、これまでどおりプリンタに対して印刷データの送信を行うことができ、ネットワークシステムとして期待通りの動作をさせることができる。このように通信に用いるアドレスを適切に設定することができる。
【００２６】
こうすることで、アドレスを決定した日時情報の古い機器（第１の電子機器）のアドレスの変化を抑えることができ、その結果、アドレスを決定した日時情報の古い重要な機器について、正常な動作を維持させることが容易にできる。また、これにより例えばネットワーク管理の保守・運用コスト等の削減が可能となる。なお、不揮発性の記憶手段としては、例えば、ＥＥＰＲＯＭやバッテリバックアップされたＲＡＭ、ハードディスク等を利用するとよい。
【００２７】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り種々の形態を採りうることは言うまでもない。
【００２８】
図１は、本実施例の電子機器としてのプリンタ１０の概略構成を表すブロック図である。
このプリンタ１０は、各種動作に必要なデータやプログラムを記憶しているＲＯＭ１２と、データを一時的に記憶するＲＡＭ１４と、専用の処理を行うＡＳＩＣ１６と、プリンタ１０のアドレスやプリンタ１０の優先度等を含む各種設定を記憶する書き換え可能な不揮発性の記憶媒体（不揮発性メモリ）であるＮＶＲＡＭ１８と、ＬＡＮを介してデータの送受信を行うネットワークコントローラ２０と、印刷用紙への印刷動作を行うプリントエンジン２２と、現在の日時を計時するリアルタイムクロック（ＲＴＣ）２４と、これらを制御するＣＰＵ２６とを備える。
【００２９】
また、ＬＡＮには、上述した構成を備えた複数のプリンタ１０以外に、図示しない複数のパソコン等の各種の機器が接続されている。そして各パソコンは、プリンタ１０に印刷要求を行うプリンタドライバや、各種の設定を行うための管理ツールを備える。
【００３０】
プリンタ１０は、ＲＯＭ１２に記憶されたプログラムをＣＰＵ２６が実行することによって、ネットワークコントローラ２０等を制御し、TCP/IPによる通信機能を実現し、ＬＡＮを介してパソコン等からの印刷要求や設定要求を受け付け、印刷や設定を行う。この通信機能を実現するための通信処理の初期化処理として、電源投入後、TCP/IPによる通信で用いる自己のIPアドレスを設定するアドレス設定処理を行う。このアドレス設定処理のフローチャートを図２及び図３に示して説明する。
【００３１】
プリンタ１０の電源が投入されると、ＣＰＵ２６は、図２のＳ１１０に示すように、ＮＶＲＡＭ１８にプリンタ１０の前回の動作時のIPアドレスが書き込まれているか否か（記憶されているか否か）を判定する。IPアドレスが書き込まれている場合には（Ｓ１１０：ＹＥＳ）、Ｓ１７０へ移行し、IPアドレスが書き込まれていない場合には（Ｓ１１０：ＮＯ）、Ｓ１２０へ移行する。
【００３２】
Ｓ１２０〜Ｓ１５０は例えば図５などに示したように行われるAPIPAによるIPアドレスの決定処理である。すなわち、ランダムにIPアドレスの候補を選定し（Ｓ１２０）、ネットワークコントローラ２０からＬＡＮに対して選定された候補のIPアドレスでARPリクエストをし（Ｓ１３０）、ＬＡＮからネットワークコントローラ２０に対するＳ１３０でのARPに対するレスポンスがあるか否かを判定する（Ｓ１４０）。つまり、選定された候補のIPアドレスが、ＬＡＮに接続された他の機器で利用されているか否かを判定する。そして、レスポンスがあれば（Ｓ１４０：ＹＥＳ）、その候補のIPアドレスは他の機器で利用されているので、  Ｓ１２０へ戻り、IPアドレスの候補を選定しなおす。一方、レスポンスがなければ（Ｓ１４０：ＮＯ）、その候補のIPアドレスは他の機器で利用されていないので、そのIPアドレスの候補を自己（プリンタ１０）のアドレスとして決定する（Ｓ１５０）。例えば図５に示すようにして、自己のIPアドレスを169.254.78.22に決定する。
【００３３】
そして、Ｓ１６０では、Ｓ１２０〜Ｓ１５０の処理によって決定されたIPアドレスと、ＲＴＣ２４によって計時される現在の日時をＮＶＲＡＭ１８へ書き込む（記憶する）。例えば決定されたIPアドレス169.254.78.22を書き込む。
一方、Ｓ１７０では、ＮＶＲＡＭ１８に書き込まれているIPアドレスで、ＬＡＮに対してARPリクエストを発行し、Ｓ１８０でそのリクエストに対するレスポンスがあるか否かを判定する。すなわち、ＮＶＲＡＭ１８に記憶されているIPアドレスがＬＡＮに接続された他の機器で利用されているか否かを確認する。
【００３４】
レスポンスがある場合、すなわち、他の機器がそのIPアドレスを利用している場合には（Ｓ１８０：ＹＥＳ）、Ｓ１９０へ移行し、レスポンスがない場合、すなわち他の機器がそのIPアドレスを利用していない場合には（Ｓ１８０：ＮＯ）、Ｓ２１０へ移行する。
【００３５】
Ｓ１９０では、前述したＳ１６０の処理によって書き込まれている日時をＮＶＲＡＭ１８から読み出し、読み出した日時を、Ｓ１８０でレスポンスを返してきた他の機器（相手の機器）に対して送信する。
この日時の送信は、例えば図４（ａ）に示すように、日時の要求パケットであることを示すフラグと、自分のIPアドレスの取得日時（すなわち、ＮＶＲＡＭ１８から読み出した日時）とを含むパケットを、レスポンスを返して来た機器のIPアドレス（すなわち、ＮＶＲＡＭ１８に記憶されているIPアドレスと同じもの）をディスティネーションアドレスとし、この要求のために定義したＵＤＰのポート番号２４３６をディスティネーションポート番号として、ＵＤＰにより送信する。例えば図４（ａ）では、Ｓ１６０で記憶したIPアドレス169.254.78.22が、他の機器でも利用されている場合（すなわちコンフリクトしている場合）についての例を示している。
【００３６】
そして、Ｓ１９５にて、Ｓ１９０で送信された日時要求パケットに対する応答として、相手の機器から送信されてきた返信パケット（例えば図４（ｂ）に示すもの）を受信したか否かを判断し、返信パケットの受信が確認されない場合は（Ｓ１９５：ＮＯ）、Ｓ１２０へ移行し、返信パケットの受信が確認された場合は（Ｓ１９５：ＹＥＳ）、Ｓ２００へ移行する。Ｓ２００では、相手の機器から送信されてきた返信パケットに含まれる日時を、ＮＶＲＡＭ１８から読み出した日時と比較し、相手の日時の方が新しい場合には（Ｓ２００：ＮＯ）、Ｓ２１０へ移行する。したがって、相手からの返答がない場合や（Ｓ１９５：ＮＯ）、相手の日時の方が古い場合には（Ｓ２００：ＹＥＳ）、前述したＳ１２０以下の処理により自己のＩＰアドレスが、APIPAにより決定される。尚、Ｓ１９５にて返信パケットの受信が確認されない場合（Ｓ１９５：ＮＯ）の例としては、Ｓ１９０における日時要求パケットに対する応答機能を備えていない機器のＩＰアドレスと、当該プリンタ１０のＩＰアドレスとが同一であった場合などが挙げられる。このような、他機器の優先度が確認できない（優先度が不明のため比較ができない）状況において、プリンタ１０のＩＰアドレスを一方的に維持してしまうと、ネットワーク上に同一のＩＰアドレスが存在してしまう可能性があるため、Ｓ１２０以降の処理を実行して自ら別のアドレスを決定することが望ましいのである。
【００３７】
一方、Ｓ２１０では、ＮＶＲＡＭ１８に記憶されたIPアドレスを自己のアドレスとして決定する。
したがって、ＮＶＲＡＭ１８に記憶されたIPアドレスが、他の機器の現在利用しているIPアドレスとコンフリクトしない場合（Ｓ１８０：ＮＯ）と、他の機器の現在利用しているIPアドレスとコンフリクトするものの、他の機器のIPアドレスの取得日時より、プリンタ１０のIPアドレスの取得日時（Ｓ１６０で記憶された日時）が古い場合（Ｓ２００：ＮＯ）には、そのＮＶＲＡＭ１８に記憶されたIPアドレスを使い続けることができる。
【００３８】
次に、プリンタ１０が上述した他の機器として動作する場合、すなわち、Ｓ１９０の処理による日時要求パケットを受信した際の処理について説明する。
この処理は、図３に示すように図２のＳ１６０またはＳ２１０の処理の後に行われる。
【００３９】
図３のＳ２２０では、ＬＡＮからのデータの受信を待機し、データを受信した場合（すなわち、前述したＵＤＰポート番号２４３６でデータを受信した場合）に、Ｓ２３０へ移行する。
Ｓ２３０では、受信したデータが、日時を要求するパケットである否かを判定する。日時要求パケットである場合には（Ｓ２３０：ＹＥＳ）、Ｓ２４０へ移行し、日時要求パケットでない場合には（Ｓ２３０：ＮＯ）、Ｓ２７０へ移行する。Ｓ２７０では、アドレス設定処理以外の他の処理を行う。
【００４０】
Ｓ２４０では、受信した日時要求パケットに含まれる日時とＮＶＲＡＭ１８に記憶されている日時を比較し、Ｓ２５０では、受信した日時要求パケットに含まれる日時の方がＮＶＲＡＭ１８に記憶されている日時よりも古いか否かを判定する。受信した日時要求パケットの日時の方がＮＶＲＡＭ１８に記憶されている日時よりも古い場合には（Ｓ２５０：ＹＥＳ）、Ｓ２６０へ移行し、新しい場合には（Ｓ２５０：ＮＯ）、Ｓ２８０へ移行する。
【００４１】
Ｓ２６０、Ｓ２８０では、日時要求パケットを送信してきた相手の機器に対して自機器のＮＶＲＡＭ１８に記憶された日時を返信する。この返信は、図４（ｂ）に示すようなパケットで行う。すなわち、ソースIPアドレスを自機器のIPアドレスとし、ディスティネーションアドレスをブロードキャストアドレスとし、ディスティネーションポート番号を前述したものと同じＵＤＰポート番号２４３６として、返信パケットを示すフラグと自分のIPアドレスの取得日時（すなわちＮＶＲＡＭ１８に記憶されている日時）をデータ内容とするパケットを送信する。
【００４２】
Ｓ２６０の処理を行った後は、図２のＳ１２０へ移行して前述したAPIPAの処理によって、自己のIPアドレスを決定しなおす。
一方、Ｓ２８０の処理を行った後は、Ｓ２２０へ移行する。すなわち自己のIPアドレスをそのまま使い続ける。
【００４３】
このようにして、プリンタ１０は、自己のIPアドレスが他の機器のIPアドレスとコンフリクトした場合に（Ｓ１８０：ＹＥＳ）、他の機器からの返答がない場合や（Ｓ１９５：ＮＯ）、自己のIPアドレスの取得日時よりも他の機器のIPアドレスの取得日時の方が古い場合には（Ｓ２００：ＹＥＳ）、自己のIPアドレスを変更する。一方、自己のIPアドレスが他の機器のIPアドレスとコンフリクトした場合に、自己のIPアドレスの取得日時よりも他の機器のIPアドレスの取得日時の方が新しい場合には（Ｓ２００：ＮＯ）、自己のIPアドレスをそのまま使い続けることができる。
【００４４】
よって、プリンタ１０が接続されたＬＡＮに対して別のプリンタ１０を新たに接続した場合であっても、古くから利用されているプリンタ１０のアドレスは、変わることなく利用できる。したがって、ユーザは、ＬＡＮに接続されたパソコン等から昔から使われているプリンタ１０に対して印刷をさせることができる。このように、ネットワークシステムとして期待通りの動作をさせることができる。
【００４５】
なお、本実施例では、図２及び図３の処理をプリンタ１０が行うこととして説明したが、プリンタに限定されることなく、種々の機器に適用できる。
また本実施例では、Ｓ１６０でIPアドレスを自己決定した日時を記憶し、Ｓ２００、Ｓ２５０で優先度として日時を用いて判定して、どの機器がIPアドレスを使い続けるか決めることとしたが、日時以外にも種々の情報を用いることができる。例えばＳ１６０で日時の代わりに、このプリンタ１０自体の優先度（例えば、プリンタ１０を利用するユーザのランクや機器そのものの特性に関するランクに基づく優先度）を記憶させておくようにしてもよい。こうした優先度は、ＬＡＮを介して設定可能に構成としてもよいし、プリンタ１０に備えた操作パネル等から設定可能に構成してもよい。また、判定の際には、種々の優先度を組み合わせて総合的な優先度を求めて判定するようにしてもよい。
【００４６】
また、本実施例では、他機器の優先度を確認する例として、Ｓ２６０またはＳ２８０にて他機器から送信された優先度を受信することで（Ｓ１９５：ＹＥＳ）確認することとしたが、管理者やユーザの手間を要するが、自機器内に自機器の優先度と他機器の優先度を予め入力しておき、その入力された優先度を確認することによって実現しても良い。この場合、管理者やユーザによる優先度の入力が行われていない他機器については、Ｓ１９５における他機器からの日時情報の返信が無い場合（Ｓ１９５：ＮＯ）と同様、他機器の優先度が確認できないため、自己で別のアドレスを決定することとなる（Ｓ１２０〜Ｓ１５０）。
【００４７】
更に、本実施例では、同一のＩＰアドレスがＬＡＮ上で利用されているか確認する手段、優先度を比較する手段、優先度を記憶する手段がプリンタに設けられた例を挙げて説明したが、ネットワーク上に存在するサーバ等に設け、そのサーバ等に優先度を比較させたり、優先度を記憶させたりする構成としても良い。つまり、プリンタは、そのサーバ等に対して比較結果を問い合わせたり、優先度を問い合わせたりすれば良いのである。その場合、Ｓ１３０〜１４０やＳ１７０〜Ｓ１８０にある、所定のＩＰアドレスがネットワーク上の他の機器で利用されているか否かの確認処理は、サーバに対する問い合わせ処理と、サーバからの返答結果を解釈する処理に置き換えれば良い。また、Ｓ１９０〜Ｓ２００にある、他の機器と自機器との優先度を比較した結果を取得する処理は、同じく、サーバに対する問い合わせ処理と、サーバからの返答結果を解釈する処理に置き換えれば良い。即ち、サーバにて、同一のＩＰアドレスが存在するか否かの確認や優先度の比較を代行するのである。尚、そのサーバはＬＡＮに接続された他のプリンタ１０であっても良い。
【図面の簡単な説明】
【図１】実施例の電子機器としてのプリンタの構成を示すブロック図である。
【図２】実施例の電子機器としてのプリンタにおけるアドレス設定処理のフローチャートである。
【図３】図２の続きのフローチャートである。
【図４】日時の要求パケットと返信パケットのデータ内容及びIPアドレスとポート番号の例を示す説明図である。
【図５】APIPAによる機器のアドレスの自己設定処理を説明する説明図である。
【符号の説明】
１０…プリンタ、  １２…ＲＯＭ、  １４…ＲＡＭ、  １６…ＡＳＩＣ
１８…ＮＶＲＡＭ、  ２０…ネットワークコントローラ、
２２…プリントエンジン、  ２４…ＲＴＣ、  ２６…ＣＰＵ
【図１】
0003651446.tif 000002
【図２】
0003651446.tif 000003
【図３】
0003651446.tif 000004
【図４】
0003651446.tif 000005
【図５】
0003651446.tif 000006