(57)【要約】【課題】  従来技術においては、送信装置がタイムアウトエラーを検出しても、その原因となる故障箇所の特定は困難であった。【解決手段】  制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける障害切り分け方法であって、前記送信装置は、前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得し、前記送信装置は、前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得し、前記送信装置は、前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分けることを特徴とする障害切り分け方法を提供する。【選択図】    図４
2006268610.tif 000002
【特許請求の範囲】
【請求項１】
制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける障害切り分け方法であって、
前記送信装置は、前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得し、
前記送信装置は、前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得し、
前記送信装置は、前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分けることを特徴とする障害切り分け方法。
【請求項２】
請求項１において、
前記送信装置は、前記第１の時刻が前記第２の時刻と同時又は前記第１の時刻が前記第２の時刻より前である場合、少なくとも前記送信装置には前記障害箇所が無いと判定し、前記第１の時刻が前記第２の時刻より後である場合、少なくとも前記受信装置には前記障害箇所が無いと判定することを特徴とする障害切り分け方法。
【請求項３】
制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける前記送信装置であって、
前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得する第１取得部と、
前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得する第２取得部と、
前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分ける分別部とを有することを特徴とする送信装置。
【請求項４】
請求項３において、
前記分別部は、前記第１の時刻が前記第２の時刻と同時又は前記第１の時刻が前記第２の時刻より前である場合、少なくとも前記送信装置には前記障害箇所が無いと判定し、前記第１の時刻が前記第２の時刻より後である場合、少なくとも前記受信装置には前記障害箇所が無いと判定することを特徴とする送信装置。
【請求項５】
制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける前記送信装置に、
前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得する手順と、
前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得する手順と、
前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分ける手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御情報を送信する送信装置と、制御情報に対する応答情報を送信する受信装置とを含む情報システムにおいて発生した障害の原因箇所を突き止める際、その原因箇所の範囲を狭めて原因追究を容易にする障害切り分け方法、障害切り分け機能を有する通信装置及び関連するプログラムに関する。
【背景技術】
【０００２】
一般に、サーバ、クライアント、ストレージ等で構成される情報システムにおいては、制御情報を送信する送信装置と、その制御情報に対する応答情報を送信する受信装置が存在する。例えば、特許文献１には、入出力装置が送信する制御フレーム（制御情報）に対して、ホストコンピュータが応答フレーム（応答情報）を送信する情報システムが描かれる。
【０００３】
また、サーバ対ストレージモデルのモデルで言えば、サーバは、読み出し命令（制御情報）を発行し、ストレージは、読み出し命令に対して、ストレージに格納されたデータ（応答情報）を応答する。また、サーバは、書き込み命令（制御情報）を発行し、ストレージは、書き込み命令に対して、書き込み完了通知（応答情報）を応答する。
【０００４】
現在情報システムの構築にあたり、高速かつ長距離のデータ転送を行うためのインターフェース規格であるファイバチャネル(Fiber Channel)を用いて、サーバとストレージ間を高速なネットワークで接続するSAN(Storage Area Network)が構築されることが増えている。例えば、特許文献２には、ストレージとして使用される、ファイバチャネルインタフェース(以下、FCインタフェース)を用いたディスクアレイ装置が開示される。
【０００５】
こうした情報システムにおいて、送信装置が送信した制御情報に対する応答情報が、所定時間内に受信装置から得られない場合、送信装置は、タイムアウトエラーを検出する。タイムアウトエラーは、送信装置、受信装置、送信装置と受信装置を接続する通信経路のいずれかに発生した故障箇所が原因である場合が多い。
【特許文献１】特開平５−４０７４４号公報
【特許文献２】特開２００２−９１７０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術においては、送信装置がタイムアウトエラーを検出しても、その原因となる故障箇所の特定は困難であった。例えば、サーバとストレージにおいてタイムアウトエラーが発生しても、サーバが読み出し命令や書き込み命令等の入出力命令を送信したのに、ストレージが機能していないことがその原因なのか、ストレージは応答情報を送信したのに、サーバへの通信経路に問題があることがその原因なのか、サーバにおけるFCインタフェースが故障しており、サーバが発行した入出力命令が送信されていないことがその原因なのか、サーバは判断することができない。
【０００７】
このため、情報システムが納入されたエンドユーザの拠点で、サーバとストレージ間のタイムアウトエラーが発生すると、故障箇所の特定に時間がかかる。つまり、情報システムの正常復旧までに長時間を要することとなり、情報システムを業務に使用するエンドユーザへの影響度が大きいという問題が生じていた。
【０００８】
そこで、本発明の目的は、タイムアウトエラーが発生したとき、その原因となる故障箇所がどこにあるか、その範囲を狭めて原因追究を容易にする障害切り分け方法、障害切り分け機能を有する送信装置及び関連するプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的は、本発明の第一の側面として、  制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける障害切り分け方法であって、前記送信装置は、前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得し、前記送信装置は、前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得し、前記送信装置は、前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分けることを特徴とする障害切り分け方法を提供することにより達成される。
【００１０】
上記発明の第一の側面においてより好ましい実施例によれば、前記送信装置は、前記第１の時刻が前記第２の時刻と同時又は前記第１の時刻が前記第２の時刻より前である場合、少なくとも前記送信装置には前記障害箇所が無いと判定し、前記第１の時刻が前記第２の時刻より後である場合、少なくとも前記受信装置には前記障害箇所が無いと判定する。
【００１１】
また、上記目的は、第二の側面として、制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける前記送信装置であって、前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得する第１取得部と、前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得する第２取得部と、前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分ける分別部とを有することを特徴とする送信装置を提供することにより達成される。
【００１２】
また、上記目的は、第三の側面として、制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける前記送信装置に、前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得する手順と、前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得する手順と、前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分ける手順とを実行させるためのプログラムを提供することにより達成される。
【発明の効果】
【００１３】
本発明の実施形態によれば、タイムアウトエラーが発生するとき、送信装置、受信装置に残される最後に送受信したデータの時刻情報に基づき、簡易に障害箇所を絞り込むことができ、従来より障害箇所を特定するのに要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１５】
図１は、本実施形態における情報システムの構成ブロック図である。本実施形態の情報システムは、サーバ１とストレージ２を含む。サーバ１とストレージ２は、ストレージ２に格納されるデータの入出力を制御するため、ファイバチャネルケーブル（以下、FCケーブル）２０により接続される他、ストレージ２の制御部をサーバ１から制御するため、ネットワークケーブル１９により接続される。
【００１６】
図１のサーバ１は、バス１８を介して互いに接続される、通信部１６、制御部１１、RAM(Random Access Memory)１２、記憶部１４、入力部１５、出力部１７、HBA(Host Bus Adapter)１３を含む。通信部１６は、TCP/IP(Transmission Control Protocol/Internet Protocol)等のネットワークプロトコルに従うデータを、ネットワークケーブル１９を介してストレージ２と送受信する。
【００１７】
記憶部１４は、サーバ１の制御に使用される制御プログラムが格納される記憶手段である。この制御プログラムは、サーバ１の動作中は、RAM１２に展開され、制御部１１に含まれる（図示省略された）CPUにより実行される。
【００１８】
RAM１２は、サーバ１の処理における演算結果やプログラムが一時的に格納される記憶手段である。入力部１５は、マウス、キーボード等ユーザの要求が入力される入力手段である。出力部１７は、液晶ディスプレイ等ユーザに情報を提供する表示手段である。HBA１３は、ファイバチャネルプロトコル(FCプロトコル)に従うデータを伝送するFCケーブル２０にサーバ１を接続するためのインターフェースを提供する。
【００１９】
図１のストレージ２は、バス２８を介して互いに接続される、通信部２４、制御部２１、ROM(Read Only Memory)２２、RAM(Random Access Memory)２５、出力部２３、CM (Connect Module)２６を含む。通信部２６は、TCP/IP(Transmission Control Protocol/Internet Protocol)等のネットワークプロトコルに従うデータを、ネットワークケーブル１９を介してサーバ１と送受信する。
【００２０】
ROM２２は、ストレージ２の制御に使用される制御プログラムが格納される記憶手段である。この制御プログラムは、ストレージ２の動作中は、RAM２５に展開され、制御部２１に含まれる（図示省略された）CPUにより実行される。
【００２１】
RAM２５は、ストレージ２の処理における演算結果やプログラムが一時的に格納される記憶手段である。出力部２３は、液晶ディスプレイ等であって、ストレージ２におけるエラー情報等をユーザに提供する表示手段である。CM２６は、ファイバチャネルプロトコル(FCプロトコル)に従うデータを伝送するFCケーブル２０にストレージ２を接続するためのインターフェースを提供する。ディスク群２７は、複数のハードディスクを含み、ストレージ２に格納されるデータを蓄積する。
【００２２】
FCプロトコルにおいては、フレームと呼ばれる単位のデータがFCケーブル２０を介して、サーバ１とストレージ２間で交換されている。そして、サーバ１側のFCインタフェースであるHBA１３と、ストレージ２側のFCインタフェースであるCM２６には、それぞれ、送信するフレームと受信したフレームを一時的に格納する送受信バッファが備えられる。
【００２３】
本実施形態における情報システムの特徴として、サーバ１側のFCインタフェースであるHBA１３と、ストレージ２側のFCインタフェースであるCM２６には、更に、各送受信バッファにある一番新しい（最後に格納された）フレームを１つ分格納可能な小容量のバッファメモリが備えられる。また、サーバ１、ストレージ２は、小容量のバッファメモリへフレームが格納される時刻を別途記憶しておく。こうして、サーバ１は、自身が発行した入出力命令（書き込み命令や読み出し命令）に対するタイムアウトエラーが発生すると、サーバ１とストレージ２にそれぞれ備えられる、小容量のバッファメモリの内容とその時刻に基づき、障害箇所がどこにあるかを切り分けることができる。
【００２４】
図２は、本実施形態に使用されるファイバチャネルプロトコルに基づくフレームのデータ構成を説明する図である。フレーム４３は、FCプロトコルにおけるデータ伝送の最小単位である。複数のフレーム４３により、シーケンス４２が形成される。
【００２５】
シーケンス４２は、コネクションの確立やデータの送信等のコマンドに対応する。そして、複数のシーケンス４２により、読み出し命令や書き込み命令といった入出力命令に対応するエクスチェンジ４１が形成される。
【００２６】
各フレームは、「SOF」「ヘッダ」「データペイロード」「CRC」「EOF」というデータフィールドを含む。「SOF」は、Start Of Frameの略であり、フレームの開始を示す４バイトのフィールドである。
【００２７】
「ヘッダ」は、データの分解・組立に関する制御情報を示す２４バイトのフィールドである。ヘッダには、送信先のアドレスを示すD_IDや、送信元のアドレスを示すS_IDが含まれる。本本実施形態において、サーバ１とストレージ２は異なるアドレスを持つ。
【００２８】
従って、サーバ１は、フレームヘッダに含まれるD_IDフィールド、S_IDフィールドを確認することにより、そのフレームが、サーバ１がストレージ２に対して送信したものか、サーバ１がストレージ２から受信したものかを判別することができる。
【００２９】
「データペイロード」は、可変長（０〜２０４８バイト）のデータを含む。「CRC」は、Cyclic Redundancy Checkの略であり、データ転送中におけるビット反転等のエラーを検出するため、データに追加される符号である。「EOF」は、End Of Frameの略であり、フレームの終了を示す４バイトのフィールドである。
【００３０】
図３は、サーバ１におけるFCインタフェース（HBA１３）と、ストレージ２におけるFCインタフェース（CM２６）を説明する図である。図３は、サーバ１がストレージ２に対し入出力命令を送信する場合を示す。
【００３１】
サーバ１の制御部１１より入力された入出力命令は、複数のフレームとして、まず、サーバ１のHBA１３に含まれる送受信バッファ５１に格納される。このとき、入出力命令に含まれる最後のフレームが、小容量のバッファメモリであるサーバ１のコピー部５２にコピーされる。サーバ１の制御部１１は、コピー部５２にデータが格納された時刻をサーバ１のRAM１２に格納しておく。
【００３２】
そして、サーバ１の制御部１１より入力された入出力命令は、電気信号を光信号に変換するGBIC(Gigabit Interface Converter)５３により、FCケーブル２０を介して、ストレージ２に入力される。サーバ１より入力された入出力命令は、ストレージ２に備えられるGBIC６３により、光信号から電気信号に変換され、ストレージ２のCM２６に含まれる送受信バッファ６１に格納される。
【００３３】
このとき、サーバ１より受信した最後のフレームが、小容量のバッファメモリであるストレージ２のコピー部６２にコピーされる。ストレージ２の制御部２１は、コピー部６２にデータが格納された時刻をストレージ２のRAM２５に格納しておく。
【００３４】
図３は、サーバ１がストレージ２に対し入出力命令を送信する場合を示すものであるが、ストレージ２がサーバ１に対し、入出力命令に対する応答情報を送信する場合には、図３におけるHBA１３をCM２６と、サーバ１とストレージ２と交換した場合の動作が行われる。
【００３５】
即ち、ストレージ２の制御部２１より入力された入出力命令は、複数のフレームとして、まず、ストレージ２のCM２６に含まれる送受信バッファ６１に格納される。このとき、入出力命令に含まれる最後のフレームが、小容量のバッファメモリであるストレージ２のコピー部６２にコピーされる。ストレージ２の制御部２１は、コピー部６２にデータが格納された時刻をストレージ２のRAM２５に格納しておく。
【００３６】
そして、ストレージ２の制御部２１より入力された入出力命令は、GBIC６３により、FCケーブル２０を介して、サーバ１に入力される。ストレージ２より入力された入出力命令は、サーバ１に備えられるGBIC５３により、光信号から電気信号に変換され、サーバ１のHBA１３に含まれる送受信バッファ５１に格納される。
【００３７】
このとき、ストレージ２より受信した最後のフレームが、小容量のバッファメモリであるサーバ１のコピー部５２にコピーされる。サーバ１の制御部１１は、コピー部５２にデータが格納された時刻をサーバ１のRAM１２に格納しておく。
【００３８】
サーバ１が発行した入出力命令に対して、ストレージ２が、所定時間内に応答情報を応答しない場合、サーバ１はタイムアウトエラーを検出する。このとき、サーバ１は、HBA１３に含まれるコピー部５２に格納された最新フレームと、RAM１２に格納されたその発生時刻と取得する。
【００３９】
更に、サーバ１は、ネットワークケーブル１９を介してストレージ２に、情報取得要求を送信する。ストレージ２の制御部２１は、通信部２４を介して、サーバ１より情報取得要求を受信すると、CM２６に含まれるコピー部６２に格納された最新フレームと、RAM２５に格納されたその発生時刻を、再び通信部２４を介してサーバ１に送信する。
【００４０】
こうして、サーバ１は、ストレージ２のCM２６に含まれるコピー部６２に格納された最新フレームと、RAM２５に格納されたその発生時刻も取得する。サーバ１は、取得した情報を基に、次図に示す判定処理を行って、障害箇所の切り分け処理を行う。
【００４１】
図４は、本実施形態のサーバ１における障害箇所の切り分け処理を説明するフローチャートである。前提として、説明を簡単化するために、まず、サーバ１とストレージ２を接続する通信経路に障害はないものとする。従って、FCケーブル２０、ネットワークケーブル１９が抜け落ちていたり、間欠的にFCプロトコルにおけるフレームや、ネットワークプロトコルにおけるパケットが紛失することは起こらないものとする。
【００４２】
まず、サーバ１は、上述したように、サーバ１のコピー部５２に残された最新フレームと、その最新フレームがコピー部５２に格納された時刻（第１の発生時刻）を取得する（Ｓ１）。続いて、サーバ１は、上述したように、ストレージ２のコピー部６２に残された最新フレームと、その最新フレームがコピー部６２に格納された時刻（第２の発生時刻）を取得する（Ｓ２）。
【００４３】
サーバ１は、ストレージ２に残された最新フレームが、サーバ１より受信した受信フレームか、サーバ１に対して送信した送信フレームかを判定する（Ｓ３）。ちなみに、サーバ１がタイムアウトエラーを検出する場合、サーバ１が送信した入出力命令に対する応答情報が得られていないことになり、サーバ１に残される最新フレームは、送信フレームである。
【００４４】
ステップＳ３の処理において、サーバ１は、ストレージに残された最新フレームのヘッダ（図２参照）を抽出する。そして、そのヘッダに含まれるD_IDフィールド（図２参照）のアドレスが、サーバ１のアドレスであれば、サーバ１は、送信フレームであると判定する。ヘッダに含まれるD_IDフィールドのアドレスが、ストレージ２のアドレスであれば、サーバ１は、受信フレームであると判定する。
【００４５】
こうして、ストレージ２に残された最新フレームが、受信フレームであると判定される場合（Ｓ３Ｙｅｓ）、サーバ１は、第１の発生時刻と第２の発生時刻の前後関係を確認する（Ｓ５）。第１の発生時刻が、第２の発生時刻と同じか、それより前であれば（Ｓ５Ｙｅｓ）、ストレージ２は、サーバ１からのフレームを受信しているが、その応答ができていないことにより、サーバ１においてタイムアウトエラーが発生している。そこで、サーバ１は、ストレージの障害と判定し（Ｓ８）、障害切り分け処理を終了する。
【００４６】
第１の発生時刻が、第２の発生時刻より後であれば（Ｓ５Ｎｏ）、サーバ１からのフレームがストレージ２に届いていないことにより、サーバ１においてタイムアウトエラーが発生している。そこで、サーバ１は、サーバ１のGBIC５３の障害と判定し（Ｓ６）、障害切り分け処理を終了する。ストレージ２に残された最新フレームが、送信フレームであると判定される場合にも（Ｓ３Ｎｏ）、サーバ１は、第１の発生時刻と第２の発生時刻の前後関係を確認する（Ｓ４）。
【００４７】
第１の発生時刻が、第２の発生時刻と同じか、それより前であれば（Ｓ４Ｙｅｓ）、ストレージ２は、サーバ１からのフレームを受信し、応答情報をサーバ１に送信しているが、サーバ１にはその応答情報が届いていないことにより、サーバ１においてタイムアウトエラーが発生している。そこで、サーバ１は、ストレージ２のGBIC６３の障害と判定し（Ｓ７）、障害きり分け処理を終了する。
【００４８】
第１の発生時刻が、第２の発生時刻より後であれば（Ｓ４Ｎｏ）、サーバ１からのフレームがストレージ２に届いていないことにより、サーバ１においてタイムアウトエラーが発生していることになる。そこで、サーバ１は、サーバ１のGBIC５３の障害と判定し（Ｓ６）、障害切り分け処理を終了する。以上に説明した図４の動作をまとめると、図５の表のようになる。
【００４９】
図５において、「サーバ」は、サーバ１のコピー部５２に残された最新フレームを示す。「ストレージ」は、ストレージ２のコピー部６２に残された最新フレームを示す。
【００５０】
「時刻」欄に現れるサーバは、図４における第１の発生時刻を示し、「時刻」欄に現れるストレージは、図４における第２の発生時刻を示す。「障害」は、サーバ１が、障害箇所と判定する箇所を示す。図５に示される表の内容は、図４に示されるものと同様であり、説明は略す。
【００５１】
なお、図４における説明の前提として、サーバ１とストレージ２を接続する通信経路に障害はないものと仮定した。ここで、ケーブル抜け等、サーバ１とストレージ２を接続する通信経路における障害を考慮すると、図４の障害切り分け方法は、次のようになる。
【００５２】
ステップＳ６においてサーバ１のGBIC障害とされる場合（サーバ１からのフレームがストレージ２に届いていない場合）は、通信経路における障害を考慮すると、少なくともストレージ２に障害箇所が無いと判定されることになる。また、ステップＳ７においてストレージ２のGBIC障害とされる場合（ストレージ２が送信した応答情報がサーバ１に届いていない場合）は、通信経路における障害を考慮すると、少なくともサーバ１に障害箇所が無いと判定されることになる。
【００５３】
本実施形態においては、サーバ１とストレージ２とが１対１で接続される形態で説明しているが、サーバ１に接続される多数のストレージが存在する場合には、サーバ１のコピー部５２において、ストレージ２毎に最新フレームを格納するようにすればよい。タイムアウトエラーが発生する場合、サーバ１は、サーバ１が発行した入出力命令の相手ストレージを特定した後、図４の処理を行うことで、１対１の場合と同様、タイムアウトエラーにおける障害を切り分けることができる。
【００５４】
また、サーバ１と多数のストレージ間の接続にファイバチャネルスイッチ（FCスイッチ）が使用される場合には、ファイバチャネルスイッチの各ポートを通過する最後のフレームを格納するコピー部を設ければよい。
【００５５】
図６は、サーバ１とストレージ２の接続にFCスイッチが使用される場合の図である。FCスイッチ７０には、８つのポート７１ａ〜７１ｈと、各ポートに対応するコピー部７２ａ〜７２ｈが含まれる。図６の各コピー部は対応するポートを最後に通過するフレームを格納する。
【００５６】
また、FCスイッチ７０は、各ポートのコピー部に格納された最新フレームが格納された時刻を記憶するRAM７３と、サーバ１より情報取得要求を受信すると、各ポートのコピー部に格納された最新フレームと、RAM２５に格納された時刻を、サーバ１に送信する通信部７４とを有する。通信部７４は、サーバ１の通信部とネットワークケーブル１９を介して接続される。
【００５７】
例えば、サーバ１が、ストレージ２ｂに対する入出力命令を発行する場合、サーバ１に接続されるポート７１ａと、ストレージ２ｂに接続されるポート７１ｄが使用される。そして、対応するコピー部７２ａとコピー部７２ｄに、サーバ１から発行された入出力命令に含まれる最後のフレームが格納される。
【００５８】
サーバ１がタイムアウトエラーを検出する場合、サーバ１は、自己のHBA１３のコピー部５２、コピー部７２ａとコピー部７２ｄ、ストレージ２ｂのCM２６のコピー部６２からそれぞれ、最新フレームと、その最新フレームがコピー部に格納された時刻とを取得する。そして、サーバ１とポート７１ａを対象とする図４の処理、ポート７１ｄとストレージ２ｂを対象とする図４の処理を行って、障害の切り分けをすることで、原因箇所を狭めることができる。
【００５９】
以上に説明した本実施形態によれば、タイムアウトエラーが発生するとき、サーバ、ストレージに残される最後に送受信したフレームとその時刻情報に基づき、簡易に障害箇所を絞り込むことができ、従来より障害箇所を特定するのに要する時間を短縮することができる。
【００６０】
最後に送受信したフレームが格納される、FCインタフェースのコピー部は、バッファメモリであるが、その容量は、図２に示されるフレームのバイト数を考慮すると、最大でも２１１２バイトである。従って、コピー部に必要な容量は、高々２ｋバイト強ですむ。また、多数のストレージに対して、それぞれ、コピー部を割り当てるとしても、それほど大きな容量を必要としない。
【００６１】
なお、本実施形態は、サーバとストレージ間の入出力命令に対するタイムアウトエラーだけではなく、クライアントとサーバ間における制御情報に対するタイムアウトエラーについての障害切り分け処理にも適用することができる。例えば、通信制御におけるtelnetコマンドにおけるタイムアウトエラー等である。
【００６２】
以上まとめると付記のようになる。
【００６３】
（付記１）
制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける障害切り分け方法であって、
前記送信装置は、前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得し、
前記送信装置は、前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得し、
前記送信装置は、前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分けることを特徴とする障害切り分け方法。
【００６４】
（付記２）
付記１において、
前記送信装置は、前記第１の時刻が前記第２の時刻と同時又は前記第１の時刻が前記第２の時刻より前である場合、少なくとも前記送信装置には前記障害箇所が無いと判定し、前記第１の時刻が前記第２の時刻より後である場合、少なくとも前記受信装置には前記障害箇所が無いと判定することを特徴とする障害切り分け方法。
【００６５】
（付記３）
付記１において、
前記送信装置は、サーバであって、
前記受信装置は、ストレージであって、
前記制御情報は、前記ストレージに格納されるデータに対する入出力命令であることを特徴とする障害切り分け方法。
【００６６】
（付記４）
付記３において、
前記送信装置と前記受信装置は、ファイバチャネルによって接続され、
前記制御情報及び前記応答情報は、ファイバチャネルプロトコルによる複数のフレームに分割され送受信されており、
前記第１の時刻は、前記サーバが最後に前記フレームを送信した時刻であり、
前記第２の時刻は、前記ストレージが最後に前記フレームを送信した時刻と、前記ストレージが最後に前記フレームを受信した時刻のうち遅い方であることを特徴とする障害切り分け方法。
【００６７】
（付記５）
制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける前記送信装置であって、
前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得する第１取得部と、
前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得する第２取得部と、
前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分ける分別部とを有することを特徴とする送信装置。
【００６８】
（付記６）
付記５において、
前記分別部は、前記第１の時刻が前記第２の時刻と同時又は前記第１の時刻が前記第２の時刻より前である場合、少なくとも前記送信装置には前記障害箇所が無いと判定し、前記第１の時刻が前記第２の時刻より後である場合、少なくとも前記受信装置には前記障害箇所が無いと判定することを特徴とする送信装置。
【００６９】
（付記７）
付記５において、
前記送信装置は、サーバであって、
前記受信装置は、ストレージであって、
前記制御情報は、前記ストレージに格納されるデータに対する入出力命令であることを特徴とする送信装置。
【００７０】
（付記８）
付記７において、
前記送信装置と前記受信装置は、ファイバチャネルによって接続され、
前記制御情報及び前記応答情報は、ファイバチャネルプロトコルによる複数のフレームに分割され送受信されており、
前記第１の時刻は、前記サーバが最後に前記フレームを送信した時刻であり、
前記第２の時刻は、前記ストレージが最後に前記フレームを送信した時刻と、前記ストレージが最後に前記フレームを受信した時刻のうち遅い方であることを特徴とする送信装置。
【００７１】
（付記９）
制御情報を送信する送信装置と、前記送信装置と情報送受信可能に接続され、前記制御情報を受信し、前記受信した制御情報に対する応答情報を送信する受信装置とを含む情報システムにおける前記送信装置に、
前記制御情報に対する前記応答情報が、所定時間内に得られない場合、最後に送信した前記制御情報の時刻を第１の時刻として取得する手順と、
前記受信装置が最後に送信した前記応答情報の時刻と、前記受信装置が最後に受信した前記制御情報の時刻とのうち遅い方を第２の時刻として取得する手順と、
前記第１の時刻と前記第２の時刻とに基づき、障害箇所を切り分ける手順とを実行させるためのプログラム。
【００７２】
（付記１０）
付記９において、
前記第１の時刻が前記第２の時刻と同時又は前記第１の時刻が前記第２の時刻より前である場合、少なくとも前記送信装置には前記障害箇所が無いと判定され、前記第１の時刻が前記第２の時刻より後である場合、少なくとも前記受信装置には前記障害箇所が無いと判定されることを特徴とするプログラム。
【００７３】
（付記１１）
付記９において、
前記送信装置は、サーバであって、
前記受信装置は、ストレージであって、
前記制御情報は、前記ストレージに格納されるデータに対する入出力命令であることを特徴とするプログラム。
【００７４】
（付記１２）
付記１１において、
前記送信装置と前記受信装置は、ファイバチャネルによって接続され、
前記制御情報及び前記応答情報は、ファイバチャネルプロトコルによる複数のフレームに分割され送受信されており、
前記第１の時刻は、前記サーバが最後に前記フレームを送信した時刻であり、
前記第２の時刻は、前記ストレージが最後に前記フレームを送信した時刻と、前記ストレージが最後に前記フレームを受信した時刻のうち遅い方であることを特徴とするプログラム。
【図面の簡単な説明】
【００７５】
【図１】本実施形態における情報システムの構成ブロック図である。
【図２】本実施形態に使用されるファイバチャネルプロトコルに基づくフレームのデータ構成を説明する図である。
【図３】サーバにおけるFCインタフェース（HBA）と、ストレージにおけるFCインタフェース（CM）を説明する図である。
【図４】本実施形態のサーバにおける障害箇所の切り分け処理を説明するフローチャートである。
【図５】本実施形態におけるサーバの動作をまとめた表である。
【図６】サーバとストレージの接続にFCスイッチが使用される場合の図である。
【符号の説明】
【００７６】
１  サーバ、１１  制御部、１２  RAM、１３  HBA、１４  記憶部、１５  入力部、１６  通信部、１７  出力部、１８  バス、１９  ネットワークケーブル、２０  FCケーブル、２１  制御部、２２  ROM、２３  出力部、２４  通信部、２５  RAM、２６  CM、２７  ディスク群、２８  バス、５１  送受信バッファ、５２  コピー部、５３  GBIC、６１  送受信バッファ、６２  コピー部、６３  GBIC、７０  FCスイッチ、７１  ポート、７２  コピー部、７３  RAM、７４  通信部
【図１】
2006268610.tif 000003
【図２】
2006268610.tif 000004
【図３】
2006268610.tif 000005
【図４】
2006268610.tif 000006
【図５】
2006268610.tif 000007
【図６】
2006268610.tif 000008