以下に添付図面を参照して、本発明にかかるゲートシステム、情報処理装置の実施の形態を詳細に説明する。以下では、交通手段として鉄道の例を挙げているが、利用者が入出場するための改札機と同様の装置を備え、電子マネー機能および乗車カード機能を有したICカード等の情報記録媒体により、利用者の入出場を管理する様々な交通系のシステムに適用することができる。
本実施例では、リスクベースの通信・処理要求制御を行う中間サーバ1000の例を説明する。図1は、本実施例のシステム構成の例である。
センタサーバ1100は、出場許可情報を作成する一般的なサーバであり、カードの残額情報等、列車の乗車や電子マネーとして利用できる権利を一括して保持する。センタサーバ1100は、出場許可情報作成部1101、残額情報1102を含み、中央ネットワーク1800を通じて中間サーバ1000と接続している。出場許可情報とは、利用者が改札機を通過して出場可能か否かを示す情報である。出場許可情報の具体的な例については後述する。
出場許可情報作成部1101は、上記情報記録媒体であるICカード毎の出場許可情報を作成する機能を有している。残額情報1102は、ICカード毎の電子マネー残高や定期券、回数券、周遊券、特急券といった乗車に関わる権利やレンタカー予約、イベント会場入場券といった他業種の連携を含めた種々の権利を保持する。
出場許可情報作成リクエスト1600は、改札機1200、駅務機器端末1300、電子マネー端末1400等のICカードを処理する駅務機器において、利用者がICカード等の情報記録媒体を用いて入場するとき作成されるものである。出場許可情報作成リクエスト1600は、上記ICカードを識別するための媒体ID等のID情報、利用者が改札機1200を通過して入場したタイミング等、利用者の入出場に関する情報を、ICカードごとに保持する。
トークン情報1700は、後述の図5に示す情報を持ち、中間サーバ1000間での通信権の管理に用いられ、センタサーバ1100配下の中間サーバ名、中間サーバ1000毎の次回通信タイミング、後述する閾値増加/減少要求といった情報を持つ。上記通信権とは、中間サーバ1000がセンタサーバ1100に出場許可情報作成リクエスト1600を送信するための権利である。後述するように、通信権を保持している中間サーバ1000のみがセンタサーバ1100に対して出場許可情報作成リクエスト1600を送信することができる。そのような中間サーバ1000のみがセンタサーバ1100に出場許可情報作成リクエスト1600を送信することにより、一度に多量のデータが送信されることによるセンタサーバ1100への負荷や、中間サーバ1000とセンタサーバ1100との間のネットワークへの負荷を抑制することができる。
センタサーバ1100が、改札機1200から中間サーバ1000経由で上記ICカード毎に発行される上記ID情報を含む出場許可情報作成リクエスト1600を受信すると、出場許可情報作成部1101は、当該ID情報について残額情報1102を参照し、残額に応じた範囲の出場許可情報を生成し、中間サーバ1000に送信する。このような処理を事前に行っておくことで、各改札機1200は、当該ICカードから出場要求を受けたとき、当該ICカードのID情報をキーにして中間サーバ1000にアクセスし、当該ICカードの利用者の出場可否を判断できる。
中間サーバ1000は、センタサーバ1100と改札機1200等の駅務機器の間に配置されるサーバであり、センタサーバ1100が管理する地域・駅よりも狭い範囲を複数台の中間サーバ1000で管理する。中間サーバ1000は、例えば、関東、関西、あるいは一または複数の都道府県等の地域により構成される所定のエリアごとに設けられ、その配下に、複数の改札機1200等の駅務機器が存在している。中間サーバ1000は、障害等によるセンタサーバ1100の機能低下、センタサーバ1100までの通信路不安定、また予想外の大量リクエストによる処理遅延といった異常事象を性能低下検知部1001で検知し、前記事象が起こった際に、出場許可情報作成リクエスト1600を保持し、リクエストの欠損が無いよう管理する。
また、例えば、中間サーバ1000は、出場許可情報作成リクエスト1600の処理優先度を判断するため、リクエスト毎に料金とりはぐれといったリスク値を算出、リスク評価済未処理リスト1005を作成しておく。中間サーバ1000は、その中でリスク値の高いものから優先的にセンタサーバ1100に出場許可情報作成リクエスト1600を送信してセンタサーバに処理を行わせることで、料金の取りはぐれリスクを最小化する。リスク値とは、利用者から料金を取りはぐれる危険性を示す情報である。
ここで、さらに本システムが複数の中間サーバ1000を有し、それらがそれぞれの望むタイミングでセンタサーバ1100に出場許可情報作成リクエスト1600を送信した場合を考える。この場合、それぞれの中間サーバ1000が自装置内で取り扱うリクエストに優先度を付けることはできる。しかし、センタサーバ1100側では、システム全体としてどの中間サーバ1000の処理を優先してよいのかの判断が難しい。このため、本システムでは、各中間サーバ1000の通信権を管理するためのトークン情報1700を作成し、中間サーバ1000間でトークン情報1700を互いにやりとりすることで、センタサーバ1100がシステム全体として優先度の高い出場許可情報作成リクエスト1600を処理できるようにする。
図1に示すように、中間サーバ1000は、性能低下検知部1001、リスク算出事前情報1002、動作設定情報1003、ダイヤ情報1004、リスク評価済未処理リスト1005、リスク評価部1006、トークン情報処理部1007、出場許可情報保持部1008を含む。
性能低下検知部1001は、センタサーバ1100や中央ネットワーク1800を監視し、障害等によるセンタサーバ1100の機能低下、センタサーバ1100までの通信路不安定、また予想外の大量リクエストによる処理遅延といった異常事象を検知する。これらの異常事象は、センタサーバ1100の通信トラフィックやレスポンスから判断することができる。
リスク算出事前情報1002は、リスク評価部1006においてリスク値を判断するための情報である。リスク算出事前情報1002は、ICカードのID情報毎の後払い可能金額や個人の危険度といった情報を保持する。リスク算出事前情報1002の例については、図9を用いて後述する。リスク算出事前情報1002は、各中間サーバ1000に対して、センタサーバ1100から、業務時間外等の本システムの稼動に影響を与えない時間帯に、1日や1週間に一度といった周期で送信される情報である。後払い可能金額とは、残額を超えた支払いが発生した場合に、クレジットカード等との連携により、その場で現金による追加支払いを行わなくても、後から補填可能な最大金額のことである。また、個人の危険度は、例えば、過去の通過履歴の中で、残額不足等の状態でありながら改札機1200を通過しようとした割合を示す。すなわち、個人の危険度とは、意図的であるか否かにかかわらず、料金が徴収できない状態となりうる可能性を示す指標である。
動作設定情報1003は、リスク評価部1006及びトークン情報処理部1007の動作設定を示す設定情報を保持する。設定情報には、例えば、リスク評価部1006におけるリスク値の作成のためのリスク値更新タイミングや、リスク値算出の際のリスク算出事前情報1002に記された個人の危険度に対する重み付けといった情報を保持する。また、トークン情報処理部1007におけるトークン情報1700作成のための、リスク値閾値や動作モードといった情報を保持する。これらの情報は中間サーバ設定端末1500を用いて設定される。
ダイヤ情報1004は鉄道の運行に関する情報であり、予め決定している時刻表情報やリアルタイムの運行管理情報を含む。ダイヤ情報1004は、リスク評価部1006においてリスク値更新のタイミングを決定する場合や、トークン情報処理部1007において、次回通信許可の要求時刻を設定する場合に利用される。
リスク評価済未処理リスト1005は、リスク評価部1006において作成された出場許可情報作成リクエスト1600とリスク値を含む情報リストである。後述するように、トークン情報処理部1007は、当該中間サーバ1000が通信権を得た場合、リスク評価済未処理リスト1005に含まれる情報の中からリスク値の高いものから処理し、センタサーバ1100に出場許可情報作成リクエスト1600が送信される。
リスク評価部1006は、改札機1200から受信した出場許可情報作成リクエスト1600に対して、個々のカード情報に基づいてリスク評価を行う機能を備える。カード情報とは、例えば、ICカードを識別するための媒体ID、利用開始日、チャージ金額、定期券として利用する区間、クレジットカード機能に関する情報(例えば、クレジットカード会社、ICカードへのオートチャージ金額、利用限度額等)が含まれる。
リスク評価部1006は、リスク算出事前情報1002、動作設定情報1003、ダイヤ情報1004を入力として、リスク評価済未処理リスト1005を出力する。リスク評価部1006は、出場許可情報作成リクエスト1600の媒体ID7010を受け取ると、リスク算出事前情報1002の情報を用いてリスク値及び推定最大料金を作成する。リスク評価部1006は、出場許可情報作成リクエスト1600に含まれる媒体ID7010、入場時刻7020をリスク評価済未処理リスト1005に設定するとともに、リスク算出事前情報1002に含まれる後払い可能金額および個人の危険度を、後払い可能金額4030及び個人の危険度4040としてリスク評価済未処理リスト1005に設定する。さらに、リスク評価部1006は、上記作成した推定最大料金およびリスク値を、推定最大料金4050及びリスク値4060としてリスク評価済未処理リスト1005に設定する。
トークン情報処理部1007は、中間サーバ1000同士で通信権の管理を行うためのトークン情報1700を作成する機能と、トークン情報1700を受け取った際にリスク評価済未処理リスト1005の送信を行う機能と、トークン情報1700を参照して他中間サーバ1000にトークン情報1700を送信する機能を備える。トークン情報処理部1007は、リスク評価済未処理リスト1005、動作設定情報1003、ダイヤ情報1004を参照する。トークン情報処理部1007は、他中間サーバ1000よりトークン情報1700を受け取ったとき、自装置内に記憶されているリスク評価済未処理リスト1005を参照し、リスク値4060の高い出場許可情報作成リクエスト1600から順にセンタサーバ1100に送信する。
また、トークン情報処理部1007は、トークン情報1700に記載されている次回通信タイミング5020を参照し、トークン情報1700に記載されている中間サーバ名5010において次回通信タイミング5020まで一定の時間以下となったと判定した場合、中間サーバ名5010の中から自身のサーバ名を検索する。トークン情報処理部1007は、動作設定情報1003に含まれる通常モード3030、閾値自動変更モード3040といった動作モード及びリスク値閾値の設定3050及びダイヤ情報1004を用いて、リスク評価済未処理リスト1005の各媒体ID4010について、リスク値閾値の設定3050による設定値を超える時刻を推定最大料金4050の計算と同じ方法で計算する。トークン情報処理部1007は、計算した各媒体ID4010についての上記時刻のうち、例えば、最も近い未来にリスク値閾値の設定3050を超える時刻を次回通信タイミング5020に記載する。トークン情報処理部1007は、このようにしてトークン情報1700を作成した後、前記の次回通信タイミング5020まで一定の時間以下となった中間サーバ1000に対して、作成したトークン情報1700を送信する。
出場許可情報保持部1008は、センタサーバ1100より受け取った出場許可情報を保持する。出場許可情報保持部1008は、改札機1200から出場要求を受け取ったとき、出場許可情報を参照し、出場要求に含まれるID情報のICカードに対して出場許可が出ているかどうかを判断し、その結果を改札機1200に送信する。また、出場許可情報保持部1008は、出場要求に含まれるID情報のICカードに対して出場許可が出ていない場合でも、リスク評価済未処理リスト1005においてリスク値4060が0以下であった場合には、出場許可が出ているとみなして改札機に対し出場許可を出すこともできる。
出場許可情報保持部1008は、センタサーバ1100との間で出場許可情報のやりとりにおいて、センタサーバ1100から、出場許可情報を配布する範囲の中間サーバ1000に出場許可情報を送信する代わりに、出場許可情報作成リクエスト1600を出した中間サーバ1000の出場許可情報保持部1008が代表して出場許可情報を受け取り、その中間サーバ1100が、出場許可情報が配布されるべき範囲の中間サーバ1000に転送して配布を行うことができる。すなわち、中間サーバ1000の出場許可情報保持部1008は、自装置の出場許可情報と、他の中間サーバ1000から送信された出場許可情報作成リクエスト1600にしたがって生成された出場許可情報作成リクエスト1600とをセンタサーバ1100から受信し、他の中間サーバ1000に、他の中間サーバ1000が送信した出場許可情報を送信してもよい。その結果、センタサーバ1100側の中間サーバ1000への通信処理に関する負荷を低減できる。さらに、一定時間、リスク評価済未処理リスト1005においてリスク値4060が0以下であり続けると推定されるような出場許可情報作成リクエスト1600については、リスク評価済未処理リスト1005のうち、その出場許可情報作成リクエスト1600に含まれる媒体IDと同じ媒体IDを含むレコードを特定し、そのレコードを他中間サーバ1000に送信することで、他中間サーバ1000でも出場許可が出ているとみなし、その媒体IDのICカードに対して出場許可を出すことができる。
中間サーバ設定端末1500は、中間サーバ1000が持つリスク評価部1006及びトークン情報処理部1007の動作設定を行う端末であり、動作情報設定部1501を持つ。動作情報設定部1501は、ディスプレイ等に図3のような設定画面を出力し、設定者に対して動作設定情報1003を設定する機能を提供する。
改札機1200、駅務機器端末1300、電子マネー端末1400は、ICカードの利用者がICカードを利用するためにコンタクトを行う端末であり、それぞれ、カード処理部1201を持つ。カード処理部1201は、利用者が所持するICカードに代表される認証情報を持つ物品や個人の生体情報等の読み取りを行い、中間サーバ1000に対して情報のやり取りを行う。例えば、改札機1200での利用の場合、カード情報はカード処理部1201で作成された出場許可情報作成リクエスト1600および出場要求と共に中間サーバ1000に地域ネットワーク1900を通じて送信され、上位系での出場許可情報等に関する処理結果を中間サーバ1000から得る。駅務機器端末1300では、残高の積み増しや特急券等購入利用、電子マネー端末1400では、カードの利用に伴う決済処理の利用残額積増に関する要求が中間サーバ1000に送信され、その結果を中間サーバ1000から得る。このとき、これら特急券利用や電子マネー利用といった情報をリスク値算出のための情報として利用しても良い。
図2は、本実施例における中間サーバ1000、センタサーバ1100、中間サーバ設定端末1500の各機能を実現するためのハードウェア構成2000の例である。図2に示すように、これらのサーバおよび端末は、中央処理装置2002と、主記憶装置2003と、内部バス2004と、バスI/F2005と、外部バス2006と、画面出力装置I/F2007と、ユーザ入力装置I/F2008と、大容量記憶装置2009と、通信装置I/F2010と、入出力装置I/F2011とを有して構成される。
中央処理装置2002は、プログラムを実行して演算を行うための装置である。中央処理装置2002は、図1の中間サーバ1000の性能低下検知部1001、リスク評価部1006、トークン情報処理部1007、出場許可情報保持部1008、センタサーバ1100の出場許可情報生成部1101、中間サーバ設定端末1500の動作情報設定部1501の動作を実現するために用いられる。
主記憶装置2003は、本実施例における各プログラム実行時の処理領域および、データの一時格納領域として使用される。主記憶装置2003は、例えば、OS(Operating System)などの基本プログラムや、中間サーバ1000、センタサーバ1100、中間サーバ設定端末1500が持つプログラムや一時情報といったそれぞれの機器における処理を実現するためのプログラム・一時情報を一時的に格納する。
中央処理装置2002と主記憶装置2003は、内部バス2004により接続されており、内部バス2004は、バスI/F2005を介して外部バス2006に接続されている。
外部バス2006は、画面出力装置I/F2007、ユーザ入力装置I/F2008、大容量記憶装置I/F2009、通信装置I/F2010、入出力装置I/F2011と接続されており、これらのI/Fと中央演算処理装置2002や主記憶装置2003とのデータ入出力を、バスI/F2005、内部バス2004を用いて媒介する。
画面出力装置I/F2007は、ディスプレイ2100と接続するためのI/Fであり、外部バス2006を通じて得た情報をディスプレイ2100に出力する。ディスプレイ2100は例えば、本実施例における図3の動作設定画面3000や処理状況等を表示可能な装置であり、そのほかにも基本プログラムを操作するための情報等が表示できる。
ユーザ入力装置I/F2008は、ユーザ入力装置2200と接続するためのI/Fであり、外部バス2006にユーザ入力装置2200から入力された情報を出力する。ユーザ入力装置2200はキーボード、マウスなど、ユーザからの入力を受け取るための装置であり、ユーザ入力装置2200から入力された情報はユーザ入力装置I/F2008に出力される。
大容量記憶装置I/F2009は、大容量記憶装置2300と接続するためのI/Fであり、大容量記憶装置2009からのデータ入出力を外部バス2006に仲介する。大容量記憶装置2300は、例えば、HDD(Hard Disk Drive)といった装置であり、中間サーバ1000の機能を実現するための基本プログラムやプログラム実行時処理結果の一時保管情報や、中間サーバ1000、センタサーバ1100、中間サーバ設定端末1500といったそれぞれの機器における処理を実現するためのプログラムや情報を記憶する。また、各種処理実行の際には、中央処理装置2002が、主記憶装置2003にこれらのプログラムやデータを読み出してプログラムを実行する。
通信装置I/F2010は、通信装置2400と接続するためのI/Fであり、通信装置2400からのデータ入出力を外部バス2006に仲介する。通信装置2400は、例えば、Ethernet(登録商標)を介して外部サーバ装置などの様々な装置と接続するための装置であり、中央ネットワーク1800や地域ネットワーク1900で接続された外部と通信する。
入出力装置I/F2011は、入出力装置2500と接続するためのI/Fであり、入出力装置2500からのデータ入出力を外部バス2006に仲介する。入出力装置2500は、外部媒体に読み書き可能なドライブ装置やユーザ認証を行うための指静脈読取装置などである。
図3は、本実施例における動作設定画面3000の例である。動作設定画面3000は、中間サーバ設定端末1500のディスプレイ2100に表示される画面である。動作設定画面3000では、リスク評価済未処理リスト1005のリスク値4060を作成するためのリスク値更新タイミング設定3010や、危険度の重み付け3020を含むリスク値評価設定欄が設けられている。図3では、例えば、リスク値更新タイミング設定3010としてダイヤ情報を利用する設定が選択され、危険度の重み付け3020に200%が設定されている。
また、トークン情報1700を作成するための、リスク値閾値の設定3050や、リスク値閾値を変更するための動作モードの設定を含む動作モード設定欄が設けられている。動作モードの設定としては、上記閾値を不変とする通常モード3030と、上記閾値を自動的に変更する閾値自動変更モード3040がある。図3では、動作モードとして通常モード3030が設定され、リスク値閾値の設定3050として300が設定されている。これらの設定結果は動作設定情報1003に保存され、リスク評価済未処理リスト1005、トークン情報1700を作成する際に利用される。
続いて、上記の各項目について説明する。リスク値更新タイミング設定3010は、リスク評価済未処理リスト1005のリスク値を更新するタイミングを設定する項目である。更新タイミングは、例えば、時間を直接指定しその間のリスク値変動を再計算するよう設定する場合(図3では90秒)や、ダイヤ情報1004を利用して各駅や特定駅における列車到着毎にリスク値を更新することで、乗車料金の上昇タイミングに合わせてリスク値を更新することができる。
危険度の重み付け3020は、リスク算出事前情報1002に記載された利用者である個人の危険度4040をどれだけの重要度で評価するかを設定する。危険度の重み付け3020は、リスク評価済未処理リスト1005のリスク値4060作成の際に参照される。具体的には、リスク評価部1006は、危険度の重み付け3020として100%より大きい数値が設定されていると、個人の危険度4040を、100%を超えた割合に応じてより大きい値として算出し、危険度の重み付け3020として100%より小さい数値が設定されていると、個人の危険度4040を、100%に満たない割合に応じてより小さい値として算出する。
通常モード3030は、動作モードとして設定可能な項目の例である。通常モード3030では、出場許可情報作成リクエスト1600に対するリスク値4060が、リスク値閾値の設定3050で設定された値を越える直前のタイミングで処理を完了させるためのモードである。
閾値自動変更モード3040は、動作モードとして設定可能な項目の他の例である。通常モード3030では固定であったリスク値閾値の設定3050について、初期設定値を基準として、状況に応じてその値を上下させて変動させることを許可するモードである。
リスク値閾値の設定3050は、中間サーバ1000間の通信権授受に関する項目である。リスク値閾値の設定3050は、トークン情報1700の次回通信タイミング5020の設定時に利用する値である。リスク値閾値は、金額の損失期待値を示すものであり、リスク値閾値は、時間の経過や乗車駅からの距離とともに大きくなるリスク値4060の閾値である。
設定完了ボタン3060は、設定を完了し設定結果を動作設定情報1003に保存するためのボタンである。
図8は、動作設定情報1003の例を示す図である。図8に示すように、動作設定情報1003には、上記リスク値更新タイミング設定3010を示すリスク値更新タイミング8010と、上記危険度の重み付け3020を示す危険度の重み付け8020と、上記動作モード設定を示す動作モード設定8030と、上記リスク値閾値の設定3050で設定された値を示すリスク値閾値8040とが含まれる。図8に示す例では、リスク値更新タイミング8010として、ダイヤ情報1004を参照すること、危険度の重み付け8020として、危険度の2倍の値を設定すること、動作モード設定8030として、通常モードが設定されていること、リスク値閾値8040として、300が設定されていることがわかる。
図4Aは、本実施例におけるリスク評価済未処理リスト1005の例である。リスク評価済未処理リスト1005は、出場許可情報作成リクエスト1600を含む情報をリストしたものである。リスク評価済未処理リスト1005は、センタサーバ1100や中央ネットワーク1800において処理能力やレスポンスが低下した場合等の異常事象が検知された場合に各中間サーバ1000で生成され、以降、中間サーバ1000が改札機1200から出場許可情報作成リクエスト1600を受信したその都度、そのリクエストがリスク評価済未処理リスト1005の1つのレコードとして追加される。
図4Aに示すように、リスク評価済未処理リスト1005は、例えば、媒体ID4010、後払い可能金額4030、個人の危険度4040、入場時刻4020、推定最大料金4050、リスク値4060の情報を持つ。リストに出場許可情報作成リクエスト1600が追加される場合、リスク評価部1006は、まず媒体ID4010と入場時刻4020とを記録する。次に、リスク評価部1006は、媒体ID4010をキーにして、リスク算出事前情報1002(図9)を検索し、検索した媒体ID4010に対応する媒体IDとともに記憶されている後払い可能金額および個人の危険度を、後払い可能金額4030及び個人の危険度4040としてリスク評価済未処理リスト1005に設定するとともに、上記作成した推定最大料金およびリスク値を、推定最大料金4050及びリスク値4060としてリスク評価済未処理リスト1005に設定する。
各中間サーバ1000は、センタサーバ1100と通信を行ったとき、リスク評価済未処理リスト1005の中からリスク値の高い出場許可情報作成リクエスト1600を優先してセンタサーバ1100側に通知する。
続いて、上記の各項目について説明する。媒体ID4010は、ICカード等の情報記録媒体毎に固有のIDであり利用者が保持するICカード等媒体に記されている。
入場時刻4020は、利用者が駅の改札機1200を通って場内に入場し、出場許可情報作成リクエスト1600が発生した時刻が入場した駅を識別するための駅IDとともに記録されている。
後払い可能金額4030は、後払いサービス等加入により、カードにひも付けられた残額を使い切った場合でも、料金回収ができるか、またどの程度の金額なら回収可能なのかといった情報を、媒体ID4010毎に保持する。利用者は、残額を超えた支払いが発生した場合であっても、クレジットカード等を発行する与信機関との連携により、その場で現金による追加支払いを行わなくても、後からあらかじめ定められた金額を補填することができる。このように、後払い可能金額とは、ICカードの残高が不足した場合であっても、その後で不足分の補填が可能な金額の最大限度額である。
個人の危険度4040は、例えば、個人が改札を通る際に、料金不足等理由で出改札を止められた回数を基準として、その確率が算出される。
後払い可能金額4030と個人の危険度4040は、リスク算出事前情報1002に媒体ID4010毎に格納されており、出場許可情報作成リクエスト1600が追加された際には、必要に応じて読み出される。
推定最大料金4050は、入場時刻4020からの経過時間に従って増加する最大の移動料金が記録されている。例えば、リスク評価部1006は、ダイヤ情報1004を参照して、入場時刻4020のあとに最も早く到着または出発する列車を特定し、そのICカードの利用者が列車に乗った場合の時間経過毎の最大料金を算出する。このとき、リスク評価部1006は、定期券等固定料金の前払いにより一定区間の乗降に関して追加料金が不要な場合、これを加味した計算を行う。
リスク値4060は、後払い可能金額4030、個人の危険度4040、推定最大料金4050を利用して算出される。例えば、リスク評価部1006は、ある出場許可情報作成リクエスト1600に対して(推定最大料金4050−後払い可能金額4030)×個人の危険度4040の計算をすれば、損失の期待値が得られ、これをリスク値4060として設定する。このとき、リスク評価部1006は、個人の危険度4040について、動作設定情報1003の危険度の重み付け3020を参照して危険度の重み付け3020の値(すなわち比率)を変更した上で、上記推定最大料金を算出してもよい。また、リスク値4060は、推定最大料金4050の値に基づいて算出されるため、時間経過によって変化する。リスク値が更新されるタイミングは、動作設定情報1003のリスク値更新タイミング設定3010に示されたタイミングである。リスク評価部1006は、そのリスク値更新タイミング設定3010で示された更新タイミングでリスク値を更新する。リスク値更新時には、自動販売機やキヨスクといった電子マネーの利用や、特急券購入といった情報を加味してリスク値を再計算することもできる。
例えば、図4Aにおいて、行4001は、媒体ID4010が001、入場時刻4020が10:11であり、まずは前記入場時からの経過時刻に応じた最大料金計算により、推定最大料金4050を得る。より具体的には、リスク評価部1006は、出場許可情報作成リクエスト1600(図7)を参照し、媒体IDが「001」の利用者が駅ID「A」で識別される駅に入場したときの入場時刻「10:11」を読み取る。リスク評価部1006は、読み取った上記入場時刻と、図4Bに示すようなダイヤ情報1004の駅IDごとの発着時刻との差分を算出し、算出したその時間と、不図示のタイマにより計時した上記入場時刻からの時間とを比較する。例えば、リスク評価部1006は、列車Bについての上記駅Aと駅Bとの間の差分となる走行時間は1時間(09:00−08:00)であるため、上記タイマが計時した時間が1時間までの間は、上記最大料金計算によって算出される推定最大料金は500円となる。以降の駅についても同様に、時間が経過するあるいは移動距離が長くなるにつれて、列車が到着または通過した駅までの料金(例えば、列車がC駅に到着または通過した場合には800円)が上記推定最大料金として求められる。
その後、リスク評価部1006は、推定最大料金4050が500円であり、後払い可能金額4030が0円であり、個人の危険度4040が0.1であるため、上記同様の計算方法により計算した(500-0)×0.1の計算結果である50をリスク値4060として算出する。
同様の計算を行4002において行うとリスク値はマイナスの値を取る。これは現時点でリスクがないことを示しており、この場合は、例えセンタサーバ1100側で出場許可情報の作成が完了しておらず、残額情報(図10)に記憶されている残額が不足となっていたとしても、後払いによる不足金回収が可能になる。このため、中間サーバ1000は、このような状態で改札機1200から出場要求を受信した場合には、センタサーバ1100側で出場許可情報の作成が完了しておらず、中間サーバ1000側で出場許可情報を保持していなくても出場許可を出すことができる。出場要求は、利用者が改札機1200を通過して出場するための情報であり、入場時に作成された出場許可情報作成リクエスト1600(図7)と同様の情報を保持する。出場要求は、改札機1200により生成され、中間サーバ1000に送信される。
図5は、本実施例におけるトークン情報1700の例である。トークン情報1700は複数の中間サーバ1000間でセンタサーバ1100との通信権を管理するための情報である。トークン情報1700を保持する中間サーバ1000だけが、センタサーバ1100に対してリスク評価済未処理リスト1005に記載されている出場許可情報作成リクエスト1600を送信できる。トークン情報1700は、通信権としての情報の他に他中間サーバ1000にトークン情報1700を渡すための情報を持つ。トークン情報1700は、あらかじめ定められた代表となる中間サーバ1000の性能低下検知部1001が、上記異常事象を検知した場合に作成される。
図5に示すように、トークン情報1700は、例えば、トークン情報1700は、センタサーバ1100の配下にある中間サーバ1000の中間サーバ名5010、次回通信タイミング5020、閾値増加/減少要求5030を持つ。
続いて、上記の各項目について説明する。中間サーバ名5010は、通信権のやりとりを行う主体となる中間サーバ1000を記録する。記録された中間サーバ1000は、次回通信タイミング5020での通信権授受の対象となる。
次回通信タイミング5020は、各中間サーバ1000が次回通信権を得たい時刻が記録されている。次回通信タイミング5020は列車到着時刻を基準に作成される。例えば、トークン情報処理部1007は、次回通信タイミング5020を、動作設定情報1003に記載されたリスク値更新タイミング設定3010で指定された方法により決定する。トークン情報処理部1007は、リスク評価済未処理リスト1005のリスク値4060算出方法と同じ方法で、未来においてリスク値4060がリスク値閾値の設定3050で指定されたリスク値閾値を越えるタイミングを判定する。例えば、トークン情報処理部1007は、当該タイミングとダイヤ情報1004に記憶されている駅への列車の到着時刻とを比較し、列車到着前に処理が完了するよう、次回通信タイミング5020を設定する。
以下、図5を用いて具体的に説明する。現在時刻が9:55である場合、その直近の次回通信タイミング5020が設定されている中間サーバ「A001」のリスク評価部1006が、リスク評価済未処理リスト1005の中でリスク値の高い出場許可情報作成リクエスト1600をセンタサーバ1100に送信し、その結果を受信する処理を実行する。その処理が終了すると、中間サーバ「A001」のトークン情報処理部1007は、次回通信タイミング5020を、リスク値がリスク値閾値「300」に達する直前のタイミングに更新する。このタイミングは、リスク値を算出したときの計算方法から逆算することで求めることができる。すなわち、リスク値が求められていれば、推定最大料金を求めることができ、さらにダイヤ情報1004を参照してその推定最大料金となる列車の到着または通過時刻がわかる。中間サーバ「A001」のトークン情報処理部1007は、リスク評価済未処理リスト1005に記憶されているすべてのレコードについて上記時刻を求め、その時刻のなかで、最も早く到来する時刻を次回通信タイミング5020に設定し、その値を更新する。
中間サーバ「A001」のトークン情報処理部1007は、次回通信タイミング5020の更新が終わると、トークン情報1700に記憶されている次回通信タイミング5020が最も早く到来する中間サーバ「A002」に、トークン情報1700を送信する。
中間サーバ「A002」のリスク評価部1006は、中間サーバ「A001」と同様に、自装置内のリスク評価済未処理リスト1005の中でリスク値の高い出場許可情報作成リクエスト1600をセンタサーバ1100に送信し、その結果を受信する処理を実行した後、トークン情報処理部1007が次回通信タイミング5020を更新する。このように、それぞれの中間サーバ1000が、通信権を要求する次回通信タイミング5020を更新し、次回通信タイミング5020が更新されたトークン情報1700を受け渡しすることで、リスク値がリスク値閾値となる前に処理を完了することができる。
閾値増加/減少要求5030は、動作設定情報1003に記載されたリスク閾値の設定3050のみでは対応仕切れない場合を想定し閾値を動的に変更する(例えば、次期通信タイミングを10分後の時刻に後ろ倒しした時刻に更新する)ための情報である。例えば、ある中間サーバにおいて直近の列車到着によってリスク値がリスク閾値の設定3050を超えるリクエストがある場合、全ての出場許可情報作成リクエスト1600に関するセンタ側への通信が完了しないまま、次の中間サーバ1000に対する次回通信タイミング5020が来てしまうことが考えられる。他中間サーバ1000でも同様の状況が発生し、全ての中間サーバ1000が自ら設定した次回通信タイミング5020でトークン情報1700を受信して処理を実行した場合、次に最も早い次回通信タイミング5020が設定されている他の中間サーバ1000に、そのタイミングまでにトークン情報1700を送信できないことが考えられる。
このとき、各中間サーバ1000のリスク評価部1006は、リスク値閾値を増減するための閾値増加/減少要求5030にリスク値閾値の増加値を記すことで、トークン情報1700を受け取った各中間サーバにおいて、設定されているリスク値閾値が引き上げられ、高優先度となるリスク値の高いリクエストに関する通信を完了できる。また、これとは逆に、処理時間に十分余裕がある場合には閾値を引き下げることで低いリスク値(例えば、リスク値がゼロ未満であるマイナス値)の出場許可情報作成リクエスト1600に関しても処理可能となる。このような閾値増加/減少要求5030は、動作設定情報1003の動作モード設定に記載された通常モード3030、閾値自動変更モード3040にしたがって設定される。上記動作モード設定が通常モード3030の場合、各中間サーバ1000のリスク評価部1006は、リスク値閾値の設定3050で示されるリスク値閾値を参照するため、閾値増加/減少要求5030を利用しない。これに対し、上記動作モード設定が閾値自動変更モード3040の場合、各中間サーバ1000のリスク評価部1006は、閾値増加/減少要求5030を利用し中間サーバ間で閾値の変更を行う。
例えば、図5において行5001は中間サーバ名5010が「A001」、次回通信タイミング5020が「10:00」、閾値増加/減少要求5030が「無し」であり、「A001」以外の中間サーバ1000がこのトークン情報1700を受け取ったとき、すべての中間サーバ1000の次回通信タイミング5020を参照し、もし次回通信タイミング5020において「10:00」が最も近い時刻ならば、中間サーバ「A001」に対して「10:00」までにトークン情報1700を送信することを示している。
また、行5002では閾値増加/減少要求5030に増加(+100)が記載されており、この情報を受け取った中間サーバ1000は、それぞれが保持している動作設定情報1003の値を+100の値に従い設定しなおす。例えば、それぞれの中間サーバ1000のトークン情報処理部1007は、トークン情報1700に、次にセンタサーバ1100に出場許可情報作成リクエスト1600を送信するタイミングを次回通信タイミング5020として設定する。他の中間サーバ1000のトークン情報処理部1007は、中間サーバ1000からそのトークン情報1700を受信すると、上記中間サーバ1000と同様に次回通信タイミング5020を設定するが、その次回通信タイミング5020に設定した時刻と、現在時刻との差分が一定時間以内(例えば、10秒)であり、センタサーバ1100に出場許可情報作成リクエスト1600を送信して出場可否の判定結果が記録された出場許可情報を受け取るまでに、その次回通信タイミング5020に設定した時刻を過ぎてしまうと判断した場合、設定した次回通信タイミング5020に、リスク値閾値の設定3050により設定されている値に所定値(例えば、100)を加算した値をリスク値閾値として再設定する。トークン情報処理部1007は、リスク値が再設定したリスク値閾値に達する直前のタイミングとなるように次回通信タイミング5020を後ろ倒しに更新し、更新したトークン情報1700を、他の中間サーバ1000に送信する。
なお、このトークン情報1700は、例えば、予め定めた中間サーバ1000において作成され、初期状態では中間サーバ名5010のみが記されており、まずは作成元の中間サーバ名5010で識別される中間サーバ1000にて次回通信タイミング5020を記録し、その後、次回通信タイミング5020が空欄となっている中間サーバ5010に対してトークン情報1700を送信する初期処理を実行する。そして、全ての中間サーバ1000に関して通信タイミング5020が記載されると、前記動作を実施する。
図6は、改札入場時におけるシステム全体の動作の例を示したシーケンス図である。
中間サーバ1000のうちの1つの中間サーバ1配下の改札機6100は、入場や出場をしようとする利用者のICカードからカード情報を接触または非接触で読み取り、入場の場合はそのICカードの媒体IDと入場時刻を含む出場許可情報作成リクエスト1600を中間サーバ1000に送信し、また出場の場合には上記媒体IDを含む出場要求を中間サーバ1000に送信する。
中間サーバ1000のうちの1つの中間サーバ1である中間サーバ6200は、図1に示す中間サーバ1000と同様の構成を持ち、センタサーバ1100からリスク算出事前情報1002を受信したり、上記異常事象の検知、リスク評価済未処理リスト1005の作成、トークン情報1700の作成や送受信、出場許可情報作成リクエスト1600の送信を行う。
上記中間サーバ1とは異なる中間サーバ2である中間サーバ6300は、図1に示す中間サーバ1000と同様の構成を持ち、中間サーバ1と同様の動作が可能なサーバである。
センタサーバ6400は、図1に示すセンタサーバ1100と同様の構成を持ち、あらかじめ登録されているリスク算出事前情報1002の送信、出場許可情報の作成、送信を行う。続いて、各ステップについて説明する。
ステップ6001では、センタサーバ6400は、あらかじめ登録されている図9に示すリスク算出事前情報1002を中間サーバ1、中間サーバ2に配布する。
図9は、リスク算出事前情報1002の例を示す図である。図9に示すように、リスク算出事前情報1002は、入場や出場したICカードを識別するための媒体ID9010と、個人の危険度9020と、後払い可能金額9030とが対応付けて記憶されている。これらの情報は、既に説明しているためここではその説明を省略するが、図9では、媒体IDが「001」のICカードの利用者の危険度は「0.1」であり、後払い可能金額は0円、すなわち後払い不可能であることを示している。個人の危険度9020は、例えば、利用者が乗り越したにもかかわらずそのICカードで出場しようとして改札機6100を通過できなかった回数を、利用者が過去に出場した総回数で除して求められる値である。この値は、出場総回数における出場不可回数の割合である。
ステップ6002では、中間サーバ6200、6300は、センタサーバ6400から受信したリスク算出事前情報1002を自装置に格納する。ステップ6001、6002の処理は、例えば、一般利用者によりシステムが利用されない業務終了後の時間等に実行すればよい。
ステップ6003では、中間サーバ6200の性能低下検知部1001が、センタサーバ6400との間の通信トラフィックやセンタサーバ6400のレスポンスを監視し、監視結果が通常よりも悪く上記異常事象を検知したと判定した場合に、リスク評価部1006やトークン情報処理部1007の動作を開始させる。
具体的には、上記異常事象が検知されると、異常事象を検知した中間サーバ6200は、図4Aに示したリスク評価済未処理リスト1005を作成する。この時点では、リスク評価済未処理リスト1005には初期値が設定される。
その後、ステップ6004において、改札機6100は、出場許可情報作成リクエスト1600を送信する。改札機6100は、利用者が改札機を通過してICカードに記録されているカード情報を読み取る毎に、出場許可情報作成リクエスト1600を中間サーバ1000に送信する。
図7は、出場許可情報作成リクエスト1600の例を示す図である。図7に示すように、出場許可情報作成リクエスト1600は、ICカードを識別するための媒体ID7010と、その媒体IDによって識別されるICカードが改札機1200を通過して入場したときの入場時刻7020と、通過した改札機1200が設置されている駅を識別するための駅ID7030とが対応付けて記憶されている。図7では、媒体IDが「001」のICカードの利用者は、駅「A」から10:11に入場したことを示している。
ステップ6005において、中間サーバ6200のリスク評価部1006は、改札機6100から出場許可情報作成リクエスト1600を受信する度に、その出場許可情報作成リクエスト1600の媒体ID7010をキーにして、ステップ6001でセンタサーバ1100から受信したリスク算出事前情報1002を参照し、媒体ID7010と同じ媒体IDに対応付けて記憶されている後払い可能金額4030、個人の危険度4040を読み取り、ステップ6003で作成したリスク評価済未処理リスト1005にレコードを追加する。さらに、中間サーバ6200のリスク評価部1006は、出場許可情報作成リクエスト1600の媒体ID7010と同じ媒体IDに対応する入場時刻4020をリスク評価済未処理リスト1005の中から読み取り、その入場時刻4020と、図4Bに示したダイヤ情報1004の駅IDごとの発着時刻との差分を算出する。そして、算出したその時間と、不図示のタイマにより計時した入場時刻4020からの時間とを比較し、タイマが計時した時間がその差分となるまでの間は、上記差分に対応する料金(ダイヤ情報1004に示された区間の料金)を推定最大料金4050に設定する。さらに、中間サーバ6200のリスク評価部1006は、後払い可能金額4030と、個人の危険度4040と、その推定最大料金4050とを用いて、上記計算方法によりリスク値を算出し、リスク値4060に設定する。
ステップ6006では、中間サーバ6300のトークン情報処理部1007は、中間サーバ6200に対してトークン情報1700を送信する。この例では、中間サーバ6300がトークン情報1700を保持しており、センタサーバ6400への出場許可情報作成リクエスト1600の送信が終了し、トークン情報1700の次回通信タイミング5020の中で次に到来するタイミングが中間サーバ6200により設定されたタイミングであるため、中間サーバ6300は中間サーバ6200にトークン情報1700を送信している。
ステップ6007では、中間サーバ6200のリスク評価部1006は、出場許可情報作成リクエスト1600の送信を開始する。中間サーバ6200のリスク評価部1006は、他中間サーバである中間サーバ6300からトークン情報1700を受け取った後、リスク評価済未処理リスト1005に記憶されているレコードのうち、リスク値4060が高いレコードに含まれる媒体ID4010と同じ媒体IDの出場許可情報作成リクエスト1600から順にセンタサーバ1100に送信し、優先的に出場許可情報を作成するよう要求する。
ステップ6008では、センタサーバ6400の出場許可情報作成部1101は、中間サーバ6200から受信した出場許可情報作成リクエスト1600にしたがって、出場許可情報1101Aを作成する。
図11Aは、出場許可情報1101Aの例を示す図である。図11Aに示すように、出場許可情報1101Aは、ICカードを識別するための媒体ID11010と、駅を識別するための駅ID11020と、そのICカードでその駅からの出場を許可するか否かを示す出場可否11030とが対応付けて記憶されている。図11Aでは、例えば、媒体IDが「001」のICカードの利用者は、A駅およびB駅のいずれの駅からも出場可能であることを示している。一方、媒体IDが「123」のICカードの利用者は、A駅から出場は可能であるが、B駅から出場できないことを示している。
センタサーバ6400の出場許可情報作成部1101は、中間サーバ6200から受信した出場許可情報作成リクエスト1600に含まれる媒体ID7010ごとに、すべての駅について、その媒体IDによって識別されるICカードの利用者の出場可否を、残額情報1102を参照して判定する。
図10は、残額情報1102の例を示す図である。図10に示すように、残額情報1102は、ICカードを識別するための媒体ID10010と、そのICカードにチャージされている金額を示すチャージ残額11020と、そのICカードがクレジットカード会社からの与信を受けたクレジットカードと連携してチャージ残額11020が一定額未満となった場合の自動的なチャージを示すクレジットカード連携10030と、そのICカードが定期券として利用される区間を示す定期券区間10040と、そのICカードが企画券として利用される区間を示す企画券区間10050と、そのICカードがショッピングに利用された時に蓄積されるポイント10060とが対応付けて記憶されている。図10では、例えば、媒体IDが「001」のICカードの利用者は、そのICカードにチャージされている残額が500円であり、クレジットカードとの連携により、残額が一定額未満になれば2000円まで自動チャージされることを示している。また、そのICカードは、B駅からX駅までは定期券として利用される区間であることを示している。同様に、媒体IDが「012」のICカードの利用者は、そのICカードにチャージされている残額が100円であり、クレジットカードとの連携や定期券区間はないが、A駅からY駅の間はフリー切符として利用される区間であることを示している。
出場許可情報作成部1101は、上記のような残額情報1102と、全ダイヤ情報1103と、出場許可情報作成リクエスト1600とを参照し、残額情報1102に記憶されているチャージ残額10020以内で移動可能な駅ID11020について、出場可否11030を「可」に設定し、それ以外の場合(すなわち残額不足の場合)には、出場可否11030を「否」に設定する。図11Aでは、例えば、媒体IDが「001」であるICカードの利用者は、A駅、B駅のいずれでも出場可能であるが、媒体IDが「123」であるICカードの利用者は、A駅で出場することはできるが、B駅では残額不足で出場できないことを示している。なお、出場許可情報作成部1101は、あらかじめ定められた時間内に上記判断ができなかった場合には出場可否11030には「可」または「否」のいずれでもない初期値「−」を設定している。また、全ダイヤ情報1103は、図4Bに示したダイヤ情報1004と同様のレイアウトで構成されたデータであり、それぞれの中間サーバで保持されるダイヤ情報1004を含んでいる。
ステップ6009では、出場許可情報作成部1101は、出場許可情報作成リクエスト1600について上記設定が終了すると、作成した出場許可情報1101Aを中間サーバ6200に送信する。
ステップ60010では、中間サーバ6200の出場許可情報保持部1008は、センタサーバ6400から受信した出場許可情報1101Aに出場許可情報1101Aが作成済みであるか否かを示す許可情報作成情報11040を対応付けた出場許可情報1101Bを作成し、記憶部に保持する。
図11Bは、出場許可情報1101Bの例を示す図である。図11Bに示すように、出場許可情報保持部1008は、図11Aに示した出場許可情報1101Aに加え、許可情報作成状況11040を記憶している。図11Bでは、例えば、媒体IDが「001」であるICカードの利用者は、A駅、B駅のいずれでも出場可能であるため、許可情報作成状況11040には、いずれも「済」が記憶されている。出場許可情報保持部1008は、センタサーバ6400から出場許可情報1101Aを受信すると、受信した出場許可情報1101Aの出場可否11030に「可」または「否」が設定されている場合には既にそのICカードについての許可情報の作成が完了していると判断し、許可情報作成情報11040に「済」を設定する。
一方、出場許可情報保持部1008は、受信した出場許可情報1101Aの出場可否11030に「−」が設定されている場合には未だそのICカードについての許可情報の作成が完了していないと判断し、許可情報作成情報11040に「未済」を設定する。このとき、出場許可情報保持部1008は、出場可否11030に「−」が設定されている媒体ID11010をキーにしてリスク評価済未処理リスト1005を参照し、その媒体ID11010と同じ媒体ID4010に対応するリスク値4060を読み取る。出場許可情報保持部1008は、読み取ったリスク値4060が所定値であるマイナス値であるか否かを判定し、読み取ったリスク値4060がマイナス値であると判定した場合、料金の取り合ぐれはないと判断し、出場可否11030を「−」から「可」に更新する。
出場許可情報1101Bの設定や更新が終了すると、ステップ60011では、トークン情報処理部1007が、その時点でリスク評価済未処理リスト1005に記憶されているすべてのレコードについて推定最大料金となる列車の到着または通過時刻を求め、そのなかで最も早く到来する時刻を自装置の次回通信タイミング5020に設定し、その値を更新する。
ステップ60012では、トークン情報処理部1007は、次回通信タイミング5020を更新したトークン情報1700を、トークン情報1700の中で最も早いタイミングが到来する中間サーバ(ここでは中間サーバ6300)に送信する。以降、中間サーバ6300では、中間サーバ6200と同様の処理(ステップ6007、6009、60010、60011の処理)を実行する。
ステップ60012において、中間サーバ6200のリスク評価部1006は、改札機6100から出場要求を受信すると、その出場要求に含まれる媒体IDおよび駅IDをキーにして、出情報許可情報保持部1008が記憶した出場許可情報1101Bを参照し、同じ媒体IDおよび駅IDに対応する出場可否11030に「可」が設定されているか否かを判定する。リスク評価部1006は、同じ媒体IDおよび駅IDに対応する出場可否11030に「可」が設定され、そのICカードを利用してその駅IDの駅で出場することが許可されていると判定した場合には、改札機6100に対して出場を許可する指示を判定結果として送信する。
一方、同じ媒体IDおよび駅IDに対応する出場可否11030に「可」が設定されていない場合には、リスク評価部1006は、改札機6100に対して出場を許可しない指示を判定結果として送信する。
なお、ステップ6009では、センタサーバ6400は、リクエストを送信した中間サーバ6200に出場許可情報を送信しているが、これ以外にも、許可された駅を配下に持つ他の中間サーバに送信してもよい。例えば、リスク評価部1006は、出場が許可された駅の改札機6100から一定時間そのICカードでの出場要求がない場合、中間サーバをまたいで上記他の中間サーバに出場許可情報を送信してもよい。例えば、ある中間サーバに保持されている出場許可情報1101Bの中で、出場可否が「可」であって、かつリスク値がゼロ未満であるマイナス値であるICカードについて、その中間サーバの配下にある改札機から一定時間内にそのICカードの利用者が出場しない場合を考える。このような場合、すなわち、中間サーバの配下にある改札機から一定時間内にそのICカードから出場要求を受信したか否かを判定し、そのICカードから出場要求を受信しない場合であっても、その中間サーバのリスク評価部は、その利用者から料金をとりはぐれるリスクは低いと判断し、その中間サーバのトークン情報処理部は、そのICカードについての出場許可情報を他の中間サーバに送信する。その出場許可情報を受信した他の中間サーバのリスク評価部は、受信したその出場許可情報を保持しておき、その配下にある改札機からそのICカードからの出場要求を受信したときに出場を許可してもよい。なお、この送信動作は代表の中間サーバが代替して行い、他の中間サーバに転送しても良い。中間サーバがこの動作を代替することでセンタサーバの通信に関する負荷を低減できる。
このように、本実施例では、上記のような処理を実行するので、障害や過負荷によるセンタサーバ等の処理能力低下時、一般利用者利便・安全確保のために、改札機出場に関する料金処理等を一部省略して通行させなければならない場合でも、料金不足によるとりはぐれの金額を最小化できる。