JP4511936B2 - 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム - Google Patents

複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム Download PDF

Info

Publication number
JP4511936B2
JP4511936B2 JP2004547029A JP2004547029A JP4511936B2 JP 4511936 B2 JP4511936 B2 JP 4511936B2 JP 2004547029 A JP2004547029 A JP 2004547029A JP 2004547029 A JP2004547029 A JP 2004547029A JP 4511936 B2 JP4511936 B2 JP 4511936B2
Authority
JP
Japan
Prior art keywords
driver
host bus
data transmission
bus adapter
path
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.)
Expired - Fee Related
Application number
JP2004547029A
Other languages
English (en)
Other versions
JP2006504186A (ja
Inventor
ジョン エル. インファンテ,
マーク ジェイ. カーノウスキー,
クリストファー カーリン,
デイビット シー. ローソン,
Original Assignee
エミュレックス デザイン アンド マニュファクチュアリング コーポレーション
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 エミュレックス デザイン アンド マニュファクチュアリング コーポレーション filed Critical エミュレックス デザイン アンド マニュファクチュアリング コーポレーション
Publication of JP2006504186A publication Critical patent/JP2006504186A/ja
Application granted granted Critical
Publication of JP4511936B2 publication Critical patent/JP4511936B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Description

(背景)
負荷分散とは、総伝送速度を最大化できるように、別々のネットワークセグメントを介して送信したデータ量を均衡化するソフトウェア技術である。
フェイルオーバーおよびフェイルバックとは、セグメントエラー(例えば、回線停止、損傷等)を検出した後で、ネットワークセグメントを介してデータ伝送を転送する技術である。”フェイルオーバー”とは、プライマリセグメント上に問題を検出した場合に、プライマリネットワークセグメントからセカンダリネットワークセグメントへ切り換えることを言う。”フェイルバック”とは、エラーを修正した後で、プライマリセグメントを再接続することを言う。
(要約)
負荷分散、フェイルオーバーおよびフェイルバックを行う技術は、通常ホストコンピュータオペレーティングシステムレベルで実行していた。これらの技術は、ホストコンピュータに負担をかけ、ネットワークセグメントのトラフィックレベルにおける動的な変化に対して反応時間が遅い。さらに、現在のオペレーティングシステムは、アプリケーションレイヤを低位のプロトコルの詳細から分離するようにしているので、アプリケーションレイヤベースのフェイルオーバー手法により適切な決定を行うことはますます困難になっている。これらの技術はまた、ネットワークセグメントのエラーや修復に対する反応時間がさらに遅い。
本出願は、ネットワークセグメントに直接接続するインテリジェントホストバスアダプタ(HBA)を用いるシステムに関する。これらのHBAには、いくつかの利点や機能がある。
例えば、これらのHBAは、セグメントパフォーマンス(例えば、セグメントデータ伝送負荷レベル)を知的に監視して、セグメントエラーや修復を検出することができる。これらのHBAはまた、データ伝送を選択的に転送して1つ以上の代替えのセグメントに対しフェイルオーバーを行うことにより、セグメントエラーに対応することもできる。セグメントを修復する際に、HBAは、オリジナルセグメントにフェイルバックすることにより対応することもできる。フェイルオーバーおよびフェイルバックに関連して、あるいはこれらと別に、総データスループットを増加したり最大化したりするように、これらのHBAにより伝送負荷を均衡化することもできる。これらのHBAは、ネットワーク上でデータ伝送時間を無駄にしたり、ホストコンピュータに負荷をかけたりすることなく、リアルタイムで素早くこれらの機能を実行することもできる。
各アダプタがネットワークセグメントエラー、修復、負荷レベルに対してよりタイムリーなやり方で対応するので、(フェイルオーバー、フェイルバックおよび負荷分散の機能を持つ)これらのインテリジェントホストバスアダプタを用いるコンピュータネットワークにより、より速い総速度でデータを送信することができる。
これらのインテリジェントホストバスアダプタは、フェイルオーバー、フェイルバックおよび負荷分散の機能を備えたドライバソフトウェアを有する。ホストバスアダプタのドライバソフトウェアは、ホストコンピュータのオペレーティングシステムからの動的な操作を必要とすることなく、スイッチファブリックからの動作状態フィードバックを用いて、1つ以上のバスアダプタの動きを自動的に、動的に調整することもできる。
システムアドミニストレータは、ファイバチャネル装置に対するフォールトトレラントデータ接続として、1つ以上のホストバスアダプタをセットアップすることもできる。このシステムにより、ミッションクリティカルの機能やデータの頑強性を備えることができる。
本出願の一面は、オペレーティングシステムと、オペレーティングシステムと通信するドライバと、ドライバと通信する複数のホストバスアダプタとを備えるシステムに関する。ホストバスアダプタにより、オペレーティングシステムと記憶装置との間に複数のデータ伝送路を構成する。ドライバが、オペレーティングシステムに負荷をかけることなく、プライマリパスからセカンダリパスへのデータ伝送を変更するように動作する。
別の面は、オペレーティングシステムと、オペレーティングシステムと通信するドライバと、ドライバと通信する複数のホストバスアダプタとを備えるシステムに関する。ホストバスアダプタにより、オペレーティングシステムと記憶装置との間に複数のデータ伝送路を構成する。ドライバが、オペレーティングシステムに負荷をかけることなく、伝送路のデータ伝送負荷を調整するように動作する。
別の面は、オペレーティングシステムと複数のホストバスアダプタと通信するソフトウェアドライバに関する。ホストバスアダプタにより、オペレーティングシステムと記憶装置との間に複数のデータ伝送路を構成する。ドライバが、オペレーティングシステムに負荷をかけることなく、プライマリパスからセカンダリパスへのデータ伝送を変更するように動作する。
別の面は、オペレーティングシステムと複数のホストバスアダプタと通信するソフトウェアドライバに関する。ホストバスアダプタにより、オペレーティングシステムと記憶装置との間に複数のデータ伝送路を構成する。ドライバが、オペレーティングシステムに負荷をかけることなく、伝送路のデータ伝送負荷を調整するように動作する。
別の面は、オペレーティングシステムの複数のホストバスアダプタと、対象システムの複数のポートとに接続したスイッチファブリックに関する。スイッチファブリックは複数のスイッチを備える。スイッチファブリックが、データ伝送状態を検出して、データ伝送状態をソフトウェアドライバに送信するように動作する。ソフトウェアドライバが、オペレーティングシステムに負荷をかけることなく、データ伝送状態を用いてドライバと対象システムのポートとの間の少なくとも1つの伝送路上のデータ伝送負荷を調整するように動作する。
別の面は、オペレーティングシステムの複数のホストバスアダプタと、対象システムの複数のポートとに接続したスイッチファブリックに関する。スイッチファブリックが複数のスイッチを備える。スイッチファブリックが、オペレーティングシステムに負荷をかけることなく、ホストバスアダプタと対象システムのポートとの間の少なくとも1つのデータ伝送路上のデータ伝送状態を検出して、伝送路のデータ伝送負荷を調整するように動作する。
本発明の別の面は、オペレーティングシステムの複数のホストバスアダプタと、対象システムの複数のポートとに接続されたスイッチファブリックに関する。スイッチファブリックが複数のスイッチを備える。スイッチファブリックが、オペレーティングシステムに負荷をかけることなく、ホストバスアダプタと対象システムのポートとの間の障害のあるデータ伝送路を検出して、2つ以上の伝送路のデータ伝送負荷を調整するように動作する。
別の面は、ホストポートと対象ポートとの間のプライマリパスと、ホストポートと対象ポートとの間の少なくとも1つのセカンダリパスと、プライマリパス上のデータ伝送に対応付けられた第1の変数と、セカンダリパス上のデータ伝送に対応付けられた第2の変数とを備えるデータ構造に関する。
別の面は、データ伝送方法に関する。この方法は、オペレーティングシステムの複数のホストバスアダプタと、記憶装置との間に複数のデータ伝送路を構成して、オペレーティングシステムと記憶装置との間の第1の伝送路上のエラーを検出して、オペレーティングシステムに負荷をかけることなく、第1の伝送路から第2の伝送路へのオペレーティングシステムと記憶装置との間のデータ伝送を変更することを含む。
別の面は、データ伝送方法に関する。この方法は、複数のホストバスアダプタを用いて、オペレーティングシステムと記憶装置との間に複数のデータ伝送路を構成して、オペレーティングシステムと記憶装置との間の第1の伝送路上のデータ伝送状態を検出して、オペレーティングシステムに負荷をかけることなく、第1の伝送路のデータ伝送負荷を調整することを含む。
1つ以上の実施の形態の詳細は、添付の図面と以下の説明に述べられている。他の特徴、目的および利点は、説明、図面、請求の範囲から明らかになるであろう。
各種図面の類似の参照記号は、同じ構成要素を示す。
(詳細な説明)
図1は、フェイルオーバー、フェイルバックおよび負荷分散を行うように動作する、記憶領域ネットワークの一実施の形態100を示す。システム100は、フェイルオーバー/負荷分散HBAソフトウェアドライバスタック103(以下、”マルチパルスドライバ103”または”ドライバ103”と言う)を備えるサーバ102と、複数のホストバスアダプタ(HBA)104、106、108と、複数のファブリックスイッチまたはハブ110、112、114と、複数の装置116、118、120、122(例えば、ディスクドライブ)とを備える。他の実施の形態では、システム100は、任意の数のサーバと、ドライバと、HBAと、ファブリックスイッチまたはハブと、装置とを備えることもできる。他の実施の形態では、システム100は、図1に示す構成部品の他に、あるいはこれらに代えて、他の構成部品を備えることもできる。
サーバ102は、ドライバ103により装置116、118、120および122と通信するオペレーティングシステム(例えば、Sun Solaris)を含む。ドライバ103により、以下に述べるように複数の伝送路に対してフェイルオーバー、フェイルバックおよび/または負荷分散を行う。
アダプタ104、106、108は、カリフォルニア州コスタメーサ、エミュレックス社(Emulex Corporation)製LightPulse(登録商標)アダプタとすることもできる。
図2は、複数のホストバスアダプタ204A〜204Cを用いるソフトウェアドライバ202の一実施の形態を示す。一実施の形態では、HBA204A〜204Cは、エミュレックス社製のHBAとすることもできる。3つのHBA204A〜204Cが図2に示されているが、システム200は任意の数のHBAを有することもできる。
ドライバ202は、フェイルオーバー/負荷分散ドライバモジュール208と、ファイバチャネルプロトコル/小型コンピュータシステムインターフェース(FCP/SCSI)HBAドライバモジュール206とを備えることもできる。ドライバ202により、複数のHBA204A〜204Cを制御する。ドライバ202は、オペレーティングシステムのSCSIドライバ210と共に動作することもでき、オペレーティングシステムのファイルシステム212と交互に動作することもできる。ソフトウェアアプリケーション214は、オペレーティングシステムのファイルシステム212と共に動作することもできる。ドライバ202は、アダプタ204A〜204Cがフェイルバック、フェイルオーバーおよび負荷分散の機能を備えるように動作することもできる。
また、図2のシステムは、アプリケーションプログラムインターフェース(API)ライブラリ216を含み、管理アプリケーション218とドライバモジュール206、208との間のステータスや構成情報の通信を容易にする。
図2のシステムは、複数のHBAのドライバの1つのインスタンスをロードするオペレーティングシステムとして動作する。
図3は、複数のホストバスアダプタ312〜316とホストソフトウェアとを用いて動作する、ソフトウェアドライバ302の別の実施の形態を示す。図3のシステム300は、フェイルオーバー/負荷分散フィルタドライバ302と、SCSIポートドライバ304と、複数のミニポートドライバ308〜310と、複数のHBA312〜316と、フルポートドライバ306とを備える。一構成としては、SCSIポートドライバ304は、マイクロソフト社製である。
フィルタドライバ302は、SCSIポートドライバソフトウェア304の上位で用いて、ミニポートドライバ308、310を介してHBA312、314に接続した伝送路の間での通信を可能にすることもできる。ミニポートドライバ308、310は、SCSIポートドライバ304からのSCSIコマンドやステータスをHBA312、314に適した形式に変換することもできる。HBA312、314はファイバチャネルまたはiSCSIアダプタとすることもできる。
HBA316は、ファイバチャネルポートドライバ306を介してフィルタドライバ302に接続したファイバチャネルアダプタとすることもでき、HBA3316の固有ファイバチャネルコマンドとしてファイルシステム要求を処理する。
また、図3のシステムはAPIライブラリ324を含み、管理アプリケーション322とフィルタドライバ302との間のステータスおよび構成情報の通信を容易にする。
図3のシステムは、各HBAのドライバのインスタンスをロードするオペレーティングシステムとして動作する。この場合、それぞれのドライバ306、308、310は、それらドライバ自体は理解しているが、HBAについては理解せず、またアクセスすることもできない。従って、フィルタドライバ302を用いて、I/Oトラフィックを所望のHBAへの別の伝送路に切換えることもできる。
図4は、マルチスイッチファブリック402と、第1のシステム404と、第2のシステム406と、第2の対象412と、第1の対象430とを備えるストレージネットワークシステム400の一実施の形態を示し、ストレージアレイを備えることもできる。
スイッチファブリック402は、複数のスイッチ410A〜410Eを備える。ファブリック402の2つのスイッチ410A、410Cは、それぞれリンク440、442を介してシステム404の2つのHBA408B、408Aに接続している。スイッチ410はまた、第2のシステム406に接続している。
ファブリック402の2つの他のスイッチ410B、410Dは、それぞれリンク444、446を介して第1の対象ストレージアレイ430の2つのポートA420A、ポートB420Bに接続している。スイッチ410Bはまた、第2の対象412に接続している。
対象ストレージアレイ430は複数の論理装置番号(LUN)装置450を備えることもでき、LUN0〜LUNNとして示されている。LUNのこの集まりにより、アレイ422を形成する。各LUNは、ディスクドライブ等の記憶装置を識別することもできる。
(フォールトトレランスおよび冗長パス)
図1のドライバ103により、システムアドミニストレータは、複数のファイバチャネル装置116〜122に対するフォールトトレラントデータ接続として、1つ以上のホストバスアダプタ104、108をセットアップすることができる。例えば、ホストバスアダプタ106を装置116〜122の冗長パスを形成するように構成することもできる。各装置116〜122は複数のポートを有して、冗長接続をサポートすることもできる。
ドライバ103により、記憶装置116〜122に対するパス130A、130B、132A、132B、134A、134B、136A、136Bを定義することができる。ドライバ103と共に用いられる冗長パス130A、130B、132A、132B、134A、134B、136A、136Bにより、ネットワーク内のエラーいずれの一点のに対しても耐故障性になる。伝送路間のフェイルオーバーおよびフェイルバックをドライバ103により全面的に処理することもでき、このような動作は上位層のソフトウェアモジュールまたはアプリケーション214(図2)、320(図3)等のアプリケーションのいずれに対してもトランスペアレントとすることもできる。
ドライバ103は、システム100内のマルチポート記憶装置116〜122への複数のパス130A〜138Bを利用するように動作することもできる。”伝送路制御”とは、ディスクドライブ116へのパス130A,130Bといった、1つの装置への複数の伝送路を介してI/O動作を送受信するドライバ103の機能のことを言う。ドライバ103を、以下に述べるようないくつかのフェイルオーバーおよびフェイルバック伝送路制御の機能と共に構成することもできる。
ドライバ103がプライマリパス上の問題を検出した場合、セカンダリパスに対する”フェイルオーバー”を自動的に行うこともできる。オペレータまたはホストシステムの介入、割込み、通知、介在または負担が全く不要になる。ドライバ103は、プライマリパスで検出した問題に対応して、セカンダリパスへI/O動作を転送する。また、プライマリパスが復旧した場合、プライマリパスに対する”フェイルバック”についても自動的に行うこともでき、ドライバ103はプライマリパスを介してI/O動作を送信するように戻る。
システム100は、複数の形態を用いることもできる。一実施の形態では、ドライバ103がスイッチファブリックを介するように構成することもでき、また別の実施の形態では、ドライバをハブベースのループ形態ように構成することもできる。
”1:Nスタンバイ”とは、例えば図1のアダプタ104、108といったN個の複数のアダプタのことをいい、冗長パスとして図1の同じフェイルオーバーアダプタ106を用いるように構成することもできる。従って、図1の別のアダプタ106をシステム100に加えて、他の全アダプタにフォールトトレランスおよびフェイルオーバー機能を備えるようにすることもできる。この特徴により、費用対効果の高い機構を構成して、全ストレージサブシステム100をフォールトトレランスにすることもできる。
”1:1”スタンバイは、各ホストバスアダプタに対し1つのスタンバイアダプタが存在することを意味する。
(負荷分散)
冗長パスの他に、あるいはこの代わりに、ドライバ103(図1)はまた、異なるパス130A、130B、132A、132B、134A、134B、136A、136Bの間で負荷分散を行うようにすることもできる。”負荷分散”とは、装置に対する複数の伝送路に渡るトラフィックを分散する機能である。一実施の形態では、ドライバ103により、2つの異なるレベルの負荷分散である、静的分散と動的分散とを行うこともできる。これらの2つのレベルでは、各冗長パスを単に静止したままにしておくだけでなく、プライマリパスの負荷を積極的に低減することもできる。
(静的分散)
静的分散により、ドライバ103を特定の伝送路をトラフィックに使用できるように構成することがきる。また、”トラフィック比”を各伝送路に対して指定することもできる。トラフィック比により、ドライバ103は、セカンダリパスに対してデータのうちの何パーセントについてプライマリパスを介して送信すれればよいかわかる。例えば、2:1のトラフィック比とは、セカンダリパスを介して送信する各I/Oに対して、プライマリパスを介して2つの入力/出力動作(I/O)を送信することを意味する。
(動的分散)
動的分散は、ドライバ103が輻輳の最も少ない伝送路を自動的に選択できる内蔵インテリジェンスを特徴としている。ドライバ103、アダプタ104、106、108またはファブリックスイッチまたはハブ110〜114内でわかる情報に基づいて、例えば図1の130A〜136Bといった、全ての利用可能な伝送路に関するトラフィックの状態をドライバ103で分析することもできる。この分析の結果、ドライバ103は、最も輻輳していない伝送路で確実にデータを送信することができる。
静的分散でのトラフィック比と共に、異なるレベルの負荷分散を、構成可能なパラメータとすることもできる。これらのパラメータを立ち上げの間に初期化することもできるが、これらを通電中の稼働しているシステム上で動的に変更することもできる。従って、アドミニストレータは、1つのレベルの負荷分散を構成して、再起動することなくこのレベルまたはトラフィック比を動的に変更することができる。
(伝送路およびルート)
ドライバ103により、2つの概念上のオブジェクトである伝送路とルートとを操作することにより、そのフェイルオーバーおよび負荷分散の機能を実行する。
”伝送路”を、ホスト内のポートから対象装置内のポートへの接続として定義する。ドライバ103の観点から、伝送路を特定のHBA(例えば、HBAID番号で識別される)(例えば、HBA104)と、特定の対象装置の特定のポート(例えば、ポート130A)と、対象装置上の特定のLUNとから定義する。システムを再起動する際に伝送路を正確に確実に記述するために、パーシステントバインディングを利用することもできる。”パーシステントバインディング”とは、ストレージ関連のドライバの周知の機能であり、オペレーティングシステムと共に動作してシステムが再起動する間、対象とLUNとの組み合わせを絶えず確実に識別する。
装置への”ルート”は、以下の点から表されるものである:
−プライマリパス
−複数のセカンダリパス
−トラフィック比の設定
−特定の動作をイネーブルし制御するフラグおよび変数。
このような伝送路およびルート情報について、ドライバ103が必ず利用できるようにする必要がある。このような情報を、ユーティリティアプリケーションを使用することによりユーザが入力することもできる。ユーティリティアプリケーションは、情報をオペレーティングシステムが構成する機構に格納してこのようなデータを登録したり、またはドライバ103が読み取り可能な単純な構成ファイルを介して格納したりする。
”トラフィック比”フラグにより、任意のルートの全伝送路に渡って静的負荷分散を生じさせることもできる。トラフィック比”tr1:tr2:・・・:trN”は、プライマリパスを介した”tr1”コマンドの送信対第1の別の伝送路を介した各”tr2”コマンドの送信対、・・・、N−1番目の別の経路を介した各trNコマンドの送信を意味する。
”LUN待ち行列”フラグにより、伝送路のLUN待ち行列の深度に基づく動的負荷分散を生じさせることもできる。このような設定により、各待ち行列が特定のLUN向けのI/O動作を含むルートで、各伝送路への待ち行列をドライバ103に維持させることもできる。最低位のLUN待ち行列深度を有する伝送路を、I/O動作に選択することもできる。
”対象待ち行列”フラグにより、別の種類の動的負荷分散を生じさせることもできる。このような設定により、各待ち行列が特定の対象向けのI/O動作を含むルートで、各伝送路への待ち行列をドライバ103に維持させることもできる。最低位の対象待ち行列深度を有する伝送路を、I/O動作に選択することもできる。
”HBA待ち行列”フラグにより、別の種類の動的負荷分散を生じさせることもできる。このような設定により、各待ち行列が特定のHBA向けのI/O動作を含むルートで、各伝送路への待ち行列をドライバ103に維持させることもできる。最低位のHBA待ち行列深度を有する伝送路を、I/O動作に選択することもできる。
”自動フェイルバック”フラグにより、プライマリパスに対するフェイルバックを生じさせて自動的に行うこともできる。このフラグを設定していない場合、フェイルバックを行うには、ドライバ103に対して適切なコマンドを発行するアプリケーションが介入する必要がある。
”照会確認”フラグにより、ログインセッションをリモート装置(例えば、図1のディスク116)と確立する際の”照会確認”の機能を起動することもできる。この機能により、ルートの各伝送路に構成時間でリモート装置への”照会”コマンドを発行させることもできる。各伝送路上の全照会からの一意の装置識別子は、ルートを起動する前にルートの全伝送路で一致する必要がある。
”ハートビート”フラグにより、”照会確認”の機能を各伝送路上で60秒毎に起動することもできる。
”リンクダウンタイムアウト”変数により、伝送路が使えないことを宣言する前にどのくらいの時間ドライバ103が待つ(例えば、1〜255秒)か決定することもできる。その伝送路を使うために待機しているI/O動作を中止して、次に同じルートに対してセカンダリパス上でやり直す。
リンクダウンタイムアウト値が低くなればなるほど、ドライバ103がより素早くセカンダリパスをフェイルオーバーする。しかしながら、トレードオフがある。小さい値のリンクダウンタイムアウトでは、プライマリパスが間欠的の場合は、伝送路間で”スラッシング”を起こす危険がある。大きな値のリンクダウンタイムアウトでは、I/O動作を長時間保持するので、上位層のソフトウェアモジュール(例えば、図2の210〜214および図3の302、318、320)自体がタイムアウトしてドライバ103の動作を中断してしまうエラー修復を開始するようになる。リンクダウンタイムアウトのために調整可能な値を用意しておくことにより、システム毎に適切な値を設定することができる。
(拡張使用)
ドライバ103のある拡張使用により、リモート記憶装置116〜122に関する明白な知識を利用する。多くの記憶装置がコマンドを受け付けて、どのLUNがどのポートからアクセスできるか決定する。例えば、ドライバ103が記憶装置116に対するこれらのコマンドを理解している場合は、ドライバ103は装置116にコマンドを発行してポート130A,130Bを介して所望のLUNにアクセスすることができる。これにより、ドライバ103が、選択したLUNへのアクセスに利用できる2つの冗長パスを確実に持てるようになる。
さらに、拡張使用には、アプリケーションプログラムインターフェース(API)216(図2)、324(図3)が必要で、アプリケーション特定ストレージ管理アプリケーション218(図2)、322(図3)をイネーブルして、ドライバ103の機能を”制御”する。管理アプリケーションの例としては、オラクルまたはマイクロソフト(MS)エクスチェンジ”アプリケーションセントリック”ストレージリソース管理アプリケーションを含むこともできる。例としては、大規模データベースまたは電子メールシステム等を制御するストレージ管理アプリケーションを含むこともできる。このような管理アプリケーションは、ストレージに関する詳細な知識と、そのアプリケーションの利用可能性のニーズとを有する。このような知識を有することにより、管理アプリケーション218、322は、ドライバ202(図2)、302(図3)の動作を最適化することが可能である。従って、API216、324が行うアクセスにより、これらの管理アプリケーション218、322は、それらがサポートするアプリケーションのニーズに最も適するようにフェイルオーバーおよび負荷分散を調整することができる。
別の可能な拡張使用は、API216(図2)または324(図3)で、システムレベルの高可用性(HA)アプリケーションをサポートする。今日の高可用性システムの例としては、ベリタス社(Veritas)のDMP、PowerPath、ATFまたはコンパック社のSecurePathを含むこともできる。このようなアプリケーション218(図2)または322(図3)により、高い信頼性が要求されるシステムのストレージを管理する。このようなアプリケーションは通常ホストシステムをどのように管理するか知っており、しばしば対象についても知っているが、ホストシステムをそのストレージに接続するネットワークに関してはほとんど知識がなく、そのネットワークを介してほとんど制御を行わない。API216、324に接続した上述のHBAおよびドライバにより、HAアプリケーション218、322にさらにインテリジェンスおよびパフォーマンスを与えることができる。
例えば、このようなアプリケーション218、322は、API216、324を介してネットワークステータス情報(スループット/パフォーマンス、待ち行列深度、エラー情報等)を得ることもできる。でなければアプリケーション218、322は情報を得ることができない。アプリケーション218、322は、コマンドを発行して、API216、324を介して上述のドライバおよびHBAにフェイルオーバー、フェイルバック等を行わせることもできる。
別の可能な拡張使用は、ファブリック/スイッチルーティングフィードバックである。ファブリックスイッチ110〜114により、伝送路輻輳、伝送路パフォーマンス(スループット、利用または待ち時間)、伝送路エラーに基づいて、ドライバ103への負荷分散または伝送路フィードバックを実行することもできる。
スイッチ110等のスイッチは、ファイバチャネル拡張リンクサービス(ELS)コマンドを介してドライバと通信することもできる。別の実施例では、ファイバチャネルコモントランスポート(CT)コマンドを用いて、スイッチ110とHBA104との間の通信を容易にすることもできる。認証およびセキュリティを追加することもできる。システムは、CTトラフィックを起動するように動作することもできる。
(図4ファブリック動作)
図4は、マルチスイッチファブリック402と、複数のホストシステム404、406と、対象412、430とを有する記憶領域ネットワークシステム400の一実施の形態を示す。
図4のサブシステム400のHBAドライバ460は、フェイルオーバー/フェイルバックおよび負荷分散等の複数の基本モードの動作を有することもできる。負荷分散には、ここで述べる静的、動的負荷分散を含まれる。
双方向伝送路として、1つの伝送路で各方向に別々に負荷分散を実行することもできる。
図4では、ホストシステムI404のホストバスアダプタ(HBA)408A、408Bと対象I430のポート420A、420Bとの間の1つの双方向伝搬路を形成している各伝送路として、ホストシステムI404から対象I430へ4つの別々の伝送路がある。これらの伝送路は次の通りである:
伝送路A:リンク440からリンク444
伝送路B:リンク440からリンク446
伝送路C:リンク442からリンク444
伝送路D:リンク442からリンク446。
ファブリック402内部では、各伝送路が各種のスイッチ間リンク(ISL)470〜484を横断している。スイッチ410A〜410Eにより、HBAドライバ460とファブリック402との間で通信することなく、ファブリック402内でのデータの内部伝送を決定する。HBAドライバ460は、エンドポイントリンク440〜446に関わっているだけである。
サーバ407内のオペレーティングシステムの観点からは、HBAドライバ460が選択する異なる伝送路を認識することはない。実際、ドライバ460が、デフォルト伝送路により要求した装置(LUN450からの所望のLUN)の識別だけをすることもでき、用いられる実際の伝送路を選択するのはHBAドライバ460である。
(フェイルオーバー/フェイルバック)
1:1またはスタンバイモードでは、HBAドライバ460は周知のファイバチャネルディスカバリプロセスを用いて、どの伝送路が対象I430に行くことができるか識別することもできる。図4で上述したように、伝送路A、B、CまたはDが利用できる。次に、HBAドライバ460は、デフォルトとして1つの伝送路を選択して(またはユーザに選択させて)、スタンバイ伝送路として1つ以上の別の伝送路を選択することもできる。例えば、伝送路Aをデフォルト伝送路とし、伝送路B、C、Dをセカンダリパスとすることもできる。
HBA408A、408Bの1つがリンクダウン(信号ロス)を検出したり、別のリンク上のエラーを示すリモート状態変化通知(RSCN)を受信したりすると、HBA408A、408Bはこの情報をHBAドライバ460に送信する。この情報を受信すると、HBAドライバ460は直ちに影響を受けた伝送路上の全ての現在のI/O動作を中止して、これらとセカンダリパス上の次の全I/O動作をやり直すことにより、自動的にフェイルオーバーを行うこともできる。同様に、セカンダリパス上のエラーにより、HBAドライバ460が第3の伝送路へフェイルオーバーを行うこともある。HBAドライバ460は、データを失うことなく、サーバ407上のオペレーティングシステムに問題を通信する必要なく、これを行うことができる。
HBAドライバ460がファブリック402からRSCNを受信した場合、どの伝送路が影響を受けたか判定するために、HBAドライバ460はファブリック402内のネームサーバ462からリポートを要求することもできる。リンクダウンが修復された場合、または影響を受けた伝送路が使えるようになったことを示す別のRSCNを受信した場合には、HBAドライバ460は次に以前の伝送路に戻すことにより、フェイルバックする。
問題をオペレーティングシステムに通信する必要のない、セカンダリパスへの、そしてセカンダリパスからのこの自動的な切換は、従来のフェイルオーバー方法とは異なっている。従来のフェイルオーバー方法は、フェイルオーバーシステムにリンクダウンまたはRSCNバックを報告する手段を備えていない。このようなフェイルオーバーシステムでは、待ち状態のI/Oのタイムアウトエラーの後でこのようなイベントが発生したことを推測しなければならず、失ったデータをオペレーティングシステムが再送信する必要があるので、さらに遅延することになる。
(静的負荷分散)
また、サブシステム400は、各種のモードで負荷分散を実行することができる。最も単純なものは、静的分散と呼ばれる固定の均衡化である。HBAドライバ460はまず、上述のように利用できる伝送路を判定して、この情報を人間のオペレータに示す。オペレータは、各伝送路に送信する必要があるメッセージトラフィックの相対的パーセンテージ(トラフィック比)を選択する。このトラフィック比は、人間のオペレータが変更するまでずっと固定したままにすることもできる。
リンクがダウンしたり、特定の伝送路に関する障害を示すRSCNを受信したりすると、HBAドライバ460は次に、特定のホストシステム、例えば、ホストシステムI404と、対象、例えば対象I430との間の通信に利用できる残りの伝送路に、トラフィックを自動的に転送する。本システムでは、ホストシステムI404は、1つの伝送路(デフォルト伝送路)上に情報を送信しているかのように動作することもできる。しかし、HBAドライバ460は、ホストの介入を必要とせずに、他の事前に選択した伝送路にデータを選択的に転送している。
(動的負荷分散)
固定負荷分散の簡略化した方法の代わりに、HBAドライバ460は、各種の伝送路の動作に関するそれ自体が持つ内部情報を用いて、負荷分散を最適化する方法を決定することもできる。HBAドライバ460は、内部待ち行列または待ち行列に対するポインタを維持して、各伝送路上で通信することもできる。HBAドライバ460は上述のように、”LUN待ち行列”、”対象待ち行列”、または”HBA待ち行列”型の動的負荷分散を用いることもできる。ドライバ460は、待ち行列の大きさを比較して、最適の負荷分散を決定する。
HBAドライバ460により、人間のオペレータが負荷分散を行うのにどのアルゴリズムを用いるか選択できるようになる。
(ファブリック入力)
図4のファブリック402は、ブロケード社(Brocade)製等の5つの記憶領域ネットワークスイッチ410A〜410Eを含むこともできる。このようなスイッチ410A〜410Eにより、スイッチ410A〜410E間でファブリック402内での通信ルーティングを制御する。このようなスイッチ410A〜410Eにより、通信の動作レベルを監視して、HBAドライバ460への情報を変更することもできる。
このような情報に対するあるモードを初期セットアップ伝送路重み付けとすることができ、スイッチ410A〜410Eが、スイッチ410A〜410E(図4のスイッチ2410Cとスイッチ5410Dとの間の3つのトランク470等)の間で通信を処理する相対帯域幅機能をリポートする。このリポートにより、人間のオペレータが介入する必要なく、HBAドライバ460がファブリック402内のスイッチ410A〜410Eからの情報に基づく固定のトラフィック比を自動的に設定することができる。
また、ファブリック402内のスイッチ410A〜410Eにより、HBAドライバ460への情報として、伝送路アラートと輻輳リポートとを送信することもできる。HBAドライバ460は、ファブリック402と共に用いる伝送路を登録して、伝送路アラートと輻輳リポートとに対するファブリック402への要求を発行することもできる。ファブリック402は次に、所定の閾値を越えるタイムアウトまたは輻輳レベル等の所定の状態と一致する場合にこのようなアラートおよびリポートを用意する。
伝送路アラートは、伝送路がI/Oをサポートする機能に大きな変化があったことを示すものである。伝送路アラートの一例としては、スイッチ間リンク(ISL)472の喪失とすることもできる。ファブリック402は伝送路478、480を介してI/Oを別の伝送路に切換えることができるが、これには余分な”ホップ”が必要で、その伝送路を介して任意のデータを送信すると待ち時間が増加してしまうことになる。従って、伝送路アラートにより、HBAドライバ460が別の伝送路にフェイルオーバーしたり、負荷分散を変化させたりすることもできる。
輻輳リポートにより、ファブリック402はドライバ460に、伝送路の任意のセグメント内の過剰な輻輳を通知することができる。HBAドライバ460は次に、選択した伝送路を自動的に変更したり、もっと効率的な伝送路となるように負荷分散を調整したりする。
さらに変化させると、(伝送路の選択や伝送路の変更の)意志決定手順をファブリック402に移行することもできる。例えば、フェイルオーバーおよび負荷分散の決定をファブリック402内のソフトウェアで行って、(伝送路選択、転送、負荷分散等のための)HBAドライバ460へのコマンドとして通信することもできる。
ファブリック402とHBAドライバ460との間で通信する情報やコマンドは、FCネットワーク内の帯域内信号とすることもできる。一方、データやコマンドを帯域外信号とすることもできる。例えば、これらをファブリック402とホストシステムI404との間の独立したイーサネット(登録商標)接続を介して送信することもできる。
(双方向伝送路での独立した方向の制御)
ファイバチャネルプロトコルにより、2つの独立した通信信号を1つの伝送路上で反対方向に伝搬できる。1つの伝送路で、一方の方向で輻輳しているがもう一方の方向では輻輳していないことが考えられる。上述の負荷分散の各方法を、各伝送路上の2つの方向を独立して処理するために行うこともできる。
例えば、図4では、ホストシステムII406は、ファブリック402を介して対象II412に大量のデータを送信することができるが、リンク444上に輻輳を起こす可能性がある。しかし、これは一方向だけである。このことは、これらのリンクの戻り方向は輻輳しておらず、対象I430からホストシステムI404への通信は利用できるままになっている。伝送路上の輻輳のレベルは、方向上対称的でないことが多い。負荷分散の調整を向上させる際に、上述の各技術を用いて、各伝送路のそれぞれの方向を別々に考えることもできる。
要約すると、上述の機能には次のことが含まれる:
1)ホストシステム404上に常駐するオペレーティングシステムは、オペレーティングシステムが従来用いていたのと同じやり方で1つの装置識別子を用いて、伝送路を指定することができる。しかし、HBAドライバ460とHBA408A、408Bとにより、フェイルオーバー/フェイルバックまたは負荷分散をサポートするデータを失うことなく、伝送路上の通信を1つ以上の別の伝送路に自動的に転送させることができる。
2)HBAドライバ460内の待ち行列動作を用いて、状態の変化に対応して、負荷分散の度合いを動的に設定することができる。
3)記憶領域ネットワークスイッチ410A〜410Eによる動作レベルをファブリックが検出することにより、(a)フェイルオーバー/フェイルバックまたは負荷分散を制御するためにHBAドライバ460に、あるいは(b)ファブリック402内のソフトウェアに、情報を提供することができる。後者の場合では、スイッチ410A〜410E自体が適切な伝送路を決定することができる。このような適切な伝送路でHBAドライバ460と通信することができる。
4)図4の双方向FC伝送路は、負荷分散を別々に独立して制御するそれぞれの方向を有することができる。
5)記憶装置(例えば、LUN450の1つ)への複数の伝送路が存在するファイバチャネル記憶領域ネットワーク(SAN)では、HBAドライバ460はファブリック402からの入力を利用して、最も良い伝送路を判定してI/O要求を送信することができる。
6)記憶装置への複数の伝送路が存在するファイバチャネル環境では、HBAドライバ460はその待ち行列深度情報を利用して、最も良い伝送路を判定してI/O要求を送信することができる。
7)上述のシステムをファイバチャネルおよびiSCSIネットワークを用いて適合することができるが、他の記憶領域ネットワークを用いることもできる。
一実施の形態では、アドミニストレータは、”通電した状態の”システムファームウェアを、1:Nまたは1:1フェイルオーバーを用いてHBAを低下させることにより、説明したシステムを用いてアップグレードすることができる。セカンダリHBAが一時的にそのI/Oトラフィックを処理する間に、ファームウェアをアップグレードして、HBA上に再ロードすることができる。ファームウェアのダウンロードが完了した後で、フェイルバックを用いてトラフィックをプライマリアダプタに戻すことができる。これにより、システムの利用可能性に影響を与えることなくシステムのアップグレードを行うことができる。
図5は、図1〜4のシステムの1つを用いるデータ伝送方法を示す。ブロック500では、複数のホストバスアダプタを用いることにより、この方法で、ホストシステムと記憶装置との間に複数のデータ伝送路を構成する。ブロック502では、この方法でホストシステムと記憶装置との間の第1の伝送路上のエラーを検出する。ブロック504では、ホストシステムに割り込むことなく、この方法で、第1の伝送路から第2の伝送路へのホストシステムと記憶装置との間のデータ伝送を変化させる。
図6は、図1〜4のシステムの1つを用いる別のデータ伝送方法を示す。ブロック600では、複数のホストバスアダプタを用いることにより、この方法でホストシステムと記憶装置との間に複数のデータ伝送路を構成する。ブロック602では、この方法で、ホストシステムと記憶装置との間の第1の伝送路上の輻輳のレベルを検出する。ブロック604では、ホストシステムに割り込むことなく、この方法で、伝送路のデータ伝送負荷を調整する。
多くの実施の形態について説明してきたが、各種の変更が可能であることが理解できるであろう。従って、他の実施の形態も以下の請求の範囲内に含まれる。
図1は、フェイルオーバー、フェイルバックおよび負荷分散を行うように動作する記憶領域ネットワークの一実施の形態を示す。 図2は、複数のホストバスアダプタとホストソフトウェアとを用いて動作するソフトウェアドライバの一実施の形態を示す。 図3は、複数のホストバスアダプタとホストソフトウェアとを用いて動作するソフトウェアドライバの別の実施の形態を示す。 図4は、マルチスイッチファブリックと、複数のホストシステムおよび対象とを有する記憶領域ネットワークシステムの一実施の形態を示す。 図5は、データ伝送方法を示す。 図6は、別のデータ伝送方法を示す。

