(57)【特許請求の範囲】
【請求項１】
パケット転送情報を同期させるシステムであって、
制御プレーンを実施し、第１の転送情報を生成し、前記第１の転送情報をネットワーク・プロセッサーのアクティブな転送テーブルへ転送する制御プロセッサー、
転送プレーンを実施し、パケットを受信し、前記アクティブな転送テーブルの前記第１の転送情報を用い前記受信したパケットを１又は複数のネットワーク装置へ転送するネットワーク・プロセッサー、を有し、
前記制御プレーンが再起動された後、前記制御プロセッサーは、前記再起動された制御プレーンを用い第２の転送情報を生成し、前記ネットワーク・プロセッサーの転送プレーンがトラフィックを転送し続ける間に、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新し、
前記再起動された制御プレーンは、
前記アクティブな転送テーブルの前記第１の転送情報を読み出し、前記第１の転送情報の内部コピーを生成し、
エントリ毎に、前記第２の転送情報を前記第１の転送情報の前記内部コピーと比較し、前記第２の転送情報と前記内部コピーが異なる場合、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、
システム。
【請求項２】
前記パケット転送情報の各エントリは、パケット識別情報と、パケット処理及び転送の命令との対応を有する、請求項１に記載のシステム。
【請求項３】
前記再起動された制御プレーンは、前記パケット識別情報に基づき、前記アクティブな転送テーブルに未だ含まれていない前記第２の転送情報に含まれる転送情報を判断し、該転送情報を前記アクティブな転送テーブルに徐々に追加することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、請求項２に記載のシステム。
【請求項４】
前記再起動された制御プレーンは、前記パケット識別情報に基づき、前記第２の転送情報に含まれていない転送情報を判断し、該転送情報を前記アクティブな転送テーブルから徐々に削除することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、請求項２に記載のシステム。
【請求項５】
パケット転送情報を同期させる方法であって、
制御プレーンを用い第１の転送情報を生成し、前記第１の転送情報をアクティブな転送テーブルへ転送する段階、
転送プレーンを用いパケットを受信し、前記アクティブな転送テーブルの前記第１の転送情報を用い前記受信したパケットを１又は複数のネットワーク装置へ転送する段階、
前記制御プレーンが再起動された後、第２の転送情報を生成し、前記転送プレーンを用いトラフィックを転送し続ける間に、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する段階、
を有し、
前記方法は、前記再起動された制御プレーンを用い、
前記アクティブな転送テーブルの前記第１の転送情報を読み出し、前記第１の転送情報の内部コピーを生成する段階、
エントリ毎に、前記第２の転送情報を前記第１の転送情報の前記内部コピーと比較し、前記第２の転送情報と前記内部コピーが異なる場合、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する段階、
を更に有する方法。
【請求項６】
前記パケット転送情報の各エントリは、パケット識別情報と、パケット処理及び転送の命令との対応を有する、請求項５に記載の方法。
【請求項７】
前記再起動された制御プレーンは、前記パケット識別情報に基づき、前記アクティブな転送テーブルに未だ含まれていない前記第２の転送情報に含まれる転送情報を判断し、該転送情報を前記アクティブな転送テーブルに徐々に追加することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、請求項６に記載の方法。
【請求項８】
前記再起動された制御プレーンは、前記パケット識別情報に基づき、前記第２の転送情報に含まれていない転送情報を判断し、該転送情報を前記アクティブな転送テーブルから徐々に削除することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に通信システムに関し、より詳細にはパケット転送情報を同期させるシステム及び方法に関する。
【背景技術】
【０００２】
情報ネットワークにおける高可用性パケット転送システムは、制御プロセッサーにより実施される制御プレーンを用い転送テーブルを構築し、ネットワーク・プロセッサーにより実施される転送プレーンを用い受信したパケットを転送テーブル情報に基づき転送する。制御プロセッサーが再起動しなければならない場合（例えば制御プレーンの故障又は更新の後）、（ネットワーク・プロセッサーではなく）制御プロセッサーは、転送テーブル情報を失ってしまう。再起動又は更新の後、制御プロセッサーは、制御プレーンを実施して、ネットワーク・プロセッサーの転送プレーンによりパケットを転送するために用いられていた古い転送テーブルと異なる新たな転送テーブルを構築してよい。パケットを効率的に転送するために、古い転送テーブルと新たな転送テーブルとをどのように同期させるかという問題が生じる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、パケット転送情報を同期させるシステム及び方法を提供する。
【課題を解決するための手段】
【０００４】
本発明の教示によると、パケット転送情報を同期するシステム及び方法が提供される。特定の実施例では、システムは、制御プレーンを実施し第１の転送情報を生成し、前記第１の転送情報をネットワーク・プロセッサーのアクティブな転送テーブルへ転送する制御プロセッサーを有する。システムはまた、転送プレーンを実施しパケットを受信し、前記アクティブな転送テーブルの前記第１の転送情報を用い前記受信したパケットを１又は複数のネットワーク装置へ転送するネットワーク・プロセッサーを有する。制御プレーンが再起動された後、制御プロセッサーは、再起動された制御プレーンを用い、第２の転送情報を生成し、前記ネットワーク・プロセッサーの転送プレーンがトラフィックを転送し続ける間に、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する。
【０００５】
本発明の１又は複数の実施例の技術的利点は、古い転送テーブルと新たな転送テーブルとが同期している間に、パケットを転送可能なシステムを提供することを含む。これは、古い転送テーブルと新たな転送テーブルが同期している間にパケット転送を無効にし、それにより数秒から数分に渡る停止を生じることに比して有利である。パケット転送の如何なる停止もネットワーク・ユーザーにとって非常に不便である。
【０００６】
本発明の１又は複数の実施例の他の技術的利点は、古い転送テーブルと新たな転送テーブルとを同期させるネットワーク・プロセッサーに比較的大容量のメモリーを必要としないことを含む。別の解決法は、古い転送テーブルと新たな転送テーブルの両方をネットワーク・プロセッサーに格納し、古い転送テーブルから新たな転送テーブルへの切替を実行することである。２つのテーブルをネットワーク・プロセッサーに格納することは、比較的大容量のメモリーを必要とする。また、これらの解決法では、ネットワーク・プロセッサーが切替を実行可能でなければならないが、これは不可能である。
【０００７】
理解されるべき点は、本発明の種々の実施例が教示される技術的利点の一部、全てを有してよく、又は何れも有さなくてもよいことである。更に、本発明の他の技術的利点は、添付の図面、説明、及び特許請求の範囲から当業者に直ちに明らかである。
【発明を実施するための最良の形態】
【０００８】
本発明並びにその特徴及び利点のより完全な理解のため、添付の図と共に以下の説明を参照する。
【０００９】
図１は、本発明の特定の実施例による正常動作中の例であるパケット転送システム１０を示す図である。パケット転送システム１０は、任意の適切なネットワーク内に存在し、１又は複数のネットワーク装置からパケット１２を受信し、パケット転送システム１０で作成され格納された転送情報に基づき、受信したパケット１２を１又は複数のネットワーク装置へ転送する。特定の実施例では、パケット転送システム１０の構成要素及び機能は、例えば単一のスイッチ又はルーターのような１つのネットワーク装置に存在し、当該ネットワーク装置により実行されてよい。特定の実施例では、これらの構成要素は、例えばシステム・バスのような内部通信経路を用い、如何なる適切な方法で接続された物理的に別個のハードウェア構成要素を有してよい。代替の実施例では、パケット転送システム１０の構成要素又は機能は、複数のネットワーク装置の間で分散され、如何なる適切な方法で接続されてよい。留意すべき点は、本願明細書で用いられるように、パケットが、例えば制御情報及びアプリケーション専用データを含みデータ・ネットワークを通じて転送されている如何なる適切な形式の情報ブロックを示してもよいことである。制御情報は、データ・ネットワークにより、送信元から宛先への経路に沿ってパケットを転送するために用いられてよい。
【００１０】
特定の実施例では、パケット転送システム１０は高可用性パケット転送システムの一例であってよい。高可用性パケット転送システムは、例えばインターネット・ネットワークのような如何なる適切なパケット・ネットワークにより利用されてもよい。高可用性パケット転送システムを有するネットワークは、例えば末端ユーザーへより良いサービス使用可能時間を提供してよい。
【００１１】
パケット転送システム１０は、制御プロセッサー２０、及びネットワーク・プロセッサー３０を有する。制御プロセッサー２０は、制御プレーン２２を実施する任意の適切なプロセッサーを有する。ネットワーク・プロセッサー３０は、転送プレーン３２を実施する任意の適切なプロセッサーを有する。留意すべき点は、代替の実施例では、制御プレーン２２と転送プレーン３２とが異なるネットワーク装置により実施されてよく、各プレーンが１より多いネットワーク装置により実施されてよいことである。
【００１２】
制御プレーン２２は、例えばソフトウェア・プログラムのような、転送パケットのための転送テーブル２４を構築する任意の適切な機能又は機能セットを有する。制御プレーン２２は、如何なる適切な方法で、例えばネットワーク設定の状態及び／又はプロトコル情報及び／又は如何なる他の適切な情報の１又は複数の更新に基づき転送テーブル２４を構築してもよい。制御プレーン２２は、例えば以下に議論されるように対応するエントリを転送テーブル３４に書き込むことにより、如何なる適切な方法で、転送テーブル２４の情報を転送プレーン３２へ転送する。制御プレーン２２はまた、如何なる適切な方法で、転送テーブル３４からエントリを読み出す。以下に更に議論されるように、転送テーブル３４はパケット処理及び転送を実行するために転送プレーン３２により用いられる。
【００１３】
例である転送テーブル２４は、受信したパケットがパケット転送システム１０によりどのように処理され転送されるかに関する情報を格納するために、如何なる適切なテーブル又は他のデータ編成を有する。図示された実施例では、転送テーブル２４はインデックス列、キー列、及び転送列を有する。インデックス列の各インデックス値はテーブルの特定の行を識別する。キー列の各キーは、受信したパケット１２の１又は複数のフィールドに格納された情報に対応し、当該パケット１２を識別する。識別情報（及びキー）は、複数のパケット１２により共有されるか、又は特定のパケット１２に固有であってよい。キー毎に、転送テーブル２４は、転送列内にパケット処理及び転送の命令を有する。これらの命令は、図１で文字により示され、一式の動作に対応すると想定されるが、例えば転送動作の明示的な記述のような如何なる他の適切な形式であってもよい。代替の実施例では、例えば転送テーブル２４は、パケット１２を適切に転送するために代替又は追加情報（例えば、列、行、識別子、及び命令）を有してよい。
【００１４】
ネットワーク・プロセッサー３０は、１又は複数のポート３６でパケット１２を受信する。ネットワーク・プロセッサー３０により実施される転送プレーン３２は、例えばソフトウェア・プログラムのような、受信したパケット１２を処理し及びそれらを転送テーブル３４の転送情報に基づき１又は複数のポート３６へ転送する如何なる適切な機能又は機能セットを有する。上述のように、制御プレーン２２は、転送テーブル２４のエントリと対応するよう、例である転送テーブル３４にエントリを書き込む。
【００１５】
転送テーブル２４と同様に、転送テーブル３４は、パケットが転送プレーン３２によりどのように処理され転送されるかに関する情報を格納するために、如何なる適切なテーブル又は他のデータ編成を有する。図示された実施例では、転送テーブル３４はインデックス列、キー列、及び転送列を有する。各エントリは、インデックス列のインデックス値を用いて、制御プレーン２２と転送プレーン３２とに別個にアクセス可能である。インデックス列の各インデックス値はテーブルの特定の行を識別する。上述のように、キー列の各キーは、受信したパケット１２の１又は複数のフィールドに格納された情報に対応し、当該パケット１２を識別する。識別情報（及びキー）は、複数のパケット１２により共有されるか、又は特定のパケット１２に固有であってよい。キー毎に、転送テーブル３４は、転送列内にパケット処理及び転送の命令を有する。これらの命令は、図１で文字により示され、一式の動作に対応すると想定されるが、例えば転送動作の明示的な記述のような如何なる他の適切な形式であってもよい。転送プレーン３２は、これらの命令に基づき特定のポート３６からのパケット１２を処理し転送する。代替の実施例では、例えば転送テーブル３４は、パケット１２を適切に転送するために代替又は追加情報（例えば、列、行、識別子、及び命令）を有してよい。理解されるように、転送テーブル３４の情報は、転送テーブル２４の情報に直接対応する。
動作中、パケット転送システム１０の制御プロセッサー２０は、制御プレーン２２を実施する。制御プレーン２２は、例えばネットワーク設定及び／又はプロトコル情報及び／又は他の如何なる適切な情報に基づき転送テーブル２４を構築する。制御プレーン２２は、対応するエントリを転送プレーン３２の転送テーブル３４に書き込むことにより、転送テーブル２４の情報を転送プレーン３２へ転送する。システムの初期状態で、転送プレーン３２が如何なる転送テーブルも有さない場合、特定の実施例では、制御プレーン２２はテーブル２４の全体を転送プレーン３２にコピーしてよい。代替の実施例では、制御プレーン２２は１又は複数のエントリを一度に転送プレーン３２に書き込んでよい。
【００１６】
パケット転送システム１０のネットワーク・プロセッサー３０は、１又は複数のポート３６でパケット１２を受信する。ネットワーク・プロセッサー３０の転送プレーン３２は、パケットの１又は複数のフィールドの情報に対応するキーを識別することにより、受信したパケット１２を処理する。転送プレーン３２はキーを用い、転送テーブル３４で、対応する処理及び転送命令を識別する。転送プレーン３２は次に、処理及び転送命令を用い、受信したパケット１２を特定のポート３６から転送する。この方法では、パケット転送システム１０は適切な転送テーブル２４を構築し、転送テーブル２４の情報を転送テーブル３４にコピーし、パケット１２を受信し、そして転送テーブル３４の転送情報を用い受信したパケット１２を処理及び転送する。
【００１７】
図２は、本発明の特定の実施例による制御プレーンの故障又は更新後の例である図１のパケット転送システム１０を示す図である。時々、制御プレーン２２は故障するか又は更新される（例えば、バグ修正又は新機能を追加する）。このような状況で、転送テーブル２４の状態情報は失われうる。パケット転送システム１０の制御プレーン２２及び転送プレーン３２は別個である。また転送プレーン３２は転送テーブル３４へアクセスでき、上述のように制御プレーンの故障又は更新の後に転送テーブル２４の情報が失われた場合でさえ、転送プレーン３２は、転送テーブル３４の情報に基づき中断なくパケット１２を転送し続けることができる。実際に、制御プレーンの故障又は更新中にパケットを転送し続ける能力は、特定の高可用性パケット転送システムにとって重要な機能である。
【００１８】
制御プロセッサー２０は、故障（又は更新）の後に制御プレーン２２を回復する（又は切り替える）ために再起動されてよい。転送テーブル２４の状態情報が失われているので、制御プレーン２２は、ネットワーク設定及び／又はプロトコル情報及び／又は他の如何なる適切な情報に基づき当該情報を再生成する。特定の状況では、制御プレーン２２で再生成された転送テーブルの情報は、コピーが転送プレーン３２によりパケットを転送するために用いられている失われた転送テーブルの情報と異なってよい。転送テーブルの情報のこの相違は、例えばネットワーク設定及び／又はプロトコル情報及び／又は転送テーブルを構築するために用いられた他の適切な情報が制御プレーンの故障又は更新中に変化した場合に生じうる。再生成された転送テーブルの情報が失われた転送テーブルの情報と異なる別の理由は、エントリの順序が変化しうることである。例えば、失われた転送テーブルの情報は、時間の期間に渡りエントリを追加、変更、及び削除されうる。再生成された転送テーブルの情報は、単に有効なエントリを順番に追加することにより生成されてよい。制御プレーン２２の再生成された転送テーブルの情報と転送プレーン３２のアクティブな転送テーブル３４の情報との同期に失敗すると、不適切なパケット転送を引き起こしうる。
【００１９】
２つのテーブルの情報を同期する１つの解決法は、転送プレーンの転送テーブルを同期している間、パケット転送を無効にすることである。しかしながら、このパケット転送の停止は、数秒から数分に渡り継続しうる。パケット転送の如何なる停止もネットワーク・ユーザーにとって非常に不便である。
【００２０】
別の解決法は、古い転送テーブルと再生成された転送テーブルの両方を転送プレーンに格納し、古い転送テーブルから新たな転送テーブルへの切替を実行することである。しかしながら、２つのテーブルを転送プレーンに格納することは、転送プレーンに比較的大容量のメモリーを必要とする。また、この解決法は、転送プレーンが切替を実行可能でなければならないが、これは不可能である。
【００２１】
図３は、本発明の特定の実施例による制御プレーンの回復後の例である図１のパケット転送システム１０を示す図である。制御プロセッサー２０が故障（又は更新）の後に制御プレーン２２を回復した（又は切り替えた）後、制御プレーン２２は転送テーブル２６の転送テーブル、本願明細書では「新たな」又は「再生成された」転送テーブルと称する、の情報を再生成する。特定の実施例では、制御プレーン２２は、例えばネットワーク設定及び／又はプロトコル情報及び／又は他の如何なる適切な情報に基づくなどの如何なる適切な方法で、テーブル２６を生成してよい。上述のように、再生成された転送テーブル２６のエントリは、しばしば、アクティブな転送テーブル３４のエントリと異なってよい。従って、効率的にパケットを転送するために同期が必要である。
【００２２】
図１の転送テーブル２４と同様に、例である転送テーブル２６は、パケットがパケット転送システム１０によりどのように処理され転送されるかに関する情報を格納するために、如何なる適切なテーブル又は他のデータ編成を有する。図示された実施例では、転送テーブル２６はインデックス列、キー列、転送列、及び同期済み若しくは「同期化」列を有する。インデックス列の各インデックス値はテーブルの特定の行を識別する。キー列の各キーは、受信したパケットの１又は複数のフィールドに格納された情報に対応し、当該パケットを識別する。識別情報（及びキー）は、複数のパケット１２により共有されるか、又は特定のパケット１２に固有であってよい。キー毎に、転送テーブル２６は、転送列内にパケット処理及び転送の命令を有する。これらの命令は図３に文字で示されるが、如何なる他の適切な形式であってもよい。エントリ毎に、転送テーブル２６は同期列に「０」又は「１」を有し、エントリが転送テーブル３４と同期化されたか否かを示す。「０」の場合、エントリは同期化されていない。「１」の場合、エントリは同期化されている。同期が開始する前に、制御プロセッサー２０は先ず同期列の全てのエントリを「０」に設定する。同期の後、全てのエントリは同期列に「１」を有する。代替の実施例では、例である転送テーブル２６は、パケット１２を適切に転送するために代替又は追加情報（例えば、列、行、識別子、命令、及び状態）を有してよい。
【００２３】
制御プレーン２２の転送テーブル２６の情報を再生成することに加え、制御プロセッサー２０はまた、ネットワーク・プロセッサー３０の転送テーブル３４の情報を読み出し、制御プレーン２２のテーブル２８のこの情報の内部コピーを生成（及び格納）する。テーブル２８は、本願明細書では「転送テーブルの内部コピー」と称され、以下に再び詳細に記載されるテーブル３４と同一の情報を有する。テーブル２８は、制御プレーン２２又は転送プレーン３２により転送テーブル３４のエントリにアクセスするために用いられたのと同一のキー検索を用いて、制御プレーン２２によりアクセスされてよい。留意すべき点は、特定の実施例では、制御プロセッサー２２のメモリーは、ネットワーク・プロセッサー３０のメモリーより安価であってよいことである。従って、制御プロセッサーで追加テーブルを生成し転送テーブルの情報を同期化することは、同一の目的でネットワーク・プロセッサーの追加テーブルを生成するよりコスト効率が良い。
【００２４】
制御プロセッサー２０はまた、テーブル２９を生成し、ネットワーク・プロセッサー３０の転送テーブル３４の各エントリの使用中の状態を格納し、それにより、以下に議論されるように同期化処理中及び処理後に転送テーブル３４にエントリを追加すること及びエントリを削除することを可能にする。テーブル２９は、本願明細書で「使用中テーブル」と称され、インデックス列及び使用中列を有する。インデックス列の各インデックス値は転送テーブル３４の特定のインデックス値に対応する。インデックス値毎に、テーブル２９は使用中列に「０」又は「１」を有し、転送テーブル３４の対応するエントリがアクティブか否かを示す。「０」の場合、エントリは非アクティブである。「１」の場合、エントリはアクティブである。同期の前に、制御プロセッサー２０は先ず使用中列の全てのエントリを「０」に設定する。同期の後に、１又は複数の（全てを含む）エントリは使用中列に「１」を有する。代替の実施例では、例である使用中テーブル２９は、代替又は追加情報を有してよい。
【００２５】
特定の実施例では、新たな転送テーブル２６の情報とアクティブな転送テーブル３４の情報とを同期するために、制御プロセッサー２０は、新たな転送テーブル２６のエントリ毎に、キー検索を用い、同一のキーを有するエントリが転送テーブルの内部コピー２８に存在するか否かを決定し、アクティブな転送テーブル３４の同一のキーを有する既存のエントリを維持又は変更し、使用中テーブル２９の当該エントリを「使用中」に更新する。従って、制御プロセッサー２０は、使用中テーブル２９の使用中でないエントリを決定し、当該エントリの転送情報をアクティブな転送テーブル３４から削除する（又は、テーブル３４の当該エントリがネットワーク・プロセッサー３０により無視されるようにする）。制御プロセッサー２０はまた、キーを有するテーブル２６のエントリが転送テーブルの内部コピー２８のキーと一致しないと決定し、当該エントリの情報を使用中でない（とテーブル２９に示された）アクティブな転送テーブル３４のエントリに書き込む。当該情報をテーブル３４に書き込んだ後、制御プロセッサー２０は当該エントリのテーブル２９の使用中状態を変更する。この例である同期処理は以下により詳細に記載される。
【００２６】
上述のように、同期処理を開始するために、特定の実施例では、制御プロセッサー２０は、新たな転送テーブル２６のエントリ毎に、キー検索を用い、同一のキーを有するエントリが転送テーブルの内部コピー２８に存在するか否かを決定する。制御プロセッサー２０が同一のキーを有するエントリが転送テーブルの内部コピー２８に存在すると決定した場合、制御プロセッサー２０は、当該キーに対し、処理及び転送情報がテーブル２６と２８とで同一か否かを決定する。当該キーに対し処理及び転送情報が２つのテーブルで同一だった場合、制御プロセッサー２０は、転送テーブルの内部コピー２８の特定のキーに対するインデックス値に対応する、使用中テーブル２９のエントリの使用中状態を変更する。従って、使用中テーブル２９の対応するエントリの使用中状態は、「０」から「１」へ変化し、アクティブな転送テーブル３４の対応するエントリがアクティブであると示す。制御プロセッサー２０はまた、テーブル２６の特定のキーに対するエントリの同期化状態を「０」から「１」へ変更し、当該エントリが同期化されたことを示す。
【００２７】
図４、５、６、及び７は、本発明の特定の実施例による、新たな転送テーブルとアクティブな転送テーブルとの部分的同期の後の、例である図３のパケット転送システムを示す図である。図４に示されるように、制御プロセッサー２０は、新たな転送テーブル２６のキー「１３」を有する「０」をインデックス付けされたエントリに対し、同一のキーを有するエントリ（「１」をインデックス付けされたエントリ）が転送テーブルの内部コピー２８に存在するか否かを決定する。制御プロセッサー２０はまた、キー「１３」を有するエントリに対し、処理及び転送情報「Ｂ」がテーブル２６と２８とで同一であることを決定する。従って、当該決定を行った後、制御プロセッサー２０は、使用中テーブル２９の「１」をインデックス付けされたエントリの使用中状態を「０」から「１」へ変化し、アクティブな転送テーブル３４の対応するエントリがアクティブであると示す。制御プロセッサー２０はまた、テーブル２６の「０」をインデックス付けされたエントリの同期化状態を「０」から「１」へ変更し、当該エントリが同期化されたことを示す。
【００２８】
同様に、図５に示されるように、制御プロセッサー２０は、新たな転送テーブル２６のキー「２９」を有する「１」をインデックス付けされたエントリに対し、同一のキーを有するエントリ（「０」をインデックス付けされたエントリ）が転送テーブルの内部コピー２８に存在するか否かを決定する。制御プロセッサー２０はまた、キー「２９」を有するエントリに対し、処理及び転送情報「Ｇ」がテーブル２６と２８とで同一であることを決定する。従って、当該決定を行った後、制御プロセッサー２０は、使用中テーブル２９の「０」をインデックス付けされたエントリの使用中状態を「０」から「１」へ変化し、アクティブな転送テーブル３４の対応するエントリがアクティブであると示す。制御プロセッサー２０はまた、テーブル２６の「１」をインデックス付けされたエントリの同期化状態を「０」から「１」へ変更し、当該エントリが同期化されたことを示す。
【００２９】
制御プロセッサー２０が、新たな転送テーブル２６のエントリに対し、同一のキーを有するエントリが転送テーブルの内部コピー２８に存在するが、処理及び転送情報は当該キーに対し２つのテーブルで異なると決定した場合、制御プロセッサー２０は、当該キーに対し新たな処理及び転送情報をアクティブな転送テーブル３４に書き込み、当該キーに対し転送テーブルの内部コピー２８に格納された同一のインデックス値を用い、アクティブな転送テーブル３４の当該エントリにアクセスする。これは以下に図６と関連して議論される。当該キーに対し新たな処理及び転送情報をアクティブな転送テーブル３４に書き込んだ後、制御プロセッサー２０は、転送テーブルの内部コピー２８の特定のキーに対するインデックス値に対応する、使用中テーブル２９のエントリの使用中状態を変更する。従って、使用中テーブル２９の対応するエントリの使用中状態は、「０」から「１」へ変化し、アクティブな転送テーブル３４の対応するエントリがアクティブであると示す。制御プロセッサー２０はまた、テーブル２６の特定のキーに対するエントリの同期化状態を「０」から「１」へ変更し、当該エントリが同期化されたことを示す。
【００３０】
図６に示されるように、制御プロセッサー２０は、新たな転送テーブル２６のキー「８８」を有する「２」をインデックス付けされたエントリに対し、同一のキーを有するエントリ（「２」をインデックス付けされたエントリ）が転送テーブルの内部コピー２８に存在するか否かを決定する。しかしながら、制御プロセッサー２０はまた、キー「８８」を有するエントリに対し、テーブル２６の処理及び転送情報「Ｌ」がテーブル２８の処理及び転送情報「Ｄ」と異なることを決定する。従って、制御プロセッサー２０は、キー「８８」を有するエントリに対し、新たな処理及び転送情報「Ｌ」をアクティブな転送テーブル３４に書き込み、キー「８８」を有するエントリに対し、転送テーブルの内部コピー２８に格納された同一のインデックス値「２」を用い、アクティブな転送テーブル３４のキー「８８」を有するエントリにアクセスする。キー「８８」を有する「２」をインデックス付けされたエントリに対し新たな処理及び転送情報「Ｌ」をアクティブな転送テーブル３４に書き込んだ後、制御プロセッサー２０は、使用中テーブル２９の「２」をインデックス付けされたエントリの使用中状態を「０」から「１」へ変更し、アクティブな転送テーブル３４の対応するエントリがアクティブであると示す。制御プロセッサー２０はまた、テーブル２６のキー「８８」を有する「２」をインデックス付けされたエントリの同期化状態を「０」から「１」へ変更し、当該エントリが同期化されたことを示す。
【００３１】
テーブル２６と３４の同一のキーを有するエントリを同期化した後、特定の実施例では、制御プロセッサー２０は、使用中テーブル２９の使用中でないエントリを決定し、当該エントリの転送情報をアクティブな転送テーブル３４から削除する（又は、テーブル３４の当該エントリがネットワーク・プロセッサー３０により無視されるようにする）。これは図７を参照して以下に議論される。例えば、制御プロセッサー２０は、テーブル２９のエントリ毎にエントリの使用中状態が「１」か否かを識別する。「１」の場合、転送テーブル３４の対応するエントリは使用中である。エントリの使用中状態が「０」であり、従って転送テーブル３４の対応するエントリが使用中でない場合、制御プロセッサー２０は、当該インデックス付けされたエントリの転送情報をアクティブな転送テーブル３４から削除する（又は、当該インデックス付けされたエントリの情報がネットワーク・プロセッサー３０により無視されるようにする）。
【００３２】
図７に示されるように、制御プロセッサー２０は、使用中テーブル２９の「０」、「１」、及び「２」をインデックス付けされたエントリに対し、使用中状態が「１」であることを決定する。制御プロセッサー２０は、使用中テーブル２９の「３」をインデックス付けされたエントリに対し、使用中状態が「０」であることを決定する。従って、制御プロセッサー２０は、「３」をインデックス付けされたエントリの転送情報をアクティブな転送テーブル３４から削除する（又は、当該インデックス付けされたエントリの情報がネットワーク・プロセッサー３０により無視されるようにする）。制御プロセッサー２０は、図示された実施例で、アクティブな転送テーブル３４のキー列、処理及び転送情報列の「３」をインデックス付けされたエントリに対し「無効」を書き込むことにより上述の処理を行う。
【００３３】
アクティブな転送テーブル３４の使用中でないエントリの転送情報を（例えば当該エントリに「無効」を書き込むことにより）削除した後、特定の実施例では、制御プロセッサー２０は次に、新たな転送テーブル２６の各エントリに対し、エントリの同期化状態が「１」であるか否かを決定する。「１」である場合、エントリは同期化されている。エントリの同期化状態が「０」である場合、当該エントリは同期化されておらず、制御プロセッサー２０は、当該エントリの情報をアクティブな転送テーブル３４の利用可能なエントリに追加する。これは図８を参照して以下に議論される。テーブル３４の利用可能なエントリに情報を追加するために、制御プロセッサー２０は使用中テーブル２９の使用中でないエントリを検索し識別する。留意すべき点は、特定の実施例では、使用中テーブル２９の使用中でないエントリの検索は、（上述のように）エントリを削除するため及びエントリを追加するために１回実行されてよい。代替の実施例では、制御プロセッサー２０は、エントリを追加するため及びエントリを削除するために別個の検索を実行してよい。使用中テーブル２９の使用中でないエントリを識別した後、制御プロセッサー２０は、新たな転送テーブル２６の同期化されていないエントリからの情報を、使用中テーブル２９の使用中でないエントリと同一のインデックスを有する、アクティブな転送テーブル３４のエントリに書き込む。テーブル３４への書き込みの後、制御プロセッサー２０はテーブル２９の当該エントリの使用中状態を「１」に変更する。制御プロセッサー２０は、テーブル２６の同期化されたエントリの同期化状態を「１」に変更する。
【００３４】
図７に示されるように、制御プロセッサー２０は、使用中テーブル２６の「０」、「１」、及び「２」をインデックス付けされたエントリに対し、使用中状態が「１」であることを決定する。制御プロセッサー２０は、新たな転送テーブル２６の「３」をインデックス付けされたエントリに対し、同期化状態が「０」であることを決定する。
【００３５】
従って、図７に示されるように、制御プロセッサー２０は、使用中テーブル２９のインデックス付けされた使用中でないエントリを検索し、そのようなエントリで「３」をインデックス付けされたエントリを識別する。図８に示されるように、制御プロセッサー２０は次に、新たな転送テーブル２６の同期化されていない「３」をインデックス付けされたエントリからの情報を、アクティブな転送テーブル３４の「３」をインデックス付けされたエントリに書き込む（何故なら、アクティブな転送テーブル３４の当該エントリは、使用中テーブル２９の未使用の「３」をインデックス付けされたエントリと同一のインデックスを有するからである）。その後、制御プロセッサー２０はテーブル２９の「３」をインデックス付けされたエントリの使用中状態を「０」から「１」に変更する。制御プロセッサー２０は、テーブル２６の同期化されたエントリ「３」の同期化状態を「０」から「１」に変更する。
【００３６】
この徐々に変更する方法では、制御プロセッサー２０は、ネットワーク・プロセッサー３０を再起動することなく、比較的大容量のメモリーを用いることなく、又は前のアクティブなテーブルから新たに再生成されたテーブルに切り替えることなく、新たな転送テーブル２６及びアクティブな転送テーブル３４のエントリを同期化する。この処理の間、ネットワーク・プロセッサー２０は、図１及び２と関連して上述したように、アクティブな転送テーブル３４の情報に基づきパケット１２を処理及び転送し続ける。
【００３７】
留意すべき点は、代替の実施例では、図４乃至８で実行された処理が、如何なる他の適切な順序で実行されてもよく、必ずしも記載された順序で実行される必要はない。留意すべき点は、代替の実施例が複数のアクティブな転送テーブルを有してよいことである。これらの実施例では、１又は複数の制御プロセッサーは、複数の新たな転送テーブルのエントリと複数のアクティブな転送テーブルのエントリとを、上述の方法と同様の方法で同期させる。留意すべき点は、図示された実施例が如何なる特定のテーブル構造又はアクセス方法にも限定されないこと、及び如何なる適切なテーブル構造及びアクセス方法、例えばフラット・テーブル又は連想記憶装置（ＣＡＭ）が用いられてよいことである。
【００３８】
本発明の範囲から逸脱することなく記載された例であるシステム及び方法の変更、追加、又は省略が行われて良い。例である方法及びシステムの構成要素は特定の必要に応じて統合又は分離されて良い。また、処理は如何なる適切な順序で実行されてよく、必ずしも記載された順序で実行される必要はない。更に、例である方法及びシステムの動作は更に多くの、更に少ない、又は他の構成要素により実行されて良い。
【００３９】
図９は、本発明の特定の実施例による例であるパケット転送情報を同期させる方法１００を示すフローチャートである。方法１００の段階１１０で、アクティブな転送テーブルの情報は、１又は複数のネットワーク装置から受信したパケットを処理し、１又は複数のネットワーク装置へ転送するために用いられる。特定の実施例では、パケット転送システムのネットワーク・プロセッサー３０の転送プレーンは、段階１１０を実行してよい。アクティブな転送テーブルの情報は、如何なる適切な方法で、例えばパケット転送システムの制御プロセッサーにより実施される制御プレーンにより、アクティブな転送テーブルに書き込まれてよい。制御プレーンは、例えばネットワーク設定の状態及び／又はプロトコル情報及び／又は如何なる他の適切な情報の１又は複数の更新に基づく等の如何なる適切な方法で当該テーブルの情報を生成してもよい。
【００４０】
方法１００の段階１２０で、制御プレーンの故障又は更新が生じたか否かの決定が行われる。故障又は更新が生じていない場合、方法１００は段階１１０へ戻る。制御プレーンの故障又は更新が生じている場合、方法１００は段階１３０へ進み、アクティブな転送テーブルの情報は上述のように受信したパケットを処理し転送するために用いられ続ける。更に、方法１００の段階１４０で、新たな転送テーブルが再起動された（古い又は更新された）制御プレーンにより構築される。方法１００の段階１５０で、アクティブな転送テーブルは、新たな転送テーブルの情報で徐々に更新されてよい。アクティブな転送テーブルが徐々に更新されている間、転送プレーンは、徐々に更新されたアクティブな転送テーブルの情報に基づき受信したパケットを処理し転送し続けてよい。この徐々に更新する処理の一例は、図４乃至８を参照して上述され、以下に図１０のフローチャートに示される。徐々に更新する処理が完了した後、方法１００は段階１１０へ戻る。
【００４１】
本発明の範囲から逸脱することなく記載された例であるシステム及び方法の変更、追加、又は省略が行われて良い。例である方法及びシステムの構成要素は特定の必要に応じて統合又は分離されて良い。更に、例である方法及びシステムの動作は更に多くの、更に少ない、又は他の構成要素により実行されて良い。
【００４２】
図１０は、本発明の特定の実施例による、転送プレーン３２により維持されるアクティブな転送テーブル３４を、再起動された制御プレーン２２により維持される新たな転送テーブル２６の情報で徐々に更新する例である方法２００を示すフローチャートである。留意すべき点は、図３乃至８と関連して上述された構成要素に参照符号が付されるが、如何なる他の適切な構成要素が用いられてもよいことである。また、以下に議論される処理は如何なる適切な順序で実行されてよく、必ずしも記載された順序で実行される必要はない。
【００４３】
方法２００は段階２１０で開始する。段階２１０で、制御プレーン２２が再起動し転送テーブル２６の転送テーブル情報を再生成した後、制御プレーン２２は転送テーブル２６の同期列の全てのエントリを「０」に設定する。制御プロセッサー２０はまた、ネットワーク・プロセッサー３０の転送テーブル３４の転送情報を読み出し、制御プレーン２２によりアクセス可能なテーブル２８の当該情報の内部コピーを生成（及び格納）する。更に、制御プロセッサー２０はまた、インデックス・テーブル２９を生成し、転送テーブル３４に各エントリの使用中状態を格納し、最初にテーブル２９の全てのエントリを「０」に設定する。
【００４４】
段階２２０で、新たな転送テーブル２６の情報及び転送テーブル３４の情報を同期するために、制御プロセッサー２０は、新たな転送テーブル２６の次のエントリを分析する。段階２３０で、制御プロセッサー２０は次に、キー検索を用いることにより、新たな転送テーブル２６のエントリに対し、同一のキーを有するエントリが転送テーブルの内部コピー２８に存在するか否かを決定する。同一のキーを有するエントリが転送テーブルの内部コピー２８に存在しない場合、方法２００は段階２２０へ戻り、次のエントリが分析される。制御プロセッサー２０が同一のキーを有するエントリが転送テーブルの内部コピー２８に存在すると決定した場合、制御プロセッサー２０は、方法２００の段階２４０で、当該キーに対し、処理及び転送情報がテーブル２６と２８とで同一か否かを決定する。当該キー・エントリに対し処理及び転送情報が２つのテーブルで同一だった場合、制御プロセッサー２０は、転送テーブルの内部コピー２８の特定のキーに対するインデックス値に対応する、使用中テーブル２９のエントリの使用中状態を変更する。従って、使用中テーブル２９の対応するエントリの使用中状態は、「０」から「１」へ変化し、アクティブな転送テーブル３４の対応するエントリがアクティブであると示す。制御プロセッサー２０はまた、テーブル２６の特定のキーに対するエントリの同期化状態を「０」から「１」へ変更し、当該エントリが同期化されたことを示す。方法２００は次に以下に議論される段階２６０へ進む。
【００４５】
制御プロセッサー２０が、新たな転送テーブル２６のエントリに対し、同一のキーを有するエントリが転送テーブルの内部コピー２８に存在するが、処理及び転送情報は当該キーに対し２つのテーブルで異なると決定した場合、方法２００の段階２５０で、制御プロセッサー２０は、当該キーに対し新たな処理及び転送情報をアクティブな転送テーブル３４に書き込み、当該キーに対し転送テーブルの内部コピー２８に格納された同一のインデックス値を用い、アクティブな転送テーブル３４の当該エントリにアクセスする。当該キーに対し新たな処理及び転送情報をアクティブな転送テーブル３４に書き込んだ後、制御プロセッサー２０は、転送テーブルの内部コピー２８の特定のキーに対するインデックス値に対応する、使用中テーブル２９のエントリの使用中状態を変更する。従って、使用中テーブル２９の対応するエントリの使用中状態は、「０」から「１」へ変化し、アクティブな転送テーブル３４の対応するエントリがアクティブであると示す。制御プロセッサー２０はまた、テーブル２６の特定のキーに対するエントリの同期化状態を「０」から「１」へ変更し、当該エントリが同期化されたことを示す。方法２００は次に段階２６０へ進む。段階２６０で、新たな転送テーブル２６の全てのエントリが分析されたか否かが決定される。全て分析されている場合、方法２００は次に以下に議論される段階２７０へ進む。転送テーブル２６の全てのエントリが分析されていない場合、方法２００は段階２２０へ戻り、新たな転送テーブルの次のエントリが分析される。
【００４６】
テーブル２６と３４の同一のキーを有するエントリを同期化した後、特定の実施例では、制御プロセッサー２０は次に段階２７０で、使用中テーブル２９の使用中でないエントリを決定し、当該エントリの転送情報をアクティブな転送テーブル３４から削除する（又は、テーブル３４の当該エントリがネットワーク・プロセッサー３０により無視されるようにする）。例えば、制御プロセッサー２０は、テーブル２９のエントリ毎にエントリの使用中状態が「１」か否かを識別してよい。「１」の場合、転送テーブル３４の対応するエントリは使用中である。エントリの使用中状態が「０」であり、従って転送テーブル３４の対応するエントリが使用中でない場合、制御プロセッサー２０は、当該インデックス付けされたエントリの転送情報をアクティブな転送テーブル３４から削除する（又は、当該インデックス付けされたエントリの情報がネットワーク・プロセッサー３０により無視されるようにする）。
【００４７】
アクティブな転送テーブル３４の使用中でないエントリの転送情報を削除した後、特定の実施例では、制御プロセッサー２０は次に、段階２８０で、新たな転送テーブル２６の各エントリに対し、エントリの同期化状態が「１」であるか否かを決定する。「１」である場合、エントリは同期化されている。エントリの同期化状態が「０」である場合、エントリは同期化されておらず、制御プロセッサー２０は使用中テーブル２９の使用中でないエントリを検索し識別する。使用中テーブル２９の使用中でないエントリを識別した後、制御プロセッサー２０は、新たな転送テーブル２６の同期化されていないエントリからの情報を、使用中テーブル２９の使用中でないエントリと同一のインデックスを有する、アクティブな転送テーブル３４のエントリに書き込む。その後、制御プロセッサー２０はテーブル２９の当該エントリの使用中状態を「１」に変更する。制御プロセッサー２０は、テーブル２６の同期化されたエントリの同期化状態を「１」に変更する。
【００４８】
この徐々に変更する方法では、制御プロセッサー２０は、ネットワーク・プロセッサー３０を再起動することなく、比較的大容量のメモリーを用いることなく、又は前のアクティブなテーブルから新たに再生成されたテーブルに切り替えることなく、新たな転送テーブル２６及びアクティブな転送テーブル３４のエントリを同期化する。この処理の間、ネットワーク・プロセッサー２０は、図１、２及び９と関連して上述したように、アクティブな転送テーブル３４の情報に基づきパケット１２を処理及び転送し続ける。
【００４９】
本発明の範囲から逸脱することなく記載された例であるシステム及び方法の変更、追加、又は省略が行われて良い。例である方法及びシステムの構成要素は特定の必要に応じて統合又は分離されて良い。また、処理は如何なる適切な順序で実行されてよく、必ずしも記載された順序で実行される必要はない。更に、例である方法及びシステムの動作は更に多くの、更に少ない、又は他の構成要素により実行されて良い。
【００５０】
本発明はいくつかの実施例と共に記載されたが、種々の変化及び変更が当業者に提案されてよい。本発明は、請求項の精神と範囲に包含される全ての変化及び変更を包含する。
【００５１】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）  パケット転送情報を同期させるシステムであって：
制御プレーンを実施し、第１の転送情報を生成し、前記第１の転送情報をネットワーク・プロセッサーのアクティブな転送テーブルへ転送する制御プロセッサー；及び
転送プレーンを実施し、パケットを受信し、前記アクティブな転送テーブルの前記第１の転送情報を用い前記受信したパケットを１又は複数のネットワーク装置へ転送するネットワーク・プロセッサー；を有し、
前記制御プレーンが再起動された後、前記制御プロセッサーは、前記再起動された制御プレーンを用い第２の転送情報を生成し、前記ネットワーク・プロセッサーの転送プレーンがトラフィックを転送し続ける間に、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、システム。
（付記２）  前記再起動された制御プレーンは、前記アクティブな転送テーブルに、前記アクティブな転送テーブルに未だ含まれていない前記第２の転送情報に含まれる転送情報を徐々に追加することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、付記１に記載のシステム。
（付記３）  前記再起動された制御プレーンは、前記アクティブな転送テーブルから、前記第２の転送情報に含まれていない転送情報を徐々に削除することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、付記１に記載のシステム。
（付記４）  前記再起動された制御プレーンは：
前記アクティブな転送テーブルの前記第１の転送情報を読み出し、前記第１の転送情報の内部コピーを生成し；及び
前記第２の転送情報を前記第１の転送情報の前記内部コピーと比較し、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、付記１に記載のシステム。
（付記５）  前記ネットワーク・プロセッサーの転送プレーンは、前記アクティブな転送テーブルの前記徐々に更新された転送情報に基づきトラフィックを転送し続ける、付記１に記載のシステム。
（付記６）  パケット転送情報を同期させる方法であって：
制御プレーンを用い第１の転送情報を生成し、前記第１の転送情報をアクティブな転送テーブルへ転送する段階；
転送プレーンを用いパケットを受信し、前記アクティブな転送テーブルの前記第１の転送情報を用い前記受信したパケットを１又は複数のネットワーク装置へ転送する段階；及び
前記制御プレーンが再起動された後、第２の転送情報を生成し、前記転送プレーンを用いトラフィックを転送し続ける間に、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する段階、を有する方法。
（付記７）  前記再起動された制御プレーンは、前記アクティブな転送テーブルに、前記アクティブな転送テーブルに未だ含まれていない前記第２の転送情報に含まれる転送情報を徐々に追加することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、付記６に記載の方法。
（付記８）  前記再起動された制御プレーンは、前記アクティブな転送テーブルから、前記第２の転送情報に含まれていない転送情報を徐々に削除することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、付記６に記載の方法。
（付記９）  前記方法は、前記再起動された制御プレーンを用い：
前記アクティブな転送テーブルの前記第１の転送情報を読み出し、前記第１の転送情報の内部コピーを生成する段階；及び
前記第２の転送情報を前記第１の転送情報の前記内部コピーと比較し、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する段階、を更に有する付記６に記載の方法。
（付記１０）  トラフィックは、前記転送プレーンを用い、前記アクティブな転送テーブルの前記徐々に更新された転送情報に基づき転送され続ける、付記６に記載の方法。
（付記１１）  コンピューター可読媒体に符号化され、制御ロジックと転送ロジックを有するロジックであって：
前記制御ロジックは、コンピューターにより実行されると、第１の転送情報を生成し、前記第１の転送情報をアクティブな転送テーブルへ転送し；
前記転送ロジックは、コンピューターにより実行されると、パケットを受信し、前記アクティブな転送テーブルの前記第１の転送情報を用い前記受信したパケットを１又は複数のネットワーク装置へ転送し、及び
前記制御ロジックが再起動した後、前記再起動した制御ロジックは、第２の転送情報を生成し、前記転送ロジックがトラフィックを転送し続ける間に、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、ロジック。
（付記１２）  前記再起動された制御ロジックは、前記アクティブな転送テーブルに、前記アクティブな転送テーブルに未だ含まれていない前記第２の転送情報に含まれる転送情報を徐々に追加することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、付記１１に記載のロジック。
（付記１３）  前記再起動された制御ロジックは、前記アクティブな転送テーブルから、前記第２の転送情報に含まれていない転送情報を徐々に削除することにより、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、付記１１に記載のロジック。
（付記１４）  前記再起動された制御ロジックは更に：
前記アクティブな転送テーブルの前記第１の転送情報を読み出し、前記第１の転送情報の内部コピーを生成し；及び
前記第２の転送情報を前記第１の転送情報の前記内部コピーと比較し、前記アクティブな転送テーブルの前記第１の転送情報を前記第２の転送情報で徐々に更新する、付記１１に記載のロジック。
（付記１５）  前記転送ロジックは、前記アクティブな転送テーブルの前記徐々に更新された転送情報に基づきトラフィックを転送し続ける、付記１１に記載のロジック。
【図面の簡単な説明】
【００５２】
【図１】本発明の特定の実施例による正常動作中の例であるパケット転送システムを示す図である。
【図２】本発明の特定の実施例による制御プレーンの故障又は更新後の例である図１のパケット転送システムを示す図である。
【図３】本発明の特定の実施例による制御プレーンの回復後の例である図１のパケット転送システムを示す図である。
【図４】本発明の特定の実施例による、新たな転送テーブルとアクティブな転送テーブルとの部分的同期の後の、例である図３のパケット転送システムを示す図である。
【図５】本発明の特定の実施例による、新たな転送テーブルとアクティブな転送テーブルとの部分的同期の後の、例である図３のパケット転送システムを示す図である。
【図６】本発明の特定の実施例による、新たな転送テーブルとアクティブな転送テーブルとの部分的同期の後の、例である図３のパケット転送システムを示す図である。
【図７】本発明の特定の実施例による、新たな転送テーブルとアクティブな転送テーブルとの部分的同期の後の、例である図３のパケット転送システムを示す図である。
【図８】本発明の特定の実施例による、新たな転送テーブルとアクティブな転送テーブルとの同期の後の、例である図７のパケット転送システムを示す図である。
【図９】本発明の特定の実施例による例であるパケット転送情報を同期させる方法を示すフローチャートである。
【図１０】本発明の特定の実施例による、転送プレーンにより維持されるアクティブな転送テーブルを、再起動された制御プレーンにより維持される新たな転送テーブルの情報で徐々に更新する例である方法を示すフローチャートである。
【符号の説明】
【００５３】
１２  パケット
２０  制御プロセッサー
２２  制御プレーン
３０  ネットワーク・プロセッサー
３２  転送プレーン
【図１】
0005309787.tif 000002
【図２】
0005309787.tif 000003
【図３】
0005309787.tif 000004
【図４】
0005309787.tif 000005
【図５】
0005309787.tif 000006
【図６】
0005309787.tif 000007
【図７】
0005309787.tif 000008
【図８】
0005309787.tif 000009
【図９】
0005309787.tif 000010
【図１０】
0005309787.tif 000011