説明

ディペンダブルシステム並びにディペンダブルシステムを実現するための障害対応言語システム及び情報装置

【課題】予め想定することが困難な障害の発生に対応する。
【解決手段】障害対応言語システムは、スクリプトから命令文を抽出する命令文抽出部222と、スクリプトから抽出した命令文が示す命令を実行させる情報装置110を特定する装置特定部223と、特定した情報装置110に命令文を送信する命令文送信部224と、命令文を全ての装置に送信した後に、全ての装置に命令の実行を指示する実行指示を送信する実行指示送信部226とを備える。また、監視対象システム100を構成する各情報装置110は、命令文を受信する命令文受信部111と、実行指示を受信する実行指示受信部117と、実行指示を受信したときに、命令文受信部111が受信した命令文が示す命令を実行する命令実行部118とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の情報装置から構成される監視対象システムと、当該監視対象システムに発生する障害に対応する障害対応言語システムとを備えるディペンダブルシステム並びにその障害対応言語システム及びその監視対象システムの情報装置に関する。
【背景技術】
【0002】
従来、情報システムの開発においては、予め開発計画を立て、対象製品やシステムの仕様を特定し、設計、実装及びテストを十分に行ったうえで利用者に対する提供を開始している(非特許文献1を参照)。このとき、システムのディペンダビリティ(信頼性。非特許文献2〜4を参照)を保証するため、障害発生する可能性について予めリスク分析(非特許文献5を参照)を行い、システムに対して冗長化技術などのフォルトトレラント(耐障害)設計を適用することが行われている(非特許文献6を参照)。
【0003】
近年の情報システムは、情報端末がネットワークを介してサーバ群に接続され、情報端末が、サーバ上のサービスを利用するように構成されている。特に、現代においては、これらの情報システム同士が直接的にまたは間接的に相互接続されてより大きな情報システム(オープンシステム)を形成している(非特許文献7を参照)。このようなオープンシステムでは、常に変化を伴い、設計、開発時に障害対策を立てることが難しくなっている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Nancy G.Leveson、“System Safety and Computers”、Addison−Wesley Professional、1995
【非特許文献2】H.Yasuura、“On Dependability” 、in Dependability Workshop Report (in Japanese)、CRDS−FY2006−WR−07、CRDS、JST、March 2007
【非特許文献3】T.Nanya、“Concept and Issues on Dependability”、in Dependability Workshop Report (in Japanese)、CRDS−FY2006−WR−07、CRDS、JST、March 2007
【非特許文献4】K.Iwano、“Dependability in Social Services”、in Dependability Workshop Report (in Japanese)、CRDS−FY2006−WR−07、CRDS、JST、March 2007
【非特許文献5】W.E、Veselery、F.F.Gold、“Fault Tree Handbook”、Technical Report NUREG−0492、U.S Nuclear Regulatory Comission,Washington、D.C.、1981
【非特許文献6】Hassan Noura 、Didier Theilliol、Jean−Christophe Ponsart、Abbas Chamseddine “Fault−tolerant Control Systems:Design and Practical Applications(Advances in Industrial Control)”、Springer; 1st Edition. Edition 2009
【非特許文献7】M.Tokoro、“Open Systems Science”、IOS Press、February 2010.
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したオープンシステムにおいては、システムの開発者や運用者がシステムの隅々まで理解することが困難であり、またシステムの境界や要求、機能が時間とともに変化する。そのため、非特許文献3〜6に示すような設計ではディペンダビリティを十分に保証できないという問題がある。
本発明の目的は、予め想定することが困難な障害の発生に対応することができるディペンダブルシステム並びに障害対応言語システム及び情報装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明は上記の課題を解決するためになされたものであり、複数の情報装置から構成される監視対象システムと、当該監視対象システムに発生する障害に対応する障害対応言語システムとを備えるディペンダブルシステムであって、前記障害対応言語システムは、前記監視対象システムを構成する各情報装置に実行させる命令を示す複数の命令文及びそれぞれの命令文が示す命令を実行させる情報装置を示す情報を含むスクリプトを読み出すスクリプト読み出し部と、前記スクリプト読み出し部が読み出したスクリプトから、前記命令文を抽出する命令文抽出部と、前記スクリプト読み出し部が読み出したスクリプトから、前記命令文抽出部が抽出した命令文が示す命令を実行させる情報装置を特定する装置特定部と、前記装置特定部が特定した情報装置に前記命令文を送信する命令文送信部と、前記命令文送信部が前記命令文を全ての情報装置に送信した後に、前記全ての情報装置に当該命令文が示す命令の実行を指示する実行指示を送信する実行指示送信部とを備え、前記監視対象システムを構成する各情報装置は、前記障害対応言語システムから命令文を受信する命令文受信部と、前記障害対応言語システムから実行指示を受信する実行指示受信部と、前記実行指示受信部が前記実行指示を受信したときに、前記命令文受信部が受信した命令文が示す命令を実行する命令実行部とを備えることを特徴とする。
【0007】
また、本発明においては、前記障害対応言語システムは、前記情報装置のそれぞれから、前記命令文送信部が送信した命令文が示す命令の実行の可否を示す実行可否応答を受信する応答受信部を備え、前記障害対応言語システムの実行指示送信部は、前記応答受信部が前記監視対象システムを構成する全ての情報装置から前記実行可否応答を受信したときに前記実行指示を送信することが好ましい。
【0008】
また、本発明においては、前記監視対象システムを構成する各情報装置は、前記命令文受信部が受信した命令文に対して型検査を実行する型検査部と、前記型検査部によってエラーが検出された場合に、前記障害対応言語システムに対して命令の実行ができないことを示す実行可否応答を送信する応答送信部とを備えることが好ましい。
【0009】
また、本発明においては、前記監視対象システムを構成する各情報装置は、前記監視対象システムから受信する実行指示による実行を許可しない機能を記憶する実行拒否機能記憶部を備え、前記情報装置の型検査部は、前記実行拒否機能記憶部が記憶する機能を未定義機能とみなして前記型検査を実行することが好ましい。
【0010】
また、本発明においては、前記情報装置は、前記情報装置の命令文受信部が受信した命令文が示す命令を実行する権限を示す情報を記憶する権限記憶部を備え、前記情報装置の実行拒否機能記憶部は、前記機能に関連付けて、当該機能の実行を許可する権限を記憶し、前記情報装置の型検査部は、前記実行拒否機能記憶部が記憶する機能のうち前記権限記憶部が記憶する権限に関連付けられていない機能を、未定義機能とみなして前記型検査を実行することが好ましい。
【0011】
また、本発明においては、前記監視対象システムを構成する各情報装置は、前記命令実行部が命令文が示す命令を実行したときに、当該命令の実行ログを前記障害対応言語システムに送信するログ送信部を備え、前記障害対応言語システムは、前記監視対象システムを構成する各情報装置から命令の実行ログを受信するログ受信部を備え、前記障害対応言語システムの実行指示送信部は、ある命令文が示す命令を実行させる実行指示を前記監視対象システムに送信した場合、前記ログ受信部が前記全ての命令に対する実行ログを受信した後に、次の実行指示を前記監視対象システムに送信することが好ましい。
【0012】
また、本発明においては、前記障害対応言語システムの実行指示送信部は、前記ログ受信部が前記実行ログを受信した場合において、当該実行ログが命令実行エラーを示すとき、所定のエラー対応処理を実行することが好ましい。
【0013】
また、本発明は、複数の情報装置から構成される監視対象システムに発生する障害に対応する障害対応言語システムであって、前記監視対象システムを構成する各情報装置に実行させる命令を示す複数の命令文及びそれぞれの命令文が示す命令を実行させる情報装置を示す情報を含むスクリプトを読み出すスクリプト読み出し部と、前記スクリプト読み出し部が読み出したスクリプトから、前記命令文を抽出する命令文抽出部と、前記スクリプト読み出し部が読み出したスクリプトから、前記命令文抽出部が抽出した命令文が示す命令を実行させる情報装置を特定する装置特定部と、前記装置特定部が特定した情報装置に前記命令文を送信する命令文送信部と、前記命令文送信部が前記命令文を全ての情報装置に送信した後に、前記全ての情報装置に当該命令文が示す命令の実行を指示する実行指示を送信する実行指示送信部とを備えることを特徴とする。
【0014】
また、本発明は、障害に対応する障害対応言語システムの監視対象となる監視対象システムを構成する情報装置であって、前記障害対応言語システムから命令文を受信する命令文受信部と、前記障害対応言語システムから実行指示を受信する実行指示受信部と、前記実行指示受信部が前記実行指示を受信したときに、前記命令文受信部が受信した命令文が示す命令を実行する命令実行部と、を備えることを特徴とする。
【発明の効果】
【0015】
本発明によれば、障害対応言語システムは、監視対象システムの障害に対応するための命令を記述したスクリプトに基づいて監視対象システムを構成する各情報装置に対して命令の実行指示を出力する。このように、設計変更を柔軟に行うことができ、外部から記述可能なスクリプトを用いて障害対応を行うことで、予め想定することが困難な障害の発生に対応することを実現する。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態によるディペンダブルシステムの構成図である。
【図2】ディペンダブルシステムの機能構成を示す概略ブロック図である。
【図3】スクリプト入力装置が入力を受け付けるスクリプトの例である。
【図4】本発明の一実施形態によるディペンダブルシステムの動作を示すシーケンス図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるディペンダブルシステムの構成図である。
ディペンダブルシステムは、複数の情報装置110−1〜110−N(但し、Nは正の整数。以下、情報装置110−1〜110−Nを総称して情報装置110と表記する。)から構成される監視対象システム100と、監視対象システム100に発生する障害に対応する障害対応言語システム200とを備える。監視対象システム100はオープンシステムであり、監視対象システム100を構成する情報装置110の例としては、ウェブサーバ、データベースサーバなどのサーバ装置や、監視対象システム100のオペレータが所持するオペレータ端末などが含まれる。
【0018】
障害対応言語システム200は、スクリプト入力装置210、スクリプト解析装置220、ログ収集装置230を備える。
スクリプト入力装置210は、ディペンダブルシステムの管理者から、障害に対応するための命令群からなるスクリプトの入力を受け付ける。当該スクリプトには、情報装置110が障害であると判定する条件と、当該障害に対応するための命令群とが含まれる。なお、スクリプトを記述するためのスクリプト言語としては、動的な実行が可能であり、かつ実行前に型検査を行うことができる言語を用いる。
スクリプト解析装置220は、スクリプト入力装置210からスクリプトを読み出し、当該スクリプトに従って、監視対象システム100に対して命令文及び命令の実行指示を送信する。
ログ収集装置230は、監視対象システム100による命令の実行ログを受信し、記録する。
【0019】
図2は、ディペンダブルシステムの機能構成を示す概略ブロック図である。
監視対象システム100を構成する各情報装置110は、所定のアクタープログラムを実行することで、命令文受信部111、命令文記録部112(権限記憶部)、命令文記憶部113、実行拒否機能記憶部114、型検査部115、応答送信部116、実行指示受信部117、命令実行部118、ログ送信部119を備える。なお、アクタープログラムとは、上記スクリプトによる障害対応処理を実行可能にするためのプログラムである。
【0020】
命令文受信部111は、スクリプト解析装置220から、上記スクリプト言語で記述された命令文を受信する。
命令文記録部112は、命令文受信部111が受信した命令文を命令文記憶部113に記録する。
命令文記憶部113は、スクリプト解析装置220から受信した命令文を記憶する。また、命令文記憶部113は、スクリプト解析装置220から受信した命令文が示す命令を実行する権限を示す権限情報を記憶する。
【0021】
実行拒否機能記憶部114は、スクリプト解析装置220から受信する実行指示による実行を許可しない機能と、当該機能の実行を例外的に許可する権限とを関連付けて記憶する。
型検査部115は、実行拒否機能記憶部114が記憶する機能のうち、命令文受信部111が受信した権限に関連付けられていない機能を未定義機能とみなして、命令文記憶部113が記憶する命令文に対する型検査を行う。
応答送信部116は、命令文受信部111が受信した命令文が示す命令の実行の可否を示す実行可否応答を、スクリプト解析装置220に送信する。具体的には、応答送信部116は、型検査部115による型検査の結果、エラーが見つかった場合に、命令の実行ができないことを示す実行可否応答を送信し、エラーが見つからない場合に、命令の実行ができることを示す実行可否応答を送信する。
【0022】
実行指示受信部117は、スクリプト解析装置220から、命令文が示す命令の実行指示を受信する。
命令実行部118は、実行指示受信部117が実行指示を受信した場合に、当該実行指示が示す命令文を命令文記憶部113から読み取り、当該命令文が示す命令を実行する。
ログ送信部119は、命令実行部118による命令の実行結果を示す実行ログを、ログ収集装置230に送信する。
【0023】
スクリプト解析装置220は、スクリプト読み出し部221、命令文抽出部222、装置特定部223、命令文送信部224、応答受信部225、実行指示送信部226、ログ読み出し部227を備える。
【0024】
スクリプト読み出し部221は、ディペンダブルシステムの管理者が入力したスクリプトをスクリプト入力装置210から読み出し、記憶する。また、スクリプト読み出し部221は、記憶したスクリプトの中から、情報装置110の状態に合致する条件に関連付けられたスクリプトを読み出す。
命令文抽出部222は、スクリプト読み出し部221が読み出したスクリプトから、情報装置110に実行させる命令文を抽出する。
装置特定部223は、スクリプト読み出し部221が読み出したスクリプトから、命令文抽出部222が抽出した命令文が示す命令を実行させる情報装置110を特定する。
命令文送信部224は、命令文抽出部222が抽出した命令文を、装置特定部223が特定した情報装置110に送信する。
【0025】
応答受信部225は、情報装置110から実行可否応答を受信する。
実行指示送信部226は、スクリプト読み出し部221が読み出したスクリプトから、命令の実行順を規定したコントロール関数を抽出する。また、実行指示送信部226は、応答受信部225が、監視対象システム100を構成する全ての情報装置110から実行可否応答を受信した場合に、監視対象システム100を構成する全ての情報装置110に対して、抽出したコントロール関数が示す順に実行指示を送信する。また、実行指示送信部226は、一の実行指示を情報装置110に送信した場合、ログ読み出し部227が読み出した実行ログが、命令の実行対象となった全ての情報装置110において命令の実行が完了したことを示す場合に、コントロール関数が示す次の実行指示を情報装置110に送信する。
ログ読み出し部227は、ログ収集装置230から実行ログを読み出す。
【0026】
ログ収集装置230は、ログ受信部231、ログ記録部232、ログ記憶部233を備える。
ログ受信部231は、情報装置110から実行ログを受信する。
ログ記録部232は、ログ受信部231が受信した実行ログをログ記憶部233に記録する
ログ記憶部233は、監視対象システム100を構成する全ての情報装置110における命令の実行結果を示す実行ログを記憶する。
【0027】
図3は、スクリプト入力装置210が入力を受け付けるスクリプトの例である。
スクリプト入力装置210が入力を受け付けるスクリプトには、図3に示すとおり、各情報装置110に実行させる命令を示す命令文を示すタスクセットオブジェクト、命令文を実行させる情報装置110を示すバインド配列、及び命令の実行順を示すコントロール関数が記述される。
すなわち、命令文送信部224は、バインド配列に関連付けられたタスクセットオブジェクトを、当該バインド配列の要素として記述された情報装置110のそれぞれに送信する。そして、実行指示送信部226は、コントロール関数に記述された命令を一つずつ(コントロール関数において配列などで複数の命令が一つに括られている場合は、当該括られた命令群を)、各情報装置110に送信する。
【0028】
また、スクリプトには、図3に示すものの他に、命令文の実行権限を示す権限情報や、当該スクリプトを実行する条件となる情報装置110の状態を示す障害条件が記述されている。
ディペンダブルシステムの管理者は、これらの要素を適切に組み合わせてスクリプトを生成することで、ディペンダビリティ合意をポリシーやシナリオとしてスクリプトに組み込む。なお、当該スクリプトは、予めよくテストして検証を行っておくことで、ポリシーやシナリオの修正による不慮の影響を最小限化しておくことが好ましい。
【0029】
次に、ディペンダブルシステムの動作について説明する。
図4は、本発明の一実施形態によるディペンダブルシステムの動作を示すシーケンス図である。ここでは、監視対象システム100に何らかの障害が発生した場合に、障害の原因を特定するためのスクリプトを実行する際の動作について説明する。
スクリプト解析装置220は、情報装置110のネットワーク帯域幅や、応答時間、アクセスカウント、システム負荷、ユーザレポートその他の情報装置110の情報を収集する。そして、スクリプト読み出し部221は、当該収集した情報が満たす障害条件に関連付けられたスクリプトを読み出す(ステップS1)。
【0030】
次に、命令文抽出部222は、スクリプト読み出し部221が読み出したスクリプトから、タスクセットオブジェクトを読み出す。これにより、命令文抽出部222は、情報装置110に実行させるべき命令が記述された命令文と、当該命令文を実行する権限を示す権限情報を抽出する(ステップS2)。次に、装置特定部223は、スクリプト読み出し部221が読み出したスクリプトから、命令文抽出部222が抽出した各タスクセットオブジェクトに関連付けられたバインド配列を読み出す。これにより、装置特定部223は、命令文の送信対象となる情報装置110を特定する(ステップS3)。そして、命令文送信部224は、命令文抽出部222が抽出した命令文と権限情報を、装置特定部223が特定した情報装置110に、送信する(ステップS4)。
【0031】
スクリプト解析装置220が命令文を送信すると、各情報装置110の命令文受信部111は、スクリプト解析装置220から命令文及び権限情報を受信する(ステップS5)。次に、命令文記録部112は、受信した命令文及び権限情報を命令文記憶部113に記録する(ステップS6)。次に、型検査部115は、命令文記憶部113に記録された命令文に対して型検査を実行する(ステップS7)。
【0032】
このとき、型検査部115は、実行拒否機能記憶部114から、命令文記憶部113が記憶する権限情報に関連付けられていない機能(Function)を読み出し、当該機能を未定義機能とみなして型検査を実行する。つまり、型検査部115は、実行権限を有しない機能を未定義機能とみなすことで、権限情報が権限を有しない機能を実行する命令文に対して型検査エラーを発生させる。これにより、情報装置110は、受信した命令文を実行できない旨を予めスクリプト解析装置220に通知することで、セキュリティを担保することができる。
なお、スクリプトの中から、権限情報が権限を有しない機能に完全一致する文字列を検索することでも、権限情報が権限を有しない機能の有無を検索することができる。しかしこの場合、変数に格納されたオブジェクトを参照して実行する機能を検出できない可能性、または権限と無関係の同名の機能を誤って検出してしまう可能性があるため、上述した型検査による方式を採用することが好ましい。
【0033】
次に、応答送信部116は、型検査部115による型検査によりエラーが検出されたか否かを判定する(ステップS8)。応答送信部116は、型検査部115によってエラーが検出されなかったと判定した場合(ステップS8:NO)、命令の実行ができることを示す実行可否応答を送信する(ステップS9)。他方、応答送信部116は、型検査部115によってエラーが検出されたと判定した場合(ステップS8:YES)、命令の実行ができないことを示す実行可否応答を送信する(ステップS10)。
【0034】
スクリプト解析装置220の命令文送信部224が、ステップS4で命令文及び権限情報を情報装置110に送信すると、応答受信部225は、情報装置110から実行可否応答の受信を待機する(ステップS11)。応答受信部225は、実行可否応答を受信すると、ステップS4で命令文を送信した全ての情報装置110から実行可否応答を受信し終えたか否かを判定する(ステップS12)。応答受信部225は、実行可否応答を受信していない情報装置110が存在する場合(ステップS12:NO)、ステップS11に戻り、実行可否応答の受信待機を継続する。
【0035】
他方、応答受信部225は、全ての情報装置110から実行可否応答を受信した場合(ステップS12:YES)、当該実行可否応答が全て命令の実行ができることを示すものであるか否かを判定する(ステップS13)。実行可否応答の中に命令の実行ができないことを示すものが存在する場合(ステップS13:NO)、スクリプト解析装置220は、所定の実行不可対応処理を実行する(ステップS14)。実行不可対応処理の例としては、例えば、当該情報装置110に対して実行指示を送信しないようにする処理や、実行できない命令を特定して当該命令を実行しない命令文を生成する処理や、実行できないことを示す実行可否応答に対応する命令を予め定めておき、当該命令を情報装置110に送信する処理などが挙げられる。
【0036】
ステップS14において実行不可対応処理を実行した場合、または実行可否応答が全て、命令の実行ができることを示すものである場合(ステップS13:YES)、実行指示送信部226は、スクリプト読み出し部221が読み出したスクリプトからコントロール関数を読み出し、当該コントロール関数の初めの命令または命令群を示す実行指示を、全ての情報装置110に送信する(ステップS15)。
【0037】
スクリプト解析装置220が実行指示を送信すると、情報装置110の実行指示受信部117は、当該実行指示を受信する(ステップS16)。次に、命令実行部118は、受信した実行指示が示す命令文を命令文記憶部113から読み出し、当該命令文が示す命令を実行する(ステップS17)。このとき、ログ送信部119は、当該命令の実行における情報装置110の挙動を示す実行ログを生成し、当該実行ログをログ収集装置230に送信する(ステップS18)。このとき、ログ送信部119は、命令文のモニタリング、サンプリングによるリソースモニタリング、外部リソースとの境界面におけるイベントモニタリングを実行することで、命令文の実行状態を自動的に追跡して実行ログを生成する。
【0038】
なお、情報装置110は受信に対する応答、及び実行結果を示す応答をスクリプト解析装置220に送信しない。これは、スクリプト解析装置220が各情報装置110から応答を受信することで処理が遅滞してしまうことを防ぐためである。なお、スクリプト解析装置220は、ログ収集装置230に記録された実行ログを監視することで、実行結果を確認することで、多数の情報装置110からの応答の受信を行わずに、全ての情報装置110の情報を確認することができる。
【0039】
ログ収集装置230のログ受信部231は、情報装置110から実行ログが送信される度に、当該実行ログを受信する(ステップS19)。そして、ログ記録部232は受信した実行ログをログ記憶部233に記録する(ステップS20)。これにより、ログ記憶部233には、各情報装置110による命令の実行ログが蓄積される。そのため、ディペンダブルシステムは、ログ収集装置230に蓄積される実行ログをエビデンスとして残しておくことで、アカウンタビリティ(説明責任)を担保することができる。
【0040】
スクリプト解析装置220の実行指示送信部226が、ステップS15で実行指示を情報装置110に送信すると、ログ読み出し部227は、ログ収集装置230のログ記憶部233に蓄積された実行ログを監視する(ステップS21)。ログ読み出し部227は、ログ収集装置230から読み出した実行ログを解析し、ステップS15で実行指示を送信した全ての情報装置110が実行指示に従って命令を実行したか否かを判定する(ステップS22)。ログ読み出し部227は、命令の実行を完了していない情報装置110が存在すると判定した場合(ステップS22:NO)、ステップS21に戻り、実行ログの監視を継続する。他方、ログ読み出し部227は、全ての情報装置110が命令の実行を完了したと判定した場合(ステップS22:YES)、当該実行ログに命令実行エラーを示すものが含まれているか否かを判定する(ステップS23)。
【0041】
実行ログの中に命令実行エラーを示すものが含まれている場合(ステップS23:YES)、スクリプト解析装置220は、所定のエラー対応処理を実行する(ステップS24)。エラー対応処理の例としては、例えば、ロールバック処理を全ての情報装置110に送信して元の状態に戻し、ディペンダブルシステムの管理者にエラーの発生を通知する処理などが挙げられる。
【0042】
ステップS24においてエラー対応処理を実行した場合、または実行ログの中に命令実行エラーを示すものが含まれていない場合(ステップS23:NO)、実行指示送信部226は、ステップS15で読み出したコントロール関数に、次の命令または命令群が存在するか否か、すなわち最終行に到達したか否かを判定する(ステップS25)。実行指示送信部226は、次の命令または命令群が存在すると判定した場合(ステップS25:YES)、ステップS15に戻り、当該次の命令または命令群を示す実行指示を情報装置110に送信する。他方、実行指示送信部226が、次の命令または命令群が存在しないと判定した場合(ステップS25:NO)、スクリプト解析装置220は、処理を終了する。
【0043】
以降、スクリプト解析装置220は、スクリプトの実行結果として、ログ収集装置230から実行ログを読み出し、当該実行ログに基づいて障害の原因を特定し、当該障害に対応するスクリプトを実行することができる。障害に対応するスクリプトの特定方法としては、例えば、以前に障害が発生したときの実行ログと当該障害に対して実行した対応処理を示すスクリプトとを関連付けて記憶しておき、今回のスクリプトの実行による実行ログとの類似度が最も高い実行ログに関連付けられたスクリプトが示す対応処理を実行する処理などが挙げられる。なお、障害に対する対応処理を示すスクリプトを実行する際の動作は、図4に示す障害の原因を特定するためのスクリプトを実行する際の動作と同様の動作となる。
【0044】
ところで、監視対象システム100の種類によっては、所定の命令を実行するために監視対象システム100の管理者の承認を得る必要がある場合がある。このような場合には、予めスクリプトのコントロール関数に、承認が必要な命令の実行前に、監視対象システム100の管理者のオペレータ端末に承認要求を送信する命令を記述しておくことで、対応することができる。この場合、管理者がオペレータ端末に対して承認する旨の入力をすると、当該情報が実行ログとしてログ収集装置230に記録されるため、スクリプト解析装置220は、当該実行ログに基づいて次の命令の実行可否を判定することができる。
【0045】
また、操作員の手作業によらなければ処理を実行できない場合(例えば、情報装置110のケーブルの抜き差しを行う処理など)も同様に、予めスクリプトのコントロール関数に、監視対象システム100の操作員のオペレータ端末に作業要求を送信する命令を記述しておくことで、対応することができる。この場合、操作員がオペレータ端末に対して作業結果を入力すると、当該作業結果が実行ログとしてログ収集装置230に記録されるため、スクリプト解析装置220は、当該実行ログに基づいて次の命令の実行可否を判定することができる。
【0046】
このように、本実施形態による障害対応言語システム200は、監視対象システム100の障害に対応するための命令を記述したスクリプトに基づいて監視対象システム100を構成する各情報装置110に対して命令の実行指示を出力する。そして、各情報装置110は当該実行指示に従って命令を実行する。このように、設計変更を柔軟に行うことができるスクリプトを用いて障害対応を行うことで、予め想定することが困難な障害の発生に対応することができる。
【0047】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、情報装置110の実行拒否機能記憶部114が、スクリプト解析装置220から受信する実行指示による実行を許可しない機能と、当該機能の実行を例外的に許可する権限とを関連付けて記憶する場合について説明したが、これに限られない。例えば、実行できる機能を権限毎に異ならせる必要が無い場合、実行拒否機能記憶部114は、スクリプト解析装置220から受信する実行指示による実行を許可しない機能のみを記憶するように構成されても良い。
【0048】
また、本実施形態では、障害対応言語システム200が、スクリプト入力装置210、スクリプト解析装置220、ログ収集装置230から構成される場合を説明したが、これに限られない。すなわち、1つまたは2つの装置にこれらの機能がまとめられていても良いし、4つ以上の装置に機能を分散していても良い。
【0049】
また、本実施形態では、権限情報がスクリプトに記述されており、当該権限情報に基づいて情報装置110が型検査を行う場合について説明したが、これに限られない。例えば、情報装置110の命令文記憶部113に予め権限情報を記憶しておき、型検査部115が当該権限情報に基づいて型検査を行うようにしても良い。
【0050】
上述の情報装置110、スクリプト入力装置210、スクリプト解析装置220、及びログ収集装置230は内部に、コンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0051】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0052】
100…監視対象システム 110…情報装置 111…命令文受信部 112…命令文記録部 113…命令文記憶部 114…実行拒否機能記憶部 115…型検査部 116…応答送信部 117…実行指示受信部 118…命令実行部 119…ログ送信部 200…障害対応言語システム 210…スクリプト入力装置 220…スクリプト解析装置 221…スクリプト読み出し部 222…命令文抽出部 223…装置特定部 224…命令文送信部 225…応答受信部 226…実行指示送信部 227…ログ読み出し部 230…ログ収集装置 231…ログ受信部 232…ログ記録部 233…ログ記憶部

