(57)【要約】【課題】並列分散処理システムにおいて、データの到着が遅れる高負荷状態を回避し、転送用のキューが長くなるのを抑制する。【解決手段】複数の情報処理端末装置２を使用してデータの並列分散処理を行う並列分散処理システムは、送信先端末装置３からの要求に同期して送信元端末装置１からパケットを送信するコネクションレス型通信を行う。情報処理端末装置２は、タスク起動時に管理装置６から予約ＩＰアドレスを予め受信しておき、スイッチ５において未処理チャンクのパケットと処理済みチャンクのパケットとを区別できるように、未処理チャンクのパケットに対し、そのヘッダに予約ＩＰアドレスを設定してスイッチ５へ転送する。スイッチ５は、未処理チャンクのパケットを受信すると、管理装置６から転送方法を規定したフローテーブルを受信して、未処理チャンクのパケットを予備情報処理端末装置４へ転送する。【選択図】図２
2015023320.tif 000002
【特許請求の範囲】
【請求項１】
パケットに含まれるデータに所定の処理を施す複数の情報処理端末装置、所定のテーブルに従ってパケットを転送するスイッチ、及び前記複数の情報処理端末装置を用いてデータの並列分散処理を行う並列分散管理装置を含む並列分散処理システムにおける前記並列分散管理装置において、
前記データに所定の処理を施した場合に、処理済みのデータを含むパケットとして送信すると共に、前記データに所定の処理を施さなかった場合に、前記所定の処理を施していないことを示す情報を前記パケットのヘッダに格納し、未処理のデータを含むパケットとして送信するための制御命令を生成し、前記制御命令を前記情報処理端末装置へ送信する制御命令生成送信手段と、
前記未処理のデータに前記所定の処理を施す予備情報処理端末装置を割り当てる予備割当手段と、
前記ヘッダに格納された情報に基づいて前記未処理のデータを含むパケットを区別すると共に、前記未処理のデータを含むパケットを、前記予備割当手段により割り当てられた予備情報処理端末装置へ転送するためのテーブルを生成し、前記テーブルを前記スイッチへ送信するテーブル生成送信手段と、
を備えたことを特徴とする並列分散管理装置。
【請求項２】
請求項１に記載の並列分散管理装置において、
さらに、前記情報処理端末装置に備えた前記パケットを蓄積する受信バッファにおけるキューの長さに基づいて、ボトルネックの発生を判定するボトルネック判定手段を備え、
前記ボトルネック判定手段によりボトルネックの発生が判定された場合に、
前記予備割当手段が前記予備情報処理端末装置を割り当て、前記テーブル生成送信手段が前記テーブルを生成して前記スイッチへ送信する、ことを特徴とする並列分散管理装置。
【請求項３】
請求項２に記載の並列分散管理装置において、
前記制御命令生成送信手段は、
さらに、前記情報処理端末装置に備えた前記パケットを蓄積する受信バッファにおけるキューの長さが閾値を超えていない場合に前記所定の処理を施し、前記閾値を超えている場合に前記所定の処理を施さないように判定させるための前記閾値を、前記情報処理端末装置へ送信し、前記ボトルネック判定手段によりボトルネックの発生が判定された場合に、前記閾値よりも小さい閾値にて前記所定の処理を施すか否かを判定させるための前記小さい閾値を、前記情報処理端末装置へ送信する、ことを特徴とする並列分散管理装置。
【請求項４】
請求項２または３に記載の並列分散管理装置において、
前記ボトルネック判定手段によりボトルネックの発生を判定した場合に、
前記データに所定の処理を施す情報処理端末装置を増加すると共に、前記予備割当手段が前記予備情報処理端末装置を割り当て、前記テーブル生成送信手段が前記テーブルを生成して前記スイッチへ送信する、ことを特徴とする並列分散管理装置。
【請求項５】
請求項１または２に記載の並列分散管理装置において、
さらに、前記スイッチから転送方法不明のパケットを受信する受信手段と、
前記受信手段により受信された転送方法不明のパケットのヘッダに、前記情報処理端末装置により前記所定の処理を施していないことを示す情報が格納されているか否かを判定し、前記所定の処理を施していないことを示す情報が格納されている場合、前記転送方法不明のパケットが前記未処理のデータを含むパケットであると判断する転送不明パケット判定手段と、を備え、
前記転送不明パケット判定手段により前記転送方法不明のパケットが前記未処理のデータを含むパケットであると判断された場合に、
前記予備割当手段が前記予備情報処理端末装置を割り当て、前記テーブル生成送信手段が前記テーブルを生成して前記スイッチへ送信する、ことを特徴とする並列分散管理装置。
【請求項６】
請求項５に記載の並列分散管理装置において、
前記制御命令生成送信手段は、
さらに、前記情報処理端末装置に備えた前記パケットを蓄積する受信バッファにおけるキューの長さが閾値を超えていない場合に前記所定の処理を施し、前記閾値を超えている場合に前記所定の処理を施さないように判定させるための前記閾値を、前記情報処理端末装置へ送信し、
前記受信手段は、
前記スイッチが前記情報処理端末装置から前記閾値を超えていない場合の前記未処理のデータを含むパケットを受信した際に、前記スイッチから、前記パケットを転送方法不明のパケットとして受信する、ことを特徴とする並列分散管理装置。
【請求項７】
請求項６に記載の並列分散管理装置において、
前記制御命令生成送信手段は、
さらに、前記転送不明パケット判定手段により前記転送方法不明のパケットが前記未処理のデータを含むパケットであると判断された場合に、前記閾値よりも小さい閾値にて前記所定の処理を施すか否かを判定させるための前記小さい閾値を、前記情報処理端末装置へ送信する、ことを特徴とする並列分散管理装置。
【請求項８】
コンピュータを、請求項１から７までのいずれか一項に記載の並列分散管理装置として機能させるためのプログラム。
【請求項９】
パケットに含まれるデータに所定の処理を施す複数の情報処理端末装置、所定のテーブルに従ってパケットを転送するスイッチ、及び前記複数の情報処理端末装置を用いてデータの並列分散処理を行う並列分散管理装置を含む並列分散処理システムにおいて、
前記並列分散管理装置は、
前記データに所定の処理を施した場合に、処理済みのデータを含むパケットとして送信すると共に、前記データに所定の処理を施さなかった場合に、前記所定の処理を施していないことを示す情報を前記パケットのヘッダに格納し、未処理のデータを含むパケットとして送信するための制御命令を生成し、前記制御命令を前記情報処理端末装置へ送信する制御命令生成送信手段と、
前記未処理のデータに前記所定の処理を施す予備情報処理端末装置を割り当てる予備割当手段と、
前記ヘッダに格納された情報に基づいて前記未処理のデータを含むパケットを区別すると共に、前記未処理のデータを含むパケットを、前記予備割当手段により割り当てられた予備情報処理端末装置へ転送するためのテーブルを生成し、前記テーブルを前記スイッチへ送信するテーブル生成送信手段と、を備え、
前記情報処理端末装置は、
前記並列分散管理装置から制御命令を受信して前記制御命令を実行する実行手段と、
前記パケットを受信し、前記実行手段により実行された制御命令に従って、前記パケットに含まれるデータに所定の処理を施した場合に、処理済みのデータを含むパケットとして送信すると共に、前記パケットに含まれるデータに所定の処理を施さなかった場合に、前記所定の処理を施していないことを示す情報を前記パケットのヘッダに格納し、未処理のデータを含むパケットとして送信する処理実行手段と、を備え、
前記スイッチは、
前記並列分散管理装置からテーブルを受信して保持し、前記テーブルに従ってパケット転送を実行する実行手段と、
前記情報処理端末装置からパケットを受信し、前記実行手段により実行されたパケット転送に従って、前記パケットのヘッダに格納された情報に基づいて前記未処理のデータを含むパケットを区別し、前記未処理のデータを含むパケットを、前記予備情報処理端末装置へ転送するパケット転送手段と、を備えたことを特徴とする並列分散処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された複数の端末装置間で送受信するデータの並列分散処理技術に関し、特に、並列分散処理の負荷分散を行う並列分散管理装置、プログラム及び並列分散処理システムに関する。
【背景技術】
【０００２】
従来、放送局では、放送局内外とコンテンツを交換する機会が多く、コンテンツを交換する際のファイルフォーマット及び解像度は、用途に応じて望ましい仕様があることから、用途毎に異なるものとなる。このため、コンテンツを交換する際に望ましいファイルフォーマットに変換する等、ファイル転送と同時に任意のコンテンツ処理を行うことにより、処理時間を短縮したり、利便性の向上を実現したりすることができる。さらに、コンテンツを利用できるようにするまでの時間に締め切りがある場合には、リアルタイム処理を行うこと等により、処理時間が保証されることが望ましい。
【０００３】
このような処理の高速化を実現する手法の一つに、並列分散処理がある。以下、並列分散処理とは、分散配置された複数の中継装置が並行して所定のコンテンツ処理（情報処理）を行うことをいう。例えば、複数の中継装置がプロセスをそれぞれ起動し、送信装置に蓄積されているデータを複数の中継装置へ送信し、複数の中継装置に並列に所定の情報処理を行わせ、処理結果を転送して受信装置に蓄積する処理である。また、プロセスとは、送信装置からのデータに所定の情報処理を施して受信装置へ転送する一連のタスクの処理において、その処理を実行するプログラムの実行単位をいう。
【０００４】
しかしながら、データの転送途中で情報処理を行い、かつ単純に情報処理を並列化したとしても、並列化したフローのうちの特定のフローにボトルネックが存在する場合には、タスクにおける全体の処理時間を見積もることができないという問題がある。ボトルネックの原因には、中継装置のＣＰＵ負荷変動、ネットワークの輻輳によるデータ到着の遅れ等がある。特に、ビデオストリームのような順序のあるデータに対するタスクでは、特定のフローにボトルネックが発生し、受信装置がデータを順序通りに受信することができない場合に、受信したデータのバッファがオーバーフローすることで、処理が大幅に遅れることがあり得る。
【０００５】
データを順序通りに受信する技術として、データ到着の順序制御を行う手法が知られている（非特許文献１を参照）。この手法では、受信側からの要求に同期してデータを転送するプル型の転送方式であるＦＭＦＴＰ（Flow Media File Transfer Protocol：プル型ファイル転送プロトコル）を用いることにより、情報処理の並列化を実現する（非特許文献２を参照）。
【０００６】
並列化処理の対象となるデータは、非特許文献１に記載されているように、例えば映像フレームまたは符号化されたＧＯＰ（Group of picture）のような一定単位の繰り返しで構成されるデータである。以下、この処理の単位をチャンクといい、対象のコンテンツに所定の情報処理を施し、情報処理後のコンテンツを生成する一連の処理をタスクという。
【０００７】
〔ＦＭＦＴＰ〕
ＦＭＦＴＰは、プル型のファイル転送方式であり、データパケットは、コネクションレス型のＵＤＰにより転送され、その転送は、受信装置が要求する速度によって実現可能である。ＵＤＰによる転送では、データの到着は保証できないが、リアルタイム性が高く輻輳による速度制御を行わないため、転送速度の制御が容易である。また、コネクションレス型であるから、データの送信元及び送信先の変更及び偽装が容易である。ＦＭＦＴＰは、受信装置から送信装置に対して行われる転送及び再送制御のために、コネクション型のＴＣＰを用いることにより、アプリケーションレベルで、データ到着を保証する。
【０００８】
受信装置は、受信バッファの領域を予め確保しておき、受信可能なチャンクのみを要求することにより、バッファオーバーフローの発生を防ぐことができる。また、受信装置は、データパケットの受信バッファとして、チャンク単位のＦＩＦＯ（First In First Out）型のリングバッファを備える。受信装置は、受信バッファが満杯になった場合、輻輳していると判断し、新規データの要求を行わない。これにより、転送量を抑制することができる。
【０００９】
また、ＦＭＦＴＰでは、送信装置と受信装置との間にシリーズ接続した中継装置を設け、その中継装置が、データ転送を中継すると共に、タスクに応じた所定の情報処理を行うためのプロセスを起動する。これにより、中継装置は、データ転送中に所定の情報処理を行うことができる。中継装置は受信バッファを備えており、その受信バッファを介して受信データを情報処理のプロセスに受け渡し、転送中のデータに情報処理を施す。そのため、受信バッファに蓄積されたデータの量を示すキューの長さにより、プロセスの負荷状況を推定することができる。さらに、受信装置の要求に同期して、送信装置からチャンクのデータが転送されるから、受信装置は、ビデオストリームのような順序のあるデータも、順序通りに受信することができる。
【００１０】
図２２は、ＦＭＦＴＰを用いた従来の並列分散処理システムの全体構成を示す概略図である。この並列分散処理システムは、受信装置１０、複数の中継装置２０−１，２０−２等、送信装置３０及び管理装置４０を備えて構成される。
【００１１】
受信装置１０は、中継装置２０−１，２０−２等の経路を示すフロー毎に、受信するデータのチャンク番号を振り分け、所定のクロック１１に同期した同期パケットを、中継装置２０−１，２０−２等を介してＴＣＰを用いて送信装置３０へそれぞれ送信する。中継装置２０−１の経路のフローにおける第１の同期パケットは、クロック１１のクロックサイクルＴに基づいて生成されるクロックサイクルＴ１の周期で送信される。また、中継装置２０−２の経路のフローにおける第２の同期パケットは、クロック１１のクロックサイクルＴに基づいて生成されるクロックサイクルＴ２の周期で送信される。この場合、クロックサイクルＴとＴ１，Ｔ２との間には、１／Ｔ＝１／Ｔ１＋１／Ｔ２の関係がある。これらの同期パケットには、送信を要求するデータのチャンク番号、及び受信したデータのチャンク番号が含まれる。また、受信装置１０は、送信装置３０から送信されたデータ（同期パケットにて要求したチャンク番号のデータ）を、フローに対応した中継装置２０−１，２０−２等のうちのいずれかからＵＤＰを用いて受信し、受信したデータを受信バッファ（図示せず）に格納してチャンク番号順に並び替え、ファイルとして保存する。
【００１２】
中継装置２０−１は、転送用の受信バッファ２１−１、処理部２２−１等を備えている。中継装置２０−１は、受信装置１０から同期パケットを受信すると、受信した同期パケットを送信装置３０へ送信する。また、中継装置２０−１は、送信装置３０からデータを受信して受信バッファ２１−１に格納し、処理部２２−１が受信バッファ２１−１からデータを読み出して所定の情報処理を行い、処理後のデータをバッファに格納して受信装置１０へ送信する。中継装置２０−２等は、中継装置２０−１と同様の処理を行う。
【００１３】
送信装置３０は、中継装置２０−１，２０−２等を介して同期パケットを受信すると、同期パケットに含まれる送信要求のチャンク番号のデータを特定し、当該データを、同期パケットを送信してきた中継装置２０−１，２０−２等へ送信する。
【００１４】
管理装置４０は、受信装置１０、中継装置２０−１，２０−２等及び送信装置３０に対し、タスクに応じたそれぞれのプロセスを実行するための制御命令等を送信する。これにより、受信装置１０は、所望のファイルを送信装置３０から取得するための同期パケットを送信する等の受信処理を行うためのプロセスを起動する。また、送信装置３０は、同期パケットに応じたデータを送信する等の送信処理を行うためのプロセスを起動する。また、中継装置２０−１、２０−２等は、受信したデータに所定の情報処理を施し、情報処理後のデータを転送する等の転送処理を行うためのプロセスを起動する。
【００１５】
また、管理装置４０は、中継装置２０−１，２０−２等に備えた受信バッファ２１−１，２１−２等を監視し、受信バッファ２１−１，２１−２等のキューの状態に応じて、受信装置１０のクロックサイクルＴ１，Ｔ２等を変更したり、フローの数を変更したりする。これにより、後述するボトルネックを回避することができる。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】黄、「プル型ファイル転送プロトコルを用いた並列分散処理手法の検討」、信学技報、NS2012-164、2013
【非特許文献２】黄、「長距離・広帯域ＩＰネットワークにおける優先度に応じたファイル転送プロトコルの性能評価」、信学技報、NS2010-77、2010
【発明の概要】
【発明が解決しようとする課題】
【００１７】
ところで、図２２に示した従来の並列分散処理システムでは、受信装置１０と送信装置３０との間に複数の中継装置２０−１，２０−２等を設け、受信装置１０が要求するチャンクをフロー毎に振り分けることにより、処理を並列化する。所定時間内に所定の処理を完了するためには、全てのフローに対応した中継装置２０−１，２０−２等に備えた転送用の受信バッファ２１−１，２１−２等のキューが、所定時間の間短い状態を維持する必要がある。
【００１８】
そのため、ボトルネックが発生した場合には、タスクの実行前だけでなく実行中においても、管理装置４０が、フロー毎の転送量、フローの並列化数及び通信経路のパラメータを制御することにより、ボトルネックを回避する。ここで、フロー毎の転送量のパラメータを制御するとは、例えば、負荷が高く遅延しているフローにおけるデータの転送量を減らし、その分、他のフローにおけるデータの転送量を増やすことにより、全体の転送量を維持したまま、ボトルネックを回避することをいう。また、フロー毎の転送量のパラメータを制御するのみではボトルネックを回避することができない場合には、タスクの実行中に、例えば使用中の中継装置２０−１，２０−２に加えて別の中継装置も使用してフローを追加し、フローの並列化数を増やすことで、負荷の増加に対応する。これにより、中継装置２０−１，２０−２の負荷を軽減することができ、ボトルネックを回避することができる。
【００１９】
しかしながら、管理装置４０は、ボトルネックを発見してそれをフィードバックし、フローの並列化数等を制御した場合、例えば追加したフローを用いてデータを情報処理できるようになるまでの間、すなわち中継装置２０−１，２０−２の負荷を軽減することができるようになるまでの間、ボトルネックの箇所は高負荷状態が継続する。このため、例えば中継装置２０−１に高負荷状態が継続することで、その中継装置２０−１の受信バッファ２１−１に蓄積された未処理チャンクのデータにより、処理の遅れが生じ、結果として処理時間の保証が難しくなるという問題があった。
【００２０】
また、図２２に示した従来の並列分散処理システムでは、受信装置１０は、複数のフローのデータを並行して受信するために、フロー毎に受信バッファ（図示せず）と中継装置２０−１，２０−２等と転送ポートとを関係付けて、ポート番号により、フローを区別しデータの格納先を振り分ける。ＦＭＦＴＰは、受信装置１０が受信バッファを予め確保してデータを要求する方式であることから、所定のフローの受信バッファを予め確保して格納先を決定した後に、中継装置２０−１，２０−２等の負荷を軽減するために、他のフローにデータの格納先を振り分けることはできない。そのため、バースト的な負荷変動等が原因となって一時的に負荷過剰になり、例えば中継装置２０−１，２０−２に未処理チャンクのデータが蓄積されてしまうと、そのフローを他の中継装置のフローへ移行させることができないことから、処理が遅れてしまうという問題があった。
【００２１】
このように、図２２に示した従来の並列分散処理システムは、受信装置１０の要求に同期したデータ転送を実現すると共に、中継装置２０−１，２０−２等でのオーバーフローを防止するように、管理装置４０が所定の制御を行うものである。しかし、受信装置１０では、フロー毎に受信バッファと中継装置２０−１，２０−２等と転送ポートとが関係付けられることから、ＣＰＵ負荷変動等が原因となってボトルネックによるデータ到着の遅れのある高負荷状態が発生した場合に、ボトルネックを回避するためにフローの並列化数の増加等の制御を行ったとしても、前述の関係付けの処理を行った後にはフローを変更することができない。これでは、ボトルネックが発生した中継装置２０−１，２０−２等において、転送用の受信バッファ２１−１，２１−２等のキューが長くなるのを抑制することができず、締切時間のある処理をその締切時間内に遅れることなく行うことが難しくなるという問題があった。
【００２２】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、並列分散処理システムにおいて、データの到着が遅れる高負荷状態を回避し、転送用のキューが長くなるのを抑制することが可能な並列分散管理装置、プログラム及び並列分散処理システムを提供することにある。
【課題を解決するための手段】
【００２３】
前記目的を達成するために、請求項１の並列分散管理装置は、パケットに含まれるデータに所定の処理を施す複数の情報処理端末装置、所定のテーブルに従ってパケットを転送するスイッチ、及び前記複数の情報処理端末装置を用いてデータの並列分散処理を行う並列分散管理装置を含む並列分散処理システムにおける前記並列分散管理装置において、前記データに所定の処理を施した場合に、処理済みのデータを含むパケットとして送信すると共に、前記データに所定の処理を施さなかった場合に、前記所定の処理を施していないことを示す情報を前記パケットのヘッダに格納し、未処理のデータを含むパケットとして送信するための制御命令を生成し、前記制御命令を前記情報処理端末装置へ送信する制御命令生成送信手段と、前記未処理のデータに前記所定の処理を施す予備情報処理端末装置を割り当てる予備割当手段と、前記ヘッダに格納された情報に基づいて前記未処理のデータを含むパケットを区別すると共に、前記未処理のデータを含むパケットを、前記予備割当手段により割り当てられた予備情報処理端末装置へ転送するためのテーブルを生成し、前記テーブルを前記スイッチへ送信するテーブル生成送信手段と、を備えたことを特徴とする。
【００２４】
また、請求項２の並列分散管理装置は、請求項１に記載の並列分散管理装置において、さらに、前記情報処理端末装置に備えた前記パケットを蓄積する受信バッファにおけるキューの長さに基づいて、ボトルネックの発生を判定するボトルネック判定手段を備え、前記ボトルネック判定手段によりボトルネックの発生が判定された場合に、前記予備割当手段が前記予備情報処理端末装置を割り当て、前記テーブル生成送信手段が前記テーブルを生成して前記スイッチへ送信する、ことを特徴とする。
【００２５】
また、請求項３の並列分散管理装置は、請求項２に記載の並列分散管理装置において、前記制御命令生成送信手段が、さらに、前記情報処理端末装置に備えた前記パケットを蓄積する受信バッファにおけるキューの長さが閾値を超えていない場合に前記所定の処理を施し、前記閾値を超えている場合に前記所定の処理を施さないように判定させるための前記閾値を、前記情報処理端末装置へ送信し、前記ボトルネック判定手段によりボトルネックの発生が判定された場合に、前記閾値よりも小さい閾値にて前記所定の処理を施すか否かを判定させるための前記小さい閾値を、前記情報処理端末装置へ送信する、ことを特徴とする。
【００２６】
また、請求項４の並列分散管理装置は、請求項２または３に記載の並列分散管理装置において、前記ボトルネック判定手段によりボトルネックの発生を判定した場合に、前記データに所定の処理を施す情報処理端末装置を増加すると共に、前記予備割当手段が前記予備情報処理端末装置を割り当て、前記テーブル生成送信手段が前記テーブルを生成して前記スイッチへ送信する、ことを特徴とする。
【００２７】
また、請求項５の並列分散管理装置は、請求項１または２に記載の並列分散管理装置において、さらに、前記スイッチから転送方法不明のパケットを受信する受信手段と、前記受信手段により受信された転送方法不明のパケットのヘッダに、前記情報処理端末装置により前記所定の処理を施していないことを示す情報が格納されているか否かを判定し、前記所定の処理を施していないことを示す情報が格納されている場合、前記転送方法不明のパケットが前記未処理のデータを含むパケットであると判断する転送不明パケット判定手段と、を備え、前記転送不明パケット判定手段により前記転送方法不明のパケットが前記未処理のデータを含むパケットであると判断された場合に、前記予備割当手段が前記予備情報処理端末装置を割り当て、前記テーブル生成送信手段が前記テーブルを生成して前記スイッチへ送信する、ことを特徴とする。
【００２８】
また、請求項６の並列分散管理装置は、請求項５に記載の並列分散管理装置において、前記制御命令生成送信手段が、さらに、前記情報処理端末装置に備えた前記パケットを蓄積する受信バッファにおけるキューの長さが閾値を超えていない場合に前記所定の処理を施し、前記閾値を超えている場合に前記所定の処理を施さないように判定させるための前記閾値を、前記情報処理端末装置へ送信し、前記受信手段が、前記スイッチが前記情報処理端末装置から前記閾値を超えていない場合の前記未処理のデータを含むパケットを受信した際に、前記スイッチから、前記パケットを転送方法不明のパケットとして受信する、ことを特徴とする。
【００２９】
また、請求項７の並列分散管理装置は、請求項６に記載の並列分散管理装置において、前記制御命令生成送信手段が、さらに、前記転送不明パケット判定手段により前記転送方法不明のパケットが前記未処理のデータを含むパケットであると判断された場合に、前記閾値よりも小さい閾値にて前記所定の処理を施すか否かを判定させるための前記小さい閾値を、前記情報処理端末装置へ送信する、ことを特徴とする。
【００３０】
さらに、請求項８のプログラムは、コンピュータを、請求項１から７までのいずれか一項に記載の並列分散管理装置として機能させることを特徴とする。
【００３１】
さらに、請求項９の並列分散処理システムは、パケットに含まれるデータに所定の処理を施す複数の情報処理端末装置、所定のテーブルに従ってパケットを転送するスイッチ、及び前記複数の情報処理端末装置を用いてデータの並列分散処理を行う並列分散管理装置を含む並列分散処理システムにおいて、前記並列分散管理装置が、前記データに所定の処理を施した場合に、処理済みのデータを含むパケットとして送信すると共に、前記データに所定の処理を施さなかった場合に、前記所定の処理を施していないことを示す情報を前記パケットのヘッダに格納し、未処理のデータを含むパケットとして送信するための制御命令を生成し、前記制御命令を前記情報処理端末装置へ送信する制御命令生成送信手段と、前記未処理のデータに前記所定の処理を施す予備情報処理端末装置を割り当てる予備割当手段と、前記ヘッダに格納された情報に基づいて前記未処理のデータを含むパケットを区別すると共に、前記未処理のデータを含むパケットを、前記予備割当手段により割り当てられた予備情報処理端末装置へ転送するためのテーブルを生成し、前記テーブルを前記スイッチへ送信するテーブル生成送信手段と、を備え、前記情報処理端末装置が、前記並列分散管理装置から制御命令を受信して前記制御命令を実行する実行手段と、前記パケットを受信し、前記実行手段により実行された制御命令に従って、前記パケットに含まれるデータに所定の処理を施した場合に、処理済みのデータを含むパケットとして送信すると共に、前記パケットに含まれるデータに所定の処理を施さなかった場合に、前記所定の処理を施していないことを示す情報を前記パケットのヘッダに格納し、未処理のデータを含むパケットとして送信する処理実行手段と、を備え、前記スイッチが、前記並列分散管理装置からテーブルを受信して保持し、前記テーブルに従ってパケット転送を実行する実行手段と、前記情報処理端末装置からパケットを受信し、前記実行手段により実行されたパケット転送に従って、前記パケットのヘッダに格納された情報に基づいて前記未処理のデータを含むパケットを区別し、前記未処理のデータを含むパケットを、前記予備情報処理端末装置へ転送するパケット転送手段と、を備えたことを特徴とする。
【発明の効果】
【００３２】
以上のように、本発明によれば、並列分散処理システムにおいて、データの到着が遅れる高負荷状態を回避し、転送用のキューが長くなるのを抑制することが可能となる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施形態による管理装置を含む並列分散処理システムの全体構成を示す概略図である。
【図２】本発明の実施形態による管理装置の構成を示すブロック図である。
【図３】送信元端末装置等のサーバの構成を示すブロック図である。
【図４】サーバが情報処理端末装置として動作する場合の並列分散処理実行手段の構成を示すブロック図である。
【図５】バッファのキューの長さ及び閾値１，２を説明する図である。
【図６】スイッチの構成を示すブロック図である。
【図７】管理装置による並列分散処理を示すフローチャートである。
【図８】チャンクの振分け処理を説明する図である。
【図９】管理装置によるボトルネック判定時の処理を示すフローチャートである。
【図１０】管理装置による予約ＩＰアドレス宛の未知パケットの処理を示すフローチャートである。
【図１１】フローテーブルの構成を示す図である。
【図１２】タスク情報の構成を示す図である。
【図１３】サーバ特定情報の構成を示す図である。
【図１４】転送コネクション情報の構成を示す図である。
【図１５】予備サーバ情報の構成を示す図である。
【図１６】ボトルネック情報の構成を示す図である。
【図１７】処理進行状況情報の構成を示す図である。
【図１８】タスク完了情報の構成を示す図である。
【図１９】転送方法問い合わせ情報の構成を示す図である。
【図２０】ボトルネック判定時のシーケンスを示す図である。
【図２１】予約ＩＰアドレス宛の未知パケットに関する転送方法問い合わせ発生時のシーケンスを示す図である。
【図２２】ＦＭＦＴＰを用いた従来の並列分散処理システムの全体構成を示す概略図である。
【発明を実施するための形態】
【００３４】
以下、本発明を実施するための形態について、適宜図面を参照しながら詳細に説明する。本発明の実施形態は、コネクションレス型のデータ転送方式を用いて、送信先端末装置（受信装置）からの要求に同期して送信元端末装置（送信装置）がデータを情報処理端末装置（中継装置）へ送信し、情報処理端末装置が受信したデータに所定の情報処理を施して情報処理後のデータを送信先端末装置へ転送する並列分散処理システムにおいて、情報処理端末装置のＣＰＵ負荷が増加してボトルネックが発生したり、情報処理端末装置に備えた受信バッファのキュー（転送用のキュー）の長さが所定の閾値を超えたりした場合に、情報処理端末装置が、受信バッファに格納されたパケットに対し、そのヘッダを書き換えることで未処理チャンクのパケットであることを識別できるように設定し、情報処理を施すことなく送信し、スイッチが、未処理チャンクのパケットのヘッダを書き換えて予備情報処理端末装置（予備の中継装置）へ転送し、予備情報処理端末装置が、未処理チャンクのパケットに情報処理を施して送信先端末装置へ転送することを特徴とする。すなわち、管理装置（並列分散管理装置）が、情報処理端末装置に対し、未処理チャンクのパケットのヘッダを書き換えるように指示し、スイッチに対し、未処理チャンクのパケットのヘッダを書き換えて予備情報処理端末装置へ転送するように指示し、予備情報処理端末装置に対し、未処理チャンクのパケットに情報処理を施して送信先端末装置へ転送するように指示する。
【００３５】
これにより、予備情報処理端末装置により情報処理が施されたパケットは、送信先端末装置にて予め確保した領域に格納できるようになる。また、情報処理端末装置で発生した一時的なＣＰＵ負荷増加の影響を回避したり、並列化数の変更処理（フローを追加して情報処理端末装置を増加し、情報処理端末装置としてプロセスが起動するまでの処理）等が完了するまでの高負荷状態を回避したりすることができ、情報処理端末装置に備えた転送用のキューが長くなるのを抑制し、ストリーミングデータの処理等を締切時間に遅れないように完了することができる。
【００３６】
〔並列分散処理システム〕
まず、本発明の実施形態による管理装置を含む並列分散処理システムについて説明する。図１は、並列分散処理システムの全体構成を示す概略図である。この並列分散処理システムは、送信元端末装置（送信装置）１、情報処理端末装置（中継装置）２−１，２−２、送信先端末装置（受信装置）３、予備情報処理端末装置（予備の中継装置）４、複数のスイッチ５及び管理装置（並列分散管理装置）６を備えて構成される。並列分散処理システムを構成するこれらの装置は、通信回線（ネットワーク）７を介して接続される。
【００３７】
並列分散処理システムは、送信元端末装置１、情報処理端末装置２−１，２−２（総称して情報処理端末装置２という。）、送信先端末装置３、予備情報処理端末装置４及び複数のスイッチ５を使用して、管理装置６からの制御に応じて、データの並列分散処理を行う。
【００３８】
送信元端末装置１は、データを送信先端末装置３へ送信するサーバである。送信元端末装置１は、並列分散処理の対象となるデータを蓄積し、蓄積したデータを予め指定されたサイズ（粒度）で分割し、チャンクのデータをパケット化する。また、送信元端末装置１は、送信先端末装置３から情報処理端末装置２を介して同期パケットを受信し、同期パケットの要求に従ったデータパケット（以下、パケットという。）を、情報処理端末装置２を介して送信先端末装置３へ送信する。
【００３９】
情報処理端末装置２は、送信元端末装置１と送信先端末装置３との間を中継するサーバである。情報処理端末装置２は、送信先端末装置３から同期パケットを受信して送信元端末装置１へ転送し、送信元端末装置１からパケットを受信し、受信したパケットからチャンクを再構成し、チャンクのデータに所定の情報処理を施し、情報処理後のチャンクのデータをパケット化して送信先端末装置３へ転送する。
【００４０】
送信先端末装置３は、送信元端末装置１からパケットを受信してチャンクを再構成し、蓄積するサーバである。送信先端末装置３は、送信元端末装置１から所望のデータを受信するためのチャンク番号を指定すると共に、受信したデータのチャンク番号を含む同期パケットを生成し、所定のフローに対応する情報処理端末装置２を介して送信元端末装置１へ同期パケットを送信する。また、送信先端末装置３は、送信元端末装置１から所定のフローに対応する情報処理端末装置２を介して所望のチャンク番号のパケット（情報処理後のパケット）を受信し、受信したパケットをチャンク番号に従って所定の順番に配列してチャンクのデータを復元し、蓄積する。
【００４１】
予備情報処理端末装置４は、情報処理端末装置２が後述するチャンクの振分け処理を行ったときに機能するサーバであり、チャンクの振分け処理を行った情報処理端末装置２と送信先端末装置３との間を中継する。予備情報処理端末装置４は、情報処理端末装置２と同様に動作し、情報処理端末装置２から未処理チャンクのパケット（情報処理端末装置２において情報処理が施されていないパケット）を受信し、受信したパケットのデータに所定の情報処理を施し、情報処理後のパケットを送信先端末装置３へ転送する。
【００４２】
スイッチ５は、送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４であるサーバの間で、パケット転送制御を行う装置である。本実施形態では、パケット転送制御を行う手段としてＯｐｅｎＦｌｏｗ（オープンフロー）を用いるため、スイッチ５はオープンフロー対応スイッチであるものとする。ＯｐｅｎＦｌｏｗ（オープンフロー）の詳細については後述する。
【００４３】
管理装置６は、並列分散処理を行うために必要な情報を送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４から収集して管理するためのＦＭＦＴＰの制御を行うと共に、パケットの転送経路をスイッチ５に指示するための経路制御を行う。具体的には、管理装置６は、後述する並列プロセス制御、ボトルネックの検出、フローテーブルの登録等の処理を行う。詳細については後述する。
【００４４】
通信回線７は、送信元端末装置１、情報処理端末装置２、送信先端末装置３、予備情報処理端末装置４、スイッチ５及び管理装置６をそれぞれ接続するＬＡＮ（Local Area Network）ケーブルである。
【００４５】
〔情報処理の一例〕
次に、図１に示した並列分散処理システムが行う情報処理の一例について説明する。この情報処理は、送信元端末装置１と送信先端末装置３との間を中継する複数の情報処理端末装置２により行われる。
【００４６】
並列分散処理システムは、例えば、情報処理として、送信対象の映像データに対し、トランスコーディング等の映像加工処理を行う。すなわち、並列分散処理システムの送信元端末装置１は、蓄積した映像データを分割してパケット化し、各情報処理端末装置２へ送信する。そして、各情報処理端末装置２は、映像データのパケットをそれぞれ受信し、映像データに対して映像加工処理を並列に施し、映像加工処理を施した映像データのパケットを送信先端末装置３へそれぞれ転送する。そして、送信先端末装置３は、映像加工処理が施された映像データのパケットを受信し、映像データを所定の順番で配列することで、映像加工処理済みのデータを復元して蓄積する。
【００４７】
尚、本発明において、並列分散処理システムが行う情報処理は、前述の映像加工処理に限定されないことは言うまでもない。
【００４８】
〔ＯｐｅｎＦｌｏｗ〕
次に、図１に示した並列分散処理システムが用いるＯｐｅｎＦｌｏｗ（オープンフロー）によるパケット転送制御の概要を説明する。尚、オープンフローによるパケット転送制御の詳細については以下のサイトを参照されたい。
“The OpenFlow Switch Consortium”、［online］、［平成２５年５月９日検索］、インターネット＜ＵＲＬ：http://www.Openflowswitch.org/＞
【００４９】
図１に示した並列分散処理システムにおいて、管理装置６がオープンフローコントローラに相当し、スイッチ５がオープンフロー対応スイッチに相当する。オープンフロー対応スイッチであるスイッチ５は、従来のネットワークスイッチにおける経路制御及びパケット転送制御のうち、パケット転送制御のみを行う。オープンフローコントローラである管理装置６は、スイッチ５に対して経路の集中制御を行う。
【００５０】
オープンフローではフローが経路制御単位であり、各スイッチ５は、転送方法を規定したフローテーブルを保持する。図１１は、フローテーブルの構成を示す図である。フローテーブルは、例えば、条件、アクション及び統計情報により構成される。
【００５１】
条件は、入力スイッチポート、送信元／宛先ＭＡＣ（Media Access Control）アドレス、送信元／宛先ＩＰ（Internet Protocol）アドレス、送信元／宛先ポート番号等の識別情報により、フローを識別する規則である。後述するように、スイッチ５は、情報処理端末装置２から受信した未処理チャンクのパケットを予備情報処理端末装置４へ転送する場合、予約ＩＰアドレス宛のパケットを受信することを示す条件が格納されたフローテーブルを保持する。
【００５２】
アクションは、予め設定される転送方法の処理が定義された情報である。例えば、出力スイッチポートの指定によって、または送信元ＩＰアドレス、送信先ＩＰアドレス、ＴＣＰ/ＵＤＰポート番号の書き換え、送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４であるサーバとスイッチ５との間で直接経路を設定したり、送信元を偽装したりすることができる。後述するように、情報処理端末装置２から受信した未処理チャンクのパケットを予備情報処理端末装置４へ転送する場合、予約ＩＰアドレス宛のパケットを受信することを示す条件に対応して、予備情報処理端末装置４のＩＰアドレス宛へ転送することを示すアクションが格納されたフローテーブルを保持する。
【００５３】
スイッチ５は、パケットを受信すると、受信したパケットが示す条件が格納されたフローテーブルを保持しているか否かを確認する。スイッチ５は、その条件のフローテーブルを保持している場合、フローテーブルに格納されているその条件に対応するアクションを実行する。一方、スイッチ５は、受信したパケットが示す条件が格納されたフローテーブルを保持していない場合、受信したパケットを転送方法不明パケットとして管理装置６へ送信し、その条件に対応するアクションである転送方法を、オープンフローコントローラである管理装置６に問い合わせる。管理装置６は、その条件のアクションである転送方法を決定し、その条件、及び当該条件に対応するアクション等をフローテーブルに格納し、フローテーブルをスイッチ５へ送信する。
【００５４】
これにより、管理装置６は、スイッチ５が受信したパケットが示す条件に対応するアクション（受信したパケットの転送方法）を、スイッチ５に指示することができる。つまり、管理装置６は、受信したパケットの転送経路をスイッチ５に指示することができる。
【００５５】
本実施形態では、管理装置６がタスク起動時に、予約ＩＰアドレスを情報処理端末装置２へ予め送信しておき、情報処理端末装置２は、管理装置６がボトルネックを判定したとき等の当該情報処理端末装置２においてＣＰＵ負荷が高くなったときに（後述する閾値１，２を転送用キューの長さが超えたときに）、パケットのヘッダにおける送信先ＩＰアドレスの領域に予約ＩＰアドレスを設定して転送する。そして、スイッチ５は、そのパケットを受信すると、予約ＩＰアドレス宛のパケットを受信することを示す条件が格納されたフローテーブルを保持していない場合、管理装置６から、その条件及び予備情報処理端末装置４のＩＰアドレス宛へ転送することを示すアクション等が格納されたフローテーブルを受信して保持し、パケットを予備情報処理端末装置４へ転送する。一方、スイッチ５は、予約ＩＰアドレス宛のパケットを受信することを示す条件が格納されたフローテーブルを保持している場合、そのフローテーブルに従って、受信したパケットを予備情報処理端末装置４へ転送する。
【００５６】
統計情報は、フロー毎のパケットの転送量及びエラーをカウントした情報である。
【００５７】
ここで、フローとプロセスとの関係について説明する。前述のとおり、プロセスとは、処理を実行するプログラムの実行単位をいう。図１に示した並列分散処理システムにおいては、フローとプロセスとが対応することから、送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４のサーバで起動したプロセス間でのデータ転送処理が１フローとなる。例えば、送信元端末装置１で起動したプロセスと情報処理端末装置２で起動したプロセスとの間のデータ転送処理が１フローとなり、情報処理端末装置２で起動したプロセスと送信先端末装置３で起動したプロセスとの間のデータ転送処理が１フローとなる。
【００５８】
〔管理装置の構成〕
次に、図１に示した管理装置６の構成について説明する。図２は、本発明の実施形態による管理装置６の構成を示すブロック図である。図２において、並列分散処理のために必要な情報の入出力を分かり易くするため、管理装置６と送信元端末装置１等のサーバとの間で各情報の入出力を示す矢印を直接示しているが、実際には、スイッチ５を介して各情報が入出力される。
【００５９】
この管理装置６は、タスク入力手段１１０、情報管理手段１２０、電文受信手段１３０、並列プロセス計算手段１４０、並列プロセス制御手段１５０、フローテーブル計算手段１６０及びフローテーブル制御手段１７０を備えている。タスク入力手段１１０、並列プロセス計算手段１４０及び並列プロセス制御手段１５０が、ＦＭＦＴＰによる並列分散処理のメインとなる処理を行い、情報管理手段１２０が、並列分散処理の情報を管理し、フローテーブル計算手段１６０及びフローテーブル制御手段１７０が、オープンフローによるパケット転送制御のためのフローテーブルを管理する。また、並列プロセス計算手段１４０及び並列プロセス制御手段１５０は、制御命令生成送信手段として機能し、フローテーブル計算手段１６０及びフローテーブル制御手段１７０は、テーブル生成送信手段として機能する。
【００６０】
タスク入力手段１１０は、利用者により指定されたタスク情報を入力し、タスク情報を並列プロセス計算手段１４０に出力する。例えば、タスク入力手段１１０は、利用者によりウェブブラウザのようなインターフェースを介して指定されたタスク情報を入力するようにしてもよいし、利用者によりタスク情報の内容が記述されたテキストファイルを入力するようにしてもよい。ここで、利用者とは、例えば、並列分散処理システムの管理者または使用者のことである。
【００６１】
図１２は、タスク情報の構成を示す図である。タスク情報は、並列分散処理に必要な情報であり、例えば、タスクに対応するプロセスを実行する送信元端末装置１等のサーバのサーバ識別子、並列分散処理を行う数（並列化数）、データの分割サイズ（粒度）、並列分散処理に用いるデータ（ファイル）へのパスにより構成される。
【００６２】
例えば、サーバ識別子には、データの送信元としてタスクを実行する送信元端末装置１のＩＰアドレス、及びデータの送信先としてタスクを実行する送信先端末装置３のＩＰアドレスが含まれる。また、情報処理端末装置２となり得るサーバのＩＰアドレスも含まれる。
【００６３】
また、並列化数には、並列分散処理を行う数、つまり、情報処理端末装置２で起動するプロセスの数が含まれる。例えば、並列化数は、情報処理端末装置２が情報処理として映像の色を変える映像加工処理を行う場合、その映像加工処理を行うプロセスの数を示す。
【００６４】
尚、前述のとおり、プロセスは、送信元端末装置１等のサーバの役割に応じた処理を実行するプログラムの実行単位である。このプロセスは、管理装置６の並列プロセス制御手段１５０からの制御命令に従って、送信元端末装置１等のサーバに備えた後述する並列処理実行手段２３０にて起動される。本実施形態では、説明を簡単にするために、送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４のサーバにおける何れの役割であっても、各サーバがプロセスを１つだけ起動するものとする。つまり、本実施形態では、並列化数は、並列分散処理を行う情報処理端末装置２の数を示すものとする。
【００６５】
並列プロセス計算手段１４０は、タスク入力手段１１０からタスク情報を入力し、タスク情報に基づいて、タスクに対応するプロセスを実行する送信元端末装置１等のサーバを決定し、これらのサーバ識別子を含むサーバ特定情報を生成して並列プロセス制御手段１５０に出力する。
【００６６】
例えば、並列プロセス計算手段１４０は、タスク情報に含まれるサーバ識別子を参照し、送信元端末装置１及び送信先端末装置３を決定する。また、並列プロセス計算手段１４０は、ラウンドロビンにより、タスク情報に含まれる情報処理端末装置２となり得る全てのサーバ識別子のサーバのうち、決定した送信元端末装置１及び送信先端末装置３以外の残りのサーバから、タスク情報に含まれる並列化数と同じ台数のサーバを、情報処理端末装置２として決定する。
【００６７】
そして、並列プロセス計算手段１４０は、タスク情報に基づいて、決定した各サーバで起動するプロセスの内容を決定し、決定したサーバのサーバ識別子と、各サーバで起動するプロセスの内容とを含むサーバ特定情報を生成し、サーバ特定情報を並列プロセス制御手段１５０に出力する。
【００６８】
図１３は、サーバ特定情報の構成を示す図である。サーバ特定情報は、例えば、並列プロセス計算手段１４０により決定された送信元端末装置１、情報処理端末装置２及び送信先端末装置３の各サーバのサーバ識別子、各サーバで起動するプロセスの内容により構成される。
【００６９】
並列プロセス制御手段１５０は、並列プロセス計算手段１４０からサーバ特定情報を入力し、並列プロセス制御を行う。具体的には、並列プロセス制御手段１５０は、タスクを開始するために、サーバ特定情報に基づいて、タスクを実行するために必要なプロセスの起動及び転送コネクションの作成を指示するための制御命令、並びにパラメータ（閾値１，２、予約ＩＰアドレス、プロセスの内容等）を生成する。そして、並列プロセス制御手段１５０は、これらの情報を送信元端末装置１等のサーバへ送信する。例えば、制御命令及びパラメータを受信した情報処理端末装置２は、制御命令を実行し、パラメータに含まれる閾値による判定にて、受信したパケットのデータに情報処理を施した場合、処理済みチャンクのパケットとして送信し、データに情報処理を施さなかった場合、ヘッダの送信先ＩＰアドレスに、パラメータに含まれる予約ＩＰアドレスを設定し、未処理チャンクのパケットとして送信する。
【００７０】
この場合、並列プロセス制御手段１５０は、プロセス毎に別の宛先ポート番号を付与する。並列プロセス制御手段１５０は、複数のプロセスを起動できるため、情報処理端末装置２においてパケットの転送処理及び情報処理を並列化することができる。パラメータには、例えば、映像加工処理におけるトランスコードの有無及びビットレートが含まれる。閾値１，２及び予約ＩＰアドレスのパラメータは、並列分散処理システムの起動時に、利用者により予め設定されて蓄積手段１２４に蓄積されており、並列プロセス制御手段１５０は、蓄積手段１２４から閾値１，２及び予約ＩＰアドレスを読み出す。
【００７１】
また、並列プロセス制御手段１５０は、後述するボトルネック判定手段１２２によりボトルネックが発生したと判定されたときに、または、フローテーブル計算手段１６０により予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したと判定されたときに、プロセスの起動及び転送コネクションの作成を指示するための制御命令、並びにパラメータ（閾値１，２、予約ＩＰアドレス、プロセスの内容等）に加え、送信先端末装置３のＩＰアドレスのパラメータを生成する。そして、並列プロセス制御手段１５０は、これらの情報を、予備サーバ割当手段１２１により割り当てられた予備情報処理端末装置４へ送信する。この場合、並列プロセス制御手段１５０は、フローテーブル計算手段１６０により予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したと判定されたときに、さらに、予備情報処理端末装置４において情報処理を所定時間内に行ったか否かを判定するためのアイドル時間のパラメータも予備情報処理端末装置４へ送信する。また、並列プロセス制御手段１５０は、ボトルネックが発生した情報処理端末装置２または予約ＩＰアドレスをパケットのヘッダに設定した情報処理端末装置２に対する閾値１を有効にするための制御命令を生成し、当該情報処理端末装置２へ送信する。そして、並列プロセス制御手段１５０は、電文受信手段１３０から並列化数制御完了情報または未知パケット処理完了情報を入力すると、送信済みの制御命令を解除するためのメッセージ（制御命令解除メッセージ）を、予備情報処理端末装置４及び当該情報処理端末装置２へ送信する。
【００７２】
また、並列プロセス制御手段１５０は、サーバ特定情報に基づいて、タスク開始により転送コネクション情報を生成し、生成した転送コネクション情報を蓄積手段１２４に蓄積する。
【００７３】
図１４は、転送コネクション情報の構成を示す図である。転送コネクション情報は、例えば、タスク識別子、サーバ識別子、フロー識別子、及びフロー毎に固有のプロセスのポート番号を対応付けた情報により構成される。タスク識別子は、当該並列分散処理システムで固有に付けられたタスクのＩＤ（IDentification）である。フロー識別子は、当該並列分散処理システムで固有に付けられたフローのＩＤであり、フロー識別子の数は、同一タスクに対応して並列化数と同じである。
【００７４】
情報管理手段１２０は、並列分散処理に必要な情報を管理（蓄積）する手段であり、予備サーバ割当手段（予備割当手段）１２１、ボトルネック判定手段１２２、タスク完了判定手段１２３及び蓄積手段１２４を備えている。
【００７５】
予備サーバ割当手段１２１は、後述するボトルネック判定手段１２２からボトルネック情報を入力し、ボトルネック判定手段１２２によりボトルネックが発生したと判定されたことを判断する。また、予備サーバ割当手段１２１は、フローテーブル計算手段１６０から転送方法問い合わせ情報を入力し、フローテーブル計算手段１６０により予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したと判定されたことを判断する。ボトルネック情報及び転送方法問い合わせ情報の詳細については後述する。
【００７６】
予備サーバ割当手段１２１は、ボトルネックまたは転送方法の問い合わせの発生を判断すると、ボトルネック情報または転送方法問い合わせ情報及びタスク情報に基づいて、ボトルネックが発生したタスクまたは転送方法の問い合わせが発生したタスクに使用していない情報処理端末装置２の中から、ラウンドロビンにより、予備情報処理端末装置４として使用する予備サーバを割り当る。そして、予備サーバ割当手段１２１は、割り当てた予備情報処理端末装置４のサーバ識別子を含む予備サーバ情報を生成し、予備サーバ情報を蓄積手段１２４に蓄積する。また、予備サーバ割当手段１２１は、ボトルネック判定手段１２２からボトルネック情報を入力した場合、生成した予備サーバ情報を並列プロセス計算手段１４０に出力し、フローテーブル計算手段１６０から転送方法問い合わせ情報を入力した場合、生成した予備サーバ情報をフローテーブル計算手段１６０に出力する。
【００７７】
図１５は、予備サーバ情報の構成を示す図である。予備サーバ情報は、例えば、予備情報処理端末装置４のサーバ識別子により構成される。予備情報処理端末装置４のサーバ識別子は、例えば予備情報処理端末装置４のＩＰアドレスである。
【００７８】
ボトルネック判定手段１２２は、後述する電文受信手段１３０から処理進行状況情報を入力すると共に、並列プロセス制御手段１５０から転送コネクション情報を入力し、これらの情報に基づいて、実行中のタスクでボトルネックが発生したか否かを判定する。そして、ボトルネック判定手段１２２は、ボトルネックが発生したと判定した場合、ボトルネックが発生したタスクのタスク識別子、ボトルネックが発生した情報処理端末装置２のサーバ識別子、及びボトルネックが発生したフローのフロー識別子を含むボトルネック情報を生成し、ボトルネック情報を蓄積手段１２４に蓄積すると共に、予備サーバ割当手段１２１及び並列プロセス計算手段１４０に出力する。尚、処理進行状況情報は、情報処理端末装置２等のサーバから送信される情報である。
【００７９】
図１６は、ボトルネック情報の構成を示す図である。ボトルネック情報は、例えば、ボトルネックが発生したタスクのタスク識別子、ボトルネックが発生した情報処理端末装置２のサーバ識別子、ボトルネックが発生したフローのフロー識別子により構成される。
【００８０】
図１７は、処理進行状況情報の構成を示す図である。処理進行状況情報は、情報処理端末装置２及び予備情報処理端末装置４等の各サーバにより生成され、当該管理装置６の電文受信手段１３０が受信する情報である。処理進行状況情報は、例えば、当該サーバにおいて実行しているタスクのタスク識別子、当該サーバのサーバ識別子、後述する受信バッファにおける転送用キューの長さ、最後に所定の情報処理を行ってからの経過時間により構成される。尚、予備情報処理端末装置４により生成される処理進行状況情報には、所定のアイドル時間内にデータに情報処理が施されたか否かを示す情報が含まれる場合もある。詳細については後述する。
【００８１】
例えば、ボトルネック判定手段１２２は、情報処理端末装置２からの処理進行状況情報に含まれるキューの長さが、予め設定された閾値よりも長くなり、その状態が所定時間経過していることを判断すると、当該情報処理端末装置２においてボトルネックが発生したと判定する。
【００８２】
タスク完了判定手段１２３は、電文受信手段１３０からタスク完了情報を入力することで、タスクが完了したか否かを判定する。タスク完了判定手段１２３は、タスク完了情報を入力した場合、タスク完了情報に含まれるタスク識別子のタスクが完了したと判定し、完了したタスクの転送コネクション情報を蓄積手段１２４から削除する。一方、タスク完了判定手段１２３は、タスク完了情報を入力しない場合、タスクが完了していないと判定し、タスク完了情報を入力するまで待つ。
【００８３】
図１８は、タスク完了情報の構成を示す図である。タスク完了情報は、送信先端末装置３のサーバにより生成され、当該管理装置６の電文受信手段１３０が受信する情報である。タスク完了情報は、例えば、全ての処理が完了したタスクのタスク識別子により構成される。
【００８４】
蓄積手段１２４は、メモリ、ハードディスク等の記憶装置であり、並列プロセス制御手段１５０により生成された転送コネクション情報、フローテーブル計算手段１６０により生成されたフローテーブル、利用者により予め設定された閾値１，２及び予約ＩＰアドレス、予備サーバ割当手段１２１により生成された予備サーバ情報、ボトルネック判定手段１２２により生成されたボトルネック情報等が蓄積される。
【００８５】
電文受信手段１３０は、並列分散処理に必要な情報を受信する。具体的には、電文受信手段１３０は、情報処理端末装置２及び予備情報処理端末装置４等のサーバから処理進行状況情報を受信し、送信先端末装置３からタスク完了情報及び並列化数制御完了情報を受信する。また、電文受信手段１３０は、スイッチ５から転送方法不明パケットを受信する。そして、電文受信手段１３０は、処理進行状況情報をボトルネック判定手段１２２に出力し、タスク完了情報をタスク完了判定手段１２３に出力し、並列化数制御完了情報を並列プロセス制御手段１５０に出力し、並列化数制御完了情報及び転送方法不明パケットをフローテーブル計算手段１６０に出力する。また、電文受信手段１３０は、予備情報処理端末装置４から受信した処理進行状況情報に含まれる所定のアイドル時間内にデータに情報処理が施されたか否かを示す情報に基づいて、予備情報処理端末装置４において未処理チャンクのパケットに対する情報処理が完了したことを示す未知パケット処理完了情報を生成し、未知パケット処理完了情報を並列プロセス制御手段１５０及びフローテーブル計算手段１６０に出力する。詳細については後述する。
【００８６】
フローテーブル計算手段１６０は、スイッチ５がパケットを転送するための条件毎に、転送方法のアクションが格納されたフローテーブルを計算して作成し、フローテーブルをフローテーブル制御手段１７０に出力する。具体的には、フローテーブル計算手段１６０は、電文受信手段１３０から転送方法不明パケットを入力し、当該パケットが予約ＩＰアドレス宛である場合、転送方法問い合わせ情報を生成して予備サーバ割当手段１２１に出力する。
【００８７】
図１９は、転送方法問い合わせ情報の構成を示す図である。転送方法問い合わせ情報は、例えば、予約ＩＰアドレス宛の未知パケット（転送方法不明パケット）について転送方法の問い合わせが発生したタスクのタスク識別子、予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生した情報処理端末装置２（当該予約ＩＰアドレスを設定した情報処理端末装置２）のサーバ識別子、予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したフローのフロー識別子から構成される。
【００８８】
また、フローテーブル計算手段１６０は、予備サーバ割当手段１２１から予備サーバ情報を入力し、スイッチ５が情報処理端末装置２から受信した未処理チャンクのパケットを予備情報処理端末装置４へ転送するために、予約ＩＰアドレス宛のパケットを受信することを示す条件に対応して、予備情報処理端末装置４のＩＰアドレス宛へ転送することを示すアクションが格納されたフローテーブルを計算して作成し、フローテーブルをフローテーブル制御手段１７０に出力する。また、フローテーブル計算手段１６０は、電文受信手段１３０から並列化数制御完了情報または未知パケット処理完了情報を入力し、当該並列化数制御完了情報または未知パケット処理完了情報に対応するタスク識別子のタスクについて、スイッチ５が情報処理端末装置２から受信した未処理チャンクのパケットを予備情報処理端末装置４へ転送するための、予約ＩＰアドレス宛のパケットを受信することを示す条件、及び予備情報処理端末装置４のＩＰアドレス宛へ転送することを示すアクションが格納されたフローテーブルを削除するために、フローテーブル削除メッセージを作成し、フローテーブル削除メッセージをフローテーブル制御手段１７０に出力する。
【００８９】
フローテーブル制御手段１７０は、フローテーブル計算手段１６０からフローテーブルを入力し、フローテーブルをスイッチ５へ送信すると共に、蓄積手段１２４に蓄積する。また、フローテーブル制御手段１７０は、フローテーブル計算手段１６０からフローテーブル削除メッセージを入力し、フローテーブル削除メッセージをスイッチ５へ送信すると共に、当該フローテーブルを蓄積手段１２４から削除する。
【００９０】
〔サーバの構成〕
次に、図１に示した送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４のサーバの構成について説明する。図３は、送信元端末装置１等のサーバの構成を示すブロック図である。
【００９１】
この送信元端末装置１等のサーバは、命令実行手段２１０、情報収集手段２２０、並列処理実行手段２３０、蓄積手段２４０及び未処理データ振分け手段２５０を備えている。命令実行手段２１０は、管理装置６からタスクを実行するために必要なプロセスの起動及び転送コネクションの作成を指示するための制御命令、パラメータ、閾値１を有効にする制御命令、制御命令を解除するメッセージ等を受信し、受信した制御命令等を並列処理実行手段２３０及び未処理データ振分け手段２５０に出力し、制御命令に応じた処理を並列処理実行手段２３０に実行させ、未処理データ振分け処理を未処理データ振分け手段２５０に実行させる。
【００９２】
情報収集手段２２０は、並列処理実行手段２３０により実行される処理の進行状況を収集し、処理進行状況情報として管理装置６へ送信する。具体的には、情報収集手段２２０は、キューの長さの情報を並列処理実行手段２３０から入力すると共に、並列処理実行手段２３０において最後にチャンクの処理を行ってからの経過時間を測定すること等により、処理進行状況情報を生成する。この処理進行状況情報は、図１７に示したとおりであり、サーバが予備情報処理端末装置４の場合、情報収集手段２２０は、アイドル時間内にデータに情報処理を施したか否かを示す情報を含む処理進行状況情報を生成して管理装置６へ送信する。
【００９３】
また、サーバが送信先端末装置３の場合、情報収集手段２２０は、予め設定されたタスク完了条件を満たすか否かを判定し、タスク完了条件を満たさないと判定した場合、満たすまで待つ。一方、情報収集手段２２０は、タスク完了条件を満たすと判定した場合、図１８に示したように、タスクが完了したタスク識別子を含むタスク完了情報を生成して管理装置６へ送信する。
【００９４】
タスク完了条件とは、タスクが完了したことを示す条件であり、例えば、情報処理端末装置２から情報処理後の全てのデータを送信先端末装置３が受信したことを示す条件である。
【００９５】
並列処理実行手段２３０は、命令実行手段２１０から制御命令等を入力し、制御命令等に従って、タスクを実行するために必要なプロセスを起動し、転送コネクションを作成する。具体的には、並列処理実行手段２３０は、送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４におけるそれぞれの役割に応じたタスクを実行する。
【００９６】
サーバが送信元端末装置１として動作する場合、並列処理実行手段２３０は、映像データ等のパケットを送信するというタスクを実行するためのプロセスを起動し、転送コネクションを作成する。そして、並列処理実行手段２３０は、起動したプロセスにより、蓄積手段２４０に蓄積されているデータを分割してパケット化し、パケットを情報処理端末装置２へ送信する。
【００９７】
サーバが情報処理端末装置２として動作する場合、並列処理実行手段２３０は、パケットを受信して所定の情報処理を施し、転送するというタスクを実行するためのプロセスを起動し、転送コネクションを作成する。
【００９８】
図４は、サーバが情報処理端末装置２として動作する場合の並列分散処理実行手段２３０の構成を示すブロック図である。サーバが情報処理端末装置２として動作する場合、並列処理実行手段２３０は、プロセスを起動することで、受信手段２３１、バッファ２３２−１，２３２−２、映像処理手段２３３及び送信手段２３４として機能する。つまり、並列処理実行手段２３０は、受信手段２３１、バッファ２３２−１，２３２−２、映像処理手段２３３及び送信手段２３４を備えている。
【００９９】
受信手段２３１は、送信元端末装置１からパケットを受信し、バッファ２３２−１に格納する。映像処理手段２３３は、バッファ２３２−１からパケットを読み出してパケットに含まれるデータに所定の情報処理（映像加工処理）を施し、情報処理後のパケットをバッファ２３２−２に格納する。送信手段２３４は、バッファ２３２−２から情報処理後のパケットを読み出して送信先端末装置３へ送信する。このように、パケットは、受信手段２３１と映像処理手段２３３との間、及び映像処理手段２３３と送信手段２３４との間でやり取りが行われる。そして、送信元端末装置１から受信したパケットは、情報処理が施され、情報処理後のパケットとして送信先端末装置３へ転送される。
【０１００】
尚、並列処理実行手段２３０の映像処理手段２３３は、未処理データ振分け手段２５０から、キューの長さが閾値１，２を超えたことを示す閾値超え情報を入力した場合、バッファ２３２−１から読み出したパケットに所定の情報処理を施すことなく、パケットのヘッダフィールドにおける送信先ＩＰアドレスに予約ＩＰアドレスを設定し、予約ＩＰアドレスを設定したパケットをバッファ２３２−２に格納する。予約ＩＰアドレスを設定する処理については後述する。このように、送信元端末装置１から受信したパケットは、キューの長さが閾値１，２を超えた場合、情報処理が施されずに送信先ＩＰアドレスに予約ＩＰアドレスが設定されたパケットとして送信先端末装置３へ転送される。尚、予約ＩＰアドレスは、タスク起動時に、命令実行手段２１０からパラメータとして入力される。
【０１０１】
また、サーバが送信先端末装置３として動作する場合、並列処理実行手段２３０は、パケット（情報処理後のパケット）を受信し、所定の順番で配列して復元するというタスクを実行するためのプロセスを起動し、転送コネクションを作成する。そして、並列処理実行手段２３０は、起動したプロセスにより、情報処理端末装置２から受信した情報処理後のパケットを、所定の順番で配列することで、情報処理済みのデータを復元し、蓄積手段２４０に蓄積する。
【０１０２】
また、サーバが予備情報処理端末装置４として動作する場合、並列処理実行手段２３０は、情報処理端末装置２の場合と同様に、パケットを受信して所定の情報処理を施し、転送するというタスクを実行するためのプロセスを起動し、転送コネクションを作成する。具体的には、並列処理実行手段２３０は、図４に示したとおり、受信手段２３１がパケットを受信し、映像処理手段２３３が、パケットに所定の情報処理を施し、情報処理後のパケットの送信先ＩＰアドレスに送信先端末装置３のＩＰアドレスを設定し、送信手段２３４が、パケットを送信先端末装置３へ送信する。このように、受信したパケットは、情報処理が施され、情報処理後のパケットとして送信先端末装置３へ転送される。尚、送信先端末装置３のＩＰアドレスは、管理装置６のボトルネック判定手段１２２によりボトルネックが発生したと判定されたときに、または、フローテーブル計算手段１６０により予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したと判定されたときに、命令実行手段２１０からパラメータとして入力される。
【０１０３】
図３に戻って、蓄積手段２４０は、並列分散処理の対象となるデータ等を蓄積するメモリ、ハードディスク等の記憶装置である。
【０１０４】
未処理データ振分け手段２５０は、サーバが情報処理端末装置２（または予備情報処理端末装置４）として動作する場合にのみ機能する。未処理データ振分け手段２５０は、命令実行手段２１０から閾値１，２を含むパラメータを入力し、通常時に、閾値２による判定を行う。また、未処理データ振分け手段２５０は、命令実行手段２１０から閾値１を有効にする制御命令を入力した場合、閾値１による判定を行い、命令実行手段２１０から制御命令解除メッセージ（閾値１を有効にする制御命令に対する解除メッセージ）を入力した場合、閾値１による判定を止めて、通常時の閾値２による判定を行う。尚、後述するように、閾値１＜閾値２である。
【０１０５】
具体的には、未処理データ振分け手段２５０は、図４に示したバッファ２３２−１に格納されたパケットについて、バッファ２３２−１のキューの長さが閾値１，２を超えたか否かを判定する。未処理データ振分け手段２５０は、キューの長さが閾値１，２を超えたと判定した場合、閾値超え情報を並列処理実行手段２３０の映像処理手段２３３に出力する。これにより、未処理データ振分け手段２５０は、並列処理実行手段２３０の映像処理手段２３３に対し、閾値１，２を超えた分のパケットである未処理チャンクのパケットには情報処理を施さないように指示することができ、送信先ＩＰアドレスを予約ＩＰアドレスに設定するように指示することができる。
【０１０６】
図５は、バッファ２３２−１のキューの長さ及び閾値１，２を説明する図である。キューの長さは、バッファ２３２−１に格納されたパケットの量を示す。閾値１，２は、当該並列分散処理システムの利用者により設定され、タスク開始時に管理装置６から送信されたパラメータに含まれており、通常、図５に示すように、閾値１＜閾値２である。
【０１０７】
閾値１は、管理装置６のボトルネック判定手段１２２がボトルネックの発生を判定したとき、または、フローテーブル計算手段１６０が予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したと判定したときに有効となる閾値である。
【０１０８】
閾値１が有効になっているとき、閾値１を超える未処理チャンクのパケットは、スイッチ５を介して予備情報処理端末装置４へ転送される。ボトルネックの発生が判定された場合には、管理装置６による並列化数制御によりフローが増加して情報処理端末装置２を追加する制御が行われる。この制御が行われているときは、ボトルネックがさらに悪化する可能性が高い。そこで、情報処理端末装置２は、閾値２よりも小さい値の閾値１を有効にすることで、キューに蓄積されている閾値１を超える未処理チャンクのパケットを、スイッチ５を介して予備情報処理端末装置４へ転送し、当該情報処理端末装置２の代わりに予備情報処理端末装置４に情報処理を行わせる。これにより、情報処理端末装置２におけるボトルネックの悪化を回避することができる。
【０１０９】
未処理データ振分け手段２５０は、管理装置６から受信した閾値１を有効にする制御命令を命令実行手段２１０から入力した場合に、閾値１による判定を行う。したがって、未処理データ振分け手段２５０は、閾値１を有効にする制御命令を入力する前は、キューの長さが閾値１を超えたと判定しても、閾値超え情報を並列処理実行手段２３０の映像処理手段２３３に出力することはなく、映像処理手段２３３により予約ＩＰアドレスの設定も行われない。
【０１１０】
閾値２は、管理装置６からの制御命令に関わらず、常に有効な閾値である。したがって、未処理データ振分け手段２５０は、通常時に、キューの長さが閾値２を超えたか否かを判定し、キューの長さが閾値２を超えたと判定した場合、閾値超え情報を並列処理実行手段２３０の映像処理手段２３３に出力する。これにより、映像処理手段２３３により、閾値２を超えた分の未処理チャンクのパケットには情報処理が施されず、送信先ＩＰアドレスが予約ＩＰアドレスに設定される。
【０１１１】
このように、サーバが情報処理端末装置２（または予備情報処理端末装置４）として動作する場合、並列処理実行手段２３０は、キューの長さが閾値１，２を超えたときに、パケットに情報処理を施さず、パケットのヘッダフィールドの値を用いて未処理チャンクのパケットであることを示すための情報を設定して、パケットを転送する。具体的には、並列処理実行手段２３０の映像処理手段２３３は、未処理データ振分け手段２５０から閾値超え情報を入力した場合、バッファ２３２−１から読み出したパケットに対し、情報処理を施すことなく、パケットのヘッダフィールドにおける送信先ＩＰアドレスに、命令実行手段２１０から入力したパラメータに含まれる予約ＩＰアドレスを設定する。これにより、スイッチ５は、予約ＩＰアドレスが設定されたパケットを受信し、送信先ＩＰアドレスに予約ＩＰアドレスが設定されていることを判断することができ、フローテーブルに従ってフローを識別することができる。
【０１１２】
また、ボトルネックは、管理装置６のボトルネック判定手段１２２によりバッファ２３２−１のキューが所定の閾値を超えた長い状態で所定時間が経過した場合に判定されるのに対し、未処理データ振分け手段２５０による閾値超えは、閾値１，２を用いて、キューの長さのみで判定される。これにより、後者の方が、よりバースト的な負荷に対応し、負荷の変化に迅速に対応することができる。
【０１１３】
ここで、予約ＩＰアドレスは、一般にＩＰネットワークで使用可能なＩＰアドレスであるが、図１に示した並列分散処理システムのネットワークにおいては、予約して使用するＩＰアドレスであり、管理装置６の予備サーバ割当手段１２１において割り当てが禁止されている。尚、予約ＩＰアドレスは、並列分散処理システムの起動時に、利用者により設定され、管理装置６の蓄積手段１２４に蓄積される。
【０１１４】
〔スイッチの構成〕
次に、図１に示したスイッチ５について説明する。図６は、スイッチ５の構成を示すブロック図である。このスイッチ５は、前述のとおり、オープンフローによるパケット転送制御を行うオープンフロー対応スイッチであり、命令実行手段３１０及びパケット転送手段３２０を備えている。
【０１１５】
命令実行手段３１０は、管理装置６から、図１１に示した条件及びアクション等が格納されたフローテーブルを受信して保持し、保持したフローテーブルに従って、情報処理端末装置２等のサーバから受信したパケットの転送処理をパケット転送手段３２０に実行させる。また、命令実行手段３１０は、管理装置６からフローテーブル削除メッセージを受信し、当該フローテーブル削除メッセージが示すフローテーブルを削除する。
【０１１６】
パケット転送手段３２０は、情報処理端末装置２等のサーバからパケットを受信し、命令実行手段３１０が保持しているフローテーブルに従って、受信したパケットの転送処理を行う。例えば、パケット転送手段３２０は、受信したパケットが示す条件に対応するフローテーブルを命令実行手段３１０が保持している場合、その条件に対応するアクションにパケットヘッダの書き換えが記述されているときは、受信したパケットのヘッダを書き換えた後、パケットを転送する。また、パケット転送手段３２０は、受信したパケットが示す条件に対応するフローテーブルを命令実行手段３１０が保持していない場合、すなわち、転送方法を特定できない転送方法不明パケットを受信した場合、当該転送方法不明パケットを管理装置６へ送信し、転送方法を管理装置６へ問い合わせる。
【０１１７】
また、パケット転送手段３２０は、並列分散処理に必要な情報を、管理装置６と送信元端末装置１等のサーバとの間で転送する。
【０１１８】
〔並列分散処理〕
次に、管理装置６による並列分散処理について説明する。図７は、管理装置６による並列分散処理を示すフローチャートである。この処理は、入力したタスク情報に基づいて、タスクの処理を行う送信元端末装置１等のサーバを決定してプロセスを起動し、データの転送経路が定義された転送コネクション情報を生成して蓄積し、サーバによる処理が終了してタスクが完了したときに、蓄積した転送コネクション情報を削除する一連の処理である。
【０１１９】
管理装置６のタスク入力手段１１０は、利用者により指定されたタスク情報（図１２を参照）を入力し、タスク情報を並列プロセス計算手段１４０に出力する（ステップＳ７０１）。
【０１２０】
並列プロセス計算手段１４０は、並列プロセスを計算する（ステップＳ７０２）。具体的には、並列プロセス計算手段１４０は、タスク入力手段１１０からタスク情報を入力し、タスク情報に基づいて、タスクを実行する送信元端末装置１、情報処理端末装置２及び送信先端末装置３の各サーバを決定すると共に、決定した各サーバで起動するプロセスの内容を決定し、各サーバを特定するためのサーバ識別子及びプロセスの内容を含むサーバ特定情報（図１３を参照）を生成し、並列プロセス制御手段１５０に出力する。
【０１２１】
並列プロセス制御手段１５０は、並列プロセス制御を行う（ステップＳ７０３）。具体的には、並列プロセス制御手段１５０は、並列プロセス計算手段１４０からサーバ特定情報を入力し、サーバ特定情報に基づいて転送コネクション情報（図１４を参照）を生成する。また、並列プロセス制御手段１５０は、サーバ特定情報に含まれるサーバ識別子が示す送信元端末装置１、情報処理端末装置２及び送信先端末装置３の各サーバに対し、プロセスの起動及び転送コネクションの作成を命令すると共に、パラメータ（閾値１，２、予約ＩＰアドレス等）を送信する。また、並列プロセス制御手段１５０は、生成した転送コネクション情報を蓄積手段１２４に蓄積する（ステップＳ７０４）。
【０１２２】
電文受信手段１３０は、送信先端末装置３からタスク完了情報を受信してタスク完了判定手段１２３に出力し、タスク完了判定手段１２３は、電文受信手段１３０からタスク完了情報を入力したか否か、すなわちタスクが完了したか否かを判定する（ステップＳ７０５）。
【０１２３】
タスク完了判定手段１２３は、ステップＳ７０５において、タスクが完了していないと判定した場合（ステップＳ７０５：Ｎｏ）、タスクが完了するまで待つ。一方、タスク完了判定手段１２３は、ステップＳ７０５において、タスクが完了していると判定した場合（ステップＳ７０５：Ｙｅｓ）、蓄積手段１２４に蓄積した転送コネクション情報（当該タスクに対応する転送コネクション情報）を削除する（ステップＳ７０６）。
【０１２４】
このように、管理装置６は、並列分散処理として、入力したタスク情報に基づいて、タスクの処理を行う送信元端末装置１等のサーバを決定してプロセスを起動し、データの転送経路が定義された転送コネクション情報を生成して蓄積し、サーバによる処理が終了してタスクが完了したときに、蓄積した転送コネクション情報を削除する。
【０１２５】
〔チャンクの振分け処理〕
次に、チャンクの振分け処理について説明する。チャンクの振分けは、スイッチ５により行われ、情報処理が施されたパケットと情報処理が施されていないパケットとを振り分ける処理をいう。図８は、チャンクの振分け処理を説明する図である。以下、チャンクの振分け処理を、情報処理端末装置２、送信先端末装置３、予備情報処理端末装置４及びスイッチ５により説明する。尚、送信元端末装置１及び管理装置６は、チャンクの振分け処理に直接関係しないから省略してある。
【０１２６】
情報処理端末装置２の並列処理実行手段２３０は、未処理データ振分け手段２５０によりバッファ２３２−１のキューの長さが所定の閾値１，２を超えたと判定された場合、受信したパケットに情報処理を施すことなくチャンクを未処理のままで、送信先ＩＰアドレスに予約ＩＰアドレスを設定し、未処理チャンクのパケットとして転送する（ルートＢ）。一方、並列処理実行手段２３０は、未処理データ振分け手段２５０によりバッファ２３２−１のキューの長さが所定の閾値１，２を超えていないと判定された場合、パケットに情報処理を施し、処理済みチャンクのパケットとして転送する（ルートＡ）。この場合、送信先ＩＰアドレスには予約ＩＰアドレスが設定されない。
【０１２７】
スイッチ５のパケット転送手段３２０は、情報処理端末装置２からパケットを受信すると、保持しているフローテーブルに基づいて、フローテーブルに格納された送信先ＩＰアドレスについてのマッチングルールの条件を判定する。フローテーブルの条件として、受信したパケットの送信先ＩＰアドレスと予約ＩＰアドレスとのマッチングルールが記述されており、当該条件に対応するアクションとして、予備情報処理端末装置４のＩＰアドレス宛に転送することが記述されている場合、パケット転送手段３２０は、受信したパケットが未処理チャンクのときに、その送信先ＩＰアドレスには予約ＩＰアドレスが設定されているから、フローテーブルの条件を満たすと判定する。そして、パケット転送手段３２０は、アクションの記述に従って、受信したパケットの送信先ＩＰアドレスとして設定されている予約ＩＰアドレスを、予備情報処理端末装置４のＩＰアドレスに書き換え、予備情報処理端末装置４宛にパケットを転送する（ルートＢ）。
【０１２８】
尚、スイッチ５は、条件として、受信したパケットの送信先ＩＰアドレスと予約ＩＰアドレスとのマッチングルールが記述されており、当該条件に対応するアクションとして、予備情報処理端末装置４のＩＰアドレス宛に転送することが記述されているフローテーブルを、予め管理装置６から受信し、保持しているものとする。スイッチ５がこのフローテーブルを保持するのは、管理装置６が、情報処理端末装置２にボトルネックが発生したことを判定したとき、または、予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したことを判定したときである。
【０１２９】
一方、スイッチ５のパケット転送手段３２０は、受信したパケットが未処理チャンクであり、前述のフローテーブル（予約ＩＰアドレスの条件及び予備情報処理端末装置４に転送するアクションが記述されたフローテーブル）を保持していない場合、このフローテーブルの条件を満たさないと判定する。そして、パケット転送手段３２０は、オープンフローの仕様に従い、受信したパケットを転送方法不明パケットとして管理装置６へ転送することで、転送方法の問い合わせを行い、管理装置６から前述のフローテーブルを受信して保持する。そして、パケット転送手段３２０は、受信したパケットについて、前述のフローテーブルの条件を満たすと判定し、アクションの記述に従って、受信したパケットの送信先ＩＰアドレスとして設定されている予約ＩＰアドレスを、予備情報処理端末装置４のＩＰアドレスに書き換え、予備情報処理端末装置４宛にパケットを転送する（ルートＢ）。転送方法不明パケットを受信して転送方法の問い合わせを受け、フローテーブルをスイッチ５へ送信する管理装置６の処理については後述する。
【０１３０】
予備情報処理端末装置４の並列処理実行手段２３０は、管理装置６から受信した制御命令等に従って、タスクを実行するために必要なプロセスを起動し、転送コネクションを作成済みであるとする。また、並列処理実行手段２３０は、管理装置６から受信した送信先端末装置３のＩＰアドレスを保持しているものとする。
【０１３１】
予備情報処理端末装置４の並列処理実行手段２３０は、スイッチ５から未処理チャンクのパケットを受信すると、所定の情報処理を施し、受信したパケットの送信先ＩＰアドレスとして設定されている予約ＩＰアドレスを、送信先端末装置３のＩＰアドレスに書き換え、送信先端末装置３のＩＰアドレス宛に処理済みチャンクのパケットを転送する（ルートＢ）。ここで、並列処理実行手段２３０は、宛先ポート番号として、情報処理端末装置２がパケットを転送したときに設定した宛先ポート番号（予備情報処理端末装置４が受信したパケットの宛先ポート番号）と同一の番号を設定する。
【０１３２】
送信先端末装置３は、スイッチ５または予備情報処理端末装置４から処理済みチャンクのパケットを受信し、パケットの転送ルートであるルートＡ，Ｂに関わらず、ルートＡにおいて情報処理端末装置２により情報処理が施された処理済みチャンクのパケットとして扱い、データ転送の要求前に予め確保した領域に格納する。
【０１３３】
このように、情報処理端末装置２として動作するサーバに、予備情報処理端末装置４として動作するサーバのＩＰアドレスを事前に付与する必要がない。これにより、管理装置６は、負荷状況に応じて必要なときに予備情報処理端末装置４の割り当てを行うことができる。また、タスクにボトルネックが生じないときは、予備情報処理端末装置４の割り当てが行われることなくタスクが実行されるから、使用するリソースを削減することができる。また、情報処理端末装置２の構成及びデータ転送のパケット構造、並びにプル型転送の方式を変更することなく、情報処理端末装置２に未処理データ振分け手段２５０を加えるだけで、スイッチ５は、未処理チャンクのパケットを予備情報処理端末装置４に振り分けることができる。
【０１３４】
〔ボトルネック回避のための並列化数制御時の未処理チャンク振分け処理〕
次に、管理装置６によるボトルネック回避のための並列化数制御時の未処理チャンク振分け処理（ボトルネック判定時の処理）について説明する。図９は、管理装置６によるボトルネック判定時の処理を示すフローチャートである。この処理は、ボトルネック判定時に、並列化数制御によるフローの増加に伴い追加する情報処理端末装置２を決定して処理を行わせ、また、未処理チャンクのパケットを転送するための予備情報処理端末装置４を割り当てて処理を行わせると共にフローテーブルを作成し、情報処理端末装置２に対して閾値１（通常時の閾値２よりも小さい閾値１）による判定を行わせることでボトルネックの悪化を回避し、さらに、並列化数制御が完了したときに、予備情報処理端末装置４の処理を停止すると共に情報処理端末装置２に対して閾値２による判定に戻す一連の処理である。これにより、並列化数制御によりフローが増加して情報処理端末装置２を追加する制御が行われているときに、ボトルネックが発生した情報処理端末装置２のキューに蓄積されている閾値１を超える未処理チャンクのパケットを、新たなフローテーブルに従うスイッチ５を介して予備情報処理端末装置４へ転送し、当該情報処理端末装置２の代わりに予備情報処理端末装置４に情報処理を行わせることができる。したがって、ボトルネックの悪化を回避することができる。
【０１３５】
管理装置６の電文受信手段１３０は、情報処理端末装置２等のサーバから処理進行状況情報を受信する（ステップＳ９０１）。そして、電文受信手段１３０は、受信した処理進行状況情報をボトルネック判定手段１２２に出力する。
【０１３６】
ボトルネック判定手段１２２は、電文受信手段１３０から処理進行状況情報を入力すると共に、並列プロセス制御手段１５０から転送コネクション情報を入力し、処理進行状況情報及び転送コネクション情報に基づいて、処理進行状況情報が示すタスクにおいて、ボトルネックが発生したか否かを判定する（ステップＳ９０２）。具体的には、ボトルネック判定手段１２２は、処理進行状況情報に含まれるタスク識別子及びサーバ識別子からタスク及び情報処理端末装置２をそれぞれ特定し、これらに対応するフローを、転送コネクション情報に含まれるタスク識別子、サーバ識別子及びフロー識別子から特定する。そして、ボトルネック判定手段１２２は、処理進行状況情報に含まれるキューの長さが、予め設定された閾値よりも長くなり、その状態が所定時間経過していることを判断すると、特定したタスク、フロー及び情報処理端末装置２においてボトルネックが発生したと判定する。尚、ボトルネック判定手段１２２は、転送コネクション情報を、並列プロセス制御手段１５０から入力する代わりに蓄積手段１２４から読み出すようにしてもよい。
【０１３７】
ボトルネック判定手段１２２は、ステップＳ９０２において、ボトルネックが発生したことを判定した場合（ステップＳ９０２：Ｙｅｓ）、ボトルネックが発生したタスクのタスク識別子、情報処理端末装置２のサーバ識別子及びフローのフロー識別子を含むボトルネック情報を生成し、ボトルネック情報を並列プロセス計算手段１４０及び予備サーバ割当手段１２１に出力すると共に、蓄積手段１２４に蓄積する。
【０１３８】
一方、ボトルネック判定手段１２２は、ステップＳ９０２において、ボトルネックが発生していないことを判定した場合（ステップＳ９０２：Ｎｏ）、処理を終了する。
【０１３９】
並列プロセス計算手段１４０は、ステップＳ９０２から移行して、ボトルネック判定手段１２２からボトルネック情報を入力し、ボトルネック情報に基づいて新たな並列化数（例えば、以前の並列化数に１を加算した数）を計算する。並列プロセス計算手段１４０及び並列プロセス制御手段１５０は、新たな並列化数による並列化数制御を行う（ステップＳ９０３）。
【０１４０】
具体的には、並列プロセス計算手段１４０は、新たな並列化数にするために追加する情報処理端末装置２を特定してサーバ特定情報を生成し、新たなサーバ特定情報を並列プロセス制御手段１５０に出力する。そして、並列プロセス制御手段１５０は、並列プロセス計算手段１４０から新たなサーバ特定情報を入力し、サーバ特定情報に基づいて、追加する情報処理端末装置２のフローを含む転送コネクション情報を生成し、転送コネクション情報を蓄積手段１２４に蓄積する。また、並列プロセス制御手段１５０は、新たなサーバ特定情報に基づいて、プロセスの起動及び転送コネクションの作成を、追加する情報処理端末装置２等のサーバへ命令し、予め利用者により設定された閾値１，２及び予約ＩＰアドレス等のパラメータも送信する。
【０１４１】
予備サーバ割当手段１２１は、ボトルネック判定手段１２２からボトルネック情報を入力すると、ボトルネックが発生したことを判断し、ボトルネック情報に含まれるタスク識別子が示すタスクに使用していない情報処理端末装置２の中から、ラウンドロビンにより、同タスクで予備情報処理端末装置４として使用する予備サーバを割り当て、割り当てた予備情報処理端末装置４のＩＰアドレスであるサーバ識別子を含む予備サーバ情報を生成し、並列プロセス計算手段１４０及びフローテーブル計算手段１６０に出力すると共に、予備サーバ情報を蓄積手段１２４に蓄積する（ステップＳ９０４）。
【０１４２】
フローテーブル計算手段１６０は、予備サーバ割当手段１２１から予備サーバ情報を入力し、各スイッチ５がパケットを転送するための条件及びアクションとして、予約ＩＰアドレス宛のパケットを、予備サーバ情報が示すＩＰアドレスの予備情報処理端末装置４へ転送するためのフローテーブルを計算して作成し、フローテーブルをフローテーブル制御手段１７０に出力する。フローテーブル制御手段１７０は、フローテーブル計算手段１６０からフローテーブルを入力し、フローテーブルをスイッチ５へ送信すると共に、蓄積手段１２４に蓄積する（ステップＳ９０５）。これにより、スイッチ５は、このフローテーブルを保持する。
【０１４３】
並列プロセス計算手段１４０は、予備サーバ割当手段１２１から予備サーバ情報を入力し、蓄積手段１２４に蓄積された転送コネクション情報等に基づいて、同タスクの処理内容、送信先端末装置３のＩＰアドレス、予備情報処理端末装置４のＩＰアドレス等を特定し、これらの情報を並列プロセス制御手段１５０に出力する。
【０１４４】
並列プロセス制御手段１５０は、並列プロセス計算手段１４０から同タスクの処理内容及び送信先端末装置３のＩＰアドレス等を入力し、これらの情報を予備情報処理端末装置４へ送信する。すなわち、並列プロセス制御手段１５０は、プロセスの起動及び転送コネクションを作成するための制御命令、並びに送信先端末装置３のＩＰアドレス等のパラメータを予備情報処理端末装置４へ送信する。また、並列プロセス制御手段１５０は、これらの情報を蓄積手段１２４に蓄積する。また、並列プロセス制御手段１５０は、ボトルネックが発生した情報処理端末装置２に対して、閾値１を有効にするための制御命令を送信すると共に、この情報を蓄積手段１２４に蓄積する（ステップＳ９０６）。これにより、予備情報処理端末装置４が稼動し、ボトルネックが発生した情報処理端末装置２における閾値１が有効になる。
【０１４５】
電文受信手段１３０は、送信先端末装置３から並列化数制御が完了したことを示すメッセージ（並列化数制御完了情報：ステップＳ９０３における並列化数制御による制御命令に従ったプロセスの起動が完了したことを示すメッセージ）を受信したか否かを判定する（ステップＳ９０７）。電文受信手段１３０は、ステップＳ９０７において、並列化数制御完了情報を受信していないことを判定した場合（ステップＳ９０７：Ｎｏ）、受信するまで待つ。
【０１４６】
一方、電文受信手段１３０は、ステップＳ９０７において、並列化数制御完了情報を受信したことを判定した場合（ステップＳ９０７：Ｙｅｓ）、並列化数制御完了情報を並列プロセス制御手段１５０及びフローテーブル計算手段１６０に出力する。
【０１４７】
並列プロセス制御手段１５０は、電文受信手段１３０から並列化数制御完了情報を入力すると、ステップＳ９０６にて送信した制御命令を解除するためのメッセージを、予備情報処理端末装置４及びボトルネックが発生した情報処理端末装置２へ送信すると共に、この情報を蓄積手段１２４に蓄積する（ステップＳ９０８）。すなわち、並列プロセス制御手段１５０は、プロセスの起動及び転送コネクションを作成する制御命令を解消するための制御命令解除メッセージを予備情報処理端末装置４へ送信すると共に、閾値１を有効にする制御命令を解消するための制御命令解除メッセージを、ボトルネックが発生した情報処理端末装置２へ送信する。これにより、予備情報処理端末装置４の稼動が停止し、ボトルネックが発生した情報処理端末装置２における閾値１が無効になり、元の閾値２による判定に戻る。
【０１４８】
フローテーブル計算手段１６０は、電文受信手段１３０から並列化数制御完了情報を入力すると、ステップＳ９０５にて登録したフローテーブルを削除するメッセージをフローテーブル制御手段１７０に出力する。フローテーブル制御手段１７０は、フローテーブル計算手段１６０からフローテーブル削除メッセージを入力し、当該メッセージをスイッチ５へ送信すると共に、蓄積手段１２４に蓄積する（ステップＳ９０９）。そして、ステップＳ９０１へ移行する。
【０１４９】
このように、管理装置６は、ボトルネック判定時に、並列化数制御によるフローの増加に伴い追加する情報処理端末装置２を決定して処理を行わせ、また、未処理チャンクのパケットを転送するための予備情報処理端末装置４を割り当てて処理を行わせると共にフローテーブルを作成し、情報処理端末装置２に対して閾値１（通常時の閾値２よりも小さい閾値１）による判定を行わせる。これにより、ボトルネックが発生した情報処理端末装置２は、閾値１を超える未処理チャンクのパケットを、新たなフローテーブルに従うスイッチ５を介して予備情報処理端末装置４へ転送し、当該情報処理端末装置２の代わりに予備情報処理端末装置４に情報処理を行わせることができる。したがって、並列化数制御により情報処理端末装置２を追加しているときにボトルネックは悪化するが、未処理チャンクのパケットが予備情報処理端末装置４へ転送されるから、ボトルネックの悪化を回避することができる。つまり、送信先端末装置３へパケットの到着が遅れる高負荷状態を回避し、ボトルネックが発生した情報処理端末装置２のキューが長くなるのを抑制することができる。そして、管理装置６は、並列化数制御が完了したとき（新たな並列化数による並列化数制御のプロセスの起動が完了したとき）に、このときまでには未処理チャンクの転送によってボトルネックが解消されているものとみなし、予備情報処理端末装置４の処理を停止すると共に情報処理端末装置２に対して閾値２による判定に戻す。これにより、情報処理端末装置２を追加した状態で、通常の並列化数制御によるパケット転送が行われる。
【０１５０】
〔予約ＩＰアドレス宛の未知パケットの処理〕
次に、管理装置６による予約ＩＰアドレス宛の未知パケットの処理について説明する。図１０は、管理装置６による予約ＩＰアドレス宛の未知パケットの処理を示すフローチャートである。この処理は、スイッチ５から受信した転送方法不明パケットが予約ＩＰアドレス宛の未知パケットであると判定したときに、未処理チャンクのパケットを転送するための予備情報処理端末装置４を割り当てて当該予備情報処理端末装置４に処理を行わせると共にフローテーブルを作成し、情報処理端末装置２に対して閾値１（通常時の閾値２よりも小さい閾値１）による判定を行わせ、さらに、予備情報処理端末装置４において所定アイドル時間内にデータが処理されていないと判定したときに、予備情報処理端末装置４の処理を停止すると共に情報処理端末装置２に対して閾値２による判定に戻す一連の処理である。これにより、情報処理端末装置２のキューの長さが閾値２を超えた場合に、管理装置６は、転送方法不明パケットが予約ＩＰアドレス宛の未知パケットであると判定し、情報処理端末装置２のキューに蓄積されている閾値１を超える未処理チャンクのパケットを、新たなフローテーブルに従うスイッチ５を介して予備情報処理端末装置４へ転送し、当該情報処理端末装置２の代わりに予備情報処理端末装置４に情報処理を行わせることができる。したがって、閾値２を超えるパケットが蓄積された情報処理端末装置２の負荷を低減することができる。
【０１５１】
管理装置６の電文受信手段１３０は、スイッチ５から転送方法不明パケットを受信し、転送方法不明パケットをフローテーブル計算手段１６０に出力する（ステップＳ１００１）。前述のとおり、スイッチ５は、受信したパケットについて、当該パケットが示す条件に対応するフローテーブルを保持していない場合、すなわち、転送方法を特定できないパケットを受信した場合、転送方法不明パケットとして管理装置６へ送信し、その転送方法を管理装置６へ問い合わせる。
【０１５２】
フローテーブル計算手段１６０は、電文受信手段１３０から転送方法不明パケットを入力すると、蓄積手段１２４に蓄積されている予約ＩＰアドレスの情報に基づいて、入力した転送方法不明パケットが予約ＩＰアドレス宛の未知パケットであるか否かを判定する（ステップＳ１００２）。
【０１５３】
フローテーブル計算手段１６０は、ステップＳ１００２において、予約ＩＰアドレス宛の未知パケットであると判定した場合（ステップＳ１００２：Ｙｅｓ）、当該未知パケットについて転送方法の問い合わせが発生したフローのフロー識別子を蓄積手段１２４に蓄積して、ステップＳ１００３へ移行する。また、フローテーブル計算手段１６０は、予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したことを示す転送方法問い合わせ情報を生成して予備サーバ割当手段１２１に出力する。尚、転送方法不明パケットが予約ＩＰアドレス宛の未知パケットである場合、当該転送方法不明パケットは、情報処理端末装置２においてキューの長さが閾値２を超えた分のパケットであって、予約ＩＰアドレスが設定された未処理チャンクのパケットである。
【０１５４】
一方、フローテーブル計算手段１６０は、ステップＳ１００２において、予約ＩＰアドレス宛の未知パケットでないと判定した場合（ステップＳ１００２：Ｎｏ）、処理を終了する。
【０１５５】
予備サーバ割当手段１２１は、フローテーブル計算手段１６０から転送方法問い合わせ情報を入力すると、予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したことを判断し、蓄積手段１２４に蓄積された転送コネクション情報及び未知パケットについて転送方法の問い合わせが発生したフローのフロー識別子に基づいて、未知パケットの問い合わせが発生したタスクを特定し、そのタスクに使用していない情報処理端末装置２の中から、ラウンドロビンにより、同タスクで予備情報処理端末装置４として使用する予備サーバを割り当て、割り当てた予備情報処理端末装置４のＩＰアドレスであるサーバ識別子を含む予備サーバ情報を生成し、予備サーバ情報を並列プロセス計算手段１４０及びフローテーブル計算手段１６０に出力すると共に、蓄積手段１２４に蓄積する（ステップＳ１００３）。
【０１５６】
フローテーブル計算手段１６０は、予備サーバ割当手段１２１から予備サーバ情報を入力し、図９に示したステップＳ９０５と同様の処理を行う。すなわち、フローテーブル計算手段１６０は、各スイッチ５がパケットを転送するための条件及びアクションとして、予約ＩＰアドレス宛のパケットを、予備サーバ割当手段１２１により割り当てられた予備情報処理端末装置４へ転送するためのフローテーブルを計算して作成し、フローテーブル制御手段１７０は、フローテーブルをスイッチ５へ送信すると共に、蓄積手段１２４に蓄積する（ステップＳ１００４）。これにより、スイッチ５は、このフローテーブルを保持する。
【０１５７】
並列プロセス計算手段１４０は、予備サーバ割当手段１２１から予備サーバ情報を入力し、蓄積手段１２４に蓄積された転送コネクション情報等に基づいて、同タスクの処理内容、送信先端末装置３のＩＰアドレス、予備情報処理端末装置４のＩＰアドレス等を特定し、これらの情報及び利用者により予め設定されたアイドル時間を並列プロセス制御手段１５０に出力する。
【０１５８】
並列プロセス制御手段１５０は、並列プロセス計算手段１４０から同タスクの処理内容及び送信先端末装置３のＩＰアドレス等を入力し、これらの情報を予備情報処理端末装置４へ送信する。すなわち、並列プロセス制御手段１５０は、プロセスの起動及び転送コネクションを作成するための制御命令、並びに送信先端末装置３のＩＰアドレス及びアイドル時間等のパラメータを予備情報処理端末装置４へ送信する。また、並列プロセス制御手段１５０は、これらの情報を蓄積手段１２４に蓄積する。また、並列プロセス制御手段１５０は、未知パケットについて転送方法の問い合わせが発生した（パケットに予約ＩＰアドレスを設定した）情報処理端末装置２に対して、閾値１を有効にするための制御命令を送信すると共に、この情報を蓄積手段１２４に蓄積する（ステップＳ１００５）。これにより、予備情報処理端末装置４が稼動し、未知パケットについて転送方法の問い合わせが発生した（パケットに予約ＩＰアドレスを設定した）情報処理端末装置２における閾値１が有効になる。
【０１５９】
電文受信手段１３０は、予備情報処理端末装置４から処理進行状況情報を受信し、処理信号状況情報に含まれる、アイドル時間内にデータに情報処理が施されたか否かを示す情報に基づいて、所定アイドル時間内に予備情報処理端末装置４においてデータが処理されたか否かを判定する（ステップＳ１００６）。この場合、予備情報処理端末装置４は、ステップＳ１００５において、制御命令と共にアイドル時間を含むパラメータを受信し、制御命令に従ったプロセスを実行した後、パケットに対する情報処理が終わってからアイドル時間内に次のパケットに対する情報処理を行ったか否かを示す情報（アイドル時間内にデータに情報処理が施されたか否かを示す情報）を含む処理進行状況情報を生成し、処理進行状況情報を管理装置６へ送信する。
【０１６０】
電文受信手段１３０は、ステップＳ１００６において、所定アイドル時間内にデータが処理されたことを判定した場合（ステップＳ１００６：Ｙｅｓ）、所定アイドル時間内にデータが処理されていないと判定するまで待つ。
【０１６１】
一方、電文受信手段１３０は、ステップＳ１００６において、所定アイドル時間内にデータが処理されていないと判定した場合（ステップＳ１００６：Ｎｏ）、予備情報処理端末装置４において未処理チャンクのパケットに対する情報処理が完了したことを示す未知パケット処理完了情報を生成し、未知パケット処理完了情報を並列プロセス制御手段１５０及びフローテーブル計算手段１６０に出力する。
【０１６２】
並列プロセス制御手段１５０は、電文受信手段１３０から未知パケット処理完了情報を入力すると、ステップＳ１００５にて送信した制御命令を解消するための解消命令を、予備情報処理端末装置４及び未知パケットについて転送方法の問い合わせが発生した（パケットに予約ＩＰアドレスを設定した）情報処理端末装置２へ送信すると共に、この情報を蓄積手段１２４に蓄積する（ステップＳ１００７）。すなわち、並列プロセス制御手段１５０は、プロセスの起動及び転送コネクションを作成する制御命令を解消するための制御命令解除メッセージを予備情報処理端末装置４へ送信すると共に、閾値１を有効にする制御命令を解消するための制御命令解除メッセージを、未知パケットについて転送方法の問い合わせが発生した（パケットに予約ＩＰアドレスを設定した）情報処理端末装置２へ送信する。これにより、予備情報処理端末装置４の稼動が停止し、当該情報処理端末装置２における閾値１が無効になり、元の閾値２による判定に戻る。
【０１６３】
フローテーブル計算手段１６０は、電文受信手段１３０から未知パケット処理完了情報を入力すると、ステップＳ１００４にて登録したフローテーブルを削除するメッセージをフローテーブル制御手段１７０に出力する。フローテーブル制御手段１７０は、フローテーブル計算手段１６０からフローテーブル削除メッセージを入力すると、当該メッセージをスイッチ５へ送信すると共に、蓄積手段１２４に蓄積する（ステップＳ１００８）。そして、ステップＳ１００１へ移行する。
【０１６４】
このように、管理装置６は、スイッチ５から受信した転送方法不明パケットが予約ＩＰアドレス宛の未知パケットであると判定したときに、未処理チャンクのパケットを転送するための予備情報処理端末装置４を割り当てて処理を行わせると共にフローテーブルを作成し、未知パケットについて転送方法の問い合わせが発生した（パケットに予約ＩＰアドレスを設定した）情報処理端末装置２に対して閾値１（通常時の閾値２よりも小さい閾値１）による判定を行わせる。これにより、その情報処理端末装置２は、閾値１を超える未処理チャンクのパケットを、新たなフローテーブルに従うスイッチ５を介して予備情報処理端末装置４へ転送し、当該情報処理端末装置２の代わりに予備情報処理端末装置４に情報処理を行わせることができる。したがって、未処理チャンクのパケットが予備情報処理端末装置４へ転送されるから、閾値２を超えるキューの長さを閾値１以下に抑えることができ、閾値２を超えるパケットが蓄積された情報処理端末装置２の負荷を低減することができる。つまり、送信先端末装置３へパケットの到着が遅れる高負荷状態を回避し、情報処理端末装置２のキューが長くなるのを抑制することができる。そして、管理装置６は、予備情報処理端末装置４による情報処理が所定のアイドル時間内で行われていないことを判定すると、このときまでには未処理チャンクの転送によって閾値２を超えるキューの長さが短くなり閾値１以下に抑えられているとみなし、予備情報処理端末装置４の処理を停止すると共に情報処理端末装置２に対して閾値２による判定に戻す。これにより、通常のパケット転送状態に戻すことができる。
【０１６５】
〔ボトルネック判定時のシーケンス〕
次に、ボトルネック判定時のシーケンスについて説明する。図２０は、ボトルネック判定時のシーケンスを示す図である。図７に示した並列分散処理により、タスクを実行する送信元端末装置１、情報処理端末装置２及び送信先端末装置３は、所定のプロセスを起動しており、スイッチ５は、処理済みチャンクのパケットを送信先端末装置３へ送信する等の転送制御を行っているものとする。
【０１６６】
情報処理端末装置２は、送信元端末装置１からパケットを受信し、キューの長さが閾値２を超えていないと判定してチャンク（チャンクを構成する複数のパケット毎）に情報処理を施し、処理済みチャンクのパケットとしてスイッチ５へ転送し、スイッチ５は、処理済みチャンクのパケットを、フローテーブルに従って送信先端末装置３へ転送する（ステップＳ２００１）。これらのシーケンスは、図８に示したルートＡの経路に対応する。また、管理装置６は、情報処理端末装置２から受信した処理進行状況情報に基づいて、ボトルネックが発生していないと判定する（ステップＳ２００２）。
【０１６７】
いま、情報処理端末装置２のＣＰＵ負荷等が原因となって、情報処理端末装置２のキューに一定量のパケットが蓄積されたとする。管理装置６は、図９のステップＳ９０１〜ステップＳ９０３のように、情報処理端末装置２から受信した処理進行状況情報に含まれるキューの長さが所定の閾値を超えていると判断してボトルネックの発生を判定し、フローを増加して情報処理端末装置２を追加する並列化数制御を行い、制御命令等を追加する情報処理端末装置２等へ送信する（ステップＳ２００３）。これにより、追加された情報処理端末装置２は、制御命令に従って所定のプロセスを起動する。
【０１６８】
そして、管理装置６は、図９のステップＳ９０４〜ステップＳ９０６のように、予備情報処理端末装置４を割り当てると共に、予約ＩＰアドレス宛のパケットを予備情報処理端末装置４へ転送するためのフローテーブルを作成し、フローテーブルをスイッチ５へ送信し、制御命令及び送信先端末装置３のＩＰアドレス等のパラメータを予備情報処理端末装置４へ送信すると共に、閾値１を有効にするための制御命令をボトルネックが発生した情報処理端末装置２へ送信する（ステップＳ２００４）。これにより、予備情報処理端末装置４は、制御命令に従って所定のプロセスを起動する。
【０１６９】
ボトルネックが発生した情報処理端末装置２は、ステップＳ２００４において閾値１を有効にするための制御命令を受信すると、閾値２による判定から閾値１による判定に変更し、閾値１を超えるパケットに対し、情報処理を施さないで送信先ＩＰアドレスに予約ＩＰアドレスを設定し、未処理チャンクのパケットとして転送する（ステップＳ２００５）。これにより、キューが短くなる（キューのチャンク数が減少する）。
【０１７０】
スイッチ５は、ステップＳ２００４において、予約ＩＰアドレス宛のパケットを予備情報処理端末装置４へ転送するためのフローテーブルを受信すると、当該フローテーブルを保持する。そして、スイッチ５は、情報処理端末装置２から未処理チャンクのパケットを受信すると、未処理チャンクのパケットには予約ＩＰアドレスが設定されているから、フローテーブルに従って、未処理チャンクのパケットを予備情報処理端末装置４へ転送する（ステップＳ２００６）。
【０１７１】
予備情報処理端末装置４は、ステップＳ２００４において、制御命令及び送信先端末装置３のＩＰアドレス等のパラメータを受信し、制御命令に従ってプロセスを起動する。そして、予備情報処理端末装置４は、スイッチ５から未処理チャンクのパケットを受信すると、情報処理を施して処理済みチャンクのパケットとして送信先端末装置３へ送信する（ステップＳ２００７）。ステップＳ２００５〜ステップＳ２００７に示すこれらのシーケンスは、図８に示したルートＢの経路に対応する。
【０１７２】
これにより、ステップＳ２００５〜ステップＳ２００７の処理が繰り返されることで、ボトルネックが発生した情報処理端末装置２のキューが短くなってボトルネックが解消する。
【０１７３】
送信先端末装置３は、ステップＳ２００４において受信した制御命令に従ってプロセスの起動が完了すると、並列化数制御完了情報を管理装置６へ送信する（ステップＳ２００８）。
【０１７４】
管理装置６は、図９のステップＳ９０７〜ステップＳ９０９のように、並列化数制御完了情報を受信すると、並列化数制御が完了したものと判断し、ステップＳ２００４にて送信した制御命令を解除するためのメッセージを、予備情報処理端末装置４及びボトルネックが発生した情報処理端末装置２へ送信すると共に、ステップＳ２００４にて登録した、予約ＩＰアドレスについてのフローテーブルを削除するメッセージをスイッチ５へ送信する（ステップＳ２００９）。これにより、予備情報処理端末装置４にて起動しているプロセスの稼動が停止し、ボトルネックが発生した情報処理端末装置２における閾値１が無効になり、元の閾値２による判定に戻る。また、スイッチ５が保持していた予約ＩＰアドレスについてのフローテーブルが削除される。
【０１７５】
このように、ボトルネック判定時に、送信先端末装置３へパケットの到着が遅れる高負荷状態である情報処理端末装置２のボトルネックを回避し、情報処理端末装置２のキューが長くなるのを抑制することができる。
【０１７６】
〔予約ＩＰアドレス宛の未知パケットに関する転送方法問い合わせ発生時のシーケンス〕
次に、予約ＩＰアドレス宛の未知パケットに関する転送方法問い合わせ発生時のシーケンスについて説明する。このシーケンスは、情報処理端末装置２においてキューの長さが閾値２を超えたときのシーケンスでもある。図２１は、予約ＩＰアドレス宛の未知パケットに関する転送方法問い合わせ発生時のシーケンスを示す図である。図７に示した並列分散処理により、タスクを実行する送信元端末装置１等は、所定のプロセスを起動しており、スイッチ５は、所定の転送制御を行っているものとする。
【０１７７】
情報処理端末装置２は、送信元端末装置１からパケットを受信し、キューの長さが閾値２を超えていないと判定してチャンクに情報処理を施し、処理済みチャンクのパケットとしてスイッチ５へ転送し、スイッチ５は、処理済みチャンクのパケットを、フローテーブルに従って送信先端末装置３へ転送する（ステップＳ２１０１）。これらのシーケンスは、図８に示したルートＡの経路に対応する。
【０１７８】
いま、情報処理端末装置２のＣＰＵ負荷等が原因となって、情報処理端末装置２のキューが長くなった場合を想定する。情報処理端末装置２は、キューの長さが閾値２を超えていると判定すると、チャンクに情報処理を施すことなく送信先ＩＰアドレスに予約ＩＰアドレスを設定し、未処理チャンクのパケットとしてスイッチ５へ転送し、スイッチ５は、予約ＩＰアドレスに対応するフローテーブルを保持していないと判断して転送方法不明パケットを管理装置６へ送信し、管理装置６は、図１０のステップＳ１００１〜ステップＳ１００５のように、予備情報処理端末装置４を割り当てると共に、予約ＩＰアドレス宛のパケットを予備情報処理端末装置４へ転送するためのフローテーブルを作成し、フローテーブルをスイッチ５へ送信し、制御命令並びに送信先端末装置３のＩＰアドレス及びアイドル時間等のパラメータを予備情報処理端末装置４へ送信すると共に、閾値１を有効にするための制御命令を未知パケットについて転送方法の問い合わせが発生した（パケットに予約ＩＰアドレスを設定した）情報処理端末装置２へ送信する（ステップＳ２１０２）。予備情報処理端末装置４は、制御命令に従って所定のプロセスを起動する。
【０１７９】
そして、スイッチ５は、受信したフローテーブルを保持し、当該フローテーブルに従って、情報処理端末装置２から受信した未処理チャンクのパケットを予備情報処理端末装置４へ転送する（ステップＳ２１０３）。予備情報処理端末装置４は、ステップＳ２１０２において制御命令等を受信し、制御命令に従ってプロセスを起動し、スイッチ５から未処理チャンクのパケットを受信すると、情報処理を施して処理済みチャンクのパケットとして送信先端末装置３へ送信する（ステップＳ２１０４）。
【０１８０】
情報処理端末装置２は、ステップＳ２１０２において閾値１を有効にするための制御命令を受信すると、閾値２による判定から閾値１による判定に変更し、閾値１を超えるパケットに対し、情報処理を施さないで送信先ＩＰアドレスに予約ＩＰアドレスを設定し、未処理チャンクのパケットとして送信する（ステップＳ２１０５）。これにより、キューが短くなる（キューのチャンク数が減少する）。
【０１８１】
スイッチ５は、情報処理端末装置２から未処理チャンクのパケットを受信すると、未処理チャンクのパケットには予約ＩＰアドレスが設定されているから、フローテーブルに従って、未処理チャンクのパケットを予備情報処理端末装置４へ転送する（ステップＳ２１０６）。
【０１８２】
予備情報処理端末装置４は、スイッチ５から未処理チャンクのパケットを受信すると、情報処理を施して処理済みチャンクのパケットとして送信先端末装置３へ送信する（ステップＳ２１０７）。ステップＳ２１０５〜ステップＳ２１０７に示すこれらのシーケンスは、図８に示したルートＢの経路に対応する。
【０１８３】
これにより、ステップＳ２１０５〜ステップＳ２１０７の処理が繰り返されることで、未知パケットについて転送方法の問い合わせが発生した（パケットに予約ＩＰアドレスを設定した）情報処理端末装置２のキューが短くなる。
【０１８４】
予備情報処理端末装置４は、ステップＳ２１０２において制御命令に従ったプロセスを実行した後、チャンクに対する情報処理が終わってから、アイドル時間内に次のチャンクに対する情報処理を行ったか否かを示す情報（アイドル時間内にデータに情報処理が施されたか否かを示す情報）を含む処理進行状況情報を生成し、処理進行状況情報を管理装置６へ送信する。
【０１８５】
ステップＳ２１０５〜ステップＳ２１０７の処理が繰り返されているときは、予備情報処理端末装置４によりチャンクに対する情報処理が順次行われるから、予備情報処理端末装置４は、アイドル時間内に次のチャンクに対する情報処理を行ったことを示す情報（アイドル時間内にデータに情報処理が施されたことを示す情報）を含む処理進行状況情報を管理装置６へ送信し、管理装置６は、アイドル時間内にデータが情報処理されたことを判定する（ステップＳ２１０８）。
【０１８６】
そして、情報処理端末装置２においてキューの長さが閾値１を超えなくなると、情報処理端末装置２により情報処理が行われるから、ステップＳ２１０５〜ステップＳ２１０７の処理は行われなくなり、処理済みチャンクのパケットは、情報処理端末装置２からスイッチ５を介して送信先端末装置３へ送信される。そうすると、未処理チャンクのパケットは、スイッチ５を介して予備情報処理端末装置４へ転送されなくなる。予備情報処理端末装置４は、アイドル時間内に次のチャンクに対する情報処理を行っていないことを示す情報（アイドル時間内にデータに情報処理が施されなかったことを示す情報）を含む処理進行状況情報を管理装置６へ送信し、管理装置６は、図１０のステップＳ１００６のように、アイドル時間内にデータが情報処理されなかったことを判定する（ステップＳ２１０９）。
【０１８７】
管理装置６は、図１０のステップＳ１００７及びステップＳ１００８のように、情報処理端末装置２において閾値２を超えるキューの長さが短くなり閾値１以下に抑えられていると判断し、ステップＳ２１０２にて送信した制御命令を解消するための解消命令を、予備情報処理端末装置４及び情報処理端末装置２へ送信すると共に、ステップＳ２１０２にて登録した、予約ＩＰアドレスについてのフローテーブルを削除するメッセージをスイッチ５へ送信する（ステップＳ２１１０）。これにより、予備情報処理端末装置４にて起動しているプロセスの稼動が停止し、情報処理端末装置２における閾値１が無効になり、元の閾値２による判定に戻る。また、スイッチ５が保持していた予約ＩＰアドレスについてのフローテーブルが削除される。
【０１８８】
このように、情報処理端末装置２においてキューの長さが閾値２を超えたときに、送信先端末装置３へパケットの到着が遅れる高負荷状態である情報処理端末装置２の状態を回避し、情報処理端末装置２のキューが長くなるのを抑制することができる。
【０１８９】
以上のように、本発明の実施形態による管理装置６によれば、並列分散処理システムが並列分散処理を行う際に、受信側の要求に同期した転送とバッファオーバーフローの防止というプル型のファイル転送の利点を生かしたまま、情報処理端末装置２のＣＰＵ負荷変動を監視し、情報処理端末装置２の並列化数等を変更すると共に、予備情報処理端末装置４を使用して情報処理端末装置２の代わりに予備情報処理端末装置４で情報処理を行わせることによって、高負荷状態で発生する情報処理端末装置２におけるキューが一時的に長くなるのを抑制することができる。これにより、全てのフローにおける情報処理端末装置２のキューを短い状態で維持して、ストリーミングデータに対しても、処理が遅れることがない。
【０１９０】
さらに、本発明の実施形態による管理装置６によれば、ボトルネックの発生を判定すると、スイッチ５に対して予備情報処理端末装置４へ未処理チャンクのパケットを転送するように指示するようにした。これにより、情報処理端末装置２に予備となる予備情報処理端末装置４のＩＰアドレスを事前に付与する必要がない。予備情報処理端末装置４を複数のタスク及びフローで共用することができ、予備系のためのリソースを予め用意する必要がなく、リソースを削減することができる。
【０１９１】
尚、本発明は、前記実施形態に限定されず、その趣旨を逸脱しない範囲で様々な変形を加えることができる。以下、本発明の実施形態の変形例について、具体的に説明する。
【０１９２】
（変形例１）
前記実施形態では、スイッチ５は、パケットの転送方法のルールとして、宛先ＩＰアドレスの装置へパケットを転送する転送方法をアクションとして格納したフローテーブルを保持するようにしたが、このルールは、オープンフローにて利用可能であれば、宛先ＩＰアドレスに限定されることはない。例えば、ポート番号でもよい。
【０１９３】
（変形例２）
前記実施形態では、サーバが、送信元端末装置１、情報処理端末装置２、送信先端末装置３または予備情報処理端末装置４のいずれかの役割を担う装置であるとして説明したが、本発明は、これに限定されない。例えば、サーバは、決められた役割を予め与える必要はない。また、サーバは、送信元端末装置１及び送信先端末装置３の役割を兼用する等、複数の役割を同時に担うようにしてもよい。
【０１９４】
（変形例３）
前記実施形態では、管理装置６は、ステップＳ９０３に示したように、ボトルネックを回避するために並列化数制御を行うようにしたが、本発明は、これに限定されない。例えば、管理装置６は、フロー毎の転送量を調整するようにしてもよいし、通信経路制御を行うようにしてもよい。フロー毎の転送量の調整とは、例えば、ボトルネックが発生したフローの転送量を所定量に減らし、その分、他のフローの転送量を増やすことにより、全体の転送量を維持したまま、処理が遅れないようにするものである。通信経路制御とは、例えば、ネットワークの輻輳によるボトルネックが発生したときに、フローの通信経路を迂回するように制御することにより、輻輳を回避するものである。
【０１９５】
（変形例４）
前記実施形態では、ボトルネックが発生するフローは一つであるとして説明したが、本発明は、これに限定されない。例えば、管理装置６は、複数のフローにボトルネックが発生したことを判定すると、１台の予備情報処理端末装置４に対し、複数のフローにおける未処理チャンクのパケットを転送するようにしてもよい。
【０１９６】
（変形例５）
前記実施形態では、管理装置６は、ボトルネックが発生したことを判定したとき、及び、予約ＩＰアドレス宛の未知パケットについて転送方法の問い合わせが発生したことを判定したときに、タスクを実行するためのプロセスの制御命令を予備情報処理端末装置４へ送信するようにしたが、本発明は、これに限定されない。例えば、管理装置６は、タスク開始時に、タスク毎に予備情報処理端末装置４を予め予約しておき、タスクを実行するためのプロセスの内容を予備情報処理端末装置４へ送信しておくようにしてもよい。
【０１９７】
（変形例６）
前記実施形態では、管理装置６は、１台の予備情報処理端末装置４を割り当てるようにしたが、複数の予備情報処理端末装置４を割り当てるようにしてもよい。例えば、スイッチ５は、管理装置６から送信されたフローテーブルに従い、ポート番号によりタスクまたはフローを識別し、タスク毎またはフロー毎に、異なる予備情報処理端末装置４へパケットを転送するようにパケットヘッダを書き換えるようにしてもよい。また、予備情報処理端末装置４は、情報処理端末装置２と同様に機能するものとし、当該予備情報処理端末装置４における情報処理が遅れてキューの長さが閾値１，２を超えた場合、前記実施形態と同様に、スイッチ５を介して別の予備情報処理端末装置４へ未処理チャンクのパケットを転送するようにしてもよい。
【０１９８】
（変形例７）
前記実施形態では、管理装置６は、ラウンドロビンにより、情報処理端末装置２を決定し、予備情報処理端末装置４を割り当てるようにしたが、本発明は、これに限定されない。例えば、管理装置６は、情報処理端末装置２または予備情報処理端末装置４の処理性能、物理的な配置場所、使用履歴等に基づいて、情報処理端末装置２を決定し、または予備情報処理端末装置４を割り当てるようにしてもよい。
【０１９９】
（変形例８）
前記実施形態では、送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４の各サーバは、プロセスを１つだけ起動するようにしたが、本発明はこれに限定されるものでなく、複数のプロセスを起動するようにしてもよい。
【０２００】
尚、本発明の実施形態または実施形態の変形例による送信元端末装置１、情報処理端末装置２、送信先端末装置３、予備情報処理端末装置４、スイッチ５及び管理装置６のハードウェア構成としては、通常のコンピュータをそれぞれ使用することができる。送信元端末装置１、情報処理端末装置２、送信先端末装置３、予備情報処理端末装置４、スイッチ５及び管理装置６のそれぞれは、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。送信元端末装置１、情報処理端末装置２、送信先端末装置３及び予備情報処理端末装置４の各サーバに備えた命令実行手段２１０、情報収集手段２２０、受信手段２３１とバッファ２３２−１と映像処理手段２３３とバッファ２３２−２と送信手段２３４とを備えた並列処理実行手段２３０、蓄積手段２４０及び未処理データ振分け手段２５０の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、スイッチ５に備えた命令実行手段３１０及びパケット転送手段３２０の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、管理装置６に備えたタスク入力手段１１０、予備サーバ割当手段１２１とボトルネック判定手段１２２とタスク完了判定手段１２３と蓄積手段１２４とを備えた情報管理手段１２０、電文受信手段１３０、並列プロセス計算手段１４０、並列プロセス制御手段１５０、フローテーブル計算手段１６０及びフローテーブル制御手段１７０の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【０２０１】
１  送信元端末装置（送信装置）
２  情報処理端末装置（中継装置）
３  送信先端末装置（受信装置）
４  予備情報処理端末装置（予備の中継装置）
５  スイッチ
６，４０  管理装置
７  通信回線
１０  受信装置
１１  クロック
２０  中継装置
２１  受信バッファ
２２  処理部
３０  送信装置
１１０  タスク入力手段
１２０  情報管理手段
１２１  予備サーバ割当手段
１２２  ボトルネック判定手段
１２３  タスク完了判定手段
１２４  蓄積手段
１３０  電文受信手段
１４０  並列プロセス計算手段
１５０  並列プロセス制御手段
１６０  フローテーブル計算手段
１７０  フローテーブル制御手段
２１０，３１０  命令実行手段
２２０  情報収集手段
２３０  並列処理実行手段
２３１  受信手段
２３２  バッファ
２３３  映像処理手段
２３４  送信手段
２４０  蓄積手段
２５０  未処理データ振分け手段
３２０  パケット転送手段
【図１】
2015023320.tif 000003
【図２】
2015023320.tif 000004
【図３】
2015023320.tif 000005
【図４】
2015023320.tif 000006
【図５】
2015023320.tif 000007
【図６】
2015023320.tif 000008
【図７】
2015023320.tif 000009
【図８】
2015023320.tif 000010
【図９】
2015023320.tif 000011
【図１０】
2015023320.tif 000012
【図１１】
2015023320.tif 000013
【図１２】
2015023320.tif 000014
【図１３】
2015023320.tif 000015
【図１４】
2015023320.tif 000016
【図１５】
2015023320.tif 000017
【図１６】
2015023320.tif 000018
【図１７】
2015023320.tif 000019
【図１８】
2015023320.tif 000020
【図１９】
2015023320.tif 000021
【図２０】
2015023320.tif 000022
【図２１】
2015023320.tif 000023
【図２２】
2015023320.tif 000024