JP5590222B2 - 情報処理装置、および障害対応プログラム - Google Patents
情報処理装置、および障害対応プログラム Download PDFInfo
- Publication number
- JP5590222B2 JP5590222B2 JP2013507050A JP2013507050A JP5590222B2 JP 5590222 B2 JP5590222 B2 JP 5590222B2 JP 2013507050 A JP2013507050 A JP 2013507050A JP 2013507050 A JP2013507050 A JP 2013507050A JP 5590222 B2 JP5590222 B2 JP 5590222B2
- Authority
- JP
- Japan
- Prior art keywords
- failure
- unit
- failure handling
- information processing
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 96
- 238000000034 method Methods 0.000 claims description 50
- 230000004044 response Effects 0.000 claims description 43
- 238000011084 recovery Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 58
- 230000008569 process Effects 0.000 description 28
- 238000007726 management method Methods 0.000 description 11
- 230000007850 degeneration Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Description
この発明は、自装置に搭載されている処理プログラムの実行時に発生した障害に対応する情報処理装置、および障害対応プログラムに関する。
従来、複数の情報処理端末(ネットワーク機器)を相互に通信可能に接続したネットワークシステムがある。情報処理端末間の通信は、TCP/IP等の公知のプロトコルで行われる。TCP/IP通信を行うネットワーク機器は、IPパケットによる通信を行うために、ルーティング表を保持している。このルーティング表は、IPアドレス、サブネットマスク、デフォルトゲートウエイ、インターフェイス等が設定されている。ネットワーク機器は、このルーティング表を参照して、パケットを送信する送信先(通信相手端末)を決定する。
また、通信を伴うアプリケーションの多くが、非同期なプロセス間通信やネットワーク通信において、メッセージを送信した後、その返信待ち中にタイムアウトになると、同じメッセージの再送信を行う。また、システムは、実行中に異常が発生してロックすると、ロックに関係するプロセスを再起動することや、あるいはネットワーク機器本体を再起動することが行われている。
また、端末で障害が発生するのを防止するために、スクリプトを実行させることで、その原因を除去するシステムがある(特許文献1参照)。このシステムは、ホストコンピュータでスクリプトを管理しておき、このスクリプトを端末に配信して実行させることにより、障害が発生するのを防止する構成である。
しかしながら、システムは、通信を伴うアプリケーションが非同期なプロセス間通信でメッセージを送信した送信先で障害が発生している場合、メッセージの再送信を何度も繰り返した後に、処理プログラムのプロセスを強制終了・再起動するので、障害の対応に要する時間が無駄に長くかかることがあった。
すなわち、システムが、発生している障害に対して適正な対応を行う前に、障害を回復することができない不適正な対応を行うことがある。その結果、情報処理端末の稼働率を低下させ、これにともなって処理効率を低下させるという問題があった。
なお、特許文献1は、障害の発生を抑制する発明であり、発生した障害の対応に要する時間の無駄を抑える構成ではない。
この発明の目的は、発生した障害に対して、この障害の対応に要する時間の無駄を抑えることによって、本体の稼働率や処理効率の低下を抑える情報処理装置、および障害対応プログラムを提供することにある。
この発明の情報処理装置は、上記課題を解決し、その目的を達するために以下のように構成している。
この情報処理装置は、自装置に搭載されている処理プログラムについて、障害の種別と、障害発生時における対応と、を対応づけたレコードを登録した障害対応テーブルを記憶部に記憶する。処理プログラムの実行時に障害が発生すると、判定部が今回発生した障害の種別を判定する。そして、対応方法選択部が、判定部が判定した障害の種別で、記憶部に記憶している障害対応テーブルを検索し、今回発生した障害に対する対応を選択する。障害対応実行部が対応方法選択部で選択した対応を実行する。
障害対応テーブル更新部は、障害対応実行部が実行した実行結果に基づいて、障害対応テーブルを更新する。
これにより、障害対応テーブルは、障害の種別に対応づけられている障害発生時の対応が最適でないものであっても、一度、その障害が発生すると、二度目以降は、常に最適な対応を実行することができる。
また、障害対応方法通知部は、障害対応テーブル更新部による障害対応テーブルの更新内容を、相互に通信可能に接続された他の情報処理装置に通知するので、ネットワークに接続されているいずれかの情報処理端末で発生した障害にかかる対応を、ネットワークに接続されている全ての情報処理端末で共有することができる。
さらに、障害対応テーブル更新部は、他の情報処理装置から障害対応テーブルの更新内容の通知があると、この通知が自装置に搭載されている処理プログラムにかかるものであれば、今回通知された障害対応テーブルの更新内容に基づいて作成したレコードを、記憶部が記憶する障害対応テーブルに登録し、反対に、この通知が自装置に搭載されている処理プログラムにかかるものでなければ、今回通知された障害対応テーブルの更新内容に基づくレコードを、記憶部が記憶する前記障害対応テーブルに登録しない。これにより、記憶部における、障害対応テーブルの記憶に必要な記憶容量が抑えられるだけでなく、障害の発生時における障害対応テーブルの検索時間が無駄に増加するのを抑えられる。
したがって、情報処理装置本体の稼働率や処理効率の低下を十分に抑えることができる。
また、障害対応方法通知部は、障害対応テーブル更新部による障害対応テーブルの更新内容を、相互に通信可能に接続された他の情報処理装置に通知するので、ネットワークに接続されているいずれかの情報処理端末で発生した障害にかかる対応を、ネットワークに接続されている全ての情報処理端末で共有することができる。
さらに、障害対応テーブル更新部は、他の情報処理装置から障害対応テーブルの更新内容の通知があると、この通知が自装置に搭載されている処理プログラムにかかるものであれば、今回通知された障害対応テーブルの更新内容に基づいて作成したレコードを、記憶部が記憶する障害対応テーブルに登録し、反対に、この通知が自装置に搭載されている処理プログラムにかかるものでなければ、今回通知された障害対応テーブルの更新内容に基づくレコードを、記憶部が記憶する前記障害対応テーブルに登録しない。これにより、記憶部における、障害対応テーブルの記憶に必要な記憶容量が抑えられるだけでなく、障害の発生時における障害対応テーブルの検索時間が無駄に増加するのを抑えられる。
したがって、情報処理装置本体の稼働率や処理効率の低下を十分に抑えることができる。
また、障害対応テーブル更新部は、障害対応実行部が実行した実行結果によって、障害が回復したか否かを判定した判定結果を障害対応テーブルに記憶させる構成としてもよい。これにより、障害発生時の対応として、障害を回復することができない不適正な対応を実行するのを防止できる。
また、障害対応テーブル更新部は、自装置の障害対応実行部が実行した実行結果に基づくレコードと、他の情報処理装置から通知された前記障害対応テーブルの更新内容に基づくレコードと、を区別して、障害対応テーブルに登録する構成としてもよい。
この発明によれば、発生した障害に対して、この障害の対応に要する時間の無駄が抑えられるので、情報処理装置本体の稼働率や処理効率の低下を抑えることができる。
以下、この発明の実施形態について説明する。
図1は、この発明の実施形態である情報処理端末を接続したネットワークシステムを示す概略図である。図1は、3台の情報処理端末1(1A〜1C)を示している。情報処理端末1A、1B、1Cは、イーサネット(登録商標)によるLANで接続しており、相互に通信できる。この図1に示す例では、情報処理端末1Aは、処理プログラムX、および処理プログラムYを搭載している。情報処理端末1Bは、処理プログラムX、および処理プログラムZを搭載している。情報処理端末1Cは、処理プログラムY、および処理プログラムZを搭載している。
このネットワークシステムは、情報処理端末1が自端末のみならず、ネットワークを介して接続されている他の情報処理端末1に搭載されている処理プログラムであっても、その情報処理端末1との通信により連携して利用できるネットワーク分散システムである。すなわち、情報処理端末1Aは、情報処理端末1Bとの通信により、この情報処理端末1Bに搭載されている処理プログラムX、および処理プログラムZを選択的に利用でき、且つ、情報処理端末1Cとの通信により、この情報処理端末1Cに搭載されている処理プログラムY、および処理プログラムZを選択的に利用できる。また、情報処理端末1Bは、情報処理端末1Aとの通信により、この情報処理端末1Aに搭載されている処理プログラムX、および処理プログラムYを選択的に利用でき、且つ、情報処理端末1Cとの通信により、この情報処理端末1Cに搭載されている処理プログラムY、および処理プログラムZを選択的に利用できる。さらに、情報処理端末1Cは、情報処理端末1Aとの通信により、この情報処理端末1Aに搭載されている処理プログラムX、および処理プログラムYを選択的に利用でき、且つ、情報処理端末1Bとの通信により、この情報処理端末1Bに搭載されている処理プログラムX、および処理プログラムZを選択的に利用できる。
図2は、情報処理端末の階層構造を示す概略図である。情報処理端末1は、オペレーティングシステム層10(以下、OS層10と言う。)と、通信仮想化層11と、実行管理層13と、アプリケーション層15と、ドライバ層16と、ハードウェア層17と、を有している。
OS層10は、情報処理端末1のOSを実行する階層である。OSは、ハードディスク(不図示)等の記憶媒体に記憶している。OS層10は、記憶媒体から読み出したOSを実行する。
通信仮想化層11は、OS層10の上位に位置する。実行管理層13は、この通信仮想化層11の上位に位置する階層であり、アプリケーション層15は、この実行管理層13の上位に位置する階層である。アプリケーション層15は、アプリケーションプログラムや、このアプリケーションプログラムの実行時に使用するサブルーチンプログラム等を実行する階層である。アプリケーションプログラムや、サブルーチンプログラムは、OSと同様に、ハードディスク(不図示)等の記憶媒体に記憶している。このアプリケーションプログラムや、サブルーチンプログラムが、この発明で言う処理プログラムに相当する。以下、アプリケーション層15で実行するアプリケーションプログラムや、サブルーチンプログラム等を総称して処理プログラムと言うこともある。
実行管理層13は、実行管理プログラムを実行する。この実行管理プログラムは、アプリケーション層15における処理プログラムの起動や終了を管理する。また、実行管理プログラムは、アプリケーション層15と、通信仮想化層11との間で、処理プログラムの実行等にかかるメッセージの受け渡しの仲介を行う。また、実行管理プログラムは、このメッセージの内容を判別し、処理プログラムへのメッセージの再送信(リトライ)、特定の要求メッセージの遮断(フィルタリング)、あるいは処理プログラムのプロセスの強制終了と再起動(リスタート)等の障害対応を、後述する障害対応テーブル14を用いて自律的に行う。
この実行管理プログラム、および障害対応テーブル14も、OS、処理プログラムと同様に、ハードディスク(不図示)等の記憶媒体に記憶している。また、この実行管理プログラムが、この発明にかかる障害対応プログラムに相当する。
通信仮想化層11は、このネットワークシステムの拡張性を考え、アプリケーション層15に位置する任意の処理プログラムが、他の処理プログラムとの通信手順を知らなくても、この他のプログラムを利用可能にするために設けた階層である。通信仮想化層11は、プログラム間の通信において、シリアル通信やネットワーク通信などの実装方式の違いを吸収して通信手順を仮想化するための役割を果たす。このため、通信仮想化層11は、様々な通信方式を透過的に扱えるインターフェイスを上位層であるアプリケーション層15に提供する通信仮想化プログラムを実行する。この通信仮想化プログラムも、OS、アプリケーションプログラム、処理プログラム、実行管理プログラムと同様に、ハードディスク(不図示)等の記憶媒体に記憶している。
また、この通信仮想化層11は、通信仮想化プログラムの実行に際して、ハードディスク(不図示)等の記憶媒体に記憶している、後述するルーティングテーブル12を用いる。
ドライバ層16は、UDPやTCP等のネットワーク通信を制御する通信ドライバや、RS−232C等のシリアル通信を制御する通信ドライバを実行する階層である。ドライバ層16は、図2に示すように、OS層10の下位に位置する。
ハードウェア層17は、CPU、メモリ(RAM)、通信を実行する通信制御装置、入出力を行う入出力装置等のハードウェアが位置する階層である。ハードウェア層17は、ドライバ層16の下位に位置する。
ここで、ルーティングテーブル12、および障害対応テーブル14について説明する。図3は、ルーティングテーブルを示す図である。ルーティングテーブル12は、全ての情報処理端末1で同じではなく、情報処理端末1毎に異なる。図3は、図1に示す情報処理端末1Aが有するルーティングテーブル12の例である。ルーティングテーブル12は、情報処理端末1が利用できる処理プログラム毎に、処理名、通信方式、およびIPアドレス/ポート番号を対応づけたテーブルである。
処理名は、処理プログラムが実行する処理の名前である。処理名が同じである処理プログラムは、同じ入力に対する実行処理の結果が同じになるプログラムであるが、同一のプログラムであるとは限らない。すなわち、処理プログラムは、処理名が同じであっても、そのスペックが異なる場合がある。通信方式は、その処理プログラムを利用するときの通信方式である。IPアドレス/ポート番号は、その処理プログラムのネットワーク上の位置を示す。
図3では、No1、および2が情報処理端末1A(自端末)に搭載されている処理プログラムX、Yであり、No3、および4が情報処理端末1Bに搭載されている処理プログラムX、Zであり、No5、および6が情報処理端末1Cに搭載されている処理プログラムY、Zである。
図4は、障害対応テーブルを示す図である。障害対応テーブル14は、発生した障害毎に、処理名、要求メッセージのハッシュ値、実行結果ステータス、障害対応履歴、および障害発生場所を対応づけて登録している。要求メッセージのハッシュ値は、その要求メッセージの文字列から生成されるハッシュ値である。要求メッセージの一致不一致にかかる判定が、このハッシュ値を比較することによって高速に行える。
実行結果ステータスは、要求メッセージに応じて実行した処理プログラムの実行結果を示すステータスであり、異常終了した場合(すなわち、障害が発生した場合)のエラーコードである。障害対応履歴は、要求メッセージに応じて実行した処理プログラムで発生した障害に対して実施した回復処理と、その結果とを対にして、実施した順番に並べて登録した情報である。例えば、図4に示すNo1にかかる障害は、回復処理としてリトライを行っても障害が回復せず、再度リトライを行ったときに障害が回復したことを示している(リトライ→NG、リトライ→OK)。また、図4に示すNo2にかかる障害は、回復処理としてリトライを2回繰り返しても障害が回復せず、リスタート後のリトライで障害が回復したことを示している(リトライ→NG、リトライ→NG、リスタート、リトライ→OK)。
リトライとは、要求メッセージを伝えた処理プログラムからの処理結果にかかる応答が異常であったり、一定時間経過しても応答が返ってこなかったりしたときに、再度、同じ要求メッセージを処理プログラムに伝えて再実行を起動する処理である。また、リスタートとは、要求メッセージを伝えた処理プログラムからの処理結果にかかる応答が異常であったり、一定時間経過しても応答が返ってこなかったりしたときに、この処理プログラムのプロセスを強制終了し、その後、この処理プログラムのプロセスを再起動する(この処理プログラムを初期化する。)処理である。
また、部分サービス縮退は、その処理プログラムが受け付ける要求メッセージの中で、障害が発生する特定の要求メッセージだけをフィルタリングで除外して、その機能のみを停止する処理である。この部分サービス縮退は、例えば処理プログラムにバグがあり、このバグによって障害が発生する特定の要求メッセージにかかる処理を拒否し、他の要求メッセージについては拒否しない設定にする処理である。
また、サービス縮退は、その処理プログラムに対する全ての要求メッセージを拒否する設定にする処理である。すなわち、この処理プログラムを実行停止にする処理である。
障害発生場所は、障害が発生した処理プログラムが搭載されている端末が、自端末であるか、他の端末(他端末)であるかを示す。
次に、情報処理端末1が、自端末を含む任意の情報処理端末1に搭載されている処理プログラムを利用するときの動作について説明する。図5は、処理プログラムの実行を要求する側(要求側)の情報処理端末の動作を示すフローチャートである。図6は、処理プログラムの実行が要求される側(実行側)の情報処理端末(通信仮想化プログラム)の動作を示すフローチャートである。
なお、ここで説明する各種プログラムの動作は、そのプログラム自体が実際に動作するわけではなく、そのプログラムを実行している情報処理端末1の動作である。
要求側の情報処理端末1は、アプリケーション層15で実行しているアプリケーションプログラム等において、サブルーチンである処理プログラムの実行要求が発生すると、この実行要求を、実行管理層13を介して通信仮想化層11で実行されている通信仮想化プログラムに通知する。
通信仮想化プログラムは、処理プログラムの実行要求の発生にかかる通知があると(s1)、図3に示したルーティングテーブル12を参照し、今回実行要求された処理プログラムを選択する(s2)。具体的には、通信仮想化プログラムは、ルーティングテーブル12から今回要求された処理プログラムを全て抽出し、予め定められている条件等に基づいて、抽出した処理プログラムの中から1つを選択する。
例えば、実行が要求された処理プログラムが、図1に示す処理プログラムXであれば情報処理端末1Aに搭載されている処理プログラムX、および情報処理端末1Bに搭載されている処理プログラムXの2つから、予め定められている条件に基づいて、一方を選択する。また、実行が要求された処理プログラムが、図1に示す処理プログラムYであれば情報処理端末1Aに搭載されている処理プログラムY、および情報処理端末1Cに搭載されている処理プログラムYの2つから、予め定められている条件に基づいて、一方を選択する。また、実行が要求された処理プログラムが、図1に示す処理プログラムZであれば情報処理端末1Bに搭載されている処理プログラムZ、および情報処理端末1Cに搭載されている処理プログラムZの2つから、予め定められている条件に基づいて、一方を選択する。
通信仮想化プログラムは、s2で選択した処理プログラムに対する実行要求を送信し(s3)、実行結果が送信されてくるのを待つ(s4)。通信仮想化プログラムは、実行結果を受信すると、この実行結果を、アプリケーション層15で実行しているアプリケーションプログラム(今回処理プログラムの実行要求を発生させた処理プログラム)に通知し(s5)、本処理を終了する。
図6を参照しながら、実行側の情報処理端末1の動作について説明する。実行側の情報処理端末1は、通信仮想化層11で実行している通信仮想化プログラムが、要求側からの処理プログラムの実行要求を受信すると(s11)、実行管理層13で実行している実行管理プログラムにより、障害発生回避処理を行う(s12)。
s12にかかる障害発生回避処理は、すでに縮退している機能にかかる処理要求であるかどうかによって、今回の実行要求に対して、アプリケーション層15で処理プログラムを実行するかどうかを判定する処理である。この障害発生回避処理の詳細については後述する。
実行側の情報処理端末1は、s12にかかる障害発生回避処理で、実行管理層13において、今回の実行要求にかかる処理プログラムをアプリケーション層15で実行しないと判定すると、その旨を実行結果として要求側に通知する(s13、s17)。
一方、実行側の情報処理端末1は、s12にかかる障害発生回避処理で、実行管理層13において、今回の実行要求にかかる処理プログラムをアプリケーション層15で実行すると判定すると、この処理プログラムをアプリケーション層15で実行する(s13、s14)。s14では、実行管理層13で実行している実行管理プログラムが、通信仮想化プログラムからの処理プログラムの実行要求(s11で受信した実行要求)に基づき、該当する処理プログラムをアプリケーション層15で実行させる。
実行側の情報処理端末1は、s14で実行した処理プログラムの実行中に障害が発生したかどうかを判定する(s15)。実行側の情報処理端末1は、処理プログラムの実行時に障害が発生すると、発生した障害に対応する障害発生対応処理を実行する(s16)。この障害発生対応処理の詳細については後述する。また、実行側の情報処理端末1は、障害が発生することなく実行した処理プログラムが完了したときには、その処理プログラムの処理結果を実行結果として要求側の情報処理端末1に送信し(s17)、本処理を終了する。
次に、s12にかかる障害発生回避処理について説明する。情報処理端末1は、自端末に搭載している処理プログラムについて、図7に示す実行回避テーブルを記憶している。この実行回避テーブルは、部分サービス縮退、またはサービス縮退を行っている処理プログラムを登録したテーブルであり、実行管理層13で実行している実行管理プログラムが利用する。図7は、処理プログラムXについて、ハッシュ値が347283883、784248383、124888888である実行要求を拒否すること、および、処理プログラムYについて、全ての実行要求を拒否することを登録した例である。
図8は、障害発生回避処理を示すフローチャートである。実行管理プログラムは、今回実行要求があった処理プログラムが図7に示す実行回避テーブルに登録されているかどうかを判定する(s21)。実行管理プログラムは、実行回避テーブルに登録されていなければ、今回実行要求があった処理プログラムを実行すると判定する(s25)。
実行管理プログラムは、実行回避テーブルに登録されている処理プログラムであれば、回避する範囲が一部であるか、全体であるかを判定する(s22)。全体であれば、今回実行要求があった処理プログラムを実行しないと判定する(s26)。
実行管理プログラムは、s22で一部(つまり部分サービス縮退)であると判定すると、今回の実行要求についてハッシュ値を計算する(s23)。実行管理プログラムは、計算したハッシュ値が実行回避テーブルに登録されているかどうかを判定する(s24)。実行管理プログラムは、計算したハッシュ値が実行回避テーブルに登録されていれば、今回実行要求があった処理プログラムを実行しないと判定する(s26)。反対に、実行管理プログラムは、計算したハッシュ値が実行回避テーブルに登録されていなければ、今回実行要求があった処理プログラムを実行すると判定する(s25)。
情報処理端末1は、この障害発生回避処理を実行することにより、処理プログラムを無駄に実行するのを防止でき、また、障害を無駄に発生させることもない。
次に、s16にかかる障害発生対応処理について説明する。図9は、障害発生対応処理を示すフローチャートである。実行管理プログラムは、今回の実行要求についてハッシュ値を計算する(s31)。s31で計算するハッシュ値が、今回発生した障害の種別と判定する。
実行管理プログラムは、今回の実行要求にかかる処理プログラム、s31で計算したハッシュ値、および実行結果ステータスをキーにして障害対応テーブル14を検索する(s32)。実行管理プログラムは、今回の実行要求にかかる処理プログラム、s31で計算したハッシュ値、および実行結果ステータスが一致するレコードが障害対応テーブル14に登録されていると、そのレコードにおける障害対応履歴を参照し、今回発生した障害に対する対応がリトライであればリトライを実行する(s33、s34)。また、障害対応テーブル14に今回発生した障害に該当するレコードが登録されていない場合も、s34でリトライを実行する。
実行管理プログラムは、s34でリトライした処理プログラムの実行時に障害が再発生しなければ、得られた実行結果を通信仮想化層11で実行している通信仮想化プログラムに受け渡す(s35、s42)。
また、実行管理プログラムは、s32で検索した障害対応テーブル14に登録されている該当するレコードにおいて、今回発生した障害に対する対応がリスタートであれば(s36)、リスタートを実行し、その直後に処理プログラムをリトライ(処理プログラムの再実行)する(s37、s38)。実行管理プログラムは、s38でリトライした処理プログラムの実行時に障害が再発生しなければ、得られた実行結果を通信仮想化層11で実行している通信仮想化プログラムに受け渡す(s39、s42)。
なお、実行管理プログラムは、s35で障害が発生したと判定すると、上述したs37以降の処理を実行する。
また、実行管理プログラムは、s32で検索した障害対応テーブル14に登録されている該当するレコードにおいて、今回発生した障害に対する対応が部分サービス縮退、またはサービス縮退であれば、該当する処理プログラムについて、部分、または全部、および部分の場合に今回の実行要求にかかるハッシュ値を対応づけて実行回避テーブルに登録する(s41)。実行管理プログラムは、s39で障害が発生したと判定すると、部分サービス縮退と判定し(s40)、s41にかかる処理を実行する。
さらに、実行管理プログラムは、今回の障害対応にかかるレコードを作成し、これを障害対応テーブル14に登録するとともに(s43)、今回登録したレコードを、ネットワークを介して接続されている他の情報処理端末1に通知する(s44)。
このように、情報処理端末1は、実行管理層13で実行している実行管理プログラムが、処理プログラムの実行時に障害発生したとき、障害対応テーブル14を検索し、発生した障害に対する対応を実行する。したがって、発生した障害に対して、無駄な対応を実行するのを抑えることができ、結果的に、発生した障害の対応に要する時間の無駄を抑えることができる。これにより、情報処理端末1本体の稼働率や処理効率の低下が抑えられる。
また、他の情報処理端末1がs44で送信したレコードを受信したときには、自端末に搭載されている処理プログラムであるかどうかを判定し、自端末に搭載されている処理プログラムであれば、障害対応テーブル14に登録する構成とすればよい。自端末に搭載されていない処理プログラムであれば、障害対応テーブル14に登録しなくてもよい。
これにより、ネットワークに接続されているいずれかの情報処理端末1で発生した障害にかかる対応を、ネットワークに接続されている全ての情報処理端末1で共有することができる。
1…情報処理端末
10…オペレーティングシステム層(OS層)
11…通信仮想化層
12…ルーティングテーブル
13…実行管理層
14…障害対応テーブル
15…アプリケーション層
16…ドライバ層
17…ハードウェア層
10…オペレーティングシステム層(OS層)
11…通信仮想化層
12…ルーティングテーブル
13…実行管理層
14…障害対応テーブル
15…アプリケーション層
16…ドライバ層
17…ハードウェア層
Claims (8)
- 自装置に搭載されている処理プログラムについて、障害の種別と、障害発生時における対応と、を対応づけたレコードを登録した障害対応テーブルを記憶する記憶部と、
前記処理プログラムの実行時に障害が発生した場合、今回発生した障害の種別を判定する判定部と、
前記判定部が判定した障害の種別で、前記記憶部が記憶する前記障害対応テーブルを検索し、今回発生した障害に対する対応を選択する対応方法選択部と、
前記対応方法選択部が選択した対応を実行する障害対応実行部と、
前記障害対応実行部が実行した実行結果に基づいて前記障害対応テーブルを更新する障害対応テーブル更新部と、
前記障害対応テーブル更新部による前記障害対応テーブルの更新内容を、相互に通信可能に接続された他の情報処理装置に通知する障害対応方法通知部と、を備え、
前記障害対応テーブル更新部は、他の情報処理装置から前記障害対応テーブルの更新内容の通知があると、この通知が自装置に搭載されている処理プログラムにかかるものであれば、今回通知された前記障害対応テーブルの更新内容に基づいて作成したレコードを、前記記憶部が記憶する前記障害対応テーブルに登録し、反対に、この通知が自装置に搭載されている処理プログラムにかかるものでなければ、今回通知された前記障害対応テーブルの更新内容に基づくレコードを、前記記憶部が記憶する前記障害対応テーブルに登録しない、情報処理装置。 - 前記障害対応実行部が実行した実行結果によって、障害が回復したか否かを判定する回復判定部を備え、
前記障害対応テーブル更新部は、前記回復判定部で判定された判定結果を前記障害対応テーブルに記憶する、請求項1に記載の情報処理装置。 - 前記対応方法選択部は、前記回復判定部で障害が回復したと判定された対応方法を選択する、請求項2に記載の情報処理装置。
- 前記障害対応テーブル更新部は、自装置の前記障害対応実行部が実行した実行結果に基づくレコードと、他の情報処理装置から通知された前記障害対応テーブルの更新内容に基づくレコードと、を区別して、前記障害対応テーブルに登録する、請求項1〜3のいずれかに記載の情報処理装置。
- 自装置に搭載されている処理プログラムについて、障害の種別と、障害発生時における対応と、を対応づけたレコードを登録した障害対応テーブルを記憶部に記憶する情報処理装置のコンピュータを、
前記処理プログラムの実行時に障害が発生した場合、今回発生した障害の種別を判定する判定部、
前記判定部が判定した障害の種別で、前記記憶部が記憶する前記障害対応テーブルを検索し、今回発生した障害に対する対応方法を選択する対応方法選択部、
前記対応方法選択部が選択した対応方法を実行する障害対応実行部、
前記障害対応実行部が実行した実行結果に基づいて前記障害対応テーブルを更新する障害対応テーブル更新部、および、
前記障害対応テーブル更新部による前記障害対応テーブルの更新内容を、相互に通信可能に接続された他の情報処理装置に通知する障害対応方法通知部として機能させるとともに、
前記障害対応テーブル更新部は、他の情報処理装置から前記障害対応テーブルの更新内容の通知があると、この通知が自装置に搭載されている処理プログラムにかかるものであれば、今回通知された前記障害対応テーブルの更新内容に基づいて作成したレコードを、前記記憶部が記憶する前記障害対応テーブルに登録し、反対に、この通知が自装置に搭載されている処理プログラムにかかるものでなければ、今回通知された前記障害対応テーブルの更新内容に基づくレコードを、前記記憶部が記憶する前記障害対応テーブルに登録しない機能とした、障害対応プログラム。 - 前記情報処理装置のコンピュータを、
前記障害対応実行部が実行した実行結果によって、障害が回復したか否かを判定する回復判定部として機能させるとともに、
前記障害対応テーブル更新部を前記回復判定部で判定された判定結果を前記障害対応テーブルに記憶させる機能とした、請求項5に記載の障害対応プログラム。 - 前記対応方法選択部を、前記回復判定部で障害が回復したと判定された対応方法を選択する機能とした、請求項6に記載の障害対応プログラム。
- 前記障害対応テーブル更新部を、自装置の前記障害対応実行部が実行した実行結果に基づくレコードと、他の情報処理装置から通知された前記障害対応テーブルの更新内容に基づくレコードと、を区別して、前記障害対応テーブルに登録する機能とした、請求項5〜7のいずれかに記載の障害対応プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013507050A JP5590222B2 (ja) | 2011-03-29 | 2011-11-18 | 情報処理装置、および障害対応プログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011071703 | 2011-03-29 | ||
JP2011071703 | 2011-03-29 | ||
JP2013507050A JP5590222B2 (ja) | 2011-03-29 | 2011-11-18 | 情報処理装置、および障害対応プログラム |
PCT/JP2011/076624 WO2012132101A1 (ja) | 2011-03-29 | 2011-11-18 | 情報処理装置、および障害対応プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012132101A1 JPWO2012132101A1 (ja) | 2014-07-24 |
JP5590222B2 true JP5590222B2 (ja) | 2014-09-17 |
Family
ID=46929900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013507050A Expired - Fee Related JP5590222B2 (ja) | 2011-03-29 | 2011-11-18 | 情報処理装置、および障害対応プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5590222B2 (ja) |
WO (1) | WO2012132101A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10482000B2 (en) | 2017-04-24 | 2019-11-19 | Microsoft Technology Licensing, Llc | Machine learned decision guidance for alerts originating from monitoring systems |
CN111527478B (zh) * | 2017-10-13 | 2022-08-09 | 华为技术有限公司 | 云设备协同实时用户体验和性能异常检测的系统和方法 |
WO2020005164A1 (en) * | 2018-06-29 | 2020-01-02 | Senserbot Pte. Ltd. | Task management method and system thereof |
JP2020013300A (ja) * | 2018-07-18 | 2020-01-23 | Zホールディングス株式会社 | 監視装置、監視方法、およびプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07253956A (ja) * | 1994-03-15 | 1995-10-03 | Fujitsu Ltd | 計算機監視方式 |
JPH1093559A (ja) * | 1996-09-18 | 1998-04-10 | Fujitsu Ltd | 障害情報管理装置及び障害情報管理方法 |
JP2006023910A (ja) * | 2004-07-07 | 2006-01-26 | Hitachi Ltd | サーバ障害回復方法およびサーバ障害回復システム |
JP2006201890A (ja) * | 2005-01-19 | 2006-08-03 | Hitachi Software Eng Co Ltd | プログラム異常対策装置 |
JP2009129376A (ja) * | 2007-11-27 | 2009-06-11 | Hitachi Ltd | クライアントサーバシステムにおける要求制御方法、要求制御プログラム、および、サーバ装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10312321A (ja) * | 1997-05-12 | 1998-11-24 | Hitachi Ltd | オンラインシステム障害解析方法 |
-
2011
- 2011-11-18 WO PCT/JP2011/076624 patent/WO2012132101A1/ja active Application Filing
- 2011-11-18 JP JP2013507050A patent/JP5590222B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07253956A (ja) * | 1994-03-15 | 1995-10-03 | Fujitsu Ltd | 計算機監視方式 |
JPH1093559A (ja) * | 1996-09-18 | 1998-04-10 | Fujitsu Ltd | 障害情報管理装置及び障害情報管理方法 |
JP2006023910A (ja) * | 2004-07-07 | 2006-01-26 | Hitachi Ltd | サーバ障害回復方法およびサーバ障害回復システム |
JP2006201890A (ja) * | 2005-01-19 | 2006-08-03 | Hitachi Software Eng Co Ltd | プログラム異常対策装置 |
JP2009129376A (ja) * | 2007-11-27 | 2009-06-11 | Hitachi Ltd | クライアントサーバシステムにおける要求制御方法、要求制御プログラム、および、サーバ装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2012132101A1 (ja) | 2014-07-24 |
WO2012132101A1 (ja) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7533178B2 (en) | Resuming a computing session when rebooting a computing device | |
JP6141189B2 (ja) | ファイルシステムにおける透過的なフェイルオーバーの提供 | |
WO2016202051A1 (zh) | 一种通信系统中管理主备节点的方法和装置及高可用集群 | |
EP1396789A2 (en) | Information processing system having data migration device | |
JP2007226400A (ja) | 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム | |
CN112039769B (zh) | 一种处理路由的方法及网络设备 | |
CN110324375B (zh) | 一种信息备份方法及相关设备 | |
JP2014112768A (ja) | 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ | |
CN104486108A (zh) | 基于Zookeeper的节点配置方法和基于Zookeeper的节点配置系统 | |
JP5590222B2 (ja) | 情報処理装置、および障害対応プログラム | |
JP2017033331A (ja) | 代理応答プログラム、代理応答装置及び代理応答方法 | |
US10972337B2 (en) | Method and apparatus for split-brain avoidance in sub-secondary high availability systems | |
JP2013171301A (ja) | ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム | |
JP4964666B2 (ja) | 冗長化された通信経路を切り替える計算機、プログラム及び方法 | |
JP2020521409A (ja) | Netconfセッション状態の検出方法、装置及びコンピュータ読取可能な記録媒体 | |
JP2013218449A (ja) | クラウドコンピューティングシステム | |
JP2014045238A (ja) | 情報処理システム、中継装置、情報処理装置、及び情報処理方法。 | |
US9880855B2 (en) | Start-up control program, device, and method | |
JP4757670B2 (ja) | システム切替方法、その計算機システム及びプログラム | |
US20220217093A1 (en) | Sequence Number Synchronization Method and Apparatus | |
CN113407384B (zh) | peer节点指令传输的方法、装置、代理服务器及存储介质 | |
JP2007141129A (ja) | システム切替方法、その計算機システム及びプログラム | |
WO2015127758A1 (zh) | 备份文件的数据重传方法及装置、系统 | |
JP6179981B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及びプログラム | |
US11921605B2 (en) | Managing applications in a cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140421 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140714 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5590222 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |