JP5983318B2 - 情報処理方法、プログラム及び装置 - Google Patents

情報処理方法、プログラム及び装置 Download PDF

Info

Publication number
JP5983318B2
JP5983318B2 JP2012242121A JP2012242121A JP5983318B2 JP 5983318 B2 JP5983318 B2 JP 5983318B2 JP 2012242121 A JP2012242121 A JP 2012242121A JP 2012242121 A JP2012242121 A JP 2012242121A JP 5983318 B2 JP5983318 B2 JP 5983318B2
Authority
JP
Japan
Prior art keywords
data
block
time
user
cube
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012242121A
Other languages
English (en)
Other versions
JP2014092882A (ja
Inventor
芽生恵 牛田
芽生恵 牛田
伊藤 孝一
孝一 伊藤
津田 宏
宏 津田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012242121A priority Critical patent/JP5983318B2/ja
Publication of JP2014092882A publication Critical patent/JP2014092882A/ja
Application granted granted Critical
Publication of JP5983318B2 publication Critical patent/JP5983318B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本技術は、データ秘匿化及び秘匿化されたデータの処理技術に関する。
従来から、秘匿したい値をハッシュ関数で秘匿化する手法が存在している。入力が同じならば、ハッシュ関数の出力結果も同じになることから、秘匿化前の値が同じであるか否かを、秘匿化後の値同士を比較することで判定可能である。しかしながら、秘匿化前の値が完全に一致している場合であれば秘匿化後の値も一致するが、少しでも秘匿化前の値が異なっていれば、秘匿化後の値は異なっており、秘匿化後の値だけでは、秘匿化前の値の差が少ないか否かということは分からない。例えば、位置データを秘匿化する場合、完全に一致している位置で測定しても誤差が発生したりするし、完全に一致していない場合にも同一の場所にいたと判断することが好ましいほど距離が短い場合もある。
また、時間及び空間を所定の単位で分割することで複数の時空間ブロックを規定し、移動する人や物が属する時空間ブロックの識別子をハッシュ化すると共に、当該時空間ブロック内の相対的な時刻及び位置を求めることで、おおよそ同一の位置に存在する人や物を特定する技術が提案されている。しかしながら、人や物が時空間ブロックの境界付近に存在する場合に隣接関係を表す補助データを生成する処理を行うことになっているため、場合によっては時空間ブロックの隣接関係が分かってしまい、結果として人や物の動きが漏洩してしまうこともある。
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
従って、本技術の目的は、一側面としては、特定のユーザの近傍に存在していた他のユーザを特定するための秘匿化データからの情報漏洩を防止するための技術を提供することである。
本技術の第1の態様に係る情報処理方法は、(A)時刻及び位置データを取得する処理と、(B)時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを、時刻及び位置データから抽出する処理と、(C)第1のデータに対して所定の秘匿化処理を実施する処理と、(D)ユーザの識別子と所定の秘匿化処理がなされた第1のデータと第2のデータとを含むデータブロックを、記憶装置に格納する処理と、(E)第2のデータにより特定される、時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、第2のデータにより特定される相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第3のデータと、第2のデータにより特定される相対的な時刻及び位置に基づき決定され且つ他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第4のデータとを生成する処理と、(F)第3のデータに対して所定の秘匿化処理を実施する処理と、(G)ユーザの識別子と所定の秘匿化処理がなされた第3のデータと第4のデータとを含む第2のデータブロックを、記憶装置に格納する処理と、(H)記憶装置に格納されているデータブロックを、データブロックの格納順序とは異なる順番で、データブロックを蓄積するコンピュータに送信する処理とを含む。
本技術の第2の態様に係る情報処理方法は、(A)ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第1のデータブロックを読み出す処理と、(B)読み出した第1のデータブロックに含まれる第1のデータと一致する第1のデータと特定のユーザとは異なるユーザの識別子とを含む第2のデータブロックを、データ格納部から抽出する処理と、(C)第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第2のデータを含む第2のデータブロックに含まれるユーザの識別子を特定する処理と、(D)時空間ブロックの境界から予め定められた範囲に、第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第2のデータを含む第2のデータブロックの当該第2データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定されたユーザの識別子についての出現頻度を重み付ける処理と、(E)重み付けされた出現頻度に基づき、特定されたユーザの識別子をソートする処理とを含む。
特定のユーザの近傍に存在していた他のユーザを特定するための秘匿化データからの情報漏洩を防止できるようになる。
図1は、実施の形態を説明するための図である。 図2は、実施の形態を説明するための図である。 図3は、実施の形態を説明するための図である。 図4Aは、実施の形態を説明するための図である。 図4Bは、実施の形態を説明するための図である。 図5は、実施の形態に係るシステム構成の一例を示す図である。 図6は、通信端末の機能ブロック図である。 図7は、データ収集サーバの機能ブロック図である。 図8は、通信端末の処理フローを示す図である。 図9は、隣接キューブデータの生成処理の処理フローを示す図である。 図10は、隣接キューブデータの生成処理の処理フローを示す図である。 図11は、秘匿化データブロックの生成処理の処理フローを示す図である。 図12は、秘匿化データブロックの生成処理の処理フローを示す図である。 図13は、隣接キューブの相対データの設定について説明するための図である。 図14は、隣接キューブの相対データの設定について説明するための図である。 図15は、秘匿化データブロックの生成処理の処理フローを示す図である。 図16は、隣接キューブの相対データの設定について説明するための図である。 図17は、隣接キューブの相対データの設定について説明するための図である。 図18は、データ収集サーバに蓄積されるデータの一例を示す図である。 図19は、検索時の処理フローを示す図である。 図20は、秘匿検索処理の処理フローを示す図である。 図21は、送信頻度の差について説明するための図である。 図22は、送信頻度の差に対する対処法を説明するための図である。 図23は、リストの例を示す図である。 図24は、秘匿検索処理の処理フローを示す図である。 図25は、秘匿検索処理の処理フローを示す図である。 図26は、出現頻度の重み付けを説明するための図である。 図27は、出現頻度の重み付けを説明するための図である。 図28は、他のシステム構成例を示す図である。 図29は、コンピュータの機能ブロック図である。
本実施の形態では、例えば交通機関の乗り物にGPS(Global Positioning System)を含む通信端末を搭載して、秘匿化された時刻及び位置データをデータ収集サーバに送信すると共に、ユーザも携帯電話機等から、秘匿化された時刻及び位置データをデータ収集サーバに送信しておく。そして、例えばユーザがどこかに忘れ物をしてしまった場合など、ユーザ及び乗り物の秘匿化された時刻及び位置データを秘匿化したままで突き合わせを行って、ユーザが乗車していた乗り物を特定することで、当該乗り物の交通機関などに忘れ物について問い合わせ、すなわち検索を行うことができるようにする。
このため、図1に模式的に示すように、2次元空間(3次元空間の場合であっても良い)XYと時間Tとをそれぞれ所定の単位で分割することで、複数のキューブ(時空間ブロックとも呼ぶ)を定義する。例えば、緯度X及び経度Yについては、1分を単位として分割して、時間については例えば1時間を単位として分割する。すなわち、Dlong=1分、Dlat=1分、Dtime=1時間となっている。例えば、(緯度,経度,時刻)=(37.5045,140.0000,2011/06/10/10:45)だとすると、この(緯度,経度,時刻)を包含するキューブは、(37.50,140.00,2011/06/10/10)で識別される。そこで、この値をキューブIDと呼ぶことにする。本実施の形態では、このキューブIDを、ユーザ及び乗り物で共有している鍵を用いて秘匿化してデータ収集サーバに登録する。
しかしながら、これだけではユーザと乗り物とのデータの突き合わせは正確には行えないので、本実施の形態では、キューブ内における相対的な時刻及び位置のデータを生成して、平文でデータ収集サーバに登録する。上で述べた例では、時刻が45秒、緯度が45秒、経度が00秒で、(45,00,45)という相対データが生成され、秘匿化されたキューブIDと共にデータ収集サーバに登録される。
これによって、ユーザのキューブIDと乗り物のキューブIDとが一致する場合には、秘匿化したキューブID同士も一致する。従って、図2に示すように、ユーザについて測定された時刻及び位置を表す点aと乗り物について測定された時刻及び位置を表す点bが同一のキューブ内に存在していたことがある場合には、相対データを用いて点aと点bとが近傍に存在しているか否かを判断することができるようになる。なお、以下の実施の形態では、XYT空間における距離L1をXY平面に射影した長さを算出して閾値と比較し、時刻については別途比較する。但し、距離L1を用いて判断しても良い。
しかしながら、点aの相対データが(45,00,45)の場合、図2からも分かるように、点aはキューブの境界面であるTX面に載っている。このような場合には、同一のキューブだけではなく、隣接するキューブ内にも距離の短い点が存在する場合もある。図3のように、点aがキューブP内にある場合でも、キューブP内にある点bだけではなく、キューブQ内の点dとの距離L3、キューブR内の点eとの距離L4、キューブS内の点cとの距離L2のいずれかが、点bとの距離L1より短い可能性がある。
そこで、図4Aに示すように、緯度経度平面におけるキューブの左下の頂点を(xc,yc)とすると、xc乃至Ex,downの範囲と、Ex,up乃至xc+Dlatの範囲とが、緯度方向における境界から所定範囲と規定する。また、yc乃至Ey,downの範囲と、Ey,up乃至yc+Dlongの範囲とが、経度方向における境界からの所定範囲と規定する。なお、点A(x,y)が測定されたとすると、相対データ(xu,yu)は(x−xc,y−yc)によって算出される。
さらに、図4Bに示すように、緯度時刻平面におけるキューブの左下の頂点を(xc,zc)とすると、zc乃至Ez,downの範囲と、Ez,up乃至zc+Dtimeの範囲とが、時刻方向における境界からの所定範囲と規定する。なお、点A(x,z)が測定されたとすると、相対データ(xu,zu)は(x−xc,z−zc)によって算出される。
そして、本実施の形態では、このように規定された、境界から所定範囲内にある点の時刻及び位置データが得られた場合には、上で述べたデータに加えて、当該キューブに隣接する他のキューブのキューブIDをも取得する。さらに相対データについても、以下で述べるようなルールに従って当該他のキューブ側にマッピングした相対データも生成する。そして、本実施の形態では、他のキューブのキューブIDを、ユーザ及び乗り物で共有している鍵を用いて秘匿化し、追加で生成された相対データ及びユーザIDと共にデータ収集サーバに登録する。このように、データの形式としては、元々生成されるデータと追加で生成されるデータとは区別できなくなる。
但し、元々の測定位置及び時刻に対応する秘匿化キューブID及び相対データを含むデータブロックと共に、追加で生成した秘匿化キューブID及び相対データを含むデータブロックを揃えてデータ収集サーバに送信してしまうと、キューブの隣接関係が分かってしまう可能性がある。そこで、本実施の形態では、生成順番とは異なる順番で、データ収集サーバにデータブロックを送信することで、追加で生成したデータブロックか否かということを分からなくする。このようにすることで、情報漏洩を防止している。
なお、このようにデータの形式が同じで元々のデータブロックと追加で生成されるデータブロックとを区別できないので、データ収集サーバにおける検索処理の際に、キューブの境界から所定範囲内となった場合には本来より多くのデータブロックが抽出されてしまう。そこで、後に述べるような、被検索ユーザの出現頻度の重み付けを行うことで、適切な出現頻度で被検索ユーザを列挙できるようにする。
次に、このような処理を実施するためのシステム構成について図5を用いて説明する。例えばインターネット及び携帯電話通信網であるネットワーク1には、データ収集サーバ5と、ユーザが問い合わせなどを行うパーソナルコンピュータであるユーザ端末7とが接続されている。さらに、ネットワーク1には、無線基地局などを介して無線で、携帯電話機などの移動可能な通信端末3aや、乗り物(例えばタクシーやバス、電車など)の車載通信端末3bが接続される。通信端末3aや車載通信端末3bの数に制限はない。
図6に、通信端末3aや車載通信端末3bなどの通信端末3の機能ブロック図を示す。通信端末3は、GPS受信機31と、第1データ格納部32と、処理部33と、第2データ格納部34と、第3データ格納部35と、送信部36とを有する。GPS受信機31は、GPS衛星からの電波に基づき時刻及び緯度経度などのデータを例えば定期的に出力するものである。GPS受信機31は、よく知られたものであるから、これ以上説明しない。第1データ格納部32は、時刻及び位置データ(緯度経度のデータ)及び処理途中のデータを格納する。第2データ格納部34は、例えばユーザのユーザID又は乗り物のユーザIDと、秘匿化処理で用いる秘密鍵Kと、時間及び空間の分割単位と、時空間ブロックにおける端(境界から所定範囲)の定義データとを格納する。
また、処理部33は、第1データ格納部32に格納されている時刻及び位置データを読み出して処理を行うものであり、抽出部331と、秘匿化処理部332とを有する。抽出部331は、第1データ格納部32に格納されている時刻及び位置データからキューブID及び相対データを抽出する。なお、抽出部331は、相対データが、時空間ブロックにおける端に入っていることを示す場合には、隣接する他のキューブのキューブID及び相対データを生成する。そして、秘匿化処理部332は、秘密鍵Kを用いて所定のハッシュ関数で、キューブIDに対する秘匿化処理を実施する。処理部33は、第2データ格納部34に格納されているユーザIDと、秘匿化されたキューブIDと、相対データとを含むデータブロックを、第3データ格納部35に格納する。送信部36は、データ収集サーバ5宛に、第3データ格納部35に格納されているデータブロックを例えばランダムに送信する。すなわち、送信部36は、第3データ格納部35に格納されている格納順番とは異なる順番でデータブロックを送信する。
また、図7に、データ収集サーバ5の機能ブロック図を示す。データ収集サーバ5は、データ登録部52と、DB51と、受信部53と、処理部54と、送信部56と、データ格納部55とを有する。データ登録部52は、通信端末3aや車載通信端末3bなどの通信端末3からデータブロックを受信すると、例えば受信時刻と共にDB51に格納する。受信部53は、例えばユーザ端末7などからユーザIDを含む検索条件を含む要求を受信して、処理部54に出力する。検索条件をユーザに指定させる場合には、DB51に格納されているデータを参照してユーザ端末7に選択肢を提示する場合もある。処理部54は、検索条件に合致する、ユーザのデータブロックを抽出すると共に、同じ秘匿化されたキューブIDを含む、他のユーザ(乗り物など)のデータブロックを抽出する処理を実施して、緯度経度についての距離が閾値未満で時間差の絶対値が閾値未満のデータブロックについてのユーザIDを特定する。この際、処理部54は、ユーザID毎に出現頻度を計数して、出現頻度でソートする。データ格納部55は、処理途中のデータを格納する。送信部56は、処理結果を要求元のユーザ端末7などに送信する。
次に、図8乃至図27を用いて、図5に示したシステムの処理内容について説明する。まず、通信端末3における処理内容について、図8乃至図18を用いて説明する。
まず、GPS受信機31は、時刻及び位置データLD(時刻と緯度及び経度)を取得し、第1データ格納部32に格納する(図8:ステップS1)。そうすると、処理部33の抽出部331は、第1データ格納部32に格納されている時刻及び位置データLDに対して、隣接キューブデータの生成処理を実行する(ステップS3)。隣接キューブデータは、キューブID及び相対データを生成すべきキューブを特定するためのデータである。隣接キューブデータの生成処理については、図9及び図10を用いて説明する。
抽出部331は、第2データ格納部34に格納されている定義データから、第1データ格納部32に格納されている時刻及び位置が属するキューブCを特定する(図9:ステップS21)。
また、抽出部331は、位置及び時刻について、特定されたキューブCの最小の緯度xc、経度yc及び時刻zcからの相対データ(xu,yu,zu)を算出する(ステップS23)。
そして、抽出部331は、xu<Ex,downであるか判断する(ステップS25)。図4A及び図4Bの例では、左側の端の領域に入っているか否かを判断している。ステップS25の条件が満たされている場合には、抽出部331は、隣接キューブデータのx方向のパラメータ値集合Nxに「−1」及び「0」を設定する(ステップS27)。すなわち、キューブCと、−x方向の隣接キューブについて、キューブID及び相対データを生成する。そして処理はステップS35に移行する。
一方、ステップS25の条件が満たされていない場合には、抽出部331は、xu≧Ex,upであるか判断する(ステップS29)。図4A及び図4Bの例では、右側の端の領域に入っているか否かを判断している。ステップS29の条件が満たされている場合には、抽出部331は、隣接キューブデータのx方向のパラメータ値集合Nxに「0」及び「1」を設定する(ステップS31)。すなわち、キューブCと、+x方向の隣接キューブCについて、キューブID及び相対データを生成する。そして処理はステップS35に移行する。
一方、ステップS29の条件が満たされていない場合には、抽出部331は、隣接キューブデータのx方向のパラメータ値集合Nxに「0」を設定する(ステップS33)。すなわち、キューブCについて、キューブID及び相対データを生成する。そして処理はステップS35に移行する。
そして、抽出部331は、yu<Ey,downであるか判断する(ステップS35)。図4Aの例では、下側の端の領域に入っているか否かを判断している。ステップS35の条件が満たされている場合には、抽出部331は、隣接キューブデータのy方向のパラメータ値集合Nyに「−1」及び「0」を設定する(ステップS37)。すなわち、キューブCと、−y方向の隣接キューブについて、キューブID及び相対データを生成する。そして処理は端子Aを介して図10の処理に移行する。
一方、ステップS35の条件が満たされていない場合には、抽出部331は、yu≧Ey,upであるか判断する(ステップS39)。図4Aの例では、上側の端の領域に入っているか否かを判断している。ステップS39の条件が満たされている場合には、抽出部331は、隣接キューブデータのy方向のパラメータ値集合Nyに「0」及び「1」を設定する(ステップS41)。すなわち、キューブCと、+y方向の隣接キューブについて、キューブID及び相対データを生成する。そして処理は端子Aを介して図10の処理に移行する。
一方、ステップS39の条件が満たされていない場合には、抽出部331は、隣接キューブデータのy方向のパラメータ値集合Nyに「0」を設定する(ステップS43)。すなわち、キューブCについて、キューブID及び相対データを生成する。そして処理は端子Aを介して図10の処理に移行する。
図10の処理の説明に移行して、抽出部331は、zu<Ez,downであるか判断する(ステップS45)。図4Bの例では、下側の端の領域に入っているか否かを判断している。ステップS45の条件が満たされている場合には、抽出部331は、隣接キューブデータのz方向のパラメータ値集合Nzに「−1」及び「0」を設定する(ステップS47)。すなわち、キューブCと、−z方向の隣接キューブについて、キューブID及び相対データを生成する。そして処理は呼出元の処理に戻る。
一方、ステップS45の条件が満たされていない場合には、抽出部331は、zu≧Ez,upであるか判断する(ステップS49)。図4Bの例では、上側の端の領域に入っているか否かを判断している。ステップS49の条件が満たされている場合には、抽出部331は、隣接キューブデータのz方向のパラメータ値集合Nzに「0」及び「1」を設定する(ステップS51)。すなわち、キューブCと、+z方向の隣接キューブについて、キューブID及び相対データを生成する。そして処理は呼出元の処理に戻る。
一方、ステップS49の条件が満たされていない場合には、抽出部331は、隣接キューブデータのz方向のパラメータ値集合Nzに「0」を設定する(ステップS53)。すなわち、キューブCについて、キューブID及び相対データを生成する。そして処理は呼出元の処理に戻る。
このようにすれば、隣接キューブデータ(Nx,Ny,Nz)(Nx,Ny,Nzはそれぞれ「−1」「0」「1」のうち1又は複数の値が設定され得る集合)が生成される。
図8の処理の説明に戻って、抽出部331は、隣接キューブデータから特定されるキューブのうち、未処理のキューブを1つ特定する(ステップS5)。例えば、Nx={0,1}、Ny={0}、Nz={−1,0}であり、中心のキューブを相対コード{0,0,0}として表すと、Nx、Ny及びNzの値の全組み合わせとして相対コード{0,0,−1}{0,0,0}{1,0,−1}{1,0,0}が、キューブID及び相対データを生成すべきキューブの相対コードとして特定される。
その後、抽出部331は、秘匿化データブロックの生成処理を実行する(ステップS7)。秘匿化データブロックの生成処理については、図11乃至図17を用いて説明する。
まず、抽出部331は、特定されたキューブの相対コードを{rx,ry,rz}に設定する(図11:ステップS61)。
そして、抽出部331は、rx=−1であるか判断する(ステップS63)。rx=−1であれば、抽出部331は、特定されたキューブのキューブIDの一部xch=xc−Dlatを設定する(ステップS65)。−x方向に1つ分移動した先のキューブのキューブIDのx成分が特定される。そして処理はステップS73に移行する。
一方、rx=−1でなければ、抽出部331は、rx=1であるか判断する(ステップS67)。rx=1であれば、抽出部331は、特定されたキューブのキューブIDの一部xch=xc+Dlatを設定する(ステップS69)。+x方向に1つ分移動した先のキューブのキューブIDのx成分が特定される。そして処理はステップS73に移行する。
一方、rx=1でない場合には、rx=0であり、抽出部331は、特定されたキューブのキューブIDの一部xch=xcを設定する(ステップS71)。x方向については元々のキューブのキューブIDのx成分が設定される。そして処理はステップS73に移行する。
そして、抽出部331は、ry=−1であるか判断する(ステップS73)。ry=−1であれば、抽出部331は、特定されたキューブのキューブIDの一部ych=yc−Dlongを設定する(ステップS75)。−y方向に1つ分移動した先のキューブのキューブIDのy成分が特定される。そして処理は端子Bを介して図12の処理に移行する。
一方、ry=−1でなければ、抽出部331は、ry=1であるか判断する(ステップS77)。ry=1であれば、抽出部331は、特定されたキューブのキューブIDの一部ych=yc+Dlongを設定する(ステップS79)。+y方向に1つ分移動した先のキューブのキューブIDのy成分が特定される。そして処理は端子Bを介して図12の処理に移行する。
一方、ry=1でない場合には、ry=0であり、抽出部331は、特定されたキューブのキューブIDの一部ych=ycを設定する(ステップS81)。y方向については元々のキューブのキューブIDのy成分が設定される。そして処理は端子Bを介して図12の処理に移行する。
図12の処理の説明に移行して、抽出部331は、rz=−1であるか判断する(ステップS83)。rz=−1であれば、抽出部331は、特定されたキューブのキューブIDの一部zch=zc−Dtimeを設定する(ステップS85)。−z方向に1つ分移動した先のキューブのキューブIDのz成分が特定される。そして処理はステップS93に移行する。
一方、rz=−1でなければ、抽出部331は、rz=1であるか判断する(ステップS87)。rz=1であれば、抽出部331は、特定されたキューブのキューブIDの一部zch=zc+Dtimeを設定する(ステップS89)。+z方向に1つ分移動した先のキューブのキューブIDのz成分が特定される。そして処理はステップS93に移行する。
一方、rz=1でない場合には、rz=0であり、抽出部331は、特定されたキューブのキューブIDの一部zch=zcを設定する(ステップS91)。z方向については元々のキューブのキューブIDのz成分が設定される。
その後、秘匿化処理部332は、第2データ格納部34に格納されている鍵Kを用いて、予め定められたハッシュ関数Hashによって、秘匿化キューブIDを、H=Hash(xch,ych,zch)により算出する(ステップS93)。
さらに、抽出部331は、rx=−1であるか判断する(ステップS95)。rx=−1であれば、抽出部331は、特定されたキューブの相対データの一部xuh=Dlatを設定する(ステップS97)。
上でも述べたように、本実施の形態では、隣接するキューブについてのデータブロックと元々のキューブについてのデータブロックとのデータフォーマットが同一になる。しかし、そもそも隣接するキューブに存在しているわけではないので、隣接するキューブの相対データを正確には表せない。そこで、図13に示すように、元々のキューブにおける左の端のエリアに点mが存在している場合には、本実施の形態では、隣接するキューブにおける点mhの相対データの緯度成分は、Dlatであるものとする。これは隣接するキューブ内における距離を考察する場合に、誤差最小となる点である。但し、隣接するキューブの左端の幅においてランダムに選択するようにしても良い。この場合、距離の誤差は、最も大きくて幅の2倍となる。一方、隣接するキューブの左端の幅において、誤差が小さいほど(すなわち右端に近いほど)出現頻度が高くなるような分布に基づきランダムに選択するようにしても良い。そして処理は端子Cを介して図15の処理に移行する。
一方、rx=−1でなければ、抽出部331は、rx=1であるか判断する(ステップS99)。rx=1であれば、抽出部331は、特定されたキューブの相対データの一部xuh=0を設定する(ステップS101)。図14に示すように、元々のキューブにおける右の端のエリアに点kが存在している場合には、本実施の形態では、隣接するキューブにおける点khの相対位置の緯度成分は、0であるものとする。ランダムに選択するような方式については、図13について説明した場合と同様である。そして処理は端子Cを介して図15の処理に移行する。
一方、rx=1でない場合には、rx=0であり、抽出部331は、特定されたキューブの相対データの一部xuh=xuを設定する(ステップS103)。隣接キューブではなく、元々のキューブであるから、相対データの変更はない。そして処理は端子Cを介して図15の処理に移行する。
図15の処理の説明に移行して、抽出部331は、ry=−1であるか判断する(ステップS105)。ry=−1であれば、抽出部331は、特定されたキューブの相対データの一部yuh=Dlongを設定する(ステップS107)。
図16に示すように、元々のキューブにおける下の端のエリアに点fが存在している場合には、本実施の形態では、隣接するキューブにおける点fhの相対データの経度成分は、Dlongであるものとする。これは隣接するキューブ内における距離を考察する場合に、誤差最小となる点である。但し、隣接するキューブの上端の幅においてランダムに選択するようにしても良い。この場合、距離の誤差は、最も大きくて幅の2倍となる。一方、隣接するキューブの上端の幅において、誤差が小さいほど(すなわち上端に近いほど)出現頻度が高くなるような分布に基づきランダムに選択するようにしても良い。そして処理はステップS115に移行する。
一方、ry=−1でなければ、抽出部331は、ry=1であるか判断する(ステップS109)。ry=1であれば、抽出部331は、特定されたキューブの相対データの一部yuh=0を設定する(ステップS111)。図17に示すように、元々のキューブにおける上の端のエリアに点qが存在している場合には、本実施の形態では、隣接するキューブにおける点qhの相対位置の経度成分は、0であるものとする。ランダムに選択するような方式については、図16について説明した場合と同様である。そして処理はステップS115に移行する。
一方、ry=1でない場合には、ry=0であり、抽出部331は、特定されたキューブの相対データの一部yuh=yuを設定する(ステップS113)。隣接キューブではなく、元々のキューブであるから、相対データの変更はない。そして処理はステップS115に移行する。
その後、抽出部331は、rz=−1であるか判断する(ステップS115)。rz=−1であれば、抽出部331は、特定されたキューブの相対データの一部zuh=Dtimeを設定する(ステップS117)。緯度経度の場合と同様である。そして処理はステップS125に移行する。
一方、rz=−1でなければ、抽出部331は、rz=1であるか判断する(ステップS119)。rz=1であれば、抽出部331は、特定されたキューブの相対データの一部zuh=0を設定する(ステップS121)。緯度経度の場合と同様である。そして処理はステップS125に移行する。
一方、rz=1でない場合には、rz=0であり、抽出部331は、特定されたキューブの相対データの一部zuh=zuを設定する(ステップS123)。隣接キューブではなく、元々のキューブであるから、相対データの変更はない。そして処理はステップS125に移行する。
その後、抽出部331は、秘匿化データブロック{ID,H,{xuh,yuh,zuh}}を、第3データ格納部35に格納する(ステップS125)。そして処理は呼出元の処理に戻る。
このようにすれば、キューブIDがハッシュ値に変換され且つユーザのIDを含む秘匿化データブロックが生成されることになる。
図8の処理の説明に戻って、抽出部331は、未処理のキューブが存在しているか判断する(ステップS9)。未処理のキューブが残っている場合にはステップS5に戻る。一方、未処理のキューブが存在しない場合には、抽出部331は、送信部36に処理を指示する。送信部36は、第3データ格納部35に格納されている秘匿化データブロックをランダムに選択してデータ収集サーバ5に送信する(ステップS11)。例えば、一定個数第3データ格納部35に秘匿化データブロックがたまってから、ランダムに秘匿化データブロックを選択して、データ収集サーバ5に送信する。
一方、データ収集サーバ5のデータ登録部52は、通信端末3から秘匿化データブロックを受信すると、DB51に登録する。
DB51には、例えば図18に示すようなデータが格納される。図18の例では、受信時刻と、ユーザIDと、秘匿化されたキューブIDと、相対データとが登録されるようになっている。
ステップS11では、隣接キューブについての秘匿化データブロックを併せて生成した場合であっても、元々のキューブについての秘匿化データブロックと独立に選択して送信する。そうすれば、外部からは、両者を区別できず、キューブの隣接関係を推測することが難しくなる。
以上のようなステップS1乃至ステップS11の処理を、通信端末3の電源断などで処理を終了するまで繰り返す(ステップS13)。
以上のようにすれば、キューブの端に位置及び時刻が含まれる場合には、その位置及び時刻を包含するキューブの秘匿化データブロックと、隣接するキューブの秘匿化データブロックとが生成され、キューブの端に位置及び時刻が含まれない場合には、その位置及び時刻を包含するキューブの秘匿化データブロックが生成される。秘匿化データブロックのデータフォーマットは同じであり、送信順番を生成順番とは異なる順番で送信すれば、データからキューブの隣接関係を推測することが難しくなる。但し、以下で述べるデータ収集サーバ5における検索処理においても区別できない。すなわち、前者の場合には隣接するキューブの数だけ秘匿化データブロックが検索結果として多く抽出されることになるので、検索処理において出現頻度を調整することになる。
次に、特定のユーザIDについて検索を行う場合の処理について、図19乃至図27を用いて説明する。
例えば、ユーザがユーザ端末7を操作して、自己のユーザIDq及び例えば日付などを指定して検索を指示するものとする。そうすると、ユーザ端末7は、ユーザIDq及びその他の条件を含む検索条件を受け付け、IDq等の検索条件を含む検索要求を、データ収集サーバ5に送信する(図19:ステップS201)。なお、ユーザ端末7ではなく通信端末3の場合もある。
これに対してデータ収集サーバ5の受信部53は、ユーザ端末7からIDq等の検索条件を含む検索要求を受信すると、処理部54に出力する(ステップS203)。そうすると、処理部54は、DB51に対して、IDq等の検索条件に合致する秘匿化データブロックHDLを読み出し、例えばデータ格納部55に格納する(ステップS205)。また、処理部54は、読み出した秘匿化データブロックHDLのうち、未処理の秘匿化データブロックHDLjを1つ特定する(ステップS207)。
その後、処理部54は、特定された秘匿化データブロックについての秘匿検索処理を実行する(ステップS209)。秘匿検索処理については、図20乃至図27を用いて説明する。
処理部54は、ステップS207で特定された秘匿化データブロックに含まれるハッシュ値Hqと等しいハッシュ値を含む、他のIDについての秘匿化データブロックHDLwを、DB51から抽出し、例えばデータ格納部55に格納する(図20:ステップS221)。また、処理部54は、抽出された秘匿化データブロックHDLwのうち、未処理の秘匿化データブロックHDLwiを1つ特定する(ステップS223)。
その後、処理部54は、秘匿化データブロックHDLwiのIDwiが、HDLjについてのリストに登録済みであるか否かを判断する(ステップS225)。本実施の形態では、秘匿化データブロックの送信元である通信端末3の送信頻度が異なる可能性があるためである。図21に模式的に示すように、黒色のユーザAは、例えば間隔T2で秘匿化データブロックを送信しており、白色のユーザBは、例えば間隔T1で秘匿化データブロックを送信している。T2>T1であり、図21の例では、ユーザBがユーザAから所定範囲内(点線円内)にいる間に、ユーザAは1回しか秘匿化データブロックを送信していないが、ユーザBは3回も秘匿化データブロックを送信している。そうすると、秘匿化データブロックのみから見ると、ユーザAは、ユーザBと3回も出会ったように見えてしまう。しかし、これは実体から、かけ離れている。一方、ドットによるハッチング付きのユーザCは、ユーザAとほぼ同様の送信間隔で秘匿化データブロックを送信しており、ユーザAの移動に伴ってユーザAから所定範囲内において2回秘匿化データブロックを送信している。このような場合、ユーザBよりユーザCの方が、出会った回数が多いと判定される方が好ましい。
そこで、本実施の形態では、図22に示すように、ユーザAの秘匿化データブロックHDLj1つにつき、ユーザBの秘匿化データブロックHDLwを1つに限定して、送信頻度の違いによる問題発生を抑制しようとしている。
そのため、図23に示すようなリストを例えばデータ格納部55において管理する。リストは、ユーザIDと出現頻度との対が登録されるようになっている。そして、新たなユーザIDが出現する毎に、本リストに当該ユーザIDと後に算出される出現頻度とが登録される。既にリストにユーザIDが登録されている秘匿化データブロックについては、処理対象から除外する。
よって、特定された秘匿化データブロックHDLwiのIDwiがリストに登録済みであれば、処理は端子Dを介して図25の処理に移行する。一方、特定された秘匿化データブロックHDLwiのIDwiがリストに未登録であれば、処理部54は、相対データにおける緯度及び経度による距離dを算出する(ステップS229)。
距離dは、例えば以下のような式で算出される。なお、HDLwiにおける緯度をxwiとし、経度をywiとし、HDLjにおける緯度をxjとし、経度をyjとする。
Figure 0005983318
そして、処理部54は、距離dは予め設定されている閾値以下であるか判断する(ステップS231)。距離dが閾値を超えている場合には、端子Dを介して図25の処理に移行する。一方、距離dが閾値以下であれば、処理は、端子Eを介して図24の処理に移行する。
図24の処理の説明に移行して、処理部54は、相対データにおける時刻の差の絶対値を算出する(ステップS233)。HDLwiにおける時刻をzwiとし、HDLjにおける時刻をzjとすると、時刻の差の絶対値は|zwi−zj|と表される。
そして、処理部54は、時刻の差の絶対値が予め設定されている閾値以下であるか判断する(ステップS235)。時刻の差の絶対値が閾値を超えている場合には、端子Dを介して図25の処理に移行する。一方、時刻の差の絶対値が閾値以下であれば、処理部54は、カウンタpを0に初期化する(ステップS237)。
また、処理部54は、秘匿化データブロックHDLwiの相対緯度xwi及び秘匿化データブロックHDLjの相対緯度xjが共にキューブの端の領域に含まれるか判断する(ステップS239)。いずれか一方又は両方の相対緯度がキューブの端の領域に入っていない場合には、処理はステップS243に移行する。一方、xwi及びxjがキューブの端の領域に入っている場合には、処理部54は、カウンタpを1インクリメントする(ステップS241)。
また、処理部54は、秘匿化データブロックHDLwiの相対経度ywi及び秘匿化データブロックHDLjの相対経度yjが共にキューブの端の領域に含まれるか判断する(ステップS243)。いずれか一方又は両方の相対経度がキューブの端の領域に入っていない場合には、処理はステップS247に移行する。一方、ywi及びyjがキューブの端の領域に入っている場合には、処理部54は、カウンタpを1インクリメントする(ステップS245)。
また、処理部54は、秘匿化データブロックHDLwiの相対時刻zwi及び秘匿化データブロックHDLjの相対時刻zjが共にキューブの端の領域に含まれるか判断する(ステップS247)。いずれか一方又は両方の相対時刻がキューブの端の領域に入っていない場合には、処理は端子Fを介して図25の処理に移行する。一方、zwi及びzjがキューブの端の領域に入っている場合には、処理部54は、カウンタpを1インクリメントする(ステップS249)。そして、処理は端子Fを介して図25の処理に移行する。
図25の処理の説明に移行して、処理部54は、リストにおいて、IDwi及び出現頻度1/2pを登録する(ステップS251)。図23に示したリストに新たなエントリを追加する。本実施の形態では、通信端末3において、キューブにおいて1軸について端の領域に位置する場合には2つの秘匿化データブロックが生成され、2軸について端の領域に位置する場合には3つの秘匿化データブロックが生成され、3軸について端の領域に位置する場合には4つの秘匿化データブロックが生成される。一方の通信端末3についてこのような秘匿化データブロックが生成されるが、他方の通信端末3についても同様に1又は複数のデータブロックが生成される。
図26に模式的に示すように、キューブXの右端にユーザAが位置しており、キューブYの左端にユーザBが位置している場合、図27に模式的に示すように、ユーザAについては上段に示すように、キューブXの隣接キューブYについても秘匿化データブロックを生成し、ユーザBについてはキューブYの隣接キューブXについても秘匿化データブロックを生成する。そうすると、キューブXについて比較を行って近接していると判断し、キューブYについて比較を行って近接していると判断することになる。すなわち、実体は図26の状態なのに、ユーザAを基準にすると、ユーザBは実体より2倍近隣に存在していたと判断されてしまう。従って、本実施の形態では、両者が1軸について端の領域に位置する場合には、出現頻度を1/2にすることにする。さらに、両者が2軸について端の領域に位置する場合には、4倍近隣に存在していたと判断されてしまうので、出現頻度を1/4にすることにする。同様に、両者が3軸について端の領域に位置する場合には、8倍近隣に存在していたと判断されてしまうので、出現頻度を1/8にすることにする。従って、カウンタpの値から1/2pと重み付けされた出現頻度が算出される。
その後、処理部54は、秘匿化データブロックHDLwのうち未処理の秘匿化データブロックHDLwiが存在しているか判断する(ステップS253)。未処理の秘匿化データブロックHDLwiが存在している場合には、処理は端子Gを介してステップS223に戻る。一方、未処理の秘匿化データブロックHDLwiが存在していない場合には、処理は呼出元の処理に戻る。
このようにすれば、1つの秘匿化データブロックHDLjについて、図23に示すようなリストが生成されるようになる。なお、このリストには、ユーザIDが1回しか出現しない。
図19の処理の説明に戻って、処理部54は、未処理の秘匿化データブロックHDLjが存在しているか判断する(ステップS211)。未処理の秘匿化データブロックHDLjが存在している場合には、処理はステップS207に戻る。一方、未処理の秘匿化データブロックHDLjが存在していない場合には、処理部54は、生成されたリストをマージする(ステップS213)。
図23に示したようなリストが、秘匿化データブロックHDLjの数分生成されるので、同じユーザIDについての出現頻度を加算して、1つのリストを生成する。そして、処理部54は、リストにおいて出現頻度の大きい順にユーザIDをソートする。その後、処理部54は、ソート後のリストを送信部56に出力する。なお、ソート後のリストにおいて下位のユーザIDについては破棄しても良い。
送信部56は、ソート後のリストを、受信部53から得られた、検索要求の送信元のユーザ端末7宛に送信する(ステップS215)。ユーザ端末7は、検索結果である、ソート後のリストを受信し、表示装置に表示する(ステップS217)。
以上のような処理を行えば、ユーザ端末7を操作しているユーザとおおよそ同じ位置にいた回数の多い他のユーザを特定できるようになる。
以上本技術の実施の形態を説明したが、本技術はこれに限定されない。例えば、データ収集サーバ5が上で述べた処理を全て実施するのではなく、複数台のコンピュータにより分担するようにしても良い。
例えば図28に示すように、フロントエンドのサーバとして、例えば携帯電話会社が運営する第1サーバ11を用意して、ユーザの携帯電話番号その他のIDを、上で使用したユーザIDに例えば変換表で変換してデータ収集サーバ5に要求を送信する。そして、データ収集サーバ5で乗り物についてのユーザIDが特定されると、当該ユーザIDと交通機関の対応表で交通機関を特定して、当該交通機関が運営している第2サーバ13に、ユーザIDを送信する。第2サーバ13は、ユーザIDを受信すると、当該ユーザIDから乗り物IDを例えば変換表で特定して、交通機関のデータと乗り物IDとを、データ収集サーバ5に出力する。データ収集サーバ5は、受信したデータを第1サーバ11に戻し、第1サーバ11は、ユーザ端末7に交通機関のデータと乗り物IDとを送信する。第2サーバ13を設けずに第1サーバ11で第2サーバ13の機能をも果たすようにしても良い。その他、機能分担は任意である。
さらに、上で述べた機能ブロック図は一例であって、ハードウエア構成又はプログラムモジュール構成と一致しない場合もある。処理フローについても、処理結果が変わらない限り、処理順番を入れ替えたり、並列実行するようにしても良い。
さらに、忘れ物を探すような用途だけではなく、例えばある日に一緒にいたユーザ(情報公開を許可しているユーザ)を後から確認するといったような用途にも使用できる。
なお、上で述べたデータ収集サーバ5及びユーザ端末7は、コンピュータ装置であって、図29に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理方法は、(A)時刻及び位置データを取得する処理と、(B)時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを、時刻及び位置データから抽出する処理と、(C)第1のデータに対して所定の秘匿化処理を実施する処理と、(D)ユーザの識別子と所定の秘匿化処理がなされた第1のデータと第2のデータとを含むデータブロックを、記憶装置に格納する処理と、(E)第2のデータにより特定される、時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、第2のデータにより特定される相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第3のデータと、第2のデータにより特定される相対的な時刻及び位置に基づき決定され且つ他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第4のデータとを生成する処理と、(F)第3のデータに対して所定の秘匿化処理を実施する処理と、(G)ユーザの識別子と所定の秘匿化処理がなされた第3のデータと第4のデータとを含む第2のデータブロックを、記憶装置に格納する処理と、(H)記憶装置に格納されているデータブロックを、データブロックの格納順序とは異なる順番で、データブロックを蓄積するコンピュータに送信する処理とを含む。
このようにデータブロックを生成して送信することで、データブロックからの情報漏洩を抑制できるようになる。
本実施の形態の第1の態様に係る情報処理方法において、他の時空間ブロック内部の相対的な近似時刻及び近似位置が、他の時空間ブロック内の予め定められた範囲内において、固定値又はランダムに決定されるようにしても良い。これによって、誤差を抑えつつ第1のデータブロックと同じフォーマットの第2のデータブロックを生成できるようになる。
本技術の第2の態様に係る情報処理方法は、(A)ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第1のデータブロックを読み出す処理と、(B)読み出した第1のデータブロックに含まれる第1のデータと一致する第1のデータと特定のユーザとは異なるユーザの識別子とを含む第2のデータブロックを、データ格納部から抽出する処理と、(C)第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第2のデータを含む第2のデータブロックに含まれるユーザの識別子を特定する処理と、(D)時空間ブロックの境界から予め定められた範囲に、第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第2のデータを含む第2のデータブロックの当該第2データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定されたユーザの識別子についての出現頻度を重み付ける処理と、(E)重み付けされた出現頻度に基づき、特定されたユーザの識別子をソートする処理とを含む。
このようにすれば、第1の態様に係る情報処理方法で生成されたデータブロックについても重み付けして適切な出現頻度でユーザの識別子を列挙できるようになる。
なお、第2の態様に係る情報処理方法において、第1のデータブロック1つにつき、同一のユーザの識別子を含む第2のデータブロックが複数出現した場合には、1つの第2のデータブロックについてのみ出現頻度が計数される場合もある。例えば、データブロックの生成頻度が異なるユーザが存在する場合に対処できるようになる。
また、上で述べた重み付ける処理において、時空間ブロックの軸毎に境界から所定範囲内に含まれるか否かを判断し、所定範囲内に含まれると判断された軸の数の2の冪乗の逆数で重み付けられるようにしてもよい。このようにすれば、第1の態様に係る情報処理方法で余分に生成されたデータブロックを考慮して出現頻度を計数できるようになる。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
時刻及び位置データを取得する処理と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを、前記時刻及び位置データから抽出する処理と、
前記第1のデータに対して所定の秘匿化処理を実施する処理と、
ユーザの識別子と前記所定の秘匿化処理がなされた前記第1のデータと前記第2のデータとを含むデータブロックを、記憶装置に格納する処理と、
前記第2のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第2のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第3のデータと、前記第2のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第4のデータとを生成する処理と、
前記第3のデータに対して前記所定の秘匿化処理を実施する処理と、
前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第3のデータと前記第4のデータとを含む第2のデータブロックを、前記記憶装置に格納する処理と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する処理と、
を含み、コンピュータにより実行される情報処理方法。
(付記2)
前記他の時空間ブロック内部の相対的な近似時刻及び近似位置が、前記他の時空間ブロック内の前記予め定められた範囲内において、固定値又はランダムに決定される
付記1記載の情報処理方法。
(付記3)
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第1のデータブロックを読み出す処理と、
読み出した前記データブロックに含まれる前記第1のデータと一致する第1のデータと前記特定のユーザとは異なるユーザの識別子とを含む第2のデータブロックを、前記データ格納部から抽出する処理と、
前記第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第2のデータを含む第2のデータブロックに含まれるユーザの識別子を特定する処理と、
前記時空間ブロックの境界から予め定められた範囲に、前記第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第2のデータブロックに含まれる第2データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける処理と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする処理と、
を含み、コンピュータにより実行される情報処理方法。
(付記4)
前記第1のデータブロック1つにつき、同一のユーザの識別子を含む第2のデータブロックが複数出現した場合には、1つの第2のデータブロックについてのみ出現頻度が計数される
付記3記載の情報処理方法。
(付記5)
前記重み付ける処理において、
前記時空間ブロックの軸毎に前記境界から所定範囲内に含まれるか否かを判断し、前記所定範囲内に含まれると判断された軸の数の2の冪乗の逆数で重み付けられる
付記3又は4の情報処理方法。
(付記6)
時刻及び位置データを取得する処理と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを、前記時刻及び位置データから抽出する処理と、
前記第1のデータに対して所定の秘匿化処理を実施する処理と、
ユーザの識別子と前記所定の秘匿化処理がなされた前記第1のデータと前記第2のデータとを含むデータブロックを、記憶装置に格納する処理と、
前記第2のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第2のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第3のデータと、前記第2のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第4のデータとを生成する処理と、
前記第3のデータに対して前記所定の秘匿化処理を実施する処理と、
前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第3のデータと前記第4のデータとを含む第2のデータブロックを、前記記憶装置に格納する処理と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する処理と、
を、コンピュータに実行させるためのプログラム。
(付記7)
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第1のデータブロックを読み出す処理と、
読み出した前記データブロックに含まれる前記第1のデータと一致する第1のデータと前記特定のユーザとは異なるユーザの識別子とを含む第2のデータブロックを、前記データ格納部から抽出する処理と、
前記第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第2のデータを含む第2のデータブロックに含まれるユーザの識別子を特定する処理と、
前記時空間ブロックの境界から予め定められた範囲に、前記第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第2のデータブロックに含まれる第2データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける処理と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする処理と、
を、コンピュータに実行させるためのプログラム。
(付記8)
時刻及び位置データを取得する取得部と、
時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを、前記時刻及び位置データから抽出し、前記第1のデータに対して所定の秘匿化処理を実施し、ユーザの識別子と前記所定の秘匿化処理がなされた前記第1のデータと前記第2のデータとを含むデータブロックを、記憶装置に格納し、
前記第2のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第2のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第3のデータと、前記第2のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第4のデータとを生成し、前記第3のデータに対して前記所定の秘匿化処理を実施し、前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第3のデータと前記第4のデータとを含む第2のデータブロックを、前記記憶装置に格納する処理部と、
前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する送信部と、
を有する情報処理装置。
(付記9)
ユーザの識別子に対応付けて、時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記ユーザに関連する特定の時刻及び特定の位置を包含する時空間ブロックを特定するための秘匿化された第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを含むデータブロックが格納されているデータ格納部から、特定のユーザの識別子に対応付けられている第1のデータブロックを読み出す手段と、
読み出した前記データブロックに含まれる前記第1のデータと一致する第1のデータと前記特定のユーザとは異なるユーザの識別子とを含む第2のデータブロックを、前記データ格納部から抽出する手段と、
前記第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第2のデータを含む第2のデータブロックに含まれるユーザの識別子を特定する手段と、
前記時空間ブロックの境界から予め定められた範囲に、前記第1のデータブロックに含まれる第2のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第2のデータブロックに含まれる第2データにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける手段と、
重み付けされた前記出現頻度に基づき、ユーザの識別子をソートする手段と、
を有する情報処理装置。
1 ネットワーク
3 通信端末
5 データ収集サーバ
7 ユーザ端末
31 GPS受信機
32 第1データ格納部
33 処理部
34 第2データ格納部
35 第3データ格納部
36 送信部
331 抽出部
332 秘匿化処理部
51 DB
52 データ登録部
53 受信部
54 処理部
55 データ格納部
56 送信部

Claims (8)

  1. 第1のコンピュータが、
    時刻及び位置データを取得する処理と、
    時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを、前記時刻及び位置データから抽出する処理と、
    前記第1のデータに対して所定の秘匿化処理を実施する処理と、
    ユーザの識別子と前記所定の秘匿化処理がなされた前記第1のデータと前記第2のデータとを含むデータブロックを、記憶装置に格納する処理と、
    前記第2のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第2のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第3のデータと、前記第2のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第4のデータとを生成する処理と、
    前記第3のデータに対して前記所定の秘匿化処理を実施する処理と、
    前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第3のデータと前記第4のデータとを含む第2のデータブロックを、前記記憶装置に格納する処理と、
    前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積する第2のコンピュータに送信する処理と、
    を実行する情報処理方法。
  2. 前記他の時空間ブロック内部の相対的な近似時刻及び近似位置が、前記他の時空間ブロック内の前記予め定められた範囲内において、固定値又はランダムに決定される
    請求項1記載の情報処理方法。
  3. 前記第2のコンピュータが、さらに、
    複数の前記第1のコンピュータから前記データブロックを受信して、データ格納部に格納する処理と、
    前記データ格納部から、特定のユーザの識別子を含む第1のデータブロックを読み出す処理と、
    読み出した前記第1のデータブロックに含まれる第1のデータ又は第3のデータと一致する第1のデータ又は第3のデータと前記特定のユーザとは異なるユーザの識別子とを含む第2のデータブロックを、前記データ格納部から抽出する処理と、
    前記第1のデータブロックに含まれる第2のデータ又は第4のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第2のデータ又は第4のデータを含む第2のデータブロックに含まれるユーザの識別子を特定する処理と、
    前記時空間ブロックの境界から予め定められた範囲に、前記第1のデータブロックに含まれる第2のデータ又は第4のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第2のデータ又は第4のデータを含む第2のデータブロックの当該第2データ又は第4のデータにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける処理と、
    重み付けされた前記出現頻度に基づき、特定された前記ユーザの識別子をソートする処理と、
    実行する、請求項1記載の情報処理方法。
  4. 前記第1のデータブロック1つにつき、同一のユーザの識別子を含む第2のデータブロックが複数出現した場合には、1つの第2のデータブロックについてのみ出現頻度が計数される
    請求項3記載の情報処理方法。
  5. 前記重み付ける処理において、
    前記時空間ブロックの軸毎に前記境界から所定範囲内に含まれるか否かを判断し、前記所定範囲内に含まれると判断された軸の数の2の冪乗の逆数で重み付けられる
    請求項3又は4の情報処理方法。
  6. 時刻及び位置データを取得する処理と、
    時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを、前記時刻及び位置データから抽出する処理と、
    前記第1のデータに対して所定の秘匿化処理を実施する処理と、
    ユーザの識別子と前記所定の秘匿化処理がなされた前記第1のデータと前記第2のデータとを含むデータブロックを、記憶装置に格納する処理と、
    前記第2のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第2のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第3のデータと、前記第2のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第4のデータとを生成する処理と、
    前記第3のデータに対して前記所定の秘匿化処理を実施する処理と、
    前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第3のデータと前記第4のデータとを含む第2のデータブロックを、前記記憶装置に格納する処理と、
    前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積する情報処理装置に送信する処理と、
    を、コンピュータに実行させるためのプログラム。
  7. 時刻及び位置データを取得する取得部と、
    時間及び空間を所定の単位で分割することで得られる複数の時空間ブロックのうち、前記時刻及び位置データで特定される時刻及び位置を包含する時空間ブロックを特定するための第1のデータと、当該時空間ブロック内部の相対的な時刻及び位置を特定するための第2のデータとを、前記時刻及び位置データから抽出し、前記第1のデータに対して所定の秘匿化処理を実施し、ユーザの識別子と前記所定の秘匿化処理がなされた前記第1のデータと前記第2のデータとを含むデータブロックを、記憶装置に格納し、
    前記第2のデータにより特定される、前記時空間ブロック内部の相対的な時刻及び位置が、当該時空間ブロックの境界から予め定められた範囲に入っている場合には、前記第2のデータにより特定される前記相対的な時刻及び位置が隣接する境界に接する他の時空間ブロックを特定するための第3のデータと、前記第2のデータにより特定される前記相対的な時刻及び位置に基づき決定され且つ前記他の時空間ブロック内部の相対的な近似時刻及び近似位置を特定するための第4のデータとを生成し、前記第3のデータに対して前記所定の秘匿化処理を実施し、前記ユーザの識別子と前記所定の秘匿化処理がなされた前記第3のデータと前記第4のデータとを含む第2のデータブロックを、前記記憶装置に格納する処理部と、
    前記記憶装置に格納されている前記データブロックを、前記データブロックの格納順序とは異なる順番で、前記データブロックを蓄積するコンピュータに送信する送信部と、
    を有する情報処理装置。
  8. 請求項7記載の複数の情報処理装置と、
    前記コンピュータと、
    を有するコンピュータシステムであって、
    前記コンピュータが、
    前記複数の情報処理装置から前記データブロックを受信して、データ格納部に格納する手段と、
    前記データ格納部から、特定のユーザの識別子を含む第1のデータブロックを読み出す手段と、
    読み出した前記第1のデータブロックに含まれる第1のデータ又は第3のデータと一致する第1のデータ又は第3のデータと前記特定のユーザとは異なるユーザの識別子とを含む第2のデータブロックを、前記データ格納部から抽出する手段と、
    前記第1のデータブロックに含まれる第2のデータ又は第4のデータにより特定される相対的な時刻及び位置から所定の近傍範囲に含まれると判断される第2のデータ又は第4のデータを含む第2のデータブロックに含まれるユーザの識別子を特定する手段と、
    前記時空間ブロックの境界から予め定められた範囲に、前記第1のデータブロックに含まれる第2のデータ又は第4のデータにより特定される相対的な時刻及び位置と当該相対的な時刻及び位置から所定の近傍範囲に含まれると判断された第2のデータ又は第4のデータを含む第2のデータブロックの当該第2データ又は第4のデータにより特定される相対的な時刻及び位置とが含まれるか否かに基づき、特定された前記ユーザの識別子についての出現頻度を重み付ける手段と、
    重み付けされた前記出現頻度に基づき、特定された前記ユーザの識別子をソートする手段と、
    を有する
    コンピュータシステム
JP2012242121A 2012-11-01 2012-11-01 情報処理方法、プログラム及び装置 Expired - Fee Related JP5983318B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012242121A JP5983318B2 (ja) 2012-11-01 2012-11-01 情報処理方法、プログラム及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012242121A JP5983318B2 (ja) 2012-11-01 2012-11-01 情報処理方法、プログラム及び装置

Publications (2)

Publication Number Publication Date
JP2014092882A JP2014092882A (ja) 2014-05-19
JP5983318B2 true JP5983318B2 (ja) 2016-08-31

Family

ID=50936925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012242121A Expired - Fee Related JP5983318B2 (ja) 2012-11-01 2012-11-01 情報処理方法、プログラム及び装置

Country Status (1)

Country Link
JP (1) JP5983318B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016042632A (ja) * 2014-08-14 2016-03-31 富士通株式会社 情報秘匿装置、情報秘匿方法、および情報秘匿プログラム
US9716697B2 (en) 2015-07-24 2017-07-25 Google Inc. Generating bridge match identifiers for linking identifiers from server logs
JP7422595B2 (ja) 2020-04-06 2024-01-26 株式会社ブログウォッチャー 情報処理装置、情報処理方法、情報処理プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5351852B2 (ja) * 2010-08-02 2013-11-27 日本電信電話株式会社 横断統計システム、発言端末、横断統計方法
JP2013045319A (ja) * 2011-08-25 2013-03-04 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2013085165A (ja) * 2011-10-12 2013-05-09 Fujitsu Ltd 情報処理方法、プログラム及び装置

Also Published As

Publication number Publication date
JP2014092882A (ja) 2014-05-19

Similar Documents

Publication Publication Date Title
US9860704B2 (en) Venue identification from wireless scan data
US11425525B2 (en) Privacy preservation platform
CN106209759B (zh) 检测驻留在网络上的可疑文件
KR101451883B1 (ko) 3단계 절차를 이용한 실내 층 및 위치의 예측
US20140258201A1 (en) Generating a geofence via an analysis of a gps fix utilization distribution
CN101561486A (zh) 使用公式的位置确定处理
US8938433B2 (en) Information management apparatus, information management method, and information control program
US8698598B2 (en) Digital punch card for mobile device
WO2013077987A2 (en) Management of privacy settings for a user device
WO2017193783A1 (zh) 用户位置信息保护方法和装置
JP5983318B2 (ja) 情報処理方法、プログラム及び装置
JP2007089879A (ja) オンラインゲームサービス提供システム、オンラインゲームサービス提供方法、およびオンラインゲームサービス提供プログラム
WO2015183972A1 (en) Most relevant application recommendation based on crowd-sourced application usage data
CN112328911B (zh) 地点推荐方法、装置、设备及存储介质
CN103916435A (zh) 判断信息真实性的方法和装置
KR101711118B1 (ko) 빅데이터를 이용한 사용자에 개인화된 음식 추천 시스템
CN106161575B (zh) 用户匹配方法及装置
CN105101089B (zh) 一种实现定位的方法、相关装置及系统
CN103597889B (zh) 相邻小区位置平均化
Cheng et al. iZone: a location-based mobile social networking system
CN110489669B (zh) 一种信息推送方法及装置
JP2013085165A (ja) 情報処理方法、プログラム及び装置
US10034131B1 (en) System and method for a proximity correlation platform based on geolocation information
KR102348783B1 (ko) 콘텐츠 검색 장치, 시스템 및 방법
KR102277502B1 (ko) 동기화된 로컬 검색 결과들에 대한 가시적 네트워크들의 연결을 위한 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160617

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160718

R150 Certificate of patent or registration of utility model

Ref document number: 5983318

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees