"移動体の識別情報と、緯度及び経度を含む前記移動体の位置情報とを含む登録要求を受け付け、前記識別情報に続けて、前記識別情報及び前記位置情報を受け付けた日時を示す情報を含む値をキーとし、前記位置情報を該キーに対応付けて第一の記憶部に記憶し、前記識別情報及び前記位置情報を受け付けた日時を示す情報に続けて、前記識別情報を含む値をキーとし、前記位置情報を該キーに対応付けて第二の記憶部に記憶し、前記識別情報をキーとし、前記位置情報を該キーに対応付けて第三の記憶部に記憶し、前記位置情報をキーとし、前記識別情報を該キーに対応付けて第四の記憶部に記憶する処理をコンピュータが実行する情報管理方法。緯度及び経度、時間を示す情報、及び前記識別情報のうちの少なくともいずれか一つが指定された検索要求を受け付け、前記検索要求に指定された情報に基づいて、検索先の前記記憶部を判定し、前記検索要求に指定された情報をキーとして、判定された前記記憶部が該キーに対応付けて記憶する情報を検索する処理を前記コンピュータが実行する請求項1記載の情報管理方法。前記判定する処理は、前記検索要求に緯度及び経度が指定されている場合は、前記第四の記憶部を前記検索先として判定し、前記検索要求に前記時間を示す情報及び前記識別情報が指定されている場合は、前記第一の記憶部を前記検索先として判定し、前記検索要求に前記検索要求に前記時間を示す情報が指定され前記識別情報が指定されていない場合は、前記第二の記憶部を前記検索先として判定し、前記検索要求に前記識別情報が指定され前記時間を示す情報が指定されていない場合は、前記第三の記憶部を前記検索先として判定する請求項2記載の情報管理方法。前記第四の記憶部に記憶する処理は、前記緯度及び経度のそれぞれの全部の桁の上位から順に又は最下位桁からの一部の桁の上位から順に同じ桁を1桁ずつ交互に配列して一つの文字列を生成し、前記文字列をキーとして、前記識別情報を該キーに対応付けて前記第四の記憶部に記憶し、前記検索する処理は、前記検索要求に指定された前記緯度及び経度のそれぞれの全部の桁の上位から順に又は最下位桁からの一部の桁の上位から順に同じ桁を1桁ずつ交互に配列して一つの文字列を生成し、前記文字列をキーとして、該キーと前方一致するキーに対応付けて前記第四の記憶部が記憶する前記識別情報を検索する請求項2又は3記載の情報管理方法。前記第四の記憶部に記憶する処理は、前記緯度及び経度のそれぞれの全部の桁の上位から順に又は最下位桁からの一部の桁の上位から順に同じ桁を1桁ずつ交互に配列して一つの文字列を生成し、前記文字列をキーとして、前記識別情報を該キーに対応付けて前記第四の記憶部に記憶し、前記検索する処理は、前記検索要求に指定された前記緯度及び経度のそれぞれの全部の桁上位から順に又は最下位桁からの一部の桁の上位から順に同じ桁を1桁ずつ交互に配列した一つの文字列と、前記文字列において前記緯度及び経度の小数点以下に係る部分を、末尾から2文字ずつ削除した文字列とを生成し、前記文字列をキーとして、該キーと完全一致致するキーに対応付けて前記第四の記憶部が記憶する前記識別情報を検索する請求項2又は3記載の情報管理方法。移動体の識別情報と、緯度及び経度を含む前記移動体の位置情報とを含む登録要求を受け付ける受付部と、前記識別情報に続けて、前記識別情報及び前記位置情報を受け付けた日時を示す情報を含む値をキーとし、前記位置情報を該キーに対応付けて記憶する第一の記憶部に記憶し、前記識別情報及び前記位置情報を受け付けた日時を示す情報に続けて、前記識別情報を含む値をキーとし、前記位置情報を該キーに対応付けて第二の記憶部に記憶し、前記識別情報をキーとし、前記位置情報を該キーに対応付けて第三の記憶部に記憶し、前記位置情報をキーとし、前記識別情報を該キーに対応付けて第四の記憶部に記憶する登録部とを有する情報管理装置。移動体に関する検索要求の形態としては、例えば、特定の移動体の位置情報の検索要求、或る範囲に含まれる移動体の検索要求等が考えられる。また、移動には、時間の概念が不可欠であるため、時間軸が特定された検索要求も考えられる。例えば、特定の移動体の位置情報の履歴の検索要求や、或る日時における各移動体の位置情報の検索要求等も考えられる。管理対象となる移動体は、車両に搭載される車載器のみならず、人が携帯する端末も含まれる。したがって、レコード数は数千万台に及び、又は数千万台を超える可能性がある。このような大量の情報に関して、上記したような多様な検索要求に対して高速に応答する必要がある。そこで、1側面では、上記の点に鑑みてなされたものであって、移動体に関する多様な検索要求に実用的な性能で応答することのできる情報管理方法及び情報管理装置を目的とする。一つの案では、情報管理方法は、移動体の識別情報と、緯度及び経度を含む前記移動体の位置情報とを含む登録要求を受け付け、前記識別情報に続けて、前記識別情報及び前記位置情報を受け付けた日時を示す情報を含む値をキーとし、前記位置情報を該キーに対応付けて第一の記憶部に記憶し、前記識別情報及び前記位置情報を受け付けた日時を示す情報に続けて、前記識別情報を含む値をキーとし、前記位置情報を該キーに対応付けて第二の記憶部に記憶し、前記識別情報をキーとし、前記位置情報を該キーに対応付けて第三の記憶部に記憶し、前記位置情報をキーとし、前記識別情報を該キーに対応付けて第四の記憶部に記憶する処理をコンピュータが実行する。一態様によれば、移動体に関する多様な検索要求に実用的な性能で応答することができる。以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報管理システムの構成例を示す図である。同図の情報管理システム1において、移動体端末20a、20b、及び20c等の複数の移動体端末20と情報管理装置10とは、例えば、移動体通信網等を介して通信可能とされている。移動体端末20は、管理対象とされる移動体の位置を把握するために用いられる。したがって、移動体端末20は、車載器、携帯電話、スマートフォン、又はタブレット型端末等、移動体通信網を利用した通信機能及びGPSGlobalPositioningSystem機能を有し、移動可能な端末であるのが好適である。移動体とは、移動体端末20が設置された車両、や移動体端末20を携帯する人等、移動体端末20を移動させる主体である。但し、移動体端末20自体が移動体として把握されてもよい。また、台風、雨雲、雷雲、前線等、それ自体に位置を計測するための機器は設置されなくても、その位置を外部から観測又は計測可能なものが移動体として把握されてもよい。情報管理装置10は、各移動体に関する位置情報緯度及び経度等を管理するコンピュータである。複数のコンピュータが情報管理装置10を構成してもよい。情報管理装置10が管理する情報は、各移動体端末20を用いて検索可能である。又は、PCPersonalComputer等、固定端末から検索可能であってもよい。図2は、本発明の実施の形態における情報管理装置のハードウェア構成例を示す図である。図2の情報管理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。情報管理装置10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報管理装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。なお、記録媒体101の一例としては、CD-ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDDHardDiskDrive又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。図3は、本発明の実施の形態における情報管理装置の機能構成例を示す図である。同図において、情報管理装置10は、サービス部11及び基盤部12を有する。基盤部12は、情報管理装置10における情報管理機能において基盤的又は基本的な機能をサービス部11に提供する。したがって、基本的に、基盤部12のクライアントは、サービス部11である。サービス部11は、基盤部12が提供する機能を利用して、応用的な機能サービスを移動体端末20等に提供する。たがって、基本的に、サービス部11のクライアントは、移動体端末20等である。なお、基盤部12の機能は、基盤部12が備えるAPIApplicationProgramInterfaceを介して利用することができる。基盤部12は、登録要求受付部121、ID時間キー生成部122、時間IDキー生成部123、IDキー生成部124、位置キー生成部125、登録部126、検索要求受付部127、検索条件生成部128、及び検索部129等を含む。これら各部は、情報管理装置10にインストールされたプログラムがCPU104に実行させる処理により実現される。基盤部12は、また、ID時間記憶部131、時間ID記憶部132、ID記憶部133、及び位置記憶部134等を含む。これら各記憶部は、補助記憶装置102又は情報管理装置10とネットワークを介して接続される記憶装置等を用いて実現可能である。登録要求受付部121は、移動体の位置情報及び属性情報等の登録要求を、移動体情報を受信又は取得したサービス部11より受け付ける。以下、移動体の位置情報及び属性情報等を移動体情報という。すなわち、登録要求受付部121は、基盤部12が提供するAPIの一部を構成する。サービス部11は、移動体通信網を介して各移動体端末20から直接的に移動体情報を受信してもよいし、移動体情報を管理している他のコンピュータシステムより移動体情報を取得又は受信してもよい。後者の場合、他のコンピュータシステムは、一種類に限定されなくてもよい。他のコンピュータシステムの一例として、テレマティクスサービスを提供するコンピュータシステムが挙げられる。なお、移動体情報が取得されるタイミングは、移動体端末20ごとに異なっていてもよい。すなわち、全ての移動体端末20に関して、同じ時刻における移動体情報が受信されなくてもよい。ID時間キー生成部122は、登録要求受付部121によって受け付けられた移動体情報に含まれている移動体IDと、登録要求が受信された日時とに基づいて、ID時間記憶部131に対応するキーを生成する。キーとは、KVSKeyValueStoreにおけるキーである。すなわち、本実施の形態では、KVSを用いて、移動体情報が管理される。ID時間記憶部131に対応するキー以下、ID時間キーという。とは、移動体IDを示す文字列文字列に変換された移動体IDに続けて、登録要求の受信日時を示す文字列文字列に変換された当該日時が接続された文字列である。時間IDキー生成部123は、登録要求が受信された日時と、登録要求受付部121によって受け付けられた移動体情報に含まれている移動体IDとに基づいて、時間ID記憶部132に対応するキー以下、時間IDキーという。を生成する。時間IDキーは、登録要求の受信日時を示す文字列文字列に変換された当該日時に続けて、移動体IDを示す文字列文字列に変換された移動体IDが接続された文字列である。IDキー生成部124は、登録要求受付部121によって受け付けられた移動体情報に含まれている移動体IDに基づいて、ID記憶部133に対応するキー以下、IDキーという。を生成する。IDキーは、移動体IDが文字列に変換されたものである。位置キー生成部125は、登録要求受付部121によって受け付けられた移動体情報に含まれている、移動体の位置に関する緯度及び経度に基づいて、位置記憶部134に対応するキー以下、位置キーという。を生成する。登録部126は、移動体情報を、ID時間キー、時間IDキー、IDキー、又は位置キーに対応付けて、ID時間記憶部131、時間ID記憶部132、ID記憶部133、又は位置記憶部134に登録する。ID時間記憶部131は、ID時間キーに対応付けて、移動体情報を記憶するKVS型のデータベースである。時間ID記憶部132は、時間IDキーに対応付けて、移動体情報を記憶するKVS型のデータベースである。ID記憶部133は、IDキーに対応付けて、移動体情報を記憶するKVS型のデータベースである。位置記憶部134は、位置キーに対応付けて、移動体情報を記憶するKVS型のデータベースである。検索要求受付部127は、移動体情報の検索要求をサービス部11より受け付ける。検索条件生成部128は、検索要求に指定されたパラメータに基づいて、ID時間記憶部131、時間ID記憶部132、ID記憶部133、又は位置記憶部134に対する検索に適した検索条件を生成する。検索部129は、検索条件生成部128によって生成された検索条件を用いて、ID時間記憶部131、時間ID記憶部132、ID記憶部133、又は位置記憶部134に対する検索を行う。以下、情報管理装置10が実行する処理手順について説明する。図4は、移動体情報の登録処理の処理手順の一例を説明するためのフローチャートである。ステップS101において、移動体情報受信部121は、移動体情報の登録要求を受信するS101。移動体情報には、例えば、各移動体を一意に識別可能な移動体の識別情報以下、移動体IDという。、代表位置の位置情報、及び移動体のサイズ情報等が含まれている。移動体に関するその他の属性情報が、移動体情報に含まれていてもよい。サイズ情報は、緯度及び経度の2次元座標系に対して移動体が占める範囲を一以上の矩形領域の集合によって表現した情報である。移動体の範囲を構成する各矩形領域の指定方法は、例えば、図5に示されるような三つの方法が有る。図5は、移動体の範囲を構成する各矩形領域の指定方法の一例を示す図である。図5においては、図の左右方向が経度、図の上下方向が緯度を便宜的に表している。同図では、1~3の三つの方法が例示されている。1の方法は、一組の緯度及び経度を指定する方法である。この場合、当該緯度及び経度を左下頂点p1とし、当該緯度及び経度の精度小数点以下の有効桁数に応じた単位を一辺とする矩形領域が指定されたことになる。例えば、緯度及び経度の精度が1000分の1であれば、一辺が1000分の1度の矩形領域が指定されたことになる。また、緯度及び経度の精度が10000分の1であれば、一辺が10000分の1度の矩形領域が指定されたことになる。なお、本実施の形態において、或る範囲に関して左下頂点とは、当該範囲において緯度の最小値及び経度の最小値が示す位置をいう。また、或る範囲に関して右上頂点とは、当該範囲において緯度の最大値及び経度の最大値が示す位置をいう。2の方法は、二組の緯度及び経度を指定する方法である。この場合、一組目の緯度及び経度を左下頂点p2とし、二組目の緯度及び経度を右上頂点p3とする矩形領域が指定されたことになる。3の方法は、一つの緯度及び経度と、半辺を指定する方法である。この場合、当該緯度及び経度を中心点p4対角線の交点とし、当該半辺rを中心点からの四方への距離とする矩形領域が指定されたことになる。例えば、半辺として指定される距離の単位としては、メートルが考えられる。なお、上記1~3以外の方法で、矩形領域が指定されてもよい。また、サイズ情報において複数の矩形領域が指定される場合すなわち、移動体の範囲が、複数の矩形領域の集合である場合、上記1~3の指定方法が混在していてもよい。したがって、サイズ情報は、例えば、図6に示されるようなデータ構造を有する。図6は、サイズ情報のデータ構造の例を示す図である。同図に示されるように、サイズ情報は、矩形領域ごとに、代表位置の位置と大きさの指定方法と値とが指定される。大きさの指定方法は例えば、上記の1~3のいずれに該当する指定方法である。値は例えば、上記の1~3に応じた値である。代表位置の位置情報は、移動体の代表位置の緯度及び経度である。代表位置は、移動体を一点で表現する場合の当該一点の位置をいう。続いて、ID時間キー生成部122及び登録部126等は、移動体情報に関して、ID時間記憶部131への登録処理を実行するS102。続いて、時間IDキー生成部123及び登録部126等は、移動体情報に関して、時間ID記憶部132への登録処理を実行するS103。続いて、IDキー生成部124及び登録部126等は、移動体情報に関して、ID記憶部133への登録処理を実行するS104。続いて、位置キー生成部125及び登録部126等は、移動体情報に関して、位置記憶部134への登録処理を実行するS105。なお、ステップS102、S103,S104およびS105は、処理が実行される順序を問わない。続いて、ステップS102の詳細について説明する。図7は、ID時間記憶部への登録処理の処理手順の一例を説明するためのフローチャートである。ステップS111において、ID時間キー生成部122は、ID時間キーを生成する。すなわち、ID時間キー生成部122は、移動体IDを示す文字列文字列に変換された移動体IDに続けて、登録要求の受信日時を示す文字列文字列に変換された当該日時を接続してID時間キーを生成する。なお、受信日時は、所定の日時以下、基準日時という。から当該受信日時までの経過時間ミリ秒を、整数型の変数の最大値より差し引いた値に補正される。後の日時に関するID時間キーの方が小さい値となるようにするためである。したがって、移動体IDを示す文字列と、当該補正後の値を示す文字列とが接続された文字列が、ID時間キーとして生成される。基準日時は、例えば、GMTGreenwichMeanTime:グリニッジ標準時の1970年1月1日の00:00:00.000としてもよい。また、整数型の編集の最大値は、例えば、Java登録商標のlong型であれば、9223372036854775807である。続いて、登録部126は、登録要求に指定されている情報に基づいて、ID時間キーに対応付けて登録するデータを生成するS112。例えば、代表位置の位置情報やサイズ情報等が所定の形式に変換される。続いて、登録部126は、ID時間キーをキーとし、生成されたデータを値として、KVSであるID時間記憶部131に登録するS113。すなわち、当該データが、ID時間キーに対応付けられてID時間記憶部131に記憶される。図8は、ID時間記憶部の構成例を示す図である。同図に示されるように、ID時間記憶部131は、キーに対応付けて値を記憶する。キーには、ID時間キーが記憶される。ID時間キーは、移動体IDと日時との区切りが分かりにくいため、同図では、便宜上、移動体IDの部分と、日時の部分とが示されている。値は、二つの列カラムを含む。一つ目の列には位置情報以外の属性情報が格納され、二つ目の列には位置情報が格納される。二つ目の列は、二つの行を含み、各行は、当該行に対応する項目の値と当該項目が登録された日時を含む。1行目は、代表位置であり、その値は、代表位置を示す緯度及び経度である。2行目は、サイズ情報であり、その値は、サイズ情報に含まれる緯度及び経度の集合である。サイズ情報は、例えば図6に例示したデータ構造を有していても良い。続いて、図4のステップS103の詳細について説明する。図9は、時間ID記憶部への登録処理の処理手順の一例を説明するためのフローチャートである。ステップS121において、時間IDキー生成部123は、時間IDキーを生成する。すなわち、時間IDキー生成部123は、登録要求の受信日時を示す文字列文字列に変換された当該日時に続けて、移動体IDを示す文字列文字列に変換された移動体IDを接続して時間IDキーを生成する。なお、受信日時は、ID時間キーの場合と同様に、基準日時から当該受信日時までの経過時間ミリ秒を、整数型の変数の最大値より差し引いた値に補正される。続いて、登録部126は、登録要求に指定されている情報に基づいて、時間IDキーに対応付けて登録するデータを生成するS122。例えば、代表位置の位置情報やサイズ情報等が所定の形式に変換される。続いて、登録部126は、時間IDキーをキーとし、生成されたデータを値として、KVSである時間ID記憶部132に登録するS123。すなわち、当該データが、時間IDキーに対応付けられて時間ID記憶部132に記憶される。図10は、時間ID記憶部の構成例を示す図である。同図に示されるように、時間ID記憶部132は、キーに対応付けて値を記憶する。キーには、時間IDキーが記憶される。値の構成は、ID時間記憶部131と同様であるため、その説明は省略する。同図では、便宜上、日時の部分と、移動体IDの部分とが示されている。続いて、図4のステップS104の詳細について説明する。図11は、ID記憶部への登録処理の処理手順の一例を説明するためのフローチャートである。ステップS131において、IDキー生成部124は、IDキーを生成する。すなわち、IDキー生成部124は、登録要求に指定された移動体IDが文字列に変換して、IDキーを生成する。続いて、登録部126は、当該IDキーに対応するデータ値ID記憶部133より取得するS132。図12は、ID記憶部の構成例を示す図である。同図に示されるように、ID記憶部133は、キーに対応付けて値を記憶する。キーには、IDキーが記憶される。値の構成は、ID時間記憶部131と同様であるため、その説明は省略する。続いて、登録部126は、取得されたデータから登録日時を取得するS133。すなわち、代表位置又はサイズ情報に対する登録日時が取得される。続いて、登録部126は、登録要求の受信日時は、当該登録日時より前であるか否かを判定するS134。通常、登録要求の受信日時は、既に登録されているデータの登録日時より後である。したがって、当該判定は、登録要求に日時が指定されている場合に有効である。当該登録日時の方が後である場合S134でYes、登録対象の情報は、既に登録されている情報よりも古いため、登録要求に係る移動体情報の登録は行われない。一方、当該登録日時の方が前である場合S134でNo、登録部126は、ステップS132において取得されたデータから、サイズ情報を取得し、保持しておくS135。例えば、メモリ装置103に、当該サイズ情報が記憶される。続いて、登録部126は、登録要求に指定されている情報に基づいて、IDキーに対応付けて登録するデータを生成するS136。続いて、登録部126は、IDキーをキーとし、生成されたデータを値として、KVSであるID記憶部133に登録するS123。すなわち、当該データが、IDキーに対応付けられてID記憶部133に記憶される。続いて、図4のステップS105の詳細について説明する。図13は、位置記憶部への登録処理の処理手順の一例を説明するためのフローチャートである。ステップS141において、登録部126は、登録対象の移動体に関する過去の情報が位置記憶部134に登録されているか否かを判定する。当該判定は、図11のステップS135において、移動体IDに対応する過去のサイズ情報が保持されているか否かに基づいて行われる。すなわち、当該サイズ情報が保持されている場合、登録部126は、登録対象の移動体に関する過去の情報は位置記憶部134に登録されていると判定する。一方、当該サイズ情報が保持されていない場合、登録部126は、登録対象の移動体に関する過去の情報は位置記憶部134に登録されていないと判定する。当該サイズ情報が保持されていない場合S141でNo、ステップS148に進む。当該サイズ情報が保持されている場合S141でYes、登録部126は、当該サイズ情報に含まれている一組の緯度及び経度を処理対象とするS142。続いて、位置キー生成部125は、当該緯度及び経度に基づいて、位置キーを生成するS143。位置キーの生成方法の詳細については後述される。続いて、登録部126は、生成された位置キーを、削除リストに追加するS144。削除リストとは、削除対象のデータの位置キーを格納するためのリスト形式の変数である。ステップS142~S144が、移動体IDに対応する過去のサイズ情報に含まれる緯度及び経度の一覧に含まれる全ての緯度及び経度に関して実行されるとS145でYes、登録部126は、削除リストに含まれている位置キー及び当該位置キーに対応付けられている値データを、位置記憶部134より削除するS146。その結果、登録対象の移動体に関して、過去の位置に対応した情報が、位置記憶部134より削除される。続いて登録部126は、登録要求に指定されている情報に基づいて、位置キーに対応付けて登録するデータを生成するS147。続いて、位置キー生成部125は、サイズ情報が示す矩形領域の集合を構成する正規化された各セルの位置キーの生成処理を実行するS148。本実施の形態において、セルとは、或る範囲を表現するために使用される単位領域あり、緯度と経度との2次元座標系において、同一の桁精度の緯線及び経線のメッシュ又は格子若しくは交差によって形成される正方形をいう。セルの一辺の長さは、セルの左下頂点の緯度及び経度の精度に基づいて定まる。例えば、左下頂点の緯度及び経度の精度が1000分の1度で指定されていれば、一辺が1000分の1度の矩形領域が指定されたことになる。また、左下頂点の緯度及び経度の精度が10000分の1度で指定されていれば、一辺が10000分の1度の矩形領域が指定されたことになる。また、セル群の正規化とは、或る精度のセル群に関して、上位の桁に統合できるセル群が有れば統合することをいう。上位の桁に統合できるセル群とは、例えば、10000分の1のセル群が有る場合、1000分の1の単位のセルに含まれる100個のセル群をいう。また、セルの位置キー又はセルに対応する位置キーとは、セルの左下頂点の緯度及び経度に基づいて生成される位置キーをいう。したがって、ステップS148では、サイズ情報が示す範囲を構成する矩形領域が一以上のセルに変換され、当該セルごとに、左下頂点の位置キーが生成される。なお、当該セルが複数の場合、各セルの精度単位又は大きさは、必ずしも共通ではない。上記したように、セル群の正規化が行われる可能性が有るからである。続いて、登録部126は、生成された位置キーごとに、ステップS147において生成されたデータを値Valueとして対応付けて、KVSである位置記憶部134に登録するS149。図14は、位置記憶部の構成例を示す図である。同図に示されるように、位置記憶部134は、キーに対応付けて値を記憶する。キーには、緯度及び経度に基づいて生成された文字列位置キーが記憶される。値は、三つの項目列を含む。一つ目はidであり、二つ目は属性であり、三つ目は登録日時である。idには、移動体IDが記憶される。属性には、代表位置を示す緯度及び経度とサイズ情報等と、その他の属性情報等が記憶される。サイズ情報は、例えば図6に例示したデータ構造を有していても良い。なお、一つの移動体の範囲が、複数のセルに跨る場合、当該移動体には、セルごとに位置キーが割り当てられ、位置記憶部134には、位置キーごとに値が記憶される。続いて、図13のステップS143の詳細について説明する。図15は、位置キーの生成処理の処理手順の一例を説明するためのフローチャートである。ステップS161において、位置キー生成部125は、処理対象の緯度及び経度のそれぞれを、数値から文字列に変換する。したがって、緯度を示す文字列以下、緯度文字列という。と、経度を示す文字列以下、経度文字列という。とが生成される。ここでは、処理対象の緯度及び経度は、35.5678,139.1234であるとする。したがって、緯度文字列は、35.5678であり、経度文字列は、139.1234である。なお、緯度の範囲は、90度北緯~-90度南緯であるとする。すなわち、南緯は、マイナス-で表現されることとする。また、経度の範囲は、180度東経~-180度西経であるとする。すなわち、西経は、マイナス-で表現されることとする。なお、北緯及び東経は、プラスで表現されるが、数値である北緯及び東経には、は明示的には付加されていなくてもよい。また、緯度および経度の、どの角度範囲をとし、どの角度範囲をマイナス-とするかは、上記例に限るものではない。続いて、位置キー生成部125は、緯度文字列及び経度文字列を所定の形式に変換するS162。まず、整数部分が3桁となるように、整数部分が1桁または2桁の場合には文字0ゼロが先頭に挿入される。したがって、緯度文字列は035.5678となる。経度文字列は、この例では整数部分は当初から3桁であるため、139.1234のままである。また、元の数値としての緯度及び経度に基づいて、緯度文字列及び経度文字列の先頭に又は-が付加される。したがって、緯度文字列は035.5678となり、経度文字列は、139.1234となる。また、小数点を示す文字.が除去される。したがって、緯度文字列は0355678となる。経度文字列は、1391234となる。以上で所定の形式への変換は完了する。続いて、位置キー生成部125は、経度文字列の最上位桁から順に1つの文字を取得し、当該文字を作業用の文字列変数以下、作業用変数という。の先頭に追加するS163。したがって、最初にステップS164が実行されるときは、1391234よりが取得され、作業用変数に追加される。続いて、位置キー生成部125は、緯度文字列の最上位桁から順に1つの文字を取得し、当該文字を作業用変数の先頭に追加するS164。したがって、最初にステップS163が実行されるときは、0355678よりが取得され、作業用変数に追加される。なお、ステップS164における作業容変数は、ステップS163における作業用変数は同一のものである。したがって、最初にステップS163及びS164が終了した時点において、作業用変数の内容は、となる。なお、ステップS163とステップS164とは実行される順序を問わない。ステップS163及びS164は、緯度文字列及び経度文字列の全ての桁全ての文字が処理されるまで繰り返し実行されるS165。その結果、緯度文字列及び経度文字列のそれぞれの最上位桁から順に同じ桁の文字が1桁ずつ交互に配列された一つの文字列が作業用変数に格納される。上記の例では、10339515263748という文字列が作業用変数に格納される。当該文字列が、位置キーとしての文字列である。したがって、位置キー生成部125は、作業用変数に格納された値、すなわち、位置キーを返却するS166。続いて、図13のステップS148の詳細について説明する。図16~図19は、矩形領域の集合を構成する正規化された各セルの位置キーの生成処理の処理手順の一例を説明するためのフローチャートである。ステップS201において、位置キー生成部は、図6に示されるようなデータ構造によって指定された矩形領域の集合の中の一つの矩形領域以下、対象矩形領域という。を処理対象とする。ここでは、図20に示されるような矩形領域の集合が指定されたとする。図20は、矩形領域の集合の一例を示す図である。同図において、最小の目盛りは、緯度方向及び経度方向共に1/10000度であるとする。同図では、矩形領域R1、矩形領域R2、矩形領域群R3、矩形領域群R4、矩形領域R5、矩形領域群R6、矩形領域R7、及び矩形領域群R8が、指定された矩形領域の集合を構成する。矩形領域R1は、10000分の1度の精度の二組の緯度及び経度によって指定された10000分の1度を1辺とする矩形領域である。矩形領域R2は、一組目の緯度及び経度が1000分の1度で指定され、二組目の緯度及び経度が10000分の1度の精度で指定された、緯度方向の長さを1000分の1度とし、経度方向の長さを10000分の8度とする矩形領域である。矩形領域群R3は、それぞれ、10000分の1度の精度の一組の緯度及び経度によって指定された、4個の矩形領域の集合である。矩形領域群R4は、それぞれ、10000分の1度の精度の一組の緯度及び経度によって指定された、20個の矩形領域の集合である。矩形領域R5は、10000分の1度の精度の一組の緯度及び経度によって指定された、1個の矩形領域である。矩形領域群R6は、それぞれ、10000分の1度の精度の一組の緯度及び経度によって指定された、9個の矩形領域の集合である。矩形領域R7は、中心点p5と半辺r5とによって指定された、一辺を1000分の1度とする矩形領域である。矩形領域群R8は、それぞれ、10000分の1度の精度の一組の緯度及び経度によって指定された、99個の矩形領域の集合である。すなわち、Bによって示される部分は、矩形領域群R8には含まれない。ステップS201では、このような矩形領域のうちの一つが対象矩形領域とされる。矩形領域群R3、R4、R6、及びR8に含まれる矩形領域に関しても、それぞれ、一つずつ処理対象とされる。続いて、位置キー生成部125は、対象矩形領域が、中心点及び半辺によって指定されているか否かを判定するS202。中心点及び半辺によって対象矩形領域が指定されている場合S202でYes、位置キー生成部125は、中心点緯度及び経度及び半辺メートルによって特定される範囲の左下頂点の緯度及び経度と、右上頂点の緯度及び経度とを算出するS203。算出方法は、公知の方法に従えばよい。一方、対象矩形領域の指定が、中心点及び半辺ではない場合S202でNo、位置キー生成部125は、対象矩形領域は、一組の緯度及び経度によって指定されているか否かを判定するS204。一組の緯度及び経度によって対象矩形領域が指定されている場合S204でYes、位置キー生成部125は、当該緯度及び経度を左下頂点とし、当該緯度及び経度の精度に応じた長さを一辺とするセルの右上頂点の緯度及び経度を求めるS205。一組の緯度及び経度によって対象矩形領域が指定されていない場合S204でNo、本実施の形態では、二組の緯度及び経度によって対象矩形領域が指定されていることになる。したがって、この場合、位置キー生成部125は、特別な処理は行わない。すなわち、ステップS206以降において、対象矩形領域は、左下頂点及び右上頂点のそれぞれの緯度及び経度によって特定されることとなる。続いて、位置キー生成部125は、対象矩形領域の右上頂点の緯度から左下頂点の緯度を引いた値を変数WLAT以下、緯度幅WLATという。に代入する。続いて、位置キー生成部125は、対象矩形領域の右上頂点の経度から左下頂点の経度を引いた値を変数WLON以下、経度幅WLONという。に代入するS207。続いて、位置キー生成部125は、緯度幅WLATの小数点以下の桁数を変数KLATに代入するS208。続いて、位置キー生成部125は、経度幅WLONの小数点以下の桁数を変数KLONに代入するS209。続いて、位置キー生成部125は、変数KLATの値と変数KLONの値とのうちの最大値を、変数KMAX以下、有効桁数KMAXという。に代入するS210~S212。続いて、位置キー生成部125は、有効桁数KMAXが、小数点以下の桁数の限度値例えば、5等より大きい場合はS213でYes、有効桁数KMAXの値を、当該限度値に補正するS214。続いて、位置キー生成部125は、ステップS215~S222において、対象矩形領域を、有効桁数KMAXの精度に応じた大きさのセル群に分割し、各セルに対する位置キーの生成を実行する。この点に関して、図を用いて説明する。図21は、矩形領域のセル群への分割の一例を示す図である。例えば、矩形領域R2が対象矩形領域である場合、有効桁数KMAXは、4すなわち、10000分の1である。したがって、矩形領域R2は10000分の1度の粒度の80個のセル群に分割される。また、矩形領域R5が対象矩形領域である場合、有効桁数KMAXは、5すなわち、100000分の1である。したがって、矩形領域R5は100000分の1度の粒度の100個のセル群に分割される。このような分割処理が、ステップS215~S222において行われる。ステップS215において、位置キー生成部125は、対象矩形領域の左下頂点の経度を変数LLON以下、対象経度LLONという。に代入する。続いて、位置キー生成部125は、左下頂点の緯度を変数LLAT以下、対象緯度LLATという。に代入するS216。続いて、位置キー生成部125は、対象緯度LLAT及び対象経度LLONに基づく位置キーの生成処理図15を実行するS217。続いて、位置キー生成部125は、生成された位置キーをリストLに追加するS218。リストLは、位置キーが記憶される一時的な記憶領域である。リストLは、例えば、メモリ装置103又は補助記憶装置102等を用いて実現可能である。続いて、位置キー生成部125は、対象緯度LLATに対して、0.1の有効桁数KMAX乗図21の矩形領域R2では、0.1の4乗=0.0001を乗じた値を加算するS219。続いて、位置キー生成部125は、対象緯度LLATの値が、対象矩形領域の右上頂点の緯度に達している否かを判定するS220。対象緯度LLATの値が、対象矩形領域の右上頂点の緯度に達していない場合S220でNo、位置キー生成部125は、ステップS217以降を繰り返す。対象緯度LLATの値が、対象矩形領域の右上頂点の緯度に達している場合S220でYes、位置キー生成部125は、対象経度LLOTに対して、0.1の有効桁数KMAX乗図21の矩形領域R2では、0.0001を加算するS221。続いて、位置キー生成部125は、対象経度LLONの値が、対象矩形領域の右上頂点の経度に達している否かを判定するS222。対象経度LLONの値が、対象矩形領域の右上頂点の経度に達していない場合S222でNo、位置キー生成部125は、ステップS216以降を繰り返す。対象経度LLONの値が、対象矩形領域の右上頂点の経度に達している場合S222でYes、対象矩形領域は、図21の矩形領域R2のように、有効桁数KMAXの精度に応じた大きさのセルに分割され、各セルの左下頂点に対応する位置キーがリストLに記録された状態となる。続いて、位置キー生成部125は、図17のステップS223~S245において、上記で生成されたセル群のうち、上位の桁の精度のセルに統合できるものがあれば、統合するための処理を実行する。例えば、矩形領域R5が対象矩形領域である場合、図21の矩形領域R5に含まれる100個のセル群は、10000分の1度の1個のセルに統合される。すなわち、元々100000分の1度の精度で指定されていた矩形領域R5は、10000分の1度の精度のセルに変換されることになる。このような処理が、ステップS223~S245において実行される。ステップS223において、位置キー生成部125は、変数CSIZEに1.0を代入するS223。変数CSIZEは、統合予定のセルの粒度一辺の長さである。すなわち、最初は、一辺が1.0度のセルに統合可能であるか否かが試行される。以下、変数CSIZEを、統合粒度CSIZEという。続いて、位置キー生成部125は、変数iに0を代入するS224。変数iは、ステップS225~S244の実行回数を保持するための変数である。なお、ステップS225~S244は、有効桁数KMAXが示す回数繰り返される。続いて、位置キー生成部125は、緯度幅WLATを統合粒度CSIZEによって除した値の整数部分を変数WLATSIZEに代入するS225。すなわち、緯度幅WLATに関して、統合粒度CSIZEを単位とした大きさが変数WLATSIZEに代入される。続いて、位置キー生成部125は、経度幅WLONを統合粒度CSIZEによって除した値の整数部分を変数WLONSIZEに代入するS225。すなわち、経度幅WLONに関して、統合粒度CSIZEを単位とした大きさが変数WLONSIZEに代入される。続いて、位置キー生成部125は、変数WLATSIZEの値及び変数WLONSIZEの値が、それぞれ1以上であるか否かを判定するS227、S228。すなわち、対象矩形領域が、統合粒度CSIZEのセルを含む大きさを有するか否かが判定される変数WLATSIZEの値及び変数WLONSIZEの値のいずれか一方が1未満である場合S227でNo又はS228でNo、ステップS243に進み、位置キー生成部125は、統合粒度CSIZEの値を10.0によって除する。続いて、位置キー生成部125は、変数iに1を加算するS244。続いて、位置キー生成部125は、変数iの値が有効桁数KMAXに達したか否かを判定するS245。変数iが有効桁数KMAXに達してない場合S245でNo、位置キー生成部125は、ステップS225以降を繰り返す。したがって、統合粒度CSIZEの値は、ステップS225以降が繰り返されるたびに10分の1となる。ステップS225以降が繰り返される過程において、変数WLATSIZE及び変数WLONSIZEの双方の値が、1以上となった場合S227でYes、かつ、S228でYes、位置キー生成部125は、対象矩形領域の左下頂点の緯度に統合粒度CSIZEを加算した結果に関して、統合粒度CSIZEの単位未満統合粒度の有効桁未満を切り捨てることによって得られる値を変数SLATに代入するS229。すなわち、変数SLAT以下、統合左下緯度SLATという。には、対象矩形領域の左下頂点の緯度より大きな値であって、統合粒度CSIZEの単位精度の最小値が格納される。例えば、統合粒度CSIZEの値が0.001であり、対象矩形領域の左下頂点の緯度が139.1219である場合、139.122が統合左下緯度SLATに代入される。続いて、位置キー生成部125は、対象矩形領域の右上頂点の緯度に関して、統合粒度CSIZEの単位未満統合粒度の有効桁未満を切り捨てることによって得られる値を変数ELATに代入するS230。すなわち、変数ELAT以下、統合右上緯度ELATという。には、対象矩形領域の右上頂点の緯度以下の値であって、統合粒度CSIZEの単位の最大値が格納される。例えば、統合粒度CSIZEの値が0.001であり、対象矩形領域の右上頂点の緯度が139.1231である場合、139.123が統合左下緯度SLATに代入される。続いて、位置キー生成部125は、対象矩形領域の左下頂点の経度に統合粒度CSIZEを加算した結果に関して、統合粒度CSIZEの単位未満統合粒度の有効桁未満を切り捨てることによって得られる値を変数SLONに代入するS231。すなわち、変数SLON以下、統合左下経度SLONという。には、対象矩形領域の左下頂点の経度より大きな値であって、統合粒度CSIZEの単位精度の最小値が格納される。例えば、統合粒度CSIZEの値が0.001であり、対象矩形領域の左下頂点の経度が35.5609である場合、35.561が統合左下経度SLONに代入される。続いて、位置キー生成部125は、対象矩形領域の右上頂点の経度に関して、統合粒度CSIZEの単位未満統合粒度の有効桁未満を切り捨てることによって得られる値を変数ELONに代入するS232。すなわち、変数ELON以下、統合右上経度ELONという。には、対象矩形領域の右上頂点の経度以下の値であって、統合粒度CSIZEの単位の最大値が格納される。例えば、統合粒度CSIZEの値が0.001であり、対象矩形領域の右上頂点の経度が35.5621である場合、35.562が統合左下経度SLONに代入される。続いて、位置キー生成部125は、統合右上緯度ELAT-統合左下緯度SLATの値が0であるか、又は統合右上経度ELON-統合左下経度SLONの値が0であるかを判定するS233。当該判定が肯定的な場合S233でYes、ステップS243に進む。当該判定が否定的な場合S233でNo、統合左下緯度SLAT,統合左下経度SLONを左下頂点とし、統合右上緯度ELAT,統合右上経度ELONを右上頂点とする矩形領域は、1以上の統合粒度CSIZEの単位のセルを含むことになる。そこで、位置キー生成部125は、ステップS234以降において、当該矩形領域に含まれるセル群を、統合粒度CSIZEの単位のセルに統合する。ステップS234において、位置キー生成部125は、統合左下経度SLONを変数K1以下、対象左下経度K1という。に代入する。続いて、位置キー生成部125は、統合左下緯度SLATを変数K2以下、対象左下緯度K2という。に代入するS235。続いて、位置キー生成部125は、対象緯度K2及び対象経度K1に基づく位置キーの生成処理図15を実行するS236。続いて、位置キー生成部125は、生成された位置キーに前方一致する位置キー群をリストLより削除するS237。すなわち、生成された位置キーが示すセルに含まれるセル群の位置キーがリストLより削除される。続いて、位置キー生成部125は、生成された位置キーをリストLに追加するS238。続いて、位置キー生成部125は、対象左下緯度K2に統合粒度CSIZEを加算するS239。続いて、位置キー生成部125は、対象左下緯度K2が、統合右上緯度ELATに達しているか否かを判定するS240。対象左下緯度K2が、統合右上緯度ELATに達していない場合S240でNo、位置キー生成部125は、ステップS236以降を繰り返す。対象左下緯度K2が、統合右上経度ELATに達している場合S240でYes、位置キー生成部125は、対象左下経度K1に統合粒度CSIZEを加算するS241。続いて、位置キー生成部125は、対象左下経度K1が、統合右上経度ELONに達しているか否かを判定するS242。対象左下経度K1が、統合右上経度ELONに達していない場合S242でNo、位置キー生成部125は、ステップS235以降を繰り返す。対象左下経度K1が、統合右上経度ELONに達している場合S242でYes、位置キー生成部125は、上述したステップS243~S245を実行する。統合粒度CSIZEを、対象矩形領域の緯度及び経度の精度よりも1桁上位の桁の単位まで変化させつつ、統合粒度CSIZEのセルへの統合が行われる。ステップS201~S246が、処理対象の全ての矩形領域に関して実行されるとS246でYes、対象矩形領域内に含まれるセル群のうち、上位の桁に統合可能なセル群は、上位の桁のセル群に統合された状態になる。しかし、例えば、図21の矩形領域R2とR4とを合わせた矩形領域は、1000分の1度の単位の矩形領域1個に統合可能であるが、ステップS201~S246では、統合されない。ステップS201~S246は、指定された矩形領域ごとに処理が行われるため、矩形領域を跨った、言い換えれば矩形領域を超えたセル群の統合は行われないからである。そこで、位置キー生成部125は、指定された矩形領域を跨ったセル群の統合処理を図18のステップS247以降において実行する。ステップS247において、位置キー生成部125は、リストLに含まれている各位置キーに対応する全てのセル群を包含する最小の矩形領域を求める。すなわち、指定された全ての矩形領域を含む最小の矩形領域が求められる。図22は、指定された全ての矩形領域を含む最小の矩形領域を説明するための図である。同図に示されるように、指定された矩形領域を含む最小の矩形領域は、指定された矩形領域の左下頂点のうちの最小の緯度及び経度を左下頂点Paとし、指定された矩形領域の右上頂点のうちの最大の緯度及び経度を右上頂点Pbとする矩形領域Ra以下、包含領域Raという。である。ステップS247では、左下頂点Paの緯度及び経度と、右上頂点Pbの緯度及び経度とが求められる。続くステップS248~図19のS291では、図19において破線で囲まれたステップを除いて、包含領域Raに関して、図16のステップS206~図17のS245と同様の処理が実行される。したがって、図19のステップS267でNo図17のステップS233でNoに対応と判定されたときは、図23に示されるような状態が特定されている。図23は、包含領域において特定される統合粒度CSIZE単位のセルの例を示す図である。同図に示されるように、統合左下緯度SLAT,統合左下経度SLONを左下頂点とし、統合右上緯度ELAT,統合右上経度ELONを右上頂点とする矩形領域内において、1000分の1度の単位の3つのセルCa、Cb、及びCcが含まれていること特定される。したがって、これら3つのセルごとに、当該セルに含まれるセル群について当該セルへの統合の可否が判定される。ここでは、図19の破線で囲まれたステップについて説明する。ステップS270において、位置キー生成部125は、対象緯度K2及び対象経度K1に基づく位置キーの生成を実行する図15。図23の例では、最初にステップS270が実行されるときの対象緯度K2の値は、統合左下緯度SLATの値であり、対象経度K1の値は、統合左下経度SLONの値である。すなわち、対象緯度K2及び対象経度K1は、セルCaの左下頂点の緯度及び経度である。続いて、位置キー生成部125は、生成された位置キーに前方一致する位置キー群をリストLより抽出するS271。本実施の形態において、一方の位置キーに他方の位置キーが前方一致する場合、当該他方の位置キーに係るセルは、当該一方の位置キーに係るセルに含まれることを意味する。したがって、ここでは、セルCaに含まれるセル群の位置キー群が抽出される。続いて、位置キー生成部125は、生成された位置キーに完全一致する位置キーと、生成された位置キーよりも4文字以上長い位置キーとを、ステップS271において抽出された位置キー群より除去するS272。続いて、位置キー生成部125は、残った位置キー群の数が100個であるか否かを判定するS273。すなわち、セルCaよりも1桁精度の高い1桁粒度の小さいセル群をセルCaに統合する場合、統合後のセルCaには、1桁精度の高いセルが10×10=100個含まれている必要がある。したがって、100個のセル群が、セルCa内に存在するか否かが判定される。なお、ステップS272において、生成された位置キーよりも4文字以上長い位置キーとは、生成された位置キーに対応するセルよりも、2桁以上精度の高い、言い換えれば2桁以上粒度の小さいセルの位置キーである。2桁以上精度の高いセルを除くのは、例えば、1桁精度の高いセルが99個存在し、残りの1個分のセルの領域には、2桁以上精度の高いセルが1個以上有るようなケースを考慮してのことである。仮に、2桁以上精度の高いセルが1個である場合、統合予定のセルには100個のセルが含まれていると判定されてしまう。すなわち、統合予定のセルに対して1桁精度の高いセル群の数を得るために、生成された位置キーよりも4文字以上長い位置キーが除去されるのである。また、生成された位置キーに完全一致する位置キーに係るセルも、統合予定のセルに対して1桁精度の高いセルではない。したがって、生成された位置キーに完全一致する位置キーも除去される。残った位置キー群の数が100個である場合S273でYes、位置キー生成部125は、生成された位置キーに前方一致する位置キーをリストLから削除するS274。続いて、位置キー生成部125は、生成された位置キーをリストLに追加するS275。一方、残った位置キー群の数が100個である場合S273No、ステップS274及びS275は実行されない。以上のような処理により、図22に示されるセル群は、図24に示されるように統合される。図24は、指定された矩形領域を跨いだセル群の統合結果の一例を示す図である。同図に示されるように、図23のセルCaに含まれる10000分の1度の100個のセル群は、一つのセルCaに統合される。一方、セルCcに含まれる10000分の1度のセル群は、99個であるため、セルCcには統合されない。このように、図16~図19の処理により、図20に示される矩形領域群は、図24に示されるようなセル群に分割される。なお、ステップS283において、位置キー生成部125は、処理結果としての位置キー群を含むリストLを返却する。続いて、移動体情報の検索処理について説明する。図25は、移動体情報の検索処理の処理手順の一例を説明するためのフローチャートである。ステップS401において、検索要求受付部127は、移動体情報の検索要求をサービス部11より受け付ける。なお、サービス部11は、例えば、移動体端末20や、非図示の固定端末からの検索要求に応じて、検索要求受付部127に対して検索要求を入力する。検索要求には、移動体情報の位置に関する検索範囲以下、位置範囲という。を示す情報、移動体ID、時間に関する検索範囲以下、時間範囲という。、又は時間範囲と移動体IDとの組み合わせのいずれかが指定される。位置範囲は、移動体のサイズ情報と同じ形式で指定される。すなわち、位置範囲は、矩形領域の集合によって指定される。各矩形領域の指定方法も、サイズ情報の場合と同様である。したがって、位置範囲は、図6に示されるようなデータ構造によって表現される。位置範囲の意味とは、当該位置範囲が含むもの、すなわち、位置範囲に含まれるものを検索するのか、又は当該位置範囲が含まれるもの、すなわち、位置範囲を含むものを検索するのかを示す情報である。例えば、ある移動体の範囲に含まれる他の移動体の情報を検索するような場合は、前者の検索に該当する。また例えば、予め設定されたXXエリア内の移動体はいずれであるかというような検索を行なう場合が後者の検索に該当する。続いて、検索要求受付部127は、検索要求に位置範囲が指定されているか否かを判定するS402。位置範囲が指定されている場合S402でYes、位置記憶部134からの検索処理が実行されるS403。位置範囲が指定されていない場合S402でNo、検索要求受付部127は、検索要求に時間範囲が指定されているか否かを判定するS404。時間範囲が指定されている場合S404でYes、検索要求受付部127は、検索要求に移動体IDが指定されているか否かを判定するS405。移動体IDが指定されている場合S405でYes、ID時間記憶部131からの検索処理が実行されるS406。移動体IDが指定されていない場合S405でNo、時間ID記憶部132からの検索処理が実行されるS407。一方、時間範囲が指定されていない場合S404でNo、検索要求受付部127は、検索要求に移動体IDが指定されているか否かを判定するS408。移動体IDが指定されている場合S408でYes、ID記憶部133からの検索処理が実行されるS409。移動体IDが指定されていない場合S408でNo、検索要求受付部127は、検索要求の指定が正しくない旨をサービス部11に応答するS410。ステップS403、S406、S407、又はS409における検索処理が実行された場合、検索部129は、各検索処理において生成される、検索結果を示すデータ結果データをサービス部11に応答するS411。続いて、ステップS406の詳細について説明する。図26は、ID時間記憶部からの検索処理の処理手順の一例を説明するためのフローチャートである。ステップS421において、検索条件生成部128は、検索要求に指定されている時間範囲と一つの移動体IDとに基づいて、検索条件を生成する。具体的には、時間範囲には、時間範囲の開始日時と終了日時とが指定されている。検索条件生成部128は、ID時間キー生成部122を利用して、移動体IDと開始日時とに基づいて、開始日時に係るID時間キー以下、開始ID時間キーという。を生成し、移動体IDと終了日時とに基づいて、終了日時に係るID時間キー以下、終了ID時間キーという。を生成する。ID時間キーの生成方法は、図7のステップS111において説明した通りである。続いて、検索部129は、開始ID時間キーと終了ID時間キーとに基づいて、ID時間記憶部131に対して範囲検索を行うS422。当該範囲検索では、終了ID時間キー以上開始ID時間キー以下の範囲に含まれるID時間キーと、当該ID時間キーに対応付けられている値とが検索される。なお、本実施の形態では、後の日時の方が小さい値となるようにID時間キーが生成されるため、終了ID時間キー以上開始ID時間キー以下によって範囲が規定される。続いて、検索部129は、検索結果群の中から一つの検索結果を処理対象とするS423。ここでいう、検索結果とは、一組のID時間キー及び値である。続いて、検索部129は、処理対象の検索結果のID時間キーから日時を復元するS424。具体的には、ID時間キーの先頭部分の移動体IDが除去された文字列が数値に変換される。整数型の変数の最大値から当該数値を差し引いた値を基準日時に加算することにより、ID時間キーが示す日時が復元される。続いて、検索部129は、処理対象の検索結果の値から代表位置の緯度及び経度を取得するS425。続いて、検索部129は、処理対象の検索結果の値からサイズ情報を取得するS426。続いて、検索部129は、処理対象の検索結果の値から属性情報を取得するS427。続いて、検索部129は、ステップS424~S427において取得された情報を、一つのエントリとして結果データに追加するS428。ステップS423~S428が、ステップS422における全ての検索結果について実行されるとS428でYes、図26の処理は終了する。なお、図26の処理手順の終了時点にける結果データが、図25のステップS411においてサービス部11に応答される。ID時間記憶部131に対する上記のような検索により、特定の移動体に関して、任意の時間範囲における移動履歴として、例えば位置及び日時の履歴等を高速に検索することができる。続いて、図25のステップS407の詳細について説明する。図27は、時間ID記憶部からの検索処理の処理手順の一例を説明するためのフローチャートである。ステップS431において、検索条件生成部128は、検索要求に指定されている時間範囲に基づいて、検索条件を生成する。具体的には、時間範囲の開始日時の補正値を文字列とするキー以下、開始キーという。を生成し、時間範囲の終了日時の補正値を文字列とするキー以下、終了キーという。を生成する。補正値とは、時間IDキーの生成の際に、基準日時や整数型の最大値を用いて日時を補正する方法と同様の方法によって得られる値である。続いて、検索部129は、開始キーと終了キーとに基づいて、ID時間記憶部131に対して範囲検索を行うS432。当該範囲検索では、前方の一部分、すなわち、日時に相当する部分が、終了キー以上開始キー以下の範囲に含まれる時間IDキーと、当該時間IDキーに対応付けられている値とが検索される。ステップS433以降は、図26のステップS423以降と同様である。但し、ステップS424に対応する処理は、実行されなくてもよい。図27の処理手順の終了時点にける結果データが、図25のステップS411においてサービス部11に応答される。時間ID記憶部132に対する上記のような検索により、任意の時間範囲における、各移動体の移動履歴として、例えば位置及び日時の履歴等を高速に検索することができる。なお、時間ID記憶部132が記憶する属性情報図10参照には、移動体IDが含まれていることとする。仮に、当該属性情報に移動体IDが含まれない場合には、ステップS433以降において、時間IDキーより移動体IDが抽出され、結果データに追加されるようにしてもよい。なお、ID時間記憶部131に対する検索により、特定の移動体に関して、任意の時間範囲における位置及び日時の履歴を高速に検索するのは困難である。ID時間記憶部131の場合、移動体IDが先頭に付加されているID時間キーをキーとするため、移動体が特定されないで、時間範囲が特定された検索を高速に行うためには、ID時間キーの後方部分に関して範囲検索を行う必要がある。しかし、そのような検索方法は、KVSでは困難である。このような事情が、時間ID記憶部132の存在意義の一つであるといえる。続いて、図25のステップS409の詳細について説明する。図28は、ID記憶部からの検索処理の処理手順の一例を説明するためのフローチャートである。ステップS441において、検索条件生成部128は、検索要求に含まれている移動体IDに関して、IDキー生成部124を利用して、IDキーを生成する。当該IDキーが、ID記憶部133に対する検索条件となる。続いて、検索部129は、検索条件としてのIDキーに合致するIDキー及び当該IDキーに対応付いている値をID記憶部133より検索するS442。ステップS443以降は、図26のステップS423以降と同様である。但し、ステップS424に対応する処理は、実行されなくてもよい。図28の処理手順の終了時点にける結果データが、図25のステップS411においてサービス部11に応答される。ID記憶部133に対する上記のような検索により、特定の移動体に関して、時間範囲が限定されない状態で、移動履歴として、例えば位置及び日時の履歴等を高速に検索することができる。続いて、図25のステップS403の詳細について説明する。図28は、位置記憶部からの検索処理の処理手順の一例を説明するためのフローチャートである。なお、以下における検索範囲は、位置に関する検索範囲位置範囲をいう。ステップS502において、検索条件生成部128は、検索要求に指定された検索範囲に対応する一以上の位置キーを生成する。具体的には、検索範囲を、検索要求に指定された緯度及び経度の精度に応じたセルに分割した場合の各セルの左下頂点の緯度及び経度の集合が生成される。また、検索要求に指定された緯度及び経度の精度よりも上位の桁のセルが、検索範囲に含まれる場合は、当該上位の桁のセルによって、下位の桁のセル群が置き換えられる。すなわち、セル群の正規化が行われる。したがって、変換後の各位置キーの精度、すなわち小数点以下の有効桁数は、必ずしも共通ではない。生成された位置キーは、検索に用いられるキーである。当該位置キーと、位置記憶部134に登録されている被検索情報としての位置キーとの混同を避けるため、生成された位置キーを、以下、検索キーという。なお、後述されるように、生成される検索キーの集合に含まれる検索キーは、検索要求に指定された検索範囲の意味に応じて異なる。続いて、検索条件生成部128は、検索要求に指定された検索範囲の意味に基づいて、検索範囲が含む移動体の検索か、検索範囲が含まれる移動体の検索かを判定するS503。検索範囲が含む移動体の検索である場合S503でYes、検索部129は、検索範囲が含む移動体の検索処理を実行するS504。一方、検索範囲が含まれる移動体の検索である場合S503でNo、検索部129は、検索範囲が含まれる移動体の検索処理を実行するS505。続いて、検索部129は、結果データを検索結果としてサービス部11に応答するS506。結果データとは、ステップS504又はS505の検索処理において、検索結果の移動体情報が格納されるデータである。その後、サービス部11によって、検索結果が検索要求元の移動体端末20又は非図示の固定端末等に返信される。但し、検索結果がそのまま返信されなくてもよい。サービス部11によって、検索結果の加工が行われたり、当該検索結果に基づいて、基盤部12に対して更なる検索等が行われたりした結果が、検索要求元に返信されてもよい。続いて、ステップS502の詳細について説明する。図30は、検索範囲に対応する検索キーの生成処理の処理手順の一例を説明するためのフローチャートである。ステップS511において、検索条件生成部128は、検索要求に指定された検索範囲の意味に基づいて、検索範囲が含む移動体の検索か、検索範囲が含まれる移動体の検索かを判定する。検索範囲が含む移動体の検索である場合S511でYes、位置キー生成部125は、検索範囲に係る矩形領域の集合を構成する正規化された各セルの位置キーの生成処理を実行するS512。すなわち、検索範囲に係る矩形領域の集合に関して、図16~図19において説明した処理が実行される。その結果、検索範囲に係る矩形領域を構成する正規化されたセル群に含まれるセルごとに、位置キーが生成され、リストLに格納される。当該位置キーが、検索範囲が含む移動体を検索するための検索キーとして用いられる。一方、検索範囲が含まれる移動体の検索である場合S511でNo、検索条件生成部128は、検索範囲が含まれる移動体を検索するための位置キーの生成処理を実行するS513。生成された位置キーは、検索範囲が含まれる移動体を検索するための検索キーとして用いられる。続いて、検索条件生成部128は、ステップS512又はS513において生成された位置キー群検索キー群を格納するリストLを返却するS514。続いて、図30のステップS513の詳細について説明する。図31は、検索範囲が含まれる移動体を検索するための位置キーの生成処理の処理手順の一例を説明するためのフローチャートである。ステップS521において、位置キー生成部125は、検索範囲に係る矩形領域の集合を構成する正規化された各セルの位置キーの生成処理を実行する。すなわち、検索範囲に係る矩形領域の集合に関して、図16~図19において説明した処理が実行される。その結果、検索範囲に係る矩形領域を構成する正規化されたセル群に含まれるセルごとに、位置キーが生成され、リストLに格納される。続いて、検索条件生成部128は、リストLに含まれる位置キー群うちの一つの位置キー以下、対象キーという。を処理対象とするS522。続いて、検索条件生成部128は、対象キーの小数点以下の部分の文字数-2を、変数KMAXに代入するS523。本実施の形態の位置キーは、整数部分が6文字緯度の3文字経度の3文字であり、符号部分が2文字である。したがって、対象キーの文字数から8を引いて更に2を引いた値が変数KMAXに代入される。続いて、検索条件生成部128は、対象キーの先頭から8変数KMAXまでの文字数の文字列を位置キーとして作業用の記憶領域作業用領域に記録するS524。したがって、最初は、対象キーの末尾の2文字分が除去された位置キーが作業用領域に追加される。なお、末尾の2文字分が除去された位置キーは、対象キーが示す緯度及び経度の末尾の1桁が除去された緯度及び経度に対応する位置キーである。すなわち、対象キーよりも1桁上位の桁に対応する1桁上位の桁に丸められた位置キーである。続いて、検索条件生成部128は、変数KMAXから2を減算するS525。ステップS524及びS525は、変数KMAXの値が0未満になるまで繰り返されるS526。その結果、対象キーの緯度及び経度に関して、整数部分の桁までの1桁ごとに、位置キーが生成され、作業用領域に追加される。具体例として、対象キーが、10339515262132であるとすると、更に以下の位置キーが、リストLに追加される。10339515262132103395152621103395152610339515103395ステップS522~SS526が、リストLに含まれている全ての位置キーに関して実行されるとS527でYes、検索条件生成部128は、作業用領域に記録されている位置キー群をリストLに追加するS528。すなわち、ステップS522~SS526において新たに生成された位置キーが、検索キーとされる。このように、検索範囲を含む移動体の検索の場合、リストLには、当初からリストLに含まれている位置キー群に加え、当該各位置キーが上位の桁に丸められた位置キー群が検索キーとされる。この理由については後述される。なお、当初からリストLに含まれている位置キーと、丸められた位置キーとを区別する場合、前者を当初検索キーといい、後者を丸め検索キーという。続いて、図29のステップS504の詳細について説明する。図32は、検索範囲が含む移動体の検索処理の処理手順の一例を説明するためのフローチャートである。ステップS531において、検索部129は、図29のステップS502において生成されたリストLに含まれる検索キー群のうちの一つの検索キーを処理対象とする。続いて、検索部129は、検索キーに前方一致する位置キーを、位置記憶部134より検索するS532。なお、検索キーに前方一致する位置キーとは、当該検索キーの全てを、前方からの一部又は全部に含む位置キーである。前方からの全部に含む場合は、完全一致に該当する。検索キーに前方一致する位置キーは、検索キーが示す範囲セルが含む移動体を構成するセルの左下頂点に対応する位置キーに相当する。位置キーが検索キーに前方一致することは、当該検索キーの示す範囲セルが当該位置キーに係るセルを含むこととなる理由について説明する。図33は、検索キーとの前方一致の意義を説明するための図である。同図では、検索キーに対応する緯度及び経度が、35.561,139.122であり、位置記憶部134に記憶されている移動体の位置キーに対応する緯度及び経度が35.5612,139.1223である例が示されている。この場合、検索キーが示すセルは、図中太線で囲まれたセルc1に相当する。一方、移動体の位置キーが示すセルは、図中の黒い矩形で示されたセルc2に相当する。同図より明らかなように、セルc1はセルc2を含む。また、35.561,139.122を位置キーすなわち検索キーに変換すると、103395152621となる。35.5612,139.1223を位置キーに変換すると、10339515262132となる。そして、当該位置キーは、当該検索キーに前方一致する。このように、位置キーが検索キーに前方一致する場合、当該位置キーが示すセルは、当該検索キーが示すセルに含まれるか又は一致することになる。位置キーのこのような特性によって、本実施の形態では、或る範囲に含まれる移動体を高速に検索することができる。換言すれば、本実施の形態では、緯度及び経度をKVSのキーとする場合において、或る範囲に含まれるキーを検索する際に、このような前方一致による高速な検索を可能とするために、緯度及び経度は、位置キーの形式に変換されて、KSVのキーとされるのである。仮に、緯度及び経度の順に単純に接続した文字列を位置キーとした場合、上記のような前方一致による高速な検索は困難である。緯度及び経度の順に単純に接続した場合の文字列は、図33の例において、検索キーは、35561139122となる。また、移動体の位置キーは、3556121391223となる。当該位置キーは、当該検索キーに前方一致しない。また、KVSの特性上、35561139122といった正規表現によるキーの検索を行うのは困難である。なお、ここで、は、ワイルドカードを示す。なお、上記したように、セルの大きさは、当該セルの左下頂点を示す緯度及び経度の精度に依存する。セルc1に関しては、左下頂点の緯度及び経度が、1000分の1度単位である。したがって、セルc1は、1辺が1000分の一度である矩形領域に相当する。一方、セルc2に関しては、左下頂点の緯度及び経度が、10000分の1度単位である。したがって、セルc1は、1辺が10000分の一度である矩形領域に相当する。仮に、セルc1と同じ位置を左下頂点とし、1辺が10000分の一度であるセルを示したい場合、当該セルの左下頂点は、35.5610,139.1220として指定されればよい。一方、セルc1と同じ大きさであって、左下頂点が35.5611,139.1221とする範囲を指定したい場合、当該緯度及び経度を左下頂点とし、セルc1と同じ大きさの矩形領域に含まれる、一辺が10000分の一度の100個のセルによって、当該範囲が指定される。続いて、検索部129は、検索された位置キー群のうちの一つを処理対象以下、対象キーという。とするS533。続いて、検索部129は、対象キーに対する値を位置記憶部134より取得するS534。続いて、検索部129は、取得された値より、移動体IDのリストを抽出するS535。すなわち、当該値に含まれる各行から、idの値が取得される。続いて、検索部129は、当該移動体ID群のリストから、一つの移動体IDを処理対象とするS536。続いて、検索部129は、処理対象とされた移動体IDに対応付けられて代表位置を取得するS537。続いて、検索部129は、処理対象とされた移動体IDに対応付けられているサイズ情報を取得するS538。続いて、検索部129は、処理対象とされた移動体IDに対応付けられて属性情報を取得するS539。続いて、検索部129は、ステップS537~S539において取得されたデータを結果データに追加するS540。結果データは、検索結果を格納するためのデータである。ステップS536~S540は、ステップS535において抽出された全ての移動体IDに関して実行されるS541。また、ステップS534~S541は、ステップS532において検索された全ての位置キーに関して実行されるS542。ステップS531~S542が、全ての検索キーに関して実行されるとS543でYes、図32の処理は終了する。したがって、この時点の結果データが、図29のステップS506において返信される。続いて、図29のステップS505の詳細について説明する。図34は、検索範囲が含まれる移動体の検索処理の処理手順の一例を説明するためのフローチャートである。ステップS551において、検索部129は、図29のステップS502において生成されたリストLに含まれる検索キー群のうちの一つの検索キーを処理対象とする。続いて、検索部129は、検索キーに完全一致する位置キーを、位置記憶部134より検索するS552。図31において説明した処理により、リストLには、当初検索キーに加え、丸め検索キーが含まれている。したがって、例えば、丸め検索キーが、ステップS552における検索キーである場合、当該検索キーに完全一致する位置キーは、当初検索キーに対応するセルを含むセルに対応する位置キーということになる。また、当初検索キーが、ステップS552における検索キーである場合、当該検索キーに完全一致する位置キーは、当初検索キーに対応するセルと一致するセルに対応する位置キーということになる。なお、一つの検索キーに対応するセルは、検索範囲として指定された矩形領域群の全てを含む範囲であるとは限らない。一つの検索キーに対応するセルは、検索範囲の少なくとも一部を含むセルである。したがって、ステップS552では、検索範囲の少なくとも一部を含むセルに対応する位置キーが検索される。続くステップS553~S559は、図32のステップS533~S539と同様である。続いて、検索部129は、処理対象とされた移動体IDを管理テーブルに登録するS560。図35は、管理テーブルの構成例を示す図である。同図において、管理テーブルの一つのレコードは、移動体ID、カウンタ、及び属性情報等を記憶可能である。カウンタの初期値は0である。なお、管理テーブルは、一時的に生成される記憶領域であり、例えば、メモリ装置103又は補助記憶装置102等を用いて実現可能である。ステップS560では、処理対象とされた移動体IDと同じ移動体IDを有するレコードが無い場合、新たなレコードが生成され、当該レコードに、処理対象の移動体IDが記録される。また、当該レコードに、ステップS557~S559において取得された情報が属性情報等として記録される。一方、処理対象とされた移動体IDと同じ移動体IDを有するレコードが有る場合、レコードの生成は行われない。すなわち、同じ移動体IDに対して管理テーブルに登録されるレコードは最大で一つである。続いて、検索部129は、検索キーに前方一致する位置キーをリストLから抽出するS561。続いて、検索部129は、抽出された位置キーの中で、文字数が最大のもの最長の位置キーの個数を、管理テーブルにおいて、処理対象とされた移動体IDに対応するレコードのカウンタに加算するS562。ここで、抽出された位置キーの中で、文字数が最大のものとは、当該検索キーに対する当初検索キーである。したがって、カウンタには、当該検索キーに対する当初検索キーの数が加算される。ステップS560~S562の処理の意義について説明する。検索範囲が含まれる移動体の検索では、検索範囲を構成するセルの全てを含む移動体が検索される必要がある。そして、検索範囲を構成するセルに対応する検索キーは、当初検索キーである。したがって、全部の当初検索キーに対応するセルをその範囲の一部又は全部とする移動体が有れば、それが目的とする移動体である。但し、当初検索キーでは、検索範囲を含む移動体を高速に検索するのは困難である。そこで、本実施の形態では、丸め検索キーが利用される。丸め検索キーの存在意義は、当初検索キーに対応するセルを含み、当該セルより大きな移動体のセルを高速に検索することにある。すなわち、或る位置キーが丸め検索キーに完全一致したということは、当該位置キーに対応するセルは、当該丸め検索キーの元である当初検索キーに対応するセルを含むということを意味する。そうすると、丸め検索キーによる検索結果は、当初検索キーの検索結果であるといえる。上記より、移動体ごとに、丸め検索キーに基づく検索のヒット回数を記録した場合に、その回数の累積値が、当初検索キーの総数と一致する移動体は、検索範囲を構成するセルの全てを含む移動体であるといえる。この検索のヒット回数を記録するための項目が、管理テーブルのカウンタである。但し、一つの丸め検索キーは、図36に示されるように、複数の当初検索キーに対して共通である場合がある。図36は、一つの丸め検索キーが複数の当初検索キーに対して共通する例を示す図である。同図には、10000分の1度の単位のセルとして、図中の黒い四角で示されているセルc21、c22、及びc23と、これらのセルを包含する、1000分の1度の単位のセルとして、図中の太線で示されているセルc11とが示されている。ここで、セルc21、c22、及びc23のそれぞれの位置キーが当初検索キーであるとすると、セルc11の位置キーは、セルc21、c22、及びc23に共通な丸め検索キーの一つである。したがって、セルc11に係る丸め検索キーに基づく検索にヒットしたということは、三つの当初検索キーに基づく検索にヒットしたということになる。ステップS562では、このようなケースを考慮して、カウンタに単に1を加算するのではなく、抽出された位置キーの中で、文字数が最大のもの、すなわち最長の位置キーの個数を、カウンタに加算しているのである。なお、文字数が最大のものとは、当初検索キーを意味する。具体的には、図36のセルc21、22、c23に関しては、1000分の1度、100分の1度、10分の1度、又は1度を単位とする丸め検索キーが生成される。仮に、処理対象とされている検索キーが100分の1度の丸め検索キーであったとする。この場合、当該丸め検索キーに前方一致するものとしてリストLより抽出される位置キー群には、セルc21、c22、又はc23に係る当初検索キーのみならず、100分の1度又は1000分の1度のぞれぞれの丸め検索キーも含まれる。斯かる位置キー群の中で、セルc21、c22、又はc23に係る当初検索キーの文字数は、最長であるはずである。したがって、ステップS562において、抽出された位置キーの中で、文字数が最大のもの、すなわち最長の位置キーの個数をカウンタに加算するということは、当初検索キーのみの個数をカウンタに加算することを意味する。続くステップS563~S565は、図32のステップS541~S543と同じである。すなわち、ステップS556~S562は、ステップS555において抽出された全ての移動体IDに関して実行されるS563。また、ステップS554~S563は、ステップS552において検索された全ての位置キーに関して実行されるS564。更に、ステップS551~S564は、リストLに含まれている全ての検索キーに関して実行されるS565。続いて、検索部129は、管理テーブルのレコード数が1以上であるか否かを判定するS566。管理テーブルのレコード数が1以上である場合S566でYes、検索部129は、一つのレコードを処理対象とするS567。続いて、検索部129は、当該レコードのカウンタの値が、当初検索キーの数と同じであるか否かを判定するS568。S560~S562に関して説明したように、当該カウンタの値が、当初検索キーの数と同じであるということは、当該レコードに記録されている移動体IDに係る移動体は、検索範囲を含むこと、すなわち、当該検索範囲は、当該移動体に含まれることを意味する。したがって、当該カウンタの値が、当初検索キーの数と同じである場合S568でYes、検索部129は、当該レコードの属性情報等を結果データに追加するS569。ステップS567~S569が、管理テーブルに登録されている全てレコードに関して実行されるとS570でYes、図34の処理は終了する。なお、上記では、移動体情報の検索処理を説明したが、検索要求受付部127が、施設情報又はエリア情報の検索要求を受け付けた場合も、基本的に同様の処理手順が実行される。すなわち、1台の車、一人の人が持っている移動体端末20は、本システムにおいては、一番精度が細かい矩形領域として表現される。したがって、移動体よりも広い面積を持つ店舗やエリアの検索であっても考え方は同じである位置記憶部134からの検索処理に関して、具体例を示して説明する。図37は、位置記憶部からの検索処理の第一の具体例を示す図である。同図では、検索要求Req1において、検索範囲A1の左下頂点として139.1219,35.5609が指定され、右上頂点として139.1231,35.5621が指定され、当該検索範囲が含む移動体の検索が要求された例が示されている。この場合、有効桁数KMAXは、4となる。すなわち、検索範囲A1の精度は、0.0001度である。したがって、検索範囲A1は、同図の1に示されるように、1辺を0.0001度とする144個のセル群に分割される。但し、35.561,139.122を左下頂点とし、35.562,129.123を右上頂点とするセルに含まれるセル群は、同図の2に示されるセルC1aに統合される。すなわち、セルC1aの左下頂点35.561,139.122に対応する一つの位置キーと、44個のセル群C1bのそれぞれの左下頂点に対応する44個の位置キーとが、検索キーとしてリストLに追加される。その結果、リストLに含まれているいずれかの検索キーに前方一致する位置キーが、位置記憶部134より検索される。例えば、同図の3に示されるように三つの移動体A、B、及びCの移動体情報が位置記憶部134に記憶されている場合、検索範囲A1内に位置する移動体Aの位置キーと、移動体Bの位置キーとは、リストLに含まれるいずれかの検索キーに前方一致する。一方、検索範囲A1外に位置する移動体Cの位置キーは、リストLに含まれるいずれの検索キーにも前方一致しない。したがって、結果データRes1には、移動体Aの位置キーと、移動体Bの位置キーとが含まれる。図38は、位置記憶部からの検索処理の第二の具体例を示す図である。同図では、検索要求Req2において、検索範囲A2の左下頂点の緯度及び経度として139.122,35.561が指定され、右上頂点として139.123,35.562が指定され、当該検索範囲が含む移動体の検索が要求された例が示されている。この場合、有効桁数KMAXは、3となる。すなわち、検索範囲A2の精度は、0.001度である。したがって、検索範囲A2は、同図の2に示されるように、1辺を0.001度とする一つのセルC2として扱われる。すなわち、セルC2の左下頂点139.122,35.561に対応する一つの位置キーが、検索キーとしてリストLに追加される。その結果、リストLに含まれているいずれかの検索キーに前方一致する位置キーが、位置記憶部134より検索される。例えば、同図の3に示されるように三つの移動体A、B、及びCの移動体情報が位置記憶部134に記憶されている場合、検索範囲A2内に位置する移動体Aの位置キーと、移動体Bの位置キーとは、リストLに含まれる検索キーに前方一致する。一方、検索範囲A2外に位置する移動体Cの位置キーは、リストLに含まれる検索キーに前方一致しない。したがって、結果データRes2には、移動体Aの位置キーと、移動体Bの位置キーとが含まれる。図39は、位置記憶部からの検索処理の第三の具体例を示す図である。同図では、検索要求Req3において、検索範囲A3の左下頂点の緯度及び経度として139.1221,35.5611が指定され、右上頂点として139.123,35.562が指定され、当該検索範囲が含む移動体の検索が要求された例が示されている。この場合、有効桁数KMAXは、4となる。すなわち、検索範囲A3の精度は、0.0001度である。したがって、検索範囲A3は、同図の2に示されるように、1辺を0.0001度とする81個のセル群C3に分割される。すなわち、セル群C3に含まれる各セルに対応する81個の位置キーが、検索キーとしてリストLに追加される。その結果、リストLに含まれているいずれかの検索キーに前方一致する位置キーが、位置記憶部134より検索される。例えば、同図の3に示されるように三つの移動体A、B、及びCの移動体情報が位置記憶部134に記憶されている場合、検索範囲A3内に位置する移動体Aの位置キーと、移動体Bの位置キーとは、リストLに含まれるいずれかの検索キーに前方一致する。一方、検索範囲A3外に位置する移動体Cの位置キーは、リストLに含まれるいずれの検索キーにも前方一致しない。したがって、結果データRes3には、移動体Aの位置キーと、移動体Bの位置キーとが含まれる。図40は、位置記憶部からの検索処理の第四の具体例を示す図である。同図では、検索要求Req4において、検索範囲A4の左下頂点の緯度及び経度として139.1221,35.5611が指定され、右上頂点として139.1225,35.5614が指定され、当該検索範囲が含む移動体の検索が要求された例が示されている。この場合、有効桁数KMAXは、4となる。すなわち、検索範囲A4の精度は、0.0001度である。したがって、検索範囲A4は、同図の2に示されるように、1辺を0.0001度とする12個のセル群C4に分割される。すなわち、セル群C4に含まれる各セルに対応する12個の位置キーが、検索キーとしてリストLに追加される。その結果、リストLに含まれているいずれかの検索キーに前方一致する位置キーが、位置記憶部134より検索される。例えば、同図の3に示されるように三つの移動体A、B、及びCの移動体情報が位置記憶部134に記憶されている場合、検索範囲A4内に位置する移動体Aの位置キーは、リストLに含まれるいずれかの検索キーに前方一致する。一方、検索範囲A4外に位置する移動体B及び移動体Cのそれぞれの位置キーは、リストLに含まれるいずれの検索キーにも前方一致しない。したがって、結果データRes4には、移動体Aの位置キーが含まれる。図41は、位置記憶部からの検索処理の第五の具体例を示す図である。同図では、検索要求Req5において、検索範囲A5の左下頂点の緯度及び経度として139.1219,35.5609が指定され、右上頂点として139.1225,35.5614が指定され、当該検索範囲が含む移動体の検索が要求された例が示されている。この場合、有効桁数KMAXは、4となる。すなわち、検索範囲A5の精度は、0.0001度である。したがって、検索範囲A5は、同図の2に示されるように、1辺を0.0001度とする30個のセル群C5に分割される。すなわち、セル群C5に含まれる各セルに対応する30個の位置キーが、検索キーとしてリストLに追加される。その結果、リストLに含まれているいずれかの検索キーに前方一致する位置キーが、位置記憶部134より検索される。例えば、同図の3に示されるように三つの移動体A、B、及びCの移動体情報が位置記憶部134に記憶されている場合、検索範囲A5内に位置する移動体Aの位置キーは、リストLに含まれるいずれかの検索キーに前方一致する。一方、検索範囲A5外に位置する移動体B及び移動体Cのそれぞれの位置キーは、リストLに含まれるいずれの検索キーにも前方一致しない。したがって、結果データRes5には、移動体Aの位置キーが含まれる。図42は、位置記憶部からの検索処理の第六の具体例を示す図である。同図では、検索要求Req6において、検索範囲A6の左下頂点の緯度及び経度として139.1219,35.5609が指定され、右上頂点として139.1225,35.5614が指定され、当該検索範囲が含む移動体の検索が要求された例が示されている。この場合、有効桁数KMAXは、4となる。すなわち、検索範囲A6の精度は、0.0001度である。したがって、検索範囲A6は、同図の2に示されるように、1辺を0.0001度とする30個のセル群C6に分割される。すなわち、セル群C6に含まれる各セルに対応する30個の位置キーが、検索キーとしてリストLに追加される。その結果、リストLに含まれているいずれかの検索キーに前方一致する位置キーが、位置記憶部134より検索される。例えば、同図の3に示されるように二つの移動体A及びBの移動体情報が位置記憶部134に記憶されているとする。移動体Aの範囲は、五つのセルを含む。したがって、移動体Aに関しては、五つの位置キーが位置記憶部134に記憶されている。一方、移動体Bの範囲は、三つのセルを含む。したがって、移動体Bに関しては、三つの位置キーが位置記憶部134に記憶されている。移動体Aの範囲を構成する一つセルAaは、検索結果A6内に含まれる。したがって、セルAaの位置キーは、リストLに含まれるいずれかの検索キーに前方一致する。一方、検索範囲A6外に位置する移動体Aを構成する他のセルの位置キー、及び移動体Bを構成する全てのセルの位置キーは、リストLに含まれるいずれの検索キーにも前方一致しない。したがって、結果データRes6には、セルAaの位置キーが含まれる。セルAaは、移動体Aを構成するセルであるため、移動体Aが検索範囲に含まれる移動体とされる。すなわち、本実施の形態では、検索範囲に完全に含まれる移動体のみならず、その一部が検索範囲と重複する移動体も、検索結果に含まれる。仮に、検索範囲に完全に含まれる移動体のみを検索結果としたい場合、検索部129は、当該移動体を構成する全てのセルの位置キーが検索キーに前方一致する場合に、当該全てのセルの位置キーを検索結果とするようにすればよい。図43は、位置記憶部からの検索処理の第七の具体例を示す図である。同図では、検索要求Req7aにおいて、検索範囲A7の左下頂点の緯度及び経度として139.1223,35.5612が指定され、右上頂点として139.1224,35.5613が指定され、当該検索範囲を含む移動体の検索が要求された例が示されている。なお、検索要求Req7bに示されるように、10000分の1度を単位とする一組の緯度経度として139.1223,35.5612が指定された場合も、検索範囲A7と同じ矩形領域が指定されたことになる。この場合、有効桁数KMAXは、4となる。すなわち、検索範囲A7の精度は、0.0001度である。したがって、検索範囲A7に関して、同図の2に示されるように、1辺を0.0001度とする1個のセルC7が生成される。ここでは、検索範囲A7を含む移動体の検索であるため、セルC7に対応する当初検索キーのみならず、当初検索キーの小数点以下の部分を1桁ずつ2文字ずつ削除した丸め検索キーもリストLに追加される図31参照。同図では、セルC7より1桁上位のセルC8と、セルC7より2桁上位のセルC9とが図示されている。それより上位の桁のセルに関しては、便宜上、省略されているが、このような上位桁の各セルに対応する位置キーが、丸め検索キーとしてリストLに追加される。その結果、リストLに含まれているいずれかの検索キーに完全一致する位置キーが、位置記憶部134より検索される。例えば、同図の3に示されるように二つの移動体M及びNの移動体情報が位置記憶部134に記憶されている場合、検索範囲A7を含む移動体Mの位置キーは、リストLに含まれる、1000分の1度の丸め検索キーに完全一致する。検索範囲A7のセルの数は1であるところ、移動体Mの位置キーに関して、リストLに含まれる検索キーと完全一致する回数は1回である。一方、検索範囲A7を含まない移動体Nの位置キーは、リストLに含まれるいずれの検索キーにも完全一致しない。したがって、結果データRes7には、移動体Mの位置キーが含まれる。上述したように、本実施の形態によれば、一つの移動体の移動体情報が、ID時間記憶部131、時間ID記憶部132、ID記憶部133、及び位置記憶部134において、それぞれ異なる特定を有するキーに対応付けられて管理される。したがって、位置範囲、移動体ID、時間範囲、又は時間範囲と移動体IDとの組み合わせのいずれかが指定された多様な検索要求に対して、高速に実用的な性能で検索を実行し、検索結果を応答することができる。また、本実施の形態によれば、緯度及び経度が、位置キーの形式でキーとしてKVSに登録される。したがって、当該位置キーに対応する対応情報に関して、高速な検索を行うことができる。すなわち、例えば、位置範囲に含まれる移動体情報を検索する場合、指定された位置範囲に対応する位置キー群検索キー群のいずれかに前方一致する位置キー群を検索することで、目的とする移動体情報を検索することができる。なお、本実施の形態では、位置キーの形式は、経度、緯度の順に緯度及び経度の各桁が交互に配列される例を示したが、経度と緯度との順が逆であってもよい。また、必ずしも、緯度及び経度の全ての桁が交互に配列されなくてもよい。すなわち、検索時の精度検索キーの精度より上位の桁に関しては、交互に配列されなくてもよい。例えば、図33の例では、検索キーの精度は、小数点以下第3位である。したがって、小数点以下第3位より上位の桁に関しては、経度文字列と緯度文字列とが順番に配列されてもよい。具体的には、図33の例によればこの場合の検索キーは、35561391221となる。また、移動体の位置キーは、3556139122132となる。これらは、いずれも、小数点以下第3位以下に関して、緯度文字列と経度文字列の文字を交互に配列したものである。この場合、当該位置キーは、当該検索キーに前方一致する。上記より、本実施の形態の位置キーは、緯度及び経度のそれぞれの全部又は最下位桁からの一部の桁の上位から順に同じ桁を1桁ずつ交互に配列した文字列ということになる。ここで、最下位桁からの一部の桁とは、直前の例において、小数点以下第3位以下の桁をいう。また、本実施の形態では、緯度の範囲は、90度北緯~-90度南緯であるとし、経度の範囲は、180度東経~-180度西経であるとした。しかし、緯度の範囲は、0度から180度とし、経度の範囲は、0度から360度としてもよい。この場合、符号を示す文字又は-は、位置キーの先頭の2文字に含まれなくてもよい。なお、位置範囲を構成する矩形領域群に関して生成されるセル群に関して、上位桁のセルへの統合を行うのは、位置記憶部134に登録されている位置キーの精度に拘わらず、検索キーの前方一致による検索によって、位置範囲が含む移動体の検索を常に可能とするために行われる。例えば、図37の2に示されるセルC1aの範囲を有する移動体の移動体情報が位置記憶部134に登録されているとする。この場合、セルC1aに関する位置キーは、1000分の1度の単位である。一方、位置範囲A1を構成する矩形領域が10000分の1度の単位で指定されていたとすると、当該矩形領域は、まず、同図の1に示されるように、10000分の1度の単位のセル群に分割される。そのままの状態で、当該セル群のそれぞれに対応する位置キー検索キーに前方一致する位置キーを検索したとしても、セルC1aに対応する位置キーは検索すされない。検索キーの方が、被検索対象の位置キーよりも長いからである。このような状況を排除するため、位置範囲を構成する矩形領域群を構成するセル群は、可能な限り上位の桁のセルへと統合されるのである。一方、移動体情報の登録時において、移動体のサイズ情報移動体の範囲を示す矩形領域群に関して生成されるセル群について上位桁への統合が行われるのは、位置範囲を含む移動体の検索時において、検索キーとの完全一致によって、位置範囲を含む移動体の少なくとも一部分の検索を常に有効なものとするためである。例えば、図37のA1で示される矩形領域すなわち、位置範囲A1であるが、ここでは移動体の範囲A1とする。が、移動体のサイズ情報範囲を示す矩形領域として指定されて登録が要求されたとする。この場合、当該矩形領域が10000分の1度の単位で指定されていたとすると、当該矩形領域は、まず、1に示されるように、10000分の1度の単位のセル群に分割される。当該セル群が統合されずに当該移動体情報が登録されたとすると、当該移動体情報は、10000分の1度の精度の144個の位置キーに対応付けられる。このような状態で、位置範囲を含む移動体の検索要求において、当該位置範囲の左下頂点として、図37の2のセルC1aの左下頂点と同じ緯度及び経度が指定されたとする。すなわち、セルC1aと同じ範囲が位置範囲として指定されたとする。当該緯度及び経度は、1000分の1度である。したがって、当該位置範囲に係る検索キーは、1000分の1度、100分の1度、10分の1度、及び1度のそれぞれの単位で生成される。これらのいずれかの検索キーと完全一致する位置キーを検索しようとした場合、上記の10000分の1度の精度の144個の位置キーの中で、これらの検索キーに完全一致する位置キーは無い。すなわち、範囲A1に係る移動体は、セルC1aを包含するにも拘わらず、セルC1aを含むものの検索結果に含まれなくなってしまう。一方、範囲A1に含まれる一部のセル群が、図37の2のように、1000分の1度の単位のセルC1aに統合されていれば、当該セルC1aに対応する位置キーが、上記の検索キーのうちの1000分の1度の検索キーと完全一致する。したがって、範囲A1に係る移動体は、セルC1aを含むものとして検索される。以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形変更が可能である。"