説明

移動端末

【課題】分散ネットワークからの離脱に伴うデータ管理負荷の増大を抑制することができるようにする。
【解決手段】位置取得部22によって、自端末の位置と直近の交差点中心位置とを取得する。仮想ノード数決定部24によって、自端末の位置と交差点中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定する。DHT管理部26によって、決定された仮想ノード数が増えた場合には、増えた分の仮想ノードに対して割り当てられるエリアデータを、該エリアデータを記憶した移動端末10から受信するようにデータ通信部14を制御する。DHT管理部26によって、決定された仮想ノード数が減った場合には、減った分の仮想ノードに割り当てられているエリアデータを、該エリアデータが割り当てられる仮想ノードに対応する移動端末10へ送信するようにデータ通信部14を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、移動端末に係り、特に、エリアに関するデータを移動端末群で分散して記憶する移動端末に関する。
【背景技術】
【0002】
従来から、モバイルノード間の物理的な距離を反映させた上で、DHT(Distributed Hash Table)上のIDを決定する分散ネットワークが知られている(特許文献1)。具体的には、Vivaldiと呼ばれるノード間の物理距離を推定するアルゴリズムを用いて、各ノードの位置(座標)を推定する。推定した位置を用いて、DHT上のIDを決定することで、物理的な位置と論理的な位置を対応付けている。
【0003】
また、ある物理空間内に複数のランドマークと呼ばれる移動しないノードが存在しており、各モバイルノードはそれらの移動しないノードとの対応時間を計測し、計測した対応時間から位置を推定し、推定した位置をもとにDHT上のIDを決定する方法が知られている(特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−299586号公報
【特許文献2】特開2008−269141号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の特許文献1、2に記載の技術では、分散ネットワークのエリア端において、分散ネットワークからの離脱に伴い、データ管理負荷が増大してしまう、という問題がある。
【0006】
本発明は、上記の問題点を解決するためになされたもので、分散ネットワークからの離脱に伴うデータ管理負荷の増大を抑制することができる移動端末を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために本発明に係る移動端末は、予め定められたエリアに関連するエリアデータを、移動端末群の各移動端末に対して割り当てられる少なくとも1つのノードを含むノードの集合に対して分散して割り当てることにより、前記エリアデータを前記移動端末群の各移動端末で分散して記憶するためのデータ分散記憶システムにおける移動端末であって、周辺の移動端末と無線通信を行うための通信手段と、自端末の位置情報と前記エリアの基準位置を示す位置情報とを取得する位置取得手段と、前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるように前記ノード数を決定するノード数決定手段と、前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より増えた場合には、増えた分の前記ノードに対して割り当てられる前記エリアデータを、該エリアデータを記憶した前記移動端末から受信するように前記通信手段を制御するデータ受信制御手段と、前記自端末に対する前記ノードに割り当てられた前記エリアデータを記憶する記憶手段と、前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より減った場合には、減った分の前記ノードに割り当てられているエリアデータを、前記記憶手段から読み込み、該エリアデータが割り当てられる前記ノードに対応する前記移動端末へ送信するように前記通信手段を制御するデータ送信制御手段と、を含んで構成されている。
【0008】
本発明に係る移動端末によれば、位置取得手段によって、自端末の位置情報と前記エリアの基準位置を示す位置情報とを取得する。ノード数決定手段によって、前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるように前記ノード数を決定する。
【0009】
そして、データ受信制御手段によって、前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より増えた場合には、増えた分の前記ノードに対して割り当てられる前記エリアデータを、該エリアデータを記憶した前記移動端末から受信するように前記通信手段を制御する。データ送信制御手段によって、前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より減った場合には、減った分の前記ノードに割り当てられているエリアデータを、前記記憶手段から読み込み、該エリアデータが割り当てられる前記ノードに対応する前記移動端末へ送信するように前記通信手段を制御する。
【0010】
このように、エリアの基準位置との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるようにノード数を決定することにより、エリアの基準位置との距離が長いほど、自端末に割り当てられるエリアデータを少なくすることができるため、分散ネットワークからの離脱に伴うデータ管理負荷の増大を抑制することができる。
【0011】
本発明に係る移動端末は、前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報とに基づいて、自端末が前記エリアの基準位置へ向かっているか否かを判定する方向判定手段を更に含み、前記ノード数決定手段は、前記方向判定手段によって自端末が前記エリアの基準位置へ向かっていると判定された場合に、自端末に対するノード数が多くなるように決定するようにすることができる。これによって、エリアの基準位置へ向かっている移動端末に対して、多くのエリアデータを割り当てることができ、エリア内でエリアデータを維持することができる。
【0012】
本発明に係る移動端末は、前記エリア内の渋滞情報を取得する渋滞情報取得手段を更に含み、前記移動端末が、車両に搭載され、前記ノード数決定手段は、前記渋滞情報取得手段によって取得された前記渋滞情報に基づいて、自端末に対するノード数を決定するようにすることができる。これによって、渋滞しているエリア内の移動端末に対して、多くのエリアデータを割り当てることができ、エリア内でエリアデータを維持することができる。
【0013】
本発明に係る移動端末は、自端末の移動速度を検出する速度検出手段を更に含み、前記ノード数決定手段は、前記速度検出手段によって検出された自端末の移動速度が速いほど、自端末に対するノード数が少なくなるように決定することができる。これによって、移動速度が速い移動端末に対して、割り当てるエリアデータを少なくすることができ、エリア内でエリアデータを維持することができる。
【0014】
本発明に係る前記移動端末は、車両に搭載され、前記エリアは、信号交差点を含み、自車両の前方に存在する信号機であって、かつ、自車両の走行路に対する信号機の信号状況を取得する信号状況取得手段を更に含み、前記ノード数決定手段は、前記信号状況取得手段によって取得された信号状況が赤信号である場合に、自端末に対するノード数が多くなるように決定するようにすることができる。これによって、赤信号で停止する車両に搭載された移動端末に対して、多くのエリアデータを割り当てることができ、エリア内でエリアデータを維持することができる。
【0015】
本発明に係る移動端末は、車両に搭載され、前記エリアは、信号交差点を含み、自車両の前方に存在する信号機であって、かつ、自車両の走行路に対する信号機の信号状況及び前記信号状況が切り替わるまでの時間を取得する信号状況取得手段と、自車両の移動速度を検出する速度検出手段と、前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報と、前記信号状況取得手段によって取得された前記信号機の信号状況及び前記信号状況が変化するまでの時間と、前記速度検出手段によって検出された自車両の移動速度とに基づいて、自車両がエリア内に滞在する時間を算出するエリア内滞在時間算出手段とを更に含み、前記ノード数決定手段は、前記エリア内滞在時間算出手段によって取得された前記交差点内に滞在する時間が長いほど、自端末に対するノード数が多くなるように決定するようにすることができる。これによって、交差点内に滞在する時間が長い車両に搭載された移動端末に対して、多くのエリアデータを割り当てることができ、エリア内でエリアデータを維持することができる。
【発明の効果】
【0016】
以上説明したように、本発明の移動端末によれば、エリアの基準位置との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるようにノード数を決定することにより、エリアの基準位置との距離が長いほど、自端末に割り当てられるエリアデータを少なくすることができるため、分散ネットワークからの離脱に伴うデータ管理負荷の増大を抑制することができる、という効果が得られる。
【図面の簡単な説明】
【0017】
【図1】本発明の第1の実施の形態に係る移動端末の構成を示すブロック図である。
【図2】データを分散管理するエリアの例を示すイメージ図である。
【図3】ノードのハッシュ値とデータのハッシュ値との対応関係を示す図である。
【図4】(A)ノードのハッシュ値とデータのハッシュ値との対応関係を示す図、及び(B)仮想ノードを割り当てた場合におけるノードのハッシュ値とデータのハッシュ値との対応関係を示す図である。
【図5】移動端末がエリア外にエリアデータを持ち出してしまう様子を示すイメージ図である。
【図6】交差点内の移動端末に対してデータが割り当てられている様子を示す図である。
【図7】交差点内の移動端末に対してデータが割り当てられている様子を示す図である。
【図8】エリアから離脱する移動端末が、他の移動端末にエリアデータを渡す様子を示すイメージ図である。
【図9】交差点内の移動端末に対してデータが割り当てられている様子を示す図である。
【図10】交差点中心との距離と仮想ノード数との対応関係を表わす仮想ノード数分布を示す図である。
【図11】交差点内の移動端末に対してデータが割り当てられている様子を示す図である。
【図12】DHTへ参加するノードを追加した様子を示す図である。
【図13】DHTへ参加した移動端末が、他の移動端末からエリアデータを受け取る様子を示す図である。
【図14】DHTから離脱するノードを削除した様子を示す図である。
【図15】DHTから離脱した移動端末が、他の移動端末へエリアデータを渡す様子を示す図である。
【図16】ルーティングテーブルを示す図である。
【図17】各移動端末に対して仮想ノードが割り当てられている様子を示す図である。
【図18】仮想ノード管理テーブルを示す図である。
【図19】本発明の第1の実施の形態に係る移動端末における参加時処理ルーチンの内容を示すフローチャートである。
【図20】本発明の第1の実施の形態に係る移動端末における参加中処理ルーチンの内容を示すフローチャートである。
【図21】本発明の第1の実施の形態に係る移動端末における仮想ノード数調整パケット受信時処理ルーチンの内容を示すフローチャートである。
【図22】本発明の第1の実施の形態に係る移動端末におけるデータパケット送信処理ルーチンの内容を示すフローチャートである。
【図23】本発明の第1の実施の形態に係る移動端末におけるデータパケット受信時処理ルーチンの内容を示すフローチャートである。
【図24】(A)各ノードに割り当てられているデータを示す図、及び(B)各ノードに対してデータが割り当てられている様子を示す図である。
【図25】本発明の第2の実施の形態に係る移動端末の構成を示すブロック図である。
【図26】交差点内の位置と仮想ノード数との対応関係を示す図である。
【図27】本発明の第3の実施の形態に係る移動端末の構成を示すブロック図である。
【図28】仮想ノード数分布を調整する様子を示す図である。
【図29】仮想ノード数分布を調整する様子を示す図である。
【図30】本発明の第4の実施の形態に係る移動端末の構成を示すブロック図である。
【図31】交差点内の移動端末に対する仮想ノード数を決定する方法を説明するための図である。
【図32】本発明の第5の実施の形態に係る移動端末の構成を示すブロック図である。
【図33】本発明の第6の実施の形態に係る移動端末の構成を示すブロック図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の好適な実施の形態について説明する。なお、本発明を適用した移動端末を車両に搭載し、複数の移動端末の間で無線通信を行って、データを分散して記憶するデータ分散記憶システムを例に説明する。
【0019】
図1に示すように、第1の実施の形態に係るデータ分散記憶システムの移動端末10は、自端末を搭載している車両に設けられ、かつ、自端末の位置を測定するためのGPS12と、周辺の他の移動端末10と無線通信を行うためのデータ通信部14と、GPS12によって測定された自端末の位置に基づいて、周辺の複数の移動端末10を含む移動端末群でのデータの分散管理を行うコンピュータ16とを備えている。
【0020】
データ通信部14は、無線アドホック通信を行って、周辺の他の移動端末10と通信を行い、アドホックルーティングによってエリア内にネットワークを形成する。なお、アドホックルーティングのプロトコルは任意である。
【0021】
コンピュータ16は、移動端末10全体の制御を司るCPU、後述する参加時処理ルーチン、参加中処理ルーチン、仮想ノード数調整パケット受信時処理ルーチン、データパケット送信処理ルーチン、及びデータパケット受信時処理ルーチンのプログラム等を記憶した記憶媒体としてのROM、ワークエリアとしてデータを一時格納するRAM、及びこれらを接続するバスを含んで構成されている。このような構成の場合には、各構成要素の機能を実現するためのプログラムをROMに記憶しておき、これをCPUが実行することによって、各機能が実現されるようにする。
【0022】
このコンピュータ16をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、上記図1に示すように、各交差点の中心位置を含む道路地図データを記憶する地図データベース20と、GPS12によって計測された自端末の位置を取得する共に、地図データベース20から自車両の直近の交差点位置を取得する位置取得部22と、位置取得部22によって取得された自端末位置と交差点位置との距離に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部24と、DHTに従ってデータ分散管理を行うDHT管理部26と、データ分散管理に用いられるテーブルを記憶する管理テーブル記憶部28と、自端末に対して割り当てられたエリアデータを記憶するDHTデータ記憶部30とを備えている。なお、DHT管理部26が、データ受信制御手段及びデータ送信制御手段の一例である。
【0023】
ここで、本実施の形態に係るデータ分散管理を行う原理について説明する。
【0024】
本実施の形態では、図2に示すように、移動体が無線通信を行う環境下で、位置に依存した情報(エリアデータ)を、特定のエリア(例えば、交差点)内の複数の移動端末によって維持し、分散管理する。エリアから離脱する移動端末は、エリア内の他の移動端末にデータを転送することで、エリア内へ情報を維持する。データの分散管理を、DHTを用いて実現する。DHT(Distributed Hash Table)とは、分散環境でデータを管理する手法の1つであり、ハッシュテーブルを用いてデータを管理する手法である。また、ハッシュテーブルは、キーとデータの組を格納し、キーに対応するデータをすばやく参照するためのデータ構造である。
【0025】
DHTの例としては、Chord、Pastry、Kademliaなどが挙げられ、DHTの応用例としては、Dynamo、Cassandra、Kaiなどがある。
【0026】
DHTを用いることにより、データ管理負荷をノードに対して均等に分散でき、エリアデータを誰が持つか、サーバ無しで一意に決定でき、データのキーが分かれば正確な目的地がわからなくてもルーティング可能である。ただし、ルーティングテーブルが正しく構成されていることが条件である。また、DHTを無線通信環境で応用することで、特定エリアに仮想分散データベースを実現することができる。
【0027】
ここで、Chordを用いたデータ分散管理について説明する。各移動端末の持つ固有のIDとデータの持つ固有のIDとをそれぞれ、ハッシュ関数を用いてハッシュ値にする。移動端末(ノード)とデータとは、図3のように対応付けられ、データは、自身のハッシュ値より大きいハッシュ値を持つ移動端末(ノード)の中で、最小のハッシュ値を持つ移動端末(ノード)に保存される。このとき、図4(A)のように、ランダムにデータを配置するため、1つのノードに負荷が偏る可能性がある。そこで、本実施の形態では、図4(B)に示すように、更に仮想ノードを配置して、負荷分散を図る。1つのノードは、少なくとも1つの仮想ノード(自身のノードを含む)を持つ。
【0028】
また、各移動端末は任意のタイミングでDHTからの離脱を決定する。そのため、図5に示すように、エリア内で保持すべきエリアデータをエリア外へ持ち出し、エリアデータにアクセスできなくなる可能性がある。
【0029】
そこで、本実施の形態では、仮想ノード数決定部24によって、位置取得部22によって取得された自端末位置と交差点位置との距離が、所定値以内であれば、仮想ノード数を1以上とするように決定して、DHTへの参加を自動的に管理する。また、仮想ノード数決定部24によって、位置取得部22によって取得された自端末位置と交差点位置との距離が、所定値より大きい場合には、仮想ノード数を0とするように決定して、DHTからの離脱を自動的に管理する。これによって、図6に示すように、エリア(交差点)の中心位置から所定距離の範囲内に存在する移動端末10は、DHTへ参加し、図7に示すように、移動端末10の仮想ノードに、エリアデータが対応付けられる。
【0030】
ここで、各移動端末10を搭載する車両がエリアの外へ出るときに、仮想ノード数を0にして、保持しているエリアデータを全てエリア内にブロードキャストする必要がある。このとき、図8、図9に示すように、エリアから離脱する車両の移動端末10が、大量のデータを管理している場合、エリア内の他の移動端末10へのブロードキャストが間に合わずに、データをエリア外へ持ち出してしまう可能性がある。
【0031】
そこで、仮想ノード数決定部24によって、図10に示すように、交差点の中心位置からの距離が近いほど、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。これによって、図11に示すように、交差点の中心位置に近い移動端末(ノード)ほど、多くの仮想ノードが割り当てられ、結果として、多くのエリアデータが割り当てられる。仮想ノード数決定部24には、上記図10に示すような、交差点中心位置との距離と仮想ノード数との対応関係を示す仮想ノード数分布が予め記憶されており、仮想ノード数決定部24は、仮想ノード数分布を用いて、自端末に対する仮想ノード数を決定する。
【0032】
DHT管理部26は、仮想ノード数が0と決定されている状態から、仮想ノード数が1以上になると、DHTへの参加処理を行う。参加処理では、図12に示すように、自端末EのIDのハッシュ値f(E)を計算して、自端末の仮想ノードを追加する。これによって、図13に示すように、自端末の仮想ノードに割り当てられるエリアデータが、他の移動端末Aから送信され、自端末が当該エリアデータを受け取る。なお、図13の例では、他の移動端末Dを介して、他の移動端末Aからのエリアデータを自端末Eが受け取っている。
【0033】
DHT管理部26は、仮想ノード数が1以上であると決定されている状態から、仮想ノード数が0になると、DHTからの離脱処理を行う。離脱処理では、図14に示すように、自端末に割り当てられている仮想ノードを削除する。これによって、図15に示すように、自端末(図15のG参照)の仮想ノードに割り当てられていたエリアデータが、他の移動端末Dへ送信される。なお、図15の例では、他の移動端末Fを介して、自端末Gから他の移動端末Dへエリアデータが送信されている。
【0034】
また、DHT管理部26は、参加処理及び離脱処理において、図16に示すようなルーティングテーブルに、仮想ノードの情報を追加し、あるいはルーティングテーブルから仮想ノードの情報を削除する。なお、図16のルーティングテーブルでは、図17に示すように各ノードのハッシュ値が割り当てられている場合を表わしている。ただし、f(x)は、ハッシュ関数を表わし、0〜MAXの値を得る関数である。また、f’(x)=f(f(x))である。
【0035】
DHT管理部26は、自端末が新たにDHTへ参加する場合、まずエリア内の周辺の移動端末10からルーティングテーブルを受信し、それに自分の情報を加え、改変された部分だけブロードキャストする。改変された情報を受け取った他の移動端末10は、新たにDHTに参加した移動端末10が保持する必要があるエリアデータをブロードキャストする。
【0036】
また、ルーティングテーブルを維持する手法は、様々な手法が考えられ、例えば通常のChordの手法を流用する場合、移動端末10がDHT参加時に他の移動端末10から受信したルーティングテーブルを用いてルーティングテーブルを作成し、その後、周期的に他の移動端末10に確認を取る(Stabilization処理)ことで維持する。また、周期ブロードキャストとGossipプロトコルを用いて、各移動端末10が周期的に自端末の維持しているルーティングテーブルの情報をランダムに選択しブロードキャストすることでルーティングテーブルを維持するようにしてもよい。
【0037】
また、DHT管理部26は、図18に示すような、仮想ノード管理テーブルに、ノード(移動端末)毎の仮想ノード数を登録する。
【0038】
上記のルーティングテーブル及び仮想ノード管理テーブルは、各移動端末10の管理テーブル記憶部28に記憶されている。
【0039】
上記のように、各ノードは少なくとも1つの仮想ノードを持ち、各ノードのn個目の仮想ノードは、同じハッシュ関数をn回使用することで導かれる。例えば、ノードIDをxとする4個目の仮想ノードのハッシュ値はf(f(f(f(x))))である。ただし、この仮想ノードのハッシュ値の導き方は一例であり、n個目の仮想ノード毎に別のハッシュ関数を与える等、他の手法であってもよい。
【0040】
DHT管理部26は、DHTへの参加中に、仮想ノード数が増加すると、増加分の仮想データのIDのハッシュ値を計算して、ルーティングテーブルに、自端末の仮想ノードを更に追加する。これによって、自端末に追加された仮想ノードに割り当てられるエリアデータが、他の移動端末10から送信され、自端末が当該エリアデータを受け取る。
【0041】
DHT管理部26は、DHTへの参加中に、仮想ノード数が減少すると、ルーティングテーブルから減少分の仮想ノードを削除する。これによって、減少分の仮想ノードに割り当てられていたエリアデータが、他の移動端末10へ送信される。
【0042】
このように、DHT管理部26が、DHTへの参加処理、離脱処理、仮想ノードの追加処理、及び仮想ノードの減少処理を行うことにより、各移動端末10が仮想ノードに対応付けられたデータを分散して記憶する。
【0043】
また、図10、図11に示すように、エリア中心付近の移動端末10が仮想ノードを多く持つため、エリア中心に多くのデータが集まる。
【0044】
また、エリアの中心から移動端末10が離れていくときに、徐々に仮想ノード数が減少し、減少分の仮想ノードに割り当てられていたエリアデータをエリア内の他の移動端末10に渡す。そのため、移動端末10が中心からエリア端に近づくにつれて、所有しているデータ量が減少していく。
【0045】
エリア端からエリア外へ出る時には、所持しているエリアデータ全てを他の移動端末10に渡す。エリア端にたどり着いた移動端末10の所有しているデータ量が少ないため、エリア端でブロードキャストするデータのトラフィックが少ない。これによって、エリアデータをエリア内に留めることができる可能性が高まる。
【0046】
次に、本実施の形態に係る移動端末10の作用について説明する。移動端末10を搭載した車両の走行中に、自端末の仮想ノード数が0で、DHTへ参加していない場合には、コンピュータ16において、図19に示す参加時処理ルーチンが実行される。
【0047】
まず、ステップ100において、GPS12から自車両の位置を取得すると共に、自車両の直近にある交差点の位置(予め求められた交差点の中心位置)を、地図データベース20から取得する。
【0048】
そして、ステップ102において、上記ステップ100で取得した自車両の位置と交差点の位置との距離と、交差点中心位置との距離と仮想ノード数との対応関係を示す仮想ノード数分布とに基づいて、自端末に対する仮想ノード数Nを決定する。
【0049】
次のステップ104では、上記ステップ102で決定された仮想ノード数Nが0より大きいか否かを判定する。決定された仮想ノード数Nが0である場合には、上記ステップ100へ戻るが、一方、決定された仮想ノード数Nが0より大きい場合には、DHTへ参加すると判断し、ステップ106へ進む。
【0050】
ステップ106では、エリア内に存在する周辺の移動端末10とデータ通信を行い、周辺の移動端末10に記憶されているルーティングテーブル及び仮想ノード管理テーブルを、当該周辺の移動端末10から受信して取得し、管理テーブル記憶部28に格納する。
【0051】
そして、ステップ108において、上記ステップ102で決定された仮想ノード数Nだけ、自端末の仮想ノードに対するハッシュ値を計算して、自端末に対する全ての仮想ノードの情報を、ルーティングテーブルに追加すると共に、仮想ノード管理テーブルに、自端末の仮想ノード数を登録する。
【0052】
次のステップ110では、DHTへ参加したことをエリア内に知らせるために、仮想ノード数調整パケットを、データ通信部14によりエリア内にブロードキャストする。仮想ノード数調整パケットには、少なくとも、自端末のID(ノードのID)と自端末に対して決定された仮想ノードの数とが含まれている。
【0053】
そして、後述する参加中処理へ切り替わる。
【0054】
次に、コンピュータ16によって実行される参加中処理ルーチンについて図20を用いて説明する。
【0055】
ステップ120において、GPS12から自車両の位置を取得すると共に、自車両の直近にある交差点の位置を、地図データベース20から取得する。
【0056】
そして、ステップ122において、上記ステップ120で取得した自車両の位置と交差点の位置との距離と、予め求められた交差点中心位置との距離と仮想ノード数との対応関係を示す仮想ノード数分布とに基づいて、自端末に対する仮想ノード数Nを決定する。
【0057】
次のステップ124では、管理テーブル記憶部28に記憶された仮想ノード管理テーブルから、前回決定された自端末の仮想ノード数N’を取得する。
【0058】
ステップ126において、上記ステップ122で今回決定された仮想ノード数Nと、上記ステップ124で取得した自端末の仮想ノード数N’との大小関係を判定する。今回決定された仮想ノード数Nと、自端末の仮想ノード数N’とが等しい場合には、上記ステップ120へ戻る。一方、今回決定された仮想ノード数Nが、自端末の仮想ノード数N’より大きい場合には、ステップ128において、仮想ノード数が増加したことをエリア内に知らせるために、上記ステップ128と同様に仮想ノード数調整パケットをエリア内にブロードキャストする。
【0059】
そして、ステップ130において、管理テーブル記憶部28に記憶された仮想ノード管理テーブルに対して、自端末の仮想ノード数を更新する。
【0060】
そして、ステップ132において、増加分の仮想ノードのハッシュ値を計算すると共に、管理テーブル記憶部28に記憶されたルーティングテーブルに対して、増加分の仮想ノードを追加して、上記ステップ120へ戻る。
【0061】
上記ステップ126において、今回決定された仮想ノード数Nが、自端末の仮想ノード数N’より小さい場合には、ステップ134において、減少分の仮想ノードに割り当てられているエリアデータをデータパケットとして送信する処理を行う。そして、ステップ136において、仮想ノード数が減少したことをエリア内に知らせるために、上記ステップ128と同様に仮想ノード数調整パケットを、データ通信部14によりエリア内にブロードキャストする。
【0062】
そして、ステップ138において、管理テーブル記憶部28に記憶された仮想ノード管理テーブルに対して、自端末の仮想ノード数を更新する。
【0063】
そして、ステップ140において、管理テーブル記憶部28に記憶されたルーティングテーブルから、減少分の仮想ノードを削除する。
【0064】
次のステップ142では、今回決定された仮想ノード数Nが0であるか否かを判定する。仮想ノード数が1以上である場合には、上記ステップ120へ戻るが、一方、仮想ノード数が0である場合には、DHTから離脱すると判断し、ステップ144において、管理テーブル記憶部28に記憶されたルーティングテーブル及び仮想ノード管理テーブルのデータを削除する。
【0065】
そして、上述した参加時処理へ切り替わる。
【0066】
また、データ通信部14によって他の移動端末10から仮想ノード数調整パケットを受信すると、コンピュータ16は、図21に示す仮想ノード数調整パケット受信時処理ルーチンを実行する。
【0067】
ステップ150において、受信した仮想ノード数調整パケットに含まれるノード(移動端末)のID及び仮想ノード数Nを取得する。
【0068】
次のステップ152では、管理テーブル記憶部28に記憶された仮想ノード管理テーブルから、上記ステップ150で取得したノードのIDが示す対象ノードの仮想ノード数N’を取得する。
【0069】
ステップ154において、上記ステップ150で取得した仮想ノード数Nと、上記ステップ152で取得した対象ノードの仮想ノード数N’との大小関係を判定する。仮想ノード数Nと、対象ノードの仮想ノード数N’とが等しい場合には、仮想ノード数調整パケット受信時処理ルーチンを終了する。一方、仮想ノード数Nが、対象ノードの仮想ノード数N’より大きい場合には、対象ノードに対する仮想ノード数が増加したと判断し、ステップ156において、管理テーブル記憶部28に記憶された仮想ノード管理テーブルに対して、対象ノードの仮想ノード数を更新する。
【0070】
そして、ステップ158において、増加分の仮想ノードのハッシュ値を計算すると共に、管理テーブル記憶部28に記憶されたルーティングテーブルに対して、増加分の仮想ノードを追加する。ステップ160では、対象ノードの増加分の仮想ノードに割り当てられるエリアデータを、自端末が記憶している場合に、当該エリアデータを、データパケットにして対象ノードに対して送信する処理を行って、仮想ノード数調整パケット受信時処理ルーチンを終了する。
【0071】
上記ステップ154において、仮想ノード数Nが、対象ノードの仮想ノード数N’より小さい場合には、対象ノードに対する仮想ノード数が減少したと判断し、ステップ162において、管理テーブル記憶部28に記憶された仮想ノード管理テーブルに対して、対象ノードの仮想ノード数を更新する。
【0072】
そして、ステップ164において、管理テーブル記憶部28に記憶されたルーティングテーブルから、減少分の仮想ノードを削除して、仮想ノード数調整パケット受信時処理ルーチンを終了する。
【0073】
上記ステップ134及びステップ160は、図22に示すデータパケット送信処理ルーチンによって実現される。データパケット送信処理ルーチンでは、増加分又は減少分の仮想ノードのハッシュ値hi(i=0,...,n−1)が入力として与えられる。ただし、nは、増加分又は減少分の仮想ノードの数を示す。
【0074】
まず、ステップ170において、増加分又は減少分の仮想ノードのハッシュ値を識別する変数iを初期値である0に設定する。そして、ステップ172において、ルーティングテーブルに基づいて、仮想ノードのハッシュ値hiの管理範囲のエリアデータを、自端末が持っているか否かを判定する。仮想ノードのハッシュ値hiの管理範囲のエリアデータを、自端末が持っていない場合には、ステップ176へ移行する。一方、仮想ノードのハッシュ値hiの管理範囲のエリアデータを、自端末が持っている場合には、ステップ174において、当該エリアデータをDHTデータ記憶部30から読み込んで、新たに割り当てられる仮想ノードの移動端末10に対して、データ通信部14によりデータパケットとして送信する。なお、データパケットには、エリアデータと、当該データのIDとが少なくとも含まれている。
【0075】
ステップ176では、変数iをインクリメントして、ステップ178において、変数iが、増加分又は減少分の仮想ノードの数nになったか否かを判定する。変数iが、増加分又は減少分の仮想ノードの数nになっていない場合には、上記ステップ172へ戻るが、変数iが、増加分又は減少分の仮想ノードの数nになった場合には、データパケット送信処理ルーチンを終了する。
【0076】
また、移動端末10が、データ通信部14によって他の移動端末10から送信されたエリアデータのデータパケットを受信した場合には、コンピュータ16によって、図23に示すデータパケット受信時処理ルーチンを実行する。
【0077】
まず、ステップ180において、受信したデータパケットから、データのIDを取得する。次のステップ182では、上記ステップ180で取得したデータのIDからハッシュ値を計算する。
【0078】
そして、ステップ184において、管理テーブル記憶部28に記憶したルーティングテーブルに基づいて、上記ステップ182で計算したハッシュ値を管理する仮想ノードを特定する。例えば、図24(A)、図24(B)に示すように、データのIDのハッシュ値と、仮想ノードのハッシュ値との大小関係に基づいて、当該エリアデータを管理する仮想ノードが特定される。
【0079】
次のステップ186では、上記ステップ184で特定された仮想ノードが、自端末の仮想ノードであるか否かを判定し、ステップ184で特定された仮想ノードが、自端末の仮想ノードでない場合には、ステップ188において、データ通信部14によって、上記ステップ184で特定された仮想ノードを持つ移動端末100に対して、受信したデータパケットを、そのまま送信して、データパケット受信時処理ルーチンを終了する。一方、ステップ184で特定された仮想ノードが、自端末の仮想ノードである場合には、ステップ190において、受信したデータパケットに含まれるエリアデータを、DHTデータ記憶部30に記憶して、データパケット受信時処理ルーチンを終了する。
【0080】
上記のように、各種処理ルーチンが各移動端末10で実行されると、交差点エリアに関連するエリアデータが、交差点内の移動端末群で分散して記憶される。例えば、付加情報サービスとして、近くの移動端末10間で、つぶやきデータ(「○○へは北に向かいます」、「東の交差点の飯屋おいしい」など)を含むエリアデータを分散して記憶したり、周辺のお店の広告情報(割引クーポンや駐車場情報など)を含むエリアデータを分散して記憶する。あるいは、交通安全アプリケーションとして、周辺で発生した事故情報(「南方3km事故発生」)を含むエリアデータを分散して記憶する。これによって、リアルタイム性の強い情報の共有、伝搬が可能となる。
【0081】
以上説明したように、第1の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点中心位置との距離が長いほど、自端末に割り当てられるエリアデータを少なくすることができるため、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができると共に、エリアデータを交差点エリア内に留めておける可能性が高くなる。
【0082】
また、交差点エリア端で大きな通信負荷が発生することを防ぎ、交差点エリア全体への通信量を平準化することが可能である。
【0083】
また、無線通信環境でDHTを応用して移動端末群でデータを管理することで、データセンタなしで移動端末とデータとの一意な対応付けが可能となり、特定エリアに仮想分散データベースを実現することができる。
【0084】
次に、第2の実施の形態に係る移動端末について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0085】
第2の実施の形態では、自端末の移動方向が、交差点へ向かっているか否かを判定し、判定結果を更に考慮して、仮想ノード数を決定している点が第1の実施の形態と異なっている。
【0086】
図25に示すように、第2の実施の形態に係る移動端末210のコンピュータ216は、地図データベース20と、位置取得部22と、位置取得部22によって取得された自端末位置と交差点位置とに基づいて、自端末の移動方向が交差点位置へ向かっているか否かを判定する方向判定部222と、位置取得部22によって取得された自端末位置と交差点位置との距離、及び方向判定部222の判定結果に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部224と、DHT管理部26と、管理テーブル記憶部28と、DHTデータ記憶部30とを備えている。
【0087】
方向判定部222は、位置取得部22によって取得された自端末位置の変化に基づいて、自端末の移動方向を求め、求めた自端末の移動方向、自端末の位置、及び交差点位置に基づいて、自端末の移動方向が交差点位置へ向かっているか否かを判定する。
【0088】
仮想ノード数決定部224は、交差点の中心位置からの距離が、近いほど、仮想ノード数が多くなるように、仮想ノード数分布に基づいて、自端末に対する仮想ノード数を決定し、更に、自端末の移動方向が交差点位置へ向かっていると判定された場合には、自端末の移動方向が交差点位置へ向かっていると判定されなかった場合に比べて、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。
【0089】
これによって、図26に示すように、交差点の中心位置に向かう移動端末と、交差点から出て行く移動端末で、交差点中心位置からの距離が同じであっても、仮想ノード数が異なる。
【0090】
例えば、交差点の中心位置を(450、450)とし、移動端末210を搭載した車両の位置が(50、450)から(150、450)へ変化したとすると、車両の位置は交差点の中心位置に向かっており、車両の位置が(150、450)であるため、4つの仮想ノードを持つ。また、移動端末210を搭載した車両の位置が(750、450)から(850、450)に変化した場合、車両の位置は交差点の中心位置に向かっていないため、仮想ノード数は2となる。上記図26の例では、交差点の中心に向う移動端末210は、全て4つの仮想ノードを持つ。一方、交差点の中心に向かっていない移動端末210の仮想ノード数は、交差点の中心位置からの距離に応じて、2、0と減少していく。
【0091】
なお、第2の実施の形態に係る移動端末210の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
【0092】
このように、第2の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、自端末が交差点の中心位置へ向かっていると判定された場合には、交差点エリア内に長く留まる可能性が高いため、割り当てられる仮想ノード数が多くなるように仮想ノード数を決定することにより、交差点の中心位置へ向かっている移動端末に対して、多くのエリアデータを割り当てることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【0093】
また、交差点の中心位置に向かう移動端末に、交差点中心付近の移動端末と同じ数の仮想ノードを持たせることで、仮想ノード数の変化による通信を抑えることができる。また、交差点エリア内全体の仮想ノード数も増加するため、仮想ノードの数を1つ減らしたときに発生するトラフィック量を少なくすることができる。
【0094】
なお、上記の実施の形態では、交差点中心位置との距離に応じて仮想ノード数を決定すると共に、交差点中心へ向かっていると判定された場合には、決定された仮想ノード数を最大値に変更する場合を例に説明したが、これに限定されるものではない。上記図26に示すような分布を、仮想ノード数分布として用いて、交差点中心位置との距離及び交差点エリア内の走行位置とに基づいて、仮想ノード数を決定するようにしてもよい。
【0095】
次に、第3の実施の形態に係る移動端末について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0096】
第3の実施の形態では、交差点内の渋滞情報を取得し、渋滞情報を更に考慮して、仮想ノード数を決定している点が第1の実施の形態と異なっている。
【0097】
図27に示すように、第3の実施の形態に係る移動端末310は、VICSセンターからVICS(Vehicle Information and Communication System)情報を取得するVICS装置312を備えている。
【0098】
移動端末310のコンピュータ316は、地図データベース20と、位置取得部22と、位置取得部22によって取得された交差点位置とVICS装置312より得られるVICS情報とに基づいて、自端末の直近の交差点の渋滞情報を取得する渋滞情報取得部322と、取得した渋滞情報に基づいて、交差点中心位置との距離と仮想ノード数との対応関係を示す仮想ノード数分布を調整する分布調整部324と、仮想ノード数決定部24と、DHT管理部26と、管理テーブル記憶部28と、DHTデータ記憶部30とを備えている。
【0099】
渋滞情報取得部322は、位置取得部22によって取得された交差点位置と、自端末の位置とに基づいて、VICS装置312より得られるVICS情報から、自端末の直近の交差点内であって、かつ、自車両の走路に関する渋滞情報を取得する。
【0100】
分布調整部324は、取得した渋滞情報に基づいて、自端末の直近の交差点内で渋滞が起きている場合、図28に示すように、仮想ノード数が多くなる範囲(例えば、最大値となる範囲)が広くなるように、仮想ノード数分布を調整する。これによって、自端末の直近の交差点内で渋滞が起きている場合、エリア内の車の速度は遅く、エリア外へエリアデータを持ち出してしまう可能性が低いため、エリア内の移動端末群における仮想ノード数が均一に近づくように、仮想ノード数分布が調整される。なお、分布調整部324は、渋滞が発生する毎に、仮想ノード数分布を調整する必要はなく、渋滞が発生した場合に、既に調整された仮想ノード数分布を用いるようにすればよい。
【0101】
例えば、図29に示すように、平常時は、交差点中心から半径200mの範囲を、仮想ノード数4とするように仮想ノード数分布を設定し、渋滞時には、半径300mの範囲を仮想ノード数4とするように仮想ノード数分布を設定する。交差点中心が(450、450)である交差点内の(250、450)の位置に居る車両に搭載された移動端末310は、渋滞情報を得ると、渋滞の状況によって、決定される仮想ノード数が変化する。
【0102】
仮想ノード数決定部24は、交差点の中心位置からの距離と、仮想ノード数分布とに基づいて、自端末に対する仮想ノード数を決定する。
【0103】
なお、第3の実施の形態に係る移動端末310の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
【0104】
このように、第3の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、交差点内が渋滞している場合には、交差点エリア内に長く留まる可能性が高いため、割り当てられる仮想ノード数が多くなるように仮想ノード数を決定することにより、渋滞している交差点内の移動端末に対して、多くのエリアデータを割り当てることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【0105】
なお、上記の実施の形態では、渋滞している場合に、仮想ノード数が多くなる範囲が広くなるように、仮想ノード数分布を調整する場合を例に説明したが、これに限定されるものではない。例えば、渋滞していない場合、エリアデータを交差点エリア外へ持ちだしてしまう可能性が高いので、仮想ノード数が少なくなる範囲を広くするように、仮想ノード数分布を調整するようにしてもよい。これによって交差点エリア内にエリアデータを維持できる可能性をより向上させる。
【0106】
また、VICS情報を取得して、渋滞情報を得る場合を例に説明したが、これに限定されるものではなく、交差点エリア付近に存在する車両と無線通信を行うことにより、渋滞情報を得るようにしてもよい。
【0107】
次に、第4の実施の形態に係る移動端末について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0108】
第4の実施の形態では、自車両の速度を取得し、自車両の速度を更に考慮して、仮想ノード数を決定している点が第1の実施の形態と異なっている。
【0109】
図30に示すように、第4の実施の形態に係る移動端末410は、自端末を搭載している車両に設けられ、かつ、車両の速度を検出するための速度センサ412を備えている。
【0110】
移動端末410のコンピュータ416は、地図データベース20と、位置取得部22と、速度センサ412によって検出された自車両の速度を取得する速度取得部422と、位置取得部22によって取得された自端末位置と交差点位置との距離、及び速度取得部422により取得された自車両の速度に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部424と、DHT管理部26と、管理テーブル記憶部28と、DHTデータ記憶部30とを備えている。
【0111】
仮想ノード数決定部424は、交差点の中心位置からの距離が、近いほど、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。また、仮想ノード数決定部424は、自車両の速度が遅いほど、大きい重み係数を決定し、自車両の速度が速いほど、小さい重み係数を決定する。仮想ノード数決定部424は、交差点の中心位置からの距離に応じて決定した仮想ノード数と重み係数とを乗算して、自端末に対する仮想ノード数を決定する。
【0112】
例えば、自車両の速度が0〜10[km/h]であれば、重み係数を2.0と決定し,10〜30[km/h]であれば、重み係数を1.0と決定し、30〜60[km/h]であれば、重み係数を0.5と決定する。
【0113】
これによって、図31に示すように、速度が速い車両に搭載された移動端末410と、速度が遅い車両に搭載された移動端末410で、交差点中心位置からの距離が同じであっても、割り当てられる仮想ノード数が異なる。
【0114】
なお、第4の実施の形態に係る移動端末410の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
【0115】
このように、第4の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、移動端末を搭載している車両の速度が速い場合には、交差点エリア内に留まる時間が短いため、割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、移動速度が速い移動端末に対して、割り当てるエリアデータを少なくすることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【0116】
また、移動端末を搭載している車両が停止している場合、検出される速度が低くなり、仮想ノード数が増加するため、交差点エリア内で停止している移動端末が多くのエリアデータを持つことになる。交差点エリア内で停止している移動端末が多くデータを持つことで、交差点エリア外へ出て行く移動端末が持つデータ量が相対的に減少させることができる。
【0117】
次に、第5の実施の形態に係る移動端末について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0118】
第5の実施の形態では、自車両の直近の交差点における自車両の走行路に対する信号状況を取得し、取得した信号状況を更に考慮して、仮想ノード数を決定している点が第1の実施の形態と異なっている。
【0119】
図32に示すように、第5の実施の形態に係る移動端末510のデータ通信部14は、周辺の他の移動端末510と無線通信を行うと共に、交差点の信号機と無線通信を行い、信号機の位置情報及び信号機の信号状況(点灯している信号色)を取得する。
【0120】
移動端末510のコンピュータ516は、地図データベース20と、位置取得部22と、位置取得部22によって取得された自端末位置と交差点位置とデータ通信部14で受信した信号機の信号状況及び位置情報に基づいて、自端末の直近の交差点の信号機であって、自車両の走行路に対する信号機の信号状況を取得する信号状況取得部522と、位置取得部22によって取得された自端末位置と交差点位置との距離、及び信号状況取得部522によって取得した信号機の信号状況に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部524と、DHT管理部26と、管理テーブル記憶部28と、DHTデータ記憶部30とを備えている。
【0121】
仮想ノード数決定部524は、交差点の中心位置からの距離が近いほど、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。また、仮想ノード数決定部524は、取得した自車両の走行路に対する信号機の信号状況が青信号である場合には、停止せずに交差点から抜ける可能性が高いので、小さい重み係数を決定する。仮想ノード数決定部524は、取得した自車両の走行路に対する信号機の信号状況が赤信号又は黄信号である場合には、停止して交差点内に居続ける可能性が高いので、大きい重み係数を決定する。仮想ノード数決定部524は、交差点の中心位置からの距離に応じて決定した仮想ノード数と、重み係数とを乗算して、自端末に対する仮想ノード数を決定する。
【0122】
例えば、赤信号又は黄信号であれば、重み係数を2.0と決定し、青信号であれば、重み係数を0.5と決定する。
【0123】
このように、信号が赤の場合、重み係数を調整し仮想ノード数を増加させ、多くのデータを持ち、信号が青の場合、重み係数を調整し仮想ノード数を減少させる。これによって、交差点内で停止している車両の移動端末510が多くデータを持ち、今後交差点から出て行くと予想される車両の移動端末510が持つデータ量が減少する。
【0124】
なお、第5の実施の形態に係る移動端末510の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
【0125】
以上説明したように、第5の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、移動端末を搭載している車両の手前の信号機が赤信号又は黄信号である場合には、交差点エリア内に長く留まる可能性が高いため、割り当てられる仮想ノード数が多くなるように仮想ノード数を決定することにより、赤信号で停止する車両に搭載された移動端末に対して、多くのエリアデータを割り当てることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【0126】
なお、上記の実施の形態では、信号機の信号状況を無線通信で取得する場合を例に説明したが、これに限定されるものではなく、車両に搭載された撮像装置によって撮像された画像に対して画像処理を行って、手前の信号機の信号状況を検出するようにしてもよい。
【0127】
次に、第6の実施の形態に係る移動端末について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0128】
第6の実施の形態では、自車両の直近の交差点における自車両の走行路に対する信号状況を取得すると共に、自車両の速度を取得し、交差点内に滞在する時間を計算している点と、交差点内に滞在する時間を更に考慮して、仮想ノード数を決定している点とが第1の実施の形態と異なっている。
【0129】
図33に示すように、第6の実施の形態に係る移動端末610のデータ通信部14は、周辺の他の移動端末610と無線通信を行うと共に、交差点の信号機と無線通信を行い、信号機の位置情報、信号機の信号状況(点灯している信号色)、及び信号状況が切り替わるまでの時間を取得する。また、移動端末610は、速度センサ412を備えている。
【0130】
移動端末610のコンピュータ616は、地図データベース20と、位置取得部22と、速度取得部422と、信号状況取得部522と、取得された自車両位置、自車両の速度、直近の交差点の信号機の信号状況、及び信号状況が切り替わるまでの時間に基づいて、交差点内に滞在する時間を推定する滞在時間推定部622と、位置取得部22によって取得された自端末位置と交差点位置との距離、及び滞在時間推定部622によって推定した交差点内に滞在する時間に基づいて、自端末に対して割り当てられる仮想ノード数を決定する仮想ノード数決定部624と、DHT管理部26と、管理テーブル記憶部28と、DHTデータ記憶部30とを備えている。
【0131】
信号状況取得部522は、位置取得部22によって取得された自端末位置及び交差点位置と、データ通信部14で受信した信号機の信号状況及び位置情報とに基づいて、自端末の直近の交差点の信号機であって、自車両の走行路に対する信号機の信号状況及び信号状況が切り替わるまでの時間を取得する。
【0132】
滞在時間推定部622は、自車両の位置、自車両の車速、交差点の中心位置、現在の信号機の信号状況、及び当該信号状況が切り替わるまでの時間に基づいて、交差点を通過するまでの時間を算出し、交差点内に滞在する時間の推定値とする。
【0133】
仮想ノード数決定部624は、交差点の中心位置からの距離が、近いほど、仮想ノード数が多くなるように、自端末に対する仮想ノード数を決定する。また、仮想ノード数決定部624は、推定した交差点内に滞在する時間が長いほど、大きい重み係数を決定し、推定した交差点内に滞在する時間が短いほど、小さい重み係数を決定する。仮想ノード数決定部624は、交差点の中心位置からの距離に応じて決定した仮想ノード数と重み係数とを乗算して、自端末に対する仮想ノード数を決定する。
【0134】
なお、第6の実施の形態に係る移動端末610の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
【0135】
以上説明したように、第6の実施の形態に係る移動端末によれば、交差点の中心位置との距離が長いほど、自端末に対して割り当てられる仮想ノード数が少なくなるように仮想ノード数を決定することにより、交差点エリア端で受け渡しされるデータ量が少なくなり、交差点からの離脱に伴うデータ管理負荷の増大を抑制することができる。また、交差点内に滞在する時間を推定し、推定された交差点内に滞在する時間が長いほど、割り当てられる仮想ノード数が多くなるように仮想ノード数を決定することにより、交差点内に滞在する時間が長い車両に搭載された移動端末に対して、多くのエリアデータを割り当てることができ、エリアデータを交差点エリア内に留めておける可能性がより高くなる。
【0136】
なお、上記の第1の実施の形態〜第6の実施の形態において、交差点エリア内の移動端末群で、データ分散記憶システムを実現する場合を例に説明したが、これに限定されるものではなく、交差点エリア内に、固定端末を設け、交差点エリア内の移動端末群と固定端末とで、データ分散記憶システムを実現するようにしてもよい。この場合には、固定端末に対して、所定の仮想ノード数を割り当てるようにすればよい。これによって、エリア内に移動端末が存在しない場合であっても、エリア内にエリアデータを維持することができる。
【0137】
また、交差点の基準位置として、交差点の中心位置を用いる場合を例に説明したが、これに限定されるものではなく、交差点内の他の所定位置を、交差点の基準位置として用いてもよい。
【0138】
また、仮想分散データベースを実現するエリアが、交差点である場合を例に説明したが、これに限定されるものではなく、他の所定エリアで、仮想分散データベースを実現するようにしてもよい。
【0139】
また、上記の第2の実施の形態〜第6の実施の形態で説明した仮想ノード数の決定方法を組み合わせた方法により、自端末の仮想ノード数を決定するようにしてもよい。
【符号の説明】
【0140】
10、210、310、410、510、610 移動端末
12 GPS
14 データ通信部
16、216、316、416、516、616 コンピュータ
20 地図データベース
22 位置取得部
24、224、424、524、624 仮想ノード数決定部
26 DHT管理部
28 管理テーブル記憶部
30 DHTデータ記憶部
222 方向判定部
312 VICS装置
322 渋滞情報取得部
324 分布調整部
412 速度センサ
422 速度取得部
522 信号状況取得部
622 滞在時間推定部

【特許請求の範囲】
【請求項1】
予め定められたエリアに関連するエリアデータを、移動端末群の各移動端末に対して割り当てられる少なくとも1つのノードを含むノードの集合に対して分散して割り当てることにより、前記エリアデータを前記移動端末群の各移動端末で分散して記憶するためのデータ分散記憶システムにおける移動端末であって、
周辺の移動端末と無線通信を行うための通信手段と、
自端末の位置情報と前記エリアの基準位置を示す位置情報とを取得する位置取得手段と、
前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報との距離が長いほど、自端末に対して割り当てられるノード数が少なくなるように前記ノード数を決定するノード数決定手段と、
前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より増えた場合には、増えた分の前記ノードに対して割り当てられる前記エリアデータを、該エリアデータを記憶した前記移動端末から受信するように前記通信手段を制御するデータ受信制御手段と、
前記自端末に対する前記ノードに割り当てられた前記エリアデータを記憶する記憶手段と、
前記ノード数決定手段によって決定されたノード数が、前回決定されたノード数より減った場合には、減った分の前記ノードに割り当てられているエリアデータを、前記記憶手段から読み込み、該エリアデータが割り当てられる前記ノードに対応する前記移動端末へ送信するように前記通信手段を制御するデータ送信制御手段と、
を含む移動端末。
【請求項2】
前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報とに基づいて、自端末が前記エリアの基準位置へ向かっているか否かを判定する方向判定手段を更に含み、
前記ノード数決定手段は、前記方向判定手段によって自端末が前記エリアの基準位置へ向かっていると判定された場合に、自端末に対するノード数が多くなるように決定する請求項1記載の移動端末。
【請求項3】
前記エリア内の渋滞情報を取得する渋滞情報取得手段を更に含み、
前記移動端末が、車両に搭載され、
前記ノード数決定手段は、前記渋滞情報取得手段によって取得された前記渋滞情報に基づいて、自端末に対するノード数を決定する請求項1又は2記載の移動端末。
【請求項4】
自端末の移動速度を検出する速度検出手段を更に含み、
前記ノード数決定手段は、前記速度検出手段によって検出された自端末の移動速度が速いほど、自端末に対するノード数が少なくなるように決定する請求項1〜請求項3の何れか1項記載の移動端末。
【請求項5】
前記移動端末は、車両に搭載され、
前記エリアは、信号交差点を含み、
自車両の前方に存在する信号機であって、かつ、自車両の走行路に対する信号機の信号状況を取得する信号状況取得手段を更に含み、
前記ノード数決定手段は、前記信号状況取得手段によって取得された信号状況が赤信号である場合に、自端末に対するノード数が多くなるように決定する請求項1〜請求項4の何れか1項記載の移動端末。
【請求項6】
前記移動端末は、車両に搭載され、
前記エリアは、信号交差点を含み、
自車両の前方に存在する信号機であって、かつ、自車両の走行路に対する信号機の信号状況及び前記信号状況が切り替わるまでの時間を取得する信号状況取得手段と、
自車両の移動速度を検出する速度検出手段と、
前記位置取得手段によって取得された自端末の位置情報と前記エリアの基準位置を示す位置情報と、前記信号状況取得手段によって取得された前記信号機の信号状況及び前記信号状況が変化するまでの時間と、前記速度検出手段によって検出された自車両の移動速度とに基づいて、自車両がエリア内に滞在する時間を算出するエリア内滞在時間算出手段とを更に含み、
前記ノード数決定手段は、前記エリア内滞在時間算出手段によって取得された前記エリア内に滞在する時間が長いほど、自端末に対するノード数が多くなるように決定する請求項1〜請求項5の何れか1項記載の移動端末。

【図1】
image rotate

【図3】
image rotate

【図7】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図14】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図27】
image rotate

【図30】
image rotate

【図32】
image rotate

【図33】
image rotate

【図2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図10】
image rotate

【図13】
image rotate

【図15】
image rotate

【図26】
image rotate

【図28】
image rotate

【図29】
image rotate

【図31】
image rotate


【公開番号】特開2013−58047(P2013−58047A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2011−195433(P2011−195433)
【出願日】平成23年9月7日(2011.9.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VICS
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】