(58)【調査した分野】(Int.Cl.,DB名)
請求項1または請求項2に記載の周辺装置から前記障害の発生を通知された場合、前記周辺装置に対して前記障害情報を要求し、前記障害情報の取得後に前記周辺装置に対して初期化を指示する第1の障害情報取得手段と、
前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に対して前記障害情報を要求して取得する第2の障害情報取得手段と、
を備えたホスト装置。
前記障害情報処理手段は、前記記憶手段に前記障害情報を保存する際に、前記障害情報が未取得であることを表すフラグを併せて保存することを特徴とする請求項1または請求項2に記載の周辺装置。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0021】
(第1の実施の形態)
本発明の第1の実施の形態としての情報処理システム1の機能ブロック構成を
図1に示す。
図1において、情報処理システム1は、周辺装置100と、ホスト装置200とを備える。周辺装置100は、記憶部101と、障害検出部102と、障害情報処理部103と、初期化部104とを有する。また、ホスト装置200は、第1の障害情報取得部201と、第2の障害情報取得部202とを有する。また、周辺装置100およびホスト装置200は、通信可能に接続される。
【0022】
ここで、情報処理システム1は、
図2に示すようなハードウェア要素によって構成可能である。
図2において、周辺装置100は、プロセッサ1001と、タイマおよびメモリを含むマイクロコントローラ1002と、不揮発性メモリ1003と、周辺装置接続インタフェース1004とを含む。プロセッサ1001は、周辺装置100の運用時の処理を主に行う。例えば、プロセッサ1001は、GPGPU(general purpose graphic processing unit)であってもよい。マイクロコントローラ1002は、周辺装置100における障害発生時の処理を主に行う。周辺装置接続インタフェース1004は、バス90を介してホスト装置200に接続するインタフェースである。例えば、バス90は、PCI(Peripheral Component Interconnect)バスであってもよい。このようなハードウェア構成において、周辺装置100の記憶部101は、不揮発性メモリ1003によって構成される。また、周辺装置100のその他の各機能ブロックは、プロセッサ1001およびマイクロコントローラ1002によって構成される。
【0023】
また、
図2において、ホスト装置200は、CPU(Central Processing Unit)2001、メモリ2002、および、周辺装置接続インタフェース2004を含む。メモリ2002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。周辺装置接続インタフェース2004は、バス90を介して周辺装置100に接続するインタフェースである。例えば、前述のように、周辺装置接続インタフェース2004は、PCIバスに接続するインタフェースであってもよい。このようなハードウェア構成において、ホスト装置200の各機能ブロックは、メモリ2002に格納されるコンピュータ・プログラムを読み込んで実行するCPU2001によって構成される。
【0024】
なお、情報処理システム1を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【0025】
次に、周辺装置100の機能ブロックの詳細について説明する。
【0026】
記憶部101は、情報を記憶する。詳細には、記憶部101は、後述の障害情報処理部103の制御の基に障害情報を記憶する。
【0027】
障害検出部102は、自装置に関連する障害を検出すると、障害の発生をホスト装置200に通知する。通知は、例えば、バス90を介した割り込み信号の送信によって行われる。
【0028】
障害情報処理部103は、障害の発生の通知後に、ホスト装置200から障害情報を要求された場合、障害情報をホスト装置200に送信する。ここで、障害情報は、周辺装置100において、障害の発生時に収集可能な障害に関する情報であるものとする。
【0029】
また、障害情報処理部103は、障害の発生を通知後に、ホスト装置200から障害情報の要求がない場合、記憶部101に障害情報を保存する。例えば、バス90に障害が発生している場合、周辺装置100からホスト装置200への障害の発生の通知は不達となり、ホスト装置200から障害情報の要求がないことになる。
【0030】
例えば、障害情報処理部103は、障害の発生の通知後にタイマを起動して所定時間をカウントしてもよい。この場合、障害情報処理部103は、タイマのカウントが満了するまでにホスト装置200からの要求を受信した場合は、障害情報をホスト装置200に送信する処理を行えばよい。また、この場合、障害情報処理部103は、タイマのカウントが満了するまでにホスト装置200からの要求を受信しなかった場合は、障害情報を記憶部101に保存する処理を行えばよい。
【0031】
また、障害情報処理部103は、記憶部101に保存した障害情報をホスト装置200から要求された場合、記憶部101から障害情報を読み込んでホスト装置200に送信する。
【0032】
初期化部104は、ホスト装置200に障害情報を送信後に、ホスト装置200から初期化を指示された場合、指示に応じて自装置を初期化する。また、初期化部104は、障害情報が記憶部101に保存された場合、保存後に自装置を初期化する。
【0033】
次に、ホスト装置200の機能ブロックの詳細について説明する。
【0034】
第1の障害情報取得部201は、周辺装置100から障害の発生を通知された場合、周辺装置100に対して障害情報を要求する。また、第1の障害情報取得部201は、障害情報の取得後に、周辺装置100に対して初期化を指示する。初期化の指示は、例えば、バス90を介したリセット信号の送信により行われる。
【0035】
第2の障害情報取得部202は、周辺装置100が初期化に成功した場合、未だ障害情報を取得していなければ、周辺装置100に対して障害情報を要求して取得する。具体的には、第2の障害情報取得部202は、周辺装置100が初期化されたことを検出すると、障害情報を取得済みであるか否かを判断する。そして、第2の障害情報取得部202は、障害情報を取得済みでないと判断した場合に、周辺装置100に対して障害情報を要求してもよい。
【0036】
以上のように構成された情報処理システム1の動作について、図面を参照して説明する。
【0037】
まず、周辺装置100に関連する障害が発生した際の情報処理システム1の動作を
図3に示す。なお、
図3において、左図はホスト装置200の動作を示し、右図は周辺装置100の動作を示す。
【0038】
まず、周辺装置100の障害検出部102は、自装置に関連する障害を検出した場合(ステップA1でYes)、障害の発生をホスト装置200に通知する(ステップA2)。
【0039】
次に、ホスト装置200の第1の障害情報取得部201は、障害の発生の通知を受信すると、周辺装置100に対して障害情報を要求する(ステップB1)。
【0040】
次に、周辺装置100の障害情報処理部103は、障害情報の要求を受信すると(ステップA3でYes)、障害情報をホスト装置200に送信する(ステップA4)。
【0041】
そして、ホスト装置200の第1の障害情報取得部201は、障害情報を取得すると(ステップB2)、周辺装置100に対して初期化を指示する(ステップB3)。
【0042】
次に、周辺装置100の初期化部104は、初期化の指示に応じて、自装置を初期化する(ステップA5)。
【0043】
また、周辺装置100から障害の発生をホスト装置200に通知後に、ホスト装置200から障害情報の要求がない場合(ステップA3でNo)について説明する。これは、例えば、前述のように、バス90における障害の発生等により、ステップA2での障害の発生の通知が、ホスト装置200に到達しない等の要因による。
【0044】
この場合、周辺装置100の障害情報処理部103は、発生した障害に関する障害情報を、記憶部101に記憶する(ステップA6)。
【0045】
そして、初期化部104は、自装置を初期化する(ステップA7)。
【0046】
以上で、情報処理システム1は、周辺装置100に関連する障害が発生した際の動作を終了する。
【0047】
次に、周辺装置100が初期化された際の情報処理システム1の動作を
図4に示す。なお、
図4において、左図はホスト装置200の動作を示し、右図は周辺装置100の動作を示す。
【0048】
まず、ホスト装置200の第2の障害情報取得部202は、周辺装置100が初期化されたことを検出すると(ステップB11でYes)、障害情報を既に取得しているか否かを判断する(ステップB12)。
【0049】
ここで、障害情報を既に取得している場合(ステップB12でYes)、情報処理システム1は、動作を終了する。
【0050】
一方、障害情報を未だ取得していない場合(ステップB12でNo)、第2の障害情報取得部202は、周辺装置100に対して障害情報を要求する(ステップB13)。
【0051】
次に、周辺装置100の障害情報処理部103は、障害情報の要求を受信すると、障害情報を記憶部101から読み込んでホスト装置200に送信する(ステップA11)。
【0052】
次に、ホスト装置200の第2の障害情報取得部202は、障害情報を取得する(ステップB14)。
【0053】
以上で、情報処理システム1は、周辺装置100が初期化された際の動作を終了する。
【0054】
次に、情報処理システム1において、運用中に周辺装置100に関連する障害が発生した際の処理シーケンスについて、図面を参照して説明する。
【0055】
まず、周辺装置100に関連する障害が発生した際に、バス90が正常である場合の処理シーケンスを
図5に示す。
【0056】
まず、周辺装置100に関連する障害が発生すると、周辺装置100の障害検出部102は、その障害を検出する(ステップA1)。
【0057】
次に、障害検出部102は、ホスト装置200に対して、障害の発生を通知する(ステップA2)。
【0058】
次に、ホスト装置200の第1の障害情報取得部201は、障害の発生の通知を受信すると、周辺装置100に対して、バス90を介して、障害情報を要求する(ステップB1)。
【0059】
次に、周辺装置100の障害情報処理部103は、障害情報の要求を受信すると(ステップA3でYes)、ホスト装置200に対して、障害情報を送信する(ステップA4)。
【0060】
次に、ホスト装置200の第1の障害情報取得部201は、障害情報を取得後(ステップB2)、周辺装置100に対して、バス90を介して初期化を指示する(ステップB3)。
【0061】
そして、周辺装置100の初期化部104は、指示に応じて初期化を実行する(ステップA5)。
【0062】
これにより、ホスト装置200は、障害情報を取得した上で、周辺装置100を自動で復旧させることができる。
【0063】
次に、周辺装置100に関連する障害が発生した際に、バス90が正常でない場合の処理シーケンスを
図6に示す。
【0064】
まず、周辺装置100に関連する障害が発生すると、周辺装置100の障害検出部102は、その障害を検出する(ステップA1)。
【0065】
次に、障害検出部102は、ホスト装置200に対して、障害の発生を通知する(ステップA2)。しかしながら、バス90が正常でないため、通知は不達となる。
【0066】
次に、障害情報処理部103は、障害の発生の通知後、所定時間をカウントするようタイマを起動する。そして、障害情報処理部103は、タイマが満了するまでに、ホスト装置200から障害情報の要求がないと判断する(ステップA3でNo)。
【0067】
次に、障害情報処理部103は、障害情報を記憶部101に保存する(ステップA6)。
【0068】
次に、初期化部104は、自装置を初期化する(ステップA7)。
【0069】
次に、ホスト装置200の第2の障害情報取得部202は、周辺装置100が初期化され(ステップB11でYes)、障害情報を未だ取得していない(ステップB12でNo)と判断する。
【0070】
そこで、第2の障害情報取得部202は、周辺装置100に対して、バス90を介して、障害情報を要求する(ステップB13)。
【0071】
次に、周辺装置100の障害情報処理部103は、障害情報の要求を受信すると、障害情報を記憶部101から読み込んでホスト装置200に送信する(ステップA11)。
【0072】
次に、ホスト装置200の第2の障害情報取得部202は、障害情報を取得する(ステップB14)。
【0073】
これにより、周辺装置100は自動で復旧した上で、ホスト装置200に対して障害情報を提供することができる。
【0074】
次に、本発明の第1の実施の形態の効果について述べる。
【0075】
本発明の第1の実施の形態としての情報処理システムは、周辺装置に関連する障害が発生した場合に、障害に関する情報の取得をより確実にしながら、障害の復旧までに要する時間をより短縮することができる。
【0076】
その理由について説明する。本実施の形態では、周辺装置が、記憶部と、障害検出部と、障害情報処理部と、初期化部とを有する。また、ホスト装置が、第1の障害情報取得部と、第2の障害情報取得部とを有する。そして、周辺装置の障害検出部が、自装置に関連する障害を検出すると、障害の発生をホスト装置に通知する。通知に応じて、ホスト装置の第1の障害情報取得部が、周辺装置に対して障害情報を要求する。要求に応じて、周辺装置の障害情報処理部が、障害情報をホスト装置に送信する。そして、ホスト装置の第1の障害情報取得部が、障害情報の取得後に、周辺装置に初期化を指示する。指示に応じて、周辺装置の初期化部が、自装置を初期化するからである。また、周辺装置の障害情報処理部が、障害の発生をホスト装置に通知後、ホスト装置から障害情報の要求がない場合、記憶部に障害情報を保存し、保存後に自装置を初期化する。そして、ホスト装置の第2の障害情報取得部が、周辺装置が初期化に成功した後、障害情報を未だ取得していなければ、周辺装置に障害情報を要求する。そして、要求に応じて、周辺装置の障害情報処理部が、障害情報を記憶部から読み込んでホスト装置に送信するからである。
【0077】
このように、本実施の形態は、情報処理システムの運用中に、周辺装置に関連する障害が発生した際に、周辺装置との通信が可能であるか否かに関わらず、周辺装置を自動で復旧させながらも、障害情報を確実に取得する。
【0078】
また、本実施の形態は、ホスト装置と、周辺装置とによって構成される。このため、本実施の形態は、特許文献2に記載された関連技術のように、ホスト装置と周辺装置との間に特別なハードウェア要素を必要とせずに、周辺装置の保守性を高めるという効果も奏している。
【0079】
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【0080】
まず、本発明の第2の実施の形態における情報処理システム2の構成を
図7に示す。
図7において、情報処理システム2は、周辺装置120と、ホスト装置220と、保守装置320とを有する。ここで、周辺装置120およびホスト装置220は、運用時に通信可能に接続されている。周辺装置120および保守装置320は、運用時には接続されていなくてもよく、周辺装置120に関連する障害の発生に関連して、必要に応じて接続される。
【0081】
周辺装置120は、本発明の第1の実施の形態における周辺装置100に対して、障害情報処理部103に替えて障害情報処理部123を有し、さらに保守装置接続部124を有する点が異なる。ホスト装置220は、本発明の第1の実施の形態におけるホスト装置200に対して、第2の障害情報取得部202に替えて第2の障害情報取得部222を有する点が異なる。保守装置320は、第3の障害情報取得部321を有する。
【0082】
ここで、情報処理システム2は、
図8に示すようなハードウェア要素によって構成可能である。
図8において、周辺装置120は、
図2を参照して説明した周辺装置100と同一のハードウェア要素に加えて、周辺装置接続インタフェース1005を含んで構成される。周辺装置接続インタフェース1005は、バス91を介して保守装置320に接続するインタフェースである。また、周辺装置接続インタフェース1005は、バス92を介して記憶部101に接続される。このようなハードウェア構成において、保守装置接続部124は、バス92および周辺装置接続インタフェース1005によって構成される。なお、周辺装置接続インタフェース1005は、周辺装置接続インタフェース1004とは異なる規格の接続インタフェースであってよい。
【0083】
また、
図8において、ホスト装置220は、
図2を参照して説明したホスト装置200と同一のハードウェア要素によって構成される。
【0084】
また、
図8において、保守装置320は、CPU3001、メモリ3002、および、周辺装置接続インタフェース3005を含む。メモリ3002は、RAM、ROM、補助記憶装置等によって構成される。周辺装置接続インタフェース3005は、バス91を介して周辺装置120の周辺装置接続インタフェース1005に接続するインタフェースである。このようなハードウェア構成において、保守装置320の機能ブロックは、メモリ3002に格納されるコンピュータ・プログラムを読み込んで実行するCPU3001によって構成される。
【0085】
なお、情報処理システム2を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【0086】
次に、周辺装置120の機能ブロックのうち、本発明の第1の実施の形態と異なる機能ブロックについて説明する。
【0087】
障害情報処理部123は、本発明の第1の実施の形態における障害情報処理部103と同様に構成されることに加えて、次のように構成される。すなわち、障害情報処理部123は、障害の発生を通知後にホスト装置220から障害情報の要求がない場合、記憶部101に障害情報を保存する際に、障害情報が未取得であることを表すフラグを併せて保存する。フラグは、障害情報がホスト装置220または保守装置320によって未取得であるか否かを表す情報である。以降、障害情報が未取得であることを表す場合に、フラグがオンであるとも記載する。また、障害情報が未取得であることを表すフラグを保存することを、フラグをオンにするとも記載する。また、障害情報が取得済みであることを表す場合に、フラグがオフであるとも記載する。また、障害情報が取得済みであることを表すフラグを保存することを、フラグをオフにするとも記載する。
【0088】
また、障害情報処理部123は、ホスト装置220の要求に応じて、記憶部101に記憶されたフラグを送信する。また、障害情報処理部123は、ホスト装置220の指示に応じて、記憶部101に記憶されたフラグをオフにする。
【0089】
また、障害情報処理部123は、記憶部101に保存した障害情報をホスト装置220から要求された場合、記憶部101から障害情報を読み込んでホスト装置220に送信する。
【0090】
保守装置接続部124は、記憶部101を保守装置320に接続する。
【0091】
次に、ホスト装置220の機能ブロックのうち、本発明の第2の実施の形態と異なる機能ブロックについて説明する。
【0092】
第2の障害情報取得部222は、本発明の第1の実施の形態における第2の障害情報取得部202と同様に構成されることに加えて、次のように構成される。すなわち、第2の障害情報取得部222は、周辺装置120が初期化されたことを検出すると、周辺装置120の記憶部101のフラグに基づいて、障害情報が未取得であるか否かを判断する。そして、第2の障害情報取得部222は、フラグがオンの場合に、周辺装置120に対して、障害情報を要求する。また、第2の障害情報取得部222は、障害情報を取得後、記憶部101のフラグをオフにするよう周辺装置120に対して指示する。
【0093】
次に、保守装置320の機能ブロックについて説明する。
【0094】
第3の障害情報取得部321は、保守装置接続部124を介して周辺装置120の記憶部101に接続されると、記憶部101から障害情報を取得する。
【0095】
ここで、典型的には、保守装置320は、周辺装置120が初期化に失敗した場合に、保守装置接続部124を介して周辺装置120の記憶部101に接続される。そして、第3の障害情報取得部321は、周辺装置120に接続されたことを検出すると、保守装置接続部124を介して記憶部101からフラグを読み出し、読み出したフラグに基づいて、障害情報が未取得であるか否かを判断する。そして、第3の障害情報取得部321は、フラグがオンの場合に、周辺装置120の記憶部101から障害情報を読み出して取得する。また、第3の障害情報取得部321は、障害情報を取得後、保守装置接続部124を介して記憶部101にアクセスし、フラグをオフにする。
【0096】
以上のように構成された情報処理システム2の動作について、図面を参照して説明する。
【0097】
まず、周辺装置120に関連する障害が発生した際の情報処理システム2の動作を
図9に示す。
図9において、情報処理システム2の動作は、
図3を参照して説明した情報処理システム1の動作と略同様である。ただし、周辺装置120が、障害の発生をホスト装置220に通知後に、ホスト装置220から障害情報の要求がない場合に、ステップA6の代わりにステップA26を実行する点が異なる。
【0098】
すなわち、この場合、障害情報処理部123は、記憶部101に障害情報を保存することに加えて、フラグをオンにする(ステップA26)。
【0099】
その後、初期化部104は、本発明の第1の実施の形態と同様に、自装置を初期化する(ステップA7)。
【0100】
以上で、周辺装置120に関連する障害が発生した際の情報処理システム2の動作の説明を終了する。
【0101】
次に、周辺装置120が初期化に成功した後の情報処理システム2の動作を
図10に示す。ここでは、周辺装置120の初期化が成功し、ホスト装置220との正常な通信が可能な状態を想定する。
【0102】
まず、ホスト装置220の第2の障害情報取得部222は、周辺装置120が初期化されたことを検出すると(ステップB11でYes)、周辺装置120に対して、フラグを要求する(ステップB21)。
【0103】
次に、周辺装置120の障害情報処理部123は、要求に応じて、記憶部101からフラグを読み込んで、ホスト装置220に対して送信する(ステップA21)。
【0104】
次に、ホスト装置220の第2の障害情報取得部222は、フラグがオンであるか否かを判断する(ステップB22)。
【0105】
ここで、フラグがオンでない場合(ステップB22でNo)、情報処理システム2は、動作を終了する。
【0106】
一方、フラグがオンである場合(ステップB22でYes)について説明する。この場合、ホスト装置220および周辺装置120は、本発明の第1の実施の形態と同様にステップB13、A11、B14を実行する。これにより、ホスト装置220は、障害情報を周辺装置120から取得する。
【0107】
次に、ホスト装置220の第2の障害情報取得部222は、周辺装置120に対して、フラグをオフにするよう指示する(ステップB25)。
【0108】
次に、周辺装置120の障害情報処理部123は、記憶部101に記憶されたフラグをオフにする(ステップA22)。
【0109】
以上で、情報処理システム2は、周辺装置120が初期化に成功した後の動作を終了する。
【0110】
次に、周辺装置120が初期化に失敗した後の情報処理システム2の動作を
図11に示す。ここでは、周辺装置120が、保守装置320に接続された状態を想定する。なお、周辺装置120が保守装置320に接続されるのは、典型的には、周辺装置120の初期化が失敗してホスト装置220との通信が正常に行われなかった場合である。このような場合、例えば、周辺装置120は、ホスト装置220から取り外されて保守装置320に接続される。
【0111】
図11では、まず、保守装置320の第3の障害情報取得部321は、周辺装置120に接続されたことを検出すると(ステップC21でYes)、保守装置接続部124を介して記憶部101からフラグを取得する(ステップC22)。
【0112】
次に、第3の障害情報取得部321は、取得したフラグがオンであるか否かを判断する(ステップC23)。
【0113】
ここで、フラグがオンでない場合(ステップC23でNo)、情報処理システム2は、動作を終了する。
【0114】
一方、フラグがオンである場合(ステップC23でYes)について説明する。この場合、第3の障害情報取得部321は、保守装置接続部124を介して記憶部101から障害情報を取得する(ステップC24)。
【0115】
次に、第3の障害情報取得部321は、保守装置接続部124を介して記憶部101にアクセスし、フラグをオフにする(ステップC25)。
【0116】
以上で、情報処理システム2は、周辺装置120が初期化に失敗した後の動作を終了する。
【0117】
次に、情報処理システム2において、運用中に周辺装置120に関連する障害が発生した際の処理シーケンスについて、図面を参照して説明する。
【0118】
なお、周辺装置120に関連する障害が発生した際に、バス90が正常である場合の処理シーケンスは、
図5を参照して説明した本発明の第1の実施の形態における情報処理システム1の処理シーケンスと同様であるため、説明を省略する。
【0119】
ここでは、まず、少なくとも周辺装置120をホスト装置220に接続するバス90に関連する障害が発生した後、周辺装置120の自動での復旧に成功する場合の処理シーケンスを
図12に示す。
【0120】
図12において、情報処理システム2の処理シーケンスは、ステップA1〜A3まで、
図6を参照して説明した本発明の第1の実施の形態としての情報処理システム1と同様である。これにより、周辺装置120は、ホスト装置220に対して障害の発生を通知後、タイマを起動し、タイマが満了するまでに、ホスト装置220から周辺装置120に障害情報の要求がないと判断する。
【0121】
そして、周辺装置120の障害情報処理部123は、記憶部101に障害情報を保存するとともに、フラグをオンにする(ステップA26)。
【0122】
次に、初期化部104は、自装置を初期化する(ステップA7)。
【0123】
次に、ホスト装置220の第2の障害情報取得部222は、周辺装置120が初期化されると(ステップB11でYes)、周辺装置120のフラグを要求する(ステップB21)。周辺装置120からは、オンを表すフラグが送信される(ステップA21、ステップB22でYes)。
【0124】
以降、情報処理システム2の処理シーケンスは、ステップB13、A11、B14まで、
図6を参照して説明した本発明の第1の実施の形態としての情報処理システム1と同様である。これにより、ホスト装置220は、障害情報を取得する。
【0125】
そして、第2の障害情報取得部222は、周辺装置120に対して、フラグをオフにするよう指示する(ステップB25)。
【0126】
次に、周辺装置120の障害情報処理部123は、フラグをオフにする(ステップA22)。
【0127】
これにより、周辺装置120は自動で復旧した上で、ホスト装置220に対して障害情報を提供することができる。
【0128】
次に、情報処理システム2において、少なくとも周辺装置120をホスト装置220に接続するバス90に関連する障害が発生した後、周辺装置120の自動での復旧に失敗する場合の処理シーケンスを
図13に示す。
【0129】
図13において、情報処理システム2の処理シーケンスは、ステップA1〜A3、A26、A7まで、
図12を参照して説明した自動での復旧に成功する場合の処理シーケンスと同様である。これにより、周辺装置120は、障害情報およびフラグ(オン)を記憶部101に保存後、初期化を試みる。
【0130】
ここで、初期化に失敗したことを想定する。そして、周辺装置120が、保守装置320に接続されたとする。
【0131】
そこで、保守装置320の第3の障害情報取得部321は、周辺装置120が接続されると(ステップC21でYes)、保守装置接続部124を介して記憶部101からフラグを取得する(ステップC22)。このとき、取得したフラグはオンである(ステップC23でYes)。
【0132】
そこで、第3の障害情報取得部321は、保守装置接続部124を介して記憶部101から障害情報を取得する(ステップC24)。
【0133】
そして、第3の障害情報取得部321は、保守装置接続部124を介して記憶部101にアクセスし、フラグをオフにする(ステップC25)。
【0134】
その後、典型的には、周辺装置120は、修理されることが期待される。
【0135】
これにより、周辺装置120は、バス90が正常でなく、自動での復旧に失敗した場合も、保守装置320に対して障害情報を提供することができる。
【0136】
次に、本発明の第2の実施の形態の効果について述べる。
【0137】
本発明の第2の実施の形態としての情報処理システムは、周辺装置に関連する障害が発生した場合に、障害の復旧までに要する時間をより短縮するための自動復旧に成功する場合も失敗する場合も、障害に関する情報をより確実に取得することができる。
【0138】
その理由について説明する。本実施の形態では、本発明の第1の実施の形態と同様の構成に加えて、周辺装置が、記憶部を保守装置に接続する保守装置接続部を有するからである。そして、保守装置が、初期化に失敗した周辺装置の記憶部に保守装置接続部を介して接続されると、第3の障害情報取得部が、記憶部から障害情報を取得するからである。
【0139】
また、さらなる理由について説明する。本実施の形態では、周辺装置の障害情報処理部は、記憶部に障害情報を保存する際に、障害情報が未取得であることを表すフラグを併せて保存する。そして、ホスト装置の第2の障害情報取得部、または、保守装置の第3の障害情報取得部が、周辺装置から障害情報を取得する処理を、フラグに基づき障害情報が未取得であると判断した場合に実行するからである。
【0140】
このように、本実施の形態は、情報処理システムの運用中に、周辺装置に関連する障害が発生した際に、周辺装置の自動での復旧が成功するか失敗するかに関わらず、ホスト装置または保守装置によって、障害情報を確実に取得することができる。
【0141】
(第3の実施の形態)
次に、本発明の実施の形態の最小構成の周辺装置10について、図面を参照して説明する。まず、周辺装置10の機能ブロック構成を
図14に示す。
図14において、周辺装置10は、記憶部11と、障害検出部12と、障害情報処理部13と、初期化部14とを有する。周辺装置10は、ホスト装置に接続されている。
【0143】
障害検出部12は、自装置に関連する障害を検出すると、障害の発生をホスト装置に通知する。
【0144】
障害情報処理部13は、障害の発生の通知後に、ホスト装置から障害情報を要求された場合、障害情報をホスト装置に送信する。
【0145】
また、障害情報処理部13は、障害の発生を通知後に、ホスト装置から障害情報の要求がない場合、記憶部11に障害情報を保存する。
【0146】
また、障害情報処理部13は、記憶部11に保存した障害情報をホスト装置から要求された場合、記憶部11から障害情報を読み込んでホスト装置に送信する。
【0147】
初期化部14は、ホスト装置に障害情報を送信後に、ホスト装置から初期化を指示された場合、指示に応じて自装置を初期化する。また、初期化部14は、障害情報が記憶部11に保存された場合、保存後に自装置を初期化する。
【0148】
以上のように構成された周辺装置10の動作について、図面を参照して説明する。
【0149】
まず、自装置に関連する障害が発生した際の周辺装置10の動作を
図15に示す。
【0150】
まず、障害検出部12は、自装置に関連する障害を検出した場合(ステップA101でYes)、障害の発生をホスト装置に通知する(ステップA102)。
【0151】
次に、障害情報処理部13は、ホスト装置から障害情報の要求を受信したか否かを判断する(ステップA103)。
【0152】
ここで、障害情報の要求を受信した場合(ステップA103でYes)、障害情報処理部13は、障害情報をホスト装置に送信する(ステップA104)。
【0153】
そして、初期化部14は、ホスト装置からの指示に応じて、自装置を初期化する(ステップA105)。
【0154】
一方、障害情報の要求を受信しなかった場合(ステップA103でNo)、障害情報処理部13は、障害情報を記憶部11に記憶する(ステップA106)。
【0155】
そして、初期化部14は、自装置を初期化する(ステップA107)。
【0156】
以上で、周辺装置10は、自装置に関連する障害が発生した際の動作を終了する。
【0157】
次に、周辺装置10が初期化された後の動作を
図16に示す。
【0158】
ここでは、障害情報処理部13は、ホスト装置から障害情報の要求を受信すると、記憶部11から障害情報を読み込んでホスト装置に送信する(ステップA111)。
【0159】
以上で、周辺装置10は、初期化された後の動作を終了する。
【0160】
次に、本発明の第3の実施の形態の効果について述べる。
【0161】
本発明の第3の実施の形態としての周辺装置は、自装置に関連する障害が発生した場合に、障害に関する情報をより確実に外部に提供しながら、障害の復旧までに要する時間をより短縮することができる。
【0162】
その理由について説明する。本実施の形態の周辺装置では、障害検出部が、自装置に関連する障害を検出すると、障害の発生をホスト装置に通知する。そして、通知先のホスト装置から障害情報の要求があった場合、障害情報処理部が、障害情報をホスト装置に送信する。そして、初期化部が、ホスト装置の指示に応じて、自装置を初期化する。また、障害の発生をホスト装置に通知後、通知先のホスト装置から障害情報の要求がない場合、障害情報処理部が、記憶部に障害情報を保存し、保存後に自装置を初期化する。そして、障害情報処理部が、ホスト装置から障害情報を要求された場合、記憶部から障害情報を読み込んでホスト装置に送信するからである。
【0163】
このように、本実施の形態の周辺装置は、自装置に関連する障害が発生した際に、ホスト装置との通信が可能であるか否かに関わらず、障害情報をより確実に外部に提供するとともに自装置を初期化により復旧する。
【0164】
(第4の実施の形態)
次に、本発明の実施の形態の最小構成のホスト装置20について、図面を参照して説明する。まず、ホスト装置20の機能ブロック構成を
図17に示す。
図17において、ホスト装置20は、第1の障害情報取得部21と、第2の障害情報取得部22とを有する。また、ホスト装置20は、周辺装置に接続される。
【0165】
第1の障害情報取得部21は、周辺装置から障害の発生を通知された場合、周辺装置に対して障害情報を要求する。また、第1の障害情報取得部21は、障害情報の取得後に、周辺装置に対して初期化を指示する。
【0166】
第2の障害情報取得部22は、周辺装置が初期化に成功した場合、未だ障害情報を取得していなければ、周辺装置に対して障害情報を要求して障害情報を取得する。
【0167】
以上のように構成されたホスト装置20の動作について、図面を参照して説明する。
【0168】
まず、周辺装置から障害の発生を通知された際のホスト装置20の動作を
図18に示す。
【0169】
まず、第1の障害情報取得部21は、障害の発生の通知を受信すると、周辺装置に対して障害情報を要求する(ステップB101)。
【0170】
次に、第1の障害情報取得部21は、周辺装置から送信された障害情報を取得する(ステップB102)。
【0171】
次に、第1の障害情報取得部21は、周辺装置に対して初期化を指示する(ステップB103)。
【0172】
以上で、ホスト装置20は、周辺装置から障害の発生を通知された際の動作を終了する。
【0173】
次に、周辺装置が初期化された際のホスト装置20の動作を
図19に示す。
【0174】
まず、第2の障害情報取得部22は、周辺装置が初期化されたことを検出すると(ステップB111でYes)、障害情報を既に取得しているか否かを判断する(ステップB112)。
【0175】
ここで、障害情報を既に取得している場合(ステップB112でYes)、ホスト装置20は、動作を終了する。
【0176】
一方、障害情報を未だ取得していない場合(ステップB112でNo)、第2の障害情報取得部22は、周辺装置に対して障害情報を要求する(ステップB113)。
【0177】
次に、第2の障害情報取得部22は、周辺装置から送信された障害情報を取得する(ステップB114)。
【0178】
以上で、ホスト装置20は、周辺装置が初期化された際の動作を終了する。
【0179】
次に、本発明の第4の実施の形態の効果について述べる。
【0180】
本発明の第4の実施の形態としてのホスト装置は、周辺装置に関連する障害が発生した場合に、障害に関する情報をより確実に取得しながら、障害の復旧までに要する時間をより短縮することができる。
【0181】
その理由について説明する。本実施の形態のホスト装置では、第1の障害情報取得部が、周辺装置から障害の発生を通知されると、周辺装置に対して障害情報を要求する。そして、第1の障害情報取得部が、障害情報の取得後に、周辺装置に初期化を指示する。また、第2の障害情報取得部が、周辺装置の初期化を検出した場合、障害情報を未だ取得していなければ、周辺装置に障害情報を要求して取得するからである。
【0182】
このように、本実施の形態のホスト装置は、周辺装置の運用中に周辺装置に関連する障害が発生した際に、周辺装置との通信が可能であるか否かに関わらず、周辺装置を自動で復旧させながらも、障害情報を取得することができる。
【0183】
(第5の実施の形態)
次に、本発明の実施の形態の最小構成の保守装置30について、図面を参照して詳細に説明する。まず、保守装置30の機能ブロック構成を
図20に示す。
図20において、保守装置30は、第3の障害情報取得部31を有する。また、保守装置30は、周辺装置に備えられた保守装置接続部を介して、周辺装置の記憶部に接続可能となっている。
【0184】
第3の障害情報取得部31は、保守装置接続部を介して、周辺装置の記憶部から障害情報を取得する。
【0185】
以上のように構成された保守装置30の動作を
図21に示す。
【0186】
図21では、まず、第3の障害情報取得部31は、保守装置接続部を介して周辺装置の記憶部に接続されたことを検出すると(ステップC101でYes)、周辺装置の記憶部から障害情報を取得する(ステップC102)。
【0187】
なお、周辺装置が保守装置30に接続されるのは、典型的には、周辺装置に関連する障害が発生後、周辺装置の初期化が失敗した場合である。このような場合、例えば、周辺装置は、ホスト装置から取り外されて保守装置30に接続される。
【0188】
以上で、保守装置30は、動作を終了する。
【0189】
次に、本発明の第5の実施の形態の効果について述べる。
【0190】
本発明の第5の実施の形態としての保守装置は、障害が発生した後に自動での復旧に失敗した周辺装置から、障害に関する情報を確実に取得することができる。
【0191】
その理由について説明する。本実施の形態では、第3の障害情報取得部が、初期化に失敗した周辺装置に備えられた保守装置接続部に接続されると、保守装置接続部を介して周辺装置の記憶部から障害情報を取得するからである。
【0192】
なお、上述した本発明の第1の実施の形態において、周辺装置が、PCIバスによりホスト装置に接続されるPCIデバイスである例について説明した。ただし、本発明の各実施の形態において、周辺装置をホスト装置に接続する規格は、これに限定されない。
【0193】
また、上述した本発明の第1の実施の形態において、周辺装置が、GPGPUを搭載した装置である例について説明した。ただし、本発明の各実施の形態において、周辺装置に搭載されるプロセッサは、GPGPUに限定されない。例えば、周辺装置は、ネットワークコントローラやサウンドコントローラ等を搭載した装置であってもよい。
【0194】
また、上述した本発明の第2および第5の実施の形態において、保守装置は、運用中に障害が発生して自動での復旧に失敗した周辺装置に接続される例について説明した。これに限らず、保守装置は、その他の状態の周辺装置に接続されてもよい。
【0195】
また、上述した本発明の第3の実施の形態では、ホスト装置の第2の障害情報取得部および保守装置の第3の障害情報取得部が、周辺装置の記憶部に障害情報と共に記憶されたフラグに基づいて、障害情報を未取得であるか否かを判断する例について説明した。これに限らず、本発明の各実施の形態において、第2および第3の障害情報取得部は、その他の情報を用いて障害情報を未取得であるか否かを判断してもよい。例えば、第2および第3の障害情報取得部は、自装置に障害情報が保存済みであるか否かに基づいて、障害情報を未取得であるか否かを判断してもよい。
【0196】
また、上述した本発明の各実施の形態において、各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するプロセッサによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
【0197】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した各装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムをプロセッサが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【0198】
また、上述した本発明の各実施の形態は、適宜組み合わせて実施されることが可能である。
【0199】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【0200】
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
情報を記憶する記憶手段と、
自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知する障害検出手段と、
前記障害の発生の通知後に、前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信し、前記ホスト装置から前記障害情報の要求がない場合、前記記憶手段に前記障害情報を保存し、保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信する障害情報処理手段と、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化し、前記障害情報が前記記憶手段に保存された場合、前記保存後に自装置を初期化する初期化手段と、
を備えた周辺装置。
(付記2)
前記記憶手段を保守装置に接続する保守装置接続手段をさらに備えることを特徴とする付記1に記載の周辺装置。
(付記3)
付記1または付記2に記載の周辺装置から前記障害の発生を通知された場合、前記周辺装置に対して前記障害情報を要求し、前記障害情報の取得後に前記周辺装置に対して初期化を指示する第1の障害情報取得手段と、
前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に対して前記障害情報を要求して取得する第2の障害情報取得手段と、
を備えたホスト装置。
(付記4)
付記2に記載の周辺装置の前記記憶手段に前記保守装置接続手段を介して接続されると、前記障害情報を前記記憶手段から読み込んで取得する第3の障害情報取得手段を備えた保守装置。
(付記5)
付記1または付記2に記載の周辺装置と、
付記3に記載のホスト装置と、
を備えた情報処理システム。
(付記6)
付記2に記載の周辺装置と、
付記3に記載のホスト装置と、
付記4に記載の保守装置と、
を備えた情報処理システム。
(付記7)
前記障害情報処理手段は、前記記憶手段に前記障害情報を保存する際に、前記障害情報が未取得であることを表すフラグを併せて保存することを特徴とする付記1または付記2に記載の周辺装置。
(付記8)
前記第2の障害情報取得手段は、付記7に記載の周辺装置から前記障害情報を取得する処理を、前記フラグに基づき前記障害情報が未取得であると判断した場合に実行することを特徴とする付記3に記載のホスト装置。
(付記9)
前記第3の障害情報取得手段は、付記2に従属する付記7に記載の周辺装置から前記障害情報を取得する処理を、前記フラグに基づき前記障害情報が未取得であると判断した場合に実行することを特徴とする付記4に記載の保守装置。
(付記10)
周辺装置が、自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知し、
前記ホスト装置が、前記障害の発生の通知に応じて、前記周辺装置に対して前記障害に関する障害情報を要求し、
前記周辺装置が、前記要求に応じて、前記障害情報を前記ホスト装置に送信し、
前記ホスト装置が、前記障害情報の取得後に前記周辺装置に初期化を指示し、
前記周辺装置が、前記初期化の指示に応じて自装置を初期化し、
前記周辺装置が、前記障害の発生を前記ホスト装置に通知後、前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化し、
前記ホスト装置が、前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に前記障害情報を要求し、
前記周辺装置が、前記要求に応じて、前記障害情報を前記記憶手段から読み込んで前記ホスト装置に送信する方法。
(付記11)
前記周辺装置が、前記記憶手段に前記障害情報を保存後に自装置を初期化して初期化に失敗した場合、
保守装置が、前記周辺装置に備えられた保守装置接続手段を介して前記記憶手段に接続されると、前記障害情報を前記記憶手段から読み込んで取得する付記10に記載の方法。
(付記12)
周辺装置が、
自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知し、
前記障害の発生の通知後に前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信し、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化し、
前記障害の発生の通知後に前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化し、
保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信する方法。
(付記13)
自装置に関連する障害を検出すると、前記障害の発生をホスト装置に通知するステップと、
前記障害の発生の通知後に前記ホスト装置から前記障害に関する障害情報を要求された場合、前記障害情報を前記ホスト装置に送信するステップと、
前記ホスト装置から初期化を指示された場合、前記指示に応じて自装置を初期化するステップと、
前記障害の発生の通知後に前記ホスト装置から前記障害情報の要求がない場合、記憶手段に前記障害情報を保存し、前記保存後に自装置を初期化するステップと、
保存した障害情報を前記ホスト装置から要求された場合、前記記憶手段から前記障害情報を読み込んで前記ホスト装置に送信するステップと、
を周辺装置に実行させるプログラム。
(付記14)
付記13に記載のプログラムを実行する周辺装置から前記障害の発生を通知された場合、前記周辺装置に対して前記障害情報を要求し、前記障害情報の取得後に前記周辺装置に対して初期化を指示する第1の障害情報取得ステップと、
前記周辺装置の初期化を検出した場合、前記障害情報を未だ取得していなければ、前記周辺装置に対して前記障害情報を要求して取得する第2の障害情報取得ステップと、
をホスト装置に実行させるプログラム。
(付記15)
付記13に記載のプログラムを実行する周辺装置の前記記憶手段に、前記周辺装置に備えられた保守装置接続手段を介して接続されると、前記障害情報を前記記憶手段から読み込んで取得する第3の障害情報取得ステップを保守装置に実行させるプログラム。