JP2010166502A - 可変長フレームバッファ装置 - Google Patents

可変長フレームバッファ装置 Download PDF

Info

Publication number
JP2010166502A
JP2010166502A JP2009008982A JP2009008982A JP2010166502A JP 2010166502 A JP2010166502 A JP 2010166502A JP 2009008982 A JP2009008982 A JP 2009008982A JP 2009008982 A JP2009008982 A JP 2009008982A JP 2010166502 A JP2010166502 A JP 2010166502A
Authority
JP
Japan
Prior art keywords
frame
variable
stored
length
variable length
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.)
Pending
Application number
JP2009008982A
Other languages
English (en)
Inventor
Takashi Kikuzawa
隆司 菊澤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009008982A priority Critical patent/JP2010166502A/ja
Publication of JP2010166502A publication Critical patent/JP2010166502A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】可変長フレームの優先度に対応するフレームバッファに空きがない場合、その可変長フレームを他の優先度のフレームバッファに格納するようにしても、フレームバッファにおける可変長フレームの蓄積量をフレーム単位で算出することができるようにする。
【解決手段】積算値メモリ8に格納されている積算値、フレームIDメモリ9に格納されているフレームID及び積算値ポインタメモリ10に格納されている対応関係を参照して、全てのキューにおける可変長フレームの閾値以内での最大蓄積量及び最大フレーム数を算出して出力する。
【選択図】図1

Description

