(57)【特許請求の範囲】
【請求項１】
端末装置の位置の分布を示す情報を作成するサーバであって、
複数の第１の端末装置のそれぞれから、当該第１の端末装置の周辺に存在する第２の端末装置毎の、当該第２の端末装置から送信された電波を前記第１の端末装置が受信した場合の受信強度と、当該第１の端末装置の位置情報とを含む端末情報を取得する取得部と、
２つの前記第１の端末装置の位置が、予め定められた距離未満であって、これらの第１の端末装置から取得した前記第２の端末装置毎の前記受信強度が異なる場合に、弱い値を報告している前記第１の端末装置からの受信強度を、強い値を報告している前記第１の端末装置からの受信強度で補正し、それぞれの前記第１の端末装置の位置から、前記受信強度に応じた距離に前記第２の端末装置が配置される領域を特定する特定部と、
前記特定部によって特定された領域に基づいて、前記第１および第２の端末装置の位置の分布を示す情報を作成する作成部と、
を備えるサーバ。 
【請求項２】
前記特定部は、
前記第１および第２の端末装置の位置の分布を示す対象となる領域を、複数の小領域に分割し、
２つ以上の第１の端末から取得した端末情報の中に、同一の第２の端末装置からの受信強度が含まれていない場合は、前記第２の端末装置毎に、前記第１の端末装置の位置から、前記受信強度に応じた距離にある前記小領域の数をカウントし、
カウントされたそれぞれの前記小領域に対応付けられているスコアに、カウントした前記小領域の数に応じた値を加算し、
前記作成部は、
前記小領域毎に、当該小領域に対応付けられている前記スコアに応じた表示パターンを割り当てることにより、前記第１および第２の端末装置の位置の分布を示す情報を作成する請求項１に記載のサーバ。 
【請求項３】
前記特定部は、
カウントした前記小領域の数の逆数を、カウントされたそれぞれの前記小領域に対応付けられているスコアに加算する請求項２に記載のサーバ。 
【請求項４】
前記特定部は、
前記第１および第２の端末装置の位置の分布を示す対象となる領域を、複数の小領域に分割し、
２つの前記第１の端末装置から取得した前記端末情報の中に、同一の前記第２の端末装置からの前記受信強度が含まれている場合は、当該同一の第２の端末装置については、前記２つの第１の端末装置のそれぞれの位置から、それぞれの前記受信強度に応じた距離にある前記小領域を２つ特定し、特定したそれぞれの前記小領域に対応付けられているスコアに、所定の値を２で除算した値を加算し、
前記作成部は、
前記小領域毎に、当該小領域に対応付けられている前記スコアに応じた表示パターンを割り当てることにより、前記第１および第２の端末装置の位置の分布を示す情報を作成する請求項１〜３のいずれか１つに記載のサーバ。
【請求項５】
前記特定部は、
前記第１および第２の端末装置の位置の分布を示す対象となる領域を、複数の小領域に分割し、
３つの前記第１の端末装置から取得した前記端末情報の中に、同一の前記第２の端末装置からの前記受信強度が含まれている場合は、当該同一の第２の端末装置については、前記３つの第１の端末装置のそれぞれの位置から、それぞれの前記受信強度に応じた距離にある前記小領域を１つ特定し、特定した前記小領域に対応付けられているスコアに、所定の値を加算し、
前記作成部は、
前記小領域毎に、当該小領域に対応付けられている前記スコアに応じた表示パターンを割り当てることにより、前記第１および第２の端末装置の位置の分布を示す情報を作成する請求項１〜４のいずれか１つに記載のサーバ。
【請求項６】
前記表示パターンは、
前記スコアに応じた色、濃度、彩度、または模様である請求項２〜５のいずれか１つに記載のサーバ。 
【請求項７】
端末装置の位置の分布を示す情報を作成するサーバにおける分布情報作成方法であって、
前記サーバが、
複数の第１の端末装置のそれぞれから、当該第１の端末装置の周辺に存在する第２の端末装置毎の、当該第２の端末装置から送信された電波を前記第１の端末装置が受信した場合の受信強度と、当該第１の端末装置の位置情報とを含む端末情報を取得する工程と、
２つの前記第１の端末装置の位置が、予め定められた距離未満であって、これらの第１の端末装置から取得した前記第２の端末装置毎の前記受信強度が異なる場合に、弱い値を報告している前記第１の端末装置からの受信強度を、強い値を報告している前記第１の端末装置からの受信強度で補正し、それぞれの前記第１の端末装置の位置から、前記受信強度に応じた距離に前記第２の端末装置が配置される領域を特定する工程と、
特定した領域に基づいて、前記第１および第２の端末装置の位置の分布を示す情報を作成する工程と
を実行する分布情報作成方法。 
【請求項８】
コンピュータを、端末装置の位置の分布を示す情報を作成するサーバとして機能させるプログラムであって、
複数の第１の端末装置のそれぞれから、当該第１の端末装置の周辺に存在する第２の端末装置毎の、当該第２の端末装置から送信された電波を前記第１の端末装置が受信した場合の受信強度と、当該第１の端末装置の位置情報とを含む端末情報を取得する手順と、
２つの前記第１の端末装置の位置が、予め定められた距離未満であって、これらの第１の端末装置から取得した前記第２の端末装置毎の前記受信強度が異なる場合に、弱い値を報告している前記第１の端末装置からの受信強度を、強い値を報告している前記第１の端末装置からの受信強度で補正し、それぞれの前記第１の端末装置の位置から、前記受信強度に応じた距離に前記第２の端末装置が配置される領域を特定する手順と、
特定した領域に基づいて、前記第１および第２の端末装置の位置の分布を示す情報を作成する手順と
を前記コンピュータに実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、分布情報作成方法、およびプログラムに関する。
【背景技術】
【０００２】
下記の特許文献１には、展覧会等の会場内に予め複数の中継器が配置され、参加者が携帯する無線センサから送信された電波の強度を各中継器が測定する旨が開示されている。分析装置は、各中継器の位置が対応付けられている会場内の地図情報を有しており、無線センサから受信した電波の強度を各中継器から収集する。そして、分析装置は、各中継器が受信した電波の強度に応じた距離の地点に無線センサの位置を特定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−４４３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記した文献の技術は、複数の中継器を予め会場内に配置しておく必要がある。そのため、設備コストや機器設置の作業負荷が大きい。従って、仮設店舗や一時的に設けられた施設では、上記した文献の技術を用いることは難しい。
【０００５】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、エリア内の人の分布を示す情報を作成する際の設備コストや機器設置の作業負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための実施形態に係るサーバは、端末装置の位置の分布を示す情報を作成するサーバであって、複数の第１の端末装置のそれぞれから、当該第１の端末装置の周辺に存在する第２の端末装置毎の、当該第２の端末装置から送信された電波を当該第１の端末装置が受信した場合の受信強度と、当該第１の端末装置の位置情報とを含む端末情報を取得する取得部と、２つの前記第１の端末装置の位置が、予め定められた距離未満であって、これらの第１の端末装置から取得した第２の端末装置毎の受信強度が異なる場合に、弱い値を報告している第１の端末装置からの受信強度を、強い値を報告している第１の端末装置からの受信強度で補正し、それぞれの前記第１の端末装置の位置から、前記受信強度に応じた距離に前記第２の端末装置が配置される領域を特定する特定部と、前記特定部によって特定された領域に基づいて、前記第１および第２の端末装置の位置の分布を示す情報を作成する作成部とを備える。
【発明の効果】
【０００７】
本実施形態のサーバによれば、エリア内の人の分布を示す情報を作成する際の設備コストや機器設置の作業負荷を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態における処理の概略の一例を説明するための概念図である。
【図２】図２は、第１の端末装置の機能構成の一例を示すブロック図である。
【図３】図３は、地図情報保持部が保持するアクセスポイント表のデータ構造の一例を示す図である。
【図４】図４は、ＲＳＳＩと距離の関係を示す概念図である。
【図５】図５は、位置測定の原理を説明するための概念図である。
【図６】図６は、サーバの機能構成の一例を示すブロック図である。
【図７】図７は、端末情報保持部が保持する第１の端末表のデータ構造の一例を示す図である。
【図８】図８は、端末情報保持部が保持する第２の端末表のデータ構造の一例を示す図である。
【図９】図９は、地図情報保持部が保持する地図の一例を説明するための概念図である。
【図１０】図１０は、セルのスコアの算出方法の一例を説明するための概念図である。
【図１１】図１１は、セルのスコアの算出方法の一例を説明するための概念図である。
【図１２】図１２は、セルのスコアの算出方法の一例を説明するための概念図である。
【図１３】図１３は、セル表のデータ構造の一例を示す図である。
【図１４】図１４は、パターン表のデータ構造の一例を示す図である。
【図１５】図１５は、サーバの動作の一例を示すフローチャートである。
【図１６】図１６は、端末情報登録処理（Ｓ２００）の一例を示すフローチャートである。
【図１７】図１７は、スコア加算処理（Ｓ３００）の一例を示すフローチャートである。
【図１８】図１８は、サーバの機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
［処理の概略］
図１は、実施形態における処理の概略の一例を説明するための概念図である。本実施形態における分布情報作成システム１０は、サーバ２０、複数の第１の端末装置３０を備える。
【００１０】
それぞれの第１の端末装置３０は、スマートフォン、携帯電話機、ＰＤＡ（Personal Digital Assistant）等であり、位置測定機能を有する。また、それぞれの第１の端末装置３０は、通信回線１１に接続されているアクセスポイント１２を介して通信を行い、サーバ２０、他のサーバ、または他の端末装置との間で通信データの送信および受信を行う。
【００１１】
第２の端末装置３１は、スマートフォン、携帯電話機、ＰＤＡ等であり、位置測定機能を有していないまたは位置測定機能が作動していない端末装置である。それぞれの第２の端末装置３１は、通信回線１１に接続されているアクセスポイント１２を介して通信を行い、サーバ２０、他のサーバ、または他の端末装置との間で通信データの送信および受信を行う。
【００１２】
それぞれの第１の端末装置３０は、通信を行っていない期間に、他の第１の端末装置３０または第２の端末装置３１が送信する電波の受信強度（ＲＳＳＩ：Received Signal Strength Indicator）を測定し、それぞれの端末装置を識別する端末ＩＤに対応付けて端末情報として保持する。例えば、第１の端末装置３０および第２の端末装置３１のそれぞれは、携帯電話、ＰＨＳ（Personal Handy-phone System）、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）等のＴＤＤ（Time Division Duplex）方式により通信する機能を有する。
【００１３】
なお、第１の端末装置３０および第２の端末装置３１のそれぞれが、ＦＤＤ（Frequency Division Duplex）方式により通信する端末装置である場合、それぞれの第１の端末装置３０に、上り回線の周波数におけるＲＳＳＩを測定する機能を設けることで、他の第１の端末装置３０または第２の端末装置３１が送信する電波のＲＳＳＩを測定するようにしてもよい。
【００１４】
また、それぞれの第１の端末装置３０は、他の第１の端末装置３０または第２の端末装置３１が送信した電波が示す信号を解析し、送信元の端末装置の識別情報を、端末ＩＤとして抽出する。
【００１５】
第１の端末装置３０および第２の端末装置３１のそれぞれが、例えば無線ＬＡＮにより通信する場合、それぞれの第１の端末装置３０は、例えば、プローブ要求または通信フレームのヘッダに含まれている送信元ＭＡＣアドレスの情報を、端末ＩＤとして抽出する。また、第１の端末装置３０および第２の端末装置３１のそれぞれが、例えば携帯電話またはＰＨＳの通信方式により通信する場合、それぞれの第１の端末装置３０は、例えば、位置登録の送信パケットに含まれている端末識別情報を、端末ＩＤとして抽出してもよい。
【００１６】
また、それぞれの第１の端末装置３０は、例えば既知の位置に設置された電波発信源から送信された電波のＲＳＳＩに基づいて、当該電波発信源までの距離を算出する。そして、第１の端末装置３０は、３つ以上の電波発信源からの距離に基づいて、第１の端末装置３０の位置を算出する。本実施形態において、電波発信源は、例えば無線ＬＡＮのアクセスポイント等である。
【００１７】
そして、それぞれの第１の端末装置３０は、所定のタイミング毎（例えば１分毎）に、第１の端末装置３０の位置を算出し、保持している端末情報を、算出した位置を示す位置情報と共に、アクセスポイント１２を介してサーバ２０へ送信する。
【００１８】
サーバ２０は、通信回線１１を介して、それぞれの第１の端末装置３０から送信された端末情報および位置情報を保持する。そして、サーバ２０は、所定のタイミング毎（例えば１分毎）に、各第１の端末装置３０の位置情報および端末情報に基づいて、第１の端末装置３０および第２の端末装置３１の位置の分布を示す情報を作成する。そして、サーバ２０は、それぞれの第１の端末装置３０または第２の端末装置３１から分布情報要求を受信した場合に、第１の端末装置３０および第２の端末装置３１の位置の分布を示す分布情報４０を作成して提供する。
【００１９】
分布情報４０は、例えば、対象となるエリアを所定の大きさの小領域（セル）に分割し、それぞれのセルの表示パターンを、それぞれのセルに位置する可能性のある端末装置の台数に応じて変えた画像である。第１の端末装置３０および第２の端末装置３１は、人によって携帯されるため、第１の端末装置３０や第２の端末装置３１が存在する場所に人も存在する可能性が高い。そのため、第１の端末装置３０または第２の端末装置３１のユーザは、分布情報４０を閲覧することにより、対象となるエリアのどのあたりに多くの人が集まっているかを迅速に認識することができる。
【００２０】
［端末装置の構成］
図２は、第１の端末装置３０の機能構成の一例を示すブロック図である。第１の端末装置３０は、通信部３００、位置算出部３０１、地図情報保持部３０２、およびデータ処理部３０３を有する。
【００２１】
地図情報保持部３０２は、対象となるエリアの地図情報と、当該エリアに配置されているそれぞれのアクセスポイント１２の位置を示すアクセスポイント表とを保持している。図３は、地図情報保持部３０２が保持するアクセスポイント表３０２０のデータ構造の一例を示す。
【００２２】
アクセスポイント表３０２０には、例えば図３に示すように、それぞれのアクセスポイント１２を識別するアクセスポイントＩＤ３０２１に対応付けて、当該アクセスポイント１２の位置情報３０２２が格納されている。図３には、「Ａ００１」のアクセスポイントＩＤ３０２１に対応付けて、「（ｘ1，ｙ1）」の位置情報３０２２が格納されているアクセスポイント表３０２０が例示されている。
【００２３】
通信部３００は、例えば無線ＬＡＮにより、最寄りのアクセスポイント１２と通信を行う。通信部３００は、アクセスポイント１２から受信した電波のＲＳＳＩを測定し、測定したＲＳＳＩを、当該アクセスポイント１２のアクセスポイントＩＤに対応付けて位置算出部３０１へ送る。
【００２４】
また、通信部３００は、他の第１の端末装置３０または第２の端末装置３１が送信した電波のＲＳＳＩを測定する。また、通信部３００は、他の第１の端末装置３０または第２の端末装置３１が送信した電波が示す信号に基づいて、送信元の端末装置の端末ＩＤを取得する。そして、通信部３００は、測定したＲＳＳＩを、取得した端末ＩＤに対応付けて位置算出部３０１へ送る。
【００２５】
また、通信部３００は、位置算出部３０１から端末情報を受け取った場合に、受け取った端末情報を、送信元の第１の端末装置３０の端末ＩＤと共に、アクセスポイント１２を介してサーバ２０へ送る。
【００２６】
データ処理部３０３は、通話やＷｅｂブラウザ等のアプリケーション機能を実現する。通信部３００は、データ処理部３０３から受け取ったデータを、アクセスポイント１２を介して他の機器へ送信する。また、通信部３００は、アクセスポイント１２を介して他の機器から受信したデータをデータ処理部３０３へ送る。
【００２７】
位置算出部３０１は、通信部３００から第１の端末装置３０または第２の端末装置３１毎のＲＳＳＩと、アクセスポイント１２毎のＲＳＳＩとを受信する。そして、位置算出部３０１は、所定のタイミグ毎に、それぞれのアクセスポイント１２のＲＳＳＩに基づいて、それぞれのアクセスポイント１２からの距離を算出する。電波発信源から送信された電波のＲＳＳＩと、その発信源までの距離との関係を図示すると、例えば図４のようになる。
【００２８】
例えば、アクセスポイント１２ａから送信された電波のＲＳＳＩが「Ｒａ」であった場合、位置算出部３０１は、図４に示した関係に基づいて、第１の端末装置３０からアクセスポイント１２ａまでの距離を「Ｌａ」と算出する。アクセスポイント１２ｂから送信された電波のＲＳＳＩが「Ｒｂ」であった場合、位置算出部３０１は、第１の端末装置３０からアクセスポイント１２ｂまでの距離を「Ｌｂ」と算出する。アクセスポイント１２ｃから送信された電波のＲＳＳＩが「Ｒｃ」であった場合、位置算出部３０１は、第１の端末装置３０からアクセスポイント１２ｃまでの距離を「Ｌｃ」と算出する。
【００２９】
そして、位置算出部３０１は、例えば図５に示すように、それぞれのアクセスポイント１２から、ＲＳＳＩに対応する距離となる位置４１を求め、求めた位置４１を、第１の端末装置３０の位置情報として算出する。そして、位置算出部３０１は、通信部３００から受信した第１の端末装置３０または第２の端末装置３１毎のＲＳＳＩと、算出した位置情報とを含む端末情報を作成し、作成した端末情報を通信部３００へ送る。
【００３０】
なお、第２の端末装置３１は、第１の端末装置３０と同様の構成であるが、位置算出部３０１および地図情報保持部３０２を有していない点が第１の端末装置３０とは異なる。また、第２の端末装置３１の通信部３００は、ＲＳＳＩの測定機能を有していなくてもよい。
【００３１】
［サーバの構成］
図６は、サーバ２０の機能構成の一例を示すブロック図である。サーバ２０は、端末情報保持部２１、地図情報保持部２２、端末情報取得部２３、領域特定部２４、分布情報作成部２５、および通信部２６を備える。
【００３２】
端末情報保持部２１は、第１の端末表２１０および第２の端末表２１１を保持する。図７は、端末情報保持部２１が保持する第１の端末表２１０のデータ構造の一例を示す。第１の端末表２１０には、例えば図７に示すように、レコード２１０３が格納される。それぞれのレコード２１０３には、それぞれの第１の端末装置３０を識別する端末ＩＤ２１００と、当該第１の端末装置３０の位置情報２１０１と、当該位置情報２１０１が第１の端末表２１０内に格納された時刻を示す更新時刻２１０２とが含まれる。図７には、「Ｅ００１」の端末ＩＤ２１００に対応付けて、「（ｘ10，ｙ10）」の位置情報２１０１と、「１３：５７：４７」の更新時刻２１０２が格納されている第１の端末表２１０が例示されている。
【００３３】
図８は、端末情報保持部２１が保持する第２の端末表２１１のデータ構造の一例を示す。第２の端末表２１１には、例えば図８に示すように、それぞれの第１の端末装置３０を識別する端末ＩＤ２１１０に対応付けて、個別端末表２１１１が格納される。それぞれの個別端末表２１１１には、例えば図８に示すように、レコード２１１５が格納される。それぞれのレコード２１１５には、それぞれの第２の端末装置３１を識別する端末ＩＤ２１１２と、ＲＳＳＩ２１１３と、更新時刻２１１４とが含まれる。
【００３４】
ＲＳＳＩ２１１３は、端末ＩＤ２１１０に対応する第１の端末装置３０が、端末ＩＤ２１１２に対応する第２の端末装置３１から受信した電波の受信強度を示す。更新時刻２１１４は、ＲＳＳＩ２１１３が更新された時刻を示す。図８には、「Ｅ００１」の端末ＩＤ２１１０に対応付けられている個別端末表２１１１には、「Ｅ０１１」の端末ＩＤ２１１２に対応付けて、「−７５ｄＢｍ」のＲＳＳＩ２１１３と、「１３：５６：４７」の更新時刻２１１４とが格納されている第２の端末表２１１が例示されている。
【００３５】
図９は、地図情報保持部２２が保持する地図４３の一例を説明するための概念図である。対象となるエリアを示す地図４３は、所定の大きさの小領域であるセル４２に分けられており、それぞれのセル４２には、それぞれのセル４２を識別するセルＩＤが割り当てられている。
【００３６】
図６に戻って説明を続ける。通信部２６は、通信回線１１を介して端末情報および端末ＩＤを受信した場合に、受信した端末情報および端末ＩＤを端末情報取得部２３へ送る。また、通信部２６は、通信回線１１を介して分布情報要求を受信した場合に、受信した分布情報要求を分布情報作成部２５へ送る。そして、通信部２６は、分布情報作成部２５から分布情報を受信した場合に、受信した分布情報を、通信回線１１を介して、分布情報要求の送信元へ送信する。
【００３７】
端末情報取得部２３は、通信部２６から端末情報および端末ＩＤを受け取った場合に、受け取った端末情報に含まれている端末ＩＤの中から、第１の端末装置３０の端末ＩＤおよびＲＳＳＩの組を削除する。具体的には、端末情報取得部２３は、通信部２６から受け取った端末情報に含まれている端末ＩＤの中で、端末情報保持部２１内の第１の端末表２１０に含まれている端末ＩＤを特定する。
【００３８】
そして、端末情報取得部２３は、特定した端末ＩＤおよび当該端末ＩＤに対応付けられているＲＳＳＩを、通信部２６から受け取った端末情報から削除する。端末情報から第１の端末装置３０のＲＳＳＩを削除する理由は、第１の端末装置３０の位置情報はそれぞれの端末表に格納されており、他の第１の端末装置３０からのＲＳＳＩの情報を保持しておく必要がないためである。
【００３９】
次に、端末情報取得部２３は、端末情報と共に受け取った端末ＩＤに基づいて端末情報保持部２１内の第１の端末表２１０を参照し、当該端末ＩＤに対応付けられている位置情報を、端末情報に含まれている位置情報で更新する。そして、端末情報取得部２３は、第１の端末表２１０内において、更新した位置情報に対応付けられている更新時刻を現在の時刻に書き換える。
【００４０】
次に、端末情報取得部２３は、第２の端末表２１１を参照して、端末情報と共に受け取った端末ＩＤに対応付けられている個別端末表２１１１を特定する。そして、端末情報取得部２３は、通信部２６から受け取った端末情報に含まれている端末ＩＤおよびＲＳＳＩを、特定した個別端末表２１１１に格納する。そして、端末情報取得部２３は、特定した個別端末表２１１１において、格納した端末ＩＤおよびＲＳＳＩに対応付けられている更新時刻を現在時刻で更新する。
【００４１】
なお、端末情報に含まれている端末ＩＤと同一の端末ＩＤが個別端末表２１１１に既に格納されている場合、端末情報取得部２３は、当該同一の端末ＩＤに対応付けられているＲＳＳＩを、端末情報に含まれているＲＳＳＩで更新する。そして、端末情報取得部２３は、更新したＲＳＳＩに対応付けられている更新時刻を現在時刻で更新する。
【００４２】
また、端末情報と共に受け取った端末ＩＤに対応付けられている個別端末表２１１１が第２の端末表２１１内に存在しない場合、端末情報取得部２３は、新たに空の個別端末表２１１１を作成し、作成した個別端末表２１１１に、通信部２６から受け取った端末情報に含まれている端末ＩＤおよびＲＳＳＩを格納し、現在時刻を更新時刻として格納する。
【００４３】
領域特定部２４は、所定のタイミング毎（例えば１分毎）に端末情報保持部２１内の第１の端末表２１０および第２の端末表２１１を参照し、それぞれの第１の端末装置３０の位置情報を基準として、対象となるエリア内のそれぞれのセルについて、存在する可能性のある端末装置の数をスコアとして算出する。そして、領域特定部２４は、それぞれのセルについて算出したスコアを、セルＩＤに対応付けて分布情報作成部２５へ送る。
【００４４】
例えば、領域特定部２４は、まず、全てのセルのスコアを０に初期化する。そして、領域特定部２４は、端末情報保持部２１内の第１の端末表２１０を参照して、それぞれの第１の端末装置３０の位置が含まれるセルを特定し、特定したセルのスコアに１を加える。
【００４５】
次に、領域特定部２４は、端末情報保持部２１内の第２の端末表２１１を参照してそれぞれの第２の端末装置３１の端末ＩＤを１つずつ選択し、同一の第２の端末装置３１の端末ＩＤが他の個別端末表２１１１に格納されているか否かを判定する。同一の第２の端末装置３１の端末ＩＤが３つ以上の個別端末表２１１１に格納されている場合、領域特定部２４は、それぞれの個別端末表２１１１に対応付けられている第１の端末装置３０の端末ＩＤを第２の端末表２１１内で特定する。
【００４６】
次に、領域特定部２４は、特定した第１の端末装置３０の端末ＩＤに基づいて第１の端末表２１０を参照し、それぞれの第１の端末装置３０の位置情報を抽出する。そして、領域特定部２４は、それぞれの個別端末表２１１１に格納されているＲＳＳＩに基づいて、例えば図４に示した関係から、それぞれの第１の端末装置３０までの距離（例えば、図１０に示すＬａ、Ｌｂ、およびＬｃ）を算出する。そして、領域特定部２４は、例えば図１０に示すように、それぞれの第１の端末装置３０の位置から、算出した距離離れた位置が含まれるセル４２を１つ特定し、特定したセル４２のスコアに１を加算する。
【００４７】
また、同一の第２の端末装置３１の端末ＩＤが２つの個別端末表２１１１に格納されている場合、領域特定部２４は、それぞれの個別端末表２１１１に対応付けられている第１の端末装置３０の端末ＩＤを第２の端末表２１１内で特定する。そして、領域特定部２４は、特定した第１の端末装置３０の端末ＩＤに基づいて第１の端末表２１０を参照し、それぞれの第１の端末装置３０の位置情報を抽出する。
【００４８】
次に、領域特定部２４は、それぞれの個別端末表２１１１に格納されているＲＳＳＩに基づいて、例えば図４に示した関係から、それぞれの第１の端末装置３０までの距離（例えば、図１１に示すＬａおよびＬｂ）を算出する。そして、領域特定部２４は、例えば図１１に示すように、それぞれの第１の端末装置３０の位置から、算出した距離離れた位置が含まれるセル４２ａおよびセル４２ｂを特定する。そして、領域特定部２４は、特定した２つのセル４２ａおよびセル４２ｂのスコアに、それぞれ０．５を加算する。
【００４９】
また、同一の第２の端末装置３１の端末ＩＤが他の個別端末表２１１１に格納されていない場合、領域特定部２４は、当該個別端末表２１１１に対応付けられている第１の端末装置３０の端末ＩＤを第２の端末表２１１内で特定する。そして、領域特定部２４は、特定した第１の端末装置３０の端末ＩＤに基づいて第１の端末表２１０を参照し、第１の端末装置３０の位置情報を抽出する。
【００５０】
次に、領域特定部２４は、個別端末表２１１１に格納されているＲＳＳＩに基づいて、例えば図４に示した関係から、第１の端末装置３０までの距離を算出する。そして、領域特定部２４は、例えば図１２に示すように、第１の端末装置３０の位置から、算出した距離離れた位置が含まれるセル４２を全て特定する。そして、領域特定部２４は、特定したセル４２の数をカウントし、特定したそれぞれのセル４２のスコアに、カウントしたセル４２の数の逆数をそれぞれ加算する。
【００５１】
図１２の例では、領域特定部２４は、第１の端末装置３０ａの位置から、算出した距離Ｌａ離れた位置が含まれるセル４２を２６個特定する。そして、領域特定部２４は、特定したそれぞれのセル４２のスコアに、１／２６＝０．０４（ここでは、商の近似値を例示する）を加算する。
【００５２】
そして、第２の端末表２１１内の全ての第２の端末装置３１の端末ＩＤについて、セルにスコアを加算した場合、領域特定部２４は、例えば図１３に示すように、それぞれのセルを識別するセルＩＤ５１に対応付けて、当該セルのスコア５２を格納するセル表５０を分布情報作成部２５へ送る。図１３には、「Ｃ００１」のセルＩＤ５１に対応付けて、「１．３１」のスコア５２が格納されているセル表５０が例示されている。
【００５３】
分布情報作成部２５は、領域特定部２４からセル表５０を受け取って保持する。また、分布情報作成部２５は、例えば図１４に示すように、それぞれのスコアの範囲６１に対応付けて、当該範囲６１内のスコアに対応するセルに割り当てられるパターン６２を格納するパターン表６０を保持している。パターン表６０に格納されている各パターン６２は、スコアの範囲６１毎に、外見（例えば、色、濃度、彩度、または模様その他）が異なる。
【００５４】
分布情報作成部２５は、通信部２６から分布情報要求を受け取った場合に、セル表５０を参照してセル毎のスコアを抽出し、抽出したスコアに対応するパターンをパターン表６０から抽出する。そして、分布情報作成部２５は、それぞれのセルに、抽出したパターンを割り当てた分布情報を作成し、作成した分布情報を、通信部２６へ送る。
【００５５】
［サーバの動作］
図１５は、サーバ２０の動作の一例を示すフローチャートである。
【００５６】
まず、端末情報取得部２３は、通信部２６を介して第２の端末装置３１から端末情報および端末ＩＤを受信したか否かを判定する（Ｓ１００）。端末情報および端末ＩＤを受信した場合（Ｓ１００：Ｙｅｓ）、端末情報取得部２３は、後述する端末情報登録処理を実行し（Ｓ２００）、再びステップＳ１００に示した処理を実行する。
【００５７】
端末情報および端末ＩＤを受信していない場合（Ｓ１００：Ｎｏ）、領域特定部２４は、各セルのスコアを算出するタイミングか否かを判定する（Ｓ１０２）。各セルのスコアを算出するタイミングである場合（Ｓ１０２：Ｙｅｓ）、領域特定部２４は、端末情報保持部２１内の第１の端末表２１０および第２の端末表２１１を参照し、所定時間以上前の更新時刻を検索する。
【００５８】
所定時間以上前の更新時刻が第１の端末表２１０内に見つかった場合、領域特定部２４は、当該更新時刻を含むレコード２１０３を第１の端末表２１０から削除する（Ｓ１０４）。また、所定時間以上前の更新時刻が第２の端末表２１１内に見つかった場合、領域特定部２４は、当該更新時刻を含むレコード２１１５を第２の端末表２１１から削除する（Ｓ１０４）。
【００５９】
次に、領域特定部２４は、セル表５０において、全てのセルのスコアを０に初期化する（Ｓ１０６）。そして、領域特定部２４は、端末情報保持部２１内の第１の端末表２１０を参照して、未選択の第１の端末装置３０の端末ＩＤを１つ選択する（Ｓ１０８）。そして、領域特定部２４は、選択した端末ＩＤに対応付けられている位置情報を第１の端末表２１０から抽出し、抽出した位置情報が示す位置を含むセルのセルＩＤに対応付けられてセル表５０に格納されているスコアに１を加算する（Ｓ１１０）。
【００６０】
次に、領域特定部２４は、ステップＳ１０８で選択した第１の端末装置３０の端末ＩＤに対応付けられている個別端末表２１１１を第２の端末表２１１内で特定する。そして、領域特定部２４は、特定した個別端末表２１１１内で、未選択の端末ＩＤを１つ選択する（Ｓ１１２）。そして、領域特定部２４は、後述するスコア加算処理を実行する（Ｓ３００）。
【００６１】
次に、領域特定部２４は、ステップＳ１０８で選択した第１の端末装置３０の端末ＩＤに対応付けられている個別端末表２１１１に格納されている端末ＩＤが全て選択されたか否かを判定する（Ｓ１１４）。個別端末表２１１１内に未選択の端末ＩＤがある場合（Ｓ１１４：Ｎｏ）、領域特定部２４は、再びステップＳ１１２に示した処理を実行する。
【００６２】
個別端末表２１１１内に格納されている端末ＩＤが全て選択された場合（Ｓ１１４：Ｙｅｓ）、領域特定部２４は、第１の端末表２１０に格納されている端末ＩＤが全て選択されたか否かを判定する（Ｓ１１６）。第１の端末表２１０内に未選択の端末ＩＤがある場合（Ｓ１１６：Ｎｏ）、領域特定部２４は、再びステップＳ１０８に示した処理を実行する。第１の端末表２１０内に格納されている端末ＩＤが全て選択された場合（Ｓ１１６：Ｙｅｓ）、領域特定部２４は、セル表５０を分布情報作成部２５へ送り、端末情報取得部２３は、再びステップＳ１００に示した処理を実行する。
【００６３】
各セルのスコアを算出するタイミングではない場合（Ｓ１０２：Ｎｏ）、分布情報作成部２５は、通信部２６を介して、分布情報要求を受信したか否かを判定する（Ｓ１１８）。分布情報要求を受信していない場合（Ｓ１１８：Ｎｏ）、端末情報取得部２３は、再びステップＳ１００に示した処理を実行する。
【００６４】
分布情報要求を受信した場合（Ｓ１１８：Ｙｅｓ）、分布情報作成部２５は、セル表５０を参照してセル毎のスコアを抽出し、抽出したスコアに対応するパターンをパターン表６０から抽出する。そして、分布情報作成部２５は、それぞれのセルに、抽出したパターンを割り当てた分布情報を作成する（Ｓ１２０）。そして、分布情報作成部２５は、作成した分布情報を、通信部２６を介して、分布情報要求の送信元へ送信し（Ｓ１２２）、端末情報取得部２３は、再びステップＳ１００に示した処理を実行する。
【００６５】
［端末情報登録処理］
図１６は、端末情報登録処理（Ｓ２００）の一例を示すフローチャートである。
【００６６】
まず、端末情報取得部２３は、通信部２６を介して第２の端末装置３１から受け取った端末情報に含まれている端末ＩＤの中から、第１の端末装置３０の端末ＩＤおよびＲＳＳＩを削除する（Ｓ２０２）。そして、端末情報取得部２３は、端末情報と共に受け取った端末ＩＤに基づいて端末情報保持部２１内の第１の端末表２１０を参照し、当該端末ＩＤに対応付けられている位置情報を、端末情報に含まれている位置情報で更新する（Ｓ２０４）。そして、端末情報取得部２３は、第１の端末表２１０内において、更新した位置情報に対応付けられている更新時刻を現在の時刻に書き換える。
【００６７】
次に、端末情報取得部２３は、第２の端末表２１１を参照して、端末情報と共に受け取った端末ＩＤに対応付けられている個別端末表２１１１が存在するか否かを判定する（Ｓ２０６）。当該個別端末表２１１１が第２の端末表２１１内に存在する場合（Ｓ２０６：Ｙｅｓ）、端末情報取得部２３は、通信部２６から受け取った端末情報に含まれている端末ＩＤおよびＲＳＳＩを当該個別端末表２１１１に登録する（Ｓ２０８）。そして、端末情報取得部２３は、当該個別端末表２１１１において、登録した端末ＩＤおよびＲＳＳＩに対応付けられている更新時刻に現在時刻を登録し、本フローチャートに示した処理を終了する。
【００６８】
一方、端末情報と共に受け取った端末ＩＤに対応付けられている個別端末表２１１１が第２の端末表２１１内に存在しない場合（Ｓ２０６：Ｎｏ）、端末情報取得部２３は、当該端末ＩＤに対応付けて、新たに空の個別端末表２１１１を第２の端末表２１１内に作成する（Ｓ２１０）。そして、端末情報取得部２３は、作成した個別端末表２１１１に、端末情報に含まれている端末ＩＤおよびＲＳＳＩを登録する（Ｓ２１２）。そして、端末情報取得部２３は、当該個別端末表２１１１において、登録した端末ＩＤおよびＲＳＳＩに対応付けて、現在時刻を更新時刻として登録し、本フローチャートに示した処理を終了する。
【００６９】
［スコア加算処理］
図１７は、スコア加算処理（Ｓ３００）の一例を示すフローチャートである。
【００７０】
まず、領域特定部２４は、ステップＳ１１２において選択した端末ＩＤが、他の個別端末表にも登録されているか否かを判定する（Ｓ３０２）。ステップＳ１１２において選択した端末ＩＤが、他の個別端末表にも登録されている場合（Ｓ３０２：Ｙｅｓ）、領域特定部２４は、ステップＳ１１２において選択した端末ＩＤが、３つ以上の個別端末表に登録されているか否かを判定する（Ｓ３０４）。
【００７１】
ステップＳ１１２において選択した端末ＩＤが、３つ以上の個別端末表に登録されている場合（Ｓ３０４：Ｙｅｓ）、領域特定部２４は、それぞれの個別端末表に登録されているＲＳＳＩを、当該個別端末表に対応する第１の端末装置３０毎に抽出する。そして、領域特定部２４は、例えば図１０で説明したように、それぞれの第１の端末装置３０の位置から、対応するＲＳＳＩに応じた距離にあるセルを特定する（Ｓ３０６）。そして、領域特定部２４は、セル表５０において、特定したセルのセルＩＤに対応付けられているスコアに１を加算し（Ｓ３０８）、領域特定部２４は、本フローチャートに示した処理を終了する。
【００７２】
ステップＳ１１２において選択した端末ＩＤが、３つ未満の個別端末表に登録されている場合（Ｓ３０４：Ｙｅｓ）、すなわち、ステップＳ１１２において選択した端末ＩＤが２つの個別端末表に登録されている場合、領域特定部２４は、それぞれの個別端末表に登録されているＲＳＳＩを、当該個別端末表に対応する第１の端末装置３０毎に抽出する。
【００７３】
そして、領域特定部２４は、例えば図１１で説明したように、それぞれの第１の端末装置３０の位置から、対応するＲＳＳＩに応じた距離にあるセルを２つ特定する（Ｓ３１０）。そして、領域特定部２４は、セル表５０において、特定したそれぞれのセルのセルＩＤに対応付けられているスコアに０．５をそれぞれ加算し（Ｓ３１２）、領域特定部２４は、本フローチャートに示した処理を終了する。
【００７４】
ステップＳ１１２において選択した端末ＩＤが、他のいずれの個別端末表にも登録されていない場合（Ｓ３０２：Ｎｏ）、領域特定部２４は、ステップＳ１１２において選択した端末ＩＤに対応付けられているＲＳＳＩを個別端末表から抽出する。そして、領域特定部２４は、例えば図１２で説明したように、第１の端末装置３０の位置から、対応するＲＳＳＩに応じた距離にあるセルを複数特定する（Ｓ３１４）。
【００７５】
次に、領域特定部２４は、特定したセルの数をカウントする（Ｓ３１６）。そして、領域特定部２４は、カウントしたセルの数の逆数を、セル表５０において、特定した各セルのセルＩＤに対応付けられているスコアにそれぞれ加算し（Ｓ３１８）、領域特定部２４は、本フローチャートに示した処理を終了する。
【００７６】
［サーバのハードウェア構成］
図１８は、サーバ２０の機能を実現するコンピュータ７０の一例を示すハードウェア構成図である。コンピュータ７０は、ＣＰＵ（Central Processing Unit）７１、ＲＡＭ（Random Access Memory）７２、ＲＯＭ（Read Only Memory）７３、ＨＤＤ（Hard Disk Drive）７４、通信インターフェイス（Ｉ／Ｆ）７５、入出力インターフェイス（Ｉ／Ｆ）７６、およびメディアインターフェイス（Ｉ／Ｆ）７７を備える。
【００７７】
ＣＰＵ７１は、ＲＯＭ７３またはＨＤＤ７４に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ７３は、コンピュータ７０の起動時にＣＰＵ７１によって実行されるブートプログラムや、コンピュータ７０のハードウェアに依存するプログラム等を格納する。
【００７８】
ＨＤＤ７４は、ＣＰＵ７１によって実行されるプログラムおよび当該プログラムによって使用されるデータ等を格納する。通信インターフェイス７５は、通信回線１１を介して他の機器からデータを受信してＣＰＵ７１へ送り、ＣＰＵ７１が生成したデータを、通信回線１１を介して他の機器へ送信する。
【００７９】
ＣＰＵ７１は、入出力インターフェイス７６を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。ＣＰＵ７１は、入出力インターフェイス７６を介して、入力装置からデータを取得する。また、ＣＰＵ７１は、生成したデータを、入出力インターフェイス７６を介して出力装置へ出力する。
【００８０】
メディアインターフェイス７７は、記録媒体７８に格納されたプログラムまたはデータを読み取り、ＲＡＭ７２を介してＣＰＵ７１に提供する。ＣＰＵ７１は、当該プログラムを、メディアインターフェイス７７を介して記録媒体７８からＲＡＭ７２上にロードし、ロードしたプログラムを実行する。記録媒体７８は、例えばＤＶＤ（Digital Versatile Disc）、ＰＤ（Phase change rewritable Disk）等の光学記録媒体、ＭＯ（Magneto-Optical disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【００８１】
コンピュータ７０のＣＰＵ７１は、ＲＡＭ７２上にロードされたプログラムを実行することにより、端末情報保持部２１、地図情報保持部２２、端末情報取得部２３、領域特定部２４、分布情報作成部２５、および通信部２６の各機能を実現する。また、ＲＯＭ７３またはＨＤＤ７４には、端末情報保持部２１および地図情報保持部２２内のデータが格納される。
【００８２】
コンピュータ７０のＣＰＵ７１は、これらのプログラムを、記録媒体７８から読み取って実行するが、他の例として、他の装置から、通信回線１１を介してこれらのプログラムを取得してもよい。また、端末情報保持部２１または地図情報保持部２２内のデータは、サーバ２０とは別の他のサーバ内に格納され、サーバ２０は、これらのデータを当該別のサーバから取得するようにしてもよい。
【００８３】
以上、実施形態について説明した。上記説明から明らかなように、本実施形態の分布情報作成システム１０によれば、エリア内の人の分布を示す情報を作成する際の設備コストや機器設置の作業負荷を軽減することができる。
【００８４】
［その他の形態］
なお、上記した実施形態において、領域特定部２４は、２つの第１の端末装置３０間の距離が予め定められた距離（例えば０．５ｍ）未満である場合、当該２つの第１の端末装置３０から送信された端末情報は、１つの第１の端末装置３０から送信された端末情報として取り扱うようにしてもよい。これにより、サーバ２０は、第２の端末装置３１の位置をより精度よく特定することができる。
【００８５】
この場合、領域特定部２４は、いずれかの第１の端末装置３０の位置、または、２つの第１の端末装置３０の位置の中間地点を、２つの第１の端末装置３０の位置を代表する位置として採用するようにしてもよい。また、それぞれの第１の端末装置３０から送信された端末情報に含まれる第２の端末装置３１のＲＳＳＩが異なる場合、高い方の値を採用するようにしてもよい。これにより、サーバ２０は、受信感度のよい第１の端末装置３０の情報を用いることができる。
【００８６】
また、それぞれの第１の端末装置３０から送信された端末情報に含まれる第２の端末装置３１が異なる（すなわち、一方の端末情報に含まれている第２の端末装置３１の情報が、他方の端末情報に含まれていない）場合、それぞれの端末情報に含まれている第２の端末装置３１の情報をマージするようにしてもよい。これにより、サーバ２０は、第２の端末装置３１の存在をより精度よく検出することができる可能性が高まる。
【００８７】
また、２つの第１の端末装置３０間の距離が予め定められた距離（例えば０．５ｍ）未満であり、かつ、それぞれの第１の端末装置３０から送信された端末情報に含まれる同一の第２の端末装置３１のＲＳＳＩが異なる場合、領域特定部２４は、これらのＲＳＳＩの差分を算出する。そして、領域特定部２４は、低いＲＳＳＩを報告した第１の端末装置３０から今後報告されるＲＳＳＩについては、算出した差分を加える補正を行うようにしてもよい。これにより、サーバ２０は、受信感度の違いを補正することができ、第２の端末装置３１から第１の端末装置３０までの距離をより精度よく算出することができる。
【００８８】
それぞれの第１の端末装置３０が、アクセスポイント１２からの電波に基づいて第１の端末装置３０の位置を算出する処理は、サーバ２０によって行われてもよい。この場合、位置算出部３０１および地図情報保持部３０２に相当する構成は、サーバ２０内に設けられる。第１の端末装置３０は、アクセスポイント１２から受信した電波のＲＳＳＩを測定し、測定したＲＳＳＩを、当該アクセスポイント１２のアクセスポイントＩＤに対応付けてサーバ２０へ送信する。サーバ２０は、第１の端末装置３０から送信されたＲＳＳＩおよびアクセスポイントＩＤの組から、第１の端末装置３０の位置を算出する。
【００８９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００９０】
１０  分布情報作成システム
１１  通信回線
１２  アクセスポイント
２０  サーバ
２１  端末情報保持部
２１０  第１の端末表
２１１  第２の端末表
２２  地図情報保持部
２３  端末情報取得部
２４  領域特定部
２５  分布情報作成部
２６  通信部
３０  第１の端末装置
３００  通信部
３０１  位置算出部
３０２  地図情報保持部
３０３  データ処理部
３１  第２の端末装置
５０  セル表
６０  パターン表
【図１】
0005775124.tif 000002
【図２】
0005775124.tif 000003
【図３】
0005775124.tif 000004
【図４】
0005775124.tif 000005
【図５】
0005775124.tif 000006
【図６】
0005775124.tif 000007
【図７】
0005775124.tif 000008
【図８】
0005775124.tif 000009
【図９】
0005775124.tif 000010
【図１０】
0005775124.tif 000011
【図１１】
0005775124.tif 000012
【図１２】
0005775124.tif 000013
【図１３】
0005775124.tif 000014
【図１４】
0005775124.tif 000015
【図１５】
0005775124.tif 000016
【図１６】
0005775124.tif 000017
【図１７】
0005775124.tif 000018
【図１８】
0005775124.tif 000019