(57)【要約】 【課題】異なる送信速度のＯＮＵ間での帯域幅の公正で効果的な割当方法を提供する。【解決手段】  各光学ネットワーク・ユニットのリクエストは、要求された被保障帯域幅と要求された最大努力帯域幅を含む。各光学ネットワーク・ユニットは、第１属性と第２属性をを有する。１個の属性に他の属性よりも優先度を与える。各属性内で、割当ランクと送信ランクが、属性の値に割り当てられる。帯域幅バジェットは、優先度と送信ランクに従って、割り当てられる。上流方向送信は、スケジューリング優先度と送信ランクに従って、スケジューリングされる。【選択図】  図１
2010171977.tif 000002
【特許請求の範囲】
【請求項１】
光学ネットワークにおいて送信する順番を割り当てる方法において、
（Ａ）  複数の光学ネットワーク・ユニットから、上流方向送信を実行するための許可を求めるリクエストを受領するステップと、
前記各光学ネットワーク・ユニットは、前記光学ネットワーク・ユニットの複数の第１属性の値から選択された第１属性と、前記光学ネットワーク・ユニットの複数の第２属性の値から選択された第２属性を有し、
（Ｂ）  前記上流方向送信をスケジューリングするために、１個の属性に他の属性よりも優先度を与えるステップと、
（Ｃ）  前記属性内で、送信ランクを前記属性の値に割り当てるステップと、
（Ｄ）  前記優先度と前記送信ランクに従って、前記上流方向送信をスケジューリングするステップと、
を有する、
ことを特徴とする光学ネットワークにおいて送信する順番を割り当てる方法。
【請求項２】
前記第１属性は、前記光学ネットワーク・ユニットの送信速度であり、
前記第２属性は、前記光学ネットワーク・ユニットのタイプである
ことを特徴とする請求項１記載の方法。
【請求項３】
前記速度の属性に、前記タイプの属性よりも優先度が与えられる
ことを特徴とする請求項２記載の方法。
【請求項４】
複数の光学ネットワーク・ユニットを管理する光学ライン端末用のシャフラー・モジュールにおいて、前記シャフラー・モジュールは、
（Ａ）  複数の光学ネットワーク・ユニットから、上流方向送信を実行するための許可を求めるリクエストを受領し、
前記各光学ネットワーク・ユニットは、前記光学ネットワーク・ユニットの複数の第１属性の値から選択された第１属性と、前記光学ネットワーク・ユニットの複数の第２属性の値から選択された第２属性を有し、
（Ｂ）  前記上流方向送信をスケジューリングするために、１個の属性に他の属性よりも優先度を与え、
（Ｃ）  前記属性内で、送信ランクを前記属性の値に割り当て、
（Ｄ）  前記優先度と前記送信ランクに従って、前記上流方向送信をスケジューリングする
ことを特徴とする複数の光学ネットワーク・ユニットを管理する光学ライン端末用のシャフラ・モジュール。
【請求項５】
前記シャフラ・モジュールは、ハードウエア・アクセレーターで実現される
ことを特徴とする請求項４記載のシャフラ・モジュール。
【請求項６】
請求項４記載のシャフラ・モジュールを有する光学ライン端末。
【請求項７】
光学ネットワークにおいて帯域幅バジェットを割り当てる方法において、
（Ａ）  複数の光学ネットワーク・ユニットから、上流方向送信を実行するための許可を求めるリクエストを受領するステップと、
前記各光学ネットワーク・ユニットは、前記光学ネットワーク・ユニットの複数の第１属性の値から選択された第１属性と、前記光学ネットワーク・ユニットの複数の第２属性の値から選択された第２属性を有し、
（Ｂ）  前記帯域幅バジェットを割り当てるために、１個の属性に他の属性よりも優先度を与えるステップと、
（Ｃ）  前記属性内で、割当ランクを前記属性の値に割り当てるステップと、
（Ｄ）  前記優先度と前記割当ランクに従って、前記帯域幅バジェットを割り当てるステップと、
を有する、
ことを特徴とする光学ネットワークにおいて帯域幅バジェットを割り当てる方法。
【請求項８】
前記第１属性は、前記光学ネットワーク・ユニットの送信速度であり、
前記第２属性は、前記光学ネットワーク・ユニットのタイプである
ことを特徴とする請求項７記載の方法。
【請求項９】
前記速度の属性に、前記タイプの属性よりも優先度が与えられる
ことを特徴とする請求項８記載の方法。
【請求項１０】
前記タイプの属性に、前記速度の属性よりも優先度が与えられる
ことを特徴とする請求項８記載の方法。
【請求項１１】
前記リクエストは、要求された被保障帯域幅を含み、
前記（Ｄ)ステップは、上流方向送信を行うことが許される光学ネットワーク・ユニットを選択する選択ステップを含み、
前記選択ステップは、前記光学ネットワーク・ユニットに、優先度と送信ランクで決定される順に従って、連続的に前記光学ネットワーク・ユニットの要求された被保障帯域幅までの帯域幅バジェットの部分を、下記の条件が満たされるまで、割り当てるステップにより、行われる
（ｉ）  前記帯域幅バジェットを使い尽くすまでか、
（ｉｉ）前記の全ての光学ネットワーク・ユニットに、それぞれの要求された被保障帯域幅が、割り当てられるまで
ことを特徴とする請求項７記載の方法。
【請求項１２】
前記連続的に割り当てるステップは、前記光学ネットワーク・ユニットの予測された送信速度の要求された被保障帯域幅に対する比率の昇順で、行われる
ことを特徴とする請求項１１記載の方法。
【請求項１３】
前記割当ステップの前に、
（Ｅ）前記要求された被保障帯域幅をクリップするステップ
を更に有する
ことを特徴とする請求項１１記載の方法。
【請求項１４】
前記リクエストは、要求された最大努力帯域幅を含み、
前記（Ｄ）ステップで、前記全ての光学ネットワーク・ユニットに、要求された被保証帯域幅を割り当てる場合には、
前記（Ｄ）ステップは、優先度と送信ランクで決定される順に従って、連続的に、前記光学ネットワーク・ユニットの要求された最大努力帯域幅まで、前記光学ネットワーク・ユニットへ割り当てられた帯域幅バジェットの部分を、下記の条件が満たされるまで、増加させる
（ｉ）  前記帯域幅バジェットを使い尽くすまでか、
（ｉｉ）前記の全ての光学ネットワーク・ユニットに、それぞれの要求された最大努力帯域幅が割り当てられるまで
ことを特徴とする請求項１１記載の方法。
【請求項１５】
前記割当ステップの前に、
（Ｅ）前記要求された最大努力帯域幅をクリップするステップ
を更に有する
ことを特徴とする請求項１４記載の方法。
【請求項１６】
複数の光学ネットワーク・ユニットを管理する光学ライン端末用の帯域幅割当モジュールにおいて、前記帯域幅割当モジュールは、
（Ａ）  複数の光学ネットワーク・ユニットから、上流方向送信を実行するための許可を求めるリクエストを受領し、
前記各光学ネットワーク・ユニットは、前記光学ネットワーク・ユニットの複数の第１属性の値から選択された第１属性と、前記光学ネットワーク・ユニットの複数の第２属性の値から選択された第２属性を有し、
（Ｂ）  前記帯域幅バジェットを割り当てるために、１個の属性に他の属性よりも優先度を与え、
（Ｃ）  前記属性内で、割当ランクを前記属性の値に割り当て、
（Ｄ）  前記優先度と前記割当ランクに従って、前記帯域幅バジェットを割り当てる
ことを特徴とする複数の光学ネットワーク・ユニットを管理する光学ライン端末用の帯域幅割当モジュール。
【請求項１７】
前記帯域幅割当モジュールは、ハードウエア・アクセレーターで実行される
ことを特徴とする請求項１６記載の帯域幅割当モジュール。
【請求項１８】
請求項１６記載の帯域幅割当モジュールを有する光学ライン端末。
【請求項１９】
光学ネットワーク・ユニットが光学ライン端末から上流方向送信の帯域幅を要求する方法において、
（Ａ）前記光学ライン端末に、要求された被保障帯域幅を送信するステップと、
（Ｂ）前記光学ライン端末に、要求された最大努力帯域幅を送信するステップと、
を有する
ことを特徴とする光学ネットワーク・ユニットが光学ライン端末から上流方向送信の帯域幅を要求する方法。
【請求項２０】
（Ｃ）  前記要求された被保障帯域幅を計算するステップと、
（Ｄ）  前記要求された最大努力帯域幅を計算するステップと、
を更に有する
ことを特徴とする請求項１９記載の方法。
【請求項２１】
（Ｅ）  前記光学ライン端末からサービス・レベル・アグリーメントを受領するステップ
を更に有し
前記（Ｃ），（Ｄ）ステップは、前記サービス・レベル・アグリーメントに従って行われる
ことを特徴とする請求項２０記載の方法。
【請求項２２】
前記要求された被保障帯域幅と前記要求された最大努力帯域幅は、トークンバケットアルゴリズムを用いて、計算され、
前記トークンバケットアルゴリズムは、前記要求された被保障帯域幅用と前記要求された最大努力帯域幅用の２つの異なるトークンバケットを有する
ことを特徴とする請求項２０記載の方法。
【請求項２３】
前記要求された被保障帯域幅は、前記光学ネットワーク・ユニットの使用された待ち行列のサイズと、前記要求された被保障帯域幅のトークンバケット内のトークンの数の内の少ない方で、計算され、
前記要求された最大努力帯域幅は、前記光学ネットワーク・ユニットの使用された待ち行列のサイズと、前記要求された最大努力帯域幅のトークンバケット内のトークンの数の少ない方で、計算される
ことを特徴とする請求項２２記載の方法。
【請求項２４】
前記要求された被保障帯域幅は、前記光学ネットワーク・ユニットの使用された待ち行列のサイズと、前記要求された被保障帯域幅のトークンバケット内のトークンの数の内の少ない方で、計算されたしきい値に最大等しい全フレームの全サイズで、計算され、
前記要求された最大努力帯域幅は、前記光学ネットワーク・ユニットの使用された待ち行列のサイズと、前記要求された最大努力帯域幅のトークンバケット内のトークンの数の少ない方で、計算されたしきい値に最大等しい全フレームの全サイズで、計算される
ことを特徴とする請求項２２記載の方法。
【請求項２５】
（Ａ）前記光学ライン端末に、要求された被保障帯域幅を送信するステップと、
（Ｂ）前記光学ライン端末に、要求された最大努力帯域幅を送信するステップと、
を有する
ことを特徴とする光学ライン端末から上流方向送信帯域幅を要求する光学ネットワーク・ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＯＮ（受動型光学ネットワーク）に関し、特に、異なる送信速度で送信するＯＮＵ（光学ネットワークユニット）を有するＰＯＮに関する。
【背景技術】
【０００２】
図１は、ＰＯＮ１０のアーキテクチャを示す。ＯＬＴ（光学ライン端末）１２は、複数個のＯＮＵ１４に光学スプリッタ１６を介して接続される。下流方向信号（ＯＬＴからＯＮＵへの方向の信号)は、全てのＯＮＵに送信される（broadcast)。このため、暗号化技術を用いて漏洩を防止する。上流方向信号（ＯＮＵからＯＬＴへの方向の信号)は、ＭＡ(multiple access:多重アクセス)プロトコルを用いて多重化される。そのプロトコルでは、ＴＤＭＡ(time division multiple access:時分割多重アクセス)プロトコルが使用される。
【０００３】
本発明は、ＥＰＯＮ（受動型光学イーサネット・ネットワーク）を例に説明する。当業者は、他の種類のＰＯＮに本発明を適用できる。ＥＰＯＮにおいて、ＯＮＵは、ＲＥＰＯＲＴフレームをＯＬＴに送信して、上流方向信号を送信できるよう送信許可を求める。ＯＬＴは、ＧＡＴＥフレームで応答する。このＧＡＴＥフレームは、ＯＬＴに対し、いつ送信できるか、どの程度の量を送信できるかを通知する。ＯＬＴは、ＤＢＡ(dynamic bandwidth allocation:動的帯域幅割当)アルゴリズムを利用して、各ＯＮＵの上流方向へのデータ送信を制御する。ＤＢＡをフレキシブルに実行するために、多くのＯＬＴは、ＤＢＡアルゴリズムをソフトウェアで運用する。このアルゴリズムを実行するために必要なＣＰＵパワーを減らすために、一部の操作は、専用のハードウェア・アクセラレータを用いて行われる。これらの操作には以下を含む。即ち、
ＲＥＰＯＲＴフレームを解析すること(parsing)；
ＧＡＴＥフレームを初期化すること(formatting)；
上流方向タイムラインを構築すること；
解析されたＲＥＰＯＲＴ情報に基づいて割当を行うこと(選択的事項)；
要求を許可すること(選択的事項)；
往復時間(round trip time)の計算をすること。
【０００４】
新たなＩＥＥＥ８０２．３ａｖ（１０Ｇ  ＥＰＯＮ)標準では、１Ｇ（ギガ）の送信を行うＯＮＵと、１０Ｇ（ギガ）の送信を行うＯＮＵの両方の上流方向への通信の割当を取り扱うＤＢＡアルゴリズムを設計する必要がある。その理由は、この標準では、１０Ｇ上流方向送信と１Ｇ上流方向送信を、ＴＤＭＡで同一の波長を使用するからである。そのため２つの問題が起こる。
１．ＯＬＴの光学トランシーバは、二重モードのトランシーバである。１Ｇ受信モードと１０Ｇ受信モードとを切り替えることは、かなりのオーバーヘッドを必要とする。
２．同一期間に、１０ＧＯＮＵは、１ＧＯＮＵの１０倍もの情報を送信する。このことは、１ＧＯＮＵと１０ＧＯＮＵとの間の割当の公平さを必要とする。
【０００５】
現在のＤＢＡアルゴリズムのＣＰＵ処理時間は相当長い。この理由は、このＤＢＡアルゴリズムは、帯域幅のリクエストとＯＮＵの送信速度を監視し、ＯＮＵのサービス・レベル・アグリーメント(ＳＬＡ：サービス内容合意)を実行する必要があるからである。更にＤＢＡアルゴリズムは、ＯＮＵ間での公平性を確保しなければならない。このＤＢＡアルゴリズムが、これを実行するためには、公平性の基準に従って、ＯＮＵを分類しなければならない。この分類作業もかなりの処理時間を要する。
【０００６】
ＥＰＯＮ標準においては、ＯＮＵは待ち行列の占有のみを報告する必要がある。ＥＰＯＮ標準は、ＯＮＵの上流方向送信の間、フレームの断片化(fragmentation)を許さない。これは利用率の損失に結びつくからである。その理由は、最大送信ユニット(ＭＴＵ：maximum transmission unit)までのフレーム・サイズ（１５３８バイト)が、割当毎に使用されるからである。この問題を解決するために、選択的事項として、より進んだ報告モード（しきい値モード)においては、ＯＮＵは、ある構築（変更）可能なしきい値の元で、各待ち行列内に含まれる全フレームの数と、全ての待ち行列の状態を報告する。しきい値以下の値と全数は、全フレーム・サイズの倍数である。各値は、ＲＥＰＯＲＴフレームで、別のセットで報告される。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しきい値モードにおいては、ＯＮＵは待ち行列凍結メカニズム(queue freezing mechanism)を有する。ＯＮＵがＲＥＰＯＲＴを生成すると、ＯＮＵは、その待ち行列を凍結する。将来の割当が与えられると、そのＯＮＵは、待ち行列凍結後に到着した新たなフレームを送信する前に、凍結した待ち行列からフレームを送信する。かくして、ＤＢＡアルゴリズムは、しきい値以下の値か又は全値のいずれかを割り当て、その結果、断片化による損失を阻止する。上記したように、そのＤＢＡは、各ＯＮＵの送信速度（速度）をモニタして、どの程度の帯域幅をＯＮＵに割り当てるかを決定する必要があり、これにより、ＯＮＵのＳＬＡ（サービス・レベル・アグリーメント）を実行する。
【課題を解決するための手段】
【０００８】
本発明の本発明の光学ネットワークにおいて送信する順番を割り当てる方法は、
（Ａ）  複数のＯＮＵから、上流方向送信を実行するための許可を求めるリクエストを受領するステップと、
前記各ＯＮＵは、前記ＯＮＵの複数の第１属性の値から選択された第１属性と、前記ＯＮＵの複数の第２属性の値から選択された第２属性を有し、
（Ｂ）  前記上流方向送信をスケジューリングするために、１個の属性に他の属性よりも優先度を与えるステップと、
（Ｃ）  前記属性内で、送信ランクを前記属性の値に割り当てるステップと、
（Ｄ）  前記優先度と前記送信ランクに従って、前記上流方向送信をスケジューリングするステップとを有する。
【０００９】
本発明の複数のＯＮＵを管理するＯＬＴ用のシャフラー・モジュールは、              （Ａ）  複数のＯＮＵから、上流方向送信を実行するための許可を求めるリクエストを受領し、
前記各ＯＮＵは、前記ＯＮＵの複数の第１属性の値から選択された第１属性と、前記ＯＮＵの複数の第２属性の値から選択された第２属性を有し、
（Ｂ）  前記上流方向送信をスケジューリングするために、１個の属性に他の属性よりも優先度を与え、
（Ｃ）  前記属性内で、送信ランクを前記属性の値に割り当て、
（Ｄ）  前記優先度と前記送信ランクに従って、前記上流方向送信をスケジューリングする。
【００１０】
本発明によれば、光学ネットワークにおいて帯域幅バジェットを割り当てる方法は、
（Ａ）  複数のＯＮＵから、上流方向送信を実行するための許可を求めるリクエストを受領するステップと、
前記各ＯＮＵは、前記ＯＮＵの複数の第１属性の値から選択された第１属性と、前記ＯＮＵの複数の第２属性の値から選択された第２属性を有し、
（Ｂ）  前記帯域幅バジェットを割り当てるために、１個の属性に他の属性よりも優先度を与えるステップと、
（Ｃ）  前記属性内で、割当ランクを前記属性の値に割り当てるステップと、
（Ｄ）  前記優先度と前記割当ランクに従って、前記帯域幅バジェットを割り当てるステップとを有する。
【００１１】
本発明の複数のＯＮＵを管理するＯＬＴ用の帯域幅割当モジュールは、
（Ａ）  複数のＯＮＵから、上流方向送信を実行するための許可を求めるリクエストを受領し、
前記各ＯＮＵは、前記ＯＮＵの複数の第１属性の値から選択された第１属性と、前記ＯＮＵの複数の第２属性の値から選択された第２属性を有し、
（Ｂ）  前記帯域幅バジェットを割り当てるために、１個の属性に他の属性よりも優先度を与え、
（Ｃ）  前記属性内で、割当ランクを前記属性の値に割り当て、
（Ｄ）  前記優先度と前記割当ランクに従って、前記帯域幅バジェットを割り当てる。
【００１２】
本発明のＯＮＵがＯＬＴから上流方向送信の帯域幅を要求する方法は、
（Ａ）前記ＯＬＴに、要求された被保障帯域幅を送信するステップと、
（Ｂ）前記ＯＬＴに、要求された最大努力帯域幅を送信するステップと、
を有する。
【００１３】
本発明のＯＬＴから上流方向送信帯域幅を要求するよう動作するＯＮＵは、
（Ａ）前記ＯＬＴに、要求された被保障帯域幅を送信するステップと、
（Ｂ）前記ＯＬＴに、要求された最大努力帯域幅を送信するステップと、
を実行する。
【００１４】
本発明の光学ネットワークにおいて送信する順番を割り当てる方法は、複数のＯＮＵから、上流方向送信を実行するための許可を求めるリクエストを受領するステップから開始する。前記各ＯＮＵは、前記ＯＮＵの複数の第１属性の値から選択された第１属性と、前記ＯＮＵの複数の第２属性の値から選択された第２属性を有する。例えば、以下の実施例においては、ＳＬＡの属性は、送信速度(１０Ｇ対１Ｇ)と、ＯＮＵタイプである。複数の属性の内の１つの属性に、上流方向送信をスケジューリングする(即ちＯＮＵが送信できる順番を決定する)ために、他の属性よりも優先度が与えられる。第１属性に第２属性よりも優先度を与えるか、あるいはその逆で第２属性に第１属より優先度が与えるかである。一実施例においては、送信速度がＯＮＵのタイプ（種類）よりも優先度を持つ。その結果、あらゆるタイプの全ての１０ＧのＯＮＵは、あらゆるタイプの全ての１ＧのＯＮＵよりも前に送信できる。各属性内に、送信ランクが属性の値に割り当てられる。この送信ランクは、例えば「構わない"don't care"（全ての属性の値は、同一のランクを有し、その結果、属性の値はスケジューリングに際に考慮されない)」と「無視"ignore"(この属性の値を有するＯＮＵは、送信を許可されない)」である。その結果、上流方向送信は、優先度とランクに従って、スケジューリングされる。
【００１５】
本発明は、更に、ＯＬＴシャッフラー・モジュールを有する。このＯＬＴシャッフラー・モジュールが、送信順位の割当を実行する。本発明のＯＬＴは、このシャッフラー・モジュールを有する。このシャッフラー・モジュールは、ハードウエア・アクセレレータで実現する。
【００１６】
本発明の光学ネットワークに帯域幅バジェットを割り当てる方法は、複数のＯＮＵから、上流方向送信を実行するための許可を求めるリクエストを受領するステップから開始する。前記各ＯＮＵは、前記ＯＮＵの複数の第１属性の値から選択された第１属性と、前記ＯＮＵの複数の第２属性の値から選択された第２属性を有する。例えば、以下の実施例においては、ＳＬＡの属性は、送信速度(１０Ｇ対１Ｇ)と、ＯＮＵタイプである。複数の属性の内の１つの属性に、上流方向送信をスケジューリングする(即ちＯＮＵが送信できる順番を決定する)ために、他の属性よりも優先度が与えられる。第１属性に第２属性よりも優先度を与えるか、あるいはその逆で第２属性に第１属より優先度が与えるかである。一実施例においては、送信速度がＯＮＵのタイプ（種類）よりも優先度を持つ。その結果、あらゆるタイプの全ての１０ＧのＯＮＵは、あらゆるタイプの全ての１ＧのＯＮＵよりも前に送信できる。各属性内に、送信ランクが属性の値に割り当てられる。この送信ランクは、例えば「構わない"don't care"（全ての属性の値は、同一のランクを有し、その結果、属性の値はスケジューリングに際に考慮されない)」と「無視"ignore"(この属性の値を有するＯＮＵは、送信を許可されない)」である。その結果、帯域幅バジェットの割り当ては、優先度とランクに従って、スケジューリングされる。
【００１７】
より好ましくは、前記リクエストは、要求された被保障帯域幅を含む。
前記（Ｄ）ステップは、上流方向送信が許されたＯＮＵを選択するステップを含み、前記選択するステップは、各ＯＮＵに、優先度と送信ランクで決定される順に従って、連続的に、前記ＯＮＵの要求された被保障帯域幅以下の帯域幅バジェットの一部を、下記の条件が満たされるまで、割り当てる。
（ｉ）  前記帯域幅バジェットを使い尽くす（ＯＮＵが送信できないか、最後のＯＮＵが要求された被保障帯域幅以下で送信する）までか、
（ｉｉ）前記の全てのＯＮＵに、それぞれの要求された被保障帯域幅が割り当てられるまで。
より好ましくは、前記連続的に割り当てるステップは、前記ＯＮＵの予測された送信速度の要求された被保障帯域幅に対する比率の昇順で、行われる。
より好ましくは、前記割当ステップの前に、（Ｅ）前記要求された被保障帯域幅をクリップするステップを更に有する。
【００１８】
より好ましくは、前記リクエストは、要求された最大努力帯域幅を含む。
被保障帯域幅が割り当てられた後、帯域幅バジェットが残っている場合には、
前記（Ｄ）ステップは、各ＯＮＵに、優先度と送信ランクで決定される順に従って、連続的に、前記ＯＮＵの要求された最大努力帯域幅以下の帯域幅バジェットの一部を、下記の条件が満たされるまで、割り当てる。
（ｉ）  前記帯域幅バジェットを使い尽くす（ＯＮＵが被保障帯域幅のみで送信するか、１つのＯＮＵが、要求された被保障帯域幅以上でかつ要求された最大努力帯域幅以下で送信する）までか、
（ｉｉ）前記の全てのＯＮＵに、それぞれの要求された最大努力帯域幅が割り当てられるまで。
より好ましくは、帯域幅バジェットが割り当てられる前に、前記要求された最大努力帯域幅をクリップする。
【００１９】
本発明は、帯域幅割当方法を実行するＯＬＴ帯域幅割当モジュールと、このよう帯域幅割当モジュールを有するＯＬＴを含む。好ましくは、帯域幅割当モジュールは、ハードウエア・アクセレレーターで実現される。
【００２０】
ＯＮＵがＯＬＴから上流方向送信の帯域幅を要求する方法において、前記ＯＮＵが、ＯＬＴに、要求された被保障帯域幅と要求された最大努力帯域幅を送信するステップを有する。より好ましくは、本発明の方法は、前記要求された被保障帯域幅と前記要求された最大努力帯域幅を計算するステップを更に有する。より好ましくは、本発明の方法は、前記ＯＬＴからサービス・レベル・アグリーメントを受領するステップを更に有する。前記のステップは、前記サービス・レベル・アグリーメントに従って行われる。
【００２１】
より好ましくは、前記要求された被保障帯域幅と前記要求された最大努力帯域幅は、トークンバケットアルゴリズムを用いて、計算される。前記トークンバケットアルゴリズムは、前記要求された被保障帯域幅と前記要求された最大努力帯域幅に対し２つの異なるトークンバケットを有する。
より好ましくは、前記要求された被保障帯域幅は、前記ＯＮＵの使用された待ち行列のサイズと、前記要求された被保障帯域幅のそれぞれのトークンバケット内のトークンの数の内の少ない方で、計算され、前記要求された最大努力帯域幅は、前記ＯＮＵの使用された待ち行列のサイズと、前記要求された最大努力帯域幅のそれぞれのトークンバケット内のトークンの数の少ない方で、計算される。
より好ましくは、前記要求された被保障帯域幅は、前記ＯＮＵの使用された待ち行列のサイズと、前記要求された被保障帯域幅のそれぞれのトークンバケット内のトークンの数の内の少ない方で、計算されたしきい値に最大等しい全フレームの全サイズで、計算され、前記要求された最大努力帯域幅は、前記ＯＮＵの使用された待ち行列のサイズと、前記要求された最大努力帯域幅のそれぞれのトークンバケット内のトークンの数の少ない方で、計算されたしきい値に最大等しい全フレームの全サイズで計算される。
より好ましくは、（Ａ）前記ＯＬＴに、要求された被保障帯域幅を送信するステップと、（Ｂ）前記ＯＬＴに、要求された最大努力帯域幅を送信するステップと、
を有する。
【００２２】
本発明は、ＯＮＵからの上流方向送信帯域幅を要求する方法を使用するＯＮＵを含む。
【図面の簡単な説明】
【００２３】
【図１】一般的なＰＯＮのアーキテクチャを表す図。
【図２】本発明のＯＮＵの機能ブロック図。
【図３】本発明のＯＬＴの機能ブロック図。
【発明を実施するための形態】
【００２４】
各ＯＮＵのＳＬＡは、ＯＮＵの被保障帯域幅（guaranteed bandwidth）とＯＮＵの最大努力帯域幅（best effort bandwidth）とを有する。被保障帯域幅は侵してはならない（not be oversubscribed）。最大努力帯域幅は侵してもよい（can be oversubscribed）。
【００２５】
従来のＤＢＡ（動的帯域幅割当）アルゴリズムは、ＯＮＵが送信したＲＥＰＯＲＴフレームに基づいて、各ＯＮＵがどの程度の帯域幅を必要とするかを、決定する。このＤＢＡアルゴリズムには、２つのフェーズがある。即ち、被保障帯域幅の割当と、最大努力帯域幅の割当である。本発明は、ＯＮＵ報告メカニズムを含む。このＯＮＵ報告メカニズムは、あるＣＰＵのＤＢＡアルゴリズムを、ＳＬＡ実行のための負荷から開放する。具体的には、各ＯＮＵは、被保障帯域幅と最大努力帯域幅とを要求する。好ましくは、このリクエストは、一体となった複数のフレームである。各送信サイクルの間、関連するＤＢＡアルゴリズムは、ＯＮＵに、要求され被保障帯域幅と要求された最大努力帯域幅の間のある帯域幅を割り当てるか、ＯＮＵの送信許可を拒絶する。ＯＮＵが送信許可を拒絶された場合には、そのＯＮＵのリクエストが増加し、そのＯＮＵには、次の送信サイクルで優先度が与えられる。時間をかけて、そのＯＮＵのＳＬＡが強制される。
【００２６】
ＯＬＴは、ＯＡＭ(operations administration and maintenance：保守・管理機能)メッセージを用いて、各ＯＮＵにＳＬＡを通知する。各ＯＮＵは、ＯＮＵの被保障帯域幅リクエストとＯＮＵの最大努力リクエストを報告する報告メカニズムを有する。各リクエストは、別々のＲＥＰＯＲＴセットで報告される。ＯＬＴが、ＯＮＵに被保障帯域幅リクエストを割り当てると、このＯＮＵは、平均でＳＬＡの被保障帯域幅以上送信することはない。ＯＬＴが、ＯＮＵにその最大努力帯域幅リクエストを割り当てると、このＯＮＵは、平均でＳＬＡの最大努力帯域幅よりも多くを送信しない。ＯＬＴ内の（ハードウエア・ベースの）ＯＬＴ送信速度・エスティメータが、各ＯＮＵの実際の送信速度を見積もる。（ハードウエアの）ＯＮＵソーティング・エンジン(sorting engine)が、送信するＯＮＵを、ＯＮＵの送信速度対ＯＮＵのＳＬＡで規定された被保障帯域幅の比率に基づいて、分類する。ＯＬＴのＲＥＰＯＲＴパーサ(parser)は、ＯＮＵの被保障帯域幅リクエストと最大努力帯域幅リクエストとを、クリップして、悪意のあるＯＮＵが、ＳＬＡによる彼らが使用できる帯域幅よりも多く要求することを、阻止する。ハードウェアベースのアロケータは、帯域幅のリクエストをクリップして、帯域幅をＯＮＵに割り当てる。ＤＢＡのソフトウェアが必要とすることは、割当フェーズで、ソートされたＯＮＵの順番を読み出し、このソートされたＯＮＵの順番をハードウェアに書き込むことである。低いＣＰＵの要件から離れて、このスキームは、トラフィックの遅延が非常に小さいという利点がある。その理由は、ＲＥＰＯＲＴを受信する時間とこのＲＥＰＯＲＴに基づいてＧＡＴＥを送信する時間の差が、非常に短いからである。
【００２７】
別の構成として、ＤＢＡソフトウェアは、クリップされた帯域幅のリクエストを用いて、２つのループで帯域幅をＯＮＵに割り当てる。第１ループは、被保証のリクエストに基づく。第２のループは、最大努力のリクエストに基づく。割当順は、ＯＮＵのソーティング・エンジンが行うソーティングに基づく。
【００２８】
ＰＯＮの実施例においては、ＯＮＵは、複数のフロー(flow)を含む。このような場合、送信速度の予測とソーティングは、このフローに基づいて行う。ＤＢＡのソフトウェアの修正は、このソートされたフローに基づいて、ＯＮＵの最大努力帯域幅の割当順を決定するフェーズを追加することにより、行う。ＯＬＴがハードウェアベースのアロケータを用いる場合には、この順はハードウェアベースのアロケータに割り当てられる。ＯＬＴが、ＤＢＡのソフトウェアを用いて帯域幅をＯＮＵに割り当てると、この順は、最大努力帯域幅割当フェーズ（第２ループ）で、用いられる。
【００２９】
フローに基づいた送信速度予測とソーティングの方法を次に説明する。各フローがどのＯＮＵに属するかは、既知とする。フローは、被保障帯域幅に対するフローの送信速度の比率(各ＯＮＵのＳＬＡで定義される)に従って、昇順でソートされる。リスト内の最後のフローのＯＮＵは、割り当てられるべき最後のフローである。このリストを戻ると、新たなＯＮＵに遭遇する（フローが、前に遭遇していないＯＮＵに属することを意味する)毎に、そのＯＮＵは、前に割り当てられたＯＮＵに、先立って割り当てられる。
【００３０】
各ＯＮＵは、その帯域幅のリクエストを次のように生成する。
各ＯＮＵは、２つのトークンバケット（ＯＮＵが複数のフローをサポートする場合には、１フロー当たり２つのトークンバケット)を有する。その一つは、被保障帯域幅用であり、他方は最大努力帯域幅用である。
【００３１】
通常のインターバルで、例えば、０．５ミリ秒毎に、ＯＮＵは、ある数のトークンを、そのＯＮＵのＳＬＡに基づいて、被保障帯域幅のトークンバケットに追加し、ある数のトークンを、そのＯＮＵのＳＬＡに基づいて、最大努力帯域幅のトークンバケットに追加する。例えば、ＯＮＵの被保障帯域幅が、Ｘ Ｍｂｐｓで、トークンが１個のビットを表す場合には、５００Ｘ個のトークンが、０．５ミリ秒毎に、被保障帯域幅のトークンバケットに追加される。ＯＮＵの最大努力帯域幅がＹ Ｍｂｐｓで、トークンが１個のビットを表す場合には、５００Ｙ個のトークンが、０．５ミリ秒毎に、最大努力帯域幅トークンバケットに追加される。
【００３２】
ＯＮＵがＲＥＰＯＲＴを生成するには、２つの方法がある。
ＲＥＰＯＲＴを生成する第１の方法においては、ＯＮＵを使用した待ち行列のサイズと、被保障帯域幅のトークンバケット内のトークンの数の少ない方を、ＯＮＵが計算する（両方共にビットで計算される)。この値は、時間量子（ＴＱ：time quanta）単位に変換され、ＯＮＵの要求された被保障帯域幅として報告される。１ＧのＯＮＵに対しては、１ＴＱ＝１６ns（ナノ）秒＝１６bits（ビット）であり、１０ＧのＯＮＵに対しては、１ＴＱ＝１６０bitsである。ＯＮＵは、ＯＮＵが使用した待ち行列サイズと、最大努力帯域幅のトークンバケット内のトークンの数の内の小さい方を計算する。この値をＴＱユニットに変換して、要求された被保障帯域幅に追加し、ＴＱユニットの数を提供し、これをＯＮＵの要求された最大努力帯域幅として、報告する。
【００３３】
ＲＥＰＯＲＴを生成する第２の方法は複雑であるが好ましい。その理由は、部分的に使用した帯域幅の割当を回避するからである。第１の方法と同様に、ＯＮＵが使用した待ち行列のサイズと、被保障帯域幅のトークンバケット内のトークンの数の内の小さい方を計算するが、第２の方法では、この値はしきい値として使用する。ＯＮＵは、何個のフレームがこのしきい値以下にあるか、そしてこれらのフレームの全サイズ（ＴＱユニットで）を、要求された被保障帯域幅として、報告する。ＯＮＵは、これらの帯域幅のリクエストを生成した時に、待ち行列をフリーズして、ＯＬＴがＯＮＵに２つの要求された帯域幅の一方を割当て、この割当てが完全に利用されたかを確認する。
【００３４】
この報告メカニズムは、ネガティブ・フィードバック・ループ（negative feedback loop）である。
ある送信サイクルにおいて、ＯＮＵに自分が必要とする（受ける資格のある）帯域幅以下の帯域幅が割り当てられると、ＯＮＵがそのＲＥＰＯＲＴを計算する次の送信サイクルでは、ＯＮＵの貸し方はより大きくなり、ＯＮＵは、より高い要求された帯域幅を報告（要求）する。
ある送信サイクルにおいて、ＯＮＵに自分が必要とする以上の帯域幅が割り当てられた場合には、ＯＮＵがそのＲＥＰＯＲＴを計算する次の送信サイクルにおいて、ＯＮＵの貸し方は小さくなり、ＯＮＵは、より低い要求された帯域幅を報告（要求）する。
【００３５】
以下、送信窓（transmission window）が始まった後の、ＯＮＵの挙動を説明する。
１．送信窓のエンドタイム（end time）が通過した時には、停止する。
２．あるスケジューリング・アルゴリズム（例、厳密な優先度あるいは重み付きのラウンドロビン）に従って、空でない待ち行列を選択する。
３．待ち行列が空いていない場合には、ステップ１に戻る。
４．選択された待ち行列のヘッドで。フレームを以下の条件でチェックする。
ａ.  ＴＱユニットのフレーム・サイズ（プラス  オーバーヘッド)が、ＴＱユニットの残りの送信時間以下である。
ｂ.  トークン・ユニットのフレーム・サイズが、関連トークンバケット（即ち、ＯＮＵがフローをサポートしない場合にはＯＮＵのトークンバケット、又はＯＮＵが複数のフローをサポートする場合には、関連するフローのトークンバケット)の一つのトークンの個数以下か。
５．フレームが両方の条件に合わない時には、ステップ１に戻る。
６．フレームを送信する。
７．ステップ１に戻る。
【００３６】
ＯＮＵが、ステップ６でフレームを送信すると：
【００３７】
フレーム・サイズが、被保障帯域幅のトークンバケット内のトークンの数よりも小さい場合には、フレームサイズに等しい数のトークンを、被保障帯域幅のトークンバケットから取り除く。選択的事項として、同数のトークンを、最大努力のトークンバケットから取り除く。
【００３８】
フレーム・サイズが、被保障帯域幅のトークンバケット内のトークンの数よりも大きいが、最大努力のトークンバケット内のトークンの数より小さい場合には、フレームサイズに等しい数のトークンを、最大努力のトークンバケットから取り除く。
【００３９】
各ＯＮＵに対し、ＯＬＴのハードウェアベースの送信速度・エスティメータは、ＯＮＵの送信ルート（tx_rate[ＯＮＵ]）を見積もる。予測値に対する入力は、ＯＮＵによるある（変更可能な）期間に渡って送信された情報量と、その直前の期間の送信速度（prev_tx_rate[ＯＮＵ]）である。tx_rate[ＯＮＵ]は、重み付き平均値として計算される。
即ち、tx_rate[ＯＮＵ]＝（prev_tx_rate[ＯＮＵ]*alpha）+（tx_amount[ＯＮＵ]*（1-alpha））
ここでalphaは、０と１の間の値である。その結果、ＯＬＴの、ハードウェアベースのＯＮＵのソーティング・エンジンは、比率tx_rate[ＯＮＵ]／ＯＮＵのＳＬＡの被保障帯域幅に従って、昇順に、ＯＮＵを分類する。
【００４０】
次にＯＬＴは、ソートされたリスト内のどのＯＮＵが、現在の送信サイクルで送信が許されるかを決定する必要がある。各ＯＮＵに対する入力は、ＯＮＵの要求された被保障帯域幅（gr_req[ＯＮＵ]）と、ＯＮＵの要求された最大努力帯域幅（be_req[ＯＮＵ]）である。これらの帯域幅リクエストはクリップされる。
gr_clipped_req[ＯＮＵ]＝min （gr_req[ＯＮＵ], gr_req_limit[ＯＮＵ]）
be_clipped_req[ＯＮＵ]＝min （be_req[ＯＮＵ], be_req_limit[ＯＮＵ]）
gr_req_limit[ＯＮＵ]とbe_req_limit[ＯＮＵ]は、ＯＮＵ当たりのＯＬＴ内で設定される変更可能なリミットである。その後、ハードウェアベースのアロケータは、どのＯＮＵが現在の送信サイクルで送信するかを決定し、ハードウェアベースのシャフラーが、ＯＮＵが送信する順番を決定する。
【００４１】
本発明のハードウェアベースのアロケータは、２つの割当スキームしか有さない従来のハードウェアベースのアロケータ（TYPE 1とTYPE 1＿TYPE 2）を改良したものである。
TYPE 1の割当においては、割当順は、TYPE 1のＯＮＵのみが含まれている場合に可能である。このことは次のことを意味する。１回の繰り返しにおいて、アロケータは、ＯＮＵのソートされたリストを下っていき、割り当てるためのTYPE 1のＯＮＵを選択する。ただし、これは、現在の送信サイクルで送信できる全ての帯域幅が使用され尽くしたか、又はTYPE 1のＯＮＵの全てが選択されるまで行われる。
TYPE 1＿TYPE 2の割当においては、あらゆる割当順は、TYPE 1のＯＮＵがTYPE 2のＯＮＵより前に割り当てられた場合に、可能となる。このことはアロケータが２回の反復を使用することを意味する。
第１の反復において、アロケータは、ＯＮＵのソートされたリストを下っていき、割り当てるためのTYPE 1のＯＮＵを選択する。ただし、これは、現在の送信サイクルで送信できる全ての帯域幅が使用され尽くしたか、又はTYPE 1のＯＮＵの全てが選択されるまで行われる。
第１の反復の後、帯域幅が残っている場合には、第２の反復で、アロケータは、ＯＮＵのソートされたリストを下っていき、割り当てるためのTYPE ２のＯＮＵを選択する。ただし、これは、現在の送信サイクルで送信できる全ての帯域幅が使用され尽くしたか、又はTYPE２のＯＮＵの全てが選択されるまで行われる。
【００４２】
本発明においては、２つの新たな構成がハードウェアベースのアロケータに追加されて、異なる速度（１Ｇ対１０Ｇ）で送信するＯＮＵの存在を受け入れることができる。この新たな構成は、割当優先とグルーピングモードである。割当優先は、２つの種類（値）を有する。すなわちGROUPING_HIGH（種類によるソーティングではなく速度によるソーティング）とGROUPING_LOW（速度によるソーティングではなく種類によるソーティング）である。グルーピングモードは、３つの値を有する:
NO_GROUPING; 
10G_1G_GROUPING;
1G_10G_GROUPING. 
以下の表は、様々な可能な組み合わせに対する割当の結果を示す。
【００４３】
割当スキーム      割当優先          グルーピングモード        割当結果
TYPE 1            GROUPING_HIGH      NO_GROUPING          TYPE 1
TYPE 1            GROUPING_HIGH      10G_1G_GROUPING      10G+TYPE 1,
1G+TYPE 1
TYPE 1            GROUPING_HIGH      1G_10G_GROUPING      1G+TYPE 1,
10G+TYPE 1
TYPE 1            GROUPING_LOW      NO_GROUPING           TYPE 1
TYPE 1            GROUPING_LOW      10G_1G_GROUPING       10G+TYPE 1,
1G+TYPE 1
TYPE 1            GROUPING_LOW      1G_10G_GROUPING       1G+TYPE 1,
10G+TYPE 1
TYPE 1_TYPE 2     GROUPING_HIGH      NO_GROUPING           TYPE 1, TYPE 2
TYPE 1_TYPE 2     GROUPING_HIGH      10G_1G_GROUPING       10G+TYPE 1,
10G+TYPE 2
1G+TYPE 1,
1G+TYPE 2
TYPE 1_TYPE 2     GROUPING_HIGH     1G_10G_GROUPING        1G+TYPE 1,
1G+TYPE 2
10G+TYPE 1,
10G+TYPE 2
TYPE 1_TYPE 2     GROUPING_LOW      NO_GROUPING           TYPE 1, TYPE 2
TYPE 1_TYPE 2     GROUPING_LOW     10G_1G_GROUPING        10G+TYPE 1,
1G+TYPE 1,
10G+TYPE 2,
1G+TYPE 2
TYPE 1_TYPE 2     GROUPING_LOW     1G_10G_GROUPING        1G+TYPE 1,
10G+TYPE 1,
1G+TYPE 2,
10G+TYPE 2
【００４４】
以下の表は、
割当スキーム＝TYPE 1_TYPE 2、
割当優先＝GROUPING_HIGH、
グルーピングモード＝10G_1G_GROUPING
である割当の例を示す。
８個のＯＮＵがある。以下の表は、これらのＯＮＵの属性を示す。
ONU ID      タイプ            送信速度
1                  TYPE 2       1G
2            TYPE 1,             1G
3            TYPE 1, TYPE 2      1G
4            TYPE 1,             10G
5                  TYPE 2       10G
6            TYPE 1, TYPE 2      10G
7            TYPE 1, TYPE 2      1G
8            TYPE 1, TYPE 2      10G
【００４５】
この実施例において、ハードウェアベースのＯＮＵソーティング・エンジンからのソートされたリストは、（６, ７, ２, ５, ８, ４, １, ３）である。帯域幅バジェットは、ＴＱで測定されるが、ＯＮＵに割り当てる必要がある。この割当は４回の反復で行われる。各反復において、ＤＢＡアクセラレータが、各ＲＥＰＯＲＴフレーム当たりに生成する４個の値の内の１個の値（例、gr_clipped_reqとbe_clipped_req）を用いて、各ＯＮＵが割り当てられる利用可能な帯域幅の大きさを決定する。
【００４６】
反復１：ソートされたリストから、ＯＮＵがソートリスト内で現れる順番で、１０Ｇ送信速度を有するTYPE 1のＯＮＵを選択する。これらのＯＮＵは６,８,４である。各ＯＮＵが選択されると、帯域幅バジェットから反復１の値まで減算される。ＯＮＵが割り当てられないと、より多くの帯域幅が、帯域幅バジェット内に残る。例えば、初期の帯域幅バジェットが１００ＴＱであり、ＯＮＵ６,８,４の反復１の値が、それぞれ３０ＴＱであるとすると、各ＯＮＵには３０ＴＱが割り当てられる。最初の帯域幅バジェットが１００ＴＱであり、ＯＮＵ６,８,４の反復１の値が、４０ＴＱ,  ３０ＴＱ, ５０ＴＱであるとすると、ＯＮＵ６には４０ＴＱ、ＯＮＵ８には３０ＴＱ、ＯＮＵ４には３０ＴＱが割り当てられる。
【００４７】
反復１の終了時に、帯域幅バジェットが残されている場合には、反復２に進む。
【００４８】
反復２：ソートされたリストから、ＯＮＵがソートリスト内で現れる順番で、１０Ｇ送信速度を有するTYPE２のＯＮＵを選択する。これらのＯＮＵは６,  ５、８である。各ＯＮＵが選択されると、帯域幅バジェットから反復２の値まで減算される。帯域幅バジェットから減算されたものがＯＮＵの帯域幅の割当に加えられる。十分な帯域幅バジェットがある場合には、各ＯＮＵ６, ８には、反復１の値と反復２の値の和が、割り当てられる。
【００４９】
反復２の終了時に、帯域幅バジェットが残されている場合には、反復３に進む。
【００５０】
反復３：ソートされたリストから、ＯＮＵがソートリスト内で現れる順番で、１Ｇ送信速度を有するTYPE１のＯＮＵを選択する。これらのＯＮＵは７，２，３である。各ＯＮＵが選択されると、帯域幅バジェットから反復３の値まで減算される。帯域幅バジェットから減算されたものがＯＮＵの帯域幅の割当に加えられる。
【００５１】
反復３の終了時に、帯域幅バジェットが残されている場合には、反復４に進む。
【００５２】
反復４：ソートされたリストから、ＯＮＵがソートリスト内で現れる順番で、１Ｇ送信速度を有するTYPE２のＯＮＵを選択する。これらのＯＮＵは７，１，３である。各ＯＮＵが選択されると、帯域幅バジェットから反復４の値まで減算される。帯域幅バジェットから減算されたものがＯＮＵの帯域幅の割当に加えられる。十分な帯域幅バジェットがある場合には、各ＯＮＵ３，７には、反復３の値と反復４の値の和が、割り当てられる。
【００５３】
この実施例は、本発明のハーでウェアベースのアロケータの一般的な機能を説明する。本発明の目的（異なる送信速度のＯＮＵ間での帯域幅の公正で効果的な割当）に関して、割当フェーズは、被保障帯域幅の割当と、最大努力帯域幅の割当（可能な場合）を行う。
好ましい割当は、
割当スキーム＝TYPE 1_TYPE 2と、
割当優先＝GROUPING_LOWと、
10G_1G_GROUPING と1G_10G_GROUPING間のトグル・グルーピング
である。
10G_1G GROUPINGは、1G_10G_GROUPINGの１回のサイクルの後、１０回の送信サイクルで用いられる。
TYPE 1とTYPE 2の値は、ＡＬＬであり、その結果TYPEは無視される。
【００５４】
グルーピング・モードは、10G_1G_GROUPINGであると、割当は、４回の反復で行われる。
【００５５】
第１回の反復において、反復値はgr_clipped_reqであり、10G ONUsにはそのクリップされ要求された被保障帯域幅が与えられる。
第２の反復においては、反復値はgr_clippled_reqであり、1G ONUsには、そのクリップされ要求された被保障帯域幅が与えられる。
被保障帯域幅は、保障されていると仮定する。このことは、クリッピングは、全てのgr_clipped_reqの和は、現在の送信サイクルの最初の帯域幅バジェットを超えないように行われることを意味している。
【００５６】
第３の反復において、反復値はbe_clipped_reqであり、10G ONUsには、10G ONUsがソートされたリスト内に表れる順番で、そのクリップされ要求された最大努力帯域幅が与えられる。ただし、帯域幅バジェット内にそれらに与える帯域幅が残っている場合に限る。
第４の反復において、反復値はbe_clipped_reqであり、1G ONUsには、1G ONUsがソートされたリスト内に表れる順番で、そのクリップされ要求された最大努力帯域幅が与えられる。ただし、帯域幅バジェット内にそれらに与える帯域幅が残っている場合に限る。
【００５７】
グルーピング・モードは、1G_10G_ONUsであると、割当は、４回の反復で同様に行われる。ただし1G ONUsと10G ONUsの役割は切り替わる。
第１の反復において1G ONUsには、クリップされ要求された被保障帯域幅が与えられる。第２の反復において10G ONUsには、クリップされ要求された被保障帯域幅が与えられる。第３の反復において1GONUsには、クリップされ要求された最大努力帯域幅が与えられる。
第４の反復において10G ONUsには、クリップされた要求された最大努力帯域幅が与えられる。
【００５８】
本発明のハードウェアベースのシャフラーは、本発明のハードウェアベースのアロケータに類似し、「ＡＬＬ」と「ＴＹＰＥ１＿ＴＹＰＥ２」の２つのスキームを有する従来のハードウェアベースのシャフラーを改良したものである。
ＡＬＬシャフリングにおいては、あらゆるシャフリングの順番が可能である（一回の繰り返し）。
ＴＹＰＥ１＿ＴＹＰＥ２のシャフリングにおいては、あらゆるシャフリングの順番が可能であるが、ＴＹＰＥ１のＯＮＵが、ＴＹＰＥ２のＯＮＵより前に現れる場合に限る。
【００５９】
本発明においては、２つの新たな構成がハードウェアベースのシャフラーに追加されて、異なる速度（１Ｇ対１０Ｇ）で送信するＯＮＵの存在を受け入れることができる。これにより、光学トラシーバーの切替時間オーバヘッドを最小にする。これは、上流方向タイムラインで１Ｇの割当を一緒にグルーピングすることにより、かつ、上流方向タイムラインで１０Ｇの割当を一緒にグルーピングすることにより、行う。
この２つの新たな構成は、シャフリング優先とグルーピングモードである。シャフリング優先は、２つの種類（値）を有する。すなわちGROUPING_HIGH（タイプによるソーティングではなく速度によるソーティング）とGROUPING_LOW（速度によるソーティングではなくタイプによるソーティング）である。グルーピングモードは、３つの値を有する:
NO_GROUPING; 
10G_1G_GROUPING;
1G_10G_GROUPING. 
以下の表は、様々な可能な組み合わせに対する割当の結果を示す。
【００６０】
シャフリングスキーム  シャフリング優先    シャフリングモード    シャフリング結果
ALL                   GROUPING_HIGH      NO_GROUPING         順番なし
ALL                   GROUPING_HIGH      10G_1G_GROUPING      10G, 1G
ALL                   GROUPING_HIGH      1G_10G_GROUPING      1G, 10G
ALL                   GROUPING_LOW      NO_GROUPING          順番なし
ALL                   GROUPING_LOW      10G_1G_GROUPING       10G, 1G
ALL                   GROUPING_LOW      1G_10G_GROUPING       1G, 10G
TYPE 1_TYPE 2         GROUPING_HIGH      NO_GROUPING           TYPE 1, TYPE 2
TYPE 1_TYPE 2         GROUPING_HIGH      10G_1G_GROUPING       10G+TYPE 1,
10G+TYPE 2
1G+TYPE 1,
1G+TYPE 2
TYPE 1_TYPE 2         GROUPING_HIGH     1G_10G_GROUPING        1G+TYPE 1,
1G+TYPE 2
10G+TYPE 1,
10G+TYPE 2
TYPE 1_TYPE 2         GROUPING_LOW      NO_GROUPING           TYPE 1, TYPE 2
TYPE 1_TYPE 2         GROUPING_LOW     10G_1G_GROUPING        10G+TYPE 1,
1G+TYPE 1,
10G+TYPE 2,
1G+TYPE 2
TYPE 1_TYPE 2         GROUPING_LOW     1G_10G_GROUPING         1G+TYPE 1,
10G+TYPE 1,
1G+TYPE 2,
10G+TYPE 2
【００６１】
以下の表は、
シャフリングスキーム＝TYPE 1_TYPE 2、
シャフリング優先＝GROUPING_HIGH、
グルーピングモード＝10G_1G_GROUPING
である割当の例を示す。
８個のＯＮＵがある。以下の表は、これらのＯＮＵの属性を示す。
ONU ID      タイプ           送信速度
1            TYPE 1           1G
2            TYPE 1           1G
3            TYPE 1           1G
4            TYPE 1           10G
5            TYPE 1           10G
6            TYPE 1           10G
7            TYPE 2           1G
8            TYPE 2           10G
【００６２】
ＯＮＵの割当順番が（６, ３, ２, ４, ７, ８, １, ５）とすると、ＯＮＵは４回の反復でシャッフルされる。第１の反復には、１０Ｇの送信速度を有するTYPE 1の全てのＯＮＵを選択し、その順番は割当リスト内に表れる順番であり、６, ４, ５である。
第２の反復には、１０Ｇの送信速度を有するTYPE ２の全てのＯＮＵを選択し、その順番は割当リスト内に表れる順番であり、８である。
第３の反復には、１Ｇの送信速度を有するTYPE １の全てのＯＮＵを選択し、その順番は割当リスト内に表れる順番であり、３，２，１である。
第４の反復には、１Ｇの送信速度を有するTYPE ２の全てのＯＮＵを選択し、その順番は割当リスト内に表れる順番であり、７である。
従って、送信順は、６，４，５，８，３，２，１，７である。
【００６３】
図２は本発明のＯＮＵ２０の機能ブロック図で、図３は本発明のＯＬＴ４０の機能ブロック図である。本発明に直接関連する機能モジュールのみを示す。
【００６４】
図２において、ＯＮＵ２０の機能ブロックは、ＳＬＡ記憶装置２２と、ＯＮＵ２０と、被保障帯域幅トークン・バケット２４と、最大努力帯域幅トークン・バケット２６と、レポート生成装置２８を有する。ＳＬＡ記憶装置２２はＯＮＵのＳＬＡを記憶する。レポート生成装置２８は、ＳＬＡ記憶装置２２内に記憶されたＳＬＡと共に、被保障帯域幅トークン・バケット２４と最大努力帯域幅トークン・バケット２６を用いて、上記した被保障帯域幅リクエストと最大努力帯域幅リクエストとを有するＲＥＰＯＲＴを生成する。図面を簡単にするために、図２は、１個の被保障帯域幅トークン・バケット２４と１個の最大努力帯域幅トークン・バケット２６のみを具備するＯＮＵ２０を示す。複数のフローをサポートするＯＮＵは、１個の被保障帯域幅トークン・バケット２４と、フロー当たり１個の最大努力帯域幅トークン・バケット２６を有する。
図３において、ＯＬＴ４０は、ＯＮＵから受領したＲＥＰＯＲＴをパーシング（解析）するレポート・パーサ４２と、ＯＮＵに送信すべきＧＡＴＥフレームをフォーマッティングするゲートフレームフォーマットモジュールであるゲート・フォーマッタ４４と、上流方向タイムラインを構築する上流方向タイムライン・ビルダ４６と、往復時間を計算する往復時間計算モジュールであるＲＴＴカルキュレータ４８と、ＯＮＵの送信速度を予測するＯＮＵ送信速度計算モジュールであるＯＮＵ  送信速度・エスティメータ５０と、ＯＮＵと送信速度とＯＮＵのそれぞれのＳＬＡに規定された被保障帯域幅に対する比率の昇順でＯＮＵを記憶するＯＮＵソータ５２と、帯域幅をＯＮＵに割り当てる帯域幅割当モジュール５４と、ＯＮＵが送信する順番を決定するシャフリング・モジュール５６と、選択的事項（ＯＮＵが複数のフローを含む場合）として、フロー当たりの送信速度を予測するフロー送信速度・エスティメータ５８と、フローのＯＮＵのＳＬＡで定義された被保障帯域幅に対する比率の昇順でフローをソーティングするフロー・ソータ６０とを有する。
【００６５】
ＯＮＵ２０のモジュール２２、２４、２６、２８は、ハードウェア、フォームウェア、ソフトウェアあるいはそれらの組み合わせで実現できる。ＯＬＴ４０のモジュール４２、４４、４６、４８、５０は、ファームウェア又はソフトウェアで実現できるが、ＯＬＴ４０のモジュール４２、４４、４６、４８、５０は、ハードウェアのアクセラレータで実現するのが好ましい。
【００６６】
ＯＮＵ２０が図１のＯＮＵ１４で置換され、ＯＬＴ４０が図１のＯＬＴ１２で置換される場合には、図１は、本発明のＰＯＮとして機能する。
【００６７】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「Ａ又はＢ」は、「Ａのみ」、「Ｂのみ」ならず、「ＡとＢの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
【符号の説明】
【００６８】
１２  ＯＬＴ
１４  ＯＮＵ
１６  光学スプリッタ
２０  ＯＮＵ
２２  ＳＬＡ記憶装置
２４  被保障帯域幅トークン・バケット
２６  最大努力帯域幅トークン・バケット
２８  レポート生成装置
４０  ＯＬＴ
４２  レポート・パーサ
４４  ゲート・フォーマッタ
４６  上流方向タイムライン・ビルダー
４８  ＲＴＴカルキュレータ
５０  ＯＮＵ送信速度・エスティメータ
５８  フロー送信速度・エスティメータ
５２  ＯＮＵソータ
６０  フロー・ソータ
５４  帯域幅アロケータ
５６  シャフラ
【図１】
2010171977.tif 000003
【図２】
2010171977.tif 000004
【図３】
2010171977.tif 000005
【外国語明細書】
2010171977000001.pdf