以下、実施形態を図面に基づいて説明する。なお、同一の機能や構成には、同一または類似の符号を付して、その説明を適宜省略する。
(1)デバイス位置管理システムの全体概略構成
図1は、本実施形態に係るデバイス位置管理システム10を含む通信ネットワークの全体概略構成図である。図1に示すように、デバイス位置管理システム10は、デバイス位置管理サーバ100及び携帯デバイス200によって構成される。なお、デバイス位置管理システム10には、実際には、多数の携帯デバイス200が含まれる。
デバイス位置管理サーバ100は、通信ネットワーク20に接続される。通信ネットワーク20は、典型的には、IP(Internet Protocol)をサポートする有線ネットワーク(一部が無線であってもよい)であり、インターネットを含んでもよい。つまり、デバイス位置管理サーバ100には、インターネット経由でアクセス可能である。
また、通信ネットワーク20には、無線LANサービスを提供する複数のアクセスポイント(以下、適宜APと省略する)が接続される。具体的には、図1では、アクセスポイント31(以下、AP31)〜アクセスポイント38(以下、AP38)が通信ネットワーク20に接続されている。
AP31〜AP38は、IEEE802.11などで規定される無線LAN規格に準拠している。AP31〜AP38は、所定の割当周波数帯(2.4GHz, 5GHz)において無線信号を送受信する。AP31〜AP38が準拠する無線LAN規格は、Wi-Fi(登録商標)と呼ばれてもよい。
AP31〜AP38によって提供される無線LANサービスは、公衆無線LANサービスでもよいし、特定ユーザに専用のプライベートなサービスでもよい。また、当該サービスは、有料でも無料でも構わない。
本実施形態では、AP31は、店舗71(本実施形態では、コンビニエンスストア)に設置され、AP36は、店舗72(コンビニエンスストア)に設置されている。AP38は、ユーザ50の自宅80に設置されている。
なお、AP31〜AP38と併記されている#1〜#8は、当該APを識別する識別子(BSSID, MACアドレスなど)を意味する。また、AP31〜AP38が送信する無線信号(電波)の到達範囲(距離)は、周波数帯、設置場所の建物の構造、及び設定送信電力などによって異なり得る。
携帯デバイス200は、無線LAN(所定の無線通信方式)に従った無線通信モジュールを備える。つまり、携帯デバイス200は、AP31〜AP38から送信される無線信号を受信することができる。具体的には、携帯デバイス200は、AP31〜AP38から送信される無線信号の受信し、当該APの識別子を取得できる。さらに、携帯デバイス200は、受信した無線信号の電界強度(受信電力値)も測定できてもよい。
一方、携帯デバイス200が、当該APを経由して双方向の無線通信を実行できるか否かは、上述したように、当該APの提供形態(有料・無料の別など)などによる。本実施形態では、携帯デバイス200は、AP31(#1), AP36(#6)及びAP38(#8)にはアクセス可能なものとする(図1において斜線で表示)。
また、本実施形態では、携帯デバイス200は、ユーザ50(小学生以下の子供を想定)によって所持される通信デバイス(いわゆる子供向けの見守りデバイス)とする。携帯デバイス200は、GPSなどの測位機能は有しておらず、メモリ容量も最小限である機能及び性能が限定された通信デバイスである。
本実施形態では、ユーザ50は、道路Rに沿って学校60〜自宅80を日々往復することを想定する。
デバイス位置管理サーバ100は、携帯デバイス200に対して上述した無線LANのAP31〜AP38の識別子を含むAP情報を提供する。
(2)デバイス位置管理システムの機能ブロック構成
次に、デバイス位置管理システム10の機能ブロック構成について説明する。具体的には、デバイス位置管理サーバ100及び携帯デバイス200の機能ブロック構成について説明する。
(2.1)デバイス位置管理サーバ100
図2は、デバイス位置管理サーバ100の機能ブロック構成図である。図2に示すように、デバイス位置管理サーバ100は、ネットワークインタフェース部110、AP選択部120、AP情報送信部130、AP情報格納部140、受信AP情報取得部150及び位置推定部160を備える。
図2に示すように、デバイス位置管理サーバ100の各機能ブロックは、プロセッサ(CPU)、機能モジュール(入出力、周辺機器接続など)、ディスク及び電源を含むハードウェア要素によって構成されるサーバコンピュータ上において、ソフトウェアを実行させることによって実現される。なお、具体的なハードウェア構成については後述する。
ネットワークインタフェース部110は、通信ネットワーク20(図1参照)と接続するためのインタフェースを提供する。ネットワークインタフェース部110は、典型的には、Ethernet(登録商標)などの有線LANに対応し、TCP/IPなどのプロトコルをサポートするネットワークインタフェースカードなどによって構成される。
AP選択部120は、携帯デバイス200に提供されるAP情報を選択する。具体的には、AP選択部120は、携帯デバイス200が接続したアクセスポイントである接続アクセスポイント(例えば、AP31)を経由して送信されたAP情報の提供要求に基づいて、AP情報を選択する。つまり、接続アクセスポイントとは、携帯デバイス200のアクセスが許可されているアクセスポイントとの何れかとなる。
より具体的には、AP選択部120は、提供要求に含まれる接続アクセスポイントの識別子(BSSID, MACアドレスなど)に基づいて、当該接続アクセスポイントの緯度経度を取得する。
さらに、AP選択部120は、隣接する2つの接続アクセスポイント間の距離を取得してもよい。これにより、携帯デバイス200のアクセスが許可されているアクセスポイントがどの程度離れているかを認識できるため、携帯デバイス200に提供すべきAP情報の地理的範囲を決定し得る。
AP選択部120は、当該接続アクセスポイントから所定範囲内に位置するアクセスポイントを選択する。具体的には、AP選択部120は、当該接続アクセスポイントから所定の地理的な範囲内に位置するアクセスポイントを選択できる。地理的な範囲とは、単純には、当該接続アクセスポイントからの直線距離が所定範囲内であることを意味するが、後述するように、携帯デバイス200の移動履歴、移動方向、または地理的な特徴(都道府県及び郵便番号などによる区分、或いは駅前などの特有の地理的条件)が加味されてもよい。
例えば、接続アクセスポイントがAP31である場合、AP31から所定の距離範囲内に位置するAP32, 33, 34, 35を選択する。このようにAP選択部120によって選択されたAPの集合(AP31〜35)を選択AP情報という。選択AP情報は、一つまたは複数のAPについての情報で構成される。
また、AP選択部120は、携帯デバイス200が許容するAP情報のサイズに基づいて、選択AP情報に含まれるAP情報の数を決定できる。上述したように、携帯デバイス200のメモリ容量は最小限であり、携帯デバイス200が保持(記憶)可能なAP情報のサイズには制約がある。
携帯デバイス200が許容するAP情報のサイズは、デフォルトで規定されていてもよい。例えば、携帯デバイス200の機種に応じて、デフォルトのサイズが規定される。或いは、AP選択部120は、当該サイズを携帯デバイス200から直接通信ネットワーク20を経由して取得してもよいし、他の情報提供サーバ(不図示)に問い合わせることによって、当該サイズを取得してもよい。
AP選択部120は、携帯デバイス200から接続アクセスポイントを経由して受信したAP情報の提供要求に応じて選択AP情報を生成する。
また、AP選択部120は、携帯デバイス200が過去に無線信号を受信したアクセスポイントの情報に基づいて、選択AP情報に含まれるアクセスポイントを選択できる。つまり、AP選択部120は、携帯デバイス200の過去のアクセスポイントへの接続記録を学習し、当該学習の結果を選択AP情報に反映できる。
具体的には、AP選択部120は、携帯デバイス200の過去のアクセスポイントへの接続記録に基づいて、アクセス可能なアクセスポイント間(例えば、AP31〜AP36間)の距離を算出し、選択AP情報に含めるAPの数及び位置を決定する。また、当該接続記録は、時間帯または曜日などを含んでもよい。これにより、AP選択部120は、例えば、過去1週間に接続したアクセスポイントの情報(AP情報)を選択AP情報に含めることができる。
また、AP選択部120は、選択AP情報に含まれるAP情報に対して優先度(抽出優先度)を付与することができる。具体的には、最も単純な優先度としては、接続アクセスポイントからの距離が近いアクセスポイント程、選択される優先度を高くすることである。
さらに、距離基準の優先度を付与する場合、所定のエリア内、外で異なる優先度としてもよい。
また、AP選択部120は、携帯デバイス200が過去に無線信号を受信したタイミングを含む複数のアクセスポイントの情報に基づいて、携帯デバイス200の移動方向を推定することができる。つまり、AP選択部120は、複数のアクセスポイントからの無線信号を携帯デバイス200が受信した時刻と、当該アクセスポイントの識別子とを用いて、携帯デバイス200の移動方向(進行方向)を推定する。
例えば、携帯デバイス200が学校60から自宅80に向かって移動した場合、携帯デバイス200は、AP31, 32, 33…の順に当該APからの無線信号を受信し、当該無線信号を受信したタイミング(時刻)を記録する。AP選択部120は、このような情報(受信AP情報)に基づいて携帯デバイス200の移動方向を推定する。
AP選択部120は、移動方向前方に位置するアクセスポイントを選択AP情報に含める。
さらに、AP選択部120は、携帯デバイス200が過去に無線信号を受信したタイミングを含む複数のアクセスポイントの情報に基づいて、携帯デバイス200の移動手段を推定することもできる。つまり、AP選択部120は、上述したような携帯デバイス200によって提供された受信AP情報に基づいて、移動手段(例えば、徒歩、車または電車)を推定する。
具体的には、AP選択部120は、受信AP情報に含まれるアクセスポイントの位置、及び当該アクセスポイントからの無線信号の受信タイミングに基づいて、携帯デバイス200の移動ルート及び移動速度を推定し、当該移動ルート及び移動速度と対応付けられている移動手段を選択する。より具体的には、電車ルート及び道路の地図情報(緯度経度など)と、移動速度との関係が対応付けられており、AP選択部120は、このような対応付けに基づいて移動手段を選択できる。
AP選択部120は、このように推定した移動手段と対応付けられているアクセスポイントを選択し、選択したアクセスポイントを選択AP情報に含める。
AP情報送信部130は、AP選択部120によって選択されたアクセスポイントのAP情報である選択AP情報を携帯デバイス200に送信する。
具体的には、AP情報送信部130は、アクセスポイントの識別子を含む一つまた複数のAP情報を携帯デバイス200に送信する。なお、選択AP情報は、携帯デバイス200がアクセスポイントを経由してデバイス位置管理サーバ100にアクセスしている期間に、AP情報送信部130が送信してもよいし、携帯デバイス200によるダウンロード要求にAP情報送信部130が応じて送信するようにしてもよい。
また、AP情報には、アクセスポイントの識別子だけでなく、当該アクセスポイントの緯度経度を含んでもよい。さらに、当該アクセスポイントで用いられるセキュリティ鍵(WPA2-PSKなど)を含んでもよい。
AP情報格納部140は、通信ネットワーク20に接続されている全てまたは一部のアクセスポイントの情報(AP情報)を格納する。本実施形態では、AP情報格納部140は、AP31〜38のAP情報を格納する。AP情報は、APの識別子、緯度経度、設置場所の詳細(店舗名、ビル名、地上・地下の別など)、セキュリティ鍵などによって構成される。
受信AP情報取得部150は、携帯デバイス200が無線信号を受信したアクセスポイントの情報によって構成される受信AP情報を取得する。具体的には、受信AP情報とは、AP情報送信部130によって送信された選択AP情報に含まれるアクセスポイントのうち、携帯デバイス200が無線信号を受信した、つまり、受信できたアクセスポイントの識別子、及び当該アクセスポイントからの無線信号を受信したタイミング(時刻)を含む。
また、受信AP情報には、当該アクセスポイントからの無線信号の電界強度(受信電力)の情報が含まれていてもよい。
受信AP情報取得部150は、携帯デバイス200がアクセス可能なアクセスポイントに接続されている期間に、携帯デバイス200に対して要求することによって、当該アクセスポイント経由で受信AP情報を取得できる。或いは、受信AP情報取得部150は、当該期間に、携帯デバイス200から自律的に送信された受信AP情報を取得してもよい。
位置推定部160は、受信AP情報取得部150によって取得された受信AP情報に基づいて、携帯デバイス200の位置を推定する。具体的には、位置推定部160は、受信AP情報に含まれるアクセスポイントの緯度経度に基づいて、携帯デバイス200の概略位置を推定する。
上述したように、位置推定部160は、無線信号の電界強度を用いることによって、さらに精度よく携帯デバイス200の位置を推定してもよい。
位置推定部160によって推定された携帯デバイス200の位置情報は、受信タイミング(時刻)の情報と合わせて記録され、ウェブサーバなどの外部エンティティに提供し得る。ユーザ50の関係者(保護者など)は、当該ウェブサーバなどにアクセスすることによって、携帯デバイス200の位置及び移動ルートを認識し得る。
(2.2)携帯デバイス200
図3は、携帯デバイス200の機能ブロック構成図である。図2に示すように、携帯デバイス200は、無線通信部210、AP情報受信部220、AP情報保持部230及び受信AP記録部240を備える。
図3に示すように、携帯デバイス200の各機能ブロックは、無線通信モジュール、プロセッサ(CPU)、機能モジュール(外部IF接続、加速度センサなど)、ディスプレイ及びバッテリを含むハードウェア要素によって構成される。なお、具体的なハードウェア構成については後述する。
無線通信部210は、無線通信モジュールによって実現され、無線LAN方式に従った無線通信を実行する。具体的には、無線通信部210は、AP31〜38と無線信号を送受信する。無線通信部210は、採用されている無線LAN方式が対応している場合、全てのAPからの無線信号を受信できる。一方、無線通信部210は、全てのAPに対して無線信号を送信できるが、アクセスが許可されていないAPについては、認証が成功せずに無線通信を続行できない。
AP情報受信部220は、デバイス位置管理サーバ100によって送信された選択AP情報を受信する。具体的には、AP情報受信部220は、携帯デバイス200が接続したアクセスポイントである接続アクセスポイントを経由して選択AP情報を受信する。
AP情報保持部230は、受信した選択AP情報を保持する。上述したように、携帯デバイス200のメモリ容量は最小限であるため、AP情報保持部230が保持できるAP情報のサイズ(数)は限られている(例えば、5つのAP分)。
このため、AP情報保持部230は、AP情報受信部220が新たに選択AP情報を受信した場合、それまで保持していたAP情報を消去し、新たに受信した選択AP情報の内容に書き換える。なお、メモリ容量に余裕がある場合には、それまで保持していたAP情報を消去しなくても構わない。
受信AP記録部240は、携帯デバイス200が無線信号を受信した、つまり、受信できたアクセスポイントの情報(受信AP情報)を記録する。具体的には、受信AP記録部240は、選択AP情報に含まれるアクセスポイントのうち、携帯デバイス200が無線信号を受信したアクセスポイントの識別子を少なくとも記録する。なお、上述したように、記録内容には、当該アクセスポイントからの無線信号を受信したタイミング(時刻)、及び当該アクセスポイントからの無線信号の電界強度が含まれ得る。
受信AP記録部240は、携帯デバイス200がアクセス可能なアクセスポイントに接続されている期間に受信AP情報をデバイス位置管理サーバ100に提供できる。具体的には、当該期間におけるデバイス位置管理サーバ100からの要求に基づいて、或いは受信AP記録部240が自律的に受信AP情報をデバイス位置管理サーバ100に提供する。
(3)デバイス位置管理システムの動作
次に、デバイス位置管理システム10の動作について説明する。具体的には、ユーザ50によって所持された携帯デバイス200が移動する場合における携帯デバイス200の位置推定に関連する動作について説明する。
(3.1)全体概略動作
図4は、携帯デバイス200が移動しながら順次アクセスポイントの無線信号を受信し、アクセスが許可されているアクセスポイントにおいて無線通信を実行する様子を示す。
図4に示すように、ユーザ50によって所持された携帯デバイス200は、学校60から自宅80に向かって移動する。携帯デバイス200は、店舗71に接近すると、店舗71に設置されたAP31からの無線信号を受信する。AP31は、携帯デバイス200がアクセス可能なアクセスポイントであるため、デバイス位置管理サーバ100との通信が可能となる。
ここで、携帯デバイス200は、AP31周囲のアクセスポイントの情報によって構成されるAP情報(選択AP情報)をデバイス位置管理サーバ100から受信する。ここでは、選択AP情報には、AP31(#1)〜35(#5)の情報が含まれる。
携帯デバイス200は、選択AP情報の内容を保持し、その後移動に伴ってAP32, 33, 34, 35からの無線信号を順次受信する。携帯デバイス200は、無線信号を受信した当該APの識別子(#2〜#5:BSSID, MACアドレスなど)と、当該無線信号を受信したタイミング(時刻)とを記録する。これにより、携帯デバイス200の位置(移動ルート)が判定できる。
携帯デバイス200は、店舗72に接近すると、店舗72に設置されたAP36からの無線信号を受信する。AP36は、携帯デバイス200がアクセス可能なアクセスポイントであるため、再びデバイス位置管理サーバ100との通信が可能となる。
ここで、携帯デバイス200は、AP36周囲のアクセスポイントの情報によって構成される選択AP情報をデバイス位置管理サーバ100から受信する。ここでは、選択AP情報には、AP36(#6)〜38(#8)の情報が含まれる。携帯デバイス200が保持できるAP情報のサイズの上限(例えば、5つのAP分)を超えない限り、選択AP情報には、さらに、AP38よりも遠方のAP情報が含まれてもよい。
また、携帯デバイス200は、ここで、記録したAP31(#1)〜35(#5)の情報(受信AP情報)を、AP36を経由してデバイス位置管理サーバ100に提供する。
デバイス位置管理サーバ100は、携帯デバイス200から提供された受信AP情報に基づいて、携帯デバイス200が通過した位置及び移動ルートを推定する。
(3.2)AP選択動作例1
次に、デバイス位置管理サーバ100によるAP情報の選択基本動作フローについて説明する。
図5は、デバイス位置管理サーバ100によるAP情報の選択動作フロー(動作例1)を示す。図5に示すように、携帯デバイス200は、アクセスポイント(AP)の検索(サーチ)を定期的に実行し、アクセスが許可されているAP(例えば、AP31)と接続できるまで、当該処理を繰り返す(S10〜S40)。
当該AP(接続アクセスポイント)との接続が完了すると、携帯デバイス200は、デバイス位置管理サーバ100にアクセスし、AP情報の許容件数の送信処理を実行する(S50)。AP情報の許容件数とは、携帯デバイス200が保持可能なAP情報のサイズに応じて決定される。
デバイス位置管理サーバ100は、接続アクセスポイント(AP31)を経由して携帯デバイス200から送信された許容件数を受信する(S60)。また、デバイス位置管理サーバ100は、当該接続アクセスポイントの識別子(#1)に基づいて、当該接続アクセスポイントの緯度経度、及び接続アクセスポイント間の距離を特定する(S70)。
ここで、図6は、デバイス位置管理サーバ100によって保持されているAP情報の集合(APリスト)の例(動作例1)を示す。「ID」は、APの識別子を意味する。「名称」は任意であるが、例えば、#1のAP31は、コンビニエンスストアA(店舗71)に設置されていることを意味する。同様に、#2のAP36は、コンビニエンスストアB(店舗72)に設置されていることを意味する。
また、図6に示すように、APリストには、緯度経度の情報、及び接続アクセスポイント間の距離の情報が含まれる。なお、「距離」の情報は、携帯デバイス200がアクセス可能なAP(接続アクセスポイント)毎に、当該地域において携帯デバイス200がアクセス可能なAP間の距離を示す。
図6に示す例では、「距離」は、実質的に、当該地域での接続アクセスポイントの間隔を意味する。「距離」の値は、実際には、都道府県コード毎、或いは郵便番号毎に同様にすることが考えられる。
デバイス位置管理サーバ100は、接続アクセスポイント(AP31)周囲に設置されているAPについて、許容件数分のAP情報を抽出する(S80)。デバイス位置管理サーバ100は、このように許容件数分のAP情報を抽出することによって、携帯デバイス200に提供される選択AP情報を生成する。
なお、デバイス位置管理サーバ100は、許容件数分のAP情報を抽出する際、抽出優先度を適用してもよい。具体的には、上述した「距離」内に位置するAPの優先度が高く(1)設定される。また、当該「距離」内に位置するAPのうち、接続アクセスポイント(現在地)から距離が近いAP程、優先度が高く設定される。
図7は、AP情報の選択動作(動作例1)におけるAP抽出優先度のイメージを示す。図中の数字は、APの抽出優先度を意味する。図7に示すように、「距離」(例えば、2,000m)内に位置する3つのAP(三角形で表示)の優先度が高く設定される。「距離」外に位置する4つのAPの優先度は低く設定される。また、「距離」内、外とも、現在の接続アクセスポイントの位置(図中の現在地)からの距離が近いAP程、優先度が高く設定される。なお、「距離内」のAPの抽出優先度が、「距離外」の抽出優先度よりも高ければ、「距離内」のAP、及び「距離外」のAPの優先度は、必ずしも接続アクセスポイントの位置からの距離が近いAP程、優先度が高く設定されていなくても構わない。
デバイス位置管理サーバ100は、抽出した許容件数分のAP情報(選択AP情報)を携帯デバイス200に送信する(S90)。具体的には、デバイス位置管理サーバ100は、抽出したAPの識別子(ID)を含むAPリストを携帯デバイス200に送信する。なお、上述したように、携帯デバイス200に送信されるAPリストには、当該APの緯度経度、或いは当該APで用いられるセキュリティ鍵が含まれてもよい。
携帯デバイス200は、デバイス位置管理サーバ100から送信されたAPリストを格納し、保持する(S100)。
(3.3)AP選択動作例2(移動ルートの学習結果に基づくAP選択)
本動作例では、携帯デバイス200の過去における移動ルートの学習結果に基づいたAP情報が選択される。
図8は、デバイス位置管理サーバ100によるAP情報の選択動作フロー(動作例2)を示す。図8では、携帯デバイス200側の動作は、動作例1と同様であるため、省略されている。以下、動作例1と異なる部分について主に説明し、同様の部分については、説明を省略する。
デバイス位置管理サーバ100は、携帯デバイス200の識別子(ID)に基づいて、携帯デバイス200と対応付けられているユーザ50(実際には、契約者)を特定する(S110)。
図9は、デバイス位置管理サーバ100によって保持されているユーザの行動学習リストの例を示す。「ユーザID」は、ユーザの識別子を意味する。ここでは、「A」がユーザ50と対応する。また、行動学習リストには、「曜日」、「時刻」及び「AP-ID」(APの識別子)が含まれる。行動学習リストは、ユーザ(携帯デバイス200)のAPへのアクセス履歴に基づいて、所定回数以上、アクセスされた接続アクセスポイントの学習結果に基づいて生成される。
デバイス位置管理サーバ100は、このような行動学習リストに基づいて、ユーザ(携帯デバイス200)の行動履歴、つまり、移動ルートを学習する。ここでは、デバイス位置管理サーバ100は、行動学習リストに基づいて、現在時刻±15分以内の「時刻」が記録されているAP-IDを抽出する(S150)。
なお、デバイス位置管理サーバ100は、本動作例においても、許容件数分のAP情報を抽出する際、抽出優先度を適用してもよい。具体的には、動作例1に示した抽出優先度に加え、行動学習リストに基づいて抽出されたAP(行動履歴AP)であって、上述した「距離」内に位置するAPに、第2順位の抽出優先度が設定される。また、当該「距離」内に位置する行動履歴APのうち、接続アクセスポイント(現在地)から距離が近いAP程、優先度が高く設定される。
図10は、AP情報の選択動作(動作例2)におけるAP抽出優先度のイメージを示す。図10に示すように、「距離」内に位置する行動履歴AP(図中の4, 5)の優先度は、「距離」外に位置するAPよりも高く設定される。
(3.4)AP選択動作例3(移動方向に応じたAP選択)
本動作例では、携帯デバイス200の移動方向に応じたAP情報が選択される。
図11は、デバイス位置管理サーバ100によるAP情報の選択動作フロー(動作例3)を示す。以下、上述した動作例と異なる部分について主に説明し、同様の部分については、説明を省略する。
デバイス位置管理サーバ100は、直近に携帯デバイス200がアクセスしたAPの履歴に基づいて、携帯デバイス200の進行方向(つまり、移動方向)を推定する(S250)。
図12は、デバイス位置管理サーバ100によって保持されているAPリストの例(動作例3)を示す。図12に示すAPリストは、動作例1(図6参照)と比較すると、「種別フラグ」が追加されている。「種別フラグ」は、想定される携帯デバイス200の移動手段が定義される。例えば、電車の駅前ロータリー付近のAPには、「徒歩、車、電車」が定義され、建物内のAPには、「徒歩」のみが定義される。
図13は、AP情報の選択動作(動作例3)におけるAP抽出優先度のイメージを示す。図13に示すように、携帯デバイス200は、AP(3)からAP(1)に移動している。
デバイス位置管理サーバ100は、携帯デバイス200の進行方向を推定(図中の矢印参照)し、進行方向前方に位置するAPに高い抽出優先度を設定する。具体的には、デバイス位置管理サーバ100は、当該進行方向に対して±45度の範囲、かつ、当該進行方向前方に向けた2倍の「距離」内に位置するAPに第2順位の抽出優先度を設定する。
デバイス位置管理サーバ100は、このような抽出優先度に基づいて、対象となるAP-IDを抽出する(S260)。この結果、図13に示すように、AP(2, 4)が抽出され得る。
(3.5)AP選択動作例4(移動手段に応じたAP選択)
本動作例では、携帯デバイス200の移動手段に応じたAP情報が選択される。
図14は、デバイス位置管理サーバ100によるAP情報の選択動作フロー(動作例4)を示す。以下、上述した動作例と異なる部分について主に説明し、同様の部分については、説明を省略する。
デバイス位置管理サーバ100は、携帯デバイス200の移動履歴、時間(移動に要した時間)、及び携帯デバイス200に生じた加速度の情報に基づいて、携帯デバイス200の移動手段(徒歩、車または電車)を推定する(S350)。
携帯デバイス200の移動履歴は、動作例3の移動方向と同様に、複数のアクセスポイントからの無線信号を携帯デバイス200が受信した時刻と、当該アクセスポイントの識別子とを用いて推定できる。また、本動作例では、携帯デバイス200が加速度センサなどの動き検出できるモジュールを備えている場合、デバイス位置管理サーバ100は、当該センサの検出結果を携帯デバイス200から取得して、移動手段の推定に用いてもよい。
図15は、デバイス位置管理サーバ100によって保持されているAPリストの例(動作例4)を示す。図15に示すAPリストは、動作例1(図6参照)と比較すると、「種別フラグ」が追加されている。「種別フラグ」は、想定される携帯デバイス200の移動手段が定義される。例えば、電車の駅前ロータリー付近のAPには、「徒歩、車、電車」が定義され、建物内のAPには、「徒歩」のみが定義される。
デバイス位置管理サーバ100は、S350の処理の結果に基づいて、推定した移動手段と対応付けられているAPのみを抽出し、他の移動手段と対応付けられているAPをフィルタリングして除外する(S360)。
なお、デバイス位置管理サーバ100は、本動作例においても、許容件数分のAP情報を抽出する際、抽出優先度を適用してもよい。具体的には、推定された移動手段が「車」の場合、「種別フラグ」(図15参照)が「車」と定義されているAPの抽出優先度を高く設定する。また、この場合でも、動作例1などと同様に、所定の「距離」内、外で抽出優先度を異なるようにしてもよい。
(4)作用・効果
上述した実施形態によれば、以下の作用効果が得られる。具体的には、デバイス位置管理サーバ100は、携帯デバイス200が接続したアクセスポイントである接続アクセスポイントを経由して送信されたAP情報の提供要求を受信する。デバイス位置管理サーバ100は、受信した提供要求に基づいて、当該接続アクセスポイントから所定の距離範囲内に位置するアクセスポイントが選択された選択AP情報を携帯デバイス200に送信する。
携帯デバイス200は、デバイス位置管理サーバ100から送信された選択AP情報に基づいて、携帯デバイス200が無線信号を受信したアクセスポイントの識別子を記録する。記録されたアクセスポイントの識別子に基づいて、当該アクセスポイントの緯度経度を取得することによって、携帯デバイス200の位置及び移動ルートを推定することができる。
さらに、本実施形態によれば、選択AP情報のサイズは、携帯デバイス200が接続したアクセスポイント(接続アクセスポイント)からの所定の距離範囲内に制限されるため、メモリ容量が最小限である携帯デバイス200でも、選択AP情報を保持することができる。また、選択AP情報に含まれるAPは、携帯デバイス200が次にアクセス可能なアクセスポイントまでの距離範囲に基づいて決定されるため、携帯デバイス200がAP情報を保持していないエリアに移動してしまい、携帯デバイス200の位置を推定できなくなる事態、及びアクセスポイントを経由した通信ができなくなる事態を回避できる。
すなわち、本実施形態によれば、機能及び性能が限定されている携帯デバイス200に対しても、アクセスポイントの情報を用いて携帯デバイス200の位置を高精度で推定し得る。
また、上述したように、選択AP情報のサイズ、及びデバイス位置管理サーバ100に提供される受信AP情報のサイズも小さくできるため、通信時間が削減される。これにより、携帯デバイス200の消費電力抑制にも貢献する。
本実施形態では、携帯デバイス200が許容するAP情報のサイズに基づいて、選択AP情報に含まれるAP情報の数が決定される。このため、携帯デバイス200の性能(メモリ容量)に応じた適切な選択AP情報を生成できる。これにより、携帯デバイス200に提供するAP情報の数を抑制しつつ、アクセスポイントの情報を用いて携帯デバイス200の位置を高精度で推定し得る。
本実施形態では、携帯デバイス200が過去に無線信号を受信したアクセスポイントの情報に基づいて、選択AP情報に含まれるアクセスポイントを選択し得る。このため、無線信号を受信する可能性が高いアクセスポイントを選択できる。これにより、効率的かつ高精度な携帯デバイス200の位置推定を実現し得る。
本実施形態では、携帯デバイス200が過去に無線信号を受信したタイミングを含む複数のアクセスポイントの情報に基づいて、携帯デバイス200の移動方向を推定し得る。このため、移動方向前方に位置するアクセスポイントを選択できる。また、当該複数のアクセスポイントの情報に基づいて、携帯デバイス200の移動手段を推定し得る。
これにより、携帯デバイス200の移動ルートを効率的かつ高精度に推定し得る。また、上述した携帯デバイス200の位置を推定できなくなる事態、及びアクセスポイントを経由した通信ができなくなる事態をより確実に回避し得る。
本実施形態では、デバイス位置管理サーバ100は、携帯デバイス200が無線信号を受信したアクセスポイントの識別子を含む受信AP情報を携帯デバイス200から取得する。また、デバイス位置管理サーバ100は、取得した受信AP情報に基づいて、携帯デバイス200の位置を推定する。これにより、ウェブサーバなどによる携帯デバイス200を用いた位置情報提供サービスを実現し得る。
(5)その他の実施形態
以上、実施形態に沿って本発明の内容を説明したが、本発明はこれらの記載に限定されるものではなく、種々の変形及び改良が可能であることは、当業者には自明である。
例えば、上述した実施形態では、IEEE802.11などの無線LANを前提としていたが、同様の通信環境となる無線通信方式であれば、無線LANでなくてもよい。つまり、携帯デバイス200がアクセス可能なアクセスポイント(無線基地局と呼ばれてもよい)と、アクセス不可能なアクセスポイントとが混在し、比較的小さいサイズの通信エリア(セル)を形成する無線通信方式であれば、3GPPで規定される移動通信ネットワーク(LTE/4G, 5Gなど)などであってもよい。さらに、アクセスポイント(無線基地局)を備える場合には、近距離無線通信方式でもよい。
上述した実施形態では、デバイス位置管理サーバ100側で携帯デバイス200の位置を推定していたが、携帯デバイス200が、記録したAP情報(受信AP情報)を用いて携帯デバイス200の位置を推定してもよい。なお、この場合、上述したように、携帯デバイス200に提供される選択AP情報には、APの緯度経度が含まれていればよい。
また、携帯デバイス200は、無線信号を受信したAPの情報をディスプレイに表示したり、当該無線信号を受信したことを音響信号または振動などによって報知したりしてもよい。
上述した実施形態では、携帯デバイス200は、子供向けの見守りデバイスを想定したが、携帯デバイス200は、IoT(Internet of Things)機器、ロボットでもよく、スマートフォンまたはノートPCなどであってもよい。
また、上述した実施形態の説明に用いたブロック構成図(図2,3)は、機能ブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/またはソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/または論理的に結合した1つの装置により実現されてもよいし、物理的及び/または論理的に分離した2つ以上の装置を直接的及び/または間接的に(例えば、有線及び/または無線)で接続し、これら複数の装置により実現されてもよい。
さらに、上述したデバイス位置管理サーバ100及び携帯デバイス200(当該装置)は、本発明の処理を行うコンピュータとして機能してもよい。図16は、当該装置のハードウェア構成の一例を示す図である。図16に示すように、当該装置は、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006及びバス1007などを含むコンピュータ装置として構成されてもよい。
当該装置の各機能ブロック(図2,3参照)は、当該コンピュータ装置の何れかのハードウェア要素、または当該ハードウェア要素の組み合わせによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインタフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU)で構成されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read
Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、上述した実施形態に係る方法を実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記録媒体は、例えば、メモリ1002及び/またはストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線及び/または無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001及びメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advance、4G、5G、FRA(Future Radio Access)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi、登録商標)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)したことを「判断」「決定」したとみなすことなどを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)したことを「判断」「決定」したとみなすことなどを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などしたことを「判断」「決定」したとみなすことを含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなすことを含み得る。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及び/又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
また、「含む(including)」、「含んでいる(comprising)」、及びそれらの変形の用語は、「備える」と同様に、包括的であることが意図される。さらに、本明細書或いは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。