(57)【要約】【課題】特定のユーザの近傍に存在していた他のユーザを特定するための秘匿化データからの情報漏洩を防止する。【解決手段】時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、時刻及び位置データで特定される時刻及び位置を包含するブロックを特定するための第1データと、当該ブロック内部の相対的な時刻及び位置を特定するための第2データとを、時刻及び位置データから抽出し、第1データに対して秘匿化処理を実施し、ユーザIDと秘匿化処理後の第1データと第2データとを含むデータブロックを記憶する。また、第2データにより特定される、ブロック内部の相対的な時刻及び位置が、当該ブロックの境界から予め定められた範囲に入っている場合には、同様のデータフォーマットを有する隣接ブロックについてのデータブロックを生成し、記憶する。その後記憶されたデータブロックを、ランダムにコンピュータに送信する。【選択図】図５
2014092882.tif 000002
【特許請求の範囲】
【請求項１】
時刻及び位置データを取得する処理と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを、前記時刻及び位置データから抽出する処理と、
前記第１のデータに対して所定の秘匿化処理を実施する処理と、
ユーザの識別子と前記所定の秘匿化処理がなされた前記第１のデータと前記第２のデータとを含むデータブロックを、記憶装置に格納する処理と、
前記第２のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第２のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第３のデータと、前記第２のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第４のデータとを生成する処理と、
前記第３のデータに対して前記所定の秘匿化処理を実施する処理と、
前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第３のデータと前記第４のデータとを含む第２のデータブロックを、前記記憶装置に格納する処理と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する処理と、
を含み、コンピュータにより実行される情報処理方法。
【請求項２】
前記他の時空間ブロック内部の相対的な近似時刻及び近似位置が、前記他の時空間ブロック内の前記予め定められた範囲内において、固定値又はランダムに決定される
請求項１記載の情報処理方法。
【請求項３】
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第１のデータブロックを読み出す処理と、
読み出した前記データブロックに含まれる前記第１のデータと一致する第１のデータと前記特定のユーザとは異なるユーザの識別子とを含む第２のデータブロックを、前記データ格納部から抽出する処理と、
前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第２のデータを含む第２のデータブロックに含まれるユーザの識別子を特定する処理と、
前記時空間ブロックの境界から予め定められた範囲に、前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第２のデータブロックに含まれる第２データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける処理と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする処理と、
を含み、コンピュータにより実行される情報処理方法。
【請求項４】
前記第１のデータブロック１つにつき、同一のユーザの識別子を含む第２のデータブロックが複数出現した場合には、１つの第２のデータブロックについてのみ出現頻度が計数される
請求項３記載の情報処理方法。
【請求項５】
前記重み付ける処理において、
前記時空間ブロックの軸毎に前記境界から所定範囲内に含まれるか否かを判断し、前記所定範囲内に含まれると判断された軸の数の２の冪乗の逆数で重み付けられる
請求項３又は４の情報処理方法。
【請求項６】
時刻及び位置データを取得する処理と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを、前記時刻及び位置データから抽出する処理と、
前記第１のデータに対して所定の秘匿化処理を実施する処理と、
ユーザの識別子と前記所定の秘匿化処理がなされた前記第１のデータと前記第２のデータとを含むデータブロックを、記憶装置に格納する処理と、
前記第２のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第２のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第３のデータと、前記第２のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第４のデータとを生成する処理と、
前記第３のデータに対して前記所定の秘匿化処理を実施する処理と、
前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第３のデータと前記第４のデータとを含む第２のデータブロックを、前記記憶装置に格納する処理と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する処理と、
を、コンピュータに実行させるためのプログラム。
【請求項７】
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第１のデータブロックを読み出す処理と、
読み出した前記データブロックに含まれる前記第１のデータと一致する第１のデータと前記特定のユーザとは異なるユーザの識別子とを含む第２のデータブロックを、前記データ格納部から抽出する処理と、
前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第２のデータを含む第２のデータブロックに含まれるユーザの識別子を特定する処理と、
前記時空間ブロックの境界から予め定められた範囲に、前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第２のデータブロックに含まれる第２データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける処理と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする処理と、
を、コンピュータに実行させるためのプログラム。
【請求項８】
時刻及び位置データを取得する取得部と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを、前記時刻及び位置データから抽出し、前記第１のデータに対して所定の秘匿化処理を実施し、ユーザの識別子と前記所定の秘匿化処理がなされた前記第１のデータと前記第２のデータとを含むデータブロックを、記憶装置に格納し、
前記第２のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第２のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第３のデータと、前記第２のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第４のデータとを生成し、前記第３のデータに対して前記所定の秘匿化処理を実施し、前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第３のデータと前記第４のデータとを含む第２のデータブロックを、前記記憶装置に格納する処理部と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する送信部と、
を有する情報処理装置。
【請求項９】
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第１のデータブロックを読み出す手段と、
読み出した前記データブロックに含まれる前記第１のデータと一致する第１のデータと前記特定のユーザとは異なるユーザの識別子とを含む第２のデータブロックを、前記データ格納部から抽出する手段と、
前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第２のデータを含む第２のデータブロックに含まれるユーザの識別子を特定する手段と、
前記時空間ブロックの境界から予め定められた範囲に、前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第２のデータブロックに含まれる第２データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける手段と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする手段と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データ秘匿化及び秘匿化されたデータの処理技術に関する。
【背景技術】
【０００２】
従来から、秘匿したい値をハッシュ関数で秘匿化する手法が存在している。入力が同じならば、ハッシュ関数の出力結果も同じになることから、秘匿化前の値が同じであるか否かを、秘匿化後の値同士を比較することで判定可能である。しかしながら、秘匿化前の値が完全に一致している場合であれば秘匿化後の値も一致するが、少しでも秘匿化前の値が異なっていれば、秘匿化後の値は異なっており、秘匿化後の値だけでは、秘匿化前の値の差が少ないか否かということは分からない。例えば、位置データを秘匿化する場合、完全に一致している位置で測定しても誤差が発生したりするし、完全に一致していない場合にも同一の場所にいたと判断することが好ましいほど距離が短い場合もある。
【０００３】
また、時間及び空間を所定の単位で分割することで複数の時空間ブロックを規定し、移動する人や物が属する時空間ブロックの識別子をハッシュ化すると共に、当該時空間ブロック内の相対的な時刻及び位置を求めることで、おおよそ同一の位置に存在する人や物を特定する技術が提案されている。しかしながら、人や物が時空間ブロックの境界付近に存在する場合に隣接関係を表す補助データを生成する処理を行うことになっているため、場合によっては時空間ブロックの隣接関係が分かってしまい、結果として人や物の動きが漏洩してしまうこともある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】C. Quantin, F.A.Allaert, A.M. Benhamiche, J.Faivre, L.Dusserre, Automatic record hash coding and linkage for epidemiological follw-up data condenitiality. In Methods of Information in Medicine, pp. 271-277. F.K. Schattauer Verlagsgesellschaft mbH, 1998.
【非特許文献２】Mebae Ushida, et al, "A Location Anonymization Method for Robust Location Matching"，SCIS 2012 The 29th Symposium on Cryptography and Information Security Kanazawa, Japan, Jan. 30 - Feb. 2, 2012 The Institute of Electronics, Information and Communication Engineers
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、本技術の目的は、一側面としては、特定のユーザの近傍に存在していた他のユーザを特定するための秘匿化データからの情報漏洩を防止するための技術を提供することである。
【課題を解決するための手段】
【０００６】
本技術の第１の態様に係る情報処理方法は、（Ａ）時刻及び位置データを取得する処理と、（Ｂ）時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを、時刻及び位置データから抽出する処理と、（Ｃ）第１のデータに対して所定の秘匿化処理を実施する処理と、（Ｄ）ユーザの識別子と所定の秘匿化処理がなされた第１のデータと第２のデータとを含むデータブロックを、記憶装置に格納する処理と、（Ｅ）第２のデータにより特定される、時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、第２のデータにより特定される相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第３のデータと、第２のデータにより特定される相対的な時刻及び位置に基づき決定され且つ他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第４のデータとを生成する処理と、（Ｆ）第３のデータに対して所定の秘匿化処理を実施する処理と、（Ｇ）ユーザの識別子と所定の秘匿化処理がなされた第３のデータと第４のデータとを含む第２のデータブロックを、記憶装置に格納する処理と、（Ｈ）記憶装置に格納されているデータブロックを、データブロックの格納順序とは異なる順番で、データブロックを蓄積するコンピュータに送信する処理とを含む。
【０００７】
本技術の第２の態様に係る情報処理方法は、（Ａ）ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第１のデータブロックを読み出す処理と、（Ｂ）読み出したデータブロックに含まれる第１のデータと一致する第１のデータと特定のユーザとは異なるユーザの識別子とを含む第２のデータブロックを、データ格納部から抽出する処理と、（Ｃ）第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第２のデータを含む第２のデータブロックに含まれるユーザの識別子を特定する処理と、（Ｄ）時空間ブロックの境界から予め定められた範囲に、第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第２のデータブロックに含まれる第２データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定されたユーザの識別子についての出現頻度を重み付ける処理と、（Ｅ）重み付けされた出現頻度に基づき、ユーザの識別子をソートする処理とを含む。
【発明の効果】
【０００８】
特定のユーザの近傍に存在していた他のユーザを特定するための秘匿化データからの情報漏洩を防止できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態を説明するための図である。
【図２】図２は、実施の形態を説明するための図である。
【図３】図３は、実施の形態を説明するための図である。
【図４Ａ】図４Ａは、実施の形態を説明するための図である。
【図４Ｂ】図４Ｂは、実施の形態を説明するための図である。
【図５】図５は、実施の形態に係るシステム構成の一例を示す図である。
【図６】図６は、通信端末の機能ブロック図である。
【図７】図７は、データ収集サーバの機能ブロック図である。
【図８】図８は、通信端末の処理フローを示す図である。
【図９】図９は、隣接キューブデータの生成処理の処理フローを示す図である。
【図１０】図１０は、隣接キューブデータの生成処理の処理フローを示す図である。
【図１１】図１１は、秘匿化データブロックの生成処理の処理フローを示す図である。
【図１２】図１２は、秘匿化データブロックの生成処理の処理フローを示す図である。
【図１３】図１３は、隣接キューブの相対データの設定について説明するための図である。
【図１４】図１４は、隣接キューブの相対データの設定について説明するための図である。
【図１５】図１５は、秘匿化データブロックの生成処理の処理フローを示す図である。
【図１６】図１６は、隣接キューブの相対データの設定について説明するための図である。
【図１７】図１７は、隣接キューブの相対データの設定について説明するための図である。
【図１８】図１８は、データ収集サーバに蓄積されるデータの一例を示す図である。
【図１９】図１９は、検索時の処理フローを示す図である。
【図２０】図２０は、秘匿検索処理の処理フローを示す図である。
【図２１】図２１は、送信頻度の差について説明するための図である。
【図２２】図２２は、送信頻度の差に対する対処法を説明するための図である。
【図２３】図２３は、リストの例を示す図である。
【図２４】図２４は、秘匿検索処理の処理フローを示す図である。
【図２５】図２５は、秘匿検索処理の処理フローを示す図である。
【図２６】図２６は、出現頻度の重み付けを説明するための図である。
【図２７】図２７は、出現頻度の重み付けを説明するための図である。
【図２８】図２８は、他のシステム構成例を示す図である。
【図２９】図２９は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
本実施の形態では、例えば交通機関の乗り物にＧＰＳ（Global Positioning System）を含む通信端末を搭載して、秘匿化された時刻及び位置データをデータ収集サーバに送信すると共に、ユーザも携帯電話機等から、秘匿化された時刻及び位置データをデータ収集サーバに送信しておく。そして、例えばユーザがどこかに忘れ物をしてしまった場合など、ユーザ及び乗り物の秘匿化された時刻及び位置データを秘匿化したままで突き合わせを行って、ユーザが乗車していた乗り物を特定することで、当該乗り物の交通機関などに忘れ物について問い合わせ、すなわち検索を行うことができるようにする。
【００１１】
このため、図１に模式的に示すように、２次元空間（３次元空間の場合であっても良い）ＸＹと時間Ｔとをそれぞれ所定の単位で分割することで、複数のキューブ（時空間ブロックとも呼ぶ）を定義する。例えば、緯度Ｘ及び経度Ｙについては、１分を単位として分割して、時間については例えば１時間を単位として分割する。すなわち、Ｄlong＝１分、Ｄlat＝１分、Ｄtime＝１時間となっている。例えば、（緯度，経度，時刻）＝（３７．５０４５，１４０．００００，２０１１／０６／１０／１０：４５）だとすると、この（緯度，経度，時刻）を包含するキューブは、（３７．５０，１４０．００，２０１１／０６／１０／１０）で識別される。そこで、この値をキューブＩＤと呼ぶことにする。本実施の形態では、このキューブＩＤを、ユーザ及び乗り物で共有している鍵を用いて秘匿化してデータ収集サーバに登録する。
【００１２】
しかしながら、これだけではユーザと乗り物とのデータの突き合わせは正確には行えないので、本実施の形態では、キューブ内における相対的な時刻及び位置のデータを生成して、平文でデータ収集サーバに登録する。上で述べた例では、時刻が４５秒、緯度が４５秒、経度が００秒で、（４５，００，４５）という相対データが生成され、秘匿化されたキューブＩＤと共にデータ収集サーバに登録される。
【００１３】
これによって、ユーザのキューブＩＤと乗り物のキューブＩＤとが一致する場合には、秘匿化したキューブＩＤ同士も一致する。従って、図２に示すように、ユーザについて測定された時刻及び位置を表す点ａと乗り物について測定された時刻及び位置を表す点ｂが同一のキューブ内に存在していたことがある場合には、相対データを用いて点ａと点ｂとが近傍に存在しているか否かを判断することができるようになる。なお、以下の実施の形態では、ＸＹＴ空間における距離Ｌ１をＸＹ平面に射影した長さを算出して閾値と比較し、時刻については別途比較する。但し、距離Ｌ１を用いて判断しても良い。
【００１４】
しかしながら、点ａの相対データが（４５，００，４５）の場合、図２からも分かるように、点ａはキューブの境界面であるＴＸ面に載っている。このような場合には、同一のキューブだけではなく、隣接するキューブ内にも距離の短い点が存在する場合もある。図３のように、点ａがキューブＰ内にある場合でも、キューブＰ内にある点ｂだけではなく、キューブＱ内の点ｄとの距離Ｌ３、キューブＲ内の点ｅとの距離Ｌ４、キューブＳ内の点ｃとの距離Ｌ２のいずれかが、点ｂとの距離Ｌ１より短い可能性がある。
【００１５】
そこで、図４Ａに示すように、緯度経度平面におけるキューブの左下の頂点を（ｘc，ｙc）とすると、ｘc乃至Ｅx,downの範囲と、Ｅx,up乃至ｘc＋Ｄlatの範囲とが、緯度方向における境界から所定範囲と規定する。また、ｙc乃至Ｅy,downの範囲と、Ｅy,up乃至ｙc＋Ｄlongの範囲とが、経度方向における境界からの所定範囲と規定する。なお、点Ａ（ｘ，ｙ）が測定されたとすると、相対データ（ｘu，ｙu）は（ｘ−ｘc，ｙ−ｙc）によって算出される。
【００１６】
さらに、図４Ｂに示すように、緯度時刻平面におけるキューブの左下の頂点を（ｘc，ｚc）とすると、ｚc乃至Ｅz,downの範囲と、Ｅz,up乃至ｚc＋Ｄtimeの範囲とが、時刻方向における境界からの所定範囲と規定する。なお、点Ａ（ｘ，ｚ）が測定されたとすると、相対データ（ｘu，ｚu）は（ｘ−ｘc，ｚ−ｚc）によって算出される。
【００１７】
そして、本実施の形態では、このように規定された、境界から所定範囲内にある点の時刻及び位置データが得られた場合には、上で述べたデータに加えて、当該キューブに隣接する他のキューブのキューブＩＤをも取得する。さらに相対データについても、以下で述べるようなルールに従って当該他のキューブ側にマッピングした相対データも生成する。そして、本実施の形態では、他のキューブのキューブＩＤを、ユーザ及び乗り物で共有している鍵を用いて秘匿化し、追加で生成された相対データ及びユーザＩＤと共にデータ収集サーバに登録する。このように、データの形式としては、元々生成されるデータと追加で生成されるデータとは区別できなくなる。
【００１８】
但し、元々の測定位置及び時刻に対応する秘匿化キューブＩＤ及び相対データを含むデータブロックと共に、追加で生成した秘匿化キューブＩＤ及び相対データを含むデータブロックを揃えてデータ収集サーバに送信してしまうと、キューブの隣接関係が分かってしまう可能性がある。そこで、本実施の形態では、生成順番とは異なる順番で、データ収集サーバにデータブロックを送信することで、追加で生成したデータブロックか否かということを分からなくする。このようにすることで、情報漏洩を防止している。
【００１９】
なお、このようにデータの形式が同じで元々のデータブロックと追加で生成されるデータブロックとを区別できないので、データ収集サーバにおける検索処理の際に、キューブの境界から所定範囲内となった場合には本来より多くのデータブロックが抽出されてしまう。そこで、後に述べるような、被検索ユーザの出現頻度の重み付けを行うことで、適切な出現頻度で被検索ユーザを列挙できるようにする。
【００２０】
次に、このような処理を実施するためのシステム構成について図５を用いて説明する。例えばインターネット及び携帯電話通信網であるネットワーク１には、データ収集サーバ５と、ユーザが問い合わせなどを行うパーソナルコンピュータであるユーザ端末７とが接続されている。さらに、ネットワーク１には、無線基地局などを介して無線で、携帯電話機などの移動可能な通信端末３ａや、乗り物（例えばタクシーやバス、電車など）の車載通信端末３ｂが接続される。通信端末３ａや車載通信端末３ｂの数に制限はない。
【００２１】
図６に、通信端末３ａや車載通信端末３ｂなどの通信端末３の機能ブロック図を示す。通信端末３は、ＧＰＳ受信機３１と、第１データ格納部３２と、処理部３３と、第２データ格納部３４と、第３データ格納部３５と、送信部３６とを有する。ＧＰＳ受信機３１は、ＧＰＳ衛星からの電波に基づき時刻及び緯度経度などのデータを例えば定期的に出力するものである。ＧＰＳ受信機３１は、よく知られたものであるから、これ以上説明しない。第１データ格納部３２は、時刻及び位置データ（緯度経度のデータ）及び処理途中のデータを格納する。第２データ格納部３４は、例えばユーザのユーザＩＤ又は乗り物のユーザＩＤと、秘匿化処理で用いる秘密鍵Ｋと、時間及び空間の分割単位と、時空間ブロックにおける端（境界から所定範囲）の定義データとを格納する。
【００２２】
また、処理部３３は、第１データ格納部３２に格納されている時刻及び位置データを読み出して処理を行うものであり、抽出部３３１と、秘匿化処理部３３２とを有する。抽出部３３１は、第１データ格納部３２に格納されている時刻及び位置データからキューブＩＤ及び相対データを抽出する。なお、抽出部３３１は、相対データが、時空間ブロックにおける端に入っていることを示す場合には、隣接する他のキューブのキューブＩＤ及び相対データを生成する。そして、秘匿化処理部３３２は、秘密鍵Ｋを用いて所定のハッシュ関数で、キューブＩＤに対する秘匿化処理を実施する。処理部３３は、第２データ格納部３４に格納されているユーザＩＤと、秘匿化されたキューブＩＤと、相対データとを含むデータブロックを、第３データ格納部３５に格納する。送信部３６は、データ収集サーバ５宛に、第３データ格納部３５に格納されているデータブロックを例えばランダムに送信する。すなわち、送信部３６は、第３データ格納部３５に格納されている格納順番とは異なる順番でデータブロックを送信する。
【００２３】
また、図７に、データ収集サーバ５の機能ブロック図を示す。データ収集サーバ５は、データ登録部５２と、ＤＢ５１と、受信部５３と、処理部５４と、送信部５６と、データ格納部５５とを有する。データ登録部５２は、通信端末３ａや車載通信端末３ｂなどの通信端末３からデータブロックを受信すると、例えば受信時刻と共にＤＢ５１に格納する。受信部５３は、例えばユーザ端末７などからユーザＩＤを含む検索条件を含む要求を受信して、処理部５４に出力する。検索条件をユーザに指定させる場合には、ＤＢ５１に格納されているデータを参照してユーザ端末７に選択肢を提示する場合もある。処理部５４は、検索条件に合致する、ユーザのデータブロックを抽出すると共に、同じ秘匿化されたキューブＩＤを含む、他のユーザ（乗り物など）のデータブロックを抽出する処理を実施して、緯度経度についての距離が閾値未満で時間差の絶対値が閾値未満のデータブロックについてのユーザＩＤを特定する。この際、処理部５４は、ユーザＩＤ毎に出現頻度を計数して、出現頻度でソートする。データ格納部５５は、処理途中のデータを格納する。送信部５６は、処理結果を要求元のユーザ端末７などに送信する。
【００２４】
次に、図８乃至図２７を用いて、図５に示したシステムの処理内容について説明する。まず、通信端末３における処理内容について、図８乃至図１８を用いて説明する。
【００２５】
まず、ＧＰＳ受信機３１は、時刻及び位置データＬＤ（時刻と緯度及び経度）を取得し、第１データ格納部３２に格納する（図８：ステップＳ１）。そうすると、処理部３３の抽出部３３１は、第１データ格納部３２に格納されている時刻及び位置データＬＤに対して、隣接キューブデータの生成処理を実行する（ステップＳ３）。隣接キューブデータは、キューブＩＤ及び相対データを生成すべきキューブを特定するためのデータである。隣接キューブデータの生成処理については、図９及び図１０を用いて説明する。
【００２６】
抽出部３３１は、第２データ格納部３４に格納されている定義データから、第１データ格納部３２に格納されている時刻及び位置が属するキューブＣを特定する（図９：ステップＳ２１）。
【００２７】
また、抽出部３３１は、位置及び時刻について、特定されたキューブＣの最小の緯度ｘc、経度ｙc及び時刻ｚcからの相対データ（ｘu，ｙu，ｚu）を算出する（ステップＳ２３）。
【００２８】
そして、抽出部３３１は、ｘu＜Ｅx,downであるか判断する（ステップＳ２５）。図４Ａ及び図４Ｂの例では、左側の端の領域に入っているか否かを判断している。ステップＳ２５の条件が満たされている場合には、抽出部３３１は、隣接キューブデータのｘ方向のパラメータ値集合Ｎｘに「−１」及び「０」を設定する（ステップＳ２７）。すなわち、キューブＣと、−ｘ方向の隣接キューブについて、キューブＩＤ及び相対データを生成する。そして処理はステップＳ３５に移行する。
【００２９】
一方、ステップＳ２５の条件が満たされていない場合には、抽出部３３１は、ｘu≧Ｅx,upであるか判断する（ステップＳ２９）。図４Ａ及び図４Ｂの例では、右側の端の領域に入っているか否かを判断している。ステップＳ２９の条件が満たされている場合には、抽出部３３１は、隣接キューブデータのｘ方向のパラメータ値集合Ｎｘに「０」及び「１」を設定する（ステップＳ３１）。すなわち、キューブＣと、＋ｘ方向の隣接キューブＣについて、キューブＩＤ及び相対データを生成する。そして処理はステップＳ３５に移行する。
【００３０】
一方、ステップＳ２９の条件が満たされていない場合には、抽出部３３１は、隣接キューブデータのｘ方向のパラメータ値集合Ｎｘに「０」を設定する（ステップＳ３３）。すなわち、キューブＣについて、キューブＩＤ及び相対データを生成する。そして処理はステップＳ３５に移行する。
【００３１】
そして、抽出部３３１は、ｙu＜Ｅy,downであるか判断する（ステップＳ３５）。図４Ａの例では、下側の端の領域に入っているか否かを判断している。ステップＳ３５の条件が満たされている場合には、抽出部３３１は、隣接キューブデータのｙ方向のパラメータ値集合Ｎｙに「−１」及び「０」を設定する（ステップＳ３７）。すなわち、キューブＣと、−ｙ方向の隣接キューブについて、キューブＩＤ及び相対データを生成する。そして処理は端子Ａを介して図１０の処理に移行する。
【００３２】
一方、ステップＳ３５の条件が満たされていない場合には、抽出部３３１は、ｙu≧Ｅy,upであるか判断する（ステップＳ３９）。図４Ａの例では、上側の端の領域に入っているか否かを判断している。ステップＳ３９の条件が満たされている場合には、抽出部３３１は、隣接キューブデータのｙ方向のパラメータ値集合Ｎｙに「０」及び「１」を設定する（ステップＳ４１）。すなわち、キューブＣと、＋ｙ方向の隣接キューブについて、キューブＩＤ及び相対データを生成する。そして処理は端子Ａを介して図１０の処理に移行する。
【００３３】
一方、ステップＳ３９の条件が満たされていない場合には、抽出部３３１は、隣接キューブデータのｙ方向のパラメータ値集合Ｎｙに「０」を設定する（ステップＳ４３）。すなわち、キューブＣについて、キューブＩＤ及び相対データを生成する。そして処理は端子Ａを介して図１０の処理に移行する。
【００３４】
図１０の処理の説明に移行して、抽出部３３１は、ｚu＜Ｅz,downであるか判断する（ステップＳ４５）。図４Ｂの例では、下側の端の領域に入っているか否かを判断している。ステップＳ４５の条件が満たされている場合には、抽出部３３１は、隣接キューブデータのｚ方向のパラメータ値集合Ｎｚに「−１」及び「０」を設定する（ステップＳ４７）。すなわち、キューブＣと、−ｚ方向の隣接キューブについて、キューブＩＤ及び相対データを生成する。そして処理は呼出元の処理に戻る。
【００３５】
一方、ステップＳ４５の条件が満たされていない場合には、抽出部３３１は、ｚu≧Ｅz,upであるか判断する（ステップＳ４９）。図４Ｂの例では、上側の端の領域に入っているか否かを判断している。ステップＳ４９の条件が満たされている場合には、抽出部３３１は、隣接キューブデータのｚ方向のパラメータ値集合Ｎｚに「０」及び「１」を設定する（ステップＳ５１）。すなわち、キューブＣと、＋ｚ方向の隣接キューブについて、キューブＩＤ及び相対データを生成する。そして処理は呼出元の処理に戻る。
【００３６】
一方、ステップＳ４９の条件が満たされていない場合には、抽出部３３１は、隣接キューブデータのｚ方向のパラメータ値集合Ｎｚに「０」を設定する（ステップＳ５３）。すなわち、キューブＣについて、キューブＩＤ及び相対データを生成する。そして処理は呼出元の処理に戻る。
【００３７】
このようにすれば、隣接キューブデータ（Ｎｘ，Ｎｙ，Ｎｚ）（Ｎｘ，Ｎｙ，Ｎｚはそれぞれ「−１」「０」「１」のうち１又は複数の値が設定され得る集合）が生成される。
【００３８】
図８の処理の説明に戻って、抽出部３３１は、隣接キューブデータから特定されるキューブのうち、未処理のキューブを１つ特定する（ステップＳ５）。例えば、Ｎｘ＝｛０，１｝、Ｎｙ＝｛０｝、Ｎｚ＝｛−１，０｝であり、中心のキューブを相対コード｛０，０，０｝として表すと、Ｎｘ、Ｎｙ及びＮｚの値の全組み合わせとして相対コード｛０，０，−１｝｛０，０，０｝｛１，０，−１｝｛１，０，０｝が、キューブＩＤ及び相対データを生成すべきキューブの相対コードとして特定される。
【００３９】
その後、抽出部３３１は、秘匿化データブロックの生成処理を実行する（ステップＳ７）。秘匿化データブロックの生成処理については、図１１乃至図１７を用いて説明する。
【００４０】
まず、抽出部３３１は、特定されたキューブの相対コードを｛ｒx，ｒy，ｒz｝に設定する（図１１：ステップＳ６１）。
【００４１】
そして、抽出部３３１は、ｒx＝−１であるか判断する（ステップＳ６３）。ｒx＝−１であれば、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｘch＝ｘc−Ｄlatを設定する（ステップＳ６５）。−ｘ方向に１つ分移動した先のキューブのキューブＩＤのｘ成分が特定される。そして処理はステップＳ７３に移行する。
【００４２】
一方、ｒx＝−１でなければ、抽出部３３１は、ｒx＝１であるか判断する（ステップＳ６７）。ｒx＝１であれば、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｘch＝ｘc＋Ｄlatを設定する（ステップＳ６９）。＋ｘ方向に１つ分移動した先のキューブのキューブＩＤのｘ成分が特定される。そして処理はステップＳ７３に移行する。
【００４３】
一方、ｒx＝１でない場合には、ｒx＝０であり、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｘch＝ｘcを設定する（ステップＳ７１）。ｘ方向については元々のキューブのキューブＩＤのｘ成分が設定される。そして処理はステップＳ７３に移行する。
【００４４】
そして、抽出部３３１は、ｒy＝−１であるか判断する（ステップＳ７３）。ｒy＝−１であれば、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｙch＝ｙc−Ｄlongを設定する（ステップＳ７５）。−ｙ方向に１つ分移動した先のキューブのキューブＩＤのｙ成分が特定される。そして処理は端子Ｂを介して図１２の処理に移行する。
【００４５】
一方、ｒy＝−１でなければ、抽出部３３１は、ｒy＝１であるか判断する（ステップＳ７７）。ｒy＝１であれば、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｙch＝ｙc＋Ｄlongを設定する（ステップＳ７９）。＋ｙ方向に１つ分移動した先のキューブのキューブＩＤのｙ成分が特定される。そして処理は端子Ｂを介して図１２の処理に移行する。
【００４６】
一方、ｒy＝１でない場合には、ｒy＝０であり、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｙch＝ｙcを設定する（ステップＳ８１）。ｙ方向については元々のキューブのキューブＩＤのｙ成分が設定される。そして処理は端子Ｂを介して図１２の処理に移行する。
【００４７】
図１２の処理の説明に移行して、抽出部３３１は、ｒz＝−１であるか判断する（ステップＳ８３）。ｒz＝−１であれば、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｚch＝ｚc−Ｄtimeを設定する（ステップＳ８５）。−ｚ方向に１つ分移動した先のキューブのキューブＩＤのｚ成分が特定される。そして処理はステップＳ９３に移行する。
【００４８】
一方、ｒz＝−１でなければ、抽出部３３１は、ｒz＝１であるか判断する（ステップＳ８７）。ｒz＝１であれば、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｚch＝ｚc＋Ｄtimeを設定する（ステップＳ８９）。＋ｚ方向に１つ分移動した先のキューブのキューブＩＤのｚ成分が特定される。そして処理はステップＳ９３に移行する。
【００４９】
一方、ｒz＝１でない場合には、ｒz＝０であり、抽出部３３１は、特定されたキューブのキューブＩＤの一部ｚch＝ｚcを設定する（ステップＳ９１）。ｚ方向については元々のキューブのキューブＩＤのｚ成分が設定される。
【００５０】
その後、秘匿化処理部３３２は、第２データ格納部３４に格納されている鍵Ｋを用いて、予め定められたハッシュ関数Ｈａｓｈによって、秘匿化キューブＩＤを、Ｈ＝Ｈａｓｈ（ｘch，ｙch，ｚch）により算出する（ステップＳ９３）。
【００５１】
さらに、抽出部３３１は、ｒx＝−１であるか判断する（ステップＳ９５）。ｒx＝−１であれば、抽出部３３１は、特定されたキューブの相対データの一部ｘuh＝Ｄlatを設定する（ステップＳ９７）。
【００５２】
上でも述べたように、本実施の形態では、隣接するキューブについてのデータブロックと元々のキューブについてのデータブロックとのデータフォーマットが同一になる。しかし、そもそも隣接するキューブに存在しているわけではないので、隣接するキューブの相対データを正確には表せない。そこで、図１３に示すように、元々のキューブにおける左の端のエリアに点ｍが存在している場合には、本実施の形態では、隣接するキューブにおける点ｍhの相対データの緯度成分は、Ｄlatであるものとする。これは隣接するキューブ内における距離を考察する場合に、誤差最小となる点である。但し、隣接するキューブの左端の幅においてランダムに選択するようにしても良い。この場合、距離の誤差は、最も大きくて幅の２倍となる。一方、隣接するキューブの左端の幅において、誤差が小さいほど（すなわち右端に近いほど）出現頻度が高くなるような分布に基づきランダムに選択するようにしても良い。そして処理は端子Ｃを介して図１５の処理に移行する。
【００５３】
一方、ｒx＝−１でなければ、抽出部３３１は、ｒx＝１であるか判断する（ステップＳ９９）。ｒx＝１であれば、抽出部３３１は、特定されたキューブの相対データの一部ｘuh＝０を設定する（ステップＳ１０１）。図１４に示すように、元々のキューブにおける右の端のエリアに点ｋが存在している場合には、本実施の形態では、隣接するキューブにおける点ｋhの相対位置の緯度成分は、０であるものとする。ランダムに選択するような方式については、図１３について説明した場合と同様である。そして処理は端子Ｃを介して図１５の処理に移行する。
【００５４】
一方、ｒx＝１でない場合には、ｒx＝０であり、抽出部３３１は、特定されたキューブの相対データの一部ｘuh＝ｘuを設定する（ステップＳ１０３）。隣接キューブではなく、元々のキューブであるから、相対データの変更はない。そして処理は端子Ｃを介して図１５の処理に移行する。
【００５５】
図１５の処理の説明に移行して、抽出部３３１は、ｒy＝−１であるか判断する（ステップＳ１０５）。ｒy＝−１であれば、抽出部３３１は、特定されたキューブの相対データの一部ｙuh＝Ｄlongを設定する（ステップＳ１０７）。
【００５６】
図１６に示すように、元々のキューブにおける下の端のエリアに点ｆが存在している場合には、本実施の形態では、隣接するキューブにおける点ｆhの相対データの経度成分は、Ｄlongであるものとする。これは隣接するキューブ内における距離を考察する場合に、誤差最小となる点である。但し、隣接するキューブの上端の幅においてランダムに選択するようにしても良い。この場合、距離の誤差は、最も大きくて幅の２倍となる。一方、隣接するキューブの上端の幅において、誤差が小さいほど（すなわち上端に近いほど）出現頻度が高くなるような分布に基づきランダムに選択するようにしても良い。そして処理はステップＳ１１５に移行する。
【００５７】
一方、ｒy＝−１でなければ、抽出部３３１は、ｒy＝１であるか判断する（ステップＳ１０９）。ｒy＝１であれば、抽出部３３１は、特定されたキューブの相対データの一部ｙuh＝０を設定する（ステップＳ１１１）。図１７に示すように、元々のキューブにおける上の端のエリアに点ｑが存在している場合には、本実施の形態では、隣接するキューブにおける点ｑhの相対位置の経度成分は、０であるものとする。ランダムに選択するような方式については、図１６について説明した場合と同様である。そして処理はステップＳ１１５に移行する。
【００５８】
一方、ｒy＝１でない場合には、ｒy＝０であり、抽出部３３１は、特定されたキューブの相対データの一部ｙuh＝ｙuを設定する（ステップＳ１１３）。隣接キューブではなく、元々のキューブであるから、相対データの変更はない。そして処理はステップＳ１１５に移行する。
【００５９】
その後、抽出部３３１は、ｒz＝−１であるか判断する（ステップＳ１１５）。ｒz＝−１であれば、抽出部３３１は、特定されたキューブの相対データの一部ｚuh＝Ｄtimeを設定する（ステップＳ１１７）。緯度経度の場合と同様である。そして処理はステップＳ１２５に移行する。
【００６０】
一方、ｒz＝−１でなければ、抽出部３３１は、ｒz＝１であるか判断する（ステップＳ１１９）。ｒz＝１であれば、抽出部３３１は、特定されたキューブの相対データの一部ｚuh＝０を設定する（ステップＳ１２１）。緯度経度の場合と同様である。そして処理はステップＳ１２５に移行する。
【００６１】
一方、ｒz＝１でない場合には、ｒz＝０であり、抽出部３３１は、特定されたキューブの相対データの一部ｚuh＝ｚuを設定する（ステップＳ１２３）。隣接キューブではなく、元々のキューブであるから、相対データの変更はない。そして処理はステップＳ１２５に移行する。
【００６２】
その後、抽出部３３１は、秘匿化データブロック｛ＩＤ，Ｈ，｛ｘuh，ｙuh，ｚuh｝｝を、第３データ格納部３５に格納する（ステップＳ１２５）。そして処理は呼出元の処理に戻る。
【００６３】
このようにすれば、キューブＩＤがハッシュ値に変換され且つユーザのＩＤを含む秘匿化データブロックが生成されることになる。
【００６４】
図８の処理の説明に戻って、抽出部３３１は、未処理のキューブが存在しているか判断する（ステップＳ９）。未処理のキューブが残っている場合にはステップＳ５に戻る。一方、未処理のキューブが存在しない場合には、抽出部３３１は、送信部３６に処理を指示する。送信部３６は、第３データ格納部３５に格納されている秘匿化データブロックをランダムに選択してデータ収集サーバ５に送信する（ステップＳ１１）。例えば、一定個数第３データ格納部３５に秘匿化データブロックがたまってから、ランダムに秘匿化データブロックを選択して、データ収集サーバ５に送信する。
【００６５】
一方、データ収集サーバ５のデータ登録部５２は、通信端末３から秘匿化データブロックを受信すると、ＤＢ５１に登録する。
【００６６】
ＤＢ５１には、例えば図１８に示すようなデータが格納される。図１８の例では、受信時刻と、ユーザＩＤと、秘匿化されたキューブＩＤと、相対データとが登録されるようになっている。
【００６７】
ステップＳ１１では、隣接キューブについての秘匿化データブロックを併せて生成した場合であっても、元々のキューブについての秘匿化データブロックと独立に選択して送信する。そうすれば、外部からは、両者を区別できず、キューブの隣接関係を推測することが難しくなる。
【００６８】
以上のようなステップＳ１乃至ステップＳ１１の処理を、通信端末３の電源断などで処理を終了するまで繰り返す（ステップＳ１３）。
【００６９】
以上のようにすれば、キューブの端に位置及び時刻が含まれる場合には、その位置及び時刻を包含するキューブの秘匿化データブロックと、隣接するキューブの秘匿化データブロックとが生成され、キューブの端に位置及び時刻が含まれない場合には、その位置及び時刻を包含するキューブの秘匿化データブロックが生成される。秘匿化データブロックのデータフォーマットは同じであり、送信順番を生成順番とは異なる順番で送信すれば、データからキューブの隣接関係を推測することが難しくなる。但し、以下で述べるデータ収集サーバ５における検索処理においても区別できない。すなわち、前者の場合には隣接するキューブの数だけ秘匿化データブロックが検索結果として多く抽出されることになるので、検索処理において出現頻度を調整することになる。
【００７０】
次に、特定のユーザＩＤについて検索を行う場合の処理について、図１９乃至図２７を用いて説明する。
【００７１】
例えば、ユーザがユーザ端末７を操作して、自己のユーザＩＤｑ及び例えば日付などを指定して検索を指示するものとする。そうすると、ユーザ端末７は、ユーザＩＤｑ及びその他の条件を含む検索条件を受け付け、ＩＤｑ等の検索条件を含む検索要求を、データ収集サーバ５に送信する（図１９：ステップＳ２０１）。なお、ユーザ端末７ではなく通信端末３の場合もある。
【００７２】
これに対してデータ収集サーバ５の受信部５３は、ユーザ端末７からＩＤｑ等の検索条件を含む検索要求を受信すると、処理部５４に出力する（ステップＳ２０３）。そうすると、処理部５４は、ＤＢ５１に対して、ＩＤｑ等の検索条件に合致する秘匿化データブロックＨＤＬを読み出し、例えばデータ格納部５５に格納する（ステップＳ２０５）。また、処理部５４は、読み出した秘匿化データブロックＨＤＬのうち、未処理の秘匿化データブロックＨＤＬｊを１つ特定する（ステップＳ２０７）。
【００７３】
その後、処理部５４は、特定された秘匿化データブロックについての秘匿検索処理を実行する（ステップＳ２０９）。秘匿検索処理については、図２０乃至図２７を用いて説明する。
【００７４】
処理部５４は、ステップＳ２０７で特定された秘匿化データブロックに含まれるハッシュ値Ｈｑと等しいハッシュ値を含む、他のＩＤについての秘匿化データブロックＨＤＬｗを、ＤＢ５１から抽出し、例えばデータ格納部５５に格納する（図２０：ステップＳ２２１）。また、処理部５４は、抽出された秘匿化データブロックＨＤＬｗのうち、未処理の秘匿化データブロックＨＤＬｗｉを１つ特定する（ステップＳ２２３）。
【００７５】
その後、処理部５４は、秘匿化データブロックＨＤＬｗｉのＩＤｗｉが、ＨＤＬｊについてのリストに登録済みであるか否かを判断する（ステップＳ２２５）。本実施の形態では、秘匿化データブロックの送信元である通信端末３の送信頻度が異なる可能性があるためである。図２１に模式的に示すように、黒色のユーザＡは、例えば間隔Ｔ2で秘匿化データブロックを送信しており、白色のユーザＢは、例えば間隔Ｔ1で秘匿化データブロックを送信している。Ｔ2＞Ｔ1であり、図２１の例では、ユーザＢがユーザＡから所定範囲内（点線円内）にいる間に、ユーザＡは１回しか秘匿化データブロックを送信していないが、ユーザＢは３回も秘匿化データブロックを送信している。そうすると、秘匿化データブロックのみから見ると、ユーザＡは、ユーザＢと３回も出会ったように見えてしまう。しかし、これは実体から、かけ離れている。一方、ドットによるハッチング付きのユーザＣは、ユーザＡとほぼ同様の送信間隔で秘匿化データブロックを送信しており、ユーザＡの移動に伴ってユーザＡから所定範囲内において２回秘匿化データブロックを送信している。このような場合、ユーザＢよりユーザＣの方が、出会った回数が多いと判定される方が好ましい。
【００７６】
そこで、本実施の形態では、図２２に示すように、ユーザＡの秘匿化データブロックＨＤＬｊ１つにつき、ユーザＢの秘匿化データブロックＨＤＬｗを１つに限定して、送信頻度の違いによる問題発生を抑制しようとしている。
【００７７】
そのため、図２３に示すようなリストを例えばデータ格納部５５において管理する。リストは、ユーザＩＤと出現頻度との対が登録されるようになっている。そして、新たなユーザＩＤが出現する毎に、本リストに当該ユーザＩＤと後に算出される出現頻度とが登録される。既にリストにユーザＩＤが登録されている秘匿化データブロックについては、処理対象から除外する。
【００７８】
よって、特定された秘匿化データブロックＨＤＬｗｉのＩＤｗｉがリストに登録済みであれば、処理は端子Ｄを介して図２５の処理に移行する。一方、特定された秘匿化データブロックＨＤＬｗｉのＩＤｗｉがリストに未登録であれば、処理部５４は、相対データにおける緯度及び経度による距離ｄを算出する（ステップＳ２２９）。
【００７９】
距離ｄは、例えば以下のような式で算出される。なお、ＨＤＬｗｉにおける緯度をｘwiとし、経度をｙwiとし、ＨＤＬｊにおける緯度をｘjとし、経度をｙjとする。
【００８０】
【数１】
2014092882.tif 000003
【００８１】
そして、処理部５４は、距離ｄは予め設定されている閾値以下であるか判断する（ステップＳ２３１）。距離ｄが閾値を超えている場合には、端子Ｄを介して図２５の処理に移行する。一方、距離ｄが閾値以下であれば、処理は、端子Ｅを介して図２４の処理に移行する。
【００８２】
図２４の処理の説明に移行して、処理部５４は、相対データにおける時刻の差の絶対値を算出する（ステップＳ２３３）。ＨＤＬｗｉにおける時刻をｚwiとし、ＨＤＬｊにおける時刻をｚjとすると、時刻の差の絶対値は｜ｚwi−ｚj｜と表される。
【００８３】
そして、処理部５４は、時刻の差の絶対値が予め設定されている閾値以下であるか判断する（ステップＳ２３５）。時刻の差の絶対値が閾値を超えている場合には、端子Ｄを介して図２５の処理に移行する。一方、時刻の差の絶対値が閾値以下であれば、処理部５４は、カウンタｐを０に初期化する（ステップＳ２３７）。
【００８４】
また、処理部５４は、秘匿化データブロックＨＤＬｗｉの相対緯度ｘwi及び秘匿化データブロックＨＤＬｊの相対緯度ｘjが共にキューブの端の領域に含まれるか判断する（ステップＳ２３９）。いずれか一方又は両方の相対緯度がキューブの端の領域に入っていない場合には、処理はステップＳ２４３に移行する。一方、ｘwi及びｘjがキューブの端の領域に入っている場合には、処理部５４は、カウンタｐを１インクリメントする（ステップＳ２４１）。
【００８５】
また、処理部５４は、秘匿化データブロックＨＤＬｗｉの相対経度ｙwi及び秘匿化データブロックＨＤＬｊの相対経度ｙjが共にキューブの端の領域に含まれるか判断する（ステップＳ２４３）。いずれか一方又は両方の相対経度がキューブの端の領域に入っていない場合には、処理はステップＳ２４７に移行する。一方、ｙwi及びｙjがキューブの端の領域に入っている場合には、処理部５４は、カウンタｐを１インクリメントする（ステップＳ２４５）。
【００８６】
また、処理部５４は、秘匿化データブロックＨＤＬｗｉの相対時刻ｚwi及び秘匿化データブロックＨＤＬｊの相対時刻ｚjが共にキューブの端の領域に含まれるか判断する（ステップＳ２４７）。いずれか一方又は両方の相対時刻がキューブの端の領域に入っていない場合には、処理は端子Ｆを介して図２５の処理に移行する。一方、ｚwi及びｚjがキューブの端の領域に入っている場合には、処理部５４は、カウンタｐを１インクリメントする（ステップＳ２４９）。そして、処理は端子Ｆを介して図２５の処理に移行する。
【００８７】
図２５の処理の説明に移行して、処理部５４は、リストにおいて、ＩＤｗｉ及び出現頻度１／２pを登録する（ステップＳ２５１）。図２３に示したリストに新たなエントリを追加する。本実施の形態では、通信端末３において、キューブにおいて１軸について端の領域に位置する場合には２つの秘匿化データブロックが生成され、２軸について端の領域に位置する場合には３つの秘匿化データブロックが生成され、３軸について端の領域に位置する場合には４つの秘匿化データブロックが生成される。一方の通信端末３についてこのような秘匿化データブロックが生成されるが、他方の通信端末３についても同様に１又は複数のデータブロックが生成される。
【００８８】
図２６に模式的に示すように、キューブＸの右端にユーザＡが位置しており、キューブＹの左端にユーザＢが位置している場合、図２７に模式的に示すように、ユーザＡについては上段に示すように、キューブＸの隣接キューブＹについても秘匿化データブロックを生成し、ユーザＢについてはキューブＹの隣接キューブＸについても秘匿化データブロックを生成する。そうすると、キューブＸについて比較を行って近接していると判断し、キューブＹについて比較を行って近接していると判断することになる。すなわち、実体は図２６の状態なのに、ユーザＡを基準にすると、ユーザＢは実体より２倍近隣に存在していたと判断されてしまう。従って、本実施の形態では、両者が１軸について端の領域に位置する場合には、出現頻度を１／２にすることにする。さらに、両者が２軸について端の領域に位置する場合には、４倍近隣に存在していたと判断されてしまうので、出現頻度を１／４にすることにする。同様に、両者が３軸について端の領域に位置する場合には、８倍近隣に存在していたと判断されてしまうので、出現頻度を１／８にすることにする。従って、カウンタｐの値から１／２pと重み付けされた出現頻度が算出される。
【００８９】
その後、処理部５４は、秘匿化データブロックＨＤＬｗのうち未処理の秘匿化データブロックＨＤＬｗｉが存在しているか判断する（ステップＳ２５３）。未処理の秘匿化データブロックＨＤＬｗｉが存在している場合には、処理は端子Ｇを介してステップＳ２２３に戻る。一方、未処理の秘匿化データブロックＨＤＬｗｉが存在していない場合には、処理は呼出元の処理に戻る。
【００９０】
このようにすれば、１つの秘匿化データブロックＨＤＬｊについて、図２３に示すようなリストが生成されるようになる。なお、このリストには、ユーザＩＤが１回しか出現しない。
【００９１】
図１９の処理の説明に戻って、処理部５４は、未処理の秘匿化データブロックＨＤＬｊが存在しているか判断する（ステップＳ２１１）。未処理の秘匿化データブロックＨＤＬｊが存在している場合には、処理はステップＳ２０７に戻る。一方、未処理の秘匿化データブロックＨＤＬｊが存在していない場合には、処理部５４は、生成されたリストをマージする（ステップＳ２１３）。
【００９２】
図２３に示したようなリストが、秘匿化データブロックＨＤＬｊの数分生成されるので、同じユーザＩＤについての出現頻度を加算して、１つのリストを生成する。そして、処理部５４は、リストにおいて出現頻度の大きい順にユーザＩＤをソートする。その後、処理部５４は、ソート後のリストを送信部５６に出力する。なお、ソート後のリストにおいて下位のユーザＩＤについては破棄しても良い。
【００９３】
送信部５６は、ソート後のリストを、受信部５３から得られた、検索要求の送信元のユーザ端末７宛に送信する（ステップＳ２１５）。ユーザ端末７は、検索結果である、ソート後のリストを受信し、表示装置に表示する（ステップＳ２１７）。
【００９４】
以上のような処理を行えば、ユーザ端末７を操作しているユーザとおおよそ同じ位置にいた回数の多い他のユーザを特定できるようになる。
【００９５】
以上本技術の実施の形態を説明したが、本技術はこれに限定されない。例えば、データ収集サーバ５が上で述べた処理を全て実施するのではなく、複数台のコンピュータにより分担するようにしても良い。
【００９６】
例えば図２８に示すように、フロントエンドのサーバとして、例えば携帯電話会社が運営する第１サーバ１１を用意して、ユーザの携帯電話番号その他のＩＤを、上で使用したユーザＩＤに例えば変換表で変換してデータ収集サーバ５に要求を送信する。そして、データ収集サーバ５で乗り物についてのユーザＩＤが特定されると、当該ユーザＩＤと交通機関の対応表で交通機関を特定して、当該交通機関が運営している第２サーバ１３に、ユーザＩＤを送信する。第２サーバ１３は、ユーザＩＤを受信すると、当該ユーザＩＤから乗り物ＩＤを例えば変換表で特定して、交通機関のデータと乗り物ＩＤとを、データ収集サーバ５に出力する。データ収集サーバ５は、受信したデータを第１サーバ１１に戻し、第１サーバ１１は、ユーザ端末７に交通機関のデータと乗り物ＩＤとを送信する。第２サーバ１３を設けずに第１サーバ１１で第２サーバ１３の機能をも果たすようにしても良い。その他、機能分担は任意である。
【００９７】
さらに、上で述べた機能ブロック図は一例であって、ハードウエア構成又はプログラムモジュール構成と一致しない場合もある。処理フローについても、処理結果が変わらない限り、処理順番を入れ替えたり、並列実行するようにしても良い。
【００９８】
さらに、忘れ物を探すような用途だけではなく、例えばある日に一緒にいたユーザ（情報公開を許可しているユーザ）を後から確認するといったような用途にも使用できる。
【００９９】
なお、上で述べたデータ収集サーバ５及びユーザ端末７は、コンピュータ装置であって、図２９に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１００】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１０１】
本実施の形態の第１の態様に係る情報処理方法は、（Ａ）時刻及び位置データを取得する処理と、（Ｂ）時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを、時刻及び位置データから抽出する処理と、（Ｃ）第１のデータに対して所定の秘匿化処理を実施する処理と、（Ｄ）ユーザの識別子と所定の秘匿化処理がなされた第１のデータと第２のデータとを含むデータブロックを、記憶装置に格納する処理と、（Ｅ）第２のデータにより特定される、時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、第２のデータにより特定される相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第３のデータと、第２のデータにより特定される相対的な時刻及び位置に基づき決定され且つ他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第４のデータとを生成する処理と、（Ｆ）第３のデータに対して所定の秘匿化処理を実施する処理と、（Ｇ）ユーザの識別子と所定の秘匿化処理がなされた第３のデータと第４のデータとを含む第２のデータブロックを、記憶装置に格納する処理と、（Ｈ）記憶装置に格納されているデータブロックを、データブロックの格納順序とは異なる順番で、データブロックを蓄積するコンピュータに送信する処理とを含む。
【０１０２】
このようにデータブロックを生成して送信することで、データブロックからの情報漏洩を抑制できるようになる。
【０１０３】
本実施の形態の第１の態様に係る情報処理方法において、他の時空間ブロック内部の相対的な近似時刻及び近似位置が、他の時空間ブロック内の予め定められた範囲内において、固定値又はランダムに決定されるようにしても良い。これによって、誤差を抑えつつ第１のデータブロックと同じフォーマットの第２のデータブロックを生成できるようになる。
【０１０４】
本技術の第２の態様に係る情報処理方法は、（Ａ）ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第１のデータブロックを読み出す処理と、（Ｂ）読み出したデータブロックに含まれる第１のデータと一致する第１のデータと特定のユーザとは異なるユーザの識別子とを含む第２のデータブロックを、データ格納部から抽出する処理と、（Ｃ）第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第２のデータを含む第２のデータブロックに含まれるユーザの識別子を特定する処理と、（Ｄ）時空間ブロックの境界から予め定められた範囲に、第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第２のデータブロックに含まれる第２データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定されたユーザの識別子についての出現頻度を重み付ける処理と、（Ｅ）重み付けされた出現頻度に基づき、ユーザの識別子をソートする処理とを含む。
【０１０５】
このようにすれば、第１の態様に係る情報処理方法で生成されたデータブロックについても重み付けして適切な出現頻度でユーザの識別子を列挙できるようになる。
【０１０６】
なお、第２の態様に係る情報処理方法において、第１のデータブロック１つにつき、同一のユーザの識別子を含む第２のデータブロックが複数出現した場合には、１つの第２のデータブロックについてのみ出現頻度が計数される場合もある。例えば、データブロックの生成頻度が異なるユーザが存在する場合に対処できるようになる。
【０１０７】
また、上で述べた重み付ける処理において、時空間ブロックの軸毎に境界から所定範囲内に含まれるか否かを判断し、所定範囲内に含まれると判断された軸の数の２の冪乗の逆数で重み付けられるようにしてもよい。このようにすれば、第１の態様に係る情報処理方法で余分に生成されたデータブロックを考慮して出現頻度を計数できるようになる。
【０１０８】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
【０１０９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１０】
（付記１）
時刻及び位置データを取得する処理と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを、前記時刻及び位置データから抽出する処理と、
前記第１のデータに対して所定の秘匿化処理を実施する処理と、
ユーザの識別子と前記所定の秘匿化処理がなされた前記第１のデータと前記第２のデータとを含むデータブロックを、記憶装置に格納する処理と、
前記第２のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第２のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第３のデータと、前記第２のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第４のデータとを生成する処理と、
前記第３のデータに対して前記所定の秘匿化処理を実施する処理と、
前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第３のデータと前記第４のデータとを含む第２のデータブロックを、前記記憶装置に格納する処理と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する処理と、
を含み、コンピュータにより実行される情報処理方法。
【０１１１】
（付記２）
前記他の時空間ブロック内部の相対的な近似時刻及び近似位置が、前記他の時空間ブロック内の前記予め定められた範囲内において、固定値又はランダムに決定される
付記１記載の情報処理方法。
【０１１２】
（付記３）
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第１のデータブロックを読み出す処理と、
読み出した前記データブロックに含まれる前記第１のデータと一致する第１のデータと前記特定のユーザとは異なるユーザの識別子とを含む第２のデータブロックを、前記データ格納部から抽出する処理と、
前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第２のデータを含む第２のデータブロックに含まれるユーザの識別子を特定する処理と、
前記時空間ブロックの境界から予め定められた範囲に、前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第２のデータブロックに含まれる第２データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける処理と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする処理と、
を含み、コンピュータにより実行される情報処理方法。
【０１１３】
（付記４）
前記第１のデータブロック１つにつき、同一のユーザの識別子を含む第２のデータブロックが複数出現した場合には、１つの第２のデータブロックについてのみ出現頻度が計数される
付記３記載の情報処理方法。
【０１１４】
（付記５）
前記重み付ける処理において、
前記時空間ブロックの軸毎に前記境界から所定範囲内に含まれるか否かを判断し、前記所定範囲内に含まれると判断された軸の数の２の冪乗の逆数で重み付けられる
付記３又は４の情報処理方法。
【０１１５】
（付記６）
時刻及び位置データを取得する処理と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを、前記時刻及び位置データから抽出する処理と、
前記第１のデータに対して所定の秘匿化処理を実施する処理と、
ユーザの識別子と前記所定の秘匿化処理がなされた前記第１のデータと前記第２のデータとを含むデータブロックを、記憶装置に格納する処理と、
前記第２のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第２のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第３のデータと、前記第２のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第４のデータとを生成する処理と、
前記第３のデータに対して前記所定の秘匿化処理を実施する処理と、
前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第３のデータと前記第４のデータとを含む第２のデータブロックを、前記記憶装置に格納する処理と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する処理と、
を、コンピュータに実行させるためのプログラム。
【０１１６】
（付記７）
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第１のデータブロックを読み出す処理と、
読み出した前記データブロックに含まれる前記第１のデータと一致する第１のデータと前記特定のユーザとは異なるユーザの識別子とを含む第２のデータブロックを、前記データ格納部から抽出する処理と、
前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第２のデータを含む第２のデータブロックに含まれるユーザの識別子を特定する処理と、
前記時空間ブロックの境界から予め定められた範囲に、前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第２のデータブロックに含まれる第２データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける処理と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする処理と、
を、コンピュータに実行させるためのプログラム。
【０１１７】
（付記８）
時刻及び位置データを取得する取得部と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを、前記時刻及び位置データから抽出し、前記第１のデータに対して所定の秘匿化処理を実施し、ユーザの識別子と前記所定の秘匿化処理がなされた前記第１のデータと前記第２のデータとを含むデータブロックを、記憶装置に格納し、
前記第２のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第２のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第３のデータと、前記第２のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第４のデータとを生成し、前記第３のデータに対して前記所定の秘匿化処理を実施し、前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第３のデータと前記第４のデータとを含む第２のデータブロックを、前記記憶装置に格納する処理部と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する送信部と、
を有する情報処理装置。
【０１１８】
（付記９）
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第１のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第２のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第１のデータブロックを読み出す手段と、
読み出した前記データブロックに含まれる前記第１のデータと一致する第１のデータと前記特定のユーザとは異なるユーザの識別子とを含む第２のデータブロックを、前記データ格納部から抽出する手段と、
前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第２のデータを含む第２のデータブロックに含まれるユーザの識別子を特定する手段と、
前記時空間ブロックの境界から予め定められた範囲に、前記第１のデータブロックに含まれる第２のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第２のデータブロックに含まれる第２データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける手段と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする手段と、
を有する情報処理装置。
【符号の説明】
【０１１９】
１  ネットワーク
３  通信端末
５  データ収集サーバ
７  ユーザ端末
３１  ＧＰＳ受信機
３２  第１データ格納部
３３  処理部
３４  第２データ格納部
３５  第３データ格納部
３６  送信部
３３１  抽出部
３３２  秘匿化処理部
５１  ＤＢ
５２  データ登録部
５３  受信部
５４  処理部
５５  データ格納部
５６  送信部
【図１】
2014092882.tif 000004
【図２】
2014092882.tif 000005
【図３】
2014092882.tif 000006
【図４Ａ】
2014092882.tif 000007
【図４Ｂ】
2014092882.tif 000008
【図５】
2014092882.tif 000009
【図６】
2014092882.tif 000010
【図７】
2014092882.tif 000011
【図８】
2014092882.tif 000012
【図９】
2014092882.tif 000013
【図１０】
2014092882.tif 000014
【図１１】
2014092882.tif 000015
【図１２】
2014092882.tif 000016
【図１３】
2014092882.tif 000017
【図１４】
2014092882.tif 000018
【図１５】
2014092882.tif 000019
【図１６】
2014092882.tif 000020
【図１７】
2014092882.tif 000021
【図１８】
2014092882.tif 000022
【図１９】
2014092882.tif 000023
【図２０】
2014092882.tif 000024
【図２１】
2014092882.tif 000025
【図２２】
2014092882.tif 000026
【図２３】
2014092882.tif 000027
【図２４】
2014092882.tif 000028
【図２５】
2014092882.tif 000029
【図２６】
2014092882.tif 000030
【図２７】
2014092882.tif 000031
【図２８】
2014092882.tif 000032
【図２９】
2014092882.tif 000033