JP5992858B2 - 局側終端装置におけるバッファ制御方法およびバッファ装置 - Google Patents

局側終端装置におけるバッファ制御方法およびバッファ装置 Download PDF

Info

Publication number
JP5992858B2
JP5992858B2 JP2013078869A JP2013078869A JP5992858B2 JP 5992858 B2 JP5992858 B2 JP 5992858B2 JP 2013078869 A JP2013078869 A JP 2013078869A JP 2013078869 A JP2013078869 A JP 2013078869A JP 5992858 B2 JP5992858 B2 JP 5992858B2
Authority
JP
Japan
Prior art keywords
sleep
buffer
output
frame
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013078869A
Other languages
English (en)
Other versions
JP2014204290A (ja
Inventor
寛之 鵜澤
寛之 鵜澤
川村 智明
智明 川村
浦野 正美
正美 浦野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013078869A priority Critical patent/JP5992858B2/ja
Publication of JP2014204290A publication Critical patent/JP2014204290A/ja
Application granted granted Critical
Publication of JP5992858B2 publication Critical patent/JP5992858B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、PON(Passive Optical Network)システムにおける加入者側終端装置であるONU(Optical Network Unit)のスリープ制御において、スリープ中のONUへ送信すべき下りフレームを蓄積するために局側終端装置OLT(Optical Network Unit)で用いられる、下りバッファ制御技術に関するものである。
図15は、一般的なPONシステムにおけるバッファ構成を示す説明図である。
PONシステムは、局側に配置される1台のOLTと加入者側に配置される複数のONUとが、PONインタフェースPON−IF(PON InterFace)を構成する光ファイバと光スプリッタを介して接続された1対多のシステムである。
上位ネットワークからネットワークノードインタフェースNNI(Network Node Interface)を介してOLTに入力された下りフレームは、OLTの下りバッファを介して全ONUへと転送される。各ONUは、OLTから転送されたフレームのうち、自宛の下りフレームのみを受信する。受信したフレームは、ONUが具備する下りバッファに一旦蓄積された後、ユーザネットワークインタフェースUNI(User Network Interface)を介してユーザネットワークへと転送される。
一方、ユーザネットワークからUNIを介してONUに入力される上りフレームは、ONUの上りバッファに蓄積される。ONUは、蓄積した上りフレームをOLTから指定された時刻に指定された量だけOLTへと転送する。OLTは受信した上りフレームを上りバッファに一旦蓄積した後、NNIを介して上位ネットワークへと転送する。
近年、PONシステムに省電力化が求められるようになり、特に装置台数が多いONUの省電力化が求められるようになった。これまでに、OLTとONU間を流通するトラヒックが無い時に当該ONUを停止(スリープ)することで、ONUを省電力化するスリープ制御方法が開示されている(非特許文献1)。
当該方法においてOLTは、ONU毎にトラヒックを監視し、一定期間上下両方のトラヒックが無いONUに対して、スリープモードへの移行を許可するスリープフレームを送信する。ONUは、当該スリープフレームを受信すると、フレームの送受信に関わる機能への給電を停止したスリープモードへと移行する。当該スリープフレームにはスリープ期間が記されており、ONUは当該スリープ期間の間スリープモードを維持する。
スリープ期間が終了すると、ONUはフレームの送受信に関わる機能への給電を再開し、データの送受信が可能なアクティブモードへと移行し、データの送受信を再開する。当該スリープ制御において、ONUがスリープモードの間は、フレームの送受信を行うことができない。このため、スリープモードに移行している(スリープ中の)ONU宛のフレームは、スリープ期間が終了するまでの間、OLTの下りバッファで蓄積する必要がある。
従来、OLTがスリープ中のONU宛の下りフレームを蓄積する方法として、これまでに2つのフレーム蓄積方法が開示されている。
第1の従来技術は、宛先ONU別に分けて蓄積する方法である(例えば、非特許文献2など参照)。図16は、第1の従来技術にかかるOLTの下りバッファ構成例である。
図16に示すように、第1の従来技術にかかる下りバッファ50には、主な機能部として、スリープ中でない(アクティブ)ONU宛の下りフレームを蓄積するためのアクティブバッファ51、スリープ中のONU宛の下りフレームを蓄積するためのスリープバッファ52、フレーム蓄積を制御する蓄積制御部53、フレーム出力を制御する出力制御部54、および、各ONUがスリープ中か否かを管理するためのスリープ管理部55が設けられている。
この際、アクティブバッファ51は、下りフレームの宛先ONUとは無関係に、全宛先ONUで単一の蓄積領域を共用する。一方、スリープバッファ52は、複数の蓄積領域に分割し、下りフレームの宛先ONU毎に1つの当該蓄積領域を割り当てる。従って、分割する蓄積領域数は、OLTと接続可能なONU数に等しい。
また、第2の従来技術は、スリープ中のONU宛のフレームを一括して蓄積する方法である(例えば、非特許文献3など参照)。図17は、第2の従来技術にかかるOLTの下りバッファ構成例である。
図17に示すように、第2の従来技術にかかる下りバッファ50には、前述した図16と同様、主な機能部として、アクティブバッファ51、スリープバッファ52、蓄積制御部53、出力制御部54、およびスリープ管理部55が設けられている。
この第2の従来技術にかかるフレーム蓄積方法は、ONU毎に蓄積領域を分割せず、スリープ中のONU宛の下りフレームを宛先ONUと無関係にスリープバッファに蓄積する点において、第1の従来技術にかかるフレーム蓄積方法と異なる。
すなわち、第2の従来技術は、スリープバッファに一括して下りフレームを蓄積するために、OLTは、全ONUが同時刻にアクティブモードに復帰するように復帰時刻を設定し、各ONUにスリープフレームを送信する。全ONUが一斉にアクティブモードに復帰すると、スリープバッファに蓄積された全てのフレームをONUに送信する。
R. Kubo et.al.,"Adaptive Power Saving Mechanism for 10 Gigabit Class PON Systems,"IEICE. Trans. Commun., Vol. E93-B, no.2, pp.280-88, Feb. 2010. 鵜澤寛之他、"省電力PONにおけるOLTのバッファ制御方法の検討"、電子情報通信学会 ソサイエティ大会(Sep,2009) 太田憲行他、"アクセスネットワークにおける共有バッファを用いた省電力方法"、電子情報通信学会 ソサイエティ大会(Sep,2009)
しかしながら、このような第1および第2の従来技術では、いずれにおいても、ONUの省電力効果を減少させることなく、スリープバッファの容量を削減することがきないという問題点があった。
すなわち、第1の従来技術にかかるフレーム蓄積方法は、OLTと接続可能な全ONU数分の蓄積領域をスリープバッファ内に具備する必要があるため、大容量のスリープバッファが必要になる。例えば、スリープ期間の最大値Tsleep_maxを50ms、UNIのラインレートを1Gbit/sとすると、各蓄積領域に必要な容量は、6.25MB(=Tsleep_max×UNIラインレート)である。従って、OLTと接続可能なONU数が64の時には、スリープバッファに必要な容量は、400MB(=6.25MB×64)となり、極めて大容量のスリープバッファが必要となる。
一方、第2の従来技術にかかるフレーム蓄積方法は、第1の従来技術と異なり、スリープバッファをONU毎に複数の蓄積領域に分割することはせず、単一の蓄積領域にスリープ中の全てのONU宛のフレームを蓄積するため、小容量のバッファで済む。例えば、Tsleep_maxを50ms、NNIのラインレートを10Gbit/sとすると、スリープバッファに必要な容量は62.5MB(=Tsleep_max×NNIラインレート)であり、第1の従来技術と比べて小容量で済む。
しかしながら、第2の従来技術にかかるフレーム蓄積方法では、スリープモードに移行した時刻に関わらず、全てのONUがアクティブになる時刻を同一にしなければならないため、スリープ時間が減少し、ONUの省電力効果が減少する。
本発明はこのような課題を解決するためのものであり、加入者終端装置の省電力効果を減少させることなく、スリープバッファの容量を削減することができる、局側終端装置の下りバッファ制御技術を提供することを目的とする。
このような目的を達成するために、本発明にかかるバッファ制御方法は、加入者系ポイント・トゥ・マルチポイント型光通信ネットワークにおいて、トラヒック状況に応じてデータ送受信可能なアクティブまたはデータ送受信を停止するスリープのいずれかに動作モードが切り替わる加入者終端装置のうち、スリープ中の加入者終端装置宛のフレームを、局側終端装置内の下りバッファが一時蓄積する際に用いられるバッファ制御方法であって、前記下りバッファは、スリープ中の加入者終端装置宛のフレームを蓄積するためのスリープ領域を複数具備するスリープバッファと、アクティブな加入者終端装置宛のフレームを蓄積するためのアクティブバッファとを有し、前記下りバッファが、前記スリープ領域のうちフレームの出力許可が最後に与えられたスリープ領域が空であって、かつ、当該出力許可を与えてからの経過時間Tcurrentが予め定めた時間間隔ΔTを上回わるごとに、フレームの出力許可を与える出力スリープ領域を順次切り替えるステップと、入力されたフレームの宛先加入者終端装置がスリープ中である場合には、前記スリープバッファ内のスリープ領域のうち、当該加入者終端装置のスリープ期間が満了する時刻に出力許可が与えられる予定のスリープ領域に、当該フレームを蓄積するステップと、入力されたフレームの宛先加入者終端装置がスリープ中でない場合には、前記アクティブバッファに当該フレームを蓄積するステップとを備えている。
また、本発明にかかる上記バッファ制御方法の一構成例は、前記スリープバッファが、前記スリープ領域として、1からN(Nは2以上の整数)までの整数のうちのいずれか1つが固有の番号として予め付与されているN個のスリープ領域を有し、前記下りバッファが、前記経過時間Tcurrentと前記スリープ期間が満了するまでの残り時間Tremain_sleepとの加算値を前記時間間隔ΔTで除算し、得られた値を下回らない最小の整数に対して、最後に前記出力許可を与えたスリープ領域を示す番号Bcurrentを加算することにより、前記出力許可が与えられる予定のスリープ領域を示す入力スリープ領域番号を算出するステップをさらに備えている。
また、本発明にかかる上記バッファ制御方法の一構成例は、前記下りバッファが、前記入力スリープ領域番号Binputからなる仮番号Binput_tmpがN以下の場合には、当該仮番号Binput_tmpを前記入力スリープ領域番号Binputとし、前記仮番号Binput_tmpがNを上回る場合には、当該仮番号Binput_tmpからNを減算した値を、前記入力スリープ領域番号Binputとするステップと、前記フレームを前記入力スリープ領域に蓄積する際、前記スリープバッファのうち、前記入力スリープ領域番号Binputと対応するスリープ領域に当該フレームを蓄積する入力スリープ領域番号算出ステップとをさらに備えている。
また、本発明にかかる上記バッファ制御方法の一構成例は、前記入力スリープ領域番号算出ステップは、前記スリープバッファのうち、前記入力スリープ領域番号Binputと対応するスリープ領域が満杯である場合には、入力スリープ領域番号Binputに1を加算した値を新たな入力スリープ領域番号Binputとして算出し、前記入力スリープ領域番号Binputと対応するスリープ領域が満杯でない場合には、前記仮番号Binput_tmpを当該入力スリープ領域番号Binputとするステップを備えている。
また、本発明にかかる上記バッファ制御方法の一構成例は、前記Nが、前記加入者終端装置のスリープ期間長を、前記時間間隔ΔTで除算して得られる値を下回らない最小の整数に、2を加算して得られる値を少なくとも上回る値からなるものである。
また、本発明にかかるバッファ装置は、加入者系ポイント・トゥ・マルチポイント型光通信ネットワークにおいて、トラヒック状況に応じてデータ送受信可能なアクティブまたはデータ送受信を停止するスリープのいずれかに動作モードが切り替わる加入者終端装置のうち、スリープ中の加入者終端装置宛のフレームを、局側終端装置内で一時蓄積する際に用いられるバッファ装置であって、スリープ中の加入者終端装置宛のフレームを蓄積するためのスリープ領域を複数具備するスリープバッファと、アクティブな加入者終端装置宛のフレームを蓄積するためのアクティブバッファと、スリープ中の加入者終端装置の残りスリープ時間の計測、および、自バッファ装置におけるフレーム蓄積有無の監視とスリープ中か否かの判定を、加入者終端装置毎に行うスリープ管理部と、前記スリープ領域のうちフレームの出力許可が最後に与えられたスリープ領域が空であって、かつ、当該出力許可を与えてからの経過時間Tcurrentが予め定めた時間間隔ΔTを上回わるごとに、フレームの出力許可を与える出力スリープ領域を順次切り替える出力スリープ領域選択部と、前記スリープバッファのうち前記出力スリープ領域が空でない場合には、当該出力スリープ領域からフレームを出力し、前記出力スリープ領域が空の場合には前記アクティブバッファからフレームを出力する出力制御部と、前記スリープ管理部で計測された前記残りスリープ時間が0になる時刻に、前記出力スリープ領域選択部が出力許可を与える予定の入力スリープ領域を、加入者終端装置毎に算出する入力スリープ領域選択部と、入力されたフレームの宛先加入者終端装置がスリープ中である場合には、前記スリープバッファ内のスリープ領域のうち前記入力スリープ領域に当該フレームを蓄積し、入力されたフレームの宛先加入者終端装置がスリープ中でない場合には、前記アクティブバッファに当該フレームを蓄積する蓄積制御部とを備えている。
また、本発明にかかるバッファ装置の一構成例は、フレームの優先度ごとに、前記スリープバッファ、前記アクティブバッファ、前記スリープ管理部、前記出力スリープ領域選択部、前記入力スリープ領域選択部、および前記蓄積制御部をそれぞれ備え、すべての優先度に共通して、入力されたフレームの優先度を識別し、得られた優先度に対応する蓄積制御部に当該入力フレームを転送するフレーム振り分け部と、前記各優先度のうち、前記出力スリープ領域選択部によって出力許可が与えられている出力スリープ領域と前記アクティブバッファとのいずれか一方が空でない優先度であって、かつ、当該優先度が高い出力制御部から順に、フレームの出力許可を与える出力優先制御部とをさらに備えている。
また、本発明にかかるバッファ装置の一構成例は、前記優先度のうち高優先度の前記出力スリープ領域選択部は、前記出力許可を与えてから経過した時間の計測値と前記出力許可を与えているスリープ領域とを、高優先度以外の優先度の前記入力スリープ領域選択部と前記出力スリープ領域選択部にそれぞれ通知し、前記高優先度以外の優先度の前記出力スリープ領域選択部は、前記出力許可を与えてから経過した時間を計測せず、出力許可を与えているスリープ領域が空で、かつ高優先度において前記出力許可を与えられているスリープ領域と一致しない場合に、出力許可を与えているスリープ領域を切り替えるようにしたものである。
本発明によれば、局側終端装置(OLT)のバッファ装置において、加入者終端装置(ONU)ごとに、フレーム蓄積領域を用意する必要がないため、スリープバッファの容量を削減することができる。また、スリープバッファの容量を削減するために、各局側終端装置のフレーム蓄積タイミングを同期させる必要がないことから、加入者終端装置の省電力効果を減少させることもない。
第1の実施の形態にかかる下りバッファの構成を示すブロック図である。 フレーム出力制御動作を示すフローチャートである。 フレーム蓄積制御動作を示すフローチャートである。 出力スリープ領域番号算出動作を示すフローチャートである。 出力スリープ領域番号の算出過程を示す説明図である。 入力スリープ領域番号算出動作を示すフローチャートである。 入力スリープ領域番号の算出過程を示す説明図である。 入力スリープ領域番号の他の算出過程を示す説明図である。 第2の実施の形態にかかる下りバッファの構成を示すブロック図である。 出力優先度決定動作を示すフローチャートである。 他のフレーム出力制御動作を示すフローチャートである。 第3の実施の形態にかかる下りバッファの構成を示すブロック図である。 優先度2の入力スリープ領域選択動作を示すフローチャートである。 優先度2の出力スリープ領域選択動作を示すフローチャートである。 一般的なPONシステムにおけるバッファ構成を示す説明図である。 第1の従来技術にかかるOLTの下りバッファ構成例である。 第2の従来技術にかかるOLTの下りバッファ構成例である。
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
本発明は、スリープ中のONU宛に到着するフレームを、宛先ONU別ではなく、スリープ期間満了予定時刻別に蓄積する点に特徴がある。まず、図1を参照して、本発明の第1の実施の形態にかかるOLTの下りバッファ(バッファ装置)10について説明する。図1は、第1の実施の形態にかかる下りバッファの構成を示すブロック図である。
下りバッファ10は、PONシステムにおける加入者側終端装置であるONUのスリープ制御において、スリープ中のONUへ送信すべき下りフレームを蓄積するために局側終端装置OLTで用いられる。
PONシステムなどの加入者系ポイント・トゥ・マルチポイント型光通信ネットワークでは、省電力機能として、ONUの動作モードを、トラヒック状況に応じてデータ送受信可能なアクティブまたはデータ送受信を停止するスリープのいずれかに切り替えるスリープ制御機能がある。
OLTは、このようなスリープ中のONUに対する下りフレームを上位ネットワークから受信した場合、これら下りフレームを一時的に蓄積し、ONUがスリープからアクティブに切り替わる時刻に、当該下りフレームを送信することになる。
本発明にかかる下りバッファ10は、このようなOLTで用いられて、ONU向けの下りフレームを一時蓄積する機能を有している。
図1に示すように、この下りバッファ10には、主な機能部として、アクティブバッファ12、スリープバッファ11、蓄積制御部13、出力制御部14、スリープ管理部15、入力スリープ領域選択部16、および出力スリープ領域選択部17が設けられている。
スリープバッファ11は、半導体メモリなどの記憶装置からなり、スリープ中のONU宛の下りフレームを蓄積するためのスリープ領域を複数(N個)具備するバッファである。
アクティブバッファ12は、半導体メモリなどの記憶装置からなり、アクティブなONU宛の下りフレームを蓄積するためのバッファである。
蓄積制御部13は、専用の処理回路からなり、スリープ管理部15で得られた、入力フレームの宛先となる宛先ONUの動作状態(スリープ/アクティブ)に応じて、当該フレームをスリープバッファ11またはアクティブバッファ12に蓄積する機能と、スリープバッファ11にフレームを蓄積する際、入力スリープ領域選択部16で得られた当該宛先ONUの入力スリープ領域番号Binputに基づいて、スリープバッファ11のスリープ領域のうち、当該ONUのスリープ期間が満了する時刻にフレームの出力許可が与えられる予定の対象スリープ領域に、当該入力フレームを蓄積する機能とを有している。
出力制御部14は、専用の処理回路からなり、出力スリープ領域選択部17で得られた出力スリープ領域番号Bcurrentに基づいて、スリープバッファ11のうち当該Bcurrentのスリープ領域の空状態を確認し、空状態でなければ当該Bcurrentのスリープ領域からフレームを読み出して出力する機能と、空状態であればアクティブバッファ12の空状態を確認し、空状態でなければアクティブバッファ12からフレームを読み出して出力する機能とを有している。
スリープ管理部15は、当該OLTの制御部(図示せず)から通知されたスリープ中のONUとそのスリープ時間に基づいて、ONUごとに、当該ONUの動作状態(スリープ/アクティブ)を判定し、当該ONUがスリープからアクティブに切り替わるまでの残りスリープ時間を計測する機能と、蓄積制御部13で得られた入力フレームの宛先ONUと出力制御部14で得られた出力フレームの宛先ONUとに基づいて、当該下りバッファ10におけるフレームの蓄積有無を監視する機能とを有している。
入力スリープ領域選択部16は、スリープ管理部15で得られた各ONUの残りスリープ時間に基づいて、当該残りスリープ時間がゼロになる時刻(スリープからアクティブに切り替わる時刻)に、出力スリープ領域選択部17が出力スリープ領域番号により出力許可を与える予定のスリープ領域を示す入力スリープ領域番号BinputをONUごとに算出する機能を有している。
出力スリープ領域選択部17は、所定の時間間隔ΔTごとに出力スリープ領域番号Bcurrentを順に切り替え出力することにより、スリープバッファ11のうち、いずれか1つのスリープ領域に対して出力許可を与える機能と、最後にBcurrentを切り替えてからの切替経過時間Tcurrentを計時する機能と、TcurrentがΔT以上となっても、最後に切り替えたBcurrentのスリープ領域が空き状態でない場合は、スリープ領域が空き状態となるまでBcurrentを切り替えずに維持する機能とを有している。
このように、本実施の形態にかかる下りバッファ10は、スリープバッファ11を複数のスリープ領域に分割する点は前述した第1の従来技術(非特許文献2)と同様であるが、当該スリープ領域をONU毎に割り当てず、時間軸上に割り当てる点において異なる。
具体的には、下りバッファ10において、当該スリープ領域の各々に番号を予め付与し、蓄積したフレームの出力を許可するスリープ領域の番号を、後述する時間間隔ΔT毎に切り替える。
また、下りバッファ10において、スリープ中のONU宛のフレームを蓄積する際には、当該ONUの残りスリープ時間が0となる時刻(スリープ中に蓄積したフレームの出力予定時刻)に出力が許可される予定のスリープ領域の番号を後述する方法で算出し、当該算出番号のスリープ領域に当該フレームを蓄積する。
これにより、ONUがスリープ中の間は、スリープ領域にフレームが蓄積され続け、当該ONUのスリープ期間が満了する時刻に、当該スリープ領域に出力許可が与えられて当該蓄積フレームが出力されるようになる。
本実施の形態では、スリープ期間が満了する時刻に出力が許可される予定のスリープ領域の番号を算出するのが、入力スリープ領域選択部16であり、出力を許可するスリープ領域の番号をΔT毎に切り替えるのが出力スリープ領域選択部17である。
なお、本実施の形態における各スリープ領域の容量は、例えば、NNIのラインレートにΔTを乗算して得られる値に等しい容量である。
[第1の実施の形態の動作]
次に、本実施の形態にかかる下りバッファ10のフレーム蓄積制御動作及び出力制御動作について説明する。
[フレーム出力制御動作]
まず、図2および図3を参照して、本実施の形態にかかるフレーム出力制御動作について説明する。図2は、フレーム出力制御動作を示すフローチャートである。
本実施の形態にかかるフレーム出力制御動作は、出力スリープ領域選択部17および出力制御部14で実施される。
出力スリープ領域選択部17は、蓄積フレームの出力を許可するスリープ領域を示す出力スリープ領域番号BcurrentをΔT毎に切り替えて、出力制御部14に通知する。
出力制御部14は、出力スリープ領域選択部17からBcurrentを取得し(ステップ100)、スリープバッファ11から通知された各スリープ領域の空状態に基づき、当該Bcurrenに対応するスリープ領域が空か否かを確認する(ステップ101)。
ここで、当該Bcurrenに対応するスリープ領域が空でなく、1つ以上のフレームが蓄積されている場合(ステップ101:NO)、出力制御部14は、当該スリープ領域に蓄積された1つの下りフレームを出力し(ステップ102)、ステップ100へ戻る。
一方、当該Bcurrenに対応するスリープ領域が空であり、いずれのフレームも蓄積されていない場合(ステップ101:YES)、出力制御部14は、アクティブバッファ12が空か否かを確認する(ステップ103)。
ここで、アクティブバッファ12も空であり、いずれのフレームも蓄積されていない場合(ステップ103:YES)、出力制御部14は、ステップ100に戻る。
また、アクティブバッファ12が空でなく、1つ以上のフレームが蓄積されている場合(ステップ103:NO)、アクティブバッファ12に蓄積されているフレームを1つ取得し、出力フレームとして出力し(ステップ104)、ステップ100に戻る。
[フレーム蓄積制御動作]
次に、図3を参照して、本実施の形態にかかるフレーム蓄積制御動作について説明する。図3は、フレーム蓄積制御動作を示すフローチャートである。
本実施の形態にかかるフレーム蓄積制御動作は、スリープ管理部15、入力スリープ領域選択部16、および蓄積制御部13で実行される。
まず、スリープ管理部15は、従来と同様に、当該OLTの制御部(図示せず)から通知されたスリープ中のONUとそのスリープ時間に基づいて、ONUごとに、当該ONUの動作状態(スリープ/アクティブ)を判定し、当該ONUがスリープからアクティブに切り替わるまでの残りスリープ時間を計測する。残りスリープ時間は、例えば、当該OLTからONUに対してスリープモードへの移行を許可するために送信したスリープフレームに記されたスリープ時間を初期値とし、当該下りバッファ10の上位装置に相当するOLT LSI(図示せず)から供給されるクロックのクロックサイクル毎にカウントダウンすることで計測可能である。当該判定結果は蓄積制御部13に通知され、当該残りスリープ時間は入力スリープ領域選択部16に通知される。
入力スリープ領域選択部16は、スリープ管理部15から通知された残りスリープ時間が0となる時刻(スリープ中に蓄積したフレームの出力予定時刻)に出力が許可される予定のスリープ領域を示す入力スリープ領域番号Binputを、ONU毎に後述する方法で算出する。
蓄積制御部13は、下りフレームの入力を待機し(ステップ110)、下りフレームが入力された場合(ステップ110:YES)、まず、当該下りフレームの宛先ONUを識別し(ステップ111)、当該ONUがスリープ中か否かをスリープ管理部15から通知される判定結果から確認する(ステップ112)。
ここで、当該ONUがスリープ中ではなくアクティブの場合(ステップ112:NO)、蓄積制御部13は、アクティブバッファ12が満杯か否か、すなわちフレームを蓄積できないか否かを確認し(ステップ113)、満杯でない場合には(ステップ113:NO)、アクティブバッファ12に当該下りフレームを蓄積して(ステップ114)、ステップ110へ戻り、満杯の場合には(ステップ113:YES)、当該下りフレームを廃棄して(ステップ115)、ステップ110へ戻る。
一方、ステップ112において、当該ONUがスリープ中の場合(ステップ112:YES)、蓄積制御部13は、入力スリープ領域選択部16から当該ONUのBinputを取得し(ステップ116)、Binputに対応するスリープ領域が満杯か否か、すなわちフレームを蓄積できないか否かを確認する(ステップ117)。
ここで、Binputに対応するスリープ領域が満杯でない場合(ステップ117:NO)、蓄積制御部13は、蓄積要求によりBinputに対応するスリープ領域に当該下りフレームを蓄積し(ステップ118)、満杯である場合には(ステップ117:YES)、当該下りフレームを廃棄する(ステップ115)。
<出力スリープ領域選択部>
次に、図4を参照して、本実施の形態にかかる出力スリープ領域選択部17について説明する。図4は、出力スリープ領域番号算出動作を示すフローチャートである。
出力スリープ領域選択部17は、スリープ中ONUの有無に関わらず、時間間隔ΔT毎にフレームの出力を許可する新たな出力スリープ領域番号Bcurrentを算出して切り替え、出力制御部14へ出力する。また、Bcurrentの切り替えから経過した時間Tcurrentを計時して入力スリープ領域選択部16に通知する。
下りバッファ10の動作開始に応じて、出力スリープ領域選択部17は、Tcurrentの計測を開始し(ステップ120)、TcurrentがΔTに到達するまで、すなわちΔTだけ経過するまで(ステップ121:NO)、Bcurrentの値を保持する。なお、図4において、Bcurrentの初期値は1、Tcurrentの初期値は0であり、Nはスリープ領域数に等しく、Bcurrentの最大値である。Tcurrentの計測は、例えば、OLT LSIのクロックサイクル毎にカウントアップすることで計測可能である。
TcurrentがΔTに到達した場合(ステップ121:YES)、出力スリープ領域選択部17は、Tcurrentの計測を停止してTcurrentの値を保持し(ステップ122)、Bcurrentに対応するスリープ領域が空か否かを確認する(ステップ123)。
ここで、Bcurrentに対応するスリープ領域が空でない場合(ステップ123:NO)、出力スリープ領域選択部17は、空になるまでBcurrentおよびTcurrentの値を保持する。
一方、Bcurrentに対応するスリープ領域が空である場合(ステップ123:YES)、出力スリープ領域選択部17は、Bcurrentの値がスリープ領域の個数Nに達したか否かを確認する(ステップ124)。
ここで、Bcurrentの値がNに達していない場合(ステップ124:NO)、Bcurrentに「1」を加算した値を新しいBcurrentとして算出し(ステップ125)、Tcurrentを0に初期化した後(ステップ127)、ステップ120へ戻る。
また、Bcurrentの値がNに達している場合(ステップ124:YES)、Bcurrentの値を1とした後(ステップ126)、Tcurrentを「0」に初期化した後(ステップ127)、ステップ120に戻る。
本実施の形態においては、出力が許可されるスリープ領域の番号が一巡するまでに少なくとも(N−1)×ΔTの時間を要する。例えば、出力許可されるスリープ領域の番号が「1」から「2」に切り替わった直後にスリープ領域#1に蓄積されたフレームが出力されるまでに要する時間は(N−1)×ΔTであり、この(N−1)×ΔTの間、スリープ領域#1に当該フレームが蓄積され続ける。
従って、ONUの最大スリープ時間をTsleep_maxとすると、少なくとも(N−1)×ΔTをTsleep_maxよりも長い時間にすることで、ONUがスリープ中の間に入力されるフレームをスリープバッファ11に蓄積し続けることが可能になる。
図5は、出力スリープ領域数を示す説明図である。本実施の形態においては、出力許可されるスリープ領域が一巡するまでに要する時間(N−1)×ΔTを、Tsleep_maxよりも長い時間とするために、NとΔTを次の式(1)で与えられる値とする。
Figure 0005992858
この式(1)において、Nは、Tsleep_maxの間に切り替わり得るスリープ領域数nに、現在出力が許可されているスリープ領域数「1」と、現在時刻からn×ΔT後に出力が許可されるスリープ領域数「1」とを加算して得られる値で特定される。
<入力スリープ領域選択部>
次に、図6を参照して、本実施の形態にかかる入力スリープ領域選択部16について説明する。図6は、入力スリープ領域番号算出動作を示すフローチャートである。
入力スリープ領域選択部16は、残りスリープ時間が0となる時刻に、出力が許可される予定のスリープ領域の番号BinputをONU毎に算出し、蓄積制御部13に通知する。
入力スリープ領域選択部16は、まず、全てのスリープ領域が満杯ではないと仮定して、残りスリープ時間が0となる時刻に出力許可が与えられる予定のスリープ領域の番号Binput_tmpを算出する(ステップ130)。
図7は、入力スリープ領域番号の算出過程を示す説明図である。ここで、Tremaing_sleepは、当該算出時点(現在時刻)にスリープ管理部15から通知される残りスリープ時間であり、Bcurrentは、当該算出時点に出力スリープ領域選択部17から通知される出力許可中のスリープ領域の番号である。
Binput_tmpは、次の式(2)で与えられる。
Figure 0005992858
なお、この式(2)で求めたBinput_tmpを、そのままBinputと見なして、前述した図3のステップ116のBinputとして用いてもよい。
残りスリープ時間が0になる時刻は、出力スリープ領域選択部17がBcurrentに対応するスリープ領域に出力を許可してから経過した現在時刻Tcurrentに, Tremaing_sleepを加算して得られるTcurrent+Tremaing_sleepである。
出力スリープ領域選択部17において、出力を許可するスリープ領域の番号はΔT毎に切り替わるため、Tcurrent+Tremaing_sleepの間にスリープ領域の番号が切り替わり得る回数は、Tcurrent+Tremaing_sleepをΔTで除算して得られる値に等しい。従って、残りスリープ時間が0になる時刻においてフレーム出力が許可される予定のスリープ領域の番号Binput_tmpは、当該除算値(Tcurrent+Tremaing_sleepの間にスリープ領域の番号が切り替わり得る回数)を、Bcurrentに加算した値となる。
次に、入力スリープ領域選択部16は、算出したBinput_tmpがスリープ領域の最大番号N以下か否かを確認する(ステップ131)。Nは、前述した式(1)によって与えられるスリープ領域数と同一の値である。
ここで、Binput_tmpがN以下の場合(ステップ131:YES)、入力スリープ領域選択部16は、Binput_tmpをBinputとし(ステップ132)、ステップ134へ移行する。
一方、Binput_tmpがNよりも大きい場合(ステップ131:NO)、入力スリープ領域選択部16は、Binput_tmpからNを減算した値をBinputとした後(ステップ133)、ステップ134へ移行する。
ステップ134においては、入力スリープ領域選択部16は、Binputに対応するスリープ領域が満杯か否かを確認する(ステップ134)。
ここで、Binputに対応するスリープ領域が満杯であり、フレームの蓄積が不可能である場合(ステップ134:YES)、入力スリープ領域選択部16は、Binputに「1」を加算した値を新しいBinput_tmpとし(ステップ135)、ステップ131に戻る。
一方、Binputに対応するスリープ領域が満杯ではなく、フレームの蓄積が可能である場合(ステップ134:NO)、入力スリープ領域選択部16は、当該スリープ領域にフレームを蓄積可能であることを意味するため、Binput_tmpをBinputとし(ステップ136)、ステップ130に戻る。
なお、本実施の形態において、OLTの下りバッファ10が扱うONUは、OLTと論理リンクを確立する際に各ONUに1つ以上割当てられる論理リンク識別子(LLID:Logical Link ID)としても良い。
また、図8は、入力スリープ領域番号の他の算出過程を示す説明図である。スリープ期間が満了してから一定期間Toffset経過するまで入力フレームを蓄積するために、式(2)におけるBinput_tmpの算出式を、次の式(3)のように変更しても良い。
Figure 0005992858
以上が、本実施の形態におけるバッファ制御方法及び装置である。
通常、OLTから各ONUに対してフレームを送信する際、OLTと接続可能な全ONUに対して、一定の時間間隔ΔT内に各ONUに対して送信可能な最大フレーム数分を、同一時刻に送信するという状況が発生する確率は極めて低い。したがって、本実施の形態のように、スリープ中のONU宛に到着するフレームを、スリープバッファ11において、宛先ONU別ではなく、スリープ期間満了予定時刻別に蓄積すれば、各時刻に対応するスリープ領域の記憶容量を削減することができる。このため、前述した第1の従来技術のように、OLTと接続可能な全ONU数分の蓄積領域をスリープバッファ11内に具する場合と比較して、スリープバッファ11を構成する半導体メモリの記憶容量やコストを削減することができる。また、スリープ中のONUを途中で復帰させる必要もないことから、ONUの省電力効果を減少させることもない。
また、上記のように、ある時刻に送信すべきフレームが集中すると、当該時刻に対応するスリープ領域が満杯となって、これらすべてのフレームを格納できなくなり、フレーム破棄が増大する可能性がある。
これについては、図6に示した入力スリープ領域番号算出動作を実行すれば、スリープ期間満了時刻に出力許可予定のスリープ領域が満杯の場合、その次に出力が許可される予定のスリープ領域にフレームが蓄積されるようになる。このため、特定のスリープ領域にフレームの蓄積先が集中した場合であっても、フレームが廃棄されることを防ぐことができる。
スリープバッファ11内の全スリープ領域で必要とする記憶容量が、削減される具体例を示す。
OLTのNNIにおけるデータ転送レートをSNNIとし、フレームを出力するスリープ領域の切り替え時間間隔をΔTとした場合、1つのスリープ領域の記憶容量mはSNNI×ΔTとなる。したがって、スリープ領域の数をNとした場合、本発明においてスリープバッファ11内の全スリープ領域として必要とされる記憶容量Mは、N×m=N×SNNI×ΔTで求められる。
一方、ONUのUNIにおけるデータ転送レートをSUNIとし、ONUの最大スリープ期間をTsleep_maxとした場合、前述した第1の従来技術において1つのONUに対応する蓄積領域の記憶容量、すなわちTsleep_maxの間に蓄積され得る最大データ量m1は、SUNI×Tsleep_maxとなる。したがって、OLTと接続可能なONU数をNONUとした場合、前述した第1の従来技術においてスリープバッファ内の全蓄積領域として必要とされる記憶容量M1は、NONU×m=NONU×SUNI×Tsleep_maxで求められる。
したがって、前述した第1の従来技術の記憶容量M1と比較して、本発明にかかる記憶容量Mが削減される条件はM<M1と表される。
この条件から、Nについて、次の式(4)が導出される。
Figure 0005992858
ここで、現実的なパラメータとして、SNNIが10Gbit/sであり、SUNIが1Gbit/sであるとし、また、Tsleep_maxが50msであり、ΔTが1msであるとすると、N<NONU×5となる。この際、一般的にはNONUが64程度である。このため、実際には、スリープ領域数Nとして、OLTに接続されるONUの数、あるいは各ONUに割り当てられる論理リンク識別子(LLID)の数を下回る数を適用しておけば、スリープバッファ11内の全スリープ領域で必要とする記憶容量が、削減されることが分かる。
[第2の実施の形態]
次に、図9を参照して、本発明の第2の実施の形態にかかる下りバッファ10について説明する。図9は、第2の実施の形態にかかる下りバッファの構成を示すブロック図である。
本実施の形態におけるOLTの下りバッファは、当該バッファに蓄積したフレームを完全優先で出力する点が第1の実施の形態と異なる。すなわち、当該バッファは、蓄積したフレームのうち、低遅延が要求される高優先度のフレームを、当該要求が低い低優先度のフレームよりも優先的に出力する。
図9に示すように、本実施の形態におけるOLTの下りバッファ10は、第1の実施の形態と同様のスリープバッファ11、アクティブバッファ12、蓄積制御部13、出力制御部14、スリープ管理部15、入力スリープ領域選択部16、および出力スリープ領域選択部17を含む優先バッファ(20A,20B,…)を、優先度毎に具備する。
さらに、本実施の形態にかかる下りバッファ10は、入力フレームの優先度を識別し、識別した優先度に対応する蓄積制御部13に当該フレームを転送するフレーム振り分け部21と、高優先度の出力制御部14に対して優先的にフレームの出力許可を与える出力優先制御部22とを新たに備える。
なお、優先度毎に具備する優先バッファ(20A,20B,…)において、出力制御部14は、出力優先制御部22から通知される出力許可を受信する機能を新たに備える。また、スリープ管理部15に入力される情報は、優先度に関わらず第1の実施の形態と同一である。本実施の形態では、高優先度を優先度1(優先バッファ20A)とし、低優先度を優先度2(優先バッファ20B)としている。
以下では、本実施の形態において新たに備えたフレーム振り分け部21と出力優先制御部22の詳細を述べた後、本実施の形態における出力制御部14の出力制御フローを述べる。
<フレーム振り分け部>
フレーム振り分け部21は、OLTの下りバッファ10に入力された下りフレームの優先度を識別し、当該優先度に対応する蓄積制御部13に当該下りフレームを転送する機能を具備する。図9においては、識別した優先度が1の場合には、優先度1(優先バッファ20A)の蓄積制御部13にフレームを転送し、識別した優先度が2の場合には、優先度2(優先バッファ20B)の蓄積制御部13にフレームを転送する。優先度の識別は、例えば、フレームに付与されているVLANタグのCoS値によって判別できる。
<出力優先制御部>
次に、図10を参照して、本実施の形態にかかる出力優先制御部22について説明する。図10は、出力優先度決定動作を示すフローチャートである。この出力優先度決定動作は、優先度の高い優先度1の出力制御部14に対して優先的に出力許可を与えるための処理動作である。
出力優先制御部22は、まず、優先度1(優先バッファ20A)の出力制御部14において、アクティブバッファ12とスリープバッファ11のうち出力が許可されている出力スリープ領域との両方が空か否かを確認する(ステップ200)。
ここで、優先度1のアクティブバッファ12と各出力スリープ領域のうち、いずれか一方でも空でない場合(ステップ200:NO)、出力優先制御部22は、両方が空になるまでの間、優先度1の出力制御部14にフレーム出力を許可する(ステップ201)。
一方、アクティブバッファ12と出力スリープ領域の両方が空である場合(ステップ200:NO)、出力優先制御部22は、優先度2(優先バッファ20B)の出力制御部14において、アクティブバッファ12と出力が許可されているスリープ領域の両方が空か否かを確認する(ステップ202)。
ここで、優先度2が空でない場合(ステップ202:NO)、1フレームのみ当該優先度2の出力制御部14にフレームの出力を許可して(ステップ203)、ステップ200に戻り、優先度2が空の場合(ステップ202:YES)、ステップ200に戻る。
<出力制御部>
次に、図11を参照して、本実施の形態にかかる出力制御部14について説明する。図11は、他の出力制御動作を示すフローチャートである。
まず、出力制御部14は、出力優先制御部22からフレーム出力が許可されているか否かを確認する(ステップ210)。
ここで、フレーム出力が許可されていない場合(ステップ210:NO)、出力制御部14は、許可されるまで待機する。
一方、フレーム出力が許可されている場合(ステップ210:YES)、出力制御部14は、出力スリープ領域選択部17から通知された出力スリープ領域番号Bcurrentを取得し(ステップ211)、このBcurrentのスリープ領域が空か否かを確認する(ステップ212)。
ここで、Bcurrentのスリープ領域が空でない場合(ステップ212:NO)、出力制御部14は、当該スリープ領域に蓄積された1つの下りフレームを出力する(ステップ213)。
また、Bcurrentのスリープ領域が空である場合(ステップ212:YES)、出力制御部14は、アクティブバッファ12が空か否かを確認する(ステップ214)。
ここで、アクティブバッファ12が空でない場合(ステップ214:NO)、出力制御部14は、アクティブバッファ12に蓄積された1つの下りフレームを出力し(ステップ215)、当該出力の完了に応じて、ステップ210に戻り、アクティブバッファ12が空である場合(ステップ214:YES)、ステップ210に戻る。
以上が、本実施の形態におけるバッファ制御方法及び装置である。本実施の形態は、優先度を2つとしたが、これに限定されるものではなく、2つ以上の優先度に対してもその要旨を逸脱しない範囲において変更し、適用可能である。また、本発明において、OLTの下りバッファが扱うONUは、OLTと論理リンクを確立する際に各ONUに1つ以上割当てられるLLIDとしても良い。
[第3の実施の形態]
次に、図12を参照して、本発明の第3の実施の形態にかかる下りバッファ10について説明する。図12は、第3の実施の形態にかかる下りバッファの構成を示すブロック図である。
本実施の形態におけるOLTの下りバッファは、完全優先で蓄積フレームを出力する点において第2の実施の形態と同一であるが、当該出力制御を全優先度共通の時刻に基づいて行う点が異なる。すなわち、高優先度(優先度1)のみが時刻Tcurrentの計測を行い、その他の優先度(優先度2)ではTcurrentの計測を行わず、高優先度のTcurrentを用いる。
図12に示すように、本実施の形態にかかる下りバッファ10において、優先度1(優先バッファ20A)の出力スリープ領域選択部17が、TcurrentとBcurrent(以後Tcurrent,1、Bcurrent,1と各々呼称)を優先度2(優先バッファ20B)の入力スリープ領域選択部16に通知する。優先度2では、通知されたTcurrent,1を用いて入力スリープ領域選択部16が当該優先度のBinputを算出する。
また、優先度2(優先バッファ20B)の出力スリープ領域選択部17は、Tcurrentの計測無しでBcurrent(以後Bcurrent,2と呼称)を決定するために、優先度1(優先バッファ20A)の出力スリープ領域選択部17からBcurrent,1を受信し、Bcurrent,1に一致するまでBcurrent,2に+1ずつインクリメントする。ただし、当該インクリメントは、Bcurrent,2に対応するスリープ領域番号が空になってからである。
<優先度2の入力スリープ領域選択部>
次に、図13を参照して、本実施の形態にかかる優先度2の入力スリープ領域選択部16について説明する。図13は、優先度2の入力スリープ領域選択動作を示すフローチャートである。
優先度2の入力スリープ領域選択部16は、優先度1の出力スリープ領域選択部17からTcurrent,1を受信し、受信したTcurrent,1を用いて優先度2のBinput(以後Binput,2と呼称)をONU毎に算出する機能を具備する。算出したBinput,2は第2の実施の形態と同様に、優先度2の蓄積制御部13に通知する。
図13において、まず、優先度2の入力スリープ領域選択部16は、全てのスリープ領域が満杯ではないと仮定して、残りスリープ時間が0となる時刻に出力許可が与えられる予定のスリープ領域の番号Binput_tmp,2を算出する(ステップ300)。この際、Binput_tmp,2は、次の式(5)で与えられる。
Figure 0005992858
ここで、Bcurrent,2は、優先度2の出力スリープ領域選択部17から通知される出力スリープ領域番号である。
次に、優先度2の入力スリープ領域選択部16は、算出したBinput_tmp,2がN(スリープ領域数)以下か否かを確認する(ステップ301)。
ここで、Binput_tmp,2がN以下の場合(ステップ301:YES)、優先度2の入力スリープ領域選択部16は、Binput_tmp,2をBinput,2としてステップ304に移行する。
一方、Binput_tmp,2がNよりも大きい場合(ステップ301:NO)、優先度2の入力スリープ領域選択部16は、Binput_tmp,2からNを減算した値をBinput,2とした後(ステップ303)、ステップ304に進む。
ステップ304において、優先度2の入力スリープ領域選択部16は、Binput,2に対応するスリープ領域が満杯か否かを確認する(ステップ304)。
ここで、満杯である場合(ステップ304:YES)、優先度2の入力スリープ領域選択部16は、Binput,2に「1」を加算した値を新しいBinput_tmp,2とした後(ステップ305)、ステップ301に戻る。
一方、満杯でない場合(ステップ304:NO)、優先度2の入力スリープ領域選択部16は、当該スリープ領域にフレームを蓄積可能であることを意味するため、Binput,2の値を保持した後(ステップ306)、ステップ300に戻る。
<優先度2の出力スリープ領域選択部>
次に、図14を参照して、本実施の形態にかかる優先度2の出力スリープ領域選択部17について説明する。図14は、優先度2の出力スリープ領域選択動作を示すフローチャートである。
優先度2の出力スリープ領域選択部17は、第1の実施の形態における出力スリープ領域選択部17とは異なり、時刻Tcurrentの計測は行わず、第1の実施の形態の出力スリープ領域選択部17と同一の機能を具備する優先度1の出力スリープ領域選択部17からBcurrent,1を受信し、Bcurrent,1を用いてBcurrent,2を決定する機能を具備する。
図14において、まず、優先度2の出力スリープ領域選択部17は、Bcurrent,2に対応するスリープ領域番号が空か否かを確認する(ステップ310)。なお、Bcurrent,2の初期値はBcurrent,1と同一の「1」である。
ここで、Bcurrent,2に対応するスリープ領域番号が空でない場合(ステップ310:NO)、Bcurrent,2の値を保持する。
一方、Bcurrent,2に対応するスリープ領域番号が空である場合(ステップ310:YES)、優先度2の出力スリープ領域選択部17は、Bcurrent,1の値を確認する(ステップ311)。
ここで、Bcurrent,2がBcurren,1と同一の値である場合(ステップ311:YES)、優先度2の出力スリープ領域選択部17は、Bcurrent,2の値を保持するためにステップ311に戻る。
また、Bcurrent,2がBcurren,1と同一の値でない場合(ステップ311:NO)、優先度2の出力スリープ領域選択部17は、Bcurrent,2が前述した式(1)で与えられるスリープ領域数Nに等しいか否かを確認する(ステップ312)。
ここで、Bcurrent,2がNに等しくない場合(ステップ312:NO)、優先度2の出力スリープ領域選択部17は、Bcurrent,2に「1」を加算した値を新しいBcurrent,2にし(ステップ313)、ステップ310に戻る。一方、Bcurrent,2がNに等しい場合(ステップ312:YES)、優先度2の出力スリープ領域選択部17は、Bcurrent,2の値を「1」に更新し(ステップ314)、ステップ310に戻る。
以上が、本実施の形態におけるバッファ制御方法及び装置である。本実施の形態は、優先度が2つの場合に限定されるものではなく、2つ以上の優先度に対してもその要旨を逸脱しない範囲において変更し、適用可能である。また、本発明において、OLTの下りバッファが扱うONUは、OLTと論理リンクを確立する際に各ONUに1つ以上割当てられるLLIDとしても良い。
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
10…下りバッファ、11…スリープバッファ、12…アクティブバッファ、13…蓄積制御部、14…出力制御部、15…スリープ管理部、16…入力スリープ領域選択部、17…出力スリープ領域選択部、20A…優先バッファ(優先度1)、20B…優先バッファ(優先度2)、21…フレーム振り分け部、22…出力優先制御部。

Claims (8)

  1. 加入者系ポイント・トゥ・マルチポイント型光通信ネットワークにおいて、トラヒック状況に応じてデータ送受信可能なアクティブまたはデータ送受信を停止するスリープのいずれかに動作モードが切り替わる加入者終端装置のうち、スリープ中の加入者終端装置宛のフレームを、局側終端装置内の下りバッファが一時蓄積する際に用いられるバッファ制御方法であって、
    前記下りバッファは、スリープ中の加入者終端装置宛のフレームを蓄積するためのスリープ領域を複数具備するスリープバッファと、アクティブな加入者終端装置宛のフレームを蓄積するためのアクティブバッファとを有し、
    前記下りバッファが、
    前記スリープ領域のうちフレームの出力許可が最後に与えられたスリープ領域が空であって、かつ、当該出力許可を与えてからの経過時間Tcurrentが予め定めた時間間隔ΔTを上回わるごとに、フレームの出力許可を与える出力スリープ領域を順次切り替えるステップと、
    入力されたフレームの宛先加入者終端装置がスリープ中である場合には、前記スリープバッファ内のスリープ領域のうち、当該加入者終端装置のスリープ期間が満了する時刻に出力許可が与えられる予定のスリープ領域に、当該フレームを蓄積するステップと、
    入力されたフレームの宛先加入者終端装置がスリープ中でない場合には、前記アクティブバッファに当該フレームを蓄積するステップと
    を備えることを特徴とするバッファ制御方法。
  2. 請求項1記載のバッファ制御方法において、
    前記スリープバッファは、前記スリープ領域として、1からN(Nは2以上の整数)までの整数のうちのいずれか1つが固有の番号として予め付与されているN個のスリープ領域を有し、
    前記下りバッファが、前記経過時間Tcurrentと前記スリープ期間が満了するまでの残り時間Tremain_sleepとの加算値を前記時間間隔ΔTで除算し、得られた値を下回らない最小の整数に対して、最後に前記出力許可を与えたスリープ領域を示す番号Bcurrentを加算することにより、前記出力許可が与えられる予定のスリープ領域を示す入力スリープ領域番号Binputを算出するステップを
    さらに備えることを特徴とするバッファ制御方法。
  3. 請求項2記載のバッファ制御方法において、
    前記下りバッファが、
    前記入力スリープ領域番号Binputからなる仮番号Binput_tmpがN以下の場合には、当該仮番号Binput_tmpを前記入力スリープ領域番号Binputとし、前記仮番号Binput_tmpがNを上回る場合には、当該仮番号Binput_tmpからNを減算した値を、前記入力スリープ領域番号Binputとするステップと、
    前記フレームを前記入力スリープ領域に蓄積する際、前記スリープバッファのうち、前記入力スリープ領域番号Binputと対応するスリープ領域に当該フレームを蓄積する入力スリープ領域番号算出ステップと
    をさらに備えることを特徴とするバッファ制御方法。
  4. 請求項3記載のバッファ制御方法において、
    前記入力スリープ領域番号算出ステップは、前記スリープバッファのうち、前記入力スリープ領域番号Binputと対応するスリープ領域が満杯である場合には、入力スリープ領域番号Binputに1を加算した値を新たな入力スリープ領域番号Binputとして算出し、前記入力スリープ領域番号Binputと対応するスリープ領域が満杯でない場合には、前記仮番号Binput_tmpを当該入力スリープ領域番号Binputとするステップを備えることを特徴とするバッファ制御方法。
  5. 請求項2記載のバッファ制御方法において、
    前記Nは、前記加入者終端装置のスリープ期間長を、前記時間間隔ΔTで除算して得られる値を下回らない最小の整数に、2を加算して得られる値を少なくとも上回る値からなることを特徴とするバッファ制御方法。
  6. 加入者系ポイント・トゥ・マルチポイント型光通信ネットワークにおいて、トラヒック状況に応じてデータ送受信可能なアクティブまたはデータ送受信を停止するスリープのいずれかに動作モードが切り替わる加入者終端装置のうち、スリープ中の加入者終端装置宛のフレームを、局側終端装置内で一時蓄積する際に用いられるバッファ装置であって、
    スリープ中の加入者終端装置宛のフレームを蓄積するためのスリープ領域を複数具備するスリープバッファと、
    アクティブな加入者終端装置宛のフレームを蓄積するためのアクティブバッファと、
    スリープ中の加入者終端装置の残りスリープ時間の計測、および、自バッファ装置におけるフレーム蓄積有無の監視とスリープ中か否かの判定を、加入者終端装置毎に行うスリープ管理部と、
    前記スリープ領域のうちフレームの出力許可が最後に与えられたスリープ領域が空であって、かつ、当該出力許可を与えてからの経過時間Tcurrentが予め定めた時間間隔ΔTを上回わるごとに、フレームの出力許可を与える出力スリープ領域を順次切り替える出力スリープ領域選択部と、
    前記スリープバッファのうち前記出力スリープ領域が空でない場合には、当該出力スリープ領域からフレームを出力し、前記出力スリープ領域が空の場合には前記アクティブバッファからフレームを出力する出力制御部と、
    前記スリープ管理部で計測された前記残りスリープ時間が0になる時刻に、前記出力スリープ領域選択部が出力許可を与える予定の入力スリープ領域を、加入者終端装置毎に算出する入力スリープ領域選択部と、
    入力されたフレームの宛先加入者終端装置がスリープ中である場合には、前記スリープバッファ内のスリープ領域のうち前記入力スリープ領域に当該フレームを蓄積し、入力されたフレームの宛先加入者終端装置がスリープ中でない場合には、前記アクティブバッファに当該フレームを蓄積する蓄積制御部と
    を備えることを特徴とするバッファ装置。
  7. 請求項6に記載のバッファ装置において、
    フレームの優先度ごとに、前記スリープバッファ、前記アクティブバッファ、前記スリープ管理部、前記出力スリープ領域選択部、前記入力スリープ領域選択部、および前記蓄積制御部をそれぞれ備え、
    すべての優先度に共通して、
    入力されたフレームの優先度を識別し、得られた優先度に対応する蓄積制御部に当該入力フレームを転送するフレーム振り分け部と、
    前記各優先度のうち、前記出力スリープ領域選択部によって出力許可が与えられている出力スリープ領域と前記アクティブバッファとのいずれか一方が空でない優先度であって、かつ、当該優先度が高い出力制御部から順に、フレームの出力許可を与える出力優先制御部と
    をさらに備えることを特徴とするバッファ装置。
  8. 請求項7に記載のバッファ装置において、
    前記優先度のうち高優先度の前記出力スリープ領域選択部は、前記出力許可を与えてから経過した時間の計測値と前記出力許可を与えているスリープ領域とを、高優先度以外の優先度の前記入力スリープ領域選択部と前記出力スリープ領域選択部にそれぞれ通知し、
    前記高優先度以外の優先度の前記出力スリープ領域選択部は、前記出力許可を与えてから経過した時間を計測せず、出力許可を与えているスリープ領域が空で、かつ高優先度において前記出力許可を与えられているスリープ領域と一致しない場合に、出力許可を与えているスリープ領域を切り替える
    ことを特徴とするバッファ装置。
JP2013078869A 2013-04-04 2013-04-04 局側終端装置におけるバッファ制御方法およびバッファ装置 Expired - Fee Related JP5992858B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013078869A JP5992858B2 (ja) 2013-04-04 2013-04-04 局側終端装置におけるバッファ制御方法およびバッファ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013078869A JP5992858B2 (ja) 2013-04-04 2013-04-04 局側終端装置におけるバッファ制御方法およびバッファ装置

Publications (2)

Publication Number Publication Date
JP2014204290A JP2014204290A (ja) 2014-10-27
JP5992858B2 true JP5992858B2 (ja) 2016-09-14

Family

ID=52354374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013078869A Expired - Fee Related JP5992858B2 (ja) 2013-04-04 2013-04-04 局側終端装置におけるバッファ制御方法およびバッファ装置

Country Status (1)

Country Link
JP (1) JP5992858B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577237A (en) * 1995-01-23 1996-11-19 Tandem Computers, Incorporated Protocol timer and method of using same
US8000602B2 (en) * 2008-04-17 2011-08-16 Pmc-Sierra Israel Ltd. Methods and devices for reducing power consumption in a passive optical network while maintaining service continuity
JP5243351B2 (ja) * 2009-06-17 2013-07-24 日本電信電話株式会社 バッファ管理方法およびバッファ管理装置
JP5102263B2 (ja) * 2009-08-25 2012-12-19 日本電信電話株式会社 通信網における共有バッファを用いた省電力方法および通信ノード
US8934781B2 (en) * 2010-08-19 2015-01-13 Intellectual Discovery Co., Ltd. Optical subscriber network

Also Published As

Publication number Publication date
JP2014204290A (ja) 2014-10-27

Similar Documents

Publication Publication Date Title
US8542998B2 (en) Passive optical network system and sleep time determination method
US20160080208A1 (en) Master station device, slave station device, optical communication system, control device, and bandwidth allocation method
US9788270B2 (en) Optical-wireless access system
EP2975810B1 (en) Method and system for improving bandwidth allocation efficiency
US20100061401A1 (en) Dynamic bandwidth allocating method and device with hardware reduced and bandwidth usability improved
CN102118212B (zh) 一种进行光网络单元带宽分配的方法及光线路终端
JP5404936B2 (ja) 通信装置
WO2017113336A1 (zh) 动态带宽的分配方法、装置和无源光网络系统
US11985455B2 (en) Optical communication device and resource management method
JPWO2021053759A1 (ja) ネットワーク制御装置、通信リソース割り当て方法および通信システム
CN101953119A (zh) 频带分配方法以及无源光通信网系统
JP2011211262A (ja) 局側装置および帯域割り当て方法
JP5992858B2 (ja) 局側終端装置におけるバッファ制御方法およびバッファ装置
JP4244746B2 (ja) 光加入者線端局装置およびそれによって用いられる帯域割当方法
JP2014011666A (ja) 上りデータの帯域割当方法及び通信装置
CN112911421A (zh) 动态带宽分配方法和装置、无源光纤网络和存储介质
JP5541798B2 (ja) スリープ制御方法およびスリープ制御装置
JP5345561B2 (ja) 通信システム、送信機、受信機、及び通信方法
JP5556927B2 (ja) 帯域割り当て方法
KR100895465B1 (ko) 계층적 가중치 라운드 로빈 방식에 의한 동적 대역폭 할당방법 및 장치
JP2012244488A (ja) 通信システムおよび終端装置
KR100903111B1 (ko) 시분할다중접속 기반 수동 광 가입자망 시스템의 대역 할당장치 및 방법
JP6787853B2 (ja) 通信システム、加入者線終端装置及び加入者線端局装置
JP2004343734A (ja) 光加入者線端局装置およびフレームスケジューリング方法
JP2014011606A (ja) 帯域割当方法、帯域割当装置、局側終端装置及び受動光ネットワークシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160818

R150 Certificate of patent or registration of utility model

Ref document number: 5992858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees