JP2006270303A - 通信制御方法、通信制御装置および通信制御プログラムを記録した記憶媒体 - Google Patents
通信制御方法、通信制御装置および通信制御プログラムを記録した記憶媒体 Download PDFInfo
- Publication number
- JP2006270303A JP2006270303A JP2005083167A JP2005083167A JP2006270303A JP 2006270303 A JP2006270303 A JP 2006270303A JP 2005083167 A JP2005083167 A JP 2005083167A JP 2005083167 A JP2005083167 A JP 2005083167A JP 2006270303 A JP2006270303 A JP 2006270303A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- session
- network
- predetermined
- iscsi
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/323—Discarding or blocking control packets, e.g. ACK packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】 多様なネットワークの通信条件に基づく複数の通信セッションの各々に対応したネットワーク設定を可能とするIPストレージを提供する。
【解決手段】 ストレージシステム10は、物理ポート毎やアプリケーション毎でなく、個々のセッション毎にネットワークパラメータやプロトコルオプションを一元管理・制御する。そして、各セッションを異なるネットワークパラメータに従う複数の仮想的なポートのグループで論理的に分割して管理し、各セッションについて応答遅延時間およびパケットエラー率など通信状況を監視して、セッション毎ネットワーク情報管理テーブル135に情報を記録する。これに基づき、セッション毎ネットワーク設定テーブル134のネットワーク設定のネットワークパラメータや選択的に利用するプロトコルオプションを動的に変更し、各セッションに最適なネットワーク設定により通信を行なう。
【選択図】 図2
【解決手段】 ストレージシステム10は、物理ポート毎やアプリケーション毎でなく、個々のセッション毎にネットワークパラメータやプロトコルオプションを一元管理・制御する。そして、各セッションを異なるネットワークパラメータに従う複数の仮想的なポートのグループで論理的に分割して管理し、各セッションについて応答遅延時間およびパケットエラー率など通信状況を監視して、セッション毎ネットワーク情報管理テーブル135に情報を記録する。これに基づき、セッション毎ネットワーク設定テーブル134のネットワーク設定のネットワークパラメータや選択的に利用するプロトコルオプションを動的に変更し、各セッションに最適なネットワーク設定により通信を行なう。
【選択図】 図2
Description
本発明は、ストレージへのアクセスにおける通信制御方法、通信制御装置および通信制御プログラムを記録した記憶媒体に関する。
従来、サーバ装置(ホストとも呼ばれる。以下、サーバと記述)とストレージ装置(以下、ストレージまたはストレージシステムと記述)との間の通信は、ファイバチャネル(Fibre Channel、以下、FCと記述)が用いられ、それら装置間を専用ネットワークで接続することが主流だった。このストレージ接続専用のネットワークをストレージエリアネットワーク(Storage Area Network、以下、SANと記述)と呼ぶ。ネットワーク制御プロトコルとしてFCを用いるSANは、特にFC−SANと呼ぶ。FC−SANでは、FCの上位プロトコルであるストレージを制御するプロトコルとして、SCSI(Small Computer Systems Interface)やSBCCS(Single Byte Command Code Set)などが用いられる。
一方、最近では、FCの代わりにネットワーク技術であるTCP/IP上を利用する技術が普及しつつある。特にTCP/IPの上位プロトコルとなる形でSCSIを用いるためのプロトコル技術としてiSCSI(internet SCSI)がある。TCP/IPおよびiSCSIは、IETF(the Internet Engineering Task Force)で規格化が行われた。TCP/IPは更にTCP(Transmission Control Protocol)とIP(Internet Protocol)として定義される。一般に、ネットワークでは階層に分けて通信制御(プロトコル処理)を行なう。たとえば、TCPを処理するプロトコル層をTCP層、IPを処理するプロトコル層をIP層と呼ぶ。IP層では、パケット単位で通信が行われるが、通信を確実に行なうための機能をIP層は持たず、TCP層がその機能を担当する。たとえば、TCP層は、送信したデータのエラー検出や受信確認処理(ACKと呼ぶ受信確認パケットの応答処理)を行う機能、および、前記送信したデータについて送信相手から所定の時間以内に対応するACKを受信できなかった場合に前記送信したデータを再送信(以下再送)する機能を持つ。
FC−SANに対し、IPを用いるSANをIP−SANと呼ぶ。IPは、家庭やオフィスで普及が進んでいるLAN(Local Area Network)など一般のネットワークで広く利用されている。FCと比べると、IPではネットワークスイッチやネットワークインタフェースカードやケーブルなどの機器が低価格であり、IP−SANは低価格で実現できる利点がある。また、IP−SANは、導入時に新たに機器を用意して専用のネットワークを構築せずに、既存のネットワークに接続して、サーバとストレージ間の通信を行なえる。さらに、WAN(Wide Area Network)やインターネットを経由することによってIP−SANで長距離の通信も可能である。しかし、IPでは、FCと比べ、通信中にパケット喪失が発生する確率が高く、データを確実に送受信するためはTCP層の再送が必要である。そうした再送処理を行なうと、IP−SANにおける入出力性能は大きく低下する。また、IPでは、多数の装置を経由して通信する場合が多く、そのような場合、パケットを送信してから対応するACKを受信するまでの時間である応答遅延時間が大きくなる。たとえば、LANでの応答遅延時間は1ms以下だが、インターネット経由の通信では数十msから数百ms以上になる場合がある。
図25に、iSCSI通信を行なう装置のプロトコル層と送受信データの関係を示す。iSCSI通信を行なう装置のプロトコルの階層は、SCSI層3000、iSCSI層3010、TCP層3020、IP層3030およびMAC層3040から構成される。MAC層は、Media Access Control層とも呼ばれ、通常イーサネット(登録商標)やギガビットイーサネット(登録商標)が用いられる。各プロトコル層では扱うデータ長が異なり、また、ヘッダ情報などが追加される。プロトコルの階層は、上位から順にSCSI層、iSCSI層、TCP層、IP層、MAC層として位置づける。
各プロトコル層でのプロトコル処理は、それぞれSCSI CDB(Command Descriptor Block)3100、iSCSI PDU(Protocol Data Unit)3110、TCPパケット3120、IPパケット3130およびMACフレーム(MAC層がイーサネット(登録商標)の場合、イーサネット(登録商標)フレーム)3140の形式で行なわれる。SCSI CDB 3100は、たとえば、リード命令、ライト命令、命令に対する応答、リードデータまたはライトデータなどである。
SCSI CDB 3100を送信する場合、iSCSI層3010は、SCSI層3000から受け取ったSCSI CDB 3100をiSCSIデータセグメント3114として扱い、iSCSIヘッダ3112を付加してiSCSI PDU 3110の形式でTCP層3020へ渡す。TCP層3020は、iSCSI PDU 3110を必要に応じて幾つかのTCPセグメント3124に分割し、それぞれにTCPヘッダ3122を付加してTCPパケット3120の形式でIP層3030へ渡す。TCP層3020での分割については後述する。IP層3030は、TCP層から受け取ったTCPパケットをIPデータ3134として扱い、それぞれにIPヘッダ3132を付加してIPパケット3130の形式でMAC層3040へ渡す。MAC層3040は、IP層3030から受け取ったIPパケット3130をフレームデータ3144として扱い、それぞれにMACヘッダ3142とMACトレイラ3146を付加してMACフレーム3140の形式にし、ネットワーク30を通じて通信相手に送信する。受信時は、前記と逆の順にMAC層3040から始まって各プロトコル層でヘッダ情報に従ってプロトコル処理を行なう。
iSCSIでは、ホスト(イニシエータ)とストレージ(ターゲット)の通信は、コネクションを確立して行なう。コネクションの集合をセッションと呼ぶ。コネクション、セッションの概念は、TCP層とiSCSI層にある。
通常、TCPパケット3120の最大長(MSS, Maximum Segment Size)は、MAC層3040で定義されるMACフレーム最大長に依存する。MAC層がギガビットイーサネット(登録商標)の場合、MACフレーム最大長はMTU(Maximum Segment Size)と呼ぶが、たとえば、(1)MTUが1500バイトであり、(2)IPヘッダ3132、TCPヘッダ3122が各々20バイトである場合、MSSは、1460バイトである(1500バイト−20バイト−20バイト=1460バイト)。この条件でSCSIのリードまたはライト命令に従い4KB(4096バイト)のデータを送信する場合、対応するiSCSI PDU3110は4KBデータ3100へiSCSIヘッダ3112が48バイト追加され4144バイトの長さになる。これは、TCP層で1460バイト、1460バイトおよび1224バイトの3つのTCPセグメント3124に分割される。
各プロトコル層にとって、一度に扱うデータの単位が大きいほどプロトコル処理のオーバヘッドが少ない。すなわち、(1)実際に送受信されるデータ部に対するヘッダ部の比率が小さくなり、帯域の大部分をデータ送受信に利用でき、(2)ヘッダ部の処理回数が減少し処理効率が向上する。
しかし、前記の通り、IPネットワークではパケット喪失や遅延時間が大きい場合もあり、それらの場合では、一度に扱うデータの単位が小さいほうが全体としてよい転送性能に結びつく場合もある。たとえば、受信側の装置では、あるiSCSI PDUについて当該iSCSI PDUを構成する全てのTCPパケットを受信するまでプロトコル処理を開始することができない。パケット喪失や遅延時間が大きいネットワークでは、それら全てのTCPパケットを受信するまでの時間が大きく、iSCSI PDUの処理開始が遅れる。遅れが大きい場合は、異常が発生したと見なされる場合もある。たとえば、SCSI層では、コマンド送信から所定の時間内にレスポンスを受信できなければ異常が発生したと見なされタイムアウト処理される。また、iSCSI層では、定期的にNOPと呼ぶ種類のiSCSI PDUを送信し、それに対する応答を確認することで通信相手の生存監視を行なう。該NOPを送信する時間間隔は、Keep Alive Timerと呼ぶ値で設定する。
ネットワークのパケットエラー率や遅延時間は、静的または動的な通信状況、たとえば、ネットワークの構成やその時の混雑の度合いに依存する。それらネットワークの静的または動的な通信条件に応じて、プロトコル処理の効率化を図る設定を各プロトコル層で実施する必要がある。各プロトコル層では、処理するデータ単位の大きさや、送受信処理に割り当てるバッファの量、複数のデータを送信する場合の送信間隔、選択的に実行する特殊な通信制御がある。設定可能な項目(以下、ネットワークパラメータと記述)や、選択可能なアルゴリズム(以下、プロトコルオプションと記述)に依存する。本明細書では、ネットワークパラメータとプロトコルオプションを併せてネットワーク設定と呼ぶ。
IP−SANにおけるサーバとストレージ間の性能は、ネットワークの形態や接続機器の種類などの条件がFC−SANに比べて多岐に渡り、iSCSIのプロトコル層だけで最適な解が決定できる問題ではなく、個々の通信状況に依存する。サーバも、性能が低いサーバが用いられる場合や、アプリケーションを利用するエンドユーザが直接サーバとしてストレージに接続される場合が考えられる。ここで、サーバの性能が低いとは、CPU動作クロックが低いこと、搭載メモリ量が少ないこと、および、内部データバス処理性能が低いことを示す。こうした性能の低いサーバはデータ送受信性能が低いため、通信相手のストレージのデータ送受信性能が高い場合でも、データ送受信性能が低いままである。ここでデータ送受信性能は、単位時間あたりの入出力要求処理数(I/O per second, IOPS)やスループット(Megabyte per second, MB/S)などを示す。
iSCSIストレージは、当初、FCストレージの置き換えとして、他のネットワークとは独立したネットワークとして導入され、その後、LANとの混在、インターネットなどを経由した広域運用、のように段階を踏んで適用範囲が広がると考えられる。接続ホスト数が増加(または直接ユーザと通信)したときおよび運用するネットワークが多様になったときに、個々の通信(セッション)について通信を最適化する必要が高まると考えられるが、従来は、充分に対応できていなかった。
特許文献1には、転送データの性質や相手方の通信装置の状況等に応じた最適なデータ転送を実現するために、一対の通信装置間でコネクションを確立するに際して、パラメータ設定要求により相手方の通信装置に転送条件を定めるコネクションパラメータを問い合わせ、当該相手方の通信装置から送られてきたパラメータ設定要求応答に基づいて、自己のコネクションパラメータを設定し、この設定結果に基づいて当該相手方の通信装置とネットワークを介してデータ転送を行なう技術が開示されている。
また、特許文献2には、一つの物理ポートに所属する端末からの各々の通信優先度に応じて、複数の論理チャンネルを使用する技術が開示されている。
特開平8−186601号公報(請求項など)
特開2004−297351号公報(請求項など)
また、特許文献2には、一つの物理ポートに所属する端末からの各々の通信優先度に応じて、複数の論理チャンネルを使用する技術が開示されている。
しかしながら、従来技術では、それぞれ通信条件の異なる複数の相手との通信を同時にサポートする場合に、個々の通信の最適化を図る技術は開示されていない。すなわち、従来技術では、それぞれ通信条件の異なる複数の相手とのセッションを同時に処理する場合に、それぞれのセッションについて通信の最適化を図る技術は開示されていない。IPネットワークは、通信品質や遅延時間の条件が様々である。多様なネットワークの通信条件に基づく複数の通信セッションの各々に対応したネットワーク設定を可能とするIPストレージの通信制御技術が必要であるため、各セッションについて最適なネットワーク設定が異なること、最適なネットワーク設定が動的に変化する可能性があることが問題になる。さらに、IPストレージは、FCストレージより低価格で実現され、ネットワークに接続されるポート数が比較的少ない装置で実現される場合があり、少数のポートで複数のセッションを同時に処理しなければならない場合が多くなる。
本発明は、前記した課題を踏まえ、近距離から遠距離、高品質から低品質までの様々な条件での複数のホスト接続に対応するIPストレージのための通信制御方法、それを実現する装置およびプログラムを記録した記憶媒体を提供することを課題とする。
前記の課題を解決するため、本発明の通信制御技術は、物理ポート毎やアプリケーション毎でなく、個々のセッション毎にネットワークパラメータやプロトコルオプションを一元管理・制御する。そして、各セッションを別のネットワークパラメータに従う複数の仮想的なポートのグループで論理的に分割して利用し、各セッションについて応答遅延時間およびパケットエラー率などの通信状況を監視して、ネットワークパラメータや選択的に利用するプロトコルオプションに動的に反映する。
これにより、近距離から遠距離、高品質から低品質まで、性質の異なるネットワーク経路が混在する条件で、個々の通信それぞれに対し最適なネットワーク設定を行なうことができる。
IPネットワークにおいて、様々な性質の異なるネットワークを経由する場合でも、ネットワークの条件に左右されず安定した通信性能を実現するIPストレージを提供できる。そして、IPネットワークを利用することで安価にIPストレージを提供することも可能となる。
<<第1の実施形態>>
本発明にかかる第1の実施形態は、1つのネットワークポートを備えて、このネットワークポートにおいて、セッションごとの通信管理を行なう実施形態である。
本発明にかかる第1の実施形態は、1つのネットワークポートを備えて、このネットワークポートにおいて、セッションごとの通信管理を行なう実施形態である。
[システムの構成]
図1は、第1の実施形態における電子計算機システム1(1A)のハードウェア(以下、H/Wと記述)構成を示す説明図である。本実施形態における電子計算機システム1(1A)において、ネットワーク30にはストレージシステム10、サーバ20(サーバ20A、サーバ20B、サーバ20Cおよびサーバ20D)ならびにネームサーバ40が接続されている。このシステムにおいて、ネットワーク30を介してストレージシステム10およびサーバ20との間でパケット形式のデータの送受信が行われる。サーバ20は、ストレージに対しデータの書き込み指示や読み出し指示を行なう。これは、iSCSIの上位プロトコルであるSCSIコマンドのライト命令やリード命令を用いて行なわれる。
図1は、第1の実施形態における電子計算機システム1(1A)のハードウェア(以下、H/Wと記述)構成を示す説明図である。本実施形態における電子計算機システム1(1A)において、ネットワーク30にはストレージシステム10、サーバ20(サーバ20A、サーバ20B、サーバ20Cおよびサーバ20D)ならびにネームサーバ40が接続されている。このシステムにおいて、ネットワーク30を介してストレージシステム10およびサーバ20との間でパケット形式のデータの送受信が行われる。サーバ20は、ストレージに対しデータの書き込み指示や読み出し指示を行なう。これは、iSCSIの上位プロトコルであるSCSIコマンドのライト命令やリード命令を用いて行なわれる。
ストレージシステム10は、ストレージコントローラ100、記憶装置200、管理端末(Service Processor, SVP)300から構成される。記憶装置200は、通常、複数のディスクドライブ装置であり、ホストから書き込み指示されたデータが最終的に記録される。
ストレージコントローラ100は、ネットワークポート110I,110J,110Kおよび110Lを持つ。これらのネットワークポートは、ネットワーク30に対し、通常、ギガビットイーサネット(登録商標)のような高速IPインタフェースを介して接続される物理ポートを持つ。また、図示していないが、これらのネットワークポートは、送信データを一時格納しておくための送信バッファ、受信データを一時格納しておくための受信バッファを備えていてもよい。
また、ストレージコントローラ100は、プロセッサ120、各種制御情報を格納する制御メモリ130、キャッシュメモリ150、記憶装置200に接続されデータの入出力を行なうバックエンドインタフェース160を備える。そして、ストレージコントローラ100は、ストレージコントローラ100上のデータ転送制御を行なうデータコントローラ140を備える。尚、図示していないが、サーバ20、ネームサーバ40、およびSVP300は、それぞれプロセッサ、記憶装置、入出力装置を備える計算機である。
図2は、第1の実施形態の電子計算機システム1(1A)のモジュール構成を示す説明図である。
各サーバ20は、ネットワークポート24を持ち、図では省略しているプロセッサ上にてiSCSIイニシエータ機能を実現するiSCSIイニシエータ処理プロセス22が動作する。
各サーバ20は、ネットワークポート24を持ち、図では省略しているプロセッサ上にてiSCSIイニシエータ機能を実現するiSCSIイニシエータ処理プロセス22が動作する。
ストレージシステム10内のプロセッサ120上では、下位プロトコル層制御部122と、通信管理部124と、上位プロトコル層制御部126が動作する。下位プロトコル層制御部122は、MAC層、TCP層およびIP層のプロトコル処理を行なう。上位プロトコル層制御部126は、iSCSI層およびSCSI層のプロトコル処理を行なう。ここで特徴的なことは、ネットワーク30からネットワークポート110を経由して受信したフレームは、通信管理部124がチェック・管理を行なうことである。
通信管理部124は、また、タイマ割り込みなどで定期的に通信中の各セッションの統計情報をネットワークポート110から獲得しセッション毎ネットワーク情報テーブル135およびセッション毎ネットワーク設定テーブル134に反映する。すなわち、通信管理部124は、そのセッションにおけるネットワークの応答遅延時間を測定し、現在そのセッションで使用しているバッファの量を測定し、また、パケットエラー率を測定し、それらによりセッション毎ネットワーク情報テーブル135の情報を更新する。また、更新されたセッション毎ネットワーク情報テーブル135から、セッション毎ネットワーク設定テーブル134の内容を決定する。詳細は後記する。
図3は、第1の実施形態におけるセッション毎ネットワーク設定テーブル134の構成の一例を示す説明図である。セッション毎ネットワーク設定テーブル134は、各セッションについてネットワーク設定と内部的な処理で利用するインデックスを格納するテーブルであり、図2で示したように、制御メモリ130上に格納される。ここで、ネットワーク設定は、各プロトコル層における設定パラメータやオプション機能のオン/オフに関する情報であり、以下の3つを示す。
(1)MAC層の設定であるイーサネット(登録商標)のフレーム長(MTU)や送受信バッファ量。
(2)TCP/IP層の設定であるIPパケット長やTCPタイムアウト値の設定、各種オプションアルゴリズムの使用・不使用。
(3)iSCSI層やSCSI層の設定である、ログインパラメータ(エラーリカバリレベルやiSCSI Keep Alive Timer、iSCSI PDUの長さなど)。
(1)MAC層の設定であるイーサネット(登録商標)のフレーム長(MTU)や送受信バッファ量。
(2)TCP/IP層の設定であるIPパケット長やTCPタイムアウト値の設定、各種オプションアルゴリズムの使用・不使用。
(3)iSCSI層やSCSI層の設定である、ログインパラメータ(エラーリカバリレベルやiSCSI Keep Alive Timer、iSCSI PDUの長さなど)。
なお、各種オプションアルゴリズムとしては、TCP層のACK返信間隔を平均化するDelayed ACK、データ送信を平均化するSlow Startなどがある。また、QoS(Quality of Service)を利用して、一定の割合でのデータ送信を保証することもできる。
これらのネットワーク設定は、セッション毎ネットワーク設定テーブル134にセッションごとに格納され、定期的に更新・管理される。従来、これらのネットワーク設定は、ストレージ装置で共通か、または、個々のポート単位で管理されていたが、本発明ではセッション毎にネットワーク設定を変更できるように管理する。図3に示す例では、4つのセッションが通信中であり、セッション毎ネットワーク設定テーブル134に各々登録されている。符号1340AのエントリはセッションAに、符号1340BのエントリはセッションBに、符号1340CのエントリはセッションCに、符号1340DのエントリはセッションDにそれぞれ対応する。また、セッション毎ネットワーク設定テーブル134の内容すなわち各セッションでのネットワーク設定状況はSVP300経由でログを記録したり、管理者に視覚的に表示してもよい。
図4は、第1の実施形態におけるセッション毎ネットワーク情報テーブル135の構成の一例を示す説明図である。セッション毎ネットワーク情報テーブル135は、各セッションについて、ネットワークの通信状況を示すネットワーク情報を格納するテーブルであり、図2で示したように、制御メモリ130上に格納され、通信管理部124によってセッションの生成にしたがって内容が追加され、定期的に更新・管理される。セッション毎ネットワーク情報テーブル135には、セッション識別情報とネットワーク情報が格納される。セッション識別情報は、内部的な処理で利用するインデックス、IPアドレス、iSCSIネームおよびセッションIDから構成される。ネットワーク情報は、ネットワークでの応答遅延時間を示す応答遅延時間(Round Trip Time,RTT)と、パケットエラー率から構成される。パケットエラー率は、さらに送信パケットエラー率と受信パケットエラー率から構成される。送信パケットエラー率は、送信したパケットのうち、対応するACKを所定の時間以内に受信できなかった、すなわち喪失したと考えられるパケット数を送信したパケット総数で割った数である。受信パケットエラー率は、受信したパケットのうち、エラーにより正常でないと判定したエラーパケット数を、受信したパケット総数で割った数である。詳細は後記する。
図4に示す例でも、図3と同様に、4つのセッションが通信中でありセッション毎ネットワーク情報テーブルに各々登録されている。符号1350AのエントリはセッションAに、符号1350BのエントリはセッションBに、符号1350CのエントリはセッションCに、符号1350DのエントリはセッションDにそれぞれ対応する。セッション毎ネットワーク設定テーブル134とセッション毎ネットワーク情報テーブル135において同じインデックスを持つ項は、同じセッションの設定または情報を格納する。また、セッション毎ネットワーク情報テーブルの内容、すなわち、各セッションでのネットワークの通信状態は、SVP300経由でログを記録したり、管理者に視覚的に表示してもよい。
[通信処理の動作]
図5から図12は、第1の実施形態におけるストレージシステム10の通信処理を示すフローチャートである。これらの処理は、プロセッサ120が、制御メモリ130に記憶された下位プロトコル層制御部122と、通信管理部124と、上位プロトコル層制御部126とを実行することにより行われる。図5から図8は、第1の実施形態における受信処理を示すフローチャートである。以下、順に説明する。
図5から図12は、第1の実施形態におけるストレージシステム10の通信処理を示すフローチャートである。これらの処理は、プロセッサ120が、制御メモリ130に記憶された下位プロトコル層制御部122と、通信管理部124と、上位プロトコル層制御部126とを実行することにより行われる。図5から図8は、第1の実施形態における受信処理を示すフローチャートである。以下、順に説明する。
図5は、第1の実施形態における受信処理のうち、下位プロトコル層の処理を示すフローチャートである。
ストレージシステム10は、ネットワーク30からMACフレーム3140を受信すると受信処理を開始する(S1000)。すなわち、下位プロトコル層制御部122を用いて、まず、MAC層受信処理を行ない(S1010)、続いて、IP層受信処理(S1020)を行なう。次に、IPヘッダ3132に格納されている(図25)、宛先を示すIPアドレスが、既にセッション毎ネットワーク設定テーブル134に登録されているか否かを判定する(S1030)。前記IPアドレスがセッション毎ネットワーク設定テーブル134に登録されている場合は(S1030のYes)、セッション毎ネットワーク設定テーブル134から前記IPアドレスを元にそのセッションのネットワーク設定を読み出して(S1040)各プロトコル層の処理に反映し、その後、ステップS1050へ進む。他方、前記IPアドレスがセッション毎ネットワーク設定テーブル134に登録されていない場合は(S1030のNo)、新規のセッション確立と考えられるので、当該セッションには、予め定められたセッション開始用のネットワーク設定を各プロトコル層の処理に適用し(S1110)、その後、ステップS1050へ進む。ここで、セッション開始用のネットワーク設定は、たとえばTCP層やSCSI層のタイムアウト値を比較的大きな値とし、各プロトコル層のプロトコルオプションを最低限にして、通信路の状態がある程度悪くて応答遅延時間が大きいまたはパケットエラー率が高い場合でも対応できるようなネットワーク設定とする。
ストレージシステム10は、ネットワーク30からMACフレーム3140を受信すると受信処理を開始する(S1000)。すなわち、下位プロトコル層制御部122を用いて、まず、MAC層受信処理を行ない(S1010)、続いて、IP層受信処理(S1020)を行なう。次に、IPヘッダ3132に格納されている(図25)、宛先を示すIPアドレスが、既にセッション毎ネットワーク設定テーブル134に登録されているか否かを判定する(S1030)。前記IPアドレスがセッション毎ネットワーク設定テーブル134に登録されている場合は(S1030のYes)、セッション毎ネットワーク設定テーブル134から前記IPアドレスを元にそのセッションのネットワーク設定を読み出して(S1040)各プロトコル層の処理に反映し、その後、ステップS1050へ進む。他方、前記IPアドレスがセッション毎ネットワーク設定テーブル134に登録されていない場合は(S1030のNo)、新規のセッション確立と考えられるので、当該セッションには、予め定められたセッション開始用のネットワーク設定を各プロトコル層の処理に適用し(S1110)、その後、ステップS1050へ進む。ここで、セッション開始用のネットワーク設定は、たとえばTCP層やSCSI層のタイムアウト値を比較的大きな値とし、各プロトコル層のプロトコルオプションを最低限にして、通信路の状態がある程度悪くて応答遅延時間が大きいまたはパケットエラー率が高い場合でも対応できるようなネットワーク設定とする。
ステップS1050では、TCP層受信処理を行なう。その後、エラーを検出したか否かの判定(S1060)を行ない、エラーが無かった場合は(S1060のNo)、ステップS1070へ進む。他方、エラーがあって受信フレームの処理を続けられない場合は(S1060のYes)、ステップS1120へ進み、受信パケット喪失に対応してセッション毎ネットワーク情報テーブル135のエラー率を更新する(S1120)。ステップS1120における更新では、当該セッションの受信パケットエラー率に関し、エラーパケット数と受信パケット総数を共に加算し、エラー率を更新する。
ステップS1070では、受信フレームが、既にストレージシステム10が送信したデータに対するACKであるか否かの判定を行なう。ステップS1070の判定でACKだった場合は(S1070のYes)、ステップS1140へ進み、セッション毎ネットワーク情報テーブル135の更新を行なう。ここでは、ACKに対応する前記送信したデータからの応答遅延時間をネットワーク情報テーブルの当該セッションの応答遅延時間として格納する。その後、後処理として前記送信したデータのACK待ちを解除し(S1150)、受信処理を終了する。
ステップS1070の判定で受信フレームがACKでなかった場合は(S1070のNo)、ステップS1080へ進み、当該データの送信元へACK返信する処理を行なう(S1080)。その後、正常パケット受信に対応してセッション毎ネットワーク情報テーブル135のエラー率を更新する(S1090)。ステップS1090では、受信パケットエラー率に関し、受信パケット総数のみ加算し、エラー率を更新する。その後、図6の「R0」で示されたステップS1100から処理を継続する。
図6は、図5の続きの処理であり、第1の実施形態における受信処理のうち、上位プロトコル層の処理を示すフローチャートである。「R0」で示されたステップS1100の後、受信したフレームにiSCSI PDUが含まれていたか否かの判定を行なう(S1200)。ステップS1200の判定で、iSCSI PDUが含まれていなかった場合は(S1200のNo)、ステップS1270に進み、TCP制御パケットの処理をして(S1270)、受信処理を終了する。他方、ステップS1200の判定で、iSCSI PDUが含まれていた場合は(S1200のYes)、ステップS1210へ進み、受信したフレームでiSCSI PDUが完結しているか否かの判定を行なう。
ステップS1210の判定の結果、iSCSI PDUが完結していない場合は(S1210のNo)、後続のフレーム受信時にiSCSI PDUが完結すると考えられるので、ここでの受信処理を終了する。他方、S1210の判定の結果、iSCSI PDUが完結している場合は(S1210のYes)、ステップS1220に進み、iSCSI層の受信処理を行なう。その後、iSCSI PDUにSCSI CDBが含まれているかの判定を行なう(S1230)。
ステップS1230の判定の結果、SCSI CDBが含まれていない場合は(S1230のNo)、iSCSIの制御PDUの受信処理を行ない(S1280)、処理を終了する。なお、iSCSIの制御PDUの受信処理の詳細は、図7を用いて後記する。
他方、ステップS1230の判定の結果、SCSI CDBが含まれている場合は(S1230のYes)、ステップS1240へ進み、前記のSCSI CDBによって受信したSCSI CDBが完結しているか否かの判定を行なう。たとえば、ライトデータは複数の受信フレームにまたがって受信する場合があるので、このステップでライトデータが完結しているかどうかを調べる。ステップS1240の判定の結果、SCSI CDBが完結していない場合は(S1240のNo)、後続のフレーム受信時にSCSI CDBが完結すると考えられるので、ここでの受信処理を終了する。他方、ステップS1240の判定の結果、SCSI CDBが完結している場合は(S1240のYes)、ステップS1250へ進み、SCSI層受信処理を行ない(S1250)、SCSI CDBを格納していたバッファを開放するなどの後処理(S1260)をした後に、受信処理を終了する。
図7は、第1の実施形態における受信処理のうち、iSCSI制御PDUの処理を示すフローチャートである。ここでは、図6におけるステップS1280の処理の詳細を説明する。図7の処理は、完結したiSCSI制御PDUに対して行われるものとする。
まず、前記完結したiSCSI PDUがログイン要求PDUか否かの判定を行ない(S1300)、ログイン要求PDUである場合は(S1300のYes)、ステップS1370のiSCSIログイン処理を行ない、処理を終了する。なお、iSCSIログイン処理の詳細は、図8を用いて後記する。
他方、前記完結したiSCSI PDUがログイン要求PDUではない場合は(S1300のNo)、ステップS1310へ進み、iSCSI PDUの処理を行なう(S1310)。ステップS1310の処理においては、たとえば、前記のiSCSI PDUがログアウト要求PDUであった場合は、ログアウト要求処理を行なう。なお、ログアウトが成立する場合は、当該iSCSI PDUが送信されたコネクションも終了する。
ステップS1310の処理の後、当該iSCSI PDUが送信されたコネクションが終了か否かの判定を行ない(S1320)、当該コネクションが終了しない場合は(S1320のNo)、後続のフレーム受信時にコネクションが終了するので、ここでの受信処理を終了する。他方、当該コネクションが終了する場合は(S1320のYes)、ステップS1330へ進む。
ステップS1330では、コネクション終了処理を行ない、その後のステップS1340で当該コネクションが含まれるセッションが終了か否かの判定を行なう。当該コネクションが含まれるセッションが終了か否かを調べるには、当該コネクションがセッションの唯一のコネクションか否かを調べればよい。当該コネクションが唯一であった場合には、当該セッションも終了となるので、このような当該セッションが終了となる場合には(S1340のYes)、ステップS1350へ進み、セッション終了処理を行なう。その後、ステップS1360へ進み、セッション毎ネットワーク設定テーブルおよびセッション毎ネットワーク情報テーブルから当該セッションを削除し、受信処理を終了する。ステップS1340の判定で、当該セッションが終了にならない場合は(S1340のNo)、受信処理を終了する。
図8は、第1の実施形態における受信処理のうち、iSCSIログイン要求PDUの処理を示すフローチャートである。ここでは、図7におけるステップS1370のiSCSIログイン処理の詳細を示す。
ステップS1410では、処理中のiSCSI PDUが成立中のセッションに属するコネクションで送信されたものか否かの判定を行なう。ステップS1410の判定で、処理中のiSCSI PDUが成立中のセッションに属するコネクションで送信されたものであると判定された場合は(S1410のYes)、ステップS1440へ進む。
他方、S1410の判定で、処理中のiSCSI PDUが成立中のセッションに属するコネクションで送信されたものではないと判定された場合は(S1410のNo)、ステップS1420へ進む。すなわち、ここで受けつけたiSCSIログイン要求PDUは、そのセッションの最初のコネクションを確立するためのiSCSIログイン要求PDUであるため、ステップS1420でセッション開始処理を行なう。その後、ステップS1430でセッション毎ネットワーク設定テーブル、セッション毎ネットワーク情報テーブルに当該セッションを追加し、ステップS1440へ進む。ステップS1440ではコネクション開始処理を行ない、その後、受信処理を終了する。
図9は、第1の実施形態における送信処理を示すフローチャートである。ストレージシステム10は、ネットワーク30経由でサーバ20に向けてSCSI CDB3100を送信するために送信処理を開始する(S1500)。まず、SCSI層でCDBを形成する送信処理を行ない(S1510)、次に、セッション毎ネットワーク設定テーブル134から、送信先のサーバ20を示すiSCSI Nameを元に、ネットワーク設定を読み出す(S1520)。読み出した設定は、ステップS1530以降の送信処理に適用する。
その次に、送信しようとするSCSI CDB3100がSCSIコマンドCDBであるか否かの判定を行なう(S1530)。送信しようとするSCSI CDB3100がSCSIコマンドCDBである場合は(S1530のYes)、ステップS1540へ進み、SCSIコマンドタイムアウトを監視するSCSI層のコマンド毎タイマを初期化して、S1550へ進む。送信しようとするSCSI CDB3100がSCSIコマンドCDBではない場合は(S1530のNo)、そのままステップS1550へ進む。
ステップS1550では、iSCSI層での送信処理を行なう。すなわち、SCSI CDB3100をiSCSI PDU3110へ整形する。その後、TCP層の送信処理を行なう(S1560)。すなわち、iSCSI PDU3110をTCPパケット3120へ整形する。
さらに、その後、TCP層の再送タイマの初期化を行なう(S1570)。そして、セッション毎ネットワーク情報テーブル135内の送信データ量について更新する(S1580)。具体的には、送信データ量を送信するTCPパケット数の分、増加する。そして、IP層の送信処理を行なう(S1590)。すなわち、TCPパケット3120をIPパケット3130へ整形してIP層に適合させる。その後、MAC層の送信処理を行なう(S1600)。すなわち、IPパケット3130をMACフレーム3140へ整形し、ネットワーク30へ送信し、送信処理を終了する。
図10は、第1の実施形態におけるSCSI層のタイマ割り込み処理を示すフローチャートである。ストレージシステム10は、所定の間隔で、SCSI層のタイマ割り込み処理を開始する(S1700)。SCSI層のタイマ割り込み処理では、処理中のSCSIコマンドCDBのうち、タイムアウトが発生したSCSIコマンドCDBがあるか否かを判定する(S1710)。タイムアウトが発生したSCSIコマンドCDBがない場合は(S1710のNo)、タイマ割り込み処理を終了する。S1710の判定で、タイムアウトが発生したSCSIコマンドCDBがある場合は(S1710のYes)、該SCSIコマンドCDBについて、処理中断のための後処理を実施する(S1720)。具体的には、該SCSIコマンドCDBのタイムアウト監視の対象から外す。その後、タイマ割り込み処理を終了する。
図11は、第1の実施形態におけるTCP層のタイマ割り込み処理を示すフローチャートである。ストレージシステム10は、あらかじめ定められた間隔で、TCP層のタイマ割り込みを発生し(S1800)、処理を開始する。TCP層のタイマ割り込み処理では、送信済で、かつ、対応するACK応答を受信していないTCPパケットのうち、タイムアウトが発生したTCPパケットがあるか否かを判定する(S1810)。タイムアウトが発生したTCPパケットがない場合は(S1810のNo)、タイマ割り込み処理を終了する。S1810の判定でタイムアウトが発生したTCPパケットがある場合は(S1810のYes)、セッション毎ネットワーク情報テーブルの送信データ喪失量を更新する(S1820)。その後、該TCPパケットを再送処理するために、ステップS1560のTCP層の送信処理以降の処理を行なうが、これ以降の処理は、図9における送信処理のステップと同じ処理なので、同じ符号を付して説明を省略する。
図12は、第1の実施形態におけるセッション毎ネットワーク設定テーブル更新を行なうためのタイマ割り込み処理を示すフローチャートである。ストレージシステム10は、所定の間隔のタイマ割り込みを発生させて(S2000)、セッション毎ネットワーク設定テーブル更新処理を開始する。そして、セッション毎ネットワーク情報テーブルから、成立中の各セッションについてネットワーク情報を採取する(S2010)。その後、採取したネットワーク情報を元に、該セッションのネットワーク設定を変更する(S2020)。
具体的には、当該セッションに関し、所定の値α1よりもパケットエラー率が大きい場合、または、所定の値β2よりも応答遅延時間時間が大きい場合に、(1)当該セッションへの送信バッファ割当量を増加し、(2)当該セッションのSCSIタイムアウト値およびTCPタイムアウト値を増加し、かつ、(3)当該セッションに関しTCP層のプロトコルオプションを適用する。また、当該セッションに関し、所定の値α2よりもパケットエラー率が小さい場合、または、所定の値β2よりも応答遅延時間時間が小さい場合に、(1)当該セッションへの送信バッファ割当量を減少し、(2)当該セッションのSCSIタイムアウト値およびTCPタイムアウト値を減少し、かつ、(3)当該セッションに関しTCPのオプション制御プロトコルを除外する。
その後、セッション毎ネットワーク設定テーブルへS2020で決定したネットワーク設定を反映し(S2030)、該割り込み処理を終了する。
図13は、セッション毎ネットワーク設定テーブル134へのアクセスと更新について示す説明図である。前記のセッション毎ネットワーク設定テーブル134は、必要に応じて通信管理部124が読み出し、下位プロトコル層制御部122または上位プロトコル層制御部126へ処理中のセッションのネットワーク設定を伝える。設定の変更は、通信管理部124がセッション毎ネットワーク設定テーブル134の内容から行なうが、管理者が変更できるようにしてもよい。すなわち、管理者が使用中のセッション毎ネットワーク設定テーブル134とは別に変更準備用のセッション毎ネットワーク設定テーブル134Nを用意し、SVP300の入力手段を経由して管理者が変更内容を変更準備用のセッション毎ネットワーク設定テーブル134Nに入力し、その後、全ての変更内容の入力が終了したことを伝える指示により、変更準備用のセッション毎ネットワーク設定テーブル134Nの内容を使用中のセッション毎ネットワーク設定テーブル134にコピーし、短時間で一斉に設定を変更する方式としてもよい。SVP300との通信は、プロセッサ120内で動作するSVP管理部128が行なう。
以上説明した第1の実施形態によれば、近距離から遠距離、高品質から低品質まで、性質の異なるネットワーク経路が混在する条件で、個々のセッションそれぞれに対しネットワーク情報を別個に採取してそれに基づいた最適なネットワーク設定を行なうことで、ネットワークの条件に左右されず安定した通信性能を実現するIPストレージを提供できる。
<<第2の実施形態>>
図14は、第2の実施形態における電子計算機システム1(1B)のモジュール構成を示す説明図である。本実施形態は、第1の実施形態と同じシステム構成を前提とし、制御メモリ130上にグループ毎ネットワーク設定テーブル136およびセッション毎ネットワーク情報テーブル137を持つ。他の構成要素に関しては第1の実施形態と同様であるので、説明を省略する。
図14は、第2の実施形態における電子計算機システム1(1B)のモジュール構成を示す説明図である。本実施形態は、第1の実施形態と同じシステム構成を前提とし、制御メモリ130上にグループ毎ネットワーク設定テーブル136およびセッション毎ネットワーク情報テーブル137を持つ。他の構成要素に関しては第1の実施形態と同様であるので、説明を省略する。
[システムの構成]
第1の実施形態では、セッション毎にネットワーク設定を個別に管理していたが、本実施形態では、あらかじめネットワーク設定を管理する単位としてセッションのグループを複数定義しておき、グループ内の各セッションに同じネットワーク設定を適用する。そして、異なるグループには異なるネットワーク設定が対応する(詳細は後記する)。
第1の実施形態では、セッション毎にネットワーク設定を個別に管理していたが、本実施形態では、あらかじめネットワーク設定を管理する単位としてセッションのグループを複数定義しておき、グループ内の各セッションに同じネットワーク設定を適用する。そして、異なるグループには異なるネットワーク設定が対応する(詳細は後記する)。
あるセッションがどのグループに属するのが適当であるかの判断は、各グループがカバーする応答遅延時間とエラー発生率の範囲を予めSVPなどから管理者が設定しておく。そして、各セッションの応答遅延時間とエラー発生率(パケット喪失の割合)を監視して、個々のセッションがどのグループに属するかを設定管理プロセスが所定の時間ごとに決定する。この制御に用いるテーブルは、図15に示すグループ毎ネットワーク設定テーブル136と、図16に示すセッション毎ネットワーク情報テーブル137である。これらはいずれも制御メモリ130上に配置される。
図15は、第2の実施形態におけるグループ毎ネットワーク設定テーブル136の構成の一例を示す説明図である。グループ毎ネットワーク設定テーブル136は、第1の実施形態のセッション毎ネットワーク設定テーブル134と類似し、各グループについてネットワーク設定と内部的な処理で利用するインデックスを格納するが、第1の実施形態とは異なり、さらに各グループがカバーするネットワークの状態の範囲も格納する。これらの内容は、あらかじめストレージ管理者がSVPを経由して設定しておく。図15では、グループX、YおよびZが設定されており、それぞれがグループ毎ネットワーク設定テーブル136における1360X、1360Yおよび1360Zとして格納されている。
本実施形態で各グループがカバーするネットワーク状態の範囲の例としては、グループXは応答遅延時間時間が2ms以下かつパケットエラー率が0.01%以下をカバーし、グループYは応答遅延時間時間が10ms以下かつパケットエラー率が0.1%以下をカバーし、グループZは応答遅延時間時間が500ms以下かつパケットエラー率が1.0%以下をカバーするとしている。なお、このネットワーク状態の範囲は、ネットワーク状態に応じて、範囲を変えることも、より詳細に分割することも可能である。
図16は、第2の実施形態におけるセッション毎ネットワーク情報テーブル137の構成の一例を示す説明図である。セッション毎ネットワーク情報テーブル137は、そのセッションの応答遅延時間(RTT)とエラー発生率(パケット喪失の割合)を格納し、前記のどのグループに所属するかを示すグループIDも格納する。本実施形態では、グループX、YおよびZのグループIDはそれぞれX、YおよびZとする。セッション毎ネットワーク情報テーブル137の行1370A、1370B、1370Cおよび1370Dは、それぞれセッションA、セッションB、セッションC、セッションDのネットワーク設定の情報を含んでいる。セッションA、B、CおよびDは、それぞれグループX、Y、ZおよびZに属している。
[通信処理の動作]
本実施形態において、ストレージシステム10は、送信処理および受信処理はそれぞれ第1の実施形態の送信処理および受信処理と同様であるので、説明を省略する。
本実施形態において、ストレージシステム10は、送信処理および受信処理はそれぞれ第1の実施形態の送信処理および受信処理と同様であるので、説明を省略する。
図17は、第2の実施形態におけるセッション毎ネットワーク情報テーブル137の更新を行なうためのタイマ割り込み処理を示すフローチャートである。ストレージシステム10は、所定の間隔で割り込みを発生し(S2100)、セッション毎ネットワーク設定テーブル更新処理を開始する。その後、セッション毎ネットワーク情報テーブル137から、成立中の各セッションについてネットワーク情報を採取する(S2110)。さらに、採取したネットワーク情報を元に、当該セッションの応答遅延時間、パケットエラー率が所属セッション・グループのカバー範囲内か否かを判定し(S2120)、カバー範囲内であった場合は(S2120のYes)、該割り込み処理を終了する。
他方、当該セッションの応答遅延時間、パケットエラー率が所属セッション・グループのカバー範囲内ではない場合は(S2120のNo)、当該セッションの条件に最適な所属グループを選択し(S2130)、セッション毎ネットワーク情報テーブル137を更新して(S2140)、該割り込み処理を終了する。
以上説明した第2の実施形態によれば、近距離から遠距離、高品質から低品質まで、性質の異なるネットワーク経路が混在する条件で、個々のセッションそれぞれに対し、最適なネットワーク設定のグループに属するよう制御を行なうことで、各セッションがネットワークの条件に左右されず安定した通信性能を実現するIPストレージを提供できる。
<<第3の実施形態>>
第3の実施形態では、ストレージシステム10が複数のネットワークポートを持ち、iSCSIネームサーバの機能が利用できることを前提とするが、その他のシステム構成や通信処理については、第1の実施形態と同様であるので、説明を省略する。
第3の実施形態では、ストレージシステム10が複数のネットワークポートを持ち、iSCSIネームサーバの機能が利用できることを前提とするが、その他のシステム構成や通信処理については、第1の実施形態と同様であるので、説明を省略する。
[システム構成]
図18は、第3の実施形態における電子計算機システム1(1C)のモジュール構成を示す説明図である。
本実施形態に限らず、一般にストレージシステムは物理的に異なる複数のポートを持つが、本実施形態ではそうした各ポートにそれぞれ異なるネットワークパラメータを設定する。どの物理ポートからも同じiSCSIターゲットへログイン可能とし、セッション確立後は、そのセッションの応答遅延時間やパケットエラー率を監視し、そのセッションに適した設定が適用されている物理ポートへコネクションを張り替える。この監視およびコネクション張替えは、通信管理部124が行なう。コネクションの張替えをリダイレクションと呼ぶが、リダイレクションはiSNSのネームサーバ40が提供するiSCSIネームサーバ機能を利用する。これについては、図22および図23を用いて後記する。
図18は、第3の実施形態における電子計算機システム1(1C)のモジュール構成を示す説明図である。
本実施形態に限らず、一般にストレージシステムは物理的に異なる複数のポートを持つが、本実施形態ではそうした各ポートにそれぞれ異なるネットワークパラメータを設定する。どの物理ポートからも同じiSCSIターゲットへログイン可能とし、セッション確立後は、そのセッションの応答遅延時間やパケットエラー率を監視し、そのセッションに適した設定が適用されている物理ポートへコネクションを張り替える。この監視およびコネクション張替えは、通信管理部124が行なう。コネクションの張替えをリダイレクションと呼ぶが、リダイレクションはiSNSのネームサーバ40が提供するiSCSIネームサーバ機能を利用する。これについては、図22および図23を用いて後記する。
図19は、第3の実施形態におけるポート毎ネットワーク設定テーブルの構成の一例を示す説明図であり、図20は、第3の実施形態におけるセッション毎ネットワーク情報テーブルの構成の一例を示す説明図である。
第3の実施形態においては、セッションの応答遅延時間やパケットエラー率を監視し、そのセッションに適した設定が適用されている物理ポートへリダイレクションする制御については、図19のポート毎ネットワーク設定テーブル138と、図20のセッション毎ネットワーク情報テーブル139を用いて管理する。第2の実施形態が、ネットワーク設定を同じくするセッションをグループに分けていたのに対し、第3の実施形態では物理的なポート(物理ポート)毎にネットワーク設定を管理する点が異なる。その他は、第1の実施形態や第2の実施形態と同じなので、説明を省略する。
第3の実施形態においては、セッションの応答遅延時間やパケットエラー率を監視し、そのセッションに適した設定が適用されている物理ポートへリダイレクションする制御については、図19のポート毎ネットワーク設定テーブル138と、図20のセッション毎ネットワーク情報テーブル139を用いて管理する。第2の実施形態が、ネットワーク設定を同じくするセッションをグループに分けていたのに対し、第3の実施形態では物理的なポート(物理ポート)毎にネットワーク設定を管理する点が異なる。その他は、第1の実施形態や第2の実施形態と同じなので、説明を省略する。
[通信処理の動作]
図21は、第3の実施形態におけるセッション毎ネットワーク情報テーブル137の更新を行なうためのタイマ割り込み処理を示すフローチャートである。ストレージシステム10は、所定の間隔で割り込みを発生し(S2200)、セッション毎ネットワーク設定テーブル更新処理を開始する。その後、セッション毎ネットワーク情報テーブル137から、成立中の各セッションについてネットワーク情報を採取する(S2210)。さらに、採取したネットワーク情報を元に、当該セッションの応答遅延時間、パケットエラー率が所属ポートの範囲内か否かを判定し(S2220)、カバー範囲内であった場合は(S2220のYes)、そのまま該割り込み処理を終了する。
図21は、第3の実施形態におけるセッション毎ネットワーク情報テーブル137の更新を行なうためのタイマ割り込み処理を示すフローチャートである。ストレージシステム10は、所定の間隔で割り込みを発生し(S2200)、セッション毎ネットワーク設定テーブル更新処理を開始する。その後、セッション毎ネットワーク情報テーブル137から、成立中の各セッションについてネットワーク情報を採取する(S2210)。さらに、採取したネットワーク情報を元に、当該セッションの応答遅延時間、パケットエラー率が所属ポートの範囲内か否かを判定し(S2220)、カバー範囲内であった場合は(S2220のYes)、そのまま該割り込み処理を終了する。
他方、当該セッションの応答遅延時間、パケットエラー率が所属ポートのカバー範囲内ではない場合は(S2220のNo)、当該セッションの条件に最適な所属ポートを選択し(S2230)、セッション毎ネットワーク情報テーブル137を更新する(S2240)。そして、当該セッションのコネクションをリダイレクト処理して(S2250)、該割り込み処理を終了する。
図22は、iSNSネームサーバの登録処理の一動作例を示す説明図である。ネームサーバ40は、iSCSIではiSNS(internet Storage Naming Service)と呼ぶネームサーバ機能を利用する。iSNSは、それ自身がクライアントーサーバ型のサービスであり、ネームサーバであるiSNSがサーバの機能を持ち、iSCSIイニシエータ及びターゲットはiSNSクライアント機能を持つ。iSNSのネームサーバ40は、IP−SAN上の機器の情報をiSNS内のデータベース(図では省略している)へ格納し、iSNSクライアントからの要求に従ってiSNSデータベースの問い合わせを行なうネーミングサービスを提供する。
IP−SANの場合、iSCSIターゲットからのターゲット情報T10を受け取り、それに対するレスポンスT20を返信すると共に、IPアドレスとiSCSI Nameの関係をデータベースへ登録する。登録されているデータベースのターゲット情報に変更があった場合、iSNSは、そのターゲットに影響する範囲(ディスカバリ・ドメインと呼ぶ。詳細は後記する。)のiSNSクライアントにSCN(State Change Notification)T30を送信する。SCNを受け取ったiSNSクライアントは、iSNSに対しどのような変更があったか問い合わせるクエリT40を発行し、レスポンスT50として更新されたターゲット情報を入手する。以上が、iSNSネームサーバの基本的動作である。
前記ディスカバリ・ドメイン(Discovery Domain、以下、DDと記述)は、iSCSIノード(イニシエタとターゲット)の集合として定義される。図21では省略しているが、DDは、あらかじめiSNSに登録された管理装置から通常管理者が手動で登録する。iSCSIイニシエータは、iSCSIのディスカバリと呼ぶ機能で利用可能なiSCSIターゲットの情報を獲得するが、iSNSにディスカバリ要求を発行し、iSNSがDDで定義されたターゲットの情報のみ応答することで、そのイニシエータがアクセス可能なターゲットの情報のみ通知される。
なお、本実施形態では、このターゲット情報を含んだレスポンスT50の入手後に、ログアウトの命令T60をターゲットに送り、これに応じてターゲットからログアウト完了のレスポンスT70がイニシエータに返され、イニシエータから別のターゲットに対してログインの命令T80が送られて、これに対してログイン完了のレスポンスT90がイニシエータに返されることで、リダイレクトを実現する。そして、このリダイレクトの仕組みを用いて、より適切なネットワーク設定のポートにリダイレクトを行なうのである。
図23は、第3の実施形態におけるiSNSネームサーバの登録内容変更の一例を示す説明図である。
この例では、ストレージシステム10起動直後、DDは、符号2000で示されているDDの1つのみが登録されていて、この状態から、ホストA〜D(図18に符号20Aから20Dで示されるサーバ20)それぞれと通信を開始して、イニシエータA、イニシエータBとの通信(図示していないが、セッションA、セッションBに対応)は、比較的低遅延でパケットエラー率が低いが、イニシエータC、イニシエータDとの通信(同セッションC、セッションDに対応)は、高遅延でパケットエラー率が高いことが判明したという前提で説明する。
この例では、ストレージシステム10起動直後、DDは、符号2000で示されているDDの1つのみが登録されていて、この状態から、ホストA〜D(図18に符号20Aから20Dで示されるサーバ20)それぞれと通信を開始して、イニシエータA、イニシエータBとの通信(図示していないが、セッションA、セッションBに対応)は、比較的低遅延でパケットエラー率が低いが、イニシエータC、イニシエータDとの通信(同セッションC、セッションDに対応)は、高遅延でパケットエラー率が高いことが判明したという前提で説明する。
ここで、登録されているDDの内容を変更し、DD#1(符号2100で示されているDD)とDD#2(符号2110で示されているDD)として設定する。これにより、ポートJとポートHのネットワーク設定が、高遅延かつパケットエラー率が高いセッションに適した設定になる。
なお、ネットワーク設定のその他の変更の例としては、個々のセッションに割り振るバッファの量を増大する、各プロトコル層での通信単位を短くする、TCPの各種オプションアルゴリズムをオンにしてプロトコル処理にかかるオーバヘッドは増大するがパケットエラー率を低減する、などが挙げられる。これらの変更により、ポート毎にネットワーク設定を変えて、より多彩なネットワーク状況に対応できる。
この状態で、セッションAおよびセッションBは、ポートIまたはポートK経由でターゲットEと通信し、セッションCおよびセッションDは、ポートJまたはポートH経由でターゲットEと通信している。
さらに、この状態から、とDD#2(符号2110で示されているDD)の高遅延かつパケットエラー率が高いセッションの設定を2つに分けて、符号2210のDD#2と符号2220のDD#3に割り当てる。これにより、低遅延でパケットエラー率が低いセッションから高遅延でパケットエラー率が高いセッションまでそれぞれに適したネットワーク設定のポートで通信を行なうことができるようになる。
なお、本実施形態では物理的に異なるポートごとにネットワーク設定を管理し、それらのポート間でリダイレクトを行なったが、物理的に異なるポートの代わりに論理的に異なるポート、たとえばTCPポートごとにネットワーク設定を管理し、それらの間でリダイレクトを行なう形態としてもよい。
以上説明した第3の実施形態によれば、近距離から遠距離、高品質から低品質まで、性質の異なるネットワーク経路が混在する条件で、個々のセッションそれぞれに対し、最適なネットワーク設定のネットワークポートに属するよう通信をリダイレクトして制御を行なうことで、各セッションがネットワークの条件に左右されず安定した通信性能を実現するIPストレージを提供できる。
<<第4の実施形態>>
図24は、第4の実施形態におけるログイン時のネゴシエーション(交渉)処理の一例を示す説明図である。第4の実施形態は、ネゴシエーション(交渉)を行なう以外の点は、システム構成および通信処理について、第1の実施形態と同じである。なお、基本とするシステム構成や通信処理を第2の実施形態、第3の実施形態またはその変形例と同じとしてもよい。第1の実施形態においては、新規コネクション確立時のネットワーク設定については、図5のステップS1110で述べたように予め用意された所定の設定を用いたが、本実施形態ではログイン要求処理時にiSCSI層以外のネットワークパラメータの交渉を通信相手と行ない、デフォルト値の代わりにセッション毎ネットワーク設定テーブル134へ格納する。
図24は、第4の実施形態におけるログイン時のネゴシエーション(交渉)処理の一例を示す説明図である。第4の実施形態は、ネゴシエーション(交渉)を行なう以外の点は、システム構成および通信処理について、第1の実施形態と同じである。なお、基本とするシステム構成や通信処理を第2の実施形態、第3の実施形態またはその変形例と同じとしてもよい。第1の実施形態においては、新規コネクション確立時のネットワーク設定については、図5のステップS1110で述べたように予め用意された所定の設定を用いたが、本実施形態ではログイン要求処理時にiSCSI層以外のネットワークパラメータの交渉を通信相手と行ない、デフォルト値の代わりにセッション毎ネットワーク設定テーブル134へ格納する。
この交渉によって変更できるのは、たとえば、MAC層やH/Wのレベルでは、フレームサイズやバッファサイズがあり、TCP/IP層では、IPパケットサイズやオプショナルアルゴリズムやタイムアウトの値がある。この他に、より上位のプロトコル層では、iSCSI層やSCSI層において、タイムアウトの値やエラー回復レベルなどのログインパラメータと前記したKeep Alive Timerの値があるが、本実施形態においては、下位プロトコル層のパラメータなどを交渉して変更できることがより重要である。
iSCSIは、Text Commandと呼ぶ方式でイニシエータとターゲットの間でiSCSI以外のパラメータの交換が可能であり、ログイン時にiSCSI層以外のネットワーク設定のパラメータのネゴシエーションを実行できる。図24の例では、TCPオプションのひとつであるDelayed ACKのオン/オフのネゴシエーションを示した。
まず、イニシエータはiSCSIログイン要求T100をターゲットに対して送る。これを受け取ったとき、ターゲットは、たとえば、x-key.hitachi.TCP-option-Delayed-ACK=yesという情報を伴うiSCSIログインレスポンスT110を返して、イニシエータに交渉によって設定が可能なオプションを知らせる。そして、イニシエータは、x-key.hitachi.TCP-option-Delayed-ACK=yesという情報を伴うログイン要求T120をターゲットに送ることにより、このオプションを利用することを要求する。それに対して、ターゲットはiSCSIログインレスポンスT130を返して交渉が成立する。
第4の実施形態によれば、通常のiSCSI層やSCSI層では、交渉できない下位プロトコル層のパラメータなども交渉することができるので、より柔軟にネットワーク設定を変更することで、各セッションがネットワークの条件に左右されず安定した通信性能を実現するIPストレージを提供できる。
<<その他の実施形態>>
本発明の実施形態は、さらに様々な変形例をもつ。たとえば、電子計算機システム1を構成する各装置間の通信は、iSCSIによる接続に限るものではなく、IPの上位プロトコルとしてTCPの代わりにUDP(User Datagram Protocol)を用いてもよいし、iSCSIやSCSIの代わりにNFS(Network File System)やCIFS(Common Internet File System)による接続であってもよい。本発明は、本質的に、階層状のプロトコル処理と、遅延やデータ喪失に対する考慮が必要なネットワークに対する適用が有効である。また、第1の実施形態は、図1で示したSANの接続形態に限るものではなく、種々の接続形態に適用することが可能である。
本発明の実施形態は、さらに様々な変形例をもつ。たとえば、電子計算機システム1を構成する各装置間の通信は、iSCSIによる接続に限るものではなく、IPの上位プロトコルとしてTCPの代わりにUDP(User Datagram Protocol)を用いてもよいし、iSCSIやSCSIの代わりにNFS(Network File System)やCIFS(Common Internet File System)による接続であってもよい。本発明は、本質的に、階層状のプロトコル処理と、遅延やデータ喪失に対する考慮が必要なネットワークに対する適用が有効である。また、第1の実施形態は、図1で示したSANの接続形態に限るものではなく、種々の接続形態に適用することが可能である。
また、前記の第3の実施形態では、ネームサーバ40は、サーバでもストレージでもない別の装置として説明したが、いずれかのサーバまたはストレージの一機能の処理として行なってもよい。
また、ストレージシステム10は、ストレージコントローラ100やキャッシュメモリ150などを二重に持ちH/W故障に対して耐性が高い構成としてもよい。
また、記憶装置200は、前記したようなハードディスク装置に限るものでなく、半導体メモリストレージシステム、磁気テープストレージシステム、光ディスクストレージシステム、または、それらの組み合わせなど種々の記憶装置を採用することができる。
また、前記の実施形態では、ネットワーク情報およびネットワーク設定を制御メモリ上のテーブルとして格納・管理するとして説明したが、テーブル以外の手段、たとえばポインタを用いたリスト構造として格納・管理してもよい。
また、ストレージシステム10は、ストレージコントローラ100やキャッシュメモリ150などを二重に持ちH/W故障に対して耐性が高い構成としてもよい。
また、記憶装置200は、前記したようなハードディスク装置に限るものでなく、半導体メモリストレージシステム、磁気テープストレージシステム、光ディスクストレージシステム、または、それらの組み合わせなど種々の記憶装置を採用することができる。
また、前記の実施形態では、ネットワーク情報およびネットワーク設定を制御メモリ上のテーブルとして格納・管理するとして説明したが、テーブル以外の手段、たとえばポインタを用いたリスト構造として格納・管理してもよい。
また、前記の実施形態では、ネットワーク情報およびネットワーク設定の管理をセッション、または、セッションのグループ毎に行なっていたが、これをコネクション毎にネットワーク設定の管理を行なってもよい。セッションは1つ以上のコネクションから形成されるため、前記の実施形態と比べて管理に用いるテーブルが大きくなるが、よりネットワーク経路に適したネットワーク設定を行なうことができるようになる。
また、前記の実施形態において、プロトコル処理はソフトウェア処理として説明したが、一部また全部をH/Wで処理するよう実装してもよい。この場合、TCPオフロードエンジンやiSCSIプロトコルチップと呼ばれる制御LSIを利用できる。
また、前記の記実施形態においてストレージ装置はiSCSIターゲット機能について示したが、iSCSIイニシエータ機能を具備していてもよい。ネットワーク設定に関する処理は、iSCSIイニシエータまたはiSCSIイニシエータ・ターゲット機能が同時に存在する場合でも、セッション毎に制御する方法は、前記実施形態と同等である。
また、ネットワーク設定テーブル、ネットワーク情報テーブルの管理は定期的でなくともよい。たとえば、予め決められた数以上のパケット受信のたびに受信処理を行なうとしてもよい。
また、前記の実施形態において、プロトコル処理はソフトウェア処理として説明したが、一部また全部をH/Wで処理するよう実装してもよい。この場合、TCPオフロードエンジンやiSCSIプロトコルチップと呼ばれる制御LSIを利用できる。
また、前記の記実施形態においてストレージ装置はiSCSIターゲット機能について示したが、iSCSIイニシエータ機能を具備していてもよい。ネットワーク設定に関する処理は、iSCSIイニシエータまたはiSCSIイニシエータ・ターゲット機能が同時に存在する場合でも、セッション毎に制御する方法は、前記実施形態と同等である。
また、ネットワーク設定テーブル、ネットワーク情報テーブルの管理は定期的でなくともよい。たとえば、予め決められた数以上のパケット受信のたびに受信処理を行なうとしてもよい。
また、前記実施形態では、ネットワーク情報をストレージシステム10が送信したデータに関する応答遅延時間時間やパケットエラー率(損失率)として説明したが、パケットエラー率ではなく、正常に送受信できたパケットの割合を示すパケット到達率を元に適切な制御を行なっても同様の効果が得られる。
また、別のネットワーク情報の採取としては、定期的にTCPのpingやiSCSIの生存監視機能であるECHOコマンドを送信し、対応する応答を受信するまでの時間からそのセッションにおけるネットワークの応答遅延時間を測定してもよい。
以上、本発明の実施形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得る。また、本発明のすべての実施形態は、演算手段を用いて、計算機のプログラムを読み込んで実行することで実現される。
1,1A,1B,1C 電子計算機システム
10 ストレージシステム
20,20A,20B,20C,20D サーバ(ホストコンピュータ)
24 ネットワークポート
30 ネットワーク(IPネットワーク)
100 ストレージコントローラ
110,110I,110J,110K,110L ネットワークポート
120 プロセッサ
122 MACおよびネットワーク制御部
124 通信管理部
125 下位プロトコル層制御部
126 上位プロトコル層制御部
127 iSCSIターゲット機能部
130 制御メモリ
134 セッション毎ネットワーク設定テーブル
135 セッション毎ネットワーク情報テーブル
136 グループ毎ネットワーク設定テーブル
137 セッション毎ネットワーク情報テーブル
138 ポート毎ネットワーク設定テーブル
139 セッション毎ネットワーク情報テーブル
10 ストレージシステム
20,20A,20B,20C,20D サーバ(ホストコンピュータ)
24 ネットワークポート
30 ネットワーク(IPネットワーク)
100 ストレージコントローラ
110,110I,110J,110K,110L ネットワークポート
120 プロセッサ
122 MACおよびネットワーク制御部
124 通信管理部
125 下位プロトコル層制御部
126 上位プロトコル層制御部
127 iSCSIターゲット機能部
130 制御メモリ
134 セッション毎ネットワーク設定テーブル
135 セッション毎ネットワーク情報テーブル
136 グループ毎ネットワーク設定テーブル
137 セッション毎ネットワーク情報テーブル
138 ポート毎ネットワーク設定テーブル
139 セッション毎ネットワーク情報テーブル
Claims (20)
- 演算手段と記憶手段とネットワークに接続する手段を少なくとも備える計算機が実行する通信制御方法であって、
前記ネットワークに接続する手段がネットワークからの通信要求を受信するステップと、
前記演算手段が前記通信について所定の指標を計測するステップと、
前記記憶手段が前記所定の指標の計測結果及び所定の閾値を記憶するステップと、
前記演算手段が前記所定の閾値を参照して前記計測結果に対する前記所定の指標による解析を行なうステップと、
前記演算手段が前記解析に基づいて前記通信に用いる所定の通信プロトコルの通信パラメータを決定するステップと、
前記ネットワークに接続する手段が前記通信パラメータを用いて前記通信を行なうステップを含むこと
を特徴とする通信制御方法。 - 前記通信について所定の指標に応答遅延時間または送受信エラー率を含むこと
を特徴とする請求項1に記載の通信制御方法。 - 前記演算手段が前記解析に基づいて前記通信に用いる所定の通信プロトコルの通信パラメータを決定するステップにおいて、
セッションごとに通信パラメータを決定すること
を特徴とする請求項2に記載の通信制御方法。 - 前記演算手段が前記解析に基づいて前記通信に用いる所定の通信プロトコルの通信パラメータを決定するステップにおいて、
前記セッションをグループごとに分類し、該セッションに用いる通信パラメータをグループごとに所定の通信パラメータに決定すること
を特徴とする請求項2に記載の通信制御方法。 - 前記演算手段が前記解析に基づいて前記通信に用いる所定の通信プロトコルの通信パラメータを決定するステップにおいて、
前記セッションを利用するポートごとに分類し、該セッションに用いる通信パラメータをポートごとに決定すること
を特徴とする請求項2に記載の通信制御方法。 - 前記所定の通信プロトコルがiSCSIであること
を特徴とする請求項2に記載の通信制御方法。 - 前記通信パラメータが適正でない場合に、前記iSCSIのプロトコルに従って適正な通信パラメータのポートにリダイレクトを行なうこと
を特徴とする請求項6に記載の通信制御方法。 - 前記iSCSIのプロトコルに従ってログインを行なう場合に、前記iSCSIのプロトコルに規定されている通信パラメータに加えて下位プロトコル層の通信パラメータもネゴシエーションすること
を特徴とする請求項6に記載の通信制御方法。 - 前記演算手段が前記解析に基づいて前記通信に用いる所定の通信プロトコルの通信パラメータを決定するステップにおいて、
利用するポートごとに前記セッションを分類し、該セッションに用いる通信パラメータをポートごとに決定し、
前記通信パラメータが適正でない場合に、前記iSCSIのプロトコルに従って適正な通信パラメータのポートにリダイレクトを行なうこと
を特徴とする請求項8に記載の通信制御方法。 - 計算機が演算手段と記憶手段とネットワークに接続する手段を少なくとも備える通信制御装置であって、
前記ネットワークに接続する手段がネットワークからの通信要求を受信し、
前記演算手段が前記通信について所定の指標を計測し、
前記記憶手段が前記所定の指標の計測結果及び所定の閾値を記憶し、
前記演算手段が前記所定の閾値を参照して前記計測結果に対する前記所定の指標による解析を行ない、
前記演算手段が前記解析に基づいて前記通信に用いる所定の通信プロトコルの通信パラメータを決定し、
ネットワークに接続する手段が前記通信パラメータを用いて前記通信を行なうこと
を特徴とする通信制御装置。 - 前記通信について所定の指標に応答遅延時間または送受信エラー率を含むこと
を特徴とする請求項10に記載の通信制御装置。 - 前記演算手段が前記解析に基づいて前記通信に用いる所定の通信プロトコルの通信パラメータをセッションごとに決定すること
を特徴とする請求項11に記載の通信制御装置。 - 前記演算手段が前記解析に基づいて前記セッションをグループごとに分類し、該セッションに用いる通信パラメータをグループごとに所定の通信パラメータに決定すること
を特徴とする請求項11に記載の通信制御装置。 - 前記演算手段が前記解析に基づいて前記セッションを利用するポートごとに分類し、該セッションに用いる通信パラメータをポートごとに決定すること
を特徴とする請求項11に記載の通信制御装置。 - 前記所定の通信プロトコルがiSCSIであること
を特徴とする請求項11に記載の通信制御装置。 - 前記通信パラメータが適正でない場合に、前記iSCSIのプロトコルに従って適正な通信パラメータのポートにリダイレクトを行なうこと
を特徴とする請求項15に記載の通信制御装置。 - 前記iSCSIのプロトコルに従ってログインを行なう場合に、前記iSCSIのプロトコルに規定されている通信パラメータに加えて下位プロトコル層の通信パラメータもネゴシエーションすること
を特徴とする請求項15に記載の通信制御装置。 - 前記演算手段が前記解析に基づいて前記セッションを利用するポートごとに分類し、該セッションに用いる通信パラメータをポートごとに決定し、
前記通信パラメータが適正でない場合に、前記iSCSIのプロトコルに従って適正な通信パラメータのポートにリダイレクトを行なうこと
を特徴とする請求項17に記載の通信制御装置。 - 演算手段と記憶手段とネットワークに接続する手段を少なくとも備える計算機が実行する通信制御プログラムを記録した記憶媒体であって、
前記ネットワークに接続する手段がネットワークからの通信要求を受信するステップと、
前記演算手段が前記通信について所定の指標を計測するステップと、
前記記憶手段が前記所定の指標の計測結果及び所定の閾値を記憶するステップと、
前記演算手段が前記所定の閾値を参照して前記計測結果に対する前記所定の指標による解析を行なうステップと、
前記演算手段が前記解析に基づいて前記通信に用いる所定の通信プロトコルの通信パラメータを決定するステップと、
ネットワークに接続する手段が前記通信パラメータを用いて前記通信を行なうステップを含むこと
を特徴とする通信制御プログラムを記録した記憶媒体。 - 前記通信について所定の指標に応答遅延時間または送受信エラー率を含むこと
を特徴とする請求項19に記載の通信制御プログラムを記録した記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005083167A JP2006270303A (ja) | 2005-03-23 | 2005-03-23 | 通信制御方法、通信制御装置および通信制御プログラムを記録した記憶媒体 |
US11/138,504 US20060215656A1 (en) | 2005-03-23 | 2005-05-27 | Method, device and program storage medium for controlling communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005083167A JP2006270303A (ja) | 2005-03-23 | 2005-03-23 | 通信制御方法、通信制御装置および通信制御プログラムを記録した記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006270303A true JP2006270303A (ja) | 2006-10-05 |
Family
ID=37035082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005083167A Pending JP2006270303A (ja) | 2005-03-23 | 2005-03-23 | 通信制御方法、通信制御装置および通信制御プログラムを記録した記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060215656A1 (ja) |
JP (1) | JP2006270303A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100784944B1 (ko) | 2007-09-18 | 2007-12-11 | 비콤시스템주식회사 | 상하수도 처리장의 통합감시 제어시스템 |
JP2009200611A (ja) * | 2008-02-19 | 2009-09-03 | Nippon Telegr & Teleph Corp <Ntt> | iSCSIセッションのTCPコネクション数制御方法、iSCSIホスト装置、およびiSCSIイニシエータの構成プログラム |
WO2010013469A1 (ja) * | 2008-07-30 | 2010-02-04 | パナソニック株式会社 | Tcp送信制御装置及びtcp送信制御方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177881A1 (en) * | 2007-01-19 | 2008-07-24 | Dell Products, Lp | System and Method for Applying Quality of Service (QoS) in iSCSI Through ISNS |
WO2008137047A2 (en) | 2007-04-30 | 2008-11-13 | Netapp, Inc. | Method and apparatus for offloading network processes in a computer storage system |
JP4966135B2 (ja) * | 2007-08-31 | 2012-07-04 | 株式会社東芝 | サーバ装置、端末装置、通信制御方法および通信制御プログラム |
CN101656635B (zh) * | 2008-08-20 | 2012-06-13 | 鸿富锦精密工业(深圳)有限公司 | 网络计算装置及方法 |
US8572062B2 (en) * | 2009-12-21 | 2013-10-29 | International Business Machines Corporation | Indexing documents using internal index sets |
US20120106954A1 (en) * | 2010-11-01 | 2012-05-03 | Lockheed Martin Corporation | Method for updating ports in a photonic-based distributed network switch |
TWI452886B (zh) * | 2011-08-07 | 2014-09-11 | Mediatek Inc | 映射統一參數的方法 |
US8886784B2 (en) * | 2012-02-02 | 2014-11-11 | Hitachi, Ltd. | Computer system and management method thereof |
US10895988B2 (en) * | 2019-04-02 | 2021-01-19 | EMC IP Holding Company LLC | Measuring latency in storage area networks |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591299B2 (en) * | 1997-11-25 | 2003-07-08 | Packeteer, Inc. | Method for automatically classifying traffic with enhanced hierarchy in a packet communications network |
US7082467B2 (en) * | 2000-02-10 | 2006-07-25 | Hughes Network Systems | Method and device for selective transport level spoofing based on information in transport level packet |
US7535913B2 (en) * | 2002-03-06 | 2009-05-19 | Nvidia Corporation | Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols |
JP2004013215A (ja) * | 2002-06-03 | 2004-01-15 | Hitachi Ltd | ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム |
US7228354B2 (en) * | 2002-06-28 | 2007-06-05 | International Business Machines Corporation | Method for improving performance in a computer storage system by regulating resource requests from clients |
JP4080950B2 (ja) * | 2003-05-30 | 2008-04-23 | 京セラ株式会社 | 端末装置 |
US7783880B2 (en) * | 2004-11-12 | 2010-08-24 | Microsoft Corporation | Method and apparatus for secure internet protocol (IPSEC) offloading with integrated host protocol stack management |
US7529888B2 (en) * | 2004-11-19 | 2009-05-05 | Intel Corporation | Software caching with bounded-error delayed update |
-
2005
- 2005-03-23 JP JP2005083167A patent/JP2006270303A/ja active Pending
- 2005-05-27 US US11/138,504 patent/US20060215656A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100784944B1 (ko) | 2007-09-18 | 2007-12-11 | 비콤시스템주식회사 | 상하수도 처리장의 통합감시 제어시스템 |
JP2009200611A (ja) * | 2008-02-19 | 2009-09-03 | Nippon Telegr & Teleph Corp <Ntt> | iSCSIセッションのTCPコネクション数制御方法、iSCSIホスト装置、およびiSCSIイニシエータの構成プログラム |
WO2010013469A1 (ja) * | 2008-07-30 | 2010-02-04 | パナソニック株式会社 | Tcp送信制御装置及びtcp送信制御方法 |
JP2010035033A (ja) * | 2008-07-30 | 2010-02-12 | Panasonic Corp | Tcp送信制御装置及びtcp送信制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060215656A1 (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006270303A (ja) | 通信制御方法、通信制御装置および通信制御プログラムを記録した記憶媒体 | |
US6687758B2 (en) | Port aggregation for network connections that are offloaded to network interface devices | |
US9219683B2 (en) | Unified infrastructure over ethernet | |
US9614930B2 (en) | Virtual machine mobility using OpenFlow | |
US7380019B2 (en) | Path control method | |
AU2011338481B2 (en) | Multichannel connections in file system sessions | |
JP4638658B2 (ja) | オフロードされたネットワークスタックの状態オブジェクトをアップロードする方法及びそれを同期する方法 | |
US7929442B2 (en) | Method, system, and program for managing congestion in a network controller | |
US7676607B2 (en) | Hardware acceleration apparatus for iSCSI target system using TOE and method for performing read/write command using the apparatus | |
US9292209B2 (en) | Multiple I/O request processing in a storage system | |
Telikepalli et al. | Storage area network extension solutions and their performance assessment | |
JP2003333076A (ja) | ネットワークスタックをオフロードする方法 | |
US20050188074A1 (en) | System and method for self-configuring and adaptive offload card architecture for TCP/IP and specialized protocols | |
Cohen et al. | Remote direct memory access over the converged enhanced ethernet fabric: Evaluating the options | |
US8676928B1 (en) | Method and system for writing network data | |
BRPI0613647A2 (pt) | gerenciamento de rede de área local | |
WO2006026577A2 (en) | Systems and methods for assigning tasks to derived timers of various resolutions in real-time systems to maximize timer usage | |
Ko et al. | A case for convergence enhanced ethernet: Requirements and applications | |
CN105573935B (zh) | 调平io | |
Pallampati | iSCSI Performance over RDMA-enabled Network | |
Zhu et al. | Mechanisms for high volume data transfer in grids | |
JP2022122478A (ja) | ストレージコントローラのネットワークインタフェース | |
Kawatra | Performance evaluation of a wired and a wireless iSCSI network using simulation model | |
HONG | Hyperscsi: Design and development of a new protocol for storage networking |