JP6136418B2 - 通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム - Google Patents

通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム Download PDF

Info

Publication number
JP6136418B2
JP6136418B2 JP2013058476A JP2013058476A JP6136418B2 JP 6136418 B2 JP6136418 B2 JP 6136418B2 JP 2013058476 A JP2013058476 A JP 2013058476A JP 2013058476 A JP2013058476 A JP 2013058476A JP 6136418 B2 JP6136418 B2 JP 6136418B2
Authority
JP
Japan
Prior art keywords
frame
error
header
identifier
exchange process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013058476A
Other languages
English (en)
Other versions
JP2014182739A (ja
Inventor
泰宏 日下部
泰宏 日下部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013058476A priority Critical patent/JP6136418B2/ja
Publication of JP2014182739A publication Critical patent/JP2014182739A/ja
Application granted granted Critical
Publication of JP6136418B2 publication Critical patent/JP6136418B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信の制御技術に関し、特にコネクションレス型のプロトコルを用いる通信の制御技術に関する。
情報処理装置及び記憶装置間でデータを送受信するための通信技術関連技術が知られている。
例えば、特許文献1は、ストレージシステムの一例を開示する。特許文献1のストレージシステムは、ネットワークを介して接続されたネットワークスイッチとストレージ装置とを含む。そのネットワークスイッチは、複数のポートとバッファメモリとの組を有する。そして、そのネットワークスイッチは、データフレーム転送において、それらのポートのいずれかに対応するバッファメモリのオーバーフロー発生を検出した場合に、他のポートを更に用いてデータフレームを転送する。
上述のストレージシステムにおいては、転送エラーが発生した場合の、再送処理が必要である。
例えば、特許文献2は、ディスクアレイシステムの一例を開示する。特許文献2のディスクアレイシステムは、ホストコンピュータから受信した書き込みデータを第1のディスク装置と第2のディスク装置とに、同時に書き込む。そして、その第1のディスク装置は、その書き込みデータから第1の誤り検出符号を生成し、その第2のディスク装置に送信する。その第2のディスク装置は、その第1の誤り検出符号を受信する。次に、その第2のディスク装置は、その書き込みデータから第2の誤り検出符号を生成し、その第2の誤り検出符号とその第1の誤り検出符号とを比較し、一致しない場合にそのホストコンピュータにデータ再送要求を返信する。
しかしながら、このようなシステムでは、コネクションレス型のプロトコルを用いる場合、再送処理が非効率であるという問題点があった。
具体的には、コネクションレス型のプロトコルにおいては、フレーム単位でのACK(Acknowledgement)がなく、個々のエラーフレームの特定ができない。そのため、一連のライト動作を最初から全て再実行することになる。換言すると、一部のエラーフレームを再送するために、一連のライト処理動作を再実行することが必要となる。
特許文献3は、ディスク装置の一例を開示する。特許文献3のディスク装置は、ホスト装置にFC−AL(Fiber Channel−Arbitrated Loop)を介して接続され、そのホスト装置からのデータフレームを一時保持する受信フレーム格納手段と、その受信フレーム格納手段に保持されたデータフレームを書き込む複数のディスクとを含む。また、そのディスク装置は、フレーム解析手段と、コマンド・エラー情報格納手段と及びディスク制御手段を含む。そのフレーム解析手段は、そのホスト装置から受信したデータフレームを解析し、エラーを検出する。そのコマンド・エラー情報格納手段は、そのエラーが検出された場合に、そのエラーに対応するフレームを特定する情報を格納する。そのディスク制御手段は、そのエラーが検出された場合に、そのホスト装置に再送を実行させるために、異常を知らせるフレームを送信する。次に、そのディスク制御手段は、再送によるデータフレームを受け取った場合、そのコマンド・エラー情報格納手段に格納された情報に基づいて、そのエラーを検出したデータフレームを受信するまでそのディスクへの書き込み動作を省略する。続けて、ディスク制御手段は、受信フレーム格納手段の空きを、即時にそのホスト装置に対して通知する。
特許文献3は、そのディスク装置を上述のような構成及び動作とすることで、再送ライト処理動作を高速化することができるとしている。
特開2008−112398号公報 特開2009−259100号公報 特開2008−129885号公報
しかしながら、上述した特許文献3に記載された技術においては、コネクションレス型のプロトコルを用いるデータフレームの転送において、通信系路上でフレームエラーが発生すると、再送に至るまでの時間が長くなってしまう場合があるという問題がある。
その理由は、特許文献3のディスク装置は、通信系路上でフレームエラーが発生しても、それを検出できない場合があり、その場合そのホスト装置に異常を知らせるフレームを送信することができないからである。換言すると、そのホスト装置は、上位のプロトコルレイヤのタイムアウトにより再送処理を開始するからである。
例えばクラス3のファイバーチャネル通信では、フレームの送信に対するACKの返却は行われない。そのため、通信路上でCRCエラー等のフレームエラーが発生するとそのフレームは破棄されるが、送信元(ホスト装置)へのエラー通知は行われない。具体的には、ファイバーチャネルスイッチは、CRC(Cyclic Redundancy Check)エラー等のフレームエラーを検出すると、そのフレームを破棄する。しかし、ファイバーチャネルスイッチは、送信元(ホスト装置)へのエラー通知を行わない。即ち、フレームエラーによるフレームロス発生時、ホスト装置は、上位のプロトコルレイヤのタイムアウトの発生に基づいて、再送処理を行う。従って、再送に至るまでの時間が、長くなってしまう。
本発明の目的は、上述した問題点を解決できる通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラムを提供することにある。
本発明の通信制御システムは、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む、機器情報を送信する機器情報通知手段と、前記交換処理の先頭の前記フレームである先頭フレームを検出した場合に前記先頭フレームのヘッダを送信し、伝送エラーが発生している前記フレームであるエラーフレームを検出した場合に前記エラーフレームのヘッダを送信するフレーム通知手段と、前記先頭フレームのヘッダに含まれる内容と前記エラーフレームのヘッダに含まれる内容とに基づいて前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する開始機器特定手段と、前記エラー通知に基づいて、前記先頭フレームに対応する前記交換処理の再実行を指示する再送指示発行手段と、を含む。
本発明の通信制御装置は、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する、開始機器特定手段を含む。
本発明の通信制御方法は、コンピュータが、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する。
本発明の通信制御方法は、サーバが、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む、機器情報を送信し、スイッチが、前記交換処理の先頭の前記フレームである先頭フレームを検出した場合に前記先頭フレームのヘッダを送信し、伝送エラーが発生している前記フレームであるエラーフレームを検出した場合に前記エラーフレームのヘッダを送信し、通信制御装置が、前記先頭フレームのヘッダに含まれる内容と前記エラーフレームのヘッダに含まれる内容とに基づいて前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する開始機器特定手段と、前記サーバが、前記エラー通知に基づいて、前記先頭フレームに対応する前記交換処理の再実行を指示する。
本発明のプログラムは、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む機器情報と、前記交換処理の先頭の前記フレームである先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する処理と、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する処理と、をコンピュータに実行させる。
本発明は、コネクションレス型のプロトコルを用いるデータフレームの転送において、通信系路上でフレームエラーが発生した場合の、再送に至るまでの時間を短縮することが可能になるという効果がある。
図1は、第1の実施形態に係る通信制御システムの構成を示すブロック図である。 図2は、第1の実施形態に係る通信制御システムを含む情報処理システムの構成を示すブロック図である。 図3は、第1の実施形態における情報処理システムにおける、交換処理の一例を示す図である。 図4は、第1の実施形態におけるフレームの一例を示す図である。 図5は、第1の実施形態におけるフレームロスが発生した場合の動作の概要を示す図である。 図6は、第1の実施形態における機器情報の一例を示す図である。 図7は、第1の実施形態に係る通信制御システムを実現するコンピュータのハードウェア構成を示すブロック図である。 図8は、第1の実施形態における通信制御システムの動作を示すフローチャートである。 図9は、第1の実施形態における通信制御システムの動作を示すフローチャートである。 図10は、第2の実施形態に係る通信制御システムの構成を示すブロック図である。 図11は、第2の実施形態に係る通信制御システムを含む情報処理システムの構成を示すブロック図である。 図12は、第2の実施形態におけるゾーニング情報の一例を示す図である。 図13は、第2の実施形態におけるゾーニングエントリを含むゾーニングテーブルの一例を示す図である。 図14は、第2の実施形態における先頭フレームのヘッダが追加されたゾーニングエントリを含むゾーニングテーブルの一例を示す図である。 図15は、第2の実施形態における通信制御システムの動作を示すフローチャートである。 図16は、第2の実施形態における通信制御システムの動作を示すフローチャートである。 図17は、第3の実施形態に係る通信制御システムの構成を示すブロック図である。 図18は、第3の実施形態に係る通信制御システムを含む情報処理システムの構成を示すブロック図である。
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
<<<第1の実施形態>>>
図1は、本発明の第1の実施形態に係る通信制御システム100の構成を示すブロック図である。
図1に示すように、本実施形態に係る通信制御システム100は、開始機器特定部111、機器情報通知部121、再送コマンド発行部(再送指示発行手段とも呼ばれる)122及びフレーム通知部131を含む。機器情報通知部121及び再送コマンド発行部122の組とフレーム通知部131とのそれぞれは、図1の例に係わらず、複数含まれてもよい。
開始機器特定部111と機器情報通知部121、再送コマンド発行部122及びフレーム通知部131のそれぞれは、管理用ネットワーク(不図示)で接続されている。
図2は、本発明の第1の実施形態に係る通信制御システム100(図2には不図示)を含む情報処理システム101の構成を示すブロック図である。
図2に示すように、情報処理システム101は、再送制御装置110とサーバ120とスイッチ130とストレージ140とを含む。サーバ120及びストレージ140は、一般的に機器とも呼ばれる。サーバ120、スイッチ130及びストレージ140のそれぞれは、図2の例に係わらず複数含まれてもよい。
再送制御装置110とサーバ120、スイッチ130及びストレージ140のそれぞれとは、管理用ネットワークであるLAN(Local Area Network)171で接続される。
再送制御装置110は、開始機器特定部111を含む。
サーバ120は、機器情報通知部121、再送コマンド発行部122及びホストバスアダプタ(HBA;Host Bus Adapter)124を含む。ホストバスアダプタ124は、例えば、ファイバーチャネルのインタフェースカードである。
スイッチ130は、フレーム通知部131を含む。スイッチ130は、例えば、ファイバーチャネルスイッチである。
ストレージ140は、ホストバスアダプタ144を含む。ホストバスアダプタ144は、例えば、ファイバーチャネルのインタフェースカードである。
サーバ120のホストバスアダプタ124は、ファイバーチャネル(FC;Fibre Channel)172を介して、スイッチ130に接続される。また、ストレージ140のホストバスアダプタ144は、ファイバーチャネル174を介してスイッチ130に接続される。
次に、図1に示す通信制御システム100の概要について説明する。
通信制御システム100は、通信路を介して機器間でデータを交換する場合に、複数のフレーム(通信路上の伝送単位)の転送処理を含むエクスチェンジ(交換処理とも呼ばれる)を制御する通信制御システムである。
図3は、図1に示す通信制御システム100を含む、図2に示す情報処理システム101における、交換処理の一例を示す図である。図3に示す交換処理は、サービスクラスがクラス3のファイバーチャネルにおけるエクスチェンジの例である。
図3に示すように、第1に、サーバ120が、スイッチ130を介して、コマンドのフレームをストレージ140に送信する。第2に、ストレージ140は、スイッチ130を介して、複数フレーム(ペイロードが2112バイト以下の場合は、1フレーム)からなるデータ(ストレージ140から受信したデータ)のフレームをサーバ120に送信する。第3に、ストレージ140は、スイッチ130を介して、ステイタス(ストレージ140から受信したステイタス)のフレームをサーバ120に送信する。
図4は、フレームの一例を示す図である。図4に示すフレームの例は、サービスクラスがクラス3のファイバーチャネルにおけるフレームの例である。
図4に示すように、そのフレームは、最大2148バイトの可変長であり、36バイトのオーバーヘッド部分と0から2112バイトまでのペイロード部分とで構成される。
D_ID(Destination_Identifier)は、宛先アドレス(宛先識別子とも呼ばれる)であり、フレームの宛先である。
S_ID(Source_Identifier)は、送信元アドレス(送信元識別子とも呼ばれる)であり、フレームの送信元である。
即ち、図3に示すコマンドのフレームにおいて、D_IDは、ストレージ140のアドレスであり、S_IDは、サーバ120のアドレスである。また、データのフレームとステイタスのフレームにおいて、D_IDは、サーバ120のアドレスであり、S_IDは、ストレージ140のアドレスである。



F−CTLは、エクスチェンジを論理的な固まりとして管理、制御するためのビットが格納される。例えば、F−CTL(Frame−Control)は、エクスチェンジの先頭のフレームであることを示すFirstSequenceビットを含む。
OX_ID(Originator Exchange_Identifier)は、エクスチェンジを開始したオリジネータ側(コマンドのフレームを送信する側)において、個々のエクスチェンジ(交換処理)を特定する識別子である。
RX_ID(Responder Exchange_Identifier)は、オリジネータに応答するレスポンダ側(コマンドのフレームを受信する側)において、個々のエクスチェンジを特定する識別子である。尚、先頭フレームにおいては、オリジネータは、RX−IDを知らないため、このRX−IDの領域に0xFFFF(16進数のFFFF、即ち前ビットが1)を設定する。
上述以外のフレームの詳細は、本実施形態の理解する際には、不要であるため省略する。
図5は、通信制御システム100を含む情報処理システム101において、フレームロスが発生した場合の動作の概要を示す図である。
サーバ120は、ある交換処理のフレームを、スイッチ130へ送信する(ステップS601)。
次に、スイッチ130は、そのフレームについてCRCエラーを検出し、そのフレームを破棄する(ステップS602)。
次に、スイッチ130は、そのフレームのヘッダを、再送制御装置110へ送信する(ステップS603)。
次に、再送制御装置110は、受信したそのフレームのヘッダに基づいて、エラーフレームが発生したこと(フレームが破棄されたこと)を示すエラー通知を、サーバ120に送信する(ステップS604)。
次に、サーバ120は、そのエラー通知に基づいて、その交換処理を再実行する(ステップS605)。
以上が、通信制御システム100の概要についての説明である。
次に、通信制御システム100が備える各構成要素について説明する。尚、図1に示す構成要素は、ハードウェア単位の構成要素でも、コンピュータ装置の機能単位に分割した構成要素でもよい。ここでは、図1に示す構成要素は、コンピュータ装置の機能単位に分割した構成要素として説明する。
===フレーム通知部131===
フレーム通知部131は、交換処理(例えば、図3に示すエクスチェンジ)の先頭のフレームである先頭フレーム、及び伝送エラーが発生しているフレームであるエラーフレームを検出する。次に、フレーム通知部131は、その検出された先頭フレームのヘッダ、及びその検出されたエラーフレームのヘッダを、開始機器特定部111へ送信する。
フレーム通知部131は、例えば、図4に示すF−CTLのFirstSequenceビットを参照して、スイッチ130が受信したフレームが先頭フレームであるか否かを判定する。また、フレーム通知部131は、図4に示すRX−IDを参照して、スイッチ130が受信したフレームが先頭フレームであるか否かを判定するようにしてもよい。或いは、スイッチ130は、F−CTLのFirstSequenceビット及びRX−IDの両方を参照して、スイッチ130が受信したフレームが先頭フレームであるか否かを判定するようにしてもよい。
フレーム通知部131は、スイッチ130が受信したフレームにおいてCRCエラーを検出した場合、そのフレームをエラーフレームとして検出する。また、フレーム通知部131は、スイッチ130が受信したフレームにおいてCRCエラー、同期エラー、8b/10bコードエラー、フレームサイズ不正及びその他の異常のいずれかを検出した場合、そのフレームをエラーフレームとして検出するようにしてもよい。
===機器情報通知部121===
機器情報通知部121は、その交換処理の機器情報を送信する。その機器情報は、その交換処理を開始する機器を特定する機器識別子とそのフレーム(先頭フレーム)に含まれる宛先識別子とそのフレームに含まれる送信元識別子とを含む、
図6は、機器情報810の一例を示す図である。その宛先識別子は、例えば、図4に示すD_IDである。その送信元識別子は、例えば、図4に示すS_IDである。その機器識別子は、例えば、LAN171上のIPアドレスである。
例えば、その機器は、図2に示すサーバ120である。この場合、その宛先識別子は、スイッチ130のD_IDである。その送信元識別子は、サーバ120のS_IDである。また、その機器識別子は、例えば、サーバ120のIPアドレスである。
===開始機器特定部111===
開始機器特定部111は、フレーム通知部131から受信した、その先頭フレームのヘッダに含まれる内容とそのエラーフレームのヘッダに含まれる内容とに基づいて、そのエラーフレームに対応するその先頭フレームを特定する。
また、開始機器特定部111は、機器に、そのエラーフレームが発生したことを示すエラー通知を送信する。ここで、その機器は、その特定した先頭フレームのヘッダに含まれる送信元識別子に対応する、その機器識別子で特定される機器である。その機器識別子は、機器情報通知部121から受信した機器情報810に含まれる機器識別子である。
例えば、開始機器特定部111は、フレーム通知部131が送信したその先頭フレームのヘッダに含まれる内容と、同じくフレーム通知部131が送信したそのエラーフレームのヘッダに含まれる内容とを比較する。続けて、開始機器特定部111は、その比較した結果に基づいて、そのエラーフレームに対応するその先頭フレームを特定する。
より具体的には、開始機器特定部111は、先頭フレームのヘッダのそれぞれに含まれるOX_ID(交換処理を特定する識別子とも呼ばれる)とそのエラーフレームのヘッダに含まれるOX_IDとを比較する。そして、開始機器特定部111は、それらのOX_IDが一致する場合に、その先頭フレームのヘッダに対応する先頭フレームを、そのエラーフレームに対応する先頭フレームとして特定する。
更に、開始機器特定部111は、先頭フレームのヘッダのそれぞれに含まれるD_ID(宛先識別子とも呼ばれる)及びS_ID(送信元識別子とも呼ばれる)の組と、そのエラーフレームのヘッダに含まれるD_ID及びS_IDとの組とを比較するようにしてもよい。そして、開始機器特定部111は、それらのD_ID及びS_IDの組が一致する場合に、その先頭フレームのヘッダに対応する先頭フレームを、そのエラーフレームに対応する先頭フレームとして特定するようにしてもよい。尚、開始機器特定部111は、これらを比較する際に、先頭フレームのヘッダに含まれるD_ID及びS_IDのそれぞれと、エラーフレームのヘッダに含まれるS_ID及びD_IDが一致する場合も、それらのD_ID及びS_IDの組が一致すると見做す。
また、開始機器特定部111は、機器情報通知部121が送信したその機器情報810に基づいて、その特定された先頭フレームのヘッダに含まれる送信元識別子に対応するその機器識別子を取得する。続けて、開始機器特定部111は、その機器識別子で特定される機器へ、そのエラーフレームが発生したことを示すエラー通知を送信する。
===再送コマンド発行部122===
再送コマンド発行部122は、開始機器特定部111が送信したそのエラー通知に基づいて、その特定された先頭フレームに対応するその交換処理の再実行を指示する。
再送コマンド発行部122は、例えば、SCSI(Small Computer System Interface)レイヤの再送要求を発行することで、その交換処理の再実行を指示する。この場合、一般的なHBAに実装されているSCSIの再送と同様の動作となる。即ち、SCSIレイヤから再送を行うことは、エラーフレームが発生したために再送を行う場合であっても、先に開始されたエクスチェンジとの競合に関して、問題が発生しない再送が保障する。
以上が、通信制御システム100の機能単位の各構成要素についての説明である。
次に、通信制御システム100の各構成要素のハードウェア単位の構成要素について説明する。
図7は、本実施形態における通信制御システム100の各構成要素を実現するコンピュータ700のハードウェア構成を示す図である。
図7に示すように、コンピュータ700は、CPU(Central Processing Unit)701、記憶部702及び通信部706を含む。更に、コンピュータ700は、記憶装置703、入力部704、出力部705を含んでよい。更に、コンピュータ700は、外部から供給される記録媒体(または記憶媒体)707を含む。記録媒体707は、情報を非一時的に記憶する不揮発性記録媒体であってもよい。
尚、機器情報通知部121及び再送コマンド発行部122を実現するコンピュータ700は、サーバ120であってよい。フレーム通知部131を実現するコンピュータ700は、スイッチ130であってよい。
また、再送制御装置110は、サーバ120に含まれてもよい。この場合、開始機器特定部111を実現するコンピュータ700は、サーバ120であってよい。
CPU701は、オペレーティングシステム(不図示)を動作させて、コンピュータ700の、全体の動作を制御する。また、CPU701は、例えば記憶装置703に装着された記録媒体707から、プログラムやデータを読み込み、読み込んだプログラムやデータを記憶部702に書き込む。ここで、そのプログラムは、例えば、後述の図8、図9、図15及び図16に示すフローチャートの動作をコンピュータ700に実行させるプログラムである。
そして、CPU701は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図1に示す開始機器特定部111、機器情報通知部121、再送コマンド発行部122及びフレーム通知部131として各種の処理を実行する。
尚、CPU701は、通信網(不図示)に接続されている外部コンピュータ(不図示)から、記憶部702にプログラムやデータをダウンロードするようにしてもよい。
記憶部702は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、プログラムやデータを記憶する。
記憶装置703は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体707を含む。記憶装置703(記録媒体707)は、プログラムをコンピュータ読み取り可能に記憶する。また、記憶装置703は、データを記憶してもよい。
入力部704は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力部704は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネルなどでもよい。
出力部705は、例えばディスプレイで実現され、出力を確認するために用いられる。
通信部706は、例えば、LAN171のインタフェースカードである。通信部706は、開始機器特定部111、機器情報通知部121、再送コマンド発行部122及びフレーム通知部131の一部として含まれる。
以上説明したように、図1に示す通信制御システム100の各構成要素の機能単位のブロックは、図7に示すハードウェア構成のコンピュータ700によって実現される。但し、コンピュータ700が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ700は、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
尚、上述のプログラムのコードを記録した記録媒体707が、コンピュータ700に供給され、CPU701は、記録媒体707に格納されたプログラムのコードを読み出して実行するようにしてもよい。或いは、CPU701は、記録媒体707に格納されたプログラムのコードを、記憶部702、記憶装置703またはその両方に格納するようにしてもよい。すなわち、本実施形態は、コンピュータ700(CPU701)が実行するプログラム(ソフトウェア)を、一時的にまたは非一時的に、記憶する記録媒体707の実施形態を含む。
以上が、本実施形態における通信制御システム100の各構成要素を実現するコンピュータ700の、ハードウェア単位の各構成要素についての説明である。
次に、本実施形態の動作について、図1〜図9を参照して詳細に説明する。
図8及び図9は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPU701によるプログラム制御に基づいて、実行されても良い。また、処理のステップ名についてはステップS601のように、記号で記載する。
図8は、ログイン時の動作を示すフローチャートである。
機器情報通知部121は、ホストバスアダプタ124からD_IDとS_IDとを取得する(ステップS611)。
次に、機器情報通知部121は、LAN171に接続するネットワークカードのIPアドレスを取得する(ステップS612)。
次に、機器情報通知部121は、そのD_IDを宛先識別子とし、そのS_IDを送信元識別子とし、そのIPアドレスを機器識別子として含む機器情報810を再送制御装置110の開始機器特定部111へ送信する(ステップS613)。
次に、開始機器特定部111は、その機器情報810を受信し、例えば、図7に示す記憶部702に記憶する(ステップS614)。そして処理は終了する。
図9は、スイッチ130がフレームを受信したことを契機に開始する、通信制御システム100の動作を示すフローチャートである。
スイッチ130のフレーム通知部131は、その受信したフレームが先頭フレームであるか否かを判定する(ステップS620)。先頭フレームであると判定された場合(ステップS620でYES)、処理はステップS621へ進む。先頭フレームでないと判定された場合(ステップS620でNO)、処理はステップS624へ進む。
ステップS620でYESの場合、スイッチ130のフレーム通知部131は、その受信したフレームがエラーフレームであるか否かを判定する(ステップS621)。エラーフレームであると判定された場合(ステップS621でYES)、処理は終了する。エラーフレームでないと判定された場合(ステップS621でNO)、処理はステップS622へ進む。
ステップS621でNOの場合、フレーム通知部131は、その先頭フレームのヘッダを、再送制御装置110の開始機器特定部111に送信する(ステップS622)。
次に、開始機器特定部111は、その先頭フレームのヘッダを受信し、例えば図7に示す記憶部702に、記憶する(ステップS623)。
ステップS620でNOの場合、フレーム通知部131は、その受信したフレームがエラーフレームであるか否かを判定する(ステップS624)。エラーフレームであると判定された場合(ステップS624でYES)、処理はステップS625へ進む。エラーフレームでないと判定された場合(ステップS624でNO)、処理は終了する。
ステップS624でYESの場合、フレーム通知部131は、そのエラーフレームのヘッダを、再送制御装置110の開始機器特定部111に送信する(ステップS625)。
次に、開始機器特定部111は、そのエラーフレームのヘッダを受信する(ステップS626)。
次に、開始機器特定部111は、その受信したエラーフレームのヘッダの内容と、ステップS623で記憶した先頭フレームのヘッダの内容とを比較し、その受信したエラーフレームに対応する先頭フレームが存在するか否かを判定する(ステップS627)。対応する先頭フレームが存在すると判定された場合(ステップS627でYES)、処理はステップS628へ進む。対応する先頭フレームが存在しないと判定された場合(ステップS627でNO)、処理は終了する。
ステップS627でYESの場合、開始機器特定部111は、その先頭フレームに対応するエラー通知を生成し、その生成したエラー通知をサーバ120の再送コマンド発行部122に送信する(ステップS628)。ここで、開始機器特定部111は、図8のステップS614で受信した機器情報810に含まれる、送信元識別子と機器識別子とに基づいて、エラー通知の送信先とするサーバ120を決定する。
次に、再送コマンド発行部122は、そのエラー通知を受信し、そのエラーフレームに対応する先頭フレームで始まる交換処理の再実行を指示する(ステップS629)。
上述した本実施形態における第1の効果は、コネクションレス型のプロトコルを用いるデータフレームの転送において、通信系路上でフレームエラーが発生した場合の、再送に至るまでの時間を短縮することを可能にする点である。
その理由は、以下のような構成を含むからである。第1に開始機器特定部111が、機器情報通知部121から受信した機器情報810とフレーム通知部131から受信した先頭フレーム及びエラーフレームのヘッダの内容とに基づいて、エラー通知を送信する。第2に、フレーム通知部131がエラー通知に基づいて、交換処理の再実行を指示する。
上述した本実施形態における第2の効果は、エラーフレームが発生したために再送を行う場合であっても、先に開始されたエクスチェンジとの競合に関して、問題が発生しない再送が保障することを可能にする点である。
その理由は、再送コマンド発行部122が、SCSIレイヤの再送要求を発行するようにしたからである。
<<<第2の実施形態>>>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
図10は、第2の実施形態に係る通信制御システム200の構成を示すブロック図である。
図10に示すように、本実施形態に係る通信制御システム200は、第1の実施形態の通信制御システム100と比べて、開始機器特定部111に替えて開始機器特定部211を含む。また、通信制御システム200は、通信制御システム100と比べて、機器情報通知部121に替えて機器情報通知部221を含む。また、通信制御システム200は、通信制御システム100と比べて、フレーム通知部131に替えてフレーム通知部231を含む。また、通信制御システム200は、通信制御システム100と比べて、ゾーニングテーブル生成部(ゾーニングエントリ記録手段とも呼ばれる)212及びゾーニング情報通知部232を更に含む。
図11は、本実施形態に係る通信制御システム200(図11には不図示)を含む情報処理システム201の構成を示すブロック図である。
図11に示すように、情報処理システム201は、再送制御装置210とサーバ220とスイッチ230とストレージ140とを含む。サーバ220及びストレージ140は、一般的に機器とも呼ばれる。サーバ220、スイッチ230及びストレージ140のそれぞれは、図11の例に係わらず複数含まれてもよい。
再送制御装置210とサーバ220、スイッチ230及びストレージ140のそれぞれとは、管理用ネットワークであるLAN171で接続される。
再送制御装置210は、開始機器特定部211及びゾーニングテーブル生成部212を含む。
サーバ220は、機器情報通知部221及び再送コマンド発行部122を含む。
スイッチ230は、フレーム通知部231及びゾーニング情報通知部232を含む。スイッチ230は、例えば、ファイバーチャネルスイッチである。
ストレージ140は、図2に示すストレージ140と同等である。
例えば、サーバ220とストレージ140との間の通信路は、ファイバーチャネルスイッチであるスイッチ230を用いてサーバ220とストレージ140とを接続するファブリックである。
===機器情報通知部221===
機器情報通知部221は、宛先識別子と送信元識別子とサーバ220を特定する機器識別子とスイッチ230のポート番号とサーバ220に搭載されるホストバスアダプタ124のポート番号とを含む機器情報を、再送制御装置210へ送信する。ここで、ポート番号は、ファイバーチャネルのネットワークにおける、ホストバスアダプタ及びファイバーチャネルのポート毎の、ハードウェア固有のアドレスである。尚、サーバ220は、ホストバスアダプタ124及びファイバーチャネル172を介して、スイッチ230のポート番号を取得する。
===ゾーニング情報通知部232===
ゾーニング情報通知部232は、スイッチ230のポート番号とそのポート番号に対応するゾーン識別子とを含むゾーニング情報を、再送制御装置210へ送信する。ここで、ゾーンとは、ファイバーチャネルのネットワークを論理的に分割した、互いに通信を行う機器のグループである。
図12は、ゾーニング情報820の一例を示す図である。図12に示すように、ゾーニング情報820は、ポート番号(WWPN;World Wide Port Number)とゾーン識別子との組を含む。
===ゾーニングテーブル生成部212===
ゾーニングテーブル生成部212は、機器情報通知部221から受信した機器情報とゾーニング情報通知部232から受信したゾーニング情報820とに基づいて、ゾーニングエントリを記録する。
図13は、ゾーニングエントリ822を含むゾーニングテーブル821の一例を示す図である。
図13に示すようにゾーニングエントリ822は、ゾーニング識別子、スイッチポート番号(スイッチWWPN)、サーバポート番号(サーバWWPN)、機器識別子、送信元識別子(S_ID)及び宛先識別子(D_ID)を含む。
===フレーム通知部231===
フレーム通知部231は、先頭フレームを検出した場合、その先頭フレームに対応するゾーン識別子とその先頭フレームのヘッダ(フレームヘッダとも呼ばれる)とを、再送制御装置210へ送信する。尚、フレーム通知部231は、先頭フレームを検出した場合、更にスイッチポート番号を上述の情報に加えて、再送制御装置210へ送信するようにしてもよい。フレーム通知部231は、エラーフレームを検出した場合、そのエラーフレームに対応するゾーン識別子とそのエラーフレームのヘッダ(フレームヘッダとも呼ばれる)とを、再送制御装置210へ送信する。尚、フレーム通知部231は、エラーフレームを検出した場合、更にスイッチポート番号を上述の情報に加えて、再送制御装置210へ送信するようにしてもよい。
===開始機器特定部211===
開始機器特定部211は、先頭フレームに対応するゾーン識別子とその先頭フレームのヘッダとを受信した場合、その受信したゾーン識別子と先頭フレームのヘッダとに対応するゾーニングエントリ822に、その受信した先頭フレームのヘッダを追加する。尚、開始機器特定部211は、スイッチポート番号を同時に受信した場合は、その受信したスイッチポート番号にも対応するゾーニングエントリ822に、その受信した先頭フレームのヘッダを追加するようにしてもよい。
具体的には、受信した先頭フレームのヘッダといずれかのゾーニングエントリ822との、ゾーン識別子が一致し、かつS_ID及びD_IDが整合する場合に、開始機器特定部211は、そのゾーニングエントリ822に、その先頭フレームのヘッダを追加する。ここで、「S_ID及びD_IDが整合する」とは、例えば、S_ID同士が一致すること及びD_ID同士が一致することである。また、「S_ID及びD_IDが整合する」とは、その先頭フレームに含まれるS_IDとゾーニングエントリ822に含まれるD_IDとが一致し、かつその先頭フレームに含まれるD_IDとそのゾーニングエントリ822に含まれるS_IDとが一致することでもあってよい。
図14は、先頭フレームのヘッダが追加されたゾーニングエントリ823を含むゾーニングテーブル821の一例を示す図である。尚、図14において、空白の先頭フレームヘッダの欄は、先頭フレームのヘッダが存在しないことを示す。
また、開始機器特定部211は、エラーフレームに対応するゾーン識別子とそのエラーフレームのヘッダとを受信する。続けて開始機器特定部211は、ゾーニングエントリ823に含まれるゾーン識別子及び先頭フレームのヘッダに含まれる内容と、その受信したエラーフレームに対応するゾーン識別子及びそのエラーフレームのヘッダに含まれる内容とを比較する。続けて、開始機器特定部211は、その比較した結果に基づいて、そのエラーフレームに対応するその先頭フレームを特定する。尚、開始機器特定部211は、スイッチポート番号を同時に受信した場合は、その受信したスイッチポート番号もゾーニングエントリ823に含まれるスイッチポート番号と比較するようにしてよい。
具体的には、開始機器特定部211は、受信したエラーフレームのヘッダといずれかのゾーニングエントリ823との、ゾーン識別子が一致し、OX_IDが一致し、かつS_ID及びD_IDが整合する場合に、開始機器特定部211は、そのゾーニングエントリ823に記録されている先頭フレームのヘッダを、そのエラーフレームに対応する先頭フレームのヘッダとして特定する。こうして、開始機器特定部211は、そのエラーフレームに対応するその先頭フレームを特定する。
また、開始機器特定部211は、機器情報通知部221が送信したその機器情報に基づいて、その特定された先頭フレームのヘッダに含まれる送信元識別子に対応するその機器識別子を取得する。続けて、開始機器特定部211は、その機器識別子で特定される機器へ、そのエラーフレームが発生したことを示すエラー通知を送信する。尚、開始機器特定部211は、機器情報通知部221が送信したその機器情報に基づいて、その特定された先頭フレームに対応するゾーニングエントリ823に含まれる、サーバポート番号に対応するその機器識別子を取得するようにしてもよい。
次に、本実施形態の動作について、図面を参照して詳細に説明する。
図15及び図16は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPU701によるプログラム制御に基づいて、実行されても良い。また、処理のステップ名についてはステップS601のように、記号で記載する。
図15は、ログイン時の動作を示すフローチャートである。
機器情報通知部221は、ホストバスアダプタ124を介してファイバーチャネル172にログインし、ゾーニング識別子とスイッチポート番号とD_IDとS_IDとを取得する(ステップS641)。
次に、機器情報通知部221は、LAN171に接続するネットワークカードのIPアドレスを取得する(ステップS642)。
次に、機器情報通知部221は、そのゾーニング識別子とそのスイッチポート番号とそのD_ID(宛先識別子)とそのS_ID(送信元識別子)、そのIPアドレス(機器識別子)とを含む機器情報を再送制御装置210の開始機器特定部211へ送信する(ステップS643)。
次に、開始機器特定部211は、その機器情報を受信する(ステップS644)。
次に、スイッチ230のゾーニング情報通知部232は、スイッチ230のポート番号とそのポート番号に対応するゾーン識別子とを含むゾーニング情報820を、再送制御装置210の開始機器特定部211へ送信する(ステップS645)。
次に、開始機器特定部211は、そのゾーニング情報820を受信し、そのゾーニング情報820とステップS644で受信したその機器情報とに基づいて、図13に示すゾーニングエントリ822を生成し、ゾーニングテーブル821に記録する(ステップS646)。そして、処理は終了する。
図16は、スイッチ230がフレームを受信したことを契機に、通信制御システム200が開始する動作を示すフローチャートである。
スイッチ230のフレーム通知部231は、その受信したフレームが先頭フレームであるか否かを判定する(ステップS650)。先頭フレームであると判定された場合(ステップS650でYES)、処理はステップS651へ進む。先頭フレームでないと判定された場合(ステップS650でNO)、処理はステップS654へ進む。
ステップS650でYESの場合、フレーム通知部231は、その受信したフレームがエラーフレームであるか否かを判定する(ステップS651)。エラーフレームであると判定された場合(ステップS651でYES)、処理は終了する。エラーフレームでないと判定された場合(ステップS651でNO)、処理はステップS652へ進む。
ステップS651でNOの場合、フレーム通知部231は、その先頭フレームを受信したポートに対応するゾーン識別子とその先頭フレームのヘッダとを、再送制御装置210の開始機器特定部211に送信する(ステップS652)。
次に、開始機器特定部211は、その先頭フレームを受信したポートに対応するゾーン識別子とその先頭フレームのヘッダとを受信し、その受信したゾーン識別子とその先頭フレームのヘッダの内容とに対応するゾーニングエントリ822に、その受信した先頭フレームのヘッダを記録する(ステップS653)。ここで、その受信した先頭フレームのヘッダを記録されたゾーニングエントリが、ゾーニングエントリ823である。
ステップS650でNOの場合、フレーム通知部231は、その受信したフレームがエラーフレームであるか否かを判定する(ステップS654)。エラーフレームであると判定された場合(ステップS654でYES)、処理はステップS655へ進む。エラーフレームでないと判定された場合(ステップS654でNO)、処理は終了する。
ステップS654でYESの場合、フレーム通知部231は、そのエラーフレームを受信したポートに対応するゾーン識別子とそのエラーフレームのヘッダとを、再送制御装置210の開始機器特定部211に送信する(ステップS655)。
次に、開始機器特定部211は、そのエラーフレームを受信したポートに対応するゾーン識別子とそのエラーフレームのヘッダとを受信する(ステップS656)。
次に、開始機器特定部211は、その受信したゾーン識別子及びエラーフレームのヘッダの内容と、ゾーニングエントリ823に含まれるゾーン識別子及び先頭フレームのヘッダの内容とを比較し、その受信したエラーフレームに対応する先頭フレームが存在するか否かを判定する(ステップS657)。対応する先頭フレームが存在すると判定された場合(ステップS657でYES)、処理はステップS658へ進む。対応する先頭フレームが存在しないと判定された場合(ステップS657でNO)、処理は終了する。
ステップS657でYESの場合、開始機器特定部211は、その先頭フレームに対応するエラー通知を生成し、その生成したエラー通知をサーバ220の再送コマンド発行部122に送信する(ステップS658)。ここで、開始機器特定部211は、図15のステップS644で受信した機器情報に含まれる、送信元識別子と機器識別子とに基づいて、エラー通知の送信先とするサーバ220を決定する。
次に、再送コマンド発行部122は、そのエラー通知を受信し、そのエラーフレームに対応する先頭フレームで始まる交換処理の再実行を指示する(ステップS659)。そして、処理は終了する。
上述した本実施形態における効果は、第1の実施形態の効果に加えて、エラーフレームのヘッダ情報が正常な通信を行っているエクスチェンジのOX_IDに化けたような場合でも、その正常な通信が行われているエクスチェンジに影響しないようにすることを可能にする点である。
その理由は、第1の実施形態の構成に加えて、以下の構成を含むようにしたからである。第1に、ゾーニングテーブル生成部212が、機器情報通知部221から受信した機器情報と、ゾーニング情報通知部232から受信したゾーニング情報820とに基づいてゾーニングテーブル821を生成する、第2に、開始機器特定部211がゾーニングテーブル821に基づいて、エラーフレームに対応する先頭フレームを特定し、エラー通知を送信する。
<<<第3の実施形態>>>
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
図17は、本発明の第3の実施形態に係る通信制御システム300の構成を示すブロック図である。
図17に示すように、本実施形態における通信制御システム300は、第2の実施形態の通信制御システム200と比べて、開始機器特定部211に替えて開始機器特定部311を含む。また、通信制御システム300は、通信制御システム200に比べて、コマンド完了通知部323を含む。
===コマンド完了通知部323===
コマンド完了通知部323は、正常に終了したエクスチェンジに対応する、フレームのヘッダに含まれるS_ID、D_ID及びOX_IDを含むコマンド完了通知を、開始機器特定部311へ送信する。
===開始機器特定部311===
開始機器特定部311は、受信したコマンド完了通知に対応するゾーニングエントリ823から、先頭フレームのヘッダを削除する。
図18は、本実施形態に係る通信制御システム300(図18には不図示)を含む情報処理システム301の構成を示すブロック図である。
図18に示すように、情報処理システム301は、再送制御装置310とサーバ320とスイッチ230とストレージ140とを含む。サーバ320及びストレージ140は、一般的に機器とも呼ばれる。サーバ320、スイッチ230及びストレージ140のそれぞれは、図18の例に係わらず複数含まれてもよい。
再送制御装置310とサーバ320、スイッチ230及びストレージ140のそれぞれとは、管理用ネットワークであるLAN171で接続される。
再送制御装置310は、開始機器特定部311及びゾーニングテーブル生成部212を含む。
サーバ320は、機器情報通知部221、再送コマンド発行部122及びコマンド完了通知部323を含む。
スイッチ230は、図11に示すスイッチ230と同等である。
ストレージ140は、図2及び図11に示すストレージ140と同等である。
例えば、サーバ320とストレージ140との間の通信路は、ファイバーチャネルスイッチであるスイッチ230を用いてサーバ320とストレージ140とを接続するファブリックである。
上述した本実施形態における効果は、第2の実施形態の効果に加えて、既に終了したエクスチェンジと現在正常な通信が行われているエクスチェンジとを混同して、その正常な通信が行われているエクスチェンジに悪影響を与えることを防止することを可能にする点である。
その理由は、開始機器特定部311が、コマンド完了通知部323から受信したコマンド完了通知に基づいて、そのコマンド完了通知に対応する先頭フレームをゾーニングエントリ823から削除するようにしたからである。
上述の各実施形態のストレージ140は、ストレージ140がコマンドのフレームを送信する場合、即ちエクスチェンジを開始するオリジネータ側になる場合、各実施形態のサーバ120、サーバ220及びサーバ320のいずれかと同様の構成を含んでよい。即ち、ストレージ140は、機器情報通知部121或いは機器情報通知部221と同様の機器情報通知部(不図示)、再送コマンド発行部122と同様の再送コマンド発行部(不図示)を含むようにしてもよい。更に、ストレージ140は、コマンド完了通知部323と同様のコマンド完了通知部(不図示)を含むようにしてよい。この場合の、交換処理に関するストレージ140の動作は、上述したサーバ120、サーバ220及びサーバ320のいずれかの動作と同様である。
また、各実施形態の通信制御システム100、通信制御システム200及び通信制御システム300を含む情報処理システムは、サーバ120、サーバ220、サーバ320及びストレージ140のそれぞれに替えて、任意の情報処理装置、通信装置及び記憶装置などをオリジネータとして構成してよい。
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されてよい。また、各構成要素は、1つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
以上、各実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。
100 通信制御システム
101 情報処理システム
110 再送制御装置
111 開始機器特定部
120 サーバ
121 機器情報通知部
122 再送コマンド発行部
124 ホストバスアダプタ
130 スイッチ
131 フレーム通知部
140 ストレージ
144 ホストバスアダプタ
171 LAN
172 ファイバーチャネル
174 ファイバーチャネル
200 通信制御システム
201 情報処理システム
210 再送制御装置
211 開始機器特定部
212 ゾーニングテーブル生成部
220 サーバ
221 機器情報通知部
230 スイッチ
231 フレーム通知部
232 ゾーニング情報通知部
300 通信制御システム
301 情報処理システム
310 再送制御装置
311 開始機器特定部
320 サーバ
323 コマンド完了通知部
700 コンピュータ
701 CPU
702 記憶部
703 記憶装置
704 入力部
705 出力部
706 通信部
707 記録媒体
810 機器情報
820 ゾーニング情報
821 ゾーニングテーブル
822 ゾーニングエントリ
823 ゾーニングエントリ

Claims (10)

  1. サーバと、
    スイッチと、
    再送制御装置と、
    を備え、
    前記サーバは、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む、機器情報を送信する機器情報通知手段を備え
    前記スイッチは、前記交換処理の先頭の前記フレームである先頭フレームを検出した場合に前記先頭フレームのヘッダを送信し、伝送エラーが発生している前記フレームであるエラーフレームを検出した場合に前記エラーフレームのヘッダを送信するフレーム通知手段を備え
    前記再送制御装置は、前記先頭フレームのヘッダに含まれる内容と前記エラーフレームのヘッダに含まれる内容とに基づいて前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する開始機器特定手段を備え
    前記サーバは、前記エラー通知に基づいて、前記先頭フレームに対応する前記交換処理の再実行を指示する再送指示発行手段をさらに備える
    ことを特徴とする通信制御システム。
  2. 前記開始機器特定手段は、前記先頭フレームのヘッダに含まれる前記交換処理を特定する識別子と、前記エラーフレームのヘッダに含まれる前記交換処理を特定する識別子とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する、
    ことを特徴とする請求項1記載の通信制御システム。
  3. 前記開始機器特定手段は、更に、前記先頭フレームのヘッダに含まれる宛先識別子及び送信元識別子と、前記エラーフレームのヘッダに含まれる宛先識別子及び送信元識別子とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する
    ことを特徴とする請求項2記載の通信制御システム。
  4. 前記通信路は、ファイバーチャネルスイッチを用いて複数の機器を接続するファブリックのファイバーチャネルであって、
    前記機器情報通知手段は、前記ファイバーチャネルスイッチのポート番号と前記機器に搭載されるホストバスアダプタのポート番号とを取得し、前記取得した前記ファイバーチャネルスイッチのポート番号と前記取得した前記機器に搭載されるホストバスアダプタのポート番号とを更に含む前記機器情報を送信し、
    前記ファイバーチャネルスイッチのポート番号と前記ポート番号に対応するゾーン識別子とを含むゾーニング情報を送信するゾーニング情報通知手段と、
    前記機器情報と前記ゾーニング情報とに基づいて、前記ゾーン識別子、前記ファイバーチャネルスイッチのポート番号、前記ホストバスアダプタのポート番号、前記送信元識別子及び前記宛先識別子を少なくとも含むゾーニングエントリを記録するゾーニングエントリ記録手段とを更に含み、
    前記フレーム通知手段は、前記先頭フレームに対応するゾーン識別子と前記ファイバーチャネルスイッチのポート番号と前記先頭フレームのフレームヘッダとを送信し、前記エラーフレームに対応するゾーン識別子と前記ファイバーチャネルスイッチのポート番号と前記エラーフレームのフレームヘッダとを送信し、
    前記開始機器特定手段は、前記先頭フレームに対応するゾーン識別子と前記先頭フレームのフレームヘッダとを受信した場合に、前記先頭フレームに対応するゾーン識別子と前記ファイバーチャネルスイッチのポート番号と前記先頭フレームのフレームヘッダとに対応する前記ゾーニングエントリに、前記先頭フレームのフレームヘッダを追加し、
    前記エラーフレームに対応するゾーン識別子と前記エラーフレームのフレームヘッダとを受信した場合に、更に、前記エラーフレームに対応するゾーン識別子と前記ファイバーチャネルスイッチのポート番号と前記ゾーニングエントリに含まれるゾーン識別子と前記ファイバーチャネルスイッチのポート番号とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する
    ことを特徴とする請求項2または3記載の通信制御システム。
  5. 前記交換処理が完了した場合に、前記交換処理に対応する、前記交換処理を特定する識別子、宛先識別子及び送信元識別子を含む完了通知を送信する完了通知手段を含み、
    前記開始機器特定手段は、前記完了通知を受信した場合、前記完了通知に対応する前記ゾーニングエントリに含まれる先頭フレームを削除する
    ことを特徴とする請求項4記載の通信制御システム
  6. 前記再送指示発行手段はSCSIレイヤの再送要求を発行することで、前記交換処理の再実行を指示する
    ことを特徴とする請求項1乃至5のいずれか1項に記載の通信制御システム。
  7. サーバから受信した機器情報であって、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む前記機器情報と、前記交換処理の先頭の前記フレームである先頭フレームが検出された場合にスイッチにより送信される前記先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームが検出された場合に前記スイッチにより送信される前記エラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定し、
    前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する、開始機器特定手段
    を含む再送制御装置。
  8. 再送制御装置のコンピュータが、
    サーバから受信した機器情報であって、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む前記機器情報と、前記交換処理の先頭の前記フレームである先頭フレームが検出された場合にスイッチにより送信される前記先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームが検出された場合に前記スイッチにより送信される前記エラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定し、
    前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する、
    通信制御方法。
  9. サーバが、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む、機器情報を送信し、
    スイッチが、前記交換処理の先頭の前記フレームである先頭フレームを検出した場合に前記先頭フレームのヘッダを送信し、
    伝送エラーが発生している前記フレームであるエラーフレームを検出した場合に前記エラーフレームのヘッダを送信し、
    再送制御装置が、前記先頭フレームのヘッダに含まれる内容と前記エラーフレームのヘッダに含まれる内容とに基づいて前記エラーフレームに対応する前記先頭フレームを特定し、前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する開始機器特定手段と、
    前記サーバが、前記エラー通知に基づいて、前記先頭フレームに対応する前記交換処理の再実行を指示する
    通信制御方法。
  10. 再送制御装置のコンピュータに、
    サーバから受信した機器情報であって、複数のフレームの転送処理を含む交換処理により、通信路を介して機器間でデータを交換する場合の、前記交換処理を開始する前記機器を特定する機器識別子と前記フレームのヘッダに含まれる宛先識別子と前記フレームのヘッダに含まれる送信元識別子とを含む前記機器情報と、前記交換処理の先頭の前記フレームである先頭フレームが検出された場合にスイッチにより送信される前記先頭フレームのヘッダに含まれる内容と、伝送エラーが発生している前記フレームであるエラーフレームが検出された場合に前記スイッチにより送信される前記エラーフレームのヘッダに含まれる内容とに基づいて、前記エラーフレームに対応する前記先頭フレームを特定する処理と、
    前記特定した先頭フレームのヘッダに含まれる送信元識別子に基づいて、前記機器識別子で特定される前記機器へ前記エラーフレームが発生したことを示すエラー通知を送信する処理と、を実行させる
    プログラム。
JP2013058476A 2013-03-21 2013-03-21 通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム Active JP6136418B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013058476A JP6136418B2 (ja) 2013-03-21 2013-03-21 通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013058476A JP6136418B2 (ja) 2013-03-21 2013-03-21 通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム

Publications (2)

Publication Number Publication Date
JP2014182739A JP2014182739A (ja) 2014-09-29
JP6136418B2 true JP6136418B2 (ja) 2017-05-31

Family

ID=51701354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013058476A Active JP6136418B2 (ja) 2013-03-21 2013-03-21 通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム

Country Status (1)

Country Link
JP (1) JP6136418B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016135919A1 (ja) * 2015-02-26 2016-09-01 株式会社日立製作所 ストレージ装置
JP6919249B2 (ja) * 2017-03-22 2021-08-18 日本電気株式会社 ファイバチャネル制御システム、管理装置、ファイバチャネルの制御方法、及びプログラム
JP2019144961A (ja) * 2018-02-22 2019-08-29 Necソリューションイノベータ株式会社 ファイバチャネル通信システム、スイッチ装置、末端装置、ファイバチャネル通信方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4794068B2 (ja) * 2000-06-05 2011-10-12 富士通株式会社 ストレージエリア・ネットワーク管理システム
JP2005267502A (ja) * 2004-03-22 2005-09-29 Hitachi Ltd データ転送用スイッチ
JP4652315B2 (ja) * 2006-11-22 2011-03-16 エヌイーシーコンピュータテクノ株式会社 ディスク装置、データ転送システム及びそれに用いるデータ転送方法
JP2008228150A (ja) * 2007-03-15 2008-09-25 Nec Corp スイッチ装置及びフレーム交換方法とそのプログラム
JP5532987B2 (ja) * 2010-02-05 2014-06-25 富士通株式会社 スイッチ装置、スイッチ制御方法、及びストレージシステム

Also Published As

Publication number Publication date
JP2014182739A (ja) 2014-09-29

Similar Documents

Publication Publication Date Title
TWI734890B (zh) 提供資料複製於跨光纖非揮發性記憶乙太網路固態硬碟之系統及方法
US9535631B2 (en) Multi-path management
EP3042296B1 (en) Universal pci express port
US11265266B2 (en) Computer-readable recording medium recording port switching program and port switching method
US7944812B2 (en) Redundant intermediary switch solution for detecting and managing fibre channel over ethernet FCoE switch failures
JP4859471B2 (ja) ストレージシステム及びストレージコントローラ
JP5352132B2 (ja) 計算機システム及びそのi/o構成変更方法
US8402189B2 (en) Information processing apparatus and data transfer method
US20110320706A1 (en) Storage apparatus and method for controlling the same
EP1899830B1 (en) Automated serial protocol target port transport layer retry mechanism
JP2015503154A (ja) Pcieスイッチング・ネットワークにおけるパケット伝送を実現する方法、装置、システム、及び記憶媒体
BRPI0908135B1 (pt) comando de computador e resposta para determinar o estado de uma operação de e/s
JP2004220216A (ja) San/nas統合型ストレージ装置
US8972988B2 (en) Remote virtual machine migration port management device and system
WO2012176278A1 (ja) 情報処理装置、仮想マシン制御方法およびプログラム
US10013367B2 (en) I/O processing system including dynamic missing interrupt and input/output detection
JP6136418B2 (ja) 通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
JP6777848B2 (ja) 制御装置、及びストレージ装置
US10795846B1 (en) Scalable NVMe storage management over system management bus
US20110296062A1 (en) Storage apparatus and method for controlling storage apparatus
WO2017051453A1 (ja) ストレージシステム、及び、ストレージシステムの管理方法
US8856404B2 (en) Primitive group data encoding in a data storage fabric
US20150142997A1 (en) Methods for frame order control and devices in storage area network
JP6126259B1 (ja) 監視装置、監視方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170417

R150 Certificate of patent or registration of utility model

Ref document number: 6136418

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150