(57)【要約】【課題】  ネットワークに接続されたデバイス装置を効果的に探索するデバイス探索装置を提供する。【解決手段】  アドレス情報取得手段３２、３３がネットワークのアドレス情報を取得し、決定手段３５、３６がアドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定し、探索実行手段３７、３８が決定手段により探索を実行することが決定された場合にネットワークに接続されたデバイス装置の探索を実行する。また、決定手段はアドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行する手法を決定する。【選択図】  図３
2006252404.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたデバイス装置を探索するデバイス探索装置において、
ネットワークのアドレス情報を取得するアドレス情報取得手段と、
前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定する決定手段と、
前記決定手段により探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行する探索実行手段と、
を備えたことを特徴とするデバイス探索装置。
【請求項２】
請求項１に記載のデバイス探索装置において、
前記アドレス情報取得手段は、他の装置から受信された信号に基づいてネットワークのアドレス情報を取得する、
ことを特徴とするデバイス探索装置。
【請求項３】
請求項２に記載のデバイス探索装置において、
前記ネットワークはサブネットであり、
前記アドレス情報取得手段は、前記他の装置から受信された信号からホストアドレスを検出し、前記他の装置に対してサブネットマスクを問い合わせて当該サブネットマスクを前記他の装置から受信し、前記ホストアドレスと前記サブネットマスクからサブネットのアドレス情報を取得する、
ことを特徴とするデバイス探索装置。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載のデバイス探索装置において、
自装置が接続されたネットワークのアドレス情報を記憶する記憶手段を備え、
前記決定手段は、前記記憶されたネットワークのアドレス情報と前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて、これらの階層的な近さが所定の条件を満たす場合には、前記ネットワークに対して探索を実行することを決定する、
ことを特徴とするデバイス探索装置。
【請求項５】
請求項４に記載のデバイス探索装置において、
前記決定手段は、前記アドレス情報取得手段により取得されたネットワークのアドレス情報を用いて外部の装置へ問い合わせを行って当該外部の装置からより多層のドメイン名を特定するアドレス情報を取得し、当該取得したアドレス情報に基づいて前記ネットワークに対して探索を実行するか否かを決定する、
ことを特徴とするデバイス探索装置。
【請求項６】
請求項５に記載のデバイス探索装置において、
前記外部の装置はＤＮＳであり、
前記外部の装置へ問い合わせを行う前のアドレス情報はＩＰアドレスの情報であり、
前記より多層のドメイン名を特定するアドレス情報はＦＱＤＮに基づく情報である、
ことを特徴とするデバイス探索装置。
【請求項７】
請求項１乃至請求項６のいずれか１項に記載のデバイス探索装置において、
前記決定手段は、前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行する手法を決定する、
ことを特徴とするデバイス探索装置。
【請求項８】
請求項７に記載のデバイス探索装置において、
自装置が接続されたネットワークのアドレス情報を記憶する記憶手段を備え、
前記決定手段は、前記記憶されたネットワークのアドレス情報と前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて、これらの階層的な近さに応じて前記ネットワークに対して探索を実行する手法を決定する、
ことを特徴とするデバイス探索装置。
【請求項９】
請求項８に記載のデバイス探索装置において、
前記決定手段は、前記階層的な近さが近い方から第１の条件及び第２の条件を記憶しており、前記階層的な近さが前記第１の条件を満たす場合にはデバイス情報要求メッセージを使用する探索手法による探索とＬＰＤに対する信号を使用する探索手法による探索との両方を実行することを決定し、前記階層的な近さが前記第１の条件を満たさず前記第２の条件を満たす場合にはデバイス情報要求メッセージを使用する探索手法による探索を実行することを決定し、他の場合には探索を非実行とすることを決定する、
ことを特徴とするデバイス探索装置。
【請求項１０】
請求項１乃至請求項９のいずれか１項に記載のデバイス探索装置において、
自装置が接続されたネットワークとは異なるネットワークに接続されたデバイス装置を探索する、
ことを特徴とするデバイス装置。
【請求項１１】
デバイス探索装置がネットワークに接続されたデバイス装置を探索するデバイス探索方法において、
前記デバイス探索装置のアドレス情報取得手段が、ネットワークのアドレス情報を取得し、
前記デバイス探索装置の決定手段が、前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定し、
前記デバイス探索装置の探索実行手段が、前記決定手段により探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行する、
ことを特徴とするデバイス探索方法。
【請求項１２】
ネットワークに接続されたデバイス装置を探索するデバイス探索装置を構成するコンピュータに実行させるプログラムであって、
ネットワークのアドレス情報を取得する機能と、
前記取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定する機能と、
探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行する機能を、当該コンピュータにより実現する、
ことを特徴とするプログラム。
【請求項１３】
ネットワークに接続されたデバイス装置を探索するデバイス探索装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶した記憶媒体であって、
当該プログラムは、ネットワークのアドレス情報を取得する処理と、
前記取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定する処理と、
探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行する処理を、当該コンピュータに実行させる、
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・ネットワークにおいてデバイス装置を探索するデバイス探索装置や方法などに関し、特に、ネットワーク相互接続装置を介して接続される複数のドメインを含んで構成されるコンピュータ・ネットワークにおいてデバイス装置を探索する技術に関する。
【背景技術】
【０００２】
近年、複写機は、単なる原稿の複写機能だけでなく、そのプリント機能を用いてコンピュータからの情報に基づいて印字を行うネットワーク・プリント機能や、そのスキャン機能を用いて読み取った原稿を電子情報として一時的に保存してそれをネットワークを介してコンピュータから取得する親展ボックス機能など、様々な機能を有しており、ＭＦＰ（マルチ・ファンクション・プリンタ）などと称されるデジタル複合機となっているものが多い。
更には、このようなデジタル複合機同士をネットワークを介して直接的に通信可能とし、公衆電話回線と接続し、複写機のスキャン機能とプリント機能を使用して原稿の情報を送受信することで、従来のファクシミリ送受信機能を代替するインターネットＦＡＸ機能が実現されており、このようなインターネットＦＡＸ機能などのデバイス連携機能がデジタル複合機に搭載されるようになってきている。
このため、デジタル複合機のようなネットワーク装置が他のネットワーク装置を自動的に発見する必要が生じることがある。
【０００３】
従来、一般に、コンピュータ・ネットワークにおいて特定のサービスを行うノードを探索する方法として、探索を行うノードが特定のポート番号からブロードキャスト・パケットを送信し、それを受信したノードが自己の名称及び状態を返送するという方法がある。
しかしながら、あるサブネットでのブロードキャスト・パケットは、通常、ルータを越えては転送されないため、このような方法では、ルータを介して接続された先のサブネットのノードを探索することができない。
【０００４】
これに対して、ノード検索方法として、ネットワーク上に送出されて当該ネットワークにおけるドメインが記述されたルーティング情報を含むパケットを取得し、これにより取得したルーティング情報に記述されたドメインに宛てて特定のサービスを提供するノードの応答を要求するブロードキャスト・パケットを送出し、当該ブロードキャスト・パケットに対する応答パケットを受信して、当該応答パケットを送出したノードを検知することが考えられている（例えば、特許文献１参照。）。
しかしながら、この方法では、ルータがスタティックルーティングで運用されている場合には、ルーティングプロトコルパケットがネットワーク上に送出されないという問題がある。ルータがスタティックルーティングで運用されているか或いはダイナミックルーティングで運用されているかは、ネットワーク設計やルータの運用ポリシー次第であるため、制御することはできない。
【０００５】
また、この方法では、複数のドメインが検出された場合には、その全てのドメインに宛ててブロードキャスト・パケットを送出するか、若しくは、そのうちのいくつかを利用者が選択して、選択されたドメインに宛ててブロードキャスト・パケットを送出する。全てのドメインに宛ててブロードキャスト・パケットを送出する場合には、ネットワークのトラフィックを増加させてしまう等の問題がある。利用者にドメインを選択させる場合には、第一に利用者にネットワーク運用状況に関する知識を要求する、第二に利用者による選択操作を必要とするためデバイス装置が他のデバイス装置を自動的に発見する用途には採用できない、等の問題がある。
【０００６】
【特許文献１】特開２０００−３５３１４３号公報
【特許文献２】特開２００３−２５８８３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のように、従来のノード探索方法では、探索を行うデバイス装置が、当該デバイス装置に接続されているサブネット（本願で、ローカルサブネットとも言う）にルータを介して接続された先の遠隔のサブネット（本願で、リモートサブネットとも言う）に接続されたデバイス装置を、自動的に探索することが十分にできないという問題があった。
【０００８】
本発明は、このような従来の課題を解決するために為されたもので、ネットワークに接続されたデバイス装置を効果的に探索することができるデバイス探索装置や方法などを提供することを目的とする。
具体的には、例えば、リモートサブネットに存在するデバイスアドレスの探索において、ルーティングプロトコルやネットワーク運用ポリシーに依存しないデバイスアドレス探索を実現することを目的とする。また、例えば、リモートサブネットに存在するデバイスアドレスの探索において、探索の是非や探索手法を自動的に決定することを実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係るデバイス探索装置では、次のような構成により、ネットワークに接続されたデバイス装置を探索する。
すなわち、アドレス情報取得手段がネットワークのアドレス情報を取得し、決定手段が前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定し、探索実行手段が前記決定手段により探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行する。
従って、取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かが決定されるため、例えば取得されたネットワークのアドレス情報の全てについて探索を実行するような場合と比べて、ネットワークに接続されたデバイス装置を効果的に探索することができる。
【００１０】
ここで、ネットワークとしては、種々なものが用いられてもよく、例えば、サブネットなどを用いることができる。
また、デバイス装置としては、種々な装置が用いられてもよく、例えば、ネットワークに接続されて処理を行うデジタル複合機や複写機やプリンタなどのネットワーク装置を用いることができ、また、ネットワークに接続されたパーソナルコンピュータなどを用いることもできる。
また、アドレス情報としては、種々なものが用いられてもよく、例えば、ＩＰアドレスのように数字から構成されるアドレス情報や、ＦＱＤＮのようにドメイン名から構成されるアドレス情報などを用いることができる。
【００１１】
本発明に係るデバイス探索装置では、一構成例として、次のような構成とした。
すなわち、前記アドレス情報取得手段は、他の装置から受信された信号に基づいてネットワークのアドレス情報を取得する。
従って、他の装置からのアクセスがあった場合にそのネットワークのアドレス情報が取得されるため、例えば、全くアクセスの無いようなネットワークに対して探索を行うことを回避することができる。
ここで、他の装置からの信号としては、種々な信号が用いられてもよい。
【００１２】
本発明に係るデバイス探索装置では、一構成例として、次のような構成とした。
すなわち、前記ネットワークはサブネットである。また、前記アドレス情報取得手段は、前記他の装置から受信された信号からホストアドレスを検出し、前記他の装置に対してサブネットマスクを問い合わせて当該サブネットマスクを前記他の装置から受信し、前記ホストアドレスと前記サブネットマスクからサブネットのアドレス情報（つまり、前記ネットワークのアドレス情報）を取得する。
従って、信号を送信してきた他の装置が接続されたサブネットに対して探索を実行することができる。
【００１３】
本発明に係るデバイス探索装置では、一構成例として、次のような構成とした。
すなわち、記憶手段が、自装置（デバイス探索装置）が接続されたネットワークのアドレス情報を記憶する。また、前記決定手段は、前記記憶されたネットワークのアドレス情報と前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて、これらの階層的な近さ（組織構造的な近さ）が所定の条件を満たす場合には、前記ネットワークに対して探索を実行することを決定する。
従って、自装置が接続されたネットワークと階層的に近い他のネットワークに対して探索を実行することができる。
【００１４】
ここで、２つのアドレス情報の階層的な近さに関する所定の条件としては、種々な条件が用いられてもよく、例えば、所定の層（レベル）のドメインまで或いはそれ以上が一致したら条件を満たすこととするような条件を用いることができる。
また、例えば、自装置が接続されたネットワークと同一のネットワークに対しては決定手段が探索を行わないように決定する構成とすることもできる。
また、記憶手段としては、例えば、メモリを用いて構成することができる。
【００１５】
本発明に係るデバイス探索装置では、一構成例として、次のような構成とした。
すなわち、前記決定手段は、前記アドレス情報取得手段により取得されたネットワークのアドレス情報を用いて外部の装置へ問い合わせを行って当該外部の装置からより多層のドメイン名を特定するアドレス情報を取得し、当該取得したアドレス情報に基づいて前記ネットワークに対して探索を実行するか否かを決定する。
従って、最初に取得されたアドレス情報がより多層のドメイン名を特定するアドレス情報へ変換された後に探索を実行するか否かが決定されるため、より確実な判断（決定）を行うことができる。
【００１６】
一例として、本発明に係るデバイス探索装置では、次のような構成とした。
すなわち、前記外部の装置はＤＮＳであり、前記外部の装置へ問い合わせを行う前のアドレス情報はＩＰアドレスの情報であり、前記より多層のドメイン名を特定するアドレス情報はＦＱＤＮに基づく情報である。
従って、ＩＰアドレスの情報をＦＱＤＮに基づくドメイン名からなる情報へ変換して、各層のドメイン名を参照して探索を実行するか否かを決定することができる。この場合、前記記憶手段は、例えば、自装置が接続されたネットワークのアドレス情報として、ＦＱＤＮに基づく情報を記憶する。
なお、一般に、ＩＰアドレスでは、せいぜい２層（２レベル）しかドメイン名が特定されない。
【００１７】
本発明に係るデバイス探索装置では、一構成例として、次のような構成とした。
すなわち、前記決定手段は、前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行する手法を決定する。
従って、取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行する手法が決定されるため、例えば取得されたネットワークのアドレス情報の全てについて同一の手法による探索を実行するような場合と比べて、ネットワークに接続されたデバイス装置を効果的に探索することができる。
ここで、探索を実行する手法としては、種々なものが用いられてもよい。
【００１８】
本発明に係るデバイス探索装置では、一構成例として、次のような構成とした。
すなわち、記憶手段が、自装置が接続されたネットワークのアドレス情報を記憶する。また、前記決定手段は、前記記憶されたネットワークのアドレス情報と前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて、これらの階層的な近さに応じて前記ネットワークに対して探索を実行する手法を決定する。
従って、自装置が接続されたネットワークと階層的に近い他のネットワークと階層的に遠い他のネットワークとで探索の手法を異ならせることや、或いは、自装置が接続されたネットワークに対する階層的な近さによって３つ以上に分類した他のネットワークについて分類毎に探索の手法を異ならせることができる。
【００１９】
本発明に係るデバイス探索装置では、一構成例として、次のような構成とした。
すなわち、前記決定手段は、前記階層的な近さが近い方から第１の条件及び第２の条件を記憶しており、前記階層的な近さが前記第１の条件を満たす場合にはデバイス情報要求メッセージを使用する探索手法による探索とＬＰＤに対する信号を使用する探索手法による探索との両方を実行することを決定し、前記階層的な近さが前記第１の条件を満たさず前記第２の条件を満たす場合にはデバイス情報要求メッセージを使用する探索手法による探索を実行することを決定し、他の場合には探索を非実行とする（つまり、実行しない）ことを決定する。
従って、自装置が接続されたネットワークに対して階層的に近いものから順に、デバイス情報要求メッセージばかりでなくＬＰＤに対する信号を使用して探索を実行する態様と、デバイス情報要求メッセージを使用するがＬＰＤに対する信号は使用しないで探索を実行する態様と、探索を実行しない態様を決定することができる。これにより、例えば、階層的に近いものに対しては多くの探索を実行する一方、階層的に遠いものに対してはそれほど探索を実行しないようなことが実現される。
【００２０】
ここで、第１の条件や第２の条件としては、それぞれ種々な条件が用いられてもよく、第１の条件の方が第２の条件と比べて階層的に近いことを要求する条件である。
また、例えば、デバイス情報要求メッセージはそれを処理するソフトウエアを有する装置に送られた場合に当該装置により受信され、これに応じて当該装置からそのデバイスに関する情報が返送される。
また、例えば、ＬＰＤに対する信号は、ＬＰＤに対応したポートである５１５番ポートを介して送られ、ＬＰＤを有する装置により受信された場合には、当該装置から肯定的な信号が返送される。
【００２１】
本発明に係るデバイス探索装置では、例えば、次のような構成とした。
すなわち、自装置が接続されたネットワークとは異なるネットワークに接続されたデバイス装置を探索する。
従って、自装置が接続されたネットワークに直接的に或いは間接的に接続された他のネットワークに対して、当該他のネットワークに接続されたデバイス装置を探索することができる。
また、例えば、自装置が接続されたネットワークと同一のネットワークに対しては決定手段が探索を実行しないことを決定する構成とすると、他のネットワークのみに対して探索を実行することができ、効率的な探索を実現することができる。
【００２２】
本発明は、以上のような装置と同様な特徴を有する方法やプログラムや記憶媒体として提供することも可能である。
一例として、本発明に係るデバイス探索方法では、次のようにして、デバイス探索装置がネットワークに接続されたデバイス装置を探索する。
すなわち、前記デバイス探索装置のアドレス情報取得手段がネットワークのアドレス情報を取得し、前記デバイス探索装置の決定手段が前記アドレス情報取得手段により取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定し、前記デバイス探索装置の探索実行手段が前記決定手段により探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行する。
【００２３】
一例として、本発明に係るプログラムは、ネットワークに接続されたデバイス装置を探索するデバイス探索装置を構成するコンピュータに実行させるものであり、次のような構成とした。
すなわち、ネットワークのアドレス情報を取得する機能と、前記取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定する機能と、探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行する機能を、当該コンピュータにより実現する。
【００２４】
一例として、本発明に係る記憶媒体では、ネットワークに接続されたデバイス装置を探索するデバイス探索装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶しており、次のような構成とした。
すなわち、当該プログラムは、ネットワークのアドレス情報を取得する処理と、前記取得されたネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定する処理と、探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行する処理を、当該コンピュータに実行させる。
【発明の効果】
【００２５】
以上説明したように、本発明に係るデバイス探索装置や方法などによると、ネットワークのアドレス情報を取得し、取得したネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行するか否かを決定し、探索を実行することが決定された場合に前記ネットワークに接続されたデバイス装置の探索を実行するようにしたため、ネットワークに接続されたデバイス装置を効果的に探索することができる。
また、本発明に係るデバイス探索装置や方法などによると、取得したネットワークのアドレス情報に基づいて当該ネットワークに対して探索を実行する手法を決定するようにしたため、ネットワークに接続されたデバイス装置を効果的に探索することができる。
【発明を実施するための最良の形態】
【００２６】
本発明に係る実施例を図面を参照して説明する。
図１には、本実施例に係るネットワークシステムの概略的な構成例を示してある。
本実施例に係るネットワークシステムは、複数のサブネット１〜３と、それぞれのサブネット１〜３に接続された通信可能な１つ又は複数のクライアント１１〜１３と、それぞれのサブネット１〜３に接続された通信可能な１つ又は複数のデバイス装置１４〜１７と、サブネット１とサブネット２とを接続するルータ５と、サブネット２とサブネット３とを接続するルータ６と、全てのサブネット１〜３に対して名前解決サービスを提供するＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）から構成されている。
なお、名前解決サービスとは、数値からなるために人間が理解しにくいが多くの機器が理解できるホストアドレスと、アルファベット等から構成されて人間は理解し易いが機器は理解できない文字列（名前）とを相互に変換するサービスである。
【００２７】
各サブネット１〜３は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）とも呼ばれるパケット交換網であり、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のプロトコルによる通信路を提供する。コンピュータ・ネットワークに接続されたクライアント１１〜１３やデバイス装置１４〜１７等の各ノードは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスやドメインネーム等のホストアドレスによってネットワーク上で一意に識別される。
各ルータ５、６は、２つ又はそれ以上のサブネット１〜３を相互に接続する装置である。なお、本実施例では、複数のサブネット１〜３からなるネットワークを例とするが、例えば、ルータにより外部のインターネットなどと接続されてもよい。
【００２８】
ＤＮＳ４は、例えば、ＩＥＴＦ  ＲＦＣ１０３４やＩＥＴＦ  ＲＦＣ１０３５等に規定された仕様を実装した１台又は複数台のコンピュータ（これをドメイン名サーバと称する）からなるシステムであり、ネットワークシステム上のノードに対して名前解決サービスを提供する。ＤＮＳ４が複数のドメイン名サーバからなる場合には、ドメイン名サーバは協調して動作し、クライアント１１〜１３やデバイス装置１４〜１７は任意のドメイン名サーバにアクセスすることにより、ＤＮＳ４が提供する名前解決サービスを受けることができる。
なお、ＤＮＳ４は、対象とする全てのサブネット１〜３に関する情報を有しており、これら全てのサブネット１〜３からアクセス可能である。また、ＤＮＳ４は、これらのいずれのサブネット１〜３に設けられてもよく、或いは、外部にアクセス可能に設けられてもよい。
【００２９】
各クライアント１１〜１３は、例えば、ＣＲＴ等の表示装置と、キーボードやマウス等の入力装置と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算装置と、メモリやハードディスクドライブ等の記憶装置を備えており、一般にパーソナル・コンピュータ（ＰＣ）などと称される装置から構成されている。
また、各デバイス装置１４〜１７としては、デジタル複合機や印字装置（プリンタ）などが用いられる。本実施例では、各デバイス装置１４〜１７として、デジタル複合機を用いた場合を例とする。
デジタル複合機は、複写機をベースとしながら、ネットワーク・プリント機能、インターネット・ファクシミリ機能、等の様々な機能をサービスとして提供する装置である。各デジタル複合機が提供するサービスは、デジタル複合機のホストアドレスと、各サービス毎に決められているＴＣＰ／ＵＤＰポート番号やサ−ビス固有の識別情報（例えば、プリントサービスではキュー名）等との組み合わせにより、ネットワーク上で一意に識別される。
【００３０】
次に、本実施例の背景及びデバイス探索方法について説明する。
コンピュータ・ネットワークに接続されたデバイス装置１４〜１７は、元々、クライアント１１〜１３や他のデバイス装置１４〜１７に各種の機能をサービスとして提供するサーバ装置ということができる。このため、デバイス装置１４〜１７は、多数のクライアント１１〜１３や他のデバイス装置１４〜１７からネットワークを介してアクセスされる状況にある。特に、近年のデジタル複合機には、インターネットＦＡＸ機能のように、遠隔のクライアント１１〜１３やデバイス装置１４〜１７からのアクセスが行われる機能が搭載されているため、サブネット１〜３を超えてのアクセスが増えてきている。
【００３１】
このため、デバイス装置１４〜１７では、クライアント１１〜１３や他のデバイス装置１４〜１７からのアクセスをモニタすることにより、クライアント１１〜１３や他のデバイス装置１４〜１７が接続されているサブネット１〜３のアドレスを取得することができる。
そこで、本実施例に係るリモートサブネットのアドレス取得方法では、受信パケットから送信先ホストアドレスを取得し、このホストアドレスを元にサブネットマスクを取得し、当該送信先ホストアドレスと当該サブネットマスクからサブネットアドレスを算出することにより、リモートサブネットのアドレスを取得する。
なお、このような方法は、ほかのクライアント１１〜１３やデバイス装置１４〜１７からのアクセスがあるノードであれば適用できるため、デバイス装置１４〜１７に適用できるばかりでなく、クライアント１１〜１３に適用することもできる。
【００３２】
また、デバイス装置１４〜１７の探索方法としてはいくつかの方法がある。
ブロードキャストによる方法は、高頻度で行うとネットワークに高負荷を与え、他の通信の障害となることがある。ポートスキャン等と呼ばれる方法は、ネットワークに接続されたノードの１台１台に対して通信を行い、特定のアプリケーションが稼動しているか否かを調べるため、高頻度で行うとノードに対する負荷となり、また、セキュリティ・ホールを発見するための悪意の攻撃と見なされる危険がある。このため、全てのサブネット１〜３に対してこのような方法で探索を行うことは望ましくない。
【００３３】
ここで、一般に、企業等では、事業所や建屋、或いは、部、課等の組織構造に準じて、階層構造を有するようにコンピュータ・ネットワークが設計されることが普通である。
サブネット１〜３やノード１１〜１７には、ＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）と呼ばれる名前が付けられ、ＩＰアドレスと関係付けられて、ＤＮＳ４により管理される。ＦＱＤＮには、上記のような階層構造が反映される。
図２には、ＦＱＤＮの一例を示してある。
本例のＦＱＤＮでは、ホスト名（ｍｓ２）とドメイン名（ｎｅｔ１．ａｂｃｄｅｆｇｈｉ．ｃｏ．ｊｐ）とがピリオド（．）によって連結された構造となっている（例えば、ＩＥＴＦ  ＲＦＣ１５９４；ＦＹＩ  Ｑ／Ａ−ｆｏｒ  Ｎｅｗ  Ｉｎｔｅｒｎｅｔ  Ｕｓｅｒｓ参照。）。ドメイン名は、更に、ピリオドで複数の領域に区切られる。
【００３４】
ＩＥＴＦ  ＲＦＣ１５９１に規定されるトップレベルドメインには２種類ある。
ｇＴＬＤ（ｇｅｎｅｒｉｃ  Ｔｏｐ  Ｌｅｖｅｌ  Ｄｏｍａｉｎ）は“．ｃｏｍ”や“．ｎｅｔ”等の文字列で終わるトップレベルのドメイン名であり、セカンドレベルドメインに組織の名称が続く。これに対して、ｃｃＴＬＤ（ｃｏｕｎｔｒｙ  ｃｏｄｅ  Ｔｏｐ  Ｌｅｖｅｌ  Ｄｏｍａｉｎ）は“．ｊｐ”や“．ｕｋ”などのように国や地域を表す文字列で終わるトップレベルのドメイン名であり、セカンドレベルドメインに組織の種類を表す文字列（本例では、“．ｃｏ”）が続き、サードレベルドメインに組織の名称（本例では、“．ａｂｃｄｅｆｇｈｉ”）が続く。また、下部組織名（本例では、“ｎｅｔ１”）が続くこともある。このように、ドメイン名では、国籍、組織の種類、組織名、下部組織名が階層構造（木構造）によって示される。
【００３５】
従って、リモートサブネットのＦＱＤＮと、ローカルサブネットのＦＱＤＮが分かれば、両者を比較して、上位階層から一致の度合いを調べることにより、組織構造的な近さを求めることができ、それに応じて探索の頻度や手法を変化させるような柔軟なデバイス探索行動をとることができる。ここで、組織構造的近さとは、例えば、木構造における節点間の経路の長さで表現することができる。
本実施例に係るデバイス探索の判断方法では、デバイス装置１４〜１７がクライアント１１〜１３のホストアドレスから得られるサブネットアドレスをＤＮＳ４に問い合わせ、これにより得られるＦＱＤＮからドメイン名を得て、自局のデバイス装置１４〜１７のドメイン名との一致の度合いを調べることによって、それぞれが所属するサブネット１〜３の組織構造的な近さを求め、それに応じてデバイス探索の是非や手法を決定する。
【実施例１】
【００３６】
本発明の第１実施例を説明する。
図３には、本発明に係るデバイス探索装置や方法などを適用したデジタル複合機の内部構成例を示してある。
本例のデジタル複合機は、１つ又は複数のデバイス装置１４〜１７において用いられる。また、１つ又は複数のクライアント１１〜１３に本発明を適用することも可能である。
本例のデジタル複合機は、受信ログ出力部３１を有するネットワークインタフェース部２１と、ホストアドレス検知部３２とサブネットマスク取得部３３とブロードキャストアドレス生成部３４を有するリモートサブネットアドレス取得部２２と、ドメイン名取得部３５とドメイン名分析部３６を有するデバイス探索判断部２３と、デバイス情報要求送信部３７とデバイス情報応答受信部３８を有するデバイス探索実行部２４と、アプリケーション２５から構成されている。
また、ドメイン名分析部４１はメモリに構成されたサブネットテーブル４１を有しており、デバイス情報応答受信部３８はメモリに構成されたデバイス情報テーブル４２を有している。
図４には、サブネットテーブル４１の一例を示してある。
図５には、デバイス情報テーブル４２の一例を示してある。
【００３７】
アプリケーション２５は、ネットワーク（本例では、サブネット１〜３）を介してクライアント１１〜１３や他のデバイス装置１４〜１７からアクセスされ、本例のデジタル複合機に備えられた各種の機能を提供するサーバ・プログラム及びクライアント・プログラムの集合である。
アプリケーション２５には、例えば、ネットワーク・プリント機能を提供するＬＰＲサーバとＩＰＰサーバ、インターネット・ファクシミリ機能を提供するＩＦＡＸサーバとＩＦＡＸクライアントが含まれている。
【００３８】
ここで、ＬＰＲサーバは、ｌｐｒ（ＩＥＴＦ  ＲＦＣ１１７９；Ｌｉｎｅ  Ｐｒｉｎｔｅｒ  Ｄａｅｍｏｎ  ｐｒｏｔｏｃｏｌ）のプロトコルにより、クライアント１１〜１３からプリント・ジョブを受信し、それを紙に印刷する。
また、ＩＰＰサーバは、ＨＴＴＰ（ＩＥＴＦ  ＲＦＣ２０６８；ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ−ＨＴＴＰ／１．１）のプロトコルをベースとしたＩＰＰ（ＩＥＴＦ  ＲＦＣ２５６５；Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ／１．０；Ｅｎｃｏｄｉｎｇ  ａｎｄ  Ｔｒａｎｓｐｏｒｔ）のプロトコルにより、クライアント１１〜１３からプリント・ジョブを受信し、それを紙に印刷する。
また、ＩＦＡＸクライアントは、スキャナから読み込んだ画像データを、ＩＥＴＦ  ＲＦＣ２３０５（Ａ  Ｓｉｍｐｌｅ  Ｍｏｄｅ  ｏｆ  Ｆａｃｓｉｍｉｌｅ  Ｕｓｉｎｇ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ）やＩＥＴＦ  ＲＦＣ２５３２（Ｅｘｔｅｎｄｅｄ  Ｆａｃｓｉｍｉｌｅ  Ｕｓｉｎｇ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ）で規定されたプロトコルを使ってメール添付で送信し、ＩＦＡＸサーバは受信メールに添付されたファイルを紙に印刷する。
【００３９】
ネットワークインタフェース部２１は、コンピュータ・ネットワーク（本例では、サブネット１〜３）と接続して通信を行うためのプロトコル処理を行うと同時に、受信パケットの送信元ホストアドレスを出力する機能を有している。
ネットワークインタフェース部２１は、コンピュータ・ネットワークと物理的に接続するコネクタと、物理層及びデータリンク層を構成する送受信部と、ＩＰプロトコル及びＴＣＰ／ＵＤＰプロトコルを実行するプロトコル処理部と、例えば１０秒などといった所定時間内に受信した自局宛てのパケットを送信元となるホストアドレス毎に計数して得られた統計情報を出力する受信ログ出力部３１を備えている。
ここで、本例の統計情報には、送信元ホストアドレスのリストと、各ホストアドレスから受信したパケットの数が含まれる。なお、本例では、所定の時間毎に統計情報を出力するが、他の例として、同一の送信元から自局宛てのパケットを所定数受信する毎にその情報を出力するような構成を用いることもできる。
また、自局宛てのアドレスを有する信号（本例では、パケット）としては、例えば、メール、印刷指令、Ｗｅｂサービスなどの信号がある。
【００４０】
リモートサブネットアドレス取得部２２は、ネットワークインタフェース部２１から入力されたホストアドレスを元にしてそのホストが所属するリモートサブネットのアドレスを取得する。
ホストアドレス検知部３２は、ネットワークインタフェース部２１から出力される統計情報から、それに含まれる送信元ホストアドレスを抽出し、抽出した送信元ホストアドレスをサブネットマスク取得部３３へ順次出力する。
具体的には、図６に動作処理フローの一例が示されるように、ネットワークインタフェース部２１の受信ログ出力部３１から出力された統計情報を入力し（ステップＳ１）、入力した統計情報に含まれる送信元のホストアドレスを抽出してスタックに格納し（ステップＳ２）、そして、スタックからホストアドレスを１つ取り出してサブネットマスク取得部３３へ出力することを（ステップＳ３）、スタックが空になるまで行う（ステップＳ４）。
【００４１】
サブネットマスク取得部３３は、ＩＥＴＦ  ＲＦＣ９５０に規定されるＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）のプロトコルにより、入力された送信元ホストアドレスのノードから、当該ノードが接続されているサブネット１〜３のサブネットマスクを取得する。
具体的には、図７に動作処理フローの一例が示されるように、ホストアドレス検知部３２から送信元のホストアドレスを入力し（ステップＳ１１）、ＩＣＭＰのアドレスマスク要求メッセージを生成し（ステップＳ１２）、これをホストアドレスに宛ててネットワークインタフェース部２１を介して送信する（ステップＳ１３）。そして、この送信先からネットワークインタフェース部２１を介してＩＣＭＰのアドレスマスク応答メッセージを受信した場合には（ステップＳ１４）、この受信メッセージに含まれるサブネットマスクを取得し（ステップＳ１５）、これらのホストアドレスとサブネットマスクをブロードキャストアドレス生成部３４へ出力する（ステップＳ１６）。
このように、サブネットマスクは、送信元ホストアドレスに対応した装置に問い合わせることに応じて、当該装置から送信される応答メッセージに含められる。
【００４２】
ブロードキャストアドレス生成部３４は、入力されたホストアドレス及びサブネットマスクからサブネットアドレス及びブロードキャストアドレスを算出する。サブネットアドレスはホストアドレスとサブネットマスクとの論理積（ＡＮＤ）により求められ、ブロードキャストアドレスはホストアドレスとビット反転したサブネットマスクとの論理和（ＯＲ）により求められる。
具体的には、図８に動作処理フローの一例が示されるように、サブネットアドレス取得部３３からホストアドレス及びサブネットマスクを入力し（ステップＳ２１）、これらの論理積を計算してサブネットアドレスを生成し（ステップＳ２２）、サブネットマスクのビットを“１”と“０”とで反転させて（ステップＳ２３）、ホストアドレスと反転させたサブネットマスクとの論理和を計算してブロードキャストアドレスを生成し（ステップＳ２４）、サブネットアドレスとサブネットマスクとブロードキャストアドレスをデバイス探索判断部２３のドメイン名取得部３５へ出力する（ステップＳ２５）。
なお、ブロードキャストアドレスは、ホストアドレスの上位に対応しており、例えば、組織などのように特定の層までを特定して、それより下層を任意とする。
また、サブネットアドレスは、サブネット１〜３を特定する。
【００４３】
デバイス探索判断部２３は、サブネットアドレスに基づいてそれに対応するリモートサブネットに対してデバイス装置の探索を行うか否かを決定する機能を有している。
ドメイン名取得部３５は、サブネットアドレスからＤＮＳ４によりリモートサブネットのＦＱＤＮを得て、このＦＱＤＮからドメイン名を取得する。
本例では、ＩＥＴＦ  ＲＦＣ１０３５（Ｄｏｍａｉｎ  Ｎａｍｅｓ−Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ａｎｄ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）に規定される問い合わせＤＮＳメッセージを生成してドメイン名サーバへ送信することで、応答ＤＮＳメッセージを受信する。ここで、問い合わせＤＮＳメッセージとしては、ヘッダ部ＱＲフィールドが０で、ＯＰＣＯＤＥフィールドが１で、質問部ＱＮＡＭＥフィールドがホストアドレスで、ＱＴＹＰＥフィールドが１で、ＱＣＬＡＳＳフィールドが１であるパケットが使用される。
【００４４】
具体的には、図９に動作処理フローの一例が示されるように、ブロードキャストアドレス生成部３４からサブネットアドレスとサブネットマスクとブロードキャストアドレスを入力し（ステップＳ３１）、問い合わせ対象となるサブネットのホストアドレス（サブネットアドレス）を含む問い合わせＤＮＳメッセージを生成し（ステップＳ３２）、生成したメッセージをネットワークインタフェース部２１を介してＤＮＳ４へ送信する（ステップＳ３３）。そして、ＤＮＳ４からネットワークインタフェース部２１を介して応答ＤＮＳメッセージを受信した場合には（ステップＳ３４）、ＤＮＳ４により当該応答ＤＮＳメッセージに含められたサブネットアドレスに対応したドメイン名を取得し（ステップＳ３５）、サブネットアドレスとサブネットマスクとブロードキャストアドレスとドメイン名をドメイン名分析部３６へ出力する（ステップＳ３６）。
なお、問い合わせＤＮＳメッセージを送信する宛先となるドメイン名サーバのアドレスは、例えば、本例のデジタル複合機の設置時に、設置者により設定される。
【００４５】
ドメイン名分析部３６は、入力ドメイン名と自局の所属するサブネット１〜３のドメイン名との一致の度合いを調べることで双方のサブネット１〜３の組織構造的な近さを求め、これに基づいてデバイス探索を実行するか否かを決定する。
図４に示されるように、本例のサブネットテーブル４１では、サブネットアドレスと、ブロードキャストアドレスと、サブネットマスクと、ドメイン名と、日時を対応付けて記憶する。本例のサブネットテーブルでは、先頭レコードに、本例のデジタル複合機の設置時に設置者によって設定された自局のサブネット１〜３に関する情報を保持しており、それ以降のレコードに、デバイス探索の実行を決定したサブネット１〜３に関する情報を保持している。
【００４６】
ドメイン名分析部３６では、具体的には、図１０及び図１１に動作処理フローの一例が示されるように、サブネットアドレスとサブネットマスクとブロードキャストアドレスとドメイン名をドメイン名取得部３５から入力し（ステップＳ４１）、入力したサブネットアドレスをサブネットテーブル４１に登録されたサブネットアドレスと比較して（ステップＳ４２）、入力したサブネットアドレスがサブネットテーブル４１に存在するか否かを判定する（ステップＳ４３）。存在する場合には、サブネットテーブル４１に登録されたそのレコードの日時フィールドと現在の日時とを比較して（ステップＳ４４）、日時の差が１日以上であるか否かを判定する（ステップＳ４５）。
入力したサブネットアドレスがサブネットテーブル４１に登録されていないために存在しない場合（ステップＳ４３）、及び、存在するがそのレコードが１日以上前のものであった場合には（ステップＳ４５）、自局のドメイン名及び入力したドメイン名のトップレベルドメインを比較し（ステップＳ４６）、トップレベルドメインが一致するか否かを判定する（ステップＳ４７）。
【００４７】
トップレベルドメインが一致した場合には、自局のドメイン名及び入力したドメイン名のセカンドレベルドメインを比較し（ステップＳ４８）、セカンドレベルドメインが一致するか否かを判定する（ステップＳ５１）。
セカンドレベルドメインが一致した場合には、トップレベルドメインを代表的なｇＴＬＤと比較して（ステップＳ５２）、入力したドメイン名がｇＴＬＤであるか否かを判定する（ステップＳ５３）。入力したドメイン名がｇＴＬＤではない場合には、自局のドメイン名及び入力したドメイン名のサードレベルドメインを比較して（ステップＳ５４）、サードレベルドメインが一致するか否かを判定する（ステップＳ５５）。
入力したドメイン名がｇＴＬＤであって自局のドメイン名とセカンドレベルドメインまで一致した場合（ステップＳ５３）、及び、入力したドメイン名がｇＴＬＤではなくて（つまり、ｃｃＴＬＤであって）自局のドメイン名とサードレベルドメインまで一致した場合（ステップＳ５５）には、入力したブロードキャストアドレス及び入力したサブネットアドレスをデバイス探索実行部２４のデバイス情報要求送信部３７へ出力し（ステップＳ５６）、サブネットテーブル４１に入力したサブネットアドレスとブロードキャストアドレスとサブネットマスクとドメイン名及び現在の日時を新規に或いは更新的に登録する（ステップＳ５７）。
【００４８】
なお、ステップＳ４５の処理で日時の差を１日以上としたが、この判定に使用する時間としては、種々な時間が用いられてもよい。
また、ステップＳ５２の処理で参照される代表的なｇＴＬＤとしては、種々なものが用いられてもよく、例えば、予めメモリなどに設定される。
本例では、サブネットテーブル４１を参照して、入力情報に係るサブネット１〜３と同一のサブネット１〜３に対してデバイス探索の実行を決定した日時が所定の時間（本例では、１日）よりも過去である場合に限って、デバイス探索の実行を決定することとしており、これにより、デバイス探索の頻度を抑え、ネットワーク負荷の著しい増大を防ぐことができる。
また、本例では、一般にトップレベルドメインには２種類あるため、トップレベルドメインがｇＴＬＤであるか或いはｃｃＴＬＤであるかを判定し、その結果に応じて比較の手法を変えることで、ドメイン名から組織名を取得する。そして、自局のドメイン名と近いものに限って、デバイス探索の実行を決定する。
【００４９】
デバイス探索実行部２４は、デバイス装置１４〜１７からの応答を要求するデバイス情報要求メッセージを入力したブロードキャストアドレスに対してブロードキャスト送信することにより、リモートサブネットに接続されたデバイス装置１４〜１７を探索する。
デバイス情報要求送信部３７は、デバイス装置１４〜１７からの応答を要求するデバイス情報要求メッセージを入力したブロードキャストアドレスに対してブロードキャスト送信する。
具体的には、図１２に動作処理フローの一例が示されるように、ドメイン名分析部３６からブロードキャストアドレス及びサブネットアドレスを入力し（ステップＳ６１）、デバイス情報要求メッセージを生成し（ステップＳ６２）、生成したデバイス情報要求メッセージを入力したブロードキャストアドレス宛てにネットワークインタフェース部２１を介してブロードキャスト送信する（ステップＳ６３）。
なお、デバイス情報要求メッセージは、例えば、複写機やプリンタやデジタル複合機などにより理解されるＴＣＰパケットのメッセージであり、ブロードキャストアドレスを用いて対応するサブネット１〜３の全体へ送られる。
【００５０】
デバイス情報応答受信部３８は、デバイス情報要求メッセージに対する応答メッセージを受信し、受信した応答メッセージからデバイス情報を取得し、取得したデバイス情報をデバイス情報テーブル４２に保持する。デバイス情報応答メッセージはデバイス情報要求メッセージを受信したデバイス装置１４〜１７から送信され、当該デバイス情報応答メッセージにはそのデバイス装置１４〜１７の属性情報が含められる。
図５に示されるように、本例のデバイス情報テーブル４２では、ホストアドレスと、サブネットマスクと、デバイス属性と、日時を対応付けて記憶する。
デバイス属性とは、デバイス装置１４〜１７若しくはそれが提供するサービスに関する属性情報であり、本例では、メーカ名、機種名、提供サービスの種別などの情報が用いられている。また、デバイス属性として、印刷速度、解像度、ソータの有無等のサービス品質情報などを含むように構成することもできる。
なお、本例のデバイス情報テーブル４２に格納されたそれぞれのホストアドレスは、デバイス装置１４〜１７やクライアント１１〜１３のような端末まで特定するものである。
【００５１】
デバイス情報応答受信部３８では、具体的には、図１３に動作処理フローの一例が示されるように、デバイス情報応答メッセージが受信される特定のポートをモニタして（ステップＳ７１）、デバイス情報応答メッセージを受信したか否かを判定する（ステップＳ７２）。ネットワークインタフェース部２１を介してデバイス情報応答メッセージを受信した場合には、受信したデバイス情報応答メッセージに含まれるホストアドレスとサブネットマスクとデバイス装置名等の属性を取得し（ステップ７３）、デバイス情報テーブル４２に取得したホストアドレスとサブネットマスクとデバイス属性及び現在の日時を新規に或いは更新的に登録する（ステップＳ７４）。
本例では、例えば、図５に示されるデバイス情報テーブル４２の上から２行目のようなデバイス情報が取得される。
デバイス情報テーブル４２に記憶されたデバイス属性などの情報は、そのデバイス装置１４〜１７の使用が必要となったときに利用することができる。
【００５２】
図１４には、本例のデバイス探索の全体的な動作シーケンスの概略的な一例を示してある。
この例では、デバイス装置Ａが本例のデジタル複合機であり、サブネットＣのクライアントＣから受信したアプリケーションへのパケットを複製してクライアントＣのホストアドレスを取得し、これを用いてクライアントＣからサブネットＣのサブネットマスクを取得し、これを用いてＤＮＳからサブネットＣのドメイン名を取得し、サブネットＣに対してデバイス検索を行うことを決定したことに応じて、サブネットＣに接続された全ての端末（クライアントＣ、デバイス装置Ｃ１、デバイス装置Ｃ２）に対してデバイス情報を要求している。クライアントＣではこの要求を無視し、デバイス装置Ｃ１及びデバイス装置Ｃ２ではこの要求に応じてデバイス情報を送信している。
【００５３】
以上のように、デジタル複合機に適用された本例のデバイス探索装置や方法などでは、コンピュータ・ネットワークにおいて、ネットワークを介して他のデジタル複合機などと接続可能であり、リモートサブネットのアドレスを取得するリモートサブネットアドレス取得機能や、リモートサブネットのアドレスに基づいて探索の是非を決定するデバイス探索判断機能や、デバイス探索のためのメッセージを送受信するデバイス探索実行機能を備え、これらによりリモートサブネットに接続された他のデバイス装置を探索する。
また、本例では、リモートサブネットアドレス取得機能は、他局から自局への通信パケットをモニタすることにより、リモートサブネットのアドレスを取得する。
また、本例では、デバイス探索判断機能は、リモートサブネットのアドレスをＤＮＳ４に問い合わせてＦＱＤＮを取得し、このＦＱＤＮからドメイン名を得て、このドメイン名と自局のドメイン名とを比較することにより、リモートサブネットとローカルサブネットとの組織構造的な近さを求め、その結果に基づいて探索の是非を決定する。組織構造的に近い場合には探索を行うことを決定し、組織構造的に遠い場合には探索を行わないことを決定する。
【００５４】
従って、本例のデバイス探索装置や方法などでは、ユーザの操作なしに、且つ、余分なブロードキャストトラフィックを抑えたデバイスアドレス探索を行うことができる。また、ルーティングプロトコル及びネットワーク運用ポリシーに依存せずに、デバイスアドレスを探索することができる。また、組織構造的近さに応じて探索するか否かを変更することができる。また、リモートサブネットのクライアント１１〜１３若しくはデバイス装置１４〜１７がローカルサブネットのデバイス装置１４〜１７にアクセスしたことを契機としているため、リモートサブネットとローカルサブネットとの間で、相互のデバイス装置１４〜１７の使用が許可されているようなことが期待できる。
【００５５】
なお、本例のデバイス探索装置では、ホストアドレス検知部３２の機能やサブネットマスク取得部３３の機能によりアドレス情報取得手段が構成されており、ドメイン名取得部３５の機能やドメイン名分析部３６の機能により決定手段が構成されており、デバイス情報要求送信部３７の機能やデバイス情報応答受信部３８の機能により探索実行手段が構成されており、サブネットテーブル４１の機能により記憶手段が構成されている。
【実施例２】
【００５６】
本発明の第２実施例を説明する。
プリンタなどのデバイス装置の中には、上記した第１実施例で示したデバイス情報要求メッセージを理解する機能を有していないものがあるため、本例では、このようなデバイス装置に対しても属性情報の要求を行うことが可能な装置や方法などを示す。
図１５には、本発明に係るデバイス探索装置や方法などを適用したデジタル複合機の内部構成例を示してある。なお、図３に示されるものと同様な構成部分については同一の符号を付してある。
本例のデジタル複合機は、受信ログ出力部３１を有するネットワークインタフェース部２１と、ホストアドレス検知部３２とサブネットマスク取得部３３とブロードキャストアドレス生成部３４を有するリモートサブネットアドレス取得部２２と、ドメイン名取得部３５とドメイン名分析部６１を有するデバイス探索判断部５１と、デバイス情報要求送信部６２とデバイス情報応答受信部６３とデバイス情報テーブル制御部６４と接続試行部６５を有するデバイス探索実行部５２と、アプリケーション２５から構成されている。
また、ドメイン名分析部６１はメモリに構成されたサブネットテーブル４１を有しており、デバイス情報テーブル制御部６４はメモリに構成されたデバイス情報テーブル４２を有している。
【００５７】
ここで、ネットワークインタフェース部２１や、リモートサブネットアドレス取得部２２や、アプリケーション２５や、デバイス探索判断部５１のドメイン名取得部３５については、例えば、図３に示されるものと同様な構成を有しており同様な動作を行う。また、サブネットテーブル４１は例えば図４に示されるものと同様であり、デバイス情報テーブル４２は例えば図５に示されるものと同様である。
本例では、上記した第１実施例で示したデジタル複合機とは異なる点について詳しく説明する。
【００５８】
デバイス探索判断部５１のドメイン名分析部６１は、上記した第１実施例の場合と比べて、比較する階層を増加させる。本例では、ｇＴＬＤでは３番目のドメイン（サードレベルドメイン）まで比較し、ｃｃＴＬＤでは４番目のドメイン（フォースレベルドメイン）まで比較する。
具体的には、図１６及び図１７に動作処理フローの一例が示されるように、サブネットアドレスとサブネットマスクとブロードキャストアドレスとドメイン名をドメイン名取得部３５から入力し（ステップＳ８１）、入力したサブネットアドレスをサブネットテーブル４１に登録されたサブネットアドレスと比較して（ステップＳ８２）、入力したサブネットアドレスがサブネットテーブル４１に存在するか否かを判定する（ステップＳ８３）。存在する場合には、サブネットテーブル４１に登録されたそのレコードの日時フィールドと現在の日時とを比較して（ステップＳ８４）、日時の差が１日以上であるか否かを判定する（ステップＳ８５）。
入力したサブネットアドレスがサブネットテーブル４１に登録されていないために存在しない場合（ステップＳ８３）、及び、存在するがそのレコードが１日以上前のものであった場合には（ステップＳ８５）、自局のドメイン名及び入力したドメイン名のトップレベルドメインを比較し（ステップＳ８６）、トップレベルドメインが一致するか否かを判定する（ステップＳ８７）。
【００５９】
トップレベルドメインが一致した場合には、自局のドメイン名及び入力したドメイン名のセカンドレベルドメインを比較し（ステップＳ８８）、セカンドレベルドメインが一致するか否かを判定する（ステップＳ８９）。
セカンドレベルドメインが一致した場合には、トップレベルドメインを代表的なｇＴＬＤと比較して（ステップＳ９０）、入力したドメイン名がｇＴＬＤであるか否かを判定する（ステップＳ９１）。
入力したドメイン名がｇＴＬＤではない場合には、自局のドメイン名及び入力したドメイン名のサードレベルドメインを比較して（ステップＳ９６）、サードレベルドメインが一致するか否かを判定する（ステップＳ９７）。サードレベルドメインが一致した場合には、フォースレベルドメインが存在するか否かを判定し（ステップＳ９８）、存在するときには、自局のドメイン名及び入力したドメイン名のフォースレベルドメインを比較して（ステップＳ９９）、フォースレベルドメインが一致するか否かを判定する（ステップＳ１００）。
【００６０】
また、入力したドメイン名がｇＴＬＤである場合には（ステップＳ９１）、サードレベルドメインが存在するか否かを判定し（ステップＳ９２）、存在するときには、自局のドメイン名及び入力したドメイン名のサードレベルドメインを比較して（ステップＳ９３）、サードレベルドメインが一致するか否かを判定する（ステップＳ９４）。
入力したドメイン名がｇＴＬＤであってサードレベルドメインまで一致した場合（ステップＳ９４）、及び、入力したドメイン名がｇＴＬＤではなくてフォースレベルドメインまで一致した場合には（ステップＳ１００）、デバイス探索実行部５２の接続試行部６５に対してサブネットアドレス及びサブネットマスクを出力する（ステップＳ９５）。
【００６１】
入力したドメイン名がｇＴＬＤであって、サードレベルドメインが存在しない場合（ステップＳ９２）、或いはサードレベルドメインが存在するが自局のものとは異なる場合（ステップＳ９４）、又は、入力したドメイン名がｇＴＬＤではなくて、フォースレベルドメインが存在しない場合（ステップＳ９８）、或いはフォースレベルドメインが存在するが自局のものとは異なる場合（ステップＳ１００）、又は、入力したドメイン名の種類に応じて自局のドメイン名と所定のレベルまで一致して接続試行部６５への出力を行った場合には（ステップＳ９５）、入力したブロードキャストアドレスをデバイス探索実行部５２のデバイス情報要求送信部６２へ出力し（ステップＳ１０１）、サブネットテーブル４１に入力したサブネットアドレスとブロードキャストアドレスとサブネットマスクとドメイン名及び現在の日時を新規に或いは更新的に登録する（ステップＳ１０２）。
【００６２】
デバイス探索実行部５２は、デバイス探索判断部５１からの指示に従って、上記した第１実施例で示したのと同様な動作を行うとともに、ポート番号５１５に対して接続要求をメッセージ送信し、応答メッセージを調べることで、ＬＰＤサービスを実行中のプリンタデバイス装置の有無を調べる。これにより、特定のソフトウエアを搭載していないためにデバイス情報要求メッセージを解さないデバイス装置の探索を行う。
デバイス情報要求送信部６２は、ドメイン名分析部６１からブロードキャストアドレスを入力し、これを用いてデバイス情報要求メッセージをネットワークインタフェース部２１を介して送信する。
【００６３】
デバイス情報応答受信部６３は、デバイス情報要求メッセージに対する応答メッセージを受信し、受信した応答メッセージからデバイス情報を取得し、これをデバイス情報テーブル制御部６４へ出力する。
なお、デバイス情報とは、図５に示されるようなデバイス情報テーブル４２の１レコード分のデータのことである。
デバイス情報応答受信部６３では、具体的には、図１８に動作処理フローの一例が示されるように、デバイス情報応答メッセージが受信される特定のポートをモニタして（ステップＳ１１１）、デバイス情報応答メッセージを受信したか否かを判定する（ステップＳ１１２）。ネットワークインタフェース部２１を介してデバイス情報応答メッセージを受信した場合には、受信したデバイス情報応答メッセージに含まれるホストアドレスとサブネットマスクとデバイス装置名等の属性をデバイス情報として取得し（ステップＳ１１３）、取得したデバイス情報をデバイス情報テーブル制御部６４へ出力する（ステップＳ１１４）。
【００６４】
接続試行部６５は、入力したサブネットアドレス及び入力したサブネットマスクから、対応するサブネット１〜３に存在し得る全てのホストアドレスを生成し、これら全てのホストアドレスについて５１５番のＴＣＰポートに対してＴＣＰパケットにより接続要求を行う。これに対して、否定応答を受信するか或いは送信から３秒以内にパケットが受信されなければ、そのホストアドレスにＬＰＤサービスは存在しないとみなす。一方、送信から３秒以内に肯定応答を受信したら、そのホストアドレスからデバイス情報を生成してデバイス情報テーブル制御部６４へ出力する。
ここで、本例では、仮想的な理論ポートであるポート番号５１５のポートを用いて、相手のプリンタに備えられたＬＰＤに対して信号を送ることで、相手がプリンタであるかを尋ねる。通常、相手がプリンタであってＬＰＤが機能していれば応答が来る。
【００６５】
具体的には、図１９に動作処理フローの一例が示されるように、ドメイン名分析部６１からサブネットアドレス及びサブネットマスクを入力し（ステップＳ１２１）、サブネットアドレスから最大の値を有するホストアドレス（ホストＩＤ）を算出する（ステップＳ１２２）。
次に、ループ処理を行う。
すなわち、サブネットアドレスから取り得るホストアドレスを生成し（ステップＳ１２３）、ＴＣＰのＳＹＮパケットを生成し（ステップＳ１２４）、このＳＹＮパケットを生成したホストアドレスの５１５番ポートへネットワークインタフェース部２１を介して送信する（ステップＳ１２５）。そして、送信から３秒以内に応答パケットを受信して（ステップＳ１２６）、この受信パケットがＳＹＮとＡＣＫの組のパケットであった場合には（ステップＳ１２７）、ＴＣＰのＲＳＴパケットを生成して（ステップＳ１２８）、このＲＳＴパケットをそのホストアドレスの５１５番ポートへネットワークインタフェース部２１を介して送信する（ステップＳ１２９）。次いで、そのホストアドレスに対応するプリンタについてデバイス情報を生成し（ステップＳ１３０）、このデバイス情報をデバイス情報テーブル制御部６４へ出力する（ステップＳ１３１）。
上記したステップＳ１２３〜ステップＳ１３１の接続試行処理（ループ処理）を、上記したステップＳ１２３の処理で生成される全てのホストアドレスについて行う（ステップＳ１３２）。
【００６６】
一例として、ステップＳ１２２の処理では、サブネットアドレスが“１０１．１０２．１０３．０”であるときには、最大の値を有するホストＩＤとして“１０１．１０２．１０３．２５４”が算出され、これが上記したループ処理の最後の点となる。この場合、ステップＳ１２３の処理では、各ループにおけるホストアドレスとして、“１０１．１０２．１０３．０”、“１０１．１０２．１０３．１”、“１０１．１０２．１０３．２”、・・・、“１０１．１０２．１０３．２５４”を順に生成する。
【００６７】
このように、本例では、他局のドメイン名と自局のドメイン名とで比較した全ての部分が一致した場合には、特定のソフトウエアを搭載したデバイス装置からの応答を要求することができるデバイス情報要求メッセージを送信するだけでなく、ポート番号５１５に対して接続要求をメッセージ送信し、これに対する応答メッセージを調べることで、ＬＰＤ（ＩＥＴＦ  ＲＦＣ１１７９；Ｌｉｎｅ  Ｐｒｉｎｔｅｒ  Ｄａｅｍｏｎ）サービスの有無を調べる。
なお、本例の接続試行部６５では、例えば、図５に示されるデバイス情報テーブル４２の上から１行目のようなデバイス情報が取得される。
また、一般に、ＳＹＮは同期を取るための信号であり、ＡＣＫは工程応答のための信号であり、ＲＳＴはコネクションをリセットするための信号である。
【００６８】
デバイス情報テーブル制御部６４は、入力されたデバイス情報をデバイス情報テーブル４２に格納する。
なお、本例では、デバイス情報はデバイス情報応答受信部６３と接続試行部６５との２箇所から入力され、両方から同一の他局に関する情報が入力される場合には、デバイス情報応答受信部６３からのデバイス情報は接続試行部６５からのデバイス情報の内容を全て含んでいる。このため、デバイス情報応答受信部６３からデバイス情報を受信した後に接続試行部６５からデバイス情報が来たことを判断した場合には、デバイス情報テーブル４２を更新せずに、接続試行部６５からのデバイス情報を破棄する。
この判断では、接続試行部６５からのデバイス情報においてはメーカ名フィールドや機種名フィールドが空であることを利用する。すなわち、デバイス情報が重複受信されており且つ入力されたデバイス情報にメーカ名或いは機種名が記入されていない場合には、既にデバイス情報応答受信部６３から入力されたデバイス情報が記録されており且つ今回入力されたデバイス情報は接続試行部６５から入力されたデバイス情報であるとみなして、デバイス情報テーブル４２の更新を行わないようにする。
【００６９】
デバイス情報テーブル制御部６４では、具体的には、図２０に動作処理フローの一例が示されるように、デバイス情報が入力されたか否かを判定し（ステップＳ１４１）、入力された場合には、入力されたデバイス情報からホストアドレスを取得し（ステップＳ１４２）、取得したホストアドレスをデバイス情報テーブル４２から検索する（ステップＳ１４３）。そして、重複するホストアドレスが存在する場合には（ステップＳ１４４）、入力されたデバイス情報のメーカ名を調べて（ステップＳ１４５）、メーカ名が存在しないときには登録しないようにする（ステップＳ１４６）。また、重複するホストアドレスが存在しない場合（ステップＳ１４４）、及び、存在しても入力されたデバイス情報にメーカ名が存在する場合には（ステップＳ１４６）、デバイス情報テーブル４２に取得したホストアドレスとサブネットマスクとデバイス属性及び現在の日時を新規に或いは更新的に登録する（ステップＳ１４７）。
【００７０】
図２１には、本例のデバイス探索の全体的な動作シーケンスの概略的な一例を示してある。
この例では、デバイス装置Ａが本例のデジタル複合機であり、サブネットＣのクライアントＣから受信したアプリケーションへのパケットを複製してクライアントＣのホストアドレスを取得し、これを用いてクライアントＣからサブネットＣのサブネットマスクを取得し、これを用いてＤＮＳからサブネットＣのドメイン名を取得している。
また、デバイス情報要求メッセージを用いた手法では、サブネットＣに対してデバイス検索を行うことを決定したことに応じて、サブネットＣに接続された全ての端末（クライアントＣ、デバイス装置Ｃ１、デバイス装置Ｃ２）に対してデバイス情報を要求している。クライアントＣ及びデバイス装置Ｃ２ではこの要求を無視し、デバイス装置Ｃ１ではこの要求に応じてデバイス情報を送信している。
【００７１】
また、５１５番ポートを用いた手法では、サブネットＣに対してデバイス検索を行うことを決定したことに応じて、サブネットＣに接続された全ての端末（クライアントＣ、デバイス装置Ｃ１、デバイス装置Ｃ２）の５１５番ポートに対してＳＹＮパケットを送信している。クライアントＣについてはプリンタではなく５１５番ポートが閉まっており、ＲＳＴパケットが受信されることから、クライアントＣはプリンタではない（或いは、ＬＰＤを有していない）とみなす。デバイス装置Ｃ１及びデバイス装置Ｃ２についてはＬＰＤを有したプリンタであり５１５番ポートが開いており、（ＳＹＮ＋ＡＣＫ）パケットが受信されることから、デバイス装置Ｃ１及びデバイス装置Ｃ２はプリンタである（或いは、ＬＰＤを有している）とみなして、ＲＳＴパケットを送って通話（通信）を終了させる。
なお、本例では、ＬＰＤのプロトコル及びそれに対応した５１５番ポートを使用して、そのプロトコルが使用するポートへの接続を試みる処理を行う例を示したが、同様な処理を他のプロトコルに適用することも可能である。
【００７２】
以上のように、デジタル複合機に適用された本例のデバイス探索装置では、デバイス探索判断機能は、リモートサブネットのドメイン名に基づいて、探索の是非及び探索手法を決定する。
また、本例では、デバイス探索判断機能は、サブネットアドレスをＤＮＳ４に問い合わせてＦＱＤＮを取得し、取得したＦＱＤＮからドメイン名を得て、それと自局のドメイン名とを比較することにより、リモートサブネットとローカルサブネットとの組織構造的な近さを求め、この結果、組織構造的にある程度近い場合にはデバイス情報要求メッセージによる探索手法を行うことを決定し、更に組織構造的に近い場合には接続試行部６５による探索手法についても行うことを決定し、また、組織構造的に遠い場合には探索を行わないことを決定する。
従って、本例のデバイス探索装置や方法などでは、自局と他局との組織構造的な近さに応じて探索手法を変更することができる。
ここで、組織構造的な距離に応じて探索手法を変更する態様としては、種々な態様が用いられてもよく、例えば、組織構造的に近い場合には詳細な探索手法を行うことを決定し、組織構造的に遠い場合には標準的な探索手法を行うことを決定し、組織構造的に更に遠い場合には探索を行わないことを決定するような態様を用いることもできる。
【００７３】
なお、本例のデバイス探索装置では、ホストアドレス検知部３２の機能やサブネットマスク取得部３３の機能によりアドレス情報取得手段が構成されており、ドメイン名取得部３５の機能やドメイン名分析部６１の機能により決定手段が構成されており、デバイス情報要求送信部６２の機能やデバイス情報応答受信部６３の機能や接続試行部６５の機能により探索実行手段が構成されており、サブネットテーブル４１の機能により記憶手段が構成されている。
【００７４】
ここで、本発明に係るデバイス探索装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記憶媒体（記録媒体）などとして提供することも可能であり、また、種々な装置やシステムとして提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るデバイス探索装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記憶媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを当該記憶媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施例に係るネットワークシステムの構成例を示す図である。
【図２】ドメイン名の構造の一例を示す図である。
【図３】本発明の第１実施例に係るデジタル複合機の構成例を示す図である。
【図４】サブネットテーブルの一例を示す図である。
【図５】デバイス情報テーブルの一例を示す図である。
【図６】ホストアドレス検知部により行われる処理の手順の一例を示す図である。
【図７】サブネットマスク取得部により行われる処理の手順の一例を示す図である。
【図８】ブロードキャストアドレス生成部により行われる処理の手順の一例を示す図である。
【図９】ドメイン名取得部により行われる処理の手順の一例を示す図である。
【図１０】ドメイン名分析部により行われる処理の手順の一例を示す図である。
【図１１】ドメイン名分析部により行われる処理の手順の一例を示す図である。
【図１２】デバイス情報要求送信部により行われる処理の手順の一例を示す図である。
【図１３】デバイス情報応答受信部により行われる処理の手順の一例を示す図である。
【図１４】本発明の第１実施例に係るデバイス探索の動作シーケンスの一例を示す図である。
【図１５】本発明の第２実施例に係るデジタル複合機の構成例を示す図である。
【図１６】ドメイン名分析部により行われる処理の手順の一例を示す図である。
【図１７】ドメイン名分析部により行われる処理の手順の一例を示す図である。
【図１８】デバイス情報応答受信部により行われる処理の手順の一例を示す図である。
【図１９】接続試行部により行われる処理の手順の一例を示す図である。
【図２０】デバイス情報テーブル制御部により行われる処理の手順の一例を示す図である。
【図２１】本発明の第２実施例に係るデバイス探索の動作シーケンスの一例を示す図である。
【符号の説明】
【００７６】
１〜３・・サブネット、  ４・・ＤＮＳ、  ５、６・・ルータ、  １１〜１３・・クライアント、  １４〜１７・・デバイス装置、  ２１・・ネットワークインタフェース部、  ２２・・リモートサブネットアドレス取得部、  ２３、５１・・デバイス探索判断部、  ２４、５２・・デバイス探索実行部、  ２５・・アプリケーション、  ３１・・受信ログ出力部、  ３２・・ホストアドレス検知部、  ３３・・サブネットマスク取得部、  ３４・・ブロードキャストアドレス生成部、  ３５・・ドメイン名取得部、  ３６、６１・・ドメイン名分析部、  ３７、６２・・デバイス情報要求送信部、  ３８、６３・・デバイス情報応答受信部、  ４１・・サブネットテーブル、  ４２・・デバイス情報テーブル、  ６４・・デバイス情報テーブル制御部、  ６５・・接続試行部、
【図１】
2006252404.tif 000003
【図２】
2006252404.tif 000004
【図３】
2006252404.tif 000005
【図４】
2006252404.tif 000006
【図５】
2006252404.tif 000007
【図６】
2006252404.tif 000008
【図７】
2006252404.tif 000009
【図８】
2006252404.tif 000010
【図９】
2006252404.tif 000011
【図１０】
2006252404.tif 000012
【図１１】
2006252404.tif 000013
【図１２】
2006252404.tif 000014
【図１３】
2006252404.tif 000015
【図１４】
2006252404.tif 000016
【図１５】
2006252404.tif 000017
【図１６】
2006252404.tif 000018
【図１７】
2006252404.tif 000019
【図１８】
2006252404.tif 000020
【図１９】
2006252404.tif 000021
【図２０】
2006252404.tif 000022
【図２１】
2006252404.tif 000023