以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
本実施形態では、携帯端末には、駅に配置された無線LAN(Local Area Network)のアクセスポイントのBSSID(Basic Service Set Identifier)が予め登録される。携帯端末は、交通機関から取得した交通機関の路線情報及び時刻表情報に基づいて、乗車駅から降車駅までの経路及びユーザが乗車する乗車車両を決定する。さらに、携帯端末は、路線情報に基づいて、降車駅の直前に停車する駅を決定するとともに、時刻表情報に基づいて、降車駅の直前に停車する駅から降車駅までの移動時間を求め、求めた移動時間から所定時間を減じた時間を通知時間として決定する。そして、携帯端末は、降車駅の直前に停車する駅に設置されたアクセスポイントの識別情報を受信してから、通知時間が経過したときに、降車駅が近いことをユーザに通知する。
なお、本実施形態では、電車を車両とし、駅を停車場とする交通機関を例に説明するが、バスを車両とし、バス停を停車場とする交通機関等の他の交通機関に本発明を適用することも可能である。
図1は、通信システム100の概略構成の一例を示す図である。
通信システム100は、携帯端末1と、サーバ2とを有する。
携帯端末1は、無線LAN通信機能を有し、無線LANのアクセスポイント3と接続される。アクセスポイント3は、サービスエリア4内で携帯端末1と無線LAN通信方式に従った無線通信を行う。さらに、アクセスポイント3は、バックボーンネットワーク5に接続される。バックボーンネットワーク5には、イーサネット(登録商標)等の有線LANにより、バックボーンネットワーク5とインターネット7とを中継するゲートウェイ6が接続される。インターネット7にはサーバ2が接続され、アクセスポイント3は、サーバ2と通信を行うことができる。
さらに、バックボーンネットワーク5には、イーサネット(登録商標)等の有線LANにより、携帯端末1のユーザを認証するための認証サーバ8が接続される。携帯端末1は、認証サーバ8によってユーザが認証されることにより、ゲートウェイ6を介して、インターネット7に接続することができる。
アクセスポイント3は、携帯端末1と、バックボーンネットワーク5又はインターネット7に接続された装置との間の通信を中継する通信装置である。アクセスポイント3は、主に2.4GHz帯、5GHz帯等を感受帯域とするアンテナを含む、通信インターフェース回路を有し、携帯端末1との間で、IEEE(The Institute of Electrical and Electronics Engineers, Inc.)802.11規格の無線通信方式に基づいて無線通信を行う。
アクセスポイント3は、アクセスポイントごとに一意に定められる識別情報であるBSSIDと、アクセスポイント3を含む複数のアクセスポイントで構成される無線LANのネットワークの識別情報であるESSID(Extended Service Set Identifier)とを記憶する。携帯端末1は、接続したいネットワークのESSIDを含むプローブ要求をブロードキャスト配信する。アクセスポイント3は、受信したプローブ要求に含まれるESSIDが記憶しているESSIDと一致すれば、アクセスポイント3のBSSIDを含むプローブ応答を返信する。これにより、携帯端末1は、アクセスポイント3を認識することができる。
図2は、携帯端末1の概略構成の一例を示す図である。
携帯端末1は、無線LANによる通信機能を有する通信装置であり、例えば携帯電話、携帯情報端末(Personal Digital Assistant, PDA)、携帯ゲーム機、携帯音楽プレーヤ、タブレットPC等である。携帯端末1は、無線通信ネットワークへの接続、降車駅が近いことの通知、所定のアプリケーションプログラムの実行等を可能とする。そのために、携帯端末1は、第1無線通信部11と、第2無線通信部12と、操作部13と、表示部14と、音声出力部15と、振動出力部16と、加速度センサ17と、地磁気センサ18と、GPS部19と、記憶部20と、中央処理部30とを有する。
第1無線通信部11は、主に2.4GHz帯、5GHz帯等を感受帯域とするアンテナを含む、通信インターフェース回路を有し、アクセスポイント3との間でIEEE802.11規格の無線通信方式に基づいて無線通信を行う。そして、第1無線通信部11は、アクセスポイント3から受信したデータを中央処理部30に供給する。また、第1無線通信部11は、中央処理部30から供給されたデータをアクセスポイント3に送信する。
第2無線通信部12は、主に2.1GHz帯を感受帯域とするアンテナを含む、通信インターフェース回路を有し、携帯端末1を不図示の携帯電話ネットワークに接続する。第2無線通信部12は、不図示の携帯電話の基地局により割り当てられるチャネルを介して、基地局との間でCDMA(Code Division Multiple Access)方式等による無線信号回線を確立し、基地局との間で通信を行う。そして、第2無線通信部12は、基地局から受信したデータを中央処理部30に供給する。また、第2無線通信部12は、中央処理部30から供給されたデータを基地局に送信する。なお、携帯端末1が携帯電話機能を有さない場合、第2無線通信部12は省略されてもよい。
操作部13は、携帯端末1の操作が可能であればどのようなデバイスでもよく、例えば、タッチパネル式の入力装置、キーパッド等である。ユーザは、このデバイスを用いて、文字、数字等を入力することができる。操作部13は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、ユーザの指示として、中央処理部30に入力される。
表示部14は、出力部の一例であり、動画像、静止画像等の出力が可能であればどのようなデバイスでもよく、例えば、タッチパネル式の表示装置、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイ等である。表示部14は、中央処理部30から供給される動画像データに応じた動画像、静止画像データに応じた静止画像等を出力する。
音声出力部15は、出力部の一例であり、音声の出力が可能であればどのようなデバイスでもよく、例えば、スピーカである。音声出力部15は、中央処理部30から供給される音声信号に応じた音声を出力する。
振動出力部16は、出力部の一例であり、振動の出力が可能であればどのようなデバイスでもよく、例えば、振動を発生するモータである。振動出力部16は、中央処理部30から供給される振動信号に応じた振動を出力する。
加速度センサ17は、検知部の一例であり、中央処理部30からの要求に応じて、携帯端末1に加わる加速度を3軸方向毎に検出し、検出した加速度を携帯端末1の移動に係るデータとして出力する。加速度センサ17は、例えば、ピエゾ抵抗効果を利用したピエゾ抵抗型の3軸加速度センサ、又は静電容量の変化を利用した静電容量型の3軸加速度センサとすることができる。なお、加速度センサの代わりに、携帯端末1の回転角速度を検出するジャイロセンサを利用し、加速度の代わりに回転角速度を携帯端末1の移動に係るデータとして出力してもよい。
地磁気センサ18は、検知部の一例であり、中央処理部30からの要求に応じて、携帯端末1の向きの方位及び磁気の大きさを検出し、検出した方位及び磁気の大きさを携帯端末1の移動に係るデータとして出力する。
GPS部19は、GPSにより位置を検出する位置検出部の一例であり、主に1.5GHz帯を感受帯域とするアンテナを含む、GPS回路を有し、不図示のGPS衛星からGPS信号を受信する。GPS部19は、そのGPS信号をデコードし、時刻情報等を取得する。そして、GPS部19は、その時刻情報等に基づいてGPS衛星から携帯端末1までの擬似距離を計算し、その擬似距離を代入して得られる連立方程式を解くことにより、携帯端末1が存在する位置(緯度、経度、高度等)を検出し、位置情報として出力する。
記憶部20は、例えば、半導体メモリを有する。記憶部20は、中央処理部30での処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部20は、ドライバプログラムとして、第1無線通信部11を制御する無線通信デバイスドライバプログラム、第2無線通信部12を制御する携帯電話通信デバイスドライバプログラム、操作部13を制御する入力デバイスドライバプログラム、表示部14、音声出力部15及び振動出力部16を制御する出力デバイスドライバプログラム等を記憶する。また、記憶部20は、オペレーティングシステムプログラムとして、IEEE802.11規格の無線通信方式を実行する接続制御プログラム、携帯電話の接続制御プログラム等を記憶する。また、記憶部20は、アプリケーションプログラムとして、ウェブページの取得及び表示を行うウェブブラウザプログラム、電子メールの送信及び受信を行う電子メールプログラム等を記憶する。コンピュータプログラムは、例えばCD−ROM(compact disk read only memory)、DVD−ROM(digital versatile disk read only memory)等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部20にインストールされてもよい。
また、記憶部20は、データとして、各駅に配置された無線LANのアクセスポイントの識別情報が登録されているBSSIDテーブル(図3(a))、ユーザが降車する降車駅の候補が登録されている降車駅テーブル(図3(b))等を記憶する。さらに、記憶部20は、携帯端末1が接続する無線LANのネットワークのESSIDを記憶する。さらに、記憶部20は、所定の処理に係る一時的なデータを一時的に記憶する。
図3(a)は、アクセスポイントのBSSIDテーブルのデータ構造の一例を示す図である。
図3(a)に示すように、BSSIDテーブルには、複数の駅のそれぞれ毎に、その駅の識別情報である駅ID、駅名、その駅に設置されたアクセスポイント(以下、主APと称する)のBSSID、その駅の周辺に設置されたアクセスポイント(以下、副APと称する)のBSSID等が相互に関連付けられて登録される。図3(a)には、一つの主APと、複数の副APとが登録されている例を示しているが、主APは複数でもよく、副APは一つ又はなくてもよい。BSSIDテーブルの各情報は、サーバ2から登録される。
図3(b)は、降車駅テーブルのデータ構造の一例を示す図である。
図3(b)に示すように、降車駅テーブルには、降車駅の候補として登録された駅毎に、その駅の駅ID、駅名、及び詳細情報等が相互に関連付けられて登録される。詳細情報は、その駅が自宅の最寄り駅であるか、学校の最寄り駅であるか、会社の最寄り駅であるか、又はそれ以外の駅であるかを示す。降車駅テーブルの各情報は、ユーザにより操作部13を用いて登録される。ユーザは、例えば、自宅、学校又は会社の最寄り駅等を降車駅として登録する。
中央処理部30は、一又は複数個のプロセッサ及びその周辺回路を有する。中央処理部30は、携帯端末1の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。中央処理部30は、携帯端末1の各種処理が記憶部20に記憶されているプログラム、操作部13の操作、加速度センサ17、地磁気センサ18及びGPS部19からの信号等に応じて適切な手順で実行されるように、第1無線通信部11、第2無線通信部12、表示部14、音声出力部15、振動出力部16等の動作を制御する。中央処理部30は、記憶部20に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、中央処理部30は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
中央処理部30は、交通機関情報取得部31と、乗車駅決定部32と、乗車判定部33と、降車駅決定部34と、経路決定部35と、通知時間決定部36と、制御部37と、識別情報送信部38と、識別情報更新部39とを有する。中央処理部30が有するこれらの各部は、中央処理部30が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。あるいは、中央処理部30が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして携帯端末1に実装されてもよい。
図4は、サーバ2の概略構成の一例を示す図である。
サーバ2は、各携帯端末のBSSIDテーブルに登録される主AP及び副APのBSSIDを管理する。そのために、サーバ2は、サーバ通信部41と、サーバ記憶部42と、サーバ処理部50とを備える。
サーバ通信部41は、イーサネット(登録商標)などの有線の通信インターフェース回路を有する。サーバ通信部41は、インターネット7及びバックボーンネットワーク5を介して携帯端末1等と通信を行う。そして、サーバ通信部41は、携帯端末1等から受信したデータをサーバ処理部50に供給する。また、サーバ通信部41は、サーバ処理部50から供給されたデータを携帯端末1等に送信する。
サーバ記憶部42は、例えば、半導体メモリ、磁気ディスク装置、及び光ディスク装置のうちの少なくともいずれか一つを有する。サーバ記憶部42は、サーバ処理部50による処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。例えば、サーバ記憶部42は、ドライバプログラムとして、サーバ通信部41を制御する通信デバイスドライバプログラム等を記憶する。また、サーバ記憶部42は、オペレーティングシステムプログラムとして、TCP/IP(Transmission Control Protocol / Internet Protocol)等の通信方式による接続制御プログラム等を記憶する。また、サーバ記憶部42は、アプリケーションプログラムとして、各種データの送受信を行うととともに、BSSIDテーブルを管理するデータ処理プログラム等を記憶する。コンピュータプログラムは、例えばCD−ROM、DVD−ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いてサーバ記憶部42にインストールされてもよい。
また、サーバ記憶部42は、データとして、図3に示した各携帯端末が記憶するBSSIDテーブル、降車駅に到着する前に通知を行うサービスを提供する各携帯端末のアドレス(例えば、電話番号)等を記憶する。また、サーバ記憶部42は、所定の処理に係る一時的なデータを一時的に記憶する。
サーバ処理部50は、一又は複数個のプロセッサ及びその周辺回路を有する。サーバ処理部50は、サーバ2の全体的な動作を統括的に制御するものであり、例えば、CPUである。サーバ処理部50は、サーバ2の各種処理がサーバ記憶部42に記憶されているプログラム等に応じて適切な手順で実行されるように、サーバ通信部41等の動作を制御する。サーバ処理部50は、サーバ記憶部42に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、サーバ処理部50は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
サーバ処理部50は、設定管理部51を有する。設定管理部51は、サーバ処理部50が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。あるいは、設定管理部51は、独立した集積回路、マイクロプロセッサ、又はファームウェアとしてサーバ2に実装されてもよい。
図5は、中央処理部30による携帯端末1の通知処理の動作フローの一例を示す図である。なお、以下に説明する動作フローは、予め記憶部20に記憶されているプログラムに基づいて、主に中央処理部30により、携帯端末1の各要素と協働して実行される。
最初に、交通機関情報取得部31は、第1無線通信部11を介してサーバ2から、交通機関の路線情報を取得する(ステップS101)。路線情報には、その交通機関の路線上の各駅の駅ID及び駅名と、その駅が全ての駅に停車する各駅電車のみが停車する駅であるか、全ての駅に停車しない急行電車も停車する駅であるかの情報と、その駅の前後に各駅電車が停車する駅の駅ID及び駅名とが関連付けて示される。また、その駅が急行電車の停車駅である場合、急行電車がその駅の前後に停車する駅の駅ID及び駅名がさらに関連付けて示される。なお、サーバ2は、RSS(RDF Site Summary, Really Simple Syndication又はRich Site Summary)の技術を利用して、不図示の交通機関のサーバから交通機関の路線に係る情報を取得し、路線情報に変換している。
次に、交通機関情報取得部31は、第1無線通信部11を介してサーバ2から、交通機関の電車の時刻表を表す時刻表情報を取得する(ステップS102)。時刻表情報には、運行する電車ごとに、各停車駅を出発する時刻及び各停車駅に到着する時刻が示される。なお、サーバ2は、RSSの技術を利用して、不図示の交通機関のサーバから交通機関の時刻表に係る情報を取得し、時刻表情報に変換している。
次に、交通機関情報取得部31は、第1無線通信部11を介してサーバ2から、各電車の遅延に関する遅延情報を取得する(ステップS103)。遅延情報には、遅延が発生している電車ごとに遅延している時間が示される。なお、サーバ2は、RSSの技術を利用して、不図示の交通機関のサーバから交通機関の遅延に係る情報を取得し、遅延情報に変換している。
次に、中央処理部30は、記憶部20の降車駅テーブルに一つ以上の降車駅が登録されているか否かを判定する(ステップS104)。
中央処理部30は、降車駅テーブルに降車駅が全く登録されていない場合、降車駅が登録されていない旨を表示部14に表示し、一連のステップを終了する(ステップS105)。
一方、乗車駅決定部32及び乗車判定部33は、降車駅テーブルに一つ以上の降車駅が登録されている場合、ユーザが乗車する乗車駅を決定するとともに、ユーザが乗車したか否かを判定する乗車判定処理を実施する(ステップS106)。乗車判定処理の詳細については後述する。
次に、降車駅決定部34、経路決定部35及び通知時間決定部36は、ユーザが降車する降車駅、乗車駅から降車駅までの経路及びユーザが乗車する乗車車両を決定するとともに、その経路においてその乗車車両が降車駅の直前に停車する直前駅、乗車車両が直前駅を出発してからユーザに通知するまでの通知時間を決定する経路決定処理を実施する(ステップS107)。経路決定処理の詳細については後述する。
次に、制御部37は、乗車車両が直前駅を出発してから通知時間が経過したときに、降車駅が近いことをユーザに通知する降車通知処理を実施する(ステップS108)。降車通知処理の詳細については後述する。
次に、制御部37は、乗車車両が降車駅に到着してから所定時間経過後、携帯端末1のユーザが乗車中である場合に、降車駅を通過したことをユーザに通知する通過通知処理を実施し(ステップS109)、一連のステップを終了する。通過通知処理の詳細については後述する。
図6は、乗車判定処理の動作の例を示すフローチャートである。
図6に示す動作のフローは、図5に示すフローチャートのステップS106において実行される。
最初に、乗車駅決定部32は、プローブ要求を第1無線通信部11を介してブロードキャスト配信する(ステップS201)。
次に、乗車駅決定部32は、第1無線通信部11を介して無線LANのアクセスポイントからプローブ応答を受信するまで待機する(ステップS202)。
次に、乗車駅決定部32は、第1無線通信部11を介して無線LANのアクセスポイントからプローブ応答を受信すると(ステップS202−Yes)、受信したプローブ応答のうちの何れかにBSSIDテーブルに登録された主APのBSSIDのうちの何れかが含まれるか否かを判定する(ステップS203)。
乗車駅決定部32は、受信したプローブ応答のうちの何れにもBSSIDテーブルに登録された主APのBSSIDが含まれない場合(ステップS203−No)、受信したプローブ応答のうちの何れかにBSSIDテーブルに登録された副APのBSSIDのうちの何れかが含まれるか否かを判定する(ステップS204)。
乗車駅決定部32は、受信したプローブ応答のうちの何れかにBSSIDテーブルに登録された副APのBSSIDが含まれる場合(ステップS204−Yes)、次にプローブ要求を送信するまでの第1待機時間を予め設定された第1時間(例えば60秒間)に設定する(ステップS205)。
一方、乗車駅決定部32は、受信したプローブ応答のうちの何れにもBSSIDテーブルに登録された副APのBSSIDが含まれない場合(ステップS204−No)、第1待機時間を第1時間より短い第2時間(例えば30秒間)に設定する(ステップS206)。
次に、乗車駅決定部32は、ステップS205又はS206で設定した第1待機時間だけ待機してから(ステップS207)、処理をステップS201へ戻し、再度、プローブ要求を第1無線通信部11を介してブロードキャスト配信する。
一方、乗車駅決定部32は、受信したプローブ応答のうちの何れかにBSSIDテーブルに登録された主APのBSSIDが含まれる場合(ステップS203−Yes)、第1待機時間を第2時間よりさらに短い第3時間(例えば10秒間)に設定する(ステップS208)。
次に、乗車駅決定部32は、受信したプローブ応答に含まれるBSSIDに基づいて、現在位置に最も近い駅を乗車駅に決定する(ステップS209)。乗車駅決定部32は、受信したプローブ応答に含まれるBSSIDが主APのBSSIDとして登録されている駅を乗車駅に決定する。
次に、乗車判定部33は、加速度センサ17及び/又は地磁気センサ18から出力された携帯端末1の移動に係るデータに基づいて、携帯端末1が乗車中であるか否かを判定する(ステップS210)。
乗車判定部33は、加速度センサ17が出力した加速度が第1閾値以上である場合、携帯端末1は移動中であると判定し、第1閾値未満である場合、携帯端末1は移動中でないと判定する。第1閾値は、事前の実験により、携帯端末1を携帯するユーザが移動していない状態で得られる加速度の平均値と、携帯端末1を携帯するユーザが移動している状態で得られる加速度の平均値との中間値に定められる。なお、乗車判定部33は、所定時間(例えば1秒)内に加速度センサ17が出力した加速度の平均値が第1閾値以上であるか否かを判定してもよい。これにより、携帯端末1が移動中であるか否かの判定精度を向上させることが可能となる。
また、乗車判定部33は、地磁気センサ18が出力した磁気の大きさが第2閾値以上である場合、携帯端末1は乗車中であると判定し、第2閾値未満である場合、携帯端末1は乗車中でないと判定する。第2閾値は、事前の実験により、携帯端末1を携帯するユーザが電車に乗っている状態で得られる加速度の平均値と、携帯端末1を携帯するユーザが電車に乗っていない状態で得られる加速度の平均値との中間値に定められる。なお、乗車判定部33は、所定時間(例えば1秒)内に地磁気センサ18が出力した磁気の大きさの平均値が第2閾値以上であるか否かを判定してもよい。これにより、携帯端末1を携帯するユーザが乗車しているかの判定精度を向上させることが可能となる。
次に、乗車判定部33は、携帯端末1が乗車中でないと判定すると(ステップS210−No)、ステップS208で設定した第1待機時間だけ待機してから(ステップS207)、処理をステップS201へ戻し、再度、プローブ要求を第1無線通信部11を介してブロードキャスト配信する。
一方、乗車判定部33は、携帯端末1が乗車中であると判定すると(ステップS210−Yes)、携帯端末1を携帯するユーザが乗車したと判定し(ステップS211)、一連のステップを終了する。
上記したように、第1無線通信部11は、BSSIDの取得要求となるプローブ要求を定期的に送信し、BSSIDテーブルに登録された副APのBSSIDのうちの少なくとも一つを受信すると、プローブ要求を送信する間隔を短くする。これにより、通常はプローブ要求を送信する間隔を長くして、消費電力の上昇を抑制しつつ、携帯端末1が駅に近付くとプローブ要求を送信する間隔を短くして、携帯端末1の位置の測定精度を向上させることが可能となる。また、第1無線通信部11は、BSSIDテーブルに登録された主APのBSSIDを受信すると、プローブ要求を送信する間隔をさらに短くする。これにより、その後の携帯端末1の位置の測定精度をさらに向上させることが可能となる。
また、第1無線通信部11は、駅により、プローブ要求を送信する間隔を短くするか否かを変更してもよい。その場合、プローブ要求を送信する間隔を短くする駅を予め記憶部20に登録しておく。第1無線通信部11は、登録された駅についての副AP又は主APのBSSIDを受信したときは、プローブ要求を送信する間隔を短くし、他の駅についての副AP又は主APのBSSIDを受信したときは、プローブ要求を送信する間隔を短くしない。これにより、降車駅が近いことを通知する機能を利用しない経路では、プローブ要求を送信する間隔を短くせずに、消費電力の上昇を抑制することができる。
図7は、経路決定処理の動作の例を示すフローチャートである。
図7に示す動作のフローは、図5に示すフローチャートのステップS107において実行される。
最初に、降車駅決定部34は、記憶部20の降車駅テーブルに複数の降車駅が登録されているか否かを判定する(ステップS301)。
降車駅決定部34は、降車駅テーブルに複数の降車駅が登録されていない場合、つまり、降車駅が一つだけ登録されている場合、処理をステップS304へ移行する。
一方、降車駅決定部34は、降車駅テーブルに複数の降車駅が登録されている場合、ユーザが降車駅を選択するための降車駅選択画面を表示部14に表示する(ステップS302)。
図8は、降車駅選択画面の一例を示す。図8に示すように、降車駅選択画面800には、降車駅テーブルに登録されている全ての駅名を表示するとともに、何れかの駅を選択するための選択ボタンを表示する欄801と、選択した駅を降車駅として設定するための設定ボタン502とが表示される。
次に、降車駅決定部34は、操作部13を用いたユーザによる降車駅の指定を受け付ける(ステップS303)。設定要求部311は、操作部13を用いてユーザにより、降車駅が選択され、設定ボタン502がタップされると、選択された降車駅の指定を受け付ける。
なお、降車駅決定部34は、降車駅選択画面を表示してから一定時間以上経過しても設定ボタン502がタップされなかった場合、降車駅を自動的に決定してもよい。例えば、降車駅決定部34は、現在時刻が帰宅中と推定される時間(例えば、夜18時〜24時)であれば、自宅の最寄り駅として降車駅テーブルに登録されている駅を降車駅に決定する。また、降車駅決定部34は、現在時刻が通勤又は通学中と推定される時間(例えば、朝7時〜9時)であれば、会社又は学校の最寄り駅として降車駅テーブルに登録されている駅を降車駅に決定する。なお、帰宅時間、通勤時間又は通学時間は、予め記憶部20に登録しておいてもよい。
次に、降車駅決定部34は、降車駅を決定する(ステップS304)。降車駅決定部34は、ステップS303で降車駅の指定を受け付けた場合、指定された駅を降車駅に決定し、一方、ステップS301で降車駅が一つだけ登録されていた場合、その登録されている駅を降車駅に決定する。
なお、降車駅決定部34は、ユーザが、予め登録された駅の中から選択することにより降車駅を決定するのではなく、他の方法により降車駅を決定してもよい。例えば、降車駅決定部34は、ユーザが目的地を指定するための画面を表示し、操作部13を用いてユーザにより指定された目的地から降車駅を決定してもよい。その場合、記憶部20に、各駅の位置を示す地図情報を予め記憶しておく。そして、降車駅決定部34は、地図情報に基づいて、目的地に最も近い駅を降車駅に決定する。
次に、経路決定部35は、路線情報、時刻表情報及び遅延情報に基づいて、乗車駅から降車駅までの経路を決定する(ステップS305)。経路決定部35は、例えばダイクストラ法等の経路探索方法を用いることにより、乗車駅から降車駅までの経路を決定する。ダイクストラ法では、例えば乗車駅、降車駅及び乗換駅がノードで表され、各ノード間の距離、時間又は運賃がコスト情報を有するリンクで表される。経路決定部35は、乗車駅から降車駅までの経路について、リンクとノードを交互に接続していき、コストの合計が最小となる経路を決定する。そして、経路決定部35は、決定した経路を表示部14に表示する。
次に、経路決定部35は、路線情報、時刻表情報及び遅延情報に基づいて、乗車車両を決定する(ステップS306)。経路決定部35は、路線情報、時刻表情報及び遅延情報に基づいて、ユーザが乗車した車両を特定し、特定した車両を乗車車両に決定する。
次に、経路決定部35は、路線情報に基づいて、その決定した経路において決定した乗車車両が降車駅の直前に停車する停車駅を決定する(ステップS307)。
次に、経路決定部35は、時刻表情報に基づいて通知時間を決定し(ステップS308)、一連のステップを終了する。経路決定部35は、時刻表情報に基づいて、直前駅から降車駅までの移動時間を求め、移動時間から所定時間を減じた時間を通知時間に決定する。所定時間は、ユーザが降車すべきか否かを判断することが可能な時間(例えば、1分)に設定される。
図9は、降車通知処理の動作の例を示すフローチャートである。
図9に示す動作のフローは、図5に示すフローチャートのステップS108において実行される。
最初に、制御部37は、加速度センサ17及び/又は地磁気センサ18から出力された携帯端末1の移動に係るデータに基づいて、携帯端末1が乗車中であるか否かを判定する(ステップS401)。制御部37は、図6のステップS210と同様にして、携帯端末1が乗車中であるか否かを判定する。
制御部37は、携帯端末1が乗車中でないと判定すると(ステップS401−No)、図7のステップS305で決定した経路上にユーザがいるか否かをユーザに確認するための経路確認画面を表示部14に表示する(ステップS402)。
図10は、経路確認画面の一例を示す。図10に示すように、経路確認画面1000には、図7のステップS305で決定した経路を表示するとともに、ユーザがその経路上にいるか否かを確認する旨と、その確認結果を指定するための指定ボタンを表示する欄1001と、確認結果の指定を決定するための決定ボタン1002とが表示される。
なお、制御部37は、経路確認画面を表示部14に表示したことをユーザに通知するために振動出力部16から振動を出力してもよい。また、制御部37は、所定回数(例えば3回)連続して、携帯端末1が乗車中でないと判定した場合に限り、経路確認画面を表示部14に表示してもよい。
次に、制御部37は、操作部13を用いてユーザにより指定された確認結果を受け付ける(ステップS403)。制御部37は、操作部13を用いてユーザにより、確認結果が指定され、決定ボタン1002がタップされると、指定された確認結果を受け付ける。
次に、制御部37は、指定された確認結果に基づいて、携帯端末1の位置が、決定した経路から外れたか否かを判定する(ステップS404)。
制御部37は、例えば、ユーザが途中下車する等により、携帯端末1の位置が、決定した経路から外れた場合(ステップS404−Yes)、処理を図5のステップS107へ戻し、再度、経路決定処理を実行して経路を決定する。
一方、制御部37は、携帯端末1の位置が、決定した経路から外れていない場合(ステップS404−No)、次に乗車中であるか否かを判定するまでの第2待機時間(例えば60秒)だけ待機してから(ステップS405)、処理をステップS401へ移行し、再度、乗車中であるか否かを判定する。第2待機時間は、経路、経路上の駅間の移動予定時間等により動的に変更してもよい。その場合、例えば、経路上の駅間の移動予定時間が長いほど、第2待機時間を長くする。また、急行電車に乗っている場合、各駅電車に乗っている場合より第2待機時間を長くする。
一方、制御部37は、ステップS401において、携帯端末1が乗車中であると判定すると(ステップS401−Yes)、プローブ要求を第1無線通信部11を介してブロードキャスト配信する(ステップS406)。
次に、制御部37は、第1無線通信部11を介して無線LANのアクセスポイントからプローブ応答を受信するまで待機する(ステップS407)。
次に、制御部37は、第1無線通信部11を介して無線LANのアクセスポイントからプローブ応答を受信すると(ステップS407−Yes)、受信したプローブ応答のうちの何れかにBSSIDテーブルに登録された主APのBSSIDのうちの何れかが含まれるか否かを判定する(ステップS408)。
制御部37は、受信したプローブ応答のうちの何れにも主APのBSSIDが含まれない場合(ステップS408−No)、BSSIDテーブルに対応付けて登録された副APのBSSIDをそれぞれ含むプローブ応答が所定数(例えば3)以上あるか否かを判定する(ステップS409)。
制御部37は、対応付けて登録された副APのBSSIDをそれぞれ含むプローブ応答が所定数以上ない場合、図6のステップS208で設定した第1待機時間だけ待機してから(ステップS410)、処理をステップS401へ戻し、再度、携帯端末1が乗車中であるか否かを判定する。
一方、制御部37は、受信したプローブ応答のうちの何れかに主APのBSSIDが含まれる場合(ステップS408−Yes)、又は対応付けて登録された副APのBSSIDをそれぞれ含むプローブ応答が所定数以上ある場合(ステップS409−Yes)、そのBSSIDに対応する駅が、図7のステップS305で決定した経路上の駅であるか否かを判定する(ステップS412)。
制御部37は、そのBSSIDに対応する駅が、決定した経路上の駅でないと判定した場合(ステップS412−No)、決定した経路から外れたことを警告する画面を表示部14に表示する(ステップS413)。なお、制御部37は、その画面を表示部14に表示したことをユーザに通知するために振動出力部16から振動を出力してもよい。そして、制御部37は、処理を図5のステップS107へ戻し、再度、経路決定処理を実行して経路を決定する。
一方、制御部37は、そのBSSIDに対応する駅が、決定した経路上の駅であると判定した場合(ステップS412−Yes)、そのBSSIDに対応する駅が、図7のステップS307で決定した直前駅であるか否かを判定する(ステップS414)。
制御部37は、そのBSSIDに対応する駅が直前駅でない場合(ステップS414−No)、処理をステップS401へ戻し、再度ステップS401〜S414の処理を繰り返す。
一方、制御部37は、そのBSSIDに対応する駅が直前駅である場合(ステップS414−Yes)、図7のステップS308で決定した通知時間だけ待機する(ステップS415)。
次に、制御部37は、表示部14、音声出力部15及び/又は振動出力部16を用いて降車駅が近いことをユーザに通知し(ステップS416)、一連のステップを終了する。このように、制御部37は、直前駅に配置された無線LANのアクセスポイントのBSSIDを受信してから通知時間が経過したときに降車駅が近いことをユーザに通知する。
なお、制御部37は、ステップS401において携帯端末1が乗車中であると判定した場合に限り、降車駅が近いことをユーザに通知する。しかしながら、ステップS401〜S405の処理を省略し、制御部37は、携帯端末1が乗車中であるか否かに関わらず、降車駅が近いことをユーザに通知してもよい。
また、制御部37は、GPS部19が検出した位置が特定の範囲内である場合に限り、降車駅が近いことを通知してもよい。その場合、通知時間決定部36は、直前駅から降車駅までの移動時間に基づいて、乗車車両が直前駅を出発してから通知時間が経過した時に到達する予定位置範囲を決定する。そして、制御部37は、直前駅に配置された無線LANのアクセスポイントのBSSIDを受信してから通知時間が経過した時に、GPS部19が検出した位置が予定位置範囲内である場合に限り、降車駅が近いことを通知する。これにより、制御部37は、GPSにより位置測定ができる場合、より適切なタイミングで、降車駅が近いことを通知することができる。
図11は、通過通知処理の動作の例を示すフローチャートである。
図11に示す動作のフローは、図5に示すフローチャートのステップS109において実行される。なお、図11のステップS501〜S505の処理は、図9のステップS406〜S410の処理と同様であるため、説明を省略し、以下では、ステップS506〜S511について説明する。
制御部37は、受信したプローブ応答に主APのBSSIDが含まれる場合(ステップS503−Yes)、又は対応付けて登録された副APのBSSIDをそれぞれ含むプローブ応答が所定数以上ある場合(ステップS504−Yes)、そのBSSIDに対応する駅が、図7のステップS304で決定した降車駅であるか否かを判定する(ステップS506)。
制御部37は、そのBSSIDに対応する駅が降車駅でないと判定した場合(ステップS506−No)、降車駅を通過したと判定し、表示部14、音声出力部15及び/又は振動出力部16を用いて降車駅を通過したことをユーザに通知し(ステップS507)、一連のステップを終了する。
一方、制御部37は、そのBSSIDに対応する駅が降車駅であると判定した場合(ステップS506−Yes)、表示部14、音声出力部15及び/又は振動出力部16を用いて降車駅に到着したことをユーザに通知する(ステップS508)。このように、制御部37は、第1無線通信部11が降車駅に配置された無線LANのアクセスポイントのBSSIDを受信すると、降車駅に到着したことをユーザに通知する。
次に、制御部37は、加速度センサ17及び/又は地磁気センサ18から出力された携帯端末1の移動に係るデータに基づいて、携帯端末1が乗車中であるか否かを判定する(ステップS509)。制御部37は、図6のステップS210と同様にして、携帯端末1が乗車中であるか否かを判定する。
制御部37は、携帯端末1が乗車中でないと判定すると(ステップS509−No)、ユーザが降車駅で降車したと判定し、一連のステップを終了する。
一方、制御部37は、携帯端末1が乗車中であると判定すると(ステップS509−No)、最初にステップS506でBSSIDに対応する駅が降車駅であると判定してから、即ち乗車車両が降車駅に到着してから、一定時間が経過したか否かを判定する(ステップS510)。一定時間は、乗車車両が駅に滞在している時間より長い時間(例えば1分)に設定される。
制御部37は、乗車車両が降車駅に到着してから一定時間が経過していない場合(ステップS510−No)、処理をステップS508へ戻し、再度、ステップS508〜S510の処理を繰り返す。
一方、制御部37は、乗車車両が降車駅に到着してから一定時間が経過した場合、降車駅を通過したと判定し、表示部14、音声出力部15及び/又は振動出力部16を用いて降車駅を通過したことをユーザに通知し(ステップS511)、一連のステップを終了する。このように、制御部37は、降車駅に配置された無線LANのアクセスポイントのBSSIDを受信してから所定時間経過後、携帯端末1が乗車中である場合、降車駅を通過したことをユーザに通知する。
図12は、通信システム100によるBSSIDテーブルの更新処理の動作シーケンスの一例を示す。
以下に説明する動作シーケンスは、携帯端末1において予め記憶部20に記憶されているプログラムに基づき主に中央処理部30により携帯端末1の各要素と協働して実行され、サーバ2において予めサーバ記憶部42に記憶されているプログラムに基づき主にサーバ処理部50によりサーバ2の各要素と協働して実行される。
最初に、携帯端末1の識別情報送信部38は、第1無線通信部11を介して無線LANのアクセスポイントからBSSIDを含むプローブ応答を受信する(ステップS601)。次に、識別情報送信部38は、路線情報と、時刻表情報と、経路決定部35が決定した経路及び乗車車両と、現在時刻とに基づいて、現在、携帯端末1が位置している駅を特定する(ステップS602)。次に、識別情報送信部38は、受信したBSSIDを、特定した駅を示す駅IDと関連付けて、第1無線通信部11を介してサーバ2に送信する(ステップS603)。
一方、サーバ2の設定管理部51は、サーバ通信部41を介して携帯端末1からBSSID及び駅IDを受信すると、受信したBSSID及び駅IDに基づいて、各駅に配置された無線LANのアクセスポイントのBSSIDの更新情報を生成する(ステップS604)。なお、設定管理部51は、携帯端末1以外の他の携帯端末からもBSSID及び駅IDを受信し、複数の携帯端末から受信したBSSID及び駅IDに基づいて更新情報を生成する。
設定管理部51は、BSSIDテーブルにおいて特定の駅について登録されたBSSIDを、一定期間内にその駅IDとともに受信した数が所定数以下である場合、そのBSSIDに対応するアクセスポイントは故障している又は交換された可能性が高いと判定し、そのアクセスポイントを用いた通信が適切に行われていない旨を管理者に通知する。その場合、設定管理部51は、その期間内にその駅IDとともに受信した数が最も多いBSSIDに対応するアクセスポイントを管理者に示してもよい。設定管理部51は、管理者により削除するように指定されたBSSIDをBSSIDテーブルから削除し、追加するように指定されたBSSIDをBSSIDテーブルに追加する。そして、設定管理部51は、変更前のBSSIDテーブルと変更後のBSSIDテーブルとの差異を更新情報として生成する。なお、設定管理部51は、管理者からの指定によらず、自動的にBSSIDテーブルを変更してもよい。
次に、サーバ2の設定管理部51は、生成した更新情報をサーバ通信部41を介して携帯端末1に送信する(ステップS605)。
一方、携帯端末1の識別情報更新部39は、第1無線通信部11を介してサーバ2から更新情報を受信すると、受信した更新情報に基づいて、記憶部20に登録されたBSSIDテーブルのBSSIDを更新する(ステップS606)。
これにより、駅又は駅の周辺に設置されたアクセスポイントが故障している場合、又は交換された場合に、各携帯端末は、BSSIDテーブルを自動的に更新することができる。
以上説明してきたように、携帯端末1は、交通機関から取得した路線情報及び時刻表情報に基づいて、乗車駅から降車駅までの経路及びユーザが乗車する乗車車両を決定する。さらに、携帯端末1は、路線情報に基づいて直前駅を決定するとともに、時刻表情報に基づいて、直前駅から降車駅までの移動時間を求め、求めた移動時間から所定時間を減じた時間を通知時間として決定する。そして、携帯端末1は、直前駅に設置されたアクセスポイントのBSSIDを受信してから通知時間が経過したときに、降車駅が近いことをユーザに通知する。したがって、携帯端末1は、ユーザが電車により移動するときに、降車駅に到着する前に、降車駅が近いことをユーザへ通知することが可能となる。ユーザは、降車駅に到着する前に通知を受けるため、降車駅に到着するまでの間に降車すべきか否かを判断することが可能となる。
また、携帯端末1は、乗車車両が直前駅に到着してから通知時間が経過したときに通知を行うため、直前駅に到着する前に電車の運行に遅延が発生していた場合でも、その影響を受けることなく、適切なタイミングで通知を行うことができる。
また、携帯端末1は、GPSを利用せず、無線LANのアクセスポイントのBSSIDを利用して、携帯端末1が位置する駅を検出することができるため、地下鉄のようにGPSの電波状況が良好でない路線でも、携帯端末1が位置する駅を精度良く検出することができる。さらに、電力の消費量も低減することができる。
なお、GPSを利用しない場合、ユーザが乗車した電車が次の駅に到着するまでは、その電車が上り又は下りの内の何れの方向に向かっているかを判断することは困難である。したがって、乗車駅の次の駅が降車駅であり且つユーザが乗車した電車の方向が誤っている場合、その電車が降車駅に到着する前にユーザに通知することができない可能性がある。しかしながら、乗車駅から上り方向に隣接する駅までの移動予定時間と、下り方向に隣接する駅までの移動予定時間が同程度である場合、通知時間は同程度となるため、ユーザが乗車した電車の方向が誤っていても、適切なタイミングで通知がなされる。一方、乗車駅から上り方向に隣接する駅までの移動予定時間と、下り方向に隣接する駅までの移動予定時間が大きく異なる場合でも、少なくともその電車が隣の駅に到着したタイミングで通知がなされる。
なお、本発明は、本実施形態に限定されるものではない。例えば、本実施形態では、経路決定部35は、路線情報、時刻表情報及び遅延情報に基づいて、乗車駅から降車駅までの経路及び乗車車両を決定するものとしたが、遅延情報を利用せずに経路及び乗車車両を決定してもよい。
また、携帯端末1は、乗車車両について遅延が発生しているか否かを判定し、遅延が発生していると判定した場合、遅延が発生している旨及び遅延している時間をサーバ2に送信してもよい。例えば、携帯端末1は、アクセスポイントから受信したBSSIDに基づいて現在乗車車両が位置している駅を特定し、時刻表情報から、その乗車車両がその特定した駅を出発すべき予定時刻を特定する。そして、特定した予定時刻と現在時刻との差が所定値以上である場合、その乗車車両について遅延が発生していると判定し、特定した予定時刻と現在時刻との差を遅延が発生している時間とする。サーバ2は、各携帯端末から受信した情報に基づいて、各乗車車両の遅延時間を算出し、算出した各乗車車両の遅延時間を各携帯端末に送信する。これにより、携帯端末1は、現在の遅延の状況をリアルタイムに認識することができ、適切な経路及び乗車車両を決定することができる。
また、携帯端末1は、時刻表情報から、GPS部19が検出した現在位置に係る駅を乗車車両が出発する予定時刻を特定し、特定した予定時刻と現在時刻との差が所定値以上である場合、その乗車車両について遅延が発生していると判定し、遅延が発生している旨及び遅延している時間をサーバ2に送信してもよい。サーバ2は、各携帯端末から受信した情報に基づいて、各乗車車両の遅延時間を算出し、算出した各乗車車両の遅延時間を各携帯端末に送信する。これにより、携帯端末1は、現在の遅延の状況をリアルタイムに認識することができ、適切な経路及び乗車車両を決定することができる。
また、本実施形態では、経路決定部35は、図6のステップS211で携帯端末1を携帯するユーザが乗車したと判定されてから、乗車駅から降車駅までの経路及び乗車車両を決定するものとしたが、ユーザが乗車する前に経路及び乗車車両を決定してもよい。その場合、ステップS209で乗車駅を決定した直後に、経路決定部35は、経路決定処理を実行し、経路及び乗車車両を決定する。
また、乗車駅決定部32は、降車駅と同様に、操作部13を用いてユーザにより選択された駅を乗車駅に決定してもよい。その場合、降車駅テーブルと同様に、乗車駅の候補が登録されている乗車駅テーブルを記憶部20に予め記憶しておく。乗車駅決定部32は、ユーザが乗車駅を選択するための乗車駅選択画面を表示部14に表示し、乗車駅の指定を受け付ける。その場合も、経路決定部35は、乗車駅決定部32が乗車駅を決定した直後に経路決定処理を実行し、経路及び乗車車両を決定する。
また、経路決定部35は、操作部13を用いてユーザにより選択された経路を乗車駅から降車駅までの経路に決定してもよい。その場合、経路の候補が登録されている経路テーブルを記憶部20に予め記憶しておく。経路決定部35は、ユーザが経路を選択するための経路選択画面を表示部14に表示し、経路の指定を受け付ける。
また、経路決定部35は、決定した経路上に乗換駅がある場合、各乗換駅を降車駅として、直前駅及び通知時間を決定する。制御部37は、ステップS509で、携帯端末1のユーザが降車駅で降車したと判定した後、その降車駅が乗換駅であるか否かを判定し、乗換駅である場合は、次に乗車する路線、乗車車両等の情報を表示部14に表示する。その場合、経路決定部35は、その次の乗換駅(又は図7のステップS304で決定された降車駅)を降車駅として、再度、直前駅及び通知時間を決定する。制御部37は、決定された直前駅及び通知時間について、図9の降車通知処理及び図11の通過通知処理を実行する。
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。