JP2022050512A - コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム - Google Patents
コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム Download PDFInfo
- Publication number
- JP2022050512A JP2022050512A JP2021215255A JP2021215255A JP2022050512A JP 2022050512 A JP2022050512 A JP 2022050512A JP 2021215255 A JP2021215255 A JP 2021215255A JP 2021215255 A JP2021215255 A JP 2021215255A JP 2022050512 A JP2022050512 A JP 2022050512A
- Authority
- JP
- Japan
- Prior art keywords
- adapter
- server
- agent
- interface
- network
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 215
- 238000000034 method Methods 0.000 title claims description 41
- 230000004044 response Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 abstract description 31
- 239000003795 chemical substances by application Substances 0.000 description 277
- 230000008859 change Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 238000005259 measurement Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000002776 aggregation Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 7
- 230000007774 longterm Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000009499 grossing Methods 0.000 description 6
- 230000032683 aging Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 231100000817 safety factor Toxicity 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000011867 re-evaluation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Abstract
【解決手段】システムにおいて、コンバージドネットワークに接続された少なくとも1つの計算装置(サーバ)は、少なくとも1つのアダプタにより接続された少なくとも1つの記憶装置にアクセスする。サーバに組み込まれたサーバエージェント及びアダプタに組み込まれたエージェントは、コンバージドネットワーク中の記憶及びデータトラフィックの不均衡を検出及び応答を行うよう構成され、不均衡を減少させ、それにより、データ通信及び記憶トラフィックの全体的なネットワーク性能を改善する。各エージェントは、アダプタのエージェントがサーバのエージェントからの要求又は通知に応答する場合を除いて自律的に動作する。
【選択図】図1
Description
された記憶装置にアクセスする方法及びシステム、並びにこのような方法及びシステムを
実行するための装置に関する。いくつかの実施形態では、本発明は、ネットワークに接続
された計算装置(サーバ)が、アダプタによりネットワークに接続された記憶装置にアク
セスするようなシステムにおいて記憶データトラフィックを(例えば、最適化により)均
衡化することに関する。
一般にイーサネット(登録商標)を基にした)データ通信、及び、記憶装置アクセスのた
めの別の「記憶」ネットワークにより実施していた。一般的な記憶ネットワークは、従来
のファイバーチャネルプロトコルにより実施していた。「データ通信ネットワーク」及び
「データネットワーク」の表現は、記憶ネットワークは本来「記憶データ」トラフィック
(ここで、「記憶データ」は、少なくとも1つの記憶装置から取り出すかまたはこの記憶
装置に保存するデータを意味する)を支えるための構造でありそのために採用されている
点、及び、データネットワークは他のデータトラフィック(すなわち、記憶データではな
いデータ)を支えるための構造でありそのために採用されている点で、「記憶ネットワー
ク」のクラスから区別されるクラスでのネットワークを意味する類義語として用いられる
。
ットワークタイプの実施は、データセンターを稼働させるための資本コスト及び運転コス
トを増大させるので好ましくない。
ィックではない)トラフィックの両方を通過する単一ネットワークの使用について調査を
始めている(使用を開始しているデータセンターもある)。そのような単一ネットワーク
をここでは、「コンバージドネットワーク」と称することとする。コンバージドネットワ
ークの一例は、ネットワークに接続されたサーバと、ネットワークに接続された記憶装置
との間ですべてのトラフィックが送信されるイーサネットベースのネットワークである。
残念ながら、コンバージドネットワークを介して送信される2つのタイプのネットワーク
トラフィック(記憶データトラフィックと他のデータトラフィック)は異なる特性を有す
る。
するようなネットワーク)は、記憶データトラフィック以外のトラフィックを通信するた
めに、管理しないネットワーク又は最低限の管理しかしないネットワークとして実装する
ことができる(これが通常である)。これにより、データネットワークにコンピュータや
他のハードウェアを追加したり取り除いたりすることが簡単になる。例えば、DHCPプ
ロトコルにより、一般に、データネットワーク上で動作させるのに必要な情報のすべてを
新しい装置に(人的介入なしに)提供することができる。
確実に失われるパケットの転送を続ける)を生じさせることがある。このため、データネ
ットワークはしばしば、データネットワーク上の2つの装置間での経路を唯一つのみ決定
するためのプロトコル(例えば、スパニングツリープロトコル)を導入する。余分なデー
タ経路がデータネットワーク上に明示的に設定されることはめったにない。さらに、デー
タネットワーク上のトラフィックは比較的予測不可能であり、アプリケーションは、通常
、どのような帯域幅がデータネットワーク上で利用可能であっても許容できるよう記述さ
れる。
者は、どのコンピュータが記憶ネットワーク上のどの記憶装置と通信することができるか
を手動で割りつける(すなわち、通常、自己構成機能を持たない)。(データネットワー
クとは別に隔離されている記憶ネットワークにおいて)現段階ではネットワーク接続を条
件が変わったときでも対応可能にするような進歩は、ほとんどない。さらに、低レベルの
データ記憶装置に一般に必要とされる高レベルの利用可能性及び障害に対する耐性を提供
するために、(記憶ネットワークに接続された)記憶装置とコンピュータとの間に、完全
な余分な経路を作る。
ータトラフィック以外のトラフィック)との間に差異があるため、コンバージドネットワ
ーク中で記憶データトラフィックと他のトラフィックとを統合すると、ネットワークの利
用に不均衡が生じる可能性があり、これによりデータセンター中のアプリケーションの全
体的な性能を損なうことがある。本願発明の一般的な実施形態では、コンバージドネット
ワークの利用におけるそのような不均衡に対処し、例えば、データセンターのアプリケー
ションが最大の性能を発揮できるようにすることを目標とする。
、ディスクドライブ)。一般に、論理ブロックアドレス(LBA)及び複数のブロックを
用いて記憶装置にアクセスする。論理ブロックは、一定の固定サイズの記憶容量(例えば
、512バイト又は4096バイト)の総体的な塊である。伝統的な回転式のディスクド
ライブはこの「記憶装置」の例である。
取り出すためにネットワーク(コンバージドネットワーク)を介して記憶装置にアクセス
しこれを使用するよう構成された計算装置を意味する。
BOD)をネットワーク(例えば、コンバージドネットワーク)に接続するよう構成され
た装置を意味する。本発明の一般的な実施形態において、各記憶装置は、記憶装置に記憶
されたデータへのアクセスが故障に対する耐性を有するようにするために、通常は2以上
のアダプタを介してサーバにアクセス可能となっている。
ージドネットワーク)に接続させるためのサーバ又はアダプタの構成要素を意味する。イ
ンタフェースの例として物理的装置(すなわち、ネットワークインタフェースコントロー
ラ(NIC))、及び、ソフトウェア的に定義される(リンク集合体に関して)複数のN
ICのラッパーがあげられる。本発明の一般的な実施形態において、インタフェースは、
コンバージドネットワーク中にインターネットプロトコル(IP)アドレスを有するハー
ドウェア又はソフトウェア要素である。
ータトラフィックの交換(又は交換の準備)をするためサーバ(又はアダプタ)が動作し
ている間、サーバ(又はアダプタ)上で実行するよう構成された、サーバ(又はアダプタ
)のソフトウェア又はハードウェア構成要素又はサブシステムを意味する。本発明のいく
つかの実施形態では、コンバージドネットワーク上のすべてのサーバ及びアダプタがエー
ジェントを有するわけではない。しかしながら、関係のないサーバ及び/又はアダプタ(
エージェントなしのサーバ及び/又はアダプタ)のネットワークへの接続により、(本発
明の実施形態により)達成することのできる、均衡の程度を制限する可能性がある。
アダプタを介して記憶装置とサーバとの間でデータが送信される経路を意味する(すなわ
ち、アダプタインタフェースを通り、そしてサーバインタフェースを通る、記憶装置から
サーバへの経路、又は、サーバインタフェース、そしてアダプタインタフェースを通る、
サーバから記憶装置への経路)。IPネットワークにおいて、データ経路は一般に、サー
バのインタフェースのIPアドレスとアダプタのインタフェースのIPアドレスとの組み
合わせにより表示され、或いは、アダプタで用いられるポート番号でも表示される。しか
しながら、リンクの集合体の場合において、すべての経路は、1つのIPアドレスに割り
当てられたインタフェースのグループ内の経路に用いられる実際のインタフェースに依存
することになる。
され、アダプタ及びサーバの両方がコンバージドネットワークに接続されているとき、我
々は、サーバは(記憶システムの記憶装置にアクセスするために)、記憶システムの具体
的な記憶装置(例えば、JBODの1つのディスクドライブ)及びサーバと記憶装置との
データ経路を一般的に特定する(すなわち、使用するよう構成されている)ことを想定す
る。本願発明の一般的な実施形態によれば、データ経路は、ネットワーク上の記憶データ
トラフィックの均衡をとるために時々変更されることがある。本願発明のいくつかの実施
形態によれば、(サーバと記憶システムとの間の)データ経路は、ネットワーク上の記憶
データトラフィックを均衡させるために時々変更されることがある(また、サーバにアク
セスされる記憶システムの特定の装置のアダプタによる選択は、時々変更されることがあ
るが、このような変更は、必ずしも本発明により決定されるものではない)。
ックと統合されたとき、異なるタイプのトラフィックの特性が交りあうことになり、結果
としてネットワークの全体的な帯域幅の非効率的な使用となり、データ通信トラフィック
及び/又は記憶トラフィックの能力の制限となる。
クインタフェースを有することは普通である(ここで、サーバがコンバージドネットワー
クに接続されることを表す意味において「インタフェース」の語を使う)。多くのこのよ
うなサーバは、膨大な量のデータに絡んだ問題を解決するために、多数のサーバを同時に
働かせることのできるソフトウェアパッケージ(例えば、Hadoopオープンソースソ
フトウェアパッケージ)を実行する。しかしながら、そのようなソフトウェア(例えば、
Hadoop)は、一般に、各サーバが一意的な名前とアドレスを有することを要求する
。したがって、ソフトウェア(例えば、Hadoop)を実行するサーバ間のデータ通信
トラフィックは、一般に、各サーバで利用可能な2つ(又はそれ以上の)のネットワーク
接続のうちの1つのみを用いる。
能にするため、サーバとディスクドライブとの間に通常余分な経路を有するよう構成され
る。このような余分な経路を、データ通信トラフィック(非記憶型トラフィック)により
ネットワークインタフェースが多忙となるのを回避するために、記憶データトラフィック
(例えば、ネットワークインタフェース間に広がった記憶データトラフィック)の経路を
変更するのに用いることができる。しかしながら、この変更を実施する標準的な機構(例
えば、多経路I/O又は「MPIO」方法)では、コンバージドネットワーク上の記憶デ
ータトラフィックのパフォーマンスに厳しく不利な条件を作り出す。具体的には、通常の
記憶データ負荷分散機構は、ラウンドロビン方式ですべての利用可能なインタフェースに
記憶命令を送信すること、又は(例えば、未処理命令の数、又は未処理バイトの数、又は
他の方法で)各リンクでどれだけの作業が未処理になっているかの測定をおこない、「最
も忙しくない」インタフェースに命令を送信することに基づく。これらの機構がサーバと
ディスクドライブとの間の記憶データトラフィックにおいて性能発揮に大きな不利益をも
たらす理由は、最大性能を得るために、ディスクドライブで実行される命令は、ディスク
上の連続的な位置に送られなければならないからである。命令が連続的な位置に送られな
い場合は、新しい位置にディスクドライブのリード/ライトヘッドを動かすために「シー
ク」操作が必要となる。そのようなシーク操作の各々は、全体的な性能を約1%以上下げ
ている。従来の分散機構(ラウンドロビン又は「最も忙しくない」分散機構)は、しばし
ば次々と連続した命令がサーバからディスクドライブへの異なる経路を取るようにするの
で、ディスクにアクセスする一連の命令を実行するために必要なシークの数を増大させる
。異なる経路とすることは、(各経路で他の操作を行うため)異なる処理時間と待ち時間
を有することになり、ある順序で出された命令がしばしば異なる順序で実行されることに
なる。順序変更により、シークが必要となり、それにより全体的なデータ移送能力が減少
する。これらの従来の分散機構は、Hadoop記憶操作に適用する場合、記憶データト
ラフィックの全体的性能をおよそ75%減少させる現象がみられる(すなわち、伝達する
ことのできる記憶データの量が、ラウンドロビン又は最も忙しくない機構を用いないこと
が可能な場合の量の約25%となる)。
ワークに接続するのに利用可能な複数のインタフェースを有する第1の装置(一般的に、
サーバ)と、第2の装置をネットワークに接続するのに利用可能な複数のインタフェース
を有する第2の装置(一般的に、もう一つのサーバ)との間や、これらの装置をネットワ
ークに接続するのに利用可能なすべてのインタフェースの間で、しばしばトラフィックを
分割するのに用いられる。リンクアグリゲーションによれば、一種の負荷均衡を行うため
、第1の装置のインタフェースの1つと第2の装置のインタフェースの1つを(例えば、
ランダム又は疑似乱数による方法で)新たに選択した後、各データ値の新たな流れ(すな
わち、順序を狂わせて伝達されることのない新たな各データ値の列)が、1つの装置の選
択されたインタフェースから、ネットワークを通じて、他の装置の選択されたインタフェ
ースへ伝達される。これにより、(多くの流れにより平均化された)データ通信トラフィ
ックがすべての利用可能なインタフェースを使うことができ、(1つのインタフェースが
故障しない限り)各インタフェースで転送されたデータ量の間での大まかな均衡を維持す
ることになる。
うことは推奨されていない。しかしながら、サーバの複数インタフェースとアダプタの複
数インタフェースとの間のコンバージドネットワークで記憶データトラフィックを均衡さ
せる試みにおいて(従来推奨されていた方法に反して)リンクアグリゲーションの形式が
用いられた場合でも、このようなリンクアグリゲーションは、コンバージドネットワーク
中の記憶データトラフィックにおける顕著な不均衡を抑制しない。顕著な不均衡は、記憶
トラフィックの障害に対する許容性を維持するために必要な設計上の判断の結果生じる。
つまり、サーバから(少なくとも1つのアダプタを介して)各記憶装置への完全に余分な
経路が必要になるということは、各記憶装置(又は、複数の記憶装置を具備する記憶サブ
システム)が、それぞれ記憶装置(又は記憶サブシステム)をネットワークに接続する2
つの完全に別々のネットワーク接続装置(すなわち、2つの別々のアダプタ)によりネッ
トワークに接続されなければならないことを必要とする。そうでなければ、アダプタがた
だ1つだけという場合、アダプタの故障により記憶装置(又は、サブシステム)が利用で
きなくなってしまう。このようなアダプタの各々を別々の装置にしなければならないので
、リンクアグリゲーションは、同じ記憶装置(又は、記憶サブシステム)に余分なデータ
経路を提供する2つのアダプタ間の負荷を均衡させることはできず、又、1つのアダプタ
を通る記憶データトラフィックにおける、同じ記憶装置(又は、記憶サブシステム)に余
分なデータ経路を提供する他のアダプタを通る記憶データトラフィックと比較して、顕著
な不均衡を抑制することができない。アダプタが別々の装置なので、1つは、同じ記憶装
置にアクセスする他のアダプタより忙しく、したがって遅くなることがある。一方、本発
明の一般的な実施形態では、コンバージドネットワークにおいて、リンクアグリゲーショ
ンを使っている時でも、記憶データトラフィックの不均衡を緩和することができる(そし
て記憶トラフィックの顕著な不均衡を抑制する)。
は、ネットワークに接続することができる装置のネットワークインタフェース)の「帯域
幅」なる用語は、システムの「消費された帯域幅」又はシステムの「利用可能な帯域幅」
を意味する。ここで、システムの「消費された帯域幅」なる用語はシステムを通るデータ
レート(ビットレート)を意味する(例えば、システムでデータトラフィックが生じるレ
ート、又は、ある時間間隔における、システムでデータトラフィックが生じるレートの平
均又は統計的特徴付けを行ったレート)をいう。ここで、システムの「利用可能な全帯域
幅」なる用語は、システムの可能な最大データレート(ビットレート)(すなわち、デー
タトラフィックがシステムで生じることのある最大レート)を意味する。ここで、システ
ムの「利用可能な帯域幅」とは、システムの利用可能な全帯域幅からシステムの消費され
た帯域幅をマイナスしたものを意味する。
(ここでは「サーバ」と称される)が(アダプタにより)前記ネットワークに接続された
記憶装置にアクセスするシステムにおいて、記憶データトラフィックを均衡させる方法(
例えば、記憶データトラフィックを最適化する試み)である。前記サーバに組み込まれた
ひと組のエージェント(「サーバエージェント」)及び前記アダプタに組み込まれたひと
組のエージェント(「アダプタエージェント」)は、ネットワーク全体において、記憶及
びデータトラフィックの不均衡を検出し応答するよう、及び記憶データトラフィックを経
路変更して前記不均衡を減少させ、それにより(データ通信及び記憶トラフィックに関す
る)ネットワーク全体の性能を改善するよう構成される。他の実施形態にはこのような方
法を実行するよう構成されたシステム、及びこのような方法を実施するよう、又はこのよ
うなシステムに用いるよう構成された装置が含まれる。
アダプタエージェントについては、いくつかの環境ではサーバエージェントからの要求又
は通知に応答する点を除いて)自律的に動作し、中央のコンピュータ又はマネージャーが
前記エージェントの操作を指揮することはない。一般的に、アダプタエージェントは、サ
ーバエージェントと、(それらが組み込まれた)前記アダプタ及びサーバが少なくとも1
つの記憶装置に記憶データ経路を提供するときに、直接相互作用のみをおこない、サーバ
エージェントは、他のサーバエージェントと直接通信することはなく、アダプタエージェ
ントは他のアダプタエージェントと直接通信することはない。それにもかかわらず、本発
明の一般的な実施形態では、全体的なネットワークトラフィックを均衡させ、動作の不安
定化を避けるために、前記すべてのエージェントは前記他のエージェントの動作に反応し
、および、影響を与えることができる。加えて、ネットワークに接続されたいずれかの装
置が故障した場合、ネットワークに接続された生き残った装置が中断することなくネット
ワークトラフィックを均衡させる動作を続ける(そして、前記故障による不具合の調整を
行う)。
は、(サーバ間、アダプタ間、又はアダプタから2以上のサーバまでではなく)アダプタ
とサーバとの間の各データ経路の終点間のみで行われる均衡を保つための通信によって、
完全に分散化された方法で均衡が保たれている。関連物(すなわち、サーバインタフェー
ス、サーバエージェント、アダプタインタフェース、又はアダプタエージェント)が故障
したとしても、その関連物が構成員になっている経路にのみ影響を与える。一般に、サー
バエージェントとアダプタエージェントとの間の1対1通信のみがある(例えば、サーバ
エージェントは2以上のアダプタエージェントとこの通信を共有しない)。一方、複数の
記憶装置及び複数のサーバ間で記憶データトラフィックの均衡を保つ従来の方法は、この
方法のように分散化されていない。
記ネットワークの状態についての情報を収集するよう動作し、(適切な状況で)サーバに
記憶装置へのすべてのトラフィックを(前記サーバと前記記憶装置との間の)1つのデー
タ経路から、ネットワークの不均衡を低減するために選ばれた(前記サーバと前記記憶装
置との間の)別のデータ経路へと変更させる。
プロセス)が、各サーバ(及びそのエージェント)に、それらと各記憶装置(たとえばデ
ィスクドライブ)との間で用いられるデータ経路の全てを告知しており、サーバは記憶装
置との間でデータを送受信できるように設けられていることを想定している。通常は更に
、各サーバ(及び、そのエージェント)には、サーバと記憶装置との間で、(例えば、ネ
ットワークの統計処理に基づいて、又は決定論的方法により判断されて(例えば、最下位
のIPを有するアダプタインタフェースへの経路))、好ましいデータ経路が通知される
。
くとも1つのサーバを含み、前記サーバは、サーバインタフェースによりコンバージドネ
ットワークに接続されるよう構成され、又、前記サーバは、サーバエージェントと、少な
くとも1つの記憶装置と、前記記憶装置に接続されるよう構成され、少なくとも1つのア
ダプタインタフェース(及び、任意的に、少なくとも1つのアダプタインタフェースを有
し前記ネットワークに前記記憶装置を接続するよう構成された、少なくとも1つの別のア
ダプタ)を有する少なくとも1つのアダプタと、を含むよう構成され、そして、前記アダ
プタは、前記アダプタインタフェースを介して前記ネットワークに前記記憶装置を接続さ
せるよう構成され、前記アダプタはアダプタエージェントを含むよう構成される。
前記アダプタインタフェースの各々について過負荷になっているか否かを判断し、前記
アダプタインタフェースの各々についてアダプタインタフェース過負荷表示を生成し、こ
こで、前記アダプタインタフェースの各々について前記アダプタインタフェース過負荷表
示は、前記アダプタインタフェースが過負荷になっているか否かを表示し、
少なくとも1つの前記アダプタインタフェース過負荷表示を、前記サーバエージェント
からの要求に応じて(例えば、前記サーバエージェントからの要求に応じて、前記アダプ
タインタフェースの少なくとも1つに、少なくとも1つの前記アダプタインタフェース過
負荷表示を示すデータを、前記アダプタにアサートさせることを)、前記サーバエージェ
ントに報告するよう、構成される。
前記サーバに、前記アダプタエージェントへの要求をアサートさせ、前記要求に応答し
て前記アダプタエージェントによりアサートされた少なくとも1つのアダプタインタフェ
ース過負荷表示を特定させ、
前記サーバインタフェースを含む経路であり、前記アダプタを介して前記記憶装置に前
記サーバがアクセスする経路について、前記アダプタインタフェース過負荷表示を用いる
方法で、前記経路が過負荷か否かを判断するよう構成される。
次の使用のために前記記憶装置への新たな経路を選択すべきか否かを判断すること、及
び、
新たな経路が選択すべきとの判断により、前記サーバに前記サーバと前記記憶装置の間
の記憶データトラフィックの経路を変更させること、
を含むステップにより前記経路が過負荷であることの判断に応じるよう構成される。好
ましくは、前記サーバエージェントは、接続され、前記サーバに、前記サーバと前記記憶
装置の間の記憶データトラフィックの経路を新たな経路に変更させた後、新たな経路への
変化の影響が前記アダプタエージェントの各アダプタインタフェースのトラフィックの前
記各アダプタエージェントにより継続中の監視の結果に反映されるようになるまで十分な
時間間隔だけ待機し、そして、待機した後、前記新たな経路以外の少なくとも1つの経路
を含む、前記記憶装置への経路の評価(例えば、再評価)を開始するよう構成される。好
ましい実施形態では、前記待機のための時間間隔は、所定の最大待機時間及び最少待機時
間の制約を受けつつ、選択された間隔の標準変量として選択されたランダムな数値(例え
ば、10秒)に決定される。
せるよう構成された第1のアダプタと、前記記憶装置を前記ネットワークに接続させるよ
う構成された第2のアダプタと、(随意的に、前記記憶装置を前記ネットワークに接続さ
せるよう構成された少なくとも1つの他のアダプタと)を含み、前記第1のアダプタは少
なくとも1つの第1のアダプタインタフェースを含み、前記第2のアダプタは少なくとも
1つの第2のアダプタインタフェースを含み、前記第1のアダプタは第1のアダプタエー
ジェントを含み、前記第2のアダプタは第2のアダプタエージェントを含み、前記サーバ
エージェントは、接続され、
前記サーバインタフェースの各々に生じるデータトラフィック(例えば、受信トラフィ
ック及び送信トラフィック)を監視し、前記サーバインタフェースの各々で消費された帯
域幅を判断し、前記サーバインタフェースの各々で消費された帯域幅から、前記サーバイ
ンタフェースの各々で利用可能な帯域幅を判断し、そして、
前記サーバから前記第1のアダプタへアサートされた要求に応答して前記第1のアダプ
タエージェントにより前記サーバへ提供された少なくとも1つの利用可能な帯域幅表示を
特定し、ここで、前記利用可能な帯域幅表示の各々は、1つの前記第1のアダプタインタ
フェースの利用可能な帯域幅の表示であることを特徴とし、そして、前記サーバから前記
第2のアダプタへアサートされた要求に応答して前記第2のアダプタエージェントにより
前記サーバへ提供された少なくとも1つの付加的な利用可能な帯域幅表示を特定し、ここ
で、前記利用可能な帯域幅表示の各々は、1つの前記第2のアダプタインタフェースの利
用可能な帯域幅の表示であることを特徴とし、そして、
前記サーバインタフェース及び前記第2のアダプタの前記第2のアダプタインタフェー
スの1つを、前記最小限の前記サーバインタフェース上の前記利用可能な帯域幅及び前記
1つの前記第2のアダプタインタフェースの利用可能な帯域幅として含む経路上の利用可
能な帯域幅を判断する、よう構成される。
前記アダプタインタフェースの各々に生じるデータトラフィック(例えば、受信トラフ
ィック及び送信トラフィック)を監視し、前記アダプタインタフェースの各々での消費さ
れた帯域幅表示を生成し、ここで、前記アダプタインタフェースの各々での前記消費され
た帯域幅表示は、前記アダプタインタフェースの消費された帯域幅の表示であり、そして
、
前記アダプタインタフェースの各々での利用可能な帯域幅表示を生成し、ここで、前記
アダプタインタフェースでの前記利用可能な帯域幅表示は、前記アダプタインタフェース
の利用可能な帯域幅の表示であり、そして、
前記サーバエージェントからの要求に応答して、少なくとも1つの前記アダプタインタ
フェース過負荷表示、及び少なくとも1つの前記消費された帯域幅表示及び/又は少なく
とも1つの前記利用可能な帯域幅表示を前記サーバエージェントに報告する(例えば、前
記サーバエージェントからの要求に応答して、前記アダプタに、少なくとも1つの前記ア
ダプタインタフェースに、少なくとも1つの前記アダプタインタフェース過負荷表示、及
び少なくとも1つの前記消費された帯域幅表示及び/又は少なくとも1つの利用可能な帯
域幅表示を表示するデータをアサートさせる)よう構成される。
前記アダプタの容量を推定し、付加的データ(例えば、前記アダプタの計算負荷容量)
を処理し、
生の過負荷表示値にフィルターを掛け、フィルターを掛けた過負荷値を生成し、ここで
、前記生の過負荷表示値は、測定された過負荷を表示し、前記フィルターを掛けた過負荷
値は、前記測定された過負荷が不変か否かを表示し、少なくとも1つの前記アダプタイン
タフェース過負荷表示は、前記フィルターを掛けた過負荷値を表示する、よう構成される
。
フェースの各々での利用可能な帯域幅表示を生成し、ここで、前記アダプタインタフェー
スの各々での利用可能な帯域幅表示は、前記アダプタインタフェースの利用可能な帯域幅
を表示し、エージングにより前記アダプタインタフェースの各々への少なくとも1つの前
記サーバエージェントから受信した計画した付加的帯域幅の使用値を含み、これにより、
前記アダプタインタフェースへのエージングした計画した帯域幅の使用値を生成し、前記
アダプタインタフェースの各々へ、前記アダプタインタフェースへの前記エージングした
計画した帯域幅の使用値の各々の合計を保持する、よう構成される。いくつかのこのよう
な実施形態において、前記アダプタエージェントは接続され、前記アダプタインタフェー
スの利用可能な全帯域幅から、前記アダプタインタフェースの各々への利用可能な帯域幅
表示、前記アダプタインタフェースの消費された帯域幅の少なくとも1つの大きさ、付加
的データを処理するための前記アダプタの容量、及び、前記アダプタインタフェースへの
前記エージングした計画した帯域幅の前記アダプタインタフェースの前記合計を生成する
よう構成される。
ソフトウェアでプログラムされ、各アダプタは、前記各アダプタのアダプタエージェント
を実行するソフトウェアでプログラムされる。いくつかの実施形態では、少なくとも1つ
のサーバエージェント又は少なくとも1つのアダプタエージェントがハードウェアに組み
込まれる(例えば、少なくとも1つの前記サーバは、前記サーバエージェントを実行する
ハードウェアサブシステムを含む)。
プログラム又は構成された)アダプタ、このようなアダプタと一体化されたディスクドラ
イブ(又は、その他の記憶装置)、このようなアダプタと一体化されたJBOD(又は、
その他の記憶装置システム)、(本発明に係るサーバエージェントの実施形態を実行する
ようプログラム又は構成された)サーバ、本発明に係るサーバエージェントの実施形態の
ハードウェアによる実施形態、及び、本発明に係るアダプタエージェントの実施形態のハ
ードウェアによる実施形態である。
、その他の装置の実施形態の操作において遂行する方法である。
ンバージドネットワークに接続された少なくとも1つのサーバと、少なくとも2つのアダ
プタにより前記ネットワークに接続された少なくとも1つの記憶装置とを含むシステムで
ある。
バ1及び3(及び随意的に他のサーバも)、及びアダプタ5、7、9、及び11(及び随
意的に他のアダプタも)の各々はコンバージドネットワーク20に接続されている。記憶
サブシステム13は、アダプタ5及び7の各々により、ネットワーク20に接続されてい
る。記憶サブシステム15は、アダプタ9及び11の各々により、ネットワーク20に接
続されている。記憶サブシステム13及び15の各々は、ディスクドライブ又は記憶装置
、或いは、複数の記憶装置からなる記憶サブシステム(例えば、JBOD)とすることが
できる。
ス2を含み、また、サーバ1は、アプリケーションサブシステム4を含むよう構成されて
いる(例えば、アプリケーションサブシステム4を実行するソフトウェアでプログラムさ
れている)。サーバ1もまた、サーバエージェントサブシステム6を含むよう構成されて
いる(例えば、サーバエージェントサブシステム6を実行するソフトウェアでプログラム
されている)。サーバ3は(サーバ3をネットワーク20に接続するよう構成された)イ
ンタフェース8を含み、また、アプリケーションサブシステム10を含むよう構成されて
いる(例えば、アプリケーションサブシステム10を実行するソフトウェアでプログラム
されている)。サーバ3もまた、サーバエージェントサブシステム12を含むよう構成さ
れている(例えば、サーバエージェントサブシステム12を実行するソフトウェアでプロ
グラムされている)。
トワークインタフェースコントローラ(「NIC」))として実施されている。他の実施
形態では、インタフェース2及び8の各々は、ソフトウェアで定義される複数のNICの
ラッパーとして実施されている。本発明の一般的な実施形態において、インタフェース2
及び8の各々は、自分自身のインターネットプロトコル(IP)アドレスを有するハード
ウェア又はソフトウェア要素となる。
えば、アダプタエージェントサブシステム14を実行するソフトウェアでプログラムされ
ている)。アダプタ7は、アダプタエージェントサブシステム16を含むよう構成されて
いる(例えば、アダプタエージェントサブシステム16を実行するソフトウェアでプログ
ラムされている)。アダプタ9は、アダプタエージェントサブシステム18を含むよう構
成されている(例えば、アダプタエージェントサブシステム18を実行するソフトウェア
でプログラムされている)。アダプタ11は、アダプタエージェントサブシステム22を
含むよう構成されている(例えば、アダプタエージェントサブシステム22を実行するソ
フトウェアでプログラムされている)。
1、3、5、7、9、及び11は、iSCSI(インターネットスモールコンピュータシ
ステムインタフェース)ネットワーキングプロトコルに従いネットワーク20を介して通
信するよう構成されている。iSCSIプロトコルは、LAN、WAN、又はインターネ
ットを介してデータの送信を可能にする、通常のインターネットプロトコルに基づく記憶
ネットワーキング標準である。この例示的実施形態において、要素1、3、5、7、9、
及び11(及びエージェント6、12、14、16、18、及び22)は、サーバ1(又
は3)と任意のアダプタ5、7、9、又は11との間での通信を許容するが、各サーバ(
1又は3)と各アダプタ(5、7、9、又は11)との間では同時に1つの接続経路しか
ない単純な方法(多くの従来型アプリケーションよりはるかに単純な方法)でiSCSI
ネットワークプロトコルを用いる。
アダプタ5は、ネットワーク20を介してサーバ1又は3と通信するためのiSCSI
インタフェースを含む。本発明に基づくアダプタエージェント14とサーバエージェント
6及び12との間の通信は、このiSCSIインタフェースにより実行される。アダプタ
5もまた、サーバ1(又は3)とサブシステム13との間の記憶データトラフィックを実
行するために、よく知られたSerial Attached SCSI(「SAS」)
プロトコルに基づき記憶サブシステム13と通信するよう構成されている。
インタフェースを含む。本発明に基づくアダプタエージェント16とサーバエージェント
6及び12との間の通信は、このiSCSIインタフェースにより実行される。アダプタ
7もまた、サーバ1(又は3)とサブシステム13との間の記憶データトラフィックを実
行するために、SASプロトコルに基づき記憶サブシステム13と通信するよう構成され
ている。
インタフェースを含む。本発明に基づくアダプタエージェント18とサーバエージェント
6及び12との間の通信は、このiSCSIインタフェースにより実行される。アダプタ
9もまた、サーバ1(又は3)とサブシステム15との間の記憶データトラフィックを実
行するために、SASプロトコルに基づき記憶サブシステム15と通信するよう構成され
ている。
Iインタフェースを含む。本発明に基づくアダプタエージェント22とサーバエージェン
ト6及び12との間の通信は、このiSCSIインタフェースにより実行される。アダプ
タ11もまた、サーバ1(又は3)とサブシステム15との間の記憶データトラフィック
を実行するために、SASプロトコルに基づき記憶サブシステム15と通信するよう構成
されている。
置(例えば、サブシステム13又は15中の記憶装置)へのアクセスを開始するように構
成されている。サーバ3のアプリケーションサブシステム10は、ネットワーク20に接
続された記憶装置(例えば、サブシステム13又は15中の記憶装置)へのアクセスを開
始するように構成されている。標準的な操作において、1つの要素(例えば、管理処理又
は割り当て処理)は、サーバ1と、このサーバがアクセスし、記憶装置へ又は記憶装置か
らのデータの転送をおこなうことのできる各記憶装置との間で使うことのできるすべての
データ経路を、アプリケーションサブシステム4及びエージェント6に通知しており、ア
プリケーションサブシステム4及びエージェント6には、サーバ1と記憶装置との間の(
サーバ1からアクセスすることのできる各記憶装置への)好ましいデータ経路(例えば、
ネットワークの静的解析に基づき、又は決定論的方法で決定された(例えば、最少IPア
ドレスを有するアダプタインタフェースへの経路))が通知されている。同様に、標準的
な操作において、1つの要素(例えば、管理処理又は割り当て処理)は、サーバ3と、こ
のサーバがアクセスし、記憶装置へ又は記憶装置からのデータの転送をおこなうことので
きる各記憶装置との間で使うことのできるすべてのデータ経路を、アプリケーションサブ
システム10及びエージェント12に通知しており、アプリケーションサブシステム10
及びエージェント12には、サーバ3と記憶装置との間の(サーバ3からアクセスするこ
とのできる各記憶装置への)好ましいデータ経路が通知されている。
び22(ここでは、アダプタエージェント、又はエージェントとも称す)の各々、及び、
サーバエージェントサブシステム6及び12(ここでは、サーバエージェント、又はエー
ジェントとも称す)の各々は、本発明に基づき(例えば、以下に記載した方法により)構
成され、コンバージドネットワーク20を介して記憶データトラフィック中の不均衡を検
出しこの不均衡に応答し、不均衡を減少させるために記憶データトラフィックを変更し、
それにより、(データ通信及び記憶トラフィックの両方に対して)全体的なネットワーク
性能を向上させる。例えば、一般的な実施形態において、サーバエージェントサブシステ
ム6は、本発明に基づき(例えば、以下に記載した方法により)構成され、ネットワーク
20を介してサーバ1と特定の(サブシステム13又は15中の)記憶装置との間の1つ
のデータ経路から、サーバ1と、同じ特定の記憶装置との間の他のデータ経路へと、記憶
データトラフィックを変えることにより、記憶データトラフィック中の不均衡を(適切な
環境で)検出しこの不均衡に応答する。
ーバ21(及び随意的に他のサーバ)及びアダプタ25、27、29、及び31(及び随
意的に他のアダプタも)は、(図1のネットワーク20と同一としてもよい)コンバージ
ドネットワーク20に接続される。記憶サブシステム23は、アダプタ25及び27の各
々によりネットワーク20に接続されている。記憶サブシステム33は、アダプタ29及
び31の各々によりネットワーク20に接続されている。記憶サブシステム23及び33
の各々は、複数の記憶装置からなる記憶サブシステムである(例えば、各々が複数のディ
スクドライブからなるJBODである)。
ネットワークインタフェースコントローラ(NIC)であり、そしてサーバ21をネット
ワーク20に接続するよう構成された、インタフェース22及び24を含む。サーバ21
は、アプリケーションサブシステム26を含むよう(例えば、アプリケーションサブシス
テム26を実行するソフトウェアでプログラムされるよう)構成され、また、サーバエー
ジェントサブシステム28を含むよう(例えば、サーバエージェントサブシステム28を
実行するソフトウェアでプログラムされるよう)構成される。
るネットワークインタフェースコントローラ(NIC)であり、そしてアダプタ25をネ
ットワーク20に接続するよう構成された、インタフェース30及び32を含み、アダプ
タ25は、アダプタエージェントサブシステム38を含むよう(例えば、アダプタエージ
ェントサブシステム38を実行するソフトウェアでプログラムされるよう)構成される。
アダプタ25もまた、各々が記憶サブシステム23に接続されたポート34及び36を含
み、(サブシステム23内の)記憶装置を、ポート34又は36のいずれか、及びインタ
フェース30又は32のいずれか、を介して、ネットワーク20に接続するよう構成され
る。
るネットワークインタフェースコントローラ(NIC)であり、そしてアダプタ27をネ
ットワーク20に接続するよう構成された、インタフェース40及び42を含み、アダプ
タ27は、アダプタエージェントサブシステム48を含むよう(例えば、アダプタエージ
ェントサブシステム48を実行するソフトウェアでプログラムされるよう)構成される。
アダプタ27もまた、各々が記憶サブシステム23に接続されたポート44及び46を含
み、(サブシステム23内の)記憶装置を、ポート44又は46のいずれかと及びインタ
フェース40又は42のいずれかとを介して、ネットワーク20に接続するよう構成され
る。
るネットワークインタフェースコントローラ(NIC)であり、そしてアダプタ29をネ
ットワーク20に接続するよう構成された、複数のインタフェース(不図示)を含み、ア
ダプタ29は、アダプタエージェントサブシステム50を含むよう(例えば、アダプタエ
ージェントサブシステム50を実行するソフトウェアでプログラムされるよう)構成され
る。アダプタ29もまた、各々が記憶サブシステム33に接続された複数のポート(不図
示)を含み、(サブシステム33内の)記憶装置を、ポートのいずれか1つと及びNIC
のいずれか1つとを介して、ネットワーク20に接続するよう構成される。
るネットワークインタフェースコントローラ(NIC)であり、アダプタ31をネットワ
ーク20に接続するよう構成された、複数のインタフェース(不図示)を含み、アダプタ
31は、アダプタエージェントサブシステム52を含むよう(例えば、アダプタエージェ
ントサブシステム52を実行するソフトウェアでプログラムされるよう)構成される。ア
ダプタ31もまた、各々が記憶サブシステム33に接続された複数のポート(不図示)を
含み、(サブシステム33内の)記憶装置を、ポートのいずれか1つと及びNICのいず
れか1つとを介して、ネットワーク20に接続するよう構成される。
21、25、27、29、及び31は、iSCSI(インターネットスモールコンピュー
タシステムインタフェース)ネットワーキングプロトコルに従いネットワーク20を介し
て通信するよう構成されている。この例示的実施形態において、要素21、25、27、
29、及び31(及びエージェント28、38、48、50、及び52)は、サーバ21
と任意のアダプタ25、27、29、又は31との間での通信を許容するが、このサーバ
と各アダプタ(25、27、29、又は31)との間では同時に1つの接続経路しかない
単純な方法(多くの従来型アプリケーションよりはるかに単純な方法)でiSCSIネッ
トワークプロトコルを用いる。
アダプタ25のインタフェース30及び32は、ネットワーク20を介してサーバ21
と通信するためのiSCSIインタフェースである。本発明に基づくアダプタエージェン
ト38とサーバエージェント28との間の通信は、このiSCSIインタフェースにより
実行される。アダプタ25もまた、サーバ21とサブシステム23との間の記憶データト
ラフィックを実行するために、Serial Attached SCSI(「SAS」
)プロトコルに基づき、ポート34又は36のいずれかを介して記憶サブシステム23と
通信するよう構成されている。
バ21と通信するためのiSCSIインタフェースである。本発明に基づくアダプタエー
ジェント48とサーバエージェント28との間の通信は、このiSCSIインタフェース
により実行される。アダプタ27もまた、サーバ21とサブシステム23との間の記憶デ
ータトラフィックを実行するために、Serial Attached SCSI(「S
AS」)プロトコルに基づき、ポート44又は46のいずれかを介して記憶サブシステム
23と通信するよう構成されている。
ンタフェースを含む。本発明に基づくアダプタエージェント50とサーバエージェント2
8との間の通信は、このiSCSIインタフェースにより実行される。アダプタ29もま
た、サーバ21とサブシステム33との間の記憶データトラフィックを実行するために、
SASプロトコルに基づき、記憶サブシステム33と通信するよう構成されている。
ンタフェースを含む。本発明に基づくアダプタエージェント52とサーバエージェント2
8との間の通信は、このiSCSIインタフェースにより実行される。アダプタ31もま
た、サーバ21とサブシステム33との間の記憶データトラフィックを実行するために、
SASプロトコルに基づき、記憶サブシステム33と通信するよう構成されている。
憶装置(例えば、サブシステム23又は33中の記憶装置)へのアクセスを開始するよう
に構成されている。標準的な操作において、1つの要素(例えば、管理処理又は割り当て
処理)は、サーバ21と、このサーバがアクセスし記憶装置へ又は記憶装置からのデータ
の転送をおこなうことのできる各記憶装置との間で使うことのできるすべてのデータ経路
を、アプリケーションサブシステム26及びエージェント28に通知しており、アプリケ
ーションサブシステム26及びエージェント28には、サーバ21と記憶装置との間の(
サーバ21からアクセスすることのできる各記憶装置への)好ましいデータ経路(例えば
、ネットワークの静的解析に基づき、又は決定論的方法で決定された(例えば、最少IP
アドレスを有するアダプタインタフェースへの経路))が通知されている。
び52(ここでは、アダプタエージェント、又はエージェントとも称す)の各々、及び、
サーバエージェントサブシステム26(ここでは、サーバエージェント、又はエージェン
トとも称す)の各々は、本発明に基づき(例えば、以下に記載した方法により)構成され
、コンバージドネットワーク20を介して記憶データトラフィック中の不均衡を検出しこ
の不均衡に応答し、不均衡を減少させるために記憶データトラフィックを変更し、それに
より、(データ通信及び記憶トラフィックの両方に対して)全体的なネットワーク性能を
向上させる。例えば、一般的な実施形態において、サーバエージェント26は、本発明に
基づき(例えば、以下に記載した方法により)構成され、ネットワーク20を介してサー
バ21と特定の(サブシステム23又は33中の)記憶装置との間の1つのデータ経路か
ら、サーバ21と、同じ特定の記憶装置との間の他のデータ経路へと、記憶データトラフ
ィックを変えることにより、記憶データトラフィック中の不均衡を(適切な環境で)検出
しこの不均衡に応答する。
1の各イーサネットポート(NIC22又は24)間に少なくとも4つのデータ経路(例
えば、インタフェース30、32、40、及び42の各々を通る経路)があり、従って、
サーバ21と各アクセス可能な記憶装置との間に少なくとも8つのデータ経路がある。し
たがって、図2のシステムは、アクセスするための多くの余剰部分を有する記憶装置を示
している。
の)において、管理サーバ(図1及び図2には不図示)は、データセンターを構成又は変
更するのに使用するためにネットワークに接続される(例えば、図2のアプリケーション
サブシステム26及びエージェント28に、サーバ21と、データを記憶装置に送受信す
るためにネットワーク20を介してアクセスすることのできる記憶装置との間で用いるこ
とができるすべてのデータ経路について情報伝達することを含む)。
データに関する)問題解決のために一体となって動作させるソフトウェアパッケージ (
例えば、ハドゥープオープンソースソフトウェアパッケージ)を走らせるようプログラム
されている(例えば、サーバのアプリケーションサブシステムがプログラムされている)
と考えられる。また、多数のこのようなサーバ(及び、各々が本発明に係るアダプタエー
ジェントの実施形態を実施するよう構成された多数のアダプタ)は、単一の建物に配置す
ることができるデータセンター(例えば、ハドゥープデータセンター)中のコンバージド
ネットワークに接続することができると考えられる。各アダプタは一般に、JBODのそ
れぞれのディスクドライブがこのアダプタを介してネットワークを通じてサーバからアク
セス可能なように、JBODに接続される。各サーバに対して「ローカル」であると考え
られるディスクドライブは、一般的に1つのJBOD(又は2つ以上のJBOD)に配置
され、JBODは一般に1つのラックに搭載される(例えば、1つのサーバが処理するデ
ータの3つのコピーを作り、1つのラック上の2つのディスクドライブに各々1つのコピ
ーを記憶させ、別のラック上の1つのディスクドライブに3番目のコピーを記憶させるこ
とができる)。このような実施形態において、サーバは、一組の(例えば、大きな一組)
のデータのうちの相異なるサブセットを(サーバの各々からアサートされた命令に応答し
て実行されるいくつかの処理により)並行して分散処理することが可能となるように、ネ
ットワークを介して接続される。
各アダプタエージェント(例えば、図1のエージェント14、16、18、又は22、又
は図2のエージェント38、48、50、又は52)及び各サーバエージェント(例えば
、図1のエージェント6又は12又は図2のエージェント28)は、本発明の実施形態に
従い動作させるためのソフトウェア(例えば、ソースコードが言語Python及び/又
は言語Cにより書かれたソフトウェア)を構成する処理用ハードウェアである。例えば、
サーバのサーバエージェント及びアプリケーションサブシステムの両方(例えば、図1の
サーバ1のエージェント6及びサブシステム4の両方、又は図1のサーバ3のエージェン
ト12及びサブシステム10の両方)は、ソフトウェアで構成された処理ハードウェア(
例えば、コンピュータ)で実行される。一般に、いずれのアプリケーション(例えば、図
1のサーバ1のサブシステム4又はサーバ3のサブシステム10、又は図2のサーバ21
のサブシステム26により実行されるアプリケーション)も、本発明の一般的な実施形態
の利点を獲得するために変更する必要はない。一般的に、各サーバエージェント及びアダ
プタエージェントは、アプリケーションに対して見えないように動作し、(データ通信操
作のみを行うものを含む)関連するサーバ又はアダプタインタフェースを用いるアプリケ
ーショは、本発明により実行される記憶データ負荷均衡による利益を享受する。
、各アダプタエージェント及びサーバエージェントの操作について記載する。記載中「受
信トラフィック」(又は「受信データ」)は、ネットワークからアダプタ(又はサーバ)
へアサートされた(すなわち、提供された)データを意味し、「送信トラフィック」(又
は「送信データ」)は、アダプタ(又はサーバ)からネットワークへアサートされた(す
なわち、提供された)データを意味する。一般的に、1つのアダプタ(及び1つのサーバ
)は、ネットワークに対して2つのインタフェースを有し、ネットワークに対して2以上
のインタフェースを有することもできる。
4、16、18、及び22、又は図2の各エージェント38、48、50、及び52)は
、以下の操作のすべて又は一部を行うように構成される。
と送信トラフィック(例えば、1秒あたりのビット数単位で)監視し、各インタフェース
にて消費された少なくとも1つの帯域幅の計測値を生成する。一般的に、各監視サンプル
は、比較的短時間(例えば、数秒)で引き継がれ、アダプタエージェントは、受信データ
サンプルの流れ及び送信データサンプルの流れについて統計的特性を決定し、各インタフ
ェースの消費された帯域幅(使われている帯域幅)の短期計測値と長期計測値とを別々に
提供する。最新のNICは全二重(一般的に、アダプタのNICは同時に送信と受信を行
うことができる)であり、各インタフェースの受信データ及び送信データについて独立し
た統計値が一般的に維持される。好ましい実施形態において、数値の指数平滑移動平均を
決定するよく知られた方法(すなわち、この場合、固定期間の移動時間窓におけるインタ
フェースの受信トラフィックの指数平滑移動平均、又は固定期間の移動時間窓におけるイ
ンタフェースの送信トラフィックの指数平滑移動平均)を用いて、このような指数平滑移
動平均の計算は安価なので、各インタフェースの受信トラフィックの統計的特性、及び各
インタフェースの送信トラフィックの統計的特性を決定する。このような指数(重みつき
)移動平均を決定する方法の例として、米国特許6,438,141(2002年8月2
0日発行)に図8を参照して記載されている。好ましい実施形態では、各短期移動平均は
、20秒間隔(窓)(又は実質的に20秒に等しい間隔)での算術移動平均に近く、各長
期移動平均は、60秒間隔(窓)(又は実質的に60秒に等しい間隔)での算術移動平均
に近い。他の窓期間及び計算方法を本発明の他の実施形態に用いることが可能である。
(例えば、推定)する。好ましい実施形態では、これはアダプタの計算負荷能力である。
付加的データの処理は、さらなる計算作業を伴うので、アダプタがその計算能力限度で動
いている場合、たとえインタフェースが全部使われていないとしても、付加的記憶データ
トラフィックを処理することができないことがある。いくつかの実施形態では、アダプタ
エージェントは、付加的データの処理のためにアダプタの能力をその計算(例えば、推定
)に用いることにより、記憶データトラフィックを扱っているアダプタで消費される他の
リゾースの残りの能力を組み入れることができる。随意的に、アダプタエージェントもま
た、アダプタインタフェースごとに利用可能な付加的帯域幅の限定的な推定量を決定する
ために(例えば、以下に説明するように、アダプタエージェントがインタフェースのため
に使用可能としてレポートするような帯域幅を限定するために)アダプタインタフェース
ごとに利用可能な付加的帯域幅の生の推定量にアダプタエージェントが乗算するための、
アダプタでのディレーティング係数を決定することもできる。
れている)サーバが近い将来、将来の付加的帯域幅を(アダプタのインタフェースを含む
経路で)使う計画であることを示していた場合、アダプタエージェントは、このような各
サーバエージェントがアダプタインタフェースを含む経路をアダプタエージェントに示し
ていた、計画していた付加的な将来の帯域幅の使用の合計を維持する。好ましい実施形態
では、(アダプタの)アダプタエージェントは、アダプタを含む経路上の記憶装置(例え
ば、ディスクドライブ)にサーバがアクセスした場合に限り、サーバからの計画した帯域
幅使用通知を受け入れるだけである。サーバエージェントによる計画した将来の帯域幅使
用の表示は、予約又は帯域幅の割り当てではなく、アダプタエージェントにより判断され
た実際の消費された帯域幅の統計値が近い将来変化することを知らせるものである。サー
バエージェントによるこのような表示、及びアダプタエージェントにより合計を維持する
ことの目的は、多くの記憶装置へのデータトラフィックが一度に1つのアダプタの1つの
インタフェースに向かう可能性を無くすか又は制限することである。アダプタエージェン
トは、一般的に、計画した付加的帯域幅使用通知の各々を時間をかけて減少(即ち、「エ
ージング」)させ、アダプタの各インタフェースへのエージングさせた計画した付加的帯
域幅使用値の最新の(エージングさせた)合計値を維持する。新たなトラフィックはイン
タフェースを実際に経由するので、このような実際のトラフィックは、アダプタエージェ
ントにより作られたプレインタフェーストラフィック計測値中に含まれる。好ましい実施
形態において、アダプタエージェントは、各計画した付加的帯域幅使用通知を、この通知
により表示された帯域幅値を半減期20秒(又は、20秒に実質的に等しい半減期)で指
数関数的に減少させることで(すなわち、表示された計画した付加的帯域幅使用値の指数
関数的減少を実行することで)、エージングさせる。代替的に、他の機構又は値(例えば
、指数関数的減少半減期値)を、表示された各計画した付加的帯域幅使用値の好ましいエ
ージングを行うために用いることができる。
フェースが過負荷かどうかを判断(計算)しサーバエージェントに、(過負荷となってい
ると判断されたならば)そのような過負荷の表示を(サーバエージェントからの要求に応
じて)報告する。このような過負荷表示は、可能ならインタフェースの使用の停止を試み
ることができるかをサーバが判断するために用いることができる。サーバは、一般的に、
リンクがしばらくの間ほとんど全部使用されていてこれからも使用されるかどうかを判断
し、その場合は、リンクが過負荷になるかどうか、そして他の記憶データトラフィックの
経路にしたほうがよいかどうかを判断するためにこの表示を用いる。アダプタエージェン
トは、生の過負荷表示値(過負荷であるとの判断の表示)にフィルターを掛け、判断した
過負荷が持続しているかどうかを表示するフィルターを掛けた過負荷値を生成し、(サー
バエージェントからの要求に応じて)生の過負荷表示値ではなく、フィルターを掛けた過
負荷値を通知することができる。一般的な実施形態では、アダプタエージェントは、過負
荷帯域幅レベルとして、インタフェースが全部使われていると考えられる選択された帯域
幅を使用するよう構成されている。1つの好ましい実施形態では、過負荷帯域幅レベルは
、インタフェースの利用可能な全帯域幅の92.5%に選定され、過負荷計算が連続して
少なくとも2回連続して正しいと判断した場合、(フィルターを掛けた過負荷値により)
インタフェースは過負荷であると通知される。一般的な実施形態では、過負荷計算は、以
下のどちらかが正しい場合、正しいと考えられる。
均)が両方とも過負荷帯域幅レベル以上であるか、又は、消費された受信帯域幅の短期及
び長期計測値(例えば、短期及び長期の受信帯域幅の平均)が両方とも過負荷帯域幅レベ
ル以上である場合、或いは、
データを処理するアダプタの容量が限界に達していた(又はほぼ限界に達していた)場
合。
わち、サーバによりそのインタフェースへと経路変更することがある新しい記憶装置のデ
ータトラフィックを受け入れるために用いることが可能な付加的帯域幅)の推定量を計算
する。この計算は、前記新しい記憶装置の状態又は能力について知る必要がなく、アダプ
タエージェントにより決定された特別な記憶データトラフィックの推定量を必要とし、そ
のような特別のトラフィックがインタフェースに向けらていたなら、インタフェースによ
り取り扱いが可能となる。この利用可能な帯域幅の推定は、一般にインタフェースの利用
可能な全帯域幅(例えば、1秒あたりのビット数単位の生の容量)、インタフェースのト
ラフィック統計量(すなわち、アダプタインタフェースの消費された帯域幅の少なくとも
1つの計測値)、付加的データを処理するためのアダプタの能力(すなわち、計算負荷)
、及び、表示された全てのインタフェースへの将来の帯域幅の通知、から計算される。記
憶データトラフィックは、いろいろな時に、読み取りトラフィックと書き込みトラフィッ
クの両方を含むので、推定される付加的な使用可能トラフィックの計算では、付加的なト
ラフィックは、送信トラフィック又は受信トラフィックのうちのすでにビジー状態となっ
ている方から、トラフィックを送信又は受信するものとみなす。これにより、付加的なト
ラフィックがすでに負荷が重くなっているインタフェース上を移動するデータ方向で過負
荷になるのを防止する。好ましい実施形態において、現在の作業処理を減速させるのを避
けるために、推定される利用可能な帯域幅は、インタフェースへ送受信される平均データ
、プラス、最新のトラフィックにおける通常の変動の推定、例えば、標準偏差、に基づく
。好ましい実施形態において、トラフィックの平均及び期待変動量は、例えば、上述の米
国特許6,438,141に記載されているような、「速いアップ、遅いダウン」指数平
滑移動平均(最新に生成された統計値が先に生成された統計値より大きい場合は、比較的
大きな重み付けが次の平均値に適用され、最新に生成された統計値が先に生成された統計
値より小さい場合は、比較的小さな重み付けが次の平均値に適用される)により計算され
る。このような「速いアップ、遅いダウン」指数平滑移動平均により、簡単な計算を用い
て、最新の平均値プラス一組の標準偏差を推定することができる。さらに、推定した生の
利用可能な全帯域幅は、インタフェースを介してトラフィック中に短い急変動があっても
、性能を下げることなく切り抜けることができるよう、安全係数により減少させておくこ
とができる。1つの実施形態において、以下の方程式で数値「available」で示されるよ
うな、アダプタインタフェースのための利用可能な帯域幅の推定量は、以下のように計算
される(しかし当然のことながら、動作を調整するために、付加的な項及び係数をこの計
算に加えることはできる)。
available = (safety_factor * (raw_bandwidth - worst-case)) *
processing_capacity_derating_factor、
ここで、値「worst-case」は、max(transmit_mean_and_variation, receive_mean_and_
variation) + sum(aged-future-bandwidth-notices)に等しく、「max(a、b)」は、値「
a」又は、値「b」のどちらか大きい方を意味する。
transmit_mean_and_variationは、インタフェースでの消費された送信帯域幅の計測値
(例えば、インタフェースでの平均送信データの推定プラス最新の送信データトラフィッ
クにおける通常の変動(標準偏差))であり、
receive_mean_and_variationは、インタフェースでの消費された受信帯域幅の計測値(
例えば、インタフェースでの平均受信データの推定プラス最新の受信トラフィックにおけ
る通常の変動(標準偏差))であり、
「sum(aged-future-bandwidth-notices)」は、アダプタインタフェースでのエージング
した計画した付加的帯域幅の使用値の合計であり、
safety_factorは、前記安全係数であり、
raw_bandwidthは、インタフェースの利用可能な全帯域幅を意味し、そして、
processing_capacity_derating_factorは、アダプタでのディレーティング係数である
。及び/又は、
アダプタと同じ記憶データ経路上のサーバのサーバエージェントからのステータス要求)
に応答する。一般的に、サーバエージェントへ返された現状報告は、各アダプタインタフ
ェースでの、現在の過負荷状態、及び上述したようなインタフェースの利用可能な帯域幅
を含む。
12の各々、又は図2のエージェント28)は、以下の操作のすべて又は一部を実行する
よう構成される。すなわち、
ーバの各インタフェースに生じる送受信トラフィックを(例えば、1秒あたりのビット数
単位で)監視し、上記各インタフェースの消費された帯域幅の少なくとも1つの計測値を
生成する。一般的に、各モニタリングサンプルは、一般に、比較的短時間(例えば、数秒
)で取り出され、サーバエージェントは、受信データサンプルの流れ及び送信データサン
プルの流れの統計的特性を判断し、各インタフェースの消費された帯域幅(使われた帯域
幅)の短期計測値と長期計測値とを別々に提供する。最新のNICは全二重(一般的に、
サーバのNICは同時に送信と受信を行うことができる)であり、各インタフェースの受
信データ及び送信データについて独立した統計値が一般的に維持される。好ましい実施形
態において、数値の指数平滑移動平均を決定するよく知られた方法(すなわち、この場合
、固定期間の移動時間窓におけるインタフェースの受信トラフィックの指数平滑移動平均
、又は固定期間の移動時間窓におけるインタフェースの送信トラフィックの指数平滑移動
平均)を用いて、各インタフェースの受信トラフィックの統計的特性、及び各インタフェ
ースの送信トラフィックの統計的特性を(例えば、上述した本発明に係るアダプタエージ
ェントの一般的な実施形態と同じ方法で)決定する。
ス経路について(記憶装置にコンバージドネットワークを介してこの経路でサーバからア
クセス可能であるという意味で)、サーバエージェントは、サーバに、経路の他の終端で
あるアダプタに要求をアサートさせることができ、サーバエージェントはアダプタの帯域
幅(消費された帯域幅及び/又は利用可能な帯域幅)及び/又は過負荷情報(すなわち、
要求に応じてアダプタのアダプタエージェントにより生成された過負荷及び/又は帯域幅
レポート)を取り戻す。多くの場合、同じアダプタがいくつかの記憶装置及び経路に用い
られるので、1つの要求に応じて受信したアダプタデータは、しばしば多くの経路で用い
られる。
憶装置にアクセスし、サーバエージェントは、その経路が過負荷かどうかそして負荷を削
減するかどうか、及び利用可能な(使用していない)帯域幅の経路はどれかを計算する。
一般的な実施形態において、サーバエージェントは、(経路に沿って接続された)サーバ
のインタフェースの利用可能な帯域幅または、(経路に沿って接続された)アダプタのイ
ンタフェースの利用可能な帯域幅の最小値として、経路で利用可能な帯域幅を決定する。
一般的な実施形態において、サーバエージェントは、サーバのインタフェース又はアダプ
タのインタフェースのどちらかが過負荷となった場合、経路は過負荷であると判断する(
一般に、サーバからの要求に応じてアダプタエージェントにより、サーバにアサートされ
たリポート中のインタフェース過負荷表示を用いることが含まれる)。
用されている場合、サーバエージェントは、一般に各過負荷を評価するために選択処理を
導入している。好ましい実施形態において、サーバにより少なくとも2つの過負荷経路が
使用されている場合、サーバエージェントは、ランダムな順序でこれらを考慮し、サイク
ルごとに1つだけ選択する。
ある場合、サーバエージェントは次の使用のためにそのような他の経路を選択する。2以
上のそのような代替的な経路が利用可能な場合、サーバエージェントは、最も大きな利用
可能な帯域幅を有する経路を選択する。
路に接続された記憶装置との間の好ましいデータ経路が通知されていて、現在の(過負荷
となった)経路が、サーバにより記憶装置にアクセスするようもともと割り当てられてい
た経路でない場合、(好ましいデータ経路が過負荷であろうとなかろうと)好ましいデー
タ経路が次の使用のために選択される。一般的に、現在の(過負荷となった)経路の割り
当てが変化しない場合(すなわち、現在の経路に代えて他の経路が選択されない場合)、
次の過負荷となった経路は、現在の経路についての場合と同様に考慮される。
代わる他の経路を選択した場合)、サーバエージェントは一般に以下の動作を行う。
ェースが特定の帯域幅(例えば、1つのディスクの将来の負荷にふさわしい帯域幅)を有
する記憶データトラフィックをアダプタの特定のインタフェースにアサートすることを、
新たに選択された経路と関連付けられたアダプタエージェントに通知する。これは、直ち
に統計量に反映され、アダプタのアダプタエージェントにより生成されたことを報じ、そ
して一般に、2つのサーバがアダプタインタフェースの同じ過剰な帯域幅を使用しようと
試みることを(直接)防止する。そして、
フィックの経路を新たに選択した経路に変更させる。及び/又は、
した経路に変更させた後、サーバエージェントは、アダプタエージェントの各アダプタイ
ンタフェース上のトラフィックの各アダプタエージェントにより進行中の監視による結果
(例えば、監視中の統計値)に、サーバエージェントの最新の動作の帰結を反映させるこ
とが出来るように、十分な長さの時間(例えば、所定の又はランダムに選んだ時間)待機
する。待機した後、サーバエージェントは、新な経路以外の少なくとも1つの経路を含む
、記憶装置まで経路の評価(例えば、再評価)を開始する。好ましい実施形態において、
待機する時間は、所定の最小待機時間及び最大待機時間を満たす範囲で、選択された時間
間隔(例えば、10秒)の標準変量として選択されたランダム数により決定される。
ーバエージェント(この例では、図2のサーバ21のエージェント28)は、サーバ21
が(アダプタ25によりネットワーク20に接続された)記憶装置にアクセスすべきであ
るとの判断に応答して、アダプタ25の特定のインタフェース(すなわち、この例では、
インタフェース30)を通る経路を介して、アダプタエージェント(この例では、図2の
アダプタ25のアダプタエージェント38)に、計画した付加的帯域幅使用通知を送る。
これに応じて、アダプタエージェント38は時間とともに、通知に示された計画した付加
的帯域幅使用値を縮小(すなわち、「エージング」)し、受信したすべてのエージングし
た計画した付加的帯域幅使用値の更新された(エージングした)合計をインタフェース3
0のために維持する(そして、現在の過負荷状態及び利用可能な帯域幅の表示を生成する
ためにこのエージングした合計を使用する)。新たなトラフィックは、実際にはインタフ
ェース30を通るルートとなり、このような新たな実際のトラフィックは、アダプタエー
ジェント38により計測されるインタフェースごとのトラフィックの計測に含まれる(そ
して、各アダプタインタフェースへの現在の過負荷状態及び利用可能な帯域幅の表示を生
成するために用いられる)。サーバエージェント28は、(各アダプタエージェントから
)このような各アダプタエージェントが組み込まれサーバにより用いられる記憶装置への
経路の一部となっている、アダプタの各インタフェースへの現在の過負荷状態及び利用可
能な帯域幅を示す報告を要求し、それを受けた問い合わせを受けた各アダプタエージェン
トは、サーバエージェント28に要求された報告を独立に送信する。サーバエージェント
28は、この報告、エージェント28自身が自らのサーバインタフェースのために生成し
たトラフィックの統計的特性を用い、サーバ21が(ごく最近アサートされた計画した付
加的帯域幅使用により推定された)現在の経路を介して記憶装置にアクセスできるか、又
は、サーバ21により記憶装置にアクセスするための他の経路を(現在の経路に置き換え
るために)選択するべきかを判断する。サーバ21により記憶装置にアクセスするために
サーバエージェント28が新たな経路を選択した場合は、サーバエージェント28は、新
たに選択された経路と関連付けられたアダプタエージェントに、(新たに選択された経路
と接続されることになる)サーバインタフェースが特定の帯域幅を有する記憶データトラ
フィックにアダプタの特定のインタフェースにアサートするよう計画していることを通知
し、そして、サーバエージェント28は、サーバ21に、サーバ21と対応する記憶装置
との間の経路を新たに選択された経路に変更させる。このようにして、システムは、サー
バにより記憶装置にアクセスする最適な経路を選択する分散型方法を(個々のアダプタエ
ージェントからサーバのサーバエージェントまでの独立に生成した通知の独立したアサー
ションにより)動作させる。
ーバエージェント(例えば、図1のエージェント6及び12の各々、又は図2のエージェ
ント28)は、アダプタインタフェーストラフィック又はアダプタの能力により生じるも
の以外のネットワークの隘路周辺の記憶トラフィックを検出し経路変更するよう構成され
る。このような隘路の例として、サーバと、再均衡化機構に加わっていない他のサーバと
の間の一般的なデータ通信トラフィックにより生じるネットワーク隘路が挙げられる。
ンタフェースにより実行される、図1の要素1、3、5、7、9、及び11)は、イーサ
ネットネットワークであるコンバージドネットワーク(例えば、図1のネットワーク20
)に接続され、サーバ及びアダプタは、iSCSI(インターネット・スモール・コンピ
ュータ・システム・インタフェース)ネットワーキングプロトコルに従い、ネットワーク
を通して通信するよう構成される。この実施形態の形では、サーバエージェント及びアダ
プタエージェント(例えば、図1のエージェント6、12、14、16、18、及びand
22)は、簡単なやり方(多くの一般的なアプリケーションよりはるかに簡単なやり方)
で、iSCSIネットワークプロトコルを用い、それにより、サーバ(例えば、サーバ1
又は3)と任意のアダプタ(例えば、アダプタ5、7、9、又は11)との間の通信を可
能にするが、各サーバと(記憶装置への)各アダプタとの間の通信経路は同時にただ1つ
だけとなる。この実施形態の形では、サーバエージェントは、通常の複数経路I/O(「
MPIO」)技術(又は新たな、通常のMPIO技術を簡単化したもの)を、本発明によ
る記憶データトラフィック均衡化を達成するために用いる。「MPIOライクサブシステ
ム」との語句は、ここでは、通常のMPIOを実行する(例えば、サーバの)処理サブシ
ステム、又は、通常のMPIOを簡単化したものを実行する処理サブシステムを意味する
。
された1つを介してiSCSIに従いデータ入出力を管理する、MPIOライクサブシス
テム(例えば、カーネル中のMPIOドライバ)を含む。サーバのサーバエージェントは
、サーバエージェントにより選択されているサーバのインタフェースのうちの1つを通し
てのみサーバによる記憶装置へのアクセスを認める、記憶装置アクセス「方針」を設定す
ることによる場合も含んで、MPIOライクサブシステムとのやり取りを行う。このよう
な方針は、付加均衡を行わず、その代わりネットワークアクセスに単一の動作中の経路を
用いる従来のMPIO「フェイルオーバーオンリー」方針(他の使用の可能性がある経路
は、単一の動作中の経路が故障した場合のみ用いる単なる予備経路となる)と類似してい
る。しかしながら、この記憶装置アクセス方針は、新しい方法で記憶データトラフィック
均衡化を行うために、本発明による創作性のあるサーバエージェントにより用いられる。
サーバのサーバエージェントが、新たに選択されたこのサーバのインタフェースを介して
サーバにより記憶装置にアクセスするために、(一般にアダプタエージェントからの要求
された通知を受信するステップを含む、本発明に係る方法の実施形態により)新たな経路
を選択したとき、このサーバエージェントは、サーバエージェントにより選択されていた
サーバのインタフェースのうちの新たな1つを介してのみ、サーバにより記憶装置にアク
セスすることを可能にする新たな記憶装置アクセス「方針」をMPIOライクサブシステ
ムに特定させることで、サーバに、(記憶装置からの又は記憶装置への)記憶データトラ
フィックの経路指定を新たに選択された経路に変更させる。サーバエージェントもまた、
この新たな記憶装置アクセス経路を、サーバエージェントにより選択された適切なアダプ
タインタフェースにまで広げさせる。
ク上の記憶データトラフィックを均衡させるためにMPIOライクサブシステムが(本発
明に係るサーバエージェントにより)用いられる。
均衡化は、コンバージドネットワーク上ではうまく働かなかった。例えば、ネットワーク
に接続されたサーバの複数のイーサネットポートと、ネットワークに接続されたアダプタ
の複数のイーサネットポートとの間の記憶データトラフィックを均衡させるために、(イ
ーサネットネットワークとして組み込まれた)コンバージドネットワーク中のMPIOを
用いるための試みがなされ、ここでアダプタもまたサーバによりアクセスされるディスク
ドライブサブシステム(すなわち、JBOD)に接続された複数の「バックエンド」SA
Sポートを有すると考える。この例では、従来の全てのMPIO負荷均衡化「方針」(ラ
ウンドロビン方式で全ての可能なイーサネットインタフェースに記憶命令を送るか、又は
、各リンクでどれだけの作業が未実施かの指標を決定し、「最も忙しくない」イーサネッ
トインタフェースに命令を送る)は、一般に一連のディスクアクセス命令を実行するため
に必要なシークの数が増大する。なぜなら、これらはしばしば、次々と一連の命令にサー
バからディスクドライブまでの異なる経路をとる(しばしば、命令の順序が狂った状態で
ディスクドライブに到着する)ことを引き起こすからであり、したがって、急速なそして
変更が好ましいかどうかにかかわらないネットワークを通る記憶データ経路の変更の結果
として先に説明した過剰なシークが行われるという問題を引き起こすからである。それに
ひきかえ、本発明の一般的な実施形態(上述したような、コンバージドネットワーク上の
記憶データトラフィックの均衡化を行うためにサーバのMPIOライクサブシステムを用
いる本発明に係るサーバエージェントの実施形態を含む)では、一般に、必要な時のみ、
そして一般に非常にまれに(例えば、1時間に1回、2回、又は数回)、いずれかのディ
スクドライブにアクセスするための記憶データ経路を変更するので、過剰シークの問題を
引き起こすことがない。本発明の一般的な実施形態の重要な利点は、(記憶データトラフ
ィック均衡化を行うために)クロストラフィックを調整する間、コンバージドネットワー
クを介してディスクに命令を順序正しく送ることを維持する点である。
ーバもまた、ユーザインタフェースを実行する。サーバに接続された表示装置を有するよ
うな実施形態におけるサーバの一般的な操作において、ユーザインタフェースにより、サ
ーバエージェントの操作又は状態、及び/又は、受信した通知又はサーバエージェントに
よりなされた決定を、表示装置に表示させる。例えば、以下の形式の表示をすることがで
きる、すなわち、サーバエージェントが監視しているサーバインタフェーストラフィック
及び/又は帯域幅、アダプタエージェントから受け取った(例えば、アダプタインタフェ
ース状態及び利用可能な帯域幅に関する)通知、及び現在の記憶装置アクセス経路は変更
すべき化すべきでないかの判断、である。
の間(サーバ同士の間、アダプタ同士の間、又は、アダプタから2以上のサーバまででは
ない)のそれぞれのデータ経路の端部同士(例えば、図1のサーバ1及びアダプタ5、又
は図2のサーバ21及びアダプタ25)の間のみで生じる均衡化を達成するよう行われた
通信により、完全に分散化された方法で均衡化がおこなわれる。関係者(すなわち、サー
バインタフェース、サーバエージェント、アダプタインタフェース、又はアダプタエージ
ェント)の故障は、その関係者がメンバーとなっている経路にのみ影響を与える。一般に
、サーバエージェントとアダプタエージェントとの間の1対1通信のみが存在する(例え
ば、サーバエージェントはこの通信を2以上のアダプタエージェントと共有しない)。一
方、複数の記憶装置と複数のサーバとの間で記憶データトラフィックの均衡化を行う従来
の方法では、このような分散化は行われなかった。
の各データ経路の端部同士(例えば、図1のサーバ1及びアダプタ5、又は図2のサーバ
21及びアダプタ25)のみである。したがって、サーバとアダプタとの間の接続の数は
、サーバとアダプタとの間の経路に結びついた記憶装置(例えば、ディスクドライブ)の
数で制限される。したがって、数千のサーバ及びアダプタを有する非常に大きなデータセ
ンター内であっても、本発明の一般的な実施形態を実行するのに必要な各サーバ及びアダ
プタでの計算負荷、及びネットワーク負荷は小さい。
い。したがって、関係者(すなわち、サーバインタフェース、サーバエージェント、アダ
プタインタフェース、又はアダプタエージェント)の故障は、すぐに全体的な統計値に反
映され、関係者が(故障前に)使っていたリソースは、自動的に残りの装置により使用す
ることが可能になる。その後故障した装置が回復した場合、本発明の方法の一般的な実施
形態の実行により、トラフィックが過負荷をもたらす場合は、他のサーバは、トラフィッ
クを、回復した装置により使われていた経路から変更する。
ダプタ内に組み込まれた)アダプタエージェントは、一般的に、各通知に表示された計画
した付加的帯域幅使用を時間をかけて減少させる(すなわち、「エージングする」)。こ
のエージングは、一般に、アダプタの各インタフェースのエージングした計画した付加的
帯域幅使用値を比較的急速に(ゼロまで)減少させる。これにより、付加的な観測された
記憶データトラフィックにすぐには反映されない計画した付加的帯域幅使用通知は、直ち
に無視される。
通常は非常に短時間で修正される(すなわち、同じ記憶装置までの新たなデータ経路に置
き換えられる)。
ーバエージェントにより、表示された計画した付加的帯域幅の使用が実際に生じることに
より直接影響を受ける各アダプタのアダプタエージェントに計画した付加的帯域幅の使用
通知を送ること)により、多くのサーバがほぼ同時刻に同じ決定をすることを防止する。
つまり、これまでのデータのみに基づいてほぼ同時に経路決定を行うことにより生じる可
能性がある振動を実質的に防止する。さもなければ、軽負荷状態となっている1つのイン
タフェースを指し示す統計値を全てのサーバが見る場合があり、そして全てのサーバがそ
のインタフェースへと経路変更し、深刻な過負荷状態が生じる可能性がある。
を新たに選択された経路に変更させた後、サーバエージェントの最新の動作の結果が監視
している統計値に反映されるように、ランダムに決定された時間間隔で待機した後、サー
バエージェントが記憶装置への経路の再評価を開始する、実施形態において)ランダムサ
イクルを用いることにより、サーバが固定された動作を行うことを防止し、さらに同時に
矛盾した判断を行うことを避ける。
状態)となり、記憶トラフィックの経路変更の機会がない場合、一般的な実施形態におい
て、全てのサーバ及びアダプタは、サーバとアダプタとの間の所定の「好ましい」データ
経路に戻る。このことは、無用な経路変更の試みは行わないことを意味する。加えて、全
てのデータトラフィックを静的に均衡させるような方法で好ましいデータ経路を選択した
とすると、それらの経路は、負荷がいっぱいの状態のネットワークにおいて最適な構成を
形成する。
システム10、又は、図2のサーバ21のサブシステム26により実行されるアプリケー
ション)は、本発明の一般的な実施形態の利点を獲得するため変更する必要がある。通常
は、サーバエージェント及びアダプタエージェントの各々は、アプリケーションから見え
ないような方法で動作し、関係するインタフェースのいずれかを使用するどのようなプロ
グラム及び装置も、(データ通信操作のみを行うプログラム及び装置も含めて)記憶デー
タ負荷均衡化の利益をうける。
ログラムされた、又はその他で構成されたアダプタ(例えば、図1のアダプタ5、7、9
、及び11のいずれか、又は、図2のアダプタ25、27、29、及び31のいずれか)
、このようなアダプタと一体化したディスクドライブ(又は他の記憶装置)(例えば、図
1に示したような単一の装置100としてのアダプタ9(及びアダプタ11)と一体化し
た、ディスクドライブとしての記憶サブシステム15の実施形態)、そのようなアダプタ
と一体化したJBOD(又は他の記憶システム)(例えば、図2に示したような単一の装
置101としてのアダプタ29(及びアダプタ31)と一体化した、JBODとしての記
憶サブシステム33の実施形態)、本発明に係るサーバエージェントの実施形態を実行す
るようプログラムされた、又はその他で構成されたサーバ(例えば、図1のサーバ1及び
3のいずれか、又は図2のサーバ21)、本発明に係るサーバエージェントの実施形態の
ハードウェアによる実施形態(例えば、ハードウェアに組み込まれた、図1のエージェン
ト6)、及び、本発明に係るアダプタエージェントの実施形態のハードウェアによる実施
形態(例えば、ハードウェアに組み込まれた、図1のエージェント14)である。
、又は他の装置の実施形態での操作を行う方法である。そのような方法は、
コンバージドネットワークを介して、サーバからアダプタへ要求をアサートするステッ
プであって、前記サーバは、サーバエージェントを含むよう構成され、前記アダプタはア
ダプタエージェントを含むよう構成されていることを特徴とするステップと、
前記要求に応答して前記アダプタエージェントにより前記サーバのサーバインタフェー
スにアサートされた少なくとも1つのアダプタインタフェース過負荷表示を特定するため
にサーバエージェントを採用するステップであって、前記アダプタインタフェース過負荷
表示は、前記アダプタのアダプタインタフェースが過負荷かどうかを表示することを特徴
とするステップと、
前記サーバインタフェースを含む経路であって、その経路を通って前記アダプタを介し
て少なくとも1つの記憶装置に前記サーバがアクセスするように設けられた、経路におい
て、前記アダプタインタフェース過負荷表示を用いる方法で前記経路が過負荷かどうかを
判断するために前記サーバエージェントを採用するステップと、を含む。
の実施形態又は説明された特定の方法に限定されるべきではないことを理解すべきである
。方法を記述する特許請求の範囲は、請求項に明示的に記載されていない限り、特定の順
序のステップを含意するものではない。
Claims (1)
- 少なくとも1つのサーバインタフェースによりコンバージドネットワークに接続された少なくとも1つのサーバ及び少なくとも1つの記憶装置を含むシステムで用いるよう構成されたアダプタであって、前記サーバはサーバエージェントを含み、前記コンバージドネットワークは記憶データトラフィックと記憶データトラフィックではないトラフィックの両方が通過する単一ネットワークであり、前記アダプタは、
前記記憶装置を前記アダプタに接続させるよう構成された少なくとも1つのポートと、
前記アダプタを前記コンバージドネットワークに接続し、それにより、前記記憶装置が前記少なくとも1つのポートに接続されたとき、前記アダプタを介して前記記憶装置を前記コンバージドネットワークに接続するよう構成された少なくとも1つのアダプタインタフェースと、
アダプタエージェントであって、前記アダプタエージェントは前記コンバージドネットワークに接続されて、
前記アダプタインタフェースの各々が過負荷かどうかを判断し、前記アダプタインタフェースの各々についてアダプタインタフェース過負荷表示を生成し、前記アダプタインタフェースの各々についてアダプタインタフェース過負荷表示は、前記アダプタインタフェースが過負荷かどうかの表示であり、
前記サーバエージェントからの要求に応じて、前記アダプタに、少なくとも1つの前記アダプタインタフェースへ、少なくとも1つの前記アダプタインタフェース過負荷表示を表示するデータをアサートさせる、よう構成されたことを特徴とするアダプタエージェントと、
を含むことを特徴とするアダプタと、
前記少なくとも1つのサーバインタフェースを有する前記少なくとも1つのサーバであって、前記サーバは、前記サーバエージェントを含み、前記サーバインタフェースによりコンバージドネットワークに接続されるように構成されているサーバと、
を含み、
前記サーバエージェントは、前記コンバージドネットワークに接続されて、
前記サーバに、前記アダプタエージェントへ要求をアサートさせ、前記要求に応答して前記アダプタエージェントにより前記サーバに提供された少なくとも1つのアダプタインタフェース過負荷表示を特定させ、
前記サーバインタフェースを含み、前記アダプタを介して前記記憶装置に前記サーバがアクセスする経路について、前記アダプタインタフェース過負荷表示を用いる方法で、前記経路が過負荷か否かを判断するよう構成されている、
ことを特徴とするシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/819,775 | 2015-08-06 | ||
US14/819,775 US9794112B2 (en) | 2015-08-06 | 2015-08-06 | Method and system for balancing storage data traffic in converged networks |
JP2018526481A JP2018530845A (ja) | 2015-08-06 | 2016-07-01 | コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム |
PCT/US2016/040654 WO2017023461A1 (en) | 2015-08-06 | 2016-07-01 | Method and system for balancing storage data traffic in converged networks |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018526481A Division JP2018530845A (ja) | 2015-08-06 | 2016-07-01 | コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022050512A true JP2022050512A (ja) | 2022-03-30 |
Family
ID=57943537
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018526481A Pending JP2018530845A (ja) | 2015-08-06 | 2016-07-01 | コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム |
JP2021215255A Pending JP2022050512A (ja) | 2015-08-06 | 2021-12-28 | コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018526481A Pending JP2018530845A (ja) | 2015-08-06 | 2016-07-01 | コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム |
Country Status (8)
Country | Link |
---|---|
US (2) | US9794112B2 (ja) |
EP (2) | EP3332323B1 (ja) |
JP (2) | JP2018530845A (ja) |
KR (2) | KR20220093388A (ja) |
CN (1) | CN108027749B (ja) |
DE (2) | DE202016009092U1 (ja) |
HK (1) | HK1250539A1 (ja) |
WO (1) | WO2017023461A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11455097B2 (en) * | 2016-01-28 | 2022-09-27 | Weka.IO Ltd. | Resource monitoring in a distributed storage system |
US10749942B2 (en) * | 2016-12-28 | 2020-08-18 | Hitachi, Ltd. | Information processing system and method |
US11436113B2 (en) * | 2018-06-28 | 2022-09-06 | Twitter, Inc. | Method and system for maintaining storage device failure tolerance in a composable infrastructure |
US11126358B2 (en) * | 2018-12-14 | 2021-09-21 | EMC IP Holding Company LLC | Data migration agnostic of pathing software or underlying protocol |
US11169941B2 (en) * | 2020-04-09 | 2021-11-09 | EMC IP Holding Company LLC | Host device with automated connectivity provisioning |
US11509548B1 (en) * | 2021-07-16 | 2022-11-22 | Google Llc | Adaptive exponential moving average filter |
US11665087B2 (en) | 2021-09-15 | 2023-05-30 | International Business Machines Corporation | Transparent service-aware multi-path networking with a feature of multiplexing |
CN115037642B (zh) * | 2022-03-30 | 2023-11-21 | 武汉烽火技术服务有限公司 | 一种识别流量瓶颈的方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006504186A (ja) * | 2002-10-21 | 2006-02-02 | エミュレックス・デザイン・アンド・マニュファクチュアリング・コーポレーション | 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム |
JP2007328611A (ja) * | 2006-06-08 | 2007-12-20 | Hitachi Ltd | ストレージ仮想化システム及び方法 |
JP2008083939A (ja) * | 2006-09-27 | 2008-04-10 | Hitachi Ltd | 計算機システム及び動的ポート割当方法 |
JP2010079626A (ja) * | 2008-09-26 | 2010-04-08 | Hitachi Ltd | 計算機システムの負荷分散方法及びシステム |
JP2013197868A (ja) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | 中継装置、中継装置の制御方法及び中継システム |
US20150095445A1 (en) * | 2013-09-30 | 2015-04-02 | Vmware, Inc. | Dynamic Path Selection Policy for Multipathing in a Virtualized Environment |
JP2015520423A (ja) * | 2012-04-23 | 2015-07-16 | 株式会社日立製作所 | 計算機システム、及び、計算機システムの仮想サーバ移行制御方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438141B1 (en) | 1998-04-20 | 2002-08-20 | Sun Microsystems, Inc. | Method and management of communications over media of finite bandwidth |
US6556541B1 (en) | 1999-01-11 | 2003-04-29 | Hewlett-Packard Development Company, L.P. | MAC address learning and propagation in load balancing switch protocols |
US6868062B1 (en) * | 2000-03-28 | 2005-03-15 | Intel Corporation | Managing data traffic on multiple ports |
US7269185B2 (en) * | 2000-05-22 | 2007-09-11 | Nortel Networks Limited | Management and control of multi-layer networks |
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 |
US20050050187A1 (en) * | 2003-09-03 | 2005-03-03 | International Business Machines Corporation | Method and apparatus for support of bottleneck avoidance in an intelligent adapter |
US7760626B2 (en) * | 2004-03-31 | 2010-07-20 | Intel Corporation | Load balancing and failover |
US7590775B2 (en) | 2004-08-06 | 2009-09-15 | Andrew Joseph Alexander Gildfind | Method for empirically determining a qualified bandwidth of file storage for a shared filed system |
US7876689B2 (en) * | 2005-06-29 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for load balancing network interface adapters based on network information |
US20070156879A1 (en) * | 2006-01-03 | 2007-07-05 | Klein Steven E | Considering remote end point performance to select a remote end point to use to transmit a task |
US8635376B2 (en) | 2006-02-22 | 2014-01-21 | Emulex Design & Manufacturing Corporation | Computer system input/output management |
US7773504B2 (en) * | 2007-11-13 | 2010-08-10 | Intel Corporation | Bandwidth allocation for network packet traffic |
US9430297B2 (en) * | 2008-12-15 | 2016-08-30 | International Business Machines Corporation | Load balancing of adapters on a multi-adapter node |
US8155518B2 (en) * | 2009-03-30 | 2012-04-10 | Lsi Corporation | Dynamic load balancing of fibre channel traffic |
US8977784B2 (en) * | 2010-04-30 | 2015-03-10 | Intel Corporation | Port teaming |
US9124423B2 (en) * | 2010-05-14 | 2015-09-01 | International Business Machines Corporation | Iterative data secret-sharing transformation |
US8521922B2 (en) * | 2011-01-10 | 2013-08-27 | International Business Machines Corporation | Input/output (I/O) path selection based on workload types |
CN102118319B (zh) * | 2011-04-06 | 2013-09-18 | 杭州华三通信技术有限公司 | 流量负载均衡方法和装置 |
CN102347876B (zh) * | 2011-09-30 | 2013-11-13 | 鞠洪尧 | 一种云计算网络多链路聚合控制装置 |
US11474704B2 (en) * | 2012-05-18 | 2022-10-18 | Atto Technology, Inc. | Target path selection for storage controllers |
US9401862B2 (en) * | 2013-02-07 | 2016-07-26 | Dell Products L.P. | Optimized internet small computer system interface path |
US9781041B2 (en) * | 2013-07-24 | 2017-10-03 | Dell Products Lp | Systems and methods for native network interface controller (NIC) teaming load balancing |
CN103716251B (zh) * | 2014-01-14 | 2017-06-27 | 三星电子(中国)研发中心 | 用于内容分发网络的负载均衡方法及设备 |
US10209898B2 (en) * | 2014-04-03 | 2019-02-19 | International Business Machines Corporation | Estimation of performance utilization of a storage device |
-
2015
- 2015-08-06 US US14/819,775 patent/US9794112B2/en active Active
-
2016
- 2016-07-01 DE DE202016009092.6U patent/DE202016009092U1/de not_active Expired - Lifetime
- 2016-07-01 JP JP2018526481A patent/JP2018530845A/ja active Pending
- 2016-07-01 KR KR1020227021136A patent/KR20220093388A/ko not_active Application Discontinuation
- 2016-07-01 KR KR1020187006020A patent/KR102413148B1/ko active IP Right Grant
- 2016-07-01 EP EP16833471.2A patent/EP3332323B1/en active Active
- 2016-07-01 DE DE202016009110.8U patent/DE202016009110U1/de not_active Expired - Lifetime
- 2016-07-01 CN CN201680046345.8A patent/CN108027749B/zh not_active Expired - Fee Related
- 2016-07-01 EP EP21202583.7A patent/EP4068730A1/en not_active Withdrawn
- 2016-07-01 WO PCT/US2016/040654 patent/WO2017023461A1/en active Application Filing
-
2017
- 2017-09-13 US US15/702,920 patent/US9998322B2/en active Active
-
2018
- 2018-08-01 HK HK18109929.7A patent/HK1250539A1/zh unknown
-
2021
- 2021-12-28 JP JP2021215255A patent/JP2022050512A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006504186A (ja) * | 2002-10-21 | 2006-02-02 | エミュレックス・デザイン・アンド・マニュファクチュアリング・コーポレーション | 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム |
JP2007328611A (ja) * | 2006-06-08 | 2007-12-20 | Hitachi Ltd | ストレージ仮想化システム及び方法 |
JP2008083939A (ja) * | 2006-09-27 | 2008-04-10 | Hitachi Ltd | 計算機システム及び動的ポート割当方法 |
JP2010079626A (ja) * | 2008-09-26 | 2010-04-08 | Hitachi Ltd | 計算機システムの負荷分散方法及びシステム |
JP2013197868A (ja) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | 中継装置、中継装置の制御方法及び中継システム |
JP2015520423A (ja) * | 2012-04-23 | 2015-07-16 | 株式会社日立製作所 | 計算機システム、及び、計算機システムの仮想サーバ移行制御方法 |
US20150095445A1 (en) * | 2013-09-30 | 2015-04-02 | Vmware, Inc. | Dynamic Path Selection Policy for Multipathing in a Virtualized Environment |
Also Published As
Publication number | Publication date |
---|---|
DE202016009092U1 (de) | 2022-06-29 |
KR20180037992A (ko) | 2018-04-13 |
WO2017023461A1 (en) | 2017-02-09 |
EP3332323A1 (en) | 2018-06-13 |
US20180006874A1 (en) | 2018-01-04 |
EP3332323B1 (en) | 2021-12-01 |
US20170041182A1 (en) | 2017-02-09 |
EP4068730A1 (en) | 2022-10-05 |
KR20220093388A (ko) | 2022-07-05 |
US9794112B2 (en) | 2017-10-17 |
US9998322B2 (en) | 2018-06-12 |
KR102413148B1 (ko) | 2022-06-27 |
EP3332323A4 (en) | 2019-03-06 |
HK1250539A1 (zh) | 2018-12-21 |
JP2018530845A (ja) | 2018-10-18 |
DE202016009110U1 (de) | 2022-06-01 |
CN108027749A (zh) | 2018-05-11 |
CN108027749B (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022050512A (ja) | コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム | |
US10895984B2 (en) | Fabric attached storage | |
JP6199514B2 (ja) | ファブリック分散リソースのスケジューリング | |
EP3117335B1 (en) | Coordinated admission control for network-accessible block storage | |
GB2555324B (en) | Receiving buffer credits by a plurality of channels of one or more host computational devices for transmitting data to a control unit | |
US10250507B2 (en) | Persistent connection rebalancing | |
US10250673B1 (en) | Storage workload management using redirected messages | |
EP2972855A1 (en) | Automatic configuration of external services based upon network activity | |
KR20200080458A (ko) | 클라우드 멀티-클러스터 장치 | |
JP2023539212A (ja) | ストレージレベルの負荷分散 | |
Wang et al. | Swarm-based incast congestion control in datacenters serving web applications | |
Fernando et al. | SDN-based order-aware live migration of virtual machines | |
US11799948B2 (en) | Cloud service datacenter selection based on data sovereignty policies | |
US11474827B1 (en) | Reboot migration between bare-metal servers | |
KR20230129693A (ko) | 트래픽 지역성을 고려한 쿠버네티스 기반 엣지 컴퓨팅 환경에서의 트래픽 분배 방법 및 트래픽 분배 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220127 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220127 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220419 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220916 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221206 |