(57)【特許請求の範囲】
【請求項１】
光端局装置から通知された送信許可量および送信開始時刻に応じて、光加入者装置から前記送信許可量分の複数のフレームを１つの上りデータに割り当てて、前記送信開始時刻に送信するＰＯＮシステムで用いられ、加入者側のＬＡＮから入力されたフレームをキューへ順に蓄積し、前記フレームの蓄積順に当該フレームのデータ量を累積して得られる送信予定のデータ量が所定のデータ量閾値以下で最大となる境界にある、データ量閾値境界フレームを探索し、当該フレームまでのデータ量を前記光端局装置へ通知するための送信要求量として特定する光加入者装置であって、
前記送信許可量の通知に応じて、前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを開始する上りバッファ部と、
前記光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、前記上りバッファ部が前記フレームを前記キューから取り出すごとに、当該フレームのデータ量に基づいて、当該データ量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算し、前記トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成するデータ量閾値生成部と、
前記データ量閾値生成部で生成された前記データ量閾値に基づいて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索し、前記キューに蓄積されている先頭のフレームから当該データ量閾値境界フレームまでのデータ量を前記送信要求量として特定する送信要求量探索部と
を備えることを特徴とする光加入者装置。
【請求項２】
光端局装置から通知された送信許可量および送信開始時刻に応じて、光加入者装置から前記送信許可量分の複数のフレームを１つの上りデータに割り当てて、前記送信開始時刻に送信するＰＯＮシステムで用いられ、加入者側のＬＡＮから入力されたフレームをキューへ順に蓄積し、前記フレームの蓄積順に当該フレームのデータ量を累積して得られる送信予定のデータ量が所定のデータ量閾値以下で最大となる境界にある、データ量閾値境界フレームを探索し、当該フレームまでのデータ量を前記光端局装置へ通知するための送信要求量として特定する光加入者装置であって、
前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを行う上りバッファ部と、
前記光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、前記上りバッファ部が前記フレームを前記キューから取り出すごとに、当該フレームのデータ量に基づいて、当該データ量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算し、前記トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成するデータ量閾値生成部と、
前記送信許可量の通知に応じて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該送信許可量以下で最大となるフレームである送信許可量境界フレームを探索し、前記データ量閾値生成部で生成された前記データ量閾値に基づいて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索し、当該送信許可量境界フレームから当該データ量閾値境界フレームまでの範囲にある各フレームのデータ量を前記送信要求量として特定する送信要求量探索部とを備え、
前記上りバッファ部は、前記送信要求量探索部で前記送信許可量境界フレームが特定された時点で、前記フレームの取り出しを開始する
ことを特徴とする光加入者装置。
【請求項３】
請求項１または請求項２に記載の光加入者装置において、
前記データ量閾値生成部は、前記トークンバケツからトークンを減算する際、前記キューから取り出したフレームのデータ量に相当する量のトークンに代えて、前記送信要求量探索部で特定された前記送信要求量に相当する量のトークンを、前記トークンバケツに蓄積されているトークンから減算することを特徴とする光加入者装置。
【請求項４】
光端局装置から通知された送信許可量および送信開始時刻に応じて、光加入者装置から前記送信許可量分の複数のフレームを１つの上りデータに割り当てて、前記送信開始時刻に送信するＰＯＮシステムで用いられ、加入者側のＬＡＮから入力されたフレームをキューへ順に蓄積し、前記フレームの蓄積順に当該フレームのデータ量を累積して得られる送信予定のデータ量が所定のデータ量閾値以下で最大となる境界にある、データ量閾値境界フレームを探索し、当該フレームまでのデータ量を前記光端局装置へ通知するための送信要求量として特定する光加入者装置であって、
前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを行う上りバッファ部と、
前記光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、当該トークンバケツに蓄積されているトークンの量に相当するデータ量をデータ量閾値とし、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索するデータ量閾値生成部と、
前記送信許可量の通知に応じて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該送信許可量以下で最大となるフレームである送信許可量境界フレームを探索し、当該送信許可量境界フレームから前記データ量閾値生成部で特定された前記データ量閾値境界フレームまでの範囲にある各フレームのデータ量を前記送信要求量として特定する送信要求量探索部とを備え、
前記データ量閾値生成部は、前記キューに蓄積されている前記フレームのうち、前記データ量閾値境界フレームの次に蓄積されている次蓄積フレームについて、当該次蓄積フレームのデータ量に相当する量のトークン以上のトークンが前記トークンバケツに蓄積されている場合、当該次蓄積フレームのデータ量に相当する量のトークンを前記トークンバケツのトークンから減算するとともに、当該次蓄積フレームを新たなデータ量閾値境界フレームとして特定し、
前記上りバッファ部は、前記送信要求量探索部で前記送信許可量境界フレームが特定された時点で、前記フレームの取り出しを開始する
ことを特徴とする光加入者装置。
【請求項５】
光端局装置から通知された送信許可量および送信開始時刻に応じて、光加入者装置から前記送信許可量分の複数のフレームを１つの上りデータに割り当てて、前記送信開始時刻に送信するＰＯＮシステムで用いられる光加入者装置において、加入者側のＬＡＮから入力されたフレームをキューへ順に蓄積し、前記フレームの蓄積順に当該フレームのデータ量を累積して得られる送信予定のデータ量が所定のデータ量閾値以下で最大となる境界にある、データ量閾値境界フレームを探索し、当該フレームまでのデータ量を前記光端局装置へ通知するための送信要求量として特定するフレーム送信量特定方法であって、
上りバッファ部が、前記送信許可量の通知に応じて、前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを開始するフレーム取り出しステップと、
データ量閾値生成部が、前記光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、前記上りバッファ部が前記フレームを前記キューから取り出すごとに、当該フレームのデータ量に基づいて、当該データ量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算し、前記トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成するデータ量閾値生成ステップと、
送信要求量探索部が、前記データ量閾値生成ステップで生成された前記データ量閾値に基づいて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索し、前記キューに蓄積されている先頭のフレームから当該データ量閾値境界フレームまでのデータ量を前記送信要求量として特定する送信要求量探索ステップと
を備えることを特徴とするフレーム送信量特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、光通信技術に関し、特に受動光通信網の光加入者装置において、光端局装置へ送信する送信要求量を特定するための送信要求量特定技術に関する。
【背景技術】
【０００２】
受動光通信網（ＰＯＮ：Passive Optical Network）の時分割多元接続によって行われる上り方向の通信において、効率的に上り帯域を使用するには、それぞれの光加入者装置（ＯＮＵ：Optical Network Unit）に対して、上り通信を許可する時間の長さを、通信の状況に応じて動的に変更することによる、動的帯域割当が重要である。
【０００３】
光端局装置（ＯＬＴ：Optical Line Terminal）は、各光加入者装置に対して送信許可量を算出し、その送信時間帯を排他的に確保することにより、それぞれの光加入者装置に帯域を割り当てる。
光加入者装置は、送信待ちの上りデータ量を送信要求量として送信要求信号に記載して光端局装置に送信する。光端局装置は、各光加入者装置からの送信要求信号を受信して送信要求量を参照し、光加入者装置ごとに送信を許可する量と送信開始時刻とを算出し、これらをゲートフレームに記載して各光加入者装置に送信する。
【０００４】
動的帯域割当の方法としては、光加入者装置に送信要求量の閾値であるデータ量閾値を与え、このデータ量閾値以下で最大の送信量となるフレーム区切りまでのデータ量を、送信要求量としてレポートフレームに記載して光端局装置に送信する方法がある（例えば、特許文献１など参照）。
【０００５】
光加入者装置は、データ量閾値以下で最大の送信量となるフレーム境界を探索するために、上りフレームを送信待ちのキューに蓄積したときの前記キューに蓄積されたデータ量を表すキュー情報を、前記蓄積フレームの各々について蓄積順に、キュー情報テーブルに保持し、送信要求量をレポートする前に、前記キュー情報テーブルを参照して、データ量閾値以下で最大の送信量となるフレーム境界にあるフレーム（データ量閾値境界フレーム）を探索することになる。
【０００６】
図１１は、従来技術による光加入者装置の構成例である。
光加入者装置５０は、ＬＡＮ受信部５１、ＬＡＮ送信部５２、ＰＯＮ受信部５３、ＰＯＮ送信部５４、上りバッファ部５５、キュー情報生成部５６、キュー情報記憶部５７、送信要求量探索部５８、レポート生成部５９から構成される。
【０００７】
ＬＡＮ受信部５１は、加入者側ネットワークであるＬＡＮからの信号を受信し、前記信号中に含まれるフレームに対して所定の処理を施した後、前記フレームを上りバッファ部５５に出力する。また、前記フレームのフレーム長を、フレームごとに、キュー情報生成部５６に出力する。
ＬＡＮ送信部５２は、ＰＯＮ受信部５３からの下りフレームに対して所定の処理を施した後、前記フレームを含む送信信号を、加入者側ネットワークであるＬＡＮに送信する。
【０００８】
ＰＯＮ受信部５３は、光端局装置からの信号を、受動光通信網を介して受信し、前記信号に対して所定の処理を施し、さらに、前記信号に含まれる下りフレームに対して所定の処理を施した後、前記フレームをＬＡＮ送信部５２に出力する。また、前記フレームに含まれる光端局装置からのゲートフレームに記載された、上り送信を許可する量と送信開始時刻とを、上りバッファ部５５に出力する。
ＰＯＮ送信部５４は、上りバッファ部５５が出力する上りフレームと、レポート生成部５９が出力するレポートフレームに対して所定の処理を施し、前記フレームを含む送信信号として、受動光通信網を介して光端局装置に送信する。
【０００９】
上りバッファ部５５は、ＬＡＮ受信部５１が出力した上りフレームをキューに蓄積する。また、上りバッファ部５５は、ＰＯＮ受信部５３からの上り送信を許可する量と送信開始時刻とに応じて、前記キューに蓄積した上りフレームをＰＯＮ送信部５４に出力する。
キュー情報生成部５６は、キューにフレームを蓄積する毎に、前記フレーム長や前記キューの蓄積されたデータ量などのキュー情報を生成して、キュー情報テーブルに保持する。
【００１０】
キュー情報記憶部５７は、複数のキュー情報をテーブルとして保持できるキュー情報テーブルを備える。キュー情報生成部５６がキューに上りフレームを蓄積する毎に生成し出力したキュー情報を入力し、キュー情報テーブルに前記入力された順に保持する。したがって、キューに蓄積されたフレーム順序と前記フレーム蓄積によって生成されたキュー情報の前記テーブルへの保持順序は一致する。
【００１１】
送信要求量探索部５８は、キュー情報記憶部５７のキュー情報テーブルを探索することによって、キューに蓄積されている送信が確定していないフレームのうち、キューの先頭フレームからのデータ量がデータ量閾値以下で最大となるフレーム（データ量閾値境界フレーム）までの前記データ量を得て、前記を送信要求量としてレポート生成部５９に出力する。
レポート生成部５９は、送信要求量探索部５８が出力した送信要求量を記載したレポートフレームを生成し、前記レポートフレームをＰＯＮ送信部５４に出力する。
【００１２】
上記の光加入者装置５０に対して、光端局装置は、上記データ量閾値Ｌｔを各光加入者装置に通知し、上りレート上限値Ｒｍａｘ（＝Ｌｔ／Ｔｇ、帯域更新周期Ｔｇ＝送信を許可する量を通知するゲートフレームの周期）以下の送信要求量に制限することで、上りレートに対する制限を行う。
これにより、高優先フレーム（低遅延や低廃棄率のため他のフレームよりも優先して転送されるフレーム）を光加入者装置が無制限に送出することを防止し、前記光加入者装置に対して前記高優先フレームの送出レートに上限を与えることで、複数の光加入者装置間でＰＯＮを公平かつ有効に共用していた。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】国際公開ＷＯ２００９／１０７５１９パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、このような従来の送信要求量特定技術では、上りレート上限値Ｒｍａｘを超えたトラフィックが一時的に発生すると、光加入者装置が前記Ｒｍａｘ以下になるよう制限するため、前記Ｒｍａｘを上回った分のパケットの光加入者装置内でのバッファリングによる遅延増大や、前記バッファリングでバッファ容量を超えることによるパケット廃棄が発生するなどの問題が生じる。
【００１５】
特に、光加入者装置のＬＡＮ側に接続されたＴＶ会議端末等からの上りトラフィックは、通常、時間平均ではほぼ一定レートになるが、秒単位の時間では一定レートではなく、変動が発生する。前記上りレート変動によって、光加入者装置の上りレートが前記Ｒｍａｘを下回ったときは、光加入者装置からの送信要求量が前記Ｒｍａｘより小さくなる一方で、光加入者装置の上りレートが前記Ｒｍａｘを上回ったときは、送信要求量は前記Ｒｍａｘに制限されてしまう。
【００１６】
したがって、前記Ｒｍａｘを上りトラフィックのレートの平均値に設定すると、光加入者装置の上りレートが前記Ｒｍａｘを下回ることがある分、光加入者装置のレートが前記Ｒｍａｘよりも低下し、結果として、送出すべき量よりも送出された量が減るので、上述のようにパケット廃棄が発生しサービス（ＴＶ会議など）の品質劣化となる。光加入者装置のバッファ量を増大することによって、前記のパケット廃棄を抑制することは可能であるが、パケットがバッファに蓄積されている時間だけ前記パケットの遅延が増大するため、サービスの品質劣化となる。
【００１７】
本発明はこのような課題を解決するためのものであり、光加入者装置内でのバッファリングに起因するパケット遅延の増大や、パケット廃棄を抑制できる送信要求量特定技術を提供することを目的としている。
【課題を解決するための手段】
【００１８】
このような目的を達成するために、本発明にかかる光加入者装置は、光端局装置から通知された送信許可量および送信開始時刻に応じて、光加入者装置から前記送信許可量分の複数のフレームを１つの上りデータに割り当てて、前記送信開始時刻に送信するＰＯＮシステムで用いられ、加入者側のＬＡＮから入力されたフレームをキューへ順に蓄積し、前記フレームの蓄積順に当該フレームのデータ量を累積して得られる送信予定のデータ量が所定のデータ量閾値以下で最大となる境界にある、データ量閾値境界フレームを探索し、当該フレームまでのデータ量を前記光端局装置へ通知するための送信要求量として特定する光加入者装置であって、前記送信許可量の通知に応じて、前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを開始する上りバッファ部と、前記光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、前記上りバッファ部が前記フレームを前記キューから取り出すごとに、当該フレームのデータ量に基づいて、当該データ量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算し、前記トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成するデータ量閾値生成部と、前記データ量閾値生成部で生成された前記データ量閾値に基づいて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索し、前記キューに蓄積されている先頭のフレームから当該データ量閾値境界フレームまでのデータ量を前記送信要求量として特定する送信要求量探索部とを備えている。
【００１９】
また、本発明にかかる他の光加入者装置は、光端局装置から通知された送信許可量および送信開始時刻に応じて、光加入者装置から前記送信許可量分の複数のフレームを１つの上りデータに割り当てて、前記送信開始時刻に送信するＰＯＮシステムで用いられ、加入者側のＬＡＮから入力されたフレームをキューへ順に蓄積し、前記フレームの蓄積順に当該フレームのデータ量を累積して得られる送信予定のデータ量が所定のデータ量閾値以下で最大となる境界にある、データ量閾値境界フレームを探索し、当該フレームまでのデータ量を前記光端局装置へ通知するための送信要求量として特定する光加入者装置であって、前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを行う上りバッファ部と、前記光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、前記上りバッファ部が前記フレームを前記キューから取り出すごとに、当該フレームのデータ量に基づいて、当該データ量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算し、前記トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成するデータ量閾値生成部と、前記送信許可量の通知に応じて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該送信許可量以下で最大となるフレームである送信許可量境界フレームを探索し、前記データ量閾値生成部で生成された前記データ量閾値に基づいて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索し、当該送信許可量境界フレームから当該データ量閾値境界フレームまでの範囲にある各フレームのデータ量を前記送信要求量として特定する送信要求量探索部とを備え、前記上りバッファ部は、前記送信要求量探索部で前記送信許可量境界フレームが特定された時点で、前記フレームの取り出しを開始するようにしたものである。
【００２０】
また、上記光加入者装置の一構成例は、前記データ量閾値生成部が、前記トークンバケツからトークンを減算する際、前記キューから取り出したフレームのデータ量に相当する量のトークンに代えて、前記送信要求量探索部で特定された前記送信要求量に相当する量のトークンを、前記トークンバケツに蓄積されているトークンから減算するようにしたものである。
【００２２】
また、本発明にかかる他の光加入者装置は、光端局装置から通知された送信許可量および送信開始時刻に応じて、光加入者装置から前記送信許可量分の複数のフレームを１つの上りデータに割り当てて、前記送信開始時刻に送信するＰＯＮシステムで用いられ、加入者側のＬＡＮから入力されたフレームをキューへ順に蓄積し、前記フレームの蓄積順に当該フレームのデータ量を累積して得られる送信予定のデータ量が所定のデータ量閾値以下で最大となる境界にある、データ量閾値境界フレームを探索し、当該フレームまでのデータ量を前記光端局装置へ通知するための送信要求量として特定する光加入者装置であって、前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを行う上りバッファ部と、前記光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、当該トークンバケツに蓄積されているトークンの量に相当するデータ量をデータ量閾値とし、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索するデータ量閾値生成部と、前記送信許可量の通知に応じて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該送信許可量以下で最大となるフレームである送信許可量境界フレームを探索し、当該送信許可量境界フレームから前記データ量閾値生成部で特定された前記データ量閾値境界フレームまでの範囲にある各フレームのデータ量を前記送信要求量として特定する送信要求量探索部とを備え、前記データ量閾値生成部は、前記キューに蓄積されている前記フレームのうち、前記データ量閾値境界フレームの次に蓄積されている次蓄積フレームについて、当該次蓄積フレームのデータ量に相当する量のトークン以上のトークンが前記トークンバケツに蓄積されている場合、当該次蓄積フレームのデータ量に相当する量のトークンを前記トークンバケツのトークンから減算するとともに、当該次蓄積フレームを新たなデータ量閾値境界フレームとして特定し、前記上りバッファ部は、前記送信要求量探索部で前記送信許可量境界フレームが特定された時点で、前記フレームの取り出しを開始するようにしたものである。
【００２３】
また、本発明にかかるフレーム送信量特定方法は、光端局装置から通知された送信許可量および送信開始時刻に応じて、光加入者装置から前記送信許可量分の複数のフレームを１つの上りデータに割り当てて、前記送信開始時刻に送信するＰＯＮシステムで用いられる光加入者装置において、加入者側のＬＡＮから入力されたフレームをキューへ順に蓄積し、前記フレームの蓄積順に当該フレームのデータ量を累積して得られる送信予定のデータ量が所定のデータ量閾値以下で最大となる境界にある、データ量閾値境界フレームを探索し、当該フレームまでのデータ量を前記光端局装置へ通知するための送信要求量として特定するフレーム送信量特定方法であって、上りバッファ部が、前記送信許可量の通知に応じて、前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを開始するフレーム取り出しステップと、データ量閾値生成部が、前記光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、前記上りバッファ部が前記フレームを前記キューから取り出すごとに、当該フレームのデータ量に基づいて、当該データ量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算し、前記トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成するデータ量閾値生成ステップと、送信要求量探索部が、前記データ量閾値生成ステップで生成された前記データ量閾値に基づいて、前記キューに蓄積されている前記フレームのうちから、前記送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索し、前記キューに蓄積されている先頭のフレームから当該データ量閾値境界フレームまでのデータ量を前記送信要求量として特定する送信要求量探索ステップとを備えている。
【発明の効果】
【００２４】
本発明によれば、パケットを光加入者装置内でバッファリングすることによるパケットの遅延増大や、バッファリングによってバッファ容量を超えた場合のパケット廃棄を抑制できる。このため、光加入者装置に起因する、ＴＶ会議などのサービス品質劣化を招きにくくなり、さらには、光加入者装置内でのバッファリングを抑制することになるため、バッファリングのためのメモリを削減することが可能となる。
【図面の簡単な説明】
【００２５】
【図１】第１の実施の形態にかかる光加入者装置の構成を示すブロック図である。
【図２】第１の実施の形態にかかるデータ量閾値生成部の動作を示すフローチャートである。
【図３】第１の実施の形態にかかる他の光加入者装置の構成を示すブロック図である。
【図４】第１の実施の形態にかかる他の光加入者装置にかかるデータ量閾値生成部の動作を示すフローチャートである。
【図５】第２の実施の形態にかかる光加入者装置の構成を示すブロック図である。
【図６】第３の実施の形態にかかる光加入者装置の構成を示すブロック図である。
【図７】第３の実施の形態にかかるデータ量閾値生成部の動作を示すフローチャートである。
【図８】第４の実施の形態にかかる光加入者装置の構成を示すブロック図である。
【図９】第４の実施の形態にかかるデータ量閾値生成部の動作を示すフローチャートである。
【図１０】第４の実施の形態にかかるデータ量閾値生成部のデータ量閾値境界フレーム探索処理を示すフローチャートである。
【図１１】従来技術による光加入者装置の構成例である。
【発明を実施するための形態】
【００２６】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかる光加入者装置１０について説明する。図１は、第１の実施の形態にかかる光加入者装置の構成を示すブロック図である。
【００２７】
この光加入者装置１０には、主な機能部として、ＬＡＮ受信部１１、ＬＡＮ送信部１２、ＰＯＮ受信部１３、ＰＯＮ送信部１４、上りバッファ部１５、キュー情報生成部１６、キュー情報記憶部１７、データ量閾値生成部１８、送信要求量探索部１９、レポート生成部２０が設けられている。
【００２８】
ＬＡＮ受信部１１は、加入者側ネットワークであるＬＡＮからの信号を受信し、前記信号中に含まれるフレームに対して所定の処理を施したのち、前記フレームを上りバッファ部１５に出力する。また、ＬＡＮ受信部１１は、前記フレームのフレーム長を、フレーム毎に、キュー情報生成部１６に出力する。
【００２９】
なお、ＬＡＮ受信部１１が出力する上記フレーム長は、上りバッファ部１５がフレームをキューに蓄積する時のデータ長とは限らない。フレーム長は、前記フレームがＰＯＮ送信部から送出されるときのフレーム長であり、例えば、ＰＯＮ送信部１４で暗号化されることによってフレームが伸長する場合には、キューに蓄積される時のデータ長に前記伸長分を加える必要がある。さらに、ＰＯＮ送信部１４からフレームを送出するときは、次に送出するフレームとの間に所定のアイドル信号を入れる必要があるが、前記アイドル信号の長さを加算する必要がある。
【００３０】
このように、光加入者装置１０が上りフレームに施す処理によって変化する後のフレームのデータ長を、前記処理を行う前のフレームのデータ長であるキューに蓄積する時点でのデータ長を基に算出する。さらに、光加入者装置１０から光端局装置ＯＬＴ（図示せず）へのフレーム送出時のフレーム間に入れるべきアイドル信号長を算出して前記データ長に加算する。
【００３１】
ＬＡＮ送信部１２は、ＰＯＮ受信部１３からの下りフレームに対して所定の処理を施したのち、前記フレームを含む送信信号を、加入者側ネットワークであるＬＡＮに送信する。
【００３２】
ＰＯＮ受信部１３は、光端局装置ＯＬＴからの信号を、受動光通信網（ＰＯＮ）を介して受信し、前記信号に対して所定の処理を施し、さらに、前記信号に含まれる下りフレームに対して所定の処理を施したのち、前記フレームをＬＡＮ送信部１２に出力する。また、ＰＯＮ受信部１３は、前記フレームのうち、光端局装置ＯＬＴから送られてきたゲートフレームについて、前記フレームに記載された上り送信を許可する量と送信開始時刻とを、上りバッファ部１５と送信要求量探索部１９に出力する。
【００３３】
上りバッファ部１５は、キューを備えており、ＬＡＮ受信部１１が出力した上りフレームを前記キューに蓄積する。また、上りバッファ部１５は、ＰＯＮ受信部１３からの上り送信を許可する量（送信許可量）と送信開始時刻に応じて、前記キューに蓄積した上りフレームを、送信開始を示す送信開始信号とともにＰＯＮ送信部１４に出力する。また、上りバッファ部１５は、前記上りフレームの出力を示す上りフレーム出力信号をキュー情報記憶部１７に対して出力する。
【００３４】
ＰＯＮ送信部１４は、上りバッファ部１５が出力する上りフレームと、レポート生成部２０が出力するレポートフレームに対して所定の処理を施し、上りバッファ部１５から入力した送信開始信号が示すタイミングで、前記フレームを含む送信信号として、受動光通信網ＰＯＮを介して光端局装置ＯＬＴに送信する。
【００３５】
ここで、上りバッファ部１５とＰＯＮ送信部１４の動作について説明する。まず、上りバッファ部１５は、ＰＯＮ受信部１３から送信許可量を入力した時点で、前記キューからのフレーム取り出しとＰＯＮ送信部１４への出力を開始し、前記送信開始時刻より前に前記送信許可量分のフレームの前記取り出しを完了する。さらに、上りバッファ部１５は、前記送信開始時刻となった時点で、ＰＯＮ送信部１４に送信タイミング信号を出力する。ＰＯＮ送信部１４は、上りバッファ部１５から入力された前記フレームを前記送信タイミング信号の入力まで保持しておき、前記送信タイミング信号の入力に合わせて、前記フレームを光端局装置ＯＬＴに送信する。
【００３６】
レポート生成部２０は、送信要求量探索部１９が出力した送信要求量を記載したレポートフレームを生成し、前記レポートフレームをＰＯＮ送信部１４に出力する。
ここで、レポートフレームをＰＯＮ送信部１４に出力する際、トークンバケツから送信量分のトークンを減算する方法の場合には、Ｒｅｐｏｒｔ  Ｒｅｑｕｅｓｔ付きのＧａｔｅのみに応答してもよいし、Ｒｅｐｏｒｔ  Ｒｅｑｕｅｓｔの有無によらず全Ｇａｔｅに応答するとしても良い。また、レポートフレームに記載した送信要求量分のトークンをトークンバケツから減算する方法の場合には、Ｒｅｐｏｒｔ  Ｒｅｑｕｅｓｔ付のＧａｔｅのみに応答する。
【００３７】
キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレーム長に基づいてキューに蓄積されているデータ量を知るための情報として、キュー情報を生成し、前記生成したキュー情報をキュー情報記憶部１７に出力する。キュー情報を生成するため、キュー情報生成部１６は、上りバッファ部１５のキューに対応する累積データ量を保持する。
【００３８】
また、キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレームが蓄積されるキューの前記累積データ量に、前記フレーム長を加算して前記累積データ量を更新する。さらに、前記更新された前記累積データ量をキュー情報とする。なお、キュー情報としてフレーム長を用いることや、前記累積データ量とフレーム長の両方を用いることも可能であるが、本実施の形態では、前記累積データ量をキュー情報として用いる場合について説明する。
【００３９】
キュー情報記憶部１７は、キュー情報生成部１６が出力したキュー情報を保持するキュー情報テーブルを、上りバッファ部１５のキューに対応して備えている。キュー情報生成部１６がキュー情報を出力する毎に、すなわち、キューに上りフレームを蓄積する毎に、前記フレームに対応するキュー情報（例えば前記フレームのフレーム長が加算された累積データ量）を、前記キューに対応するキュー情報テーブルに保持する。キュー情報テーブルのトップエントリを、前記エントリの１個上にあるエントリへと移動し、前記移動後のトップエントリに、前記キュー情報を格納することにより、キュー情報テーブルのエントリ順とキューへのフレーム蓄積順は一致する。
【００４０】
また、キュー情報記憶部１７は、キューから上りフレームが取り出されるのに合わせて（上りバッファ部１５から入力された上りフレーム出力信号に基づいて）、前記ボトムエントリを前記取り出されたフレームに対応するキュー情報が格納されていたエントリの１つ上のエントリに移動する。これにより、キュー情報テーブルのボトムエントリが、上りバッファ部１５のキューのボトム（出口に最も近い）位置にあるフレームに対応する。
【００４１】
また、キュー情報記憶部１７は、前記取り出されたフレームに対応するキュー情報、すなわち、移動後のボトムエントリの１つ下のエントリに格納されていたキュー情報を、送信要求量探索部１９に出力する。さらに、キュー情報記憶部１７は、前記キュー情報から前記取り出されたフレームのフレーム長を求め、データ量閾値生成部１８に出力する。例えば、キュー情報に累積データ量を含む場合、キューからフレームを取り出すときの前記フレームに対応する累積データ量を保持しておき、今回取り出されたフレームの累積データ量から前記保持していた累積データ量を差し引くことによって、データ量閾値生成部１８に出力するためのフレーム長を得ることができる。
【００４２】
送信要求量探索部１９は、データ量閾値生成部１８が出力したデータ量閾値を入力し、１つのグラントに割り当てて光端局装置に送信する予定のデータ量、すなわち、キューに対する各フレームの蓄積順にこれらフレームのデータ量を累積して得られる送信予定のデータ量が、前記データ量閾値以下で最大となるフレーム境界を、キュー情報テーブルを参照することによって探索し、キューのボトム（先頭）にあるフレームから前記フレーム境界にあるフレーム（データ量閾値境界フレーム）までのキュー別のデータ量を、送信要求量としてレポート生成部２０に出力する。
【００４３】
送信要求量探索部１９における送信要求量探索のタイミングは、ＰＯＮ受信部１３から入力した上り送信の送信開始時刻に基づく。ここで、前記送信開始時刻に達した後に、ＰＯＮ送信部１４から、前記探索によって得られた送信要求量の情報を含むレポートフレームが送信可能となるよう、前記探索のタイミングが決められる。具体的には、前記送信開始時刻よりも、探索とレポートフレームの生成・送信に要する時間以上となる所定の時間だけ前に前記探索は開始される。
【００４４】
なお、送信要求量探索部１９は、キューのボトムにあるフレームからキューに蓄積された各フレームまでのデータ量と、データ量閾値との比較を行う。キュー情報に累積データ量を採用する例を示したが、この場合は、キュー情報記憶部１７には、前記キューのボトムにあるフレームからのデータ量ではなく、キューから既に取り出されたフレームのデータ量も加算された累積データ量が記憶されているため、前記累積データ量から前記キューのボトムからのデータ量を求める必要がある。
【００４５】
このため、送信要求量探索部１９は、キュー情報テーブルのボトムエントリが移動したときにキュー情報記憶部１７が出力したキュー情報を入力して、前記キュー情報に含まれる累積データ量を、基準累積データ量として保持する。累積データ量から前記基準累積データ量を差し引いた値が、ボトムエントリから前記累積データ量に対応するフレームまでの各フレームのフレーム長の合計であるデータ量となる。
【００４６】
送信要求量探索部１９は、上記の探索において、キュー情報テーブルを参照することで、キューのボトムのフレームからキューに蓄積された各フレームまでのデータ量（キュー内累計データ量）がデータ量閾値以下であるか否かを判定し、前記データ量閾値を超えた初めてのフレームを見つける。前記フレームあるいはそのフレームの１つ前にキューに蓄積されたフレームが、送信要求量探索部１９が見つけるべきデータ量閾値境界フレームとなる。
【００４７】
前記は線形探索法を採用した動作であるが、キュー情報として累積データ量を採用する例では、フレーム毎に、キュー情報テーブルのボトムエントリからそのフレームのエントリまでに格納されたキュー情報に基づいてキュー内累計データ量を算出する必要はなく、前記フレームに対応するキュー情報テーブルのエントリに格納された累積データ量から前述の基準累積データ量を差し引いた値が、前記キュー内累計データ量となる。このため、ボトムエントリから順に探索する線形探索ではなく、二分探索法を採用することが可能であり、エントリ数が大きい場合の処理量（キュー情報テーブルからのエントリ読み出し回数など）を削減することが可能である。
【００４８】
以下に、キュー情報としてフレーム長を用いる場合の、キュー情報生成部１６、キュー情報記憶部１７、および送信要求量探索部１９の例を示す。
キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレーム長に基づいてキューに蓄積されているデータ量を知るための情報として、前記フレーム長を含むキュー情報を生成し、前記生成したキュー情報をキュー情報記憶部１７に出力する。
【００４９】
キュー情報記憶部１７は、キュー情報生成部１６が出力した、キューに蓄積された各上りフレームについて、前記フレームのフレーム長を含むキュー情報を、キュー情報テーブルに保持する。前記キュー情報をキューテーブルに保持するとき、キュー情報テーブルのトップエントリを、前記エントリの１個上にあるエントリへと移動し、前記移動後のトップエントリに、前記キュー情報を格納することにより、キュー情報テーブルのエントリ順とキューへのフレーム蓄積順は一致する。
【００５０】
また、キュー情報記憶部１７は、キューから上りフレームが取り出されるのに合わせて（上りバッファ部１５から入力された上りフレーム出力信号に基づいて）、前記ボトムエントリを前記取り出されたフレームに対応するキュー情報が格納されていたエントリの１つ上のエントリに移動する。また、前記取り出されたフレームに対応するキュー情報、すなわち、移動後のボトムエントリの１つ下のエントリに格納されていたキュー情報を、送信要求量探索部１９に出力する。さらに、前記キュー情報に含まれる前記取り出されたフレームのフレーム長を求め、データ量閾値生成部１８に出力する。
【００５１】
送信要求量探索部１９は、データ量閾値生成部１８が出力したデータ量閾値を入力し、１つのグラントに割り当てて光端局装置ＯＬＴに送信する予定のデータ量が前記データ量閾値以下で最大となるフレーム境界を、キュー情報テーブルを参照することによって探索し、キューのボトムにあるフレームから前記フレーム境界にあるフレーム（データ量閾値境界フレーム）までのキュー別のデータ量を、送信要求量としてレポート生成部２０に出力する。
【００５２】
なお、送信要求量探索部１９は、キューのボトムにあるフレームからキューに蓄積された各フレームまでのデータ量と、データ量閾値との比較を行う。ここでは、キューのボトムにあるフレームからキューのトップにあるフレームに向かって順に、キュー情報テーブルに保持された各フレームのキュー情報に含まれるフレーム長を累積する演算を行い、前記累積値、すなわち、キューのボトムのフレームからキューに蓄積された各フレームまでのデータ量（キュー内累計データ量）が、データ量閾値以下であるか否かを判定し、前記データ量閾値を超えた初めてのフレームを見つける。前記フレームあるいはそのフレームの１つ前にキューに蓄積されたフレームが、送信要求量探索部１９が見つけるべきデータ量閾値境界フレームとなる。
【００５３】
以下に、キュー情報としてフレーム長と累積データ量の両方を用いる場合の、キュー情報生成部１６、キュー情報記憶部１７、および送信要求量探索部１９の例を示す。
キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレーム長に基づいてキューに蓄積されているデータ量を知るための情報として、キュー情報を生成し、前記生成したキュー情報をキュー情報記憶部１７に出力する。キュー情報を生成するため、キュー情報生成部１６は、上りバッファ部１５のキューに対応する累積データ量を保持する。ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、キュー情報生成部１６は、前記フレームが蓄積されるキューの前記累積データ量に、前記フレーム長を加算して前記累積データ量を更新する。さらに前記フレーム長と前記更新された前記累積データ量をキュー情報とする。
【００５４】
キュー情報記憶部１７は、キュー情報生成部１６が出力したキュー情報を保持するキュー情報テーブルを、上りバッファ部１５のキューに対応して備える。キュー情報生成部１６がキュー情報を出力する毎に、すなわち、キューに上りフレームを蓄積する毎に、前記フレームに対応するキュー情報を、前記キューに対応するキュー情報テーブルに保持する。キュー情報テーブルのトップエントリを、前記エントリの１個上にあるエントリへと移動し、前記移動後のトップエントリに、前記キュー情報を格納することにより、キュー情報テーブルのエントリ順とキューへのフレーム蓄積順は一致する。
【００５５】
また、キュー情報記憶部１７は、キューから上りフレームが取り出されるのに合わせて（上りバッファ部１５から入力された上りフレーム出力信号に基づいて）、前記ボトムエントリを前記取り出されたフレームに対応するキュー情報が格納されていたエントリの１つ上のエントリに移動する。これにより、キュー情報テーブルのボトムエントリが、上りバッファ部１５のキューのボトム（出口に最も近い）位置にあるフレームに対応する。また、前記取り出されたフレームに対応するキュー情報、すなわち、移動後のボトムエントリの１つ下のエントリに格納されていたキュー情報を、送信要求量探索部１９に出力する。さらに、前記キュー情報に含まれる前記取り出されたフレームのフレーム長を、データ量閾値生成部１８に出力する。
【００５６】
送信要求量探索部１９は、データ量閾値生成部１８が出力したデータ量閾値を入力し、１つのグラントに割り当てて光端局装置に送信する予定のデータ量が前記データ量閾値以下で最大となるフレーム境界を、キュー情報テーブルを参照することによって探索し、キューのボトムにあるフレームから前記フレーム境界にあるフレーム（データ量閾値境界フレーム）までのキュー別のデータ量を、送信要求量としてレポート生成部２０に出力する。
【００５７】
このため、送信要求量探索部１９は、キュー情報テーブルのボトムエントリが移動したときにキュー情報記憶部１７が出力したキュー情報を入力して、前記キュー情報に含まれる累積データ量を、基準累積データ量として保持しておき、キュー情報テーブルの各エントリに格納された累積データ量から前述の基準累積データ量を差し引いた値（キュー内累計データ量）と、データ量閾値との比較を行う。前記データ量閾値以下で最大となるキュー内累計データ量を見つけるときに、二分探索法を採用することが可能であり、エントリ数が大きい場合の処理量（キュー情報テーブルからのエントリ読み出し回数など）を削減することが可能である。
【００５８】
さらに、キュー情報記憶部１７がキュー情報テーブルにキュー情報を保持するとき、全キュー情報についてフレーム長と累積データ量の両方をキュー情報テーブルに格納するのではなく、全キュー情報についてフレーム長をキュー情報テーブルに格納する一方で、Ｍ個とびに累積データ量を保持することも可能である。前記の場合は、送信要求量探索部１９が二分探索法によって、Ｍ個とびに格納された累積データ量を参照して、データ量閾値以下で最大となるフレーム境界に位置するフレームの候補を、Ｍ個以下にまで限定しておき、前記Ｍ個以下のフレームのうち、どのフレームがデータ量閾値以下で最大となるフレーム境界に位置するかを判定するときに、キュー情報テーブルに格納されたフレーム長を参照する。前記二分探索法の採用によって、フレーム長のみをキュー情報に含む場合の探索と比較して、エントリ数が大きい場合の処理量（キュー情報テーブルからのエントリ読み出し回数など）の削減ができる。さらに、フレーム長を表現するためのビット数よりも大きいビット数が必要な累積データ量について、キュー情報テーブルに保持すべき個数を削減することができるため、累積データ量のみをキュー情報に含む場合の探索と比較して、キュー情報テーブルに必要となるメモリ量を削減できる。
【００５９】
データ量閾値生成部１８は、キュー情報記憶部１７から出力された、上りバッファ部１５が光端局装置に送出するためにキューから取り出したフレームのデータ量に基づいて、データ量閾値を生成して送信要求量探索部１９に出力する。
この際、データ量閾値生成部１８は、光端局装置に対して、予め決められたデータ量Ｄ０の送出を許可するトークンを、順次蓄積するトークンバケツを保持し、一定のレートＲ０でトークンを発行してトークンバケツに蓄積するとともに、キュー情報記憶部１７から出力されたデータ量に基づいて、当該データ量に相当する量のトークンをトークンバケツに蓄積されているトークンから減算する。また、データ量閾値生成部１８は、トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成し、送信要求量探索部１９に出力する。
【００６０】
図２は、第１の実施の形態にかかるデータ量閾値生成部の動作を示すフローチャートである。
まず、データ量閾値生成部１８は、トークンバケツに貯まっているトークン量Ｓを、トークンバケツの初期値Ｓ０（装置外から設定可能）で初期化して、トークン発行タイマを始動する（ステップ１００）。トークン発行タイマは、例えばシステムクロックを計数することにより始動からの経過時間を計測し、前記経過時間がトークン発行間隔Ｔ０（トークン発行レートＲ０の逆数：装置外から設定可能）に達した時点で満了するタイマである。
【００６１】
続いて、トークン発行タイマが満了した場合（ステップ１０１：ＹＥＳ）、トークン発行間隔Ｔ０に発行したトークンをトークンバケツに加算することにより、発行したトークンのトークン量Ｄ０をトークン量Ｓに加算し、トークン発行タイマを再始動する（ステップ１０２）。
ここで、トークン量Ｓがトークンバケツに貯められるトークンのトークン量上限値Ｓｍａｘ（装置外から設定可能）を越えた場合（ステップ１０３：ＹＥＳ）、トークン量Ｓをトークン量上限値Ｓｍａｘとした後（ステップ１０４）、ステップ１０５へ移行する。また、トークン量Ｓがトークン量上限値Ｓｍａｘ以下の場合（ステップ１０３：ＮＯ）、およびトークン発行タイマが満了していない場合（ステップ１０１：ＮＯ）にも、ステップ１０５へ移行する。
【００６２】
次に、データ量閾値生成部１８は、キュー情報記憶部１７からのフレーム長Ｌｏの入力有無を確認し（ステップ１０５）、入力がなければ後述するステップ１０９へ移行し（ステップ１０５：ＮＯ）、入力があった場合（ステップ１０５：ＹＥＳ）、トークン量Ｓとフレーム長Ｌｏ（トークン量換算値）とを比較する（ステップ１０６）。
ここで、Ｓ≧Ｌｏの場合には（ステップ１０６：ＹＥＳ）、トークンバケツからフレーム長Ｌｏ分のトークンを減算してＳ＝Ｓ−Ｌｏとし（ステップ１０７）、Ｓ＜Ｌｏの場合には（ステップ１０６：ＮＯ）、Ｓを０で初期化する（ステップ１０８）。
【００６３】
この後、データ量閾値生成部１８は、次のクロックサイクルの到来まで待機し（ステップ１０９）、その到来に応じてステップ１０１へ移行する。
また、データ量閾値生成部１８は、図２のこれら処理とは別個に、送信要求量探索部１９でのデータ量閾値境界フレーム探索処理のタイミングに合わせて、トークンバケツに蓄積されているトークン量Ｓに相当するデータ量からなるデータ量閾値を生成し、送信要求量探索部１９に出力する。
【００６４】
このように、データ量閾値生成部１８は、図２の処理において、予め決められたデータ量Ｄ０の送出を許可する前記トークンを一定のレートＲ０で発行し、前記トークン発行に合わせて、前記保持していたトークンバケツに前記Ｄ０を加算して前記トークンバケツを更新する。また、キューから出力されたフレームのフレーム長を、キュー情報記憶部１７から入力したとき、前記フレーム長に相当するトークンを前記トークンバケツから差し引き、前記トークンバケツを更新する。
【００６５】
したがって、トークンバケツへのトークン加算レートＤ０＊Ｒ０を超えたトラフィックが一時的に発生したとしても、トークンバケツに前記超過トラフィックを送出可能な量のトークンが入っている場合は、前記超過トラフィックのパケットを含む送信要求量を、光端局装置に要求することができる。これにより、前記パケットを光加入者装置１０内でバッファリングすることによるパケットの遅延増大や、前記バッファリングによってバッファ容量を超えた場合のパケット廃棄を抑制できるため、ＴＶ会議などのサービス品質劣化を招きにくい。さらに、光加入者装置１０内でのバッファリングを抑制することになるため、前記バッファリングのためのメモリを削減できる。
【００６６】
なお、トークンバケツの値が予め定められたトークンバケツ上限値に達した場合は、前記上限値を超えて加算しない。これにより、上りトラフィックの変動に応じてグラント毎の送信要求量が変動するときの上限を設定することが可能であり、前記上限を設けない場合に生じうる、一時的な他の光加入者端末への帯域割当減少によるサービス品質への悪影響を抑制することができる。また、トークンバケツの値が予め定められたトークンバケツ下限値に達した場合は、前記下限値を下回って減算しない。これにより、上りトラフィックの変動に応じてグラント毎の送信要求量が変動するときの下限を設定することが可能であり、前記下限を設けない場合に生じうる、一時的な上りトラフィックの停止によるサービス品質への悪影響を抑制することができる。
【００６７】
また、トークンバケツの値が予め定められた送信要求量上限値（トークンバケツ上限値以下の値）に達した場合に、トークンバケツの値ではなく、前記送信要求量上限値をデータ量閾値として採用することも可能である。これにより、上りトラフィックの変動に応じてグラント毎の送信要求量が変動するときの上限を設定することが可能であり、前記上限を設けない場合に生じうる、一時的な他の光加入者端末への帯域割当減少によるサービス品質への悪影響を抑制することができる。また、トークンバケツの値が予め定められた送信要求量下限値（トークンバケツ下限値上の値）に達した場合に、トークンバケツの値ではなく、前記送信要求量下限値をデータ量閾値として採用することも可能である。これにより、上りトラフィックの変動に応じてグラント毎の送信要求量が変動するときの下限を設定することが可能であり、前記下限を設けない場合に生じうる、一時的な上りトラフィックの停止によるサービス品質への悪影響を抑制することができる。
【００６８】
［第１の実施の形態の効果］
このように、本実施の形態は、データ量閾値生成部１８が、光端局装置に対して、予め決められたデータ量の送出を許可するトークンを、一定のレートで発行してトークンバケツに蓄積するとともに、前記光端局装置に送出するために前記キューから取り出したフレームのデータ量に基づいて、当該データ量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算し、前記トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成し、送信要求量探索部１９が、前記データ量閾値生成部１８で生成された前記データ量閾値に基づいて、前記キューに蓄積されている前記フレームのうちから、送信予定のデータ量が当該データ量閾値以下で最大となるフレームであるデータ量閾値境界フレームを探索し、前記キューに蓄積されている先頭のフレームから当該データ量閾値境界フレームまでのデータ量を前記送信要求量として特定するようにしたものである。
【００６９】
これにより、トークンバケツへのトークン加算レートＤ０＊Ｒ０を超えたトラフィックが一時的に発生したとしても、トークンバケツに前記超過トラフィックを送出可能な量のトークンが入っている場合は、前記超過トラフィックのパケットを含む送信要求量を、光端局装置に要求することができる。したがって、前記パケットを光加入者装置１０内でバッファリングすることによるパケットの遅延増大や、前記バッファリングによってバッファ容量を超えた場合のパケット廃棄を抑制できる。このため、光加入者装置１０に起因する、ＴＶ会議などのサービス品質劣化を招きにくくなり、さらには、光加入者装置１０内でのバッファリングを抑制することになるため、前記バッファリングのためのメモリを削減することが可能となる。
【００７０】
また、従来、ＰＯＮシステムにおいて、非保証最大帯域を超過するバースト割当を制限する際、網に流入するユーザトラフィックに契約違反がないか検査するＵＰＣ（User Police Control）を、光端局装置側に配備して、一括管理するものとなっていた。
本実施の形態によれば、光加入者装置１０において、ＵＰＣと同様の機能を実現できることになるため、光端局装置に接続される光加入者装置の増減に対して、スケーラビリティを得ることができる。
【００７１】
また、ＰＯＮシステムでは、許容される非保証最大帯域に対して、１回に割当てられうる割当量が非常に大きな場合、光端局装置が申告に関わるデータ量閾値を動的に変更する可能性がある。例えば、最大帯域１Ｇｂｉｔ／ｓのＧＥ−ＰＯＮで非保証最大帯域１Ｍｂｉｔ／ｓのベストエフォート型のデータサービスを数百台もの光加入者装置を用いて提供したり、ＰＯＮ区間の距離が１０００ｋｍ以上のＰＯＮシステム等である。
このような場合、光端局装置側で演算したデータ量閾値を光加入者装置に通知して光加入者装置がデータ量閾値を更新するが、本実施の形態によれば、光加入者装置でデータ量閾値を特定することができるため、光端局装置からのデータ量閾値更新の手順を省くことができ、さらにはデータ量閾値更新に伴う遅延を抑止とすることができる。
【００７２】
また、通常のトークンバケツによるレート制限では、送信データ量分のトークンをトークンバケツから減算し、トークンバケツが空になって前記減算ができなくなった時点で、送信を停止するという制御が行われる。
これに対して、本実施の形態では、トークンバケツからのトークンの減算が、送信が確定したフレームのデータ量に基づいて行われる点は、通常のトークンバケツによるレート制限と同様であるが、トークンバケツが空になって前記減算ができなくなった時点で送信を停止する制御を行わず、送信許可量は、光端局装置からのゲートフレームに記載されている送信を許可する量によって制限される。
【００７３】
通常のトークンバケツを用いた制御方法では、トークンバケツが空になった時点で送信を停止するが、前記制御を行った場合には、光端局装置が光加入者装置に送信を許可し、前記加入者装置のキューに送信可能なフレームが蓄積されているとしても、トークンバケツが空の状態では送信できない。このような状況は、他の光加入者装置からの上りトラフィックが少なく上りの帯域に余裕がある場合に発生しうる。
【００７４】
前記状況において、光端局装置は、光加入者装置に対して送信要求量に相当する帯域を割り当てるのではなく、上り帯域が無駄にならないよう、送信可能なフレームをキューに蓄積している光加入者装置に対して、前記キューに蓄積されている全データ量を送出可能な帯域を割り当てる。このような場合に、トークンバケツが空となったとき送信しないという制御を行うのでは、光端局装置が光加入者装置に対して割り当てた上り帯域が有効に使用されないという問題が発生する。
本実施の形態では、トークンバケツが空の状態であったとしても、上り送信が可能な帯域を割り当てられた場合は、前記許可された量の送信を行うため、前記のような問題は発生しない。
【００７５】
なお、キューからフレームが出力されたとき、前記フレームのフレーム長に相当するトークンを前記トークンバケツから差し引くが、トークンバケツが空の状態（トークンバケツの値＝０の状態）でトークンを差し引くと、トークンバケツは負の値をとることになる。トークンバケツの値が予め定められたトークンバケツ下限値に達した場合は、前記下限値を下回って減算しないという制御を行うとき、前記トークンバケツ下限値＝０とすることで、トークンバケツは負の値をとらないように制御することが可能である。また、トークンバケツの値として負の値となることを許容する構成も可能であり、この場合は、前記トークンバケツ下限値は負の値に設定される。また、前記のようにトークンバケツが負の値をとる期間は、正の値をとるデータ量閾値は生成されないので（ただし送信要求量下限値が設定されている場合を除く）、送信要求量の探索を行わなくとも、前記送信要求量は０に確定される。
【００７６】
また、本実施の形態では、トークンバケツの量に基づいて、光加入者装置１０が光端局装置に送信するレポートフレームに記載する送信要求量を制限する。ここで、トークンバケツを用いて、送信要求量を制限する一般的な適用を行う例では、制限の対象である送信要求量に基づいて、トークンバケツからのトークンの減算を行う。つまり、光加入者装置１０が光端局装置に送信要求量を記載したレポートフレームを送出するのに合わせて、トークンバケツから前記送信要求量に相当するトークンを減算する。光加入者装置がレポートフレームに記載した送信要求量は必ず光端局装置によって割り当てられるとは限らず、より少ない量しか送信を許可されないという状況が生じる可能性がある。
【００７７】
前記の場合、光加入者装置１０は、実際には要求した分の送信ができなかったにも関わらず、トークンバケツから前記送信要求量が減算されてしまうため、トークンバケツに加算されるデータ量よりも実際に送信されるデータ量の方が小さくなり、送信できなかったパケットを蓄積しているバッファのオーバーフローに伴うフレーム廃棄や遅延の増大など、サービス品質が劣化するという問題が生じる。
しかし、本実施の形態では、トークンバケツからの送信要求量に相当するトークンを減算するのではなく、送信が確定したフレームのデータ量に基づいて行うため、前記のような問題は発生しない。
【００７８】
なお、本実施の形態の光加入者装置１０では、光端局装置に送信するレポートフレームに送信要求量を記載するが、前記送信要求量に加えて、前記送信要求量以上の値となる、キューに蓄積された全データ量に相当する蓄積量を、送信要求量と併せてレポートフレームに記載する光加入者装置であってもよい。
この場合、本実施の形態に示した送信要求量探索について、前記送信要求量に代わって前記蓄積量を前記データ量閾値に基づいてキュー情報テーブルを参照して取得することも可能である。また、前記送信要求量に加えて、前記蓄積量を前記送信要求量と同様の方法で取得することも可能である。
【００７９】
光端局装置は、各光加入者装置１０からの送信要求量に基づいて前記各光加入者装置１０に上り帯域の割り当てを行ったとき、上り帯域に余裕が生じた場合は、光加入者装置１０からの蓄積量分のグラントを割り当てるため、上り帯域に余裕がある場合は、前記蓄積量は前記送信要求量と同様に作用する。したがって、蓄積量についても前記のように取得することで、本実施の形態に示した効果と同様の効果を期待できる。
【００８０】
次に、図３を参照して、送信要求量探索部１９からレポート生成部２０へ出力された送信要求量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算する場合について説明する。図３は、第１の実施の形態にかかる他の光加入者装置の構成を示すブロック図であり、図１と同じまたは同様部分には同一符号を付してある。
【００８１】
図１では、トークンバケツを用いて送信要求量を制限する際、送信が確定したフレームのデータ量をトークンバケツに蓄積されているトークンから減算する場合を例として説明した。
図３では、データ量閾値生成部１８が、送信要求量探索部１９からレポート生成部２０へ出力された送信要求量に相当する量のトークンを、前記トークンバケツに蓄積されているトークンから減算する。なお、データ量閾値生成部１８以外の各部については、図１と同様である。
【００８２】
図４は、第１の実施の形態にかかる他の光加入者装置にかかるデータ量閾値生成部の動作を示すフローチャートである。
図４において、ステップ２００−２０４は、図２のステップ１００−１０４と同様であり、ここでの説明は省略する。
【００８３】
データ量閾値生成部１８は、キュー情報記憶部１７からのフレーム長Ｌｏに代えて、送信要求量探索部１９からの送信要求量Ｓｒの入力有無を確認し（ステップ２０５）、入力がなければ後述するステップ２０９へ移行し（ステップ２０５：ＮＯ）、入力があった場合（ステップ２０５：ＹＥＳ）、トークン量Ｓと送信要求量Ｓｒ（トークン量換算値）とを比較する（ステップ２０６）。
ここで、Ｓ≧Ｓｒの場合には（ステップ２０６：ＹＥＳ）、トークンバケツから送信要求量Ｓｒ分のトークンを減算してＳ＝Ｓ−Ｓｒとし（ステップ２０７）、Ｓ＜Ｓｒの場合には（ステップ２０６：ＮＯ）、Ｓを０で初期化する（ステップ２０８）。
【００８４】
この後、データ量閾値生成部１８は、次のクロックサイクルの到来まで待機し（ステップ２０９）、その到来に応じてステップ２０１へ移行する。
また、データ量閾値生成部１８は、図４のこれら処理とは別個に、送信要求量探索部１９でのデータ量閾値境界フレーム探索処理のタイミングに合わせて、トークンバケツに蓄積されているトークン量Ｓに相当するデータ量からなるデータ量閾値を生成し、送信要求量探索部１９に出力する。
【００８５】
これにより、本実施の形態にかかる光加入者装置１０の一部構成として、図３および図４の構成を用いてもよく、図１および図２と同様の作用効果を得ることができる。なお、送信要求量探索部１９からレポート生成部２０へ出力された送信要求量（レポートフレームに記載した送信要求量）分のトークンをトークンバケツから減算する方法の場合は、Ｒｅｐｏｒｔ Ｒｅｑｕｅｓｔ付きのゲートフレームのみに限定する必要がある。
【００８６】
［第２の実施の形態］
次に、図５を参照して、本発明の第２の実施の形態にかかる光加入者装置１０について説明する。図５は、第２の実施の形態にかかる光加入者装置の構成を示すブロック図であり、図１と同じまたは同等部分には同一符号を付してある。
【００８７】
この光加入者装置１０には、主な機能部として、ＬＡＮ受信部１１、ＬＡＮ送信部１２、ＰＯＮ受信部１３、ＰＯＮ送信部１４、上りバッファ部１５、キュー情報生成部１６、キュー情報記憶部１７、データ量閾値生成部１８、送信要求量探索部１９、レポート生成部２０が設けられている。
【００８８】
ＬＡＮ受信部１１は、加入者側ネットワークであるＬＡＮからの信号を受信し、前記信号中に含まれるフレームに対して所定の処理を施したのち、前記フレームを上りバッファ部１５に出力する。また、ＬＡＮ受信部１１は、前記フレームのフレーム長を、フレーム毎に、キュー情報生成部１６に出力する。
【００８９】
なお、ＬＡＮ受信部１１が出力する上記フレーム長は、上りバッファ部１５がフレームをキューに蓄積する時のデータ長とは限らない。フレーム長は、前記フレームがＰＯＮ送信部１４から送出されるときのフレーム長であり、例えば、ＰＯＮ送信部１４で暗号化されることによってフレームが伸長する場合には、キューに蓄積される時のデータ長に前記伸長分を加える必要がある。さらに、ＰＯＮ送信部１４からフレームを送出するときは、次に送出するフレームとの間に所定のアイドル信号を入れる必要があるが、前記アイドル信号の長さを加算する必要がある。
【００９０】
このように、光加入者装置１０が上りフレームに施す処理によって変化する後のフレームのデータ長を、前記処理を行う前のフレームのデータ長であるキューに蓄積する時点でのデータ長を基に算出する。さらに、光加入者装置１０から光端局装置ＯＬＴ（図示せず）へのフレーム送出時のフレーム間に入れるべきアイドル信号長を算出して前記データ長に加算する。
【００９１】
ＬＡＮ送信部１２は、ＰＯＮ受信部１３からの下りフレームに対して所定の処理を施したのち、前記フレームを含む送信信号を、加入者側ネットワークであるＬＡＮに送信する。
【００９２】
ＰＯＮ受信部１３は、光端局装置ＯＬＴからの信号を、受動光通信網（ＰＯＮ）を介して受信し、前記信号に対して所定の処理を施し、さらに、前記信号に含まれる下りフレームに対して所定の処理を施したのち、前記フレームをＬＡＮ送信部１２に出力する。また、ＰＯＮ受信部１３は、前記フレームのうち、光端局装置ＯＬＴから送られてきたゲートフレームについて、前記フレームに記載された上り送信を許可する量と送信開始時刻とを、上りバッファ部１５と送信要求量探索部１９に出力する。
【００９３】
上りバッファ部１５は、キューを備えており、ＬＡＮ受信部１１が出力した上りフレームを前記キューに蓄積する。また、上りバッファ部１５は、ＰＯＮ受信部１３からの送信開始時刻と、送信要求量探索部１９からの送信量に相当するフレーム境界にあるフレーム（送信許可量境界フレーム）を特定する情報を入力し、前記情報に基づいて、前記キューに蓄積した上りフレームのうち前記送信量に相当するフレームをＰＯＮ送信部１４に出力する（送信開始時刻に合わせてキューのボトムのフレームから前記送信許可量境界フレームまでを出力する）。また、上りバッファ部１５は、前記上りフレームの出力を示す上りフレーム出力信号をキュー情報記憶部１７に対して出力する。
【００９４】
ＰＯＮ送信部１４は、上りバッファ部１５が出力する上りフレームと、レポート生成部２０が出力するレポートフレームに対して所定の処理を施し、上りバッファ部１５から入力した送信開始信号が示すタイミングで、前記フレームを含む送信信号として、受動光通信網ＰＯＮを介して光端局装置ＯＬＴに送信する。
【００９５】
レポート生成部２０は、送信要求量探索部１９が出力した送信要求量を記載したレポートフレームを生成し、前記レポートフレームをＰＯＮ送信部１４に出力する。
【００９６】
キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレーム長に基づいてキューに蓄積されているデータ量を知るための情報として、キュー情報を生成し、前記生成したキュー情報をキュー情報記憶部１７に出力する。キュー情報を生成するため、キュー情報生成部１６は、上りバッファ部１５のキューに対応する累積データ量を保持する。
【００９７】
また、キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレームが蓄積されるキューの前記累積データ量に、前記フレーム長を加算して前記累積データ量を更新する。さらに、前記更新された前記累積データ量をキュー情報とする。なお、キュー情報としてフレーム長を用いることや、前記累積データ量とフレーム長の両方を用いることも可能であるが、本実施の形態では、前記累積データ量をキュー情報として用いる場合について説明する（キュー情報としてフレーム長や累積データ量とフレーム長の両方を用いる方法については、第１の実施の形態と同様である）。
【００９８】
キュー情報記憶部１７は、キュー情報生成部１６が出力したキュー情報を保持するキュー情報テーブルを、上りバッファ部１５のキューに対応して備えている。キュー情報生成部１６がキュー情報を出力する毎に、すなわち、キューに上りフレームを蓄積する毎に、前記フレームに対応するキュー情報（例えば前記フレームのフレーム長が加算された累積データ量）を、前記キューに対応するキュー情報テーブルに保持する。キュー情報テーブルのトップエントリを、前記エントリの１個上にあるエントリへと移動し、前記移動後のトップエントリに、前記キュー情報を格納することにより、キュー情報テーブルのエントリ順とキューへのフレーム蓄積順は一致する。
【００９９】
また、キュー情報記憶部１７は、キューから上りフレームが取り出されるのに合わせて（上りバッファ部１５から入力された上りフレーム出力信号に基づいて）、前記ボトムエントリを前記取り出されたフレームに対応するキュー情報が格納されていたエントリの１つ上のエントリに移動する。これにより、キュー情報テーブルのボトムエントリが、上りバッファ部１５のキューのボトム（出口に最も近い）位置にあるフレームに対応する。
【０１００】
また、キュー情報記憶部１７は、前記取り出されたフレームに対応するキュー情報、すなわち、移動後のボトムエントリの１つ下のエントリに格納されていたキュー情報を、送信要求量探索部１９に出力する。さらに、キュー情報記憶部１７は、前記キュー情報から前記取り出されたフレームのフレーム長を求め、データ量閾値生成部１８に出力する。例えば、キュー情報に累積データ量を含む場合、キューからフレームを取り出すときの前記フレームに対応する累積データ量を保持しておき、今回取り出されたフレームの累積データ量から前記保持していた累積データ量を差し引くことによって、データ量閾値生成部１８に出力するためのフレーム長を得ることができる。
【０１０１】
送信要求量探索部１９は、ＰＯＮ受信部１３から送信開始時刻と送信許可量を入力し、前記送信開始時刻より前の時点で、キューのボトムにあるフレームからのデータ量が前記送信許可量以下で最大となるフレーム境界を、キュー情報テーブルを参照することによって探索する。前記の送信量探索の結果として、前記フレーム境界にあるフレーム（送信許可量境界フレーム）を特定する情報（送信許可量境界フレームＩＤ、例えば送信許可量境界フレームに対応するキュー情報テーブルのエントリ番号）を上りバッファ部１５に出力する。なお、キューに蓄積された全フレームが前記送信量探索の探索範囲であり、前記キューのボトムに対応するフレームから前記送信許可量境界フレームまでの各フレームのフレーム長の合計であるデータ量が送信量となる。
【０１０２】
次に、送信要求量探索部１９は、データ量閾値生成部１８が出力したデータ量閾値を入力し、キューに蓄積されているフレームのなかから、キューのボトムにあるフレームからのデータ量が前記データ量閾値以下で最大となるフレーム境界を、キュー情報テーブルを参照することによって探索する。前記の送信要求量探索では、前記探索によって前記フレーム境界にあるフレーム（データ量閾値境界フレーム）を特定し、キューのボトムにあるフレームから前記データ量閾値境界フレームまでのデータ量から前記送信量を差し引いたデータ量、つまり、キューに蓄積されたフレームのうち、前記送信許可量境界フレームより後のフレームから前記データ量閾値境界フレームまでの範囲にある各フレームのフレーム長の合計であるデータ量を、送信要求量としてレポート生成部２０に出力する。
【０１０３】
送信要求量探索部１９における送信要求量探索のタイミングは、ＰＯＮ受信部１３から入力した上り送信の送信開始時刻に基づく。ここで、前記送信開始時刻に達した後に、ＰＯＮ送信部１４から、前記探索によって得られた送信要求量の情報を含むレポートフレームが送信可能となるよう、前記探索のタイミングが決められる。具体的には、前記送信開始時刻よりも、探索とレポートフレームの生成・送信に要する時間以上となる所定の時間だけ前に前記探索は開始される。
【０１０４】
なお、送信要求量探索部１９は、送信量探索や送信要求量探索を行うとき、キューのボトムにあるフレームから各フレームまでのデータ量（キュー内累計データ量）と、送信許可量やデータ量閾値との比較を行う。キュー情報に累積データ量を採用する例では、各フレームに対応するキュー情報テーブルのエントリに格納された累積データ量から前記キューのボトムにあるフレームに対応するエントリに格納された累積データ量を差し引くことで、キュー内累計データ量を得ることができる。そこで、キュー情報テーブルのボトムエントリが移動したときにキュー情報記憶部１７が出力したキュー情報を入力して、前記キュー情報に含まれる累積データ量を、基準累積データ量として保持しておき、各フレームに対応する累積データ量から前記基準累積データ量を差し引いて、キュー内累計データ量を算出する。
【０１０５】
送信要求量探索部１９は、上記の探索において、キュー情報テーブルのボトムエントリから順に、キュー内累計データ量が、送信許可量・データ量閾値以下であるか否かを判定し、前記送信許可量・データ量閾値を超えた初めてのエントリのフレームが、探索すべきフレーム境界となる。前記は線形探索法を採用した動作であるが、キュー情報として累積データ量を採用する例では、フレーム毎に、キュー情報テーブルのボトムエントリからそのフレームのエントリまでのキュー情報に基づいてキュー内累計データ量を算出する必要はなく、前記フレームに対応するキュー情報テーブルのエントリに格納された累積データ量から前述の基準累積データ量を差し引いた値が、キュー内累計データ量となるため、ボトムエントリから順に探索する線形探索ではなく、二分探索法を採用することが可能であり、エントリ数が大きい場合の処理量（キュー情報テーブルからのエントリ読み出し回数など）を削減することが可能である。
【０１０６】
データ量閾値生成部１８は、キュー情報記憶部１７から出力された、上りバッファ部１５が光端局装置に送出するためにキューから取り出したフレームのデータ量に基づいて、データ量閾値を生成して送信要求量探索部１９に出力する。
【０１０７】
この際、データ量閾値生成部１８は、光端局装置に対して、予め決められたデータ量Ｄ０の送出を許可するトークンを、順次蓄積するトークンバケツを保持し、一定のレートＲ０でトークンを発行してトークンバケツに蓄積するとともに、キュー情報記憶部１７から出力されたデータ量に基づいて、当該データ量に相当する量のトークンをトークンバケツに蓄積されているトークンから減算する。また、データ量閾値生成部１８は、トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成し、送信要求量探索部１９に出力する。データ量閾値生成部の動作を表すフローチャートは第１の実施の形態と同じであるため、図示を省略する。
【０１０８】
［第２の実施の形態の効果］
このように、本実施の形態は、送信要求量探索部１９が、光端局装置（ＰＯＮ受信部１３）からの前記送信許可量の通知に応じて、前記キューに蓄積されている前記フレームのうちから、送信予定のデータ量が当該送信許可量以下で最大となるフレームである送信許可量境界フレームを探索し、前記キューに蓄積されている先頭のフレームから当該データ量閾値境界フレームまでのデータ量から、前記キューに蓄積されている先頭のフレームから当該データ量閾値境界フレームまでのデータ量を差し引いたデータ量を前記送信要求量として特定し、上りバッファ部１５が、前記送信許可量の通知に代えて、前記送信要求量探索部１９での前記送信許可量境界フレームの特定に応じて、前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを開始するようにしたものである。
【０１０９】
第１の実施の形態では、上りバッファ部１５が、光端局装置（ＰＯＮ受信部１３）から送信許可量を入力した時点で、前記キューからのフレーム取り出しとＰＯＮ送信部１４への出力を開始し、前記送信開始時刻より前に前記送信許可量分のフレームの前記取り出しを完了する必要があった。前記理由は、送信要求量の探索は、キューから送信が確定したフレーム（送信許可量に相当する分のフレーム）を１個ずつ取り出してＰＯＮ送信部１４に出力した後のキューに対して行うためである。
【０１１０】
したがって、送信開始時刻より前に送信要求量の探索を完了する必要があるが（前記送信要求量を記載したレポートフレームを前記送信開始時刻に合わせて送信するため）、前記送信が確定したフレームの個数が多くキューからの取出しに要する時間が長くなる場合に、前記取出し後に行う前記送信要求量の探索完了が送信開始時刻より遅れることになるため、正しい送信要求量をレポートフレームに記載できないという問題が生じる。
【０１１１】
一方、本実施の形態によれば、上りバッファ部１５は、送信開始時刻に至るまでキューから送信が確定したフレームの取出しは行わない。まず、送信要求量探索部１９が、キュー情報の全エントリを対象として送信量探索を行って、次に、送信要求量探索を行うという、２回の探索を行う。前記探索では、１フレームずつ送信許可量以内に収まるか否かを判定するのではなく２分探索等の高速な探索を行うことが可能であるため、第１の実施の形態での課題であった、送信許可量分のフレームをキューから取り出す時間が長くなる場合に生じる、正しい送信要求量をレポートフレームに記載できないという問題を解決することができる。
【０１１２】
なお、第１の実施の形態のデータ量閾値生成部１８が生成するデータ量閾値には、送信が確定したフレームのデータ量である送信量は含まれていないが（トークンバケツから前記フレームのデータ量が減算された後の値をデータ量閾値として用いるため）、本実施の形態のデータ量閾値生成部１８が生成するデータ量閾値には、送信が確定したフレームのデータ量である送信量も含まれている（トークンバケツから前記フレームのデータ量が減算される前の値をデータ量閾値として用いるため）。第１の実施の形態では、前記送信量に相当するフレームが既に取り出されたキュー情報テーブルを参照して送信要求量を探索するのに対して、本実施の形態では、前記送信量に相当するフレームを含むキュー情報テーブルを参照して探索を行うため、第１の実施の形態と同じように探索が可能となる。
【０１１３】
［第３の実施の形態］
次に、図６を参照して、本発明の第３の実施の形態にかかる光加入者装置１０について説明する。図６は、第３の実施の形態にかかる光加入者装置の構成を示すブロック図であり、図１と同じまたは同等部分には同一符号を付してある。
【０１１４】
この光加入者装置１０には、主な機能部として、ＬＡＮ受信部１１、ＬＡＮ送信部１２、ＰＯＮ受信部１３、ＰＯＮ送信部１４、上りバッファ部１５、キュー情報生成部１６、キュー情報記憶部１７、データ量閾値生成部１８、送信要求量探索部１９、レポート生成部２０が設けられている。
【０１１５】
ＬＡＮ受信部１１は、加入者側ネットワークであるＬＡＮからの信号を受信し、前記信号中に含まれるフレームに対して所定の処理を施したのち、前記フレームを上りバッファ部１５に出力する。また、ＬＡＮ受信部１１は、前記フレームのフレーム長を、フレーム毎に、キュー情報生成部１６に出力する。
【０１１６】
なお、ＬＡＮ受信部１１が出力する上記フレーム長は、上りバッファ部１５がフレームをキューに蓄積する時のデータ長とは限らない。フレーム長は、前記フレームがＰＯＮ送信部１４から送出されるときのフレーム長であり、例えば、ＰＯＮ送信部１４で暗号化されることによってフレームが伸長する場合には、キューに蓄積される時のデータ長に前記伸長分を加える必要がある。さらに、ＰＯＮ送信部１４からフレームを送出するときは、次に送出するフレームとの間に所定のアイドル信号を入れる必要があるが、前記アイドル信号の長さを加算する必要がある。
【０１１７】
このように、光加入者装置１０が上りフレームに施す処理によって変化する後のフレームのデータ長を、前記処理を行う前のフレームのデータ長であるキューに蓄積する時点でのデータ長を基に算出する。さらに、光加入者装置１０から光端局装置ＯＬＴ（図示せず）へのフレーム送出時のフレーム間に入れるべきアイドル信号長を算出して前記データ長に加算する。
【０１１８】
ＬＡＮ送信部１２は、ＰＯＮ受信部１３からの下りフレームに対して所定の処理を施したのち、前記フレームを含む送信信号を、加入者側ネットワークであるＬＡＮに送信する。
【０１１９】
ＰＯＮ受信部１３は、光端局装置ＯＬＴからの信号を、受動光通信網（ＰＯＮ）を介して受信し、前記信号に対して所定の処理を施し、さらに、前記信号に含まれる下りフレームに対して所定の処理を施したのち、前記フレームをＬＡＮ送信部１２に出力する。また、ＰＯＮ受信部１３は、前記フレームのうち、光端局装置ＯＬＴから送られてきたゲートフレームについて、前記フレームに記載された上り送信を許可する量と送信開始時刻とを、上りバッファ部１５と送信要求量探索部１９に出力する。
【０１２０】
上りバッファ部１５は、キューを備えており、ＬＡＮ受信部１１が出力した上りフレームを前記キューに蓄積する。また、上りバッファ部１５は、ＰＯＮ受信部１３からの送信開始時刻と、送信要求量探索部１９からの送信量に相当するフレーム境界にあるフレーム（送信許可量境界フレーム）を特定する情報を入力し、前記情報に基づいて、前記キューに蓄積した上りフレームのうち前記送信量に相当するフレームをＰＯＮ送信部１４に出力する（送信開始時刻に合わせてキューのボトムのフレームから前記送信許可量境界フレームまでを出力する）。また、上りバッファ部１５は、前記上りフレームの出力を示す上りフレーム出力信号をキュー情報記憶部１７に対して出力する。
【０１２１】
ＰＯＮ送信部１４は、上りバッファ部１５が出力する上りフレームと、レポート生成部２０が出力するレポートフレームに対して所定の処理を施し、上りバッファ部１５から入力した送信開始信号が示すタイミングで、前記フレームを含む送信信号として、受動光通信網ＰＯＮを介して光端局装置ＯＬＴに送信する。
【０１２２】
レポート生成部２０は、送信要求量探索部１９が出力した送信要求量を記載したレポートフレームを生成し、前記レポートフレームをＰＯＮ送信部１４に出力する。
【０１２３】
キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレーム長に基づいてキューに蓄積されているデータ量を知るための情報として、キュー情報を生成し、前記生成したキュー情報をキュー情報記憶部１７に出力する。キュー情報を生成するため、キュー情報生成部１６は、上りバッファ部１５のキューに対応する累積データ量を保持する。
【０１２４】
また、キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレームが蓄積されるキューの前記累積データ量に、前記フレーム長を加算して前記累積データ量を更新する。さらに、前記更新された前記累積データ量をキュー情報とする。なお、キュー情報としてフレーム長を用いることや、前記累積データ量とフレーム長の両方を用いることも可能であるが、本実施の形態では、前記累積データ量をキュー情報として用いる場合について説明する（キュー情報としてフレーム長や累積データ量とフレーム長の両方を用いる方法については、第１の実施の形態と同様である）。
【０１２５】
キュー情報記憶部１７は、キュー情報生成部１６が出力したキュー情報を保持するキュー情報テーブルを、上りバッファ部１５のキューに対応して備えている。キュー情報生成部１６がキュー情報を出力する毎に、すなわち、キューに上りフレームを蓄積する毎に、前記フレームに対応するキュー情報（例えば前記フレームのフレーム長が加算された累積データ量）を、前記キューに対応するキュー情報テーブルに保持する。この際、キュー情報テーブルのトップエントリを、前記エントリの１個上にあるエントリへと移動し、前記移動後のトップエントリに、前記キュー情報を格納する、これにより、キュー情報テーブルのエントリ順とキューへのフレーム蓄積順は一致する。
【０１２６】
また、キュー情報記憶部１７は、キューから上りフレームが取り出されるのに合わせて（上りバッファ部１５から入力された上りフレーム出力信号に基づいて）、前記ボトムエントリを前記取り出されたフレームに対応するキュー情報が格納されていたエントリの１つ上のエントリに移動する。これにより、キュー情報テーブルのボトムエントリが、上りバッファ部１５のキューのボトム（出口に最も近い）位置にあるフレームに対応する。
また、キュー情報記憶部１７は、前記取り出されたフレームに対応するキュー情報、すなわち、移動後のボトムエントリの１つ下のエントリに格納されていたキュー情報を、送信要求量探索部１９に出力する。
【０１２７】
送信要求量探索部１９は、ＰＯＮ受信部１３から送信開始時刻と送信許可量を入力し、前記送信開始時刻より前の時点で、１つのグラントに割り当てて光端局装置に送信するデータ量（送信量）が前記送信許可量以下で最大となるフレーム境界を、キュー情報テーブルを参照することによって取得する。前記の送信量探索の結果として、前記フレーム境界にあるフレーム（送信許可量境界フレーム）を特定する情報（送信許可量境界フレームＩＤ、例えば送信許可量境界フレームに対応するキュー情報テーブルのエントリ番号）を上りバッファ部１５に出力する。また、送信要求量探索部１９は、前記探索によって得た送信量を、データ量閾値生成部１８に出力する。なお、キューに蓄積された全フレームが前記送信量探索の探索範囲であり、前記キューのボトムに対応するフレームから前記送信許可量境界フレームまでの各フレームのフレーム長の合計であるデータ量が送信量となる。
【０１２８】
次に、送信要求量探索部１９は、データ量閾値生成部１８が出力したデータ量閾値を入力し、キューに蓄積されているフレームのうち、前記送信許可量境界フレームより後にキューに蓄積されたフレームのなかから、１つのグラントに割り当てて光端局装置に送信する予定のデータ量が前記データ量閾値以下で最大となるフレーム境界を、キュー情報テーブルを参照することによって探索する。前記の送信要求量探索では、キューに蓄積されたフレームのうち、前記送信許可量境界フレームより後に蓄積されたフレームが探索範囲であり、前記探索の結果として、前記キューのボトムにあるフレームから前記フレーム境界にあるフレーム（データ量閾値境界フレーム）までのデータ量から前記送信量を差し引いたデータ量、つまり、前記送信許可量境界フレームより１つ後のフレームから前記データ量閾値境界フレームまでの各フレームのフレーム長の合計であるデータ量を、送信要求量としてレポート生成部２０に出力する。
【０１２９】
送信要求量探索部１９における送信要求量探索のタイミングは、ＰＯＮ受信部１３から入力した上り送信の送信開始時刻に基づく。ここで、前記送信開始時刻に達した後に、ＰＯＮ送信部１４から、前記探索によって得られた送信要求量の情報を含むレポートフレームが送信可能となるよう、前記探索のタイミングが決められる。具体的には、前記送信開始時刻よりも、探索とレポートフレームの生成・送信に要する時間以上となる所定の時間だけ前に前記探索は開始される。
【０１３０】
なお、送信要求量探索部１９は、送信量探索や送信要求量探索を行うとき、キューのボトムにある（最も過去に蓄積された）フレーム（探索範囲下端フレーム）から、各フレームまでのデータ量（探索範囲内累積データ量）と、送信許可量やデータ量閾値との比較を行う。キュー情報に累積データ量を採用する例では、各フレームに対応するキュー情報テーブルのエントリに格納された累積データ量から前記探索範囲下端フレームに対応するエントリに格納された累積データ量を差し引くことで、探索範囲内累積データ量を得ることができる。
【０１３１】
そこで、送信要求量探索部１９は、送信量探索については、キュー情報テーブルのボトムエントリが移動したときにキュー情報記憶部１７が出力したキュー情報を入力して、前記キュー情報に含まれる累積データ量を、基準累積データ量として保持しておき、各フレームに対応する累積データ量から前記基準累積データ量を差し引いて探索範囲内累積データ量を得る。また、送信要求量探索部１９は、送信要求量探索については、各フレームに対応するキュー情報テーブルのエントリに格納された累積データ量から前記送信量探索で得た送信許可量境界フレームに対応するキュー情報テーブルのエントリに格納された累積データ量を差し引いて探索範囲内累積データ量を得る。
【０１３２】
上記の探索において、キュー情報テーブルの探索範囲下端フレームから各フレームまでのフレームについてフレーム長の合計である探索範囲内累積データ量が、送信許可量・データ量閾値以下であるか否かを判定し、前記送信許可量・データ量閾値を超えた初めてのフレームが、探索すべきフレーム境界となる。前記は線形探索法を採用した動作であるが、キュー情報として累積データ量を採用する例では、フレーム毎に、探索範囲下端フレームから各フレームまでのフレーム長の合計を、キュー情報テーブルの各エントリに格納されたキュー情報に基づいて得る必要はなく、キュー情報テーブルの各エントリに格納された累積データ量から探索範囲下端フレームに対応してキュー情報テーブルのエントリに格納された累積データ量を差し引いた値が探索範囲内累積データ量となるため、線形探索ではなく、二分探索法を採用することが可能であり、エントリ数が大きい場合の処理量（キュー情報テーブルからのエントリ読み出し回数など）を削減することが可能である。
【０１３３】
図７は、第３の実施の形態にかかるデータ量閾値生成部の動作を示すフローチャートである。
図７において、ステップ３００−３０４は、図２のステップ１００−１０４と同様であり、ここでの説明は省略する。
【０１３４】
データ量閾値生成部１８は、キュー情報記憶部１７からのフレーム長Ｌｏに代えて、送信要求量探索部１９からの送信量Ｄｏの入力有無を確認し（ステップ３０５）、入力がなければ後述するステップ３０９へ移行し（ステップ３０５：ＮＯ）、入力があった場合（ステップ３０５：ＹＥＳ）、トークン量Ｓと送信量Ｄｏ（トークン量換算値）とを比較する（ステップ３０６）。
ここで、Ｓ≧Ｄｏの場合には（ステップ３０６：ＹＥＳ）、トークンバケツから送信量Ｄｏ分のトークンを減算してＳ＝Ｓ−Ｄｏとし（ステップ３０７）、Ｓ＜Ｄｏの場合には（ステップ３０６：ＮＯ）、Ｓを０で初期化する（ステップ３０８）。
【０１３５】
この後、データ量閾値生成部１８は、次のクロックサイクルの到来まで待機し（ステップ３０９）、その到来に応じてステップ３０１へ移行する。
また、データ量閾値生成部１８は、図７のこれら処理とは別個に、送信要求量探索部１９でのデータ量閾値境界フレーム探索処理のタイミングに合わせて、トークンバケツに蓄積されているトークン量Ｓに相当するデータ量からなるデータ量閾値を生成し、送信要求量探索部１９に出力する。
【０１３６】
［第３の実施の形態の効果］
このように、本実施の形態は、データ量閾値生成部１８は、光端局装置に送出するフレームを上りバッファ部１５が前記キューから取り出すごとに、当該フレームのデータ量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算するのではなく、前記送信要求量探索部１９からの前記送信量の通知に応じて、当該送信量に相当する量のトークンを前記トークンバケツに蓄積されているトークンから減算するようにしたものである。
【０１３７】
したがって、第２の実施の形態において、データ量閾値生成部１８が生成するデータ量閾値には、送信が確定したフレームのデータ量である送信量が含まれているが（トークンバケツから前記フレームのデータ量が減算される前の値をデータ量閾値として用いるため）、本実施の形態のデータ量閾値生成部１８が生成するデータ量閾値には、送信が確定したフレームのデータ量である送信量は含まれていない（トークンバケツから前記送信量を減算した後の値をデータ量閾値として用いるため）。
このため、第２の実施の形態では、前記送信量に相当するフレームを含むキュー情報テーブルを参照して送信要求量探索を行うのに対して、本実施の形態では、前記送信量に相当するフレームについては探索範囲から外して送信要求量探索を行うため、第２の実施の形態と同じように探索が可能となる。
【０１３８】
また、第２の実施の形態では、前記送信量に相当するフレームを含むキューに蓄積されている全フレームを対象として送信要求量を探索するが、本実施の形態では、前記送信量に相当するフレームは送信要求量の探索対象外となる。
このため、本実施の形態によれば、第２の実施の形態と比較して、送信要求量の探索範囲を送信量に相当するフレーム分だけ狭くすることができる。したがって、本実施の形態の方が、第２の実施の形態よりも、送信要求量探索を高速に行うことができる。
【０１３９】
［第４の実施の形態］
次に、図８を参照して、本発明の第４の実施の形態にかかる光加入者装置１０について説明する。図８は、第４の実施の形態にかかる光加入者装置の構成を示すブロック図であり、図１と同じまたは同等部分には同一符号を付してある。
【０１４０】
この光加入者装置１０には、主な機能部として、ＬＡＮ受信部１１、ＬＡＮ送信部１２、ＰＯＮ受信部１３、ＰＯＮ送信部１４、上りバッファ部１５、キュー情報生成部１６、キュー情報記憶部１７、データ量閾値生成部１８、送信要求量探索部１９、レポート生成部２０が設けられている。
【０１４１】
ＬＡＮ受信部１１は、加入者側ネットワークであるＬＡＮからの信号を受信し、前記信号中に含まれるフレームに対して所定の処理を施したのち、前記フレームを上りバッファ部１５に出力する。また、ＬＡＮ受信部１１は、前記フレームのフレーム長を、フレーム毎に、キュー情報生成部１６とデータ量閾値生成部１８に出力する。
【０１４２】
なお、ＬＡＮ受信部１１が出力する上記フレーム長は、上りバッファ部１５がフレームをキューに蓄積する時のデータ長とは限らない。フレーム長は、前記フレームがＰＯＮ送信部１４から送出されるときのフレーム長であり、例えば、ＰＯＮ送信部１４で暗号化されることによってフレームが伸長する場合には、キューに蓄積される時のデータ長に前記伸長分を加える必要がある。さらに、ＰＯＮ送信部１４からフレームを送出するときは、次に送出するフレームとの間に所定のアイドル信号を入れる必要があるが、前記アイドル信号の長さを加算する必要がある。
【０１４３】
このように、光加入者装置１０が上りフレームに施す処理によって変化する後のフレームのデータ長を、前記処理を行う前のフレームのデータ長であるキューに蓄積する時点でのデータ長を基に算出する。さらに、光加入者装置１０から光端局装置ＯＬＴ（図示せず）へのフレーム送出時のフレーム間に入れるべきアイドル信号長を算出して前記データ長に加算する。
【０１４４】
ＬＡＮ送信部１２は、ＰＯＮ受信部１３からの下りフレームに対して所定の処理を施したのち、前記フレームを含む送信信号を、加入者側ネットワークであるＬＡＮに送信する。
【０１４５】
ＰＯＮ受信部１３は、光端局装置ＯＬＴからの信号を、受動光通信網（ＰＯＮ）を介して受信し、前記信号に対して所定の処理を施し、さらに、前記信号に含まれる下りフレームに対して所定の処理を施したのち、前記フレームをＬＡＮ送信部１２に出力する。また、ＰＯＮ受信部１３は、前記フレームのうち、光端局装置ＯＬＴから送られてきたゲートフレームについて、前記フレームに記載された上り送信を許可する量と送信開始時刻とを、上りバッファ部１５と送信要求量探索部１９に出力する。
【０１４６】
上りバッファ部１５は、キューを備えており、ＬＡＮ受信部１１が出力した上りフレームを前記キューに蓄積する。また、上りバッファ部１５は、ＰＯＮ受信部１３からの送信開始時刻と、送信要求量探索部１９からの送信量に相当するフレーム境界にあるフレーム（送信許可量境界フレーム）を特定する情報を入力し、前記情報に基づいて、前記キューに蓄積した上りフレームのうち前記送信量に相当するフレームをＰＯＮ送信部１４に出力する。また、上りバッファ部１５は、前記上りフレームの出力を示す上りフレーム出力信号をキュー情報記憶部１７に対して出力する。
【０１４７】
ＰＯＮ送信部１４は、上りバッファ部１５が出力する上りフレームと、レポート生成部２０が出力するレポートフレームに対して所定の処理を施し、前記フレームを含む送信信号として、受動光通信網ＰＯＮを介して光端局装置ＯＬＴに送信する。
【０１４８】
レポート生成部２０は、送信要求量探索部１９が出力した送信要求量を記載したレポートフレームを生成し、前記レポートフレームをＰＯＮ送信部１４に出力する。
【０１４９】
キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレーム長に基づいてキューに蓄積されているデータ量を知るための情報として、キュー情報を生成し、前記生成したキュー情報をキュー情報記憶部１７に出力する。キュー情報を生成するため、キュー情報生成部１６は、上りバッファ部１５のキューに対応する累積データ量を保持する。
【０１５０】
また、キュー情報生成部１６は、ＬＡＮ受信部１１から上りフレームのフレーム長を入力したとき、前記フレームが蓄積されるキューの前記累積データ量に、前記フレーム長を加算して前記累積データ量を更新する。さらに、前記更新された前記累積データ量をキュー情報とする。なお、キュー情報としてフレーム長を用いることや、前記累積データ量とフレーム長の両方を用いることも可能であるが、本実施の形態では、前記累積データ量をキュー情報として用いる場合について説明する。
【０１５１】
キュー情報記憶部１７は、キュー情報生成部１６が出力したキュー情報を保持するキュー情報テーブルを、上りバッファ部１５のキューに対応して備えている。キュー情報生成部１６がキュー情報を出力する毎に、すなわち、キューに上りフレームを蓄積する毎に、前記フレームに対応するキュー情報（例えば前記フレームのフレーム長が加算された累積データ量）を、前記キューに対応するキュー情報テーブルに保持する。この際、キュー情報テーブルのトップエントリを、前記エントリの１個上にあるエントリへと移動し、前記移動後のトップエントリに、前記キュー情報を格納する、これにより、キュー情報テーブルのエントリ順とキューへのフレーム蓄積順は一致する。
【０１５２】
また、キュー情報記憶部１７は、キューから上りフレームが取り出されるのに合わせて（上りバッファ部１５から入力された上りフレーム出力信号に基づいて）、前記ボトムエントリを前記取り出されたフレームに対応するキュー情報が格納されていたエントリの１つ上のエントリに移動する。これにより、キュー情報テーブルのボトムエントリが、上りバッファ部１５のキューのボトム（出口に最も近い）位置にあるフレームに対応する。
また、キュー情報記憶部１７は、前記取り出されたフレームに対応するキュー情報、すなわち、移動後のボトムエントリの１つ下のエントリに格納されていたキュー情報を、送信要求量探索部１９に出力する。
【０１５３】
送信要求量探索部１９は、ＰＯＮ受信部１３から送信開始時刻と送信許可量を入力し、前記送信開始時刻より前の時点で、１つのグラントに割り当てて光端局装置に送信するデータ量（送信量）が前記送信許可量以下で最大となるフレーム境界を、キュー情報テーブルを参照することによって取得する。前記の送信量探索の結果として、前記フレーム境界にあるフレーム（送信許可量境界フレーム）を特定する情報（送信許可量境界フレームＩＤ、例えば送信許可量境界フレームに対応するキュー情報テーブルのエントリ番号）を上りバッファ部１５に出力する。なお、キューに蓄積された全フレームが前記送信量探索の探索範囲であり、前記キューのボトムに対応するフレームから前記送信許可量境界フレームまでの各フレームのフレーム長の合計であるデータ量が送信量となる。
【０１５４】
次に、送信要求量探索部１９は、データ量閾値生成部１８が出力したデータ量閾値と、当該データ量閾値位置にあるフレーム（データ量閾値境界フレーム）を特定する情報を入力し、キューに蓄積されているフレームのうち、前記送信許可量境界フレームより１つ後のフレームから前記データ量閾値境界フレームまでの各フレームのフレーム長の合計であるデータ量を、送信要求量としてレポート生成部２０に出力する。
【０１５５】
送信要求量探索部１９における送信要求量探索のタイミングは、ＰＯＮ受信部１３から入力した上り送信の送信開始時刻に基づく。ここで、前記送信開始時刻に達した後に、ＰＯＮ送信部１４から、前記探索によって得られた送信要求量の情報を含むレポートフレームが送信可能となるよう、前記探索のタイミングが決められる。具体的には、前記送信開始時刻よりも、探索とレポートフレームの生成・送信に要する時間以上となる所定の時間だけ前に前記探索は開始される。
【０１５６】
上記の送信量探索において、キュー情報テーブルのボトムエントリから上のエントリに向かって順に、ボトムエントリからそのエントリのフレームまでのデータ量が、データ量閾値以下であるか否かを判定し、前記データ量閾値を超えた初めてのエントリのフレームを見つけ、前記フレームまで、あるいはそのフレームの１つ下のエントリのフレームまでが、見つけるべきフレーム境界となる。前記は線形探索法を採用した動作であるが、キュー情報として累積データ量を採用する例では、フレーム毎に、キュー情報テーブルのボトムエントリからそのフレームのエントリまでに格納されたキュー情報に基づいてデータ量を算出する必要はなく、前記フレームに対応するキュー情報テーブルのエントリに格納された累積データ量から前述の基準累積データ量を差し引いた値が、求めるべきデータ量となるため、ボトムエントリから順に探索する線形探索ではなく、二分探索法を採用することが可能であり、エントリ数が大きい場合の処理量（キュー情報テーブルからのエントリ読み出し回数など）を削減することが可能である。
【０１５７】
なお、送信要求量探索部１９は、探索中にキューにフレームが蓄積され、探索動作に問題が生じることのないよう、探索開始時点での、キュー情報テーブルのトップエントリ位置を保持しておき、探索中は、最新のトップエントリ位置ではなく、前記探索開始時点で保持したトップエントリ位置を使用する。
【０１５８】
データ量閾値生成部１８は、ＬＡＮ受信部１１からキューに蓄積されるフレームのフレーム長を入力し、キュー情報記憶部１７が保持するキュー情報テーブルを参照することで、データ量閾値位置にあるフレーム（データ量閾値境界フレーム）を探索し、前記フレームを特定する情報（データ量閾値境界フレームＩＤ、例えばデータ量閾値境界フレームに対応するキュー情報テーブルのエントリ番号Ｅｄ）を生成し、トークンバケツに蓄積されているトークン量Ｓに相当するデータ量からなるデータ量閾値とともに、送信要求量探索部１９に出力する。
【０１５９】
図９は、第４の実施の形態にかかるデータ量閾値生成部の動作を示すフローチャートである。図１０は、第４の実施の形態にかかるデータ量閾値生成部のデータ量閾値境界フレーム探索処理を示すフローチャートである。
図９において、ステップ４００−５０４は、図２のステップ１００−１０４と同様であり、ここでの説明は省略する。
【０１６０】
データ量閾値生成部１８は、キュー情報記憶部１７からのフレーム長Ｌｏに代えて、ＬＡＮ受信部１１で得られた、キューに蓄積されるフレームのフレーム長Ｌｉｎの入力有無を確認し（ステップ４０５）、入力がなければ後述するステップ４０９へ移行し（ステップ４０５：ＮＯ）、入力があった場合（ステップ４０５：ＹＥＳ）、キュー情報テーブルのトップエントリのエントリ番号Ｅｔに１を加算して、トップエントリを１つ上に移動し（ステップ４０６）、エントリ番号Ｅｔがキュー情報テーブルのエントリ数Ｅｍａｘを超えたときには（ステップ４０７：ＹＥＳ）、エントリ番号Ｅｔを最小値である１に戻し（ステップ４０８）、後述するステップ４０９へ移行する。また、エントリ番号Ｅｔがキュー情報テーブルのエントリ数Ｅｍａｘを超えないときには（ステップ４０７：ＮＯ）、後述するステップ４０９へ移行する。
【０１６１】
続いて、データ量閾値生成部１８は、トークンバケツに蓄積されているトークン量Ｓで特定されるデータ量閾値と対応する位置にあるフレーム（データ量閾値境界フレーム）の次に蓄積された次蓄積フレームについて、当該次蓄積フレーム対応するキュー情報テーブルのエントリ番号Ｅｎがゼロかどうか確認する（ステップ４０９）。ここで、エントリ番号Ｅｎがゼロではなく、次蓄積フレームが存在する場合には（ステップ４０９：ＹＥＳ）、図１０のデータ量閾値境界フレーム探索処理を実行し（ステップ４１０）、後述するステップ４１１へ移行する。また、エントリ番号Ｅｎがゼロであり、次蓄積フレームが存在しない場合には（ステップ４０９：ＮＯ）、後述するステップ４１１へ移行する。
【０１６２】
図１０のデータ量閾値境界フレーム探索処理において、データ量閾値生成部１８は、まず、トークン量Ｓと次蓄積フレームのフレーム長に相当するトークン量Ｌｎとを比較する（ステップ４２０）。ここで、Ｓ＜Ｌｎであり、トークンバケツに次蓄積フレーム分のトークンが貯まっていない場合には（ステップ４２０：ＮＯ）、一連のデータ量閾値境界フレーム探索処理を終了する。
一方、Ｓ≧Ｌｎであり、トークンバケツに次蓄積フレーム分のトークンが貯まっている場合（ステップ４２０：ＹＥＳ）、トークンバケツから次蓄積フレーム分のトークンを減算することにより、ＳからＬｎを差し引きした値を新たなＳとするとともに、データ量閾値境界フレームＥｄを次蓄積フレームＥｎに更新する（ステップ４２１）。
【０１６３】
次に、データ量閾値生成部１８は、次蓄積フレームのエントリ番号Ｅｎと、キュー情報テーブルのトップエントリのエントリ番号Ｅｔとを比較し（ステップ４２２）、ＥｎがＥｔと等しくなく、次蓄積フレームがキュー情報テーブルのトップエントリのフレームでない場合（ステップ４２２：ＮＯ）、次蓄積フレームのエントリ番号Ｅｎをゼロとすることにより、次蓄積フレームのエントリなしと設定し（ステップ４２３）、一連のデータ量閾値境界フレーム探索処理を終了する。
【０１６４】
一方、ＥｎがＥｔと等しく、次蓄積フレームがキュー情報テーブルのトップエントリのフレームである場合（ステップ４２２：ＹＥＳ）、データ量閾値生成部１８は、次蓄積フレームのエントリ番号Ｅｎに１を加算して、次蓄積フレームのエントリを１つ上に移動する（ステップ４２４）。
【０１６５】
次に、データ量閾値生成部１８は、次蓄積フレームのエントリ番号Ｅｎと、キュー情報テーブルのエントリ数Ｅｍａｘとを比較し（ステップ４２５）、Ｅｎ＞Ｅｍａｘの場合には（ステップ４２５：ＹＥＳ）、エントリ番号Ｅｎを１に戻し（ステップ４２６）、後述するステップ４２７へ移行する。また、Ｅｎ≦Ｅｍａｘの場合には（ステップ４２５：ＮＯ）、後述するステップ４２７へ移行する。
続いて、データ量閾値生成部１８は、次蓄積フレームのエントリ番号Ｅｎに基づきキュー情報テーブルから、次蓄積フレームのフレーム長を取得してＬｎを更新し（ステップ４２７）、一連のデータ量閾値境界フレーム探索処理を終了する。
【０１６６】
この後、図９において、データ量閾値生成部１８は、次のクロックサイクルの到来まで待機し（ステップ４１１）、その到来に応じてステップ４０１へ移行する。
データ量閾値生成部１８は、このようにして、ＬＡＮ受信部１１からキューに蓄積されるフレームのフレーム長が入力されるごとに、データ量閾値境界フレームＥｄを探索し、トークンバケツに蓄積されているトークン量Ｓに相当するデータ量からなるデータ量閾値とともに、送信要求量探索部１９に出力する。
【０１６７】
［第４の実施の形態の効果］
このように、本実施の形態は、データ量閾値生成部１８が、前記キューに蓄積されている前記フレームのうち、前記データ量閾値と対応する前記データ量閾値境界フレームの次に蓄積されている次蓄積フレームについて、トークンバケツに当該次蓄積フレームのデータ量に相当する量のトークン以上のトークンが蓄積されている場合、当該次蓄積フレームのデータ量に相当する量のトークンを前記トークンバケツのトークンから減算するとともに、当該次蓄積フレームを前記データ量閾値境界フレームとして特定し、前記トークンバケツに蓄積されているトークンの量に相当するデータ量からなる前記データ量閾値を生成し、前記送信要求量探索部１９が、前記キューに蓄積されている先頭のフレームから、前記データ量閾値生成部１８で特定された前記データ量閾値境界フレームまでのデータ量を示す送信量から、前記キューに蓄積されている先頭のフレームから当該データ量閾値境界フレームまでのデータ量を差し引いたデータ量を前記送信要求量として特定し、前記上りバッファ部１５が、前記送信許可量の通知に代えて、前記送信要求量探索部１９での前記送信許可量境界フレームの特定に応じて、前記キューから前記送信許可量分だけ、前記光端局装置に送出するフレームの取り出しを開始するようにしたものである。
【０１６８】
第３の実施の形態によれば、送信要求量を記載したレポートフレームを送信するタイミングより所定の時間Ｔｒ（レポートフレーム生成・送出に要する時間＋送信要求量探索に要する時間Ｔｓ）以上前のタイミングで、送信要求量探索部１９は、送信要求量探索を開始する必要がある。前記探索では、送信量に相当するフレームを除くキューに蓄積されたフレームを探索範囲として、データ量閾値以下で最大となるフレーム境界位置にあるデータ量閾値境界フレームを見つけるため、前記探索に要する時間Ｔｓは、前記探索範囲が大きくなると長くなる傾向があり、正しい送信要求量を記載したレポートフレームを送信するためには、時間Ｔｒを探索範囲が大きくなっても問題のないよう十分に大きい値とする必要があった。前記探索以後にキューに蓄積されるフレームは、次のグラントではなく、さらにその次のグラントの期間となるまで光加入者装置１０から送出されないので、前記時間Ｔｒを大きくすることで、上りフレームが光加入者装置１０に入力されてから送出されるまでの平均的な時間（レイテンシ）が大きくなり、ＴＶ電話会議のようなリアルタイム性を要求するサービスの品質が劣化するという問題があった。
【０１６９】
これに対して、本実施の形態によれば、データ量閾値生成部１８が、レポートフレームを送信するタイミングとは無関係に、データ量閾値境界フレームを更新し、この際、前記更新では、旧データ量閾値境界フレームの１つ後にキューに蓄積された次蓄積フレームについて、そのフレーム長とトークンバケツのトークン量との比較で判定するため、キュー情報テーブルの広範囲での探索は不要となる。したがって、第３の実施の形態のように、送信要求量探索に要する時間によって、レイテンシが増大するという問題は発生しない。
【０１７０】
［実施の形態の拡張］
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
【符号の説明】
【０１７１】
１０…光加入者装置、１１…ＬＡＮ受信部、１２…ＬＡＮ送信部、１３…ＰＯＮ受信部、１４…ＰＯＮ送信部、１５…上りバッファ部、１６…キュー情報生成部、１７…キュー情報記憶部、１８…データ量閾値生成部、１９…送信要求量探索部、２０…レポート生成部。
【図１】
0005894009.tif 000002
【図２】
0005894009.tif 000003
【図３】
0005894009.tif 000004
【図４】
0005894009.tif 000005
【図５】
0005894009.tif 000006
【図６】
0005894009.tif 000007
【図７】
0005894009.tif 000008
【図８】
0005894009.tif 000009
【図９】
0005894009.tif 000010
【図１０】
0005894009.tif 000011
【図１１】
0005894009.tif 000012