この発明は、可変長フレームをフレームバッファに蓄積する可変長フレームバッファ装置に関するものである。
可変長フレームバッファ装置は、FIFO(First in First out)方式のフレームバッファを優先度別に複数備えており、可変長フレームを受信すると、その可変長フレームの優先度に対応するフレームバッファに当該可変長フレームを格納するものである。
可変長フレームバッファ装置は、フレームバッファにおける可変長フレームの蓄積量を算出する機能を有している。
例えば、GE−PONシステムでは、加入者側終端装置(以下、「ONU」と称する)がフレーム蓄積量を局側装置(以下、「OLT」と称する)に報告し、OLTがONUから報告されたフレーム蓄積量に応じてONUに帯域を割り当て、ONUがOLTにより割り当てられた帯域で上り伝送を行うようにしている。
このとき、例えば、ETHERNET(登録商標)などの可変長フレームを扱う場合、ONUがフレームバッファにおける可変長フレームの蓄積量をフレーム単位で報告するようにすれば、より効率的な帯域割り当てが可能となる。
この蓄積量を計算している可変長フレームバッファ装置が、例えば、以下の特許文献1に開示されている。
この可変長フレームバッファ装置では、フレームバッファにおける可変長フレームの蓄積量をフレーム単位で求めるに際して、そのフレームバッファのサイズを初期設定し、積算値用メモリとフレーム位置検索用メモリをフレームバッファのサイズに応じて分割している。
この可変長フレームバッファ装置では、分割したメモリの中で、可変長フレームの順番が保たれていなければならないため、可変長フレームの優先度に対応するフレームバッファ以外のフレームバッファには、当該可変長フレームを格納することができない。
このため、可変長フレームの優先度に対応するフレームバッファに空きがない場合、その可変長フレームが廃棄される。
換言すると、可変長フレームの優先度に対応するフレームバッファに空きがない場合、可変長フレームを他の優先度のフレームバッファに格納すれば、その可変長フレームを廃棄せずに済むが、フレームバッファが固定長であって、順番に可変長フレームが格納されることを前提としているため、可変長フレームを他の優先度のフレームバッファに格納すると、可変長フレーム単位の蓄積量を求めることができなくなる。
したがって、可変長フレームを他の優先度のフレームバッファに格納することができない。
特開2007−324886号公報(段落番号[0008]、図1)
従来の可変長フレームバッファ装置は以上のように構成されているので、可変長フレームの優先度に対応するフレームバッファに空きがない場合、その可変長フレームを他の優先度のフレームバッファに格納しようとすると、フレームバッファにおける可変長フレームの蓄積量をフレーム単位で算出することができなくなる。そのため、可変長フレームの優先度に対応するフレームバッファに空きがない場合、その可変長フレームを廃棄せざるを得ないなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、可変長フレームの優先度に対応するフレームバッファに空きがない場合、その可変長フレームを他の優先度のフレームバッファに格納するようにしても、フレームバッファにおける可変長フレームの蓄積量をフレーム単位で算出することができる可変長フレームバッファ装置を得ることを目的とする。
この発明に係る可変長フレームバッファ装置は、フレーム受信手段により受信された可変長フレームの優先度に対応するフレームバッファに空きがあれば、その可変長フレームを当該フレームバッファに格納し、その可変長フレームの優先度に対応するフレームバッファに空きがなければ、その可変長フレームを他の優先度のフレームバッファに格納する可変長フレーム格納手段と、その可変長フレーム格納手段により可変長フレームがフレームバッファに格納される毎に、各フレームバッファにおける可変長フレームの蓄積量を積算して、その蓄積量の積算値を記憶する積算値記憶手段と、その可変長フレーム格納手段により可変長フレームがフレームバッファに格納されることで、そのフレームバッファにおける可変長フレームの蓄積量が指定値を超えた場合、その可変長フレームのフレームIDを記憶するフレームID記憶手段と、優先度別のフレームバッファ毎に、当該フレームバッファに格納された可変長フレームのフレームIDと積算値記憶手段により記憶された積算値の対応関係を記憶する対応関係記憶手段とを設け、最大算出手段が積算値記憶手段により記憶されている積算値、フレームID記憶手段により記憶されているフレームID及び対応関係記憶手段により記憶されている対応関係を参照して、各フレームバッファにおける可変長フレームの閾値以内での最大蓄積量及び最大フレーム数を算出して出力するようにしたものである。
この発明によれば、フレーム受信手段により受信された可変長フレームの優先度に対応するフレームバッファに空きがあれば、その可変長フレームを当該フレームバッファに格納し、その可変長フレームの優先度に対応するフレームバッファに空きがなければ、その可変長フレームを他の優先度のフレームバッファに格納する可変長フレーム格納手段と、その可変長フレーム格納手段により可変長フレームがフレームバッファに格納される毎に、各フレームバッファにおける可変長フレームの蓄積量を積算して、その蓄積量の積算値を記憶する積算値記憶手段と、その可変長フレーム格納手段により可変長フレームがフレームバッファに格納されることで、そのフレームバッファにおける可変長フレームの蓄積量が指定値を超えた場合、その可変長フレームのフレームIDを記憶するフレームID記憶手段と、優先度別のフレームバッファ毎に、当該フレームバッファに格納された可変長フレームのフレームIDと積算値記憶手段により記憶された積算値の対応関係を記憶する対応関係記憶手段とを設け、最大算出手段が積算値記憶手段により記憶されている積算値、フレームID記憶手段により記憶されているフレームID及び対応関係記憶手段により記憶されている対応関係を参照して、各フレームバッファにおける可変長フレームの閾値以内での最大蓄積量及び最大フレーム数を算出して出力するように構成したので、可変長フレームの優先度に対応するフレームバッファに空きがない場合、その可変長フレームを他の優先度のフレームバッファに格納するようにしても、フレームバッファにおける可変長フレームの蓄積量をフレーム単位で算出することができるようになり、その結果、閾値以内での最大蓄積量及び最大フレーム数を算出することができる効果がある。
この発明の実施の形態1による可変長フレームバッファ装置を示す構成図である。 この発明の実施の形態1による可変長フレームバッファ装置の処理内容を示すフローチャートである。 この発明の実施の形態1による可変長フレームバッファ装置の処理内容を示すフローチャートである。 フレーム格納メモリ2内のキューに格納される可変長フレームF(k)と、積算値メモリ8、フレームIDメモリ9及び積算値ポインタメモリ10の格納内容などを示す説明図である。 可変長フレームF(k)のフレーム長LEN(k)、積算値S(k)、フレームポインタP’(k)及び積算値ポインタP(k)の一例を示す説明図である。 蓄積量TSA、閾値L、積算値ベースの閾値SL及び最終リード位置rなどを示している説明図である。
実施の形態1.
図1はこの発明の実施の形態1による可変長フレームバッファ装置を示す構成図であり、図において、フレーム受信制御部1は可変長フレームF(k)(k:自然数)の受信処理を実施し、その可変長フレームF(k)を受信すると、その可変長フレームF(k)のフレーム長Len(k)をカウントするとともに、その可変長フレームF(k)の優先度を判別する処理を実施する。なお、フレーム受信制御部1はフレーム受信手段を構成している。
フレーム格納メモリ2は可変長フレームF(k)を入力順に記憶するFIFO形式のキュー(フレームバッファ)を優先度別に複数有している。
なお、優先度別のキューは、指定されたnバイト単位(例えば、1kバイト単位)で区切りが設けられている。
フレーム長情報バッファ3はフレーム受信制御部1によりカウントされたフレーム長Len(k)を記憶するメモリである。
共有バッファ情報管理部4はフレーム格納メモリ2内の一部のキューを共有して使う際、フレームの格納場所と空き情報を管理するメモリである。
フレームバッファアクセス制御部5はフレーム受信制御部1により受信された可変長フレームF(k)の優先度に対応するフレーム格納メモリ2内のキューに空きがあれば、その可変長フレームF(k)を当該キューに格納し、その可変長フレームF(k)の優先度に対応するキューに空きがなければ、その可変長フレームF(k)を他の優先度のキューに格納、あるいは、廃棄する処理を実施する。
また、フレームバッファアクセス制御部5はフレーム受信制御部1によりカウントされたフレーム長Len(k)をフレーム長情報バッファ3に格納する処理や、フレームの格納場所と空き情報をフレーム長情報バッファ3に格納する処理のほか、フレーム出力制御部6から出力要求を受けると、フレーム格納メモリ2内のキューから可変長フレームF(k)を読み出して、その可変長フレームF(k)をフレーム出力制御部6に出力する処理などを実施する。なお、フレームバッファアクセス制御部5は可変長フレーム格納手段を構成している。
フレーム出力制御部6はOLTから可変長フレームの出力要求を受けると、フレームバッファアクセス制御部5を介して、フレーム格納メモリ2内のキューから可変長フレームを取得し、その可変長フレームをOLTに出力する処理を実施する。
フレーム情報格納部7はフレームバッファアクセス制御部5により可変長フレームF(k)がフレーム格納メモリ2内のキューに格納される毎に、各キューにおける可変長フレームF(k)の蓄積量を積算して、その蓄積量の積算値S(k)を積算値メモリ8に格納する処理を実施する。
また、フレーム情報格納部7はフレームバッファアクセス制御部5により可変長フレームF(k)がフレーム格納メモリ2内のキューに格納されることで、そのキューにおける可変長フレームF(k)の蓄積量が指定されたnバイト単位の区切り(指定値)を超えた場合、その可変長フレームF(k)のフレームIDであるP’(k)をフレームIDメモリ9に格納する処理を実施する。
また、フレーム情報格納部7は優先度別のキュー毎に、当該キューに格納された可変長フレームF(k)のフレームIDであるP’(k)と積算値メモリ8に格納された積算値S(k)の対応関係を積算値ポインタメモリ10に格納する処理を実施する。
積算値メモリ8はフレーム格納メモリ2内のキューに格納された可変長フレームF(k)に対応する積算値S(k)を格納するメモリである。
なお、フレーム情報格納部7及び積算値メモリ8から積算値記憶手段が構成されている。
フレームIDメモリ9は可変長フレームF(k)の蓄積量が指定されたnバイト単位の区切りを超えた場合、その可変長フレームF(k)のフレームIDであるP’(k)を格納するメモリである。
なお、フレーム情報格納部7及びフレームIDメモリ9からフレームID記憶手段が構成されている。
積算値ポインタメモリ10はフレーム格納メモリ2内のキューに格納された可変長フレームF(k)のフレームIDであるP’(k)と積算値メモリ8に格納された積算値S(k)の対応関係、即ち、フレーム格納メモリ2内のキューに格納された可変長フレームF(k)のフレームIDであるP’(k)に対応する積算値メモリ8内の積算値S(k)を指し示す積算値ポインタP(k)を格納するメモリである。
なお、フレーム情報格納部7及び積算値ポインタメモリ10から対応関係記憶手段が構成されている。
比較判定部11は例えば帯域割当量として閾値Lを受けると、フレーム格納メモリ2内の各キューにおける可変長フレームF(k)の蓄積量TSAと閾値Lを比較するなどの処理を実施する。
ポインタ管理部12は比較判定部11の比較結果が、各キューにおける可変長フレームF(k)の蓄積量TSAが閾値L以上である旨を示す場合、積算値ポインタメモリ10に格納されている対応関係を参照して、フレームIDメモリ9に格納されているフレームIDであるP’(k)に対応する積算値メモリ8内の積算値S(k)を特定するなどの処理を実施する。
蓄積量演算部13はポインタ管理部12により特定された積算値S(k)から閾値L以内での最大蓄積量SAMAXを算出し、そのフレームIDであるP’(k)から閾値L以内での最大フレーム数FCMAXを算出する処理を実施する。
ただし、蓄積量演算部13は比較判定部11の比較結果が、各キューにおける可変長フレームF(k)の蓄積量TSAが閾値L未満である旨を示す場合、その蓄積量TSAを閾値L以内での最大蓄積量SAMAXとし、各キューに格納されている可変長フレームのフレーム数を閾値L以内での最大フレーム数FCMAXとする。
なお、比較判定部11、ポインタ管理部12及び蓄積量演算部13から最大算出手段が構成されている。
図2及び図3はこの発明の実施の形態1による可変長フレームバッファ装置の処理内容を示すフローチャートである。
図4はフレーム格納メモリ2内のキューに格納される可変長フレームF(k)と、積算値メモリ8、フレームIDメモリ9及び積算値ポインタメモリ10の格納内容などを示す説明図である。
図4では、フレーム格納メモリ2が3つのキュー(1)〜(3)を有しており、本来、キュー(1)に格納される可変長フレームF(13)が、キュー(1)に空きがないために、キュー(3)に格納される例を示している。
なお、可変長フレームF(11),(12)の優先度に対応するキューはキュー(1)、可変長フレームF(21),(22),(23)の優先度に対応するキューはキュー(2)、可変長フレームF(31),(32)の優先度に対応するキューはキュー(3)であるとする。
次に動作について説明する。
フレーム受信制御部1は、可変長フレームF(13)を受信すると、その可変長フレームF(13)のフレーム長Len(13)をカウントするとともに、その可変長フレームF(13)の優先度を判別する。
このとき、可変長フレームF(13)の優先度に対応するキューがキュー(1)であるため、その可変長フレームF(13)をキュー(1)に格納すべきであるが、キュー(1)に空きがないために、その可変長フレームF(13)をキュー(3)に格納する。
この実施の形態1では、上記の通り、フレームバッファアクセス制御部5が可変長フレームF(13)をフレーム格納メモリ2内のキュー(3)に格納するが、本来、可変長フレームF(13)はキュー(1)に格納すべきフレームであるため、フレーム情報格納部7が、可変長フレームF(13)をキュー(1)に格納したものとして、キュー(1)における可変長フレームF(k)の蓄積量を積算して、その蓄積量の積算値S(13)を積算値メモリ8に格納する(図4を参照)。
例えば、可変長フレームF(k)がF(11)→F(12)→F(21)→F(22)→F(23)→F(31)→F(32)→F(13)の順番に受信されており、可変長フレームF(k)のフレーム長Len(k)が図5の通りであるとすると、積算値S(13)は下記のようになる。ただし、各可変長フレームのオーバヘッドOHを100、キュー(1)における最終リード位置1r(図6を参照)の積算値S(1r)を100とする。
S(13)=S(1r)+F(11)+OH+F(12)+OH+F(13)+OH
=100+700+100+1000+100+600+100
=2700
また、フレーム情報格納部7は、フレームバッファアクセス制御部5により可変長フレームF(13)のキュー(1)に対する積算値S(13)が、指定されたnバイト単位の区切り(2kバイト)を超えているので、図4に示すように、その可変長フレームF(13)のフレームIDであるP’(13)をフレームIDメモリ9に格納する。
ここでは、説明の便宜上、キュー(1)に格納される可変長フレームF(k)のフレームIDとして0〜15の値、キュー(2)に格納される可変長フレームF(k)のフレームIDとして16〜31の値、キュー(3)に格納される可変長フレームF(k)のフレームIDとして32〜47の値が割り当てられるものとする。
図4の例では、可変長フレームF(13)がキュー(3)に格納されるが、可変長フレームF(13)は本来キュー(1)に格納されるフレームであるため、フレームIDとして0〜15の値が割り当てられる。ただし、図5の例では、先にキュー(1)に格納されている可変長フレームF(11),F(12)には、フレームIDとして、P’(11)=4、P’(12)=5が割り当てられているので、可変長フレームF(13)のフレームIDには、5に1を加えた6が割り当てられる。
また、フレーム情報格納部7は、図4に示すように、可変長フレームF(13)のフレームIDであるP’(13)と積算値メモリ8内の積算値S(13)の対応関係を示す情報として、P’(13)に対応する積算値S(13)を指し示す積算値ポインタP(33)を積算値ポインタメモリ10に格納する。
ここでは、説明の便宜上、キュー(1)に格納される可変長フレームF(k)の積算値ポインタP(k)として0〜15の値、キュー(2)に格納される可変長フレームF(k)の積算値ポインタP(k)として16〜31の値、キュー(3)に格納される可変長フレームF(k)の積算値ポインタP(k)として32〜47の値が割り当てられるものとする。
図4の例では、可変長フレームF(13)がキュー(3)に格納されるので、P’(13)に対応する積算値S(13)を指し示す積算値ポインタP(33)として32〜47の値が割り当てられる。ただし、図5の例では、先にキュー(3)に格納されている可変長フレームF(31),F(32)には、積算値ポインタとして、P(31)=41、P(42)=42が割り当てられているので、可変長フレームF(13)の積算値ポインタP(33)には、43が割り当てられる。
ここまでの処理内容は、可変長フレームF(13)を受信してフレーム格納メモリ2内のキュー(3)に格納する際の動作である。
次に、例えばOLTから帯域割当量として閾値Lを受けて、閾値L以内での最大蓄積量SAMAXをOLTに報告する際の動作を説明する。
ただし、OLTが、例えば、出力フレーム数を調べる必要がある場合などには、必要に応じて最大フレーム数FCMAXをOLTに報告する。
比較判定部11は、OLTから帯域割当量として閾値Lを受けると、フレーム格納メモリ2内の各キュー(1)〜(3)における可変長フレームF(k)の蓄積量TSA(1),TSA(2),TSA(3)と閾値Lとを順次比較する(図2のステップST1)。
TSA(1)=S(13)−S(1r)
=2700−100
=2600
TSA(2)=S(23)−S(2r)
=6700−4500
=2200
TSA(3)=S(32)−S(3r)
=9700−8200
=1500
図2では、説明の簡略化のため、各キュー(1)〜(3)における蓄積量TSA(1),TSA(2),TSA(3)を“TSA”で表記し、各キュー(1)〜(3)における最終リード位置1r,2r,3rを“最終リード位置r”で表記し、各キュー(1)〜(3)における最終リード位置1r,2r,3rの積算値S(1r),S(2r),S(3r)を“積算値S(r)”で表記している。
ポインタ管理部12は、比較判定部11の比較結果が、各キュー(1)〜(3)における可変長フレームF(k)の蓄積量TSA(1),TSA(2),TSA(3)が閾値L以上である旨を示す場合、積算値ポインタメモリ10に格納されている対応関係を参照して、フレームIDメモリ9に格納されているフレームIDであるP’(k)に対応する積算値メモリ8内の積算値S(k)を特定する。
以下、ポインタ管理部12におけるP’(k)に対応する積算値S(k)の特定処理を具体的に説明する。
例えば、閾値Lが2100であれば、比較判定部11の比較結果は、蓄積量TSA(1)が閾値L以上である旨を示すので、ポインタ管理部12は、その閾値Lと最終リード位置1rの積算値S(1r)から、積算値ベースの閾値SLを算出する(ステップST2)。
SL=L+S(1r)
=2100+100
=2200
ここで、図6は蓄積量TSA、閾値L、積算値ベースの閾値SL及び最終リード位置1rなどを示している説明図である。
ただし、図6では、説明の簡単化のため、フレーム格納メモリ2内のキューが1つだけである例を示している。
ポインタ管理部12は、積算値ベースの閾値SLを算出すると、その閾値SLを検索単位n(1kバイト=1024バイト)で除算して、その除算結果SNLを求め、また、最終リード位置rの積算値S(r)を検索単位nで除算して、その除算結果SNrを求める(ステップST3)。
SNL=SL÷n
=2200÷1024
=2.14=2(小数点以下は切り捨て)
SNr=S(r)÷n
=100÷1024
=0.097=0(小数点以下は切り捨て)
次に、ポインタ管理部12は、上記のSNLとSNrを比較し(ステップST4)、両者が一致すれば(SNL=SNr)、最終リード位置rの積算値S(r)のポインタであるP’(r)を検索開始位置に設定する(ステップST5)。
ただし、上記の例では、SNL=2、SNr=0であり、SNLとSNrが一致しないので、ステップST5は実行されない。
ポインタ管理部12は、SNLとSNrが一致しない場合(SNL≠SNr)、SNL=2をフレームIDメモリ9に対するポインタとして用いて、フレームIDであるP’(13)を取得する(ステップST6)。
図4の例では、P’(13)のアドレスが2kであるので、SNL=2をアドレス(フレームIDメモリ9に対するポインタ)とすると、P’(13)=6が取得される。
ポインタ管理部12は、フレームIDであるP’(13)を取得すると、P’(13)−1=P’(12)を検索開始位置に設定する(ステップST7)。
P’(13)の位置より一つ前の可変長フレームは確実に閾値L以下となるため、P’(12)を検索開始位置に設定している。
ポインタ管理部12は、P’(12)を検索開始位置に設定すると、積算値ポインタメモリ10から、P’(12)に対応する積算値S(12)を指し示す積算値ポインタP(12)の読み出しを行う(ステップST8)。図5の例では、積算値ポインタP(12)は15である。
ポインタ管理部12は、積算値ポインタメモリ10から積算値ポインタP(12)を読み出すと、積算値メモリ8から積算値ポインタP(12)が指し示す積算値S(12)の読み出しを行う(ステップST9)。図5の例では、積算値S(12)は2000である。
ポインタ管理部12は、積算値メモリ8から積算値S(12)を読み出すと、その積算値S(12)と積算値ベースの閾値SLとを比較する(図3のステップST10)。
図5の例では、積算値S(12)が2000であり、積算値ベースの閾値SLが2200であるため、SL>S(12)である。
ポインタ管理部12は、積算値S(12)が積算値ベースの閾値SLより小さい場合、積算値ポインタメモリ10に対するポインタ(この段階では、検索開始位置P’(12)=5)が、フレーム最終位置P’(13)=6と同じ位置であるか否かを判断する(ステップST11)。
ポインタ管理部12は、同じ位置でない場合、積算値ポインタメモリ10に対するポインタに1を加算して、図2のステップST8の処理に戻る(ステップST12)。
ここでは、検索開始位置P’(12)=5に1を加算して、P’(13)=6を次のポインタとする。
ポインタ管理部12は、P’(13)を次のポインタとすると、積算値ポインタメモリ10から、P’(13)に対応する積算値S(13)を指し示す積算値ポインタP(33)の読み出しを行う(図2のステップST8)。図5の例では、積算値ポインタP(33)は43である。
ポインタ管理部12は、積算値ポインタメモリ10から積算値ポインタP(33)を読み出すと、積算値メモリ8から積算値ポインタP(33)が指し示す積算値S(13)の読み出しを行う(ステップST9)。図5の例では、積算値S(13)は2700である。
ポインタ管理部12は、積算値メモリ8から積算値S(13)を読み出すと、その積算値S(13)と積算値ベースの閾値SLとを比較する(図3のステップST10)。
図5の例では、積算値S(13)が2700であり、積算値ベースの閾値SLが2200であるため、SL<S(13)である。
ポインタ管理部12は、積算値S(13)が積算値ベースの閾値SLより大きい場合、一つ前のフレームが閾値L内で最大となるフレームとなるので、ポインタP’(13)の一つ前のポインタP’(12)を閾値L内で最大となるフレームのフレームIDとして蓄積量演算部13に出力する。また、ポインタP’(12)に対応する積算値S(12)を蓄積量演算部13に出力する(ステップST13)。
なお、ポインタ管理部12は、ステップST11において、積算値ポインタメモリ10に対するポインタが、フレーム最終位置P’(13)と同じ位置であると判断する場合、このときのポインタを閾値L内で最大となるフレームのフレームIDとして蓄積量演算部13に出力する。また、このポインタに対応する積算値を蓄積量演算部13に出力する(ステップST14)。
蓄積量演算部13は、ポインタ管理部12からポインタP’(12)に対応する積算値S(12)を受けると、その積算値S(12)から最終リード位置1rの積算値S(1r)を減算することで、閾値L以内での最大蓄積量SAMAXを算出する。
SAMAX=S(12)−S(1r)
=2000−100
=1900
また、蓄積量演算部13は、ポインタP’(12)から最終リード位置1rの積算値S(1r)のポインタであるP’(1r)を減算することで、閾値L以内での最大フレーム数FCMAXとする。
FCMAX=P’(12)−P’(1r)
=5−3
=2
ただし、蓄積量演算部13は、比較判定部11の比較結果が、各キューにおける可変長フレームF(k)の蓄積量TSA(1),TSA(2),TSA(3)が閾値L未満である旨を示す場合(図2のステップST1)、その蓄積量TSA(1),TSA(2),TSA(3)を閾値L以内での最大蓄積量SAMAXとし、各キューに格納されている可変長フレームのフレーム数を閾値L以内での最大フレーム数FCMAXとする(ステップST16)。
蓄積量演算部13は、上記のようにして、閾値L以内での最大蓄積量SAMAXを算出すると、その最大蓄積量SAMAXをOLTに出力する。
なお、蓄積量演算部13は、OLTが、例えば、出力フレーム数を調べる必要がある場合などには、必要に応じて最大フレーム数FCMAXをOLTに出力する。
以上で明らかなように、この実施の形態1によれば、フレーム受信制御部1により受信された可変長フレームの優先度に対応するフレーム格納メモリ2内のキューに空きがあれば、その可変長フレームを当該キューに格納し、その可変長フレームの優先度に対応するキューに空きがなければ、その可変長フレームを他の優先度のキューに格納するフレームバッファアクセス制御部5と、フレームバッファアクセス制御部5により可変長フレームがフレーム格納メモリ2内のキューに格納される毎に、各キューにおける可変長フレームの蓄積量を積算して、その蓄積量の積算値を積算値メモリ8に格納し、フレームバッファアクセス制御部5により可変長フレームがキューに格納されることで、そのキューにおける可変長フレームの蓄積量が指定値を超えた場合、その可変長フレームのフレームIDをフレームIDメモリ9に格納し、優先度別のキュー毎に、当該キューに格納された可変長フレームのフレームIDと積算値メモリ8に格納された積算値の対応関係を積算値ポインタメモリ10に格納するフレーム情報格納部8とを設け、積算値メモリ8に格納されている積算値、フレームIDメモリ9に格納されているフレームID及び積算値ポインタメモリ10に格納されている対応関係を参照して、各キューにおける可変長フレームの閾値以内での最大蓄積量及び最大フレーム数を算出して出力するように構成したので、可変長フレームの優先度に対応するキューに空きがない場合、その可変長フレームを他の優先度のキューに格納するようにしても、キューにおける可変長フレームの蓄積量をフレーム単位で算出することができるようになり、その結果、閾値以内での最大蓄積量及び最大フレーム数を算出することができる効果を奏する。
実施の形態2.
上記実施の形態1では、フレームバッファアクセス制御部5が、フレーム受信制御部1により受信された可変長フレームの優先度に対応するフレーム格納メモリ2内のキューに空きがあれば、その可変長フレームを当該キューに格納し、その可変長フレームの優先度に対応するキューに空きがなければ、その可変長フレームを他の優先度のキューに格納するものについて示したが、その可変長フレームを他の優先度のキューに格納する場合、以降、その可変長フレームと同一優先度の可変長フレームを上記キューに格納して、本来、上記キューに対応する優先度の可変長フレームを廃棄するようにしてもよい。
例えば、フレーム受信制御部1により受信された可変長フレームF(13)の優先度に対応するフレーム格納メモリ2内のキュー(1)に空きがないために、その可変長フレームF(13)を他の優先度のキュー(3)に格納する場合、以降、可変長フレームF(13)と同一優先度の可変長フレーム(例えば、F(14)やF(15))をキュー(3)に格納して、本来、キュー(3)に対応する優先度の可変長フレーム(例えば、F(33)やF(34))を廃棄するようにする。
フレームバッファアクセス制御部5は、その後、キュー(3)に格納されている他の優先度の可変長フレームF(3)やF(4)などが全て出力されると、本来格納する元の優先度の可変長フレーム(例えば、F(35)やF(36))をキュー(3)に格納するようにする。
以上で明らかなように、この実施の形態2によれば、可変長フレームを他の優先度のキューに格納する場合、以降、その可変長フレームと同一優先度の可変長フレームを上記キューに格納して、本来、上記キューに対応する優先度の可変長フレームを廃棄するように構成したので、一部のキューを共有させるときの情報管理が簡潔になり、装置内部で必要なメモリ量を抑えることができる効果を奏する。
実施の形態3.
上記実施の形態1では、フレーム出力制御部6がOLTから可変長フレームの出力要求を受けると、フレームバッファアクセス制御部5を介して、フレーム格納メモリ2内のキューから可変長フレームを取得して、その可変長フレームをOLTに出力するものについて示したが、フレーム出力手段であるフレーム出力制御部6が、蓄積量算出部13により算出された最大蓄積量SAMAXとなる場合の可変長フレームの出力順序を保持し、OLTから閾値として帯域割当量が指定されると、その出力順序で可変長フレームを優先的にOLTに出力するようにしてもよい。
例えば、図4に示すように、フレーム格納メモリ2内のキュー(1)〜(3)に8個の可変長フレームが格納されているとき、蓄積量算出部13により最大蓄積量SAMAXが算出された場合、フレーム出力制御部6が、キュー(1)〜(3)に格納されている8個の可変長フレームの出力順序(優先度が高い可変長フレームから先に出力する順序)を保持し、OLTから閾値として帯域割当量が指定されると、その出力順序でキュー(1)〜(3)に格納されている8個の可変長フレームを優先的にOLTに出力するようにする。
したがって、8個の可変長フレームの出力順序を保持したのち、OLTから閾値として帯域割当量が指定される前に、例えば、ある可変長フレームがいずれかのキューに格納されても、その可変長フレームについてはOLTに出力されない。
ただし、帯域に余剰があり、出力が可能であれば、その可変長フレームをOLTに出力するようにしてもよい。
OLTは、可変長フレームバッファ装置から最大蓄積量SAMAXの報告を受けると、その最大蓄積量SAMAXに見合う帯域を可変長フレームバッファ装置に割り当てるので、可変長フレームバッファ装置は、その帯域に見合う分の可変長フレームをOLTに出力することができるようになる。
ここでは、可変長フレームバッファ装置が最大蓄積量SAMAXをOLTに報告するものについて示しているが、必要に応じて最大フレーム数FCMAXをOLTに報告するようにしてもよい。
1 フレーム受信制御部(フレーム受信手段)、2 フレーム格納メモリ、3 フレーム長情報バッファ、4 共有バッファ情報管理部、5 フレームバッファアクセス制御部(可変長フレーム格納手段)、6 フレーム出力制御部(フレーム出力手段)、7 フレーム情報格納部(積算値記憶手段、フレームID記憶手段、対応関係記憶手段)、8 積算値メモリ(積算値記憶手段)、9 フレームIDメモリ(フレームID記憶手段)、10 積算値ポインタメモリ(対応関係記憶手段)、11 比較判定部(最大算出手段)、12 ポインタ管理部(最大算出手段)、13 蓄積量演算部(最大算出手段)。

