(57)【要約】【課題】送出遅延時間を一定時間以内に抑えつつ、データの送信を要求しているＯＮＵに対しては大きな最大送出許可量を割当て、可変長パケットの切れ目を起因とする割当ロスを解決することが可能なＯＬＴを提供すること。【解決手段】制御フレーム処理部２３は、受信部２１によって受信されたレポートに含まれる送出要求量を参照してＯＮＵがアクティブであるか否かを判定し、アクティブと判定されたＯＮＵの数に応じて最大送出許可量を算出する。そして、グラントに最大送出許可量を含めることにより、ＯＮＵからのレポートに含まれる送出許可量を最大送出許可量以下とすることで割当ロスをなくすことが可能となる。【選択図】        図５
2004194263.tif 000002
【特許請求の範囲】
【請求項１】
光加入者線端局装置からのグラントに応じてレポートを送出する光加入者線終端装置であって、
前記光加入者線端局装置からのデータおよびグラントを受信するための第１の受信手段と、
前記第１の受信手段によって受信されたデータを下位ネットワークに送出するための第１の送信手段と、
前記第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となる送出要求量を決定するための決定手段と、
前記決定手段によって決定された送出要求量を含んだレポートを生成するための生成手段と、
前記下位ネットワークからデータを受信するための第２の受信手段と、
前記第２の受信手段によって受信されたデータおよび前記生成手段によって生成されたレポートを記憶するための記憶手段と、
前記記憶手段によって記憶されたデータおよびレポートを前記光加入者線端局装置に送出するための第２の送信手段とを含む、光加入者線終端装置。
【請求項２】
前記決定手段は、前記第２の受信手段によって受信された各データフレームのフレーム長を格納するためのテーブルと、
データフレームの累積長が格納されるレジスタと、
前記テーブルに格納されるフレーム長を順次加算して、データフレームの累積長を前記レジスタに格納し、前記レジスタに格納されるデータフレームの累積長が、前記第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含む、請求項１記載の光加入者線終端装置。
【請求項３】
前記決定手段は、前記第２の受信手段によって受信されたデータフレームの累積長を順次格納するためのテーブルと、
前記テーブルを検索して、データフレームの累積長が、前記第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含む、請求項１記載の光加入者線終端装置。
【請求項４】
前記決定手段は、前記第２の受信手段によって受信されたデータフレームの累積長を順次格納するためのテーブルと、
キューが空の場合のデータフレームの累積長をベース累積長として保持するための保持手段と、
前記テーブルを検索して、データフレームの累積長が、前記保持手段によって保持されるベース累積長と前記第１の受信手段によって受信されたグラントに含まれる最大送出許可量との合計以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含む、請求項１記載の光加入者線終端装置。
【請求項５】
前記テーブルは、リングバッファによって構成され、
前記テーブルの検索がバイナリサーチによって行なわれる、請求項４記載の光加入者線終端装置。
【請求項６】
前記決定手段は、前記第２の受信手段によって受信された各データフレームに対応するビットベクタを格納するためのテーブルと、
前記テーブルに格納されたビットベクタを検索して、前記第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含み、
前記ビットベクタの各ビットは、前記データフレームの各所定バイトに対応し、該所定バイトがフレームの最後であるか否かを示す、請求項１記載の光加入者線終端装置。
【請求項７】
前記決定手段は、前記第２の受信手段によって受信された各データフレームに対応するコードベクタを格納するためのテーブルと、
前記テーブルに格納されたコードベクタを検索して、前記第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含み、
前記コードベクタの各コードは、前記データフレームの各所定バイトに対応し、該所定バイトにフレームの最後が含まれるか否かを示すフラグと、前記所定バイト内におけるフレームの最後の位置を示す情報とを含む、請求項１記載の光加入者線終端装置。
【請求項８】
前記決定手段は、前記第２の受信手段によって受信された各データフレームに対応するコードベクタを格納するためのテーブルと、
前記テーブルに格納されたコードベクタを検索して、前記第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含み、
前記コードベクタの各コードは、前記データフレームの各所定バイトに対応し、該所定バイトにフレームの最後が含まれるか否かを示すフラグと、
前記フラグが、前記所定バイトにフレームの最後が含まれることを示す場合に、前記所定バイト内におけるフレームの最後の位置を示し、
前記フラグが、前記所定バイトにフレームの最後が含まれないことを示す場合に、直前のフレームの最後がいくつ前のコード内に存在するかを示す付加情報とを含む、請求項１記載の光加入者線終端装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の宅側装置が媒体を共有してデータの伝送を行なう媒体共有型通信であるＰＯＮ（Ｐａｓｓｉｖｅ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋ）に関し、特に、データをイーサネット（Ｒ）フレームのまま伝送を行なうＥＰＯＮ（Ｅｔｈｅｒｎｅｔ（Ｒ）  ＰＯＮ）におけるＯＮＵ（光加入者線終端装置）に関する。
【０００２】
【従来の技術】
近年、インターネットが広く普及しており、利用者は世界各地で運営されているサイトの様々な情報にアクセスし、その情報を入手することが可能である。それに伴って、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）、ＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）などのブロードバンドアクセスに対する要望も急速に高まってきている。
【０００３】
図１０は、従来のＰＯＮシステムの概略構成を示すブロック図である。このＰＯＮシステムは、主に電話局などに設置されるＯＬＴ１０１と、主に各宅内に設置される複数のＯＮＵ１０２−１〜１０２−ｎと、ＯＬＴ１０１から送出される光信号を分岐してＯＮＵ１０２−１〜１０２−ｎに送出し、ＯＮＵ１０２−１〜１０２−ｎから送出される光信号を集束してＯＬＴ１０１に送出するスプリッタ１０５と、ＯＮＵ１０２−１〜１０２−ｎのそれぞれに接続されるユーザ端末１１１とを含む。なお、第１のＯＮＵ１０２−１〜第ｎのＯＮＵ１０２−ｎは、それぞれ同じ構成を有している。
【０００４】
ＯＬＴ１０１は、上位ネットワーク１０９を介して受信したデータを、伝送路１０４およびスプリッタ１０５を介してＯＮＵ１０２−１〜１０２−ｎに送出する。また、ＯＬＴ１０１は、ＯＮＵ１０２−１〜１０２−ｎから送出されたレポート１０７に基づいて、ＯＮＵ１０２−１〜１０２−ｎ内のバッファ１０３−１〜１０３−ｎに蓄積されているデータの送出開始時刻および送出許可量を演算し、指示信号を挿入したグラント１０６を伝送路１０４およびスプリッタ１０５を介してＯＮＵ１０２−１〜１０２−ｎに送出する。
【０００５】
たとえば、ＯＮＵ１０２−１が下位ネットワーク１１０を介してユーザ端末１１１から上り情報フレーム１０８を受信すると、この上り情報フレーム１０８を一旦バッファ１０３−１に蓄積する。ＯＮＵ１０２−１は、ＯＬＴ１０１からグラント１０６を受信すると、そのグラント１０６によって指定された時刻にバッファ１０３−１内のデータ量をレポート１０７でＯＬＴ１０１に通知する。なお、上り情報フレーム１０８は、可変長パケット単位で到着する。
【０００６】
ＯＮＵ１０２−１は、ＯＬＴ１０１から指示信号を挿入したグラント１０６を受信すると、その指示信号に基づいてバッファ１０３−１内のデータをレポート１０７とともにＯＬＴ１０１に送出する。
【０００７】
図１１は、従来のＰＯＮシステムの動作手順を説明するためのシーケンス図である。なお、このシーケンス図は、ＯＬＴ１０１と、ＯＮＵ１０２−１との動作についてのものであるが、他のＯＮＵ１０２−２〜０２−ｎの動作についても同様である。
【０００８】
運用時間開始時刻Ｔ０において、ＯＬＴ１０１はＯＮＵ１０２−１〜１０２−ｎに関するＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）を既に計算している。時刻Ｔａ１において、ＯＬＴ１０１は送出要求量を通知させるために、ＯＮＵ１０２−１に対してレポート送出開始時刻Ｔｂ２を含んだグラント１２１を送信する。このレポート送出開始時刻Ｔｂ２は、他のＯＮＵから送信されるレポートと衝突しないように計算される。
【０００９】
ＯＮＵ１０２−１は、自身に対するグラント１２１を受信すると、バッファ１０３−１に蓄積されたデータ量を参照して送出要求量を算出し、グラント１２１に含まれるレポート送出開始時刻Ｔｂ２に、ＯＬＴ１０１に対して送出要求量を含んだレポート１２２を送出する。
【００１０】
ＯＬＴ１０１はレポート１２２を受信すると、固定または可変の最大送出許可量以下となり、かつレポート１２２に含まれるバッファ内データ量のデータをなるべく多く送れるような値を演算し、演算結果を送出許可量としてグラント１２３に挿入する。レポート１２２に含まれる送出要求量がゼロの場合には、ＯＬＴ１０１による演算結果がゼロとなるため帯域が割当てられないが、ＯＮＵ１０２−１にレポートを送出させる必要があるので、ＯＬＴ１０１はＯＮＵ１０２−１に対して必ずグラント１２３を送出する。
【００１１】
グラント１２３に含まれる送出開始時刻Ｔｂ４は、演算済みである前回のＯＮＵデータの受信予定時刻、前回のＯＮＵの送出許可量、現在のＯＮＵに関するＲＴＴおよび固定時間であるガードタイムを用い、データおよびレポートが他のＯＮＵからのデータまたはレポートと衝突しないように計算される。なお、ＯＬＴ１０１は、送出許可量および送出開始時刻Ｔｂ４を含むグラント１２３を送出する時刻Ｔａ３を、グラント１２３が送出開始時刻Ｔｂ４までにＯＮＵ１０２−１に到着するように計算する。
【００１２】
ＯＮＵ１０２−１は、自身に対するグラント１２３を受信すると、グラント１２３に含まれる送出開始時刻Ｔｂ４に、送出許可量分のデータ１２４を、次回の送出要求量を含んだレポートとともにＯＬＴ１０１に送出する。このレポートはデータの直前または直後に送出されるが、データの直前に送出される場合には、送出要求量としてＯＬＴ１０１に報告する値は、バッファ１０３−１に蓄積されているデータ量とデータ１２４のデータ量との差分である。
【００１３】
ＯＬＴ１０１はデータおよびレポート１２４を受信すると、データを上位ネットワーク１０９に送出し、レポートについてはレポート１２２に対する処理と同様の処理を行なう。以上説明した処理は、全てのＯＮＵ１０２−１〜１０２−ｎに対して独立に行なわれ、運用時間が終了するまで時刻Ｔａ３〜時刻Ｔａ４の処理が繰返される。
【００１４】
図１２は、分散割当方式の一例を示す図である。この図は、ＯＮＵ数を３とした場合の帯域割当てと、ＯＬＴ−ＯＮＵ間のグラントおよびレポートの送受信とを示すシーケンス図である。
【００１５】
ＯＬＴ１０１は、ＯＮＵ１０２−３、１０２−２および１０２−１に対して、グラント１３１〜１３３を順次送出する。ＯＬＴ１０１は、ＯＮＵ１０２−３、１０２−２および１０２−１からレポート１３４〜１３６を受信すると、最初にデータの送出を許可するＯＮＵ１０２−３に対するグラント１３７を送出する。
【００１６】
ＯＬＴ１０１は、ＯＮＵ１０２−３から送出されるデータ１３８を受信するとともに、これと並行してＯＮＵ１０２−２に対するグラント１３９を送出する。以降同様の処理が繰返され、ＯＬＴ１０１は順次ＯＮＵ１０２−１〜１０２−３に対して帯域を割当てて、データの受信を繰返す。
【００１７】
図１２から分かるように、ユーザ端末１１１から送出されたデータがＯＮＵ１０２−１に到着してから送出されるまでの待ち時間は、ＯＮＵ１０２−１がレポートを送出してから、そのレポートに対応したデータを送出するまでの時間に依存する。すなわち、全てのＯＮＵ１０２−１〜１０２−３からの送出データ量によって変化する。
【００１８】
たとえば、図１０に示すＯＮＵ１０２−１〜１０２−ｎからのレポートによる送出要求量を全て許可すると、レポートの送出からデータの送出までの待ち時間が大幅に増加し、リアルタイムが要求されるサービスに影響を及ぼすだけでなく、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）スループットにも大きく影響を及ぼすことになる。したがって、ＯＮＵ内のバッファにおける待ち時間を許容される時間内に抑えられるように、ＯＬＴ１０１はＯＮＵ１０２−１〜１０２−ｎからの送出データ量を制御する必要がある。
【００１９】
この問題点を解決するために、ＯＬＴ１０１がＯＮＵ１０２−１〜１０２−ｎからレポートを受信した後、ＯＮＵ１０２−１〜１０２−ｎの送出許可量を制限するために、クレジット（最大送出許可量）という概念が導入されている。送信可能になっているＯＮＵの総数をＮ、伝送路１０４の回線速度をｒ［ｂｐｓ］、遅延許容時間をｔｄ［ｓｅｃ］とすると、クレジットｃ［ｂｉｔ］は次式によって算出される。
【００２０】
ｃ＝ｒ×ｔｄ／Ｎ  …（１）
このように、ＯＬＴ１０１は、ＯＮＵ１０２−１〜１０２−ｎのそれぞれに固定量のクレジットを割当て、ＯＮＵ１０２−１〜１０２−ｎからの送出データ量を制御することによって、ＯＮＵ１０２−１〜１０２−ｎ内のバッファ１０３−１〜１０３−ｎにおけるデータの送信待ち時間を許容される時間内に抑えている。
【００２１】
これに関連する先行技術として、「ＩＰＡＣＴ：Ａ  Ｄｙｎａｍｉｃ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ａｎ  Ｅｔｈｅｒｎｅｔ（Ｒ）  ＰＯＮ」（Ｇｌｅｎ  Ｋｒａｍｅｒ他、ｐｐ７４−８０，ＩＥＥＥ  Ｃｏｍｍｕｎ，Ｆｅｂ．２００２．）（以下、第１の先行技術と呼ぶ。）および「ＧＥ−ＰＯＮに適した動的帯域割当アルゴリズム」（吉原他、信学技報、ＮＳ２００２−１７，ｐｐ１−４，２００２．０４）（以下、第２の先行技術と呼ぶ。）がある。
【００２２】
第１の先行技術は、ＥＰＯＮ方式のＦＴＴＨサービスにおける動的割当方式に関するものであり、ＯＬＴが各ＯＮＵに対して独立にレポートを送出させ、その都度ＯＬＴが対応するＯＮＵにグラントを発行する分散型割当方式に関するものである。
【００２３】
また、第２の先行技術は集中型割当方式に関するものであり、ＯＮＵが、グラント周期あたりに割当可能な最大データサイズを上限としたバッファ量と、バッファの先頭から規定の上限値以下のバッファ量とをレポートとして送出する。ＯＬＴは、先頭のＯＮＵから順に上限値以下のバッファ量を許可し、グラント周期の最後のＯＮＵのみに未割当帯域分をグラントとして与えることにより、割当ロスを軽減している。
【００２４】
【非特許文献１】
「ＩＰＡＣＴ：Ａ  Ｄｙｎａｍｉｃ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ａｎ  Ｅｔｈｅｒｎｅｔ（Ｒ）  ＰＯＮ」（Ｇｌｅｎ  Ｋｒａｍｅｒ他、ｐｐ７４−８０，ＩＥＥＥ  Ｃｏｍｍｕｎ，Ｆｅｂ．２００２．）
【００２５】
【非特許文献２】
「ＧＥ−ＰＯＮに適した動的帯域割当アルゴリズム」（吉原他、信学技報、ＮＳ２００２−１７，ｐｐ１−４，２００２．０４）
【００２６】
【発明が解決しようとする課題】
式（１）によって算出したクレジットを各ＯＮＵに割当てる方法においては、クレジットが小さいと少数のＯＮＵのみが回線を独占できるような状態であっても、上り帯域を効率的に利用できないといった問題点があった。
【００２７】
図１３は、第１の先行技術における問題点を説明するための図である。ＯＬＴが、ＯＮＵ＃１から受信したレポートに含まれる送信要求量（バッファ申告量）に対して、送信許可帯域のみを認めた場合には、ＯＮＵ＃１は送信許可帯域に対してＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）フレーム１４１、１４２および１４３を送出するが、送信許可帯域内でＭＡＣフレーム１４４を送出できないため割当ロスが発生する。
【００２８】
同様に、ＯＮＵ＃２は送信許可帯域内でＭＡＣフレーム１５３を送出できず、ＯＮＵ＃３は送信許可帯域内でＭＡＣフレーム１６３を送出できないため、それぞれ割当ロスが発生する。この割当ロスは、最悪の場合、最大ＭＡＣフレーム長に相当する。したがって、上り情報フレームを効率的に送信することができないといった問題点があった。
【００２９】
また、第２の先行技術においては、ＯＬＴが同一周期内で大きな許可量を与えるＯＮＵの台数を１台としており、その他のＯＮＵは小さな許可量しか割当てられないので、上り情報フレームがバッファに蓄積されている時間が長くなるという問題があった。また、各ＯＮＵに対しての高い精度の帯域割当を実施することが困難であった。
【００３０】
本発明は、上記問題点を解決するためになされたものであり、その目的は、送出要求量を光加入者線端局装置に通知する際に、送出要求量の処理時間を短縮することが可能な光加入者線終端装置を提供することである。
【００３１】
【課題を解決するための手段】
請求項１に記載の光加入者線終端装置は、光加入者線端局装置からのグラントに応じてレポートを送出する光加入者線終端装置であって、光加入者線端局装置からのデータおよびグラントを受信するための第１の受信手段と、第１の受信手段によって受信されたデータを下位ネットワークに送出するための第１の送信手段と、第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となる送出要求量を決定するための決定手段と、決定手段によって決定された送出要求量を含んだレポートを生成するための生成手段と、下位ネットワークからデータを受信するための第２の受信手段と、第２の受信手段によって受信されたデータおよび生成手段によって生成されたレポートを記憶するための記憶手段と、記憶手段によって記憶されたデータおよびレポートを光加入者線端局装置に送出するための第２の送信手段とを含む。
【００３２】
決定手段は、第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となる送出要求量を決定するので、クレジット以下の最適な送出要求量を抽出することが可能となる。
【００３３】
請求項２に記載の光加入者線終端装置は、請求項１記載の光加入者線終端装置であって、決定手段は、第２の受信手段によって受信された各データフレームのフレーム長を格納するためのテーブルと、データフレームの累積長が格納されるレジスタと、テーブルに格納されるフレーム長を順次加算して、データフレームの累積長をレジスタに格納し、レジスタに格納されるデータフレームの累積長が、第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含む。
【００３４】
抽出手段が、レジスタに格納されるデータフレームの累積長が、グラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するので、レポートフレームを受信してからグラントフレームを送出するまでの時間を短縮することが可能となる。
【００３５】
請求項３に記載の光加入者線終端装置は、請求項１記載の光加入者線終端装置であって、決定手段は、第２の受信手段によって受信されたデータフレームの累積長を順次格納するためのテーブルと、テーブルを検索して、データフレームの累積長が第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含む。
【００３６】
抽出手段が、テーブルを検索して、データフレームの累積長が、グラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するので、レポートフレームを受信してからグラントフレームを送出するまでの時間を短縮することが可能となる。
【００３７】
請求項４に記載の光加入者線終端装置は、請求項１記載の光加入者線終端装置であって、決定手段は、第２の受信手段によって受信されたデータフレームの累積長を順次格納するためのテーブルと、キューが空の場合のデータフレームの累積長をベース累積長として保持するための保持手段と、テーブルを検索して、データフレームの累積長が、保持手段によって保持されるベース累積長と第１の受信手段によって受信されたグラントに含まれる最大送出許可量との合計以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含む。
【００３８】
抽出手段が、テーブルを検索して、データフレームの累積長が、保持手段によって保持されるベース累積長とグラントに含まれる最大送出許可量との合計以下で、かつ最大となるように送出要求量を抽出するので、レポートフレームを受信してからグラントフレームを送出するまでの時間を短縮することが可能となる。
【００３９】
請求項５に記載の光加入者線終端装置は、請求項４記載の光加入者線終端装置であって、テーブルは、リングバッファによって構成され、テーブルの検索がバイナリサーチによって行なわれる。
【００４０】
テーブルの検索がバイナリサーチによって行なわれるので、さらに処理時間を短縮することが可能となる。
【００４１】
請求項６に記載の光加入者線終端装置は、請求項１記載の光加入者線終端装置であって、決定手段は、第２の受信手段によって受信された各データフレームに対応するビットベクタを格納するためのテーブルと、テーブルに格納されたビットベクタを検索して、第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含み、ビットベクタの各ビットは、データフレームの各所定バイトに対応し、所定バイトがフレームの最後であるか否かを示す。
【００４２】
抽出手段は、テーブルに格納されたビットベクタを検索して送出要求量を抽出するので、フレームの検索を高速に行なうことが可能となる。
【００４３】
請求項７に記載の光加入者線終端装置は、請求項１記載の光加入者線終端装置であって、決定手段は、第２の受信手段によって受信された各データフレームに対応するコードベクタを格納するためのテーブルと、テーブルに格納されたコードベクタを検索して、第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含み、コードベクタの各コードは、データフレームの各所定バイトに対応し、所定バイトにフレームの最後が含まれるか否かを示すフラグと、所定バイト内におけるフレームの最後の位置を示す情報とを含む。
【００４４】
抽出手段は、テーブルに格納されたコードベクタに含まれるフラグと、所定バイト内におけるフレームの最後の位置を示す情報とを検索して送出要求量を抽出するので、フレームの検索を高速に行なうことが可能となる。
【００４５】
請求項８に記載の光加入者線終端装置は、請求項１記載の光加入者線終端装置であって、決定手段は、第２の受信手段によって受信された各データフレームに対応するコードベクタを格納するためのテーブルと、テーブルに格納されたコードベクタを検索して、第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するための抽出手段とを含み、コードベクタの各コードは、データフレームの各所定バイトに対応し、所定バイトにフレームの最後が含まれるか否かを示すフラグと、フラグが、所定バイトにフレームの最後が含まれることを示す場合に、所定バイト内におけるフレームの最後の位置を示し、フラグが、所定バイトにフレームの最後が含まれないことを示す場合に、直前のフレームの最後がいくつ前のコード内に存在するかを示す付加情報とを含む。
【００４６】
抽出手段は、テーブルに格納されたコードベクタに含まれるフラグと、付加情報とを検索して送出要求量を抽出するので、フレームの検索を高速に行なうことが可能となる。
【００４７】
【発明の実施の形態】
（第１の実施の形態）
図１は、本発明の第１の実施の形態におけるＯＬＴの概略構成を示すブロック図である。このＯＬＴ１は、ＯＮＵからの光信号を受信してフレームを出力する受信部１１と、受信部１１から受けたデータフレームを上位ネットワークに送出する送信部１２と、受信部１１から受けたレポートフレームに基づいてグラントフレームを生成したり、上位ネットワークから受信したデータフレームの送信制御を行なったりする制御フレーム処理部１３と、上位ネットワークからのフレームを受信する受信部１４と、受信部１４によって受信されたフレームを蓄積するバッファメモリ１５と、制御フレーム処理部１３による制御によってバッファメモリ１５に蓄積されたフレームをＯＮＵに送出する送信部１６とを含む。なお、バッファメモリ１５は、レジスタ、フリップフロップ回路、ラッチ回路など、データを記憶できるものであればよい。
【００４８】
受信部１１は、ＯＮＵからの光信号を受信し、フレームのヘッダ部分を読取ることによってデータフレームであるか、レポートフレームなどの制御フレームであるかを判定する。受信したフレームがデータフレームであれば、受信部１１は当該データフレームを送信部１２に転送する。また、受信したフレームが制御フレームであれば、受信部１１は当該制御フレームを制御フレーム処理部１３に転送する。
【００４９】
送信部１２は、受信部１１からデータフレームを受けると、当該データフレームを上位ネットワークに送出する。
【００５０】
制御フレーム処理部１３は、後述する送出許可量記憶テーブル、到着予定時刻記憶テーブル、ＲＴＴ記憶テーブルおよびアクティブ情報記憶テーブルを含み、帯域割当演算機能および下り制御フレーム作成機能を有している。制御フレーム処理部１３は、受信部１１からレポートフレームを受けると、後述する処理によってグラントフレームを作成してバッファメモリ１５に転送する。また、制御フレーム処理部１３は、バッファメモリ１５に蓄積されているフレームの送信制御も行なう。
【００５１】
また、制御フレーム処理部１３は、新たに接続されたＯＮＵがないか否かを定期的に検知するための制御フレームを生成して送出し、その検知結果に応じてアクティブ情報記憶テーブル等のテーブルの内容の書換えを行なう。また、制御フレーム処理部１３は、接続されていたＯＮＵが切断された場合には、それを検知してアクティブ情報記憶テーブル等のテーブルの内容の書換えを行なう。
【００５２】
受信部１４は、上位ネットワークからのフレームを受信し、バッファメモリ１５に転送する。バッファメモリ１５は、制御フレーム処理部１３および受信部１４から転送された制御フレームおよびデータフレームをキューに蓄積し、制御フレーム処理部１３による制御によってキューに蓄積されたフレームを送信部１６に転送する。送信部１６は、バッファメモリ１５から転送された制御フレームおよびデータフレームをＯＮＵへ送出する。
【００５３】
図２は、制御フレーム処理部１３の処理手順を説明するためのフローチャートである。まず、制御フレーム処理部１３は、受信部１１によって受信されたＯＮＵからのレポートフレームを受けると（Ｓ１１）、レポートフレームのヘッダの送信元情報を参照して、記憶テーブルから送信元情報に対応するＯＮＵの情報を読込む（Ｓ１２）。
【００５４】
図３は、制御フレーム処理部１３内に設けられた記憶テーブルの一例を示す図である。図３（ａ）は、送出許可量記憶テーブルを示しており、現時刻でアクティブと判定されているＯＮＵの番号ｋに対応して、ＯＮＵの送出許可量が格納される。この送出許可量記憶テーブルは、レポート／グラントフレーム処理時に更新される。
【００５５】
図３（ｂ）は、到着予定時刻記憶テーブルを示しており、現時刻でアクティブと判定されているＯＮＵの番号ｋに対応して、フレームの到着予定時刻が格納される。この到着予定時刻記憶テーブルは、レポート／グラントフレーム処理時に更新される。
【００５６】
図３（ｃ）は、ＲＴＴ記憶テーブルを示しており、送信可能になっているＯＮＵの番号１〜Ｎに対応して、それぞれのＲＴＴが格納される。このＲＴＴ記憶テーブルは、ＯＮＵとの間の距離測定時に更新される。
【００５７】
図３（ｄ）は、アクティブ情報記憶テーブルを示しており、送信可能になっているＯＮＵの番号１〜Ｎに対応して、それぞれのＯＮＵがアクティブである否かの情報が格納される。このアクティブ情報記憶テーブルは、新たなＯＮＵが検知されたとき、ＯＮＵの切断が検知されたとき、およびレポート／グラント処理時に更新される。
【００５８】
新たなＯＮＵが検知された場合には、ＲＴＴ記憶テーブルおよびアクティブ情報記憶テーブルにそのＯＮＵに対応した情報が追加される。また、ＯＮＵの切断が検知された場合には、ＲＴＴ記憶テーブルおよびアクティブ情報記憶テーブルからそのＯＮＵに対応した情報が削除される。
【００５９】
新たなＯＮＵがネットワークに接続されると、ＯＬＴ１が定期的に送出する下り制御フレームに応答して、ＯＮＵは上り制御フレームを送出する。ＯＬＴ１は、ＯＮＵからその制御フレームを受信することによってＯＮＵが接続されたことを認知し、その応答時間によってＯＬＴ１とＯＮＵとの間の往復時間、すなわちＲＴＴを検知する。
【００６０】
また、ＯＬＴ１は、ＯＮＵに送出したグラントフレームに対してある一定時間以上レポートフレームが返送されない場合、またはＯＮＵから切断要求を示す制御フレームを受信した場合には、ＯＮＵが切断されたと判断する。
【００６１】
再び、図２のフローチャートの説明に戻る。次に、制御フレーム処理部１３は、記憶テーブルから読込んだ当該ＯＮＵのひとつ前に処理されたＯＮＵの到着予定時刻および送出許可量と、当該ＯＮＵのＲＴＴとから、当該ＯＮＵの今回の到着予定時刻および送出開始時刻を計算する（Ｓ１３）。
【００６２】
また、制御フレーム処理部１３は、アクティブ情報記憶テーブルを参照して、アクティブであるＯＮＵの台数と、当該ＯＮＵがアクティブであるか否かによって次式によりクレジットを計算する（Ｓ１４）。なお、送信可能になっているＯＮＵの総数をＮ、伝送路の回線速度をｒ［ｂｐｓ］、遅延許容時間をｔｄ［ｓｅｃ］、アクティブなＯＮＵの比率をα（０＜α≦１）とする。ここで、アクティブなＯＮＵは、当該ＯＮＵの送出許可量を計算する時刻に、以前のＮ個のＯＮＵからのレポートのうち、送出要求量がゼロでなかったＯＮＵとする。
【００６３】
ｃ＝ｒ×ｔｄ／（Ｎ×α）  …（２）
式（２）によって、アクティブとなっているＯＮＵのクレジットを動的に変化させることによって、少数のＯＮＵのみがアクティブとなっている場合でも効率的に上り帯域を割当てることができる。
【００６４】
しかし、式（２）を用いてクレジットを計算した場合、アクティブとなるＯＮＵが増加すると遅延時間が許容範囲を超えてしまうことがある。特に、運用開始時刻においては、遅延時間が増大する可能性があるので、クレジットをなるべく固定する演算方法を用いる方が望ましい。
【００６５】
他のクレジットの演算方法として、前回のレポートで当該ＯＮＵの送出要求量がゼロでなかったか否かによってクレジットを変化させる方法が考えられる。当該ＯＮＵの送出許可量を計算する時刻に、当該ＯＮＵの前回の送出要求量がゼロである場合には、当該ＯＮＵのクレジットを次式とする。なお、Ｍを固定値［ｂｉｔ］とする。
【００６６】
ｃ＝Ｍ  …（３）
また、当該ＯＮＵの送出許可量を計算する時刻に、当該ＯＮＵの前回の送出要求量がゼロでない場合には、当該ＯＮＵのクレジットを次式によって計算する。
【００６７】
ｃ＝Ｍ＋（ｒ×ｔｄ−Ｎ×Ｍ）／（Ｎ×α）  …（４）
また、当該ＯＮＵの今回の送出要求量がゼロであれば、当該ＯＮＵをアクティブでないＯＮＵとし、記憶テーブルの内容を更新する。この演算方法を用いることにより、遅延時間を許容値以下に抑えることができるとともに、少数のアクティブなＯＮＵが帯域を独占できる場合には、そのＯＮＵに対して送出許可量を十分に大きくすることができる。
【００６８】
次に、制御フレーム処理部１３は、当該ＯＮＵの送出要求量が計算したクレジット以下であるか否かを判定する（Ｓ１５）。送出要求量がクレジット以下であれば（Ｓ１５，Ｙｅｓ）、送出許可量を送出要求量とする（Ｓ１６）。また、送出要求量がクレジットよりも大きければ（Ｓ１５，Ｎｏ）、送出許可量をクレジットの値とする（Ｓ１７）。
【００６９】
次に、制御フレーム処理部１３は、送出要求量から当該ＯＮＵが現時刻においてアクティブであるか否かを判定する。そして、当該ＯＮＵがアクティブであるか否かによって記憶テーブルの内容を更新する（Ｓ１８）。
最後に、制御フレーム処理部１３は、送信元アドレス（ＯＬＴのアドレス）、送信先アドレス（当該ＯＮＵのアドレス）、送出開始時刻および送出許可量によって構成されるグラントフレームを作成してバッファメモリ１５に転送し、下りデータフレームの間にこのグラントフレームの送出を指示する（Ｓ１９）。
【００７０】
以上の説明においては、制御フレーム処理部１３が、各ＯＮＵの前回の送出要求量（前周期の送出要求量）がゼロであるか否かによって、各ＯＮＵがアクティブであるか否かを判定するようにしたが、各ＯＮＵの以前の送出要求量を新しい順番で数回分保持し、その履歴のうちゼロでない送出要求量が規定回数以上あればＯＮＵがアクティブであると判定するようにしてもよい。
【００７１】
また、図４（ａ）に示すように、ＯＮＵの前回の送出要求量（前周期の送出要求量）がゼロであるか否かによってＯＮＵがアクティブであるか否かを判定し、当該ＯＮＵがアクティブでないと判定した場合には最低保証の送出許可量Ｍを当該ＯＮＵに割当てるようにした。しかし、図４（ｂ）に示すように、ＯＮＵの前回の送出要求量（前周期の送出要求量）がＬ以上であるか否かによって当該ＯＮＵがアクティブであるか否かを判定し、当該ＯＮＵがアクティブでなければ最低保証の送出許可量Ｍを当該ＯＮＵに割当てるようにしてもよい。ここで、Ｌには、たとえば最大ＭＡＣフレーム長である１５２２（ＶＬＡＮタグを含む場合）バイトが設定される。
【００７２】
また、各ＯＮＵの以前の送出要求量を新しい順番で数回分保持し、その履歴のうちＬ以上である送出要求量が規定回数以上あればＯＮＵがアクティブであると判定するようにしてもよい。
【００７３】
さらには、保証帯域が違うサービスクラス毎に異なる最大割当の上限をＯＮＵに設定し、大きな保証帯域を必要とするクラスには多くのクレジットを割当て、保証帯域が小さなクラスには少ないクレジットを割当てるようにし、大きな保証帯域を必要とするクラスの遅延時間を短縮するようにしてもよい。
【００７４】
以上説明したように、本実施の形態におけるＯＬＴ１によれば、アクティブとなっているＯＮＵの数によってクレジット（最大送出許可量）を動的に変化させるようにしたので、送出遅延時間を一定時間以内に抑えつつ、データの送信を要求しているＯＮＵに対しては大きなクレジットを割当てることが可能となった。
【００７５】
（第２の実施の形態）
本発明の第２の実施の形態におけるＯＬＴおよびＯＮＵは、図１３を用いて説明した送信許可帯域内で発生する割当ロスをなくして、帯域効率の低下を防止するものである。本実施の形態におけるＯＬＴは、式（２）、または式（３）および（４）を用いて算出したクレジットをグラントフレームに書込み、現時点のクレジットを各ＯＮＵに通知する。クレジットを受けたＯＮＵは、クレジット以下であり、かつ送出する先頭のデータフレームから、フレーム単位で送出できる最大のデータ量を送出要求量としてＯＬＴに通知する。
【００７６】
本実施の形態におけるＯＬＴの概略構成は、図１に示す第１の実施の形態におけるＯＬＴ１の概略構成と比較して、制御フレーム処理部の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における制御フレーム処理部の参照符号を１３’として説明する。
【００７７】
本実施の形態における制御フレーム処理部１３’は、送出許可量記憶テーブル、到着予定時刻記憶テーブル、ＲＴＴ記憶テーブルおよびアクティブ情報記憶テーブル以外に、各ＯＮＵのクレジットを記憶するクレジット記憶テーブルを有しており、制御フレーム処理部１３’はクレジット記憶テーブルを参照して、ＯＮＵにクレジットを通知する。
【００７８】
図５は、本発明の第２の実施の形態におけるＯＮＵの概略構成を示すブロック図である。このＯＮＵ２は、ＯＬＴからの光信号を受信して自身宛てのフレームを出力する受信部２１と、受信部２１から受けたデータフレームをユーザ側の端末に送出する送信部２２と、受信部２１から受けたグラントフレームに基づいてレポートフレームを生成したり、ユーザ側の端末から受信したデータフレームの送信制御を行なったりする制御フレーム処理部２３と、ユーザ側の端末からのフレームを受信する受信部２４と、受信部２４によって受信されたデータフレームおよび制御フレーム処理部２３によって生成された制御フレームを蓄積するバッファメモリ２５と、制御フレーム処理部２３による制御によってバッファメモリ２５に蓄積されたフレームをＯＬＴに送出する送信部２６と、受信部２４によって受信された各データフレームの長さをカウントするカウンタ２７とを含む。
【００７９】
受信部２１は、ＯＬＴからの光信号を受信し、フレームのヘッダ部分を読取ることによって当該フレームが自身宛てであるか否かを判定する。受信部２１は、受信したフレームが自身宛てであれば当該フレームを取込み、他のＯＮＵ宛てまたは他のＯＮＵに接続される装置宛てであれば当該フレームを廃棄する。また、受信部２１は、取込んだフレームのヘッダ部分によってデータフレームであるか、グラントフレームなどの制御フレームであるかを判定する。受信したフレームがデータフレームであれば、受信部２１は当該データフレームを送信部２２に転送する。また、受信したフレームが制御フレームであれば、受信部２１は当該制御フレームを制御フレーム処理部２３に転送する。
【００８０】
送信部２２は、受信部２１からデータフレームを受けると、当該データフレームをユーザ側の端末等が接続されるリンクへ送出する。
【００８１】
制御フレーム処理部２３は、カウンタ２７から転送されるデータフレームの長さを記憶するデータ長記憶テーブルを含み、送出要求量の演算機能および上り制御フレーム作成機能を有している。制御フレーム処理部２３は、受信部１１からグラントフレームを受けると、後述する処理によってレポートフレームを作成してバッファメモリ２５に転送する。また、制御フレーム処理部２３は、バッファメモリ２５に蓄積されているフレームの送信制御も行なう。
【００８２】
また、制御フレーム処理部２３は、ＯＬＴからのグラントフレーム以外の制御フレームの処理を実行してバッファメモリ２５に蓄積し、制御フレームの送信制御も行なう。
【００８３】
受信部２４は、ユーザ側の端末（リンク）からのフレームを受信し、バッファメモリ２５に転送する。バッファメモリ２５は、制御フレーム処理部２３および受信部２４から転送された制御フレームおよびデータフレームをフレーム種類毎に一旦キューに蓄積し、制御フレーム処理部１３による制御によってキューに蓄積されたフレームを送信部２６に転送する。送信部２６は、バッファメモリ２５から転送された制御フレームおよびデータフレームをＯＬＴへ送出する。
【００８４】
カウンタ２７は、受信部２４によって受信されたデータフレームの長さをカウントし、データフレーム毎の長さを制御フレーム処理部２３に通知する。
【００８５】
図６は、制御フレーム処理部２３の処理手順を説明するためのフローチャートである。まず、制御フレーム処理部２３は、受信部２１によって受信されたＯＬＴからのグラントフレームを受けると（Ｓ２１）、送出許可量に対応しているデータ長記憶テーブルの内容を更新し、グラントフレームに含まれるクレジットを読出す（Ｓ２２）。
【００８６】
図７は、データ長記憶テーブルの一例を示す図である。バッファメモリ２５の各キュー１〜Ｑのそれぞれに対応するデータ長記憶テーブルが設けられている。データフレームが受信部２４からバッファメモリ２５内のキューに転送されるときに、カウンタ２７によってデータフレームの長さが検知され、当該データフレームが格納されたキューに対応するデータ長記憶テーブルのデータ長が記録されていない領域に上から順番に当該データフレームのデータ長が書込まれる。
【００８７】
グラントフレームを受けたとき、制御フレーム処理部２３は、その送信許可量のデータに対応するデータ長をデータ長記憶テーブルから削除し、バッファメモリ２５に対して対応するデータフレームの送信を指示する。
【００８８】
また、レポートフレームを作成するとき、制御フレーム処理部２３は、規定されたキューに対する優先順位でデータフレームのデータ長を読出す。すなわち、グラントフレームに含まれるクレジット以下であり、かつ送出する先頭のデータフレームから、フレーム単位で送出できる最大のデータ量のデータに対応したデータ長の合計値が送出要求量となる。
【００８９】
再び、図６のフローチャートの説明に戻る。次に、制御フレーム処理部２３は、ＯＬＴから受信したグラントフレームに含まれるクレジットを参照し、クレジット以下であり、かつ送出する先頭のデータフレームから、フレーム単位で送出できる最大のデータ量を算出し、その値を送出要求量とする（Ｓ２３）。
【００９０】
次に、制御フレーム処理部２３は、送信元アドレス（当該ＯＮＵのアドレス）、送信先アドレス（ＯＬＴのアドレス）、送信要求量によって構成されるレポートフレームを作成し、バッファメモリ２５に転送する（Ｓ２４）。
【００９１】
最後に、制御フレーム処理部２３は、グラントフレームに含まれる送出開始時刻に、レポートフレームおよび送出許可量分のデータフレームの送出をバッファメモリ２５および送信部２６に指示する（Ｓ２５）。
【００９２】
図８は、本発明の第２の実施の形態におけるＯＬＴの処理手順を説明するためのフローチャートである。まず、制御フレーム処理部１３’は、受信部１１によって受信されたＯＮＵからのレポートフレームを受けると（Ｓ３１）、レポートフレームに含まれる送出要求量がクレジット以下であるか否かを判定する（Ｓ３２）。
【００９３】
送出要求量がクレジット以下の場合には（Ｓ３２，Ｙｅｓ）、送出許可量を送出要求量とする（Ｓ３３）。また、送出要求量がクレジットよりも大きければ（Ｓ３２，Ｎｏ）、送出許可量をクレジットの値とする（Ｓ３４）。
【００９４】
次に、制御フレーム処理部１３’は、送出要求量に基づいて当該ＯＮＵがアクティブであるか否かを判定し、記憶テーブルの内容を更新するとともに（Ｓ３５）、記憶テーブルから読込んだ当該ＯＮＵのひとつ前に処理されたＯＮＵの到着予定時刻および送出許可量と、当該ＯＮＵのＲＴＴとから、当該ＯＮＵの今回の到着予定時刻および送出開始時刻を計算する（Ｓ３６）。
【００９５】
また、制御フレーム処理部１３’は、アクティブ情報記憶テーブルを参照して、アクティブであるＯＮＵの台数と、当該ＯＮＵがアクティブであるか否かによって式（２）、または式（３）および（４）によりクレジットを計算し（Ｓ３７）、クレジット記憶テーブルの内容を更新する（Ｓ３８）。
【００９６】
最後に、制御フレーム処理部１３’は、送信元アドレス（ＯＬＴのアドレス）、送信先アドレス（当該ＯＮＵのアドレス）、送出開始時刻および送出許可量によって構成されるグラントフレームを作成してバッファメモリ１５に転送し、下りデータフレームの間にこのグラントフレームの送出を指示する（Ｓ３９）。
【００９７】
図９は、ＯＬＴ１がｉ番目のグラントフレームをＯＮＵ２に送出したときに、どのようにして上りデータフレームの送出タイミングが決定されるのかを、１つのＯＮＵに注目して説明するためのシーケンス図である。
【００９８】
ｉ番目のグラントフレームには、ｉ番目の上りデータフレームに対する送出許可量、送出開始時刻およびｉ＋１番目のレポートに許されるクレジットが含まれる。ＯＮＵ２がこのグラントフレームを受信すると、クレジット以下のｉ＋１番目の送出要求量を含んだｉ番目のレポートフレームと、送出許可量以下のデータを含んだｉ番目のデータフレームとをＯＬＴ１に送出する。
【００９９】
ＯＬＴ１がｉ番目のレポートフレームを受信すると、送出要求量がクレジット以下であるか否かを判定する。送出要求量がクレジットを超えていれば、クレジットを送出許可量とする。また、ＯＬＴは、送出要求量を参照して当該ＯＮＵがアクティブであるか否かを判定する。
【０１００】
次に、ＯＬＴ１は、ひとつ前に処理されたＯＮＵの到着予定時刻および送出許可量からＯＮＵ２のｉ＋１番目のデータ到着時刻を計算する。ＯＬＴ１は、このデータ到着時刻とＲＴＴとから、ｉ＋１番目のグラントフレームをいつまでにＯＮＵに向けて送出すればよいかを計算できる。したがって、ＯＬＴ１は、ｉ＋１番目のグラントフレームを送出する時刻を決定し、そのグラントフレームを受信したＯＮＵ２がレポートフレームを送出する送出開始時刻も計算することができる。
【０１０１】
これらの計算は、レポートを受信した直後に行なえる。未だ計算していないクレジットに関しては、レポートを受信した直後に計算してもよいし、できるだけ新しい情報を使うためにグラントフレームの送出時間の直前であってもよい。ＯＬＴ１は、送出開始時刻、送出許可量およびクレジットを含んだグラントフレームをグラント送出時刻にＯＮＵ２に送出する。以上説明した手順を繰返し、他のＯＮＵ２に対しても同様の処理を繰返すことによって、クレジットの割当ロスをなくすことができる。
【０１０２】
以上説明したように、本実施の形態におけるＯＬＴ１およびＯＮＵ２によれば、ＯＮＵ２がＯＬＴ１から受信したグラントフレームに含まれるクレジットに応じて、送出要求量を計算してＯＬＴ１に送出するようにしたので、ＯＬＴ１は送出許可量をＯＮＵ２に割当てる際に発生する割当ロスをなくすことが可能となった。
【０１０３】
以上の説明においては、ＯＬＴ１は、ＯＮＵ２からの送出要求量がクレジットよりも大きければ、送出許可量をクレジットの値としたが、ＯＬＴ１はクレジットとＯＮＵ２からの送出要求量との差分に応じて、次回のクレジットを増減するようにしてもよい。
【０１０４】
（第３の実施の形態）
第２の実施の形態におけるＯＮＵは、データフレームを受信したときにデータフレームの長さをデータ長記憶テーブルに格納するものであったが、送出要求量の具体的な計算方法の説明は行なっていなかった。第３の実施の形態〜第５の実施の形態においては、送出要求量の計算方法の具体例を示すものである。
【０１０５】
本実施の形態におけるＯＮＵの概略構成は、図５に示す第２の実施の形態におけるＯＮＵ２の概略構成と比較して、制御フレーム処理部の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における制御フレーム処理部の参照符号を２３ａとして説明する。
【０１０６】
制御フレーム処理部２３ａは、データ長記憶テーブルに格納されたフレーム長情報を順次加算して得られた結果を格納するための累積長レジスタを有する。制御フレーム処理部２３ａは、レポートフレームを作成するときに、キューの先頭フレームに対応するフレーム長情報をデータ長記憶テーブルから読出し、累積長レジスタに格納される累積長に加算する。なお、累積長レジスタの初期値は、０である。
【０１０７】
次に、制御フレーム処理部２３ａは、累積長レジスタに格納される累積長とクレジットとを比較し、累積長がクレジット以下であれば、キューに格納される次のフレームに対応するフレーム長情報をデータ長記憶テーブルから読出し、累積長レジスタに格納される累積長に加算する。そして、制御フレーム処理部２３ａは、累積長レジスタに格納される累積長がクレジットよりも大きくなるまで、同様の処理を繰返す。
【０１０８】
そして、制御フレーム処理部２３ａは、累積長レジスタに格納される累積長がクレジットよりも大きくなったときに、その前のフレームまでの累積長を送出要求量とする。なお、累積長レジスタに格納される累積長がクレジットと等しくなったときに、上述した繰返し処理を終了してその累積長を送出要求量とするようにしてもよい。
【０１０９】
また、ＯＮＵが複数のキューを有し、キュー毎にクレジットが与えられる場合には、上述した処理をキュー毎に行なえばよい。また、ＯＮＵが複数のキューを有し、ＯＮＵに１つのクレジットが与えられる場合には、複数のキューを優先度が高い順に並べられた１つのキューと見なして、上述した処理を行なうようにすればよい。
【０１１０】
第１の実施の形態および第２の実施の形態において説明したように、ＯＬＴ１は、送出許可量とクレジットとを１つのグラントフレームによってＯＮＵ２に通知するので、上述した処理は送出許可量に相当するフレームを出力した後のキューに格納されるフレームが対象となる。
【０１１１】
しかし、レポートフレームの作成を早めるために、送出許可量に相当するフレームを出力する前のキューに対して、累積長が送出許可量以下となる最大の累積長に対応するフレームを上述した手順によって求め、その次のフレームから上述した処理を行なって送出要求量を求めるようにしてもよい。第１の実施の形態および第２の実施の形態において説明したように、送出許可量は直前の送出要求量と等しくなるので、直前の送出要求量に対応するフレームのうち最後のフレーム位置を記憶しておけば、送出許可量に相当するフレーム位置を求める処理を省略できる。
【０１１２】
以上説明したように、本実施の形態におけるＯＮＵによれば、データ長記憶テーブルに格納されるフレーム長情報を順次累積長レジスタに格納される累積長に加算し、累積長とクレジットとを比較して送出要求量を求めるようにしたので、送出要求量を求める処理時間を短くすることができ、グラントフレームを受信してからレポートフレームを生成するまでの時間を短縮することが可能となった。
【０１１３】
また、送出要求量を求めるための処理時間がキューに保持されているフレーム数にほぼ比例するので、その処理時間を前もって把握することが可能となった。
【０１１４】
（第４の実施の形態）
本実施の形態におけるＯＮＵの概略構成は、図５に示す第２の実施の形態におけるＯＮＵ２の概略構成と比較して、制御フレーム処理部の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における制御フレーム処理部の参照符号を２３ｂとして説明する。
【０１１５】
制御フレーム処理部２３ｂは、データ長記憶テーブルの代わりに、先頭フレームから該当するフレームまでの累積長情報を格納するための累積長テーブルを有する。なお、データ長記憶テーブルと累積長テーブルの両方を持つようにしてもよい。
【０１１６】
制御フレーム処理部２３ｂは、ユーザ側端末装置からデータフレームを受信してキューに格納する際、そのフレームまでの累積長を求めて累積長テーブルに格納する。この累積長の算出方法として、最新の累積長をレジスタに保持しておき、新しいデータフレームを受信したときにそのフレーム長をレジスタに格納される値に加算してレジスタの内容を更新するようにしてもよいし、累積長テーブルの最後のエントリをその都度参照し、受信したフレームのフレーム長を加算するようにしてもよい。
【０１１７】
制御フレーム処理部２３ｂが、累積長がクレジット以下となる最大の累積長を求める処理は、単調増加する累積長テーブルのエントリの中から累積長がクレジット以上となる最初のエントリを見つける処理に帰結する。この処理として、累積長テーブルを先頭から順次調べるようにしてもよいし、バイナリサーチなどの周知のサーチ手法を用いるようにしてもよい。
【０１１８】
また、制御フレーム処理部２３ｂが、累積長が送出許可量以上となる最初のエントリを見つけることによって、送出許可量分のフレーム位置を求めることができる。制御フレーム処理部２３ｂによる処理の流れとして，送出許可量分のフレーム位置を求める処理と、クレジット分のフレーム位置を求める処理との間に、送出許可量分のフレームを除去するように累積長テーブルを更新する処理が必要となる。ただし、累積長テーブルを更新する前に、クレジット分のフレーム位置を求める処理の代わりに、累積長が（送出許可量の累積長＋クレジット）となる最初のエントリを見つける処理を行ない、その後に累積長テーブルを更新するようにしてもよい。
【０１１９】
また、送出許可量が直前の送出要求量と等しくなることを前提として、累積長テーブルの更新を前もって行なうようにしてもよい。
【０１２０】
以上説明したように、本実施の形態におけるＯＮＵによれば、累積長テーブルに格納される累積長とクレジットとを比較して送出要求量を求めるようにしたので、送出要求量を求める処理時間を短くすることができ、グラントフレームを受信してからレポートフレームを生成するまでの時間を短縮することが可能となった。
【０１２１】
また、送出要求量を求めるための処理時間が、累積長テーブルを検索する時間と、キューに保持されているフレーム数に比例する時間との和となるので、その処理時間を前もって把握することが可能となった。
【０１２２】
（第５の実施の形態）
第４の実施の形態において、累積長テーブルの最初のエントリは、キューに格納された先頭のフレームのフレーム長となっている。したがって、キューが空の場合には累積長は０である。本実施の形態においては、キューが空の場合の累積長をベース累積長として別途保持しておき、累積長テーブルのエントリの内容は第４の実施の形態において説明した累積長にベース累積長を加算して得られた値とする。
【０１２３】
本実施の形態におけるＯＮＵの概略構成は、図５に示す第２の実施の形態におけるＯＮＵ２の概略構成と比較して、制御フレーム処理部の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における制御フレーム処理部の参照符号を２３ｃとして説明する。
【０１２４】
制御フレーム処理部２３ｃは、累積長テーブルの中から、累積長が（ベース累積長＋クレジット）以上となる最初のエントリＡＬｉを見つけ、送出要求量＝ＡＬｉ−ベース累積長とする。なお、累積長の算出方法は、第４の実施の形態において説明したものと同様である。
【０１２５】
また、制御フレーム処理部２３ｃは、クレジット分のフレームを累積長テーブルから除去する場合、累積長テーブルに残ったエントリに対して累積長の更新は行なわない。すなわち、ベース累積長は、キューから最後に出力されたフレームに対応する累積長となる。キューが空になった場合には、ベース累積長を０としてもよい。
【０１２６】
本実施の形態においては、累積長を有限の桁数で記憶し、累積長がオーバーフローした場合には単純に範囲を超えた桁を落として累積長テーブルに記憶する。送出要求量を求めるときの大小比較においては、オーバーフローした桁を回復させ、累積長よりも桁数を多くして処理を行なう。
【０１２７】
キューの最大長は、ＯＮＵのハードウェアリソースによって決定される。キューの最大長よりも累積長を１桁以上多くすることによって、累積長テーブルにおけるオーバーフローは高々１回となる。
【０１２８】
また、キューに格納される最初のフレームに対応する累積長よりも、キューに格納される最後のフレームに対応する累積長の方が小さい場合には、オーバーフローが発生したと判断でき、累積長のＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）を反転することによって、大小比較を行なうことができる。累積長の桁数を小さくして、オーバーフローが複数回発生しても、累積長テーブルの内容は単調増加する性質を有するので、桁落ちの回復を行なうことが可能である。しかし、高速なサーチ手法が適用しにくくなるので、望ましくはない。
【０１２９】
次に、累積長テーブルとしてリングバッファを用い、累積長が（ベース累積長＋クレジット）以上となる最初のエントリＡＬｉを見つける処理の一例として、バイナリサーチを用いた場合について説明する。リングバッファ内における、最初のエントリを示す開始ポインタと、最後のエントリを示す終了ポインタとが用いられる。
【０１３０】
バイナリサーチにおいては、検索領域が大まかに２分され、検索対象がどちらにあるかが判断される。検索対象を含んでいると判断された検索領域がさらに大まかに２分され、検索対象がどちらにあるかが判断される。検索領域は有限であるので、この処理を繰返すことによって、検索対象を発見することができる。
【０１３１】
まず、開始ポインタが終了ポインタよりも小さい場合について説明する。この場合、初期値として検索下限ポインタおよび検索上限ポインタに、それぞれ開始ポインタおよび終了ポインタの値が代入される。最初の調査として、検索下限ポインタと検索上限ポインタとのほぼ中間のエントリが読出され、中間累積長とされる。中間累積長が（ベース累積長＋クレジット）以上であれば、検索上限ポインタに中間累積長が代入される。中間累積長が（ベース累積長＋クレジット）よりも小さければ、検索下限ポインタに中間累積長が代入される。この処理が、中間累積長が（ベース累積長＋クレジット）と等しくなるか、検索下限ポインタの値と検索上限ポインタの値とが近くなるまで繰返される。
【０１３２】
次に、開始ポインタが終了ポインタよりも大きい場合について説明する。この場合、リングバッファ内のキューの範囲がリングバッファの最後から最初に折返されている。まず、リングバッファの最初または最後のエントリを調査し、検索対象が折返された側にあるのか、折返されない側にあるのかが判断される。検索対象が折返された側にある場合、検索下限ポインタおよび検索上限ポインタに、それぞれリングバッファの最初の値および終了ポインタの値が代入される。折返されない側にある場合、検索下限ポインタおよび検索上限ポインタに、それぞれ開始ポインタの値およびリングバッファの最後の値が代入される。以降は、開始ポインタが終了ポインタよりも小さい場合と同様の処理が行なわれる。
【０１３３】
以上説明したように、本実施の形態におけるＯＮＵによれば、累積長テーブルに格納される累積長と（ベース累積長＋クレジット）とを比較して送出要求量を求めるようにしたので、送出要求量を求める処理時間を短くすることができ、グラントフレームを受信してからレポートフレームを生成するまでの時間を短縮することが可能となった。
【０１３４】
また、累積長テーブルとしてリングバッファを用い、バイナリサーチを用いて送出要求量を検索するようにしたので、送出要求量を求めるための処理時間が、ｌｏｇ２（キューに保持されるフレーム数）となるので、その処理時間を前もって把握することが可能となった。
【０１３５】
（第６の実施の形態）
本発明の第３〜第５の実施の形態において、送出要求量の計算方法の具体例を示したが、データ長記憶テーブルに格納されるフレーム長情報や累積長テーブルに格納される累積長を検索するものであるため、少ないものでもｌｏｇ２（キューに保持されるフレーム数）回の検索が必要である。そのため、検索に要する時間が長くなると共に、検索シーケンスが複雑になる。本発明の第６〜第８の実施の形態のＯＮＵにおいては、検索に要する時間の短縮を図るものである。
【０１３６】
本実施の形態においては、データ長記憶テーブルがリングバッファによって構成され、ビットマップ形式でビットベクタが格納される。このデータ長記憶テーブルは、先頭ビットを示すポインタと、最後のビットを示すポインタとで有効範囲が管理される。
【０１３７】
ビットベクタの１ビットをキューの１バイトに対応させる。そして、キューの１バイトがフレームの最後の場合にはビットベクタに１が書込まれ、それ以外の場合にはビットベクタに０が書込まれる。このビットベクタは、フレーム間ギャップやプリアンブルのオクテットにも対応させる。
【０１３８】
本実施の形態におけるＯＮＵの概略構成は、図５に示す第２の実施の形態におけるＯＮＵ２の概略構成と比較して、制御フレーム処理部の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における制御フレーム処理部の参照符号を２３ｄとして説明する。
【０１３９】
ユーザ側の端末（リンク）からフレームを受信すると、制御フレーム処理部２３ｄはフレームデータをキューに追加すると共に、それに対応するビットをビットベクタに追加する。
【０１４０】
ＯＬＴからクレジットが与えられたときに、制御フレーム処理部２３ｄはクレジットに対応するビットベクタのビット位置を求め、そのビット内容を調べる。そのビットが０であれば、制御フレーム処理部２３ｄは１のビットが現れるまでビットベクタを順次遡って調べる。そして、制御フレーム処理部２３ｄは、１のビットから求められるキューの長さを送出要求量としてレポートする。
【０１４１】
ＯＬＴからグラントが与えられると、制御フレーム処理部２３ｄは、キューからグラント相当分のフレームを取出してＰＯＮ区間に送出すると共に、そのフレームに対応するビットをビットベクタから削除する。フレームの途中でグラント期間が終了した場合には、そのフレームを送出しなかったことにし、キューとビットベクタとをそのまま残す。
【０１４２】
なお、レポートするキューの長さの分解能を１バイトより大きくすることも可能である。この場合、ビットベクタの１ビットを、キューの長さの分解能に対応させればよい。
【０１４３】
また、フレームをＰＯＮ区間に送出するときに、ＦＥＣ（エラー訂正符号）を付加する場合には、ＦＥＣのために必要なバイト数もビットベクタに反映させるようにすればよい。
【０１４４】
また、キューが複数あり、キュー毎にクレジットが与えられる場合には、上述した処理をキュー毎に行なえばよい。また、キューが複数あり、複数のキュー全体にクレジットが与えられる場合には、優先度の高いキューが前方に位置するように連結したキューを想定し、上述した処理を行なうようにすればよい。
【０１４５】
以上説明したように、本実施の形態におけるＯＮＵによれば、データ長記憶テーブルに格納されるビットベクタの１ビットをキューの１バイトに対応させるようにしたので、フレームの検索を高速に行なうことが可能となった。
【０１４６】
たとえば、ビットベクタの１ビットをキューの２バイトに対応させた場合、１ワード（３２ビット／ワード）の検索でキューの６４バイトにフレームの最後が含まれるか否かを判定することができる。したがって、最長フレーム分のビットベクタを遡れば必ずフレームの最後を見つけることができるので、２５ワード以下の検索で十分となる。なお、データ長記憶テーブルの容量は、キューの容量の１／１６となる。
【０１４７】
（第７の実施の形態）
本発明の第７の実施の形態においては、データ長記憶テーブルがリングバッファによって構成され、コードベクタが格納される。このデータ長記憶テーブルは、先頭コードを示すポインタと、最後のコードを示すポインタとで有効範囲が管理される。
【０１４８】
コードベクタの１コードを、キューの６４バイト分に対応させる。１コードは７ビットで構成され、対応するキューの６４バイト内にフレームの最後のバイトが存在するか否かを示すフラグ１ビットと、６４バイト内におけるフレームの最後のバイトの位置６ビットとを含む。フレーム間ギャップやプリアンブルのオクテットに相当するデータは実際にはキューに保持されないが、キューに存在するものとしてコードベクタに反映させる。
【０１４９】
フレーム間ギャップやプリアンブルを含めたイーサネット（Ｒ）フレームの長さは８４オクテット以上であるので、キューの６４バイト内にあるフレームの最後は多くても１つである。
【０１５０】
本実施の形態におけるＯＮＵの概略構成は、図５に示す第２の実施の形態におけるＯＮＵ２の概略構成と比較して、制御フレーム処理部の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における制御フレーム処理部の参照符号を２３ｅとして説明する。
【０１５１】
ユーザ側の端末（リンク）からフレームを受信すると、制御フレーム処理部２３ｅはフレームデータをキューに追加すると共に、それに対応するコードをコードベクタに追加する。そして、制御フレーム処理部２３ｅは、フレームが完結した時点でフレーム長をデータ長記憶テーブルに書込む。
【０１５２】
ＯＬＴからクレジットが与えられたときに、制御フレーム処理部２３ｅはクレジットに対応するコードベクタのコード位置と６４バイト内のフラグメントとを求め、そのコード内容を調べる。そのコード内にフレームの最後が存在する場合、フレームの最後の位置がクレジットのフラグメント以内であれば、制御フレーム処理部２３ｅは検索を終了する。
【０１５３】
また、フレームの最後の位置がクレジットのフラグメントを超えるか、そのコード内にフレームの最後が存在しない場合、制御フレーム処理部２３ｅは次のフレームの最後を含むコード位置を、コードベクタを順次遡って検索する。そして、制御フレーム処理部２３ｅは、検索によって求められたコード位置とコード内のフレームの最後の位置とから求められるキューの長さを送出要求量としてレポートする。
【０１５４】
ＯＬＴからグラントが与えられると、制御フレーム処理部２３ｄは、キューからグラント相当分のフレームを取出してＰＯＮ区間に送出すると共に、そのフレームに対応するコードをコードベクタから削除する。フレームの途中でグラント期間が終了した場合には、そのフレームを送出しなかったことにし、キューとコードベクタとをそのまま残す。
【０１５５】
なお、レポートするキューの長さの分解能を１バイトより大きくすることも可能である。この場合、６４バイト内におけるフレームの最後の位置を示すビット数を少なくでき、コードサイズを小さくすることができる。
【０１５６】
また、フレームをＰＯＮ区間に送出するときに、ＦＥＣ（エラー訂正符号）を付加する場合には、ＦＥＣのために必要なバイト数もコードベクタに反映させるようにすればよい。
【０１５７】
また、キューが複数あり、キュー毎にクレジットが与えられる場合には、上述した処理をキュー毎に行なえばよい。また、キューが複数あり、複数のキュー全体にクレジットが与えられる場合には、優先度の高いキューが前方に位置するように連結したキューを想定し、上述した処理を行なうようにすればよい。
【０１５８】
以上説明したように、本実施の形態におけるＯＮＵによれば、データ長記憶テーブルに格納されるコードベクタの１コードをキューの６４バイトに対応させ、コードに含まれるフラグとフレームの最後のバイトの位置情報とに基づいて検索するようにしたので、フレームの検索を高速に行なうことが可能となった。
【０１５９】
たとえば、キューの６４バイトを１コードで表し、フレームの最後の位置を２バイト分解能として５ビットで表すとする。そして、コードベクタを４コード／ワードのリングバッファ（データ長記憶テーブル）に格納する場合、１ワードの検索でキューの２５６バイト内にフレームの最後が含まれるか否かを判定することができる。したがって、最長フレーム分のコードベクタを遡れば必ずフレームの最後を見つけることができるので、７ワード以下の検索で十分となる。なお、データ長記憶テーブルの容量は、キューの容量の６／５１２となる。
【０１６０】
（第８の実施の形態）
本発明の第８の実施の形態においては、データ長記憶テーブルがリングバッファによって構成され、コードベクタが格納される。このデータ長記憶テーブルは、先頭コードを示すポインタと、最後のコードを示すポインタとで有効範囲が管理される。
【０１６１】
コードベクタの１コードを、キューの６４バイト分に対応させる。１コードは７ビットで構成され、対応するキューの６４バイト内にフレームの最後のバイトが存在するか否かを示すフラグ１ビットと、付加情報６ビットとを含む。付加情報は、フラグが１（そのキューの６４バイト内にフレームの最後が存在することを示す）の場合、フレームの最後のバイトが６４バイト内のどこに位置するかを示す。また、付加情報は、フラグが０（そのキューの６４バイト内にフレームの最後が存在しないことを示す）の場合、直前のフレームの最後がいくつ前のコード内に存在するか示す。フレーム間ギャップやプリアンブルのオクテットに相当するデータは実際にはキューに保持されないが、キューに存在するものとしてコードベクタに反映させる。
【０１６２】
フレーム間ギャップやプリアンブルを含めたイーサネット（Ｒ）フレームの長さは８４オクテット以上であるので、キューの６４バイト内にあるフレームの最後は多くても１つである。また、イーサネット（Ｒ）フレームの長さは１５３８オクテット以下であるので、多くても２５コード内には必ずフレームの最後を示すコードが存在する。
【０１６３】
本実施の形態におけるＯＮＵの概略構成は、図５に示す第２の実施の形態におけるＯＮＵ２の概略構成と比較して、制御フレーム処理部の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における制御フレーム処理部の参照符号を２３ｆとして説明する。
【０１６４】
ユーザ側の端末（リンク）からフレームを受信すると、制御フレーム処理部２３ｆはフレームデータをキューに追加すると共に、それに対応するコードをコードベクタに追加する。そして、制御フレーム処理部２３ｆは、フレームが完結した時点でフレーム長をデータ長記憶テーブルに書込む。
【０１６５】
ＯＬＴからクレジットが与えられたときに、制御フレーム処理部２３ｆはクレジットに対応するコードベクタのコード位置と６４バイト内のフラグメントとを求め、そのコード内容を調べる。フラグが１の場合、フレームの最後の位置がクレジットのフラグメント以内であれば、制御フレーム処理部２３ｆは検索を終了する。
【０１６６】
また、フラグが１であるが、フレームの最後の位置がクレジットのフラグメントを超える場合、制御フレーム処理部２３ｆは１つ前のコードを調べる。そのコードのフラグが１であれば、制御フレーム処理部２３ｆは検索を終了する。また、そのコードのフラグが０であれば、制御フレーム処理部２３ｆはそのコードの付加情報が示すコードを取出して検索を終了する。
【０１６７】
また、最初に調べたコードのフラグが０の場合も、制御フレーム処理部２３ｆはそのコードの付加情報が示すコードを取出して検索を終了する。制御フレーム処理部２３ｆは、検索が終了したコード位置とコード内のフレームの最後の位置とから求められるキューの長さを送出要求量としてレポートする。
【０１６８】
ＯＬＴからグラントが与えられると、制御フレーム処理部２３ｄは、キューからグラント相当分のフレームを取出してＰＯＮ区間に送出すると共に、そのフレームに対応するコードをコードベクタから削除する。フレームの途中でグラント期間が終了した場合には、そのフレームを送出しなかったことにし、キューとコードベクタとをそのまま残す。
【０１６９】
なお、レポートするキューの長さの分解能を１バイトより大きくすることも可能である。この場合、コード内の付加情報のビット数を少なくでき、コードサイズを小さくすることができる。また、１コードに対応させるキューの範囲を６４バイト以外にすることも可能である。
【０１７０】
また、フレームをＰＯＮ区間に送出するときに、ＦＥＣ（エラー訂正符号）を付加する場合には、ＦＥＣのために必要なバイト数もコードベクタに反映させるようにすればよい。
【０１７１】
また、キューが複数あり、キュー毎にクレジットが与えられる場合には、上述した処理をキュー毎に行なえばよい。また、キューが複数あり、複数のキュー全体にクレジットが与えられる場合には、優先度の高いキューが前方に位置するように連結したキューを想定し、上述した処理を行なうようにすればよい。
【０１７２】
以上説明したように、本実施の形態におけるＯＮＵによれば、データ長記憶テーブルに格納されるコードベクタの１コードをキューの６４バイトに対応させ、コードに含まれるフラグと付加情報とに基づいて検索するようにしたので、フレームの検索を高速に行なうことが可能となった。
【０１７３】
たとえば、キューの６４バイトを１コードで表し、フレームの最後の位置を２バイト分解能として５ビットで表すとする。そして、コードベクタを１コード／ワードのリングバッファ（データ長記憶テーブル）に格納する場合、３ワード以下の検索で十分となる。なお、データ長記憶テーブルの容量は、キューの容量の６／５１２となる。
【０１７４】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１７５】
【発明の効果】
請求項１に記載の光加入者線終端装置によれば、決定手段が、第１の受信手段によって受信されたグラントに含まれる最大送出許可量以下で、かつ最大となる送出要求量を決定するので、クレジット以下の最適な送出要求量を抽出することが可能となった。
【０１７６】
請求項２に記載の光加入者線終端装置によれば、抽出手段が、レジスタに格納されるデータフレームの累積長が、グラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するので、レポートフレームを受信してからグラントフレームを送出するまでの時間を短縮することが可能となった。
【０１７７】
請求項３に記載の光加入者線終端装置によれば、抽出手段が、テーブルを検索して、データフレームの累積長が、グラントに含まれる最大送出許可量以下で、かつ最大となるように送出要求量を抽出するので、レポートフレームを受信してからグラントフレームを送出するまでの時間を短縮することが可能となった。
【０１７８】
請求項４に記載の光加入者線終端装置によれば、抽出手段が、テーブルを検索して、データフレームの累積長が、保持手段によって保持されるベース累積長とグラントに含まれる最大送出許可量との合計以下で、かつ最大となるように送出要求量を抽出するので、レポートフレームを受信してからグラントフレームを送出するまでの時間を短縮することが可能となった。
【０１７９】
請求項５に記載の光加入者線終端装置によれば、テーブルの検索がバイナリサーチによって行なわれるので、さらに処理時間を短縮することが可能となった。
【０１８０】
請求項６に記載の光加入者線終端装置によれば、抽出手段が、テーブルに格納されたビットベクタを検索して送出要求量を抽出するので、フレームの検索を高速に行なうことが可能となった。
【０１８１】
請求項７に記載の光加入者線終端装置によれば、抽出手段が、テーブルに格納されたコードベクタに含まれるフラグと、所定バイト内におけるフレームの最後の位置を示す情報とを検索して送出要求量を抽出するので、フレームの検索を高速に行なうことが可能となった。
【０１８２】
請求項８に記載の光加入者線終端装置によれば、抽出手段が、テーブルに格納されたコードベクタに含まれるフラグと、付加情報とを検索して送出要求量を抽出するので、フレームの検索を高速に行なうことが可能となった。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態におけるＯＬＴの概略構成を示すブロック図である。
【図２】制御フレーム処理部１３の処理手順を説明するためのフローチャートである。
【図３】制御フレーム処理部１３内に設けられた記憶テーブルの一例を示す図である。
【図４】ＯＮＵがアクティブであるか否かを判定する際に使用される基準値を説明するための図である。
【図５】本発明の第２の実施の形態におけるＯＮＵの概略構成を示すブロック図である。
【図６】制御フレーム処理部２３の処理手順を説明するためのフローチャートである。
【図７】データ長記憶テーブルの一例を示す図である。
【図８】本発明の第２の実施の形態におけるＯＬＴの処理手順を説明するためのフローチャートである。
【図９】ＯＬＴ１がｉ番目のグラントフレームをＯＮＵ２に送出したときに、どのようにして上りデータフレームの送出タイミングが決定されるのかを、１つのＯＮＵ２に注目して説明するためのシーケンス図である。
【図１０】従来のＰＯＮシステムの概略構成を示すブロック図である。
【図１１】従来のＰＯＮシステムの動作手順を説明するためのシーケンス図である。
【図１２】分散割当方式の一例を示す図である。
【図１３】第１の先行技術における問題点を説明するための図である。
【符号の説明】
１，１０１  ＯＬＴ、２，１０２−１〜１０２−ｎ  ＯＮＵ、１１，１４，２１，２４  受信部、１２，１６，２２，２６  送信部、１３，２３  制御フレーム処理部、１５，２５  バッファメモリ、２７  カウンタ、１０３−１〜１０３−ｎ  バッファ、１０４  伝送路、１０５  スプリッタ、１０６  グラント、１０７  レポート、１０８  上り情報フレーム、１０９  上位ネットワーク、１１０  下位ネットワーク、１１１  ユーザ端末。
【図１】
2004194263.tif 000003
【図２】
2004194263.tif 000004
【図３】
2004194263.tif 000005
【図４】
2004194263.tif 000006
【図５】
2004194263.tif 000007
【図６】
2004194263.tif 000008
【図７】
2004194263.tif 000009
【図８】
2004194263.tif 000010
【図９】
2004194263.tif 000011
【図１０】
2004194263.tif 000012
【図１１】
2004194263.tif 000013
【図１２】
2004194263.tif 000014
【図１３】
2004194263.tif 000015