(57)【要約】【課題】連携ＤＢＡとＳＲ−ＤＢＡとを両立させることが可能である帯域割当装置、帯域割当方法及び帯域割当プログラムを提供する。【解決手段】帯域割当装置は、上りデータを低遅延で転送する必要がある加入者線終端装置である第１加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得する取得部と、上りデータを低遅延で転送する必要がない加入者線終端装置である第２加入者線終端装置から、第２加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信する要求量受信部と、要求量受信サイクルよりも短い割当量決定サイクルで、スケジューリング情報に基づいて第１加入者線終端装置の上りデータに帯域を割り当て、割当量決定サイクルで、要求量を表す情報に基づいて第２加入者線終端装置の上りデータに帯域を割り当てる割当部とを備える。【選択図】図１
2020031325.tif 000002
【特許請求の範囲】
【請求項１】
上りデータを低遅延で転送する必要がある加入者線終端装置である第１加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得する取得部と、
上りデータを低遅延で転送する必要がない加入者線終端装置である第２加入者線終端装置から、第２加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信する要求量受信部と、
前記要求量受信サイクルよりも短い割当量決定サイクルで、前記スケジューリング情報に基づいて第１加入者線終端装置の上りデータに帯域を割り当て、前記割当量決定サイクルで、前記要求量を表す情報に基づいて第２加入者線終端装置の上りデータに帯域を割り当てる割当部と
を備える帯域割当装置。
【請求項２】
前記割当部は、前記要求量を表す情報の送信用に帯域を割り当て、前記要求量を表す情報の送信用に割り当てられずに残った帯域を第１加入者線終端装置の上りデータの送信用に割り当て、第１加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第２加入者線終端装置の上りデータの送信用に割り当て、第２加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第１加入者線終端装置の上りデータの送信用に割り当てる、請求項１に記載の帯域割当装置。
【請求項３】
前記割当部は、予め定められた最小データ量を表す情報と予め定められた最大データ量を表す情報とを取得し、前記要求量が前記最小データ量未満である場合、第２加入者線終端装置の上りデータの送信用に前記最小データ量の帯域を割り当て、前記要求量が前記最大データ量を超えている場合、第２加入者線終端装置の上りデータの送信用に前記最大データ量の帯域を割り当てる、請求項１又は請求項２に記載の帯域割当装置。
【請求項４】
前記割当部は、第２加入者線終端装置ごとに定められた重み係数と、前記要求量を表す情報とに基づいて、前記要求量のデータ量の帯域を上限として、第２加入者線終端装置の上りデータの送信用に帯域を割り当てる、請求項１から請求項３のいずれか一項に記載の帯域割当装置。
【請求項５】
帯域割当装置が実行する帯域割当方法であって、
上りデータを低遅延で転送する必要がある加入者線終端装置である第１加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得するステップと、
上りデータを低遅延で転送する必要がない加入者線終端装置である第２加入者線終端装置から、第２加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信するステップと、
前記要求量受信サイクルよりも短い割当量決定サイクルで、前記スケジューリング情報に基づいて第１加入者線終端装置の上りデータに帯域を割り当て、前記割当量決定サイクルで、前記要求量を表す情報に基づいて第２加入者線終端装置の上りデータに帯域を割り当てるステップと
を含む帯域割当方法。
【請求項６】
前記割り当てるステップでは、前記要求量を表す情報の送信用に帯域を割り当て、前記要求量を表す情報の送信用に割り当てられずに残った帯域を第１加入者線終端装置の上りデータの送信用に割り当て、第１加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第２加入者線終端装置の上りデータの送信用に割り当て、第２加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第１加入者線終端装置の上りデータの送信用に割り当てる、請求項５に記載の帯域割当方法。
【請求項７】
前記割り当てるステップは、予め定められた最小データ量を表す情報と予め定められた最大データ量を表す情報とを取得し、前記要求量が前記最小データ量未満である場合、第２加入者線終端装置の上りデータの送信用に前記最小データ量の帯域を割り当て、前記要求量が前記最大データ量を超えている場合、第２加入者線終端装置の上りデータの送信用に前記最大データ量の帯域を割り当てる、請求項５又は請求項６に記載の帯域割当方法。
【請求項８】
請求項１から請求項４のいずれか一項に記載の帯域割当装置としてコンピュータを機能させるための帯域割当プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帯域割当装置、帯域割当方法及び帯域割当プログラムに関する。
【背景技術】
【０００２】
移動体の無線通信システム（モバイルシステム）では、上位層側の機能と下位層側の機能とに、基地局の機能が分割される場合がある。上位装置は、集約配置される装置（中央ユニット）であって、基地局の上位層側の機能を実行する装置である。下位装置は、分散配置される装置（分散ユニット）であって、基地局の下位層側の機能を実行する装置である。
【０００３】
上位装置及び下位装置は、光ファイバで接続される。上位装置と下位装置との間は、モバイルフロントホール（MFH: Mobile Fronthaul）と呼ばれる。以下、上位装置及び下位装置との間で基地局の機能が分割される箇所を「機能分割点」という。この機能分割点には、例えば、物理層の内部に分割点を持つＬＬＳ（Low Layer Split）と、物理層よりも上位の層に分割点を持つＨＬＳ（High Layer Split）とが検討されている。
【０００４】
ＭＦＨの遅延要件は、機能分割点に応じて異なる。ＬＬＳの場合、ＭＦＨの遅延要件は片道２５０μｓである。ＨＬＳの場合、ＭＦＨの遅延要件は１．５〜１０ｍｓである（非特許文献１参照）。
【０００５】
ＭＦＨには、ＮＧ−ＰＯＮ２（Next Generation - Passive Optical Network 2）に代表されるＴＤＭ−ＰＯＮ（Time Division Multiplexing - Passive Optical Network）システムを適用することが検討されている（非特許文献２参照）。
【０００６】
ＴＤＭ−ＰＯＮでは、ＯＬＴ（Optical Line Terminal：加入者線端局装置）は、複数のＯＮＵ（Optical Network Unit：加入者線終端装置）に接続される。ＯＬＴは、時分割多重（TDM: Time Division Multiplexing）によってＯＮＵと通信する。以下、ＯＮＵからＯＬＴへの向きを「上り」という。上りデータの送信（以下「上り送信」という。）に関して、各ＯＮＵの間で上り光信号の衝突を避けるために、ＯＬＴによって各ＯＮＵの上り送信が制御されている。ＯＮＵは、自装置のバッファに上りデータを蓄積して上り送信を待たせ、ＯＬＴからの指示に従って送信する。
【０００７】
ＭＦＨにＴＤＭ−ＰＯＮが適用される場合、下位装置はＯＮＵに接続される。上位装置はＯＬＴに接続される。
【０００８】
ＬＬＳ用の下位装置をＴＤＭ−ＰＯＮで収容する際において、ＬＬＳの遅延要件を満たすために、上位装置におけるスケジューリング処理と連携した、ＴＤＭ−ＰＯＮの上り送信の動的帯域割当（以下「連携ＤＢＡ」という。）方法が、非特許文献２に開示されている。
【０００９】
ＬＬＳの場合、下位装置に無線接続するユーザ端末の上り送信を上位装置が集中制御するために、上位装置は、無線送信周期（TTI: Transmission Time Interval）ごとに、スケジューリングを実行する。上位装置は、このスケジューリング結果を、ＯＮＵ及び下位装置を介して各ユーザ端末に送信する。各ユーザ端末は、スケジューリング結果に基づいて、上り送信を実行する。
【００１０】
以下、下位装置が各ユーザ端末から受信する上りデータを「モバイルデータ」といい、下位装置が各ユーザ端末からモバイルデータを受信する時刻を「上りデータ受信時刻」という。上記スケジューリング結果のうち、ＬＬＳ用の下位装置における上りデータ量及び上りデータ受信時刻を特定する情報を含む情報を「スケジューリング情報」という。
【００１１】
非特許文献２の方法では、ＯＬＴは、スケジューリング情報を、上位装置から予め受信する。ＯＬＴは、予め受信されたスケジューリング情報に基づいて、各ＯＮＵへの割当量を決定し、各ＯＮＵに通知する。これにより、下位装置からＯＮＵに上りデータが到着するのに合わせた割当が可能となり、低遅延での上りデータ転送が可能になる。
【００１２】
一方で、ＨＬＳの場合、上記スケジューリング処理は下位装置で実行される。このため、ＯＬＴは、スケジューリング情報を上位装置から受信することができないので、連携ＤＢＡを実行することができない。スケジューリング情報を用いずにＯＬＴが上り送信を制御する方法として、各ＯＮＵに周期的に固定データ量の帯域を割り当てる帯域割当方法（FBA: Fixed Bandwidth Allocation）が開示されている（非特許文献３及び４参照）。各ユーザ端末からＯＮＵへの上りデータの到着の有無に関係なくＯＬＴが固定データ量の帯域を各ＯＮＵに割り当てるので、ＯＬＴに収容可能であるＯＮＵの数は限定される。
【００１３】
ＨＬＳ用の下位装置をＴＤＭ−ＰＯＮで収容する場合における上り送信制御としては、ステータス・レポート（Status-Report）方式の動的帯域割当（以下「ＳＲ−ＤＢＡ」という。）方法が適用可能である（非特許文献５及び６参照）。ＳＲ−ＤＢＡは、ＦＴＴＨ（Fiber to the home）等に広く採用されている帯域割当方法である。
【００１４】
この方法において、ＯＬＴは、各ＯＮＵに対して、バッファに蓄積されたデータ量（上り送信の要求量）をＯＬＴに通知するための帯域を周期的に割り当て、要求量を表す情報を各ＯＮＵから収集する。ＯＬＴは、要求量を表す情報に基づいて、上り送信の開始時刻の情報と送信を許可するデータ量の情報とを含む割当量の情報を決定し、決定された割当量を各ＯＮＵに通知する。各ＯＮＵは、ＯＮＵのバッファに蓄積された上りデータを、通知された割当量の情報に基づいてＯＬＴに送信する。
【００１５】
この制御において、要求量を表す情報をＯＬＴが各ＯＮＵから収集するには、ＯＬＴ及びＯＮＵの間の最大往復時間（RTT: Round Trip Time）（以下「最大ＲＴＴ」という。）以上の時間が必要である。ＯＬＴ及びＯＮＵの間の最大許容距離が例えば２０ｋｍである場合、最大ＲＴＴは、例えば２００μsである。ＯＬＴでの割当量の決定及び通知には、要求量を表す情報を各ＯＮＵから収集することが必要であるため、要求量を表す情報をＯＮＵが送信した時刻から、ＯＮＵのバッファに蓄積された上りデータの送信時刻に達するまでで、最大ＲＴＴ以上の時間を要する。さらに、伝搬遅延時間（＝ＲＴＴ／２）と、上りデータの送信完了までに要する時間と、他ＯＮＵの上り送信のための待ち時間が加わり、結果として、ＴＤＭ−ＰＯＮがＨＬＳ用の下位装置からの上りデータに印加する遅延は、合計１ｍｓから２ｍｓ程度となる。このため、ＳＲ−ＤＢＡは、数ｍｓ程度の遅延を許容しないアプリケーションには適さない帯域割当処理であるが、ＯＮＵのバッファに蓄積済みのデータに対する割当であることから、帯域利用効率が高く、収容可能なＯＮＵ数を多くすることができる。ＨＬＳでは１．５から１０ｍｓまでの遅延が許容されるので、ＳＲ−ＤＢＡはＨＬＳに適用可能である。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】中村  武宏、「2020年の5G導入に向けて」、［online］、5G Deployment toward 2020 and Beyond、MPLS Japan 2016、［平成30年7月27日検索］、インターネット〈https://www.mpls.jp/2016/presentations/20161107_MPLS-Japan2016_docomo_Nakamura.pdf〉
【非特許文献２】H. Uzawa et al.,“Practical Mobile-ＤＢＡ Scheme Considering Data Arrival Period for 5G Mobile Fronthaul with ＴＤＭ−ＰＯＮ”, 2017 European Conference on Optical Communication (ECOC).
【非特許文献３】D.Hisano et al.,“ＴＤＭ−ＰＯＮ for Accomodating TDD-Based Fronthaul and Secondary Services”, Journal of lightwave technology, vol.35, NO.14, July 15, 2017.
【非特許文献４】Y.Luo et al.,“Bandwidth Allocation for Multiservice Access on EPONs”, IEEE Optical Communications, February 2005.
【非特許文献５】H. Ou et al.,“Integrated Dynamic Bandwidth Allocation for Low Buffer Aggregated Passive Optical Network Systems”, Journal of optical communication network, vol.7, No.8, August 2015.
【非特許文献６】ＮＴＴ、「技術基礎講座[GE-PON技術]第3回ＤＢＡ機能」、ＮＴＴ技術ジャーナル、2005.10
【発明の概要】
【発明が解決しようとする課題】
【００１７】
経済性の観点から、ＯＬＴは、遅延要件が互いに異なる複数のＭＦＨを、同一のＴＤＭ−ＰＯＮを用いて収容する場合がある。さらに、ＦＴＴＨでもＴＤＭ−ＰＯＮが採用されていることから、その経済性を最大限に活用するために、ＦＴＴＨ用のＯＮＵもＭＦＨと同一ＴＤＭ−ＰＯＮ上で収容される場合がある。
【００１８】
これらの場合、ＯＬＴは、ＬＬＳ用の下位装置と接続するＯＮＵ（以下「ＬＬＳ用のＯＮＵ」という。）に対して連携ＤＢＡを用い、ＨＬＳ用の下位装置と接続するＯＮＵ（以下「ＨＬＳ用のＯＮＵ」という。）とＦＴＴＨ用のＯＮＵとに対してＳＲ−ＤＢＡを用いて、上り送信を制御することが考えられる。しかしながら、上りデータの割当量を算出及び決定するサイクル（以下「ＤＢＡサイクル」という。）の時間長は、ＳＲ−ＤＢＡでは最大ＲＴＴの時間長以上である必要がある。
【００１９】
このため、従来の帯域割当装置は、ＤＢＡサイクルを無線送信周期の時間長以下（低遅延）のサイクルにすることが要求される連携ＤＢＡと、ＤＢＡサイクルを最大ＲＴＴの時間長以上のサイクルにすることが要求されるＳＲ−ＤＢＡとを、両立させることができない場合があった。
【００２０】
上記事情に鑑み、本発明は、連携ＤＢＡとＳＲ−ＤＢＡとを両立させることが可能である帯域割当装置、帯域割当方法及び帯域割当プログラムを提供することを目的としている。
【課題を解決するための手段】
【００２１】
本発明の一態様は、上りデータを低遅延で転送する必要がある加入者線終端装置である第１加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得する取得部と、上りデータを低遅延で転送する必要がない加入者線終端装置である第２加入者線終端装置から、第２加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信する要求量受信部と、前記要求量受信サイクルよりも短い割当量決定サイクルで、前記スケジューリング情報に基づいて第１加入者線終端装置の上りデータに帯域を割り当て、前記割当量決定サイクルで、前記要求量を表す情報に基づいて第２加入者線終端装置の上りデータに帯域を割り当てる割当部とを備える帯域割当装置である。
【００２２】
本発明の一態様は、上記の帯域割当装置であって、前記割当部は、前記要求量を表す情報の送信用に帯域を割り当て、前記要求量を表す情報の送信用に割り当てられずに残った帯域を第１加入者線終端装置の上りデータの送信用に割り当て、第１加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第２加入者線終端装置の上りデータの送信用に割り当て、第２加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第１加入者線終端装置の上りデータの送信用に割り当てる。
【００２３】
本発明の一態様は、上記の帯域割当装置であって、前記割当部は、予め定められた最小データ量を表す情報と予め定められた最大データ量を表す情報とを取得し、前記要求量が前記最小データ量未満である場合、第２加入者線終端装置の上りデータの送信用に前記最小データ量の帯域を割り当て、前記要求量が前記最大データ量を超えている場合、第２加入者線終端装置の上りデータの送信用に前記最大データ量の帯域を割り当てる。
【００２４】
本発明の一態様は、上記の帯域割当装置であって、前記割当部は、第２加入者線終端装置ごとに定められた重み係数と、前記要求量を表す情報とに基づいて、前記要求量のデータ量の帯域を上限として、第２加入者線終端装置の上りデータの送信用に帯域を割り当てる。
【００２５】
本発明の一態様は、帯域割当装置が実行する帯域割当方法であって、上りデータを低遅延で転送する必要がある加入者線終端装置である第１加入者線終端装置の上りデータの送信に関するスケジューリング情報を取得するステップと、上りデータを低遅延で転送する必要がない加入者線終端装置である第２加入者線終端装置から、第２加入者線終端装置の上りデータの送信に関する要求量を表す情報を、予め定められた最大往復時間以上のサイクルである要求量受信サイクルで受信するステップと、前記要求量受信サイクルよりも短い割当量決定サイクルで、前記スケジューリング情報に基づいて第１加入者線終端装置の上りデータに帯域を割り当て、前記割当量決定サイクルで、前記要求量を表す情報に基づいて第２加入者線終端装置の上りデータに帯域を割り当てるステップとを含む帯域割当方法である。
【００２６】
本発明の一態様は、上記の帯域割当方法であって、前記割り当てるステップでは、前記要求量を表す情報の上りデータの送信用に帯域を割り当て、前記要求量を表す情報の上りデータの送信用に割り当てられずに残った帯域を第１加入者線終端装置の上りデータの送信用に割り当て、第１加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第２加入者線終端装置の上りデータの送信用に割り当て、第２加入者線終端装置の上りデータの送信用に割り当てられずに残った帯域を第１加入者線終端装置の上りデータの送信用に割り当てる。
【００２７】
本発明の一態様は、上記の帯域割当方法であって、前記割り当てるステップは、予め定められた最小データ量を表す情報と予め定められた最大データ量を表す情報とを取得し、前記要求量が前記最小データ量未満である場合、第２加入者線終端装置の上りデータに前記最小データ量の帯域を割り当て、前記要求量が前記最大データ量を超えている場合、第２加入者線終端装置の上りデータに前記最大データ量の帯域を割り当てる。
【００２８】
本発明の一態様は、上記の帯域割当装置としてコンピュータを機能させるための帯域割当プログラムである。
【発明の効果】
【００２９】
本発明により、連携ＤＢＡとＳＲ−ＤＢＡとを両立させることが可能である。
【図面の簡単な説明】
【００３０】
【図１】第１実施形態における、光通信システムの構成例を示す図である。
【図２】従来におけるＳＲ−ＤＢＡ処理と、割当部が実行するＳＲ−ＤＢＡ処理の例との比較を示す図である。
【図３】第１実施形態における、ＤＢＡ処理のタイミングの例を示す図である。
【図４】第１実施形態における、要求量を表す情報を連携処理部から読み出す時刻の例を示す図である。
【図５】第１実施形態における、割当量の算出手順の例を示すフローチャートである。
【図６】第１実施形態における、ＬＬＳ用のＯＮＵのデータの要求量を取得する手順の例を示すフローチャートである。
【図７】第１実施形態における、ＨＬＳ用のＯＮＵのデータの要求量を取得する手順の例を示すフローチャートである。
【図８】第１実施形態における、ＯＮＵのデータの要求量を更新する手順の例を示すフローチャートである。
【図９】第１実施形態における、ＯＮＵのデータの要求量を更新するタイミングの例を示す図である。
【図１０】第１実施形態における、上り送信の固定割当データ量及び追加割当データ量を算出する手順の例を示すフローチャートである。
【図１１】第１実施形態における、要求量の通知に必要とされるデータ量をＨＬＳ用のＯＮＵの割り当てる手順の例を示すフローチャートである。
【図１２】第１実施形態における、ＬＬＳ用のＯＮＵに固定データ量を割り当てる手順の例を示すフローチャートである。
【図１３】第１実施形態における、ＨＬＳ用のＯＮＵに追加データ量を割り当てる手順の例を示すフローチャートの第１部分である。
【図１４】第１実施形態における、ＨＬＳ用のＯＮＵに追加データ量を割り当てる手順の例を示すフローチャートの第２部分である。
【図１５】第１実施形態における、ＨＬＳ用のＯＮＵに追加データ量を割り当てる手順の例を示すフローチャートの第３部分である。
【図１６】第１実施形態における、ＬＬＳ用のＯＮＵに追加データ量を割り当てる手順の例を示す図である。
【図１７】第２実施形態における、要求量と割当量との関係の例を示す図である。
【図１８】第２実施形態における、ＬＬＳ用のＯＮＵの要求量を取得する手順の例を示すフローチャートである。
【図１９】第２実施形態における、ＨＬＳ用のＯＮＵの要求量を取得する手順の例を示すフローチャートである。
【図２０】第３実施形態における、ＨＬＳ用のＯＮＵに追加データ量を割り当てる手順の例を示すフローチャートの第１部分である。
【図２１】第３実施形態における、ＨＬＳ用のＯＮＵに追加データ量を割り当てる手順の例を示すフローチャートの第２部分である。
【図２２】第３実施形態における、ＨＬＳ用のＯＮＵに追加データ量を割り当てる手順の例を示すフローチャートの第３部分である。
【図２３】第３実施形態における、ＨＬＳ用のＯＮＵの重み係数を計測する処理を含む、ＯＮＵのデータの要求量を取得する手順の例を示すフローチャートである。
【図２４】第３実施形態における、重み係数と上り遅延との関係の例を示す図である。
【発明を実施するための形態】
【００３１】
本発明の実施形態について、図面を参照して詳細に説明する。
（第１実施形態）
図１は、光通信システム１の構成例を示す図である。光通信システム１は、光信号を用いて通信するシステムである。光通信システム１は、上位装置２と、上位装置３と、Ｌ２ＳＷ４と、ＯＬＴ５と、１以上のＯＮＵ６と、１以上のＯＮＵ７と、１以上の下位装置８と、１以上の下位装置９とを備える。
【００３２】
上位装置２は、ＯＬＴ５に対して上位のＬＬＳ用の装置である。上位装置２は、ＬＬＳ用の下位装置８のスケジューリング情報をＯＬＴ５に送信する。上位装置２は、ＬＬＳ用のＯＮＵ６が送信した上りデータを、Ｌ２ＳＷ４を介してＯＬＴ５から受信する。
【００３３】
上位装置３は、ＯＬＴ５に対して上位のＨＬＳ用の装置である。上位装置３は、ＨＬＳ用のＯＮＵ７が上り送信した上りデータを、Ｌ２ＳＷ４を介してＯＬＴ５から受信する。
【００３４】
Ｌ２ＳＷ４は、レイヤ２スイッチである。Ｌ２ＳＷ４は、上位装置２及びＯＬＴ５の間でデータを中継する。Ｌ２ＳＷ４は、上位装置３及びＯＬＴ５の間でデータを中継する。
【００３５】
ＯＬＴ５は、端局装置である。ＯＬＴ５は、上り送信に関する制御を実行する。ＯＬＴ５は、連携ＤＢＡ用割当を実行することによって、ＬＬＳ用のＯＮＵ６の上りデータの帯域をＯＮＵ６に割り当てる。ＯＬＴ５は、ＳＲ−ＤＢＡ用割当を実行することによって、ＨＬＳ用のＯＮＵ７の上りデータの帯域をＯＮＵ７に割り当てる。
【００３６】
ＯＮＵ６は、ＬＬＳ用の加入者線終端装置である。ＯＮＵ６は、下位装置８から受信した上りデータを、ＯＬＴ５から通知される割当量に基づいて送信する。ＯＮＵ６の上りデータは、低遅延で転送される必要がある。
【００３７】
ＯＮＵ７は、ＨＬＳ用の加入者線終端装置である。ＯＮＵ７は、下位装置９から受信した上りデータを、ＯＬＴ５から通知される割当量に基づいて送信する。ＯＮＵ７の上りデータは、低遅延で転送される必要はない。
【００３８】
下位装置８は、ＯＬＴ５に対して下位のＬＬＳ用の装置である。下位装置８は、ユーザ端末（不図示）との無線通信を実行する。下位装置８は、ユーザ端末から受信したモバイルデータを、上りデータとしてＯＮＵ６に送信する。下位装置８の上りデータは、低遅延で転送される必要がある。
【００３９】
下位装置９は、ＯＬＴ５に対して下位のＨＬＳ用の装置である。下位装置９は、ユーザ端末（不図示）との無線通信を実行する。下位装置８は、ユーザ端末から受信したモバイルデータを、上りデータとしてＯＮＵ７に送信する。下位装置９の上りデータは、低遅延で転送される必要はない。
【００４０】
次に、ＯＬＴ５の構成の詳細を説明する。
ＯＬＴ５は、連携処理部５０と、通信部５１と、要求量受信部５２と、ＯＮＵ管理部５３と、割当部５４とを備える。
【００４１】
各機能部は、ＣＰＵ（Central Processing Unit）等のプロセッサが、記憶部に記憶されたプログラムを実行することにより実現される。各機能部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェアを用いて実現されてもよい。
【００４２】
連携処理部５０は、スケジューリング情報を上位装置２から取得する取得部である。連携処理部５０は、ＬＬＳ用の下位装置８に対する、上りデータ受信時刻及び上りデータ量を表す情報を、無線送信周期ごとにスケジューリング情報から抽出する。
【００４３】
通信部５１は、上りデータの送信に関する要求量の通知を要求する指示を、ＯＮＵ７に送信する。通信部５１は、ＯＮＵ７の上りデータの送信に関する要求量を表す情報を、ＯＮＵ７から受信する。通信部５１は、ＯＮＵ７の上りデータの送信に関する要求量を表す情報を、要求量受信部５２に出力する。
【００４４】
なお、通信部５１は、ＯＮＵ６の上りデータの送信に関する要求量を表す情報を、ＯＮＵ６から受信してもよい。
【００４５】
通信部５１は、割当部５４によって割り当てられた上りデータの割当量を、例えば割当量算出サイクル（割当量決定サイクル）ごとに、ＯＮＵ６及びＯＮＵ７に通知する。すなわち、通信部５１は、ＯＮＵ６の上りデータの割当量を表す情報を、例えば割当量算出サイクルごとに、ＯＮＵ６に送信する。通信部５１は、ＯＮＵ７の上りデータの割当量を表す情報を、例えば割当量算出サイクルごとに、ＯＮＵ７に送信する。
【００４６】
通信部５１は、ＯＮＵ６から取得された上りデータを、Ｌ２ＳＷ４を介して上位装置２に送信する。通信部５１は、ＯＮＵ７から取得された上りデータを、Ｌ２ＳＷ４を介して上位装置３に送信する。
【００４７】
要求量受信部５２は、上りデータの送信に関する要求量を表す情報を、通信部５１から取得する。要求量受信部５２は、上りデータの送信に関する要求量を表す情報を、ＯＮＵごと記憶する。要求量受信部５２は、上りデータの送信に関する要求量を表す情報を通信部５１から新たに取得した場合、その上りデータの送信に関する要求量を表す情報を、ＯＮＵごとに更新する。要求量受信部５２は、割当部５４から指定されたＯＮＵの上りデータの送信に関する要求量を表す情報を、割当部５４に出力する。
【００４８】
ＯＮＵ管理部５３は、例えばフラッシュメモリ、ＨＤＤ（Hard Disk Drive）などの不揮発性の記録媒体（非一時的な記録媒体）を有する。ＯＮＵ管理部５３は、例えば、ＲＡＭ（Random Access Memory）やレジスタなどの揮発性の記録媒体を有してもよい。
【００４９】
ＯＮＵ管理部５３は、例えば、プログラム及びデータテーブルを記憶する。データテーブルでは、ＯＬＴ５に接続することが可能であるＯＮＵの固有識別子と、ＯＮＵがＬＬＳ用のＯＮＵであるか否かを表す設定値（ＯＮＵ_ＴＹＰＥ）と、論理リンク識別子とが対応づけられている。固有識別子と設定値（ＯＮＵ_ＴＹＰＥ）とは、外部装置等によってデータテーブルに予め記録される。論理リンク識別子は、ＯＬＴとＯＮＵとの接続が確立された場合に、そのＯＮＵに一意に付与される。
【００５０】
なお、ＯＬＴに接続された際にＯＮＵに付与される論理リンク識別子がＯＮＵ固有の識別子として扱える場合には、データテーブルでは、固有識別子が記録されずに、論理リンク識別子と設定値（ＯＮＵ_ＴＹＰＥ）とが記録されていてもよい。
【００５１】
ＯＮＵ管理部５３は、ＯＬＴ５に接続済みであるＯＮＵの数を計測する。ＯＮＵ管理部５３は、ＯＬＴ５に接続済みであるＯＮＵの数を、割当部５４に通知する。ＯＮＵ管理部５３は、論理リンク識別子を割当部５４から通知された場合、通知された論理リンク識別子に対応付けられた設定値（ＯＮＵ_ＴＹＰＥ）を、データテーブルから読み出して通知する。
【００５２】
割当部５４は、ＬＬＳ用のＯＮＵ６の上りデータの送信に関する要求量を表す情報（上りデータ受信時刻及び上りデータ量から成る情報）を、所定の割当量算出サイクルごとに、連携処理部５０から取得する。割当部５４は、ＨＬＳ用のＯＮＵ７の上りデータの送信に関する要求量を表す情報（バッファ蓄積データ量を表す情報）を、所定の割当量算出サイクルごとに、要求量受信部５２から取得する。
【００５３】
割当部５４は、ＬＬＳ用のＯＮＵ６の上りデータの送信に関する要求量を表す情報に基づいて、ＯＮＵ６の上りデータの割当量を決定する。割当部５４は、ＨＬＳ用のＯＮＵ７の上りデータの送信に関する要求量を表す情報に基づいて、ＯＮＵ７の上りデータの割当量を決定する。割当部５４は、決定された割当量を表す情報を、通信部５１に出力する。
【００５４】
上りデータの割当量をＯＮＵごとに決定する処理では、ＨＬＳ用のＯＮＵ７の上りデータの送信に関する要求量を通知するためのデータ量の割当（要求量通知用割当）以外に関して、割当部５４は、ＬＬＳ用のＯＮＵ６の上りデータの帯域の割当（連携ＤＢＡ用割当）を、ＨＬＳ用のＯＮＵ７の上りデータの帯域の割当（ＳＲ−ＤＢＡ用割当）よりも優先して実行する。
【００５５】
例えば、割当部５４は、ＬＬＳ用の全てのＯＮＵ６の上りデータの送信に関する要求量が０である期間において、ＨＬＳ用のＯＮＵ７の上りデータの送信に関する要求量に基づいて、ＨＬＳ用のＯＮＵ７の上りデータの帯域の割当（ＳＲ−ＤＢＡ用割当）を実行する。ＬＬＳ用のＯＮＵ６の上りデータの送信に関する要求量とＨＬＳ用のＯＮＵ７の上りデータの送信に関する要求量とがいずれも０である場合には、割当部５４は、ＬＬＳ用のＯＮＵ６の上りデータの帯域を、ＬＬＳ用のＯＮＵ６に対して均等に割り当てる。
【００５６】
ＨＬＳ用のＯＮＵ７の上りデータの送信に関する要求量を通知するためのデータ量の割当（要求量通知用割当）の割当サイクル番号は、事前に決定される番号である。要求量通知用割当の割当サイクル番号は、式（１）のように表される番号である。
【００５７】
【数１】
2020031325.tif 000003
【００５８】
図２は、従来におけるＳＲ−ＤＢＡ処理と、割当部５４が実行するＳＲ−ＤＢＡ処理の例との比較を示す図である。図２の上段は、従来におけるＳＲ−ＤＢＡ処理を表す。図２の下段は、割当部５４が実行するＳＲ−ＤＢＡ処理を表す。
【００５９】
従来におけるＳＲ−ＤＢＡ処理では、ＯＬＴは、ＯＬＴに接続されている全てのＯＮＵから要求量を受信した後で、上りデータの割当量の算出を開始する。したがって、ＯＬＴは、要求量受信処理と割当量算出処理とを、同一のＤＢＡサイクル内で実行する。従来におけるＳＲ−ＤＢＡ処理では、ＯＬＴは、要求量受信処理の完了を割当量算出処理の起動トリガとする。
【００６０】
これに対して、割当部５４が実行するＳＲ−ＤＢＡ処理では、割当部５４は、要求量受信処理と割当量算出処理とを、互いに異なるＤＢＡサイクル内で実行する。すなわち、割当部５４は、要求量受信サイクルと割当量算出サイクルとを分離して、要求量受信サイクルと割当量算出サイクルとを実行する。
【００６１】
要求量受信処理の周期（要求量受信サイクル）である仮想ＤＢＡサイクルの時間長は、従来におけるＳＲ−ＤＢＡ処理のＤＢＡサイクル長と同一である。割当量算出処理の周期（割当量算出サイクル）の時間長は、連携ＤＢＡのＤＢＡサイクルの時間長と同一である。このように、割当部５４は、ＳＲ−ＤＢＡの割当量算出サイクルのみを連携ＤＢＡのサイクルと同一のサイクルで実行することによって、連携ＤＢＡとＳＲ−ＤＢＡとを融合する。
【００６２】
割当量算出処理では、割当部５４は、割当開始時刻（割当量算出サイクルの先頭時刻）と要求量受信完了時刻とを、割当量算出サイクル（実ＤＢＡサイクル）ごとに比較する。割当部５４は、要求量受信完了時刻よりも割当開始時刻が大きい場合（割当開始時刻が要求量受信完了時刻よりも後である場合）、上りデータの送信に関する要求量を表す情報を取得する。割当部５４は、上りデータの送信に関する要求量を表す情報に基づいて、上りデータの割当量を算出する。
【００６３】
割当量算出サイクルの時間長が連携ＤＢＡのＤＢＡサイクルの時間長と同一であることによって、従来におけるＤＢＡサイクルよりも割当量算出サイクル（実ＤＢＡサイクル）が短くなるので、割当部５４は、同一の割当量算出サイクルでは帯域を割り当て切れない場合がある。このため、割当部５４は、割当量算出処理では、割り当て切れなかった帯域の上りデータ量の情報を保持し、次の割当量算出サイクルにおける上りデータの送信に関する要求量として、上りデータ量を繰り越す。
【００６４】
図３は、ＤＢＡ処理のタイミングの例を示す図である。要求量受信部５２は、要求量受信１００処理を実行する。要求量受信１００の完了時刻以降の割当量算出サイクルの先頭時刻から、要求量受信サイクルの末尾時刻から最大ＲＴＴだけ前の時刻までの期間において、割当部５４は、連携ＤＢＡ用割当１０１によってＯＮＵ６に割り当てられていない帯域（残余帯域）の有無に関係なく、ＨＬＳ用のＯＮＵ７の要求量通知用の割り当て（要求量通知用割当１０２）を実行する。
【００６５】
図３では、割当部５４は、同一の割当量算出サイクルにおいて、連携ＤＢＡ用割当１０１とＳＲ−ＤＢＡ用割当１０３とを実行する。要求量受信サイクルにおいて、割当部５４は、要求量通知用割当１０２によって割り当てられた帯域以外の帯域であって、連携ＤＢＡ用割当１０１によってＯＮＵ６に割り当てられていない帯域（残余帯域）を、ＳＲ−ＤＢＡ用割当１０３によってＯＮＵ７に割り当てる。
【００６６】
割当部５４は、連携ＤＢＡ用割当１０１とＳＲ−ＤＢＡ用割当１０３との両方で余った帯域を、更なる連携ＤＢＡ用割当によってＬＬＳ用のＯＮＵ６に割り当てる。連携ＤＢＡ用割当１０１とＳＲ−ＤＢＡ用割当１０３との両方で余った帯域をＬＬＳ用のＯＮＵ６に割り当てる理由は、連携ＤＢＡがＳＲ−ＤＢＡよりも低遅延性が求められるからである。
【００６７】
図４は、要求量を表す情報を連携処理部５０から読み出す時刻の例を示す図である。要求量を連携処理部５０から読み出す時刻「ＲｅａｄＴｉｍｅ」は、割当対象とする期間の末尾時刻（割当量算出サイクルの末尾時刻）から、割当サイクル長を減算した結果の時刻（割当サイクル長だけ前の時刻）を表す変数である。
【００６８】
割当部５４が上りデータの割当対象とする期間の最小単位（以下「割当サイクル」という。）の時間長（以下「割当サイクル長」という。）は、予め定められる。割当サイクルにおいてＬＬＳ用のＯＮＵ６に下位装置８から到着し得る上りデータの上りデータ量の最小値（以下「最小到着量」という。）は、予め定められる。
【００６９】
割当サイクル長は、割当量算出サイクルが複数に分割された時間長である。割当量算出サイクルの時間長は、下位装置８の無線送信周期（上位装置２及び下位装置８の間で規定される上り送信スケジューリング周期以下の周期）の時間長と同一である。分割数は、ＬＬＳ用のＯＮＵ６の上りデータの割当サイクルの数（以下「ＬＬＳ割当サイクル数」という。）である。
【００７０】
以下、割当サイクル長で要求量受信サイクルを除算して得られる整数を、「ＨＬＳ割当サイクル数」という。連携ＤＢＡのＤＢＡサイクルの時間長は、「割当サイクル長×ＬＬＳ割当サイクル数」と同値である。ＳＲ−ＤＢＡのＤＢＡサイクルの時間長は、「割当サイクル長×ＨＬＳ割当サイクル数」と同値である。
【００７１】
次に、光通信システム１の動作を説明する。
図５は、割当量の算出手順の例を示すフローチャートである。割当部５４は、図５に示されたフローチャートの動作を、割当量算出サイクルごとに実行する。
【００７２】
割当部５４は、ＬＬＳ用のＯＮＵ６の上りデータの送信に関する要求量を表す情報（上りデータ受信時刻及び上りデータ量）を、連携処理部５０から取得する。割当部５４は、ＨＬＳ用のＯＮＵ７の上りデータの送信に関する要求量を表す情報を、要求量受信部５２から取得する（ステップＳ１０１）。
【００７３】
要求量受信部５２及び割当部５４は、上りデータの送信に関する要求量（ＲｅｑｕｅｓｔＳｉｚｅ）を表す情報を更新する（ステップＳ１０２）。割当部５４は、上り送信を許可される上りデータ量を、ＯＮＵごとに算出する（ステップＳ１０３）。割当部５４は、各ＯＮＵのその上りデータ量に基づいて、例えば非特許文献２に示された処理のように、各ＯＮＵの上り送信の開始時刻を算出する（ステップＳ１０４）。割当部５４は、ＬＬＳ用の現在の割当サイクル番号（以下「ＬＬＳ現在割当サイクル番号」という。）をインクリメントする。割当部５４は、ＨＬＳ用の現在の割当サイクル番号（以下「ＨＬＳ現在割当サイクル番号」という。）をインクリメントする（ステップＳ１０５）。
【００７４】
割当部５４は、ＨＬＳ現在割当サイクル番号とＨＬＳ割当サイクル数とが等しいか否かを判定する（ステップＳ１０６）。ＨＬＳ現在割当サイクル番号とＨＬＳ割当サイクル数とが異なる場合（ステップＳ１０６：ＮＯ）、割当部５４は、ステップＳ１０８に処理を進める。ＨＬＳ現在割当サイクル番号とＨＬＳ割当サイクル数とが等しい場合（ステップＳ１０６：ＹＥＳ）、割当部５４は、ＨＬＳ現在割当サイクル番号を０にする（ステップＳ１０７）。なお、ＨＬＳ現在割当サイクル番号は、本フローの終了に達しても０にクリアされず、保持されることとする。
【００７５】
割当部５４は、ＬＬＳ現在割当サイクル番号とＬＬＳ割当サイクル数とが等しいか否かを判定する（ステップＳ１０８）。ＬＬＳ現在割当サイクル番号とＬＬＳ割当サイクル数とが異なる場合（ステップＳ１０８：ＮＯ）、割当部５４は、ステップＳ１０２に処理を戻す。ＬＬＳ現在割当サイクル番号とＬＬＳ割当サイクル数とが等しい場合（ステップＳ１０８：ＹＥＳ）、割当部５４は、図５に示された処理を終了する。ＬＬＳ現在割当サイクル番号は、ＨＬＳ現在割当サイクル番号と異なり、図５に示されたフローチャートの終了に達すると、０にクリアされる。
【００７６】
以下、変数「ｉｄ」は、ＯＬＴ５に接続されているＯＮＵに一意に付与される識別情報を表す。この識別情報は、割当部５４における内部ＩＤである。
【００７７】
図６は、ＬＬＳ用のＯＮＵ６のデータの要求量を取得する手順（図５におけるステップＳ１０１）の例を示すフローチャートである。以下のフローチャートの判断処理の進み先に記載された文字又は数字は、同一の文字又は数字が記載されたステップの処理に進むことを示している。例えば、図６のステップＳ２０３の判断処理の進み先に記載された文字「Ａ」は、図７において同一の文字である「Ａ」が記載されたステップＳ３０１の処理に進むことを示している。
【００７８】
割当部５４は、変数「ｉｄ」に０を代入する（ステップＳ２０１）。割当部５４は、変数「ｉｄ」とＯＬＴ５に接続されているＯＮＵの数とが等しいか否かを判定する（ステップＳ２０２）。変数「ｉｄ」とＯＬＴ５に接続されているＯＮＵの数とが等しい場合（ステップＳ２０２：ＹＥＳ）、割当部５４は、図６に示された処理を終了する。変数「ｉｄ」とＯＬＴ５に接続されているＯＮＵの数とが異なる場合（ステップＳ２０２：ＮＯ）、割当部５４は、論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＬＬＳを表しているか否かを判定する（ステップＳ２０３）。
【００７９】
論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＨＬＳを表している場合（ステップＳ２０３：ＹＥＳ）、割当部５４は、図７のステップＳ３０１に処理を進める。論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＬＬＳを表している場合（ステップＳ２０３：ＹＥＳ）、割当部５４は、変数「ＲｅａｄＴｉｍｅ」に、「割当量算出サイクル先頭時刻＋（ＬＬＳ割当サイクル数−１）×割当サイクル長」の結果を代入する（ステップＳ２０４）。割当部５４は、論理リンク識別子［ｉｄ］における変数「ＲｅａｄＴｉｍｅ」以降の要求量を表す情報を、連携処理部５０から取得する（ステップＳ２０５）。
【００８０】
上位装置２は、変数「ＲｅａｄＴｉｍｅ」と、対象ＯＮＵの論理リンク識別子（論理リンク識別子［ｉｄ］）とを、連携処理部５０に通知する。連携処理部５０は、時刻「ＲｅａｄＴｉｍｅ」以降の上りデータ受信時刻を表す情報を検索する。連携処理部５０は、時刻「ＲｅａｄＴｉｍｅ」以降の上りデータ受信時刻を表す情報が連携処理部５０のメモリに存在する場合、その上りデータ受信時刻と上りデータ量とを、要求量を表す情報として割当部５４に通知する。重複読み出しを避けるために、連携処理部５０は、割当部５４にに通知された上りデータ受信時刻を表す情報と上りデータ量を表す情報とを、連携処理部５０のメモリから消去する。
【００８１】
時刻「ＲｅａｄＴｉｍｅ」以降の上りデータ受信時刻を表す情報が連携処理部５０のメモリに存在しない場合、連携処理部５０は、その上りデータ受信時刻「０」と上りデータ量「０」とを、要求量を表す情報として割当部５４に通知する。
【００８２】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」に、取得された要求量の上りデータ量を代入する。割当部５４は、変数「ＲｅｑｕｅｓｔＴｉｍｅ［ｉｄ］」に、取得された要求量の上りデータ受信時刻を代入する（ステップＳ２０６）。割当部５４は、変数「ｉｄ」をインクリメントする（ステップＳ２０７）。割当部５４は、ステップＳ２０２に処理を戻す。
【００８３】
図７は、ＨＬＳ用のＯＮＵ７のデータの要求量を取得する手順（図５におけるステップＳ１０１）の例を示すフローチャートである。割当部５４は、ＨＬＳ現在割当サイクル番号が０であるか否かを判定する。すなわち、割当部５４は、現在時刻がＳＲ−ＤＢＡのＤＢＡサイクルの先頭時刻であるか否かを判定する（ステップＳ３０１）。ＨＬＳ現在割当サイクル番号が０でない場合（ステップＳ３０１：ＮＯ）、割当部５４は、図６のステップＳ２０７に処理を戻す。
【００８４】
ＨＬＳ現在割当サイクル番号が０である場合（ステップＳ３０１：ＹＥＳ）、割当部５４は、論理リンク識別子［ｉｄ］の要求量を、要求量受信部５２から取得する（ステップＳ３０２）。割当部５４は、論理リンク識別子［ｉｄ］の要求量（上りデータ量）を、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」に代入する（ステップＳ３０３）。割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値よりも大きいか否かを判定する（ステップＳ３０４）。
【００８５】
変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値よりも大きい場合（ステップＳ３０４：ＹＥＳ）、割当部５４は、論理リンク識別子［ｉｄ］の要求量（ＲｅｑｕｅｓｔＳｉｚｅ）の値から、割り当てられた上りデータ量（ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］）の値を減算する。
【００８６】
ここで、論理リンク識別子［ｉｄ］の要求量の値から、割り当てられたデータ量（ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］）を割当部５４が減算する理由は、通知時点においてＯＮＵのバッファに蓄積されている上りデータ量をＯＮＵが要求量としてＯＬＴ５に通知するので、論理リンク識別子［ｉｄ］の要求量には、既に送信が確定しているデータも含まれているためである（ステップＳ３０５）。
【００８７】
なお、送信を確定しているデータをＯＮＵが除去して要求量としてＯＬＴ５に通知している場合、ステップＳ３０５において、割当部５４は、論理リンク識別子［ｉｄ］の要求量（ＲｅｑｕｅｓｔＳｉｚｅ）の値から、割り当てられたデータ量（ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］）を減算しない。
【００８８】
変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値以下である場合（ステップＳ３０４：ＮＯ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」に０を代入する（ステップＳ３０６）。
【００８９】
以下、割当サイクルにおいて変数「ＲｅｑｕｅｓｔＳｉｚｅ」が０でないＬＬＳ用のＯＮＵの数を「ＬＬＳ有効ＯＮＵ数」という。以下、割当サイクルにおいて変数「ＲｅｑｕｅｓｔＳｉｚｅ」が０でないＨＬＳ用のＯＮＵの数を「ＨＬＳ有効ＯＮＵ数」という。変数「ＲｅｑｕｅｓｔＳｉｚｅ」の値とは関係なく、ＯＬＴに接続されているＬＬＳ用のＯＮＵの数を「ＬＬＳ接続ＯＮＵ数」という。
【００９０】
図８は、ＯＮＵのデータの要求量を更新する手順（図５におけるステップＳ１０２）の例を示すフローチャートである。割当部５４は、変数「ｉｄ」に０を代入し、変数「ＬＬＳ有効ＯＮＵ数」に０を代入し、変数「ＨＬＳ有効ＯＮＵ数」に０を代入し、変数「ＬＬＳ接続ＯＮＵ数」に０を代入する（ステップＳ４０１）。
【００９１】
割当部５４は、変数「ｉｄ」と接続されているＯＮＵの数とが等しいか否かを判定する（ステップＳ４０２）。変数「ｉｄ」と接続されているＯＮＵの数とが等しい場合（ステップＳ４０１：ＹＥＳ）、割当部５４は、図８に示された処理を終了する。変数「ｉｄ」と接続されているＯＮＵの数とが異なる場合（ステップＳ４０１：ＮＯ）、割当部５４は、論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＬＬＳを表すか否かを判定する（ステップＳ４０３）。
【００９２】
論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＬＬＳを表す場合（ステップＳ４０３：ＹＥＳ）、割当部５４は、割当サイクル先頭時刻が時刻「ＲｅｑｕｅｓｔＴｉｍｅ［ｉｄ］」よりも前であるか否かを判定する（ステップＳ４０４）。割当サイクル先頭時刻が時刻「ＲｅｑｕｅｓｔＴｉｍｅ［ｉｄ］」よりも前である場合（ステップＳ４０４：ＹＥＳ）、割当部５４は、ステップＳ４０７に処理を進める。
【００９３】
割当サイクル先頭時刻が時刻「ＲｅｑｕｅｓｔＴｉｍｅ［ｉｄ］」以降である場合（ステップＳ４０４：ＮＯ）、割当部５４は、要求量を表す変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値を加算する（ステップＳ４０５）。割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値を０にする（ステップＳ４０６）。
【００９４】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０より大きいか否かを判定する（ステップＳ４０７）。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０以下である場合（ステップＳ４０７：ＮＯ）、割当部５４は、ステップＳ４０９に処理を進める。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０より大きい場合（ステップＳ４０７：ＹＥＳ）、割当部５４は、変数「ＬＬＳ有効ＯＮＵ数」の値をインクリメントする（ステップＳ４０８）。
【００９５】
割当部５４は、変数「ＬＬＳ接続ＯＮＵ数」の値をインクリメントする（ステップＳ４０９）。割当部５４は、変数「ｉｄ」の値をインクリメントする（ステップＳ４１０）。割当部５４は、ステップＳ４０２に処理を戻す。
【００９６】
論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＨＬＳを表す場合（ステップＳ４０３：ＮＯ）、割当部５４は、変数「ＨＬＳ現在割り当てサイクル番号」が０と等しいか否かを判定する（ステップＳ４１１）。変数「ＨＬＳ現在割り当てサイクル番号」が０とは異なる場合（ステップＳ４１１：ＮＯ）、割当部５４は、ステップＳ４１３に処理を進める。変数「ＨＬＳ現在割り当てサイクル番号」が０と等しい場合（ステップＳ４１１：ＹＥＳ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値を代入する（ステップＳ４１２）。
【００９７】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０より大きいか否かを判定する（ステップＳ４１３）。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０以下である場合（ステップＳ４１３：ＮＯ）、割当部５４は、ステップＳ４１０に処理を進める。
【００９８】
変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０より大きい場合（ステップＳ４０７：ＹＥＳ）、割当部５４は、変数「ＨＬＳ有効ＯＮＵ数」の値をインクリメントする（ステップＳ４１４）。割当部５４は、ステップＳ４１０に処理を進める。
【００９９】
図９は、ＯＮＵのデータの要求量を更新するタイミングの例を示す図である。割当部５４は、割当サイクル先頭時刻が時刻「ＲｅｑｕｅｓｔＴｉｍｅ」以降となった場合、ＬＬＳ用のＯＮＵの変数「ＲｅｑｕｅｓｔＳｉｚｅ」を更新する。割当部５４は、ＨＬＳ現在割当サイクル番号が０である場合、ＨＬＳ用のＯＮＵの変数「ＲｅｑｕｅｓｔＳｉｚｅ」の値を更新する。すなわち、割当部５４は、ＳＲ−ＤＢＡのＤＢＡサイクル（要求量受信サイクル）の先頭にて、ＨＬＳ用のＯＮＵの変数「ＲｅｑｕｅｓｔＳｉｚｅ」の値を更新する。
【０１００】
図１０は、上り送信のデータ量固定割当データ量及び追加割当データ量を算出する手順の例を示すフローチャートである。割当部５４は、ＬＬＳ用のＯＮＵの残余分（ＬＬＳ用の全てのＯＮＵ６の要求量「ＲｅｑｕｅｓｔＳｉｚｅ」が０）になった場合、ＨＬＳ用のＯＮＵ７の要求量に基づいて、ＨＬＳ用のＯＮＵ７に上りデータ量を割り当てる。さらに、両者で余った上りデータ量をＬＬＳ用のＯＮＵ６に均等に割り当てるように、追加割当データ量に関して、ＨＬＳ用の追加割当処理（図１３、図１４及び図１５）を先に実行した後、ＬＬＳ用の追加割当処理（図１６）を実行する。
【０１０１】
割当部５４は、図１１を用いて後述されるように、ＨＬＳ用のＯＮＵの要求量の通知に必要とされるデータ量（ＨＬＳ固定割当データ量）を、ＨＬＳ用のＯＮＵに割り当てる（ステップＳ５０１）。割当部５４は、図１２を用いて後述されるように、ＬＬＳ用のＯＮＵの固定割当データ量（ＬＬＳ固定割当データ量）を、ＬＬＳ用のＯＮＵに割り当てる（ステップＳ５０２）。
【０１０２】
割当部５４は、図１３、図１４及び図１５を用いて後述されるように、ＨＬＳ用のＯＮＵの上りデータの送信に関する要求量に応じて適応的に、残った未割当のデータ量をＨＬＳ用のＯＮＵに追加割当する（ステップＳ５０３）。割当部５４は、図１６を用いて後述されるように、ＬＬＳ用のＯＮＵの上りデータの送信に関する要求量に応じて適応的に、残った未割当のデータ量をＬＬＳ用のＯＮＵに追加割当する（ステップＳ５０４）。
【０１０３】
なお、図１０から図１６までまでの各フローチャートにおいて、説明を簡単にするために、誤り訂正のためのパリティビット分を含まない割り当てが記載されている。図１０から図１６までの各フローチャートは、パリティビットを含む割り当てのフローチャートでもよい。
【０１０４】
図１１は、要求量の通知に必要とされるデータ量をＨＬＳ用のＯＮＵ７に割り当てる手順の例を示すフローチャートである。以下では、要求量の通知に必要とされるデータ量を「要求量通知用割当データ量」と表記する。以下では、割当サイクル内にて割当可能なデータ量のうち、未割当のデータ量を示す値を「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔh」と表記する。以下では、バースト・オーバヘッド（Burst Overhead）を「ＢＯＨ」と表記する。
【０１０５】
割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」に、割当サイクル長において送信できる最大データ量を代入する（ステップＳ６０１）。割当部５４は、ＨＬＳ現在割当サイクル番号と要求量通知用割当サイクル番号とが等しいか否かを判定する（ステップＳ６０２）。ＨＬＳ現在割当サイクル番号と要求量通知用割当サイクル番号とが異なる場合（ステップＳ６０２：ＮＯ）、割当部５４は、図１１に示された処理を終了する。
【０１０６】
ＨＬＳ現在割当サイクル番号と要求量通知用割当サイクル番号とが等しい場合（ステップＳ６０２：ＹＥＳ）、割当部５４は、変数「ｉｄ」の値を０にする（ステップＳ６０３）。割当部５４は、変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが等しいか否かを判定する（ステップＳ６０４）。変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが等しい場合（ステップＳ６０４：ＹＥＳ）、割当部５４は、図１１に示された処理を終了する。
【０１０７】
変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが異なる場合（ステップＳ６０４：ＮＯ）、割当部５４は、論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＬＬＳを表すか否かを判定する（ステップＳ６０５）。論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＬＬＳを表す場合（ステップＳ６０５：ＹＥＳ）、割当部５４は、ステップＳ６０４に処理を戻す。論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＨＬＳを表す場合（ステップＳ６０５：ＮＯ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「要求量通知用割当データ量＋ＢＯＨ」の値を代入する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」に１を代入する。要求量通知要求フラグが１であるとは、要求量の通知をＯＮＵに指示することを意味する（ステップＳ６０６）。
【０１０８】
割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「割り当てデータ量［論理リンク識別子［ｉｄ］］」の値を減算する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値を０にする（ステップＳ６０７）。割当部５４は、変数「ｉｄ」の値をインクリメントする（ステップＳ６０８）。割当部５４は、ステップＳ６０４に処理を戻す。
【０１０９】
図１２は、ＬＬＳ用のＯＮＵ６に固定データ量を割り当てる手順の例を示すフローチャートである。要求量「ＲｅｑｕｅｓｔＳｉｚｅ」の値とは無関係に、割当サイクルごとにＬＬＳ用のＯＮＵに割り当てるデータ量を、以下では「ＬＬＳ最小割当データ量」と表記する。
【０１１０】
割当部５４は、変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが等しいか否かを判定する（ステップＳ７０１）。変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが等しい場合（ステップＳ７０１：ＹＥＳ）、割当部５４は、図１２に示された処理を終了する。変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが異なる場合（ステップＳ７０１：ＮＯ）、割当部５４は、論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＬＬＳを表しているか否かを判定する（ステップＳ７０２）。論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＨＬＳを表している場合（ステップＳ７０２：ＮＯ）、割当部５４は、図１２に示された処理を終了する。
【０１１１】
論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＬＬＳを表している場合（ステップＳ７０２：ＹＥＳ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＬＬＳ最小割当データ量＋ＢＯＨ」の値を代入する（ステップＳ７０３）。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「割当データ量［論理リンク識別子［ｉｄ］］の値を減算する（ステップＳ７０４）。割当部５４は、変数「ｉｄ」の値をインクリメントする（ステップＳ７０５）。割当部５４は、ステップＳ７０１に処理を戻す。
【０１１２】
図１３は、ＨＬＳ用のＯＮＵ７に追加データ量を割り当てる手順の例を示すフローチャートの第１部分である。固定割当データ量計算（図１０におけるステップＳ５０１及びステップＳ５０２）において、バーストオーバヘッドが割当データ量として既に付与されている場合、バーストオーバヘッドが割当データ量として追加付与されないようにするために、割当部５４は、未付与のバーストオーバヘッド量「ＡｄｄＢＯＨ」を算出する。
【０１１３】
図１３、図１４及び図１５における追加割当処理では、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ」以上の要求量を割り当てないようにする。割り当ての要求量が変数「ＲｅｑｕｅｓｔＳｉｚｅ」よりも小さい場合、割当部５４は、割り当てた上りデータ量（要求量）を変数「ＲｅｑｕｅｓｔＳｉｚｅ」から減算し、減算された上りデータ量を次の割当サイクルに繰り越す。
【０１１４】
割当部５４は、変数「ＬＬＳ有効ＯＮＵ数」の値が０であり、かつ、変数「ＨＬＳ有効ＯＮＵ数」の値が０より大きいか否かを判定する（ステップＳ８０１）。変数「ＬＬＳ有効ＯＮＵ数」の値が０であり、かつ、変数「ＨＬＳ有効ＯＮＵ数」の値が０より大きい場合（ステップＳ８０１：ＹＥＳ）、割当部５４は、変数「ＨＬＳ現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが等しいか否かを判定する（ステップＳ８０２）。
【０１１５】
変数「ＨＬＳ現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが等しい場合（ステップＳ８０２：ＹＥＳ）、割当部５４は、未付与のバーストオーバヘッド量の変数「ＡｄｄＢＯＨ」の値を０にする（ステップＳ８０３）。割当部５４は、ステップＳ８０５に処理を進める。
【０１１６】
変数「ＨＬＳ現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが異なる場合（ステップＳ８０２：ＮＯ）、割当部５４は、未付与のバーストオーバヘッド量の変数「ＡｄｄＢＯＨ」の値を、変数「ＢＯＨ×ＨＬＳ有効ＯＮＵ数」の値にする（ステップＳ８０４）。割当部５４は、ステップＳ８０５に処理を進める。
【０１１７】
割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値が変数「ＡｄｄＢＯＨ」の値よりも大きいか否かを判定する（ステップＳ８０５）。変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値が変数「ＡｄｄＢＯＨ」の値よりも大きい場合（ステップＳ８０５：ＹＥＳ）、割当部５４は、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」に、「（ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ−ＡｄｄＢＯＨ）／ＨＬＳ有効ＯＮＵ数」の結果を代入する（ステップＳ８０６）。割当部５４は、変数「ｉｄ」の値を０にする（ステップＳ８０７）。
【０１１８】
割当部５４は、変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが等しいか否かを判定する（ステップＳ８０８）。変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが異なる場合（ステップＳ８０８：ＮＯ）、割当部５４は、論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＬＬＳを表しているか否かを判定する（ステップＳ８０９）。論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＨＬＳを表している場合（ステップＳ８０９：ＮＯ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０よりも大きいか否かを判定する（ステップＳ８１０）。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０よりも大きい場合（ステップＳ８１０：ＹＥＳ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値より大きいか否かを判定する（ステップＳ８１１）。
【０１１９】
図１４は、ＨＬＳ用のＯＮＵ７に追加データ量を割り当てる手順の例を示すフローチャートの第２部分である。割当部５４は、変数「ＡｄｄＢＯＨ」の値が０より大きいか否かを判定する（ステップＳ８１２）。変数「ＡｄｄＢＯＨ」の値が０以下である場合（ステップＳ８１２：ＮＯ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を加算する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」の値に０を代入する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐ」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を代入する。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を減算する（ステップＳ８１３）。割当部５４は、ステップＳ８１５に処理を進める。
【０１２０】
変数「ＡｄｄＢＯＨ」の値が０より大きい場合（ステップＳ８１２：ＹＥＳ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ＋ＢＯＨ」の値を代入する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」の値に０を代入する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐ」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を代入する。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ＋ＢＯＨ」の値を減算する（ステップＳ８１４）。
【０１２１】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値から、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を減算する（ステップＳ８１５）。割当部５４は、変数「ＨＬＳ現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値よりも小さいか否かを判定する（ステップＳ８１６）。変数「ＨＬＳ現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値よりも小さい場合（ステップＳ８１６：ＹＥＳ）、割当部５４は、ステップＳ８１８に処理を進める。
【０１２２】
変数「ＨＬＳ現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値以上である場合（ステップＳ８１６：ＮＯ）、割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値に、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐの値を加算する（ステップＳ８１７）。割当部５４は、変数「ｉｄ」の値をインクリメントする（ステップＳ８１８）。
【０１２３】
図１５は、ＨＬＳ用のＯＮＵ７に追加データ量を割り当てる手順の例を示すフローチャートの第３部分である。割当部５４は、変数「ＡｄｄＢＯＨ」の値が０より大きいか否かを判定する（ステップＳ８１９）。変数「ＡｄｄＢＯＨ」の値が０より大きい場合（ステップＳ８１９：ＹＥＳ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を代入する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」の値に０を代入する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐ」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を代入する。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］＋ＢＯＨ」の値を減算する（ステップＳ８２０）。
【０１２４】
変数「ＡｄｄＢＯＨ」の値が０以下である場合（ステップＳ８１９：ＮＯ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を加算する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」の値に０を代入する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐ」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を代入する。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を減算する（ステップＳ８２１）。割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値に０を代入する（ステップＳ８２２）。
【０１２５】
図１６は、ＬＬＳ用のＯＮＵ６に追加データ量を割り当てる手順の例を示す図である。未割当データ量が存在し、かつ、ＬＬＳ有効ＯＮＵ数が０でない場合、割当部５４は、要求量を表す変数「ＲｅｑｕｅｓｔＳｉｚｅ」が０でないＬＬＳ用のＯＮＵ６のみに対して、未割当データ量を均等に分配する。ＬＬＳ有効ＯＮＵ数が０である場合、割当部５４は、ＬＬＳ用の全てのＯＮＵに対して、未割当データ量を均等に分配する。
【０１２６】
割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値が０よりも大きいか否かを判定する（ステップＳ９０１）。変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値が０以下である場合（ステップＳ９０１：ＮＯ）、割当部５４は、図１６に示された処理を終了する。変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値が０よりも大きい場合（ステップＳ９０１：ＹＥＳ）、割当部５４は、変数「ＬＬＳ有効ＯＮＵ数」の値が０であるか否かを判定する（ステップＳ９０２）。
【０１２７】
変数「ＬＬＳ有効ＯＮＵ数」の値が０である場合（ステップＳ９０２：ＹＥＳ）、割当部５４は、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」に、「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ／ＬＬＳ接続ＯＮＵ数」の結果を代入する（ステップＳ９０３）。変数「ＬＬＳ有効ＯＮＵ数」の値が０でない場合（ステップＳ９０２：ＮＯ）、割当部５４は、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」に、「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ／ＬＬＳ有効ＯＮＵ数」の結果を代入する（ステップＳ９０４）。割当部５４は、変数「ｉｄ」の値を０にする（ステップＳ９０５）。
【０１２８】
割当部５４は、変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが等しいか否かを判定する（ステップＳ９０６）。変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが等しい場合（ステップＳ９０６：ＹＥＳ）、割当部５４は、図１６に示された処理を終了する。変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが異なる場合（ステップＳ９０６：ＮＯ）、割当部５４は、論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＬＬＳを表しているか否かを判定する（ステップＳ９０７）。論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＨＬＳを表している場合（ステップＳ９０７：ＮＯ）、割当部５４は、ステップＳ９１３に処理を進める。
【０１２９】
論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＬＬＳを表している場合（ステップＳ９０７：ＹＥＳ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０よりも大きいか否か、又は、変数「ＬＬＳ有効ＯＮＵ数」の値が０であるか否かを判定する（ステップＳ９０８）。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０以下である、かつ、変数「ＬＬＳ有効ＯＮＵ数」の値が０でない場合（ステップＳ９０８：ＮＯ）、割当部５４は、ステップＳ９１３に処理を進める。
【０１３０】
変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０よりも大きい、又は、変数「ＬＬＳ有効ＯＮＵ数」の値が０である場合（ステップＳ９０８：ＹＥＳ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＬｌｓ」の値を加算する（ステップＳ９０９）。
【０１３１】
割当部５４は、ＬＬＳ用のＯＮＵ６に対する上りデータ量について予め定められた最小到着量と変数「ＡｄｄＧｒａｎｔＳｉｚｅＬｌｓ」の値とのうちで小さいほうの値よりも、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が小さいか否かを判定する（ステップＳ９１０）。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が最小到着量と変数「ＡｄｄＧｒａｎｔＳｉｚｅＬｌｓ」の値とのうちで小さいほうの値以上である場合（ステップＳ９１０：ＮＯ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値から、最小到着量と変数「ＡｄｄＧｒａｎｔＳｉｚｅＬｌｓ」の値とのうちで小さいほうの値を減算する（ステップＳ９１１）。
【０１３２】
最小到着量と変数「ＡｄｄＧｒａｎｔＳｉｚｅＬｌｓ」の値とのうちで小さいほうの値よりも、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が小さい場合（ステップＳ９１０：ＹＥＳ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」に０を代入する（ステップＳ９１２）。割当部５４は、変数「ｉｄ」をインクリメントする（ステップＳ９１３）。割当部５４は、ステップＳ９０６に処理を戻す。
【０１３３】
以上のように、第１実施形態のＯＬＴ５（帯域割当装置）は、連携処理部５０（取得部）と、要求量受信部５２と、割当部５４とを備える。連携処理部５０は、上りデータを低遅延で転送する必要があるＯＮＵ６（第１加入者線終端装置）の上りデータの送信に関するスケジューリング情報を取得する。要求量受信部５２は、上りデータを低遅延で転送する必要がないＯＮＵ７（第２加入者線終端装置）から、ＯＮＵ７の上りデータの送信に関する要求量を表す情報を、最大ＲＴＴ以上のサイクルである要求量受信サイクルで受信する。割当部５４は、要求量受信サイクルよりも短い割当量算出サイクル（割当量決定サイクル）で、スケジューリング情報に基づいてＯＮＵ６の上りデータに帯域を割り当てる。割当部５４は、要求量受信サイクルよりも短い割当量算出サイクル（割当量決定サイクル）で、要求量を表す情報に基づいてＯＮＵ７の上りデータに帯域を割り当てる。
【０１３４】
これによって、第１実施形態のＯＬＴ５は、連携ＤＢＡとＳＲ−ＤＢＡとを両立させることが可能である。
【０１３５】
すなわち、第１実施形態のＯＬＴ５は、同一ＯＬＴ上で、ＳＲ−ＤＢＡと連携ＤＢＡとを仮想的に異なるＤＢＡサイクルで動作させることが可能である。第１実施形態のＯＬＴ５は、ＳＲ−ＤＢＡと連携ＤＢＡとの同時運用（融合）による、ＬＬＳ向けの低遅延とＨＬＳ及びＦＴＴＨ向けの高帯域利用効率とを両立させることが可能である。
【０１３６】
第１実施形態の割当部５４は、要求量通知用割当１０２において、要求量を表す情報の上りデータの送信用に帯域を割り当ててもよい。割当部５４は、要求量を表す情報の上りデータの送信用に割り当てられずに残った帯域を、連携ＤＢＡ用割当１０１において、ＯＮＵ６の上りデータの送信用に割り当ててもよい。割当部５４は、ＯＮＵ６の上りデータに割り当てられずに残った帯域を、ＳＲ−ＤＢＡ用割当１０３において、ＯＮＵ７の上りデータの送信用に割り当ててもよい。割当部５４は、ＯＮＵ７の上りデータの送信用に割り当てられずに残った帯域を、ＯＮＵ６の上りデータに例えば均等に割り当ててもよい。
【０１３７】
また、第１の実施形態において、ＯＮＵ７は、ＨＬＳ用の下位装置９と接続されているが、ＦＴＴＨ用の下位装置と接続されても良い。この場合、上位装置３は同様にＦＴＴＨ用の装置である。また、ＦＴＴＨ用の上位装置とＨＬＳ用の上位装置とは、光通信システム１において混在しても良い。
【０１３８】
（第２実施形態）
第２実施形態では、ＨＬＳ用のＯＮＵ７に対して、最低割当データ量（以下「最小データ量」という。）から最大割当データ量（以下「最大データ量」という。）までの範囲内で割当部５４が割り当てる点が、第１実施形態と相違する。第２実施形態では、第１実施形態との相違点を説明する。
【０１３９】
図１７は、要求量と割当量（割当データ量）との関係の例を示す図である。最小データ量は、ＨＬＳ用のＯＮＵ７からＯＬＴ５に通知された要求量の有無に関係なく、ＨＬＳ用のＯＮＵ７に割り当てるデータ量である。最大データ量は、ＨＬＳ用のＯＮＵ７に割り当て可能であるデータ量の最大値である。最小データ量及び最大データ量は、ＨＬＳ用のＯＮＵ７ごとに、外部装置等によって予め定められた値である。追加割当可能である割当データ量の上限（割当上限）は、ＬＬＳ用のＯＮＵ６の残余データ量（ＬＬＳ用の全てのＯＮＵ６の要求量「ＲｅｑｕｅｓｔＳｉｚｅ」が０であることによって余る帯域））に応じて変化する。すなわち、割当データ量の残余（残余データ量）次第で、追加割当が可能である割当データ量の上限（割当上限）が変化する。最大データ量は、残余データ量が最大データ量よりも大きい場合のみ有効である。最小データ量は、残余データ量が最小データ量よりも大きい場合のみ有効である。
【０１４０】
図１８は、ＬＬＳ用のＯＮＵ６の要求量を取得する手順の例を示すフローチャートである。ステップＳ１００１からステップＳ１００７までの動作は、図６におけるステップＳ２０１からステップＳ２０７までの動作と同様である。
【０１４１】
図１９は、ＨＬＳ用のＯＮＵ７の要求量を取得する手順（図５におけるステップＳ１０１）の例を示すフローチャートである。割当部５４は、ＨＬＳ現在割当サイクル番号が０であるか否かを判定する。すなわち、割当部５４は、現在時刻がＳＲ−ＤＢＡのＤＢＡサイクルの先頭時刻であるか否かを判定する（ステップＳ１１０１）。ＨＬＳ現在割当サイクル番号が０でない場合（ステップＳ１１０１：ＮＯ）、割当部５４は、図１８のステップＳ１００７に処理を戻す。
【０１４２】
ＨＬＳ現在割当サイクル番号が０である場合（ステップＳ１１０１：ＹＥＳ）、割当部５４は、論理リンク識別子［ｉｄ］の要求量を、要求量受信部５２から取得する（ステップＳ１１０２）。割当部５４は、論理リンク識別子［ｉｄ］の要求量（上りデータ量）を、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」に代入する（ステップＳ１１０３）。割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値よりも大きいか否かを判定する（ステップＳ１１０４）。
【０１４３】
変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値よりも大きい場合（ステップＳ１１０４：ＹＥＳ）、割当部５４は、論理リンク識別子［ｉｄ］の要求量（ＲｅｑｕｅｓｔＳｉｚｅ）の値から、割り当てられたデータ量（ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］）の値を減算する（ステップＳ１１０５）。
【０１４４】
変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値以下である場合（ステップＳ１１０４：ＮＯ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」に０を代入する（ステップＳ１１０６）。
【０１４５】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「最小データ量［論理リンク識別子［ｉｄ］］」の値よりも大きいか否かを判定する（ステップＳ１１０７）。変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「最小データ量［論理リンク識別子［ｉｄ］］」の値よりも大きい場合（ステップＳ１１０７：ＹＥＳ）、割当部５４は、ステップＳ１１０９に処理を進める。
【０１４６】
変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が変数「最小データ量［論理リンク識別子［ｉｄ］］」の値以下である場合（ステップＳ１１０７：ＮＯ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」に、変数「最小データ量［論理リンク識別子［ｉｄ］］」の値を代入する（ステップＳ１１０８）。割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が、変数「最大データ量［論理リンク識別子［ｉｄ］］」の値よりも大きいか否かを判定する（ステップＳ１１０９）。
【０１４７】
変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が、変数「最大データ量［論理リンク識別子［ｉｄ］］」の値よりも大きい場合（ステップＳ１１０９：ＹＥＳ）、割当部５４は、図１８に示されているステップＳ１００７に処理を進める。
【０１４８】
変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値が、変数「最大データ量［論理リンク識別子［ｉｄ］］」の値以下である場合（ステップＳ１１０９：ＮＯ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」に、変数「最大データ量［論理リンク識別子［ｉｄ］］」の値を代入する（ステップＳ１１１０）。割当部５４は、図１８に示されているステップＳ１００７に処理を進める。
【０１４９】
以上のように、第２実施形態の割当部５４は、予め定められた最小データ量を表す情報と、予め定められた最大データ量を表す情報とを取得する。割当部５４は、要求量が最小データ量未満である場合、ＯＮＵ７の上りデータの送信用に最小データ量の帯域を割り当てる。割当部５４は、要求量が最大データ量を超えている場合、ＯＮＵ７の上りデータの送信用に最大データ量の帯域を割り当てる。
【０１５０】
これによって、第２実施形態のＯＬＴ５は、連携ＤＢＡとＳＲ−ＤＢＡとを両立させる効率を向上させることが可能である。
【０１５１】
（第３実施形態）
第３実施形態では、ＨＬＳ用のＯＮＵ７の上りデータの追加割当処理において、ＨＬＳ用のＯＮＵ７ごとに予め定められた重み係数に応じて割当部５４が残余データ量をＨＬＳ用のＯＮＵ７に分配する点が、第１実施形態及び第２実施形態と相違する。第３実施形態では、第１実施形態及び第２実施形態との相違点を説明する。
【０１５２】
以下、要求量「ＲｅｑｕｅｓｔＳｉｚｅ」が０でないＨＬＳ用のＯＮＵの重み係数（ＯｎｕＷｅｉｇｈｔ）の和を「ＯｎｕＷｅｉｇｈｔＳｕｍ」と表記する。割当部５４は、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を重み係数に応じて算出することによって、ＨＬＳ用のＯＮＵ７の割当データ量を決定する。
【０１５３】
図２０は、ＨＬＳ用のＯＮＵ７に追加データ量を割り当てる手順の例を示すフローチャートの第１部分である。割当部５４は、変数「ＬＬＳ有効ＯＮＵ数」の値が０であり、かつ、変数「ＨＬＳ有効ＯＮＵ数」の値が０より大きいか否かを判定する（ステップＳ１２０１）。変数「ＬＬＳ有効ＯＮＵ数」の値が０であり、かつ、変数「ＨＬＳ有効ＯＮＵ数」の値が０より大きい場合（ステップＳ１２０１：ＹＥＳ）、割当部５４は、変数「ＨＬＳ現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが等しいか否かを判定する（ステップＳ１２０２）。
【０１５４】
変数「ＨＬＳ現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが等しい場合（ステップＳ１２０２：ＹＥＳ）、割当部５４は、未付与のバーストオーバヘッド量の変数「ＡｄｄＢＯＨ」の値を０にする（ステップＳ１２０３）。割当部５４は、ステップＳ１２０５に処理を進める。
【０１５５】
変数「ＨＬＳ現在割り当てサイクル番号」の値と変数「要求量通知用割り当てサイクル番号」の値とが異なる場合（ステップＳ１２０２：ＮＯ）、割当部５４は、未付与のバーストオーバヘッド量の変数「ＡｄｄＢＯＨ」の値を、変数「ＢＯＨ×ＨＬＳ有効ＯＮＵ数」の値にする（ステップＳ１２０４）。割当部５４は、ステップＳ１２０５に処理を進める。
【０１５６】
割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値が変数「ＡｄｄＢＯＨ」の値よりも大きいか否かを判定する（ステップＳ１２０５）。変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値が変数「ＡｄｄＢＯＨ」の値よりも大きい場合（ステップＳ１２０５：ＹＥＳ）、割当部５４は、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」に、「（ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ−ＡｄｄＢＯＨ）／ＯｎｕＷｅｉｇｈｔＳｕｍ」の結果を代入する（ステップＳ１２０６）。割当部５４は、変数「ｉｄ」の値を０にする（ステップＳ１２０７）。
【０１５７】
割当部５４は、変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが等しいか否かを判定する（ステップＳ１２０８）。変数「ｉｄ」の値と変数「接続ＯＮＵ数」の値とが異なる場合（ステップＳ１２０８：ＮＯ）、割当部５４は、論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＬＬＳを表しているか否かを判定する（ステップＳ１２０９）。論理リンク識別子［ｉｄ］のＯＮＵ＿ＴＹＰＥがＨＬＳを表している場合（ステップＳ１２０９：ＮＯ）、割当部５４は、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」に、「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓＴｍｐ×重み係数［論理リンク識別子［ｉｄ］］」の結果を代入する（ステップＳ１２１０）。
【０１５８】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０よりも大きいか否かを判定する（ステップＳ１２１１）。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０よりも大きい場合（ステップＳ１２１１：ＹＥＳ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値より大きいか否かを判定する（ステップＳ１２１２）。
【０１５９】
図２１は、ＨＬＳ用のＯＮＵ７に追加データ量を割り当てる手順の例を示すフローチャートの第２部分である。割当部５４は、変数「ＡｄｄＢＯＨ」の値が０より大きいか否かを判定する（ステップＳ１２１３）。変数「ＡｄｄＢＯＨ」の値が０以下である場合（ステップＳ１２１３：ＮＯ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を加算する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」の値に０を代入する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐ」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を代入する。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を減算する（ステップＳ１２１４）。割当部５４は、ステップＳ１２１６に処理を進める。
【０１６０】
変数「ＡｄｄＢＯＨ」の値が０より大きい場合（ステップＳ１２１３：ＹＥＳ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ＋ＢＯＨ」の値を代入する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」の値に０を代入する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐ」の値に、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を代入する。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ＋ＢＯＨ」の値を減算する（ステップＳ１２１５）。
【０１６１】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値から、変数「ＡｄｄＧｒａｎｔＳｉｚｅＨｌｓ」の値を減算する（ステップＳ１２１６）。割当部５４は、変数「ＨＬＳ現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値よりも小さいか否かを判定する（ステップＳ１２１７）。変数「ＨＬＳ現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値よりも小さい場合（ステップＳ１２１７：ＹＥＳ）、割当部５４は、ステップＳ１２１９に処理を進める。
【０１６２】
変数「ＨＬＳ現在割り当てサイクル番号」の値が変数「要求量通知用割り当てサイクル番号」の値以上である場合（ステップＳ１２１７：ＮＯ）、割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅ［ｉｄ］」の値に、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐの値を加算する（ステップＳ１２１８）。割当部５４は、変数「ｉｄ」の値をインクリメントする（ステップＳ１２１９）。
【０１６３】
図２２は、ＨＬＳ用のＯＮＵ７に追加データ量を割り当てる手順の例を示すフローチャートの第３部分である。割当部５４は、変数「ＡｄｄＢＯＨ」の値が０より大きいか否かを判定する（ステップＳ１２２０）。変数「ＡｄｄＢＯＨ」の値が０より大きい場合（ステップＳ１２２０：ＹＥＳ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を代入する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」の値に０を代入する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐ」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を代入する。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］＋ＢＯＨ」の値を減算する（ステップＳ１２２１）。
【０１６４】
変数「ＡｄｄＢＯＨ」の値が０以下である場合（ステップＳ１２２０：ＮＯ）、割当部５４は、変数「割当データ量［論理リンク識別子［ｉｄ］］」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を加算する。割当部５４は、変数「要求量通知要求フラグ［論理リンク識別子［ｉｄ］］」の値に０を代入する。割当部５４は、変数「ＡｌｌｏｃａｔｅｄＳｉｚｅＴｍｐ」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を代入する。割当部５４は、変数「ｒＧｒａｎｔＣｙｃｌｅＬｅｎｇｔｈ」の値から、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値を減算する（ステップＳ１２２２）。割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値に０を代入する（ステップＳ１２２３）。
【０１６５】
図２３は、ＨＬＳ用のＯＮＵ７の重み係数を計測する処理を含む、ＯＮＵのデータの要求量を取得する手順の例（図５におけるステップＳ１０２）を示すフローチャートである。割当部５４は、変数「ｉｄ」に０を代入し、変数「ＬＬＳ有効ＯＮＵ数」に０を代入し、変数「ＨＬＳ有効ＯＮＵ数」に０を代入し、変数「ＬＬＳ接続ＯＮＵ数」に０を代入し、変数「ＯｎｕＷｅｉｇｈｔＳｕｍ」に０を代入する（ステップＳ１３０１）。
【０１６６】
割当部５４は、変数「ｉｄ」と接続されているＯＮＵの数とが等しいか否かを判定する（ステップＳ１３０２）。変数「ｉｄ」と接続されているＯＮＵの数とが等しい場合（ステップＳ１３０１：ＹＥＳ）、割当部５４は、図８に示された処理を終了する。変数「ｉｄ」と接続されているＯＮＵの数とが異なる場合（ステップＳ１３０１：ＮＯ）、割当部５４は、論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＬＬＳを表すか否かを判定する（ステップＳ１３０３）。
【０１６７】
論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＬＬＳを表す場合（ステップＳ１３０３：ＹＥＳ）、割当部５４は、割当サイクル先頭時刻が時刻「ＲｅｑｕｅｓｔＴｉｍｅ［ｉｄ］」よりも前であるか否かを判定する（ステップＳ１３０４）。割当サイクル先頭時刻が時刻「ＲｅｑｕｅｓｔＴｉｍｅ［ｉｄ］」よりも前である場合（ステップＳ１３０４：ＹＥＳ）、割当部５４は、ステップＳ１３０７に処理を進める。
【０１６８】
割当サイクル先頭時刻が時刻「ＲｅｑｕｅｓｔＴｉｍｅ［ｉｄ］」以降である場合（ステップＳ１３０４：ＮＯ）、割当部５４は、要求量を表す変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値を加算する（ステップＳ１３０５）。割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値を０にする（ステップＳ１３０６）。
【０１６９】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０より大きいか否かを判定する（ステップＳ１３０７）。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０以下である場合（ステップＳ１３０７：ＮＯ）、割当部５４は、ステップＳ１３０９に処理を進める。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０より大きい場合（ステップＳ１３０７：ＹＥＳ）、割当部５４は、変数「ＬＬＳ有効ＯＮＵ数」の値をインクリメントする（ステップＳ１３０８）。
【０１７０】
割当部５４は、変数「ＬＬＳ接続ＯＮＵ数」の値をインクリメントする（ステップＳ１３０９）。割当部５４は、変数「ｉｄ」の値をインクリメントする（ステップＳ１３１０）。割当部５４は、ステップＳ１３０２に処理を戻す。
【０１７１】
論理リンク識別子［ｉｄ］の設定値（ＯＮＵ＿ＴＹＰＥ）がＨＬＳを表す場合（ステップＳ１３０３：ＮＯ）、割当部５４は、変数「ＨＬＳ現在割り当てサイクル番号」が０と等しいか否かを判定する（ステップＳ１３１１）。変数「ＨＬＳ現在割り当てサイクル番号」が０とは異なる場合（ステップＳ１３１１：ＮＯ）、割当部５４は、ステップＳ１３１３に処理を進める。変数「ＨＬＳ現在割り当てサイクル番号」が０と等しい場合（ステップＳ１３１１：ＹＥＳ）、割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値に、変数「ＲｅｑｕｅｓｔＳｉｚｅＴｍｐ［ｉｄ］」の値を代入する（ステップＳ１３１２）。
【０１７２】
割当部５４は、変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０より大きいか否かを判定する（ステップＳ１３１３）。変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０以下である場合（ステップＳ１３１３：ＮＯ）、割当部５４は、ステップＳ１３１０に処理を進める。
【０１７３】
変数「ＲｅｑｕｅｓｔＳｉｚｅ［ｉｄ］」の値が０より大きい場合（ステップＳ１３０７：ＹＥＳ）、割当部５４は、変数「ＨＬＳ有効ＯＮＵ数」の値をインクリメントする。割当部５４は、変数「ＯｎｕＷｅｉｇｈｔＳｕｍ」の値に、変数「重み係数［論理リンク識別子［ｉｄ］］」の値を加算する（ステップＳ１３１４）。割当部５４は、ステップＳ１３１０に処理を進める。
【０１７４】
図２４は、重み係数と上り遅延との関係の例を示す図である。ＨＬＳ用の各ＯＮＵ７の重み係数が互いに同じである場合、割当部５４は、ＨＬＳ用の各ＯＮＵ７に同条件で上りデータ量を割り当てる。ＨＬＳ用の各ＯＮＵ７の重み係数が互いに同じである場合、ＨＬＳ用の各ＯＮＵ７の上り遅延は同等である。ＨＬＳ用の各ＯＮＵ７の重み係数が互いに異なる場合、割当部５４は、重み係数が大きいＨＬＳ用のＯＮＵ７を優先して、ＨＬＳ用のＯＮＵ７の上りデータの送信用に帯域を割り当てる。重み係数が大きいＨＬＳ用のＯＮＵ７の上りデータの上り遅延は、重み係数が小さいＨＬＳ用のＯＮＵ７の上りデータの上り遅延よりも小さい。
【０１７５】
以上のように、第３実施形態の割当部５４は、ＯＮＵ７ごとに定められた重み係数と、要求量を表す情報とに基づいて、要求量のデータ量の帯域を上限として、ＯＮＵ７の上りデータの送信用に帯域を割り当てる。
【０１７６】
これによって、第３実施形態のＯＬＴ５は、連携ＤＢＡとＳＲ−ＤＢＡとを両立させる効率を向上させることが可能である。
【０１７７】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１７８】
上述した実施形態における、ＯＬＴ、ＯＮＵ、上位装置及び下位装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【産業上の利用可能性】
【０１７９】
本発明は、光通信システムに適用可能である。
【符号の説明】
【０１８０】
１…光通信システム、２…上位装置、３…上位装置、４…Ｌ２ＳＷ、５…ＯＬＴ、６…ＯＮＵ、７…ＯＮＵ、８…下位装置、９…下位装置、５０…連携処理部、５１…通信部、５２…要求量受信部、５３…ＯＮＵ管理部、５４…割当部、１００…要求量受信、１０１…連携ＤＢＡ用割当、１０２…要求量通知用割当、１０３…ＳＲ−ＤＢＡ用割当
【図１】
2020031325.tif 000004
【図２】
2020031325.tif 000005
【図３】
2020031325.tif 000006
【図４】
2020031325.tif 000007
【図５】
2020031325.tif 000008
【図６】
2020031325.tif 000009
【図７】
2020031325.tif 000010
【図８】
2020031325.tif 000011
【図９】
2020031325.tif 000012
【図１０】
2020031325.tif 000013
【図１１】
2020031325.tif 000014
【図１２】
2020031325.tif 000015
【図１３】
2020031325.tif 000016
【図１４】
2020031325.tif 000017
【図１５】
2020031325.tif 000018
【図１６】
2020031325.tif 000019
【図１７】
2020031325.tif 000020
【図１８】
2020031325.tif 000021
【図１９】
2020031325.tif 000022
【図２０】
2020031325.tif 000023
【図２１】
2020031325.tif 000024
【図２２】
2020031325.tif 000025
【図２３】
2020031325.tif 000026
【図２４】
2020031325.tif 000027