Claims (6)

  1. 可変長フレームを受信するフレーム受信手段と、優先度別のフレームバッファと、上記フレーム受信手段により受信された可変長フレームの優先度に対応するフレームバッファに空きがあれば、上記可変長フレームを当該フレームバッファに格納し、上記可変長フレームの優先度に対応するフレームバッファに空きがなければ、上記可変長フレームを他の優先度のフレームバッファに格納する可変長フレーム格納手段と、上記可変長フレーム格納手段により可変長フレームがフレームバッファに格納される毎に、各フレームバッファにおける可変長フレームの蓄積量を積算して、上記蓄積量の積算値を記憶する積算値記憶手段と、上記可変長フレーム格納手段により可変長フレームがフレームバッファに格納されることで、上記フレームバッファにおける可変長フレームの蓄積量が指定値を超えた場合、上記可変長フレームのフレームIDを記憶するフレームID記憶手段と、優先度別のフレームバッファ毎に、当該フレームバッファに格納された可変長フレームのフレームIDと上記積算値記憶手段により記憶された積算値の対応関係を記憶する対応関係記憶手段と、上記積算値記憶手段により記憶されている積算値、上記フレームID記憶手段により記憶されているフレームID及び上記対応関係記憶手段により記憶されている対応関係を参照して、各フレームバッファにおける可変長フレームの閾値以内での最大蓄積量及び最大フレーム数を算出して出力する最大算出手段とを備えた可変長フレームバッファ装置。
  2. 最大算出手段は、各フレームバッファにおける可変長フレームの蓄積量が閾値未満であれば、上記蓄積量を閾値以内での最大蓄積量として出力するとともに、各フレームバッファに格納されている可変長フレームのフレーム数を閾値以内での最大フレーム数として出力することを特徴とする請求項1記載の可変長フレームバッファ装置。
  3. 最大算出手段は、各フレームバッファにおける可変長フレームの蓄積量が閾値以上であれば、対応関係記憶手段により記憶されている対応関係を参照して、フレームID記憶手段により記憶されているフレームIDに対応する積算値記憶手段により記憶されている積算値を特定し、上記積算値から閾値以内での最大蓄積量を算出し、上記フレームIDから閾値以内での最大フレーム数を算出することを特徴とする請求項2記載の可変長フレームバッファ装置。
  4. 積算値記憶手段は、可変長フレームの蓄積量を積算する際、各可変長フレームのオーバヘッドを含めて積算することを特徴とする請求項1から請求項3のうちのいずれか1項記載の可変長フレームバッファ装置。
  5. 可変長フレーム格納手段は、可変長フレームを他の優先度のフレームバッファに格納する場合、以降、上記可変長フレームと同一優先度の可変長フレームを上記フレームバッファに格納して、本来、上記フレームバッファに対応する優先度の可変長フレームを廃棄することを特徴とする請求項1から請求項4のうちのいずれか1項記載の可変長フレームバッファ装置。
  6. 最大算出手段により算出された最大蓄積量となる場合の可変長フレームの出力順序を保持し、閾値として帯域割当量が指定されると、上記出力順序で可変長フレームを優先的に出力するフレーム出力手段を設けたことを特徴とする請求項1から請求項5のうちのいずれか1項記載の可変長フレームバッファ装置。
