JP4769316B2 - パケットキューイング装置およびパケットキューイング方法 - Google Patents
パケットキューイング装置およびパケットキューイング方法 Download PDFInfo
- Publication number
- JP4769316B2 JP4769316B2 JP2009173257A JP2009173257A JP4769316B2 JP 4769316 B2 JP4769316 B2 JP 4769316B2 JP 2009173257 A JP2009173257 A JP 2009173257A JP 2009173257 A JP2009173257 A JP 2009173257A JP 4769316 B2 JP4769316 B2 JP 4769316B2
- Authority
- JP
- Japan
- Prior art keywords
- queue
- packet
- buffer
- unit
- external
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
たとえば、特許文献1の通信処理回路では、外部バスにDDR(Double Data Rate)メモリを搭載することで大きなバッファリング容量が得られるが、パケット転送速度はDDRメモリの転送速度に制約される。
また、家庭内LANに複数の端末装置が接続され、複数の端末装置間でデータが転送される場合、ルータやスイッチは複数の通信経路のデータを同時に転送する必要が生じうる。この場合、ルータやスイッチはLANからインターネットへ、あるいはインターネットからLANへのパケット転送よりも高速にパケット転送を行う必要がある。そのためには、より高速に読み書きを行えるバッファを必要とする。
このパケットキューイング装置は、外部側送信部から送信するパケットを外部側受信部にて受信した場合は、受信したパケットを外部バッファ記憶部に一旦書き込んだ後、このパケットを外部バッファ記憶部から読み出して外部側送信部から送信する。また、このパケットキューイング装置は、内部側送信部から送信するパケットを外部側受信部にて受信した場合は、受信したパケットを外部バッファ記憶部に一旦書き込んだ後、このパケットを外部バッファ記憶部から読み出して内部側送信部から送信する。また、このパケットキューイング装置は、内部側送信部から送信するパケットを内部側受信部にて受信した場合は、受信したパケットを内部バッファ記憶部に一旦書き込んだ後、このパケットを内部バッファ記憶部から読み出して内部側送信部から送信する。また、このパケットキューイング装置は、外部側送信部から送信するパケットを内部側受信部にて受信した場合は、受信したパケットを内部バッファ記憶部に一旦書き込む。その後、外部側送信部から送信するパケットを外部側受信部にて受信した場合と同様、外部バッファ記憶部に一旦再度書き込まれた後、このパケットが外部側送信部から送信される。
このように、このパケットキューイング装置では、外部側受信部から受信されたパケットが一旦外部バッファ記憶部に蓄えられた後、内部バッファ記憶部に蓄えられずに直接内部側送信部から送信されるので、外部バッファ記憶部よりも内部バッファ記憶部の容量が小さいことによるパケットあふれが生じない。さらに、外部側受信部から受信されたパケットを内部側送信部から送信する際に、内部側バッファ記憶部におけるパケットあふれが生じないので、パケットあふれを防止するために外部バッファ記憶部の読み出し速度を低減させる必要がない。したがって、外部バッファ記憶部の読み出し速度を活かした処理ができる。
このパケットキューイング装置は複数のキューがキューバッファを共有するので、キューバッファの利用効率が高い。
このパケットキューイング装置は、キュー管理部がキューの設定値を変更する。その際、キューの設定値変更を行うのはキュー管理部のみとすることにより、パケットキューイング装置を稼動させながらの動的な変更を行うことができる。
このパケットキューイング方法では、外部側受信ステップにて受信されたパケットが一旦外部バッファ記憶部に蓄えられた後、内部バッファ記憶部に蓄えられずに直接内部側送信ステップにて送信されるので、外部バッファ記憶部よりも内部バッファ記憶部の容量が小さいことによるパケットあふれが生じない。また、パケットあふれが生じないので、外部側受信ステップにて受信されたパケットを内部側送信ステップにて送信する際に、パケットあふれを防止するために外部バッファ記憶部の読み出し速度を低減させる必要がない。したがって、外部バッファ記憶部の読み出し速度を活かした処理ができる。
このパケットキューイング方法では、パケットキューイング装置は複数のキューがキューバッファを共有するので、キューバッファの利用効率が高い。
このパケットキューイング方法では、キュー管理部がキューの設定値を変更する。その際、キューの設定値変更を行うのはキュー管理部のみとすることにより、パケットキューイング装置を稼動させながらの動的な変更を行うことができる。
図1は本発明の一実施形態におけるパケットキューイング装置1の概略構成を示す構成図である。同図において、パケットキューイング装置1は、WAN側受信部(外部側受信部)11と調停部12とWAN側パーサ部13及とFIFO(First-In, First-Out;ファイホ)部14と検索部15とWAN側フレーム生成部16とWAN側FIFO部17とWAN側L2検索部18と外部バッファ書き込み部19と外部バッファ記憶部61とメモリコントローラ62と外部バッファ管理部21と外部バッファ読み出し部22とWAN側送信部(外部側送信部)26とLAN側受信部(内部側受信部)41−1〜4とLAN側パーサ部43−1〜4とLAN側FIFO部47−1〜4とLAN側L2検索部48−1〜4と内部バッファ書き込み部49と内部バッファ記憶部50と内部バッファ管理部51と内部バッファ読み出し部52と、LAN−WAN間フレーム生成部53とLAN側フレーム生成部54−1〜4とLAN−WAN間FIFO部55とLAN側送信部(内部側送信部)56−1〜4とQoS制御部(キュー管理部)31とを含んで構成される。QoS制御部31は、キューバッファ(共有キューバッファ)321とパケットスケジューラ33とを含んで構成される。内部バッファ管理部51は、内部バッファ記憶部ベースアドレスレジスタ(不図示)と内部バッファ記憶部メモリブロックサイズレジスタ(不図示)とを含んで構成される。外部バッファ管理部21は、外部バッファ記憶部ベースアドレスレジスタ(不図示)と外部バッファ記憶部メモリブロックサイズレジスタ(不図示)とを含んで構成される。
外部バッファ記憶部61と内部バッファ記憶部50とLAN−WAN間FIFO部55とキューバッファ321とは、半導体メモリを含んで構成される記憶部である。
外部バッファ記憶部61は外部メモリを含んで構成され、内部バッファ記憶部50は内部メモリを含んで構成される。外部側受信部が受信したパケットは、廃棄されるパケットを除いて全て外部バッファ記憶部61に記憶され、内部側受信部が受信したパケットは、廃棄されるパケットを除いて全て内部バッファ記憶部50に記憶される。また、外部側送信部から送信されるパケットは全て外部バッファ記憶部61から読み出されたパケットである。ただし、内部側送信部は、内部バッファ記憶部50から読み出されたパケットに加えて外部バッファ記憶部61から読み出されたパケットも送信する。外部バッファ記憶部61から読み出されたパケットを一旦内部バッファ記憶部50に書き込むことによるパケット溢れを防止するために、内部側送信部は、外部バッファ記憶部61から読み出されたパケットを、内部バッファ記憶部50を介さずに送信する。以下で用いる「外部側」とは、記憶容量がより大きく読み書き速度がより遅い外部バッファ記憶部61にパケットを書き込み、この外部バッファ記憶部61から読み出したパケットを送信する側をいう。また、「内部側」とは、記憶容量がより小さく読み書き速度がより速い内部バッファ記憶部50にパケットを書き込み、この内部バッファ記憶部50から読み出したパケットを送信する側をいう。
LAN側パーサ部43−1〜4は入力されたパケットに対して構文解析を行い、LAN側L2検索部48−1〜4が使用する要素を抽出する。具体的には、LAN側パーサ部43−1〜4は、パケットの所定の位置に書かれている値を読み出す。そして、LAN側パーサ部43−1〜4は、読み出した値に基づいて、予め定められた要素の中からLAN側L2検索部48−1〜4に出力する要素を選択する。さらに、LAN側パーサ部43−1〜4はパケットをLAN側FIFO部47−1〜4に入力し、抽出した要素をLAN側L2検索部48−1〜4に入力する。LAN側FIFO部47−1〜4は、入力されたパケットを時間調整のために一時的に記憶する。
LAN側L2検索部48−1〜4は、LAN側パーサ部43−1〜4から入力された要素と予め内部に記憶するL2検索用のキーとを照合することにより、出力先判定と品質クラス判定と廃棄判定とを行う。LAN側L2検索部48−1〜4は、内部バッファ書き込み部49に判定結果を入力する。
内部バッファ書き込み部49は、入力された位置情報に従って、内部バッファ記憶部50の空き領域にLAN側FIFO部47−1〜4から読み出したパケットのパケットデータを書き込む。内部バッファ書き込み部49は、パケットデータの書き込みが終了すると、書き込まれた領域の位置情報を示すハンドル番号と受信ポート番号と品質クラス指定と出力ポート番号とフレーム長とVLAN有無の情報など、出力のフレーム生成に必要な情報を含むジョブ情報をQoS制御部31に入力する。
なお、内部バッファ記憶部50は、想定される最長フレーム長に合わせたメモリブロックに区画されていてもよいし、最長フレーム長よりも小さいメモリブロックに区画されていてもよい。最長フレーム長よりも小さいメモリブロックに区画すると管理方法が複雑となるがメモリ利用効率は向上する。
内部バッファ記憶部50は、パケットを記憶する。内部バッファ管理部51は、内部バッファ記憶部50上の空き領域を示すハンドル番号を記憶する。
調停部12は、WAN側受信部11から入力されるパケットとLAN−WAN間FIFO部55から入力されるパケットとのどちらを先に処理するかを決定する。調停部12は、決定した順序に従ってWAN側受信部11から入力されるパケットとLAN−WAN間FIFO部55から入力されるパケットとをWAN側パーサ部13に入力する。WAN側パーサ部13は、入力されたパケットに対して構文解析を行い、検索部15が使用する要素を抽出する。WAN側パーサ部13はパケットをFIFO部14に入力し、抽出した要素を検索部15に入力する。
FIFO部14は、入力されたパケットを時間調整のために一時的に記憶する。
検索部15は、入力された要素と予め内部に記憶する検索用のキーとを照合することにより、出力先判定と品質クラス判定と廃棄判定とパケット書き換え判定とを行う。検索部15は、WAN側フレーム生成部16に判定結果を入力する。
WAN側フレーム生成部16は、判定結果が入力されると、FIFO部14からパケットを読み出す。また、WAN側フレーム生成部16は、上述のパケット書き換え判定においてパケットの書き換えが必要と判定された場合は、読み出したパケットを書き換える。WAN側フレーム生成部16は、パケットをWAN側FIFO部17に入力し、判定結果をWAN側L2検索部18に入力する。
WAN側FIFO部17は、入力されたパケットを時間調整のために一時的に記憶する。
外部バッファ書き込み部19は、検索結果が入力されると、WAN側FIFO部17からパケットを読み出す。また、外部バッファ書き込み部19は、外部バッファ管理部21から外部バッファ記憶部61の空き領域の位置情報を示すハンドル番号を読み出す。外部バッファ書き込み部19は、入力されたハンドル番号に従って、外部バッファ記憶部61の空き領域にWAN側FIFO部17から読み出したパケットのパケットデータを書き込む。外部バッファ書き込み部19は、パケットデータの書き込みが終了すると、ジョブ情報をQoS制御部31に入力する。
LAN側と同様、外部バッファ記憶部61に空き領域がない場合や、キュー長が最大キュー長に達しているなどの理由でキューにジョブ情報を登録できなかった場合や、検索部15の廃棄判定において廃棄すると判定された場合は、外部バッファ書き込み部19は、外部バッファ記憶部61にパケットを書き込まない。一方、外部バッファ記憶部61へのパケットを書き込みを開始した後にパケットを廃棄する場合は、LAN側と同様、外部バッファ管理部にパケットを書き込んだ外部バッファ記憶部61上のハンドル番号を外部バッファ管理部21に入力する。外部バッファ管理部21は、入力されたハンドル番号を空き領域を示すハンドル番号として記憶する。これにより、パケットが廃棄される。
メモリコントローラ62は、外部バッファ記憶部61に対するパケットの書き込み及び読み出しを行う。外部バッファ管理部21は、外部バッファ記憶部61上の空き領域を示すハンドル番号を記憶する。
QoS制御部31とキューバッファ321とパケットスケジューラ33とについては、後述する。
WAN側送信部26は、入力されたフレームをWANに送信する。
ここで、WANに送信されるパケットは、WAN側フレーム生成部16ですでにフレーム生成されているので改めてフレームを生成する必要は無く、WAN側送信部26は外部バッファ読み出し部22から入力されたパケットをそのまま送出する。
LAN−WAN間フレーム生成部53は、内部バッファ読み出し部52からパケットデータを入力されると、VLANタグの挿入削除などのフレーム書き換えを行ってフレームを生成する。LAN−WAN間フレーム生成部53は、生成したフレームをLAN−WAN間FIFO部55に入力する。同様に、LAN側フレーム生成部54−1〜4は、内部バッファ読み出し部52からパケットデータを入力されると、VLANタグの挿入削除などのフレーム書き換えを行ってフレームを生成する。LAN側フレーム生成部54−1〜4は、生成したフレームを、それぞれLAN側送信部56−1〜4に入力する。
LAN−WAN間FIFO部55は、入力されたフレームを時間調整のために一時的に記憶する。LAN−WAN間FIFO部55は、上述のように調停部12へパケットを入力する。ここで、複数のLAN側受信部41―1〜4が受信したパケットが調停部12に入力される場合がある。この場合も、QoS制御部31によってQoS制御された後のパケットがLAN−WAN間FIFO部55を経由して調停部12へ入力されており、QoS制御部31によって調停部12への入力順序が調整されている。また、内部バッファ記憶部50に記憶されていたパケットを調停部12へ入力することで、このパケットが記憶されていた内部バッファ記憶部50上の記憶領域を空き領域とすることができ、内部バッファを有効に利用可能となる。
LAN側送信部56−1〜4は、入力されたフレームをそれぞれLAN上の端末装置等の機器LAN1〜4に送信する。
キューバッファ321は、WAN側送信部26とLAN−WAN間FIFO部55とLAN側送信部56−1〜4の各々に対して品質クラス数分のキューを具備する。WAN側送信部26とLAN−WAN間FIFO部55とLAN側送信部56−1〜4の各々は送信先としてWANと調停部と機器LAN1〜4に予め対応付けられているので、各キューは送信先に予め対応付けられている。
ここで、LAN側送信部の数が多くなると、また、品質クラスが多くなると、キューバッファ321は大きなバッファ容量を備える必要がある。また、各キューに対して設定可能なキュー長を大きくするとキューに関連付けられるジョブ情報を蓄積しておくためのキューバッファ量が増大する。しかしすべてのキューが常に最大キュー長分のジョブ情報を蓄積することはなく、一時的に最大キュー長に達することがほとんどである。そこで、キューバッファ量を削減するために、キューバッファ321は各キューが共有して用いる共有キューバッファを備える。
ここで、キューバッファ321を全て共有キューバッファとすると、他のキューに関連するジョブ情報が書き込まれてキューバッファ321の空き領域がなくなった場合に、ジョブ情報を1個も書き込めないキューが生じ得る。これを避けるために各キューに最小キュー長を予め設定する。最小キュー長はキューが必ず保持することができる要素数である。また、前述したようにキュー長とはキューが保持する要素数をいう。キューバッファ321の容量のうち、各キューの最小キュー長に必要な容量を除いた残りを共有キューバッファの容量として用いる。これにより、少ない量のキューバッファ321で、特定のキューが一時的に使用する大量のキューバッファにも対応すると共に各キューに対して最低限蓄積可能なキュー長を保証する。
キュー長が最小キュー長よりも小さい場合は、キュー登録部312はジョブ情報を廃棄せず必ずキューに登録する。キュー長が最小キュー長以上かつ最大キュー長よりも小さい場合は、キュー登録部312は廃棄確率レジスタが示す廃棄確率に従って、ジョブ情報を廃棄するか否かを決定する。廃棄する場合はジョブ情報をキューには登録せず、廃棄しない場合はジョブ情報をキューに登録する。キュー長が最大キュー長以上の場合は、キュー登録部312はジョブ情報をキューには登録せずに廃棄する。
また、各キューにさらに最大キュー長を予め設定してもよい。前述したように、最大キュー長とはキューが保持できる要素数の最大値をいう。キューバッファ321へのジョブ情報の書き込みは対象となるキューのキュー長に応じて制御される。キュー長が最小キュー長より小さい場合は、ジョブ情報を入力されたQoS制御部31は必ずキューバッファ321にこのジョブ情報を書き込む。キュー長が最小キュー長以上かつ最大キュー長より小さい場合は、QoS制御部31は予め設定された廃棄確率を用いて廃棄判定を行い、廃棄されないと判定した場合のみジョブ情報をキューバッファ321に書き込む。最大キュー長を超える場合は、QoS制御部31はジョブ情報をキューバッファ321に書き込まずに廃棄する。廃棄判定は、例えば、廃棄確率レジスタに0〜31の範囲の数値を設定して行う。キュー長が最小キュー長以上かつ最大キュー長より小さい場合、ジョブ情報のキューバッファ321への書き込みに際してQoS制御部31が0〜31の乱数を生成する。QoS制御部31は、生成した乱数が廃棄確率レジスタの値よりも大きい場合はジョブ情報を廃棄する。生成した乱数が廃棄確率レジスタの値以下の場合はジョブ情報をキューバッファ321に書き込む。
廃棄判定部311は、内部バッファ書き込み部49または外部バッファ書き込み部19からジョブ情報が入力されると、そのジョブ情報の廃棄判定を行う。廃棄判定部311は、廃棄判定において廃棄が必要と判定した場合は、ジョブ情報を入力した内部バッファ書き込み部49または外部バッファ書き込み部19に対して廃棄要求を入力する。廃棄判定部311は、廃棄判定において廃棄が不要と判定した場合は、入力されたジョブ情報をキュー登録部312を介してキューバッファ321に書き込む。
キュー登録部312は、共通レジスタ群315の情報及びキュー情報管理部313−1〜Nの情報を更新する。また、キュー登録部312は、共通レジスタ群315及びキュー情報管理部313−1〜Nから情報を読み出す。
キューコントローラ314−1〜Nは、対応するキュー情報管理部313−1〜Nのキュー長が1以上の場合に、対応するキュー情報管理部313−1〜Nからフレーム長と管理番号とを読み出してジョブ情報を生成する。キューコントローラ314−1〜Nは、生成したジョブ情報をパケットスケジューラ33に入力する。このジョブ情報はパケットスケジューラ33に対する送信要求信号(リクエスト信号ともいう)である。
キューバッファ321は、複数のキューに記憶されるジョブ情報を表形式のデータとして記憶する。キューバッファ321の各行のデータが1個のジョブ情報に対応し、各行はキューバッファ番号にて識別される。キューバッファ321が記憶するデータは、管理番号とフレーム長と次キューバッファ番号とを含んで構成される。
管理番号は、ハンドル番号を記憶するパケット管理テーブルの各行に対応する。パケット管理テーブルは、パケットが内部バッファ記憶部50上に記憶される記憶位置情報またはパケットが外部バッファ記憶部61上に記憶される記憶位置情報を示すハンドル番号を記憶する。
フレーム長は、管理番号によって特定されるパケットのフレーム長を示す。1行分の管理番号とフレーム長とが1個のジョブ情報に相当する。
次キューバッファ番号は、キュー上の次のデータへのリンクを示す。具体的には、キュー上の次のデータであるジョブ情報が記憶されている行のキューバッファ番号が記憶されている。
キューバッファ321はジョブ情報をキュー構造にて記憶する記憶部であり、キュー構造は、次キューバッファ番号によって示される。キュー登録部312がジョブ情報を登録するキューは、全てキューバッファ321の記憶領域上に構成されている。
最大共有キューバッファ量レジスタ322は、キューバッファ321のバッファ量のうち、共有キューバッファに割り当てられているバッファ量を示す。共有キューバッファ量レジスタ323は、キューバッファ321のバッファ量のうち、共有キューバッファとして用いられているバッファ量を示す。空きキューバッファ番号FIFO・324は、キューバッファ321中の空き領域の位置をキューバッファ番号にて記憶する。
先頭キューバッファ番号レジスタは、キューバッファ321上におけるキューの先頭の位置をキューバッファ番号で示す。最終キューバッファ番号レジスタは、キューバッファ321上におけるキューの末尾の位置をキューバッファ番号で示す。フレーム長レジスタは、キューの先頭に記憶されるジョブ情報のうち、フレーム長を示す。管理番号レジスタは、キューの先頭に記憶されるジョブ情報のうち、管理番号を示す。フレーム長レジスタと管理番号レジスタによって、キューの先頭に記憶されるジョブ情報が示される。
最大キュー長レジスタは、キューに設定された最大キュー長を示す。キュー長が最大キュー長に達しているときは、このキューにジョブ情報を書き込むことはできない。この場合、入力されたジョブ情報は廃棄される。
廃棄確率レジスタは、上述の廃棄確率を示す。キュー長レジスタは、そのキューのキュー長を示す。
キュー情報管理部313−1〜Nは共通レジスタ群315と共にキューを構成する。まず、先頭キューバッファ番号レジスタがキューバッファ321上でキューの先頭ジョブ情報が記憶されている行を示す。また、この行の次キューバッファ番号が次のジョブ情報が記憶されている行を示す。以下同様に、次キューバッファに従ってキューを辿ることができる。
ハンドル番号は、パケットが記憶された記憶位置を示すインデックスである。予め定められたベースアドレスとメモリブロックサイズとを用いて、アドレス=ベースアドレス+メモリブロックサイズ×ハンドル番号によりアドレスが算出される。内部バッファ管理部51は、内部バッファ記憶部ベースアドレスレジスタ(不図示)に内部バッファ記憶部50のベースアドレスを記憶し、内部バッファ記憶部メモリブロックサイズレジスタ(不図示)に内部バッファ記憶部50のメモリブロックサイズを記憶する。また、外部バッファ管理部21は外部バッファ記憶部ベースアドレスレジスタ(不図示)に外部バッファ記憶部61のベースアドレスを記憶し、外部バッファ記憶部メモリブロックサイズレジスタ(不図示)に外部バッファ記憶部61のメモリブロックサイズを記憶する。
図6は、共通レジスタ群315が記憶するパケット管理テーブル325bのもう1つのデータ構成例を示すデータ構成図である。
共通レジスタ群315はパケット管理テーブル325bを表形式のデータとして記憶する。パケット管理テーブルの各行は管理番号に対応付けられている。パケット管理テーブルの各行がそれぞれの管理番号と内部バッファ記憶部50上のアドレスまたは外部バッファ記憶部61上のアドレスとの関係を示し、ハンドル番号を含んで構成される。
パケット管理テーブル325bにおいては、ハンドル番号の全ビットを1とすることにより外部バッファ記憶部61上のアドレスであることを示す。同図において、ハンドル番号は16ビットで構成され、全ビットが1のハンドル番号は16進数表記で0xFFFFと示されている。外部バッファ記憶部61上のアドレスは管理番号を用いて、アドレス=外部バッファ記憶部のベースアドレス+外部バッファ記憶部のメモリブロックサイズ×管理番号により算出される。一方内部バッファ記憶部50上のアドレスは、ハンドル番号を用いて、アドレス=内部バッファ記憶部のベースアドレス+内部バッファ記憶部のメモリブロックサイズ×ハンドル番号により算出される。
ここで、外部バッファ記憶部61のアドレスを記憶するためにハンドル番号をパケット管理テーブル325bに書き込む場合、特定の管理番号に対応付けられた特定の行に書き込む必要があり、その行が空いている必要がある。そこで、例えば、この使い方をする場合、先の説明とは異なり、外部バッファ記憶部50に書き込むアドレスをQoS制御部31で生成してそこに書き込むように外部バッファ書き込み部19に通知する。内部バッファに関しては、先の説明と違いはない。具体的には、空きパケット管理番号FIFO・330から得られた値を外部バッファ記憶部50のハンドル番号として通知する。そして、当該管理番号のハンドル番号には、16進数表記で0xFFFFを書き込む。空きパケット管理テーブルに蓄積されている管理番号はユニークであるので書き込む行が空いていることが保証される。
廃棄判定部311は、内部バッファ書き込み部49または外部バッファ書き込み部19からジョブ情報が入力されると、ジョブ情報の登録または廃棄要求を行う処理を開始する。
ステップS1において、廃棄判定部311は、入力されたジョブ情報に対応するパケットを送信する送信部と品質クラスとを、入力されたジョブ情報から読み出す。ステップS2において、廃棄判定部311は、読み出した送信部と品質クラスとに対応するキューのキュー長と最小キュー長と最大キュー長と廃棄確率とを、キュー情報管理部313−1〜Nから読み出す。ステップS3において、廃棄判定部311は、読み出した最小キュー長がキュー長よりも大きいか否かを判断する。大きい場合(ステップS3:Yes)はステップS10へ移り、大きくない場合(ステップS3:No)はステップS4へ移る。
ステップS4において、廃棄判定部311は、読み出した最大キュー長が現在のキュー長以下であるか否かを判断する。現在のキュー長以下である場合(ステップS4:Yes)はステップS9へ移り、そうでない場合(ステップS4:No)はステップS5へ移る。
ステップS5において、廃棄判定部311は、確率的廃棄に用いるための乱数を生成する。
ステップS7において、廃棄判定部311は、最大共有キューバッファ量レジスタ322から最大共有キューバッファ量を読み出し、共有キューバッファ量レジスタ323から共有キューバッファ量を読み出す。
ステップS8において、廃棄判定部311は、最大共有キューバッファ量が共有キューバッファ量より大きいか否かを判断する。大きい場合(ステップS8:Yes)はステップS11へ移り、大きくない場合(ステップS8:No)はステップS9へ移る。
ステップS9において、廃棄判定部311は、ジョブ情報を入力した外部バッファ書き込み部19または内部バッファ書き込み部49に廃棄要求を入力する。その後、廃棄判定部311はジョブ情報の登録または廃棄要求を行う処理を終了する。
ステップS10において、廃棄判定部311は、キュー長レジスタが記憶するキュー長を1増加させる。
ステップS11において、廃棄判定部311は、共有キューバッファ量レジスタ323が記憶する共有キューバッファ量とキュー長レジスタが記憶するキュー長とをそれぞれ1増加させる。
ステップS12において、廃棄判定部311は、入力されたジョブ情報をキュー登録部312に入力する。その後、廃棄判定部311はジョブ情報の登録または廃棄要求を行う処理を終了する。
ステップS21において、キュー登録部312は、空きキューバッファ番号FIFO・324から空きキューバッファ番号を読み出し、空きパケット管理番号FIFO・330から管理番号を読み出す。そしてその管理番号の行にジョブ情報から取得されるハンドル番号を書き込む。
ステップS22において、キュー登録部312は、入力されたジョブ情報に対応するパケットを送信する送信部と品質クラスとを、入力されたジョブ情報から読み出す。そして、キュー登録部312は、読み出した送信部と品質クラスとに対応するキューのキュー長が0か否かを判断する。キュー長が0の場合(ステップS22:Yes)は、ステップS23に移る。キュー長が0で無い場合(ステップS22:No)は、ステップS28に移る。
ステップS23からステップS25において、キュー登録部312はキュー情報管理部313−1〜Nの情報を更新する。ステップS23において、キュー登録部312は、登録対象のキューに対応するキュー情報管理部313−1〜N(以下、対応するキュー情報管理部ともいう)の先頭キューバッファ番号レジスタと最終キューバッファ番号レジスタとに、読み出した空きキューバッファ番号を書き込む。ステップS24において、キュー登録部312は、ジョブ情報からフレーム長を読み出す。そして、キュー登録部312は、対応するキュー情報管理部313−1〜Nのフレーム長レジスタに読み出したフレーム長を書き込む。ステップS25において、キュー登録部312は、先に取得した管理番号を、対応するキュー情報管理部313−1〜Nの管理番号レジスタに書き込む。
ステップS28からステップS30において、キュー登録部312はキューバッファ321の情報を更新する。
ステップS28において、キュー登録部312は、対応するキュー情報管理部313−1〜Nから最終キューバッファ番号を読み出す。キュー登録部312は、読み出した最終キューバッファ番号が示すキューバッファ321の行の次キューバッファ番号の欄に空きキューバッファ番号FIFO・324から読み出した空きキューバッファ番号を書き込む。
ステップS29において、キュー登録部312は、ジョブ情報から管理番号を読み出す。そして、キュー登録部312は、登録対象の行の管理番号の欄にジョブ情報から読み出した管理番号を書き込む。
ステップS30において、キュー登録部312は、ジョブ情報からフレーム長を読み出す。そして、キュー登録部312は、登録対象の行のフレーム長の欄にジョブ情報から読み出したフレーム長を書き込む。
ステップS31において、キュー登録部312は、キュー情報管理部313−1〜Nの情報を更新する。同ステップにおいて、キュー登録部312は、対応するキュー情報管理部313−1〜Nの最終キューバッファ番号レジスタに空きキューバッファ番号FIFO324から読み出した空きキューバッファ番号を書き込む。その後、キュー登録部312は登録処理を終了する。
図9は、キュー登録部312が登録を行うもう1つの処理手順の例を示すフローチャートである。
ステップS41において、キュー登録部312は、空きキューバッファ番号FIFO・324から空きキューバッファ番号を読み出し、空きパケット管理番号FIFOから管理番号を読み出す。そしてその管理番号の行にジョブ情報から取得されるハンドル番号を書き込む。
ステップS42において、キュー登録部312は、入力されたジョブ情報に対応するパケットを送信する送信部と品質クラスとを、入力されたジョブ情報から読み出す。そして、キュー登録部312は、読み出した送信部と品質クラスとに対応するキューのキュー長が0か否かを判断する。キュー長が0の場合(ステップS42:Yes)は、ステップS43に移る。キュー長が0で無い場合(ステップS42:No)は、ステップS47に移る。
ステップS43において、キュー登録部312は、キューバッファ321の情報を更新する。キュー登録部312は、登録対象の行の次キューバッファ番号の欄にキューバッファ番号として使われない値を書き込む。
ステップS44からステップS46において、キュー登録部312はキュー情報管理部313−1〜Nの情報を更新する。ステップS44において、キュー登録部312は、対応するキュー情報管理部313−1〜Nの先頭キューバッファ番号レジスタと最終キューバッファ番号レジスタとに空きキューバッファ番号FIFO・324から読み出したキューバッファ番号を書き込む。ステップS45において、キュー登録部312は、ジョブ情報からフレーム長を読み出す。そして、キュー登録部312は、対応するキュー情報管理部313−1〜Nのフレーム長レジスタに読み出したフレーム長を書き込む。ステップS46において、キュー登録部312は、先に取得した管理番号を、対応するキュー情報管理部313−1〜Nの管理番号レジスタに書き込む。
ステップS48において、キュー登録部312は、キュー情報管理部313−1〜Nの情報を更新する。キュー登録部312は、対応するキュー情報管理部313−1〜Nの最終キューバッファ番号レジスタに空きキューバッファ番号FIFO・324から読み出したキューバッファ番号を書き込む。その後、キュー登録部312は登録処理を終了する。
図8に示す処理手順では、キュー情報管理部313−1〜Nが記憶するジョブ情報が、キューバッファにも記憶されている。一方、図9に示す処理手順では、キュー情報管理部313−1〜Nが記憶するジョブ情報は、キューバッファには記憶されていない。図9に示す手順のほうが、処理手順が少なくて済む。
キュー登録部312は、キューコントローラ314−1〜Nから送信を承認されたパケットのジョブ情報の入力を受けてパケット送出後処理を開始する。
ステップS61において、キュー登録部312は、送出したパケットに対応するキュー情報管理部313−1〜Nから、先頭キューバッファ番号を読み出す。キュー登録部312は、読み出した先頭キューバッファ番号を空きキューバッファFIFO・324に入力(返却)する。また当該キュー番号に関連する管理番号を空きパケット管理番号FIFO・330に入力(返却)する。
ステップS62において、キュー登録部312は、送出したパケットに対応するキュー情報管理部313−1〜Nから、キュー長を読み出す。キュー登録部312は、読み出したキュー長が1より大きいか否かを判断する。1より大きい場合(ステップS62:Yes)は、キュー登録部312は、ステップS63に移る。1より大きくない場合(ステップS62:No)は、ステップS65に移る。
ステップS65において、キュー登録部312は、送出したパケットに対応するキュー情報管理部313−1〜Nから、キュー長と最小キュー長とを読み出す。キュー登録部312は、読み出したキュー長が読み出した最小キュー長よりも大きいか否かを判断する。大きい場合(ステップS65:Yes)は、ステップS66に移る。大きくない場合(ステップS65:No)は、ステップS67に移る。
ステップS66において、キュー登録部312は、共有バッファ量レジスタ323の共有バッファ量を1減少させる。
ステップS67において、キュー登録部312は、送出したパケットに対応するキュー情報管理部313−1〜Nのキュー長レジスタが記憶するキュー長を1減少させる。その後、キュー登録部312は、パケット送出後処理を終了する。
以上のように、パケット送出後処理においてキュー登録部312はキューの先頭のバッファ番号を空きキューバッファ番号FIFOに戻す。また、バッファ番号の返却によってキューが空になる場合は、キュー長レジスタのキュー長を0にする。バッファ番号の返却によりキューが空にならない場合は、次キューバッファ番号をキューバッファ321から取得し先頭キューバッファ番号レジスタを更新する。
図11は、キュー登録部312がパケット送出後処理を行うもう1つの処理手順を示すフローチャートである。同図の処理は、図9の登録処理に対応する。
ステップS81において、キュー登録部312は、送出したパケットに対応するキュー情報管理部313−1〜Nから、先頭キューバッファ番号を読み出す。キュー登録部312は、読み出した先頭キューバッファ番号を空きキューバッファFIFO・324に入力(返却)する。そして、当該キューバッファ番号に対応する管理番号を空きパケット管理番号FIFOに入力(返却)する。
ステップS82において、キュー登録部312は、送出したパケットに対応するキュー情報管理部313−1〜Nから、キュー長を読み出す。キュー登録部312は、読み出したキュー長が1より大きいか否かを判断する。1より大きい場合(ステップS82:Yes)は、キュー登録部312は、ステップS83に移る。1より大きくない場合(ステップS82:No)は、ステップS84に移る。
ステップS84において、キュー登録部312は、送出したパケットに対応するキュー情報管理部313−1〜Nから、キュー長と最小キュー長とを読み出す。キュー登録部312は、読み出したキュー長が読み出した最小キュー長よりも大きいか否かを判断する。大きい場合(ステップS84:Yes)は、ステップS85に移る。大きくない場合(ステップS84:No)は、ステップS86に移る。
ステップS85において、キュー登録部312は、共有バッファ量レジスタ323の共有バッファ量を1減少させる。
ステップS86において、キュー登録部312は、送出したパケットに対応するキュー情報管理部313−1〜Nのキュー長レジスタが記憶するキュー長を1減少させる。その後、キュー登録部312は、パケット送出後処理を終了する。
そこで、キュー登録部312が共有バッファ補正量設定機能と、キュー長バックアップ表示機能を追加する。共有バッファ補正量設定機能は、動作中の共有キューバッファ量に対して指定された値を加減算するための機能である。具体的には、キュー登録部312が共有キューバッファ量レジスタ323からキューバッファ量を読み出し、指定された加減算を行ったキューバッファ量を共有キューバッファ量レジスタ323に書き込む。共有キューバッファ量の変更は必ずキュー登録部312が行うので、この読出しから書き込みまでの間、共有キューバッファ量レジスタ323の値は一定に保たれている。
これによりたとえば、パケットキューイング装置1を制御するCPUが共有キューバッファ量を変更する際に、現在のキューバッファ量をパケットキューイング装置1からCPUに入力し、CPUが加減算を行ってパケットキューイング装置1に入力し戻す必要がない。また、加減算中のキューバッファ量の変化を止める必要もなくなり動的な設定が可能となる。また、キュー長バックアップ表示機能は、各キューの設定値(最小キュー長など)を変更したときのキュー長を記憶しておく機能およびレジスタである。具体的には、キュー登録部は変更を行う際にキュー長レジスタからキュー長を読み出し、内部の変更時キュー長レジスタ(不図示)に記憶する。この場合も、キュー長レジスタの値は必ずキュー登録部312が変更するので、変更から読み出しまでの間、キュー長レジスタの値は一定に保たれている。これにより、先の共有キューバッファの説明と同様にシステムを停止させることなく、値を設定したときのキュー長を知ることが出来る。
キュー登録部312は、例えば外部のCPUからの指示に従って処理を開始する。
ステップS101において、キュー登録部312は、変更対象のキューのキュー情報管理部313−1〜Nから、最小キュー長を読み出す。以下、読み出した最小キュー長をold_sizeで示す。また、キュー登録部312は、変更対象のキューの最小キュー長レジスタに、変更後の最小キュー長new_sizeを書き込む。
ステップS102において、キュー登録部312は、変更対象のキューのキュー情報管理部313−1〜Nから、キュー長変更処理時点におけるキュー長を読み出す。以下、読み出したキュー長をLで示す。
ステップS103において、キュー登録部312は、Lがnew_size以下か否かを判断する。Lがnew_size以下の場合(ステップS103:Yes)は、ステップS107に移る。そうでない場合(ステップS103:No)は、ステップS104に移る。
ステップS104において、キュー登録部312は、new_sizeがL未満かつLがold_size以下か否かを判断する。new_sizeがL未満かつLがold_size以下の場合(ステップS104:Yes)は、ステップS106に移る。そうでない場合(ステップS104:No)は、ステップS105に移る。
ステップS105において、キュー登録部312は、最小キュー長の減少分(old_size−new_size)を共有バッファ量レジスタ323の共有バッファ量から減算する。
ステップS106において、キュー登録部312は、L−new_sizeを共有バッファ量レジスタ323の共有バッファ量から減算する。
ステップS107において、キュー登録部312は、最小キュー長の減少分(old_size−new_size)を最大共有バッファ量レジスタ322の最大共有バッファ量に加算する。その後キュー登録部312は最小キュー長を減少させる処理を終了する。
キュー登録部312は、例えば外部のCPUからの指示に従って処理を開始する。
ステップS121において、キュー登録部312は、変更対象のキューのキュー情報管理部313−1〜Nから、最小キュー長old_sizeを読み出す。また、キュー登録部312は、最大共有バッファ量レジスタ322の最大共有バッファ量から最小キュー長の増加分(new_size−old_size)を減算する。ここで、new_sizeは変更後の最小キュー長である。
ステップ122において、キュー登録部312は、変更対象のキューの最小キュー長レジスタに、変更後の最小キュー長new_sizeを書き込む。
ステップS123において、キュー登録部312は、キュー情報管理部313−1〜Nから、キュー長変更処理時点におけるキュー長を読み出す。以下、読み出したキュー長をLで示す。
ステップS124において、キュー登録部312は、Lがold_size以下か否かを判断する。Lがold_size以下の場合(ステップS124:Yes)は、最小キュー長を増加させる処理を終了する。そうでない場合(ステップS124:No)は、ステップS125に移る。
ステップS125において、キュー登録部312は、old_sizeがL未満かつLがnew_size以下か否かを判断する。old_sizeがL未満かつLがnew_size以下の場合(ステップS125:Yes)は、ステップS127に移る。そうでない場合(ステップS125:No)は、ステップS126に移る。
ステップS126において、キュー登録部312は、最小キュー長の増加分(new_size−old_size)を共有バッファ量レジスタ323の共有バッファ量に加算する。その後、キュー登録部312は、最小キュー長を増加させる処理を終了する。
ステップS127において、キュー登録部312は、L−old_sizeを共有バッファ量レジスタ323の共有バッファ量に加算する。その後、キュー登録部312は、最小キュー長を増加させる処理を終了する。
以上のように、変更前の最小キュー長よりもキュー長が短くかつ変更後の最小キュー長よりもキュー長が短い場合は、共有キューバッファ量の更新不要である。最小キュー長を増加させる場合は、空き共有キューバッファ量が減少する場合があるので、その減少分を共有キューバッファ量レジスタ323が記憶する共有キューバッファ量から減算することで空き共有キューバッファ量を増加させる。一方、最小キュー長を減少させる場合は、空き共有キューバッファ量が増加する場合があるので、その増加分を共有キューバッファ量レジスタ323が記憶する共有キューバッファ量に加算することで空き共有バッファ量を減少させる。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
11 WAN側受信部
19 外部バッファ書き込み部
61 外部バッファ記憶部
22 外部バッファ読み出し部
26 WAN側送信部
41−1〜4 LAN側受信部
49 内部バッファ書き込み部
50 内部バッファ記憶部
52 内部バッファ読み出し部
55 LAN−WAN間FIFO部
56−1〜4 LAN側送信部
31 QoS制御部
311廃棄判定部
312キュー登録部
313−1〜N キュー情報管理部
314−1〜N キューコントローラ
315−1〜N 共通レジスタ群
33 パケットスケジューラ
Claims (6)
- パケットを受信する内部側受信部と、
パケットを受信する外部側受信部と、
前記パケットを記憶する内部バッファ記憶部と、
前記パケットを記憶する外部バッファ記憶部と、
前記内部側受信部が受信した前記パケットを前記内部バッファ記憶部に書き込む内部バッファ書き込み部と、
前記外部側受信部が受信した前記パケットを前記外部バッファ記憶部に書き込む外部バッファ書き込み部と、
前記パケットの送信先に対応して、前記送信先に送信される一連の前記パケットの前記内部バッファ記憶部又は前記外部バッファ記憶部における記憶位置を表す記憶位置情報を記憶するキューと、
前記内部バッファ記憶部又は前記外部バッファ記憶部に書き込まれた前記パケットに関し、前記記憶位置情報を前記パケットの送信先に対応する前記キューに書き込むとともに、前記キューから前記記憶位置情報を順次読み出すキュー管理部と、
前記キュー管理部によって前記キューから読み出された前記記憶位置情報に対応して前記内部バッファ記憶部から読み出された前記パケットを前記送信先に向け送信するとともに、かつ、前記キュー管理部によって前記キューから読み出された前記記憶位置情報に対応して前記外部バッファ記憶部から読み出された前記パケットを前記送信先に向け送信する内部側送信部と、
前記キュー管理部によって前記キューから読み出された前記記憶位置情報に対応して前記外部バッファ記憶部から読み出された前記パケットを前記送信先に向け送信する外部側送信部と、
を具備することを特徴とするパケットキューイング装置。 - 複数の前記キュー用に所定の容量を有する記憶領域である共有キューバッファと、
前記キューの各々の最小キュー長を記憶する最小キュー長レジスタと、
前記キューの各々の最大キュー長を記憶する最大キュー長レジスタと
をさらに具備し、
前記キュー管理部は、前記パケットの送信先に対応付けられた前記キューのキュー長が前記最小キュー長以上かつ前記最大キュー長よりも小さい場合は前記共有キューバッファの容量から前記キューの各々の前記最小キュー長として使用される容量を除いた容量に空き容量が残っていないときには前記記憶位置情報の前記キューへの書き込みを抑止し、前記キューのキュー長が前記最大キュー長以上の場合は前記記憶位置情報の前記キューへの書き込みを抑止する
ことを特徴とする請求項1記載のパケットキューイング装置。 - 複数の前記キュー用に所定の容量を有する記憶領域である共有キューバッファと、
前記キューの各々の最小キュー長を記憶する最小キュー長レジスタと、
をさらに具備し、
前記キュー管理部は、前記キューのキュー長が前記最小キュー長以上である場合には前記共有キューバッファから前記キュー用に獲得した記憶領域に前記記憶位置情報を書き込むとともに、外部からの指示情報に基づいて前記最小キュー長レジスタに記憶されている前記最小キュー長を更新する、
ことを特徴とする請求項1記載のパケットキューイング装置。 - パケットを記憶する内部バッファ記憶部と、
パケットを記憶する外部バッファ記憶部と、
前記パケットの送信先に対応して、前記送信先に送信される一連の前記パケットの前記内部バッファ記憶部又は前記外部バッファ記憶部における記憶位置を表す記憶位置情報を記憶するキューと、
を用い、
パケットを受信する内部側受信ステップと、
パケットを受信する外部側受信ステップと、
前記内部側受信ステップにおいて受信した前記パケットを前記内部バッファ記憶部に書き込む内部バッファ書き込みステップと、
前記外部側受信ステップにおいて受信した前記パケットを前記外部バッファ記憶部に書き込む外部バッファ書き込みステップと、
前記内部バッファ記憶部又は前記外部バッファ記憶部に書き込まれた前記パケットに関し、前記記憶位置情報を前記パケットの送信先に対応する前記キューに書き込むとともに、前記キューから前記記憶位置情報を順次読み出すキュー管理ステップと、
前記キュー管理ステップによって前記キューから読み出された前記記憶位置情報に対応して前記内部バッファ記憶部から読み出された前記パケットを前記送信先に向け送信するとともに、かつ、前記キュー管理ステップによって前記キューから読み出された前記記憶位置情報に対応して前記外部バッファ記憶部から読み出された前記パケットを前記送信先に向け送信する内部側送信ステップと、
前記キュー管理ステップによって前記キューから読み出された前記記憶位置情報に対応して前記外部バッファ記憶部から読み出された前記パケットを前記送信先に向け送信する外部側送信ステップと、
を具備することを特徴とするパケットキューイング方法。 - 複数の前記キュー用に所定の容量を有する記憶領域である共有キューバッファと、
前記キューの各々の最小キュー長を記憶する最小キュー長レジスタと、
前記キューの各々の最大キュー長を記憶する最大キュー長レジスタと、
を用い、
前記キュー管理ステップは、前記パケットの送信先に対応付けられた前記キューのキュー長が前記最小キュー長以上かつ前記最大キュー長よりも小さい場合は前記共有キューバッファの容量から前記キューの各々の前記最小キュー長として使用される容量を除いた容量に空き容量が残っていないときには前記記憶位置情報の前記キューへの書き込みを抑止し、前記キューのキュー長が前記最大キュー長以上の場合は前記記憶位置情報の前記キューへの書き込みを抑止する
ことを特徴とする請求項4記載のパケットキューイング方法。 - 複数の前記キュー用に所定の容量を有する記憶領域である共有キューバッファと、
前記キューの各々の最小キュー長を記憶する最小キュー長レジスタと、
を用い、
前記キュー管理ステップは、前記キューのキュー長が前記最小キュー長以上である場合には前記共有キューバッファから前記キュー用に獲得した記憶領域に前記記憶位置情報を書き込むとともに、外部からの指示情報に基づいて前記最小キュー長レジスタに記憶されている前記最小キュー長を更新する
ことを特徴とする請求項4記載のパケットキューイング方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009173257A JP4769316B2 (ja) | 2009-07-24 | 2009-07-24 | パケットキューイング装置およびパケットキューイング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009173257A JP4769316B2 (ja) | 2009-07-24 | 2009-07-24 | パケットキューイング装置およびパケットキューイング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011029904A JP2011029904A (ja) | 2011-02-10 |
JP4769316B2 true JP4769316B2 (ja) | 2011-09-07 |
Family
ID=43638132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009173257A Active JP4769316B2 (ja) | 2009-07-24 | 2009-07-24 | パケットキューイング装置およびパケットキューイング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4769316B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5631850B2 (ja) * | 2011-11-15 | 2014-11-26 | 富士通テレコムネットワークス株式会社 | スイッチ装置 |
-
2009
- 2009-07-24 JP JP2009173257A patent/JP4769316B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011029904A (ja) | 2011-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11899596B2 (en) | System and method for facilitating dynamic command management in a network interface controller (NIC) | |
US7953817B2 (en) | System and method for supporting TCP out-of-order receive data using generic buffer | |
JP4394988B2 (ja) | パケット読出し制御方法及び装置 | |
US7751404B2 (en) | Method, system, and computer program product for high performance bonding resequencing | |
US20150326509A1 (en) | Header replication in accelerated tcp (transport control protocol) stack processing | |
US8248945B1 (en) | System and method for Ethernet per priority pause packet flow control buffering | |
JP2006135572A (ja) | ネットワーク装置におけるトラフィック制御及びその方法 | |
WO2003067799A2 (en) | System and method for packet storage and retrieval | |
JP5967222B2 (ja) | パケット処理装置、フローエントリの配置方法及びプログラム | |
JP2005117206A (ja) | ネットワークプロセッサアクセラレータ | |
CN112084136A (zh) | 队列缓存管理方法、系统、存储介质、计算机设备及应用 | |
US20090257441A1 (en) | Packet forwarding apparatus and method for discarding packets | |
JP5473406B2 (ja) | ネットワーク処理装置及びその処理方法 | |
US20080263171A1 (en) | Peripheral device that DMAS the same data to different locations in a computer | |
US6850999B1 (en) | Coherency coverage of data across multiple packets varying in sizes | |
JP4769316B2 (ja) | パケットキューイング装置およびパケットキューイング方法 | |
EP3896881B1 (en) | Harq data storage management method and device and harq data buffer | |
JP5300355B2 (ja) | ネットワークプロトコル処理装置及びその処理方法 | |
US20160085683A1 (en) | Data receiving device and data receiving method | |
CN114401072A (zh) | 一种基于hinoc协议的拆帧重排序队列的动态缓存控制方法及系统 | |
US11063883B2 (en) | End point multiplexing for efficient layer 4 switching | |
JP5342428B2 (ja) | 通信制御装置 | |
WO2019095942A1 (zh) | 一种数据传输方法及通信设备 | |
JP2000299686A (ja) | スケジューリング装置 | |
US9922000B2 (en) | Packet buffer with dynamic bypass |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110526 |
|
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: 20110607 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4769316 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140624 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |