(57)【要約】  アドレス認識部１０１は、第１の時点で情報処理装置１００が存在する第１の環境１１０内に存在する他の装置１３１〜１３４のアドレスを認識する。また、アドレス認識部１０１は、第２の時点で情報処理装置１００が存在する第２の環境１２０内に存在する他の装置１３２〜１３５のアドレスを認識する。マッピング部１０２は、アドレスを座標空間上の点にマッピングする。分布認識部１０３は、第１の時点において認識されたアドレスがマッピングされた点の座標を用いて第１の分布を認識し、第２の時点において認識されたアドレスがマッピングされた点の座標を用いて第２の分布を認識する。判定部１０４は、分布一致基準に照らして第１と第２の分布が一致するか否かを判定し、２つの分布が一致すると判定した場合は第１と第２の環境が同じであるという結果を出力し、２つの分布が一致しないと判定した場合は第１と第２の環境が異なるという結果を出力する。
2012090333.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の時点において前記コンピュータが存在する第１の環境内に存在する、１つ以上の他の装置のアドレスを認識し、
前記第１の時点において認識した第１の個々のアドレスをそれぞれ座標空間上の点にマッピングし、
前記第１の個々のアドレスがマッピングされた第１の個々の点の座標を用いて、第１の分布を認識し、
第２の時点において前記コンピュータが存在する第２の環境内に存在する、１つ以上の他の装置のアドレスを認識し、
前記第２の時点において認識した第２の個々のアドレスをそれぞれ前記座標空間上の点にマッピングし、
前記第２の個々のアドレスがマッピングされた第２の個々の点の座標を用いて、第２の分布を認識し、
２つの分布が一致するか否かを規定する分布一致基準に照らして、前記第１の分布と前記第２の分布が一致するか否かを判定し、
前記第１の分布と前記第２の分布が一致すると判定した場合は、前記第１の環境と前記第２の環境が同じであるという第１の結果を出力し、
前記第１の分布と前記第２の分布が一致しないと判定した場合は、前記第１の環境と前記第２の環境が異なるという第２の結果を出力する
処理を実行させるためのプログラム。
【請求項２】
前記プログラムが前記コンピュータに実行させる前記処理は、
前記第１の時点とも前記第２の時点とも異なる１つ以上の第３の時点のそれぞれにおいて前記コンピュータが存在する環境内に存在する、１つ以上の他の装置のアドレスを認識し、
各第３の時点において認識した第３の個々のアドレスをそれぞれ前記座標空間上の点にマッピングする
ことをさらに含み、
前記第１の分布を認識する処理では、前記第３の個々のアドレスがマッピングされた第３の個々の点の座標がさらに用いられ、
前記第２の分布を認識する処理は、
前記第１の時点と前記第２の時点と前記１つ以上の第３の時点を含む複数の時点の間での、認識したアドレスの集合の変動に応じて、各アドレスに対応するオフセットを算出し、
前記第２の個々の点それぞれの前記座標に、対応する前記オフセットを足す
ことを含む
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記オフセットを算出する処理は、前記複数の時点のうち少なくとも１つの時点において認識した個々の各アドレスについて、
前記アドレスの集合の前記変動のうち、当該アドレスに関する変動を示す１つ以上のアドレス変動指標を算出し、
前記１つ以上のアドレス変動指標から、当該アドレスに対応する前記オフセットを算出する
ことを含み、
各アドレスの前記１つ以上のアドレス変動指標のうちの少なくとも１つは、前記複数の時点のうちいくつの時点において当該アドレスが認識されたかに応じた値である
ことを特徴とする請求項２に記載のプログラム。
【請求項４】
各アドレスの前記１つ以上のアドレス変動指標のうちの少なくとも１つは、当該アドレスが認識された最新の時点がどの時点なのかに応じた値である
ことを特徴とする請求項３に記載のプログラム。  
【請求項５】
前記オフセットはベクトルであり、
前記オフセットを算出する処理は、
前記１つ以上のアドレス変動指標がそれぞれ示す各変動の大きさに対して単調増加する関数を使って、前記オフセットの大きさを算出し、
乱数を使って前記オフセットの方向を算出する
ことを含む
ことを特徴とする請求項３または４に記載のプログラム。
【請求項６】
前記第１の分布を認識する処理は、前記第１の個々の点についてそれぞれ、当該第１の個々の点の第１の基準点に対する第１の角度を算出することを含み、
前記第２の分布を認識する処理は、前記オフセットにより移動された前記第２の個々の点についてそれぞれ、当該移動された第２の個々の点の第２の基準点に対する第２の角度を算出することを含み、
前記第１の分布と前記第２の分布が一致するか否かを判定する処理は、前記第２の個々のアドレスのうち、前記第１の個々のアドレスのいずれかと同じである各アドレスについて、
当該アドレスがマッピングされた点の前記第１の基準点に対する第１の相対位置と、当該アドレスがマッピングされた前記点が前記オフセットにより移動された点の前記第２の基準点に対する第２の相対位置との差が第１の範囲内であり、かつ、
前記第１の角度と前記第２の角度の差が第２の範囲内である、
という条件が成立するか否かを判定することを含み、
前記分布一致基準は、
前記第１の範囲と、
前記第２の範囲と、
前記条件が成立するアドレスの割合に関して、前記第１の分布と前記第２の分布が一致すると判定するための下限を規定する閾値
を規定する
ことを特徴とする請求項２から５のいずれか１項に記載のプログラム。
【請求項７】
前記プログラムが前記コンピュータに実行させる前記処理は、
利用者から第１の生体情報の入力を受け付け、
前記利用者と対応づけられて予め第１の記憶部に記憶された第２の生体情報を前記第１の記憶部から読み出し、
前記第１の結果を出力した場合は、第１の閾値を用いて、前記第１の生体情報と前記第２の生体情報の一致度が生体情報一致基準を満たすか否かを判定し、
前記第２の結果を出力した場合は、前記第１の閾値とは異なる第２の閾値を用いて、前記一致度が前記生体情報一致基準を満たすか否かを判定し、
前記一致度が前記生体情報一致基準を満たすと判定した場合は、前記利用者を認証し、
前記一致度が前記生体情報一致基準を満たさないと判定した場合は、前記利用者を認証しないか、または、他の認証処理を呼び出す
ことをさらに含むことを特徴とする請求項１から６のいずれか１項に記載のプログラム。
【請求項８】
１つのアドレスを、対応する１つの点へとマッピングする処理が、
前記１つのアドレスを示すビット列から、複数の所定のビット位置のビットを抽出し、
前記複数の所定のビット位置のビットを連結した部分ビット列が示す整数を定数で割った剰余を算出する
ことによって、前記１つの点の前記座標空間における各座標軸の座標を得る
ことを含むことを特徴とする請求項１から７のいずれか１項に記載のプログラム。
【請求項９】
前記プログラムが前記コンピュータに実行させる前記処理が、
前記第１の環境を表す環境情報として、少なくとも、前記第１の個々のアドレスまたは前記第１の個々の点の前記座標を第２の記憶部に記憶し、
前記第１の結果を出力した場合、
前記第２の個々のアドレスのうち前記第１の個々のアドレスのいずれとも等しくないアドレスである新規出現アドレス、または
前記新規出現アドレスをマッピングした前記座標空間上の点の座標
を前記環境情報に追加することによって、前記第２の記憶部上の前記環境情報を更新する
ことを含む
ことを特徴とする請求項１から８のいずれか１項に記載のプログラム。
【請求項１０】
前記プログラムが前記コンピュータに実行させる前記処理は、
前記第１の結果を出力し、かつ、特定の装置を認識した場合は、利用者を認証し、
前記特定の装置の認識に失敗したか、または、前記第２の結果を出力した場合は、前記利用者を認証しないか、または、他の認証処理を呼び出す
ことをさらに含む
ことを特徴とする請求項１から９のいずれか１項に記載のプログラム。
【請求項１１】
情報処理装置であって、
前記情報処理装置の存在する環境内に存在する他の装置のアドレスを認識するアドレス認識部と、
前記アドレスを座標空間上の点にマッピングするマッピング部と、
第１の時点において前記アドレス認識部が認識した第１の個々のアドレスをそれぞれ前記マッピング部がマッピングした第１の個々の点の座標を用いて、第１の分布を認識し、第２の時点において前記アドレス認識部が認識した第２の個々のアドレスをそれぞれ前記マッピング部がマッピングした第２の個々の点の座標を用いて、第２の分布を認識する分布認識部と、
２つの分布が一致するか否かを規定する分布一致基準に照らして、前記第１の分布と前記第２の分布が一致するか否かを判定し、前記第１の分布と前記第２の分布が一致すると判定した場合は、前記第１の時点で前記情報処理装置が置かれていた第１の環境と前記第２の時点で前記情報処理装置が置かれていた第２の環境が同じであるという第１の結果を出力し、前記第１の分布と前記第２の分布が一致しないと判定した場合は、前記第１の環境と前記第２の環境が異なるという第２の結果を出力する判定部と、
を備えることを特徴とする情報処理装置。
【請求項１２】
情報処理装置が実行する方法であって、
第１の時点において前記情報処理装置が存在する第１の環境内に存在する、１つ以上の他の装置のアドレスを認識し、
前記第１の時点において認識した第１の個々のアドレスをそれぞれ座標空間上の点にマッピングし、
前記第１の個々のアドレスがマッピングされた第１の個々の点の座標を用いて、第１の分布を認識し、
第２の時点において前記情報処理装置が存在する第２の環境内に存在する、１つ以上の他の装置のアドレスを認識し、
前記第２の時点において認識した第２の個々のアドレスをそれぞれ前記座標空間上の点にマッピングし、
前記第２の個々のアドレスがマッピングされた第２の個々の点の座標を用いて、第２の分布を認識し、
２つの分布が一致するか否かを規定する分布一致基準に照らして、前記第１の分布と前記第２の分布が一致するか否かを判定し、
前記第１の分布と前記第２の分布が一致すると判定した場合は、前記第１の環境と前記第２の環境が同じであるという第１の結果を出力し、
前記第１の分布と前記第２の分布が一致しないと判定した場合は、前記第１の環境と前記第２の環境が異なるという第２の結果を出力する
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置が置かれた環境を判断する技術に関する。
【背景技術】
【０００２】
情報処理装置が置かれた環境を判断する技術は、例えば、利用環境に応じた利用者の個人認証や、利用環境に応じたネットワーク設定などを実現するうえで、有用な技術である。【０００３】
例えば、携帯端末サービスの多様な認証要件に応じた認証を行い、かつ携帯端末の利用環境に応じた認証精度の保証を実現するために、以下のようなユーザ認証システムが提案されている。【０００４】
サービスプロバイダは、携帯端末からのサービス要求を受信し、サービスごとの認証要件とともに認証要求を行う。ポータル端末、および携帯端末は、それぞれ認証手段を備え、認証要件に応じて認証手段を選択し、認証処理を行う。そして、ポータル端末、および携帯端末は、各々のポータル端末および携帯端末の照合の結果として得られた複数の尤度から耐タンパデバイスにおける融合判定により、本人確率を求める。さらに、ポータル端末、および携帯端末は、求めた本人確率を、サービスプロバイダから受信したサービスごとの本人確率の閾値と比較して、最終的な本人／他人判定を実施する。信頼性保証サーバは、ポータル端末、および携帯端末の認証処理により得られた照合ログを収集し、分析し、ポータル端末ごとに、利用環境に応じた認証精度の保証を行う。【０００５】
また、情報処理端末間の設定において、接続される情報処理端末が自端末の環境状況から適切な初期設定値を作成し、情報処理端末の設定値を更新変更し、アプリケーションのインストール等を管理することを目的とした、以下の表示システムも提案されている。ここで、上記初期設定値とは、ネットワーク設定やアプリケーション設定等の初期設定値である。【０００６】
表示システムにおいて、外部記憶装置は、情報処理端末とディスプレイステーションとが通信するための設定情報と、情報処理端末内で実行されるアプリケーションとを記憶する。また、ＣＰＵ（Central Processing Unit）は、ディスプレイステーションが起動または電源投入した場合に、設定情報とアプリケーションを、認識デバイス収納装置を介して記憶デバイスに格納する。【０００７】
さらに、動的に構成要素が変わるアドホックネットワークにおいて、コンテキスト情報を匿名で利用できるようにするため、以下のようなアドホックネットワークの無線端末も提案されている。【０００８】
無線端末は、匿名通信路の情報を保持する匿名通信路テーブル（名称変更・印鑑変更用）記憶手段を有する。また、無線端末は、匿名通信路上の隣接する端末の特定情報を保持する近傍者リスト記憶手段を有する。さらに、無線端末は、近傍者リスト記憶手段を検索して近傍に存在する端末との情報交換処理を行う近傍者探索手段を有する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−３４４０１３号公報
【特許文献２】特開２００６−１６４０９２号公報
【特許文献３】特開２００４−８８６５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
コンピュータは、ある特定の環境に置かれることもあるし、まったく別の環境に置かれることもある。また、上記特定の環境自体も、まったく何の変化もない固定された環境であるとは限らず、時間の経過に応じて、多少は変化することがある。【００１１】
もし、「ある時点における特定の環境と、現在コンピュータが置かれた環境とが一致するか否か」ということが、「２つの環境が完全に一致するか否か」によって２値で判定されると、判定結果がかえって不正確になるおそれがある。なぜなら、「コンピュータは特定の環境にあるが、特定の環境が少しだけ変化した」という場合にも、「コンピュータは特定の環境とはまったく異なる環境にある」という場合にも、同じく「不一致」という判定結果が得られるからである。【００１２】
そこで本発明は、「コンピュータが置かれた環境が、許容範囲内で特定の環境と一致するか否か」という判定を可能とすることを目的とする。
【課題を解決するための手段】
【００１３】
一態様によるプログラムがコンピュータに実行させる処理は、第１の時点において前記コンピュータが存在する第１の環境内に存在する、１つ以上の他の装置のアドレスを認識することを含む。前記処理は、前記第１の時点において認識した第１の個々のアドレスをそれぞれ座標空間上の点にマッピングし、前記第１の個々のアドレスがマッピングされた第１の個々の点の座標を用いて、第１の分布を認識することも含む。【００１４】
さらに、前記処理は、第２の時点において前記コンピュータが存在する第２の環境内に存在する、１つ以上の他の装置のアドレスを認識することを含む。そして、前記処理は、前記第２の時点において認識した第２の個々のアドレスをそれぞれ前記座標空間上の点にマッピングし、前記第２の個々のアドレスがマッピングされた第２の個々の点の座標を用いて、第２の分布を認識することも含む。【００１５】
また、前記処理は、２つの分布が一致するか否かを規定する分布一致基準に照らして、前記第１の分布と前記第２の分布が一致するか否かを判定することを含む。そして、前記処理は、前記第１の分布と前記第２の分布が一致すると判定した場合は、前記第１の環境と前記第２の環境が同じであるという第１の結果を出力することを含む。さらに、前記処理は、前記第１の分布と前記第２の分布が一致しないと判定した場合は、前記第１の環境と前記第２の環境が異なるという第２の結果を出力することを含む。
【発明の効果】
【００１６】
たとえ第１の環境と第２の環境が完全には一致しなくても、上記プログラムによれば、許容範囲に応じて分布一致基準を適切に定めることにより、分布一致基準に照らして第１の環境と第２の環境の違いが小さければ、第１の結果が得られる。また、分布一致基準が適切に定められていれば、第１の環境と第２の環境が大きく異なるときは、第２の結果が得られる。【００１７】
したがって、上記プログラムによれば、「分布一致基準によって規定される許容範囲内で、２つの環境同士が一致するか否か」という判定が可能となる。すなわち、上記プログラムによれば、「コンピュータが置かれた環境が、許容範囲内で特定の環境と一致するか否か」という判定が可能となる。
【図面の簡単な説明】
【００１８】
【図１】情報処理装置の構成と情報処理装置が置かれる環境の例を説明する図である。
【図２】第１実施形態の判定処理のフローチャートである。
【図３】第２実施形態の利用者端末の構成の概要を示す図である。
【図４】コンピュータの構成図である。
【図５】第２実施形態の利用者端末の構成の詳細を示す図である。
【図６】第２実施形態の利用者端末で使われる情報の一部を例示する図である。
【図７】電源が入れられたときに第２実施形態の利用者端末が開始する処理のフローチャートである。
【図８】環境登録処理のフローチャートである。
【図９】環境変化の第１の例を説明する図である。
【図１０】第１の例において登録された環境に関する情報を示す図である。
【図１１】計測処理のフローチャート（その１）である。
【図１２】計測処理のフローチャート（その２）である。
【図１３】第１の例において計測処理が行われた現在の環境に関する情報を示す図である。
【図１４】第２実施形態の判定処理のフローチャート（その１）である。
【図１５】第２実施形態の判定処理のフローチャート（その２）である。
【図１６】第１の例において登録された環境に存在する装置それぞれのアドレスのＸＹ平面への写像を示す図である。
【図１７】第１の例において登録された環境の特徴点分布を示す図である。
【図１８】第１の例において計測処理が行われた現在の環境に関する点の移動を説明する図である。
【図１９】第１の例において計測処理が行われた現在の環境の特徴点分布を示す図である。
【図２０】照合処理のフローチャートである。
【図２１】第１の例における特徴点分布同士の照合を説明する図である。
【図２２】第１の例に関して照合処理で算出される角度差を示す図である。
【図２３】環境変化の第２の例を説明する図である。
【図２４】第２の例において計測処理が行われた現在の環境に関する情報を示す図である。
【図２５】第２の例において計測処理が行われた現在の環境に関する点の移動を説明する図である。
【図２６】第２の例において計測処理が行われた現在の環境の特徴点分布を示す図である。
【図２７】第２の例における特徴点分布同士の照合を説明する図である。
【図２８】第２の例に関して照合処理で算出される角度差を示す図である。
【図２９】第３実施形態の利用者端末の構成の詳細を示す図である。
【図３０】電源が入れられたときに第３実施形態の利用者端末が開始する処理のフローチャートである。
【図３１】第３実施形態の利用者端末で使われる情報の一部を例示する図である。
【図３２】第３実施形態の判定処理のフローチャート（その１）である。
【図３３】第３実施形態の判定処理のフローチャート（その２）である。
【図３４】第３実施形態の判定処理のフローチャート（その３）である。
【発明を実施するための形態】
【００１９】
以下、実施形態について、図面を参照しながら詳細に説明する。具体的には、まず、図１〜２を参照して第１実施形態について説明する。その後、環境同士が一致するか否かの判定結果を、利用者の個人認証に利用する第２実施形態について、図３〜２８を参照して説明する。さらに、環境同士が一致するか否かの判定結果を、第２実施形態とは異なる方法で個人認証に利用する第３実施形態について、図２９〜３４を参照して説明する。最後に、各種変形例についても説明する。
【００２０】
図１は、情報処理装置の構成と情報処理装置が置かれる環境の例を説明する図である。図１に示すように、第１実施形態の情報処理装置１００は、アドレス認識部１０１と、マッピング部１０２と、分布認識部１０３と、判定部１０４を有する。情報処理装置１００内のこれら各部の動作については後述する。
【００２１】
なお、情報処理装置１００の具体例は、ＰＣ（Personal Computer）等の汎用コンピュータ、携帯電話機、スマートフォン、タブレット型あるいはその他の各種携帯情報端末などである。情報処理装置１００は、ＣＰＵと、ＲＡＭ（Random Access Memory）と、ハードディスク装置等の不揮発性記憶装置と、有線、無線または双方の通信インタフェイスなどの、種々のハードウェアを備える。
【００２２】
また、説明の便宜上、第１の時点において情報処理装置１００が存在する環境を「第１の環境」といい、第２の時点において情報処理装置１００が存在する環境を「第２の環境」という。図１の例では、第１の環境１１０内には、情報処理装置１００に加えて、他の装置１３１〜１３４が存在する。また、第２の環境１２０内には、情報処理装置１００に加えて、他の装置１３２〜１３５が存在する。
【００２３】
第１の環境１１０と第２の環境１２０を比較すると、３つの装置１３２〜１３４は双方の環境に存在し、装置１３１は第１の環境１１０にのみ存在し、装置１３５は第２の環境１２０にのみ存在する。なお、以下の説明においては、ある装置がある環境に「存在する」とは、単に当該装置が物理的な物体として存在しているだけでなく、当該装置が情報処理装置１００と通信可能であることをいう。
【００２４】
例えば、装置１３１〜１３４は、第１の時点において、有線ＬＡＮ（Local Area Network）を介して、または無線通信により、情報処理装置１００と通信可能な装置である。同様に、装置１３２〜１３５は、第２の時点において、有線ＬＡＮを介して、または無線通信により、情報処理装置１００と通信可能な装置である。
【００２５】
例えば、装置１３１は、物理的には第２の時点においても情報処理装置１００の近傍に存在するものの、電源が切断されているのかもしれない。あるいは、装置１３１は、第２の時点の前に、物理的に情報処理装置１００から離れた場所に持ち去られてしまったのかもしれない。しかし、どちらの場合でも、装置１３１は、情報処理装置１００と第２の時点において通信することができない。したがって、装置１３１は、第２の環境１２０の環境には存在しない。
【００２６】
図１に例示した装置１３１〜１３５は、例えば、情報処理装置１００と同様に、汎用コンピュータ、携帯電話機、スマートフォン、タブレット型あるいはその他の各種携帯情報端末などであってもよい。あるいは、装置１３１〜１３５は、ルータや無線ＬＡＮアクセスポイントなどの、ネットワーク中継装置であってもよい。または、装置１３１〜１３５は、ネットワークに接続されたプリンタなどの装置であってもよい。あるいは、装置１３１〜１３５は、Bluetooth（登録商標）などの標準的な無線通信技術によって通信可能な、その他の装置（例えば、キーボード、マウス、音楽プレーヤ、ヘッドセットなど）であってもよい。
【００２７】
さて、情報処理装置１００は、「第１の環境１１０と第２の環境１２０が許容範囲内で同じ環境と見なせるか否か」を判定する。
具体的には、アドレス認識部１０１は、情報処理装置１００が存在する環境内に存在する他の装置のアドレスを認識する。例えば、アドレス認識部１０１は、第１の時点では、第１の環境１１０内に存在する装置１３１〜１３４のアドレスを認識し、第２の時点では、第２の環境１２０内に存在する装置１３２〜１３５のアドレスを認識する。
【００２８】
そして、マッピング部１０２は、アドレス認識部１０１が認識した各アドレスを、座標空間上の点にマッピングする。座標空間は、例えば２次元空間が好適だが、マッピング部１０２は、３次元以上の座標空間上の点にアドレスをマッピングしてもよい。
【００２９】
また、分布認識部１０３は、第１の時点においてアドレス認識部１０１が認識したアドレス（すなわち、図１の例では、装置１３１〜１３４のアドレス）をそれぞれマッピング部１０２がマッピングした点の座標を用いて、第１の分布を認識する。同様に、分布認識部１０３は、第２の時点においてアドレス認識部１０１が認識したアドレス（すなわち、図１の例では、装置１３２〜１３５のアドレス）をそれぞれマッピング部１０２がマッピングした点の座標を用いて、第２の分布を認識する。
【００３０】
そして、判定部１０４は、２つの分布が一致するか否かを規定する分布一致基準に照らして、第１の分布と第２の分布が一致するか否かを判定する。なお、分布一致基準は許容範囲に応じて定められる。分布一致基準は、具体的には、例えば、許容範囲を規定する閾値の形で、判定部１０４に予め設定されてもよい。
【００３１】
判定部１０４は、「第１の分布と第２の分布が一致する」と判定した場合は、「第１の環境１１０と第２の環境１２０が同じである」という第１の結果を出力する。逆に、判定部１０４は、「第１の分布と第２の分布が一致しない」と判定した場合は、「第１の環境１１０と第２の環境１２０が異なる」という第２の結果を出力する。
【００３２】
なお、以上説明したアドレス認識部１０１は、例えば、ＣＰＵと通信インタフェイスにより実現されてもよい。また、マッピング部１０２、分布認識部１０３および判定部１０４は、所定のプログラムを実行するＣＰＵにより実現されてもよい。
【００３３】
続いて、図２を参照して、情報処理装置１００の動作についてさらに詳しく説明する。図２は、第１実施形態の判定処理のフローチャートである。
ステップＳ１０１でアドレス認識部１０１は、第１の時点において情報処理装置１００が存在する第１の環境１１０内に存在する、１つ以上の他の装置（図１の例では装置１３１〜１３４）のアドレスを認識する。なお、アドレス認識部１０１が認識するアドレスは、下記の理由から、時間に応じて変化し得るアドレスではなく、時間によらず不変の装置固有のアドレスである。
【００３４】
仮に、時間に応じて動的に変化し得るアドレスが使われると、例えば同じ装置１３２のアドレスが、第１の時点と第２の時点で異なる可能性がある。マッピング部１０２が用いるマッピングアルゴリズムにもよるが、一般に、異なるアドレスは、異なる点にマッピングされる。逆に言えば、異なるアドレスが偶然同じ点にマッピングされる確率が、無視しても構わない程度に低いようなマッピングアルゴリズムを、マッピング部１０２は採用する。
【００３５】
すると、第１の時点と第２の時点で同じ装置１３２に異なるアドレスが割り当てられることが原因で、第１と第２の分布の一致度が低下することになる。その結果、第１の環境１１０と第２の環境１２０の一致度が適切に判定されなくなってしまう。以上の理由から、アドレス認識部１０１は、時間によらず不変の装置固有のアドレスを認識する。
【００３６】
例えば、ＩＰ（Internet Protocol）アドレスは、固定的に割り当てられていることもあるが、ＤＨＣＰ（Dynamic Host Configuration Protocol）により動的に割り当てられることもある。よって、ＩＰアドレスは変化する可能性がある。
【００３７】
それに対して、ＭＡＣ（Media Access Control）アドレスは装置に固有のアドレスである。よって、アドレス認識部１０１は、例えばＭＡＣアドレスを認識することが好ましい。
【００３８】
また、製造シリアル番号は、装置に固有の情報なので、「装置に固有のアドレス」と見なすことも可能である。しかし、アドレス認識部１０１は、他の装置１３１〜１３５のベンダに依存しないプロトコルによってアドレスを認識することが望ましい。なぜなら、特定のベンダの少数の装置のみから環境を認識するよりは、多様なベンダのより多くの装置から環境を認識する方が、判定部１０４による判定の精度が良いと期待されるからである。
【００３９】
また、製造シリアル番号の取得には、ベンダ依存の特殊なプロトコルが必要な場合が多いが、ＭＡＣアドレスは、広く一般に使われているプロトコルによって認識可能である。よって、ＭＡＣアドレスは、「装置に固有であり変化しない」という観点からだけでなく、「一般的なプロトコルで認識可能」という観点からも、アドレス認識部１０１が認識するアドレスの種類として好適である。
【００４０】
さて、上記のようにステップＳ１０１でアドレス認識部１０１がアドレスを認識した後、ステップＳ１０２でマッピング部１０２は、アドレス認識部１０１が第１の時点において認識した第１の個々のアドレスを、それぞれ座標空間上の点にマッピングする。例えば、マッピング部１０２は、以下のようにして、１つのアドレスを、対応する１つの点へとマッピングしてもよい。
【００４１】
すなわち、マッピング部１０２は、上記「１つのアドレス」を示すビット列から、複数の所定のビット位置のビットを抽出する。そして、マッピング部１０２は、複数の所定のビット位置のビットを連結した部分ビット列が示す整数を定数で割った剰余を算出する。こうして算出された剰余が、上記「１つのアドレス」に対応する上記「１つの点」の座標空間における各座標軸の座標として使われてもよい。
【００４２】
例えば、座標空間として、２次元座標空間が使われてもよい。また、アドレスが上記のようにＭＡＣアドレスの場合、アドレスを示すビット列の長さは６オクテット（すなわち４８ビット）である。よって、マッピング部１０２は、６オクテットの一部のビット（例えば「奇数オクテットに属するビットのみ」や「奇数ビットのみ」など）を、Ｘ座標の算出用に抽出し、抽出したビットを連結した部分ビット列を得ることができる。
【００４３】
すると、マッピング部１０２は、得られた部分ビット列が示す整数を所定の定数で割ることで、剰余をＸ座標として得ることができる。マッピング部１０２は、同様にしてＹ座標も得ることができる。例えば上記のようにしてＸ座標とＹ座標を算出することで、マッピング部１０２は、アドレスをＸＹ座標空間上の点にマッピングすることができる。
【００４４】
なお、剰余を用いることには、複数のアドレスをそれぞれマッピングした複数の点が座標空間において適度に散らばる効果がある。その理由は以下のとおりである。
例えば、マッピング部１０２が、６オクテットのＭＡＣアドレスのうち３オクテットを使ってＸ座標を算出し、残りの３オクテットを使ってＹ座標を算出するとする。もしマッピング部１０２が剰余を算出せず、３オクテットの長さの部分ビット列が表す整数自体を座標として使うとすると、３オクテットは２４ビットなので、Ｘ座標とＹ座標の範囲は式（１）と（２）のとおりである。
０≦Ｘ≦２２４−１                          （１）
０≦Ｙ≦２２４−１                          （２）
【００４５】
ここで、（２２４−１）は１６００万を超える値である。つまり、例えば図１の第１の環境１１０の場合、１６００万×１６００万よりも多くの格子点を含む非常に広い空間上に、４つの装置１３１〜１３４に対応する４つの点が配置される。したがって、座標空間が非常にスパース（sparse）に使われることは明らかであり、座標空間の使用効率が悪い。また、分布が非常にスパースな場合、座標空間全体を使っての分布同士の比較では、正確な判定結果を得るのが難しいことがある。
【００４６】
そして、座標空間の使用効率を上げる（換言すれば、スパースネスを避ける）には、単純なスケール変換によって座標空間を縮小することも可能だが、単純なスケール変換はあまり好ましくない。なぜなら、偶然近くの点にマッピングされた２つのアドレスが、スケール変換により同じ１点に縮退してしまう可能性があるからである。
【００４７】
例えば、装置１３１〜１３３のアドレスがそれぞれマッピングされた３つの点が、座標空間上で互いに近傍にあり、装置１３４のアドレスがマッピングされた点だけが離れているかもしれない。その場合、装置１３１〜１３３のアドレスがマッピングされた点が１点に縮退してしまうと、第１の環境１１０が適切に表現されなくなってしまう。
【００４８】
他方、マッピング部１０２が上記のように剰余を用いたマッピングアルゴリズムを採用する場合、座標空間の使用効率を上げることが可能である。また、剰余を用いたマッピングアルゴリズムによれば、マッピング部１０２が複数のアドレスをそれぞれマッピングした複数の点が、座標空間において適度に散らばると期待される。
【００４９】
さて、上記のようにステップＳ１０２でマッピングが行われた後、ステップＳ１０３で分布認識部１０３は、第１の個々のアドレスがマッピングされた第１の個々の点の座標を用いて、第１の分布を認識する。第１の分布は第１の環境１１０を表す。
【００５０】
なお、後に判定部１０４が分布同士を比較するのに用いるアルゴリズムとしては、例えば、指紋や静脈パターンを用いた生体認証で利用される特徴点分布同士の比較アルゴリズムが利用可能である。ここで、指紋や静脈パターンの特徴点は、座標と角度により表されることから、分布認識部１０３は、第１の分布を認識するのに、マッピング部１０２がマッピングした第１の個々の点の座標だけでなく、何らかの角度を用いてもよい。
【００５１】
例えば、指紋認証で使われる特徴点の一例は端点である。そして、端点の位置は座標により表され、当該端点における隆線の方向が角度により表される。このように座標と角度で表される特徴点の分布同士を比較し、分布間の一致度を算出するためのアルゴリズムは、生体認証の分野で広く使われている。
【００５２】
そこで、分布認識部１０３は、生体認証の分野で使われる特徴点分布同士の比較アルゴリズムを判定部１０４が利用できるようにするために、マッピング部１０２がマッピングした点の座標だけでなく、何らかの角度を用いて、第１の分布を認識してもよい。例えば、分布認識部１０３は、ある１つの点に関する角度として、何らかの基準点に対する、当該１つの点の角度を算出してもよい。基準点の例は、マッピング部１０２によりマッピングされた１つまたは複数の第１の個々の点の重心である。
【００５３】
そして、ステップＳ１０４では、アドレス認識部１０１が、第２の時点において情報処理装置１００が存在する第２の環境１２０内に存在する、１つ以上の他の装置（図１の例では装置１３２〜１３５）のアドレスを認識する。ステップＳ１０４の処理はステップＳ１０１と類似である。
【００５４】
また、ステップＳ１０５では、マッピング部１０２が、アドレス認識部１０１が第２の時点において認識した第２の個々のアドレスを、それぞれ座標空間上の点にマッピングする。ステップＳ１０５におけるマッピングアルゴリズムは、ステップＳ１０２と同様である。
【００５５】
さらに、ステップＳ１０６では、分布認識部１０３が、第２の個々のアドレスがマッピングされた第２の個々の点の座標を用いて、第２の分布を認識する。分布認識部１０３は、ステップＳ１０６での第２の分布の認識においても、判定部１０４の判定アルゴリズムに応じて、適宜、角度を用いてもよい。
【００５６】
なお、図２におけるステップＳ１０１〜Ｓ１０６の実行順序は、適宜入れ替えられてもよい。つまり、ステップＳ１０２〜Ｓ１０３はステップＳ１０１の後かつステップＳ１０７の前ならば、いつ実行されてもよい。また、ステップＳ１０５〜Ｓ１０６は、ステップＳ１０４の後かつステップＳ１０７の前ならば、いつ実行されてもよい。したがって、例えば、ステップＳ１０１、Ｓ１０４、Ｓ１０２、Ｓ１０５、Ｓ１０３、Ｓ１０６という順序で処理が進んでもよい。
【００５７】
いずれにしろ、ステップＳ１０１〜Ｓ１０６のすべてが終了した後、ステップＳ１０７で判定部１０４は、第１の環境１１０と第２の環境１２０が許容範囲内で一致するか否かを判断する。つまり、判定部１０４は、ステップＳ１０３で分布認識部１０３が認識した第１の分布とステップＳ１０６で分布認識部１０３が認識した第２の分布が分布一致基準に照らして一致するか否かを判断する。
【００５８】
なお、分布一致基準は、２つの分布が一致するか否かを規定する任意の基準である。分布一致基準は、予め決められていてもよい。分布一致基準は、典型的には、１つ以上の閾値により規定される。
【００５９】
そして、判定部１０４は、ステップＳ１０７で「第１の分布と第２の分布が一致する」と判定した場合、続いてステップＳ１０８で「第１の環境１１０と第２の環境１２０が同じである」という第１の結果を出力する。また、判定部１０４は、ステップＳ１０７で逆に「第１の分布と第２の分布が一致しない」と判定した場合は、ステップＳ１０９で「第１の環境１１０と第２の環境１２０が異なる」という第２の結果を出力する。以上のようにして第１または第２の結果が出力されると、図２の判定処理も終了する。
【００６０】
なお、出力された第１または第２の結果の用途は任意である。例えば、環境に応じた個人認証を実現するために、情報処理装置１００は、第１と第２のどちらの結果が出力されたかに応じて、個人認証のスキームまたはパラメタを切り換えてもよい。
【００６１】
個人認証のスキームの例は、例えば、生体認証、ＩＤ（identification）とパスワードによる認証、予め登録された特定の装置が情報処理装置１００の近傍に存在するか否かによる認証などである。また、個人認証のパラメタの例は、例えば、生体認証における照合閾値である。
【００６２】
あるいは、情報処理装置１００は、第１と第２のどちらの結果が出力されたかに応じて、ネットワークやアプリケーションの設定に関する設定ファイルを切り換えてもよい。
そして、例えば、第１の環境１１０は、予め決められた特定の環境でもよい。つまり、特定の環境に情報処理装置１００があるときに、ステップＳ１０１の処理が実行されてもよい。
【００６３】
すると、情報処理装置１００は、現在情報処理装置１００が置かれた環境を第２の環境１２０として図２の判定処理を行うことにより、現在の環境が上記特定の環境であるか否かを判定することができる。つまり、情報処理装置１００は、「現在情報処理装置１００が置かれた環境が上記特定の環境と一致するか否か」の判定が求められる時点において、ステップＳ１０４の処理を実行すればよい。
【００６４】
なお、現在の環境が上記特定の環境であるか否かの判定を可能とするために、アドレス認識部１０１が、第１の環境１１０で認識した各アドレスを記憶し続けてもよい。または、第１の環境１１０の各アドレスをマッピングした点の座標を、マッピング部１０２が記憶し続けてもよい。あるいは、分布認識部１０３が第１の分布を記憶し続けてもよい。アドレス、座標、または第１の分布を記憶し続けるため、アドレス認識部１０１、マッピング部１０２、または分布認識部１０３が、ハードディスク装置などの不揮発性記憶装置を含んでもよい。
【００６５】
また、「情報処理装置１００が現在置かれた環境が、予め決められた特定の環境ならば、利用者が認証されやすいようにし、情報処理装置１００が現在置かれた環境が、上記特定の環境でなければ、利用者の個人認証をより厳格に行う」という運用も可能である。
【００６６】
例えば、照合スコアが照合閾値以上の場合に利用者が認証され、照合スコアが照合閾値未満の場合に利用者が認証されない生体認証システムでは、照合閾値の値が小さいほど利用者は認証されやすく、照合閾値の値が大きいほど認証は厳格である。換言すれば、照合閾値の値が小さければ、本人拒否率（False Reject Rate；ＦＲＲ）が下がるので利便性（user-friendliness）が上がるが、他人受入率（False Accept Rate；ＦＡＲ）が上がるのでセキュリティは下がる。逆に、照合閾値の値が大きければ、他人受入率が下がるのでセキュリティは上がるが、本人拒否率が上がるので利便性は下がる。
【００６７】
例えば、上記特定の環境としての第１の環境１１０は、情報処理装置１００自体による個人認証以外のセキュリティ機構によってセキュリティが確保される安全な環境であることが望ましい。
【００６８】
例えば、情報処理装置１００が、ある会社の職員の業務用のノートＰＣであるとする。この場合、当該職員が会社内の自席で業務を行うときの環境は、ある程度安全である。なぜなら、例えば、会社の建物の入り口で守衛によりＩＤカードがチェックされたり、建物または部屋の入り口でＩＤカードリーダによってＩＤカードがチェックされたりするからである。また、会社内には他の多くの職員もいる。
【００６９】
よって、悪意を持った第３者が、他の職員に気付かれずに、ＩＤカードのチェックをも潜り抜けて、会社内で情報処理装置１００を使うことは困難である。したがって、情報処理装置１００の正規の利用者である職員の会社内の席がある環境は、比較的安全な環境である。
【００７０】
他方、情報処理装置１００の正規の利用者である職員は、情報処理装置１００を携帯して外出し、社外で業務を行うこともあるかもしれない。しかし、社外の環境は様々である。また、職員が情報処理装置１００をどこかに置き忘れたり、悪意を持った第３者が情報処理装置１００を盗んだりするかもしれない。よって、情報処理装置１００が社外で使われる場合には、情報処理装置１００が社内で使われる場合と比較して、生体認証の照合閾値を下げることの危険性が大きい。
【００７１】
そこで、第１実施形態は、「情報処理装置１００が現在置かれている環境は、情報処理装置１００自体による個人認証以外のセキュリティ機構によってセキュリティが確保される安全な環境であるか否か」の判定のために利用されてもよい。第１実施形態によれば、情報処理装置１００は、第１の環境１１０と第２の環境１２０が許容範囲内で同じ環境であるか否かを自動的に判定することができる。よって、第１の環境１１０が上記の安全な環境であれば、判定部１０４による判定結果に応じて生体認証の照合閾値の切り換えを行うことによって、セキュリティと利便性の両立が可能となる。
【００７２】
また、アドレス認識部１０１が自動的にアドレスを認識するので、利用者が手作業で第１の環境１１０内の装置１３１〜１３４のアドレスを登録する必要もない。利用者の手作業が不要なことは、単に利用者の手間を減らせるという利点だけでなく、セキュリティの利用者依存性をなくせるという利点ももたらす。以下に、第１実施形態の利点の理解を助けるため、第１比較例と第２比較例について説明する。
【００７３】
第１比較例の情報処理装置は、予め決められた特定の環境（例えば、上記のような安全な環境）において情報処理装置の周辺に存在する他の装置のアドレスを認識する。あるいは、第１比較例の情報処理装置は、上記の特定の環境において情報処理装置の周辺に存在する他の装置のアドレスを指定する入力を利用者から受け付ける。第１比較例の情報処理装置は、情報処理装置自身が認識したアドレス、または利用者から入力されたアドレスを第１のアドレスリストにまとめ、第１のアドレスリストを記憶する。また、第１比較例の情報処理装置は、現在情報処理装置が置かれた環境において情報処理装置の周辺に存在する他の装置のアドレスを認識し、第２のアドレスリストを作成する。
【００７４】
そして、第１比較例の情報処理装置は、第１と第２のアドレスリストを比較し、２つのアドレスリストが完全に一致すれば、「情報処理装置が現在置かれた環境は、予め決められた特定の環境である」と判定する。逆に、２つのアドレスリストが一致しなければ、第１比較例の情報処理装置は、「情報処理装置が現在置かれた環境は、予め決められた特定の環境ではない」と判定する。
【００７５】
以上のような第１比較例の欠点は明らかである。すなわち、第１比較例では、情報処理装置が第１のアドレスリストを作成するときに、特定の環境に存在する他の各装置には電源が入っていなくてはならない。なぜなら、電源が入っていない装置のアドレスを情報処理装置が認識することはできないからである。また、情報処理装置が特定の環境で使われる場合に、正しい判定結果を得るには、やはり他の各装置には電源が入っていなくてはならない。結局、第１比較例では、他の各装置に電源が入っているか否かに利用者自身が注意を払う必要がある。
【００７６】
そこで、以上のような第１比較例の欠点を克服するため、以下の第２比較例も考えられる。第２比較例の情報処理装置は、第１比較例と同様にして第１と第２のアドレスリストを作成する。ただし、第２比較例の情報処理装置は、２つのアドレスリストの比較において重み付けを行う点で、第１比較例の情報処理装置とは異なる。
【００７７】
特定の環境に存在する複数の装置の中で、例えばルータやサーバコンピュータなどの一部の装置は、常時電源が入っているかもしれないが、他の装置は、電源が切断されている期間が比較的長いかもしれない。また、デスクトップ型ＰＣなど固定的に設置される一部の装置は、電源さえ入っていれば、環境内に固定的に存在する。しかし、環境外に持ち出されることのある携帯型の装置は、たとえ常に電源が入っていたとしても、環境内に固定的に存在するとは限らない。
【００７８】
そこで、第２比較例では、情報処理装置が適切な重み付けによって第１と第２のアドレスリストを比較できるようにするため、特定の環境に存在する各装置についての重みが予め決められる。重みは、例えば、電源の入れられている時間の長さや装置の種類などに応じて決められてもよく、適切な重み付けがなされていれば、第２比較例の情報処理装置の判定精度も高まるであろう。
【００７９】
しかしながら、適切な重みは、個々の装置の具体的な運用や種類などに依存する。そして、装置の運用にはヒューマンファクタも関わることから、適切な重みを機械的に決めることは難しい。
【００８０】
また、情報処理装置の利用者が、利用者自身の裁量で重みを決めて情報処理装置に重みを設定することも可能だが、適切な重みが得られるまで利用者は分析や試行錯誤をしなくてはならない。そのため、利用者の負担が大きい。さらに、利用者が重みを設定する場合は、環境の判定精度が、利用者の知識やスキルに依存してしまう。
【００８１】
以上のとおり、第２比較例にも利用者依存性という欠点がある。それに対し、図１〜２に示した第１実施形態では、利用者定義の重みが使われる訳ではないので、判定精度の利用者依存性がない。また、第１実施形態では、利用者が個々のアドレスを登録する手作業も不要である。
【００８２】
そして、第１実施形態の判定部１０４は、第１比較例の情報処理装置のように、２つの環境に現れるアドレス集合同士が完全に一致するか否かを判定するのではない。つまり、判定部１０４は、分布一致基準により規定される許容範囲内で第１と第２の分布が一致するか否かを判定する。したがって、第１実施形態には第１比較例のような欠点もない。
【００８３】
以上のように、第１実施形態は、例えば第１比較例や第２比較例と比較すると、「利用者に依存せずに柔軟な判定を行うことができる」という点において優れている。
さらに、第１実施形態の情報処理装置１００は、「管理サーバなど情報処理装置１００以外の外部の特定の装置を必要とせずに、自律的に判定を行える」という点でも優れている。
【００８４】
以下に、第１実施形態の利点に関してさらに説明するために、第３〜第５比較例についても説明する。第３〜第５比較例によれば、限定された条件下では、端末が環境に応じて動作することも可能だが、端末自身が自律的に環境を判断することはできない。
【００８５】
第３比較例は、携帯端末サービスの多様な認証要件に応じた認証を行うことを目的とした、ある種のユーザ認証システムである。第３比較例のユーザ認証システムは、携帯端末とポータル端末とサービスプロバイダと信頼性保証サーバを含む。
【００８６】
また、第３比較例のユーザ認証システムでは、サービスに応じた認証要件が予め定義されていることと、ポータル端末ごとの統計情報を信頼性保証サーバが分析することが前提とされる。よって、第３比較例では、予め定義されていない新規の環境における携帯端末の振る舞いが定義不能である。また、第３比較例では、携帯端末以外にも、ポータル端末やサービスプロバイダや信頼性保証サーバが必要である。
【００８７】
それに対し、第１実施形態では、例えば「ステップＳ１０９で第２の結果が出力された場合に、生体認証の照合閾値を大きくする」というように、新規の環境における情報処理装置１００の振る舞いが定義可能である。また、第１実施形態では、情報処理装置１００は、ポータル端末やサービスプロバイダや信頼性保証サーバなどの外部の装置を必要とせずに、自律的に環境の判定を行うことができる。
【００８８】
また、第３比較例のユーザ認証システムにおいて、認証精度を保証するための信頼性保証サーバによる分析は、総当たり式に照合値分布を作成することを含む。すると、仮に認証データが携帯端末の耐タンパデバイスに安全に格納されているとしても、分析のためには複数のユーザについてのデータを混在した状態で保存する必要が生じ、データの安全性に問題がある。しかし、第１実施形態では、情報処理装置１００以外のポータル端末や信頼性保証サーバが不要なので、そのような問題は生じない。
【００８９】
また、第４比較例は、ディスプレイステーションと１つ以上の情報処理端末を含むシステムである。そして、ディスプレイステーションの記憶装置は、情報処理端末がディスプレイステーションと通信するための設定情報と、情報処理端末内で実行されるアプリケーションとを記憶する。また、ディスプレイステーションが起動または電源投入した場合に、ディスプレイステーションの処理装置が、設定情報とアプリケーションを記憶デバイスに格納する。
【００９０】
ディスプレイステーションが記憶デバイスを管理することにより、情報処理端末へのアプリケーションのインストールや記憶デバイスの設定が容易になる。また、簡易な接続によって機器間の連携動作環境を構築することができる。
【００９１】
しかし、第４比較例では、予め用意された記憶デバイスが必要である。よって、同時に環境の判定ができる情報処理端末の数は、予め用意された記憶デバイスの数によって制限されてしまう。それに対して第１実施形態では、情報処理装置１００が、情報処理装置１００単独で環境の判定を行うことができ、ディスプレイステーションにより管理される記憶デバイスなどの他の装置を必要としない。つまり、第１実施形態では、図１の情報処理装置１００がいくつ存在しようとも、各情報処理装置１００が自律的に同時に環境の判定を行うことができる。
【００９２】
また、第４比較例では、記憶デバイスに設定されていない環境に関して、情報処理端末が自律的な判定を行うことはできない。それに対し、第１実施形態の情報処理装置１００は、予め決められた環境（例えば第１の環境１１０）と異なる新たな環境（例えば第２の環境１２０）に置かれた場合に、新たな環境に置かれたことを認識し、新たな環境に合わせて動作することができる。例えば、新たな環境に合わせて、情報処理装置１００は、生体認証の照合閾値を大きくすることができる。
【００９３】
第５比較例は、アドホックネットワークの無線端末であり、匿名通信路上の情報を保持するとともに、匿名通信路上の隣接する端末の特定情報を近傍者リストとして保持する。そして、第５比較例の無線端末は、近傍者リストを検索して近傍に存在する端末との情報交換処理を行う。
【００９４】
第５比較例によれば、動的に構成要素が変わるアドホックネットワークにおいて、コンテキスト情報を匿名で利用することが可能となる。しかしながら、第５比較例では、無線端末が環境自体を判定することはできない。それに対して、第１実施形態の情報処理装置１００は環境の判定を行うことができる。
【００９５】
また、第５比較例では、アドホックネットワーク内の一部の少数の無線端末にだけ情報交換機能が実装された場合、得られる効果は限定的である。それに対して、第１実施形態によれば、ある１台の情報処理装置１００が図１のように構成されさえすれば、その１台の情報処理装置１００は、第１実施形態に関して上記で説明した動作により、上記の効果を発揮することができる。
【００９６】
ところで、上記の第２比較例の重みに関する考察からも理解されるように、ある特定の環境内において、安定的にほとんど常に存在する装置と、時間によって存在したり存在しなかったりする不安定な装置が混在していることがある。そこで、第１実施形態の情報処理装置１００は、他の装置の安定度を考慮に入れて第１と第２の分布が一致するか否かを判定するために、以下のように動作してもよい。
【００９７】
すなわち、アドレス認識部１０１は、第１の時点とも第２の時点とも異なる１つ以上の第３の時点のそれぞれにおいて情報処理装置１００が存在する環境内に存在する、１つ以上の他の装置のアドレスをさらに認識してもよい。そして、マッピング部１０２は、各第３の時点においてアドレス認識部１０１が認識した第３の個々のアドレスを、それぞれ座標空間上の点にマッピングしてもよい。
【００９８】
例えば、第１の時点では、情報処理装置１００が予め決められた安全な第１の環境１１０に置かれるとする。第１の環境１１０は、時間の経過とともに多少変動するかもしれないが、情報処理装置１００は、１つ以上の第３の時点を含む期間の間、第１の環境１１０の中に置かれたままであるとする。
【００９９】
また、分布認識部１０３は、第３の個々のアドレスがマッピングされた第３の個々の点の座標をさらに用いて、図２のステップＳ１０３において第１の分布を認識してもよい。具体的には、例えば、分布認識部１０３は、第１の時点と１つ以上の第３の時点のうち少なくとも１つ以上の時点において認識されたアドレスがマッピングされたすべての点の座標を用いて、第１の分布を認識してもよい。
【０１００】
ところで、第２の時点においては、情報処理装置１００は、第１の環境１１０とは物理的に離れた場所にある、まったく異なる環境に移動されているかもしれない。逆に、情報処理装置１００は、第２の時点においても、引き続き、第１の時点や１つ以上の第３の時点と同じ位置に置かれたままであるかもしれない。また、情報処理装置１００が物理的には移動しなくても、第１の環境１１０に多数の新たな装置が追加されたり、第１の環境１１０から多数の装置が消えたりすることで、第１の環境１１０は、第２の時点では実質的にまったく異なる環境に変化していることもある。
【０１０１】
そこで、分布認識部１０３は、他の装置の不安定さを考慮するため、図２のステップＳ１０６において、以下のようにして第２の分布を認識してもよい。
まず、分布認識部１０３は、第１の時点と第２の時点と１つ以上の第３の時点を含む複数の時点の間での、アドレス認識部１０１が認識したアドレスの集合の変動に応じて、各アドレスに対応するオフセットを算出する。そして、分布認識部１０３は、第２の個々の点それぞれの座標に、対応するオフセットを足す。分布認識部１０３は、以上のようにしてオフセットを足した座標を使って、第２の分布を認識する。
【０１０２】
例えば、図１の例では、第１の時点でアドレス認識部１０１が認識したアドレスの集合は、装置１３１〜１３４の４つのアドレスからなり、第２の時点でアドレス認識部１０１が認識したアドレスの集合は、装置１３２〜１３５の４つのアドレスからなる。また、ある第３の時点でアドレス認識部１０１が認識したアドレスの集合は、装置１３１〜１３５の５つのアドレスからなるかもしれない。あるいは、途中で装置１３３の電源が切られた場合、別のある第３の時点でアドレス認識部１０１が認識したアドレスの集合は、装置１３１、１３２、１３４の３つのアドレスからなるかもしれない。
【０１０３】
このように、アドレス認識部１０１が認識したアドレスの集合は、変動し得る。そこで、分布認識部１０３は、上記のように変動に応じたオフセットを用いて第２の分布を認識してもよい。
【０１０４】
より具体的には、分布認識部１０３は、例えば、第１の時点と第２の時点と１つ以上の第３の時点を含む複数の時点のうち少なくとも１つの時点においてアドレス認識部１０１が認識した個々の各アドレスについて、以下のようにしてオフセットを算出してもよい。すなわち、分布認識部１０３は、アドレスの集合の変動のうち、オフセットを算出する対象の当該アドレスに関する変動を示す、１つ以上のアドレス変動指標を算出してもよい。そして、分布認識部１０３は、１つ以上のアドレス変動指標から、当該アドレスに対応するオフセットを算出してもよい。
【０１０５】
具体的には、オフセットはベクトルとして算出されてもよい。例えば、分布認識部１０３は、１つ以上のアドレス変動指標がそれぞれ示す各変動の大きさに対して単調増加する関数を使って、オフセットの大きさを算出し、乱数を使ってオフセットの方向を算出してもよい。
【０１０６】
ここで、１つ以上のアドレス変動指標のうちの少なくとも１つは、「第１の時点と第２の時点と１つ以上の第３の時点を含む複数の時点のうち、いくつの時点において、当該アドレスが認識されたか」に応じた値である。例えば、装置１３１についてのアドレス変動指標は、「複数の時点のうちのいくつの時点で装置１３１のアドレスが認識されたか」に応じた値である。
【０１０７】
より具体的には、例えば、「上記の複数の時点に占める、装置１３１のアドレスが認識されなかった時点の割合」などの値が、アドレス変動指標として使われてもよい。例えば、後述の第２実施形態において、「出現回数」に応じた値をとる「不在率」が、このようなアドレス変動指標の具体例である。
【０１０８】
また、「オフセットを算出する対象の当該アドレスが認識された最新の時点は、どの時点なのか」に応じた値が、アドレス変動指標の１つとしてさらに使われてもよい。例えば、装置１３１に関するアドレス変動指標として、「装置１３１のアドレスが認識された最新の時点から、第２の時点までの範囲で、アドレス認識部１０１によるアドレスの認識が行われた時点がいくつ存在するか」に応じた値が使われてもよい。例えば、後述の第２実施形態において、「前回計測回」に応じた値をとる「時間経過率」が、このようなアドレス変動指標の具体例である。
【０１０９】
ところで、図２のステップＳ１０３とＳ１０６に関して説明したとおり、分布認識部１０３は、特徴点分布同士の比較アルゴリズムを判定部１０４が利用できるようにするために、点の座標だけでなく角度を用いて第１と第２の分布を認識してもよい。
【０１１０】
具体的には、分布認識部１０３は、第１の個々の点についてそれぞれ、当該第１の個々の点の第１の基準点に対する第１の角度を算出する。その結果、第１の個々の点それぞれの座標と角度が得られる。すなわち、第１の時点でアドレス認識部１０１が認識した各アドレスから、座標と角度を持った特徴点が得られる。すなわち、第１の分布は特徴点分布として表される。なお、第１の基準点は、例えば、第１の時点と１つ以上の第３の時点のうち少なくとも１つ以上の時点で認識されたアドレスがマッピングされた点すべての重心でもよい。
【０１１１】
また、分布認識部１０３は、オフセットにより移動された第２の個々の点についてそれぞれ、当該移動された第２の個々の点の第２の基準点に対する第２の角度を算出する。その結果、第２の個々の点それぞれの座標と角度が得られる。すなわち、第２の時点でアドレス認識部１０１が認識した各アドレスから、座標と角度を持った特徴点が得られる。すなわち、第２の分布も特徴点分布として表される。なお、第２の基準点は、例えば、第１の時点と第２の時点と１つ以上の第３の時点を含む複数の時点のうち少なくとも１つの時点において認識されたアドレスがマッピングされた点をオフセットによって移動した点すべての重心でもよい。
【０１１２】
したがって、図２のステップＳ１０７で判定部１０４は、特徴点分布同士を比較するための任意のアルゴリズムを利用することができる。例えば、判定部１０４は、第２の個々のアドレスのうち、第１の個々のアドレスのいずれかと同じである各アドレスについて、（Ａ１）かつ（Ａ２）という条件が成立するか否かを判定してもよい。
【０１１３】
（Ａ１）当該アドレスがマッピングされた点の第１の基準点に対する第１の相対位置と、当該アドレスがマッピングされた点がオフセットにより移動された点の第２の基準点に対する第２の相対位置との差が、第１の範囲内である。換言すれば、「アドレスがマッピングされた元の点と、オフセットによって移動された点との間の距離を、第１と第２の基準点が重なるように位置合わせを行ってから計測する」という仮定のもとで、計測される距離が第１の範囲内である。
（Ａ２）第１の角度と第２の角度の差が第２の範囲内である。
【０１１４】
上記の第１の範囲と第２の範囲は、分布一致基準によって規定される。例えば、第１の範囲は「第１の相対位置と第２の相対位置の間の距離が３０以内の範囲」などでもよいし、第２の範囲は「−１５°以上かつ＋１５°以下の範囲」などでもよい。
【０１１５】
また、分布一致基準は、（Ａ１）かつ（Ａ２）という条件が成立するアドレスの割合に関する下限値を規定する。この下限値は、「第１の分布と第２の分布が一致する」と判定部１０４が判定するための下限値である。
【０１１６】
例えば、下限値が７０％のとき、判定部１０４は「（Ａ１）かつ（Ａ２）という条件が成立するアドレスの、第２の時点で認識された全アドレスに対する割合が７０％以上なら、第１の分布と第２の分布は一致する」と判定してもよい。あるいは、「第２の時点で認識された全アドレスに対する割合」の代わりに、「第１の時点と第２の時点と１つ以上の第３の時点を含む複数の時点のうち少なくとも１つの時点で認識された全アドレスに対する割合」が使われてもよい。分布一致基準により規定される下限値の具体例は、後述の第２実施形態の「基準合致率」である。
【０１１７】
例えば上記のようなオフセットを使った移動により、利用者定義の重みを使うことなく、判定部１０４による判定に、他の装置の「不安定さ」を反映することが可能となる。つまり、オフセットを使った移動により、日常的に生じ得る小さな環境変動に起因する誤判定が減り、ステップＳ１０７の判定の精度が向上する。
【０１１８】
さて、続いて、環境同士が一致するか否かの判定結果を、生体認証における照合閾値の切り換えに利用する第２実施形態について、図３〜２８を参照して説明する。
図３は第２実施形態の利用者端末の構成の概要を示す図である。
【０１１９】
図３の利用者端末２００は、認証情報入力部２１０を内蔵するか、または外付けの認証情報入力部２１０と接続される。また、利用者端末２００は、認証情報ＤＢ（データベース）２２０と個人認証部２３０を有する。
【０１２０】
また、利用者端末２００は、他の装置（例えば装置３００ａおよび３００ｂ）との通信を行う通信制御部２４０を有する。なお、装置３００ａも、他の装置（例えば利用者端末２００）との通信を行う通信制御部３１０ａを有する。同様に、装置３００ｂも、他の装置（例えば利用者端末２００）との通信を行う通信制御部３１０ｂを有する。
【０１２１】
さらに、利用者端末２００は、アドレス計測部２５０とアドレス管理部２６０と登録環境ＤＢ２７０と特徴点分布生成部２８０と環境判定部２９０を有する。なお、図３では登録環境ＤＢ２７０がアドレス管理部２６０の外側に描かれているが、アドレス管理部２６０が登録環境ＤＢ２７０を含んでいてもよい。
【０１２２】
利用者端末２００の上記各部の詳細は、以下のとおりである。
認証情報入力部２１０は、個人認証用に利用者から情報の入力を受け付ける。認証情報ＤＢ２２０には、利用者を認証するために用いる情報が予め格納されている。個人認証部２３０は、認証情報入力部２１０が受け付けた入力と認証情報ＤＢ２２０に格納されている情報を使って個人認証処理を行う。なお、図３では認証情報ＤＢ２２０が個人認証部２３０の外側に描かれているが、個人認証部２３０が認証情報ＤＢ２２０を含んでいてもよい。
【０１２３】
詳しくは後述するが、個人認証部２３０は、少なくとも、利用者の生体情報（biometric information）を用いた生体認証を行う。個人認証部２３０はさらに、ＩＤとパスワードの組み合わせを用いたテキストベースの個人認証機能を提供してもよい。
【０１２４】
なお、生体認証の種類は任意である。例えば、指紋、静脈パターン、声紋、虹彩などによる生体認証が利用可能である。
また、個人認証部２３０が生体認証に用いる照合閾値は、切り換え可能である。個人認証部２３０は、生体認証を行う前に、どの照合閾値を使うかを決めるために、アドレス管理部２６０に問い合わせを行う。問い合わせへの応答は、アドレス管理部２６０から返されるか、または、アドレス管理部２６０を介して環境判定部２９０から返される。そして、個人認証部２３０は、問い合わせに対する応答に応じて照合閾値を切り換える。
【０１２５】
通信制御部２４０と通信制御部３１０ａとの間の通信は、無線通信でもよいし有線通信でもよい。同様に、通信制御部２４０と通信制御部３１０ｂとの間の通信は、無線通信でもよいし、有線通信でもよい。無線通信の例は、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）  ８０２．１１シリーズの無線ＬＡＮ規格による通信や、Bluetooth（登録商標）による通信であり、有線通信の例は、有線イーサネット（登録商標）による通信である。
【０１２６】
アドレス計測部２５０は、通信制御部２４０に通信を行わせることにより、通信制御部２４０を介して、利用者端末２００と同じ環境内に存在する装置３００ａや３００ｂのアドレスを収集する。なお、アドレスの「収集」とは、認識、計測、観測、検出、走査あるいは探査などと換言することもできる。
【０１２７】
また、アドレス管理部２６０は、後述の環境登録処理と計測処理において、適宜のタイミングでアドレス計測部２５０にアドレスの収集を依頼する。すなわち、アドレス管理部２６０、アドレス計測部２５０および通信制御部２４０は、協働して、第１実施形態のアドレス認識部１０１と同様の機能を実現する。
【０１２８】
なお、環境登録処理において、アドレス管理部２６０は、アドレス計測部２５０が収集したアドレスを登録環境ＤＢ２７０に格納し、アドレスの収集結果に基づいて統計情報を生成し、生成した統計情報も登録環境ＤＢ２７０に格納する。また、計測処理においてアドレス計測部２５０が収集したアドレスは、環境判定部２９０による判定結果に応じて、最終的に登録環境ＤＢ２７０に格納されることもあるし、破棄されることもある。
【０１２９】
環境登録処理は、利用者からの指示にしたがって、ある特定の環境を「セキュリティよりも利便性を優先させてよい環境」として登録環境ＤＢ２７０に登録するための処理である。例えば、利用者端末２００が、会社職員の業務用の端末である場合、当該職員が会社内の自席で業務を行うときの環境が登録環境ＤＢ２７０に登録されてもよい。
【０１３０】
また、アドレス管理部２６０は、登録環境ＤＢ２７０にまだ何も環境が登録されていないときに個人認証部２３０から問い合わせを受けた場合、何も環境が登録されていないことを個人認証部２３０に回答する。
【０１３１】
アドレス管理部２６０は、計測処理を制御するだけでなく、さらに後述の判定処理を開始するよう特徴点分布生成部２８０に依頼する。すると、特徴点分布生成部２８０は、アドレス計測部２５０により計測されて記憶されたアドレスから、特徴点分布を生成する。すなわち、特徴点分布生成部２８０は、各アドレスを座標と角度を持った特徴点に変換することにより、アドレス集合から特徴点分布を生成する。換言すれば、特徴点分布生成部２８０は、第１実施形態のマッピング部１０２と分布認識部１０３に相当するコンポーネントを含む。
【０１３２】
また、環境判定部２９０は、第１実施形態の判定部１０４の具体例でもある。環境判定部２９０は、特徴点分布生成部２８０が生成した２つの特徴点分布を比較することにより、「利用者端末２００が置かれた環境が、予め登録環境ＤＢ２７０に登録された特定の環境であるか否か」を判定する。そして、環境判定部２９０は、アドレス管理部２６０を介して（あるいは直接的に）、判定結果を個人認証部２３０に出力する。すると、個人認証部２３０は、個人認証処理で用いる照合閾値を、判定結果に応じて切り換える。
【０１３３】
続いて、図４を参照して、図３の利用者端末２００を実現するハードウェアの例を説明する。利用者端末２００は、専用のハードウェア回路、プログラムを実行する汎用のコンピュータ、あるいはその組み合わせにより実現可能であるが、図４には一般的なコンピュータによって利用者端末２００が実現される場合の例を示した。
【０１３４】
図４はコンピュータ４００の構成図である。なお、第１実施形態の図１の情報処理装置１００も、図４のようなコンピュータ４００により実現することができる。また、コンピュータ４００は、より具体的には、例えば、デスクトップ型のＰＣ、ノート型のＰＣ、ＰＤＡ（Personal Digital Assistant）、スマートフォン、タブレット型またはその他の携帯情報端末、携帯電話などである。
【０１３５】
さて、図４のコンピュータ４００は、ＣＰＵ４０１とＲＯＭ（Read Only Memory）４０２とＲＡＭ４０３と通信インタフェイス４０４と入力装置４０５と出力装置４０６と記憶装置４０７を有する。また、コンピュータ４００は、可搬型記憶媒体４５０の駆動装置４０８も有する。なお、ＣＰＵ４０１とＲＯＭ４０２とＲＡＭ４０３と通信インタフェイス４０４と入力装置４０５と出力装置４０６と記憶装置４０７と駆動装置４０８は、互いにバス４０９で接続されている。
【０１３６】
ＣＰＵ４０１は、プログラムをＲＡＭ４０３にロードして、ＲＡＭ４０３をワークエリアとして利用しながら、プログラムを実行する。なお、プログラムは、ＲＯＭ４０２または記憶装置４０７に予め格納されていてもよいし、ネットワークから通信インタフェイス４０４を介してダウンロードされ、記憶装置４０７に格納されてもよい。
【０１３７】
あるいは、プログラムは、コンピュータ読み取り可能な可搬型記憶媒体４５０に格納されて提供され、駆動装置４０８により読み取られてもよい。駆動装置４０８により可搬型記憶媒体４５０から読み取られたプログラムは、直接ＲＡＭ４０３にロードされてもよいし、一旦記憶装置４０７にコピーされ、記憶装置４０７からＲＡＭ４０３にロードされてもよい。
【０１３８】
可搬型記憶媒体４５０としては、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disk）などの光ディスク、光磁気ディスク、磁気ディスク、不揮発性の半導体メモリカードなどが利用可能である。また、ＲＯＭ４０２、ＲＡＭ４０３、記憶装置４０７、および可搬型記憶媒体４５０は、いずれもコンピュータ読み取り可能な記憶媒体の例である。これらのコンピュータ読み取り可能な記憶媒体は、有形の（tangible）媒体であり、信号搬送波のような一時的な（transitory）媒体ではない。
【０１３９】
通信インタフェイス４０４は、有線、無線、または双方の通信のためのインタフェイスである。例えば、通信インタフェイス４０４は、有線ＬＡＮ、無線ＬＡＮ、Bluetooth（登録商標）などの通信にそれぞれ対応する各種ハードウェアを含む。
【０１４０】
また、入力装置４０５は、例えば、ボタン４１０、テンキー４１１、キーボード４１２、マイク４１３、カメラ４１４、およびセンサ４１５を含んでいてもよい。入力装置４０５は、さらにマウスなどのポインティングデバイスを含んでもよい。なお、もちろん入力装置４０５は、図４において入力装置４０５の矩形の中に示したコンポーネントのうち一部のみを含んでいてもよい。
【０１４１】
また、タッチスクリーン４１６のように、入力装置４０５と出力装置４０６を兼ねるデバイスが使われてもよい。出力装置４０６は、タッチスクリーン４１６あるいは不図示のディスプレイに加えて、例えばスピーカ４１７をさらに含んでもよい。
また、記憶装置４０７は、ハードディスク装置やフラッシュメモリなどの、不揮発性の記憶装置である。
【０１４２】
以下に、図３と図４の関係を説明する。
認証情報入力部２１０は入力装置４０５により実現され、認証情報ＤＢ２２０は記憶装置４０７上に保持される。また、個人認証部２３０は、ＣＰＵ４０１がプログラムを実行することにより実現される。なお、認証情報ＤＢ２２０を保持するために耐タンパ性の記憶装置４０７が使われてもよい。
【０１４３】
個人認証部２３０がＩＤとパスワードの組み合わせに基づく個人認証処理を行う場合、認証情報入力部２１０は、キーボード４１２により実現される。また、個人認証部２３０が声紋による生体認証を行う場合、認証情報入力部２１０は、マイク４１３により実現される。あるいは、個人認証部２３０が指紋、静脈パターン、虹彩などによる生体認証を行う場合、認証情報入力部２１０は、カメラ４１４により実現されてもよいし、指紋センサなどの専用のセンサ４１５により実現されてもよい。
【０１４４】
通信制御部２４０は、プログラムを実行するＣＰＵ４０１と、通信インタフェイス４０４によって、実現される。また、アドレス計測部２５０とアドレス管理部２６０は、ＣＰＵ４０１がプログラムを実行することによって、実現される。
【０１４５】
登録環境ＤＢ２７０は記憶装置４０７上に保持されるが、登録環境ＤＢ２７０内の情報が一時的にＲＡＭ４０３に格納されてもよいことは無論である。また、特徴点分布生成部２８０と環境判定部２９０も、ＣＰＵ４０１がプログラムを実行することにより実現される。
【０１４６】
続いて、図３に示した利用者端末２００の詳細を説明する。図５は、第２実施形態の利用者端末２００の構成の詳細を示す図である。図５において、図３と同様のコンポーネントには、図３と同じ参照符号が付与されている。
【０１４７】
図５に示すとおり、個人認証部２３０は、認証処理部２３１、スキーム変更部２３２、閾値変更部２３３、生体情報登録部２３４、および生体情報照合部２３５を含む。また、図３では認証情報ＤＢ２２０が個人認証部２３０の外に描かれているが、図５のように個人認証部２３０が認証情報ＤＢ２２０を含んでもよい。
【０１４８】
そして、図５に示すとおり、アドレス管理部２６０は、状況判断部２６１、アドレス抽出部２６２、および統計処理部２６３を含む。また、図３では登録環境ＤＢ２７０がアドレス管理部２６０の外に描かれているが、図５のようにアドレス管理部２６０が登録環境ＤＢ２７０を含んでもよい。
【０１４９】
そして、特徴点分布生成部２８０は、アドレス分解部２８１、距離決定部２８２、アドレス配置部２８３、および重心決定部２８４を含む。また、環境判定部２９０は、位置合わせ部２９１および合致判断部２９２を含む。
【０１５０】
さらに、利用者端末２００は、現在環境情報２９５を内部データとして一時的に保持する。現在環境情報２９５は、例えばＲＡＭ４０３上に保持され、アドレス管理部２６０、特徴点分布生成部２８０、および環境判定部２９０からアクセス可能である。
【０１５１】
以下に、図３には現れない、図５中の各部の動作について説明する。
個人認証部２３０内の認証処理部２３１は、認証情報入力部２１０から入力された情報と認証情報ＤＢ２２０に格納されている情報を用いて認証処理を行う。なお、認証情報ＤＢ２２０は、利用者のＩＤとパスワードを対応づける情報を格納するとともに、利用者の生体情報を格納する。
【０１５２】
また、スキーム変更部２３２は、認証処理のスキームを適宜切り換える。具体的には、スキーム変更部２３２は、ＩＤとパスワードを用いたテキストベースの認証処理と生体情報を用いた認証処理のどちらによる認証を認証処理部２３１が行うのかを切り換える。
【０１５３】
認証処理部２３１が生体認証を行う場合、認証情報入力部２１０から入力された情報と認証情報ＤＢ２２０に格納されている情報との照合は、生体情報照合部２３５が行う。生体情報照合部２３５は、認証情報入力部２１０から入力された情報と認証情報ＤＢ２２０に格納されている情報との一致の度合を示すスコア（照合スコアともいう）を算出し、算出したスコアを認証処理部２３１に出力する。
【０１５４】
認証処理部２３１は、生体情報照合部２３５から出力されたスコアを照合閾値と比較する。そして、認証処理部２３１は、スコアが照合閾値を超えていれば利用者を認証成功とし、スコアが照合閾値以下ならば利用者を認証失敗とする。
【０１５５】
ここで、上記のとおり照合閾値は切り換え可能である。具体的には、個人認証部２３０からの問い合わせに対するアドレス管理部２６０または環境判定部２９０からの回答に応じて、閾値変更部２３３が照合閾値を切り換える。
【０１５６】
なお、生体情報登録部２３４は、利用者の生体情報を認証情報ＤＢ２２０に登録する処理を行う。
また、アドレス管理部２６０内の状況判断部２６１は、アドレス管理部２６０が行う処理の状況を判断する。具体的には、状況判断部２６１は、特定の環境を登録環境ＤＢ２７０に登録するための環境登録処理と、利用者端末２００が現在置かれた環境を認識するための計測処理のいずれが実行中なのかを判断する。また、第２実施形態では、環境登録処理において、アドレス計測部２５０によるアドレスの計測が複数回繰り返される。よって、状況判断部２６１は、環境登録処理の進捗状況についても判断する。
【０１５７】
アドレス抽出部２６２は、判定処理を開始するようアドレス管理部２６０が特徴点分布生成部２８０に依頼するときに、登録環境ＤＢ２７０からアドレスのデータを抽出し、抽出したデータを特徴点分布生成部２８０に出力する。
【０１５８】
また、統計処理部２６３は、状況判断部２６１が判断した状況に基づいて統計情報を生成する。統計処理部２６３は、登録環境ＤＢ２７０または現在環境情報２９５に統計情報を格納する。
【０１５９】
そして、特徴点分布生成部２８０において、アドレス分解部２８１は、アドレスを２つの部分に分解し、２つの部分からＸ座標とＹ座標をそれぞれ算出する。つまり、アドレス分解部２８１は、アドレスをＸＹ座標空間（すなわちＸＹ平面）内の点にマッピングする。アドレス分解部２８１は、図１のマッピング部１０２の例の一つでもある。
【０１６０】
また、距離決定部２８２とアドレス配置部２８３は、協働して、図１の分布認識部１０３と類似の処理（具体的にはオフセットの算出）を行う。
具体的には、距離決定部２８２は、現在環境情報２９５に含まれる統計情報を用いてオフセットの大きさを決定する。第２実施形態では、アドレスの不安定さを反映する「距離」が後述のように定義され、距離の１／２が、オフセットの大きさとして使われる。そして、アドレス配置部２８３は、オフセットの方向としてランダムな角度を生成し、オフセットの加算によって点を移動する。
【０１６１】
すると、重心決定部２８４は、それぞれ移動された点の重心の位置を算出する。また、重心決定部２８４は、移動された点の重心に対する角度を、特徴点が持つ角度として算出する。以上のようにして、特徴点分布生成部２８０は、利用者端末２００が現在置かれた環境に関して、オフセットを利用した特徴点分布の生成を行うことができる。
【０１６２】
なお、特徴点分布生成部２８０は、オフセットを利用しないで特徴点分布を生成することもできる。すなわち、重心決定部２８４は、アドレス分解部２８１によりＸＹ平面上にそれぞれマッピングされた点の重心を算出し、各点の重心に対する角度を、各特徴点が持つ角度として算出することもできる。特徴点分布生成部２８０は、登録環境ＤＢ２７０に登録された環境に関しては、オフセットを利用せずに特徴点分布を生成する。
【０１６３】
また、特徴点分布生成部２８０によって生成された２つの特徴点分布は、環境判定部２９０により比較される。具体的には、位置合わせ部２９１が重心を基準とした位置合わせを行う。そして、合致判断部２９２が、位置合わせされた特徴点分布間で、対応する特徴点同士を比較し、２つの特徴点が許容範囲内で合致するか否かを判断する。環境判定部２９０は、２つの特徴点が合致すると判断された回数に基づいて、特徴点分布同士の合致の度合を算出する。
【０１６４】
結果として、環境判定部２９０は、「２つの特徴点分布がそれぞれ表す２つの環境を同じ環境と見なしてよいか否か」についての判定結果を得る。環境判定部２９０は、判定結果をアドレス管理部２６０に出力する。また、判定結果は、アドレス管理部２６０から個人認証部２３０に出力される。
【０１６５】
ところで、図５には、利用者端末２００が使う情報の例として、認証情報ＤＢ２２０と登録環境ＤＢ２７０と現在環境情報２９５が示されているが、利用者端末２００内ではその他の情報も使われる。図６は、利用者端末２００で使われる情報の一部を例示する図である。
【０１６６】
個人認証部２３０は、内部データとして、図６に示す閾値情報２３６を保持する。閾値情報２３６は、２つの照合閾値をそれぞれ環境に対応づける情報である。図６の例では、閾値情報２３６は、登録済みの環境用の４５００という値の照合閾値と、登録されていない新規の環境用の７０００という値の照合閾値を含む。
【０１６７】
なお、第２実施形態では、照合閾値が大きいほど、より厳格な生体認証が行われる。例えば、照合スコアが５０００の場合、照合閾値として４５００が使われれば利用者は認証されるが、照合閾値として７０００が使われれば利用者は認証されない。
【０１６８】
つまり、照合閾値が大きいほど、他人受入率が下がり、セキュリティが上がる。逆の観点から述べれば、照合閾値が小さいほど、本人拒否率が下がり、利便性が増す。
したがって、登録済みの環境には、利便性を優先するために、相対的に小さな値（図６の例では４５００）の照合閾値が対応づけられている。それに対して、登録されていない新規の環境（換言すれば、未知の環境）には、セキュリティを優先するために、相対的に大きな値（図６の例では７０００）の照合閾値が対応づけられている。
【０１６９】
また、アドレス管理部２６０は、内部データとして、図６に示す計測回数２６４と基準回数２６５と計測間隔２６６を保持する。
図６の例では、計測回数２６４の値は１６だが、計測回数２６４は、アドレスの収集のたびにインクリメントされる。なお、計測回数２６４は、利用者端末２００の電源が切られる前に、不揮発性の記憶装置（例えば記憶装置４０７）に書き出される。状況判断部２６１は、計測回数２６４の値に基づいて状況を判断する。
【０１７０】
基準回数２６５は、環境登録処理におけるアドレスの計測の繰り返し回数を規定する所定の定数である。図６の例では、基準回数２６５の値は１６だが、基準回数２６５の値は、もちろん実施形態に応じて任意である。
【０１７１】
計測間隔２６６は、環境登録処理におけるアドレスの計測の間隔を規定する所定の定数である。図６の例では、計測間隔２６６の値は３０分だが、計測間隔２６６の値は、もちろん実施形態に応じて任意である。基準回数２６５と計測間隔２６６の値により、環境登録処理にかかる時間が規定される。
【０１７２】
続いて、利用者端末２００の動作について、より詳しく説明する。
図７は、電源が入れられたときに第２実施形態の利用者端末２００が開始する処理のフローチャートである。
【０１７３】
利用者端末２００に電源が入れられると、まず、ステップＳ２０１で個人認証部２３０が、どのようにして個人認証をするかについてアドレス管理部２６０に問い合わせる。すると、アドレス管理部２６０は、登録環境ＤＢ２７０に環境が登録済みであるか否かを判断する。
【０１７４】
そして、登録環境ＤＢ２７０にはまだ何の環境も登録されていないならば（すなわち、登録環境ＤＢ２７０がエントリを持たない初期状態ならば）、アドレス管理部２６０は、環境が未登録であることを個人認証部２３０に通知する。そして、処理はステップＳ２０２に移行する。逆に、登録環境ＤＢ２７０に環境が登録済みならば（すなわち、登録環境ＤＢ２７０が１つ以上のエントリを有するならば）、処理はステップＳ２１３に移行する。
【０１７５】
ステップＳ２０２では、環境が未登録であることをアドレス管理部２６０から通知された個人認証部２３０において、スキーム変更部２３２が、認証スキームを選択する。そして、スキーム変更部２３２が認証スキームとしてＩＤとパスワードによる認証を選択した場合、処理はステップＳ２０３に移行する。逆に、スキーム変更部２３２が認証スキームとして生体認証を選択した場合、処理はステップＳ２０６に移行する。
【０１７６】
例えば、利用者端末２００は、ＩＤとパスワードによる認証にも対応し、かつ生体認証にも対応している装置であってもよい。また、利用者端末２００は、生体情報が認証情報ＤＢ２２０に登録済みの場合は、ＩＤとパスワードによる認証よりも生体認証を優先するように構成されていてもよい。すると、ステップＳ２０２でスキーム変更部２３２は、認証情報ＤＢ２２０に生体情報が登録済みであれば認証スキームとして生体認証を選択し、認証情報ＤＢ２２０に生体情報が未登録であれば認証スキームとしてＩＤとパスワードによる認証を選択する。
【０１７７】
あるいは、実施形態によっては、利用者端末２００は、生体認証による認証にのみ対応する装置であってもよい。この場合、認証情報ＤＢ２２０に生体情報が登録済みであるという前提のもとで、ステップＳ２０２でスキーム変更部２３２は認証スキームとして必ず生体認証を選択する。よって、ステップＳ２０２〜Ｓ２０５は省略されてもよい。つまり、環境が未登録の場合、処理はステップＳ２０１から直接ステップＳ２０６に進んでもよい。
【０１７８】
さて、ステップＳ２０３では、認証情報入力部２１０（例えばキーボード４１２）がＩＤとパスワードの入力を受け付け、受け付けたＩＤとパスワードを認証処理部２３１に出力する。
【０１７９】
すると、次のステップＳ２０４で認証処理部２３１は、認証情報入力部２１０から得たＩＤおよびパスワード、ならびに認証情報ＤＢ２２０に記憶されている情報を用いて、ＩＤとパスワードに基づく認証処理を行う。
【０１８０】
そして、ステップＳ２０５で認証処理部２３１は、認証が成功したか否かを判断する。ステップＳ２０３でＩＤとパスワードの正しい組み合わせが入力された場合は、認証が成功するので、処理はステップＳ２０５からステップＳ２０９に移行する。
【０１８１】
逆に、ＩＤとパスワードの組み合わせが正しくない場合、認証が失敗するので、図７の処理は終了する。なお、実施形態によっては、認証が失敗した場合、認証処理部２３１はエラーメッセージを画面に表示してもよく、処理が再度ステップＳ２０３に戻ってもよい。
【０１８２】
さて、認証スキームとして生体認証が選ばれた場合、ステップＳ２０６で認証情報入力部２１０（例えばセンサ４１５）が生体情報の入力を受け付ける。そして、認証情報入力部２１０は、受け付けた生体情報を認証処理部２３１に出力する。
【０１８３】
すると、次のステップＳ２０７では、登録されていない新規環境用の照合閾値を用いた厳格な生体認証が行われる。具体的には以下のような処理が行われる。
認証処理部２３１は、認証情報入力部２１０から入力された生体情報と、認証情報ＤＢ２２０に登録済みの生体情報との照合を、生体情報照合部２３５に依頼する。すると、生体情報照合部２３５は、依頼にしたがって生体情報の照合を行い、スコアを算出して認証処理部２３１に出力する。
【０１８４】
また、閾値変更部２３３は、閾値情報２３６の中から、登録されていない新規環境用の照合閾値を選択する。つまり、閾値変更部２３３は、「環境が未登録である」という、アドレス管理部２６０からのステップＳ２０１での通知にしたがい、新規環境用の照合閾値を選択する。そして、認証処理部２３１は、生体情報照合部２３５から得られたスコアを、閾値変更部２３３によって選択された照合閾値と比較する。
【０１８５】
すると、次のステップＳ２０８で認証処理部２３１は、認証が成功したか否かを判断する。スコアが照合閾値を超えている場合は、認証が成功するので、処理はステップＳ２０９に移行する。
【０１８６】
逆に、スコアが照合閾値以下の場合、認証が失敗するので、図７の処理は終了する。なお、実施形態によっては、認証が失敗した場合、認証処理部２３１はエラーメッセージを画面に表示してもよく、処理が再度ステップＳ２０６に戻ってもよい。
【０１８７】
さて、ステップＳ２０９は、環境が未登録であり、かつ認証が成功した場合に実行される。ステップＳ２０９において、アドレス管理部２６０は、利用者端末２００が現在置かれた環境を登録するか否かを判断する。例えば、アドレス管理部２６０は、図５には不図示の入力部（例えば図４の入力装置４０５）を介して、利用者から「利用者端末２００が現在置かれた環境を登録するか否か」に関する指示を受け付け、指示にしたがってステップＳ２０９の判断を下してもよい。
【０１８８】
アドレス管理部２６０が「現在の環境を登録する」と判断すると、続いて、ステップＳ２１０とＳ２１１の処理が並行して行われる。逆に、アドレス管理部２６０が「現在の環境を登録しない」と判断すると、処理はステップＳ２１２に移行する。
【０１８９】
ステップＳ２１０では、利用者端末２００（具体的には、例えばＣＰＵ４０１）が、他の処理を適宜行う。ステップＳ２１０で行われる処理は、認証された利用者に対して実行権限が与えられている任意の処理でよい。
【０１９０】
また、ステップＳ２１１では、アドレス管理部２６０とアドレス計測部２５０と通信制御部２４０が協働して、図８に示す環境登録処理を行う。その結果、利用者端末２００が置かれている環境が登録環境ＤＢ２７０に登録される。
【０１９１】
なお、ステップＳ２１０とＳ２１１が完了すると、図７の処理も終了する。図７の処理の終了後、利用者端末２００の電源が切断されてもよい。
さて、「現在の環境を登録しない」と判断された場合、ステップＳ２１２では、ステップＳ２１０と同様に、利用者端末２００が、他の処理を適宜行う。他の処理の終了後、図７の処理も終了する。図７の処理の終了後、利用者端末２００の電源が切断されてもよい。
【０１９２】
以上のステップＳ２０２〜Ｓ２１２とは逆に、既に何らかの環境が登録環境ＤＢ２７０に登録されている場合、ステップＳ２１３で図１１〜１２の計測処理が行われる。計測処理では、利用者端末２００が現在置かれている環境に存在する他の装置のアドレスが収集される。
【０１９３】
そして、次のステップＳ２１４では、アドレス管理部２６０は、図１４〜１５の判定処理（図２０の照合処理を含む）を開始するよう特徴点分布生成部２８０に依頼する。すると特徴点分布生成部２８０は、登録環境ＤＢ２７０に登録された環境に対応する特徴点分布を生成し、さらに、利用者端末２００が現在置かれた環境に対応する特徴点分布を生成する。
【０１９４】
そして、環境判定部２９０が、２つの特徴点分布の合致度から「登録された環境と現在の環境が同じか否か」を判定する。また、判定結果に応じて閾値変更部２３３が照合閾値を選び、選ばれた照合閾値を用いて認証処理部２３１が生体認証を行う。
【０１９５】
すると、次のステップＳ２１５で認証処理部２３１は、判定処理において行った生体認証が成功したか否かを判断する。生体情報照合部２３５から出力されるスコアが照合閾値を超えている場合は、認証が成功するので、処理はステップＳ２１６に移行する。
【０１９６】
逆に、スコアが照合閾値以下の場合、認証が失敗するので、図７の処理は終了する。なお、実施形態によっては、認証が失敗した場合、認証処理部２３１はエラーメッセージを画面に表示してもよく、判定処理における生体情報の入力の受け付けから処理が繰り返されてもよい。
【０１９７】
さて、ステップＳ２１４内で行われる認証が成功した場合、ステップＳ２１６では、ステップＳ２１０と同様に、利用者端末２００が、他の処理を適宜行う。他の処理の終了後、図７の処理も終了する。図７の処理の終了後、利用者端末２００の電源が切断されてもよい。
【０１９８】
さて、続いて、図７のステップＳ２１１の環境登録処理の詳細について、図８〜１０を参照して説明する。図８は、環境登録処理のフローチャートであり、図９は、環境変化の第１の例を説明する図であり、図１０は、第１の例において登録された環境に関する情報を示す図である。以下では、図８を参照して環境登録処理の流れをまず説明し、その後、図９の例において登録環境ＤＢ２７０にどのような情報が登録されるのかを具体的に説明する。
【０１９９】
図８のステップＳ３０１で状況判断部２６１は、計測回数２６４の値を０に初期化する。計測回数２６４は、環境登録処理または計測処理によってアドレスの計測が行われるたびにインクリメントされる変数である。
【０２００】
そして、次のステップＳ３０２で状況判断部２６１は、計測回数２６４が予め決められた基準回数２６５未満であるか否かを判断する。計測回数２６４が基準回数２６５未満のとき、処理はステップＳ３０３に移行する。逆に、計測回数２６４が基準回数２６５に達しているとき、環境登録処理は終了する。
【０２０１】
さて、ステップＳ３０３で状況判断部２６１は、計測回数２６４を１だけインクリメントする。
【０２０２】
そして、次のステップＳ３０４でアドレス管理部２６０は、アドレス計測部２５０にアドレスの収集を依頼する。すると、アドレス計測部２５０は通信制御部２４０を介して通信を行い、利用者端末２００の周辺にある他の装置（例えば装置３００ａや３００ｂ）のアドレスを収集する。第１実施形態に関して説明したのと同じ理由から、第２実施形態においても、収集対象のアドレスは、ＭＡＣアドレスである。
【０２０３】
つまり、ＭＡＣアドレスは、時間の経過によって変化しない装置固有のアドレスであり、かつ、ベンダに依存しない一般的なプロトコルで収集可能なアドレスである。したがって、ＭＡＣアドレスは、異なる２つの時点の環境をそれぞれ表す２つの特徴点分布を比較するために収集するアドレスとして、好適である。
【０２０４】
ところで、利用者端末２００の周辺に存在する（換言すれば、利用者端末２００と同じ環境内に存在する）装置（例えば装置３００ａや３００ｂ）の種類に応じて、ＭＡＣアドレスを収集するための具体的方法は異なる。そして、当然ながら利用者端末２００は、「利用者端末２００装置が現在置かれている環境内にどのような種類の装置があるのか」ということを事前には認識していない。
【０２０５】
そこで、ステップＳ３０４でアドレス計測部２５０は、複数の方法によってアドレスを収集する。具体的には、アドレス計測部２５０は、以下の（Ｂ１）〜（Ｂ４）の４つの方法のうち２つ以上の方法によってアドレスを収集することが望ましい。
【０２０６】
（Ｂ１）Bluetooth（登録商標）対応の装置から、Bluetooth（登録商標）規格にしたがったパケット送受信によりＭＡＣアドレスを収集する方法。
（Ｂ２）利用者端末２００と同一のサブネットに属する装置から、ＡＲＰ（Address Resolution Protocol）パケットの送受信によりＭＡＣアドレスを収集する方法。
（Ｂ３）無線ＬＡＮアクセスポイントからのビーコンフレームの受信によりＭＡＣアドレスを収集する方法。
（Ｂ４）アドホックモードの無線ＬＡＮ端末からのビーコンフレームの受信によりＭＡＣアドレスを収集する方法。
【０２０７】
以下に、上記（Ｂ１）〜（Ｂ４）の方法の詳細を説明する。
（Ｂ１）の方法でアドレス計測部２５０が収集することができるＭＡＣアドレスは、以下の条件（Ｃ１）〜（Ｃ３）をすべて満たすBluetooth（登録商標）対応の装置のＭＡＣアドレスである。
【０２０８】
（Ｃ１）電源が入っている。
（Ｃ２）利用者端末２００と物理的に通信可能な位置に置かれている。
（Ｃ３）デバイス検出に応答する設定になっている（つまり、「Scan Enable」パラメタが有効になっている）。
【０２０９】
そして、（Ｂ１）の方法では、アドレス計測部２５０は、ＨＣＩ（Host Controller Interface）コマンドパケットに、装置探索用のLink Control CommandsとInquiry Commandを設定して、問い合わせ（Inquiry）パケット（ＩＱパケットともいう）を生成する。そして、アドレス計測部２５０は、通信制御部２４０を介してＩＱパケットをブロードキャストする。
【０２１０】
以下、説明の便宜上、例えば装置３００ａが（Ｃ１）〜（Ｃ３）の条件を満たすものとする。この場合、装置３００ａは、定期的に行うＩＱパケットのスキャンにより、ブロードキャストされたＩＱパケットを検知する。
【０２１１】
そして、ＩＱパケットを検知した装置３００ａは、ＩＱパケットに対する応答パケットとして、ＦＨＳ（Frequency Hop Synchronization）パケットを生成する。具体的には、装置３００ａは、ＦＨＳパケットの中に、装置３００ａ自身のＭＡＣアドレスを設定し、ＩＱパケットの送信元の利用者端末２００へＦＨＳパケットを送信する。
【０２１２】
すると、利用者端末２００の通信制御部２４０がＦＨＳパケットを受信する。そして、アドレス計測部２５０は、受信されたＦＨＳパケットのペイロードから、装置３００ａのＭＡＣアドレスを抽出する。以上のようにして、アドレス計測部２５０は、（Ｂ１）の方法により、（Ｃ１）〜（Ｃ３）の条件を満たす装置（例えば装置３００ａ）のＭＡＣアドレスを取得する。
【０２１３】
また、アドレス計測部２５０は、（Ｂ２）の方法によるＭＡＣアドレスの収集を行ってもよい。
なお、（Ｂ２）の方法では、「アドレス計測部２５０は、利用者端末２００に設定されたＩＰアドレス、ＭＡＣアドレス、ＩＰアドレスのネットワークアドレス部を認識することができる」ということが前提である。しかし、この前提は、実質的な制約ではない。
【０２１４】
なぜなら、ネットワーク機能を持つコンピュータ４００ではこの前提が一般的に成り立つからである。例えば、アドレス計測部２５０は、「ipconfig」コマンドの実行により、利用者端末２００に設定されたＩＰアドレス、ＭＡＣアドレス、ＩＰアドレスのネットワークアドレス部（換言すればサブネットマスク）を認識することができる。
【０２１５】
さて、（Ｂ２）の方法でアドレス計測部２５０が収集することができるアドレスは、以下の条件（Ｄ１）〜（Ｄ３）をすべて満たす装置のＭＡＣアドレスである。
（Ｄ１）電源が入っている。
（Ｄ２）有線ＬＡＮまたは無線ＬＡＮに接続されている。
（Ｄ３）利用者端末２００と同一のサブネット（換言すれば同一のブロードキャストドメイン）に属する。
【０２１６】
そして、（Ｂ２）の方法では、アドレス計測部２５０は、まず、利用者端末２００に設定されたＩＰアドレス、ＭＡＣアドレス、サブネットマスクを認識する。そして、アドレス計測部２５０は、利用者端末２００に設定されたサブネットマスクとＩＰアドレスから、利用者端末２００と同一のサブネット内で論理的に可能なすべてのＩＰアドレスを生成する。
【０２１７】
説明の便宜上、例えば、利用者端末２００のＩＰアドレスが１９２．１６８．２０．５であり、サブネットマスクが２５５．２５５．２５５．０であるとする。つまり、ＩＰアドレスのネットワークアドレス部は上位２４ビットであり、下位８ビットがホストアドレス部である。この場合、利用者端末２００と同一のサブネット内で論理的に可能なＩＰアドレスは、１９２．１６８．２０．０から１９２．１６８．２０．２５５までの２５６個である。
【０２１８】
なお、利用者端末２００のＩＰアドレスのホストアドレス部の長さがＨビットのとき、アドレス計測部２５０は、長さＨビットの可能なすべての（すなわち２Ｈ通りの）パターンのビット列を生成する。そして、アドレス計測部２５０は、生成した各ビット列の前に利用者端末２００のＩＰアドレスのネットワークアドレス部を付加することにより、論理的に可能なすべてのＩＰアドレスを生成する。
【０２１９】
さて、上記の例において、論理的に可能な２５６個のＩＰアドレスのうち１９２．１６８．２０．５は利用者端末２００自身のＩＰアドレスである。よって、アドレス計測部２５０は、残りの２５５個のＩＰアドレスについて、それぞれＡＲＰ要求パケットを生成し、生成したＡＲＰ要求パケットを、通信制御部２４０を介してブロードキャストする。
【０２２０】
なお、アドレス計測部２５０は、ＡＲＰ要求パケットの送信元ＩＰアドレスフィールドには、利用者端末２００自身のＩＰアドレスを設定する。また、アドレス計測部２５０は、ＡＲＰ要求パケットの送信元ＭＡＣアドレスフィールドには、利用者端末２００自身のＭＡＣアドレスを設定する。
【０２２１】
そして、アドレス計測部２５０は、ＡＲＰ要求パケットの宛先ＩＰアドレスフィールドに、生成したＩＰアドレスを設定する。例えば、生成したＩＰアドレスのうち、アドレス計測部２５０が処理対象として現在注目しているＩＰアドレスが１９２．１６８．２０．３５であるとする。この場合、アドレス計測部２５０は、ＡＲＰ要求パケットの宛先ＩＰアドレスフィールドに１９２．１６８．２０．３５を設定する。
【０２２２】
なお、ＡＲＰ要求パケットでは、宛先ＭＡＣアドレスフィールドは無視される。よって、アドレス計測部２５０は、例えば、宛先ＭＡＣアドレスフィールドの全ビットを１に設定してもよい。
【０２２３】
もし、利用者端末２００と同一のサブネット内に、上記ＡＲＰ要求パケットに宛先ＩＰアドレスとして指定されたＩＰアドレスを持つ装置が存在すれば、上記ＡＲＰ要求パケットを受信した当該装置は、利用者端末２００にＡＲＰ応答パケットを送信する。したがって、例えば上記の例のようにアドレス計測部２５０が２５５個のＩＰアドレスそれぞれについてＡＲＰ要求パケットを送信した場合、最大で２５５個のＡＲＰ応答パケットが利用者端末２００において受信されることもあり得る。
【０２２４】
説明の便宜上、例えば、アドレス計測部２５０の生成した１９２．１６８．２０．３５というＩＰアドレスが装置３００ｂに割り当てられているとする。この場合、装置３００ｂは、受信したＡＲＰ要求パケットの送信元ＩＰアドレスフィールドの値（つまり利用者端末２００のＩＰアドレス。上記の例では１９２．１６８．２０．５）を、ＡＲＰ応答パケットの宛先ＩＰアドレスフィールドに設定する。また、装置３００ｂは、装置３００ｂ自身のＩＰアドレス（つまり１９２．１６８．２０．３５）を、ＡＲＰ応答パケットの送信元ＩＰアドレスフィールドに設定する。
【０２２５】
そして、装置３００ｂは、受信したＡＲＰ要求パケットの送信元ＭＡＣアドレスフィールドの値（つまり利用者端末２００のＭＡＣアドレス）を、ＡＲＰ応答パケットの宛先ＭＡＣアドレスフィールドに設定する。また、装置３００ｂは、装置３００ｂ自身のＭＡＣアドレスを、ＡＲＰ応答パケットの送信元ＭＡＣアドレスフィールドに設定する。
【０２２６】
すると、利用者端末２００の通信制御部２４０がＡＲＰ応答パケットを受信する。そして、アドレス計測部２５０がＡＲＰ応答パケットの送信元ＭＡＣアドレスフィールドからＭＡＣアドレスを抽出する。以上のようにして、アドレス計測部２５０は、（Ｂ２）の方法により、（Ｄ１）〜（Ｄ３）の条件を満たす装置（例えば装置３００ｂ）のＭＡＣアドレスを取得する。
【０２２７】
また、アドレス計測部２５０は、（Ｂ３）の方法によるＭＡＣアドレスの収集を行ってもよい。
なお、（Ｂ３）の方法は、利用者端末２００の無線ＬＡＮ機能がインフラストラクチャモードに設定されている場合に有効である。（Ｂ３）の方法でアドレス計測部２５０が収集することができるアドレスは、以下の条件（Ｅ１）〜（Ｅ３）をすべて満たす無線ＬＡＮアクセスポイントのＭＡＣアドレスである。
【０２２８】
（Ｅ１）電源が入っている。
（Ｅ２）利用者端末２００と物理的に通信可能な位置に置かれている。
（Ｅ３）ビーコンフレームをブロードキャストする設定がなされている。
【０２２９】
アドレス計測部２５０は、無線ＬＡＮアクセスポイントが定期的にブロードキャストしているビーコンフレームを通信制御部２４０が受信するまで待つ。例えば、アドレス計測部２５０は、ＩＥＥＥ  ８０２．１１規格においてビーコン間隔として設定可能な最長の時間だけ待って、その間にビーコンフレームが受信されるか否かを監視してもよい。そして、通信制御部２４０がビーコンフレームを受信すると、アドレス計測部２５０は、ビーコンフレームのＭＡＣヘッダからＭＡＣアドレスを抽出し、取得する。
【０２３０】
また、アドレス計測部２５０は、（Ｂ４）の方法によるＭＡＣアドレスの収集を行ってもよい。
なお、（Ｂ４）の方法は、利用者端末２００の無線ＬＡＮ機能がアドホックモードに設定されている場合に有効である。（Ｂ４）の方法でアドレス計測部２５０が収集することができるアドレスは、以下の条件（Ｆ１）〜（Ｆ４）をすべて満たす無線ＬＡＮ端末のＭＡＣアドレスである。
【０２３１】
（Ｆ１）電源が入っている。
（Ｆ２）利用者端末２００と物理的に通信可能な位置に置かれている。
（Ｆ３）無線ＬＡＮ機能がアドホックモードに設定されている。
（Ｆ４）ビーコンフレームをブロードキャストする設定がなされている。
【０２３２】
アドレス計測部２５０は、他の無線ＬＡＮ端末が定期的にブロードキャストしているビーコンフレームを通信制御部２４０が受信するまで待つ。そして、通信制御部２４０がビーコンフレームを受信すると、アドレス計測部２５０は、ビーコンフレームのＭＡＣヘッダからＭＡＣアドレスを抽出し、取得する。
【０２３３】
なお、上記（Ｂ３）と（Ｂ４）の方法の変形例として、次のような方法も可能である。すなわち、アドレス計測部２５０は、ビーコンフレームの受信を待つ代わりに、通信制御部２４０を介してプローブ要求フレームを送信してもよい。そして、送信したプローブ要求フレームに対するプローブ応答フレームを通信制御部２４０が受信したら、アドレス計測部２５０は、プローブ応答フレームからＭＡＣアドレスを抽出してもよい。
【０２３４】
以上説明したようにして、アドレス計測部２５０はステップＳ３０４において、複数の方法により、周囲の各種装置のＭＡＣアドレスを収集する。そして、アドレス計測部２５０は、計測した各ＭＡＣアドレスをアドレス管理部２６０に出力する。
【０２３５】
すると、ステップＳ３０５でアドレス管理部２６０は、「今回アドレス計測部２５０が収集したアドレスの中に、ステップＳ３０７以降の処理の対象として注目していない未処理のアドレスがまだ残っているか否か」を判断する。
【０２３６】
そして、未処理のアドレスがもう残っていなければ、処理はステップＳ３０６に移行する。逆に、未処理のアドレスがまだ残っていれば、処理はステップＳ３０７に移行する。
ステップＳ３０６でアドレス管理部２６０は、計測間隔２６６（例えば、図６の例では３０分）だけ待機する。そして、計測間隔２６６が経過すると、処理はステップＳ３０２に戻る。
【０２３７】
他方、ステップＳ３０７でアドレス管理部２６０は、今回アドレス計測部２５０がステップＳ３０４で収集したアドレスの中でまだ注目していない未処理のアドレスに注目する。以下では説明の便宜上、ステップＳ３０７でアドレス管理部２６０が注目したアドレスを「注目アドレス」という。
【０２３８】
そして、次のステップＳ３０８でアドレス管理部２６０は、注目アドレスが登録環境ＤＢ２７０に登録済みであるか否かを判断する。詳しくは図１０とともに後述するが、登録環境ＤＢ２７０の各エントリは、「ＭＡＣアドレス」、「出現回数」、「前回計測回」の各フィールドを含む。よって、アドレス管理部２６０は、ＭＡＣアドレスの値が注目アドレスと等しいエントリを、登録環境ＤＢ２７０において検索する。
【０２３９】
検索の結果としてエントリが見つかれば、注目アドレスは登録環境ＤＢ２７０に登録済みである。よって、処理はステップＳ３０９に移行する。なお、以下では説明の便宜上、ステップＳ３０８の検索で見つかったエントリを「注目エントリ」という。
【０２４０】
逆に、検索の結果としてエントリが見つからなければ、注目アドレスは、今回初めて収集されたアドレスであり、登録環境ＤＢ２７０にまだ登録されていない。よって、処理はステップＳ３１１に移行する。
【０２４１】
そして、ステップＳ３０９でアドレス管理部２６０内の統計処理部２６３は、登録環境ＤＢ２７０の注目エントリにおける出現回数フィールドの値を１だけインクリメントする。出現回数フィールドは、ＭＡＣアドレスフィールドに登録されたアドレスがアドレス計測部２５０によって計測された回数を示す。
【０２４２】
また、次のステップＳ３１０で統計処理部２６３は、登録環境ＤＢ２７０の注目エントリにおける前回計測回フィールドの値に、現在の計測回数２６４の値を設定する。前回計測回フィールドは、ＭＡＣアドレスフィールドに登録されたアドレスがアドレス計測部２５０によって計測された最新の計測がいつなのかを示す。
【０２４３】
なお、ステップＳ３０９とＳ３１０の実行順序は逆でもよい。ステップＳ３０９〜Ｓ３１０の実行後、処理はステップＳ３０５に戻る。
さて、ステップＳ３１１でアドレス管理部２６０は、登録環境ＤＢ２７０に新規エントリを追加する。
【０２４４】
そして、次のステップＳ３１２でアドレス管理部２６０は、新規エントリのＭＡＣアドレスフィールドに、注目アドレスを設定する。
さらに、次のステップＳ３１３で統計処理部２６３は、新規エントリの出現回数フィールドの値を１に初期化する。
【０２４５】
また、次のステップＳ３１４で統計処理部２６３は、新規エントリの前回計測回フィールドの値に、現在の計測回数２６４の値を設定する。
なお、ステップＳ３１２〜Ｓ３１４の実行順序は任意に入れ替え可能である。ステップＳ３１２〜Ｓ３１４の実行後、処理はステップＳ３０５に戻る。
【０２４６】
続いて、以上説明した環境登録処理によって登録環境ＤＢ２７０にどのような情報が登録されるのかを、具体的に説明する。
図９には、環境変化の第１の例が表５０１ａの形で示されている。表５０１ａは、以下の（Ｇ１）〜（Ｇ３）の状況を表す。
【０２４７】
（Ｇ１）２０１０年８月２５日の朝に利用者端末２００に電源が入れられ、図７の処理が実行され、ステップＳ２１１で、夕方までかけて図８の環境登録処理が行われた。環境登録処理の実行後、利用者端末２００の電源が切断された。
【０２４８】
（Ｇ２）２０１０年８月２６日の朝に再び利用者端末２００の電源が入れられ、図７の処理が実行され、今度はステップＳ２１３以下の処理が行われた。その後、利用者端末２００の電源は再び切断された。
【０２４９】
（Ｇ３）２０１０年８月２７日の朝に再び利用者端末２００の電源が入れられ、図７の処理が実行され、再びステップＳ２１３以下の処理が行われた。その後、利用者端末２００の電源は再び切断された。
【０２５０】
表５０１ａにおいて、（Ｇ１）の状況を示すのは、最左列に「登録」と書かれた１６行である。そして、（Ｇ２）と（Ｇ３）の状況を示すのは、最左列に「計測」と書かれた２行である。なお、（Ｇ２）と（Ｇ３）の状況についての詳細は、図１１〜２２とともに後述する。
【０２５１】
また、説明の便宜上、図９ではアドレスの省略表記として「Ａ」〜「Ｅ」という符号を用いている。そして、図９では、収集されたアドレスを丸印で示し、収集されなかったアドレスをダッシュで示している。
【０２５２】
さて、表５０１ａが示す（Ｇ１）の状況をより詳細に説明すると、以下のとおりである。
まず、２０１０年８月２５日の９時２５分に、計測回数２６４の値がステップＳ３０３で１に設定され、ステップＳ３０４で１回目のアドレス収集が行われる。その結果得られたアドレスは、アドレスＡ、Ｂ、Ｃ、およびＥの４つである。よって、ステップＳ３１１〜Ｓ３１４の一連の処理が４回繰り返され、何もエントリを持たない初期状態の登録環境ＤＢ２７０に４つのエントリが追加される。
【０２５３】
その後、ステップＳ３０６での待機（つまり、計測間隔２６６が規定する３０分間の待機）を経て、処理はステップＳ３０２に戻る。そして、９時５５分に、計測回数２６４の値がステップＳ３０３で２に設定され、ステップＳ３０４で２回目のアドレス収集が行われる。その結果得られたアドレスは、アドレスＡ、Ｂ、Ｃ、Ｄ、およびＥの５つである。
【０２５４】
ここで、アドレスＡ、Ｂ、Ｃ、およびＥに対応するエントリは既に登録環境ＤＢ２７０にあるので、これらの４つのアドレスに関しては、ステップＳ３０９〜Ｓ３１０の処理がそれぞれ行われる。他方、アドレスＤは２回目の収集で初めて収集されたので、アドレスＤに関してはステップＳ３１１〜Ｓ３１４の処理が行われる。
【０２５５】
以下同様にして、３０分間隔でアドレスの収集が行われる。そして、１６時５５分における１６回目の収集が終わった時点において、計測回数２６４の値は１６であり、基準回数２６５に達している。したがって、環境登録処理におけるアドレスの収集は１６回目で最後である。
【０２５６】
なお、利用者端末２００は、９時２５分から１６時５５分まで、ある特定の環境内に置かれているものとする。しかし、当該特定の環境はまったく不変という訳ではなく、多少変動する。そして、一般に、利用者端末２００が使われる環境は、日常的に多少変動することが多い。
【０２５７】
例えば、アドレスＡは１６回の収集のすべてにおいて収集されている。また、アドレスＢは１６回目の収集では収集されていなが、他の１５回の収集では収集されている。よって、アドレスＡとＢをそれぞれ持つ装置は、非常に安定的に環境内に存在する装置である。
【０２５８】
アドレスＣ〜Ｅも、多くの場合に収集されている。よって、アドレスＣ〜Ｅをそれぞれ持つ装置も、比較的安定的に環境内に存在する装置である。しかし、環境登録処理において、アドレスＣが収集されなかったことが２回あり、アドレスＤが収集されなかったことが４回あり、アドレスＥが収集されなかったことが３回ある。よって、アドレスＡとＢを持つ装置に比べれば、アドレスＣ〜Ｅを持つ装置はやや不安定である。
【０２５９】
以上例示したような環境の小さな変動は、例えば、次の（Ｈ１）〜（Ｈ３）などの事象が原因で、起こり得る。
（Ｈ１）携帯型のある装置が、別の場所に移動された。
（Ｈ２）電波状況が変動した。
（Ｈ３）ある装置の電源が一時的に切断された。
【０２６０】
よって、「利用者端末２００が第１の時点で置かれた第１の環境と、利用者端末２００が第２の時点で置かれた第２の環境が同じか否か」は、小さな変動を許容したうえで「第１と第２の環境が許容範囲内で一致するか否か」によって判定されることが望ましい。なぜなら、許容範囲を設けない判定では、「第１と第２の環境が完全に一致するか否か」が判定されるので、かえって判定結果が不正確になるおそれがあるからである。
【０２６１】
第２実施形態では、図８〜９に示すように、環境登録処理において複数回のアドレス収集が行われる。よって、ある程度のスパンの時間（例えば９時２５分から１６時５５分までの７時間３０分）での変動を考慮に入れた形で、環境が登録環境ＤＢ２７０に登録される。
【０２６２】
また、第２実施形態では、図１１〜２８とともに後述するように、「許容範囲内で２つの環境同士が一致するか否か」が判定される。よって、第２実施形態によれば、日常的な小さな変動に対してロバストな（robust）、適切な判定結果が得られる。
【０２６３】
なお、図９の例において、例えば２０１０年８月２５日の９時２５分が、第１実施形態における「第１の時点」の例である。また、２０１０年８月２５日の９時５５分から１６時５５分までの１５個の時点が、第１実施形態における「１つ以上の第３の時点」の例である。
【０２６４】
もちろん、視点によっては、例えば２０１０年８月２５日の１２時２５分を「第１の時点」と見なし、２０１０年８月２５日の残りの１５個の時点を「１つ以上の第３の時点」と見なすこともできる。いずれにしろ、図９の例では、「第１の時点」と１５個の「第３の時点」を含む合計１６個の時点から、総合的に、「第１の環境」が利用者端末２００に認識される。
【０２６５】
さてここで、図９の表５０１ａが示す第１の例において登録された環境に関する情報を、図１０を参照して具体的に説明する。後述の判定処理についての理解を助けるため、図１０には、登録環境ＤＢ２７０に含まれるフィールドだけでなく、登録環境ＤＢ２７０の各エントリに対応する、後述の各種情報も図示されている。なお、以下では、図９の第１の例に示した環境が登録された状態の登録環境ＤＢ２７０を、特に「２７０ａ」という参照符号で表す。
【０２６６】
図８に関して述べたとおり、登録環境ＤＢ２７０の各エントリは、ＭＡＣアドレス、出現回数、前回計測回というフィールドを有する。また、図１０には、説明の便宜上、さらに「アドレス省略表記」という列を示してある。
【０２６７】
アドレス省略表記の列には、具体的には、図９で用いた「Ａ」〜「Ｅ」という符号が示されている。つまり、図９の第１の例によれば、環境登録処理において１回以上収集されるアドレスの集合は｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ｝であるから、登録環境ＤＢ２７０ａは、これら５つのアドレスに対応する５つのエントリを有する。
【０２６８】
また、図１０に示すように、具体的には、アドレスＡは、００ｃ０ｅ６ｆ６２ｅｃｆというＭＡＣアドレスであり、アドレスＢは、００５４ｅｆ８ａ２ｃ５４というＭＡＣアドレスである。また、具体的には、アドレスＣは、００１５ａｆ５ａ８４ｂ６というＭＡＣアドレスであり、アドレスＤは、００ｃ３ａ５４ａｆ５６６というＭＡＣアドレスであり、アドレスＥは、００６４５ａ１６ｂ１ｂ８というＭＡＣアドレスである。
【０２６９】
そして、図９に示すように、「アドレスＡ〜Ｅが１６回の収集のうち何回収集されたか」というと、それぞれ、１６回、１５回、１４回、１２回、１３回である。そして、アドレスＡ〜Ｅが収集された回数は、図８のステップＳ３０９とＳ３１３に示すとおり、登録環境ＤＢ２７０ａの出現回数フィールドに記録される。
【０２７０】
また、図９に示すように、「アドレスＡ〜Ｅが直近に収集されたのはいつか」というと、それぞれ、１６回目、１５回目、１４回目、１６回目、１３回目である。そして、アドレスＡ〜Ｅが直近に収集されたときの計測回数２６４の値は、図８のステップＳ３１０とＳ３１４に示すとおり、登録環境ＤＢ２７０ａの前回計測回のフィールドに記録される。
【０２７１】
続いて、図７のステップＳ２１３の計測処理の詳細について、図１１〜１３を参照して説明する。図１１〜１２は、計測処理のフローチャートであり、図１３は、図９に示す第１の例において計測処理が行われた現在の環境に関する情報を示す図である。
【０２７２】
図１１のステップＳ４０１で状況判断部２６１は、計測回数２６４を１だけインクリメントする。
例えば、図９の第１の例では、上記（Ｇ２）のとおり、２０１０年８月２６日の朝に利用者端末２００に再び電源が入れられる。一方、前日に利用者端末２００がシャットダウンされたときの計測回数２６４の値は１６であり、電源切断前に計測回数２６４は不揮発性の記憶装置に書き出される。よって、２０１０年８月２６日の朝に利用者端末２００に再び電源が入れられて図１１〜１２の計測処理が行われる場合、ステップＳ４０１で状況判断部２６１は、計測回数２６４の値を１６から１７にインクリメントする。
【０２７３】
同様に、図９の第１の例において、２０１０年８月２７日の朝に利用者端末２００に再び電源が入れられて図１１〜１２の計測処理が行われる場合、ステップＳ４０１で状況判断部２６１は、計測回数２６４の値を１７から１８にインクリメントする。
【０２７４】
そして、次のステップＳ４０２でアドレス管理部２６０は、登録環境ＤＢ２７０の内容をコピーすることにより、現在環境情報２９５を初期化する。具体的には、アドレス管理部２６０は、登録環境ＤＢ２７０の各エントリについて、次の（Ｉ１）と（Ｉ２）の処理を行う。
【０２７５】
（Ｉ１）現在環境情報２９５に新規エントリを作成する処理。
（Ｉ２）登録環境ＤＢ２７０のエントリから、ＭＡＣアドレス、出現回数、前回計測回の値を読み出し、現在環境情報２９５の新規エントリのＭＡＣアドレス、出現回数、前回計測回の各フィールドに、読み出した値をそれぞれコピーする処理。
【０２７６】
なお、詳しくは図１３とともに後述するとおり、現在環境情報２９５の各エントリは、他にも様々なフィールドを含む。しかし、ＭＡＣアドレス、出現回数、前回計測回以外のフィールドの値は後で設定される。
【０２７７】
そして、次のステップＳ４０３でアドレス管理部２６０は、アドレス計測部２５０にアドレスの収集を依頼する。すると、アドレス計測部２５０は、環境登録処理のステップＳ３０４と同様にして、利用者端末２００の周辺にある他の装置のアドレスを収集する。そして、アドレス計測部２５０は、収集したＭＡＣアドレスをアドレス管理部２６０に出力する。
【０２７８】
すると、ステップＳ４０４でアドレス管理部２６０は、「アドレス計測部２５０が収集したアドレスの中に、ステップＳ４０５以降の処理の対象として注目していない未処理のアドレスがまだ残っているか否か」を判断する。
【０２７９】
そして、未処理のアドレスがもう残っていなければ、処理は図１２のステップＳ４１３に移行する。逆に、未処理のアドレスがまだ残っていれば、処理は図１１のステップＳ４０５に移行する。
【０２８０】
ステップＳ４０５でアドレス管理部２６０は、アドレス計測部２５０がステップＳ４０３で収集したアドレスの中でまだ注目していない未処理のアドレスに注目する。以下、説明の便宜上、ステップＳ４０５でアドレス管理部２６０が注目したアドレスを「注目アドレス」という。
【０２８１】
そして、ステップＳ４０６でアドレス管理部２６０は、注目アドレスが現在環境情報２９５に記憶済みであるか否かを判断する。上記のとおり現在環境情報２９５の各エントリはＭＡＣアドレスのフィールドを持つので、アドレス管理部２６０は、ＭＡＣアドレスの値が注目アドレスと等しいエントリを、現在環境情報２９５において検索する。
【０２８２】
検索の結果としてエントリが見つかれば、注目アドレスは現在環境情報２９５に記憶済みである。よって、処理はステップＳ４０７に移行する。なお、以下では説明の便宜上、ステップＳ４０６の検索で見つかったエントリを「注目エントリ」という。
【０２８３】
逆に、検索の結果としてエントリが見つからなければ、注目アドレスは現在環境情報２９５にはまだ記憶されていない。よって、処理はステップＳ４０９に移行する。
なお、ステップＳ４０６において検索の結果としてエントリが見つからない場合とは、登録環境ＤＢ２７０には登録されていないが計測処理では収集されたアドレスが、ステップＳ４０５で注目された場合である。この場合、注目アドレスに対応するエントリは、ステップＳ４０２の初期化では現在環境情報２９５に追加されないので、ステップＳ４０６の検索ではエントリが見つからない。
【０２８４】
そして、ステップＳ４０７でアドレス管理部２６０内の統計処理部２６３は、現在環境情報２９５の注目エントリにおける出現回数フィールドの値を１だけインクリメントする。
【０２８５】
また、次のステップＳ４０８で統計処理部２６３は、現在環境情報２９５の注目エントリにおける前回計測回フィールドの値に、現在の計測回数２６４の値を設定する。
なお、ステップＳ４０７とＳ４０８の実行順序は逆でもよい。ステップＳ４０７〜Ｓ４０８の実行後、処理はステップＳ４０４に戻る。
【０２８６】
さて、ステップＳ４０９でアドレス管理部２６０は、現在環境情報２９５に新規エントリを追加する。
そして、次のステップＳ４１０でアドレス管理部２６０は、新規エントリのＭＡＣアドレスフィールドに、注目アドレスの値を設定する。
【０２８７】
さらに、次のステップＳ４１１で統計処理部２６３は、新規エントリの出現回数フィールドの値を１に初期化する。
また、次のステップＳ４１２で統計処理部２６３は、新規エントリの前回計測回フィールドの値に、現在の計測回数２６４の値を設定する。
【０２８８】
なお、ステップＳ４１０〜Ｓ４１２の実行順序は任意に入れ替え可能である。ステップＳ４１０〜Ｓ４１２の実行後、処理はステップＳ４０４に戻る。
さて、アドレス管理部２６０は、アドレス計測部２５０がステップＳ４０３で収集したすべてのアドレスについて注目し終わると、図１２のステップＳ４１３〜Ｓ４１７の処理を行う。
【０２８９】
すなわち、ステップＳ４１３でアドレス管理部２６０の統計処理部２６３は、「現在環境情報２９５のエントリの中で、ステップＳ４１５〜Ｓ４１７の処理の対象として注目していない未処理のエントリがまだ残っているか否か」を判断する。
【０２９０】
そして、未処理のエントリがもう残っていなければ、図１１〜１２の計測処理は終了する。逆に、未処理のエントリがまだ残っていれば、処理はステップＳ４１４に移行する。
ステップＳ４１４で統計処理部２６３は、現在環境情報２９５のエントリの中で、ステップＳ４１５〜Ｓ４１７の処理の対象としてまだ注目していない未処理のエントリに注目する。以下、説明の便宜上、ステップＳ４１４で統計処理部２６３が注目したエントリを「注目エントリ」という。
【０２９１】
なお、詳しくは図１３および１４とともに後述するが、現在環境情報２９５の各エントリは、「経過回数」、「不在率」、「時間経過率」というフィールドを有する。続くステップＳ４１５〜Ｓ４１７では、これら３つのフィールドに値が設定される。
【０２９２】
すなわち、ステップＳ４１５で統計処理部２６３は、計測回数２６４の現在の値から、注目エントリの前回計測回の値を引く。そして、統計処理部２６３は、得られた差を、現在環境情報２９５の注目エントリの経過回数フィールドに設定する。
【０２９３】
つまり、注目エントリのアドレスが今回の計測処理で収集された場合には、経過回数フィールドには、必ず０が設定される。他方、注目エントリのアドレスが今回の計測処理で収集されなかった場合、経過回数フィールドは、「環境登録処理と今回を含む今までの計測処理を通して注目エントリのアドレスが最後に収集されてから、今回の計測処理も含めて何回の収集が行われたか」を示す。
【０２９４】
例えば、環境登録処理で１６回のアドレス収集が行われ、今回が２回目の計測処理だとすると、合計で１８回のアドレス収集が行われたことになる。仮に、あるアドレスが最後に収集されたのが１５回目のアドレス収集だったとすると、当該アドレスが最後に収集されてから、今回の計測処理も含めて３回のアドレス収集が行われている。つまり、１６〜１８回目の連続する３回のアドレス収集において、当該アドレスは収集されていない。よって、経過回数として３が設定される。
【０２９５】
また、ステップＳ４１６で統計処理部２６３は、計測回数２６４の現在の値から、注目エントリの出現回数の値を引き、得られた差を計測回数２６４の現在の値で割る。そして、統計処理部２６３は、得られた商に１００を掛け、得られた積を現在環境情報２９５の注目エントリの不在率フィールドに設定する。
【０２９６】
つまり、不在率フィールドは、環境登録処理と今回を含む今までの計測処理を通して行われたアドレス収集の総回数に対する、注目エントリのアドレスが収集されなかった回数のパーセンテージを示す。例えば合計で１８回のアドレス収集のうち、１５回では収集され、３回で収集されなかったアドレスの不在率は、約１６．７％（＝（１８−１５）／１８×１００）である。
【０２９７】
また、ステップＳ４１７で統計処理部２６３は、注目エントリの経過回数の値を計測回数２６４の現在の値で割り、得られた商に１００を掛ける。そして、統計処理部２６３は、得られた積を現在環境情報２９５の注目エントリの時間経過率フィールドに設定する。時間経過率フィールドは、環境登録処理と今回を含む今までの計測処理を通して行われたアドレス収集の総回数に対する、経過回数のパーセンテージを示す。
【０２９８】
なお、ステップＳ４１７はステップＳ４１５の後に行われるが、ステップＳ４１６はステップＳ４１５およびＳ４１７とは独立した処理なので、適宜実行順序が入れ替えられてもよい。ステップＳ４１５〜Ｓ４１７の実行後、処理はステップＳ４１３に戻る。
【０２９９】
続いて、以上説明した計測処理によって、図９の第１の例では現在環境情報２９５にどのような値が設定されるのかを、具体的に説明する。
図１３は、第１の例において２０１０年８月２６日に計測処理が行われた時点（以下、図１３の説明においては便宜上この時点を「現在」ともいう）の環境に関する情報を示す図である。なお、図１３には、計測処理によって得られる値だけでなく、図１４〜１５の判定処理によって得られる値も示してある。判定処理によって得られる値については後述する。
【０３００】
現在環境情報２９５は、それぞれＭＡＣアドレスと対応づけられたエントリを１つ以上含む。以下では、図９の第１の例において２０１０年８月２６日の計測処理と判定処理で得られる現在環境情報２９５を、特に「２９５ａ」という参照符号で表す。
【０３０１】
図９の第１の例によれば、２０１０年８月２５日の環境登録処理で登録された環境には、図１０のとおり、アドレスＡ〜Ｅの装置が存在する。また、図９の第１の例によれば、２０１０年８月２６日の計測処理のステップＳ４０３では、５つのアドレスＡ〜Ｅが検出される。
【０３０２】
したがって、現在環境情報２９５ａは、アドレスＡ〜Ｅにそれぞれ対応する５つのエントリを有する。また、計測処理によって値が設定されるフィールドは、図１１〜１２を参照して説明したとおり、ＭＡＣアドレス、出現回数、前回計測回、経過回数、不在率、および時間経過率である。
【０３０３】
説明の便宜上、図９や１０と同様に図１３でも「Ａ」〜「Ｅ」という符号を使っているが、アドレスＡ〜Ｅの具体的なＭＡＣアドレスは図１３に示すとおりである（つまり、図１０と同様である）。
【０３０４】
また、図９の第１の例において、２０１０年８月２６日の計測処理は、環境登録処理の後の初めての計測処理である。よって、図１３の現在環境情報２９５ａにおいて、アドレスＡの出現回数の値は、図１０のアドレスＡの出現回数の値である１６よりも１だけ大きい、１７である。他のアドレスＢ〜Ｅについても同様である。
【０３０５】
また、図９の第１の例において、２０１０年８月２６日の計測処理のときの計測回数２６４の値は１７であり、５つのアドレスＡ〜Ｅはすべて２０１０年８月２６日の計測処理で検出されている。よって、図１３の現在環境情報２９５ａにおいて、５つのアドレスＡ〜Ｅの前回計測回の値はいずれも１７である。
【０３０６】
そして、計測回数２６４の値が１７であり、出現回数と前回計測回の値は図１３に示したとおりであるので、各アドレスの不在率、経過回数、および時間経過率は、図１２のステップＳ４１５〜Ｓ４１７において、図１３に示すごとく設定される。例えば、アドレスＣに関しては、出現回数が１５なので、不在率は約１１．８％（＝（１７−１５）／１７×１００）である。また、図１３の例では、どのアドレスも、前回計測回が１７なので、経過回数が０（＝１７−１７）であり、時間経過率が０．０％（＝０／１７×１００）である。
【０３０７】
さて、以上図１１〜１３を参照して説明した計測処理が、図７のステップＳ２１３で実行されると、その後、ステップＳ２１４で判定処理が実行される。以下では判定処理について、図１４〜２８と、前述の図９、１０、１３を参照して説明する。
【０３０８】
図１４〜１５は、第２実施形態の判定処理のフローチャートである。判定処理は、アドレス管理部２６０から特徴点分布生成部２８０への依頼を契機として開始される。また、依頼に際して、アドレス管理部２６０内のアドレス抽出部２６２は、登録環境ＤＢ２７０から各エントリのＭＡＣアドレスを抽出し、特徴点分布生成部２８０内のアドレス分解部２８１に出力する。
【０３０９】
すると、ステップＳ５０１で特徴点分布生成部２８０のアドレス分解部２８１は、登録環境ＤＢ２７０の各アドレスについて、アドレスからＸＹ座標を算出することで、アドレスをＸＹ平面上の点にマッピングする。つまり、ステップＳ５０１は図２のステップＳ１０２に対応する。
【０３１０】
以下では説明の便宜上、登録環境ＤＢ２７０内のｊ番目（１≦ｊ）のエントリのＭＡＣアドレスを「Ａｄｄｒｊ」という記号で表し、アドレスＡｄｄｒｊがＸＹ平面上の点Ｐｊ＝（Ｘｊ，Ｙｊ）にマッピングされるものとする。ステップＳ５０１でのマッピングは、式（３）〜（４）のように表すことができる。
Ｘｊ＝ｇｅｔＸ（Ａｄｄｒｊ）                  （３）
Ｙｊ＝ｇｅｔＹ（Ａｄｄｒｊ）                  （４）
【０３１１】
式（３）の写像ｇｅｔＸは、ＭＡＣアドレスからＸ座標への任意の写像でよい。また、式（４）の写像ｇｅｔＹは、ＭＡＣアドレスからＹ座標への任意の写像でよい。第２実施形態では、複数のＭＡＣアドレスが適度にＸＹ平面上に散らばるようにするため、具体的には、写像ｇｅｔＸとｇｅｔＹとして、以下のような写像が使われる。
【０３１２】
すなわち、写像ｇｅｔＸは、ＭＡＣアドレスの奇数オクテットを連結して２４ビットのビット列を得て、当該ビット列が表す整数を定数で割って、剰余を算出する関数である。第２実施形態では、定数として具体的には１００が使われるが、もちろん、実施形態に応じて他の定数が使われてもよい。また、以下ではＭＡＣアドレスの最上位オクテットを１オクテット目といい、最下位オクテットを６オクテット目という。
【０３１３】
そして、写像ｇｅｔＹは、ＭＡＣアドレスの偶数オクテットを連結して２４ビットのビット列を得て、当該ビット列が表す整数を定数で割って、剰余を算出する関数である。なお、写像ｇｅｔＹで使われる定数は、写像ｇｅｔＸで使われる定数と同じ値でもよいし、別の値でもよい。第２実施形態では、定数として具体的には１００が使われるが、もちろん、実施形態に応じて他の定数が使われてもよい。
【０３１４】
例えば、図１０によれば、登録環境ＤＢ２７０ａの１番目のアドレスＡは、具体的には００ｃ０ｅ６ｆ６２ｅｃｆというＭＡＣアドレスである。つまり、１オクテット目は００、２オクテット目はｃ０、３オクテット目はｅ６、４オクテット目はｆ６、５オクテット目は２ｅ、６オクテット目はｃｆである。
【０３１５】
よって、奇数オクテットを連結すると、１６進表現で００ｅ６２ｅと表される、長さ２４ビットのビット列が得られる。そして、このビット列を１０進数として表すと５８９２６であるから、１００で割って得られる剰余は２６である。すなわち、アドレスＡに対して、Ｘ座標として２６が得られる。
【０３１６】
また、アドレスＡの偶数オクテットを連結すると、１６進数表現でｃ０ｆ６ｃｆと表される、長さ２４ビットのビット列が得られる。そして、このビット列を１０進数として表すと、１２６４６０９５であるから、１００で割って得られる剰余は９５である。すなわち、アドレスＡに対して、Ｙ座標として９５が得られる。
【０３１７】
以上により、アドレスＡは、アドレス分解部２８１によってＸＹ平面上の点（２６，９５）にマッピングされる。同様にして、アドレスＢは点（２８，３６）にマッピングされ、アドレスＣは点（３２，７８）にマッピングされ、アドレスＤは点（８５，６６）にマッピングされ、アドレスＥは点（１７，１６）にマッピングされる。
【０３１８】
図１０には、以上説明した図１４のステップＳ５０１におけるマッピングについての理解を助けるため、「奇数オクテット連結」と「偶数オクテット連結」と「Ｘ座標」と「Ｙ座標」の列が示されている。
【０３１９】
なお、上記の写像ｇｅｔＸとｇｅｔＹの例では、ＭＡＣアドレスのすべてのビットがＸＹ座標の算出に用いられる。しかし、実施形態によっては、ＭＡＣアドレス中の一部のビットのみが、ＸＹ座標の算出に使われてもよい。また、実施形態によっては、ＸＹ座標の算出において、ビット位置の入れ替え、またはビット値の反転などがさらに行われてもよい。
【０３２０】
また、上記の写像ｇｅｔＸとｇｅｔＹによれば、複数のＭＡＣアドレスをそれぞれマッピングした点が、ＸＹ平面上に適度に散らばることが期待される。その理由は、第１実施形態に関して説明したとおり、写像ｇｅｔＸとｇｅｔＹが剰余演算を含む関数だからである。
【０３２１】
また、ＭＡＣアドレスにおいては、上位３オクテットがベンダ識別子であり、下位３オクテットがベンダ内での識別子である。上記の写像ｇｅｔＸとｇｅｔＹは、ＭＡＣアドレスのこの性質を考慮に入れたうえで、マッピングされた点がＸＹ平面上に適度に散らばるように定義されている。
【０３２２】
仮に、Ｘ座標が上位３オクテットから算出され、Ｙ座標が下位３オクテットから算出されるとすると、例えば同じベンダの装置が５個使われている環境においては、マッピングされた５個の点のＸ座標がすべて等しくなってしまう。そこで、同じベンダの装置が複数使われていても、マッピングされた点がＸＹ平面上で適度に散らばるようにするため、第２実施形態では、上記のように写像ｇｅｔＸとｇｅｔＹが定義される。
【０３２３】
すなわち、Ｘ座標の算出には、上位３オクテットの一部（つまり１オクテット目と３オクテット目）だけでなく、下位３オクテットの一部（つまり５オクテット目）も使われる。同様に、Ｙ座標の算出には、上位３オクテットの一部（つまり２オクテット目）だけでなく、下位３オクテットの一部（つまり４オクテット目と６オクテット目）も使われる。その結果、たとえ同じベンダの装置が複数使われていても、マッピングされた点がＸＹ平面上で適度に散らばると期待される。
【０３２４】
なお、ＭＡＣアドレスからＸＹ座標へのマッピングでは、必ずしも上記のようにオクテット単位でデータが処理されなくてもよいことは無論である。実施形態によっては、例えば、Ｘ座標の算出に奇数ビットが使われ、Ｙ座標の算出に偶数ビットが使われてもよい。
【０３２５】
つまり、写像ｇｅｔＸは、アドレスを示すビット列から、複数の所定位置のビットを抽出し、抽出したビットを連結した部分ビット列が示す整数を定数で割った剰余を得る任意の写像でよい。写像ｇｅｔＹについても同様である。
【０３２６】
図１０の例では、写像ｇｅｔＸにおける「複数の所定位置のビット」が、具体的には奇数オクテットに属するビットである。しかし、上記のとおり、「複数の所定位置のビット」は、実施形態に応じて、例えば奇数ビットでもよい。
【０３２７】
また、ＭＡＣアドレスの長さは４８ビットだが、このうちの一部のみがＸＹ座標の算出に使われてもよい。例えば、「所定位置の１２ビットからＸ座標が算出され、別の所定位置の１２ビットからＹ座標が算出され、残りの２４ビットはＸＹ座標の算出には使われない」などの実施形態も可能である。
【０３２８】
さて、上記のようにしてステップＳ５０１でアドレス分解部２８１がＭＡＣアドレスをＸＹ平面上の点にマッピングすると、アドレス分解部２８１は、マッピング結果を特徴点分布生成部２８０の内部データとして例えばＲＡＭ４０３上に記憶する。そして、処理はステップＳ５０２に移行する。
【０３２９】
すると、ステップＳ５０２で重心決定部２８４は、登録環境ＤＢ２７０に登録された各アドレスがマッピングされた各点のＸＹ座標から、登録された環境における重心のＸＹ座標を算出する。
【０３３０】
ここで、説明の便宜上、登録環境ＤＢ２７０が有するエントリの数をＲ個（１≦Ｒ）とする。また、重心のＸＹ座標を（Ｘα，Ｙα）と表記する。重心決定部２８４は、アドレス分解部２８１がステップＳ５０１で算出したＸＹ座標の値を用いて、下記の式（５）と（６）にしたがって重心のＸＹ座標（Ｘα，Ｙα）を算出する。また、重心のＸＹ座標（Ｘα，Ｙα）も、特徴点分布生成部２８０の内部データとして、例えばＲＡＭ４０３上に記憶される。
【０３３１】
【数１】
2012090333.tif 000003
【０３３２】
【数２】
2012090333.tif 000004
【０３３３】
例えば、図１０の登録環境ＤＢ２７０ａに関してステップＳ５０２で算出される重心の座標は、具体的には式（７）〜（８）のとおりである。
Ｘα＝（２６＋２８＋３２＋８５＋１７）／５＝３７．６    （７）
Ｙα＝（９５＋３６＋７８＋６６＋１６）／５＝５８．２    （８）
【０３３４】
以上のようにしてアドレスＡ〜Ｅからそれぞれマッピングされた５つの点と重心とをＸＹ平面上に表現すると、図１６のグラフ５０２ａのとおりである。グラフ５０２ａにおいて、５つのバツ（×）印は、アドレスＡ〜Ｅからそれぞれマッピングされた５つの点を示す。各バツ印の近傍には、対応するアドレスを示す符号とＸＹ座標の値が書いてある。また、黒い丸印は、重心を示す。図１６では、図示の便宜上、重心の座標の小数点以下は丸められて表記されている。
【０３３５】
さて、次のステップＳ５０３で重心決定部２８４は、登録環境ＤＢ２７０の各アドレスについて、ステップＳ５０１で得られたＸＹ座標から、重心に対する角度を算出する。つまり、重心決定部２８４は、１≦ｊ≦Ｒなる各ｊについて、点（Ｘｊ，Ｙｊ）の重心（Ｘα，Ｙα）に対する角度θｊを算出する。また、各角度θｊも、特徴点分布生成部２８０の内部データとして、例えばＲＡＭ４０３上に記憶される。
【０３３６】
具体的には、重心決定部２８４は、等式（９）〜（１１）をすべて満たす値を角度θｊとして求める。逆三角関数は多価関数だが、等式（９）〜（１１）をすべて満たす値は一意に定まる。よって、重心決定部２８４は、角度θｊを一意に算出することができる。
【０３３７】
【数３】
2012090333.tif 000005
【０３３８】
【数４】
2012090333.tif 000006
【０３３９】
−１８０°＜θｊ≦１８０°                          （１１）
【０３４０】
図１０には、登録環境ＤＢ２７０ａに登録された５つのアドレスＡ〜Ｅそれぞれの、重心に対する角度も示されている。なお、図示の便宜上、重心に対する角度は、小数点以下２桁までが表示されているが、図１０は有効桁数を限定することを意図したものではない。他の図においても、数値は図示の便宜上丸められているが、どの図も有効桁数を限定することを意図したものではない。
【０３４１】
ところで、以上のステップＳ５０１〜Ｓ５０３により、各アドレスは、Ｘ座標とＹ座標と重心（Ｘα，Ｙα）に対する角度の３つ組（3-tuple）〈Ｘｊ，Ｙｊ，θｊ〉に対応づけられる。そして、座標と角度を持つ点は、特徴点として扱うことができる。つまり、ステップＳ５０１〜Ｓ５０３により、各アドレスから特徴点が得られる。
【０３４２】
そして、登録環境ＤＢ２７０に登録されたＲ個のアドレスにそれぞれ対応するＲ個の特徴点の分布が、全体として、登録された環境を表す。つまり、以上のステップＳ５０１〜Ｓ５０３により、特徴点分布生成部２８０は、登録された環境を表す特徴点分布を生成する。別の観点から述べれば、ステップＳ５０２〜Ｓ５０３は、図２のステップＳ１０３の具体例である。
【０３４３】
なお、以上のようにして生成された特徴点分布を図形的に表現すると、図１７のとおりである。図１７に示すように、登録された環境の特徴点分布５０３ａは、図１６のグラフ５０２ａに各点から重心へ向かう矢印を追加した図として表現される。
【０３４４】
図１０に示すように、例えばアドレスＡがマッピングされた点（２６，９５）の重心に対する角度は−７２．５０°である。よって、図１７においては、点（２６，９５）を表すバツ印を始点として、−７２．５０°の方向の矢印が描かれている。他のアドレスＢ〜Ｅに関しても同様である。
【０３４５】
なお、登録された環境の特徴点分布５０３ａは、データとしては、上記のとおり、Ｘ座標とＹ座標と重心に対する角度の３つ組〈Ｘｊ，Ｙｊ，θｊ〉で表される特徴点の集合として表される。そのため、図１０の「Ｘ座標」と「Ｙ座標」と「重心に対する角度」という３つの列には、図１７と同様に「５０３ａ」という参照符号が付与されている。
【０３４６】
さて、続いて、ステップＳ５０４でアドレス分解部２８１は、現在環境情報２９５の各エントリについて、アドレスからＸＹ座標を算出することで、アドレスをＸＹ平面上の点にマッピングする。ステップＳ５０４は、マッピング対象のアドレスが登録環境ＤＢ２７０中のアドレスではなく現在環境情報２９５中のアドレスであるという点以外は、ステップＳ５０１と同様である。また、ステップＳ５０４は図２のステップＳ１０５に対応する。
【０３４７】
ここで説明の便宜上、現在環境情報２９５が有するエントリの数をＭとする。図１１のステップＳ４０２より、Ｒ≦Ｍである。例えば、図１０と１３の例では、Ｒ＝Ｍ＝５である。また、特に混乱のおそれはないので、現在環境情報２９５内のｊ番目（１≦ｊ≦Ｍ）のエントリのＭＡＣアドレスも、「Ａｄｄｒｊ」という記号で表すことにする。
【０３４８】
以上導入した表記を用いてステップＳ５０４の処理を説明すれば、次のとおりである。すなわち、アドレス分解部２８１はステップＳ５０４で、１≦ｊ≦Ｍなる各ｊについて、ステップＳ５０１と同じ式（３）と（４）にしたがって、ＸＹ座標を算出する。
【０３４９】
図１３の現在環境情報２９５ａには、ステップＳ５０４で算出されたＸＹ座標の値が、「移動前」というラベルの付けられた「Ｘ座標」列と「Ｙ座標」列に記載されている。なお、図１３には、オフセットによる点の移動の前に得られる基本的な情報が「２９６ａ」という参照符号で示されている。すなわち、情報２９６ａは、計測処理で得られるＭＡＣアドレスと出現回数と前回計測回を含むとともに、判定処理のステップＳ５０４で得られるＸ座標とＹ座標を含む。
【０３５０】
また、図１３には、オフセットの算出のために使われる情報２９７ａとして、「不在率」、「経過回数」、「時間経過率」、「距離」、および「ランダム角度」が示されている。これらの情報２９７ａのうち、不在率と経過回数と時間経過率は、図１２の計測処理で算出済みである。そこで、以下のステップＳ５０５で距離が算出され、ステップＳ５０６でランダム角度が決定される。
【０３５１】
すなわち、図１４のステップＳ５０５において、距離決定部２８２は、現在環境情報２９５の各エントリについて、不在率と時間経過率から距離を算出する。具体的には、距離決定部２８２は、不在率の２乗と時間経過率の２乗の和の２乗根を、距離として算出する。
【０３５２】
ここで説明の便宜上、現在環境情報２９５のｊ番目（１≦ｊ≦Ｍ）のエントリに関して、以下の（Ｊ１）〜（Ｊ７）のような記号を導入する。また、計測回数２６４の現在の値を「ＣｕｒｒｅｎｔＲｏｕｎｄ」という記号で表記することにする。
【０３５３】
（Ｊ１）出現回数……Ｏｃｃｕｒｒｅｎｃｅｊ
（Ｊ２）前回計測回……ＰｒｅｖＲｏｕｎｄｊ
（Ｊ３）不在率……ＡｂｓｅｎｃｅＲａｔｅｊ
（Ｊ４）経過回数……ＥｌａｐｓｅｄＲｏｕｎｄｓｊ
（Ｊ５）時間経過率……ＥｌａｐｓｅＲａｔｅｊ
（Ｊ６）距離……ｒｊ
（Ｊ７）ランダム角度……ｗｊ
以上の表記にしたがえば、図１２のステップＳ４１６で算出された不在率は、式（１２）のとおりである。
【０３５４】
【数５】
2012090333.tif 000007
【０３５５】
また、図１２のステップＳ４１５で算出された経過回数は、式（１３）のとおりである。
【０３５６】
【数６】
2012090333.tif 000008
【０３５７】
そして、図１２のステップＳ４１７で算出された時間経過率は、式（１４）のとおりである。
【０３５８】
【数７】
2012090333.tif 000009
【０３５９】
したがって、図１４のステップＳ５０５で距離決定部２８２が算出する距離は、ステップＳ５０５に関して説明した上記の定義によれば、式（１５）のとおりである。算出された距離は、現在環境情報２９５の一部として、例えばＲＡＭ４０３上に記憶される。
【０３６０】
【数８】
2012090333.tif 000010
【０３６１】
例えば、図１３には、ステップＳ５０５でアドレスＡ〜Ｅについて算出されたそれぞれの距離０．０、５．９、１１．８、２３．５、１７．６が示されている。図１３から明らかなように、距離は、出現回数が多いほど小さい。換言すれば、距離は、不在率が高いほど大きい。
【０３６２】
また、図１３の例では、偶然にもすべてのアドレスＡ〜Ｅの前回計測回の値が等しいので、前回計測回の違いによる距離の違いは図示されていない。しかし、上記の式（１３）〜（１５）から明らかなように、距離は、前回計測回の値が大きいほど小さい。換言すれば、距離は、経過回数が多いほど大きく、時間経過率が高いほど大きい。
【０３６３】
ここで、「あるアドレスについての不在率が高い」ということは、「当該アドレスを持つ装置が、登録された環境内に安定的に存在しておらず、不安定度が高い」ということである。また、「あるアドレスについての時間経過率が高い」ということは、「当該アドレスを持つ装置が、登録された環境内に以前は環境に存在していたものの、登録された環境内に存在しなくなって久しい」ということである。
【０３６４】
したがって、式（１５）の距離は、不安定度の高い装置ほど大きく、登録された環境に存在しなくなってからの時間が長い装置ほど大きい。逆に言えば、式（１５）の距離は、登録された環境により安定的に存在している装置ほど小さく、登録された環境でより最近に存在が確認された装置ほど小さい。
【０３６５】
なお、距離の定義は実施形態に応じて様々に変更可能である。出現回数に対して単調減少する（換言すれば、不在率に対して単調増加する）任意の関数を、距離として利用することができる。また、距離は、上記の式（１５）のように、経過回数に対して単調増加する（換言すれば、時間経過率に対して単調増加する）ことが、より好ましい。
【０３６６】
続いて、ステップＳ５０６でアドレス配置部２８３は、現在環境情報２９５の各エントリについて、０°以上３６０°未満のランダムな角度を決定する。なお、ステップＳ５０６で決定される角度がランダムであることが望ましい理由については、後述する。
【０３６７】
例えば、図１３には、ステップＳ５０６でアドレスＡ〜Ｅについて決定されたそれぞれのランダムな角度４５°、４５°、４０°、２６０°、１１０°が示されている。
【０３６８】
そして、ステップＳ５０７でアドレス配置部２８３は、現在環境情報２９５の各エントリについて、元の点をオフセットの加算により移動した点のＸＹ座標を算出する。ここで、オフセットはベクトルである。
【０３６９】
そして、オフセットの大きさは、ステップＳ５０５で算出された距離の１／２である。また、オフセットの方向は、ステップＳ５０６で得られたランダムな角度である。つまり、アドレス配置部２８３は、元の点を中心とし、算出された距離の１／２を半径とする円上の、ランダムな角度の方向に、元の点を移動する。
【０３７０】
以下では、点（Ｘｊ，Ｙｊ）が移動された点のＸ座標およびＹ座標を、それぞれ「Ｘ´ｊ」および「Ｙ´ｊ」と表記する。移動後の点のＸ座標Ｘ´ｊとＹ座標Ｙ´ｊは、式（１６）〜（１７）のとおりである。算出されたＸ座標Ｘ´ｊとＹ座標Ｙ´ｊは、現在環境情報２９５の一部として、例えばＲＡＭ４０３上に記憶される。
【０３７１】
【数９】
2012090333.tif 000011
【０３７２】
【数１０】
2012090333.tif 000012
【０３７３】
例えば、図１３には、ステップＳ５０７でアドレスＡ〜Ｅの各々について、移動された点のＸ座標Ｘ´ｊとＹ座標Ｙ´ｊが示されている（なお、図示の便宜上、小数点以下は丸められている）。例えば、距離が０．０のアドレスＡについては、移動前の点（２６，９５）と移動後の点（２６，９５）は同じ位置にある。しかし、距離が２３．５と比較的大きいアドレスＤについては、移動前の点（８５，６６）と移動後の点（８３，５４）は離れた位置にある。
【０３７４】
なお、ステップＳ５０７における点の移動を図形的に表現すると、図１８のとおりである。図１８のグラフ５０４ａは、以下の（Ｋ１）〜（Ｋ４）を含む。
（Ｋ１）各アドレスがマッピングされた点を示すバツ印と、各点のＸＹ座標と、各アドレスを示す参照符号（図１６のグラフ５０２ａと同様）。
（Ｋ２）ステップＳ５０２で算出された重心を示す黒い丸印（図１６のグラフ５０２ａと同様）。
（Ｋ３）各アドレスについての、破線で描かれた円。各円は、ステップＳ５０５で算出された距離の１／２を半径とし、（Ｋ１）のバツ印を中心とする。
【０３７５】
（Ｋ４）各アドレスについての、移動後の点を示す白い丸印。白い丸印は、（Ｋ３）の円上にある。また、バツ印に対する白い丸印の（Ｋ１）の角度は、ステップＳ５０６で決定されたランダム角度である。
【０３７６】
さて、以上説明したようにステップＳ５０７で点の移動が行われると、処理はステップＳ５０８に移行する。そして、ステップＳ５０８で重心決定部２８４は、現在環境情報２９５の一部として記憶されている、移動後の各点のＸＹ座標（Ｘ´ｊ，Ｙ´ｊ）から、現在の環境の重心のＸＹ座標を算出する。また、算出された重心の座標は、特徴点分布生成部２８０の内部データとして、例えばＲＡＭ４０３上に記憶される。
【０３７７】
ここで、上記の表記によれば、現在環境情報２９５が有するエントリの数はＭである。また、ステップＳ５０８で算出される重心のＸＹ座標を以下では（Ｘβ，Ｙβ）と表記する。すると、ステップＳ５０８で重心決定部２８４が行う計算は、具体的には、下記の式（１８）〜（１９）のとおりである。
【０３７８】
【数１１】
2012090333.tif 000013
【０３７９】
【数１２】
2012090333.tif 000014
【０３８０】
例えば図１３の現在環境情報２９５ａによれば、ステップＳ５０８で算出される重心のＸ座標Ｘβは約３８であり、Ｙ座標Ｙβは約５９である。すなわち、登録された環境に関してステップＳ５０２で算出された重心（Ｘα，Ｙα）と、現在の環境に関してステップＳ５０８で算出された重心（Ｘβ，Ｙβ）は、各点の移動の影響により、必ずしも一致するとは限らない。
【０３８１】
さて、以上のようにして重心（Ｘβ，Ｙβ）が得られると、処理は図１５に示すステップＳ５０９に移行する。すると、ステップＳ５０９で重心決定部２８４は、現在環境情報２９５の各エントリについて、ステップＳ５０７で移動した後の点のＸＹ座標（Ｘ´ｊ，Ｙ´ｊ）から、移動後の点の重心（Ｘβ，Ｙβ）に対する角度θ´ｊを算出する。また、各角度θ´ｊも、現在環境情報２９５の一部として例えばＲＡＭ４０３上に記憶される。
【０３８２】
具体的には、重心決定部２８４は、等式（２０）〜（２２）をすべて満たす値を角度θ´ｊとして求める。逆三角関数は多価関数だが、等式（２０）〜（２２）をすべて満たす値は一意に定まる。よって、重心決定部２８４は、角度θ´ｊを一意に算出することができる。
【０３８３】
【数１３】
2012090333.tif 000015
【０３８４】
【数１４】
2012090333.tif 000016
【０３８５】
−１８０°＜θ´ｊ≦１８０°                （２２）
【０３８６】
図１３には、現在環境情報２９５ａに含まれる５つのアドレスＡ〜Ｅそれぞれの、重心（Ｘβ，Ｙβ）に対する角度θ´ｊも示されている。
【０３８７】
そして、以上のステップＳ５０４〜Ｓ５０９により、各アドレスは、Ｘ座標Ｘ´ｊとＹ座標Ｙ´ｊと重心（Ｘβ，Ｙβ）に対する角度θ´ｊの３つ組〈Ｘ´ｊ，Ｙ´ｊ，θ´ｊ〉に対応づけられる。そして、座標と角度を持つ点は、特徴点として扱うことができる。つまり、ステップＳ５０４〜Ｓ５０９により、現在環境情報２９５中の各アドレスから特徴点が得られる。
【０３８８】
そして、現在環境情報２９５に含まれるＭ個のアドレスにそれぞれ対応するＭ個の特徴点の分布が、全体として、現在の環境を表す。つまり、以上のステップＳ５０４〜Ｓ５０９により、特徴点分布生成部２８０は、現在の環境を表す特徴点分布を生成する。別の観点から述べれば、ステップＳ５０４〜Ｓ５０９は、図２のステップＳ１０６の具体例である。
【０３８９】
なお、図１１のステップＳ４０２に示すように、現在環境情報２９５は、登録環境ＤＢ２７０の内容を用いて初期化される。したがって、利用者端末２００が現在置かれた環境には実際には存在しない装置に対応するエントリが現在環境情報２９５に含まれることもある。このような初期化を行う理由は、次のステップＳ５１０の照合処理が特徴点分布同士の位置合わせを含むためである。理由の詳細は後述する。
【０３９０】
ここではひとまず、ステップＳ４０２の初期化の理由の詳細には立ち入らないことにする。そして、「利用者端末２００が現在置かれた環境には存在しない装置に対応するエントリが現在環境情報２９５に含まれることもあり得るが、たとえそうでも、ステップＳ５０４〜Ｓ５０９で得られた特徴点分布は、現在の環境を表す」と認めて説明を続ける。
【０３９１】
以上のようにしてステップＳ５０４〜Ｓ５０９により得られた特徴点分布は、図形的に表現すると、図１９のとおりである。図１９に示すように、現在の環境の特徴点分布５０５ａは、図形的には、下記（Ｌ１）〜（Ｌ３）により表される。
【０３９２】
（Ｌ１）図１８において移動後の点を示す５個の白い丸印と同じ、白い丸印。なお、移動後の点のＸＹ座標、および対応するアドレスの参照符号も、白い丸印の近傍に書かれている。
（Ｌ２）ステップＳ５０８で得られた重心（Ｘβ，Ｙβ）を示す黒い丸印とそのＸＹ座標。なお、図１８の黒い丸印はステップＳ５０２で得られた（Ｘα，Ｙα）を表すので、図１９の黒い丸印とは異なる。
（Ｌ３）上記（Ｌ１）の白い丸印のそれぞれから、（Ｌ２）の重心（Ｘβ，Ｙβ）へ向かう矢印。
【０３９３】
例えば、図１３に示すように、アドレスＣに対応する移動後の点（３７，８２）の重心（Ｘβ，Ｙβ）＝（３８，５９）に対する角度は−８６．５３°である。よって、図１９においては、点（３７，８２）を表す白い丸印を始点として、−８６．５３°の方向の矢印が描かれている。他のアドレスＡ、Ｂ、Ｄ、Ｅに関しても同様である。
【０３９４】
なお、現在の環境の特徴点分布５０５ａは、データとしては、３つ組〈Ｘ´ｊ，Ｙ´ｊ，θ´ｊ〉で表される特徴点の集合として表される。そのため、図１３において「移動後」というラベルの付いた「Ｘ座標」と「Ｙ座標」と「重心に対する角度」という３つの列には、図１９と同様に「５０５ａ」という参照符号が付されている。
【０３９５】
さて、以上のようにして現在の環境の特徴点分布５０５ａが得られると、続いて、ステップＳ５１０で照合処理が行われる。照合処理の詳細は、図２０〜２２とともに後述するが、概要を述べれば次のとおりである。すなわち、照合処理においては、環境判定部２９０が、登録された環境の特徴点分布５０３ａと現在の環境の特徴点分布５０５ａを照合する。そして、環境判定部２９０は、照合の結果として、２つの特徴点分布が合致する度合を示す「合致率」というスコアを算出する。
【０３９６】
すると、次のステップＳ５１１で環境判定部２９０は、合致率が予め決められた基準合致率（例えば０．７）を超えているか否かを判定する。
【０３９７】
もし、合致率が基準合致率を超えていれば、環境判定部２９０は、「現在の環境は登録された環境と同じである」という判定結果をアドレス管理部２６０に出力する。そして、処理はステップＳ５１２に移行する。
【０３９８】
逆に、合致率が基準合致率以下であれば、環境判定部２９０は、「現在の環境は登録された環境とは異なる」という判定結果をアドレス管理部２６０に出力する。そして、処理はステップＳ５１５に移行する。
【０３９９】
そして、ステップＳ５１２でアドレス管理部２６０内の統計処理部２６３は、現在環境情報２９５の内容を登録環境ＤＢ２７０にコピーする。
具体的には、統計処理部２６３は、まず登録環境ＤＢ２７０の全エントリを削除する。そして、統計処理部２６３は、現在環境情報２９５の各エントリに順に注目し、注目しているエントリに関して次の（Ｍ１）と（Ｍ２）の処理を行う。
【０４００】
（Ｍ１）登録環境ＤＢ２７０に新規エントリを追加する。
（Ｍ２）登録環境ＤＢ２７０の新規エントリのＭＡＣアドレスと出現回数と前回計測回のフィールドに、現在環境情報２９５で注目しているエントリのＭＡＣアドレスと出現回数と前回計測回の値をそれぞれコピーする。
【０４０１】
なお、統計処理部２６３は、現在環境情報２９５のすべてのエントリに注目し終えたら、現在環境情報２９５を破棄する。
そして、次のステップＳ５１３でアドレス管理部２６０は、「現在の環境は登録された環境と同じである」という、環境判定部２９０から通知された判定結果を個人認証部２３０に出力する。すると、ステップＳ５１３で個人認証部２３０内の閾値変更部２３３は、図６の閾値情報２３６から、登録済みの環境用の低い照合閾値を読み出し、読み出した値を、生体認証に用いる照合閾値として設定する。そして、処理はステップＳ５１４に移行する。
【０４０２】
また、ステップＳ５１４では、閾値変更部２３３によって設定された照合閾値にしたがって、認証処理部２３１が個人認証を行う。すなわち、認証処理部２３１は、認証情報入力部２１０を介して利用者から生体情報の入力を受け付ける。そして、認証処理部２３１は、受け付けた生体情報と、認証情報ＤＢ２２０に予め登録されている生体情報とを照合し、照合スコアを算出するよう、生体情報照合部２３５に依頼する。
【０４０３】
さらに、認証処理部２３１は、生体情報照合部２３５により算出された照合スコアを照合閾値と比較する。そして、照合スコアが照合閾値を超えていれば、認証は成功し、認証処理部２３１は利用者を認証する。逆に、照合スコアが照合閾値以下であれば、認証は失敗し、認証処理部２３１は利用者を認証しない。
【０４０４】
ステップＳ５１４の上記の一連の処理が終了すると、図１４〜１５の判定処理も終了する。そして、図７のステップＳ２１４に相当する判定処理が終了すると、ステップＳ２１５以降の処理が行われる。
【０４０５】
また、上記のステップＳ５１１で合致率が基準合致率以下だった場合は、ステップＳ５１５でアドレス管理部２６０内の統計処理部２６３が現在環境情報２９５を破棄する。
そして、次のステップＳ５１６でアドレス管理部２６０は、「現在の環境は登録された環境と異なる」という、環境判定部２９０から通知された判定結果を個人認証部２３０に出力する。すると、ステップＳ５１６で個人認証部２３０内の閾値変更部２３３は、図６の閾値情報２３６から、登録されていない新規環境用の高い照合閾値を読み出し、読み出した値を、生体認証に用いる照合閾値として設定する。そして、処理はステップＳ５１４に移行する。ステップＳ５１４の詳細は上述のとおりである。
【０４０６】
さて、続いてステップＳ５１０で行われる照合処理の詳細について、図２０〜２２を参照して説明する。図２０は、照合処理のフローチャートである。
ステップＳ６０１で環境判定部２９０は、登録された環境と現在の環境の特徴点分布（例えば図１７と１９の特徴点分布５０３ａと５０５ａ）の間で、許容範囲内で合致する特徴点の数を数えるための変数を０に初期化する。なお、以下では便宜上、この変数を「合致数」ともいう。
【０４０７】
また、次のステップＳ６０２で環境判定部２９０は、登録された環境と現在の環境の特徴点分布（例えば図１７と１９の特徴点分布５０３ａと５０５ａ）の間で、許容範囲内で合致しない特徴点の数を数えるための変数を０に初期化する。なお、以下では便宜上、この変数を「非合致数」ともいう。
【０４０８】
そして、次のステップＳ６０３で環境判定部２９０は、現在環境情報２９５内に、ステップＳ６０５〜Ｓ６１１の処理の対象としてまだ注目していないエントリが残っているか否かを判断する。もし、まだ注目していないエントリがまだ残っていれば、処理はステップＳ６０４に移行する。逆に、すべてのエントリに既に注目していれば、処理はステップＳ６１２に移行する。
【０４０９】
ステップＳ６０４で環境判定部２９０は、ステップＳ６０５〜Ｓ６１１の処理の対象としてまだ注目していない現在環境情報２９５内のエントリに注目する。以下では説明の便宜上、ステップＳ６０４で環境判定部２９０が注目したエントリを「注目エントリ」という。
【０４１０】
そして、次のステップＳ６０５で合致判断部２９２は、登録環境ＤＢ２７０を検索することにより、注目エントリのＭＡＣアドレスが登録環境ＤＢ２７０に登録されているか否かを判断する。
【０４１１】
もし、注目エントリのＭＡＣアドレスが登録環境ＤＢ２７０に登録されていなければ、注目エントリは、登録された環境には存在しなかった装置に対応する。よって、注目エントリのＭＡＣアドレスに対応する特徴点（すなわち、計測処理が行われた現在の環境の特徴点分布中の特徴点）と比較する対象の特徴点は、登録された環境の特徴点分布中にそもそも存在しない。つまり、「注目エントリに対応する特徴点に合致する特徴点は、登録された環境の特徴点分布中に存在しない」ということが明らかである。したがって、処理はステップＳ６０６に移行する。
【０４１２】
逆に、注目エントリのＭＡＣアドレスが登録環境ＤＢ２７０に登録されていなければ、注目エントリは、登録された環境に存在した装置に対応する。よって、注目エントリのＭＡＣアドレスに対応する特徴点（すなわち計測処理が行われた現在の環境の特徴点分布中の特徴点）と比較する対象の特徴点は、登録された環境の特徴点分布中に存在する。よって、処理はステップＳ６０７に移行する。
【０４１３】
ステップＳ６０６で環境判定部２９０は、非合致数を１だけインクリメントする。そして、処理はステップＳ６０３に戻る。
また、ステップＳ６０７で位置合わせ部２９１は、現在環境情報２９５の注目エントリのＸＹ座標（正確には、移動後の点のＸＹ座標）と、登録環境ＤＢ２７０における対応エントリのＸＹ座標から、特徴点間の距離を算出する。なおここで「対応エントリ」とは、ステップＳ６０５の検索で見つかったエントリのことである。つまり、現在環境情報２９５の注目エントリと登録環境ＤＢ２７０における対応エントリは、ＭＡＣアドレスが等しい。
【０４１４】
具体的には、ステップＳ６０７で位置合わせ部２９１は、登録された環境の特徴点分布と計測処理が行われた現在の環境の特徴点分布に対して、互いの重心同士を重ね合わせる位置合わせを行った場合の、特徴点間の距離を算出する。
【０４１５】
ここで、説明の便宜上、登録環境ＤＢ２７０のｊ番目（１≦ｊ≦Ｒ）のエントリの内容が図１１のステップＳ４０２で現在環境情報２９５のｊ番目のエントリにコピーされたとする。また、注目エントリがｊ番目のエントリであるとする。
【０４１６】
すると、現在環境情報２９５の注目エントリに対応する特徴点は、上記の記号を用いて〈Ｘｊ，Ｙｊ，θｊ〉の３つ組で表すことができる。また、登録環境ＤＢ２７０の対応エントリに対応する特徴点は、上記の記号を用いて〈Ｘ´ｊ，Ｙ´ｊ，θ´ｊ〉の３つ組で表すことができる。
【０４１７】
したがって、重心同士を重ね合わせる位置合わせを行った場合の、特徴点間の距離を「ｄｊ」と表記することにすると、距離ｄｊは、式（２３）のとおりである。
【０４１８】
【数１５】
2012090333.tif 000017
【０４１９】
なお、登録された環境のアドレスがマッピングされた点（Ｘｊ，Ｙｊ）の、重心（Ｘα，Ｙα）に対する相対位置は、（Ｘｊ−Ｘα，Ｙｊ−Ｙα）である。また、現在の環境において移動された点（Ｘ´ｊ，Ｙ´ｊ）の、重心（Ｘβ，Ｙβ）に対する相対位置は、（Ｘ´ｊ−Ｘβ，Ｙ´ｊ−Ｙβ）である。
【０４２０】
よって、重心（Ｘα，Ｙα）と（Ｘβ，Ｙβ）を重ね合わせる位置合わせを行った場合の特徴点間の距離ｄｊは、上記の相対位置間の距離として表すことができる。式（２３）の右辺の１行目は、相対位置間の距離を示す。
【０４２１】
また、式（２３）の右辺は、２行目のように変形することもできる。２行目は以下のような観点を示す。
仮に、重心同士を重ね合わせる位置合わせを行わないとすると、現在の環境において移動された点（Ｘ´ｊ，Ｙ´ｊ）の、登録された環境のアドレスがマッピングされた点（Ｘｊ，Ｙｊ）に対する相対位置は（Ｘ´ｊ−Ｘｊ，Ｙ´ｊ−Ｙｊ）である。この相対位置を位置合わせによって補正することによっても、距離ｄｊは算出可能である。そして、位置合わせによる補正量のＸ成分とＹ成分は、それぞれ（Ｘβ−Ｘα）と（Ｙβ−Ｙα）であるから、結局、特徴点間の距離ｄｊは、式（２３）の右辺の２行目のように表すこともできる。
【０４２２】
また、式（２３）の右辺は、３行目のように変形することもできる。３行目は以下のような観点を示す。
重心同士を重ね合わせる位置合わせによる補正量のＸ成分とＹ成分は、それぞれ（Ｘβ−Ｘα）と（Ｙβ−Ｙα）である。よって、現在の環境において移動された点（Ｘ´ｊ，Ｙ´ｊ）を、位置合わせによって補正した点のＸＹ座標は、（Ｘ´ｊ−（Ｘβ−Ｘα），Ｙ´ｊ−（Ｙβ−Ｙα））である。特徴点間の距離ｄｊは、位置合わせされたこの点と、登録された環境のアドレスがマッピングされた点（Ｘｊ，Ｙｊ）との間の距離としても算出可能であり、具体的には式（２３）の３行目のように表すこともできる。
【０４２３】
以上のようにして特徴点間の距離ｄｊが算出されると、処理はステップＳ６０８に移行する。そして、ステップＳ６０８で合致判断部２９２は、算出された特徴点間の距離ｄｊが許容範囲内であるか否かを判断する。
【０４２４】
許容範囲は、予め定められた閾値によって規定される。例えば、１５という閾値により「距離ｄｊが１５以下ならば許容範囲内、距離ｄｊが１５を超えていれば許容範囲外」のように許容範囲が規定されていてもよい。もちろん、許容範囲を規定する閾値は、実施形態に応じて任意に決められていてよい。
【０４２５】
特徴点間の距離ｄｊが許容範囲内であれば、処理はステップＳ６０９に移行する。逆に、特徴点間の距離ｄｊが許容範囲外であれば、処理は前述のステップＳ６０６に移行する。
【０４２６】
そして、ステップＳ６０９で合致判断部２９２は、現在環境情報２９５の注目エントリの、重心（Ｘβ，Ｙβ）に対する角度θ´ｊと、登録環境ＤＢ２７０における対応エントリに関して算出された、重心（Ｘα，Ｙα）に対する角度θｊから、角度差を算出する。なお、ステップＳ６０９で算出される角度差は、正確には、角度差の大きさのことである。
【０４２７】
以下、角度差を「Δθｊ」という記号で表すことにし、角度差Δθｊは、式（２４）の範囲で定義されるものとする。
０≦Δθｊ≦１８０°                （２４）
すると、角度差Δθｊは、式（２５）のように表すことができる。
【０４２８】
【数１６】
2012090333.tif 000018
【０４２９】
式（２５）によれば、例えば、θｊ＝−１５０°かつθ´ｊ＝１６０°の場合、｜θ´ｊ−θｊ｜＝３１０°なので、Δθｊ＝５０°である。
そして、次のステップＳ６１０で合致判断部２９２は、角度差Δθｊが許容範囲内であるか否かを判断する。許容範囲は、予め定められた閾値によって規定される。例えば、３０という閾値により、「角度差Δθｊが３０°以下ならば許容範囲内、角度差Δθｊが３０°を超えていれば許容範囲外」のように許容範囲が規定されていてもよい。もちろん、許容範囲を規定する閾値の値は、実施形態に応じて任意に決められていてよい。
【０４３０】
そして、角度差Δθｊが許容範囲内であれば、処理はステップＳ６１１に移行する、逆に、角度差Δθｊが許容範囲外であれば、処理は前述のステップＳ６０６に移行する。
また、ステップＳ６１１で環境判定部２９０は、合致数を１だけインクリメントする。そして、処理はステップＳ６０３に戻る。
【０４３１】
ところで、上記のとおり、環境判定部２９０が現在環境情報２９５内のすべてのエントリに注目し終わると、処理はステップＳ６１２に移行する。ステップＳ６１２で環境判定部２９０は、合致数を、合致数と非合致数の和で割ることにより、合致率を算出する。そして、環境判定部２９０は、算出した合致率をアドレス管理部２６０に通知し、照合処理を終える。
【０４３２】
ところで、以上説明した照合処理を図形的に表現すると、図２１のとおりである。すなわち、図２１のグラフ５０６ａは、図１７に示した登録された環境の特徴点分布５０３ａと、図１９に示した現在の環境の特徴点分布５０５ａとを、互いの重心が重なるように位置合わせして、表現したものである。
【０４３３】
例えば、アドレスＡに対応してステップＳ５０５で算出された距離ｒｊは、図１３に示すとおり０．０である。よって、図１７の特徴点分布５０３ａにおいてアドレスＡに対応する特徴点のＸＹ座標と、図１９の特徴点分布５０５ａにおいてアドレスＡに対応する特徴点のＸＹ座標は、完全に一致する。
【０４３４】
しかしながら、図１７での重心（Ｘα，Ｙα）と図１９での重心（Ｘβ，Ｙβ）のＸＹ座標はわずかに異なる。したがって、位置合わせの結果として、図２１のグラフ５０６ａにおいては、アドレスＡに対応する２つの特徴点は、わずかにずれている。
【０４３５】
また、アドレスＢ〜Ｅに関しては、ステップＳ５０５で算出された距離ｒｊが０ではないこともあり、同じ１つのアドレスに対応する２つの特徴点間の距離ｄｊは０ではない。しかし、図２１に示すように、アドレスＡ〜Ｅのいずれに関しても、距離ｄｊはさほど大きくなく、許容範囲内である。
【０４３６】
そして、図２１に示した矢印の向きから理解されるように、アドレスＡ〜Ｅのいずれに関しても、角度差Δθｊはさほど大きくなく、許容範囲内である。よって、図２１の例では、合致率として１（＝５／５）が得られる。
【０４３７】
なお、図２１に示した矢印の向きに相当する角度差Δθｊの具体的な値は、図２２に示すとおりである。図２２には、理解の助けとするために、図１０から引用した、登録された環境における重心（Ｘα，Ｙα）に対する角度θｊの列と、図１３から引用した、現在の環境における重心（Ｘβ，Ｙβ）に対する角度θ´ｊの列が示されている。
【０４３８】
そして、これら２つの列に示された角度θｊとθ´ｊから式（２５）により算出された角度差Δθｊの具体的数値が、角度差５０７ａの列として図２２には示されている。角度差Δθｊの範囲に式（２４）のような制約を設けることの妥当性は、アドレスＤの例からも明らかである。
【０４３９】
図２２に示すとおり、登録された環境に関して、アドレスＤがマッピングされた点の重心に対する角度は約−１７０．６６°である。また、現在の環境に関して、アドレスＤがマッピングされた点が移動された点の、重心に対する角度は、約１７４．５５°である。よって、もし単に２つの角度の差の絶対値を角度差として得ることにすると、アドレスＤに関して非常に大きな角度差（約３４５．２０°）が得られることになる。
【０４４０】
しかしながら、図２１のとおり、−１７０．６６°の方向も、１７４．５５°の方向も、ともに時計の９時の方向に非常に近い方向である。図２１によれば、この２つの方向の角度差Δθｊが小さいことは一目瞭然である。
【０４４１】
そこで、許容範囲と比較される角度差Δθｊには、式（２４）の制約が設けられている。また、式（２４）が満たされるようにするために、合致判断部２９２は、式（２５）にしたがって角度差Δθｊを算出する。
【０４４２】
ところで、上記の図１０、１３、１６〜１９、２１、２２は、図９の表５０１ａが示す第１の例における具体的データを示している。そして上述のごとく、第１の例によれば、２０１０年８月２６日の計測処理の後に行われる判定処理では、「登録された環境と現在の環境は同じである」という結果が得られる。
【０４４３】
以下では逆に、「登録された環境と現在の環境は異なる」という判定結果が得られる第２の場合について説明する。図２３は、環境変化の第２の例を説明する図である。図２３の形式は図９と同じである。図２３の表５０１ｂは、以下の（Ｎ１）〜（Ｎ３）の状況を表す。
【０４４４】
（Ｎ１）２０１０年８月２５日の朝に利用者端末２００に電源が入れられ、図７の処理が実行され、ステップＳ２１１で図８の環境登録処理が行われた。環境登録処理の実行後、利用者端末２００の電源が切断された。
【０４４５】
（Ｎ２）２０１０年８月２６日の朝に再び利用者端末２００の電源が入れられ、図７の処理が実行され、今度はステップＳ２１３以下の処理が行われた。その後、利用者端末２００の電源は再び切断された。
【０４４６】
（Ｎ３）２０１０年８月２７日の朝に再び利用者端末２００の電源が入れられ、図７の処理が実行され、再びステップＳ２１３以下の処理が行われた。その後、利用者端末２００の電源は再び切断された。
【０４４７】
さて、図２３の表５０１ｂが示す（Ｎ１）の状況は、図９の表５０１ａが示す上記（Ｇ１）の状況と比べると、１６回のアドレス収集の結果として、登録環境ＤＢ２７０にアドレスＡ〜Ｅに対応する５つのエントリが作られる点で共通している。しかし、状況（Ｎ１）と（Ｇ１）の細部は異なる。具体的には、図９と図２３を比較すると分かるとおり、アドレスＣとＤの出現パターンが、状況（Ｎ１）と（Ｇ１）では異なる。
【０４４８】
すなわち、図２３の第２の例での環境登録処理では、アドレスＡとＣは１〜１６回目のすべてのアドレス収集において収集され、アドレスＢは１６回目以外のすべてのアドレス収集において収集される。また、アドレスＤは、２〜３、５〜８、１０〜１４、１６回目のアドレス収集において収集され、アドレスＥは１〜１３回目のアドレス収集において収集される。
【０４４９】
したがって、図２３の第２の例において環境登録処理が完了した時点での登録環境ＤＢ２７０の内容は、図１０に示した登録環境ＤＢ２７０ａの内容とは異なる。図示は省略したが、図２３の第２の例において環境登録処理が完了した時点での登録環境ＤＢ２７０には、アドレスＡ〜Ｅそれぞれの出現回数として、１６、１５、１６、１２、１３が登録されている。また、アドレスＡ〜Ｅそれぞれの前回計測回として、１６、１５、１６、１６、１３が登録されている。
【０４５０】
その後、上記（Ｎ２）のとおり、図２３の第２の例では、２０１０年８月２６日の朝に計測処理が行われる。この計測処理において収集されるアドレスは、アドレスＡ、Ｃ、Ｆ〜Ｉである。また、この計測処理の時点で計測回数２６４の値は１７である。
【０４５１】
その後さらに、上記（Ｎ３）のとおり、図２３の第２の例では、２０１０年８月２７日の朝に再び計測処理が行われる。この計測処理において収集されるアドレスは、アドレスＡ〜Ｃ、Ｅである。また、この計測処理の時点で計測回数２６４の値は１８である。
【０４５２】
なお、図２３の表５０１ｂに示す環境変化は、例えば、以下のような場合に生じ得る。
例えば、利用者は、通常は会社の自席で利用者端末２００を利用する。利用者は、会社内ではセキュリティよりも利便性を優先したいと考えるかもしれない。すると、図２３に示すように、２０１０年８月２５日に利用者は、図７のステップＳ２０９で環境登録処理を開始するための指示を入力し、利用者端末２００は環境登録処理を実行する。
【０４５３】
その結果、２０１０年８月２５日に図２３のように利用者の会社内の自席の環境が登録される。例えば、アドレスＡ〜Ｅの装置は、同僚が使うＰＣかもしれないし、利用者の自席付近の無線ＬＡＮアクセスポイントかもしれないし、Bluetooth（登録商標）による通信が可能なキーボード等の周辺機器かもしれない。
【０４５４】
しかし、利用者は、２０１０年８月２６日には、会社のいつもの自席ではなく、異なる場所で仕事をするかもしれない。例えば、アドレスＡの装置とアドレスＣの装置は、持ち運び可能な装置であってもよい。そして、利用者は同僚とともに、利用者端末２００と、アドレスＡの装置と、アドレスＣの装置とを社外に持ち出し、２０１０年８月２６日は社外で仕事をするかもしれない。また、その社外の環境には、アドレスＦ〜Ｉの装置が存在するかもしれない。
【０４５５】
そして、２０１０年８月２７日には、利用者と同僚は、利用者端末２００と、アドレスＡの装置と、アドレスＣの装置とを持って会社に出勤し、会社内のいつもの自席で仕事をするかもしれない。その際、図２３の例のように、アドレスＤの装置は、「たまたま電源が切断されている」などの理由により、環境内に存在しないかもしれない。その結果、計測処理によって収集されるアドレスは、アドレスＡ〜Ｃ、Ｅの４つかもしれない。
【０４５６】
例えば、以上例示したような場合に、図２３の表５０１ｂに示すような環境変化が生じ得る。以下では、図２３の第２の例において２０１０年８月２６日に行われる計測処理と判定処理について、具体例を説明する。
【０４５７】
図２４は、図２３の第２の例での２０１０年８月２６日の計測処理と判定処理で得られる現在環境情報２９５の詳細を、図１３と同じ形式で示す図である。なお、図２４では、図２３の第２の例での２０１０年８月２６日の計測処理と判定処理で得られる特定の現在環境情報２９５を、特に「２９５ｂ」という参照符号で表す。
【０４５８】
図２３の第２の例によれば、環境登録処理によって、アドレスＡ〜Ｅが登録環境ＤＢ２７０に登録済みである。よって、２０１０年８月２６日に図１１〜１２の計測処理が行われると、ステップＳ４０２で、アドレスＡ〜Ｅに対応する５つのエントリが現在環境情報２９５ｂに作られる。
【０４５９】
また、図２３の２０１０年８月２６日の行に示すように、ステップＳ４０３で収集されるアドレスは、Ａ、Ｃ、Ｆ〜Ｉである。よって、アドレスＦ〜Ｉにそれぞれ対応するエントリが、ステップＳ４０９で現在環境情報２９５ｂに追加される。その結果、現在環境情報２９５ｂは、図２４に示すように、アドレスＡ〜Ｉに対応する９つのエントリを持つようになる。
【０４６０】
なお、「Ａ」〜「Ｉ」は、説明の便宜上の参照符号である。アドレスＡ〜Ｉの実際のＭＡＣアドレスは、図２４に示すとおりであるとする。
計測処理が終わった時点では、現在環境情報２９５ｂのうち、ＭＡＣアドレスと出現回数と前回計測回と不在率と経過回数と時間経過率のフィールドのみが値を持つ。
【０４６１】
そして、図２３に示すように、アドレスＡとＣは、いずれも、環境登録処理において既に１６回収集されており、かつ計測処理でも収集される。よって、アドレスＡとＣの出現回数はいずれも１７であり、アドレスＡとＣの前回計測回はいずれも１７である。
【０４６２】
また、アドレスＢ、Ｄ、Ｅは、それぞれ環境登録処理において既に１５回、１２回、１３回収集されているが、計測処理では収集されない。よって、アドレスＢ、Ｄ、Ｅの出現回数はそれぞれ１５、１２、１３である。また、アドレスＢ、Ｄ、Ｅが環境登録処理において最後に収集されたのは、それぞれ、１５回目、１６回目、１３回目のアドレス収集においてである。よって、アドレスＢ、Ｄ、Ｅの前回計測回はそれぞれ１５、１６、１３である。
【０４６３】
また、アドレスＦ〜Ｉは、環境登録処理において１回も収集されたことのないアドレスである。つまり、アドレスＦ〜Ｉは、２０１０年８月２６日の計測処理において初めて収集されたアドレスであり、この計測処理において計測回数２６４の値は１７である。したがって、アドレスＦ〜Ｉの出現回数はいずれも１であり、アドレスＦ〜Ｉの前回計測回はいずれも１７である。
【０４６４】
そして、各アドレスの不在率は、図１２のステップＳ４１６で式（１２）により算出される。また、各アドレスの経過回数は、ステップＳ４１５で式（１３）により算出される。さらに、各アドレスの時間経過率は、ステップＳ４１７で式（１４）により算出される。
【０４６５】
そして、計測処理の実行後、判定処理の進行につれて、現在環境情報２９５ｂの残りのフィールドの値も算出されてゆく。各フィールドの値は図２４に示したとおりである。
具体的には、図２４において「移動前」のラベルが付けられたＸ座標とＹ座標は、図１４のステップＳ５０４で式（３）と（４）により算出される。また、距離は、ステップＳ５０５で式（１５）により算出される。さらに、ランダム角度がステップＳ５０６で決定される。
【０４６６】
そして、「移動後」のラベルが付けられたＸ座標とＹ座標が図１４のステップＳ５０７で式（１６）と（１７）により算出される。また、重心に対する角度が図１５のステップＳ５０９で式（２０）〜（２２）により算出される。
【０４６７】
なお、図２３の第２の例に関して、２０１０年８月２６日に以上のようにして行われる判定処理を図形的に表現すると、図２５〜２７のとおりである。また、判定処理に含まれる照合処理で算出される角度差は図２８のとおりである。
【０４６８】
図２５のグラフ５０４ｂは、図１８のグラフ５０４ａと類似の形式にて点の移動を示す。すなわち、図２５において、移動前の点はバツ印で示されており、移動後の点が白い丸印で示されている。また、図２５では、移動前の点から移動後の点に向かう矢印も示されている。
【０４６９】
図２４に示すように、アドレスＡとＣに対応する距離はいずれも０．０なので、アドレスＡとＣに対応する点は、結果的には移動されない。また、アドレスＢ、Ｄ、Ｅに対応する距離は、図２４によれば１６．６、３０．０、３３．３である。よって、距離とランダム角度に応じて、アドレスＢ、Ｄ、Ｅに対応する点は、それぞれ、破線で示した円上の、白い丸印の位置に移動される。
【０４７０】
そして、登録環境ＤＢ２７０には登録されていないアドレスＦ〜Ｉに対応する距離は、図２４によれば、いずれも９４．１と非常に大きい。よって、アドレスＦ〜Ｉに対応する点は、それぞれ、距離とランダム角度に応じて、実線で示した円上の、白い丸印の位置に移動され、元の位置からは大幅にずれる。
【０４７１】
以上のようにして点の移動が行われた結果として得られる、現在の環境についての特徴点分布を図形的に表すと、図２６のとおりである。図２６には、図１９と同様の形式にて、現在の環境の特徴点分布５０５ｂが示されている。
【０４７２】
すなわち、図２６の現在の環境の特徴点分布５０５ｂは、アドレスＡ〜Ｉにそれぞれ対応する特徴点を含み、各特徴点は、白い丸印と重心への角度を示す矢印によって表現されている。なお、重心は黒い丸印で示されており、重心の座標は、図２６に示すとおり、（Ｘβ，Ｙβ）＝（４９，４６）である。
【０４７３】
ところで、図９の第１の例と図２３の第２の例では、環境登録処理におけるアドレスの出現パターンが異なる。しかし、図１４のステップＳ５０１〜Ｓ５０３から理解されるように、登録された環境の特徴点分布５０３ａは、環境登録処理で収集されたアドレスの集合にのみ依存し、収集された個々のアドレスの出現回数や前回計測回には依存しない。
【０４７４】
そして、図９の第１の例と図２３の第２の例のいずれにおいても、環境登録処理で収集されるアドレスの集合は、｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ｝である。よって、図２３の第２の例の判定処理のステップＳ５０１〜Ｓ５０３により得られる特徴点分布は、図形的に表現すると、図１７の特徴点分布５０３ａと同じである。
【０４７５】
したがって、図２３の第２の例の２０１０年８月２６日の判定処理に含まれる照合処理での位置合わせは、図形的に表現すると、重心同士が重なるように図１７と２６の特徴点分布同士を重ね合わせた図となり、具体的には図２７のグラフ５０６ｂのようになる。また、図２７のグラフ５０６ｂには、位置合わせされた特徴点間の距離ｄｊに関する許容範囲が「１５以下」である場合の、許容範囲を示す破線の円も示されている。
【０４７６】
なお、図２７について、図２４の現在環境情報２９５ａを参照しながら、図２０の照合処理のフローチャートに沿って説明すれば、以下のとおりである。
ステップＳ６０４でアドレスＡのエントリが注目された場合、アドレスＡは登録環境ＤＢ２７０に登録されているので処理はステップＳ６０５からステップＳ６０７へ移行する。ところが、図２７において、アドレスＡに対応するバツ印は、アドレスＡに対応する白い丸印を中心とする破線の円の外に位置する。
【０４７７】
つまり、アドレスＡに関しては、位置合わせされた特徴点間の距離ｄｊが、許容範囲外である。したがって、処理はステップＳ６０８からステップＳ６０６に移行し、アドレスＡに関しては非合致数がインクリメントされる。
【０４７８】
また、ステップＳ６０４でアドレスＢのエントリが注目された場合、アドレスＢは登録環境ＤＢ２７０に登録されているので処理はステップＳ６０５からステップＳ６０７へ移行する。また、図２７において、アドレスＢに対応するバツ印は、アドレスＢに対応する白い丸印を中心とする破線の円の中に位置する。
【０４７９】
つまり、アドレスＢに関しては、位置合わせされた特徴点間の距離ｄｊが、許容範囲内である。よって、処理はステップＳ６０８からステップＳ６０９へ移行する。
ここで、各アドレスについての角度差Δθｊは、図２８のとおりである。図２８の形式は図２２と同様である。
【０４８０】
図９の第１の例と図２３の第２の例において、環境登録処理で登録環境ＤＢ２７０に登録されるアドレスの集合は同じなので、登録された環境における重心（Ｘα，Ｙα）に対する角度θｊは、第１の例と第２の例でも同じである。よって、図２８において、登録された環境における重心（Ｘα，Ｙα）に対する角度θｊは、図１０から引用したものである。また、図２８において、現在の環境における（Ｘβ，Ｙβ）に対する角度θ´ｊは、図２４から引用したものである。
【０４８１】
なお、図２３に示すように、環境登録処理において収集されたアドレスは、アドレスＡ〜Ｅのみである。よって、アドレスＦ〜Ｉに関しては、登録された環境における重心（Ｘα，Ｙα）に対する角度θｊは未定義である。
【０４８２】
図２８の最右列の角度差５０７ｂは、式（２５）によって定義される角度差Δθｊである。上記のとおりアドレスＦ〜Ｉに関しては、角度θｊが未定義なので、当然角度差Δθｊも未定義である。
【０４８３】
そして、図２８に示すように、アドレスＢに関する角度差は３１．５４°である。また、ここで、図２０のステップＳ６１０における許容範囲が「３０°以内」と予め定められているものとする。
【０４８４】
すると、アドレスＢに関して、処理はステップＳ６１０からステップＳ６０６へと移行する。したがって、アドレスＢに関しても、非合致数がインクリメントされる。
また、ステップＳ６０４で現在環境情報２９５ｂのアドレスＣのエントリが注目された場合は、アドレスＡが注目された場合と同様にして、やはり非合致数がインクリメントされる。
【０４８５】
他方、ステップＳ６０４でアドレスＤのエントリが注目された場合は、合致数がインクリメントされる。なぜなら以下のように処理が進むからである。
アドレスＤは登録環境ＤＢ２７０に登録されているので処理はステップＳ６０５からステップＳ６０７へ移行する。また、図２７において、アドレスＤに対応するバツ印は、アドレスＤに対応する白い丸印を中心とする破線の円の中に位置する。
【０４８６】
つまり、アドレスＤに関しては、位置合わせされた特徴点間の距離ｄｊが、許容範囲内である。よって、処理はステップＳ６０８からステップＳ６０９へ移行する。
そして、角度差Δθｊを示す図２８を参照すると、アドレスＤに関する角度差Δθｊは３．５８°であり、これは３０°以内なので、許容範囲内である。したがって、処理はステップＳ６１０からステップＳ６１１へと移行し、合致数がインクリメントされる。
【０４８７】
さて、ステップＳ６０４でアドレスＥのエントリが注目された場合は、アドレスＡが注目された場合と同様にして、やはり非合致数がインクリメントされる。
さらに、ステップＳ６０４でアドレスＦのエントリが注目された場合、アドレスＦは登録環境ＤＢ２７０に登録されていないので、処理はステップＳ６０５からステップＳ６０６に移行する。そして、アドレスＦに関しては非合致数がインクリメントされる。そして、アドレスＧ〜ＩのエントリがそれぞれステップＳ６０４で注目された場合も、同様にして、非合致数がインクリメントされる。
【０４８８】
以上のとおり、照合処理では、図２４の現在環境情報２９５ｂの９個のエントリのうち１個のエントリ（つまりアドレスＤのエントリ）に関してのみ、合致数がインクリメントされる。残りの８個のエントリに関しては、非合致数がインクリメントされる。したがって、ステップＳ６１２で算出される合致率は１／９（すなわち約１１％）である。
【０４８９】
ここで、図１５に示す判定処理のステップＳ５１１における基準合致率が、例えば上記のように０．７（すなわち７０％）であるとする。すると、１／９≦０．７なので、図２３〜２８の例では、２０１０年８月２６日の判定処理において、環境判定部２９０が「現在の環境は登録された環境ではない」という判定結果を出力する。
【０４９０】
したがって、認証処理部２３１は、登録されていない新規環境用の高い照合閾値による厳格な生体認証を行う。つまり、本人拒否率（ＦＲＲ）を下げることによる利便性の向上よりも、他人受入率（ＦＡＲ）を下げることによるセキュリティ向上が優先される。
【０４９１】
以上説明したように、第２実施形態によれば、「利用者端末２００が現在置かれた環境が、許容範囲内で特定の環境（すなわち登録された環境）と一致するか否か」という判定が可能である。そして、利用者端末２００は、判定結果に応じて、生体認証における照合閾値を切り換えることにより、特定の環境では利便性を優先し、他の環境ではセキュリティを優先する。したがって、第２実施形態によれば、利便性とセキュリティをバランスよく考慮した認証が実現される。
【０４９２】
また、第２実施形態によれば、利用者の負担が軽い。そして、セキュリティ強度が利用者に依存することもない。
例えば、第２実施形態を上述の第１〜第２比較例と比べると、第２実施形態では、登録したい環境内に存在する他の装置のアドレスまたは重みを利用者が入力する必要がない。第２実施形態において環境の登録に関して利用者が行う操作は、単なる開始の指示だけである。
【０４９３】
したがって、第２実施形態では利用者の負荷が軽い。また、第２実施形態では、第２比較例とは異なり、利用者のスキルや知識に依存する重みに応じて環境が判定される訳ではない。換言すれば、第２実施形態の利用者端末２００は、自動的かつ自律的に、利用者によって入力される情報を必要とせずに、判定処理を遂行する。したがって、第２実施形態での判定結果は、利用者のスキルや知識に依存しない。
【０４９４】
また、図７のステップＳ２０２に関して説明したように、利用者端末２００は、生体認証による認証にのみ対応する装置であってもよい。あるいは、利用者端末２００は、ＩＤとパスワードによる認証にも対応し、生体認証にも対応し、かつ、生体情報が認証情報ＤＢ２２０に登録済みの場合はＩＤとパスワードによる認証よりも生体認証を優先するように構成されていてもよい。つまり、第２実施形態では、利用者の負担が軽い認証スキームが採用されている。
【０４９５】
一般に、ＩＤとパスワード（あるいはＩＤと暗証番号）のように、利用者が記憶している情報を用いた認証では、セキュリティ強度を保つための利用者の負担が大きい。例えば、利用者は、推測されにくいランダムなパスワードを設定することや、定期的にパスワードを変更することを求められるので、利用者の負担が高い。
【０４９６】
また、セキュリティ意識の低い利用者は、推測されやすいパスワードを長期にわたって使い続けるかもしれない。その結果、利用者が記憶している情報を用いた認証では、セキュリティ強度が利用者に依存してしまう。
【０４９７】
それに対し、生体認証は、セキュリティ強度を保つための利用者の負担がなく、セキュリティ強度が利用者に依存することもない。第２実施形態では、このように好ましい特徴を有する生体認証が採用されるため、利用者の負担が軽く、セキュリティの利用者依存性もない。
【０４９８】
さらに、上記第３〜第５比較例と比べると、第２実施形態には、「利用者端末２００が環境を判定するためには、利用者端末２００以外の他の特定の装置（例えば第３比較例の信頼性保証サーバのような、外部サーバなど）は不要である」という利点もある。つまり、第２実施形態によれば、外部サーバの存在などの特定の前提を必要とせずに、どのような環境に置かれた場合でも、利用者端末２００が自己完結的に環境の判定を行うことができる。
【０４９９】
また、携帯情報端末における生体認証には、一般に以下のような課題がある。しかし、第２実施形態によれば、以下の課題も解決される。
すなわち、携帯情報端末に実装することが可能な生体認証方式は、現実的には、生体認証用のデバイスの大きさやコストの面から、限定されてしまう。また、携帯情報端末は、携帯可能なので、どこで使われるかが事前には分からない。例えば、携帯情報端末は、直射日光の当たる屋外で使われるかもしれないし、暗い所で使われるかもしれないし、暑い所で使われるかもしれないし、寒い所で使われるかもしれない。
【０５００】
そして、一般に、虹彩などによる認証では画像が使われる。そして、認証を受けようとする利用者の生体情報を得るための撮像が、上記のように直射日光の当たる屋外で行われたり暗い所で行われたりすると、安定した品質の画像を得ることができない。そのため、生体認証の本人拒否率が、携帯情報端末が使われる場所に依存して上がってしてしまうことがある。
【０５０１】
また、指紋による認証では、本人拒否率が汗にも影響される。そのため、携帯情報端末が暑い所で使われると、本人拒否率が上がってしてしまうことがある。
つまり、例えば銀行のＡＴＭ（Automated Teller Machine）のように、空調や光量が制御された場所において生体認証が行われる場合と比較すると、携帯情報端末には、「場所によって本人拒否率が上昇し、結果として利便性が低下する」という課題がある。そして、上記のように、現実的に携帯情報端末に実装可能な生体認証用デバイスが限られているという状況下では、生体認証用デバイスの高機能化によってこの課題を完全に解決することは、困難である。
【０５０２】
携帯情報端末における生体認証に関する上記のような一般的課題に対して、第２実施形態は、解決策を提示するものである。
すなわち、第２実施形態によれば、ことさら高価で高性能のデバイスを認証情報入力部２１０として使わなくてもよく、また、認証処理部６１１における認証アルゴリズムを複雑化しなくてもよい。にもかかわらず、第２実施形態によれば、登録された特定の環境下では、相対的に低い照合閾値が選択されるので、本人拒否率を下げる（つまり、利便性を上げる）ことができる。つまり、第２実施形態によれば、たとえ場所に依存して本人拒否率が上がることがあっても、登録された特定の環境下では、相対的に低い照合閾値を選択することによって、本人拒否率の上昇を相殺することができる。
【０５０３】
また、第２実施形態では、「携帯情報端末では場所に依存して本人拒否率が上がる」という課題を解決するために「常に低い照合閾値を使う」といったセキュリティ低下のリスクの大きい対策をとる訳ではない。よって、第２実施形態では、利便性とセキュリティ強度のバランスが良い。
【０５０４】
なお、第２実施形態における利便性とセキュリティ強度のバランスの良さは、次のような観点からも説明可能である。すなわち、第２実施形態によれば、ＩＤカードリーダや守衛や同僚の人目など、利用者端末２００の外部に存在する理由から、セキュリティが保たれる確度がある程度高い、特定の登録された環境においては、照合閾値が下げられ、利便性が優先される。他方で、他の環境では、照合閾値が上げられ、セキュリティが優先される。したがって、第２実施形態では、利便性とセキュリティ強度のバランスが良い。
【０５０５】
また、第２実施形態では、図２０のステップＳ６０８での距離に関する許容範囲と、ステップＳ６１０での角度に関する許容範囲と、図１５のステップＳ５１１の基準合致率とを規定する、３つの閾値が使われる。３つの閾値は、「特徴点分布同士が許容範囲内で一致するか否か」に関する許容範囲を規定する分布一致基準を与える。
【０５０６】
したがって、３つの閾値が適切に定義されていれば、第２実施形態によれば、「適切に定められた許容範囲内で特徴点分布同士が一致するか否か」すなわち「適切に定められた許容範囲内で環境同士が一致するか否か」の判定が可能となる。このように許容範囲を設けた判定には、上記第１比較例のような硬直した判定と比較すると、「正確かつ柔軟な判定結果が得られる」という利点がある。つまり、第２実施形態には、日常的にしばしば起こり得る一時的で小さな変動に起因する誤判定を、少なく抑える効果もある。
【０５０７】
続いて、以上説明した第２実施形態に関して、いくつか補足説明を行う。
まず、図１１のステップＳ４０２において、なぜ登録環境ＤＢ２７０の内容で現在環境情報２９５が初期化されるのか（換言すれば、なぜ現在環境情報２９５の初期状態は空に設定されないのか）について説明する。
【０５０８】
簡単のため、例えば３つの特徴点のみを含む特徴点分布を例に説明する。第１の特徴点分布において、３つの特徴点のＸＹ座標が（２０，１０）と（１５，４０）と（３０，２５）であるとする。また、第２の特徴点分布において、３つの特徴点のＸＹ座標が（５０，２０）と（４５，５０）と（６０，３５）であるとする。つまり、第２の特徴点分布は、第１の特徴点分布をＸ方向に＋３０、Ｙ方向に＋１０、それぞれ平行移動をしたものである。
【０５０９】
したがって、第１と第２の特徴点分布は、重心同士を重ね合わせて位置合わせをすると、完全に一致してしまう。つまり、元のＸＹ座標がまったく異なるにもかかわらず、第１と第２の特徴点分布は、位置合わせによって完全に一致してしまう。
【０５１０】
このような偶然の一致を排除して、環境が変化した場合には変化が重心の違いに反映されるようにするために、第２実施形態では、登録環境ＤＢ２７０の内容で現在環境情報２９５が初期化される。登録環境ＤＢ２７０の内容で現在環境情報２９５を初期化すると、登録環境ＤＢ２７０に登録されていない新規アドレスが計測処理で収集された場合に、現在環境情報２９５が空に初期化される場合と比べて、各特徴点の重心に対する相対位置がより確実に変化する。
【０５１１】
なお、計測処理の対象である現在の環境に関しては、図１４のステップＳ５０７で点の移動が行われ、移動後の点に関してステップＳ５０８で重心が算出される。よって、登録された環境についての重心の位置（Ｘα，Ｙα）と、現在の環境についての重心の位置（Ｘβ，Ｙβ）との差は、点の移動による違いの影響も、もちろん含んでいる。
【０５１２】
しかしながら、２つの重心の位置の差は、単に点の移動の影響を受けているだけではなく、登録環境ＤＢ２７０に含まれるアドレスの集合と、現在環境情報２９５に含まれるアドレスの集合の違いも反映している。したがって、登録環境ＤＢ２７０の内容で現在環境情報２９５を初期化することにより、登録環境ＤＢ２７０に登録されていない新たなアドレスが計測処理で収集された場合には、新たなアドレスの存在を、各特徴点の重心に対する相対位置に反映することができる。
【０５１３】
このように、環境の変化は、重心の位置の違いに反映される。環境の変化の原因は、例えば「登録された環境に存在する装置のうちの一部が、計測処理の時点では偶然電源が切断されていた」、「新たな装置が環境内に導入された」、「登録された環境とはまったく異なる環境に利用者端末２００が移動された」など様々である。しかし、原因によらず、とにかく環境が変化すれば、登録環境ＤＢ２７０の内容で現在環境情報２９５が初期化されることにより、環境の変化が確実に重心の位置の違いにも反映される。
【０５１４】
そして、環境の変化が大きいほど、重心の位置の違いも大きくなり、また、ステップＳ５０７で大きく移動される点も多い。その結果、環境の変化が大きいほど、同じ座標にマッピングされた同じアドレスに対応する特徴点同士が照合処理において「合致しない」と判定される確率も上がる。したがって、環境の変化が大きいほど、「登録された環境と現在の環境は異なる」という判定結果が得られる確率も上がる。
【０５１５】
このように、第２実施形態では、重心の位置を介して間接的に特徴点分布の全体像が捉えられる。つまり、重心同士を重ねる位置合わせにより、特徴点分布同士の合致の度合を総合的に捉えることが可能である。
【０５１６】
続いて、図１５のステップＳ５１２の効果について補足する。ステップＳ５１２によれば、「現在の環境は登録された環境と同じである」という判定結果が得られた場合に、登録環境ＤＢ２７０に含まれるいずれのアドレスとも等しくないアドレス（便宜上「新規出現アドレス」という）を登録環境ＤＢ２７０に追加される。また、登録環境ＤＢ２７０は、登録された環境を表す環境情報を記憶するデータベースである。
【０５１７】
よって、ステップＳ５１２は、いわば「登録された環境に小さな変動が生じた場合には、小さな変動の結果を、登録された環境に新たに取り込むように、環境情報を更新するための処理」である。ステップＳ５１２により、登録環境ＤＢ２７０は、日常的に生じ得る小さな変動に追従して変化する。
【０５１８】
さて続いて、第３実施形態について図２９〜３４を参照して説明する。なお、第２実施形態との共通点については適宜説明を省略する。
図２９は、第３実施形態の利用者端末の構成の詳細を示す図である。図２９の利用者端末６００も、例えば図４のコンピュータ４００により実現されてもよい。
【０５１９】
図２９の利用者端末６００は、図５の利用者端末２００と同様に、認証情報入力部２１０を内蔵するか、または外付けの認証情報入力部２１０と接続される。また、利用者端末６００は、利用者端末２００と同様の、通信制御部２４０、アドレス計測部２５０、特徴点分布生成部２８０、および環境判定部２９０を有する。さらに、利用者端末６００は、利用者端末２００と同様に、内部データとして現在環境情報２９５を保持する。
【０５２０】
他方、利用者端末６００は、個人認証部２３０の代わりに個人認証部６１０を有し、アドレス管理部２６０の代わりにアドレス管理部６２０を有する。また、利用者端末６００は、無線通信部６３０を内蔵するか、あるいは外付けの無線通信部６３０と接続される。
【０５２１】
なお、利用者端末６００の通信制御部２４０の機能は、利用者端末２００の通信制御部２４０の機能と同様でよい。図２９においては、利用者端末６００は、装置３００ｃ、装置３００ｄ、および管理サーバ７００と有線または無線のネットワークを介して接続されている。したがって、利用者端末６００は、通信制御部２４０を介して装置３００ｃ、装置３００ｄ、および管理サーバ７００と通信することができる。
【０５２２】
なお、装置３００ｃは通信制御部３１０ｃを有し、装置３００ｄは通信制御部３１０ｄを有し、管理サーバ７００は通信制御部７１０を有する。また、詳しくは後述するが、管理サーバ７００は、利用者端末６００から送信される履歴情報を蓄積する履歴ＤＢ７２０を有する。
【０５２３】
また、利用者端末６００の個人認証部６１０は、認証処理部６１１、スキーム変更部６１２、装置登録部６１３、装置識別部６１４、履歴管理部６１５、履歴送信部６１６、無線装置ＤＢ６１７、履歴ＤＢ６１８、および認証情報ＤＢ６１９を有する。
【０５２４】
そして、アドレス管理部６２０は、利用者端末２００と同様の状況判断部２６１、アドレス抽出部２６２、統計処理部２６３、および登録環境ＤＢ２７０を有する。アドレス管理部６２０はさらに、新規アドレス統計処理部６２１、初期化部６２２、および新規アドレス情報６２３を有する。
【０５２５】
以下、利用者端末２００との違いについて説明する。
認証処理部６１１は、認証情報入力部２１０から入力されたＩＤおよびパスワードと、認証情報ＤＢ６１９内に格納されている情報とを用いて、認証処理を行う。すなわち、認証情報ＤＢ６１９は、利用者のＩＤとパスワードを対応づける情報を格納する。
【０５２６】
あるいは、認証処理部６１１は、環境判定部２９０による判定結果によっては、無線通信部６３０が所定の無線装置７５０と通信可能か否かに応じて利用者を認証する。
例えば、無線装置７５０は、非接触型ＩＣ（Integrated Circuit）カードでもよい。この場合、無線通信部６３０は、利用者端末６００に組み込まれた（あるいは利用者端末６００に接続された）ＩＣカードリーダである。
【０５２７】
また、無線装置７５０は、非接触型ＩＣカード用に開発された無線通信チップ（例えば、ＦｅｌｉＣａ（登録商標）チップ）を搭載した携帯電話でもよい。この場合、無線通信部６３０は、無線装置７５０に搭載された無線通信チップと無線通信を行うリーダである。
【０５２８】
なお、無線装置７５０と無線通信部６３０の間の通信は、電波による通信に限らず、実施形態によっては、例えば赤外線通信などであってもよい。あるいは、実施形態によっては、無線装置７５０と無線通信部６３０の組み合わせの代わりに、接触型ＩＣカードとそのリーダの組み合わせが使われてもよい。あるいは、ケーブルまたはコネクタにより接続可能な装置（例えばＵＳＢ（Universal Serial Bus）メモリなど）が無線装置７５０の代わりに使われ、接続用の端子を備えたインタフェイス（例えばＵＳＢポート）が無線通信部６３０の代わりに使われてもよい。
【０５２９】
また、詳しくは後述するが、認証処理部６１１は、環境判定部２９０による判定結果によっては、無線通信部６３０が所定の無線装置７５０と通信可能であれば、ＩＤとパスワードの入力を求めることなく、利用者を認証する。なお、もし無線通信部６３０が所定の無線装置７５０と通信不能であれば、認証処理部６１１は、ＩＤとパスワードによる認証処理を行う。
【０５３０】
なお、「特定の装置（例えば無線装置７５０）を利用者端末が認識することが可能か否か」に応じた認証は、例えば、ＩＣカード（またはＩＣチップを内蔵したハードウェアトークン）を用いた認証として実用化されている。ところが、利用者が利用者端末とＩＣカード（またはハードウェアトークン）を同時に紛失した場合には、第３者によるなりすましの危険性がある。
【０５３１】
しかし、後述のとおり第３実施形態によれば、登録されていない未知の環境で利用者端末６００が使われる場合には、たとえ無線装置７５０が利用者端末６００の近傍にあってもＩＤとパスワードの入力が求められる。したがって、第３実施形態によれば、上記のようななりすましを防ぐことができる。
【０５３２】
さて、スキーム変更部６１２は、認証処理のスキームを適宜切り換える。つまり、スキーム変更部６１２は、ＩＤとパスワードを用いた認証処理と、所定の無線装置７５０との通信可否による認証処理のどちらによる認証を認証処理部６１１が行うのかを決定する。
【０５３３】
また、所定の無線装置７５０との通信可否による認証処理を実現するため、具体的には、装置登録部６１３が、特定の無線装置７５０を予め無線装置ＤＢ６１７に登録する。例えば、無線装置７５０にはＩＤが割り当てられているので、装置登録部６１３は、利用者端末６００の利用者と無線装置７５０のＩＤとを対応づけて無線装置ＤＢ６１７に登録する。
【０５３４】
そして、装置識別部６１４は、無線通信部６３０を介して無線装置７５０から無線装置７５０のＩＤを読み取ることにより、無線装置７５０を識別する。すると、認証処理部６１１は、装置識別部６１４が読み取ったＩＤを、無線装置ＤＢ６１７に予め登録されたＩＤと比較することにより、登録された所定の無線装置７５０と通信可能か否かを判断することができる。
【０５３５】
また、履歴管理部６１５は、環境判定部２９０による判定の結果と、認証処理部６１１による認証処理の結果についての履歴情報を履歴ＤＢ６１８に蓄積する。そして、履歴送信部６１６が、履歴ＤＢ６１８に蓄積された履歴情報を、適宜のタイミングで、通信制御部２４０を介して管理サーバ７００に送信する。すると、管理サーバ７００は、利用者端末６００から通信制御部７１０を介して受信した履歴情報を履歴ＤＢ７２０に蓄積する。
【０５３６】
また、利用者端末６００は、利用者端末２００と同様の環境登録処理と計測処理を行う。しかし、利用者端末６００が行う判定処理は、利用者端末２００が行う判定処理と一部異なる。
【０５３７】
具体的には、環境判定部２９０が「現在の環境は登録された環境である」と判定した場合に、アドレス管理部６２０は「計測処理によって収集されたアドレスの中に、登録環境ＤＢ２７０に登録されていないアドレスが存在するか否か」を判定する。そして、そのようなアドレスが見つかった場合、もし見つかったアドレスに再現性があれば、アドレス管理部６２０は、環境登録処理をやり直す。以上のようにして状況に応じて環境登録処理をアドレス管理部６２０がやり直すことにより、登録された環境の変化への登録環境ＤＢ２７０の追従性が向上する。
【０５３８】
例えば、登録環境ＤＢ２７０にはアドレスＡ〜Ｅが登録されているとする。すると、計測処理によってアドレスＡ〜Ｅ、Ｊが収集された場合、判定処理によって「現在の環境は登録された環境である」と判定されることがあり得る。
【０５３９】
この場合、第２実施形態の判定処理では、図１５のステップＳ５１２で現在環境情報２９５の内容が登録環境ＤＢ２７０にコピーされる。つまり、アドレスＪは、出現回数が１の状態で登録環境ＤＢ２７０に登録されることになる。
【０５４０】
他方、もとから登録環境ＤＢ２７０に登録されていたアドレスＡ〜Ｅの出現回数は、例えば１７かもしれないし、３５など、さらに大きな値かもしれない。また、もしかするとアドレスＪの装置は、登録された環境内に今後は恒常的に存在し続けるかもしれない。しかし、第２実施形態によれば、アドレスＡ〜ＥとアドレスＪの間での出現回数の差は、しばらくの間は（すなわち、今後行われる計測処理の回数がある程度の数に達するまでは）、アドレスＡ〜ＥとアドレスＪの間での不在率の大きな差となって現れる。
【０５４１】
つまり、しばらくの間は、アドレスＪに関しては距離ｒｊが大きく、移動の量も大きいままである。そこで、もし「アドレスＪには、ある程度の再現性がある」と確認されたら、計測処理の回数を重ねるまで待たずに、「アドレスＪの装置が安定的に環境内に存在する」という状況を登録環境ＤＢ２７０に反映することが好ましい。なぜなら、環境変化への登録環境ＤＢ２７０の追従が、短期間で達成されるからである。
【０５４２】
第３実施形態の利用者端末６００では、以上例示したような環境変化への追従性の向上を目指して、アドレス管理部６２０が状況に応じて環境登録処理を適宜やり直す。
具体的には、登録環境ＤＢ２７０には登録されていないアドレスであり、かつ、判定処理において「登録された環境と同じ」と判定された環境に対して行われた計測処理で収集されたアドレスが、新規アドレス情報６２３に追加される。つまり、登録された環境に環境登録処理の後に新たに追加され、その後は登録された環境内に恒常的に存在し続ける蓋然性の高そうな装置の候補が見つかると、見つかった候補装置のアドレスが、新規アドレス情報６２３として一時的に記憶される。
【０５４３】
新規アドレス統計処理部６２１は、以上のような新規アドレス情報６２３へのアドレスの追加を管理する。そして、新規アドレス統計処理部６２１は、判定処理において、新規アドレス情報６２３に基づいて、アドレスの再現性を判定し、再現性がないと確認したアドレスを新規アドレス情報６２３から削除する。
【０５４４】
また、再現性のあるアドレスが見つかった場合、初期化部６２２は登録環境ＤＢ２７０を初期化し、新たに環境登録処理を呼び出す。初期化部６２２は、利用者から環境登録処理のやり直しを明示的に指示された場合も、登録環境ＤＢ２７０を初期化し、新たに環境登録処理を呼び出す。
【０５４５】
続いて、利用者端末６００の動作について、図３０、３２〜３４のフローチャートと、図３１のデータ例を参照しながら詳しく説明する。図３０は、電源が入れられたときに第３実施形態の利用者端末が開始する処理のフローチャートである。
【０５４６】
利用者端末６００に電源が入れられると、まず、ステップＳ７０１で履歴送信部６１６が、前回の履歴情報の送信から所定の時間が経過したか否かを判断する。ステップＳ７０１の判断では、図３１の履歴送信設定６１６ａが使われる。
【０５４７】
図３１に示す履歴送信設定６１６ａは、履歴送信部６１６の内部データとして不揮発性の記憶装置（例えば記憶装置４０７）上に記憶される情報である。
履歴送信設定６１６ａは、履歴送信部６１６が管理サーバ７００に履歴情報を送信する間隔の下限を示す「履歴送信間隔」を含む。図３１の例では、履歴送信間隔は７日である。
【０５４８】
また、履歴送信設定６１６ａは、管理サーバ７００のＩＰアドレスを含む。図３１の例では、管理サーバ７００のＩＰアドレスは、１９２．１６８．０．１である。
さらに、履歴送信設定６１６ａは、履歴送信部６１６が前回管理サーバ７００に履歴情報を送信した日時を示す「前回送信日時」を含む。図３１の例では、前回送信日時は２０１０年９月３０日の１７時３０分１０秒である。
【０５４９】
ここで、図３０の説明に戻る。ステップＳ７０１で履歴送信部６１６は、現在時刻から履歴送信設定６１６ａの前回送信日時を引き、前回送信日時からの経過時間を算出する。そして、履歴送信部６１６は、算出した経過時間が履歴送信設定６１６ａの履歴送信間隔以上であるか否かを判断する。
【０５５０】
もし、算出した経過時間が履歴送信間隔以上ならば、処理はステップＳ７０２に移行する。逆に、算出した経過時間が履歴送信間隔未満ならば、処理はステップＳ７０３に移行する。
【０５５１】
そして、ステップＳ７０２で履歴送信部６１６は、通信制御部２４０を介して、履歴ＤＢ６１８に含まれる履歴情報（すなわち履歴ＤＢ６１８の全エントリの内容）を管理サーバ７００に送信する。なお、上記のとおり履歴送信設定６１６ａが管理サーバ７００のＩＰアドレスを含むので、履歴送信部６１６は送信先の管理サーバ７００を認識することができる。送信後、履歴送信部６１６は履歴ＤＢ６１８をクリアし、履歴送信設定６１６ａの前回送信日時に現在時刻を設定する。
【０５５２】
ここで、図３１を参照して履歴ＤＢ６１８の例について説明する。履歴ＤＢ６１８の各エントリは、「ユーザ名」、「環境判定結果」、「個人認証結果」、および「判定日時」というフィールドを持つ。
【０５５３】
ユーザ名は、利用者端末６００の利用者を識別するＩＤである。
環境判定結果は、環境判定部２９０による判定結果を示す。図３１では理解の助けとするために、「登録された環境」または「新規環境」という言葉で環境判定結果を示してある。しかし、もちろん、実施形態に応じて、環境判定結果は数値やコードで表されていてもよい。
【０５５４】
個人認証結果は、認証処理部６１１による認証が成功したか否かの結果を示す。図３１では理解の助けとするために、個人認証が成功したことを示す「ＯＫ」または個人認証が失敗したことを示す「ＮＧ」という言葉が使われている。しかし、もちろん、実施形態に応じて、個人認証結果は数値やコードで表されていてもよい。
【０５５５】
判定日時は、エントリが履歴ＤＢ６１８に追加された日時を示す。処理にかかるわずかな時間を無視すれば、判定日時は、近似的には、環境判定部２９０が判定を行った日時でもあり、認証処理部６１１が認証処理を行った日時でもある。
【０５５６】
環境判定結果が「登録された環境」であり、かつ個人認証結果が「ＯＫ」の場合は、所定の環境において正当な利用者が利用者端末６００に電源を入れ、認証も成功した場合だと推測される。
【０５５７】
また、環境判定結果が「登録された環境」であり、かつ個人認証結果が「ＮＧ」の場合は、所定の環境において利用者端末６００に電源が入れられたが、認証が失敗した場合である。認証が失敗する原因としては、「第三者が不正に（あるいは間違えて）利用者端末６００の使用を試みた」、「利用者が、無線装置７５０をどこかに置き忘れ、しかもパスワードを打ち間違えた」などがあり得る。
【０５５８】
また、環境判定結果が「新規環境」であり、かつ個人認証結果が「ＯＫ」の場合は、所定の環境とは異なる環境において利用者端末６００に電源が入れられたが、認証が成功した場合である。認証が成功しているので、利用者端末６００を使用している者は正当な利用者であると推測される。ただし、利用者端末６００が、例えば会社で使われる業務用端末であり、社外への持ち出しが規則により禁止されている場合などもあり得る。その場合、「新規環境」という環境判定結果は、利用者が規則違反を犯したことを示す証拠となり得る。
【０５５９】
また、環境判定結果が「新規環境」であり、かつ個人認証結果が「ＮＧ」の場合は、所定の環境とは異なる環境において利用者端末６００に電源が入れられ、しかも認証が失敗した場合である。この場合、可能性としては、もちろん「正当な利用者がパスワードを打ち間違えた」といったこともあり得るが、「不正な第三者により利用者端末６００が持ち出され、不正使用が試みられた」という疑いも濃厚である。
【０５６０】
よって、以上のようなフィールドを有する履歴ＤＢ６１８の内容を履歴送信部６１６が図３０のステップＳ７０２で送信し、管理サーバ７００が受信したデータを履歴ＤＢ７２０に格納することで、利用者端末６００の不正使用の監視が可能となる。
【０５６１】
例えば、管理サーバ７００は、環境判定結果が「新規環境」のエントリを、履歴ＤＢ７２０において探すことにより、規則違反の疑いがないかを調べることもできる。また、管理サーバ７００は、環境判定結果が「新規環境」であり、かつ個人認証結果が「ＮＧ」のエントリを、履歴ＤＢ７２０において探すことにより、不正な第三者による使用の疑いがないかを調べることもできる。なお、もし規則違反または不正な第三者による使用の疑いが見つかれば、管理サーバ７００は、上記のようにして調べた結果を管理者などの特定の人物あてに電子メールで送信するなど、適宜の処理を行ってもよい。
【０５６２】
ここで、図３０の説明に戻る。ステップＳ７０３では、個人認証部６１０が、どのようにして個人認証をするかについてアドレス管理部６２０に問い合わせる。すると、アドレス管理部６２０は、登録環境ＤＢ２７０に環境が登録済みであるか否かを判断する。
【０５６３】
そして、登録環境ＤＢ２７０にはまだ何の環境も登録されていないならば（すなわち、登録環境ＤＢ２７０がエントリを持たないならば）、アドレス管理部６２０は、環境が未登録であることを個人認証部６１０に通知する、そして、処理はステップＳ７０４に移行する。逆に、登録環境ＤＢ２７０に環境が登録済みならば（すなわち、登録環境ＤＢ２７０が１つ以上のエントリを有するならば）、処理はステップＳ７１２に移行する。
【０５６４】
ステップＳ７０４では、環境が未登録であることをアドレス管理部６２０から通知された個人認証部６１０において、スキーム変更部６１２が、認証スキームとして、ＩＤとパスワードによる認証を選択する。さらに、認証情報入力部２１０（例えばキーボード４１２）がＩＤとパスワードの入力を受け付け、受け付けたＩＤとパスワードを認証処理部６１１に出力する。
【０５６５】
すると、次のステップＳ７０５で認証処理部６１１は、認証情報入力部２１０から得たＩＤおよびパスワード、ならびに認証情報ＤＢ６１９に記憶されている情報を用いて、ＩＤとパスワードに基づく認証処理を行う。
【０５６６】
そして、ステップＳ７０６で認証処理部６１１は、認証が成功したか否かを判断する。ステップＳ７０４でＩＤとパスワードの正しい組み合わせが入力された場合は、認証が成功するので、処理はステップＳ７０６からステップＳ７０７へ移行する。
【０５６７】
逆に、ＩＤとパスワードの組み合わせが正しくない場合、認証が失敗するので、図３０の処理は終了する。なお、実施形態によっては、認証が失敗した場合、認証処理部６１１はエラーメッセージを画面に表示してもよく、処理が再度ステップＳ７０４に戻ってもよい。
【０５６８】
そして、環境が未登録であり、かつ認証が成功した場合、ステップＳ７０７でアドレス管理部６２０は、利用者端末６００が現在置かれた環境を登録するか否かを判断する。例えば、アドレス管理部６２０は、図２９には不図示の入力部（例えば図４の入力装置４０５）を介して、利用者から指示を受け付け、指示にしたがってステップＳ７０７の判断を下してもよい。
【０５６９】
アドレス管理部６２０が「現在の環境を登録する」と判断すると、続いて、ステップＳ７０８〜Ｓ７０９の一連の処理と、ステップＳ７１０の処理が、並行して行われる。逆に、アドレス管理部６２０が「現在の環境を登録しない」と判断すると、処理はステップＳ７１１に移行する。
【０５７０】
ステップＳ７０８では、装置登録部６１３が無線装置７５０を無線装置ＤＢ６１７に登録する。例えば、装置登録部６１３は、無線装置の登録を利用者に促すメッセージを画面に表示し、無線通信部６３０を介して何らかの無線装置からＩＤを読み取れるようになるまで待ってもよい。
【０５７１】
利用者が登録したい無線装置７５０を利用者端末６００に近づけると、無線通信部６３０は、無線装置７５０と通信を行うことができるようになる。よって、無線通信部６３０は、無線装置７５０からＩＤを読み取り、読み取ったＩＤを装置登録部６１３に出力する。
【０５７２】
すると、装置登録部６１３は、利用者のユーザ名と対応づけて、無線装置７５０のＩＤを無線装置ＤＢ６１７に登録する。図３１には、「Ｕｓｅｒ−Ａ」というユーザ名と無線装置７５０の「２２６４５１３２５６４９８１９５５４３６２４６１２５４６６２３１５８７」というＩＤを対応づける無線装置ＤＢ６１７が例示されている。
【０５７３】
以上のようにして無線装置７５０が無線装置ＤＢ６１７に登録されると、続いて、ステップＳ７０９において、アドレス管理部６２０とアドレス計測部２５０と通信制御部２４０が協働して、前述の図８の環境登録処理を行う。その結果、利用者端末６００が置かれている環境が登録環境ＤＢ２７０に登録される。
【０５７４】
また、ステップＳ７１０では、利用者端末６００（具体的には、例えばＣＰＵ４０１）が、他の処理を適宜行う。ステップＳ７１０で行われる処理は、認証された利用者に対して実行権限が与えられている任意の処理でよい。
【０５７５】
なお、ステップＳ７０９とＳ７１０の処理が両方とも完了すると、図３０の処理も終了する。図３０の処理の終了後、利用者端末６００の電源が切断されてもよい。
また、ステップＳ７１１では、ステップＳ７１０と同様に、利用者端末６００が、他の処理を適宜行う。他の処理の終了後、図３０の処理も終了する。図３０の処理の終了後、利用者端末６００の電源が切断されてもよい。
【０５７６】
以上とは逆に、既に何らかの環境が登録環境ＤＢ２７０に登録されている場合、ステップＳ７１２で、上述の図１１〜１２の計測処理が行われる。
そして、次のステップＳ７１３では、アドレス管理部６２０が、図３２〜３４の判定処理を開始するよう特徴点分布生成部２８０に依頼する。そして、図３２〜３４の判定処理が行われ、判定処理の終了後、図３０の処理も終了する。なお、ここでは説明の便宜上「判定処理」という名前を用いているが、図３２〜３４の判定処理は、環境を判定する処理だけでなく、認証処理や他の処理も含む。
【０５７７】
さて、続いて、判定処理の詳細について図３２〜３４のフローチャートと図３１のデータ例を参照して説明する。
図３２のステップＳ８０１に示すように、第３実施形態においても、図１４〜１５の判定処理のステップＳ５０１〜Ｓ５１０と同様の処理がまず行われる。
【０５７８】
そして、その後、ステップＳ８０２において環境判定部２９０は、ステップＳ５１０の照合処理で得られた合致率が予め決められた基準合致率（例えば０．７）を超えているか否かを判定する。
【０５７９】
もし、合致率が基準合致率以下であれば、環境判定部２９０は、「現在の環境は登録された環境とは異なる」という判定結果をアドレス管理部６２０に通知する。すると、アドレス管理部６２０は、環境判定部２９０から通知された判定結果を個人認証部６１０に通知する。そして、処理はステップＳ８０３に移行する。
【０５８０】
逆に、合致率が基準合致率を超えていれば、環境判定部２９０は、「現在の環境は登録された環境と同じである」という判定結果をアドレス管理部６２０に通知する。すると、アドレス管理部６２０は、環境判定部２９０から通知された判定結果を個人認証部６１０に通知する。そして、処理はステップＳ８０９に移行する。
【０５８１】
さて、ステップＳ８０３では、認証情報入力部２１０（例えばキーボード４１２）がＩＤとパスワードの入力を受け付け、受け付けたＩＤとパスワードを認証処理部６１１に出力する。
【０５８２】
すると、次のステップＳ８０４で認証処理部６１１は、認証情報入力部２１０から得たＩＤおよびパスワード、ならびに認証情報ＤＢ６１９に記憶されている情報を用いて、ＩＤとパスワードに基づく認証処理を行う。
【０５８３】
さらに、次のステップＳ８０５で認証処理部６１１は、認証結果を履歴管理部６１５に通知する。また、個人認証部６１０内の履歴管理部６１５は、ステップＳ８０２において環境判定部２９０からアドレス管理部６２０を介して個人認証部６１０に通知された判定結果を認識することができる。
【０５８４】
したがって、ステップＳ８０５で履歴管理部６１５は、ユーザ名と、環境判定部２９０による判定結果と、認証処理部６１１から通知された認証結果と、現在時刻とを含む新たなエントリを履歴ＤＢ６１８に追加する。そして、処理はステップＳ８０６に移行する。
【０５８５】
すると、ステップＳ８０６で認証処理部６１１は、ステップＳ８０４での認証が成功したか否かを判断する。ステップＳ８０３でＩＤとパスワードの正しい組み合わせが入力された場合は、認証が成功するので、処理はステップＳ８０７に移行する。
【０５８６】
逆に、ＩＤとパスワードの組み合わせが正しくない場合、認証が失敗するので、判定処理は終了する。なお、実施形態によっては、認証が失敗した場合、認証処理部６１１はエラーメッセージを画面に表示してもよく、処理が再度ステップＳ８０３に戻ってもよい。
【０５８７】
ステップＳ８０７は、登録されたのとは異なる環境に利用者端末６００が置かれており、かつ認証が成功した場合である。そこで、ステップＳ８０７では、アドレス管理部６２０が、図２９には不図示の入力部（例えば図４の入力装置４０５）を介して、「登録環境ＤＢ２７０を強制的に初期化するか否か」についての利用者からの入力を受け付ける。
【０５８８】
例えば、利用者は、何らかの事情により、あるとき、「今後は、利用者端末６００を通常使用する環境を変えたい」と思うかもしれない。その場合、利用者が、変更後の新たな環境に利用者端末６００を持っていって電源を入れ、正しいＩＤとパスワードを入力すると、ステップＳ８０７が実行される。
【０５８９】
もちろん、利用者は、一時的に通常とは異なる環境（すなわち登録したのとは異なる環境）で利用者端末６００に電源を入れた可能性もある。そこで、ステップＳ８０７では、アドレス管理部６２０が、利用者からの指示を受け付け、受け付けた指示にしたがって、登録環境ＤＢ２７０を強制的に初期化するか否かを判断する。
【０５９０】
例えば、上記のように利用者が「今後は、利用者端末６００を通常使用する環境を変えたい」と思っている場合は、利用者は、登録環境ＤＢ２７０を強制的に初期化するよう指示すればよい。逆に、一時的に、登録したのとは異なる環境で利用者端末６００を使うだけの場合には、利用者は、登録環境ＤＢ２７０を初期化しないよう指示すればよい。
【０５９１】
そして、アドレス管理部６２０が利用者から受け付けた入力が、登録環境ＤＢ２７０の初期化を指示する入力であれば、処理は図３４のステップＳ８３３に移行する。逆に、アドレス管理部６２０が利用者から受け付けた入力が、登録環境ＤＢ２７０の初期化を行わないよう指示する入力であれば、処理はステップＳ８０８に移行する。
【０５９２】
ステップＳ８０８では、利用者端末６００（具体的には、例えばＣＰＵ４０１）が、他の処理を適宜行う。ステップＳ８０８で行われる処理は、認証された利用者に対して実行権限が与えられている任意の処理でよい。ステップＳ８０８が終了すると、判定処理も終了する。
【０５９３】
以上説明したステップＳ８０３〜Ｓ８０８とは逆に、ステップＳ８０２で「現在の環境は登録された環境と同じである」という判定結果が通知された場合、ステップＳ８０９以降の処理が行われる。
【０５９４】
まず、ステップＳ８０９でアドレス管理部６２０内の統計処理部２６３は、図１５のステップＳ５１２と同様にして、現在環境情報２９５の内容を登録環境ＤＢ２７０にコピーする。また、統計処理部２６３は、コピー後、現在環境情報２９５を破棄する。
【０５９５】
そして、次のステップＳ８１０で個人認証部６１０内のスキーム変更部６１２は、認証スキームとして、登録された所定の無線装置７５０との通信の可否による認証を選択する。なお、上記のとおり、「現在の環境は登録された環境と同じである」という、環境判定部２９０による判定結果は、ステップＳ８０２で既にアドレス管理部６２０から個人認証部６１０に通知されている。よって、スキーム変更部６１２は、環境判定部２９０による判定結果にしたがって、ステップＳ８１０で認証スキームを選択することができる。
【０５９６】
その結果、認証処理部６１１は、登録された所定の無線装置７５０との通信の可否による認証処理を行う。具体的には、認証処理部６１１は、まず、装置識別部６１４にＩＤの読み取りを依頼する。
【０５９７】
もし、無線装置７５０が利用者端末６００の近傍にあれば、装置識別部６１４は無線通信部６３０を介して無線装置７５０のＩＤを読み取り、読み取ったＩＤを認証処理部６１１に出力する。また、無線装置７５０ではない未登録の無線装置が利用者端末６００の近傍にあれば、装置識別部６１４は未登録の無線装置のＩＤを認証処理部６１１に出力する。あるいは、無線通信部６３０が通信可能な範囲（つまり利用者端末６００の近傍）には、いかなる無線装置も置かれていない場合もあり得る。
【０５９８】
認証処理部６１１は、例えば、所定の時間以内に装置識別部６１４からＩＤが出力されなければ「登録された無線装置７５０と通信不能である」と判断してもよい。
また、所定の時間以内に装置識別部６１４から何らかのＩＤが出力された場合、認証処理部６１１は、無線装置ＤＢ６１７に登録されているＩＤと装置識別部６１４から出力されたＩＤを比較する。そして、２つのＩＤが等しければ、認証処理部６１１は「登録された無線装置７５０と通信可能である」と判断し、２つのＩＤが異なれば、認証処理部６１１は「登録された無線装置７５０と通信不能である」と判断する。
【０５９９】
認証処理部６１１が「登録された無線装置７５０と通信可能である」と判断した場合、この時点で認証が成功する。そこで、処理はステップＳ８１１に移行する。
逆に、認証処理部６１１が「登録された無線装置７５０と通信不能である」と判断した場合、スキーム変更部６１２が認証スキームをＩＤとパスワードによる認証に切り換える。そして、処理はステップＳ８１２に移行する。
【０６００】
ステップＳ８１１で認証処理部６１１は、認証が成功したことを示す認証結果を履歴管理部６１５に通知する。また、個人認証部６１０内の履歴管理部６１５は、ステップＳ８０２において環境判定部２９０からアドレス管理部６２０を介して個人認証部６１０に通知された判定結果を認識することができる。
【０６０１】
したがって、ステップＳ８１１で履歴管理部６１５は、ユーザ名と、環境判定部２９０による判定結果と、認証処理部６１１から通知された認証結果と、現在時刻とを含む新たなエントリを履歴ＤＢ６１８に追加する。そして、処理はステップＳ８１６に移行する。
【０６０２】
さて、登録された無線装置７５０と通信不能な場合、ステップＳ８１２では、認証情報入力部２１０（例えばキーボード４１２）がＩＤとパスワードの入力を受け付け、受け付けたＩＤとパスワードを認証処理部６１１に出力する。
【０６０３】
すると、次のステップＳ８１３で認証処理部６１１は、認証情報入力部２１０から得たＩＤおよびパスワード、ならびに認証情報ＤＢ６１９に記憶されている情報を用いて、ＩＤとパスワードに基づく認証処理を行う。
【０６０４】
そして、次のステップＳ８１４で認証処理部６１１は、認証結果を履歴管理部６１５に通知する。また、個人認証部６１０内の履歴管理部６１５は、ステップＳ８０２において環境判定部２９０からアドレス管理部６２０を介して個人認証部６１０に通知された判定結果を認識することができる。
【０６０５】
したがって、ステップＳ８１４で履歴管理部６１５は、ユーザ名と、環境判定部２９０による判定結果と、認証処理部６１１から通知された認証結果と、現在時刻とを含む新たなエントリを履歴ＤＢ６１８に追加する。
【０６０６】
そして、次のステップＳ８１５で認証処理部６１１は、ステップＳ８１３での認証が成功したか否かを判断する。ステップＳ８１２でＩＤとパスワードの正しい組み合わせが入力された場合は、認証が成功するので、処理はステップＳ８１６に移行する。
【０６０７】
逆に、ＩＤとパスワードの組み合わせが正しくない場合、認証が失敗するので、判定処理は終了する。なお、実施形態によっては、認証が失敗した場合、認証処理部６１１はエラーメッセージを画面に表示してもよく、処理が再度ステップＳ８１２に戻ってもよい。
【０６０８】
さて、ステップＳ８１６以降では、「登録された環境の経時的な変化に追従するために環境登録処理をやり直すか否か」が判断され、状況に応じて、環境登録処理が呼び出される。また、「登録環境処理をやり直すか否か」の判断のためには、再現性のある新規アドレスの有無が確認される。そして、再現性のある新規アドレスの有無を検出するために使われる新規アドレス情報６２３が適宜更新される。
【０６０９】
なお、「再現性のある新規アドレス」とは、広い意味では、下記（Ｏ１）と（Ｏ２）にともに該当するアドレスのことである。また、第３実施形態では、再現性のある新規アドレスの有無を、アドレス管理部６２０が自動的に判断することができるようにするために、「再現性のある新規アドレス」は、より具体的に定義される。すなわち、第３実施形態における「再現性のある新規アドレス」とは、下記（Ｏ１）〜（Ｏ４）にすべて該当するアドレスのことである。
【０６１０】
（Ｏ１）登録環境ＤＢ２７０には登録されていないアドレス。
（Ｏ２）「登録された環境と同じ」と以前に判定された環境において、収集されたことのあるアドレス。
（Ｏ３）上記（Ｏ２）で当該アドレスが収集された日時から現在までに経過した時間が、所定の長さ以上であるようなアドレス。
（Ｏ４）直近の環境登録処理が行われた後の、連続する複数回の判定処理において、「登録された環境と同じ」と判定された場合には必ず収集されているようなアドレス。
【０６１１】
なお、（Ｏ１）は、登録された環境では収集されなかった新規アドレスを意味する。また、（Ｏ２）は、少なくとも広い意味における再現性を意味する。しかし、再現性のレベルも様々である。
【０６１２】
そこで、第３実施形態では、（Ｏ３）と（Ｏ４）を満たすレベルの再現性が、有意な再現性と見なされ、検出の対象である。具体的には、上記（Ｏ３）は、ある時点で偶然に環境内に存在しただけのアドレスを排除するための条件である。また、上記（Ｏ４）は、恒常的に安定して環境内に存在している訳ではないアドレスを排除するための条件である。
【０６１３】
もちろん、実施形態によっては、有意と見なす再現性のレベルが、（Ｏ３）と（Ｏ４）以外の条件によって定義されてもよく、その定義にしたがって適宜処理が変形されてもよい。
【０６１４】
また、上記（Ｏ３）における「所定の長さ」は、図３１に示す再現判定時間６２４により規定される。図３１の例では、再現判定時間６２４は２４時間である。再現判定時間６２４は、新規アドレス統計処理部６２１が参照可能な定数として、予め決められている。
【０６１５】
さてここで、図３２の説明に戻る。ステップＳ８１６が実行されるのは、認証が成功した場合である。そこで、ステップＳ８１６で認証処理部６１１は、認証が成功したことをアドレス管理部２６０に通知する。すると、「現在の環境は登録された環境である」ということを既に認識しているアドレス管理部２６０内の新規アドレス統計処理部６２１では、現在時刻を記憶する。ステップＳ８１６で記憶された現在時刻は、後述のステップＳ８２２とＳ８２３とＳ８３０で利用される。
【０６１６】
そして、ステップＳ８１６に続いて、図３３に示すステップＳ８１７において、新規アドレス統計処理部６２１は、再現性のある新規アドレスが検出されたか否かを示す「再現性フラグ」をＦａｌｓｅに初期化する。
【０６１７】
また、次のステップＳ８１８で新規アドレス統計処理部６２１は、ステップＳ８１９〜Ｓ８２４の処理の対象として、今回の計測処理においてアドレス計測部２５０により検出されたすべてのアドレスに既に注目し終えたか否かを判断する。なお、ここで「今回の計測処理」とは、このステップＳ８１８を含む判定処理に相当する図３０のステップＳ７１３の直前の、ステップＳ７１２の計測処理のことである。
【０６１８】
そして、今回の計測処理においてアドレス計測部２５０により検出されたアドレスのうち、まだ注目していないアドレスが残っていれば、処理はステップＳ８１９に移行する。逆に、今回の計測処理においてアドレス計測部２５０により検出されたすべてのアドレスに注目済みであれば、処理は図３４のステップＳ８２６に移行する。
【０６１９】
また、ステップＳ８１９で新規アドレス統計処理部６２１は、今回の計測処理においてアドレス計測部２５０により検出されたアドレスのうち、まだ注目していないアドレスに注目する。以下では説明の便宜上、ステップＳ８１９で注目されたアドレスを「注目アドレス」という。
【０６２０】
そして、次のステップＳ８２０で新規アドレス統計処理部６２１は、注目アドレスが登録環境ＤＢ２７０に登録されているか否かを判断する。注目アドレスが登録環境ＤＢ２７０に登録されていれば、注目アドレスは上記（Ｏ１）の条件を満たさないので、処理はステップＳ８１８に戻る。逆に、注目アドレスが登録環境ＤＢ２７０に登録されていなければ、処理はステップＳ８２１に移行する。
【０６２１】
ステップＳ８２１で新規アドレス統計処理部６２１は、注目アドレスが新規アドレス情報６２３に含まれるか否かを判断する。新規アドレス情報６２３は、再現性のある新規アドレスの候補を記憶するための情報である。
【０６２２】
新規アドレス情報６２３の一例は、図３１に示すとおりである。図３１に示すとおり、新規アドレス情報６２３は１つ以上のエントリを含むことができ、各エントリは、アドレスと検出日時を含む。
【０６２３】
例えば、利用者は、２０１０年８月３０日の朝に利用者端末６００に電源を入れて仕事を開始し、昼休みになったら利用者端末６００の電源を切断し、午後に再び利用者端末６００の電源を入れるかもしれない。さらに、利用者は、２０１０年８月３１日の朝に再び利用者端末６００の電源を入れるかもしれない。すると、２０１０年８月３０日の朝、２０１０年８月３０日の午後、および２０１０年８月３１日の朝にそれぞれ判定処理が行われる。
【０６２４】
また、登録環境ＤＢ２７０には、予め、例えばアドレスＡ〜Ｅが登録されているとする。そして、２０１０年８月３０日の朝の計測処理ではアドレスＡ〜Ｅ、Ｊが収集され、２０１０年８月３０日の午後の計測処理ではアドレスＡ〜Ｅ、Ｊが収集されたとする。さらに、２０１０年８月３１日の朝の計測処理ではアドレスＡ〜Ｅ、Ｊ、Ｋが収集されたとし、直後の判定処理でアドレスＪには有意な再現性があると判断されたとする。
【０６２５】
図３１には、例えば上記のような状況下での新規アドレス情報６２３の例が示されている。
すなわち、図３１の１つ目のエントリは、アドレスＪと２０１０年８月３０日９時２５分１０秒という検出日時を対応づけるエントリである。また、２つ目のエントリは、アドレスＪと２０１０年８月３０日１３時３分２７秒という検出日時を対応づけるエントリである。そして、３つ目のエントリは、アドレスＫと２０１０年８月３１日９時３２分１５秒という検出日時を対応づけるエントリである。
【０６２６】
なお、上記で仮定した状況によれば、２０１０年８月３１日の朝の計測処理でアドレスＪも収集される。しかし、図３１の新規アドレス情報６２３には、２０１０年８月３１日の朝とアドレスＪを対応づけるエントリは存在しない。その理由については後述する。また、図３１には、時刻を含む履歴送信設定６１６ａと履歴ＤＢ６１８と新規アドレス情報６２３が例示されているが、これらは、同じ時点における状態を示すものではない。
【０６２７】
さて、上記のような状況においては、２０１０年８月３０日の朝の時点では、「アドレスＪが条件（Ｏ１）を満たす」とは判明する。しかし、「アドレスＪが条件（Ｏ２）〜（Ｏ４）を満たすか否か」はまだ判明しない。
【０６２８】
そして、２０１０年８月３０日の午後の時点では、「アドレスＪは条件（Ｏ２）も満たす」と判明し、「今までのところアドレスＪは条件（Ｏ４）も満たしている」と判明する。しかし、アドレスＪは、２０１０年８月３０日の午後の時点ではまだ条件（Ｏ３）を満たしておらず、「アドレスＪが将来条件（Ｏ３）を満たすようになるか否か」は不明である。また、「アドレスＪが今後も条件（Ｏ４）を満たし続けるか否か」も不明である。
【０６２９】
その後、２０１０年８月３１日の朝の時点では、「アドレスＪは条件（Ｏ３）も満たす」と判明し、「今までのところアドレスＪは条件（Ｏ４）も満たしている」と判明する。そこで、アドレスＪには有意な再現性があると判断される。なお、図３１に示すとおり、２０１０年８月３１日の朝の時点では、「アドレスＫが条件（Ｏ１）を満たす」ということも判明する。
【０６３０】
さて、ここで図３３の説明に戻る。上記のとおり、ステップＳ８２１で新規アドレス統計処理部６２１は、注目アドレスが新規アドレス情報６２３に含まれるか否かを判断する。
【０６３１】
そして、注目アドレスが新規アドレス情報６２３に含まれない場合（すなわち、注目アドレスが条件（Ｏ１）を満たすが条件（Ｏ２）を満たさない場合）、処理はステップＳ８２２に移行する。逆に、注目アドレスが新規アドレス情報６２３に含まれる場合（すなわち、注目アドレスが条件（Ｏ１）〜（Ｏ２）を満たす場合）、処理はステップＳ８２３に移行する。
【０６３２】
ステップＳ８２２で新規アドレス統計処理部６２１は、注目アドレスとステップＳ８１６で記憶した時刻とを対応づけるエントリを、新規アドレス情報６２３に追加する。そして、処理はステップＳ８１８に戻る。
【０６３３】
また、ステップＳ８２３で新規アドレス統計処理部６２１は、ステップＳ８１６で記憶した時刻から、新規アドレス情報６２３において注目アドレスと対応づけられた最古の時刻を引くことで、時間差を算出する。
【０６３４】
例えば、図３１の例で２０１０年８月３０日の午後に利用者端末６００に電源が入れられて判定処理が行われる場合において、注目アドレスがアドレスＪであるとする。この場合、新規アドレス情報６２３には、アドレスＪと２０１０年８月３０日９時２５分１０秒という検出日時を対応づけるエントリが既に存在する。よって、ステップＳ８２３で参照される上記「最古の時刻」は、２０１０年８月３０日９時２５分１０秒である。
【０６３５】
また、図３１の例で２０１０年８月３１日の朝に利用者端末６００に電源が入れられて判定処理が行われる場合において、注目アドレスがアドレスＪであるとする。この場合、新規アドレス情報６２３には、アドレスＪと２０１０年８月３０日９時２５分１０秒という検出日時を対応づけるエントリと、アドレスＪと２０１０年８月３０日１３時３分２７秒という検出日時を対応づけるエントリが既に存在する。よって、ステップＳ８２３で参照される上記「最古の時刻」は、やはり２０１０年８月３０日９時２５分１０秒である。
【０６３６】
そして、次のステップＳ８２４で新規アドレス統計処理部６２１は、ステップＳ８２３で算出した時間差と再現判定時間６２４を比較する。
時間差が再現判定時間６２４以上ならば、注目アドレスは条件（Ｏ３）を満たす。また、新規アドレス統計処理部６２１は、後述のステップＳ８２７〜Ｓ８３１の処理により、条件（Ｏ４）を満たさないアドレスが新規アドレス情報６２３に残らないように、新規アドレス情報６２３を管理する。そして、ステップＳ８２４は、注目アドレスが条件（Ｏ１）と（Ｏ２）を満たす場合でないと実行されない。
【０６３７】
したがって、時間差が再現判定時間６２４以上ならば、注目アドレスは条件（Ｏ１）〜（Ｏ４）を満たす。そこで、処理はステップＳ８２５に移行する。
例えば、図３１の例では、２０１０年８月３１日の朝の判定処理において、処理がステップＳ８２４からステップＳ８２５に移行する。なぜなら、２０１０年８月３１日９時３２分１５秒から２０１０年８月３０日９時２５分１０秒を引いた時間差は、２４時間７分５秒であり、再現判定時間６２４として定められた２４時間以上だからである。
【０６３８】
なお、図３１に例示の新規アドレス情報６２３は、より詳細に説明すれば、以下のような流れにしたがって作成されたものである。２０１０年８月３１日の朝の判定処理においては、アドレスＫがアドレスＪよりも先に注目アドレスとして選ばれて、ステップＳ８２２でアドレスＫについてのエントリが追加される。その結果、新規アドレス情報６２３は図３１のような状態となる。その後、アドレスＪが注目アドレスとして選ばれると、処理はステップＳ８２４からステップＳ８２５へと移行する。
【０６３９】
ここで再び図３３の説明に戻る。上記とは逆に、ステップＳ８２３で算出された時間差が再現判定時間６２４未満の場合は、処理はステップＳ８２４からステップＳ８２２に移行する。例えば、図３１の例では、２０１０年８月３０日の午後の判定処理において、処理がステップＳ８２４からステップＳ８２２に移行する。
【０６４０】
さて、ステップＳ８２５で新規アドレス統計処理部６２１は、再現性フラグにＴｒｕｅを設定する。そして、処理は図３４のステップＳ８２６に移行する。
ステップＳ８２６で新規アドレス統計処理部６２１は、再現性フラグの値がＴｒｕｅとＦａｌｓｅのいずれであるかを判定する。
【０６４１】
再現性フラグの値がＦａｌｓｅの場合は、有意な再現性のある新規アドレスが見つからなかった場合である。この場合、新規アドレス統計処理部６２１は「環境登録処理のやり直しは不要である」と判断する。そして、条件（Ｏ４）を満たさないアドレスが新規アドレス情報６２３に残らないようにするために、処理はステップＳ８２７に移行する。
【０６４２】
逆に、再現性フラグの値がＴｒｕｅの場合は、少なくとも１つは有意な再現性のある新規アドレスが見つかった場合である。よって、環境登録処理をやり直すために処理はステップＳ８３３に移行する。
【０６４３】
さて、ステップＳ８２７で新規アドレス統計処理部６２１は、新規アドレス情報６２３の中に、ステップＳ８２８〜Ｓ８３１の処理の対象としてまだ注目していないアドレスが残っているか否かを判断する。
【０６４４】
なお、新規アドレス情報６２３の中には、同じ１つのアドレスに対応する複数のエントリが存在する場合がある。その場合も、ステップＳ８２７で新規アドレス統計処理部６２１は、「まだ注目していないエントリ」の有無を判断するのではなく、「まだ注目していないアドレス」の有無を判断する。
【０６４５】
そして、まだ注目していないアドレスが新規アドレス情報６２３にあるとき、処理はステップＳ８２８に移行する。逆に、新規アドレス情報６２３に記憶されているすべてのアドレスに新規アドレス統計処理部６２１が既に注目し終わった場合、処理はステップＳ８３２に移行する。
【０６４６】
また、ステップＳ８２８で新規アドレス統計処理部６２１は、新規アドレス情報６２３の中でまだ注目していないアドレスに注目する。以下では説明の便宜上、ステップＳ８２８で注目されるアドレスを「注目アドレス」という。
【０６４７】
そして、次のステップＳ８２９で新規アドレス統計処理部６２１は、新規アドレス情報６２３において注目アドレスの最新の検出日時を検索する。上記のとおり、新規アドレス情報６２３には、注目アドレスに対応するエントリが複数含まれる場合がある。そこで、ステップＳ８２９で新規アドレス統計処理部６２１は、新規アドレス情報６２３に含まれる、注目アドレスに対応する１つまたは複数のエントリの中から、最新の検出日時を検索する。
【０６４８】
そして、ステップＳ８３０で新規アドレス統計処理部６２１は、ステップＳ８２９での検索結果として得られた最新時刻がステップＳ８１６で記憶した時刻と等しいか否かを判断する。
【０６４９】
２つの時刻が等しい場合とは、注目アドレスが今回の計測処理で収集されて、ステップＳ８２２で注目アドレスに対応するエントリが新規アドレス情報６２３に追加された場合である。つまり、２つの時刻が等しい場合、今のところ注目アドレスに関して条件（Ｏ４）は成立している。
【０６５０】
よって、注目アドレスは、依然として、有意な再現性を有するアドレスの候補たり得る。つまり、注目アドレスを新規アドレス情報６２３から削除する理由はない。そこで、処理はステップＳ８２７に戻る。
【０６５１】
逆に、２つの時刻が異なる場合とは、注目アドレスが今回の計測処理で収集されなかった場合である。つまり、「注目アドレスは以前の計測処理において収集され、注目アドレスに対応するエントリは以前の判定処理において新規アドレス情報６２３に追加されたが、今回、注目アドレスの収集が途絶えた」という場合に、２つの時刻が異なる。換言すれば、２つの時刻が異なることは、注目アドレスが条件（Ｏ４）を満たさないことを意味する。そこで、処理はステップＳ８３１に移行する。
【０６５２】
ステップＳ８３１で新規アドレス統計処理部６２１は、新規アドレス情報６２３において注目アドレスと対応するすべてのエントリを削除する。そして、処理はステップＳ８２７に戻る。
【０６５３】
また、ステップＳ８３２では、利用者端末６００（具体的には、例えばＣＰＵ４０１）が、他の処理を適宜行う。ステップＳ８３２で行われる処理は、認証された利用者に対して実行権限が与えられている任意の処理でよい。
【０６５４】
なお、ステップＳ８３２が終了すると、判定処理も終了する。判定処理の終了後、利用者端末６００の電源が切断されてもよい。
さて、図３２のステップＳ８０７で強制的な環境登録処理が指示された場合、または再現性フラグがＴｒｕｅの場合、ステップＳ８３３以降の処理が行われる。具体的には、ステップＳ８３３で初期化部６２２は、登録環境ＤＢ２７０と新規アドレス情報６２３をクリアする。続いて、ステップＳ８３４とＳ８３５の処理が並行して行われる。
【０６５５】
ステップＳ８３４では、アドレス管理部６２０とアドレス計測部２５０と通信制御部２４０が協働して、前述の図８の環境登録処理を行う。その結果、利用者端末６００が現在置かれている環境が、新たに登録環境ＤＢ２７０に登録される。
【０６５６】
また、ステップＳ８３５では、利用者端末６００（具体的には、例えばＣＰＵ４０１）が、他の処理を適宜行う。ステップＳ８３５で行われる処理は、認証された利用者に対して実行権限が与えられている任意の処理でよい。
【０６５７】
なお、ステップＳ８３４とＳ８３５の処理が両方とも完了すると、判定処理も終了する。判定処理の終了後、利用者端末６００の電源が切断されてもよい。
以上説明した第３実施形態は、認証スキームの選択肢が第２実施形態とは異なる。しかし、「登録された環境では利便性を優先し、登録されていない環境ではセキュリティを優先することができる」という点では、第３実施形態も、第２実施形態と同様である。
【０６５８】
すなわち、第３実施形態によれば、登録された環境では、利用者は、単に無線装置７５０を利用者端末６００に近づけるだけで認証されるので、利便性が高い。他方、登録されていない環境では、利用者は、正しいＩＤとパスワードを入力しないと認証されない。つまり、登録されていない環境では、登録された環境よりも厳格な認証処理が行われる。
【０６５９】
また、第３実施形態も、第２実施形態と同様に、環境を登録するための負担を利用者にかけることがなく、環境の判定結果が利用者に依存することもない。
なお、第３実施形態は、例えば以下のような観点から変形されてもよい。
【０６６０】
図３０では、ステップＳ７０８で無線装置７５０が登録され、続いてステップＳ７０９で環境登録処理が行われる。しかし、無線装置７５０の登録は、利用者が認証された後、環境登録処理とは独立した任意のタイミングで行われてもよい。その場合、図３２のステップＳ８１０では、もし無線装置ＤＢ６１７に無線装置７５０が未登録であれば、当然、処理はステップＳ８１２へと移行する。
【０６６１】
また、図２９の管理サーバ７００は、複数の利用者端末６００をまとめて管理するのに好適であるが、実施形態によっては管理サーバ７００がなくてもよい。管理サーバ７００がない場合は、履歴送信部６１６も不要である。
【０６６２】
また、管理サーバ７００がない場合、利用者端末６００自身が履歴情報を管理するために、個人認証部６１０が履歴管理部６１５と履歴ＤＢ６１８を含んでいてもよい。あるいは逆に、管理サーバ７００がない場合、履歴管理部６１５と履歴ＤＢ６１８がさらに省略されてもよい。
【０６６３】
なお、第２実施形態の利用者端末２００が、履歴管理部６１５、履歴送信部６１６、および履歴ＤＢ６１８をさらに有し、第２実施形態においてさらに管理サーバ７００が使われてもよい。
【０６６４】
ところで、本発明は上記実施形態に限られるものではない。上記の説明においてもいくつかの変形について説明したが、上記実施形態は、さらに例えば下記の観点から様々に変形することもでき、これらの変形は、相互に矛盾しない限り、任意に組み合わせることが可能である。
【０６６５】
上記実施形態におけるいくつかの処理は、閾値との比較を含む。閾値との比較は、実施形態により「比較対象の数値が、閾値を超えるか否か」を判定する処理でもよいし、「比較対象の数値が、閾値以上か否か」を判定する処理でもよい。また、上記の説明では様々な用途の閾値を例示したが、各閾値の具体的な値は、実施形態に応じて適宜任意に決められてよい。
【０６６６】
また、図１の情報処理装置１００、図３および５の利用者端末２００、ならびに図２９の利用者端末６００は、例えば図４のコンピュータ４００によって実現されてもよい。しかし、実施形態によっては、情報処理装置１００、利用者端末２００、または利用者端末６００の機能の一部が、コンピュータ４００の代わりに、例えばＡＳＩＣ（Application Specific Integrated Circuit）などのハードウェア回路により実現されてもよい。
【０６６７】
また、登録された環境に関する特徴点分布は、判定処理において生成されるのではなく、環境登録処理において予め生成され、登録環境ＤＢ２７０に記憶されてもよい。つまり、図１４のステップＳ５０１〜Ｓ５０３は、図８のステップＳ３０２で計測回数２６４が基準回数２６５に達したと判定された後に行われてもよい。あるいは、ステップＳ５０１は、ステップＳ３１２の直後などに行われてもよい。
【０６６８】
そして、登録環境ＤＢ２７０は、登録された環境の特徴点分布を示す、「Ｘ座標」と「Ｙ座標」と「重心に対する角度」のフィールドをさらに有していてもよい。
実施形態によっては、登録環境ＤＢ２７０は、「ＭＡＣアドレス」のフィールドを持たず、代わりに、「Ｘ座標」と「Ｙ座標」のフィールドを持っていてもよい。その場合、図２０のステップＳ６０５では、「注目エントリの移動前のＸ座標とＹ座標と同じＸ座標とＹ座標を持つエントリが、登録環境ＤＢ２７０にあるか否か」が判断される。また、図１５のステップＳ５１２では、現在環境情報２９５における移動前のＸ座標とＹ座標が、登録環境ＤＢ２７０にコピーされる。
【０６６９】
さらに、以上いくつか例示した他にも、矛盾が生じない限り、処理の実行順序は適宜入れ替えられてよい。例えば、図１４〜１５の判定処理において、ステップＳ５０１〜Ｓ５０３の前にステップＳ５０４〜Ｓ５０９が行われてもよい。
【０６７０】
また、本明細書と図面に例示した数値等は説明の便宜上の例である。実施形態に応じて適宜異なる値が使われてもよいことは無論である。
また、上記実施形態では、ある１つの特定の環境だけが登録されるが、複数の環境が登録されてもよい。そして、判定部１０４または環境判定部２９０は、「現在の環境は、登録された複数の環境のうちいずれと許容範囲内で一致するのか、あるいは、登録された複数の環境のいずれとも許容範囲内では一致しないのか」を判定してもよい。複数の環境が登録される場合、判定結果は、例えば環境に応じた設定ファイルの切り換えなどに利用されてもよい。
【０６７１】
なお、第２〜３実施形態によれば、環境は特徴点分布として表現され、特徴点分布同士の照合によって環境同士が許容範囲内で一致するか否かが判定される。しかし、例えば図２において、第１と第２の分布は、座標と角度を持つ特徴点の分布でなく、座標を持つ単なる点の分布であってもよい。そして、ステップＳ１０７では、座標を持つ点の分布同士が、適宜のパターンマッチングアルゴリズムによって比較されてもよい。
【０６７２】
また、図３、５、２９に例示した装置３００ａ〜３００ｄの種類は様々であってよい。このように装置３００ａ〜３００ｄの種類に特段の前提条件がないことは、上記の各種実施形態における判定処理が、利用者端末２００または６００の用途によらず有効に動作し得る、という効果をもたらす。
【０６７３】
例えば、利用者端末２００または６００が会社内で使用される業務用の端末の場合は、登録したい環境にはＬＡＮが構築されていることが多い。また、利用者端末２００または６００と同一のサブネット内にも一定程度以上の数の他の装置が属していることが多い。
【０６７４】
したがって、たとえアドレスの収集が上記（Ｂ２）のＡＲＰパケットによる方法によってのみ行われるとしても、「登録したい環境において、収集可能なアドレスが非常に少ない」ということは起こりにくい。つまり、利用者端末２００または６００が業務用の端末の場合、「登録した環境を示す特徴点分布に含まれる特徴点の数が非常に少ない（例えば１〜２個しかない）ために、特徴点分布は環境の全体像をうまく表現することができない」といった事態に陥りにくい。
【０６７５】
他方、利用者端末２００または６００は、利用者の自宅（例えばホームオフィスなど）で使うための端末かもしれない。しかし、利用者の自宅に大規模なＬＡＮが構築されていることは稀である。すると、仮に利用者端末２００または６００が上記（Ｂ２）の方法によってのみアドレスの収集を行うとすると、「登録したい環境において、収集可能なアドレスが非常に少ない」ということが生じ得る。
【０６７６】
しかしながら、上記実施形態によれば、利用者端末２００または６００は、上記（Ｂ１）〜（Ｂ４）のような様々な方法によってアドレスを収集することができる。このように様々な方法によってアドレスを収集することで、アドレスを収集する対象の装置の種類を実質的には限定する必要がなくなり、収集可能なアドレスが増える。したがって、利用者が自宅の環境を登録したい場合でも、「登録した環境を示す特徴点分布に含まれる特徴点の数が非常に少ないために、特徴点分布は環境の全体像をうまく表現することができない」といった事態を回避することができる。
【０６７７】
例えば、上記（Ｂ３）の方法では、無線ＬＡＮアクセスポイントからのビーコンフレームを使って、無線ＬＡＮアクセスポイントのＭＡＣアドレスが収集される。そして、近年では、家庭内に無線ＬＡＮアクセスポイントを設けて、小規模なＬＡＮを構築している人々も多い。
【０６７８】
したがって、利用者端末２００または６００の利用者が自宅の環境を登録したい場合に、利用者端末２００または６００は、例えば隣家に設置された無線ＬＡＮアクセスポイントのＭＡＣアドレスなども利用して、利用者の自宅の環境を認識することができる。その結果、利用者端末２００または６００は、環境の全体像を表現するのに十分な数のアドレスを収集することができると期待される。
【０６７９】
つまり、利用者端末２００または６００が（Ｂ１）〜（Ｂ４）に例示したような様々な方法によってアドレスを収集することにより、様々に異なる環境（例えば会社内ＬＡＮ環境や自宅の環境）のいずれをも、うまく全体像を捉えて認識することが可能となる。そして、利用者端末２００または６００の用途によって登録対象の環境は様々だが、利用者端末２００または６００が様々な方法によってアドレスを収集することにより、用途によらず、判定処理の精度を一定レベル以上に保てると期待される。
【図１】
2012090333.tif 000019
【図２】
2012090333.tif 000020
【図３】
2012090333.tif 000021
【図４】
2012090333.tif 000022
【図５】
2012090333.tif 000023
【図６】
2012090333.tif 000024
【図７】
2012090333.tif 000025
【図８】
2012090333.tif 000026
【図９】
2012090333.tif 000027
【図１０】
2012090333.tif 000028
【図１１】
2012090333.tif 000029
【図１２】
2012090333.tif 000030
【図１３】
2012090333.tif 000031
【図１４】
2012090333.tif 000032
【図１５】
2012090333.tif 000033
【図１６】
2012090333.tif 000034
【図１７】
2012090333.tif 000035
【図１８】
2012090333.tif 000036
【図１９】
2012090333.tif 000037
【図２０】
2012090333.tif 000038
【図２１】
2012090333.tif 000039
【図２２】
2012090333.tif 000040
【図２３】
2012090333.tif 000041
【図２４】
2012090333.tif 000042
【図２５】
2012090333.tif 000043
【図２６】
2012090333.tif 000044
【図２７】
2012090333.tif 000045
【図２８】
2012090333.tif 000046
【図２９】
2012090333.tif 000047
【図３０】
2012090333.tif 000048
【図３１】
2012090333.tif 000049
【図３２】
2012090333.tif 000050
【図３３】
2012090333.tif 000051
【図３４】
2012090333.tif 000052
【手続補正書】
【提出日】平成25年7月4日(2013.7.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の時点において前記コンピュータが存在する第１の環境内に存在する、１つ以上の他の装置のアドレスを認識し、
前記第１の時点において認識した第１の個々のアドレスをそれぞれ座標空間上の点にマッピングし、
前記第１の個々のアドレスがマッピングされた第１の個々の点の座標を用いて、第１の分布を認識し、
第２の時点において前記コンピュータが存在する第２の環境内に存在する、１つ以上の他の装置のアドレスを認識し、
前記第２の時点において認識した第２の個々のアドレスをそれぞれ前記座標空間上の点にマッピングし、
前記第２の個々のアドレスがマッピングされた第２の個々の点の座標を用いて、第２の分布を認識し、
２つの分布が一致するか否かを規定する分布一致基準に照らして、前記第１の分布と前記第２の分布が一致するか否かを判定し、
前記第１の分布と前記第２の分布が一致すると判定した場合は、前記第１の環境と前記第２の環境が同じであるという第１の結果を出力し、
前記第１の分布と前記第２の分布が一致しないと判定した場合は、前記第１の環境と前記第２の環境が異なるという第２の結果を出力する
処理を実行させるためのプログラム。
【請求項２】
前記プログラムが前記コンピュータに実行させる前記処理は、
前記第１の時点とも前記第２の時点とも異なる１つ以上の第３の時点のそれぞれにおいて前記コンピュータが存在する環境内に存在する、１つ以上の他の装置のアドレスを認識し、
各第３の時点において認識した第３の個々のアドレスをそれぞれ前記座標空間上の点にマッピングする
ことをさらに含み、
前記第１の分布を認識する処理では、前記第３の個々のアドレスがマッピングされた第３の個々の点の座標がさらに用いられ、
前記第２の分布を認識する処理は、
前記第１の時点と前記第２の時点と前記１つ以上の第３の時点を含む複数の時点の間での、認識したアドレスの集合の変動に応じて、各アドレスに対応するオフセットを算出し、
前記第２の個々の点それぞれの前記座標に、対応する前記オフセットを足す
ことを含む
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記オフセットを算出する処理は、前記複数の時点のうち少なくとも１つの時点において認識した個々の各アドレスについて、
前記アドレスの集合の前記変動のうち、当該アドレスに関する変動を示す１つ以上のアドレス変動指標を算出し、
前記１つ以上のアドレス変動指標から、当該アドレスに対応する前記オフセットを算出する
ことを含み、
各アドレスの前記１つ以上のアドレス変動指標のうちの少なくとも１つは、前記複数の時点のうちいくつの時点において当該アドレスが認識されたかに応じた値である
ことを特徴とする請求項２に記載のプログラム。
【請求項４】
前記第１の分布を認識する処理は、前記第１の個々の点についてそれぞれ、当該第１の個々の点の第１の基準点に対する第１の角度を算出することを含み、
前記第２の分布を認識する処理は、前記オフセットにより移動された前記第２の個々の点についてそれぞれ、当該移動された第２の個々の点の第２の基準点に対する第２の角度を算出することを含み、
前記第１の分布と前記第２の分布が一致するか否かを判定する処理は、前記第２の個々のアドレスのうち、前記第１の個々のアドレスのいずれかと同じである各アドレスについて、
当該アドレスがマッピングされた点の前記第１の基準点に対する第１の相対位置と、当該アドレスがマッピングされた前記点が前記オフセットにより移動された点の前記第２の基準点に対する第２の相対位置との差が第１の範囲内であり、かつ、
前記第１の角度と前記第２の角度の差が第２の範囲内である、
という条件が成立するか否かを判定することを含み、
前記分布一致基準は、
前記第１の範囲と、
前記第２の範囲と、
前記条件が成立するアドレスの割合に関して、前記第１の分布と前記第２の分布が一致すると判定するための下限を規定する閾値
を規定する
ことを特徴とする請求項２または３のいずれか１項に記載のプログラム。
【請求項５】
前記プログラムが前記コンピュータに実行させる前記処理は、
利用者から第１の生体情報の入力を受け付け、
前記利用者と対応づけられて予め第１の記憶部に記憶された第２の生体情報を前記第１の記憶部から読み出し、
前記第１の結果を出力した場合は、第１の閾値を用いて、前記第１の生体情報と前記第２の生体情報の一致度が生体情報一致基準を満たすか否かを判定し、
前記第２の結果を出力した場合は、前記第１の閾値とは異なる第２の閾値を用いて、前記一致度が前記生体情報一致基準を満たすか否かを判定し、
前記一致度が前記生体情報一致基準を満たすと判定した場合は、前記利用者を認証し、
前記一致度が前記生体情報一致基準を満たさないと判定した場合は、前記利用者を認証しないか、または、他の認証処理を呼び出す
ことをさらに含むことを特徴とする請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記プログラムが前記コンピュータに実行させる前記処理は、
前記第１の結果を出力し、かつ、特定の装置を認識した場合は、利用者を認証し、
前記特定の装置の認識に失敗したか、または、前記第２の結果を出力した場合は、前記利用者を認証しないか、または、他の認証処理を呼び出す
ことをさらに含む
ことを特徴とする請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
情報処理装置であって、
前記情報処理装置の存在する環境内に存在する他の装置のアドレスを認識するアドレス認識部と、
前記アドレスを座標空間上の点にマッピングするマッピング部と、
第１の時点において前記アドレス認識部が認識した第１の個々のアドレスをそれぞれ前記マッピング部がマッピングした第１の個々の点の座標を用いて、第１の分布を認識し、第２の時点において前記アドレス認識部が認識した第２の個々のアドレスをそれぞれ前記マッピング部がマッピングした第２の個々の点の座標を用いて、第２の分布を認識する分布認識部と、
２つの分布が一致するか否かを規定する分布一致基準に照らして、前記第１の分布と前記第２の分布が一致するか否かを判定し、前記第１の分布と前記第２の分布が一致すると判定した場合は、前記第１の時点で前記情報処理装置が置かれていた第１の環境と前記第２の時点で前記情報処理装置が置かれていた第２の環境が同じであるという第１の結果を出力し、前記第１の分布と前記第２の分布が一致しないと判定した場合は、前記第１の環境と前記第２の環境が異なるという第２の結果を出力する判定部と、
を備えることを特徴とする情報処理装置。
【請求項８】
情報処理装置が実行する方法であって、
第１の時点において前記情報処理装置が存在する第１の環境内に存在する、１つ以上の他の装置のアドレスを認識し、
前記第１の時点において認識した第１の個々のアドレスをそれぞれ座標空間上の点にマッピングし、
前記第１の個々のアドレスがマッピングされた第１の個々の点の座標を用いて、第１の分布を認識し、
第２の時点において前記情報処理装置が存在する第２の環境内に存在する、１つ以上の他の装置のアドレスを認識し、
前記第２の時点において認識した第２の個々のアドレスをそれぞれ前記座標空間上の点にマッピングし、
前記第２の個々のアドレスがマッピングされた第２の個々の点の座標を用いて、第２の分布を認識し、
２つの分布が一致するか否かを規定する分布一致基準に照らして、前記第１の分布と前記第２の分布が一致するか否かを判定し、
前記第１の分布と前記第２の分布が一致すると判定した場合は、前記第１の環境と前記第２の環境が同じであるという第１の結果を出力し、
前記第１の分布と前記第２の分布が一致しないと判定した場合は、前記第１の環境と前記第２の環境が異なるという第２の結果を出力する
ことを特徴とする方法。
【国際調査報告】
2012090333.tif 000053
2012090333.tif 000054