Claims (71)

  1. ペレーティングシステムと、
    前記オペレーティングシステムと通信するドライバと、
    前記ドライバと通信する複数のホストバスアダプタ
    を備えるシステムであって、
    前記ホストバスアダプタは、前記オペレーティングシステムと複数のストレージアレイとの間に複数のデータ伝送パス提供し、前記複数のストレージアレイの各々は、複数のポートと、複数の論理装置番号(LUN)記憶装置とを含み、前記ドライバは、前記複数のホストバスアダプタのうちの1つのホストバスアダプタから、前記複数のデータ伝送パスのうちの1つのデータ伝送パスにおける障害を示すリモート状態変化通知(RSCN)を受信することと、前記オペレーティングシステムに負担をかけることなく全ての現在の入力/出力動作を中止して、それらをセカンダリパス上でやり直すことにより、自動的にフェイルオーバーすることとを実行するように動作可能である、システム
  2. 前記ドライバは、前記複数のホストバスアダプタのうちの1つのホストバスアダプタから、以前に障害が発生したプライマリパスの修復を示すRSCNを受信することと、前記オペレーティングシステムに通知することなく、データ伝送を前記セカンダリパスから前記プライマリパスへ変更することとを実行するように動作可能である、請求項1に記載のシステム。
  3. 前記ドライバは、ホストバスアダプタ内に実装される、請求項1に記載のシステム。
  4. 前記ホストバスアダプタは、複数のファイバチャネルスイッチを介して前記複数のストレージアレイと通信するように動作可能である、請求項1に記載のシステム。
  5. 前記ホストバスアダプタは、複数のファイバチャネルハブを介して前記複数のストレージアレイと通信するように動作可能である、請求項1に記載のシステム。
  6. 前記ホストバスアダプタは、ファイバチャネルファブリックを介して前記複数のストレージアレイと通信するように動作可能である、請求項1に記載のシステム。
  7. 前記ホストバスアダプタは、インターネット小型コンピュータシステムインターフェース(iSCSI)リンクを介して前記記憶装置と通信する請求項1に記載のシステム。
  8. 前記ホストバスアダプタは、インターネット小型コンピュータシステムインターフェース(iSCSI)ホストバスアダプタである請求項1に記載のシステム。
  9. 複数のパスを介して前記ホストバスアダプタと前記複数のストレージアレイとの間でデータを転送するように動作可能なスイッチファブリックをさらに備える請求項1に記載のシステム。
  10. 前記システム前記オペレーティングシステムに負荷をかけることなく、通電中のシステムファームウェアのアップグレードをホストバスアダプタで受信するように動作可能である、請求項1に記載のシステム。
  11. 前記ドライバは、ホストバスアダプタと前記複数のストレージアレイとの間のリンクが所定の時間正常に機能なくなった後に、入力/出力コマンドを中止するように動作可能である、請求項1に記載のシステム。
  12. 前記ドライバは、前記複数のストレージアレイが所定の時間前記ホストバスアダプタとの通信を停止した後に、入力/出力コマンド中止するように動作可能である、請求項1に記載のシステム。
  13. 前記ドライバ、リモート状態変化通知を受信することと、障害のあるパスの情報を要求することとを実行するように動作可能である、請求項1に記載のシステム。
  14. 前記ドライバは、パス上の一方の方向へのデータ伝送と、当該パス上のもう一方の方向へのデータ伝送とを独立して制御するように動作可能である、請求項1に記載のシステム。
  15. 前記ドライバ、データを失うことなく、データ伝送パスを変更する請求項1に記載のシステム。
  16. 前記オペレーティングシステム、ソフトウェアアプリケーションと、オペレーティングシステムファイルシステムと、オペレーティングシステム小型コンピュータシステムインターフェース(SCSI)ドライバとを備える請求項1に記載のシステム。
  17. コマンドを前記ドライバに送信するように動作可能な管理アプリケーションをさらに備える請求項1に記載のシステム。
  18. 管理アプリケーションと前記ドライバとの間にアプリケーションプログラムインターフェースをさらに備える請求項1に記載のシステム。
  19. ペレーティングシステムと、
    前記オペレーティングシステムと通信するドライバと、
    前記ドライバと通信する複数のホストバスアダプタ
    を備えるシステムであって、
    前記ホストバスアダプタは、前記オペレーティングシステムと複数のストレージアレイとの間に複数のデータ伝送パス提供し、前記複数のストレージアレイの各々は、複数のポートと、複数の論理装置番号(LUT)記憶装置とを含み、前記ドライバは、前記複数のホストバスアダプタのうちの1つのホストバスアダプタから、前記複数のデータ伝送パスのうちの1つのデータ伝送パスにおけるデータ伝送状態を示すリモート状態変化通知(RSCN)を受信することと、前記オペレーティングシステムに負荷をかけることなく前記データ伝送パス上のトラフィックをリダイレクトすることによって前記データ伝送パスのデータ伝送負荷を自動的に調整することとを実行するように動作可能である、システム
  20. 前記ドライバ前記オペレーティングシステムから前記複数のストレージアレイへの第1の方向の伝送パスのデータ伝送負荷を、前記記憶装置から前記オペレーティングシステムへの第2の方向の伝送パスの伝送負荷の調整と独立して調整するように動作可能である、請求項19に記載のシステム。
  21. 前記ドライバ、データを失うことなく、伝送負荷を調整する請求項19に記載のシステム。
  22. 前記オペレーティングシステムは、入力/出力コマンドに対して特定のストレージアレイを識別し、前記ドライバは、パスの状態に基づいて前記複数のパスから1つのパスを選択し、前記ドライバは、前記選択されたパス上に入力/出力コマンドを送信する請求項19に記載のシステム。
  23. 前記ドライバが、どのパスを利用できるか判定するように動作可能である、請求項19に記載のシステム。
  24. 前記ドライバとホストバスアダプタとの間にファイバチャネルポートドライバをさらに備え、前記ファイバチャネルポートドライバは、前記ホストバスアダプタに対するファイバチャネルコマンドとして要求を処理するように動作可能である、請求項19に記載のシステム。
  25. コマンドを前記ドライバに送信するように動作可能な管理アプリケーションをさらに備える請求項19に記載のシステム。
  26. 前記ドライバ前記オペレーティングシステムに負荷をかけることなく、アクティブ伝送パスからイナクティブ伝送パスへのデータ伝送負荷を調整するように動作可能である、請求項19に記載のシステム。
  27. 前記ドライバは、あるホストバスアダプタから別のホストバスアダプタへ入力/出力動作を切り換えるように動作可能である、請求項19に記載のシステム。
  28. 前記ドライバ、ホストバスアダプタのセット内の1つのホストバスアダプタからスタンバイホストバスアダプタへ入力/出力動作を切り換えるように動作可能である、請求項19に記載のシステム。
  29. 前記ドライバ、第1の伝送パスに対するデータ伝送負荷の第1の比率と、第2の伝送パスに対するデータ伝送負荷の第2の比率とを構成するように動作可能である、請求項19に記載のシステム。
  30. 送信された前記データ、入力/出力動作を含む請求項29に記載のシステム。
  31. 前記ドライバは、オペレータが、前記システムが稼働中に、第1の伝送パス上の第1のデータ伝送負荷と第2の伝送パス上の第2のデータ伝送負荷とを構成することを可能にする、請求項19に記載のシステム。
  32. 前記ドライバ前記オペレーティングシステムに通知することなく、1つの伝送パス上のデータ伝送負荷を、別の伝送パス上の少なくとも1つのデータトラフィックの状態を検出した後に、増加させるように動作可能である、請求項19に記載のシステム。
  33. 送信された前記データ、入力/出力動作を含む請求項32に記載のシステム。
  34. 前記ドライバ前記オペレーティングシステムに通知することなく、別の伝送パスよりも少ない装置に対してデータを伝送る伝パスのデータ伝送負荷を増加させるように動作可能である、請求項19に記載のシステム。
  35. 前記ドライバ前記オペレーティングシステムに通知することなく、別の伝送パスに接続された第2のストレージアレイよりも少ない数の入力/出力用の動作を有する第1のストレージアレイに接続された伝送パスのデータ伝送負荷を増加させるように動作可能である、請求項19に記載のシステム。
  36. 前記ドライバ前記第1のストレージアレイおよび前記第2のストレージアレイの入力/出力用の動作の待ち行列を維持する請求項35に記載のシステム。
  37. 前記ドライバ、別の伝送パスに対応付けられた別のホストバスアダプタよりも待ち状態のコマンドが少ないホストバスアダプタに対応付けられた伝パスのデータ伝送負荷を増加させるように動作可能である、請求項19に記載のシステム。
  38. 前記ドライバ前記ホストバスアダプタの入力/出力用の動作の待ち行列を維持する請求項37に記載のシステム。
  39. 前記ドライバ前記オペレーティングシステムに負荷をかけることなく、別の伝送パスに接続された別の対象ポートよりも待ち状態の入力/出力コマンドが少ない対象ポートに接続された伝送パスのデータ伝送負荷を増加させるように動作可能である、請求項19に記載のシステム。
  40. 前記ドライバ前記対象ポートの入力/出力用の動作の待ち行列を維持する請求項39に記載のシステム。
  41. 前記ドライバ、各パス上のデータ伝送のレベルを追跡するように動作可能である、請求項19に記載のシステム。
  42. 前記システム前記オペレーティングシステムに負荷をかけることなく、ホストバスアダプタで通電中のシステムファームウェアのアップグレードを受信するように動作可能である、請求項19に記載のシステム。
  43. 前記ドライバは、オペレータが、前記システムが稼働中に複数のモードから選択することを可能にし、
    第1のモードでは、前記ドライバ前記オペレーティングシステムに負荷をかけることなく、アクティブ伝送パスからイナクティブ伝送パスへデータ伝送負荷を調整するように動作可能であり
    第2のモードでは、前記ドライバ、第1の伝送パス上の第1のデータ伝送負荷と第2の伝送パス上の第2のデータ伝送負荷とを設定するように動作可能であり
    第3のモードでは、前記ドライバ前記オペレーティングシステムに負荷をかけることなく、1つの伝送パスのデータ伝送負荷を、別の伝送パス上のデータトラフィックの状態を検出した後に、増加させるように動作可能である、請求項19に記載のシステム
  44. パスは、当該パスが前記第1のモード前記第2のモードまたは前記第3のモードで構成されるかどうか指定するフラグを有する請求項43に記載のシステム。
  45. 前記ドライバ、各ストレージアレイの入力/出力用のコマンドの数により、前記複数のストレージアレイへの伝送パスのデータ伝送負荷を調整するように動作可能である、請求項19に記載のシステム。
  46. 前記ドライバは、前記ホストバスアダプタと前記ストレージアレイとの間に接続されたスイッチファブリックからのデータ伝送状態を受信するように動作可能であり前記ドライバは、前記オペレーティングシステムに負荷をかけることなく、前記状態を用いて前記伝送パスのデータ伝送負荷を調整する請求項19に記載のシステム。
  47. 前記状態前記ファブリック内の複数のスイッチ間の通信機能レベルを含む請求項46に記載のシステム。
  48. 前記ドライバ前記通信機能レベルを用いて前記パスのデータ伝送比率を設定する請求項47に記載のシステム。
  49. 前記状態、入力/出力動作を転送する機能が変化したパスのアラートを含む請求項46に記載のシステム。
  50. 前記状態パス上の輻輳のリポートを含む請求項46に記載のシステム。
  51. 前記状態前記スイッチファブリック内でスイッチにより選択されるパスを含む請求項46に記載のシステム。
  52. コンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体であって、前記コンピュータ実行可能な命令は、オペレーティングシステムおよび複数のホストバスアダプタと通信するソフトウェアドライバを含み、前記ホストバスアダプタは、前記オペレーティングシステムと複数のストレージアレイとの間に複数のデータ伝送パス提供し、前記複数のストレージアレイの各々は、複数のポートと、複数の論理装置番号(LUN)記憶装置とを含み、前記ドライバは、前記複数のホストバスアダプタのうちの1つのホストバスアダプタから、前記複数のデータ伝送パスのうちの1つのデータ伝送パスにおける障害を示すリモート状態変化通知(RSCN)を受信することと、前記オペレーティングシステムに負担をかけることなく全ての現在の入力/出力動作を中止して、それらをセカンダリパス上でやり直すことにより、自動的にフェイルオーバーすることとを実行するように動作可能である、コンピュータ読み取り可能な媒体
  53. 前記ソフトウェアドライバは、ファイバチャネルプロトコルホストバスアダプタドライバモジュールと、フェイルオーバードライバモジュールとを備える請求項52に記載のコンピュータ読み取り可能な媒体
  54. 前記ソフトウェアドライバは、小型コンピュータシステムインターフェース(SCSI)ホストバスアダプタドライバモジュールと、フェイルオーバードライバモジュールとを備える請求項52に記載のコンピュータ読み取り可能な媒体
  55. 前記ソフトウェアドライバ、管理アプリケーションからのコマンドを受信するように動作可能である、請求項52に記載のコンピュータ読み取り可能な媒体
  56. コンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体であって、前記コンピュータ実行可能な命令は、オペレーティングシステムおよび複数のホストバスアダプタと通信するソフトウェアドライバを含み、前記ホストバスアダプタは、前記オペレーティングシステムと複数のストレージアレイとの間に複数のデータ伝送パス提供し、前記複数のストレージアレイの各々は、複数のポートと、複数の論理装置番号(LUT)記憶装置とを含み、前記ドライバは、前記複数のホストバスアダプタのうちの1つのホストバスアダプタから、前記複数のデータ伝送パスのうちの1つのデータ伝送パスにおけるデータ伝送状態を示すリモート状態変化通知(RSCN)を受信することと、前記オペレーティングシステムに負荷をかけることなく前記データ伝送パス上のトラフィックをリダイレクトすることによって前記データ伝送パスのデータ伝送負荷を自動的に調整することとを実行するように動作可能である、コンピュータ読み取り可能な媒体
  57. 前記ソフトウェアドライバは、ファイバチャネルプロトコルホストバスアダプタドライバモジュールと、負荷分散ドライバモジュールとを備える請求項56に記載のコンピュータ読み取り可能な媒体
  58. 前記ソフトウェアドライバは、小型コンピュータシステムインターフェース(iSCSI)ホストバスアダプタドライバモジュールと、負荷分散ドライバモジュールとを備える請求項56に記載のコンピュータ読み取り可能な媒体
  59. 前記ソフトウェアドライバ、管理アプリケーションからのコマンドを受信するように動作可能である、請求項56に記載のコンピュータ読み取り可能な媒体
  60. オペレーティングシステムの複数のホストバスアダプタと、対象システムの複数のポートとに接続されたスイッチファブリックであって、前記スイッチファブリックは複数のスイッチを備え、前記スイッチファブリックは、データ伝送状態を検出することと前記データ伝送状態を示すリモート状態変化通知(RSCN)をソフトウェアドライバに送信することとを実行するように動作可能であり前記ソフトウェアドライバは、前記オペレーティングシステムに負荷をかけることなく、前記データ伝送状態を用いて前記ドライバと前記対象システムのポートとの間の少なくとも1つのパス上のデータ伝送負荷を自動的に調整するように動作可能である、スイッチファブリック。
  61. 前記スイッチ、ファイバチャネルスイッチである請求項60に記載のスイッチファブリック。
  62. 複数のスイッチ間にスイッチ間リンクをさらに備える請求項60に記載のスイッチファブリック。
  63. 前記スイッチが、ファイバチャネル拡張リンクサービスコマンドを介して前記ドライバと通信する請求項60に記載のスイッチファブリック。
  64. 前記スイッチが、ファイバチャネルコモントランスポートコマンドを介して前記ドライバと通信する請求項60に記載のスイッチファブリック。
  65. ータ伝送する方法であって、
    前記方法は、
    オペレーティングシステムの複数のホストバスアダプタと、複数のストレージアレイとの間に複数のデータ伝送パス提供することであって、前記複数のストレージアレイの各々は、複数のポートと、複数の論理装置番号(LUN)記憶装置とを含む、ことと
    特定のストレージアレイにコマンドを送信することにより、当該ストレージアレイ上の前記複数のポートのうちのどのポートを介してどのLUN記憶装置がアクセス可能であるかを判定することによって、どのデータ伝送パスが利用できるかを判定することと、
    前記複数のホストバスアダプタのうちの1つのホストバスアダプタから、前記オペレーティングシステムと前記ストレージアレイとの間の第1の伝送パス上の障害を示すリモート状態変化通知(RSCN)を受信することと
    前記オペレーティングシステムに負担をかけることなく前記第1の伝送パスにおける全ての現在の入力/出力動作を中止して、それらを第2の伝送パス上でやり直すことにより、自動的にフェイルオーバーすることと
    を含む、方法
  66. 前記オペレーティングシステムと前記ストレージアレイとの間の可能な各データ伝送パスを識別することをさらに含む請求項65に記載の方法。
  67. 前記オペレーティングシステムに負荷をかけることなく、前記複数のホストバスアダプタのうちの1つのホストバスアダプタから前記第1の伝送パスの修復を示すRSCNを受信したことに応答して、データ伝送を前記第2の伝送パスから前記第1の伝送パスに戻すことをさらに含む請求項65に記載の方法。
  68. ータ伝送する方法であって、
    前記方法は、
    複数のホストバスアダプタを用いて、オペレーティングシステムと複数のストレージアレイとの間に複数のデータ伝送パス提供することであって、前記複数のストレージアレイの各々は、複数のポートと、複数の論理装置番号(LUT)記憶装置とを含む、ことと
    特定のストレージアレイにコマンドを送信することにより、当該ストレージアレイ上の前記複数のポートのうちのどのポートを介してどのLUN記憶装置がアクセス可能であるかを判定することによって、どのデータ伝送パスが利用できるかを判定することと、
    前記複数のホストバスアダプタのうちの1つのホストバスアダプタから、前記オペレーティングシステムと前記ストレージアレイとの間の第1の伝送パス上のデータ伝送状態を示すリモート状態変化通知(RSCN)を受信することと、
    前記オペレーティングシステムに負荷をかけることなく、残りのデータ伝送パス内でトラフィックをリダイレクトすることによって前記第1の伝送パスのデータ伝送負荷を自動的に調整することと
    を含む、方法
  69. 前記データ伝送状態前記ストレージアレイの特定のポートに向けられている入力/出力動作の数である請求項68に記載の方法。
  70. 前記データ伝送状態、複数の記憶装置を有するシステム内の特定の記憶装置に向けられている入力/出力動作の数である請求項68に記載の方法。
  71. 前記データ伝送状態、特定のホストバスアダプタに向けられている入力/出力動作の数である請求項68に記載の方法。
