(57)【要約】【課題】プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、その原因になったプログラムやデータを短時間に推定できる管理サーバを提供する。【解決手段】管理サーバ１は、一定時間に、予め定めた台数を超える自動改札機２から同じ種類の障害の発生が通知されたとき、この障害に関連づけられている１または複数のプログラムやデータを抽出する。管理サーバ１は、抽出した１または複数のプログラムについて、現在のバージョンに設定するものと、旧バージョンに設定するものと、の組合せが異なる複数の設定パターンを生成する。そして、自動改札機２毎に、設定パターンでのテスト稼働を要求し、自動改札機２から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する。【選択図】図１３
2010128851.tif 000002
【特許請求の範囲】
【請求項１】
同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末がネットワークを介して接続される管理サーバであって、
前記オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する関連情報記憶手段と、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段と、
前記抽出手段が抽出した１または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段と、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段と、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段と、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段と、を備えた管理サーバ。
【請求項２】
前記関連情報記憶手段は、前記オンライン端末で発生する障害の種類毎に、その障害にかかる機能を実行するプログラムを対応付けた実行関連情報、および、プログラム毎にそのプログラムの実行にともなって実行される他のプログラムを対応付けた機能間依存関係情報を、前記関連情報として記憶する手段であり、
前記抽出手段は、今回発生した障害にかかる機能を実行するプログラム、および、このプログラムの実行にともなって実行される他のプログラムを抽出する手段である、請求項１に記載の管理サーバ。
【請求項３】
前記関連情報記憶手段は、前記オンライン端末で発生する障害の種類毎に、その障害に関連するデータも対応付けた関連情報を記憶する手段であり、
前記抽出手段は、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラム、およびデータを抽出する手段であり、
前記設定パターン生成手段は、前記抽出手段が抽出した１または複数のプログラム、およびデータについて、現在のバージョンに設定するものと、旧バージョンに設定するものと、の組合せが異なる複数の設定パターンを生成する手段であり、
前記原因推定手段は、今回発生した障害の原因であるプログラムやデータを推定する手段である、請求項１、または２に記載の管理サーバ。
【請求項４】
前記原因推定手段が今回発生した障害の原因であると推定したものを旧バージョンに変更した復旧パターンを生成する復旧パターン生成手段と、
各オンライン端末に対して、前記復旧パターン生成手段が生成した復旧パターンでの稼働を指示する復旧稼働指示手段と、を備えた請求項１〜３のいずれかに記載の管理サーバ。
【請求項５】
ネットワークを介して接続されているオンライン端末について、前記オンライン端末選択手段における選択優先順位を記憶する選択優先順位記憶手段を備え、
前記オンライン端末選択手段は、前記選択優先順位記憶手段が各オンライン端末について記憶している選択優先順位に基づいて、前記設定パターン生成手段が生成した設定パターン毎に、テスト稼働を要求するオンライン端末を選択する手段である、請求項１〜４のいずれかに記載の管理サーバ。
【請求項６】
同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末と、
これら複数のオンライン端末とネットワークを介して接続される管理サーバと、を有するオンラインシステムにおいて、
前記管理サーバは、
前記オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する関連情報記憶手段と、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段と、
前記抽出手段が抽出した１または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段と、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段と、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段と、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段と、を備えている、
オンラインシステム。
【請求項７】
同じプログラム群がインストールされ、このプログラム群によって稼働する複数のオンライン端末がネットワークを介して接続され、前記オンライン端末で発生する障害の種類毎に、その機能に関連するプログラムを対応付ける関連情報を記憶する関連情報記憶手段を備えた管理サーバを、
一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、前記関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する抽出手段、
前記抽出手段が抽出した１または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する設定パターン生成手段、
前記設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択するオンライン端末選択手段、
前記オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求するテスト稼働要求手段、および、
前記テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する原因推定手段、として機能させる管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して接続されている複数のオンライン端末を管理する管理サーバ、この管理サーバを適用したオンラインシステム、およびこの管理サーバに適用される管理プログラムに関する。
【背景技術】
【０００２】
従来、同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末を、ネットワークを介して管理サーバに接続し、この管理サーバで各オンライン端末の状態を管理するオンラインシステムがある。この種のオンラインシステムとしては、例えば、駅務システムや金融システムがある。駅務システムは、各駅に設置されている、自動改札機、券売機、精算機等のオンライン端末をネットワークを介して管理サーバに接続している。また、金融システムは、金融機関の店舗に設置している現金自動預け払い機（ＡＴＭ）等のオンライン端末をネットワークを介して管理サーバに接続している。
【０００３】
また、いずれかのオンライン端末で障害が発生したときに、そのオンライン端末を遠隔操作して障害を復旧したり、このオンライン端末の近くにいる係員に対して復旧作業を指示する管理サーバも提案されている（特許文献１参照）。
【特許文献１】特開平１０−２１４３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、同じプログラム群がインストールされている複数のオンライン端末では、プログラムやデータ等のソフトウェアにかかるバグによって、一斉に障害が発生することがある。この場合、
（１）障害を発生させた原因であるプログラムやデータの推定
（２）推定したプログラムやデータの解析、およびバグの特定、
（３）特定したバグの修正、
（４）バグを修正したプログラムや、データを、オンライン端末にインストール、
等の復旧作業が完了するまで、オンライン端末を稼働させることができなかった。このため、オンライン端末を稼働させることができない期間、すなわちオンライン端末が停止している期間、が長いという問題があった。特に、オンライン端末が、自動改札機やＡＴＭ等の公共性の高い端末である場合、停止中の期間に、多くの利用者に迷惑をかけるとともに、利用者に対応する係員の手間が大幅に増大する。
【０００５】
この発明の目的は、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、その原因になったプログラムやデータの推定に要する時間の短縮を図った管理サーバを提供することにある。
【０００６】
また、この発明は、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、オンライン端末を停止させる期間の短縮を図った管理サーバを提供することを目的とする。
【０００７】
さらに、この発明は、上記管理サーバを適用したオンラインシステム、および、この管理サーバに適用する管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の管理サーバは、上記課題を解決し、その目的を達するために、以下のように構成している。
【０００９】
管理サーバには、同じプログラム群がインストールされ、これらのプログラムによって稼働する複数のオンライン端末がネットワークを介して接続されている。
【００１０】
関連情報記憶手段が、オンライン端末で発生する障害の種類毎に、その障害に関連するプログラムを対応付けた関連情報を記憶する。関連情報は、障害の種類毎に、その障害にかかる機能を実行するプログラムを対応付けた実行関連情報や、プログラム毎にそのプログラムの実行にともなって実行される他のプログラムを対応付けた機能間依存関係情報とすればよい。また、プログラムだけでなく、データについても関連情報を記憶してもよい。
【００１１】
抽出手段が、最近１時間や２時間等の一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知されたとき、関連情報記憶手段が記憶する関連情報を参照し、この障害に関連づけられているプログラムを抽出する。また、プログラムだけでなくデータについても関連情報を記憶していれば、該当する障害に関連付けられているデータを抽出すればよい。一定期間に、予め定めた台数を超えるオンライン端末から同じ種類の障害の発生が通知された場合、プログラムやデータのバグが原因である可能性が高い。この抽出手段によって、今回発生した障害の原因である、プログラムやデータを抽出することができる。
【００１２】
なお、抽出したプログラムやデータの中には、今回発生した障害の原因でないものも含まれている。
【００１３】
設定パターン生成手段が、抽出手段が抽出した１または複数のプログラムについて、現在のバージョンに設定するプログラムと、旧バージョンに設定するプログラムと、の組合せが異なる複数の設定パターンを生成する。設定パターン生成手段は、抽出手段が抽出したプログラムやデータの種類数がｎ個である場合、最大で、（ｎ2−１）個の設定パターンを生成する（抽出した全てのプログラムやデータを現在のバージョンにする設定パターンについては生成しない。）。
【００１４】
オンライン端末選択手段が、設定パターン生成手段が生成した設定パターン毎に、オンライン端末を選択する。また、テスト稼働要求手段が、オンライン端末選択手段が選択したオンライン端末毎に、該当する設定パターンでのプログラム群によるテスト稼働を要求する。そして、原因推定手段が、テスト稼働要求手段がテスト稼働を要求したオンライン端末から通知された、テスト稼働における障害の発生有無に基づいて、今回発生した障害の原因であるプログラムを推定する。テスト稼働においても障害が発生したオンライン端末の設定パターンの中には、現在のバージョンであるプログラムやデータの中に今回発生した障害の原因であるプログラムやデータが存在していると推定できる。一方、テスト稼働において障害が発生しなかったオンライン端末の設定パターンの中には、旧バージョンであるプログラムやデータの中に今回発生した障害の原因であるプログラムやデータが存在していると推定できる。したがって、テスト稼働において、障害が発生したオンライン端末の設定パターンと、障害が発生しなかったオンライン端末の設定パターンと、を比較することによって、今回発生した障害の原因であるプログラムやデータが推定できる。すなわち、今回発生した障害の原因であるプログラムやデータの推定が短時間で行える。
【００１５】
また、原因推定手段が今回発生した障害の原因であると推定したものを旧バージョンに変更した復旧パターンを生成する復旧パターン生成手段を設けるとともに、各オンライン端末に対して、この復旧パターン生成手段が生成した復旧パターンでの稼働を指示する復旧稼働指示手段を設けることにより、オンライン端末の停止期間を短縮することができる。すなわち、バグがあると推定されたプログラムやデータに対する、バグの修正を待つことなく、オンライン端末を稼働させることができる。したがって、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときにおける、オンライン端末の停止期間を短縮することができる。
【発明の効果】
【００１６】
この発明によれば、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、その原因になったプログラムやデータを短時間に推定できる。
【００１７】
また、プログラムやデータ等のソフトウェアにかかるバグが原因で、複数のオンライン端末で障害が発生したときに、オンライン端末の停止期間を短縮することができる。
【発明を実施するための最良の形態】
【００１８】
以下、この発明の実施形態について説明する。
【００１９】
図１は、この発明の実施形態である改札システムの概略図である。この改札システムは、図１に示すように、ネットワーク３を介して、複数の自動改札機２を管理サーバ１に接続したオンラインシステムである。自動改札機２が、この発明言うオンライン端末に相当する。自動改札機２は、駅の改札口に設置され、駅構内に入場する利用者や、駅構内から出場する利用者に対して改札処理を行う。管理サーバ１は、各自動改札機２の状態等を管理する。
【００２０】
図２は、管理サーバの主要部の構成を示す図である。管理サーバ１は、制御部１０と、記憶部１１と、通信部１２と、を備えている。制御部１０は、管理サーバ１本体各部の動作を制御し、後述する処理等を行う。記憶部１１は、機能分類情報記憶エリア２１と、実行関連情報記憶エリア２２と、機能間依存関係情報記憶エリア２３と、機能／データ間依存関係情報記憶エリア２４と、プログラム記憶エリア２５と、データ記憶エリア２６と、優先順位記憶エリア２７とを備えている。
【００２１】
機能分類情報記憶エリア２１は、自動改札機２の機能毎に、機能番号、機能名、および必須指定を対応付けた機能分類情報を記憶する（図３参照）。機能番号は、対応する機能を特定するコードであるとともに、その機能を実行するプログラムを特定するコードでもある。機能名は、対応する機能の名称である。必須指定は、その機能を切り離して自動改札機２を稼働させたときに、自動改札機２として意味がある動作が行えるかどうかを示す情報である。簡単に言えば、対応する機能を切り離して、自動改札機２を稼働させる縮退運転を行ってもよいかどうかを示す情報である。必須指定は、切り離しても自動改札機２として意味がある動作が行える機能（例えば、磁気券集札や、通過データ登算）については縮退可に設定され、切り離すと自動改札機２として意味がある動作が行えない機能（例えば、磁気券改札や、ＩＣカード改札）については縮退不可に設定される。
【００２２】
実行関連情報記憶エリア２２は、自動改札機２で発生する障害の種類毎に、障害コード、障害名、直接関連する機能やデータの番号を対応付けた実行関連情報を記憶する（図４参照）。直接関連する機能やデータとは、障害が発生した機能を実行するプログラムや、障害が発生したデータである。障害コードは、対応する障害を示すコードである。障害名は、対応する障害の名称である。
【００２３】
機能間依存関係情報記憶エリア２３は、自動改札機２の機能毎に、機能番号、機能名、および依存機能番号を対応付けた機能間依存関係情報を記憶する（図５参照）。依存機能番号は、依存関係がある機能（依存機能）の機能番号である。２つの機能において、一方の機能の実行にともなって、他方の機能が実行される場合、これら２つの機能に依存関係がある。言い換えれば、２つの機能において、一方の機能の実行にともなって、他方の機能が実行されない場合、これら２つの機能に依存関係はない。
【００２４】
機能／データ間依存関係情報記憶エリア２４は、自動改札機２の機能毎に、機能番号、依存データ番号、およびデータ名を対応付けた機能／データ間依存関係情報を記憶する（図６参照）。この機能／データ間依存関係情報は、機能とデータとの依存関係を示す情報である。ある機能ついて、依存関係があるデータとは、その機能を実行する際に使用するデータである。
【００２５】
上述した、実行関連情報記憶エリア２２、機能間依存関係情報記憶エリア２３、および機能／データ間依存関係情報記憶エリア２４が、この発明で言う関連情報記憶手段に相当する。
【００２６】
プログラム記憶エリア２５は、自動改札機２の機能毎に、その機能を実行するプログラムをバージョン別に記憶している。プログラム記憶エリア２５は、機能毎に、全てのバージョンのプログラムを記憶しておいてもよいが、ここでは、機能毎に、現在のバージョンのプログラムと、一つ前のバージョンのプログラム（以下、旧バージョンのプログラムと言う。）と、を記憶しているものとする。また、データ記憶エリア２６は、自動改札機２で実行されるプログラムが使用するデータをバージョン別に記憶している。データ記憶エリア２６も、プログラム記憶エリア２５と同様に、データ毎に、全てのバージョンのデータを記憶しておいてもよいが、ここでは、現在のバージョンのデータと、一つ前のバージョンのデータ（以下、旧バージョンのデータと言う。）と、を記憶しているものとする。
【００２７】
さらに、優先順位記憶エリア２７は、ネットワーク３を介して接続されている複数の自動改札機２に対する優先順位を記憶している。ここでは、自動改札機２に対して、何らかの要求を行うときに、その要求の送信を開始してから、その要求に対する結果が得られるまでの時間（応答時間）が短い自動改札機２ほど、優先順位を高く設定している。この応答時間の差は、例えば、自動改札機２との距離や通信路におけるパス数等によって生じる通信時間差や、自動改札機２の処理速度等によって生じる処理時間差である。
【００２８】
図７は、自動改札機の主要部の構成を示す図である。自動改札機２は、制御部３０と、ＩＣカード処理部３１と、磁気券処理部３２と、利用者検知部３３と、扉開閉部３４と、記憶部３５と、通信部３６と、を備えている。制御部３０は、自動改札機２本体各部の動作を制御する。ＩＣカード処理部３１は、乗車券として利用できる非接触式ＩＣカードと無線通信を行い、この非接触式ＩＣカードに記録されている乗車券情報の読み取りや、書き換えを行う。磁気券処理部３２は、乗車券として利用できる磁気券に磁気データで記録されている乗車券情報の読み取りや、書き換えを行う。利用者検知部３３は、改札通路における利用者の位置を検知する。扉開閉部３４は、改札通路の出口付近に設けた扉を開閉することにより、改札通路における利用者の通行を制限する。記憶部３５は、制御部３０が実行するプログラムや、改札処理で用いるデータ等を記憶する。通常、制御部３０が実行するプログラムや、改札処理で用いるデータは、現在のバージョンのものである。また、後述するように、記憶部３５は、旧バージョンのプログラムおとびデータを記憶しておくのが好ましい。通信部３６は、ネットワーク３を介して管理サーバ１とのデータ通信を制御する。
【００２９】
以下、この改札システムの動作について説明する。
【００３０】
図８は、自動改札機の動作を示すフローチャートである。図９は、管理サーバの動作を示すフローチャートである。自動改札機２は、通常、駅構内に入場する利用者や、駅構内から出場する利用者に対して改札処理を行っている（ｓ１、ｓ２）。この改札処理については、公知であるので、ここでは簡単に説明しておく。自動改札機２は、改札通路を通行する利用者が所持している非接触ＩＣカードや、磁気券受け付け、これに記録されている乗車券情報を読み取り、読み取った乗車券情報に基づいて、改札通路における利用者の通行可否を判定する。自動改札機２は、改札通路における利用者の通行を許可すると判定すると、この利用者にとって改札通路の出口側に位置する扉を扉開閉部３４により開する。反対に、自動改札機２は、改札通路における利用者の通行を許可しないと判定すると、この利用者にとって改札通路の出口側に位置する扉を扉開閉部３４により閉する。また、自動改札機２は、乗車券情報を読み取った非接触ＩＣカードや、磁気券に対して、乗車券情報の書き換えや、使用が完了した磁気券の回収等も行う。また、自動改札機２は、改札処理を行う毎に、その改札処理にかかるログ等を記憶部３５に記憶する。
【００３１】
自動改札機２は、障害が発生すると、管理サーバ１に対して障害発生通知を行う（ｓ３、ｓ４）。この障害発生通知には、自機を識別する端末番号、発生した障害を示す障害コードに加えて、障害発生時から予め定めた一定時間（例えば、１時間）前までの間に実行した機能を示す実行機能ログ（図１０参照）、障害発生時から予め定めた一定時間（例えば、１時間）前までの間に使用したデータを示す使用データログ（図１１参照）、および障害発生時から予め定めた一定時間（例えば、１時間）前までの間に変更されたプログラム（機能番号）、および更新されたデータを示す変更／更新ログ（図１２参照）が含まれている。
【００３２】
管理サーバ１は、いずれかの自動改札機２から送信されてきた障害発生通知を受信すると（ｓ１１）、プログラムや、データのバグ（ソフトウェアにかかるバグ）による一斉障害が発生しているかどうかを判定する（ｓ１２）。ｓ１２では、一定期間（例えば、最近１時間）の間に、同じ種類の障害の発生を通知してきた自動改札機２の合計台数が、予め定めた台数（例えば、１００台）を超えているかどうかを判定し、予め定めた台数を超えていれば、ソフトウェアにかかるバグによる一斉障害が発生していると判定する。管理サーバ１は、ｓ１２でソフトウェアにかかるバグによる一斉障害が発生していないと判定すると、ｓ１１に戻る。管理サーバ１は、ｓ１２でソフトウェアにかかるバグによる一斉障害が発生していると判定すると、今回発生した一斉障害の原因を推定する障害原因推定処理を行う（ｓ１３）。
【００３３】
図１３は、障害原因推定処理を示すフローチャートである。管理サーバ１は、自動改札機２で発生した障害の種類を判別する（ｓ３１）。ｓ３１における判別は、自動改札機２から通知された障害発生通知に含まれている障害コードに基づいて行える。管理サーバ１は、ｓ３１で判別した種類の障害に直接関連する機能（プログラム）の機能番号、およびデータのデータ番号を抽出する（ｓ３２）。ｓ３２における機能番号、およびデータの抽出は、実行関連情報記憶エリア２２に記憶している実行関連情報に基づいて行う。例えば、自動改札機２から通知されている、今回の一斉障害にかかる障害識別コードが、ＩＣマスタデータ障害（Ｅ０００００１）と、ＩＣ改札処理障害（Ｅ０００００２）とであった場合、ＩＣマスタデータ（Ｄ０００１）、およびＩＣカード改札（Ｆ０００３）を障害に直接関連する機能、およびデータとして抽出する。
【００３４】
次に、管理サーバ１は、ｓ３２で抽出した機能毎に、依存関係がある機能の機能番号を抽出する（ｓ３３）。ｓ３３では、機能間依存関係情報記憶エリア２３に記憶している機能間依存関係情報を用いて、ｓ３２で抽出した機能毎に、依存関係がある機能の機能番号を抽出する。例えば、上述した例では、ＩＣカード改札（Ｆ０００３）と依存関係がある通過データ登算（Ｆ０００４）を抽出する。
【００３５】
また、管理サーバ１は、ｓ３２で機能番号を抽出した機能毎に、その機能と依存関係があるデータのデータ番号を抽出する（ｓ３４）。ｓ３４では、機能／データ間依存関係情報記憶エリア２４に記憶している機能／データ間依存関係情報を用いて、ｓ３２で機能番号を抽出した機能毎に、依存関係があるデータのデータ番号を抽出する。上記の例では、ｓ３２で抽出したＩＣカード改札（Ｆ０００３）と依存関係があるＩＣマスタデータ（Ｄ０００１）、通過データ（Ｄ０００３）とを抽出する。
【００３６】
なお、ＩＣマスタデータ（Ｄ０００１）については、ｓ３２ですでに抽出されているので、実際には、通過データ（Ｄ０００３）が新たに抽出されることになる。
【００３７】
上述した例では、ｓ３２〜ｓ３４で、ＩＣマスタデータ（Ｄ０００１）、ＩＣカード改札（Ｆ０００３）、通過データ登算（Ｆ０００４）、および通過データ（Ｄ０００３）が抽出される。
【００３８】
管理サーバ１は、上記ｓ３２〜ｓ３４で抽出した機能、およびデータに対して、今回の一斉障害の原因である可能性を示す度合レベルを算出する（ｓ３５）。具体的には、上記ｓ３２〜ｓ３４で抽出した機能、およびデータの度合レベルをリセットし、障害発生時に実行していた機能、および、使用していたデータについて、度合レベルを１カウントアップする。障害発生時に実行していた機能、および、使用していたデータは、自動改札機２から通知された障害発生通知に含まれている実行機能ログ、および使用データログから判断できる。上記の例では、図１４（Ａ）に示すように、ＩＣマスタデータ（Ｄ０００１）と、ＩＣカード改札（Ｆ０００３）との度合レベルが１に設定される。さらに、管理サーバ１は、最後に変更／更新された機能、およびデータのそれぞれについて、度合レベルを１カウントアップする。最後に変更／更新された機能、およびデータは、自動改札機２から通知された障害発生通知に含まれている変更／更新ログから判断できる。上記の例では、図１４（Ｂ）に示すように、通過データ（Ｄ０００３）の度合レベルが１になり、ＩＣカード改札（Ｆ０００３）の度合レベルが２になる。図１４（Ｃ）は、図１４（Ｂ）に示す機能、およびデータを、度合レベルが高い順番に並び替えたものである。
【００３９】
管理サーバ１は、上記ｓ３２〜ｓ３４で抽出した機能、およびデータの中で、現在のバージョンに設定するものと、旧バージョン（１つ前のバージョン）に設定するものと、の組合せが異なる設定パターンを生成する（ｓ３６）。ｓ３６では、上記ｓ３２〜ｓ３４で抽出した機能、およびデータの全てを現在のバージョンとする設定パターンについては生成しない。すなわち、上記ｓ３２〜ｓ３４で抽出した機能、およびデータの種類数がｎであれば、生成する設定パターンの総数は、最大で（ｎ2−１）個である。また、管理サーバ１は、ｓ３６で生成する設定パターンに優先度を付けている。具体的には、より度合レベルが高い機能やデータを旧バージョンとした設定パターンほど、優先度が高い。
【００４０】
管理サーバ１は、ｓ３６で生成した設定パターン毎に、その設定パターンでのテスト稼働を要求する自動改札機２を選択する（ｓ３７）。ｓ３７では、優先度の高い設定パターンほど、優先順位記憶エリア２７に記憶している優先順位が高い自動改札機２を選択する。上述したように、管理サーバ１が何らかの要求の送信を開始してから、その要求に対する結果が得られるまでの時間（応答時間）が短い自動改札機２ほど、優先順位記憶エリア２７に記憶している優先順位が高い。
【００４１】
管理サーバ１は、ｓ３６で生成した設定パターン毎に、その設定パターンを、ｓ３７で選択した自動改札機２に送信し、テスト稼働を要求する（ｓ３８）。上述したように、テスト稼働を要求する自動改札機２を、応答時間の短いものから選択しているので、ｓ３８で要求したテスト稼働の結果が得られるまでの時間を効率的に短縮できる。
【００４２】
自動改札機２は、管理サーバ１から設定パターンとともにテスト稼働が要求されると（ｓ５）、その設定パターンで再稼働（テスト稼働）し（ｓ６）、障害が復旧したかどうかを結果として管理サーバ１に通知する（ｓ７）。このテスト稼働を要求するときに、管理サーバ１が、自動改札機２に対して、旧バージョンのプログラムや、旧バージョンのデータを送信する構成では、自動改札機２との通信時間が長くなる。したがって、上述したように、自動改札機２が、各プログラムや、各データの旧バージョンを記憶部３５に記憶しておき、管理サーバ１からは設定パターンのみ送信する構成とするのが好ましい。
【００４３】
管理サーバ１は、ｓ３８でテスト稼働の要求を行った自動改札機２から、テスト稼働の結果を受信すると、今回発生した一斉障害の原因であるプログラム、またはデータを推定する（ｓ３９、ｓ４０）。障害が復旧した自動改札機２に要求した設定パターンにおいて、旧バージョンとしたプログラムやデータの中に、今回発生した一斉障害の原因であるプログラム、またはデータが含まれている。また、障害が復旧しなかった自動改札機２に要求した設定パターンにおいて、現在のバージョンとしたプログラムやデータの中に、今回発生した一斉障害の原因であるプログラム、またはデータが含まれている。ｓ４０では、障害が復旧した自動改札機２に要求した設定パターンと、障害が復旧しなかった自動改札機２に要求した設定パターンと、を比較することにより、今回発生した一斉障害の原因であるプログラム、またはデータを推定する。
【００４４】
管理サーバ１は、上述した障害原因推定処理で、今回発生した一斉障害の原因であるプログラム、またはデータが推定できると、推定した障害原因であるプログラムやデータを旧バージョンに戻すロールバックが可能かどうかを判定する（ｓ１４、ｓ１５）。ｓ１５では、現在のバージョンと、旧バージョンと、の間で、動作面で本質的な変更がなく、互換性があればロールバック可能であると判定すればよい。言い換えれば、現在のバージョンと、旧バージョンと、の間で、動作面で本質的な変更があり、互換性がなければロールバック不可能であると判定すればよい。このロールバック可能かどうかにかかる設定は、バージョンを変更したときに、旧バージョンへのロールバック可能かどうかを設定しておけばよい。
【００４５】
管理サーバ１は、ロールバックが可能であると判定すると、ネットワークを介して接続されている全ての自動改札機２に対して、このロールバックに基づく復旧パターンを生成し（ｓ１６）、各自動改札機２に対して復旧パターンでの稼働を指示する（ｓ１７）。これにより、各自動改札機２を、復旧パターンで動作させることができる。
【００４６】
また、管理サーバ１は、ｓ１５でロールバックできないと判定すると、その機能を切り離した縮退運転が可能であるかどうかを判定する（ｓ１８）。このｓ１８にかかる判定は、機能分類情報記憶エリア２１に記憶している機能分類情報に基づいて行う。管理サーバ１は、縮退運転が可能であると判定すると、各自動改札機２に対して縮退運転での再稼働を指示する（ｓ１９）。
【００４７】
自動改札機２は、管理サーバ１から、復旧パターンでの稼働指示、または縮退運転での稼働指示があると（ｓ８）、その指示に基づいて、本体を再稼働する（ｓ９）。
【００４８】
したがって、ソフトウェアにかかるバグによって、各駅の自動改札機２で一斉障害が発生しても、自動改札機２を迅速に再稼働させることができる。すなわち、自動改札機２の停止期間を十分に短縮できる。
【００４９】
なお、上記の説明からも明らかように、自動改札機２が復旧パターンで稼働しているときや、縮退運転をしているときには、今回発生した一斉障害の原因であるプログラムや、データのバグについては、修正されていない。したがって、このバグを修正する作業は、この後に行うことになるが、このバグの修正作業が行われている間も、オンライン端末である自動改札機２を稼働させることができるので、利用者の利便性を損なわないとともに、駅係員等にかかる手間も削減できる。
【００５０】
また、管理サーバ１は、今回発生した一斉障害の原因であるプログラムや、データのバグの修正が効率的に行えるように、障害原因推定処理における推定結果をレポートにして出力する構成とすればよい。
【００５１】
また、管理サーバ１は、障害原因が特定できなかった場合、またはｓ１８で縮退運転ができないと判定した場合、係員に対して復旧を要求する（ｓ２０）。
【００５２】
このように、この実施形態では、ソフトウェアにかかるバグ等によって、一斉障害が発生したときに、速やかに、自動改札機２を再稼働させることができる。
【００５３】
また、障害原因推定処理では、設定パターンを、応答時間が短い自動改札機２に送信する構成としているので、障害原因の推定にかかる処理時間が効率的に短縮できる。
【００５４】
また、上述の説明では、抽出したプログラムや、バグによって、設定パターンを生成するとしたが、度合レベルの高いものについてのみ、旧バージョンにする設定パターンを生成するようにしてもよい。この場合には、設定パターンの生成や、設定パターンによるテスト稼働の結果を取得するまでの時間を短縮することができ、より迅速な対応が図れる。
【００５５】
また、１つの設定パターンについて、その設定パターンでのテスト稼働を、複数台の自動改札機２に対して行うようにしてもよい。このようにすれば、設定パターン毎に、複数の自動改札機２からテスト稼働の結果を得ることができ、今回発生した一斉障害にかかる原因の推定精度の向上が図れる。
【００５６】
なお、生成する設定パターンの個数等については、接続されている自動改札機２（オンライン端末）の台数等に基づいて決定してもよい。
【００５７】
また、上記の説明では、改札システムを例にして本願発明を説明したが、ＡＴＭ等を管理サーバ１に接続した金融システム等にも適用できる。
【図面の簡単な説明】
【００５８】
【図１】改札システムの概略図である。
【図２】管理サーバの主要部の構成を示す図である。
【図３】機能分類情報を示す図である。
【図４】関連機能情報を示す図である。
【図５】機能間依存関係情報を示す図である。
【図６】機能／データ間依存関係情報を示す図である。
【図７】自動改札機の主要部の構成を示す図である。
【図８】自動改札機の動作を示すフローチャートである。
【図９】管理サーバの動作を示すフローチャートである。
【図１０】実行機能ログを示す図である。
【図１１】使用データログを示す図である。
【図１２】変更／更新ログを示す図である。
【図１３】障害原因特定処理を示すフローチャートである。
【図１４】度合レベルを算出する処理を説明する図である。
【符号の説明】
【００５９】
１−管理サーバ
２−自動改札機
３−ネットワーク
１０−制御部
１１−記憶部
１２−通信部
２１−機能分類情報記憶エリア
２２−実行関連情報記憶エリア
２３−機能間依存関係情報記憶エリア
２４−機能／データ間依存関係情報記憶エリア
２５−プログラム記憶エリア
２６−データ記憶エリア
２７−優先順位記憶エリア
【図１】
2010128851.tif 000003
【図２】
2010128851.tif 000004
【図３】
2010128851.tif 000005
【図４】
2010128851.tif 000006
【図５】
2010128851.tif 000007
【図６】
2010128851.tif 000008
【図７】
2010128851.tif 000009
【図８】
2010128851.tif 000010
【図９】
2010128851.tif 000011
【図１０】
2010128851.tif 000012
【図１１】
2010128851.tif 000013
【図１２】
2010128851.tif 000014
【図１３】
2010128851.tif 000015
【図１４】
2010128851.tif 000016