(57)【要約】      （修正有）【課題】不特定原因により発生した不揮発の不正データによる障害状態から自動復旧する。【解決手段】ソフトウェア実行モジュールおよびシステムデータを格納する記憶部と、自機の起動開始後、記憶部３からソフトウェア実行モジュールおよびシステムデータを読出して実行することで、プロセスの起動を行うプロセス起動部１１２と、プロセスの起動開始後、設定時間までに当該プロセスの起動が完了したかを判定する起動判定部１１３と、起動が完了しなかった場合に、プロセス起動部１１２にソフトウェア実行モジュールの冗長切替えを行わせて再起動させる再起動指示部１１４と、再起動の後、再び起動が完了しなかった場合に、記憶部に格納されたシステムデータの修復を行うデータ修復部１１５とを備えた。【選択図】図３
2015138269.tif 000002
【特許請求の範囲】
【請求項１】
プロセスを起動する冗長構成のソフトウェア実行モジュール、および当該ソフトウェア実行モジュールで使用されるシステムデータを格納する記憶部と、
自機の起動開始後、前記記憶部から該当するソフトウェア実行モジュールおよびシステムデータを読出して実行することで、該当するプロセスの起動を行うプロセス起動部と、
前記プロセス起動部によるプロセスの起動開始後、設定時間までに当該プロセスの起動が完了したかを判定する起動判定部と、
前記起動判定部により起動が完了しなかったと判定された場合に、前記プロセス起動部に、使用するソフトウェア実行モジュールの冗長切替えを行わせて再起動させる再起動指示部と、
前記プロセス起動部により再起動が行われた後、前記起動判定部により再び起動が完了しなかったと判定された場合に、前記再起動指示部による処理前に、前記記憶部に格納された該当するシステムデータの修復を行うデータ修復部と
を備えた通信制御装置。
【請求項２】
運用中のプロセスに発生した障害を検出する障害検出部と、
前記障害検出部により障害が検出された場合に、当該障害を示す情報を格納する障害情報記憶部と、
前記障害検出部により障害が検出された場合に、前記障害情報記憶部に格納された情報に基づいて、同一の障害が発生したかを判定する障害情報判定部とを備え、
前記再起動指示部は、前記障害検出部により障害が検出された場合に、前記プロセス起動部に該当するプロセスを再起動させ、
前記データ修復部は、前記障害情報判定部により同一の障害が発生したと判定された場合に、前記再起動指示部による処理前に、前記記憶部に格納されたシステムデータの修復を行う
ことを特徴とする請求項１記載の通信制御装置。
【請求項３】
記憶部により、プロセスを起動する冗長構成のソフトウェア実行モジュール、および当該ソフトウェア実行モジュールで使用されるシステムデータを格納する記憶ステップと、
プロセス起動部により、自機の起動開始後、前記記憶部から該当するソフトウェア実行モジュールおよびシステムデータを読出して実行することで、該当するプロセスの起動を行うプロセス起動ステップと、
起動判定部により、前記プロセス起動部によるプロセスの起動開始後、設定時間までに当該プロセスの起動が完了したかを判定する起動判定ステップと、
再起動指示部により、前記起動判定部により起動が完了しなかったと判定された場合に、前記プロセス起動部に、使用するソフトウェア実行モジュールの冗長切替えを行わせて再起動させる再起動指示ステップと、
データ修復部により、前記プロセス起動部により再起動が行われた後、前記起動判定部により再び起動が完了しなかったと判定された場合に、前記再起動指示部による処理前に、前記記憶部に格納された該当するシステムデータの修復を行うデータ修復ステップと
を有する障害復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動作に必要なシステムデータなどを不揮発保持する通信制御装置に関し、特にインターネットサービスに供し、エンドユーザ宅内にあって障害時の即時復旧が困難である通信制御装置において、当該システムデータの異常に起因する障害を検出し、自動復旧する機能を備えた通信制御装置およびその障害復旧方法に関するものである。
【背景技術】
【０００２】
従来の通信制御装置は、内部に保持する複数のシステムデータを集積したデータセットの一部または全体に対して異常を検出するための機構として、検査コード(パリティ、チェックサム、操作履歴など)を付与する手段を取っている（例えば特許文献１参照）。これらの手段は、データを読出す際または定期的に、当該検査コードを検査することによってデータの異常または異常可能性を検出している。また、異常を検出した際のデータ修復手段として、検査コードの冗長情報から計算によってデータを修正する方法、またはデータセットのコピーまたは過去履歴を１つ以上保持しておき、異常検出時に正常なデータセットと差し替える方法を取っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２７０８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の通信制御装置は以上のように構成されているため、検査コードを付与する機能部位よりも処理の後段、または下位層に当たる部位で発生した異常しか検出できないという課題がある。例えば不揮発メモリの故障、書込み中の停電、不具合による書込み機能の異常などにより不正な内容が保存されていた場合には、異常を検出できる。一方、書込み機能を利用した上位アプリケーションソフトウェアの機能不具合などにより、上位機能にとって不正であるデータを書込み機能に渡してしまった場合には、そのデータセットには当該不正データを含む検査コードが付与されるため、異常を検出できない。よって、当該不正データに起因し装置の通信機能が阻害された場合には、装置を交換しなければ復旧できなくなる。
【０００５】
昨今、オープンソースソフトウェアや一般販売ソフトウェアを通信制御装置に組込む機会が増えている。これらブラックボックスのソフトウェアによるセキュリティホールなどの潜在的問題、あるいはそれらの組合わせに起因する不具合によって、データの論理破壊が引き起こされた場合、装置全体の動作異常を招く不正データを不揮発保持するリスクが上がっている。データの不正によって引き起こされた障害は、原因データが修復されるまで継続する。そのため、当該データが不揮発保持されていた場合には、装置の再起動や電源再投入など、一般的なエンドユーザが実施可能な手段では動作復旧できないという課題がある。
【０００６】
この発明は、上記のような課題を解決するためになされたもので、検査コードなどの設計上予め想定した障害原因のみを検出する手段に依存せず、不特定原因により発生した不揮発の不正データによる障害状態から自動復旧できる通信制御装置および障害復旧方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
この発明に係る通信制御装置は、プロセスを起動する冗長構成のソフトウェア実行モジュール、および当該ソフトウェア実行モジュールで使用されるシステムデータを格納する記憶部と、自機の起動開始後、記憶部から該当するソフトウェア実行モジュールおよびシステムデータを読出して実行することで、該当するプロセスの起動を行うプロセス起動部と、プロセス起動部によるプロセスの起動開始後、設定時間までに当該プロセスの起動が完了したかを判定する起動判定部と、起動判定部により起動が完了しなかったと判定された場合に、プロセス起動部に、使用するソフトウェア実行モジュールの冗長切替えを行わせて再起動させる再起動指示部と、プロセス起動部により再起動が行われた後、起動判定部により再び起動が完了しなかったと判定された場合に、再起動指示部による処理前に、記憶部に格納された該当するシステムデータの修復を行うデータ修復部とを備えたものである。
【０００８】
また、この発明に係る障害復旧方法は、記憶部により、プロセスを起動する冗長構成のソフトウェア実行モジュール、および当該ソフトウェア実行モジュールで使用されるシステムデータを格納する記憶ステップと、プロセス起動部により、自機の起動開始後、記憶部から該当するソフトウェア実行モジュールおよびシステムデータを読出して実行することで、該当するプロセスの起動を行うプロセス起動ステップと、起動判定部により、プロセス起動部によるプロセスの起動開始後、設定時間までに当該プロセスの起動が完了したかを判定する起動判定ステップと、再起動指示部により、起動判定部により起動が完了しなかったと判定された場合に、プロセス起動部に、使用するソフトウェア実行モジュールの冗長切替えを行わせて再起動させる再起動指示ステップと、データ修復部により、プロセス起動部により再起動が行われた後、起動判定部により再び起動が完了しなかったと判定された場合に、再起動指示部による処理前に、記憶部に格納された該当するシステムデータの修復を行うデータ修復ステップとを有するものである。
【発明の効果】
【０００９】
この発明によれば、上記のように構成したので、検査コードなどの設計上予め想定した障害原因のみを検出する手段に依存せず、不特定原因により発生した不揮発の不正データによる障害状態から自動復旧できる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１に係る通信制御装置の一般的な全体構成を示す図である。
【図２】この発明の実施の形態１における記憶部に格納されるデータを示す図である。
【図３】この発明の実施の形態１における処理部のソフトウェア内部構成を示す図である。
【図４】この発明の実施の形態１に係る通信制御装置のソフトウェア動作を示すタイムチャートである。
【図５】この発明の実施の形態２における処理部のソフトウェア内部構成を示す図である。
【図６Ａ】この発明の実施の形態２に係る通信制御装置のソフトウェア動作を示すタイムチャートである。
【図６Ｂ】この発明の実施の形態２に係る通信制御装置のソフトウェア動作を示すタイムチャートである。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係る通信制御装置の一般的な全体構成を示す図である。
通信制御装置は、図１に示すように、処理部１、通信コントローラ２、記憶部３および外部インタフェース部４から構成されている。
【００１２】
処理部１は、外部インタフェース部４を通じてＥｔｈｅｒ  Ｎｅｔ（登録商標）や電話回線、無線ＬＡＮなどと通信データの送受信を行うものである。また、処理部１は、ユーザインタフェースを搭載し、操作者にデータ設定や表示の機能を提供する。この処理部１は、ＣＰＵおよびソフトウェアで構成される。この処理部１のソフトウェア内部構成については後述する。
【００１３】
通信コントローラ２は、処理部１の通信機能を補助するものである。すなわち、受信パケットデータを選別して処理部１へ渡す、予め処理部１から設定されたルールに基づき送信パケットを組立てて外部インタフェース部４へ転送する、また、外部インタフェース部４にある複数のインタフェース間でパケットデータの送受・転送を行うなどの動作を行う。
【００１４】
記憶部３は、通信制御装置が動作するために必要なデータを格納する不揮発メモリである。この記憶部３には、図２に示すように、プロセス（サービスプロセス）を起動するソフトウェア実行モジュール、ソフトウェア実行モジュールで使用されるシステムデータ（運用値）、ユーザデータ、およびシステムデータの初期データが格納される。この記憶部３に格納されたデータが処理部１により読出され、または処理部１により更新データが書込まれることで、装置が動作する。
【００１５】
ここで、システムデータの具体例としては、回線種別や経路情報、ＩＰアドレスや各種フィルタ設定、その他動作ログなどがある。回線種別とは、外部インタフェース部４と接続される回線の種類である。経路情報とは、通信制御装置へ受信されるまでの通信データの経路（ルート）情報、通信制御装置から送信される通信データの経路（ルート）情報である。また、経路上の装置（１つであっても複数であってもよい）の識別情報（例えばＩＰアドレス）であってもよい。ＩＰアドレスとは、自装置のＩＰアドレスである。
また、システムデータは、通信制御装置の運用時に更新される。例えば、回線種別などは起動時または一定時間毎に確認され、前回と異なる場合はシステムデータが更新される。また、ＩＰアドレスのように動的に変化するものは、変化の都度、システムデータが更新される。
【００１６】
また、ソフトウェア実行モジュールは冗長構成であり、記憶部３に２つ格納されている。一方のソフトウェア実行モジュールは起動に使用され、他方のソフトウェア実行モジュールはバックアップとなる。なお以下では便宜上、前者を１面、後者を２面と呼ぶ。
【００１７】
次に、処理部１で動作するソフトウェア内部構成について、図３を参照しながら説明する。
処理部１は、図３に示すように、装置制御部１１およびタイマ制御部１２を有している。
【００１８】
装置制御部１１は、ソフトウェア全体の起動を担うものである。この装置制御部１１は、タイマ設定部１１１、プロセス起動部１１２、起動判定部１１３、再起動指示部１１４およびデータ修復部１１５から構成されている。
【００１９】
タイマ設定部１１１は、通信制御装置の起動開始後、タイマ制御部１２が計数する値（セットアップ完了タイマ）を当該タイマ制御部１２に対して設定するものである。
【００２０】
プロセス起動部１１２は、通信制御装置の起動開始後、ユーザへの機能提供に必要となるプロセスの起動を行うものである。この際、プロセス起動部１１２は、記憶部３からソフトウェア実行モジュールを順次読出して実行し、かつ、記憶部３からシステムデータを適宜読出し、動作に必要となる各種設定を行いながら処理を進めていく。なお、起動を行うプロセスは複数あってもよく、また、１つずつ順に起動してもよいし一斉に起動してもよい。また、各プロセスは、起動が完了した際に装置制御部１１に対して完了通知を行うよう構成されている。
【００２１】
起動判定部１１３は、プロセス起動部１１２によるプロセスの起動開始後、設定時間までに（タイマ制御部１２からのタイムアウト通知を受けるまでに）、当該プロセス（複数のプロセスの起動を行った場合には全てのプロセス）の起動が完了したかを判定するものである。この際、起動判定部１１３は、プロセス起動部１１２が起動を行ったプロセスから起動完了通知を受けたかを判定することで、起動が完了したかを判定する。
【００２２】
再起動指示部１１４は、起動判定部１１３により起動が完了しなかったと判定された場合に、プロセス起動部１１２に、使用するソフトウェア実行モジュールの冗長切替えを行わせて再起動させるものである。
【００２３】
データ修復部１１５は、プロセス起動部１１２により再起動が行われた後、起動判定部１１３により再び起動が完了しなかったと判定された場合に、再起動指示部１１４による処理前に、記憶部３に格納された該当するシステムデータの修復を行うものである。
【００２４】
タイマ制御部１２は、タイマ設定部１１１によりセットアップ完了タイマが設定された後、当該セットアップ完了タイマを計数して設定時間を経過した際に、装置制御部１１に対してタイムアウト通知を行うものである。
【００２５】
次に、上記のように構成された通信制御装置の動作について、図４を参照しながら説明する。なお図４では、通信制御装置の運用時に更新のないソフトウェア実行モジュールではなく、通信制御装置の運用時に更新があるシステムデータに異常がある場合を想定する。
通信制御装置の動作では、図４に示すように、まず、タイマ設定部１１１は、通信制御装置の起動開始後、セットアップ完了タイマをタイマ制御部１２に対して設定する（ステップＳＴ４０１）。そして、タイマ制御部１２は、上記セットアップ完了タイマの計数を開始する（ステップＳＴ４０２）。
【００２６】
また、プロセス起動部１１２は、通信制御装置の起動開始後、ユーザへの機能提供に必要となるプロセスの起動を行う（ステップＳＴ４０３、プロセス起動ステップ）。この際、プロセス起動部１１２は、記憶部３からソフトウェア実行モジュールを順次読出して実行し、かつ、記憶部３からシステムデータを適宜読出し、動作に必要となる各種設定を行いながら処理を進めていく。そして、各プロセスは、起動が完了した際に装置制御部１１に対して完了通知を行う。なお、ここでプロセス起動部１１２が使用するソフトウェア実行モジュールは１面である。
【００２７】
その後、タイマ制御部１２は、セットアップ完了タイマを計数して設定時間を経過した際に、装置制御部１１に対してタイムアウト通知を行う（ステップＳＴ４０４）。
【００２８】
次いで、起動判定部１１３は、プロセス起動部１１２によるプロセスの起動開始後、タイマ制御部１２からのタイムアウト通知を受けるまでに、プロセスから起動完了通知を受けたかを判定する（ステップＳＴ４０５、起動判定ステップ）。
このステップＳＴ４０５において、起動判定部１１３は、プロセス起動部１１２が起動を行ったプロセスから起動完了通知を受けたと判定した場合には、起動が完了したと判定し、通信制御装置は運用状態に移行する。なお図４では、プロセスに何らかの障害が発生し、起動完了通知を装置制御部１１に返せない場合を示している。
【００２９】
一方、ステップＳＴ４０５において、起動判定部１１３が、プロセス起動部１１２が起動を行ったプロセスから起動完了通知を受けていないと判定した場合には、起動が完了しなかったと判定し、再起動指示部１１４は、プロセス起動部１１２に、使用するソフトウェア実行モジュールの冗長切替えを行わせて再起動させる（ステップＳＴ４０６，４０７、再起動指示ステップ）。すなわち、再起動指示部１１４は、記憶部３に格納されたソフトウェア実行モジュールに何らかの異常があると想定し、プロセス起動部１１２が使用するソフトウェア実行モジュールを１面から２面に切替えさせて再起動させる。
【００３０】
この再起動においても上記同様に、タイマ制御部１２がセットアップ完了タイマを計数してタイマ制御部１２が当該セットアップ完了タイマの計数を開始し、プロセス起動部１１２が順次プロセスの起動を行っていく（ステップＳＴ４０８〜４１０、プロセス起動ステップ）。
その後、タイマ制御部１２は、セットアップ完了タイマを計数して設定時間を経過した際に、装置制御部１１に対してタイムアウト通知を行う（ステップＳＴ４１１）。
【００３１】
次いで、起動判定部１１３は、プロセス起動部１１２によるプロセスの起動開始後、タイマ制御部１２からのタイムアウト通知を受けるまでに、プロセスから起動完了通知を受けたかを判定する（ステップＳＴ４１２、起動判定ステップ）。
このステップＳＴ４１２において、起動判定部１１３は、プロセス起動部１１２が起動を行ったプロセスから起動完了通知を受けたと判定した場合には、起動が完了したと判定し、通信制御装置は運用状態に移行する。なお図４では、プロセスに何らかの障害が発生し、起動完了通知を装置制御部１１に返せない場合を示している。
【００３２】
一方、ステップＳＴ４１２において、起動判定部１１３が、再び、プロセス起動部１１２が起動を行ったプロセスから起動完了通知を受けていないと判定した場合には、起動が完了しなかったと判定し、データ修復部１１５は、記憶部３に格納された該当するシステムデータの修復を行う（ステップＳＴ４１３、データ修復ステップ）。すなわち、データ修復部１１５は、記憶部３に格納されたシステムデータに何らかの異常があると想定し、当該システムデータの修復を行う。
【００３３】
なお図４では、システムデータの修復手段として、データ修復部１１５が、記憶部３に格納された初期データを用いて当該システムデータを初期化する例を示している。しかしながら、これに限るものではなく、他に、ソフトウェア実行モジュールと同様の方法でシステムデータについてもバックアップを保持しておき、または過去に更新された世代データを保持しておき、これに差替える方法でもよい。また、上記初期化または差替えの後、通信機能が正常動作した際に、外部装置から必要なデータを取得する方法を組合わせてもよい。
【００３４】
次いで、データ修復部１１５によりシステムデータが修復された後、再起動指示部１１４は、プロセス起動部１１２に、使用するソフトウェア実行モジュールの冗長切替え（１面から２面への切替え）を行わせて再起動させる（ステップＳＴ４１４，４１５、再起動指示ステップ）。
【００３５】
以上のように、この実施の形態１によれば、装置動作そのものの異常を検出し、その異常要因の可能性として不揮発保持データの不正がある場合にデータ復旧を実行するように構成したので、検査コードなどの設計上予め想定した障害原因のみを検出する手段に依存せず、不特定原因により発生した不揮発の不正データによる障害状態から自動復旧できる。そして、プロセスの異常により再起動を試みる際に、不揮発のシステムデータを起動可能な内容に修復することによって、データに依存した異常においても再起動を延々と繰り返す事象に陥ることがなく、通信制御装置の起動に成功する可能性が高まる。
その結果、ブラックボックスソフトウェアによるセキュリュティホールや上位アプリケーションの不具合に起因する不正データの発生により引き起こされた障害状態を解消し、通信制御装置を正常動作状態に復旧させることができる。これにより、障害発生時、エンドユーザは、迅速に通信サービス事業者のサポートおよびサービスを受けられる効果がある。また、通信サービス事業者は、通信制御装置の交換などの時間とコストがかかる手段ではなく、遠隔からの保守手段によるユーザサポートの実施、または障害を復旧させサービスを再開できる効果がある。
【００３６】
実施の形態２．
実施の形態１では、通信制御装置の起動の際にプロセスが起動完了しない事象におけるデータ修復の例を示した。それに対し、起動の際のみでなく、プロセスの運用中においても、例えば、システムデータを使用する際の値域判定による異常検出、プロセスの無応答検出、ウォッチドグタイムアウト、設計想定外の条件分岐成立、オペレーティングシステムによるプロセスの停止などの、公知の想定された事象と組合わせることによって、障害復旧の可能性を更に高めることができる。以下、運用中のプロセスに障害が生じた場合に障害を復旧する構成について示す。
図５はこの発明の実施の形態１における処理部１のソフトウェア内部構成を示す図である。図５に示す実施の形態２における処理部１は、図３に示す実施の形態１における処理部１に、障害検出部１１６、障害情報記憶部１１７および障害情報判定部１１８を追加したものである。その他の構成は同様であり、同一の符号を付して異なる部分についてのみ説明を行う。
【００３７】
障害検出部１１６は、運用中のプロセスに発生した障害を検出するものである。ここで、障害検出部１１６による障害検出手段としては、プロセスの正常性を確認するための問合せを行うヘルスチェック、プロセスに委託した処理の応答有無の監視などがある。なお、ヘルスチェックを行う場合には、タイマ設定部１１１は、障害検出部１１６がヘルスチェックを行う際に、タイマ制御部１２が計数する値（ヘルスチェック完了タイマ）をタイマ制御部１２に対して設定する。また、障害検出部１１６による障害検出対象のプロセスは複数であってもよい。
【００３８】
障害情報記憶部１１７は、障害検出部１１６により障害が検出された場合に、当該障害を示す情報を格納する不揮発メモリである。
障害情報判定部１１８は、障害検出部１１６により障害が検出された場合に、障害情報記憶部１１７に格納された情報に基づいて、同一の障害が発生したかを判定するものである。
【００３９】
なお、再起動指示部１１４は、障害検出部１１６により障害が検出された場合に、プロセス起動部１１２に該当するプロセスを再起動させる。
また、データ修復部１１５は、障害情報判定部１１８により同一の障害が発生したと判定された場合に、再起動指示部１１４による処理前に、記憶部３に格納されたシステムデータの修復を行う。
【００４０】
次に、上記のように構成された通信制御装置の動作について、図６を参照しながら説明する。なお図６では、障害検出部１１６は、障害検出手段としてプロセスに対してヘルスチェックを定期的に行い、プロセスの無応答を検出する場合を想定する。
通信制御装置の動作では、図４に示すように、通信制御装置が運用中に、まず、タイマ設定部１１１は、ヘルスチェック完了タイマをタイマ制御部１２に対して設定する（ステップＳＴ６０１）。そして、タイマ制御部１２は、上記ヘルスチェック完了タイマの計数を開始する（ステップＳＴ６０２）。
【００４１】
また、障害検出部１１６は、プロセスに対してヘルスチェックを行い、当該プロセスの正常性を確認するための問合せを行う（ステップＳＴ６０３、障害検出ステップ）。
【００４２】
その後、タイマ制御部１２は、ヘルスチェックを計数して設定時間を経過した際に、装置制御部１１に対してタイムアウト通知を行う（ステップＳＴ６０４）。
【００４３】
次いで、障害検出部１１６は、ヘルスチェック後、タイマ制御部１２からのタイムアウト通知を受けるまでに、プロセスから応答があったかを判定する（ステップＳＴ６０５、障害検出ステップ）。
このステップＳＴ６０５において、障害検出部１１６は、ヘルスチェックを行ったプロセスから応答があったと判定した場合には、障害は発生していないと判定し、シーケンスはステップＳＴ６０１に戻る。なお図６では、プロセスからの応答がなかった場合を示している。
【００４４】
一方、ステップＳＴ６０５において、障害検出部１１６が、ヘルスチェックを行ったプロセスから応答がないと判定した場合には、障害が発生したと判定し、障害情報記憶部１１７は、当該障害を示す情報を格納する（ステップＳＴ６０６、障害情報記憶ステップ）。
その後、再起動指示部１１４は、プロセス起動部１１２に該当するプロセスを再起動させる（ステップＳＴ６０７、再起動指示ステップ）。この再起動は実施の形態１と同様の動作であり、その説明を省略する（ステップＳＴ６０８〜６１４）。
【００４５】
その後、プロセスの起動が完了した場合には運用を開始し、上記と同様にタイマ制御部１２がヘルスチェック完了タイマを計数してタイマ制御部１２が当該ヘルスチェック完了タイマの計数を開始し、障害検出部１１６はプロセスに対してヘルスチェックを行う（ステップＳＴ６１５〜６１７、障害検出ステップ）。
その後、タイマ制御部１２は、ヘルスチェック完了タイマを計数して設定時間を経過した際に、装置制御部１１に対してタイムアウト通知を行う（ステップＳＴ６１８）。
【００４６】
次いで、障害検出部１１６は、ヘルスチェック後、タイマ制御部１２からのタイムアウト通知を受けるまでに、プロセスから応答があったかを判定する（ステップＳＴ６１９、障害検出ステップ）。
このステップＳＴ６１９において、障害検出部１１６は、ヘルスチェックを行ったプロセスから応答があったと判定した場合には、障害は発生していないと判定し、シーケンスはステップＳＴ６０１に戻る。なお図６では、プロセスからの応答がなかった場合を示している。
【００４７】
一方、ステップＳＴ６１９において、障害検出部１１６が、ヘルスチェックを行ったプロセスから応答がないと判定した場合には、障害が発生したと判定し、障害情報記憶部１１７は、当該障害を示す情報を格納する（ステップＳＴ６２０、障害情報記憶ステップ）。
次いで、障害情報判定部１１８は、障害情報記憶部１１７に格納された情報に基づいて、同一の障害が発生したかを判定する（ステップＳＴ６２１、障害情報判定ステップ）。
【００４８】
このステップＳＴ６２１において、障害情報判定部１１８が、同一の障害が発生したと判定した場合には、データ修復部１１５は、記憶部３に格納されたシステムデータの修復を行う（ステップＳＴ６２２、データ修復ステップ）。すなわち、データ修復部１１５は、同一要因の障害が繰り返し発生したことを確認し、システムデータに起因する可能性であると想定し、当該システムデータの修復（初期化など）を行う。
その後、再起動指示部１１４は、プロセス起動部１１２に該当するプロセスを再起動させる（ステップＳＴ６２３、再起動指示ステップ）。
【００４９】
以上のように、この実施の形態２によれば、実施の形態１の効果に加え、運用中の障害検出を行うように構成したので、装置の起動に成功した後に発生する特定サービスの繰り返し障害に対しても、障害状態を解消できる可能性が高まる。
【００５０】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００５１】
１  処理部、２  通信コントローラ、３  記憶部、４  外部インタフェース部、１１  装置制御部、１２  タイマ制御部、１１１  タイマ設定部、１１２  プロセス起動部、１１３  起動判定部、１１４  再起動指示部、１１５  データ修復部、１１６  障害検出部、１１７  障害情報記憶部、１１８  障害情報判定部。
【図１】
2015138269.tif 000003
【図２】
2015138269.tif 000004
【図３】
2015138269.tif 000005
【図４】
2015138269.tif 000006
【図５】
2015138269.tif 000007
【図６Ａ】
2015138269.tif 000008
【図６Ｂ】
2015138269.tif 000009