JP2005323231A - パケット通信品質制御装置 - Google Patents
パケット通信品質制御装置 Download PDFInfo
- Publication number
- JP2005323231A JP2005323231A JP2004140730A JP2004140730A JP2005323231A JP 2005323231 A JP2005323231 A JP 2005323231A JP 2004140730 A JP2004140730 A JP 2004140730A JP 2004140730 A JP2004140730 A JP 2004140730A JP 2005323231 A JP2005323231 A JP 2005323231A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- information
- communication
- packet data
- unit
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】パケットデータの記憶領域を対象とする空塞管理を不要とし、従来の装置よりも通信速度を向上させる。
【解決手段】パケット入力処理回路110において、通信パケットのヘッダ情報とキュー部120が有する各キューの状態とに基づいて、入力された通信パケットを記憶するかまたは廃棄するかを決定し、通信パケットを記憶すると決定したとき、この通信パケットを記憶させるパケットデータ記憶領域を識別する記憶領域識別情報、および、パケット情報を生成する。
【選択図】 図1
【解決手段】パケット入力処理回路110において、通信パケットのヘッダ情報とキュー部120が有する各キューの状態とに基づいて、入力された通信パケットを記憶するかまたは廃棄するかを決定し、通信パケットを記憶すると決定したとき、この通信パケットを記憶させるパケットデータ記憶領域を識別する記憶領域識別情報、および、パケット情報を生成する。
【選択図】 図1
Description
本発明は、パケット通信技術に関し、特にネットワークを介して受信した通信パケットを送信する際の通信品質を制御するパケット通信品質制御技術に関する。
近年、電話回線を用いた通信や、インターネットを介した通信、さらには宛先に通信パケットが到達するまでの時間が所定内に限定される通信等、利用される通信態様が多様化しつつある。
このような多様化に伴い、QoS(Quality of Service)と呼ばれる通信品質の制御の重要性が高まっており、保証する通信品質に応じて通信制御を行うパケット通信品質制御技術が注目を集めている。
このような多様化に伴い、QoS(Quality of Service)と呼ばれる通信品質の制御の重要性が高まっており、保証する通信品質に応じて通信制御を行うパケット通信品質制御技術が注目を集めている。
このようなパケット通信品質制御は、通常、CPUを用いて行われる。CPUは、入手が容易で、汎用性が高く、プログラムに応じて、動作を容易に決定したり、変更したりすることが可能である等の理由があるからである。コンピュータを通信サーバとして用いるのは、この一例といえるであろう。
従来、このようなCPUによる通信品質制御は、例えば、ROM(Read Only Memory)等から読み込んだプログラムに基づいて、入力された通信パケットのデータであるパケットデータを記憶させるメモリ上の記憶領域を決定し、決定された記憶領域にパケットデータを記憶させ、その後、上記の入力された通信パケットに関する情報であるパケット情報を生成し、生成したパケット情報を出力するキューを複数のキューの中から決定し、選択したキューに上記で生成したパケット情報を出力する等によって行われるものとなっていた。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
「簡単・快適・安全なネットワークサービスを実現するホームゲートウェイ(HIKARI GATE)」,http://www.ntt.co.jp/RD/OFIS/active/2003pdf/sw24.pdf,日本電信電話株式会社,端末・ソフトウェア技術,サイバーソリューション研究所
「簡単・快適・安全なネットワークサービスを実現するホームゲートウェイ(HIKARI GATE)」,http://www.ntt.co.jp/RD/OFIS/active/2003pdf/sw24.pdf,日本電信電話株式会社,端末・ソフトウェア技術,サイバーソリューション研究所
しかしながら、このような従来のパケット通信品質制御技術では、メモリ領域の空塞領域の管理(以下、空塞管理という)が複雑になり、十分な通信速度を実現できないという問題があった。
特に、CPUを用いて行う通信品質の制御では、入力された通信パケットを必ずしも全て処理できるほど処理速度を速くできないため、または、かかる処理速度を保証できないため、パケット情報を出力するキューを決定する前にパケットデータを記憶させていることから、上記のような空塞領域が発生する。
特に、CPUを用いて行う通信品質の制御では、入力された通信パケットを必ずしも全て処理できるほど処理速度を速くできないため、または、かかる処理速度を保証できないため、パケット情報を出力するキューを決定する前にパケットデータを記憶させていることから、上記のような空塞領域が発生する。
具体的には、パケット情報をキューに出力した後の優先制御により、装置から出力するパケットデータの順番が入れ替わり、データが記憶された順番にパケットデータが読み出されず、メモリ内に記憶領域の空塞領域が発生してしまうことなどがあげられる。
通常、メモリは、一定時間内に入力されるパケットデータを格納可能な記憶容量を備える必要があり、入力速度の高速化に伴ってメモリに格納する通信パケット数が増加する。このため、空塞管理が複雑になり、十分な通信速度を実現できなかった。
通常、メモリは、一定時間内に入力されるパケットデータを格納可能な記憶容量を備える必要があり、入力速度の高速化に伴ってメモリに格納する通信パケット数が増加する。このため、空塞管理が複雑になり、十分な通信速度を実現できなかった。
本発明はこのような課題を解決するためのものであり、パケットデータの記憶領域を対象とする空塞管理を不要とし、従来の装置よりも通信速度を向上できるパケット処理装置を提供することを目的としている。
このような目的を達成するために、本発明にかかるパケット通信品質制御装置は、入力された通信パケットの通信品質を制御して出力するパケット通信品質制御装置において、入力された通信パケットを示すパケットデータを記憶するパケットデータ記憶領域を複数有するパケットデータ記憶部と、パケットデータ記憶領域毎に、当該パケットデータ記憶領域で記憶されているパケットデータに関する情報であるパケット情報を順次記憶するキューを有するキュー部と、入力された通信パケットのヘッダ情報とキュー部が有する各キューの状態とに基づいて、入力された通信パケットを記憶するかまたは廃棄するかを決定し、通信パケットを記憶するとの決定に応じて、この通信パケットを記憶させるパケットデータ記憶領域を識別する記憶領域識別情報、および、この通信パケットのパケット情報を生成するパケット入力処理回路とを備え、パケット入力処理回路で、入力された通信パケットに保証する通信品質に応じてパケットデータ記憶領域を決定し、キュー部で、パケット入力処理回路が生成した記憶領域識別情報およびパケット情報を、記憶領域識別情報によって特定されるパケットデータ記憶領域と対応するキューに記憶するようにしたものである。
この際、パケットデータ記憶部に、記憶しているパケットデータをその記憶した順番に出力する、1つ以上のFIFOを設けてもよい。
また、マルチキャスト対応として、入力されたパケット情報を記憶するとともに、記憶したパケット情報を読み出すための複数のアクセスポートを有するマルチアクセスキューと、パケット入力処理回路で生成されたパケット情報がマルチキャストを指示するマルチキャスト指示情報を含む際には、マルチキャスト指示情報を含むパケット情報をマルチアクセスキューに記憶させ、マルチアクセスキューに記憶したパケット情報を出力部のいずれかに出力させる際には、マルチアクセスキューのアクセスポートを選択するとともに、出力させるパケット情報が記憶された記憶領域を特定する位置情報をマルチアクセスキューに出力するマルチキャスト用キュー制御部と、マルチアクセスキューがパケット情報を出力した際、パケットデータ記憶部からマルチアクセスキューに対応するパケットデータ記憶領域に記憶されたパケットデータを読み出して通信パケットを生成し出力する複数の出力部とをさらに備えてもよい。
また、入力された通信パケットのうちの所定の通信パケットのパケットデータに対して所定のパケット処理を行うパケット処理部をさらに備え、パケットデータ記憶部に、パケット処理部がパケット処理を行う対象の通信パケットのパケットデータを記憶する、ランダムアクセス可能な複数のRAM記憶領域を有するパケットデータメモリを設け、パケット入力処理回路で、少なくとも、入力された各通信パケットから当該通信パケットのヘッダ情報に基づいてパケット処理を行う通信パケットを抽出し、抽出した通信パケットのパケットデータを記憶させるRAM記憶領域を識別するRAM領域識別情報および抽出した通信パケットのパケット情報を生成する空塞管理回路を有し、抽出した通信パケットをRAM領域識別情報で識別されるRAM記憶領域に記憶させ、パケット処理部で、ヘッダ情報と空塞管理回路が生成したパケット情報とに基づいて、RAM領域識別情報によって特定されるRAM記憶領域に記憶されているパケットデータに対してパケット処理を行うようにしてもよい。
本発明によれば、パケット入力処理回路で、入力された通信パケットのヘッダ情報とキュー部が有する各キューの状態とに基づいて、入力された通信パケットを記憶するかまたは廃棄するかが決定され、通信パケットを記憶すると決定したとき、その通信パケットを記憶させるパケットデータ記憶領域を識別する記憶領域識別情報、および、この通信パケットのパケット情報が生成されため、パケットデータの記憶領域を対象とする空塞管理を不要とし、従来の装置よりも通信速度を向上させることができる。
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかるパケット通信品質制御装置について説明する。図1は本発明の第1の実施の形態にかかるパケット通信品質制御装置の構成を示すブロック図である。
このパケット通信品質制御装置100は、パケット入力処理回路110、キュー部120、パケットデータ記憶部130、および出力部140が設けられている。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかるパケット通信品質制御装置について説明する。図1は本発明の第1の実施の形態にかかるパケット通信品質制御装置の構成を示すブロック図である。
このパケット通信品質制御装置100は、パケット入力処理回路110、キュー部120、パケットデータ記憶部130、および出力部140が設けられている。
パケット入力処理回路110は、入力された通信パケットに対して後述する入力処理を施し、パケット情報をキュー部120に出力し、入力された通信パケットのデータであるパケットデータをパケットデータ記憶部130に出力する回路部である。
このパケット情報は、例えば、パケット長、パケットデータ記憶部130に記憶されたパケットデータの記憶領域を示すポインタ等の通信パケットに関する所定のデータであり、通信パケット毎に生成されるものである。パケット通信品質制御装置100は、かかるパケット情報等に基づいて通信品質の制御を行うようになっている。
このパケット情報は、例えば、パケット長、パケットデータ記憶部130に記憶されたパケットデータの記憶領域を示すポインタ等の通信パケットに関する所定のデータであり、通信パケット毎に生成されるものである。パケット通信品質制御装置100は、かかるパケット情報等に基づいて通信品質の制御を行うようになっている。
本実施の形態にかかるパケット入力処理回路110は、入力部111とメモリ管理部112とによって構成されている。このパケット入力処理回路110では、上記入力処理として、入力された通信パケットのヘッダ情報とキュー部120が有する各キューの状態とに基づいて、入力された通信パケットを記憶するかまたは廃棄するかを決定し、通信パケットを記憶すると決定したとき、この通信パケットを記憶させるパケットデータ記憶領域を識別する記憶領域識別情報(以下、書き込み位置情報という)およびこの通信パケットのパケット情報を生成する処理を行う。
なお、パケット入力処理回路110は、従来のCPU等のプログラムに応じて処理を行うものではなく、デジタル回路によって構成され、プログラム無しで上記の入力処理を行う回路である。
なお、パケット入力処理回路110は、従来のCPU等のプログラムに応じて処理を行うものではなく、デジタル回路によって構成され、プログラム無しで上記の入力処理を行う回路である。
パケットデータ記憶部130は、入力されたパケットデータを記憶するパケットデータ記憶領域を複数有する回路部である。
キュー部120は、上記パケット情報を記憶する複数のキューをパケットデータ記憶領域と対応させて有する回路部である。
出力部140は、パケットデータ記憶部130に記憶されたパケットデータを出力する回路部である。この出力部140は、キュー部120およびパケットデータ記憶部130と接続され、メモリ管理部112を介してパケットデータ記憶部130に記憶されたパケットデータを読み出すようになっている。
キュー部120は、上記パケット情報を記憶する複数のキューをパケットデータ記憶領域と対応させて有する回路部である。
出力部140は、パケットデータ記憶部130に記憶されたパケットデータを出力する回路部である。この出力部140は、キュー部120およびパケットデータ記憶部130と接続され、メモリ管理部112を介してパケットデータ記憶部130に記憶されたパケットデータを読み出すようになっている。
[キュー部およびパケットデータ記憶部の構成]
次に、キュー部120の構成について詳細に説明する。キュー部120を構成する各キューは、FIFO(First In First Out)動作と称される、最初に入力されたパケットデータが最初に出力されるようにメモリ管理が行われる記憶領域によって構成されている。以下、キュー部120を構成する各キューを、単に、FIFOという。このようなFIFOとしては、リングバッファ回路を用いて実現できる。同様に、パケットデータ記憶部130が、上記のパケットデータ記憶領域毎に、上記のFIFOによって構成されるものとする。
次に、キュー部120の構成について詳細に説明する。キュー部120を構成する各キューは、FIFO(First In First Out)動作と称される、最初に入力されたパケットデータが最初に出力されるようにメモリ管理が行われる記憶領域によって構成されている。以下、キュー部120を構成する各キューを、単に、FIFOという。このようなFIFOとしては、リングバッファ回路を用いて実現できる。同様に、パケットデータ記憶部130が、上記のパケットデータ記憶領域毎に、上記のFIFOによって構成されるものとする。
図1には、パケットデータを記憶するパケットデータFIFO[1]〜パケットデータFIFO[N]がパケットデータ記憶部130を構成する例が示されている。ここで、各パケットデータFIFO[i](i=1〜N:Nは2以上の整数)は、パケットデータ記憶部130内の記憶領域を各パケットデータFIFO[i]毎に区分けして構成されている。そして、例えば、パケットデータFIFO[1]には、パケットデータa、パケットデータbおよびパケットデータcが記憶されており、パケットデータFIFO[N]には、パケットデータA、パケットデータBおよびパケットデータCが記憶されている例が示されている。ここで、各パケットデータFIFO[i]は、S(i)個のパケットデータを記憶できるようになっている。
また、図1に、パケット情報を記憶するパケット情報FIFO[1]〜パケット情報FIFO[N]がキュー部120を構成する例が示されている。そして、例えば、パケット情報FIFO[1]には、パケットデータFIFO[1]と対応して、パケット情報a、パケット情報bおよびパケット情報cが記憶されており、パケット情報FIFO[N]には、パケットデータFIFO[N]と対応して、パケット情報A、パケット情報Bおよびパケット情報Cが記憶されている例が示されている。ここで、各パケット情報FIFO[i]は、S(i)個のパケット情報を記憶できるようになっている。
[第1の実施の形態の動作]
次に、図1を参照して、本発明の第1の実施の形態にかかるパケット通信品質制御装置100の動作について詳細に説明する。
入力部111は、入力された通信パケットに対して、通信パケットのヘッダ情報を抽出するとともに、キュー部120を構成する各パケット情報FIFO[i]の状態を検出し、上記のヘッダ情報と各パケット情報FIFO[i]の状態とに基づいて、入力された通信パケットを廃棄するか否かを決定する。ここで、上記の「通信パケットのヘッダ情報を抽出する」とは、ヘッダ情報を読み出し、所定のバッファ等に記憶させておくことをいう。
次に、図1を参照して、本発明の第1の実施の形態にかかるパケット通信品質制御装置100の動作について詳細に説明する。
入力部111は、入力された通信パケットに対して、通信パケットのヘッダ情報を抽出するとともに、キュー部120を構成する各パケット情報FIFO[i]の状態を検出し、上記のヘッダ情報と各パケット情報FIFO[i]の状態とに基づいて、入力された通信パケットを廃棄するか否かを決定する。ここで、上記の「通信パケットのヘッダ情報を抽出する」とは、ヘッダ情報を読み出し、所定のバッファ等に記憶させておくことをいう。
具体的には、例えば、各パケット情報FIFO[i]のパケット情報の蓄積量が予め指定された閾値を超えているか否かや、予め廃棄するように設定されたヘッダ情報を含む通信パケットであるか否か、等に基づいて通信パケットを記憶するかまたは廃棄するかを決定する。ここで、上記の、各パケット情報FIFO[i]のパケット情報の蓄積量が予め指定された閾値を超えているか否かを、フラグを用いて管理するのでもよく、このフラグを、例えば、パケット情報FIFO[i]毎に設け、入力部111が記憶しておくのでも、その他のメモリ等に記憶しておくのでもよい。
入力部111は、上記で通信パケットを記憶させると判断したとき、パケットデータを記憶させるパケットデータFIFO[i]を特定する書き込み位置情報を決定し、記憶させるパケットデータおよび上記の書き込み位置情報を決定する。入力部111は、また、書き込み位置情報を決定した後、記憶されるパケットデータについてのパケット情報を生成するとともに、パケットデータを記憶させるパケットデータFIFO[i]に対応するパケット情報FIFO[i]を決定する。ここで、パケット情報のキューヘの振り分けは、保証する通信品質に応じて決定される。具体的には、ヘッダ情報等に基づいて決定される。
出力部140は、パケットデータを読み出すパケットデータFIFO[i]を特定する読み出し位置情報を決定し、メモリ管理部112に出力し、メモリ管理部112から出力されたパケットデータを外部に出力するようになっている。
上記で説明したように、パケットデータが記憶されるパケットデータFIFO[i]は、ヘッダ情報に基づいて、パケット情報FIFO[i]と対応するものとして決定されるため、パケットデータおよび書き込み位置情報のメモリ管理部112への出力は、パケットデータのキュー部120への出力の後に行われる必要はない。そのため、パケットデータおよび書き込み位置情報のメモリ管理部112への出力と、パケットデータのキュー部120への出力とのうち、いずれが先でも、ヘッダ情報に応じたパケット情報FIFO[i]が決定され、空塞管理が不要となるように優先制御がなされることになる。
図1には、メモリ管理部112に出力されるパケットデータは、上記の出力部140が読み出すパケットデータと区別するために、書き込みパケットデータと記載され、それに対応してキュー部120に出力するパケット情報を書き込みパケット情報と記載されている。また、入力部111からキュー部120に出力される書き込みパケット情報には、パケット情報FIFOの番号に合わせて書き込みパケット情報[1]から書き込みパケット情報[N]のように符号が付されている。
メモリ管理部112は、入力部111から入力された書き込み位置情報と内部状態とに基づいて、パケットデータ記憶部130上の書き込みアドレスを決定し、書き込み位置情報とともに入力されたパケットデータを上記で決定した書き込みアドレスが指定する記憶領域に書き込む。なお、メモリ管理部112は、記憶されたパケットデータを出力する出力部140からの要求により記憶したパケットデータを読み出し、出力部140に出力するようになっている方が、回路規模が縮小できるなどの点から好適である。メモリ管理部112が出力部140からの要求により記憶したパケットデータを読み出す構成では、メモリ管理部112は、出力部140から入力される読み出し位置情報と内部状態とに基づいて、パケットデータ記憶部130上の読み出しアドレスを決定してパケットデータを読み出す。
[メモリ管理部の動作]
次に、図2を参照して、メモリ管理部112の動作について詳細に説明する。図2は、メモリ管理部112の動作をVHDL(VHSIC(Very High Speed Integrated Circuit)−Hardware Discription Language)的に記載した説明図である。
ステップS211〜S218までの処理は、メモリ管理部112がパケットデータをパケットデータ記憶部130に書き込むときの処理であり、ステップS221〜S227までの処理は、メモリ管理部112がパケットデータ記憶部130からパケットデータを読み出すときの処理である。
次に、図2を参照して、メモリ管理部112の動作について詳細に説明する。図2は、メモリ管理部112の動作をVHDL(VHSIC(Very High Speed Integrated Circuit)−Hardware Discription Language)的に記載した説明図である。
ステップS211〜S218までの処理は、メモリ管理部112がパケットデータをパケットデータ記憶部130に書き込むときの処理であり、ステップS221〜S227までの処理は、メモリ管理部112がパケットデータ記憶部130からパケットデータを読み出すときの処理である。
まず、書き込みアドレスを決定し、入力されたパケットデータを記憶させる(S211)。ここで、図2中の「nw」は、書き込みを行うパケットデータFIFOを特定する番号、すなわち、書き込み位置情報の一例であり、1〜Nまでの自然数とする。「As[n]」は、パケットデータFIFO[n]のアドレスの先頭値であり、予め指定された値である。「Pw[n]」は、書き込みポインタ等の、パケットデータの書き込み位置を特定するための変数であり(以下、書き込みポインタとする)、0〜Pmax[n]のいずれかの値をとるものとする。ここで、「0」は初期値である。「L」は、最大パケット長であり、予め指定された値である。
次に、ステップS212〜S218までの各ステップでの処理で、書き込みポインタおよびFIFOに空がないことを示すフラグの更新を行う。まず、書き込みポインタPw[nw]が最大値Pmax[nw]未満であるか否かを判断し(S212)、書き込みポインタPw[nw]が最大値Pmax[nw]未満であると判断したときは、変数Pwnに「Pw[nw]+1」を代入し書き込みポインタの更新の準備をする(S213)。書き込みポインタPw[nw]が最大値Pmax[nw]未満でないと判断したときは、Pwnに「0」を入力し初期値に戻す準備をする(S214)。
次に、変数Pwnが、パケットデータの読み出し位置を特定するための変数Pr[nw](以下、読み出しポインタとする)と等しいか否かを判断し(S215)、等しくないと判断したときは、書き込みポインタPw[nw]にPwnを代入して書き込みポインタを「1」更新し(S216)、FIFOに空きがないことを示すフラグFF[nw]に「0」を代入し(S217)、等しいと判断したときは、フラグFF[nw]に「1」を代入する(S218)。ここで、フラグFF[n]は、「0」をとるときにFIFOに空きがあることを示し、「1」をとるときにFIFOに空きがないことを示すものとする。
次に、パケットデータの読み出しの処理について説明する。
まず、読み出しアドレスを決定する(S221)。ここで、図2中の「nr」は、読み出しを行うパケットデータFIFOを特定する番号、すなわち、読み出し位置情報の一例であり、1〜Nまでの自然数とする。「Pr[n]」は、読み出しポインタ等の、パケットデータの読み出し位置を特定するための変数であり(以下、読み出しポインタとする)、0〜Pmax[n]のいずれかの値をとる。ここで、「0」は初期値である。
まず、読み出しアドレスを決定する(S221)。ここで、図2中の「nr」は、読み出しを行うパケットデータFIFOを特定する番号、すなわち、読み出し位置情報の一例であり、1〜Nまでの自然数とする。「Pr[n]」は、読み出しポインタ等の、パケットデータの読み出し位置を特定するための変数であり(以下、読み出しポインタとする)、0〜Pmax[n]のいずれかの値をとる。ここで、「0」は初期値である。
次に、ステップS222〜S227までの各ステップでの処理で、読み出しポインタおよびFIFOに空があることを示すフラグの更新を行う。まず、読み出しポインタPr[nr]が最大値Pmax[nr]未満であるか否かを判断し(S222)、読み出しポインタPr[nr]が最大値Pmax[nr]未満であると判断したときは、読み出しポインタPr[nr]に「Pr[nr]+1」を代入して読み出しポインタを更新する(S223)。読み出しポインタPr[nr]が最大値Pmax[nr]未満でないと判断したときは、読み出しポインタPr[nr]に「0」を入力し初期値に戻す(S224)。
次に、読み出しポインタPr[nr]が書き込みポインタPw[nr]と等しいか否かを判断し(S225)、等しいと判断したときは、FIFOが空であることを示すフラグEF[nw]に「1」を代入し(S226)、等しくないと判断したときは、フラグEF[nw]に「0」を代入する(S227)。ここで、フラグEF[n]は、「0」をとるときにFIFOが空でないことを示し、「1」をとるときにFIFOが空であることを示すものとする。
メモリ管理部112がこのように動作することによって、わずかな処理とパラメータで、パケットデータ記憶部130のメモリ管理が可能となる。なお、上記、書き込み時の処理を入力部111が実施し、書き込み位置情報としてnwとPw[nw]を、または、書き込みアドレス値を採用することも可能である。同様に、読み出し時の処理を出力部140が実施し、読み出し位置情報としてnrとPr[nr]を、または、読み出しアドレス値を採用することも可能である。さらに、入力ポート数や出力ポート数は、1つに限定されず、複数個設けるのでもよい。
キュー部120は、入力部111から書き込みパケット情報がいずれかのパケット情報FIFOに入力され、パケット情報が記憶されているパケット情報FIFOのパケット情報を出力するための出力要求とパケット情報(以下、キュー部120に入力されるパケット情報と区別するために読み出しパケット情報という)を出力部140に出力する。図1に、各パケット情報FIFO[i]から、出力要求[i]および読み出しパケット情報[i]が出力部140に出力されている様子を示した。
なお、後述するように、キュー部120が出力部140に出力した出力要求およびパケットデータに応じて、パケットデータ記憶部130に記憶されたパケットデータが出力部140から出力されたとき、このパケットデータが出力されたことを示す出力応答が出力部140からキュー部120に出力され、キュー部120は、この出力応答に応じて、出力要求とともに出力したパケット情報の記憶を消去する。パケット情報の記憶の消去は、パケット情報そのものを消去するのではなく、パケット情報を記憶していた記憶領域を開放することによって行う方が処理の負担が少なく、好適である。
出力部140は、キュー部120から各ポートを介して出力要求とパケット情報が入力され、入力されたパケット情報によって特定されるパケットデータの読み出し位置情報を生成してメモリ管理部112に出力し、メモリ管理部112を介してパケット情報によって特定されるパケットデータを読み出し、読み出したパケットデータを内容とする通信パケットを生成して出力する。出力部140は、読み出し位置情報をメモリ管理部112に出力したときの前後に、出力応答を、出力要求とパケット情報が入力されたポートを介してキュー部120に出力する。
以上説明したように、本発明の第1の実施の形態にかかるパケット通信品質制御装置は、パケット入力処理回路により、入力された通信パケットのヘッダ情報とキュー部が有する各キューの状態とに基づいて、入力された通信パケットを記憶するかまたは廃棄するかを決定し、通信パケットを記憶すると決定したとき、この通信パケットを記憶させるパケットデータ記憶領域を識別する記憶領域識別情報、および、この通信パケットのパケット情報を生成するため、パケットデータの記憶領域を対象とする空塞管理を不要とし、従来の装置よりも、通信速度を向上させることができる。
また、パケットデータ記憶部が1つ以上のFIFOによって構成されるため、メモリ管理の処理負担が低減でき、さらに通信速度を向上させることができる。
また、パケットデータ記憶部が1つ以上のFIFOによって構成されるため、メモリ管理の処理負担が低減でき、さらに通信速度を向上させることができる。
[第2の実施の形態]
次に、図3を参照して、本発明の第2の実施の形態にかかるパケット通信品質制御装置について説明する。図3は、本発明の第2の実施の形態にかかるパケット通信品質制御装置におけるマルチキャストの機能を実現する構成部のブロック構成を示す図である。
本発明の第2の実施の形態にかかるパケット通信品質制御装置は、マルチキャストの機能を実現するものであるが、ユニキャストの機能を実現する構成部を含むように構成されるのでもよい。以下では、ユニキャストの機能を実現する構成部を含むものとし、この機能を本発明の第1の実施の形態に示すパケット通信品質制御装置の各構成部によって実現するものとする。
次に、図3を参照して、本発明の第2の実施の形態にかかるパケット通信品質制御装置について説明する。図3は、本発明の第2の実施の形態にかかるパケット通信品質制御装置におけるマルチキャストの機能を実現する構成部のブロック構成を示す図である。
本発明の第2の実施の形態にかかるパケット通信品質制御装置は、マルチキャストの機能を実現するものであるが、ユニキャストの機能を実現する構成部を含むように構成されるのでもよい。以下では、ユニキャストの機能を実現する構成部を含むものとし、この機能を本発明の第1の実施の形態に示すパケット通信品質制御装置の各構成部によって実現するものとする。
図3において、本発明の第1の実施の形態にかかるパケット通信品質制御装置の各構成部と重複する部分については、その記載が省略されている。また、本発明の第1の実施の形態にかかるパケット通信品質制御装置の各構成部と重複する部分についての説明は、省略する。
本発明の第2の実施の形態にかかるパケット通信品質制御装置300は、記憶したパケット情報を読み出すための複数のアクセスポートを有するマルチアクセスキュー(以下、マルチキャスト用パケット情報FIFOという)321を含む複数のキュー(以下、各キューを本発明の第1の実施の形態のFIFOによって構成するものとする)を有するキュー部320と、このキュー部320を構成する各FIFOに対応して設けられたパケットデータFIFOを有するパケットデータ記憶部330と、パケットデータ記憶部330のメモリ管理を行うメモリ管理部312と、複数の出力部3401〜340M(Mは2以上の整数)と、マルチキャストを指示するマルチキャスト指示情報を含むマルチキャスト用パケット情報FIFO321の制御を行うマルチキャスト用キュー制御部(以下、マルチキャスト用FIFO制御部という)322とを備える。
以下では、キュー部が有するマルチキャスト用パケット情報FIFO321以外の各キューは、それぞれ、本発明の第1の実施の形態にかかるキュー部120を構成する各パケット情報FIFO[i](i=1〜N:Nは2以上の整数)によって構成され、パケットデータ記憶部330中のFIFOであって、マルチキャスト用パケット情報FIFO321に対応して設けられたFIFO(以下、マルチキャスト用パケットデータFIFOという)以外の各FIFOは、それぞれ、本発明の第1の実施の形態にかかるパケットデータ記憶部130を構成するパケットデータFIFO[i]によって構成されるものとして説明を行う。
ここで、マルチキャスト用パケット情報FIFO321とこれに対応するパケットデータ記憶部330中のマルチキャスト用パケットデータFIFOは、それぞれ、ユニキャスト用の他のパケット情報FIFOおよびパケットデータFIFOとは、区別されて形成されている。また、マルチキャスト用パケット情報FIFO321とマルチキャスト用パケットデータFIFOの出力ポートも、ユニキャスト用の他のパケット情報FIFOおよびパケットデータFIFOの出力ポートとは異なるものとする。
[第2の実施の形態の動作]
次に、図3を参照して、本発明の第2の実施の形態にかかるパケット通信品質制御装置300の動作について詳細に説明する。
キュー部320を構成するマルチキャスト用パケット情報FIFO321には、入力部111からマルチキャストを指示するマルチキャスト指示情報を含むパケット情報が出力され、マルチキャスト用FIFO制御部322は、書き込みポインタPwを書き込み用ポートWに指定し、書き込みポインタPwによって指定された記憶領域に、上記のマルチキャストの指示の情報を含むパケット情報を書き込ませる。
次に、図3を参照して、本発明の第2の実施の形態にかかるパケット通信品質制御装置300の動作について詳細に説明する。
キュー部320を構成するマルチキャスト用パケット情報FIFO321には、入力部111からマルチキャストを指示するマルチキャスト指示情報を含むパケット情報が出力され、マルチキャスト用FIFO制御部322は、書き込みポインタPwを書き込み用ポートWに指定し、書き込みポインタPwによって指定された記憶領域に、上記のマルチキャストの指示の情報を含むパケット情報を書き込ませる。
また、マルチキャスト用FIFO制御部322は、マルチキャストする出力数(以下、自然数mとする)に応じた数の出力部340k(k=k1,k2,…,km、k1,k2,…,kmは、それぞれ異なる自然数)にマルチキャストパケットの出力要求を出力するにあたって、まず、マルチキャスト用パケット情報FIFO321の読み出し用ポートRk1,Rk2,…,Rkmを決定し、このマルチキャストパケットのパケット情報の読み出し位置を指定する読み出しポインタPr[k1],Pr[k2],…,Pr[km]を、ぞれぞれ、上記で決定したマルチキャスト用パケット情報FIFO321の読み出し用ポートRk1,Rk2,…,Rkmに順次出力し、マルチキャストパケットのパケット情報を順次出力部340k1,340k2,…,340kmに出力させる。マルチキャスト用パケット情報FIFO321は、上記で入力された読み出しポインタPr[k1],Pr[k2],…,Pr[km]に応じて、マルチキャストパケットのパケット情報を順次出力部340k1,340k2,…,340kmに出力する。
ここで、上記の読み出しポインタPr[k1],Pr[k2],…,Pr[km]を、予め、相互に異なるように設定しておくのでもよい。そして、マルチキャスト用FIFO制御部322は、マルチキャストパケットのパケット情報の出力に対応するように出力要求を順次出力部340k1,340k2,…,340kmに出力する。これにより、出力要求がマルチキャスト用FIFO制御部322から順次出力部340k1、340k2,…,340kmに出力され、出力要求に合わせてマルチキャストパケットのパケット情報がマルチキャスト用パケット情報FIFO321から順次出力部340k1、340k2、…、340kmに出力される。
各出力部3401〜340Mからの出力応答は、異なるポートを介してマルチキャスト用FIFO制御部322に入力される。マルチキャスト用FIFO制御部322は、各ポートからの出力応答を区別して管理する。マルチキャスト用FIFO制御部322は、マルチキャストパケットの出力要求とパケット情報を出力部340k1,340k2,…,340kmに出力した後、全ての出力部340k1,340k2,…,340kmからの出力応答が入力されたら、出力要求とともに出力したマルチキャストパケットのパケット情報の記憶を消去する。マルチキャストパケットのパケット情報の記憶の消去は、パケット情報そのものを消去するのではなく、パケット情報を記憶していた記憶領域を開放することによって行う方が処理の負担が少なく、好適である。
各出力部3401〜340Mは、ユニキャストパケットの出力要求および読み出しパケット情報が入力され、ユニキャストパケットの出力要求に対する出力応答をキュー部に出力する。上記の動作は、本発明の第1の実施の形態の出力部140の動作と同様である。各出力部3401〜340Mは、さらに、マルチキャスト用FIFO制御部322からのマルチキャストパケットの出力要求とマルチキャスト用パケット情報FIFO321からのマルチキャストパケットのパケット情報が入力され、入力されたマルチキャストパケットのパケット情報によって特定されるパケットデータについての読み出し位置情報(図3に、符号RPIを付して示す)RPI[k1],RPI[k2],…,RPI[km]をメモリ管理部312に出力する。
出力部340k(k=k1,k2,…,km)から出力される読み出し位置情報RPI[k1],RPI[k2],…,RPI[km]は、読み出されるマルチキャストパケットが同一であるため、それぞれ、同一の情報であるが、一般に異なるタイミングで出力される。メモリ管理部312は、読み出し位置1青報RPI[k1],RPI[k2],…,RPI[km]が入力される毎に、指定されたマルチキャストパケットをパケットデータ記憶部330から読み出して読み出し位置情報を出力した出力部340kに出力する。その結果、各出力部3401〜340Mは、メモリ管理部312を介してマルチキャストパケットをパケットデータ記憶部330から読み出すことになる。出力部340kは、マルチキャスト用FIFO制御部322のk番目のポートから出力された出力要求に応じて、上記のマルチキャストパケットを出力すると、k番目のポートを介して出力応答をマルチキャスト用FIFO制御部322に出力し、ポート毎に出力応答を管理するようになっている。
出力部340kがパケットデータ記憶部330に出力する読み出し位置情報として、マルチキャスト用パケットデータFIFOを特定する番号等の情報が用いられる場合は、メモリ管理部312は、マルチキャスト用パケットデータFIFO内の読み出し位置を指定するポインタを設けて読み出し位置を管理する必要がある。一方、出力部340kがパケットデータ記憶部330に出力する読み出し位置情報として、マルチキャスト用パケットデータFIFOを特定する番号に加えポインタ値の情報をも含む場合は、メモリ管理部312は、マルチキャスト用パケットデータFIFO内の読み出し位置を指定するポインタの管理は不要である。パケットデータ記憶部330の他のパケットデータFIFOについても、同様である。
[マルチキャスト用FIFO制御部の動作]
次に、図4を参照して、マルチキャスト用FIFO制御部322の動作について詳細に説明する。図4は、マルチキャスト用パケット情報FIFO321およびマルチキャスト用FIFO制御部322の動作をVHDL的に記載した説明図である。
ステップS411〜S417までの処理は、マルチキャスト用FIFO制御部322がマルチキャストの指示の情報を含むパケット情報をマルチキャスト用パケット情報FIFO321に書き込んだ後の処理であり、ステップS421〜S426までの処理は、出力応答[n]がマルチキャスト用FIFO制御部322に入力されたときの処理である。
次に、図4を参照して、マルチキャスト用FIFO制御部322の動作について詳細に説明する。図4は、マルチキャスト用パケット情報FIFO321およびマルチキャスト用FIFO制御部322の動作をVHDL的に記載した説明図である。
ステップS411〜S417までの処理は、マルチキャスト用FIFO制御部322がマルチキャストの指示の情報を含むパケット情報をマルチキャスト用パケット情報FIFO321に書き込んだ後の処理であり、ステップS421〜S426までの処理は、出力応答[n]がマルチキャスト用FIFO制御部322に入力されたときの処理である。
まず、マルチキャスト用FIFO制御部322は、マルチキャスト用パケット情報FIFO321の書き込みポインタPwが指定する位置に、入力されたパケット情報を記憶させる。その後、ステップS411〜S413までの処理により書き込みポインタPwの更新を行う。すなわち、ステップS411〜S413で、Pwnを「1」増加させる。ただし、リングバッファの最後に書き込みポインタPwがある場合を除く。
まず、書き込みポインタPwが書き込みポインタPwの上限Pmaxより小さいか否かを判断し(S411)、小さいと判断したときは、Pwnを「1」増加させて書き込みポインタの更新の準備をする(S412)。書き込みポインタPwが上限Pmaxより小さくないと判断したときは、Pwnに「0」を代入し初期値に戻す準備をする(S413)。
次に、ステップS414で、Pwnを「1」増加させたときにPwnが読み出しポインタPr[i](i=1,2,…,M:Mは2以上の整数)のいずれの値にも一致しないか否かを判断し、一致しないと判断したとき、読み出しポインタPr[n]を「1」増加させ(S415)、フラグFFに「0」を代入する(S416)。ステップS414で一致すると判断したとき、フラグFFに「1」を代入する(S417)。フラグFFは、「0」をとるときにFIFOに空きがあることを示し、「1」をとるときにFIFOに空きがないことを示すものとする。
マルチキャスト用パケット情報FIFO321は、読み出しポインタPr[n](n=1,2,…,M:Mは2以上の整数)が指定する位置に格納されたパケット情報を出力部340nに、読み出しパケット情報として出力する。なお、出力要求を、本発明の第1の実施の形態で説明したEF[n]の反転、すなわち、EFが「0」のときに出力部340nに出力され、「1」のときは、出力されないように設定するのでもよい。
次に、出力応答[n]がマルチキャスト用FIFO制御部322に入力されたときの処理について説明する。
まず、読み出しポインタPr[n]が最大値Pmax[n]未満であるか否かを判断し(S421)、読み出しポインタPr[n]が最大値Pmax[n]未満であると判断したときは、読み出しポインタPr[n]を「1」増加させて更新し(S422)、読み出しポインタPr[n]が最大値Pmax[n]未満でないと判断したときは、読み出しポインタPr[n]がリングバッファの最後に位置するため、読み出しポインタPr[n]に「0」を入力する(S423)。ここで、「0」は初期値である。
まず、読み出しポインタPr[n]が最大値Pmax[n]未満であるか否かを判断し(S421)、読み出しポインタPr[n]が最大値Pmax[n]未満であると判断したときは、読み出しポインタPr[n]を「1」増加させて更新し(S422)、読み出しポインタPr[n]が最大値Pmax[n]未満でないと判断したときは、読み出しポインタPr[n]がリングバッファの最後に位置するため、読み出しポインタPr[n]に「0」を入力する(S423)。ここで、「0」は初期値である。
次に、読み出しポインタPr[n]が書き込みポインタPwと等しいか否かを判断し(S424)、読み出しポインタPr[n]が書き込みポインタPwと等しいと判断したときは、FIFOが空であることを示すフラグEF[n]に「1」を代入し(S425)、等しくないと判断したときは、フラグEF[n]に「0」を代入する(S426)。ここで、フラグEF[n]は、本発明の第1の実施の形態で説明したEF[n]と同様である。
以上では、マルチキャスト用パケット情報FIFO321およびマルチキャスト用FIFO制御部322が1つの場合について説明したが、必ずしも1つに限られず、複数でもよい。この場合、マルチキャスト用パケット情報FIFOに対応するマルチキャスト用パケットデータFIFOについても、マルチキャスト用パケット情報FIFOと同数設けるものとする。これにより、異なるマルチキャストのフローに対して、異なる通信品質の制御や異なる出力ポートの組を設定することが可能となる。
以上説明したように、本発明の第2の実施の形態にかかるパケット通信品質制御装置は、本発明の第1の実施の形態の効果に加え、マルチキャスト用キュー制御部がマルチアクセスキューに記憶された同一のパケット情報を複数の出力部に出力するように制御できるため、マルチキャスト機能を実現することができる。
[第3の実施の形態]
次に、図5を参照して、本発明の第3の実施の形態にかかるパケット通信品質制御装置について説明する。図5は、本発明の第3の実施の形態にかかるパケット通信品質制御装置のブロック構成を示す図である。
図5において、パケット通信品質制御装置500は、本発明の第1の実施の形態にかかるパケット通信品質制御装置100に、入力された通信パケットのうちの所定の通信パケットにパケット処理を行うパケット処理部550が付加された構成を有し、パケットデータ記憶部530は、ランダムアクセス可能な複数のRAM記憶領域を有するパケットデータメモリ(以下、パケットデータRAMという)を有し、パケット入力処理回路510を構成する入力部511は、空塞管理を行う空塞管理回路512を有するように構成される。
次に、図5を参照して、本発明の第3の実施の形態にかかるパケット通信品質制御装置について説明する。図5は、本発明の第3の実施の形態にかかるパケット通信品質制御装置のブロック構成を示す図である。
図5において、パケット通信品質制御装置500は、本発明の第1の実施の形態にかかるパケット通信品質制御装置100に、入力された通信パケットのうちの所定の通信パケットにパケット処理を行うパケット処理部550が付加された構成を有し、パケットデータ記憶部530は、ランダムアクセス可能な複数のRAM記憶領域を有するパケットデータメモリ(以下、パケットデータRAMという)を有し、パケット入力処理回路510を構成する入力部511は、空塞管理を行う空塞管理回路512を有するように構成される。
ここで、上記のパケットデータ記憶部530には、本発明の第1の実施の形態のパケットデータFIFO[n](n=1,2,…,N)がパケットデータRAMと区別されて含まれているものとする。以下、本発明の第3の実施の形態にかかるパケット通信品質制御装置500の構成部のうち、本発明の第1の実施の形態にかかるパケット通信品質制御装置100の構成部と同様のものについては、同一の符号を付し、その説明を省略する。
上記のパケットデータRAMは、パケットデータを複数記録できる記憶領域を右し、ランダムアクセスが可能である点がパケットデータ記憶部530中のFIFO方式のキューとは異なる。ただし、メモリ管理部112が、所定の場合に、パケットデータRAMに記憶されているパケットデータのポインタ等の位置情報を管理する必要がある。
パケットデータ記憶部530中のパケットデータRAMは、パケット処理部550がパケット処理を行う対象の通信パケットを記憶するための記憶領域を複数有する。以下、本発明の第3の実施の形態にかかるパケット通信品質制御装置500の構成部のうち、本発明の第1の実施の形態にかかるパケット通信品質制御装置100の構成部と同様のものについては、同一の符号を付し、その説明を省略する。
[第3の実施の形態の動作]
次に、図5を参照して、本発明の第3の実施の形態にかかるパケット通信品質制御装置500の動作について詳細に説明する。
入力部511は、入力された通信パケットからヘッダ情報を抽出し、抽出されたヘッダ情報と、各パケット情報FIFO[i](i=1,2,…,N)の状態とに基づいて、入力された通信パケットを廃棄するか否かを判断する。ここで、上記の「通信パケットのヘッダ情報を抽出し」とは、ヘッダ情報を読み出し、所定のバッファ等に記憶させておくことをいう。
次に、図5を参照して、本発明の第3の実施の形態にかかるパケット通信品質制御装置500の動作について詳細に説明する。
入力部511は、入力された通信パケットからヘッダ情報を抽出し、抽出されたヘッダ情報と、各パケット情報FIFO[i](i=1,2,…,N)の状態とに基づいて、入力された通信パケットを廃棄するか否かを判断する。ここで、上記の「通信パケットのヘッダ情報を抽出し」とは、ヘッダ情報を読み出し、所定のバッファ等に記憶させておくことをいう。
入力部511が上記の判断をし通信パケットを廃棄しないと決定したとき、空塞管理回路512は、少なくとも、上記のヘッダ情報に基づいて、入力された通信パケットをFIFO方式で管理する記憶領域に格納するか、空塞管理を行う記憶領域であるパケットデータRAMに格納するかを判定する。なお、上記の通信パケットの記憶領域の判定は、ヘッダ情報に加え、各パケット情報FIFO[i]の状態とに基づいて行うのでもよい。
また、図5に示すように、パケットデータRAMの記憶領域毎に記憶領域が空いているか否かの空塞フラグを設け、この空塞フラグを用いて空塞管理を行うのでもよい。具体的には、空塞管理を行うパケットデータの記憶領域を決定する際、空塞フラグに基づいて空いている記憶領域を検出し、検出した記憶領域に空塞管理を行う通信パケットのパケットデータを記憶させるようにするのでもよい。なお、入力された通信パケットをFIFO方式で管理する記憶領域に格納すると判定した場合に入力部511が行う処理は、本発明の第1の実施の形態で説明した、入力部111が行う処理と同様である。
入力された通信パケットを空塞管理を行う記憶領域であるパケットデータRAMに格納すると判定した場合、空塞管理回路512は、この通信パケットのパケットデータをパケットデータ記憶部530のパケットデータRAMに記憶させるための、RAM記憶領域を識別するRAM領域識別情報(以下、書き込み位置情報の一態様とする)、および、この通信パケットのパケット情報を生成し、書き込み位置情報および書き込みパケットデータをメモリ管理部112に出力し、上記で抽出したヘッダ情報、上記で生成したパケット情報、および、パケットデータの格納位置を示す情報(以下、書き込み格納位置情報という)をパケット処理部550に出力する。
パケットデータRAMを指定する書き込み位置情報は、パケットデータRAMを特定する番号でも、パケットデータRAMの記憶領域を特定する情報を含むのでもよい。書き込み位置情報が、パケットデータRAMを特定する番号、または、この番号に加えてパケットデータRAMの記憶領域を特定する情報を含む場合については、本発明の第2の実施の形態において説明したため、その説明は省略する。
なお、書き込み位置情報および書き込みパケットデータのメモリ管理部112への出力、ならびに、生成したパケット情報、パケットデータの書き込み格納位置情報、および、ヘッダ情報のパケット処理部550への出力は、空塞管理回路512が行うのではなく、入力部511が行うのでもよい。入力部511は、書き込み位置情報および書き込みパケットデータをメモリ管理部112に出力し、書き込み位置情報で識別されるパケットデータRAMの記憶領域に、書き込みパケットデータをメモリ管理部112を介して記憶させる。
メモリ管理部112は、パケットデータをパケットデータRAMに記憶させるための書き込みパケットデータおよび書き込み位置情報が入力されたら、書き込み位置情報に応じてパケットデータRAM中の書き込み位置を決定し、決定した書き込み位置にパケットデータを書き込む。パケットデータRAMからのパケットデータの読み出すときも、読み出し位置1青報に応じてパケットデータRAM中の読み出し位置を決定し、決定した読み出し位置に記憶されたパケットデータを読み出す。
パケット処理部550は、キュー、スケジューラ等の通信品質の制御を行う構成要素を有し、入力されたヘッダ情報とパケット情報に基づき、内部のキューの制御、これらのキューヘのパケットの振り分け、キューからのパケットの取り出し等の通信品質の制御を行い、パケット情報と書き込み格納位置情報を出力部140に出力する。出力部140は、パケット処理部550から出力されたパケット情報とパケット情報FIFOから出力されたパケット情報を対象にパケットデータの出力の通信品質の制御を行う。通信品質の制御により出力が決定されたパケットデータについて、パケットデータ記憶部530からパケットデータを読み出して通信パケットを生成し、出力ポートから出力する。
また、パケット処理部550は、入力された書き込み格納位置情報に基づいて、パケットデータ記憶部130中のパケットデータの読み書きを行う機能を有するとともに、暗号化処理等のパケットデータを対象に行う所定のパケット処理を行う機能を有するように構成されるのでもよい。また、空塞管理回路512が抽出した通信パケットのパケットデータを入力とし、このパケットデータにパケット処理を行い送信部140に出力するように構成されるのでもよい。
一般に、通信速度が大きいパケットフローについては、そのパケットデータを格納するバッファ容量を、大きくする必要がある。FIFOを用いて通信品質の制御を行う方式(以下、FIFO方式という)は、メモリを管理するための回路規模や処理量は小さく、バッファ容量に依存しない。したがって、入力された通信パケットのうち、比較的大きい帯域を占有する可能性のある通信パケットを識別し、これをFIFO方式で管理する記憶領域に格納するキューに振り分けることにより、メモリを管理するための回路規模や処理量を低減することができる。
一方、入力された通信パケットの振り分けの際に、FIFO方式で管理する記憶領域に格納するキューに振り分けることができなかったパケットフローは、帯域の占有率が小さくなる。そこで、この通信パケットについては、空塞管理を行う領域に格納した上で、低速ではあるが複雑なパケットの振り分けの処理や通信品質の制御が可能なパケット処理部(例えば、CPU上でプログラムに基づいて処理を行うなど)に任せることができる。
パケット処理部550での通信品質の制御により、パケット処理部550への通信パケットの入力順序と出力順序が異なり得るため、パケットデータをパケットデータFIFOではなく、空塞管理を行う記憶領域であるパケットデータRAMに格納する。空塞管理を行う通信の通信速度が小さく、小さいバッファ容量で済むため、バッファ容量の増大によって回路規模と処理量が増大する空塞管理においても、回路規模と処理量が増大の問題は、発生しない。このように、パケットフローの特性に応じて、FIFO方式か空塞管理方式かを選択してメモリに格納し、通信品質の制御を行うことで、高速1生と高度の通信品質の制御を両立できるという効果が得られる。
なお、本発明の第3の実施の形態にかかるパケット通信品質制御装置500は、本発明の第2の実施の形態のマルチキャストを行う機能を有するものではないが、マルチキャストを行う機能を実現するための本発明の第2の実施の形態にかかるパケット通信品質制御装置300の各構成部を付加しても、同様の空塞管理による効果を得ることができる。
以上説明したように、本発明の第3の実施の形態にかかるパケット通信品質制御装置は、本発明の第1の実施の形態の効果に加え、空塞管理回路が、空塞管理を行うパケットデータをRAM記憶領域に格納させ、RAM記憶領域に記憶されたパケットデータに対してパケット処理を行うようにしたため、パケットフローの特性に応じて、RAM記憶領域にパケットデータを格納させて通信品質の制御を行うことによって、高速性と高度の通信品質の制御を両立させることができる。
本発明にかかるパケット通信品質制御装置は、パケットデータの記憶領域を対象とする空塞管理を不要とし、従来の装置よりも、通信速度を向上させることができるという効果が有用なネットワーク上の中継器やスイッチ等の用途にも適用できる。
100…パケット通信品質制御装置、110…パケット入力処理回路、111…入力部、112…メモリ管理部、130…パケットデータ記憶部、140…出力部、300…パケット通信品質制御装置、312…メモリ管理部、320…キュー部、321…マルチキャスト用パケット情報FIFO、322…マルチキャスト用FIFO制御部、330…パケットデータ記憶部、3401〜340M…出力部、500…パケット通信品質制御装置、510…パケット入力処理回路、511…入力部、512…空塞管理回路、530…パケットデータ記憶部、550…パケット処理部。
Claims (4)
- 入力された通信パケットの通信品質を制御して出力するパケット通信品質制御装置において、
入力された通信パケットを示すパケットデータを記憶するパケットデータ記憶領域を複数有するパケットデータ記憶部と、
前記パケットデータ記憶領域毎に、当該パケットデータ記憶領域で記憶されているパケットデータに関する情報であるパケット情報を順次記憶するキューを有するキュー部と、
入力された前記通信パケットのヘッダ情報と前記キュー部が有する各キューの状態とに基づいて、入力された前記通信パケットを記憶するかまたは廃棄するかを決定し、前記通信パケットを記憶するとの決定に応じて、この通信パケットを記憶させる前記パケットデータ記憶領域を識別する記憶領域識別情報、および、この通信パケットの前記パケット情報を生成するパケット入力処理回路とを備え、
前記パケット入力処理回路は、入力された前記通信パケットに保証する通信品質に応じて前記パケットデータ記憶領域を決定し、
前記キュー部は、前記パケット入力処理回路が生成した前記記憶領域識別情報およびパケット情報を、前記記憶領域識別情報によって特定される前記パケットデータ記憶領域と対応する前記キューに記憶することを特徴とするパケット通信品質制御装置。 - 請求項1に記載のパケット通信品質制御装置において、
前記パケットデータ記憶部は、記憶しているパケットデータをその記憶した順番に出力する、1つ以上のFIFOを有することを特徴とするパケット通信品質制御装置。 - 請求項1または2に記載のパケット通信品質制御装置において、
入力された前記パケット情報を記憶するとともに、記憶した前記パケット情報を読み出すための複数のアクセスポートを有するマルチアクセスキューと、
前記パケット入力処理回路で生成された前記パケット情報がマルチキャストを指示するマルチキャスト指示情報を含む際には、前記マルチキャスト指示情報を含むパケット情報を前記マルチアクセスキューに記憶させ、前記マルチアクセスキューに記憶したパケット情報を前記出力部のいずれかに出力させる際には、前記マルチアクセスキューの前記アクセスポートを選択するとともに、出力させる前記パケット情報が記憶された記憶領域を特定する位置情報を前記マルチアクセスキューに出力するマルチキャスト用キュー制御部と、
前記マルチアクセスキューが前記パケット情報を出力した際、前記パケットデータ記憶部から前記マルチアクセスキューに対応する前記パケットデータ記憶領域に記憶されたパケットデータを読み出して通信パケットを生成し出力する複数の出力部とをさらに備えることを特徴とするパケット通信品質制御装置。 - 請求項1〜3のいずれか1項に記載のパケット通信品質制御装置において、
入力された前記通信パケットのうちの所定の通信パケットのパケットデータに対して所定のパケット処理を行うパケット処理部をさらに備え、
前記パケットデータ記憶部は、前記パケット処理部が前記パケット処理を行う対象の通信パケットのパケットデータを記憶する、ランダムアクセス可能な複数のRAM記憶領域を有するパケットデータメモリを有し、
前記パケット入力処理回路は、少なくとも、入力された各通信パケットから当該通信パケットのヘッダ情報に基づいて前記パケット処理を行う通信パケットを抽出し、抽出した前記通信パケットのパケットデータを記憶させる前記RAM記憶領域を識別するRAM領域識別情報および抽出した通信パケットの前記パケット情報を生成する空塞管理回路を有し、抽出した前記通信パケットを前記RAM領域識別情報で識別される前記RAM記憶領域に記憶させ、
前記パケット処理部は、前記ヘッダ情報と前記空塞管理回路が生成した前記パケット情報とに基づいて、前記RAM領域識別情報によって特定されるRAM記憶領域に記憶されているパケットデータに対して前記パケット処理を行うことを特徴とするパケット通信品質制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004140730A JP2005323231A (ja) | 2004-05-11 | 2004-05-11 | パケット通信品質制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004140730A JP2005323231A (ja) | 2004-05-11 | 2004-05-11 | パケット通信品質制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005323231A true JP2005323231A (ja) | 2005-11-17 |
Family
ID=35470152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004140730A Pending JP2005323231A (ja) | 2004-05-11 | 2004-05-11 | パケット通信品質制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005323231A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011009876A (ja) * | 2009-06-23 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | バッファ回路及びバッファ回路制御方法 |
JP2015511790A (ja) * | 2012-10-12 | 2015-04-20 | 中▲興▼通▲訊▼股▲フン▼有限公司 | メッセージ処理方法及び装置 |
-
2004
- 2004-05-11 JP JP2004140730A patent/JP2005323231A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011009876A (ja) * | 2009-06-23 | 2011-01-13 | Nippon Telegr & Teleph Corp <Ntt> | バッファ回路及びバッファ回路制御方法 |
JP2015511790A (ja) * | 2012-10-12 | 2015-04-20 | 中▲興▼通▲訊▼股▲フン▼有限公司 | メッセージ処理方法及び装置 |
US9584332B2 (en) | 2012-10-12 | 2017-02-28 | Zte Corporation | Message processing method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7333502B2 (en) | Services processor having a queue operations unit and an output scheduler | |
US8370545B2 (en) | Programmable queuing instruction set | |
JP5514913B2 (ja) | フローアウェアネットワークノード内でデータパケットを処理するための方法 | |
US20180159802A1 (en) | Data enqueuing method, data dequeuing method, and queue management circuit | |
JP4550728B2 (ja) | パケット転送装置及びマルチキャスト展開方法 | |
JP7433479B2 (ja) | パケット転送方法、装置及び電子デバイス | |
KR100651435B1 (ko) | 효율적인 실시간 패킷 전송을 위한 적응적 큐 메커니즘과그의 적응적 큐 설정 시스템 | |
EP3166269B1 (en) | Queue management method and apparatus | |
CN113032295B (zh) | 一种数据包二级缓存方法、系统及应用 | |
US7916743B2 (en) | System and method for improved multicast performance | |
JP2015186149A (ja) | スイッチ装置、情報処理システムおよびスイッチ装置の制御方法 | |
CN110830388A (zh) | 一种数据调度方法、装置、网络设备及计算机存储介质 | |
JP2006135574A (ja) | パケット伝送装置 | |
JP2007067927A (ja) | 通信装置 | |
JP2007288491A (ja) | フレームの分割回路、該分割回路を用いた伝送システム及び方法 | |
JP2005323231A (ja) | パケット通信品質制御装置 | |
JP2012155650A (ja) | ルータ及びメニーコアシステム | |
CN109726144B (zh) | 一种数据报文的处理方法和装置 | |
US8908711B2 (en) | Target issue intervals | |
CN109302353B (zh) | 一种分配报文缓存空间的方法及装置 | |
JP2005210606A (ja) | パケットの優先制御を行う通信装置及び優先制御方法並びにプログラム | |
US9922000B2 (en) | Packet buffer with dynamic bypass | |
JP4411980B2 (ja) | パケット送出の順序制御プログラム及び方法 | |
JP4638851B2 (ja) | パケット処理装置 | |
JP2008136254A (ja) | 通信装置 |