(57)【要約】【課題】  障害に対する対処が早く、オバーレイネットワークの信頼性を高める。【解決手段】  オーバレイネットワーク１０中の各ノード２，６，９，１３は、アプリケーションデータと、このデータへのアクセスのためのノードを示すルーティングテーブル及びルーティングテーブルに示されているノードの通信アドレスを含む構成情報を保持している。管理装置１００は、複数のノードから、各ノードが保持している構成情報を収集し、構成情報をＯＬＮ管理データベース１４０に格納するＯＬＮ構成情報管理部１１２と、複数のノードのそれぞれに対する通信を定期的に試みて、各ノードからの応答に応じて、ノードの状態を把握するノード状態監視部１１３と、いずれかのノード６が障害状態になると、ノード６の構成情報を用いて、ノード６の仮想ノード１９０を生成して起動させ、ノード６の通信アドレスとして、自装置の通信アドレスに変更する旨の通信アドレス切替指示を、他のノードに通知する仮想ノード生成部１１４と、を備えている。【選択図】図２
2010028525.tif 000002
【特許請求の範囲】
【請求項１】
データを保持していると共に、データへのアクセスのためのノードを示すルート情報及び該ルート情報に示されているノードの通信アドレスを含む構成情報を保持している複数のノードを備えているオーバーレイネットワークの管理プログラムにおいて、
コンピュータの通信装置により、前記複数のノードから、各ノードが保持している少なくとも前記構成情報を収集させ、該構成情報を該コンピュータの記憶装置に格納するノード情報管理ステップと、
前記通信装置により、前記複数のノードのそれぞれに対する通信を定期的に試みさせて、各ノードからの応答に応じて、該複数のノードの状態を把握するノード状態監視ステップと、
前記ノード状態監視ステップで把握された前記複数のノードの状態のうち、いずれかのノードの状態が予め定めた障害状態である場合には、前記記憶装置に格納されている該ノードの前記構成情報を用いて、該ノードに関して、他のノードからアクセス可能な仮想ノードを前記コンピュータ上に生成し、該仮想ノードを起動させる仮想ノード生成ステップと、
前記仮想ノード生成ステップで、仮想ノードが生成され、該仮想ノードが起動すると、前記予め定めた障害状態であるとされた前記ノードの通信アドレスとして、該ノードの仮想ノードが生成された自コンピュータの通信アドレスへの切替える旨の通信アドレス切替指示を、前記通信装置により、前記他のノードに通知させて、該他のノードが前記予め定めた障害状態であるとされた該ノードにアクセスしようとしている場合に、該ノードの仮想ノードにアクセスさせる切替通知ステップと、
を前記コンピュータに実行させることを特徴とするオバーレイネットワークの管理プログラム。
【請求項２】
請求項１に記載のオバーレイネットワークの管理プログラムにおいて、
前記ノード状態監視ステップでは、前記通信装置により、前記複数のノードのそれぞれに対して、定期的にノード状態確認メッセージを送出させ、該ノード状態確認メッセージに対する各ノードからの応答時間に応じて、該複数のノードの状態を把握する、
ことを特徴とするオーバレイネットワークの管理プログラム。
【請求項３】
請求項２に記載のオーバレイネットワークの管理プログラムにおいて、
前記ノード状態監視ステップでは、前記ノード状態確認メッセージに対して、予め定めた第一の待ち時間以内に応答があった場合には、応答したノードは正常であると判断し、該第一の待ち時間を超え、且つ該第一の待ち時間より長い第二の待ち時間以内に応答があった場合には、応答したノードは障害危機であると判断し、該第二の待ち時間を超えても応答がない場合には、応答のないノードは障害であると判断し、
前記仮想ノード生成ステップでは、前記ノード状態確認メッセージに対しての応答が前記第一の待ち時間を超え、且つ前記第二の待ち時間以内であった場合には、応答したノードに関して前記仮想ノードを生成して、該仮想ノードを起動待ち状態にし、前記ノード状態確認メッセージに対しての応答が前記第二の待ち時間を越えてもない場合には、応答のないノードに関して仮想ノードが生成されていなければ該仮想ノードを生成し、該仮想ノード又は該ノードに関して既に起動待ち状態になっている仮想ノードを起動させる、
ことを特徴とするオーバレイネットワークの管理プログラム。
【請求項４】
請求項３に記載のオーバレイネットワークの管理プログラムにおいて、
前記ノード状態確認メッセージに対しての応答が前記第一の待ち時間以内にあった場合、応答したノードに関する仮想ノードが生成され、且つ該仮想ノードが起動しているか否かを判断する仮想ノード確認ステップと、
前記仮想ノード確認ステップで、前記仮想ノードが生成され、且つ該仮想ノードが起動していると判断された場合、前記切替通信ステップで切替指示された通信アドレスを元の通信アドレスに戻す旨の第二の通信アドレス切替指示を、前記通信装置により、前記他のノードに通知させる第二の切替通知ステップと、
前記仮想ノード確認ステップで、前記仮想ノードが生成されていると判断された場合、該仮想ノードを削除する仮想ノード削除ステップと、
を前記コンピュータに実行させることを特徴とするオーバレイネットワークの管理プログラム。
【請求項５】
請求項３及び４のいずれか一項に記載のオーバレイネットワークの管理プログラムにおいて、
前記ノード状態監視ステップでは、前記ノード状態確認メッセージに対して、前記第二の待ち時間を超え、且つ該第二の待ち時間よりも長い第三の待ち時間を越えても応答がない場合には、応答のないノードは重度障害であると判断し、
前記ノード状態確認メッセージに対しての応答が前記第三の待ち時間を越えてもない場合には、応答のないノードを前記オーバレイネットワークから離脱させる離脱処理ステップを前記コンピュータに実行させることを特徴とするオーバレイネットワークの管理プログラム。
【請求項６】
データを保持していると共に、データへのアクセスのためのノードを示すルート情報及び該ルート情報に示されているノードの通信アドレスを含む構成情報を保持している複数のノードを備えているオーバーレイネットワークの管理方法において、
コンピュータの通信装置により、前記複数のノードから、各ノードが保持している少なくとも前記構成情報を収集させ、該構成情報を該コンピュータの記憶装置に格納するノード情報管理ステップと、
前記通信装置により、前記複数のノードのそれぞれに対する通信を定期的に試みさせて、各ノードからの応答に応じて、該複数のノードの状態を把握するノード状態監視ステップと、
前記ノード状態監視ステップで把握された前記複数のノードの状態のうち、いずれかのノードの状態が予め定めた障害状態である場合には、前記記憶装置に格納されている該ノードの前記構成情報を用いて、該ノードに関して、他のノードからアクセス可能な仮想ノードを前記コンピュータ上に生成し、該仮想ノードを起動させる仮想ノード生成ステップと、
前記仮想ノード生成ステップで、仮想ノードが生成され、該仮想ノードが起動すると、前記予め定めた障害状態であるとされた前記ノードの通信アドレスとして、該ノードの仮想ノードが生成された自コンピュータの通信アドレスに変更する旨の指示を含む通信アドレス切替通知を、前記通信装置により、前記他のノードに通知させて、該他のノードが前記予め定めた障害状態であるとされた該ノードにアクセスしようとしている場合に、該ノードの仮想ノードにアクセスさせる切替通知ステップと、
を前記コンピュータが実行することを特徴とするオバーレイネットワークの管理方法。
【請求項７】
データを保持していると共に、データへのアクセスのためのノードを示すルート情報及び該ルート情報に示されているノードの通信アドレスを含む構成情報を保持している複数のノードを備えているオーバーレイネットワークの管理装置において、
データが格納される記憶装置と、
前記複数のノードから、各ノードが保持している少なくとも前記構成情報を収集し、該構成情報を前記記憶装置に格納するノード情報管理手段と、
前記複数のノードのそれぞれに対する通信を定期的に試みて、各ノードからの応答に応じて、該複数のノードの状態を把握するノード状態監視手段と、
前記ノード状態監視手段で把握された前記複数のノードの状態のうち、いずれかのノードの状態が予め定めた障害状態である場合には、前記記憶装置に格納されている該ノードの前記構成情報を用いて、該ノードに関して、他のノードからアクセス可能な仮想ノードを生成し、該仮想ノードを起動させ、該ノードの通信アドレスとして、該ノードに関する仮想ノードが生成された自装置の通信アドレスに変更する旨の通信アドレス切替指示を、前記他のノードに通知し、該他のノードが前記予め定めた障害状態であるとされた該ノードにアクセスしようとしている場合に、該ノードに関する該仮想ノードにアクセスさせる仮想ノード生成手段と、
を備えていることを特徴とするオバーレイネットワークの管理装置。
【請求項８】
請求項７に記載のオバーレイネットワークの管理装置において、
前記ノード状態監視手段は、前記複数のノードのそれぞれに対して、定期的にノード状態確認メッセージを送出し、該ノード状態確認メッセージに対して、予め定めた第一の待ち時間以内に応答があった場合には、応答したノードは正常であると判断し、該第一の待ち時間を超え、且つ該第一の待ち時間より長い第二の待ち時間以内に応答があった場合には、応答したノードは障害危機であると判断し、該第二の待ち時間を超えても応答がない場合には、応答のないノードは障害であると判断し、
前記仮想ノード生成手段は、前記ノード状態確認メッセージに対しての応答が前記第一の待ち時間を超え、且つ前記第二の待ち時間以内であった場合には、応答したノードに関して前記仮想ノードを生成して、該仮想ノードを起動待ち状態にし、前記ノード状態確認メッセージに対しての応答が前記第二の待ち時間を越えてもない場合には、応答のないノードに関して仮想ノードが生成されていなければ該仮想ノードを生成し、該仮想ノード又は該ノードに関して既に起動待ち状態になっている仮想ノードを起動させる、
ことを特徴とするオーバレイネットワークの管理装置。
【請求項９】
請求項８に記載のオーバレイネットワークの管理装置において、
前記ノード状態監視手段は、前記ノード状態確認メッセージに対しての応答が前記第一の待ち時間以内にあった場合、応答したノードに関する仮想ノードが生成され、且つ該仮想ノードが起動しているか否かを判断し、
前記仮想ノード生成手段は、前記ノード状態監視手段により、前記ノード状態確認メッセージに対して前記第一の待ち時間以内に応答したノードに関する仮想ノードが生成され、且つ該仮想ノードが起動していると判断された場合、前記通信アドレス切替指示で切替えた通信アドレスを元の通信アドレスに戻す旨の第二の通信アドレス切替指示を前記他のノードに通知し、該仮想ノードを削除する、
ことを特徴とするオーバレイネットワークの管理装置。
【請求項１０】
請求項７から９のいずれか一項に記載のオーバレイネットワークの管理装置と、
前記複数のノードとを備え、
前記複数のノードは、それぞれ、前記管理装置からの保持情報の送信要求に対して、又は自ら定期的に、該ノードが保持している少なくとも前記構成情報を該管理装置へ送出し、該管理装置がノードの状態を把握するために、該管理装置からの前記定期的な通信に対して応答するオーバーレイネットワーク管理手段を有している、
ことを特徴とするオーバレイネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードを備えたオーバーレイネットワークの管理技術に関する。
【背景技術】
【０００２】
近年、通信ネットワークに接続された端末数が爆発的に増え、これら端末からの要求に応えるサーバの処理能力が不足することが度々生じている。そこで、各端末からの要求に応えるための処理をネットワーク全体に分散させる技術が採用されることが多くなってきている。
【０００３】
このような技術として、ＤＨＴ（Distributed Hash Table：分散ハッシュテーブル）を用いたオーバーレイネットワーク技術がある。オバーレイネットワークとは、既存のリンク上に仮想的なリンクを形成して構成されるネットワークである。このオバーレイネットワークでは、処理の中心となるサーバを設けず、サービス対象の情報からハッシュ関数を用いてハッシュ値を生成し、このハッシュ値と対応するノードに、サービス対象の情報を分散格納することで、処理能力の分散化を図っている。ここで、上記ＤＨＴとは、サービス対象の情報ＩＤとそのハッシュ値とを関係付けるテーブルのことである。
【０００４】
このオーバレイネットワークの形成技術に関しては、例えば、以下の特許文献１や非特許文献１に開示されている。
【０００５】
非特許文献１では、さらに、複数のノードのうちの一つのノードに障害が生じたときの対処方法についても開示されている。
【０００６】
この障害対処方法は、各ノードの各種情報を何らかの形で逐次保持しておき、あるノードに障害が生じたときに、他のノードに、障害のあったノードの機能を追加し、この他のノードに、障害のあったノードの機能を代替させるという方法である。各ノードの各種情報としては、サービス対象の情報の他、サービス対象の情報を検索するために問い合わせるノードを示す各ハッシュ値毎のルーティング情報や、このハッシュ値毎のルーティング情報に示されているノードの通信アドレスを含むノード管理情報等の構成情報がある。
【０００７】
この障害対処方法では、障害のあったノードの各種情報を他のノードに移植すると共に、障害のあったノードがオーバーレイネットワーク上に存在しないことになるため、各ノード毎に、新たなルート情報を作成する必要がある。
【０００８】
【特許文献１】特開2006−191489号公報
【非特許文献１】「分散ハッシュテーブルの軽量な負荷分散手法の検討」  社団法人  電子情報通信学会  信学技報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記障害対処方法では、前述したように、各ノード毎に新たなルーティング情報等を作成するために、各ノード相互間で多くの情報のやりとりする必要がある。このため、この方法では、ネットワーク上のオーバーヘッドが増大する上に、障害が発生してから、これの対処が終了するまでに時間がかかり、障害ノードに対応するノードが存在しない時間が比較的長くなってしまう。特に、この方法では、あるノードに何らかの一時的な通信障害が生じた場合でも、上記障害対処を実行すると、却って、障害ノードに対応するノードが存在しない時間が長くなってしまう。このことから、オーバネットネットワークのユーザからは、このオーバーレイネットワークの信頼性をより高めてほしいという要望が生じている。
【００１０】
そこで、本発明では、障害に対する対処が早く、オバーレイネットワークの信頼性を高めることができる技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記目的を達成するため、本発明では、
複数のノードが保持している、データと、このデータへのアクセスのためのノードを示すルート情報及び該ルート情報に示されているノードの通信アドレスを含む構成情報とのうち、少なくとも前記構成情報を収集し、該構成情報をコンピュータの記憶装置に格納する。さらに、前記複数のノードのそれぞれに対する通信を定期的に試みて、各ノードからの応答に応じて、該複数のノードの状態を把握する。
【００１２】
把握された前記複数のノードの状態のうち、いずれかのノードの状態が予め定めた障害状態である場合には、前記記憶装置に格納されている該ノードの前記構成情報を用いて、該ノードに関して、他のノードからアクセス可能な仮想ノードを前記コンピュータ上に生成し、該仮想ノードを起動させる。該仮想ノードが起動すると、前記予め定めた障害状態であるとされた前記ノードの通信アドレスとして、該ノードの仮想ノードが生成された前記コンピュータの通信アドレスへの切替える旨の通信アドレス切替指示を、前記他のノードに通知して、該他のノードが前記予め定めた障害状態であるとされた該ノードにアクセスしようとしている場合に、該ノードの仮想ノードにアクセスさせる。
【発明の効果】
【００１３】
本発明によれば、ある実ノードに予めさだめた障害が生じた場合、この実ノードの仮想ノードを生成し、これに伴って、各ノードの構成情報中の障害ノードの通信アドレスの切替処理のみで、障害に対処しているので、ネットワーク上のオーバーヘッドが増大を防ぎ、しかも、所定の障害への対処時間を極めて短時間化することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明に係るオーバーレイネットワークシステムの一実施形態について、図面を用いて説明する。
【００１５】
本実施形態のオーバーレイネットワークシステムは、図１に示すように、複数のノード２００ｂ〜２００ｅとこれら複数のノード２００ｂ〜２００ｅを含むオーバーレイネットワーク（以下、ＯＬＮ）１０を管理するＯＬＮ管理装置１００と、複数のノードが保持しているアプリケーション（以下、ＡＰとする）データを利用するユーザ端末３００と、を備えている。
【００１６】
複数のノード２００ｂ〜２００ｅは、ＬＡＮ２に接続されているアクセスポイント３と無線通信することができる。各ＬＡＮ２は、ＷＡＮ１に図示されていないルータを介して、ＷＡＮ１と接続されている。ＯＨＬ管理装置１００及びユーザ端末３００は、いずれも、図示されていないルータを介して、ＷＡＮ１と接続されている。
【００１７】
本実施形態では、ＷＡＮ１及び複数のＬＡＮ２，２，…上に、一つの仮想的なネットワーク、つまりオーバレイネットワーク１０を形成し、ＯＨＬ管理装置１００及び複数のノード２００ｂ〜２００ｅは、このオバーレイネットワーク１０上で、各ネットワークセグメントによる分断を意識せずに、互いに通信することができる。なお、ＯＬＮシステムを構成する各装置のうち、ユーザ端末３００は、オバーレイネットワーク１０上に存在するものではない。
【００１８】
各ノード２００ｂ〜２００ｅには、ＲＦＩＤ（Radio Frequency IDentification）タグ５と無線通信するＲＦＩＤリーダ２７０が接続されている。このＲＦＩＤタグ５は、ユーザが指定した人物が保持しているもので、このユーザのＩＤが記憶されている。ＲＦＩＤリーダ２７０は、このＲＦＩＤタグ５と無線通信して、このＲＦＩＤタグ５からユーザＩＤ情報を取得し、これを接続先のノードに送る。各ノード２００ｂ〜２００ｅは、ＲＦＩＤリーダ２７０から送られてきたユーザＩＤと、これに対するデータＩＤと、ＲＦＩＤタグ５を保持していた人物の位置、つまりユーザ座標値と、を相互に関連付けて、これらのデータを、後述のＡＰデータテーブルに格納する。データＩＤは、ユーザＩＤのハッシュ値であり、ユーザＩＤが定められた時点で定められる値である。また、ユーザ座標値は、ユーザＩＤを検知したＲＦＩＤリーダ２７０の設置箇所の座標値（緯度、経度）である。このため、各ノード２００ｂ〜２００ｅには、自ノードに接続されているＲＦＩＤリーダ２７０の設置箇所の座標値が予め記憶されており、この座標値が検知された人物の座標値、つまりユーザ座標値となる。
【００１９】
ＯＬＮ管理装置１００は、機能的に、ＯＬＮ１０を管理するＯＬＮ管理部１１１と、ユーザ端末３００からの要求に対処するユーザ要求対処部１１９と、ノード「０」１７０と、を有している。前述のユーザ座標値は、ユーザ毎に、このノード「０」１７０と、以上で説明した複数のノード２００ｂ〜２００ｅとに分散されて、格納されている。
【００２０】
各ノード２００ｂ〜２００ｅは、図４に示すように、各種演算処理を実行するＣＰＵ２１０と、このＣＰＵ２１０のワークエリアとなるメモリ２２０と、各種データが格納されている外部記憶装置２３０と、ネットワーク通信を行う通信装置２６１と、可搬型ディスク記憶媒体Ｄに対してデータの再生及び記録を行うディスク記憶再生装置２６２と、ＲＦＩＤリーダ２７０のインタフェースである入出力インタフェース２６３と、を備えている。なお、同図では、ノード「６」２００ｃの構成を示しているが、他のノード２００ｂ〜２００ｅも、ノード「６」２００ｃの構成と同じである。
【００２１】
ノード「６」２００ｃの外部記憶装置１３０には、ノード「６」の各種データが格納されるノード６管理データベース２５０ｃが設けられている。さらに、この外部記憶装置１３０には、ユーザＩＤとハッシュ値であるデータＩＤとの対応関係を示すハッシュテーブル２３４と、このノード「６」２００ｃに接続されているＲＦＩＤリーダ２７０からのデータを受け付けるＡＰプログラム２３１と、ＯＬＮ管理装置１００からノード「６」への要求等に応えるためのノード用ＯＬＮ管理プログラム２３７と、ノード「６」が他のノードと通信して、ノードとしての機能を実現するためのＯＬＮプログラム２３８と、が予め格納されている。
【００２２】
ハッシュテーブル２３４は、図５に示すように、ユーザＩＤが格納されるユーザＩＤ領域２３４ｓと、ハッシュ値であるデータＩＤが格納されるデータＩＤ領域２３４ｔと、を有している。このハッシュテーブル２３４は、ユーザの加入又は脱退により更新される。
【００２３】
ノード６管理データベース１５０ａには、図４に示すように、予め定められたユーザＩＤのユーザ座標が格納されるＡＰデータテーブル２５１ｃと、ノード「６」２００ｃが管理するデータのＩＤや、ノード「６」２００ｃの通信相手等になる関連ノードの通信アドレスが格納されている管理テーブル２５２ｃと、ノード「６」２００ｃがアプリケーションデータであるユーザ座標を検索するために問い合わせるノードを示すルーティングテーブル２５３ｃと、が設けられている。
【００２４】
ＡＰデータテーブル２５１ｃは、図６に示すように、ノード「６」２００ｃが管理するデータのＩＤ（ハッシュ値）が格納されているデータＩＤ領域２５１ｓと、データＩＤに対応するユーザＩＤが格納されているユーザＩＤ領域２５１ｔと、当該ユーザのＩＤが検知された時刻が格納される時刻領域２５１ｕと、当該ユーザの座標が格納されるユーザ座標領域２５１ｖと、を有している。なお、他のノード１７０，２００ｂ，２００ｄ，２００ｅも、それぞれ、同様のＡＰデータテーブル１５１ａ，２５１ｂ，２５１ｄ，２５１ｅを備えている。
【００２５】
ルーティングテーブル２５３ｃは、図７に示すように、適用データＩＤが格納されている適用データＩＤ領域２５３ｓと、適用データＩＤのデータを検索等のために問い合わせるノード名が格納されている次ノード名領域２５３ｔと、を有している。このルーティングテーブル２５３ｃは、自ノードで管理していないデータの検索問合せがあった場合に、いずれのノードに検索問合せをすればよいかを示すものであるため、適用データＩＤ領域２５３ｃには、自ノードで管理していないデータのＩＤが格納される。例えば、ノード「６」２００ｃでは、後述するように、データＩＤが「３」「４」「５」「６」のデータを管理するので、これらのデータＩＤを除くデータＩＤが適用データＩＤ領域２５３ｃに格納される。また、同図中のルーティングテーブル２５３ｃでは、適用データＩＤ領域２５３ｃに「７〜９」が格納され、対応する次ノード領域２５３ｔに「９」が格納されているが、これは、データＩＤが「７」「８」「９」のいずれかに関するデータの検索等の問合せがあった場合、ノード「９」に問い合わせることを示している。なお、他のノード１７０，２００ｂ，２００ｄ，２００ｅも、それぞれ、同様のルーティングＴＬ１５３ａ，２５３ｂ，２５３ｄ，２５３ｅを備えている。
【００２６】
管理テーブル２５２ｃは、図８に示すように、自ノードが管理するデータのＩＤが格納されている管理データのデータＩＤ領域２５２ｓと、ルーティングテーブル２５３ｃで定められている次ノードの通信アドレスが格納されている次ノードアドレス領域２５２ｔと、論理上で自ノードに対して前側に隣接している隣接ノードの通信アドレスが格納されている前隣接ノードアドレス領域２５２ｕと、論理上で自ノードに対して後側に隣接している隣接ノードの通信アドレスが格納されている後隣接ノードアドレス領域２５２ｖと、を有している。同図中の管理テーブル２５２ｃでは、管理データのデータＩＤ領域２５２ｓに、「３，４，５，６」が格納されているが、これは、自ノード「６」がデータＩＤ「３」「４」「５」「６」のデータを管理していることを示している。なお、他のノード１７０，２００ｂ，２００ｄ，２００ｅも、それぞれ、同様の管理ＴＬ１５２ａ，２５２ｂ，２５２ｄ，２５２ｅを備えている。
【００２７】
ノード「６」２００ｃのＣＰＵ２１０は、機能的に、図４に示すように、このノード「６」２００ｃに接続されているＲＦＩＤリーダ２７０からのデータを受け付けるＡＰデータ入出力制御部２１１と、ＯＬＮ管理装置１００から自ノード「６」への要求等に応えるノード用ＯＬＮ管理部２１７と、このノード「６」200ｃが他のノードと通信して、ノードとしての機能を実現するＯＬＮ制御部２１８と、を有している。以上のＡＰデータ入出力制御部２１１、ノード用ＯＬＮ管理部２１７、ＯＬＮ制御部２１８は、それぞれ、ＣＰＵ２１０が、外部記憶装置２３０に格納されているＡＰプログラム２３１、ノード用ＯＬＮ管理プログラム２３７、ＯＬＮプログラム２３８を実行することで機能する。
【００２８】
ＯＬＮ管理装置１００は、図２に示すように、各種演算処理を実行するＣＰＵ１１０と、このＣＰＵ１１０のワークエリアとなるメモリ１２０と、各種データが格納されている外部記憶装置１３０と、ネットワーク通信を行う通信装置１６１と、キーボードやディスプレイ等の入出力装置１６４と、そのインタフェース１６３と、可搬型ディスク記憶媒体Ｄに対してデータの再生及び記録を行うディスク記憶再生装置１６２と、を備えている。
【００２９】
外部記憶装置１３０には、各ノード１７０，２００ｂ〜２００ｅのデータ等を管理するためのＯＬＮ管理データベース１４０と、前述のノード「０」１７０の構成要素としてのノード０管理データベース１５０ａとが設けられている。さらに、この外部記憶装置１３０には、前述のＯＬＮ管理部１１１の機能を実現するためのＯＬＮ管理プログラム１３１と、ＯＬＮ管理部１１１からノード「０」１７０への要求等に応えるためのノード用ＯＬＮ管理プログラム１３７と、ノード「０」１７０が他のノード２００ｂ〜２００ｅと通信して、ノードとしての機能を実現するためのＯＬＮプログラム１３８と、ユーザ端末３００からの要求に対処するためのユーザ要求対処プログラム１３９と、が予め格納されている。
【００３０】
ＯＬＮ管理データベース１４０には、各ノード１７０，２００ｂ〜２００ｅの状態が格納されるノード状態テーブル１４１と、ＯＬＮ管理部１１１が各種制御を行う際の制御ポリシーが格納されている制御ポリシーテーブル１４２と、ハッシュテーブル１４４と、各ノード１７０，２００ｂ〜２００ｅが保持しているノード管理データベースのコピーであるノード管理データベース１５０ａｃ，２５０ｂｃ，２５０ｃｃ，２５０ｄｃ，２５０ｅｃとが設けられている。
【００３１】
ＯＬＮ管理データベース１４０中のノード状態テーブル１４１は、図９に示すように、ノード名が格納されているノード名領域１４１ｓと、当該ノードの通信アドレスが格納されているノードアドレス領域１４１ｔと、当該ノードの状態が格納される状態領域１４１ｕと、を有している。この状態領域１４１には、「正常」「障害危機」「障害」のいずれかが格納される。
【００３２】
ＯＬＮ管理データベース１４０中の制御ポリシーテーブル１４２は、図９に示すように、ポリシー番号が格納されているポリシーNo領域１４２ｓと、制御ポリシーの内容が格納されている制御ポリシー内容領域１４２ｔと、該当制御ポリシー内容に対して定めた値が格納される値領域１４２ｕと、を有している。この制御ポリシーテーブル１４２の各領域のうち、ポリシーNo領域１４２ｓ及び制御ポリシー内容領域１４２ｔには、予めデータが格納されている。また、この制御ポリシーテーブル１４２の値領域１４２ｕには、制御ポリシー設定部１１５により、入出力装置１６４又はディスク記憶再生装置１６２から取得された値が格納される。なお、この制御ポリシーテーブル１４２の具体的な制御ポリシー内容及びその値に関しては、後述する。
【００３３】
ハッシュテーブル１４４は、図５を用いて説明したハッシュテーブル２３４と同一である。
【００３４】
ノード０管理データベース１５０ａには、図２に示すように、他のノード２００ｂ〜２００ｅのノード管理データベース２５０ｂ〜２５０ｅと同様に、ＡＰデータテーブル１５１ａと、管理テーブル１５２ａと、ルーティングテーブル１５３ａと、が設けられている。
【００３５】
ＯＬＮ管理装置１００のＣＰＵ１１０は、機能的に、前述のＯＬＮ管理部１１１と、ＯＬＮ管理部１１１からノード「０」１７０（図１に示す）への要求等に応えるノード用ＯＬＮ管理部１１７と、ノード「０」１７０が他のノードと通信して、ノードとしての機能を実現するＯＬＮ制御部１１８と、ユーザ端末３００からの要求に対処するユーザ要求対処部１１９と、を有している。さらに、ＯＬＮ管理部１１１は、各ノード１７０，２００ｂ〜２００ｅ毎の管理データを収集し、これをＯＬＮ管理データベース１４０の該当位置に格納するＯＬＮ構成情報管理部１１２と、各ノード１７０，２００ｂ〜２００ｅと定期的に通信して、各ノードの状態を監視するノード状態監視部１１３と、いずれかのノードに障害が発生したときにこのノードの仮想ノードを生成する仮想ノード生成部１１４と、ＯＬＮ管理部１１１が各種制御を行う際の制御ポリシーを外部から受け付けて、これを制御ポリシーテーブル１４２に格納する制御ポリシー設定部１１５と、以上のＯＬＮ管理部１１１の各機能部がオーバレイネットワーク１０を介して他のノード等と通信するためのＯＬＮ通信制御部１１６と、を有している。以上の各機能部のうち、ＯＬＮ管理部１１１は、外部記憶装置１３０に格納されているＯＬＮプログラム１３１をＣＰＵ１１０が実行することで機能する。また、ノード用ＯＬＮ管理部１１７、ＯＬＮ制御部１１８、ユーザ要求対処部１１９は、それぞれ、外部記憶装置１３０に格納されているノード用ＯＬＮ管理プログラム１３７、ＯＬＮプログラム１３８、ユーザ要求対処プログラム１３９を実行することで機能する。
【００３６】
なお、図１に示すノード「０」１７０は、ノード用ＯＬＮ管理部１１７と、ＯＬＮ制御部１１８と、ノード０管理データベース１５０ａと、ハッシュテーブル１４４とを有して構成される。
【００３７】
次に、図１１に示すシーケンス図に従って、各ノードが正常な場合のオーバーレイネットワークシステムの動作について説明する。なお、ここでは、ノード「９」２００ｄに接続されているＲＦＩＤリーダ２７０がユーザＩＤ「yamada」を検知し、このユーザＩＤ「yamada」のユーザがユーザ端末３００から、位置情報の提示要求をした場合の動作について説明する。
【００３８】
ユーザＩＤ「yamada」が格納されているＲＦＩＤタグ５を保持している人物が、ノード「９」２００ｄに接続されているＲＦＩＤリーダ２７０の傍を通ると、このＲＦＩＤリーダ２７０は、この人物が保持しているＲＦＩＤタグ５からユーザＩＤ「yamada」を取得し、このユーザＩＤ「yamada」をノード「９」２００ｄへ送る。これにより、ノード「９」２００ｄは、ユーザＩＤ「yamada」（データＩＤ「４」）を検知することになる（Ｓ１１）
ノード「９」２００ｄのＡＰデータ入出力部２１１は、このユーザＩＤ「yamada」を受け取ると、このユーザＩＤ「yamada」と共に、現在の時刻、ＲＦＩＤリーダ２７０の座標値（緯度、経度）をＯＬＮ制御部２１８に渡す。ＯＬＮ制御部２１８は、このユーザＩＤ「yamada」を受け取ると、ハッシュテーブル２３４（図５）を参照して、ユーザＩＤ「yamada」に対するデータＩＤ（ハッシュ値）「４」を取得する。次に、ＯＬＮ制御部２１８は、自ノード「９」２００ｄの管理テーブル２５２ｄ（図８）の管理データのデータＩＤ領域２５２ｓを参照して、このデータＩＤ「４」が自ノード９で管理するデータであるか否かを判断する。仮に、このデータＩＤ「４」が自ノード９で管理するデータである場合には、ＡＰデータテーブル２５１ｄ（図６）の検知時刻領域２５１ｕ中の対応領域に現在の時刻を検知時刻として格納すると共に、ユーザ座標領域２５１ｖ中の対応領域に、ＲＦＩＤリーダ２７０の座標値（緯度、経度）をユーザ座標値として格納する。
【００３９】
しかしながら、この場合、管理テーブル２５２ｄ（図８）の管理データのデータＩＤ領域２５２ｓには、このデータＩＤ「４」がないので、このデータＩＤ「４」は自ノード９で管理するデータではない。そこで、ＯＬＮ制御部２１８は、自ノード「９」２００ｄのルーティングテーブル２５３ｄ（図７）を参照して、このデータＩＤ「４」に関するデータの送出先である次ノード名「２」を取得する。続いて、自ノード「９」２００ｄの管理テーブル２５２ｄの次ノードアドレス領域２５２ｔから、次ノード名「２」の通信アドレス「192.168.10.2」を取得する。そして、ＯＬＮ制御部２１８は、この通信アドレス「192.168.10.2」が示すノード２へ、このデータＩＤ「４」と、検知時刻と、ＲＦＩＤリーダ２７０の座標値（緯度、経度）、つまりユーザ座標値とを含むＡＰデータの登録メッセージを送信する（Ｓ１２）。
【００４０】
ノード「２」２００ｂのＯＬＮ制御部２１８は、ノード「９」２００ｄからＡＰデータの登録メッセージを受け付けると、自ノード「２」２００ｂの管理テーブル２５２ｂ（図８）の管理データのデータＩＤ領域２５２ｓを参照して、このデータＩＤ「４」が自ノード９で管理するデータであるか否かを判断する。この場合も、管理テーブル２５２ｂ（図８）の管理データのデータＩＤ領域２５２ｓには、このデータＩＤ「４」がないので、このデータＩＤ「４」のＡＰデータは自ノード２で管理するデータではないと判断する。次に、ＯＬＮ制御部２１８は、自ノード「２」２００ｂのルーティングテーブル２５３ｂ（図７）を参照して、このデータＩＤ「４」に関するデータの送出先である次ノード名「６」を取得すると共に、自ノード「２」２００ｂの管理テーブル２５２ｂの次ノードアドレス領域２５２ｔから、次ノード名「６」の通信アドレス「192.168.10.6」を取得する。そして、ＯＬＮ制御部２１８は、この通信アドレス「192.168.10.6」が示すノード６へ、このＡＰデータの登録メッセージを送信する（Ｓ１３）。
【００４１】
ノード「６」２００ｃのＯＬＮ制御部２１８は、ノード「２」２００ｂからＡＰデータの登録メッセージを受け付けると、自ノード「６」２００ｃの管理テーブル２５２ｃ（図８）の管理データのデータＩＤ領域２５２ｓを参照して、このデータＩＤ「４」が自ノード９で管理するデータであるか否かを判断する。この場合、管理テーブル２５２ｃ（図８）の管理データのデータＩＤ領域２５２ｓには、このデータＩＤ「４」があるので、このデータＩＤ「４」のＡＰデータは自ノード２で管理するデータであると判断する。そして、ＯＬＮ制御部２１８は、自ノード「６」２００ｃのＡＰデータテーブル２５１ｃ（図６）中のデータＩＤ「４」のレコードに、このＡＰデータに含まれている現在の時刻及びユーザ座標値を登録する（Ｓ１４）。
【００４２】
一方、このデータＩＤ「４」に対応するユーザＩＤ「yamada」のユーザが、自ユーザＩＤ「yamada」の位置情報を取得したい場合には、ユーザ端末３００に自ユーザＩＤ「yamada」を入力し（Ｓ２１）、このユーザＩＤ「yamada」の位置情報の提示要求メッセージをＯＬＮ管理装置１００へ送信する（Ｓ２２）。
【００４３】
ＯＬＮ管理装置１００のユーザ要求対処部１１９は、この位置情報の提示要求メッセージを受け取ると、ノード「０」１７０の構成要素であるＯＬＮ制御部１１８に、このメッセージを渡す（Ｓ２３）。ノード「０」１７０のＯＬＮ制御部１１８は、まず、ハッシュテーブル１４４（図５）を参照して、このメッセージに含まれているユーザＩＤ「yamada」に対するデータＩＤ（ハッシュ値）「４」を取得する。次に、ＯＬＮ制御部１１８は、自ノード「０」１７０の管理テーブル１５２ａ（図８）の管理データのデータＩＤ領域２５２ｓを参照して、このデータＩＤ「４」のＡＰデータは自ノード０で管理しているデータであるか否かを判断する。この場合、管理テーブル１５２ａ（図８）の管理データのデータＩＤ領域２５２ｓには、このデータＩＤ「４」がないので、このデータＩＤ「４」のＡＰデータは自ノード０で管理していないと判断する。次に、ＯＬＮ制御部１１８は、自ノード「０」１７０のルーティングテーブル１５３ａ（図７）を参照して、このデータＩＤ「４」に関するＡＰデータの検索先である次ノード名「６」を取得すると共に、自ノード「０」１７０の管理テーブル１５２ａの次ノードアドレス領域２５２ｔから、次ノード名「６」の通信アドレス「192.168.10.6」を取得する。そして、ＯＬＮ制御部１１８は、この通信アドレス「192.168.10.6」が示すノード６へ、このデータＩＤ「４」の検索要求メッセージを送信する（Ｓ２４）。
【００４４】
ノード「６」２００ｃのＯＬＮ制御部２１８は、ノード「０」１７０からデータＩＤ「４」の検索要求メッセージを受け付けると、自ノード「６」２００ｃの管理テーブル２５２ｃ（図８）の管理データのデータＩＤ領域２５２ｓを参照して、このデータＩＤ「４」は自ノード９で管理しているデータであるか否かを判断する。この場合、管理テーブル２５２ｃ（図８）の管理データのデータＩＤ領域２５２ｓには、このデータＩＤ「４」があるので、このデータＩＤ「４」のＡＰデータは自ノード２で管理しているデータであると判断する。そして、ＯＬＮ制御部２１８は、自ノード「６」２００ｃのＡＰデータテーブル２５１ｃ（図６）中のデータＩＤ「４」のレコードから、検知時刻及びユーザ座標値を取得する。そして、この検知時刻及びユーザ座標値とデータＩＤ「４」とを含むＡＰデータを位置情報として、検索要求元のノード「０」１７０へ送る（Ｓ２５）。
【００４５】
ノード「０」１７０がこのＡＰデータを受け取ると、このＡＰデータをユーザ要求対処部１１９に渡す（Ｓ２６）。ユーザ要求対処部１１９は、このＡＰデータを受け取ると、このＡＰデータに含まれている検知時刻及びユーザ座標値をユーザ端末３００へ送る（Ｓ２７）。なお、ユーザ座標値は、経度、緯度で表されているものであるため、ユーザがこのユーザ座標値を見ても、このユーザ座標値が示す位置を把握しにくいため、このユーザ座標値が示す地点をマークした地図を、ユーザ端末300へ送るようにしてもよい。
【００４６】
次に、図１２に示すシーケンス図に従って、ノード「６」２００ｃに障害が発生した場合のオーバーレイネットワークシステムの動作について説明する。なお、ここでも、ノード「９」２００ｄに接続されているＲＦＩＤリーダ２７０がユーザＩＤ「yamada」を検知し、このユーザＩＤ「yamada」のユーザがユーザ端末３００から、位置情報の提示要求をした場合の動作について説明する。
【００４７】
例えば、ノード「６」２００ｃとアクセスポイント３との間に障害物が入り込む、両者の間の電波に対する干渉波が発生する等の無線障害が生じた場合や、このアクセスポイント３が接続しているＬＡＮ２の通信トラフィックが非常に高まってしまった場合等で、ノード「６」２００ｃが他のノード１７０，２００ａ，２００ｂ，２００ｄ，２００ｅとの通信に障害が発生したとする（Ｓ１）。
【００４８】
ＯＬＮ管理装置１００のＯＬＮ管理部１１１は、この障害を検知すると（Ｓ２）、ＯＬＮ管理装置１００内に仮想ノード「６」１９０を生成し、これを起動させる（Ｓ３）。なお、ノード「６」２００ｃに障害検知に関しては、後ほど詳細に説明するが、ＯＬＮ管理部１１１のノード状態監視部１１３が、定期的に各ノードに状態確認メッセージを送出し、このメッセージの応答に応じて障害を検知する。また、仮想ノード「６」１９０は、ＯＬＮ管理部の仮想ノード生成部１１４が生成する。ＯＬＮ管理部１１１のＯＬＮ構成情報管理部１１５は、後述するように、各ノードから定期的に各ノードが保持しているノード管理データベースを収集しており、これをＯＬＮ管理データベース１４０（図２）に格納している。仮想ノード生成部１１４は、このＯＬＮ管理データベース１４０中のノード６管理データベース２５０ｃｃを用いて、仮想ノード「６」１９０を生成する。
【００４９】
仮想ノード「６」１９０は、図３に示すように、ＯＬＮ管理装置１００のＣＰＵとメモリとの複合体１８０上に生成される。この仮想ノード「６」１９０は、実ノード「６」２００ｃと同様に、ノード用ＯＬＮ管理部１９７とＯＬＮ制御部１９８とノード６管理データベース１９５とを有している。ノード６管理データベース１９５は、実ノード「６」２００ｃのノード６管理データベース２５０ｃと同様に、ＡＰデータテーブル１９１と管理テーブル１９２とルーティングテーブル１９３とを有している。また、この仮想ノード「６」１９０は、ＲＦＩＤリーダ２７０が接続されておらず、この関係で、実ノード「６」２００ｃのＡＰデータ入出力制御部２１１に対応するものを有していない。したがって、仮想ノード「６」１９０は、ＡＰデータやノード構成情報の管理機能を有しているものの、ユーザＩＤの検知機能を有していない。
【００５０】
ＯＬＮ管理装置１００のＯＬＮ管理部１１１は、次に、実ノード「６」を除く他の実ノードに対して、ノード「６」の新たな通信アドレスへの切替指示メッセージを送出する（Ｓ４）。この切替指示メッセージ中に含まれるノード６の新たな通信アドレスは、仮想ノード「６」１９０が作成されているＯＬＮ管理装置１００の通信アドレス「192.168.10.100」である。なお、この通信アドレス「192.168.10.100」は、ノード「０」１７０の通信アドレスでもある。
【００５１】
実ノード「６」２００ｃ及び仮想ノード「６」１９０を除く各ノード１７０，２００ｂ，２００ｄ，２００ｅのノード用ＯＬＮ管理部２１７は、この切替指示メッセージを受け取ると、自ノード管理データベース中の管理テーブル１５２ａ，２５２ｂ，２５２ｄ，２５２ｅ中で、実ノード「６」の通信アドレスが格納されている部分が存在する場合には、この部分をノード６の新たな通信アドレス「192.168.10.100」に切り替える（Ｓ５）。
【００５２】
以上で、実ノード「６」２００ｃ及び仮想ノード「６」１９０を除く各ノード１７０，２００ｂ，２００ｄ，２００ｅは、実ノード「６」２００ｃに障害が発生したこと、及びこの障害により仮想ノード「６」１７０が生成されたことを認識することなく、仮想ノード「６」１９０を実ノード「６」２００ｃとして扱うことになる。
【００５３】
ところで、「背景技術」の欄で説明したように、従来、あるノードに所定の障害が生じた場合、このノードの機能を他の健全なノードに移植し、障害のあったノードをオーバーレイネットワーク上にから離脱させている。このため、各ノードは、ルーティングテーブルや管理テーブル等を更新する必要が生じて、各ノード相互間で多くの情報のやりとりすることになる。この結果、従来の技術では、ネットワーク上のオーバーヘッドが増大する上に、所定の障害への対処時間の長時間化してしまう。
【００５４】
これに対して、本実施形態では、あるノード「６」２００ｃに所定の障害が生じた場合、このノード「６」２００ｃの仮想ノード「６」１９０を生成し、これに伴って、各ノードの管理テーブル中の障害ノード「６」の通信アドレスの切替処理のみで、障害に対処しているので、ネットワーク上のオーバーヘッドが増大を防ぎ、しかも、所定の障害への対処時間を極めて短時間化することができる。
【００５５】
以上の状態で、ユーザＩＤ「yamada」が格納されているＲＦＩＤタグ５を保持している人物が、ノード「９」２００ｄに接続されているＲＦＩＤリーダ２７０の傍を通ると、このＲＦＩＤリーダ２７０は、この人物が保持しているＲＦＩＤタグ５からユーザＩＤ「yamada」を取得し、このユーザＩＤ「yamada」をノード「９」２００ｄへ送る。これにより、ノード「９」２００ｄは、ユーザＩＤ「yamada」（データＩＤ「4」）を検知することになる（Ｓ１１）
ノード「９」２００ｄは、図１１のステップ１２の処理と同様に、データＩＤ「４」と、検知時刻と、ユーザ座標値とを含むＡＰデータの登録メッセージをノード「２」へ送信する（Ｓ１２）。
【００５６】
ノード「２」２００ｂは、この登録メッセージを受け付けると、図１１のステップ１３の処理と同様に、この登録メッセージをノード６へ送信する（Ｓ１３ａ）。但し、この場合、このデータＩＤ「４」に関するデータの送出先である次ノード名「６」の通信アドレスが実ノード「６」２００ｃの通信アドレス「192.168.10.6」から、仮想ノード「６」１９０の通信アドレス「192.168.10.100」へ切り替わっているため、データＩＤ「４」に関するＡＰデータの登録メッセージは、仮想ノード「６」１９０へ送信される。
【００５７】
仮想ノード「６」１９０のＯＬＮ制御部１９８は、ノード「２」２００ｂからＡＰデータの登録メッセージを受け付けると、自ノード「６」１９０のＡＰデータテーブル１９１中のデータＩＤ「４」のレコードに、このＡＰデータに含まれている現在の時刻及びユーザ座標値を登録する（Ｓ１４ａ）。
【００５８】
一方、このデータＩＤ「４」に対応するユーザＩＤ「yamada」のユーザが、自ユーザＩＤ「yamada」の位置情報を取得したい場合には、図１１のステップ２１及びステップ２２と同様に、ユーザ端末３００に自ユーザＩＤ「yamada」を入力し（Ｓ２１）、このユーザＩＤ「yamada」の位置情報の提示要求メッセージをＯＬＮ管理装置１００へ送信する（Ｓ２２）。
【００５９】
ＯＬＮ管理装置１００のユーザ要求対処部１１９は、この位置情報の提示要求メッセージを受け取ると、ノード「０」１７０の構成要素であるＯＬＮ制御部１１８に、このメッセージを渡す（Ｓ２３）。ノード「０」１７０のＯＬＮ制御部１１８は、図１１のステップ２４と同様に、ユーザＩＤ「yamada」に対するデータＩＤ「４」の検索要求メッセージをノード６へ送信する（Ｓ２４ａ）。但し、この場合も、このデータＩＤ「４」に関するデータの送出先である次ノード名「６」の通信アドレスが実ノード「６」２００ｃの通信アドレス「192.168.10.6」から、仮想ノード「６」１９０の通信アドレス「192.168.10.100」へ切り替わっているため、データＩＤ「４」の検索要求メッセージは、仮想ノード「６」１７０へ送信される。
【００６０】
仮想ノード「６」１９０のＯＬＮ制御部１９８は、ノード「０」１７０からデータＩＤ「４」の検索要求メッセージを受け付けると、図１１のステップ２５と同様に、自仮想ノード「６」１９０のＡＰデータテーブル１９１中のデータＩＤ「４」のレコードから、検知時刻及びユーザ座標値を取得し、これらを含むＡＰデータを位置情報として、検索要求元のノード「０」１７０へ送る（Ｓ２５ａ）。
【００６１】
以下、図１１のステップ２６，２７と同様の処理が実行されて、対象者の検知時刻及びユーザ座標値がユーザ端末３００へ送られる。
【００６２】
次に、図１３及び図１４に示すフローチャートに従って、ＯＬＮ管理装置１００のＯＬＮ管理部１１１の動作について説明する。
【００６３】
ＯＬＮ管理部１１１のノード状態監視部１１３は、先に状態確認メッセージを各ノードに送出してから、予め定めた状態確認インターバルを経過したか否かを判断する（Ｓ３１）。この状態確認インターバルは、図１０に示す制御ポリシーテーブル１４２のポリシーNo１に規定されており、ここでは６０秒である。ノード状態監視部１１３は、状態確認インターバルを経過したと判断すると、状態確認メッセージを各ノードに送出する（Ｓ３２）。なお、ここで、状態確認メッセージを送出するノードは、実ノードのみで、仮想ノードは含まれない。また、図１０に示す制御ポリシーテーブル１４２のポリシーNo６に規定されているように、ノード管理データの更新インターバルも、状態確認インターバルと同じ６０秒であり、ここでは、この状態確認メッセージが、各ノードに対するノード管理データの送信要求も兼ねている。
【００６４】
各ノードは、この状態確認メッセージを受信すると、ノードのノード用ＯＬＮ管理部２１７が、自ノードのノード管理データベースに格納されている全データを取得し、この全データを含めた応答メッセージをＯＬＮ管理装置１００へ返す。
【００６５】
ＯＬＮ管理装置１００のノード状態監視部１１３は、状態確認メッセージを送出すると、このメッセージに対して、第一の待ち時間以内にノードからの応答があったか否かを判断する（Ｓ３３）。この第一の待ち時間は、図１０に示す制御ポリシーテーブル１４２のポリシーNo２に規定されており、ここでは３０ｍｓである。第一の待ち時間以内にノードからの応答があった場合、この応答には、前述したように、応答ノードのノード管理データ、つまり応答ノードが管理しているノード管理データベース内のデータが含まれているので、ＯＬＮ管理部１１１のＯＬＮ構成情報管理部１１２は、このノード管理データを該当ノードのノード管理データベースに格納する（Ｓ３４）。例えば、ノード０，２，６，９，１３のそれぞれから応答があった場合には、これらの応答に含まれているノード管理データを、該当ノード０，２，６，９，１３のノード管理データベース１５０ａｃ，２５０ｂｃ，２５０ｃｃ，２５０ｄｃ，２５０ｅｃに格納する。なお、ここでは、応答中に、自ノードが管理しているノード管理データベース内の全てのデータが含まれているが、ノード管理データベース内のデータのうち、ＡＰデータテーブルのデータは含めなくてもよい。但し、ここでは、図１０に示す制御ポリシーテーブル１４２のポリシーNo５に規定されているように、ＡＰデータの保持することを選択しているので、このＡＰデータが応答中に含まれている。また、ここでは、ＯＬＮ管理装置１００内に生成されているノード「０」１７０が管理しているノード管理データベース１５０ａのデータも収集しているが、このデータは収集しなくてもよい。
【００６６】
次に、ノード状態監視部１１３が、図９に示すノード状態テーブル１４１を参照して、応答のあったノードに関する仮想ノードが生成されているか否かを判断する（Ｓ３５）。具体的には、このノード状態テーブル１４１の状態領域１４１ｕに「正常」が格納されているノードに関しては仮想ノードが生成されていないと判断し、状態領域１４１ｕに「障害」又は「障害危機」が格納されているノードに関しては仮想ノードが生成されていると判断する。
【００６７】
ノード状態監視部１１３は、ステップ３５で、応答のあったノードに関する仮想ノードが生成されていると判断すると、図９に示すノード状態テーブル１４１を参照して、この仮想ノードは起動中か否かを判断する（Ｓ３６）。具体的には、このノード状態テーブル１４１の状態領域１４１ｕに「障害」が格納されているノードに関しては仮想ノードが生成されており且つ起動中であると判断し、状態領域１４１ｕに「障害危機」が格納されているノードに関しては仮想ノードが生成されているものの、起動待ち状態、つまり起動中でないと判断する。
【００６８】
応答のあったノードに関する仮想ノードが起動中である場合には（Ｓ３６でＹＥＳ）、ノード状態監視部１１３は、その旨を仮想ノード生成部１１４に通知する。仮想ノード生成部１１４は、この通知を受けると、このノードの通信アドレスを仮想ノードの通信アドレスから実ノードの通信アドレスへ切り替える旨の切替指示メッセージを、各実ノードに送出する（Ｓ３７）。この切替メッセージを受けた各実ノードは、通信アドレス切替の対象になっているノードの通信アドレスを新たな通信アドレスに切り替える。
【００６９】
ステップ３６で、仮想ノードが生成されているものの、この仮想ノードは起動中でないと判断された場合、及び、ステップ３７で、ノードの通信アドレスが仮想ノードの通信アドレスから実ノードの通信アドレスへの切替指示メッセージが送出された場合、仮想ノード生成部１１４は、この仮想ノードを削除する（Ｓ３８）。
【００７０】
例えば、図１２を用いて前述したように、実ノード「６」２００ｃに障害が発生して（Ｓ１）、仮想ノード生成部１１４が仮想ノード「６」１９０を生成した後に、実ノード「６」２００ｃに対する状態確認メッセージに対して、正常な応答があると（Ｓ３３でＹＥＳ）、ノード「６」の通信アドレスを仮想ノード「６」の通信アドレスから実ノード「６」の通信アドレスへの切替指示メッセージを送出した後（Ｓ３７）、仮想ノード「６」が削除される（Ｓ３８）。一方、他のノードは、以降、再び、実ノード６へアクセスするようになる。
【００７１】
ノード状態監視部１１３は、ステップ３５で仮想ノードが生成されていないと判断した場合、及び、ステップ３８で仮想ノードが削除された場合、図９に示すノード状態テーブル１４１中で、応答のあったノードの状態領域１４１ｕを「正常」に設定して（Ｓ３９）、処理を終了する。
【００７２】
ノード状態監視部１１３は、ステップ３３で、第一の待ち時間以内に応答がなかったと判断した場合、さらに、第二の待ち時間以内に応答があったか否かを判断する（Ｓ４１）。この第二の待ち時間は、図１０に示す制御ポリシーテーブル１４２のポリシーNo３に規定されており、ここでは３秒である。第二の待ち時間以内にノードからの応答があった場合、ＯＬＮ管理部１１１のＯＬＮ構成情報管理部１１２は、この応答に含まれているノード管理データを該当ノードのノード管理データベースに格納する（Ｓ４２）。
【００７３】
次に、ノード状態監視部１１３は、前述のステップ３５と同様に、図９に示すノード状態テーブル１４１を参照して、応答のあったノードに関する仮想ノードが生成されているか否かを判断する（Ｓ４３）。ノード状態監視部１１３は、応答のあったノードに関する仮想ノードが生成されていないと判断すると、その旨を仮想ノード生成部１１４に通知し、この仮想ノード生成部１１４に、このノードの仮想ノードを生成させる（Ｓ４４）。但し、この仮想ノードは起動させず、起動待ち状態にしておく。
【００７４】
ノード状態監視部１１３は、ステップ４３で仮想ノードが生成されていると判断した場合、及び、ステップ４４で仮想ノードが生成された場合、図９に示すノード状態テーブル１４１中で、応答のあったノードの状態領域１４１ｕを「障害危機」に設定して（Ｓ４５）、処理を終了する。なお、この障害危機も、障害の一種である。
【００７５】
ノード状態監視部１１３は、ステップ４１で、第二の待ち時間以内に応答がなかったと判断すると、図９に示すノード状態テーブル１４１を参照して、応答のないノードに関する仮想ノードが生成されているか否かを判断する（Ｓ５１（図１４））。ノード状態監視部１１３は、応答のないノードに関する仮想ノードが生成されていないと判断すると、その旨を仮想ノード生成部１１４に通知し、この仮想ノード生成部１１４に、このノードの仮想ノードを生成させる（Ｓ５２）。
【００７６】
ノード状態監視部１１３は、ステップ５１で仮想ノードが生成されていると判断した場合、及び、ステップ５２で仮想ノードが生成された場合、図９に示すノード状態テーブル１４１を参照して、応答のないノードに関する仮想ノードが起動中であるか否かを判断する（Ｓ５３）。具体的には、応答のないノードに関して、ノード状態テーブル１４１の状態領域１４１ｕに「障害」が格納されている場合には、起動中であると判断し、「障害危機」が格納されている場合に、起動待ち状態、つまり起動中でないと判断する。
【００７７】
ノード状態監視部１１３が、ステップ５３で、応答のないノードに関する仮想ノードが起動中でないと判断すると、仮想ノード生成部１１４は、この仮想ノードを起動させる（Ｓ５４）。さらに、仮想ノード生成部１１４は、ステップ５３で仮想ノードが起動中であると判断された場合、及び、ステップ５４で仮想ノードを起動させた場合、応答のないノードの通信アドレスを仮想ノードの通信アドレスの通信アドレスへ切り替える旨の切替指示メッセージを、各ノードに送出する（Ｓ５５）。この切替指示メッセージを受けた各ノードは、通信アドレス切替の対象になっているノードの通信アドレスを新たな通信アドレスに切り替える。
【００７８】
次に、ノード状態監視部１１３は、図９に示すノード状態テーブル１４１中で、応答のないノードの状態領域１４１ｕを「障害」に設定する（Ｓ５６）。そして、このノード状態監視部１１３は、第三の待ち時間以内に応答があったか否かを判断する（Ｓ５７）。この第三の待ち時間は、図１０に示す制御ポリシーテーブル１４２のポリシーNo４に規定されており、ここでは３００秒である。第三の待ち時間以内にノードからの応答があった場合、ＯＬＮ管理部１１１のＯＬＮ構成情報管理部１１２は、この応答に含まれているノード管理データを該当ノードのノード管理データベースに格納して（Ｓ５８）、処理を終了する。また、第三の待ち時間以内にノードからの応答がなかった場合、このノードに関して重度の障害があったとして、このノードの離脱処理が実行される（Ｓ６１）。
【００７９】
離脱処理は、以上で説明していない、ＯＬＮ管理部１１１中に設けられている参加・離脱処理部が実行する。この離脱処理では、「背景技術」の欄で説明したように、重度の障害があったとされた実ノードの機能を他の健全な実ノードに移植し、この重度の障害があったとされた実ノードをオーバーレイネットワーク上にから離脱させる。この場合、重度の障害があったとされた実ノードの機能の移植先は、この実ノードの前隣接ノード又は後隣接ノードである。
【００８０】
離脱処理が終了すると、仮想ノード生成部１１４は、重度の障害があったとされた実ノードの仮想ノードを削除して（Ｓ６２）、処理を終了する。このように、本実施形態では、重度の障害であっても、この障害のあったノードの離脱処理の実行過程では、仮想ノードが実ノードの機能を実現しているため、「背景技術」の欄で説明した技術のように、障害への対処時間の長時間化することはない。
【００８１】
以上のように、本実施形態では、ある実ノードに軽度の障害が生じた場合、この実ノードの仮想ノードを生成し、これに伴って、各ノードの管理テーブル中の障害ノードの通信アドレスの切替処理のみで、障害に対処しているので、ネットワーク上のオーバーヘッドが増大を防ぎ、しかも、所定の障害への対処時間を短時間化することができる。さらに、本実施形態では、仮想ノードを起動させるにあたり、実ノードが障害状態に至る前段階である障害危機状態で、仮想ノードを生成し、実ノードが障害状態に至ると、この仮想ノードを起動させているので、所定の障害への対処時間をより短くすることができる。また、本実施形態では、前述したように、ある実ノードに重度の障害が生じた場合であっても、この実ノードに関する切替処理が終了する迄、仮想ノードが実ノードの機能を実現しているため、障害への対処時間の長時間化することはない。
【００８２】
なお、以上の実施形態では、ＯＬＮ管理装置１００からの状態確認メッセージが、各ノードに対するノード管理データの送信要求メッセージも兼ねているが、各メッセージを別々に送出するようにしてもよい。この場合、状態確認メッセージは、ノード状態監視部１１３が送出し、ノード管理データの送信要求メッセージは、ＯＬＮ構成情報管理部１１２が送出することになる。これらのメッセージに対しては、いずれも、各ノードのノード用ＯＬＮ管理部２１７が対応することになる。また、ＯＬＮ管理装置１００は、各ノードのノード管理データの収集にあたり、このノード管理データの送信要求メッセージを各ノードに送出せず、各ノードのノード用ＯＬＮ管理部２１７が、一方的にノード管理データをＯＬＮ管理装置１００へ送るようにしてもよい。
【００８３】
また、以上では、各ノード２００ｂ〜２００ｅに、それぞれ、ＲＦＩＤリーダ２７０が一つずつ接続されているが、それぞれ、複数のＲＦＩＤリーダ２７０を接続するようにしてもよい。
【００８４】
また、以上では、ユーザ座標値やこの検知時刻をＡＰデータとしているが、本発明は、各ノードに分散配置するデータであれば、他の如何なるＡＰデータであっても構わない。
【図面の簡単な説明】
【００８５】
【図１】本発明に係る一実施形態におけるオーバーレイネットワークシステムの構成図である。
【図２】本発明に係る一実施形態におけるＯＬＮ管理装置の構成図である。
【図３】本発明に係る一実施形態における仮想ノードの構成である。
【図４】本発明に係る一実施形態における実ノードの構成図である。
【図５】本発明に係る一実施形態におけるハッシュテーブルのデータ構成を示す説明図である。
【図６】本発明に係る一実施形態における各ノードのＡＰデータテーブルのデータ構成を示す説明図である。
【図７】本発明に係る一実施形態における各ノードのルーティグテーブルのデータ構成を示す説明図である。
【図８】本発明に係る一実施形態における各ノードの管理テーブルのデータ構成を示す説明図である。
【図９】本発明に係る一実施形態におけるノード状態テーブルのデータ構成を示す説明図である。
【図１０】本発明に係る一実施形態における制御ポリシーテーブルのデータ構成を示す説明図である。
【図１１】本発明に係る一実施形態のオーバーレイネットワークシステムの動作を示すシーケンス図（障害が発生していない場合）である。
【図１２】本発明に係る一実施形態のオーバーレイネットワークシステムの動作を示すシーケンス図（障害が発生した場合）である。
【図１３】本発明に係る一実施形態におけるＯＬＮ管理装置のＯＬＮ管理部の動作を示すフローチャートである（その１）。
【図１４】本発明に係る一実施形態におけるＯＬＮ管理装置のＯＬＮ管理部の動作を示すフローチャートである（その２）。
【符号の説明】
【００８６】
１：ＷＡＮ、２：ＬＡＮ、３：アクセスポイント、５：ＲＦＩＤタグ、１０：オーバーレイネットワーク、１００：ＯＬＮ管理装置、１１０，２１０：ＣＰＵ、１１１：ＯＬＮ管理部、１１２：ＯＬＮ構成情報管理部、１１３：ノード状態監視部、１１４：仮想ノード生成部、１１５：制御ポリシー設定部、１１６：ＯＬＮ通信制御部、１１７，１９７，２１７：ノード用ＯＬＮ管理部、１１８，１９８，２１８：ＯＬＮ制御部、１１９：ユーザ要求対処部、１２０：メモリ、１３０：外部記憶装置、１４０：ＯＬＮ管理データベース、１４１：ノード状態テーブル、１４２：制御ポリシーテーブル、１４４：ハッシュテーブル、１５０ａ，１５０ａｃ：ノード０管理データベース、２５０ｂｃ：ノード２管理データベース、２５０ｃ，２５０ｃｃ，１９５：ノード６管理データベース、２５０ｄｃ：ノード９管理データベース、２５０ｅｃ：ノード１３管理データベース、１５１ａ，１９１，２５１ｂ〜２５１ｅ：ＡＰデータテーブル、１５２ａ，１９２，２５２ｂ〜２５２ｅ：管理テーブル、１５３ａ，１９３，２５３ｂ〜２５３ｅ：ルーティングテーブル、１３１：ＯＬＮ管理プログラム、１３７,２３７：ノード用ＯＬＮ管理プログラム、１３８，２３８：ＯＬＮプログラム、１３９：ユーザ要求対処プログラム、１７０：ノード０、１９０：仮想ノード６、２００ｂ：ノード２、２００ｃ：ノード６、２００ｄ：ノード９、２００ｅ：ノード１３、２７０：ＲＦＩＤリーダ、３００：ユーザ端末
【図１】
2010028525.tif 000003
【図２】
2010028525.tif 000004
【図３】
2010028525.tif 000005
【図４】
2010028525.tif 000006
【図５】
2010028525.tif 000007
【図６】
2010028525.tif 000008
【図７】
2010028525.tif 000009
【図８】
2010028525.tif 000010
【図９】
2010028525.tif 000011
【図１０】
2010028525.tif 000012
【図１１】
2010028525.tif 000013
【図１２】
2010028525.tif 000014
【図１３】
2010028525.tif 000015
【図１４】
2010028525.tif 000016