(57)【要約】【課題】  使用するリコンフィギュアブルデバイスの数を削減し、小型のパケット処理装置を提供する。【解決手段】  パケット処理装置１は、入力バッファ部１３、複数のリコンフィギュアブルデバイス１１，１２及び出力バッファ部１４を直列接続し、リコンフィギュアブルデバイス１１，１２をフィードバック接続して構成される。入力バッファ部１３の処理単位構成手段１３２が、１つのまたは複数のパケット単位に空きエリアと処理結果格納エリアを追加した処理単位のパケットフロー１１２を出力する。リコンフィギュアブルデバイス１１は、処理Ａを実施しリコンフィギュレーションにより処理Ｃを構成する。リコンフィギュアブルデバイス１２は、処理Ｂを実施しリコンフィギュレーションにより処理Ｄを構成する。所定のフィードバック回数分の処理が完了すると、出力バッファ部１４が外部にパケットフロー１１５を出力する。【選択図】  図１
2005130165.tif 000002
【特許請求の範囲】
【請求項１】
リコンフィギュレーションにより処理を構成し、入力したパケットに対して前記処理を実施するリコンフィギュアブルデバイスを複数用いて直列接続し、当該複数のリコンフィギュアブルデバイスのうち最後段のリコンフィギュアブルデバイスの出力を最前段のリコンフィギュアブルデバイスの入力にフィードバック接続して構成し、前記最前段のリコンフィギュアブルデバイスが外部からパケットを入力し、前記直列接続及びフィードバック接続されたリコンフィギュアブルデバイスの各処理を経て、前記最後段のリコンフィギュアブルデバイスがパケットを外部に出力するパケット処理装置であって、
前記各リコンフィギュアブルデバイスは、入力したパケットに対して処理を実施し、当該処理の完了後のリコンフィギュレーションにより新たな処理を構成し、フィードバックされたパケットを入力する毎に、前記新たに構成した処理を実施し、当該処理の完了後のリコンフィギュレーションによりさらに新たな処理を構成する、ことを特徴とするリコンフィギュアブルデバイスを用いたパケット処理装置。
【請求項２】
外部からパケットを入力して蓄積する入力バッファ部と、リコンフィギュレーションにより新たな処理を構成し、パケットに対して前記処理を実施するリコンフィギュアブルデバイスと、前記処理が実施されたパケットを蓄積して外部に出力する出力バッファ部とを備え、直列接続した複数の前記リコンフィギュアブルデバイスの前段に入力バッファ部を、後段に出力バッファ部をそれぞれ配置し、前記複数のリコンフィギュアブルデバイスのうち最後段のリコンフィギュアブルデバイスの出力を、出力バッファ部の入力に接続すると共に最前段のリコンフィギュアブルデバイスの入力にフィードバック接続して構成したパケット処理装置であって、
前記入力バッファ部は、蓄積した１つまたは複数のパケット単位に、各リコンフィギュアブルデバイスがリコンフィギュレーションにより新たな処理を構成するために必要な空きエリアと、リコンフィギュレーションの実施を指示するための制御情報及び前記処理の結果情報を格納するために必要な格納エリアとを追加して処理単位のパケットを構成する構成手段と、前記構成されたパケットを最前段のリコンフィギュアブルデバイスに出力する出力手段とを有し、
前記各リコンフィギュアブルデバイスは、当該リコンフィギュアブルデバイスが最前段のリコンフィギュアブルデバイスである場合に前記入力バッファ部からパケットを入力して処理を実施し、当該リコンフィギュアブルデバイスが最前段の１つ後段から最後段までのリコンフィギュアブルデバイスである場合に前段のリコンフィギュアブルデバイスからパケットを入力して処理を実施し、当該実施した処理の結果情報を前記パケットの格納エリアに格納する処理格納手段と、前記処理の完了後に、パケットの制御情報に基づき空きエリアを用いてリコンフィギュレーションを実施し新たな処理を構成するリコンフィギュレーション手段と、当該リコンフィギュアブルデバイスが最前段から最後段の１つ前段までのリコンフィギュアブルデバイスである場合に後段のリコンフィギュアブルデバイスにパケットを出力し、当該リコンフィギュアブルデバイスが最後段のリコンフィギュアブルデバイスである場合に最前段のリコンフィギュアブルデバイスにフィードバックしてパケットを出力すると共に出力バッファ部にパケットを出力する出力手段とを有し、
前記出力バッファ部は、前記各リコンフィギュアブルデバイスでのフィードバックによる所定の回数の処理が途中のパケットを除去すると共に、処理が全て完了した後のパケットの前記空きエリアの情報及び格納エリアの情報を除去し蓄積する除去手段と、前記蓄積されたパケットを取り出して外部に出力する出力手段を有する、ことを特徴とするリコンフィギュアブルデバイスを用いたパケット処理装置。
【請求項３】
請求項２に記載のパケット処理装置において、
前記入力バッファ部の構成手段は、さらに、構成したパケットのデータ量を、前記直列接続された各リコンフィギュアブルデバイスにおける処理遅延により滞留するデータ量の合計値以下とするようにパケットを再構成し、前記入力バッファ部の出力手段は、再構成されたパケットを最前段のリコンフィギュアブルデバイスに出力する、ことを特徴とするリコンフィギュアブルデバイスを用いたパケット処理装置。
【請求項４】
請求項２または３に記載のパケット処理装置において、
前記入力バッファ部の出力手段がパケットを出力する速度を、各リコンフィギュアブルデバイスにおける転送スループットの劣化がないように、前記外部から入力するパケットの速度に比べてｋ倍の速度とし、前記リコンフィギュアブルデバイスの動作速度を、通常の動作速度に比べてｋ倍の速度とする、ことを特徴とするリコンフィギュアブルデバイスを用いたパケット処理装置。
【請求項５】
請求項４に記載のパケット処理装置において、
前記フィードバック回数をｍとした場合に、前記入力バッファ部の出力手段がパケットを出力する速度を、前記外部から入力するパケットの速度のｍ倍以上の速度とする、ことを特徴とするリコンフィギュアブルデバイスを用いたパケット処理装置。
【請求項６】
請求項４または５に記載のパケット処理装置において、
前記出力バッファ部の出力手段がパケットを出力する速度を、入力バッファ部が外部から入力するパケットの速度と同等の速度とする、ことを特徴とするリコンフィギュアブルデバイスを用いたパケット処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の構成情報の変更が可能なデバイスを用いたパケット処理装置に関する。
【背景技術】
【０００２】
図３に、従来のリコンフィギュアブルデバイスを用いたパケット処理装置のブロック図を示す。本図を参照して、パケット処理装置２は、処理Ａを行うリコンフィギュアブルデバイス２１、処理Ｂを行うリコンフィギュアブルデバイス２２、処理Ｃを行うリコンフィギュアブルデバイス２３、及び処理Ｄを行うリコンフィギュアブルデバイス２４を備えている。このパケット処理装置２は、外部からパケットフロー２１１を入力し処理ＡからＤを経て、パケットフロー２１５を外部に出力する。また、各リコンフィギュアブルデバイス２１〜２４は信号線により接続され、これらの信号線にはパケットフロー２１１〜２１５が流れるようになっている。ここで、リコンフィギュアブルデバイス２１〜２４は、内部に備えた回路の構成情報の変更が可能なデバイスであり、複数の構成情報（回路情報、コンフィギュレーションデータ）を保持している。また、リコンフィギュレーションの実施により、これらの構成情報のうち一の構成情報に切り替えて所望の処理に変更して構成することができ、それぞれ処理Ａ〜Ｄを実施するものとする。
【０００３】
図４に、従来のパケット処理装置２におけるパケットフロー２１１〜２１５のフロー図の例を示す。本図は、図３に示したパケット処理装置２の信号線に流れるパケットフロー２１１〜２１５の時間関係を示している。パケットフロー２１２は、パケットフロー２１１と比べてリコンフィギュアブルデバイス２１の処理Ａによる遅延の時間分遅れたフローになっている。同様に、パケットフロー２１３は、パケットフロー２１２と比べてリコンフィギュアブルデバイス２２の処理Ｂによる遅延の時間分、パケットフロー２１４は、パケットフロー２１３と比べてリコンフィギュアブルデバイス２３の処理Ｃによる遅延の時間分、パケットフロー２１５は、パケットフロー２１４と比べてリコンフィギュアブルデバイス２４の処理Ｄによる遅延の時間分、それぞれ遅れたフローになっている。
【０００４】
次に、図３及び４を用いて、従来のリコンフィギュアブルデバイス２１〜２４を用いたパケット処理装置２の動作について説明する。パケット処理装置２のリコンフィギュアブルデバイス２１は外部からパケットフロー２１１を入力し、処理Ａを実施し、パケットフロー２１２を出力する。リコンフィギュアブルデバイス２２は、リコンフィギュアブルデバイス２１により出力されたパケットフロー２１２を入力し、処理Ｂを実施し、パケットフロー２１３を出力する。また、リコンフィギュアブルデバイス２３は、リコンフィギュアブルデバイス２２により出力されたパケットフロー２１３を入力し、処理Ｃを実施し、パケットフロー２１４を出力する。さらに、リコンフィギュアブルデバイス２４は、リコンフィギュアブルデバイス２３により出力されたパケットフロー２１４を入力し、処理Ｄを実施し、パケットフロー２１５を外部に出力する。ここで、各リコンフィギュアブルデバイス２１〜２４で処理されるパケットフロー２１１〜２１５は、リコンフィギュアブルデバイス２１〜２４により連続的に信号線を介して入出力され、パイプライン処理されるものとする。
【０００５】
このように、パケット処理装置２は、入力したパケットフロー２１１に対して、例えば、パケットの分類、パケットの廃棄、マーキング、ヘッダ変換等の処理Ａ〜Ｄによるパケット処理を実施し、パケットフロー２１５を出力する。また、上述した従来のパケット処理装置２におけるリコンフィギュアブルデバイス２１〜２４のリコンフィギュレーションは、通常、処理Ａ〜Ｄの変更や別の処理の追加等を行う際に実施されるものである。
【０００６】
ここで、上述したような複数のリコンフィギュアブルデバイスをシリアルに接続した構成に関する技術には、例えば、リコンフィギュアブルデバイスの回路規模を縮小し効率的な再構成を実現するものが開示されている（特許文献１参照。）。また、本特許出願時に未公開の先行出願には、パケットバッファ量を少なくすると共に転送スループットの劣化を回避し、パケットの紛失等がないリコンフィギュレーションを実施する技術（特願２００３−２９３１２０号）や、拡張性及び切り替えの高速性を実現するＮ＋１冗長構成デバイス切り替えの技術（特願２００３−１７３７２１号）が記載されている。
【０００７】
【特許文献１】特開２００１−１６０９４号公報（段落〔００２１〕〔００２２〕）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のリコンフィギュアブルデバイスを用いたパケット処理装置では、リコンフィギュアブルデバイスの回路規模には一定の制限があることから、必要なパケット処理に対して複数のリコンフィギュアブルデバイスを構成する必要があり、パケット処理装置の規模が大きくなるという問題があった。
【０００９】
そこで、本発明は上記の課題を解決するためになされたものであり、その目的は、使用するリコンフィギュアブルデバイスの数を削減し、小型のパケット処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明は、リコンフィギュレーションにより処理を構成し、入力したパケットに対して前記処理を実施するリコンフィギュアブルデバイスを複数用いて直列接続し、当該複数のリコンフィギュアブルデバイスのうち最後段のリコンフィギュアブルデバイスの出力を最前段のリコンフィギュアブルデバイスの入力にフィードバック接続して構成し、前記最前段のリコンフィギュアブルデバイスが外部からパケットを入力し、前記直列接続及びフィードバック接続されたリコンフィギュアブルデバイスの各処理を経て、前記最後段のリコンフィギュアブルデバイスがパケットを外部に出力するパケット処理装置であって、前記各リコンフィギュアブルデバイスは、入力したパケットに対して処理を実施し、当該処理の完了後のリコンフィギュレーションにより新たな処理を構成し、フィードバックされたパケットを入力する毎に、前記新たに構成した処理を実施し、当該処理の完了後のリコンフィギュレーションによりさらに新たな処理を構成することを特徴とする。
【００１１】
また、本発明は、外部からパケットを入力して蓄積する入力バッファ部と、リコンフィギュレーションにより新たな処理を構成し、パケットに対して前記処理を実施するリコンフィギュアブルデバイスと、前記処理が実施されたパケットを蓄積して外部に出力する出力バッファ部とを備え、直列接続した複数の前記リコンフィギュアブルデバイスの前段に入力バッファ部を、後段に出力バッファ部をそれぞれ配置し、前記複数のリコンフィギュアブルデバイスのうち最後段のリコンフィギュアブルデバイスの出力を、出力バッファ部の入力に接続すると共に最前段のリコンフィギュアブルデバイスの入力にフィードバック接続して構成したパケット処理装置であって、前記入力バッファ部は、蓄積した１つまたは複数のパケット単位に、各リコンフィギュアブルデバイスがリコンフィギュレーションにより新たな処理を構成するために必要な空きエリアと、リコンフィギュレーションの実施を指示するための制御情報及び前記処理の結果情報を格納するために必要な格納エリアとを追加して処理単位のパケットを構成する構成手段と、前記構成されたパケットを最前段のリコンフィギュアブルデバイスに出力する出力手段とを有し、前記各リコンフィギュアブルデバイスは、当該リコンフィギュアブルデバイスが最前段のリコンフィギュアブルデバイスである場合に前記入力バッファ部からパケットを入力して処理を実施し、当該リコンフィギュアブルデバイスが最前段の１つ後段から最後段までのリコンフィギュアブルデバイスである場合に前段のリコンフィギュアブルデバイスからパケットを入力して処理を実施し、当該実施した処理の結果情報を前記パケットの格納エリアに格納する処理格納手段と、前記処理の完了後に、パケットの制御情報に基づき空きエリアを用いてリコンフィギュレーションを実施し新たな処理を構成するリコンフィギュレーション手段と、当該リコンフィギュアブルデバイスが最前段から最後段の１つ前段までのリコンフィギュアブルデバイスである場合に後段のリコンフィギュアブルデバイスにパケットを出力し、当該リコンフィギュアブルデバイスが最後段のリコンフィギュアブルデバイスである場合に最前段のリコンフィギュアブルデバイスにフィードバックしてパケットを出力すると共に出力バッファ部にパケットを出力する出力手段とを有し、前記出力バッファ部は、前記各リコンフィギュアブルデバイスでのフィードバックによる所定の回数の処理が途中のパケットを除去すると共に、処理が全て完了した後のパケットの前記空きエリアの情報及び格納エリアの情報を除去し蓄積する除去手段と、前記蓄積されたパケットを取り出して外部に出力する出力手段を有することを特徴とする。
【００１２】
また、本発明は、前記入力バッファ部の構成手段は、さらに、構成したパケットのデータ量を、前記直列接続された各リコンフィギュアブルデバイスにおける処理遅延により滞留するデータ量の合計値以下とするようにパケットを再構成し、前記入力バッファ部の出力手段は、再構成されたパケットを最前段のリコンフィギュアブルデバイスに出力することを特徴とする。
【００１３】
また、本発明は、前記入力バッファ部の出力手段がパケットを出力する速度を、各リコンフィギュアブルデバイスにおける転送スループットの劣化がないように、前記外部から入力するパケットの速度に比べてｋ倍の速度とし、前記リコンフィギュアブルデバイスの動作速度を、通常の動作速度に比べてｋ倍の速度とすることを特徴とする。
【００１４】
また、本発明は、前記フィードバック回数をｍとした場合に、前記入力バッファ部の出力手段がパケットを出力する速度を、前記外部から入力するパケットの速度のｍ倍以上の速度とすることを特徴とする。
【００１５】
また、本発明は、前記出力バッファ部の出力手段がパケットを出力する速度を、入力バッファ部が外部から入力するパケットの速度と同等の速度とすることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、直列接続した複数のリコンフィギュアブルデバイスをフィードバック接続し、リコンフィギュアブルデバイスに、フィードバックの回数に応じて１つのパケットに対して複数種類の処理を実施させると共にリコンフィギュレーションを実施させるようにした。これにより、リコンフィギュアブルデバイスの段数を仮想的に増加したことになるため、使用するリコンフィギュアブルデバイスの数を削減し、小型のパケット処理装置を実現することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１は、本発明の実施の形態に係るリコンフィギュアブルデバイスを用いたパケット処理装置を説明するブロック図である。本図を参照して、パケット処理装置１は、パケット蓄積バッファ１３１と処理単位構成手段１３２とを有する入力バッファ部１３、リコンフィギュレーションにより処理を構成し、処理Ａまたは処理Ｃのいずれかの処理を実施するリコンフィギュアブルデバイス１１、リコンフィギュレーションにより処理を構成し、処理Ｂまたは処理Ｄのいずれかの処理を実施するリコンフィギュアブルデバイス１２、及び情報除去手段１４１とパケット蓄積バッファ１４２とを有する出力バッファ部１４を備えている。入力バッファ部１３のパケット蓄積バッファ１３１は、外部から入力したパケットフロー１１１を蓄積する機能を有する。処理単位構成手段１３２は、パケット蓄積バッファ１３１に蓄積されたパケットを１つまたは複数のパケット単位に取り出し、当該パケットに制御情報等の所定の情報を追加挿入して処理単位のパケットを構成する機能を有する。尚、処理単位構成手段１３２の詳細については後述する。また、出力バッファ部１４の情報除去手段１４１は、各リコンフィギュアブルデバイス１１，１２でのフィードバックによる所定の回数の処理が途中のパケットフロー１１４を除去すると共に、処理が全て完了した後のパケットフロー１１４の空きエリアの情報及び格納エリアの情報を除去し、パケット蓄積バッファ１４２に格納する機能を有する。パケット蓄積バッファ１４２は、前記空きエリアの情報等を除去したパケットを蓄積する。
【００１８】
また、リコンフィギュアブルデバイス１１は、その内部に処理Ａ及び処理Ｃに対応するコンフィギュレーションデータを保持し、リコンフィギュレーションによりそれぞれ短時間に処理Ａまたは処理Ｃに変更することができる。同様に、リコンフィギュアブルデバイス１２も、その内部に処理Ｂ及び処理Ｄに対応するコンフィギュレーションデータを保持し、リコンフィギュレーションによりそれぞれ短時間に処理Ｂまたは処理Ｄに変更することができる。すなわち、リコンフィギュアブルデバイス１１は、保持したコンフィグレーションデータに基づいてリコンフィグレーションを実施し、処理Ａから処理Ｃにまたは処理Ｃから処理Ａにに変更する。同様に、リコンフィギュアブルデバイス１２は、保持したコンフィグレーションデータに基づいてリコンフィギュレーションを実施し、処理Ｂから処理Ｄに変更または処理Ｄから処理Ｂに変更する。
【００１９】
また、各リコンフィギュアブルデバイス１１，１２、入力バッファ部１３及び出力バッファ部１４は、信号線により接続され、これらの信号線にはパケットフロー１１１〜１１６が流れるようになっている。ここで、パケットフロー１１６は、リコンフィギュアブルデバイス１２の出力からリコンフィギュアブルデバイス１１の入力にフィードバックして、リコンフィギュアブルデバイス１１に再入力する信号線（フィードバック接続）に流れるパケットである。
【００２０】
図２は、パケット処理装置１におけるパケットフロー１１１，１１２，１１４，１１５を説明するフロー図の例である。本図は、図１に示したパケット処理装置１の信号線に流れるパケットフロー１１１，１１２，１１４，１１５の時間関係を示しており、全体の処理の流れを説明する図である。図中、パケットフロー１１１は、複数の任意長のパケットを複数含むパケットグループ＃１〜＃３等から成るパケットであり、外部から入力バッファ部１３に入力される。パケットフロー１１２は、入力バッファ部１３の処理単位構成手段１３２が構成するパケットである。ここで、「Ｒ」は、リコンフィギュレーションを実施するタイミングを各リコンフィギュアブルデバイス１１，１２に指示するための制御情報とリコンフィギュアブルデバイス１１，１２における処理の結果情報とが格納され、次の処理を行うリコンフィギュアブルデバイス１１，１２に伝えるための処理結果格納エリアである。また、「空き」は、各リコンフィギュアブルデバイス１１，１２がリコンフィギュレーションを実施する際に当該デバイス内にパケットが存在しない状態にするために必要なデータ量の最大値が確保されるエリア（図２に示すｄｍａｘ）である。パケットフロー１１４は、パケットフロー１１６としてリコンフィギュアブルデバイス１１にフィードバック回数分再入力される。また、パケットフロー１１４は、フィードバック回数分の処理が途中の場合は、出力バッファ部１４の情報除去手段１４１により除去され、フィードバック回数分の処理が完了した場合は、当該パケットフロー１１４から空きエリアの情報及び格納エリアの情報が除去されパケット蓄積バッファ１４２に格納される。パケットフロー１１５は、パケット蓄積バッファ１４２から取り出して構成したパケットグループ＃１〜＃３等から成るパケットであり、外部に出力される。
【００２１】
次に、図１及び２を用いて、本発明の実施の形態に係るリコンフィギュアブルデバイス１１，１２を用いたパケット処理装置１の動作について詳細に説明する。まず、パケット処理装置１の入力バッファ部１３は、パケットグループ＃１〜＃３等から成るパケットフロー１１１を外部から入力し、パケット蓄積バッファ１３１に蓄積する。次に、処理単位構成手段１３２は、パケット蓄積バッファ１３１からパケットグループ＃１のパケットを取り出す。そして、処理単位構成手段１３２は、当該パケットに対して、上述した処理結果格納エリア及び空きエリアを確保して追加挿入する。このように、処理単位構成手段１３２は、パケットグループ＃１のパケット、処理結果格納エリア（Ｒ）及び空きエリアから成る処理単位のパケットを構成し、さらに、その合計のデータ量が、直列接続された各リコンフィギュアブルデバイス１１，１２のパイプライン処理の処理遅延により滞留するデータ量の合計値以下の量（ｄ）になるように生成（再構成）する。そして、入力バッファ部１３は、処理単位構成手段１３２により生成したパケットを、パケットフロー１１１の入力速度に比べてｋ倍の速度で、パケットフロー１１２として出力する。ｋの値の詳細については後述する。ここで、パケットグループの大きさは、ｄからｄｍａｘとＲを除いた値であり、任意のパケット長の複数のパケットから構成される。
【００２２】
リコンフィギュアブルデバイス１１は、パケットグループ＃１のパケットフロー１１２を入力し、ｋ倍速で処理Ａを実施し、その処理結果をパケットフロー１１２の処理結果格納エリアに格納し、パケットフロー１１３を出力する。また、リコンフィギュアブルデバイス１１は、この処理Ａの実施完了後に、パケットグループ＃１に追加された処理結果格納エリアの制御情報に基づき空きエリアを用いてリコンフィギュレーションを実施し、処理Ａを処理Ｃに変更して処理Ｃを新たに構成する。次に、リコンフィギュアブルデバイス１２は、リコンフィギュアブルデバイス１１により出力されたパケットグループ＃１のパケットフロー１１３を入力し、ｋ倍速で処理Ｂを実施し、その処理結果をパケットフロー１１３の処理結果格納エリアに格納し、パケットフロー１１４を出力する。また、リコンフィギュアブルデバイス１２は、この処理Ｂの実施完了後に、パケットグループ＃１に追加された処理結果格納エリアの制御情報に基づき空きエリアを用いてリコンフィギュレーションを実施し、処理Ｂを処理Ｄに変更して処理Ｄを新たに構成する。
【００２３】
次に、リコンフィギュアブルデバイス１１は、リコンフィギュアブルデバイス１２により出力されたパケットグループ＃１のパケットフロー１１４を、フィードバック接続を経由してパケットフロー１１６として入力する。リコンフィギュアブルデバイス１１は、ｋ倍速で処理Ｃを実施し、その処理結果をパケットフロー１１６の処理結果格納エリアに格納し、パケットフロー１１３を出力する。また、リコンフィギュアブルデバイス１１は、この処理Ｃの実施完了後に、パケットグループ＃１に追加された処理結果格納エリアの制御情報に基づき空きエリアを用いてリコンフィギュレーションを実施し、処理Ｃを処理Ａに変更して処理Ａを新たに構成する。次に、リコンフィギュアブルデバイス１２は、リコンフィギュアブルデバイス１１により出力されたパケットグループ＃１のパケットフロー１１３を入力し、ｋ倍速で処理Ｄを実施し、その処理結果をパケットフロー１１３の処理結果格納エリアに格納すると共に、フィードバックにより所定の回数（２回）が完了したことを示す情報も処理結果格納エリアに格納し、パケットフロー１１４を出力する。また、リコンフィギュアブルデバイス１２は、この処理Ｄの実施完了後に、パケットグループ＃１に追加された処理結果格納エリアの制御情報に基づき空きエリアを用いてリコンフィギュレーションを実施し、処理Ｄを処理Ｂに変更して処理Ｂを新たに構成する。ここで、リコンフィギュアブルデバイス１１，１２は、通常使用しているクロックよりもｋ倍の速度のクロックを使用して処理Ａ〜Ｄを実施する。
【００２４】
出力バッファ部１４は、リコンフィギュアブルデバイス１２からパケットフロー１１４を入力する。情報除去手段１４１は、パケットフロー１１４の処理結果格納エリアにリコンフィギュアブルデバイス１１，１２をそれぞれ２回通過し処理Ａ〜Ｄが実施されたことを示す情報が格納されていない場合には、パケットフロー１１４を除去する。また、情報除去手段は、前記情報が格納されていた場合には、パケットフロー１１４から空きエリアの情報及び処理結果格納エリアの情報を除去し、除去後のパケットをパケット蓄積バッファ１４２に格納する。出力バッファ部１４は、パケット蓄積バッファ１４２からパケットを取り出し、パケットフロー１１１の入力速度と同一の速度に変換し、パケットフロー１１５を外部に出力する。パケットグループ＃２，＃３についても同様に動作する。以上の動作は、外部から入力されたパケットフロー１１１に対して連続的に実行される。このように、パケット処理装置１は、２つのリコンフィギュアブルデバイス１１，１２により外部から入力したパケットフロー１１１に対して４つの処理Ａ〜Ｄを実施した結果、パケットの分類、パケットの廃棄、マーキング、ヘッダ変換等がなされたパケットフロー１１５を外部に出力する。このようなパケット処理装置１の構成は、例えば端末装置やルータの回線インターフェース部におけるパケット処理部に用いられる。
【００２５】
尚、入力バッファ部１３がパケットフロー１１２をｋ倍の速度で出力する場合のｋの値は、フィードバック回数ｍと転送スループットの劣化分とにより決定される。具体的には、通常、フィードバック接続によりパケット処理装置１の転送スループットが１／ｍに劣化するから、その転送スループットが劣化しないようにするには、ｋ＞ｍとする必要がある。さらに詳細には、ｋの値は、パケットグループ長、挿入追加する空きエリアのデータ量及び制御情報のデータ量の比率により決定される。具体的には、図２において、パケットグループ＃１のデータ量をｐ、処理結果格納エリア（Ｒ）のデータ量をｒとすると、ｋ＞（ｐ＋ｒ＋ｄｍａｘ）×ｍ／ｐとする必要がある。
【００２６】
以上のように、本発明の実施の形態に係るパケット処理装置１によれば、各リコンフィギュアブルデバイス１１，１２は、処理を実施すると共にその後にリコンフィギュレーションを実施して新たな処理を構成し、リコンフィギュアブルデバイス１１，１２の出力側から入力側へのフィードバックループを用いてこれらの動作を繰り返すようにした。これにより、２つのリコンフィギュアブルデバイス１１，１２が１つのパケットに対して４つの処理を実施でき、従来の構成に比べてリコンフィギュアブルデバイスを削減することが可能になる。その結果、パケット処理装置の小型化に有利になる。例えば、図１の例では、４つ（ｎ、すなわち２×ｍ）の処理を実施する場合、フィードバック回数を２（ｍ）として２つ（ｎ／ｍ）のリコンフィギュアブルデバイス１１，１２を必要とするが、図３に示した従来の技術では、４つ（ｎ）のリコンフィギュアブルデバイスを必要とする。従って、本発明の実施の形態に係るパケット処理装置１では、リコンフィギュアブルデバイスの数を従来に比べて１／２（ｎ／ｍ）に削減することが可能になる。
【００２７】
また、本発明の実施の形態に係るパケット処理装置１によれば、入力バッファ部１３の処理単位構成手段１３２は、パケットグループ、処理結果格納エリア及び空きエリアから成る処理単位のパケットの合計のデータ量を、各リコンフィギュアブルデバイス１１，１２の処理遅延により滞留するデータの合計値以下になるように生成するようにした。これにより、入力バッファ部１３が出力するパケットグループのパケットフロー１１２とフィードバック接続によるそのパケットグループのパケットフロー１１６とがリコンフィギュアブルデバイス１１に入力される際の衝突を回避することができる。従って、フィードバック接続による複数の処理を確実に実施することが可能になる。
【００２８】
また、本発明の実施の形態に係るパケット処理装置１によれば、入力バッファ部１３は、パケットフロー１１１の入力速度よりもｋ倍の速度でパケットフロー１１２を出力するようにした。また、各リコンフィギュアブルデバイス１１，１２は、通常よりもｋ倍の速度で処理Ａ〜Ｄを実施するようにした。これにより、フィードバック接続及びパケットの処理結果格納エリア並びに空きエリアによるパケット処理装置１における遅延が相殺されるから、パケット処理装置１における転送スループットの劣化を回避することが可能になる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態に係るリコンフィギュアブルデバイスを用いたパケット処理装置を説明するブロック図である。
【図２】図１に示すパケット処理装置の内部におけるパケットを説明するフロー図である。
【図３】従来のリコンフィギュアブルデバイスを用いたパケット処理装置を説明するブロック図である。
【図４】図３に示すパケット処理装置の内部におけるパケットを説明するフロー図である。
【符号の説明】
【００３０】
１，２  パケット処理装置
１１，１２，２１〜２４  リコンフィギュアブルデバイス
１３  入力バッファ部
１４  出力バッファ部
１３１，１４２  パケット蓄積バッファ
１３２  処理単位構成手段
１４１  情報除去手段
１１１〜１１６，２１１〜２１５  パケットフロー
【図１】
2005130165.tif 000003
【図２】
2005130165.tif 000004
【図３】
2005130165.tif 000005
【図４】
2005130165.tif 000006