(57)【要約】  本発明の通信システムは、ｉＳＣＳＩイニシエータを備えるサーバ装置と、ｉＳＣＳＩターゲットを備えるストレージと、ストレージ管理装置と、オープンフローコントローラと、オープンフロースイッチとを備える。ストレージ管理装置は、ｉＳＣＳＩイニシエータネームとｉＳＣＳＩターゲットネームにより定められる管理ＩＤ毎に、ｉＳＣＳＩ通信パケットの経路情報を記憶する。サーバ装置は、管理ＩＤを宛先ポート番号に格納したｉＳＣＳＩ通信パケットを送信する。オープンフロースイッチは、エントリに従ってパケットを転送する。オープンフローコントローラは、ｉＳＣＳＩ通信パケットを転送するためのエントリを生成し、オープンフロースイッチに配布する。上記の構成の通信システムによって、オープンフロースイッチのパケット処理に高い負荷をかけずに、ｉＳＣＳＩのデータに基づくフロー制御を行う通信方法を提供する。
2012173172.tif 000002
【特許請求の範囲】
【請求項１】
ｉＳＣＳＩイニシエータを備えるサーバ装置と、
ｉＳＣＳＩターゲットを備えるストレージと、
ストレージを管理するストレージ管理装置と、
オープンフロースイッチを制御するオープンフローコントローラと、
パケットを転送するオープンフロースイッチと
を備える通信システムにおいて、
前記ストレージ管理装置は、ｉＳＣＳＩイニシエータネームとｉＳＣＳＩターゲットネームにより定められる管理ＩＤ毎に、ｉＳＣＳＩ通信パケットの経路情報を記憶し、
前記サーバ装置は、前記管理ＩＤをＴＣＰヘッダの宛先ポート番号に格納した前記ｉＳＣＳＩ通信パケットを前記オープンフロースイッチに送信し、
前記オープンフロースイッチは、フローテーブルに前記ｉＳＣＳＩ通信パケットを処理するためのエントリがない場合には、前記ｉＳＣＳＩ通信パケットを前記オープンフローコントローラに転送し、前記フローテーブルに前記ｉＳＣＳＩ通信パケットを処理するための前記エントリがある場合には、前記エントリに従ってパケットを転送し、
前記オープンフローコントローラは、前記ｉＳＣＳＩ通信パケットを受信した場合には、前記ストレージ管理装置に、前記管理ＩＤに対応する前記経路情報を問い合わせ、前記ｉＳＣＳＩ通信パケットを転送するための前記エントリを生成し、前記エントリを前記オープンフロースイッチに配布する
通信システム。
【請求項２】
前記サーバ装置は、前記管理ＩＤを保持していない場合には、前記ｉＳＣＳＩ通信パケットを送信する前に、前記ｉＳＣＳＩイニシエータネーム及び前記ｉＳＣＳＩターゲットネームを、前記ストレージ管理装置に送信し、
前記ストレージ管理装置は、前記ｉＳＣＳＩイニシエータネーム及び前記ｉＳＣＳＩターゲットネームに基づいて、前記管理ＩＤを割り当て、前記管理ＩＤを前記サーバ装置に送信する
請求項１に記載の通信システム。
【請求項３】
前記サーバ装置が送信する前記ｉＳＣＳＩ通信パケットを転送するための前記エントリは、前記ＴＣＰヘッダの前記宛先ポート番号に格納された前記管理ＩＤを、前記ｉＳＣＳＩターゲットが使用するポート番号に書き換えるアクションを含み、
前記ストレージが送信する前記ｉＳＣＳＩ通信パケットを転送するための前記エントリは、前記ＴＣＰヘッダの送信元ポート番号を、前記管理ＩＤに書き換えるアクション
を含む請求項１又は２に記載の通信システム。
【請求項４】
請求項１乃至３のいずれか１項に記載のオープンフローコントローラ。
【請求項５】
請求項１乃至３のいずれか１項に記載のオープンフロースイッチ。
【請求項６】
請求項１乃至３のいずれか１項に記載のストレージ管理装置。
【請求項７】
ｉＳＣＳＩイニシエータを備えるサーバ装置と、
ｉＳＣＳＩターゲットを備えるストレージと、
ストレージを管理するストレージ管理装置と、
オープンフロースイッチを制御するオープンフローコントローラと、
パケットを転送するオープンフロースイッチと
を備える通信システムにおいて、
前記ストレージ管理装置が、ｉＳＣＳＩイニシエータネームとｉＳＣＳＩターゲットネームにより定められる管理ＩＤ毎に、ｉＳＣＳＩ通信パケットの経路情報を記憶するステップと、
前記サーバ装置が、前記管理ＩＤをＴＣＰヘッダの宛先ポート番号に格納するステップと、
前記サーバ装置が、前記管理ＩＤを格納した前記ｉＳＣＳＩ通信パケットを前記オープンフロースイッチに送信するステップと、
前記オープンフロースイッチが、フローテーブルに前記ｉＳＣＳＩ通信パケットを処理するためのエントリがない場合には、前記ｉＳＣＳＩ通信パケットを前記オープンフローコントローラに転送するステップと、
前記オープンフロースイッチが、前記フローテーブルに前記ｉＳＣＳＩ通信パケットを処理するための前記エントリがある場合には、前記エントリに従ってパケットを転送するステップと、
前記オープンフローコントローラが、前記ｉＳＣＳＩ通信パケットを受信した場合には、前記管理ＩＤに対応する前記経路情報を前記ストレージ管理装置に問い合わせるステップと、
前記オープンフローコントローラが、前記ストレージ管理装置に問い合わせるステップの結果に基づいて、前記ｉＳＣＳＩ通信パケットを転送するための前記エントリを生成するステップと、
前記オープンフローコントローラが、前記エントリを前記オープンフロースイッチに配布するステップと
を含む通信方法。
【請求項８】
前記サーバ装置が、前記管理ＩＤを保持していない場合には、前記ｉＳＣＳＩ通信パケットを送信する前に、前記ｉＳＣＳＩイニシエータネーム及び前記ｉＳＣＳＩターゲットネームを、前記ストレージ管理装置に送信するステップと、
前記ストレージ管理装置が、前記ｉＳＣＳＩイニシエータネーム及び前記ｉＳＣＳＩターゲットネームに基づいて、前記管理ＩＤを割り当てるステップと、
前記ストレージ管理装置が、前記管理ＩＤを前記サーバ装置に送信するステップと
を更に含む請求項７に記載の通信方法。
【請求項９】
前記エントリに従ってパケットを転送するステップは、
前記サーバ装置が送信する前記ｉＳＣＳＩ通信パケットに対しては、前記ＴＣＰヘッダの前記宛先ポート番号に格納された前記管理ＩＤを、前記ｉＳＣＳＩターゲットが使用するポート番号に書き換えるステップと、
前記ストレージが送信する前記ｉＳＣＳＩ通信パケットに対しては、前記ＴＣＰヘッダの送信元ポート番号を、前記管理ＩＤに書き換えるステップと
を更に含む請求項７又は８に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オープンフロー技術に関し、特にｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）のデータに基づくフロー制御技術に関する。
【背景技術】
【０００２】
オープンフローとは、フロー単位で経路制御を行う通信技術である。オープンフローでは、ＭＡＣアドレス、ＩＰアドレス、ポート番号等の組み合わせにより「フロー」を決定する。オープンフロー技術では、送信元ノードと宛先ノードで、画一的に経路を決定しない。オープンフロー技術では、送信元ノードと宛先ノードの間で、フロー毎に経路を変更することが可能となる。また、当該経路は、隣接するノード間だけではなく、Ｅｎｄ−ｔｏ−Ｅｎｄ（終端ノードから終端ノード）で管理することが可能である。オープンフロー技術に関する先行技術文献としては、非特許文献１がある。【０００３】
一方、コンピュータシステムの発展に伴い、高速で大容量な補助記憶装置の需要が高まっている。特に、大規模なコンピュータシステムを扱う場合などは、記憶装置を集合させたストレージ（ディスクアレイ）をＳＡＮ（記憶領域ネットワーク）に接続する形態が、多数利用されている。ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）コマンドを、ネットワークを介して使用するプロトコルとして、ｉＳＣＳＩが知られている。ｉＳＣＳＩを利用したＳＡＮは、装置コストが比較的安価なこと、既設のインフラを有効活用できることから、今後ますます発展する市場として注目されている。【０００４】
ｉＳＣＳＩを利用したＳＡＮに関する先行技術文献としては、特開２００４−１６４４９０号公報（特許文献１）がある。特開２００４−１６４４９０号公報では、ｉＳＣＳＩストレージシステムにおいて、仮想ホスト識別子を利用することにより、ストレージルータの設定を変更することなく、ホストに対するストレージの割り当てを行う技術が開示されている。【０００５】
ｉＳＣＳＩを利用したＳＡＮは、ＳＣＳＩの下位層で、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を利用している。現在のオープンフロー技術を利用したオープンフロースイッチでは、ＯＳＩ参照モデルにおけるレイヤ４のＴＣＰ層までしか扱うことができない。ｉＳＣＳＩ層は、ＯＳＩ参照モデルのレイヤ４にあるが、ＴＣＰ層の上位レイヤであるため、オープンフロー技術を利用したオープンフロースイッチで認識できない。そのため、現在のオープンフロースイッチでは、パケットに含まれるｉＳＣＳＩ層データのＳＣＳＩネーム（ｉＳＣＳＩイニシエータネームや、ｉＳＣＳＩターゲットネーム）を直接参照してフロー制御することができない。より柔軟なフロー制御を実現するため、ｉＳＣＳＩ層の情報を扱えるオープンフロースイッチが必要とされている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１６４４９０号公報
【非特許文献】
【０００７】
【非特許文献１】“Ｔｈｅ  ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｃｏｎｓｏｒｔｉｕｍ”＜ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／＞
【発明の概要】
【０００８】
本発明の目的は、オープンフロー技術を利用したオープンフロースイッチにおいて、パケット処理に高い負荷をかけずに、ｉＳＣＳＩのデータに基づくフロー制御を行う通信方法を提供することにある。
【０００９】
本発明の通信システムは、ｉＳＣＳＩイニシエータを備えるサーバ装置と、ｉＳＣＳＩターゲットを備えるストレージと、ストレージを管理するストレージ管理装置と、オープンフロースイッチを制御するオープンフローコントローラと、パケットを転送するオープンフロースイッチとを備える。ストレージ管理装置は、ｉＳＣＳＩイニシエータネームとｉＳＣＳＩターゲットネームにより定められる管理ＩＤ毎に、ｉＳＣＳＩ通信パケットの経路情報を記憶する。サーバ装置は、管理ＩＤをＴＣＰヘッダの宛先ポート番号に格納したｉＳＣＳＩ通信パケットをオープンフロースイッチに送信する。オープンフロースイッチは、フローテーブルにｉＳＣＳＩ通信パケットに対するエントリがない場合には、ｉＳＣＳＩ通信パケットをオープンフローコントローラに転送する。オープンフロースイッチは、フローテーブルにｉＳＣＳＩ通信パケットに対するエントリがある場合には、当該エントリに従ってパケットを転送する。オープンフローコントローラは、ｉＳＣＳＩ通信パケットを受信した場合には、ストレージ管理装置に、当該ｉＳＣＳＩ通信パケットに含まれる管理ＩＤに対応する経路情報を問い合わせる。オープンフローコントローラは、ｉＳＣＳＩ通信パケットを転送するためのエントリを生成し、当該エントリをオープンフロースイッチに配布する。
【００１０】
本発明の通信方法は、ｉＳＣＳＩイニシエータを備えるサーバ装置と、ｉＳＣＳＩターゲットを備えるストレージと、ストレージを管理するストレージ管理装置と、オープンフロースイッチを制御するオープンフローコントローラと、パケットを転送するオープンフロースイッチとを備える通信システムにおいて実施される通信方法である。ストレージ管理装置が、ｉＳＣＳＩイニシエータネームとｉＳＣＳＩターゲットネームにより定められる管理ＩＤ毎に、ｉＳＣＳＩ通信パケットの経路情報を記憶するステップと、サーバ装置が、管理ＩＤをＴＣＰヘッダの宛先ポート番号に格納するステップと、サーバ装置が、管理ＩＤを格納したｉＳＣＳＩ通信パケットをオープンフロースイッチに送信するステップと、オープンフロースイッチが、フローテーブルにｉＳＣＳＩ通信パケットに対するエントリがない場合には、ｉＳＣＳＩ通信パケットをオープンフローコントローラに転送するステップと、オープンフロースイッチが、フローテーブルにｉＳＣＳＩ通信パケットに対するエントリがある場合には、エントリに従ってパケットを転送するステップと、オープンフローコントローラが、ｉＳＣＳＩ通信パケットを受信した場合には、管理ＩＤを、ストレージ管理装置に問い合わせるステップと、オープンフローコントローラが、ｉＳＣＳＩ通信パケットを受信した場合には、ストレージ管理装置に、管理ＩＤに対応する経路情報を問い合わせるステップと、オープンフローコントローラが、経路情報を問い合わせるステップの結果に基づいて、ｉＳＣＳＩ通信パケットを転送するためのエントリを生成するステップと、オープンフローコントローラが、当該エントリをオープンフロースイッチに配布するステップとを含む。
【００１１】
本発明によれば、オープンフロー技術を利用したオープンフロースイッチにおいて、パケット処理に高い負荷をかけずに、ｉＳＣＳＩのデータに基づくフロー制御を行う通信方法を提供することができる。
【図面の簡単な説明】
【００１２】
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施例により明らかになるだろう。
【図１】図１は、本発明の実施例における通信システム１のネットワーク構成図である。
【図２】図２は、本発明の実施例の通信システム１において、ストレージ管理装置３００で管理されるストレージ管理テーブルである。
【図３】図３は、本発明の実施例の通信システム１における通信方法を説明するための図である。
【図４】図４は、本発明の実施例の通信システム１において、ｉＳＣＳＩイニシエータから、ｉＳＣＳＩターゲットに送出されるｉＳＣＳＩ通信パケットで、管理ＩＤ５００が格納される位置を説明するための図である。
【図５】図５は、本発明の実施例の通信システム１において、ｉＳＣＳＩターゲットから、ｉＳＣＳＩイニシエータに送出される応答パケットで、管理ＩＤ５００が格納される位置を説明するための図である。
【発明を実施するための形態】
【００１３】
添付図面を参照して、本発明の実施例による通信システム１を以下に説明する。
【００１４】
［構成の説明］
はじめに、本実施例における通信システム１の構成の説明を行う。図１は、本発明の実施例における通信システム１のネットワーク構成図である。
【００１５】
本実施例の通信システム１は、サーバ装置１００、オープンフローコントローラ２００（以下、「ＯＦＣ」という）、オープンフロースイッチ２０１〜２０４（以下、「ＯＦＳ」という）、ストレージ管理装置３００及びストレージ４００を備える。
【００１６】
サーバ装置１００は、ｉＳＣＳＩイニシエータを備え、通信システム１を介して、ストレージ４００のｉＳＣＳＩターゲット４０１、４０２と通信を行う。
【００１７】
ＯＦＣ２００とＯＦＳ２０１〜２０４は、それぞれ通信路２０５〜２０８で接続されている。ＯＦＣ２００は、通信路２０５〜２０８を使用して、通信システム１のフロー制御のためのフローテーブルの設定を、ＯＦＳ２０１〜２０４に行う。また、ＯＦＣ２００とストレージ管理装置３００は、通信路２２１で接続されている。ＯＦＣ２００は、ｉＳＣＳＩ通信パケットを転送するためのフローエントリを設定するための情報を、通信路２２１を介して、ストレージ管理装置３００から取得する。
【００１８】
ＯＦＳ２０１〜２０４は、通信システム１のパケットを転送するスイッチである。サーバ装置１００とストレージ４００は、ＯＦＳ２０１〜２０４を介した通信路２１０〜２１９によって接続されている。
【００１９】
ストレージ管理装置３００には、ストレージ４００を管理するためのソフトウェアがインストールされている。ストレージ管理装置３００とストレージ４００は、通信路２３０で接続されている。ストレージ管理装置３００は、通信路２３０により、ストレージ４００を管理するための制御メッセージの送受信を行う。また、ストレージ管理装置３００とＯＦＳ２０１は、通信路２２０で接続されている。
【００２０】
図２は、本発明の実施例の通信システム１において、ストレージ管理装置３００で管理されるストレージ管理テーブルである。ストレージ管理テーブルのエントリは、管理ＩＤ５００、イニシエータＩＰアドレス５０１、イニシエータポート番号５０２、イニシエータネーム５０３、ターゲットポート番号５０４、ターゲットネーム５０５及びターゲット接続Ｐｏｒｔ５０６の属性を持つ。
【００２１】
管理ＩＤ５００は、ｉＳＣＳＩイニシエータネームとｉＳＣＳＩターゲットネームの組み合わせにより、一意に決定される数値である。イニシエータＩＰアドレス５０１は、ｉＳＣＳＩイニシエータとなる装置のＩＰアドレスである。イニシエータポート番号５０２は、ｉＳＣＳＩイニシエータとなる装置が、ｉＳＣＳＩ通信に使用するポート番号である。イニシエータネーム５０３は、ｉＳＣＳＩイニシエータとなる装置に割り振られる識別子である。ターゲットポート番号５０４は、ｉＳＣＳＩターゲットがｉＳＣＳＩ通信を行うためのポート番号である。ターゲットポート番号５０４は、ストレージ管理３００で静的に設定する。又は、ターゲットポート番号５０４は、ｉＳＣＳＩターゲット４０１、４０２から通信路２３０を介して取得してもよい。ターゲットネーム５０５は、ｉＳＣＳＩターゲットとなる装置に割り振られる識別子である。ターゲット接続Ｐｏｒｔ５０６は、ｉＳＣＳＩターゲットが接続されているＯＦＳと、当該ＯＦＳでｉＳＣＳＩターゲットが接続されているＰｏｒｔが格納される。ターゲット接続Ｐｏｒｔ５０６は、ストレージ管理３００で静的に設定するか、又は、ｉＳＣＳＩターゲット４０１、４０２から通信路２３０を介して取得する。
【００２２】
ストレージ４００には、ｉＳＣＳＩターゲット４０１、４０２が存在する。ｉＳＣＳＩターゲット４０１、４０２には、同一のＩＰアドレスが設定されている。それぞれのｉＳＣＳＩターゲットは、ｉＳＣＳＩ通信を行うためのＴＣＰポート番号として”３２６０”を利用する。
【００２３】
［動作方法の説明］
次に、本実施例における通信システム１において、通信方法の説明を行う。図３は、本発明の実施例の通信システム１における通信方法を説明するための図である。サーバ装置１００上のｉＳＣＳＩイニシエータと、ストレージ４００上のｉＳＣＳＩターゲット４０１間でｉＳＣＳＩ通信を行う際の動作を例にして説明する。サーバ装置１００上のｉＳＣＳＩイニシエータと、ストレージ４００上のｉＳＣＳＩターゲット４０１間のｉＳＣＳＩ通信は、まだ１度も行われておらず、ＯＦＳ２０１〜２０４には、ｉＳＣＳＩ通信に関するフローエントリは存在していないものとする。
【００２４】
（ステップ（１））
サーバ装置１００のｉＳＣＳＩイニシエータは、イニシエータネーム５０３及びターゲットネーム５０５をストレージ管理３００に、ＯＦＳ２０１を介して通知する。
【００２５】
（ステップ（２））
ストレージ管理３００は、イニシエータネーム５０３及びターゲットネーム５０５に対して、管理ＩＤ５００として“１０”を割り振る。ストレージ管理３００は、ステップ（１）で通知されたイニシエータネーム５０３及びターゲットネーム５０４をストレージ管理テーブルに格納する。ストレージ管理３００は、管理ＩＤ５００の値“１０”をサーバ装置１００のｉＳＣＳＩイニシエータへ通知する。
【００２６】
（ステップ（３））
サーバ装置１００は、ステップ（２）でストレージ管理３００から通知された管理ＩＤ５００の値”１０”を、ｉＳＣＳＩ通信パケットの宛先ポート番号に設定する。
【００２７】
（ステップ（４））
サーバ装置１００は、宛先ポート番号に”１０”を設定して図４のパケットを送出する。図４は、本発明の実施例の通信システム１において、ｉＳＣＳＩイニシエータから、ｉＳＣＳＩターゲットに送出されるｉＳＣＳＩ通信パケットで、管理ＩＤ５００が格納される位置を説明するための図である。図４の例では、管理ＩＤ５００は、ｉＳＣＳＩイニシエータから、ｉＳＣＳＩターゲットに送出されるｉＳＣＳＩ通信パケットのＴＣＰヘッダ６０１の宛先ポート番号に格納される。
【００２８】
（ステップ（５））
ＯＦＳ２０１は、ステップ（４）で、サーバ装置１００から送信されたｉＳＣＳＩ通信パケットを参照する。ＯＦＳ２０１は、当該ｉＳＣＳＩ通信パケットを転送するためのフローエントリが存在しなければ、フロー制御用の通信路２０５を介してＯＦＣ２００へｉＳＣＳＩ通信パケットを転送する。本手順の例では、サーバ装置１００上のｉＳＣＳＩイニシエータと、ストレージ４００上のｉＳＣＳＩターゲット４０１間のｉＳＣＳＩ通信は、まだ１度も行われておらず、ＯＦＳ２０１〜２０４には、ｉＳＣＳＩ通信に関するフローエントリは存在していないものとしていた。そのため、ＯＦＳ２０１は、フロー制御用の通信路２０５を介してＯＦＣ２００へ当該ｉＳＣＳＩ通信パケットを転送する。
【００２９】
（ステップ（６））
ＯＦＣ２００は、ステップ（５）で受信したｉＳＣＳＩ通信パケット内の宛先ポート番号（管理ＩＤ５００）、送信元ＩＰアドレス（イニシエータＩＰアドレス）及び送信元ポート番号（イニシエータポート番号）を、通信路２２１を介してストレージ管理３００に通知する。
【００３０】
（ステップ（７））
ストレージ管理３００は、ＴＣＰヘッダ６０１の宛先ポート番号（管理ＩＤ５００）と、図２のストレージ管理テーブルを参照し、管理ＩＤ５００を含むエントリを検索する。ストレージ管理３００は、ストレージ管理テーブルで検索されたエントリのイニシエータＩＰアドレス５０１とイニシエータポート番号５０２に、ステップ（６）で通知されたｉＳＣＳＩ通信パケット内の情報（送信元ＩＰアドレス、送信元ポート番号）を格納する。ストレージ管理３００は、ＯＦＣ２００に宛先ポート番号“３２６０”とターゲット接続Ｐｏｒｔ５０６（２０３−４）を通知する。
【００３１】
（ステップ（８））
ＯＦＣ２００は、サーバ装置１００から送信されたｉＳＣＳＩ通信パケットの宛先ポート番号を“１０”から“３２６０”に書き換えるアクションと、当該ｉＳＣＳＩ通信の転送先をＯＦＳ２０３の出力Ｐｏｒｔ２０３−４に指定するルールを規定したエントリを、ＯＦＳ２０１〜２０４のフローテーブルに書き込む。
【００３２】
（ステップ（９））
ＯＦＳ２０１は、フローエントリのルール（サーバ装置１００から送信されたｉＳＣＳＩ通信パケットを、ＯＦＳ２０３のＰｏｒｔ２０３−４に転送する。）とアクション（サーバ装置１００から送信されたｉＳＣＳＩ通信パケットの宛先ポート番号を、“１０”から“３２６０”に書き換える。）に従い、ｉＳＣＳＩ通信パケットをＯＦＳ２０３に転送する。
【００３３】
（ステップ（１０））
ＯＦＳ２０３は、ＯＦＳ２０１から受信したｉＳＣＳＩ通信パケットを、ＯＦＳ２０３のＰｏｒｔ２０３−４を介して、ストレージ４００のターゲット４０１に送信する。
【００３４】
（ステップ（１１））
サーバ装置１００から送信されたｉＳＣＳＩ通信パケットを受信したストレージ４００上のターゲット４０１は、ｉＳＣＳＩ通信パケットから取り出したＳＣＳＩコマンドの処理を行う。ターゲット４０１は、サーバ装置１００のｉＳＣＳＩイニシエータに向けて、ｉＳＣＳＩ通信パケット（サーバ装置１００から送信されたｉＳＣＳＩ通信パケットの応答パケット）を送出する。
【００３５】
（ステップ（１２））
ＯＦＳ２０３は、ステップ（１１）でターゲット４０１により送信された応答パケットを参照する。ＯＦＳ２０３は、当該応答パケットを処理するためのフローエントリが存在しなければ、ＯＦＣ２００へ応答パケットを転送する。本手順の例では、ＯＦＳ２０３は、まだ１度も応答パケットを送信していないため、当該応答パケットを処理するためのフローエントリは存在していない。そのため、ＯＦＳ２０３は、ＯＦＣ２００へ当該応答パケット転送する。
【００３６】
（ステップ（１３））
ＯＦＣ２００は、ステップ（１１）でターゲット４０１により送信された応答パケット内の宛先ＩＰアドレス（イニシエータＩＰアドレス）及び宛先ポート番号（イニシエータポート番号）を、通信路２２１を介してストレージ管理３００に通知する。
【００３７】
（ステップ（１４））
ストレージ管理３００は、宛先ＩＰアドレス（イニシエータＩＰアドレス）及び宛先ポート番号（イニシエータポート番号）、図２のストレージ管理テーブルを参照し、該当するエントリを検索する。ストレージ管理３００は、検索されたエントリの管理ＩＤ５００（“１０”）を、ＯＦＣ２００に通知する。
【００３８】
（ステップ（１５））
ＯＦＣ２００は、ストレージ４００から送信された応答パケットの宛先ポート番号を“３２６０”から“１０”に書き換えるアクションと、当該応答パケットの転送先をＯＦＳ２０１の出力Ｐｏｒｔ２０１−１に指定するルールを規定したエントリを、ＯＦＳ２０１〜２０４のフローテーブルに書き込む。
【００３９】
（ステップ（１６））
ＯＦＳ２０３は、フローエントリのルール（ストレージ４００から送信された応答パケットを、ＯＦＳ２０１のＰｏｒｔ２０１−１に転送する。）とアクション（ストレージ４００から送信された応答パケットの送信元ポート番号を、“３２６０”から“１０”に書き換える。）に従い、当該応答パケットをＯＦＳ２０１に転送する。図５は、本発明の実施例の通信システム１において、ｉＳＣＳＩターゲットから、ｉＳＣＳＩイニシエータに送出される応答パケットで、管理ＩＤ５００が格納される位置を説明するための図である。管理ＩＤ５００は、ｉＳＣＳＩターゲットから、ｉＳＣＳＩイニシエータに送出される応答パケットのＴＣＰヘッダ６０１の送信元ポート番号に格納される。
【００４０】
（ステップ（１７））
ＯＦＳ２０１は、ＯＦＳ２０３から受信した応答パケットを、ＯＦＳ２０１のＰｏｒｔ２０１−１を介して、サーバ装置１００のｉＳＣＳＩイニシエータに送信する。
【００４１】
（ステップ（１８））
その後の、サーバ装置１００のｉＳＣＳＩイニシエータから送出されるｉＳＣＳＩ通信パケットは、ＯＦＳ２０１〜２０４のフローエントリに従って転送される。ＯＦＳ２０１〜２０４のフローテーブルには、既にエントリがあるため、ＯＦＣ２００へのパケット転送は行われない。
【００４２】
（ステップ（１９））
ストレージ４００のターゲット４０１から送出される応答パケットは、ＯＦＳ２０１〜２０４のフローエントリに従って転送される。ＯＦＳ２０１〜２０４のフローテーブルには、既にエントリがあるため、ＯＦＣ２００へのパケット転送は行われない。
【００４３】
本実施例では、フロー制御のために、ｉＳＣＳＩネームをＴＣＰヘッダのオプション領域に格納する等の方法をとらずに、ＴＣＰヘッダの宛先ポート番号に、管理ＩＤ５００を格納する。そのため、ＯＦＳ２０１〜２０４のパケット処理において、ベンダー拡張動作が不要となり、高速なスイッチングが可能となる。
【００４４】
また、本実施例では、ｉＳＣＳＩネームをＴＣＰヘッダのオプション領域に格納する等によりｉＳＣＳＩ通信パケットを識別せず、ＴＣＰヘッダの宛先ポート番号に格納された管理ＩＤ５００によりｉＳＣＳＩ通信パケットを識別するため、パケットのデータサイズを抑えたフロー制御が可能になる。
【００４５】
また、本実施例では、管理ＩＤ５００をｉＳＣＳＩイニシエータネーム５０３及びｉＳＣＳＩターゲットネーム５０５によって決定している。管理ＩＤ５００の決定に、ｉＳＣＳＩターゲット個別に設定されたＩＰアドレスを使用していないため、スケーラブルな構成のストレージ装置４００を実現できる。本実施例では、必要に応じてストレージ４００にターゲットを追加した場合においても、ｉＳＣＳＩネームに変更がなければ、同一の管理ＩＤ５００でフローを制御することができる。
【００４６】
本実施例では、ｉＳＣＳＩターゲットに、全て同一のＩＰアドレスを設定したが、ｉＳＣＳＩターゲット毎に、個別のＩＰアドレスが設定されている場合でも、本発明を実施することができる。この場合には、ｉＳＣＳＩイニシエータは、ストレージ４００全体に対して設定された仮想的なＩＰアドレスを、送信先ＩＰアドレスに設定してパケットを送信する。ＯＦＳ２０１〜２０４は、宛先ポート番号を書き換える際、同時に宛先ＩＰアドレスを該当するターゲット毎のＩＰアドレスに書き換える。また、同様に、ターゲットからの応答パケットについても、ＯＦＳ２０１〜２０４は、送信元ポート番号を書き換える際に、送信元ＩＰアドレスを、ストレージ４００全体に対して設定された仮想的なＩＰアドレスに書き換える。
【００４７】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【００４８】
なお、本出願は、２０１１年６月１６日に出願された日本出願番号２０１１−１３４４２５に基づく優先権を主張するものであり、日本出願番号２０１１−１３４４２５における開示内容は引用により本出願に組み込まれる。
【図１】
2012173172.tif 000003
【図２】
2012173172.tif 000004
【図３】
2012173172.tif 000005
【図４】
2012173172.tif 000006
【図５】
2012173172.tif 000007
【国際調査報告】
2012173172.tif 000008
2012173172.tif 000009