自装置に搭載されている処理プログラムについて、障害の種別と、障害発生時における対応と、を対応づけて登録した障害対応テーブルを記憶する記憶部と、前記処理プログラムの実行時に障害が発生した場合、今回発生した障害の種別を判定する判定部と、前記判定部が判定した障害の種別で、前記記憶部が記憶する前記障害対応テーブルを検索し、今回発生した障害に対する対応を選択する対応方法選択部と、前記対応方法選択部が選択した対応を実行する障害対応実行部と、前記障害対応実行部が実行した実行結果に基づいて前記障害対応テーブルを更新する障害対応テーブル更新部と、を備えた情報処理装置。前記障害対応実行部が実行した実行結果によって、障害が回復したか否かを判定する回復判定部を備え、前記障害対応テーブル更新部は、前記回復判定部で判定された判定結果を前記障害対応テーブルに記憶する、請求項1に記載の情報処理装置。前記対応方法選択部は、前記回復判定部で障害が回復したと判定された対応方法を選択する、請求項2に記載の情報処理装置。前記障害対応テーブル更新部による前記障害対応テーブルの更新内容を、相互に通信可能に接続された他の情報処理装置に通知する障害対応方法通知部と、を備えた請求項1~3のいずれかに記載の情報処理装置。自装置に搭載されている処理プログラムについて、障害の種別と、障害発生時における対応と、を対応づけて登録した障害対応テーブルを記憶部に記憶する情報処理装置のコンピュータを、前記処理プログラムの実行時に障害が発生した場合、今回発生した障害の種別を判定する判定部、前記判定部が判定した障害の種別で、前記記憶部が記憶する前記障害対応テーブルを検索し、今回発生した障害に対する対応方法を選択する対応方法選択部、前記対応方法選択部が選択した対応方法を実行する障害対応実行部、および、前記障害対応実行部が実行した実行結果に基づいて前記障害対応テーブルを更新する障害対応テーブル更新部、として機能させる障害対応プログラム。前記情報処理装置のコンピュータを、前記障害対応実行部が実行した実行結果によって、障害が回復したか否かを判定する回復判定部として機能させるとともに、前記障害対応テーブル更新部を前記回復判定部で判定された判定結果を前記障害対応テーブルに記憶させる機能とした、請求項5に記載の障害対応プログラム。前記対応方法選択部を、前記回復判定部で障害が回復したと判定された対応方法を選択する機能とした、請求項6に記載の障害対応プログラム。前記情報処理装置のコンピュータを、前記障害対応テーブル更新部による前記障害対応テーブルの更新内容を、相互に通信可能に接続された他の処理端末に通知する障害対応方法通知部と、として機能させる請求項5~7のいずれかに記載の障害対応プログラム。しかしながら、システムは、通信を伴うアプリケーションが非同期なプロセス間通信でメッセージを送信した送信先で障害が発生している場合、メッセージの再送信を何度も繰り返した後に、処理プログラムのプロセスを強制終了再起動するので、障害の対応に要する時間が無駄に長くかかることがあった。すなわち、システムが、発生している障害に対して適正な対応を行う前に、障害を回復することができない不適正な対応を行うことがある。その結果、情報処理端末の稼働率を低下させ、これにともなって処理効率を低下させるという問題があった。なお、特許文献1は、障害の発生を抑制する発明であり、発生した障害の対応に要する時間の無駄を抑える構成ではない。この発明の目的は、発生した障害に対して、この障害の対応に要する時間の無駄を抑えることによって、本体の稼働率や処理効率の低下を抑える情報処理装置、および障害対応プログラムを提供することにある。この発明の情報処理装置は、上記課題を解決し、その目的を達するために以下のように構成している。この情報処理装置は、自装置に搭載されている処理プログラムについて、障害の種別と、障害発生時における対応と、を対応づけて登録した障害対応テーブルを記憶部に記憶する。処理プログラムの実行時に障害が発生すると、判定部が今回発生した障害の種別を判定する。そして、対応方法選択部が、判定部が判定した障害の種別で、記憶部に記憶している障害対応テーブルを検索し、今回発生した障害に対する対応を選択する。障害対応実行部が対応方法選択部で選択した対応を実行する。障害対応テーブル更新部は、障害対応実行部が実行した実行結果に基づいて、障害対応テーブルを更新する。これにより、障害対応テーブルは、障害の種別に対応づけられている障害発生時の対応が最適でないものであっても、一度、その障害が発生すると、二度目以降は、常に最適な対応を実行することができ、情報処理装置本体の稼働率や処理効率の低下が抑えられる。また、障害対応テーブル更新部は、障害対応実行部が実行した実行結果によって、障害が回復したか否かを判定した判定結果を障害対応テーブルに記憶させる構成としてもよい。これにより、障害発生時の対応として、障害を回復することができない不適正な対応を実行するのを防止できる。また、障害対応テーブル更新部が更新した障害対応テーブルの更新内容を、相互に通信可能に接続された他の情報処理装置に通知するように構成してもよい。この発明によれば、発生した障害に対して、この障害の対応に要する時間の無駄が抑えられるので、情報処理装置本体の稼働率や処理効率の低下を抑えることができる。以下、この発明の実施形態について説明する。図1は、この発明の実施形態である情報処理端末を接続したネットワークシステムを示す概略図である。図1は、3台の情報処理端末11A~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で共有することができる。