(57)【要約】  ブロードバンド・アクセス・デバイスのネットワーク・デバイスにおいて、従来与えられているものに加えて中間レートを導入することにより、キューレートの細分性が改善される。例えば、第１のキューレート１０Ｍｂｐｓと第２のキューレート５Ｍｂｐｓとの間の中間レートが、トラフィック・フローに望まれる場合には、トラフィック・シェイパにおけるスキップ・インターバルは、５Ｍｂｐｓレートに従ってスキップ・インターバル値を計算するように構成され、特定のトラフィック・フローの各々のＰＤＵには、例えば５０％の確率で、さらに別のオーバーライド・インターバル計算決定が行われ、トラフィック・シェイパにおいてＰＤＵに対して計算されたスキップ・インターバル値ではなく、（１０Ｍｂｐｓに用いられる）スキップ・ゼロ・キュー・インターバルがＰＤＵに適用される。その結果、７．５Ｍｂｐｓといった中間レートが取得される。【選択図】図４
2008503127.tif 000002
【特許請求の範囲】
【請求項１】
トラフィックのスケジューリング及びシェーピングの方法であって、
ポートレートＲ１を有する論理出力ポートへの後に続く伝送のために、キューにおけるトラフィック・フローのパケット・データ・ユニット（ＰＤＵ）のデータブロックをバッファするステップと、
前記キューからＰＤＵのデータブロックをスケジューラに対して読み取るステップと、
Ｎが１と等しい又はこれより大きい整数である、レートＲ１／Ｎ及び前記ＰＤＵの長さに基づいて、前記ＰＤＵの前記データブロックのキュー・インターバルを計算するステップと、
を含み、前記キュー・インターバルが、現在のＰＤＵの後で、前記キューから次のデータブロックが読み取られる前にスキップされるタイムスロットの数を表わし、
前記計算されたキュー・インターバルを、好ましくはおよそ５０％である予め設定された確率で、短い又はゼロのキュー・インターバルにより、ランダムにオーバーライドして、レートＲ１とＲ１／Ｎとの間の有効中間キューレートを与えるステップと、
を含むことを特徴とする方法。
【請求項２】
ネットワーク・プロセッサの、先行する分類、マーキング、ポリシー形成又はトラフィック管理の段階において、５０％の確率で第１の状態をランダムに採用する、前記ＰＤＵに対するオーバーライド・インターバル・フラグを生成するステップと、
前記オーバーライド・インターバル・フラグを前記スケジューラに送給するステップと、
を含み、
前記ランダムにオーバーライドするステップが、前記スケジューラにおける前記オーバーライド・インターバル・フラグをチェックするステップと、前記オーバーライド・インターバル・フラグが前記第１の状態にある場合には、前記所定の短い又はゼロのキュー・インターバルにより、前記計算されたキュー・インターバルをオーバーライドするステップと、前記第１の状態にない場合には、前記計算されたキュー・インターバルを用いるステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
Ｒ１＝１０Ｍｂｐｓ、Ｎ＝２、Ｒ１／Ｎ＝５Ｍｂｐｓ、及び前記中間キューレートがおよそ７．５Ｍｂｐｓであることを特徴とする請求項１又は請求項２に記載の方法。
【請求項４】
トラフィックのスケジューリング及びシェーピングの方法であって、
ポートレートＲ１を有する論理出力ポートへの後に続く伝送のために、キューにおけるトラフィック・フローのパケット・データ・ユニット（ＰＤＵ）のデータブロックをバッファするステップと、
前記キューからＰＤＵのデータブロックをスケジューラに対して読み取るステップと、
ＰＤＵの長さを求め、Ｎが１と等しい又はこれより大きい整数である、レートＲ１／Ｎ及び前記ＰＤＵの長さに基づいて、前記ＰＤＵの前記第１のデータブロックのキュー・インターバルを計算するステップと、
を含み、前記キュー・インターバルが、現在のＰＤＵの後で、前記キューから次のデータブロックが読み取られる前にスキップされるタイムスロットの数を表わし、
前記ＰＤＵの後続のデータブロックを前記キューから読み取るステップと、
を含むことを特徴とする方法。
【請求項５】
トラフィックのスケジューリング及びシェーピングの方法であって、
ポートレートＲ１を有する論理出力ポートへの後に続く伝送のために、少なくとも２つのキューにおける少なくとも２つのトラフィック・フローのパケット・データ・ユニット（ＰＤＵ）のデータブロックをバッファするステップと、
少なくとも２つの動的スケジューラを前記論理出力ポートに割り当てるステップと、
別のデータブロックを前記出力ポートに送信する準備ができた時に、伝送するのに最も高い優先順位及びトラフィックを有する前記スケジューラのうちの１つを選択するステップと、
前記選択されたスケジューラのキューの組の中から次にサービスされるキューを選択するステップと、
前記選択されたキューにおいて待機している次のＰＤＵから第１のデータブロックを前記選択されたスケジューラに対して読み取るステップと、
ＰＤＵの長さを求め、Ｎが１と等しい又はこれより大きい整数である、レートＲ１／Ｎ及び前記ＰＤＵの前記所定の長さに基づいて、前記ＰＤＵの前記第１のデータブロックのキュー・インターバルを計算するステップと、
を含み、前記キュー・インターバルが、現在のＰＤＵの後で、前記同じキューから次のデータブロックが読み取られる前にスキップされるタイムスロットの数を表わし、
前記計算されたキュー・インターバルを、好ましくはおよそ５０％である予め設定された確率で、短い又はゼロのキュー・インターバルにより、ランダムにオーバーライドして、レートＲ１とＲ１／Ｎとの間の有効中間キューレートを与えるステップと、
前記ＰＤＵの後続のデータブロックを前記選択されたキューから読み取るステップと、
を含むことを特徴とする方法。
【請求項６】
ポートレートＲ１を有する論理出力ポートへの後に続く伝送のために、キューにおけるトラフィック・フローのパケット・データ・ユニット（ＰＤＵ）のデータブロックをバッファするための手段と、
前記キューからＰＤＵのデータブロックをスケジューラに対して読み取るための手段と、
Ｎが１と等しい又はこれより大きい整数である、レートＲ１／Ｎ及び前記ＰＤＵの長さに基づいて、前記ＰＤＵの前記データブロックのキュー・インターバルを計算するための手段と、
を含み、前記キュー・インターバルが、現在のＰＤＵの後で、前記同じキューから次のデータブロックが読み取られる前にスキップされるタイムスロットの数を表わし、
前記計算されたキュー・インターバルを、５０％の確率で、短い又はゼロのキュー・インターバルにより、ランダムにオーバーライドして、レートＲ１とＲ１／Ｎとの間の有効中間キューレートを与えるための手段と、
を含むことを特徴とするネットワーク・デバイス。
【請求項７】
前記ネットワーク・プロセッサの、先行する分類、マーキング、ポリシー形成又はトラフィック管理の段階において、好ましくはおよそ５０％である予め設定された確率でランダムに第１の状態を採用する、前記ＰＤＵに対するオーバーライド・インターバル・フラグを生成するための手段と、
前記オーバーライド・インターバル・フラグを前記スケジューラに送給するための手段と、
を含み、
前記オーバーライドするための手段が、前記スケジューラにおける前記オーバーライド・インターバル・フラグをチェックするための手段と、前記オーバーライド・インターバル・フラグが前記第１の状態にある場合には、前記所定の短い又はゼロのキュー・インターバルにより、前記計算されたキュー・インターバルをオーバーライドするための手段と、前記第１の状態にない場合には、前記計算されたキュー・インターバルを用いるための手段とをさらに含むことを特徴とする請求項６に記載のネットワーク・デバイス。
【請求項８】
Ｒ１＝１０Ｍｂｐｓ、Ｎ＝２、Ｒ１／Ｎ＝５Ｍｂｐｓ、及び前記中間キューレートがおよそ７．５Ｍｂｐｓであることを特徴とする請求項６又は請求項７に記載のネットワーク・デバイス。
【請求項９】
ポートレートＲ１を有する論理出力ポートへの後に続く伝送のために、少なくとも２つのキューにおける少なくとも２つのトラフィック・フローのパケット・データ・ユニット（ＰＤＵ）のデータブロックをバッファする少なくとも２つのキュー・バッファと、
前記キューの少なくとも１つが各々のスケジューラに割り当てられる少なくとも２つのスケジューラと、
別のデータブロックを前記出力ポートに送信する準備ができた時に、伝送するのに最も高い優先順位及びトラフィックを有する前記スケジューラのうちの１つを選択する主スケジューリング制御部と、
を含み、
前記選択されたスケジューラが、前記スケジューラに割り当てられた前記少なくとも１つのキューの中から次にサービスされるキューを選択し、前記選択されたキューにおいて待機している次のＰＤＵのデータブロックを読み取るように構成された、
ことを特徴とする請求項６から請求項８までのいずれか一項に記載のネットワーク・デバイス。
【請求項１０】
第１のサービス品質（ＱｏＳ）形式のトラフィックのための第１のキューと、
第２のＱｏＳ形式のトラフィック及び第１のサービスクラス（ＣｏＳ）形式のトラフィックのための第２のキューと、
第３のＱｏＳ形式のトラフィック及び第２のＣｏＳ形式のトラフィックのための第３のキューと、
第４のＱｏＳ形式のトラフィックのための第４のキューと、
第５のＱｏＳ形式のトラフィック及び第３のＣｏＳ形式のトラフィックのための第５のキューと、
前記第１及び第２のキューのための第１の動的スケジューラと、
前記第３のキューのための第２の動的スケジューラと、
前記第４及び第５のキューのための先入れ先出し（ＦＩＦＯ）スケジューラと、
を含むことを特徴とする請求項９に記載のネットワーク・デバイス。
【請求項１１】
前記第１のＱｏＳ形式のトラフィックが、固定ビットレート（ＣＢＲ）形式のトラフィックを含み、
前記第２のＱｏＳ形式のトラフィックが、可変ビットレートリアルタイム（ＶＢＲ−ｒｔ）形式のトラフィックを含み、
前記第３のＱｏＳ形式のトラフィックが、タグなしの可変ビットレート非リアルタイム（ＶＢＲ−ｎｒｔ）形式のトラフィックを含み、
前記第４のＱｏＳ形式のトラフィックが、タグありの可変ビットレート非リアルタイム（ＶＢＲ−ｎｒｔ）形式のトラフィックを含み、
前記第５のＱｏＳ形式のトラフィックが、不特定ビットレート（ＵＢＲ）形式のトラフィックを含む、
ことを特徴とする請求項１０に記載のネットワーク・デバイス。
【請求項１２】
前記第１のＣｏＳ形式のトラフィックが、優先転送（ＥＦ）形式のトラフィックを含み、
前記第２のＣｏＳ形式のトラフィックが、確定転送（ＡＦ）形式のトラフィックを含み、
前記第３のＣｏＳ形式のトラフィックが、デフォルト転送（ＤＦ）形式のトラフィックを含む、
ことを特徴とする請求項１０又は請求項１１に記載のネットワーク・プロセッサ。
【請求項１３】
ポートレートＲ１を有する論理出力ポートへの後に続く伝送のために、少なくとも２つのキューにおける少なくとも２つのトラフィック・フローのパケット・データ・ユニット（ＰＤＵ）のデータブロックをバッファする少なくとも２つのキュー・バッファと、
前記キューの少なくとも１つが各々のスケジューラに割り当てられる少なくとも２つのスケジューラと、
別のデータブロックを前記出力ポートに送信する準備ができた時に、伝送するのに最も高い優先順位及びトラフィックを有する前記スケジューラのうちの１つを選択する主スケジューリング制御部と、
を含み、
前記選択されたスケジューラが、前記スケジューラに割り当てられた前記少なくとも１つのキューの中から次にサービスされるキューを選択し、前記選択されたキューにおいて待機している次のＰＤＵのデータブロックを読み取るように構成されており、
Ｎが１と等しい又はこれより大きい整数である、レートＲ１／Ｎ及び前記ＰＤＵの長さに基づいて、前記ＰＤＵの前記第１のデータブロックを計算するための手段と、
を含み、前記キュー・インターバルが、現在のＰＤＵの後で、前記キューから次のデータブロックが読み取られる前にスキップされるタイムスロットの数を表わし、
前記計算されたキュー・インターバルを、好ましくはおよそ５０％である予め設定された確率で、短い又はゼロのキュー・インターバルにより、ランダムにオーバーライドして、レートＲ１とＲ１／Ｎとの間の有効中間キューレートを与えるためのオーバーライド手段と、
を含むことを特徴とするネットワーク・デバイス。
【請求項１４】
第１のサービス品質（ＱｏＳ）形式のトラフィックのための第１のキューと、
第２のＱｏＳ形式のトラフィック及び第１のサービスクラス（ＣｏＳ）形式のトラフィックのための第２のキューと、
第３のＱｏＳ形式のトラフィック及び第２のＣｏＳ形式のトラフィックのための第３のキューと、
第４のＱｏＳ形式のトラフィックのための第４のキューと、
第５のＱｏＳ形式のトラフィック及び第３のＣｏＳ形式のトラフィックのための第５のキューと、
前記第１及び第２のキューのための第１の動的スケジューラと、
前記第３のキューのための第２の動的スケジューラと、
前記第４及び第５のキューのための先入れ先出し（ＦＩＦＯ）スケジューラと、
を含むことを特徴とする請求項１３に記載のネットワーク・デバイス。
【請求項１５】
前記第１のＱｏＳ形式のトラフィックが、固定ビットレート（ＣＢＲ）形式のトラフィックを含み、
前記第２のＱｏＳ形式のトラフィックが、可変ビットレートリアルタイム（ＶＢＲ−ｒｔ）形式のトラフィックを含み、
前記第３のＱｏＳ形式のトラフィックが、タグなしの可変ビットレート非リアルタイム（ＶＢＲ−ｎｒｔ）形式のトラフィックを含み、
前記第４のＱｏＳ形式のトラフィックが、タグありの可変ビットレート非リアルタイム（ＶＢＲ−ｎｒｔ）形式のトラフィックを含み、
前記第５のＱｏＳ形式のトラフィックが、不特定ビットレート（ＵＢＲ）形式のトラフィックを含む、
ことを特徴とする請求項１４に記載のネットワーク・デバイス。
【請求項１６】
前記第１のＣｏＳ形式のトラフィックが、優先転送（ＥＦ）形式のトラフィックを含み、
前記第２のＣｏＳ形式のトラフィックが、確定転送（ＡＦ）形式のトラフィックを含み、
前記第３のＣｏＳ形式のトラフィックが、デフォルト転送（ＤＦ）形式のトラフィックを含む、
ことを特徴とする請求項１４又は請求項１５に記載のネットワーク・プロセッサ。
【請求項１７】
前記計算するする手段が、前記スケジューラの少なくとも１つに与えられており、
前記キューレート対前記ポートレートのために備えられた有効帯域幅に基づいて、ベース・インターバルを計算するための手段と、
前記ベース・インターバル及び前記ＰＤＵ長に基づいて、前記キュー・インターバルを計算するためのビット桁送り手段と、
をさらに含むことを特徴とする請求項１４から請求項１６までのいずれか一項に記載のネットワーク・デバイス。
【請求項１８】
前記計算されたキュー・インターバルを、５０％の確率で、短い又はゼロのキュー・インターバルにより、ランダムにオーバーライドして、レートＲ１とＲ１／Ｎとの間の有効中間キューレートを与えるための手段、
を含むことを特徴とする請求項１４から請求項１７までのいずれか一項に記載のネットワーク・デバイス。
【請求項１９】
請求項６から請求項１８までのいずれか一項に記載のネットワーク・デバイスを含むことを特徴とするデジタル加入者回線アクセス・マルチプレクサ。
【請求項２０】
プロセッサで実行された時、請求項１から請求項６までのいずれか一項に記載のステップを実行するコンピュータ可読プログラム・コードを含むことを特徴とするプログラム製品。
【請求項２１】
プロセッサで実行された時、請求項１から請求項６までのいずれか１項に記載のステップを実行するプログラム・コードを含むことを特徴とするコンピュータ可読データ・キャリア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロードバンド・アクセス・システムに関し、具体的には、ＤＳＬ（デジタル加入者回線）アクセス・システムのためのネットワーク・デバイスに関する。
【背景技術】
【０００２】
現在のところ、家庭向けの主要なブロードバンド・サービスは高速インターネット・アクセスであり、家庭用コンピュータを「常時接続」家電に発展させた。公衆電話回線ネットワークは、通常、例えば５６ｋｂｐｓのレートでデータを伝送するモデムを活用する。公衆電話回線ネットワークでは、モデムは、電話が音声を伝送するレートと同じ周波数範囲の約４００Ｈｚから４ｋＨｚを使用する。しかしながら、加入者回線といった、交換センタとユーザとの間の回線は０から４ｋＨｚよりかなり高い周波数を使用できるので、より多くのデータを伝送することができる。この４ｋＨｚの限界は、基幹ネットワークに供給される信号からの付加的な周波数をフィルタ処理する、交換センタに配置されたフィルタのためである。実際は、通常、銅のツイストペア製の加入者回線では、高さ数ＭＨｚまでの周波数を伝送することができる。
【０００３】
ＤＳＬ（デジタル加入者回線）は、通常の銅製電話回線上で広帯域幅の情報を、例として家庭及びスモール・ビジネスにもたらす技術である。デジタル加入者回線は、デジタル・データをアナログ形式に変換する必要がない、及びそれを戻す必要もない技術である。デジタル・データはデジタル・データとして直接加入者に伝送され、このことが、データを伝送するために、従来の電話回線システムにおけるより大幅に広い帯域幅を用いることを可能にする。ＡＤＳＬ（非対称ＤＳＬ）、ＳＨＤＳＬ（シングルペア高速ＤＳＬ）、及びＶＤＳＬ（超高速デジタル加入者回線）といったいくつかのＤＳＬインターフェースを使用することができる。
【０００４】
ｘＤＳＬシステムの一例が、図１に示される。自宅にある又はネットワーク・サービスを使用する顧客により制御される（ルータ、モデム、又はネットワーク・インターフェース・カード、ＮＩＣといった）加入者のエンド・ユーザ機器１は、多くの場合、顧客宅内機器、ＣＰＥと呼ばれる。ネットワーク側では、中央局スプリッタの高集中、ｘＤＳＬモデム、及びトラフィックをデータ・ネットワークに接続する他の電子機器を含むことができる多重化機器２は、多くの場合、デジタル加入者回線アクセス・マルチプレクサ、ＤＳＬＡＭと呼ばれる。ＤＳＬＡＭは、既存の銅製電話回線と比較して非常に高速のデータ伝送を行い、ＣＰＥと、ＡＴＭ／ＩＰネットワークといったネットワーク・サービス・プロバイダのネットワークとの間のデジタル加入者回線（ｘＤＳＬ）トラフィックを制御及びルートする。
【０００５】
ＤＳＬオペレータへの課題の１つは、ブロードバンド・サービスに適した展開モデルを選択して展開することである。現在のところ、オペレータは異なるモデルを選択しており、少数のオペレータはＡＴＭ上でポイント・トゥー・ポイント・プロトコル（ＰＰＰ）を使用し、ルート１４８３を使用する者もおり、そしてオペレータの大多数は、イーサネット（登録商標）又はブリッジ１４８３上でＰＰＰを使用している。オペレータは、展開モデルを選択するのに異なる基準を有する。彼らの選択は、例えば、必要とされるパブリックＩＰアドレスの数、ＣＰＥ又はＣＰＥ設備の価格及び卸売モデルに基づくとすることができる。今日の主要な基準は、アクセス・ネットワークで使用するＬａｙｅｒ２技術である。
【０００６】
標準は、ＡＴＭが物理ＡＤＳＬ層の上部の移送層で使用されるように指定する。ＡＴＭがネットワーク側でも使用された場合には、ＤＳＬ加入者からの接続は容易に確立されて、ＡＴＭ  ＰＶＣ（相手固定接続）を用いて切り換えられることができ、ＩＰレベルの情報を必要としない。ＡＴＭアクセス・ネットワークは、基本的に、全ての展開モデルをサポートするが、必要のない間接費を生み、管理が困難であり、ＡＴＭが存在する場合にはイーサネット（登録商標）をベースとするアクセス・ネットワークは、展開モデルをサポートできない。イーサネット・ネットワークでは、従来のＡＴＭ交換モデルをパケット交換に置き換える必要があり、選択された展開モデルに応じて、イーサネット層（層２）上又はＩＰ層（層３）上で実行することができる。
【０００７】
両方のアクセス技術は制限並びに利点を有して、全可能性をサポートすることは、ＤＳＬＡＭに対する必要条件をさらにもたらす。ＤＳＬＡＭは、ＡＴＭ及びＩＰインターフェースからの同時供給をサポートしなくてはならず、同時に、ＱｏＳ（ＡＴＭ）及びＣｏＳ（ＩＰ）両方の接続及びフローに対して、必要とされるサービス・レベルを同時に提供すべきである。ＡＴＭ  ＱｏＳ（サービス品質）は、固定ビットレート（ＣＢＲ）、リアルタイム可変ビットレート（ＶＢＲ−ｒｔ）、及び非リアルタイム可変ビットレート（ＶＢＲ−ｎｒｔ）といった複数のサービスクラスを管理しながら、サービス・プロバイダが使用可能な帯域幅を十分に活用できるようにする。ＩＰ  ＣｏＳは、ＩＰフローをいかに管理するかといった規則を提供する。典型的なＩＰサービスクラスのクラスは、優先転送（ＥＦ）、確定転送（ＡＦ）、及びデフォルト転送（ＤＦ）を含む。
【０００８】
ＤＳＬＡＭを具現する１つの手法を図２に説明する。パケット及びセルＡＴＭ及びＩＰトラフィック・フローがＤＳＬＡＭに入ると、これらは分類及びマーキング、ポリシー形成、キュー、スケジューリング及びシェーピングといった４つの主要なステップを通って、支持する情報又はサービスの種類に関して適切に取り扱われることを保証する。これらの動作は、融通性のあるプログラミング環境をもつワイア・スピード性能を提供することができ、かつ多数の異なる通信プロトコルを同時にサポートするネットワーク・プロセッサを用いて実行することができる。１つのそのようなプロセッサは、Ａｇｅｒｅ  Ｓｙｓｔｅｍｓ社のＰａｙｌｏａｄＰｌｕｓトラフィック管理ネットワーク・プロセッサである。ＤＳＬＡＭアプリケーションでは、ネットワーク・プロセッサは、集中スイッチとして機能するように構成することができ、各々が多数のポートをもつ複数のＤＳＬライン・カードを供給することができる。内部ロジックは、ネットワーク・プロセッサのスケジューリング機能の高度な制御、即ちトラフィック・マネジャ（ＴＭ）及びトラフィック・シェイパ（ＴＳ）算出エンジン（ＣＥ）を提供する。ネットワーク・プロセッサ内のＴＭ算出エンジン（ＣＥ）は、縮小化及び最適化されたＣ命令セットを通じて、バッファ管理ポリシーを含む、十分にプログラム可能なトラフィック管理能力を与える。バッファ管理ポリシーを強化するために、短いスクリプトが、バッファ管理―処理エンジン上で実行される。トラフィック管理スクリプトは、スケジュールされるトラフィックを廃棄するか又は許容するかを判断する。この決定は、ユーザがプログラムした廃棄ポリシーに基づく。さらに、ネットワーク・プロセッサは、多数のスケジューリング・アルゴリズムを用いてセル及びフレーム・ベースのトラフィックをスケジュールする機能を有する。そのプロセッサの設定、トラフック・シェイパ（ＴＳ）算出エンジン（ＣＥ）、及びプログラム可能なキュー定義がトラフィックのシェーピングを定義する。例えば、従来のＡＴＭ固定ビットレート（ＣＢＲ）、可変ビットレート（ＶＢＲ）、及び不特定ビットレート（ＵＢＲ）のスケジューラは、ネットワーク・プロセッサでプログラム可能である。トラフィック・シェイパ算出エンジンは、スケジューリング・イベント毎に定義されたプログラムを実行する。トラフィック・シェイパはまた、重み付けラウンドロビンといったアルゴリズムを用いたフレーム・ベースのトラフィック、二重漏洩バケット・アルゴリズムを用いた可変ビットレートセル・ベースのトラフィック、及び各キューのレートクレジットをトラックすることによる、フレーム・ベースの滑らかな欠損−重み付けラウンド・ロビン・スケジューリングのためのキュー選択のサービスクラスをサポートするのにも使用することができる。
【０００９】
トラフィック・シェイパ・コンピュータ・エンジンには、（例えばｘＤＳＬポートにマップされた）各々の論理出力ポートに対して、いくつかのキューとトラフィック・シェーピング・スケジューラがある。キューから論理出力ポートへのセル又はブロックの伝送は、いわゆる主スケジューリング・タイム・ホイール原理に基づいてスケジュールされる。論理出力ポートは、例として１０Ｍｂｐｓといった所定のポートレートを有する。ＱｏＳ（ＡＴＭ）及び／又はＣｏＳ（ＩＰ）接続及びフローは、そのポートレートを共有する。この目的のために、キュー・インターバルは各々のキューに対して動的に求められる。キュー・インターバルは、次のブロック又はセルが特定キューから伝送される前にスキップされる主スケジューリング・タイムスロットの数を定義する。スキップされるタイムスロットの数がゼロである場合には、キューが空でない限り、次のブロックも同じキューから伝送される。これは、キューレートが１０Ｍｂｐｓであることを意味する。スキップされるタイムスロットの数が１である場合には、トラフィック・シェイパＣＥは、次いで、再び第１のキューから伝送する前に、次に最優先される別のキューから伝送する。これは、キューレートが５Ｍｂｐｓであることを意味する。同様に、スキップされるタイムスロットの数が２又は３である場合には、キューレート３．３３Ｍｂｐｓ又は２．５Ｍｂｐｓがそれぞれ取得される。
【００１０】
この手法の問題は、汎用ＱｏＳ／ＣｏＳトラフィック・シェーピングを用いた時のＱｏＳプロビジョニングにおける細分性の不足である。１０Ｍｂｐｓポートでは、キューレートとして１０、５、３．３、２．５、２、１．７、１．３及び１Ｍｂｐｓしか取得できない。また、スケジューリング・パラメータにおいては、かなりの待ち時間が容易に潜在的に存在するため、ＱｏＳプロビジョニングはあまり精密ではない。さらには、非常に限られたスクリプト記述インターフェースのために、ＡＴＭとパケット・データ・トラフィックの混合を可能にするには精巧なスクリプト記述を要する。トラフィック・スケジューラは、各々のブロックで実行されるプログラム可能スクリプトを介して制御される。Ａｇｅｒｅ社のネットワーク・プロセッサでは、これは、スクリプトが２２クロック周期（ＲＳＰグローバル・パルス）以内で実行されなくてはならないことを意味し、アルゴリズムに課すことができる複雑性を大幅に制限する。
【発明の開示】
【００１１】
本発明の目的は、上述の問題の少なくとも１つを軽減又は克服する、強化されたスケジューリング及びトラフィックのシェーピングである。
【００１２】
本発明の主要な態様は、添付の独立クレームに開示される。本発明のさらに別の実施形態は、従属クレームに開示される。
【００１３】
本発明の態様によれば、従来与えられているものに加えて中間レートを導入することにより、キューレートの細分性が改善される。相対的に高い第１のキューレート（例えば１０Ｍｂｐｓ）と第２の低いキューレート（例えば５Ｍｂｐｓ）との間の中間レートがトラフィック・フローに望まれる時、トラフィック・シェイパにおけるスキップ・インターバルは、第２の低いレート（例えば５Ｍｂｐｓ）に従ってスキップ・インターバル値を計算するように構成される。これは通常は、第２レート（５Ｍｂｐｓ）に等しいキューレートをもたらす。しかし本発明の実施形態によれば、特定のトラフィック・フローの各々のＰＤＵには、好ましくはおよそ５０％の確率の予め設定された確率によるさらに別のオーバーライド・インターバル計算決定が行われて、ＰＤＵは、トラフィック・シェイパで計算されたスキップ・インターバル値ではなく、スキップ・ゼロのキュー・インターバルが適用される。
【００１４】
本発明の別の態様によれば、従来技術で直面された待ち時間及びタイミングの問題が軽減されるので、（ブロックの数により）ＰＤＵの長さが求められ、キュー・インターバルが計算され、インターバル・レジスタに書き込まれ、ＰＤＵの第１ブロックは既にキューから読み取られている。結果として、ＰＤＵの最後のブロックがキューから読み取られて送信される前に、レジスタのインターバル設定が（内在する待ち時間の後で）有効になる。
【００１５】
これらの態様は、ＱｏＳトラフィック及びＣｏＳトラフィックの両方に適用でき、ポート毎に、５つの異なるＡＴＭ  ＱｏＳトラフィックの形式と３つの異なるパケットＣｏＳトラフィックの形式を、全て同時に優先化しスケジュールすることを可能にする。
【発明を実施するための最良の形態】
【００１６】
本発明は、以下に、好ましい実施形態と関連して、添付の図面を参照して、より詳細に説明される。
【００１７】
本発明の使用がＤＳＬアクセス・システムと関連して以下に説明されるが、これは、他のアクセス及び通信システムにおける本発明の適用を制限するものではない。
【００１８】
図２に示す機能ブロックは、多くの代替的な方法で、ネットワーク・プロセッサの異なる部品間に配分することができる。例えば、Ａｇｅｒｅ  Ｐａｙｌｏａｄ  Ｐｌｕｓ  Ｎｅｔｗｏｒｋプロセッサは、３つの主要ユニットであるＦａｓｔ  Ｐａｔｔｅｒｎ  Ｐｒｏｃｅｓｓｏｒ（ＦＰＰ）、  Ａｇｅｒｅ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ（ＡＳＩ）、及びルーティング・スイッチ・プロセッサ（ＲＳＰ）を含むことができる。例えば、分類、マーキング及びポリシー形成２１は、ＦＰＰ及び／又はＡＳＩ内に配置することができ、トラフィック管理２２、キュー２３、トラフィック・シェーピング２４、及びストリーム編集２５は、ＲＳＰ内に配置することができる。
【００１９】
一般に、分類はＰＤＵを識別し、ポリシー形成は適合性を保証し、スケジューリングはキューの適切なサービスを提供して、トラフィックが、分類の優先順位に関して適切な方法で、ネットワークに提示されることができるようにする。接続ベースのプロトコルとしてのＡＴＭは、ＩＰといったパケット・ベースのプロトコルとは異なるので、トラフィック管理もまた、プロトコルに応じて異なる。ＡＴＭ  ＱｏＳにおいては厳密な性能値が保証できるのに対し、ＩＰ  ＣｏＳはパケットの相対的な優先順位の指定のみを可能にする。特定の優先順位のパケットに対して、異なるドロップ優位を特定する備えはない。
【００２０】
本発明の好ましい実施形態は、４つのＡＴＭサービス品質のクラス（即ちＣＢＲ、ｒｔ−ＶＢＲ、ｎｒｔ−ＶＢＲ、及びＵＢＲ）、及び３つのＩＰサービスクラスのクラス（即ちＥＦ、ＡＦ、及びＤＦ）をサポートする。例えば、ＡＴＭにおけるＣＢＲを必要とするサービスは、それがＩＰフローである場合にはＥＦを必要とする。本発明の好ましい実施形態では、トラフィックがＡＴＭであるか又はＩＰであるかにかかわらず、トラフィック・パラメータ及び優先順位レベルに関して取り扱われ、このように、プロトコルにかかわらず、同じレベルのサービス品質を提供することを試みる。
【００２１】
トラフィックのポリシー形成は、アクティブなプロセスが、トラフィック契約において具現された規則を監視し、施行することを意味する。ポリシー形成プロセスは、ＡＴＭ及びＩＰトラフィックの両方に対して、同じ方法で実施することができる。入ってくるパケットは、レート及び優先順位を記述する識別子でマークされている。トラフィックのポリシー形成は、ネットワークにサブミットされたトラフィックが、接続のために設定されたトラフィック記述子を超えないことを保証する。トラフィックのポリシー形成は、例えば、セルに対してはＧｅｎｅｒｉｃ  Ｃｅｌｌ  Ｒａｔｅ  Ａｌｇｏｒｉｔｈｍ（ＧＣＲＡ）、又パケットに対してはＴｒＴＣＭに基づいて、内部使用のためにＰＤＵをマークする。
【００２２】
トラフィック管理算出エンジン２２では、ＰＤＵは、ポリシー形成結果（マーキング）及び宛先キューの完全性の程度に基づいて、キューに入れられる又は廃棄される。ＰＤＵが廃棄されない場合には、ＰＤＵはスケジューリングのために適切なキュー２３に加えられる。適切なキュー２３は、分類及びポリシー形成段階２１から取得された情報に基づいて判断される。キュー２３は、ＰＤＵを異なる方向で処理するように、すなわち、異なるサービス品質（ＱｏＳ）及びサービスクラス（ＣｏＳ）キューを具現するようにプログラムされる。
【００２３】
図３は、本発明の実施形態によるルーティング・スイッチ・プロセッサＲＳＰのスケジューリング・コンポーネントの一例を示す。ＲＳＰ出力ポート３３は、トラフィックを伝送するための物理的インターフェースである。ＲＳＰ出力ポート３３は、例えば、加入者接続に対するｘＤＳＬインターフェースとすることができる。ポート・マネジャ（ＰＭ）３２は、１つ又はそれ以上の論理ポート３４のためのレートを定義する。図３の例では、５つのポート・マネジャ３２と、各ＲＳＰユニットＲＳＰ１からＲＳＰ４までにおいて、それぞれのポート・マネジャ・ブロックがある。論理ポート３４は、個々のトラフィック・フローのための接続を定義する。各々の論理ポート３４は、スケジューラのテーブルを用いて構成される。各々のスケジューラ３５、３６及び３７は、トラフィックの特定の形式をサポートする。図３では、３つのスケジューラ、第１の動的スケジューラ３５、第２の動的スケジューラ３６、及び先入れ先出し（ＦＩＦＯ）スケジューラ３７が設定される。各々のスケジューラは、キューのテーブルを含む。第１及び第２の動的（ＶＢＲ）スケジューラ３５及び３６、さらにＦＩＦＯスケジューラ３７については、キューのテーブルは、キューにタイムスロットを割り当てるためのタイムスロット・テーブルとすることができる。第１及び第２の動的スケジューラ３５及び３６は、トラフィック特性及びＲＳＰ状態を含むことができるトラフィック・シェイパ算出エンジン２４のスクリプト・プログラムに基づいて、タイムスロットを動的に割り当てる。ＵＢＲトラフィックといったシェーピングを必要としないトラフィックは、ＦＩＦＯスケジューラ３７を用いてスケジュールされる。
【００２４】
図３の例では、５つのキューがＱｏＳ及びＣｏＳ形式のデータ・フローのために構成される。キューＩＤ、ＱＩＤ１をもつ第１のキューは、ＣＢＲトラフィック・フローのために構成される。第２のキュー、ＱＩＤ２は、ＶＢＲｒｔ及びＥＦトラフィック・フローのために構成される。第３のキュー、ＱＩＤ３は、タグなしのＶＢＲｎｒｔトラフィック・フロー及びＡＦ４１トラフィック・フローのために構成される。第４のキュー、ＱＩＤ４は、タグありのＶＢＲｎｒｔのトラフィック・フローのために構成される。第５のキュー、ＱＩＤ５は、ＵＢＲ及びＤＦトラフィック・フローのために構成される。
【００２５】
キューＱＩＤ１及びＱＩＤ２は、第１の動的スケジューラ３５に割り当てられ、キューＱＩＤ３は第２の動的スケジューラ３６に割り当てられ、キューＱＩＤ４及びＱＩＤ５はＦＩＦＯスケジューラ３７に割り当てられる。
【００２６】
ここに説明される例では、動的スケジューリングの基本的な機能は、キュー、６４／４８バイトのデータブロック、タイムスロット・テーブル、キュー・インターバル・エレメントを経由して、主スケジューリング・タイム・ホイールにより実行される。６４又は４８バイトの１データブロックは、１つのタイムスロットで論理ポートに伝送される。従って、キュー内のＰＤＵは、６４又は４８バイトのブロックにおいてスケジュールされる。ＲＳＰが別のブロックを伝送する準備ができる度に、グローバルレートクロックが作動し、即ち、タイムスロット構成を定義する。ＲＳＰがデータのブロックを送信する準備ができる度に、スケジューリング・プロセスは、ポート・マネジャ３２の選択から始まり、論理ポート３４の選択が続く。次いで、スケジューラ３５、３６、又は３７の選択が実行される。通常、スケジューラは選択されるのに優先的な順序を有する。ここに説明する例では、第１の動的スケジューラ３５は優先度が最も高く、ＦＩＦＯスケジューラ３７は優先度が最も低い。最後に、スケジューラ３５から３７までは、タイムスロットがそれぞれのスケジューラのキューにどのように割り当てられるかを定義するタイムスロット・テーブルを有する。
【００２７】
キュー・インターバルは各々のキューに対して動的に求められる。キュー・インターバルは、特定キューから次のブロック又はセルが伝送される前にスキップされる、主要スケジューリング・タイムスロットの数を定義する。従って、インターバルは、キューのデータレートと関連する。インターバル値ゼロは、スキップするタイムスロットの数がゼロであること、さらに、キューが空でない限り、次のタイムスロットで、ブロックが同じキューから伝送されることを意味する。このことは、ＰＤＵサイズが１ブロック又はそれより小さい場合には、論理ポートレートに関する帯域幅１００％をもたらす。同様に、インターバル値１は、第１のキューから再び伝送する前に、１タイムスロットをスキップし、別のキューから次に伝送されるトラフィック・シェイパＣＥ２４が次に高い優先順位を有することを意味する。このことは、ポートレートの５０％のレートをもたらす。原則として、レートは基本公式ｙ＝１／２xに対応し、ここでｙはレートであり、ｘはインターバル値である。ポートレートが１０Ｍｂｐｓと仮定する。インターバル値０、１、２、３、４、５、６、７、８及び９は、この場合、キューレートはそれぞれ１０Ｍｂｐｓ、５Ｍｂｐｓ、３．３３Ｍｂｐｓ、２．５Ｍｂｐｓ、２Ｍｂｐｓ、１．７Ｍｂｐｓ、１．３Ｍｂｐｓ、１．１Ｍｂｐｓ、及び１Ｍｂｐｓとなる。この細分性は、特に、ポートレートに対して高いレートでは、キューにとって非常に精密なレートの調整を可能にしない。
【００２８】
トラフィック・マネジャＴＭ及びトラフィック・シェイパＴＳは、ＴＭの場合には各ＰＤＵに対して、ＴＳの場合には各ブロックに対して実行されるプログラム可能スクリプトにより制御される。１つのスケジューラに対して１つのスクリプトのみを使用できる。スケジューラがＡＴＭ  ＱｏＳトラフィック及びパケットＣｏｓトラフィックを同時に処理しなければならない場合には、新しい種類のスクリプト及びシェーピング方法が必要となる。従来の別個のＡＴＭ及びパケット・トラフィック・シェーピング・スクリプトは、この目的には適用できない。
【００２９】
本発明の実施形態によれば、通常与えられているものに加えて中間レートを導入することにより、キューレートの細分性が改善される。相対的に高い第１のキューレートＲ１（例えば１０Ｍｂｐｓ）と第２の低いキューレートＲ１／Ｎ（例えば５Ｍｂｐｓ）との間の中間レートがトラフィック・フローに望まれる時、トラフィック・シェイパにおけるスキップ・インターバルは、第２の低いレート（例えば５Ｍｂｐｓ）に従ってスキップ・インターバル値を計算するように構成される。これは通常は、第２レート（５Ｍｂｐｓ）に等しいキューレートをもたらす。しかし本発明の実施形態によれば、特定のトラフィック・フローの各々のＰＤＵには、好ましくはおよそ５０％の確率の予め設定された確率によるさらに別のオーバーライド・インターバル計算決定が行われて、ＰＤＵは、トラフィック・シェイパで計算されたスキップ・インターバル値ではなく、スキップ・ゼロのスケジューリングを受けるようにマークされる。換言すると、５０％の確率においては、トラフィック・シェーピング・スケジューラは、ＰＤＵに対して、計算されたインターバル値ではなく、インターバル値ゼロを用いる。統計上、このことは、第１及び第２のキューレート間の中間キュー・ビットレート値を加えた影響を受ける。第１及び第２のキューレートが１０Ｍｂｐｓ及び５Ｍｂｐｓである場合には、およそ５０％の確率が用いられた時には、取得される中間キューレートは、平均およそ７．５Ｍｂｐｓである。同様に、中間キューレートは、任意の２つの通常のキューレート間に与えることができる。
【００３０】
好ましい実施形態では、ＰＤＵは、分類又はポリシー形成の段階で、又はトラフィック管理算出エンジンで、オーバーライド・インターバル計算決定についてマークされる。この演算は、各ＰＤＵに対して一度だけ実行されるので有利である。オーバーライド・インターバル計算決定の結果は、任意のパラメータ、ビット、バイト、又はいずれかの他の適当なデータ構造により形成することができる特定のインターバル・オーバーライド・フラグと共に、トラフィック・シェイパに送給される。オーバーライド・インターバル・フラグは、ＴＲＵＥ又は１といった第１の状態、及びＦＡＬＳＥ又は０といった第２の状態をとることができる。あらゆる好適なランダムなアルゴリズムを用いてフラグを設定して、両方の状態が同じ確率で現れるようにすることができる。トラフィック・シェイパにランダムな０／１フラグ・ビットを与えるための命令を含むトラフィック・マネジャ・スクリプトの一例は、添付書類１に示される。
【００３１】
トラフィック・シェイパは、通常通りに又は以下に説明される新しい本発明の概念（図４のステップ４１）により、ＰＤＵのキュー・インターバルを計算することができる。インターバルをどのように計算したかにかかわらず、トラフィック・シェイパは、インターバル・オーバーライド・フラグの状態をチェックする（ステップ４２及び４３）。その状態がＦＡＬＳＥ／０である場合には、トラフィック・シェイパは、スキップ・インターバル値ゼロをインターバル・レジスタに書き込む（ステップ４５）。その状態がＴＲＵＥ／１である場合には、トラフィック・シェイパは、計算されたインターバル値をインターバル・レジスタに書き込む（ステップ４４）。ランダムな０／１フラグ・ビットをチェックする命令、及びこれに応じてインターバル・レジスタを書き込むための命令を含むトラフィック・シェイパ・スクリプトの一例は、添付書類２に示される。インターバル「０．５」（０及び１の各々に５０％）があるため、結果として、有効帯域幅７５％が取得される。５０％の代わりに他の確率が使用される場合には、有効帯域幅はそれに従って変化する。
【００３２】
従来技術では、キュー・インターバルは、ＰＤＵの全ブロックがキューから読み取られ、計数された後においてのみ、計算されて、インターバル・レジスタに書き込まれる。インターバル・レジスタの新しい設定が有効になる前に、４つのブロックの内在する持続待ち時間がある。従って、キュー内の次のＰＤＵからの４つのブロックは、実際のＰＤＵの後で読み取られ、送信される可能性がある。この望ましくないイベントは、トラフィック・シェイパ算出エンジンのタイミングを歪め、その結果同じ論理ポートの他のキューに影響を与える。
【００３３】
本発明のさらに別の態様によれば、従来技術のこれらの問題が軽減されるので、（ブロックの数により）ＰＤＵの長さが求められ（図５のステップ５２）、キュー・インターバルが計算され（ステップ５３）、インターバル・レジスタに書き込まれて、（ステップ５４）ＰＤＵの第１ブロックは既にキューから読み取られている（ステップ５１）。次のブロックがそのキューから読み取られる（ステップ５５）。結果として、ＰＤＵの最後のブロックがキューから読み取られて送信される前に、レジスタのインターバル設定が（４つのブロックの待ち時間の後で）有効になる。ＰＤＵの長さは、ＣＥハードウェアにより与えられるＴＳレジスタから読み取ることができる。
【００３４】
本発明のこのさらに別の態様を適用する実施形態では、基本インターバルが、最初に、キュー対ポートレートに備えられた有効帯域幅に基づいて、二重計算を用いたソフトウェアにより計算される。基本インターバルには６４が乗算されて、あらゆるさらに別の（整数）計算においてさらなる精度を可能にする。６４という値は、ビット演算「左桁送り６」に対応するため選択され、ビットの桁送りは、トラフィック・シェイパＴＳスクリプトで計算を行うために、唯一の実現可能な方法である。基本インターバルは、次いで、キューにＴＳパラメータとして与えられ、ＴＳスクリプトが実行される度（即ち、各６４バイト・ブロック）に読み取られるようにする。
【００３５】
トラフィック・シェーピング及びインターバル計算は、スケジュールされているＰＤＵの長さも考慮することが好ましい。本発明の実施形態では、これはＴＳスクリプトで実施されて、ＰＤＵのサイズが、対応する左桁送り数によるインターバル乗算の結果を変更する（即ち、ｌｅｎｇｔｈＩｎｔｅｒｖａｌ＝ｂａｓｅＩｎｔｅｒｖａｌ*２pduLengthShiftLeft）。ＰＤＵの長さは、ＣＥハードウェアにより提供されるＴＳレジスタから読み取ることができる。従って、ＰＤＵのサイズは、以下の方法で左桁送りの数に影響を及ぼす。
ＰＤＵサイズ  左方移動
＜＝６４        ０
５１３−１０２  １
５１３−１０３  ２
５１３−１０４  ３
５１３−１０５  ４
１０２５＞      ５
【００３６】
実際のインターバル値は、インターバル長さを６４で除算すること、即ちビット演算「右桁送り６」で計算され、このようにソフトウェアによって基本インターバルのために実行された元の６４の乗算を排除する。このインターバル値は、上述のようにインターバル・レジスタに書き込むことができる。これらのステップを実施するＴＳ・スクリプトの一例は、添付書類２に示される。
【００３７】
本発明のこのさらに別の態様は、他のキューにおけるデータ・フローの異なるＰＤＵサイズの影響を大幅に平坦化し、これに関連する事柄として、ＲＳＰスケジューリング機構取り扱うインターバル・レジスタに関する４つ程度のブロック・タイム待ち時間の影響を軽減する。
【００３８】
また、本発明のさらに別の態様と関連して、本発明の第１の態様に関連して上述されたように、中間レートは、計算されたインターバル値を、ゼロのスキップ・インターバル値とランダムに置き換えることにより得ることができる。従って、インターバル長さを６４で乗算した後で、インターバルをＴＳレジスタに書き込む前に、計算されたインターバル値又はゼロが書き込まれたかどうかがチェックされる。これは、その特定のＰＤＵ内の全ブロックのＴＭからＴＳに配信された特定のビット又はフラグにより判断することができる。上述のように、ＴＭは、ビット計算に確率関数を用いる。これらのステップを実施するＴＳスクリプトの一例は、添付書類２に示される。
【００３９】
当業者であれば、技術が進歩するに従い、本発明の基本理念を多様な方法で実施可能であることが明白であろう。従って本発明とその実施形態は、上述の例に限定されるものではなく、特許請求の範囲内で変更されてよい。
【００４０】
2008503127.tif 000003
2008503127.tif 000004
2008503127.tif 000005
2008503127.tif 000006
2008503127.tif 000007
2008503127.tif 000008
2008503127.tif 000009
【図面の簡単な説明】
【００４１】
【図１】ｘＤＳＬシステムの例を示す。
【図２】ＤＳＬＡＭを具現する１つの方法を示す。
【図３】本発明の実施形態による、ルーティング・スイッチ・プロセッサＲＳＰのスケジューリング・コンポーネントの例を示す。
【図４】本発明の一態様を示すフロー図である。
【図５】本発明のさらに別の態様を説明するフロー図である。
【図１】
2008503127.tif 000010
【図２】
2008503127.tif 000011
【図３】
2008503127.tif 000012
【図４】
2008503127.tif 000013
【図５】
2008503127.tif 000014
【国際調査報告】
2008503127.tif 000015
2008503127.tif 000016