(57)【特許請求の範囲】
【請求項１】
匿名化処理装置により実行される情報処理方法であって、
所定時間内において端末装置から受信し、データ格納部に格納されており且つ当該端末装置のユーザの個人情報を含むデータセットの数が、予め定められた閾値以上であるか判断する第１の処理と、
前記第１の処理において前記データセットの数が前記閾値以上でないと判断された場合、他の匿名化処理装置と通信することによって他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっているか判断又は確認する第２の処理と、
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっていると前記第２の処理で判断又は確認された場合には、前記データ格納部に格納されているデータセットの少なくとも一部に対して第１の匿名化処理を実施する第３の処理と、
前記第１の匿名化処理後のデータセットを、複数の匿名化処理装置からのデータセットを蓄積するコンピュータに送信する第４の処理と、
を含む情報処理方法。
【請求項２】
前記第１の処理において前記データセットの数が前記閾値以上であると判断された場合、前記データ格納部に格納されているデータセットの少なくとも一部に対して第２の匿名化処理を実施する第５の処理と、
前記第２の匿名化処理後のデータセットを、前記コンピュータに送信する第６の処理と、
をさらに含む請求項１記載の情報処理方法。
【請求項３】
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上とならないと前記第２の処理で判断又は確認された場合、前記データ格納部に格納されているデータセットを破棄する第７の処理
をさらに含む請求項１又は２記載の情報処理方法。
【請求項４】
前記データセットに位置データが含まれる場合、
前記第１の匿名化処理が、前記位置データを、前記匿名化処理装置の位置と前記他の匿名化処理装置の少なくともいずれかの位置とから算出される位置のデータに置換する処理を含む
請求項１乃至３のいずれか１つの情報処理方法。
【請求項５】
前記データセットに位置データが含まれる場合、
前記第２の匿名化処理が、前記位置データを、前記匿名化処理装置の位置に置換する処理を含む請求項２記載の情報処理方法。
【請求項６】
前記第２の処理が、
予め登録された他の匿名化処理装置のうち自匿名化処理装置の識別子よりも小さい識別子を有する匿名化処理装置に対して、前記データ格納部に格納されているデータセットの数を含む問い合わせメッセージを送信し、
他の匿名化処理装置のいずれかである第２の匿名化処理装置からの問い合わせメッセージを受信して、当該問い合わせメッセージに含まれるデータセットの数と前記データ格納部に格納されているデータセットの数とを加算すると前記閾値以上となっている場合には、条件充足の可能性を表すメッセージを返信し、前記第２の匿名化処理装置から了承メッセージを受信すると前記データセットの数が前記閾値以上であると判断する
処理を含む請求項１乃至６のいずれか１つ記載の情報処理方法。
【請求項７】
前記データセットには当該データセットの秘匿レベルが付加されており、
前記第１の処理が、
前記データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルである第１の秘匿レベルに対応する閾値を特定する処理を含み、
前記他の匿名化処理装置の少なくともいずれかが、前記第１の秘匿レベル以下の第２の秘匿レベルを有する他の匿名化処理装置の少なくともいずれかである
請求項１記載の情報処理方法。
【請求項８】
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上とならないと前記第２の処理で判断された場合、前記データ格納部において前記第１の秘匿レベルのデータセットを破棄する第８の処理と、
前記データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルが、２以上の値である前記閾値が対応付けられている秘匿レベルである場合には、前記第１の処理移行を実施させる第９の処理と、
をさらに含む請求項７記載の情報処理方法。
【請求項９】
前記データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルが、１である前記閾値が対応付けられている秘匿レベルである場合には、前記データ格納部に格納されているデータセットに対して前記第１の秘匿化処理を実施し、前記第４の処理を実施させる第１０の処理
をさらに含む請求項８記載の情報処理方法。
【請求項１０】
匿名化処理装置に、
所定時間内において端末装置から受信し、データ格納部に格納されており且つ当該端末装置のユーザの個人情報を含むデータセットの数が、予め定められた閾値以上であるか判断する第１の処理と、
前記第１の処理において前記データセットの数が前記閾値以上でないと判断された場合、他の匿名化処理装置と通信することによって他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっているか判断又は確認する第２の処理と、
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっていると前記第２の処理で判断又は確認された場合には、前記データ格納部に格納されているデータセットの少なくとも一部に対して第１の匿名化処理を実施する第３の処理と、
前記第１の匿名化処理後のデータセットを、複数の匿名化処理装置からのデータセットを蓄積するコンピュータに送信する第４の処理と、
を実行させるためのプログラム。
【請求項１１】
匿名化処理装置であって、
所定時間内において端末装置から受信し、データ格納部に格納されており且つ当該端末装置のユーザの個人情報を含むデータセットの数が、予め定められた閾値以上であるか判断し、前記データセットの数が前記閾値以上でないと判断された場合、他の匿名化処理装置と通信することによって他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっているか判断又は確認する制御部と、
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっていると前記制御部で判断又は確認された場合には、前記データ格納部に格納されているデータセットの少なくとも一部に対して第１の匿名化処理を実施する匿名化処理部と、
前記第１の匿名化処理後のデータセットを、複数の匿名化処理装置からのデータセットを蓄積するコンピュータに送信する通信部と、
を有する匿名化処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データのプライバシ保護技術に関する。
【背景技術】
【０００２】
最近ではカーナビゲーションシステムや携帯電話機などに埋め込まれたＧＰＳ（Global Positioning System）受信機が、時々刻々と変化する現在位置を取得し、それに基づいてナビゲーションや近くのお店を紹介するなどのサービスが実用化されている。しかしながら、利用者としては、自分のプライバシデータである位置データについてはあまりサービス事業者に把握されずに、サービスを利用したいという要望もある。
【０００３】
一方、サービス事業者は、なるべくユーザの実データに近いデータを集めて、各種サービスを実現したい、と考えている。例えば、ある場所にいる人や車の集計値だけしか得られない場合には渋滞情報提供のようなことしかできないが、誰か特定はできなくても同一人物の行動履歴が取れれば、似たような経路を取っている人の行動予測など詳細な処理が可能になる。また、個人まで特定できれば、個人の移動経路などに合わせたお店の推薦などが可能になる。
【０００４】
これに関係して、ある範囲にいる人の属性に合わせて広告を配信する技術が存在している。この技術では、一定時間毎に、特定の属性を有する通行人の情報をサーバで収集し集計してそれに基づき適切な広告を選択する。しかしながら、これではサーバに各個人の実データが送信されてしまうので、サーバに蓄積されているデータを組み合わせることで個人の行動履歴が特定されてしまい、プライバシ侵害の恐れがある。また、このように特定の個人の実データをそのまま得て、保持していると、何らかの理由で漏洩してしまった場合のリスクが高い。
【０００５】
また、タクシー利用者からの直接的要求が無い状態であっても、タクシーを効率的に配車するための技術も存在している。この技術では、不特定多数の利用者が所持する携帯電話などの携帯型端末から基地局に通知される情報を収集し、どの基地局の回りに携帯型端末が多く分布するかなど、端末の分布状態を取得する。車載装置から要求があったとき、その車載装置の現在位置を含む所定範囲における携帯型端末の分布情報を、その車載装置で表示する。携帯型端末の分布が分るので、タクシーの潜在的な利用者がどれ程いるかを把握できる、というものである。この技術によれば、分布情報は利用可能となっているが、それ以上のデータを利用できない。
【０００６】
上で述べたように特定の個人の実データをそのまま得て、保持しているのはリスクが高いので、データに対して秘匿化処理を行うことが好ましい。この秘匿化技術には、ｋ−匿名化技術がある。この技術は、データベースに含まれる個人データを、指定した属性（識別子に準ずるデータ項目。住所、年齢、性別など）を組み合わせて検索したとしても、ｋレコード（ｋは事前に与えた数値。）以下には絞り込めないようにデータをあいまい化する技術である。このようにデータベースを加工することで、特定個人のレコードを絞り込めなくすることで、個人のプライバシを守ることができる。
【０００７】
ｋ−匿名化技術の１つであるＤａｔａｆｌｙでは、以下のような処理を実施する。なお、例えば図１に示すようなデータベースが予め存在しているものとする。（１）まず、指定された属性（例えば、Birthdate, Gender及びZIP）の属性値の組み合わせの数をカウントする。ここでは、図２において出現頻度「１」として示すように、１２レコードのそれぞれが異なっている。指定された属性の属性値の組み合わせが同一であるレコードの数が閾値ｋ（ここでは２）以上であれば、当該レコードについての処理は匿名化が完了している。なお、以下の説明の都合上、図２においてはレコードＩＤを付与している。
【０００８】
（２）指定された属性の属性値の組み合わせが同一であるレコードの数がｋ未満であるレコードについては、指定属性のうち最も値の種類が多い属性を選択し、値を一般化する。Birthdate、Gender及びZIPの各列の下に種類数を示しているが、Birthdateの種類が１２種類で最も多い。従って、Birthdateの値を所定のルールで一般化する。例えば、９／２０／６５については１９６５年生まれということで、１９６５に一般化する。その他についても同様に一般化すると、図３に示すようなデータが得られる。なお、図３において、指定された属性の属性値の組み合わせが同一であるレコードについてはマージされている。具体的には、レコードＩＤがｔ１及びｔ２のレコードが同一になり、レコードＩＤがｔ３及びｔ４のレコードが同一になり、レコードＩＤがｔ５及びｔ６のレコードが同一になり、レコードＩＤがｔ９及びｔ１０のレコードが同一になり、レコードＩＤがｔ１１及びｔ１２のレコードが同一になっている。これらのレコードについては、出現頻度が２となっており、閾値ｋ以上であるので匿名化が完了している。
【０００９】
（３）残りのレコード数がｋ以下になるまで、他の属性についてステップ（２）を繰り返す。
【００１０】
（４）残りのレコード数がｋ以下であれば、残りのレコードを削除する。図３の例の場合には、レコードＩＤがｔ７及びｔ８のレコードについてはマージできないので、破棄する。
【００１１】
このような技術を次々に送られてくる個人情報等に対して適用するには、結局のところ実データを蓄積したデータベースを生成することになるので、プライバシの問題や漏洩のリスクなどがある。また、何度も（２）の処理を繰り返すのであれば処理コストが高いという問題もある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００２−３１２６７３号公報
【特許文献２】特開２００７−２４９９１８号公報
【非特許文献】
【００１３】
【非特許文献１】Sweeney, Achieving k-anonymity privacy protection using Genralization and suppression, International Journal on Uncertainty, Fuzziness and Knowledge-based Systems, 2002
【発明の概要】
【発明が解決しようとする課題】
【００１４】
従って、本技術の目的は、一側面においては、個人情報を含むデータセットを活用する際にプライバシ保護を図るための新規な技術を提供することである。
【課題を解決するための手段】
【００１５】
本技術に係る情報処理方法は、（Ａ）所定時間内において端末装置から受信し、データ格納部に格納されており且つ当該端末装置のユーザの個人情報を含むデータセットの数が、予め定められた閾値以上であるか判断する第１のステップと、（Ｂ）第１のステップにおいてデータセットの数が閾値以上でないと判断された場合、他の匿名化処理装置と通信することによって他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せるとデータセットの数が閾値以上となっているか判断又は確認する第２のステップと、（Ｃ）他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せるとデータセットの数が閾値以上となっていると第２のステップで判断又は確認された場合には、データ格納部に格納されているデータセットの少なくとも一部に対して第１の匿名化処理を実施する第３のステップと、（Ｄ）第１の匿名化処理後のデータセットを、複数の匿名化処理装置からのデータセットを蓄積するコンピュータに送信する第４のステップとを含む。
【発明の効果】
【００１６】
個人情報を含むデータセットを活用する際にプライバシ保護を図ることができるようになる。
【図面の簡単な説明】
【００１７】
【図１】図１は、従来技術を説明するための図である。
【図２】図２は、従来技術を説明するための図である。
【図３】図３は、従来技術を説明するための図である。
【図４】図４は、実施の形態のシステム構成例を示す図である。
【図５】図５は、端末装置の機能ブロック図である。
【図６】図６は、匿名化処理装置の機能ブロック図である。
【図７】図７は、隣接装置データ格納部に格納されているデータの一例を示す図である。
【図８】図８は、サーバの機能ブロック図である。
【図９】図９は、第１の実施の形態を説明するための模式図である。
【図１０】図１０は、第１の実施の形態を説明するための模式図である。
【図１１】図１１は、第１の実施の形態の処理を説明するための図である。
【図１２】図１２は、第１の実施の形態の処理フローを示す図である。
【図１３】図１３は、第１の実施の形態の処理フローを示す図である。
【図１４】図１４は、第１の実施の形態の処理フローを示す図である。
【図１５】図１５は、第１の実施の形態の処理フローを示す図である。
【図１６】図１６は、匿名化処理の処理フローを示す図である。
【図１７】図１７は、キャッシュに格納されているデータの一例を示す図である。
【図１８】図１８は、匿名化処理後のデータの一例を示す図である。
【図１９】図１９は、第２の実施の形態の処理フローを示す図である。
【図２０】図２０は、秘匿レベルと閾値との対応関係を表すデータの一例を示す図である。
【図２１】図２１は、第２の実施の形態の処理フローを示す図である。
【図２２】図２２は、第２の実施の形態の処理フローを示す図である。
【図２３】図２３は、第２の実施の形態の処理フローを示す図である。
【図２４】図２４は、第２の実施の形態の処理フローを示す図である。
【図２５】図２５は、第２の実施の形態の効果を説明するための図である。
【図２６】図２６は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１８】
［実施の形態１］
図４に、本技術の第１の実施の形態に係るシステムの概要を示す。本実施の形態では、無線通信機能と位置データ取得機能（例えばＧＰＳ機能）とを有する携帯電話機や自動車などに搭載されるカーナビゲーション装置などの端末装置５（図４では５ａ乃至５ｄ）から位置データ等を含むデータセットを、そのままサーバ７に送信するのではなく、サーバ７より端末装置寄りに設置された匿名化処理装置３（図４では３ａ及び３ｂ）に送信する。そして、匿名化処理装置３において以下で説明する匿名化処理を行った上でサーバ７に送信する。サーバ７では、多数のデータセットについて所定の分析処理を実施する。
【００１９】
匿名化処理装置３は、例えば端末装置５による無線通信のための基地局と一体になっているか、基地局と接続されており、近隣の匿名化処理装置３同士は、所定のルールで通信を行うようになっている。さらに、匿名化処理装置３は、インターネットその他のネットワーク１を介してサーバ７に接続されている。
【００２０】
図５に、端末装置５の機能ブロック図を示す。端末装置５は、ＧＰＳ等の位置データ取得部５１と、端末装置５のユーザの個人情報などの属性データを格納する属性データ格納部５２と、位置データ取得部５１が取得した位置データと属性データ格納部５２に格納されている少なくとも一部のデータとを含むデータセットを定期的に基地局に送信するデータ送信部５３とを有する。以下で述べる例では、送信するデータセットには、端末装置５の識別子（ＩＤ）と、緯度及び経度を含む位置データと、ユーザの年齢と、性別と、感染症の有無といったデータが含まれるものとする。
【００２１】
図６に、匿名化処理装置３の機能ブロック図を示す。匿名化処理装置３は、通信部３１と、キャッシュ３２と、キュー３３と、制御部３４と、匿名化処理部３５と、隣接装置データ格納部３６とを有する。通信部３１は、端末装置５からデータセットを受信すると共に、他の匿名化処理装置３と通信を行う。通信部３１は、他の匿名化処理装置３と通信を行うが、問い合わせメッセージの送信先は、例えば図７に示すような隣接装置データ格納部３６に格納されているデータを用いて決定する。図７の例では、装置名と装置ＩＤとが対応付けられている。
【００２２】
キャッシュ３２は、例えばΔｔ時間毎に端末装置５からのデータセットを格納する。Δｄ毎に切り替えて用いるため、キャッシュ３２は複数存在する場合もある。キュー３３は、他の匿名化処理装置３から受信したメッセージを格納するキューである。制御部３４は、キャッシュ３２に格納されているデータセットの数、又はキャッシュ３２に格納されているデータセットの数＋他の匿名化処理装置３が保持しているデータセットの数、及び他の匿名化処理装置３からのメッセージに基づき、匿名化処理装置３の制御を行う。匿名化処理部３５は、属性等に応じて値の同一化、マスク化等の匿名化処理を実施する。ハッシュ関数を有しており、属性値のハッシュ化を行う場合もある。
【００２３】
図８に、サーバ７の機能ブロック図を示す。サーバ７は、匿名化処理装置３からのデータセットを受信するデータ受信部７１と、データ受信部７１が受信したデータセットを格納するデータベース７３と、データベース７３に蓄積されているデータセットを分析して所定のサービスを実施する分析処理部７５とを有する。分析処理部７５の処理結果は、端末装置５に自動的に配信したり要求に応じて配信される場合もある。さらに、他の端末に送信される場合もある。
【００２４】
本実施の形態では、図９に模式的に示すように、匿名化処理装置３ａには、時刻Ｔ１から単位時間Δｔの間に、小さな丸で示した７つの端末装置５からデータセットが送信されて来ている。しかし、閾値としてＫ＝１０が設定されているとするとデータセットの数が不足していることになる。一方、隣接する匿名化処理装置３ｂには、時刻Ｔ１から単位時間Δｔの間に、小さな丸で示した３つの端末装置５からデータセットが送信されてきているが、同じく閾値Ｋ＝１０が設定されているとするとデータセットの数が不足していることになる。ここで、本実施の形態では、匿名化処理装置３ａ及び３ｂが通信を行って、互いのデータセット数を加算するとＫ＝１０以上のデータセットがあることが分かれば、各々がデータセットに対して所定の匿名化処理を実施した後に、サーバ７に匿名化処理後のデータセットを送信する。その際、データセットに含まれる位置データについては、図９において×印で示されるような中間地点の位置データに同一化する。また、データセットに受信時刻が含まれている場合には、例えば時刻Ｔ１に同一化する。他の属性については、同一化する場合もあれば、一部マスク化する場合もある。その他の曖昧化を行うこともある。
【００２５】
一方、図１０に示すように、匿名化処理装置３ａには、時刻Ｔ２から単位時間Δｔの間に、小さな丸で示した１０個の端末装置５からデータセットが送信されて来ており、データセット数が閾値Ｋ＝１０に達している。一方、隣接する匿名化処理装置３ｂには、時刻Ｔ２から単位時間Δｔの間に、小さな丸で示した３つの端末装置５からデータセットが送信されてきているが、データセット数は閾値Ｋ＝１０に達していない。このような場合には、所定の匿名化処理後に、サーバ７にデータセットを送信する。例えば、位置データについては匿名化処理装置３ａの位置データに同一化し、時刻データについては時刻Ｔ２に同一化し、他の属性については同一化する場合もあれば一部マスク化する場合もある。その他の曖昧化を行う場合もある。匿名化処理装置３ｂは、他の匿名化処理装置３と通信を行ってデータセット数が閾値Ｋ＝１０に達しない場合には、３つの端末装置５からデータセットを破棄する。
【００２６】
図９を用いて説明した処理についてより詳細に図１１を用いて説明する。例えば、匿名化処理装置３ａは、ＩＤ＝１０であり、位置がＰａであり、開始時刻ｔ１から単位時間Δｔの間に５つのデータセット（Ｎ＝５）を端末装置５から受信したものとする。また、匿名化処理装置３ｂは、ＩＤ＝８であり、位置がＰｂであり、単位時間Δｔの間に３つのデータセット（Ｎ＝３）を端末装置５から受信したものとする。匿名化処理装置３ｃは、ＩＤ＝１８であり、位置がＰｃであり、単位時間Δｔの間に７つのデータセット（Ｎ＝７）を端末装置５から受信したものとすると。匿名化処理装置３ｄは、ＩＤ＝６であり、位置がＰｄであり、単位時間Δｔの間に６つのデータセット（Ｎ＝６）を端末装置５から受信したものとする。
【００２７】
閾値Ｋ＝１０であるとすると、いずれの匿名化処理装置３も受信したデータセットの数Ｎは閾値Ｋ＝１０に達していない。そこで、匿名化処理装置３ａに着目すると、匿名化処理装置３ａのＩＤ＝１０より小さいＩＤを有する匿名化処理装置３ｂ及び３ｄには、問い合わせメッセージｑ（Ｔ，Ｐ，Ｎ）（具体的にはｑ（ｔ１，Ｐａ，５））を送信する。Ｔは開始時刻を表し、Ｐは位置を表し、Ｎはデータセット数を表す。また、匿名化処理装置３ｃも、問い合わせメッセージｑ（ｔ１，Ｐｃ，７）を匿名化処理装置３ａ（並びに３ｂ、３ｄ及び３ｅ）に送信し、匿名化処理装置３ｅも、問い合わせメッセージｑ（ｔ１，Ｐｅ，２）を匿名化処理装置３ａ（並びに３ｂ及び３ｄ）に送信する。
【００２８】
なお、自ＩＤよりも小さいＩＤを有する匿名化処理装置にのみ問い合わせメッセージを送信するのは、問い合わせメッセージ及び条件充足の可能性を表す応答メッセージの送り合い（メッセージのループ）といったようなことを回避するためである。
【００２９】
例えば、匿名化処理装置３ａが問い合わせメッセージｑ（ｔ１，Ｐｃ，７）を匿名化処理装置３ｃから最初に受信したとすると、データセット数Ｎ＝７の問い合わせメッセージであるから、自分が有しているデータセットの数Ｎ＝５と併せると閾値Ｋ＝１０を超える。従って、条件充足の可能性を表す応答メッセージｙｅｓ（ｔ１，Ｐａ）を、匿名化処理装置３ｃに返信する。これに対して、他の匿名化処理装置３から問い合わせメッセージも条件充足の可能性を表す応答メッセージも受信していないので、匿名化処理装置３ｃは、匿名化処理装置３ａに了承メッセージｏｋ（ｔ１，Ｐｃ）を返信して、図９を用いて説明したように、各々保持するデータセットを匿名化した後にサーバ７に送信する。
【００３０】
一方、匿名化処理装置３ｄは、匿名化処理装置３ａから問い合わせメッセージｑ（ｔ１，Ｐａ，５）を受信すると、条件充足の可能性を表す応答メッセージｙｅｓ（ｔ１，Ｐｄ）を匿名化処理装置３ａに返信する。しかしながら、既に匿名化処理装置３ｃに条件充足の可能性を表す応答メッセージｙｅｓ（ｔ１，Ｐａ）を返信してしまっている匿名化処理装置３ａは、匿名化処理装置３ｄに対して拒否メッセージｎｇ（ｔ１，Ｐａ）を送信する。
【００３１】
なお、匿名化処理装置３ａは、匿名化処理装置３ｅからの問い合わせメッセージについては無視することになり、匿名化処理装置３ｂは匿名化処理装置３ａからの問い合わせメッセージについては無視することになる。従って、匿名化処理装置３ｂ、３ｄ及び３ｅはデータセットを破棄することになる。
【００３２】
図１１で説明した処理について詳細に図１２乃至図１８を用いて説明する。匿名化処理装置３の通信部３１は、キャッシュ３２に、開始時刻Ｔから１単位時間Δｔ間、受信したデータセットを格納する（図１２：ステップＳ１）。また、制御部３４は、キュー３３を初期化する（ステップＳ３）。そして、制御部３４は、キャッシュ３２に格納されているデータセットの数を計数して、Ｎにキャッシュ３２中のデータセット数を設定する（ステップＳ５）。そして、制御部３４は、Ｎが予め設定されている閾値Ｋ以上となったか判断する（ステップＳ７）。Ｎ≧Ｋであれば、端子Ａを介して図１５のステップＳ４１に移行する。他の匿名化処理装置３と通信を行うことなく、データセットに対して匿名化処理を実施した後にサーバ７に匿名化処理後のデータセットを送信する。
【００３３】
一方、ＮがＫ未満であれば、制御部３４は、通信部３１に、隣接匿名化処理装置３のうちＩＤが自ＩＤよりも小さいものを特定して、問い合わせメッセージｑ（Ｔ，Ｐ，Ｎ）を送信させる（ステップＳ９）。Ｔは、例えば単位時間の計測開始時刻であるが、単位時間の計測終了時刻であってもよい。Ｐは、匿名化処理装置３の位置であり、Ｎはデータセット数である。なお、上でも述べたように、通信部３１は、隣接装置データ格納部３６に格納されているデータから、問い合わせメッセージを送信すべき匿名化処理装置３を特定する。自ＩＤより小さいＩＤが隣接装置データ格納部３６に格納されていない場合には、問い合わせメッセージを送信しない場合もある。なお、制御部３４は、例えばこのタイミングで所定のタイムアウト時間の計測を開始する。このタイミング以降、通信部３１は、他の匿名化処理装置３からメッセージを受信すると、キュー３３に格納する。
【００３４】
そして、制御部３４は、タイムアウト時間を経過してタイムアウトになったか判断する（ステップＳ１１）。タイムアウトになった場合には、端子Ｂを介して図１５のステップＳ４９に移行する。一方、タイムアウトになっていない場合には、制御部３４は、ＯＫ待ち状態であるか判断する（ステップＳ１３）。ＯＫ待ち状態は、他の匿名化処理装置３から、了解メッセージを待機する状態であり、ＯＫ待ちフラグがＹｅｓにセットされている状態である。ＯＫ待ち状態であれば、端子Ｃを介して図１４のステップＳ２７に移行する。
【００３５】
一方、ＯＫ待ち状態でなければ、制御部３４は、キュー３３の先頭から受信メッセージを読み出してＱに設定する（ステップＳ１５）。そして、処理は端子Ｄを介して図１３の処理に移行する。
【００３６】
図１３の処理の説明に移行して、制御部３４は、Ｑに問い合わせメッセージｑ（Ｔ，Ｐ１，Ｎ１）（問い合わせメッセージｑには、送信元匿名化処理装置３のＩＤ等を含むものとする）が設定されているか判断する（ステップＳ１７）。図１１でも匿名化処理装置３ｃが匿名化処理装置３ａへ問い合わせメッセージｑ（ｔ１，Ｐｃ，７）を送ってきているので、このような状況に該当するか判断している。Ｑに問い合わせメッセージｑ（Ｔ，Ｐ１，Ｎ１）が設定される場合には、制御部３４は、（Ｎ＋Ｎ１）がＫ以上となっているか判断する（ステップＳ１９）。本実施の形態では、処理を簡単にするために、２つの匿名化処理装置３において保持するデータセットの数が閾値Ｋ以上となった場合にのみ、その２つの匿名化処理装置３からデータセットをサーバ７に送信するものとしている。但し、一般的には３以上の匿名化処理装置３であってもよい。（Ｎ＋Ｎ１）がＫ未満である場合には、端子Ｅを介して図１２のステップＳ１１に戻る。
【００３７】
一方、（Ｎ＋Ｎ１）がＫ以上である場合には、制御部３４は、通信部３１に、この問い合わせメッセージの送信元匿名化処理装置３宛に、条件充足の可能性を表す応答メッセージｙｅｓ（Ｔ，Ｐ）（Ｐは自匿名化処理装置３の位置データ）を返信させる（ステップＳ２１）。そして、制御部３４は、ＯＫ待ちフラグをＹｅｓに設定して、ＯＫ待ち状態に遷移させる（ステップＳ２３）。そして処理は端子Ｅを介して図１２のステップＳ１１に戻る。
【００３８】
これに対してＱに問い合わせメッセージｑ（Ｔ，Ｐ１，Ｎ１）ではなく条件充足の可能性を表す応答メッセージｙｅｓ（Ｔ，Ｐ１）（応答メッセージには送信元匿名化処理装置３のＩＤが含まれるものとする）が設定されている場合には、制御部３４は、通信部３１に、応答メッセージの送信元匿名化処理装置３宛に、了承メッセージｏｋ（Ｔ，Ｐ）を返信させる（ステップＳ２５）。そして端子Ｆを介して図１４のステップＳ３１に移行する。この状況においては、応答メッセージｙｅｓ（Ｔ，Ｐ１）の送信元匿名化処理装置３が（Ｎ＋Ｎ２）≧Ｋであることを判断しており、了承メッセージｏｋ（Ｔ，Ｐ）を送信した匿名化処理装置３は直接は判断していない。しかし、応答メッセージｙｅｓ（Ｔ，Ｐ１）は、（Ｎ＋Ｎ２）≧Ｋである状況を通知しているので、この応答メッセージにて（Ｎ＋Ｎ２）≧Ｋを判断又は確認していると言える。
【００３９】
なお、図１１の例では、匿名化処理装置３ｄから匿名化処理装置３ａへ応答メッセージｙｅｓ（ｔ１，Ｐｄ）が送信されているが、その前に匿名化処理装置３ａは、ステップＳ２３でＯＫ待ち状態に遷移しているので、ステップＳ２５の処理は行われない。
【００４０】
次に、端子Ｃ以降の処理について図１４を用いて説明する。すなわち、ＯＫ待ち状態である場合、制御部３４は、キュー３３の先頭から受信メッセージを読み出してＱに設定する（ステップＳ２７）。そして、制御部３４は、Ｑに、了解メッセージｏｋ（Ｔ，Ｐ１）が設定されているか判断する（ステップＳ２９）。Ｔ及びＰ１は、問い合わせメッセージにおけるＴ及びＰ１と同じでなければならない。Ｑに了解メッセージｏｋ（Ｔ，Ｐ１）が設定されていた場合、図１１で匿名化処理装置３ｃから匿名化処理装置３ａが了解メッセージｏｋ（ｔ１，Ｐｃ）を受信したケースに該当する。これによって、ｏｋ（Ｔ，Ｐ１）の送信元匿名化処理装置３のデータセットの数Ｎ１と自匿名化処理装置３のデータセットの数Ｎの和がＫ以上であって、これらの匿名化処理装置３のデータセットを同一位置で収集したものとして取り扱う。
【００４１】
そうすると、制御部３４は、匿名化処理部３５に位置データＰ１を出力して、キャッシュ３２におけるデータセットの位置データを（Ｐ＋Ｐ１）／２に置換して匿名化させる（ステップＳ３１）。図９を用いて説明したような処理を行う。そして端子Ｇを介して図１５のステップＳ４３に移行する。
【００４２】
一方、Ｑに了解メッセージｏｋ（Ｔ，Ｐ１）が設定されていない場合には、制御部３４は、Ｑに、条件充足の可能性を表す応答メッセージｙｅｓ（Ｔ，Ｐ２）（Ｐ２はＰ１とは異なる匿名化処理装置３からの応答メッセージであることを表している）が設定されているか判断する（ステップＳ３３）。これは、図１１において、匿名化処理装置３ｄが匿名化処理装置３ａに応答メッセージｙｅｓ（ｔ１，Ｐｄ）を送信したケースに該当する。Ｑに応答メッセージｙｅｓ（Ｔ，Ｐ２）が設定されている場合には、制御部３４は、通信部３１に、応答メッセージの送信元匿名化処理装置３宛に、拒否メッセージｎｇ（Ｔ，Ｐ）を送信させる（ステップＳ３５）。これは、図１１において、匿名化処理装置３ａが匿名化処理装置３ｄに拒否メッセージｎｇ（ｔ１，Ｐａ）を送信したケースに該当する。そして処理は端子Ｅを介して図１２のステップＳ１１に戻る。
【００４３】
一方、Ｑに応答メッセージｙｅｓ（Ｔ，Ｐ２）が設定されていない場合、制御部３４は、Ｑに拒否メッセージｎｇ（Ｔ，Ｐ１）が設定されているか判断する（ステップＳ３７）。Ｑに、ステップＳ２９、Ｓ３３及びＳ３７で判断されているメッセージ以外のメッセージが設定されている場合には端子Ｅを介して図１２のステップＳ１１に戻る。
【００４４】
一方、Ｑに拒否メッセージｎｇ（Ｔ，Ｐ１）（応答メッセージ（Ｔ，Ｐ）の送信先の匿名化処理装置３からの拒否メッセージ）が設定されている場合には、制御部３４は、ＯＫ待ちフラグにＮＯを設定して、ＯＫ待ち状態から通常状態に戻す（ステップＳ３９）。そして、端子Ｅを介して図１２のステップＳ１１に戻る。
【００４５】
次に、端子Ａ以降の処理について図１５を用いて説明する。なお、端子Ｆ及び端子Ｂ以降の処理も同時に説明する。
【００４６】
端子Ａ後、すなわち自匿名化処理装置３におけるデータセットの数ＮがＫ以上である場合には、制御部３４は、匿名化処理部３５に対して、キャッシュ３２におけるデータセットの位置データを自匿名化処理装置３の位置Ｐで同一化することで匿名化させる（ステップＳ４１）。さらに、制御部３４は、匿名化処理部３５に対して、キャッシュ３２におけるデータセットの他の属性についての匿名化を実施させる（ステップＳ４３）。受信時刻については計測開始時刻Ｔに同一化し、ＩＤについてはハッシュ関数ＨによってＨ（ＩＤ）に変換し、他属性の匿名化については、例えば以下に示すような処理を各属性について実施する。
【００４７】
具体的には、匿名化処理部３５は、キャッシュ３２中のデータセットにおける属性値分布を算出する（図１６：ステップＳ５１）。例えば、属性値の出現頻度を計数する。そして、匿名化処理部３５は、特異値があるか判断する（ステップＳ５３）。特異値とは、例えばデータセット数に対して出現頻度が非常に小さい属性値であり、予め定められた閾値未満しか出現しない属性値である。特異値が存在する場合には、匿名化処理部３５は、特異値をＮＵＬＬに置換することで一部マスク化する（ステップＳ５５）。そしてステップＳ５７に移行する。
【００４８】
一方、特異値が存在しない場合又はステップＳ５５の後に、匿名化処理部３５は、属性値が全て同一値であるか判断する（ステップＳ５７）。属性値が全て同一値である場合には、匿名化処理部３５は、ランダムにＮＵＬＬに置換することで一部マスク化する（ステップＳ５９）。そして呼び出し元の処理に戻る。一方、属性値が全て同一値ではない場合にも、呼び出し元の処理に戻る。
【００４９】
以上のような処理を実施することで、同じ時空間にいるユーザの属性値が全て同一の場合や、一人だけ特異な属性値を有するユーザがいる場合など、個人を特定する手がかりとなりそうな情報を隠すことができる。なお、分析したい内容や以下で述べるプライバシのレベルに応じて、特異値除去のみ行ったり、同一値除去のみ行ったり、場合によっては属性値の匿名化処理を行わない場合もある。
【００５０】
例えば図１７に示すようなデータセットがキャッシュ３２に格納されている場合を考える。ＩＤは、送信元の端末装置５のＩＤであり、日時はデータセットの受信時刻であり、緯度及び経度は、送信元の端末装置５の位置データであり、年齢、性別及び感染症の有無（Ｙ／Ｎ）は、端末装置５のユーザの属性データである。
【００５１】
本実施の形態における匿名化処理部３５は、図１８に示すように、ＩＤについてはハッシュ関数Ｈによって変換し、日時については計測開始時刻によって同一化し、位置データ（緯度及び経度）については匿名化処理装置３の位置データ又は匿名化処理装置３の中間点の位置データで同一化する。さらに、匿名化処理部３５は、性別については全て同一値であるのでランダムにＮＵＬＬを設定して一部マスク化する。さらに、感染症の有無については、「Ｙ」という特異値が存在するので、特異値をＮＵＬＬを設定して一部マスク化する。
【００５２】
図１５の説明に戻って、制御部３４は、通信部３１に対して、キャッシュ３２に格納されている匿名化処理後のデータセットをサーバ７に送信させる（ステップＳ４５）。そして、処理終了でなければ（ステップＳ４７：Ｎｏルート）、制御部３４は、キャッシュ３２をクリアし、時刻ＴをＴ＋Δｔで更新する（ステップＳ４９）。そして、端子Ｈを介して図１２のステップＳ１に戻る。一方、処理終了であれば（ステップＳ４７：Ｙｅｓルート）、処理を終了する。
【００５３】
このような処理を実施することで、サーバ７には各ユーザの正確な位置は通知されず、少なくてもＫ個以上のデータセットは同一位置で収集されたことになる。従って、位置についてもプライバシ保護が図られている。さらに、隣接する匿名化処理装置３にも各ユーザの正確な位置は通知されないので、ここでも局所的にもプライバシ保護が図られている。また、匿名化処理装置３で匿名化処理が実施されているので、サーバ７では匿名化処理を行わないで済むため、サーバ７の処理負荷を下げることができる。
【００５４】
［実施の形態２］
第１の実施の形態では、どの端末装置５からのデータセットについても同じように処理していた。しかし、端末装置５のユーザによっては、自分の属性データを含むデータセットについては秘匿レベルを高くしたいという場合もあれば、特に気にせずデータセットを可能な限りサーバに送信したいという場合もある。
【００５５】
本実施の形態では、ユーザが端末装置５のデータ送信部５３に対して予め秘匿レベルを設定するものとする。具体的には、秘匿レベルＬ＝３は、閾値Ｋ＝５０に対応し、５０のデータセットがそろった場合にサーバに送信し、秘匿レベルＬ＝２は、閾値Ｋ＝１０に対応し、１０のデータセットがそろった場合にサーバに送信し、秘匿レベルＬ＝１は、閾値Ｋ＝１に対応し、必ずデータセットをサーバに送信する場合を想定する。なお、これは一例であって、レベル数を増減させ、閾値Ｋを他の値に変更することも可能である。
【００５６】
このような秘匿レベルをユーザが設定する場合においても、基本的なシステムの構成及び各装置の構成については第１の実施の形態と同様であり、その機能が一部変更になるだけである。よって、第２の実施の形態においては、システム、端末装置５の構成、匿名化処理装置３の構成、サーバ７の構成についての説明を省略する。
【００５７】
次に、図１９乃至図２４を用いて、本実施の形態における処理フローを説明する。
【００５８】
匿名化処理装置３の通信部３１は、キャッシュ３２に、計測開始時刻Ｔから１単位時間Δｔ間、受信したデータセットを格納する（図１９：ステップＳ１０１）。また、制御部３４は、キュー３３を初期化する（ステップＳ１０３）。さらに、制御部３４は、キャッシュ３２中のデータセットにおける最上位の秘匿レベルＬを特定する（ステップＳ１０５）。
【００５９】
また、制御部３４は、キャッシュ３２に格納されているデータセットの数を計数して、Ｎにキャッシュ３２中のデータセット数を設定する（ステップＳ１０７）。さらに、制御部３４は、ステップＳ１０５で特定された秘匿レベルＬに対応する閾値をＫに設定する（ステップＳ１０９）。例えば、図２０に示すようなテーブルを保持しておき、秘匿レベルに対応付けて閾値の数値が登録されている。
【００６０】
そして、制御部３４は、ＮがＫ以上となったか判断する（ステップＳ１１１）。Ｎ≧Ｋであれば、端子Ｊを介して図２４のステップＳ１５５に移行する。他の匿名化処理装置３と通信を行うことなく、データセットに対して匿名化処理を実施した後にサーバ７に匿名化処理後のデータセットを送信する。
【００６１】
一方、ＮがＫ未満であれば、制御部３４は、通信部３１に、隣接匿名化処理装置３のうちＩＤが自ＩＤよりも小さいものを特定して、問い合わせメッセージｑ（Ｔ，Ｐ，Ｎ，Ｌ）を送信させる（ステップＳ１１３）。Ｔは、例えば単位時間の計測開始時刻であるが、単位時間の計測終了時刻であってもよい。Ｐは、匿名化処理装置３の位置であり、Ｎはデータセット数であり、Ｌは秘匿レベルである。なお、通信部３１は、隣接装置データ格納部３６に格納されているデータから、問い合わせメッセージを送信すべき匿名化処理装置３を特定する。自ＩＤより小さいＩＤが隣接装置データ格納部３６に格納されていない場合には、問い合わせメッセージを送信しない場合もある。なお、制御部３４は、例えばこのタイミングで所定のタイムアウト時間の計測を開始する。このタイミング以降、通信部３１は、他の匿名化処理装置３からメッセージを受信すると、キュー３３に格納する。
【００６２】
そして、制御部３４は、タイムアウト時間を経過してタイムアウトになったか判断する（ステップＳ１１５）。タイムアウトになった場合には、端子Ｋを介して図２３のステップＳ１４７に移行する。本実施の形態では、最大秘匿レベルの数だけループを繰り返すことになるので、第１の実施の形態よりも１回分のタイムアウト時間の長さは短くなる。
【００６３】
一方、タイムアウトになっていない場合には、制御部３４は、ＯＫ待ち状態であるか判断する（ステップＳ１１７）。ＯＫ待ち状態は、他の匿名化処理装置３から、了解メッセージを待機する状態であり、ＯＫ待ちフラグがＹｅｓにセットされている。ＯＫ待ち状態であれば、端子Ｌを介して図２２のステップＳ１３３に移行する。一方、ＯＫ待ち状態でなければ、端子Ｍを介して図２１の処理に移行する。
【００６４】
図２１の処理の説明に移行して、制御部３４は、キュー３３の先頭から受信メッセージを読み出してＱに設定する（ステップＳ１１９）。そして、制御部３４は、Ｑに問い合わせメッセージｑ（Ｔ，Ｐ１，Ｎ１，Ｌ１）（問い合わせメッセージｑには、送信元匿名化処理装置３のＩＤを含む）が設定されているか判断する（ステップＳ１２１）。
【００６５】
Ｑに問い合わせメッセージｑ（Ｔ，Ｐ１，Ｎ１，Ｌ１）が設定される場合には、制御部３４は、自匿名化処理装置３のＬが問い合わせメッセージに含まれるＬ１以上であるか判断する（ステップＳ１２３）。自匿名化処理装置３のＬがＬ１未満である場合には、問い合わせメッセージの送信元匿名化処理装置３には、より高い秘匿レベルを要求しているデータセットが存在しているため、自匿名化処理装置３における秘匿レベルＬを基準に処理すると、プライバシ保護の観点から問題が生ずるためである。Ｌ≧Ｌ１という条件を満たさない場合には、端子Ｎを介して図１９のステップＳ１１５に戻る。
【００６６】
一方、Ｌ≧Ｌ１という条件を満たす場合には、制御部３４は、（Ｎ＋Ｎ１）がＫ以上となっているか判断する（ステップＳ１２５）。本実施の形態でも、処理を簡単にするために、２つの匿名化処理装置３において保持するデータセットの数が閾値Ｋ以上となった場合にのみ、その２つの匿名化処理装置３からデータセットをサーバ７に送信するものとしている。但し、一般的には３以上の匿名化処理装置３であってもよい。（Ｎ＋Ｎ１）がＫ未満である場合には、端子Ｎを介して図１９のステップＳ１１５に戻る。
【００６７】
一方、（Ｎ＋Ｎ１）がＫ以上である場合には、制御部３４は、通信部３１に、この問い合わせメッセージの送信元匿名化処理装置３宛に、条件充足の可能性を表す応答メッセージｙｅｓ（Ｔ，Ｐ）（Ｐは自匿名化処理装置３の位置データ）を返信させる（ステップＳ１２７）。そして、制御部３４は、ＯＫ待ちフラグをＹｅｓに設定して、ＯＫ待ち状態に遷移させる（ステップＳ１２９）。そして処理は端子Ｎを介して図１９のステップＳ１１５に戻る。
【００６８】
これに対してＱに問い合わせメッセージｑ（Ｔ，Ｐ１，Ｎ１，Ｌ１）ではなく条件充足の可能性を表す応答メッセージｙｅｓ（Ｔ，Ｐ１）（応答メッセージには送信元匿名化処理装置３のＩＤが含まれる）が設定されている場合には、制御部３４は、通信部３１に、応答メッセージの送信元匿名化処理装置３宛に、了承メッセージｏｋ（Ｔ，Ｐ）を返信させる（ステップＳ１３１）。そして端子Ｒを介して図２２のステップＳ１３７に移行する。この状況においては、応答メッセージｙｅｓ（Ｔ，Ｐ１）の送信元匿名化処理装置３が（Ｎ＋Ｎ２）≧Ｋであることを判断しており、了承メッセージｏｋ（Ｔ，Ｐ）を送信した匿名化処理装置３は直接は判断していない。しかし、応答メッセージｙｅｓ（Ｔ，Ｐ１）は、（Ｎ＋Ｎ２）≧Ｋである状況を通知しているので、この応答メッセージにて（Ｎ＋Ｎ２）≧Ｋを判断又は確認しているとも言える。
【００６９】
次に、端子Ｌ以降の処理について図２２を用いて説明する。すなわち、ＯＫ待ち状態である場合、制御部３４は、キュー３３の先頭から受信メッセージを読み出してＱに設定する（ステップＳ１３３）。そして、制御部３４は、Ｑに、了解メッセージｏｋ（Ｔ，Ｐ１）が設定されているか判断する（ステップＳ１３５）。Ｔ及びＰ１は、問い合わせメッセージにおけるＴ及びＰ１と同じでなければならない。これによって、ｏｋ（Ｔ，Ｐ１）の送信元匿名化処理装置３のデータセットの数Ｎ１と自匿名化処理装置３のデータセットの数Ｎの合計が現在の閾値Ｋ以上であって、これらの匿名化処理装置３のデータセットを同一位置で収集したものとして取り扱う。
【００７０】
そうすると、制御部３４は、匿名化処理部３５に位置データＰ１を出力して、キャッシュ３２におけるデータセットの位置データを（Ｐ＋Ｐ１）／２で置換することで匿名化させる（ステップＳ１３７）。図９を用いて説明したような処理を行う。そして端子Ｓを介して図２４のステップＳ１５７に移行する。
【００７１】
一方、Ｑに了解メッセージｏｋ（Ｔ，Ｐ１）が設定されていない場合には、制御部３４は、Ｑに、条件充足の可能性を表す応答メッセージｙｅｓ（Ｔ，Ｐ２）（Ｐ２はＰ１とは異なる匿名化処理装置３からの応答メッセージであることを表している）が設定されているか判断する（ステップＳ１３９）。Ｑに応答メッセージｙｅｓ（Ｔ，Ｐ２）が設定されている場合には、制御部３４は、通信部３１に、応答メッセージの送信元匿名化処理装置３宛に、拒否メッセージｎｇ（Ｔ，Ｐ）を送信させる（ステップＳ１４１）。そして処理は端子Ｎを介して図１９のステップＳ１１５に戻る。
【００７２】
一方、Ｑに応答メッセージｙｅｓ（Ｔ，Ｐ２）が設定されていない場合、制御部３４は、Ｑに拒否メッセージｎｇ（Ｔ，Ｐ１）が設定されているか判断する（ステップＳ１４３）。Ｑに、ステップＳ１３５、Ｓ１３９及びＳ１４３で判断されているメッセージ以外のメッセージが設定されている場合には端子Ｎを介して図１９のステップＳ１１５に戻る。
【００７３】
一方、Ｑに拒否メッセージｎｇ（Ｔ，Ｐ１）（応答メッセージ（Ｔ，Ｐ）の送信先の匿名化処理装置３からの拒否メッセージ）が設定されている場合には、制御部３４は、ＯＫ待ちフラグにＮＯを設定して、ＯＫ待ち状態から通常状態に戻す（ステップＳ１４５）。そして、端子Ｎを介して図１９のステップＳ１１５に戻る。
【００７４】
次に、端子Ｋ以降の処理、すなわちタイムアウトが発生した場合の処理について図２３を用いて説明する。タイムアウトが発生した場合には、現在の秘匿レベルＬが高くて、対応する閾値Ｋ以上のデータセットを集められないということであるから、制御部３４は、秘匿レベルＬ以上のデータセットをキャッシュ３２から削除する（ステップＳ１４７）。これによって秘匿レベルの高いデータセットのプライバシ保護が図られる。その後、制御部３４は、キャッシュ３２にデータセットが残っているのか判断する（ステップＳ１４９）。キャッシュ３２にデータセットが残っていない場合には、端子Ｗを介して図２４のステップＳ１６３に移行する。
【００７５】
一方、キャッシュ３２にデータセットが残っている場合には、制御部３４は、キャッシュ３２中のデータセットにおける最上位の秘匿レベルを秘匿レベルＬに設定する（ステップＳ１５１）。そして、制御部３は、Ｌが１であるか判断する（ステップＳ１５３）。Ｌが１であれば端子Ｊを介して図２４の処理に移行する。一方、Ｌが２以上であれば端子Ｖを介して図１９のステップＳ１０７に戻る。
【００７６】
本実施の形態ではＬが１の場合対応する閾値が１であるため、端子Ｊを介して図２４の処理に移行して、キャッシュ３２に格納されているデータセットをサーバ７に送信する。しかし、一般的にはＬが１であっても閾値が２以上であることもあるので、そのような場合には端子Ｖを介して図１９のステップＳ１０７に戻る。
【００７７】
次に、端子Ｊ以降の処理について図２４を説明する。なお、端子Ｓ及び端子Ｗ以降の処理も同時に説明する。
【００７８】
端子Ｊ後、すなわち自匿名化処理装置３におけるデータセットの数ＮがＫ以上である場合には、制御部３４は、匿名化処理部３５に対して、キャッシュ３２におけるデータセットの位置データを自匿名化処理装置３の位置Ｐで同一化することで匿名化させる（ステップＳ１５５）。さらに、制御部３４は、匿名化処理部３５に対して、キャッシュ３２におけるデータセットの他の属性についての匿名化を実施させる（ステップＳ１５７）。受信時刻については計測開始時刻Ｔに同一化し、ＩＤについてはハッシュ関数ＨによってＨ（ＩＤ）に変換し、他属性の匿名化については、例えば図１６に示すような処理を各属性について実施する。
【００７９】
その後、制御部３４は、通信部３１に対して、キャッシュ３２に格納されている匿名化処理後のデータセットをサーバ７に送信させる（ステップＳ１５９）。そして、処理終了でなければ（ステップＳ１６１：Ｎｏルート）、制御部３４は、キャッシュ３２をクリアし、時刻ＴをＴ＋Δｔで更新する（ステップＳ１６３）。そして、端子Ｔを介して図１９のステップＳ１０１に戻る。一方、処理終了であれば（ステップＳ１６１：Ｙｅｓルート）、処理を終了する。
【００８０】
このような処理を実施することで秘匿レベルに応じたデータセットの送信が行われる。例えば図２５に示すように、エリアＡのような大通りでは多数のユーザがデータセットを秘匿化処理装置３に送信するので、秘匿レベルＬ＝３であってもサーバ７にデータセットが送信される。一方、エリアＢのような大通りから少し入ったところでは、秘匿レベルＬ＝３に設定されているデータセットについては送信されず、秘匿レベルＬ＝２以下のデータセットであれば、サーバ７に送信される。さらに、自宅前の人通りの少ない通りでは、秘匿レベルＬ＝３及びＬ＝２に設定されているデータセットについては送信されず、秘匿レベルＬ＝１のデータセットであれば、サーバ７に送信される。
【００８１】
本実施の形態によれば、第１の実施の形態の効果に加え、ユーザが指定する秘匿レベルに応じて各ユーザのデータセットのサーバへの送信を制御することができるようになる。
【００８２】
なお、タイムアウト時間は秘匿レベルに応じて変更するようにしても良い。
【００８３】
以上本技術の実施の形態について説明したが、本技術はこれに限定されるものではない。例えば、図５、図６及び図８で示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。処理フローにおいても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実行するようにしても良い。
【００８４】
なお、匿名化処理装置３は、必ずしも基地局と１対１の関係にあるわけではない。例えば、複数台の基地局に対して１台の匿名化処理装置３が設けられる場合もある。また、多数のデータセットを受信する基地局の場合には、１台の基地局に対して複数台の匿名化処理装置３で並列処理してもよい。
【００８５】
なお、上で述べた例では、２つの匿名化処理装置３の中間地点で位置データを置換するような例を示したが、２つの匿名化処理装置３の周辺であれば大きな問題は無い。また、２つの匿名化処理装置３の間をつなぐ線分を、保持するデータセット数の比で内分するような点を位置データとするような変形であっても良い。
【００８６】
さらに、上で述べた例では位置データが端末装置５から送られてくる例を示したが、上で述べた処理で示したように位置データは匿名化処理装置３の位置データで置換されてしまう。従って、位置データが端末装置５から送られてこない場合にも、上で述べた処理は有効である。すなわち、位置データが端末装置５から送られてこなくても、匿名化処理装置３により、上で述べた処理で決定されている位置データを付加してから送信すればよい。
【００８７】
なお、上で述べた匿名化処理装置３及びサーバ７は、コンピュータ装置であって、図２６に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８８】
また、端末装置５については、ＨＤＤ２５０５の代わりにフラッシュメモリを有しており、通信制御部２５１７が無線通信を行うようになっている。なお、匿名化処理装置３についても、端末装置５と同様にＨＤＤ２５０５の代わりにフラッシュメモリを用いるような場合もある。
【００８９】
以上述べた本実施の形態をまとめると、以下のようになる。
【００９０】
本実施の形態に係る情報処理方法は、（Ａ）所定時間内において端末装置から受信し、データ格納部に格納されており且つ当該端末装置のユーザの個人情報を含むデータセットの数が、予め定められた閾値以上であるか判断する第１の処理と、（Ｂ）第１の処理においてデータセットの数が閾値以上でないと判断された場合、他の匿名化処理装置と通信することによって他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せるとデータセットの数が閾値以上となっているか判断又は確認する第２の処理と、（Ｃ）他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せるとデータセットの数が閾値以上となっていると第２の処理で判断又は確認された場合には、データ格納部に格納されているデータセットの少なくとも一部に対して第１の匿名化処理を実施する第３の処理と、（Ｄ）第１の匿名化処理後のデータセットを、複数の匿名化処理装置からのデータセットを蓄積するコンピュータに送信する第４の処理とを含む。
【００９１】
このような処理を実施することで、コンピュータにはデータセットそのものを送信しないのでプライバシ保護が図られている。さらに、コンピュータにおいて匿名化処理を実施しなくても済むようになる。また、１つの匿名化処理装置ではデータセットが不足する場合でも、複数の匿名化処理装置でデータセット数の条件を充足する場合にはコンピュータにデータセットが送られるようになるので、データセットの有効活用がなされる。
【００９２】
なお、本実施の形態に係る情報処理方法は、（Ｅ）第１の処理においてデータセットの数が閾値以上であると判断された場合、データ格納部に格納されているデータセットの少なくとも一部に対して第２の匿名化処理を実施する第５の処理と、（Ｆ）第２の匿名化処理後のデータセットを、コンピュータに送信する第６の処理とをさらに含むようにしても良い。データセット数が閾値以上であれば、プライバシ保護を図ることが容易になる。
【００９３】
また、本実施の形態に係る情報処理方法は、（Ｇ）他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せるとデータセットの数が閾値以上とならないと第２の処理で判断又は確認された場合、データ格納部に格納されているデータセットを破棄する第７の処理をさらに含むようにしても良い。プライバシ保護を確実にするためである。
【００９４】
さらに、上で述べた第４の処理において、匿名化処理装置の位置と他の匿名化処理装置の少なくともいずれかの位置とから算出される位置のデータを含むデータセットが送信されるようにしてもよい。例えば端末装置から位置データが送信されてこない場合でも、コンピュータ側では、プライバシ保護の観点で保護された位置データを利用できるようになる。
【００９５】
また、上で述べたデータセットに位置データが含まれる場合、第１の匿名化処理が、位置データを、匿名化処理装置の位置と他の匿名化処理装置の少なくともいずれかの位置とから算出される位置のデータに置換する処理を含むようにしても良い。
【００９６】
さらに、上で述べた第６の処理において、匿名化処理装置の位置を含むデータセットが送信されるようにしても良い。例えば端末装置から位置データが送信されてこない場合でも、コンピュータ側では、プライバシの観点で保護された位置データを利用できるようになる。
【００９７】
さらに、上で述べたデータセットに位置データが含まれる場合、第２の匿名化処理が、位置データを、匿名化処理装置の位置に置換する処理を含むようにしても良い。
【００９８】
また、上で述べた第２の処理が、（ｂ１）予め登録された他の匿名化処理装置のうち自匿名化処理装置の識別子よりも小さい識別子を有する匿名化処理装置に対して、データ格納部に格納されているデータセットの数を含む問い合わせメッセージを送信し、（ｂ２）他の匿名化処理装置のいずれかである第２の匿名化処理装置からの問い合わせメッセージを受信して、当該問い合わせメッセージに含まれるデータセットの数とデータ格納部に格納されているデータセットの数とを加算すると閾値以上となっている場合には、条件充足の可能性を表すメッセージを返信し、第２の匿名化処理装置から了承メッセージを受信するとデータセットの数が閾値以上であると判断するようにしても良い。このようなプロトコルで通信を行うことで、データセット数が閾値以上であることを判断又は確認することができる。
【００９９】
さらに、データセットには当該データセットの秘匿レベルが付加されている場合もある。このような場合、上で述べた第１の処理が、データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルである第１の秘匿レベルに対応する閾値を特定する処理を含むようにしてもよい。そして、その場合、他の匿名化処理装置の少なくともいずれかが、第１の秘匿レベル以下の第２の秘匿レベルを有する他の匿名化処理装置の少なくともいずれかであるようにしても良い。このようにすれば、秘匿レベルに応じて閾値を設定してデータセット数の条件を充足しているかを適切に判断できるようになる。
【０１００】
また、本実施の形態に係る情報処理方法は、（Ｈ）他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せるとデータセットの数が閾値以上とならないと第２の処理で判断された場合、データ格納部において第１の秘匿レベルのデータセットを破棄する第８の処理と、（Ｉ）データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルが、２以上の値である閾値が対応付けられている秘匿レベルである場合には、第１の処理移行を実施させる第９の処理とをさらに含むようにしても良い。このようにすれば、秘匿レベルに応じて可能な限り多くのデータセットをコンピュータに送ることができるようになる。
【０１０１】
さらに、本実施の形態に係る情報処理方法は、（Ｊ）データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルが、１である閾値が対応付けられている秘匿レベルである場合には、データ格納部に格納されているデータセットに対して第１の秘匿化処理を実施し、第４の処理を実施させる第１０の処理をさらに含むようにしても良い。
【０１０２】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【０１０３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０４】
（付記１）
匿名化処理装置により実行される情報処理方法であって、
所定時間内において端末装置から受信し、データ格納部に格納されており且つ当該端末装置のユーザの個人情報を含むデータセットの数が、予め定められた閾値以上であるか判断する第１の処理と、
前記第１の処理において前記データセットの数が前記閾値以上でないと判断された場合、他の匿名化処理装置と通信することによって他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっているか判断又は確認する第２の処理と、
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっていると前記第２の処理で判断又は確認された場合には、前記データ格納部に格納されているデータセットの少なくとも一部に対して第１の匿名化処理を実施する第３の処理と、
前記第１の匿名化処理後のデータセットを、複数の匿名化処理装置からのデータセットを蓄積するコンピュータに送信する第４の処理と、
を含む情報処理方法。
【０１０５】
（付記２）
前記第１の処理において前記データセットの数が前記閾値以上であると判断された場合、前記データ格納部に格納されているデータセットの少なくとも一部に対して第２の匿名化処理を実施する第５の処理と、
前記第２の匿名化処理後のデータセットを、前記コンピュータに送信する第６の処理と、
をさらに含む付記１記載の情報処理方法。
【０１０６】
（付記３）
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上とならないと前記第２の処理で判断又は確認された場合、前記データ格納部に格納されているデータセットを破棄する第７の処理
をさらに含む付記１又は２記載の情報処理方法。
【０１０７】
（付記４）
前記第４の処理において、前記匿名化処理装置の位置と前記他の匿名化処理装置の少なくともいずれかの位置とから算出される位置のデータを含むデータセットが送信される
付記１乃至３のいずれか１つ記載の情報処理方法。
【０１０８】
（付記５）
前記データセットに位置データが含まれる場合、
前記第１の匿名化処理が、前記位置データを、前記匿名化処理装置の位置と前記他の匿名化処理装置の少なくともいずれかの位置とから算出される位置のデータに置換する処理を含む
付記１乃至３のいずれか１つの情報処理方法。
【０１０９】
（付記６）
前記第６の処理において、前記匿名化処理装置の位置を含むデータセットが送信される
付記２記載の情報処理方法。
【０１１０】
（付記７）
前記データセットに位置データが含まれる場合、
前記第２の匿名化処理が、前記位置データを、前記匿名化処理装置の位置に置換する処理を含む付記２記載の情報処理方法。
【０１１１】
（付記８）
前記第２の処理が、
予め登録された他の匿名化処理装置のうち自匿名化処理装置の識別子よりも小さい識別子を有する匿名化処理装置に対して、前記データ格納部に格納されているデータセットの数を含む問い合わせメッセージを送信し、
他の匿名化処理装置のいずれかである第２の匿名化処理装置からの問い合わせメッセージを受信して、当該問い合わせメッセージに含まれるデータセットの数と前記データ格納部に格納されているデータセットの数とを加算すると前記閾値以上となっている場合には、条件充足の可能性を表すメッセージを返信し、前記第２の匿名化処理装置から了承メッセージを受信すると前記データセットの数が前記閾値以上であると判断する
処理を含む付記１乃至７のいずれか１つ記載の情報処理方法。
【０１１２】
（付記９）
前記データセットには当該データセットの秘匿レベルが付加されており、
前記第１の処理が、
前記データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルである第１の秘匿レベルに対応する閾値を特定する処理を含み、
前記他の匿名化処理装置の少なくともいずれかが、前記第１の秘匿レベル以下の第２の秘匿レベルを有する他の匿名化処理装置の少なくともいずれかである
付記１記載の情報処理方法。
【０１１３】
（付記１０）
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上とならないと前記第２の処理で判断された場合、前記データ格納部において前記第１の秘匿レベルのデータセットを破棄する第８の処理と、
前記データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルが、２以上の値である前記閾値が対応付けられている秘匿レベルである場合には、前記第１の処理移行を実施させる第９の処理と、
をさらに含む付記９記載の情報処理方法。
【０１１４】
（付記１１）
前記データ格納部に格納されているデータセットの秘匿レベルのうち最上位の秘匿レベルが、１である前記閾値が対応付けられている秘匿レベルである場合には、前記データ格納部に格納されているデータセットに対して前記第１の秘匿化処理を実施し、前記第４の処理を実施させる第１０の処理
をさらに含む付記１０記載の情報処理方法。
【０１１５】
（付記１２）
匿名化処理装置に、
所定時間内において端末装置から受信し、データ格納部に格納されており且つ当該端末装置のユーザの個人情報を含むデータセットの数が、予め定められた閾値以上であるか判断する第１の処理と、
前記第１の処理において前記データセットの数が前記閾値以上でないと判断された場合、他の匿名化処理装置と通信することによって他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっているか判断又は確認する第２の処理と、
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっていると前記第２の処理で判断又は確認された場合には、前記データ格納部に格納されているデータセットの少なくとも一部に対して第１の匿名化処理を実施する第３の処理と、
前記第１の匿名化処理後のデータセットを、複数の匿名化処理装置からのデータセットを蓄積するコンピュータに送信する第４の処理と、
を実行させるためのプログラム。
【０１１６】
（付記１３）
匿名化処理装置であって、
所定時間内において端末装置から受信し、データ格納部に格納されており且つ当該端末装置のユーザの個人情報を含むデータセットの数が、予め定められた閾値以上であるか判断し、前記データセットの数が前記閾値以上でないと判断された場合、他の匿名化処理装置と通信することによって他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっているか判断又は確認する制御部と、
前記他の匿名化処理装置の少なくともいずれかにおいて保持するデータセットと併せると前記データセットの数が前記閾値以上となっていると前記制御部で判断又は確認された場合には、前記データ格納部に格納されているデータセットの少なくとも一部に対して第１の匿名化処理を実施する匿名化処理部と、
前記第１の匿名化処理後のデータセットを、複数の匿名化処理装置からのデータセットを蓄積するコンピュータに送信する通信部と、
を有する匿名化処理装置。
【符号の説明】
【０１１７】
１  ネットワーク
３  匿名化処理装置
５  端末装置
７  サーバ
３１  通信部
３２  キャッシュ
３３  キュー
３４  制御部
３５  匿名化処理部
３６  隣接装置データ格納部
【図１】
0005691936.tif 000002
【図２】
0005691936.tif 000003
【図３】
0005691936.tif 000004
【図４】
0005691936.tif 000005
【図５】
0005691936.tif 000006
【図６】
0005691936.tif 000007
【図７】
0005691936.tif 000008
【図８】
0005691936.tif 000009
【図９】
0005691936.tif 000010
【図１０】
0005691936.tif 000011
【図１１】
0005691936.tif 000012
【図１２】
0005691936.tif 000013
【図１３】
0005691936.tif 000014
【図１４】
0005691936.tif 000015
【図１５】
0005691936.tif 000016
【図１６】
0005691936.tif 000017
【図１７】
0005691936.tif 000018
【図１８】
0005691936.tif 000019
【図１９】
0005691936.tif 000020
【図２０】
0005691936.tif 000021
【図２１】
0005691936.tif 000022
【図２２】
0005691936.tif 000023
【図２３】
0005691936.tif 000024
【図２４】
0005691936.tif 000025
【図２５】
0005691936.tif 000026
【図２６】
0005691936.tif 000027