(57)【要約】【課題】分散ネットワークからの離脱に伴うデータ管理負荷の増大を抑制することができるようにする。【解決手段】位置取得部２２によって、自端末の位置と直近の交差点中心位置とを取得する。仮想ノード数決定部２４によって、自端末の位置と交差点中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定する。ＤＨＴ管理部２６によって、決定された仮想ノード数が増えた場合には、増えた分の仮想ノードに対して割り当てられるエリアデータを、該エリアデータを記憶した移動端末１０から受信するようにデータ通信部１４を制御する。ＤＨＴ管理部２６によって、決定された仮想ノード数が減った場合には、減った分の仮想ノードに割り当てられているエリアデータを、該エリアデータが割り当てられる仮想ノードに対応する移動端末１０へ送信するようにデータ通信部１４を制御する。【選択図】図１
2013058047.tif 000002
【特許請求の範囲】
【請求項１】
予め定められたエリアに関連するエリアデータを、移動端末群の各移動端末に対して割り当てられる少なくとも１つのノードを含むノードの集合に対して分散して割り当てることにより、前記エリアデータを前記移動端末群の各移動端末で分散して記憶するためのデータ分散記憶システムにおける移動端末であって、
周辺の移動端末と無線通信を行うための通信手段と、
自端末の位置情報と前記エリアの基準位置を示す位置情報とを取得する位置取得手段と、
前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるように前記ノード数を決定するノード数決定手段と、
前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より増えた場合には、増えた分の前記ノードに対して割り当てられる前記エリアデータを、該エリアデータを記憶した前記移動端末から受信するように前記通信手段を制御するデータ受信制御手段と、
前記自端末に対する前記ノードに割り当てられた前記エリアデータを記憶する記憶手段と、
前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より減った場合には、減った分の前記ノードに割り当てられているエリアデータを、前記記憶手段から読み込み、該エリアデータが割り当てられる前記ノードに対応する前記移動端末へ送信するように前記通信手段を制御するデータ送信制御手段と、
を含む移動端末。
【請求項２】
前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報とに基づいて、自端末が前記エリアの基準位置へ向かっているか否かを判定する方向判定手段を更に含み、
前記ノード数決定手段は、前記方向判定手段によって自端末が前記エリアの基準位置へ向かっていると判定された場合に、自端末に対するノード数が多くなるように決定する請求項１記載の移動端末。
【請求項３】
前記エリア内の渋滞情報を取得する渋滞情報取得手段を更に含み、
前記移動端末が、車両に搭載され、
前記ノード数決定手段は、前記渋滞情報取得手段によって取得された前記渋滞情報に基づいて、自端末に対するノード数を決定する請求項１又は２記載の移動端末。
【請求項４】
自端末の移動速度を検出する速度検出手段を更に含み、
前記ノード数決定手段は、前記速度検出手段によって検出された自端末の移動速度が速いほど、自端末に対するノード数が少なくなるように決定する請求項１〜請求項３の何れか１項記載の移動端末。
【請求項５】
前記移動端末は、車両に搭載され、
前記エリアは、信号交差点を含み、
自車両の前方に存在する信号機であって、かつ、自車両の走行路に対する信号機の信号状況を取得する信号状況取得手段を更に含み、
前記ノード数決定手段は、前記信号状況取得手段によって取得された信号状況が赤信号である場合に、自端末に対するノード数が多くなるように決定する請求項１〜請求項４の何れか１項記載の移動端末。
【請求項６】
前記移動端末は、車両に搭載され、
前記エリアは、信号交差点を含み、
自車両の前方に存在する信号機であって、かつ、自車両の走行路に対する信号機の信号状況及び前記信号状況が切り替わるまでの時間を取得する信号状況取得手段と、
自車両の移動速度を検出する速度検出手段と、
前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報と、前記信号状況取得手段によって取得された前記信号機の信号状況及び前記信号状況が変化するまでの時間と、前記速度検出手段によって検出された自車両の移動速度とに基づいて、自車両がエリア内に滞在する時間を算出するエリア内滞在時間算出手段とを更に含み、
前記ノード数決定手段は、前記エリア内滞在時間算出手段によって取得された前記エリア内に滞在する時間が長いほど、自端末に対するノード数が多くなるように決定する請求項１〜請求項５の何れか１項記載の移動端末。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、移動端末に係り、特に、エリアに関するデータを移動端末群で分散して記憶する移動端末に関する。
【背景技術】
【０００２】
従来から、モバイルノード間の物理的な距離を反映させた上で、ＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ）上のＩＤを決定する分散ネットワークが知られている（特許文献１）。具体的には、Ｖｉｖａｌｄｉと呼ばれるノード間の物理距離を推定するアルゴリズムを用いて、各ノードの位置（座標）を推定する。推定した位置を用いて、ＤＨＴ上のＩＤを決定することで、物理的な位置と論理的な位置を対応付けている。
【０００３】
また、ある物理空間内に複数のランドマークと呼ばれる移動しないノードが存在しており、各モバイルノードはそれらの移動しないノードとの対応時間を計測し、計測した対応時間から位置を推定し、推定した位置をもとにＤＨＴ上のＩＤを決定する方法が知られている（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２９９５８６号公報
【特許文献２】特開２００８−２６９１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の特許文献１、２に記載の技術では、分散ネットワークのエリア端において、分散ネットワークからの離脱に伴い、データ管理負荷が増大してしまう、という問題がある。
【０００６】
本発明は、上記の問題点を解決するためになされたもので、分散ネットワークからの離脱に伴うデータ管理負荷の増大を抑制することができる移動端末を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために本発明に係る移動端末は、予め定められたエリアに関連するエリアデータを、移動端末群の各移動端末に対して割り当てられる少なくとも１つのノードを含むノードの集合に対して分散して割り当てることにより、前記エリアデータを前記移動端末群の各移動端末で分散して記憶するためのデータ分散記憶システムにおける移動端末であって、周辺の移動端末と無線通信を行うための通信手段と、自端末の位置情報と前記エリアの基準位置を示す位置情報とを取得する位置取得手段と、前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるように前記ノード数を決定するノード数決定手段と、前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より増えた場合には、増えた分の前記ノードに対して割り当てられる前記エリアデータを、該エリアデータを記憶した前記移動端末から受信するように前記通信手段を制御するデータ受信制御手段と、前記自端末に対する前記ノードに割り当てられた前記エリアデータを記憶する記憶手段と、前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より減った場合には、減った分の前記ノードに割り当てられているエリアデータを、前記記憶手段から読み込み、該エリアデータが割り当てられる前記ノードに対応する前記移動端末へ送信するように前記通信手段を制御するデータ送信制御手段と、を含んで構成されている。
【０００８】
本発明に係る移動端末によれば、位置取得手段によって、自端末の位置情報と前記エリアの基準位置を示す位置情報とを取得する。ノード数決定手段によって、前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるように前記ノード数を決定する。
【０００９】
そして、データ受信制御手段によって、前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より増えた場合には、増えた分の前記ノードに対して割り当てられる前記エリアデータを、該エリアデータを記憶した前記移動端末から受信するように前記通信手段を制御する。データ送信制御手段によって、前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より減った場合には、減った分の前記ノードに割り当てられているエリアデータを、前記記憶手段から読み込み、該エリアデータが割り当てられる前記ノードに対応する前記移動端末へ送信するように前記通信手段を制御する。
【００１０】
このように、エリアの基準位置との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるようにノード数を決定することにより、エリアの基準位置との距離が長いほど、自端末に割り当てられるエリアデータを少なくすることができるため、分散ネットワークからの離脱に伴うデータ管理負荷の増大を抑制することができる。
【００１１】
本発明に係る移動端末は、前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報とに基づいて、自端末が前記エリアの基準位置へ向かっているか否かを判定する方向判定手段を更に含み、前記ノード数決定手段は、前記方向判定手段によって自端末が前記エリアの基準位置へ向かっていると判定された場合に、自端末に対するノード数が多くなるように決定するようにすることができる。これによって、エリアの基準位置へ向かっている移動端末に対して、多くのエリアデータを割り当てることができ、エリア内でエリアデータを維持することができる。
【００１２】
本発明に係る移動端末は、前記エリア内の渋滞情報を取得する渋滞情報取得手段を更に含み、前記移動端末が、車両に搭載され、前記ノード数決定手段は、前記渋滞情報取得手段によって取得された前記渋滞情報に基づいて、自端末に対するノード数を決定するようにすることができる。これによって、渋滞しているエリア内の移動端末に対して、多くのエリアデータを割り当てることができ、エリア内でエリアデータを維持することができる。
【００１３】
本発明に係る移動端末は、自端末の移動速度を検出する速度検出手段を更に含み、前記ノード数決定手段は、前記速度検出手段によって検出された自端末の移動速度が速いほど、自端末に対するノード数が少なくなるように決定することができる。これによって、移動速度が速い移動端末に対して、割り当てるエリアデータを少なくすることができ、エリア内でエリアデータを維持することができる。
【００１４】
本発明に係る前記移動端末は、車両に搭載され、前記エリアは、信号交差点を含み、自車両の前方に存在する信号機であって、かつ、自車両の走行路に対する信号機の信号状況を取得する信号状況取得手段を更に含み、前記ノード数決定手段は、前記信号状況取得手段によって取得された信号状況が赤信号である場合に、自端末に対するノード数が多くなるように決定するようにすることができる。これによって、赤信号で停止する車両に搭載された移動端末に対して、多くのエリアデータを割り当てることができ、エリア内でエリアデータを維持することができる。
【００１５】
本発明に係る移動端末は、車両に搭載され、前記エリアは、信号交差点を含み、自車両の前方に存在する信号機であって、かつ、自車両の走行路に対する信号機の信号状況及び前記信号状況が切り替わるまでの時間を取得する信号状況取得手段と、自車両の移動速度を検出する速度検出手段と、前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報と、前記信号状況取得手段によって取得された前記信号機の信号状況及び前記信号状況が変化するまでの時間と、前記速度検出手段によって検出された自車両の移動速度とに基づいて、自車両がエリア内に滞在する時間を算出するエリア内滞在時間算出手段とを更に含み、前記ノード数決定手段は、前記エリア内滞在時間算出手段によって取得された前記交差点内に滞在する時間が長いほど、自端末に対するノード数が多くなるように決定するようにすることができる。これによって、交差点内に滞在する時間が長い車両に搭載された移動端末に対して、多くのエリアデータを割り当てることができ、エリア内でエリアデータを維持することができる。
【発明の効果】
【００１６】
以上説明したように、本発明の移動端末によれば、エリアの基準位置との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるようにノード数を決定することにより、エリアの基準位置との距離が長いほど、自端末に割り当てられるエリアデータを少なくすることができるため、分散ネットワークからの離脱に伴うデータ管理負荷の増大を抑制することができる、という効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施の形態に係る移動端末の構成を示すブロック図である。
【図２】データを分散管理するエリアの例を示すイメージ図である。
【図３】ノードのハッシュ値とデータのハッシュ値との対応関係を示す図である。
【図４】（Ａ）ノードのハッシュ値とデータのハッシュ値との対応関係を示す図、及び（Ｂ）仮想ノードを割り当てた場合におけるノードのハッシュ値とデータのハッシュ値との対応関係を示す図である。
【図５】移動端末がエリア外にエリアデータを持ち出してしまう様子を示すイメージ図である。
【図６】交差点内の移動端末に対してデータが割り当てられている様子を示す図である。
【図７】交差点内の移動端末に対してデータが割り当てられている様子を示す図である。
【図８】エリアから離脱する移動端末が、他の移動端末にエリアデータを渡す様子を示すイメージ図である。
【図９】交差点内の移動端末に対してデータが割り当てられている様子を示す図である。
【図１０】交差点中心との距離と仮想ノード数との対応関係を表わす仮想ノード数分布を示す図である。
【図１１】交差点内の移動端末に対してデータが割り当てられている様子を示す図である。
【図１２】ＤＨＴへ参加するノードを追加した様子を示す図である。
【図１３】ＤＨＴへ参加した移動端末が、他の移動端末からエリアデータを受け取る様子を示す図である。
【図１４】ＤＨＴから離脱するノードを削除した様子を示す図である。
【図１５】ＤＨＴから離脱した移動端末が、他の移動端末へエリアデータを渡す様子を示す図である。
【図１６】ルーティングテーブルを示す図である。
【図１７】各移動端末に対して仮想ノードが割り当てられている様子を示す図である。
【図１８】仮想ノード管理テーブルを示す図である。
【図１９】本発明の第１の実施の形態に係る移動端末における参加時処理ルーチンの内容を示すフローチャートである。
【図２０】本発明の第１の実施の形態に係る移動端末における参加中処理ルーチンの内容を示すフローチャートである。
【図２１】本発明の第１の実施の形態に係る移動端末における仮想ノード数調整パケット受信時処理ルーチンの内容を示すフローチャートである。
【図２２】本発明の第１の実施の形態に係る移動端末におけるデータパケット送信処理ルーチンの内容を示すフローチャートである。
【図２３】本発明の第１の実施の形態に係る移動端末におけるデータパケット受信時処理ルーチンの内容を示すフローチャートである。
【図２４】（Ａ）各ノードに割り当てられているデータを示す図、及び（Ｂ）各ノードに対してデータが割り当てられている様子を示す図である。
【図２５】本発明の第２の実施の形態に係る移動端末の構成を示すブロック図である。
【図２６】交差点内の位置と仮想ノード数との対応関係を示す図である。
【図２７】本発明の第３の実施の形態に係る移動端末の構成を示すブロック図である。
【図２８】仮想ノード数分布を調整する様子を示す図である。
【図２９】仮想ノード数分布を調整する様子を示す図である。
【図３０】本発明の第４の実施の形態に係る移動端末の構成を示すブロック図である。
【図３１】交差点内の移動端末に対する仮想ノード数を決定する方法を説明するための図である。
【図３２】本発明の第５の実施の形態に係る移動端末の構成を示すブロック図である。
【図３３】本発明の第６の実施の形態に係る移動端末の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の好適な実施の形態について説明する。なお、本発明を適用した移動端末を車両に搭載し、複数の移動端末の間で無線通信を行って、データを分散して記憶するデータ分散記憶システムを例に説明する。
【００１９】
図１に示すように、第１の実施の形態に係るデータ分散記憶システムの移動端末１０は、自端末を搭載している車両に設けられ、かつ、自端末の位置を測定するためのＧＰＳ１２と、周辺の他の移動端末１０と無線通信を行うためのデータ通信部１４と、ＧＰＳ１２によって測定された自端末の位置に基づいて、周辺の複数の移動端末１０を含む移動端末群でのデータの分散管理を行うコンピュータ１６とを備えている。
【００２０】
データ通信部１４は、無線アドホック通信を行って、周辺の他の移動端末１０と通信を行い、アドホックルーティングによってエリア内にネットワークを形成する。なお、アドホックルーティングのプロトコルは任意である。
【００２１】
コンピュータ１６は、移動端末１０全体の制御を司るＣＰＵ、後述する参加時処理ルーチン、参加中処理ルーチン、仮想ノード数調整パケット受信時処理ルーチン、データパケット送信処理ルーチン、及びデータパケット受信時処理ルーチンのプログラム等を記憶した記憶媒体としてのＲＯＭ、ワークエリアとしてデータを一時格納するＲＡＭ、及びこれらを接続するバスを含んで構成されている。このような構成の場合には、各構成要素の機能を実現するためのプログラムをＲＯＭに記憶しておき、これをＣＰＵが実行することによって、各機能が実現されるようにする。
【００２２】
このコンピュータ１６をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、上記図１に示すように、各交差点の中心位置を含む道路地図データを記憶する地図データベース２０と、ＧＰＳ１２によって計測された自端末の位置を取得する共に、地図データベース２０から自車両の直近の交差点位置を取得する位置取得部２２と、位置取得部２２によって取得された自端末位置と交差点位置との距離に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部２４と、ＤＨＴに従ってデータ分散管理を行うＤＨＴ管理部２６と、データ分散管理に用いられるテーブルを記憶する管理テーブル記憶部２８と、自端末に対して割り当てられたエリアデータを記憶するＤＨＴデータ記憶部３０とを備えている。なお、ＤＨＴ管理部２６が、データ受信制御手段及びデータ送信制御手段の一例である。
【００２３】
ここで、本実施の形態に係るデータ分散管理を行う原理について説明する。
【００２４】
本実施の形態では、図２に示すように、移動体が無線通信を行う環境下で、位置に依存した情報（エリアデータ）を、特定のエリア（例えば、交差点）内の複数の移動端末によって維持し、分散管理する。エリアから離脱する移動端末は、エリア内の他の移動端末にデータを転送することで、エリア内へ情報を維持する。データの分散管理を、ＤＨＴを用いて実現する。ＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ）とは、分散環境でデータを管理する手法の１つであり、ハッシュテーブルを用いてデータを管理する手法である。また、ハッシュテーブルは、キーとデータの組を格納し、キーに対応するデータをすばやく参照するためのデータ構造である。
【００２５】
ＤＨＴの例としては、Ｃｈｏｒｄ、Ｐａｓｔｒｙ、Ｋａｄｅｍｌｉａなどが挙げられ、ＤＨＴの応用例としては、Ｄｙｎａｍｏ、Ｃａｓｓａｎｄｒａ、Ｋａｉなどがある。
【００２６】
ＤＨＴを用いることにより、データ管理負荷をノードに対して均等に分散でき、エリアデータを誰が持つか、サーバ無しで一意に決定でき、データのキーが分かれば正確な目的地がわからなくてもルーティング可能である。ただし、ルーティングテーブルが正しく構成されていることが条件である。また、ＤＨＴを無線通信環境で応用することで、特定エリアに仮想分散データベースを実現することができる。
【００２７】
ここで、Ｃｈｏｒｄを用いたデータ分散管理について説明する。各移動端末の持つ固有のＩＤとデータの持つ固有のＩＤとをそれぞれ、ハッシュ関数を用いてハッシュ値にする。移動端末（ノード）とデータとは、図３のように対応付けられ、データは、自身のハッシュ値より大きいハッシュ値を持つ移動端末（ノード）の中で、最小のハッシュ値を持つ移動端末（ノード）に保存される。このとき、図４（Ａ）のように、ランダムにデータを配置するため、１つのノードに負荷が偏る可能性がある。そこで、本実施の形態では、図４（Ｂ）に示すように、更に仮想ノードを配置して、負荷分散を図る。１つのノードは、少なくとも１つの仮想ノード（自身のノードを含む）を持つ。
【００２８】
また、各移動端末は任意のタイミングでＤＨＴからの離脱を決定する。そのため、図５に示すように、エリア内で保持すべきエリアデータをエリア外へ持ち出し、エリアデータにアクセスできなくなる可能性がある。
【００２９】
そこで、本実施の形態では、仮想ノード数決定部２４によって、位置取得部２２によって取得された自端末位置と交差点位置との距離が、所定値以内であれば、仮想ノード数を１以上とするように決定して、ＤＨＴへの参加を自動的に管理する。また、仮想ノード数決定部２４によって、位置取得部２２によって取得された自端末位置と交差点位置との距離が、所定値より大きい場合には、仮想ノード数を０とするように決定して、ＤＨＴからの離脱を自動的に管理する。これによって、図６に示すように、エリア（交差点）の中心位置から所定距離の範囲内に存在する移動端末１０は、ＤＨＴへ参加し、図７に示すように、移動端末１０の仮想ノードに、エリアデータが対応付けられる。
【００３０】
ここで、各移動端末１０を搭載する車両がエリアの外へ出るときに、仮想ノード数を０にして、保持しているエリアデータを全てエリア内にブロードキャストする必要がある。このとき、図８、図９に示すように、エリアから離脱する車両の移動端末１０が、大量のデータを管理している場合、エリア内の他の移動端末１０へのブロードキャストが間に合わずに、データをエリア外へ持ち出してしまう可能性がある。
【００３１】
そこで、仮想ノード数決定部２４によって、図１０に示すように、交差点の中心位置からの距離が近いほど、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。これによって、図１１に示すように、交差点の中心位置に近い移動端末（ノード）ほど、多くの仮想ノードが割り当てられ、結果として、多くのエリアデータが割り当てられる。仮想ノード数決定部２４には、上記図１０に示すような、交差点中心位置との距離と仮想ノード数との対応関係を示す仮想ノード数分布が予め記憶されており、仮想ノード数決定部２４は、仮想ノード数分布を用いて、自端末に対する仮想ノード数を決定する。
【００３２】
ＤＨＴ管理部２６は、仮想ノード数が０と決定されている状態から、仮想ノード数が１以上になると、ＤＨＴへの参加処理を行う。参加処理では、図１２に示すように、自端末ＥのＩＤのハッシュ値ｆ（Ｅ）を計算して、自端末の仮想ノードを追加する。これによって、図１３に示すように、自端末の仮想ノードに割り当てられるエリアデータが、他の移動端末Ａから送信され、自端末が当該エリアデータを受け取る。なお、図１３の例では、他の移動端末Ｄを介して、他の移動端末Ａからのエリアデータを自端末Ｅが受け取っている。
【００３３】
ＤＨＴ管理部２６は、仮想ノード数が１以上であると決定されている状態から、仮想ノード数が０になると、ＤＨＴからの離脱処理を行う。離脱処理では、図１４に示すように、自端末に割り当てられている仮想ノードを削除する。これによって、図１５に示すように、自端末（図１５のＧ参照）の仮想ノードに割り当てられていたエリアデータが、他の移動端末Ｄへ送信される。なお、図１５の例では、他の移動端末Ｆを介して、自端末Ｇから他の移動端末Ｄへエリアデータが送信されている。
【００３４】
また、ＤＨＴ管理部２６は、参加処理及び離脱処理において、図１６に示すようなルーティングテーブルに、仮想ノードの情報を追加し、あるいはルーティングテーブルから仮想ノードの情報を削除する。なお、図１６のルーティングテーブルでは、図１７に示すように各ノードのハッシュ値が割り当てられている場合を表わしている。ただし、ｆ（ｘ）は、ハッシュ関数を表わし、０〜ＭＡＸの値を得る関数である。また、ｆ’（ｘ）＝ｆ（ｆ（ｘ））である。
【００３５】
ＤＨＴ管理部２６は、自端末が新たにＤＨＴへ参加する場合、まずエリア内の周辺の移動端末１０からルーティングテーブルを受信し、それに自分の情報を加え、改変された部分だけブロードキャストする。改変された情報を受け取った他の移動端末１０は、新たにＤＨＴに参加した移動端末１０が保持する必要があるエリアデータをブロードキャストする。
【００３６】
また、ルーティングテーブルを維持する手法は、様々な手法が考えられ、例えば通常のＣｈｏｒｄの手法を流用する場合、移動端末１０がＤＨＴ参加時に他の移動端末１０から受信したルーティングテーブルを用いてルーティングテーブルを作成し、その後、周期的に他の移動端末１０に確認を取る（Ｓｔａｂｉｌｉｚａｔｉｏｎ処理）ことで維持する。また、周期ブロードキャストとＧｏｓｓｉｐプロトコルを用いて、各移動端末１０が周期的に自端末の維持しているルーティングテーブルの情報をランダムに選択しブロードキャストすることでルーティングテーブルを維持するようにしてもよい。
【００３７】
また、ＤＨＴ管理部２６は、図１８に示すような、仮想ノード管理テーブルに、ノード（移動端末）毎の仮想ノード数を登録する。
【００３８】
上記のルーティングテーブル及び仮想ノード管理テーブルは、各移動端末１０の管理テーブル記憶部２８に記憶されている。
【００３９】
上記のように、各ノードは少なくとも１つの仮想ノードを持ち、各ノードのｎ個目の仮想ノードは、同じハッシュ関数をｎ回使用することで導かれる。例えば、ノードＩＤをｘとする４個目の仮想ノードのハッシュ値はｆ（ｆ（ｆ（ｆ（ｘ））））である。ただし、この仮想ノードのハッシュ値の導き方は一例であり、ｎ個目の仮想ノード毎に別のハッシュ関数を与える等、他の手法であってもよい。
【００４０】
ＤＨＴ管理部２６は、ＤＨＴへの参加中に、仮想ノード数が増加すると、増加分の仮想データのＩＤのハッシュ値を計算して、ルーティングテーブルに、自端末の仮想ノードを更に追加する。これによって、自端末に追加された仮想ノードに割り当てられるエリアデータが、他の移動端末１０から送信され、自端末が当該エリアデータを受け取る。
【００４１】
ＤＨＴ管理部２６は、ＤＨＴへの参加中に、仮想ノード数が減少すると、ルーティングテーブルから減少分の仮想ノードを削除する。これによって、減少分の仮想ノードに割り当てられていたエリアデータが、他の移動端末１０へ送信される。
【００４２】
このように、ＤＨＴ管理部２６が、ＤＨＴへの参加処理、離脱処理、仮想ノードの追加処理、及び仮想ノードの減少処理を行うことにより、各移動端末１０が仮想ノードに対応付けられたデータを分散して記憶する。
【００４３】
また、図１０、図１１に示すように、エリア中心付近の移動端末１０が仮想ノードを多く持つため、エリア中心に多くのデータが集まる。
【００４４】
また、エリアの中心から移動端末１０が離れていくときに、徐々に仮想ノード数が減少し、減少分の仮想ノードに割り当てられていたエリアデータをエリア内の他の移動端末１０に渡す。そのため、移動端末１０が中心からエリア端に近づくにつれて、所有しているデータ量が減少していく。
【００４５】
エリア端からエリア外へ出る時には、所持しているエリアデータ全てを他の移動端末１０に渡す。エリア端にたどり着いた移動端末１０の所有しているデータ量が少ないため、エリア端でブロードキャストするデータのトラフィックが少ない。これによって、エリアデータをエリア内に留めることができる可能性が高まる。
【００４６】
次に、本実施の形態に係る移動端末１０の作用について説明する。移動端末１０を搭載した車両の走行中に、自端末の仮想ノード数が０で、ＤＨＴへ参加していない場合には、コンピュータ１６において、図１９に示す参加時処理ルーチンが実行される。
【００４７】
まず、ステップ１００において、ＧＰＳ１２から自車両の位置を取得すると共に、自車両の直近にある交差点の位置（予め求められた交差点の中心位置）を、地図データベース２０から取得する。
【００４８】
そして、ステップ１０２において、上記ステップ１００で取得した自車両の位置と交差点の位置との距離と、交差点中心位置との距離と仮想ノード数との対応関係を示す仮想ノード数分布とに基づいて、自端末に対する仮想ノード数Ｎを決定する。
【００４９】
次のステップ１０４では、上記ステップ１０２で決定された仮想ノード数Ｎが０より大きいか否かを判定する。決定された仮想ノード数Ｎが０である場合には、上記ステップ１００へ戻るが、一方、決定された仮想ノード数Ｎが０より大きい場合には、ＤＨＴへ参加すると判断し、ステップ１０６へ進む。
【００５０】
ステップ１０６では、エリア内に存在する周辺の移動端末１０とデータ通信を行い、周辺の移動端末１０に記憶されているルーティングテーブル及び仮想ノード管理テーブルを、当該周辺の移動端末１０から受信して取得し、管理テーブル記憶部２８に格納する。
【００５１】
そして、ステップ１０８において、上記ステップ１０２で決定された仮想ノード数Ｎだけ、自端末の仮想ノードに対するハッシュ値を計算して、自端末に対する全ての仮想ノードの情報を、ルーティングテーブルに追加すると共に、仮想ノード管理テーブルに、自端末の仮想ノード数を登録する。
【００５２】
次のステップ１１０では、ＤＨＴへ参加したことをエリア内に知らせるために、仮想ノード数調整パケットを、データ通信部１４によりエリア内にブロードキャストする。仮想ノード数調整パケットには、少なくとも、自端末のＩＤ（ノードのＩＤ）と自端末に対して決定された仮想ノードの数とが含まれている。
【００５３】
そして、後述する参加中処理へ切り替わる。
【００５４】
次に、コンピュータ１６によって実行される参加中処理ルーチンについて図２０を用いて説明する。
【００５５】
ステップ１２０において、ＧＰＳ１２から自車両の位置を取得すると共に、自車両の直近にある交差点の位置を、地図データベース２０から取得する。
【００５６】
そして、ステップ１２２において、上記ステップ１２０で取得した自車両の位置と交差点の位置との距離と、予め求められた交差点中心位置との距離と仮想ノード数との対応関係を示す仮想ノード数分布とに基づいて、自端末に対する仮想ノード数Ｎを決定する。
【００５７】
次のステップ１２４では、管理テーブル記憶部２８に記憶された仮想ノード管理テーブルから、前回決定された自端末の仮想ノード数Ｎ’を取得する。
【００５８】
ステップ１２６において、上記ステップ１２２で今回決定された仮想ノード数Ｎと、上記ステップ１２４で取得した自端末の仮想ノード数Ｎ’との大小関係を判定する。今回決定された仮想ノード数Ｎと、自端末の仮想ノード数Ｎ’とが等しい場合には、上記ステップ１２０へ戻る。一方、今回決定された仮想ノード数Ｎが、自端末の仮想ノード数Ｎ’より大きい場合には、ステップ１２８において、仮想ノード数が増加したことをエリア内に知らせるために、上記ステップ１２８と同様に仮想ノード数調整パケットをエリア内にブロードキャストする。
【００５９】
そして、ステップ１３０において、管理テーブル記憶部２８に記憶された仮想ノード管理テーブルに対して、自端末の仮想ノード数を更新する。
【００６０】
そして、ステップ１３２において、増加分の仮想ノードのハッシュ値を計算すると共に、管理テーブル記憶部２８に記憶されたルーティングテーブルに対して、増加分の仮想ノードを追加して、上記ステップ１２０へ戻る。
【００６１】
上記ステップ１２６において、今回決定された仮想ノード数Ｎが、自端末の仮想ノード数Ｎ’より小さい場合には、ステップ１３４において、減少分の仮想ノードに割り当てられているエリアデータをデータパケットとして送信する処理を行う。そして、ステップ１３６において、仮想ノード数が減少したことをエリア内に知らせるために、上記ステップ１２８と同様に仮想ノード数調整パケットを、データ通信部１４によりエリア内にブロードキャストする。
【００６２】
そして、ステップ１３８において、管理テーブル記憶部２８に記憶された仮想ノード管理テーブルに対して、自端末の仮想ノード数を更新する。
【００６３】
そして、ステップ１４０において、管理テーブル記憶部２８に記憶されたルーティングテーブルから、減少分の仮想ノードを削除する。
【００６４】
次のステップ１４２では、今回決定された仮想ノード数Ｎが０であるか否かを判定する。仮想ノード数が１以上である場合には、上記ステップ１２０へ戻るが、一方、仮想ノード数が０である場合には、ＤＨＴから離脱すると判断し、ステップ１４４において、管理テーブル記憶部２８に記憶されたルーティングテーブル及び仮想ノード管理テーブルのデータを削除する。
【００６５】
そして、上述した参加時処理へ切り替わる。
【００６６】
また、データ通信部１４によって他の移動端末１０から仮想ノード数調整パケットを受信すると、コンピュータ１６は、図２１に示す仮想ノード数調整パケット受信時処理ルーチンを実行する。
【００６７】
ステップ１５０において、受信した仮想ノード数調整パケットに含まれるノード（移動端末）のＩＤ及び仮想ノード数Ｎを取得する。
【００６８】
次のステップ１５２では、管理テーブル記憶部２８に記憶された仮想ノード管理テーブルから、上記ステップ１５０で取得したノードのＩＤが示す対象ノードの仮想ノード数Ｎ’を取得する。
【００６９】
ステップ１５４において、上記ステップ１５０で取得した仮想ノード数Ｎと、上記ステップ１５２で取得した対象ノードの仮想ノード数Ｎ’との大小関係を判定する。仮想ノード数Ｎと、対象ノードの仮想ノード数Ｎ’とが等しい場合には、仮想ノード数調整パケット受信時処理ルーチンを終了する。一方、仮想ノード数Ｎが、対象ノードの仮想ノード数Ｎ’より大きい場合には、対象ノードに対する仮想ノード数が増加したと判断し、ステップ１５６において、管理テーブル記憶部２８に記憶された仮想ノード管理テーブルに対して、対象ノードの仮想ノード数を更新する。
【００７０】
そして、ステップ１５８において、増加分の仮想ノードのハッシュ値を計算すると共に、管理テーブル記憶部２８に記憶されたルーティングテーブルに対して、増加分の仮想ノードを追加する。ステップ１６０では、対象ノードの増加分の仮想ノードに割り当てられるエリアデータを、自端末が記憶している場合に、当該エリアデータを、データパケットにして対象ノードに対して送信する処理を行って、仮想ノード数調整パケット受信時処理ルーチンを終了する。
【００７１】
上記ステップ１５４において、仮想ノード数Ｎが、対象ノードの仮想ノード数Ｎ’より小さい場合には、対象ノードに対する仮想ノード数が減少したと判断し、ステップ１６２において、管理テーブル記憶部２８に記憶された仮想ノード管理テーブルに対して、対象ノードの仮想ノード数を更新する。
【００７２】
そして、ステップ１６４において、管理テーブル記憶部２８に記憶されたルーティングテーブルから、減少分の仮想ノードを削除して、仮想ノード数調整パケット受信時処理ルーチンを終了する。
【００７３】
上記ステップ１３４及びステップ１６０は、図２２に示すデータパケット送信処理ルーチンによって実現される。データパケット送信処理ルーチンでは、増加分又は減少分の仮想ノードのハッシュ値ｈｉ（ｉ＝０，．．．，ｎ−１）が入力として与えられる。ただし、ｎは、増加分又は減少分の仮想ノードの数を示す。
【００７４】
まず、ステップ１７０において、増加分又は減少分の仮想ノードのハッシュ値を識別する変数ｉを初期値である０に設定する。そして、ステップ１７２において、ルーティングテーブルに基づいて、仮想ノードのハッシュ値ｈｉの管理範囲のエリアデータを、自端末が持っているか否かを判定する。仮想ノードのハッシュ値ｈｉの管理範囲のエリアデータを、自端末が持っていない場合には、ステップ１７６へ移行する。一方、仮想ノードのハッシュ値ｈｉの管理範囲のエリアデータを、自端末が持っている場合には、ステップ１７４において、当該エリアデータをＤＨＴデータ記憶部３０から読み込んで、新たに割り当てられる仮想ノードの移動端末１０に対して、データ通信部１４によりデータパケットとして送信する。なお、データパケットには、エリアデータと、当該データのＩＤとが少なくとも含まれている。
【００７５】
ステップ１７６では、変数ｉをインクリメントして、ステップ１７８において、変数ｉが、増加分又は減少分の仮想ノードの数ｎになったか否かを判定する。変数ｉが、増加分又は減少分の仮想ノードの数ｎになっていない場合には、上記ステップ１７２へ戻るが、変数ｉが、増加分又は減少分の仮想ノードの数ｎになった場合には、データパケット送信処理ルーチンを終了する。
【００７６】
また、移動端末１０が、データ通信部１４によって他の移動端末１０から送信されたエリアデータのデータパケットを受信した場合には、コンピュータ１６によって、図２３に示すデータパケット受信時処理ルーチンを実行する。
【００７７】
まず、ステップ１８０において、受信したデータパケットから、データのＩＤを取得する。次のステップ１８２では、上記ステップ１８０で取得したデータのＩＤからハッシュ値を計算する。
【００７８】
そして、ステップ１８４において、管理テーブル記憶部２８に記憶したルーティングテーブルに基づいて、上記ステップ１８２で計算したハッシュ値を管理する仮想ノードを特定する。例えば、図２４（Ａ）、図２４（Ｂ）に示すように、データのＩＤのハッシュ値と、仮想ノードのハッシュ値との大小関係に基づいて、当該エリアデータを管理する仮想ノードが特定される。
【００７９】
次のステップ１８６では、上記ステップ１８４で特定された仮想ノードが、自端末の仮想ノードであるか否かを判定し、ステップ１８４で特定された仮想ノードが、自端末の仮想ノードでない場合には、ステップ１８８において、データ通信部１４によって、上記ステップ１８４で特定された仮想ノードを持つ移動端末１００に対して、受信したデータパケットを、そのまま送信して、データパケット受信時処理ルーチンを終了する。一方、ステップ１８４で特定された仮想ノードが、自端末の仮想ノードである場合には、ステップ１９０において、受信したデータパケットに含まれるエリアデータを、ＤＨＴデータ記憶部３０に記憶して、データパケット受信時処理ルーチンを終了する。
【００８０】
上記のように、各種処理ルーチンが各移動端末１０で実行されると、交差点エリアに関連するエリアデータが、交差点内の移動端末群で分散して記憶される。例えば、付加情報サービスとして、近くの移動端末１０間で、つぶやきデータ（「○○へは北に向かいます」、「東の交差点の飯屋おいしい」など）を含むエリアデータを分散して記憶したり、周辺のお店の広告情報（割引クーポンや駐車場情報など）を含むエリアデータを分散して記憶する。あるいは、交通安全アプリケーションとして、周辺で発生した事故情報（「南方３ｋｍ事故発生」）を含むエリアデータを分散して記憶する。これによって、リアルタイム性の強い情報の共有、伝搬が可能となる。
【００８１】
以上説明したように、第１の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点中心位置との距離が長いほど、自端末に割り当てられるエリアデータを少なくすることができるため、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができると共に、エリアデータを交差点エリア内に留めておける可能性が高くなる。
【００８２】
また、交差点エリア端で大きな通信負荷が発生することを防ぎ、交差点エリア全体への通信量を平準化することが可能である。
【００８３】
また、無線通信環境でＤＨＴを応用して移動端末群でデータを管理することで、データセンタなしで移動端末とデータとの一意な対応付けが可能となり、特定エリアに仮想分散データベースを実現することができる。
【００８４】
次に、第２の実施の形態に係る移動端末について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００８５】
第２の実施の形態では、自端末の移動方向が、交差点へ向かっているか否かを判定し、判定結果を更に考慮して、仮想ノード数を決定している点が第１の実施の形態と異なっている。
【００８６】
図２５に示すように、第２の実施の形態に係る移動端末２１０のコンピュータ２１６は、地図データベース２０と、位置取得部２２と、位置取得部２２によって取得された自端末位置と交差点位置とに基づいて、自端末の移動方向が交差点位置へ向かっているか否かを判定する方向判定部２２２と、位置取得部２２によって取得された自端末位置と交差点位置との距離、及び方向判定部２２２の判定結果に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部２２４と、ＤＨＴ管理部２６と、管理テーブル記憶部２８と、ＤＨＴデータ記憶部３０とを備えている。
【００８７】
方向判定部２２２は、位置取得部２２によって取得された自端末位置の変化に基づいて、自端末の移動方向を求め、求めた自端末の移動方向、自端末の位置、及び交差点位置に基づいて、自端末の移動方向が交差点位置へ向かっているか否かを判定する。
【００８８】
仮想ノード数決定部２２４は、交差点の中心位置からの距離が、近いほど、仮想ノード数が多くなるように、仮想ノード数分布に基づいて、自端末に対する仮想ノード数を決定し、更に、自端末の移動方向が交差点位置へ向かっていると判定された場合には、自端末の移動方向が交差点位置へ向かっていると判定されなかった場合に比べて、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。
【００８９】
これによって、図２６に示すように、交差点の中心位置に向かう移動端末と、交差点から出て行く移動端末で、交差点中心位置からの距離が同じであっても、仮想ノード数が異なる。
【００９０】
例えば、交差点の中心位置を（４５０、４５０）とし、移動端末２１０を搭載した車両の位置が（５０、４５０）から（１５０、４５０）へ変化したとすると、車両の位置は交差点の中心位置に向かっており、車両の位置が（１５０、４５０）であるため、４つの仮想ノードを持つ。また、移動端末２１０を搭載した車両の位置が（７５０、４５０）から（８５０、４５０）に変化した場合、車両の位置は交差点の中心位置に向かっていないため、仮想ノード数は２となる。上記図２６の例では、交差点の中心に向う移動端末２１０は、全て４つの仮想ノードを持つ。一方、交差点の中心に向かっていない移動端末２１０の仮想ノード数は、交差点の中心位置からの距離に応じて、２、０と減少していく。
【００９１】
なお、第２の実施の形態に係る移動端末２１０の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【００９２】
このように、第２の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、自端末が交差点の中心位置へ向かっていると判定された場合には、交差点エリア内に長く留まる可能性が高いため、割り当てられる仮想ノード数が多くなるように仮想ノード数を決定することにより、交差点の中心位置へ向かっている移動端末に対して、多くのエリアデータを割り当てることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【００９３】
また、交差点の中心位置に向かう移動端末に、交差点中心付近の移動端末と同じ数の仮想ノードを持たせることで、仮想ノード数の変化による通信を抑えることができる。また、交差点エリア内全体の仮想ノード数も増加するため、仮想ノードの数を１つ減らしたときに発生するトラフィック量を少なくすることができる。
【００９４】
なお、上記の実施の形態では、交差点中心位置との距離に応じて仮想ノード数を決定すると共に、交差点中心へ向かっていると判定された場合には、決定された仮想ノード数を最大値に変更する場合を例に説明したが、これに限定されるものではない。上記図２６に示すような分布を、仮想ノード数分布として用いて、交差点中心位置との距離及び交差点エリア内の走行位置とに基づいて、仮想ノード数を決定するようにしてもよい。
【００９５】
次に、第３の実施の形態に係る移動端末について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００９６】
第３の実施の形態では、交差点内の渋滞情報を取得し、渋滞情報を更に考慮して、仮想ノード数を決定している点が第１の実施の形態と異なっている。
【００９７】
図２７に示すように、第３の実施の形態に係る移動端末３１０は、ＶＩＣＳセンターからＶＩＣＳ（Ｖｅｈｉｃｌｅ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ）情報を取得するＶＩＣＳ装置３１２を備えている。
【００９８】
移動端末３１０のコンピュータ３１６は、地図データベース２０と、位置取得部２２と、位置取得部２２によって取得された交差点位置とＶＩＣＳ装置３１２より得られるＶＩＣＳ情報とに基づいて、自端末の直近の交差点の渋滞情報を取得する渋滞情報取得部３２２と、取得した渋滞情報に基づいて、交差点中心位置との距離と仮想ノード数との対応関係を示す仮想ノード数分布を調整する分布調整部３２４と、仮想ノード数決定部２４と、ＤＨＴ管理部２６と、管理テーブル記憶部２８と、ＤＨＴデータ記憶部３０とを備えている。
【００９９】
渋滞情報取得部３２２は、位置取得部２２によって取得された交差点位置と、自端末の位置とに基づいて、ＶＩＣＳ装置３１２より得られるＶＩＣＳ情報から、自端末の直近の交差点内であって、かつ、自車両の走路に関する渋滞情報を取得する。
【０１００】
分布調整部３２４は、取得した渋滞情報に基づいて、自端末の直近の交差点内で渋滞が起きている場合、図２８に示すように、仮想ノード数が多くなる範囲（例えば、最大値となる範囲）が広くなるように、仮想ノード数分布を調整する。これによって、自端末の直近の交差点内で渋滞が起きている場合、エリア内の車の速度は遅く、エリア外へエリアデータを持ち出してしまう可能性が低いため、エリア内の移動端末群における仮想ノード数が均一に近づくように、仮想ノード数分布が調整される。なお、分布調整部３２４は、渋滞が発生する毎に、仮想ノード数分布を調整する必要はなく、渋滞が発生した場合に、既に調整された仮想ノード数分布を用いるようにすればよい。
【０１０１】
例えば、図２９に示すように、平常時は、交差点中心から半径２００ｍの範囲を、仮想ノード数４とするように仮想ノード数分布を設定し、渋滞時には、半径３００ｍの範囲を仮想ノード数４とするように仮想ノード数分布を設定する。交差点中心が（４５０、４５０）である交差点内の（２５０、４５０）の位置に居る車両に搭載された移動端末３１０は、渋滞情報を得ると、渋滞の状況によって、決定される仮想ノード数が変化する。
【０１０２】
仮想ノード数決定部２４は、交差点の中心位置からの距離と、仮想ノード数分布とに基づいて、自端末に対する仮想ノード数を決定する。
【０１０３】
なお、第３の実施の形態に係る移動端末３１０の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１０４】
このように、第３の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、交差点内が渋滞している場合には、交差点エリア内に長く留まる可能性が高いため、割り当てられる仮想ノード数が多くなるように仮想ノード数を決定することにより、渋滞している交差点内の移動端末に対して、多くのエリアデータを割り当てることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【０１０５】
なお、上記の実施の形態では、渋滞している場合に、仮想ノード数が多くなる範囲が広くなるように、仮想ノード数分布を調整する場合を例に説明したが、これに限定されるものではない。例えば、渋滞していない場合、エリアデータを交差点エリア外へ持ちだしてしまう可能性が高いので、仮想ノード数が少なくなる範囲を広くするように、仮想ノード数分布を調整するようにしてもよい。これによって交差点エリア内にエリアデータを維持できる可能性をより向上させる。
【０１０６】
また、ＶＩＣＳ情報を取得して、渋滞情報を得る場合を例に説明したが、これに限定されるものではなく、交差点エリア付近に存在する車両と無線通信を行うことにより、渋滞情報を得るようにしてもよい。
【０１０７】
次に、第４の実施の形態に係る移動端末について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１０８】
第４の実施の形態では、自車両の速度を取得し、自車両の速度を更に考慮して、仮想ノード数を決定している点が第１の実施の形態と異なっている。
【０１０９】
図３０に示すように、第４の実施の形態に係る移動端末４１０は、自端末を搭載している車両に設けられ、かつ、車両の速度を検出するための速度センサ４１２を備えている。
【０１１０】
移動端末４１０のコンピュータ４１６は、地図データベース２０と、位置取得部２２と、速度センサ４１２によって検出された自車両の速度を取得する速度取得部４２２と、位置取得部２２によって取得された自端末位置と交差点位置との距離、及び速度取得部４２２により取得された自車両の速度に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部４２４と、ＤＨＴ管理部２６と、管理テーブル記憶部２８と、ＤＨＴデータ記憶部３０とを備えている。
【０１１１】
仮想ノード数決定部４２４は、交差点の中心位置からの距離が、近いほど、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。また、仮想ノード数決定部４２４は、自車両の速度が遅いほど、大きい重み係数を決定し、自車両の速度が速いほど、小さい重み係数を決定する。仮想ノード数決定部４２４は、交差点の中心位置からの距離に応じて決定した仮想ノード数と重み係数とを乗算して、自端末に対する仮想ノード数を決定する。
【０１１２】
例えば、自車両の速度が０〜１０［ｋｍ／ｈ］であれば、重み係数を２．０と決定し，１０〜３０［ｋｍ／ｈ］であれば、重み係数を１．０と決定し、３０〜６０［ｋｍ／ｈ］であれば、重み係数を０．５と決定する。
【０１１３】
これによって、図３１に示すように、速度が速い車両に搭載された移動端末４１０と、速度が遅い車両に搭載された移動端末４１０で、交差点中心位置からの距離が同じであっても、割り当てられる仮想ノード数が異なる。
【０１１４】
なお、第４の実施の形態に係る移動端末４１０の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１１５】
このように、第４の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、移動端末を搭載している車両の速度が速い場合には、交差点エリア内に留まる時間が短いため、割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、移動速度が速い移動端末に対して、割り当てるエリアデータを少なくすることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【０１１６】
また、移動端末を搭載している車両が停止している場合、検出される速度が低くなり、仮想ノード数が増加するため、交差点エリア内で停止している移動端末が多くのエリアデータを持つことになる。交差点エリア内で停止している移動端末が多くデータを持つことで、交差点エリア外へ出て行く移動端末が持つデータ量が相対的に減少させることができる。
【０１１７】
次に、第５の実施の形態に係る移動端末について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１１８】
第５の実施の形態では、自車両の直近の交差点における自車両の走行路に対する信号状況を取得し、取得した信号状況を更に考慮して、仮想ノード数を決定している点が第１の実施の形態と異なっている。
【０１１９】
図３２に示すように、第５の実施の形態に係る移動端末５１０のデータ通信部１４は、周辺の他の移動端末５１０と無線通信を行うと共に、交差点の信号機と無線通信を行い、信号機の位置情報及び信号機の信号状況（点灯している信号色）を取得する。
【０１２０】
移動端末５１０のコンピュータ５１６は、地図データベース２０と、位置取得部２２と、位置取得部２２によって取得された自端末位置と交差点位置とデータ通信部１４で受信した信号機の信号状況及び位置情報に基づいて、自端末の直近の交差点の信号機であって、自車両の走行路に対する信号機の信号状況を取得する信号状況取得部５２２と、位置取得部２２によって取得された自端末位置と交差点位置との距離、及び信号状況取得部５２２によって取得した信号機の信号状況に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部５２４と、ＤＨＴ管理部２６と、管理テーブル記憶部２８と、ＤＨＴデータ記憶部３０とを備えている。
【０１２１】
仮想ノード数決定部５２４は、交差点の中心位置からの距離が近いほど、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。また、仮想ノード数決定部５２４は、取得した自車両の走行路に対する信号機の信号状況が青信号である場合には、停止せずに交差点から抜ける可能性が高いので、小さい重み係数を決定する。仮想ノード数決定部５２４は、取得した自車両の走行路に対する信号機の信号状況が赤信号又は黄信号である場合には、停止して交差点内に居続ける可能性が高いので、大きい重み係数を決定する。仮想ノード数決定部５２４は、交差点の中心位置からの距離に応じて決定した仮想ノード数と、重み係数とを乗算して、自端末に対する仮想ノード数を決定する。
【０１２２】
例えば、赤信号又は黄信号であれば、重み係数を２．０と決定し、青信号であれば、重み係数を０．５と決定する。
【０１２３】
このように、信号が赤の場合、重み係数を調整し仮想ノード数を増加させ、多くのデータを持ち、信号が青の場合、重み係数を調整し仮想ノード数を減少させる。これによって、交差点内で停止している車両の移動端末５１０が多くデータを持ち、今後交差点から出て行くと予想される車両の移動端末５１０が持つデータ量が減少する。
【０１２４】
なお、第５の実施の形態に係る移動端末５１０の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１２５】
以上説明したように、第５の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、移動端末を搭載している車両の手前の信号機が赤信号又は黄信号である場合には、交差点エリア内に長く留まる可能性が高いため、割り当てられる仮想ノード数が多くなるように仮想ノード数を決定することにより、赤信号で停止する車両に搭載された移動端末に対して、多くのエリアデータを割り当てることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【０１２６】
なお、上記の実施の形態では、信号機の信号状況を無線通信で取得する場合を例に説明したが、これに限定されるものではなく、車両に搭載された撮像装置によって撮像された画像に対して画像処理を行って、手前の信号機の信号状況を検出するようにしてもよい。
【０１２７】
次に、第６の実施の形態に係る移動端末について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１２８】
第６の実施の形態では、自車両の直近の交差点における自車両の走行路に対する信号状況を取得すると共に、自車両の速度を取得し、交差点内に滞在する時間を計算している点と、交差点内に滞在する時間を更に考慮して、仮想ノード数を決定している点とが第１の実施の形態と異なっている。
【０１２９】
図３３に示すように、第６の実施の形態に係る移動端末６１０のデータ通信部１４は、周辺の他の移動端末６１０と無線通信を行うと共に、交差点の信号機と無線通信を行い、信号機の位置情報、信号機の信号状況（点灯している信号色）、及び信号状況が切り替わるまでの時間を取得する。また、移動端末６１０は、速度センサ４１２を備えている。
【０１３０】
移動端末６１０のコンピュータ６１６は、地図データベース２０と、位置取得部２２と、速度取得部４２２と、信号状況取得部５２２と、取得された自車両位置、自車両の速度、直近の交差点の信号機の信号状況、及び信号状況が切り替わるまでの時間に基づいて、交差点内に滞在する時間を推定する滞在時間推定部６２２と、位置取得部２２によって取得された自端末位置と交差点位置との距離、及び滞在時間推定部６２２によって推定した交差点内に滞在する時間に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部６２４と、ＤＨＴ管理部２６と、管理テーブル記憶部２８と、ＤＨＴデータ記憶部３０とを備えている。
【０１３１】
信号状況取得部５２２は、位置取得部２２によって取得された自端末位置及び交差点位置と、データ通信部１４で受信した信号機の信号状況及び位置情報とに基づいて、自端末の直近の交差点の信号機であって、自車両の走行路に対する信号機の信号状況及び信号状況が切り替わるまでの時間を取得する。
【０１３２】
滞在時間推定部６２２は、自車両の位置、自車両の車速、交差点の中心位置、現在の信号機の信号状況、及び当該信号状況が切り替わるまでの時間に基づいて、交差点を通過するまでの時間を算出し、交差点内に滞在する時間の推定値とする。
【０１３３】
仮想ノード数決定部６２４は、交差点の中心位置からの距離が、近いほど、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。また、仮想ノード数決定部６２４は、推定した交差点内に滞在する時間が長いほど、大きい重み係数を決定し、推定した交差点内に滞在する時間が短いほど、小さい重み係数を決定する。仮想ノード数決定部６２４は、交差点の中心位置からの距離に応じて決定した仮想ノード数と重み係数とを乗算して、自端末に対する仮想ノード数を決定する。
【０１３４】
なお、第６の実施の形態に係る移動端末６１０の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１３５】
以上説明したように、第６の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、交差点内に滞在する時間を推定し、推定された交差点内に滞在する時間が長いほど、割り当てられる仮想ノード数が多くなるように仮想ノード数を決定することにより、交差点内に滞在する時間が長い車両に搭載された移動端末に対して、多くのエリアデータを割り当てることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【０１３６】
なお、上記の第１の実施の形態〜第６の実施の形態において、交差点エリア内の移動端末群で、データ分散記憶システムを実現する場合を例に説明したが、これに限定されるものではなく、交差点エリア内に、固定端末を設け、交差点エリア内の移動端末群と固定端末とで、データ分散記憶システムを実現するようにしてもよい。この場合には、固定端末に対して、所定の仮想ノード数を割り当てるようにすればよい。これによって、エリア内に移動端末が存在しない場合であっても、エリア内にエリアデータを維持することができる。
【０１３７】
また、交差点の基準位置として、交差点の中心位置を用いる場合を例に説明したが、これに限定されるものではなく、交差点内の他の所定位置を、交差点の基準位置として用いてもよい。
【０１３８】
また、仮想分散データベースを実現するエリアが、交差点である場合を例に説明したが、これに限定されるものではなく、他の所定エリアで、仮想分散データベースを実現するようにしてもよい。
【０１３９】
また、上記の第２の実施の形態〜第６の実施の形態で説明した仮想ノード数の決定方法を組み合わせた方法により、自端末の仮想ノード数を決定するようにしてもよい。
【符号の説明】
【０１４０】
１０、２１０、３１０、４１０、５１０、６１０     移動端末
１２   ＧＰＳ
１４   データ通信部
１６、２１６、３１６、４１６、５１６、６１６     コンピュータ
２０   地図データベース
２２   位置取得部
２４、２２４、４２４、５２４、６２４      仮想ノード数決定部
２６   ＤＨＴ管理部
２８   管理テーブル記憶部
３０   ＤＨＴデータ記憶部
２２２ 方向判定部
３１２ ＶＩＣＳ装置
３２２ 渋滞情報取得部
３２４ 分布調整部
４１２ 速度センサ
４２２ 速度取得部
５２２ 信号状況取得部
６２２ 滞在時間推定部
【図１】
2013058047.tif 000003
【図３】
2013058047.tif 000004
【図７】
2013058047.tif 000005
【図９】
2013058047.tif 000006
【図１１】
2013058047.tif 000007
【図１２】
2013058047.tif 000008
【図１４】
2013058047.tif 000009
【図１６】
2013058047.tif 000010
【図１７】
2013058047.tif 000011
【図１８】
2013058047.tif 000012
【図１９】
2013058047.tif 000013
【図２０】
2013058047.tif 000014
【図２１】
2013058047.tif 000015
【図２２】
2013058047.tif 000016
【図２３】
2013058047.tif 000017
【図２４】
2013058047.tif 000018
【図２５】
2013058047.tif 000019
【図２７】
2013058047.tif 000020
【図３０】
2013058047.tif 000021
【図３２】
2013058047.tif 000022
【図３３】
2013058047.tif 000023
【図２】
2013058047.tif 000024
【図４】
2013058047.tif 000025
【図５】
2013058047.tif 000026
【図６】
2013058047.tif 000027
【図８】
2013058047.tif 000028
【図１０】
2013058047.tif 000029
【図１３】
2013058047.tif 000030
【図１５】
2013058047.tif 000031
【図２６】
2013058047.tif 000032
【図２８】
2013058047.tif 000033
【図２９】
2013058047.tif 000034
【図３１】
2013058047.tif 000035