(57)【特許請求の範囲】
【請求項１】
光端局装置からの送信許可に応じて、光加入者装置から複数のフレームを１つの上りデータに割り当てて送信するＰＯＮシステムで用いられて、入力されたフレームをキューへ順に蓄積し、前記キューに蓄積されているフレームのうち１つの上りデータで送信する各フレームに関するデータ量を順に累積して得られるデータ量合計値が、所定のデータ量閾値以下で最大となるフレームのフレーム区切りを検索し、当該フレーム区切りまでのデータ量合計値を、光端局装置へ通知するための送信要求量として特定する光加入者装置であって、
前記フレームのデータ量であるフレーム長を、当該フレームが前記キューに蓄積された順に、フレーム長テーブルに記憶するフレーム長記憶部と、
前記フレームが前記キューに蓄積されるごとに、当該フレームのデータ量を累積データ量に加算して更新する累積データ量算出部と、
前記フレームが前記キューに蓄積されるとき、当該蓄積のＮ（Ｎは、２以上の整数）回おきに、前記累積データ量算出部で更新された前記累積データ量を、累積データ量テーブルに順に記憶する累積データ量記憶部と、
前記累積データ量テーブルで保持する前記累積データ量のうち、当該累積データ量までのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となる累積データ量を特定し、この累積データ量に含まれる最後尾のフレームの次のフレームからＮ個以下のフレームをフレーム探索範囲として特定し、前記フレーム長テーブルで保持する前記フレーム長に基づいて、前記フレーム探索範囲に含まれる各フレームのフレーム区切りのうち、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となるフレーム区切りを探索し、当該フレーム区切りまでのフレームに関する前記データ量合計値を前記送信要求量として特定する送信要求量探索部と
を備えることを特徴とする光加入者装置。
【請求項２】
請求項１に記載の光加入者装置において、
前記フレーム長記憶部は、前記フレームのフレーム長として、前記累積データ量テーブルに累積データ量を最後に保持したＮ回おきのフレーム区切りの次のフレームから当該フレームまでの累積フレーム長を、前記フレーム長テーブルに記憶し、
前記送信要求量探索部は、前記フレーム長テーブルで記憶する前記累積フレーム長のうち前記フレーム探索範囲内に含まれる各フレームの累積フレーム長からなるフレーム長と、前記キューの先頭から前記フレーム探索範囲の境界に位置するフレーム区切りまでの、前記キューに蓄積されているフレームのデータ量である基準データ量とから、前記キューの先頭からフレーム区切りまでのデータ量が前記データ量閾値以下で最大となるデータ量を求めることを特徴とする光加入者装置。
【請求項３】
請求項１または請求項２に記載の光加入者装置において、
前記送信要求量探索部は、前記フレーム長テーブルで保持する前記フレーム長に基づいて、前記フレーム探索範囲に含まれる各フレームのフレーム区切りのうち、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となるフレーム区切りに代えて、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以上で最小となるフレーム区切りを探索し、当該フレーム区切りまでのフレームに関する前記データ量合計値を前記送信要求量として特定することを特徴とする光加入者装置。
【請求項４】
請求項１〜請求項３のいずれか１つに記載の光加入者装置において、
前記送信要求量探索部は、前記データ量閾値に代えて前記光端局装置から通知された送信許可データ量を用い、前記累積データ量テーブルの前記累積データ量を探索することによって、前記データ量合計値が前記送信許可データ量以下で最大となるフレームのフレーム区切りを検索し、当該フレーム区切りまでの前記データ量合計値を、１つの上りデータに格納して前記光端局装置へ送信する際の送信量として特定することを特徴とする光加入者装置。
【請求項５】
光端局装置からの送信許可に応じて、光加入者装置から複数のフレームを１つの上りデータに割り当てて送信するＰＯＮシステムで用いられて、入力されたフレームをキューへ順に蓄積し、前記キューに蓄積されているフレームのうち１つの上りデータで送信する各フレームに関するデータ量を順に累積して得られるデータ量合計値が、所定のデータ量閾値以下で最大となるフレームのフレーム区切りを検索し、当該フレーム区切りまでのデータ量合計値を、光端局装置へ通知するための送信要求量として特定する光加入者装置で用いられるフレーム送信量特定方法であって、
フレーム長記憶部が、前記フレームのデータ量であるフレーム長を、当該フレームが前記キューに蓄積された順に、フレーム長テーブルに記憶するステップと、
累積データ量算出部が、前記フレームが前記キューに蓄積されるごとに、当該フレームのデータ量を累積データ量に加算して更新するステップと、
累積データ量記憶部が、前記フレームが前記キューに蓄積されるとき、当該蓄積のＮ（Ｎは、２以上の整数）回おきに、前記累積データ量算出部で更新された前記累積データ量を、累積データ量テーブルに順に記憶するステップと、
送信要求量探索部が、前記累積データ量テーブルで保持する前記累積データ量のうち、当該累積データ量までのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となる累積データ量を特定し、この累積データ量に含まれる最後尾のフレームの次のフレームからＮ個以下のフレームをフレーム探索範囲として特定し、前記フレーム長テーブルで保持する前記フレーム長に基づいて、前記フレーム探索範囲に含まれる各フレームのフレーム区切りのうち、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となるフレーム区切りを探索し、当該フレーム区切りまでのフレームに関する前記データ量合計値を前記送信要求量として特定するステップと
を備えることを特徴とするフレーム送信量特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光通信技術に関し、特に受動光通信網の光加入者装置において、光端局装置へ送信する送信要求量を特定するための送信要求量特定技術に関する。
【背景技術】
【０００２】
受動光通信網（ＰＯＮ：Passive Optical Network）の時分割多元接続によって行われる上り方向の通信において、効率的に上り帯域を使用するには、それぞれの光加入者装置（ＯＮＵ：Optical Network Unit）に対して上り通信を許可する時間の長さを、通信の状況に応じて動的に変更することによる、動的帯域割当が重要である。
【０００３】
光端局装置（ＯＬＴ：Optical Line Terminal）は、各光加入者装置に対して送信許可量を算出し、その送信時間帯を排他的に確保することにより、それぞれの光加入者装置に帯域を割り当てる。
光加入者装置は、送信待ちの上りデータ量を送信要求量として送信要求信号に記載して光端局装置に送信する。光端局装置は、各光加入者装置からの送信要求信号を受信して送信要求量を参照し、光加入者装置毎に送信を許可する量と送信開始時刻とを算出し、これらをゲートフレームに記載して各光加入者装置に送信する。
【０００４】
動的帯域割当の方法としては、光加入者装置に送信要求量の閾値であるデータ量閾値を与え、このデータ量閾値以下で最大の送信量となるフレーム区切りまでのデータ量を、送信要求量としてレポートフレームに記載して光端局装置に送信する方法がある（例えば、特許文献１など参照）。
【０００５】
光加入者装置は、データ量閾値以下で最大の送信量となるフレーム区切りを探索するために、上りフレームを送信待ちのキューに蓄積したときの前記キューに蓄積された累積データ量を、前記フレームの各々について蓄積順に、累積データ量テーブルで保持しておき、送信要求量をレポートする前に、二分探索によって、前記累積データ量テーブルを参照して、データ量閾値以下で最大の送信量となるフレーム区切りを探索する。
【０００６】
図７は、従来技術による光加入者装置の構成例である。
光加入者装置５０は、ＬＡＮ受信部５１、ＬＡＮ送信部５２、ＰＯＮ受信部５３、ＰＯＮ送信部５４、上りバッファ部５５、累積データ量算出部５６、累積データ量記憶部５７、累積データ量探索部５８、レポート生成部５９から構成される。
【０００７】
ＬＡＮ受信部５１は、加入者側ネットワークであるＬＡＮからの信号を受信し、前記信号中に含まれるフレームに対して所定の処理を施した後、前記フレームを上りバッファ部５５に出力する。また、前記フレームのフレーム長を、フレーム毎に、累積データ量算出部５６に出力する。
ＬＡＮ送信部５２は、ＰＯＮ受信部５３からの下りフレームに対して所定の処理を施した後、前記フレームを含む送信信号を、加入者側ネットワークであるＬＡＮに送信する。
【０００８】
ＰＯＮ受信部５３は、光端局装置からの信号を受動光通信網を介して受信し、前記信号に対して所定の処理を施し、さらに、前記信号に含まれる下りフレームに対して所定の処理を施した後、前記フレームをＬＡＮ送信部５２に出力する。また、前記フレームに含まれる光端局装置からのゲートフレームに記載された、上り送信を許可する量と送信開始時刻とを、上りバッファ部５５に出力する。
ＰＯＮ送信部５４は、上りバッファ部５５が出力する上りフレームと、レポート生成部５９が出力するレポートフレームに対して所定の処理を施し、前記フレームを含む送信信号として、受動光通信網を介して光端局装置に送信する。
【０００９】
上りバッファ部５５は、ＬＡＮ受信部５１が出力した上りフレームをキューに蓄積する。また、上りバッファ部５５は、ＰＯＮ受信部５３からの上り送信を許可する量と送信開始時刻とに応じて、前記キューに蓄積した上りフレームをＰＯＮ送信部５４に出力する。
累積データ量算出部５６は、累積データ量を保持し、ＬＡＮ受信部５１から上りフレームのフレーム長を入力したとき、前記累積データ量に前記フレーム長を加算して、前記累積データ量を更新し、累積データ量記憶部５７に出力する。
【００１０】
このように、従来技術による光加入者装置５０では、累積データ量に前記フレーム長を加算する処理を行うことで、キューに現時点までに蓄積された全フレームについてのフレーム長の合計値を得ている。ここで、前記合計値には、キューからすでに取り出されたフレームのフレーム長も加算されている。このため、累積データ量の差によって、キュー長やキューに含まれる２フレーム間のデータ量を知ることができる。
【００１１】
したがって、累積データ量の差から正しくキューに蓄積されているデータ量を得るためには、少なくとも、累積データ量を表現するビット数は、キューに蓄積可能なデータ量の最大値を２進数で表現したときのビット数以上である必要がある。
【００１２】
この際、累積データ量に対してフレーム長の加算を繰り返すと桁あふれを生じるが、キューに蓄積可能なデータ量の最大値を２進数で表現したときのビット数よりも大きくし、蓄積時が後のフレームに対する累積データ量の値よりも、蓄積時が前のフレームに対する累積データ量の値の方が小さい場合に、前者の累積データ量のＭＳＢ（Most Significant Bit;最上位ビット）をビット反転し、前者の値から後者の値を差し引くことで、正しいデータ量を得ることができる。
なお、累積データ量の初期値は任意値でよい。これは、累積データ量の差からキューに蓄積されたデータ量を求めているためである。
【００１３】
累積データ量記憶部５７は、複数の累積データ量値をテーブルとして保持できる累積データ量テーブルを備える。累積データ量算出部５６が累積データ量を更新する毎に、すなわち、キューに上りフレームを蓄積する毎に、前記フレームのフレーム長の加算によって更新された累積データ量（前記フレームに対応する累積データ量）を、累積データ量テーブルに順に保持する。したがって、キューに蓄積されたフレーム順序と前記フレームに応じて更新された累積データ量の累積データ量テーブルでの順序は一致する。
【００１４】
上記において、累積データ量にフレーム長を加算する処理を行うのは、累積データ量算出部５６であり、累積データ量算出部５６が保持している累積データ量に対して、フレーム長を加算し、保持している累積データ量の値を更新する。なお、累積データ量算出部５６が保持する累積データ量テーブルはキューにつき１個であり、キューが１個の例では、加算対象となる累積データ量を特定する処理は不要である。
【００１５】
累積データ量テーブルは、１つの累積データ量を格納するための領域であるエントリを、複数個備えている。各エントリには番号があり、累積データ量記憶部５７は、エントリ番号とエントリの格納順とが一致するように管理する。上りバッファはフレームのキュー（ＦＩＦＯ；First In, First Out）であり、上りバッファのキューにフレームが蓄積されたとき、前記フレームに対応する累積データ量が、前記キューに対応した累積データ量テーブルの格納順に番号づけられたエントリに格納されるので、キューへのフレーム蓄積順と累積データ量テーブルのエントリ順とが一致する。
【００１６】
ＬＡＮ受信部５１がフレームＡ、フレームＢ、フレームＣが前記順で上りフレームを受信するときの動作を説明する。
ＬＡＮ受信部５１がフレームＡを受信したときは、フレームＡを上りバッファ部５５に出力するとともに、フレームＡのフレーム長ＬＡを累積データ量算出部５６に出力する。
上りバッファ部５５は、ＬＡＮ受信部５１からのフレームＡをキューに蓄積する。
【００１７】
一方、累積データ量算出部５６は、ＬＡＮ受信部５１からのフレーム長ＬＡを入力し、累積データ量算出部５６が保持している累積データ量（値Ｓ０）に前記フレーム長ＬＡを加えて、更新された累積データ量の値（Ｓ０＋ＬＡ）を累積データ量記憶部５７に出力する。
累積データ量記憶部５７は、累積データ量算出部５６により更新された累積データ量の値（Ｓ０＋ＬＡ）を入力し、累積データ量テーブルのエントリ（エントリの番号をＥ０とする）に、前記累積データ量の値（Ｓ０＋ＬＡ）を格納する。
【００１８】
次に、ＬＡＮ受信部５１がフレームＢを受信したときは、フレームＢを上りバッファ部５５に出力するとともに、フレームＢのフレーム長ＬＢを累積データ量算出部５６に出力する。
上りバッファ部５５は、フレームＢをキューに蓄積する。前記蓄積によって、キューには、フレームＡ、フレームＢの順でフレームが蓄積される。
【００１９】
一方、累積データ量算出部５６は、ＬＡＮ受信部５１からのフレーム長ＬＢを入力し、累積データ量算出部５６が保持している累積データ量（値Ｓ０＋ＬＡ）に前記フレーム長ＬＢを加えて、更新された累積データ量の値（Ｓ０＋ＬＡ＋ＬＢ）を累積データ量記憶部５７に出力する。
累積データ量記憶部５７は、累積データ量算出部５６により更新された累積データ量の値（Ｓ０＋ＬＡ＋ＬＢ）を入力し、先にフレームＡについて累積データ量を格納した累積データ量テーブルのエントリ（番号Ｅ０）の次のエントリ（番号Ｅ０＋１）に、前記累積データ量の値（Ｓ０＋ＬＡ＋ＬＢ）を格納する。
【００２０】
前記格納によって、累積データ量テーブルのエントリ（番号Ｅ０）と次のエントリ（番号Ｅ０＋１）には、それぞれ、フレームＡに対する累積データ量（Ｓ０＋ＬＡ）と、フレームＢに対する累積データ量（Ｓ０＋ＬＡ＋ＬＢ）とが格納される。このように、キューへのフレーム蓄積順と累積データ量テーブルのエントリ順とが一致する。
【００２１】
累積データ量探索部５８は、累積データ量記憶部５７の累積データ量テーブルを探索することによって、キュー先頭からフレーム区切りまでのデータ量がデータ量閾値以下で最大となる、キュー先頭からフレーム区切りまでのデータ量を取得し、このデータを送信要求量としてレポート生成部５９に出力する。
レポート生成部５９は、累積データ量探索部５８が出力した送信要求量を記載したレポートフレームを生成し、前記レポートフレームをＰＯＮ送信部５４に出力する。
【００２２】
このように、フレームがキューに蓄積される毎に、そのときの累積データ量を順に保持する累積データ量テーブルを備えることで、キュー先頭からのデータ量がデータ量閾値以下で最大となるフレーム区切りの探索を高速に行うことができる。
【００２３】
累積データ量テーブルを備えない構成では、キューに蓄積されたフレームをキュー先頭位置から読み出し、前記フレームのフレーム長の合計値を算出し、前記フレーム長の合計値がフレームデータ量閾値を超えた時点で、前記超えた時点で読み出したフレームの直前に読み出したフレームまでのフレーム長の合計値を、探索結果を含むレポートフレームを光端局装置に送信することになる。
【００２４】
したがって、累積データ量テーブルを備えない構成では、キュー先頭から順番にフレームを順に読み出すため、最大、蓄積しているフレーム数と同じ回数の探索が必要になる。また、累積データ量テーブルを備える構成では、１フレームにつき１個の累積データ量を読み出すことになるが、累積データ量テーブルを備えない構成では、実際のフレームデータを読み出すため、読み出しにより多くの時間が必要となる。
【００２５】
一方、累積データ量テーブルを備える構成では、累積データ量テーブルを二分探索することによって、最大ｌｏｇ２（蓄積しているフレーム数）＋１回の探索を繰り返すことで、探索結果を得ることができる。
これにより、探索を開始してから探索結果を含むレポートフレームを光端局装置に送信するまでの時間を短縮できる。したがって、最新のキューの蓄積状態を光端局装置に通知することができ、より効率的な動的帯域割当を実現することが可能となる。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】国際公開ＷＯ２００９／１０７５１９パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００２７】
しかしながら、このような従来の送信要求量特定技術では、累積データ量テーブルにおいて、蓄積されるフレーム数と同じ個数の累積データ量の情報を保持する必要があるため、蓄積されるフレームが多い場合は、累積データ量テーブルを構成するメモリサイズが大きくなってしまう、という問題があった。
【００２８】
本発明はこのような課題を解決するためのものであり、大きなメモリサイズの累積データ量テーブルを必要とすることなく、キューに蓄積された各フレームのフレーム長から、光端局装置に通知する送信要求量を特定できる送信要求量特定技術を提供することを目的としている。
【課題を解決するための手段】
【００２９】
このような目的を達成するために、本発明にかかる光加入者装置は、光端局装置からの送信許可に応じて、光加入者装置から複数のフレームを１つの上りデータに割り当てて送信するＰＯＮシステムで用いられて、入力されたフレームをキューへ順に蓄積し、前記キューに蓄積されているフレームのうち１つの上りデータで送信する各フレームに関するデータ量を順に累積して得られるデータ量合計値が、所定のデータ量閾値以下で最大となるフレームのフレーム区切りを検索し、当該フレーム区切りまでのデータ量合計値を、光端局装置へ通知するための送信要求量として特定する光加入者装置であって、前記フレームのデータ量であるフレーム長を、当該フレームが前記キューに蓄積された順に、フレーム長テーブルに記憶するフレーム長記憶部と、前記フレームが前記キューに蓄積されるごとに、当該フレームのデータ量を累積データ量に加算して更新する累積データ量算出部と、前記フレームが前記キューに蓄積されるとき、当該蓄積のＮ（Ｎは、２以上の整数）回おきに、前記累積データ量算出部で更新された前記累積データ量を、累積データ量テーブルに順に記憶する累積データ量記憶部と、前記累積データ量テーブルで保持する前記累積データ量のうち、当該累積データ量までのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となる累積データ量を特定し、この累積データ量に含まれる最後尾のフレームの次のフレームからＮ個以下のフレームをフレーム探索範囲として特定し、前記フレーム長テーブルで保持する前記フレーム長に基づいて、前記フレーム探索範囲に含まれる各フレームのフレーム区切りのうち、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となるフレーム区切りを探索し、当該フレーム区切りまでのフレームに関する前記データ量合計値を前記送信要求量として特定する送信要求量探索部とを備えている。
【００３０】
また、本発明にかかる上記光加入者装置の一構成例は、前記フレーム長記憶部で、前記フレームのフレーム長として、前記累積データ量テーブルに累積データ量を最後に保持したＮ回おきのフレーム区切りの次のフレームから当該フレームまでの累積フレーム長を、前記フレーム長テーブルに記憶し、前記送信要求量探索部で、前記フレーム長テーブルで記憶する前記累積フレーム長のうち前記フレーム探索範囲内に含まれる各フレームの累積フレーム長からなるフレーム長と、前記キューの先頭から前記フレーム探索範囲の境界に位置するフレーム区切りまでの、前記キューに蓄積されているフレームのデータ量である基準データ量とから、前記キューの先頭からフレーム区切りまでのデータ量が前記データ量閾値以下で最大となるデータ量を求めるようにしたものである。
【００３１】
また、本発明にかかる上記光加入者装置の一構成例は、前記送信要求量探索部で、前記フレーム長テーブルで保持する前記フレーム長に基づいて、前記フレーム探索範囲に含まれる各フレームのフレーム区切りのうち、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となるフレーム区切りに代えて、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以上で最小となるフレーム区切りを探索し、当該フレーム区切りまでのフレームに関する前記データ量合計値を前記送信要求量として特定するようにしたものである。
【００３２】
また、本発明にかかる上記光加入者装置の一構成例は、前記送信要求量探索部は、前記データ量閾値に代えて前記光端局装置から通知された送信許可データ量を用い、前記累積データ量テーブルの前記累積データ量を探索することによって、前記データ量合計値が前記送信許可データ量以下で最大となるフレームのフレーム区切りを検索し、当該フレーム区切りまでの前記データ量合計値を、１つの上りデータに格納して前記光端局装置へ送信する際の送信量として特定するようにしたものである。
【００３３】
また、本発明にかかるフレーム送信量特定方法は、光端局装置からの送信許可に応じて、光加入者装置から複数のフレームを１つの上りデータに割り当てて送信するＰＯＮシステムで用いられて、入力されたフレームをキューへ順に蓄積し、前記キューに蓄積されているフレームのうち１つの上りデータで送信する各フレームに関するデータ量を順に累積して得られるデータ量合計値が、所定のデータ量閾値以下で最大となるフレームのフレーム区切りを検索し、当該フレーム区切りまでのデータ量合計値を、光端局装置へ通知するための送信要求量として特定する光加入者装置で用いられるフレーム送信量特定方法であって、フレーム長記憶部が、前記フレームのデータ量であるフレーム長を、当該フレームが前記キューに蓄積された順に、フレーム長テーブルに記憶するステップと、累積データ量算出部が、前記フレームが前記キューに蓄積されるごとに、当該フレームのデータ量を累積データ量に加算して更新するステップと、累積データ量記憶部が、前記フレームが前記キューに蓄積されるとき、当該蓄積のＮ（Ｎは、２以上の整数）回おきに、前記累積データ量算出部で更新された前記累積データ量を、累積データ量テーブルに順に記憶するステップと、送信要求量探索部が、前記累積データ量テーブルで保持する前記累積データ量のうち、当該累積データ量までのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となる累積データ量を特定し、この累積データ量に含まれる最後尾のフレームの次のフレームからＮ個以下のフレームをフレーム探索範囲として特定し、前記フレーム長テーブルで保持する前記フレーム長に基づいて、前記フレーム探索範囲に含まれる各フレームのフレーム区切りのうち、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となるフレーム区切りを探索し、当該フレーム区切りまでのフレームに関する前記データ量合計値を前記送信要求量として特定するステップとを備えている。
【発明の効果】
【００３４】
本発明によれば、光加入者装置が、所定のデータ量閾値以下で最大の送信量となるフレーム区切りを探索するために必要とする、メモリサイズを削減する、優れた効果を得ることができる。したがって、大きなメモリサイズの累積データ量テーブルを必要とすることなく、キューに蓄積された各フレームのフレーム長から、光端局装置に通知する送信要求量を特定することが可能となる。
【図面の簡単な説明】
【００３５】
【図１】本発明にかかる光加入者装置（第１の実施の形態）の構成を示すブロック図である。
【図２】キューのフレーム蓄積状態を示す説明図である。
【図３】フレーム長テーブルの構成例である。
【図４】累積データ量テーブルの構成例である。
【図５】キューのフレーム蓄積状態とデータ量閾値との関係を示す説明図である。
【図６】累積データ量の探索処理を示す説明図である。
【図７】従来技術による光加入者装置の構成例である。
【発明を実施するための形態】
【００３６】
［本発明の概略］
まず、図１を参照して、本発明にかかる光加入者装置１０の概略について説明する。図１は、本発明にかかる光加入者装置（第１の実施の形態）の構成を示すブロック図である。
光加入者装置１０は、入力された１個以上のフレームをキューに順次蓄積し、前記蓄積されたフレームのうち、キュー先頭からフレーム区切りまでのデータの量が所定のデータ量閾値以下で最大となる、フレーム区切りを検索し、前記フレーム区切りまでのデータ量相当を、送信要求量として光端局装置に通知する機能を有している。
【００３７】
本発明は、このような光加入者装置１０において、Ｎフレーム毎に１群の合計フレーム長である累積データ量を記憶する累積データ量テーブルと、各フレームのフレーム長を記憶するフレーム長テーブルを設け、まず、累積データ量テーブルの累積データ量を用いて、キュー先頭からフレーム区切りまでのデータ量がデータ量閾値以下で最大となるフレーム区切りを含むフレーム群をフレーム探索範囲として特定し、次に、フレーム長テーブルのフレーム長を用いて、フレーム探索範囲のフレーム群に属する各フレームから、キュー先頭からフレーム区切りまでのデータ量がデータ量閾値以下で最大となるフレーム区切りを特定するようにしたものである。
【００３８】
すなわち、本発明にかかる光加入者装置１０は、前記フレームのデータ量相当であるフレーム長をフレーム長テーブルにフレームがキューに蓄積された順に記憶する、フレーム長記憶部２０を備える。
また、本発明にかかる光加入者装置１０は、累積データ量を保持し、キューにフレームを蓄積するとき、前記フレームのデータ量相当を前記累積データ量に加算する、累積データ量算出部１６を備える。
【００３９】
また、本発明にかかる光加入者装置１０は、キューにフレームを蓄積するとき、Ｎ回おきに、累積データ量算出部１６が保持する累積データ量を累積データ量テーブルに順に記憶する累積データ量記憶部１７を備える。
例えば、累積データ量算出部１６が、Ｎ＋１個の累積データ量を出力した場合、累積データ量記憶部１７は、１個めの累積データ量と、Ｎ＋１個めの累積データ量を、累積データ量テーブルに記憶する。２個めの累積データ量からＮ個めの累積データ量までの、Ｎ−１個の累積データ量は、累積データ量テーブルに記憶されない。
【００４０】
また、本発明にかかる光加入者装置１０は、累積データ量記憶部１７が記憶する１個以上の累積データ量を探索することによって、キューに蓄積されたキュー先頭からフレーム区切りまでのデータ量がデータ量閾値以下で最大となるフレーム区切りを含み、Ｎ個以下のフレームから構成される、フレーム探索範囲と、前記フレーム探索範囲の境界に位置するフレーム区切りまでのデータ量に相当する基準データ量とを特定し、さらに、フレーム長記憶部２０が記憶するフレーム長のうち、前記フレーム探索範囲内のフレーム長を前記基準データ量に累積することによって、キュー先頭からフレーム区切りまでのデータ量がデータ量閾値以下で最大となる、前記フレーム区切りまでのデータ量を求め、前記データ量を送信要求量とする、送信要求量探索部１８を備える。
【００４１】
なお、キュー先頭のフレームは、光加入者装置から送出されていないキューに蓄積されたフレームで、かつ、既に送出が決定しているフレーム（つまり光端局装置からの送信の許可に応じて光加入者装置が送信する予定のフレーム）を除くフレームのうち、最初に送出されるフレームである。前記キュー先頭のフレームより先に送出されるフレーム（既に送出が決定しているが未送出のフレーム）を前記送出時点まで、前記キューに蓄積しておく方法も可能であるが、前記方法の場合、前記キュー先頭のフレームとは、その後の送出機会に最初に送出されるフレームとは限らない。
【００４２】
Ｎの取りうる範囲は２以上の整数である。実用的な値の例は、Ｎ＝４、または、Ｎ＝８、またはＮ＝１６である。実用的なＮの値が２のべき乗となっているのは、累積データ量テーブルの探索によって得られた累積データ量テーブルの基準エントリの値から、フレーム探索範囲となるフレーム長テーブルのエントリの値の範囲を算出するとき、前記２進数として表現された各値を用いた演算が、簡略化されるためである。前記演算には、Ｎ倍の演算が含まれているが、Ｎの値を２のべき乗とすると、乗算より簡単な回路で実現できるビットシフト演算となる。
【００４３】
Ｎの値が４以上となっているのは、累積データ量テーブルのメモリ量が１／Ｎになる代わりにフレーム長テーブルのメモリが増大するので、例えばＮ＝２のときは累積データ量テーブルのエントリが１個減るとフレーム長テーブルのエントリが２個増えるということになり、回路規模の削減にならない可能性が高いためである。Ｎの値が１６以下となっているのは、累積データ量テーブルのエントリ数が１／Ｎになるために従来例での二分探索法による累積データ量テーブル探索時間よりもｌｏｇ２（Ｎ）だけ探索回数が減る代わりに、フレーム探索範囲に含まれるフレーム長に対するＮ回の比較処理が増大するので、Ｎが大きいと処理時間が増大するという問題が発生するためである。
【００４４】
一方、Ｎを大きくしてもフレーム長テーブルのメモリ量は変わらないので、回路規模はあまり変わらなくなる。例えば、二分探索１回につき３クロック要する（比較に１クロック、テーブルのアクセスに２クロック）と仮定し、各フレーム長に対する比較処理に１クロックを要すると仮定すると、Ｎ＝１６のときの二分探索の処理時間が１２クロック減る一方、１６クロックのフレーム長に対する比較処理時間が増大するので、前記の処理時間から、Ｎ＝１６が実用的な上限となる。なお、フレーム長に対する比較処理を並列化する（１クロックにつき複数回の比較処理を行う）ことも可能であり、この場合は、Ｎが１６より大きい値（例えばＮ＝３２）でも実用となる可能性がある。
【００４５】
［第１の実施の形態］
次に、図１を参照して、本発明の第１の実施の形態にかかる光加入者装置１０について説明する。
この光加入者装置１０は、ＬＡＮ受信部１１、ＬＡＮ送信部１２、ＰＯＮ受信部１３、ＰＯＮ送信部１４、上りバッファ部１５、累積データ量算出部１６、累積データ量記憶部１７、フレーム長記憶部２０、送信要求量探索部１８、レポート生成部１９から構成される。
【００４６】
光加入者装置１０は、光端局装置からの送信許可に応じて、光加入者装置から複数のフレームを１つの上りデータに割り当てて送信するＰＯＮシステムで用いられて、入力されたフレームをキューへ順に蓄積し、前記キューに蓄積されているフレームのうち１つの上りデータで送信する各フレームに関するデータ量を順に累積して得られるデータ量合計値が、所定のデータ量閾値以下で最大となるフレームのフレーム区切りを検索し、当該フレーム区切りまでのデータ量合計値を、光端局装置へ通知するための送信要求量として特定する機能を有している。
【００４７】
本実施の形態は、このような光加入者装置１０において、フレーム長記憶部２０で、前記フレームのデータ量であるフレーム長を、当該フレームが前記キューに蓄積された順に、フレーム長テーブルに記憶し、累積データ量算出部１７で、前記フレームを前記キューに蓄積するごとに、当該フレームのデータ量を累積データ量に加算して更新し、累積データ量記憶部１７で、前記フレームを前記キューに蓄積するとき、当該蓄積のＮ（Ｎは、２以上の整数）回おきに、前記累積データ量算出部で更新された前記累積データ量を、累積データ量テーブルに順に記憶するようにしたものである。
【００４８】
また、本実施の形態は、これに加えて、送信要求量探索部１８で、前記累積データ量テーブルで保持する前記累積データ量のうち、当該累積データ量までのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となる累積データ量を基準エントリとして特定し、この累積データ量に含まれる最後尾のフレームの次のフレームからＮ個以下のフレームをフレーム探索範囲として特定し、前記フレーム長テーブルで保持する前記フレーム長に基づいて、前記フレーム探索範囲に含まれる各フレームのフレーム区切りのうち、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となるフレーム区切りを探索し、当該フレーム区切りまでのフレームに関する前記データ量合計値を前記送信要求量として特定するようにしたものである。
【００４９】
［第１の実施の形態の構成］
次に、本実施の形態にかかる光加入者装置１０の構成について詳細に説明する。
ＬＡＮ受信部１１は、加入者側ネットワークであるＬＡＮからの信号を受信し、前記信号中に含まれるフレームに対して所定の処理を施した後、前記フレームを上りバッファ部１５に出力する。また、前記フレームのフレーム長を、フレーム毎に、累積データ量算出部１６とフレーム長記憶部２０に出力する。
なお、上りバッファ部１５が複数のキューを備える場合は、フレーム毎に、前記フレームの属性（ＶＬＡＮ  ＩＤやＶＬＡＮ優先度などフレームの各種ヘッダに含まれる情報）や光加入者装置１０に対する外部からの設定に応じて、キューを選定し、上りバッファ部１５へのフレーム出力と併せて、前記キュー選定結果を通知する。
【００５０】
ＬＡＮ受信部１１は、累積データ量算出部１６と上りバッファ部１５に対して、ＬＡＮ受信部１１が受信し上りバッファ部１５で蓄積されるフレームを蓄積するキューを指定するために、キュー選定結果を通知する。
【００５１】
なお、累積データ量算出部１６とフレーム長記憶部２０に出力するフレーム長は、上りバッファ部１５がフレームをキューに蓄積するときのデータ長とは限らない。フレーム長は、前記フレームがＰＯＮ送信部１４から送出されるときのフレーム長であり、例えば、ＰＯＮ送信部１４で暗号化されることによってフレームが伸長する場合には、キューに蓄積されるときのデータ長に前記伸長分を加える必要がある。さらに、ＰＯＮ送信部１４からフレームを送出するときは、次に送出するフレームとの間に所定のアイドル信号を入れる必要があるが、前記アイドル信号の長さを加算する必要がある。
【００５２】
このように、光加入者装置１０が上りフレームに施す処理によって変化する後のフレームのデータ長を、前記処理を行う前のフレームのデータ長であるキューに蓄積する時点でのデータ長を基に算出する。さらに、前記データ長を基に、光加入者装置１０から光端局装置へのフレーム送出時のフレーム間に入れるべきアイドル信号長を算出して前記を加算し、フレーム長として、累積データ量算出部１６とフレーム長記憶部２０に出力する。
【００５３】
ＬＡＮ送信部１２は、ＰＯＮ受信部１３からの下りフレームに対して所定の処理を施した後、前記フレームを含む送信信号を、加入者側ネットワークであるＬＡＮに送信する。
具体的には、ＬＡＮ送信部１２は、ＰＯＮ受信部１３からの下りフレームに対して、前記フレームの属性（ＶＬＡＮ  ＩＤやＶＬＡＮ優先度などフレームの各種ヘッダに含まれる情報）や光加入者装置１０に対する外部からの設定に応じて、フレームの廃棄や、フレームのＶＬＡＮ  ＩＤやＶＬＡＮ優先度の書き換え、ＶＬＡＮタグの削除や付与を行う。また、ＬＡＮ送信部１２はキューを備え、送信レートより入力レートが一時的に高くなったとき、送信前のフレームを一時的に蓄積し、廃棄されないようにする。
【００５４】
また、複数のキューを備え、前記フレームの属性や光加入者装置１０に対する外部からの設定に応じて、前記キューを選定して前記選定したキューに前記フレームを蓄積する。さらに、キュー毎に指定されている優先度に応じて、キューからのフレーム出力を制御する（優先度の高いキューに蓄積されたフレームを優先度の低いキューに蓄積されたフレームよりも先に出力する優先制御や、各キューからの出力レートの割合を優先度に応じて重みづけした重みづけ公平制御など）。また、光加入者装置１０が複数のＬＡＮポートを備える場合には、前記フレームの属性や光加入者装置１０に対する外部からの設定に応じて、送信ポートを選択し、前記選択した送信ポートから、前記フレームを送出する。
【００５５】
ＰＯＮ受信部１３は、光端局装置からの信号を受動光通信網を介して受信し、前記信号に対して所定の処理を施し、さらに、前記信号に含まれる下りフレームに対して所定の処理を施した後、前記フレームをＬＡＮ送信部１２に出力する。また、前記フレームに含まれる光端局装置からのゲートフレームに記載された、上り送信を許可する量と送信開始時刻とを、上りバッファ部１５に出力する。
【００５６】
具体的には、ＰＯＮ受信部１３は、光端局装置が前記光加入者装置１０に対して送出した下りフレームを受信する。また、前記フレームが暗号化されている場合に復号を行う。また、前記受信した信号に誤り訂正用のパリティが付加され、前記パリティにより訂正可能な誤りを検出した場合に、前記誤りを訂正する。また、ゲートフレームを除く下りフレームをＬＡＮ送信部１２に出力する。また、光端局装置と同期した時計を有しており、ゲートフレームに記載された現時刻情報に基づいて前記時計の時刻を合わせる。
【００５７】
ＰＯＮ送信部１４は、上りバッファ部１５が出力する上りフレームと、レポート生成部１９が出力するレポートフレームに対して所定の処理を施し、前記フレームを含む送信信号として、受動光通信網を介して光端局装置に送信する。
【００５８】
具体的には、ＰＯＮ送信部１４は、レポート生成部１９が出力するレポートフレームに対して、ＰＯＮ受信部１３が有する時計が示す現在の時刻を記載する。また、ＰＯＮ送信部１４は、上りバッファ部１５が出力する上りフレームと、前記レポートフレームに対して、暗号化を、光加入者装置１０に対する外部からの設定に応じて行う。また、前記各フレームに対する誤り訂正用パリティの算出と前記パリティの付与を光加入者装置１０に対する外部からの設定に応じて行う。
なお、前記各フレームに対する誤り訂正用パリティの算出と付与ではなく、フレームおよびフレーム間ギャップを含む信号に対して誤り訂正用パリティの算出と前記パリティの付与を行う例もある。
【００５９】
上りバッファ部１５は、ＬＡＮ受信部１１が出力した上りフレームをキューに蓄積する。また、ＰＯＮ受信部１３からの上り送信を許可する量と送信開始時刻に応じて、前記キューに蓄積した上りフレームをＰＯＮ送信部１４に出力する。
なお、上りバッファ部１５は、複数のキューを備えることも可能である。この場合は、上りバッファ部１５が、ＬＡＮ受信部１１から通知されるキュー選定結果に応じてキューを選択し、前記選択したキューに蓄積する。また、キュー毎の優先度に応じた優先制御などにより複数のキューからフレームを取り出すキューを選択する。
【００６０】
また、上りバッファ部１５は、フレームをキューから取り出すとき、フレーム長記憶部２０および累積データ量記憶部１７に対して、前記フレーム取り出しを示すフレーム取り出し信号を出力する。複数のキューを備える場合は、前記信号はフレームが取り出されたキューを特定するための情報が付加される。
【００６１】
累積データ量算出部１６は、累積データ量を保持し、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記累積データ量に前記フレーム長を加算して、前記累積データ量を更新し、累積データ量記憶部１７に出力する。
なお、累積データ量算出部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したときのみ、累積データ量の値を更新する。また、上りバッファ部１５が複数のキューを備える場合は、キュー毎に累積データ量を保持し、キュー選定結果が示すキューに対応する累積データ量にフレーム長を加算する。
【００６２】
フレーム長記憶部２０は、複数のフレーム長値をテーブルとして保持できるフレーム長テーブルを備える。ＬＡＮ受信部１１がフレーム長を出力する毎に、すなわち、キューに上りフレームを蓄積する毎に、前記フレーム長を、フレーム長テーブルに順に保持する。したがって、キューに蓄積されたフレーム順序と、対応するフレーム長のフレーム長テーブルでの順序は一致する。
なお、フレーム長テーブルが満杯にならないよう、キューから上りフレームが取り出されたとき（上りバッファからフレーム取り出し信号を受けたとき）、フレーム長テーブルに保持していた前記フレームに対応するフレーム長を破棄する（フレーム長テーブルのボトムエントリを１つ上に移動する）。
【００６３】
また、複数のキューを備える場合は、キュー毎にフレーム長テーブルを備える。キューの１つに上りフレームを蓄積する毎に、前記フレームのフレーム長を、前記キューに対応したフレーム長テーブルに保持する。キューから上りフレームが取り出される毎に、前記キューに対応したフレーム長テーブルに保持していた前記フレームに対応するフレーム長を破棄する。
【００６４】
累積データ量記憶部１７は、複数の累積データ量値をテーブルとして保持できる累積データ量テーブルを備える。累積データ量算出部１６が累積データ量を更新する回数を計数し、前記回数がフレーム累積周期Ｎ（Ｎは、２以上の整数）の自然数倍となる毎に、すなわち、キューに上りフレームを蓄積するときのＮ回おきに、前記フレームのフレーム長の加算によって更新された累積データ量（前記フレームに対応する累積データ量）を、累積データ量テーブルに順に保持する。
【００６５】
なお、累積データ量記憶部１７は、累積データ量テーブルが満杯にならないよう、上りバッファからのフレーム取り出し信号を基にキューから取り出された上りフレームのフレーム数を計数し、前記フレーム数がＮの自然数倍となる毎に、すなわち、キューから取り出されたフレームに対応する累積データ量が累積データ量テーブルに保持されている場合に、前記フレームに対応する累積データ量を破棄する（累積データ量テーブルのボトムエントリを１つ上に移動する）。
【００６６】
累積データ量テーブルは、１つの累積データ量を格納するための領域であるエントリを、複数個備えている。各エントリには番号があり、累積データ量記憶部１７は、前記番号とエントリの格納順が一致するように管理する。
ボトムエントリとは、累積データ量が格納されたエントリのうち、最も古く格納が行われたエントリを指す。また、トップエントリとは、最後に（＝最も新しく）格納が行われたエントリを指す。
【００６７】
累積データ量テーブルのボトムエントリを１つ上に移動するとは、現在のボトムエントリの番号＋１の番号に対応したエントリを、新たなボトムエントリとすることである。
累積データ量記憶部１７は、ボトムエントリの値とトップエントリの番号を保持することで、エントリの番号が、ボトムエントリからトップエントリまでの範囲にあるエントリを累積データ量が格納された有効なエントリ、前記範囲外のエントリは、無効なエントリとして、管理する。したがって、ボトムエントリを１つ上に移動することは、これまでボトムエントリであったエントリを無効化し前記エントリに格納されている累積データ量を破棄したことになる。
【００６８】
ボトムエントリの移動がフレーム長の破棄にはならない。上りバッファのキューからのフレームを取り出すとき、累積データ量記憶部１７は、前記取り出しを示すフレーム取り出し信号を上りバッファから入力する。フレーム１個がキューから取り出される毎に、累積データ量記憶部１７は前記フレーム取り出し信号を入力するので、累積データ量記憶部１７は、前記信号を基に、キューから取り出された上りフレームの数を計数することで、キューから取り出されたフレーム数を知る。前記キューから取り出されたフレーム数に基づいて、キューから取り出されたフレームに対応する累積データ量が、累積データ量テーブルに格納されているかを判断する。キューから取り出されたフレームに対応する累積データ量が累積データ量テーブルに格納されていると判断した場合は、前記累積データ量を累積データ量テーブルから廃棄する。
【００６９】
なお、累積データ量テーブルが保持する累積データ量は、キュー先頭フレームから現フレームまでのデータ量とは限らないことに注意すべきである。累積データ量算出部１６は、保持した累積データ量に対してキューに蓄積されるフレームのフレーム長を次々加算するが、キュー先頭位置のフレームのフレーム長を加算する時点で、前記保持していた累積データ量の値をリセットしない。前記加算時点で、そのフレームがキュー先頭位置になるか判定できないためである。
【００７０】
このため、先頭フレームから現フレームまでのデータ量は、累積データ量から、キュー先頭フレームをキューに蓄積する直前での累積データ量の値Ｓ０を差し引く必要がある。前記Ｓ０の値は、キューからのフレーム取り出しに合わせて累積データ量テーブルから廃棄された最新の累積データ量を保持し、その後、キューからのフレーム取り出しに合わせてフレーム長テーブルからフレーム長が廃棄される毎に、前記フレーム長を前記保持値に加算することによって、得ることができる。
【００７１】
上記のＳ０は、キューから最後に取り出されたフレームに対応する累積データ量である。
累積データ量テーブルには、キューに蓄積されたフレームのうち１／Ｎのフレームについてのみ対応する累積データ量が格納されていないので、累積データ量テーブルに格納されていない累積データ量については、格納されている累積データ量の値とフレーム長テーブルに格納されているフレーム長とから算出する必要がある。
【００７２】
累積データ量記憶部１７は、キューから取り出されたフレームの数を計数することで、前記取り出されたフレームが、累積データ量テーブルのボトムエントリに格納された累積データ量に対応したフレームか否かを判断し、格納された累積データ量に対応したフレームであった場合に、前記された累積データ量を廃棄する。このとき、廃棄される累積データ量を累積データ量テーブルのボトムエントリから読み出して、Ｓ０として保持する。格納された累積データ量に対応したフレームでなかった場合は、フレーム長記憶部２０が廃棄したフレーム長を、前記Ｓ０に加えることで、格納された累積データ量に対応したフレームに対応する累積データ量である、Ｓ０を得ることができる。
【００７３】
なお、フレーム長記憶部２０は、キューから上りフレームが取り出されたとき、フレーム長テーブルのボトムエントリからフレーム長を廃棄するが、前記ボトムエントリに格納されたフレーム長を読み取って、廃棄されたフレーム長として累積データ量記憶部１７に出力する。
【００７４】
累積データ量算出部１６は、回路の起動後に、保持する累積データ量をリセットすることはない。キューにフレームが１個も蓄積されていない場合に、リセットすることは可能であるが、リセットしなくとも動作に影響はない。
送信要求量探索部１８が、累積データ量テーブルに格納された累積データ量を用いるとき、Ｓ０との差をキューに蓄積されたデータ量として扱うので、すでにキューから取り出されているフレームのフレーム長が累積データ量に加わっていたとしても、その値は、累積データ量テーブルに格納されている全ての累積データ量に加わっているので、累積データ量の差には影響がでない。したがって、上りバッファからフレームを出力した情報は、累積データ量に反映される必要はない。
【００７５】
キューからフレームが取り出されたときに、累積データ量算出部１６が保持する累積データ量の値を、前記フレームのフレーム長分だけ減ずるという方法で、正しく動作するように思われるかもしれないが、実際には正しく動作しない。累積データ量は、累積データ量テーブルにも格納されているので、累積データ量算出部１６が保持する累積データ量だけでなく、累積データ量テーブルの各エントリに格納された累積データ量についても、同様に、キューからフレームが取り出されたときに、前記フレームのフレーム長分だけ減ずる必要がある。
ただし、フレームを出力する毎に、累積データ量テーブルの全有効エントリ数＊２回のアクセス（値の読み出しと更新値の書き込み）が発生する。
【００７６】
例えば、蓄積中のフレーム数＝４０９６個、Ｎ＝１６とすると、累積データ量テーブルの有効エントリ数（＝記憶されている全ての累積データ量の個数）は４０９６／１６＝２５６となるので、１アクセスあたり１クロックを要するとすると、フレームを出力する毎に、５１２クロックの処理時間がかかる。前記処理時間を、前記累積データ量テーブルに対する二分探索の時間と比較すると、二分探索による探索結果を得るまでの探索回数は、ｌｏｇ２（有効エントリ数）＝ｌｏｇ２（２５６）＝８回で各探索に３クロックを要するとすると、２４クロックになる。したがって、累積データ量テーブルの探索時にＳ０の値を用いない前者の方法は、累積データ量テーブルの探索に要する時間と比較すると、２１倍以上の時間がかかり、現実的な方法とは言えない。
【００７７】
なお、複数のキューを備える場合は、キュー毎に累積データ量テーブルを備える。
キューの１つに上りフレームを蓄積する毎に、前記キューに対応した累積データ量を、前記キューに対応した累積データ量テーブルに保持する。キューから上りフレームが取り出される毎に、前記キューに対応した累積データ量テーブルに保持していた前記フレームに対応する累積データ量を破棄する。
【００７８】
図２は、キューのフレーム蓄積状態を示す説明図である。図３は、フレーム長テーブルの構成例である。図４は、累積データ量テーブルの構成例である。
キューには、キュー先頭から順に＃１〜＃１１のフレームが蓄積されており、各フレームのフレーム長はＬ１〜Ｌ１１となっている。このとき、フレーム長テーブルのボトムエントリから順に、Ｌ１〜Ｌ１１のフレーム長が保持される。また、累積データ量テーブルに累積データ量を保持するフレーム累積周期Ｎ＝４であり、累積データ量テーブルのボトムエントリから順に、＃２のフレームまでの累積データ量Ｓ１，＃（２＋Ｎ）＝＃６までの累積データ量Ｓ２，  ＃（６＋Ｎ）＝＃１０までの累積データ量Ｓ３が保持される。
【００７９】
送信要求量探索部１８は、あるグラントにおいて、１つの上りデータに割り当てて光端局装置に送信する各フレームのデータ量を、その先頭フレームから順に累積して得られるデータ量合計値が、所定のデータ量閾値以下で最大となるフレーム区切りを、累積データ量テーブルを参照することによって取得し、前記フレーム区切りまでのデータ量を、送信要求量としてレポート生成部１９に出力する。
【００８０】
ここで、１つの上りデータに割り当てて送信するフレームは、常にキューの先頭に位置するとは限らない。既に上りデータに対して割当済のフレームが、キューに残存している場合もあるからである。したがって、送信要求量探索部１８は、キューについて（あるいはキューごと）、どのフレーム以前が割当済でどのフレーム以降が未割当であるかを示す、フレーム番号や蓄積位置からなる割当識別情報を保持している。実際には、前記データ量合計値は、この割当識別情報に基づき計算される。なお、本実施の形態では、理解を容易とするため、特別な場合を除いては、割当済のフレームがキューに残存しておらず、キュー先頭のフレームが、１つの上りデータに新たに割り当てて送信するフレームの先頭フレームである場合を前提として説明している。
【００８１】
送信要求量探索部１８は、累積データ量テーブルが保持する累積データ量を探索し、キューに蓄積されたキュー先頭からフレーム区切りまでのデータ量が所定のデータ量閾値以下で最大となるフレーム区切りを含むＮ個以下のフレームから構成されるフレーム探索範囲と前記フレーム探索範囲の境界(先頭)に位置するフレーム区切りまでのデータ量である基準データ量とを特定する。
さらに、送信要求量探索部１８は、フレーム長テーブルが保持するフレーム長のうち、前記フレーム探索範囲内のフレーム長を前記基準データ量に累積することによって、キュー先頭からフレーム区切りまでのデータ量がデータ量閾値以下で最大となる、前記フレーム区切りまでのデータ量を探索する。さらに、前記データ量を送信要求量としてレポート生成部１９に出力する。
【００８２】
なお、上記の計算は閾値以下の最大の累積データ量を求めているのではない。１／Ｎに間引かれた累積データ量テーブルを探索することによって得られた結果は、閾値以下の最大の累積データ量ではない。累積データ量テーブルの探索によってあるエントリに格納された累積データ量−Ｓ０がデータ量閾値以下で最大となったとき、前記エントリ（番号をＥｒとする）に格納があってから、次のエントリ（Ｅｒ＋１の番号）に格納があるまでの間に、Ｎ−１個のフレームが、キューに蓄積されているが、これらのフレームに対応する累積データ量については、累積データ量テーブルに格納されていない。したがって、これらの格納されていなかった累積データ量の中に、累積データ量−Ｓ０がデータ量閾値以下で最大となっている可能性がある。
【００８３】
フレーム探索範囲とは、累積データ量テーブルを探索して得られた結果よりも大きくデータ量閾値以下である、フレーム区切りを探すための範囲を表しており、番号がＥｒのエントリと次のエントリ（番号がＥｒ＋１）の間で、累積データ量がテーブルに格納されなかった、Ｎ−１個のフレーム群を指す。
なお、Ｅｒのエントリが累積データ量テーブルのトップエントリであった場合は、前記トップエントリ以後にキューに蓄積されたフレームが前記フレーム群に含まれ、そのフレーム数はＮ−１個より少ない可能性がある。また、どのエントリについても累積データ量−Ｓ０＞データ量閾値となった場合は、ボトムエントリより前にキューに蓄積されたフレームが前記フレーム群に含まれ、そのフレーム数はＮ−１個より少ない可能性がある。
【００８４】
フレーム探索範囲の境界に位置するフレーム区切りとは、累積データ量テーブルのエントリＥｒに格納された累積データ量に対応するフレームの、フレーム区切りである。
ただし、累積データ量テーブルの探索の結果、どのエントリについても、累積データ量−Ｓ０＞データ量閾値となった場合は、キュー先頭がフレーム探索範囲の境界に位置するフレーム区切りになる。
【００８５】
基準データ量とは、キュー先頭からフレーム探索範囲の境界に位置するフレーム区切りまでの、キューに蓄積されているフレームのデータ量である。
基準データ量は、Ｅｒのエントリに格納された累積データ量−Ｓ０となる。ただし、累積データ量テーブルの探索の結果、どのエントリについても、累積データ量−Ｓ０＞データ量閾値となった場合は、基準データ量＝０である。基準データ量は、フレーム探索範囲に含まれるフレームの各々について、データ量閾値以下で最大となるかどうかを判定するときに、送信要求量探索部１８において使用される。
【００８６】
なお、キュー先頭からフレームの区切りまでのデータ量は、前記フレームに対応する累積データ量から、キューから最後に取り出されたフレームに対応する累積データ量（＝Ｓ０）を差し引いたときの、値である。このため、上記探索では、データ量閾値にＳ０を加算しておき、前記加算値と累積データ量テーブルに保持された累積データ量との比較によって探索を行うなど、累積データ量テーブルに保持された累積データ量を用いてキュー先頭からのデータ量とデータ量閾値の大小を判定するための処理が必要となる。
【００８７】
また、複数のキューを備える場合は、各キューについて、前記キューに対応する累積データ量テーブルに基づく探索と、前記キューに対応するフレーム長テーブルに基づく探索を行い、前記探索によって得られたキュー別のデータ量を、送信要求量としてレポート生成部１９に出力する。
【００８８】
［第１の実施の形態の動作］
次に、本実施の形態にかかる光加入者装置１０の動作について説明する。
図５は、キューのフレーム蓄積状態とデータ量閾値との関係を示す説明図である。図６は、累積データ量の探索処理を示す説明図である。
まず、送信要求量探索部１８は、累積データ量テーブルの探索を行う。データ量閾値にＳ０を加算した累積データ量閾値を求め、次に、累積データ量テーブルが保持している各累積データ量と累積データ量閾値とを比較し、累積データ量閾値以下で最大の累積データ量を格納した基準エントリを見つける。図５に示した例ではＳ２が基準エントリとなる。
【００８９】
前記基準エントリとその次のエントリの間に、キュー先頭からフレーム区切りまでのデータ量が前記閾値以下で最大となるフレーム区切りが含まれるので、基準エントリに対応するフレームの次のフレームを含む、（Ｎ−１）個のフレームを、フレーム探索範囲とする。図５に示した例では、フレーム探索範囲は＃７〜＃９のフレームとなる。また、前記基準エントリの累積データ量からＳ０を減算しこれを基準データ量Ｄ０とする。図５に示した例では、基準データ量Ｄ０は（Ｓ２−Ｓ０）となる。
【００９０】
基準エントリとは、番号Ｅｒのエントリである。すなわち、累積データ量テーブルの探索において、あるエントリに格納された累積データ量−Ｓ０がデータ量閾値以下で最大となったとき、前記エントリが基準エントリになる。
累積データ量テーブルの探索によって、基準エントリに対応したフレームは探索済となっている。未探索のフレームは、累積データ量テーブルに、そのフレームに対応する累積データ量が格納されていない、Ｎ−１個のフレームになる。
【００９１】
なお、累積データ量テーブルのボトムエントリの累積データ量（図５の例ではＳ１）が累積データ量閾値よりも大きい場合は、キュー先頭から、前記ボトムエントリに対応したフレームの間のフレームが、フレーム探索範囲であり、このときの基準データ量Ｄ０は０である。また、累積データ量テーブルのトップエントリの累積データ量（図５の例ではＳ３）が累積データ量閾値以下の場合は、前記トップエントリに対応したフレームよりも後にキューに蓄積されたフレームが、フレーム探索範囲である。上記以外の場合は、二分探索法により、ボトムエントリからトップエントリまでのエントリの中から、基準エントリを探すことができる。
【００９２】
次に、送信要求量探索部１８は、フレーム長テーブルの探索を行う。フレーム長テーブルが保持する前記フレーム探索範囲内の先頭フレーム（図５の例では＃７）から、前記フレーム探索範囲内の任意フレーム（図５の例では＃７，＃８，＃９のいずれか）までのフレーム長の各累積値に前記基準データ量Ｄ０を加算した値のうち、データ量閾値以下で最大となる値を見つけ、送信要求量として特定する。このようにして、前記フレーム探索範囲内の各フレームのうち、これらフレームまでの前記データ量合計値が前記データ量閾値以下で最大となるフレームのフレーム区切りが検索されて、そのデータ量合計値が送信要求量として特定される。
レポート生成部１９は、累積データ量探索部５８が出力した送信要求量を記載したレポートフレームを生成し、前記レポートフレームをＰＯＮ送信部１４に出力する。
【００９３】
［第１の実施の形態の効果］
このように、本実施の形態にかかる光加入者装置１０は、フレーム長記憶部２０で、前記フレームのデータ量であるフレーム長を、当該フレームが前記キューに蓄積された順に、フレーム長テーブルに記憶し、累積データ量算出部１７で、前記フレームを前記キューに蓄積するごとに、当該フレームのデータ量を累積データ量に加算して更新し、累積データ量記憶部１７で、前記フレームを前記キューに蓄積するとき、当該蓄積のＮ（Ｎは、２以上の整数）回おきに、前記累積データ量算出部で更新された前記累積データ量を、累積データ量テーブルに順に記憶するようにしたものである。
【００９４】
また、本実施の形態は、これに加えて、送信要求量探索部１８で、前記累積データ量テーブルで保持する前記累積データ量のうち、当該累積データ量までのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となる累積データ量を基準エントリとして特定し、この累積データ量に含まれる最後尾のフレームの次のフレームからＮ個以下のフレームをフレーム探索範囲として特定し、前記フレーム長テーブルで保持する前記フレーム長に基づいて、前記フレーム探索範囲に含まれる各フレームのフレーム区切りのうち、当該フレーム区切りまでのフレームに関する前記データ量合計値が前記データ量閾値以下で最大となるフレーム区切りを探索し、当該フレーム区切りまでのフレームに関する前記データ量合計値を前記送信要求量として特定するようにしたものである。
【００９５】
前述した従来技術は、蓄積された全フレームについて、累積データ長、すなわち蓄積されたフレームと前記フレームが蓄積されるまでに蓄積された全フレームについての、フレーム長の合計値を、累積データ量テーブルで保持するものである。これに対して、本発明は、Ｎ個のフレーム分のフレーム長を１つに累積した累積データ量を、累積データ量テーブルで保持している。したがって、累積データ長のテーブルに必要なメモリ量は、従来技術と比べて１／Ｎとなる。
【００９６】
また、本発明では、１／Ｎに間引きした累積データ量を累積データ量テーブルで保持するのに加えて、蓄積された全フレームについて、そのフレーム長をフレーム長テーブルで保持している。しかし、累積データ量を２進数として表現するために必要なビット数は、フレーム長を２進数で表現するために必要なビット数より大きくなる。このため、従来技術における累積データ量テーブルのメモリサイズよりも、本発明の累積データ量テーブルとフレーム長テーブルの合計メモリサイズの方が小さくなる。
【００９７】
したがって、本発明によれば、光加入者装置が、所定のデータ量閾値以下で最大の送信量となるフレーム区切りを探索するために必要とする、メモリサイズを削減する、優れた効果を得ることができる。したがって、大きなメモリサイズの累積データ量テーブルを必要とすることなく、キューに蓄積された各フレームのフレーム長から、光端局装置に通知する送信要求量を特定することが可能となる。
【００９８】
より具体的に説明するため、本実施の形態と従来の構成における、情報量（ビット数）を比較する。ここで、蓄積するフレーム数をＮｆ，累積データ量を表すビット数をＢｓ，フレーム長の最大値をＬｍａｘ、フレーム長を表すビット数をＢｌとすると、Ｎｆ，Ｂｓ，Ｌｍａｘの間には、次の式（１）に示す関係が成り立つ必要がある。
Ｂｓ＞ｌｏｇ２（Ｎｆ）＋ｌｏｇ２（Ｌｍａｘ）  …（１）
【００９９】
累積データ量は、キューに上りフレームを蓄積したときの、前記キューに現時点までに蓄積された全フレームについてのフレーム長の合計値である。本願では、累積データ量の差によって、キュー長やキューに含まれる２フレーム間のデータ量を知る。
上記のように累積データ量の差から正しくキューに蓄積されているデータ量を得るためには、少なくとも、累積データ量を表現するビット数Ｂｓは、キューに蓄積可能なデータ量の最大値を２進数で表現したときのビット数以上である必要がある。
【０１００】
さらに、累積データ量に対してフレーム長の加算を繰り返すと桁あふれを生じるが、キューに蓄積可能なデータ量の最大値を２進数で表現したときのビット数よりも累積データ量を表現するビット数を大きくすればよい。例えば、キューの最大長のビット数よりも累積データ量のビット数を１桁以上多くすることによって、累積長テーブルにおけるオーバーフローは高々１回となる。また、蓄積時が後のフレームに対する累積データ量の値よりも、蓄積時が前のフレームに対する累積データ量の値の方が小さい場合に、前者の累積データ量のＭＳＢをビット反転し、前者の値から後者の値を差し引くことによって、正しい計算結果を得ることができる。
【０１０１】
データ量の最大値を２進数で表現したときのビット数は、ｌｏｇ２（Ｎｆ）＋ｌｏｇ２（Ｌｍａｘ）より大きい整数のうちの最小値である。したがって、（１）式の関係が必要となる。
従来の構成の累積データ量のテーブルが保持すべき情報量は、Ｂｓ×Ｎｆである。一方、本実施の形態の構成では、累積データ量のテーブルが保持すべき情報量は、Ｂｓ×Ｎｆ／Ｎであり、フレーム長のテーブルが保持すべき情報量は、Ｂｌ×Ｎｆである。
【０１０２】
ここで、フレーム長として最大２０００Ｂｙｔｅをとると仮定してＢｌ＝１１、蓄積フレーム数Ｎｆ＝４０９６とすると、（１）式より、Ｂｓ＝２４となる。また、本実施の形態で、累積データ量を間引いてテーブルに記憶するときの間隔Ｎ＝８、とする。前記条件では、従来の構成で保持すべき情報量は９８３０４ビットであるのに対して、本実施の形態の構成で保持すべき情報量は６１４４０ビットとなり、本実施の形態の構成の方が保持すべき情報量が小さい。また、Ｎの値を大きくする、蓄積フレーム数がより大きい、といった場合には、さらに本実施の形態の適用によって、保持すべき情報量を削減できる。
【０１０３】
［第２の実施の形態］
次に、本発明の第２の実施の形態にかかる光加入者装置について説明する。
第１の実施の形態では、フレーム長記憶部２０が、フレーム長テーブルにより、各フレームのデータ量に相当するフレーム長を記憶する場合を例として説明したが、これに限定されるものではない。
【０１０４】
例えば、フレーム長として、累積データ量テーブルに累積データ量を最後に保持したＮ回おきのフレーム区切りの次のフレームから当該フレームまでの累積データ量を、フレーム毎にフレーム長テーブルへ順に保持するようにしてもよい。この場合、フレーム累積周期をＮ、蓄積するフレーム数をＮｆとした場合、二分探索による探索結果を得るまでの探索回数は、フレーム長をそのままフレーム長テーブルへ保持した場合の第１の実施の形態の場合のｌｏｇ２（Ｎｆ／Ｎ）＋Ｎから、ｌｏｇ２（Ｎｆ／Ｎ）＋ｌｏｇ２（Ｎ）となり、探索回数を削減できる。
【０１０５】
［第３の実施の形態］
次に、本発明の第３の実施の形態にかかる光加入者装置について説明する。
第１の実施の形態では、送信要求量を特定する際、所定のデータ量閾値以下で最大となるフレーム区切りを検索対象とする場合を例として説明したが、所定のデータ量閾値以上で最小となるフレーム区切りを検索対象としてもよい。この場合には、送信要求量探索部１８において、例えば、基準エントリに対応するフレームの次のフレームを含む、Ｎ個のフレームを、フレーム探索範囲とすればよい。
【０１０６】
前述の図５に示した例では、Ｓ２（フレーム＃３〜＃６）が基準エントリに対応するため、フレーム探索範囲は＃７〜＃１０のフレームとなる。これにより、データ量閾値以上で最小となるフレーム区切りとしてフレーム＃１０が選択される。
これにより、所定のデータ量閾値以上で最小となるフレーム区切りを、送信要求量として特定することができる。
【０１０７】
［第４の実施の形態］
次に、本発明の第４の実施の形態にかかる光加入者装置１０について説明する。
以上で説明した各実施の形態では、光端局装置からの送信許可に応じて、光加入者装置１０から複数のフレームを１つの上りデータに割り当てて送信するＰＯＮシステムにおいて、１つの上りデータに格納するフレームのデータ量を、レポートフレームで光加入者装置１０から光端局装置へ通知するための送信要求量を特定する場合を例として説明したが、各実施の形態の適用は、これに限定されるものではない。
【０１０８】
例えば、前記ＰＯＮシステムでは、レポートフレームで通知した送信要求量に応じて、光端局装置からゲートフレームで、送信許可データ量が通知される。この送信許可データ量は、実際に光加入者装置１０から光端局装置へ１つの上りデータで送信可能なデータ量であり、当該光加入者装置１０に対して割り当てられた帯域の変化に応じて、送信要求量とは異なる値が通知される場合がある。このため、光加入者装置１０は、この送信許可データ量に基づき、１つの上りデータに格納するデータ量、すなわち送信量を特定する必要がある。
【０１０９】
このような場合には、前述した各実施の形態にかかる光加入者装置１０において、前記送信要求量探索部１８で、前記データ量閾値に代えて前記光端局装置から通知された送信許可データ量を用い、前記探索対象キューに対応する前記累積データ量テーブルの前記累積データ量を探索することによって、前記データ量合計値が前記送信許可データ量以下で最大となるフレームのフレーム区切りを検索し、当該フレーム区切りまでの前記データ量合計値を、１つの上りデータに格納して前記光端局装置へ送信する際の送信量として特定すればよい。
これにより、光端局装置から通知された送信許可データ量に基づき、１つの上りデータに格納する送信量を特定することができる。
【０１１０】
［実施の形態の拡張］
以上、実施の形態を参照して本発明を説明したが、本発明は上記実施の形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【０１１１】
１０…光加入者装置、１１…ＬＡＮ受信部、１２…ＬＡＮ送信部、１３…ＰＯＮ受信部、１４…ＰＯＮ送信部、１５…上りバッファ部、１６…累積データ量算出部、１７…累積データ量記憶部、１８…送信要求量探索部、１９…レポート生成部、２０…フレーム長記憶部。
【図１】
0005702268.tif 000002
【図２】
0005702268.tif 000003
【図３】
0005702268.tif 000004
【図４】
0005702268.tif 000005
【図５】
0005702268.tif 000006
【図６】
0005702268.tif 000007
【図７】
0005702268.tif 000008