(57)【特許請求の範囲】
【請求項１】
接続したネットワークにおけるアドレスが割り当てられた他の通信装置を通信対象として、当該ネットワークに接続して通信を行う通信装置において、
前記ネットワークに接続された各通信装置と前記各通信装置に割り当てられたアドレスとの対応関係を定めたデータベースから、通信対象となる前記他の通信装置に対応する前記アドレスを取得するアドレス取得手段と、
前記アドレス取得手段によって取得されたアドレスと前記通信対象となる他の通信装置とを対応付けた対応情報を記憶する記憶手段と、
前記通信対象となる他の通信装置に送信すべき送信情報を取得する情報取得手段と、
前記情報取得手段によって送信情報が取得されると、前記記憶手段に記憶された対応情報を参照して、前記通信対象となる他の通信装置に対応する前記アドレスに対して当該送信情報を送信する送信手段と、
前記通信対象となる他の通信装置と前記アドレスとの対応関係が維持されているか否かを判定する判定手段と、
前記情報取得手段によって送信情報が取得される場合、または前記送信手段によって前記送信情報が送信される場合には、前記判定手段に判定を開始させ、予め決められた期間にわたって前記送信情報の取得または送信が行われなかった場合には、前記判定手段による判定を停止させる判定制御手段と
を具備することを特徴とする通信装置。
【請求項２】
前記判定手段によって対応関係が維持されていないと判定された場合には、前記記憶手段に記憶された対応情報を無効化する無効化制御手段を備え、
前記判定制御手段は、予め決められた期間にわたって前記送信情報の取得または送信が行われなかった場合、および前記無効化制御手段による無効化が行われた場合に、前記判定手段による判定を停止させる
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記判定手段は、前記他の通信装置に判定パケットを送信することにより判定を行う
ことを特徴とする請求項１または請求項２に記載の通信装置。
【請求項４】
前記無効化制御手段によって前記対応情報が無効化されると、前記アドレス取得手段に当該対応情報に係る他の通信装置に対応する前記アドレスを再度取得させて、前記記憶手段における対応情報を更新させる更新制御手段
をさらに具備することを特徴とする請求項２に記載の通信装置。
【請求項５】
前記判定制御手段は、前記更新制御手段によって前記対応情報が更新されると、前記判定手段に判定を開始させる
ことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記データベースは、前記ネットワークに接続される複数の前記通信装置において分散管理され、
前記分散管理されるデータベースの一部を記憶するデータベース記憶手段と、
自装置に割り当てられた前記アドレスが変更されると、少なくとも一の前記他の通信装置に対して変更内容を通知する通知手段と、
前記他の通信装置から前記変更内容が通知されると、前記データベース記憶手段に記憶されたデータベースの一部に当該変更内容を反映させる反映手段と、
前記他の通信装置における前記更新制御手段の制御により前記通信対象となる通信装置に対応する前記アドレスを再度取得するための問い合わせがあると、前記データベース記憶手段に記憶された前記データベースの一部に当該通信対象となる通信装置に対応する前記アドレスがある場合であって、当該アドレスが当該通信対象となる通信装置から通知されることによって当該データベースの一部として反映されたものでない場合には、当該アドレスを当該データベースの一部から当該アドレスと当該通信対象となる通信装置との対応関係を削除し、当該データベースの一部として反映されたものである場合には、当該アドレスを当該通信対象となる通信装置に対応するものとして応答する応答制御手段と
をさらに具備することを特徴とする請求項４または請求項５に記載の通信装置。
【請求項７】
前記判定手段による判定が、予め決められた期間にわたって行われなかった場合には、前記記憶手段に記憶された対応情報を削除する削除手段と、
前記記憶手段に前記通信対象となる他の通信装置と前記アドレスとを対応付けた対応情報が無い場合に、前記情報取得手段によって送信情報が取得されると、前記アドレス取得手段に当該他の通信装置に対応する前記アドレスを取得させる取得制御手段と
をさらに具備することを特徴とする請求項１乃至請求項６のいずれかに記載の通信装置。
【請求項８】
接続したネットワークにおけるアドレスが割り当てられた他の通信装置を通信対象として、当該ネットワークに接続して通信を行う通信装置において、
前記ネットワークに接続された各通信装置と前記各通信装置に割り当てられたアドレスとの対応関係を定めたデータベースから、通信対象となる前記他の通信装置に対応する前記アドレスを取得するアドレス取得ステップと、
前記アドレス取得ステップにおいて取得されたアドレスと前記通信対象となる他の通信装置とを対応付けた対応情報を記憶する記憶ステップと、
前記通信対象となる他の通信装置に送信すべき送信情報を取得する情報取得ステップと、
前記情報取得ステップにおいて送信情報が取得されると、前記記憶ステップにおいて記憶された対応情報を参照して、前記通信対象となる他の通信装置に対応する前記アドレスに対して当該送信情報を送信する送信ステップと、
前記情報取得ステップにおいて送信情報が取得される場合、または前記送信ステップにおいて前記送信情報が送信される場合に、前記送信情報の取得または送信に応じて、前記通信対象となる他の通信装置と前記アドレスとの対応関係が維持されているか否かを判定する接続判定を開始する第１の判定制御ステップと、
前記接続判定の後予め決められた期間にわたって前記送信情報の取得または送信が行われなかった場合には、前記接続判定を停止させる第２の判定制御ステップと
を実行することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された通信装置が接続を維持しているか否かを検出する技術に関する。
【背景技術】
【０００２】
ネットワークに接続された通信装置には、ネットワーク上のアドレスとして、例えばＩＰ（Internet Protocol）アドレスが割り当てられ、そのＩＰアドレスを用いてその通信装置と通信を行う。ＩＰアドレスは、人間が記憶しにくい数字の羅列である。そのため、このＩＰアドレスと通信装置を識別する名前などの識別子と対応関係を定めたデータベースをＤＮＳ（Domain Name System）サーバなどで管理しておき、利用者は、ＩＰアドレスを直接知らなくても、このデータベースを参照することで他の通信装置と通信を行う。このとき各通信装置は、他の通信装置と通信を行うたびにこのデータベースを参照するのではなく、一旦取得した対応関係については、自装置においてキャッシュしておくことで、何度もデータベースを参照することなく通信を続けることができる。
【０００３】
ところで、通信装置に割り当てられるＩＰアドレスがＤＨＣＰ（Dynamic Host Configuration Protocol）を用いるなどして動的に変化した場合、また、通信装置がネットワークから離脱した場合には、サーバにおいて管理しているデータベースの内容を更新する。更新する技術としては、例えば特許文献１に開示されている。一方、通信装置においては、キャッシュの内容が更新されないと、通信対象となる通信装置への送信は失敗となるが、キャッシュが一定時間保持した後に期限切れとなって削除されたり、通信装置の利用者が手動操作により削除指示を出すことによってキャッシュが削除されたりすると、通信対象となる通信装置がネットワークに接続されていれば、キャッシュが更新されて通信を再開することができる。また、サーバにおいて、データベースを参照した通信装置を特定しておき、データベースの内容が更新されたときに、その通信装置にキャッシュを更新するように通知する技術が、例えば、非特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２６６３０５号公報
【非特許文献】
【０００５】
【非特許文献１】ＤＮＳキャッシュ更新通知機構の設計および実装  「日本ソフトウェア科学会  第4回インターネットテクノロジーワークショップ論文集、pp.58-65, 2001年9月」
【発明の概要】
【発明が解決しようとする課題】
【０００６】
送信が失敗することを少なくするために、早期にキャッシュを更新するには、頻繁にキャッシュの更新を行うことが望ましいが、この場合には、データベースを参照するためにサーバへの問い合わせが頻繁に発生することになりネットワークに負荷がかかってしまう。また、サーバにおいてデータベースを参照した通信装置を特定しておく場合には、データベースに定められた対応関係ごとに参照した履歴を残さなくてはならず煩雑であるとともに、多くの通信装置に対して通知を出さなくてはならない場合にはネットワークに負荷がかかってしまう。
【０００７】
本発明は、上述の事情に鑑みてなされたものであり、通信対象となる他の通信装置とネットワーク上のアドレスとの対応関係が変化した場合に行われるキャッシュの内容の更新を、ネットワークの負荷を抑えつつ、通信を行うのに適したタイミングで行うことができる通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決するため、本発明は、接続したネットワークにおけるアドレスが割り当てられた他の通信装置を通信対象として、当該ネットワークに接続して通信を行う通信装置において、前記ネットワークに接続された各通信装置と前記各通信装置に割り当てられたアドレスとの対応関係を定めたデータベースから、通信対象となる前記他の通信装置に対応する前記アドレスを取得するアドレス取得手段と、前記アドレス取得手段によって取得されたアドレスと前記通信対象となる他の通信装置とを対応付けた対応情報を記憶する記憶手段と、前記通信対象となる他の通信装置に送信すべき送信情報を取得する情報取得手段と、前記情報取得手段によって送信情報が取得されると、前記記憶手段に記憶された対応情報を参照して、前記通信対象となる他の通信装置に対応する前記アドレスに対して当該送信情報を送信する送信手段と、前記通信対象となる他の通信装置と前記アドレスとの対応関係が維持されているか否かを判定する判定手段と、前記情報取得手段によって送信情報が取得される場合、または前記送信手段によって前記送信情報が送信される場合には、前記判定手段に判定を開始させ、予め決められた期間にわたって前記送信情報の取得または送信が行われなかった場合には、前記判定手段による判定を停止させる判定制御手段とを具備することを特徴とする通信装置を提供する。
また、別の好ましい態様において、前記判定手段によって対応関係が維持されていないと判定された場合には、前記記憶手段に記憶された対応情報を無効化する無効化制御手段を備え、前記判定制御手段は、予め決められた期間にわたって前記送信情報の取得または送信が行われなかった場合、および前記無効化制御手段による無効化が行われた場合に、前記判定手段による判定を停止させることを特徴とする。
また、別の好ましい態様において、前記判定手段は、前記他の通信装置に判定パケットを送信することにより判定を行うことを特徴とする。
【０００９】
また、別の好ましい態様において、前記無効化制御手段によって前記対応情報が無効化されると、前記アドレス取得手段に当該対応情報に係る他の通信装置に対応する前記アドレスを再度取得させて、前記記憶手段における対応情報を更新させる更新制御手段をさらに具備することを特徴とする。
【００１０】
また、別の好ましい態様において、前記判定制御手段は、前記更新制御手段によって前記対応情報が更新されると、前記判定手段に判定を開始させることを特徴とする。
【００１１】
また、別の好ましい態様において、前記データベースは、前記ネットワークに接続される複数の前記通信装置において分散管理され、前記分散管理されるデータベースの一部を記憶するデータベース記憶手段と、自装置に割り当てられた前記アドレスが変更されると、少なくとも一の前記他の通信装置に対して変更内容を通知する通知手段と、前記他の通信装置から前記変更内容が通知されると、前記データベース記憶手段に記憶されたデータベースの一部に当該変更内容を反映させる反映手段と、前記他の通信装置における前記更新制御手段の制御により前記通信対象となる通信装置に対応する前記アドレスを再度取得するための問い合わせがあると、前記データベース記憶手段に記憶された前記データベースの一部に当該通信対象となる通信装置に対応する前記アドレスがある場合であって、当該アドレスが当該通信対象となる通信装置から通知されることによって当該データベースの一部として反映されたものでない場合には、当該アドレスを当該データベースの一部から当該アドレスと当該通信対象となる通信装置との対応関係を削除し、当該データベースの一部として反映されたものである場合には、当該アドレスを当該通信対象となる通信装置に対応するものとして応答する応答制御手段とをさらに具備する。
【００１２】
また、別の好ましい態様において、前記判定手段による判定が、予め決められた期間にわたって行われなかった場合には、前記記憶手段に記憶された対応情報を削除する削除手段と、前記記憶手段に前記通信対象となる他の通信装置と前記アドレスとを対応付けた対応情報が無い場合に、前記情報取得手段によって送信情報が取得されると、前記アドレス取得手段に当該他の通信装置に対応する前記アドレスを取得させる取得制御手段とをさらに具備することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、通信対象となる他の通信装置とネットワーク上のアドレスとの対応関係が変化した場合に行われるキャッシュの内容の更新を、ネットワークの負荷を抑えつつ、通信を行うのに適したタイミングで行うことができる通信装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係る通信システムの構成を示すブロック図である。
【図２】第１実施形態に係る通信装置の構成を示すブロック図である。
【図３】第１実施形態に係る通信装置の通信処理機能を実現する構成を説明する図である。
【図４】キャッシュの内容を説明する図である。
【図５】第１実施形態に係るサーバの構成を示すブロック図である。
【図６】第１実施形態に係るサーバのデータベース管理機能を実現する構成を説明する図である。
【図７】管理データベースの内容を説明する図である。
【図８】第１実施形態に係るキャッシュ管理処理における状態遷移図である。
【図９】第２実施形態に係る通信システムの構成を示すブロック図である。
【図１０】第２実施形態に係る通信装置の構成を示すブロック図である。
【図１１】分散管理データベースの内容を説明する図である。
【図１２】第２実施形態に係る通信装置の通信処理機能を実現する構成を説明する図である。
【図１３】アドレス応答処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る通信システム１の構成を示すブロック図である。第１実施形態に係る通信システム１は、インターネットなどの公衆網であるネットワーク１０に接続された通信装置２０およびサーバ３０を有する。
通信装置２０は、複数がネットワーク１０に接続し、ネットワーク１０を介して、互いに各種情報の通信を行う。それぞれの通信装置２０は、ネットワーク１０に接続しているときに、図示しないＤＨＣＰサーバなどにより、ネットワーク上のアドレス（この例においてはＩＰアドレスとするが、以下、ネットワーク上のアドレスを単にアドレスという）が割り当てられる。なお、ネットワーク１０に接続しているときに、通信装置２０に対してアドレスが割り当てられるようになっていれば、どのような方法によってもよい。
サーバ３０は、例えば、ＤＮＳサーバであって、後述するように、通信装置２０を識別する名称などの識別子と、その通信装置２０に割り当てられたアドレスとの対応関係を定めた管理データベースを有し、通信装置２０からの問い合わせに応じて、その対応関係の応答を行う。以下、通信装置２０、サーバ３０についての各構成について順に説明する。
【００１６】
[通信装置２０の構成]
図２は、本発明の第１実施形態に係る通信装置２０の構成を示すブロック図である。通信装置２０は、制御部２１、ＵＩ（User Interface）部２２、通信ＩＦ（Interface）部２３、記憶部２４を有し、これらの各構成はバス２５を介して接続されている。
【００１７】
制御部２１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを有する。ＣＰＵは、ＲＯＭに記憶されている制御プログラムを読み出して、ＲＡＭにロードして実行することにより、通信装置２０の各部について、バス２５を介して制御し、後述する通信処理機能などを実現する。また、ＲＡＭは、ＣＰＵが各データの加工などを行う際のワークエリアとして機能する。
ＵＩ部２２は、通信装置２０の利用者によって各種設定、各種指示が行われるときに用いられるキーボード、操作ボタンなどの操作部、設定画面、指示画面などの表示を制御部２１の制御に応じて行う液晶ディスプレイなどの表示部を有している。ＵＩ部２２は、操作部が操作されると、その操作内容を示すデータが制御部２１へ出力される。
通信ＩＦ部２３は、ＮＩＣ（Network Interface Card）などの通信手段であって、ネットワーク１０に接続して、他の通信装置２０から送信される情報に係るパケットをネットワーク１０から取得したり、制御部２１の制御によりネットワーク１０にパケットを送出して、他の通信装置２０に情報を送信したりする。
【００１８】
記憶部２４は、例えば、ハードディスク、不揮発性メモリ、ＲＡＭなどであり、制御部２１によりデータの読み出し、書き込みが行われる。記憶部２４には、制御プログラムの一部などが記憶されている他、キャッシュ２４０が記憶されている。キャッシュ２４０は、後述する対応情報を一時的に記憶するものである。以上が、通信装置２０の構成についての説明である。
【００１９】
[通信処理機能]
次に、通信装置２０の制御部２１が制御プログラムを実行することによって実現される通信処理機能について、図３、図４を用いて説明する。通信処理機能とは、ネットワーク１０に接続されている通信装置２０に対して情報を送信する情報送信処理、キャッシュを管理するキャッシュ管理処理、アドレスが変更されたときにサーバ３０に通知するレコード通知処理を実行する機能である。なお、以下に説明する通信処理機能における各構成については、ハードウエアによって実現してもよい。
【００２０】
図３は、第１実施形態に係る通信処理機能を実現する構成を説明する図である。この通信処理機能の実現には、パケット処理部２０１、キャッシュ管理部２０２、送信情報取得部２０３、接続判定部２０４、レコード通知部２０５および記憶部２４に記憶されたキャッシュ２４０の各構成を用いる。まず、キャッシュ２４０の内容について説明する。
【００２１】
図４は、キャッシュ２４０の内容を説明する図である。キャッシュ２４０は、通信装置２０が他の通信装置２０と通信するときに、サーバ３０の管理データベースから取得した情報を一時的に記憶しておく。この情報は、通信装置２０の「識別子」と、その通信装置２０に対応する「アドレス」との対応関係を示した対応情報である。キャッシュ２４０には、各対応情報に対して、さらに後述する接続判定部２０４における判定の状態を示す「接続判定状態」、この対応情報の有効、無効を示す「無効フラグ」が設定されている。これらの対応情報の記憶、設定は、キャッシュ管理部２０２により行われる。
キャッシュ２４０に記憶された対応情報は、図４に示す内容によれば、例えば、通信装置２０の「識別子」が「Ａ」に対応する「アドレス」は「２ｘｘ．１００．２００．１」であり、この対応情報に対応した「接続判定状態」は「実行中」、「無効フラグ」は「ＯＦＦ」である。
【００２２】
図３に戻って説明を続ける。パケット処理部２０１は、後述するようにして、送信情報取得部２０３から出力される送信情報に付された宛先となる通信装置２０の識別子に対応するアドレスを、キャッシュ２４０を参照して取得し、その送信情報をパケット化して、通信ＩＦ部２３から取得したアドレスに対して送信させる。このとき、キャッシュ２４０に対応するアドレスがあったとしても、その対応情報について「無効化フラグ」が「ＯＮ」に設定されている場合には、そのアドレスは無効として扱い、送信を行わない。
また、パケット処理部２０１は、後述するようにして、接続判定部２０４、レコード通知部２０５からパケットを送出する指示があると、指示に応じたパケットを通信ＩＦ部２３から送出させる。接続判定部２０４からの指示によりパケットを送出し、その応答を示すパケットを取得した場合には、これを接続判定部２０４に出力する。
また、パケット処理部２０１は、通信装置２０の識別子に対するアドレスを、通信ＩＦ部２３を介してサーバ３０に問い合わせ、この応答としてアドレスを示す情報を取得すると、キャッシュ管理部２０２に、その通信装置２０の識別子と取得したアドレスとを対応付けた対応情報を出力する。この問い合わせを行うタイミングは、後述するキャッシュ管理処理の説明において、あわせて説明する。
また、パケット処理部２０１は、後述する判定パケットを受信した場合には、その判定パケットを送信した通信装置２０に対して応答を示すパケットを送信する。
【００２３】
キャッシュ管理部２０２は、キャッシュ２４０の内容を管理する。具体的には、キャッシュ２４０に対して、対応情報を登録、対応情報の削除、更新、接続判定部２０４からの指示により「接続判定状態」、「無効フラグ」の設定を行う。このとき、「無効フラグ」が「ＯＮ」である場合には、対応する「接続判定状態」は「停止中」になるように設定される。
ここで、対応情報の記録については、パケット処理部２０１から対応情報が出力されると行われるものとするが、各種管理を行う具体的な内容については、後述のキャッシュ管理処理の説明において、あわせて説明する。
【００２４】
送信情報取得部２０３は、他の通信装置２０に対して送信すべき送信情報を取得し、送信情報を送信する宛先となる他の通信装置２０の識別子を付してパケット処理部２０１に出力する。この送信情報については、例えばＵＩ部２２を用いた利用者からの指示に応じて、制御部２１において生成される情報などであり、宛先となる他の通信装置２０についても利用者によって指示される。このとき、宛先となる他の通信装置２０については、その名称などを示す識別子を用いて決定される。
【００２５】
接続判定部２０４は、キャッシュ２４０に対応情報として記憶されている各通信装置２０とアドレスとの対応関係が維持されているか否かを判定（以下、接続判定という）する。具体的には、接続判定部２０４は、キャッシュ２４０を参照して、「接続判定状態」が「実行中」である対応情報が示す通信装置２０とアドレスとの対応関係が維持されているか否かについて、予め定められたタイミング（この例においては一定間隔）で判定を行う。この状態を接続判定が実行中であるという。一方、「接続判定状態」が「停止中」である対応情報に係る接続判定は行わない。この状態を接続判定が停止中であるという。
この接続判定は、対応情報に係るアドレスに対して接続を確認する判定パケットをパケット処理部２０１に生成させて通信ＩＦ部２３から送信させ、判定パケットの受信を受信した通信装置２０から、判定パケットに対する応答のパケットを受信するか否かにより行われる。応答があった場合には、対応関係が維持されていると判定する。応答が無かった場合には、アドレスが存在しないものとして対応関係が維持されていないと判定する。この判定は、例えば、Ｐｉｎｇ（Packet INternet Groper）を用いて行えばよい。
【００２６】
ここで、接続判定における判定パケットの送信、応答において、アドレスと通信装置２０の識別子との関係についても確認するようにしてもよい。この場合には、例えば、応答のパケットに応答を行った通信装置２０の識別子が含まれるようにして、その識別子と判定パケットの送信先のアドレスとの対応関係と、キャッシュ２４０に記憶されている対応情報における対応関係とが一致しているか否かにより、接続が維持されているか否かの判定をすればよい。このようにすれば、このアドレスが割り当てられた通信装置２０が存在するが、割り当てられている通信装置２０が変更されている場合においても、対応関係が維持されているか否かを判定することができる。
なお、判定パケットに宛先となる通信装置２０の識別子を付して送信し、これを受信した通信装置２０は、自装置を示す識別子であった場合に、応答のパケットを送信するようにしてもよい。このようにしても、対応関係が維持されているか否かを判定することができる。
【００２７】
レコード通知部２０５は、自装置に割り当てられたアドレスが変更された場合、自装置をネットワーク１０に接続する場合に、自装置の識別子とアドレスとの対応関係を示すレコードを示す情報をパケット処理部２０１に出力し、パケット処理部２０１においてパケット化して通信ＩＦ部２３からサーバ３０に送信させる。これにより、後述するように、サーバ３０の管理データベースにこの対応関係が登録される。なお、自装置がネットワーク１０から離脱するときにサーバ３０に対して離脱を示す情報と自装置に係るレコードとを送信し、管理データベースから削除されるようにしてもよい。以上が、通信処理機能を実現する構成についての説明である。次に、サーバ３０の構成について図５を用いて説明する。
【００２８】
[サーバ３０の構成]
図５は、本発明の第１実施形態に係るサーバ３０の構成を示すブロック図である。サーバ３０は、制御部３１、ＵＩ部３２、通信ＩＦ部３３、記憶部３４を有し、これらの各構成はバス３５を介して接続されている。それぞれ通信装置２０における制御部２１、ＵＩ部２２、通信ＩＦ部２３、記憶部２４、バス２５の構成と同様であるため、異なる点を除いて説明を省略する。
記憶部３４には、制御プログラムの一部などが記憶されている他、管理データベース（管理ＤＢ）３４０が記憶されている。そして、制御部３１は、制御プログラムを実行することによりデータベース管理機能などを実現する。以上が、サーバ３０の構成についての説明である。
【００２９】
[データベース管理機能]
次に、サーバ３０の制御部３１が制御プログラムを実行することによって実現されるデータベース管理機能について、図６、図７を用いて説明する。データベース管理機能とは、管理データベースの内容（レコード）を管理する機能である。以下に説明する通信処理機能における各構成については、ハードウエアによって実現してもよい。
【００３０】
図６は、第１実施形態に係るデータベース管理機能を実現する構成を説明する図である。このデータベース管理機能の実現には、パケット処理部３０１、レコード管理部３０２および記憶部３４に記憶された管理データベース（管理ＤＢ）３４０の各構成を用いる。まず、管理データベース３４０の内容について説明する。
【００３１】
図７は、管理データベース３４０の内容を説明する図である。管理データベース３４０は、上述したように、ネットワーク１０に接続された各通信装置２０の識別子とアドレスとの対応関係を示すレコードにより構成される。管理データベース３４０におけるレコードの追加、削除、更新については、レコード管理部３０２により行われる。
管理データベース３４０に定められたレコードは、図７に示す内容によれば、例えば、通信装置２０の「識別子」が「Ｃ」に対応する「アドレス」は「２ｘｚ．１０．２０．５」である。
【００３２】
図６に戻って説明を続ける。パケット処理部３０１は、通信装置２０から送信されたレコードを示す情報を受信すると、レコード管理部３０２に出力する。また、パケット処理部３０１は、通信装置２０から送信情報の宛先となる通信装置２０の識別子に対応するアドレスを問い合わせる情報を受信するとレコード管理部３０２に出力し、その結果レコード管理部３０２からアドレスを示す情報を取得すると、この情報を問い合わせ元の通信装置２０に対して、問い合わせの応答として送信する。
【００３３】
レコード管理部３０２は、パケット処理部３０１からレコードを示す情報を取得すると、このレコードを管理データベース３４０に登録、またはすでにその識別子をもつレコードがある場合にはこれを更新し、また、この情報にネットワーク１０からの離脱を示す情報が付されている場合には、管理データベース３４０からこのレコードを削除する。
また、レコード管理部３０２は、アドレスを問い合わせる情報を取得すると、管理データベース３４０を参照し、問い合わせに係る通信装置２０の識別子に対応するアドレスを取得して、問い合わせの応答としてパケット処理部３０１に出力する。このようにして、サーバ３０は、管理データベース３４０の内容を管理するとともに、各通信装置２０からの問い合わせに応じてアドレスを応答する。なお、対応するアドレスが管理データベース３４０に存在しない場合には、応答が行われないようにしてもよいし、存在しない旨を示す情報を応答してもよい。以上が、データベース管理機能を実現する構成についての説明である。
【００３４】
[キャッシュ管理処理]
次に、本発明の第１実施形態に係る通信装置２０において行われるキャッシュ管理処理について説明する。キャッシュ管理処理は、キャッシュ管理部２０２におけるキャッシュ２４０の管理、すなわち、対応情報の登録、削除、更新、接続判定部２０４における判定対象となる「接続判定状態」の設定、「無効化フラグ」の設定を行う処理である。キャッシュ管理処理の具体的な内容について、図８に示す状態遷移図を用いて説明する。
【００３５】
図８は、キャッシュ管理処理における状態遷移図である。以下の説明においては、送信情報の送信対象となる通信装置２０は、特定の通信装置２０（以下、通信装置２０Ｔという）であるものとして説明するが、送信情報の送信対象となる通信装置２０が複数となる場合には、それぞれの通信装置２０について、以下の説明における状態遷移が並列して行われているものとすればよい。
【００３６】
まず、キャッシュ２４０に通信装置２０Ｔについての対応情報が登録されていないもの（状態Ｓ１）とする。状態Ｓ１において、送信情報取得部２０３が送信情報を取得することによって、送信情報に係るパケットを送信する状況（イベントＥ１）になると、通信装置２０は、この送信に先立って、送信対象となる通信装置２０Ｔの識別子に対応するアドレスをサーバ３０に問い合わせ、その応答としてアドレスを取得し、キャッシュ２４０に登録し（アクションＡ１）、パケットを送信する。また、キャッシュ管理部２０２は、この対応情報に対しては「接続判定状態」を「実行中」、「無効化フラグ」を「ＯＦＦ」と設定し、接続判定部２０４は、接続判定を開始（アクションＡ１）する。
これにより、通信装置２０は、キャッシュ２４０に通信装置２０Ｔに係る対応関係が記憶され、また、接続判定が実行中である状態Ｓ２に遷移する。
【００３７】
状態Ｓ２において、接続判定の結果、通信装置２０Ｔとアドレスとの対応関係が維持されていないと判定（イベントＥ２）されると、キャッシュ管理部２０２は、「無効化フラグ」を「ＯＮ」に、「接続判定状態」を「停止中」に設定（アクションＡ２）し、接続判定部２０４における接続判定を停止させる。そして、通信装置２０は、サーバ３０に対して通信装置２０Ｔに対応するアドレスの問い合わせを行い（アクションＡ２）、アドレスの応答を待機する（状態Ｓ３）。
状態Ｓ３においては、サーバ３０からの応答があるまで待機することになるが、一定時間応答が無い場合には、通信装置２０は、再びアドレスの問い合わせを行ってもよいし、通信装置２０Ｔがネットワーク１０から離脱したために、対応するアドレスが管理データベース３４０に存在しないものと判断し、キャッシュ２４０における対応情報を削除して、状態Ｓ１に遷移させてもよい。なお、アドレスの問い合わせを何回か行った後に状態Ｓ１に遷移させてもよい。
【００３８】
状態Ｓ３において、サーバ３０からのアドレスの応答がある（イベントＥ３）と、キャッシュ管理部２０２は、「無効化フラグ」を「ＯＮ」にした対応情報を、応答があったアドレスとの対応関係になるように更新し、「無効化フラグ」を「ＯＦＦ」に戻し、「接続判定状態」を「実行中」に設定し、接続判定部２０４における接続判定を再び開始させる（アクションＡ３）。これにより、再び状態Ｓ２に遷移する。
【００３９】
状態Ｓ２に遷移してから一定時間にわたって、送信情報取得部２０３における送信情報の取得が行われず、通信装置２０から通信装置２０Ｔに対してパケットの送信が無かった場合（イベントＥ４）、キャッシュ管理部２０２は、通信装置２０Ｔに係る対応情報の「接続判定状態」を「停止中」に設定し、接続判定部２０４における接続判定を停止させる（状態Ｓ４）。
【００４０】
状態Ｓ４に遷移してから一定時間にわたって、送信情報取得部２０３における送信情報の取得が行われず、通信装置２０から通信装置２０Ｔに対してパケットの送信が無かった場合（イベントＥ４）、キャッシュ管理部２０２は、キャッシュ２４０に記憶された通信装置２０Ｔに係る対応情報を削除する（アクションＡ６）。これにより、再び状態Ｓ１に遷移する。なお、状態Ｓ２におけるイベントＥ４発生までの時間と、状態Ｓ４におけるイベントＥ４発生までの時間とは、同じであってもよいし異なっていてもよい。
また、イベントＥ４が発生する前に、送信情報取得部２０３における送信情報の取得が行われ、パケットを送信する状況（イベントＥ１）になると、通信装置２０は、この送信に先立って、接続判定を開始させ（アクションＡ５）、状態Ｓ２に遷移する。この接続判定によりキャッシュ２４０に記憶された対応情報が示す対応関係、すなわち通信装置２０Ｔの識別子とアドレスとの対応関係が維持されていると判定された場合には、そのパケットを送信し、維持されていないと判定された場合（イベントＥ２）には、パケットの送信を行わず状態Ｓ３に遷移する。
【００４１】
このように、本発明の第１実施形態に係る通信装置２０は、キャッシュ２４０に記憶された対応情報の更新を行うきっかけとして接続判定を行い、通信対象となる通信装置２０の識別子とアドレスとの対応関係が、対応情報における対応関係を維持していない場合に、対応情報の更新を行う。この接続判定は、常時行われるのではなく、パケットの送信に応じて実行され、送信が一定時間行われない場合には停止するように制御される。したがって、通信対象となる他の通信装置２０とネットワーク上のアドレスの対応関係が変化した場合に、ネットワーク１０の負荷を抑えつつ、パケットの送信を行うのに適したタイミングでキャッシュ２４０の内容を更新することができる。
【００４２】
＜第２実施形態＞
図９は、本発明の第２実施形態に係る通信システム１Ａの構成を示すブロック図である。通信システム１Ａは、ネットワーク１０に接続された複数の通信装置２０Ａを有し、第1実施形態における通信システム１と異なりサーバ３０を有していない。第２実施形態においては、第1実施形態におけるサーバ３０が有していた管理データベース３４０を、複数の通信装置２０Ａによって構成される構造化オーバレイを利用して分散管理する構成としている。構造化オーバレイとは、Ｐ２Ｐネットワークのように下位のネットワークレイヤの上に別のトポロジを形成するオーバレイネットワークのうち、分散ハッシュテーブルなど、アルゴリズム上の制約を持つものをいう。なお、この例においては構造化オーバレイを利用したものとして説明するが、非構造化オーバレイなど他のオーバレイネットワークであったり、その他のアルゴリズムに従って構成されるネットワークであったりしてもよい。すなわち、管理データベースを分散管理する構成であれば、どのようなネットワーク構成を用いたものであってもよい。以下、第２実施形態における通信装置２０Ａの構成について説明する。
【００４３】
[通信装置２０Ａの構成]
図１０は、本発明の第２実施形態に係る通信装置２０Ａの構成を示すブロック図である。第２実施形態に係る通信装置２０Ａは、キャッシュ２４０と分散管理データベース（分散管理ＤＢ）２４１を記憶する記憶部２４Ａを有する点で、第１実施形態に係る通信装置２０と異なる。また、制御部２１において制御プログラムを実行することによって実現する通信処理機能の内容が異なっている。
第２実施形態に係る通信装置２０Ａのその他の構成については、第１実施形態に係る通信装置２０と同様な構成であるので、説明を省略する。
【００４４】
キャッシュ２４０は、第１実施形態におけるキャッシュ２４０と同じものである。
分散管理データベース２４１は、第１実施形態における管理データベース３４０の一部を示すものであって、構造化オーバレイを利用して管理データベース３４０が分散管理されることによって、各通信装置２０Ａの記憶部２４Ａにおいて分散して記憶されるものである。これは、構造化オーバレイにおける分散管理に用いられるアルゴリズムにしたがって行われる。この分散管理データベース２４１について、図１１を用いて説明する。
【００４５】
図１１は、分散管理データベース２４１の内容を説明する図である。分散管理データベース２４１は、第１実施形態における管理データベース３４０のように、ネットワーク１０に接続された各通信装置２０の識別子とアドレスとの対応関係を示すレコードにより構成され、また、各レコードには「通知装置」として通信装置２０Ａの識別子が対応付けられる。この分散管理データベース２４１が、後述する構造化オーバレイ処理部２０６によってレコードの登録、削除、更新が行われるが、この「通知装置」とは、レコードの登録、更新を行うための通知を行った通信装置２０Ａ、すなわち、その登録、更新に係るレコードを送信した通信装置２０Ａの識別子を示している。
例えば、分散管理データベース２４１が図１１の内容であれば、「識別子」が「Ａ」の通信装置２０Ａ（以下、通信装置２０Ａ−Ａという）とアドレスとの対応関係を示すレコードは、その内容の登録または更新を行うための通知を、その通信装置２０Ａ−Ａ自身が行ったことを示す。また、通信装置２０Ａ−Ｂとアドレスとの対応関係を示すレコードは、その更新の通知を通信装置２０Ａ−Ｂが行ったのではなく、通信装置２０Ａ−Ａが行ったことを示している。このように、分散管理データベース２４１に登録されている各レコードは必ずしもそのレコードに係る通信装置２０Ａから通知されたものとは限らない。
【００４６】
[通信処理機能]
次に、通信装置２０Ａの制御部２１が制御プログラムを実行することによって実現される通信処理機能について、図１２を用いて説明する。通信処理機能とは、第１実施形態における場合と同様に、ネットワーク１０に接続されている通信装置２０Ａに対して情報を送信する情報送信処理、キャッシュを管理するキャッシュ管理処理の他、各通信装置２０Ａにおけるアドレスが変更されたときに分散管理された管理データベースへの登録、更新、削除を、構造化オーバレイを利用して行う処理（例えば、アドレス取得処理、アドレス応答処理など）を実行する機能などである。なお、以下に説明する通信処理機能における各構成については、ハードウエアによって実現してもよい。
【００４７】
図１２は、第２実施形態に係る通信処理機能を実現する構成を説明する図である。この通信処理機能の実現には、第１実施形態における構成であるパケット処理部２０１、キャッシュ管理部２０２、送信情報取得部２０３、接続判定部２０４、レコード通知部２０５および記憶部２４Ａに記憶されたキャッシュ２４０に加えて、構造化オーバレイ処理部２０６、記憶部２４Ａに記憶された分散管理データベース２４１の各構成を用いる。
【００４８】
パケット処理部２０１は、第１実施形態における機能に加えて、構造化オーバレイ処理部２０６からパケットを送出する指示があると、指示に応じたパケットを通信ＩＦ部２３から送出させる機能、および他の通信装置２０Ａにおける構造化オーバレイ処理部２０６の指示によって送出されたパケットを取得すると、構造化オーバレイ処理部２０６に出力する機能を有する。また、送信対象となる通信装置２０Ａの識別子に対応するアドレスを管理データベースに問い合わせるときには、構造化オーバレイ処理部２０６の指示にしたがって処理を行う。
キャッシュ管理部２０２、送信情報取得部２０３、接続判定部２０４、レコード通知部２０５、キャッシュ２４０については、第１実施形態における各構成と同様であるため、説明を省略する。ここで、レコード通知部２０５からのレコードを示す情報は構造化オーバレイ処理部２０６に出力される。
【００４９】
構造化オーバレイ処理部２０６は、予め決められた構造化オーバレイのプロトコルに則って、パケット処理部２０１、通信ＩＦ部２３を介して行われる他の通信装置２０Ａとの通信を制御して、ネットワーク１０に接続された通信装置２０Ａ間で構造化オーバレイを構成し、構造化オーバレイにおける各処理を行う。そして、構造化オーバレイ処理部２０６は、構造化オーバレイを利用して、管理データベースを各通信装置２０Ａで分散管理データベース２４１として分散管理する。また、構造化オーバレイ処理部２０６は、分散管理においては、分散管理データベース２４１のレコードの登録、削除、更新などを行う。これらの処理が行われるタイミングについては、後述する。
【００５０】
また、割り当てられたアドレスが変わるなどしたことにより、レコード通知部２０５からレコードを示す情報が出力されると構造化オーバレイ処理部２０６は、パケット処理部２０１、通信ＩＦ部２３を用いて、この情報を他の通信装置２０Ａに送信し、レコードの登録または更新を通知する。また、構造化オーバレイ処理部２０６は、分散管理に用いられるアルゴリズムにしたがって、自装置の分散管理データベース２４１に登録された一部のレコードを示す情報を他の通信装置２０Ａに対して送信し、レコードの登録または更新を通知する。
この通知を受けた他の通信装置２０Ａの構造化オーバレイ処理部２０６は、そのレコードを「通知装置」（レコードの登録、更新の通知を行った通信装置２０Ａの識別子）と対応付けて分散管理データベース２４１に登録する。
【００５１】
このレコードを示す情報の送信対象となる他の通信装置２０Ａは、これを送信する通信装置２０Ａの近隣の通信装置２０Ａである。近隣の通信装置２０Ａとは、この例においては、ハッシュ関数を用いて各通信装置２０Ａの識別子をハッシュ値に変換した場合に、自装置に対応するハッシュ値と、最も近い関係にあるハッシュ値に対応する通信装置２０Ａをいうが、特定のアルゴリズムを用いて決められる通信装置２０Ａを近隣の通信装置２０Ａとしてもよい。
【００５２】
また、構造化オーバレイ処理部２０６は、送信対象となる通信装置２０Ａの識別子に対応するアドレスを問い合わせるときには、特定のアルゴリズムにしたがって、各通信装置２０Ａにおける分散管理データベース２４１を参照して、必要なアドレスを取得する。この処理をアドレス取得処理という。このアドレス取得処理は、例えば、自装置の分散管理データベース２４１に、この対応関係を示すレコードが登録されていない場合には、近隣の通信装置２０Ａに問い合わせ、この通信装置２０Ａにも登録されていない場合には、その次の近隣の通信装置２０Ａ（次にハッシュ値が近い通信装置２０Ａ）に問い合わせていき、このように、問い合わせに係る識別子とアドレスとの対応関係を示すレコードが登録された分散管理データベース２４１をもつ通信装置２０Ａに到達するまで順に問い合わせを続ける。そして、その対応関係を示すレコードが登録された分散管理データベース２４１をもつ通信装置２０Ａからの応答により、問い合わせを行った通信装置２０Ａは、問い合わせに係る識別子に対応するアドレスを取得する。
ここで、特定の条件を満たした場合にアドレス取得処理によってアドレスの問い合わせを受けた通信装置２０Ａは、その問い合わせに対して応答するための特別な処理（以下、アドレス応答処理という）を行うが、これについての詳細は後述する。以上が、通信処理機能を実現する構成についての説明である。
【００５３】
[キャッシュ管理処理]
次に、本発明の第２実施形態に係る通信装置２０Ａにおいて行われるキャッシュ管理処理について説明する。キャッシュ管理処理は、第１実施形態における図８に示す状態遷移図を用いた説明と同様であるが、状態Ｓ２と状態Ｓ３との関係において、具体的処理内容が異なっている。なお、状態Ｓ１から状態Ｓ２に遷移するときに行われるアドレスの取得は、上述したアドレス取得処理によって行われる。
以下、第２実施形態に係るキャッシュ管理処理において、第１実施形態と異なる部分、すなわち、状態Ｓ２から状態Ｓ３に遷移し、再び状態Ｓ２に遷移する部分について説明する。
【００５４】
状態Ｓ２において、接続判定部２０４における接続判定の結果、通信装置２０ＡＴ（第１実施形態と同様に送信情報の送信対象となる通信装置２０Ａを示す）とアドレスとの対応関係が維持されていないと判定（イベントＥ２）されると、キャッシュ管理部２０２は、「無効化フラグ」を「ＯＮ」に、「接続判定状態」を「停止中」に設定（アクションＡ２）し、接続判定部２０４における接続判定を停止させる。この点は第１実施形態と同様な処理である。
そして、通信装置２０Ａ（以下、通信装置２０ＡＸという）は、通信装置２０ＡＴに対応するアドレスの問い合わせを行い（アクションＡ２）、アドレスの応答を待機する（状態Ｓ３）。ここで、問い合わせを受けた通信装置２０Ａ（以下、通信装置２０ＡＲという）においては、上述したアドレス応答処理が行われる。すなわち、アドレス応答処理が行われるための特定の条件とは、状態Ｓ２から状態Ｓ３に遷移するときに、アドレスの問い合わせを受けることである。この条件を満たしているか否かを通信装置２０ＡＲで認識するためには、通信装置２０ＡＸが通信装置２０ＡＲに対してアドレスの問い合わせの際に、問い合わせに係るアドレスの「無効化フラグ」を示す情報をあわせて通知し、通信装置２０ＡＲにおいてこの情報を参照して「無効化フラグ」が「ＯＮ」であることを認識すると、条件を満たしていると認識すればよい。このアドレス応答処理について、図１３を用いて説明する。
なお、最初に問い合わせを受ける通信装置２０Ａは、問い合わせを行う通信装置２０ＡＸ自身であってもよい。
【００５５】
図１３は、アドレス応答処理を示すフローチャートである。まず、問い合わせを受けた通信装置２０ＡＲは、自装置が記憶する分散管理データベース２４１に、通信装置２０ＡＴの識別子に対応するアドレスがあるか否かを判定する（ステップＳ１１０）。対応するアドレスが無い場合（ステップＳ１１０；Ｎｏ）には、後述するステップＳ１５０に進む。
一方、対応するアドレスがある場合（ステップＳ１１０；Ｙｅｓ）には、通信装置２０ＡＲは、そのレコードに係る通信装置２０ＡＴの識別子と、そのレコードに対応した「通知装置」の識別子とが一致しているか否かにより、通信装置２０ＡＴから直接通知されたレコードにより更新したものか否かを判定する（ステップＳ１２０）。
【００５６】
直接通知されたものであると判定した場合（ステップＳ１２０；Ｙｅｓ）には、通信装置２０ＡＲは、そのレコードによって示されるアドレスを、自装置に対して問い合わせを行った通信装置２０ＡＸに送信する（ステップＳ１３０）。通信装置２０ＡＸが自身に対して問い合わせを行っていた場合には、アドレスの応答があったとみなせばよい。これにより、通信装置２０ＡＸは、アドレスの応答（イベントＥ３）を受け、第１実施形態におけるアクションＡ３の処理後、状態Ｓ２に遷移する。
一方、直接通知されたものでないと判定した場合（ステップＳ１２０；Ｎｏ）には、通信装置２０ＡＲは、そのレコードを自装置の分散管理データベース２４１から削除する（ステップＳ１４０）。
通信装置２０ＡＴから直接通知されたものでない場合には、通信装置２０ＡＴの変更されたアドレスがこの通信装置２０ＡＲまで通知されていない可能性があり、その場合には、アドレスが変更される前のレコードとして分散管理データベース２４１に登録されていることになる。そのため、レコードを削除するようになっている。一方、上述のように、直接通知されたものであれば、割り当てられたアドレスが変更されてから経過した時間が少なくても、新たなアドレスに係るレコードに更新されることになるから、そのアドレスを変更後のアドレスとして扱うことになる。
【００５７】
フローチャートに戻って説明を続ける。通信装置２０ＡＲは、通信装置２０ＡＸではない近隣の他の通信装置２０Ａ（次にハッシュ値が近い通信装置２０Ａ）に対してアドレスの問い合わせを行い（ステップＳ１５０）、アドレスを示す情報の受信を待つ（ステップＳ１６０；Ｎｏ）。ここで、通信装置２０ＡＲによってアドレスの問い合わせを受けた通信装置２０Ａは、通信装置２０ＡＲと同様に、図１３に示すアドレス応答処理を行う。
【００５８】
通信装置２０ＡＲが、アドレスの問合せ先の通信装置２０Ａからアドレスの受信を受ける（ステップＳ１６０；Ｙｅｓ）と、そのアドレスと問い合わせに係る通信装置２０ＡＴとの対応関係を示すレコードを、自装置の分散管理データベース２４１に登録し（ステップＳ１７０）、自装置に対して問い合わせを行った通信装置２０ＡＸに対してアドレスを送信する（ステップＳ１３０）。このレコードを登録するときには、このレコードに係るアドレスを送信した通信装置２０Ａの識別子を「通知装置」として対応付ける。
これにより、通信装置２０ＡＸは、アドレスの応答（イベントＥ３）を受け、第１実施形態におけるアクションＡ３の処理後、状態Ｓ２に遷移する。以上が第２実施形態に係るキャッシュ管理処理において、第１実施形態と異なる部分の説明である。
【００５９】
このように、本発明の第２実施形態に係る通信装置２０Ａは、複数の通信装置２０Ａにより、構造化オーバレイを利用して管理データベースを分散管理データベース２４１として分散管理し、各通信装置２０Ａにおいて記憶された分散管理データベース２４１を参照して、通信対象となる通信装置２０Ａの識別子とアドレスとの対応関係を取得する。このことによっては、第１実施形態における効果と同様に、ネットワーク１０の負荷を抑えつつ、パケットの送信を行うのに適したタイミングでキャッシュ２４０の内容を更新することができる。
また、このとき、アドレス応答処理を行った通信装置２０Ａにおいては、問い合わせに係る通信装置２０の識別子とアドレスとの対応関係を示すレコードを更新することができる。このように、通信装置２０Ａは、キャッシュ２４０における対応情報が示す対応関係が維持されていないと判定して、他の通信装置２０Ａに問い合わせて、アドレス応答処理を行うことで、その通信装置２０Ａに対しても、レコードの更新を促すことができる。
【００６０】
＜変形例＞
以上、本発明の実施形態について説明したが、本発明は以下のように、さまざまな態様で実施可能である。
[変形例１]
上述した第２実施形態において、図１３におけるステップＳ１４０、ステップＳ１１０；Ｎｏとなる処理の後には、通信装置２０ＡＲは、問い合わせを行った通信装置２０ＡＸに対して応答するアドレスが無いことを示すエラー通知を行うようにして、エラー通知を受けた通信装置２０ＡＸが、次にハッシュ値が近い近隣の通信装置２０Ａに対して問い合わせを行ってもよい。
【００６１】
[変形例２]
上述した第２実施形態において、通信装置２０Ａ（以下、通信装置ＡＹという）が、通信装置２０ＡＴに対して、接続判定を実行しているとき（図８の状態遷移図における状態Ｓ２）に、この通信装置２０ＡＹとは別の近隣の通信装置２０Ａ（以下、通信装置２０ＡＺという）が、通信装置２０ＡＴと通信を開始した場合、すなわち通信装置２０ＡＺが状態Ｓ２に遷移した場合には、通信装置２０ＡＺにおいて接続判定を停止させるようにしてもよい。この場合は以下のようにすればよい。
まず、通信装置２０ＡＴまたは通信装置２０ＡＺから、通信装置２０ＡＹに対して、近隣の通信装置２０ＡＺと通信装置２０ＡＴとが通信中であることを通知する。通信装置２０ＡＹは、この通知を受けると、通信装置２０ＡＺに対して、接続判定を停止するように通知する。これによって、通信装置２０ＡＺは、状態Ｓ２においても通信装置２０ＡＺに対する接続判定を停止させる。そして、通信装置２０ＡＹは、接続判定の結果を通信装置２０ＡＺに通知するようにすればよい。この通知は、接続判定の結果、対応関係が維持されていないと判定された場合にだけ通知するようにしてもよい。
このようにすれば、近隣の通信装置２０Ａが同じ通信装置２０ＡＴを通信対象としているときに、それぞれの通信装置２０Ａで接続判定を行うことを防止するからネットワークの負荷を低減することができる。
なお、ここでいう近隣とはハッシュ値がもっとも近い場合に限らず、予め決められた一定距離であれば近隣であるものとしてもよい。
【００６２】
[変形例３]
上述した実施形態における制御プログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどのコンピュータ読取り可能な記録媒体に記憶した状態で提供し得る。この場合には、記録媒体を読み取るインターフェイスを通信装置２０、２０Ａに設ければよい。また、ネットワーク経由でダウンロードさせることも可能である。
【符号の説明】
【００６３】
１，１Ａ…通信システム、１０…ネットワーク、２０，２０Ａ…通信装置、２１，３１…制御部、２２，３２…ＵＩ部、２３，３３…通信ＩＦ部、２４，２４Ａ，３４…記憶部、２５，３５…バス、２０１，３０１…パケット処理部、２０２…キャッシュ管理部、２０３…送信情報取得部、２０４…接続判定部、２０５…レコード通知部、２０６…構造化オーバレイ処理部、２４０…キャッシュ、２４１…分散管理データベース、３０２…レコード管理部、３４０…管理データベース
【図１】
0005531517.tif 000002
【図２】
0005531517.tif 000003
【図３】
0005531517.tif 000004
【図４】
0005531517.tif 000005
【図５】
0005531517.tif 000006
【図６】
0005531517.tif 000007
【図７】
0005531517.tif 000008
【図８】
0005531517.tif 000009
【図９】
0005531517.tif 000010
【図１０】
0005531517.tif 000011
【図１１】
0005531517.tif 000012
【図１２】
0005531517.tif 000013
【図１３】
0005531517.tif 000014