(57)【要約】  仮想シャーシシステムは、マスター仮想シャーシアドレスで構成された複数のネットワークノードを備える。ネットワークノードは、ネットワークノード間でデータパケットの交換を行うための接続を提供する仮想ファブリックリンク（ＶＦＬ）によって接続される。データパケットは、送信元ＭＡＣアドレス、および送信元シャーシＩＤ、送信元ネットワークインターフェース識別子、および送信元ポート識別子情報などの関連付けられているハードウェアデバイス情報を含む。ネットワークノードは、この情報を使用して、仮想シャーシシステム内でデータパケットを転送するための同期化されたＭＡＣアドレステーブルを維持する。ネットワークノード内の１つまたは複数の制御プロトコルは、トポロジー発見、マスターネットワークノード選択、ルーティングテーブルの生成、健全性監視、および他の機能に使用される。
2016501462.tif 000002
【特許請求の範囲】
【請求項１】
仮想シャーシシステム内のネットワークノードであって：
ネットワークノードと仮想シャーシシステム内の複数の他のネットワークノードとの間で動作可能に結合されている複数の仮想ファブリックリンク（ＶＦＬ）と、
隣接するネットワークノードの送信元シャーシ識別子およびホップカウントを含む第１のプロトコルメッセージを受信するように動作可能な少なくとも１つのネットワークインターフェースモジュールと、
仮想シャーシマネージャであって、
第１のプロトコルメッセージを受信する第１のＶＦＬの着信ＶＦＬ識別子を決定し、
隣接するネットワークノードの送信元シャーシ識別子および着信ＶＦＬ識別子をトポロジーデータベース内に格納するように動作可能な
仮想シャーシマネージャとを備える、ネットワークノード。
【請求項２】
仮想シャーシマネージャは：
プロトコルメッセージ内のホップカウントをデクリメントし、
ネットワークノードの送信元シャーシ識別子および第２のＶＦＬを介して別の隣接するネットワークノードに送信するデクリメントされたホップカウントを含む第２のプロトコルメッセージを生成するようにさらに動作可能である、請求項１に記載のネットワークノード。
【請求項３】
少なくとも１つのネットワークインターフェースモジュールは：
隣接するネットワークノードに関連付けられている送信先ＭＡＣアドレスを有するデータパケットを受信し、
隣接するネットワークノードに関連付けられている送信先ハードウェアデバイス情報を１つまたは複数のアドレステーブルから決定し、１つまたは複数のアドレステーブルはトポロジーデータベースに基づき生成され、
第１のＶＦＬを介して隣接するノードに送信するプリペンデッドパケットヘッダーを有するパケットを生成し、プリペンデッドヘッダーは、隣接するネットワークノードの送信先ハードウェアデバイス情報を含むようにさらに動作可能である、請求項１に記載のネットワークノード。
【請求項４】
仮想シャーシマネージャは：少なくとも１つのネットワークインターフェースモジュールおよび制御マネージャモジュールのうちの１つまたは複数に含まれる、請求項１に記載のネットワークノード。
【請求項５】
仮想シャーシマネージャは：
ネットワークノードに対するパラメータの優先順位付けリストに基づき選択キーを決定し、
選択キーが仮想シャーシシステム内の複数の他のネットワークノードのうちの１つまたは複数に比較して有利である場合、仮想シャーシシステムのマスターネットワークノードとしての選択の要求を送信するようにさらに動作可能である、請求項１に記載のネットワークノード。
【請求項６】
少なくとも１つのネットワークインターフェースモジュールは：
第１のＶＦＬを介して確立された１つまたは複数のクリティカルコネクションによって隣接するネットワークノードを監視し、
クリティカルコネクションのうちの１つまたは複数が失敗した場合、隣接するネットワークノードが動作しているかどうかを決定するようにさらに動作可能である、請求項１に記載のネットワークノード。
【請求項７】
ネットワークノード内で動作可能である方法であって、
隣接するネットワークノードの送信元シャーシ識別子およびホップカウントを含む第１のプロトコルメッセージを、ネットワークノードと仮想シャーシシステム内の隣接するネットワークノードとの間に動作可能に結合された第１の仮想ファブリックリンク（ＶＦＬ）を介して受信することと、
第１のＶＦＬのＶＦＬ識別子を決定することと、
隣接するノードの送信元シャーシ識別子およびＶＦＬのＶＦＬ識別子をトポロジーデータベース内に格納することとを含む、ネットワークノード内で動作可能である方法。
【請求項８】
プロトコルメッセージ内のホップカウントをデクリメントすることと、
ネットワークノードの送信元シャーシ識別子および第２のＶＦＬを介して別の隣接するネットワークノードに送信するデクリメントされたホップカウントを含む第２のプロトコルメッセージを生成することとをさらに含む、請求項７に記載の方法。
【請求項９】
隣接するネットワークノードに関連付けられている送信先ＭＡＣアドレスを有するデータパケットを受信することと、
送信先ＭＡＣアドレスに関連付けられている送信先ハードウェアデバイス情報を１つまたは複数のアドレステーブルから決定することであって、１つまたは複数のアドレステーブルがトポロジーデータベースに基づき生成される、決定することと、
プリペンデッドパケットヘッダーを有するパケットを生成することであって、プリペンデッドヘッダーは、隣接するネットワークノードの送信先ハードウェアデバイス情報を含む、生成することと、
プリペンデッドパケットヘッダーを有するパケットを、第１のＶＦＬを介して、隣接するノードに送信することとをさらに含む、請求項７に記載の方法。
【請求項１０】
ネットワークノードに対するパラメータの優先順位付けリストに基づき選択キーを決定することと、
仮想シャーシシステムのマスターネットワークノードとしての選択の要求を送信することであって、要求が選択キーを含む、送信することとをさらに含む、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にデータネットワークに関するものであり、特に、１つまたは複数のデータネットワークのノード間にトポロジー的冗長性および回復力をもたらすためのシステムおよび方法に関するものである。
【背景技術】
【０００２】
データネットワークは、互いに通信する、および／またはネットワークにアタッチされているさまざまな他のネットワーク要素もしくはリモートサーバーと通信するさまざまなコンピューティングデバイス、例えば、パーソナルコンピュータ、ＩＰテレフォニーデバイス、またはサーバーを含む。例えば、データネットワークは、限定することなく、例えば、ボイスオーバーＩＰ（ＶｏＩＰ）、データ、およびビデオアプリケーションを含む複数のアプリケーションをサポートするメトロイーサネット（登録商標）またはエンタープライズイーサネットネットワークを含み得る。そのようなネットワークは、通常、ネットワークを通るトラフィックをルーティングするために、スイッチまたはルーターとして一般に知られている、相互接続されたノードを含む。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国出願公開第２０１２／００３３６７８号明細書
【非特許文献】
【０００４】
【非特許文献１】ＩＥＥＥ  ８０２．１ＡＸ−２００８、２００８年１１月３日
【非特許文献２】ＩＥＥＥ規格８０２．１Ｑ、仮想ブリッジローカルエリアネットワーク、２００３年版
【非特許文献３】ＩＥＥＥ  Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  ＲＦＣ  １１４２、「ＯＳＩ  ＩＳ−ＩＳ  Ｉｎｔｒａ−ｄｏｍａｉｎ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ」、１９９０年２月
【非特許文献４】ＩＥＥＥ  Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  ＲＦＣ  １１９５、「Ｕｓｅ  ｏｆ  ＯＳＩ  ＩＳ−ＩＳ  ｆｏｒ  Ｒｏｕｔｉｎｇ  ｉｎ  ＴＣＰ／ＩＰ  ａｎｄ  Ｄｕａｌ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」、１９９０年１２月
【非特許文献５】ＩＥＥＥ  Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  ＲＦＣ  ２７４０、「ＯＳＰＦ  ｆｏｒ  ＩＰｖ６」、１９９９年１２月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
データネットワークが直面している重要な難題の１つは、満足の行くネットワーク性能を提供するうえで欠かせない、ネットワーク回復力、すなわち、コンポーネント故障、リンク障害、または同様のものが結果として生じたとしても高い可用性を維持する能力が要求されることである。ネットワーク回復力は、一部は、トポロジー的冗長性を通じて、すなわち、単一障害点が生じるのを防ぐために冗長ノード（およびノード内の冗長コンポーネント）およびノード間の複数の物理的経路を用意することによって、また一部は、障害が発生すると、冗長性を利用して代替経路にコンバージしネットワークを通るトラフィックの流れのスイッチング／ルーティングを行うＬ２／Ｌ３プロトコルを利用して、達成され得る。これから理解されるように、代替経路へのシームレスな遷移を達成するためには、検出およびコンバージェンス時間は、ネットワーク内で短時間（有利には、１秒より短く）でなければならない。リングネットワーク、部分的メッシュネットワーク、完全メッシュネットワーク、ハブネットワークなどの、さまざまな種類のネットワークトポロジーが、ネットワーク要素間に冗長性を付与するためにネットワーク内に実装される。ネットワーク要素間のコンバージェンス時間および冗長性は、多くの場合、ネットワーク内に実装されているネットワークトポロジーの種類により異なる。
【０００６】
ネットワーク要素のアーキテクチャも様々で、ネットワーク回復力に影響を及ぼす。例えば、さまざまなノードアーキテクチャは、単一スイッチング要素、スタッカブルスイッチング要素（ｓｔａｃｋａｂｌｅ  ｓｗｉｔｃｈｉｎｇ  ｅｌｅｍｅｎｔｓ）、マルチスロットシャーシベースのネットワーク要素などを含む。一般に、コストおよびネットワークニーズに応じて、これらの種類のノードアーチテクスチャのうちの１つが選択され、これらの種類のネットワークトポロジーのうちの１つに実装される。しかし、実装された後、一方の種類のネットワークトポロジーから他方の種類のネットワークトポロジーにアップグレードまたは遷移するのが困難であるときもある。また、ネットワークトポロジー内で一方の種類のノードアーキテクチャから他方の種類のノードアーキテクチャに遷移すること、またはさまざまな種類のノードアーキテクチャを１つのネットワーク内に組み込むことも困難である。
【課題を解決するための手段】
【０００７】
したがって、１つまたは複数の異なる種類のネットワークトポロジーにおいて１つまたは複数の異なる種類のノードアーキテクチャを有するノード間に回復力を実現するためのシステムおよび方法が必要である。
【図面の簡単な説明】
【０００８】
【図１ａ】本発明による仮想シャーシシステムの実施形態の概略ブロック略図である。
【図１ｂ】本発明による仮想シャーシシステムの実施形態の概略ブロック略図である。
【図１ｃ】本発明による仮想シャーシシステムの実施形態の概略ブロック略図である。
【図２】本発明による仮想シャーシシステムにおけるネットワークトポロジー発見プロセスの一実施形態の論理フロー図である。
【図３】本発明による仮想シャーシシステムにおけるネットワークノード内のトポロジーデータベースの一実施形態の概略ブロック図である。
【図４】本発明による仮想シャーシシステムにおけるネットワークノードの一実施形態の概略ブロック図である。
【図５】本発明による仮想シャーシシステムにおけるネットワークノードのネットワークインターフェースモジュールの一実施形態の概略ブロック図である。
【図６】本発明による仮想シャーシシステムにおけるパケットのプリペンデッドヘッダー（ｐｒｅ−ｐｅｎｄｅｄ  ｈｅａｄｅｒ）の一実施形態の概略ブロック図である。
【図７】本発明による仮想シャーシシステムにおけるネットワークノードを通るパケットフローの一実施形態の概略ブロック図である。
【図８】本発明による仮想シャーシマネージャアプリケーションの一実施形態の概略ブロック図である。
【図９】本発明による構成マネージャモジュールの一実施形態の概略ブロック図である。
【図１０】本発明による仮想シャーシシステムにおけるネットワークノードの動作モードを決定するための方法の一実施形態の論理フロー図である。
【図１１】本発明による仮想シャーシモードで起動時にネットワークノードを構成するための方法の一実施形態の論理フロー図である。
【図１２】本発明による仮想シャーシシステムにおけるトポロジー発見の一実施形態の概略ブロック図である。
【図１３】本発明による仮想シャーシシステムにおけるマスターネットワークノードの選択のための方法の一実施形態の論理フロー図である。
【図１４ａ】本発明による仮想シャーシシステムにおいてユニキャストトラフィックをルーティングする一実施形態の概略ブロック図である。
【図１４ｂ】本発明による仮想シャーシシステムにおいてユニキャストトラフィックをルーティングする一実施形態の概略ブロック図である。
【図１５ａ】本発明による仮想シャーシシステムにおいて非ユニキャストトラフィックをルーティングする一実施形態の概略ブロック図である。
【図１５ｂ】本発明による仮想シャーシシステムにおいて非ユニキャストトラフィックをルーティングする一実施形態の概略ブロック図である。
【図１６】本発明による仮想シャーシシステムにおいて非ユニキャストトラフィックをルーティングするための方法の一実施形態の論理フロー図である。
【図１７】本発明による仮想シャーシシステムマージの概略ブロック図である。
【図１８】本発明による仮想シャーシシステムにおける仮想シャーシシステムマージの方法の一実施形態の論理フロー図である。
【図１９】本発明による仮想シャーシシステムにおける健全性監視の一実施形態の概略ブロック図である。
【図２０】本発明による仮想シャーシシステムにおける健全性監視のための方法の一実施形態の論理フロー図である。
【発明を実施するための形態】
【０００９】
以下の規格は、本出願において参照され、引用により本明細書に組み込まれている：１）以前にはＩＥＥＥ  ８０２．３ａｄタスクフォースによって２０００年３月に追加されたＩＥＥＥ  ８０２．３規格の第４３項であった、現在は２００８年１１月３日にＩＥＥＥ  ８０２．１ＡＸ−２００８に組み込まれているとおりのものであるリンクアグリゲーション制御プロトコル（ＬＡＣＰ）、および２）ＩＥＥＥ規格８０２．１Ｑ、仮想ブリッジローカルエリアネットワーク、２００３年版。
【００１０】
図１ａは、仮想ファブリックリンク（ＶＦＬ）１２０と称される制御およびアドレッシング情報を伝達するために専用リンクアグリゲートグループによって動作可能に結合された複数のネットワークノード１１０を備える仮想シャーシシステム１００の一実施形態を示している。ＶＦＬ１２０およびその動作は、引用により本明細書に組み込まれ、すべての目的に関して本米国特許出願の一部を成す、２０１１年１月２０日に出願された係属中の米国特許出願第１３／０１０，１６８号、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＭＵＬＴＩ−ＣＨＡＳＳＩＳ  ＬＩＮＫ  ＡＧＧＲＥＧＡＴＩＯＮ」においてより詳しく説明されている。ＶＦＬ１２０は、トラフィック転送、ＭＡＣアドレッシング、マルチキャストフロー、アドレス解決プロトコル（ＡＲＰ）テーブル、レイヤ２制御プロトコル（例えば、スパニングツリー、イーサネットリング保護、論理リンク検出プロトコル）、ルーティングプロトコル（例えば、ＲＩＰ、ＯＳＰＦ、ＢＧＰ）、ならびにネットワークノードおよび外部リンクのステータスに関係する情報の交換のためネットワークノード１１０間の接続を構成する。
【００１１】
一実施形態において、複数のネットワークノード１１０は、統合された管理機能を持つ単一の仮想ネットワークノードとして動作する。マスターネットワークノード、例えば、ネットワークノード１１０ａが、選択され、マスターネットワークノード１１０のローカルＭＡＣアドレスが、他のネットワークノード１１０によって仮想シャーシシステム１００のマスターＭＡＣアドレスとして採用される。マスターＭＡＣアドレスは、仮想シャーシシステム１００内のネットワークノード１１０をアドレッシングするために外部ノード１１２によって利用される。したがって、ネットワークノード１１０は、外部ノード１１２に対して透過的に動作し、外部ノード１１２によって単一の論理デバイスとして扱われる。
【００１２】
外部ノード１１２は、単一のトランクもしくはリンク、リンクアグリゲートグループ（ＬＡＧ）１１６、または仮想シャーシリンクアグリゲートグループ（ＶＣ−ＬＡＧ）１１４を使用して仮想シャーシシステム１００内の１つまたは複数のネットワークノード１１０に結合するように動作可能である。回復力を高め、単一障害点、さらには２つの障害点を取り除くために、ＶＣ−ＬＡＧ１１４は、外部ノードを仮想シャーシシステム１００内の２つまたはそれ以上のネットワークノード１１０に結合するように動作可能である。外部ノードは、トラフィックをＶＣ−ＬＡＧ１１４の利用可能なリンクにまたがって分散させるためにロードバランシング技術を使用することができる。例えば、ＶＣ−ＬＡＧ１１４の物理リンクのうちの１つは、帯域幅をより効果的に使用できるようにするロードバランシングアルゴリズム（通常は送信元および送信先のインターネットプロトコル（ＩＰ）または媒体アクセス制御（ＭＡＣ）アドレス情報に作用するハッシュ関数を伴う）に基づきパケットを送信するため外部ノードによって選択される。
【００１３】
通常動作では、仮想シャーシシステム内のネットワークノード１１０は、広範なレイヤ２およびレイヤ３のプロトコルによるシステム識別のためにマスターＭＡＣアドレスを共有する。例えば、スパニングツリープロトコルおよびＬＡＣＰプロトコルは、マスターＭＡＣアドレスを仮想シャーシシステム１１０の識別子として使用する。インターネットプロトコル（ＩＰ）ルーティングでも、マスターＭＡＣアドレスを利用して、ネットワーク内の外部ネットワーク要素に対して仮想シャーシシステム１００を識別する、例えば、ピアがマスターＭＡＣアドレスを、仮想シャーシシステム１００を宛先とするパケットに対するイーサネット送信先アドレスとして使用する。したがって、仮想シャーシシステム１００内のネットワークノード１１０は、外部ネットワークノード１１２によって単一の論理ノードとしてみなされる。それに加えて、仮想シャーシシステム１００内のネットワークノード１１０は、統合されたアドミニストレーション、オペレーション、およびメンテナンスマネジメントシステムにより単一の論理ノードとして管理される。
【００１４】
仮想シャーシシステム１００内のネットワークノード１１０は、外部ノード１１２によって単一の論理デバイスとして扱われるので、外部ノード１１２は、ＶＣ−ＬＡＣ１１４のすべてのリンク上でトラフィックをアクティブに転送するように動作可能である。この機能は、キャリアグレード検出およびエッジアップリンク障害さらにはネットワークノード１１０の障害までのコンバージェンス時間を円滑にしながら外部ノードとネットワークノードとの間のスパニングツリープロトコルを必要とすることなくネットワークノード１１０への外部ノード１１２のマルチホーミングを可能にする。仮想シャーシシステム１００へのＶＣ−ＬＡＣ１１４のすべてのアップリンクのアクティブ転送モードの別の利点は、ＶＣ−ＬＡＣ１１４のリンクの帯域幅の使用効率が高まることである。
【００１５】
仮想シャーシシステム１００内で、ネットワークノード１１０は、シャーシ識別子またはシャーシＩＤと称されるグローバルに一意的な識別子を割り当てられる。ネットワークノード１１０は、内部ＶＦＬ識別子（ＶＦＩＤ）を仮想シャーシシステム１００内の構成されたＶＦＬ１２０のそれぞれに割り当てる。ＶＦＬに対するＶＦＩＤは、ＶＦＬ１２０の内部識別および構成のために利用されるので、ネットワークノード１１０は、同じ、または異なるＶＦＩＤを、別のネットワークノード１１０によって割り当てられるようにＶＦＬ１２０に割り当てることができる。ＶＦＬ１２０は、２０１１年１月２０日に出願された米国特許出願第１３／０１０，１６８号、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＭＵＬＴＩ−ＣＨＡＳＳＩＳ  ＬＩＮＫ  ＡＧＧＲＥＧＡＴＩＯＮ」でさらに詳しく説明されているように、トラフィック転送、ＭＡＣアドレッシング、マルチキャストフロー、アドレス解決プロトコル（ＡＲＰ）テーブル、レイヤ２制御プロトコル（例えば、スパニングツリー、イーサネットリング保護、論理リンク検出プロトコル）、ルーティングプロトコル（例えば、ＲＩＰ、ＯＳＰＦ、ＢＧＰ）に関する情報をネットワークノード１１０の間で交換するための接続を提供する。一実施形態において、ネットワークノード１１０間の媒体アクセス制御（ＭＡＣ）アドレステーブルなどのレイヤ２アドレステーブルの同期化は、ＶＦＬ１２０上のレイヤ２パケットフローによって、さらには定期的なキープアライブメカニズムによって駆動され、これにより、所定のＭＡＣアドレスを所有するネットワークノード１１０は、送信元アドレスなどのＭＡＣアドレスを運ぶ特定のパケットのフラッディングを引き起こす。同期化メカニズムは、また、ネットワークノード１１０またはそのコンポーネントのうちのいくつかが故障した場合に対処する標準的なＭＡＣフラッシングメカニズムを実装する必要もある。ＭＡＣアドレス送信元学習が、未知の送信先ＭＡＣアドレスのフラッディングを通じてＶＦＬ１２０上で有効化される。送信元学習において、ネットワークノード１１０は、送信元シャーシＩＤ、送信元ネットワークインターフェース識別子、および送信元ポート識別子情報などの、送信元ＭＡＣアドレスおよび関連するハードウェアデバイス情報を含むプリペンデッドヘッダーを備えるパケットをＶＦＬ１２０を介して交換する。ネットワークノード１１０は、この情報を使用して、最低限のメッセージングベースＭＡＣテーブル同期化で同期化されたＭＡＣアドレステーブルを維持する。同期化されたＭＡＣアドレステーブルを利用することで、ネットワークノード１１０は、仮想シャーシシステム１００内のネットワークノード１１０の間でパケットを処理し、転送するように動作可能である。
【００１６】
図１ａは、部分的メッシュネットワークトポロジーにおいてネットワークノード１１０が結合される状況を示している。しかし、仮想シャーシシステム１００内のネットワークノード１１０は、仮想シャーシシステム１００の動作に影響を及ぼすことなく複数の種類のネットワークトポロジーのうちのどれかにおいて結合され得る。図１ｂは、複数のネットワークノード１１０がＶＦＬ１２０によって結合されたリングネットワークトポロジーで構成されている仮想シャーシシステム１００を示している。図１ｃは、複数のネットワークノード１１０がハブアンドスポーク型またはスター型ネットワークトポロジーで構成されている仮想シャーシシステム１００を示している。線状、ツリー型、完全メッシュ、ハイブリッドなどの、図示されていない他のネットワークトポロジーも、仮想シャーシシステム１００によってサポートされる。複数の異なる種類のネットワークトポロジーをサポートするために、仮想シャーシシステム１００内のネットワークノード１１０は、ネットワークトポロジー発見プロセスを実行するように動作可能である。
【００１７】
図２は、仮想シャーシシステム１００におけるネットワークトポロジー発見プロセス１３０の一実施形態の論理フロー図を示している。このプロセスは、起動時に、リブート時に、ネットワークのステータス変化の指示があると、または所定の時間的周期で、仮想シャーシシステム１００内のアクティブネットワークノード１１０によって実行される。ステップ１３２において、ネットワークノード１１０は、それが仮想シャーシモードで動作していることを検出する。例えば、ネットワークノード１１０の１つまたは複数のパラメータは、仮想シャーシ動作モードを指示するように構成される。ネットワークノード１１０は、それらのパラメータが仮想シャーシモード動作（例えば、スタンドアロンモードまたはマルチシャーシモードではなく）を指示していることを、検出する。次いで、ネットワークノード１１０は、ステップ１３４で、仮想シャーシシステム１００内の他のネットワークノード１１０を発見し、トポロジーおよび構成情報を交換するために１つまたは複数の制御プロトコルを実行する。ネットワークノード１１０は、この情報を使用して、仮想シャーシシステム１００のトポロジーデータベースを構築する。トポロジーデータベースは：他のネットワークノード１１０に対する識別情報（例えば、ローカルＭＡＣアドレス、シャーシ識別子）、アクティブＶＦＬ１２０（または他のアクティブスイッチ間リンク）をホストするネットワークインターフェースに対する識別情報、ＶＦＬ１２０およびネットワークノード１１０上のその関連するメンバーポートに対する識別情報を含む。ネットワークノード１１０は、こうして、ネットワークノード１１０間のアクティブ接続および仮想シャーシシステム１００内の他のネットワークノード１１０の構成情報を学習する。以下の表１は、発見フェーズの後の、この例では例えばシャーシＩＤ＝１を有する、ネットワークノード１１０ａに対するトポロジーデータベースの一例である。表１は、トポロジーデータベース内に格納されている例示的な情報を含むが、図示されていない他の情報およびデータも、トポロジーデータベースに含まれ得る。それに加えて、トポロジーデータベースは、別のデータベースもしくはテーブル内に格納されるか、またはネットワークノード１１０内の他のテーブルまたはデータベースと組み合わされ得る。
【００１８】
【表１】
2016501462.tif 000003
【００１９】
図２のステップ１３６において、マスターネットワークノードは、仮想シャーシシステム１００に対する管理および他のタスクを実行するように選択される。次いで、マスターネットワークノードのローカルＭＡＣアドレスが、他のネットワークノード１１０によって採用される。以下の表２は、シャーシＩＤ＝１である選択されたマスターネットワークノード１１０に対するトポロジーデータベースの一例である。表２を見るとわかるように、シャーシＩＤ＝１であるネットワークノードは、マスターの役割を有するものとして指示され、他のノードは、トポロジーデータベース内のスレーブの役割を有するものとして指示される。
【００２０】
【表２】
2016501462.tif 000004
【００２１】
マスターネットワークノード１１０の選択は、シャーシ優先度、アップタイム、シャーシＩＤ、およびシャーシＭＡＣアドレスを含むパラメータの優先順位付きされたリストに基づく。アップタイムのパラメータは、より長い期間にわたって動作しているネットワークノード１１０に優先付けする。シャーシ優先度のパラメータは、シャーシＩＤまたはアップタイムに関係なくマスターネットワークノード１１０のユーザープリファレンスを定義するユーザー構成優先度である。さまざまなパラメータを使用することで、マスターネットワークノード１１０の選択の柔軟性を高める。トポロジーデータベースに示されているシャーシグループパラメータは、仮想シャーシシステム１００を識別する。異なるシャーシグループ識別を有する１つまたは複数の追加の仮想シャーシシステム１００も、ネットワーク内で動作可能であるものとしてよい。トポロジーデータベースは、ネットワークノード１１０内のアクティブまたはプライマリ制御マネージャモジュール（ＣＭＭ）、およびネットワークノード１１０のシャーシタイプを識別する。
【００２２】
ネットワークトポロジー発見プロセス１３０のステップ１３８において、ネットワークノード１１０は、１つまたは複数のプロトコルを実行して、仮想シャーシシステム１００内の接続およびネットワークノード１１０の状態もしくはステータスを監視する。ネットワークノード１１０の現在の状態は、トポロジーデータベース内に維持される。仮想シャーシシステム１００内のネットワークノード１１０における検出されたステータスの変化は、ルーティングの変更、マスターノードの変更、などを開始し得る。ネットワークノード１１０のトポロジー自己発見および監視を通じて、仮想シャーシシステム１００は、最低限度の事前構成および介入で複数の異なる種類のネットワークトポロジーをサポートするように動作可能である。
【００２３】
図３は、マスターネットワークノード１１０の選択の後、仮想シャーシシステム１００内のネットワークノード１１０におけるトポロジーデータベース１４４の一例を示している。この例では、ネットワークノード１１０ａは、マスターネットワークノードとして採用され、ネットワークノード１１０ｂおよび１１０ｃはスレーブノードである。ネットワークノード１１０ａのローカルＭＡＣアドレス（例えば、マスターＭＡＣアドレス＝Ａ）は、ネットワークノード１１０ａ−ｃによって仮想シャーシＭＡＣアドレスとして採用される。それに加えて、マスターＭＡＣアドレス（ＭＡＣ＝Ａ）は、管理アプリケーションのアプリケーションＭＡＣアドレスとして採用される。
【００２４】
仮想シャーシシステム１００は、ネットワークノード１１０に、単一のモジュール、スタッカブル、またはマルチスロットシャーシベースのアーキテクチャなどの、１つまたは複数の異なる種類のノードアーキテクチャを含めるようにも動作可能である。図４は、異なる種類のノードアーキテクチャを使用する仮想シャーシシステム１００におけるネットワークノード１１０の一実施形態の概略ブロック図を示している。この例では、ネットワークノード１１０ａは、複数のネットワークインターフェースモジュール１５２ａ−ｎを備えるマルチスロットシャーシベースのアーキテクチャを有する。一般に、マルチスロットシャーシベースのアーキテクチャは、回線カードまたはポートモジュールなどの、１つまたは複数のネットワークインターフェースモジュール（ＮＩＭ）１５２ａ−ｎと、１つのエンクロージャ、制御マネージャモジュール（ＣＭＭ）１５０ａ−ｂ、および共通電源を共有する。ネットワークインターフェースモジュール１５２ｎは、キューイングモジュール２１２およびスイッチングモジュール２１０を備え、シャーシのバックプレーンに一体化されたファブリックスイッチ２１４によって接続される。
【００２５】
この例におけるネットワークノード１１０ｂは、スタッカブルノードアーキテクチャを有し、バックプレーン接続１４２によって結合された複数のネットワーク要素１４０ａ−ｎを備える。それぞれのネットワーク要素１４０ａ−ｎは、スタンドアロンノードとして動作可能であり、それ専用のエンクロージャ、制御マネージャモジュール（ＣＭＭ）１５０、スイッチングモジュール２１０、キューイングモジュール２１２、および電源を備える。いくつかのスタックアーキテクチャでは、１つのネットワーク要素（この例におけるネットワーク要素１４０ａ）は、管理を目的としてスタックの主またはマスターユニットとして指定される。
【００２６】
ネットワークノード１１０ｃは、単一のスタッカブル要素１４０などの単一モジュールノードアーキテクチャ、または代替的に、単一のネットワークインターフェースモジュール１５２を備えるマルチスロットシャーシベースのアーキテクチャを有する。
【００２７】
ネットワークノード１１０ａ−ｃは、図１ａ−ｃの仮想シャーシシステム１００内のネットワーク要素１１０のうちの１つまたは複数に対応する。例えば、仮想シャーシシステム１００は、マルチスロットシャーシベースのノードアーキテクチャのみを有するネットワークノード１１０を備えるか、またはスタッカブルノードアーキテクチャのみを有するネットワークノード１１０を備えるか、またはマルチスロットシャーシベースのアーキテクチャ、スタッカブルノードアーキテクチャ、および単一モジュールノードアーキテクチャなどの、２つまたはそれ以上の種類のノードアーキテクチャを有するネットワークノード１１０の組み合わせを備えるように動作可能である。図示されていないけれども、仮想シャーシシステム１００は、他の種類のノードアーキテクチャおよび構成からなるネットワークノード１１０を備えることもできる。
【００２８】
ネットワークノード１１０ａおよびネットワークノード１１０ｂは、ＶＦＬ１２０ａによって動作可能に結合される。ネットワークノード１１０ａおよび１１０ｂは、ネットワークノード１１０ａに対するＶＦＩＤ＝３、および図３に示されているようなネットワークノード１１０ｂによるＶＦＩＤ＝０などの、内部ＶＦＬ識別子（ＶＦＩＤ）を有するＶＦＬ１２０ａを指定する。ネットワークノード１１０ａおよびネットワークノード１１０ｃは、ＶＦＬ１２０ｂによって動作可能に結合される。ネットワークノード１１０ａおよび１１０ｃは、ネットワークノード１１０ａに対するＶＦＩＤ＝２、および図３に示されているようなネットワークノード１１０ｃによるＶＦＩＤ＝１などの、内部ＶＦＬ識別子（ＶＦＩＤ）を有するＶＦＬ１２０ｂを指定する。それに加えて、ネットワークノード１１０ａ−ｃは、図１ａ−ｃに示されているように追加のＶＦＬ１２０によって１つまたは複数の他のネットワークノード１１０に結合されるように動作可能でもある。ネットワークノード１１０ａと１１０ｂとの間のＶＦＬ１２０ａは、仮想シャーシシステム１００内のさまざまなネットワークノード１１０の間のＶＦＬ１２０の動作および構成の一般化として以下で説明されている。
ネットワークノード１１０ａとネットワークノード１１０ｂとの間のＶＦＬ１２０ａは、１つまたは複数のスイッチングモジュール２１０における１つまたは複数のＶＦＬメンバーポートに動作可能に結合される。１つまたは複数のポート、リンクまたはモジュールに障害が発生した場合に冗長性を利用できるようにするため、ＶＦＬ１２０ａは、ネットワークノード１１０ａおよび１１０ｂの異なるスイッチングモジュール２１０の間のＬＡＣＰまたは類似のアグリゲートプロトコルを使用して生成される複数のアグリゲートリンクを含むように動作可能である。例えば、図４では、ＶＦＬ１２０ａは、ネットワークノード１１０ａのＮＩＭ１５２ａとネットワークノード１１０ｂのスタッカブルネットワーク要素１４０ａとの間の物理リンクの第１のサブセットＡ、およびネットワークノード１１０ａのＮＩＭ１５２ｂとネットワークノード１１０ｂのスタッカブルネットワーク要素１４０ｂとの間の物理リンクの第２のサブセットＢを備える。
【００２９】
ネットワークノード１１０は、仮想シャーシシステム１００内で一意的なシャーシ識別子を割り当てられる。それぞれのネットワークノード１１０に対するシャーシＩＤは、一意的かつグローバルであり、トポロジー発見を通じて、ネットワークノード１１０は、仮想シャーシシステム１００内のピアネットワークノード１１０のシャーシＩＤを認識する。それに加えて、ネットワークノード１１０内のスイッチングモジュール２１０およびポートインターフェースなどのさまざまなコンポーネントに対する一意的なハードウェアデバイス識別子またはモジュール識別子（ＭＩＤ）が生成され、これにより、ローカルおよびリモートのオブジェクトの管理が可能になる。一実施形態において、スイッチングモジュール２１０に対するハードウェアデバイス識別子ＭＩＤは、仮想シャーシシステム内でグローバルな意味を有するが、キューイングモジュール２１２などの他のコンポーネントに対するＭＩＤは、ローカルな意味しか有し得ない。例えば、スイッチングモジュール２１０に割り当てられたハードウェアデバイス識別子は、他のネットワークノード１１０によって知られるが、他のデバイスに対するハードウェアデバイス識別子は、ローカルネットワークノード１１０に制限され、他のネットワークノード１１０に対しては意味がない。例えば、スイッチングモジュール２１０のポートインターフェースは、シャーシＩＤ、スイッチングモジュールＩＤ、およびポートインターフェースＩＤを含むグローバルな一意的ハードウェアデバイス識別子を割り当てられる。一実施形態において、仮想シャーシシステム内のネットワークノード１１０は、プリペンデッドヘッダーモードで動作し、ＶＦＬ１２０を介してデータおよび制御パケットを交換する。
【００３０】
図５は、プリペンデッドヘッダーモードで動作するネットワークインターフェースモジュール（ＮＩＭ）１５２の一実施形態の概略ブロック図をより詳細に示している。ネットワークインターフェースモジュール１５２が図示されているけれども、スタッカブルネットワーク要素１４０または単一のモジュールネットワーク要素は、プリペンデッドヘッダーモードで動作するために類似の機能を実行するように動作可能である。スイッチングモジュール２１０は、仮想シャーシシステム１００から外部ノード１１２に接続されている複数の外部ポート２４０を備える。外部ポート２４０の１つまたは複数は、ＶＣ−ＬＡＧ１１４、ＬＡＧ１１６、単一のトランクまたはその他のトランクグループ、固定リンクなどに対するメンバーポートを備えることができる。外部ポート２４０は、銅線ポート（ＣＡＴ−５Ｅ／ＣＡＴ−６）、マルチモードファイバーポート（ＳＸ）、またはシングルモードファイバーポート（ＬＸ）などの、同じ物理インターフェースタイプを有するものとしてよい。別の実施形態において、外部ポート２４０は、１つまたは複数の異なる物理インターフェースタイプを有することができる。
【００３１】
外部ポート２４０は、スイッチングモジュール２１０に関連付けられているｇｐｏｒｔおよびｄｐｏｒｔ値などの、外部ポートインターフェース識別子（ＰｏｒｔＩＤ）、例えば、デバイスポート値を割り当てられる。一実施形態において、ネットワークノード１１０のシャーシＩＤ、スイッチングモジュール２１０のＭＩＤ、および外部ポートインターフェース識別子（ＰｏｒｔＩＤ）は、仮想シャーシシステム１００内のネットワークノード１１０における物理外部ポートインターフェース２４０のグローバルな一意的識別子として使用される。別の実施形態において、グローバルに一意的なモジュール識別子（ＭＩＤ）は、シャーシ識別子に基づき仮想シャーシシステム内のネットワークノードのスイッチングモジュール２１０に割り当てられる。例えば、スイッチングＭＩＤ０−３１は、シャーシＩＤ＝１に割り当てられ、スイッチングＭＩＤ３２−６３は、シャーシＩＤ＝２に割り当てられる、などである。この場合、グローバルに一意的なスイッチングＭＩＤおよび外部ポート識別子（ＰｏｒｔＩＤ）は、仮想シャーシシステム１００内のネットワークノード１１０における物理外部ポートインターフェース２４０のグローバルな一意的識別子として使用される。
【００３２】
パケットが、外部ポート２４０上で受信されると、スイッチングモジュール２１０は、そのパケットを、パケットの送信元および／または送信先ＭＡＣアドレスに関連付けられているハードウェアデバイス情報（ＨＤＩ）を含むようにプリペンデッドヘッダーを追加する（か、または他の何らかの形でパケットヘッダーを修正する）プリペンデッドパケットヘッダーインターフェース（ＰＰＨＩ）２４６に転送する。一実施形態において、プリペンデッドヘッダーは、パケット優先度およびロードバランス識別子などの他の情報を含み得る。パケットのＭＡＣアドレスに関連付けられているＨＤＩ情報を取得するために、ＰＰＨＩは、ＭＡＣ／ＨＤＩ転送テーブル２５０でルックアッププロセスを実行する。アドレステーブルメモリ２４８に記憶されるＭＡＣ／ＨＤＩ転送テーブル２５０は、ＭＡＣアドレスおよび関連するハードウェアデバイス情報のリストを含む。ハードウェアデバイス情報は、ネットワークノード１１０、スイッチングモジュール２１０、および／またはパケットをルーティングするためのポートインターフェース２４０を一意的に識別する。ハードウェアデバイス情報は、例えば、シャーシＩＤ、スイッチングモジュール２１０のＭＩＤ、および／または送信先ＭＡＣアドレスに関連付けられているポート２４０のポートインターフェースＩＤを含む。ＭＡＣ／ＨＤＩ転送テーブル２５０は、送信元トランクマップ（ｓｏｕｒｃｅ  ｔｒｕｎｋ  ｍａｐ）、トランクビットマップテーブル（ｔｒｕｎｋ  ｂｉｔｍａｐ  ｔａｂｌｅ）、トランクグループテーブル（ｔｒｕｎｋ  ｇｒｏｕｐ  ｔａｂｌｅｓ）、ＶＬＡＮマッピングテーブル、などの、１つまたは複数のテーブルを含みうる。一実施形態において、ＭＡＣ／ＨＤＩ転送テーブル２５０またはその一部は、ＮＩＭ１５２のキューイングモジュールまたは他のモジュールにも配置され得る。
【００３３】
トポロジーデータベース１４４に基づき、ＶＦＬルーティング構成テーブル２５４がネットワークノード１１０側で生成され、ユニキャストトラフィックのルーティングを決定する。ＶＦＬルーティング構成テーブル２５４は、シャーシＩＤおよび関連付けられているＶＦＬ  ＩＤ（ＶＦＩＤ）を含む。シャーシＩＤに関連付けられているＶＦＩＤは、送信先シャーシＩＤによって識別されたネットワークノード１１０にパケットをルーティングするために仮想シャーシシステム１００内のＶＦＬ１２０を識別する。別の実施形態において、グローバルに一意的なモジュール識別子（ＭＩＤ）が、仮想シャーシシステム１００内のネットワークノード１１０のスイッチングモジュール２１０に割り当てられた場合、ＶＦＬルーティング構成テーブル２５４は、グローバルに一意的なＭＩＤおよび関連付けられているＶＦＬ  ＩＤ（ＶＦＩＤ）を含む。一実施形態において、ＶＦＬルーティング構成テーブル２５４は、最短経路アルゴリズム、トラフィックベースのアルゴリズム、または他の種類のルーティングアルゴリズムを使用して生成される。図１ａに示されている仮想シャーシシステム１００に対するＶＦＬルーティング構成テーブル２５４の一例が、以下の表３に示されている。
【００３４】
【表３】
2016501462.tif 000005
2016501462.tif 000006
【００３５】
ＭＡＣ／ＨＤＩ転送テーブル２５０およびＶＦＬルーティングテーブル２５４は、アドレステーブルメモリ２４８内の独立したテーブルとして示されているけれども、これらのテーブルは組み合わされるか、またはデータがテーブルの１つから他のテーブルに含められるか、またはテーブルは１つまたは複数の他のテーブルに分けて配置され得る。
【００３６】
一実施形態において、パケットのプリペンデッドヘッダー内のハードウェアデバイス情報ＨＤＩは、表３に示されているように、送信先シャーシＩＤに関連付けられているＶＦＬポート２５２に対する送信ＶＦＩＤを含む。プリペンデッドヘッダーは、ポートインターフェースＩＤ、スイッチングモジュール２１０のＭＩＤ、およびシャーシＩＤなどの、パケットを受信する送信元ポートに関連付けられているハードウェアデバイス情報ＨＤＩも含む。ＶＬＡＮ  ＩＤ、パケットタイプ（マルチキャスト、ユニキャスト、ブロードキャスト）、パケット優先度、およびロードバランス識別子などの追加情報も、一実施形態におけるプリペンデッドヘッダーに追加される。
【００３７】
次いで、プリペンデッドヘッダーを持つパケットは、ファブリックスイッチ２１４を介してのルーティングのためにキューイングモジュール２１２に送信される。ＶＦＬルーティング構成テーブル２５４に基づき、キューイングモジュール２１２は、プリペンデッドヘッダーを持つパケットを、送信ＶＦＬ１２０に接続されているスイッチングモジュール２１０にルーティングする。
【００３８】
キューイングモジュール２１２は、パケットバッファ２６０、トラフィックおよびバッファ管理を行うためのキュー管理部２６２、ならびにグローバルＨＤＩアドレステーブル２６４を備える。グローバルＨＤＩアドレステーブル２６４は、送信ＶＦＬ  ＩＤを他のＮＩＭ１５２のうちの１つまたは複数におけるキューイングモジュール２１２内の適切なキューにマッピングする。例えば、キューイングモジュール２１２は、送信ＶＦＬ１２０を介して送信するためにＶＦＬポートインターフェース２５２のうちの１つまたは複数に対する適切な出口キューにパケットを切り替える。一実施形態において、特定のＶＦＬポートインターフェースに対応する出口キューの決定は、プリペンデッドヘッダー内のロードバランス識別子に動作可能に基づく。
【００３９】
スイッチングモジュール２１０およびキューイングモジュール２１２は、別の集積回路もしくはモジュールとして図示されているけれども、モジュールの１つまたは複数の機能もしくはコンポーネントは、他のモジュール上に含まれるか、または代替的モジュールに組み合わされるか、または他の何らかの方法で１つまたは複数の集積回路で実装され得る。
【００４０】
図６は、仮想シャーシシステム１００におけるパケットのプリペンデッドヘッダーの一実施形態の概略ブロック図を示している。プリペンデッドヘッダー３００は、送信元ＨＤＩ３０２、送信先ＨＤＩ３０４、ＶＬＡＮ  ＩＤ３０６、パケットタイプ３０８、送信元ＭＡＣアドレス３１０、および送信先ＭＡＣアドレス３１２に対するフィールドを備える。一実施形態において、プリペンデッドヘッダーは、ロードバランス識別子３１４およびパケット優先度３１６も含み得る。送信先ＨＤＩ３０４は、例えば、ポート識別子（デバイスポート（ｄｐｏｒｔ）および／またはグローバルポート値（ＧＰＶ））、スイッチングモジュール２１０のＭＩＤ、および／または送信先ＭＡＣアドレスに関連付けられている送信先ネットワークノード１１０のシャーシＩＤを含む。送信元ＨＤＩ３０２は、例えば、ポート識別子（デバイスポート（ｄｐｏｒｔ）および／またはグローバルポート値（ＧＰＶ））、スイッチングモジュール２１０のＭＩＤ、および／または送信元ＭＡＣアドレスに関連付けられている送信元ネットワークノードのシャーシＩＤを含む。ロードバランス識別子３１４は、送信ＶＦＬ１２０を介してパケットを送信するためのＶＦＬメンバーポートを決定するためにキューイングモジュール２１２によって利用される。パケット優先度３１６は、特定の優先キューを決定するためにキューイングモジュール２１２によって利用される。
【００４１】
図７は、仮想シャーシシステム１００におけるネットワークノード１１０ａを通って別のネットワークノード１１０ｂに流れるパケットフローの一実施形態の概略ブロック図を示している。この例では、送信元ＭＡＣアドレスが「ＭＡＣ１」である仮想シャーシシステム１００からの外部デバイス３００は、送信先ＭＡＣアドレスが「ＭＡＣ２」であるパケットを送信する。この例ではシャーシＩＤ＝１のネットワークノード１１０ａは、例えば、スイッチングモジュール２１０ｎ上でポートＩＤ＝２、例えば、ＭＩＤ＝３１である、外部ポートインターフェース２４０でパケットを受信する。スイッチングモジュール２１０ｎは、送信先ＭＡＣアドレスＭＡＣ２を抽出し、ＭＡＣ／ＨＤＩ転送テーブル２５０においてアドレステーブル探索を実行して送信先ＭＡＣアドレスＭＡＣ２に関連付けられているハードウェアデバイス情報（ＨＤＩ）を決定する。送信先ＨＤＩは、例えば、送信先シャーシＩＤおよびデバイスモジュール識別子（ＭＩＤ）ならびに送信先ＭＡＣアドレスに関連付けられているポート識別子を含み得る。送信先ＨＤＩは、送信先ＭＡＣアドレスに関連付けられている送信先デバイスへの経路内の１つまたは複数の他のネットワークノードもしくはハードウェアモジュールの識別子も含み得る。送信先ＭＡＣアドレスが、別のネットワークノードに関連付けられている場合、例えば、送信先シャーシＩＤがローカルシャーシＩＤでない場合、スイッチングモジュール２１０は、送信先シャーシＩＤに関連付けられている送信ＶＦＬ  ＩＤを決定する。送信ＶＦＬ  ＩＤは、プリペンデッドヘッダー内の送信先ＨＤＩに追加され得る。例えば、図５では、ＶＦＬルーティングテーブル２５４は、送信先シャーシＩＤ＝２がＶＦＩＤ＝３を有するＶＦＬ１２０に関連付けられていることを示す。
【００４２】
スイッチングモジュール２１０ｎは、プリペンデッドヘッダー内に、発信元外部ポートインターフェースに関連付けられている送信元ハードウェアデバイス情報（ＨＤＩ）、例えば、ポートＩＤ＝２も含む。送信元ＨＤＩは、発信元スイッチングモジュール２１０のＭＩＤ、送信元ポート識別子、送信元ＮＩＭ１５２に対するＭＩＤ、送信元シャーシＩＤなどの１つまたは複数のハードウェアデバイス識別子を含み得る。さらに、一実施形態では、プリペンデッドヘッダーは、パケット優先度、および元のパケットから取り出されたパラメータ（送信元ＭＡＣアドレス、送信先ＭＡＣアドレス、送信元ＩＰアドレス、送信先ＩＰアドレス）に基づき決定されるロードバランス識別子を含む。
【００４３】
プリペンデッドヘッダーを有するパケットはキューイングモジュール２１２ｎに送信され、次いで、このモジュールが、送信先ＨＤＩに基づきパケットを送信するためにネットワークノード１１０上のＮＩＭ１５２を決定する。送信先ＨＤＩが、ネットワークノード上のローカル外部ポートインターフェースを指示する場合（例えば、プリペンデッドヘッダーに収容される送信先ＭＩＤに基づき）、キューイングモジュールは、ローカル外部ポートインターフェースの対応するＮＩＭ１５２に送信するためにパケットを出口キューに入れる。図５に例示されている別の例では、送信先ＨＤＩが、パケットが仮想シャーシシステム１００内の別のネットワークノード１１０にＶＦＬ１２０を介して送信される必要のあることを指示する場合、キューイングモジュールは、ＶＦＬ  ＩＤから、パケット送信するための送信ＮＩＭ１５２を決定する。この例では、キューイングモジュールは、ＶＦＩＤ＝３がＮＩＭ１５２ａに動作可能に結合されることを決定し、ファブリックスイッチ２１４を介してプリペンデッドヘッダーを有するパケットをＮＩＭ１５２ａに送信する。複数のスイッチングモジュール２１０が、送信ＶＦＬ１２０に動作可能に結合されている場合、送信されるべきトラフィックは、ロードバランシング方法で複数のスイッチングモジュール２１０間に分散され得る。それに加えて、スイッチングモジュール２１０上のＶＦＬメンバーポートの選択（高優先キュー、低優先度など）は、プリペンデッドヘッダーで運ばれるロードバランス識別子パラメータに動作可能に基づく。ＮＩＭ１５２ａ上のモジュール２１２ａが、プリペンデッドヘッダーを有するパケットを受信し、ＶＦＩＤ＝３を有するＶＦＬ１２０を介して送信するためパケットをキューに入れる。次いで、スイッチングモジュール２１０ａは、送信元および／または送信先ＨＤＩを含むプリペンデッドヘッダーを有するパケットを、シャーシＩＤ＝２を有するネットワークノード１１０ｂに、ＶＦＩＤ＝３を有するＶＦＬ１２０を介して送信する。
【００４４】
一実施形態において、スイッチングモジュール２１０ａは、ＶＦＬ１２０を介して送信する前にプリペンデッドヘッダーを改変することができる。例えば、スイッチングモジュール２１０ａは、ローカルでの意味を有する送信先ＨＤＩ（例えば、ｇｐｏｒｔ値またはローカルハードウェアデバイス識別子ＭＩＤ）を、グローバルでの意味を有するＨＤＩに翻訳するか、またはプリペンデッドヘッダーから送信ＶＦＩＤを取り除くことができる。
【００４５】
一実施形態において、ＮＩＭ１５２におけるＭＡＣ／ＨＤＩ転送テーブル２５０はポピュレートされ、仮想シャーシシステム１００を流れるレイヤ２のパケットフローに応答して更新される。プリペンデッドヘッダーは、送信元ＭＡＣアドレスおよび送信元ＨＤＩ情報を含むので、ＮＩＭＳ１５２は、例えば、一実施形態における特定のスイッチングモジュール２１０で、ＭＡＣ／ＨＤＩ転送テーブル２５０にこの情報をポピュレートすることができる。プリペンデッドヘッダーモードで動作し、送信元ＭＡＣアドレスおよび送信元ＨＤＩを有するレイヤ２のパケットをＶＦＬ１２０を介して交換することによって、スイッチングモジュール２１０は、仮想シャーシシステム１００内のネットワークモジュール１１０の間のＭＡＣ／ＨＤＩ転送テーブル２５０を同期化することができる。ＭＡＣ／ＨＤＩ転送テーブル２５０およびＶＦＬルーティングテーブル２５４は、スイッチングモジュール２１０内に配置されていると記述されているけれども、これらのテーブルは、代替的に、またはそれに加えて、ネットワークノード１１０のキューイングモジュール２１２ｎまたは他のモジュール内に含まれ得る。別の実施形態において、ＣＭＭ１５０（プライマリおよびセカンダリ）も、ＭＡＣ／ＨＤＩ転送テーブル２５０およびＶＦＬルーティングテーブル２５４を含むことができる。
【００４６】
図８は、仮想シャーシシステム１００内のネットワークノード１１０で動作可能な仮想シャーシマネージャアプリケーションもしくはモジュール４００の一実施形態の概略ブロック図を示している。マルチスロットシャーシベースのノードアーキテクチャを備えるネットワークノード１１０の一実施形態において、仮想シャーシマネージャモジュール４００は、ネットワークノード１１０の中央管理モジュール（ＣＭＭ）１５０（ＶＣＭ−ＣＭＭ４０２と称される）とネットワークノードの指定されたネットワークインターフェースモジュール（ＮＩＭ）１５２内の処理モジュール２６６（ＶＣＭ−ＮＩＭ４０４と称される）との間の機能の分散を含む。スタッカブルノードアーキテクチャにおいて、指定されたまたはマスタースタッカブルネットワーク要素１４０は、ＶＣＭ−ＮＩＭ４０４を運用する。指定されたＮＩＭ１５２またはスタッカブル要素１４０の使用は、ＶＣＭモジュール４００の機能をＣＭＭ１５０にのみ集中させることを回避する。仮想シャーシマネージャモジュール４００の機能性の分散の一例は、表４に示されている。
【００４７】
【表４】
2016501462.tif 000007
【００４８】
一実施形態において、ＶＣＭ−ＣＭＭ４０２は、仮想シャーシマネージャモジュール４００と要素および／またはネットワークマネージャモジュール４０６との間のインターフェース、さらには、ネットワークノード１１０上で動作可能であるＶＣＭモジュール４００に登録された他のアプリケーション４０８へのインターフェースを備える。仮想シャーシマネージャモジュール４００は、仮想シャーシモードで動作すべきときにそのことを登録されたアプリケーション４０８に通知する。より一般的に、仮想シャーシマネージャモジュール４００は、関与しているアプリケーションに、仮想シャーシシステム１００内のローカルノードおよび他のネットワークノード１１０の両方の関連において仮想シャーシシステムのステータスを知らせるためにさまざまな通知手段を備える。ステータス情報の一部は、管理構成によって駆動されるが、他のステータス情報は、制御データ交換、ネゴシエーション、および同意が行われると、仮想シャーシシステム内でネットワークノードによって個別に、または複数のネットワークノード１１０によって下される実行時決定によってトリガーされる。仮想シャーシマネージャモジュール４００は、ＶＬＡＮマネージャアプリケーションモジュール４１０、スパニングツリープロトコル（ＳＴＰ）アプリケーションモジュール４１２、送信元学習アプリケーションモジュール４１４、リンクアグリゲーションアプリケーションモジュール４１６、およびこれらのシステムコンポーネントにサービスを要求するためのポートマネージャアプリケーションモジュール４１８ともインターフェースする。例えば、ＶＣＭ４００は、仮想シャーシシステム１００内のネットワークノード１１０の間のプロセス間通信チャネルをセットアップできるようにするため、ＶＬＡＮマネージャに、ＶＦＬメンバーポートを制御ＶＬＡＮのメンバーとして構成するように要求することができる。
【００４９】
ＶＣＭ−ＮＩＭ４０４は、ハードウェアモジュールのモジュール識別構成（例えば、ＭＩＤ）を実行する。ＶＣＭ−ＮＩＭ４０４は、ハードウェアデバイス／キューマッピング機能およびシャーシ間ループ回避機能を実行するためキューイングモジュール２１２内のキュー管理部２６２ともインターフェースする。ＶＣＭ−ＮＩＭ４０４は、ＶＦＬ１２０の制御および管理用の仮想シャーシ状態機能性も備える。仮想ファブリックリンク制御部は、ＶＦＬ１２０を管理し、構成し、ポートマネージャアプリケーションモジュール４１８とインターフェースして、ＶＦＬ１２０およびその対応するメンバーポートの状態を監視し、および／または制御する。また、ＶＦＬ１２０のステータスを追跡し、更新することも行う。ＶＣＭ−ＮＩＭ４０４は、標準のＬＡＣＰプロトコル、または他の類似のプロトコルを、物理レベルのリンクの状態と共に使用してそれぞれのＶＦＬメンバーポートの状態を追跡する。ＬＡＣＰプロトコルに加えて、仮想シャーシステータスプロトコルは、両方の仮想シャーシスイッチ上の指定されたＮＩＭ上で実行しているコンポーネントのステータスおよび／または動作可能性をチェックするために定期的キープアライブチェック（ｈｅｌｌｏプロトコル）を実行する。すべての仮想シャーシプロトコルパケットは、誤った／早すぎる故障検出を回避するためにシステムにおいて高い優先度を割り当てられなければならないが、それは、そのような故障の早すぎる検出は、システムにおいて非常に高い崩壊効果を有し得るからである。プライマリ指定ＮＩＭ１５２上で仮想シャーシステータスプロトコルを実行することによって、バックアップ指定ＮＩＭモジュールは、故障が発生した場合にステータスプロトコル処理の制御を引き継ぐことができる。
【００５０】
ＶＣＭ−ＣＭＭ４０２およびＶＣＭ−ＮＩＭ４０４は、ＶＦＬ１２０のメンバーポートおよびリンクに関してポート状態およびリンク状態イベントを受信するためにポートマネージャアプリケーションモジュール４１８に登録する。別の実施形態において、仮想シャーシマネージャモジュール４００は、ＶＦＬ１２０のポートおよびリンク状態を監視するためのポートマネージャアプリケーションモジュールを備えることができる。仮想シャーシマネージャモジュール４００は、ＶＦＬ１２０の動作状態を追跡し、ＶＦＬステータス、すなわち、アグリゲート作成済み／削除済み／アップ／ダウンに関するイベントを処理する。ポートマネージャアプリケーションモジュール４１８は、ＶＣＭ−ＣＭＭ４０２およびＶＣＭ−ＮＩＭ４０４の両方にリンク状態通知を送る。
【００５１】
一実施形態において、トランスポート制御プロトコルは、ネットワークノード１１０の指定されたＮＩＭ１５２またはスタッカブルネットワーク要素１４０の間で制御プロトコルパケットをトランスポートするために仮想シャーシシステム１００内に実装される。トランスポート制御プロトコルは、異なるノードアーキテクチャを有するネットワークノード１１０内で動作可能である。マルチスロットシャーシベースのノードアーキテクチャでは、指定されたＮＩＭ１５２は指定された処理モジュール２６６と共にトランスポート制御プロトコルを、例えば、ＶＣＭ−ＮＩＭ４０４の一部として操作する。スタッカブルノードアーキテクチャにおいて、指定されたまたはマスタースタッカブルネットワーク要素１４０は、トランスポート制御プロトコルを操作する。
【００５２】
シャーシスーパーバイザーモジュール４２０は、ネットワークノード１１０のハードウェアへのインターフェースを提供し、さまざまなアプリケーションモジュールの監視およびブートアップもしくは再起動を制御し、要素マネージャモジュール４０６に対するコマンドラインインターフェース（ＣＬＩ）を提供する、ソフトウェアリロードおよびソフトウェアアップグレード（サービス内ソフトウェアアップグレードＩＳＳＵなど）を制御し、ネットワークノード１１０のシステムのステータスまたはイメージファイルへのアクセスを制御する。仮想シャーシモードにおいて、シャーシスーパーバイザーモジュール４２０は、ブートシーケンスを制御し、ソフトウェアリロードおよびＩＳＳＵを制御し、仮想シャーシパラメータにアクセスするためのインターフェースを提供する。
【００５３】
構成マネージャモジュール４２２は、ネットワークノード１１０の動作を仮想シャーシモードからスタンドアロンモードに変換するか、またはネットワークノード１１０の動作をスタンドアロンモードから仮想シャーシモードに変換するように動作可能である。構成マネージャモジュールは、仮想シャーシマネージャモジュール４００およびマルチシャーシマネージャモジュール４２４を構成するようにも動作可能である。構成マネージャモジュール４２２の動作およびネットワークノード１１０の動作状態について、以下でさらに詳しく説明する。
【００５４】
仮想シャーシシステム１００内のネットワークノード１１０は、仮想シャーシモード、スタンドアロンモード、およびマルチシャーシ（ＭＣ−ＬＡＧ）モードを含む、複数の動作モードで動作し得る。さまざまなパラメータおよび構成が、動作モードに応じて修正される。表５は、動作モードに応じたネットワークノード１１０へのシャーシＩＤの割り当てを示している。
【００５５】
【表５】
2016501462.tif 000008
【００５６】
スタンドアロンモードでは、ネットワークノード１１０は、単一ノードとして運用され、グローバル仮想シャーシＭＡＣアドレスではなくその構成されたローカルＭＡＣアドレスを利用する。マルチシャーシモードでは、２つのネットワークノードは、ＭＡＣ転送テーブルおよびＡＲＰテーブルが同期される仮想ノードとして構成されるが、それでも、個別のブリッジおよびルーターとして動作し、それぞれ、２０１１年１月２０日に出願された米国特許出願第１３／０１０，１６８号、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＭＵＬＴＩ−ＣＨＡＳＳＩＳ  ＬＩＮＫ  ＡＧＧＲＥＧＡＴＩＯＮ」においてより詳しく説明されているように、それ専用のローカルシャーシＭＡＣアドレスを使用する。本明細書で説明されているような仮想シャーシモードでは、複数の、Ｎ個のネットワークノードが、仮想シャーシシステム１００内の仮想シャーシにノードとして構成される。１からＮまでのグローバルに一意的なシャーシＩＤが、仮想シャーシシステム１００内の複数のネットワークノードのそれぞれに割り当てられる。
【００５７】
ネットワークノード１１０がスタンドアロンモードで動作する場合、ポート識別子および構成は、フォーマット：０／＜ｓｌｏｔ＞／＜ｐｏｒｔ＞に従い、ただし、シャーシＩＤは「ゼロ」に等しく、ｓｌｏｔはマルチスロットアーキテクチャまたはスタッカブルネットワーク要素１４０におけるそれぞれのネットワークインターフェースモジュール（ＮＩＭ）１５２を識別し、ｐｏｒｔはポートインターフェース識別子である。ネットワークノード１１０がマルチシャーシモードで動作する場合、ポート構成は、フォーマット：＜ｃｈａｓｓｉｓ＞／＜ｓｌｏｔ＞／＜ｐｏｒｔ＞に従い、ただし、シャーシＩＤは１または２に等しく、動作／現在／実行中シャーシＩＤを表す。ネットワークノード１１０が仮想シャーシモードで動作する場合、ポート構成は、フォーマット：＜ｃｈａｓｓｉｓ＞／＜ｓｌｏｔ＞／＜ｐｏｒｔ＞に従い、ただし、シャーシＩＤは１、２．．．Ｎの範囲内の数であり、動作／現在／実行中シャーシＩＤを表す。
【００５８】
図９は、構成マネージャモジュール４２２の概略ブロック図をより詳しく示している。構成マネージャ４２２は、ネットワークノード１１０の異なる動作モードをサポートするためさまざまな構成モジュールを備える。一実施形態におけるブート構成モジュール４４０は、スタンドアロン動作モードおよびマルチシャーシ動作モードをサポートする。仮想シャーシ（ＶＣ）モード構成モジュール４５０は、仮想シャーシモードをサポートする。構成マネージャモジュール４２２は、ネットワークノードの動作モードに応じて起動時および実行時に関連する構成ファイル（ブート構成モジュール４４０またはＶＣモード構成モジュール４５０）を読み出して妥当性を確認する。
【００５９】
ブート構成モジュール４４０は、スタンドアロンまたはマルチシャーシモードにおいて、リソースを定義し、ネットワークノードのパラメータおよび機能を指定する管理コマンドセットを備える。ブート構成モジュール４４０は、アプリケーション構成モジュール４４２およびＶＣマネージャ構成モジュール４４６ａを含む。アプリケーション構成モジュール４４２は、ネットワークノード１１０におけるさまざまなアプリケーションの構成を制御するために使用される。例えば、アプリケーション構成モジュール４４２は、シャーシスーパーバイザーモジュール４２０、ＶＬＡＮマネージャアプリケーションモジュール４１０、ＳＴＰアプリケーションモジュール４１２、マルチシャーシマネージャ４２４などを構成する。ＶＣマネージャ構成モジュール４４６ａは、仮想シャーシマネージャ４００によって処理される構成パラメータおよび制御コマンドを備える。ＶＣマネージャ構成モジュール４４６ａは、スタンドアロンモードで動作しているときにブート構成モジュール４４０において更新され利用される。ローカルネットワークノードに固有の、ネットワークノードを仮想シャーシモードに遷移させるために必要なコマンドが、ＶＣマネージャ構成モジュール４４６ａに備えられている。
【００６０】
しかし、仮想シャーシモードで動作している場合、ＶＣマネージャ構成モジュール４４６ｂはＶＣモード構成モジュール４５０において更新され利用される。ＶＣマネージャ構成モジュール４４６ａおよび４４６ｂをブート構成モジュール４４０およびＶＣモード構成モジュール４５０に含めることによって、ネットワークノード１１０は、マルチシャーシモードまたはスタンドアロンモードまたは仮想シャーシモードで動作している間に仮想シャーシ関係の構成および機能を実行するように動作可能である。
【００６１】
ＶＣモード構成モジュール４５０は、仮想シャーシモードにおいて、リソースを定義し、ネットワークノードのパラメータおよび機能を指定する管理コマンドセットを備える。ＶＣブート構成モジュール４５２は仮想シャーシシステム１００内の複数のネットワークノードの仮想シャーシ構成４５８ａ−ｎを含むが、ＶＣセットアップモジュール４６０はローカルシャーシ構成を含む。
【００６２】
図１０は、仮想シャーシシステム１００内のネットワークノード１００の動作モードを決定するための方法４７０の一実施形態の論理フロー図を示している。シャーシスーパーバイザーモジュール４２０は、シャーシスーパーバイザーモジュール４２０がマルチシャーシマネージャ４２４を開始するか、または仮想シャーシマネージャ４００を開始するかを動作モードが決定するので、構成前の起動時にネットワークノード１１０の動作モード（例えば、仮想シャーシ、スタンドアロン、またはマルチシャーシ）を決定する必要がある。ステップ４７２で、ネットワークノードが起動し、ステップ４７４で、シャーシスーパーバイザーモジュール４２０は、ＶＣセットアップモジュール４６０（ｖｃｓｅｔｕｐ．ｃｆｇ）がネットワークノード１１０内に存在しているかどうかを判定する。ＶＣセットアップモジュール４６０（ｖｃｓｅｔｕｐ．ｃｆｇ）が存在していないときに、ネットワークノードは、仮想シャーシモードで動作しておらず、構成マネージャモジュール４２２が、スタンドアロンまたはマルチシャーシモードでの動作に関してステップ４７６でブート構成モジュール４４０（ｂｏｏｔ．ｃｆｇファイル）を構文解析する。次いで、マルチシャーシマネージャ４２４が、ステップ４７８Ｉにおいてブート構成モジュール４４０（ｂｏｏｔ．ｃｆｇファイル）の処理のため開始される。
【００６３】
ステップ４７４において、ＶＣセットアップモジュール４６０（ｖｃｓｅｔｕｐ．ｃｆｇ）が存在しているときに、ネットワークノードは、仮想シャーシモードで動作し、シャーシスーパーバイザーモジュール４２０は、仮想シャーシマネージャ４００を開始する。シャーシスーパーバイザーモジュール４２０は、ステップ４８０で起動プロセスにおいてアプリケーションによって使用される共有メモリファイル内に「ｖｉｒｔｕａｌ  ｃｈａｓｓｉｓ  ｍｏｄｅ」というパラメータをセットし、仮想シャーシモード動作を指示する。次いで、構成マネージャモジュール４２２は、仮想シャーシ構成モジュール、ＶＣセットアップモジュール４６０（ｖｃｓｅｔｕｐ．ｃｆｇ）、およびＶＣブート構成モジュール（ｖｃｂｏｏｔ．ｃｆｇ）を構文解析し、ステップ４８２で、仮想シャーシマネージャ４００を開始する。ステップ４８４において、仮想シャーシマネージャ４００は、ＶＣセットアップモジュール４６０（ｖｃｓｅｔｕｐ．ｃｆｇ）が有効な仮想シャーシ構成（例えば、有効なシャーシＩＤ）を含むことを確認する。そうでない場合、仮想シャーシマネージャ４００は、仮想シャーシモードが失敗したことをシャーシスーパーバイザーモジュール４２０に通知する。次いで、シャーシスーパーバイザーモジュール４２２は、ポートインターフェースおよびＶＦＬメンバーポートを無効化する。したがって、ＶＣセットアップモジュール４６０（ｖｃｓｅｔｕｐ．ｃｆｇ）ファイルを有しているが、その内容は無効である（例えば、シャーシＩＤが範囲外である、ファイルが破損している、手入力で編集された）ネットワークノード１１０は、動作しない。スタンドアロンモードでネットワークノード１１０を運用することを試みないが、それは、いくつかのシナリオにおいて、仮想シャーシシステム１００内の別のネットワークノード１１０のスタンドアロン構成と仮想シャーシ構成との間にコンフリクトが生じることによりネットワーク問題が発生し得るからである。
【００６４】
図１１は、仮想シャーシモードで起動時にネットワークノード１１０を構成するための方法５００の一実施形態の論理フロー図を示している。システムの起動時に、ネットワークノード１１０が、有効な構成を用いステップ５０２において仮想シャーシモードで動作していると判定された場合、仮想シャーシマネージャ４００は、ネットワークノード１１０を仮想シャーシシステム１００に遷移させるようにＶＣセットアップモジュール４６０において構成コマンドを処理する。しかし、この初期フェーズにおいて、仮想シャーシマネージャ４００は、マスターネットワークノード１１０が知られ、トポロジーデータベース１４４がネットワークノード１００によって構築されるまでＶＣブート構成モジュール４５２のコマンドを処理しない。以下の表６は、この初期フェーズにおけるネットワークノード１１０の構成を示している。表６は、２つのネットワークノードのみを示しているけれども、ネットワークノードはいくつでもサポートされることに留意されたい。表６の実行時構成パラメータは、この初期フェーズにおいてネットワークノード１１０によって処理されるモジュールまたはコマンドセットを示している。
【００６５】
【表６】
2016501462.tif 000009
【００６６】
ステップ５０６においてマスターネットワークノードが選択され、トポロジーデータベースが構築された後、構成処理の第２のフェーズが生じる。第２のフェーズにおいて、仮想シャーシシステム１００内のマスターネットワークノード１１０は、ステップ５０８で、マスターネットワークノード（例えば、ｖｃｂｏｏｔ１．ｃｆｇ）およびスレーブネットワークノード（例えば、ｖｃｂｏｏｔ２．ｃｆｇ）のＶＣブート構成モジュール４５２のマージを実行する。ネットワークノードがＶＣブート構成モジュール４５２における指定された構成の同じセットを有することができない場合、スレーブネットワークノードは、マスターネットワークノードから構成を取り出し、自ファイルを上書きする。次いで、スレーブネットワークノードは、新しいパラメータセットが有効になるようにリブートする必要がある。ＶＣブート構成モジュール４５２の指定された構成が、コピーされた場合、そのコピーされたＶＣブート構成モジュール４５２（例えば、ｖｃｂｏｏｔ１．ｃｆｇ）は、ステップ５１０で、スレーブネットワークノードによって処理される。表７は、第２のフェーズにおけるネットワークノードの構成を示している。
【００６７】
【表７】
2016501462.tif 000010
【００６８】
これで、マスターネットワークノードのＶＣブート構成モジュール４５２（ｖｃｂｏｏｔ１．ｃｆｇ）は、スレーブネットワークノード２にコピーされている。スレーブネットワークノードからの構成を保存するために、マスターネットワークノードは、スレーブネットワークノードのＶＣブート構成モジュール（ｖｃｂｏｏｔ２．ｃｆｇ）内の構成コマンドを構文解析する。この構文解析は、オフラインで実行されるか、または要素マネージャまたはネットワークマネージャによって実行され得る。スレーブのＶＣブート構成モジュール（ｖｃｂｏｏｔ２．ｃｆｇ）内のコンフリクトしているコマンドが決定され、分析のため保存される。マスターネットワークノードは、ステップ５１２において、コンフリクトしているコマンドを除去し、コンフリクトしていないコマンドをスレーブネットワークノードに対するマージされたＶＣブート構成モジュール４５２（ｖｃｂｏｏｔ２’．ｃｆｇ）に書き込む。
【００６９】
最終段階において、マージされたＶＣブート構成モジュール４５２（ｖｃｂｏｏｔ２’．ｃｆｇ）が、仮想シャーシシステム内のスレーブネットワークノードにコピーされる。次いで、ＶＣブート構成モジュール４５２が、ステップ５１４において、ネットワークノード１１０によって実行される。表８は、最終フェーズの後のネットワークノード１１０の構成を示している。
【００７０】
【表８】
2016501462.tif 000011
【００７１】
その結果、スレーブネットワークノード１１０の構成は、それぞれのスレーブネットワークノード１１０をリブートしなくてもコンフリクトしているコマンドを除き利用される。それに加えて、スレーブネットワークノード１１０の構成が維持される。
【００７２】
仮想シャーシシステム内でネットワークノード１１０のセットアップを行っているときに、ネットワークノード１１０は、ネイバ発見を実行し、例えば、トポロジーデータベース１４４を構築する、マスターネットワークノードを選択するなどを行う。しかし、セットアップ時に、シャーシ識別子およびネットワークノード１１０間のＶＦＬリンク１２０は不明である。通信するために、仮想シャーシ制御プロトコルがネットワークノード１１０によって利用され、これにより、他のネットワークノードを発見し、情報を交換してトポロジーデータベース１４４を構築する。仮想シャーシ制御プロトコルは、ネットワークノード１１０がトポロジー発見の前にプロトコルメッセージを送受信する動作を行えるようにポイントツーポイントまたはホップバイホップに基づき動作する。一実施形態において、仮想シャーシ制御プロトコルは、例えば、引用により本明細書に組み込まれている、ＩＥＥＥ  Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  ＲＦＣ  １１４２、「ＯＳＩ  ＩＳ−ＩＳ  Ｉｎｔｒａ−ｄｏｍａｉｎ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ」、１９９０年２月、およびＩＥＥＥ  Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  ＲＦＣ  １１９５、「Ｕｓｅ  ｏｆ  ＯＳＩ  ＩＳ−ＩＳ  ｆｏｒ  Ｒｏｕｔｉｎｇ  ｉｎ  ＴＣＰ／ＩＰ  ａｎｄ  Ｄｕａｌ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」、１９９０年１２月において定義されている、中間システム間（ＩＳ−ＩＳ）ルーティングプロトコルのプロトコルおよび機能を含むが、他のルーティングプロトコルまたはプロセスも、本明細書で説明されている仮想シャーシ制御プロトコルの機能および特徴を実行するための基盤として利用され得る（例えば、Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ  ｆｏｒ  ＩＰ  ｎｅｔｗｏｒｋｓ、これは例えばＩＥＥＥ  Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  ＲＦＣ  ２７４０、「ＯＳＰＦ  ｆｏｒ  ＩＰｖ６」、１９９９年１２月において説明されている）。
【００７３】
一実施形態において、仮想シャーシ制御プロトコルメッセージは、割り当てられたマルチキャストＭＡＣ送信先アドレスを使用してネットワークノード間で交換される。ネットワークノード１１０のスイッチングモジュール２１０が、割り当てられたマルチキャストＭＡＣ送信先アドレスと共に仮想シャーシ制御プロトコルメッセージを受信した場合、スイッチングモジュール２１０は、ＶＣＭ−ＮＩＭ４０４またはＶＣＭ−ＣＭＭ４０２において動作しているＶＣＭ４００によるプロトコルメッセージの処理のために制御プロトコルメッセージを処理モジュール２６６に転送する。別の実施形態において、仮想シャーシ制御プロトコルメッセージは、所定のオペレーションコードをプリペンデッドヘッダー３００の一部として含む。スイッチングモジュール２１０が、所定のオペレーションコードがプリペンデッドヘッダー３００に含まれる仮想シャーシ制御プロトコルメッセージを受信した場合、スイッチングモジュール２１０は、制御プロトコルメッセージを処理のため処理モジュール２６６に転送する。
【００７４】
トポロジー発見の前に、仮想シャーシ制御プロトコルは、ポイントツーポイントまたはホップバイホッププロセスを使用して、隣接するネットワークノード間でプロトコルメッセージを交換する。隣接するネイバでないネットワークノード１１０にプロトコルメッセージを送信するために、仮想シャーシ制御プロトコルは、ホップカウントフィールドに基づく内部伝搬プロセスを含む。ホップカウントフィールドは、それぞれのネットワークノード１１０においてプロトコルメッセージ内でデクリメントされ、仮想シャーシシステム１００内のパケットループを防ぐのを助ける。一実施形態において、仮想シャーシ制御プロトコルは、ＶＣＭ−ＣＭＭの一部として、またはＶＣＭ−ＮＩＭ４０４の一部として動作している仮想シャーシマネージャ４００に含まれるが、仮想シャーシ制御プロトコルは、ネットワークノード１１０内の１つまたは複数の代替的な、または追加のモジュール内で動作可能であってもよい。
【００７５】
図１２は、仮想シャーシシステム１００における仮想シャーシプロトコルを使用するトポロジー発見の一実施形態の概略ブロック図を示している。ブートアップまたはセットアップすると、ＶＦＬ１２０ａなどの第１のＶＦＬが動作することになったときに、ネットワークノード１１０ａは、仮想シャーシシステム１００のトポロジー発見を始める。仮想シャーシマネージャモジュール４００（または仮想シャーシプロトコルを操作している他のモジュール）は、ＶＦＬ１２０ａに結合されたＮＩＭ１５２のスイッチングモジュール２１０へのプロトコルメッセージ５５０ａを開始する。プロトコルメッセージ５５０ａは、プロトコルメッセージを発信する送信元ネットワークノードのシャーシＩＤを含む送信元シャーシフィールド５５２およびプロトコルメッセージ５５０ａに対する送信ＶＦＬ１２０のＶＦＩＤを含む送信元ＶＦＬフィールド５５４を備える。プロトコルメッセージ５５０は、ホップカウントフィールド５５６も備える。この例では、プロトコルメッセージ５５０は、送信元シャーシＩＤ＝１、送信元ＶＦＩＤ＝０、およびホップカウント＝２を備える。プロトコルメッセージ５５０は、類似の、または追加のトポロジー情報を有する追加の、または代替的なフィールドを備え得る。
【００７６】
隣接するネットワークノード１１０ｂが、プロトコルメッセージ５５０ａを受信すると、これは、受信ＶＦＬ１２０ａのＶＦＩＤ、例えば、受信ＶＦＩＤ＝１をプロトコルメッセージ５５０ａに付加して、プロトコルメッセージをその仮想シャーシマネージャ４００、例えば、ＶＣＭ４００に送信し、仮想シャーシ制御プロトコルにより処理を行う。プロトコルメッセージ５５０ａから、ＶＣＭ４００は、シャーシＩＤ＝１を有するネットワークノード１１０ａは、隣接するノードであることを決定するように動作可能である。ＶＣＭ４００は、ネットワークノード１１０ａが、ネットワークノード１１０ｂに対するＶＦＩＤ＝１のＶＦＬ識別子およびネットワークノード１１０ａに対するＶＦＩＤ＝０のＶＦＬ識別子を有するＶＦＬ１２０ａによって結合されることも決定する。ＶＣＭ４００は、このトポロジー情報でトポロジーデータベース１４４を更新するか、このトポロジー情報をトポロジーデータベース１４４にポピュレートするように動作可能である。プロトコルメッセージのホップカウント＝２は、ホップカウント＝１にデクリメントされる。ポップカウントは非ゼロであるため、ネットワークノード１１０ｂのＶＣＭ４００は、ネットワークノード１１０ｃに送信するプロトコルメッセージを再生成して送信元ネットワークノード情報を含める。再生成されたプロトコルメッセージ５５０ｂは、送信元ネットワークノード１１０ｂの送信元シャーシＩＤ＝２、送信元ＶＦＬ１２０ｂの送信元ＶＦＩＤ＝２、およびデクリメントされたホップカウント＝１を含む。
【００７７】
ネットワークノード１１０ｃが、プロトコルメッセージ５５０ｂを受信すると、これは、着信ＶＦＬ１２０ｂのＶＦＩＤ、例えば、着信ＶＦＩＤ＝３をプロトコルメッセージ５５０ｂに付加して、プロトコルメッセージをＶＣＭ４００に送信し、仮想シャーシ制御プロトコルにより処理を行う。プロトコルメッセージ５５０ｂから、ＶＣＭ４００は、シャーシＩＤ＝２を有するネットワークノード１１０ｂは、隣接するノードであることを決定するように動作可能である。ＶＣＭ４００は、ネットワークノード１１０ｂに対するＶＦＩＤ＝２がネットワークノード１１０ｃに対するＶＦＩＤ＝３に結合することも決定する。ＶＣＭ４００は、このトポロジー情報でトポロジーデータベース１４４を更新するか、このトポロジー情報をトポロジーデータベース１４４にポピュレートするように動作可能である。ホップカウント＝１は、ホップカウント＝０にデクリメントされる。ホップカウントはゼロなので、仮想シャーシ制御プロトコルを操作するＶＣＭ４００は、プロトコルメッセージの再生成または転送を行うことをしない。
【００７８】
ネットワークノード１１０が、隣接するネットワークノード１１０のトポロジー情報を決定したときに、ネットワークノードは、トポロジーデータベース１４４をトポロジー情報で更新し、トポロジー情報を他のＶＦＬリンクを介して結合されている他の知られている隣接するノードに転送する。例えば、図１２において、ネットワークノード１１０ｂが、プロトコルメッセージ５５０ａを通じてネットワークノード１１０ａが隣接するノードであると判定したときに、ネットワークノード１１０ｂは、知られている隣接するネットワークノード１１０ｄへのプロトコルメッセージ５５０ｃを生成する。プロトコルメッセージ５５０ｃは、１つまたは複数のトポロジーフィールド５５８内に更新されたトポロジー情報を備える。ネットワークノード１１０ｄが、トポロジーメッセージ５５０ｃを受信したときに、これは、トポロジーメッセージ５５０ｃをＶＣＭ４００に転送し、仮想シャーシ制御プロトコルにより処理する。ＶＣＭ４００は、トポロジーデータベース１４４を１つまたは複数のトポロジーフィールド５５８内のトポロジー情報で更新する、例えば、シャーシＩＤ＝２のそのＶＦＩＤ＝１はシャーシＩＤ＝１のＶＦＩＤ＝０に結合される。
【００７９】
一実施形態において、仮想シャーシシステム１００のセットアップ時に、ネットワークノード１１０がトポロジー情報を交換し、各トポロジーデータベース１４４を生成するように所定の発見期間が構成される。発見期間が過ぎたときに、知られているネットワークノード１１０からマスターネットワークノードが選択される。発見期間が過ぎた後に仮想シャーシシステム１００内で発見されるか、または動作することになった他のネットワークノード１１０は、マスターネットワークノード選択プロセスに含まれない。これらの新規に追加されたネットワークノード１１０は、スレーブネットワークノードとして指定される。
【００８０】
図１３は、仮想シャーシプロトコルを使用してマスターネットワークノードを選択するための方法５８０の一実施形態の論理流れ図を例示している。ステップ５８２において、ネットワークノード１１０は、所定の発見期間中に各トポロジーデータベースを構築するためにプロトコルメッセージを交換する。マスターネットワークノードの選択は、発見期間が過ぎると始まる。一実施形態において、所定の発見期間は、他の開始時間が実装され得るけれども仮想シャーシシステム内の第１のネットワークノードのブートアップすると始まる。発見期間は、仮想シャーシシステム１００におけるトポロジーおよびノードアーキテクチャに応じても変化し得る。例えば、発見期間の長さは、起動時間を過度に引き延ばすことなく正確で予測可能なマスター選択を円滑にするように選択される。所定の期間を実装することによって、マスターネットワークノードの選択は、不明なネットワークノードにより無制限に遅延されるか、またはより高い優先度の別のネットワークノードが接続するのを待つことがない。
【００８１】
ステップ５８４で発見期間が過ぎると、各トポロジーデータベースに仮想シャーシシステム１００に対するトポロジー情報をポピュレートし、各トポロジーデータベース１４４を更新したネットワークノード１１０は、マスターネットワークノードに対する選択プロセスを始める。ネットワークノード１１０上で仮想シャーシ制御プロトコルを操作している仮想シャーシマネージャモジュール（ＶＣＭ）４００または他のモジュールは、ステップ５８６においてマスターネットワークノードである適格性を決定する。一実施形態において、ネットワークノード１１０は、１つまたは複数のパラメータに基づき選択キーを決定することによってその適格性を決定する。パラメータの優先順位付けリストは、プリファレンスを、例えば、より高いシャーシ優先度、より長いアップタイム、より小さいシャーシＩＤ、およびより小さいシャーシＭＡＣアドレスに与える。優先順位付けされたパラメータの使用は、選択プロセスに柔軟性を加える。シャーシ優先度パラメータは、事前構成された優先度であり、マスターネットワークノードに対するユーザープリファレンスを定義する。シャーシ優先度パラメータは、選択プロセスにおいて最大の重みを有する。
【００８２】
ネットワークノードが、ステップ５８８において、その選択キーが他のノードの選択キーより比較して有利であり、マスターネットワークノードとして適格性を有すると決定した場合、ネットワークノード１１０は、ステップ５９０において、マスターネットワークノードとしての選択に対する要求を送信する。ステップ５９２において、ネットワークノードは、別の要求がステップ５９２において所定の期間内に受信されるかどうかを監視する。所定の期間が過ぎた後も他の要求がない場合、ネットワークノード１１０は、ステップ５９６においてそれがマスターネットワークノードであることをアドバタイズするマスター選択メッセージを送信する。マスター選択メッセージが受信された時、ステップ５９８において、他のネットワークノードはトポロジーデータベース１４４を更新して、マスターとして選択されたネットワークノードを指示し、他のネットワークノードをスレーブノードとして指定する。
【００８３】
ステップ５９２において、複数ネットワークノードが所定の期間中にマスターネットワークノードとしての選択の要求を送信した場合、マスターとしての選択を要求する１つまたは複数のノードの選択キーが比較される。ステップ５９４における最も有利な選択キーを有するネットワークノード１１０は、マスターネットワークノードとして選択され、ステップ５９６においてそれがマスターネットワークノードであることをアドバタイズするマスター選択メッセージを送信する。このマスター選択プロセスは、２つまたはそれ以上のネットワークノードがマスターネットワークノードとしての役割を果たすという問題が生じるのを防ぐのを助ける。
【００８４】
図１４ａ−ｂは、仮想シャーシシステム１００においてユニキャストトラフィックをルーティングする一実施形態の概略ブロック図を示している。図１４ａは、例示的な仮想シャーシトポロジーの概略ブロック図を示している。一実施形態において、仮想シャーシ制御プロトコルを操作しているネットワークノード１１０の仮想シャーシマネージャ４００は、トポロジーデータベース１４４内のトポロジー情報を分析し、ＶＦＬ１２０を介してユニキャストパケットを仮想シャーシシステム１００内の他のネットワークノード１１０にルーティングする最短経路（例えば、最小ホップカウント）を決定する。図１４ｂは、図１４ａの仮想シャーシトポロジーにおけるネットワークノード１１０ａ−ｄについて決定された最短経路のルーティングツリーの概略ブロック図を示している。決定された最短経路に基づき、ＶＣＭ４００は、ＶＦＬルーティングテーブル２５４を生成し、ＶＦＬルーティングテーブル２５４をネットワークノード１１０のスイッチングモジュール２１０内に格納する。
【００８５】
一実施形態において、ネットワークノード間の複数の最短（例えば、最小コストまたは最小ホップカウント）経路がサポートされ、トラフィックは、本明細書の表３のＶＦＬルーティング構成テーブル２５４の一例によって示されているように複数の最短経路の間に分散される。図１４ｂに示されているような別の実施形態では、複数の最短経路がある場合、ＶＣＭ４００は、ＶＦＬルーティングテーブル２５４を構成するため複数の最短経路のうちの１つを選択する。この選択は、シャーシＩＤ、ＶＦＬリンク特性、トラフィックパターンなどの１つまたは複数のメトリックに基づくものとしてよい。例えば、ＶＣＭ４００は、最短経路におけるシャーシＩＤの総和に基づき複数の最短経路のうちの１つを選択することができる。別の実施形態では、最短経路のうちの１つの選択は、ＶＦＬ１２０のデータ転送速度またはリンク速度などの、ＶＦＬリンク特性に基づく。トラフィックパターンまたは他の代替的方法またはプロセスも、仮想シャーシシステム１００内のネットワークノード１１０間の最短経路のうちの１つを選択するように実装され得る。図１４ｂのルーティングツリーは、ＶＦＬルーティングテーブル２５４内に構成される最短経路の概略図として示されている。図１４ｂに示されている最短経路に対応するＶＦＬルーティング構成テーブル２５４の一例が、以下の表９に示されている。
【００８６】
【表９】
2016501462.tif 000012
2016501462.tif 000013
【００８７】
表９に示されているＶＦＬルーティングテーブル２５４は、送信先シャーシＩＤに対する最短経路を１つのみ含むが、１つまたは複数のコストの等しい経路が存在し得る。別の実施形態において、特定のユニキャストパケットフローについて選択する複数の経路のうちの１つを決定するために複数の最短経路が１つまたは複数のメトリックと共に含まれ得る。一実施形態におけるＶＦＬルーティングテーブル２５４は、シャーシＩＤに加えて、またはそれに対して代替的に、送信先モジュールＩＤを含む。一実施形態において、グローバルに一意的なモジュール識別子（ＭＩＤ）が、仮想シャーシシステム１００内の複数のネットワークノード１１０におけるスイッチングモジュール２１０に割り当てられる。送信先スイッチングモジュール２１０のグローバルに一意的なＭＩＤは、送信先シャーシＩＤに加えて、またはそれに対して代替的に、ＶＦＬルーティングテーブル２５４（およびパケットのプリペンデッドヘッダー）に含まれる。
【００８８】
図１５ａ−ｂは、仮想シャーシシステム１００において非ユニキャストトラフィックをルーティングする一実施形態の概略ブロック図を示している。仮想シャーシ制御プロトコルを操作しているネットワークノード１１０の仮想シャーシマネージャモジュール（ＶＣＭ）４００は、トポロジーデータベース１４４内のトポロジー情報を分析し、マルチキャストまたはブロードキャストパケットなどの非ユニキャストパケットを仮想シャーシシステム１００においてＶＦＬ１２０を介して他のネットワークノード１１０にルーティングするための経路を決定する。ＶＣＭ４００は、ループおよび重複パケットがネットワークノード１１０によって受信されるのを防ごうとして非ユニキャストパケットをルーティングする。一実施形態において、ＶＣＭ４００は、非ユニキャストパケットの送信元ネットワークノードに対する構成されたユニキャスト最短経路に基づき非ユニキャストパケットに対する経路を決定する。
【００８９】
図１５ａは、入口マルチキャストパケット６００が外部ポートインターフェース２４０上でネットワークノード１１０ａによって受信される仮想シャーシシステム１００の概略ブロック図を示している。ネットワークノード１１０ａは、ＶＦＬを介してマルチキャストパケット６００をネットワークノード１１０ｂに転送し、ＶＦＬ１２０ｄを介してネットワークノード１１０ｄに転送するため重複コピーを生成する。ネットワークノード１１０ｂは、非ユニキャストパケット６００を受信し、それをネットワークノード１１０ｃに転送する。さらなるルーティング構成がなければ、ネットワークノード１１０ｂも、ＶＦＬ１２０ｅを介してネットワークノード１１０ｄに転送するため非ユニキャストパケット６００の重複コピーを生成する。同様に、ネットワークノード１１０ｃも、非ユニキャストパケット６００のコピーをＶＦＬ１２０ｃを介してネットワークノード１１０ｄに転送する。したがって、ネットワークノード１１０ｄは、非ユニキャストパケットの３つのコピーを受信する。パケットのそのような複数のコピーをネットワークノード側で受信されるのを防ぐために、ＶＣＭ４００は、非ユニキャストパケット６００の送信元または入口ネットワークノードおよび送信元ネットワークノードに対するユニキャストパケットについて構成された最短経路に基づきいくつかの経路をブロックする。
【００９０】
図１５ｂは、ネットワークノード側のループおよび重複パケットを防ぐように仮想シャーシシステム１００を通して非ユニキャストパケット６００をルーティングするためのルーティングツリーの一実施形態の概略ブロック図を示している。ルーティングツリーは、送信元または入口ネットワークノード１１０ａの仮想シャーシシステム１００に入る非ユニキャストパケットをルーティングするためのネットワークノード１１０ａ−ｄの構成を示している。ＶＣＭ４００は、送信元ネットワークノードに基づき、また送信元ネットワークノード１１０に対するユニキャストパケットについて構成されたルーティングツリーまたは最短経路に基づき非ユニキャストパケットのルーティングを決定する。例えば、ネットワークノード１１０ｂは、ＶＦＬ１２０ａ上で非ユニキャストパケット６００を受信する。ネットワークノード１１０ｂは、非ユニキャストパケット６００のプリペンデッドヘッダーの送信元ハードウェアデバイス情報（シャーシＩＤまたはモジュールＩＤ）が、ネットワークノード１１０ａに関連付けられていると判定する。ネットワークノード１１０ｂは、ＶＦＬルーティングテーブル２５４（表９および図１５ｂに示されているような）から、送信元ネットワークノード１１０ａに対するユニキャストパケットについてそれから構成されている最短経路を決定する。ＶＦＬルーティングテーブル２５４は、ネットワークノード１１０ａに対する最短経路が、シャーシＩＤ＝２からシャーシＩＤ＝３へのＶＦＩＤ＝２を含むことを指示する。したがって、ネットワークノード１１０ｂ（シャーシＩＤ＝２）は、ＶＦＩＤ＝２のＶＦＬ１２０ｂを介して非ユニキャストパケットをネットワークノード１１０ｃ（シャーシＩＤ＝３）に転送する。ネットワークノード１１０ｂは、この経路がネットワークノード１１０ａについて構成された最短経路に含まれていないので非ユニキャストパケット６００をＶＦＬ１２０ｅを介してネットワークノード１１０ｄに転送しない。したがって、非ユニキャストパケットは、送信元または入口ネットワークノード、および送信元ネットワークノードについて構成されているユニキャストパケットに対する最短経路に応答してルーティングされる。
【００９１】
一実施形態において、このルーティングを実装するために、出口フィルタリングが実装され、これにより、送信元ネットワークノードの構成された最短経路から除外されたＶＦＬ１２０から非ユニキャストパケットをブロックする。別の実施形態において、このルーティングを実装するために、受信側ネットワークノードによって入口フィルタリングが実装され、これにより、送信元ネットワークノードの構成された最短経路から除外されたＶＦＬ１２０から着信非ユニキャストパケットをブロックする。例えば、シャーシＩＤ＝４を有するネットワークノード１１０ｄは、ネットワークノード１１０ａの送信元ネットワークノードを伴う非ユニキャストトラフィックをＶＦＩＤ＝１およびＶＦＩＤ＝２からブロックする。したがって、入口フィルタリングについては、ネットワークノードは、ＶＦＬリンク上の送信元ネットワークノードが最短経路に含まれていない非ユニキャストパケットをユニキャストパケットに対する送信元ネットワークノードからブロックする。一実施形態において、出口フィルタリングは、マルチスロットシャーシベースタイプのアーキテクチャで実装され、入口フィルタリングは、単一のスロットまたはスタンドアロンのネットワーク要素上に実装されるが、異なる種類のノードおよびネットワークインターフェースモジュール上でフィルタリングの他の実装も可能である。
【００９２】
図１６は、仮想シャーシシステム１００において非ユニキャストトラフィックをルーティングするための方法６１０の一実施形態の論理フロー図を示している。ステップ６１２において、仮想シャーシシステム１００内のネットワークノード１１０は、ＶＦＬ１２０上で非ユニキャストパケットを受信する。受信側ネットワークノード１１０は、ステップ６１４においてプリペンデッドヘッダーから非ユニキャストパケットの送信元ネットワークノード（例えば、送信元シャーシＩＤまたは送信元ＭＩＤから）を決定する。受信側ネットワークノードは、ステップ６１６で、そのアドレステーブルにアクセスして送信元ネットワークノード１１０に対するユニキャストパケットについて構成されている最短経路を決定する。ステップ６１８において、受信側ネットワークノードは、送信元ネットワークノードに対するユニキャストパケットについて構成されている最短経路に基づき非ユニキャストパケットに対するルーティングを決定する。次いで、受信側ネットワークノードは、送信元ネットワークノードについて構成されている受信側ネットワークノードからユニキャストパケットに対する最短経路内の１つまたは複数のＶＦＬを介して非ユニキャストパケットを転送する。
【００９３】
動作時に、仮想シャーシシステム１００内のネットワークノード１１０は、ネットワークノード障害、ネットワークインターフェース障害、アプリケーションモジュール障害、およびＶＦＬ障害を含む１つまたは複数の種類の障害を検出し、それから復旧するように動作可能である。一実施形態において、パススルーモードは、ネットワークノード１１０における構成の間違い、不整合、または障害の検出に応答して仮想シャーシシステム内のネットワークノードを流れるユーザーデータおよび制御トラフィックに対するシステムおよび方法を提供する。パススルーモードは、仮想シャーシシステム内のトポロジーの破壊およびサービスの中断を回避するのを助けるものであるが、これについては、同日に出願され、引用により本明細書に組み込まれている、米国出願第１３／６７４，３５２号、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  Ａ  ＰＡＳＳ  ＴＨＲＵ  ＭＯＤＥ  ＩＮ  Ａ  ＶＩＲＴＵＡＬ  ＣＨＡＳＳＩＳ  ＳＹＳＴＥＭ」に関連してより詳しく説明されている。
【００９４】
ネットワークノード１１０は、２つまたはそれ以上の仮想シャーシシステム１００のマージなど、さまざまなネットワーク問題を検出し、それから復旧するように動作可能でもある。仮想シャーシシステム１００は、仮想シャーシグループ識別子と共に構成される。いくつかの場合において、異なるグループ識別を有する２つまたはそれ以上の仮想シャーシシステム１００をマージすると都合がよい。２つの仮想シャーシシステム１００がマージされる場合、マスターネットワークノードは、２つの仮想シャーシシステムから、マージされた仮想シャーシシステムに対するマスターネットワークノードとして選択される。他の仮想シャーシシステム内のネットワークノードは、ＶＣブート構成モジュールをマージすることについて図１１に関して説明されているのと同様にして選択されたマスターネットワークノードの構成およびパラメータを再構成し、その構成およびパラメータに再同期化する。そのような再構成は、ネットワークノード１１０の再起動を必要とすることがある。
【００９５】
図１７は、仮想シャーシシステムのマージの一実施形態の概略ブロック図を示している。第１の仮想シャーシグループＩＤ＝１の第１の仮想シャーシシステム１００ａは、第２の仮想シャーシグループＩＤ＝２の第２の仮想シャーシシステム１００ａとマージする。２つの仮想シャーシシステム１００ａと１００ｂのマスターネットワークノードのうちから選択するために、一実施形態では、マスターネットワークノードの選択キー、例えば、パラメータの優先順位付けリストが比較されるが、他の方法も同様に実装され得る。比較して有利な選択キーを有するマスターネットワークノードが、マージされたマスターネットワークノードとして選択される。図１７の例では、ネットワークノード１１０ａが、マージされたマスターネットワークノードとして選択される。選択されていないマスターネットワークノード１１０ｃは、スレーブモードに遷移し、その構成を選択されたマスターネットワークノード１１０ａと同期化する。それに加えて、選択されていないネットワークノードを含む仮想シャーシシステム内の、ネットワークノード１１０ｄなどの他のネットワークノードも、その構成を選択されたマスターネットワークノード１１０ａと同期化する。
【００９６】
図１８は、仮想シャーシシステムのマージに対する方法６２０の一実施形態の論理フロー図を示している。ステップ６２２において、マスターネットワークノードは、マージされた仮想シャーシシステムに対して選択される。一実施形態において、マスターネットワークノードは、２つまたはそれ以上のマージする仮想シャーシシステム内の既存のマスターネットワークノードから選択される。選択キー、例えば、パラメータの優先順位付けされたリストが比較され、既存のマスターネットワークノードのうちから選択するが、他の方法も同様に実装され得る。別の実施形態において、非マスターネットワークノードが、マージされた仮想シャーシシステムに対するマスターネットワークノードとして選択される（スレーブノードなど）。例えば、非マスターネットワークノードは、既存のマスターネットワークノードが重複するシャーシ識別子を含むか、または既存のマスターネットワークノードのうちの１つまたは複数で障害が発生するか、または非マスターネットワークノードがより有利な選択キーを有するときに選択され得る。
【００９７】
マスターネットワークノードが、マージされた仮想シャーシシステムに対して選択された場合、ステップ６２４において、既存の選択されていないマスターネットワークノードがスレーブモードに遷移する。次いで、ネットワークノードは、ステップ６２６で、そのトポロジーデータベース１４４をマージされた仮想シャーシシステムのトポロジー情報と共に更新し、ステップ６２８で、構成をマージされた仮想シャーシ内の選択されたマスターネットワークノードにマージする。ネットワークノードは、図１１に関してさらに説明されているように構成を選択されたマスターネットワークノードとマージするために再起動またはリブートされる必要がある。選択されたマスターネットワークノードとすでに同期化されているネットワークノード、例えば、以前の、選択されたマスターネットワークノードに対するスレーブノードは、このステップを実行し得ない。他の追加のプロセスまたは方法は、同日に出願され、引用により本明細書に組み込まれている、米国出願第１３／６７４，３５２号、名称「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  Ａ  ＰＡＳＳ  ＴＨＲＵ  ＭＯＤＥ  ＩＮ  Ａ  ＶＩＲＴＵＡＬ  ＣＨＡＳＳＩＳ  ＳＹＳＴＥＭ」に関連してより詳しく説明されているように、マージされた仮想シャーシシステム内で重複するシャーシＩＤを有するネットワークノード１１０を伴う状況のために実装され得る。
【００９８】
仮想シャーシ制御プロトコルに加えて、仮想シャーシシステム１００内のネットワークノード１１０は、さまざまな機能を実行するために追加の制御またはトランスポートプロトコルを操作することができる。例えば、追加の制御プロトコルは、健全性監視または他の機能のためのアプリケーション間の通信およびデータ共有を円滑にするためにネットワークノード内のアプリケーションモジュール間で、または異なるネットワークノード上のモジュール間で、実装され得る。一実施形態において、プロセス間通信（ＩＣＰ）プロトコルは、２０１１年１月２０日に出願され、引用により本明細書に組み込まれている、米国出願公開第２０１２／００３３６７８号、名称「Ｍｕｌｔｉ−Ｃｈａｓｓｉｓ  Ｉｎｔｅｒ−Ｐｒｏｃｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ」でより詳しく説明されているように実装される。そこで説明されているマルチシャーシシステム内のアグリゲートスイッチによって実装されるＩＰＣプロトコルも、同様に、ネットワークノード１００のアプリケーションモジュール間の通信およびデータ共有を円滑にするために仮想シャーシシステム１００内のネットワークノード１１０によって利用され得る。
【００９９】
一実施形態において、ＩＰＣは、仮想シャーシシステム１００内のネットワークノード１１０間の健全性監視機能を円滑にするように実装されるが、本明細書で説明されている健全性監視機能を実行するために代替的または追加のプロトコルも実装され得る。健全性監視機能は、ネットワークノード内のアプリケーションモジュール４０８−４１８が動作していること、およびネットワークノード１１０が仮想シャーシシステム１００内の他のネットワークノード１１０と通信することができることを保証するためにネットワークノード内の、およびネットワークノード１１０間の定期的チェックを含む。健全性監視では、アプリケーションモジュール間の仮想接続における障害も検出し、早すぎる、または誤った障害検出を防ぐのを補助する。
【０１００】
図１９は、仮想シャーシシステム１００内の健全性監視の一実施形態の概略ブロック図を示している。一実施形態において、健全性監視は、ＶＦＬ１２０を介して隣接するネットワークノード１１０間の１つまたは複数の論理もしくは仮想接続を確立することを含む。健全性監視のための仮想接続は、本明細書ではクリティカルコネクション（ｃｒｉｔｉｃａｌ  ｃｏｎｎｅｃｔｉｏｎｓ）と称される。仮想シャーシトポロジーおよびネットワークノード１１０のアーキテクチャに応じて、クリティカルコネクションをサポートするためにさまざまな制御およびトランスポートプロトコルが使用され得る。例えば、一実施形態では、インターネットプロトコルソケット（トランスポート制御プロトコル（ＴＣＰ）ソケット、ユーザーデータグラムプロトコル（ＵＤＰ）ソケットなど）上のＩＰＣ（Ｉｎｔｅｒ−Ｐｒｏｃｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ（プロセス間通信））が、隣接するネットワークノード１１０の間にクリティカルコネクションを実装するために使用される。例えば、一実施形態では、ネットワークノード１１０内のアプリケーションモジュール４０８−４１８は、通信を行うために、またデータを共有するために、ＴＣＰソケット上のＩＰＣ接続を利用する。したがって、健全性監視にＴＣＰソケット上の同じＩＰＣ接続を使用することで、アプリケーションモジュール４０８−４１８もこれらの接続を使用して通信することができることを示す。ＴＣＰ上のＩＰＣが本明細書において説明されているけれども、１つまたは複数の他の制御もしくはトランスポートプロトコルおよびメカニズムを使用する他の種類の仮想接続も、健全性監視およびアプリケーションモジュール４０８−４１８の間のデータの共有をサポートするように実装され得る。
【０１０１】
一実施形態において、図１９に示されているように、健全性を監視のために隣接するネットワークノード１１０の間に１つまたは複数のクリティカルコネクション６５０が確立される。例えば、一実施形態では、ネットワークノード１１０ａと隣接するネットワークノード１１０ｂとの間に３つのクリティカルコネクションが確立される。ネットワークノード１１０ａの指定されたＮＩＭ１５２ｂと隣接するネットワークノード１１０ｂのプライマリＣＭＭ１５０ａとの間に１つのクリティカルコネクションが確立される。ネットワークノード１１０ａの指定されたＮＩＭ１５２ｂと隣接するネットワークノード１１０ｂのセカンダリＣＭＭ１５０ｂとの間に別のクリティカルコネクションが確立される。さらに、ネットワークノード１１０ａの指定されたＮＩＭ１５２ｂと隣接するネットワークノード１１０の指定されたＮＩＭ１５２ａとの間に別のクリティカルコネクションが確立される。プライマリおよびセカンダリＣＭＭ１５０ならびに指定されたＮＩＭ１５２の同一性が、仮想シャーシ制御プロトコルを使用して発見トポロジーを通して決定される。図示されていないけれども、ネットワークノード１１０ｂの指定されたＮＩＭ１５２ａと指定されたＮＩＭ１５２ｂ、ネットワークノード１１０ａのプライマリＣＭＭ１５０ａとセカンダリＣＭＭ１５０ｂとの間にもクリティカルコネクションが確立される。１つまたは複数の他のもしくは代替的なクリティカルコネクションも、ネットワークノード１１０間に確立され得る。
【０１０２】
隣接するネットワークノード１１０ｂの状態は、ｈｅｌｌｏまたはキープアライブメッセージなどの、定期的健全性監視メッセージをクリティカルコネクション５１０を介して送信することによってネットワークノード１１０ａにより監視される。閾値数のｈｅｌｌｏまたはキープアライブメッセージへの応答が所定の期間内に受信されない場合、クリティカルコネクション６５０は、失敗状態（例えば、タイムアウト）に遷移させられる。一実施形態において、閾値数のクリティカルコネクションが失敗するか、またはタイムアウトになった場合、隣接するネットワークノード１１０ｂの状態は、非アクティブまたは動作不能状態に遷移させられる。例えば、一実施形態では、クリティカルコネクション６５０ａ−ｃのうちの少なくとも１つが動作中である場合、ネットワークノード１１０ｂは、そのまま、動作状態にあると考えられる。すべてのクリティカルコネクションが失敗した場合、ネットワークノード１１０ｂは、動作不能状態に遷移させられる。
【０１０３】
別の実施形態において、クリティカルコネクション６５０に適用されるさまざまなルールが、隣接するネットワークノード１１０ｂの状態を決定するために実装される。例えば、ネットワークノード１１０ｂのプライマリＣＭＭ１５０ａおよびセカンダリＣＭＭ１５０ｂに対する２つのクリティカルコネクション６５０ａおよび６５０ｂが失敗した場合、ネットワークノード１１０ｂは、動作不能であると考えられる。しかし、セカンダリＣＭＭ１５０ｂに対する２つのクリティカルコネクション６５０ｂおよび指定されたＮＩＭ１５２ａに対するクリティカルコネクション６５０ｃが失敗する場合、ネットワークノード１１０ｂは、そのまま、動作状態にあると考えられる。別の例では、ネットワークノード１１０ｂの指定されたＮＩＭ１５２ａに対するクリティカルコネクション６５０ｃが失敗した場合、新しい指定されたＮＩＭが引き継ぐのを待つように所定の期間が設定される。所定の期間が過ぎて動作状態になった新しい指定されたＮＩＭ１５２がなかった場合、ネットワークノード１１０ｂは、動作不能であると考えられる。
【０１０４】
ネットワークノード１１０が、動作不能状態に遷移させられた場合、仮想シャーシシステム１００内の動作不能のネットワークノードと他のネットワークノードとの間のクリティカルコネクション６５０は閉じられる。他のネットワークノード１１０は、そのＭＡＣ／ＨＤＩアドレステーブル２５０から動作不能のネットワークノードに対するＭＡＣアドレスをフラッシュし、トポロジーデータベース１４４内の動作不能のネットワークノードの役割を動作不能または不整合に遷移させるか、または動作不能のノードに対するトポロジー情報をフラッシュする。動作不能のネットワークノードがマスターの役割を有している場合、別のマスターネットワークノードが選択される。仮想シャーシ制御プロトコルでは、異なるトランスポートプロトコルを使用するので、クリティカルコネクション（例えば、ＴＣＰ上のＩＰＣ）が閉じられた（または失敗した）ときにもそのまま機能しているものとしてよい。この場合、動作不能のネットワークノードは、特に動作不能のネットワークノードがトポロジー内で仮想シャーシの分割を引き起こす場合に、パススルーモードに遷移し得る。
【０１０５】
健全性監視で、ネットワークノード１１０に結合されているＶＦＬ１２０が失敗したと判定した場合、トポロジー情報が分析され、それにより、失敗したＶＦＬ１２０が仮想シャーシの分割を引き起こすかどうかを判定する。仮想シャーシの分割が行われた場合、失敗したＶＦＬ１２０によってトポロジーから分離された１つまたは複数のネットワークノード１１０は、動作不能状態に遷移させられ、動作不能のネットワークノードに対して上で説明されているように類似のステップが実行される。失敗したＶＦＬ１２０が仮想シャーシの分割を引き起こさない、例えば、１つまたは複数の他のＶＦＬ１２０がネットワークノード１１０に動作可能に結合されている場合、トポロジーデータベース１４４は、失敗したＶＦＬ１２０を取り除くように更新され、アドレステーブルは、残りの動作しているＶＦＬ１２０を介して仮想シャーシシステムを通る経路を決定するように再構成される。
【０１０６】
健全性監視で、ネットワークノード１１０のＮＩＭ１５２が失敗したと判定した場合、失敗したＮＩＭ１５２とのクリティカルコネクション６５０は、閉じられる。失敗したＮＩＭ１５２のスイッチングモジュール２１０および外部ポートインターフェース２４０に関連付けられているＭＡＣアドレスは、仮想シャーシシステム１００内のネットワークノード１１０のＭＡＣ／ＨＤＩアドレステーブルからフラッシュされる。失敗したＮＩＭ１５２が、１つまたは複数のＶＦＬ１２０へのＶＦＬメンバーポートを備えている場合、トポロジー情報が分析され、それにより、失敗したＶＦＬメンバーポートが仮想シャーシの分割を引き起こすかどうかを判定する。引き起こす場合、失敗したＶＦＬメンバーポートによってトポロジーから分離された１つまたは複数のネットワークノード１１０は、動作不能状態に遷移させられ、動作不能のネットワークノードに対して上で説明されているように類似のステップが実行される。
【０１０７】
健全性監視で、ネットワークノード１１０のＣＭＭ１５０が失敗したと判定した場合、失敗したＮＩＭ１５２とのクリティカルコネクション６５０は、閉じられる。失敗したＣＭＭがプライマリである場合、セカンダリＣＭＭはプライマリＣＭＭに遷移する。
【０１０８】
図２０は、仮想シャーシシステム１００内のネットワークノード１１０の健全性監視を行うための方法７００の一実施形態の論理フロー図を示している。ステップ７０２において、隣接するネットワークノードの１つまたは複数のアプリケーションモジュール、制御モジュール、またはスイッチングモジュールとの１つまたは複数のクリティカルコネクションが監視しているネットワークノードによって確立される。１つまたは複数のクリティカルコネクションは、隣接するネットワークノードに結合されたＶＦＬ１２０を介して、または隣接するネットワークノードを結合する他の物理リンクを介して確立され得る。一実施形態におけるクリティカルコネクションは、ＴＣＰソケット上のＩＣＰに基づく仮想接続であるが、クリティカルコネクションを確立するために他のトランスポートまたは制御プロトコルも実装され得る。ステップ７０４において、監視しているネットワークノードは、キープアライブ、ｈｅｌｌｏ、または他の種類の監視プロトコルを使用してクリティカルコネクションによって隣接するネットワークノードを監視する。一実施形態において、監視メッセージは、クリティカルコネクションを介して、隣接するネットワークノードに所定の間隔で送信される。監視しているネットワークノードは、所定の期間の間、監視メッセージに対する応答が来るのを待つ。応答が受信されない場合、監視しているネットワークノードは、別の監視メッセージを送信し、別の所定の期間の間待機する。隣接するネットワークノードが１つまたは複数のクリティカルコネクションを介して所定の数の監視メッセージに応答できない場合、監視しているネットワークノードは、ステップ７０６で、クリティカルコネクションのうちの１つまたは複数が失敗していると判定する。１つまたは複数の失敗したクリティカルコネクションに応答して、監視しているネットワークノード１１０は、ステップ７０８で、隣接するネットワークノード、ＶＦＬ（または他の物理リンク）、アプリケーションモジュール、制御モジュール、または隣接するネットワークノードのスイッチングモジュールが失敗したか、または動作不能になったかどうかを判定する。もしそうであれば、隣接するネットワークノードは、本明細書で説明されているように、ステップ７１０において、復旧動作を実行する。
【０１０９】
仮想シャーシシステム１００内のネットワークノード１１０は、共通仮想シャーシＭＡＣアドレスを有する単一の論理デバイスとして扱われる。したがって、外部ノード１１２は、２つまたはそれ以上のネットワークノード１１０に動作可能に結合されているＶＣ−ＬＡＧ１１４のすべてのリンク上でトラフィックをアクティブに転送するように動作可能である。この機能は、キャリアグレード検出およびエッジアップリンク障害さらにはネットワークノード１１０の障害までのコンバージェンス時間を円滑にしながら外部ノードとネットワークノードとの間のスパニングツリープロトコルを必要とすることなくネットワークノード１１０への外部ノード１１２のマルチホーミングを可能にする。仮想シャーシシステム１００へのＶＣ−ＬＡＣ１１４のすべてのアップリンクのアクティブ転送モードの別の利点は、ＶＣ−ＬＡＣ１１４のリンクの帯域幅の使用効率が高まることである。こうして、仮想シャーシシステム１００は、１つまたは複数の異なる種類のネットワークトポロジーにおいて１つまたは複数の異なる種類のノードアーキテクチャを有するネットワークノード間に回復力を有するネットワークを実現する。
【０１１０】
本明細書で使用されうるように、「動作可能に結合される」、「結合される」、および／または「結合する」という言い回し（複数可）は、項目間の直接的結合および／または介在する項目を介した項目間の間接的結合を含み（例えば、項目は、限定はしないが、コンポーネント、要素、回路、および／またはモジュールを含む）、ただし、間接的結合については、介在する項目は信号の情報を修正しないが、その電流レベル、電圧レベル、および／または電力レベルを調整し得る。本明細書でさらに使用され得るように、推論される結合（つまり、一方の要素が、推論によって他方の要素に結合される）は、「結合される」と同じようにして２つの項目間の直接的および間接的結合を含む。
【０１１１】
本明細書でなおも使用され得るように、「するように動作可能である」または「動作可能に結合される」という言い回しは、項目が、対応する機能のうちの１つまたは複数を、活性化されたときに、実行するための電源接続部、入力（複数可）、出力（複数可）などのうちの１つまたは複数を含み、１つまたは複数の他の項目への推論される結合をさらに含み得ることを示す。本明細書でさらに使用され得るように、「関連付けられている」という言い回しは、個別の項目の直接的および／または間接的結合、および／または一方の項目が他方の項目の中に埋め込まれていること、または一方の項目が他方の項目と共に、または他方の項目によって使用されるように構成されていることを含む。本明細書で使用され得るように、「比較して有利である」という言い回しは、２つまたはそれ以上の項目、信号などの間の比較が所望の関係をもたすことを示す。例えば、所望の関係が、信号１の大きさが信号２の大きさより大きいという関係である場合、比較して有利であることは、信号１の大きさが信号２の大きさより大きいか、または信号２の大きさが信号１の大きさより小さいときに達成され得る。
【０１１２】
また本明細書で使用され得るように、「処理モジュール」、「処理回路」、および／または「処理ユニット」という用語は、単一の処理デバイスまたは複数の処理デバイスであってよい。そのような処理デバイスは、マクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ、マイクロコンピュータ、中央演算処理装置、フィールドプログラマブルゲートアレイ、プログラム可能論理デバイス、状態機械、論理回路、アナログ回路、デジタル回路、および／または回路のハードコーディングおよび／または操作命令に基づき信号（アナログおよび／またはデジタル）を操作するデバイスであってよい。処理モジュール、モジュール、処理回路、および／または処理ユニットは、メモリおよび／または集積化メモリ要素であるか、またはさらに備えることができ、これらは単一のメモリデバイス、複数のメモリデバイス、および／または別の処理モジュール、モジュール、処理回路、および／または処理ユニットの埋め込み回路であってよい。このようなメモリデバイスは、リードオンリーメモリ、ランダムアクセスメモリ、揮発性メモリ、不揮発性メモリ、スタティックメモリ、ダイナミックメモリ、フラッシュメモリ、キャッシュメモリ、および／またはデジタル情報を記憶する任意のデバイスであってよい。処理モジュール、モジュール、処理回路、および／または処理ユニットが複数の処理デバイスを備える場合、処理デバイスは集中的に配置され得るか（例えば、有線および／またはワイヤレスバス構造を介して直接的に１つに結合される）、または分散配置にすることができる（例えば、ローカルエリアネットワークおよび／またはワイドエリアネットワークを介した間接的結合を用いるクラウドコンピューティング）ことに留意されたい。さらに、処理モジュール、モジュール、処理回路、および／または処理ユニットが、その機能の１つまたは複数を、状態機械、アナログ回路、デジタル回路、および／または論理回路を介して実装する場合、対応する操作命令を記憶するメモリおよび／またはメモリ要素は、状態機械、アナログ回路、デジタル回路、および／または論理回路を含む回路内に埋め込まれるか、またはその回路の外部にあってもよいことに留意されたい。また、メモリ要素は、図の１つまたは複数に示されているステップおよび／また機能のうちの少なくともいくつかに対応するハードコーディングおよび／または操作命令を記憶し、処理モジュール、モジュール、処理回路、および／または処理ユニットは、これらを実行することにさらに留意されたい。そのようなメモリデバイスまたはメモリ要素は、製造品に含まれ得る。
【０１１３】
本発明は、指定された機能の実行およびこれらの機能の関係を示す方法ステップの助けを借りて説明されている。これらの機能構成ブロックおよび方法ステップの境界および順序は、説明の便宜のために本明細書で任意に定義されている。代替的境界および順序は、指定された機能および関係が適切に実行される限り定義され得る。したがって、そのような代替的境界または順序はどれも、請求されている発明の範囲および精神のうちにある。さらに、これらの機能構成ブロックの境界は、説明の便宜のために任意に定義されている。代替的境界は、特定の重要な機能が適切に実行される限り定義される可能性がある。同様に、流れ図ブロックも、いくつかの重要な機能性を例示するために本明細書において任意に定義され得る。使用される範囲において、流れ図ブロックの境界および順序は、他の何らかの方法で定義されている可能性もあり、それでもその特定の重要な機能性を実行することができる。したがって、機能構成ブロックおよび流れ図ブロックの両方および順序のそのような代替的定義は、請求されている発明の範囲および精神のうちにある。当業者であれば、機能概略ブロック、ならびに本明細書の他の例示的なブロック、モジュール、およびコンポーネントは、例示されているように実装され得るか、または離散コンポーネント、特定用途向け集積回路、適切なソフトウェアおよび同様のものを実行するプロセッサ、またはこれらの任意の組み合わせで組み合わされるか、または分離され得ることが理解されよう。
【０１１４】
本発明は、少なくとも一部は１つまたは複数の実施形態に関して本明細書で説明されている。一実施形態は、本発明、その一態様、その特徴、その概念、および／またはその例を示すため本明細書で説明されている。本発明を具現化する装置、製造品、機械、および／またはプロセスの物理的実施形態は、本明細書で説明されている実施形態のうちの１つまたは複数を参照しつつ説明されている態様、特徴、概念、例などのうちの１つまたは複数を備えることができる。さらに、図から図へ移る間に、これらの実施形態は、同じまたは異なる参照番号を使用し得る同じ、または類似の名前の機能、ステップ、モジュールなどを組み込むものとしてもよく、また、したがって、機能、ステップ、モジュールなどは、同じ、もしくは類似の機能、ステップ、モジュールなど、または異なるものであってもよい。
【０１１５】
特に断りのない限り、本明細書に提示されている図中の要素への、要素からの、および／または要素間の信号は、アナログまたはデジタル、連続時間または離散時間、およびシングルエンドまたは差動であってよい。例えば、信号経路が、シングルエンド経路として示されている場合、これは、差動信号経路も表す。同様に、信号経路が、差動経路として示されている場合、これは、シングルエンド信号経路も表す。本明細書において１つまたは複数の特定のアーキテクチャが説明されているが、図に明示されていない１つまたは複数のデータバス、要素間の直接接続、および／または他の要素間の間接結合を使用する他のアーキテクチャも同様に実装され得る。
【０１１６】
「モジュール」という用語は、本発明のさまざまな実施形態の説明で使用されている。モジュールは、本明細書で説明されているような１つまたは複数の機能を実行するように動作可能な処理モジュール（上で説明されているような）、機能ブロック、ハードウェア、および／またはメモリ上に記憶されているソフトウェアを含む。モジュールがハードウェアを介して実装される場合、ハードウェアは、ソフトウェアおよび／またはファームウェアと独立して、および／または連携して動作し得る。モジュールがメモリ内に記憶されているソフトウェアとして実装される場合、モジュールが、処理モジュールもしくは他のハードウェアを使用してモジュール内のメモリに記憶されているソフトウェアを実行し本明細書で説明されているような機能を実行するように動作可能である。本明細書で説明されているモジュールは、１つまたは複数のサブモジュールを備えるものとしてよく、それぞれは１つまたは複数のモジュールであるか、１つまたは複数の他のモジュールに組み込まれ得るか、または１つまたは複数の他のモジュールを備えるものとしてよい。
【０１１７】
本発明のさまざまな機能および特徴の特定の組み合わせが、本明細書で明示的に説明されているが、これらの特徴および機能の他の組み合わせも同様に可能である。本明細書で説明されている実施形態は、説明されている特定の例によって制限されず、他の組み合わせおよび実施形態を含み得る。
【図１ａ】
2016501462.tif 000014
【図１ｂ】
2016501462.tif 000015
【図１ｃ】
2016501462.tif 000016
【図２】
2016501462.tif 000017
【図３】
2016501462.tif 000018
【図４】
2016501462.tif 000019
【図５】
2016501462.tif 000020
【図６】
2016501462.tif 000021
【図７】
2016501462.tif 000022
【図８】
2016501462.tif 000023
【図９】
2016501462.tif 000024
【図１０】
2016501462.tif 000025
【図１１】
2016501462.tif 000026
【図１２】
2016501462.tif 000027
【図１３】
2016501462.tif 000028
【図１４ａ】
2016501462.tif 000029
【図１４ｂ】
2016501462.tif 000030
【図１５ａ】
2016501462.tif 000031
【図１５ｂ】
2016501462.tif 000032
【図１６】
2016501462.tif 000033
【図１７】
2016501462.tif 000034
【図１８】
2016501462.tif 000035
【図１９】
2016501462.tif 000036
【図２０】
2016501462.tif 000037
【国際調査報告】
2016501462.tif 000038
2016501462.tif 000039
2016501462.tif 000040