(57)【要約】インターフェースユニット（１０４）と中央スイッチングユニット（１０６）とを有するルータ（１００）を通じて、データパケットを転送する方法及び装置。パケットがルータにおいて受信されると、パケットをその転送先に出力するために、論理リンクが選択される。その中には、差別化されたトラフィッククラスを有する複数のパケットキューを有する。更に論理リンクのパケットキューが選択され、検索された中間リンク記述子に基づいて、さらには必要なＱｏＳに基づいて、選択されたキューから発信するためにパケットがスケジューリングされる。
2006506845.tif 000002
【特許請求の範囲】
【請求項１】
送信エンドステーションと受信エンドステーションとの間のルータを通じてデータパケットを転送する方法であり、
Ａ）前記送信エンドステーションからデータパケットを受信するステップと、
Ｂ）前記受信したパケットのヘッダフィールド内の転送先アドレスを読み取るステップと、
Ｃ）前記読み取られた転送先アドレスに基づいて、前記パケットをどこに出力すべきかを考慮して論理リンクを選択するステップであって、論理リンクが差別化されたトラフィッククラスを有する複数のパケットキューを有するステップと、
Ｄ）前記パケットに対して必要なＱｏＳを決定するステップと
を含む方法であって、更に、
Ｅ）前記選択された論理リンクに対応する送信パス内におけるリンク構成要素の状態変数を含む、記憶された中間リンク記述子を検索するステップと、
Ｆ）前記論理リンクのパケットキューを選択し、前記選択されたキュー内のパケットをスケジューリングするステップであって、ステップＥ）において検索された前記中間リンク記述子に基づき、更にはステップＤ）において決定された前記必要なＱｏＳに基づいているステップと
を特徴とする方法。
【請求項２】
ステップＡ）〜Ｄ）が、前記送信エンドステーションが接続される入力ユニットにおいて実行され、ステップＥ）とＦ）が、前記受信エンドステーションが接続される出力ユニットにおいて実行されることを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概ねルータを通じてパケットデータ転送する方法と装置に関する。特に、発明は転送されたデータパケットに対するある一定のレベルのサービス品質の保証に関する。
【背景技術】
【０００２】
近年、インターネットブラウジング及びメッセージングの他に音声電話、ビデオ電話、テレビ及びビデオ配信等の、種々のサービスに対するデジタル符号化された情報のパケットデータ送信を提供するためのシステム及びソリューションが開発されてきた。音声、オーディオ及びビデオファイル、テキスト又は画像等の送信されるべき情報は送信側においてデジタル符号化され、選択された符号化方式に従って特定のフォーマットのデータパケットに配列される。従って、データパケットはスイッチ、ルータ及びリンク等の共有送信リソースを用いて共通のパケットインフラストラクチャを通じて異なる送信機及び受信機の間で転送される。
【０００３】
通信されたデータパケットは、種々のネットワーク、スイッチ、ゲートウェイ、ルータ及びインターフェースを備える送信パスに沿って個々に処理される。従って、通信セッションの個々のデータパケットは異なる遅延を受け、またそれらが送信された順序と異なる順序で到達する場合がある。更に、例えば過度の遅延又は信号歪みにより、あるいは過負荷状況において、転送中に失われるあるいは捨てられるパケットもある。
【０００４】
それらの転送先において受信されるときにパケットは通常は正しい列順に配列され、失われたパケットがあればそれを補償するための手段が取られてもよい。次いで、データパケット内の符号化されたデータは復号され、受信端末のユーザインターフェースにおいて提示又は再生される。送信及び受信側は例えば固定又は移動電話、コンピュータ、サーバ、ゲームコンソール、テレビ受像機等のデータパケットの処理が可能な如何なるタイプのエンドステーションを利用してもよい。
【０００５】
各タイプのサービスは例えば必要な帯域幅又はデータレート、パケット損失、遅延又はレイテンシー、及び時々ジッタと呼ばれる遅延の変動に関し、個々のサービス品質（ＱｏＳ）を必要とする。
【０００６】
パケットサービスは遅延範囲の変化に対して敏感であり、従って、パケットはしばしば適切な送信方法とプロトコルを選択するために分類される。音声及びビデオ電話のように最も遅延に敏感なサービスアプリケーションは時々リアルタイムサービスと呼ばれ、およそ２００ミリ秒を超えない送信機から受信機への総送信時間を必要とする。インターネットからのメッセージング又はホームページダウンロードのような最も遅延に敏感でないアプリケーションは時々ベストエフォートサービスと呼ばれ、それに関しては、数秒もしくはそれ以上の送信時間が大抵の場合許容される。従って限られた送信リソースが共有されるときは、典型的にはリアルタイムデータがベストエフォートデータに優先して与えられる。
【０００７】
上記のように、データパケットは種々のネットワーク及び複数のルータを通じて送信される場合もある。ルータは、間にあるデータパケットを転送するためのネットワーク内か、あるいは相互に接続する異なるネットワーク内にある送信ノードである。送信パスの各ルータにおけるある一定の遅延は避けられないが、そのような遅延や、パケット損失を最小にすることが非常に望ましい。
【０００８】
インターネットプロトコル（ＩＰ）は今日、ネットワーク内及びネットワーク間の通信に関する送信標準として広く使用される。従って、データパケットは通常、通信セッション中に、ネットワーク内で、あるいは一つのネットワークから別のネットワークへＩＰルータを通じて転送される。
【０００９】
ルータは一般的に送信側から送られるパケットを受信する入力インターフェースユニットと、受信側へパケットを送信する出力インターフェースユニットとを有する。ルータは更に入力及び出力インターフェースユニットを相互接続する中央スイッチングユニットを有する。
【００１０】
データパケットを簡単に受信しかつ転送する他に、ＩＰルータはセキュリティーコントロール、パケット・スケジューリング、フォーマット変換及びトランスコーディング等の他の作業を実施してもよい。例えば、ＩＰルータは所定のセキュリティーポリシーに基づいて、入ってくるパケットを転送すべきか否かを決定してもよい。所定のドメインに入るデータフローが如何なる取り決め又は制限条件も犯していないことをいわゆるドメインエッジルータにおいてチェックしてもよい。
【００１１】
例えば、サービス品質（ＱｏＳ）ポリシー及び優先度分類に基づいて、共有送信リソースを通じて異なる通信セッションに入力される複数のパケットを多重化する何らかのスケジューリング・メカニズムを採用することも必要かもしれない。従って、異なるデータセッションは例えば遅延、データレート及びパケット損失に関して異なるＱｏＳを有してもよく、それに従って分類される。エンドユーザのサブスクリプションも差別化されたＱｏＳクラスを持ってもよい。
【００１２】
必要なＱｏＳを提供する、ルータ内で使用される多数の利用可能で既知の技術がある。入力インターフェースユニットにおいて、出力のため、及び例えば最終受信機への送信パスにおける次のルータへの更なる送信のためにスケジュールされたデータパケットに対してキューが維持される。スケジューリング・メカニズムは、個々のパケットに対する差別化されたＱｏＳ要求を満たすと共に利用可能な送信リソースを通じて均一にトラフィックを分配しようとする。
【００１３】
しかしながら、送信リソースは時々非常に異なるＱｏＳ要求を有するトラフィックセッションにより共有されるので、過負荷の間にリソースの衝突が生じ、パケットが遅延又は欠落する輻輳をもたらす。パケット損失又は遅延はビットエラーをもたらす信号歪み、制限されたデータレート性能、提供されたトラフィックと実行されたトラフィック間の不一致などのような種々の要因により引き起こされる。輻輳はまた送信リソースの欠如又は他の理由によりリンク又はルータにおいて、さらにはパスにおいても生じ、これは以前のスケジューリング・メカニズムにおいては考慮されていない。
【００１４】
従って、ＱｏＳがパケット損失と遅延に関して必要とすることを、複数のリンク及びルータを有する送信パスにおいて満たされることを保証することは課題である。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明の目的は上に概説した欠陥を克服し、パケットデータ送信の品質とセキュリティーを保証しながらルータにおけるデータパケットに対する信頼でき、しかも単純なスケジューリング・メカニズムを提供することである。利用可能な送信リソースの使用を最適化し、パケット転送中のパケットの遅延及び損失を最小にすることも一つの目的である。
【課題を解決するための手段】
【００１６】
これら及び他の目的は送信エンドステーションと受信エンドステーションの間にあるルータを通じてデータパケットを転送及びスケジューリングする簡単なソリューションにより達成される。
【発明を実施するための最良の形態】
【００１７】
背景技術で述べたように、データパケットは通常、多数の相互接続されたルータ又はスイッチを通じてエンドステーションの間を端から端に送信される。ルータの基本的構造はスイッチコアにより相互接続されたインターフェースユニットを含む。図１はデータパケットを転送する発明の方法及び装置が適用可能である例示的な通信システムの簡略化された概要である。ルータ１００は異なるネットワーク１０２に接続される、図示されないエンドステーション間の通信を可能にする複数のネットワーク１０２間の接続ノードとして作用する。あるいは、ルータ１００はネットワーク内でパケットを転送してもよい。
【００１８】
ルータ１００は、例えば固定又は移動電話、コンピュータ、ゲームコンソール、サーバ等の多数の異なるエンドステーション又は端末間の異なるフォーマットのデータパケットを通信可能である。更に、ネットワーク１０２は例えば固定又は移動ネットワーク、私的又は公的ネットワーク、バックボーンＩＰ（インターネットプロトコル）ネットワーク、インターネット等の如何なるタイプのネットワークでもよい。
【００１９】
ルータ１００は基本的には中央スイッチングユニット１０６により相互接続される多数のネットワーク・インターフェースユニット１０４を有する。各インターフェースユニット１０４は一つ以上のネットワーク１０２に接続され、それらとの通信を処理する。インターフェースユニット１０４は、それに接続されたネットワークから入る、あるいはそこから出て行くパケットを処理する入力と出力両方のパケット処理機能を含んでもよい。論理的には、インターフェースユニット１０４はトラフィック方向に従って入力及び出力ユニットに分割できる。
【００２０】
図２はルータ１００をより詳細に図解し、そこでは二つのインターフェースユニット１０４のみが示されている。入力パケット処理ユニット１０４ｉは異なるエンドステーションからデータパケット２００を受信し、出力パケット処理ユニット１０４ｅはパケット２０２をそれらの転送先エンドステーションに送り出す。入力及び出力パケット処理ユニット１０４ｉ、１０４ｅは所定のルール、要求及びポリシーに従って個々のパケットを処理するように出来ており、以下略して入力ユニット１０４ｉ及び出力ユニット１０４ｅと呼ぶ。入力ユニット及び出力ユニット１０４ｉ、ｅは更にスイッチングユニット１０６により相互接続される。
【００２１】
出力ユニット１０４ｅから発信された流出パケット２０２は出力ユニット１０４ｅを指す複数の矢印で示されるようにルータ１００の多くの異なる入力ユニット、例えば図示の入力ユニット１０４ｉから集合トラフィックを構成する。同様に、流入パケット２００は入力ユニット１０４ｉから出る複数の矢印により示されるように異なる出力ユニット、例えば図示の出力ユニット１０４ｅに向けられてもよい。
【００２２】
流入データパケット２００は種々のネットワーク内の種々のソースから到来する。各流入パケットは、通常確立された通信セッションに属しており、パケットが新しいセッションの最初のパケットでない限り、パケットの特定のフィールドを読み取ることによりそのセッションは識別可能である。従って、パケットは、流出パケット２０２の中から発信される前に識別又は創出されたセッション状況に従って、入力及び出力ユニット１０４ｉ、ｅの一方又は両方において処理され、また修正される可能性もある。パケットの修正はパケットフォーマット又は符号化方式の変更や、その中の特定のヘッダフィールドの追加、削除又は更新を含んでもよい。当然、流出パケット２０２も同様に、種々のネットワーク内の種々の転送先に送信できる。
【００２３】
ルータ１００において、パケットが種々の条件又は基準に基づいて転送すべきか中断すべきかが決定されてもよい。転送される場合、適当で許容可能なパケット遅延も決定されてもよい。これらの決定は、特に必要なＱｏＳに関して、確立されたセッションに従って行われてもよい。本発明において、効率的な方法で送信リソースを利用するように負荷を分散するために、トラフィックをポリシング及びシェーピングするように上記の決定が行われるパケット・スケジューリング・メカニズムがルータにおいて使用されている。これに関して、以下にさらに詳細に述べる。
【００２４】
新しいデータセッションの最初のデータパケットがルータ１００において受信される際、パケットは分類され、転送決定が行われる。分類と転送決定はまたルータに記憶される。次いで、ルータは基本的には、パケットが確立されたセッションに属することを確認しすることにより、そのセッションに対して行われた転送決定を適用することにより、及び出力発信に対して適宜パケットをスケジューリングすることにより、それぞれの後に続く流入データパケットを処理する。パケット・スケジューリングは主として、異なるバッファキューからの個々のパケットが一つもしくはそれ以上の共有送信リンクに対して何時、どの順序で出力されるかを決定することを含む。本発明においては、スケジューリングは以下の要因に関して最適化される。
−  最終的に生じる遅延又はレイテンシーが遅延に敏感なトラフィックに対して許容レベルに維持されること。
−  必要な帯域幅又はデータレートが所定のＱｏＳ要求に従ってトラフィックに対し保証されること。
−  過負荷又は輻輳がルータの外側の外部送信ネットワークにおいて避けられること。
−  パケットトラフィックがルータの外側のネットワーク構造に対してシェーピングされること。
【００２５】
ルータ内のインターフェースユニット１０４は図１に図解されるネットワーク１０２のような一つもしくはそれ以上のネットワークを備える外部ネットワーク構造に接続される。図３を参照すれば、ルータ１００の外部のネットワーク構造３００はこのように物理及び／又は論理リンク３０４により相互接続された多数のルーティング又はスイッチングノード３０２を有する。ネットワーク構造３００は図３においては模式的にのみ図解され、備えるノード及びリンクの数とパターンは如何様でもよい。
【００２６】
通常、二つの通信エンドステーション間には可能な異なる送信パスがいくつかある。特定のデータパケットを送信するために選択されたパスは、転送先エンドステーション３０６において終了する一つもしくはそれ以上のノード及びリンクを有し、そのうち二つのみが図３に示されている。各ノード３０２又はリンク３０４はある一定のパケットスループット又は送信帯域幅を提供できる。従って、送信の遅延と品質に関する総合最終結果は、利用されたパスにおける全てのノード及びリンクの総和に依存する。
【００２７】
本発明において、ルータ１００はネットワーク構造３００についての知識に基づいてトラフィック・シェーピングとパケット・スケジューリングを実行する。従って、ルータ１００はネットワーク構造３００の既知の形態を記憶してもよい。ルータ１００は更にネットワーク構成の種々の個々の構成要素、又は少なくともそのいくつかの既知の部分を記述するパラメータを記憶してもよい。例えば、ルータはアクセスネットワークのゲートウェイであってもよく、その場合はそのアクセスネットワーク構成及びその構成要素の全ての詳細な知識を有することになる。
【００２８】
記憶されたネットワーク構成要素のパラメータは現在利用可能な帯域幅に関連する性能パラメータ、ノード３０２とリンク３０４のそれぞれ又は少なくともいくつかにおけるバッファリング性能及び／又はデータのスループットを含んでもよい。更に、そのようなパラメータは好ましくは各ノード及びリンクにおける現在のトラフィック負荷及び現在のリソースの利用可能性によって動的に更新してもよい。従って、個々のデータパケットのスケジューリングは、選択されたノード及びリンクに対する記憶された性能パラメータに基づいて、送信パスに関する適当なノード及びリンクを選択することを含んでもよい。
【００２９】
図２に戻れば、新しいセッションの最初のパケットが入力ユニット１０４iにおいて受信されるときに、転送決定がそのセッションに対して行われ、それはパケットのヘッダにおけるアドレスフィールドを読み取ることにより、その転送先にパケットを送る適当な出力ユニットを選択することを含む。更に、転送決定を行うためにある所定のルールが考慮されてもよい。この例においては、出力ユニット１０４ｅがルータから出力を発信するために選択される。
【００３０】
入力ユニット１０４ｉはまた、新しいセッションに要求されるＱｏＳに関して最初のパケットを分類する。これには、例えば必要な帯域幅又はデータレート、パケット損失、パケットバーストサイズ、遅延又はレイテンシー、及びジッタなどが含まれる。新しいセッションがある一定のＱｏＳを必要とする場合、ルータは、セッション中にそのＱｏＳ要件を満たす確約をする。そのようなＱｏＳが何も検出されなかったら、セッションパケットはベストエフォートパケットとして扱われる。従って、「確約済トラフィック」と「ベストエフォートトラフィック」の間に区別が成される。
【００３１】
必要なＱｏＳは、実際のペイロードセッションを進めながら制御信号をモニタすることにより決定してもよい。制御信号のモニタリングは、同時係属中の特許出願ＰＣＴ／ＳＥ０２／００３５６及びＳＥ０２０１３４６−４に述べられるように、アプリケーション・レイヤー・ゲートウェイ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｇａｔｅｗａｙ）と呼ばれる、ルータにおける特定の制御ユニットに制御信号を含むパケットを転送することにより実行してもよい。
【００３２】
このＱｏＳ分類はこのようにパケット優先度を示し、これはケーブル接続のような共有通信リソースを通じて選択された出力ユニット１０４ｅから出力するために、典型的には他の進行中のセッションのパケットと共にそのセッションの後続のパケットをスケジューリングするために使用される。
【００３３】
決定されたＱｏＳ分類はまた、セッションに対するポリシールールを検索及び適用するために入力ユニット１０４ｉにより使用される。ポリシールールは一定及び可変ビットレート・トラフィックの両方を考慮して、使用が許された最大帯域幅と最大帯域幅が決定される間隔長とを記述してもよい。「リーキー・バケット」（Ｌｅａｋｙ  Ｂｕｃｋｅｔ）、「トークン・バケット」（Ｔｏｋｅｎ  Ｂｕｃｋｅｔ）及び「ランダム・アーリー・ドロップ」（Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｒｏｐ）などのような、使用可能ないくつかの周知のポリシング方法がある。
【００３４】
次に、パケットは、出力ユニット１０４ｅに記憶された実行済転送決定と決定されたＱｏＳ分類と共に、スイッチングユニット１０６を通じて選択された出力ユニット１０４ｅに転送される。パケットをスケジューリングするためにＱｏＳ分類を用いることにより、トラフィック・シェーピングはいくつかの入力ユニットから集合されたトラフィックに対して実行できる。それにより、各セッションに対するＱｏＳ要件は満たされ、それにより、パケット転送があたかも専用接続を通じるように実行される。
【００３５】
最初に受信されたパケットに基づいてトラフィックセッションが確立されたら、後続のパケットはセッション状況を認識することにより一様に処理出来る。こうして最初のパケットを受信するときに転送決定が行われ、ＱｏＳ分類は、セッション状況を確立するときに、最初のパケットに基づいて決定される。その後に、その後に受信されたパケットのそれぞれからセッションキーやそれに類似のものを抽出することにより、セッション状況が認識される。同時係属中の特許出願ＰＣＴ／ＳＥ０２／００３５６及びＳＥ０２０１３４６−４は如何にデータパケットストリームがこの方法でルータを通じて転送されるかを述べている。
【００３６】
上に述べたように、出力ユニット１０４ｅは図４に図解されるように、複数の論理リンク４００により外部ネットワーク構成における他のルータ、ゲートウェイ又はスイッチに接続されてもよい。上記の転送決定は、そのセッションの転送先に導く転送先アドレスに基づいて、特定の論理リンクを選択及び割り当てることを含む。各論理リンク４００はこうして個々のエンド端末において終了する。
【００３７】
各論理リンク４００は、外部ネットワークを介する転送先への特定の送信パスを表しており、これには、ルータに知られている限り先のノード及びリンクのような既知のパス要素が含まれている。従って、各論理リンク４００はそのパスに対する個々の総合帯域幅に関連付けられる。例えば、論理リンクはＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ Ｄｉｇｉｔａｌ Ｓｕｂｓｃｒｉｂｅｒ  Ｌｏｏｐ）上のＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ Ｔｒａｎｓｍｉｓｓｉｏｎ Ｍｏｄｅ）仮想回路、又はＷＬＡＮ（Ｗｉｒｅｌｅｓｓ Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）により識別されるイーサネットスイッチ上の特定のポートに向けられてもよい。
【００３８】
個々の論理リンクの帯域幅は、例えばパスに沿って生じ得るボトルネックによって、現在リンクに対して提供可能な最大ビットレートにより規定される。最大ビットレート、つまり「リンク速度」は、物理的リンク速度に等しいか、あるいは物理的リソースが割り当てにより他と共有される場合はそれより小さい。
【００３９】
必要な如何なるＱｏＳも満足する方法でルータから発信するために、複数のキューからパケットをスケジュールするために、利用可能な帯域幅と現在のパケットキュー状態に関連するリンクパラメータが各論理リンクに対してルータ１００に記憶される。論理リンクに対するリンクパラメータは、論理リンクの現状を表しかつ出力ユニット１０４ｅに記憶されているデータ構造である「論理リンク記述子」に記憶してもよい。論理リンク記述子の例示的データ構造は図５に模式的に図解されている。
【００４０】
論理リンク記述子５００は一連の「中間リンク記述子」５０２を備え、それぞれは対応する論理リンクにおける特定のパス要素の現状を記述する。「パス要素」はこの場合、一つのノード、二つのノード間のリンク、又は一連のノード及び／又はリンクを含むパス区分を表してもよい。
【００４１】
実際問題として、中間リンク記述子は好ましくはデータ構成として、対応する中間リンク記述子に対する一連のポインタにより表され、これらは順に別個のメモリー又はデータ構造に記憶される。このようにして、各中間リンク記述子は、たとえそれが複数の論理リンクに有効であっても一つの場所にのみ記憶され、それによりメモリースペースを節約する。中間リンク記述子５０２は、対応するパス要素を通じてトラフィックをモニタすることにより動的に更新される。
【００４２】
論理リンク記述子５００は更に一連のパケットキュー５０４を有し、各キューは、所定のトラフィッククラスに関連付けられる。論理リンクはキューをいくつ有してもよい。キューは各データセッションに対して創りだされ、よって、基本的にはセッションに対して行われたＱｏＳ分類に従って、出力ユニットからの発信を待っているそのセッションの一つまたはそれ以上のパケットを含んでもよい。こうして各パケットキューは、その中でどのくらいのパケットが発信されるのを待っているかに依存するそれ自身のレイテンシーを有する。更に、各パケットキューは関連するトラフィッククラスに従って、所定のビットレートを有する。パケットは、個々のキューとそれらのトラフィッククラスのビットレートにより規定される通りに、所定のスケジュールに従ってキューから順番に発信される。
【００４３】
トラフィッククラスは、確約済帯域幅に関連するパケットバーストサイズに対して定められる。パケットは典型的にはトラフィックタイプに依存する個々のサイズのバーストとして送信される。このようにして、種々のタイプのトラフィックが例えば以下のように分類される。
−  フラッシュ管理トラフィック、
−  リアルタイム遅延敏感トラフィック、
−  一定又は可変ビットレートを有するリアルタイム・トラフィック
−  ベストエフォートトラフィック。
【００４４】
論理リンク記述子５００は更に動的性能パラメータ５０６を有する。これには、論理リンクに対して利用可能な総合帯域幅の現在値、及び、キューからスケジューリングされるべき次のパケットに対する論理リンクにおける最速発信時間が含まれる。
【００４５】
図６において、ルータからの論理リンクに対する三つの異なるパケットキュー６００ａ〜ｃからパケットを発信する例示的発信スケジュールが模式的に図解されている。この簡略化された例において、第１のキュー６００ａは、それぞれ第２のキュー６００ｂおよび第３のキュー６００ｃの２倍のビットレートを有するトラフィッククラスを割り当てられる。キュー６００ａ〜ｃからのパケットは、こうして論理リンクの総合出力ストリーム６０２として発信するために、それらの個々のビットレートに従ってスケジュールされる。この簡略化された例では、第１のパケットＰ１ａは第１のキュー６００ａから発信される。次に第２のパケットＰ２ｂは第２のキュー６００ｂから発信される。次いで第３のパケットＰ３ａは再度第１のキュー６００ａから発信される。次に第４のパケットＰ４ｃは第３のキュー６００ｃから発信され、その後に第５のパケットＰ５ａが第１のキュー６００ａから発信される等々である。
【００４６】
従って、提供可能な所定の論理リンクについての総合帯域幅は、総合出力ストリーム６０２の可能なビットレートに対応する。総合出力ビットレートは問題の論理リンクにおける全ての既知のパス要素の現状を決定することにより推定できる。上記のように、論理リンクに対して出力ユニットに記憶された中間リンク記述子は、その論理リンクにおけるパス要素の現状を記述する。こうして中間リンク記述子が検索され、そのそれぞれは個々のパス要素の帯域幅をモニタするために使用される適当なアルゴリズムの一連の変数を有する。「トークン・バケット」、「リーキー・バケット」及び「着色メータ」等の多数の既知の帯域幅モニタリングアルゴリズムが利用可能である。
【００４７】
本発明による出力ユニット１０４ｅから出力するために受信されたパケットをスケジューリングする手順が、第１〜６節に基づいて以下に述べられる。
【００４８】
1  ＱｏＳの記述
ＱｏＳシステムを働かせるために三つの異なる基本的特性が満たさなければならない。
１．トラフィックソースのモデル
２．個々のパケットが取るパスの知識とパス特性
３．十分なキュー方法
以下に、どのようにそれらの三つの基本点がＲｅｄｄｏ  Ｒｅｖｅｌａｔｉｏｎにおいて解決されるかが説明される。
【００４９】
２  トラフィックソースモデルの取得
Reddo Revelationは、ネットワーク（クライアント対サーバ；サーバ対サーバ）における端末間の制御信号を観察することにより、トラフィックソースについての情報を収集する。
【００５０】
この制御信号発信は例えばＲＴＳＰ、ＳＩＰ、Ｈ．３２３、ＳＡＰ／ＩＧＭＰであってもよい。セッション記述プロトコル−ＳＤＰ（ＲＴＳＰ／ＳＩＰ／ＳＡＰの部分）または同等のプロトコルから情報を抽出することにより、ソースについて情報が収集される。この情報は帯域幅のように明示的に記述され、あるいは例えばセッションに使用されるコーデックタイプを解釈することにより暗示的に導き出される。このプロセスで収集された情報は、全てのトラフィックソースを記述するために使用される形式に標準化される。標準化された形式は６つのパラメータから成る。
【００５１】
１）帯域幅要件、ＣＩＲ（確約済情報レート）
２）通常モードにおけるバーストサイズ、ＣＢＳ（確約済バーストサイズ）
３）最大超過バーストサイズ、ＥＢＳ（超過バーストサイズ）
４）平均ペイロードサイズ
５）トランスポートプロトコル・オーバヘッド
６）オーディオ／ビデオタイプ・データ
これらの６つのパラメータはソースからのトラフィックを記述する。
【００５２】
３  パケットパスについての知識
Reddo Revelationはマイクロフローモデルに基づく。マイクロフローはレイヤー３（ＯＳＩモデル）転送元及び転送先アドレスの同じ組み合わせを有する全てのパケット、あるいはレイヤー３、レイヤー４アドレス及びプロトコルタイプの同じ組み合わせを有する全てのパケットにより定められる。マイクロフローが確立されたら、ルータはマイクロフローが取るパス内のパスパケットを決定する。パスは端から端までのパス全体でも、全パスの部分でもよい。それが取るパスは、ルーティングプロトコルおよびルータの外部のレイヤー２ネットワークの構造に基づいて決定される。ルータはネットワークのモデルを維持する。ネットワークモデルは、三つの特性において記述される。
【００５３】
１）ネットワーク要素がどのように互いに接続されるか
２）ネットワーク要素間のリンク速度はいくらか
３）個々の流出リンクとトラフィックタイプ（ベストエフォートおよび確約済トラフィック）に関する各ネットワーク要素についての出力バッファスペースの量
【００５４】
４  十分なキュー方法
キュー方法はいくつかの基本特性をサポートする。
１）システムはルータに接続された各加入者及び／又はネットワーク要素に対して多数の厳密な優先キューをサポートする。
２）システムは最大ライン速度を維持するためにキューグループに対するトラフィック・シェーピングを支援する。これはパケットがネットワークにおいて後で失われないようにする。
【００５５】
５  方法
種々のトラフィックソースに対するレイテンシー及び帯域幅を保証可能なシステムを実際に設計できるためには、ソースは共通の方法でモデル化されねばならない。ソースがモデルにおけるパラメータのみに影響する共通モデルを使用することにより、システムが決定論的な特性を供給できるかどうかを計算することができる。この方法に対するモデルの選択は３つの着色メータ、即ち帯域幅（ＣＩＲ−確約済情報レート）、情報に対する最大許容バースト（ＣＢＳ−確約済バーストサイズ）、過剰バーストサイズ（ＢＢＳ）に対するモデルに基づく。更に、トラフィックソースを記述する平均ペイロードサイズ、トランスポートプロトコル・オーバヘッド及びトラフィックタイプが計算に必要である。
【００５６】
このモデルはトラフィックソースとネットワーク要素の性能の両方を記述するために使用される。ネットワーク要素とリンクは、ＣＩＲをライン速度に、またＣＢＳ／ＥＢＳを出力バッファスペースに関連付けることにより、モデルに写像される。
ソースに対するこれらのパラメータを決定するために、「トラフィックソースモデル取得」の下に記述された方法が使用される。
【００５７】
これが行われたら、パラメータはライン利用を除き、同じモデルに変換されねばならない。再計算は、トランスポート、リンクヘッダサイズ及びＬ２欠陥、例えばイーサネットに対するフレームギャップ又はＡＴＭに対するセル分裂に対する補償を含む。
この後、そのモデルについての個々のマイクロフローが、ルータ及びパケットの既知のパスを通じてその特性を保証されるかどうかを決定することができる。
【００５８】
これは以下をチェックすることにより行われる。
１）ライン帯域幅≧以前の確約済の情報レート＋ＣＩＲｎｅｗｆｌｏｗ（数学的証明における命題１）。
システムにおける全ての論理及び物理リンクに対して。
２）総合ルータ出力バッファ≧前に確約済のバーストサイズ＋ＣＢＳｎｅｗｆｌｏｗ
もしパケットの分布が既知であり、あるいは多数のマイクロフローが集合されるなら、不十分な出力バッファスペースによるパケットの許容損失を計算するために統計的モデルに基づくより精巧なモデルが使用できる。妥当な数の目標は１０−６であろう。
３）Ａ／Ｖ（オーディオ・ビデオ）タイプのトラフィックに対し、ＥＢＳパラメータにより表されるプリロール（ビデオサーバはしばしばデコードバッファを急速に満たすために特別なバーストを行う）が管理される。これは動的割り当て方式で時間領域において行われる。一度のプリロールトラフィックに関する出力バッファスペースのリソース利用を予測することにより、動的割り当てが行われる。全体ルータ出力バッファはプリロールを保持するのに十分でなければならず、プリロールを空にするために十分な帯域幅がなければならない。
確約済データトラフィック（オーディオビデオではない）に対して、過剰バーストはベストエフォートトラフィックとして扱われるので、チェック３は行われない。
トラフィックの静的モデルが検証され、新しいストリームが確約される。
【００５９】
５．１  パケットダイナミックス
現実世界では、パケットは種々のソースから来て、確約済トラフィックを有するルータを供給するものもあり、確約済でないトラフィックを供給するものもある。種々のソースからの要件を満たすようにスケジューリング作業を行うために、トラフィックがソートされ、厳密な優先度で実行される。ソート順序は、バーストサイズと確約済情報レートの間の関係による（数学的証明における命題２）。ソートは、パケットがＣＢＳ（グリーンパケット）内にあるなら、このＣＢＳ／ＣＩＲ値にのみ使用されるキューに割り当てられるように行われる。最良の場合、キューの数は無限大となる（これは、背景として数学において仮定されることである）。現実の世界では、無限大は選べず、従って、キューの数は基礎をなす技術のメモリーと処理能力に限定される。これは、ほぼ同一のＣＢＳ／ＣＩＲ値を有する異なるマイクロフローに属するパケットを、共通のキューのグループにする。この近似はアプリケーションにより許容される。マイクロフローがその計画されたモデルを外れる、即ちバーストがＣＢＳ値を超える場合、超えたパケット（イエローパケット）はＥＢＳ／ＣＩＲに対応する異なるキューが割り当てられる。その確約済バースト速度を保証するこの方法は維持される。バースト速度は、もし利用可能な帯域幅がＣＩＲ、即ち我々の場合ＣＢＳ／ＣＩＲ又はＥＢＳ／ＣＩＲである場合、バーストがラインを通過するのにかかる時間として定義される。バースト速度を保証する重要性はアプリケーション自身から生じる。バーストは、例えばデコーディングの使用に関連するデータ毎にまとめられる。オーディオ・ビデオ・アプリケーションに対する関係はしばしば時間領域にある。
【００６０】
１）十分な帯域幅を有する。
ＴＢＷ＝ＣＩＲａ＋ＣＩＲｂ＋α
α＝残りの帯域幅
ＴＢＷ＝総合帯域幅
２）トラフィックが整列される。
ＣＢＳａ／ＣＩＲａ≦ＣＢＳｂ／ＣＩＲｂ
３）（ＣＢＳａ＋ＣＢＳｂ）／ＴＢＷ≦ＣＢＳｂ／ＣＩＲｂ
（ＴＢＷ＊（ＣＢＳａ＋ＣＢＳｂ））／ＴＢＷ≦（ＴＢＷ＊ＣＢＳｂ）／ＣＩＲｂ
を証明するために、
（１）式から
ＣＢＳａ＋ＣＢＳｂ≦（ＣＢＳｂ＊ＣＩＲａ）／ＣＩＲｂ＋ＣＢＳｂ＋（α＊ＣＢＳｂ）／ＣＩＲｂ
（２）式から
（ＣＢＳａ＊ＣＩＲａ）／ＣＩＲｂ＋ＣＢＳｂ≦ＣＢＳｂ＊ＣＩＲａ）／ＣＩＲｂ＋ＣＢＳｂ＋（α＊ＣＢＳｂ）／ＣＩＲｂ
即ち、
０≦（α＊ＣＢＳｂ）／ＣＩＲｂ
これは（３）を証明する。
【００６１】
（証明すべき）命題（３）は、二つのマイクロフローａとｂが同じラインで送られる場合、マイクロフローｂに対する確約済バーストは常に、あたかもそれが別個に速度ＣＩＲｂでそれ自身のラインを通じて送信されるかのように、より速く、あるいは等しい速さで（パケットの順序に関係なく）移動することを述べている。これは、（１）総合帯域幅が確約済帯域幅より大きい場合、及び、（２）マイクロフローａからのパケットがマイクロフローｂからのパケットに対して厳密な優先度で共有ライン上にスケジュールされる場合に適用される。この証明は、更なるマイクロフローが帰納法により同じ特性を保証（バースト速度保証）することを証明するために使用できる。
【００６２】
ソースがトラフィックモデルを維持することを保証するために、システムは三色メータを有する推定モデルを用いて出力のパケットをポリシングする。レッドパケットは直ちに捨てられる。グリーンカラーかイエローカラーかによって異なるキューが割り当てられる（ＣＢＳ／ＣＩＲ及びＥＤＳ／ＣＩＲキュー）。キューシステムにおけるマイクロフローの集合において、後発の（ａ  ｎｕｍｂｅｒ  ｓｅｂｓｅｑｕｅｎｔ）修正三色メータが用いられる。これは、パスにおけるネットワーク要素についての各リンク及び出力バッファスペースを表す。これは、ネットワーク要素のキューシステムがキューに挿入された全てのパケットを送ることができることを保証することである。如何にバケットを満たすかについての修正（三色メータ）は、バッファスペースへの確約済パケットアクセスを保証するように行われる。
【００６３】
６  利点
１）システムは、新しいトラフィッククラスがネットワークに導入されるときに、キューシステムの手動の再構成を必要としない。
２）システムはセッションごとに（マイクロフロー）帯域幅を動的に保証できる。
３）システムはセッションごとに（マイクロフロー）タイムリーなバースト供給を保証できる。
【００６４】
発明に関して特定の実施例を参照して述べたが、説明は発明概念を示すことのみを意図しており、発明の範囲を限定すると解釈すべきではない。種々の代案、変形及び均等物が、添付された特許請求の範囲により定められる発明の精神から逸脱することなく使用できる。
【図面の簡単な説明】
【００６５】
【図１】データを転送する例示的通信システムの模式図である。
【図２】ルータの入力及び出力部の詳細図である。
【図３】例示的外部ネットワーク構造の模式図である。
【図４】出力ユニットからの論理リンクの図である。
【図５】論理リンク記述子の簡略化された例示的データ構造である。
【図６】論理リンクにおけるパケットキューのスケジューリング方式の図解である。
【符号の説明】
【００６６】
１００  ルータ
１０４ｉ  入力ユニット
１０４ｅ  出力ユニット
２００  流入データパケット
２０２  流出データパケット
３０４  論理リンク
３０６  転送先エンドステーション
５０２  中間リンク記述子
５０４  パケットキュー
６００ａ〜６００ｃ  パケットキュー
【図１】
2006506845.tif 000003
【図２】
2006506845.tif 000004
【図３】
2006506845.tif 000005
【図４】
2006506845.tif 000006
【図５】
2006506845.tif 000007
【図６】
2006506845.tif 000008
【手続補正書】
【提出日】平成16年11月3日(2004.11.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
送信エンドステーションと受信エンドステーションとの間のルータを通じてデータパケットを転送する方法であり、
Ａ）前記送信エンドステーションからデータパケットを前記ルータにおいて受信するステップと、
Ｂ）前記受信したパケットのヘッダフィールド内の転送先アドレスを読み取るステップと、
Ｃ）前記読み取られた転送先アドレスに基づいて、前記パケットをどこに出力すべきかを考慮して出力ポートを選択するステップと、
Ｄ）前記パケットに対して必要なＱｏＳを決定するステップと
を含む方法であって、更に、
Ｅ）パケット送信における最終的な転送先アドレスとなるノードおよびリンクの論理リンクを選択するステップであって、
前記選択は、前記ルータに記憶されたネットワーク・コンポーネント・パラメータに基づき、
前記ネットワーク・コンポーネント・パラメータは、現在利用可能である帯域幅、少なくともいくつかの前記ノードおよびリンクにおけるバッファリング容量及び／又はデータのスループットを有し、
前記論理リンクは差別化されたトラフィッククラスを有する複数のパケットキューを有するステップと、
Ｆ）前記選択された論理リンクに対応する送信パス内におけるパス要素の現状を記述する、記憶された中間リンク記述子を検索するステップと、
Ｇ）前記論理リンクのパケットキューを選択し、前記選択されたキュー内のパケットをスケジューリングするステップであって、前記選択は、ステップＥ）において検索された前記中間リンク記述子に基づき、更にはステップＤ）において決定された前記必要なＱｏＳに基づいているステップと
を特徴とする方法。
【請求項２】
ステップＡ）〜Ｄ）が、前記送信エンドステーションが接続される入力ユニットにおいて実行され、ステップＦ）とＧ）が、前記受信エンドステーションが接続される出力ユニットにおいて実行されることを特徴とする請求項１に記載の方法。
【国際調査報告】
2006506845.tif 000009
2006506845.tif 000010
2006506845.tif 000011