管理サーバ、オンラインシステム、および管理プログラム
【課題】プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、その原因になったプログラムやデータを短時間に推定できる管理サーバを提供する。
【解決手段】管理サーバ1は、一定時間に、予め定めた台数を超える自動改札機2から同じ種類の障害の発生が通知されたとき、この障害に関連づけられている1または複数のプログラムやデータを抽出する。管理サーバ1は、抽出した1または複数のプログラムについて、現在のバージョンに設定するものと、旧バージョンに設定するものと、の組合せが異なる複数の設定パターンを生成する。そして、自動改札機2毎に、設定パターンでのテスト稼働を要求し、自動改札機2から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する。
【解決手段】管理サーバ1は、一定時間に、予め定めた台数を超える自動改札機2から同じ種類の障害の発生が通知されたとき、この障害に関連づけられている1または複数のプログラムやデータを抽出する。管理サーバ1は、抽出した1または複数のプログラムについて、現在のバージョンに設定するものと、旧バージョンに設定するものと、の組合せが異なる複数の設定パターンを生成する。そして、自動改札機2毎に、設定パターンでのテスト稼働を要求し、自動改札機2から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ネットワークを介して接続されている複数のオンライン端末を管理する管理サーバ、この管理サーバを適用したオンラインシステム、およびこの管理サーバに適用される管理プログラムに関する。
【背景技術】
【0002】
従来、同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末を、ネットワークを介して管理サーバに接続し、この管理サーバで各オンライン端末の状態を管理するオンラインシステムがある。この種のオンラインシステムとしては、例えば、駅務システムや金融システムがある。駅務システムは、各駅に設置されている、自動改札機、券売機、精算機等のオンライン端末をネットワークを介して管理サーバに接続している。また、金融システムは、金融機関の店舗に設置している現金自動預け払い機(ATM)等のオンライン端末をネットワークを介して管理サーバに接続している。
【0003】
また、いずれかのオンライン端末で障害が発生したときに、そのオンライン端末を遠隔操作して障害を復旧したり、このオンライン端末の近くにいる係員に対して復旧作業を指示する管理サーバも提案されている(特許文献1参照)。
【特許文献1】特開平10−21431号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、同じプログラム群がインストールされている複数のオンライン端末では、プログラムやデータ等のソフトウェアにかかるバグによって、一斉に障害が発生することがある。この場合、
(1)障害を発生させた原因であるプログラムやデータの推定
(2)推定したプログラムやデータの解析、およびバグの特定、
(3)特定したバグの修正、
(4)バグを修正したプログラムや、データを、オンライン端末にインストール、
等の復旧作業が完了するまで、オンライン端末を稼働させることができなかった。このため、オンライン端末を稼働させることができない期間、すなわちオンライン端末が停止している期間、が長いという問題があった。特に、オンライン端末が、自動改札機やATM等の公共性の高い端末である場合、停止中の期間に、多くの利用者に迷惑をかけるとともに、利用者に対応する係員の手間が大幅に増大する。
【0005】
この発明の目的は、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、その原因になったプログラムやデータの推定に要する時間の短縮を図った管理サーバを提供することにある。
【0006】
また、この発明は、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、オンライン端末を停止させる期間の短縮を図った管理サーバを提供することを目的とする。
【0007】
さらに、この発明は、上記管理サーバを適用したオンラインシステム、および、この管理サーバに適用する管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の管理サーバは、上記課題を解決し、その目的を達するために、以下のように構成している。
【0009】
管理サーバには、同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末がネットワークを介して接続されている。
【0010】
関連情報記憶手段が、オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する。関連情報は、障害の種類毎に、その障害にかかる機能を実行するプログラムを対応付けた実行関連情報や、プログラム毎にそのプログラムの実行にともなって実行される他のプログラムを対応付けた機能間依存関係情報とすればよい。また、プログラムだけでなく、データについても関連情報を記憶してもよい。
【0011】
抽出手段が、最近1時間や2時間等の一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する。また、プログラムだけでなくデータについても関連情報を記憶していれば、該当する障害に関連付けられているデータを抽出すればよい。一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知された場合、プログラムやデータのバグが原因である可能性が高い。この抽出手段によって、今回発生した障害の原因である、プログラムやデータを抽出することができる。
【0012】
なお、抽出したプログラムやデータの中には、今回発生した障害の原因でないものも含まれている。
【0013】
設定パターン生成手段が、抽出手段が抽出した1または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する。設定パターン生成手段は、抽出手段が抽出したプログラムやデータの種類数がn個である場合、最大で、(n2−1)個の設定パターンを生成する(抽出した全てのプログラムやデータを現在のバージョンにする設定パターンについては生成しない。)。
【0014】
オンライン端末選択手段が、設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択する。また、テスト稼働要求手段が、オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求する。そして、原因推定手段が、テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する。テスト稼働においても障害が発生したオンライン端末の設定パターンの中には、現在のバージョンであるプログラムやデータの中に今回発生した障害の原因であるプログラムやデータが存在していると推定できる。一方、テスト稼働において障害が発生しなかったオンライン端末の設定パターンの中には、旧バージョンであるプログラムやデータの中に今回発生した障害の原因であるプログラムやデータが存在していると推定できる。したがって、テスト稼働において、障害が発生したオンライン端末の設定パターンと、障害が発生しなかったオンライン端末の設定パターンと、を比較することによって、今回発生した障害の原因であるプログラムやデータが推定できる。すなわち、今回発生した障害の原因であるプログラムやデータの推定が短時間で行える。
【0015】
また、原因推定手段が今回発生した障害の原因であると推定したものを旧バージョンに変更した復旧パターンを生成する復旧パターン生成手段を設けるとともに、各オンライン端末に対して、この復旧パターン生成手段が生成した復旧パターンでの稼働を指示する復旧稼働指示手段を設けることにより、オンライン端末の停止期間を短縮することができる。すなわち、バグがあると推定されたプログラムやデータに対する、バグの修正を待つことなく、オンライン端末を稼働させることができる。したがって、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときにおける、オンライン端末の停止期間を短縮することができる。
【発明の効果】
【0016】
この発明によれば、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、その原因になったプログラムやデータを短時間に推定できる。
【0017】
また、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、オンライン端末の停止期間を短縮することができる。
【発明を実施するための最良の形態】
【0018】
以下、この発明の実施形態について説明する。
【0019】
図1は、この発明の実施形態である改札システムの概略図である。この改札システムは、図1に示すように、ネットワーク3を介して、複数の自動改札機2を管理サーバ1に接続したオンラインシステムである。自動改札機2が、この発明言うオンライン端末に相当する。自動改札機2は、駅の改札口に設置され、駅構内に入場する利用者や、駅構内から出場する利用者に対して改札処理を行う。管理サーバ1は、各自動改札機2の状態等を管理する。
【0020】
図2は、管理サーバの主要部の構成を示す図である。管理サーバ1は、制御部10と、記憶部11と、通信部12と、を備えている。制御部10は、管理サーバ1本体各部の動作を制御し、後述する処理等を行う。記憶部11は、機能分類情報記憶エリア21と、実行関連情報記憶エリア22と、機能間依存関係情報記憶エリア23と、機能/データ間依存関係情報記憶エリア24と、プログラム記憶エリア25と、データ記憶エリア26と、優先順位記憶エリア27とを備えている。
【0021】
機能分類情報記憶エリア21は、自動改札機2の機能毎に、機能番号、機能名、および必須指定を対応付けた機能分類情報を記憶する(図3参照)。機能番号は、対応する機能を特定するコードであるとともに、その機能を実行するプログラムを特定するコードでもある。機能名は、対応する機能の名称である。必須指定は、その機能を切り離して自動改札機2を稼働させたときに、自動改札機2として意味がある動作が行えるかどうかを示す情報である。簡単に言えば、対応する機能を切り離して、自動改札機2を稼働させる縮退運転を行ってもよいかどうかを示す情報である。必須指定は、切り離しても自動改札機2として意味がある動作が行える機能(例えば、磁気券集札や、通過データ登算)については縮退可に設定され、切り離すと自動改札機2として意味がある動作が行えない機能(例えば、磁気券改札や、ICカード改札)については縮退不可に設定される。
【0022】
実行関連情報記憶エリア22は、自動改札機2で発生する障害の種類毎に、障害コード、障害名、直接関連する機能やデータの番号を対応付けた実行関連情報を記憶する(図4参照)。直接関連する機能やデータとは、障害が発生した機能を実行するプログラムや、障害が発生したデータである。障害コードは、対応する障害を示すコードである。障害名は、対応する障害の名称である。
【0023】
機能間依存関係情報記憶エリア23は、自動改札機2の機能毎に、機能番号、機能名、および依存機能番号を対応付けた機能間依存関係情報を記憶する(図5参照)。依存機能番号は、依存関係がある機能(依存機能)の機能番号である。2つの機能において、一方の機能の実行にともなって、他方の機能が実行される場合、これら2つの機能に依存関係がある。言い換えれば、2つの機能において、一方の機能の実行にともなって、他方の機能が実行されない場合、これら2つの機能に依存関係はない。
【0024】
機能/データ間依存関係情報記憶エリア24は、自動改札機2の機能毎に、機能番号、依存データ番号、およびデータ名を対応付けた機能/データ間依存関係情報を記憶する(図6参照)。この機能/データ間依存関係情報は、機能とデータとの依存関係を示す情報である。ある機能ついて、依存関係があるデータとは、その機能を実行する際に使用するデータである。
【0025】
上述した、実行関連情報記憶エリア22、機能間依存関係情報記憶エリア23、および機能/データ間依存関係情報記憶エリア24が、この発明で言う関連情報記憶手段に相当する。
【0026】
プログラム記憶エリア25は、自動改札機2の機能毎に、その機能を実行するプログラムをバージョン別に記憶している。プログラム記憶エリア25は、機能毎に、全てのバージョンのプログラムを記憶しておいてもよいが、ここでは、機能毎に、現在のバージョンのプログラムと、一つ前のバージョンのプログラム(以下、旧バージョンのプログラムと言う。)と、を記憶しているものとする。また、データ記憶エリア26は、自動改札機2で実行されるプログラムが使用するデータをバージョン別に記憶している。データ記憶エリア26も、プログラム記憶エリア25と同様に、データ毎に、全てのバージョンのデータを記憶しておいてもよいが、ここでは、現在のバージョンのデータと、一つ前のバージョンのデータ(以下、旧バージョンのデータと言う。)と、を記憶しているものとする。
【0027】
さらに、優先順位記憶エリア27は、ネットワーク3を介して接続されている複数の自動改札機2に対する優先順位を記憶している。ここでは、自動改札機2に対して、何らかの要求を行うときに、その要求の送信を開始してから、その要求に対する結果が得られるまでの時間(応答時間)が短い自動改札機2ほど、優先順位を高く設定している。この応答時間の差は、例えば、自動改札機2との距離や通信路におけるパス数等によって生じる通信時間差や、自動改札機2の処理速度等によって生じる処理時間差である。
【0028】
図7は、自動改札機の主要部の構成を示す図である。自動改札機2は、制御部30と、ICカード処理部31と、磁気券処理部32と、利用者検知部33と、扉開閉部34と、記憶部35と、通信部36と、を備えている。制御部30は、自動改札機2本体各部の動作を制御する。ICカード処理部31は、乗車券として利用できる非接触式ICカードと無線通信を行い、この非接触式ICカードに記録されている乗車券情報の読み取りや、書き換えを行う。磁気券処理部32は、乗車券として利用できる磁気券に磁気データで記録されている乗車券情報の読み取りや、書き換えを行う。利用者検知部33は、改札通路における利用者の位置を検知する。扉開閉部34は、改札通路の出口付近に設けた扉を開閉することにより、改札通路における利用者の通行を制限する。記憶部35は、制御部30が実行するプログラムや、改札処理で用いるデータ等を記憶する。通常、制御部30が実行するプログラムや、改札処理で用いるデータは、現在のバージョンのものである。また、後述するように、記憶部35は、旧バージョンのプログラムおとびデータを記憶しておくのが好ましい。通信部36は、ネットワーク3を介して管理サーバ1とのデータ通信を制御する。
【0029】
以下、この改札システムの動作について説明する。
【0030】
図8は、自動改札機の動作を示すフローチャートである。図9は、管理サーバの動作を示すフローチャートである。自動改札機2は、通常、駅構内に入場する利用者や、駅構内から出場する利用者に対して改札処理を行っている(s1、s2)。この改札処理については、公知であるので、ここでは簡単に説明しておく。自動改札機2は、改札通路を通行する利用者が所持している非接触ICカードや、磁気券受け付け、これに記録されている乗車券情報を読み取り、読み取った乗車券情報に基づいて、改札通路における利用者の通行可否を判定する。自動改札機2は、改札通路における利用者の通行を許可すると判定すると、この利用者にとって改札通路の出口側に位置する扉を扉開閉部34により開する。反対に、自動改札機2は、改札通路における利用者の通行を許可しないと判定すると、この利用者にとって改札通路の出口側に位置する扉を扉開閉部34により閉する。また、自動改札機2は、乗車券情報を読み取った非接触ICカードや、磁気券に対して、乗車券情報の書き換えや、使用が完了した磁気券の回収等も行う。また、自動改札機2は、改札処理を行う毎に、その改札処理にかかるログ等を記憶部35に記憶する。
【0031】
自動改札機2は、障害が発生すると、管理サーバ1に対して障害発生通知を行う(s3、s4)。この障害発生通知には、自機を識別する端末番号、発生した障害を示す障害コードに加えて、障害発生時から予め定めた一定時間(例えば、1時間)前までの間に実行した機能を示す実行機能ログ(図10参照)、障害発生時から予め定めた一定時間(例えば、1時間)前までの間に使用したデータを示す使用データログ(図11参照)、および障害発生時から予め定めた一定時間(例えば、1時間)前までの間に変更されたプログラム(機能番号)、および更新されたデータを示す変更/更新ログ(図12参照)が含まれている。
【0032】
管理サーバ1は、いずれかの自動改札機2から送信されてきた障害発生通知を受信すると(s11)、プログラムや、データのバグ(ソフトウェアにかかるバグ)による一斉障害が発生しているかどうかを判定する(s12)。s12では、一定期間(例えば、最近1時間)の間に、同じ種類の障害の発生を通知してきた自動改札機2の合計台数が、予め定めた台数(例えば、100台)を超えているかどうかを判定し、予め定めた台数を超えていれば、ソフトウェアにかかるバグによる一斉障害が発生していると判定する。管理サーバ1は、s12でソフトウェアにかかるバグによる一斉障害が発生していないと判定すると、s11に戻る。管理サーバ1は、s12でソフトウェアにかかるバグによる一斉障害が発生していると判定すると、今回発生した一斉障害の原因を推定する障害原因推定処理を行う(s13)。
【0033】
図13は、障害原因推定処理を示すフローチャートである。管理サーバ1は、自動改札機2で発生した障害の種類を判別する(s31)。s31における判別は、自動改札機2から通知された障害発生通知に含まれている障害コードに基づいて行える。管理サーバ1は、s31で判別した種類の障害に直接関連する機能(プログラム)の機能番号、およびデータのデータ番号を抽出する(s32)。s32における機能番号、およびデータの抽出は、実行関連情報記憶エリア22に記憶している実行関連情報に基づいて行う。例えば、自動改札機2から通知されている、今回の一斉障害にかかる障害識別コードが、ICマスタデータ障害(E000001)と、IC改札処理障害(E000002)とであった場合、ICマスタデータ(D0001)、およびICカード改札(F0003)を障害に直接関連する機能、およびデータとして抽出する。
【0034】
次に、管理サーバ1は、s32で抽出した機能毎に、依存関係がある機能の機能番号を抽出する(s33)。s33では、機能間依存関係情報記憶エリア23に記憶している機能間依存関係情報を用いて、s32で抽出した機能毎に、依存関係がある機能の機能番号を抽出する。例えば、上述した例では、ICカード改札(F0003)と依存関係がある通過データ登算(F0004)を抽出する。
【0035】
また、管理サーバ1は、s32で機能番号を抽出した機能毎に、その機能と依存関係があるデータのデータ番号を抽出する(s34)。s34では、機能/データ間依存関係情報記憶エリア24に記憶している機能/データ間依存関係情報を用いて、s32で機能番号を抽出した機能毎に、依存関係があるデータのデータ番号を抽出する。上記の例では、s32で抽出したICカード改札(F0003)と依存関係があるICマスタデータ(D0001)、通過データ(D0003)とを抽出する。
【0036】
なお、ICマスタデータ(D0001)については、s32ですでに抽出されているので、実際には、通過データ(D0003)が新たに抽出されることになる。
【0037】
上述した例では、s32〜s34で、ICマスタデータ(D0001)、ICカード改札(F0003)、通過データ登算(F0004)、および通過データ(D0003)が抽出される。
【0038】
管理サーバ1は、上記s32〜s34で抽出した機能、およびデータに対して、今回の一斉障害の原因である可能性を示す度合レベルを算出する(s35)。具体的には、上記s32〜s34で抽出した機能、およびデータの度合レベルをリセットし、障害発生時に実行していた機能、および、使用していたデータについて、度合レベルを1カウントアップする。障害発生時に実行していた機能、および、使用していたデータは、自動改札機2から通知された障害発生通知に含まれている実行機能ログ、および使用データログから判断できる。上記の例では、図14(A)に示すように、ICマスタデータ(D0001)と、ICカード改札(F0003)との度合レベルが1に設定される。さらに、管理サーバ1は、最後に変更/更新された機能、およびデータのそれぞれについて、度合レベルを1カウントアップする。最後に変更/更新された機能、およびデータは、自動改札機2から通知された障害発生通知に含まれている変更/更新ログから判断できる。上記の例では、図14(B)に示すように、通過データ(D0003)の度合レベルが1になり、ICカード改札(F0003)の度合レベルが2になる。図14(C)は、図14(B)に示す機能、およびデータを、度合レベルが高い順番に並び替えたものである。
【0039】
管理サーバ1は、上記s32〜s34で抽出した機能、およびデータの中で、現在のバージョンに設定するものと、旧バージョン(1つ前のバージョン)に設定するものと、の組合せが異なる設定パターンを生成する(s36)。s36では、上記s32〜s34で抽出した機能、およびデータの全てを現在のバージョンとする設定パターンについては生成しない。すなわち、上記s32〜s34で抽出した機能、およびデータの種類数がnであれば、生成する設定パターンの総数は、最大で(n2−1)個である。また、管理サーバ1は、s36で生成する設定パターンに優先度を付けている。具体的には、より度合レベルが高い機能やデータを旧バージョンとした設定パターンほど、優先度が高い。
【0040】
管理サーバ1は、s36で生成した設定パターン毎に、その設定パターンでのテスト稼働を要求する自動改札機2を選択する(s37)。s37では、優先度の高い設定パターンほど、優先順位記憶エリア27に記憶している優先順位が高い自動改札機2を選択する。上述したように、管理サーバ1が何らかの要求の送信を開始してから、その要求に対する結果が得られるまでの時間(応答時間)が短い自動改札機2ほど、優先順位記憶エリア27に記憶している優先順位が高い。
【0041】
管理サーバ1は、s36で生成した設定パターン毎に、その設定パターンを、s37で選択した自動改札機2に送信し、テスト稼働を要求する(s38)。上述したように、テスト稼働を要求する自動改札機2を、応答時間の短いものから選択しているので、s38で要求したテスト稼働の結果が得られるまでの時間を効率的に短縮できる。
【0042】
自動改札機2は、管理サーバ1から設定パターンとともにテスト稼働が要求されると(s5)、その設定パターンで再稼働(テスト稼働)し(s6)、障害が復旧したかどうかを結果として管理サーバ1に通知する(s7)。このテスト稼働を要求するときに、管理サーバ1が、自動改札機2に対して、旧バージョンのプログラムや、旧バージョンのデータを送信する構成では、自動改札機2との通信時間が長くなる。したがって、上述したように、自動改札機2が、各プログラムや、各データの旧バージョンを記憶部35に記憶しておき、管理サーバ1からは設定パターンのみ送信する構成とするのが好ましい。
【0043】
管理サーバ1は、s38でテスト稼働の要求を行った自動改札機2から、テスト稼働の結果を受信すると、今回発生した一斉障害の原因であるプログラム、またはデータを推定する(s39、s40)。障害が復旧した自動改札機2に要求した設定パターンにおいて、旧バージョンとしたプログラムやデータの中に、今回発生した一斉障害の原因であるプログラム、またはデータが含まれている。また、障害が復旧しなかった自動改札機2に要求した設定パターンにおいて、現在のバージョンとしたプログラムやデータの中に、今回発生した一斉障害の原因であるプログラム、またはデータが含まれている。s40では、障害が復旧した自動改札機2に要求した設定パターンと、障害が復旧しなかった自動改札機2に要求した設定パターンと、を比較することにより、今回発生した一斉障害の原因であるプログラム、またはデータを推定する。
【0044】
管理サーバ1は、上述した障害原因推定処理で、今回発生した一斉障害の原因であるプログラム、またはデータが推定できると、推定した障害原因であるプログラムやデータを旧バージョンに戻すロールバックが可能かどうかを判定する(s14、s15)。s15では、現在のバージョンと、旧バージョンと、の間で、動作面で本質的な変更がなく、互換性があればロールバック可能であると判定すればよい。言い換えれば、現在のバージョンと、旧バージョンと、の間で、動作面で本質的な変更があり、互換性がなければロールバック不可能であると判定すればよい。このロールバック可能かどうかにかかる設定は、バージョンを変更したときに、旧バージョンへのロールバック可能かどうかを設定しておけばよい。
【0045】
管理サーバ1は、ロールバックが可能であると判定すると、ネットワークを介して接続されている全ての自動改札機2に対して、このロールバックに基づく復旧パターンを生成し(s16)、各自動改札機2に対して復旧パターンでの稼働を指示する(s17)。これにより、各自動改札機2を、復旧パターンで動作させることができる。
【0046】
また、管理サーバ1は、s15でロールバックできないと判定すると、その機能を切り離した縮退運転が可能であるかどうかを判定する(s18)。このs18にかかる判定は、機能分類情報記憶エリア21に記憶している機能分類情報に基づいて行う。管理サーバ1は、縮退運転が可能であると判定すると、各自動改札機2に対して縮退運転での再稼働を指示する(s19)。
【0047】
自動改札機2は、管理サーバ1から、復旧パターンでの稼働指示、または縮退運転での稼働指示があると(s8)、その指示に基づいて、本体を再稼働する(s9)。
【0048】
したがって、ソフトウェアにかかるバグによって、各駅の自動改札機2で一斉障害が発生しても、自動改札機2を迅速に再稼働させることができる。すなわち、自動改札機2の停止期間を十分に短縮できる。
【0049】
なお、上記の説明からも明らかように、自動改札機2が復旧パターンで稼働しているときや、縮退運転をしているときには、今回発生した一斉障害の原因であるプログラムや、データのバグについては、修正されていない。したがって、このバグを修正する作業は、この後に行うことになるが、このバグの修正作業が行われている間も、オンライン端末である自動改札機2を稼働させることができるので、利用者の利便性を損なわないとともに、駅係員等にかかる手間も削減できる。
【0050】
また、管理サーバ1は、今回発生した一斉障害の原因であるプログラムや、データのバグの修正が効率的に行えるように、障害原因推定処理における推定結果をレポートにして出力する構成とすればよい。
【0051】
また、管理サーバ1は、障害原因が特定できなかった場合、またはs18で縮退運転ができないと判定した場合、係員に対して復旧を要求する(s20)。
【0052】
このように、この実施形態では、ソフトウェアにかかるバグ等によって、一斉障害が発生したときに、速やかに、自動改札機2を再稼働させることができる。
【0053】
また、障害原因推定処理では、設定パターンを、応答時間が短い自動改札機2に送信する構成としているので、障害原因の推定にかかる処理時間が効率的に短縮できる。
【0054】
また、上述の説明では、抽出したプログラムや、バグによって、設定パターンを生成するとしたが、度合レベルの高いものについてのみ、旧バージョンにする設定パターンを生成するようにしてもよい。この場合には、設定パターンの生成や、設定パターンによるテスト稼働の結果を取得するまでの時間を短縮することができ、より迅速な対応が図れる。
【0055】
また、1つの設定パターンについて、その設定パターンでのテスト稼働を、複数台の自動改札機2に対して行うようにしてもよい。このようにすれば、設定パターン毎に、複数の自動改札機2からテスト稼働の結果を得ることができ、今回発生した一斉障害にかかる原因の推定精度の向上が図れる。
【0056】
なお、生成する設定パターンの個数等については、接続されている自動改札機2(オンライン端末)の台数等に基づいて決定してもよい。
【0057】
また、上記の説明では、改札システムを例にして本願発明を説明したが、ATM等を管理サーバ1に接続した金融システム等にも適用できる。
【図面の簡単な説明】
【0058】
【図1】改札システムの概略図である。
【図2】管理サーバの主要部の構成を示す図である。
【図3】機能分類情報を示す図である。
【図4】関連機能情報を示す図である。
【図5】機能間依存関係情報を示す図である。
【図6】機能/データ間依存関係情報を示す図である。
【図7】自動改札機の主要部の構成を示す図である。
【図8】自動改札機の動作を示すフローチャートである。
【図9】管理サーバの動作を示すフローチャートである。
【図10】実行機能ログを示す図である。
【図11】使用データログを示す図である。
【図12】変更/更新ログを示す図である。
【図13】障害原因特定処理を示すフローチャートである。
【図14】度合レベルを算出する処理を説明する図である。
【符号の説明】
【0059】
1−管理サーバ
2−自動改札機
3−ネットワーク
10−制御部
11−記憶部
12−通信部
21−機能分類情報記憶エリア
22−実行関連情報記憶エリア
23−機能間依存関係情報記憶エリア
24−機能/データ間依存関係情報記憶エリア
25−プログラム記憶エリア
26−データ記憶エリア
27−優先順位記憶エリア
【技術分野】
【0001】
この発明は、ネットワークを介して接続されている複数のオンライン端末を管理する管理サーバ、この管理サーバを適用したオンラインシステム、およびこの管理サーバに適用される管理プログラムに関する。
【背景技術】
【0002】
従来、同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末を、ネットワークを介して管理サーバに接続し、この管理サーバで各オンライン端末の状態を管理するオンラインシステムがある。この種のオンラインシステムとしては、例えば、駅務システムや金融システムがある。駅務システムは、各駅に設置されている、自動改札機、券売機、精算機等のオンライン端末をネットワークを介して管理サーバに接続している。また、金融システムは、金融機関の店舗に設置している現金自動預け払い機(ATM)等のオンライン端末をネットワークを介して管理サーバに接続している。
【0003】
また、いずれかのオンライン端末で障害が発生したときに、そのオンライン端末を遠隔操作して障害を復旧したり、このオンライン端末の近くにいる係員に対して復旧作業を指示する管理サーバも提案されている(特許文献1参照)。
【特許文献1】特開平10−21431号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、同じプログラム群がインストールされている複数のオンライン端末では、プログラムやデータ等のソフトウェアにかかるバグによって、一斉に障害が発生することがある。この場合、
(1)障害を発生させた原因であるプログラムやデータの推定
(2)推定したプログラムやデータの解析、およびバグの特定、
(3)特定したバグの修正、
(4)バグを修正したプログラムや、データを、オンライン端末にインストール、
等の復旧作業が完了するまで、オンライン端末を稼働させることができなかった。このため、オンライン端末を稼働させることができない期間、すなわちオンライン端末が停止している期間、が長いという問題があった。特に、オンライン端末が、自動改札機やATM等の公共性の高い端末である場合、停止中の期間に、多くの利用者に迷惑をかけるとともに、利用者に対応する係員の手間が大幅に増大する。
【0005】
この発明の目的は、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、その原因になったプログラムやデータの推定に要する時間の短縮を図った管理サーバを提供することにある。
【0006】
また、この発明は、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、オンライン端末を停止させる期間の短縮を図った管理サーバを提供することを目的とする。
【0007】
さらに、この発明は、上記管理サーバを適用したオンラインシステム、および、この管理サーバに適用する管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の管理サーバは、上記課題を解決し、その目的を達するために、以下のように構成している。
【0009】
管理サーバには、同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末がネットワークを介して接続されている。
【0010】
関連情報記憶手段が、オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する。関連情報は、障害の種類毎に、その障害にかかる機能を実行するプログラムを対応付けた実行関連情報や、プログラム毎にそのプログラムの実行にともなって実行される他のプログラムを対応付けた機能間依存関係情報とすればよい。また、プログラムだけでなく、データについても関連情報を記憶してもよい。
【0011】
抽出手段が、最近1時間や2時間等の一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する。また、プログラムだけでなくデータについても関連情報を記憶していれば、該当する障害に関連付けられているデータを抽出すればよい。一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知された場合、プログラムやデータのバグが原因である可能性が高い。この抽出手段によって、今回発生した障害の原因である、プログラムやデータを抽出することができる。
【0012】
なお、抽出したプログラムやデータの中には、今回発生した障害の原因でないものも含まれている。
【0013】
設定パターン生成手段が、抽出手段が抽出した1または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する。設定パターン生成手段は、抽出手段が抽出したプログラムやデータの種類数がn個である場合、最大で、(n2−1)個の設定パターンを生成する(抽出した全てのプログラムやデータを現在のバージョンにする設定パターンについては生成しない。)。
【0014】
オンライン端末選択手段が、設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択する。また、テスト稼働要求手段が、オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求する。そして、原因推定手段が、テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する。テスト稼働においても障害が発生したオンライン端末の設定パターンの中には、現在のバージョンであるプログラムやデータの中に今回発生した障害の原因であるプログラムやデータが存在していると推定できる。一方、テスト稼働において障害が発生しなかったオンライン端末の設定パターンの中には、旧バージョンであるプログラムやデータの中に今回発生した障害の原因であるプログラムやデータが存在していると推定できる。したがって、テスト稼働において、障害が発生したオンライン端末の設定パターンと、障害が発生しなかったオンライン端末の設定パターンと、を比較することによって、今回発生した障害の原因であるプログラムやデータが推定できる。すなわち、今回発生した障害の原因であるプログラムやデータの推定が短時間で行える。
【0015】
また、原因推定手段が今回発生した障害の原因であると推定したものを旧バージョンに変更した復旧パターンを生成する復旧パターン生成手段を設けるとともに、各オンライン端末に対して、この復旧パターン生成手段が生成した復旧パターンでの稼働を指示する復旧稼働指示手段を設けることにより、オンライン端末の停止期間を短縮することができる。すなわち、バグがあると推定されたプログラムやデータに対する、バグの修正を待つことなく、オンライン端末を稼働させることができる。したがって、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときにおける、オンライン端末の停止期間を短縮することができる。
【発明の効果】
【0016】
この発明によれば、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、その原因になったプログラムやデータを短時間に推定できる。
【0017】
また、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、オンライン端末の停止期間を短縮することができる。
【発明を実施するための最良の形態】
【0018】
以下、この発明の実施形態について説明する。
【0019】
図1は、この発明の実施形態である改札システムの概略図である。この改札システムは、図1に示すように、ネットワーク3を介して、複数の自動改札機2を管理サーバ1に接続したオンラインシステムである。自動改札機2が、この発明言うオンライン端末に相当する。自動改札機2は、駅の改札口に設置され、駅構内に入場する利用者や、駅構内から出場する利用者に対して改札処理を行う。管理サーバ1は、各自動改札機2の状態等を管理する。
【0020】
図2は、管理サーバの主要部の構成を示す図である。管理サーバ1は、制御部10と、記憶部11と、通信部12と、を備えている。制御部10は、管理サーバ1本体各部の動作を制御し、後述する処理等を行う。記憶部11は、機能分類情報記憶エリア21と、実行関連情報記憶エリア22と、機能間依存関係情報記憶エリア23と、機能/データ間依存関係情報記憶エリア24と、プログラム記憶エリア25と、データ記憶エリア26と、優先順位記憶エリア27とを備えている。
【0021】
機能分類情報記憶エリア21は、自動改札機2の機能毎に、機能番号、機能名、および必須指定を対応付けた機能分類情報を記憶する(図3参照)。機能番号は、対応する機能を特定するコードであるとともに、その機能を実行するプログラムを特定するコードでもある。機能名は、対応する機能の名称である。必須指定は、その機能を切り離して自動改札機2を稼働させたときに、自動改札機2として意味がある動作が行えるかどうかを示す情報である。簡単に言えば、対応する機能を切り離して、自動改札機2を稼働させる縮退運転を行ってもよいかどうかを示す情報である。必須指定は、切り離しても自動改札機2として意味がある動作が行える機能(例えば、磁気券集札や、通過データ登算)については縮退可に設定され、切り離すと自動改札機2として意味がある動作が行えない機能(例えば、磁気券改札や、ICカード改札)については縮退不可に設定される。
【0022】
実行関連情報記憶エリア22は、自動改札機2で発生する障害の種類毎に、障害コード、障害名、直接関連する機能やデータの番号を対応付けた実行関連情報を記憶する(図4参照)。直接関連する機能やデータとは、障害が発生した機能を実行するプログラムや、障害が発生したデータである。障害コードは、対応する障害を示すコードである。障害名は、対応する障害の名称である。
【0023】
機能間依存関係情報記憶エリア23は、自動改札機2の機能毎に、機能番号、機能名、および依存機能番号を対応付けた機能間依存関係情報を記憶する(図5参照)。依存機能番号は、依存関係がある機能(依存機能)の機能番号である。2つの機能において、一方の機能の実行にともなって、他方の機能が実行される場合、これら2つの機能に依存関係がある。言い換えれば、2つの機能において、一方の機能の実行にともなって、他方の機能が実行されない場合、これら2つの機能に依存関係はない。
【0024】
機能/データ間依存関係情報記憶エリア24は、自動改札機2の機能毎に、機能番号、依存データ番号、およびデータ名を対応付けた機能/データ間依存関係情報を記憶する(図6参照)。この機能/データ間依存関係情報は、機能とデータとの依存関係を示す情報である。ある機能ついて、依存関係があるデータとは、その機能を実行する際に使用するデータである。
【0025】
上述した、実行関連情報記憶エリア22、機能間依存関係情報記憶エリア23、および機能/データ間依存関係情報記憶エリア24が、この発明で言う関連情報記憶手段に相当する。
【0026】
プログラム記憶エリア25は、自動改札機2の機能毎に、その機能を実行するプログラムをバージョン別に記憶している。プログラム記憶エリア25は、機能毎に、全てのバージョンのプログラムを記憶しておいてもよいが、ここでは、機能毎に、現在のバージョンのプログラムと、一つ前のバージョンのプログラム(以下、旧バージョンのプログラムと言う。)と、を記憶しているものとする。また、データ記憶エリア26は、自動改札機2で実行されるプログラムが使用するデータをバージョン別に記憶している。データ記憶エリア26も、プログラム記憶エリア25と同様に、データ毎に、全てのバージョンのデータを記憶しておいてもよいが、ここでは、現在のバージョンのデータと、一つ前のバージョンのデータ(以下、旧バージョンのデータと言う。)と、を記憶しているものとする。
【0027】
さらに、優先順位記憶エリア27は、ネットワーク3を介して接続されている複数の自動改札機2に対する優先順位を記憶している。ここでは、自動改札機2に対して、何らかの要求を行うときに、その要求の送信を開始してから、その要求に対する結果が得られるまでの時間(応答時間)が短い自動改札機2ほど、優先順位を高く設定している。この応答時間の差は、例えば、自動改札機2との距離や通信路におけるパス数等によって生じる通信時間差や、自動改札機2の処理速度等によって生じる処理時間差である。
【0028】
図7は、自動改札機の主要部の構成を示す図である。自動改札機2は、制御部30と、ICカード処理部31と、磁気券処理部32と、利用者検知部33と、扉開閉部34と、記憶部35と、通信部36と、を備えている。制御部30は、自動改札機2本体各部の動作を制御する。ICカード処理部31は、乗車券として利用できる非接触式ICカードと無線通信を行い、この非接触式ICカードに記録されている乗車券情報の読み取りや、書き換えを行う。磁気券処理部32は、乗車券として利用できる磁気券に磁気データで記録されている乗車券情報の読み取りや、書き換えを行う。利用者検知部33は、改札通路における利用者の位置を検知する。扉開閉部34は、改札通路の出口付近に設けた扉を開閉することにより、改札通路における利用者の通行を制限する。記憶部35は、制御部30が実行するプログラムや、改札処理で用いるデータ等を記憶する。通常、制御部30が実行するプログラムや、改札処理で用いるデータは、現在のバージョンのものである。また、後述するように、記憶部35は、旧バージョンのプログラムおとびデータを記憶しておくのが好ましい。通信部36は、ネットワーク3を介して管理サーバ1とのデータ通信を制御する。
【0029】
以下、この改札システムの動作について説明する。
【0030】
図8は、自動改札機の動作を示すフローチャートである。図9は、管理サーバの動作を示すフローチャートである。自動改札機2は、通常、駅構内に入場する利用者や、駅構内から出場する利用者に対して改札処理を行っている(s1、s2)。この改札処理については、公知であるので、ここでは簡単に説明しておく。自動改札機2は、改札通路を通行する利用者が所持している非接触ICカードや、磁気券受け付け、これに記録されている乗車券情報を読み取り、読み取った乗車券情報に基づいて、改札通路における利用者の通行可否を判定する。自動改札機2は、改札通路における利用者の通行を許可すると判定すると、この利用者にとって改札通路の出口側に位置する扉を扉開閉部34により開する。反対に、自動改札機2は、改札通路における利用者の通行を許可しないと判定すると、この利用者にとって改札通路の出口側に位置する扉を扉開閉部34により閉する。また、自動改札機2は、乗車券情報を読み取った非接触ICカードや、磁気券に対して、乗車券情報の書き換えや、使用が完了した磁気券の回収等も行う。また、自動改札機2は、改札処理を行う毎に、その改札処理にかかるログ等を記憶部35に記憶する。
【0031】
自動改札機2は、障害が発生すると、管理サーバ1に対して障害発生通知を行う(s3、s4)。この障害発生通知には、自機を識別する端末番号、発生した障害を示す障害コードに加えて、障害発生時から予め定めた一定時間(例えば、1時間)前までの間に実行した機能を示す実行機能ログ(図10参照)、障害発生時から予め定めた一定時間(例えば、1時間)前までの間に使用したデータを示す使用データログ(図11参照)、および障害発生時から予め定めた一定時間(例えば、1時間)前までの間に変更されたプログラム(機能番号)、および更新されたデータを示す変更/更新ログ(図12参照)が含まれている。
【0032】
管理サーバ1は、いずれかの自動改札機2から送信されてきた障害発生通知を受信すると(s11)、プログラムや、データのバグ(ソフトウェアにかかるバグ)による一斉障害が発生しているかどうかを判定する(s12)。s12では、一定期間(例えば、最近1時間)の間に、同じ種類の障害の発生を通知してきた自動改札機2の合計台数が、予め定めた台数(例えば、100台)を超えているかどうかを判定し、予め定めた台数を超えていれば、ソフトウェアにかかるバグによる一斉障害が発生していると判定する。管理サーバ1は、s12でソフトウェアにかかるバグによる一斉障害が発生していないと判定すると、s11に戻る。管理サーバ1は、s12でソフトウェアにかかるバグによる一斉障害が発生していると判定すると、今回発生した一斉障害の原因を推定する障害原因推定処理を行う(s13)。
【0033】
図13は、障害原因推定処理を示すフローチャートである。管理サーバ1は、自動改札機2で発生した障害の種類を判別する(s31)。s31における判別は、自動改札機2から通知された障害発生通知に含まれている障害コードに基づいて行える。管理サーバ1は、s31で判別した種類の障害に直接関連する機能(プログラム)の機能番号、およびデータのデータ番号を抽出する(s32)。s32における機能番号、およびデータの抽出は、実行関連情報記憶エリア22に記憶している実行関連情報に基づいて行う。例えば、自動改札機2から通知されている、今回の一斉障害にかかる障害識別コードが、ICマスタデータ障害(E000001)と、IC改札処理障害(E000002)とであった場合、ICマスタデータ(D0001)、およびICカード改札(F0003)を障害に直接関連する機能、およびデータとして抽出する。
【0034】
次に、管理サーバ1は、s32で抽出した機能毎に、依存関係がある機能の機能番号を抽出する(s33)。s33では、機能間依存関係情報記憶エリア23に記憶している機能間依存関係情報を用いて、s32で抽出した機能毎に、依存関係がある機能の機能番号を抽出する。例えば、上述した例では、ICカード改札(F0003)と依存関係がある通過データ登算(F0004)を抽出する。
【0035】
また、管理サーバ1は、s32で機能番号を抽出した機能毎に、その機能と依存関係があるデータのデータ番号を抽出する(s34)。s34では、機能/データ間依存関係情報記憶エリア24に記憶している機能/データ間依存関係情報を用いて、s32で機能番号を抽出した機能毎に、依存関係があるデータのデータ番号を抽出する。上記の例では、s32で抽出したICカード改札(F0003)と依存関係があるICマスタデータ(D0001)、通過データ(D0003)とを抽出する。
【0036】
なお、ICマスタデータ(D0001)については、s32ですでに抽出されているので、実際には、通過データ(D0003)が新たに抽出されることになる。
【0037】
上述した例では、s32〜s34で、ICマスタデータ(D0001)、ICカード改札(F0003)、通過データ登算(F0004)、および通過データ(D0003)が抽出される。
【0038】
管理サーバ1は、上記s32〜s34で抽出した機能、およびデータに対して、今回の一斉障害の原因である可能性を示す度合レベルを算出する(s35)。具体的には、上記s32〜s34で抽出した機能、およびデータの度合レベルをリセットし、障害発生時に実行していた機能、および、使用していたデータについて、度合レベルを1カウントアップする。障害発生時に実行していた機能、および、使用していたデータは、自動改札機2から通知された障害発生通知に含まれている実行機能ログ、および使用データログから判断できる。上記の例では、図14(A)に示すように、ICマスタデータ(D0001)と、ICカード改札(F0003)との度合レベルが1に設定される。さらに、管理サーバ1は、最後に変更/更新された機能、およびデータのそれぞれについて、度合レベルを1カウントアップする。最後に変更/更新された機能、およびデータは、自動改札機2から通知された障害発生通知に含まれている変更/更新ログから判断できる。上記の例では、図14(B)に示すように、通過データ(D0003)の度合レベルが1になり、ICカード改札(F0003)の度合レベルが2になる。図14(C)は、図14(B)に示す機能、およびデータを、度合レベルが高い順番に並び替えたものである。
【0039】
管理サーバ1は、上記s32〜s34で抽出した機能、およびデータの中で、現在のバージョンに設定するものと、旧バージョン(1つ前のバージョン)に設定するものと、の組合せが異なる設定パターンを生成する(s36)。s36では、上記s32〜s34で抽出した機能、およびデータの全てを現在のバージョンとする設定パターンについては生成しない。すなわち、上記s32〜s34で抽出した機能、およびデータの種類数がnであれば、生成する設定パターンの総数は、最大で(n2−1)個である。また、管理サーバ1は、s36で生成する設定パターンに優先度を付けている。具体的には、より度合レベルが高い機能やデータを旧バージョンとした設定パターンほど、優先度が高い。
【0040】
管理サーバ1は、s36で生成した設定パターン毎に、その設定パターンでのテスト稼働を要求する自動改札機2を選択する(s37)。s37では、優先度の高い設定パターンほど、優先順位記憶エリア27に記憶している優先順位が高い自動改札機2を選択する。上述したように、管理サーバ1が何らかの要求の送信を開始してから、その要求に対する結果が得られるまでの時間(応答時間)が短い自動改札機2ほど、優先順位記憶エリア27に記憶している優先順位が高い。
【0041】
管理サーバ1は、s36で生成した設定パターン毎に、その設定パターンを、s37で選択した自動改札機2に送信し、テスト稼働を要求する(s38)。上述したように、テスト稼働を要求する自動改札機2を、応答時間の短いものから選択しているので、s38で要求したテスト稼働の結果が得られるまでの時間を効率的に短縮できる。
【0042】
自動改札機2は、管理サーバ1から設定パターンとともにテスト稼働が要求されると(s5)、その設定パターンで再稼働(テスト稼働)し(s6)、障害が復旧したかどうかを結果として管理サーバ1に通知する(s7)。このテスト稼働を要求するときに、管理サーバ1が、自動改札機2に対して、旧バージョンのプログラムや、旧バージョンのデータを送信する構成では、自動改札機2との通信時間が長くなる。したがって、上述したように、自動改札機2が、各プログラムや、各データの旧バージョンを記憶部35に記憶しておき、管理サーバ1からは設定パターンのみ送信する構成とするのが好ましい。
【0043】
管理サーバ1は、s38でテスト稼働の要求を行った自動改札機2から、テスト稼働の結果を受信すると、今回発生した一斉障害の原因であるプログラム、またはデータを推定する(s39、s40)。障害が復旧した自動改札機2に要求した設定パターンにおいて、旧バージョンとしたプログラムやデータの中に、今回発生した一斉障害の原因であるプログラム、またはデータが含まれている。また、障害が復旧しなかった自動改札機2に要求した設定パターンにおいて、現在のバージョンとしたプログラムやデータの中に、今回発生した一斉障害の原因であるプログラム、またはデータが含まれている。s40では、障害が復旧した自動改札機2に要求した設定パターンと、障害が復旧しなかった自動改札機2に要求した設定パターンと、を比較することにより、今回発生した一斉障害の原因であるプログラム、またはデータを推定する。
【0044】
管理サーバ1は、上述した障害原因推定処理で、今回発生した一斉障害の原因であるプログラム、またはデータが推定できると、推定した障害原因であるプログラムやデータを旧バージョンに戻すロールバックが可能かどうかを判定する(s14、s15)。s15では、現在のバージョンと、旧バージョンと、の間で、動作面で本質的な変更がなく、互換性があればロールバック可能であると判定すればよい。言い換えれば、現在のバージョンと、旧バージョンと、の間で、動作面で本質的な変更があり、互換性がなければロールバック不可能であると判定すればよい。このロールバック可能かどうかにかかる設定は、バージョンを変更したときに、旧バージョンへのロールバック可能かどうかを設定しておけばよい。
【0045】
管理サーバ1は、ロールバックが可能であると判定すると、ネットワークを介して接続されている全ての自動改札機2に対して、このロールバックに基づく復旧パターンを生成し(s16)、各自動改札機2に対して復旧パターンでの稼働を指示する(s17)。これにより、各自動改札機2を、復旧パターンで動作させることができる。
【0046】
また、管理サーバ1は、s15でロールバックできないと判定すると、その機能を切り離した縮退運転が可能であるかどうかを判定する(s18)。このs18にかかる判定は、機能分類情報記憶エリア21に記憶している機能分類情報に基づいて行う。管理サーバ1は、縮退運転が可能であると判定すると、各自動改札機2に対して縮退運転での再稼働を指示する(s19)。
【0047】
自動改札機2は、管理サーバ1から、復旧パターンでの稼働指示、または縮退運転での稼働指示があると(s8)、その指示に基づいて、本体を再稼働する(s9)。
【0048】
したがって、ソフトウェアにかかるバグによって、各駅の自動改札機2で一斉障害が発生しても、自動改札機2を迅速に再稼働させることができる。すなわち、自動改札機2の停止期間を十分に短縮できる。
【0049】
なお、上記の説明からも明らかように、自動改札機2が復旧パターンで稼働しているときや、縮退運転をしているときには、今回発生した一斉障害の原因であるプログラムや、データのバグについては、修正されていない。したがって、このバグを修正する作業は、この後に行うことになるが、このバグの修正作業が行われている間も、オンライン端末である自動改札機2を稼働させることができるので、利用者の利便性を損なわないとともに、駅係員等にかかる手間も削減できる。
【0050】
また、管理サーバ1は、今回発生した一斉障害の原因であるプログラムや、データのバグの修正が効率的に行えるように、障害原因推定処理における推定結果をレポートにして出力する構成とすればよい。
【0051】
また、管理サーバ1は、障害原因が特定できなかった場合、またはs18で縮退運転ができないと判定した場合、係員に対して復旧を要求する(s20)。
【0052】
このように、この実施形態では、ソフトウェアにかかるバグ等によって、一斉障害が発生したときに、速やかに、自動改札機2を再稼働させることができる。
【0053】
また、障害原因推定処理では、設定パターンを、応答時間が短い自動改札機2に送信する構成としているので、障害原因の推定にかかる処理時間が効率的に短縮できる。
【0054】
また、上述の説明では、抽出したプログラムや、バグによって、設定パターンを生成するとしたが、度合レベルの高いものについてのみ、旧バージョンにする設定パターンを生成するようにしてもよい。この場合には、設定パターンの生成や、設定パターンによるテスト稼働の結果を取得するまでの時間を短縮することができ、より迅速な対応が図れる。
【0055】
また、1つの設定パターンについて、その設定パターンでのテスト稼働を、複数台の自動改札機2に対して行うようにしてもよい。このようにすれば、設定パターン毎に、複数の自動改札機2からテスト稼働の結果を得ることができ、今回発生した一斉障害にかかる原因の推定精度の向上が図れる。
【0056】
なお、生成する設定パターンの個数等については、接続されている自動改札機2(オンライン端末)の台数等に基づいて決定してもよい。
【0057】
また、上記の説明では、改札システムを例にして本願発明を説明したが、ATM等を管理サーバ1に接続した金融システム等にも適用できる。
【図面の簡単な説明】
【0058】
【図1】改札システムの概略図である。
【図2】管理サーバの主要部の構成を示す図である。
【図3】機能分類情報を示す図である。
【図4】関連機能情報を示す図である。
【図5】機能間依存関係情報を示す図である。
【図6】機能/データ間依存関係情報を示す図である。
【図7】自動改札機の主要部の構成を示す図である。
【図8】自動改札機の動作を示すフローチャートである。
【図9】管理サーバの動作を示すフローチャートである。
【図10】実行機能ログを示す図である。
【図11】使用データログを示す図である。
【図12】変更/更新ログを示す図である。
【図13】障害原因特定処理を示すフローチャートである。
【図14】度合レベルを算出する処理を説明する図である。
【符号の説明】
【0059】
1−管理サーバ
2−自動改札機
3−ネットワーク
10−制御部
11−記憶部
12−通信部
21−機能分類情報記憶エリア
22−実行関連情報記憶エリア
23−機能間依存関係情報記憶エリア
24−機能/データ間依存関係情報記憶エリア
25−プログラム記憶エリア
26−データ記憶エリア
27−優先順位記憶エリア
【特許請求の範囲】
【請求項1】
同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末がネットワークを介して接続される管理サーバであって、
前記オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する関連情報記憶手段と、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段と、
前記抽出手段が抽出した1または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段と、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段と、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段と、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段と、を備えた管理サーバ。
【請求項2】
前記関連情報記憶手段は、前記オンライン端末で発生する障害の種類毎に、その障害にかかる機能を実行するプログラムを対応付けた実行関連情報、および、プログラム毎にそのプログラムの実行にともなって実行される他のプログラムを対応付けた機能間依存関係情報を、前記関連情報として記憶する手段であり、
前記抽出手段は、今回発生した障害にかかる機能を実行するプログラム、および、このプログラムの実行にともなって実行される他のプログラムを抽出する手段である、請求項1に記載の管理サーバ。
【請求項3】
前記関連情報記憶手段は、前記オンライン端末で発生する障害の種類毎に、その障害に関連するデータも対応付けた関連情報を記憶する手段であり、
前記抽出手段は、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラム、およびデータを抽出する手段であり、
前記設定パターン生成手段は、前記抽出手段が抽出した1または複数のプログラム、およびデータについて、現在のバージョンに設定するものと、旧バージョンに設定するものと、の組合せが異なる複数の設定パターンを生成する手段であり、
前記原因推定手段は、今回発生した障害の原因であるプログラムやデータを推定する手段である、請求項1、または2に記載の管理サーバ。
【請求項4】
前記原因推定手段が今回発生した障害の原因であると推定したものを旧バージョンに変更した復旧パターンを生成する復旧パターン生成手段と、
各オンライン端末に対して、前記復旧パターン生成手段が生成した復旧パターンでの稼働を指示する復旧稼働指示手段と、を備えた請求項1〜3のいずれかに記載の管理サーバ。
【請求項5】
ネットワークを介して接続されているオンライン端末について、前記オンライン端末選択手段における選択優先順位を記憶する選択優先順位記憶手段を備え、
前記オンライン端末選択手段は、前記選択優先順位記憶手段が各オンライン端末について記憶している選択優先順位に基づいて、前記設定パターン生成手段が生成した設定パターン毎に、テスト稼働を要求するオンライン端末を選択する手段である、請求項1〜4のいずれかに記載の管理サーバ。
【請求項6】
同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末と、
これら複数のオンライン端末とネットワークを介して接続される管理サーバと、を有するオンラインシステムにおいて、
前記管理サーバは、
前記オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する関連情報記憶手段と、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段と、
前記抽出手段が抽出した1または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段と、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段と、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段と、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段と、を備えている、
オンラインシステム。
【請求項7】
同じプログラム群がインストールされ、このプログラム群によって稼働する複数のオンライン端末がネットワークを介して接続され、前記オンライン端末で発生する障害の種類毎に、その機能に関連するプログラムを対応付ける関連情報を記憶する関連情報記憶手段を備えた管理サーバを、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段、
前記抽出手段が抽出した1または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段、および、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段、として機能させる管理プログラム。
【請求項1】
同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末がネットワークを介して接続される管理サーバであって、
前記オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する関連情報記憶手段と、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段と、
前記抽出手段が抽出した1または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段と、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段と、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段と、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段と、を備えた管理サーバ。
【請求項2】
前記関連情報記憶手段は、前記オンライン端末で発生する障害の種類毎に、その障害にかかる機能を実行するプログラムを対応付けた実行関連情報、および、プログラム毎にそのプログラムの実行にともなって実行される他のプログラムを対応付けた機能間依存関係情報を、前記関連情報として記憶する手段であり、
前記抽出手段は、今回発生した障害にかかる機能を実行するプログラム、および、このプログラムの実行にともなって実行される他のプログラムを抽出する手段である、請求項1に記載の管理サーバ。
【請求項3】
前記関連情報記憶手段は、前記オンライン端末で発生する障害の種類毎に、その障害に関連するデータも対応付けた関連情報を記憶する手段であり、
前記抽出手段は、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラム、およびデータを抽出する手段であり、
前記設定パターン生成手段は、前記抽出手段が抽出した1または複数のプログラム、およびデータについて、現在のバージョンに設定するものと、旧バージョンに設定するものと、の組合せが異なる複数の設定パターンを生成する手段であり、
前記原因推定手段は、今回発生した障害の原因であるプログラムやデータを推定する手段である、請求項1、または2に記載の管理サーバ。
【請求項4】
前記原因推定手段が今回発生した障害の原因であると推定したものを旧バージョンに変更した復旧パターンを生成する復旧パターン生成手段と、
各オンライン端末に対して、前記復旧パターン生成手段が生成した復旧パターンでの稼働を指示する復旧稼働指示手段と、を備えた請求項1〜3のいずれかに記載の管理サーバ。
【請求項5】
ネットワークを介して接続されているオンライン端末について、前記オンライン端末選択手段における選択優先順位を記憶する選択優先順位記憶手段を備え、
前記オンライン端末選択手段は、前記選択優先順位記憶手段が各オンライン端末について記憶している選択優先順位に基づいて、前記設定パターン生成手段が生成した設定パターン毎に、テスト稼働を要求するオンライン端末を選択する手段である、請求項1〜4のいずれかに記載の管理サーバ。
【請求項6】
同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末と、
これら複数のオンライン端末とネットワークを介して接続される管理サーバと、を有するオンラインシステムにおいて、
前記管理サーバは、
前記オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する関連情報記憶手段と、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段と、
前記抽出手段が抽出した1または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段と、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段と、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段と、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段と、を備えている、
オンラインシステム。
【請求項7】
同じプログラム群がインストールされ、このプログラム群によって稼働する複数のオンライン端末がネットワークを介して接続され、前記オンライン端末で発生する障害の種類毎に、その機能に関連するプログラムを対応付ける関連情報を記憶する関連情報記憶手段を備えた管理サーバを、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段、
前記抽出手段が抽出した1または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段、および、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段、として機能させる管理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−128851(P2010−128851A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−303782(P2008−303782)
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]