JP2018530845A - コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム - Google Patents

コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム Download PDF

Info

Publication number
JP2018530845A
JP2018530845A JP2018526481A JP2018526481A JP2018530845A JP 2018530845 A JP2018530845 A JP 2018530845A JP 2018526481 A JP2018526481 A JP 2018526481A JP 2018526481 A JP2018526481 A JP 2018526481A JP 2018530845 A JP2018530845 A JP 2018530845A
Authority
JP
Japan
Prior art keywords
adapter
server
interface
agent
bandwidth
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
Application number
JP2018526481A
Other languages
English (en)
Other versions
JP2018530845A5 (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 JP2018530845A publication Critical patent/JP2018530845A/ja
Publication of JP2018530845A5 publication Critical patent/JP2018530845A5/ja
Priority to JP2021215255A priority Critical patent/JP2022050512A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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/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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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

本発明は、ネットワークに接続された計算装置がアダプタを介してネットワークに接続された記憶装置にアクセスする方法及びシステム、並びにこのような方法及びシステムを実行するための装置に関する。いくつかの実施形態では、本発明は、ネットワークに接続された計算装置(サーバ)が、アダプタによりネットワークに接続された記憶装置にアクセスするようなシステムにおいて記憶データトラフィックを(例えば、最適化により)均衡化することに関する。
これまで、データセンターは一般に、まったく別の2つのインフラ基盤、すなわち、(一般にイーサネット(登録商標)を基にした)データ通信、及び、記憶装置アクセスのための別の「記憶」ネットワークにより実施していた。一般的な記憶ネットワークは、従来のファイバーチャネルプロトコルにより実施していた。「データ通信ネットワーク」及び「データネットワーク」の表現は、記憶ネットワークは本来「記憶データ」トラフィック(ここで、「記憶データ」は、少なくとも1つの記憶装置から取り出すかまたはこの記憶装置に保存するデータを意味する)を支えるための構造でありそのために採用されている点、及び、データネットワークは他のデータトラフィック(すなわち、記憶データではないデータ)を支えるための構造でありそのために採用されている点で、「記憶ネットワーク」のクラスから区別されるクラスでのネットワークを意味する類義語として用いられる。
しかしながら、(例えば、データネットワークと記憶ネットワークを別にした)複数ネットワークタイプの実施は、データセンターを稼働させるための資本コスト及び運転コストを増大させるので好ましくない。
最近、多くのデータセンターは、記憶データトラフィック及び他の(記憶データトラフィックではない)トラフィックの両方を通過する単一ネットワークの使用について調査を始めている(使用を開始しているデータセンターもある)。そのような単一ネットワークをここでは、「コンバージドネットワーク」と称することとする。コンバージドネットワークの一例は、ネットワークに接続されたサーバと、ネットワークに接続された記憶装置との間ですべてのトラフィックが送信されるイーサネットベースのネットワークである。残念ながら、コンバージドネットワークを介して送信される2つのタイプのネットワークトラフィック(記憶データトラフィックと他のデータトラフィック)は異なる特性を有する。
データネットワーク(例えば、インターネットプロトコルと同時にイーサネットを実装するようなネットワーク)は、記憶データトラフィック以外のトラフィックを通信するために、管理しないネットワーク又は最低限の管理しかしないネットワークとして実装することができる(これが通常である)。これにより、データネットワークにコンピュータや他のハードウェアを追加したり取り除いたりすることが簡単になる。例えば、DHCPプロトコルにより、一般に、データネットワーク上で動作させるのに必要な情報のすべてを新しい装置に(人的介入なしに)提供することができる。
しかしながら、ネットワークループは、データネットワークに深刻な問題(すなわち、確実に失われるパケットの転送を続ける)を生じさせることがある。このため、データネットワークはしばしば、データネットワーク上の2つの装置間での経路を唯一つのみ決定するためのプロトコル(例えば、スパニングツリープロトコル)を導入する。余分なデータ経路がデータネットワーク上に明示的に設定されることはめったにない。さらに、データネットワーク上のトラフィックは比較的予測不可能であり、アプリケーションは、通常、どのような帯域幅がデータネットワーク上で利用可能であっても許容できるよう記述される。
一方、記憶ネットワークは通常管理されているネットワークである。ネットワーク管理者は、どのコンピュータが記憶ネットワーク上のどの記憶装置と通信することができるかを手動で割りつける(すなわち、通常、自己構成機能を持たない)。(データネットワークとは別に隔離されている記憶ネットワークにおいて)現段階ではネットワーク接続を条件が変わったときでも対応可能にするような進歩は、ほとんどない。さらに、低レベルのデータ記憶装置に一般に必要とされる高レベルの利用可能性及び障害に対する耐性を提供するために、(記憶ネットワークに接続された)記憶装置とコンピュータとの間に、完全な余分な経路を作る。
記憶ネットワーク(及び記憶データトラフィック)とデータネットワーク(及び記憶データトラフィック以外のトラフィック)との間に差異があるため、コンバージドネットワーク中で記憶データトラフィックと他のトラフィックとを統合すると、ネットワークの利用に不均衡が生じる可能性があり、これによりデータセンター中のアプリケーションの全体的な性能を損なうことがある。本願発明の一般的な実施形態では、コンバージドネットワークの利用におけるそのような不均衡に対処し、例えば、データセンターのアプリケーションが最大の性能を発揮できるようにすることを目標とする。
以下の定義は、特許請求の範囲を含む、この明細書全体に適用される。
「記憶装置」は、データを記憶させ、取り出すよう構成された装置を意味する(例えば、ディスクドライブ)。一般に、論理ブロックアドレス(LBA)及び複数のブロックを用いて記憶装置にアクセスする。論理ブロックは、一定の固定サイズの記憶容量(例えば、512バイト又は4096バイト)の総体的な塊である。伝統的な回転式のディスクドライブはこの「記憶装置」の例である。
「サーバ」は、データ(例えば、ファイル及び/又はアプリケーション)を記憶させ、取り出すためにネットワーク(コンバージドネットワーク)を介して記憶装置にアクセスしこれを使用するよう構成された計算装置を意味する。
「アダプタ」は、記憶装置、又は2以上の記憶装置からなる記憶システム(例えば、JBOD)をネットワーク(例えば、コンバージドネットワーク)に接続するよう構成された装置を意味する。本発明の一般的な実施形態において、各記憶装置は、記憶装置に記憶されたデータへのアクセスが故障に対する耐性を有するようにするために、通常は2以上のアダプタを介してサーバにアクセス可能となっている。
「インタフェース」は、装置(サーバ又はアダプタ)をネットワーク(例えば、コンバージドネットワーク)に接続させるためのサーバ又はアダプタの構成要素を意味する。インタフェースの例として物理的装置(すなわち、ネットワークインタフェースコントローラ(NIC))、及び、ソフトウェア的に定義される(リンク集合体に関して)複数のNICのラッパーがあげられる。本発明の一般的な実施形態において、インタフェースは、コンバージドネットワーク中にインターネットプロトコル(IP)アドレスを有するハードウェア又はソフトウェア要素である。
「エージェント」は、ネットワーク(例えば、コンバージドネットワーク)上の記憶データトラフィックの交換(又は交換の準備)をするためサーバ(又はアダプタ)が動作している間、サーバ(又はアダプタ)上で実行するよう構成された、サーバ(又はアダプタ)のソフトウェア又はハードウェア構成要素又はサブシステムを意味する。本発明のいくつかの実施形態では、コンバージドネットワーク上のすべてのサーバ及びアダプタがエージェントを有するわけではない。しかしながら、関係のないサーバ及び/又はアダプタ(エージェントなしのサーバ及び/又はアダプタ)のネットワークへの接続により、(本発明の実施形態により)達成することのできる、均衡の程度を制限する可能性がある。
「データ経路」は、アダプタ及びサーバの各々にある1つのインタフェースを用いて、アダプタを介して記憶装置とサーバとの間でデータが送信される経路を意味する(すなわち、アダプタインタフェースを通り、そしてサーバインタフェースを通る、記憶装置からサーバへの経路、又は、サーバインタフェース、そしてアダプタインタフェースを通る、サーバから記憶装置への経路)。IPネットワークにおいて、データ経路は一般に、サーバのインタフェースのIPアドレスとアダプタのインタフェースのIPアドレスとの組み合わせにより表示され、或いは、アダプタで用いられるポート番号でも表示される。しかしながら、リンクの集合体の場合において、すべての経路は、1つのIPアドレスに割り当てられたインタフェースのグループ内の経路に用いられる実際のインタフェースに依存することになる。
2以上の記憶装置からなる記憶システム(例えば、JBOD)が1つのアダプタに接続され、アダプタ及びサーバの両方がコンバージドネットワークに接続されているとき、我々は、サーバは(記憶システムの記憶装置にアクセスするために)、記憶システムの具体的な記憶装置(例えば、JBODの1つのディスクドライブ)及びサーバと記憶装置とのデータ経路を一般的に特定する(すなわち、使用するよう構成されている)ことを想定する。本願発明の一般的な実施形態によれば、データ経路は、ネットワーク上の記憶データトラフィックの均衡をとるために時々変更されることがある。本願発明のいくつかの実施形態によれば、(サーバと記憶システムとの間の)データ経路は、ネットワーク上の記憶データトラフィックを均衡させるために時々変更されることがある(また、サーバにアクセスされる記憶システムの特定の装置のアダプタによる選択は、時々変更されることがあるが、このような変更は、必ずしも本発明により決定されるものではない)。
一般に、記憶データトラフィックがコンバージドネットワーク上で他のデータトラフィックと統合されたとき、異なるタイプのトラフィックの特性が交りあうことになり、結果としてネットワークの全体的な帯域幅の非効率的な使用となり、データ通信トラフィック及び/又は記憶トラフィックの能力の制限となる。
例えば、最近のサーバコンピュータが2以上の1Gbps又は10Gbpsネットワークインタフェースを有することは普通である(ここで、サーバがコンバージドネットワークに接続されることを表す意味において「インタフェース」の語を使う)。多くのこのようなサーバは、膨大な量のデータに絡んだ問題を解決するために、多数のサーバを同時に働かせることのできるソフトウェアパッケージ(例えば、Hadoopオープンソースソフトウェアパッケージ)を実行する。しかしながら、そのようなソフトウェア(例えば、Hadoop)は、一般に、各サーバが一意的な名前とアドレスを有することを要求する。したがって、ソフトウェア(例えば、Hadoop)を実行するサーバ間のデータ通信トラフィックは、一般に、各サーバで利用可能な2つ(又はそれ以上の)のネットワーク接続のうちの1つのみを用いる。
一方、記憶データトラフィックは、通常、どれかの構成要素が故障した場合でも作動可能にするため、サーバとディスクドライブとの間に通常余分な経路を有するよう構成される。このような余分な経路を、データ通信トラフィック(非記憶型トラフィック)によりネットワークインタフェースが多忙となるのを回避するために、記憶データトラフィック(例えば、ネットワークインタフェース間に広がった記憶データトラフィック)の経路を変更するのに用いることができる。しかしながら、この変更を実施する標準的な機構(例えば、多経路I/O又は「MPIO」方法)では、コンバージドネットワーク上の記憶データトラフィックのパフォーマンスに厳しく不利な条件を作り出す。具体的には、通常の記憶データ負荷分散機構は、ラウンドロビン方式ですべての利用可能なインタフェースに記憶命令を送信すること、又は(例えば、未処理命令の数、又は未処理バイトの数、又は他の方法で)各リンクでどれだけの作業が未処理になっているかの測定をおこない、「最も忙しくない」インタフェースに命令を送信することに基づく。これらの機構がサーバとディスクドライブとの間の記憶データトラフィックにおいて性能発揮に大きな不利益をもたらす理由は、最大性能を得るために、ディスクドライブで実行される命令は、ディスク上の連続的な位置に送られなければならないからである。命令が連続的な位置に送られない場合は、新しい位置にディスクドライブのリード/ライトヘッドを動かすために「シーク」操作が必要となる。そのようなシーク操作の各々は、全体的な性能を約1%以上下げている。従来の分散機構(ラウンドロビン又は「最も忙しくない」分散機構)は、しばしば次々と連続した命令がサーバからディスクドライブへの異なる経路を取るようにするので、ディスクにアクセスする一連の命令を実行するために必要なシークの数を増大させる。異なる経路とすることは、(各経路で他の操作を行うため)異なる処理時間と待ち時間を有することになり、ある順序で出された命令がしばしば異なる順序で実行されることになる。順序変更により、シークが必要となり、それにより全体的なデータ移送能力が減少する。これらの従来の分散機構は、Hadoop記憶操作に適用する場合、記憶データトラフィックの全体的性能をおよそ75%減少させる現象がみられる(すなわち、伝達することのできる記憶データの量が、ラウンドロビン又は最も忙しくない機構を用いないことが可能な場合の量の約25%となる)。
「リンクアグリゲーション」として知られる従来の他の技術には、第1の装置をネットワークに接続するのに利用可能な複数のインタフェースを有する第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つのアダプタインタフェース過負荷表示を特定させ、
前記サーバインタフェースを含む経路であり、前記アダプタを介して前記記憶装置に前記サーバがアクセスする経路について、前記アダプタインタフェース過負荷表示を用いる方法で、前記経路が過負荷か否かを判断するよう構成される。
いくつかの実施形態では、前記サーバエージェントは、接続され、
次の使用のために前記記憶装置への新たな経路を選択すべきか否かを判断すること、及び、
新たな経路が選択すべきとの判断により、前記サーバに前記サーバと前記記憶装置の間の記憶データトラフィックの経路を変更させること、
を含むステップにより前記経路が過負荷であることの判断に応じるよう構成される。好ましくは、前記サーバエージェントは、接続され、前記サーバに、前記サーバと前記記憶装置の間の記憶データトラフィックの経路を新たな経路に変更させた後、新たな経路への変化の影響が前記アダプタエージェントの各アダプタインタフェースのトラフィックの前記各アダプタエージェントにより継続中の監視の結果に反映されるようになるまで十分な時間間隔だけ待機し、そして、待機した後、前記新たな経路以外の少なくとも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(又は、その他の記憶装置システム)、(本発明に係るサーバエージェントの実施形態を実行するようプログラム又は構成された)サーバ、本発明に係るサーバエージェントの実施形態のハードウェアによる実施形態、及び、本発明に係るアダプタエージェントの実施形態のハードウェアによる実施形態である。
本発明の他の形態は、本発明に係るシステム、アダプタ、記憶装置、JBOD、サーバ、その他の装置の実施形態の操作において遂行する方法である。
本発明に係るシステムの実施形態のブロック図である。 本発明に係るシステムの他の実施形態のブロック図である。
実施形態の分野において、本発明は、少なくとも1つのサーバインタフェースによりコンバージドネットワークに接続された少なくとも1つのサーバと、少なくとも2つのアダプタにより前記ネットワークに接続された少なくとも1つの記憶装置とを含むシステムである。
このようなシステムの一例を図1を参照して記述する。図1のシステムにおいて、サーバ1及び3(及び随意的に他のサーバも)、及びアダプタ5、7、9、及び11(及び随意的に他のアダプタも)の各々はコンバージドネットワーク20に接続されている。記憶サブシステム13は、アダプタ5及び7の各々により、ネットワーク20に接続されている。記憶サブシステム15は、アダプタ9及び11の各々により、ネットワーク20に接続されている。記憶サブシステム13及び15の各々は、ディスクドライブ又は記憶装置、或いは、複数の記憶装置からなる記憶サブシステム(例えば、JBOD)とすることができる。
サーバ1は、(サーバ1をネットワーク20に接続するよう構成された)インタフェース2を含み、また、サーバ1は、アプリケーションサブシステム4を含むよう構成されている(例えば、アプリケーションサブシステム4を実行するソフトウェアでプログラムされている)。サーバ1もまた、サーバエージェントサブシステム6を含むよう構成されている(例えば、サーバエージェントサブシステム6を実行するソフトウェアでプログラムされている)。サーバ3は(サーバ3をネットワーク20に接続するよう構成された)インタフェース8を含み、また、アプリケーションサブシステム10を含むよう構成されている(例えば、アプリケーションサブシステム10を実行するソフトウェアでプログラムされている)。サーバ3もまた、サーバエージェントサブシステム12を含むよう構成されている(例えば、サーバエージェントサブシステム12を実行するソフトウェアでプログラムされている)。
いくつかの実施形態では、インタフェース2及び8の各々は、物理的装置(即ち、ネットワークインタフェースコントローラ(「NIC」))として実施されている。他の実施形態では、インタフェース2及び8の各々は、ソフトウェアで定義される複数のNICのラッパーとして実施されている。本発明の一般的な実施形態において、インタフェース2及び8の各々は、自分自身のインターネットプロトコル(IP)アドレスを有するハードウェア又はソフトウェア要素となる。
アダプタ5は、アダプタエージェントサブシステム14を含むよう構成されている(例えば、アダプタエージェントサブシステム14を実行するソフトウェアでプログラムされている)。アダプタ7は、アダプタエージェントサブシステム16を含むよう構成されている(例えば、アダプタエージェントサブシステム16を実行するソフトウェアでプログラムされている)。アダプタ9は、アダプタエージェントサブシステム18を含むよう構成されている(例えば、アダプタエージェントサブシステム18を実行するソフトウェアでプログラムされている)。アダプタ11は、アダプタエージェントサブシステム22を含むよう構成されている(例えば、アダプタエージェントサブシステム22を実行するソフトウェアでプログラムされている)。
例示的実施形態において、ネットワーク20はイーサネットネットワークであり、要素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と通信するよう構成されている。
アダプタ7は、ネットワーク20を介してサーバ1又は3と通信するためのiSCSIインタフェースを含む。本発明に基づくアダプタエージェント16とサーバエージェント6及び12との間の通信は、このiSCSIインタフェースにより実行される。アダプタ7もまた、サーバ1(又は3)とサブシステム13との間の記憶データトラフィックを実行するために、SASプロトコルに基づき記憶サブシステム13と通信するよう構成されている。
アダプタ9は、ネットワーク20を介してサーバ1又は3と通信するためのiSCSIインタフェースを含む。本発明に基づくアダプタエージェント18とサーバエージェント6及び12との間の通信は、このiSCSIインタフェースにより実行される。アダプタ9もまた、サーバ1(又は3)とサブシステム15との間の記憶データトラフィックを実行するために、SASプロトコルに基づき記憶サブシステム15と通信するよう構成されている。
アダプタ11は、ネットワーク20を介してサーバ1又は3と通信するためのiSCSIインタフェースを含む。本発明に基づくアダプタエージェント22とサーバエージェント6及び12との間の通信は、このiSCSIインタフェースにより実行される。アダプタ11もまた、サーバ1(又は3)とサブシステム15との間の記憶データトラフィックを実行するために、SASプロトコルに基づき記憶サブシステム15と通信するよう構成されている。
サーバ1のアプリケーションサブシステム4は、ネットワーク20に接続された記憶装置(例えば、サブシステム13又は15中の記憶装置)へのアクセスを開始するように構成されている。サーバ3のアプリケーションサブシステム10は、ネットワーク20に接続された記憶装置(例えば、サブシステム13又は15中の記憶装置)へのアクセスを開始するように構成されている。標準的な操作において、1つの要素(例えば、管理処理又は割り当て処理)は、サーバ1と、このサーバがアクセスし、記憶装置へ又は記憶装置からのデータの転送をおこなうことのできる各記憶装置との間で使うことのできるすべてのデータ経路を、アプリケーションサブシステム4及びエージェント6に通知しており、アプリケーションサブシステム4及びエージェント6には、サーバ1と記憶装置との間の(サーバ1からアクセスすることのできる各記憶装置への)好ましいデータ経路(例えば、ネットワークの静的解析に基づき、又は決定論的方法で決定された(例えば、最少IPアドレスを有するアダプタインタフェースへの経路))が通知されている。同様に、標準的な操作において、1つの要素(例えば、管理処理又は割り当て処理)は、サーバ3と、このサーバがアクセスし、記憶装置へ又は記憶装置からのデータの転送をおこなうことのできる各記憶装置との間で使うことのできるすべてのデータ経路を、アプリケーションサブシステム10及びエージェント12に通知しており、アプリケーションサブシステム10及びエージェント12には、サーバ3と記憶装置との間の(サーバ3からアクセスすることのできる各記憶装置への)好ましいデータ経路が通知されている。
一般的な実施形態において、アダプタエージェントサブシステム14、16、18、及び22(ここでは、アダプタエージェント、又はエージェントとも称す)の各々、及び、サーバエージェントサブシステム6及び12(ここでは、サーバエージェント、又はエージェントとも称す)の各々は、本発明に基づき(例えば、以下に記載した方法により)構成され、コンバージドネットワーク20を介して記憶データトラフィック中の不均衡を検出しこの不均衡に応答し、不均衡を減少させるために記憶データトラフィックを変更し、それにより、(データ通信及び記憶トラフィックの両方に対して)全体的なネットワーク性能を向上させる。例えば、一般的な実施形態において、サーバエージェントサブシステム6は、本発明に基づき(例えば、以下に記載した方法により)構成され、ネットワーク20を介してサーバ1と特定の(サブシステム13又は15中の)記憶装置との間の1つのデータ経路から、サーバ1と、同じ特定の記憶装置との間の他のデータ経路へと、記憶データトラフィックを変えることにより、記憶データトラフィック中の不均衡を(適切な環境で)検出しこの不均衡に応答する。
本発明によるシステムの他の実施形態が図2に示される。図2のシステムにおいて、サーバ21(及び随意的に他のサーバ)及びアダプタ25、27、29、及び31(及び随意的に他のアダプタも)は、(図1のネットワーク20と同一としてもよい)コンバージドネットワーク20に接続される。記憶サブシステム23は、アダプタ25及び27の各々によりネットワーク20に接続されている。記憶サブシステム33は、アダプタ29及び31の各々によりネットワーク20に接続されている。記憶サブシステム23及び33の各々は、複数の記憶装置からなる記憶サブシステムである(例えば、各々が複数のディスクドライブからなるJBODである)。
サーバ21は、各々が自分自身のインターネットプロトコル(IP)アドレスを有するネットワークインタフェースコントローラ(NIC)であり、そしてサーバ21をネットワーク20に接続するよう構成された、インタフェース22及び24を含む。サーバ21は、アプリケーションサブシステム26を含むよう(例えば、アプリケーションサブシステム26を実行するソフトウェアでプログラムされるよう)構成され、また、サーバエージェントサブシステム28を含むよう(例えば、サーバエージェントサブシステム28を実行するソフトウェアでプログラムされるよう)構成される。
アダプタ25は、各々が自分自身のインターネットプロトコル(IP)アドレスを有するネットワークインタフェースコントローラ(NIC)であり、そしてアダプタ25をネットワーク20に接続するよう構成された、インタフェース30及び32を含み、アダプタ25は、アダプタエージェントサブシステム38を含むよう(例えば、アダプタエージェントサブシステム38を実行するソフトウェアでプログラムされるよう)構成される。アダプタ25もまた、各々が記憶サブシステム23に接続されたポート34及び36を含み、(サブシステム23内の)記憶装置を、ポート34又は36のいずれか、及びインタフェース30又は32のいずれか、を介して、ネットワーク20に接続するよう構成される。
アダプタ27は、各々が自分自身のインターネットプロトコル(IP)アドレスを有するネットワークインタフェースコントローラ(NIC)であり、そしてアダプタ27をネットワーク20に接続するよう構成された、インタフェース40及び42を含み、アダプタ27は、アダプタエージェントサブシステム48を含むよう(例えば、アダプタエージェントサブシステム48を実行するソフトウェアでプログラムされるよう)構成される。アダプタ27もまた、各々が記憶サブシステム23に接続されたポート44及び46を含み、(サブシステム23内の)記憶装置を、ポート44又は46のいずれかと及びインタフェース40又は42のいずれかとを介して、ネットワーク20に接続するよう構成される。
アダプタ29は、各々が自分自身のインターネットプロトコル(IP)アドレスを有するネットワークインタフェースコントローラ(NIC)であり、そしてアダプタ29をネットワーク20に接続するよう構成された、複数のインタフェース(不図示)を含み、アダプタ29は、アダプタエージェントサブシステム50を含むよう(例えば、アダプタエージェントサブシステム50を実行するソフトウェアでプログラムされるよう)構成される。アダプタ29もまた、各々が記憶サブシステム33に接続された複数のポート(不図示)を含み、(サブシステム33内の)記憶装置を、ポートのいずれか1つと及びNICのいずれか1つとを介して、ネットワーク20に接続するよう構成される。
アダプタ31は、各々が自分自身のインターネットプロトコル(IP)アドレスを有するネットワークインタフェースコントローラ(NIC)であり、アダプタ31をネットワーク20に接続するよう構成された、複数のインタフェース(不図示)を含み、アダプタ31は、アダプタエージェントサブシステム52を含むよう(例えば、アダプタエージェントサブシステム52を実行するソフトウェアでプログラムされるよう)構成される。アダプタ31もまた、各々が記憶サブシステム33に接続された複数のポート(不図示)を含み、(サブシステム33内の)記憶装置を、ポートのいずれか1つと及びNICのいずれか1つとを介して、ネットワーク20に接続するよう構成される。
例示的実施形態において、ネットワーク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と通信するよう構成されている。
アダプタ27のインタフェース40及び42の各々は、ネットワーク20を介してサーバ21と通信するためのiSCSIインタフェースである。本発明に基づくアダプタエージェント48とサーバエージェント28との間の通信は、このiSCSIインタフェースにより実行される。アダプタ27もまた、サーバ21とサブシステム23との間の記憶データトラフィックを実行するために、Serial Attached SCSI(「SAS」)プロトコルに基づき、ポート44又は46のいずれかを介して記憶サブシステム23と通信するよう構成されている。
アダプタ29は、ネットワーク20を介してサーバ21と通信するためのiSCSIインタフェースを含む。本発明に基づくアダプタエージェント50とサーバエージェント28との間の通信は、このiSCSIインタフェースにより実行される。アダプタ29もまた、サーバ21とサブシステム33との間の記憶データトラフィックを実行するために、SASプロトコルに基づき、記憶サブシステム33と通信するよう構成されている。
アダプタ31は、ネットワーク20を介してサーバ21と通信するためのiSCSIインタフェースを含む。本発明に基づくアダプタエージェント52とサーバエージェント28との間の通信は、このiSCSIインタフェースにより実行される。アダプタ31もまた、サーバ21とサブシステム33との間の記憶データトラフィックを実行するために、SASプロトコルに基づき、記憶サブシステム33と通信するよう構成されている。
サーバ21のアプリケーションサブシステム26は、ネットワーク20に接続された記憶装置(例えば、サブシステム23又は33中の記憶装置)へのアクセスを開始するように構成されている。標準的な操作において、1つの要素(例えば、管理処理又は割り当て処理)は、サーバ21と、このサーバがアクセスし記憶装置へ又は記憶装置からのデータの転送をおこなうことのできる各記憶装置との間で使うことのできるすべてのデータ経路を、アプリケーションサブシステム26及びエージェント28に通知しており、アプリケーションサブシステム26及びエージェント28には、サーバ21と記憶装置との間の(サーバ21からアクセスすることのできる各記憶装置への)好ましいデータ経路(例えば、ネットワークの静的解析に基づき、又は決定論的方法で決定された(例えば、最少IPアドレスを有するアダプタインタフェースへの経路))が通知されている。
一般的な実施形態において、アダプタエージェントサブシステム38、48、50、及び52(ここでは、アダプタエージェント、又はエージェントとも称す)の各々、及び、サーバエージェントサブシステム26(ここでは、サーバエージェント、又はエージェントとも称す)の各々は、本発明に基づき(例えば、以下に記載した方法により)構成され、コンバージドネットワーク20を介して記憶データトラフィック中の不均衡を検出しこの不均衡に応答し、不均衡を減少させるために記憶データトラフィックを変更し、それにより、(データ通信及び記憶トラフィックの両方に対して)全体的なネットワーク性能を向上させる。例えば、一般的な実施形態において、サーバエージェント26は、本発明に基づき(例えば、以下に記載した方法により)構成され、ネットワーク20を介してサーバ21と特定の(サブシステム23又は33中の)記憶装置との間の1つのデータ経路から、サーバ21と、同じ特定の記憶装置との間の他のデータ経路へと、記憶データトラフィックを変えることにより、記憶データトラフィック中の不均衡を(適切な環境で)検出しこの不均衡に応答する。
各アクセス可能な(一般的に、各々はディスクドライブである)記憶装置へのサーバ21の各イーサネットポート(NIC22又は24)間に少なくとも4つのデータ経路(例えば、インタフェース30、32、40、及び42の各々を通る経路)があり、従って、サーバ21と各アクセス可能な記憶装置との間に少なくとも8つのデータ経路がある。したがって、図2のシステムは、アクセスするための多くの余剰部分を有する記憶装置を示している。
一般的なデータセンター(例えば、図1のシステム又は図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以上のインタフェースを有することもできる。
いくつかの実施形態では、各アダプタエージェント(例えば、図1の各エージェント14、16、18、及び22、又は図2の各エージェント38、48、50、及び52)は、以下の操作のすべて又は一部を行うように構成される。
1.アダプタエージェントは、アダプタの各インタフェースで生じる受信トラフィックと送信トラフィック(例えば、1秒あたりのビット数単位で)監視し、各インタフェースにて消費された少なくとも1つの帯域幅の計測値を生成する。一般的に、各監視サンプルは、比較的短時間(例えば、数秒)で引き継がれ、アダプタエージェントは、受信データサンプルの流れ及び送信データサンプルの流れについて統計的特性を決定し、各インタフェースの消費された帯域幅(使われている帯域幅)の短期計測値と長期計測値とを別々に提供する。最新のNICは全二重(一般的に、アダプタのNICは同時に送信と受信を行うことができる)であり、各インタフェースの受信データ及び送信データについて独立した統計値が一般的に維持される。好ましい実施形態において、数値の指数平滑移動平均を決定するよく知られた方法(すなわち、この場合、固定期間の移動時間窓におけるインタフェースの受信トラフィックの指数平滑移動平均、又は固定期間の移動時間窓におけるインタフェースの送信トラフィックの指数平滑移動平均)を用いて、このような指数平滑移動平均の計算は安価なので、各インタフェースの受信トラフィックの統計的特性、及び各インタフェースの送信トラフィックの統計的特性を決定する。このような指数(重みつき)移動平均を決定する方法の例として、米国特許6,438,141(2002年8月20日発行)に図8を参照して記載されている。好ましい実施形態では、各短期移動平均は、20秒間隔(窓)(又は実質的に20秒に等しい間隔)での算術移動平均に近く、各長期移動平均は、60秒間隔(窓)(又は実質的に60秒に等しい間隔)での算術移動平均に近い。他の窓期間及び計算方法を本発明の他の実施形態に用いることが可能である。
2.アダプタエージェントは、付加的なデータを処理するためのアダプタの能力を計算(例えば、推定)する。好ましい実施形態では、これはアダプタの計算負荷能力である。付加的データの処理は、さらなる計算作業を伴うので、アダプタがその計算能力限度で動いている場合、たとえインタフェースが全部使われていないとしても、付加的記憶データトラフィックを処理することができないことがある。いくつかの実施形態では、アダプタエージェントは、付加的データの処理のためにアダプタの能力をその計算(例えば、推定)に用いることにより、記憶データトラフィックを扱っているアダプタで消費される他のリゾースの残りの能力を組み入れることができる。随意的に、アダプタエージェントもまた、アダプタインタフェースごとに利用可能な付加的帯域幅の限定的な推定量を決定するために(例えば、以下に説明するように、アダプタエージェントがインタフェースのために使用可能としてレポートするような帯域幅を限定するために)アダプタインタフェースごとに利用可能な付加的帯域幅の生の推定量にアダプタエージェントが乗算するための、アダプタでのディレーティング係数を決定することもできる。
3.サーバエージェントがアダプタエージェントに、(サーバエージェントが組み込まれている)サーバが近い将来、将来の付加的帯域幅を(アダプタのインタフェースを含む経路で)使う計画であることを示していた場合、アダプタエージェントは、このような各サーバエージェントがアダプタインタフェースを含む経路をアダプタエージェントに示していた、計画していた付加的な将来の帯域幅の使用の合計を維持する。好ましい実施形態では、(アダプタの)アダプタエージェントは、アダプタを含む経路上の記憶装置(例えば、ディスクドライブ)にサーバがアクセスした場合に限り、サーバからの計画した帯域幅使用通知を受け入れるだけである。サーバエージェントによる計画した将来の帯域幅使用の表示は、予約又は帯域幅の割り当てではなく、アダプタエージェントにより判断された実際の消費された帯域幅の統計値が近い将来変化することを知らせるものである。サーバエージェントによるこのような表示、及びアダプタエージェントにより合計を維持することの目的は、多くの記憶装置へのデータトラフィックが一度に1つのアダプタの1つのインタフェースに向かう可能性を無くすか又は制限することである。アダプタエージェントは、一般的に、計画した付加的帯域幅使用通知の各々を時間をかけて減少(即ち、「エージング」)させ、アダプタの各インタフェースへのエージングさせた計画した付加的帯域幅使用値の最新の(エージングさせた)合計値を維持する。新たなトラフィックはインタフェースを実際に経由するので、このような実際のトラフィックは、アダプタエージェントにより作られたプレインタフェーストラフィック計測値中に含まれる。好ましい実施形態において、アダプタエージェントは、各計画した付加的帯域幅使用通知を、この通知により表示された帯域幅値を半減期20秒(又は、20秒に実質的に等しい半減期)で指数関数的に減少させることで(すなわち、表示された計画した付加的帯域幅使用値の指数関数的減少を実行することで)、エージングさせる。代替的に、他の機構又は値(例えば、指数関数的減少半減期値)を、表示された各計画した付加的帯域幅使用値の好ましいエージングを行うために用いることができる。
4.アダプタエージェントは(エージェントが組み込まれている)アダプタの各インタフェースが過負荷かどうかを判断(計算)しサーバエージェントに、(過負荷となっていると判断されたならば)そのような過負荷の表示を(サーバエージェントからの要求に応じて)報告する。このような過負荷表示は、可能ならインタフェースの使用の停止を試みることができるかをサーバが判断するために用いることができる。サーバは、一般的に、リンクがしばらくの間ほとんど全部使用されていてこれからも使用されるかどうかを判断し、その場合は、リンクが過負荷になるかどうか、そして他の記憶データトラフィックの経路にしたほうがよいかどうかを判断するためにこの表示を用いる。アダプタエージェントは、生の過負荷表示値(過負荷であるとの判断の表示)にフィルターを掛け、判断した過負荷が持続しているかどうかを表示するフィルターを掛けた過負荷値を生成し、(サーバエージェントからの要求に応じて)生の過負荷表示値ではなく、フィルターを掛けた過負荷値を通知することができる。一般的な実施形態では、アダプタエージェントは、過負荷帯域幅レベルとして、インタフェースが全部使われていると考えられる選択された帯域幅を使用するよう構成されている。1つの好ましい実施形態では、過負荷帯域幅レベルは、インタフェースの利用可能な全帯域幅の92.5%に選定され、過負荷計算が連続して少なくとも2回連続して正しいと判断した場合、(フィルターを掛けた過負荷値により)インタフェースは過負荷であると通知される。一般的な実施形態では、過負荷計算は、以下のどちらかが正しい場合、正しいと考えられる。
消費された送信帯域幅の短期及び長期計測値(例えば、短期及び長期の送信帯域幅の平均)が両方とも過負荷帯域幅レベル以上であるか、又は、消費された受信帯域幅の短期及び長期計測値(例えば、短期及び長期の受信帯域幅の平均)が両方とも過負荷帯域幅レベル以上である場合、或いは、
データを処理するアダプタの容量が限界に達していた(又はほぼ限界に達していた)場合。
5.アダプタエージェントは、アダプタインタフェースごとに利用可能な帯域幅(すなわち、サーバによりそのインタフェースへと経路変更することがある新しい記憶装置のデータトラフィックを受け入れるために用いることが可能な付加的帯域幅)の推定量を計算する。この計算は、前記新しい記憶装置の状態又は能力について知る必要がなく、アダプタエージェントにより決定された特別な記憶データトラフィックの推定量を必要とし、そのような特別のトラフィックがインタフェースに向けらていたなら、インタフェースにより取り扱いが可能となる。この利用可能な帯域幅の推定は、一般にインタフェースの利用可能な全帯域幅(例えば、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は、アダプタでのディレーティング係数である。及び/又は、
6.アダプタエージェントは、サーバエージェントからのステータス要求(すなわち、アダプタと同じ記憶データ経路上のサーバのサーバエージェントからのステータス要求)に応答する。一般的に、サーバエージェントへ返された現状報告は、各アダプタインタフェースでの、現在の過負荷状態、及び上述したようなインタフェースの利用可能な帯域幅を含む。
いくつかの実施形態では、各サーバエージェント(例えば、図1のエージェント6及び12の各々、又は図2のエージェント28)は、以下の操作のすべて又は一部を実行するよう構成される。すなわち、
1.アダプタエージェントの一般的な実施形態を行うとき、サーバエージェントは、サーバの各インタフェースに生じる送受信トラフィックを(例えば、1秒あたりのビット数単位で)監視し、上記各インタフェースの消費された帯域幅の少なくとも1つの計測値を生成する。一般的に、各モニタリングサンプルは、一般に、比較的短時間(例えば、数秒)で取り出され、サーバエージェントは、受信データサンプルの流れ及び送信データサンプルの流れの統計的特性を判断し、各インタフェースの消費された帯域幅(使われた帯域幅)の短期計測値と長期計測値とを別々に提供する。最新のNICは全二重(一般的に、サーバのNICは同時に送信と受信を行うことができる)であり、各インタフェースの受信データ及び送信データについて独立した統計値が一般的に維持される。好ましい実施形態において、数値の指数平滑移動平均を決定するよく知られた方法(すなわち、この場合、固定期間の移動時間窓におけるインタフェースの受信トラフィックの指数平滑移動平均、又は固定期間の移動時間窓におけるインタフェースの送信トラフィックの指数平滑移動平均)を用いて、各インタフェースの受信トラフィックの統計的特性、及び各インタフェースの送信トラフィックの統計的特性を(例えば、上述した本発明に係るアダプタエージェントの一般的な実施形態と同じ方法で)決定する。
2.サーバに割りつけられている各記憶装置(例えば、ディスクドライブ)へのアクセス経路について(記憶装置にコンバージドネットワークを介してこの経路でサーバからアクセス可能であるという意味で)、サーバエージェントは、サーバに、経路の他の終端であるアダプタに要求をアサートさせることができ、サーバエージェントはアダプタの帯域幅(消費された帯域幅及び/又は利用可能な帯域幅)及び/又は過負荷情報(すなわち、要求に応じてアダプタのアダプタエージェントにより生成された過負荷及び/又は帯域幅レポート)を取り戻す。多くの場合、同じアダプタがいくつかの記憶装置及び経路に用いられるので、1つの要求に応じて受信したアダプタデータは、しばしば多くの経路で用いられる。
3.(サーバエージェントが組み込まれた)サーバへの各経路で、アダプタを介して記憶装置にアクセスし、サーバエージェントは、その経路が過負荷かどうかそして負荷を削減するかどうか、及び利用可能な(使用していない)帯域幅の経路はどれかを計算する。一般的な実施形態において、サーバエージェントは、(経路に沿って接続された)サーバのインタフェースの利用可能な帯域幅または、(経路に沿って接続された)アダプタのインタフェースの利用可能な帯域幅の最小値として、経路で利用可能な帯域幅を決定する。一般的な実施形態において、サーバエージェントは、サーバのインタフェース又はアダプタのインタフェースのどちらかが過負荷となった場合、経路は過負荷であると判断する(一般に、サーバからの要求に応じてアダプタエージェントにより、サーバにアサートされたリポート中のインタフェース過負荷表示を用いることが含まれる)。
4.少なくとも1つの過負荷経路が(記憶装置にアクセスするためにサーバにより)使用されている場合、サーバエージェントは、一般に各過負荷を評価するために選択処理を導入している。好ましい実施形態において、サーバにより少なくとも2つの過負荷経路が使用されている場合、サーバエージェントは、ランダムな順序でこれらを考慮し、サイクルごとに1つだけ選択する。
過負荷ではなく、他の記憶装置のために利用可能な帯域幅が十分あるもう1つの経路がある場合、サーバエージェントは次の使用のためにそのような他の経路を選択する。2以上のそのような代替的な経路が利用可能な場合、サーバエージェントは、最も大きな利用可能な帯域幅を有する経路を選択する。
そうでなければ、サーバ(及びそのサーバエージェント)がサーバと過負荷となった経路に接続された記憶装置との間の好ましいデータ経路が通知されていて、現在の(過負荷となった)経路が、サーバにより記憶装置にアクセスするようもともと割り当てられていた経路でない場合、(好ましいデータ経路が過負荷であろうとなかろうと)好ましいデータ経路が次の使用のために選択される。一般的に、現在の(過負荷となった)経路の割り当てが変化しない場合(すなわち、現在の経路に代えて他の経路が選択されない場合)、次の過負荷となった経路は、現在の経路についての場合と同様に考慮される。
5.新たな経路割り当てを行った場合(すなわち、サーバエージェントが現在の経路に代わる他の経路を選択した場合)、サーバエージェントは一般に以下の動作を行う。
サーバエージェントは、(新たに選択された経路に沿って接続された)サーバインタフェースが特定の帯域幅(例えば、1つのディスクの将来の負荷にふさわしい帯域幅)を有する記憶データトラフィックをアダプタの特定のインタフェースにアサートすることを、新たに選択された経路と関連付けられたアダプタエージェントに通知する。これは、直ちに統計量に反映され、アダプタのアダプタエージェントにより生成されたことを報じ、そして一般に、2つのサーバがアダプタインタフェースの同じ過剰な帯域幅を使用しようと試みることを(直接)防止する。そして、
サーバエージェントは、サーバに、サーバと対応する記憶装置との間の記憶データトラフィックの経路を新たに選択した経路に変更させる。及び/又は、
6.サーバに、サーバと記憶装置との間の記憶データトラフィックの経路を新たに選択した経路に変更させた後、サーバエージェントは、アダプタエージェントの各アダプタインタフェース上のトラフィックの各アダプタエージェントにより進行中の監視による結果(例えば、監視中の統計値)に、サーバエージェントの最新の動作の帰結を反映させることが出来るように、十分な長さの時間(例えば、所定の又はランダムに選んだ時間)待機する。待機した後、サーバエージェントは、新な経路以外の少なくとも1つの経路を含む、記憶装置まで経路の評価(例えば、再評価)を開始する。好ましい実施形態において、待機する時間は、所定の最小待機時間及び最大待機時間を満たす範囲で、選択された時間間隔(例えば、10秒)の標準変量として選択されたランダム数により決定される。
本発明に係るシステムの実施形態により実行される例示的方法は以下の通りである。サーバエージェント(この例では、図2のサーバ21のエージェント28)は、サーバ21が(アダプタ25によりネットワーク20に接続された)記憶装置にアクセスすべきであるとの判断に応答して、アダプタ25の特定のインタフェース(すなわち、この例では、インタフェース30)を通る経路を介して、アダプタエージェント(この例では、図2のアダプタ25のアダプタエージェント38)に、計画した付加的帯域幅使用通知を送る。これに応じて、アダプタエージェント38は時間とともに、通知に示された計画した付加的帯域幅使用値を縮小(すなわち、「エージング」)し、受信したすべてのエージングした計画した付加的帯域幅使用値の更新された(エージングした)合計をインタフェース30のために維持する(そして、現在の過負荷状態及び利用可能な帯域幅の表示を生成するためにこのエージングした合計を使用する)。新たなトラフィックは、実際にはインタフェース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、及びand22)は、簡単なやり方(多くの一般的なアプリケーションよりはるかに簡単なやり方)で、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は、もともと隔離された記憶ネットワーク上で開発され、従来のMPIO負荷均衡化は、コンバージドネットワーク上ではうまく働かなかった。例えば、ネットワークに接続されたサーバの複数のイーサネットポートと、ネットワークに接続されたアダプタの複数のイーサネットポートとの間の記憶データトラフィックを均衡させるために、(イーサネットネットワークとして組み込まれた)コンバージドネットワーク中のMPIOを用いるための試みがなされ、ここでアダプタもまたサーバによりアクセスされるディスクドライブサブシステム(すなわち、JBOD)に接続された複数の「バックエンド」SASポートを有すると考える。この例では、従来の全てのMPIO負荷均衡化「方針」(ラウンドロビン方式で全ての可能なイーサネットインタフェースに記憶命令を送るか、又は、各リンクでどれだけの作業が未実施かの指標を決定し、「最も忙しくない」イーサネットインタフェースに命令を送る)は、一般に一連のディスクアクセス命令を実行するために必要なシークの数が増大する。なぜなら、これらはしばしば、次々と一連の命令にサーバからディスクドライブまでの異なる経路をとる(しばしば、命令の順序が狂った状態でディスクドライブに到着する)ことを引き起こすからであり、したがって、急速なそして変更が好ましいかどうかにかかわらないネットワークを通る記憶データ経路の変更の結果として先に説明した過剰なシークが行われるという問題を引き起こすからである。それにひきかえ、本発明の一般的な実施形態(上述したような、コンバージドネットワーク上の記憶データトラフィックの均衡化を行うためにサーバのMPIOライクサブシステムを用いる本発明に係るサーバエージェントの実施形態を含む)では、一般に、必要な時のみ、そして一般に非常にまれに(例えば、1時間に1回、2回、又は数回)、いずれかのディスクドライブにアクセスするための記憶データ経路を変更するので、過剰シークの問題を引き起こすことがない。本発明の一般的な実施形態の重要な利点は、(記憶データトラフィック均衡化を行うために)クロストラフィックを調整する間、コンバージドネットワークを介してディスクに命令を順序正しく送ることを維持する点である。
実施形態の他の形において、本発明に係るサーバエージェントの実施形態を実施するサーバもまた、ユーザインタフェースを実行する。サーバに接続された表示装置を有するような実施形態におけるサーバの一般的な操作において、ユーザインタフェースにより、サーバエージェントの操作又は状態、及び/又は、受信した通知又はサーバエージェントによりなされた決定を、表示装置に表示させる。例えば、以下の形式の表示をすることができる、すなわち、サーバエージェントが監視しているサーバインタフェーストラフィック及び/又は帯域幅、アダプタエージェントから受け取った(例えば、アダプタインタフェース状態及び利用可能な帯域幅に関する)通知、及び現在の記憶装置アクセス経路は変更すべき化すべきでないかの判断、である。
本発明の一般的な実施形態の利点及び特徴には以下が含まれる。
1.コンバージドネットワークを通る記憶データトラフィックは、アダプタとサーバとの間(サーバ同士の間、アダプタ同士の間、又は、アダプタから2以上のサーバまでではない)のそれぞれのデータ経路の端部同士(例えば、図1のサーバ1及びアダプタ5、又は図2のサーバ21及びアダプタ25)の間のみで生じる均衡化を達成するよう行われた通信により、完全に分散化された方法で均衡化がおこなわれる。関係者(すなわち、サーバインタフェース、サーバエージェント、アダプタインタフェース、又はアダプタエージェント)の故障は、その関係者がメンバーとなっている経路にのみ影響を与える。一般に、サーバエージェントとアダプタエージェントとの間の1対1通信のみが存在する(例えば、サーバエージェントはこの通信を2以上のアダプタエージェントと共有しない)。一方、複数の記憶装置と複数のサーバとの間で記憶データトラフィックの均衡化を行う従来の方法では、このような分散化は行われなかった。
2.記憶トラフィックの再均衡化を行うために必要な通信は、アダプタとサーバとの間の各データ経路の端部同士(例えば、図1のサーバ1及びアダプタ5、又は図2のサーバ21及びアダプタ25)のみである。したがって、サーバとアダプタとの間の接続の数は、サーバとアダプタとの間の経路に結びついた記憶装置(例えば、ディスクドライブ)の数で制限される。したがって、数千のサーバ及びアダプタを有する非常に大きなデータセンター内であっても、本発明の一般的な実施形態を実行するのに必要な各サーバ及びアダプタでの計算負荷、及びネットワーク負荷は小さい。
3.記憶データトラフィックの帯域幅をあらかじめ予約したり固定したりすることはない。したがって、関係者(すなわち、サーバインタフェース、サーバエージェント、アダプタインタフェース、又はアダプタエージェント)の故障は、すぐに全体的な統計値に反映され、関係者が(故障前に)使っていたリソースは、自動的に残りの装置により使用することが可能になる。その後故障した装置が回復した場合、本発明の方法の一般的な実施形態の実行により、トラフィックが過負荷をもたらす場合は、他のサーバは、トラフィックを、回復した装置により使われていた経路から変更する。
4.サーバが計画した付加的帯域幅使用通知をアダプタに送信した時であっても、(アダプタ内に組み込まれた)アダプタエージェントは、一般的に、各通知に表示された計画した付加的帯域幅使用を時間をかけて減少させる(すなわち、「エージングする」)。このエージングは、一般に、アダプタの各インタフェースのエージングした計画した付加的帯域幅使用値を比較的急速に(ゼロまで)減少させる。これにより、付加的な観測された記憶データトラフィックにすぐには反映されない計画した付加的帯域幅使用通知は、直ちに無視される。
5.一時的に過負荷となるような結果が生じるサーバにより選択されたデータ経路は、通常は非常に短時間で修正される(すなわち、同じ記憶装置までの新たなデータ経路に置き換えられる)。
6.新たな経路を用いて起動するとの各サーバの意図を通知する処理(すなわち、各サーバエージェントにより、表示された計画した付加的帯域幅の使用が実際に生じることにより直接影響を受ける各アダプタのアダプタエージェントに計画した付加的帯域幅の使用通知を送ること)により、多くのサーバがほぼ同時刻に同じ決定をすることを防止する。つまり、これまでのデータのみに基づいてほぼ同時に経路決定を行うことにより生じる可能性がある振動を実質的に防止する。さもなければ、軽負荷状態となっている1つのインタフェースを指し示す統計値を全てのサーバが見る場合があり、そして全てのサーバがそのインタフェースへと経路変更し、深刻な過負荷状態が生じる可能性がある。
7.(例えば、サーバに、サーバと記憶装置との間の記憶データトラフィックのルートを新たに選択された経路に変更させた後、サーバエージェントの最新の動作の結果が監視している統計値に反映されるように、ランダムに決定された時間間隔で待機した後、サーバエージェントが記憶装置への経路の再評価を開始する、実施形態において)ランダムサイクルを用いることにより、サーバが固定された動作を行うことを防止し、さらに同時に矛盾した判断を行うことを避ける。
8.ネットワークが完全に使用された状態(すなわち、全てのインタフェースが過負荷状態)となり、記憶トラフィックの経路変更の機会がない場合、一般的な実施形態において、全てのサーバ及びアダプタは、サーバとアダプタとの間の所定の「好ましい」データ経路に戻る。このことは、無用な経路変更の試みは行わないことを意味する。加えて、全てのデータトラフィックを静的に均衡させるような方法で好ましいデータ経路を選択したとすると、それらの経路は、負荷がいっぱいの状態のネットワークにおいて最適な構成を形成する。
9.アプリケーション(例えば、図1のサーバ1のサブシステム4又はサーバ3のサブシステム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)である。
本発明の他の特徴は、本発明に係るシステム、アダプタ、記憶装置、JBOD、サーバ、又は他の装置の実施形態での操作を行う方法である。そのような方法は、
コンバージドネットワークを介して、サーバからアダプタへ要求をアサートするステップであって、前記サーバは、サーバエージェントを含むよう構成され、前記アダプタはアダプタエージェントを含むよう構成されていることを特徴とするステップと、
前記要求に応答して前記アダプタエージェントにより前記サーバのサーバインタフェースにアサートされた少なくとも1つのアダプタインタフェース過負荷表示を特定するためにサーバエージェントを採用するステップであって、前記アダプタインタフェース過負荷表示は、前記アダプタのアダプタインタフェースが過負荷かどうかを表示することを特徴とするステップと、
前記サーバインタフェースを含む経路であって、その経路を通って前記アダプタを介して少なくとも1つの記憶装置に前記サーバがアクセスするように設けられた、経路において、前記アダプタインタフェース過負荷表示を用いる方法で前記経路が過負荷かどうかを判断するために前記サーバエージェントを採用するステップと、を含む。
本発明の特定の形態が図示され説明されているが、本発明は、説明され図示された特定の実施形態又は説明された特定の方法に限定されるべきではないことを理解すべきである。方法を記述する特許請求の範囲は、請求項に明示的に記載されていない限り、特定の順序のステップを含意するものではない。

Claims (41)

  1. 少なくとも1つのサーバインタフェースを有する少なくとも1つのサーバであって、前記サーバは、サーバエージェントを含み、前記サーバインタフェースによりコンバージドネットワークに接続されるように設けられているサーバと、
    少なくとも1つの記憶装置と、
    前記記憶装置に接続されるよう構成され、少なくとも1つのアダプタインタフェースを有する少なくとも1つのアダプタであって、前記アダプタは、前記アダプタインタフェースを介して前記記憶装置を前記ネットワークに接続させるよう構成され、前記アダプタはアダプタエージェントを含むよう構成されていることを特徴とするアダプタと、
    を含み、
    前記アダプタエージェントは、接続されて、
    前記アダプタの前記アダプタインタフェースの各々について過負荷になっているか否かを判断し、前記アダプタインタフェースの各々についてアダプタインタフェース過負荷表示を生成し、前記アダプタインタフェースの各々について前記アダプタインタフェース過負荷表示は、前記アダプタインタフェースが過負荷になっているか否かを表示し、
    前記サーバエージェントからの要求に応じて、少なくとも1つの前記アダプタインタフェース過負荷表示を前記サーバエージェントに報告するよう構成され、
    前記サーバエージェントは、接続されて、
    前記サーバに、前記アダプタエージェントへの要求をアサートさせ、前記要求に応答して前記アダプタエージェントにより前記サーバに提供された少なくとも1つのアダプタインタフェース過負荷表示を特定させ、
    前記サーバインタフェースを含み、前記アダプタを介して前記記憶装置に前記サーバがアクセスする経路について、前記アダプタインタフェース過負荷表示を用いる方法で、前記経路が過負荷か否かを判断するよう構成されている、
    ことを特徴とするシステム。
  2. 前記サーバエージェントは、前記経路が過負荷であるとの判断に対して、
    次の使用のために前記記憶装置への新たな経路を選択すべきか否かを判断すること、及び、
    新たな経路を選択すべきとの判断により、前記サーバに前記サーバと前記記憶装置の間の記憶データトラフィックの経路を変更させること、
    を含む応答を行うよう構成されていることを特徴とする請求項1に記載のシステム。
  3. 前記サーバエージェントは、接続され、前記サーバに、前記サーバと前記記憶装置の間の記憶データトラフィックの経路を新たな経路に変更させた後、新たな経路への変化の影響が前記アダプタエージェントの各アダプタインタフェースのトラフィックの前記各アダプタエージェントにより継続中の監視の結果に反映されるようになるまで十分な時間間隔だけ待機し、そして、待機した後、前記新たな経路以外の少なくとも1つの経路を含む、前記記憶装置への経路の評価を開始するよう構成されることを特徴とする請求項2に記載のシステム。
  4. 前記待機の前記時間間隔は、所定の最大待機時間及び最少待機時間の制約をうけつつ、選択された間隔の標準変量として、選択されたランダムな数値に決定されることを特徴とする請求項3に記載のシステム。
  5. 前記システムは、
    前記記憶装置を前記ネットワークに接続させるよう構成された第1のアダプタと、
    前記記憶装置を前記ネットワークに接続させるよう構成された第2のアダプタと、
    を含み、前記第1のアダプタは、少なくとも1つの第1のアダプタインタフェースを含み、前記第2のアダプタは少なくとも1つの第2のアダプタインタフェースを含み、前記第1のアダプタは第1のアダプタエージェントを含み、前記第2のアダプタは第2のアダプタエージェントを含み、前記サーバエージェントは、接続され、
    前記サーバインタフェースの各々に生じるデータトラフィックを監視し、前記サーバインタフェースの各々で消費された帯域幅を判断し、前記サーバインタフェースの各々で消費された帯域幅から、前記サーバインタフェースの各々で利用可能な帯域幅を判断し、そして、
    前記サーバから前記第1のアダプタへアサートされた要求に応答して前記第1のアダプタエージェントにより前記サーバへ提供された少なくとも1つの利用可能な帯域幅表示を特定し、前記利用可能な帯域幅表示の各々は、1つの前記2のアダプタインタフェースの利用可能な帯域幅の表示であることを特徴とし、そして、前記サーバから前記第2のアダプタへアサートされた要求に応答して前記第2のアダプタエージェントにより前記サーバへ提供された少なくとも1つの付加的な利用可能な帯域幅表示を特定し、前記付加的な利用可能な帯域幅表示の各々は、1つの前記第2のアダプタインタフェースの利用可能な帯域幅の表示であることを特徴とし、
    前記サーバインタフェース及び前記第2のアダプタの前記第2のアダプタインタフェースの1つを、最小限の前記サーバインタフェース上の前記利用可能な帯域幅及び前記1つの前記第2のアダプタインタフェースの利用可能な帯域幅として含む経路上の利用可能な帯域幅を判断する、
    よう構成されることを特徴とする請求項1に記載のシステム。
  6. 前記アダプタエージェントもまた接続され、
    前記アダプタインタフェースの各々に生じるデータトラフィックを監視し、前記アダプタインタフェースの各々での消費された帯域幅表示を生成し、前記アダプタインタフェースの各々での前記消費された帯域幅表示は、前記アダプタインタフェースの消費された帯域幅の表示であり、
    前記アダプタの前記アダプタインタフェースの各々での利用可能な帯域幅表示を生成し、ここで、前記アダプタインタフェースでの前記利用可能な帯域幅表示は、前記アダプタインタフェースの利用可能な帯域幅の表示であり
    前記サーバエージェントからの要求に応答して、少なくとも1つの前記アダプタインタフェース過負荷表示、及び少なくとも1つの前記消費された帯域幅表示及び/又は少なくとも1つの前記利用可能な帯域幅表示を前記サーバエージェントに報告する、
    よう構成されることを特徴とする請求項1に記載のシステム。
  7. 前記アダプタエージェントもまた、接続され、
    生の過負荷表示値をフィルターを掛けフィルターを掛けた過負荷値を生成し、前記生の過負荷表示値は、測定された過負荷を表示し、前記フィルターを掛けた過負荷値は、前記測定された過負荷が不変か否かを表示し、少なくとも前記アダプタインタフェース過負荷表示は、前記フィルターを掛けた過負荷値を表示する、よう構成されることを特徴とする請求項6に記載のシステム。
  8. 前記アダプタエージェントもまた、接続され、前記アダプタの容量を推定し、付加的データを処理するよう構成されることを特徴とする請求項1に記載のシステム。
  9. 前記アダプタエージェントは、接続され、前記アダプタの前記アダプタインタフェースの各々での利用可能な帯域幅表示を生成し、前記各アダプタインタフェースでの前記利用可能な帯域幅表示は、前記アダプタインタフェースの利用可能な帯域幅の表示であり、
    エージングにより前記アダプタインタフェースの各々での少なくとも1つの前記サーバエージェントから受信した計画した付加的帯域幅で使用する値を含み、これにより、前記アダプタインタフェースでのエージングした計画した帯域幅で使用する値を生成し、前記アダプタインタフェースの各々へ、前記アダプタインタフェースへの前記エージングした計画した帯域幅で使用する値の各々の合計を保持する、よう構成されることを特徴とする請求項1に記載のシステム。
  10. 前記アダプタエージェントは、接続され、前記アダプタインタフェースの利用可能な全帯域幅、前記アダプタインタフェースの消費された帯域幅の少なくとも1つの計測値、付加的データを処理するための前記アダプタの容量の表示、及び、前記アダプタインタフェースへの前記エージングした計画した帯域幅の前記アダプタインタフェースの合計から前記アダプタの前記各アダプタインタフェースでの利用可能な帯域幅を生成するよう構成されることを特徴とする請求項9に記載のシステム。
  11. 少なくとも1つのサーバインタフェースによりコンバージドネットワークに接続された少なくとも1つのサーバ及び少なくとも1つの記憶装置を含むシステムで用いるよう構成されたアダプタであって、前記サーバはサーバエージェントを含み、前記アダプタは、
    前記記憶装置を前記アダプタに接続させるよう構成された少なくとも1つのポートと、
    前記アダプタを前記ネットワークに接続し、それにより、前記記憶装置が前記少なくとも1つのポートに接続されたとき、前記アダプタを介して前記記憶装置を前記ネットワークに接続するよう構成された少なくとも1つのアダプタインタフェースと、
    アダプタエージェントであって、前記アダプタエージェントは接続されて、
    前記アダプタインタフェースの各々が過負荷かどうかを判断し、前記アダプタインタフェースの各々についてアダプタインタフェース過負荷表示を生成し、前記アダプタインタフェースの各々についてアダプタインタフェース過負荷表示は、前記アダプタインタフェースが過負荷かどうかの表示であり、
    前記サーバエージェントからの要求に応じて、前記アダプタに、少なくとも1つの前記アダプタインタフェースに、少なくとも1つの前記アダプタインタフェース過負荷表示を表示するデータをアサートさせる、よう構成されたことを特徴とするアダプタエージェントと、
    含むことを特徴とするアダプタ。
  12. 前記アダプタエージェントもまた、接続され、
    前記各アダプタインタフェースに生じるデータトラフィックを監視し、前記各アダプタインタフェースでの消費された帯域幅表示を生成し、前記各アダプタインタフェースでの消費された帯域幅表示は、前記アダプタインタフェースの消費された帯域幅を表示するものであることを特徴とし、
    前記各アダプタインタフェースでの利用可能な帯域幅表示を生成し、前記各アダプタインタフェースでの利用可能な帯域幅表示は、前記アダプタインタフェースの利用可能な帯域幅を表示するものであることを特徴とし、
    前記サーバエージェントからの要求に応じて、前記アダプタに、少なくとも1つの前記アダプタインタフェースに、
    少なくとも1つの前記アダプタインタフェース過負荷表示、及び少なくとも1つの前記消費された帯域幅表示及び/又は少なくとも1つの前記利用可能な帯域幅表示
    を表示するデータをアサートさせる、
    よう構成されることを特徴とする請求項11に記載のアダプタ。
  13. 前記アダプタエージェントもまた、接続され、生の過負荷表示値にフィルターを掛け、フィルターを掛けた過負荷値を生成するよう構成され、前記生の過負荷表示値が判断された過負荷を示すものであり、フィルターを掛けた過負荷値は、前記判断された過負荷が持続するものかどうかを示すものであり、前記サーバエージェントからの要求に応じて、前記アダプタに、少なくとも1つの前記アダプタインタフェースに、フィルターを掛けた過負荷値を表示するデータをアサートさせることを特徴とする請求項12に記載のアダプタ。
  14. 前記アダプタエージェントもまた、接続され、付加的データを処理するために前記アダプタの容量を推定するよう構成されることを特徴とする請求項11に記載のアダプタ。
  15. 前記アダプタエージェントは、接続され、前記各アダプタインタフェースでの利用可能な帯域幅表示を生成するよう構成され、前記各アダプタインタフェースでの利用可能な帯域幅表示は、
    前記アダプタインタフェースの1つでの少なくとも1つの前記サーバエージェントから受信した計画した付加的帯域幅の使用値をエージングし、それにより、前記アダプタインタフェースでのエージングした計画した帯域幅の使用値を生成し、前記各アダプタインタフェースについて、前記アダプタインタフェースでの前記各エージングした計画した帯域幅の使用値の合計を維持することを含む、
    前記アダプタインタフェースの利用可能な帯域幅を表示することを特徴とする請求項11に記載のアダプタ。
  16. 前記アダプタエージェントは、接続され、前記アダプタインタフェースの全ての利用可能な帯域幅、前記アダプタインタフェースの消費された帯域幅の少なくとも1つの計測値、付加的データを処理するためのアダプタの容量の表示、及び前記アダプタインタフェースでの前記各エージングした計画した帯域幅の使用値の前記アダプタインタフェースでの合計値から、前記各アダプタインタフェースでの利用可能な帯域幅表示を生成するよう構成されることを特徴とする請求項15に記載のアダプタ。
  17. 少なくとも1つのサーバインタフェースによりコンバージドネットワークに接続された少なくとも1つのサーバを含むシステムで使用するよう構成された装置であって、前記サーバはサーバエージェントを含み、前記装置は、アダプタと一体化した記憶装置であり、
    データ 記憶サブシステムと、
    前記データ記憶サブシステムと接続されたアダプタサブシステムであって、前記アダプタサブシステムは、前記アダプタを組み込むことを特徴とする、アダプタサブシステムと、
    を含み、前記アダプタサブシステムは、
    前記アダプタサブシステムを前記ネットワークに接続し、それにより前記アダプタサブシステムを介して、前記データ記憶サブシステムを前記ネットワークに接続するよう構成された少なくとも1つのアダプタインタフェースと、
    アダプタエージェントであって、前記アダプタエージェントは接続され、
    前記アダプタエージェントが過負荷かどうかを判断し、前記各アダプタインタフェースでのアダプタインタフェース過負荷表示を生成し、前記各アダプタインタフェースでの前記アダプタインタフェース過負荷表示は前記アダプタインタフェースが過負荷であるかどうかを表示するものであり、
    前記サーバエージェントからの要求に応じて、少なくとも1つの前記アダプタインタフェースに、少なくとも1つの前記アダプタインタフェース過負荷表示を前記アダプタサブシステムにアサートさせるよう構成されたことを特徴とする、アダプタエージェントと、
    を具備することを特徴とする装置。
  18. 前記装置は、アダプタと一体化された記憶装置であり、前記アダプタサブシステムは、前記アダプタを組み込み、前記データ記憶サブシステムは、前記記憶装置を組み込むことを特徴とする請求項17に記載の装置。
  19. 前記記憶装置は、ディスクドライブであることを特徴とする請求項18に記載の装置。
  20. 前記装置は、アダプタと一体化されたJBODであり、前記アダプタサブシステムは、前記アダプタを組み込み、前記データ記憶サブシステムは、前記JBODを組み込み、前記JBODは、一組のディスクドライブを含むことを特徴とする請求項17に記載の装置。
  21. 前記データ記憶サブシステムは、少なくとも2つのディスクドライブを含むことを特徴とする請求項17に記載の装置。
  22. 前記アダプタエージェントもまた、接続され、
    前記各アダプタインタフェースで生じるデータトラフィックを監視し、前記各アダプタインタフェースでの消費された帯域幅表示を生成し、前記各アダプタインタフェースでの消費された前記帯域幅表示は、前記アダプタインタフェースでの利用可能な帯域幅を表示することを特徴とし、
    前記各アダプタインタフェースでの利用可能な帯域幅表示を生成し、前記各アダプタインタフェースでの前記利用可能な帯域幅表示は、前記アダプタインタフェースでの利用可能な帯域幅を表示することを特徴とし、
    前記サーバエージェントからの要求に応じて、少なくとも1つの前記アダプタインタフェースに、
    少なくとも1つの前記アダプタインタフェース過負荷表示、少なくとも1つの前記消費された帯域幅表示及び/又は少なくとも1つの前記利用可能な帯域幅表示を示すデータを、前記アダプタサブシステムにアサートさせる、
    よう構成されることを特徴とする請求項17に記載の装置。
  23. 前記アダプタエージェントもまた、接続され、生の過負荷表示値にフィルターを掛け、フィルターを掛けた過負荷値を生成するよう構成され、前記生の過負荷表示値は、測定された過負荷を表示し、前記フィルターを掛けた過負荷値は、前記測定された過負荷が不変か否かを表示し、少なくとも1つの前記アダプタインタフェース過負荷表示は、前記フィルターを掛けた過負荷値を表示することを特徴とする請求項22に記載の装置。
  24. 前記アダプタエージェントもまた、接続され、付加的データを処理するために前記アダプタサブシステムの容量を推定するよう構成されることを特徴とする請求項17に記載の装置。
  25. 前記アダプタエージェントは、接続され、前記各アダプタインタフェースでの利用可能な帯域幅表示を生成するよう構成され、前記各アダプタインタフェースでの前記利用可能な前記帯域幅表示は、前記アダプタインタフェースでの利用可能な帯域幅の表示であり、
    1つの前記アダプタインタフェースでの少なくとも1つの前記サーバエージェントから受信した計画した各付加的帯域幅使用値をエージングし、それにより、前記アダプタインタフェースでのエージングした計画した帯域幅使用値を生成すること、そして、前記各アダプタインタフェースでの、前記アダプタインタフェースでの前記エージングした計画した帯域幅使用値の合計を保持することを含むことを特徴とする請求項17に記載の装置。
  26. 前記アダプタエージェントは、接続され、前記アダプタインタフェースの全利用可能な帯域幅、前記アダプタインタフェースの消費された帯域幅の少なくとも1つの計測値、付加的データを処理するためのアダプタサブシステムの容量の表示、及び前記アダプタインタフェースでの前記各エージングした計画した帯域幅使用値の合計から、前記各アダプタインタフェースでの前記利用可能な帯域幅表示を生成するよう構成されることを特徴とする請求項25に記載の装置。
  27. 少なくとも1つの記憶装置及び前記記憶装置に接続された少なくとも1つのアダプタを含むシステムにおいて使用するよう構成されたサーバであって、前記アダプタは、コンバージドネットワークに接続された少なくとも1つのアダプタインタフェースを有し、前記アダプタは前記アダプタインタフェースを介して前記記憶装置をネットワークに接続し、そして、前記アダプタはアダプタエージェントを含むよう構成され、前記サーバは、
    サーバエージェントを含むよう構成された処理サブシステムと、
    前記ネットワークに接続されるよう構成された少なくとも1つのサーバインタフェースと、を具備し、前記処理サブシステムは、前記サーバインタフェースに接続され、前記サーバインタフェースが前記ネットワークに接続されたとき、前記サーバインタフェースを介して前記ネットワークにアクセスするよう構成され、前記サーバエージェントは、接続され、
    前記処理サブシステムに、前記アダプタエージェントへの要求をアサートさせ、前記要求に応答して前記アダプタエージェントにより前記サーバインタフェースに提供された少なくとも1つのアダプタインタフェース過負荷表示を特定させ、
    前記サーバインタフェースを含み、前記アダプタを介して前記記憶装置に前記サーバがアクセスする経路について、前記アダプタインタフェース過負荷表示を用いる方法で、前記経路が過負荷か否かを判断するよう構成されている、
    ことを特徴とするサーバ。
  28. 前記サーバエージェントは、前記経路が過負荷となっているとの判断に対して、
    前記サーバによるその後の使用のために、前記記憶装置への新たな経路を選択すべきかどうかを判断すること、及び
    前記新たな経路を選択すべきとの判断に応じて、前記処理サブシステムに、前記サーバと前記記憶装置との間の記憶データトラフィックを前記新たな経路に変更させること、
    を含む応答を行うよう構成されることを特徴とする請求項27に記載のサーバ。
  29. 前記サーバエージェントは、接続され、前記処理サブシステムに、前記サーバと前記記憶装置との間の記憶データトラフィックの経路を新たな経路に変更させた後、新たな経路への変化の影響が前記アダプタエージェントの各アダプタインタフェースのトラフィックの前記各アダプタエージェントにより継続中の監視の結果に反映されるようになるまで十分な時間間隔だけ待機し、そして、待機した後、前記新たな経路以外の少なくとも1つの経路を含む、前記記憶装置への経路の評価を開始するよう構成されることを特徴とする請求項28に記載のサーバ。
  30. 前記待機のための時間間隔は、所定の最大待機時間及び最少待機時間の制約を受けつつ、選択された間隔の標準変量として選択されたランダムな数値に決定されることを特徴とする請求項29に記載のサーバ。
  31. 前記システムは、前記記憶装置を前記ネットワークに接続させるよう構成された第1のアダプタと、前記記憶装置を前記ネットワークに接続させるよう構成された第2のアダプタと、を含み、前記第1のアダプタは少なくとも1つの第1のアダプタインタフェースを含み、前記第2のアダプタは少なくとも1つの第2のアダプタインタフェースを含み、前記第1のアダプタは第1のアダプタエージェントを含み、前記第2のアダプタは第2のアダプタエージェントを含み、前記サーバエージェントは、接続され、
    前記各サーバインタフェースに生じるデータトラフィックを監視し、前記各サーバインタフェースで消費された帯域幅を判断し、前記各サーバインタフェースで消費された帯域幅から、前記各サーバインタフェースで利用可能な帯域幅を判断し、そして、
    前記処理サブシステムから前記第1のアダプタへアサートされた要求に応答して前記第1のアダプタエージェントにより前記サーバインタフェースに提供された少なくとも1つの利用可能な帯域幅表示を特定し、前記各利用可能な帯域幅表示は、1つの前記第1のアダプタインタフェースの利用可能な帯域幅の表示であることを特徴とし、そして、前記処理サブシステムから前記第2のアダプタへアサートされた要求に応答して前記第2のアダプタエージェントにより前記サーバインタフェースに提供された少なくとも1つの付加的な利用可能な帯域幅表示を特定し、前記各利用可能な帯域幅表示は、1つの前記第2のアダプタインタフェースの利用可能な帯域幅の表示であることを特徴とし、そして、
    前記サーバインタフェース及び前記第2のアダプタの前記第2のアダプタインタフェースの1つを、前記2のサーバインタフェース上の利用可能な最小限の帯域幅及び前記第2のアダプタインタフェースの利用可能な帯域幅として判断する、よう構成されることを特徴とする請求項27に記載のサーバ。
  32. 前記アダプタエージェントは、接続され、前記アダプタの前記各アダプタインタフェースでの利用可能な帯域幅表示を生成するよう構成され、前記サーバエージェントは、接続され、
    前記要求に応じて前記アダプタエージェントにより、前記サーバインタフェースに提供された少なくとも1つの前記利用可能な帯域幅表示を特定し、
    前記利用可能な帯域幅表示を用いる方法で、前記サーバインタフェース及び少なくとも1つの前記アダプタインタフェースを含む経路を評価するよう構成されることを特徴とする請求項27に記載のサーバ。
  33. コンバージドネットワークを介してサーバからアダプタに要求をアサートするステップであって、前記サーバは、サーバエージェントを含むよう構成され、前記アダプタは、アダプタエージェントを含むよう構成されることを特徴とするステップと、
    前記要求に応じて前記アダプタエージェントにより、前記サーバのサーバインタフェースに提供される少なくとも1つのアダプタインタフェース過負荷表示を特定するために前記サーバエージェントを採用するステップと、
    前記サーバインタフェースを含み、前記アダプタを介して少なくとも1つの記憶装置にサーバがアクセスするための経路に対して、前記アダプタインタフェース過負荷表示を使う方法で、前記経路が過負荷かどうかを判断するために前記サーバエージェントを採用するステップと、
    を具備する方法。
  34. 次の使用のために前記記憶装置に新たな経路を選択するかどうかを判断するステップと、
    前記新たな経路を選択すべきとの判断があれば、前記サーバに、前記サーバと前記記憶装置との間の記憶データトラフィックの経路を前記新たな経路に変更させるステップと、
    を有する、前記経路が過負荷であるとの判断に応答して前記サーバエージェントを採用するステップを含むことを特徴とする請求項33に記載の方法。
  35. (a)前記サーバと前記記憶装置との間の記憶データトラフィックの経路を前記新たな経路に変更させるステップの後、新たな経路への変化の影響が前記各アダプタエージェントの各アダプタインタフェースのトラフィックの前記ネットワークに接続されたアダプタのアダプタエージェントにより継続中の監視の結果に反映されるようになるまで十分な時間間隔だけ待機するステップと、
    (b)ステップ(b)の後、前記新たな経路とは別の少なくとも1つの経路を含む、前記記憶装置への経路を評価するために、サーバエージェントを採用するステップと、
    を含むことを特徴とする請求項34に記載の方法。
  36. 前記待機のための時間間隔は、所定の最大待機時間及び最少待機時間の制約を受けつつ、選択された間隔の標準変量として選択されたランダムな数値に決定されることを特徴とする請求項請求項35に記載の方法。
  37. 前記各サーバインタフェースの消費された帯域幅を判断し、前記各サーバインタフェースの消費された前記帯域幅から、前記各サーバインタフェースの利用可能な帯域幅を判断するために、前記サーバの各サーバインタフェースで生じるデータトラフィックを監視するために前記サーバエージェントを採用するステップと、
    前記サーバから前記第1のアダプタへアサートされた要求に応答して、第1のアダプタエージェントにより前記サーバに提供された、前記ネットワークに接続された第1のアダプタの少なくとも1つの利用可能な帯域幅表示を特定するためにであって、前記各利用可能な帯域幅表示は、前記第1のアダプタのアダプタインタフェースの利用可能な帯域幅を表示することを特徴とし、及び、前記サーバから前記第2のアダプタへアサートされた要求に応答して、前記第2のアダプタエージェントにより前記サーバに提供された、前記ネットワークに接続された第2のアダプタの少なくとも1つの付加的な利用可能な帯域幅表示を特定するためにであって、前記各付加的な利用可能な帯域幅表示は前記第2のアダプタのアダプタインタフェースの利用可能な帯域幅を表示することを特徴とする、前記サーバエージェントを採用するステップと、
    前記サーバインタフェースの前記利用可能な帯域幅の最小値及び前記第2のアダプタのアダプタインタフェースの前記利用可能な帯域幅として、前記第2のアダプタの1つの前記サーバインタフェース及びアダプタインタフェースを含む経路の利用可能な帯域幅を判断するために、サーバエージェントを採用するステップと、
    をさらに具備する請求項33に記載の方法。
  38. 前記アダプタの各アダプタインタフェースに生じたデータトラフィックを監視し、前記各アダプタインタフェースでの消費された帯域幅表示を生成するために前記アダプタエージェントを採用するステップであって、前記各アダプタインタフェースでの前記消費された帯域幅表示は、前記アダプタインタフェースの消費された帯域幅を示すことを特徴とするステップと、
    前記アダプタの前記各アダプタインタフェースでの利用可能な帯域幅表示を生成するために前記アダプタエージェントを採用するステップであって、前記各アダプタインタフェースでの前記利用可能な帯域幅表示は、前記アダプタインタフェースの利用可能な帯域幅を示すことを特徴とするステップと、
    前記サーバエージェントに少なくとも1つの前記アダプタインタフェース過負荷表示、及び、少なくとも1つの前記消費された帯域幅表示及び/又は少なくとも1つの前記利用可能な帯域幅表示を前記アダプタに報告させるために、前記アダプタエージェントを採用するステップと、
    をさらに具備する請求項33に記載の方法。
  39. 生の過負荷表示値にフィルターを掛け、フィルターを掛けた過負荷値を生成するために、前記アダプタエージェントを採用するステップであって、前記生の過負荷表示値は、測定された過負荷を表示し、前記フィルターを掛けた過負荷値は、前記測定された過負荷が不変か否かを表示し、少なくとも1つの前記アダプタインタフェース過負荷表示は、前記フィルターを掛けた過負荷値を表示することを特徴とするステップをさらに具備する請求項38に記載の方法。
  40. 前記アダプタの各アダプタインタフェースでの利用可能な帯域幅表示を生成するために前記アダプタエージェントを採用するステップであって、前記各アダプタインタフェースでの前記利用可能な帯域幅表示は、前記アダプタインタフェースの利用可能な帯域幅の表示であり、
    1つの前記アダプタインタフェースでの少なくとも1つの前記サーバエージェントから受信した計画した各付加的帯域幅使用値をエージングし、それにより、前記アダプタインタフェースでのエージングした計画した帯域幅使用値を生成すること、そして、前記各アダプタインタフェースでの、前記アダプタインタフェースでの前記エージングした計画した帯域幅使用値の合計を保持することを含むことを特徴とするステップをさらに具備する請求項33に記載の方法。
  41. 前記アダプタインタフェースの全利用可能な帯域幅、前記アダプタインタフェースの消費された帯域幅の少なくとも1つの計測値、付加的データを処理するためのアダプタの容量の表示、及び前記アダプタインタフェースでの前記各エージングした計画した帯域幅使用値の合計から、前記アダプタの前記各アダプタインタフェースでの利用可能な帯域幅表示生成するために、前記アダプタエージェントを採用するステップをさらに具備する請求項40に記載の方法。
JP2018526481A 2015-08-06 2016-07-01 コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム Pending JP2018530845A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021215255A JP2022050512A (ja) 2015-08-06 2021-12-28 コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム

Applications Claiming Priority (3)

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
PCT/US2016/040654 WO2017023461A1 (en) 2015-08-06 2016-07-01 Method and system for balancing storage data traffic in converged networks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021215255A Division JP2022050512A (ja) 2015-08-06 2021-12-28 コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム

Publications (2)

Publication Number Publication Date
JP2018530845A true JP2018530845A (ja) 2018-10-18
JP2018530845A5 JP2018530845A5 (ja) 2019-08-22

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 After (1)

Application Number Title Priority Date Filing Date
JP2021215255A Pending JP2022050512A (ja) 2015-08-06 2021-12-28 コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム

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)

* Cited by examiner, † Cited by third party
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 (6)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 計算機システム、及び、計算機システムの仮想サーバ移行制御方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
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
US9882805B2 (en) * 2013-09-30 2018-01-30 Vmware, Inc. Dynamic path selection policy for multipathing in a virtualized environment
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 計算機システム、及び、計算機システムの仮想サーバ移行制御方法

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
JP2022050512A (ja) 2022-03-30
DE202016009110U1 (de) 2022-06-01
CN108027749A (zh) 2018-05-11
CN108027749B (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
JP2018530845A (ja) コンバージドネットワークにおいて記憶データトラフィックを均衡化する方法及びシステム
JP6199514B2 (ja) ファブリック分散リソースのスケジューリング
US20200019315A1 (en) Fabric attached storage
JP4686606B2 (ja) 複数のホスト・バス・アダプタを介して取り付けられた取り外し可能メディア・デバイス間での入力/出力作業負荷の動的分散のための方法、コンピュータ・プログラム、およびシステム
CA2942665C (en) Coordinated admission control for network-accessible block storage
US7685310B2 (en) Computer system and dynamic port allocation method
US7876689B2 (en) Method and apparatus for load balancing network interface adapters based on network information
US20150095445A1 (en) Dynamic Path Selection Policy for Multipathing in a Virtualized Environment
WO2005091141A1 (en) Failover and load balancing
US20090193108A1 (en) Critical Resource Management
KR102047088B1 (ko) 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템
US7873759B2 (en) Information processing system and method of allocating I/O to paths in same
JP2023539212A (ja) ストレージレベルの負荷分散
US20220217100A1 (en) Host input/output based load balancing on fibre channel n_port virtualizer switch uplinks
JP2006268155A (ja) ロードバランス装置、サーバシステム及びそのロードバランス方法
KR20230129693A (ko) 트래픽 지역성을 고려한 쿠버네티스 기반 엣지 컴퓨팅 환경에서의 트래픽 분배 방법 및 트래픽 분배 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190701

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210330

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210709

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210831