JP2004547029A 2002-10-21 2003-10-21 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム Expired - Fee Related JP4511936B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/278,189 US7307948B2 (en) 2002-10-21 2002-10-21 System with multiple path fail over, fail back and load balancing
PCT/US2003/033481 WO2004038554A2 (en) 2002-10-21 2003-10-21 System with multiple path fail over, fail back and load balancing

Publications (2)

Publication Number Publication Date
JP2006504186A JP2006504186A (ja) 2006-02-02
JP4511936B2 true JP4511936B2 (ja) 2010-07-28

Family

ID=32093389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004547029A Expired - Fee Related JP4511936B2 (ja) 2002-10-21 2003-10-21 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム

Country Status (4)

Country Link
US (1) US7307948B2 (ja)
EP (1) EP1579226A2 (ja)
JP (1) JP4511936B2 (ja)
WO (1) WO2004038554A2 (ja)

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069468B1 (en) * 2001-11-15 2006-06-27 Xiotech Corporation System and method for re-allocating storage area network resources
US20030187987A1 (en) * 2002-03-29 2003-10-02 Messick Randall E. Storage area network with multiple pathways for command paths
US7308604B2 (en) * 2002-08-02 2007-12-11 Thomson Licensing Real-time fail-over recovery for a media area network
US7149935B1 (en) * 2002-12-17 2006-12-12 Ncr Corp. Method and system for managing detected corruption in stored data
JP4012498B2 (ja) * 2003-11-18 2007-11-21 株式会社日立製作所 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
US7257731B2 (en) * 2003-12-23 2007-08-14 Nokia Inc. System and method for managing protocol network failures in a cluster system
US7461141B2 (en) * 2004-01-30 2008-12-02 Applied Micro Circuits Corporation System and method for performing driver configuration operations without a system reboot
JP2005217815A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd パス制御方法
US20050215128A1 (en) * 2004-03-10 2005-09-29 Intel Corporation Remote device probing for failure detection
US7721150B2 (en) * 2004-03-19 2010-05-18 Intel Corporation Failover and load balancing
US7760626B2 (en) * 2004-03-31 2010-07-20 Intel Corporation Load balancing and failover
US7343356B2 (en) 2004-04-30 2008-03-11 Commvault Systems, Inc. Systems and methods for storage modeling and costing
US8266406B2 (en) 2004-04-30 2012-09-11 Commvault Systems, Inc. System and method for allocation of organizational resources
US7333293B2 (en) * 2004-06-29 2008-02-19 Hewlett-Packard Development Company, L.P. Storage system having a reader with a light sensing portion inclined with respect to an axis of a label of a storage medium
US7644318B2 (en) 2004-07-14 2010-01-05 Hewlett-Packard Development Company, L.P. Method and system for a failover procedure with a storage system
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
JP4643198B2 (ja) * 2004-07-28 2011-03-02 株式会社日立製作所 負荷分散コンピュータシステム、経路設定プログラム及びその方法
JP4401895B2 (ja) * 2004-08-09 2010-01-20 株式会社日立製作所 計算機システム、計算機及びそのプログラム。
US20060039276A1 (en) * 2004-08-18 2006-02-23 International Business Machines Corporation Failback to a primary communications adapter
JP4441362B2 (ja) * 2004-09-10 2010-03-31 株式会社日立製作所 ポート割当装置及びポート割当方法
JP2006107151A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd ストレージシステム及びストレージシステムの通信パス制御方法
US8776049B2 (en) * 2004-10-20 2014-07-08 Seagate Technology Llc Address aligned resource set allocation in a memory space
US7337235B2 (en) * 2004-10-28 2008-02-26 International Business Machines Corporation Dynamic path partitioning to multipath storage devices
US7487403B2 (en) * 2004-11-12 2009-02-03 International Business Machines Corporation Method for handling a device failure
US7711978B1 (en) * 2004-12-30 2010-05-04 Symantec Operating Corporation Proactive utilization of fabric events in a network virtualization environment
US8064467B2 (en) * 2005-02-04 2011-11-22 Level 3 Communications, Llc Systems and methods for network routing in a multiple backbone network architecture
JP4966206B2 (ja) * 2005-02-04 2012-07-04 レベル スリー コミュニケーションズ,エルエルシー ネットワーク・ルーティングを改良するためのイーサネット系のシステムおよび方法
JP4609848B2 (ja) * 2005-04-06 2011-01-12 株式会社日立製作所 負荷分散コンピュータシステム、経路設定プログラム及びその方法
JP2006323729A (ja) * 2005-05-20 2006-11-30 Hitachi Ltd マルチパス制御をする装置及びシステム
US7529816B2 (en) * 2005-06-03 2009-05-05 Hewlett-Packard Development Company, L.P. System for providing multi-path input/output in a clustered data storage network
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
JP4842593B2 (ja) 2005-09-05 2011-12-21 株式会社日立製作所 ストレージ仮想化装置のデバイス制御引継ぎ方法
US8732354B1 (en) * 2005-09-30 2014-05-20 Symantec Operating Corporation Method and apparatus for controlling access to a storage area network
US7903556B2 (en) * 2005-11-03 2011-03-08 Hewlett-Packard Development Company, L.P. Method of controlling data transfers between nodes in a computer system
US7937393B2 (en) 2005-11-28 2011-05-03 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US8572330B2 (en) 2005-12-19 2013-10-29 Commvault Systems, Inc. Systems and methods for granular resource management in a storage network
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7661028B2 (en) 2005-12-19 2010-02-09 Commvault Systems, Inc. Rolling cache configuration for a data replication system
US20070174849A1 (en) * 2006-01-12 2007-07-26 Cheung Yan M Non-disruptive multipath device driver update system and method
US20070174723A1 (en) * 2006-01-18 2007-07-26 Omar Cardona Sub-second, zero-packet loss adapter failover
US9426092B2 (en) * 2006-02-03 2016-08-23 Level 3 Communications Llc System and method for switching traffic through a network
JP5121161B2 (ja) 2006-04-20 2013-01-16 株式会社日立製作所 記憶システム、パス管理方法及びパス管理装置
US7937481B1 (en) * 2006-06-27 2011-05-03 Emc Corporation System and methods for enterprise path management
US7962567B1 (en) 2006-06-27 2011-06-14 Emc Corporation Systems and methods for disabling an array port for an enterprise
US7444541B2 (en) * 2006-06-30 2008-10-28 Seagate Technology Llc Failover and failback of write cache data in dual active controllers
US8726242B2 (en) * 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
JP2008059315A (ja) * 2006-08-31 2008-03-13 Hitachi Ltd 負荷分散方法及び計算機システム
US7930583B1 (en) * 2006-09-14 2011-04-19 Symantec Operating Corporation System and method for domain failure analysis of a storage area network
CN101523803B (zh) * 2006-10-09 2015-11-25 艾利森电话股份有限公司 通信网络中的弹性方案
US7821973B2 (en) * 2006-10-24 2010-10-26 Hewlett-Packard Development Company, L.P. Sharing of host bus adapter context
JP4331742B2 (ja) * 2006-10-25 2009-09-16 株式会社日立製作所 I/oの割り振り比率に基づいて性能を管理する計算機システム、計算機及び方法
US20080147878A1 (en) * 2006-12-15 2008-06-19 Rajiv Kottomtharayil System and methods for granular resource management in a storage network
US8677091B2 (en) * 2006-12-18 2014-03-18 Commvault Systems, Inc. Writing data and storage system specific metadata to network attached storage device
JP4468395B2 (ja) * 2007-03-23 2010-05-26 株式会社東芝 クラスタシステム及びプログラム
US20080301333A1 (en) * 2007-06-04 2008-12-04 International Business Machines Corporation System and article of manufacture for using host and storage controller port information to configure paths between a host and storage controller
US7761629B2 (en) * 2007-06-04 2010-07-20 International Business Machines Corporation Method for using host and storage controller port information to configure paths between a host and storage controller
US8027290B2 (en) * 2007-06-15 2011-09-27 Alcatel Lucent Methods of jointly assigning resources in a multi-carrier, multi-hop wireless communication system
US8204980B1 (en) * 2007-06-28 2012-06-19 Emc Corporation Storage array network path impact analysis server for path selection in a host-based I/O multi-path system
US8918537B1 (en) 2007-06-28 2014-12-23 Emc Corporation Storage array network path analysis server for enhanced path selection in a host-based I/O multi-path system
US8711684B1 (en) * 2007-07-09 2014-04-29 Symantec Corporation Method and apparatus for detecting an intermittent path to a storage system
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US7975166B2 (en) * 2008-03-05 2011-07-05 Alcatel Lucent System, method and computer readable medium for providing redundancy in a media delivery system
JP2009245131A (ja) * 2008-03-31 2009-10-22 Nec Corp コンピュータ装置、コンピュータ装置の拡張カード、負荷分散方法及びプログラム
JP4551947B2 (ja) * 2008-05-23 2010-09-29 株式会社日立製作所 ストレージシステムを構成する電子機器を管理する装置
JP2010033188A (ja) * 2008-07-25 2010-02-12 Fujitsu Ltd 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法
WO2010022100A2 (en) 2008-08-18 2010-02-25 F5 Networks, Inc. Upgrading network traffic management devices while maintaining availability
US20100107154A1 (en) * 2008-10-16 2010-04-29 Deepak Brahmavar Method and system for installing an operating system via a network
JP5232602B2 (ja) * 2008-10-30 2013-07-10 株式会社日立製作所 ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
US9178842B2 (en) * 2008-11-05 2015-11-03 Commvault Systems, Inc. Systems and methods for monitoring messaging applications for compliance with a policy
US8041987B2 (en) * 2008-11-10 2011-10-18 International Business Machines Corporation Dynamic physical and virtual multipath I/O
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US7936754B2 (en) * 2008-12-12 2011-05-03 At&T Intellectual Property I, L.P. Methods and apparatus to dynamically store network routes for a communication network
US8280930B1 (en) * 2008-12-19 2012-10-02 Emc Corporation Obtaining configuration information from host devices which store data into and load data from a data storage array
US8155518B2 (en) * 2009-03-30 2012-04-10 Lsi Corporation Dynamic load balancing of fibre channel traffic
US8978052B1 (en) 2009-04-29 2015-03-10 Qlogic, Corporation System and methods for inter-driver communication
US8325598B2 (en) * 2009-05-20 2012-12-04 Verizon Patent And Licensing Inc. Automatic protection switching of virtual connections
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
DE102009041599A1 (de) * 2009-09-15 2011-04-14 Airbus Operations Gmbh Steuervorrichtung, Ein-/Ausgabevorrichtung, Verbindungsschaltevorrichtung und Verfahren für ein Flugzeug-Steuersystem
US8996909B2 (en) * 2009-10-08 2015-03-31 Microsoft Corporation Modeling distribution and failover database connectivity behavior
US8811412B2 (en) * 2009-10-15 2014-08-19 International Business Machines Corporation Steering data communications packets among service applications with server selection modulus values
US10496608B2 (en) * 2009-10-28 2019-12-03 Sandisk Il Ltd. Synchronizing changes in a file system which are initiated by a storage device and a host device
JP5477047B2 (ja) * 2010-02-25 2014-04-23 富士通株式会社 情報処理装置、仮想計算機接続方法、プログラム及び記録媒体
US8352661B1 (en) * 2010-03-24 2013-01-08 Emc Corporation Data storage systems having seamless software upgrades
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8489656B2 (en) 2010-05-28 2013-07-16 Commvault Systems, Inc. Systems and methods for performing data replication
US9106675B2 (en) * 2010-06-17 2015-08-11 International Business Machines Corporation Intelligent network storage planning within a clustered computing environment
US10015084B2 (en) * 2010-08-10 2018-07-03 International Business Machines Corporation Storage area network path management
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US8930620B2 (en) * 2010-11-12 2015-01-06 Symantec Corporation Host discovery and handling of ALUA preferences and state transitions
JP5422611B2 (ja) * 2011-06-24 2014-02-19 株式会社日立製作所 計算機システム、ホストバスアダプタ制御方法及びそのプログラム
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
DE102011116866A1 (de) * 2011-10-25 2013-04-25 Fujitsu Technology Solutions Intellectual Property Gmbh Clustersystem und Verfahren zum Ausführen einer Mehrzahl von virtuellen Maschinen
JP6007547B2 (ja) * 2012-03-30 2016-10-12 日本電気株式会社 仮想化システム、スイッチコントローラ、ファイバチャネルスイッチ、マイグレーション方法、マイグレーションプログラム
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US8977787B1 (en) * 2012-06-28 2015-03-10 Emc Corporation Management of path operating mode transitions in multipathing host computer
US8909985B2 (en) * 2012-07-12 2014-12-09 International Business Machines Corporation Multiple hyperswap replication sessions
US9189320B2 (en) 2012-08-15 2015-11-17 International Business Machines Corporation Handling intermittent recurring errors in a network
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9712427B1 (en) 2012-12-21 2017-07-18 EMC IP Holding Company LLC Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model
US9473590B1 (en) 2012-12-21 2016-10-18 Emc Corporation Client connection establishment over fibre channel using a block device access model
US9563423B1 (en) 2012-12-21 2017-02-07 EMC IP Holding Company LLC System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9407601B1 (en) * 2012-12-21 2016-08-02 Emc Corporation Reliable client transport over fibre channel using a block device access model
US9647905B1 (en) 2012-12-21 2017-05-09 EMC IP Holding Company LLC System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval
US9531765B1 (en) 2012-12-21 2016-12-27 Emc Corporation System and method for maximizing system data cache efficiency in a connection-oriented data proxy service
US9514151B1 (en) 2012-12-21 2016-12-06 Emc Corporation System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9591099B1 (en) 2012-12-21 2017-03-07 EMC IP Holding Company LLC Server connection establishment over fibre channel using a block device access model
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US10430303B1 (en) * 2013-03-15 2019-10-01 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9916213B1 (en) * 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US20150172066A1 (en) * 2013-12-13 2015-06-18 Qualcomm Incorporated Practical implementation aspects of unicast fetch for http streaming over embms
US9258242B1 (en) 2013-12-19 2016-02-09 Emc Corporation Path selection using a service level objective
RU2013156784A (ru) 2013-12-20 2015-06-27 ИЭмСи КОРПОРЕЙШН Способ и устройство выбора маршрута чтения и записи данных
US9852034B2 (en) 2014-03-24 2017-12-26 International Business Machines Corporation Efficient high availability for a SCSI target over a fibre channel
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US11194690B2 (en) * 2014-05-19 2021-12-07 International Business Machines Corporation Tracking and factoring application near misses/timeouts into path selection and multipathing status
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US9794112B2 (en) * 2015-08-06 2017-10-17 Drivescale, Inc. Method and system for balancing storage data traffic in converged networks
WO2017052541A1 (en) * 2015-09-24 2017-03-30 Hewlett Packard Enterprise Development Lp Communication path loss
US10176036B2 (en) 2015-10-29 2019-01-08 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
KR102500821B1 (ko) 2015-12-29 2023-02-17 삼성전자주식회사 복수의 회로들 및 복수의 회로들을 연결하는 버스를 포함하는 반도체 장치 및 반도체 장치의 동작 방법
US10365981B2 (en) * 2016-08-19 2019-07-30 Samsung Electronics Co., Ltd. Adaptive multipath fabric for balanced performance and high availability
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
JP6460137B2 (ja) * 2017-03-06 2019-01-30 オムロン株式会社 制御装置、制御方法、およびプログラム
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
JP2019067251A (ja) * 2017-10-03 2019-04-25 株式会社日立製作所 計算機システム及び通信経路の制御方法
US10924331B2 (en) * 2018-01-05 2021-02-16 WeRide Corp. Controller area network communication system
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
CN110138657B (zh) * 2019-05-13 2021-11-09 北京东土军悦科技有限公司 交换机间的聚合链路切换方法、装置、设备及存储介质
US11354204B2 (en) * 2019-06-03 2022-06-07 International Business Machines Corporation Host multipath layer notification and path switchover following node failure
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
JP7063926B2 (ja) * 2020-02-17 2022-05-09 矢崎総業株式会社 通信システム
US11593191B2 (en) * 2021-07-13 2023-02-28 Dell Products L.P. Systems and methods for self-healing and/or failure analysis of information handling system storage
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)
CN115550246A (zh) * 2022-10-11 2022-12-30 缀初网络技术(上海)有限公司 基于多路径的文件传输方法及装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779233A (ja) * 1993-06-29 1995-03-20 Synoptics Commun Inc トポロジを確定する装置及びトポロジ情報を通信する方法及び装置
US5918021A (en) * 1996-06-03 1999-06-29 Intel Corporation System and method for dynamic distribution of data packets through multiple channels
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US6393483B1 (en) * 1997-06-30 2002-05-21 Adaptec, Inc. Method and apparatus for network interface card load balancing and port aggregation
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
JP3511875B2 (ja) * 1998-01-13 2004-03-29 横河電機株式会社 通信制御システム
US6247077B1 (en) * 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6490632B1 (en) * 1999-03-18 2002-12-03 3Com Corporation High performance load balancing and fail over support of internet protocol exchange traffic over multiple network interface cards
WO2001001262A1 (fr) * 1999-06-24 2001-01-04 Fujitsu Limited Controleur de peripherique et systeme d'entree/sortie
US6578158B1 (en) * 1999-10-28 2003-06-10 International Business Machines Corporation Method and apparatus for providing a raid controller having transparent failover and failback
US6711574B1 (en) * 2000-02-01 2004-03-23 Emc Corporation Retrieval of management information
JP3735512B2 (ja) * 2000-05-10 2006-01-18 株式会社豊田自動織機 容量可変型圧縮機の制御弁
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
JP4794068B2 (ja) * 2000-06-05 2011-10-12 富士通株式会社 ストレージエリア・ネットワーク管理システム
JP2002007304A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法
US6625747B1 (en) * 2000-06-30 2003-09-23 Dell Products L.P. Computer storage system and failover method
US6954881B1 (en) * 2000-10-13 2005-10-11 International Business Machines Corporation Method and apparatus for providing multi-path I/O in non-concurrent clustering environment using SCSI-3 persistent reserve
JP2002190825A (ja) * 2000-12-21 2002-07-05 Fujitsu Ltd トラフィックエンジニアリング方法及びそれを用いたノード装置
US7143190B2 (en) * 2001-04-02 2006-11-28 Irving S. Rappaport Method and system for remotely facilitating the integration of a plurality of dissimilar systems
US7171474B2 (en) * 2001-04-25 2007-01-30 Sun Microsystems, Inc. Persistent repository for on-demand node creation for fabric devices
US7111084B2 (en) * 2001-12-28 2006-09-19 Hewlett-Packard Development Company, L.P. Data storage network with host transparent failover controlled by host bus adapter
US7134040B2 (en) * 2002-04-17 2006-11-07 International Business Machines Corporation Method, system, and program for selecting a path to a device to use when sending data requests to the device

