(57)【要約】【課題】  コネクションレス型のプロトコルを用いるデータフレームの転送において、通信系路上でフレームエラーが発生すると、再送に至るまでの時間が長くなってしまう場合がある。【解決手段】  再送制御装置が、複数のフレームの転送処理を含む交換処理を開始する機器を特定する機器識別子とそのフレームのヘッダに含まれる宛先識別子及び送信元識別子とを含む機器情報と、先頭フレームのヘッダに含まれる内容と、エラーフレームのヘッダに含まれる内容と、に基づいてエラー通知をその機器に送信し、その機器がそのエラー通知に基づいて、その交換処理の再実行を指示する。【選択図】      図１
2014182739.tif 000002
【特許請求の範囲】
【請求項１】
複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む、機器情報を送信する機器情報通知手段と、
前記交換処理の先頭の前記フレームである先頭フレームを検出した場合に前記先頭フレームのヘッダを送信し、伝送エラーが発生している前記フレームであるエラーフレームを検出した場合に前記エラーフレームのヘッダを送信するフレーム通知手段と、
前記先頭フレームのヘッダに含まれる内容と前記エラーフレームのヘッダに含まれる内容とに基づいて前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する開始機器特定手段と、
前記エラー通知に基づいて、前記先頭フレームに対応する前記交換処理の再実行を指示する再送指示発行手段と
を含む通信制御システム。
【請求項２】
前記開始機器特定手段は、前記先頭フレームのヘッダに含まれる前記交換処理を特定する識別子と、前記エラーフレームのヘッダに含まれる前記交換処理を特定する識別子とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する、
ことを特徴とする請求項１記載の通信制御システム。
【請求項３】
前記開始機器特定手段は、更に、前記先頭フレームのヘッダに含まれる宛先識別子及び送信元識別子と、前記エラーフレームのヘッダに含まれる宛先識別子及び送信元識別子とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する
ことを特徴とする請求項２記載の通信制御システム。
【請求項４】
前記通信路は、ファイバーチャネルスイッチを用いて複数の機器を接続するファブリックのファイバーチャネルであって、
前記機器情報通知手段は、前記ファイバーチャネルスイッチのポート番号と前記機器に搭載されるホストバスアダプタのポート番号とを取得し、前記取得した前記ファイバーチャネルスイッチのポート番号と前記取得した前記機器に搭載されるホストバスアダプタのポート番号とを更に含む前記機器情報を送信し、
前記ファイバーチャネルスイッチのポート番号と前記ポート番号に対応するゾーン識別子とを含むゾーニング情報を送信するゾーニング情報通知手段と、
前記機器情報と前記ゾーニング情報とに基づいて、前記ゾーン識別子、前記ファイバーチャネルスイッチのポート番号、前記ホストバスアダプタのポート番号、前記送信元識別子及び前記宛先識別子を少なくとも含むゾーニングエントリを記録するゾーニングエントリ記録手段とを更に含み、
前記フレーム通知手段は、前記先頭フレームに対応するゾーン識別子と前記ファイバーチャネルスイッチのポート番号と前記先頭フレームのフレームヘッダとを送信し、前記エラーフレームに対応するゾーン識別子と前記ファイバーチャネルスイッチのポート番号と前記エラーフレームのフレームヘッダとを送信し、
前記開始機器特定手段は、前記先頭フレームに対応するゾーン識別子と前記先頭フレームのフレームヘッダとを受信した場合に、前記先頭フレームに対応するゾーン識別子と前記ファイバーチャネルスイッチのポート番号と前記先頭フレームのフレームヘッダとに対応する前記ゾーニングエントリに、前記先頭フレームのフレームヘッダを追加し、
前記エラーフレームに対応するゾーン識別子と前記エラーフレームのフレームヘッダとを受信した場合に、更に、前記エラーフレームに対応するゾーン識別子と前記ファイバーチャネルスイッチのポート番号と前記ゾーニングエントリに含まれるゾーン識別子と前記ファイバーチャネルスイッチのポート番号とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する
ことを特徴とする請求項２または３記載の通信制御システム。
【請求項５】
前記交換処理が完了した場合に、前記交換処理に対応する、前記交換処理を特定する識別子、宛先識別子及び送信元識別子を含む完了通知を送信する完了通知手段を含み、
前記開始機器特定手段は、前記完了通知を受信した場合、前記完了通知に対応する前記ゾーニングエントリに含まれる先頭フレームを削除する
ことを特徴とする請求項４記載の装置。
【請求項６】
前記再送指示発行手段はステップＳＣＳＩレイヤの再送要求を発行することで、前記交換処理の再実行を指示する
ことを特徴とする請求項１乃至５のいずれか１項に記載の通信制御システム。
【請求項７】
複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定し、
前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する、開始機器特定手段
を含む通信制御装置。
【請求項８】
コンピュータが、
複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定し、
前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する、
通信制御方法。
【請求項９】
サーバが、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む、機器情報を送信し、
スイッチが、前記交換処理の先頭の前記フレームである先頭フレームを検出した場合に前記先頭フレームのヘッダを送信し、
伝送エラーが発生している前記フレームであるエラーフレームを検出した場合に前記エラーフレームのヘッダを送信し、
通信制御装置が、前記先頭フレームのヘッダに含まれる内容と前記エラーフレームのヘッダに含まれる内容とに基づいて前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する開始機器特定手段と、
前記サーバが、前記エラー通知に基づいて、前記先頭フレームに対応する前記交換処理の再実行を指示する
通信制御方法。
【請求項１０】
複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する処理と、
前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する処理と、をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信の制御技術に関し、特にコネクションレス型のプロトコルを用いる通信の制御技術に関する。
【背景技術】
【０００２】
情報処理装置及び記憶装置間でデータを送受信するための通信技術関連技術が知られている。
【０００３】
例えば、特許文献１は、ストレージシステムの一例を開示する。特許文献１のストレージシステムは、ネットワークを介して接続されたネットワークスイッチとストレージ装置とを含む。そのネットワークスイッチは、複数のポートとバッファメモリとの組を有する。そして、そのネットワークスイッチは、データフレーム転送において、それらのポートのいずれかに対応するバッファメモリのオーバーフロー発生を検出した場合に、他のポートを更に用いてデータフレームを転送する。
【０００４】
上述のストレージシステムにおいては、転送エラーが発生した場合の、再送処理が必要である。
【０００５】
例えば、特許文献２は、ディスクアレイシステムの一例を開示する。特許文献２のディスクアレイシステムは、ホストコンピュータから受信した書き込みデータを第１のディスク装置と第２のディスク装置とに、同時に書き込む。そして、その第１のディスク装置は、その書き込みデータから第１の誤り検出符号を生成し、その第２のディスク装置に送信する。その第２のディスク装置は、その第１の誤り検出符号を受信する。次に、その第２のディスク装置は、その書き込みデータから第２の誤り検出符号を生成し、その第２の誤り検出符号とその第１の誤り検出符号とを比較し、一致しない場合にそのホストコンピュータにデータ再送要求を返信する。
【０００６】
しかしながら、このようなシステムでは、コネクションレス型のプロトコルを用いる場合、再送処理が非効率であるという問題点があった。
【０００７】
具体的には、コネクションレス型のプロトコルにおいては、フレーム単位でのＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）がなく、個々のエラーフレームの特定ができない。そのため、一連のライト動作を最初から全て再実行することになる。換言すると、一部のエラーフレームを再送するために、一連のライト処理動作を再実行することが必要となる。
【０００８】
特許文献３は、ディスク装置の一例を開示する。特許文献３のディスク装置は、ホスト装置にＦＣ−ＡＬ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ−Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ）を介して接続され、そのホスト装置からのデータフレームを一時保持する受信フレーム格納手段と、その受信フレーム格納手段に保持されたデータフレームを書き込む複数のディスクとを含む。また、そのディスク装置は、フレーム解析手段と、コマンド・エラー情報格納手段と及びディスク制御手段を含む。そのフレーム解析手段は、そのホスト装置から受信したデータフレームを解析し、エラーを検出する。そのコマンド・エラー情報格納手段は、そのエラーが検出された場合に、そのエラーに対応するフレームを特定する情報を格納する。そのディスク制御手段は、そのエラーが検出された場合に、そのホスト装置に再送を実行させるために、異常を知らせるフレームを送信する。次に、そのディスク制御手段は、再送によるデータフレームを受け取った場合、そのコマンド・エラー情報格納手段に格納された情報に基づいて、そのエラーを検出したデータフレームを受信するまでそのディスクへの書き込み動作を省略する。続けて、ディスク制御手段は、受信フレーム格納手段の空きを、即時にそのホスト装置に対して通知する。
【０００９】
特許文献３は、そのディスク装置を上述のような構成及び動作とすることで、再送ライト処理動作を高速化することができるとしている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１１２３９８号公報
【特許文献２】特開２００９−２５９１００号公報
【特許文献３】特開２００８−１２９８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した特許文献３に記載された技術においては、コネクションレス型のプロトコルを用いるデータフレームの転送において、通信系路上でフレームエラーが発生すると、再送に至るまでの時間が長くなってしまう場合があるという問題がある。
【００１２】
その理由は、特許文献３のディスク装置は、通信系路上でフレームエラーが発生しても、それを検出できない場合があり、その場合そのホスト装置に異常を知らせるフレームを送信することができないからである。換言すると、そのホスト装置は、上位のプロトコルレイヤのタイムアウトにより再送処理を開始するからである。
【００１３】
例えばクラス３のファイバーチャネル通信では、フレームの送信に対するＡＣＫの返却は行われない。そのため、通信路上でＣＲＣエラー等のフレームエラーが発生するとそのフレームは破棄されるが、送信元（ホスト装置）へのエラー通知は行われない。具体的には、ファイバーチャネルスイッチは、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラー等のフレームエラーを検出すると、そのフレームを破棄する。しかし、ファイバーチャネルスイッチは、送信元（ホスト装置）へのエラー通知を行わない。即ち、フレームエラーによるフレームロス発生時、ホスト装置は、上位のプロトコルレイヤのタイムアウトの発生に基づいて、再送処理を行う。従って、再送に至るまでの時間が、長くなってしまう。
【００１４】
本発明の目的は、上述した問題点を解決できる通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の通信制御システムは、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む、機器情報を送信する機器情報通知手段と、前記交換処理の先頭の前記フレームである先頭フレームを検出した場合に前記先頭フレームのヘッダを送信し、伝送エラーが発生している前記フレームであるエラーフレームを検出した場合に前記エラーフレームのヘッダを送信するフレーム通知手段と、前記先頭フレームのヘッダに含まれる内容と前記エラーフレームのヘッダに含まれる内容とに基づいて前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する開始機器特定手段と、前記エラー通知に基づいて、前記先頭フレームに対応する前記交換処理の再実行を指示する再送指示発行手段と、を含む。
【００１６】
本発明の通信制御装置は、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する、開始機器特定手段を含む。
【００１７】
本発明の通信制御方法は、コンピュータが、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する。
【００１８】
本発明の通信制御方法は、サーバが、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む、機器情報を送信し、スイッチが、前記交換処理の先頭の前記フレームである先頭フレームを検出した場合に前記先頭フレームのヘッダを送信し、伝送エラーが発生している前記フレームであるエラーフレームを検出した場合に前記エラーフレームのヘッダを送信し、通信制御装置が、前記先頭フレームのヘッダに含まれる内容と前記エラーフレームのヘッダに含まれる内容とに基づいて前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する開始機器特定手段と、前記サーバが、前記エラー通知に基づいて、前記先頭フレームに対応する前記交換処理の再実行を指示する。
【００１９】
本発明のプログラムは、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する処理と、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する処理と、をコンピュータに実行させる。
【発明の効果】
【００２０】
本発明は、コネクションレス型のプロトコルを用いるデータフレームの転送において、通信系路上でフレームエラーが発生した場合の、再送に至るまでの時間を短縮することが可能になるという効果がある。
【図面の簡単な説明】
【００２１】
【図１】図１は、第１の実施形態に係る通信制御システムの構成を示すブロック図である。
【図２】図２は、第１の実施形態に係る通信制御システムを含む情報処理システムの構成を示すブロック図である。
【図３】図３は、第１の実施形態における情報処理システムにおける、交換処理の一例を示す図である。
【図４】図４は、第１の実施形態におけるフレームの一例を示す図である。
【図５】図５は、第１の実施形態におけるフレームロスが発生した場合の動作の概要を示す図である。
【図６】図６は、第１の実施形態における機器情報の一例を示す図である。
【図７】図７は、第１の実施形態に係る通信制御システムを実現するコンピュータのハードウェア構成を示すブロック図である。
【図８】図８は、第１の実施形態における通信制御システムの動作を示すフローチャートである。
【図９】図９は、第１の実施形態における通信制御システムの動作を示すフローチャートである。
【図１０】図１０は、第２の実施形態に係る通信制御システムの構成を示すブロック図である。
【図１１】図１１は、第２の実施形態に係る通信制御システムを含む情報処理システムの構成を示すブロック図である。
【図１２】図１２は、第２の実施形態におけるゾーニング情報の一例を示す図である。
【図１３】図１３は、第２の実施形態におけるゾーニングエントリを含むゾーニングテーブルの一例を示す図である。
【図１４】図１４は、第２の実施形態における先頭フレームのヘッダが追加されたゾーニングエントリを含むゾーニングテーブルの一例を示す図である。
【図１５】図１５は、第２の実施形態における通信制御システムの動作を示すフローチャートである。
【図１６】図１６は、第２の実施形態における通信制御システムの動作を示すフローチャートである。
【図１７】図１７は、第３の実施形態に係る通信制御システムの構成を示すブロック図である。
【図１８】図１８は、第３の実施形態に係る通信制御システムを含む情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
【００２３】
＜＜＜第１の実施形態＞＞＞
図１は、本発明の第１の実施形態に係る通信制御システム１００の構成を示すブロック図である。
【００２４】
図１に示すように、本実施形態に係る通信制御システム１００は、開始機器特定部１１１、機器情報通知部１２１、再送コマンド発行部（再送指示発行手段とも呼ばれる）１２２及びフレーム通知部１３１を含む。機器情報通知部１２１及び再送コマンド発行部１２２の組とフレーム通知部１３１とのそれぞれは、図１の例に係わらず、複数含まれてもよい。
【００２５】
開始機器特定部１１１と機器情報通知部１２１、再送コマンド発行部１２２及びフレーム通知部１３１のそれぞれは、管理用ネットワーク（不図示）で接続されている。
【００２６】
図２は、本発明の第１の実施形態に係る通信制御システム１００（図２には不図示）を含む情報処理システム１０１の構成を示すブロック図である。
【００２７】
図２に示すように、情報処理システム１０１は、再送制御装置１１０とサーバ１２０とスイッチ１３０とストレージ１４０とを含む。サーバ１２０及びストレージ１４０は、一般的に機器とも呼ばれる。サーバ１２０、スイッチ１３０及びストレージ１４０のそれぞれは、図２の例に係わらず複数含まれてもよい。
【００２８】
再送制御装置１１０とサーバ１２０、スイッチ１３０及びストレージ１４０のそれぞれとは、管理用ネットワークであるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１７１で接続される。
【００２９】
再送制御装置１１０は、開始機器特定部１１１を含む。
【００３０】
サーバ１２０は、機器情報通知部１２１、再送コマンド発行部１２２及びホストバスアダプタ（ＨＢＡ；Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）１２４を含む。ホストバスアダプタ１２４は、例えば、ファイバーチャネルのインタフェースカードである。
【００３１】
スイッチ１３０は、フレーム通知部１３１を含む。スイッチ１３０は、例えば、ファイバーチャネルスイッチである。
【００３２】
ストレージ１４０は、ホストバスアダプタ１４４を含む。ホストバスアダプタ１４４は、例えば、ファイバーチャネルのインタフェースカードである。
【００３３】
サーバ１２０のホストバスアダプタ１２４は、ファイバーチャネル（ＦＣ；Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）１７２を介して、スイッチ１３０に接続される。また、ストレージ１４０のホストバスアダプタ１４４は、ファイバーチャネル１７４を介してスイッチ１３０に接続される。
【００３４】
次に、図１に示す通信制御システム１００の概要について説明する。
【００３５】
通信制御システム１００は、通信路を介して機器間でデータを交換する場合に、複数のフレーム（通信路上の伝送単位）の転送処理を含むエクスチェンジ（交換処理とも呼ばれる）を制御する通信制御システムである。
【００３６】
図３は、図１に示す通信制御システム１００を含む、図２に示す情報処理システム１０１における、交換処理の一例を示す図である。図３に示す交換処理は、サービスクラスがクラス３のファイバーチャネルにおけるエクスチェンジの例である。
【００３７】
図３に示すように、第１に、サーバ１２０が、スイッチ１３０を介して、コマンドのフレームをストレージ１４０に送信する。第２に、ストレージ１４０は、スイッチ１３０を介して、複数フレーム（ペイロードが２１１２バイト以下の場合は、１フレーム）からなるデータ（ストレージ１４０から受信したデータ）のフレームをサーバ１２０に送信する。第３に、ストレージ１４０は、スイッチ１３０を介して、ステイタス（ストレージ１４０から受信したステイタス）のフレームをサーバ１２０に送信する。
【００３８】
図４は、フレームの一例を示す図である。図４に示すフレームの例は、サービスクラスがクラス３のファイバーチャネルにおけるフレームの例である。
【００３９】
図４に示すように、そのフレームは、最大２１４８バイトの可変長であり、３６バイトのオーバーヘッド部分と０から２１１２バイトまでのペイロード部分とで構成される。
【００４０】
Ｄ＿ＩＤ（Ｄｅｓｔｉｎａｔｉｏｎ＿Ｉｄｅｎｔｉｆｉｅｒ）は、宛先アドレス（宛先識別子とも呼ばれる）であり、フレームの宛先である。
【００４１】
Ｓ＿ＩＤ（Ｓｏｕｒｃｅ＿Ｉｄｅｎｔｉｆｉｅｒ）は、送信元アドレス（送信元識別子とも呼ばれる）であり、フレームの送信元である。
【００４２】
即ち、図３に示すコマンドのフレームにおいて、Ｄ＿ＩＤは、サーバ１２０のアドレスであり、Ｓ＿ＩＤは、ストレージ１４０のアドレスである。また、データのフレームとステイタスのフレームにおいて、Ｄ＿ＩＤは、ストレージ１４０のアドレスであり、Ｓ＿ＩＤは、サーバ１２０のアドレスである。
【００４３】
Ｆ−ＣＴＬは、エクスチェンジを論理的な固まりとして管理、制御するためのビットが格納される。例えば、Ｆ−ＣＴＬ（Ｆｒａｍｅ−Ｃｏｎｔｒｏｌ）は、エクスチェンジの先頭のフレームであることを示すＦｉｒｓｔＳｅｑｕｅｎｃｅビットを含む。
【００４４】
ＯＸ＿ＩＤ（Ｏｒｉｇｉｎａｔｏｒ  Ｅｘｃｈａｎｇｅ＿Ｉｄｅｎｔｉｆｉｅｒ）は、エクスチェンジを開始したオリジネータ側（コマンドのフレームを送信する側）において、個々のエクスチェンジ（交換処理）を特定する識別子である。
【００４５】
ＲＸ＿ＩＤ（Ｒｅｓｐｏｎｄｅｒ  Ｅｘｃｈａｎｇｅ＿Ｉｄｅｎｔｉｆｉｅｒ）は、オリジネータに応答するレスポンダ側（コマンドのフレームを受信する側）において、個々のエクスチェンジを特定する識別子である。尚、先頭フレームにおいては、オリジネータは、ＲＸ−ＩＤを知らないため、このＲＸ−ＩＤの領域に０ｘＦＦＦＦ（１６進数のＦＦＦＦ、即ち前ビットが１）を設定する。
【００４６】
上述以外のフレームの詳細は、本実施形態の理解する際には、不要であるため省略する。
【００４７】
図５は、通信制御システム１００を含む情報処理システム１０１において、フレームロスが発生した場合の動作の概要を示す図である。
【００４８】
サーバ１２０は、ある交換処理のフレームを、スイッチ１３０へ送信する（ステップＳ６０１）。
【００４９】
次に、スイッチ１３０は、そのフレームについてＣＲＣエラーを検出し、そのフレームを破棄する（ステップＳ６０２）。
【００５０】
次に、スイッチ１３０は、そのフレームのヘッダを、再送制御装置１１０へ送信する（ステップＳ６０３）。
【００５１】
次に、再送制御装置１１０は、受信したそのフレームのヘッダに基づいて、エラーフレームが発生したこと（フレームが破棄されたこと）を示すエラー通知を、サーバ１２０に送信する（ステップＳ６０４）。
【００５２】
次に、サーバ１２０は、そのエラー通知に基づいて、その交換処理を再実行する（ステップＳ６０５）。
【００５３】
以上が、通信制御システム１００の概要についての説明である。
【００５４】
次に、通信制御システム１００が備える各構成要素について説明する。尚、図１に示す構成要素は、ハードウェア単位の構成要素でも、コンピュータ装置の機能単位に分割した構成要素でもよい。ここでは、図１に示す構成要素は、コンピュータ装置の機能単位に分割した構成要素として説明する。
【００５５】
＝＝＝フレーム通知部１３１＝＝＝
フレーム通知部１３１は、交換処理（例えば、図３に示すエクスチェンジ）の先頭のフレームである先頭フレーム、及び伝送エラーが発生しているフレームであるエラーフレームを検出する。次に、フレーム通知部１３１は、その検出された先頭フレームのヘッダ、及びその検出されたエラーフレームのヘッダを、開始機器特定部１１１へ送信する。
【００５６】
フレーム通知部１３１は、例えば、図４に示すＦ−ＣＴＬのＦｉｒｓｔＳｅｑｕｅｎｃｅビットを参照して、スイッチ１３０が受信したフレームが先頭フレームであるか否かを判定する。また、フレーム通知部１３１は、図４に示すＲＸ−ＩＤを参照して、スイッチ１３０が受信したフレームが先頭フレームであるか否かを判定するようにしてもよい。或いは、スイッチ１３０は、Ｆ−ＣＴＬのＦｉｒｓｔＳｅｑｕｅｎｃｅビット及びＲＸ−ＩＤの両方を参照して、スイッチ１３０が受信したフレームが先頭フレームであるか否かを判定するようにしてもよい。
【００５７】
フレーム通知部１３１は、スイッチ１３０が受信したフレームにおいてＣＲＣエラーを検出した場合、そのフレームをエラーフレームとして検出する。また、フレーム通知部１３１は、スイッチ１３０が受信したフレームにおいてＣＲＣエラー、同期エラー、８ｂ／１０ｂコードエラー、フレームサイズ不正及びその他の異常のいずれかを検出した場合、そのフレームをエラーフレームとして検出するようにしてもよい。
【００５８】
＝＝＝機器情報通知部１２１＝＝＝
機器情報通知部１２１は、その交換処理の機器情報を送信する。その機器情報は、その交換処理を開始する機器を特定する機器識別子とそのフレーム（先頭フレーム）に含まれる宛先識別子とそのフレームに含まれる送信元識別子とを含む、
図６は、機器情報８１０の一例を示す図である。その宛先識別子は、例えば、図４に示すＤ＿ＩＤである。その送信元識別子は、例えば、図４に示すＳ＿ＩＤである。その機器識別子は、例えば、ＬＡＮ１７１上のＩＰアドレスである。
【００５９】
例えば、その機器は、図２に示すサーバ１２０である。この場合、その宛先識別子は、スイッチ１３０のＤ＿ＩＤである。その送信元識別子は、サーバ１２０のＳ＿ＩＤである。また、その機器識別子は、例えば、サーバ１２０のＩＰアドレスである。
【００６０】
＝＝＝開始機器特定部１１１＝＝＝
開始機器特定部１１１は、フレーム通知部１３１から受信した、その先頭フレームのヘッダに含まれる内容とそのエラーフレームのヘッダに含まれる内容とに基づいて、そのエラーフレームに対応するその先頭フレームを特定する。
【００６１】
また、開始機器特定部１１１は、機器に、そのエラーフレームが発生したことを示すエラー通知を送信する。ここで、その機器は、その特定した先頭フレームのヘッダに含まれる送信元識別子に対応する、その機器識別子で特定される機器である。その機器識別子は、機器情報通知部１２１から受信した機器情報８１０に含まれる機器識別子である。
【００６２】
例えば、開始機器特定部１１１は、フレーム通知部１３１が送信したその先頭フレームのヘッダに含まれる内容と、同じくフレーム通知部１３１が送信したそのエラーフレームのヘッダに含まれる内容とを比較する。続けて、開始機器特定部１１１は、その比較した結果に基づいて、そのエラーフレームに対応するその先頭フレームを特定する。
【００６３】
より具体的には、開始機器特定部１１１は、先頭フレームのヘッダのそれぞれに含まれるＯＸ＿ＩＤ（交換処理を特定する識別子とも呼ばれる）とそのエラーフレームのヘッダに含まれるＯＸ＿ＩＤとを比較する。そして、開始機器特定部１１１は、それらのＯＸ＿ＩＤが一致する場合に、その先頭フレームのヘッダに対応する先頭フレームを、そのエラーフレームに対応する先頭フレームとして特定する。
【００６４】
更に、開始機器特定部１１１は、先頭フレームのヘッダのそれぞれに含まれるＤ＿ＩＤ（宛先識別子とも呼ばれる）及びＳ＿ＩＤ（送信元識別子とも呼ばれる）の組と、そのエラーフレームのヘッダに含まれるＤ＿ＩＤ及びＳ＿ＩＤとの組とを比較するようにしてもよい。そして、開始機器特定部１１１は、それらのＤ＿ＩＤ及びＳ＿ＩＤの組が一致する場合に、その先頭フレームのヘッダに対応する先頭フレームを、そのエラーフレームに対応する先頭フレームとして特定するようにしてもよい。尚、開始機器特定部１１１は、これらを比較する際に、先頭フレームのヘッダに含まれるＤ＿ＩＤ及びＳ＿ＩＤのそれぞれと、エラーフレームのヘッダに含まれるＳ＿ＩＤ及びＤ＿ＩＤが一致する場合も、それらのＤ＿ＩＤ及びＳ＿ＩＤの組が一致すると見做す。
【００６５】
また、開始機器特定部１１１は、機器情報通知部１２１が送信したその機器情報８１０に基づいて、その特定された先頭フレームのヘッダに含まれる送信元識別子に対応するその機器識別子を取得する。続けて、開始機器特定部１１１は、その機器識別子で特定される機器へ、そのエラーフレームが発生したことを示すエラー通知を送信する。
【００６６】
＝＝＝再送コマンド発行部１２２＝＝＝
再送コマンド発行部１２２は、開始機器特定部１１１が送信したそのエラー通知に基づいて、その特定された先頭フレームに対応するその交換処理の再実行を指示する。
【００６７】
再送コマンド発行部１２２は、例えば、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）レイヤの再送要求を発行することで、その交換処理の再実行を指示する。この場合、一般的なＨＢＡに実装されているＳＣＳＩの再送と同様の動作となる。即ち、ＳＣＳＩレイヤから再送を行うことは、エラーフレームが発生したために再送を行う場合であっても、先に開始されたエクスチェンジとの競合に関して、問題が発生しない再送が保障する。
【００６８】
以上が、通信制御システム１００の機能単位の各構成要素についての説明である。
【００６９】
次に、通信制御システム１００の各構成要素のハードウェア単位の構成要素について説明する。
【００７０】
図７は、本実施形態における通信制御システム１００の各構成要素を実現するコンピュータ７００のハードウェア構成を示す図である。
【００７１】
図７に示すように、コンピュータ７００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、記憶部７０２及び通信部７０６を含む。更に、コンピュータ７００は、記憶装置７０３、入力部７０４、出力部７０５を含んでよい。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体であってもよい。
【００７２】
尚、機器情報通知部１２１及び再送コマンド発行部１２２を実現するコンピュータ７００は、サーバ１２０であってよい。フレーム通知部１３１を実現するコンピュータ７００は、スイッチ１３０であってよい。
【００７３】
また、再送制御装置１１０は、サーバ１２０に含まれてもよい。この場合、開始機器特定部１１１を実現するコンピュータ７００は、サーバ１２０であってよい。
【００７４】
ＣＰＵ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の、全体の動作を制御する。また、ＣＰＵ７０１は、例えば記憶装置７０３に装着された記録媒体７０７から、プログラムやデータを読み込み、読み込んだプログラムやデータを記憶部７０２に書き込む。ここで、そのプログラムは、例えば、後述の図８、図９、図１５及び図１６に示すフローチャートの動作をコンピュータ７００に実行させるプログラムである。
【００７５】
そして、ＣＰＵ７０１は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図１に示す開始機器特定部１１１、機器情報通知部１２１、再送コマンド発行部１２２及びフレーム通知部１３１として各種の処理を実行する。
【００７６】
尚、ＣＰＵ７０１は、通信網（不図示）に接続されている外部コンピュータ（不図示）から、記憶部７０２にプログラムやデータをダウンロードするようにしてもよい。
【００７７】
記憶部７０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などであり、プログラムやデータを記憶する。
【００７８】
記憶装置７０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体７０７を含む。記憶装置７０３（記録媒体７０７）は、プログラムをコンピュータ読み取り可能に記憶する。また、記憶装置７０３は、データを記憶してもよい。
【００７９】
入力部７０４は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力部７０４は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネルなどでもよい。
【００８０】
出力部７０５は、例えばディスプレイで実現され、出力を確認するために用いられる。
【００８１】
通信部７０６は、例えば、ＬＡＮ１７１のインタフェースカードである。通信部７０６は、開始機器特定部１１１、機器情報通知部１２１、再送コマンド発行部１２２及びフレーム通知部１３１の一部として含まれる。
【００８２】
以上説明したように、図１に示す通信制御システム１００の各構成要素の機能単位のブロックは、図７に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００８３】
尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給され、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを読み出して実行するようにしてもよい。或いは、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを、記憶部７０２、記憶装置７０３またはその両方に格納するようにしてもよい。すなわち、本実施形態は、コンピュータ７００（ＣＰＵ７０１）が実行するプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。
【００８４】
以上が、本実施形態における通信制御システム１００の各構成要素を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【００８５】
次に、本実施形態の動作について、図１〜図９を参照して詳細に説明する。
【００８６】
図８及び図９は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵ７０１によるプログラム制御に基づいて、実行されても良い。また、処理のステップ名についてはステップＳ６０１のように、記号で記載する。
【００８７】
図８は、ログイン時の動作を示すフローチャートである。
【００８８】
機器情報通知部１２１は、ホストバスアダプタ１２４からＤ＿ＩＤとＳ＿ＩＤとを取得する（ステップＳ６１１）。
【００８９】
次に、機器情報通知部１２１は、ＬＡＮ１７１に接続するネットワークカードのＩＰアドレスを取得する（ステップＳ６１２）。
【００９０】
次に、機器情報通知部１２１は、そのＤ＿ＩＤを宛先識別子とし、そのＳ＿ＩＤを送信元識別子とし、そのＩＰアドレスを機器識別子として含む機器情報８１０を再送制御装置１１０の開始機器特定部１１１へ送信する（ステップＳ６１３）。
【００９１】
次に、開始機器特定部１１１は、その機器情報８１０を受信し、例えば、図７に示す記憶部７０２に記憶する（ステップＳ６１４）。そして処理は終了する。
【００９２】
図９は、スイッチ１３０がフレームを受信したことを契機に開始する、通信制御システム１００の動作を示すフローチャートである。
【００９３】
スイッチ１３０のフレーム通知部１３１は、その受信したフレームが先頭フレームであるか否かを判定する（ステップＳ６２０）。先頭フレームであると判定された場合（ステップＳ６２０でＹＥＳ）、処理はステップＳ６２１へ進む。先頭フレームでないと判定された場合（ステップＳ６２０でＮＯ）、処理はステップＳ６２４へ進む。
【００９４】
ステップＳ６２０でＹＥＳの場合、スイッチ１３０のフレーム通知部１３１は、その受信したフレームがエラーフレームであるか否かを判定する（ステップＳ６２１）。エラーフレームであると判定された場合（ステップＳ６２１でＹＥＳ）、処理は終了する。エラーフレームでないと判定された場合（ステップＳ６２１でＮＯ）、処理はステップＳ６２２へ進む。
【００９５】
ステップＳ６２１でＮＯの場合、フレーム通知部１３１は、その先頭フレームのヘッダを、再送制御装置１１０の開始機器特定部１１１に送信する（ステップＳ６２２）。
【００９６】
次に、開始機器特定部１１１は、その先頭フレームのヘッダを受信し、例えば図７に示す記憶部７０２に、記憶する（ステップＳ６２３）。
【００９７】
ステップＳ６２０でＮＯの場合、フレーム通知部１３１は、その受信したフレームがエラーフレームであるか否かを判定する（ステップＳ６２４）。エラーフレームであると判定された場合（ステップＳ６２４でＹＥＳ）、処理はステップＳ６２５へ進む。エラーフレームでないと判定された場合（ステップＳ６２４でＮＯ）、処理は終了する。
【００９８】
ステップＳ６２４でＹＥＳの場合、フレーム通知部１３１は、そのエラーフレームのヘッダを、再送制御装置１１０の開始機器特定部１１１に送信する（ステップＳ６２５）。
【００９９】
次に、開始機器特定部１１１は、そのエラーフレームのヘッダを受信する（ステップＳ６２６）。
【０１００】
次に、開始機器特定部１１１は、その受信したエラーフレームのヘッダの内容と、ステップＳ６２３で記憶した先頭フレームのヘッダの内容とを比較し、その受信したエラーフレームに対応する先頭フレームが存在するか否かを判定する（ステップＳ６２７）。対応する先頭フレームが存在すると判定された場合（ステップＳ６２７でＹＥＳ）、処理はステップＳ６２８へ進む。対応する先頭フレームが存在しないと判定された場合（ステップＳ６２７でＮＯ）、処理は終了する。
【０１０１】
ステップＳ６２７でＹＥＳの場合、開始機器特定部１１１は、その先頭フレームに対応するエラー通知を生成し、その生成したエラー通知をサーバ１２０の再送コマンド発行部１２２に送信する（ステップＳ６２８）。ここで、開始機器特定部１１１は、図８のステップＳ６１４で受信した機器情報８１０に含まれる、送信元識別子と機器識別子とに基づいて、エラー通知の送信先とするサーバ１２０を決定する。
【０１０２】
次に、再送コマンド発行部１２２は、そのエラー通知を受信し、そのエラーフレームに対応する先頭フレームで始まる交換処理の再実行を指示する（ステップＳ６２９）。
【０１０３】
上述した本実施形態における第１の効果は、コネクションレス型のプロトコルを用いるデータフレームの転送において、通信系路上でフレームエラーが発生した場合の、再送に至るまでの時間を短縮することを可能にする点である。
【０１０４】
その理由は、以下のような構成を含むからである。第１に開始機器特定部１１１が、機器情報通知部１２１から受信した機器情報８１０とフレーム通知部１３１から受信した先頭フレーム及びエラーフレームのヘッダの内容とに基づいて、エラー通知を送信する。第２に、フレーム通知部１３１がエラー通知に基づいて、交換処理の再実行を指示する。
【０１０５】
上述した本実施形態における第２の効果は、エラーフレームが発生したために再送を行う場合であっても、先に開始されたエクスチェンジとの競合に関して、問題が発生しない再送が保障することを可能にする点である。
【０１０６】
その理由は、再送コマンド発行部１２２が、ＳＣＳＩレイヤの再送要求を発行するようにしたからである。
【０１０７】
＜＜＜第２の実施形態＞＞＞
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１０８】
図１０は、第２の実施形態に係る通信制御システム２００の構成を示すブロック図である。
【０１０９】
図１０に示すように、本実施形態に係る通信制御システム２００は、第１の実施形態の通信制御システム１００と比べて、開始機器特定部１１１に替えて開始機器特定部２１１を含む。また、通信制御システム２００は、通信制御システム１００と比べて、機器情報通知部１２１に替えて機器情報通知部２２１を含む。また、通信制御システム２００は、通信制御システム１００と比べて、フレーム通知部１３１に替えてフレーム通知部２３１を含む。また、通信制御システム２００は、通信制御システム１００と比べて、ゾーニングテーブル生成部（ゾーニングエントリ記録手段とも呼ばれる）２１２及びゾーニング情報通知部２３２を更に含む。
【０１１０】
図１１は、本実施形態に係る通信制御システム２００（図１１には不図示）を含む情報処理システム２０１の構成を示すブロック図である。
【０１１１】
図１１に示すように、情報処理システム２０１は、再送制御装置２１０とサーバ２２０とスイッチ２３０とストレージ１４０とを含む。サーバ２２０及びストレージ１４０は、一般的に機器とも呼ばれる。サーバ２２０、スイッチ２３０及びストレージ１４０のそれぞれは、図１１の例に係わらず複数含まれてもよい。
【０１１２】
再送制御装置２１０とサーバ２２０、スイッチ２３０及びストレージ１４０のそれぞれとは、管理用ネットワークであるＬＡＮ１７１で接続される。
【０１１３】
再送制御装置２１０は、開始機器特定部２１１及びゾーニングテーブル生成部２１２を含む。
【０１１４】
サーバ２２０は、機器情報通知部２２１及び再送コマンド発行部１２２を含む。
【０１１５】
スイッチ２３０は、フレーム通知部２３１及びゾーニング情報通知部２３２を含む。スイッチ２３０は、例えば、ファイバーチャネルスイッチである。
【０１１６】
ストレージ１４０は、図２に示すストレージ１４０と同等である。
【０１１７】
例えば、サーバ２２０とストレージ１４０との間の通信路は、ファイバーチャネルスイッチであるスイッチ２３０を用いてサーバ２２０とストレージ１４０とを接続するファブリックである。
【０１１８】
＝＝＝機器情報通知部２２１＝＝＝
機器情報通知部２２１は、宛先識別子と送信元識別子とサーバ２２０を特定する機器識別子とスイッチ２３０のポート番号とサーバ２２０に搭載されるホストバスアダプタ１２４のポート番号とを含む機器情報を、再送制御装置２１０へ送信する。ここで、ポート番号は、ファイバーチャネルのネットワークにおける、ホストバスアダプタ及びファイバーチャネルのポート毎の、ハードウェア固有のアドレスである。尚、サーバ２２０は、ホストバスアダプタ１２４及びファイバーチャネル１７２を介して、スイッチ２３０のポート番号を取得する。
【０１１９】
＝＝＝ゾーニング情報通知部２３２＝＝＝
ゾーニング情報通知部２３２は、スイッチ２３０のポート番号とそのポート番号に対応するゾーン識別子とを含むゾーニング情報を、再送制御装置２１０へ送信する。ここで、ゾーンとは、ファイバーチャネルのネットワークを論理的に分割した、互いに通信を行う機器のグループである。
【０１２０】
図１２は、ゾーニング情報８２０の一例を示す図である。図１２に示すように、ゾーニング情報８２０は、ポート番号（ＷＷＰＮ；Ｗｏｒｌｄ  Ｗｉｄｅ  Ｐｏｒｔ  Ｎｕｍｂｅｒ）とゾーン識別子との組を含む。
【０１２１】
＝＝＝ゾーニングテーブル生成部２１２＝＝＝
ゾーニングテーブル生成部２１２は、機器情報通知部２２１から受信した機器情報とゾーニング情報通知部２３２から受信したゾーニング情報８２０とに基づいて、ゾーニングエントリを記録する。
【０１２２】
図１３は、ゾーニングエントリ８２２を含むゾーニングテーブル８２１の一例を示す図である。
【０１２３】
図１３に示すようにゾーニングエントリ８２２は、ゾーニング識別子、スイッチポート番号（スイッチＷＷＰＮ）、サーバポート番号（サーバＷＷＰＮ）、機器識別子、送信元識別子（Ｓ＿ＩＤ）及び宛先識別子（Ｄ＿ＩＤ）を含む。
【０１２４】
＝＝＝フレーム通知部２３１＝＝＝
フレーム通知部２３１は、先頭フレームを検出した場合、その先頭フレームに対応するゾーン識別子とその先頭フレームのヘッダ（フレームヘッダとも呼ばれる）とを、再送制御装置２１０へ送信する。尚、フレーム通知部２３１は、先頭フレームを検出した場合、更にスイッチポート番号を上述の情報に加えて、再送制御装置２１０へ送信するようにしてもよい。フレーム通知部２３１は、エラーフレームを検出した場合、そのエラーフレームに対応するゾーン識別子とそのエラーフレームのヘッダ（フレームヘッダとも呼ばれる）とを、再送制御装置２１０へ送信する。尚、フレーム通知部２３１は、エラーフレームを検出した場合、更にスイッチポート番号を上述の情報に加えて、再送制御装置２１０へ送信するようにしてもよい。
【０１２５】
＝＝＝開始機器特定部２１１＝＝＝
開始機器特定部２１１は、先頭フレームに対応するゾーン識別子とその先頭フレームのヘッダとを受信した場合、その受信したゾーン識別子と先頭フレームのヘッダとに対応するゾーニングエントリ８２２に、その受信した先頭フレームのヘッダを追加する。尚、開始機器特定部２１１は、スイッチポート番号を同時に受信した場合は、その受信したスイッチポート番号にも対応するゾーニングエントリ８２２に、その受信した先頭フレームのヘッダを追加するようにしてもよい。
【０１２６】
具体的には、受信した先頭フレームのヘッダといずれかのゾーニングエントリ８２２との、ゾーン識別子が一致し、かつＳ＿ＩＤ及びＤ＿ＩＤが整合する場合に、開始機器特定部２１１は、そのゾーニングエントリ８２２に、その先頭フレームのヘッダを追加する。ここで、「Ｓ＿ＩＤ及びＤ＿ＩＤが整合する」とは、例えば、Ｓ＿ＩＤ同士が一致すること及びＤ＿ＩＤ同士が一致することである。また、「Ｓ＿ＩＤ及びＤ＿ＩＤが整合する」とは、その先頭フレームに含まれるＳ＿ＩＤとゾーニングエントリ８２２に含まれるＤ＿ＩＤとが一致し、かつその先頭フレームに含まれるＤ＿ＩＤとそのゾーニングエントリ８２２に含まれるＳ＿ＩＤとが一致することでもあってよい。
【０１２７】
図１４は、先頭フレームのヘッダが追加されたゾーニングエントリ８２３を含むゾーニングテーブル８２１の一例を示す図である。尚、図１４において、空白の先頭フレームヘッダの欄は、先頭フレームのヘッダが存在しないことを示す。
【０１２８】
また、開始機器特定部２１１は、エラーフレームに対応するゾーン識別子とそのエラーフレームのヘッダとを受信する。続けて開始機器特定部２１１は、ゾーニングエントリ８２３に含まれるゾーン識別子及び先頭フレームのヘッダに含まれる内容と、その受信したエラーフレームに対応するゾーン識別子及びそのエラーフレームのヘッダに含まれる内容とを比較する。続けて、開始機器特定部２１１は、その比較した結果に基づいて、そのエラーフレームに対応するその先頭フレームを特定する。尚、開始機器特定部２１１は、スイッチポート番号を同時に受信した場合は、その受信したスイッチポート番号もゾーニングエントリ８２３に含まれるスイッチポート番号と比較するようにしてよい。
【０１２９】
具体的には、開始機器特定部２１１は、受信したエラーフレームのヘッダといずれかのゾーニングエントリ８２３との、ゾーン識別子が一致し、ＯＸ＿ＩＤが一致し、かつＳ＿ＩＤ及びＤ＿ＩＤが整合する場合に、開始機器特定部２１１は、そのゾーニングエントリ８２３に記録されている先頭フレームのヘッダを、そのエラーフレームに対応する先頭フレームのヘッダとして特定する。こうして、開始機器特定部２１１は、そのエラーフレームに対応するその先頭フレームを特定する。
【０１３０】
また、開始機器特定部２１１は、機器情報通知部２２１が送信したその機器情報に基づいて、その特定された先頭フレームのヘッダに含まれる送信元識別子に対応するその機器識別子を取得する。続けて、開始機器特定部２１１は、その機器識別子で特定される機器へ、そのエラーフレームが発生したことを示すエラー通知を送信する。尚、開始機器特定部２１１は、機器情報通知部２２１が送信したその機器情報に基づいて、その特定された先頭フレームに対応するゾーニングエントリ８２３に含まれる、サーバポート番号に対応するその機器識別子を取得するようにしてもよい。
【０１３１】
次に、本実施形態の動作について、図面を参照して詳細に説明する。
【０１３２】
図１５及び図１６は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵ７０１によるプログラム制御に基づいて、実行されても良い。また、処理のステップ名についてはステップＳ６０１のように、記号で記載する。
【０１３３】
図１５は、ログイン時の動作を示すフローチャートである。
【０１３４】
機器情報通知部２２１は、ホストバスアダプタ１２４を介してファイバーチャネル１７２にログインし、ゾーニング識別子とスイッチポート番号とＤ＿ＩＤとＳ＿ＩＤとを取得する（ステップＳ６４１）。
【０１３５】
次に、機器情報通知部２２１は、ＬＡＮ１７１に接続するネットワークカードのＩＰアドレスを取得する（ステップＳ６４２）。
【０１３６】
次に、機器情報通知部２２１は、そのゾーニング識別子とそのスイッチポート番号とそのＤ＿ＩＤ（宛先識別子）とそのＳ＿ＩＤ（送信元識別子）、そのＩＰアドレス（機器識別子）とを含む機器情報を再送制御装置２１０の開始機器特定部２１１へ送信する（ステップＳ６４３）。
【０１３７】
次に、開始機器特定部２１１は、その機器情報を受信する（ステップＳ６４４）。
【０１３８】
次に、スイッチ２３０のゾーニング情報通知部２３２は、スイッチ２３０のポート番号とそのポート番号に対応するゾーン識別子とを含むゾーニング情報８２０を、再送制御装置２１０の開始機器特定部２１１へ送信する（ステップＳ６４５）。
【０１３９】
次に、開始機器特定部２１１は、そのゾーニング情報８２０を受信し、そのゾーニング情報８２０とステップＳ６４４で受信したその機器情報とに基づいて、図１３に示すゾーニングエントリ８２２を生成し、ゾーニングテーブル８２１に記録する（ステップＳ６４６）。そして、処理は終了する。
【０１４０】
図１６は、スイッチ２３０がフレームを受信したことを契機に、通信制御システム２００が開始する動作を示すフローチャートである。
【０１４１】
スイッチ２３０のフレーム通知部２３１は、その受信したフレームが先頭フレームであるか否かを判定する（ステップＳ６５０）。先頭フレームであると判定された場合（ステップＳ６５０でＹＥＳ）、処理はステップＳ６５１へ進む。先頭フレームでないと判定された場合（ステップＳ６５０でＮＯ）、処理はステップＳ６５４へ進む。
【０１４２】
ステップＳ６５０でＹＥＳの場合、フレーム通知部２３１は、その受信したフレームがエラーフレームであるか否かを判定する（ステップＳ６５１）。エラーフレームであると判定された場合（ステップＳ６５１でＹＥＳ）、処理は終了する。エラーフレームでないと判定された場合（ステップＳ６５１でＮＯ）、処理はステップＳ６５２へ進む。
【０１４３】
ステップＳ６５１でＮＯの場合、フレーム通知部２３１は、その先頭フレームを受信したポートに対応するゾーン識別子とその先頭フレームのヘッダとを、再送制御装置２１０の開始機器特定部２１１に送信する（ステップＳ６５２）。
【０１４４】
次に、開始機器特定部２１１は、その先頭フレームを受信したポートに対応するゾーン識別子とその先頭フレームのヘッダとを受信し、その受信したゾーン識別子とその先頭フレームのヘッダの内容とに対応するゾーニングエントリ８２２に、その受信した先頭フレームのヘッダを記録する（ステップＳ６５３）。ここで、その受信した先頭フレームのヘッダを記録されたゾーニングエントリが、ゾーニングエントリ８２３である。
【０１４５】
ステップＳ６５０でＮＯの場合、フレーム通知部２３１は、その受信したフレームがエラーフレームであるか否かを判定する（ステップＳ６５４）。エラーフレームであると判定された場合（ステップＳ６５４でＹＥＳ）、処理はステップＳ６５５へ進む。エラーフレームでないと判定された場合（ステップＳ６５４でＮＯ）、処理は終了する。
【０１４６】
ステップＳ６５４でＹＥＳの場合、フレーム通知部２３１は、そのエラーフレームを受信したポートに対応するゾーン識別子とそのエラーフレームのヘッダとを、再送制御装置２１０の開始機器特定部２１１に送信する（ステップＳ６５５）。
【０１４７】
次に、開始機器特定部２１１は、そのエラーフレームを受信したポートに対応するゾーン識別子とそのエラーフレームのヘッダとを受信する（ステップＳ６５６）。
【０１４８】
次に、開始機器特定部２１１は、その受信したゾーン識別子及びエラーフレームのヘッダの内容と、ゾーニングエントリ８２３に含まれるゾーン識別子及び先頭フレームのヘッダの内容とを比較し、その受信したエラーフレームに対応する先頭フレームが存在するか否かを判定する（ステップＳ６５７）。対応する先頭フレームが存在すると判定された場合（ステップＳ６５７でＹＥＳ）、処理はステップＳ６５８へ進む。対応する先頭フレームが存在しないと判定された場合（ステップＳ６５７でＮＯ）、処理は終了する。
【０１４９】
ステップＳ６５７でＹＥＳの場合、開始機器特定部２１１は、その先頭フレームに対応するエラー通知を生成し、その生成したエラー通知をサーバ２２０の再送コマンド発行部１２２に送信する（ステップＳ６５８）。ここで、開始機器特定部２１１は、図１５のステップＳ６４４で受信した機器情報に含まれる、送信元識別子と機器識別子とに基づいて、エラー通知の送信先とするサーバ２２０を決定する。
【０１５０】
次に、再送コマンド発行部１２２は、そのエラー通知を受信し、そのエラーフレームに対応する先頭フレームで始まる交換処理の再実行を指示する（ステップＳ６５９）。そして、処理は終了する。
【０１５１】
上述した本実施形態における効果は、第１の実施形態の効果に加えて、エラーフレームのヘッダ情報が正常な通信を行っているエクスチェンジのＯＸ＿ＩＤに化けたような場合でも、その正常な通信が行われているエクスチェンジに影響しないようにすることを可能にする点である。
【０１５２】
その理由は、第１の実施形態の構成に加えて、以下の構成を含むようにしたからである。第１に、ゾーニングテーブル生成部２１２が、機器情報通知部２２１から受信した機器情報と、ゾーニング情報通知部２３２から受信したゾーニング情報８２０とに基づいてゾーニングテーブル８２１を生成する、第２に、開始機器特定部２１１がゾーニングテーブル８２１に基づいて、エラーフレームに対応する先頭フレームを特定し、エラー通知を送信する。
【０１５３】
＜＜＜第３の実施形態＞＞＞
次に、本発明の第３の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１５４】
図１７は、本発明の第３の実施形態に係る通信制御システム３００の構成を示すブロック図である。
【０１５５】
図１７に示すように、本実施形態における通信制御システム３００は、第２の実施形態の通信制御システム２００と比べて、開始機器特定部２１１に替えて開始機器特定部３１１を含む。また、通信制御システム３００は、通信制御システム２００に比べて、コマンド完了通知部３２３を含む。
【０１５６】
＝＝＝コマンド完了通知部３２３＝＝＝
コマンド完了通知部３２３は、正常に終了したエクスチェンジに対応する、フレームのヘッダに含まれるＳ＿ＩＤ、Ｄ＿ＩＤ及びＯＸ＿ＩＤを含むコマンド完了通知を、開始機器特定部３１１へ送信する。
【０１５７】
＝＝＝開始機器特定部３１１＝＝＝
開始機器特定部３１１は、受信したコマンド完了通知に対応するゾーニングエントリ８２３から、先頭フレームのヘッダを削除する。
【０１５８】
図１８は、本実施形態に係る通信制御システム３００（図１８には不図示）を含む情報処理システム３０１の構成を示すブロック図である。
【０１５９】
図１８に示すように、情報処理システム３０１は、再送制御装置３１０とサーバ３２０とスイッチ２３０とストレージ１４０とを含む。サーバ３２０及びストレージ１４０は、一般的に機器とも呼ばれる。サーバ３２０、スイッチ２３０及びストレージ１４０のそれぞれは、図１８の例に係わらず複数含まれてもよい。
【０１６０】
再送制御装置３１０とサーバ３２０、スイッチ２３０及びストレージ１４０のそれぞれとは、管理用ネットワークであるＬＡＮ１７１で接続される。
【０１６１】
再送制御装置３１０は、開始機器特定部３１１及びゾーニングテーブル生成部２１２を含む。
【０１６２】
サーバ３２０は、機器情報通知部２２１、再送コマンド発行部１２２及びコマンド完了通知部３２３を含む。
【０１６３】
スイッチ２３０は、図１１に示すスイッチ２３０と同等である。
【０１６４】
ストレージ１４０は、図２及び図１１に示すストレージ１４０と同等である。
【０１６５】
例えば、サーバ３２０とストレージ１４０との間の通信路は、ファイバーチャネルスイッチであるスイッチ２３０を用いてサーバ３２０とストレージ１４０とを接続するファブリックである。
【０１６６】
上述した本実施形態における効果は、第２の実施形態の効果に加えて、既に終了したエクスチェンジと現在正常な通信が行われているエクスチェンジとを混同して、その正常な通信が行われているエクスチェンジに悪影響を与えることを防止することを可能にする点である。
【０１６７】
その理由は、開始機器特定部３１１が、コマンド完了通知部３２３から受信したコマンド完了通知に基づいて、そのコマンド完了通知に対応する先頭フレームをゾーニングエントリ８２３から削除するようにしたからである。
【０１６８】
上述の各実施形態のストレージ１４０は、ストレージ１４０がコマンドのフレームを送信する場合、即ちエクスチェンジを開始するオリジネータ側になる場合、各実施形態のサーバ１２０、サーバ２２０及びサーバ３２０のいずれかと同様の構成を含んでよい。即ち、ストレージ１４０は、機器情報通知部１２１或いは機器情報通知部２２１と同様の機器情報通知部（不図示）、再送コマンド発行部１２２と同様の再送コマンド発行部（不図示）を含むようにしてもよい。更に、ストレージ１４０は、コマンド完了通知部３２３と同様のコマンド完了通知部（不図示）を含むようにしてよい。この場合の、交換処理に関するストレージ１４０の動作は、上述したサーバ１２０、サーバ２２０及びサーバ３２０のいずれかの動作と同様である。
【０１６９】
また、各実施形態の通信制御システム１００、通信制御システム２００及び通信制御システム３００を含む情報処理システムは、サーバ１２０、サーバ２２０、サーバ３２０及びストレージ１４０のそれぞれに替えて、任意の情報処理装置、通信装置及び記憶装置などをオリジネータとして構成してよい。
【０１７０】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が１個のモジュールとして実現されてよい。また、各構成要素は、１つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
【０１７１】
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【０１７２】
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【０１７３】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
【０１７４】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
【０１７５】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
【０１７６】
以上、各実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。
【符号の説明】
【０１７７】
１００    通信制御システム
１０１    情報処理システム
１１０    再送制御装置
１１１    開始機器特定部
１２０    サーバ
１２１    機器情報通知部
１２２    再送コマンド発行部
１２４    ホストバスアダプタ
１３０    スイッチ
１３１    フレーム通知部
１４０    ストレージ
１４４    ホストバスアダプタ
１７１    ＬＡＮ
１７２    ファイバーチャネル
１７４    ファイバーチャネル
２００    通信制御システム
２０１    情報処理システム
２１０    再送制御装置
２１１    開始機器特定部
２１２    ゾーニングテーブル生成部
２２０    サーバ
２２１    機器情報通知部
２３０    スイッチ
２３１    フレーム通知部
２３２    ゾーニング情報通知部
３００    通信制御システム
３０１    情報処理システム
３１０    再送制御装置
３１１    開始機器特定部
３２０    サーバ
３２３    コマンド完了通知部
７００    コンピュータ
７０１    ＣＰＵ
７０２    記憶部
７０３    記憶装置
７０４    入力部
７０５    出力部
７０６    通信部
７０７    記録媒体
８１０    機器情報
８２０    ゾーニング情報
８２１    ゾーニングテーブル
８２２    ゾーニングエントリ
８２３    ゾーニングエントリ
【図１】
2014182739.tif 000003
【図２】
2014182739.tif 000004
【図３】
2014182739.tif 000005
【図４】
2014182739.tif 000006
【図５】
2014182739.tif 000007
【図６】
2014182739.tif 000008
【図７】
2014182739.tif 000009
【図８】
2014182739.tif 000010
【図９】
2014182739.tif 000011
【図１０】
2014182739.tif 000012
【図１１】
2014182739.tif 000013
【図１２】
2014182739.tif 000014
【図１３】
2014182739.tif 000015
【図１４】
2014182739.tif 000016
【図１５】
2014182739.tif 000017
【図１６】
2014182739.tif 000018
【図１７】
2014182739.tif 000019
【図１８】
2014182739.tif 000020