(57)【要約】  本発明はレート・シェープ装置であって、送信されるパケットの出発時間を決定するためのパケットタイミング決定手段（１３１）と、当該決定された出発時間に従ってパケットを送信するためのパケット送信手段（１３２）とを備え、前記パケットタイミング決定手段は出発時間を、所望のデータレートおよびパケットの優先度を考慮して決定するように構成されるレート・シェープ装置を提案する。本発明は、また、対応する方法、および、ネットワークシステムであって、そのシステムにおいて第２のネットワーク要素内で、パケットが優先度に従って、フラグメント化されるネットワークシステムを提案する。【選択図】図１
2007533233.tif 000002
【特許請求の範囲】
【請求項１】
レート・シェープ装置であって、
送信されるパケットの出発時間を決定するためのパケットタイミング決定手段（１３１）と、
前記決定された出発時間に従ってパケットを送信するためのパケット送信手段（１３２）とを備え、
前記パケットタイミング決定手段は所望データレートおよびパケットの優先度を考慮することで前記出発時間を決定することを特徴とするレート・シェープ装置。
【請求項２】
前記パケットタイミング決定手段は出発時間をパケットのサイズもまた考慮することで決定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項３】
より高い優先度のパケットのパケットの出発時間がより低い優先度のパケットの出発時間より早く設定されるように、前記パケットタイミング決定手段（１３１）は前記より低い優先度を有するパケットの後に受信された前記より高い優先度を有するパケットの出発時間を決定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項４】
前に送信されたより低い優先度のパケットと、より優先度の高いパケットの間のギャップが０または実質的に０であるように、前記パケットタイミング決定手段（１３１）は前記より高い優先度のパケットの出発時間を設定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項５】
前記パケットタイミング決定手段は高優先度のパケットの後に続く同じ高優先度のパケットのための出発タイミング、前記所望のデータレートに従って調節することを特徴とする請求項４に記載のレート・シェープ装置。
【請求項６】
より高い優先度を有するパケットに最後の先行する低い優先度パケットを加えた長さと、所望のデータレートをも考慮することで、前記パケットタイミング決定手段（１３１）は、より高い優先度を有するパケットの後に送信されるより低い優先度のパケットの出発時間を決定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項７】
二つの優先度が前記パケットのために定義されることを特徴とする請求項１に記載のレート・シェープ装置。
【請求項８】
前記レート決定手段は、前記出発時間を計算に基づいて決定するか、または、前記出発時間を参照テーブルを参照して決定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項９】
請求項１〜８のいずれか１項に記載のレート・シェープ装置を備える第１のネットワーク要素と、第２のネットワーク要素と、前記第１のネットワーク要素（１）と前記第２のネットワーク要素（２）とを接続するためのリンク（３）とを備えるネットワークシステムであって、
前記第２のネットワーク要素（２）は前記第１のネットワーク要素（１）から受信したパケットをフラグメント化するためのフラグメント化手段（２１）を備え、
前記フラグメント手段は、前記受信パケットの優先度を検出し、前記パケットをフラグメント化し、パケットの優先度を考慮して前記パケット・フラグメントを適時の順番で配置することを特徴とするネットワークシステム。
【請求項１０】
さらに、ネットワークを経由してフラグメント化されたパケットを送信するためのネットワークインタフェース（２２）を備え、
前記所望データレートは前記ネットワークインタフェースによって達成可能なインタフェースレートに基づいて設定されることを特徴とする請求項９に記載のネットワークシステム。
【請求項１１】
前記第１のネットワーク要素（１）はレイヤ３ブロックを含み、前記第２のネットワーク要素（２）はレイヤ２ブロックを含むことを特徴とする請求項９に記載のネットワークシステム。
【請求項１２】
パケットのデータレートを設定するための方法であって、
送信されるパケットの出発時間を決定する段階（Ｓ２，Ｓ３，Ｓ４）と、
前記決定された出発時間に従って前記パケットを送信する段階（Ｓ５）とを備え、
前記パケットタイミング決定段階において、前記出発時間は、所望のデータレートとパケットの優先度を考慮することで決定される（Ｓ１）ことを特徴とする方法。
【請求項１３】
前記パケットタイミング決定段階は、前記出発時間を、パケットのサイズをも考慮することで決定することを特徴とする請求項１２に記載の方法。
【請求項１４】
より高い優先度を有するパケットの出発時間がより低い優先度のパケットの出発時間より早く設定されるように、前記パケットタイミング決定段階はより低い優先度のパケットの後に受信されるより高い優先度のパケットの出発時間を決定することを特徴とする請求項１２に記載の方法。
【請求項１５】
前に送信されたパケットと、より高い優先度を有するパケットの間のギャップが０または実質的に０となるように、前記パケットタイミング決定段階は前記より高い優先度のパケットの出発時間を設定することを特徴とする請求項１２に記載の方法。
【請求項１６】
前記パケットタイミング決定段階は、前記所望のデータレートに従って高優先度のパケットに引き続く同じ高優先度のパケットのための出発タイミングを調節する（Ｓ４）ことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記パケットタイミング決定段階は、より高い優先度を伴うパケットに最後の先行する低優先度パケットを加えた長さと、前記所望のデータレートをも考慮することで、より高い優先度を伴うパケットの後に送信されるより低い優先度を伴うパケットの出発時間を決定することを特徴とする請求項１２に記載の方法。
【請求項１８】
二つの優先度が前記パケットのために定義されることを特徴とする請求項１２に記載の方法。
【請求項１９】
前記レート決定段階は、計算に基づいて出発時間を決定するか、または、参照テーブルを参照することで前記出発時間を決定することを特徴とする請求項１２に記載の方法。
【請求項２０】
さらに、前記受信パケットをフラグメント化する段階と、
前記受信パケットの優先度を検出する段階と、
前記パケット・フラグメントを、前記パケットの優先度を考慮することで、適時の順番に配置する段階とを備えることを特徴とする請求項１２〜１９のいずれか１項に記載の方法。
【請求項２１】
さらに、ネットワークを経由して前記フラグメント化されたパケットを、ネットワークインタフェース（２２）を使用することで送信する段階であって、前記所望のデータレートは前記ネットワークインタフェースによって達成可能なインタフェースレートに基づいて設定される、フラグメント化されたパケット送信段階を備えることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記パケット出発時間決定段階はレイヤ３ブロックにおいて実行され、前記フラグメント化段階はレイヤ２ブロックにおいて実行されることを特徴とする請求項２０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レート・シェープ（ｒａｔｅ  ｓｈａｐｅ）装置、対応する方法、およびレート・シェープ装置とパケット・フラグメント化装置を備えるネットワークシステムに関する。
【背景技術】
【０００２】
近年のパケット指向型ネットワークは、異なるサービス品質（ＱｏＳ）の必要性と共に、アプリケーションのためのサービスの差別化を提供することが要求される。この文脈において、パケット指向型ネットワークは、例えば、ＩＰ（インターネットプロトコル）およびＭＰＬＳ（マルチプロトコルラベルスイッチング）ネットワークである。ＩＰおよびＭＰＬＳは、本願明細書においては、「レイヤ３」として述べられる。これらのプロトコルのパケット指向の性質に関心があるからである。レイヤ３におけるＱｏＳ機構（例えば、ＤｉｆｆＳｅｒｖ（差別化サービス））は、優先順位付け、およびパケットのドロップを含むことで、遅延、遅延偏差、およびロスのようなＱｏＳパラメータの点において所望の振舞いを達成する。
【０００３】
高優先度（緊急の）パケットのための遅延および遅延偏差を更に減少させるために、マルチリンクＰＰＰのためのマルチクラス・エクステンション（ＭＣＭＰ；  ＰＰＰ＝ポイント・ツー・ポイント・プロトコル）、またはＡＴＭのための差別化ＵＢＲ（Ｄｉｆｆ−ＵＢＲ；  ＵＢＲ＝無指定ビットレート、ＡＴＭ＝非同期転送モード）が追加的に利用され得る。これらのレイヤ２機構は二つのレイヤ３ノード間のレイヤ２リンクに制限される（ＩＰルータまたはＭＰＬＳ  ＬＳＲ（ラベル・スイッチング・ルータ）。それらの動作はこれらの隣接ノードのＩＰまたはＭＰＬＳレイヤへ透過的である。
【０００４】
ＡＴＭフォーラム文書，”専門委員会「ＴＭ４．１の付録：差別化ＵＢＲ」、ａｆ−ｔｍ−０１４９．０００、２０００年７月”は、ＡＴＭにおいてＩＰ  ｄｉｆｆＳｅｒｖを転送するための一つの方法である差別化ＵＢＲについて記述している。
【０００５】
フラグメント化と、あるパケットの送信を他のパケットのために一時中断する可能性を共に有するＭＣＭＰおよびＤｉｆｆ−ＵＢＲは、例えば、Ｅ１（ヨーロッパデジタル信号レベル１）またはＴ１（トランスミッションシステム１）のような低帯域幅リンクについて特に関心がある。そこでは、パケットの送信時間は、アプリケーションにとって無視できるものではないことが考えられる。例えば、１５００バイトパケットのＥ１リンク上の送信はおおよそ６ｍｓかかり、その間、そのリンクは、おそらくより高い優先度を有するその他のパケットのために使用することはできない。これは、リアルタイムアプリケーションによっては大きすぎると考えられる。
【０００６】
このように、リアルタイムアプリケーションのパケットのような高い優先度を有するパケットが遅延し得るという問題が存在する。
【０００７】
この問題は、所望のデータレートに従って後に続くパケットの間にタイムギャップを挿入することで、パケットを含むデータストリームのデータレートを調節するレート・シェーパが利用されるときに、特に深刻である。そういったレート・シェーパは、ＵＳ５，４６０，３８９において開示されている。
【０００８】
この場合、ギャップが終了するまで計算された時間を待つと、高優先度パケットは、特に大きなパケットのために計算されたギャップが長くなりうる低容量レイヤ２機能においては、高優先度パケットを必要以上に長く（おそらく極めて長すぎる）時間遅延させる。すなわち、レイヤ２機能によって優先順位付けされた高優先度パケットを十分にサポートすることができない。したがって、そういった機構の利益は有効に引き出せない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
したがって、本発明の目的は、適したレート・シェーパ・アルゴリズムを利用することで、高い優先度を有するパケットのより高速な配送を補償することである。
【課題を解決するための手段】
【００１０】
この目的は、送信されるパケットの出発時間を決定するためのパケットタイミング決定手段と、当該決定された出発時間に従ってパケットを送信するためのパケット送信手段とを備えるレート・シェープ装置であって、前記パケットタイミング決定手段は、所望のデータレートおよびパケットの優先度を考慮することで前記出発時間を決定するよう構成されるレート・シェープ装置によって解決される。
【００１１】
もう一つの方法として、この目的は、送信されるパケットの出発時間を決定する段階と、当該決定された出発時間に従ってパケットを送信する段階とを備えるパケットのデータレートを設定するための方法であって、前記パケット送信決定段階において前記送信時間は所望のデータレートおよびパケットの優先度を考慮することで決定される方法によって解決される。
【００１２】
このように、本発明に従うと、レート・シェーパ・アルゴリズムが提案され、それはパケット出発時間と、それ故、パケット出発間の時間間隔とが、パケットサイズおよびデータレートに依存するだけでなく、パケット優先度をも考慮し、計算する。
【００１３】
最大送信レートに留意しつつ、高優先度パケットのために低優先度パケットの送信を一時的に中断することが可能である。
【００１４】
したがって、より高い優先度を有するパケットのより高速な配送が補償される。
これは、フラグメント化に基づいたレイヤ２ＱｏＳ機構の利点を得ることを可能とする。
【００１５】
さらに、本発明に従ったアルゴリズムは、高優先度の、低容量リンクにおける遅延に敏感なパケットの遅延を最小にするために特に有益である。すなわち、低容量リンクにおいては、大きなパケットのための全体の送信時間は長い。このアルゴリズムが使用されない場合、大きな低優先度パケットが送信リンクを長時間に渡って占拠し、これにより、高優先度の、遅延に敏感な送信を待っているパケットための長い遅延を導くことが考えられる。
【００１６】
本発明は、また、上述のように定義されたレート・シェープ装置を備える第１のネットワーク要素と、第２のネットワーク要素と、第１のネットワーク要素と第２のネットワーク要素とを接続するためのリンクとを備えるネットワークシステムであって、第２のネットワーク要素は、第１のネットワーク要素から受信されたパケットをフラグメント化するためのフラグメント化手段を備え、フラグメント化手段は、受信パケットの優先度を検出し、パケットをフラグメント化し、適時の順番でパケット・フラグメント化をパケットの優先度を考慮して配置するように構成されるネットワーク要素を提案する。
【００１７】
更なる有利な発展は、従属請求項によって設定される。
【発明を実施するための最良の形態】
【００１８】
以下において、本発明の好ましい実施形態が、添付された図面を参照することで記述される。
まず、本発明における基本的な問題が以下に詳細に記述される。
【００１９】
ＩＰルータまたはＭＰＬＳラベル・スイッチング・ルータがＱｏＳ機構をレイヤ３上で、レイヤ２上（例えば、ＭＣＭＰまたはＤｉｆｆ−ＵＢＲ）と同様に、（例えば、差分サービス（ＤｉｆｆＳｅｒｖ）アーキテクチャ）を実行することが考えられる。ＤｉｆｆＳｅｒｖは完全なパケットについて動作し、優先度と輻輳回避のための潜在的なドロップに従うパケットスケジューリングを備える。厳密な優先度スケジューリング、重み付けスケジューリングおよび輻輳回避のための様々なアルゴリズムが使用される。
【００２０】
レイヤ２上でＭＣＭＰおよびＤｉｆｆ−ＵＢＲがレイヤ２フラグメントまたはセルにおいてレイヤ３パケットのフラグメント化を実行し、優先度に従うフラグメントスケジューリングを含む。また、ここで、厳密な優先度スケジューリング、または重み付けスケジューリング機構が利用され得る。この目的は、より低い優先度を有するパケットのフラグメントの中で高い優先度のパケットに属するフラグメントをインターリーブすることである。その結果、受信側において再組立後に変更されたパケットの順番をもたらす。順番が変更されたパケットが異なる優先度であるとき、この際順番付けは害はなく、それは全く正反対であり、まさにこの操作の目的である。この操作は、低速リンク（例えばＥ１、Ｔ１）において特に関心がある。
【００２１】
レイヤ２動作において、インタフェースの過度の引き受け（送信インタフェースのデータレートを超える）に起因するフラグメントロス（パケットロスを導く）は、避けるべきである。レイヤ２におけるフラグメント化およびフラグメントスケジューリングが二つの隣接レイヤ３ノード間で行なわれ、完全にレイヤ３に透過である（フラグメント化は、ルーチング／転送／スイッチング判断がされた後に、送信ノードによってなされ、フラグメントのパケットへの再組立は、ルーチング／転送／パケットのスイッチングの前に、受信ノードによってなされる。）
【００２２】
本発明の好ましい実施形態に従うアルゴリズムが図１に示される以下の状況に適用される。図１は、参照番号１によって記述されるレイヤ３ブロックと、参照番号２によって記述されるレイヤ２ブロックとを示す。ブロック１に到着したパケット（図１参照）はスケジューリング＆ドロッピングブロック１２へ転送される。それは、ＤｉｆｆＳｅｒｖ機能の一部である（以下、スケジューラ／ドロッパーとして述べられる）。そして、それはそのパケットをレート・シェーパ（レートリミッタ、レート・シェーピングまたはリミッティング手段としても言及される）へ転送する。レイヤ３ブロックおよびレイヤ２ブロックは、ネットワークインタフェース２２と比較して高容量を有する内部インタフェース３によって接続される。レイヤ２ブロックは、フラグメント化＆優先度スケジューリングブロック２１（フラグメンタ／スケジューラとしても言及される）を備える。それは、レイヤ２ブロックによって受信されるパケットのフラグメント化を実行する。このフラグメントはネットワークインタフェース（ＩＦ）２２へ転送される。それは、フラグメント化されたパケットを、ネットワークを経由して送信する。すなわち、内部インタフェース３がパケット全体を送信する一方で、ネットワークインタフェース２２はパケットのフラグメントを送信する。フラグメント化されたパケットがより暗い「ヘッダ」を有することで図面中において示されていることに注意されたい。
【００２３】
本発明の好ましい実施形態に従う構成及び動作について、以下により詳細に述べる。
例えば、レイヤ３のためのスケジューラ／ドロッパー（ＤｉｆｆＳｅｒｖ）、およびレイヤ２のためのフラグメンタ／スケジューラ（ＭＣＭＰ、Ｄｉｆｆ−ＵＢＲ）が、ルータの分離した機能ブロックにおいて実行される（例えば、それらは中央ユニット（レイヤ３）、および、一またはそれより多いラインカード（レイヤ３）において実行されることが考えられる）。これら二つのブロックへ接続する内部インタフェース３は、パケット／フラグメントが最後に送信される外部インタフェース２２よりはるかに高容量（データ送信速度）である。
【００２４】
このタイプのアーキテクチャにおいては、レイヤ３ブロックは、レイヤ２へのインタフェース上のデータレートをレイヤ２機能の最大容量（例えば、外部インタフェースのレイヤ２帰属インタフェース容量）を越えない値へ制限することが要求される。それにより、レイヤ２ブロックにおけるパケットロスが避けられる。この理由は、パケットドロッピング決定は、ただ一つの単一の場所およびレイヤでなされるべきであり、これは、差別化サービス、または統合サービスアーキテクチャに従ってパケットを処理するレイヤ３であるということである。レイヤ３とレイヤ２ブロックの間のインタフェース上でデータレートを制限することを、本明細書中では、「レート・シェープ」と呼ぶ。
【００２５】
その基本的な形態におけるレート・シェープでは、後に続くパケットの間にタイムインターバルを挿入することでなされる。新たなパケットが送信される前のタイムインターバルの継続期間は前のパケットの大きさ（長さ）とインタフェースレートを考慮して計算される。このアプローチはレイヤ２ブロック内でのパケット／フラグメントロスを避ける。しかし、このアプローチが本発明の特有の特徴を考慮することなく使用された場合、すなわち、タイムインターバルまたはタイムギャップがパケットの優先度を考慮することなく計算された場合、このアプローチは、常に、レイヤ２ブロックが処理するための一つの単一のパケットを持つことのみであるという欠点を有する。前のパケットの送信が終了したそのとき、新たなパケットがレイヤ３から受信される。その機能ブロック内においては決して二つのパケットが存在することはなく、それは、レイヤ２ブロックが異なるパケットに属するフラグメントの優先順位付けおよびインタリービングすることを防止する。そして、レイヤ２優先順位付けが無用なものとなる。
【００２６】
本発明の好ましい実施形態に従うアルゴリズムはこの問題を解決する。それはレイヤ２における優先順位付けを可能とし、従って、レイヤ２ＱｏＳ機構を有効に生かすことを可能とし、さらに、同時に、外部インタフェースの最大送信レートに関連する。
【００２７】
上述の問題を避けるための一つの方法は、レイヤ３とレイヤ２ＱｏＳ機能を分離せず、一つの機能ブロック、例えば、ネットワークプロセッサ、またはＡＳＩＣによって両方を実行することである。しかし、この解決法の欠点は、それは内部ルータアーキテクチャにおいて強い制限を与えることである（機能ブロックの分離は、技術的、商業的、および戦略的観点からは非常に魅力的かもしれない）。
【００２８】
本発明の好ましい実施形態に従うと、送信する後に続くパケットのタイミング、すなわち、後に続くパケット間のタイムギャップがパケットのサイズ及びインタフェースレートに基づくだけでなく、考慮されているパケットの優先度にも基づいて計算される。
【００２９】
本発明の好ましい実施形態に従ったレート・シェーパ１３（または、レートリミッタ）の基本構造を図２に示す。レート・シェーパ１３は、対応するパケットの出発時間を決定するためのパケット出発時間決定手段の例として、レート計算手段１３１を備える。上述のとおり、所望のデータレート、パケットサイズ、および現在ならびに前のパケットの優先度を考慮することにより、これは達成される。その上、レート・シェーパは、決定された出発時間に従ってパケットを送信するためのパケット送信手段１３２を備える。例えば、このパケット送信手段はバッファを備え、そのバッファ内においてパケットが一時的に格納され、そのバッファから決定された出発時間に従ってそれらが送信される。
【００３０】
図３は本発明の好ましい実施形態に従った基本的な動作を図示したものである。
図３において示された手順は、パケットが受信される度に実行される。ステップＳ１において、受信パケット（すなわち現在のパケット）の優先度が、検出され、前のパケット（すなわちすぐ前のパケット）の優先度に関連して評価される。すなわち、現在のパケットの優先度がすぐ前のパケットのものより大きいか否かを決定する。その優先度が大きくない（すなわち、より低いか、または同じ）場合、そのパケットの出発時間は前のパケットのサイズおよびインタフェースレートに基づいてステップＳ２において決定され、ステップＳ５において、そのパケットがその決定された出発時間に従って、送信される。
【００３１】
ステップＳ１において、現在のパケットの優先度がより大きい場合、現在のパケットの出発時間はステップＳ３において可能な限り早い時間に決定され、ステップＳ４において引き続くパケットのためにその時間は調節される。その後、決定されたパケット出発時間に従い、ステップＳ５において、そのパケットは送信される。
【００３２】
特に、パケット出発時間の決定は、ステップＳ１において検出された優先度に基づいて実行される。すなわち、そのパケットがより低い優先度を有する場合（即ち、ステップＳ１における「ｎｏ」）、ステップＳ２においてパケット出発時間は、前のパケットの大きさ、および所望のレート（例えば、パケットが送信されるネットワークのためのインタフェースレート）に基づいて決定される。一方で、そのパケットがより高い優先度を持っている場合（即ち、ステップＳ１における「ｙｅｓ」）、出発時間は可能な限り早い時点へ決定される。
【００３３】
例えば、これは、より低い優先度を有するパケットを送信したすぐ後に、より高い優先度を有するパケットが送信されることを意味することが考えられ、この前進的な送信は次のパケットのために考慮される。もう一つの方法として、以下で、図４を参照して詳細に説明されるように、これはより高い優先度を有するパケットより早く受信されたより低い優先度を有するパケットが実際には後で送信される。すなわち、より低い優先度を有するパケットのために、ステップＳ５がより高い優先度であって、続いて受信されるパケットのための対応するステップより後で実行されるかもしれない。
【００３４】
好ましい実施形態に従った動作は、図１および図４Ａと図４Ｂを参照することで、更に詳細に以下で述べる。
【００３５】
異なる優先度を有するパケットに属するフラグメントの差別化取り扱いを実行するために、レイヤ２はパケットの優先度を考慮する。このパケットの優先度は、レイヤ３によって知られ、それは、独自仕様の情報フィールドをパケットに追加するか、プロトコルの種類およびレイヤ３とレイヤ２ブロックの間で使用されるカプセル化に依存して適切なフィールドを使用することによってレイヤ２へシグナリングする。これは例えば、ＶＬＡＮ−Ｅｔｈｅｒｎｅｔ（ＶＬＡＮ＝仮想ローカルエリアネットワーク）ヘッダにおける優先度ビットであることが考えられる。このアプローチは、その優先度を決定するためのパケットの複数のヘッダフィールドの検査を実行するレイヤ２ブロックを有するより、ずっと効果的である。
【００３６】
図４Ａおよび４Ｂは、本発明の好ましい実施形態に従ったアルゴリズムを示す。この例においては、パケットの二つだけの優先度（ｐｒｉｏ１およびｐｒｉｏ２）が示される。しかし、任意の優先度の数もまた可能であることに注意されたい。
【００３７】
１．）初期状態において、低い優先度（ｐｉｒｏ２）を有するパケットだけがレイヤ３ブロックに存在する。
【００３８】
２．）ｔ＿Ｐ１がパケット１（Ｐ１）が送信される時点とすると、Ｐ２のためのｔ＿Ｐ２がＰ１の大きさに従って計算される（次のパケットが送信されるまで待つ時間＝現在のパケットのサイズ／インタフェースレート）。Ｐ２が送信されたとき、Ｐ３のためのｔ＿Ｐ３が計算される。
【００３９】
３．）レイヤ３ブロックからレイヤ２ブロックへのＰ２の送信の間、Ｐ２より高い優先度を有するＰ４（ｐｒｉｏ１、ここでｐｒｉｏ１＞ｐｒｉｏ２）が、レイヤ３ブロックによって受信され、その高い優先度に従って、存在する低い優先度パケットより早く送出される。
【００４０】
４．）このパケットのための出発時間ｔ＿Ｐ４は、Ｐ２のサイズに従って計算されず、それはレイヤ２ブロックへ可能な限り早く、すなわち、Ｐ２のすぐ後で送信される。すなわち、パケットＰ４の出発時間は元々計算されたパケットＰ３の出発時間ｔ＿ｐ３よりかなり早い。
【００４１】
ｐｒｉｏ２を有する次のパケットであるＰ３のための出発時間は、Ｐ４のパケットサイズを考慮することで更新される必要がある。ｔ’＿Ｐ３は次のように計算される。
t'_P3 - t_P2 = size of ( P2 + P4 ) / interface rate
【００４２】
高い優先度（ｐｒｉｏ１）を有するパケットが「通常」の出発時間に比べて前進されている（低い優先度のパケットの直後にそれを送信することで）時間は、より低い優先度（ｐｒｉｏ２）の次のパケットのためのインターバルに追加される。
【００４３】
注：Ｐ３がｐｒｉｏ１を有するパケットであった場合、またはＰ４の送信時間の間にｐｒｉｏ１を有するもう一つのパケットが出現した場合、このパケットのタイムインターバルは"size of P4 / interface rate"、すなわち、パケット間のインターバルを計算するための「通常」の方法が使用されるであろう。これは、より高い優先度を有する複数のパケットを伴う場合であっても所望のデータレートを超過することはないことを補償する。
【００４４】
５．）レイヤ３からレイヤ２へのパケット送信の最終的な順番が示される。
【００４５】
６．）レイヤ２ブロックにおいて、パケットは、ＭＣＭＰまたはＤｉｆｆ−ＵＢＲ手順に従ってフラグメント化される（これらのプロトコルによって実行される追加的なカプセル化は、この文脈においては関心がない）。これらのフラグメントは物理的なインタフェース上で送信される（インタフェースレートで）。Ｐ４がレイヤ３ブロックからレイヤ２ブロックへ、Ｐ２の直後に送信されるとき、レイヤ２ブロックはＰ２−フラグメントの送信を一時中断し、代わりにＰ４−フラグメントを送信する。その後、Ｐ２−フラグメントが再開される。
【００４６】
７．）最後に、遠端（受信端、図１に示されていない）においてパケット・フラグメントを再組立した後、完全なパケットが利用可能となる。Ｐ４のフラグメントのためのＰ２のフラグメントの送信の一時停止のため、Ｐ２およびＰ４のパケットの順番が再組立後に変更された。すなわち、より高い優先度を有するパケット（Ｐ４）がより低い優先度を有するパケット（Ｐ２）より早く利用可能となる。それは、レイヤ３ブロックにおいて最初に到着した順番と反対であり、それがレイヤ２優先順位付けの目的である。ステップ４．）における高優先度パケットの即座の送信を伴わない場合、結果として生じるパケットの再順番付けは起こらなかったであろうし、レイヤ２フラグメント化およびフラグメントの優先度スケジューリングは無用であろう。
【００４７】
この例は、提案レート・シェーパ・アルゴリズムがパケットの送信間の厳密なタイムインターバルを計算するアプローチに引き続くものではないことを示す。代わりに、それは、現在と前の優先度を考慮してインターバルを決定する。パケットが前のものより、より高い優先度を有している場合、それは、前のものが送信された直後に送信され得る。それから、レイヤ２ブロックは、より高い優先度のフラグメントのためにより低い優先度のフラグメントの送信を一時中断することができる。
【００４８】
「タイムギャップ」、または「タイムインターバル」という用語、および「パケット出発時間」という用語は同等であることに注意されたい。すなわち、「タイムインターバル」という用語は、出発時間と後に続くパケットの出発時間の間の時間期間を意味し、「タイムギャップ」という用語は、前のパケットの最後の後から始まり、後に続くパケットのパケット出発時間までの期間を意味する。
【００４９】
出発時間の計算は、二つの異なる優先度の場合のための以下の擬似コードによってもまた示される。このコードは概してＣ言語に従っていることに注意されたい。すなわち、｛と｝は、サブプロシージャを囲み、Ｔ１−−は、タイマＴ１をデクリメントすることを示し、／＊と＊／は、コメントを囲むといった具合である。先ず、二つのタイマが定義される。
【００５０】
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Ｔ１：レイヤ２ブロックにおける高優先度待ち行列のためのレイヤ３ブロックにおけるタイマを決定する。それは、外部送信インタフェース上で高優先度パケットを送信するために必要とされる時間をカウントする。Ｔ１が０まで減らされた場合、次の高優先度パケット（ＨＰＰ）が送られることが考えられる。
Ｔ２：レイヤ２ブロックにおける低優先度待ち行列のためにレイヤ３ブロックにおけるタイマを決定する。それは、外部送信インタフェース上で低優先度パケットを送信するために必要とされる時間をカウントする。Ｔ２が０まで減らされた場合、次の低優先度パケット（ＬＰＰ）が送られることが考えられる。
Ｔ２の計算は、高優先度パケットによる低優先度パケットの先取りを考慮するべきである。先取りが起きた場合、Ｔ２の値は、先取りしたＨＰＰが外部インタフェース上で送信されるために必要な時間によってインクリメントされる。
常に、T1 <= T2 であることに注意！
T1 = 0;
T2 = 0;
for every time step（バックグラウンド・クロックによって提供されるタイミング信号）
{
if T1 = 0
if ＨＰＰがレイヤ２ブロックへ送信可能
{
レイヤ２ブロックへのＨＰＰの初期送信;
t_HPP = (size(HPP) + header) / rate_IF; /*またはlook-up table を使用*/
T1 = t_HTTP;
T2 = T2 + t_HPP;
}
if T2 = 0
if LPPがレイヤ２ブロックへ送信可能
{
レイヤ２ブロックへのＬＰＰの初期送信;
t_LPP = (size(LPP) + header) / rate_IF; /*またはlook-up table を使用*/
T2 = t_LTTP;
}
if T1 > 0
T1--;
if T2 > 0
T2--;
}
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
【００５１】
上述の例において、例えば、ｔ＿ＨＰＰは、図４におけるｔ＿Ｐ４（優先度ｐｒｉｏ１を有するパケットＰ４のため）に対応し、ｔ＿ＬＰＰは、図４におけるｔ’＿Ｐ３（優先度ｐｒｉｏ２を有するパケットＰ４のため）に対応することに注意されたい。ｒａｔｅ＿ＩＦはネットワーク転送レートであり、それによってインタフェース（図１における２２）は、実際にネットワークを経由してデータを送信することができる。
【００５２】
このように、本発明の好ましい実施形態に従うと、レート・シェーパ・アルゴリズムが提案され、それはパケットの出発時間、および、従って、パケットの出発時間の間のタイムインターバルをパケットのサイズおよびデータレートに依存するだけでなく、パケット優先度を考慮して計算する。最大送信レートを考慮しつつ、高優先度パケットのために低優先度パケットの送信を一時中断することが許される。
【００５３】
これは、フラグメント化に基づくレイヤ２ＱｏＳ機構の利点を得ることを可能とする。
この解決法の利点は、分離したブロックにおいてレイヤ３とレイヤ２を実行し、それらの間に単純なインタフェースを使用することを可能とすることである。これは、パケット転送ネットワーク要素のアーキテクチャ設計において高い自由度を与え、それは、技術的に、商業的に、そして戦略的に魅力的な製品を導く。
【００５４】
本発明は、上述の実施形態に制限されず、それらは説明であり、制限的なものでないことに注意されたい。このように、多くの実施形態の変形が可能である。
【００５５】
例えば、上述の実施形態は二つの優先度レベルを利用する。しかし、この方法は、簡単により多くの優先度レベルへ拡張され得る。一番低い優先度のパケットは決して前進されず、インターリーブされない。次に高い優先度レベルのパケットは、前進され得る。そして、それらのフラグメントは最も低い優先度のフラグメントとインターリーブされ得る（しかし、同じかまたはより高い優先度のパケットのフラグメントにおいてはなされない）。最も高い優先度のパケットは常に前進される（前のパケットもまた最も高い優先度である場合を除いて）。
【００５６】
さらに、上記実施形態は、レイヤ３／レイヤ２構造を対象としている。しかし、本発明は、このアーキテクチャに限定されるものではなく、第１のネットワーク要素がデータを第２のネットワーク要素へ、より高い、第２のネットワークが処理することができるデータレートを伴い供給するときはいつでも適用され得る。特に、本発明は第２のネットワーク要素（そのネットワーク転送レートは実際にレート・シェーパにおいて設定される所望データレートを決定する）に制限されず、また、データ処理手段の他の形式も可能である。
【００５７】
さらに、上述の実施形態に従うと、レート・シェープ装置および方法はパケットの出発タイミングを、優先度、パケットのサイズ、および所望のデータレートを考慮することで決定することに注意されたい。一定のパケットサイズの場合、パケット出発時間を決定するステップは、パケットサイズが計算において一定の要素によって置き換えられうるものとして、単純化されることに注意されたい。
【図面の簡単な説明】
【００５８】
【図１】図１は、本発明の好ましい実施形態が適用され得る、レイヤ３ブロックおよびレイヤ２ブロックの基本的な構造を示す。
【図２】図２は、本発明の好ましい実施形態に従ったレート・シェーパの基本的な構造を示す。
【図３】図３は、本発明の好ましい実施形態に従う基本的な手順を説明するフローチャートを示す。
【図４Ａ】図４Ａは、本発明の好ましい実施形態に従ったアルゴリズムを制限するレートを説明するためのタイミングチャートを示す。
【図４Ｂ】図４Ｂは、本発明の好ましい実施形態に従ったアルゴリズムを制限するレートを説明するためのタイミングチャートを示す。
【図１】
2007533233.tif 000003
【図２】
2007533233.tif 000004
【図３】
2007533233.tif 000005
【図４Ａ】
2007533233.tif 000006
【図４Ｂ】
2007533233.tif 000007
【手続補正書】
【提出日】平成18年3月10日(2006.3.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
レート・シェープ装置であって、
送信されるパケットの出発時間を決定するためのパケットタイミング決定手段（１３１）と、
前記決定された出発時間に従ってパケットを送信するためのパケット送信手段（１３２）とを備え、
前記パケットタイミング決定手段は所望データレートおよびパケットの優先度を考慮することで前記出発時間を決定し、
前に送信されたより低い優先度のパケットと、より優先度の高いパケットの間のギャップが０または実質的に０であるように、前記パケットタイミング決定手段（１３１）はより高い優先度のパケットの出発時間を設定することを特徴とするレート・シェープ装置。
【請求項２】
前記パケットタイミング決定手段は出発時間をパケットのサイズもまた考慮することで決定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項３】
より高い優先度のパケットのパケットの出発時間がより低い優先度のパケットの出発時間より早く設定されるように、前記パケットタイミング決定手段（１３１）はより低い優先度を有するパケットの後に受信されたより高い優先度を有するパケットの出発時間を決定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項４】
前記パケットタイミング決定手段は高優先度のパケットの後に続く同じ高優先度のパケットのための出発タイミングを、前記所望のデータレートに従って調節することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項５】
より高い優先度を有するパケットに最後の先行する低い優先度パケットを加えた長さと、所望のデータレートをも考慮することで、前記パケットタイミング決定手段（１３１）は、より高い優先度を有するパケットの後に送信されるより低い優先度のパケットの出発時間を決定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項６】
二つの優先度が前記パケットのために定義されることを特徴とする請求項１に記載のレート・シェープ装置。
【請求項７】
前記レート決定手段は、前記出発時間を計算に基づいて決定するか、または、前記出発時間を参照テーブルを参照して決定することを特徴とする請求項１に記載のレート・シェープ装置。
【請求項８】
請求項１〜７のいずれか１項に記載のレート・シェープ装置を備える第１のネットワーク要素と、第２のネットワーク要素と、前記第１のネットワーク要素（１）と前記第２のネットワーク要素（２）とを接続するためのリンク（３）とを備えるネットワークシステムであって、
前記第２のネットワーク要素（２）は前記第１のネットワーク要素（１）から受信したパケットをフラグメント化するためのフラグメント化手段（２１）を備え、
前記フラグメント手段は、前記受信パケットの優先度を検出し、前記パケットをフラグメント化し、パケットの優先度を考慮して前記パケット・フラグメントを適時の順番で配置することを特徴とするネットワークシステム。
【請求項９】
さらに、ネットワークを経由してフラグメント化されたパケットを送信するためのネットワークインタフェース（２２）を備え、
前記所望データレートは前記ネットワークインタフェースによって達成可能なインタフェースレートに基づいて設定されることを特徴とする請求項８に記載のネットワークシステム。
【請求項１０】
前記第１のネットワーク要素（１）はレイヤ３ブロックを含み、前記第２のネットワーク要素（２）はレイヤ２ブロックを含むことを特徴とする請求項８に記載のネットワークシステム。
【請求項１１】
パケットのデータレートを設定するための方法であって、
送信されるパケットの出発時間を決定する段階（Ｓ２，Ｓ３，Ｓ４）と、
前記決定された出発時間に従って前記パケットを送信する段階（Ｓ５）とを備え、
前記パケットタイミング決定段階において、前記出発時間は、所望のデータレートとパケットの優先度を考慮することで決定され（Ｓ１）、
前に送信されたパケットと、より高い優先度を有するパケットの間のギャップが０または実質的に０となるように、前記パケットタイミング決定段階は前記より高い優先度のパケットの出発時間を設定することを特徴とする方法。
【請求項１２】
前記パケットタイミング決定段階は、前記出発時間を、パケットのサイズをも考慮することで決定することを特徴とする請求項１１に記載の方法。
【請求項１３】
より高い優先度を有するパケットの出発時間がより低い優先度のパケットの出発時間より早く設定されるように、前記パケットタイミング決定段階はより低い優先度のパケットの後に受信されるより高い優先度のパケットの出発時間を決定することを特徴とする請求項１１に記載の方法。
【請求項１４】
前記パケットタイミング決定段階は、前記所望のデータレートに従って高優先度のパケットのあとに続く同じ高優先度のパケットのための出発タイミングを調節する（Ｓ４）ことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記パケットタイミング決定段階は、より高い優先度を伴うパケットに最後の先行する低優先度パケットを加えた長さと、前記所望のデータレートをも考慮することで、より高い優先度を伴うパケットの後に送信されるより低い優先度を伴うパケットの出発時間を決定することを特徴とする請求項１１に記載の方法。
【請求項１６】
二つの優先度が前記パケットのために定義されることを特徴とする請求項１１に記載の方法。
【請求項１７】
前記レート決定段階は、計算に基づいて出発時間を決定するか、または、参照テーブルを参照することで前記出発時間を決定することを特徴とする請求項１１に記載の方法。
【請求項１８】
さらに、前記受信パケットをフラグメント化する段階と、
前記受信パケットの優先度を検出する段階と、
前記パケット・フラグメントを、前記パケットの優先度を考慮することで、適時の順番に配置する段階とを備えることを特徴とする請求項１１〜１７のいずれか１項に記載の方法。
【請求項１９】
さらに、ネットワークを経由して前記フラグメント化されたパケットを、ネットワークインタフェース（２２）を使用することで送信する段階であって、前記所望のデータレートは前記ネットワークインタフェースによって達成可能なインタフェースレートに基づいて設定される、フラグメント化されたパケット送信段階を備えることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記パケット出発時間決定段階は、レイヤ３ブロックにおいて実行され、前記フラグメント化段階はレイヤ２ブロックにおいて実行されることを特徴とする請求項１８に記載の方法。
【国際調査報告】
2007533233.tif 000008
2007533233.tif 000009
2007533233.tif 000010