JP2009008982A 2009-01-19 2009-01-19 可変長フレームバッファ装置 Pending JP2010166502A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009008982A JP2010166502A (ja) 2009-01-19 2009-01-19 可変長フレームバッファ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009008982A JP2010166502A (ja) 2009-01-19 2009-01-19 可変長フレームバッファ装置

Publications (1)

Publication Number Publication Date
JP2010166502A true JP2010166502A (ja) 2010-07-29

Family

ID=42582293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009008982A Pending JP2010166502A (ja) 2009-01-19 2009-01-19 可変長フレームバッファ装置

Country Status (1)

Country Link
JP (1) JP2010166502A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012070127A1 (ja) * 2010-11-24 2012-05-31 三菱電機株式会社 通信装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1132050A (ja) * 1997-07-09 1999-02-02 Hitachi Ltd Atm交換装置における優先制御キュー制御方法
JP2002247081A (ja) * 2001-02-16 2002-08-30 Nec Corp バッファ管理方法およびatm交換機
JP2007324886A (ja) * 2006-05-31 2007-12-13 Mitsubishi Electric Corp 可変長フレームバッファ装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1132050A (ja) * 1997-07-09 1999-02-02 Hitachi Ltd Atm交換装置における優先制御キュー制御方法
JP2002247081A (ja) * 2001-02-16 2002-08-30 Nec Corp バッファ管理方法およびatm交換機
JP2007324886A (ja) * 2006-05-31 2007-12-13 Mitsubishi Electric Corp 可変長フレームバッファ装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012070127A1 (ja) * 2010-11-24 2012-05-31 三菱電機株式会社 通信装置
CN103210613A (zh) * 2010-11-24 2013-07-17 三菱电机株式会社 通信装置
JP5404936B2 (ja) * 2010-11-24 2014-02-05 三菱電機株式会社 通信装置
CN103210613B (zh) * 2010-11-24 2016-09-07 三菱电机株式会社 通信装置

