図1は、実施形態にかかる通知方法の例を説明する図である。実施形態にかかる通知方法が使用される駅の構内には、線路に沿ってホーム4があり、ホーム4にはアクセスポイント8が設置されている。また、ホーム4への電車2の進入を検出するためのセンサ6(6a、6b)が設置されている。図1の例では、センサ6aは、電車2のホーム4への進入開始を検出し、センサ6bは電車2のホーム4への進入終了を検出する。センサ6a、センサ6b、アクセスポイント8は、ネットワーク10を介して、通信装置20に接続されている。また、通信装置20は、各センサ6の設置位置をそのセンサ6の識別に使用する識別子に対応付けて記憶しているものとする。同様に、通信装置20は、アクセスポイント8の設置位置を、そのアクセスポイント8の識別に使用する識別子に対応付けて記憶している。
ユーザは、移動端末50を保持している。移動端末50は、予め、アクセスポイント8との通信に使用するためのSSID(Service Set Identifier)などの情報を保持しているとする。
移動端末50を使用しているユーザがホーム4に入ったため、移動端末50がアクセスポイント8から送信されている電波を受信したとする。すると、移動端末50とアクセスポイント8の間で接続が確立される(矢印A1)。なお、アクセスポイント8は、移動端末50との間の通信の確立の際に、通信装置20の情報を移動端末50に通知する。移動端末50は、移動端末50のアドレス等の情報を、アクセスポイント8を介して、通信装置20に通知する(矢印A2)。通信装置20は、移動端末50から受信した情報を記憶する。
その後、電車2が線路を走行してきたとする。また、センサ6aは、電車2がホーム4へ進入を開始することを検出したとする。センサ6aは、センサ6aの識別子と共に電車2のホーム4への進入の開始を検出したことを、通信装置20に通知する(矢印A3)。電車2がホーム4への進入を開始することが通知されると、通信装置20は、センサ6aの識別情報から、センサ6aが設置されているホーム4と、そのホーム4に設置されているアクセスポイント8を特定する。さらに、通信装置20は、特定したアクセスポイント8に接続している移動端末50を警告処理の対象として選択する。
通信装置20は、選択した移動端末50に対して、電車2がホーム4に進入していることを通知するための表示を行うことを要求する表示要求を送信する(矢印A4)。移動端末50は、通信装置20から表示要求を受信すると、表示要求に従って、電車に対する注意を喚起するための表示を、移動端末50の画面に表示する。
図1のG1は、移動端末50の画面に表示されている注意喚起用の表示の例である。G1の例では、ユーザがゲームなどを行っている際に、ユーザに注意喚起のためのメッセージを目視させるため、画面の最前面の中央付近に注意喚起のためのメッセージが表示されている。
実施形態にかかる方法では、通信装置20は、電車2が進入しようとしているホーム4に位置するアクセスポイント8に接続中の移動端末50に対して、ユーザが視認できるように注意喚起を行うための表示の要求を送信する。このため、電車2が進入中のホーム4に位置するアクセスポイント8に接続中の移動端末50では、画面に、電車2のホーム4への進入に伴う注意喚起が表示される。従って、実施形態にかかる方法では、移動端末50を使用中のユーザに対して、電車2に対する注意喚起を効果的に行うことができる。
なお、図1を参照しながら説明した表示は一例である。例えば、移動端末50を操作しているユーザの移動状況や移動端末50の使用状況に応じて、移動端末50での表示処理は変更されても良い。また、移動端末50の接続状況は、適宜、通信装置20とアクセスポイント8の間で更新されても良い。この場合、最新の接続状況に応じて、表示要求の送信先となる移動端末50が決定される。さらに、システムを使用する鉄道会社のポリシーによっても、通信装置20の処理は変更されうる。例えば、通信装置20は、電車2が進入するホーム4に位置していないユーザにもホーム4の運行情報として、進入中の電車2の情報などを表示させるための制御パケットを送信するように設定され得る。
また、以上の説明では、アクセスポイント8がホーム4に位置する場合を例として説明したが、これは一例に過ぎず、アクセスポイント8は、ホーム4に設置されていなくても、ホーム4に通信エリアを形成するように設置されていれば良い。
<装置構成>
図2は、通信装置20の構成の例を説明する図である。通信装置20は、通信部21、制御部30、記憶部40を備える。通信部21は、送信部22と受信部23を有する。制御部30は、取得部31、特定部32、および、生成部33を有する。記憶部40は、センサテーブル41、接続中端末テーブル42、電車テーブル43、メッセージテーブル45、設置位置情報46を格納する。
送信部22は、アクセスポイント8や移動端末50など、他の装置へパケットを送信する。受信部23は、アクセスポイント8や移動端末50など、他の装置からパケットを受信する。取得部31は、ホーム4に設置されているアクセスポイント8に接続している移動端末50の情報を取得する。特定部32は、センサ6から取得した情報を用いて、電車2が進入しているホーム4や番線を特定する。生成部33は、注意喚起のためのメッセージの表示を要求する表示要求を生成する。生成部33は、生成した表示要求を、送信部22を介して、表示要求の送信先の移動端末50に送信する。
センサテーブル41は、駅構内に設置されているセンサ6の識別子と設置位置などの情報を対応付ける。接続中端末テーブル42は、アクセスポイント8ごとに、接続している移動端末50の情報を格納する。なお、駅の構内に複数のアクセスポイント8が設置されている場合、通信装置20は、アクセスポイントの設置位置を示す設置位置情報46を記憶しているものとする。駅の構内が1つのアクセスポイント8でカバーされている場合、通信装置20は、設置位置情報46を保持していなくても良い。電車テーブル43は、センサ6が電車2から取得する識別子と、電車2の行き先などの情報を対応付ける。メッセージテーブル45は、制御情報の通知先の移動端末50で表示されるメッセージの生成に使用される。センサテーブル41、接続中端末テーブル42、電車テーブル43、メッセージテーブル45の例は後述する。
図3は、通信装置20のハードウェア構成の例を示す。通信装置20は、プロセッサ101、メモリ102、入力装置103、出力装置104、バス105、ネットワークインタフェース109を備える。通信装置20は、さらに、記憶装置106、可搬記憶媒体駆動装置107の1つ以上を有していても良い。プロセッサ101は、Central Processing Unit(CPU)を含む任意の処理回路であり、メモリ102や記憶装置106に記憶されたプログラムを実行することができる。プロセッサ101は、制御部30を実現する。メモリ102は、Read Only Memory(ROM)とRandom Access Memory(RAM)を備え、記憶部40として動作する。また、通信部21は、ネットワークインタフェース109とプロセッサ101により実現される。バス105は、プロセッサ101、メモリ102、入力装置103、出力装置104、記憶装置106、可搬記憶媒体駆動装置107、ネットワークインタフェース109を、相互にデータの送受信が可能になるように接続する。
入力装置103は、キーボードやマウスなど、情報の入力に使用される任意の装置であり、出力装置104は、ディスプレイを含む表示デバイスなど、データの出力に使用される任意の装置である。可搬記憶媒体駆動装置107は、メモリ102や記憶装置106のデータを可搬記憶媒体108に出力することができ、また、可搬記憶媒体108からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体108は、Compact Disc Recordable(CD−R)やDigital Versatile Disk Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
図4は、移動端末50の構成の例を説明する図である。移動端末50は、通信部51、制御部60、記憶部70、表示装置114を備える。通信部51は送信部52と受信部53を有する。制御部60は、接続処理部61、判定部62、表示処理部63、アプリケーション処理部64を有する。記憶部70は表示設定テーブル71を格納する。
送信部52は、アクセスポイント8や通信装置20など、他の装置へパケットを送信する。受信部53は、アクセスポイント8や通信装置20など、他の装置からパケットを受信する。接続処理部61は、アクセスポイント8との間の接続処理や、移動端末50の情報を通信装置20へ通知するための処理を行う。判定部62は、移動端末50にかかる振動の大きさなどを用いて、移動端末50が移動しているかを判定する。アプリケーション処理部64は、移動端末50で動作するアプリケーションによる処理を行う。表示処理部63は表示装置114が備える画面への表示を制御する。例えば、表示処理部63は、適宜、アプリケーション処理部64から指定された画像を表示装置114の画面に表示する。さらに、表示処理部63は、通信装置20から受信したパケットによって指定された表示メッセージの表示方法を表示設定テーブル71から特定し、特定した方法によって、取得したメッセージを表示装置114に表示する。
図5は、移動端末50のハードウェア構成の例を説明する図である。移動端末50は、プロセッサ111、メモリ112、入力装置113、表示装置114、センサ115、無線処理回路116、バス117を備える。プロセッサ111は、制御部60として動作する。メモリ112は記憶部70として動作する。バス117は、プロセッサ111、メモリ112、入力装置113、表示装置114、センサ115、無線処理回路116をデータの入出力が可能なように接続する。
メモリ112は、ROMとRAMを備えるものとする。プロセッサ111は、ROMに記録されているプログラムを読み込んで、制御部60を実現する。入力装置113は、ボタンなど、情報の入力に使用される任意の装置であり、表示装置114は、ディスプレイを含む表示デバイスである。なお、移動端末50は、表示装置114以外にも、データの出力に使用される任意の出力装置を備えることができる。センサ115は、移動端末50が移動しているかを判定するための振動等を計測する。判定部62は、センサ115とプロセッサ111によって実現される。無線処理回路116は、移動端末50が通信装置20やアクセスポイント8などと通信する際の無線通信の処理を行う。通信部51は、プロセッサ111と無線処理回路116によって実現される。移動端末50は、スマートフォンを含む携帯電話端末、タブレット、コンピュータ等として実現される。
<第1の実施形態>
以下、第1の実施形態にかかる通信方法を、移動端末50の接続処理、通信装置20と移動端末50が保持する情報の例、通信装置20から移動端末50への通知、移動端末50での表示処理、解除処理に分けて説明する。
(1)移動端末50の接続処理
ユーザが移動端末50を保持して駅構内に入ると、移動端末50は、アクセスポイント8から送信された信号を受信する。移動端末50は、予め、駅構内に設置されているアクセスポイント8との通信に使用可能なSSIDなどの情報を記憶部70に記憶しているので、アクセスポイント8との接続を確立すると共に、移動端末50自身の情報を通信装置20に通知する。
図6は、通信装置20が移動端末50の情報を取得する方法の例を説明するシーケンス図である。アクセスポイント8は、定期的に、アクセスポイント8との間の接続を確立しようとする移動端末50が使用可能な情報(AP情報)を出力する(矢印A11)。移動端末50の接続処理部61は、アクセスポイント8から受信したAP情報と、予め記憶しているSSIDなどを用いて、アクセスポイント8との間で接続を確立するための処理を行う(矢印A12)。このとき、接続処理部61は、送信部52を介して、移動端末50のMACアドレスをアクセスポイント8に通知する。一方、アクセスポイント8は、移動端末50に対して、通信装置20の情報を通知する。接続処理部61は、受信部53を介して、通信装置20の情報を取得する。
接続処理部61は、通信装置20に対して、移動端末50に割り当てられている端末IDとMACアドレスを通知する(矢印A13)。なお、矢印A13の処理において、接続処理部61は、さらに、移動端末50の状態を通知する情報も通信装置20に通知しても良い。通信装置20中の取得部31は、移動端末50から取得した情報を接続中端末テーブル42に記録する。なお、通信装置20に通知される移動端末50の状態を示す情報には、通信装置20からの警告の表示を実現させるために動作する警告アプリケーションが起動しているかなどの情報が含まれる。
通信装置20は、定期的にアクセスポイント8にアクセスすることにより、アクセスポイント8に接続している移動端末50の情報を更新する(矢印A14)。取得部31は、アクセスポイント8から取得した情報を用いて、適宜、接続中端末テーブル42を更新する。なお、矢印A14の通信において、通信装置20は、アクセスポイント8から、そのアクセスポイント8に接続している移動端末50のMACアドレスを取得することで、各移動端末50の接続先などの情報の更新を行う。例えば、駅の構内に、アクセスポイント8aとアクセスポイント8bが設置されていて、移動端末50がアクセスポイント8aと接続した後でアクセスポイント8bの通信エリアに移動したとする。この場合、移動端末50がアクセスポイント8bに接続した後で、アクセスポイント8bからアクセスポイント8bに接続している装置として移動端末50のMACアドレスが通信装置20に通知される。
なお、矢印A14の処理と並行して、通信装置20は、アクセスポイント8を介して、定期的に、移動端末50の状態を表わす情報を取得しても良い。通信装置20が移動端末50の状態を表わす情報を定期的に取得する場合、取得部31は、移動端末50について取得した情報も用いて、適宜、接続中端末テーブル42を更新する。なお、図6を参照しながら説明した処理は一例である。例えば、移動端末50が予め通信装置20の情報を記憶していても良い。この場合、移動端末50は、通信装置20の情報をアクセスポイント8経由で取得しなくても良い。
図7は、接続中端末テーブル42の例を説明する図である。通信装置20中の取得部31は、図6の矢印A13やA14によって、移動端末50やアクセスポイント8から取得した情報を、接続中端末テーブル42に記録する。接続中端末テーブル42には、端末ごとに、その端末の情報が記録される。警告アプリケーションの起動状況が移動端末50から通知される場合、取得部31は、警告アプリケーションが通知していることが通知された移動端末50の情報を、接続中端末テーブル42に記録する。図7は、移動端末50の状態を示す情報として、ユーザアプリケーションの起動状況や移動端末50の移動状況が通知される場合に生成される接続中端末テーブル42の例である。なお、ユーザアプリケーション(ユーザアプリ)は、移動端末50で動作している警告アプリケーション以外のアプリケーションを指すものとする。
図7に示す接続中端末テーブル42には、アクセスポイント8の識別子、端末ID、移動端末50のアドレス、移動端末50でのユーザアプリケーション起動状況、移動状況、送信状態が含まれる。以下、アドレスはMACアドレスである場合を例として説明するが、移動端末50が自装置に割り当てられたIPアドレスを通信装置20に通知する場合、接続中端末テーブル42には、移動端末50に割り当てられたIPアドレスが記録され得る。
ユーザアプリケーション起動状況は、移動端末50において、警告アプリケーション以外に起動中のアプリケーションがあるかを示す。アプリケーション処理部64において、警告アプリケーション以外のいずれかのアプリケーションに対する処理が行われている場合、接続処理部61は、ユーザアプリケーションが起動中であることを通信装置20に通知する。また、移動状況は、移動端末50中の判定部62において、移動端末50を保持しているユーザが移動中であると判定されているかを示す。ここで、判定部62は、センサ115で所定以上の大きさの振動が所定以上の頻度で検出されている場合に、移動端末50が移動中であると判定するものとする。送信状況は、ユーザへの注意喚起のための表示処理を要求するための表示要求を送信し、かつ、表示処理の解除を要求していない移動端末50であるかを示す。送信状態=送信済みは、通信装置20から注意喚起のための表示処理が要求された後で、解除が要求されていないため、注意喚起のための画面を表示中の移動端末50であることを示す。一方、送信状態=未送信は、通信装置20から注意喚起のための表示処理が要求されていないか、過去に注意喚起のための表示処理が要求されてもすでに解除が要求されたため、注意喚起のための画面を表示していない移動端末50であることを示す。図7の例では、移動端末50aと移動端末50cでは、注意喚起のための画面が表示されているが、移動端末50bには注意喚起用の画面が表示されていない。
接続中端末テーブル42を用いると、個々の移動端末50についての使用状況が予測できる。例えば、移動端末50aは、AP1で識別されるアクセスポイント8に接続しており、ユーザアプリケーションの処理を行っている。さらに、移動端末50aの移動状況は移動中であることから、移動端末50aのユーザがAP1で識別されるアクセスポイント8の周辺で移動しながらアプリケーションの処理をしていることが予測できる。移動端末50bは、AP1で識別されるアクセスポイント8に接続しており、ユーザアプリケーションの処理を行っておらず、移動もしていない。これらの状況より、移動端末50bのユーザはAP1で識別されるアクセスポイント8の周辺で静止しており、移動端末50bの操作も行っていないことが予測できる。さらに、移動端末50cは、AP2で識別されるアクセスポイント8に接続しており、ユーザアプリケーションの処理を行っているが、移動していない。これらの状況より、移動端末50cのユーザはAP2で識別されるアクセスポイント8の周辺で静止して、移動端末50cの操作を行っていることが予測できる。
(2)通信装置20と移動端末50が保持する情報の例
まず、電車2がどのホーム4に進入しているかの特定を行うために通信装置20が保持しているテーブルの具体例を説明する。
図8は、センサテーブル41の例を説明する図である。センサテーブル41には、センサID、種別、番線、方向が含まれている。センサIDはセンサ6の識別に使用される識別子である。番線は、進入を確認している線路の識別に使用される。種別は、そのセンサ6によって検出できる情報の種類を示し、センサの設置位置に応じて一意に決定される。例えば、センサID=001−1のセンサは、ホーム4の1番線への電車2の進入の開始位置に設置されているので、1番線の「進入開始」を検出する。センサID=001−2のセンサは、ホーム4の2番線への電車2の進入の開始位置に設置されているので、2番線へ電車2の「進入開始」を検出する。さらに、センサID=002−1のセンサは、ホーム4の1番線への電車2の進入の終了位置に設置されているので、1番線へ電車2が「進入済」であることを検出する。同様に、センサID=002−2のセンサは、ホーム4の2番線への電車2の進入の終了位置に設置されているので、2番線の「進入済」であることを検出する。
センサテーブル41中の「方向」は、センサが検出する電車が上り方向と下り方向のいずれに走行している電車2であるかを示す。1番線に上り電車2が到着し、2番線に下り列車が到着する場合、図8に示すように、1番線に設置されているセンサ(ID=001−1、002−1)では上り方面、2番線に設置されているセンサ(ID=001−2、002−2)では下り方面の電車2が検出される。
図9は、電車テーブル43の例を説明する図である。電車テーブル43は、電車についてユーザに通知する可能性のある情報を記録する。図9の例では、電車ID、路線名、種別、行き先が含まれている。図9の例では、電車ID=T1の電車は、南武線の川崎行きの快速である。電車ID=T2の電車は、南武線の川崎行きの各駅停車である。さらに、電車ID=T3の電車は、南武線の川崎行きの快速である。
次に、通信装置20から移動端末50への通知を行う際に使用するテーブルや、移動端末50での表示処理に使用されるテーブルの具体例を説明する。
図10は、メッセージテーブル45の例を説明する図である。メッセージテーブル45には、移動端末50に対して注意喚起のための画面で表示することを要求するメッセージ、各メッセージが使用される条件、メッセージの表示方法IDが含まれている。なお、メッセージは、特定された電車2の情報と置換するための変数を含んでいても良い。例えば、図10のNo.1のメッセージには、メッセージの文面に丸印が含まれている。メッセージ中の丸印は、特定された電車2の情報と置換するための変数である。メッセージの変数部分の置換処理が行われる際の手順等は、メッセージの送信処理の例の説明(図13)の際に詳しく説明する。
各メッセージが使用される条件は、接続中端末テーブル42で特定される各移動端末50の状態を用いて表わされる。例えば、通知先の移動端末50が、ユーザアプリケーションの起動中であって、移動していない場合、メッセージテーブル45中のNo.1のメッセージが使用される。一方、通知先の移動端末50が、ユーザアプリケーションの起動中であって、移動している場合、メッセージテーブル45中のNo.2のメッセージが使用される。同様に、通知先の移動端末50でユーザアプリケーションが起動されていない場合、メッセージテーブル45中のNo.3のメッセージが使用される。
図10の例では、メッセージテーブル45の各メッセージには、表示方法の指定に使用される表示方法IDが対応付けられている。表示方法IDは、通信装置20から移動端末50に対して、メッセージの表示方法として通知される情報である。例えば、No.1のメッセージの変数の置換処理を行って得られたメッセージは、表示方法ID=D2に対応付けて、送信対象の移動端末50に送信される。同様に、No.2のメッセージは、表示方法ID=D1に対応付けて、送信対象の移動端末50に送信される。また、No.3のメッセージは、表示方法ID=D3に対応付けて、送信対象の移動端末50に送信される。移動端末50中の表示処理部63は、後述する表示設定テーブル71(図11)を用いて、通信装置20から通知された表示方法IDで特定される方法でメッセージを表示するための画像処理を行う。なお、実装によっては、オペレータの設定を容易にするなどの目的から、メッセージテーブル45にも、表示方法IDに対応する表示方法の情報が含められても良い。
図11は、表示設定テーブル71の例を説明する図である。表示設定テーブル71は、通信装置20から表示要求を受信した移動端末50において使用される。表示設定テーブル71には、表示方法IDと表示方法が対応付けられている。表示処理部63は、通信装置20から受信した表示要求において指定されている表示方法IDをキーとして、表示設定テーブル71を検索することにより、表示方法を特定する。図11の例では、表示方法ID=D1は、中央に大きくポップアップ表示することを表わす。表示方法ID=D2は、画面の上部に2行でメッセージを表示することを表わす。さらに、表示方法ID=D3は、画面の中央に2行でメッセージを表示することを表わす。
(3)通信装置20から移動端末50への通知
以下、通信装置20が図7〜図10に示す情報を保持しており、かつ、移動端末50が図11に示す情報を保持している場合を例として、通信装置20が移動端末50に通知を行うときの処理の例を説明する。
図12は、通信装置で行われる処理の例を説明するフローチャートである。図12は、システム中のセンサ6から通信装置20がパケットを受信したときに行われる処理の例を示している。なお、図12は一例であり、ステップS2、S3の処理の順序が任意に変更されるなど、実装に応じて処理の手順は変更され得る。さらに、ステップS6とS7の処理の順序も任意に変更され得る。
システム中のセンサ6から通信装置20に送信されたパケットは、受信部23を介して、特定部32に出力される。特定部32は、ホーム4への進入開始を検出するセンサ6から、センサIDと電車IDを受信したかを、センサテーブル41(図8)を用いて判定する(ステップS1)。センサIDと電車IDを、ホーム4への進入開始を検出するセンサ6から受信した場合、特定部32は、受信パケット中のセンサIDに対応付けられている種別、番線、方向の情報を取得する(ステップS2)。例えば、センサ6aから通信装置20に対して、センサID=001−1、電車ID=T3という情報を含むパケットが送信されてきたとする。この場合、特定部32は、受信パケットから、「センサID=001−1」という情報を抽出し、「センサID=001−1」をキーとして、センサテーブル41を検索する。この処理により、パケットの送信元のセンサ6が、ホーム4への電車2の進入の検出に使用されていることと、1番線に上り方向に向かう電車2が進入していることが特定される。
次に、特定部32は、電車テーブル43を参照して、受信パケット中の電車IDに対応付けられている路線名、種別、行き先の情報を取得する(ステップS3)。例えば、センサID=001−1、電車ID=T3という情報を含むパケットが通信装置20に送信されたとする。この場合、特定部32は、電車テーブル43(図9)を参照して、ホーム4に進入しようとする電車2は、南武線の川崎行きの快速であることを特定する。
その後、生成部33と送信部22によって、メッセージ送信処理が行われる(ステップS4)。メッセージ送信処理では、生成部33は、表示要求を生成し、表示要求を、送信部22を介して送信する。メッセージ送信処理の詳細については、図13を参照しながら詳しく説明する。ステップS4の処理の後、ステップS1以降の処理が繰り返される。
一方、ステップS1において、センサIDと電車IDを、ホーム4への進入開始を検出するセンサ6から受信していないと判定したとする(ステップS1でNo)。この場合、特定部32は、ホーム4への進入終了を検出するセンサ6から、センサIDと電車IDを受信したかを、センサテーブル41(図8)を用いて判定する(ステップS5)。ホーム4への進入終了を検出するセンサ6から、センサIDと電車IDを受信していない場合、特定部32は処理を終了する(ステップS5でNo)。一方、センサIDと電車IDを、ホーム4への進入終了を検出するセンサ6から受信した場合、特定部32は、受信パケット中のセンサIDに対応付けられている種別、番線、方向の情報を取得する(ステップS5でYes、ステップS6)。次に、特定部32は、電車テーブル43を参照して、受信パケット中の電車IDに対応付けられている路線名、種別、行き先の情報を取得する(ステップS7)。その後、生成部33と送信部22によって、解除処理が行われる(ステップS8)。解除処理では、生成部33は、注意喚起のための画面表示の解除を要求するための解除要求を生成する。送信部22は、生成部33で生成された解除要求を送信する。解除処理の詳細については、図16を参照しながら詳しく説明する。ステップS8の処理の後、ステップS1以降の処理が繰り返される。
図13は、表示要求の送信処理の例を説明するフローチャートである。図13は、図12のステップS4で行われる処理の例を詳しく説明している。図13において、定数Nは、表示要求の送信先となる移動端末50の総数を表わすものとする。変数nは、表示要求の送信処理の対象となった移動端末50の数の計数に使用される。
まず、生成部33は、電車2が進入するホーム4に通信エリアを形成するアクセスポイント8に接続中の移動端末50を選択する(ステップS20)。例えば、電車2が進入するホーム4にAP1とAP2が通信エリアを形成している場合、図7の移動端末50a〜50cが表示要求の送信対象として選択される。生成部33は、変数nを1に設定する(ステップS21)。生成部33は、表示要求の送信先として特定された移動端末50のうちのn番目の移動端末50でのユーザアプリケーションの起動状況と移動状況を、接続中端末テーブル42(図7)から取得する(ステップS22)。例えば、処理対象の移動端末50が図7中の移動端末50cであるとする。この場合、生成部33は、処理対象の移動端末50cは、ユーザアプリケーションの起動中であるが、移動していないことを特定する。
生成部33は、n番目の移動端末50のアプリケーションの起動状況と移動状況の組み合わせに応じて、移動端末50での表示を要求するメッセージと、メッセージの表示方法を識別する表示方法IDを決定する。メッセージと表示方法IDの決定処理に際して、生成部33は、メッセージテーブル45を参照する(ステップS23)。例えば、移動端末50cでは、アプリケーションの起動中であるが、移動していないので、図10に示すメッセージテーブル45のNo.1のメッセージが使用される。また、移動端末50cに通知される表示方法IDはD2である。なお、移動端末50cは図11に示す表示設定テーブル71を保持しているので、後述するように、移動端末50cに表示方法ID=D2が通知されると、移動端末50cは、画面の上部に2行で情報を表示することが要求されたと判定できる。
生成部33は、移動端末50に表示を要求するメッセージ中に置換用の文字列が含まれているかを判定する(ステップS24)。移動端末50に表示を要求するメッセージ中に置換用の文字列が含まれている場合、生成部33は、電車テーブル43から取得した路線名、種別、行き先などの情報を、メッセージに埋め込むことにより、表示用のメッセージを生成する(ステップS24でYes、ステップS25)。例えば、移動端末50cへの表示要求を生成する際に使用するNo.1のメッセージは、「○番線に○線○○ ○○行きがきます。」であるので、置換用の文字列を含んでいる。そこで、生成部33は、図12のステップS2、S3で取得した情報をメッセージに埋め込む。ここで、「○番線」は電車が進入するホームの番線、「○線」は路線名、「○○ ○○行き」は、進入中の電車の種別と行き先の情報が埋め込み処理に使用される。センサID=001−1、電車ID=T3という情報を含むパケットが通信装置20に送信された場合、特定部32によって、南武線の川崎行きの快速が1番線に進入中であることが特定されている。そこで、生成部33は、置換処理により、「1番線に南武線快速 川崎行きがきます。」というメッセージを生成する。
生成部33は、表示用のメッセージと表示方法IDを含む表示要求を生成し、送信部22を介して、処理対象の移動端末50に割り当てられたアドレスに宛てて表示要求を送信する(ステップS26)。例えば、生成部33は、移動端末50cに対して、「1番線に南武線快速 川崎行きがきます。」というメッセージと、表示方法ID=D2という情報を含む表示要求を送信する。なお、生成部33は、移動端末50cに割り当てられたアドレスを、接続中端末テーブル42を用いて特定できる。その後、生成部33は、表示要求を送信した移動端末50について、接続中端末テーブル42中の送信状態を更新する(ステップS27)。例えば、移動端末50cに対しての表示要求が送信されると、図7に示すように、移動端末50cのエントリ中の送信状態が「送信ずみ」に設定される。
生成部33は、変数nと定数Nを比較する(ステップS28)。変数nが定数N以上でない場合、生成部33は、表示要求の送信先となっている全ての移動端末50に対する処理が終わっていないと判定し、変数nを1つインクリメントしてからステップS22に戻る(ステップS28でNo、ステップS29)。一方、変数nが定数N以上である場合、生成部33は、表示要求の送信先となっている全ての移動端末50に対する処理が終わったと判定し、図12のステップS1に戻る(ステップS28でYes)。
一方、ステップS24において、移動端末50に表示を要求するメッセージ中に置換用の文字列が含まれていないと判定された場合、生成部33は、ステップS26以降の処理を行う(ステップS24でNo)。例えば、処理対象の移動端末50が図7中の移動端末50aであるとする。この場合、処理対象の移動端末50aは、ユーザアプリケーションの起動中である上、移動中でもある。このため、移動端末50aには、メッセージテーブル45のNo.2のメッセージと表示方法ID=D1の表示方法が適用される。この場合、メッセージ中には、置換用の文字列が含まれていない。このため、生成部33は、表示用のメッセージが「電車がきます。注意してください」であって、表示方法ID=D1であることを含む表示要求を、移動端末50aに送信する。
(4)移動端末50での表示処理
以下、移動端末50で行われる処理の例を、移動端末50の使用状況ごとに分けて説明する。なお、以下の説明では、移動端末50が図11に示す表示設定テーブル71を保持しているとする。
(4.1)ユーザアプリケーションの処理中で移動が観測されない場合
ユーザアプリケーションの処理中であるが、移動中ではないと判定された移動端末50には、表示用のメッセージと共に、表示方法ID=D2という情報を含む表示要求が送信される。
移動端末50の受信部53は、表示要求を受信すると、表示処理部63に出力する。表示処理部63は、表示要求から表示方法IDを抽出すると、抽出した表示方法IDをキーとして、表示設定テーブル71を検索する。表示方法ID=D2には、上部に2行で表示する表示方法が対応付けられている。そこで、表示処理部63は、アプリケーション処理部64から要求された表示の上部に、表示要求で通知されたメッセージを2行で表示するための表示画面を生成する。このとき、表示処理部63は、メッセージの表示を行う位置にアプリケーションによる表示が重ならないように、適宜、アプリケーション処理部64から入力された画像の表示倍率を変更しても良い。表示処理部63は、生成した表示画面を、表示装置114の画面に表示させる。換言すると、表示方法ID=D2は、表示メッセージを、ユーザアプリケーションによる表示になるべく重ならないように表示することを指定する表示方法IDとして使用されうる。
図14のG11は、表示方法ID=D2という情報を含む表示要求を受信した移動端末50cでの画面の表示例を説明する図である。なお、移動端末50cには、図13のステップS25などを参照しながら説明したように、「1番線に南武線快速 川崎行きがきます。」というメッセージが通知されてきているものとする。移動端末50cのユーザはユーザアプリケーションの処理を行うために移動端末50cの画面を見ているため、G11に示すように表示されたメッセージを視認することが予想される。
ユーザアプリケーションを実行しているが移動していない移動端末50のユーザについては、駅構内に立ったままか、駅構内に備えられた椅子などに座った状態でユーザアプリケーションの処理を行っていることが想定される。これらの場合、ホーム4への電車2の進入に伴って、移動端末50のユーザに差し迫った危険が発生する可能性は低いと考えられる。このため、通信装置20は、電車の到着をユーザに通知しつつ、ユーザの処理を妨げにくくするため、G11に示すような表示を行うための表示要求を、移動端末50に送信している。
(4.2)ユーザアプリケーションの処理中、かつ、移動中の移動端末50の場合
ユーザアプリケーションの処理中であり、移動中でもあると判定された移動端末50には、表示用のメッセージと共に、表示方法ID=D1という情報を含む表示要求が送信される。表示処理部63は、受信部53を介して表示要求を取得すると、取得した表示要求から表示方法IDを抽出する。表示処理部63は、抽出した表示方法IDをキーとして、表示設定テーブル71を検索することにより、表示方法ID=D1には、画面中央に大きくポップアップ表示する表示方法が対応付けられていることを認識する。そこで、表示処理部63は、アプリケーション処理部64から要求された表示の前面で、画面の中央に大きく目立つようにポップアップ表示を行い、ポップアップウィンドウの中に、通知されたメッセージを表示する。なお、ポップアップウィンドウの大きさや、ポップアップウィンドウ中に表示するメッセージのフォントの大きさなどは、予め、記憶部70に記憶されているものとする。
図14のG12は、表示方法ID=D1という情報を含む表示要求を受信した移動端末50aでの画面の表示例を説明する図である。なお、移動端末50aには、図13を参照しながら説明したように、「電車がきます。注意してください。」というメッセージが通知されてきているものとする。G12に示す例では、移動端末50aのユーザが、ユーザアプリケーションを起動しているが、ユーザアプリケーションの画面と重なるように、大きくポップアップウィンドウが表示される。ポップアップウィンドウの大きさ等は実装に応じて調整されるが、ユーザアプリケーションの処理の継続が困難になる程度に、ユーザアプリケーションによる表示が隠れる大きさでポップアップウィンドウが表示されることが望ましい。G12の例では、ユーザアプリケーションによる表示の半分近くが隠れる程度に大きく表示が行われているので、ユーザアプリケーションの処理に集中しているユーザに対しても、効果的に注意喚起用のメッセージを視認させることができる。また、メッセージには、詳細な情報が含まれておらず、危険を知らせる情報に限定されているので、G11などに示した表示に比べて、ユーザが危険を認識しやすくなっている。
G12に示す表示は、ユーザアプリケーションを実行しており、かつ、移動している移動端末50に適用される。すなわち、G12に示す表示が適用される移動端末50のユーザは、移動しながらユーザアプリケーションを実行していることになる。駅構内で電車の到着時に移動する乗客は、ホーム4が混雑している場合などは特にホーム4の端を移動することが多い。また、ホーム4の中央を移動しているとしても、電車の到着に伴って他の乗客が移動することで、ユーザに危険が及びやすい。このため、通信装置20は、移動しながらユーザアプリケーションを処理しているユーザの移動端末50には、画面に目立つように危険を知らせる表示を行うことを要求するための表示要求を送信する。
(4.3)ユーザアプリケーションが起動されていない移動端末50の場合
ユーザアプリケーションが起動されていない移動端末50には、表示用のメッセージと共に、表示方法ID=D3という情報を含む表示要求が送信される。移動端末50の表示処理部63は、表示要求から表示方法ID=D3を抽出すると、抽出した表示方法IDをキーとして、表示設定テーブル71を検索する。表示方法ID=D3には、中央に2行で表示する表示方法が対応付けられている。そこで、表示処理部63は、表示中の画面の表示に重ねて、表示要求で通知されたメッセージを2行で表示するための表示画面を生成する。表示処理部63は、生成した表示画面を、表示装置114の画面に表示させる。
図15のG21は、表示方法ID=D3という情報を含む表示要求を受信した移動端末50での画面の表示例を説明する図である。以下、移動端末50dが表示方法ID=D3という情報を含む表示要求を受信したとする。なお、移動端末50dには、「電車がきます。注意してください。」というメッセージが通知されてきているものとする。G21に示す例では、移動端末50dのユーザは、ユーザアプリケーションを起動していないので、画面の中央にメッセージを表示しても、ユーザの処理の妨げになりにくい。このため、通信装置20は、G21に示すような表示を行うための表示要求を、移動端末50に送信している。
(4.4)電車2の進入が確認されたホーム以外に位置する移動端末50の場合
通信装置20において、生成部33は、電車2の進入が確認されたホーム中のホーム4に接続していない移動端末50を表示要求の送信対象として特定しない。このため、電車2の進入が確認されたホーム中のホーム4に接続していない移動端末50に対して表示要求は送信されない。このため、電車2がホーム4に進入してきても、電車2の進入が確認されたホーム中のホーム4に接続していない移動端末50では、図15のG22に示すように、注意喚起用の表示は行われない。
(5)解除処理
図16は、メッセージの解除処理の例を説明するフローチャートである。図16は、図12のステップS8で行われる処理の例を詳しく説明している。すなわち、ホーム4への進入終了を検出するセンサ6から、センサIDと電車IDが通知された場合に、図16に示す処理が行われる。
生成部33は、接続中端末テーブル42を参照することにより、送信状態=送信済みに設定されている移動端末50を特定する(ステップS41)。生成部33は、処理対象として選択した移動端末50のアドレスを接続中端末テーブル42から取得する(ステップS42)。生成部33は、取得したアドレスを宛先とした解除要求を生成する。ここで、解除要求は、表示要求によって要求されているメッセージの表示を終了することを移動端末50に通知可能な任意の制御パケットである。生成部33は、送信部22を介して、解除要求を送信する(ステップS43)。生成部33は、接続中端末テーブル42において、解除要求を送信した移動端末50に対応付けられた送信状態を「未送信」に設定する(ステップS44)。生成部33は、更新後の接続中端末テーブル42に、送信状態=送信済みに設定されている移動端末50があるかを判定する(ステップS45)。送信状態=送信済みに設定されている移動端末50がある場合、生成部33は、ステップS42以降の処理を繰り返す(ステップS45でYes)。一方、送信状態=送信済みに設定されている移動端末50がない場合、生成部33は処理を終了する(ステップS45でNo)。例えば、接続中端末テーブル42が図7に示す状態である場合、生成部33は、移動端末50aと移動端末50cの両方に解除要求を送信すると、処理を終了する。
次に、解除要求を受信した場合の移動端末50の処理を説明する。受信部53は、解除要求を受信すると、解除要求を表示処理部63に出力する。表示処理部63は、解除要求を取得すると、注意喚起のための画像を表示中であるかを判定する。注意喚起のための画像を表示中である場合、表示処理部63は、注意喚起のためのメッセージの表示を中断する。
図17は、移動端末50で行われる表示処理の例を説明するフローチャートである。図17を参照しながら、移動端末50がアクセスポイント8を介して通信装置20と通信可能な状態にいる間に移動端末50で行われる処理の例を、表示要求の処理や解除要求の処理も含めて説明する。
移動端末50中の接続処理部61は、駅構内のアクセスポイント8と接続していないと判定すると、表示処理部63に対して、注意喚起用のメッセージの表示処理の停止を要求する停止要求を出力する。接続処理部61から停止要求を出力したかを判定する(ステップS51)。停止要求を表示処理部63に出力していない場合、接続処理部61は、移動端末50でのユーザアプリケーションの起動状況、移動状況を取得する(ステップS52)。ここで、ユーザアプリケーションの起動状況はアプリケーション処理部64から、移動状況は判定部62から取得される。接続処理部61は、ユーザアプリケーションの起動状況、移動状況を通信装置20に送信するための処理を行う(ステップS53)。
表示処理部63は、通信装置20から通知された情報に、メッセージと表示方法IDが入っているかを判定する(ステップS54)。通信装置20からメッセージと表示方法IDが通知されている場合、移動端末50は、表示要求を受信している(ステップS54でYes)。表示処理部63は、表示方法IDに対応付けられている表示方法を、表示設定テーブル71から特定する(ステップS55)。表示処理部63は、特定した表示方法を用いて、通信装置20から通知されたメッセージを表示するための処理を行う(ステップS56)。その後、ステップS51以降の処理が繰り返される。
通信装置20から通知された情報に、メッセージと表示方法IDが入っていない場合、表示処理部63は、通信装置20から解除要求を受信しているかを判定する(ステップS54でNo、ステップS57)。通信装置20から解除要求を受信している場合、表示処理部63は、注意喚起用のメッセージの表示を終了し、ステップS51に戻る(ステップS57でYes、ステップS58)。通信装置20から解除要求を受信していない場合、ステップS51以降の処理が繰り返される(ステップS57でNo)。
一方、ステップS51において、表示処理部63に対して停止要求が出力されたとする(ステップS51でYes)。この場合、表示処理部63は、注意喚起用のメッセージが表示中であるかを判定する(ステップS59)。注意喚起用のメッセージが表示中である場合、表示処理部63は、注意喚起用のメッセージの表示を終了する(ステップS59でYes、ステップS60)。注意喚起用のメッセージが表示中ではない場合、表示処理部63は、処理を終了する(ステップS59でNo)。
図18は、移動端末50で行われる通信処理の例を説明するフローチャートである。図18の例では、移動端末50は、接続先のアクセスポイント8から定期的に応答要求を受信するものとする。応答要求は、移動端末50の最新状況を通信装置20に通知することを要求する制御パケットであるとする。移動端末50は、応答要求を受信すると、通信装置20宛に、移動端末50の表示状況、アプリケーション起動状況、移動状況などを応答情報として通知する。
移動端末50は、警告通知を行うアプリケーション(警告アプリケーション)の処理を開始する(ステップS71)。移動端末50を携帯したユーザが駅に入ると、受信部53は、駅構内に設置されているアクセスポイント8からWiFiの電波を通信可能な強度で受信したかを判定する(ステップS72)。WiFiの電波を通信可能な強度で受信していない場合、移動端末50は待機して、ステップS72に戻る(ステップS72でNo)。WiFiの電波を通信可能な強度で受信している場合、接続処理部61は、接続要求、移動端末50を識別する端末ID、移動端末50に割り当てられたアドレスを、通信装置20に送信する(ステップS73)。接続処理部61は、アクセスポイント8から応答要求を受信したかを判定する(ステップS74)。応答要求を受信した場合、接続処理部61は、通信装置20宛に、移動端末50でのユーザアプリケーション起動状況、移動状況などを含む応答情報を生成し、送信部52を介して送信する(ステップS74でYes、ステップS75)。その後、ステップS74以降の処理が繰り返される。
応答要求を受信していない場合、接続処理部61は、前回の応答要求から所定の期間が経過したかを判定する(ステップS74でNo、ステップS76)。前回の応答要求から所定の期間が経過していない場合、ステップS74に戻る(ステップS76でNo)。前回の応答要求から所定の期間が経過している場合、接続処理部61は、駅構内のアクセスポイント8と接続していないと判定する(ステップS76でYes)。この場合、接続処理部61は、表示処理部63に対して、警告アプリケーションを停止させる(ステップS77)。その後、ステップS71以降の処理が繰り返される。
以上説明したように、第1の実施形態によると、電車2のホーム4への進入の際に、表示処理を行っている移動端末50の画面に、注意喚起用のメッセージが表示される。このため、移動端末50を使用中のユーザに対して、電車2の進入に対する注意喚起を効果的に行うことができる。
さらに、第1の実施形態で述べた表示方法では、移動端末50を携帯しているユーザが移動中の場合は、ポップアップ表示で目立つように注意喚起することから、移動端末50を操作しながら移動しているユーザにも効果的に注意喚起ができる。さらに、移動していないユーザがユーザアプリケーションを使用している場合には、ユーザのアプリケーションに対する処理や画面の確認を妨げないように、警告表示は画面の端に表示される。このため、第1の実施形態で述べた表示方法が用いられた場合であっても、危険が迫っている可能性の低いユーザに対しては、移動端末50の操作性も確保されている。
<第2の実施形態>
第2の実施形態では、通信装置20は表示用のメッセージを生成せずに、表示用のメッセージを識別するメッセージIDを移動端末80に通知する。通知を受けた移動端末80は、表示するメッセージの生成と表示処理を行う。
図19は、第2の実施形態にかかる移動端末80の構成の例を説明する図である。移動端末80は、通信部51、制御部81、記憶部70、表示装置114を備える。制御部81は、生成部82を有し、さらに、接続処理部61、判定部62、表示処理部63、アプリケーション処理部64を有する。通信部51は送信部52と受信部53を有する。記憶部70は、表示設定テーブル71とメッセージテーブル72を格納する。メッセージテーブル72には、メッセージIDに対応付けて、メッセージの本文が格納されている。メッセージテーブル72の例は後述する。
生成部82は、表示要求に含まれているメッセージIDを用いて、表示対象のメッセージをメッセージテーブル72から読み出す。通信装置20から通知されたメッセージIDで識別されるメッセージに置換用の文字列が含まれている場合、表示要求には、置換処理に使用される路線名などの文字列が含まれている。そこで、生成部82は、メッセージIDを用いて特定したメッセージと、表示要求に含まれている情報を用いて、注意喚起のために表示されるメッセージを生成する。表示処理部63は、生成部82で生成されたメッセージを表示対象のメッセージとして使用する。
通信部51、接続処理部61、判定部62、アプリケーション処理部64、表示装置114で行われる処理は、第1の実施形態と同様である。また、表示設定テーブル71も第1の実施形態と同様である。なお、生成部82はプロセッサ111によって実現される。
図20は、メッセージテーブル72の例を説明する図である。メッセージテーブル72には、注意喚起のための画面で表示するメッセージを識別するメッセージIDと、各メッセージIDで識別されるメッセージが対応付けられている。図20の例では、メッセージID=M1は、「○番線に○線○○ ○○行きがきます。」というメッセージに対応付けられている。ここで、メッセージ中の丸印は、特定された電車2の情報と置換するための変数である。メッセージの変数部分の置換処理が行われる際の手順等は、メッセージの表示処理の例の説明(図23)の際に詳しく説明する。メッセージID=M2とメッセージID=M3は、いずれも、「電車がきます。注意してください。」というメッセージに対応付けられている。
図21は、第2の実施形態で使用されるメッセージテーブル45の例を説明する図である。メッセージテーブル45は、通信装置20において使用される。第2の実施形態では、メッセージテーブル45には、移動端末80に対して注意喚起のための画面で表示することを要求するメッセージを識別するメッセージID、各メッセージが使用される条件、メッセージの表示方法が含まれている。
第2の実施形態においても、各メッセージが使用される条件は、接続中端末テーブル42で特定される各移動端末80の状態を用いて表わされている。また、各条件に応じて、適用されるメッセージIDと表示方法IDが決定される。例えば、通知先の移動端末80が、ユーザアプリケーションの起動中であって、移動していない場合、メッセージID=M1、表示方法ID=D2に指定される。一方、通知先の移動端末80が、ユーザアプリケーションの起動中であって、移動している場合、メッセージID=M2、表示方法ID=D1に指定される。同様に、通知先の移動端末80でユーザアプリケーションが起動されていない場合、メッセージID=M3、表示方法ID=D3に指定される。なお、第2の実施形態においても、実装によっては、オペレータの設定を容易にするなどの目的から、メッセージテーブル45にも、表示方法IDに対応する表示方法の情報が含められても良い。
図22は、メッセージの送信処理の例を説明するフローチャートである。図22を参照しながら、通信装置20が移動端末80に送信する表示要求を生成するときの処理の例を説明する。ここで、電車2の進入開始を検出したセンサ6から通信装置20がパケットを受信してから表示要求の送信処理を開始するまでの処理は、図12を参照しながら説明したステップS1〜S3と同様である。図22において、定数Nは、表示要求の送信先となる移動端末80の総数を表わすものとする。変数nは、表示要求の送信処理の対象となった移動端末80の数の計数に使用される。
生成部33は、電車2が進入するホーム4に通信エリアを形成するアクセスポイント8に接続中の移動端末80を選択する(ステップS80)。生成部33は、変数nを1に設定する(ステップS81)。生成部33は、表示要求の送信先として特定された移動端末80のうちのn番目の移動端末80でのユーザアプリケーションの起動状況と移動状況を、接続中端末テーブル42から取得する(ステップS82)。
生成部33は、n番目の移動端末80について取得した状況の組み合わせに応じて、移動端末80での表示を要求するメッセージのメッセージIDと、メッセージの表示方法を識別する表示方法IDを決定する。メッセージIDと表示方法IDの決定の際に、生成部33は、通信装置20中のメッセージテーブル45(図21)を参照する(ステップS83)。例えば、移動端末80cは、ユーザアプリケーションの起動中であるが、移動していないとする。この場合、移動端末80cに対して通知する情報として、メッセージID=M1、表示方法ID=D2が選択される。
生成部33は、処理対象の移動端末80に送信する表示要求に、メッセージIDと表示方法IDを含め、さらに、センサ6から通知されたセンサIDと電車IDから特定された情報を含める。ここで、センサ6から通知されたセンサIDと電車IDから特定された情報は、路線名、電車の種別、行き先など、図12のステップS2およびS3で取得された情報である。例えば、センサID=001−1、電車ID=T1という情報を含むパケットが通信装置20に送信された場合、特定部32によって、南武線の川崎行きの快速が1番線に進入中であることが特定されている。そこで、生成部33は、ユーザアプリケーションの起動中であるが、移動していない移動端末80cに宛てて、以下の情報を含む表示要求を生成する。
表示要求
メッセージID:M1
表示方法ID :D2
番線 :1番線
路線名 :南武線
種別 :快速
行き先 :川崎
生成部33は、生成した表示要求を、処理対象の移動端末80に割り当てられたアドレスに送信する(ステップS84)。なお、生成部33は、移動端末80に割り当てられたアドレスを、接続中端末テーブル42を用いて特定するものとする。
その後、生成部33は、表示要求を送信した移動端末80について、接続中端末テーブル42中の送信状態を更新する(ステップS85)。生成部33は、変数nと定数Nを比較する(ステップS86)。変数nが定数N以上でない場合、生成部33は、表示要求の送信先となっている全ての移動端末80に対する処理が終わっていないと判定し、変数nを1つインクリメントしてからステップS82に戻る(ステップS86でNo、ステップS87)。一方、変数nが定数N以上である場合、生成部33は、表示要求の送信先となっている全ての移動端末80に対する処理が終わったと判定し、図12のステップS1に戻る(ステップS86でYes)。
なお、電車2の進入終了を検出したセンサ6から通信装置20がパケットを受信してから解除処理までで行われる処理は、図12を参照しながら説明したステップS5〜S8と同様である。
図23は、移動端末80で行われる表示処理の例を説明するフローチャートである。図23のステップS91〜S93の処理は、図17を参照しながら説明したステップS51〜S53の処理と同様である。
生成部82は、通信装置20から表示要求を受信したかを判定する(ステップS94)。表示要求を受信した場合、生成部82は、メッセージIDに対応付けられているメッセージを、メッセージテーブル72から取得する(ステップS95)。例えば、移動端末80cが以下の情報を含む表示要求を受信したとする。
表示要求
メッセージID:M1
表示方法ID :D2
番線 :1番線
路線名 :南武線
種別 :快速
行き先 :川崎
この場合、移動端末80cでは、生成部82は、メッセージID=M1に対応付けられている「○番線に○線○○ ○○行きがきます。」というメッセージを取得する。
次に、生成部82は、メッセージ中に置換用の文字列が含まれているかを判定する(ステップS96)。取得したメッセージ中に置換用の文字列が含まれている場合、生成部82は、表示要求から取得した路線名、種別、行き先の情報を、メッセージに埋め込むことにより、表示用のメッセージを生成する(ステップS96でYes、ステップS97)。なお、ステップS97の処理では、置換用の文字列を表示要求で通知された情報で置き換えている。「○番線」は電車が進入するホームの番線、「○線」は路線名、「○○ ○○行き」は、進入中の電車の種別と行き先の情報が埋め込み処理に使用される。このため、移動端末80cでは、生成部82は、「1番線に南武線快速 川崎行きがきます。」というメッセージを生成する。生成部82は、生成したメッセージを表示処理部63に出力する。
表示処理部63は、表示方法IDに対応付けられている表示方法を、表示設定テーブル71から特定する(ステップS98)。表示処理部63は、特定した表示方法を用いて、生成部82から入力されたメッセージを表示するための処理を行う(ステップS99)。例えば、移動端末80cの例では、表示方法ID=D2である。また、表示設定テーブル71(図11)には、表示方法ID=D2に対しては、上部に2行で表示する表示方法が対応付けられている。このため、移動端末80cの画面には、図14のG11に示すような表示が行われる。ステップS99の処理が終わると、ステップS91以降の処理が繰り返される。
一方、ステップS96において、表示対象のメッセージ中に置換用の文字列が含まれていないと判定した場合、生成部82は、取得したメッセージを表示処理部63に出力する(ステップS96でNo)。このため、ステップS98以降の処理が行われる。例えば、移動端末80aは、メッセージID=M2、表示方法ID=D1を含む表示要求を取得したとする。この場合、生成部82は、メッセージテーブル72(図20)を用いて、表示対象のメッセージが「電車がきます。注意してください」であることを特定する。すると、表示対象のメッセージには置換対象となる文字列が含まれていないので、生成部82は、取得した文字列を表示処理部63に出力する。一方、表示処理部63では、表示方法ID=D1であることから、表示設定テーブル71(図11)を用いて、画面中央に大きくポップアップ表示する表示方法が要求されていることを認識する。この場合、図14のG12に示すような表示が行われる。図23のステップS100〜S103の処理は、図17を参照しながら説明したステップS57〜S60の処理と同様である。
第2の実施形態を用いる場合も、第1の実施形態と同様に、移動端末80を使用中のユーザに対して、電車2の進入に対する注意喚起を効果的に行うことができる。また、移動端末80の使用状況やユーザの移動状況に応じて、表示方法が変更されるので、ユーザに迫っている危険の大きさに応じた表示が行われる。
第2の実施形態の場合、メッセージが移動端末80で生成されるため、通信装置20から送信されるメッセージの容量は、第1の実施形態よりも小さくなる。このため、ネットワーク中の送受信されるデータ量を削減することができる。このため、アクセスポイント8を介して通信している移動端末80が多い場合などに有効である。
<第3の実施形態>
第3の実施形態では、ホーム4に複数のアクセスポイント8が設置されており、各アクセスポイント8は、通信エリア内に1つの番線の電車の進入位置の周辺を含むように通信エリア9を形成する場合の例を説明する。この場合、いずれのアクセスポイント8に接続されているかに応じて、移動端末50の位置をより正確に特定できる。
図24は、アクセスポイント8の設置方法の例を説明する図である。図24の例では、ホーム4に1番線と2番線が設置されている。ホーム4には、8台のアクセスポイント8(8a〜8h)が設置されているとする。アクセスポイント8aは通信エリア9aを形成し、アクセスポイント8aのIDはAP1である。同様に、アクセスポイント8bは通信エリア9b、アクセスポイント8cは通信エリア9c、アクセスポイント8dは通信エリア9dを形成する。このため、ホーム4の1番線は、アクセスポイント8a〜8dでカバーされている。また、アクセスポイント8bのIDはAP2、アクセスポイント8cのIDはAP3、アクセスポイント8dのIDはAP4である。
アクセスポイント8eは通信エリア9e、アクセスポイント8fは通信エリア9f、アクセスポイント8gは通信エリア9g、アクセスポイント8hは通信エリア9hを形成する。このため、ホーム4の2番線は、アクセスポイント8e〜8hでカバーされている。また、アクセスポイント8eのIDはAP5、アクセスポイント8fのIDはAP6、アクセスポイント8gのIDはAP7、アクセスポイント8hのIDはAP8である。
図25は、設置位置情報46の例を説明する図である。設置位置情報46は、各アクセスポイントが設置されている番線を一意に特定するためのテーブルであり、各アクセスポイントの識別子(アクセスポイントID)と番線が対応付けられている。図25は、図24に示すようにアクセスポイント8が設置されている場合の例である。このため、アクセスポイント識別子がAP1〜AP4のアクセスポイント8(8a〜8d)は、1番線に対応付けられる。同様に、アクセスポイント識別子がAP5〜AP8のアクセスポイント8(8e〜8h)は、2番線に対応付けられる。
第3の実施形態においても、移動端末50と通信装置20との間の通信の確立、進入してきた電車2の識別、電車2が進入している番線の特定などの処理は、第1の実施形態と同様に行われる。また、第3の実施形態でも、生成部33は、表示要求の送信先として、電車2が進入していることが特定されている番線に設置されたアクセスポイント8に接続している移動端末50を選択する。例えば、1番線に電車2が進入を開始することが通信装置20に通知されたとする。すると、生成部33は、設置位置情報46を用いて、AP1〜AP4で識別されるいずれかのアクセスポイントに接続している移動端末50のうちで、画面への表示処理を行っている移動端末50を、表示要求の送信先として選択する。ここで、アクセスポイント8a(AP1)には、移動端末50aと移動端末50bが接続しており、アクセスポイント8b(AP2)には、移動端末50cが接続しているとする。さらに、アクセスポイント8f(AP6)に移動端末50dが接続しているとする。
この場合、生成部33は、移動端末50a〜50dのうち、移動端末50a〜50cは、1番線に設置されたアクセスポイントに接続されていることから、移動端末50a〜50cを表示要求の送信先とする。表示要求の送信先が選択された後で、通信装置20が表示要求を生成し、送信するための処理は、第1の実施形態と同様である。さらに、表示要求を受信した移動端末50の処理も第1の実施形態と同様である。
なお、以上の説明では、移動端末50と通信装置20との間の通信を例として説明したが、移動端末80と通信装置20の間の通信にも第3の実施形態は適用され得る。この場合、表示要求の送信先が選択された後で、通信装置20が表示要求を生成し、送信するための処理は、第2の実施形態と同様である。また、移動端末80での表示処理も第2の実施形態と同様である。
第3の実施形態では、アクセスポイント8の通信エリア9をホーム4の端に集中させることで、ホーム4の端にいるユーザに対して、注意喚起を効率的に行うことができる。さらに、移動端末50の接続先のアクセスポイント8の設置位置に応じて、表示要求の送信先を決定することにより、移動端末50の位置に応じて、電車2の進入に対する注意喚起をさらに効率的に行うことができる。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
図26は、アクセスポイントの設置方法の例を説明する図である。図26では、図24と同様にアクセスポイント8a〜8hがホーム4の端に設置され、さらに、ホーム4の全体を通信エリアに含めるアクセスポイント8kが設置されている。アクセスポイント8kは通信エリア9kを形成する。ホーム4の端に位置しているユーザを特定できるように、アクセスポイント8a〜8hは、通信エリア9を狭く設定している。また、アクセスポイント8a〜8hでは、なるべくホーム4に平行な方向に長い距離の通信エリア9が確保されるように、指向性のある通信エリア9が生成されるものとする。この場合、ホーム4の中央付近に位置しているユーザは、アクセスポイント8kを介して通信を行う。ユーザがホーム4の端側に移動したことによって、移動端末50がホームの端に設置されているアクセスポイント8a〜8hのいずれかと通信できるようになると、アクセスポイント8a〜8hを介して、通信装置20に移動端末50の情報が通知される。取得部31は、アクセスポイント8a〜8hを介して取得した情報を、通知処理を行う可能性のある移動端末50の情報として、接続中端末テーブル42に記録する。その後、センサ6で電車の進入の開始が検出されたことにより、第1の実施形態と同様の処理により、電車2が進入する番線が特定されたとする。すると、生成部33は、接続中端末テーブル42に記録されている移動端末50のうち、電車2が進入する番線に設置されたアクセスポイント8と通信可能な移動端末50を、表示要求の送信先に決定する。
以上の説明は、実施形態の例示に過ぎず、実装に応じて変形されうる。例えば、以上の説明で使用したテーブル中の情報要素や表示例は例示であり、実装に応じて任意に変更され得る。また、駅構内のホーム4以外の場所にもアクセスポイント8が設置されていても良い。
移動端末50や移動端末80中のアプリケーションによって駅構内への入場管理が行われる場合、警告アプリケーションは、入場管理に使用されるアプリケーションから、ユーザが駅に入場しているかを示す情報を取得することもできる。この場合、移動端末50や移動端末80が駅のホーム4に設置されたアクセスポイント8と通信が可能な状態であっても、駅に入場していない場合、接続処理部61は通信装置20に対して移動端末の情報を通知しないように設定される。すると、入場していない移動端末50や移動端末80の情報は、通信装置20が保持する接続中端末テーブル42には格納されない。このため、入場していない移動端末50や移動端末80に対して、通信装置20から表示要求が送信されることを防止できる。
通信装置20は、移動端末50がアクセスポイント8から受信する電波の状況などを用いて、移動端末50の位置をさらに詳しく割り出しても良い。例えば、通信装置20が移動端末50から電波の受信パターンの統計情報を取得する場合、各アクセスポイント8の設置位置と出力される電波強度を用いて、統計情報に合致する受信パターンが得られるホーム4上の位置を、通信装置20が割り出しても良い。また、通信装置20が移動端末50からアンテナ間の受信電波の位相差を取得することにより、端末の向きや位置を、各アクセスポイント8の設置位置と出力される電波強度を用いて、割り出しても良い。さらに、特定の情報の受信時刻などを用いて、受信時刻の差分から、通信装置20が移動端末50の位置を割り出しても良い。このような処理によって、移動端末50の位置が正確に割り出されると、通信装置20は、移動端末50の位置に応じて、メッセージの選択や表示要求を送信するかの判定などを行うこともできる。なお、移動端末50の代わりに移動端末80が用いられた場合も同様である。
また、通信装置20から受信した受信要求に含まれている表示メッセージの表示方法を、移動端末50や移動端末80が、その移動端末の状況に応じて決定するように変形されても良い。この場合、移動端末50や移動端末80は、自装置でのユーザアプリケーションの起動状況や移動状況に応じて、表示メッセージをポップアップ表示するかなどを決定する。この場合、移動端末50や移動端末80は、ユーザアプリケーションの起動状況や移動状況を通信装置20に通知しなくてもよく、また、通信装置20は、メッセージの表示方法を移動端末に通知しなくても良い。このため、ネットワーク中で送受信されるデータ量が削減される。
さらに、表示要求を受信した移動端末50や移動端末80において、所定期間だけ表示メッセージを表示した後に、表示メッセージの表示を終了するように変形されても良い。この場合、通信装置20から解除要求を送らなくても、移動端末50や移動端末80での表示メッセージの表示が解除されるので、通信装置20の処理負担が軽減される。
上述の第1〜第3の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
駅に設置されている複数のアクセスポイントのいずれかを介して通信している移動端末について、前記移動端末の識別情報と、前記移動端末の接続先のアクセスポイントの識別子を対応付けて取得し、
前記駅のホームへ進入する電車を検出するセンサから前記電車の検出が通知されると、前記電車が進入するホームに通信エリアを形成するアクセスポイントの識別子に対応付けられた識別情報で識別される移動端末に宛てて、当該移動端末の画面に前記電車に対する注意を喚起するための表示メッセージを表示することを要求する表示要求を送信する
処理を、通信装置に行わせることを特徴とする通知プログラム。
(付記2)
前記複数のアクセスポイントのいずれかを介して通信している移動端末から、当該移動端末で観測された振動を用いて判定された当該移動端末の移動状況をさらに取得し、
前記表示要求の送信先として選択された移動端末である対象端末が移動中ではない場合、前記表示メッセージを第1の表示方法で表示することを要求する情報を、前記表示要求に含め、
前記対象端末が移動中である場合、前記第1の表示方法よりも前記表示メッセージの表示面積が広い第2の表示方法で前記表示メッセージを表示することを要求する情報を、前記表示要求に含める
処理を、前記通信装置に行わせることを特徴とする付記1に記載の通知プログラム。
(付記3)
前記複数のアクセスポイントのいずれかを介して通信している移動端末から、当該移動端末でのアプリケーションの実行情報をさらに取得し、
前記対象端末がアプリケーションを実行中であり、かつ、移動中である場合、前記表示メッセージを、前記対象端末の画面中で前記アプリケーションによる表示が行われる領域に重ねて表示することを要求する情報を、前記表示要求に含め、
前記対象端末がアプリケーションを実行中であり、かつ、移動中ではない場合、前記表示メッセージを、前記領域に重ねずに表示することを要求する情報を、前記表示要求に含める
処理を、前記通信装置に行わせることを特徴とする付記2に記載の通知プログラム。
(付記4)
前記センサから、前記センサが検出した電車に割り当てられた識別子が通知されると、前記ホームに進入する電車の各々について、当該電車の運行情報を当該電車に割り当てられた電車識別子に対応付けたテーブルを用いて、検出された電車の運行情報を特定し、
特定した運行情報を前記表示要求に含める
処理を、前記通信装置に行わせることを特徴とする付記1〜3のいずれか1項に記載の通知プログラム。
(付記5)
パケットを受信する受信部と、
前記受信部が受信したパケットを用いて、駅に設置されている複数のアクセスポイントのいずれかを介して通信している移動端末について、前記移動端末の識別情報と、前記移動端末の接続先のアクセスポイントの識別子を対応付けて取得する取得部と、
前記駅のホームへ進入する電車を検出するセンサから前記電車の検出が通知されると、前記電車が進入するホームに通信エリアを形成するアクセスポイントの識別子に対応付けられた識別情報で識別される移動端末に宛てて、当該移動端末の画面に前記電車に対する注意を喚起するための表示メッセージを表示することを要求する表示要求を生成する生成部と、
前記表示要求を送信する送信部
を備えることを特徴とする通信装置。
(付記6)
前記取得部は、前記複数のアクセスポイントのいずれかを介して通信している移動端末から、当該移動端末で観測された振動を用いて判定された当該移動端末の移動状況をさらに取得し、
前記生成部は、
前記表示要求の送信先として選択された移動端末である対象端末が移動中ではない場合、前記表示メッセージを第1の表示方法で表示することを要求する情報を、前記表示要求に含め、
前記対象端末が移動中である場合、前記第1の表示方法よりも前記表示メッセージの表示面積が広い第2の表示方法で前記表示メッセージを表示することを要求する情報を、前記表示要求に含める
ことを特徴とする付記5に記載の通信装置。
(付記7)
前記取得部は、前記複数のアクセスポイントのいずれかを介して通信している移動端末から、当該移動端末でのアプリケーションの実行情報をさらに取得し、
前記生成部は、
前記対象端末がアプリケーションを実行中であり、かつ、移動中である場合、前記表示メッセージを、前記対象端末の画面中で前記アプリケーションによる表示が行われる領域に重ねて表示することを要求する情報を、前記表示要求に含め、
前記対象端末がアプリケーションを実行中であり、かつ、移動中ではない場合、前記表示メッセージを、前記領域に重ねずに表示することを要求する情報を、前記表示要求に含める
ことを特徴とする付記6に記載の通信装置。
(付記8)
前記ホームに進入する電車の各々について、当該電車の運行情報を当該電車に割り当てられた電車識別子に対応付けて記憶する記憶部
をさらに備え、
前記生成部は、前記センサが検出した電車に割り当てられた電車識別子を用いて、検出された電車の運行情報を前記表示要求に含める
ことを特徴とする付記5〜7のいずれか1項に記載の通信装置。
(付記9)
駅に設置されている複数のアクセスポイントのいずれかを介して通信している移動端末について、前記移動端末の識別情報と、前記移動端末の接続先のアクセスポイントの識別子を対応付けて取得し、
前記駅のホームへ進入する電車を検出するセンサから前記電車の検出が通知されると、前記電車が進入するホームに通信エリアを形成するアクセスポイントの識別子に対応付けられた識別情報で識別される移動端末に宛てて、当該移動端末の画面に前記電車に対する注意を喚起するための表示メッセージを表示することを要求する表示要求を送信する
処理を、通信装置が行うことを特徴とする通知方法。
(付記10)
前記複数のアクセスポイントのいずれかを介して通信している移動端末から、当該移動端末で観測された振動を用いて判定された当該移動端末の移動状況をさらに取得し、
前記表示要求の送信先として選択された移動端末である対象端末が移動中ではない場合、前記表示メッセージを第1の表示方法で表示することを要求する情報を、前記表示要求に含め、
前記対象端末が移動中である場合、前記第1の表示方法よりも前記表示メッセージの表示面積が広い第2の表示方法で前記表示メッセージを表示することを要求する情報を、前記表示要求に含める
処理を、前記通信装置が行うことを特徴とする付記9に記載の通知方法。
(付記11)
前記複数のアクセスポイントのいずれかを介して通信している移動端末から、当該移動端末でのアプリケーションの実行情報をさらに取得し、
前記対象端末がアプリケーションを実行中であり、かつ、移動中である場合、前記表示メッセージを、前記対象端末の画面中で前記アプリケーションによる表示が行われる領域に重ねて表示することを要求する情報を、前記表示要求に含め、
前記対象端末がアプリケーションを実行中であり、かつ、移動中ではない場合、前記表示メッセージを、前記領域に重ねずに表示することを要求する情報を、前記表示要求に含める
処理を、前記通信装置が行うことを特徴とする付記10に記載の通知方法。
(付記12)
前記センサから、前記センサが検出した電車に割り当てられた識別子が通知されると、前記ホームに進入する電車の各々について、当該電車の運行情報を当該電車に割り当てられた電車識別子に対応付けたテーブルを用いて、検出された電車の運行情報を特定し、
特定した運行情報を前記表示要求に含める
処理を、前記通信装置が行うことを特徴とする付記9〜11のいずれか1項に記載の通知方法。