【特許請求の範囲】
【請求項1】
複数の情報装置から構成される監視対象システムと、当該監視対象システムに発生する障害に対応する障害対応言語システムとを備えるディペンダブルシステムであって、
前記障害対応言語システムは、
前記監視対象システムを構成する各情報装置に実行させる命令を示す複数の命令文及びそれぞれの命令文が示す命令を実行させる情報装置を示す情報を含むスクリプトを読み出すスクリプト読み出し部と、
前記スクリプト読み出し部が読み出したスクリプトから、前記命令文を抽出する命令文抽出部と、
前記スクリプト読み出し部が読み出したスクリプトから、前記命令文抽出部が抽出した命令文が示す命令を実行させる情報装置を特定する装置特定部と、
前記装置特定部が特定した情報装置に前記命令文を送信する命令文送信部と、
前記命令文送信部が前記命令文を全ての情報装置に送信した後に、前記全ての情報装置に当該命令文が示す命令の実行を指示する実行指示を送信する実行指示送信部と
を備え、
前記監視対象システムを構成する各情報装置は、
前記障害対応言語システムから命令文を受信する命令文受信部と、
前記障害対応言語システムから実行指示を受信する実行指示受信部と、
前記実行指示受信部が前記実行指示を受信したときに、前記命令文受信部が受信した命令文が示す命令を実行する命令実行部と
を備えることを特徴とするディペンダブルシステム。
【請求項2】
前記障害対応言語システムは、
前記情報装置のそれぞれから、前記命令文送信部が送信した命令文が示す命令の実行の可否を示す実行可否応答を受信する応答受信部を備え、
前記障害対応言語システムの実行指示送信部は、前記応答受信部が前記監視対象システムを構成する全ての情報装置から前記実行可否応答を受信したときに前記実行指示を送信する
ことを特徴とする請求項1に記載のディペンダブルシステム。
【請求項3】
前記監視対象システムを構成する各情報装置は、
前記命令文受信部が受信した命令文に対して型検査を実行する型検査部と、
前記型検査部によってエラーが検出された場合に、前記障害対応言語システムに対して命令の実行ができないことを示す実行可否応答を送信する応答送信部と
を備えることを特徴とする請求項2に記載のディペンダブルシステム。
【請求項4】
前記監視対象システムを構成する各情報装置は、
前記監視対象システムから受信する実行指示による実行を許可しない機能を記憶する実行拒否機能記憶部を備え、
前記情報装置の型検査部は、前記実行拒否機能記憶部が記憶する機能を未定義機能とみなして前記型検査を実行する
ことを特徴とする請求項3に記載のディペンダブルシステム。
【請求項5】
前記情報装置は、前記情報装置の命令文受信部が受信した命令文が示す命令を実行する権限を示す情報を記憶する権限記憶部を備え、
前記情報装置の実行拒否機能記憶部は、前記機能に関連付けて、当該機能の実行を許可する権限を記憶し、
前記情報装置の型検査部は、前記実行拒否機能記憶部が記憶する機能のうち前記権限記憶部が記憶する権限に関連付けられていない機能を、未定義機能とみなして前記型検査を実行する
ことを特徴とする請求項4に記載のディペンダブルシステム。
【請求項6】
前記監視対象システムを構成する各情報装置は、
前記命令実行部が命令文が示す命令を実行したときに、当該命令の実行ログを前記障害対応言語システムに送信するログ送信部を備え、
前記障害対応言語システムは、
前記監視対象システムを構成する各情報装置から命令の実行ログを受信するログ受信部を備え、
前記障害対応言語システムの実行指示送信部は、ある命令文が示す命令を実行させる実行指示を前記監視対象システムに送信した場合、前記ログ受信部が前記全ての命令に対する実行ログを受信した後に、次の実行指示を前記監視対象システムに送信する
ことを特徴とする請求項1から請求項5の何れか1項に記載のディペンダブルシステム。
【請求項7】
前記障害対応言語システムの実行指示送信部は、前記ログ受信部が前記実行ログを受信した場合において、当該実行ログが命令実行エラーを示すとき、所定のエラー対応処理を実行する
ことを特徴とする請求項6に記載のディペンダブルシステム。
【請求項8】
複数の情報装置から構成される監視対象システムに発生する障害に対応する障害対応言語システムであって、
前記監視対象システムを構成する各情報装置に実行させる命令を示す複数の命令文及びそれぞれの命令文が示す命令を実行させる情報装置を示す情報を含むスクリプトを読み出すスクリプト読み出し部と、
前記スクリプト読み出し部が読み出したスクリプトから、前記命令文を抽出する命令文抽出部と、
前記スクリプト読み出し部が読み出したスクリプトから、前記命令文抽出部が抽出した命令文が示す命令を実行させる情報装置を特定する装置特定部と、
前記装置特定部が特定した情報装置に前記命令文を送信する命令文送信部と、
前記命令文送信部が前記命令文を全ての情報装置に送信した後に、前記全ての情報装置に当該命令文が示す命令の実行を指示する実行指示を送信する実行指示送信部と
を備えることを特徴とする障害対応言語システム。
【請求項9】
障害に対応する障害対応言語システムの監視対象となる監視対象システムを構成する情報装置であって、
前記障害対応言語システムから命令文を受信する命令文受信部と、
前記障害対応言語システムから実行指示を受信する実行指示受信部と、
前記実行指示受信部が前記実行指示を受信したときに、前記命令文受信部が受信した命令文が示す命令を実行する命令実行部と、
を備えることを特徴とする情報装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate