複数のサーバと、複数の異なったアプリケーションと、を有し、各アプリケーションが複数のコンポーネントを有し、1つまたは2つ以上のコンポーネントが1つまたは2つ以上の他のアプリケーションで共有されているデータセンターにおいてアプリケーション依存パスを求める方法であって、前記複数のサーバ上のアプリケーションのトラフィック量のデータを取得するステップと、前記アプリケーションのトラフィック量のデータに基づいて、前記複数のアプリケーションのすべてのコンポーネントのアプリケーショントラフィック行列を生成するステップと、前記トラフィック行列から前記データセンターにおける前記アプリケーションの数を推定するステップと、前記推定したアプリケーションの数を用いて、前記トラフィック行列を、前記複数のアプリケーションの各々に属するコンポーネントの集合を表す第1の行列と、時間とともに各アプリケーションによって生成されたトラフィックの量を表す第2の行列と、に分解するステップと、を有する方法。前記複数のサーバ上のアプリケーションのトラフィック量のデータを取得するステップは、空間領域と時間領域とにおいて行われる、請求項1に記載の方法。前記アプリケーショントラフィック行列を生成するステップは、前記アプリケーションのグループのための、前記アプリケーショントラフィック行列によって表されるアプリケーション接続状態グラフを生成することを含む、請求項1に記載の方法。前記アプリケーションの数を推定するステップは、特異値分解またはパワー因数分解剰余誤差法によるランク推定により行われる、請求項1に記載の方法。前記パワー因数分解剰余誤差法による前記ランク推定は、パワー因数分解処理を用いる、請求項4に記載の方法。前記トラフィック行列を分解するステップは、非負行列因数分解処理により行われる、請求項1に記載の方法。前記第1および第2の行列からノイズを除去するステップをさらに有する、請求項1に記載の方法。前記ノイズを除去するステップは、コンカレント体積比に基づく相関処理で行われる、請求項7に記載の方法。複数のサーバと、複数の異なったアプリケーションと、を有し、各アプリケーションが複数のコンポーネントを有し、1つまたは2つ以上のコンポーネントが1つまたは2つ以上の他のアプリケーションで共有されているデータセンターにおいてアプリケーション依存パスを求めるシステムであって、データ収集コンポーネントと、前記データ収集コンポーネントとデータ通信する制御器と、を有し、前記データ収集コンポーネントは、各々が、前記複数のサーバ上のアプリケーションのトラフィック量のデータを取得するミラーポートを有する複数のスイッチと、前記ミラーポートの各々を監視する監視エージェントと、を有し、前記制御器は、前記監視サーバによって取得された前記アプリケーションのトラフィック量のデータに基づいて、前記複数のアプリケーションの全てのコンポーネントのアプリケーショントラフィック行列を生成する前処理ユニットと、前記接続状態グラフ化ユニットによって生成された前記トラフィック行列から、前記データセンターにおけるアプリケーションの数を推定し、前記推定したアプリケーションの数を用いて、前記トラフィック行列を、前記複数のアプリケーションの各々に属するコンポーネントの集合を表す第1の行列と、時間とともに各アプリケーションによって生成されたトラフィックの量を表す第2の行列と、に分解するアプリケーション分解ユニットと、を有するシステム。前記複数のスイッチは、前記アプリケーションのトラフィック量のデータを空間領域と時間領域とにおいて取得する、請求項9に記載のシステム。前記アプリケーショントラフィック行列は、前記アプリケーションのグループのためのアプリケーション接続状態グラフを表す、請求項9に記載のシステム。前記アプリケーション分解ユニットは、前記データセンターにおけるアプリケーションの数を推定するために、特異値分解またはパワー因数分解剰余誤差法によるランク推定を行う、請求項9に記載のシステム。パワー因数分解剰余誤差法による前記ランク推定は、パワー因数分解処理を用いる、請求項12に記載のシステム。前記アプリケーション分解ユニットは、前記トラフィック行列を前記第1および第2の行列に分解するために、非負行列因数分解処理を行う、請求項9に記載のシステム。前記第1および第2の行列からノイズを除去する後処理ユニットをさらに有する、請求項9に記載のシステム。前記後処理ユニットは、前記第1および第2の行列からノイズを除去するために、コンカレント体積比に基づく相関処理を行う、請求項15に記載のシステム。したがって、自動化されたアプリケーション依存状態ディスカバリシステムと方法が、アプリケーションの大規模な成長とサービスのコンポーネント間の複雑な相互関係に直面している企業ネットワークおよびデータセンタの、日々のシステム管理および運用にとって必要である。複数のサーバと、複数の異なったアプリケーションと、を有し、各アプリケーションが複数のコンポーネントを有し、1つまたは2つ以上のコンポーネントが1つまたは2つ以上の他のアプリケーションで共有されているデータセンターにおいてアプリケーション依存パスを求める方法が開示される。本方法は、複数のサーバ上のアプリケーションのトラフィック量のデータを取得するステップと、アプリケーションのトラフィック量のデータに基づいて、複数のアプリケーションのすべてのコンポーネントのアプリケーショントラフィック行列を生成するステップと、トラフィック行列からデータセンターにおけるアプリケーションの数を推定するステップと、推定したアプリケーションの数を用いて、トラフィック行列を、複数のアプリケーションの各々に属するコンポーネントの集合を表す第1の行列と、時間とともに各アプリケーションによって生成されたトラフィックの量を表す第2の行列と、に分解するステップと、を有する。いくつかの実施態様において、本方法は、第1および第2の行列からノイズを除去するステップをさらに有する。複数のサーバと、複数の異なったアプリケーションとを有し、各アプリケーションが複数のコンポーネントを有し、1つまたは2つ以上のコンポーネントが1つまたは2つ以上の他のアプリケーションで共有されているデータセンターにおいてアプリケーション依存パスを求めるシステムも開示される。本システムは、データ収集コンポーネントと、データ収集コンポーネントとデータ通信する制御器と、を有する。データ収集コンポーネントは、各々が、複数のサーバ上のアプリケーションのトラフィック量のデータを取得するミラーポートを有する複数のスイッチと、ミラーポートの各々を監視する監視エージェントと、を有する。制御器は、監視サーバによって取得されたアプリケーションのトラフィック量のデータに基づいて、複数のアプリケーションの全てのコンポーネントのアプリケーショントラフィック行列を生成する接続状態グラフ化ユニットと、接続状態グラフ化ユニットによって生成されたトラフィック行列から、データセンターにおけるアプリケーションの数を推定する個体数推定ユニットと、個体数推定ユニットにより推定されたアプリケーションの数を用いて、トラフィック行列を、複数のアプリケーションの各々に属するコンポーネントの集合を表す第1の行列と、時間とともに各アプリケーションによって生成されたトラフィックの量を表す第2の行列と、に分解するアプリケーション分解ユニットと、を有する。いくつかの実施態様において、本システムの制御器は、第1および第2の行列からノイズを除去する後処理ユニットをさらに有する。本開示は、時間とともに動的に構成された一時的グローバルアプリケーショントラフィックグラフと、データセンターの各サーバにおいて観察された空間局所的トラフィックとを用いて、企業ネットワーク、クラウドベースのデータセンター、そして他のデータセンターにおけるアプリケーション依存状態を抽出する行列因数分解システムと方法を提供する。データセンターは、複数の様々なアプリケーションたとえば、電子商取引、コンテンツ配信を実行する複数のサーバを含む。各アプリケーションは、複数のコンポーネントたとえば、ウェブサーバ、アプリケーションサーバ、データベースサーバをアプリケーション依存パス内に有しており、1つまたは複数のコンポーネントが1つまたは複数の他のアプリケーションで共有される。そのようなデータセンターは通常、多数の多層構成のアプリケーションのホストとなるので、複数のアプリケーションリクエストが空間領域および時間領域の両方において重複し、これが従来の対の統計的相関技術により、インターリーブされ、しかし独立した複数のアプリケーションを正確に抽出することが非常に困難にする。本開示のシステムおよび方法では、システムの複数のスナップショット、および、それらの通時的な変化の両方を取得するアプリケーショントラフィックの行列ベースの表現が用いられる。本システムおよび方法は、アプリケーショングラフの行列表現を、それぞれが単一のアプリケーションを表す小さい複数のサブグラフに分解した。このことは、本開示のシステムおよび方法を、マルチホップの複数のアプリケーションおよび重複する複数のアプリケーションの少なくとも一方の存在下で特に有効なものにする。アプリケーションの数は、インターリーブされ、かつ重複する複数のアプリケーションリクエストのために、通常、先験的には知られておらず、それぞれのアプリケーションサブグラフの発見を困難にしている。本開示のシステムおよび方法では、アプリケーションの数は、完全なおよび不完全なトラフィックデータシナリオのもとで、理論的境界保証を有する特異値分解ベースのソルバーまたはパワー因数分解ベースのソルバーを有する低ランク行列推定を用いて求められる。スイッチからのトラフィック盗聴は、スイッチと監視ホストの能力によって制限される。スイッチは通常、同時に少数のポートしか映し出すことができない。さらに、それぞれが多数のポートを有する多数のスイッチにわたって収集された監視データは、結果として、大量の総ネットワークトラフィックと、場合によってはパケット損失をもたらすことがある。両方の場合も監視データの著しい損失につながる。この問題を克服するために、本開示のシステムおよび方法は、十分な冗長をもたらす通時的なデータを有効に利用し、かつデータ損失および推定誤りに復元力を与えるパワー因数分解に基づく技術を用いる。本開示のシステムおよび方法は、データセンターにおけるアプリケーション依存パスを求めるために、ネットワークの分散監視と集中データ処理も用いる。図1は、本開示のシステムの典型的実施形態のブロック図である。本システムは、データ収集コンポーネント100と中央サーバ、すなわち中央制御器110を有する。データ収集ユニット100は、複数のスイッチ102と、これらスイッチに接続され、これらからトラフィックデータを収集する複数の監視エージェント104を有し、中央制御器110は、前処理ユニット112と、依存状態分解ユニット114と、後処理ユニット116と、を有している。制御器110の前処理ユニット112、依存状態分解ユニット114、および、後処理ユニット116は、制御器110の1つまたは2つ以上のプロセッサ不図示によって実現される。1つまたは複数のプロセッサは、たとえば、制御器110の1つまたは2つ以上のメモリに格納され、制御器110がここに記載された、前処理、依存状態分解、および、後処理の方法および処理を実行するのを可能にする複数のプログラム命令を実行する。データ収集コンポーネント100は、データセンターのネットワーク分散監視を実行し、下り回線には、同じラックに存在するデータセンターの複数のサーバたとえば、20から80台のサーバが接続され、上り回線には、上層の集合スイッチが接続される、ネットワークのツリー構造内の最下層に位置する複数のラック上面TORスイッチエッジスイッチを含むことがある。ネットワークトラフィックは、エッジスイッチ102のミラーポートを介して専用の監視サーバ104監視エージェントに直接、接続されている各エッジスイッチ102において取得される。この種のポートミラーリングは、トラフィックを妨害するのに最小の影響を与えながら、その効率的なトラフィック取得能力のため、用いられている。周期的に、監視サーバは、収集されたデータを処理しフローレベル情報を構文解析し、抽出し、現在の間隔における各フローに対するパケットの数を計数し、各アプリケーション層回線のトラフィック量を計算し、そのデータを制御器110に送る。各監視サーバから受信されたデータは制御器110によって一元処理され、制御器110は、複数の監視サーバから受信した情報を前処理し、依存状態分解し、後処理する。前に述べたように、すべての監視エージェント104からデータが一旦受信されると、制御器110の前処理ユニット112は、該データを前処理する。前処理用ニット112はまず該データの浄化、たとえば、種々のスイッチ102に対する測定間隔の調整や、冗長の除去たとえば、パケットが横切る2つのスイッチポートをシステムが同時に監視する場合、同じパケットが2度取得されることがあるを行う。データの浄化の後、前処理ユニット112は、すべてのアプリケーショングループについて完全なアプリケーション接続状態グラフを連続的に作成する。各グラフは、トラフィック行列Xによって表され、その例が図2に示されており、参照番号200によって全体が示されている。トラフィック行列Xの各列は、対応する時間間隔の間に観察された全ての<IP:ポート>対間のトラフィック量を記録し、トラフィック行列Xの各行は、対応するアプリケーション回線たとえば、回線ABアプリケーションコンポーネントA、アプリケーションコンポーネントB上のトラフィック量の履歴を表している。トラフィック行列Xは、空間領域と時間領域の両方にわたる全てのアプリケーションコンポーネントの動的接続関係を示している。データの前処理後、制御器110の依存状態分解ユニット114は、データの依存状態分解処理を実行する。依存状態分解ユニット114は、特に、複数のシステムコンポーネントをアプリケーション毎に分解する際の重要なシステム情報である、データセンターにおいて実行中のアプリケーションの数の予備知識を持っていない。依存状態分解ユニット114は、データセンターにおいて実行中のアプリケーションの数を、パワー因数分解または特異値分解SVDに基づく方法によるランク推定によって求め、または推定する。アプリケーションの数は、アプリケーション依存状態を発見するために依存状態分解アルゴリズムにおいてさらに用いられる。依存状態分解ユニット114によって発見されたアプリケーション依存状態は制御器110の後処理ユニット116によって後処理される。前のコンポーネントにおいて生成されたアプリケーション依存状態は、測定ノイズによって影響され、誤検出を含むことがある。したがって、結果を相互検証し、不正確な推定を減らすために後処理が必要である。本開示の後処理ユニット116は、依存状態サブグラフ内の相互に関係付けられたエッジを、依存状態サブグラフの各ノード上の対の回線相関を用いて局所的に識別するために、コンカレント体積比CVRを用いる。後処理ユニット116は、複数の依存状態グラフを融合、取り除くための規則も取り入れている。これらの規則は、トラフィック相関スコアの経験的観測のみならずオペレータの専門知識を利用している。図3は、本開示のシステムによって行われる、データセンターのアプリケーションの依存状態の発見方法の代表的実施形態のフローチャートである。本方法は、ブロック300において、空間領域と時間領域におけるサーバ上のアプリケーショントラフィック量を取得することで始まる。トラフィック量のデータは、関連する複数の監視エージェント104に直接、接続されている複数のエッジスイッチ102によって取得される。監視エージェント104は周期的に、収集されたデータを処理し、各アプリケーション層の回線のトラフィック量を計算し、該データを制御器110に送る。ブロック320に移動して、制御器110の前処理ユニット112は、アプリケーション層の接続状態グラフを生成する。各グラフは、アプリケーションのトラフィック量のデータに基づく、アプリケーションの全てのコンポーネントのアプリケーショントラフィック行列トラフィック行列Xによって表される。接続状態グラフ生成メカニズムは、いくつかの入力接続部を用いて複数のサービスノードを識別することと、一過性の接続を単一のエッジに集約することと、クライアントのIPアドレス配布に基づいてクライアントの方を向くノードを識別することを含む。多くの異なったクライアントIPアドレスを有するサービスノードが、クライアントの方を向くサービスノードすなわち、接続状態グラフにおけるsrcノードである可能性がある。このステップはまた、大きく複雑なグラフを、それぞれのアプリケーショングループを表す、より簡単な複数のグラフに分割するために、全てのアプリケーションたとえば、DNSによって使用される、データセンターの複数の共通サービスノードを識別し、除去する。ブロック340において、トラフィック行列Xは、データセンター内のアプリケーションの数を推定するために、制御器110の依存状態分解ユニット114によって使用される。制御器110の依存状態分解ユニット114はブロック360において、トラフィック行列Xを、ブロック340において推定されたアプリケーションの数を用いて、第1、第2の行列W、H図2においてそれぞれ参照番号210、220によって全体が示されるに分解する。第1の行列Wは、アプリケーションの各々に属する複数のコンポーネントのセット、すなわちアプリケーション依存状態パスを表し、第2の行列Hは、時間とともに各アプリケーションによって生成されたトラフィックの量を表す。制御器110の後処理ユニット116は、ブロック380において、第1、第2の行列W、Hからノイズを除去する。図3のブロック340を再び参照すると、制御器110の依存状態分解ユニット114は、トラフィック行列Xの最適ランクを低ランク推定によって求めるために、完全および不完全なトラフィックデータシナリオのもとで特異ベクトル分解SVDまたはパワー因数分解に基づくソルバーを用いる。完全な入力データの場合、アプリケーションの数は、SVDソルバーによって、ランク最小化問題RMPを解くことによって推定される。RMPは、を最小化し、ここで、Uはn×nの単位行列すなわち、UTU=I、Vはm×mの単位行列すなわち、VTV=I、そしては、n×mの対角行列で、n×mの対角行列であるΣから最大でk個の特異値δiを有する。トラフィック行列Xの最良のランクrの近似は、ならばkで、εはノイズの許容値である。不完全な入力データの場合、トラフィック行列Xは不足しているいくつかの事項であるので、パワー因数分解は、行列距離∥MX-AB∥が最小となるようにここで、Mは二値入力のマスク行列で、Xijが見当たらなければMijは0に等しく、そうでなければMijは1に等しい、それぞれnr、rmの次元を有する2つの行列要素AとBを計算する、数値的にロバストなソルバーである。rminと仮定すると、本方法は、図4Aのフローチャートに示されたパワー因数分解法を用いて、Xの最良のランクrの近似を計算し、rは既知である。図4Aにおいて、トラフィック行列X、そのマスク行列M、ランクrは、パワー因数分解法の入力401である。ブロック402において、パワー因数分解法は、大きさnrを有するランダム行列A0で始まり、k番目の繰り返しkを0にセットする。ブロック403において、k番目の繰り返しkはk1にセットされる。ブロック404において、行列Ak1が与えられると、rmの大きさの行列Bkが、行列距離∥M∥が最小となるように、計算される。次に、行列Bkが正規化される。ブロック405において、行列Bkが与えられると、nrの大きさの行列Akが、行列距離∥M∥が最小となるように、計算される。ブロック406において、行列AkとBkが収束したかどうかが判定される。行列AkとBkが収束したならば、行列AkとBkが出力407に生成される。行列AkとBkが収束していないならば、本方法のブロック403、404、405、そして406が、行列AkとBkが収束するまで流れ線408において繰り返される。パワー因数分解法は、トラフィック行列Xnmここで、nとmは行列Xの行と列の次元であるのランク情報を直接、予測することはできず、ここでランクrは行列AnrとBrmを最適化する前に知られていなければならない。しかしながら、妥当な範囲内でランクrを検索し、行列距離∥MX-AB∥の最終近似誤差をランクrに対して描くことは、誤差曲線が鞍点を有する真のランクを示す強力な経験則かもしれない。ランクrが大きくなると、行列距離∥MX-AB∥の誤差は単調に減少するが、真のランクを通過した後は、それ程、小さくは減少しない。もしArとBrが、ランクrを所与のものとして、2つの行列要素を示すならば、εrはランクr近似に対する対応する適合誤差を示す。本開示は、パワー因数分解剰余誤差解析によって不完全行列Xのランクを推定する方法を要約する、図4Bのフローチャートに描かれている方法を提供する。パワー因数分解ソルバーは、収束まで各繰り返しにおいて用いられる。このパワー因数分解ソルバーは、完全な行列X、または、欠損値を有する行列Xの両方に対して適用可能である。図4Bにおいて、トラフィック行列X、そのマスク行列M、そして閾値ε適合誤差差に対する収束基準の閾値は、パワー因数分解剰余誤差REPFRE法によるランク推定のための入力400である。REPFRE法は、ランクrを1に、Anr、Brmを図4Aのパワー因数分解法PFに等しく設定し、ランクrの適合誤差εrを∥MX-AnrBrm∥として計算することによって、ブロック410において開始する。ブロック420において、ランクrはr1に等しく設定される。ブロック430において、Anr、Brmは図4Aのパワー因数分解法PFに等しく設定され、ランクrと計算される。ブロック530において、行列HはHと計算される。ブロック540において、行列距離∥X-WH∥が閾値δよりも小さいかどうか判定される。もし行列距離∥X-WH∥が閾値δよりも小さければ、行列W、Hが出力550に生成される。もし∥X-WH∥が閾値δよりも小さくなければ、本方法のブロック520、530、そして540が、∥X-WH∥が閾値δよりも小さくなるまで流れ線560において繰り返される。図3のブロック380を再び参照すると、制御器110の後処理ユニット116は、たとえば、図6に示すように、特に、複数の入力または出力の接続が存在する場合について、隣接する複数の回線上のアプリケーショントラフィックを相互に関連付ける、コンカレント体積比CVRベースの相関技術を用いることがある。この方法は、依存状態分解法の結果の正当性を立証し、ノイズを除去する。CVR相関法では、ベクトルνiは、ある時間間隔Tにわたる、アプリケーションコンポーネント回線Li上の総トラフィック量を表している。次に、2つの連続したアプリケーションコンポーネント回線LiとLj上のCVR相関法はで測定され、ここで、lijは、同期した複数の時間間隔でベクトルνiとνjの同時並行性を示す01ベクトルである。具体的には、01ベクトルは、回線LiとLjの両方が時間間隔tで通過するトラフィックを有するときに1にセットされ、他の場合には0にセットされる。回線LiとLj上のトラフィックの因果関係を大雑把に推定するために、本願は、CVRスコアここで、上付き文字cはLiによって引き起こされる割合Ljを表し、上付き文字eはLjになるLjの割合を表し、すなわち、アプリケーションコンポーネント回線同士間の因果関係を示すためにを用いる。直感的に、CVRスコアは、回線Lj上の総トラフィック量にわたって回線Liによって引き起こされた回線Lj上のトラフィック量の割合を表し、CVRスコアは、回線Li上の総トラフィック量にわたって回線Lj上のイベントを生ずる回線Li上のトラフィック量の割合を計算する。図6を再び参照すると、アプリケーションコンポーネント回線A-BとB-C間の高CVRスコアは因果関係、すなわちA-B-Cは依存経路である。同様に、A-BとB-D間の低CVRスコアは、A-BとB-Dが独立した回線であることを示している。このことは、接続状態グラフを、2つの接続されたコンポーネントまたはアプリケーションA-B-CとB-Dに分割することになる。さらに、CVRスコアは、を、異なった時間間隔T、たとえば300ミリ秒、500ミリ秒、1秒、10秒、について評価することによって計算される。従属アプリケーション回線の場合、CVRスコアは異なった時間間隔にわたって安定であり、一方独立した回線の場合、特定の時間間隔においてCVRスコアが突然低下することがある。これは、非常に短い時間間隔では高いリクエスト割合でさえ、総計されたトラフィック量が高いCVRスコアを生じさせないからである。一実施形態では、後処理の規則は次の通りである。単一の入力出力の場合、CVRスコアがもし全ての時間間隔において高ければ、アプリケーションコンポーネント回線Li、Ljは従属した対である。複数の出力を有する複数の入力の場合、CVRスコアを全ての回線iとjについて計算し、異なった時間間隔30秒、10秒、1秒、500ミリ秒にわたるそれらの安定性を測定する。これに基づいて、従属した回線と独立した回線とが識別される。他の対の相関技術と同様に、CVRは、多段ネットワークにおける全依存経路を特定するのには適していない。その代わりに、分解段階NMFの出力の正当性を立証し、誤検出を除去するのに有用である。一方、局所的な対の依存状態関係を識別し、複数の対をつなぎ、または縫い合わせて、高位のアプリケーションレベルの依存状態サブグラフを形成するためにCVRを用いることができても、この処理はエラーが発生しやすい。その理由は、すべてのローカルな対が、識別され、かつ正確にグループ化される必要があるからであり、これは些細なことではない。データ行列の大域的な表現と、局所的なCVRベースの検証が続く、トップダウンのアプリケーションレベルの分解を用いる戦略は、統計上のロバストさと正確さの良好なバランスを達成することができる。図7は、制御器110の後処理ユニット116によって行われるCVR相関処理の流れ図である。制御器110の依存状態分解ユニット114の出力にある行列Wから導かれたアプリケーションの予想されるリストは、CVR相関処理のための入力700である。ブロック710において、各回線に対するアプリケーションコンポーネントの全ての回線と時系列が各予想されるアプリケーションについて行列Xから抽出される。ブロック720において、トラフィックの時系列が、共通の交点を有する各回線対ijに対する異なった時間間隔について計算される。ブロック730において、CVRスコアは総和として計算される。ブロック740において、CVRスコアは総和として計算される。ブロック750において、CVRスコアは、評価された回線対について、x軸上の時間間隔に対してプロットされる。ブロック760において、CVRスコアが回線の間で安定しているかどうか判定される。もしCVRスコアが回線iとjの間で安定しているならば、回線ijが従属したエッジである指示が出力770に生成される。770におけるこの出力は、全処理の出力380における出力として各アプリケーションを最後に生じる前に後処理116において用いられる。本開示の代表的な図面と特定の実施形態を記載し、説明したが、特許請求の範囲に記載された本発明の範囲は、説明した特定の実施形態に限定されないことが理解されるべきである。したがって、これら実施形態は、限定的よりも例示的と見なされるべきであり、以下の特許請求の範囲に記載された本発明の範囲と、それらの構造上および機能上の等価物から外れることなく、変形がこれら実施形態において当業者によってなされてもよいことが理解されるべきである。