(57)【要約】【課題】受信したパケットの重要度に応じて蓄積を制御できるようにする。【解決手段】分類部１３は、受信したパケットの所定のフィールドに記録されたデータに基づき、そのパケットの重要度を示す優先制御情報Ｓ４ｉを生成する。バッファ部１５は、優先制御情報Ｓ４ｉが生成された分類済みパケットを滞留させる。優先入力部１４は、分類済みパケットを滞留させる記憶領域がバッファ部１５に不足している場合に、バッファ部１５に滞留する滞留パケットの優先制御情報Ｓ４1〜Ｓ４Mと分類済みパケットの優先制御情報Ｓ４ｉとに基づき、分類済みパケットを破棄するか、または滞留パケットの中の１つを破棄し代わりに分類済みパケットを滞留させる。優先出力部１６は、バッファ部１５に滞留する滞留パケットの中から優先制御情報Ｓ４1〜Ｓ４Mに基づき１の滞留パケットを選択し、蓄積部２に対して蓄積要求する。【選択図】  図１
2006174233.tif 000002
【特許請求の範囲】
【請求項１】
パケットを受信する受信手段と、この受信手段により受信された前記パケットを蓄積する蓄積手段とを備えるパケット処理装置において、
前記受信手段は、
受信した前記パケットの所定のフィールドに記録されたデータに基づき、前記パケットの重要度を示す優先制御情報を生成する分類手段と、
この分類手段により前記優先制御情報が生成された分類済みパケットを滞留させるバッファ手段と、
このバッファ手段に滞留する滞留パケットの中からそれぞれの優先制御情報に基づき前記蓄積手段に対して蓄積を要求する滞留パケットを選択する優先出力手段と
を備えることを特徴とするパケット処理装置。
【請求項２】
請求項１に記載のパケット処理装置において、
前記分類済みパケットを滞留させる記憶領域が前記バッファ手段に不足している場合に、前記バッファ手段にすでに滞留している前記滞留パケットのそれぞれの優先制御情報と前記分類手段から新たに入力された分類済みパケットの優先制御情報とに基づき、前記分類済みパケットを前記バッファ手段に滞留させず破棄するか、または、前記滞留パケットの中の１つを破棄することによってその滞留パケットが占有していた記憶領域を解放し、この記憶領域に前記分類済みパケットを滞留させる優先入力手段を更に備えることを特徴とするパケット処理装置。
【請求項３】
請求項１または２に記載のパケット処理装置において、
前記受信手段を複数備え、
前記受信手段の少なくとも２つが前記滞留パケットの蓄積を要求したときに、前記滞留パケットのそれぞれの優先制御情報に基づき、前記蓄積手段に蓄積する滞留パケットを選択する蓄積調停手段を更に備えることを特徴とするパケット処理装置。
【請求項４】
請求項１に記載のパケット処理装置において、
前記滞留パケット毎にそれぞれが前記バッファ手段に滞留している時間に基づき滞留時間情報を生成する滞留時間情報生成手段を更に備え、
前記優先出力手段は、前記蓄積手段に対して蓄積を要求する滞留パケットを選択する際に、前記滞留パケットのそれぞれの優先制御情報および滞留時間情報を参照することを特徴とするパケット処理装置。
【請求項５】
請求項２に記載のパケット処理装置において、
前記滞留パケット毎にそれぞれが前記バッファ手段に滞留している時間に基づき滞留時間情報を生成する滞留時間情報生成手段を更に備え、
前記優先入力手段は、前記分類済みパケットおよび前記滞留パケットの破棄を実行する際に、前記滞留パケットのそれぞれの優先制御情報および滞留時間情報と、前記分類済みパケットの優先制御情報とを参照することを特徴とするパケット処理装置。
【請求項６】
請求項３に記載のパケット処理装置において、
前記滞留パケット毎にそれぞれが前記バッファ手段に滞留している時間に基づき滞留時間情報を生成する滞留時間情報生成手段を更に備え、
前記蓄積調停手段は、前記蓄積手段に蓄積する滞留パケットを選択する際に、前記滞留パケットのそれぞれの優先制御情報および滞留時間情報を参照することを特徴とするパケット処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット処理装置に関し、より詳しくは、受信したパケットのデータを蓄積し、その後に蓄積したデータを読み出して所定の処理を実行するパケット処理装置に関する。
【背景技術】
【０００２】
図４は、従来のパケット処理装置の一構成例を示すブロック図である。
このパケット処理装置は、レイヤ１処理回路１１１とレイヤ２処理回路１１２とからなるインタフェース部１１０と、ＣＰＵ等からなるパケット処理部１１３と、メモリ等からなる蓄積部１１４とを有する。
【０００３】
レイヤ１処理回路１１１は、受信したパケット［ｉ］（ｉは自然数）のデータＳ１０１ｉに対して、イーサネット（登録商標）のレイヤ１（ＰＨＹ）処理を実施する。
レイヤ２処理回路１１２は、レイヤ１処理回路１１１から入力されたパケット［ｉ］のデータＳ１０２ｉに対して、レイヤ２（ＭＡＣ）処理を実施する。
パケット処理部１１３は、次のように動作する。まず、レイヤ２処理回路１１２からのパケット［ｉ］の入力要求を受けて、そのパケット［ｉ］のデータＳ１０３ｉを蓄積するための記憶領域を蓄積部１１４に確保する。つぎに、そのパケット［ｉ］のデータＳ１０３ｉを、レイヤ２処理回路１１２から、蓄積部１１４に確保した記憶領域に転送する。その後、記憶領域からパケットのデータのすべてまたはその一部を読み出し、そのパケットに対して所定のＩＰパケット処理を施す。このＩＰパケット処理には、不要なＩＰパケットの破棄（フィルタリング）や、ＩＰパケットのクラス分類（クラシファイ）、中継ＩＰパケットに対する送信インタフェースの指定（フォワーディング）などの処理が含まれる（例えば、非特許文献１，２を参照）。
【０００４】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献１】Daniel P.Bovet, Marco Cesati著、「詳解Ｌｉｎｕｘカーネル」、第２版、株式会社オライリー・ジャパン、ｐ．７１３−７１４
【非特許文献２】成田多良著、アスキームック  BSD magazine 2004 No.19「SEIL/Turbo」、株式会社アスキー、ｐ．９４
【発明の開示】
【発明が解決しようとする課題】
【０００５】
インタフェース速度やインタフェース数の増加によって、受信可能なパケットのビットレートの最大値（受信レート）が、受信したパケットデータを蓄積部１１４に書き込むことが可能なビットレートの最大値（蓄積レート）よりも高くなる場合がある。この場合には、受信したパケットデータの一部が蓄積部１１４に蓄積されることなく、破棄されることになる。
【０００６】
従来のパケット処理装置は、すでに蓄積部１１４に蓄積されたパケットの重要度を判定する機能を有するものの、蓄積部１１４に蓄積される前のパケットの重要度を判定する機能はもっていない。このため、受信したパケットの重要度に応じて、蓄積部１１４への蓄積を制御することができなかった。その結果、より重要度が低いパケットのデータが蓄積部１１４に蓄積され、より重要度が高いパケットのデータが破棄されてしまうという問題があった。
【０００７】
本発明は、このような課題を解決するためになされたものであり、その目的は、受信レートよりも蓄積レートが低い場合に、受信したパケットの重要度に応じて蓄積を制御できるようにすることにある。
【課題を解決するための手段】
【０００８】
このような目的を達成するために、本発明に係るパケット処理装置は、パケットを受信する受信手段と、この受信手段により受信されたパケットを蓄積する蓄積手段とを備え、受信したパケットの所定のフィールドに記録されたデータに基づき、パケットの重要度を示す優先制御情報を生成する分類手段と、この分類手段により優先制御情報が生成された分類済みパケットを滞留させるバッファ手段と、このバッファ手段に滞留する滞留パケットの中からそれぞれの優先制御情報に基づき蓄積手段に対して蓄積を要求する滞留パケットを選択する優先出力手段とを備えることを特徴とする。
【０００９】
このパケット処理装置は、分類済みパケットを滞留させる記憶領域がバッファ手段に不足している場合に、バッファ手段にすでに滞留している滞留パケットのそれぞれの優先制御情報と分類手段から新たに入力された分類済みパケットの優先制御情報とに基づき、分類済みパケットをバッファ手段に滞留させず破棄するか、または、滞留パケットの中の１つを破棄することによってその滞留パケットが占有していた記憶領域を解放し、この記憶領域に分類済みパケットを滞留させる優先入力手段を更に備えていてもよい。
【００１０】
また、上述したパケット処理装置は、受信手段を複数備え、受信手段の少なくとも２つが滞留パケットの蓄積を要求したときに、滞留パケットのそれぞれの優先制御情報に基づき、蓄積手段に蓄積する滞留パケットを選択する蓄積調停手段を更に備えていてもよい。
【００１１】
また、上述したパケット処理装置は、滞留パケット毎にそれぞれがバッファ手段に滞留している時間に基づき滞留時間情報を生成する滞留時間情報生成手段を更に備え、優先出力手段が、蓄積手段に対して蓄積を要求する滞留パケットを選択する際に、滞留パケットのそれぞれの優先制御情報および滞留時間情報を参照するようにしてもよい。また、優先入力手段が、分類済みパケットおよび滞留パケットの破棄を実行する際に、滞留パケットのそれぞれの優先制御情報および滞留時間情報と、分類済みパケットの優先制御情報とを参照するようにしてもよい。また、蓄積調停手段が、蓄積手段に蓄積する滞留パケットを選択する際に、滞留パケットのそれぞれの優先制御情報および滞留時間情報を参照するようにしてもよい。
【発明の効果】
【００１２】
本発明では、受信したパケットの重要度を示す優先制御情報を生成し、この優先制御情報が生成された分類済みパケットをバッファ手段に滞留させ、このバッファ手段に滞留する滞留パケットを優先制御情報に基づいて蓄積手段に順次蓄積していく。これにより、重要度の高いパケットを優先して蓄積手段に蓄積することが可能となる。したがって、受信可能なパケットのビットレートの最大値よりも、受信したパケットを蓄積手段に蓄積することが可能なビットレートの最大値が低い場合に、重要度の高いパケットが蓄積されずに破棄される割合を低減することができる。
【００１３】
また、分類済みパケットを滞留させる記憶領域がバッファ手段に不足している場合には、滞留パケットおよび分類済みパケットのそれぞれの優先制御情報に基づき、分類済みパケットを破棄するか、または滞留パケットの１つを破棄し代わりに分類済みパケットを滞留させる。これにより、バッファ手段から蓄積手段へのパケット転送が、バッファ手段へのパケット書込みに追いつかず、バッファ手段の記憶領域が不足したとしても、重要度の高いパケットを優先してバッファ手段に滞留させることができる。
【００１４】
また、複数の受信手段から複数の滞留パケットの蓄積が要求されたときに、それぞれの優先制御情報に基づいて蓄積手段に蓄積する滞留パケットを選択することにより、重要度の高い滞留パケットを優先して蓄積することができる。
【００１５】
また、滞留パケットがバッファ手段に滞留している滞留時間に基づく滞留時間情報を生成し、この滞留時間情報を参照して蓄積手段に蓄積を要求する滞留パケットを選択することにより、各滞留パケットの滞留時間を平均化することができる。また、滞留時間情報を参照して分類済みパケットまたは滞留パケットの破棄を実行することにより、各滞留パケットの滞留時間を短くすることができる。また、複数の受信手段から要求される複数の滞留パケットの中から、滞留時間情報を参照して蓄積手段に蓄積する滞留パケットを選択することにより、各受信手段のバッファ手段において、滞留パケットの滞留時間を平均化することができる。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の実施の形態について、図面を用いて詳細に説明する。
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係るパケット処理装置の構成を示すブロック図である。なお、本実施の形態では、パケット処理装置の間において、ＩＥＥＥ  ８０２．３フレームが通信されるものとする。このＩＥＥＥ  ８０２．３フレームに、ＩＥＴＦ  ＲＦＣ７９１に規定されたデータをカプセル化したものをＩＰパケット（以下「パケット」という）という。
【００１７】
本実施の形態に係るパケット処理装置は、信号Ｓ１ｉ（ｉは自然数）を受信する受信部１と、受信部１により受信された信号Ｓ１ｉに含まれるパケット［ｉ］のデータを蓄積する蓄積部２と、蓄積部２に蓄積されたパケット［ｉ］のデータに対して所定の処理を行うパケット処理部３とを有する。
受信部１は更に、レイヤ１処理回路１１とレイヤ２処理回路１２とからなるインタフェース部１０と、分類部１３と、優先入力部１４と、バッファ部１５と、優先出力部１６とから構成される。
【００１８】
ここで、インタフェース部１０のレイヤ１処理回路１１は、受信信号Ｓ１ｉに含まれるパケット［ｉ］のデータに対してＩＥＥＥ  ８０２．３のレイヤ１（ＰＨＹ）処理を実施し、得られたパケット［ｉ］のデータＳ２ｉをレイヤ２処理回路１２に出力する。
インタフェース部１０のレイヤ２処理回路１２は、入力されたパケット［ｉ］のデータＳ２ｉに対してＩＥＥＥ  ８０２．３のレイヤ２（ＭＡＣ）処理を実施し、得られたパケット［ｉ］のデータＳ３ｉを分類部１３に出力する。
本実施の形態では、パケットとしてＩＰパケットを採用し、インタフェース部１０の規格としてＩＥＥＥ  ８０２．３を採用したが、パケットは、送信先アドレスなどの制御情報が付加されたデータの小さなまとまりであればよく、インタフェース部１０は、パケットの通信に必要な処理のうち、パケットを規定するプロトコルより下位レイヤの処理を実施すればよい。
【００１９】
分類部１３は、インタフェース部１０から入力されたパケット［ｉ］の所定のフィールドに記録された１以上のデータを読み取り、そのデータに基づいてパケット［ｉ］の重要度を示す指標として優先制御情報Ｓ４ｉを生成する。優先制御情報Ｓ４ｉが示す重要度に応じて分類されたパケットを「分類済みパケット」と呼ぶ。分類部１３は、分類済みパケット［ｉ］のデータＳ３ｉおよびその優先制御情報Ｓ４ｉを優先入力部１４に出力する。
分類部１３が優先制御情報Ｓ４ｉを生成する際にデータを読み取る所定のフィールドの例としては、ＶＬＡＮタグの「Ｕｓｅｒ  Ｐｒｉｏｒｉｔｙ」（ＩＥＥＥ  ８０２．１ｐ／Ｑを参照）や、「ＴＯＳ」（ＩＥＴＦ  ＲＦＣ７９１を参照）、「Ｔｒａｆｆｉｃ  Ｃｌａｓｓ」（ＩＥＴＦ  ＲＦＣ２４６０を参照）を挙げることができる。また、パケット［ｉ］の送信元や宛先に応じてパケット［ｉ］の重要度が決まる場合には、上記所定のフィールドとして、送信元や宛先のＩＰアドレス（ＩＥＴＦ  ＲＦＣ７９１，ＲＦＣ２４６０を参照）を用いることができる。さらに、パケット［ｉ］を終端するアプリケーションに応じてパケット［ｉ］の重要度が決まる場合には、上記所定のフィールドとして、「ＴＣＰ／ＵＤＰポート番号」（ＩＥＴＦ  ＲＦＣ７６８，ＲＦＣ７９３を参照）を用いることができる。
【００２０】
バッファ部１５は、後述するように優先入力部１４を介して分類部１３から入力される分類済みパケット［ｉ］のデータＳ３ｉをその優先制御情報Ｓ４ｉとともに一時的に滞留させる。このバッファ部１５は、最大Ｍ個（Ｍは自然数）のパケットを滞留可能なように区画化されたＭ個の記憶領域１５1，１５2，…，１５Mと、記憶領域１５1〜１５Mに滞留中の滞留パケット［１…Ｍ］に対応づけてそれぞれの優先制御情報Ｓ４1〜Ｓ４Mを保持する記憶領域１５Rとをもつ。
【００２１】
パケット用の記憶領域１５1〜１５Mは、それぞれに滞留中の１個の滞留パケットを出力または破棄することによって解放され、新たに１個の分類済みパケットが滞留可能となる。本実施の形態では、記憶領域１５1〜１５Mに滞留するパケットのデータは、ＩＥＥＥ  ８０２．３フレームでカプセル化されたものであるから、１パケットのデータ量は、最大で１５００オクテット（ＩＥＥＥ  ８０２．３フレームのヘッダ等を含めると１５２２オクテット）となる。記憶領域１５1〜１５Mの１区画のサイズをこの１パケットのデータ量の最大値とすることにより、本実施の形態のＩＰパケットのような可変長のパケットに対しても、上述したような記憶領域１５1〜１５Mの処理が可能となる。
【００２２】
優先制御情報用の記憶領域１５Rは、保持している優先制御情報Ｓ４1〜Ｓ４Mを一括して優先入力部１４および優先出力部１６に出力する。常時出力してもよいし、優先入力部１４および優先出力部１６からの要求があったときに出力するようにしてもよい。
また、記憶領域１５Rの容量を大きくとれる場合には、優先制御情報Ｓ４1〜Ｓ４Mを個別に保持し、優先入力部１４または優先出力部１６から指定された優先制御情報を１つずつに出力するようにすることもできる。優先入力部１４または優先出力部１６からの指定によらず、優先制御情報Ｓ４1〜Ｓ４Mを周期的に１つずつ出力し続けるようにしてもよい。いずれの方法でも、後述する優先入力部１４および優先出力部１６による優先制御情報の比較処理は、優先制御情報Ｓ４1〜Ｓ４Mがすべて１つずつ優先入力部１４および優先出力部１６に入力されたときに行われる。
【００２３】
バッファ部１５は、優先制御情報Ｓ４1〜Ｓ４Mの他に、パケット用の各記憶領域１５1〜１５Mの空塞状態を示す信号Ｓ６1〜Ｓ６M、各記憶領域１５1〜１５Mへのアクセス可否を示す信号Ｓ７1〜Ｓ７Mを、優先入力部１４および優先出力部１６に出力する。なお、読み書き中の記憶領域についてはアクセス不可とする。
【００２４】
優先入力部１４は、バッファ部１５から入力されるの滞留パケット［１…Ｍ］の優先制御情報Ｓ４1〜Ｓ４Mと、分類部１３から入力された分類済みパケット［ｉ］の優先制御情報Ｓ４ｉとに基づいて、分類済みパケット［ｉ］のデータＳ３ｉのバッファ部１５への書込みまたは破棄を制御する。
優先出力部１６は、バッファ部１５から入力されるの滞留パケット［１…Ｍ］の優先制御情報Ｓ４1〜Ｓ４Mに基づいて、バッファ部１５に滞留中の滞留パケット［ｓ］のデータＳ３ｓの蓄積部２への書込みを制御する。
【００２５】
次に、本実施の形態に係るパケット処理装置の動作について説明する。
他のパケット処理装置から送られてきた信号Ｓ１ｉを受信と、レイヤ１処理回路１１は、受信信号Ｓ１ｉに含まれるパケット［ｉ］のデータに対して、レイヤ１（ＰＨＹ）処理を実施する。続いて、レイヤ２処理回路１２は、レイヤ１処理回路１１から入力されたパケット［ｉ］のデータＳ２ｉに対して、レイヤ２（ＭＡＣ）処理を実施する。そして、分類部１３は、レイヤ２処理回路１２から入力されたパケット［ｉ］の優先制御情報Ｓ４ｉを生成する。
【００２６】
優先入力部１４は、分類部１３から分類済みパケット［ｉ］のデータＳ３ｉおよびその優先制御情報Ｓ４ｉが入力されると、バッファ部１５から入力される信号Ｓ６1〜Ｓ６Mより、バッファ部１５のパケット用記憶領域１５1〜１５Mの空塞状態を確認する。
その結果、空いている記憶領域がある場合には、優先入力部１４は、その中の１区画を選択する。そして、選択した区画すなわち記憶領域１５m（ｍは１からＭまでの整数）がアクセス可能な期間に、記憶領域１５mの番号ｍを示す信号Ｓ５ｉと、分類済みパケット［ｉ］のデータＳ３ｉおよびその優先制御情報Ｓ４ｉをバッファ部１５に出力する。これにより、分類済みパケット［ｉ］のデータＳ３ｉを記憶領域１５mに滞留させるとともに、そのパケット［ｉ］に対応づけて優先制御情報Ｓ４ｉを記憶領域１５Rに記憶させることができる。この結果、分類済みパケット［ｉ］が「滞留パケット［ｍ］」となり、優先制御情報Ｓ４ｉが「優先制御情報Ｓ４m」となる。
【００２７】
これに対し、空いている記憶領域がない場合（すなわち、分類済みパケット［ｉ］のデータＳ３ｉを滞留させる記憶領域が不足している場合）には、優先入力部１４はまず、各記憶領域１５1〜１５Mの滞留パケット［１…Ｍ］の優先制御情報Ｓ４1〜Ｓ４Mと、分類部１３から入力された分類済みパケット［ｉ］の優先制御情報Ｓ４ｉとを比較する。
このとき、どの滞留パケット［１…Ｍ］よりも分類済みパケット［ｉ］の重要度が低い場合には、優先入力部１４は、分類済みパケット［ｉ］をバッファ部１５に出力せずに破棄する。
【００２８】
しかし、分類済みパケット［ｉ］よりも重要度の低い滞留パケットがある場合には、優先入力部１４は、その中の最も重要度の低い滞留パケットの区画を選択する。そして、選択した区画すなわち記憶領域１５m′（ｍ′は１からＭまでの整数）がアクセス可能な期間に、記憶領域１５m′の番号ｍ′を示す信号Ｓ５ｉと、分類済みパケット［ｉ］のデータＳ３ｉおよびその優先制御情報Ｓ４ｉをバッファ部１５に出力する。これにより、記憶領域１５m′に滞留している滞留パケット［ｍ′］のデータＳ３ｍ′を破棄することによって記憶領域１５m′を解放し、この記憶領域１５m′に新たに分類済みパケット［ｉ］のデータＳ３ｉを滞留させることができる。また、そのパケット［ｉ］に対応づけて優先制御情報Ｓ４ｉを記憶領域１５Rに記憶させることができる。この結果、分類済みパケット［ｉ］が「滞留パケット［ｍ′］」となり、優先制御情報Ｓ４ｉが「優先制御情報Ｓ４m′」となる。
【００２９】
一方、優先出力部１６は、バッファ部１５から入力される信号Ｓ６1〜Ｓ６Mより、バッファ部１５のパケット用記憶領域１５1〜１５Mの空塞状態を確認する。その結果、記憶領域１５1〜１５Mの少なくとも１つにパケットが滞留している場合には、それぞれの優先制御情報Ｓ４1〜Ｓ４Mに基づいて最も重要度の高い滞留パケット［ｓ］（ｓは１からＭまでの整数）を選択する。そして、選択した滞留パケット［ｓ］の優先制御情報を含む蓄積要求Ｓ８ｓを蓄積部２に出力するとともに、滞留パケット［ｓ］が滞留する記憶領域１５sの番号ｓを示す信号Ｓ９ｓをバッファ部１５に出力する。
【００３０】
蓄積要求Ｓ８ｓを受けた蓄積部２は、滞留パケットのデータを蓄積するための記憶領域を確保し、蓄積部２への蓄積が可能であることを示す信号Ｓ１０をバッファ部１５に出力する。これにより、バッファ部１５から記憶領域１５sに滞留する滞留パケット［ｓ］のデータＳ３ｓを読み出し、蓄積部２に確保した記憶領域に蓄積することができる。蓄積完了により、滞留パケット［ｓ］が占有していたバッファ部１５の記憶領域１５sが解放される。
【００３１】
パケット処理部３は、蓄積部２に蓄積されている蓄積パケットのデータのすべてまたはその一部を読み出し、その蓄積パケットに対して所定のＩＰパケット処理を施す。このＩＰパケット処理には、不要なＩＰパケットの破棄（フィルタリング）や、ＩＰパケットのクラス分類（クラシファイ）、中継ＩＰパケットに対する送信インタフェースの指定（フォワーディング）などの処理が含まれる。
【００３２】
以上のように、本実施の形態では、分類部１３においてパケット［ｉ］の重要度を示す指標として優先制御情報Ｓ４ｉを生成することにより、パケット間の重要度を比較することが可能となる。
【００３３】
また、バッファ部１５の記憶領域が満杯になった場合に、優先入力部１４において、バッファ部１５に滞留中の複数のパケット［１…Ｍ］のそれぞれの優先制御情報Ｓ４1〜Ｓ４Mと、バッファ部１５に入力しようとしているパケット［ｉ］の優先制御情報Ｓ４ｉとを比較する。その結果、滞留パケット［１…Ｍ］すべてが入力パケット［ｉ］よりも重要度が高い場合には、入力パケット［ｉ］をバッファ部１５に滞留させずに破棄する。これに対し、滞留パケット［１…Ｍ］の中に入力パケット［ｉ］よりも重要度が低いものがある場合には、その中の１の滞留パケットを破棄し、代わりにパケット［ｉ］をバッファ部１５に滞留させる。これにより、バッファ部１５におけるパケット読み出し後のパケット破棄がパケット書き込みに追いつかず、バッファ部１５の記憶領域が満杯になったとしても、重要度の高いパケットを優先してバッファ部１５に滞留させることができる。
【００３４】
また、優先出力部１６において、バッファ部１５に滞留中の複数のパケット［１…Ｍ］の中から、それぞれの優先制御情報Ｓ４1〜Ｓ４Mに基づいて蓄積部２に蓄積するパケット［ｓ］を選択することにより、重要度の高い滞留パケットを優先して蓄積部２に蓄積することができる。
【００３５】
したがって、本実施の形態に係るパケット処理装置によれば、インタフェース速度の増加によって、受信可能なパケットのビットレートの最大値の方が、受信したパケットデータを記憶領域に書き込むことが可能なビットレートの最大値よりも高くなっても、パケットの重要度に応じてパケットデータを記憶領域に書き込むことができ、重要度の高いパケットが蓄積されずに破棄されることを防止できる。
【００３６】
（第２の実施の形態）
図２は、本発明の第２の実施の形態に係るパケット処理装置の構成を示すブロック図である。この図では、図１に示した構成要素と同一または同等の構成要素を図１と同一符号で示し、その説明を適宜省略する。
本実施の形態に係るパケット処理装置は、Ｎ個（Ｎは２以上の整数）の受信部１1〜１Nと、蓄積部２と、パケット処理部３と、蓄積調停部４とを有する。なお、受信部１1〜１Nのそれぞれは、図１における受信部１と同一構成を有する。
【００３７】
蓄積調停部４は、受信部１1〜１Nのそれぞれから滞留パケット［ｓ］の蓄積要求Ｓ８ｓ1〜Ｓ８ｓNがあったときに、蓄積部２に蓄積する滞留パケット［ｓ］を選択するものである。詳しくは次のように動作する。
蓄積調停部４は、複数の蓄積要求Ｓ８ｓ1〜Ｓ８ｓNがあったときに、蓄積要求Ｓ８ｓ1〜Ｓ８ｓNのそれぞれに含まれる滞留パケット［ｓ］の優先制御情報に基づいて、最も優先度の高い滞留パケット［ｓ］の蓄積要求Ｓ８ｓを選択する。例えば、ｊ番目（ｊは１からＮまでの整数）の受信部１jからの蓄積要求Ｓ８ｓjを選択したとする。この場合には、選択した蓄積要求Ｓ８ｓjを蓄積部２に出力する。
【００３８】
蓄積要求Ｓ８ｓjを受けた蓄積部２は、滞留パケットのデータを蓄積するための記憶領域を確保し、蓄積部２への蓄積が可能であることを示す信号Ｓ１０を蓄積調停部４に出力する。
信号Ｓ１０を受けた蓄積調停部４は、受信部１jに信号Ｓ１０と同様の信号、すなわち受信部１jに滞留する滞留パケット［ｓ］を蓄積部２に蓄積可能であることを示す信号Ｓ１１を出力する。これにより、受信部１jのバッファ部１５から滞留パケット［ｓ］のデータＳ３ｓjが読み出され、蓄積調停部４を介して蓄積部２が確保した記憶領域に転送される。
【００３９】
この蓄積調停部４を設けることにより、第１の実施の形態の効果に加えて、受信部１1〜１Nから複数の蓄積要求があったとしても、重要度の高い滞留パケット［ｓ］を優先して蓄積部２に蓄積することが可能となる。
また、受信部１1〜１Nにおいて１インタフェース毎にパケットの重要度の判定を実施し、蓄積調停部４においてインタフェース間のパケットの重要度の判定を実施する機能分割によって、インタフェース数の増加を容易に実現できる。
【００４０】
したがって、本実施の形態に係るパケット処理装置によれば、インタフェース速度およびインタフェース数の増加によって、受信可能なパケットのビットレートの最大値の方が、受信したパケットデータを記憶領域に書き込むことが可能なビットレートの最大値よりも高くなっても、パケットの重要度に応じてパケットデータを記憶領域に書き込むことができ、重要度の高いパケットが蓄積されずに破棄されることを防止できる。
【００４１】
（第３の実施の形態）
図３は、本発明の第３の実施の形態に係るパケット処理装置の構成を示すブロック図である。この図では、図１に示した構成要素と同一または同等の構成要素を図１と同一符号で示し、その説明を適宜省略する。
本実施の形態に係るパケット処理装置は、受信部５１と、蓄積部２と、パケット処理部３と、クロック部５とを有する。受信部５１は更に、インタフェース部１０と、分類部１３と、優先入力部５４と、バッファ部５５と、優先出力部５６とから構成される。
【００４２】
ここで、バッファ部５５は、図１におけるバッファ部１５と同様の機能を有するものであるが、パケット用の記憶領域１５1，１５2，…，１５Mに対応するＭ個のカウンタ部６1，６2，…，６Mを更に有する点でバッファ部１５と異なる。
クロック部５とカウンタ部６1〜６Mとから、各滞留パケット［１…Ｍ］の滞留時間情報を生成する滞留時間情報生成部が構成される。
クロック部５は、一定時間間隔でパルスを発生させる。カウンタ部６1〜６Mのそれぞれは、クロック部５から入力されるパルスを計数する。記憶領域１５1〜１５Mに分類済みパケットが入力され滞留が始まったときに、その記憶領域１５1〜１５Mに対応するカウンタ部６1〜６Mの計数値をリセットしてパルスの計数を開始させる。こうして得られたパルスの計数値は、記憶領域１５1〜１５Mにパケット［１…Ｍ］が滞留している時間に比例するものであるから、この計数値を滞留時間情報とする。
バッファ部１５は、滞留パケット［１…Ｍ］の滞留時間情報Ｓ１１1〜Ｓ１１Mを優先制御情報Ｓ４1〜Ｓ４M等とともに、優先入力部５４および優先出力部５６に出力する。
【００４３】
優先入力部５４は、図１における優先入力部１４と同様の機能を有する。ただし、バッファ部５５に空いている記憶領域がなく、いずれかの記憶領域１５m′の滞留パケット［ｍ′］を破棄して新たに分類済みパケット［ｉ］を滞留させる場合に、破棄する滞留パケット［１…Ｍ］の選択に優先制御情報Ｓ４1〜Ｓ４Mだけでなく、滞留時間情報Ｓ１１1〜Ｓ１１Mをも参照する点で、優先入力部１４と異なる。例えば、滞留時間の長い滞留パケットを優先して破棄することにより、バッファ部５５に滞留するパケットの滞留時間を短くすることができる。
【００４４】
また、優先出力部５６は、図１における優先出力部１６と同様の機能を有する。ただし、蓄積部２に蓄積を要求する滞留パケット［ｓ］を選択する際に、優先制御情報Ｓ４1〜Ｓ４Mだけでなく、滞留時間情報Ｓ１１1〜Ｓ１１Mをも参照する点で、優先出力部１６と異なる。例えば、滞留時間の長いパケットを優先して蓄積部２に蓄積することにより、バッファ部５５に滞留するパケットの滞留時間を平均化することができる。なお、優先出力部５６は、蓄積部２に出力する蓄積要求Ｓ８ｓに、滞留パケット［ｓ］の優先制御情報に加えて、滞留時間情報を含めることができる。
【００４５】
なお、図２における受信部１1〜１Nのそれぞれに、図３における受信部５１を用いることもできる。これにより、第２の実施の形態においても、バッファ部１５に滞留するパケットの滞留時間を平均化し、短くすることが可能となる。
この場合、さらに蓄積調停部４において、複数の受信部１1〜１Nから複数の蓄積要求Ｓ８ｓ1〜Ｓ８ｓNがあったときに、蓄積要求Ｓ８ｓ1〜Ｓ８ｓNに含まれる滞留パケット［ｓ］の優先制御情報だけでなく、滞留時間情報をも参照して、蓄積部２に蓄積する滞留パケット［ｓ］を選択することもできる。例えば、滞留時間の長いパケットを優先して蓄積部２に蓄積することにより、受信部１1〜１Nのそれぞれのバッファ部５５に滞留するパケットの滞留時間を平均化することができる。
【００４６】
なお、上述したパケット処理装置は、ＣＰＵ等の演算装置やメモリ等の記憶装置を有するコンピュータにより実現することができる。特に、プログラムを演算装置で実行することにより、受信部１，５１における分類部１３、優先入力部１４，５４、優先出力部１６，５６、パケット処理部３、蓄積調停部４の諸機能を実現することが可能である。
【産業上の利用可能性】
【００４７】
本発明は、例えば、インタフェース速度やインタフェース数の増加によって、受信可能なパケットのビットレートの最大値が、受信したパケットデータを記憶領域に書き込むことが可能なビットレートの最大値よりも高くなったパケット処理装置に有用である。したがって、本発明によれば、高速インタフェースを多数有する高性能と、アクセス速度が低いメモリを用いることによる低コスト性とを兼ね備えたパケット処理装置を提供することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の第１の実施の形態に係るパケット処理装置の構成を示すブロック図である。
【図２】本発明の第２の実施の形態に係るパケット処理装置の構成を示すブロック図である。
【図３】本発明の第３の実施の形態に係るパケット処理装置の構成を示すブロック図である。
【図４】従来のパケット処理装置の一構成例を示すブロック図である。
【符号の説明】
【００４９】
１，１1〜１N，５１…受信部、１０…インタフェース部、１１…レイヤ１処理回路、１２…レイヤ２処理回路、１３…分類部、１４，５４…優先入力部、１５，５５…バッファ部、１５1〜１５M…パケット用の記憶領域、１５R…優先制御情報用の記憶領域、１６，５６…優先出力部、２…蓄積部、３…パケット処理部、４…蓄積調停部、５…クロック部、６1〜６M…カウンタ部。
【図１】
2006174233.tif 000003
【図２】
2006174233.tif 000004
【図３】
2006174233.tif 000005
【図４】
2006174233.tif 000006