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