(57)【要約】  通信端末（２００）は距離パケットを伝搬し、距離パケットはアクセスポイント（１１０）を介して位置特定装置（３００）に送信される。距離パケットは、始点距離と終点距離と端末距離とを含んでいる。始点距離は始点端末と始点端末によって検出されたアクセスポイントである始点ポイントとの距離である。終点距離は終点端末と終点端末によって検出されたアクセスポイントである終点ポイントとの距離である。端末距離は通信端末の互いの距離である。位置特定装置は、距離パケットに含まれる距離と始点ポイントの座標値と終点ポイントの座標値とに基づいて、各通信端末の位置を特定する。
2017098596.tif 000002
【特許請求の範囲】
【請求項１】
通信端末である始点端末と前記始点端末によって検出されたアクセスポイントである始点ポイントとの距離を始点距離として含んで、前記始点端末とは別の通信端末である終点端末と前記終点端末によって検出されたアクセスポイントである終点ポイントとの距離を終点距離として含んで、前記始点端末と前記終点端末とを含めた複数の通信端末の互いの距離を端末距離として含んだ距離パケットを受信する受信部と、
受信された距離パケットに含まれる始点距離と終点距離と端末距離と、前記始点ポイントの座標値と、前記終点ポイントの座標値とに基づいて、各通信端末の位置を特定する特定部と
を備える位置特定装置。
【請求項２】
前記受信部は、複数の終点端末それぞれから送信される距離パケットを受信し、
前記特定部は、受信された距離パケットに含まれる始点距離と終点距離と端末距離とを用いて各通信端末と各アクセスポイントとの概算距離を算出し、算出した各概算距離と各アクセスポイントの座標値とを用いて各通信端末の座標値を算出する
請求項１に記載の位置特定装置。
【請求項３】
アクセスポイントの検出を行う検出部と、
検出されたアクセスポイントとの距離を測定する測定部と、
検出されたアクセスポイントとの距離を含んだ距離パケットを送信する送信部と
を備える通信端末。
【請求項４】
前記通信端末は、前記距離パケットを生成する生成部を備え、
前記測定部は、アクセスポイントが検出された場合に検出されたアクセスポイントとの距離を始点距離として測定し、
前記生成部は、前記始点距離を含んだパケットを前記距離パケットとして生成し、
前記送信部は、前記距離パケットを周囲に存在する通信端末に送信する
請求項３に記載の通信端末。
【請求項５】
前記通信端末は、
周囲に存在する通信端末である隣接端末から送信されて、前記隣接端末とは別の通信端末である始点端末と前記始点端末によって検出されたアクセスポイントとの距離を始点距離として含んで、前記隣接端末と前記始点端末とを含めた複数の通信端末の互いの距離を端末距離として含んだ距離パケットを受信する受信部と、
受信された距離パケットに距離を追加する追加部とを備え、
前記検出部は、前記隣接端末から送信された距離パケットが受信された場合にアクセスポイントの検出を行い、
前記測定部は、前記検出部によってアクセスポイントが検出された場合に、前記検出部によって検出されたアクセスポイントとの距離を終点距離として測定し、前記隣接端末との距離を新たな端末距離として測定し、
前記追加部は、受信された距離パケットに前記終点距離と前記新たな端末距離とを追加し、
前記送信部は、前記終点距離と前記新たな端末距離とが追加された後の距離パケットを、前記検出部によって検出されたアクセスポイントを介して、各通信端末の位置を特定する位置特定装置に送信する
請求項３に記載の通信端末。
【請求項６】
前記測定部は、前記検出部によってアクセスポイントが検出されなかった場合に前記新たな端末距離を測定し、
前記追加部は、受信された距離パケットに前記新たな端末距離を追加し、
前記送信部は、前記新たな端末距離が追加された後の距離パケットを、周囲に存在する通信端末に送信する
請求項５に記載の通信端末。
【請求項７】
前記通信端末は、
周囲に存在する通信端末である始点端末から送信されて、前記始点端末と前記始点端末によって検出されたアクセスポイントとの距離を始点距離として含んだ距離パケットを受信する受信部と、
受信された距離パケットに距離を追加する追加部とを備え、
前記検出部は、前記始点端末から送信された距離パケットが受信された場合にアクセスポイントの検出を行い、
前記測定部は、前記検出部によってアクセスポイントが検出された場合に、前記検出部によって検出されたアクセスポイントとの距離を終点距離として測定し、前記始点端末との距離を端末距離として測定し、
前記追加部は、受信された距離パケットに前記終点距離と前記端末距離とを追加し、
前記送信部は、前記終点距離と前記端末距離とが追加された後の距離パケットを、前記検出部によって検出されたアクセスポイントを介して、各通信端末の位置を特定する位置特定装置に送信する
請求項３に記載の通信端末。
【請求項８】
前記測定部は、前記検出部によってアクセスポイントが検出されなかった場合に前記端末距離を測定し、
前記追加部は、受信された距離パケットに前記端末距離を追加し、
前記送信部は、前記端末距離が追加された後の距離パケットを、周囲に存在する通信端末に送信する
請求項７に記載の通信端末。
【請求項９】
通信端末である始点端末と前記始点端末によって検出されたアクセスポイントである始点ポイントとの距離を始点距離として含んで、前記始点端末とは別の通信端末である終点端末と前記終点端末によって検出されたアクセスポイントである終点ポイントとの距離を終点距離として含んで、前記始点端末と前記終点端末とを含めた複数の通信端末の互いの距離を端末距離として含んだ距離パケットを受信する受信処理と、
受信された距離パケットに含まれる始点距離と終点距離と端末距離と、前記始点ポイントの座標値と、前記終点ポイントの座標値とに基づいて、各通信端末の位置を特定する特定処理と
をコンピュータに実行させるための位置特定プログラム。
【請求項１０】
アクセスポイントの検出を行う検出処理と、
検出されたアクセスポイントとの距離を測定する測定処理と、
検出されたアクセスポイントとの距離を含んだ距離パケットを送信する送信処理と
をコンピュータに実行させるための通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末の位置を特定するための技術に関するものである。
【背景技術】
【０００２】
端末の位置を特定する方法として、特許文献１または特許文献２に開示された方法がある。【０００３】
特許文献１に開示された方法は、近距離に位置する端末から位置情報を取得し、取得した位置情報に基づいて自己位置を特定する方法である。
この方法では、近距離に端末が存在する必要がある。また、端末間の距離が離れるほど位置の誤差が大きくなる。【０００４】
特許文献２に開示された方法は、電波の強度または電波の遅延に基づいて端末間の距離を特定し、特定した距離に基づいて端末間の方角関係を幾何学的に導出し、導出した方角関係に基づいて端末の位置を特定する方法である。
この方法では、位置が特定される対象となる全ての端末からアクセスすることが可能な端末が必要である。具体的には、端末Ａと端末Ｂとのそれぞれの位置を特定する場合、端末Ａと端末Ｂとの両方からアクセスすることが可能な端末Ｃ、端末Ｄおよび端末Ｅが必要である。この場合、端末Ｃ〜Ｅのいずれか１つでも欠けると、端末Ａと端末Ｂとのそれぞれの位置を特定することができない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２２３４３６号
【特許文献２】特開２００７−２２１５４１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、各通信端末の位置を特定できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の位置特定装置は、
通信端末である始点端末と前記始点端末によって検出されたアクセスポイントである始点ポイントとの距離を始点距離として含んで、前記始点端末とは別の通信端末である終点端末と前記終点端末によって検出されたアクセスポイントである終点ポイントとの距離を終点距離として含んで、前記始点端末と前記終点端末とを含めた複数の通信端末の互いの距離を端末距離として含んだ距離パケットを受信する受信部と、
受信された距離パケットに含まれる始点距離と終点距離と端末距離と、前記始点ポイントの座標値と、前記終点ポイントの座標値とに基づいて、各通信端末の位置を特定する特定部とを備える。
【発明の効果】
【０００８】
本発明によれば、始点距離と終点距離と端末距離とを含んだ距離パケットが受信される。そして、始点距離と終点距離と端末距離と始点ポイントの座標値と終点ポイントの座標値とに基づいて、各通信端末の位置を特定することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１における位置特定システム１００の構成図。
【図２】実施の形態１における通信端末２００の構成図。
【図３】実施の形態１における位置特定装置３００の構成図。
【図４】実施の形態１における通信方法のフローチャート。
【図５】実施の形態１における始点端末処理（Ｓ１２０）のフローチャート。
【図６】実施の形態１における開始要求パケット１３０の構成図。
【図７】実施の形態１における開始応答パケット１４０の構成図。
【図８】実施の形態１における初期状態の距離パケット１２０の構成図。
【図９】実施の形態１における中点／終点端末処理（Ｓ１３０）のフローチャート。
【図１０】実施の形態１における中途状態の距離パケット１２０の構成図。
【図１１】実施の形態１における最終状態の距離パケット１２０の構成図。
【図１２】実施の形態１における位置特定方法のフローチャート。
【図１３】実施の形態１における前処理（Ｓ２１０）のフローチャート。
【図１４】実施の形態１における特定処理（Ｓ２２０）のフローチャート。
【図１５】実施の形態１における履歴テーブル４１０の構成図。
【図１６】実施の形態１における測定距離テーブル４２０の構成図。
【図１７】実施の形態１における測定距離テーブル４２０の構成図。
【図１８】実施の形態１における測定距離テーブル４２０の具体例を示す図。
【図１９】実施の形態１における距離算出処理（Ｓ２３０）のフローチャート。
【図２０】実施の形態１における端末間の距離の具体例を示す図。
【図２１】実施の形態１における端末間の距離の具体例を示す図。
【図２２】実施の形態１における概算距離テーブル４３０の構成図。
【図２３】実施の形態１における通信端末２００およびアクセスポイント１１０の位置関係の具体例を示す図。
【図２４】実施の形態１における通信端末ＣＴｉとアクセスポイント１１０との最短経路の具体例を示す図。
【図２５】実施の形態１における座標値算出処理（Ｓ２４０）のフローチャート。
【図２６】実施の形態１におけるアクセスポイントテーブル４００の構成図。
【図２７】実施の形態１における座標値算出処理（概算距離が３つの場合）の具体例を示す図。
【図２８】実施の形態１における座標値算出処理（概算距離が４つの場合）の概念図。
【図２９】実施の形態１における座標値算出処理（アクセスポイント１１０が対角に位置する場合）の具体例を示す図。
【図３０】実施の形態１における座標値算出処理（アクセスポイント１１０が対角に位置しない場合）の具体例を示す図。
【図３１】実施の形態１における端末テーブル４４０の構成図。
【図３２】実施の形態２における座標値算出処理（Ｓ２４０）のフローチャート。
【図３３】実施の形態２における座標値算出処理（概算距離が４つの場合）の具体例を示す図。
【図３４】実施の形態２における座標値算出処理（概算距離が４つの場合）の具体例を示す図。
【図３５】実施の形態２における座標値算出処理（概算距離が４つの場合）の具体例を示す図。
【図３６】実施の形態２における座標値算出処理（概算距離が４つの場合）の具体例を示す図。
【図３７】実施の形態２における座標値算出処理（概算距離が４つの場合）の具体例を示す図。
【図３８】実施の形態２における座標値算出処理（概算距離が３つの場合）の具体例を示す図。
【図３９】実施の形態における通信端末２００のハードウェア構成図。
【図４０】実施の形態における位置特定装置３００のハードウェア構成図。
【発明を実施するための形態】
【００１０】
実施の形態１．
通信端末２００の位置を特定する位置特定システム１００について、図１から図３１に基づいて説明する。
【００１１】
＊＊＊構成の説明＊＊＊
図１に基づいて、位置特定システム１００の構成について説明する。
位置特定システム１００は、複数の通信端末２００と、複数のアクセスポイント１１０と、位置特定装置３００とを備える。
【００１２】
通信端末２００は、無線で通信を行う機能を有する端末である。つまり、通信端末２００は無線端末である。具体的な通信端末２００はスマートフォンのような携帯端末である。
具体的には、通信端末２００は、通信端末２００とブルートゥース（登録商標）で通信し、アクセスポイント１１０とＷｉＦｉ（登録商標）で通信する。また、通信端末２００は、アクセスポイント１１０を介して位置特定装置３００と通信する。
【００１３】
アクセスポイント１１０は、無線端末をネットワークに接続する機器である。
具体的には、アクセスポイント１１０は、位置特定装置３００が接続するネットワークに通信端末２００を接続する。
【００１４】
複数のアクセスポイント１１０は、位置特定エリア１０１を形成する。位置特定エリア１０１は、通信端末２００の位置を特定する対象となるエリアである。
具体的には、４つのアクセスポイント１１０が四角形の頂点に相当する箇所に配置されて、４つのアクセスポイント１１０に囲われた四角形の位置特定エリア１０１が形成される。
【００１５】
位置特定装置３００は、位置特定エリア１０１に存在する通信端末２００の位置を特定する装置である。
【００１６】
図２に基づいて、通信端末２００の構成について説明する。
通信端末２００は、プロセッサ９０１とメモリ９０２と補助記憶装置９０３と通信装置９０４といったハードウェアを備えるコンピュータである。プロセッサ９０１は、信号線を介して他のハードウェアと接続されている。
【００１７】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、他のハードウェアを制御する。具体的には、プロセッサ９０１は、ＣＰＵ、ＤＳＰまたはＧＰＵである。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称であり、ＤＳＰはＤｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略称であり、ＧＰＵはＧｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
メモリ９０２は揮発性の記憶装置である。メモリ９０２は、主記憶装置またはメインメモリとも呼ばれる。具体的には、メモリ９０２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９０３は不揮発性の記憶装置である。具体的には、補助記憶装置９０３は、ＲＯＭ、ＨＤＤまたはフラッシュメモリである。ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称であり、ＨＤＤはＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
通信装置９０４はレシーバ９０５とトランスミッタ９０６とを備える。具体的には、通信装置９０４は通信チップまたはＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００１８】
通信端末２００は、検出部２１０と測定部２２０と編集部２３０と破棄部２４０と前処理部２５０といった「部」を機能構成の要素として備える。編集部２３０は生成部２３１と追加部２３２とを備える。「部」の機能はソフトウェアで実現される。「部」の機能については後述する。
【００１９】
補助記憶装置９０３には、「部」の機能を実現するプログラムが記憶されている。「部」の機能を実現するプログラムは、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
さらに、補助記憶装置９０３にはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が記憶されている。ＯＳの少なくとも一部は、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
つまり、プロセッサ９０１は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
「部」の機能を実現するプログラムを実行して得られるデータは、メモリ９０２、補助記憶装置９０３、プロセッサ９０１内のレジスタまたはプロセッサ９０１内のキャッシュメモリといった記憶装置に記憶される。これらの記憶装置は、データを記憶する記憶部として機能する。
なお、通信端末２００が複数のプロセッサ９０１を備えて、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
【００２０】
メモリ９０２には、通信端末２００で使用、生成、入出力または送受信されるデータが記憶される。
【００２１】
通信装置９０４はデータを通信する通信部として機能し、レシーバ９０５はデータを受信する受信部２８１として機能し、トランスミッタ９０６はデータを送信する送信部２８２として機能する。
【００２２】
プロセッサ９０１とメモリ９０２と補助記憶装置９０３とをまとめたハードウェアを「プロセッシングサーキットリ」という。
「部」は「処理」または「工程」に読み替えてもよい。「部」の機能はファームウェアで実現してもよい。
「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体に記憶することができる。
【００２３】
図３に基づいて、位置特定装置３００の構成について説明する。
位置特定装置３００は、プロセッサ９１１とメモリ９１２と補助記憶装置９１３と通信装置９１４といったハードウェアを備えるコンピュータである。プロセッサ９１１は、信号線を介して他のハードウェアと接続されている。
【００２４】
プロセッサ９１１は、プロセッシングを行うＩＣであり、他のハードウェアを制御する。具体的には、プロセッサ９１１は、ＣＰＵ、ＤＳＰまたはＧＰＵである。
メモリ９１２は揮発性の記憶装置である。メモリ９１２は、主記憶装置またはメインメモリとも呼ばれる。具体的には、メモリ９１２はＲＡＭである。
補助記憶装置９１３は不揮発性の記憶装置である。具体的には、補助記憶装置９１３は、ＲＯＭ、ＨＤＤまたはフラッシュメモリである。
通信装置９１４はレシーバ９１５とトランスミッタ９１６とを備える。具体的には、通信装置９１４は通信チップまたはＮＩＣである。
【００２５】
位置特定装置３００は、特定部３１０と前処理部３２０といった「部」を機能構成の要素として備える。「部」の機能はソフトウェアで実現される。「部」の機能については後述する。
【００２６】
補助記憶装置９１３には、「部」の機能を実現するプログラムが記憶されている。「部」の機能を実現するプログラムは、メモリ９１２にロードされて、プロセッサ９１１によって実行される。
さらに、補助記憶装置９１３にはＯＳが記憶されている。ＯＳの少なくとも一部は、メモリ９１２にロードされて、プロセッサ９１１によって実行される。
つまり、プロセッサ９１１は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
「部」の機能を実現するプログラムを実行して得られるデータは、メモリ９１２、補助記憶装置９１３、プロセッサ９１１内のレジスタまたはプロセッサ９１１内のキャッシュメモリといった記憶装置に記憶される。これらの記憶装置は、データを記憶する記憶部として機能する。
なお、位置特定装置３００が複数のプロセッサ９１１を備えて、複数のプロセッサ９１１が「部」の機能を実現するプログラムを連携して実行してもよい。
【００２７】
メモリ９１２には、位置特定装置３００で使用、生成、入出力または送受信されるデータが記憶される。
具体的には、メモリ９１２には、暗号鍵１０２、復号鍵１０３、アクセスポイントテーブル４００、履歴テーブル４１０、測定距離テーブル４２０、概算距離テーブル４３０および端末テーブル４４０等が記憶される。メモリ９１２に記憶される各データの内容については後述する。
【００２８】
通信装置９１４はデータを通信する通信部として機能し、レシーバ９１５はデータを受信する受信部３８１として機能し、トランスミッタ９１６はデータを送信する送信部３８２として機能する。
【００２９】
プロセッサ９１１とメモリ９１２と補助記憶装置９１３とをまとめたハードウェアを「プロセッシングサーキットリ」という。
「部」は「処理」または「工程」に読み替えてもよい。「部」の機能はファームウェアで実現してもよい。
「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体に記憶することができる。
【００３０】
＊＊＊動作の説明＊＊＊
位置特定システム１００および位置特定装置３００の動作は位置特定方法に相当し、通信端末２００の動作は通信方法に相当する。
また、位置特定方法は位置特定プログラムに相当し、通信方法は通信プログラムに相当する。
【００３１】
図４に基づいて、通信端末２００の動作に相当する通信方法について説明する。
ステップＳ１１０は進入検知処理である。
ステップＳ１１０において、検出部２１０は、位置特定エリア１０１への進入を検知する。
具体的には、位置特定エリア１０１または位置特定エリア１０１の近くにいることを知らせるためのエリア信号がアクセスポイント１１０または位置特定エリア１０１の中に設けられる発信器から定期的に発信される。そして、検出部２１０は、エリア信号が受信部２８１によって受信された場合に位置特定エリア１０１に進入したと判定する。
【００３２】
ステップＳ１２０は、通信端末２００が始点端末として動作する始点端末処理である。始点端末は、距離パケット１２０を生成して距離パケット１２０を周囲の通信端末２００に送信する通信端末２００である。距離パケット１２０については後述する。
始点端末処理（Ｓ１２０）は、位置特定エリア１０１への進入が検知されてから位置特定エリア１０１からの退出が検知されるまで、実行される。始点端末処理（Ｓ１２０）の詳細については後述する。
【００３３】
ステップＳ１３０は、通信端末２００が中点端末または終点端末として動作する中点／終点端末処理である。中点端末は、距離パケット１２０を受信して距離パケット１２０を周囲の通信端末２００に転送する通信端末２００である。終点端末は、距離パケット１２０を受信して距離パケット１２０を位置特定装置３００に送信する通信端末２００である。距離パケット１２０については後述する。
中点／終点端末処理（Ｓ１３０）は、位置特定エリア１０１への進入が検知されてから位置特定エリア１０１からの退出が検知されるまで、実行される。中点／終点端末処理（Ｓ１３０）の詳細については後述する。
【００３４】
ステップＳ１４０は退出検知処理である。
ステップＳ１４０において、検出部２１０は、位置特定エリア１０１からの退出を検知する。
具体的には、検出部２１０は、ステップＳ１１０で説明したエリア信号が受信部２８１によって受信されなくなった場合に位置特定エリア１０１から退出したと判定する。
【００３５】
図５に基づいて、始点端末処理（Ｓ１２０）について説明する。
ステップＳ１２１は始点ポイント検出処理である。
ステップＳ１２１において、検出部２１０はアクセスポイント１１０の検出を行う。
具体的には、アクセスポイント１１０はポイント識別子を含んだポイント信号をＷｉＦｉ（登録商標）で定期的に発信する。そして、検出部２１０は、ポイント信号が受信部２８１によって受信された場合にアクセスポイント１１０が検出されたと判定する。
ステップＳ１２１で検出されたアクセスポイント１１０を始点ポイントまたは始点アクセスポイントという。図５および他の図において、ＡＰはアクセスポイントを意味する。
始点ポイントが検出された場合、処理はステップＳ１２２に進む。
【００３６】
ステップＳ１２２は前処理である。
ステップＳ１２２において、以下のような前処理が実行される。
まず、前処理部２５０は開始要求パケット１３０を生成する。開始要求パケット１３０の内容については後述する。
次に、送信部２８２は開始要求パケット１３０を始点ポイントを介して位置特定装置３００に送信する。
そして、受信部２８１は位置特定装置３００から送信される開始応答パケット１４０を始点ポイントを介して受信する。開始応答パケット１４０の内容については後述する。
【００３７】
図６に基づいて、開始要求パケット１３０について説明する。
開始要求パケット１３０は、パケットヘッダ１３１とパケット種別１３２と始点端末識別子１３３と始点ポイント識別子１３４とを含んだパケットである。具体的には、開始要求パケット１３０はＴＣＰ／ＩＰパケットである。ＴＣＰはＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌの略称であり、ＩＰはＩｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略称である。
パケットヘッダ１３１は、開始要求パケット１３０のヘッダである。具体的には、パケットヘッダ１３１はＴＣＰ／ＩＰパケットのヘッダである。
パケット種別１３２は、開始要求パケット１３０を意味する識別子である。パケット種別１３２はメモリ９０２に予め記憶されている。
始点端末識別子１３３は、始点端末を識別する識別子である。始点端末は開始要求パケット１３０の送信元の通信端末２００である。始点端末識別子１３３はメモリ９０２に予め記憶されている。
始点ポイント識別子１３４は、始点ポイントを識別する識別子である。始点ポイントは始点端末によって検出されたアクセスポイントである。始点ポイント識別子１３４は、始点ポイントが検出されたときに受信されたポイント信号から得られる。
【００３８】
図７に基づいて、開始応答パケット１４０について説明する。
開始応答パケット１４０は、パケットヘッダ１４１とパケット種別１４２と始点ポイント識別子１３４とタイムスタンプ１４３と暗号鍵１０２とを含んだパケットである。具体的には、開始応答パケット１４０はＴＣＰ／ＩＰパケットである。
パケットヘッダ１４１は、開始応答パケット１４０のヘッダである。具体的には、パケットヘッダ１４１はＴＣＰ／ＩＰパケットのヘッダである。
パケット種別１４２は、開始応答パケット１４０を意味する識別子である。
始点ポイント識別子１３４は、始点ポイントを識別する識別子である。
タイムスタンプ１４３は、開始応答パケット１４０の生成が行われた時刻である。
暗号鍵１０２は、データの暗号化に用いられる値である。
【００３９】
図５に戻り、ステップＳ１２３から説明を続ける。
ステップＳ１２３は始点距離測定処理である。
ステップＳ１２３において、測定部２２０は、自端末と始点ポイントとの距離を測定する。
具体的には、測定部２２０は、始点ポイントから発信された電波の強度を用いて、自端末と始点ポイントとの距離を算出する。この場合、測定部２２０は、開始応答パケット１４０を搬送した搬送波の電波強度を受信部３８１から取得し、取得した電波強度を入力にして距離関数を演算する。これにより、自端末と始点ポイントとの距離が算出される。この距離関数は電波強度を用いて距離を算出するための関数である。
また、測定部２２０は、始点ポイントから自端末までの通信の時間を用いて、自端末と始点ポイントとの距離を算出してもよい。この場合、測定部２２０は、パケットヘッダ１４１から開始応答パケット１４０の送信時刻を取得し、受信部３８１から開始応答パケット１４０の受信時刻を取得する。そして、測定部２２０は、送信時刻から受信時刻までの通信時間を算出し、算出した通信時間を入力にして距離関数を演算する。これにより、自端末と始点ポイントとの距離が算出される。この距離関数は通信時間を用いて距離を算出するための関数である。
ステップＳ１２３で測定された距離を始点距離という。
【００４０】
ステップＳ１２４は生成処理である。
ステップＳ１２４において、生成部２３１は初期状態の距離パケット１２０を生成する。
具体的には、生成部２３１は、始点距離とパケット種別１４２と始点ポイント識別子１３４とタイムスタンプ１４３と暗号鍵１０２とを用いて、初期状態の距離パケット１２０を生成する。
【００４１】
図８に基づいて、初期状態の距離パケット１２０について説明する。
初期状態の距離パケット１２０は、パケットヘッダ１２１と距離ヘッダ１２２と端末情報１２４とを含んだパケットである。具体的には、距離パケット１２０はＴＣＰ／ＩＰパケットである。
パケットヘッダ１２１は、距離パケット１２０のヘッダである。具体的には、パケットヘッダ１２１はＴＣＰ／ＩＰパケットのヘッダである。
距離ヘッダ１２２は、パケット種別１２３と始点ポイント識別子１３４とタイムスタンプ１４３と暗号鍵１０２とを含んでいる。
パケット種別１２３は、距離パケット１２０を意味する識別子である。パケット種別１２３はメモリ９０２に予め記憶されている。
始点ポイント識別子１３４、タイムスタンプ１４３および暗号鍵１０２は、開始応答パケット１４０から得られる情報である。
端末情報１２４は、暗号化識別子１２５と測定距離１２６とを含んでいる。
暗号化識別子１２５は、暗号鍵１０２を用いて暗号化された端末識別子である。具体的には、初期状態の距離パケット１２０に含まれる暗号化識別子１２５は、暗号鍵１０２を用いて暗号化された始点端末識別子１３３である。
測定距離１２６は、測定された距離を示す情報である。具体的には、初期状態の距離パケット１２０に含まれる測定距離１２６は始点距離である。始点距離は始点端末と始点ポイントとの距離である。
【００４２】
図５に戻り、ステップＳ１２５から説明を続ける。
ステップＳ１２５は隣接端末検出処理である。
ステップＳ１２５において、検出部２１０は隣接端末の検出を行う。隣接端末は、自端末の周囲に存在する通信端末２００である。
具体的には、通信端末２００は端末識別子を含んだ端末信号をブルートゥース（登録商標）で定期的に発信する。そして、検出部２１０は、端末信号が受信部２８１によって受信された場合に隣接端末が検出されたと判定する。
隣接端末が検出された場合、処理はＳ１２６に進む。
【００４３】
ステップＳ１２６は送信処理である。
ステップＳ１２６において、送信部２８２は、初期状態の距離パケット１２０を隣接端末に送信する。つまり、送信部２８２は、始点距離を含んだ距離パケット１２０を隣接端末に送信する。
具体的には、送信部２８２は、距離パケット１２０をブルートゥース（登録商標）で送信する。この距離パケット１２０は隣接端末によって受信される。
【００４４】
図９に基づいて、中点／終点端末処理（Ｓ１３０）について説明する。
ステップＳ１３１１は受信処理である。
ステップＳ１３１１において、隣接端末が距離パケット１２０を送信した場合、受信部２８１は距離パケット１２０を受信する。
受信される距離パケット１２０は、初期状態の距離パケット１２０または中途状態の距離パケット１２０である。中途状態の距離パケット１２０については後述する。
距離パケット１２０が受信された場合、処理はステップＳ１３１２に進む。
【００４５】
図１０に基づいて、中途状態の距離パケット１２０について説明する。
中途状態の距離パケット１２０は、パケットヘッダ１２１と距離ヘッダ１２２と複数の端末情報１２４とを含んだパケットである。
パケットヘッダ１２１、距離ヘッダ１２２および１番目の端末情報１２４は、初期状態の距離パケット１２０に含まれる情報である。
ｎ番目の端末情報１２４に含まれる暗号化識別子１２５および測定距離１２６を第ｎの暗号化識別子１２５および第ｎの測定距離１２６という。ｎは２以上Ｎ以下の整数である。Ｎは距離パケット１２０に含まれる端末情報１２４の数である。
第ｎの暗号化識別子１２５は、暗号化された第ｎの端末識別子である。第ｎの端末識別子は第ｎの通信端末２００を識別する識別子である。
第ｎの測定距離１２６は、第ｎの端末距離である。第ｎの端末距離は、第ｎの通信端末２００と第ｎ−１の通信端末２００との距離である。
【００４６】
図９に戻り、Ｓ１３１２から説明を続ける。
ステップＳ１３１２は破棄処理である。
ステップＳ１３１２において、破棄部２４０は、受信された距離パケット１２０が破棄条件を満たすか判定する。破棄条件を満たす距離パケット１２０は、冗長な経路をたどったパケットであるため、最短経路が必要な位置特定システム１００において不要なパケットである。
具体的には、破棄部２４０は、受信された距離パケット１２０から暗号鍵１０２を取得し、暗号鍵１０２を用いて自端末識別子を暗号化する。そして、破棄部２４０は、暗号化された自端末識別子と同じ暗号化識別子１２５が、受信された距離パケット１２０に含まれるか判定する。暗号化された自端末識別子と同じ暗号化識別子１２５が含まれる距離パケット１２０は、破棄条件を満たす。自端末識別子はメモリ９０２に予め記憶されている。
受信された距離パケット１２０が破棄条件を満たす場合、破棄部２４０は受信された距離パケット１２０を破棄する。
受信された距離パケット１２０が破棄条件を満たさない場合、処理はステップＳ１３２に進む。
【００４７】
ステップＳ１３２は端末距離測定処理である。
ステップＳ１３２において、測定部２２０は、自端末と隣接端末との距離を測定する。つまり、測定部２２０は、受信された距離パケット１２０の送信元の通信端末２００との距離を測定する。
具体的には、測定部２２０は、隣接端末から発信された電波の強度を用いて、自端末と隣接端末との距離を算出する。この場合、測定部２２０は、距離パケット１２０を搬送した搬送波の電波強度を受信部３８１から取得し、取得した電波強度を入力にして距離関数を演算する。これにより、自端末と隣接端末との距離が算出される。この距離関数は電波強度を用いて距離を算出するための関数である。
また、測定部２２０は、隣接端末から自端末までの通信の時間を用いて、自端末と隣接端末との距離を算出してもよい。この場合、測定部２２０は、パケットヘッダ１２１から距離パケット１２０の送信時刻を取得し、受信部３８１から距離パケット１２０の受信時刻を取得する。そして、測定部２２０は、送信時刻から受信時刻までの通信時間を算出し、算出した通信時刻を入力にして距離関数を演算する。これにより、自端末と隣接端末との距離が算出される。この距離関数は通信時間を用いて距離を算出するための関数である。
ステップＳ１３２で測定された距離を新たな端末距離という。
【００４８】
ステップＳ１３３は端末距離追加処理である。
ステップＳ１３３において、追加部２３２は、新たな端末距離を受信された距離パケット１２０に追加する。
具体的には、追加部２３２は、受信された距離パケット１２０から暗号鍵１０２を取得し、暗号鍵１０２を用いて自端末識別子を暗号化する。そして、追加部２３２は、暗号化された自端末識別子を暗号化識別子１２５として含んで、新たな端末距離を測定距離１２６として含んだ端末情報１２４を、受信された距離パケット１２０に追加する。
【００４９】
ステップＳ１３４は終点ポイント検出処理である。
ステップＳ１３４において、検出部２１０はアクセスポイント１１０の検出を行う。検出方法はステップＳ１２１と同じである。
ステップＳ１３４で検出されたアクセスポイント１１０のうち、受信された距離パケット１２０に含まれる始点ポイント識別子１３４で識別されるアクセスポイント１１０とは別のアクセスポイント１１０を、終点ポイントまたは終点アクセスポイントという。
終点ポイントが検出された場合、処理はステップＳ１３５に進む。
終点ポイントが検出されなかった場合、処理はステップＳ１３８に進む。
【００５０】
ステップＳ１３５は終点距離測定処理である。
ステップＳ１３５において、測定部２２０は、自端末と終点ポイントとの距離を測定する。測定方法はステップＳ１２３と同じである。
ステップＳ１３５で測定された距離を終点距離という。
【００５１】
ステップＳ１３６は終点距離追加処理である。
ステップＳ１３６において、追加部２３２は、測定された終点距離を端末距離が追加された後の距離パケット１２０に追加する。
具体的には、追加部２３２は、終点距離を測定距離１２６として含んだ距離フッタ１２７を生成し、端末距離が追加された後の距離パケット１２０に距離フッタ１２７を追加する。
ステップＳ１３６により、最終状態の距離パケット１２０が生成される。
【００５２】
図１１に基づいて、最終状態の距離パケット１２０について説明する。
最終状態の距離パケット１２０は、パケットヘッダ１２１と距離ヘッダ１２２と１つ以上の端末情報１２４とを含んだパケットである。
パケットヘッダ１２１、距離ヘッダ１２２および端末情報１２４は、初期状態の距離パケット１２０または中途状態の距離パケット１２０に含まれる情報である。
距離フッタ１２７は、フッタフラグ１２８と終点ポイント識別子１２９と測定距離１２６とを含む。
フッタフラグ１２８は、距離フッタ１２７の先頭に配置されるフラグ値である。
終点ポイント識別子１２９は、終点ポイントを識別する識別子である。終点ポイントは、終点端末によって検出されたアクセスポイント１１０である。
距離フッタ１２７に含まれる測定距離１２６は、終点距離である。終点距離は、終点端末と終点ポイントとの距離である。
【００５３】
図９に戻り、ステップＳ１３７から説明を続ける。
ステップＳ１３７は送信処理である。
ステップＳ１３７において、送信部２８２は、最終状態の距離パケット１２０を終点ポイントを介して位置特定装置３００に送信する。つまり、送信部２８２は、新たな端末距離と終点距離とが追加された後の距離パケット１２０を終点ポイントを介して位置特定装置３００に送信する。
【００５４】
ステップＳ１３８は隣接端末検出処理である。
ステップＳ１３８において、検出部２１０は隣接端末の検出を行う。検出方法はステップＳ１２５と同じである。
１つ以上の隣接端末が検出された場合、処理はＳ１３９に進む。
【００５５】
ステップＳ１３９は転送処理である。
ステップＳ１３９において、送信部２８２は、中途状態の距離パケット１２０を隣接端末に送信する。つまり、送信部２８２は、新たな端末距離が追加された後の距離パケット１２０を隣接端末に送信する。
【００５６】
図１２に基づいて、位置特定装置３００の動作に相当する位置特定方法について説明する。
ステップＳ２０１は受信処理である。
ステップＳ２０１において、始点端末から開始要求パケット１３０が送信された場合、受信部３８１は、始点ポイントを介して開始要求パケット１３０を受信する。受信されたパケットに含まれるパケット種別１３２が開始要求パケット１３０を意味する識別子である場合、前処理部３２０は、開始要求パケット１３０が受信されたと判定する。
また、終点端末から最終状態の距離パケット１２０が送信された場合、受信部３８１は、終点ポイントを介して最終状態の距離パケット１２０を受信する。受信されたパケットに含まれるパケット種別１２３が距離パケット１２０を意味する識別子である場合、特定部３１０は、距離パケット１２０が受信されたと判定する。
開始要求パケット１３０が受信された場合、処理はステップＳ２１０に進む。
最終状態の距離パケット１２０が受信された場合、処理はステップＳ２２０に進む。
【００５７】
図１３に基づいて、前処理（Ｓ２１０）について説明する。
ステップＳ２１１において、前処理部３２０は、暗号鍵１０２と復号鍵１０３との組を生成する。暗号鍵１０２はデータの暗号化に用いる値であり、復号鍵１０３は暗号鍵１０２を用いて暗号化されたデータの復号に用いる値である。具体的には、暗号鍵１０２は公開鍵暗号方式の公開鍵であり、復号鍵１０３は公開鍵暗号方式の秘密鍵である。
但し、暗号鍵１０２および復号鍵１０３が既に生成されている場合、前処理部３２０は暗号鍵１０２および復号鍵１０３を新たに生成しなくてよい。また、暗号鍵１０２および復号鍵１０３は予め生成されてもよい。
【００５８】
ステップＳ２１２において、前処理部３２０は開始応答パケット１４０を生成する。
具体的には、前処理部３２０は、パケットヘッダ１４１とタイムスタンプ１４３とを生成する。そして、前処理部３２０は、パケットヘッダ１４１とパケット種別１４２と始点ポイント識別子１３４とタイムスタンプ１４３と暗号鍵１０２とを用いて、開始応答パケット１４０を生成する。パケット種別１４２はメモリ９１２に予め記憶されている。始点ポイント識別子１３４は開始要求パケット１３０から得られる。
【００５９】
ステップＳ２１３において、送信部３８２は開始応答パケット１４０を始点ポイントを介して始点端末に送信する。
【００６０】
図１４に基づいて、特定処理（Ｓ２２０）について説明する。
ステップＳ２２１において、特定部３１０は、距離パケット１２０に含まれる端末情報１２４毎に、端末情報１２４に含まれる暗号化識別子１２５を復号鍵１０３を用いて復号する。これにより、端末情報１２４毎に端末識別子が得られる。
【００６１】
ステップＳ２２２において、特定部３１０は、距離パケット１２０に含まれる始点ポイント識別子１３４およびタイムスタンプ１４３を用いて、履歴レコードを生成する。履歴レコードは履歴テーブル４１０のレコードである。
そして、特定部３１０は、生成した履歴レコードを履歴テーブル４１０に追加する。
但し、始点ポイント識別子１３４およびタイムスタンプ１４３に合致する履歴レコードが履歴テーブル４１０に存在する場合、履歴テーブル４１０は履歴レコードの生成および追加を行わない。
【００６２】
図１５に基づいて、履歴テーブル４１０について説明する。
履歴テーブル４１０は、履歴識別子４１１の欄とタイムスタンプ１４３の欄とを備える。
履歴識別子４１１は、履歴レコードを識別する識別子であり、始点ポイント識別子１３４に始点ポイント識別子１３４別の通番が付加されることによって生成される。
タイムスタンプ１４３は、距離パケット１２０から得られる情報である。
【００６３】
図１４に戻り、ステップＳ２２３から説明を続ける。
ステップＳ２２３において、特定部３１０は、距離パケット１２０に含まれる端末情報１２４および距離フッタ１２７毎に測定距離レコードを生成する。測定距離レコードは測定距離テーブル４２０のレコードである。
そして、特定部３１０は、生成した測定距離レコードを測定距離テーブル４２０に追加する。
具体的には、特定部３１０は、異なる時間帯に取得された測定距離１２６を区別するために、履歴識別子４１１毎に測定距離テーブル４２０を生成する。次に、特定部３１０は、同じ履歴識別子４１１が含まれる距離パケット１２０のそれぞれに含まれる端末情報１２４および距離フッタ１２７毎に測定距離レコードを生成する。そして、特定部３１０は、生成した測定距離レコードを、同じ履歴識別子４１１に対応する測定距離テーブル４２０に追加する。
但し、端末情報１２４または距離フッタ１２７に対応する測定距離レコードが測定距離テーブル４２０に存在する場合、特定部３１０は測定距離レコードの生成および追加を行わない。そして、端末情報１２４または距離フッタ１２７に含まれる測定距離１２６が、対応する測定距離レコードに含まれる測定距離１２６より短い場合、特定部３１０は、対応する測定距離レコードに含まれる測定距離１２６を端末情報１２４または距離フッタ１２７に含まれる測定距離１２６に更新する。
【００６４】
図１６および図１７に基づいて、測定距離テーブル４２０について説明する。
測定距離テーブル４２０は、第１識別子４２１の欄と、第２識別子４２２の欄と、測定距離１２６の欄と、履歴識別子４１１の欄とを備える。
第１識別子４２１は、測定距離１２６の有する区間の一方の端点を識別する識別子である。距離パケット１２０に含まれる１番目の端末情報１２４に対応する測定距離レコードにおいて、第１識別子４２１は、距離ヘッダ１２２に含まれる始点ポイント識別子１３４である。距離パケット１２０に含まれるｎ番目の端末情報１２４に対応する測定距離レコードにおいて、第１識別子４２１はｎ−１番目の端末識別子である。ｎ−１番目の端末識別子は、ｎ−１番目の端末情報１２４に含まれる暗号化識別子１２５を復号して得られた端末識別子である。ｎは２以上Ｎ以下の整数である。Ｎは距離パケット１２０に含まれる端末情報１２４の数である。距離パケット１２０に含まれる距離フッタ１２７に対応する測定距離レコードにおいて、第１識別子４２１はＮ番目の端末識別子である。Ｎ番目の端末識別子は、Ｎ番目の端末情報１２４に含まれる暗号化識別子１２５を復号して得られた端末識別子である。
第２識別子４２２は、測定距離１２６の有する区間の他方の端点を識別する識別子である。距離パケット１２０に含まれるｍ番目の端末情報１２４に対応する測定距離レコードにおいて、第２識別子４２２はｍ番目の端末識別子である。ｍ番目の端末識別子は、ｍ番目の端末情報１２４に含まれる暗号化識別子１２５を復号して得られた端末識別子である。ｍは１以上Ｎ以下の整数である。距離パケット１２０に含まれる距離フッタ１２７に対応する測定距離レコードにおいて、第２識別子４２２は、距離フッタ１２７に含まれる終点ポイント識別子１２９である。
測定距離１２６は、距離パケット１２０に含まれる端末情報１２４または距離フッタ１２７から得られる情報である。つまり、測定距離１２６は、始点距離、端末距離または終点距離である。
履歴識別子４１１は、距離パケット１２０に対応する履歴レコードから得られる情報である。
【００６５】
図１８に基づいて、測定距離テーブル４２０の具体例について説明する。
図１８において、始点ポイントＡＰＡと始点端末ＣＴＡと中点端末ＣＴＢと終点端末ＣＴＣと終点ポイントＡＰＢとが（１）に示す関係にある場合、（２）に示す距離パケット１２０が得られる。そして、（２）に示す距離パケット１２０に基づいて、（３）に示す測定距離テーブル４２０が生成される。
【００６６】
図１４に戻り、ステップＳ２３０から説明を続ける。
ステップＳ２３０は距離算出処理である。
ステップＳ２３０において、特定部３１０は、受信された距離パケット１２０に含まれる始点距離と端末距離と終点距離とを用いて、各通信端末２００と各アクセスポイント１１０との概算距離を算出する。概算距離は概算した距離である。
具体的には、特定部３１０は、測定距離テーブル４２０を用いて、通信端末２００からアクセスポイント１１０までの最短経路を求める。そして、特定部３１０は、最短経路に含まれる区間の測定距離１２６を合計する。最短経路を求める具体的な方法はダイクストラ法である。
ダイクストラ法を用いて概算距離を算出する距離算出処理（Ｓ２３０）の詳細については後述する。
【００６７】
ステップＳ２４０は座標値算出処理である。
ステップＳ２４０において、特定部３１０は、算出した各概算距離と各アクセスポイント１１０の座標値とを用いて、各通信端末２００の座標値を算出する。
座標値算出処理（Ｓ２４０）の詳細については後述する。
【００６８】
図１９に基づいて、距離算出処理（Ｓ２３０）について説明する。
ステップＳ２３１において、特定部３１０は、未選択の通信端末２００から対象端末を選択する。
具体的には、特定部３１０は、測定距離テーブル４２０から未選択の端末識別子を１つ選択する。選択された端末識別子で識別される通信端末２００が対象端末である。端末識別子は、識別子の規則に基づいてアクセスポイント１１０の識別子と区別される。
【００６９】
ステップＳ２３２において、特定部３１０は、対象端末とアクセスポイント１１０との概算距離を算出する。
具体的には、特定部３１０は、対象端末の識別子とアクセスポイント１１０の識別子とに対応付けられた測定距離１２６を測定距離テーブル４２０から抽出する。抽出された測定距離１２６が概算距離である。アクセスポイント１１０の識別子は、識別子の規則に基づいて端末識別子と区別される。
そして、特定部３１０は、対象端末の識別子とアクセスポイント１１０の識別子とに対応付けて概算距離を概算距離テーブル４３０に登録する。概算距離テーブル４３０については後述する。
【００７０】
ステップＳ２３３において、特定部３１０は、対象端末に対する隣接端末を特定する。
具体的には、特定部３１０は、対象端末の識別子に対応付けられた端末識別子および測定距離１２６を測定距離テーブル４２０から抽出する。抽出された端末識別子で識別される通信端末２００が、対象端末に対する隣接端末である。
対象端末の識別子がＣＴｊであり、対象端末に対する隣接端末の識別子がＣＴｈ、ＣＴｉ、ＣＴｋ、ＣＴｎおよびＣＮｍである場合、図２０の（１）に示すような第１作業テーブル４５１が得られる。第１作業テーブル４５１は特定部３１０によって生成される。
【００７１】
ステップＳ２３４において、特定部３１０は、ステップＳ２３３で特定された隣接端末から最寄端末を選択する。
具体的には、特定部３１０は、第１作業テーブル４５１から最短の距離を選択し、選択した距離に対応付けられた隣接端末の識別子を選択する。選択された識別子で識別される隣接端末が最寄端末である。
図２０の（１）に示す第１作業テーブル４５１において、最短の距離は２である。したがって、隣接端末ＣＴｉが最寄端末として選択される。
【００７２】
ステップＳ２３５において、特定部３１０は、対象端末とアクセスポイント１１０との概算距離を算出する。
具体的には、特定部３１０は、対象端末の識別子と最寄端末の識別子とに対応付けられた距離を第１作業テーブル４５１から抽出する。さらに、特定部３１０は、最寄端末の識別子とアクセスポイント１１０の識別子とに対応付けられた測定距離１２６を測定距離テーブル４２０から抽出する。そして、特定部３１０は、第１作業テーブル４５１から抽出した距離と測定距離テーブル４２０から抽出した測定距離１２６との合計を算出する。算出された合計が、対象端末とアクセスポイント１１０との概算距離である。
そして、特定部３１０は、対象端末の識別子とアクセスポイント１１０の識別子とに対応付けて概算距離を概算距離テーブル４３０に登録する。概算距離テーブル４３０については後述する。
【００７３】
ステップＳ２３６において、特定部３１０は、対象端末または最寄端末として選択された通信端末２００を除いて、最寄端末に対する隣接端末を特定する。
具体的には、特定部３１０は、最寄端末の識別子に対応付けられた端末識別子および測定距離１２６を測定距離テーブル４２０から抽出する。但し、対象端末または最寄端末として選択された通信端末２００の識別子およびその識別子に対応付けられた測定距離１２６を除く。抽出された端末識別子で識別される通信端末２００が、最寄端末に対する隣接端末である。
最寄端末の識別子がＣＴｉであり、最寄端末に対する隣接端末の識別子がＣＴｈ、ＣＴｆ、ＣＴｇおよびＣＴｋである場合、図２０の（２）に示すような第２作業テーブル４５２が得られる。第２作業テーブル４５２は特定部３１０によって生成される。
対象端末または最寄端末として選択された通信端末２００を除いて、最寄端末に対する隣接端末がある場合、処理はＳ２３７に進む。
対象端末または最寄端末として選択された通信端末２００を除くと、最寄端末に対する隣接端末がない場合、処理はＳ２３８に進む。
【００７４】
ステップＳ２３７において、特定部３１０は、対象端末と最寄端末に対する隣接端末との概算距離を算出する。
具体的には、特定部３１０は、対象端末の識別子と最寄端末の識別子とに対応付けられた距離を第１作業テーブル４５１から抽出する。さらに、特定部３１０は、最寄端末の識別子と最寄端末に対する隣接端末の識別子とに対応付けられた距離を第２作業テーブル４５２から抽出する。そして、特定部３１０は、第１作業テーブル４５１から抽出した距離と第２作業テーブル４５２から抽出した距離との合計を算出する。算出された合計が、対象端末と最寄端末に対する隣接端末との概算距離である。
図２０の（１）に示す第１作業テーブル４５１と図２０の（２）に示す第２作業テーブル４５２とを用いて、図２０の（３）に示す第３作業テーブル４５３が生成される。第３作業テーブル４５３は特定部３１０によって生成される。
さらに、図２０の（１）に示す第１作業テーブル４５１に図２０の（３）に示す第３作業テーブル４５３をマージすることによって、第１作業テーブル４５１は図２０の（４）のように更新される。但し、第１作業テーブル４５１と第３作業テーブル４５３とに同じ隣接端末の識別子を含んだレコードが存在する場合、当該識別子に対応付けられた距離が短い方のレコードが採用される。つまり、距離が短い方のレコードは更新後の第１作業テーブル４５１に残るが、距離が長い方のレコードは更新後の第１作業テーブル４５１に残らない。また、最寄端末の識別子を含んだレコードは第１作業テーブル４５１から削除される。第１作業テーブル４５１は特定部３１０によって更新される。
ステップＳ２３７の後、処理はステップＳ２３４に戻る。
【００７５】
処理がステップＳ２３４に戻ると、特定部３１０は、ステップＳ２３６で特定された隣接端末から最寄端末を選択する。
具体的には、特定部３１０は、更新後の第１作業テーブル４５１から最短の距離を選択し、選択した距離に対応付けられた隣接端末の識別子を選択する。選択された識別子で識別される通信端末２００が最寄端末である。
図２１の（４）に示す第１作業テーブル４５１において、最短の距離は４である。したがって、隣接端末ＣＴｈが最寄端末として選択される。図２１の（４）に示す第１作業テーブル４５１は図２０の（４）と同じである。
【００７６】
ステップＳ２３４の後のステップＳ２３５〜ステップＳ２３７は上記で説明した通りである。
ステップＳ２３６において、最寄端末の識別子がＣＴｈであり、最寄端末に対する隣接端末の識別子がＣＴｂ、ＣＴｃ、ＣＴｆおよびＣＴｌである場合、図２１の（５）に示すような第２作業テーブル４５２が得られる。
ステップＳ２３７において、図２１の（４）に示す第１作業テーブル４５１と図２１の（５）に示す第２作業テーブル４５２とを用いて、図２１の（６）に示す第３作業テーブル４５３が生成される。さらに、図２１の（４）に示す第１作業テーブル４５１に図２１の（６）に示す第３作業テーブル４５３をマージすることによって、第１作業テーブル４５１は図２１の（７）のように更新される。
【００７７】
図１９に戻り、ステップＳ２３８を説明する。
ステップＳ２３８において、特定部３１０は、対象端末として選択されていない未選択の通信端末２００があるか判定する。
未選択の通信端末２００がある場合、処理はＳ２３１に戻る。
未選択の通信端末２００がない場合、距離算出処理（Ｓ２３０）は終了する。
【００７８】
距離算出処理（Ｓ２３０）により、図２２に示すような概算距離テーブル４３０が生成される。
概算距離テーブル４３０は、端末識別子４３１の欄と、アクセスポイント識別子４３２の欄と、履歴識別子４１１の欄と、概算距離４３３の欄とを備える。
端末識別子４３１は、通信端末２００を識別する識別子である。
アクセスポイント識別子４３２は、アクセスポイント１１０を識別する識別子である。
履歴識別子４１１は、測定距離テーブル４２０から得られる情報である。
概算距離４３３は、ステップＳ２３２またはステップＳ２３５で算出された概算距離である。
【００７９】
具体的には、通信端末２００およびアクセスポイント１１０が図２３に示す位置関係で存在する場合、図１６および図１７の測定距離テーブル４２０が生成される。
そして、図１６および図１７の測定距離テーブル４２０を用いて、図２３の概算距離テーブル４３０が生成される。
【００８０】
図２３において通信端末ＣＴｊに着目すると、通信端末ＣＴｊからアクセスポイントＡＰａ、ＡＰｂ、ＡＰｃおよびＡＰｄまでの最短経路は、図２４に示す経路である。
図２４において、通信端末ＣＴｊからアクセスポイントＡＰａまでの最短距離に含まれる区間の距離は１８メートルである。つまり、通信端末ＣＴｊとアクセスポイントＡＰａとの概算距離は１８メートルである。同様に、アクセスポイントＡＰｂとの概算距離は１８メートルであり、アクセスポイントＡＰｃとの概算距離は２０メートルであり、アクセスポイントＡＰｄとの概算距離は２４メートルである。
そして、通信端末ＣＴｊとアクセスポイントＡＰａ、ＡＰｂ、ＡＰｃおよびＡＰｄとの概算距離は、図２２に示すように、端末識別子とアクセスポイント識別子とに対応付けて概算距離テーブル４３０に登録される。
【００８１】
図２５に基づいて、座標値算出処理（Ｓ２４０）について説明する。
ステップＳ２４１において、特定部３１０は、未選択の通信端末２００から対象端末を選択する。
具体的には、特定部３１０は、概算距離テーブル４３０から未選択の端末識別子を１つ選択する。選択された端末識別子で識別される通信端末２００が対象端末である。
【００８２】
ステップＳ２４２において、特定部３１０は、対象端末とアクセスポイント１１０との距離として算出された概算距離の数を判定する。
具体的には、特定部３１０は、概算距離テーブル４３０から対象端末の識別子を選択し、選択した識別子に対応付けられた概算距離の数を判定する。但し、概算距離が算出されなかったことを意味する値は概算距離として数えない。
概算距離の数が４つである場合、処理はステップＳ２４３に進む。
概算距離の数が３つである場合、処理はステップＳ２４５に進む。
概算距離の数が２つである場合、処理はステップＳ２４６に進む。
概算距離の数が１つ以下である場合、対象端末の座標値は算出されず、処理はステップＳ２４９に進む。
【００８３】
ステップＳ２４３において、特定部３１０は、４つのアクセスポイント１１０から３つのアクセスポイントを選択する。
具体的には、特定部３１０は、概算距離テーブル４３０から対象端末の識別子を選択し、選択した識別子に対応付けられた４つの概算距離から短い順に３つの概算距離を選択する。選択した概算距離に対応付けられたアクセスポイント識別子で識別されるアクセスポイント１１０が、選択されたアクセスポイント１１０である。
【００８４】
ステップＳ２４４において、特定部３１０は、選択されたアクセスポイント１１０に対応する概算距離の比に基づいて、対象端末の座標値を算出する。
【００８５】
具体的には、特定部３１０は対象端末の座標値を以下のように算出する。
特定部３１０は、選択されたアクセスポイント１１０それぞれの識別子に対応付けられた座標値をアクセスポイントテーブル４００から取得する。アクセスポイントテーブル４００については後述する。
次に、特定部３１０は、選択されたアクセスポイント１１０に対応する概算距離の比を算出する。
そして、特定部３１０は、選択されたアクセスポイント１１０それぞれの座標値と、選択されたアクセスポイント１１０に対応する概算距離の比とを用いて、対象端末の座標値を算出する。
【００８６】
図２６に基づいて、アクセスポイントテーブル４００について説明する。
アクセスポイントテーブル４００は、アクセスポイント識別子４０１の欄と、座標値４０２の欄とを備える。
アクセスポイント識別子４０１は、アクセスポイント１１０を識別する識別子である。
座標値４０２は、アクセスポイント１１０の位置を示す値である。
【００８７】
通信端末ＣＴｊおよび４つのアクセスポイントＡＰａ〜ＡＰｄが図２７に示すような位置関係にある場合、通信端末ＣＴｊは、ＡＰａとＡＰｃとを結んだ線分を１８：２０で区切った位置におけるＸ軸の座標値を持つ。また、通信端末ＣＴｊは、ＡＰａとＡＰｂとを結んだ線分を１８：１８で区切った位置におけるＹ軸の座標値を持つ。
【００８８】
つまり、通信端末ＣＴｊの座標値は、ステップＳ２４３およびステップＳ２４４において以下のように算出される。
ステップＳ２４３において、通信端末ＣＴｊとの概算距離が短い順に３つのアクセスポイントＡＰａ、ＡＰｂおよびＡＰｃが選択される。
ステップＳ２４４で算出される通信端末ＣＴｊの座標値（Ｘｊ、Ｙｊ）は以下の通りである。
Ｘｊ＝Ｘ０＋（Ｘ１−Ｘ０）×（１８／３６）
Ｙｊ＝Ｙ０＋（Ｙ１−Ｙ０）×（１８／３８）
【００８９】
特定部３１０は、通信端末ＣＴｊと４つのアクセスポイントとの４つの概算距離を用いて、通信端末ＣＴｊの座標値を算出してもよい。
具体的には、特定部３１０は、３つのアクセスポイントから成る組｛ＡＰａ、ＡＰｂ、ＡＰｃ｝、｛ＡＰａ、ＡＰｂ、ＡＰｄ｝、｛ＡＰａ、ＡＰｃ、ＡＰｄ｝、｛ＡＰｂ、ＡＰｃ、ＡＰｄ｝毎に、通信端末ＣＴｊの仮の座標値を算出する。これにより、４つの座標値が得られる。そして、特定部３１０は、４つの座標値の平均を通信端末ＣＴｊの真の座標値として算出する。
図２８に、４つの概算距離を用いて通信端末ＣＴｊの座標値を算出する方法の概念図を示す。
【００９０】
図２５に戻り、ステップＳ２４５から説明を続ける。
ステップＳ２４５において、特定部３１０は、３つの概算距離の比に基づいて、対象端末の座標値を算出する。
具体的には、特定部３１０は、概算距離テーブル４３０から対象端末の識別子に対応付けられた３つの概算距離を取得し、取得した概算距離の比を算出する。また、特定部３１０は、取得した概算距離に対応付けられたアクセスポイント識別子を概算距離テーブル４３０から取得し、取得したアクセスポイント識別子に対応付けられた座標値をアクセスポイントテーブル４００から取得する。そして、特定部３１０は、取得した座標値と算出した概算距離の比とを用いて、対象端末の座標値を算出する。算出方法はステップＳ２４４と同じである。
【００９１】
ステップＳ２４６において、特定部３１０は、２つのアクセスポイント１１０が位置特定エリア１０１の対角にあるか判定する。
具体的には、特定部３１０は、概算距離テーブル４３０から対象端末の識別子に対応付けられた概算距離を選択し、選択した概算距離に対応付けられたアクセスポイント識別子を概算距離テーブル４３０から取得する。但し、概算距離が算出されなかったことを意味する値は概算距離として選択しない。そして、特定部３１０は、取得されたアクセスポイント識別子に基づいて、判定を行う。より具体的には、特定部３１０は、取得されたアクセスポイント識別子が｛ＡＰａ、ＡＰｄ｝または｛ＡＰｂ、ＡＰｃ｝である場合に２つのアクセスポイント１１０が位置特定エリア１０１の対角にあると判定する。
２つのアクセスポイント１１０が位置特定エリア１０１の対角にある場合、処理はステップＳ２４７に進む。
２つのアクセスポイント１１０が位置特定エリア１０１の対角にない場合、処理はステップＳ２４８に進む。
【００９２】
ステップＳ２４７において、特定部３１０は、２つのアクセスポイント１１０に対応する概算距離の比に基づいて、対象端末の座標値を算出する。
具体的には、特定部３１０は、概算距離テーブル４３０から対象端末の識別子に対応付けられた２つの概算距離を取得し、取得した概算距離の比を算出する。また、特定部３１０は、取得した概算距離に対応付けられたアクセスポイント識別子を概算距離テーブル４３０から取得し、取得したアクセスポイント識別子に対応付けられた座標値をアクセスポイントテーブル４００から取得する。そして、特定部３１０は、取得した座標値と算出した概算距離の比とを用いて、対象端末の座標値を算出する。
【００９３】
通信端末ＣＴｊと対角にあるアクセスポイントＡＰａおよびＡＰｄが図２９に示すような位置関係にある場合、通信端末ＣＴｊは、ＡＰａとＡＰｄとを結んだ線分を１８：２４で区切った位置の座標値を持つ。
つまり、ステップＳ２４４で算出される通信端末ＣＴｊの座標値（Ｘｊ、Ｙｊ）は以下の通りである。
Ｘｊ＝Ｘ０＋（Ｘ１−Ｘ０）×（１８／４２）
Ｙｊ＝Ｙ０＋（Ｙ１−Ｙ０）×（１８／４２）
【００９４】
図２５に戻り、ステップＳ２４８から説明を続ける。
ステップＳ２４８において、特定部３１０は、対象端末の座標値を三辺測量で算出する。
具体的には、特定部３１０は、概算距離テーブル４３０から対象端末の識別子に対応付けられた２つの概算距離を取得する。次に、特定部３１０は、取得した概算距離に対応付けられたアクセスポイント識別子を概算距離テーブル４３０から取得する。次に、特定部３１０は、取得したアクセスポイント識別子に対応付けられた座標値をアクセスポイントテーブル４００から取得する。次に、特定部３１０は、取得した座標値を用いてアクセスポイント間の距離を算出する。そして、特定部３１０は、２つの概算距離と算出した距離と取得した座標値とを用いて三辺測量を行うことによって、対象端末の座標値を算出する。
【００９５】
通信端末ＣＴｊと２つのアクセスポイントＡＰａおよびＡＰｂが図３０に示すような位置関係にある場合、ステップＳ２４８で算出される通信端末ＣＴｊの座標値（Ｘｊ、Ｙｊ）は以下の通りである。
ｃｏｓθ＝（１８２＋３０２−１８２）／（２×１８×３０）＝０．８３
ｓｉｎθ＝√（１−ｃｏｓ２θ）＝０．５５
Ｘｊ＝Ｘ０＋（１８×ｃｏｓθ）＝Ｘ０＋１５
Ｙｊ＝Ｙ０＋（１８×ｓｉｎθ）＝Ｙ０＋９．９５
【００９６】
図２５に戻り、ステップＳ２４９を説明する。
ステップＳ２４９において、特定部３１０は、対象端末として選択していない未選択の通信端末２００があるか判定する。
未選択の通信端末２００がある場合、処理はステップＳ２４１に戻る。
未選択の通信端末２００がない場合、座標値算出処理（Ｓ２４０）は終了する。
【００９７】
なお、特定部３１０は、座標値算出処理（Ｓ２４０）で算出した座標値を対象端末の識別子に対応付けて端末テーブル４４０に登録する。
図３１に示すように、端末テーブル４４０は、端末識別子４４１の欄と、座標値４４２の欄とを備える。
端末識別子４４１は、通信端末２００を識別する識別子である。
座標値４４２は、通信端末２００の位置を示す値である。
【００９８】
＊＊＊実施の形態１の効果＊＊＊
位置特定システム１００によって、各通信端末２００の位置を特定することができる。特に、位置特定システム１００では、位置特定エリア１０１に多数の通信端末２００が存在しなくても、距離パケット１２０を伝搬する隣接端末が存在すれば、各通信端末２００の位置を特定することが可能である。
位置特定装置３００は、各通信端末２００によって伝搬された距離パケット１２０に含まれる測定距離１２６を用いるため、各通信端末２００の位置をリアルタイムに特定することができる。
各通信端末２００は距離パケット１２０を伝搬するだけでよいため、各通信端末２００の負荷は小さい。
【００９９】
位置特定システム１００はビルの入退管理または駅の改札管理などに利用することができる。
ビルの入退管理において、位置特定システム１００を利用すれば、ビル内で通信端末２００を所持している人の位置を把握することが可能になる。そして、適切な人が適切な場所に存在しているかを管理することが可能になる。エレベータホールに人がいる場合、その人がエレベータホールのボタンを押さなくても、エレベータをその人がいる階に移動させることが可能になる。さらに、その人の部屋がある階の情報を通信端末２００に記憶しておけば、その人がエレベータ内のボタンを押さなくても、その人の部屋がある階にエレベータを移動させることが可能になる。また、進入が禁止される禁止エリアを特定するための情報を通信端末２００に記憶しておけば、その通信端末２００を所持している人が禁止エリアに近づいても、禁止エリアのゲートを開かないようにすることが可能になる。さらに、その人が禁止エリアに進入した場合には、何らかの警告を出すことが可能になる。
駅の改札管理において、位置特定システム１００を利用すれば、駅に改札を設けなくても、乗客の出入りを管理することが可能になる。具体的には、通信端末２００を持って電車に乗った乗客に対して運賃を発生させることが可能になる。また、行き先が通信端末２００に記憶されていれば、乗客を列車に乗るホームおよび列車から降りるホームに誘導することが可能になる。さらに、乗客をホームまたは列車の混雑していない場所に誘導することが可能になる。
【０１００】
＊＊＊他の構成＊＊＊
アクセスポイント１１０の数は、３つまたは５つ以上であってもよい。
位置特定エリア１０１は、３角形、５角形、円形または他の形状のエリアであってもよい。
【０１０１】
実施の形態２．
実施の形態１とは異なる座標値算出処理（Ｓ２４０）で通信端末２００の座標値を算出する形態について、図３２から図３８に基づいて説明する。但し、実施の形態１と重複する説明は省略または簡略する。
【０１０２】
＊＊＊構成の説明＊＊＊
位置特定システム１００、通信端末２００および位置特定装置３００の構成は実施の形態１と同じである。
【０１０３】
＊＊＊動作の説明＊＊＊
通信端末２００による通信方法は実施の形態１と同じである。
位置特定装置３００による位置特定方法の処理の流れは実施の形態１と同じである。但し、座標値算出処理（Ｓ２４０）の一部が実施の形態１と異なる。
【０１０４】
図３２に基づいて、座標値算出処理（Ｓ２４０）について説明する。
ステップＳ２４１およびステップＳ２４２は実施の形態１と同じである。
概算距離の数が４つである場合、処理はステップＳ２５１に進む。
概算距離の数が３つである場合、処理はステップＳ２５３に進む。
概算距離の数が２つである場合、処理はステップＳ２４６に進む。ステップＳ２４６〜ステップＳ２４８は実施の形態１と同じである。
概算距離の数が１つ以下である場合、対象端末の座標値は算出されず、処理はステップＳ２４９に進む。ステップＳ２４９は実施の形態１と同じである。
【０１０５】
ステップＳ２５１において、特定部３１０は、三辺測量で４つの座標値を算出する。それぞれの座標値を算出する方法はステップＳ２４８と同じである。
【０１０６】
具体的には、特定部３１０は４つの座標値を以下のように算出する。
図３３において、隣り合う２つのアクセスポイントと黒丸で記した仮想点とを頂点とする４つの三角形が生成される。仮想点は仮想の通信端末ＣＴｊである。つまり、仮想点は、隣り合う２つのアクセスポイントそれぞれからアクセスポイントと通信端末ＣＴｊとの概算距離だけ離れた地点である。
【０１０７】
アクセスポイントＡＰａとアクセスポイントＡＰｂと仮想点ＶＰ１とを頂点とする三角形の辺が図３４に示す長さを有する場合、仮想点ＶＰ１の座標値（Ｘ１、Ｙ１）は以下の通りである。但し、アクセスポイントＡＰａを原点とする。つまり、アクセスポイントＡＰａの座標値を（０、０）とする。
ｃｏｓα＝（１８２＋３０２−１８２）／（２×１８×３０）＝０．８３
ｓｉｎα＝√（１−ｃｏｓ２α）＝０．５５
Ｘ１＝１８×ｃｏｓα＝１５．０
Ｙ１＝１８×ｓｉｎα＝１０．０
（Ｘ１、Ｙ１）＝（１５．０、１０．０）
【０１０８】
アクセスポイントＡＰａとアクセスポイントＡＰｃと仮想点ＶＰ２とを頂点とする三角形の辺が図３５に示す長さを有する場合、仮想点ＶＰ２の座標値（Ｘ２、Ｙ２）は以下の通りである。
ｃｏｓβ＝（１８２＋２０２−２０２）／（２×１８×２０）＝０．４５
ｓｉｎβ＝√（１−ｃｏｓ２β）＝０．８９
Ｘ２＝１８×ｓｉｎβ＝１６．１
Ｙ２＝１８×ｃｏｓβ＝８．１
（Ｘ２、Ｙ２）＝（１６．１、８．１）
【０１０９】
アクセスポイントＡＰｃとアクセスポイントＡＰｄと仮想点ＶＰ３とを頂点とする三角形の辺が図３６に示す長さを有する場合、仮想点ＶＰ３の座標値（Ｘ３、Ｙ３）は以下の通りである。
ｃｏｓγ＝（２０２＋３０２−２４２）／（２×２０×３０）＝０．６０
ｓｉｎγ＝√（１−ｃｏｓ２γ）＝０．８０
Ｘ３＝２０×ｃｏｓγ＝１２．１
Ｙ３＝２０−（２０×ｓｉｎγ）＝４．１
（Ｘ３、Ｙ３）＝（１２．１、４．１）
【０１１０】
アクセスポイントＡＰｂとアクセスポイントＡＰｄと仮想点ＶＰ４とを頂点とする三角形の辺が図３７に示す長さを有する場合、仮想点ＶＰ４の座標値（Ｘ４、Ｙ４）は以下の通りである。
ｃｏｓσ＝（１８２＋２０２−２４２）／（２×１８×２０）＝０．２１
ｓｉｎσ＝√（１−ｃｏｓ２σ）＝０．９８
Ｘ４＝３０−（１８×ｓｉｎσ）＝１２．４
Ｙ４＝１８×ｃｏｓσ＝３．７
（Ｘ４、Ｙ４）＝（１２．４、３．７）
【０１１１】
図３２に戻り、ステップＳ２５２から説明を続ける。
ステップＳ２５２において、特定部３１０は、４つの座標値を用いて対象端末の座標値を算出する。
具体的には、特定部３１０は、以下の（ａ）または（ｂ）で、対象端末の座標値を算出する。
【０１１２】
（ａ）特定部３１０は、４つの座標値の平均を対象端末の座標値として算出する。
図３４から図３７で得られた４つの座標値を用いた場合、対象端末である通信端末ＣＴｊの座標値（Ｘｊ、Ｙｊ）は以下の通りである。
Ｘｊ＝（Ｘ１＋Ｘ２＋Ｘ３＋Ｘ４）／４＝１３．９
Ｙｊ＝（Ｙ１＋Ｙ２＋Ｙ３＋Ｙ４）／４＝６．５
（Ｘｊ、Ｙｊ）＝（１３．９、６．５）
【０１１３】
（ｂ）特定部３１０は、座標値毎に座標値に対応する概算距離に基づいて重み値を算出し、それぞれの座標値に重み値を掛ける。具体的な重み値は概算距離の合計の逆数である。これにより、４つの重み付け座標値が算出される。そして、特定部３１０は、４つの重み付け座標値の平均を対象端末の座標値として算出する。
図３４において、仮想点ＶＰ１の座標値（Ｘ１、Ｙ１）に対応する概算距離の合計は３６（＝１８＋１８）である。したがって、重み値は１／３６である。
図３５において、仮想点ＶＰ２の座標値（Ｘ２、Ｙ２）に対応する概算距離の合計は３８（＝１８＋２０）である。したがって、重み値は１／３８である。
図３６において、仮想点ＶＰ３の座標値（Ｘ３、Ｙ３）に対応する概算距離の合計は４４（＝２０＋２４）である。したがって、重み値は１／４４である。
図３７において、仮想点ＶＰ４の座標値（Ｘ４、Ｙ４）に対応する概算距離の合計は４２（＝１８＋２４）である。したがって、重み値は１／４２である。
これらの重み値を用いた場合、対象端末である通信端末ＣＴｊの座標値（Ｘｊ、Ｙｊ）は以下の通りである。
Ｘｊ＝分子Ｘ／分母＝１４．０
分母＝（１／３６）＋（１／３８）＋（１／４４）＋（１／４２）
分子Ｘ＝（Ｘ１／３６）＋（Ｘ２／３８）＋（Ｘ３／４４）＋（Ｘ４／４２）
Ｙｊ＝分子Ｙ／分母＝６．７
分子Ｙ＝（Ｙ１／３６）＋（Ｙ２／３８）＋（Ｙ３／４４）＋（Ｙ４／４２）
（Ｘｊ、Ｙｊ）＝（１４．０、６．７）
【０１１４】
図３２に戻り、ステップＳ２５３から説明を続ける。
ステップＳ２５３において、特定部３１０は、三辺測量で２つの座標値を算出する。それぞれの座標値を算出する方法はステップＳ２４８およびステップＳ２５１と同じである。
【０１１５】
具体的には、特定部３１０は２つの座標値を以下のように算出する。
図３８において、隣り合う２つのアクセスポイントと黒丸で記した仮想点とを頂点とする２つの三角形が生成される。
図３４で説明したように、仮想点ＶＰ１の座標値（Ｘ１、Ｙ１）は（１５．０、１１．０）である。
図３５で説明したように、仮想点ＶＰ２の座標値（Ｘ２、Ｙ２）は（１６．１、８．１）である。
【０１１６】
図３２に戻り、ステップＳ２５４から説明を続ける。
ステップＳ２５４において、特定部３１０は、２つの座標値を用いて対象端末の座標値を算出する。
具体的には、特定部３１０は、以下の（ａ）、（ｂ）または（ｃ）で、対象端末の座標値を算出する。（ａ）および（ｂ）はステップＳ２５２と同じである。
【０１１７】
（ａ）特定部３１０は、２つの座標値の平均を対象端末の座標値として算出する。つまり、対象端末である通信端末ＣＴｊの座標値（Ｘｊ、Ｙｊ）は以下の通りである。
Ｘｊ＝（Ｘ１＋Ｘ２）／２＝１３．５
Ｙｊ＝（Ｙ１＋Ｙ２）／２＝９．０
（Ｘｊ、Ｙｊ）＝（１３．５、９．０）
【０１１８】
（ｂ）特定部３１０は、２つの重み付け座標値の平均を対象端末の座標値として算出する。つまり、対象端末である通信端末ＣＴｊの座標値（Ｘｊ、Ｙｊ）は以下の通りである。
Ｘｊ＝分子Ｘ／分母＝１５．５
分母＝（１／３６）＋（１／３８）
分子Ｘ＝（Ｘ１／３６）＋（Ｘ２／３８）
Ｙｊ＝分子Ｙ／分母＝９．０
分子Ｙ＝（Ｙ１／３６）＋（Ｙ２／３８）
（Ｘｊ、Ｙｊ）＝（１５．５、９．０）
【０１１９】
（ｃ）特定部３１０は、２つの座標値のＹ座標の値を入れ替えて２つの候補値を生成する。つまり、２つの座標値が（Ｘ１、Ｙ１）および（Ｘ２、Ｙ２）である場合、生成される２つの候補値は（Ｘ１、Ｙ２）および（Ｘ２、Ｙ１）である。
そして、特定部３１０は、２つの候補値のうちの１つの候補値を対象端末の座標値として選択する。具体的には、特定部３１０は、２つの候補値と概算距離が算出されなかったアクセスポイントＡＰｄの座標値とを用いて、２つの比較距離を算出する。比較距離は候補値が示す地点とアクセスポイントＡＰｄとの距離である。次に、特定部３１０は、２つの比較距離を比較する。そして、特定部３１０は、２つの候補値のうちの１つの候補値を比較距離の比較結果に基づいて選択する。より具体的には、特定部３１０は比較距離が長い方の候補点に対応する候補値を選択する。
第１の候補値が（１５．０、８．１）であり、アクセスポイントＡＰｄの座標値が（３０、２０）である場合、第１の比較距離は１９．１である。また、第２の候補値が（１６．１、１０．０）である場合、第２の比較距離は１７．２である。この場合、第１の比較距離が第２の比較距離よりも長いため、第１の候補値が対象端末の座標値として選択される。
【０１２０】
＊＊＊実施の形態２の効果＊＊＊
通信端末２００の座標値の精度を実施の形態１よりも高めるという効果が期待できる。
【０１２１】
＊＊＊説明の補足＊＊＊
各実施の形態において、通信端末２００および位置特定装置３００の機能はハードウェアで実現してもよい。
図３９に、通信端末２００の機能がハードウェアで実現される場合の構成を示す。
通信端末２００は処理回路９９０および通信装置９０４を備える。処理回路９９０はプロセッシングサーキットリともいう。
処理回路９９０は、通信端末２００の「部」の機能を実現する専用の電子回路である。この「部」には記憶部も含まれる。
具体的には、処理回路９９０は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。ＧＡはＧａｔｅ  Ａｒｒａｙの略称であり、ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称であり、ＦＰＧＡはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
なお、通信端末２００が複数の処理回路９９０を備えて、複数の処理回路９９０が通信端末２００の「部」の機能を連携して実現してもよい。
【０１２２】
通信端末２００の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。つまり、通信端末２００の「部」の一部をソフトウェアで実現し、通信端末２００の「部」の残りをハードウェアで実現してもよい。
【０１２３】
図４０に、位置特定装置３００の機能がハードウェアで実現される場合の構成を示す。
位置特定装置３００は処理回路９９１および通信装置９１４を備える。処理回路９９１はプロセッシングサーキットリともいう。
処理回路９９１は、位置特定装置３００の「部」の機能を実現する専用の電子回路である。この「部」には記憶部も含まれる。具体的な処理回路９９１は通信端末２００の処理回路９９０と同じである。
なお、位置特定装置３００が複数の処理回路９９１を備えて、複数の処理回路９９１が位置特定装置３００の「部」の機能を連携して実現してもよい。
【０１２４】
位置特定装置３００の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。つまり、位置特定装置３００の「部」の一部をソフトウェアで実現し、位置特定装置３００の「部」の残りをハードウェアで実現してもよい。
【０１２５】
各実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。
フローチャート等を用いて説明した手順は方法およびプログラムの手順の一例である。
【符号の説明】
【０１２６】
１００  位置特定システム、１０１  位置特定エリア、１０２  暗号鍵、１０３  復号鍵、１１０  アクセスポイント、１２０  距離パケット、１２１  パケットヘッダ、１２２  距離ヘッダ、１２３  パケット種別、１２４  端末情報、１２５  暗号化識別子、１２６  測定距離、１２７  距離フッタ、１２８  フッタフラグ、１２９  終点ポイント識別子、１３０  開始要求パケット、１３１  パケットヘッダ、１３２  パケット種別、１３３  始点端末識別子、１３４  始点ポイント識別子、１４０  開始応答パケット、１４１  パケットヘッダ、１４２  パケット種別、１４３  タイムスタンプ、２００  通信端末、２１０  検出部、２２０  測定部、２３０  編集部、２３１  生成部、２３２  追加部、２４０  破棄部、２５０  前処理部、２８１  受信部、２８２  送信部、３００  位置特定装置、３１０  特定部、３２０  前処理部、３８１  受信部、３８２  送信部、４００  アクセスポイントテーブル、４０１  アクセスポイント識別子、４０２  座標値、４１０  履歴テーブル、４１１  履歴識別子、４２０  測定距離テーブル、４２１  第１識別子、４２２  第２識別子、４３０  概算距離テーブル、４３１  端末識別子、４３２  アクセスポイント識別子、４３３  概算距離、４４０  端末テーブル、４４１  端末識別子、４４２  座標値、４５１  第１作業テーブル、４５２  第２作業テーブル、４５３  第３作業テーブル、９０１  プロセッサ、９０２  メモリ、９０３  補助記憶装置、９０４  通信装置、９０５  レシーバ、９０６  トランスミッタ、９１１  プロセッサ、９１２  メモリ、９１３  補助記憶装置、９１４  通信装置、９１５  レシーバ、９１６  トランスミッタ、９９０，９９１  処理回路。
【図１】
2017098596.tif 000003
【図２】
2017098596.tif 000004
【図３】
2017098596.tif 000005
【図４】
2017098596.tif 000006
【図５】
2017098596.tif 000007
【図６】
2017098596.tif 000008
【図７】
2017098596.tif 000009
【図８】
2017098596.tif 000010
【図９】
2017098596.tif 000011
【図１０】
2017098596.tif 000012
【図１１】
2017098596.tif 000013
【図１２】
2017098596.tif 000014
【図１３】
2017098596.tif 000015
【図１４】
2017098596.tif 000016
【図１５】
2017098596.tif 000017
【図１６】
2017098596.tif 000018
【図１７】
2017098596.tif 000019
【図１８】
2017098596.tif 000020
【図１９】
2017098596.tif 000021
【図２０】
2017098596.tif 000022
【図２１】
2017098596.tif 000023
【図２２】
2017098596.tif 000024
【図２３】
2017098596.tif 000025
【図２４】
2017098596.tif 000026
【図２５】
2017098596.tif 000027
【図２６】
2017098596.tif 000028
【図２７】
2017098596.tif 000029
【図２８】
2017098596.tif 000030
【図２９】
2017098596.tif 000031
【図３０】
2017098596.tif 000032
【図３１】
2017098596.tif 000033
【図３２】
2017098596.tif 000034
【図３３】
2017098596.tif 000035
【図３４】
2017098596.tif 000036
【図３５】
2017098596.tif 000037
【図３６】
2017098596.tif 000038
【図３７】
2017098596.tif 000039
【図３８】
2017098596.tif 000040
【図３９】
2017098596.tif 000041
【図４０】
2017098596.tif 000042
【手続補正書】
【提出日】平成29年10月30日(2017.10.30)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信端末である始点端末と前記始点端末によって検出されたアクセスポイントである始点ポイントとの距離を始点距離として含んで、前記始点端末とは別の通信端末である終点端末と前記終点端末によって検出されたアクセスポイントである終点ポイントとの距離を終点距離として含んで、前記始点端末と前記終点端末とを含めた複数の通信端末の互いの距離を端末距離として含んだ距離パケットを受信する受信部と、
受信された距離パケットに含まれる始点距離と終点距離と端末距離と、前記始点ポイントの座標値と、前記終点ポイントの座標値とに基づいて、各通信端末の位置を特定する特定部と
を備える位置特定装置。
【請求項２】
前記受信部は、複数の終点端末それぞれから送信される距離パケットを受信し、
前記特定部は、受信された距離パケットに含まれる始点距離と終点距離と端末距離とを用いて各通信端末と各アクセスポイントとの概算距離を算出し、算出した各概算距離と各アクセスポイントの座標値とを用いて各通信端末の座標値を算出する
請求項１に記載の位置特定装置。
【請求項３】
アクセスポイントの検出を行う検出部と、
検出されたアクセスポイントとの距離を測定する測定部と、
検出されたアクセスポイントとの距離を含んだ距離パケットを送信する送信部と、
周囲に存在する通信端末である隣接端末から送信されて、前記隣接端末とは別の通信端末である始点端末と前記始点端末によって検出されたアクセスポイントとの距離を始点距離として含んで、前記隣接端末と前記始点端末とを含めた複数の通信端末の互いの距離を端末距離として含んだ距離パケットを受信する受信部と、
受信された距離パケットに距離を追加する追加部とを備え、
前記検出部は、前記隣接端末から送信された距離パケットが受信された場合にアクセスポイントの検出を行い、
前記測定部は、前記検出部によってアクセスポイントが検出された場合に、前記検出部によって検出されたアクセスポイントとの距離を終点距離として測定し、前記隣接端末との距離を新たな端末距離として測定し、
前記追加部は、受信された距離パケットに前記終点距離と前記新たな端末距離とを追加し、
前記送信部は、前記終点距離と前記新たな端末距離とが追加された後の距離パケットを、前記検出部によって検出されたアクセスポイントを介して、各通信端末の位置を特定する位置特定装置に送信する
通信端末。
【請求項４】
前記測定部は、前記検出部によってアクセスポイントが検出されなかった場合に前記新たな端末距離を測定し、
前記追加部は、受信された距離パケットに前記新たな端末距離を追加し、
前記送信部は、前記新たな端末距離が追加された後の距離パケットを、周囲に存在する通信端末に送信する
請求項３に記載の通信端末。
【請求項５】
アクセスポイントの検出を行う検出部と、
検出されたアクセスポイントとの距離を測定する測定部と、
検出されたアクセスポイントとの距離を含んだ距離パケットを送信する送信部と、
周囲に存在する通信端末である始点端末から送信されて、前記始点端末と前記始点端末によって検出されたアクセスポイントとの距離を始点距離として含んだ距離パケットを受信する受信部と、
受信された距離パケットに距離を追加する追加部とを備え、
前記検出部は、前記始点端末から送信された距離パケットが受信された場合にアクセスポイントの検出を行い、
前記測定部は、前記検出部によってアクセスポイントが検出された場合に、前記検出部によって検出されたアクセスポイントとの距離を終点距離として測定し、前記始点端末との距離を端末距離として測定し、
前記追加部は、受信された距離パケットに前記終点距離と前記端末距離とを追加し、
前記送信部は、前記終点距離と前記端末距離とが追加された後の距離パケットを、前記検出部によって検出されたアクセスポイントを介して、各通信端末の位置を特定する位置特定装置に送信する
通信端末。
【請求項６】
前記測定部は、前記検出部によってアクセスポイントが検出されなかった場合に前記端末距離を測定し、
前記追加部は、受信された距離パケットに前記端末距離を追加し、
前記送信部は、前記端末距離が追加された後の距離パケットを、周囲に存在する通信端末に送信する
請求項５に記載の通信端末。
【請求項７】
通信端末である始点端末と前記始点端末によって検出されたアクセスポイントである始点ポイントとの距離を始点距離として含んで、前記始点端末とは別の通信端末である終点端末と前記終点端末によって検出されたアクセスポイントである終点ポイントとの距離を終点距離として含んで、前記始点端末と前記終点端末とを含めた複数の通信端末の互いの距離を端末距離として含んだ距離パケットを受信する受信処理と、
受信された距離パケットに含まれる始点距離と終点距離と端末距離と、前記始点ポイントの座標値と、前記終点ポイントの座標値とに基づいて、各通信端末の位置を特定する特定処理と
をコンピュータに実行させるための位置特定プログラム。
【国際調査報告】
2017098596.tif 000043
2017098596.tif 000044
2017098596.tif 000045
2017098596.tif 000046