Similar Documents

Publication Publication Date Title
CN105245912B (zh) 一种缓存视频数据及读取视频数据的方法及装置
US9036993B2 (en) Method and apparatus for dynamically allocating bandwidth to a client in a passive optical network
US20070122151A1 (en) Band allocation control apparatus, band allocation control method, and band allocation control program
WO2017000657A1 (zh) 一种缓存管理的方法、装置和计算机存储介质
KR101205622B1 (ko) 채널 대역 할당 장치 및 방법
US20200059436A1 (en) Client Service Transmission Method and Apparatus
US20110249685A1 (en) Method and device for scheduling data communication input ports
CN114640886B (zh) 自适应带宽的音视频传输方法、装置、计算机设备及介质
KR20110124291A (ko) 마스터 스테이션 장치 및 그랜트 할당 방법
US20030012223A1 (en) System and method for processing bandwidth allocation messages
US20070230492A1 (en) Frame multiplexing device
US8665867B2 (en) Method and device for processing switching control command
JP2010166502A (ja) 可変長フレームバッファ装置
US7653080B2 (en) Station side communication device
US7933283B1 (en) Shared memory management
CN117793583A (zh) 报文转发方法、装置、电子设备及计算机可读存储介质
CN111131061B (zh) 一种数据传输方法及网络设备
JP5304184B2 (ja) 動的帯域割当方法及び局側装置
CN103442091A (zh) 一种数据传输方法及装置
US20100158036A1 (en) Method and apparatus of receiving burst data using multiple upstream channels based on upstream bandwidth allocation information in hfc network
JP5487139B2 (ja) 帯域割当方法及び受動光通信網システム
CN114401235A (zh) 一种队列管理中重载处理方法、系统、介质、设备及应用
US11546276B2 (en) Communication input-output device
US20080022021A1 (en) Buffer control method and device thereof
JP5359692B2 (ja) フレーム出力方法及びフレーム出力装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20111005

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Written amendment

Effective date: 20121109

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121211