(57)【特許請求の範囲】
【請求項１】
ネットワーク機器であって、  第１の転送ボードと、
第２の転送ボードと、
ネットワークインタフェースチップと、第１のＩ／Ｏバスを介して第１の転送ボードに接続され、第２のＩ／Ｏバスを介して第２の転送ボードに接続され、ネットワークインターフェースバスを介して前記ネットワークインターフェースチップに接続される制御デバイスと、を有するインタフェースボードと、を含み、
該制御デバイスが、ネットワークインタフェースチップによってネットワーク機器の外
部から受信されたデータパケットを、第１のＩ／Ｏバスを介して第１の転送ボードへ送信
される第１の上りデータパケットフローと、第２のＩ／Ｏバスを介して第２の転送ボード
へ送信される第２の上りデータパケットフローとに形成し、
該制御デバイスが、第１の転送ボード及び第２の転送ボードのアクティブ・スタンバイ
の状態に基づいて、第１のＩ／Ｏバスを介して受信され、第１の転送ボードによって処理
された第１の下りデータパケットフローと、第２のＩ／Ｏバスを介して受信され、第２の
転送ボードによって処理された第２の下りデータパケットフローとのうちのいずれか一方
を、ネットワークインタフェースバスを介してネットワークインタフェースチップと導通
させ、
第１のＩ／Ｏバスが第１のＰＣＩ−Ｅバスであり、第２のＩ／Ｏバスが第２のＰＣＩ−Ｅバスであり、
第１の転送ボードは、第１のＰＣＩ−Ｅバスに接続される第１のＰＣＩ−Ｅ  ＲＣと、第１のＰＣＩ−Ｅ  ＲＣを駆動する第１のＣＰＵとを有し、第２の転送ボードは、第２のＰＣＩ−Ｅバスに接続される第２のＰＣＩ−Ｅ  ＲＣと、第２のＰＣＩ−Ｅ  ＲＣを駆動する第２のＣＰＵとを有し、
そして、前記制御デバイスは、
第１のＰＣＩ−Ｅバスに接続される第１のＰＣＩ−Ｅエンドポイントと、
第２のＰＣＩ−Ｅバスに接続される第２のＰＣＩ−Ｅエンドポイントと、
第１のＰＣＩ−Ｅエンドポイントに接続される第１の受信キャッシュキューおよび第１の送信キャッシュキューと、
第２のＰＣＩ−Ｅエンドポイントに接続される第２の受信キャッシュキューおよび第２の送信キャッシュキューと、
ネットワークインタフェースバスを介してネットワークインタフェースチップに接続されるネットワークインタフェースバスコントローラと、
ネットワークインタフェースバスコントローラを第１の受信キャッシュキューおよび第２の受信キャッシュキューにそれぞれ接続し、第１の受信キャッシュキューを使用して第１の上りデータパケットフローを形成し、第２の受信キャッシュキューを使用して第２の上りデータパケットフローを形成するコピードライバと、
第１の下りデータパケットフローと第２の下りデータパケットフローとのうちのいずれか一方を、ネットワークインターフェイスバスを介してネットワークインターフェイスチップと導通させるように、第１の送信キャッシュキューと第２の送信キャッシュキューとのうちのいずれか一方を、ネットワークインタフェースバスコントローラと接続する選択切替部と、を含み、
前記第１のＰＣＩ−Ｅエンドポイントと、前記第１の受信キャッシュキューと、前記第１の送信キャッシュキューは、ネットワーク機器が電源投入されて起動された後のＰＣＩ−Ｅ初期化において、第１のＣＰＵによって第１のＰＣＩ−Ｅ  ＲＣを駆動することで設定され、
前記第２のＰＣＩ−Ｅエンドポイントと、前記第２の受信キャッシュキューと、前記第２の送信キャッシュキューは、ネットワーク機器が電源投入されて起動された後のＰＣＩ−Ｅ初期化において、第２のＣＰＵによって第２のＰＣＩ−Ｅ  ＲＣを駆動することで設定されることを特徴とするネットワーク機器。
【請求項２】
前記制御デバイスは、
第１のＣＰＵの制御ピンと第２のＣＰＵの制御ピンによって、第１の転送ボードと第２の転送ボードのアクティブ・スタンバイ状態を記録するための状態識別モジュールと、
状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて、第１の転送ボードがアクティブ状態の転送ボードである場合に、第１のＩ／Ｏバスによって受信され、第１の転送ボードによって処理された第１の下りデータパケットフローを、ネットワークインターフェースバスを介してネットワークインターフェースチップと導通させ、第２の転送ボードがアクティブ状態の転送ボードである場合に、第２のＩ／Ｏバスによって受信され、第２の転送ボードによって処理された第２の下りデータパケットフローを、ネットワークインターフェースバスを介してネットワークインターフェースチップと導通させるための選択切り替えスイッチと、を更に含む
ことを特徴とする請求項１に記載のネットワーク機器。
【請求項３】
前記制御デバイスは、ネットワークインターフェース設定において、状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて第１の転送ボードがアクティブ状態の転送ボードであると確定した場合に、第１のＰＣＩ−Ｅ  ＲＣから、第１のＣＰＵによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信し、状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて第２の転送ボードがアクティブ状態の転送ボードであると確定した場合に、第２のＰＣＩ−Ｅ  ＲＣから、第２のＣＰＵによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信するためのネットワークインターフェース設定モジュール、を更に含む
ことを特徴とする請求項２に記載のネットワーク機器。
【請求項４】
前記制御デバイスは、第１の管理バスを介して第１のＣＰＵに接続され、第２の管理バスを介して第２のＣＰＵに接続され、ネットワーク機器の起動際に、状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて第１の転送ボードがアクティブ状態の転送ボードであると確定した場合に、第１の管理バスを介して第１のＣＰＵによるインターフェースボードへの初期化設定を受信し、状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて第２の転送ボードがアクティブ状態の転送ボードであると確定した場合に、第２の管理バスを介して第２のＣＰＵによるインターフェースボードへの初期化設定を受信するためのボード設定モジュールと、を更に含む
ことを特徴とする請求項２に記載のネットワーク機器。
【請求項５】
ネットワークインタフェースチップを有するインタフェースボードと、第１のＩ／Ｏバスを介してインターフェースボードに接続される第１の転送ボードと、第２のＩ／Ｏバスを介してインターフェースボードに接続される第２の転送ボードとを含むネットワーク機器に適用されるパケット転送方法であって、
インターフェースボードにおいて、ネットワークインタフェースチップによってネットワーク機器の外部から受信されたデータパケットを、第１のＩ／Ｏバスを介して第１の転送ボードに送信される第１の上りデータパケットフローと、第２のＩ／Ｏバスを介して第２の転送ボードに送信される第２の上りデータパケットフローとに形成することと、第１の転送ボードと第２の転送ボードのアクティブ・スタンバイ状態に基づいて、第１のＩ／Ｏバスを介して受信され、第１の転送ボードによって処理された第１の下りデータパケットフローと、第２のＩ／Ｏバスを介して受信され、第２の転送ボードによって処理された第２の下りデータパケットフローとのうちのいずれか一方をネットワークインタフェースバスを介してネットワークインタフェースチップと導通させることと、を含み、
第１のＩ／Ｏバスが第１のＰＣＩ−Ｅバスであり、第２のＩ／Ｏバスが第２のＰＣＩ−Ｅバスであり、
第１の転送ボードは、第１のＰＣＩ−Ｅバスに接続される第１のＰＣＩ−Ｅ  ＲＣと、第１のＰＣＩ−Ｅ  ＲＣを駆動する第１のＣＰＵとを有し、第２の転送ボードは、第２のＰＣＩ−Ｅバスに接続される第２のＰＣＩ−Ｅ  ＲＣと、第２のＰＣＩ−Ｅ  ＲＣを駆動する第２のＣＰＵとを有し、
インターフェースボードは、第１のＰＣＩ−Ｅバスに接続される第１のＰＣＩ−Ｅエンドポイントと、第２のＰＣＩ−Ｅバスに接続される第２のＰＣＩ−Ｅエンドポイントと、第１のＰＣＩ−Ｅエンドポイントに接続される第１の受信キャッシュキュー及び第１の送信キャッシュキューと、第２のＰＣＩ−Ｅエンドポイントに接続された第２の受信キャッシュキュー及び第２の送信キャッシュキューと、ネットワークインタフェースバスを介してネットワークインタフェースチップに接続されるネットワークインタフェースバスコントローラとを有し、
該パケット転送方法は、ネットワークインタフェースバスコントローラによってネットワークインタフェースバスチップから受信されたデータパケットをコピーして、第１の受信キャッシュキューと第２の受信キャッシュキューにそれぞれ盛り込むことで、第１の受信キャッシュキューを使用して第１の上りデータパケットフローを形成し、第２の受信キャッシュキューを使用して第２の上りデータパケットフローを形成することを含み、
該パケット転送方法は、第１の送信キャッシュキューと第２の送信キャッシュキューとのうちのいずれか一方をネットワークインタフェースバスコントローラと導通させることで、第１の下りデータパケットフローと第２の下りデータパケットフローとのうちのいずれか一方をネットワークインターフェイスバスを介してネットワークインターフェイスチップと導通させることをさらに含み、
ネットワーク機器が電源投入されて起動された後のＰＣＩ−Ｅの初期化において、前記パケット転送方法は、
第１のＰＣＩ−Ｅエンドポイントと、第１の受信キャッシュキューと、第１の送信キャッシュキューは、第１のＣＰＵによって第１のＰＣＩ−Ｅ  ＲＣを駆動することで設定されることと、
第２のＰＣＩ−Ｅエンドポイントと、第２の受信キャッシュキューと、第２の送信キャッシュキューは、第２のＣＰＵによって第２のＰＣＩ−Ｅ  ＲＣを駆動することで設定されることと、を含むことを特徴とするパケット転送方法。
【請求項６】
第１のＣＰＵの制御ピンと第２のＣＰＵの制御ピンによって、第１の転送ボードと第２の転送ボードのアクティブ・スタンバイ状態を識別し、第１の転送ボードがアクティブ状態の転送ボードである場合に、第１のＩ／Ｏバスによって受信され、第１の転送ボードによって処理された第１の下りデータパケットフローを、ネットワークインターフェースバスを介してネットワークインターフェースチップと導通させ、第２の転送ボードがアクティブ状態の転送ボードである場合に、第２のＩ／Ｏバスによって受信され、第２の転送ボードによって処理された第２の下りデータパケットフローを、ネットワークインターフェースバスを介してネットワークインターフェースチップと導通させること、を更に含む
ことを特徴とする請求項５に記載のパケット転送方法。
【請求項７】
ネットワークインターフェース設定において、前記パケット転送方法は、
第１の転送ボードがアクティブ状態の転送ボードである場合に、第１のＰＣＩ−Ｅ  ＲＣから、第１のＣＰＵによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信し、第２の転送ボードがアクティブ状態の転送ボードである場合に、第２のＰＣＩ−Ｅ  ＲＣから、第２のＣＰＵによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信すること、を更に含む
ことを特徴とする請求項６に記載のパケット転送方法。
【請求項８】
ネットワーク機器の起動する際に、前記パケット転送方法は、
第１の転送ボードがアクティブ状態の転送ボードである場合に、第１の管理バスを介して第１のＣＰＵによるインターフェースボードへの初期化設定を受信し、第２の転送ボードがアクティブ状態の転送ボードである場合に、第２の管理バスを介して第２のＣＰＵによるインターフェースボードへの初期化設定を受信することを更に含む
ことを特徴とする請求項６に記載のパケット転送方法。
【発明の詳細な説明】
【発明の背景】
【０００１】
ネットワーク機器には転送ボードとインタフェースボードがある。そして、転送ボードはアクティブ・スタンバイの冗長構成を採用することによって転送の確実性を向上する。
転送ボードのアクティブ・スタンバイの切り替えを行う必要がある場合に、転送ボードとインタフェースボードとの間にあるＩ／Ｏバスに物理的な切り替え操作をすれば良い。即ち、インタフェースボードとスタンバイ状態に降格された転送ボードとの間にあるＩ／Ｏバスの物理的な接続が切断され、インタフェースボードとアクティブ状態に昇格された転送ボードとの間においてＩ／Ｏバスの物理的な接続が新たに確立される。そして、アクティブ状態に昇格された転送ボードは、物理的な接続が新たに確立されたＩ／Ｏバスを初期化する必要もある。
【図面の簡単な説明】
【０００２】
以下の図面は単なる例示に過ぎず、本発明を何ら限定するものではない。以下の図面において、同様の符号は、同様の要素を示す。
【図１】図１は、一つの実施例に係るネットワーク機器の原理模式図である。
【図２】図２ａおよび図２ｂは、図１に示す実施例の動作状態を示す模式図である。
【図３】図３は、一つの実施例に係るＰＣＩ−Ｅバスによるネットワーク機器の構成を示す模式図である。
【図４】図４ａおよび図４ｂは、図３に示す実施例の動作状態を示す模式図である。
【図５】図５は、図３に示すネットワーク機器における拡張構成を示す模式図である。
【図６】図６は、一つの実施例に係るネットワーク機器に適用されるパケット転送方法を示すフローチャートである。
【図７】図７は、一つの実施例に係るネットワーク機器の初期化を示すフローチャートである。
【発明を実施するための形態】
【０００３】
以下、説明の簡潔化のために、幾つかの代表的な実施例を挙げて本発明の技術案を説明する。以下では、技術の詳細を説明することによって技術案を理解しやすくなることを図る。しかし、本発明の技術案は、これらの特定の詳細に限定されることなく実施され得る。また、不本意に本技術案を曖昧にすることを避けるために、一部の例において方法および構造の詳細に関する説明は省略する。以下では、「一つ」という言葉は、ある特定の要素を例として説明するために使用される。以下では、「含む」という言葉は、「含んでいるがこれに限定されない」ことを意味しており、「に基づいて」という言葉は、「少なくとも。。。に基づくが、これのみに基づくとは限定されない」ことを意味している。明細書および特許請求の範囲で使用される「含む」という言葉およびその類語は、明示された要件を少なくとも含むことを意味しており、その他にも要件が存在し得ることと解釈されるべきである。以下では、特に明記されない限り、要素の数は一つ又は複数であってもよく、或いは少なくとも１つとして理解すべきである。
【０００４】
図１に示したように、一つの実施例では、ネットワーク機器１０であって、
第１の転送ボード１１と、
第２の転送ボード１２と、
ネットワークインタフェースチップ１３２と、第１のＩ／Ｏバス２１を介して第１の転送ボード１１に接続され、第２のＩ／Ｏバス２２を介して第２の転送ボード１２に接続され、ネットワークインターフェースバス２３を介してネットワークインターフェースチップ１３２に接続される制御デバイス（以下、論理デバイスともいう）１３１と、を有するインタフェースボード１３と、を含み、
該制御デバイス１３１が、ネットワークインタフェースチップ１３２によってネットワーク機器１０の外部から受信されたデータパケット２００ａを、第１のＩ／Ｏバス２１を介して第１の転送ボード１１へ送信される第１の上りデータパケットフロー２１１と、第２のＩ／Ｏバス２２を介して第２の転送ボード１２へ送信される第２の上りデータパケットフロー２１２とに形成し、
該制御デバイスが、第１の転送ボード１１及び第２の転送ボード１２のアクティブ・スタンバイの状態に基づいて、第１のＩ／Ｏバス２１を介して受信され、第１の転送ボード１１によって処理された第１の下りデータパケットフロー２２１と、第２のＩ／Ｏバス２２を介して受信され、第２の転送ボード１２によって処理された第２の下りデータパケットフロー２２２とのうちのいずれか一方をネットワークインタフェースバス２３を介してネットワークインタフェースチップ１３２と導通させることにより、ネットワークインタフェースチップ１３２にネットワーク機器１０のエッグレス（ｅｇｒｅｓｓ）方向へデータパケット２００ｂを送り出させるネットワーク機器１０である。
【０００５】
ただし、データパケットフローの方向を定義する前記「上り」は、ネットワーク機器１０の外部からネットワーク機器１０の内部に入る方向（すなわち、イングレス方向）として理解することができるし、インターフェースボード１３から第１の転送ボード１１および第２の転送ボード１２へ送信する方向としても理解することができる。相応的に、データパケットフローの方向を定義する前記「下り」は、ネットワーク機器１０の内部からネットワーク機器１０の外部に出る方向（すなわち、エッグレス方向）として理解することができるし、第１の転送ボード１１および第２の転送ボード１２からインターフェースボード１３へ送信する方向としても理解することができる。また、「上り」と「下り」は、絶対的方向を表現するためのものではなく、反対する２つの相対的方向を限定するために使用されるものである。
【０００６】
一例として、制御デバイス１３１は、データパケット２００ａのコピーを第１の上りデータパケットフロー２１１として利用し、データパケット２００ａの別のコピーを第２の上りデータパケットフロー２１２として利用することができる。すなわち、制御デバイス１３１は、一つのデータパケットを受信すると、該データパケットを第１の上りデータパケットフロー２１１と第２の上りデータパケットフロー２１２にそれぞれ追加することができる。
【０００７】
一例として、制御デバイス１３１又はそのモジュールは、専用のハードウエアによって実現でき、例えば、特定の動作を実行するように、特別に設計された永久的な回路又は論理デバイス（例えば、ＦＰＧＡ又はＡＳＩＣのような専用プロセッサ）を用いることが可能である。他の例として、制御デバイス１３１又はそのモジュールは、機械可読命令を実行するハードウェアによって実現でき、例えば、特定の操作を実行するように、ソフトウェアによって一時的に設定されるプログラマブル論理デバイス又は回路（例えば、汎用プロセッサ又は他のプログラムブルプロセッサなどのデバイス）を使用してもよい。
【０００８】
上記の実施例で説明した原理では、図２ａおよび図２ｂに示す２つの状態を含めることができる。
【０００９】
図２ａに示すように、第１の転送ボード１１がアクティブ状態にあり、第２の転送ボード１２がスタンバイ状態にある場合に、制御デバイス１３１は、ネットワークインターフェースチップ１３２を介してネットワーク機器１０の外部からデータパケット２００ａを受信し、第１のＩ／Ｏバス２１を介して第１の転送ボード１１へ送信される第１の上りデータパケットフロー２１１と、第２のＩ／Ｏバス２２を介して第２の転送ボード１２へ送信される第２の上りデータパケットフロー２１２とを形成する。制御デバイス１３１が第１の転送ボード１１から受信した第１の下りデータパケットフロー２２１は、ネットワークインターフェースチップ１３２と導通されており、制御デバイス１３１が第２の転送ボード１２から受信した第２の下りデータパケットフロー２２２は、ネットワークインターフェースチップ１３２と切断されている。そのため、ネットワークインタフェースチップ１３２によってネットワーク機器１０の外部に送信されるデータパケット２００ｂは、第１の下りデータパケットフロー２２１からのものである。
【００１０】
図２ｂに示すように、第１の転送ボード１１がスタンバイ状態にあり、第２の転送ボード１２がアクティブ状態にある場合に、制御デバイス１３１は、ネットワークインターフェースチップ１３２を介してネットワーク機器１０の外部からデータパケット２００ａを受信し、第１のＩ／Ｏバス２１を介して第１の転送ボード１１へ送信される第１の上りデータパケットフロー２１１と、第２のＩ／Ｏバス２２を介して第２の転送ボード１２へ送信される第２の上りデータパケットフロー２１２とを形成する。そして、制御デバイス１３１が第１の転送ボード１１から受信した第１の下りデータパケットフロー２２１は、ネットワークインターフェースチップ１３２と切断されており、制御デバイス１３１が第２の転送ボード１２から受信した第２の下りデータパケットフロー２２２は、ネットワークインターフェースチップ１３２と導通されている。そのため、ネットワークインタフェースチップ１３２によってネットワーク機器１０の外部に送信されるデータパケット２００ｂは、第２の下りデータパケットフロー２２２からのものである。
【００１１】
上記図２ａおよび図２ｂにおいて、それぞれスタンバイ状態にある第２の転送ボード１２とスタンバイ状態にある第１の転送ボード１１が正常に転送機能を果たすことができる場合を例として示されている。従って、図２ａにおいて第２の下りデータパケットフロー２２２が存在しており、図２ｂにおいて第１の下りデータパケットフロー２２１が存在している。図２ａにおける第２の転送ボード１２又は図２ｂにおける第１の転送ボード１１が自分の故障によりスタンバイ状態に切り替えられた場合に、図２ａにおける第２の転送ボード１２又は図２ｂにおける第１の転送ボード１１は、ネットワーク機器１０のエッグレス方向へ転送する機能を有しない可能性があり、相応的に、図２ａにおける第２の下りデータパケットフロー２２２又は図２ｂにおける第１の下りデータパケットフロー２２１は、存在しない可能性がある。
【００１２】
上記の実施例では、インターフェースボード１３は、相互に独立している第１のＩ／Ｏバス２１及び第２のＩ／Ｏバス２２を介して、第１の転送ボード１１及び第２の転送ボード１２にそれぞれ接続されている。そして、インターフェースボード１３のネットワークインターフェースチップ１３２がイングレス方向で受信したデータパケット２００ａは、第１のＩ／Ｏバス２１を介して第１の転送ボード１１へ送信される第１の上りデータパケットフロー２１１及び第２のＩ／Ｏバス２２を介して第２の転送ボード１２へ送信される第２の上りデータパケットフロー２１２を形成することができる。
【００１３】
これにより、アクティブ状態にある第１の転送ボード１１はスタンバイ状態にある第２の転送ボード１２とともに正常に転送できる場合に、第１のＩ／Ｏバス２１によって独立して伝送される第１の下りデータパケットフロー２２１と、第２のＩ／Ｏバス２２によって独立して伝送される第２の下りデータパケットフロー２２２とは、同時に存在することができる。従って、第１の下りデータパケットフロー２２１と第２の下りデータパケットフロー２２２とのうちのいずれか一方をネットワークインターフェイスチップ１３２と導通させることにより、下りデータパケットフローの転送を行うことができる。
【００１４】
上記の実施例によれば、転送ボードに対するアクティブ・スタンバイの切り替えが必要な場合に、第１のＩ／Ｏバス２１および第２のＩ／Ｏバス２２のいずれに対しても物理的な切り替え操作をする必要がないので、Ｉ／Ｏバスに対する物理的な切り替え動作及び物理的な切り替えの完了後の初期化を避けることができ、アクティブ・スタンバイ切り替えによるトラフィックの中断時間を短縮することができる。
【００１５】
また、上記の実施例における第１の転送ボード１１と第２の転送ボード１２は、少なくとも転送機能を有するボードであればよい。そして、第１の転送ボード１１および／又は第２の転送ボード１２は、制御、計算および記憶などの機能をさらに集積化することもできる。すなわち、上記の実施例では、転送機能を有するボードを転送ボードと称したが、転送ボードの機能が転送機能に限ることはない。
【００１６】
第１のＩ／Ｏバス２１及び第２のＩ／Ｏバス２２はともにＰＣＩ−Ｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）バスである場合は、ＰＣＩ−Ｅバスの一端が転送ボードにＰＣＩ−Ｅ  ＲＣ（Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）を形成し、ＰＣＩ−Ｅバスの他端がインターフェースボードにＰＣＩ−Ｅエンドポイント（Ｅｎｄｐｏｉｎｔ）を形成するので、ＰＣＩ−Ｅバスに対する物理的な切り替え操作を実施すると、インタフェースボードのＰＣＩ−Ｅエンドポイントが、それぞれの転送ボードのＰＣＩ−Ｅ  ＲＣにおいてホットアンプラグとホットプラグを引き起こしてしまう。そして、アクティブ状態に昇格された転送ボードに対するホットプラグによって、トラフィックの中断時間は１０秒程度続くことになるが、本発明の上記の例示を採用することにより、ＰＣＩ−Ｅバスに対する物理的な切り替え操作を避けることができ、少なくともトラフィックの中断時間をナノ秒の程度に低下させることができ、トラフィックの中断時間の短縮効果は明らかである。
【００１７】
次に、第１のＩ／Ｏバスは第２のＩ／ＯバスとともにＰＣＩ−Ｅバスを使用した場合を例として説明する。
【００１８】
図３に示したように、一つの実施例では、ネットワーク機器３０は、
第１のＰＣＩ−Ｅバス４１に接続される第１のＰＣＩ−Ｅ  ＲＣ  ４１１と、第１のＰＣＩ−Ｅ  ＲＣ  ４１１を駆動する第１のＣＰＵ  ３１０とを有する第１の転送ボード３１と、  
第２のＰＣＩ−Ｅバス４２に接続される第２のＰＣＩ−Ｅ  ＲＣ  ４２１と、第２のＰＣＩ−Ｅ  ＲＣ  ４２１を駆動する第２のＣＰＵ  ３２０とを有する第２の転送ボード３２と、
制御デバイス３３１とネットワークインターフェースチップ３３２とを有し、第１のＰＣＩ−Ｅバス４１を介して第１の転送ボード３１に接続され、第２のＰＣＩ−Ｅバス４２を介して第２の転送ボード３２に接続されるインターフェースボード３３と
を有している。
図３に示したように、第１のＰＣＩ−Ｅ  ＲＣ４１１は、第１の転送ボード３１の第１のＣＰＵ３１０に集積されているが、第１のＣＰＵ３１０と独立してもよく、そして第１のＣＰＵ３１０と独立している第１のＰＣＩ−Ｅ  ＲＣ４１１も同様に第１のＣＰＵ３１０によって駆動することができる。
図３に示したように、第２のＰＣＩ−Ｅ  ＲＣ４２１は、第２の転送ボード３２の第２のＣＰＵ３２０に集積されているが、第２のＣＰＵ３２０と独立してもよく、そして第２のＣＰＵ３２０と独立している第２のＰＣＩ−Ｅ  ＲＣ４２１も同様に第２のＣＰＵ３２０によって駆動することができる。
制御デバイス３３１は、
第１のＰＣＩ−Ｅバス４１に接続される第１のＰＣＩ−Ｅエンドポイント４１２と、
第２のＰＣＩ−Ｅバス４２に接続される第２のＰＣＩ−Ｅエンドポイント４２２と、
第１のＰＣＩ−Ｅエンドポイント４１２に接続される第１の受信キャッシュキュー４１３および第１の送信キャッシュキュー４１４と、
第２のＰＣＩ−Ｅエンドポイント４２２に接続される第２の受信キャッシュキュー４２３および第２の送信キャッシュキュー４２４と、
ネットワークインタフェースバス４３を介してネットワークインタフェースチップ３３２に接続されるネットワークインタフェースバスコントローラ４３０と、
ネットワークインタフェースバスコントローラ４３０をそれぞれ第１の受信キャッシュキュー４１３および第２の受信キャッシュキュー４２３に接続するコピードライバ４４０と、
第１送信キャッシュキュー４１４と第２送信キャッシュキュー４２４とのうちのいずれか一方をネットワークインタフェースバスコントローラ４３０と接続する選択切替部４５０と、を有するインターフェースボード３３と、を有する。
【００１９】
図３および図４ａを参照すると、第１の転送ボード３１がアクティブ状態にあり、第２の転送ボード３２がスタンバイ状態にある場合に、
制御デバイス３３１におけるコピードライバ４４０は、ネットワークインタフェースチップ３３２によってネットワーク機器３０の外部から受信されたデータパケット４００ａをコピーして、第１の受信キャッシュキュー４１３及び第２の受信キャッシュキュー４２３に格納することと、
第１のＰＣＩ−Ｅエンドポイント４１２は、第１の受信キャッシュキュー４１３を読み、第１のＰＣＩ−Ｅバス４１を介して第１の転送ボード３１に第１の上りデータパケットフロー８１１を送信し、第１の上りデータパケットフロー８１１が第１のＣＰＵ３１０によって処理されるようにし、第２のＰＣＩ−Ｅエンドポイント４２２は、第２の受信キャッシュキュー４２３を読み、第２のＰＣＩ−Ｅバス４２を介して第２の転送ボード３２に第２の上りデータパケットフロー８１２を送信し、第２の上りデータパケットフロー８１２が第２のＣＰＵ３２０によって処理されるようにすることと、
第１のＰＣＩ−Ｅエンドポイント４１２は、更に、第１のＰＣＩ−Ｅバス４１を介して第１の転送ボード３１から第１のＣＰＵ３１０によって処理された第１の下りデータパケットフロー８２１を受信して、第１の送信キャッシュキュー４１４に盛り込み、第２のＰＣＩ−Ｅエンドポイント４１２は、さらに、第２のＰＣＩ−Ｅバス４２を介して第２の転送ボード３２から第２のＣＰＵ３２０によって処理された第２の下りデータパケットフロー８２２を受信して、第２の送信キャッシュキュー４２４に盛り込むことと、
そして、選択切替部４５０は、第１の送信キャッシュキュー４１４をネットワークインタフェースバスコントローラ４３０に接続する一方、第２の送信キャッシュ４２４をネットワークインタフェースバスコントローラ４３０から切断することで、第１の送信キャッシュキュー４１４にキャッシュされている第１の下りデータパケットフロー８２１をネットワークインタフェースバスコントローラ４３０によって読み取り、ネットワークインタフェースバス４３を介してネットワークインタフェースチップ３３２に送信することと、を実行することにより、ネットワークインタフェースチップ３３２がネットワーク機器４０のエッグレス方向に送り出すデータパケット４００ｂは、第１の下りデータパケットフロー８２１からのものになる。
【００２０】
図３および図４ｂを参照すると、第１の転送ボード３１がスタンバイ状態にあり、第２の転送ボード３２がアクティブ状態にある場合に、
制御デバイス３３１におけるコピードライバ４４０は、ネットワークインタフェースチップ３３２によってネットワーク機器３０の外部から受信されたデータパケット４００ａをコピーして、第１の受信キャッシュキュー４１３及び第２の受信キャッシュキュー４２３に格納することと、
第１のＰＣＩ−Ｅエンドポイント４１２は、第１の受信キャッシュキュー４１３を読み、第１のＰＣＩ−Ｅバス４１を介して第１の転送ボード３１に第１の上りデータパケットフロー８１１を送信し、第１の上りデータパケットフロー８１１が第１のＣＰＵ３１０によって処理されるようにし、第２のＰＣＩ−Ｅエンドポイント４２２は、第２の受信キャッシュキュー４２３を読み、第２のＰＣＩ−Ｅバス４２を介して第２の転送ボード３２に第２の上りデータパケットフロー８１２を送信し、第２の上りデータパケットフロー８１２が第２のＣＰＵ３２０によって処理されるようにすることと、
第１のＰＣＩ−Ｅエンドポイント４１２は、更に、第１のＰＣＩ−Ｅバス４１を介して第１の転送ボード３１から第１のＣＰＵ３１０によって処理された第１の下りデータパケットフロー８２１を受信して、第１の送信キャッシュキュー４１４に盛り込み、第２のＰＣＩ−Ｅエンドポイント４１２は、さらに、第２のＰＣＩ−Ｅバス４２を介して第２の転送ボード３２から第２のＣＰＵ３２０によって処理された第２の下りデータパケットフロー８２２を受信して、第２の送信キャッシュキュー４２４に盛り込むことと、
そして、選択切替部４５０は、第１の送信キャッシュキュー４１４をネットワークインタフェースバスコントローラ４３０から切断する一方、第２の送信キャッシュ４２４をネットワークインタフェースバスコントローラ４３０に接続することで、第２の送信キャッシュキュー４２４にキャッシュされている第２の下りデータパケットフロー８２２をネットワークインタフェースバスコントローラ４３０によって読み取り、ネットワークインタフェースバス４３を介してネットワークインタフェースチップ３３２に送信することと、を実行することにより、ネットワークインタフェースチップ３３２がネットワーク機器４０のエッグレス方向に送り出すデータパケット４００ｂは、第２の下りデータパケットフロー４２０からのものになる。
【００２１】
ネットワーク機器３０は電源投入されて起動されると、アクティブ状態にある転送ボードは、インターフェースボード１３に対してボードの初期化よって、ボードの電源投入、リセット解除、ボードの識別などのボードの初期化の設定を実施する。
【００２２】
ボードの初期化後、第１のＰＣＩ−Ｅエンドポイント４１２と、第２のＰＣＩ−Ｅエンドポイント４２２と、第１の受信キャッシュキュー４１３と、第１の送信キャッシュキュー４１４と、第２の受信キャッシュキュー４２３と、第２の送信キャッシュキュー４２４とに対してＰＣＩ−Ｅの設定を行い、この設定は、ＰＣＩ−Ｅプロトコルによるエンドポイント機能（Ｆｕｎｃｔｉｏｎ）の設定でよく、エンドポイント機能の設定は、ボードの初期化後のＰＣＩ−Ｅ初期化によって実施することができる。
【００２３】
第１のＰＣＩ−Ｅバス４１に独占される第１のＰＣＩ−Ｅエンドポイント４１２と、第１の受信キャッシュキュー４１３と、第１の送信キャッシュキュー４１４は、第１のＣＰＵによって第１のＰＣＩ−Ｅバス４１のリモートエンドである第１のＰＣＩ−Ｅ  ＲＣ  ４１１を駆動することで設定される。例えば、第１の受信キャッシュ４１３と第１送信キャッシュ４１４は、第１のＰＣＩ−Ｅエンドポイント４１２の所定の空間内にマッピングされ、第１ＣＰＵ３１０に駆動される第１のＰＣＩ−Ｅ  ＲＣ４１１は第１ＰＣＩ−Ｅエンドポイント４１２を設定することにより、第１のＰＣＩ−Ｅエンドポイント４１２、第１の受信キャッシュキュー４１３、および第１の送信キャッシュキュー４１４への設定を果たすことができる。
【００２４】
第２のＰＣＩ−Ｅバス４２に独占される第２のＰＣＩ−Ｅエンドポイント４２２と、第２の受信キャッシュキュー４２３と、第２の送信キャッシュキュー４２４は、第２のＣＰＵ３２０によって第２のＰＣＩ−Ｅバス４２のリモートエンドである第２のＰＣＩ−Ｅ  ＲＣ  ４２１を駆動することで設定される。例えば、第２の受信キャッシュ４２３と第２送信キャッシュ４２４は、第２のＰＣＩ−Ｅエンドポイント４２２の所定の空間内にマッピングされ、第２のＣＰＵ３２０に駆動される第２のＰＣＩ−Ｅ  ＲＣ４２１は第２ＰＣＩ−Ｅエンドポイント４２２を設定することにより、第２のＰＣＩ−Ｅエンドポイント４２２、第２の受信キャッシュキュー４２３、および第２の送信キャッシュキュー４２４への設定を果たすことができる。
【００２５】
ＰＣＩ−Ｅ初期化設定処理の後、ネットワークインターフェースバスコントローラ４３０およびネットワークインターフェースチップ３３２に対して、例えば、オートネゴシエーション設定、二重又は半二重設定、メガビットまたはギガビット等のリンクレイヤの設定を含むネットワークインターフェース設定を行う。
【００２６】
第１のＰＣＩ−Ｅバス４１および第２のＰＣＩ−Ｅバス４２に共有されるネットワークインタフェースバスコントローラ４３０とネットワークインタフェースチップ３３２は、アクティブ状態にある転送ボードのＰＣＩ−Ｅ  ＲＣによって設定されてよい。すなわち、第１の転送ボード３１がアクティブ状態であれば、ネットワークインターフェースバスコントローラ４３０とネットワークインターフェースチップ３３２は、第１ＣＰＵ３１０により第１ＰＣＩ−Ｅ  ＲＣ４１１を駆動することで設定され、第２の転送ボード３２がアクティブ状態であれば、ネットワークインターフェースバスコントローラ４３０とネットワークインターフェースチップ３３２は、第２のＣＰＵ３２０により第２のＰＣＩ−Ｅ  ＲＣ４２１を駆動することで設定される。
【００２７】
また、制御デバイス３３１は、
第１の転送ボード３１における第１のＣＰＵ３１０の制御ピン５１１と第２の転送ボード３２における第２のＣＰＵ３２０の制御ピン５１２に接続される状態識別モジュール５１０であって、制御ピン５１１と制御ピン５１２を測定することで第１の転送ボード３１と第２の転送ボード３２のアクティブ・スタンバイ状態を識別して記録し、選択切替部４５０に第１の転送ボード３１と第２の転送ボード３２のアクティブ・スタンバイ状態を識別させる状態識別モジュール５１０と、
第１の管理バス５２１を介して第１の転送ボード３１の第１のＣＰＵ３１０に接続され、第２の管理バス５２２を介して第２の転送ボード３２の第２のＣＰＵ３２０に接続され、状態識別モジュール５１０によって第１の転送ボード３１および第２の転送ボード３２のアクティブ・スタンバイ状態を識別することができるボード設定モジュール５２０であって、ネットワーク機器の電源が投入されて起動されると、第１の転送ボード３１がアクティブ状態であると識別すれば、第１の管理バス５２１を介して第１の転送ボード３１の第１のＣＰＵ３１０によるインターフェースボード３３への初期化設定を受信し、一方、第２の転送ボード３２がアクティブ状態であると識別すれば、第２の管理バス５２２を介して第２の転送ボード３２の第２のＣＰＵ３２によるインターフェースボード３３への初期化設定を受信するボード設定モジュール５２０と、
状態識別モジュール５１０によって第１の転送ボード３１と第２の転送ボード３２のアクティブ・スタンバイ状態を識別するネットワークインターフェース設定モジュール５３０であって、第１の転送ボード３１がアクティブ状態であると識別すれば、ＰＣＩ−Ｅエンドポイント４１２を介して第１のＰＣＩ−Ｅ  ＲＣ４１１から第１のＣＰＵ３１０によるネットワークインタフェースバスコントローラ４３０およびネットワークインタフェースチップ３３２への初期化設定を受信し、一方、第２の転送ボード３２がアクティブ状態であると識別すれば、第２のＰＣＩ−Ｅエンドポイント４２２を介して第２のＰＣＩ−Ｅ  ＲＣ４２１から第２のＣＰＵ３２０によるネットワークインターフェースバスコントローラ４３０及びネットワークインターフェースチップ３３２への初期化設定を受信し、そして、ネットワークインタフェースバスコントローラ４３０への初期化設定を完成した後、ネットワークインタフェースバスコントローラ４３０を駆動して、ネットワークインタフェースバス４３を介してネットワークインタフェースチップ３３２を設定するネットワークインターフェース設定モジュール５３０と、をさらに有することができる。
【００２８】
前述の実施例で説明されたネットワーク機器の他に、次の実施例は、ネットワーク機器に使用されるパケット転送方法をさらに提供する。パケット転送方法が適用されるネットワーク機器は、ネットワークインタフェースチップを有するインタフェースボードと、第１のＩ／Ｏバスを介してインターフェースボードに接続される第１の転送ボードと、第２のＩ／Ｏバスを介してインターフェースボードに接続される第２の転送ボードを含むことかできる。
【００２９】
そして、図６に示したように、該パケット転送方法は、インタフェースボードに適用される以下のステップを含む。
【００３０】
ステップＳ６１では、ネットワークインタフェースチップによってネットワーク機器の外部から受信されたデータパケットを、第１のＩ／Ｏバスを介して第１の転送ボードに送信される第１の上りデータパケットフローと、第２のＩ／Ｏバスを介して第２の転送ボードに送信される第２の上りデータパケットフローとに形成する。
ステップＳ６２では、第１の転送ボードと第２の転送ボードのアクティブ・スタンバイ状態に基づいて、第１のＩ／Ｏバスを介して受信され、第１の転送ボードによって処理された第１の下りデータパケットフローと、第２のＩ／Ｏバスを介して受信され、第２の転送ボードによって処理された第２の下りデータパケットフローとのうちのいずれか一方をネットワークインタフェースバスを介してネットワークインタフェースチップと導通させる。
【００３１】
該パケット転送方法が適用されるネットワーク機器において、第１のＩ／Ｏバスが第１のＰＣＩ−Ｅバスであり、第２のＩ／Ｏバスが第２のＰＣＩ−Ｅバスである場合に、
第１の転送ボードは、第１のＰＣＩ−Ｅバスに接続される第１のＰＣＩ−Ｅ  ＲＣと、第１のＰＣＩ−Ｅ  ＲＣを駆動する第１のＣＰＵとを有し、
第２の転送ボードは、第２のＰＣＩ−Ｅバスに接続される第２のＰＣＩ−Ｅ  ＲＣと、第２のＰＣＩ−Ｅ  ＲＣを駆動する第２のＣＰＵとを有し、
インターフェースボードは、第１のＰＣＩ−Ｅバスに接続される第１のＰＣＩ−Ｅエンドポイントと、第２のＰＣＩ−Ｅバスに接続される第２のＰＣＩ−Ｅエンドポイントと、第１のＰＣＩ−Ｅエンドポイントに接続される第１の受信キャッシュキュー及び第１の送信キャッシュキューと、第２のＰＣＩ−Ｅエンドポイントに接続された第２の受信キャッシュキュー及び第２の送信キャッシュキューと、ネットワークインタフェースバスを介してネットワークインタフェースチップに接続されるネットワークインタフェースバスコントローラとを有する。
【００３２】
相応的に、該パケット転送方法では、ネットワークインタフェースバスコントローラによってネットワークインタフェースバスチップから受信されたデータパケットをコピーして、第１の受信キャッシュキューと第２の受信キャッシュキューにそれぞれ盛り込むことで、第１の受信キャッシュキューを使用して第１の上りデータパケットフローを形成し、第２の受信キャッシュキューを使用して第２の上りデータパケットフローを形成する。
【００３３】
そして、該パケット転送方法では、第１の送信キャッシュキューと第２の送信キャッシュキューとのうちのいずれか一方をネットワークインタフェースバスコントローラと導通させることで、第１の下りデータパケットフローと第２の下りデータパケットフローとのうちのいずれか一方をネットワークインターフェイスバスを介してネットワークインターフェイスチップと導通させる。
【００３４】
また、上記の実施例に係るパケット転送方法は、ボードの初期化設定、ＰＣＩ−Ｅの初期化設定、およびネットワークインタフェース設定を含むネットワーク機器のインタフェースボードの初期化を実現可能である。
【００３５】
図７に示したように、ネットワーク機器が電源投入されて起動された後の初期化中で第１の転送ボードがアクティブ状態にあり、第２の転送ボードがスタンバイ状態にある状況を例とすると、初期化は、第１の転送ボードによって開始され、以下のステップを含む。
ステップＳ７１１では、第１の転送ボードは、インターフェースボードに対してボードの初期化設定を行い、ボードの初期化設定が完了した後、ＰＣＩ−Ｅの初期化を開始することを第２の転送ボードへ通知する。
【００３６】
ステップＳ７１２では、第１の転送ボードは、インタフェースボードにおける第１のＰＣＩ−Ｅエンドポイントと、第１の受信キャッシュキューと、第１の送信キャッシュキューとに対してＰＣＩ−Ｅ初期化設定を行い、第２の転送ボードは、インタフェースボードにおける第２のＰＣＩ−Ｅエンドポイントと、第２の受信キャッシュキューと、第２の送信キャッシュキューとに対してＰＣＩ−Ｅ初期化設定を行う。
【００３７】
ステップＳ７１３では、第１の転送ボードは、インタフェースボードにおけるネットワークインタフェースバスコントローラおよびネットワークインタフェースチップに対してネットワークインタフェース設定を行う。
【００３８】
前記過程において、第１の転送ボードおよび第２の転送ボードによって実行される動作は、それぞれ第１のＣＰＵおよび第２のＣＰＵによって実現されると理解できる。インターフェースボードは、第１の転送ボードの第１のＣＰＵの制御ピン及び第２の転送ボードの第２のＣＰＵの制御ピンによって、第１の転送ボード及び第２の転送ボードのアクティブ・スタンバイ状態を識別することができる。
【００３９】
図７に示す初期化におけるボードの初期化設定を実現するために、該パケット転送方法は、アクティブ状態の第１の転送ボードの第１ＰＣＩ−Ｅ  ＲＣ又は第２の転送ボードの第２のＰＣＩ−Ｅ  ＲＣから第１のＣＰＵ又は第２のＣＰＵによるインタフェースボードへのボードの初期化設定を受信することをさらに含んでもよい。
【００４０】
ただし、インタフェースボードは、さらに、第１の管理バスを介して第１の転送ボードの第１のＣＰＵに接続され、第２の管理バスを介して第２の転送ボードの第２のＣＰＵに接続されてもよい。該パケット転送方法は、
第１の転送ボードがアクティブ状態であれば、第１の管理バスを介して、第１の転送ボードの第１のＣＰＵによる転送ボードへのボードの初期化設定を受信することと、
第２の転送ボードがアクティブ状態であれば、第２の管理バスを介して、第２の転送ボードの第２のＣＰＵによるインターフェースボードへのボードの初期化設定を受信することと、を更に含む。
【００４１】
図７に示したＰＣＩ−Ｅ初期化設定は、
第１のＰＣＩ−Ｅエンドポイントと、第１の受信キャッシュキューと、第１の送信キャッシュキューが、第１のＣＰＵによって第１のＰＣＩ−Ｅ  ＲＣを駆動することで設定されること；
第２のＰＣＩ−Ｅエンドポイントと、第２の受信キャッシュキューと、第２の送信キャッシュキューが、第２のＣＰＵによって第２のＰＣＩ−Ｅ  ＲＣを駆動することで設定されること、を含んでもよい。
【００４２】
ネットワークインターフェースに対するインターフェース設定は、  
第１の転送ボードがアクティブ状態の転送ボードである場合に、第１のＰＣＩ−Ｅ  ＲＣから、第１のＣＰＵによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信すること；  
第２の転送ボードがアクティブ状態の転送ボードである場合に、第２のＰＣＩ−Ｅ  ＲＣから、第２のＣＰＵによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信すること、を含んでもよい。
【００４３】
なお、上述の各フローチャートおよび構成図における全てのステップおよびモジュールが必ずしも必要なわけではなく、実際の必要に応じて一部のステップ又はモジュールが省略されてもよい。各ステップの手順は固定したのではなく、必要に応じて適宜に調整できる。各々のモジュールは、単に説明を容易にするために機能に応じて定義されており、実際は、１つのモジュールが複数のモジュールによって実現されてもよく、また複数のモジュールの機能も１つの同一のモジュールによって実現されてもよい。これらのモジュールは同じ機器に設置されてもよく、異なる機器に設置されることもできる。また、上記の説明において、「第１」、「第２」という用語は、同じ定義を有する２つの対象を容易に区別するために使用されるものであり、それらの間に実質的な相違があることを意味するものではない。
【００４４】
以上のように、特許請求の範囲に限定されている範囲は、上記の実施例に記載されたものに限定されるべきではなく、明細書の記載を１つの全体として、最も広く解釈されるべきである。
【図１】
0006550192.tif 000002
【図２ａ】
0006550192.tif 000003
【図２ｂ】
0006550192.tif 000004
【図３】
0006550192.tif 000005
【図４ａ】
0006550192.tif 000006
【図４ｂ】
0006550192.tif 000007
【図５】
0006550192.tif 000008
【図６】
0006550192.tif 000009
【図７】
0006550192.tif 000010