(57)【要約】【課題】  輻輳サイクルに複数の光加入者線端局装置に公平に帯域を割当てる。【解決手段】  光加入者線端局装置は、光加入者終端装置と接続可能な光加入者線端局装置であって、光加入者終端装置において送出するために蓄積されている蓄積データの量を示す送出要求量を受信する第１受信手段と、送出要求量に基づき最大送出許可量を決定する決定手段と、最大送出許可量を送信する第１送信手段と、光加入者終端装置に蓄積された蓄積データを、最大送出許可量以内でフレーム単位で送出可能な最大のデータ量である送出予定量を受信する第２受信手段と、送出予定量を送出許可量として含み、データの送信を許可するグラントを送信する第２送信手段とを備える。決定手段は、光加入者線終端装置ごとに満足度を算出する満足度算出手段を含み、輻輳サイクルにあるときに、満足度の低い順に（Ｓ２６）、最大送出許可量を大きな値に決定する（Ｓ２７）。【選択図】        図６
2006005764.tif 000002
【特許請求の範囲】
【請求項１】
光加入者線終端装置と接続可能な光加入者線端局装置であって、
前記光加入者線終端装置において送出するために蓄積されている蓄積データの量を示す送出要求量を前記光加入者線終端装置から受信する第１受信手段と、
前記送出要求量に基づき最大送出許可量を決定する決定手段と、
前記決定された最大送出許可量を前記光加入者線終端装置に送信する第１送信手段と、
前記光加入者線終端装置に蓄積された蓄積データを前記最大送出許可量以内でフレーム単位で送出可能な最大のデータ量である送出予定量を前記光加入者線終端装置から受信する第２受信手段と、
前記送出予定量を送出許可量として含み、データの送信を許可するグラントを前記光加入者線終端装置に送信する第２送信手段とを備え、
前記決定手段は、光加入者線終端装置ごとに満足度を算出する満足度算出手段を含み、
輻輳サイクルにあるときに、前記満足度の低い順に、前記最大送出許可量を大きな値に決定する、光加入者線端局装置。
【請求項２】
前記満足度算出手段は、前記送出要求量と前記最大送出許可量とから満足度を決定する、請求項１に記載の光加入者線端局装置。
【請求項３】
前記満足度算出手段は、前記満足度を、前記送出要求量がゼロの場合は、ゼロ以外の場合に比べて高い値とする、請求項２に記載の光加入者線端局装置。
【請求項４】
前記満足度算出手段は、前記満足度を、前記送出要求量が大きく、かつ、前記最大送出許可量が小さいほど低い値とする、請求項２に記載の光加入者線端局装置。
【請求項５】
前記満足度算出手段は、輻輳サイクルが継続する間、前記満足度を平均した値とする、請求項１に記載の光加入者線端局装置。
【請求項６】
前記決定手段は、輻輳サイクルにあるときは、前記送出要求量が所定の値以下の場合に前記最大送出許可量を前記送出要求量とし、前記送出要求量が所定の値を超える場合に前記最大送出許可量をまず前記所定の値とし、次に、満足度の低い前記光加入者線終端装置から順に、前記所定の値に付加値を付加した値とする、請求項１に記載の光加入者線端局装置。
【請求項７】
前記決定手段は、前記付加値の最大値を、前記送出要求量から前記所定の値を減じた値と、輻輳サイクル期間と付加値を付加する以前の最大送出許可量とから定まる残余帯域の値のうちから選択する、請求項６に記載の光加入者線端局装置。
【請求項８】
前記決定手段は、前記最大送出許可量と前記所定の値を前記光加入者線終端装置毎に可変とし、前記付加値の最大値を、前記送出要求量から前記所定の値を減じた値と、輻輳サイクル期間と付加値を付加する以前の最大送出許可量とから定まる残余帯域の値と、前記最大送出許可量から前記所定の値を減じた値のうちから選択する、請求項６に記載の光加入者線端局装置。
【請求項９】
前記決定手段は、非輻輳サイクルにあるときは、前記最大送出許可量を前記送出要求量とする、請求項１に記載の光加入者線端局装置。
【請求項１０】
前記決定手段は、前記最大送出許可量の上限値を第２の所定の値とする、請求項９に記載の光加入者線端局装置。
【請求項１１】
光加入者線終端装置と接続可能な光加入者線端局装置で実行される帯域割当プログラムであって、
前記光加入者線終端装置において送出するために蓄積されている蓄積データの量を示す送出要求量を前記光加入者線終端装置から受信するステップと、
前記送出要求量に基づき最大送出許可量を決定するステップと、
前記決定された最大送出許可量を前記光加入者線終端装置に送信するステップと、
前記光加入者線終端装置に蓄積された蓄積データを、前記最大送出許可量以内でフレーム単位で送出可能な最大のデータ量である送出予定量を前記光加入者線終端装置から受信するステップと、
前記送出予定量を送出許可量として含み、データの送信を許可するグラントを前記光加入者線終端装置に送信するステップとをコンピュータに実行させ、
前記決定ステップは、光加入者線終端装置ごとに満足度を算出するステップと、
輻輳サイクルにあるときに、前記満足度の低い順に、前記最大送出許可量を大きな値に決定するステップとを含む、帯域割当プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の宅側装置が媒体を共有してデータの伝送を行なう媒体共有型通信であるＰＯＮ（Passive Optical Network）に関し、特に、データをイーサネット（登録商標）フレームのまま伝送を行なうＥＰＯＮ（Ethernet(登録商標 )PON）における上り帯域を効率的に割当てるＯＬＴ（光加入者線端局装置）およびそれによって実行される帯域割当プログラムに関する。
【背景技術】
【０００２】
近年、インターネットが広く普及しており、利用者は世界各地で運営されているサイトの様々な情報にアクセスし、その情報を入手することが可能である。それに伴って、ＡＤＳＬ（Asymmetric Digital Subscriber Line）、ＦＴＴＨ（Fiber To The Home）などのブロードバンドアクセスに対する要望も急速に高まってきている。
【０００３】
図１１は、従来のＰＯＮシステムの概略構成を示すブロック図である。このＰＯＮシステムは、主に電話局などに設置されるＯＬＴ１０１と、主に各宅内に設置される複数のＯＮＵ１０２−１〜１０２−ｎと、ＯＬＴ１０１から送出される光信号を分岐してＯＮＵ１０２−１〜１０２−ｎに送出し、ＯＮＵ１０２−１〜１０２−ｎから送出される光信号を集束してＯＬＴ１０１に送出するスプリッタ１０５と、ＯＮＵ１０２−１〜１０２−ｎのそれぞれに接続されるユーザ端末１１１とを含む。なお、第１のＯＮＵ１０２−１〜第ｎのＯＮＵ１０２−ｎは、それぞれ同じ構成を有している。
【０００４】
ＯＬＴ１０１は、上位ネットワーク１０９を介して受信したデータを、伝送路１０４およびスプリッタ１０５を介してＯＮＵ１０２−１〜１０２−ｎに送出する。また、ＯＬＴ１０１は、ＯＮＵ１０２−１〜１０２−ｎから送出されたレポート１０７に基づいて、ＯＮＵ１０２−１〜１０２−ｎ内のバッファ１０３−１〜１０３−ｎに蓄積されているデータの送出開始時刻および送出許可量を演算し、指示信号を挿入したグラント１０６を伝送路１０４およびスプリッタ１０５を介してＯＮＵ１０２−１〜１０２−ｎに送出する。
【０００５】
たとえば、ＯＮＵ１０２−１が下位ネットワーク１１０を介してユーザ端末１１１から上り情報フレーム１０８を受信すると、この上り情報フレーム１０８を一旦バッファ１０３−１に蓄積する。ＯＮＵ１０２−１は、ＯＬＴ１０１からグラント１０６を受信すると、そのグラント１０６によって指定された時刻にバッファ１０３−１内のデータ量をレポート１０７でＯＬＴ１０１に通知する。なお、上り情報フレーム１０８は、可変長パケット単位で到着する。
【０００６】
ＯＮＵ１０２−１は、ＯＬＴ１０１から指示信号を挿入したグラント１０６を受信すると、その指示信号に基づいてバッファ１０３−１内のデータをレポート１０７とともにＯＬＴ１０１に送出する。
【０００７】
図１２は、従来のＰＯＮシステムの動作手順を説明するためのシーケンス図である。なお、このシーケンス図は、ＯＬＴ１０１と、ＯＮＵ１０２−１との動作についてのものであるが、他のＯＮＵ１０２−２〜０２−ｎの動作についても同様である。
【０００８】
運用時間開始時刻Ｔ０において、ＯＬＴ１０１はＯＮＵ１０２−１〜１０２−ｎに関するＲＴＴ（Round Trip Time）を既に計算している。時刻Ｔａ１において、ＯＬＴ１０１は送出要求量を通知させるために、ＯＮＵ１０２−１に対してレポート送出開始時刻Ｔｂ２を含んだグラント１２１を送信する。このレポート送出開始時刻Ｔｂ２は、他のＯＮＵから送信されるレポートと衝突しないように計算される。
【０００９】
ＯＮＵ１０２−１は、自身に対するグラント１２１を受信すると、バッファ１０３−１に蓄積されたデータ量を参照して送出要求量を算出し、グラント１２１に含まれるレポート送出開始時刻Ｔｂ２に、ＯＬＴ１０１に対して送出要求量を含んだレポート１２２を送出する。
【００１０】
ＯＬＴ１０１はレポート１２２を受信すると、固定または可変の最大送出許可量以下となり、かつレポート１２２に含まれるバッファ内データ量のデータをなるべく多く送れるような値を演算し、演算結果を送出許可量としてグラント１２３に挿入する。レポート１２２に含まれる送出要求量がゼロの場合には、ＯＬＴ１０１による演算結果がゼロとなるため帯域が割当てられないが、ＯＮＵ１０２−１にレポートを送出させる必要があるので、ＯＬＴ１０１はＯＮＵ１０２−１に対して必ずグラント１２３を送出する。
【００１１】
グラント１２３に含まれる送出開始時刻Ｔｂ４は、演算済みである前回のＯＮＵデータの受信予定時刻、前回のＯＮＵの送出許可量、現在のＯＮＵに関するＲＴＴおよび固定時間であるガードタイムを用い、データおよびレポートが他のＯＮＵからのデータまたはレポートと衝突しないように計算される。なお、ＯＬＴ１０１は、送出許可量および送出開始時刻Ｔｂ４を含むグラント１２３を送出する時刻Ｔａ３を、グラント１２３が送出開始時刻Ｔｂ４までにＯＮＵ１０２−１に到着するように計算する。
【００１２】
ＯＮＵ１０２−１は、自身に対するグラント１２３を受信すると、グラント１２３に含まれる送出開始時刻Ｔｂ４に、送出許可量分のデータ１２４を、次回の送出要求量を含んだレポートとともにＯＬＴ１０１に送出する。このレポートはデータの直前または直後に送出されるが、データの直前に送出される場合には、送出要求量としてＯＬＴ１０１に報告する値は、バッファ１０３−１に蓄積されているデータ量とデータのデータ量との差分である。
【００１３】
ＯＬＴ１０１はデータおよびレポート１２４を受信すると、データを上位ネットワーク１０９に送出し、レポートについてはレポート１２２に対する処理と同様の処理を行なう。以上説明した処理は、全てのＯＮＵ１０２−１〜１０２−ｎに対して独立に行なわれ、運用時間が終了するまで時刻Ｔａ３〜時刻Ｔａ４の処理が繰返される。
【００１４】
図１３は、分散割当方式の一例を示す図である。この図は、ＯＮＵ数を３とした場合の帯域割当てと、ＯＬＴ−ＯＮＵ間のグラントおよびレポートの送受信とを示すシーケンス図である。
【００１５】
ＯＬＴ１０１は、ＯＮＵ１０２−３、１０２−２および１０２−１に対して、グラント１３１〜１３３を順次送出する。ＯＬＴ１０１は、ＯＮＵ１０２−３、１０２−２および１０２−１からレポート１３４〜１３６を受信すると、最初にデータの送出を許可するＯＮＵ１０２−３に対するグラント１３７を送出する。
【００１６】
ＯＬＴ１０１は、ＯＮＵ１０２−３から送出されるデータ１３８を受信するとともに、これと並行してＯＮＵ１０２−２に対するグラント１３９を送出する。以降同様の処理が繰返され、ＯＬＴ１０１は順次ＯＮＵ１０２−１〜１０２−３に対して帯域を割当てて、データの受信を繰返す。
【００１７】
図１３から分かるように、ユーザ端末１１１から送出されたデータがＯＮＵ１０２−１に到着してから送出されるまでの待ち時間は、ＯＮＵ１０２−１がレポートを送出してから、そのレポートに対応したデータを送出するまでの時間に依存する。すなわち、全てのＯＮＵ１０２−１〜１０２−３からの送出データ量によって変化する。
【００１８】
たとえば、図１１に示すＯＮＵ１０２−１〜１０２−ｎからのレポートによる送出要求量を全て許可すると、レポートの送出からデータの送出までの待ち時間が大幅に増加し、リアルタイムが要求されるサービスに影響を及ぼすだけでなく、ＴＣＰ（Transmission Control Protocol）スループットにも大きく影響を及ぼすことになる。したがって、ＯＮＵ内のバッファにおける待ち時間を許容される時間内に抑えられるように、ＯＬＴ１０１はＯＮＵ１０２−１〜１０２−ｎからの送出データ量を制御する必要がある。
【００１９】
この問題点を解決するために、ＯＬＴ１０１がＯＮＵ１０２−１〜１０２−ｎからレポートを受信した後、ＯＮＵ１０２−１〜１０２−ｎの送出許可量を制限するために、クレジット（最大送出許可量）という概念が導入されている。送信可能になっているＯＮＵの総数をＮ、伝送路１０４の回線速度をｒ［ｂｐｓ］、遅延許容時間をｔｄ［ｓｅｃ］とすると、クレジットｃ［ｂｉｔ］は次式によって算出される。
【００２０】
ｃ＝ｒ×ｔｄ／Ｎ  …（１）
このように、ＯＬＴ１０１は、ＯＮＵ１０２−１〜１０２−ｎのそれぞれに固定量のクレジットを割当て、ＯＮＵ１０２−１〜１０２−ｎからの送出データ量を制御することによって、ＯＮＵ１０２−１〜１０２−ｎ内のバッファ１０３−１〜１０３−ｎにおけるデータの送信待ち時間を許容される時間内に抑えている。
【００２１】
これに関連する先行技術として、「IPACT:A Dynamic Protocol for an Ethernet(R) PON」（Glen Kramer他、pp74-80,IEEE Commun,Feb.2002.）（以下、第１の先行技術と呼ぶ。）および「GE-PONに適した動的帯域割当アルゴリズム」（吉原他、信学技報、NS2002-17,pp1-4,2002.04）（以下、第２の先行技術と呼ぶ。）がある。
【００２２】
第１の先行技術は、ＥＰＯＮ方式のＦＴＴＨサービスにおける動的割当方式に関するものであり、ＯＬＴが各ＯＮＵに対して独立にレポートを送出させ、その都度ＯＬＴが対応するＯＮＵにグラントを発行する分散型割当方式に関するものである。
【００２３】
また、第２の先行技術は集中型割当方式に関するものであり、ＯＮＵが、グラント周期あたりに割当可能な最大データサイズを上限としたバッファ量と、バッファの先頭から規定の上限値以下のバッファ量とをレポートとして送出する。ＯＬＴは、先頭のＯＮＵから順に上限値以下のバッファ量を許可し、グラント周期の最後のＯＮＵのみに未割当帯域分をグラントとして与えることにより、割当ロスを軽減している。
【００２４】
式（１）によって算出したクレジットを各ＯＮＵに割当てる方法においては、クレジットが小さいと少数のＯＮＵのみが回線を独占できるような状態であっても、上り帯域を効率的に利用できないといった問題点があった。
【００２５】
図１４は、第１の先行技術における問題点を説明するための図である。ＯＬＴが、ＯＮＵ＃１から受信したレポートに含まれる送信要求量（バッファ申告量）に対して、送信許可帯域のみを認めた場合には、ＯＮＵ＃１は送信許可帯域に対してＭＡＣ（Media Access Control）フレーム１４１、１４２および１４３を送出するが、送信許可帯域内でＭＡＣフレーム１４４を送出できないため割当ロスが発生する。
【００２６】
同様に、ＯＮＵ＃２は送信許可帯域内でＭＡＣフレーム１５３を送出できず、ＯＮＵ＃３は送信許可帯域内でＭＡＣフレーム１６３を送出できないため、それぞれ割当ロスが発生する。この割当ロスは、最悪の場合、最大ＭＡＣフレーム長に相当する。したがって、上り情報フレームを効率的に送信することができないといった問題点があった。
【００２７】
また、第２の先行技術においては、ＯＬＴが同一周期内で大きな許可量を与えるＯＮＵの台数を１台としており、その他のＯＮＵは小さな許可量しか割当てられないので上り情報フレームがバッファに蓄積されている時間が長くなるという問題点があった。
【非特許文献１】IPACT:A Dynamic Protocol for an Ethernet(R) PON（Glen Kramer他、pp74-80,IEEE Commun,Feb.2002.）
【非特許文献２】GE-PONに適した動的帯域割当アルゴリズム（吉原他、信学技報、NS2002-17,pp1-4,2002.04）
【発明の開示】
【発明が解決しようとする課題】
【００２８】
本発明は、上記問題点を解決するためになされたものであり、この発明の目的の一つは、上り帯域を効率的に利用するとともに、輻輳サイクルに公平に帯域を割当てることが可能な光加入者線端局装置を提供することが可能な光加入者線端局装置および帯域割当プログラムを提供することである。
【００２９】
この発明の他の目的は、特定の光加入者線終端装置に偏って帯域が割当てられるのを防止した光加入者線端局装置を提供することである。
【課題を解決するための手段】
【００３０】
上述した目的を達成するために、この発明のある局面によれば、光加入者線端局装置は、光加入者線終端装置と接続可能な光加入者線端局装置であって、光加入者線終端装置において送出するために蓄積されている蓄積データの量を示す送出要求量を光加入者線終端装置から受信する第１受信手段と、送出要求量に基づき最大送出許可量を決定する決定手段と、決定された最大送出許可量を光加入者線終端装置に送信する第１送信手段と、光加入者線終端装置に蓄積された蓄積データを、最大送出許可量以内でフレーム単位で送出可能な最大のデータ量である送出予定量を光加入者線終端装置から受信する第２受信手段と、送出予定量を送出許可量として含み、データの送信を許可するグラントを光加入者線終端装置に送信する第２送信手段とを備え、決定手段は、光加入者線終端装置ごとに満足度を算出する満足度算出手段を含み、輻輳サイクルにあるときに、満足度の低い順に、最大送出許可量を大きな値に決定する。
【００３１】
この発明に従えば、光加入者線終端装置から受信した送出要求量に基づき決定される最大送出許可量を送信し、最大送出許可量以内でフレーム単位で送出可能な最大のデータ量である送出予定量を光加入者線終端装置から受信し、その受信した送出予定量を送出許可量とし送信する。また、輻輳サイクルにあるときに、満足度の低い順に、最大送出許可量を大きな値に決定する。このため、上り帯域を効率的に利用するとともに、輻輳サイクルに公平に帯域を割当てることが可能な光加入者線端局装置を提供することができる。
【００３２】
好ましくは、満足度算出手段は、送出要求量と最大送出許可量とから満足度を決定する。
【００３３】
好ましくは、満足度算出手段は、満足度を、送出要求量がゼロの場合は、ゼロ以外の場合に比べて高い値とする。
【００３４】
好ましくは、満足度算出手段は、満足度を、送出要求量が大きく、かつ、最大送出許可量が小さいほど低い値とする。
【００３５】
好ましくは、満足度算出手段は、輻輳サイクルが継続する間、満足度を平均した値とする。
【００３６】
この発明に従えば、輻輳サイクルが継続する間で公平に帯域を割当てることができる。
【００３７】
好ましくは、決定手段は、輻輳サイクルにあるときは、送出要求量が所定の値以下の場合に最大送出許可量を送出要求量とし、送出要求量が所定の値を超える場合に最大送出許可量をまず所定の値とし、次に、満足度の低い前記光加入者線終端装置から順に、所定の値に付加値を付加した値とする。
【００３８】
好ましくは、決定手段は、付加値の最大値を、前記送出要求量から前記所定の値を減じた値と、輻輳サイクル期間と付加値を付加する以前の最大送出許可量とから定まる残余帯域の値のうちから選択する。
【００３９】
好ましくは、決定手段は、最大送出許可量と所定の値を光加入者線終端装置毎に可変とし、付加値の最大値を、送出要求量から所定の値を減じた値と、輻輳サイクル期間と付加値を付加する以前の最大送出許可量とから定まる残余帯域の値と、最大送出許可量から所定の値を減じた値のうちから選択する。
【００４０】
この発明に従えば、特定の光加入者線端局装置に偏って帯域が割当てられるのを防止することができる。
【００４１】
好ましくは、決定手段は、非輻輳サイクルにあるときは、最大送出許可量を送出要求量とする。
【００４２】
好ましくは、決定手段は、最大送出許可量の上限値を第２の所定の値とする。
【００４３】
この発明に従えば、最大創出許可量に上限を設けたので、特定の光加入者線終端装置に偏って帯域が割当てられるのを防止した光加入者線端局装置を提供することができる。
【００４４】
この発明の他の局面によれば、帯域割当プログラムは、光加入者線終端装置と接続可能な光加入者線端局装置で実行される帯域割当プログラムであって、光加入者線終端装置において送出するために蓄積されている蓄積データの量を示す送出要求量を光加入者線終端装置から受信するステップと、送出要求量に基づき最大送出許可量を決定するステップと、決定された最大送出許可量を光加入者線終端装置に送信するステップと、光加入者線終端装置に蓄積された蓄積データを、最大送出許可量以内でフレーム単位で送出可能な最大のデータ量である送出予定量を光加入者線終端装置から受信するステップと、送出予定量を送出許可量として含み、データの送信を許可するグラントを光加入者線終端装置に送信するステップとをコンピュータに実行させ、決定ステップは、光加入者線終端装置ごとに満足度を算出するステップと、輻輳サイクルにあるときに、満足度の低い順に、最大送出許可量を大きな値に決定するステップとを含む。
【００４５】
この発明に従えば、輻輳サイクルにあるときに、満足度の低い順に、最大送出許可量を大きな値に決定するので、輻輳サイクルに複数の光加入者線端局装置に公平に帯域を割当てることが可能な帯域割当プログラムを提供することができる。
【発明を実施するための最良の形態】
【００４６】
図１は、本発明の実施の形態の１つにおけるＯＬＴの概略構成を示すブロック図である。このＯＬＴ１は、ＯＮＵからの光信号を受信してフレームを出力する受信部１１と、受信部１１から受けたデータフレームを上位ネットワークに送出する送信部１２と、受信部１１から受けたレポートフレームに基づいてグラントフレームを生成したり、上位ネットワークから受信したデータフレームの送信制御を行なったりする制御フレーム処理部１３と、上位ネットワークからのフレームを受信する受信部１４と、受信部１４によって受信されたフレームを蓄積するバッファメモリ１５と、制御フレーム処理部１３による制御によってバッファメモリ１５に蓄積されたフレームをＯＮＵに送出する送信部１６とを含む。なお、バッファメモリ１５は、レジスタ、フリップフロップ回路、ラッチ回路など、データを記憶できるものであればよい。
【００４７】
受信部１１は、ＯＮＵからの光信号を受信し、フレームのヘッダ部分を読取ることによってデータフレームであるか、レポートフレームなどの制御フレームであるかを判定する。受信したフレームがデータフレームであれば、受信部１１は当該データフレームを送信部１２に転送する。また、受信したフレームが制御フレームであれば、受信部１１は当該制御フレームを制御フレーム処理部１３に転送する。
【００４８】
送信部１２は、受信部１１からデータフレームを受けると、当該データフレームを上位ネットワークに送出する。
【００４９】
制御フレーム処理部１３は、後述する到着予定時刻記憶テーブル、ＲＴＴ記憶テーブル、アクティブ情報記憶テーブルおよび満足度記憶テーブルを含み、帯域割当演算機能および下り制御フレーム作成機能を有している。制御フレーム処理部１３は、受信部１１からレポートフレームを受けると、後述する処理によってグラントフレームを作成してバッファメモリ１５に転送する。また、制御フレーム処理部１３は、バッファメモリ１５に蓄積されているフレームの送信制御も行なう。
【００５０】
また、制御フレーム処理部１３は、新たに接続されたＯＮＵがないか否かを定期的に検知するための制御フレームを生成して送出し、その検知結果に応じてアクティブ情報記憶テーブル等のテーブルの内容の書換えを行なう。また、制御フレーム処理部１３は、接続されていたＯＮＵが切断された場合には、それを検知してアクティブ情報記憶テーブル等のテーブルの内容の書換えを行なう。
【００５１】
受信部１４は、上位ネットワークからのフレームを受信し、バッファメモリ１５に転送する。バッファメモリ１５は、制御フレーム処理部１３および受信部１４から転送された制御フレームおよびデータフレームをキューに蓄積し、制御フレーム処理部１３による制御によってキューに蓄積されたフレームを送信部１６に転送する。送信部１６は、バッファメモリ１５から転送された制御フレームおよびデータフレームをＯＮＵへ送出する。
【００５２】
ＯＬＴ１は、フラッシュＲＯＭ１７を装着可能である。フラッシュＲＯＭ１７は、コンピュータで読取および実行可能な帯域割当プログラムが記憶される。そのような帯域割当プログラムは、ＯＬＴ１が備える外部記憶装置によって読取られ、ＯＬＴ１が備えるランダムアクセスメモリ（ＲＡＭ）に不揮発的に記憶され、ＣＰＵで実行される。なお、帯域割当プログラムをフラッシュＲＯＭ１７に記録するのではなく、ＯＬＴ１が備えるリードオンリーメモリ（ＲＯＭ）に予め記憶しておくようにしてもよい。また、上位ネットワークを介して、他のコンピュータからダウンロードするようにしてもよい。
【００５３】
なお、帯域割当てプログラムは、フラッシュＲＯＭ１７の他に、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＦＤ（Flexible Disc）、ハードディスク、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc）、ＩＣカード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリに記憶するようにしてもよい。
【００５４】
また、ここでいう帯域割当プログラムとは、ＯＬＴ１のＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５５】
図２は、本実施の形態におけるＯＮＵの概略構成を示すブロック図である。このＯＮＵ２は、ＯＬＴ１からの光信号を受信して自身宛てのフレームを出力する受信部２１と、受信部２１から受けたデータフレームをユーザ側の端末に送出する送信部２２と、受信部２１から受けたグラントフレームに基づいてレポートフレームを生成したり、ユーザ側の端末から受信したデータフレームの送信制御を行なったりする制御フレーム処理部２３と、ユーザ側の端末からのフレームを受信する受信部２４と、受信部２４によって受信されたデータフレームおよび制御フレーム処理部２３によって生成された制御フレームを蓄積するバッファメモリ２５と、制御フレーム処理部２３による制御によってバッファメモリ２５に蓄積されたフレームをＯＬＴに送出する送信部２６と、受信部２４によって受信された各データフレームの長さをカウントするカウンタ２７とを含む。
【００５６】
受信部２１は、ＯＬＴからの光信号を受信し、フレームのヘッダ部分を読取ることによって当該フレームが自身宛てであるか否かを判定する。受信部２１は、受信したフレームが自身宛てであれば当該フレームを取込み、他のＯＮＵ宛てまたは他のＯＮＵに接続される装置宛てであれば当該フレームを廃棄する。また、受信部２１は、取込んだフレームのヘッダ部分によってデータフレームであるか、グラントフレームなどの制御フレームであるかを判定する。受信したフレームがデータフレームであれば、受信部２１は当該データフレームを送信部２２に転送する。また、受信したフレームが制御フレームであれば、受信部２１は当該制御フレームを制御フレーム処理部２３に転送する。
【００５７】
送信部２２は、受信部２１からデータフレームを受けると、当該データフレームをユーザ側の端末等が接続されるリンクへ送出する。
【００５８】
制御フレーム処理部２３は、カウンタ２７から転送されるデータフレームの長さを記憶するデータ長記憶テーブルを含み、送出要求量の演算機能および上り制御フレーム作成機能を有している。制御フレーム処理部２３は、受信部１１からグラントフレームを受けると、後述する処理によってレポートフレームを作成してバッファメモリ２５に転送する。また、制御フレーム処理部２３は、バッファメモリ２５に蓄積されているフレームの送信制御も行なう。
【００５９】
また、制御フレーム処理部２３は、ＯＬＴからのグラントフレーム以外の制御フレームの処理を実行してバッファメモリ２５に蓄積し、制御フレームの送信制御も行なう。
【００６０】
受信部２４は、ユーザ側の端末（リンク）からのフレームを受信し、バッファメモリ２５に転送する。バッファメモリ２５は、制御フレーム処理部２３および受信部２４から転送された制御フレームおよびデータフレームをフレーム種類毎に一旦キューに蓄積し、制御フレーム処理部１３による制御によってキューに蓄積されたフレームを送信部２６に転送する。送信部２６は、バッファメモリ２５から転送された制御フレームおよびデータフレームをＯＬＴへ送出する。
【００６１】
カウンタ２７は、受信部２４によって受信されたデータフレームの長さをカウントし、データフレーム毎の長さを制御フレーム処理部２３に通知する。
【００６２】
図３は、本実施の形態におけるＯＬＴとＯＮＵとの間の通信手順の一例を示す図である。この通信手順では、ＯＮＵ２がデータの送信を要求してからデータを送信するまでに３サイクルを必要とする。ここでは、この３サイクルを、変数ｉを用いてサイクル＃ｉ〜サイクル＃ｉ＋２で示す。また、第ｔ番目のＯＮＵをＯＮＵ（ｔ）で示す。ただし、１≦ｔ≦Ｎ、ＮはＯＮＵの台数である。上述したように、１サイクルでＯＬＴ１は複数のＯＮＵ（ｔ）と通信する。
【００６３】
＜サイクル＃ｉ＞
ＯＮＵ（ｔ）は、ＯＬＴ１に対して送信を要求するデータ量を示す要求量Ｒｔ（ｉ＋２）を送信する。この要求量Ｒｔ（ｉ＋２）は、通常は、ＯＮＵ（ｔ）のバッファメモリ２５に蓄積されたデータ量である。また、蓄積された全てのデータのデータ量とするのではなく、上限値を設けるようにしてもよい。また、この要求量Ｒｔ（ｉ＋２）は、サイクル＃ｉ＋２でＯＮＵ（ｔ）に割当てる帯域を定めるために用いられる。
【００６４】
ＯＬＴ１では、サイクル＃ｉで、全てのＯＮＵ（ｔ）（１≦ｔ≦Ｎ）からＲｔ（ｉ＋２）を受信する。これにより、サイクル＃ｉ＋２におけるＯＮＵ２からのデータの送信が輻輳するか否かを判定する。サイクル＃ｉ＋２の期間は予め定まっているので、Ｒｔ（ｉ）の総和から定まる通信時間が、サイクル＃ｉ＋２の期間を超えている場合に、輻輳サイクルと判定し、超えていない場合に非輻輳サイクルと判定する。
【００６５】
また、ＯＬＴ１は、ＯＮＵ（ｔ）ごとにクレジットＣｔ（ｉ＋２）を決定する。このクレジットＣｔ（ｉ＋２）は、サイクル＃ｉ＋２でＯＮＵ（ｔ）に割当てる帯域を定めるために用いられる。クレジットＣｔ（ｉ＋２）の決定処理については、後で詳細に説明する。
【００６６】
＜サイクル＃ｉ＋１＞
ＯＬＴ１は、ＯＮＵ（ｔ）にクレジットＣｔ（ｉ＋２）を送信する。  ＯＮＵ（ｔ）では、クレジットＣｔ（ｉ＋２）が受信される。すると、ＯＮＵ（ｔ）では、クレジット以下であり、かつ送出する先頭のデータフレームから、フレーム単位で送出できる最大のデータ量を送信量Ｓｔ（ｉ＋２）としてＯＬＴに通知する。すると、ＯＬＴ１では、全てのＯＮＵ（ｔ）から送信量Ｓｔ（ｉ＋２）が受信される。この送信量Ｓｔ（ｉ＋２）は、サイクルｉ＋２でＯＮＵ（ｔ）に割当てる帯域を定めるものである。これにより、ＯＬＴ１では、サイクルｉ＋１の段階で、サイクル＃ｉ＋２においてＯＮＵ（ｔ）それぞれからどれだけのデータが受信されるかを認識することができる。ＯＬＴ１は、受信した送信量Ｓｔ（ｉ＋２）をサイクルｉ＋２で送信を許可する許可量Ｇｔ（ｉ＋２）に決定する。
【００６７】
＜サイクル＃ｉ＋２＞
ＯＬＴ１は、許可量Ｇｔ（ｉ＋２）をＯＮＵ（ｔ）に送信する。ＯＮＵ（ｔ）では、許可量Ｇｔ（ｉ＋２）を受信して、バッファメモリ２５に蓄積されているデータのうち送出する先頭のデータフレームから許可量Ｇｔ（ｉ＋２）だけのデータをＯＬＴ１に送信する。
【００６８】
ここでは、説明のために、サイクル＃ｉ＋２でＯＮＵ（ｔ）に割当てられる帯域を決定するための手順を説明したが、実際には、サイクル＃ｉでは次のデータが送受信される。
【００６９】
（１）サイクル＃ｉにおける帯域割当てに関するデータ
・ＯＬＴ１からＯＮＵ（ｔ）に送信されるデータ：許可量Ｇｔ（ｉ）
・ＯＮＵ（ｔ）からＯＬＴ１に送信されるデータ：許可量Ｇｔ（ｉ）分のデータＤｔ（ｉ）
（２）サイクル＃ｉ＋１における帯域割当てに関するデータ
・ＯＬＴ１からＯＮＵ（ｔ）に送信されるデータ：クレジットＣｔ（ｉ＋１）
・ＯＮＵ（ｔ）からＯＬＴ１に送信されるデータ：送信量Ｓｔ（ｉ＋１）
（３）サイクル＃ｉ＋２における帯域割当てに関するデータ
・ＯＮＵ（ｔ）からＯＬＴ１に送信されるデータ：要求量Ｒｔ（ｉ＋２）
ここでは、説明のために、サイクル＃ｉでＯＬＴ１からＯＮＵ（ｔ）に送信される許可量Ｇｔ（ｉ）と、クレジットＣｔ（ｉ＋１）とを別々にしたが、これらを１つのフレームで送信するようにしてもよいし、別のフレームで送信するようにしてもよい。同様に、サイクル＃ｉでＯＮＵ（ｔ）からＯＬＴ１に送信される要求量Ｒｔ（ｉ＋２）と、送信量Ｓｔ（ｉ＋１）とを別々にしたが、これらを１つのフレームで送信するようにしてもよいし、別のフレームで送信するようにしてもよい。以下の説明では、サイクル＃ｉでＯＬＴ１からＯＮＵ（ｔ）に送信される許可量Ｇｔ（ｉ）と、クレジットＣｔ（ｉ＋１）とが１つのフレームで送信され、ＯＮＵ（ｔ）からＯＬＴ１に送信される要求量Ｒｔ（ｉ＋２）と、送信量Ｓｔ（ｉ＋１）とが１つのフレームで送信されるものとして説明する。
【００７０】
なお、ここでは説明のために、ＯＬＴ１は、１つのサイクルで全てのＯＮＵ（ｔ）とデータの送受信をするようにしたが、複数のサイクルで全てのＯＮＵ（ｔ）とデータの送受信をするようにしてもよい。
【００７１】
図４は、ＯＬＴ１の制御フレーム処理部１３の処理手順を説明するためのフローチャートである。まず、制御フレーム処理部１３は、サイクル＃ｉにおいて、受信部１１によって受信されたＯＮＵ（ｔ）からのレポートフレームを受けると（ステップＳ１１）、レポートフレームのヘッダの送信元情報を参照して、記憶テーブルから送信元情報に対応するＯＮＵ（ｔ）の情報を読込む（ステップＳ１２）。レポートフレームには、ＯＮＵ（ｔ）がサイクル＃ｉ＋２に送信を希望する要求量Ｒｔ（ｉ＋２）と、ＯＮＵ（ｔ）がサイクル＃ｉ＋１に送信するデータ量を示す送信量Ｓｔ（ｉ＋１）とが含まれる。
【００７２】
図５は、制御フレーム処理部１３内に設けられた記憶テーブルの一例を示す図である。図５（ａ）は、到着予定時刻記憶テーブルを示しており、現時刻でアクティブと判定されているＯＮＵ（ｔ）の番号ｋに対応して、フレームの到着予定時刻が格納される。この到着予定時刻記憶テーブルは、レポート／グラントフレーム処理時に更新される。
【００７３】
図５（ｂ）は、ＲＴＴ記憶テーブルを示しており、送信可能になっているＯＮＵ（ｔ）の番号１〜Ｎに対応して、それぞれのＲＴＴが格納される。このＲＴＴ記憶テーブルは、ＯＮＵとの間の距離測定時に更新される。
【００７４】
図５（ｃ）は、アクティブ情報記憶テーブルを示しており、送信可能になっているＯＮＵ（ｔ）の番号１〜Ｎに対応して、それぞれのＯＮＵがアクティブである否かの情報が格納される。このアクティブ情報記憶テーブルは、新たなＯＮＵが検知されたとき、ＯＮＵの切断が検知されたとき、およびレポート／グラント処理時に更新される。
【００７５】
新たなＯＮＵが検知された場合には、ＲＴＴ記憶テーブルおよびアクティブ情報記憶テーブルにそのＯＮＵに対応した情報が追加される。また、ＯＮＵの切断が検知された場合には、ＲＴＴ記憶テーブルおよびアクティブ情報記憶テーブルからそのＯＮＵに対応した情報が削除される。
【００７６】
新たなＯＮＵがネットワークに接続されると、ＯＬＴ１が定期的に送出する下り制御フレームに応答して、ＯＮＵは上り制御フレームを送出する。ＯＬＴ１は、ＯＮＵからその制御フレームを受信することによってＯＮＵが接続されたことを認知し、その応答時間によってＯＬＴ１とＯＮＵとの間の往復時間、すなわちＲＴＴを検知する。
【００７７】
また、ＯＬＴ１は、ＯＮＵに送出したグラントフレームに対してある一定時間以上レポートフレームが返送されない場合、またはＯＮＵから切断要求を示す制御フレームを受信した場合には、ＯＮＵが切断されたと判断する。
【００７８】
図５（ｄ）は、満足度記憶テーブルを示しており、送信可能になっているＯＮＵ（ｔ）の番号１〜Ｎに対応して、それぞれのＯＮＵ（ｔ）の満足度が格納される。満足度は、輻輳サイクル毎に全てのＯＮＵごとに算出されて記憶される。また、満足度は輻輳サイクルが継続する場合には、継続している間の平均値が記憶される。さらに、満足度は輻輳サイクルが終了すると最大値の「１」にリセットされる。
【００７９】
再び、図４のフローチャートの説明に戻る。次に、制御フレーム処理部１３は、記憶テーブルから読込んだ当該ＯＮＵ（ｔ）のひとつ前に処理されたＯＮＵ（ｔ−１）の到着予定時刻および許可量Ｇｔ−１（ｉ＋１）と、当該ＯＮＵ（ｔ）のＲＴＴとから、当該ＯＮＵ（ｔ）の次のサイクル＃ｉ＋１の到着予定時刻および送出開始時刻を計算する（ステップＳ１３）。ＯＮＵ（ｔ−１）の許可量Ｇｔ−１（ｉ＋１）は、ステップＳ１１で受信されたＯＮＵ（ｔ−１）のレポートフレームに含まれる送信量Ｓｔ−１（ｉ＋１）である。
【００８０】
また、制御フレーム処理部１３は、要求量Ｒｔ（ｉ＋２）よりサイクル＃ｉ＋２の帯域割当てのためのクレジットＣｔ（ｉ＋２）を計算する（ステップＳ１４）。このクレジットＣｔ（ｉ＋２）の算出については後述する。
【００８１】
次に、制御フレーム処理部１３は、要求量Ｒｔ（ｉ＋２）から当該ＯＮＵが現時刻においてアクティブであるか否かを判定する。そして、当該ＯＮＵ（ｔ）がアクティブであるか否かによって記憶テーブルの内容を更新する（ステップＳ１５）。
【００８２】
最後に、制御フレーム処理部１３は、送信元アドレス（ＯＬＴ１のアドレス）、送信先アドレス（当該ＯＮＵ（ｔ）のアドレス）、送出開始時刻、クレジットＣｔ（ｉ＋２）および許可量Ｇｔ（ｉ＋１）によって構成されるグラントフレームを作成してバッファメモリ１５に転送し、サイクル＃ｉ＋１の下りデータフレームの間にこのグラントフレームの送出を指示する（ステップＳ１６）。許可量Ｇｔ（ｉ＋１）は、ステップＳ１１で受信されたレポートフレームに含まれる送信量Ｓｔ（ｉ＋１）がそのまま割当てられる。
【００８３】
このように、ＯＮＵから受信された送信量Ｓｔ（ｉ＋１）をそのまま許可量Ｇｔ（ｉ＋１）に割当てるので、帯域の割当てロスを最小にすることができ、上り帯域を効率的に利用することができる。
【００８４】
図６は、図４のステップＳ１４で実行されるクレジット決定処理の流れを示すフローチャートである。ここでは、図４のステップＳ１１でサイクル＃ｉにおいてＯＮＵ（ｔ）からレポートフレームが受信された場合について説明する。この場合、レポートフレームには、ＯＮＵ（ｔ）がサイクル＃ｉ＋２に送信を希望する要求量Ｒｔ（ｉ＋２）と、ＯＮＵ（ｔ）がサイクル＃ｉ＋１に送信するデータ量を示す送信量Ｓｔ（ｉ＋１）とが含まれていた。したがって、クレジット決定処理では、サイクル＃ｉ＋２の帯域を割当てるためのクレジットＣｔ（ｉ＋２）が決定される。
【００８５】
図６を参照して、まず、サイクル＃ｉ＋２が輻輳サイクルであるか否かが判断される（ステップＳ２１）。輻輳サイクルと判断された場合にはステップＳ２２へ進み、そうでなく非輻輳サイクルと判断された場合にはステップＳ２９に進む。ＯＬＴ１は、全てのＯＮＵ（ｔ）（１≦ｔ≦Ｎ）からＲｔ（ｉ＋２）を受信する。一方、サイクル＃ｉ＋２の期間は予め定まっているので、Ｒｔ（ｉ＋２）の通信時間の総和が、サイクル＃ｉ＋２の期間を超えている場合に、輻輳サイクルと判定し、超えていない場合に非輻輳サイクルと判定する。
【００８６】
ステップＳ２９では、満足度記憶テーブルをリセットし、次のステップＳ３０では、クレジットＣｔ（ｉ＋２）に要求量Ｒｔ（ｉ＋２）をそのまま割当てる。その後処理を終了する。非輻輳サイクルの場合には、要求量Ｒｔ（ｉ＋２）の全ての送信を許可しても、送信できなくなるＯＮＵ（ｔ）は存在しないからである。
【００８７】
ステップＳ２２では、要求量Ｒｔ（ｉ＋２）がしきい値Ｗ［ｂｉｔ］を超えているか否かが判断される。超えている場合にはステップＳ２３に進み、超えていない場合にはステップＳ２４に進む。このしきい値Ｗは、予め定められたものを用いればよい。例えば、サイクル＃ｉ＋２の期間をＯＮＵ（ｔ）の総数Ｎで除算した期間から定まる値を用いることができる。
【００８８】
ステップＳ２３では、クレジットＣｔ（ｉ＋２）にしきい値Ｗを割当て、ステップＳ２５に進む。一方、ステップＳ２４では、クレジットＣｔ（ｉ＋２）に要求量Ｒｔ（ｉ＋２）をそのまま割当て、ステップＳ２５に進む。
【００８９】
ステップＳ２５では、残余帯域Ｔ（ｉ＋２）があるか否かが判断される。残余帯域Ｔ（ｉ＋２）は、サイクル＃ｉ＋２の期間から、先に割当てたクレジットＣｔ（ｉ＋２）の通信時間の総和を減算した値である。残余帯域Ｔ（ｉ＋２）がゼロを超える場合には、ステップＳ２６に進み、そうでない場合にはステップＳ３１に進む。
【００９０】
ステップＳ２６では、満足度記憶テーブルを参照して、ステップＳ２２で要求量Ｒｔ（ｉ＋２）がしきい値Ｗを超えているＯＮＵ（ｔ）のうち、満足度の最も低いものが抽出される。そのようなＯＮＵが複数ある場合には、いずれか１つのＯＮＵを適宜定めればよい。抽出されたＯＮＵをＯＮＵ（Ｓ）とする。
【００９１】
そして、抽出されたＯＮＵ（Ｓ）に対応するクレジットＣｓ（ｉ＋２）をしきい値Ｗに付加値Ｂ（ｉ＋２）を加算した値に更新する（ステップＳ２７）。ここで、付加値Ｂ（ｉ＋２）は、ＯＮＵ（Ｓ）の要求量Ｒｓ（ｉ＋２）からしきい値Ｗを減算した値と、残余帯域Ｔ（ｉ＋２）のいずれか低い方以下の範囲内の値に設定される。
【００９２】
０≦Ｂ（ｉ＋２）≦ｍｉｎ（Ｒｓ（ｉ＋２）−Ｗ，Ｔ（ｉ＋２））  …（２）
そして、次のステップＳ２８では、残余帯域が更新される。クレジットＣｓ（ｉ＋２）に付加値Ｂ（ｉ＋２）が加算されるので、残余帯域Ｔ（ｉ＋２）は、付加値Ｂ（ｉ＋２）だけ減算される。
【００９３】
その後、ステップＳ２５に戻り、残余帯域Ｔが存在しなくなるまで、ステップＳ２６〜ステップＳ２８の処理が繰返される。これにより、次に満足度の低いＯＮＵが抽出されて、それに対応するクレジットＣｓ（ｉ＋２）に付加値Ｂ（ｉ＋２）が加算される。
【００９４】
ステップＳ２５で残余帯域Ｔが存在しなくなると、ステップＳ３１に進み、全てのＯＮＵ（ｔ）の満足度が算出されて、満足度記憶テーブルが更新される。その後処理を終了する。
【００９５】
このように、満足度の低いＯＮＵに対して、優先して多くの帯域が割当てられるので、複数のＯＮＵの公平性を維持しつつ、帯域を有効に割当てることができる。
【００９６】
図７は、満足度を決定するために用いられる満足度決定テーブルの一例を示す図である。ここでは、サイクル＃ｉの満足度Ａ（ｉ）を決定する場合を例に説明する。満足度Ａ（ｉ）は、要求量Ｒｔ（ｉ−１）と、クレジットＣｔ（ｉ−１）とから決定される。
【００９７】
（１）要求量Ｒｔ（ｉ−１）が「０」の場合は、クレジットＣｔ（ｉ−１）に関わりなく、満足度Ａ（ｉ）は最大の「１」とされる。
【００９８】
（２）要求量Ｒｔ（ｉ−１）がしきい値Ｗ以下の場合には、
クレジットＣｔ（ｉ−１）がゼロの場合に満足度Ａ（ｉ）は最低の「０」とされ、
クレジットＣｔ（ｉ−１）がゼロを超える場合に満足度Ａ（ｉ）は、クレジットＣｔ（ｉ−１）を要求量Ｒｔ（ｉ−１）で除算した値と、「１」とのいずれか小さい値とされる。換言すれば、最大値「１」を限度に、クレジットＣｔ（ｉ−１）を要求量Ｒｔ（ｉ−１）で除算した値とされる。
【００９９】
（３）要求量Ｒｔ（ｉ−１）がしきい値Ｗを超える場合には、
クレジットＣｔ（ｉ−１）がゼロの場合に満足度Ａ（ｉ）は最低の「０」とされ、
クレジットＣｔ（ｉ−１）がゼロを超える場合に満足度Ａ（ｉ）は、クレジットＣｔ（ｉ−１）をしきい値Ｗで除算した値と、「１」とのいずれか小さい値とされる。換言すれば、最大値「１」を限度に、クレジットＣｔ（ｉ−１）をしきい値Ｗで除算した値とされる。
【０１００】
満足度は、図７に示した満足度決定テーブルを用いて、輻輳サイクルごとに満足度が決定される。決定された満足度は、満足度記憶テーブルに記憶される。輻輳サイクルが継続する場合には、満足度は平均値とされる。さらに、輻輳サイクルが終了した場合には、満足度記憶テーブルに記憶されている満足度は、すべて最大の「１」にリセットされる。
【０１０１】
図８は、ＯＮＵの制御フレーム処理部２３の処理手順を説明するためのフローチャートである。まず、制御フレーム処理部２３は、サイクル＃ｉにおいて、受信部２１によって受信されたＯＬＴ１からのグラントフレームを受ける（ステップＳ２１）。サイクル＃１においてＯＮＵ（ｔ）が受信するグラントフレームには、サイクル＃ｉ＋１の帯域を割当てるためのクレジットＣｔ（ｉ＋１）およびサイクル＃ｉに割当てられた帯域を示す許可量Ｇｔ（ｉ）とが含まれる。
【０１０２】
ＯＮＵ（ｔ）は、許可量Ｇｔ（ｉ）分だけデータ長記憶テーブルの内容を更新し、グラントフレームに含まれるクレジットＣｉ（ｔ＋１）を読出す（ステップＳ２２）。
【０１０３】
バッファメモリ２５には、データ長記憶テーブルが設けられている。データフレームが受信部２４からバッファメモリ２５に転送されるときに、カウンタ２７によってデータフレームの長さが検知され、データ長記憶テーブルのデータ長が記録されていない領域に上から順番に当該データフレームのデータ長が書込まれる。
【０１０４】
グラントフレームを受けたとき、制御フレーム処理部２３は、その許可量Ｇｔ（ｉ）のデータに対応するデータ長をデータ長記憶テーブルから削除し、バッファメモリ２５に対して対応するデータフレームの送信を指示する。
【０１０５】
また、レポートフレームを作成するとき、制御フレーム処理部２３は、データフレームのデータ長を読出す。すなわち、グラントフレームに含まれるクレジットＣｔ（ｉ＋１）以下であり、かつ送出する先頭のデータフレームから、フレーム単位で送出できる最大のデータ量のデータに対応したデータ長の合計値が送信量Ｓｔ（ｉ＋１）となる。
【０１０６】
サイクル＃ｉにおいて、ＯＬＴ１から送信される許可量Ｇｔ（ｉ）は、ＯＮＵ（ｔ）がサイクル＃ｉ−１で送信した送信量Ｓｔ（ｉ−１）そのものである。したがって、許可量Ｇｔ（ｉ）は、フレーム単位で送出できる最大のデータ量のデータに対応したデータ長となる。このため、許可量Ｇｔ（ｉ）でＯＮＵ（ｔ）に割当てられる帯域は、フレーム単位で送出できる最大のデータ量となるので、割当てられた帯域を可能な限り利用してデータを送信することが可能となる。
【０１０７】
次に、制御フレーム処理部２３は、ＯＬＴから受信したグラントフレームに含まれるクレジットＣｔ（ｉ＋１）を参照し、クレジットＣｔ（ｉ＋１）以下であり、かつ送出する先頭のデータフレームから、フレーム単位で送出できる最大のデータ量を算出し、その値を送信量Ｓｔ（ｉ＋１）とする（ステップＳ２３）。
【０１０８】
次に、制御フレーム処理部２３は、送信元アドレス（当該ＯＮＵ（ｔ）のアドレス）、送信先アドレス（ＯＬＴ１のアドレス）、サイクル＃ｉ＋２の帯域を割当てるための要求量Ｒｔ（ｉ＋２）、サイクル＃ｉ＋１の帯域を割当てるための送信量Ｓ（ｉ＋１）によって構成されるレポートフレームを作成し、バッファメモリ２５に転送する（ステップＳ２４）。
【０１０９】
要求量Ｒｔ（ｉ＋２）は、バッファメモリ２５に格納されているデータのデータ量から、許可量Ｇｔ（ｉ）および送信量Ｓｔ（ｉ＋１）を減算した値である。
【０１１０】
最後に、制御フレーム処理部２３は、グラントフレームに含まれる送出開始時刻に、レポートフレームおよび許可量Ｇｔ（ｉ）分のデータフレームの送出をバッファメモリ２５および送信部２６に指示する（ステップＳ２５）。
【０１１１】
＜クレジット決定処理の第１の変形例＞
図９は、図４のステップＳ１４で実行される別のクレジット決定処理の流れを示すフローチャートである。クレジット決定処理の変形例では、付与するクレジットに上限値Ｗｍａｘを設けている。このため、図６に示したクレジット決定処理のステップＳ２９の後に、ステップＳ２９ＡおよびステップＳ２９Ｂが追加され、ステップＳ２７が変更される。以下異なる点を主に説明する。
【０１１２】
ステップＳ２１において、サイクル＃ｉ＋２が輻輳サイクルであるか否かが判断され、非輻輳サイクルと判断された場合にはステップＳ２９に進む。ステップＳ２９では、満足度記憶テーブルをリセットし、ステップＳ２９Ａに進む。
【０１１３】
ステップＳ２９Ａでは、要求量Ｒｔ（ｉ＋２）がしきい値Ｗｍａｘ［ｂｉｔ］を超えているか否かが判断される。超えている場合にはステップＳ２９Ｂに進み、超えていない場合にはステップＳ３０に進む。このしきい値Ｗｍａｘは、予め定められたものを用いればよい。
【０１１４】
ステップＳ２９Ｂでは、クレジットＣｔ（ｉ＋２）に上限値となるしきい値Ｗｍａｘを割当てる。その後処理を終了する。一方、ステップＳ３０では、クレジットＣｔ（ｉ＋２）に要求量Ｒｔ（ｉ＋２）をそのまま割当てる。その後処理を終了する。この上限値となるしきい値Ｗｍａｘで付与するクレジットを制限することにより、特定のＯＮＵに偏って広い帯域が割当てられるのを防止することができる。
【０１１５】
ステップＳ２７Ａでは、抽出されたＯＮＵ（Ｓ）に対応するクレジットＣｓ（ｉ＋２）をしきい値Ｗに付加値Ｂ（ｉ＋２）を加算した値に更新する。ここで、付加値Ｂ（ｉ＋２）は、ＯＮＵ（Ｓ）の要求量Ｒｓ（ｉ＋２）からしきい値Ｗを減算した値と、残余帯域Ｔ（ｉ＋２）と、上限値となるしきい値Ｗｍａｘからしきい値Ｗを減算した値のいずれか低い値以下の範囲内の値に設定される。
【０１１６】
０≦Ｂ（ｉ＋２）≦ｍｉｎ（Ｒｓ（ｉ＋２）−Ｗ，Ｔ（ｉ＋２），Ｗｍａｘ−Ｗ）  …（３）
＜クレジット決定処理の第２の変形例＞
第２の変形例におけるクレジット決定処理は、しきい値Ｗと上限となるしきい値Ｗｍａｘとを、ＯＮＵ（ｔ）ごとに設定するものである。ここでは、ｔ番目のＯＮＵ（ｔ）にしきい値Ｗ（ｔ）と上限となるしきい値Ｗｍａｘ（ｔ）とが設定されるものとして説明する。
【０１１７】
図１０は、図４のステップＳ１４で実行されるさらに別のクレジット決定処理の流れを示すフローチャートである。ここでは、図４のステップＳ１１でサイクル＃ｉにおいてＯＮＵ（ｔ）からレポートフレームが受信された場合について説明する。この場合、レポートフレームには、ＯＮＵ（ｔ）がサイクル＃ｉ＋２に送信を希望する要求量Ｒｔ（ｉ＋２）と、ＯＮＵ（ｔ）がサイクル＃ｉ＋１に送信するデータ量を示す送信量Ｓｔ（ｉ＋１）とが含まれていた。したがって、クレジット決定処理では、サイクル＃ｉ＋２の帯域を割当てるためのクレジットＣｔ（ｉ＋２）が決定される。
【０１１８】
図１０を参照して、まず、サイクル＃ｉ＋２が輻輳サイクルであるか否かが判断される（ステップＳ２１）。輻輳サイクルと判断された場合にはステップＳ２２’へ進み、そうでなく非輻輳サイクルと判断された場合にはステップＳ２９に進む。
【０１１９】
ステップＳ２９では、満足度記憶テーブルをリセットし、ステップＳ２９Ａ’に進む。ステップＳ２９Ａ’では、要求量Ｒｔ（ｉ＋２）がしきい値Ｗｍａｘ（ｔ）［ｂｉｔ］を超えているか否かが判断される。超えている場合にはステップＳ２９Ｂ’に進み、超えていない場合にはステップＳ３０に進む。このしきい値Ｗｍａｘ（ｔ）は、予め定められたものを用いればよい。
【０１２０】
ステップＳ２９Ｂ’では、クレジットＣｔ（ｉ＋２）に上限値となるしきい値Ｗｍａｘ（ｔ）を割当てる。その後処理を終了する。一方、ステップＳ３０では、クレジットＣｔ（ｉ＋２）に要求量Ｒｔ（ｉ＋２）をそのまま割当てる。その後処理を終了する。この上限値となるしきい値Ｗｍａｘ（ｔ）で付与するクレジットを制限することにより、特定のＯＮＵに偏って広い帯域が割当てられるのを防止することができる。
【０１２１】
一方、ステップＳ２２’では、要求量Ｒｔ（ｉ＋２）がしきい値Ｗ（ｔ）［ｂｉｔ］を超えているか否かが判断される。超えている場合にはステップＳ２３’に進み、超えていない場合にはステップＳ２４に進む。このしきい値Ｗ（ｔ）は、予め定められたものを用いればよい。
【０１２２】
ステップＳ２３’では、クレジットＣｔ（ｉ＋２）にしきい値Ｗ（ｔ）を割当て、ステップＳ２５に進む。一方、ステップＳ２４では、クレジットＣｔ（ｉ＋２）に要求量Ｒｔ（ｉ＋２）をそのまま割当て、ステップＳ２５に進む。
【０１２３】
ステップＳ２５では、残余帯域Ｔ（ｉ＋２）があるか否かが判断される。残余帯域Ｔ（ｉ＋２）は、サイクル＃ｉ＋２の期間から、先に割当てたクレジットＣｔ（ｉ＋２）の通信時間の総和を減算した値である。残余帯域Ｔ（ｉ＋２）がゼロを超える場合には、ステップＳ２６に進み、そうでない場合にはステップＳ３１に進む。
【０１２４】
ステップＳ２６では、満足度記憶テーブルを参照して、ステップＳ２２で要求量Ｒｔ（ｉ＋２）がしきい値Ｗ（ｔ）を超えているＯＮＵ（ｔ）のうち、満足度の最も低いものが抽出される。そのようなＯＮＵが複数ある場合には、いずれか１つのＯＮＵを適宜定めればよい。抽出されたＯＮＵをＯＮＵ（Ｓ）とする。
【０１２５】
次のステップＳ２７Ａ’では、抽出されたＯＮＵ（Ｓ）に対応するクレジットＣｓ（ｉ＋２）をしきい値Ｗ（ｓ）に付加値Ｂ（ｉ＋２）を加算した値に更新する。ここで、付加値Ｂ（ｉ＋２）は、ＯＮＵ（Ｓ）の要求量Ｒｓ（ｉ＋２）からしきい値Ｗ（ｓ）を減算した値と、残余帯域Ｔ（ｉ＋２）と、上限値となるしきい値Ｗｍａｘ（ｓ）からしきい値Ｗ（ｓ）を減算した値のいずれか低い値以下の範囲内の値に設定される。
【０１２６】
０≦Ｂ（ｉ＋２）≦ｍｉｎ（Ｒｓ（ｉ＋２）−Ｗ（ｓ），Ｔ（ｉ＋２），Ｗｍａｘ（ｓ）−Ｗ（ｓ））  …（４）
そして、次のステップＳ２８では、残余帯域が更新される。クレジットＣｓ（ｉ＋２）に付加値Ｂ（ｉ＋２）が加算されるので、残余帯域Ｔ（ｉ＋２）は、付加値Ｂ（ｉ＋２）だけ減算される。
【０１２７】
その後、ステップＳ２５に戻り、残余帯域Ｔが存在しなくなるまで、ステップＳ２６〜ステップＳ２８の処理が繰返される。これにより、次に満足度の低いＯＮＵが抽出されて、それに対応するクレジットＣｓ（ｉ＋２）に付加値Ｂ（ｉ＋２）が加算される。
【０１２８】
ステップＳ２５で残余帯域Ｔが存在しなくなると、ステップＳ３１に進み、全てのＯＮＵ（ｔ）の満足度が算出されて、満足度記憶テーブルが更新される。その後処理を終了する。
【０１２９】
以上説明したように、本実施の形態におけるＯＬＴ１によれば、輻輳サイクルに割当てるクレジットを、満足度の低いＯＮＵ（ｔ）に付加値Ｂ（ｔ）を付加して他のＯＮＵ（ｔ）よりも多くするので、複数のＯＮＵの公平性を維持しつつ、帯域を有効に割当てることができる。
【０１３０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施の形態の１つにおけるＯＬＴの概略構成を示すブロック図である。
【図２】本実施の形態におけるＯＮＵの概略構成を示すブロック図である。
【図３】本実施の形態におけるＯＬＴとＯＮＵとの間の通信手順の一例を示す図である。
【図４】ＯＬＴの制御フレーム処理部の処理手順を説明するためのフローチャートである。
【図５】制御フレーム処理部内に設けられた記憶テーブルの一例を示す図である。
【図６】図４のステップＳ１４で実行されるクレジット決定処理の流れを示すフローチャートである。
【図７】満足度を決定するために用いられる満足度決定テーブルの一例を示す図である。
【図８】ＯＮＵの制御フレーム処理部の処理手順を説明するためのフローチャートである。
【図９】図４のステップＳ１４で実行される別のクレジット決定処理の流れを示すフローチャートである。
【図１０】図４のステップＳ１４で実行されるさらに別のクレジット決定処理の流れを示すフローチャートである。
【図１１】従来のＰＯＮシステムの概略構成を示すブロック図である。
【図１２】従来のＰＯＮシステムの動作手順を説明するためのシーケンス図である。
【図１３】分散割当方式の一例を示す図である。
【図１４】第１の先行技術における問題点を説明するための図である。
【符号の説明】
【０１３２】
１  ＯＬＴ、２  ＯＮＵ、１１，１４，２１，２４  受信部、１２，１６，２２，２６  送信部、１３，２３  制御フレーム処理部、１５，２５  バッファメモリ、２７  カウンタ、１０４  伝送路、１０５  スプリッタ、１０８  情報フレーム、１０９  上位ネットワーク、１１０  下位ネットワーク、１１１  ユーザ端末。
【図１】
2006005764.tif 000003
【図２】
2006005764.tif 000004
【図３】
2006005764.tif 000005
【図４】
2006005764.tif 000006
【図５】
2006005764.tif 000007
【図６】
2006005764.tif 000008
【図７】
2006005764.tif 000009
【図８】
2006005764.tif 000010
【図９】
2006005764.tif 000011
【図１０】
2006005764.tif 000012
【図１１】
2006005764.tif 000013
【図１２】
2006005764.tif 000014
【図１３】
2006005764.tif 000015
【図１４】
2006005764.tif 000016