Also Published As

Publication number Publication date
EP1579226A2 (en) 2005-09-28
JP2006504186A (ja) 2006-02-02
US7307948B2 (en) 2007-12-11
US20040078632A1 (en) 2004-04-22
WO2004038554A3 (en) 2004-06-17
WO2004038554A2 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
JP4511936B2 (ja) 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム
USRE42703E1 (en) System and method for fibrechannel fail-over through port spoofing
US6757753B1 (en) Uniform routing of storage access requests through redundant array controllers
US7937617B1 (en) Automatic clusterwide fail-back
US8060775B1 (en) Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system
US7043663B1 (en) System and method to monitor and isolate faults in a storage area network
EP0869641B1 (en) Fibre channel arbitrated loop dynamic loop sizing
US6883065B1 (en) System and method for a redundant communication channel via storage area network back-end
US6996741B1 (en) System and method for redundant communication between redundant controllers
US20130151888A1 (en) Avoiding A Ping-Pong Effect On Active-Passive Storage
EP1712997B1 (en) Disk array device and control method therefor
US20080222661A1 (en) Failover and Load Balancing
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
US7937481B1 (en) System and methods for enterprise path management
US20100199116A1 (en) Multipath power management
US20120047327A1 (en) Disk array device and control method for the same
US10797912B2 (en) Relay device and relay method
JP2009503725A (ja) ストレージ資源デバイスの管理
US7103504B1 (en) Method and system for monitoring events in storage area networks
JP2004088570A (ja) ネットワーク計算機システムおよび管理装置
US8918670B2 (en) Active link verification for failover operations in a storage network
US20020118685A1 (en) Storage system adapter and method of using same
US10798159B2 (en) Methods for managing workload throughput in a storage system and devices thereof
KR102018225B1 (ko) 연결 방법
US7830880B2 (en) Selective build fabric (BF) and reconfigure fabric (RCF) flooding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091211

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091218

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100312

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: 20100408

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100507

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4511936

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees