(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
[処理の概略]
図1は、実施形態における処理の概略の一例を説明するための概念図である。本実施形態における分布情報作成システム10は、サーバ20、複数の第1の端末装置30を備える。
【0010】
それぞれの第1の端末装置30は、スマートフォン、携帯電話機、PDA(Personal Digital Assistant)等であり、位置測定機能を有する。また、それぞれの第1の端末装置30は、通信回線11に接続されているアクセスポイント12を介して通信を行い、サーバ20、他のサーバ、または他の端末装置との間で通信データの送信および受信を行う。
【0011】
第2の端末装置31は、スマートフォン、携帯電話機、PDA等であり、位置測定機能を有していないまたは位置測定機能が作動していない端末装置である。それぞれの第2の端末装置31は、通信回線11に接続されているアクセスポイント12を介して通信を行い、サーバ20、他のサーバ、または他の端末装置との間で通信データの送信および受信を行う。
【0012】
それぞれの第1の端末装置30は、通信を行っていない期間に、他の第1の端末装置30または第2の端末装置31が送信する電波の受信強度(RSSI:Received Signal Strength Indicator)を測定し、それぞれの端末装置を識別する端末IDに対応付けて端末情報として保持する。例えば、第1の端末装置30および第2の端末装置31のそれぞれは、携帯電話、PHS(Personal Handy-phone System)、無線LAN、Bluetooth(登録商標)、Zigbee(登録商標)等のTDD(Time Division Duplex)方式により通信する機能を有する。
【0013】
なお、第1の端末装置30および第2の端末装置31のそれぞれが、FDD(Frequency Division Duplex)方式により通信する端末装置である場合、それぞれの第1の端末装置30に、上り回線の周波数におけるRSSIを測定する機能を設けることで、他の第1の端末装置30または第2の端末装置31が送信する電波のRSSIを測定するようにしてもよい。
【0014】
また、それぞれの第1の端末装置30は、他の第1の端末装置30または第2の端末装置31が送信した電波が示す信号を解析し、送信元の端末装置の識別情報を、端末IDとして抽出する。
【0015】
第1の端末装置30および第2の端末装置31のそれぞれが、例えば無線LANにより通信する場合、それぞれの第1の端末装置30は、例えば、プローブ要求または通信フレームのヘッダに含まれている送信元MACアドレスの情報を、端末IDとして抽出する。また、第1の端末装置30および第2の端末装置31のそれぞれが、例えば携帯電話またはPHSの通信方式により通信する場合、それぞれの第1の端末装置30は、例えば、位置登録の送信パケットに含まれている端末識別情報を、端末IDとして抽出してもよい。
【0016】
また、それぞれの第1の端末装置30は、例えば既知の位置に設置された電波発信源から送信された電波のRSSIに基づいて、当該電波発信源までの距離を算出する。そして、第1の端末装置30は、3つ以上の電波発信源からの距離に基づいて、第1の端末装置30の位置を算出する。本実施形態において、電波発信源は、例えば無線LANのアクセスポイント等である。
【0017】
そして、それぞれの第1の端末装置30は、所定のタイミング毎(例えば1分毎)に、第1の端末装置30の位置を算出し、保持している端末情報を、算出した位置を示す位置情報と共に、アクセスポイント12を介してサーバ20へ送信する。
【0018】
サーバ20は、通信回線11を介して、それぞれの第1の端末装置30から送信された端末情報および位置情報を保持する。そして、サーバ20は、所定のタイミング毎(例えば1分毎)に、各第1の端末装置30の位置情報および端末情報に基づいて、第1の端末装置30および第2の端末装置31の位置の分布を示す情報を作成する。そして、サーバ20は、それぞれの第1の端末装置30または第2の端末装置31から分布情報要求を受信した場合に、第1の端末装置30および第2の端末装置31の位置の分布を示す分布情報40を作成して提供する。
【0019】
分布情報40は、例えば、対象となるエリアを所定の大きさの小領域(セル)に分割し、それぞれのセルの表示パターンを、それぞれのセルに位置する可能性のある端末装置の台数に応じて変えた画像である。第1の端末装置30および第2の端末装置31は、人によって携帯されるため、第1の端末装置30や第2の端末装置31が存在する場所に人も存在する可能性が高い。そのため、第1の端末装置30または第2の端末装置31のユーザは、分布情報40を閲覧することにより、対象となるエリアのどのあたりに多くの人が集まっているかを迅速に認識することができる。
【0020】
[端末装置の構成]
図2は、第1の端末装置30の機能構成の一例を示すブロック図である。第1の端末装置30は、通信部300、位置算出部301、地図情報保持部302、およびデータ処理部303を有する。
【0021】
地図情報保持部302は、対象となるエリアの地図情報と、当該エリアに配置されているそれぞれのアクセスポイント12の位置を示すアクセスポイント表とを保持している。
図3は、地図情報保持部302が保持するアクセスポイント表3020のデータ構造の一例を示す。
【0022】
アクセスポイント表3020には、例えば
図3に示すように、それぞれのアクセスポイント12を識別するアクセスポイントID3021に対応付けて、当該アクセスポイント12の位置情報3022が格納されている。
図3には、「A001」のアクセスポイントID3021に対応付けて、「(x
1,y
1)」の位置情報3022が格納されているアクセスポイント表3020が例示されている。
【0023】
通信部300は、例えば無線LANにより、最寄りのアクセスポイント12と通信を行う。通信部300は、アクセスポイント12から受信した電波のRSSIを測定し、測定したRSSIを、当該アクセスポイント12のアクセスポイントIDに対応付けて位置算出部301へ送る。
【0024】
また、通信部300は、他の第1の端末装置30または第2の端末装置31が送信した電波のRSSIを測定する。また、通信部300は、他の第1の端末装置30または第2の端末装置31が送信した電波が示す信号に基づいて、送信元の端末装置の端末IDを取得する。そして、通信部300は、測定したRSSIを、取得した端末IDに対応付けて位置算出部301へ送る。
【0025】
また、通信部300は、位置算出部301から端末情報を受け取った場合に、受け取った端末情報を、送信元の第1の端末装置30の端末IDと共に、アクセスポイント12を介してサーバ20へ送る。
【0026】
データ処理部303は、通話やWebブラウザ等のアプリケーション機能を実現する。通信部300は、データ処理部303から受け取ったデータを、アクセスポイント12を介して他の機器へ送信する。また、通信部300は、アクセスポイント12を介して他の機器から受信したデータをデータ処理部303へ送る。
【0027】
位置算出部301は、通信部300から第1の端末装置30または第2の端末装置31毎のRSSIと、アクセスポイント12毎のRSSIとを受信する。そして、位置算出部301は、所定のタイミグ毎に、それぞれのアクセスポイント12のRSSIに基づいて、それぞれのアクセスポイント12からの距離を算出する。電波発信源から送信された電波のRSSIと、その発信源までの距離との関係を図示すると、例えば
図4のようになる。
【0028】
例えば、アクセスポイント12aから送信された電波のRSSIが「R
a」であった場合、位置算出部301は、
図4に示した関係に基づいて、第1の端末装置30からアクセスポイント12aまでの距離を「L
a」と算出する。アクセスポイント12bから送信された電波のRSSIが「R
b」であった場合、位置算出部301は、第1の端末装置30からアクセスポイント12bまでの距離を「L
b」と算出する。アクセスポイント12cから送信された電波のRSSIが「R
c」であった場合、位置算出部301は、第1の端末装置30からアクセスポイント12cまでの距離を「L
c」と算出する。
【0029】
そして、位置算出部301は、例えば
図5に示すように、それぞれのアクセスポイント12から、RSSIに対応する距離となる位置41を求め、求めた位置41を、第1の端末装置30の位置情報として算出する。そして、位置算出部301は、通信部300から受信した第1の端末装置30または第2の端末装置31毎のRSSIと、算出した位置情報とを含む端末情報を作成し、作成した端末情報を通信部300へ送る。
【0030】
なお、第2の端末装置31は、第1の端末装置30と同様の構成であるが、位置算出部301および地図情報保持部302を有していない点が第1の端末装置30とは異なる。また、第2の端末装置31の通信部300は、RSSIの測定機能を有していなくてもよい。
【0031】
[サーバの構成]
図6は、サーバ20の機能構成の一例を示すブロック図である。サーバ20は、端末情報保持部21、地図情報保持部22、端末情報取得部23、領域特定部24、分布情報作成部25、および通信部26を備える。
【0032】
端末情報保持部21は、第1の端末表210および第2の端末表211を保持する。
図7は、端末情報保持部21が保持する第1の端末表210のデータ構造の一例を示す。第1の端末表210には、例えば
図7に示すように、レコード2103が格納される。それぞれのレコード2103には、それぞれの第1の端末装置30を識別する端末ID2100と、当該第1の端末装置30の位置情報2101と、当該位置情報2101が第1の端末表210内に格納された時刻を示す更新時刻2102とが含まれる。
図7には、「E001」の端末ID2100に対応付けて、「(x
10,y
10)」の位置情報2101と、「13:57:47」の更新時刻2102が格納されている第1の端末表210が例示されている。
【0033】
図8は、端末情報保持部21が保持する第2の端末表211のデータ構造の一例を示す。第2の端末表211には、例えば
図8に示すように、それぞれの第1の端末装置30を識別する端末ID2110に対応付けて、個別端末表2111が格納される。それぞれの個別端末表2111には、例えば
図8に示すように、レコード2115が格納される。それぞれのレコード2115には、それぞれの第2の端末装置31を識別する端末ID2112と、RSSI2113と、更新時刻2114とが含まれる。
【0034】
RSSI2113は、端末ID2110に対応する第1の端末装置30が、端末ID2112に対応する第2の端末装置31から受信した電波の受信強度を示す。更新時刻2114は、RSSI2113が更新された時刻を示す。
図8には、「E001」の端末ID2110に対応付けられている個別端末表2111には、「E011」の端末ID2112に対応付けて、「−75dBm」のRSSI2113と、「13:56:47」の更新時刻2114とが格納されている第2の端末表211が例示されている。
【0035】
図9は、地図情報保持部22が保持する地
図43の一例を説明するための概念図である。対象となるエリアを示す地
図43は、所定の大きさの小領域であるセル42に分けられており、それぞれのセル42には、それぞれのセル42を識別するセルIDが割り当てられている。
【0036】
図6に戻って説明を続ける。通信部26は、通信回線11を介して端末情報および端末IDを受信した場合に、受信した端末情報および端末IDを端末情報取得部23へ送る。また、通信部26は、通信回線11を介して分布情報要求を受信した場合に、受信した分布情報要求を分布情報作成部25へ送る。そして、通信部26は、分布情報作成部25から分布情報を受信した場合に、受信した分布情報を、通信回線11を介して、分布情報要求の送信元へ送信する。
【0037】
端末情報取得部23は、通信部26から端末情報および端末IDを受け取った場合に、受け取った端末情報に含まれている端末IDの中から、第1の端末装置30の端末IDおよびRSSIの組を削除する。具体的には、端末情報取得部23は、通信部26から受け取った端末情報に含まれている端末IDの中で、端末情報保持部21内の第1の端末表210に含まれている端末IDを特定する。
【0038】
そして、端末情報取得部23は、特定した端末IDおよび当該端末IDに対応付けられているRSSIを、通信部26から受け取った端末情報から削除する。端末情報から第1の端末装置30のRSSIを削除する理由は、第1の端末装置30の位置情報はそれぞれの端末表に格納されており、他の第1の端末装置30からのRSSIの情報を保持しておく必要がないためである。
【0039】
次に、端末情報取得部23は、端末情報と共に受け取った端末IDに基づいて端末情報保持部21内の第1の端末表210を参照し、当該端末IDに対応付けられている位置情報を、端末情報に含まれている位置情報で更新する。そして、端末情報取得部23は、第1の端末表210内において、更新した位置情報に対応付けられている更新時刻を現在の時刻に書き換える。
【0040】
次に、端末情報取得部23は、第2の端末表211を参照して、端末情報と共に受け取った端末IDに対応付けられている個別端末表2111を特定する。そして、端末情報取得部23は、通信部26から受け取った端末情報に含まれている端末IDおよびRSSIを、特定した個別端末表2111に格納する。そして、端末情報取得部23は、特定した個別端末表2111において、格納した端末IDおよびRSSIに対応付けられている更新時刻を現在時刻で更新する。
【0041】
なお、端末情報に含まれている端末IDと同一の端末IDが個別端末表2111に既に格納されている場合、端末情報取得部23は、当該同一の端末IDに対応付けられているRSSIを、端末情報に含まれているRSSIで更新する。そして、端末情報取得部23は、更新したRSSIに対応付けられている更新時刻を現在時刻で更新する。
【0042】
また、端末情報と共に受け取った端末IDに対応付けられている個別端末表2111が第2の端末表211内に存在しない場合、端末情報取得部23は、新たに空の個別端末表2111を作成し、作成した個別端末表2111に、通信部26から受け取った端末情報に含まれている端末IDおよびRSSIを格納し、現在時刻を更新時刻として格納する。
【0043】
領域特定部24は、所定のタイミング毎(例えば1分毎)に端末情報保持部21内の第1の端末表210および第2の端末表211を参照し、それぞれの第1の端末装置30の位置情報を基準として、対象となるエリア内のそれぞれのセルについて、存在する可能性のある端末装置の数をスコアとして算出する。そして、領域特定部24は、それぞれのセルについて算出したスコアを、セルIDに対応付けて分布情報作成部25へ送る。
【0044】
例えば、領域特定部24は、まず、全てのセルのスコアを0に初期化する。そして、領域特定部24は、端末情報保持部21内の第1の端末表210を参照して、それぞれの第1の端末装置30の位置が含まれるセルを特定し、特定したセルのスコアに1を加える。
【0045】
次に、領域特定部24は、端末情報保持部21内の第2の端末表211を参照してそれぞれの第2の端末装置31の端末IDを1つずつ選択し、同一の第2の端末装置31の端末IDが他の個別端末表2111に格納されているか否かを判定する。同一の第2の端末装置31の端末IDが3つ以上の個別端末表2111に格納されている場合、領域特定部24は、それぞれの個別端末表2111に対応付けられている第1の端末装置30の端末IDを第2の端末表211内で特定する。
【0046】
次に、領域特定部24は、特定した第1の端末装置30の端末IDに基づいて第1の端末表210を参照し、それぞれの第1の端末装置30の位置情報を抽出する。そして、領域特定部24は、それぞれの個別端末表2111に格納されているRSSIに基づいて、例えば
図4に示した関係から、それぞれの第1の端末装置30までの距離(例えば、
図10に示すL
a、L
b、およびL
c)を算出する。そして、領域特定部24は、例えば
図10に示すように、それぞれの第1の端末装置30の位置から、算出した距離離れた位置が含まれるセル42を1つ特定し、特定したセル42のスコアに1を加算する。
【0047】
また、同一の第2の端末装置31の端末IDが2つの個別端末表2111に格納されている場合、領域特定部24は、それぞれの個別端末表2111に対応付けられている第1の端末装置30の端末IDを第2の端末表211内で特定する。そして、領域特定部24は、特定した第1の端末装置30の端末IDに基づいて第1の端末表210を参照し、それぞれの第1の端末装置30の位置情報を抽出する。
【0048】
次に、領域特定部24は、それぞれの個別端末表2111に格納されているRSSIに基づいて、例えば
図4に示した関係から、それぞれの第1の端末装置30までの距離(例えば、
図11に示すL
aおよびL
b)を算出する。そして、領域特定部24は、例えば
図11に示すように、それぞれの第1の端末装置30の位置から、算出した距離離れた位置が含まれるセル42aおよびセル42bを特定する。そして、領域特定部24は、特定した2つのセル42aおよびセル42bのスコアに、それぞれ0.5を加算する。
【0049】
また、同一の第2の端末装置31の端末IDが他の個別端末表2111に格納されていない場合、領域特定部24は、当該個別端末表2111に対応付けられている第1の端末装置30の端末IDを第2の端末表211内で特定する。そして、領域特定部24は、特定した第1の端末装置30の端末IDに基づいて第1の端末表210を参照し、第1の端末装置30の位置情報を抽出する。
【0050】
次に、領域特定部24は、個別端末表2111に格納されているRSSIに基づいて、例えば
図4に示した関係から、第1の端末装置30までの距離を算出する。そして、領域特定部24は、例えば
図12に示すように、第1の端末装置30の位置から、算出した距離離れた位置が含まれるセル42を全て特定する。そして、領域特定部24は、特定したセル42の数をカウントし、特定したそれぞれのセル42のスコアに、カウントしたセル42の数の逆数をそれぞれ加算する。
【0051】
図12の例では、領域特定部24は、第1の端末装置30aの位置から、算出した距離L
a離れた位置が含まれるセル42を26個特定する。そして、領域特定部24は、特定したそれぞれのセル42のスコアに、1/26=0.04(ここでは、商の近似値を例示する)を加算する。
【0052】
そして、第2の端末表211内の全ての第2の端末装置31の端末IDについて、セルにスコアを加算した場合、領域特定部24は、例えば
図13に示すように、それぞれのセルを識別するセルID51に対応付けて、当該セルのスコア52を格納するセル表50を分布情報作成部25へ送る。
図13には、「C001」のセルID51に対応付けて、「1.31」のスコア52が格納されているセル表50が例示されている。
【0053】
分布情報作成部25は、領域特定部24からセル表50を受け取って保持する。また、分布情報作成部25は、例えば
図14に示すように、それぞれのスコアの範囲61に対応付けて、当該範囲61内のスコアに対応するセルに割り当てられるパターン62を格納するパターン表60を保持している。パターン表60に格納されている各パターン62は、スコアの範囲61毎に、外見(例えば、色、濃度、彩度、または模様その他)が異なる。
【0054】
分布情報作成部25は、通信部26から分布情報要求を受け取った場合に、セル表50を参照してセル毎のスコアを抽出し、抽出したスコアに対応するパターンをパターン表60から抽出する。そして、分布情報作成部25は、それぞれのセルに、抽出したパターンを割り当てた分布情報を作成し、作成した分布情報を、通信部26へ送る。
【0055】
[サーバの動作]
図15は、サーバ20の動作の一例を示すフローチャートである。
【0056】
まず、端末情報取得部23は、通信部26を介して第2の端末装置31から端末情報および端末IDを受信したか否かを判定する(S100)。端末情報および端末IDを受信した場合(S100:Yes)、端末情報取得部23は、後述する端末情報登録処理を実行し(S200)、再びステップS100に示した処理を実行する。
【0057】
端末情報および端末IDを受信していない場合(S100:No)、領域特定部24は、各セルのスコアを算出するタイミングか否かを判定する(S102)。各セルのスコアを算出するタイミングである場合(S102:Yes)、領域特定部24は、端末情報保持部21内の第1の端末表210および第2の端末表211を参照し、所定時間以上前の更新時刻を検索する。
【0058】
所定時間以上前の更新時刻が第1の端末表210内に見つかった場合、領域特定部24は、当該更新時刻を含むレコード2103を第1の端末表210から削除する(S104)。また、所定時間以上前の更新時刻が第2の端末表211内に見つかった場合、領域特定部24は、当該更新時刻を含むレコード2115を第2の端末表211から削除する(S104)。
【0059】
次に、領域特定部24は、セル表50において、全てのセルのスコアを0に初期化する(S106)。そして、領域特定部24は、端末情報保持部21内の第1の端末表210を参照して、未選択の第1の端末装置30の端末IDを1つ選択する(S108)。そして、領域特定部24は、選択した端末IDに対応付けられている位置情報を第1の端末表210から抽出し、抽出した位置情報が示す位置を含むセルのセルIDに対応付けられてセル表50に格納されているスコアに1を加算する(S110)。
【0060】
次に、領域特定部24は、ステップS108で選択した第1の端末装置30の端末IDに対応付けられている個別端末表2111を第2の端末表211内で特定する。そして、領域特定部24は、特定した個別端末表2111内で、未選択の端末IDを1つ選択する(S112)。そして、領域特定部24は、後述するスコア加算処理を実行する(S300)。
【0061】
次に、領域特定部24は、ステップS108で選択した第1の端末装置30の端末IDに対応付けられている個別端末表2111に格納されている端末IDが全て選択されたか否かを判定する(S114)。個別端末表2111内に未選択の端末IDがある場合(S114:No)、領域特定部24は、再びステップS112に示した処理を実行する。
【0062】
個別端末表2111内に格納されている端末IDが全て選択された場合(S114:Yes)、領域特定部24は、第1の端末表210に格納されている端末IDが全て選択されたか否かを判定する(S116)。第1の端末表210内に未選択の端末IDがある場合(S116:No)、領域特定部24は、再びステップS108に示した処理を実行する。第1の端末表210内に格納されている端末IDが全て選択された場合(S116:Yes)、領域特定部24は、セル表50を分布情報作成部25へ送り、端末情報取得部23は、再びステップS100に示した処理を実行する。
【0063】
各セルのスコアを算出するタイミングではない場合(S102:No)、分布情報作成部25は、通信部26を介して、分布情報要求を受信したか否かを判定する(S118)。分布情報要求を受信していない場合(S118:No)、端末情報取得部23は、再びステップS100に示した処理を実行する。
【0064】
分布情報要求を受信した場合(S118:Yes)、分布情報作成部25は、セル表50を参照してセル毎のスコアを抽出し、抽出したスコアに対応するパターンをパターン表60から抽出する。そして、分布情報作成部25は、それぞれのセルに、抽出したパターンを割り当てた分布情報を作成する(S120)。そして、分布情報作成部25は、作成した分布情報を、通信部26を介して、分布情報要求の送信元へ送信し(S122)、端末情報取得部23は、再びステップS100に示した処理を実行する。
【0065】
[端末情報登録処理]
図16は、端末情報登録処理(S200)の一例を示すフローチャートである。
【0066】
まず、端末情報取得部23は、通信部26を介して第2の端末装置31から受け取った端末情報に含まれている端末IDの中から、第1の端末装置30の端末IDおよびRSSIを削除する(S202)。そして、端末情報取得部23は、端末情報と共に受け取った端末IDに基づいて端末情報保持部21内の第1の端末表210を参照し、当該端末IDに対応付けられている位置情報を、端末情報に含まれている位置情報で更新する(S204)。そして、端末情報取得部23は、第1の端末表210内において、更新した位置情報に対応付けられている更新時刻を現在の時刻に書き換える。
【0067】
次に、端末情報取得部23は、第2の端末表211を参照して、端末情報と共に受け取った端末IDに対応付けられている個別端末表2111が存在するか否かを判定する(S206)。当該個別端末表2111が第2の端末表211内に存在する場合(S206:Yes)、端末情報取得部23は、通信部26から受け取った端末情報に含まれている端末IDおよびRSSIを当該個別端末表2111に登録する(S208)。そして、端末情報取得部23は、当該個別端末表2111において、登録した端末IDおよびRSSIに対応付けられている更新時刻に現在時刻を登録し、本フローチャートに示した処理を終了する。
【0068】
一方、端末情報と共に受け取った端末IDに対応付けられている個別端末表2111が第2の端末表211内に存在しない場合(S206:No)、端末情報取得部23は、当該端末IDに対応付けて、新たに空の個別端末表2111を第2の端末表211内に作成する(S210)。そして、端末情報取得部23は、作成した個別端末表2111に、端末情報に含まれている端末IDおよびRSSIを登録する(S212)。そして、端末情報取得部23は、当該個別端末表2111において、登録した端末IDおよびRSSIに対応付けて、現在時刻を更新時刻として登録し、本フローチャートに示した処理を終了する。
【0069】
[スコア加算処理]
図17は、スコア加算処理(S300)の一例を示すフローチャートである。
【0070】
まず、領域特定部24は、ステップS112において選択した端末IDが、他の個別端末表にも登録されているか否かを判定する(S302)。ステップS112において選択した端末IDが、他の個別端末表にも登録されている場合(S302:Yes)、領域特定部24は、ステップS112において選択した端末IDが、3つ以上の個別端末表に登録されているか否かを判定する(S304)。
【0071】
ステップS112において選択した端末IDが、3つ以上の個別端末表に登録されている場合(S304:Yes)、領域特定部24は、それぞれの個別端末表に登録されているRSSIを、当該個別端末表に対応する第1の端末装置30毎に抽出する。そして、領域特定部24は、例えば
図10で説明したように、それぞれの第1の端末装置30の位置から、対応するRSSIに応じた距離にあるセルを特定する(S306)。そして、領域特定部24は、セル表50において、特定したセルのセルIDに対応付けられているスコアに1を加算し(S308)、領域特定部24は、本フローチャートに示した処理を終了する。
【0072】
ステップS112において選択した端末IDが、3つ未満の個別端末表に登録されている場合(S304:Yes)、すなわち、ステップS112において選択した端末IDが2つの個別端末表に登録されている場合、領域特定部24は、それぞれの個別端末表に登録されているRSSIを、当該個別端末表に対応する第1の端末装置30毎に抽出する。
【0073】
そして、領域特定部24は、例えば
図11で説明したように、それぞれの第1の端末装置30の位置から、対応するRSSIに応じた距離にあるセルを2つ特定する(S310)。そして、領域特定部24は、セル表50において、特定したそれぞれのセルのセルIDに対応付けられているスコアに0.5をそれぞれ加算し(S312)、領域特定部24は、本フローチャートに示した処理を終了する。
【0074】
ステップS112において選択した端末IDが、他のいずれの個別端末表にも登録されていない場合(S302:No)、領域特定部24は、ステップS112において選択した端末IDに対応付けられているRSSIを個別端末表から抽出する。そして、領域特定部24は、例えば
図12で説明したように、第1の端末装置30の位置から、対応するRSSIに応じた距離にあるセルを複数特定する(S314)。
【0075】
次に、領域特定部24は、特定したセルの数をカウントする(S316)。そして、領域特定部24は、カウントしたセルの数の逆数を、セル表50において、特定した各セルのセルIDに対応付けられているスコアにそれぞれ加算し(S318)、領域特定部24は、本フローチャートに示した処理を終了する。
【0076】
[サーバのハードウェア構成]
図18は、サーバ20の機能を実現するコンピュータ70の一例を示すハードウェア構成図である。コンピュータ70は、CPU(Central Processing Unit)71、RAM(Random Access Memory)72、ROM(Read Only Memory)73、HDD(Hard Disk Drive)74、通信インターフェイス(I/F)75、入出力インターフェイス(I/F)76、およびメディアインターフェイス(I/F)77を備える。
【0077】
CPU71は、ROM73またはHDD74に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM73は、コンピュータ70の起動時にCPU71によって実行されるブートプログラムや、コンピュータ70のハードウェアに依存するプログラム等を格納する。
【0078】
HDD74は、CPU71によって実行されるプログラムおよび当該プログラムによって使用されるデータ等を格納する。通信インターフェイス75は、通信回線11を介して他の機器からデータを受信してCPU71へ送り、CPU71が生成したデータを、通信回線11を介して他の機器へ送信する。
【0079】
CPU71は、入出力インターフェイス76を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU71は、入出力インターフェイス76を介して、入力装置からデータを取得する。また、CPU71は、生成したデータを、入出力インターフェイス76を介して出力装置へ出力する。
【0080】
メディアインターフェイス77は、記録媒体78に格納されたプログラムまたはデータを読み取り、RAM72を介してCPU71に提供する。CPU71は、当該プログラムを、メディアインターフェイス77を介して記録媒体78からRAM72上にロードし、ロードしたプログラムを実行する。記録媒体78は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0081】
コンピュータ70のCPU71は、RAM72上にロードされたプログラムを実行することにより、端末情報保持部21、地図情報保持部22、端末情報取得部23、領域特定部24、分布情報作成部25、および通信部26の各機能を実現する。また、ROM73またはHDD74には、端末情報保持部21および地図情報保持部22内のデータが格納される。
【0082】
コンピュータ70のCPU71は、これらのプログラムを、記録媒体78から読み取って実行するが、他の例として、他の装置から、通信回線11を介してこれらのプログラムを取得してもよい。また、端末情報保持部21または地図情報保持部22内のデータは、サーバ20とは別の他のサーバ内に格納され、サーバ20は、これらのデータを当該別のサーバから取得するようにしてもよい。
【0083】
以上、実施形態について説明した。上記説明から明らかなように、本実施形態の分布情報作成システム10によれば、エリア内の人の分布を示す情報を作成する際の設備コストや機器設置の作業負荷を軽減することができる。
【0084】
[その他の形態]
なお、上記した実施形態において、領域特定部24は、2つの第1の端末装置30間の距離が予め定められた距離(例えば0.5m)未満である場合、当該2つの第1の端末装置30から送信された端末情報は、1つの第1の端末装置30から送信された端末情報として取り扱うようにしてもよい。これにより、サーバ20は、第2の端末装置31の位置をより精度よく特定することができる。
【0085】
この場合、領域特定部24は、いずれかの第1の端末装置30の位置、または、2つの第1の端末装置30の位置の中間地点を、2つの第1の端末装置30の位置を代表する位置として採用するようにしてもよい。また、それぞれの第1の端末装置30から送信された端末情報に含まれる第2の端末装置31のRSSIが異なる場合、高い方の値を採用するようにしてもよい。これにより、サーバ20は、受信感度のよい第1の端末装置30の情報を用いることができる。
【0086】
また、それぞれの第1の端末装置30から送信された端末情報に含まれる第2の端末装置31が異なる(すなわち、一方の端末情報に含まれている第2の端末装置31の情報が、他方の端末情報に含まれていない)場合、それぞれの端末情報に含まれている第2の端末装置31の情報をマージするようにしてもよい。これにより、サーバ20は、第2の端末装置31の存在をより精度よく検出することができる可能性が高まる。
【0087】
また、2つの第1の端末装置30間の距離が予め定められた距離(例えば0.5m)未満であり、かつ、それぞれの第1の端末装置30から送信された端末情報に含まれる同一の第2の端末装置31のRSSIが異なる場合、領域特定部24は、これらのRSSIの差分を算出する。そして、領域特定部24は、低いRSSIを報告した第1の端末装置30から今後報告されるRSSIについては、算出した差分を加える補正を行うようにしてもよい。これにより、サーバ20は、受信感度の違いを補正することができ、第2の端末装置31から第1の端末装置30までの距離をより精度よく算出することができる。
【0088】
それぞれの第1の端末装置30が、アクセスポイント12からの電波に基づいて第1の端末装置30の位置を算出する処理は、サーバ20によって行われてもよい。この場合、位置算出部301および地図情報保持部302に相当する構成は、サーバ20内に設けられる。第1の端末装置30は、アクセスポイント12から受信した電波のRSSIを測定し、測定したRSSIを、当該アクセスポイント12のアクセスポイントIDに対応付けてサーバ20へ送信する。サーバ20は、第1の端末装置30から送信されたRSSIおよびアクセスポイントIDの組から、第1の端末装置30の位置を算出する。
【0089】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。