(57)【要約】【課題】データ送信単位が定められた通信システムにおいて、通信効率を低下させることなく優先順位の異なる複数のパケットを送信することが可能な通信装置、通信システムおよび通信方法を提供する。【解決手段】通信装置１０２は、優先順位の異なる複数のパケットを送信するために必要なデータ長を所定データ長の送信単位で他の装置１０１に通知するためのレポートを生成する制御部２３を備える。制御部２３は、複数のパケットのうち、第１のパケットを送信するために必要な数の送信単位を第１のパケットに割り当てた残りのデータ長を、複数のパケットのうち、第１のパケットより低い優先順位を有する第２のパケットに割り当て、第２のパケットのうち、未割り当てのデータを送信するために必要な送信単位の数を、第２のパケットを送信するために必要な送信単位の数としてレポートを生成する。【選択図】図３
2010232805.tif 000002
【特許請求の範囲】
【請求項１】
受信または生成した優先順位の異なる複数のパケットを他の装置へ送信する通信装置であって、
前記複数のパケットを送信するために必要なデータ長を所定データ長の送信単位で前記他の装置に通知するためのレポートを生成する制御部と、
前記レポートを前記他の装置へ送信する送信部とを備え、
前記制御部は、前記複数のパケットのうち、第１のパケットを送信するために必要な数の前記送信単位を前記第１のパケットに割り当てた残りのデータ長を、前記複数のパケットのうち、前記第１のパケットより低い優先順位を有する第２のパケットに割り当て、前記第２のパケットのうち、未割り当てのデータを送信するために必要な前記送信単位の数を、前記第２のパケットを送信するために必要な前記送信単位の数として前記レポートを生成する通信装置。
【請求項２】
受信または生成した優先順位の異なる複数のパケットを他の装置へ送信する通信装置であって、
前記複数のパケットを含み、かつ所定データ長の送信単位の送信データを生成する制御部と、
前記送信データを前記他の装置へ送信する送信部とを備え、
前記制御部は、前記複数のパケットのうち、第１のパケットを送信するために必要な数の前記送信単位を前記第１のパケットに割り当てた残りのデータ長を、前記複数のパケットのうち、前記第１のパケットより低い優先順位を有する第２のパケットに割り当て、前記第２のパケットのうち、未割り当てのデータを送信するために必要な前記送信単位の数を、前記第２のパケットを送信するために必要な前記送信単位の数として前記送信データを生成する通信装置。
【請求項３】
局側装置と、
各々が、受信または生成した優先順位の異なる複数のパケットを共通の伝送路を通して前記局側装置へ送信する複数の宅側装置とを備え、
前記局側装置は、前記伝送路を通して所定期間において送信可能なデータ長を各前記宅側装置に分け与える通信システムであって、
前記宅側装置は、
前記複数のパケットを送信するために必要なデータ長を所定データ長の送信単位で前記局側装置に通知するためのレポートを生成する制御部と、
前記レポートを前記局側装置へ送信する送信部とを含み、
前記制御部は、前記複数のパケットのうち、第１のパケットを送信するために必要な数の前記送信単位を前記第１のパケットに割り当てた残りのデータ長を、前記複数のパケットのうち、前記第１のパケットより低い優先順位を有する第２のパケットに割り当て、前記第２のパケットのうち、未割り当てのデータを送信するために必要な前記送信単位の数を、前記第２のパケットを送信するために必要な前記送信単位の数として前記レポートを生成する通信システム。
【請求項４】
局側装置と、
各々が、受信または生成した優先順位の異なる複数のパケットを共通の伝送路を通して前記局側装置へ送信する複数の宅側装置とを備え、
前記局側装置は、前記伝送路を通して所定期間において送信可能なデータ長を各前記宅側装置に分け与える通信システムであって、
前記宅側装置は、
前記複数のパケットを含み、かつ所定データ長の送信単位の送信データを生成する制御部と、
前記送信データを前記局側装置へ送信する送信部とを含み、
前記制御部は、前記複数のパケットのうち、第１のパケットを送信するために必要な数の前記送信単位を前記第１のパケットに割り当てた残りのデータ長を、前記複数のパケットのうち、前記第１のパケットより低い優先順位を有する第２のパケットに割り当て、前記第２のパケットのうち、未割り当てのデータを送信するために必要な前記送信単位の数を、前記第２のパケットを送信するために必要な前記送信単位の数として前記送信データを生成する通信システム。
【請求項５】
受信または生成した優先順位の異なる複数のパケットを他の装置へ送信する通信装置における通信方法であって、
前記複数のパケットを送信するために必要なデータ長を所定データ長の送信単位で前記他の装置に通知するためのレポートを生成するステップと、
前記レポートを前記他の装置へ送信するステップとを含み、
前記レポートを生成するステップにおいては、前記複数のパケットのうち、第１のパケットを送信するために必要な数の前記送信単位を前記第１のパケットに割り当てた残りのデータ長を、前記複数のパケットのうち、前記第１のパケットより低い優先順位を有する第２のパケットに割り当て、前記第２のパケットのうち、未割り当てのデータを送信するために必要な前記送信単位の数を、前記第２のパケットを送信するために必要な前記送信単位の数として前記レポートを生成する通信方法。
【請求項６】
受信または生成した優先順位の異なる複数のパケットを他の装置へ送信する通信装置における通信方法であって、
前記複数のパケットを含み、かつ所定データ長の送信単位の送信データを生成するステップと、
前記送信データを前記他の装置へ送信するステップとを含み、
前記送信データを生成するステップにおいては、前記複数のパケットのうち、第１のパケットを送信するために必要な数の前記送信単位を前記第１のパケットに割り当てた残りのデータ長を、前記複数のパケットのうち、前記第１のパケットより低い優先順位を有する第２のパケットに割り当て、前記第２のパケットのうち、未割り当てのデータを送信するために必要な前記送信単位の数を、前記第２のパケットを送信するために必要な前記送信単位の数として前記送信データを生成する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の宅側装置が媒体を共有してデータの伝送を行なう媒体共有型通信であるＰＯＮ（Passive Optical Network）のうち、宅側装置から局側装置へのデータ送信単位が定められているＰＯＮにおける通信装置、通信システムおよび通信方法に関する。
【背景技術】
【０００２】
光ファイバを用いた公衆回線網において１ギガビット／秒の通信速度を実現し、かつデータをイーサネット（登録商標）フレームのままで伝送するＧＥ−ＰＯＮ（Giga Bit Ethernet(登録商標) Passive Optical Network）が開発されている。
【０００３】
たとえば、特許文献１には、以下のような光加入者線終端装置が開示されている。すなわち、光加入者線端局装置からのグラントに応じてレポートを送信する光加入者線終端装置であって、光加入者線端局装置からのデータおよびグラントを受信するための第１の受信手段と、第１の受信手段によって受信されたデータを下位ネットワークに送信するための第１の送信手段と、第１の受信手段によって受信されたグラントに含まれる最大送信許可量以下で、かつ最大となる送信要求量を決定するための決定手段と、決定手段によって決定された送信要求量を含んだレポートを生成するための生成手段と、下位ネットワークからデータを受信するための第２の受信手段と、第２の受信手段によって受信されたデータおよび生成手段によって生成されたレポートを記憶するための記憶手段と、記憶手段によって記憶されたデータおよびレポートを光加入者線端局装置に送信するための第２の送信手段とを含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１９４２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、現在、ＧＥ−ＰＯＮに対して、さらに高速な１０ギガビット／秒の通信速度を実現する１０ギガビットイーサネット（登録商標）ＰＯＮ規格（以下、１０ＧＥ−ＰＯＮとも称する。）の制定が進められている。この規格では、ＯＮＵ（光加入者線終端装置：Optical Network Unit）からＯＬＴ（Optical Line Terminal）への上り方向の送信要求量の単位すなわちデータ送信単位が２バイトであるＧＥ−ＰＯＮとは異なり、宅側装置から局側装置への送信要求量の単位が２０バイトに規定されている。
【０００６】
ＧＥ−ＰＯＮおよび１０ＧＥ−ＰＯＮでは、ＯＬＴは、ＯＮＵからＯＬＴへデータを送信するための期間すなわち上り帯域を各ＯＮＵに分配する。ここで、ＯＮＵからＯＬＴへ優先順位の異なる複数のパケットを送信する場合、この優先順位に従ってＯＬＴから上り帯域を割り当ててもらうために、ＯＮＵはＯＬＴに対してパケットごとに送信要求を行なう必要がある。そうすると、特に、１０ＧＥ−ＰＯＮでは、パケットのデータ長がたとえば２１バイトの場合には、４０バイトの送信要求を行なう必要があることから、ＰＯＮシステムにおいて上り帯域が大幅に浪費されてしまう。
【０００７】
しかしながら、特許文献１には、このような問題点を解決するための構成は開示されていない。
【０００８】
それゆえに、本発明の目的は、データ送信単位が定められた通信システムにおいて、通信効率を低下させることなく優先順位の異なる複数のパケットを送信することが可能な通信装置、通信システムおよび通信方法を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、この発明のある局面に係わる通信装置は、受信または生成した優先順位の異なる複数のパケットを他の装置へ送信する通信装置であって、上記複数のパケットを送信するために必要なデータ長を所定データ長の送信単位で上記他の装置に通知するためのレポートを生成する制御部と、上記レポートを上記他の装置へ送信する送信部とを備え、上記制御部は、上記複数のパケットのうち、第１のパケットを送信するために必要な数の上記送信単位を上記第１のパケットに割り当てた残りのデータ長を、上記複数のパケットのうち、上記第１のパケットより低い優先順位を有する第２のパケットに割り当て、上記第２のパケットのうち、未割り当てのデータを送信するために必要な上記送信単位の数を、上記第２のパケットを送信するために必要な上記送信単位の数として上記レポートを生成する。
【００１０】
またこの発明の別の局面に係わる通信装置は、受信または生成した優先順位の異なる複数のパケットを他の装置へ送信する通信装置であって、上記複数のパケットを含み、かつ所定データ長の送信単位の送信データを生成する制御部と、上記送信データを上記他の装置へ送信する送信部とを備え、上記制御部は、上記複数のパケットのうち、第１のパケットを送信するために必要な数の上記送信単位を上記第１のパケットに割り当てた残りのデータ長を、上記複数のパケットのうち、上記第１のパケットより低い優先順位を有する第２のパケットに割り当て、上記第２のパケットのうち、未割り当てのデータを送信するために必要な上記送信単位の数を、上記第２のパケットを送信するために必要な上記送信単位の数として上記送信データを生成する。
【００１１】
上記課題を解決するために、この発明のある局面に係わる通信システムは、局側装置と、各々が、受信または生成した優先順位の異なる複数のパケットを共通の伝送路を通して上記局側装置へ送信する複数の宅側装置とを備え、上記局側装置は、上記伝送路を通して所定期間において送信可能なデータ長を各上記宅側装置に分け与える通信システムであって、上記宅側装置は、上記複数のパケットを送信するために必要なデータ長を所定データ長の送信単位で上記局側装置に通知するためのレポートを生成する制御部と、上記レポートを上記局側装置へ送信する送信部とを含み、上記制御部は、上記複数のパケットのうち、第１のパケットを送信するために必要な数の上記送信単位を上記第１のパケットに割り当てた残りのデータ長を、上記複数のパケットのうち、上記第１のパケットより低い優先順位を有する第２のパケットに割り当て、上記第２のパケットのうち、未割り当てのデータを送信するために必要な上記送信単位の数を、上記第２のパケットを送信するために必要な上記送信単位の数として上記レポートを生成する。
【００１２】
またこの発明の別の局面に係わる通信システムは、局側装置と、各々が、受信または生成した優先順位の異なる複数のパケットを共通の伝送路を通して上記局側装置へ送信する複数の宅側装置とを備え、上記局側装置は、上記伝送路を通して所定期間において送信可能なデータ長を各上記宅側装置に分け与える通信システムであって、上記宅側装置は、上記複数のパケットを含み、かつ所定データ長の送信単位の送信データを生成する制御部と、上記送信データを上記局側装置へ送信する送信部とを含み、上記制御部は、上記複数のパケットのうち、第１のパケットを送信するために必要な数の上記送信単位を上記第１のパケットに割り当てた残りのデータ長を、上記複数のパケットのうち、上記第１のパケットより低い優先順位を有する第２のパケットに割り当て、上記第２のパケットのうち、未割り当てのデータを送信するために必要な上記送信単位の数を、上記第２のパケットを送信するために必要な上記送信単位の数として上記送信データを生成する。
【００１３】
上記課題を解決するために、この発明のある局面に係わる通信方法は、受信または生成した優先順位の異なる複数のパケットを他の装置へ送信する通信装置における通信方法であって、上記複数のパケットを送信するために必要なデータ長を所定データ長の送信単位で上記他の装置に通知するためのレポートを生成するステップと、上記レポートを上記他の装置へ送信するステップとを含み、上記レポートを生成するステップにおいては、上記複数のパケットのうち、第１のパケットを送信するために必要な数の上記送信単位を上記第１のパケットに割り当てた残りのデータ長を、上記複数のパケットのうち、上記第１のパケットより低い優先順位を有する第２のパケットに割り当て、上記第２のパケットのうち、未割り当てのデータを送信するために必要な上記送信単位の数を、上記第２のパケットを送信するために必要な上記送信単位の数として上記レポートを生成する。
【００１４】
またこの発明の別の局面に係わる通信方法は、受信または生成した優先順位の異なる複数のパケットを他の装置へ送信する通信装置における通信方法であって、上記複数のパケットを含み、かつ所定データ長の送信単位の送信データを生成するステップと、上記送信データを上記他の装置へ送信するステップとを含み、上記送信データを生成するステップにおいては、上記複数のパケットのうち、第１のパケットを送信するために必要な数の上記送信単位を上記第１のパケットに割り当てた残りのデータ長を、上記複数のパケットのうち、上記第１のパケットより低い優先順位を有する第２のパケットに割り当て、上記第２のパケットのうち、未割り当てのデータを送信するために必要な上記送信単位の数を、上記第２のパケットを送信するために必要な上記送信単位の数として上記送信データを生成する。
【発明の効果】
【００１５】
本発明によれば、データ送信単位が定められた通信システムにおいて、通信効率を低下させることなく優先順位の異なる複数のパケットを送信することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係るＰＯＮシステムの概略構成を示すブロック図である。
【図２】本発明の実施の形態に係るＰＯＮシステムの動作手順を説明するためのシーケンス図である。
【図３】本発明の実施の形態に係るＯＮＵの概略構成を示すブロック図である。
【図４】ＯＮＵがレポートフレームおよびデータフレームをＯＬＴへ送信する際の動作手順を定めたフローチャートである。
【図５】複数のキューを扱う場合における図４に示すフローチャートのステップＳ２２およびＳ２９の詳細な動作手順を定めたフローチャートである。
【図６】従来のＯＮＵが複数のキューを跨いでデータ送信を行なう具体例を示す図である。
【図７】本発明の実施の形態に係るＯＮＵが複数のキューを跨いでデータ送信を行なう具体例を示す図である。
【図８】複数のキューを扱う場合における図４に示すフローチャートのステップＳ２７の詳細な動作手順を定めたフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００１８】
図１は、本発明の実施の形態に係るＰＯＮシステムの概略構成を示すブロック図である。
【００１９】
図１を参照して、ＰＯＮシステム３０１は、主に電話局などに設置されるＯＬＴ１０１と、主に各宅内に設置される複数のＯＮＵ１０２−１〜１０２−ｎと、ＯＬＴ１０１から送信される光信号を分岐してＯＮＵ１０２−１〜１０２−ｎに送信し、ＯＮＵ１０２−１〜１０２−ｎから送信される光信号を集束してＯＬＴ１０１に送信するスプリッタ１０５と、ＯＮＵ１０２−１〜１０２−ｎのそれぞれに接続される複数のユーザ端末１１１とを備える。なお、ＯＮＵ１０２−１〜ＯＮＵ１０２−ｎは、それぞれ同じ構成を有している。
【００２０】
ＯＬＴ１０１は、上位ネットワーク１０９を介して受信したデータを、光伝送路１０４およびスプリッタ１０５を介してＯＮＵ１０２−１〜１０２−ｎに送信する。また、ＯＬＴ１０１は、ＯＮＵ１０２−１〜１０２−ｎから送信されたレポート１０７に基づいて、ＯＮＵ１０２−１〜１０２−ｎ内のバッファ１０３−１〜１０３−ｎに蓄積されているデータの送信開始時刻および送信許可量を演算し、指示信号を挿入したグラント１０６を光伝送路１０４およびスプリッタ１０５を介してＯＮＵ１０２−１〜１０２−ｎに送信する。
【００２１】
たとえば、ＯＮＵ１０２−１が下位ネットワーク１１０を介してユーザ端末１１１から上り情報フレーム１０８を受信すると、この上り情報フレーム１０８を一旦バッファ１０３−１に蓄積する。ＯＮＵ１０２−１は、ＯＬＴ１０１からグラント１０６を受信すると、そのグラント１０６によって指定された時刻にバッファ１０３−１内のデータの長さをレポート１０７でＯＬＴ１０１に通知する。なお、上り情報フレーム１０８は、可変長のパケットである。
【００２２】
ＯＮＵ１０２−１は、指示信号が挿入されたグラント１０６をＯＬＴ１０１から受信すると、その指示信号に基づいてバッファ１０３−１内のデータをレポート１０７とともにＯＬＴ１０１に送信する。
【００２３】
図２は、本発明の実施の形態に係るＰＯＮシステムの動作手順を説明するためのシーケンス図である。なお、このシーケンス図は、ＯＬＴ１０１と、ＯＮＵ１０２−１と、ユーザ端末１１１との動作について代表的に示しているが、他のＯＮＵ１０２−２〜１０２−ｎの動作についても同様である。
【００２４】
図２を参照して、運用時間開始時刻Ｔ０において、ＯＬＴ１０１は、ＯＮＵ１０２−１〜１０２−ｎに関するＲＴＴ（Round Trip Time）を既に計算している。
【００２５】
時刻Ｔｂ０において、ＯＮＵ１０２−１は、ユーザ端末１１１から上り情報フレーム１０８を受信すると、この上り情報フレーム１０８を一旦バッファ１０３−１に蓄積する。また、ＯＮＵ１０２−１は、後述するコードベクタテーブルを作成する。
【００２６】
時刻Ｔａ１において、ＯＬＴ１０１は、送信要求量を通知させるために、ＯＮＵ１０２−１に対してレポート送信開始時刻Ｔｂ２を含んだグラント１２１を送信する。このレポート送信開始時刻Ｔｂ２は、他のＯＮＵから送信されるレポートと衝突しないように計算される。
【００２７】
ＯＮＵ１０２−１は、自身に対するグラント１２１を受信すると、コードベクタテーブルを参照することによりバッファ１０３−１に蓄積されたデータの長さを得て送信要求量を算出し、グラント１２１に含まれるレポート送信開始時刻Ｔｂ２に、ＯＬＴ１０１に対して送信要求量を含んだレポート１２２を送信する。
【００２８】
ＯＬＴ１０１は、レポート１２２を受信すると、固定または可変の最大送信許可量以下となり、かつレポート１２２に含まれる送信要求量になるべく近い値を送信許可量としてグラント１２３に挿入する。レポート１２２に含まれる送信要求量がゼロの場合には、ＯＬＴ１０１による演算結果がゼロとなるため帯域が割り当てられない。しかしながら、ＯＮＵ１０２−１にレポートを送信させる必要があるので、ＯＬＴ１０１はＯＮＵ１０２−１に対して必ずグラント１２３を送信する。
【００２９】
グラント１２３に含まれる送信開始時刻Ｔｂ４は、演算済みである前回のＯＮＵデータの受信予定時刻、前回のＯＮＵの送信許可量、現在のＯＮＵに対応するＲＴＴおよび固定時間であるガードタイムを用い、データおよびレポートが他のＯＮＵからのデータまたはレポートと衝突しないように計算される。なお、ＯＬＴ１０１は、送信許可量および送信開始時刻Ｔｂ４を含むグラント１２３を送信する時刻Ｔａ３を、グラント１２３が送信開始時刻Ｔｂ４までにＯＮＵ１０２−１に到着するように計算する。
【００３０】
ＯＮＵ１０２−１は、自身に対するグラント１２３を受信すると、グラント１２３に含まれる送信開始時刻Ｔｂ４に、送信許可量分のデータ１２４を、次回の送信要求量を含んだレポート１２４とともにＯＬＴ１０１に送信する。このレポートはデータの直前または直後に送信されるが、データの直前に送信される場合には、送信要求量としてＯＬＴ１０１に報告する値は、バッファ１０３−１に蓄積されているデータの長さとデータ１２４のデータ長との差分である。
【００３１】
ここで、ＯＮＵ１０２−１は、データ１２４に対応する情報をコードベクタテーブルから消去する。
【００３２】
ＯＬＴ１０１はデータおよびレポート１２４を受信すると、データを上位ネットワーク１０９に送信し、レポートについてはレポート１２２に対する処理と同様の処理を行なう。以上説明した処理は、すべてのＯＮＵ１０２−１〜１０２−ｎに対して独立に行なわれ、運用時間が終了するまで時刻Ｔａ３〜時刻Ｔａ４の処理が繰り返される。
【００３３】
なお、ＯＬＴ１０１は、ＯＮＵ１０２−１〜１０２−ｎが上りフレームを送信できる帯域すなわち上り通信期間を設け、この上り通信期間を各ＯＮＵに分け与える帯域割り当て処理を行なう。換言すれば、ＯＬＴ１０１は、光伝送路１０４を通して所定期間において送信可能なデータ長をＯＮＵ１０２−１〜１０２−ｎに分け与える。ＯＬＴ１０１は、レポート１２２を受信して送信許可量を算出するとき、各ＯＮＵからのレポートが示す送信要求量の合計を算出し、その合計が上り通信期間以下である場合には、各ＯＮＵの送信要求量どおりに各ＯＮＵに帯域を割り当てる。一方、ＯＬＴ１０１は、算出した合計が上り通信期間を超えている場合には、ＯＮＵのバッファに含まれる複数のキューの優先順位に基づいて各ＯＮＵが送信を希望している各キューのフレームを取捨選択し、各ＯＮＵに帯域を割り当てる。
【００３４】
図３は、本発明の実施の形態に係るＯＮＵの概略構成を示すブロック図である。
図３を参照して、ＯＮＵ１０２は、受信部２１と、送信部２２と、制御フレーム処理部（制御部）２３と、受信部２４と、バッファメモリ２５と、送信部２６と、カウンタ２７と、バッファメモリ２８とを含む。
【００３５】
受信部２１は、ＯＬＴからの光信号を受信してデータフレームおよびグラントフレームを出力する。バッファメモリ２８は、受信部２１から受けたデータフレームを蓄積する。送信部２２は、バッファメモリ２８に蓄積されたデータフレームをユーザ側の端末に送信する。制御フレーム処理部２３は、受信部２１から受けたグラントフレームに基づいてレポートフレームを生成し、また、ユーザ側の端末から受信したデータフレームの送信制御を行なう。
【００３６】
受信部２４は、ユーザ側の端末からの上り情報フレームを受信する。バッファメモリ２５は、受信部２４によって受信された上り情報フレームすなわちデータフレームと、制御フレーム処理部２３によって生成された制御フレームとを蓄積する。送信部２６は、制御フレーム処理部２３の制御に基づいて、バッファメモリ２５に蓄積されたフレームをＯＬＴに送信する。カウンタ２７は、受信部２４によって受信された各データフレームの長さをカウントする。
【００３７】
受信部２１は、ＯＬＴからの光信号を受信し、フレームのヘッダ部分を読み取ることによって当該フレームが自身宛てであるか否かを判定する。受信部２１は、受信したフレームが自身宛てであれば当該フレームを取り込み、他のＯＮＵ宛てまたは他のＯＮＵに接続される装置宛てであれば当該フレームを廃棄する。また、受信部２１は、取り込んだフレームのヘッダ部分によってデータフレームであるか、グラントフレームなどの制御フレームであるかを判定する。受信したフレームがデータフレームであれば、受信部２１は当該データフレームをバッファメモリ２８経由で送信部２２に転送する。また、受信したフレームが制御フレームであれば、受信部２１はこの制御フレームを制御フレーム処理部２３に転送する。
【００３８】
送信部２２は、受信部２１からデータフレームを受けると、このデータフレームをユーザ側の端末等が接続されるリンクへ送信する。
【００３９】
制御フレーム処理部２３は、カウンタ２７から転送されるデータフレームの長さ等を記憶するコードベクタテーブル２９を作成し、送信要求量の演算および上り制御フレームの作成を行なう。制御フレーム処理部２３は、受信部２１からグラントフレームを受けると、後述する処理によってレポートフレームを作成してバッファメモリ２５に転送する。また、制御フレーム処理部２３は、バッファメモリ２５に蓄積されているレポートフレームの送信制御も行なう。また、制御フレーム処理部２３は、ＯＬＴからのグラントフレーム以外の制御フレームの処理も実行してバッファメモリ２５に蓄積し、この制御フレームの送信制御も行なう。
【００４０】
受信部２４は、ユーザ側の端末（リンク）からのフレームを受信し、バッファメモリ２５に転送する。バッファメモリ２５は、異なる優先順位を有する複数のキューを有し、制御フレーム処理部２３および受信部２４からそれぞれ転送された制御フレームおよびデータフレームをフレーム種類毎に一旦キューに蓄積する。
【００４１】
カウンタ２７は、受信部２４によって受信されたデータフレームの長さをカウントし、各データフレームの長さを制御フレーム処理部２３に通知する。
【００４２】
制御フレーム処理部２３は、カウンタ２７から通知されたデータフレームの長さに基づいて、コードベクタテーブル２９を作成する。また、制御フレーム処理部２３は、制御フレームの長さに基づいて、コードベクタテーブル２９を作成する。
【００４３】
制御フレーム処理部２３は、バッファメモリ２５におけるキューに蓄積されたフレームを送信部２６に転送する。送信部２６は、バッファメモリ２５から転送されたフレームをＯＬＴへ送信する。
【００４４】
以下では、データフレームを送信する場合について代表的に説明を行なう。なお、制御フレームを送信する場合についても、本発明を適用することが可能である。
【００４５】
図４は、ＯＮＵがレポートフレームおよびデータフレームをＯＬＴへ送信する際の動作手順を定めたフローチャートである。
【００４６】
図４を参照して、まず、制御フレーム処理部２３は、受信部２１によって受信されたＯＬＴからのグラントフレームを受ける（Ｓ２１）。このグラントフレームは、図２において説明した送信要求量を通知させるためのグラント１２１に対応する。
【００４７】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照し、データ長が予めＯＮＵに設定されているクレジット（以下、最大レポート量とも称する）以下となるように、送信すべきデータフレームを検索し、検索したデータフレームのデータ長の総和を送信要求量とする（Ｓ２２）。
【００４８】
次に、制御フレーム処理部２３は、検索結果に基づいてコードベクタテーブルの内容を更新する。より詳細には、制御フレーム処理部２３は、ＯＬＴへ送信要求していないデータフレームを示すポインタを更新する（Ｓ２３）。
【００４９】
次に、制御フレーム処理部２３は、送信元アドレス（当該ＯＮＵのアドレス）、送信先アドレス（ＯＬＴのアドレス）および送信要求量によって構成されるレポートフレームを作成し、バッファメモリ２５に転送する（Ｓ２４）。
【００５０】
次に、制御フレーム処理部２３は、グラントフレームに含まれる送信開始時刻に、レポートフレームの送信をバッファメモリ２５および送信部２６に指示する（Ｓ２５）。
【００５１】
送信部２６は、制御フレーム処理部２３からの指示に基づいて、バッファメモリ２５から転送されたレポートフレームを送信する（Ｓ２６）。
【００５２】
次に、制御フレーム処理部２３は、受信部２１によって受信されたＯＬＴからのグラントフレームを受ける（Ｓ２６）。このグラントフレームは、図２において説明した送信許可量および送信開始時刻Ｔｂ４を含むグラント１２３に対応する。
【００５３】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照し、グラントフレームに含まれる送信許可量以下で送信可能なデータフレームを検索し、ＯＬＴへ送信すべきデータとして選択する（Ｓ２７）。
【００５４】
次に、制御フレーム処理部２３は、選択したデータフレームに基づいてコードベクタテーブルの内容を更新する。より詳細には、制御フレーム処理部２３は、送信すべきデータとして選択していないフレームを示すポインタを更新する（Ｓ２８）。
【００５５】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照し、データ長が予めＯＮＵに設定されているクレジット（以下、最大レポート量とも称する）以下となるように、送信すべきデータフレームを検索し、検索したデータフレームのデータ長の総和を送信要求量とする（Ｓ２９）。
【００５６】
次に、制御フレーム処理部２３は、検索結果に基づいてコードベクタテーブルの内容を更新する。より詳細には、制御フレーム処理部２３は、ＯＬＴへ送信要求していないデータフレームを示すポインタを更新する（Ｓ３０）。
【００５７】
次に、制御フレーム処理部２３は、送信元アドレス（当該ＯＮＵのアドレス）、送信先アドレス（ＯＬＴのアドレス）および送信要求量によって構成されるレポートフレームを作成し、バッファメモリ２５に転送する（Ｓ３１）。
【００５８】
次に、制御フレーム処理部２３は、グラントフレームに含まれる送信開始時刻に、レポートフレームならびに選択したデータフレームの送信をバッファメモリ２５および送信部２６に指示する（Ｓ３２）。
【００５９】
送信部２６は、制御フレーム処理部２３からの指示に基づいて、バッファメモリ２５から転送されたデータフレームをＯＬＴへ送信する（Ｓ３３）。
【００６０】
次に、本発明の実施の形態に係るＯＮＵが複数のキューを跨いでデータ送信を行なう際の動作について図面を用いて説明する。
【００６１】
［レポート生成］
図５は、複数のキューを扱う場合における図４に示すフローチャートのステップＳ２２およびＳ２９の詳細な動作手順を定めたフローチャートである。
【００６２】
図５を参照して、制御フレーム処理部２３は、優先度の一番高いキューを最初に選択する（Ｓ４２）。
【００６３】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照して、選択キューにおいて、ＯＬＴへレポートしていない、すなわち送信要求していない１または複数のフレームのデータ長ＱＬＥＮを算出する（Ｓ４３）。
【００６４】
そして、制御フレーム処理部２３は、データ長ＱＬＥＮから残データ長Ｌを減じた値が最大レポート量ＲＭ（ＲＭ×２０バイト）より小さい場合には（Ｓ４４でＮＯ）、選択キューにおけるフレームを送信するために必要なレポート長Ｒを、以下の式に基づいて算出する（Ｓ４７）。なお、残データ長Ｌの初期値はゼロである。
【００６５】
Ｒ（Ｑｎｕｍ）＝Ｆｕｎｃ（ＱＬＥＮ−Ｌ，２０）
但し、Ｑｎｕｍは選択キューの番号であり、Ｆｕｎｃ（ＱＬＥＮ−Ｌ，２０）は（ＱＬＥＮ−Ｌ）を２０で割って小数点以下を切り上げる演算を示す。
【００６６】
すなわち、レポート長Ｒは、２０バイトのデータ長を有する送信単位（以下、ＴＱとも称する。）の数である。
【００６７】
次に、制御フレーム処理部２３は、ＯＬＴに対して過剰に要求することになるデータ長、すなわち選択キューのフレームを送信するために必要なレポート長を選択キューのフレームに割り当てた残りのデータの長さである残データ長Ｌを以下の式に基づいて算出する（Ｓ４８）。
【００６８】
Ｌ＝Ｒ（Ｑｎｕｍ）×２０−（ＱＬＥＮ−Ｌ）
次に、制御フレーム処理部２３は、最大レポート量ＲＭを以下の式に基づいて変更する（Ｓ４９）。
【００６９】
ＲＭ＝ＲＭ−Ｒ（Ｑｎｕｍ）
次に、制御フレーム処理部２３は、今回のレポート生成において未選択のキューが存在する場合には（Ｓ４１でＹＥＳ）、未選択のキューの中で優先度の一番高いキューを選択し、ステップＳ４２以降の処理を繰り返す。
【００７０】
そして、制御フレーム処理部２３は、今回のレポート生成において未選択のキューが存在しなくなると（Ｓ４１でＮＯ）、各キューのレポート長Ｒの算出結果に基づいてコードベクタテーブルの内容を更新する（Ｓ２３またはＳ３０）。
【００７１】
また、制御フレーム処理部２３は、今回のレポート生成において未選択のキューが存在する場合であって（Ｓ４１でＹＥＳ）、データ長ＱＬＥＮから残データ長Ｌを減じた値が最大レポート量ＲＭより大きいときには（Ｓ４４でＮＯ）、選択キューの中で送信可能なフレームすなわちパケットを検索する。より詳細には、データ長の総和が（ＲＭ×２０＋Ｌ）以下となる１または複数のフレームを選択キューの中から検索する。たとえば、選択キューにおいて、先頭から数えてデータ長が（ＲＭ×２０＋Ｌ）以下の位置におけるフレームの最後尾を検索し、先頭のフレームからその最後尾を有するフレームまでを送信要求すべきフレームとして選択する（Ｓ４５）。
【００７２】
次に、制御フレーム処理部２３は、選択キューにおいて選択したフレームを送信するために必要なレポート長Ｒを、以下の式に基づいて算出し（Ｓ４６）、各キューのレポート長Ｒの算出結果に基づいてコードベクタテーブルの内容を更新する（Ｓ２３またはＳ３０）。
【００７３】
Ｒ（Ｑｎｕｍ）＝Ｆｕｎｃ（ＡＮＳ，２０）
但し、ＡＮＳは選択したフレームのデータ長の総和であり、Ｆｕｎｃ（ＡＮＳ，２０）はＡＮＳを２０で割って小数点以下を切り上げる演算を示す。
【００７４】
以上のような処理によって得られる各キューのレポート長Ｒの総和が、ＯＮＵからＯＬＴへの送信要求量となる。
【００７５】
図６は、従来のＯＮＵが複数のキューを跨いでデータ送信を行なう具体例を示す図である。
【００７６】
図６を参照して、この具体例では、優先度の高い順にキュー０（Ｑ０）、キュー１（Ｑ１）、キュー２（Ｑ２）、キュー３（Ｑ３）、キュー４（Ｑ４）が存在する場合について説明する。キュー０〜４に格納されたデータの長さはそれぞれ１０１バイト、１０２バイト、１０３バイト、１０４バイト、１０５バイトである。
【００７７】
ＧＥ−ＰＯＮおよび１０ＧＥ−ＰＯＮでは、ＯＮＵからＯＬＴへの送信要求量の単位が２バイトおよび２０バイトにそれぞれ規定されている。このため、キューに格納されたデータの長さ以上の送信要求をＯＬＴに対して行なう必要がある。そして、特許文献１記載の光加入者線終端装置等、従来の構成では、ＯＮＵからＯＬＴへ優先順位の異なる複数のキューに格納されたフレームすなわちパケットを送信する場合、この優先順位に従ってＯＬＴから上り帯域を割り当ててもらうために、ＯＮＵはＯＬＴに対してキューごとに送信要求を行なう必要がある。
【００７８】
図６に示す具体例では、キュー０〜４の格納データを送信するために、キューごとに６ＴＱ（１２０バイト）の送信要求を行なう、すなわち合計３０ＴＱ（６００バイト）の送信要求を行なう必要がある。ところが、キュー０〜４の格納データは合計で５１５バイトであるため、実際には２６ＴＱ（５２０バイト）の送信要求で十分であり、４ＴＱの無駄が生じている。
【００７９】
これに対して、本発明の実施の形態に係るＯＮＵでは、優先順位が高いキューにおいて送信要求しすぎた帯域すなわちデータ長を優先順位の低いキューに繰り越して利用する。
【００８０】
図７は、本発明の実施の形態に係るＯＮＵが複数のキューを跨いでデータ送信を行なう具体例を示す図である。
【００８１】
図７を参照して、この具体例では、図６に示す具体例と同様に、優先度の高い順にキュー０（Ｑ０）、キュー１（Ｑ１）、キュー２（Ｑ２）、キュー３（Ｑ３）、キュー４（Ｑ４）が存在する場合について説明する。キュー０〜４に格納されたデータの長さはそれぞれ１０１バイト、１０２バイト、１０３バイト、１０４バイト、１０５バイトである。まず、ＯＮＵに与えられた最大レポート量ＲＭが２６ＴＱである場合について説明する。
【００８２】
制御フレーム処理部２３は、優先度の一番高いキュー０を最初に選択する（Ｓ４２）。
次に、制御フレーム処理部２３は、コードベクタテーブルを参照して、選択したキュー０において、ＯＬＴへレポートしていない、すなわち送信要求していない１または複数のフレームのデータ長ＱＬＥＮ＝１０１バイトを算出する（Ｓ４３）。
【００８３】
次に、制御フレーム処理部２３は、データ長ＱＬＥＮ＝１０１バイトから残データ長Ｌ＝０バイトを減じた値（１０１バイト）が最大レポート量ＲＭ＝５２０バイトより小さいことから（Ｓ４４でＮＯ）、キュー０におけるフレームを送信するために必要なレポート長Ｒ（０）を算出する（Ｓ４７）。すなわち、Ｒ（０）＝Ｆｕｎｃ（１０１，２０）＝６ＴＱと算出する。
【００８４】
次に、制御フレーム処理部２３は、キュー０のフレームを送信するために必要なレポート長Ｒ＝６ＴＱをキュー０のフレームに割り当てた残りのデータの長さである残データ長Ｌ（０）を算出する（Ｓ４８）。すなわち、Ｌ（０）＝６×２０−１０１＝１９（バイト）と算出する。
【００８５】
次に、制御フレーム処理部２３は、最大レポート量ＲＭを変更する。すなわち、ＲＭ＝２６−６＝２０ＴＱと算出する（Ｓ４９）。
【００８６】
次に、制御フレーム処理部２３は、未選択のキューの中で優先度の一番高いキュー１を選択する（Ｓ４２）。
【００８７】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照して、選択したキュー１において、ＯＬＴへレポートしていない、すなわち送信要求していない１または複数のフレームのデータ長ＱＬＥＮ＝１０２バイトを算出する（Ｓ４３）。
【００８８】
次に、制御フレーム処理部２３は、データ長ＱＬＥＮ＝１０２バイトから残データ長Ｌ（０）＝１９バイトを減じた値（８３バイト）が最大レポート量ＲＭ＝４００バイトより小さいことから（Ｓ４４でＮＯ）、キュー１のフレームのうち、残データ長Ｌ（０）を割り当てた残りのデータを送信するために必要なレポート長Ｒ（１）を算出する（Ｓ４７）。すなわち、Ｒ（１）＝Ｆｕｎｃ（８３，２０）＝５ＴＱと算出する。これにより、キュー０のフレームを送信するために必要なレポート長Ｒ＝６ＴＱをキュー０のフレームに割り当てた残りのデータ長を、キュー１のフレーム送信に利用することができる。
【００８９】
次に、制御フレーム処理部２３は、キュー１のフレームのうち、残データ長Ｌ（０）を割り当てられたデータ以外のデータに、レポート長Ｒ（１）＝５ＴＱを割り当てた残りのデータの長さである残データ長Ｌ（１）を算出する（Ｓ４８）。すなわち、Ｌ（１）＝５×２０−８３＝１７（バイト）と算出する。
【００９０】
次に、制御フレーム処理部２３は、最大レポート量ＲＭを変更する。すなわち、ＲＭ＝２０−５＝１５ＴＱと算出する（Ｓ４９）。
【００９１】
次に、制御フレーム処理部２３は、未選択のキューの中で優先度の一番高いキュー２を選択する（Ｓ４２）。
【００９２】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照して、選択したキュー２において、ＯＬＴへレポートしていない、すなわち送信要求していない１または複数のフレームのデータ長ＱＬＥＮ＝１０３バイトを算出する（Ｓ４３）。
【００９３】
次に、制御フレーム処理部２３は、データ長ＱＬＥＮ＝１０３バイトから残データ長Ｌ（１）＝１７バイトを減じた値（８６バイト）が最大レポート量ＲＭ＝３００バイトより小さいことから（Ｓ４４でＮＯ）、キュー２のフレームのうち、残データ長Ｌ（１）を割り当てた残りのデータを送信するために必要なレポート長Ｒ（２）を算出する（Ｓ４７）。すなわち、Ｒ（２）＝Ｆｕｎｃ（８６，２０）＝５ＴＱと算出する。これにより、キュー１のフレームを送信するために必要なレポート長Ｒ＝５ＴＱをキュー１のフレームに割り当てた残りのデータ長を、キュー２のフレーム送信に利用することができる。
【００９４】
次に、制御フレーム処理部２３は、キュー２のフレームのうち、残データ長Ｌ（１）を割り当てられたデータ以外のデータに、レポート長Ｒ（２）＝５ＴＱを割り当てた残りのデータの長さである残データ長Ｌ（２）を算出する（Ｓ４８）。すなわち、Ｌ（２）＝５×２０−８６＝１４（バイト）と算出する。
【００９５】
次に、制御フレーム処理部２３は、最大レポート量ＲＭを変更する。すなわち、ＲＭ＝１５−５＝１０ＴＱと算出する（Ｓ４９）。
【００９６】
次に、制御フレーム処理部２３は、未選択のキューの中で優先度の一番高いキュー３を選択する（Ｓ４２）。
【００９７】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照して、選択したキュー３において、ＯＬＴへレポートしていない、すなわち送信要求していない１または複数のフレームのデータ長ＱＬＥＮ＝１０４バイトを算出する（Ｓ４３）。
【００９８】
次に、制御フレーム処理部２３は、データ長ＱＬＥＮ＝１０４バイトから残データ長Ｌ（２）＝１４バイトを減じた値（９０バイト）が最大レポート量ＲＭ＝２００バイトより小さいことから（Ｓ４４でＮＯ）、キュー３のフレームのうち、残データ長Ｌ（２）を割り当てた残りのデータを送信するために必要なレポート長Ｒ（３）を算出する（Ｓ４７）。すなわち、Ｒ（３）＝Ｆｕｎｃ（９０，２０）＝５ＴＱと算出する。これにより、キュー２のフレームを送信するために必要なレポート長Ｒ＝５ＴＱをキュー２のフレームに割り当てた残りのデータ長を、キュー３のフレーム送信に利用することができる。
【００９９】
次に、制御フレーム処理部２３は、キュー３のフレームのうち、残データ長Ｌ（２）を割り当てられたデータ以外のデータに、レポート長Ｒ（３）＝５ＴＱを割り当てた残りのデータの長さである残データ長Ｌ（３）を算出する（Ｓ４８）。すなわち、Ｌ（３）＝５×２０−９０＝１０（バイト）と算出する。
【０１００】
次に、制御フレーム処理部２３は、最大レポート量ＲＭを変更する。すなわち、ＲＭ＝１０−５＝５ＴＱと算出する（Ｓ４９）。
【０１０１】
次に、制御フレーム処理部２３は、未選択のキューの中で優先度の一番高いキュー４を選択する（Ｓ４２）。
【０１０２】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照して、選択したキュー４において、ＯＬＴへレポートしていない、すなわち送信要求していない１または複数のフレームのデータ長ＱＬＥＮ＝１０５バイトを算出する（Ｓ４３）。
【０１０３】
次に、制御フレーム処理部２３は、データ長ＱＬＥＮ＝１０５バイトから残データ長Ｌ（３）＝１０バイトを減じた値（９５バイト）が最大レポート量ＲＭ＝１００バイトより小さいことから（Ｓ４４でＮＯ）、キュー４のフレームのうち、残データ長Ｌ（３）を割り当てた残りのデータを送信するために必要なレポート長Ｒ（４）を算出する（Ｓ４７）。すなわち、Ｒ（４）＝Ｆｕｎｃ（９５，２０）＝５ＴＱと算出する。これにより、キュー３のフレームを送信するために必要なレポート長Ｒ＝５ＴＱをキュー３のフレームに割り当てた残りのデータ長を、キュー４のフレーム送信に利用することができる。
【０１０４】
次に、制御フレーム処理部２３は、キュー４のフレームのうち、残データ長Ｌ（３）を割り当てられたデータ以外のデータに、レポート長Ｒ（４）＝５ＴＱを割り当てた残りのデータの長さである残データ長Ｌ（４）を算出する（Ｓ４８）。すなわち、Ｌ（４）＝５×２０−９５＝５（バイト）と算出する。
【０１０５】
次に、制御フレーム処理部２３は、最大レポート量ＲＭを変更する。すなわち、ＲＭ＝５−５＝０ＴＱと算出する（Ｓ４９）。
【０１０６】
そして、制御フレーム処理部２３は、未選択のキューが存在しないため（Ｓ４１でＮＯ）、レポート長Ｒの算出処理を終了する。
【０１０７】
このように、本発明の実施の形態に係るＯＮＵでは、キュー０〜４のフレームを送信するために必要な最小限の２６ＴＱの送信要求を行なうことができるため、従来と比べて通信効率を向上させることができる。
【０１０８】
ここで、キュー１だけに送信許可が与えられた場合には、キュー１の送信要求量が５ＴＱしかないため、キュー１のデータを送ることができないが、本発明の実施の形態に係るＯＬＴでは、最も優先順位の高いキュー０から順に送信許可を与えるため、１１ＴＱの送信許可量が得られることから、キュー１のフレームを問題なく送信することができる。
【０１０９】
次に、ＯＮＵに与えられた最大レポート量ＲＭが１５ＴＱ（３００バイト）である場合について説明する。ここでは、キュー２には２０バイトのパケット１〜パケット４と、２３バイトのパケット５とがこの順番で先頭から格納されていると仮定する。また、キュー０およびキュー１についての動作は、上記で説明した内容と同様であるため、以下ではキュー２についての動作から説明する。
【０１１０】
キュー０および１のレポート長Ｒを算出した後、制御フレーム処理部２３は、未選択のキューの中で優先度の一番高いキュー２を選択する（Ｓ４２）。
【０１１１】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照して、選択したキュー２において、ＯＬＴへレポートしていない、すなわち送信要求していないフレームの長さＱＬＥＮ＝１０３バイトを算出する（Ｓ４３）。
【０１１２】
次に、制御フレーム処理部２３は、データ長ＱＬＥＮ＝１０３バイトから残データ長Ｌ（１）＝１７バイトを減じた値（８６バイト）が最大レポート量ＲＭ＝４ＴＱ（８０バイト）より大きいことから（Ｓ４４でＹＥＳ）、キュー２の中で送信可能なパケットを検索する。より詳細には、データ長の総和が（４×２０＋１７）バイト以下となる１または複数のパケットをキュー２の中から検索する。たとえば、キュー２において、先頭から数えてデータ長が（４×２０＋１７）以下の位置におけるパケットの最後尾すなわち８０バイト目であるパケット４の最後尾を検索し、先頭のパケット１からパケット４までを送信要求すべきパケットとして選択する（Ｓ４５）。
【０１１３】
次に、制御フレーム処理部２３は、キュー４のパケット１〜４に残データ長Ｌ（３）を割り当てた残りのデータを送信するために必要なレポート長Ｒ（４）を算出する（Ｓ４６）。すなわち、Ｒ（４）＝Ｆｕｎｃ（８０，２０）＝４ＴＱと算出する。
【０１１４】
このような構成により、最大レポート量ＲＭの範囲内でパケットを最大限送信要求することができる。
【０１１５】
［フレーム送信］
図８は、複数のキューを扱う場合における図４に示すフローチャートのステップＳ２７の詳細な動作手順を定めたフローチャートである。
【０１１６】
図８を参照して、制御フレーム処理部２３は、優先度の一番高いキューを最初に選択する（Ｓ５２）。
【０１１７】
次に、制御フレーム処理部２３は、コードベクタテーブルを参照して、選択キューにおける１または複数のフレームのデータ長ＱＬＥＮを算出する（Ｓ５３）。
【０１１８】
そして、制御フレーム処理部２３は、データ長ＱＬＥＮから残データ長Ｌを減じた値が送信許可量ＧＭ（ＧＭ×２０バイト）より小さい場合には（Ｓ５４でＮＯ）、選択キューにおけるフレームを送信するために必要な送信データ長Ｇを、以下の式に基づいて算出する（Ｓ５７）。なお、残データ長Ｌの初期値はゼロである。
【０１１９】
Ｇ（Ｑｎｕｍ）＝Ｆｕｎｃ（ＱＬＥＮ−Ｌ，２０）
但し、Ｑｎｕｍは選択キューの番号であり、Ｆｕｎｃ（ＱＬＥＮ−Ｌ，２０）は（ＱＬＥＮ−Ｌ）を２０で割って小数点以下を切り上げる演算を示す。
【０１２０】
すなわち、送信データ長Ｇは、２０バイトのデータ長を有する送信単位（以下、ＴＱとも称する。）の数である。
【０１２１】
次に、制御フレーム処理部２３は、選択キューのフレーム送信に利用しないデータ長、すなわち選択キューのフレームを送信するために必要な送信データ長Ｇを選択キューのフレームに割り当てた残りのデータの長さである残データ長Ｌを以下の式に基づいて算出する（Ｓ５８）。
【０１２２】
Ｌ＝Ｇ（Ｑｎｕｍ）×２０−（ＱＬＥＮ−Ｌ）
次に、制御フレーム処理部２３は、送信許可量ＧＭを以下の式に基づいて変更する（Ｓ５９）。
【０１２３】
ＧＭ＝ＧＭ−Ｇ（Ｑｎｕｍ）
次に、制御フレーム処理部２３は、今回のフレーム送信において未選択のキューが存在する場合には（Ｓ５１でＹＥＳ）、未選択のキューの中で優先度の一番高いキューを選択し、ステップＳ５２以降の処理を繰り返す。
【０１２４】
そして、制御フレーム処理部２３は、今回のフレーム送信において未選択のキューが存在しなくなると（Ｓ５１でＮＯ）、各キューの送信データ長Ｇの算出結果に基づいてコードベクタテーブルの内容を更新する（Ｓ２８）。
【０１２５】
また、制御フレーム処理部２３は、今回のフレーム送信において未選択のキューが存在する場合であって（Ｓ５１でＹＥＳ）、データ長ＱＬＥＮから残データ長Ｌを減じた値が送信許可量ＧＭより大きいときには（Ｓ５４でＮＯ）、選択キューの中で送信可能なフレームを検索する。より詳細には、データ長の総和が（ＧＭ×２０＋Ｌ）以下となる１または複数のフレームを選択キューの中から検索する。たとえば、選択キューにおいて、先頭から数えてデータ長が（ＧＭ×２０＋Ｌ）以下の位置におけるフレームの最後尾を検索し、先頭のフレームからその最後尾を有するフレームまでを送信すべきフレームとして選択する（Ｓ５５）。
【０１２６】
次に、制御フレーム処理部２３は、選択キューにおいて選択したフレームを送信するために必要な送信データ長Ｇを、以下の式に基づいて算出し（Ｓ５６）、各キューの送信データ長Ｇの算出結果に基づいてコードベクタテーブルの内容を更新する（Ｓ２８）。
【０１２７】
Ｇ（Ｑｎｕｍ）＝Ｆｕｎｃ（ＡＮＳ，２０）
但し、ＡＮＳは選択したフレームのデータ長の総和であり、Ｆｕｎｃ（ＡＮＳ，２０）はＡＮＳを２０で割って小数点以下を切り上げる演算を示す。
【０１２８】
以上のような処理によって得られる各キューの送信データ長Ｇの総和が、ＯＮＵからＯＬＴへ送信される各フレームの総データ長となる。
【０１２９】
ところで、１０ＧＥＰＯＮでは、ＯＬＴにはＰＯＮ回線すなわち光伝送路ごとに最大３２台のＯＮＵが接続される。このため、各ＯＮＵが、キューごとに２０バイト単位で送信要求を行なって、上り帯域を無駄に浪費すると、ＰＯＮシステム全体として大幅に通信効率が低下してしまう。
【０１３０】
しかしながら、本発明の実施の形態に係るＯＮＵでは、レポート生成において、優先順位が高いキューにおいて送信要求しすぎた帯域すなわちデータ長を優先順位の低いキューに繰り越して利用する。このような構成により、ＯＬＴによる各ＯＮＵへの上り帯域の割り当てにおいて生じる無駄を減らすことができるため、ＰＯＮシステム全体で大幅に通信効率を向上させることができる。
【０１３１】
また、本発明の実施の形態に係るＯＮＵでは、フレーム送信において、優先順位が高いキューにおいて使用しなかった帯域を優先順位の低いキューに繰り越して利用する。このような構成により、ＯＬＴから割り当てられた上り帯域をＯＮＵが浪費することを抑制することができるため、ＯＮＵ単体においても通信効率を向上させることができる。
【０１３２】
なお、本発明の実施の形態に係るＯＮＵでは、レポート生成において、優先順位が高いキューにおいて送信要求しすぎた帯域すなわちデータ長を優先順位の低いキューに繰り越して利用し、かつフレーム送信において、優先順位が高いキューにおいて使用しなかった帯域を優先順位の低いキューに繰り越して利用する構成であるとしたが、これに限定するものではない。レポート生成においてのみ上記繰り越し処理を行なう構成であっても、ＰＯＮシステム全体で大幅に通信効率を向上させることができる。また、フレーム送信においてのみ上記繰り越し処理を行なう構成であっても、ＯＮＵ単体として通信効率を向上させることができる。
【０１３３】
また、本発明の実施の形態に係るＯＮＵは、キューを用いる構成であるとしたが、これに限定するものではない。キューを用いなくても、異なる優先順位を有する複数のパケットを送信する構成であれば、本発明を適用することが可能である。
【０１３４】
また、本発明の実施の形態に係るＯＮＵでは、コードベクタを参照して選択キューのデータ長ＱＬＥＮを算出する構成であるとしたが、これに限定するものではない。コードベクタを用いずに、たとえばバッファメモリ内のフレームをすべて検索することにより、データ長ＱＬＥＮの算出等を行なう構成であってもよい。
【０１３５】
また、本発明の実施の形態に係るＯＮＵでは、優先順位が高いキューにおいて送信要求しすぎた帯域、およびフレーム送信において使用しなかった帯域をそのキューの次に優先順位の低いキューに繰り越して利用する構成であるとしたが、これに限定するものではなく、当該キューよりも優先順位の低いキューにおいて上記繰り越し処理を行なう構成であればよい。
【０１３６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３７】
２１  受信部、２２  送信部、２３  制御フレーム処理部（制御部）、２４  受信部、２５  バッファメモリ、２６  送信部、２７  カウンタ、２８  バッファメモリ、１０１  ＯＬＴ、１０２，１０２−１〜１０２−ｎ  ＯＮＵ、１０５  スプリッタ、１１１  ユーザ端末、３０１  ＰＯＮシステム。
【図１】
2010232805.tif 000003
【図２】
2010232805.tif 000004
【図３】
2010232805.tif 000005
【図４】
2010232805.tif 000006
【図５】
2010232805.tif 000007
【図６】
2010232805.tif 000008
【図７】
2010232805.tif 000009
【図８】
2010232805.tif 000010