以下、運行情報通知装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、乗物の運行情報を通知する運行情報通知システムについて説明する。
また、本実施の形態において、運行情報通知システムを構成する運行情報通知装置は、例えば、乗物が電車の場合、乗車駅と利用電車、降車駅等を有するユーザ情報が登録されており、当該利用電車の運行情報を通知する。
また、本実施の形態において、運行情報通知装置は、例えば、列車に遅れが生じた等の予め決められた条件を満たす場合のみ、利用電車の運行情報を通知しても良い。
また、本実施の形態において、例えば、利用予定の電車の前の電車の運行情報を通知しても良い。
また、本実施の形態において、運行情報通知装置は、例えば、目的地までの到着時刻が管理されており、それに間に合うか否かについての情報を通知しても良い。
また、本実施の形態において、運行情報通知装置は、例えば、目的地までの到着時刻が管理されており、それに間に合わない場合のみ、前の電車の情報を通知しても良い。
また、本実施の形態において、運行情報通知装置は、例えば、乗車時刻が変わった場合、乗り換え情報をも通知しても良い。
また、本実施の形態において、運行情報通知装置は、例えば、乗換駅が変化する場合のみ、乗り換え情報を通知しても良い。
また、本実施の形態において、運行情報通知装置は、乗車駅と利用電車等のユーザ情報を自動登録しても良い。
さらに、本実施の形態において、運行情報通知装置は、乗換駅も自動登録しても良い。
以下、運行情報通知システムについて説明する。図1は、本実施の形態における運行情報通知システムのブロック図である。
運行情報通知システムは、運行情報通知装置1、および1以上の端末装置2を備える。運行情報通知装置1は、例えば、いわゆるサーバ装置である。端末装置2は、ユーザが保持している端末であり、例えば、携帯端末、携帯電話、パソコン等である。
また、運行情報通知装置1は、ダイヤ情報格納部101、ユーザ情報格納部102、遅延情報受付部103、通知判断部104、到着判断部105、関連乗物情報取得部106、乗換情報取得部107、通知部108、乗車情報受付部109、乗物特定情報決定部110、ユーザ情報構成部111、およびユーザ情報登録部112を備える。また、端末装置2は、端末受信部21、および端末出力部22を備える。
運行情報通知装置1を構成するダイヤ情報格納部101は、1以上のダイヤ情報を格納している。ダイヤ情報は、乗物の通常の運行の情報である。ダイヤ情報は、乗物を特定する情報である乗物特定情報と、乗車駅を識別する乗車駅識別子と、出発時刻とを有する。出発時刻は、出発する時刻を特定する情報であれば何でも良い。乗車駅識別子とは、乗車駅のID、乗車駅名などである。なお、乗物とは、通常、電車であるが、バスや飛行機などでも良い。また、乗車駅とは、乗車するバスの停留所、飛行場等でも良い。
ユーザ情報格納部102は、1以上のユーザ情報を格納している。ユーザ情報は、運行情報を通知するユーザを管理するための情報である。ユーザ情報は、ユーザを識別するユーザ識別子と、通知先情報と、ユーザが利用する乗車駅を識別する乗車駅識別子と、当該ユーザが利用する乗物を特定する情報である乗物特定情報とを有する。通知先情報は、ユーザの端末装置2に情報を通知するための情報であり、例えば、メールアドレス、電話番号、MACアドレス等である。ユーザ情報が有する乗物特定情報は、ユーザが普段利用する乗物を特定する情報である。また、乗物特定情報は、乗物のIDでも良いし、出発時刻でも良いし、出発時刻と乗物のIDとの組等でも良い。また、乗物特定情報は、例えば、「8:10発の特急」、「123(電車のID)」「のぞみ123号」「飛行機のID:451」等である。また、ユーザ識別子は、例えば、ICカード(例えば、SUICA(登録商標))の識別子、ユーザのID、氏名等である。ユーザ識別子は、通知先情報と同じ情報でも良い。なお、普段利用する乗物とは、毎日利用する乗物でも良いし、頻度高く利用する乗物等でも良く、広く解する。
なお、ユーザ情報は、さらに降車駅を識別する降車駅識別子を有しても良い。また、ユーザ情報は、乗車駅識別子と降車駅識別子と、中継駅を識別する1以上の中継駅識別子とを有しても良い。なお、中継駅とは、乗り換えの駅、乗り継ぎの駅である。また、ユーザ情報は、目的地情報を有しても良い。目的地情報は、ユーザの目的地に関する情報であり、例えば、目的地への到着の予定時刻と目的地までの経路に関する経路情報とを含む。ユーザの目的地は、例えば、通勤する会社や通学する学校等である。また、経路情報は、降車駅から目的地までにかかる時間を有することは好適である。降車駅から目的地までにかかる時間は、例えば、降車駅から目的地までの徒歩時間、降車駅から目的地までの自転車での移動時間等である。なお、目的地への到着の予定時刻とは、通常、目的地へ到着しておかねばならない時刻であるが、目的地への目標到着時刻等でも良い。
また、ユーザ情報は、曜日の情報を有しても良い。曜日の情報は、ユーザが乗物特定情報で特定される乗物を利用する曜日である。曜日の情報は、例えば、「月〜金」「月,水,金」「土,日」「毎日」等である。
遅延情報受付部103は、乗物の出発時刻の遅れに関する情報である遅延情報を受け付ける。遅延情報は、例えば、乗物特定情報、乗物の出発時刻の遅延時間を有する。遅延情報は、遅延時間だけでも良い。遅延情報が遅延時間だけである場合、当該遅延時間はすべての乗物の遅延時間である。遅延情報は、乗物が運行していない旨の情報でも良い。遅延情報受付部103は、通常、乗物の遅延が生じた場合に遅延情報を受け付ける。但し、遅延情報受付部103が遅延情報を受け付けるタイミングは問わない。遅延情報は、乗物を運行している企業の担当者が入力されることが好適であるが、一般のユーザから入力されても良い。なお、遅延情報の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、図示しない外部の装置から有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
遅延情報の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。遅延情報受付部103は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
通知判断部104は、遅延情報受付部103が受け付けた遅延情報が、予め決められた条件を満たすか否かを判断する。通知判断部104は、予め決められた条件を格納している。また、予め決められた条件とは、例えば、目的地への到着が予定時刻に間に合わないことである。なお、予定時刻は、通常、ユーザ情報に含まれる。また、予め決められた条件とは、例えば、予め決められた時間(例えば、30分)以上の遅れが乗物特定情報で特定される乗物の運行に生じていることである。その他、予め決められた条件は問わない。
到着判断部105は、ユーザ情報が有する目的地への到着予定時刻、および遅延時間の情報を用いて、ユーザが目的地への到着予定時刻に間に合うか否かを判断する。到着判断部105は、出発時刻をも用いて、ユーザが目的地への到着予定時刻に間に合うか否かを判断しも良い。また、到着判断部105は、乗物特定情報を用いて、ユーザが目的地への到着予定時刻に間に合うか否かを判断しても良い。
関連乗物情報取得部106は、ユーザ情報が有する乗物特定情報により特定される乗物より前に出発する乗物に関する情報である関連乗物情報を、ダイヤ情報格納部101の1以上のダイヤ情報を用いて取得する。関連乗物情報は、ユーザ情報が有する乗物特定情報により特定される乗物の直前に出発する乗物に関する情報であることは好適である。関連乗物情報取得部106は、ダイヤ情報格納部101から、乗物特定情報に対応する出発時刻を取得し、当該出発時刻の次の出発時刻の乗物特定情報で特定される乗物の関連乗物情報を取得する。なお、関連乗物情報は、例えば、乗物特定情報、出発時刻等の情報である。関連乗物情報は、降車駅の到着時刻を含んでも良い。
関連乗物情報取得部106は、到着判断部105が目的地への到着予定時刻に間に合わないと判断した場合のみ、関連乗物情報を取得しても良い。
乗換情報取得部107は、ユーザ情報が有する乗車駅識別子と降車駅識別子とを用いて、乗物の乗り換えの情報である乗換情報を取得する。乗換情報は、乗車駅識別子と降車駅識別子と1以上の中継駅識別子とを有する。乗換情報取得部107の技術は公知技術であるので詳細な説明を省略する。なお、乗換情報取得部107の技術は、URL「http://www.jorudan.co.jp/norikae/」において実現されている。
通知部108は、ユーザ情報が有する乗物特定情報で特定される乗物の出発時刻に対応する通知時刻に、乗物特定情報と対になる通知先情報が示す通知先に、運行情報を送信する。運行情報は、ユーザが利用する可能性のある乗物の運行に関する情報であり、例えば、ユーザが乗車予定の乗物の運行に関する情報である。運行情報は、遅延情報を有する。運行情報は、通常通りの運行を示すだけの情報(例えば、フラグ等)でも良いし、遅延していることを示すだけの情報でも良いし、乗物が運行されていないことを示す情報でも良いし、遅延している時間を示す情報等でも良い。また、通知時刻は、出発時刻に対して予め決められていても良いし、ユーザ情報の中に含まれていても良い。出発時刻に対して予め決められているとは、例えば、出発時刻の所定時間(例えば、「15分」)前などである。また、通知時刻は、遅延情報が受け付けられた時でも良い。
また、通知部108は、通知判断部104が予め決められた条件を満たすと判断した場合のみ、通知先情報が示す通知先に遅延情報を送信することは好適である。かかる場合、遅延情報は運行情報に含まれる。
また、通知部108は、関連乗物情報を含む運行情報を通知先情報が示す通知先に送信することは好適である。
また、通知部108は、到着判断部105が判断した結果に関する結果情報を通知先情報が示す通知先に送信することは好適である。ここで、結果情報とは、目的地まで、予定時刻に間に合わない旨を示す情報、普段利用する乗物より前の乗物(例えば、直前の乗物)に乗るべきことを示す情報等である。かかる場合、結果情報は運行情報に含まれる。結果情報を含む運行情報は、例えば、到着判断部105の判断結果(例えば、乗物特定情報が示す乗物に間に合わない旨)と関連乗物情報とを有しても良い。例えば、結果情報は、「123号は間に合いません。122号は間に合いません。121号は間に合います。」である。
また、通知部108は、通知先情報が示す通知先に、乗換情報取得部107が取得した乗換情報を送信しても良い。かかる場合、乗換情報は運行情報に含まれるとする。
また、通知部108は、乗換情報取得部107が取得した乗換情報が有する1以上の中継駅識別子と、ユーザ情報が有する1以上の中継駅識別子とが異なる場合にのみ、通知先情報が示す通知先に乗換情報を送信しても良い。
乗車情報受付部109は、入場情報と出場情報とを受け付ける。入場情報は、ユーザ識別子と入場駅を識別する入場駅識別子と時刻を有する。出場情報は、ユーザ識別子と出場駅を識別する出場駅識別子と時刻を有する。また、時刻は、通常、年月日と時、分などの情報を有する。また、時刻は曜日を有することは好適である。入場情報と出場情報は、例えば、駅の改札の装置がユーザの保持しているICカード等から受け付ける。そして、乗車情報受付部109は、駅の改札の装置から直接または間接的に入場情報と出場情報とを受け付ける。乗車情報受付部109は、有線または無線の通信手段により実現され得る。
乗物特定情報決定部110は、入場情報、または入場情報と出場情報を用いて、乗物特定情報を決定する。乗物特定情報は、ユーザが普段使用する乗物を特定する情報である。
さらに具体的には、乗物特定情報決定部110は、所定の条件を満たすほど重複している数が多い入場情報および出場情報を検出し、当該入場情報および出場情報を用いて、乗物特定情報を決定する。ここで、重複している2以上の入場情報は、入場情報が有する入場駅識別子が同じで、時刻が所定の関係(例えば、時分の差異が10分以内)にあるほど近い2以上の入場情報である。また、重複している2以上の出場情報は、出場情報が有する出場駅識別子が同じで、時刻が所定の関係(例えば、時分の差異が3分以内)にあるほど近い2以上の出場情報である。さらに具体的には、例えば、入場情報および出場情報から、ユーザXが、月曜日から金曜日まで、A駅を概ね8時に入場し、B駅を8時25分ぐらいに出場していると判断できる場合、乗物特定情報決定部110は、8時の直後にA駅を出発し、B駅に8時25分の直前に到着する乗物の乗物特定情報をダイヤ情報格納部101から取得する。
乗物特定情報決定部110は、入場情報が有する入場駅識別子と時刻とを用いて、当該入場駅識別子と合致する乗車駅識別子と当該時刻に対応する出発時刻とを有する乗物特定情報を、ダイヤ情報格納部101から取得しても良い。なお、時刻に対応する出発時刻とは、例えば、当該時刻の後であり、当該時刻に最も近い出発時刻である。また、具体的には、乗物特定情報決定部110は、入場情報が有する入場駅識別子と時刻と、出場情報が有する出場駅識別子と時刻とを用いて、当該入場駅識別子と合致する乗車駅識別子と当該時刻に対応する出発時刻とを有するダイヤ情報と、当該出場駅識別子と合致する降車駅識別子と当該時刻に対応する到着時刻(出発時刻でも良い)とを有するダイヤ情報とを取得し、当該取得した2つのダイヤ情報に含まれる乗物特定情報を取得しても良い。
また、乗物特定情報決定部110は、出場情報と入場情報が有するユーザ識別子が一致し、かつ出場情報が有する出場駅識別子と入場情報が有する入場駅識別子とが一致または所定の関係にあるほど近く、かつ出場情報が有する時刻と入場情報が有する時刻とが予め決められた条件を満たすほど近い(例えば、徒歩3分以内)場合に、出場情報が有する出場駅識別子、または入場情報が有する入場駅識別子が中継駅識別子であると判断する。
ユーザ情報構成部111は、2以上の入場情報が有する乗車駅識別子、2以上の出場情報が有する降車駅識別子、1または2以上の乗物特定情報を用いてユーザ情報を構成する。なお、1または2以上の乗物特定情報は、乗物特定情報決定部110が取得した乗物特定情報である。
例えば、入場情報および出場情報から、ユーザXが、月曜日から金曜日まで、A駅を概ね8時に入場し、B駅を8時25分ぐらいに出場していると判断できる場合、ユーザ情報構成部111は、ユーザ情報「ユーザ識別子:ユーザX,乗車駅識別子:A駅,降車駅識別子:B駅,乗物特定情報:105,出発時刻:8時05分」を構成する。なお、「乗物特定情報:105」は、乗物特定情報決定部110が取得した情報である。
また、ユーザ情報構成部111は、中継駅識別子を有するユーザ情報を構成しても良い。なお、中継駅識別子は、乗物特定情報決定部110が取得した情報である。
ユーザ情報登録部112は、ユーザ情報構成部111が構成したユーザ情報をユーザ情報格納部102に蓄積する。
端末装置2を構成する端末受信部21は、運行情報通知装置1から運行情報を受信する。端末受信部21は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
端末出力部22は、端末受信部21が受信した運行情報を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理を含む。つまり、端末出力部22は、運行情報を端末装置2のディスプレイに表示しても良いし、音出力しても良いし、バイブレーションを振動させる等しても良い。端末出力部22は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部22は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
ダイヤ情報格納部101、ユーザ情報格納部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
ダイヤ情報格納部101等にダイヤ情報等が記憶される過程は問わない。例えば、記録媒体を介してダイヤ情報等がダイヤ情報格納部101等で記憶されるようになってもよく、通信回線等を介して送信されたダイヤ情報等がダイヤ情報格納部101等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたダイヤ情報等がダイヤ情報格納部101等で記憶されるようになってもよい。
また、通知判断部104、到着判断部105、関連乗物情報取得部106、乗換情報取得部107、乗物特定情報決定部110、ユーザ情報構成部111、およびユーザ情報登録部112は、通常、MPUやメモリ等から実現され得る。通知判断部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
また、通知部108は、例えば、無線または有線の通信手段で実現され得る。
次に、運行情報通知システムの動作について説明する。まず、運行情報通知装置1が運行情報を通知する動作について、図2のフローチャートを用いて説明する。
(ステップS201)遅延情報受付部103は、遅延情報を受け付けたか否かを判断する。遅延情報を受け付ければステップS202に行き、遅延情報を受け付けなければステップS203に行く。
(ステップS202)遅延情報受付部103は、ステップS201で受け付けた遅延情報を、図示しないバッファに一時蓄積する。
(ステップS203)通知判断部104は、カウンタiに1を代入する。
(ステップS204)通知判断部104は、ユーザ情報格納部102にi番目のユーザ情報が存在するか否かを判断する。i番目のユーザ情報が存在すればステップS205に行き、存在しなければステップS201に行く。
(ステップS205)通知判断部104は、通知するか否かの判断である通知判断処理を行う。通知判断処理について、図3のフローチャートを用いて説明する。
(ステップS206)通知部108は、ステップS205における判断結果が通知する、との判断結果であるか否かを判断する。通知するとの判断結果である場合はステップS207に行き、通知しないとの判断結果であるステップS210に行く。
(ステップS207)通知部108等は、送信する運行情報の元になる情報を取得する。かかる処理を情報取得処理という。情報取得処理について、図4のフローチャートを用いて説明する。
(ステップS208)通知部108は、ステップS207で取得された情報を用いて、送信する運行情報を構成する。なお、ステップS207で運行情報の構成が完了している場合は、本ステップでは何も処理を行わない。
(ステップS209)通知部108は、ステップS208で構成した運行情報を、ユーザ情報が有する通知先情報が示す通知先に送信する。
(ステップS210)通知判断部104は、カウンタiを1、インクリメントする。
なお、図2のフローチャートにおいて、一のユーザに対する運行情報の通知は、関係する遅延情報を受け付けない限り、一日に一度とすることは好適である。つまり、一度、運行情報を通知したユーザのユーザ情報に対応付けて、通知済みを示すフラグを蓄積し、通知済みを示すフラグが存在するユーザ情報は、関係する遅延情報を受け付けない限り、ステップS204で読み出さないことは好適である。
また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS205の通知判断処理について、図3のフローチャートを用いて説明する。
(ステップS301)通知判断部104は、ユーザ情報が有する乗物特定情報に関係する遅延情報が、バッファに存在するか否かを判断する。遅延情報が存在すればステップS302に行き、存在しなければステップS304に行く。なお、ユーザ情報が有する乗物特定情報に関係する遅延情報は、例えば、当該乗物特定情報を含む乗物特定情報を有する遅延情報や、乗物特定情報を有さない遅延情報(すべての乗物が遅延している旨の情報等)である。
(ステップS302)通知判断部104は、予め決められた条件を取得し、遅延情報が、当該予め決められた条件を満たすか否かを判断する。条件を満たす場合はステップS303に行き、条件を満たさない場合はステップS307に行く。なお、遅延情報が、当該予め決められた条件を満たす場合とは、例えば、目的地に到着予定時間までに到着できないこと、閾値以上の時間、遅延していること等である。
(ステップS303)通知判断部104は、変数「判断結果」に「通知(例えば、「1」)」を代入する。上位処理にリターンする。
(ステップS304)通知判断部104は、i番目のユーザ情報に対応する通知する時刻を取得する。通知判断部104は、例えば、i番目のユーザ情報に含まれる出発時刻のN(例えば、N=10)分前の時刻を取得する。
(ステップS305)通知判断部104は、現在時刻を取得する。
(ステップS306)通知判断部104は、現在時刻が、ステップS304で取得した通知する時刻になっているか否か(通知する時刻と同じまたは過ぎている)を判断する。現在時刻が通知する時刻になっている場合はステップS303に行き、通知する時刻なっていない場合はステップS307に行く。
(ステップS307)通知判断部104は、変数「判断結果」に「通知しない(例えば、「0」)」を代入する。上位処理にリターンする。
なお、図3のフローチャートにおいて、ユーザ情報が有する乗物特定情報に関係する遅延情報が存在する場合、遅延情報を有する運行情報を、常に、ユーザに通知しても良い。
次に、ステップS207の情報取得処理について、図4のフローチャートを用いて説明する。
(ステップS401)通知部108は、i番目のユーザ情報に対応する遅延情報がバッファに存在するか否かを判断する。遅延情報が存在すればステップS402に行き、存在しなければステップS409に行く。
(ステップS402)通知部108は、バッファに存在する遅延情報を含む運行情報を構成する。
(ステップS403)到着判断部105は、乗物が遅延している現在の状況において、目的地へ到着予定時刻までに到着するか否か(間に合うか否か)を判断する。かかる判断処理について、図5のフローチャートを用いて説明する。
(ステップS404)到着判断部105は、ステップS403における判断の結果を構成する。
(ステップS405)到着判断部105は、判断結果が「間に合わない」との判断結果である場合はステップS406に行き、「間に合う」との判断結果である場合は上位処理にリターンする。
(ステップS406)関連乗物情報取得部106は、関連乗物情報を取得する。かかる関連乗物情報取得処理について、図6のフローチャートを用いて説明する。
(ステップS407)乗換情報取得部107は、ユーザ情報が有する乗車駅識別子と降車駅識別子とを用いて、乗換情報を取得する。また、乗換情報取得部107は、通常、遅延情報が有する遅延時間を用いて、乗換情報を取得する。
(ステップS408)通知部108は、i番目のユーザ情報に対応する乗換情報が有する1以上の中継駅識別子が、ステップS407で取得した乗換情報が有する1以上の中継駅識別子とすべて一致するか否かを判断する。すべて一致する場合はステップS409に行き、すべて一致しない場合は上位処理にリターンする。なお、ステップS408では、通知部108は、乗物が遅延したことにより、乗車経路が、通常の経路と異なるか否かを判断することである。
(ステップS409)通知部108は、通知する運行情報に、ステップS407で取得した乗換情報を含める。上位処理にリターンする。
(ステップS410)通知部108は、通常の運行情報を構成する情報を取得する。
なお、図4のフローチャートにおいて、運行情報に含める情報、各種の情報を含める条件等は問わない。
次に、ステップS403の間に合うか否かの判断処理について、図5のフローチャートを用いて説明する。
(ステップS501)到着判断部105は、図示しないバッファ内の遅延情報が有する遅延時間を取得する。
(ステップS502)到着判断部105は、i番目のユーザ情報が有する目的地への到着予定時刻を取得する。
(ステップS503)到着判断部105は、ステップS501で取得した遅延時間を用いて、実際の到着時刻を算出する。実際の到着時刻は、遅延が発生している状況における、目的地への到着予定の時刻である。
(ステップS504)到着判断部105は、i番目のユーザ情報が有する到着の予定時刻と、ステップS503で算出した実際の到着時刻とを比較して、予定時刻に間に合うか否かを判断する。予定時刻に間に合う場合はステップS505に行き、予定時刻に間に合わない場合はステップS506に行く。
(ステップS505)到着判断部105は、変数「判断結果」に「間に合う(例えば「1」)」を代入する。上位処理にリターンする。
(ステップS506)到着判断部105は、変数「判断結果」に「間に合わない(例えば「0」)」を代入する。上位処理にリターンする。
次に、ステップS406の関連乗物情報取得処理について、図6のフローチャートを用いて説明する。図6のフローチャートにおいて、図4のフローチャートと同一のステップについて、説明を省略する。
(ステップS601)関連乗物情報取得部106は、カレントの乗物特定情報を取得する。なお、最初のカレントの乗物特定情報は、i番目のユーザ情報が有する乗物特定情報である。
(ステップS602)関連乗物情報取得部106は、カレントの乗物特定情報が示す乗物の直前に出発する乗物の乗物特定情報を、ダイヤ情報格納部101から取得する。なお、カレントの乗物特定情報に対応する乗車駅識別子(路線)は、直前に出発する乗物の乗物特定情報に対応する乗車駅識別子(路線)と同じである。次に、ステップS403で、関連乗物情報取得部106は、カレントの乗物特定情報で特定される乗物を利用した場合、目的地に予定時刻までに到着できるか否かを判断する。かかる判断処理は、図5のフローチャートを用いて説明した。
(ステップS603)関連乗物情報取得部106は、ステップS404における判断結果が「間に合う」との判断結果の場合はステップS604に行き、「間に合わない」との判断結果の場合はステップS605に行く。
(ステップS604)関連乗物情報取得部106は、カレントの乗物特定情報が示す乗物の直前に出発する乗物の乗物特定情報を取得する。上位処理にリターンする。なお、乗物に関する情報とは、例えば、当該乗物の遅延後の出発時刻、乗物特定情報等である。
(ステップS605)関連乗物情報取得部106は、カレントの乗物特定情報が示す乗物の直前に出発する乗物の乗物特定情報を、カレントの乗物特定情報にセットする。そして、カレントの乗物特定情報を用いて、ステップS406の関連乗物情報取得処理を行う。上位処理にリターンする。
次に、運行情報通知装置1がユーザ情報を登録する動作について、図7のフローチャートを用いて説明する。なお、図7のフローチャートにおける動作の前に、乗車情報受付部109が受け付けた多数の入場情報と多数の出場情報とが、図示しないバッファに蓄積されている、とする。また、バッファ内において、ユーザ識別子をキーとして、入場情報と出場情報とがソートされていることは好適である。
(ステップS701)乗物特定情報決定部110は、カウンタiに1を代入する。
(ステップS702)乗物特定情報決定部110は、i番目のユーザ識別子を有する入場情報が、図示しないバッファに存在するか否かを判断する。
(ステップS703)乗物特定情報決定部110は、i番目のユーザ識別子を有する1以上の入場情報を取得する。
(ステップS704)乗物特定情報決定部110は、ステップS703で取得した1以上の入場情報の中で、同一の入場駅識別子を有し、時分の差が閾値以内の入場情報の集合を、集合ごとに取得する。時分とは、時刻の中から、年月日を除いた、時と分(秒等を有しても良い)の情報である。なお、ここで、乗物特定情報決定部110は、ステップS703で取得した1以上の入場情報の中で、同一の入場駅識別子を有し、時分の差が閾値以内の入場情報であり、かつ、各入場情報に対応する出場情報が特定の出場駅識別子を有する入場情報の集合を、集合ごとに取得しても良い。入場情報に対応する出場情報とは、入場情報が有するユーザ識別子と同一のユーザ識別子を有する出場情報であり、入場情報が有する時刻の次の時刻を有する出場情報である。また、特定の出場駅識別子とは、通常、1以上の入場情報に対応する1以上の出場情報が有する出場駅識別子の中で最も多く出現する出場駅識別子である。
(ステップS705)乗物特定情報決定部110は、カウンタjに1を代入する。
(ステップS706)乗物特定情報決定部110は、ステップS704で取得した入場情報の集合の中で、j番目の集合が存在するか否かを判断する。j番目の集合が存在すればステップS707に行き、j番目の集合が存在しなければステップS714に行く。
(ステップS707)乗物特定情報決定部110は、j番目の集合が、予め決められた条件を満たすか否かを判断する。予め決められた条件を満たす場合はステップS708に行き、予め決められた条件を満たさない場合はステップS713に行く。なお、予め決められた条件は、例えば、単位時間(例えば、1ヶ月や1週間)あたりの、集合の中の入場情報の数が閾値以上(例えば、15以上/月,4以上/週など)であること、集合の中の入場情報の数が閾値以上であること等である。
(ステップS708)乗物特定情報決定部110は、j番目の集合に含まれる入場情報から、乗車駅識別子を取得する。なお、乗車駅識別子は入場駅識別子であり、入場情報に含まれている。
(ステップS709)乗物特定情報決定部110は、j番目の集合に含まれる入場情報に対応する出場情報が有する出場駅識別子を、降車駅識別子として取得する。
(ステップS710)乗物特定情報決定部110は、j番目の集合に含まれる入場情報から、乗物特定情報を取得する。または、乗物特定情報決定部110は、ステップS708で取得した乗車駅識別子、ステップS709で取得した降車駅識別子、および入場情報に含まれる時刻より後の時刻であり、最も近い時刻を出発時刻とする乗物の乗物特定情報を、ダイヤ情報格納部101から取得する。
(ステップS711)ユーザ情報構成部111は、i番目のユーザ識別子、ステップS708で取得された乗車駅識別子、ステップS709で取得された降車駅識別子、ステップS710で取得された乗物特定情報等を用いて、ユーザ情報を構成する。
(ステップS712)ユーザ情報登録部112は、ステップS711で構成されたユーザ情報を、ユーザ情報格納部102に蓄積する。なお、ユーザ情報の中で欠落している情報は、別途、ユーザから受け付けられても良い。
(ステップS713)乗物特定情報決定部110は、カウンタjを1、インクリメントする。ステップS706に戻る。
(ステップS714)乗物特定情報決定部110は、カウンタiを1、インクリメントする。ステップS702に戻る。
なお、図〜のフローチャートにおいて、しても良い。
次に、端末装置2の動作について説明する。端末装置2の端末受信部21は運行情報を受信する。そして、端末出力部22は、端末受信部21が受信した運行情報を出力する。
以下、本実施の形態における運行情報通知システムの具体的な動作について説明する。
今、運行情報通知装置1のダイヤ情報格納部101は、図8の(a)(b)(c)に示すダイヤ情報管理表を保持している。図8の各ダイヤ情報管理表は、「ID」「乗物特定情報」、および各駅の電車の到着時刻、出発時刻を有するレコードを1以上、格納している。「ID」は表のレコードを識別する情報である。また、「乗物特定情報」は電車を識別する情報であり、ここでは電車の号である。また、ここでの到着時刻、出発時刻は、時および分で示される。
また、ユーザ情報格納部102は、図9のユーザ情報管理表を格納している。ユーザ情報管理表は、「ID」「ユーザ識別子」「氏名」「通知先情報」「乗車駅識別子」「降車駅識別子」「乗物特定情報」「出発時刻」「目的地への到着予定時刻」「目的地までの経路情報」等の属性値を有するレコードを1以上、格納している。ここでの「通知先情報」は、メールアドレスである。また、「出発時刻」は、「乗物特定情報」で示される電車の「乗車駅識別子」で識別される駅の出発時刻である。「目的地への到着予定時刻」は、目的地に到着しなければならない時刻であり、ここでは、例えば、会社の始業時刻である。また、「目的地までの経路情報」は、ここでは、一のユーザの最後の「降車駅識別子」で識別される降車駅から目的地までにかかる時間(例えば、徒歩時間)である。
図9の「ID=1」のレコードは乗り換え無しの場合であり、「ID=2」のレコードは乗り換え有りの場合である。
また、図9の情報は、人手により入力されても良いし、後述するように、一部の情報が自動登録されても良い。
また、運行情報通知装置1は、各ユーザに、通常の運行の場合は、出発時刻の10分前に通知を行う、とする。また、運行情報通知装置1は、遅延情報を受け付けた場合、関係するユーザに、直ちに、遅延情報に関するメッセージを通知する、とする。
以上の状況の元、以下に、ユーザへの運行情報を通知する4つの具体例について説明する。
(具体例1)
具体例1は、電車の遅延が無い場合である。つまり、ユーザ「山田太郎」が自宅を定刻(8:00)に出る場合である。かかる場合の概念図を図10に示す。
そして、現在、8:05になった、とする。次に、通知判断部104は、「山田太郎」のユーザ情報を、図9のユーザ情報管理表から読み出す。
次に、通知判断部104は、現在時刻(8:05)を取得する。そして、通知判断部104は、「山田太郎」のユーザ情報から出発時刻「8:15」を取得する。次に、通知判断部104は、通知判断部104は、「山田太郎」の通知時刻「8:05」(8:15−10分)を取得する。そして、通知判断部104は、現在時刻「8:05」が、取得した通知時刻「8:05」になっている、と判断する。
次に、通知部108は、遅延情報がバッファに存在しない、と判断する。そして、通知部108は、「山田太郎」のユーザ情報から運行情報「予定通り運行されています。123号の出発時刻は8時15分です。」を構成する。次に、通知部108は、運行情報「予定通り運行されています。123号の出発時刻は8時15分です。」を、山田太郎の通知先識別子「yt@xxx.com」宛てに送信する。なお、通知部108は、通常運行の場合の運行情報の雛形「予定通り運行されています。$乗物特定情報$の出発時刻は$出発時刻$です。」を保持しており、かかる雛形中の変数「$乗物特定情報$」「$出発時刻$」に、ユーザ情報が有する属性値「乗物特定情報」「出発時刻」を代入して、メッセージを構成する。
次に、端末装置2の端末受信部21は運行情報を受信する。そして、端末出力部22は、受信された運行情報「予定通り運行されています。123号の出発時刻は8時15分です。」を出力する。
運行情報通知装置1は、以上の処理を他のユーザ情報に対しても行う。
(具体例2)
具体例2は、電車の遅延が発生しているが、いつもの電車に乗車しても、目的地に到着予定時刻には到着できる場合である。かかる場合の概念図を図11に示す。
例えば、7時50分に、運行情報通知装置1の遅延情報受付部103は、遅延情報「123号,2分」を受け付けた、とする。そして、遅延情報受付部103は、受け付けた遅延情報「123号,2分」を図示しないバッファに一時蓄積する。なお、遅延情報「123号,2分」は、電車123号が2分遅延していることを示す。
次に、通知判断部104は、「山田太郎」のユーザ情報を、図9のユーザ情報管理表から読み出す。そして、通知判断部104は、「山田太郎」のユーザ情報に含まれる乗物特定情報「123号」を取得する。そして、通知判断部104は、バッファの遅延情報は「123号」を有するので、当該遅延情報が「山田太郎」に関係する、と判断する。
次に、通知判断部104は、予め決められた条件を取得する。ここで、予め決められた条件は「到着予定時刻までに目的地に到着できないこと」である、とする。なお、予め決められた条件「$遅延到着時刻$>「目的地への到着予定時刻」,$遅延到着時刻$=$到着時刻$+「目的地までの経路情報」+$遅延時間$」である、とする。ここで、「$遅延到着時刻$」は、遅延後の目的地への到着予定時刻である。また、「目的地への到着予定時刻」は、ユーザ情報が有する属性値「目的地への到着予定時刻」である。「$到着時刻$」は、対象となる電車の降車駅への到着時刻が代入される変数である。また、「目的地までの経路情報」は、ユーザ情報が有する属性値「目的地までの経路情報」である。「$遅延時間$」は、遅延情報が有する遅延時間を代入する変数である。
次に、通知判断部104は、図8(a)から、「山田太郎」のユーザ情報が有する「123号」と対になるB駅の到着時刻「8:45」を取得し、変数「$到着時刻$」に代入する。次に、通知判断部104は、「山田太郎」のユーザ情報が有する目的地までの経路情報「10分」を取得する。次に、通知判断部104は、遅延情報が有する遅延時間「2分」を変数「$遅延時間$」に代入する。そして、「$遅延到着時刻$」の値「8:57」を取得する。次に、通知判断部104は、「山田太郎」のユーザ情報が有する目的地への到着予定時刻「9:00」を取得する。そして、$遅延到着時刻$「8:57」、目的地への到着予定時刻「9:00」から、通知判断部104は、予め決められた条件「$遅延到着時刻$>「目的地への到着予定時刻」」を満たさない、と判断する。
次に、通知判断部104は、「山田太郎」に通知しない、と判断する。そして、具体例1で説明したように、8時5分になった際に、「山田太郎」にメッセージ(運行情報)を通知する。なお、メッセージは、具体例1の通常のメッセージだけでも良いが、遅延情報を含めることは好適である。
次に、端末装置2の端末受信部21は運行情報を受信する。そして、端末出力部22は、受信された運行情報「いつもご乗車の123号は2分遅延しておりますが、123号に乗車頂ければ目的地への到着予定時刻に間に合います。」を出力する。
運行情報通知装置1は、以上の処理を他の電車「123号」に関係するユーザ情報に対しても行う。
以上により、ユーザ「山田太郎」は、電車が遅延しているが、いつもの123号の電車に乗車すれば、会社に遅れずに出社できることを知ることができる。また、ユーザ「山田太郎」は、電車が2分遅延しており、ゆっくり歩いてA駅まで行けば良いことを知り得る。
(具体例3)
具体例3は、電車の遅延が発生しており、いつもの電車に乗車すれば、目的地に到着予定時刻には到着できない場合である。かかる場合の概念図を図12に示す。
例えば、7時50分に、運行情報通知装置1の遅延情報受付部103は、遅延情報「10分」を受け付けた、とする。そして、遅延情報受付部103は、受け付けた遅延情報「10分」を図示しないバッファに一時蓄積する。なお、遅延情報「10分」は、すべての電車が10分遅延していることを示す。
次に、通知判断部104は、「山田太郎」のユーザ情報を、図9のユーザ情報管理表から読み出す。そして、通知判断部104は、「山田太郎」のユーザ情報に含まれる乗物特定情報「123号」を取得する。そして、通知判断部104は、バッファの遅延情報が、「山田太郎」に関係する、と判断する。遅延情報「10分」は、すべてのユーザに関係するからである。
次に、通知判断部104は、予め決められた条件を取得する。ここで、予め決められた条件は「到着予定時刻までに目的地に到着できないこと」である、とする。
次に、通知判断部104は、図8(a)から、「山田太郎」のユーザ情報が有する「123号」と対になるB駅の到着時刻「8:45」を取得し変数「$到着時刻$」に代入する。次に、通知判断部104は、「山田太郎」のユーザ情報が有する目的地までの経路情報「10分」を取得する。次に、通知判断部104は、遅延情報が有する遅延時間「10分」を変数「$遅延時間$」に代入する。そして、「$遅延到着時刻$」の値「9:05」を取得する。次に、通知判断部104は、「山田太郎」のユーザ情報が有する目的地への到着予定時刻「9:00」を取得する。そして、$遅延到着時刻$「9:05」、目的地への到着予定時刻「9:00」から、通知判断部104は、予め決められた条件「$遅延到着時刻$>「目的地への到着予定時刻」」を満たす、と判断する。そして、通知判断部104は、「山田太郎」に通知する、と判断する。
次に、通知部108は、「山田太郎」のユーザ情報が有する乗物特定情報に関係する遅延情報「10分」を取得する。次に、通知部108は、遅延情報「10分」を含む運行情報を構成する。例えば、通知部108は、運行情報「123号は10分遅れています」を構成する。
次に、到着判断部105は、乗物が遅延している現在の状況において、目的地へ予定時間までに到着するか否か(間に合うか否か)を、以下のように判断する。なお、到着判断部105は、上記の通知判断部104が行った判断結果を受け付けるだけでも良い。
到着判断部105は、「山田太郎」のユーザ情報が有する目的地への到着予定時刻「9:00」を取得する。
次に、到着判断部105は、取得した遅延時間「10分」を用いて、実際の到着時刻を算出する。実際の到着時刻について、上述したように「9:05」と算出できる。
次に、到着判断部105は、「山田太郎」のユーザ情報が有する到着の予定時刻「9:00」と、算出した実際の到着時刻「9:05」とを比較して、予定時刻に間に合わない、と判断する。
次に、関連乗物情報取得部106は、カレントの乗物特定情報「123号」を取得する。
次に、関連乗物情報取得部106は、カレントの乗物特定情報「123号」が示す乗物の直前に出発する乗物の乗物特定情報「122号」を、図8(a)のダイヤ情報管理表から取得する。
次に、到着判断部105は、「山田太郎」が乗物特定情報「122号」に乗車した場合、目的地に到着予定時刻に間に合うか否かを判断する。ここで、判断方法は上述した通りであり、到着判断部105は、「122号」に乗車した場合、目的地に到着予定時刻に間に合うと判断する。
そして、関連乗物情報取得部106は、乗物特定情報「122号」の出発時刻「8:00」と遅延時間「10分」とを用いて、乗物特定情報「122号」の遅延後の出発時刻「8:10」を取得する。そして、関連乗物情報取得部106は、乗物特定情報「123号」、乗物特定情報「122号」と遅延後の出発時刻「8:10」とを用いて、メッセージ「いつもご乗車の123号の前の電車の122号は、8:10に出発します。122号に乗車されれば、目的地への到着予定時刻に間に合います。」を構成する。なお、関連乗物情報取得部106は、メッセージの雛形「いつもご乗車の$元の電車の乗物特定情報$の前の電車の$新規電車の乗物特定情報$は、$遅延後の出発時刻$に出発します。$新規電車の乗物特定情報$に乗車されれば、目的地への到着予定時刻に間に合います。」を保持しており、$で囲まれている変数に、取得した値を代入して、メッセージを構成する。なお、$元の電車の乗物特定情報$は、ユーザ情報に含まれる乗物特定情報である。また、$遅延後の出発時刻$は、間に合う電車の遅延後の出発時刻である。また、$新規電車の乗物特定情報$は、間に合う電車の乗物特定情報である。
次に、乗換情報取得部107は、「山田太郎」のユーザ情報が有する出発駅識別子と降車駅識別子と出発時刻「8:10」とを用いて、乗換情報を取得する。そして、乗換情報取得部107は、「山田太郎」のユーザ情報が中継駅識別子を有さないと判断し、遅延により乗換情報が変化していない、と判断する。
次に、通知部108は、取得された関連乗物情報を用いて、送信する運行情報を構成する。そして、通知部108は、運行情報「123号は10分遅れています。いつもご乗車の123号の前の電車の122号は、8:10に出発します。122号に乗車されれば、目的地への到着予定時刻に間に合います。」を、メールアドレス「yt@xxx.com」宛てに送信する。
次に、端末装置2の端末受信部21は運行情報を受信する。そして、端末出力部22は、受信された運行情報「123号は10分遅れています。いつもご乗車の123号の前の電車の122号は、8:10に出発します。122号に乗車されれば、目的地への到着予定時刻に間に合います。」を出力する。
運行情報通知装置1は、以上の処理を他のユーザ情報に対しても行う。
以上により、ユーザ「山田太郎」は、少し早く歩いて8:10までにA駅に到着すれば、電車が遅延しているにも関わらず、会社に遅れずに出社できることを知ることができる。
(具体例4)
具体例4は、電車の遅延が発生しており、いつもの電車に乗車すれば、目的地に予定時間には到着できず、かつ経路を変更すべき場合である。
例えば、7時30分に、運行情報通知装置1の遅延情報受付部103は、遅延情報「20分」を受け付けた、とする。そして、遅延情報受付部103は、受け付けた遅延情報「20分」を図示しないバッファに一時蓄積する。なお、遅延情報「20分」は、すべての電車が20分遅延していることを示す。
次に、通知判断部104は、例えば、「田中花子」のユーザ情報を、図9のユーザ情報管理表から読み出す。そして、通知判断部104は、「田中花子」のユーザ情報に含まれる乗物特定情報「203号」「321号」を取得する。そして、通知判断部104は、バッファの遅延情報が、「田中花子」に関係する、と判断する。遅延情報「20分」は、すべてのユーザに関係するからである。
次に、通知判断部104は、予め決められた条件を取得する。ここで、予め決められた条件は「到着予定時刻までに目的地に到着できないこと」である、とする。
次に、通知判断部104は、図8(c)から、「田中花子」のユーザ情報が有する乗物特定情報のうちの、最後のレコードの乗物特定情報「321号」と対になるD駅の到着時刻「9:20」を取得し、変数「$到着時刻$」に代入する。次に、通知判断部104は、「田中花子」のユーザ情報が有する目的地までの経路情報「5分」を取得する。次に、通知判断部104は、遅延情報が有する遅延時間「20分」を変数「$遅延時間$」に代入する。そして、「$遅延到着時刻$」の値「9:45」を取得する。次に、通知判断部104は、「田中花子」のユーザ情報が有する目的地への到着予定時刻「9:30」を取得する。そして、$遅延到着時刻$「9:45」、目的地への到着予定時刻「9:30」から、通知判断部104は、予め決められた条件「$遅延到着時刻$>「目的地への到着予定時刻」」を満たす、と判断する。そして、通知判断部104は、「田中花子」に通知する、と判断する。
次に、通知部108は、「田中花子」のユーザ情報が有する乗物特定情報に関係する遅延情報「20分」を取得する。次に、通知部108は、遅延情報「20分」を含む運行情報を構成する。例えば、通知部108は、運行情報「電車は20分遅れています」を構成する。
次に、到着判断部105は、乗物が遅延している現在の状況において、目的地へ予定時間までに到着できないと判断する。判断方法は、上述した通りである。
次に、関連乗物情報取得部106は、カレントの乗物特定情報「203号」「321号」を取得する。
次に、関連乗物情報取得部106は、カレントの乗物特定情報「203号」が示す乗物の直前に出発する乗物の乗物特定情報「202号」を、図8(c)のダイヤ情報管理表から取得する。
次に、乗換情報取得部107は、乗物特定情報「202号」のA駅の出発時刻「8:20」と遅延時間「20分」とから、遅延した出発時刻「8:40」を取得する。次に、乗換情報取得部107は、「田中花子」のユーザ情報が有する降車駅識別子「D駅」を取得する。そして、乗換情報取得部107は、出発時刻「8:40」で、A駅からD駅に行く経路(乗換情報)を、ダイヤ情報格納部101から検索する。そして、例えば、乗換情報取得部107は、乗換情報「A駅(「出発時刻」8:40)〜E駅(「到着時刻」8:50,「出発時刻」8:52)〜D駅(「到着時刻」9:20)」を取得した、とする。
次に、乗換情報取得部107は、D駅(「到着時刻」9:20)」と、「田中花子」のユーザ情報が有する目的地までの経路情報「5分」とを加算して、遅延後の目的地への到着予定時刻「9:25」を取得する。そして、乗換情報取得部107は、「田中花子」のユーザ情報が有する目的地への到着予定時刻「9:30」を取得する。そして、乗換情報取得部107は、目的地への到着予定時刻「9:30」と、遅延後の目的地への到着予定時刻「9:25」とを用いて、取得した新しい乗換情報「A駅(「出発時刻」8:40)〜E駅(「到着時刻」8:50,「出発時刻」8:52)〜D駅(「到着時刻」9:20)」により、目的地への到着予定時刻に間に合う、と判断する。
次に、乗換情報取得部107は、新しい乗換情報が示す乗物に関する情報を取得する。ここでは、乗換情報取得部107は、「A駅(「出発時刻」8:40)〜E駅(「到着時刻」8:50,「出発時刻」8:52)〜D駅(「到着時刻」9:20)」を取得する。
次に、通知部108は、「田中花子」のユーザ情報に対応する乗換情報が有する1以上の中継駅識別子「C駅」が、取得した乗換情報が有する中継駅識別子「E駅」と一致しない、と判断する。
次に、通知部108は、通知する運行情報に、取得した乗換情報を含める。そして、通知部108は、例えば、運行情報「電車が20分、遅延しています。A駅(「出発時刻」8:40)〜E駅(「到着時刻」8:50,「出発時刻」8:52)〜D駅(「到着時刻」9:20)のルートで行けば、目的地に間に合います。」を構成する。そして、通知部108は、かかる運行情報を「田中花子」のユーザ情報が有するメールアドレス「th@yyy.co.jp」宛てに送信する。
次に、端末装置2の端末受信部21は上記の運行情報を受信する。そして、端末出力部22は、受信された運行情報を出力する。
運行情報通知装置1は、以上の処理を他のユーザ情報に対しても行う。
以上により、ユーザ「田中花子」は、通知されたルートの電車を用いれば、電車が遅延しているにも関わらず、会社に遅れずに出社できることを知ることができる。
次に、ユーザの自動登録の具体例について説明する。今、乗車情報受付部109が、図示しないサーバ装置から多数の入場情報と出場情報とを受け付けた、とする。そして、乗車情報受付部109は、かかる多数の入場情報と出場情報とを、図示しないバッファに格納した、とする。そして、図13に示す入出場情報管理表が図示しないバッファに存在する、とする。入出場情報管理表は、「ID」「ユーザ識別子」「氏名」「入場情報」「出場情報」等を含むレコードを多数管理している。「入場情報」は「入場駅識別子」「日付」「曜日」「時刻」を含む。また、「出場情報」は「出場駅識別子」「日付」「曜日」「時刻」を含む。「日付」「曜日」「時刻」は、それぞれ該当する駅に入場、または該当する駅から出場した日付と曜日と時刻である。
また、図13の入出場情報管理表において、「ユーザ識別子」と「入場駅識別子」をキーとしてソートしている、とする。
ここで、乗物特定情報決定部110は、以下のように、入場情報と出場情報を用いて、ユーザが普段使用する乗物を特定する乗物特定情報を決定する。
まず、乗物特定情報決定部110は、1番目のユーザ識別子「001」を有する1以上の入場情報を取得する。
次に、乗物特定情報決定部110は、取得した1以上の入場情報の中で、同一の入場駅識別子を有し、時分の差が閾値以内の入場情報および出場情報(レコード)の集合を取得する。ここで取得できるレコードの集合は、図13の入出場情報管理表の「ID=1〜5,7,8等」のレコードである。
次に、乗物特定情報決定部110は、図13の入出場情報管理表の「ID=1〜5,7,8等」のレコードの集合が、予め決められた条件を満たすか否かを判断する。ここで、予め決められた条件とは「入場駅と出場駅が同じレコードで、入場した時刻が8分以内の間に存在し、かつ出場した時刻が8分以内の間に存在するレコードが、1週間に5回(5日)以上存在し、かつ、かかる週が、月に2週以上存在する」こととする。
そして、乗物特定情報決定部110は、取得したレコードの集合がかかる予め決められた条件を満たす、と判断したとする。
次に、乗物特定情報決定部110は、レコードの集合に含まれる入場情報から、出発駅識別子「A駅」を取得し、乗車駅識別子とする。また、乗物特定情報決定部110は、レコードの集合に含まれる出場情報が有する出場駅識別子「B駅」を、降車駅識別子として取得する。
また、乗物特定情報決定部110は、レコードの集合に含まれる入場情報が有する最終の時刻「8:13」を用いて、「8:13」以降にB駅に向けて出発する最も早い時間の電車の乗物特定情報「123号」を、ダイヤ情報格納部101から取得する。
または、乗物特定情報決定部110は、取得した乗車駅識別子「A駅」、降車駅識別子「B駅」、乗物特定情報「123号」を用いて、ユーザ情報を構成する。
次に、ユーザ情報登録部112は、構成されたユーザ情報を、ユーザ情報格納部102に蓄積する。
以上により、ユーザ「山田太郎」のユーザ情報が蓄積された。以上の処理を他のユーザの入場情報と出場情報とを用いて行えば、普段利用する乗物の情報を有するユーザ情報が自動的に登録できる。なお、ユーザ「山田太郎」のユーザ情報に含まれる氏名、通知先情報等、自動的に取得できない情報は、別途、人手により入力されたとする。
以上、本実施の形態によれば、乗物の運行が遅延している場合に、運行状況に応じた適切な通知を行える。また、本実施の形態によれば、普段利用する乗物の情報を自動登録できる。
また、本実施の形態において、遅延情報が予め決められた条件を満たす場合のみ、運行情報を通知することにより、通常運行の場合等に、運行状況の通知が届く煩わしさがなくなる。
また、本実施の形態において、乗物の運行が遅延している場合に、利用予定の乗物の前の時間の乗車すべき乗物の運行情報を通知できる。
また、本実施の形態において、乗物の運行が遅延している場合に、目的地までの予定到着時刻に間に合うか否かについての情報を通知できる。
また、本実施の形態において、乗物の運行が遅延しており、目的地までの予定到着時刻に間に合わない場合に、利用予定の乗物の前の乗物の運行情報を通知できる。
また、本実施の形態において、乗物の運行が遅延しており、乗り換えを含めた経路が、通常の経路に対して変更すべき場合に、乗り換えの情報を通知できる。
さらに、本実施の形態において、普段利用する乗物の情報(乗り換え駅の情報も含む)を自動登録できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における運行情報通知装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、ユーザを識別するユーザ識別子と、当該ユーザの端末装置に情報を通知するための通知先情報と、当該ユーザが利用する出発駅を識別する出発駅識別子と、利用する乗物を特定する情報である乗物特定情報とを有するユーザ情報を格納しており、前記記憶媒体から情報読取り可能なコンピュータを、乗物の出発時刻の遅れに関する情報である遅延情報を受け付ける遅延情報受付部と、前記ユーザ情報が有する乗物特定情報で特定される乗物の出発時刻に対応する通知時刻に、当該乗物特定情報と対になる通知先情報が示す通知先に、前記遅延情報を有する情報であり、乗車する乗物の運行に関する情報である運行情報を送信する通知部として機能させるためのプログラムである。
上記プログラムにおいて、コンピュータを、前記遅延情報が、予め決められた条件を満たすか否かを判断する通知判断部としてさらに機能させ、前記通知部は、前記通知判断部は予め決められた条件を満たすと判断した場合のみ、前記通知先情報が示す通知先に前記遅延情報を送信するものとして、コンピュータを機能させることは好適である。
前記記憶媒体に、乗物の通常の運行に関する情報であり、乗物特定情報と出発駅識別子と出発時刻とを有する1以上のダイヤ情報をさらに格納しており、上記プログラムにおいて、コンピュータを、前記ユーザ情報が有する乗物特定情報により特定される乗物の直前に出発する乗物に関する情報である関連乗物情報を、前記ダイヤ情報格納部の1以上のダイヤ情報を用いて取得する関連乗物情報取得部としてさらに機能させ、前記通知部は、前記関連乗物情報を含む運行情報を前記通知先情報が示す通知先に送信するものとして、コンピュータを機能させることは好適である。
上記プログラムにおいて、前記ユーザ情報は、当該ユーザの目的地に関する情報であり、目的地への到着時刻と目的地までの経路に関する経路情報とを含む目的地情報を有し、前記遅延情報は、乗物の出発時刻の遅れ時間の情報を有し、コンピュータを、前記ユーザ情報が有する目的地への到着時刻、および前記遅れ時間の情報を用いて、前記ユーザが目的地への到着時刻に間に合うか否かを判断する到着判断部としてさらに機能させ、前記通知部は、前記到着判断部が判断した結果に関する結果情報を前記通知先情報が示す通知先に送信するものとして、コンピュータを機能させることは好適である。
上記プログラムにおいて、前記ユーザ情報は、当該ユーザの目的地に関する情報であり、目的地への到着時刻と目的地までの経路に関する経路情報とを含む目的地情報を有し、前記遅延情報は、乗物の出発時刻の遅れ時間の情報を有し、コンピュータを前記ユーザ情報が有する目的地への到着時刻、および前記遅れ時間の情報を用いて、前記ユーザが目的地への到着時刻に間に合うか否かを判断する到着判断部としてさらに機能させ、前記関連乗物情報取得部は、前記到着判断部が目的地への到着時刻に間に合わないと判断した場合のみ、前記ユーザ情報が有する乗物特定情報により特定される乗物の直前に出発する乗物に関する情報である関連乗物情報を、前記ダイヤ情報格納部の1以上のダイヤ情報を用いて取得するものとして、コンピュータを機能させることは好適である。
上記プログラムにおいて、前記ユーザ情報は、到着駅を識別する到着駅識別子を有し、コンピュータを、当該ユーザ情報が有する出発駅識別子と到着駅識別子とを用いて、乗物の乗り換えの情報である乗換情報を取得する乗換情報取得部としてさらに機能させ、前記通知部は、前記通知先情報が示す通知先に前記乗換情報を送信するものとして、コンピュータを機能させることは好適である。
上記プログラムにおいて、前記ユーザ情報は、出発駅識別子と到着駅識別子と、中継駅の1以上の中継駅識別子とを有し、前記乗換情報は、出発駅識別子と到着駅識別子と1以上の中継駅識別子とを有し、前記通知部は、前記乗換情報取得部が取得した乗換情報が有する1以上の中継駅識別子と、前記ユーザ情報が有する1以上の中継駅識別子とが異なる場合にのみ、前記通知先情報が示す通知先に前記乗換情報を送信するものとして、コンピュータを機能させることは好適である。
上記プログラムにおいて、コンピュータを、ユーザ識別子と入場駅を識別する入場駅識別子と時刻を有する入場情報、およびユーザ識別子と出場駅を識別する出場駅識別子と時刻を有する出場情報を受け付ける乗車情報受付部と、前記入場情報、または前記入場情報と前記出場情報を用いて、ユーザが普段使用する乗物を特定する乗物特定情報を決定する乗物特定情報決定部と、前記入場情報および前記出場情報と前記乗物特定情報とを用いてユーザ情報を構成するユーザ情報構成部と、前記ユーザ情報を前記ユーザ情報格納部に蓄積するユーザ情報登録部としてさらに機能させることは好適である。
上記プログラムにおいて、前記ユーザ情報構成部は、前記出場情報と前記入場情報が有するユーザ識別子が一致し、かつ前記出場情報が有する出場駅識別子と前記入場情報が有する入場駅識別子とが一致または所定の関係にあるほど近く、かつ前記出場情報が有する時刻と前記入場情報が有する時刻とが予め決められた条件を満たすほど近い場合に、前記出場情報が有する出場駅識別子、または前記入場情報が有する入場駅識別子が中継駅識別子であると判断し、前記入場情報および前記出場情報と前記乗物特定情報とを用いて、前記中継駅識別子を有するユーザ情報を構成するものとして、コンピュータを機能させることは好適である。
また、図14は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の運行情報通知装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図14は、このコンピュータシステム300の概観図であり、図15は、システム300のブロック図である。
図14において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図15において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、MPU3013、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の運行情報通知装置の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の運行情報通知装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。