(57)【要約】【課題】データベース等のアプリケーションレイヤのサーバサービスを高性能で実現する、小型で省電力な動的再構成プロセッサ搭載装置を提供する。【解決手段】パケット毎再構成を行う動的再構成プロセッサ搭載装置の動的再構成プロセッサ１０２に、複数のＰＥマトリックス１７８、１７９を設置する。また、パケットＩ／Ｏ １００に、ＰＥマトリックス１７８が第一のパケットを処理しているときに、どっちのＰＥマトリックスで後続パケットの処理を行うかを決定するスケジューリング部１４２を設ける。スケジューリング部１４２は、第二のパケットが第一のパケットと同じ構成情報に基づく処理を必要とし、第三のパケットが第一のパケットと異なる構成情報に基づく処理を必要とする場合に、第一のパケットの処理が終了するまで第二のパケットを待機させて、第三のパケットに第二のＰＥマトリックスを優先的に使用させる。【選択図】図１
2009021774.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して送受信されるパケットに処理を行う情報処理装置であって、
前記パケットを送受信している端末間の通信状態を格納する通信状態テーブルと、
受信した前記パケットの内部情報と、前記パケットの前記内部情報に基づき前記通信状態テーブルから読み出した前記通信状態との組合せに応じて、前記通信状態の変更を行う通信状態更新部と、
機能と配線が可変である演算器群を備えた第一と第二の演算マトリックスと前記演算マトリックスの構成情報を複数格納する構成情報蓄積バッファとを含み、前記パケットと変更済みの前記通信状態を受信し、変更済みの前記通信状態に基づき、前記構成情報蓄積バッファから前記構成情報を取得し、取得した前記構成情報に基づいて前記演算マトリックスの前記演算器群の機能と配線を再構成する動的再構成処理部と、
前記第一の演算マトリックスが第一のパケットを演算処理しているときに、前記第一と第二の演算マトリックスのどちらで後続の第二のパケットの演算処理を行うかを決定するスケジューリング部と、を有する
情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
前記スケジューリング部は、前記第二のパケットが前記第一のパケットと同じ前記構成情報に基づく処理を必要とし、後続の第三のパケットが前記第一のパケットと異なる前記構成情報に基づく処理を必要とする場合に、
前記第一の演算マトリックスにおける前記第一のパケットの処理が終了するまで前記第二のパケットを待機させ、前記第三のパケットに前記第二の演算マトリックスを優先的に使用させる
情報処理装置。
【請求項３】
請求項１記載の情報処理装置であって、
処理中の前記パケットのパケットヘッダを記録する処理中通信テーブルと、
処理を開始した前記パケットのパケットヘッダを前記処理中通信テーブルに記録し、処理を終了した前記パケットのパケットヘッダを前記処理中通信テーブルから削除する処理中通信記録部と、
前記処理中通信テーブルに記録された前記パケットヘッダと、前記ネットワークから入力される前記パケットのパケットヘッダを比較し、一致しない場合に、入力された前記パケットの処理を開始する通信重複判定部と、を更に有する
情報処理装置。
【請求項４】
請求項１記載の情報処理装置であって、
前記演算マトリックスにおいて演算処理中または演算待ち中の前記パケットの通信状態を記録する処理中通信状態テーブルと、
前記通信状態更新部が変更した前記通信状態を一時的に蓄積する第一と第二の通信状態バッファと、
変更済みの前記通信状態に対応する前記パケットを一時的に蓄積する第一と第二のパケットバッファと、を更に有し、
前記スケジューリング部は、変更済みの前記通信状態と、前記処理中通信状態テーブルに記録した前記通信状態とを比較することで、変更済みの前記通信状態と、対応する前記パケットを蓄積する、前記第一と第二の通信状態バッファおよび前記第一と第二のパケットバッファを決定する
情報処理装置。
【請求項５】
請求項１記載の情報処理装置であって、
前記パケットを一時的に蓄積するパケットバッファと、
変更済みの前記通信状態を一時的に蓄積する通信状態バッファと、
前記パケットバッファと前記通信状態バッファから、前記パケットと変更済みの前記通信状態を読み出して前記演算マトリックスに転送するデータ読出し部を更に有し、
前記データ読出し部は、前記演算マトリックスにおいて演算処理中または演算待ち中の前記パケットの数と、前記通信状態バッファに蓄積された前記通信状態の数とに基づき、前記通信状態バッファから読み出す前記通信状態の数を決定する
情報処理装置。
【請求項６】
請求項１記載の情報処理装置であって、
前記動的再構成処理部に接続され、前記演算マトリックスの前記構成情報を複数格納する記憶部を更に有し、
前記動的再構成処理部は、前記記憶部から前記構成情報蓄積バッファに前記構成情報を転送する演算部を更に含み、
前記演算部は、
前記演算マトリックスが、第一の通信状態に基づく再構成後、前記第一のパケットを演算処理している間に、前記第二のパケットの演算処理に必要な前記構成情報を、第二の通信状態に基づき前記記憶部から前記構成情報蓄積バッファに転送する
情報処理装置。
【請求項７】
ネットワークを介して端末間で送受信されるパケットに処理を行う情報処理装置であって、
前記パケットを送受信している前記端末間の通信状態を格納する通信状態テーブルと、受信した前記パケットの内部情報と、前記パケットの前記内部情報に基づき前記通信状態テーブルから読み出した前記通信状態との組合せに応じ、前記通信状態の変更を行う通信状態更新部と、を含むパケット入出力部と、
構成情報を複数格納する構成情報蓄積バッファと、機能と配線が可変である演算器群をそれぞれ備え、前記パケットと変更済みの前記通信状態を受信し、変更済みの前記通信状態に基づき前記構成情報蓄積バッファから前記構成情報を取得し、取得した前記構成情報に基づいて前記演算器群の機能と配線を再構成する演算マトリックス部と、前記構成情報蓄積バッファに前記構成情報を転送する演算部と、を含み、前記パケットに変更済みの前記通信状態に応じた処理を行う動的再構成処理部と、
前記構成情報を複数格納する記憶部と、を有し、
前記動的再構成処理部の前記演算部は、前記演算マトリックス部が、第一の通信状態に基づく再構成後、第一のパケットを処理している間に、後続する第二のパケットの処理に必要な、第二の通信状態に基づく前記構成情報を、前記記憶部から前記構成情報蓄積バッファに転送する
情報処理装置。
【請求項８】
請求項７記載の情報処理装置であって、
前記動的再構成処理部の前記演算マトリックス部は、
前記構成情報に基づいて前記演算器群の機能と配線を再構成する第一と第二の演算マトリックスから構成されると共に、
前記パケット入出力部は、
前記第一の演算マトリックスが前記第一のパケットを処理しているときに、前記第一と第二の演算マトリックスのどちらで前記第二のパケットの処理を行うかを決定するスケジューリング部を更に含む
情報処理装置。
【請求項９】
請求項７記載の情報処理装置であって、
前記パケット入出力部は、
前記パケットを一時的に蓄積するパケットバッファと、
変更済みの前記通信状態を一時的に蓄積する通信状態バッファと、
前記パケットバッファと前記通信状態バッファから、前記パケットと変更済みの前記通信状態を一つ乃至複数読み出して前記演算マトリックス部に転送するデータ読出し部と、を更に含み、
前記データ読出し部は、前記演算マトリックス部において演算処理中または演算待ち中の前記パケットの数と、前記通信状態バッファに蓄積された前記通信状態の数とに基づき、前記通信状態バッファから読み出す前記通信状態の数を決定する
情報処理装置。
【請求項１０】
請求項７記載の情報処理装置であって、
前記パケット入出力部は、
処理中の前記パケットのパケットヘッダを記録する処理中通信テーブルと、
処理を開始した前記パケットのパケットヘッダを前記処理中通信テーブルに記録し、処理を終了した前記パケットのパケットヘッダを前記処理中通信テーブルから削除する処理中通信記録部と、
前記処理中通信テーブルに記録された前記パケットヘッダと、前記ネットワークから入力される前記パケットのパケットヘッダを比較し、一致しない場合のみ入力された前記パケットの処理を開始する通信重複判定部と、を更に含む
情報処理装置。
【請求項１１】
請求項７記載の情報処理装置であって、
前記パケット入出力部は、
前記ネットワークから入力される前記パケットの分類を行う分類器と、
前記分類器が分類した前記パケットを蓄積する複数のパケットバッファと、
複数の前記パケットバッファから、分類済みの前記パケットを読み出すパケット読出し部と、を更に含む
情報処理装置。
【請求項１２】
請求項８記載の情報処理装置であって、
前記スケジューリング部は、
前記第二のパケットが前記第一のパケットと同じ前記構成情報に基づく処理を必要とし、後続する第三のパケットが前記第一のパケットと異なる前記構成情報に基づく処理を必要とする場合、
前記第一の演算マトリックスにおける前記第一のパケットの処理が終了するまで前記第二のパケットを待機させ、前記第三のパケットに前記第二の演算マトリックスを優先的に使用させる
情報処理装置。
【請求項１３】
請求項８記載の情報処理装置であって、
前記パケット入出力部は、
前記第一と第二の演算マトリックスにおいて演算処理中または演算待ち中の前記パケットの通信状態を記録する処理中通信状態テーブルと、
前記通信状態更新部が変更した前記通信状態を一時的に蓄積する第一と第二の通信状態バッファと、
変更済みの前記通信状態に対応する前記パケットを一時的に蓄積する第一と第二のパケットバッファと、を更に含み、
前記スケジューリング部は、変更済みの前記通信状態と、前記処理中通信状態テーブルに記録した前記通信状態とを比較することで、変更済みの前記通信状態と対応する前記パケットを蓄積する、前記第一と第二の通信状態バッファおよび前記第一と第二のパケットバッファを決定する
情報処理装置。
【請求項１４】
請求項１１記載の情報処理装置であって、
前記パケット読出し部は、
過去に読み出した時刻が最も古い前記パケットバッファから優先的に、分類済みの前記パケットを読み出し、前記通信状態更新部における前記通信状態の変更を開始する
情報処理装置。
【請求項１５】
請求項１１記載の情報処理装置であって、
前記パケット入出力部は、
前記分類器において処理が不要と判定された前記パケットと、前記演算マトリックス部の演算処理によって新たに生成されたパケットと、を集約して出力する集約器を更に含む
情報処理装置。
【請求項１６】
請求項１３記載の情報処理装置であって、
前記パケット入出力部は、
前記第一と第二のパケットバッファと前記第一と第二の通信状態バッファから、前記パケットと変更済みの前記通信状態を読み出して前記第一と第二の演算マトリックスにそれぞれ転送する第一と第二のデータ読出し部を更に含み、
前記第一と第二のデータ読出し部は、前記第一と第二の演算マトリックスにおいて演算処理中または演算待ち中の前記パケットの数と、前記第一と第二の通信状態バッファに蓄積された前記通信状態の数とに基づき、前記第一と第二の通信状態バッファから読み出す前記通信状態の数を決定する
情報処理装置。
【請求項１７】
サーバと、ネットワークを介して前記サーバにデータを要求する端末と、前記サーバと前記端末間で転送されるパケットを受信し、前記パケットを送受信する前記サーバと前記端末間の通信状態に応じた処理を実行する情報処理装置と、からなる情報処理システムであって、
前記情報処理装置は、
前記サーバと前記端末間の前記通信状態を格納する通信状態テーブルと、
受信した前記パケットの内部情報と、前記パケットの前記内部情報に基づき前記通信状態テーブルから読み出した前記通信状態との組合せに応じ、前記通信状態の変更を行う通信状態更新部と、
機能と配線が可変である演算器群を備えた第一と第二の演算マトリックスと前記演算マトリックスの構成情報を複数格納する構成情報蓄積バッファとを有し、前記パケットと変更済みの前記通信状態を受信し、変更済みの前記通信状態に基づき、前記構成情報蓄積バッファから前記構成情報を取得し、取得した前記構成情報に基づき前記演算マトリックスの前記演算器群の機能と配線を再構成する動的再構成処理部と、
前記第一の演算マトリックスが第一の前記パケットを処理しているときに、後続する第二のパケットの処理を前記第一と第二の演算マトリックスのどちらで行うかを決定するスケジューリング部と、を有し、
前記動的再構成処理部において、前記パケットに変更済みの前記通信状態に対応する演算処理を実行し、その処理結果を前記ネットワーク経由で前記サーバ、又は前記端末に送信する
情報処理システム。
【請求項１８】
請求項１７記載の情報処理システムであって、
前記通信状態テーブルが格納する前記通信状態は、
前記サーバと前記端末間のトランスポートレイヤプロトコルの遷移／輻輳状態と、アプリケーションレイヤプロトコルの種類と、前記アプリケーションレイヤプロトコルが実行中のコマンド及び前記コマンドの引数の種類と、前記コマンドの実行の進捗状態と、を含む
情報処理システム。
【請求項１９】
請求項１７記載の情報処理システムであって、
前記情報処理装置は、
前記構成情報を複数格納した記憶部を更に有し、
前記動的再構成処理部は、前記記憶部から前記構成情報蓄積バッファに前記構成情報を転送する演算部を更に含み、前記演算部は、前記演算マトリックスが、第一の前記パケットを演算処理している間に、前記第二のパケットの演算に必要な前記構成情報を、前記記憶部から前記構成情報蓄積バッファに転送する
情報処理システム。
【請求項２０】
請求項１７記載の情報処理システムであって、
前記情報処理装置の前記スケジューリング部は、
前記第二のパケットが前記第一のパケットと同じ前記構成情報に基づく処理を必要とし、後続する第三のパケットが前記第一のパケットと異なる前記構成情報に基づく演算処理を必要とする場合に、
前記第一の演算マトリックスにおける前記第一のパケットの演算処理が終了するまで前記第二のパケットを待機させ、前記第二の演算マトリックスに前記第三のパケットの演算処理を行わせる
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続され、ネットワークで転送されるパケットを受信し、パケットを送受信している端末やホスト間の通信状態に応じて異なる処理を行い、装置内部に蓄積したデータの変更や、新たなパケットの生成および外部送信を行うことで、データベース等のサーバサービスを提供する技術に関する。
【背景技術】
【０００２】
放送通信融合とユビキタスコンピューティングの並行進展により、バックエンド／アクセス双方のユーザから、サービスの多様化と演算性能の向上が求められている。そのため、ユビキタスデバイス（Radio Frequency Identification（ＲＦＩＤ）／センサ／カメラ）を用いたサーバサービス（データベース（Data Base: ＤＢ）クエリトランザクション、対異常通信防御等）を、エッジネットワークに分散配置したアプライアンスで実現し、サーバサービスの演算性能と応答速度の向上を行う必要がでてきた。
【０００３】
ここで言うアプライアンスは、対異常通信防御とデータベースの機能を実現する。
【０００４】
対異常通信防御では、攻撃者からの異常パケットを探知・排除する。
【０００５】
データベースでは、分散配置された多数のＲＦＩＤ／据置センサ／映像センサから大量に受信したデータ更新パケットのＳＱＬ解析と、キャッシュへのデータ集約／アップロードと、キャッシュデータのサーバへの自動アップロードを行う。また、携帯端末等のクライアントからのデータ要求パケットのＳＱＬ解析と、キャッシュからのデータのＸＭＬ翻訳／ダウンロードと、サーバデータのキャッシュへの自動ダウンロードを行う。
【０００６】
センサ／ＲＦＩＤの利用方法は、ユーザ毎に異なる。また、通信パケットの内容は、センサ／ＲＦＩＤの種類、使用アプリケーション、設置場所や、昼夜等の時間に応じて異なる。更に、パケットを送受信する各端末間の通信状態は、ＴＣＰの輻輳/遷移状態，使用中のL(Layer) 7プロトコル，実行中のコマンド，コマンドの実行状態に応じて異なる。
【０００７】
従って、本アプライアンスに求められる機能は、ユーザ／アプリケーション／場所／時間／実行状態毎に異なる。また、上記機能を搭載したアプライアンスは、小型サーバまたは通信装置内蔵ボードとして、演算処理の効率化のため、エッジネットワークに分散配置する必要がある。そのため、本アプライアンス向けのプロセッサには、小型省電力にてパケットを高速演算する性能と共に、各端末間の通信状態に基づき、パケット毎に多彩な処理を実行できる柔軟性が要求される。
【０００８】
この小型省電力での高速演算性能と柔軟性を両立するに当たり、従来の汎用プロセッサやApplication Specific Integrated Circuit (ＡＳＩＣ)は、小型省電力での高速演算性能と柔軟性のいずれか一方を欠くという問題があった。
【０００９】
その一方、動的再構成プロセッサ(Dynamic Reconfigurable Processor: ＤＲＰ)は、多数の演算エレメント(Processing Element: ＰＥ)をセレクタにより接続した演算マトリックスを備え、低い動作周波数でも、処理の並列化により、省電力にて高い演算性能を実現する。更に、PEの演算機能や接続を最短１クロックで変更し、搭載機能を短時間で変更できる高い柔軟性を実現する。動作周波数を上昇させなくても、複数の演算器で単純な命令を一括して実行したり、複数の演算器を組み合わせて複雑な命令を実行したりするなど、演算マトリックスコアの演算並列度を高めることで、省電力にて高い演算性能を実現する。このため、ＤＲＰは、パケットを小型省電力にて高速演算する性能と、アルゴリズムを更新する柔軟性と、が同時に要求されるアプライアンス向けのプロセッサとして有望と考えられる。
【００１０】
このＤＲＰを、データベース等のアプリケーションレイヤのサービスを提供する装置に使用する場合は、パケットを送受信している各ホスト間の通信状態（トランスポートレイヤプロトコルの遷移／輻輳状態、使用しているアプリケーションレイヤプロトコルの種類、実行中のコマンドの種類、コマンドの実行の進捗状態（ファイルをどこまで送受信したか、等））に応じて搭載論理を変更し、パケット毎に異なる処理を行う必要がある。搭載論理の変更は、演算マトリックス内部の演算器群が生成する再構成トリガによって開始される。従って、再構成トリガの生成に必要な情報（受信したパケットを送受信している各ホスト間の通信状態）を、演算マトリックス外部にて予め生成しておき、演算マトリックスに直接入力することで、搭載論理の迅速な変更が可能になると考えられる。
【００１１】
そこで、本発明者は、端末やホスト（以下、端末と総称する）間の通信状態に基づくパケット毎再構成を用いた動的再構成プロセッサ搭載装置を考案した（非特許文献１）。本装置は、メモリを経由しない通信データの直接入出力を用いている。更に、演算マトリックス外部にて予め生成した端末間の通信状態に基づいて、動的再構成プロセッサ内の演算マトリックスの搭載論理を変更することで、搭載論理の高速変更を実現し、データベース等のアプリケーションレイヤのサーバサービスを小型・省電力な装置にて高性能で実現する。
【００１２】
【非特許文献１】“通信状態に基づくパケット毎自己再構成を用いた動的再構成プロセッサ搭載クエリトランザクション高速化装置”、信学技報、vol.107, no.41, RECONF2007-1, PP.1-6, 2007年5月
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述した、端末間の通信状態に基づくパケット毎再構成を用いた動的再構成プロセッサ搭載装置の課題を、図１９を用いて説明する。
【００１４】
本装置は、パケットをスイッチングするスイッチ１９０１と、各種演算を実行する動的再構成処理部である動的再構成プロセッサ（ＤＲＰ）１９０２と、スイッチ１９０１およびＤＲＰ１９０２の間のパケット入出力制御を行うパケットＩ／Ｏ １９００と、各種データを蓄積する外部メモリ１９０３から構成される。
【００１５】
パケットＩ／Ｏ １９００は、スイッチ１９０１から受信したパケットを分類する分類器１９０４と、分類したパケットを一時的に蓄積するバッファ１９０５，１９１３と、バッファ１９０５からパケットを読み出すパケット読出し部１９０６と、通信状態を蓄積する通信状態テーブル１９１０と、通信状態を読み出す通信状態読出し部１９０７と、通信状態を変更する通信状態更新部１９０８と、通信状態を書き込む通信状態書込み部１９０９と、変更した通信状態を一時的に蓄積するバッファ１９１１と、読み出したパケットを一時的に蓄積するバッファ１９１２と、パケットを集約する集約器１９１４から構成される。
【００１６】
スイッチ１９０１から読み出されたパケット１９１５は、分類器１９０４にて、処理が必要なパケット１９１７と、処理が不要なパケット１９１８とに分類される。処理が必要なパケット１９１７は、バッファ１９０５に蓄積される。
【００１７】
処理が開始すると、パケット読出し部１９０６が、バッファ１９０５に蓄積されたパケット１９１９を読み出して、通信状態読出し部１９０７と、通信状態更新部１９０８と、バッファ１９１２に転送する。
【００１８】
通信状態読出し部１９０７は、パケット読出し部１９０６から受信したパケット１９２０記載の送信元・宛先情報に基づき、通信状態テーブル１９１０から対応する通信状態１９２２を読み出し、通信状態更新部１９０８に転送する。
【００１９】
通信状態更新部１９０８は、通信状態読出し部１９０７から受信した通信状態１９４８と、パケット読出し部１９０６から受信したパケット１９２０とに基づき、通信状態１９４８を変更する。変更済み通信状態１９２１，１９４９は、通信状態書込み部１９０９と、バッファ１９１１に転送される。
【００２０】
通信状態書込み部１９０９は、通信状態更新部１９０８から受信した変更済み通信状態１９２１を、新たな通信状態１９２３として、通信状態テーブル１９１０に書き込む。
【００２１】
ＤＲＰ１９０２は、多数の小型演算器を内蔵したＰＥマトリックス１９２７と、汎用演算器１９２８と、構成データキャッシュ１９３０と、外部メモリ向けインターフェースであるＳＤＲＡＭ  Ｉ／Ｆ１９３１と、これらを結びつけるバススイッチ１９２９と、から構成される。
【００２２】
ＰＥマトリックス１９２７は、プログラム再構成を実施するためのプログラム再構成向け割込み生成ＰＥ群１９３４と、自律再構成を実施するための自律再構成向け割込み生成ＰＥ群１９３５と、多様な機能を実現するためのＬ(Layer)２−７関数を実行するＰＥ群１９３６と、ＴＣＰ／ＩＰチェックサム計算済みパケットを送信し、演算終了を通知するＰＥ群１９３７とを含む。
【００２３】
汎用演算器１９２８は、ＯＳ１９３２と、再構成のための処理を行う再構成向け関数１９３３とを実行する。
【００２４】
自律再構成向け割込み生成ＰＥ群１９３５は、通信状態更新部１９０８から変更済み通信状態１９４９を受け取ると、受け取った通信状態に基づき、自律再構成向け割込み１９４１を生成する。
【００２５】
構成データキャッシュ（蓄積バッファ）１９３０は、生成した自律再構成向け割込み１９４１に基づき、内部に蓄積した構成データをＰＥマトリックス１９２７に転送する。
【００２６】
ＰＥマトリックス１９２７は、構成データキャッシュ１９３０からの構成データ１９４２に基づき、内部の演算器の機能や配線を再構成する。
【００２７】
プログラム再構成向け割込み生成ＰＥ群１９３４は、通信状態更新部１９０８から変更済み通信状態１９４９を受け取ると、受け取った通信状態に基づき、プログラム再構成向け割込み１９４４を、汎用演算器１９２８に向けて生成する。更に、受け取った通信状態１９４９に基づき、外部メモリ１９０３内部の構成データポインタ１９３８を、必要な構成データが蓄積されているアドレス値１９４３に書き換える。
【００２８】
ＯＳ １９３２は、プログラム再構成向け割込み生成ＰＥ群１９３４から、プログラム再構成向け割込み１９４４を受け取ると、再構成向け関数１９３３を実行する。
【００２９】
再構成向け関数１９３３は、構成データポインタ１９３８から、次に使用する構成データが蓄積されているアドレス値１９４６を読出し、読み出したアドレス値１９４６に基づいて、構成データエリア１９３９から構成データ１９４５を読み出す。更に、読み出した構成データ１９４５に基づき、構成データキャッシュを新たな構成データ１９４７に書き換える。更に、書き換えた構成データ１９４２を、ＰＥマトリックスに転送する。
【００３０】
ＰＥマトリックス１９２７は、構成データキャッシュ１９３０からの構成データ１９４２に基づき、内部の演算器の機能や配線を再構成する。
【００３１】
ＰＥマトリックス１９２７の再構成が完了すると、バッファ１９１１に蓄積された通信状態１９２４と、バッファ１９１２に蓄積されたパケット１９２５が読み出され、Ｌ２−７関数を実行するＰＥ群１９３６に転送される。
【００３２】
Ｌ２−７関数を実行するＰＥ群１９３６は、通信状態１９２４と、パケット１９２５と、外部メモリ１９０３内のＯＳ／アプリケーションデータエリア１９４０のデータを用いて各種演算を行う。また、変更した通信状態１９２６を通信状態書込み部１９０９に送信して、通信状態テーブル１９１０を更新する。
【００３３】
Ｌ２−７関数を実行するＰＥ群１９３６演算が終了すると、ＰＥ群１９３７が、新たに生成されたパケットに対して、ＴＣＰ／ＩＰチェックサムを計算して、計算済みパケット１９５１を、集約器１９１４に逐一送信する。全てのパケットを送信すると、演算終了通知１９５０を、パケット読出し部１９０６に送信する。
【００３４】
集約器１９１４は、ＰＥマトリックス１９２７からのパケット１９５１と、バッファ１９１３からのパケットを集約して、スイッチ１９０１に出力する。
【００３５】
パケット読出し部１９０６は、演算終了通知１９５０を受け取ると、バッファ１９０５から新たなパケットを読み出す。
【００３６】
上記の方式により、端末間の通信状態に基づくパケット毎再構成を用いた動的再構成プロセッサ搭載装置が実現される。本装置は、メモリを経由しない通信データの直接入出力を用いている。更に、演算マトリックス外部にて予め生成したホスト間の通信状態に基づいて、動的再構成プロセッサ内の演算マトリックスの搭載論理を変更することで、搭載論理の高速変更を実現し、データベース等のアプリケーションレイヤのサーバサービスを小型・省電力な装置にて高性能で実現する。
【００３７】
しかしながら、上述の端末間の通信状態に基づくパケット毎再構成を用いた動的再構成プロセッサ搭載装置は、パケットの到着順に演算処理を行う。そのため、使用する構成データが前後のパケットで異なり、演算処理を行う構成データが構成データキャッシュ１９３０に蓄積されていない場合に、キャッシュミスとなり、構成データを外部メモリ１９０３から構成データキャッシュ１９３０にロードする時間が生じる。これにより、演算性能が低下する場合がある、という問題があった。
【００３８】
また、上述の端末間の通信状態に基づくパケット毎再構成を用いた動的再構成プロセッサ搭載装置は、ＤＲＰ１９０２がＰＥマトリックス１９２７を１個含む場合についてのみ記載があり、ＰＥマトリックス１９２７を複数持つ装置に必要な、ＰＥマトリックスへのパケット割当のスケジューリング方式について記載が無かった。
【００３９】
本発明は、上述の端末間の通信状態に基づくパケット毎再構成を行う動的再構成プロセッサ搭載装置の問題点を解決し、演算効率を向上させることが可能な装置、及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００４０】
本発明は、上記目的を達成するため、動的再構成処理部に複数の演算（ＰＥ）マトリックスを設置し、これら演算マトリックスにパケットを適切に割り当てるスケジューリング部を備えることにより、キャッシュミスを抑制し、構成データのロード時間を削減する。また、第一のパケットを演算処理中に、第二のパケットの演算処理に必要な構成データを先読み転送することで、構成データのキャッシュミスによるロード時間を短縮する。
【００４１】
本発明の端末間で送受信されるパケットに処理を行う情報処理装置は、動的再構成処理部に複数の演算マトリックスを設置し、第一の演算マトリックスが第一のパケットを処理しているときに、第一と第二の演算マトリックスのどちらで後続の第二と第三のパケットの処理を行うかを決定するスケジューリング部を備え、第二のパケットが第一のパケットと同じ構成情報に基づく処理を必要とし、第三のパケットが第一のパケットと異なる構成情報に基づく処理を必要とする場合に、スケジューリング部が、第一の演算マトリックスにおける第一のパケットの処理が終了するまで第二のパケットを待機させ、第三のパケットに第二の演算マトリックスを優先的に使用させる。
【００４２】
また、本発明の情報処理装置は、パケットを送受信している端末間の通信状態を格納する通信状態テーブル、受信したパケットの内部情報と、パケットの内部情報に基づき通信状態テーブルから読み出した通信状態との組合せに応じ、通信状態の変更を行う通信状態更新部を含むパケット入出力部と、構成情報を複数格納する構成情報蓄積バッファ、機能と配線が可変である演算器群をそれぞれ備え、パケットと変更済みの通信状態を受信し、変更済みの通信状態に基づき構成情報蓄積バッファから構成情報を取得し、取得した構成情報に基づいて演算器群の機能と配線を再構成する演算マトリックス部、構成情報蓄積バッファに構成情報を転送する演算部を含み、パケットに変更済みの通信状態に応じた処理を行う動的再構成処理部と、構成情報を複数格納する記憶部とを有し、この動的再構成処理部の演算部は、演算マトリックス部が、第一の通信状態に基づく再構成後、第一のパケットを処理している間に、後続する第二のパケットの処理に必要な、第二の通信状態に基づく構成情報を、記憶部から構成情報蓄積バッファに転送するよう構成することもできる。
【００４３】
更に、本発明の情報処理システムとして、サーバと、ネットワークを介してサーバにデータを要求する端末と、サーバと端末間で転送されるパケットを受信し、パケットを送受信するサーバと端末間の通信状態に応じた処理を実行する情報処理装置とからなる情報処理システムであって、情報処理装置が、サーバと端末間の通信状態を格納する通信状態テーブル、受信したパケットの内部情報とパケットの内部情報に基づき通信状態テーブルから読み出した通信状態との組合せに応じ、通信状態の変更を行う通信状態更新部、機能と配線が可変である演算器群を備えた第一と第二の演算マトリックスと演算マトリックスの構成情報を複数格納する構成情報蓄積バッファを備え、パケットと変更済みの通信状態を受信し、変更済みの通信状態に基づき、構成情報蓄積バッファから構成情報を取得し、取得した構成情報に基づき演算マトリックスの演算器群の機能と配線を再構成する動的再構成処理部、第一の演算マトリックスが第一のパケットを処理しているときに、後続のパケットの処理を第一と第二の演算マトリックスのどちらで行うかを決定するスケジューリング部を有し、動的再構成処理部においてパケットに変更済みの通信状態に対応する演算処理を実行し、その処理結果をネットワーク経由でサーバ、又は端末に送信する情報処理システムを提供する。
【発明の効果】
【００４４】
本発明は、通信状態に基づくパケット毎再構成を行う動的再構成プロセッサ搭載装置において、演算効率を向上させ、データベース等のアプリケーションレイヤのサーバサービスを、小型・省電力で高性能にて実現する装置を提供することができる。
【発明を実施するための最良の形態】
【００４５】
以下、本発明の実施の形態を図面を用いて説明する。
【実施例１】
【００４６】
まず、第一の実施例の情報処理装置について説明する。図２は、実施例１の情報処理装置の構成ブロック図である。
【００４７】
情報処理装置２００は、動的再構成処理部としての動的再構成プロセッサ（ＤＲＰ）１０２と、パケット入出力部（パケットＩ／Ｏ）１００と、記憶部であるメモリ１０３と、ネットワークＩ／Ｆ−ｉ(ｉ＝１〜Ｎ)２０３(２０３−１〜２０３−Ｎ)と、通信回線接続部２０４(２０４−１〜２０４−Ｎ)と、スイッチ１０１と、から構成される。
【００４８】
本装置２００は、ネットワークに接続し、ネットワークＩ／Ｆ２０３経由でネットワークから受信した(２１０−１〜２１０−Ｎ)パケットを、パケットＩ／Ｏ １００または別のネットワークＩ／Ｆ ２０３に転送する。更に、パケットＩ／Ｏ １００とネットワークＩ／Ｆ ２０３からのパケットを、ネットワークＩ／Ｆ ２０３経由でネットワークに送信する（２０９−１〜２０９−Ｎ）)。
【００４９】
図３は、装置２００が搭載する動的再構成プロセッサ（ＤＲＰ）１０２の詳細な構成ブロック図である。
【００５０】
動的再構成プロセッサ１０２は、ＲＩＳＣプロセッサなどの汎用演算器１８０と、機能と互いの配線が可変である小型演算器をそれぞれ複数搭載した演算マトリックス（ＰＥマトリックス＃１，２）１７８，１７９と、バススイッチ１９３と、演算マトリックス１７８、１７９に対応する構成データキャッシュ（＃１，２）１９５，１９６と、ＰＣＩバス接続用のＰＣＩ Ｉ／Ｆ３０２と、外部メモリアクセス用のＳＤＲＡＭ Ｉ／Ｆ１９４と、ＤＭＡ転送用のＤＭＡコントローラ３０４と、その他インターフェースと接続するためのその他Ｉ／Ｆ３０５と、から構成される。なお、本実施例において、演算マトリックス（ＰＥマトリックス＃１，２）と構成データキャッシュ（＃１、２）が２個の場合を例示して説明するが、３個以上であっても良い。また、演算マトリックス（ＰＥマトリックス＃１，２）を演算マトリックス部と呼ぶ場合がある点に留意されたい。
【００５１】
図４は、動的再構成プロセッサ１０２が搭載する演算マトリックス１７８，１７９が、処理内容４０１〜４０３毎に搭載論理４０４〜４０６を変更する例を示す。
【００５２】
演算マトリックス１７８、１７９は、機能と互いの配線が可変である小型演算器を多数搭載しており、処理内容４０１〜４０３に従って、小型演算器毎の機能と配線を再構成することにより、搭載論理４０４〜４０６を変更する。これにより、並列演算による高速演算性能と、搭載論理を短時間で変更できる高い柔軟性を実現する。
【００５３】
図５は、本実施例の情報処理装置２００がネットワーク上で使用される例を示す。
【００５４】
本装置２００は、フロントエンドネットワーク５０１とバックエンドシステム５０３の間のエッジネットワーク５０２に配置される。バックエンドシステム５０３には、バックエンド端末であるサーバ５０４およびストレージシステム５０５が配置され、サーバ５０４の処理するデータはストレージシステム５０５に蓄積される（５２２）。
【００５５】
本装置２００は、ＲＦＩＤ／据置センサ／映像センサ等のフロントエンド端末からデータ更新パケット５０８、５０９、５１０を受信すると、パケット記載のＨＴＴＰ／ＳＱＬコマンド等に基づいて、装置内部に蓄積したデータの変更を行い、ＨＴＭＬ／ＸＭＬ等の形式にて、更新結果通知およびアクション指示パケット５１１、５１２、５１３を返信する。携帯端末等からデータ要求パケット５１４を受信すると、パケット記載のＨＴＴＰ／ＳＱＬコマンド等に基づいて、装置内部に蓄積したデータの検索を行い、ＨＴＭＬ／ＸＭＬ等の形式にて、要求データ返信パケット５１５を返信する。また、攻撃者から異常パケット５１６を受信すると、異常通信と判定して、サーバ５０４に送信せずに（５１７）、廃棄する（５０７）。更に、装置内部に蓄積したデータに対して、サーバへのアップロード５１８、５２０と、サーバからのダウンロード５１９、５２１を行い、蓄積データを常に最新の状態に保つ。
【００５６】
図６は、本実施例の情報処理装置２００がバックエンドシステムで使用される例を示す。
【００５７】
本装置２００は、バックエンドシステム６０３内のサーバ前段に配置されるか、サーバを内蔵する（６０２）。サーバを内蔵する場合は、装置２００のスイッチ１０１にサーバ２１２が接続される。
【００５８】
次に、本実施例の情報処理装置２００の動的再構成プロセッサ１０２とパケットＩ／Ｏ １００とメモリ１０３の動作について説明する。
【００５９】
図１は、本実施例の動的再構成プロセッサ１０２とパケットＩ／Ｏ １００とメモリ１０３の一具体例の詳細な構成ブロック図である。
【００６０】
パケットＩ／Ｏ １００は、処理すべきパケットか否かの判定と、処理すべきパケットの分類を実行する分類器１０４と、分類済みパケットを蓄積するパケットバッファ＃１〜４（１０９，１１０，１１１，１１２）と、パケットバッファ＃０〜４からパケットを読み出すパケット読出し部１１９と、処理中のパケット数を蓄積する処理中パケット数１２０と、処理中の通信か否かを判定する通信重複判定部１２３と、処理中の通信を蓄積する処理中通信テーブル１２４と、処理中の通信だった場合に読み出したパケットを再度蓄積するパケットバッファ＃０（１１３）と、処理中の通信を処理中通信テーブル１２４に記録する処理中通信記録部１２８と、通信状態の蓄積を行う通信状態テーブル１３２と、通信状態読出し部１３１と、通信状態更新部１３６と、通信状態書込み部１３８と、処理中のパケットに対応する通信状態を蓄積する処理中通信状態テーブル１４３と、処理中のパケットに対応する通信状態に基づき、パケットのスケジューリングを行うスケジューリング部１４２と、スケジューリングされたパケットと、パケットに対応する通信状態と、を一時的に蓄積するパケットバッファ１５１，１５３と、通信状態バッファ１５０，１５２と、演算マトリックス（＃１，２）１７８，１７９に向けて通信状態とパケットとを適切なタイミングで転送するデータ読出し部（＃１，２）１５８，１５９と、ＰＥマトリックス（＃１，２）１７８，１７９からの出力パケットを一時的に蓄積する出力パケットバッファ１７０，１７１と、パケットを集約して出力する集約器１７５とから構成される。
【００６１】
動的再構成プロセッサ１０２は、上述の通り、汎用演算器１８０と、機能と互いの配線が可変である小型演算器を複数搭載した演算マトリックス（＃１，２）１７８，１７９と、構成データキャッシュ（＃１，２）１９５，１９６と、バススイッチ１９３と、外部メモリアクセス用のＳＤＲＡＭ  Ｉ／Ｆ１９４と、から構成される。
【００６２】
外部メモリ１０３は、構成データキャッシュ（＃１，２）１９５，１９６に蓄積しきれない構成情報を蓄積した構成データエリア１０３−２と、構成データエリア１０３−２内の構成データへのアドレスポインタを記載した構成データポインタa,b,c,d１０３−１と、ＯＳ／アプリケーションデータエリア１０３−３を保持する。
【００６３】
汎用演算器１８０は、ＯＳ １８２を実行しており、演算マトリックス（＃１，２）１７８，１７９が生成する再構成トリガを受け取ると、再構成向け関数１８１を呼び出す。呼び出された再構成向け関数１８１は、構成データエリア１０３−２から構成データを読み出して、構成データキャッシュ（＃１，２）１９５，１９６へのロード、および演算マトリックスへの転送を行う。
【００６４】
演算マトリックス（＃１，２）１７８，１７９は、通信状態に基づき自律再構成向け割込み１８５，１８８を生成する自律再構成向け割込み生成ＰＥ群１７８−２，１７９−２と、プログラム再構成向け割込み１８３，１８６を生成するプログラム再構成向け割込み生成ＰＥ群１７８−１，１７９−１と、通信状態とパケットに基づきメモリ１０３に蓄積したデータの変更や新たなパケットの生成および外部送信を行うＬ２−７関数実行ＰＥ群１７８−３，１７９−３と、Ｌ２−７関数実行ＰＥ群１７８−３，１７９−３が新たに生成したパケットのＴＣＰ／ＩＰチェックサムを計算し、パケットを送信するＰＥ群１７８−４，１７９−４と、から構成される。
【００６５】
以下、パケットＩ／Ｏ、動的再構成プロセッサ、メモリ１０３の各部分について詳細に説明する。
【００６６】
パケットＩ／Ｏ １００の分類器１０４は、スイッチ１０１からパケットを受信すると（１７７）、処理すべきパケットか否かを判定する。処理が不要なパケットである場合は、集約器１７５に出力する（１７４）。処理すべきパケットである場合は、パケットのヘッダ記載の内容に応じて、パケットバッファ＃１〜４（１０９，１１０，１１１，１１２）のいずれかに出力する（１０５、１０６、１０７、１０８）。
【００６７】
図７は、分類器１０４がスイッチ１０１から受信するパケット１７７のフォーマットの一例を示す。
【００６８】
パケット１７７は、ＩｎＬｉｎｅ７０１と、ＯｕｔＬｉｎｅ７０２と、ＳＭＡＣ７０３と、ＤＭＡＣ７０４と、Ｐｒｏｔｏ７０５と、ＳＩＰ７０６と、ＤＩＰ７０７と、Ｓｐｏｒｔ７０８と、Ｄｐｏｒｔ７０９と、ＴＣＰ Ｆｌａｇ７１０と、ＰＳＥＱ７１１と、ＰＡＣＫ７１２と、ＯｔｈｅｒＨｅａｄｅｒ７１３と、各種コマンド７１４と、Ｐａｙｌｏａｄ７１５と、を含む。更に、本実施例では、ＳＩＰ７０６と、ＤＩＰ７０７と、Ｓｐｏｒｔ７０８と、Ｄｐｏｒｔ７０９とをまとめてＰ．Ｈ．（Ｐａｃｋｅｔ Ｈｅａｄｅｒ）７１６と表現する。このＰ．Ｈ．７１６はパケット１７７の特徴を示す。
【００６９】
ここで、ＩｎＬｉｎｅ７０１は、パケットが入力した回線の識別番号である入力回線番号を格納する。ＯｕｔＬｉｎｅ７０２は、パケットを出力する回線の識別番号である出力回線番号を格納する。ＳＭＡＣ７０３は、データリンク層の送信元アドレスである送信元ＭＡＣアドレスを格納する。ＤＭＡＣ７０４は、宛先アドレスである宛先ＭＡＣアドレスを格納する。Ｐｒｏｔｏ７０５は、ネットワーク層のプロトコルを格納する。ＳＩＰ７０６は、送信元アドレス、すなわち、送信側の端末のアドレスである送信元ＩＰアドレスを格納する。ＤＩＰ７０７は、宛先アドレス、すなわち、受信側の端末のアドレスである宛先ＩＰアドレスを格納する。ＳＰＯＲＴ７０８は、ＴＣＰの送信元ポートを格納する。ＤＰＯＲＴ７０９は、ＴＣＰの宛先ポートを格納する。ＴＣＰ Ｆｌａｇ７１０はＴＣＰフラグを格納する。ＰＳＥＱ７１１は、送信シーケンス番号（ＳＥＱ番号）を格納する。ＰＡＣＫ７１２は、受信シーケンス番号（ＡＣＫ番号）を格納する。ＯｔｈｅｒＨｅａｄｅｒ７１３は、その他のＩＰ／ＴＣＰヘッダデータを格納する。各種コマンド７１４は、アプリケーション層のコマンドを格納する。Ｐａｙｌｏａｄ７１５は、パケットヘッダ（Ｐａｃｋｅｔ Ｈｅａｄｅｒ: Ｐ．Ｈ．）と各種コマンド以外のデータを格納する。
【００７０】
分類器１０４は、例えば、Ｐ．Ｈ．（Ｐａｃｋｅｔ Ｈｅａｄｅｒ）７１６の内容、すなわちパケットの特徴に応じて、パケットを分類し、分類結果に応じて、パケットバッファ＃１〜４（１０９〜１１２）のいずれかに出力する（１０５〜１０８）。
【００７１】
パケット読出し部１１９は、処理中パケット数１２０の値が、予め定めた値よりも小さい場合にパケットバッファ＃０〜４（１０９〜１１３）からパケットを読み出す。パケットバッファ＃０（１１３）にパケットが蓄積されている場合、パケットバッファ＃０（１１３）から優先的にパケットを読み出す（１１８）。パケットバッファ＃０（１１３）にパケットが蓄積されていない場合、過去に読み出した時刻が最も古いパケットバッファ＃１〜４（１０９〜１１２）から優先的にパケットを読み出す（１１４〜１１７）。更に、処理中パケット数１２０の値を１増加させる（１２１）。
【００７２】
通信重複判定部１２３は、パケット読出し部１１９からパケットを受信する（１２２）と、パケット記載のＰ．Ｈ．７１６に基づいて、処理中通信テーブル１２４から対応する処理中の通信情報を検索する（１２５）。
【００７３】
図８は、処理中通信テーブル１２４の一例の説明図である。
【００７４】
処理中通信テーブル１２４は、処理中の通信の数に相当するｍ個の通信情報のエントリ８０１（８０１−１〜８０１−ｍ）を含む。
【００７５】
エントリ８０１は、上述のＰ．Ｈ．（Ｐａｃｋｅｔ Ｈｅａｄｅｒ）と同じく、ＳＩＰ８０２と、ＤＩＰ８０３と、ＳＰＯＲＴ８０４と、ＤＰＯＲＴ８０５と、を含む。
【００７６】
ＳＩＰ８０２は、処理中の通信の送信元アドレス、すなわち、送信側のホストのアドレスである送信元ＩＰアドレスを記録する。ＤＩＰ８０３は、処理中の通信の宛先アドレス、すなわち、受信側のホストのアドレスである宛先ＩＰアドレスを記録する。ＳＰＯＲＴ８０４は、処理中の通信のＴＣＰ送信元ポートを記録する。ＤＰＯＲＴ８０５は、処理中の通信のＴＣＰ宛先ポートを記録する。
【００７７】
通信重複判定部１２３は、パケット記載のＰ．Ｈ．７１６と一致する処理中の通信情報のエントリ８０１が存在するか否かを判定し、存在する場合は、読み出したパケット１２２を、パケットバッファ＃０（１１３）に転送する（１２６）。存在しない場合は、読み出したパケット１２２を、処理中通信記録部１２８に転送する（１２７）。
【００７８】
処理中通信記録部１２８は、通信重複判定部１２３から受信したパケット１２７記載のＰ．Ｈ．７１６を、処理中の通信情報として、処理中通信テーブル１２４に記録する（１２９）。更に、通信重複判定部１２３から受信したパケット１２７を、通信状態読出し部１３１と、通信状態更新部１３６と、スケジューリング部１４２に転送する（１３０，１３５，１４１）。
【００７９】
通信状態読出し部１３１は、パケット記載のＰ．Ｈ．７１６に対応する通信状態を、通信状態テーブル１３２から読み出す（１３３）。パケット記載のＰ．Ｈ．７１６に対応する通信状態が、通信状態テーブル１３２に存在しない場合は、新たに、パケット記載のＰ．Ｈ．７１６に対応する通信状態を生成する。
【００８０】
図９は、通信状態テーブル１３２の一例の説明図である。
【００８１】
通信状態テーブル１３２は、ｎ個のエントリ９０１（９０１−１〜９０１−ｎ）を含む。
【００８２】
エントリ９０１は、Ｆ−ＩＰ９０２と、Ｆ−ＰＯＲＴ９０３と、Ｆ−ＩＤ９０４と、Ｆ−ＳＥＱ９０５と、Ｆ−ＡＣＫ９０６と、Ｆ−ＷＩＮ９０７と、Ｆ−ＦＬＩＧＨＴ９０８と、Ｆ−ＴＩＭＥ９０９と、Ｆ−ＰＯＩＮＴＥＲ９１０と、Ｆ−ＳＴＡＴＥ９１１と、Ｂ−ＩＰ９１２と、Ｂ−ＰＯＲＴ９１３と、Ｂ−ＩＤ９１４と、Ｂ−ＳＥＱ９１５と、Ｂ−ＡＣＫ９１６と、Ｂ−ＷＩＮ９１７と、Ｂ−ＦＬＩＧＨＴ９１８と、Ｂ−ＴＩＭＥ９１９と、Ｂ−ＰＯＩＮＴＥＲ９２０と、Ｂ−ＳＴＡＴＥ９２１と、を含む。
【００８３】
Ｆ−ＩＰ９０２は、フロントエンド側の端末のＩＰアドレスを記録する。Ｂ−ＩＰ９１２は、バックエンド側の端末のＩＰアドレスを記録する。Ｆ−ＰＯＲＴ９０３は、フロントエンド側の端末のＴＣＰポート番号を記録する。Ｂ−ＰＯＲＴ９１３は、バックエンド側の端末のＴＣＰポート番号を記録する。Ｆ−ＩＤ９０４は、フロントエンド側の端末に送信済みのパケットのＩＤ番号を記録する。Ｂ−ＩＤ９１４は、バックエンド側の端末に送信済みのパケットのＩＤ番号を記録する。Ｆ−ＳＥＱ９０５は、フロントエンド側の端末との送信元シーケンス番号を記録する。Ｂ−ＳＥＱ９１５は、バックエンド側の端末との送信元シーケンス番号を記録する。Ｆ−ＡＣＫ９０６は、フロントエンド側の端末との宛先シーケンス番号を記録する。Ｂ−ＡＣＫ９１６は、バックエンド側の端末との宛先シーケンス番号を記録する。Ｆ−ＷＩＮ９０７は、フロントエンド側の端末とのＴＣＰコネクションの輻輳ウィンドウサイズを記録する。Ｂ−ＷＩＮ９１７は、バックエンド側の端末とのＴＣＰコネクションの輻輳ウィンドウサイズを記録する。Ｆ−ＦＬＩＧＨＴ９０８は、フロントエンド側の端末にすでに送信済みのデータサイズを表す送信済みウィンドウサイズを記録する。Ｂ−ＦＬＩＧＨＴ９１８は、バックエンド側の端末にすでに送信済みのデータサイズを表す送信済みウィンドウサイズを記録する。Ｆ−ＴＩＭＥ９０９は、フロントエンド側の端末からパケットを受信した最新の時刻を記録する。Ｂ−ＴＩＭＥ９１９は、バックエンド側の端末からパケットを受信した最新の時刻を記録する。Ｆ−ＰＯＩＮＴＥＲ９１０は、フロントエンド側の端末から受信したパケットに対して各種演算を実行するＬ２−７関数実行ＰＥ群１７８−３，１７９−３が使用するためのアドレスポインタを記録する。Ｂ−ＰＯＩＮＴＥＲ９１０は、バックエンド側の端末から受信したパケットに対して各種演算を実行するＬ２−７関数実行ＰＥ群１７８−３，１７９−３が使用するためのアドレスポインタを記録する。Ｆ−ＳＴＡＴＥ９１１は、装置２００がフロントエンド端末との間で確立した通信の通信状態を記録する。Ｂ−ＳＴＡＴＥ９２１は、装置２００がバックエンド端末との間で確立した通信の通信状態を記録する。更に、本実施例では、Ｆ−ＩＰ９０２と、Ｂ−ＩＰ９１２と、Ｆ−ＰＯＲＴ９０３と、Ｂ−ＰＯＲＴ９１３とをまとめて、Ｔ．Ｈ．（Ｔａｂｌｅ Ｈｅａｄｅｒ）９２２と表現する。
【００８４】
通信状態を記録するＦ−ＳＴＡＴＥ９１１およびＢ−ＳＴＡＴＥ９２１は、図１１に示した組合せのいずれかを示した一意の値を記録する。Ｆ−ＳＴＡＴＥ９１１およびＢ−ＳＴＡＴＥ９２１は、ＴＣＰコネクションの開始または停止（ＯＰＥＮ／ＣＬＯＳＥ）１１２０と、ＴＣＰコネクションの確立または未確立（ＦＵＬＬ／ＨＡＬＦ）１１２１と、ＴＣＰコネクションの輻輳状態（Ｓｌｏｗ Ｓｔａｒｔ／Ｃｏｎｇｅｓｔｉｏｎ Ａｖｏｉｄａｎｃｅ（Ｃｏｎｇ． Ａｖｏｉｄ．）／Ｆａｓｔ Ｒｅｃｏｖｅｒｙ）１１２２と、アプリケーションレイヤプロトコルの有無と種類（ＨＴＴＰ／ＴＥＬＮＥＴ／ＦＴＰ）１１２３と、アプリケーションレイヤプロトコルが実行中のコマンドおよび引数の有無と種類（ＧＥＴ／ＰＯＳＴ、ＳＥＬＥＣＴ／ＩＮＳＥＲＴ／ＤＥＬＥＴＥ）１１２４と、前記コマンドにより実行中のファイル送受信の状態（開始（Ｓｔａｒｔ）または未完了（Ａｃｔｉｖｅ）または完了（Ｐａｓｓｉｖｅ））１１２５と、を示す値（図１１に示した組合せのいずれかを示した一意の値）を記録する。
【００８５】
パケットＩ／Ｏ １００の通信状態更新部１３６は、通信状態読出し部１３１から受信した通信状態１３４と、処理中通信記録部１２８から受信したパケット１３５と、に基づいて通信状態の変更を行う。更に、変更済みの通信状態を、通信状態書込み部１３８と、スケジューリング部１４０に転送する（１３７，１４０）。
【００８６】
通信状態書込み部１３８は、通信状態更新部１３６から受信した変更済み通信状態１３７を、通信状態テーブル１３２に書き込む（１３９）。
【００８７】
スケジューリング部１４２は、通信状態更新部１３６から受信した変更済み通信状態１４０の値を、処理中通信状態テーブル１４３記載の値と比較することで、処理中通信記録部１２８から受信したパケット１４１のスケジューリングを行う。
【００８８】
図１０は、処理中通信状態テーブル１４３の一例の説明図である。
【００８９】
処理中通信状態テーブル１４３は、ＩＮＩ＿ＰＯＩＮＴ（＃１，２）（１００３，１００８）と、ＥＮＤ＿ＰＯＩＮＴ（＃１，２）（１００４，１００９）と、ＣＮＴ（＃１，２）（１００５，１０１０）と、ＳＴＡＴＥ＃１（１００２）（１００２−１〜１００２−ｋ）と、ＳＴＡＴＥ＃２（１００７）（１００７−１〜１００７−ｋ）と、を含む。
【００９０】
ＳＴＡＴＥ＃１（１００２）は、ＰＥマトリックス＃１（１７８）や再構成向け関数１８１において処理中の通信状態を記録する。ＩＮＩ＿ＰＯＩＮＴ＃１（１００３）は、ＰＥマトリックス＃１（１７８）において演算処理を実行中の通信状態を記録するＳＴＡＴＥ＃１（１００２）へのアドレスポインタを記録する。ＥＮＤ＿ＰＯＩＮＴ＃１（１００４）は、通信状態バッファ１５２の最後尾に蓄積された通信状態を記録するＳＴＡＴＥ＃１（１００２）へのアドレスポインタを記録する。ＣＮＴ（＃１）１００５は、ＰＥマトリックス＃１（１７８）や再構成向け関数１８１において処理中の通信状態の数を記録する。
【００９１】
ＳＴＡＴＥ＃２（１００７）は、ＰＥマトリックス＃２（１７９）や再構成向け関数１８１において処理中の通信状態を記録する。ＩＮＩ＿ＰＯＩＮＴ＃２（１００８）は、ＰＥマトリックス＃２（１７９）において演算処理を実行中の通信状態を記録するＳＴＡＴＥ＃２（１００７）へのアドレスポインタを記録する。ＥＮＤ＿ＰＯＩＮＴ＃２（１００９）は、通信状態バッファ１５０の最後尾に蓄積された通信状態を記録するＳＴＡＴＥ＃２（１００７）へのアドレスポインタを記録する。ＣＮＴ（＃２）１０１０は、ＰＥマトリックス＃２（１７９）や再構成向け関数１８１において処理中の通信状態の数を記録する。
【００９２】
図１４Ｂは、スケジューリング部１４２が、通信状態更新部１３６と処理中通信記録部１２８から、変更済み通信状態１４０とパケット１４１を受け取り、処置中通信状態テーブル１４３記載の値に基づいて、バッファ１５０〜１５３に転送する際のフローチャートである。
【００９３】
スケジューリング部１４２は、処置中通信状態テーブル１４３を読みこみ（１４５）、通信状態更新部１３６から受信した変更済み通信状態１４０の値を、ＥＮＤ＿ＰＯＩＮＴ＃１（１００４）に記載の通信状態ＳＴＡＴＥ＃１（１００２）と比較し（ステップ１４２１）、更にＥＮＤ＿ＰＯＩＮＴ＃２（１００９）に記載の通信状態ＳＴＡＴＥ＃２（１００７）と比較する（ステップ１４２２）。
【００９４】
変更済み通信状態１４０の値が、ＥＮＤ＿ＰＯＩＮＴ＃１（１００４）に記載の通信状態ＳＴＡＴＥ＃１（１００２）と一致する場合（ステップ１４２1のＹＥＳ判定）、変更済み通信状態１４０を通信状態バッファ＃１（１５２）に転送する（１４８）。更に、処理中通信記録部１２８から受信したパケット１４１をパケットバッファ＃１（１５３）に転送する（１４９）（ステップ１４２４）。更に、ＥＮＤ＿ＰＯＩＮＴ＃１（１００４）をインクリメントする。但し、インクリメント前のＥＮＤ＿ＰＯＩＮＴ＃１（１００４）に記載の通信状態がＳＴＡＴＥ＃１（１００２−ｋ）のときは、ＥＮＤ＿ＰＯＩＮＴ＃１（１００４）をＳＴＡＴＥ＃１（１００２−１）のアドレス値に変更する（ステップ１４２５）。更に、変更済みＥＮＤ＿ＰＯＩＮＴ＃１（１００４）に記載の通信状態ＳＴＡＴＥ＃１（１００２）を、通信状態更新部１３６から受信した変更済み通信状態１４０記載の値に変更する（ステップ１４２６）。
【００９５】
変更済み通信状態１４０の値が、ＥＮＤ＿ＰＯＩＮＴ＃２（１００９）に記載の通信状態ＳＴＡＴＥ＃２（１００７）と一致する場合（ステップ１４２２のＹＥＳ判定）、変更済み通信状態１４０を通信状態バッファ＃２（１５０）に転送する（１４６）。更に、処理中通信記録部１２８から受信したパケット１４１をパケットバッファ＃２（１５１）に転送する（１４７）（ステップ１４２７）。更に、ＥＮＤ＿ＰＯＩＮＴ＃２（１００９）をインクリメントする。但し、インクリメント前のＥＮＤ＿ＰＯＩＮＴ＃２（１００９）に記載の通信状態がＳＴＡＴＥ＃２（１００７−ｋ）のときは、ＥＮＤ＿ＰＯＩＮＴ＃２（１００９）をＳＴＡＴＥ＃２（１００７−１）のアドレス値に変更する（ステップ１４２８）。更に、変更済みＥＮＤ＿ＰＯＩＮＴ＃２（１００９）に記載の通信状態ＳＴＡＴＥ＃２（１００７）を、通信状態更新部１３６から受信した変更済み通信状態１４０記載の値に変更する（ステップ１４２９）。
【００９６】
変更済み通信状態１４０の値が、ＥＮＤ＿ＰＯＩＮＴ＃１（１００４）が示す通信状態ＳＴＡＴＥ＃１（１００２）およびＥＮＤ＿ＰＯＩＮＴ＃２（１００９）が示す通信状態ＳＴＡＴＥ＃２（１００７）と異なる場合、ＣＮＴ（＃１）１００５の値と、ＣＮＴ（＃２）１０１０の値を比較する（ステップ１４２３）。
【００９７】
ＣＮＴ（＃１）１００５の値が、ＣＮＴ（＃２）１０１０の値よりも小さい場合（ステップ１４２３のＹＥＳ判定）、変更済み通信状態１４０を通信状態バッファ＃１（１５２）に転送する（１４８）。更に、処理中通信記録部１２８から受信したパケット１４１をパケットバッファ＃１（１５３）に転送する（１４９）（ステップ１４２４）。更に、ＥＮＤ＿ＰＯＩＮＴ＃１（１００４）をインクリメントする。但し、インクリメント前のＥＮＤ＿ＰＯＩＮＴ＃１（１００４）に記載の通信状態がＳＴＡＴＥ＃１（１００２−ｋ）のときは、ＥＮＤ＿ＰＯＩＮＴ＃１（１００４）をＳＴＡＴＥ＃１（１００２−１）のアドレス値に変更する（ステップ１４２５）。更に、変更済みＥＮＤ＿ＰＯＩＮＴ＃１（１００４）に記載の通信状態ＳＴＡＴＥ＃１（１００２）を、通信状態更新部１３６から受信した変更済み通信状態１４０記載の値に変更する（ステップ１４２６）。
【００９８】
ＣＮＴ（＃２）１０１０の値が、ＣＮＴ（＃１）１００５の値以下の場合（ステップ１４２３のＮＯ判定）、変更済み通信状態１４０を通信状態バッファ＃２（１５０）に転送する（１４６）。更に、処理中通信記録部１２８から受信したパケット１４１をパケットバッファ＃２（１５１）に転送する（１４７）（ステップ１４２７）。更に、ＥＮＤ＿ＰＯＩＮＴ＃２（１００９）をインクリメントする。但し、インクリメント前のＥＮＤ＿ＰＯＩＮＴ＃２（１００９）に記載の通信状態がＳＴＡＴＥ＃２（１００７−ｋ）のときは、ＥＮＤ＿ＰＯＩＮＴ＃２（１００９）をＳＴＡＴＥ＃２（１００７−１）のアドレス値に変更する（ステップ１４２８）。更に、変更済みＥＮＤ＿ＰＯＩＮＴ＃２（１００９）に記載の通信状態ＳＴＡＴＥ＃２（１００７）を、通信状態更新部１３６から受信した変更済み通信状態１４０記載の値に変更する（ステップ１４２９）。
【００９９】
以上述べたスケジューリング部１４２の処理により、第一の演算マトリックスが第一のパケットを処理しているときに、第二のパケットが第一のパケットと同じ構成情報に基づく処理を必要とし、第三のパケットが第一のパケットと異なる構成情報に基づく処理を必要とする場合に、第一の演算マトリックスにおける第一のパケットの処理が終了するまで第二のパケットを待機させて、第三のパケットに第二の演算マトリックスを優先的に使用させることが可能となる。
【０１００】
データ読出し部（＃１，２）１５９，１５８は、演算マトリックス（＃１，２）１７８，１７９から処理終了通知（１６５，１６２）を受け取ると、パケットバッファ（＃１，２）１５３，１５１と通信状態バッファ（＃１，２）１５２，１５０からのデータの読出しを開始する。
【０１０１】
図１４Ａは、データ読出し部（＃１，２）１５９，１５８が、パケットバッファ（＃１，２）１５３，１５１と通信状態バッファ（＃１，２）１５２，１５０からデータを読み出す際のフローチャートである。
【０１０２】
データ読出し部（＃１，２）１５９，１５８は、処理終了通知１６５，１６２を受け取ると、処理が終了していない演算処理中または演算待ち中のパケットの数が１つか否かを判定する（ステップ１４０１）。
【０１０３】
ステップ１４０１において、処理が終了していない演算処理中または演算待ち中のパケットの数が１つの場合、通信状態バッファ（＃１，２）（１５２，１５０）に蓄積された通信状態の数が２つ以上か否かを判定する（ステップ１４０２）。
【０１０４】
ステップ１４０２において、通信状態バッファ（＃１，２）１５２，１５０に蓄積された通信状態の数が２つ未満の場合、通信状態バッファ（＃１，２）１５２，１５０に蓄積された通信状態の数が１つか否かを判定する（ステップ１４０３）。
【０１０５】
ステップ１４０１において、処理が終了していない演算処理中または演算待ち中のパケットの数が１つではない場合、通信状態バッファ（＃１，２）１５２，１５０に蓄積された通信状態の数が０個か否かを判定する（ステップ１４０４）。
【０１０６】
ステップ１４０２において、通信状態バッファ（＃１，２）１５２，１５０に蓄積された通信状態の数が２つ以上の場合、通信状態バッファ（＃１，２）１５２，１５０から２つの通信状態を読出し（１５６，１５４）、ＰＥマトリックス（＃１，２）１７８，１７９に向けて送信する（１６０，１６３）（ステップ１４０６）。読出し後に処理が終了していない処理中の通信状態の数は２に変化する。
【０１０７】
データ読出し部（＃１，２）１５９，１５８におけるステップ１４０６の後、ＤＲＰ１０２においてステップ１４１０が行われる。
【０１０８】
ステップ１４１０では、ＰＥマトリックス（＃１，２）１７８，１７９内部のＰＥ群１７８−１，１７８−２，１７９−１，１７９−２が、受信した１つ目の通信状態に基づき、自律再構成向け割込み１８５，１８８またはプログラム再構成向け割込み１８３，１８６を生成し、１つ目の通信状態に応じて定まる構成データのアドレスポインタa,c１０３−１を書き換える（１８４，１８７）。更に、受信した２つ目の通信状態に基づき、プログラム再構成向け割込み１８３，１８６を生成し、２つ目の通信状態に応じて定まる構成データのアドレスポインタb,d１０３−１を書き換える（１８４，１８７）。
【０１０９】
自律再構成向け割込み１８５，１８８が生成された場合、予め指定された構成データが、構成データキャッシュ１９５，１９６からＰＥマトリックス（＃１，２）１７８，１７９にロードされ（１９７，１９８）、再構成が行われる。再構成後に、１つ目の通信状態に対応する１つ目のパケットが、パケットバッファ（＃１，２）１５３，１５１から読み出され（１５７，１５５）、ＰＥマトリックス（＃１，２）１７８，１７９内部のＰＥ群１７８−３，１７９−３へと転送され（１６１，１６４）、演算処理が行われる。
【０１１０】
プログラム再構成向け割込み１８３，１８６が生成された場合、ＯＳ１８２が割込み１８３，１８６を受け取り、再構成向け関数１８１を呼び出す。
【０１１１】
再構成向け関数１８１は、構成データポインタa〜d１０３−１を読み込み（１９０）、構成データポインタa,c１０３−１（１つ目の通信状態が指定）によって定まる構成データを構成データエリア１０３−２から読出し（１８９）、構成データキャッシュ１９５，１９６へとロードする（１９１，１９２）。更に、構成データキャッシュ１９５，１９６にロードされた構成データは、構成データキャッシュ１９５，１９６からＰＥマトリックス（＃１，２）１７８，１７９にロードされ（１９７，１９８）、再構成が行われる。再構成後に、１つ目の通信状態に対応する１つ目のパケットが、パケットバッファ（＃１，２）１５３，１５１から読み出され（１５７，１５５）、ＰＥマトリックス（＃１，２）１７８，１７９内部のＰＥ群１７８−３，１７９−３へと転送され（１６１，１６４）、演算処理が行われる。
【０１１２】
更に、再構成向け関数１８１は、ＰＥ群１７８−３，１７９−３が１つ目のパケットの演算処理を実行している間に、構成データポインタb,d１０３−１（２つ目の通信状態が指定）が定める構成データを構成データエリア１０３−２から先読みし（１８９）、構成データキャッシュ１９５，１９６へとロードする（１９１，１９２）。
【０１１３】
以上により、ステップ１４１０の処理が終了する。
【０１１４】
ステップ１４０３において、通信状態バッファ（＃１，２）１５２，１５０に蓄積された通信状態の数が１つの場合、通信状態バッファ（＃１，２）１５２，１５０から１つの通信状態を読出し（１５６，１５４）、ＰＥマトリックス（＃１，２）１７８，１７９に向けて送信する（１６０，１６３）（ステップ１４０７）。読出し後に処理が終了していない処理中の通信状態の数は１に変化する。
【０１１５】
ステップ１４０３において、通信状態バッファ（＃１，２）１５２，１５０に蓄積された通信状態の数が１つではなく０個である場合、或いは、ステップ１４０４において、通信状態バッファ（＃１，２）１５２，１５０に蓄積された通信状態の数が０個である場合、通信状態バッファ（＃１，２）１５２，１５０に通信状態が蓄積されてから、通信状態を読出し（１５６，１５４）、ＰＥマトリックス（＃１，２）１７８，１７９に向けて送信する（１６０，１６３）（ステップ１４０９）。読出し後に処理が終了していない処理中の通信状態の数は１に変化する。
【０１１６】
データ読出し部（＃１，２）１５９，１５８におけるステップ１４０７またはステップ１４０９の後、ＤＲＰ１０２においてステップ１４１１が行われる。
【０１１７】
ステップ１４１１では、ＰＥマトリックス（＃１，２）１７８，１７９内部のＰＥ群１７８−１，１７８−２，１７９−１，１７９−２が、受信した通信状態に基づき、自律再構成向け割込み１８５，１８８またはプログラム再構成向け割込み１８３，１８６を生成し、通信状態に応じて定まる構成データのアドレスポインタa,c１０３−１を書き換える（１８４，１８７）。
【０１１８】
自律再構成向け割込み１８５，１８８が生成された場合、予め指定された構成データが、構成データキャッシュ１９５，１９６からＰＥマトリックス（＃１，２）１７８，１７９にロードされ（１９７，１９８）、再構成が行われる。再構成後に、通信状態に対応するパケットが、パケットバッファ（＃１，２）１５３，１５１から読み出され（１５７，１５５）、ＰＥマトリックス（＃１，２）１７８，１７９内部のＰＥ群１７８−３，１７９−３へと転送され（１６１，１６４）、演算処理が行われる。
【０１１９】
プログラム再構成向け割込み１８３，１８６が生成された場合、ＯＳ１８２が割込み１８３，１８６を受け取り、再構成向け関数１８１を呼び出す。
【０１２０】
再構成向け関数１８１は、構成データポインタa〜d１０３−１を読み込み（１９０）、構成データポインタa,c１０３−１によって定まる構成データを構成データエリア１０３−２から読出し（１８９）、構成データキャッシュ１９５，１９６へとロードする（１９１，１９２）。更に、構成データキャッシュ１９５，１９６にロードされた構成データは、構成データキャッシュ１９５，１９６からＰＥマトリックス（＃１，２）１７８，１７９にロードされ（１９７，１９８）、再構成が行われる。再構成後に、通信状態に対応するパケットが、パケットバッファ（＃１，２）１５３，１５１から読み出され（１５７，１５５）、ＰＥマトリックス（＃１，２）１７８，１７９内部のＰＥ群１７８−３，１７９−３へと転送され（１６１，１６４）、演算処理が行われる。
【０１２１】
以上により、ステップ１４１１の処理が終了する。
【０１２２】
ステップ１４０４において、通信状態バッファ（＃１，２）１５２，１５０に蓄積された通信状態の数が０個ではなく１個以上である場合、通信状態バッファ（＃１，２）１５２，１５０から１つの通信状態を読出し（１５６，１５４）、ＰＥマトリックス（＃１，２）１７８，１７９に向けて送信する（１６０，１６３）（ステップ１４０８）。読出し後に処理が終了していない処理中の通信状態の数は２に変化する。
【０１２３】
データ読出し部（＃１，２）１５９，１５８におけるステップ１４０８の後、ＤＲＰ１０２においてステップ１４１２が行われる。
【０１２４】
ステップ１４１２では、ＰＥマトリックス（＃１，２）１７８，１７９内部のＰＥ群１７８−１，１７８−２，１７９−１，１７９−）が、受信した通信状態に基づき、プログラム再構成向け割込み１８３，１８６を生成し、通信状態に応じて定まる構成データのアドレスポインタb,d１０３−１を書き換える（１８４，１８７）。
【０１２５】
プログラム再構成向け割込み１８３，１８６が生成された場合、ＯＳ１８２が割込み１８３，１８６を受け取り、再構成向け関数１８１を呼び出す。
【０１２６】
再構成向け関数１８１は、ステップ１４１０において先読み１８９およびロード１９１，１９２してあった構成データをＰＥマトリックス（＃１，２）１７８，１７９にロードし（１９７，１９８）、再構成を行う。再構成後に、以前受信した通信状態に対応するパケットが、パケットバッファ（＃１，２）１５３，１５１から読み出され（１５７，１５５）、ＰＥマトリックス（＃１，２）１７８，１７９内部のＰＥ群１７８−３，１７９−３へと転送され（１６１，１６４）、演算処理が行われる。
【０１２７】
更に、再構成向け関数１８１は、以前受信した通信状態に対応するパケットの演算処理をＰＥ群１７８−３，１７９−３が実行している間に、構成データポインタb,d１０３−１（新たに受信した通信状態が指定）が定める構成データを構成データエリア１０３−２から先読みし（１８９）、構成データキャッシュ１９５，１９６へとロードする（１９１，１９２）。
【０１２８】
以上により、ステップ１４１２の処理が終了する。
【０１２９】
以上に述べたステップ１４０１〜１４１２の処理により、演算マトリックスが、第一のパケットを演算処理している間に、第二のパケットの演算に必要な構成情報を、第二のパケットに対応する通信状態に基づいて、外部メモリから構成データキャッシュに先読み転送することが可能となる。
【０１３０】
ステップ１４０１〜１４１２の処理の後、ＰＥ群１７８−３，１７９−３において演算処理が行われ、新たな通信状態１６６，１６７が通信状態書込み部１３８に出力される。
【０１３１】
通信状態書込み部１３８は、新たな通信状態１６６，１６７を通信状態テーブル１３２に書き込む（１３９）。
【０１３２】
ＰＥ群１７８−３，１７９−３における演算処理が終了すると、別のＰＥ群１７８−４，１７９−４が、新たに生成されたパケットに対して、ＴＣＰ／ＩＰチェックサムを計算して、計算済みパケット１６８，１６９を、パケットバッファ１７０，１７１に逐一送信する。全てのパケットを送信すると、演算終了通知１６５，１６２を、データ読出し部（＃１，２）１５９，１５８と、スケジューリング部１４２と、処理中通信記録部１２８と、パケット読出し部１１９に送信する。
【０１３３】
スケジューリング部１４２は、演算終了通知１６５，１６２を受け取ると、ＩＮＩ＿ＰＯＩＮＴ（＃１，２）１００３，１００８が指定する処理中通信状態ＳＴＡＴＥ（＃１，２）１００２，１００７を削除した上で、ＩＮＩ＿ＰＯＩＮＴ（＃１，２）１００３，１００８の値を１つインクリメントする。但し、インクリメント前のＩＮＩ＿ＰＯＩＮＴ（＃１，２）１００３，１００８に記載の通信状態がＳＴＡＴＥ（＃１，２）１００２−ｋ，１００７−ｋのときは、ＩＮＩ＿ＰＯＩＮＴ（＃１，２）１００３，１００８をＳＴＡＴＥ（＃１，２）１００２−１，１００７−１のアドレス値に変更する。
【０１３４】
処理中通信記録部１２８は、演算終了通知１６５，１６２を受け取ると、先頭エントリ８０１−１を削除して、残りのエントリ８０１を先頭エントリ８０１−１から順番に並べ替える。
【０１３５】
パケット読出し部１１９は、演算終了通知１６５，１６２を受け取ると、処理中パケット数１２０の値を１ディクリメントする。
【０１３６】
最後に、集約器１７５が、分類器１０４からのパケット１７４と、パケットバッファ１７０，１７１から読み出したパケット１７２，１７３と、を集約して、スイッチ１０１に向けて送信する（１７６）。
【０１３７】
以上述べた装置２００により、通信状態に基づくパケット毎再構成を行う動的再構成プロセッサ搭載装置において、ＰＥマトリックスを複数備える場合に、スケジューリング部が、ＰＥマトリックスにパケットを適切に割り当てることで、キャッシュミスを抑制し、構成データのロード時間を削減することが可能となり、更に、この動的再構成プロセッサ搭載装置が、第一のパケットを演算処理中に、第二のパケットの演算処理に必要な構成データを先読み転送することで、キャッシュミスによるロード時間を短縮することが可能となる。
【０１３８】
図１２は、通信状態テーブル１３２が蓄積する通信状態（Ｆ−ＳＴＡＴＥ９１１，Ｂ−ＳＴＡＴＥ９２１）の遷移の一例図を示す。
【０１３９】
Ｆ−ＳＴＡＴＥ９１１は、パケットデータと、通信状態テーブル内のＦ−ＳＴＡＴＥ９１１の値に応じて変化する。最初の段階では、Ｆ−ＳＴＡＴＥ９１１はＴＣＰコネクション状態における”ＣＬＯＳＥＤ”（通信停止）を意味する'０ｘ００００'である（１２０１）。ＳＹＮパケットを受信すると（図１２におけるｒｃｖ  ＳＹＮ）、Ｆ−ＳＴＡＴＥ９１１は、”ＳＹＮ  ＲＣＶＤ”（接続開始）を意味する'０ｘ０００１'に変化する（１２０２）。更に、ＡＣＫパケットを受信すると（図１２におけるｒｃｖ  ＡＣＫ）、Ｆ−ＳＴＡＴＥ９１１は、”ＥＳＴＡＢ”（通信確立）を意味する'０ｘ０００３'に変化する（１２０３）。
【０１４０】
Ｆ−ＳＴＡＴＥ９１１が'０ｘ０００３'になった後は、到着パケットのペイロードに応じて変化する。
【０１４１】
パケットのペイロードがＨＴＴＰプロトコル内にＧＥＴコマンドを含む場合、Ｆ−ＳＴＡＴＥ９１１は、クライアントによって要求されたファイルの返信を要求する”ＨＴＴＰ  ＧＥＴ”を意味する'０ｘ０００７'に変化する（１２０４）。
【０１４２】
パケットのペイロードがＨＴＴＰプロトコル内に引数”／ｉｎｓｅｒｔ”を持つＰＯＳＴコマンドを含む場合、Ｆ−ＳＴＡＴＥ９１１は，クライアントが送ってきたアイテムデータのデータベースへの登録を要求する”ＨＴＴＰ  ＰＯＳＴ  ＩＮＳＥＲＴ”を意味する'０ｘ０００Ｆ'に変化する（１２０５）。
【０１４３】
パケットのペイロードがＨＴＴＰプロトコル内に引数”／ｓｅｌｅｃｔ”を持つＰＯＳＴコマンドを含む場合、Ｆ−ＳＴＡＴＥ９１１は、データベースからのアイテムデータ選択を要求する”ＨＴＴＰ  ＰＯＳＴ  ＳＥＬＥＣＴ”を意味する'０ｘ００１Ｆ'に変化する（１２０６）。
【０１４４】
パケットのペイロードがＨＴＴＰプロトコル内に引数”／ｃｈｅｃｋ”を持つＰＯＳＴコマンドを含む場合、Ｆ−ＳＴＡＴＥ９１１は、データベースのアイテムデータ登録状況の確認を要求する”ＨＴＴＰ  ＰＯＳＴ  ＣＨＥＣＫ”を意味する'０ｘ００３Ｆ'に変化する（１２０７）。
【０１４５】
パケットのペイロードがＨＴＴＰプロトコル内に引数”／ｕｐｄａｔｅ”を持つＰＯＳＴコマンドを含む場合、Ｆ−ＳＴＡＴＥ９１１は、データベースのアイテムデータ更新を要求する”ＨＴＴＰ  ＰＯＳＴ  ＵＰＤＡＴＥ”を意味する'０ｘ００７Ｆ'に変化する（１２０８）。
【０１４６】
パケットのペイロードがＨＴＴＰプロトコル内に引数”／ｄｅｌｅｔｅ”を持つＰＯＳＴコマンドを含む場合、Ｆ−ＳＴＡＴＥ９１１は、データベースのアイテムデータ削除を要求する”ＨＴＴＰ  ＰＯＳＴ  ＤＥＬＥＴＥ”を意味する'０ｘ００ＦＦ'に変化する（１２０９）。
【０１４７】
パケットのペイロードがＨＴＴＰプロトコル内に引数”／ＵＰＬＯＡＤ”を持つＧＥＴコマンドを含む場合、Ｆ−ＳＴＡＴＥ９１１は、データベースのアイテムデータのサーバへのアップロードを要求する”ＨＴＴＰ  ＧＥＴ  ＵＰＬＯＡＤ”を意味する'０ｘ００ＦＦ'に変化する（１２１０）。
【０１４８】
また、Ｆ−ＳＴＡＴＥ９１１が'０ｘ０００７'，'０ｘ０００Ｆ'，'０ｘ００１Ｆ'，'０ｘ００３Ｆ'，'０ｘ００７Ｆ'，'０ｘ００ＦＦ'，'０ｘ０１０７'になった後で、ＨＴＴＰプロトコルのコマンドによって要求された処理が全て終了すると、Ｆ−ＳＴＡＴＥ９１１は'０ｘ０００３'に戻る（１２０３）。更に、重複ＡＣＫを持つパケットが来ると、'０ｘ０４００'がＦ−ＳＴＡＴＥ９１１に加算され、ＴＣＰ輻輳制御のファーストリトランスミットとファーストリカバリを要求する”ＤＵＰ”の付いた状態となる（１２１１）。ＦＩＮ−ＡＣＫ／ＲＳＴ−ＡＣＫパケットが到着すると、Ｆ−ＳＴＡＴＥ９１１はそれまでの値に関わらず強制的に'０ｘ００００'に戻る（１２０１）。
【０１４９】
Ｂ-ＳＴＡＴＥ９２１は、サーバデータをキャッシュにダウンロードしたり、キャッシュに蓄積したデータベースの内容をサーバにアップロードしたりするときに変化する。
【０１５０】
最初の段階では、Ｂ−ＳＴＡＴＥ９１１はＴＣＰコネクション状態における”ＣＬＯＳＥＤ”（通信停止）を意味する'０ｘ００００'である（１２１２）。
【０１５１】
Ｆ−ＳＴＡＴＥ９１１が'０ｘ０００７'の時、クライアントから要求されたファイルがアプライアンスのメモリに蓄積されていない場合、Ｂ-ＳＴＡＴＥ９２１は”ＳＹＮ  ＳＥＮＴ”（接続開始）を意味する'０ｘ０００１'に変化する（１２１３）。また、Ｆ−ＳＴＡＴＥ９１１が'０ｘ０１０７'の時も、Ｂ−ＳＴＡＴＥ９１１は”ＳＹＮ  ＳＥＮＴ” （接続開始）を意味する'０ｘ０００１'に変化する（１２１３）。
【０１５２】
更に、ＳＹＮパケットが装置２００からバックエンドのサーバ５０４に送信された後で、ＳＹＮ−ＡＣＫパケットがサーバ５０４から到着すると、Ｆ−ＳＴＡＴＥ９１１が'０ｘ０００７'の場合、Ｂ-ＳＴＡＴＥ９２１は、サーバ５０４から装置２００へのファイルダウンロードを要求する”ＤＯＷＮＬＯＡＤ”を意味する'０ｘ０００Ｂ'に変化する（１２１４）。Ｆ−ＳＴＡＴＥ９１１が'０ｘ０１０７'の場合、Ｂ-ＳＴＡＴＥ９２１は、アプライアンス内のメモリにキャッシュされたデータベースをサーバへアップロードすることを要求する”ＵＰＬＯＡＤ”を意味する'０ｘ０１０Ｂ'に変化する（１２１５）。
【０１５３】
なお、ＦＩＮ−ＡＣＫ／ＲＳＴ−ＡＣＫパケットが到着すると、Ｂ-ＳＴＡＴＥ９２１はそれまでの値に関わらず強制的に'０'に戻る。
【０１５４】
図１３は、通信状態に応じて使用する構成データがパケット毎に変化する様子を示した、構成データサイクルの一例図を示す。
【０１５５】
「Ｉｎｔｅｒｒｕｐｔ  ａｎｄ  Ｏｕｔｐｕｔ  Ｃｏｎｆｉｇ．」（１３０１）は、パケットＩ／ＯからＤＲＰへ通信状態を入力する時に、常に実行される。本構成は、全てのパケットに対して行われ、割込みを生成する処理と、ＴＣＰ／ＩＰチェックサムを計算してパケットを送信する処理を実行する。更に、本構成は使用頻度が最も高いため、構成データキャッシュに常にキャッシュすることが望ましい。
【０１５６】
「ＴＣＰ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０２）は、ＴＣＰコネクション制御に特化しており、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ００００’，‘０ｘ０００１’，‘０ｘ０００３’，‘０ｘ０４＊＊’である場合に使用される。本構成は、異常なＴＣＰセグメントシーケンス／確認番号を持つパケットを廃棄する他、通信状態が“ＳＹＮ  ＲＣＶＤ”の時にＳＹＮ−ＡＣＫパケットの生成と、通信状態が“ＣＬＯＳＥＤ”の時にＲＳＴ／ＦＩＮ−ＡＣＫおよびＡＣＫパケットの生成を行う。更に、本構成は使用頻度が最も高いため、構成データキャッシュに常にキャッシュすることが望ましい。
【０１５７】
「ＨＴＴＰ  ＧＥＴ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０３）は、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ０００７’である場合に使用される。はじめに、クライアント要求ファイルがキャッシュに蓄積されているか否かを判定する。更に、要求ファイルがキャッシュされている場合、クライアント向けに、キャッシュに蓄積された要求ファイルのデータを含むパケットを生成する。要求ファイルがキャッシュされていない場合は、バックエンドのサーバとコネクションを張るためのＳＹＮパケットを生成する他、Ｂ−ＳＴＡＴＥ９２１を‘０ｘ０００Ｂ’に設定する。
【０１５８】
「ＤＯＷＮＬＯＡＤ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０４）は、通信状態のＦ−ＳＴＡＴＥ９１１が０ｘ０００Ｂ’である場合に使用される。本構成は、サーバからアプライアンスにファイルをダウンロードする。
【０１５９】
「ＨＴＴＰ  ＰＯＳＴ  ／ｓｅｌｅｃｔ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０５）は、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ００１Ｆ’である場合に使用される。本構成は、パケットのｓｅｌｅｃｔコマンドが指定する内容に応じてアプライアンスのメモリ内のＤＢからアイテムデータを選択して、ＨＴＭＬ／ＸＭＬテキスト形式に翻訳したアイテムデータから成るパケットを生成する。
【０１６０】
「ＨＴＴＰ  ＰＯＳＴ  ／ｃｈｅｃｋ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０６）は、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ００３Ｆ’である場合に使用される。本構成は、クライアントが指定したアイテムデータがＤＢに登録されているか否かを判定して判定結果を通知するパケットを生成する。
【０１６１】
「ＨＴＴＰ  ＰＯＳＴ  ／ｄｅｌｅｔｅ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０７）は、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ００ＦＦ’である場合に使用される。本構成は、クライアントが指定したアイテムデータをＤＢから削除して、削除の結果を通知するパケットを生成する。
【０１６２】
「ＨＴＴＰ  ＧＥＴ  ／ＵＰＬＯＡＤ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０８）は、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ０１０７’である場合に使用される。本構成は、Ｂ−ＳＴＡＴＥ９２１を‘０ｘ０００Ｂ’に設定して、バックエンドのサーバ向けにＳＹＮパケットと、クライアント向けにアップロードを開始したことを通知するパケットを生成する。
【０１６３】
「ＵＰＬＯＡＤ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０９）は、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ０１０Ｂ’である場合に使用される。本構成は、アプライアンスのメモリに蓄積されたＤＢの内容をサーバにアップロードする。
【０１６４】
「ＨＴＴＰ  ＰＯＳＴ  ／ｉｎｓｅｒｔ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．１」（１３１０）は、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ０００Ｆ’である場合に使用される。本構成は、クライアントから挿入されるデータがＤＢにすでに登録されているかどうかを判定する。判定結果に基づき、クライアントから挿入されるデータがＤＢに登録されていない場合、ＤＲＰは「ＨＴＴＰ  ＰＯＳＴ  ／ｉｎｓｅｒｔ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．２」（１３１１）を使用する。本構成は、アプライアンスのメモリ内のＤＢにクライアントから送付されたアイテムデータを挿入して、データが正しく挿入されたことをクライアントに通知するパケットを生成する。一方で、クライアントから挿入されるデータがＤＢに登録されている場合、ＤＲＰは「ＨＴＴＰ  ＰＯＳＴ  ／ｉｎｓｅｒｔ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．３」（１３１２）を使用する。本構成は，エラーメッセージを出力するパケットを生成する。
【０１６５】
「ＨＴＴＰ  ＰＯＳＴ  ／ｕｐｄａｔｅ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．１」（１３１３）は、通信状態のＦ−ＳＴＡＴＥ９１１が‘０ｘ００７Ｆ’である場合に使用される。本構成は、クライアントがアップデート対象に指定したアイテムデータをＤＢから削除する。その後で、再構成により、「ＨＴＴＰ  ＰＯＳＴ  ／ｕｐｄａｔｅ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．２」（１３１４）に切替えて使用する。本構成は、クライアントがアップデートするアイテムデータをＤＢに登録する。
【０１６６】
通信状態毎に異なる処理が終了すると，PEマトリックスは自律再構成により最初の構成「Ｉｎｔｅｒｒｕｐｔ  ａｎｄ  Ｏｕｔｐｕｔ  Ｃｏｎｆｉｇ．」に再構成される。
【０１６７】
図１５〜１８は、装置２００が実現するサーバサービスのシーケンスの一例図を示す。
【０１６８】
図１５は、「ＴＣＰ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０２）によるＴＣＰコネクション制御を示す。装置２００は、フロントエンド５０１の端末からバックエンド端末としてのサーバ５０４向けの接続要求パケットを受信すると（１５０１）、ランダムな値ＹをＳＥＱ番号に付与した（１５０２）ＳＹＮ−ＡＣＫパケットを返信する（１５０３）。接続要求パケットの送信元が、送信元を偽称した攻撃者１５００である場合、攻撃者１５００は、ＳＹＮ−ＡＣＫパケットを受信できないため、Ｙの値が分からない（１５０４）。そのため、攻撃者１５００からのＡＣＫパケット（１５０５）は、正しい値Ｙ＋１を持たず、異常と判定され廃棄される（１５０６）。更に、同一送信元からの連続送信ＳＹＮパケット（１５０７）も廃棄される（１５０８）。装置２００は、ＡＣＫ番号がＹ＋１であるＡＣＫパケット（１５０９）を受信した時点で、正常な通信と判定して（１５１０）、ＴＣＰ通信を確立する。
【０１６９】
図１６は、「ＤＯＷＮＬＯＡＤ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０４）によるサーバ５０４から装置２００へのファイルのダウンロードと、「ＨＴＴＰ  ＧＥＴ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０３）による装置２００からフロントエンド端末５０１へのファイルのダウンロードを示す。
【０１７０】
はじめに、アクセス端末５０１と装置２００の間において、ＴＣＰの３−Ｗａｙ−Ｈａｎｄｓｈａｋｅにより、ＳＹＮパケット１６０１、ＳＹＮ−ＡＣＫパケット１６０２、ＡＣＫパケット１６０３がやりとりされ、ＴＣＰ通信が確立する。その後、アクセス端末５０１が、ＨＴＴＰのＧＥＴコマンドにて、ファイルＡを要求するパケット１６０４を送信する。
【０１７１】
装置２００は、サーバファイルをキャッシュするファイルテーブル１６０７と、ファイル毎にアドレスポインタを記録するファイルポインタテーブル１６０６を備える。
【０１７２】
ファイルＡを要求するパケット１６０４が到着すると、ファイルポインタテーブル１６０６を検索し、ＧＥＴコマンドが要求するファイルＡのキャッシュ有無を判定する（１６０５）。
【０１７３】
ファイルＡがファイルテーブル１６０７にキャッシュされていない場合は、ＳＹＮパケット１６０８とＳＹＮ−ＡＣＫパケット１６０９とＡＣＫパケット１６１０を用いたＴＣＰの３−Ｗａｙ−Ｈａｎｄｓｈａｋｅによりサーバ５０４に接続する。更に、ファイルＡを要求するパケット１６１１を送信して、サーバ５０４が持つファイルＡ（１６１８）をＴＣＰ制御に従ってダウンロードし（１６１１〜１６１７）、ファイルテーブル１６０７に記録する。更に、ファイルポインタテーブル１６０６に、ファイルＡの名前と、ファイルＡがキャッシュされているアドレスポインタを記録し、蓄積済みとする（１６２０）。
【０１７４】
ファイルＡがファイルテーブル１６０７にキャッシュされている場合は、ファイルテーブルにキャッシュ済みのファイルＡ（１６２２）を、フロントエンド端末５０１に、ＴＣＰ制御に従って返信する（１６２４〜１６３０）。
【０１７５】
図１７は、「ＨＴＴＰ  ＰＯＳＴ  ／ｉｎｓｅｒｔ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．１〜３」（１３１０〜１３１２）によるフロントエンド端末５０４から装置２００へのアイテムデータの登録と、「ＨＴＴＰ  ＰＯＳＴ  ／ｓｅｌｅｃｔ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０５）による装置２００内のアイテムデータの選択と、「ＨＴＴＰ  ＰＯＳＴ  ／ｕｐｄａｔｅ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．１，２」（１３１３，１３１４）による装置２００内のアイテムデータの更新と、「ＨＴＴＰ  ＰＯＳＴ  ／ｄｅｌｅｔｅ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０７）による装置２００内のアイテムデータの削除を示す。
【０１７６】
装置２００は、サーバのデータベースのエントリをキャッシュするデータベーステーブル１７１３と、エントリが含むアイテムに応じて複数個のポインタを記録するポインタテーブル１７１２を備える。
【０１７７】
ＨＴＴＰプロトコル上で、3つのアイテムデータからなるエントリの登録を要求するＰＯＳＴコマンド付パケット１７０１が装置２００に到着すると、装置２００はポインタテーブル１７１２を用いて、登録要求のあったエントリがデータベーステーブルに登録済みか否かを判定する。未登録の場合は、３つのアイテムデータを用いて複数のポインタを生成して、ポインタテーブル１７１２に登録する。更に，データベーステーブル１７１３に登録要求のあったエントリを登録する。
【０１７８】
ＨＴＴＰプロトコル上で、特定のアイテムデータを持つエントリの削除を要求するＰＯＳＴコマンド付パケット１７０２が装置２００に到着すると、削除要求のあったアイテムデータを含むエントリによって生成されるポインタと、削除要求のあったアイテムデータを持つエントリを、ポインタテーブル１７１２およびデータベーステーブル１７１３から削除する。
【０１７９】
ＨＴＴＰプロトコル上で、特定のアイテムデータを持つエントリの更新を要求するＰＯＳＴコマンド付パケット１７０３が装置２００に到着すると、更新要求のあったアイテムデータを含むエントリによって生成されるポインタと、更新要求のあったアイテムデータを持つエントリを、ポインタテーブル１７１２およびデータベーステーブル１７１３から削除する。更に、新たな３つのアイテムデータを用いて生成されるポインタと、新たな３つのアイテムデータからなるエントリを、ポインタテーブル１７１２およびデータベーステーブル１７１３に挿入する。
【０１８０】
ＨＴＴＰプロトコル上で、特定のアイテムデータを持つエントリの選択を要求するＰＯＳＴコマンド付パケット１７０４が装置２００に到着すると、選択要求のあったアイテムデータを持つエントリを、ポインタテーブル１７１２およびデータベーステーブル１７１３から選択する。
【０１８１】
データの登録／更新／選択／削除の処理が終了すると、ＴＣＰ制御に従って処理結果がフロントエンド端末に返信される（１７０５〜１７１１）。
【０１８２】
図１８は、ＵＰＬＯＡＤ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇ．」（１３０９）による、装置２００内のデータベーステーブル１７１３からサーバ５０４への、アイテムデータのアップロードを示す。
【０１８３】
装置２００は、データベーステーブル１７１３にキャッシュされたアイテムデータのサーバ５０４へのアップロードを要求するＧＥＴコマンド付パケット１８０１を受信する。その後、ＳＹＮパケット１８１２とＳＹＮ−ＡＣＫパケット１８１３とＡＣＫパケット１８１４を用いたＴＣＰの３−Ｗａｙ−Ｈａｎｄｓｈａｋｅによりサーバ５０４に接続する。更に、アイテムデータのアップロードを要求するパケット１８１５を送信して、アイテムデータをＴＣＰ制御に従ってアップロードする（１８１６〜１８２３）。サーバ５０４は、アップロードされたデータを用いて、データベースの内容を更新する。また、装置２００は、アップロードの結果を、ＴＣＰ制御に従ってアクセス端末５０４に通知する（１８０２〜１８０８）。
【０１８４】
以上述べた図１２と図１３と図１５〜１８に示した処理を、動的再構成プロセッサ搭載装置が実施することで、端末間の通信状態に基づくパケット毎再構成による多様なサーバサービスが実現する。
【図面の簡単な説明】
【０１８５】
【図１】第一の実施例のパケットＩ／Ｏおよび動的再構成プロセッサおよびメモリの構成ブロック図。
【図２】第一の実施例の情報処理装置の構成ブロック図。
【図３】第一の実施例における動的再構成プロセッサの構成ブロック図。
【図４】第一の実施例における動的再構成プロセッサの動作を示す説明図。
【図５】第一の実施例の適用システムの説明図。
【図６】第一の実施例の適用システムの説明図。
【図７】第一の実施例におけるパケットデータの説明図。
【図８】第一の実施例における処理中通信テーブルの一例の説明図。
【図９】第一の実施例における通信状態テーブルの一例の説明図。
【図１０】第一の実施例における処理中通信状態テーブルの一例の説明図。
【図１１】第一の実施例における通信状態の組合せの一例の説明図。
【図１２】第一の実施例における通信状態の遷移の一例の説明図。
【図１３】第一の実施例における構成データの再構成サイクルの一例の説明図。
【図１４Ａ】第一の実施例における構成データ先読み・ロードの際のフローチャート図。
【図１４Ｂ】第一の実施例における変更済み通信状態とパケットをバッファに転送する際のフローチャート図。
【図１５】第一の実施例におけるＴＣＰ通信制御を示すシーケンス図。
【図１６】第一の実施例のサーバファイルの装置およびフロントエンド端末へのダウンロードを示すシーケンス図。
【図１７】第一の実施例のアイテムデータの登録／更新／選択／削除を示すシーケンス図。
【図１８】第一の実施例のアイテムデータのサーバへのアップロードを示すシーケンス図。
【図１９】本発明の前提とした、通信状態に基づくパケット毎自己再構成を用いた動的再構成プロセッサ搭載装置の構成ブロック図。
【符号の説明】
【０１８６】
２００…装置、１００…パケットＩ／Ｏ、１０２…動的再構成プロセッサ、１０３…メモリ、５０１…フロントエンドネットワーク、５０２…エッジネットワーク、５０３…バックエンドシステム。
【図１】
2009021774.tif 000003
【図２】
2009021774.tif 000004
【図３】
2009021774.tif 000005
【図４】
2009021774.tif 000006
【図５】
2009021774.tif 000007
【図６】
2009021774.tif 000008
【図７】
2009021774.tif 000009
【図８】
2009021774.tif 000010
【図９】
2009021774.tif 000011
【図１０】
2009021774.tif 000012
【図１１】
2009021774.tif 000013
【図１２】
2009021774.tif 000014
【図１３】
2009021774.tif 000015
【図１４Ａ】
2009021774.tif 000016
【図１４Ｂ】
2009021774.tif 000017
【図１５】
2009021774.tif 000018
【図１６】
2009021774.tif 000019
【図１７】
2009021774.tif 000020
【図１８】
2009021774.tif 000021
【図１９】
2009021774.tif 000022
【手続補正書】
【提出日】平成19年10月15日(2007.10.15)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2009021774.tif 000023