(57)【要約】データ通信ネットワークにおいてコンテナ（58）内でパケットを転送するための方法とシステムである。各コンテナは、パケット又は更なるコンテナ（58）を有することがある。パケット／コンテナ（58）は、TypeフィールドとLengthフィールドとValueフィールドとを有する所定の形式でコンテナ内に格納される。Typeフィールドは、それぞれのパケット／コンテナがそれぞれのシーケンスの最後のパケット／コンテナであるか否かの表示を有する。Lengthフィールドは、次のValueフィールドの長さを特定し、Valueフィールドは、更なるパケット又はコンテナ（58）を有することがあるペイロードを有する。MPLSのシム・ヘッダ（shim  header）のようなヘッダがコンテナ（58）に適用され、ネットワーク上で送信される。全体のコンテナへのパケット／コンテナの追加が所定の最大のコンテナのサイズ（62）を超える場合、又はタイマー（60）がコンテナ内の最初のパケットの到達から所定の期間を測定した場合、コンテナ（58）が閉鎖され、送信用にスケジューリングされる。
2005517328.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークで複数のデータパケットを転送するための方法であって、
第１のコンテナのヘッダと、それぞれ第１と第２のValue（V）フィールドに含まれる少なくとも第１と第２のパケットとを有する第１のコンテナを作ることを有し、
前記第１のコンテナが、前記第１と第２のValueフィールドのそれぞれ１つに関連付けられたType（T）及びLength（L）フィールドを有し、
前記Typeフィールドが、関連付けられたValueフィールドに含まれるパケットが、前記第１のコンテナ内の最後のパケットであるか否かを示し、前記Lengthフィールドが、関連付けられたValueフィールドの長さを特定し、
前記第１のコンテナのヘッダが、少なくとも１つの第１のパス識別子を有し、
前記通信ネットワーク内で第１のネットワーク装置から第２のネットワーク装置に前記第１のコンテナを転送することを有する方法。
【請求項２】
請求項１に記載の方法であって、
前記第２のネットワーク装置が、複数の出力ポートを有しており、
前記第１のコンテナのヘッダに含まれる前記第１のパス識別子に基づいて、前記第２のネットワーク装置の前記複数の出力ポートのうちの１つを選択し、前記第２のネットワーク装置内の転送エンジンにより実行される単一の転送処理を介して、前記選択された出力ポートに前記第１のコンテナを転送するステップと、
前記第２のネットワーク装置の前記複数の出力ポートのうちの前記選択された１つから前記第１のコンテナを転送するステップと
を更に有する方法。
【請求項３】
請求項２に記載の方法であって、
前記通信ネットワーク内の第３のネットワーク装置で前記第１のコンテナを受信するステップであって、前記第１のコンテナが前記第３のネットワーク装置で受信されると、前記第１のコンテナに関連するヘッダ内の所定のラベルを前記第１のコンテナが含むステップと、
前記第３のネットワーク装置で維持されるデータファイルと前記所定のラベルを比較し、前記第１のコンテナがアンパックされるべきか否かを決定するステップと、
前記比較するステップの結果として、前記第１のコンテナがアンパックされるべきであることが決定されると、前記第１のコンテナから前記第１と第２のパケットを構文解析するステップと、
前記第１と第２のパケットに関連するヘッダ内に維持されたラベルに基づいて、前記第１と第２のパケットを前記第３のネットワーク装置の選択された出力ポートに転送するステップと
を更に有する方法。
【請求項４】
請求項３に記載の方法であって、
前記第１と第２のパケットがそれぞれ、ヘッダとペイロードとを有する方法。
【請求項５】
請求項３に記載の方法であって、
前記第１と第２のパケットがそれぞれ、ヘッダと複数のパケットを収容するコンテナとを有する方法。
【請求項６】
請求項１に記載の方法であって、
前記第１と第２のパケットが、第２と第３のコンテナを有する方法。
【請求項７】
請求項６に記載の方法であって、
前記第２と第３のコンテナが、それぞれ第２と第３のコンテナのヘッダと、前記TypeとLengthとValueのフィールドで構成されたそれぞれのTLVシーケンスのValueフィールド内に格納された複数のパケットとをそれぞれ有する方法。
【請求項８】
請求項６に記載の方法であって、
前記第２と第３のコンテナが、それぞれ第２と第３のコンテナのヘッダと、それぞれのTLVシーケンスのValueフィールド内に格納された複数のコンテナとをそれぞれ有する方法。
【請求項９】
請求項１に記載の方法であって、
前記転送するステップが、
最後の受信パケットの追加が前記第１のコンテナの所定の最大のコンテナのサイズを超えるまで、前記第１のコンテナに受信パケットを追加するステップと、
前記最後の受信パケットの追加が前記所定の最大のコンテナのサイズを超えるという決定により、前記最後の受信パケットの追加なしに、前記第１のネットワーク装置からの送信用に前記第１のコンテナをスケジューリングするステップと
を有する方法。
【請求項１０】
請求項１に記載の方法であって、
前記転送するステップが、
前記第１のコンテナに関する第１のパケットの到達からの期間に関連する値を作るタイマーを維持するステップと、
前記タイマーが所定のタイマーの閾値に到達した場合に、送信用に前記第１のコンテナをスケジューリングするステップと
を有する方法。
【請求項１１】
請求項１に記載の方法であって、
前記第１のパス識別子が、シム・ヘッダ（shim  header）に格納されたラベルを有する方法。
【請求項１２】
請求項１１に記載の方法であって、
２つの異なる転送プロトコルに従って動作可能な少なくとも２つのネットワーク装置を通じて、前記第１のコンテナを送信するステップと、
それぞれのネットワーク装置での受信により、前記第１のコンテナ内に含まれる前記第１のパス識別子に基づいて、それぞれのネットワーク装置内で転送の決定を行うステップと
を更に有する方法。
【請求項１３】
請求項１２に記載の方法であって、
前記第１のパス識別子が、シム・ヘッダ（shim  header）内に配置されたラベルを有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信ネットワークに関するものであり、特に複数の小さいパケットをコンテナで転送し、ネットワークスイッチの転送エンジンで実行される必要のあるスイッチ動作の数を減少させるための方法と装置に関するものである。
【背景技術】
【０００２】
近年、データと音声と映像の通信のために、パケット交換ネットワークの使用が比較的一般的になってきた。そのようなネットワークは、一般的に通信リンクにより選択的に相互接続された複数のネットワークスイッチ装置を有する。各ネットワークスイッチ装置は、対応する通信リンクから情報を受信するための複数の入力ポートと、それぞれのネットワークスイッチ装置から情報を転送するための複数の出力ポートとを有する。ワークステーション、ストレージ装置又はその他のデータソースのようなソース・エンドステーションから宛先エンドステーションに、選択されたネットワークスイッチ装置を通じて、情報がパケットで伝達される。パケットのヘッダのフィールド内に含まれる情報は、それぞれのネットワーク装置の入力ポートで受信された際に使用され、前記ネットワーク装置では、パケットが受信され、そのネットワーク装置からパケット転送のための適切な出力ポートを識別する。
【０００３】
電子メールのようないくつかのパケット交換データは、ソースから宛先への伝送パスにおけるジッタと遅延の変化に敏感ではないが、リアルタイムの音声と映像の伝送は、ネットワーク内のジッタと遅延が特定の制限内に保たれることを必要とする。そのような制限に対応するため、それぞれの接続の帯域とジッタと遅延に基づいて、異なるデータフローに適用される異なるサービス品質（QoS）を提供するために、非同期転送モード（ATM）プロトコルが開発された。ATM環境では、5バイトのヘッダを使用する53バイトのパケットが採用された。短いパケット長を特定することにより、ネットワーク装置内でQoS要件が管理される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、多数の小さいパケットのために出力ポートを決定する必要性は、ネットワークスイッチ装置に実質的な重荷を負わせ、特に通信リンクの伝送速度の増加がネットワークスイッチ装置のクロック速度の増加を凌ぐと、そのような装置内の転送エンジン又はクロスバースイッチに重荷を負わせている。
【０００５】
従って、実行される必要のあるスイッチ動作の数を減少させることにより、通信ネットワーク内のネットワークスイッチ装置の転送エンジンの負荷を減少させる技術を提供することが望ましい。
【課題を解決するための手段】
【０００６】
本発明によると、ヘッダ部分と少なくとも１つのコンテナ部分とを有する単一のより大きいパケットとして、データ通信ネットワーク上で複数のパケットを伝送するための方法とシステムが開示される。１つの実施例によると、単一のより大きいパケットは、マルチプロトコルラベルスイッチング（MPLS）のシム・ヘッダ（shim  header）を含む。前記コンテナは、Type（T）とLength（L）とValue（V）の三重の形式のシーケンスを有する。各三重構成のValue（V）の長さが変化することがあるため、TLVの三重構成は可変長であることがある。Typeフィールドは固定長のフィールドであり、特定のパケットがより大きいコンテナ内の最後のパケット又はコンテナであるか否かを示すビットを有する。Lengthフィールドは、Lengthフィールドの直後に続くValueフィールドの長さを示す固定長のフィールドである。Valueフィールドは、TLVの三重構成に関連するペイロードを表す。Valueフィールドはヘッダとその他のTLVの三重構成を含むことがあり、更なるコンテナ又はパケットを含むことがある。
【０００７】
コンテナのパックは、パケットがネットワークスイッチ装置に到達すると、一連の段階で実行される。この段階の間に、集成ノードを構成するネットワークスイッチ装置にパケットが到達すると、コンテナが組み立てられる。集成ノードは、同じQoS基準を有し、（少なくとも所定のネットワークパスを通じて）同じ位置に向かうパケット又はコンテナを、より大きいパケット内で組み立てる。
【０００８】
各パケットが組み立てられるために、各集成ノードでタイマーが維持される。タイマーは、それぞれのコンテナへの最初のパケットの到達からの時間を測定する。タイマーが所定のタイマーの閾値を超えた場合、それぞれのコンテナが閉鎖され、コンテナが送信用にスケジューリングされる。その結果、システムが過度のジッタを取り入れることをタイマーが回避する役割をする。
【０００９】
組み立てられる各コンテナについてサイズの閾値が定められる。サイズの閾値は、それぞれのコンテナの最大許容サイズを定める。次のパケット又はコンテナをより大きいコンテナに追加することにより、全体のコンテナがサイズの閾値を超えることを引き起こす場合に、コンテナが閉鎖され、送信用にスケジューリングされる。最後に、最小の望ましい充填レベルが維持されることがある。
【００１０】
転送されるコンテナを受信する伝送パス内の各ネットワークスイッチ装置は、受信されるコンテナを構成するコンテナと全ての関連するコンテナ及びパケットの転送用に使用される出力ポートを決定するために、ヘッダを検査しさえすればよい。従って、転送エンジンは、コンテナ内で各パケットについて転送の決定が行われる必要がある場合に必要な複数の動作ではなく、使用される出力ポートの単一の決定を実行しさえすればよい。
【００１１】
コンテナは通信パスを通じて適切な装置でアンパックされ、それによりそのパケットが最終的な宛先にルーティングされることがある。
【００１２】
前述の説明から明らかな通り、コンテナは、コンテナ内のパケットもまた、他のパケット又はコンテナを保持するコンテナを有することがある階層構造を表すことがある。従って、如何なる数のコンテナの階層にも対応されることがある。
【発明の効果】
【００１３】
コンテナ内でメッセージを送信するための、ここで説明される方法とシステムの他の特徴と態様と利点が、以下の発明の詳細な説明から当業者に明らかになる。
【発明を実施するための最良の形態】
【００１４】
本発明によると、１つ以上のコンテナで通信ネットワークを通じてパケットを通信するための方法とシステムが開示される。特に、複数のより小さいパケット又はコンテナを収容するために、より大きいパケット又はコンテナが使用される。ヘッダがコンテナに適用され、例えば既知のマルチプロトコルラベルスイッチング（MPLS）プロトコルのようなトラヒック転送プロトコルを使用して、ネットワーク上でコンテナが伝送される。ネットワークスイッチ装置でのそれぞれの受信コンテナのスイッチングは、MPLSヘッダ内に含まれるラベルに基づいて実行される。従って、コンテナは、単一の転送動作を介したネットワーク上の適切なラベルスイッチパスを通じて、及び異なる転送プロトコルを使用するネットワーク装置を通じて、転送されることがある。
【００１５】
図１は、本発明に従って動作するシステムの例示的な実施例を表したものである。更に具体的には、コアネットワーク10は、第１のネットワークスイッチ装置S1  20を介して、メトロポリタン・エリア・ネットワーク（MAN）のような第１のサブネットワークA  12に通信で結合される。コアネットワーク10はまた、第２のネットワークスイッチ装置S2  22を介して、メトロポリタン・エリア・ネットワーク（MAN）のような第２のサブネットワークB  14に通信で結合される。コアネットワーク10は、リンク23により相互接続されたネットワークスイッチ装置S3  24とS4  26とS5  21のような複数のその他のネットワークスイッチ装置を有し、メッシュを構成する。スイッチS1  20とS2  22とS3  24とS4  26とS5  21はそれぞれ、適切な通信リンク23上で情報を送受信するための複数の入力と出力20a及び20bと22a及び22bと24a及び24bと26a及び26bと21a及び21bをそれぞれ有する。
【００１６】
複数のネットワークスイッチ装置と相互接続通信リンク23とは、コアネットワーク10を構成し、例えばネットワークスイッチ装置S5  21を介してネットワークスイッチ装置S1  20とネットワークスイッチ装置S2  22との間に接続が確立されることを可能にする。ここで開示されるシステムと方法の議論と説明の簡潔さのため、通信パスが単方向として表されているが、通信パスはまた、特定のパスを通じた双方向通信を促進するために、反対方向にも確立されることに留意すべきである。
【００１７】
例示的なサブネットワークA  12はまた、ネットワークスイッチES1  30及びネットワークスイッチES2  32のようなエッジ装置を含む複数のネットワークスイッチ装置を有する。更に、サブネットワークA  12は、メッシュネットワーク（図示なし）として相互接続された複数のその他のネットワークスイッチ装置を有することがある。エッジ装置ES1  30とES2  32は、関連する通信リンク上で情報を送受信するための複数の入力と出力30a及び30bと32a及び32bをそれぞれ有する。
【００１８】
サブネットワークA  12は、サブネットワーク12内のそれぞれのネットワーク装置間で通信パスが確立されることを可能にし、コアネットワーク10でネットワークスイッチS1  20が通信することを可能にする。
【００１９】
更に、サブネットワークB  14は、ネットワークスイッチES3  34及びネットワークスイッチES4  36のようなエッジ装置を含む複数のネットワークスイッチ装置を有する。エッジ装置ES3  34とES4  36はそれぞれ、関連する通信リンク上で情報を送受信するための複数の入力と出力34a及び34bと36a及び36bをそれぞれ有する。サブネットワークB  14は、メッシュネットワーク（図示なし）として相互接続された複数のその他のネットワークスイッチ装置を有することがある。サブネットワークB  14は、サブネットワーク14内のそれぞれのネットワーク装置間で通信パスが確立されることを可能にし、図示の例において、ネットワークスイッチ装置S2  22とそれぞれの図示されたエッジ装置ES3  34及びES4  36との間で通信パスが確立されることを可能にする。
【００２０】
表されたネットワークは、この開示されるシステムと方法が使用されることがあるネットワークを単に示すことを目的としていることに留意すべきであり、ここで開示される技術が何らかの適切なネットワークで使用されることがある点が認識されるべきである。
【００２１】
好ましい実施例において、ネットワークスイッチ装置とエッジスイッチとは、RFC3031とRFC3032（双方が2001年1月の日付で、www.ietf.orgでインターネット協会から公表されている）に記載されている既知のマルチプロトコルラベルスイッチング（MPLS）プロトコルに従ってパケット転送を実行するように動作可能である。MPLSプロトコルは、インターネットプロトコル（IP）パケットのようなパケットに追加される短い固定長ラベルを使用する。MPLS対応ルータでラベルは、ネットワークを通じたパケットのルーティングに使用される。更に具体的には、一般的な用途では、パケットがネットワークに入る時に合う最初のMPLS対応装置で、IPパケットがラベルとともにカプセル化される。パケットは追加されたMPLSラベルで転送され、ラベルは、パケット転送の決定のために、MPLSネットワーク内のその後のMPLS対応ルータで使用される。パケットがネットワークのMPLS部分に存在すると、MPLSラベルがパケットから取り除かれる。図示の例において、議論の簡潔さのため、コアネットワーク10とサブネットワークA  12とサブネットワークB  14との範囲内の全てのルータが、MPLS対応ルータを有することが仮定される。しかし、ここで開示されるコンテナ転送技術の実施にそのようなことが必ずしも必要でないことが認識されるべきである。
【００２２】
ここで開示されるシステムは、装置S1  20とS5  21とS2  22、及びパケットのソースとパケットの宛先の間の通信パスを通じたその他のネットワークスイッチ装置のような、ネットワークスイッチ装置により実行される必要のあるスイッチ動作の数を減少させるコンテナ化パケット転送を実行する。
【００２３】
更に具体的には、図１を参照すると、パケットAとBがネットワークスイッチES1  30の入力30aでネットワークスイッチES1  30に入る。パケットAとBの双方が、エッジスイッチES3  34に結合されたエンドステーションに向けられることが、説明のために仮定される。ネットワークスイッチを含むネットワーク内のスイッチにより実行されるスイッチ動作の数を減少させるために、パケットAとBは、エッジ装置ES1  30でコンテナに組み立てられ、MPLSヘッダがES1  30内でコンテナに適用される。ソースから宛先までの指定されたパスの少なくとも一部について、パケットが同じラベルスイッチパスをコンテナで移動するため、単一のコンテナ内に配置されるパケットは同じクラスのサービスを有する。
【００２４】
エッジスイッチとコアスイッチについて図１に表された形式の例示的なネットワークスイッチ装置50が、図２にブロック図で表されている。ネットワークスイッチ装置50は、それぞれ対応する通信リンク53.1-53.nでパケットを受信するための複数の入力ポート1からn  52.1-52.nを有する。スイッチ50は、対応する通信リンク55.1-55.mに通信で結合された複数の出力ポート1からm  54.1-54.mを更に有する。入力ポート1からn  52.1-52.nの出力は、転送エンジン56の入力に結合され、転送エンジン56の出力は、それぞれの出力ポート1-m  54.1-54.mの入力に結合される。転送エンジン56は、入力ポート52.1-52.nのうちのいずれか１つで受信されたパケットを、１つ以上の出力ポート54.1-54.mに転送する機能を提供する。受信パケットのヘッダに含まれる情報に基づいて、それぞれの入力ポートのロジックは、それぞれの入力ポートに関連付けられた転送テーブルを使用し、パケット転送のためにどのポートが使用されるかを判断する。次に、受信パケットが転送エンジン56を介して適切な出力ポートに転送される。
【００２５】
ネットワークスイッチ50のそれぞれの出力ポートを出るそれぞれのデータフローについて、コンテナが組み立てられることがある。例えば、図２を参照すると、それぞれのデータフローに関連付けられたコンテナ58が表されている。同じラベルスイッチパスに向かう予定のパケットが受信されるため、以下に更に詳細に説明される通り、それぞれの出力ポートでの受信時にMPLSヘッダHが作られ、受信パケットが適切なコンテナにパックされる。それぞれの出力ポート54は、それぞれの出力ポート54で受信されたパケットの待機とスケジューリングと送信を含む全ての必要な制御機能を実行するように動作可能なポート制御ロジック64を有する。
【００２６】
各コンテナについて、最大のコンテナのサイズを特定する閾値が維持される。各コンテナ58は、所定の最大のコンテナのサイズ62に近づくと、送信用にスケジューリングされる。更に具体的には、出力ポートでのパケットの受信時に、それぞれのコンテナ58へのそのパケットの追加が所定の最大のコンテナのサイズを超える場合、そのパケットはコンテナに追加されない。その代わりに、コンテナ58が閉鎖され、送信用にスケジューリングされる。次に、受信パケットは新しいコンテナ58に挿入され、処理が繰り返されることがある。単一の最大のコンテナのサイズ62が、全てのコンテナ58について定められることがあり、又はその他に、最大のコンテナのサイズ62がコンテナ毎に定められることがある。
【００２７】
タイマーT  60が各コンテナ58に関連付けられる。タイマーT  60は、一般的に出力ポートへの最初のパケットの到達から経過した時間、又は関連するコンテナ58内の最初のパケットの待機から経過した時間を測定する。コンテナが所定の最大のコンテナのサイズ62に到達する前に、タイマーT  60により測定される所定の期間が経過した場合、コンテナ58がそれぞれの出力ポートから送信用にスケジューリングされる。このように、過度の遅延とジッタの導入が回避されることがある。出力ポート2  54.2の構成が一般的に前述されたが、集成ルータの全ての出力ポートは前述の出力ポートに類似しており、ここで説明されたパケットのコンテナ転送を可能にする。
【００２８】
任意選択で、最大の充填サイズの閾値が維持されることがある。コンテナが最大の充填サイズまで充填され、所定の時間が終了した場合、コンテナが閉鎖され、パケットが送信用にスケジューリングされることがある。このように、必要に応じて、遅延とジッタの導入が最小化されることがある。
【００２９】
ここで開示される技術によるコンテナのパックは、図３ａ−３ｃに関して説明される。図３ａに表される通り、パケットAは、ヘッダ部分  ヘッダAと、ペイロードAとして示されるペイロードとを有する。説明の目的で、パケットAのヘッダの長さと、パケットAのペイロード（又は値）の長さは、単位長さであると考えられる。しかし、ペイロードの長さは実際には何らかの適切な長さであることがある。同様に、パケットBは、ヘッダ部分  ヘッダBと、ペイロードBとして特定されるペイロードとを有する。そのそれぞれが説明の目的で単位長さであると仮定される。
【００３０】
更に、パケットCとDがリンク32a上でネットワークスイッチES2  32に到達すると仮定される。図３ａに表される通り、パケットCは、ヘッダ部分  ヘッダCと、ペイロードCとして特定されるペイロードとを有し、パケットDは、ヘッダ部分  ヘッダDと、ペイロードDとして特定されるペイロード部分とを有する。
【００３１】
ネットワーク装置ES1  30とES2  32のようなそれぞれの集成MPLSネットワーク装置で、同じラベルスイッチパス（LSP）で送信される予定の同じクラスのサービス（MPLSにおけるFEC）を有するパケットは、所定のセットの集成規則に従い、ここで開示されるパケット形式を使用して、コンテナに集成されることがある。更に具体的には、各集成ネットワーク装置は、MPLSのシム・ヘッダ（shim  header）のようなヘッダ部分Hと、それに続いてTLVシーケンスを作るType（T）フィールドとLength（L）フィールドと任意の長さのValue（V）フィールドを有するコンテナを形成する。コンテナで転送される各パケットは、更に詳細に以下に説明されるTLV形式を使用してコンテナにパックされ、コンテナ内のパケットのセットの終わりに追加される。TLVシーケンスのTypeフィールドは、第１の状態又は第２の状態のいずれかを有する１ビットのフィールドを有する。Tフィールドが第１の状態（コンテナの終わりではない（EOCではない））である場合、パケット／コンテナがより大きいコンテナ内の最後のパケット／コンテナではないことを示す。Tフィールドが第２の状態（コンテナの終わり（EOC））である場合、パケット／コンテナがそれぞれのパケット内の最後のパケット／コンテナであることを示す。説明の簡潔さのため、図示された実施例において、Tフィールドが.5の単位の長さであることが仮定される。Length（L）フィールドは、好ましい実施例では15ビットのフィールドを有する。そのフィールドは次のValue（V）フィールドの長さをバイトで示すが、図示の実施例では、説明の簡潔さのため、Lengthフィールドが.5の単位の長さであることが仮定される。
【００３２】
受信パケット又はその他のコンテナは、コンテナのValueフィールド内に格納される。好ましい実施例において、Type及びLengthフィールドは、TLVシーケンスのヘッダ部分で、単一の連続的な16ビットのブロックにパックされる。
【００３３】
パックのアルゴリズムは、両立可能なサービス品質の要件を有し、同じ転送パスを有するパケットが到達すると、コンテナが空のコンテナから増大する多段階の処理を有する。更に具体的には、同じ転送等価クラス（FEC）であり、それぞれの集成ネットワークスイッチ装置からの同じ通信リンク上で出力ポートから送信の予定であるパケットが到達すると、パケットはMPLSのシム・ヘッダ（shim  header）を有するコンテナに連続的に格納される。MPLSのシム・ヘッダ（shim  header）は、転送の決定のため、次のダウンストリームのネットワークスイッチ装置により使用されるラベルを有する。
【００３４】
ここで開示される技術によるコンテナのパックは、図１と３ａと３ｂと３ｃを参照して更に説明される。前記図面は、集成ネットワークスイッチES1  30での第１のコンテナへの受信パケットAとBのパックと、集成スイッチES2  32での第２のコンテナへの受信パケットCとDのパックと、コアネットワーク10を通じた転送の前に、第３のコンテナへの第１と第２のコンテナのその後の集成とを示している。更に具体的には、サブネットワークA  12のES1  30からS1  20へのラベルスイッチパスA（SLPA）上のパケット送信のためにコンテナが開放される。図３ｂの上部に示されている通り、次のホップのネットワークスイッチ装置により使用されるラベルを含む、ヘッダ1として特定されたシム・ヘッダ（shim  header）が作られる。図１に表されている通り、シム・ヘッダ（shim  header）は、ダウンストリームのネットワーク装置により使用されるラベルL1を有する。入力30aのうちの１つでネットワーク装置ES1  30で受信されたパケットAとBは、前述のTLV形式で集成ネットワーク装置ES1によりコンテナに格納される。更に具体的には、図３ｂの上部に表されている通り、ES1  30で作られた第１のコンテナは、それぞれのTLVシーケンスがコンテナの最後のパケットを構成しないことを示すTypeAフィールド（XXX＋非EOC）を有する。更に、コンテナはValueAフィールドの長さを特定するLengthAフィールドを有し、それはこの例においてパケットAの長さからなる。更に、ヘッダAとペイロードAとからなるパケットAのヘッダとペイロードは、図示の通り、コンテナに格納される。更に、パケットBがTLVシーケンスとして第１のコンテナに格納される。図示の例において、パケットBは第１のコンテナ内の最後のパケットであるため、TypeBフィールドは、それぞれのTLVシーケンスがコンテナの最後のTLVシーケンスであることを示すように設定されたビット（EOC）を有する。LengthフィールドLengthBは、次のValueBフィールドの長さを特定するように、コンテナに格納される。最後に、ヘッダBとペイロードBを有するパケットBがコンテナに格納される。第１のコンテナが送信のための前述の基準のうちの１つを満たすことを仮定すると、第１のコンテナが閉鎖され、ネットワーク装置S1  20による受信のため、ラベルスイッチパスA（LSPA）（図１参照）で送信用にスケジューリングされる。
【００３５】
同様に、パケットCとDは、集成ネットワーク装置ES2  32により第２のコンテナにパックされ、ネットワーク装置S1  20による受信のため、第２のラベルスイッチパスLSP  Bで送信される。第２のコンテナ内のパケットCとDのパックは、図３ｂの下部に表されている。説明の目的で、全てのヘッダは1の単位長さであるとして表され、TypeフィールドとLengthフィールドは.5の単位長さであるとして表され、Valueフィールドは1の単位長さであるとして表されている。ヘッダ2として特定され、ラベルL2を有するヘッダは、第２のコンテナに適用され、第２のコンテナが、ネットワーク装置S1  20による受信のため、ラベルスイッチパスBで転送される。
【００３６】
説明の目的で、第１のコンテナと第２のコンテナに含まれるパケットは、同じサービス品質の要件を有しており、全てがLSP  C（図１）でネットワークスイッチS2  22に向かう予定であることが仮定される。図示された例において、第１のコンテナと第２のコンテナは、それぞれの入力20aでネットワークスイッチS1  20で受信され、前述のTLV形式を使用して、ラベルL3を有するシム・ヘッダ（shim  header）を有する第３のコンテナに集成される。第３のコンテナは、ネットワーク装置S5  21による受信のため、ラベルスイッチパスC上で送信される。第３のコンテナの組み立てに使用されるデータ形式が図３ｃに表されている。
【００３７】
図３ｃを参照すると、シム・ヘッダ（shim  header）を有するヘッダ  ヘッダ3が第３のコンテナ用に作られ、その第３のコンテナは、ラベルスイッチパスLSP  CでスイッチS5  21に送信されるパケット又はコンテナを含む。シム・ヘッダ（shim  header）は、転送の決定を行う際の、ダウンストリームのネットワークスイッチ装置S5  21による使用のためのラベルL3（図１）を有する。第１のコンテナは、前述のTLV格納シーケンスを使用して、第３のコンテナに集められる。単なる説明の簡潔さの目的で、全てのヘッダは1の単位の長さであると仮定され、全てのType及びLengthフィールドは.5の単位の長さであると仮定され、パケット内の全てのValueフィールドは1の単位の長さであると仮定される。実際に、何らかの所定のパケット内のValueフィールドの長さは変化することがあり、それは適切なTLVシーケンス内の適切なLengthフィールドの内容に反映されることに留意すべきである。
【００３８】
ヘッダ3に続いて、第３のコンテナは、第１のコンテナが全体のコンテナの最後のコンテナを有するか否かを示すTypeフィールド（Type1）を有する。当該の例において、第１のコンテナが第３のコンテナ内の最後のコンテナではないため、Type1フィールドはコンテナの終わり（EOC）の表示を有さない。Type1フィールドに続いて、第３のコンテナは次のValueフィールドの長さを定めるLength1フィールドを有する。当該の例において、Length1フィールドの内容は、第１のコンテナ内のフィールド（すなわちヘッダ1とTypeＡとLengthAとValueAとTypeBとLengthBとValueB）の合計の長さに等しい“5”である。Length1フィールドの後に、第３のコンテナは、図３ｂに関して表され、以前に説明された通り、第１のコンテナを有する。第１のコンテナの後に、TLVシーケンスで第３のコンテナに第２のコンテナが集められる。更に具体的には、第３のコンテナは、EOC表示を有するType2フィールドを有する。EOC表示は、第３のコンテナ内の最後のコンテナとして第２のコンテナを特定する。Type2フィールドに続いて、第３のコンテナは、第２のコンテナの長さを特定するLength2フィールドを有する。当該の例において、第２のコンテナの長さは、それぞれのフィールドの仮定の長さに基づき、“5”と等しい。Length2フィールドに続いて、第３のコンテナは、図３ｂの下部について表され、前述した通り、第２のコンテナを有する。EOC表示が、最後のコンテナのTypeフィールド内にあり、全体のコンテナが送信用にスケジューリングされたという決定で送信される。当該の場合に、第３のコンテナを含むパケットが、ラベルスイッチパス（LSP）C上でスイッチS1  20からスイッチS5  21に送信される。
【００３９】
ネットワークスイッチ装置S5  21での受信により、シム・ヘッダ（shim  header）ヘッダ3のラベルが検査され、ラベルL4（図１）を有するシム・ヘッダ（shim  header）を使用して、LSP  C上でネットワークスイッチ装置S5  21からネットワークスイッチ装置S2  22にパケットがそのまま転送されるという決定が行われる。ネットワークスイッチS5  21の転送エンジンは、入力シム・ヘッダ（shim  header）に基づいて、単一の転送動作を介して適切な出力ポートにパケットを転送し、ネットワークスイッチS5  21は、それぞれの出力21bで適切な出力ポートからパケットを転送する。当該の簡単な例において、ネットワークスイッチS5  21内の転送エンジンにより、単一の転送動作が実行されることがわかる。以前に開示された通り、コンテナでパケットが転送されない場合、ネットワークスイッチS5  21内の転送エンジンにより４つの転送動作（すなわち、それぞれのパケットAとBとCとDについて１つ）が実行される必要がある。
【００４０】
ネットワークスイッチ装置S2  22での入力22aのうちの１つにおける第３のコンテナの受信により、ネットワークスイッチ装置S2  22は、シム・ヘッダ（shim  header）を検査し、第１と第２のコンテナがもはや同じLSPを移動することを目的としないため、第３のコンテナがアンパックされなければならないことを決定する。従って、それぞれの入力ポートは、第１と第２のコンテナをアンパックする。第１のコンテナのヘッダに含まれるラベルに基づいて、ネットワークスイッチ装置S2  22は第１のコンテナを第１の出力ポートに転送し、第２のコンテナのヘッダに含まれるラベルに基づいて、ネットワークスイッチ装置S2  22は第２のコンテナを第２の出力ポートに転送する。ネットワークスイッチ装置S2  22の第１の出力ポートで、新しいラベルL5がシム・ヘッダ（shim  header）に挿入され、第１のコンテナを有するパケットが、エッジスイッチES3  34の入力34aでの受信のため、ラベルスイッチパス（LSP）D上で転送される。ネットワークスイッチ装置S2  22の第２の出力ポートで、新しいラベルL6がシム・ヘッダ（shim  header）に挿入され、第２のコンテナを有するパケットが、エッジスイッチES4  36の入力36aでの受信のため、ラベルスイッチパス（LSP）E上で転送される。
【００４１】
エッジスイッチES3  34とES4  36は、それぞれの入力ヘッダ内のラベルを検査し、それぞれの第１と第２のコンテナがアンパックされて、それに含まれるパケットがその本来の形式で転送されなければならないことを決定する。従って、エッジスイッチES3  34は、受信パケットのヘッダのラベルL5の認識により、第１のコンテナをアンパックし、パケットAとBをエッジスイッチES3  34の適切な出力ポートに転送する。同様に、エッジスイッチES4  36は、受信パケットのヘッダのラベルL6の認識により、第２のコンテナをアンパックし、パケットCとDをエッジスイッチES4  36の適切な出力ポートに転送する。
【００４２】
前述の方法で、ネットワークスイッチ装置の転送エンジンで実行される必要のある転送動作の数が有意に減少することがある。図示の例に関して４つのみのパケットが説明されたが、一般的なネットワークのコンテナは、多数のパケットを含むことがあり、実行される必要のある転送動作の数の実質的な減少を生じる。
【００４３】
更に、ネットワークスイッチS1  20とネットワークスイッチS2  22との間に単一のネットワークスイッチS5  21が表されているが、実際には、それぞれのラベルスイッチパスは複数のネットワークスイッチを有することがあり、それぞれの中間のネットワークスイッチ装置で達成される転送動作の減少を生じる。
【００４４】
どのフローがコンテナにパックされるべきか、及びどのフローがパックされるべきでないかに関する決定が、管理機能として行われることがある点に更に留意すべきである。更に、パケットのコンテナ化は、明示的にルーティングされたパケット又は動的にルーティングされたパケットで実行されることがある。
【００４５】
ここで開示される発明に従ってコンテナをパックする方法が、図４のフローチャートに示されている。ステップ100に表される通り、パケットはパケット集成が可能なネットワークスイッチ装置の入力ポートで受信される。ステップ102に表される通り、ヘッダが検査される。ステップ104に示される通り、パケット転送より前にパケットがコンテナ内に格納されるべきか否かに基づく決定が行われる。この決定は、MPLSパケットのシム・ヘッダ（shim  header）内のラベルのような、受信パケットのヘッダ内の情報の検査に基づいて行われる。パケットがコンテナで転送される場合、ステップ106に表されている通り、適切なコンテナが開放されているか否かに関する決定が行われる。適切なコンテナが既に存在する場合、ステップ108に示される通り、コンテナへのパケットの追加がそれぞれのコンテナの所定の最大のコンテナのサイズを超えるか否かについての決定が行われる。コンテナへのパケットの追加がコンテナの最大のコンテナのサイズを超える場合、ステップ110に示されている通り、コンテナが閉鎖され、受信パケットの追加なしに送信用にスケジューリングされる。送信用のパケットの閉鎖は、当てはまる場合には最後のパケット又はコンテナ内の最後のTypeフィールドのEOC状態への設定を有し、コンテナの適切なアンパックを促進する。また、ステップ110に表されている通り、新しいコンテナが初期化され、受信パケットが前述のTLVシーケンスで新しいコンテナに格納される。
【００４６】
ステップ104でパケットがコンテナ化されないことが決定された場合、ステップ112に示される通り、パケットはそれぞれの出力ポートから従来通り転送される。説明として、ステップ112で送信用にスケジューリングされたパケットは、単一のパケット、又はアップストリームのネットワークスイッチ装置から受信されたコンテナのいずれかであることがある。
【００４７】
ステップ106で適切なコンテナが存在しないことが決定された場合、ステップ114に示される通り、新しいコンテナが作られ、受信パケットがTLVシーケンス形式で新しいコンテナに追加される。それぞれの出力ポートで次のパケットの受信を待つため、制御がステップ100に渡る。
【００４８】
ステップ110で適切な既存のコンテナへのパケットの追加が最大のコンテナのサイズを超えないことが決定された場合、ステップ116に示される通り、パケットが既存のコンテナに追加され、出力ポートで次のパケットの受信を待つため、制御がステップ100に渡る。
【００４９】
最後に、並行処理として、ステップ118に表されている通り、それぞれのコンテナに関連するタイマーが終了したか否かに関する決定が行われる。タイマーの終了により、関連するコンテナが閉鎖され、送信用にスケジューリングされる。
【００５０】
図５は、ネットワークスイッチ装置で受信されたコンテナをアンパックするための、ここで開示される技術による方法を表している。更に具体的には、ステップ200に表されている通り、ネットワークスイッチ装置の入力ポートでパケットが受信される。ステップ202に表されている通り、ヘッダが検査される。MPLSのシム・ヘッダ（shim  header）内のラベルのように、ヘッダ内に含まれる情報に基づいて、ステップ204に表される通り、アンパックされるべきコンテナを受信パケットが有するか否かの決定が行われる。アンパックされるべき１つ以上のコンテナを受信パケットが有することが決定されると、ステップ206に表されている通り、シーケンスの最後のコンテナを特定するTypeフィールドが認識されるまで、連続的なコンテナがアンパックされる。アンパックされるレベルの数は、それぞれのアンパックされたコンテナ内の情報から決定される。例えば、図３ｃに表された第３のコンテナをアンパックする際に、ネットワークスイッチは第１と第２のコンテナを取得する。それらのヘッダ内のラベルが検査され、それらのコンテナもまたアンパックされるべきか否かを確認する。アンパック動作から取得されたそれぞれのコンテナ及び／又はパケット内のヘッダが検査され、それぞれのコンテナ／パケットが、送信について図４に関して説明された通り、コンテナ化のために適切な出力ポートに転送される。
【００５１】
ここに開示された発明の概念から逸脱することなく、前述のシステム及び方法の変形と変形が行われることがあることが、当業者により認識されるであろう。従って、特許請求の範囲及び意図を除いて、本発明が限定されたものとして考えられるべきではない。
【図面の簡単な説明】
【００５２】
【図１】本発明に従って動作するネットワークスイッチ装置を有するネットワークを表したブロック図である。
【図２】図１に表された形式の例示的なネットワークスイッチ装置を表したブロック図である。
【図３ａ】図１に表された例示的なネットワーク内のネットワークスイッチ装置で受信された４つのパケットの一般的なデータ形式を表した図である。
【図３ｂ】ここで開示されるTLVパック形式を使用して、第１と第２のコンテナに図３ａに表されたパケットをパックすることを示した図である。
【図３ｃ】ここで開示されるTLVパック形式を使用して、図３ｂに表された第１と第２のコンテナを単一のより大きいコンテナにパックすることを示した図である。
【図４】本発明に従ってメッセージをパックするための方法を表したフローチャートである。
【図５】本発明に従ってメッセージをアンパックするための方法を表したフローチャートである。
【図１】
2005517328.tif 000003
【図２】
2005517328.tif 000004
【図３ａ】
2005517328.tif 000005
【図３ｂ】
2005517328.tif 000006
【図３ｃ】
2005517328.tif 000007
【図４】
2005517328.tif 000008
【図５】
2005517328.tif 000009
【国際調査報告】
2005517328.tif 000010
2005517328.tif 000011