(57)【特許請求の範囲】
【請求項１】
素材を処理して完成ファイルを生成するための素材ファイルを蓄積する処理装置である素材蓄積装置と、前記素材蓄積装置に蓄積された素材ファイルを加工する処理装置である素材処理装置と、前記素材処理装置で加工された素材ファイルから完成ファイルを生成する処理装置である完成ファイル生成装置と、前記素材ファイルから前記完成ファイルを生成する一連のタスクの実行を、少なくとも前記素材処理装置が２台以上で並列化されるように前記素材蓄積装置、前記素材処理装置及び前記完成ファイル生成装置に命令する管理装置と、を備える並列処理システムの前記管理装置であって、
複数の前記処理装置の中で前記タスクを実行する前記素材蓄積装置と前記完成ファイル生成装置とを特定する特定情報と、前記タスクの目標速度と、前記素材ファイルの分割単位であるチャンクのサイズとが予め記述されたタスク記述情報を受信するタスク受信手段と、
前記特定情報に基づいて、複数の前記処理装置から前記素材蓄積装置と前記完成ファイル生成装置を決定し、予め設定された装置選択規則に基づいて、複数の前記処理装置から前記素材処理装置を決定し、前記チャンクのサイズを前記目標速度で除算した値を前記素材ファイルの要求周期である同期信号の周期として算出し、予め設定された速度比算出規則に基づいて、前記素材処理装置における加工処理量の分配比である前記素材処理装置ごとの速度比を算出するタスク実行手段と、
前記タスク実行手段が決定した処理装置に前記素材蓄積装置と前記素材処理装置と前記完成ファイル生成装置として前記タスクを実行することを命令し、前記タスク実行手段によって算出された同期信号の周期と前記速度比とを前記完成ファイル生成装置に送信する命令手段と、
前記タスクを実行する前記処理装置から、当該処理装置に備えられたキューが予め設定されたキュー状態であることを示すキュー報告を受信するキュー報告受信手段と、を備え、
前記タスク実行手段は、前記キュー報告受信手段が受信したキュー報告に基づいて、前記キュー状態ごとに予め設定されたボトルネック対処条件を満たすか否かを判定し、
前記命令手段は、前記タスク実行手段によって前記ボトルネック対処条件を満たすと判定された場合、少なくともボトルネックになる前記素材処理装置の加工処理量を低減するような、当該ボトルネック対処条件ごとのボトルネック改善処理を行うことを特徴とする管理装置。
【請求項２】
前記命令手段によって前記タスクの実行が命令された前記処理装置の識別情報を記憶するデータベースをさらに備え、
前記タスク実行手段は、
予め設定された判定時間内において、加工処理能力余剰のキュー状態を示すキュー報告を複数台の前記素材処理装置から受信した第１のボトルネック対処条件と、
前記判定時間内において、加工処理ボトルネックのキュー状態を示すキュー報告を１台の前記素材処理装置から受信した第２のボトルネック対処条件と、
前記判定時間内において、前記加工処理ボトルネックのキュー状態を示すキュー報告を複数台の前記素材処理装置から受信し、かつ、前記タスクを実行していない空きの前記処理装置が前記データベースに存在する第３のボトルネック対処条件と、
前記判定時間内において、前記加工処理ボトルネックのキュー状態を示すキュー報告を複数台の前記素材処理装置から受信し、かつ、前記空きの処理装置が前記データベースに存在しない第４のボトルネック対処条件と、の何れを満たすか否かを判定すると共に、
前記第２のボトルネック対処条件を満たす場合、前記キュー報告を送信した前記素材処理装置の速度比を予め設定した割合だけ低下させるように、前記素材処理装置ごとの速度比を再計算し、
前記第４のボトルネック対処条件を満たす場合、前記タスクの目標速度が予め設定された量だけ低下するように、前記同期信号の周期を再計算し、
前記命令手段は、前記ボトルネック改善処理として、
前記第１のボトルネック対処条件を満たすと判定された場合、前記タスクを実行する１台の前記素材処理装置に対して、前記タスクの終了を命令し、
前記第２のボトルネック対処条件を満たすと判定された場合、再計算された前記素材処理装置ごとの速度比を前記完成ファイル生成装置に送信し、
前記第３のボトルネック対処条件を満たすと判定された場合、１台の前記空きの処理装置に対して、前記素材処理装置として前記タスクを実行することを命令し、
前記第４のボトルネック対処条件を満たすと判定された場合、再計算された前記同期信号の周期を前記完成ファイル生成装置に送信することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記タスク実行手段は、
前記判定時間内において、読込処理ボトルネックのキュー状態を示すキュー報告を前記素材蓄積装置から受信した第５のボトルネック対処条件と、
前記判定時間内において、前記素材蓄積装置及び前記素材処理装置の両方から、素材蓄積装置−素材処理装置転送ボトルネックのキュー状態を示すキュー報告を受信した第６のボトルネック対処条件と、
前記判定時間内において、前記素材処理装置及び前記完成ファイル生成装置の両方から、素材処理装置−完成ファイル生成装置転送ボトルネックのキュー状態を示すキュー報告を受信した第７のボトルネック対処条件と、
前記判定時間内において、書込処理ボトルネックのキュー状態を示すキュー報告を前記完成ファイル生成装置から受信した第８のボトルネック対処条件と、の何れを満たすか否かを判定すると共に、
前記第６のボトルネック対処条件又は前記第７のボトルネック対処条件を満たす場合、前記キュー報告を送信した前記素材処理装置の速度比を予め設定した割合だけ低下させるように、前記素材処理装置ごとの速度比を再計算し、
前記命令手段は、前記ボトルネック改善処理として、
前記第５のボトルネック対処条件を満たすと判定された場合、１台の前記空きの処理装置に対して、前記素材蓄積装置として前記タスクを実行することを命令し、
前記第６のボトルネック対処条件又は前記第７のボトルネック対処条件を満たすと判定された場合、再計算された前記素材処理装置ごとの速度比を前記完成ファイル生成装置に送信し、
前記第８のボトルネック対処条件を満たすと判定された場合、前記完成ファイルをより高速な蓄積手段に蓄積すべき通知を出力することを特徴とする請求項２に記載の管理装置。
【請求項４】
素材を処理して完成ファイルを生成するための素材ファイルを蓄積する処理装置である素材蓄積装置と、前記素材蓄積装置に蓄積された素材ファイルを加工する処理装置である素材処理装置と、前記素材処理装置で加工された素材ファイルから完成ファイルを生成する処理装置である完成ファイル生成装置と、前記素材ファイルから前記完成ファイルを生成する一連のタスクの実行を、少なくとも前記素材処理装置が２台以上で並列化されるように前記素材蓄積装置、前記素材処理装置及び前記完成ファイル生成装置に命令する管理装置と、を備える並列処理システムの前記素材処理装置であって、
前記素材ファイルの分割単位であるチャンクごとに前記素材ファイルを格納するデータ領域と、当該データ領域への書き込みが完了又は未完了であるかを示すフラグとが含まれるチャンク蓄積領域を、蓄積単位とする処理前キューと、
前記素材蓄積装置に蓄積された素材ファイルを前記チャンクごとに受信して前記処理前キューのデータ領域に書き込むと共に、当該書き込みが完了したとき、前記処理前キューのフラグを未完了から完了に更新する受信手段と、
前記チャンク蓄積領域を蓄積単位とする処理後キューと、
前記処理前キューから前記素材ファイルを前記チャンクごとに読み込んで予め設定された加工処理を施し、加工済み前記素材ファイルを前記処理後キューのデータ領域に書き込むと共に、当該書き込みが完了したとき、前記処理後キューのフラグを未完了から完了に更新する加工処理手段と、
前記完成ファイル生成装置の要求に応じて、前記処理後キューのデータ領域に書き込まれた前記加工済み素材ファイルを送信する送信手段と、
前記処理前キュー及び前記処理後キューの少なくとも一方が予め設定されたキュー状態であるか否かを監視し、当該キュー状態であるとき、当該キュー状態を示すキュー報告を生成するキュー監視手段と、
前記キュー監視手段が生成したキュー報告を前記管理装置に送信するキュー報告送信手段と、
を備えることを特徴とする素材処理装置。
【請求項５】
前記キュー監視手段は、
前記処理前キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ１よりも少なく、かつ、前記処理後キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ２よりも少ない加工処理能力余剰のキュー状態、
前記処理前キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ３よりも多く、かつ、前記処理後キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ４よりも少ない加工処理ボトルネックのキュー状態、
前記処理前キューでデータ領域のデータサイズが零よりも多く、かつ、フラグが未完了であるチャンク蓄積領域の数が、予め設定された閾値ｔ５よりも多い素材蓄積装置−素材処理装置転送ボトルネックのキュー状態、
前記処理後キューにおけるチャンク蓄積領域の数が予め設定された閾値ｔ６よりも少ない素材処理装置−完成ファイル生成装置転送ボトルネックのキュー状態、の何れであるか否かを監視することを特徴とする請求項４に記載の素材処理装置。
【請求項６】
素材を処理して完成ファイルを生成するための素材ファイルを蓄積する処理装置である素材蓄積装置と、前記素材蓄積装置に蓄積された素材ファイルを加工する処理装置である素材処理装置と、前記素材処理装置で加工された素材ファイルから完成ファイルを生成する処理装置である完成ファイル生成装置と、前記素材ファイルから前記完成ファイルを生成する一連のタスクの実行を、少なくとも前記素材処理装置が２台以上で並列化されるように前記素材蓄積装置、前記素材処理装置及び前記完成ファイル生成装置に命令する管理装置と、を備える並列処理システムの前記完成ファイル生成装置であって、
前記管理装置から、当該管理装置によって算出された同期信号の周期と、前記素材処理装置ごとの速度比とを受信する命令受信手段と、
それぞれの前記素材処理装置における加工処理量を、前記命令受信手段が受信した速度比で分配する分配手段と、
前記素材処理装置のそれぞれに対して、前記分配手段によって分配された加工処理量だけの前記加工済み素材ファイルを、前記同期信号の周期で要求する要求手段と、
前記素材ファイルの分割単位であるチャンクごとに前記素材ファイルを格納するデータ領域と、当該データ領域への書き込みが完了又は未完了であるかを示すフラグとが含まれるチャンク蓄積領域を蓄積単位とし、前記素材処理装置と同数の処理前キューと、
それぞれの前記素材処理装置から前記加工済み素材ファイルを前記チャンクごとに受信して、当該素材処理装置に対応した処理前キューのデータ領域に書き込むと共に、当該書き込みが完了したとき、前記処理前キューのフラグを未完了から完了に更新する素材ファイル受信手段と、
前記チャンク蓄積領域を蓄積単位とする処理後キューと、
前記処理前キューのそれぞれに書き込まれた加工済み素材ファイルを所定の順序で整列させて前記処理後キューのデータ領域に書き込むと共に、当該書き込みが完了したとき、前記処理後キューのフラグを未完了から完了に更新する整列手段と、
前記処理前キュー及び前記処理後キューの少なくとも一方が予め設定されたキュー状態であるか否かを監視し、当該キュー状態であるとき、当該キュー状態を示すキュー報告を生成するキュー監視手段と、
前記キュー監視手段が生成したキュー報告を前記管理装置に送信するキュー報告送信手段と、
を備えることを特徴とする完成ファイル生成装置。
【請求項７】
前記キュー監視手段は、
それぞれの前記処理前キューでデータ領域のデータサイズが零よりも多く、かつ、フラグが未完了であるチャンク蓄積領域の数が予め設定された閾値ｔ７よりも多い素材処理装置−完成ファイル生成装置転送ボトルネックのキュー状態、
前記処理後キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ８よりも多い書込処理ボトルネックのキュー状態、の何れであるか否かを監視することを特徴とする請求項６に記載の完成ファイル生成装置。
【請求項８】
素材を処理して完成ファイルを生成するための素材ファイルを蓄積する処理装置である素材蓄積装置と、前記素材蓄積装置に蓄積された素材ファイルを加工する処理装置である素材処理装置と、前記素材処理装置で加工された素材ファイルから完成ファイルを生成する処理装置である完成ファイル生成装置と、前記素材ファイルから前記完成ファイルを生成する一連のタスクの実行を、少なくとも前記素材処理装置が２台以上で並列化されるように前記素材蓄積装置、前記素材処理装置及び前記完成ファイル生成装置に命令する管理装置と、を備える並列処理システムの前記素材蓄積装置であって、
前記素材ファイルを蓄積する素材ファイル蓄積手段と、
それぞれの前記素材処理装置から、前記素材ファイル蓄積手段に蓄積された素材ファイルの送信が要求される要求受信手段と、
前記素材ファイルの分割単位であるチャンクごとに前記素材ファイルを格納するデータ領域と、当該データ領域への書き込みが完了又は未完了であるかを示すフラグとが含まれるチャンク蓄積領域を、蓄積単位とする処理前キューと、
前記要求受信手段で要求された素材ファイルを前記チャンクごとに読み込んで前記処理前キューのデータ領域に書き込むと共に、当該書き込みが完了したとき、前記処理前キューのフラグを未完了から完了に更新する素材ファイル読み込み手段と、
前記チャンク蓄積領域を蓄積単位とし、前記素材処理装置と同数の処理後キューと、
前記処理前キューから前記素材ファイルを前記チャンクごとに読み込んで、当該素材ファイルの要求元となる素材処理装置に対応した処理後キューのデータ領域に書き込むと共に、当該書き込みが完了したとき、前記処理後キューのフラグを未完了から完了に更新する分配手段と、
それぞれの前記処理後キューに蓄積された素材ファイルを前記チャンクごとに前記素材処理装置に送信する送信手段と、
前記処理前キュー及び前記処理後キューの少なくとも一方が予め設定されたキュー状態であるか否かを監視し、当該キュー状態であるとき、当該キュー状態を示すキュー報告を生成するキュー監視手段と、
前記キュー監視手段が生成したキュー報告を前記管理装置に送信するキュー報告送信手段と、
を備えることを特徴とする素材蓄積装置。
【請求項９】
前記キュー監視手段は、
前記処理前キューでフラグが未完了であるチャンク蓄積領域の数が予め設定された閾値ｔ９よりも多いことを示す読込処理ボトルネックのキュー状態、
それぞれの前記処理後キューでチャンク蓄積領域の数が予め設定された閾値ｔ１０よりも少ないことを示す素材蓄積装置−素材処理装置転送ボトルネックのキュー状態、の何れであるか否かを監視することを特徴とする請求項８に記載の素材蓄積装置。
【請求項１０】
コンピュータを請求項１に記載の管理装置として機能させるための管理プログラム。
【請求項１１】
コンピュータを請求項４に記載の素材処理装置として機能させるための素材処理プログラム。
【請求項１２】
コンピュータを請求項６に記載の完成ファイル生成装置として機能させるための完成ファイル生成プログラム。
【請求項１３】
コンピュータを請求項８に記載の素材蓄積装置として機能させるための素材蓄積プログラム。
【請求項１４】
請求項１に記載の管理装置と、
請求項４に記載の素材処理装置と、
請求項６に記載の完成ファイル生成装置と、
請求項８に記載の素材蓄積装置と、を備えることを特徴とする並列処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像、音声等の素材ファイルに対する映像処理の並列化に関する。
【背景技術】
【０００２】
放送局での番組制作過程では、例えば、映像ファイルの圧縮形式を別の圧縮形式に変換するトランスコーディングや映像データの編集処理が行われる。このとき、１台の装置内に備えられた蓄積装置に素材ファイルを蓄積し、それを使って装置内で編集処理を完結させていた。そこで、編集処理を効率化すべく、ネットワークで結ばれた複数の蓄積装置と映像処理装置とを使用したリモート編集システムが提案されている（非特許文献１参照）。
【０００３】
この従来のリモート編集システムでは、素材ファイル及び編集対象の完成ファイルが、複数のファイルサーバに分散して蓄積されている。そして、ファイルの編集処理は、番組制作者の指示に従って、素材ファイルが蓄積されているファイルサーバから、完成ファイルが蓄積されているファイルサーバに、必要な素材ファイルの一部分を転送することで行われる。
【０００４】
また、従来のリモート編集システムは、必要な素材ファイルで処理対象の一部分を、映像処理を行う映像処理サーバを経由して転送することで実現している。しかし、特に長尺の素材ファイルの映像フレームを全て同じ映像処理サーバで処理すると、この映像処理サーバの処理能力やネットワーク帯域がボトルネックになる可能性が高い。そこで、従来のリモート編集システムにおいて、ソフトウェアで実装した映像処理を高速化するために、複数台のサーバで映像処理を並列化することが考えられる。
【０００５】
ここで、メディアファイルのデータは、映像フレームやＧＯＰ(Group Of Pictures)等の決まったチャンク単位のデータが連続することが多い。従って、メディアファイルのデータ形式に合わせて、チャンク間にデータの参照関係が無いようにチャンクの単位を定めると、映像処理をチャンク単位で別々のサーバで行うことができる。
【０００６】
複数台のサーバを使用した並列処理は、サーバやネットワーク装置の低廉化により、高性能なサーバ１台で処理するより、低コストで高速化が可能である。また、サーバの台数を増やすことで、リモート編集システムの規模を拡張させていくことが容易である。しかし、サーバ等のハードウェアの更新サイクルが早く、特に、中長期にわたりシステムの規模を拡張する場合、全てのサーバを同じ性能、構成のハードウェアで揃えることが難しい。
【０００７】
一般的には、映像処理を並列化すると、映像処理後のデータを完成ファイルのデータの順番通りに並び替える処理が生じる。そのため、データを均等に分配すると、低速なサーバがボトルネックとなり、高速なサーバに遊休時間が生じやすく、システム全体のリソースを有効に生かすことができない。このように、計算機の負荷状態に応じてデータの分配を制御して、ボトルネックを排除することが、リソースの使用率向上及び高速化には不可欠である。
【０００８】
そこで、計算機の負荷情報を収集し、リソースを管理する技術が提案されている（非特許文献２参照）。この非特許文献２に記載の技術は、リソース使用状態を管理するツールであり、リソース使用状態をグラフとして可視化することで、ボトルネックの解析に用いることができる。
【０００９】
また、並列処理の順番や処理対象のデータを変えるたびに、通信記述も含めて最初からプログラムを作成するのは効率が悪い。そこで、並列化プログラムを作成する効率を高めるための、Fortran90を拡張したプログラミング言語が提案されている（非特許文献３参照）。
【００１０】
この非特許文献３に記載のプログラミング言語は、計算の分割と通信記述の手間を省くことができる。さらに、非特許文献３に記載のプログラミング言語は、各計算機に分配するデータを指定するプログラムを作成することで、プログラム作成者の指定通りにデータを振り分けることができる。
【００１１】
さらに、通信記述等のプログラム作成効率を高めるために、Ｃ言語又はFortranから呼び出せるライブラリとして、ＭＰＩ(Message-Passing Interface)が提案されている（非特許文献４参照）。このＭＰＩでは、メッセージ交換を行うための規格であり、並列処理の内容に応じて、細かく通信内容を記述したプログラムを作成することが可能である。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】竹内真也  他、“グリッド・コンピューティング技術を用いた番組編集システムの検討”、電子情報通信学会エレクトロニクスソサエティ大会、B-6-20、2009
【非特許文献２】“The ganglia distributed monitoring system: design, implementation, and experience,”Matthew L.Massie,Parallel computing,30(7),2004
【非特許文献３】“High Performance Fortran Language Specification Version 2.0”,High Performance Fortran,1997
【非特許文献４】“MPI: A Message-Passing Interface Standard Version 2.2”,Message Passing Interface Forum, 2009
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかし、非特許文献１に記載のリモート編集システムでは、非特許文献２〜４の技術を適用したとしても、以下のような問題がある。
非特許文献２に記載の技術は、映像処理を行うサーバの使用率等の情報を収集可能だが、短期的に発生するアプリケーションレベルでのボトルネックの原因を自動で判定するのが困難である。
【００１４】
また、非特許文献３に記載のプログラミング言語は、プログラム作成者がデータ分配を事前に指定する必要がある。このため、非特許文献３に記載のプログラミング言語では、並列処理の追加や新たなボトルネックの発生等、処理条件の変更が発生したときに、処理状態に応じて、動的なデータ分配を行うことが困難である。さらに、非特許文献３に記載のプログラミング言語では、処理条件に変更がない場合でも、性能が均一でないサーバによる並列処理の速度を向上させるため、サーバの性能に応じて、詳細なデータ分配を事前に行う必要がある。
【００１５】
また、非特許文献４に記載のＭＰＩでは、並列処理の細かい制御が可能で柔軟性が高いために通信オーバーヘッドが大きく、通信記述やデータ配置等をプログラムごとに記述する作業も多くなる。さらに、映像処理等の既存プログラムを、非特許文献４に記載のＭＰＩに移植する場合、既存プログラムの大幅な手直しが必要になる。
【００１６】
以上より、従来のリモート編集システムにおいては、性能が均一でないサーバを使用したときの並列処理の速度を向上させるために、少ないデータ通信量でボトルネックの原因（種類と発生場所）を自動で判定する仕組みと、サーバの状態に応じて処理量を動的に分配する仕組みが不可欠である。さらに、従来のリモート編集システムにおいては、製造コストを削減することも不可欠である。
【００１７】
そこで、本発明は、前記した問題を解決し、少ないデータ通信量でボトルネックの原因を判定でき、処理装置の状態に応じて処理量を動的に分配できる管理装置、素材処理装置、完成ファイル生成装置及びそれらのプログラム、並びに、並列処理システムを提供することを課題とする。
さらに、本発明は、製造コストを削減できる素材処理装置及びそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１８】
前記した課題に鑑みて、本願第１発明に係る管理装置は、素材を処理して完成ファイルを生成するための素材ファイルを蓄積する処理装置である素材蓄積装置と、素材蓄積装置に蓄積された素材ファイルを加工する処理装置である素材処理装置と、素材処理装置で加工された素材ファイルから完成ファイルを生成する処理装置である完成ファイル生成装置と、素材ファイルから完成ファイルを生成する一連のタスクの実行を、少なくとも素材処理装置が２台以上で並列化されるように素材蓄積装置、素材処理装置及び完成ファイル生成装置に命令する管理装置と、を備える並列処理システムの管理装置であって、タスク受信手段と、タスク実行手段と、命令手段と、キュー報告受信手段と、を備えることを特徴とする。
【００１９】
かかる構成によれば、管理装置は、タスク受信手段によって、複数の処理装置の中でタスクを実行する素材蓄積装置と素材処理装置と完成ファイル生成装置とを特定する特定情報と、タスクの目標速度と、素材ファイルの分割単位であるチャンクのサイズとが予め記述されたタスク記述情報を受信する。
【００２０】
また、管理装置は、タスク実行手段によって、特定情報に基づいて、複数の処理装置から素材蓄積装置と完成ファイル生成装置を決定し、予め設定された装置選択規則に基づいて、複数の処理装置から素材処理装置を決定し、チャンクのサイズを目標速度で除算した値を素材ファイルの要求周期である同期信号の周期として算出し、予め設定された速度比算出規則に基づいて、素材処理装置における加工処理量の分配比である素材処理装置ごとの速度比を算出する。
ここで、速度比算出規則としては、例えば、素材処理装置で速度比を等分する、素材処理装置の性能やネットワーク構造に応じて分配する、処理装置に命令した処理内容の履歴及びその評価に基づいて分配する等の規則がある。
【００２１】
また、管理装置は、命令手段によって、タスク実行手段が決定した処理装置に、素材蓄積装置と素材処理装置と完成ファイル生成装置としてタスクを実行することを命令し、タスク実行手段によって算出された同期信号の周期と速度比とを完成ファイル生成装置に送信する。
【００２２】
また、管理装置は、キュー報告受信手段によって、タスクを実行する処理装置から、処理装置に備えられたキューが予め設定されたキュー状態であることを示すキュー報告を受信する。
ここで、キューは、各処理装置内で処理中のチャンクや処理装置間で転送中のチャンクが一時的に格納され、処理や転送を終了したチャンクが削除される。すなわち、キューは、各処理装置内での処理や処理装置間での転送等の状態が反映されるため、ボトルネックの原因を判断する材料となる。
【００２３】
また、管理装置は、タスク実行手段によって、キュー報告受信手段が受信したキュー報告に基づいて、少なくともボトルネックになる素材処理装置の加工処理量を低減するような、キュー状態ごとのボトルネック対処条件を満たすか否かを判定する。そして、管理装置は、命令手段によって、タスク実行手段によってボトルネック対処条件を満たすと判定された場合、ボトルネック対処条件ごとに予め設定されたたボトルネック改善処理を行う。
すなわち、管理装置は、処理状態を示すキュー報告に基づいてボトルネック対処条件を満たすか否かを判定する。そして、管理装置は、このボトルネック対処条件を満たすとき、ボトルネック改善処理によって素材処理装置での加工処理量を変更する。このとき、管理装置は、ボトルネックの原因を判定するために、処理装置やネットワーク機器との間で測定用データの相互通信を行う必要がない。従って、管理装置は、少ないデータ通信量でボトルネックの原因を判定でき、処理装置の状態に応じて処理量を動的に分配することができる。
【００２４】
また、本願第２発明に係る管理装置は、命令手段によってタスクの実行が命令された処理装置の識別情報を記憶するデータベースをさらに備え、タスク実行手段が、予め設定された判定時間内において、加工処理能力余剰のキュー状態を示すキュー報告を複数台の前記素材処理装置から受信した第１のボトルネック対処条件と、判定時間内において、加工処理ボトルネックのキュー状態を示すキュー報告を１台の素材処理装置から受信した第２のボトルネック対処条件と、判定時間内において、加工処理ボトルネックのキュー状態を示すキュー報告を複数台の素材処理装置から受信し、かつ、タスクを実行していない空きの処理装置がデータベースに存在する第３のボトルネック対処条件と、判定時間内において、加工処理ボトルネックのキュー状態を示すキュー報告を複数台の素材処理装置から受信し、かつ、空きの処理装置がデータベースに存在しない第４のボトルネック対処条件と、の何れを満たすか否かを判定すると共に、第２のボトルネック対処条件を満たす場合、キュー報告を送信した素材処理装置の速度比を予め設定した割合だけ低下させるように、素材処理装置ごとの速度比を再計算し、第４のボトルネック対処条件を満たす場合、タスクの目標速度が予め設定された量だけ低下するように、同期信号の周期を再計算することを特徴とする。
【００２５】
また、管理装置は、命令手段によって、ボトルネック改善処理として、第１のボトルネック対処条件を満たすと判定された場合、タスクを実行する１台の素材処理装置に対して、タスクの終了を命令し、第２のボトルネック対処条件を満たすと判定された場合、再計算された素材処理装置ごとの速度比を完成ファイル生成装置に送信し、第３のボトルネック対処条件を満たすと判定された場合、１台の空きの処理装置に対して、素材処理装置としてタスクを実行することを命令し、第４のボトルネック対処条件を満たすと判定された場合、再計算された同期信号の周期を完成ファイル生成装置に送信する。
【００２６】
かかる構成によれば、管理装置は、どの素材処理装置での加工処理がボトルネックの原因であるかを判定する。そして、管理装置は、その判定結果に応じて、速度比又は同期信号の周期の変更、新たな素材処理装置の追加等、適切なボトルネック改善処理を行う。
【００２７】
また、本願第３発明に係る管理装置は、タスク実行手段が、判定時間内において、読込処理ボトルネックのキュー状態を示すキュー報告を素材蓄積装置から受信した第５のボトルネック対処条件と、判定時間内において、素材蓄積装置及び素材処理装置の両方から、素材蓄積装置−素材処理装置転送ボトルネックのキュー状態を示すキュー報告を受信した第６のボトルネック対処条件と、判定時間内において、素材処理装置及び完成ファイル生成装置の両方から、素材処理装置−完成ファイル生成装置転送ボトルネックのキュー状態を示すキュー報告を受信した第７のボトルネック対処条件と、判定時間内において、書込処理ボトルネックのキュー状態を示すキュー報告を完成ファイル生成装置から受信した第８のボトルネック対処条件と、の何れを満たすか否かを判定すると共に、第６のボトルネック対処条件又は第７のボトルネック対処条件を満たす場合、キュー報告を送信した素材処理装置の速度比を予め設定した割合だけ低下させるように、素材処理装置ごとの速度比を再計算することを特徴とする。
【００２８】
また、管理装置は、命令手段によって、ボトルネック改善処理として、第５のボトルネック対処条件を満たすと判定された場合、１台の空きの処理装置に対して、素材蓄積装置としてタスクを実行することを命令し、第６のボトルネック対処条件又は第７のボトルネック対処条件を満たすと判定された場合、再計算された素材処理装置ごとの速度比を完成ファイル生成装置に送信し、第８のボトルネック対処条件を満たすと判定された場合、完成ファイルをより高速な蓄積手段に蓄積すべき通知を出力する。
【００２９】
かかる構成によれば、管理装置は、素材蓄積装置内での読込処理、完成ファイル生成装置内での書込処理、素材蓄積装置と素材処理装置との転送処理、又は、素材処理装置と完成ファイル生成装置との転送処理の何れがボトルネックの原因であるかを判定する。そして、管理装置は、その判定結果に応じて、適切なボトルネック改善処理を行う。
【００３０】
また、前記した課題に鑑みて、本願第４発明に係る素材処理装置は、素材を処理して完成ファイルを生成するための素材ファイルを蓄積する処理装置である素材蓄積装置と、素材蓄積装置に蓄積された素材ファイルを加工する処理装置である素材処理装置と、素材処理装置で加工された素材ファイルから完成ファイルを生成する処理装置である完成ファイル生成装置と、素材ファイルから完成ファイルを生成する一連のタスクの実行を、少なくとも素材処理装置が２台以上で並列化されるように素材蓄積装置、素材処理装置及び完成ファイル生成装置に命令する管理装置と、を備える並列処理システムの素材処理装置であって、処理前キューと、受信手段と、処理後キューと、加工処理手段と、送信手段と、キュー監視手段と、を備えることを特徴とする。
【００３１】
かかる構成によれば、素材処理装置は、処理前キューによって、素材ファイルの分割単位であるチャンクごとに素材ファイルを格納するデータ領域と、データ領域への書き込みが完了又は未完了であるかを示すフラグとが含まれるチャンク蓄積領域を、蓄積単位とする。また、素材処理装置は、受信手段によって、素材蓄積装置に蓄積された素材ファイルをチャンクごとに受信して処理前キューのデータ領域に書き込むと共に、書き込みが完了したとき、処理前キューのフラグを未完了から完了に更新する。
【００３２】
また、素材処理装置は、処理後キューによって、チャンク蓄積領域を蓄積単位とする。そして、素材処理装置は、加工処理手段によって、処理前キューから素材ファイルをチャンクごとに読み込んで予め設定された加工処理を施し、加工済み素材ファイルを処理後キューのデータ領域に書き込むと共に、書き込みが完了したとき、処理後キューのフラグを未完了から完了に更新する。さらに、素材処理装置は、送信手段によって、完成ファイル生成装置の要求に応じて、処理後キューのデータ領域に書き込まれた加工済み素材ファイルを送信する。
【００３３】
ここで、素材処理装置は、処理前キュー及び処理後キューを介して、受信手段及び送信手段と加工処理手段とが入出力を行うため、転送処理と加工処理とを分離して扱うことができる。これによって、素材処理装置は、加工処理を変更しても転送処理に影響を及ぼすことが無いと共に、並列化を考慮して加工処理を実装する必要がない。さらに、素材処理装置は、既存の映像処理プログラムの入出力先を処理前キュー及び処理後キューに変更するだけで、既存の映像処理プログラムを加工処理手段として流用することができる。これによって、素材処理装置は、製造コストを削減することができる。
【００３４】
また、素材処理装置は、キュー監視手段によって、処理前キュー及び処理後キューの少なくとも一方が予め設定されたキュー状態であるか否かを監視し、キュー状態であるとき、キュー状態を示すキュー報告を生成する。そして、素材処理装置は、キュー報告送信手段によって、キュー監視手段が生成したキュー報告を管理装置に送信する。
ここで、素材処理装置は、キューがボトルネックの原因を判断する材料となるため、その状態を監視して、ボトルネックの可能性があるときにキュー報告を送信する。従って、このキュー報告を受信した管理装置は、処理装置やネットワーク機器との間で測定用データ等の相互通信を行うことなく、少ないデータ通信量でボトルネックの原因を判定することができる。
【００３５】
また、本願第５発明に係る素材処理装置は、キュー監視手段が、処理前キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ１よりも少なく、かつ、処理後キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ２よりも少ない加工処理能力余剰のキュー状態、処理前キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ３よりも多く、かつ、処理後キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ４よりも少ない加工処理ボトルネックのキュー状態、処理前キューでデータ領域のデータサイズが零よりも多く、かつ、フラグが未完了であるチャンク蓄積領域の数が、予め設定された閾値ｔ５よりも多い素材蓄積装置−素材処理装置転送ボトルネックのキュー状態、処理後キューにおけるチャンク蓄積領域の数が予め設定された閾値ｔ６よりも少ない素材処理装置−完成ファイル生成装置転送ボトルネックのキュー状態、の何れであるか否かを監視することを特徴とする。
【００３６】
かかる構成によれば、素材処理装置は、この素材処理装置内での加工処理、素材蓄積装置と素材処理装置との転送処理、又は、素材処理装置と完成ファイル生成装置との転送処理の何れかにボトルネックの原因があることを示すキュー報告を管理装置に送信する。さらに、素材処理装置は、素材処理装置が余分なため、加工処理能力が余剰なことを示すキュー報告を管理装置に送信する。
【００３７】
また、前記した課題に鑑みて、本願第６発明に係る完成ファイル生成装置は、素材を処理して完成ファイルを生成するための素材ファイルを蓄積する処理装置である素材蓄積装置と、素材蓄積装置に蓄積された素材ファイルを加工する処理装置である素材処理装置と、素材処理装置で加工された素材ファイルから完成ファイルを生成する処理装置である完成ファイル生成装置と、素材ファイルから完成ファイルを生成する一連のタスクの実行を、少なくとも素材処理装置が２台以上で並列化されるように素材蓄積装置、素材処理装置及び完成ファイル生成装置に命令する管理装置と、を備える並列処理システムの完成ファイル生成装置であって、命令受信手段と、分配手段と、要求手段と、素材処理装置と同数の処理前キューと、素材ファイル受信手段と、処理後キューと、整列手段と、キュー監視手段と、を備えることを特徴とする。
【００３８】
かかる構成によれば、完成ファイル生成装置は、命令受信手段によって、管理装置から、管理装置によって算出された同期信号の周期と、素材処理装置ごとの速度比とを受信する。また、完成ファイル生成装置は、分配手段によって、それぞれの素材処理装置における加工処理量を、命令受信手段が受信した速度比で分配する。そして、完成ファイル生成装置は、要求手段によって、素材処理装置のそれぞれに対して、分配手段によって分配された加工処理量だけの加工済み素材ファイルを、同期信号の周期で要求する。
このように、完成ファイル生成装置は、それぞれの素材処理装置に対して、同期信号の周期で加工済み素材ファイルを要求することで、並列化を実現する。
【００３９】
また、完成ファイル生成装置は、処理前キューによって、素材ファイルの分割単位であるチャンクごとに素材ファイルを格納するデータ領域と、データへの書き込みが完了又は未完了であるかを示すフラグとが含まれるチャンク蓄積領域を蓄積単位とする。そして、完成ファイル生成装置は、素材ファイル受信手段によって、それぞれの素材処理装置から加工済み素材ファイルをチャンクごとに受信して、素材処理装置に対応した処理前キューのデータ領域に書き込むと共に、書き込みが完了したとき、処理前キューのフラグを未完了から完了に更新する。
【００４０】
また、完成ファイル生成装置は、処理後キューによって、チャンク蓄積領域を蓄積単位とする。そして、完成ファイル生成装置は、整列手段によって、処理前キューのそれぞれに書き込まれた加工済み素材ファイルを所定の順序で整列させて処理後キューのデータ領域に書き込むと共に、書き込みが完了したとき、処理後キューのフラグを未完了から完了に更新する。
【００４１】
また、完成ファイル生成装置は、キュー監視手段によって、処理前キュー及び処理後キューの少なくとも一方が予め設定されたキュー状態であるか否かを監視し、キュー状態であるとき、キュー状態を示すキュー報告を生成する。そして、完成ファイル生成装置は、キュー報告送信手段によって、キュー監視手段が生成したキュー報告を管理装置に送信する。
ここで、完成ファイル生成装置は、キューがボトルネックの原因を判断する材料となるため、その状態を監視して、ボトルネックの可能性があるときにキュー報告を送信する。従って、このキュー報告を受信した管理装置は、処理装置やネットワーク機器との間で測定用データ等の相互通信を行うことなく、少ないデータ通信量でボトルネックの原因を判定することができる。
【００４２】
また、本願第７発明に係る完成ファイル生成装置は、キュー監視手段が、それぞれの処理前キューでデータ領域のデータサイズが零よりも多く、かつ、フラグが未完了であるチャンク蓄積領域の数が予め設定された閾値ｔ７よりも多い素材処理装置−完成ファイル生成装置転送ボトルネックのキュー状態、処理後キューでフラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ８よりも多い書込処理ボトルネックのキュー状態、の何れであるか否かを監視することを特徴とする。
【００４３】
かかる構成によれば、完成ファイル生成装置は、この完成ファイル生成装置での書込処理、又は、素材処理装置と完成ファイル生成装置との転送処理の何れかにボトルネックの原因があることを示すキュー報告を管理装置に送信する。
【００４４】
また、前記した課題に鑑みて、本願第８発明に係る素材蓄積装置は、素材を処理して完成ファイルを生成するための素材ファイルを蓄積する処理装置である素材蓄積装置と、素材蓄積装置に蓄積された素材ファイルを加工する処理装置である素材処理装置と、素材処理装置で加工された素材ファイルから完成ファイルを生成する処理装置である完成ファイル生成装置と、素材ファイルから完成ファイルを生成する一連のタスクの実行を、少なくとも素材処理装置が２台以上で並列化されるように素材蓄積装置、素材処理装置及び完成ファイル生成装置に命令する管理装置と、を備える並列処理システムの素材蓄積装置であって、素材ファイル蓄積手段と、要求受信手段と、処理前キューと、素材ファイル読み込み手段と、素材処理装置と同数の処理後キューと、分配手段と、送信手段と、キュー監視手段と、を備えることを特徴とする。
【００４５】
かかる構成によれば、素材蓄積装置は、素材ファイル蓄積手段によって、素材ファイルを蓄積する。また、素材蓄積装置は、要求受信手段によって、それぞれの素材処理装置から、素材ファイル蓄積手段に蓄積された素材ファイルの送信が要求される。そして、素材蓄積装置は、処理前キューによって、素材ファイルの分割単位であるチャンクごとに素材ファイルを格納するデータ領域と、データ領域への書き込みが完了又は未完了であるかを示すフラグとが含まれるチャンク蓄積領域を、蓄積単位とする。さらに、素材蓄積装置は、素材ファイル読み込み手段によって、要求受信手段で要求された素材ファイルをチャンクごとに読み出して処理前キューのデータ領域に書き込むと共に、書き込みが完了したとき、処理前キューのフラグを未完了から完了に更新する。
【００４６】
また、素材蓄積装置は、処理後キューによって、チャンク蓄積領域を蓄積単位とする。
そして、素材蓄積装置は、分配手段によって、処理前キューから素材ファイルをチャンクごとに読み出して、素材ファイルの要求元となる素材処理装置に対応した処理後キューのデータ領域に書き込むと共に、書き込みが完了したとき、処理後キューのフラグを未完了から完了に更新する。さらに、素材蓄積装置は、送信手段によって、それぞれの処理後キューに蓄積された素材ファイルをチャンクごとに素材処理装置に送信する。
【００４７】
また、素材蓄積装置は、キュー監視手段によって、処理前キュー及び処理後キューの少なくとも一方が予め設定されたキュー状態であるか否かを監視し、キュー状態であるとき、キュー状態を示すキュー報告を生成する。そして、素材蓄積装置は、キュー報告送信手段によって、キュー監視手段が生成したキュー報告を管理装置に送信する。
ここで、素材蓄積装置は、キューがボトルネックの原因を判断する材料となるため、その状態を監視して、ボトルネックの可能性があるときにキュー報告を送信する。従って、このキュー報告を受信した管理装置は、処理装置やネットワーク機器との間で測定用データ等の相互通信を行うことなく、少ないデータ通信量でボトルネックの原因を判定することができる。
【００４８】
また、本願第９発明に係る素材蓄積装置は、キュー監視手段が、処理前キューでフラグが未完了であるチャンク蓄積領域の数が予め設定された閾値ｔ９よりも多いことを示す読込処理ボトルネックのキュー状態、それぞれの処理後キューでチャンク蓄積領域の数が予め設定された閾値ｔ１０よりも少ないことを示す素材蓄積装置−素材処理装置転送ボトルネックのキュー状態、の何れであるか否かを監視することを特徴とする。
【００４９】
かかる構成によれば、素材蓄積装置は、この素材蓄積装置での読込処理、又は、素材蓄積装置と素材処理装置との転送処理の何れかにボトルネックの原因があることを示すキュー報告を管理装置に送信する。
【００５０】
ここで、本願第１発明に係る管理装置と、本願第４発明に係る素材処理装置と、本願第６発明に係る完成ファイル生成装置と、本願第８発明に係る素材蓄積装置とを備えることで、本願第１０発明に係る並列処理システムを構成することもできる。
【００５１】
また、本願第１発明に係る管理装置、本願第４発明に係る素材処理装置、本願第６発明に係る完成ファイル生成装置、及び、本願第８発明に係る素材蓄積装置は、それぞれ、ＣＰＵ（Central Processing Unit）、蓄積手段等のハードウェア資源を備えるコンピュータを、前記した各手段として協調動作させるプログラムによって実現することもできる。これらプログラムは、通信回線を介して配布してもよく、ＣＤ−ＲＯＭやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【発明の効果】
【００５２】
本発明によれば、以下のような優れた効果を奏する。
本願第１，４，６，８，１０発明によれば、各処理装置が、キューの状態を監視して、ボトルネックの可能性があるときにキュー報告を送信する。そして、本願第１，４，６，８，１０発明によれば、管理装置が、このキュー報告に基づいてボトルネック対処条件を満たすか否かを判定し、このボトルネック対処条件を満たすとき、ボトルネック改善処理によって素材処理装置での加工処理量を変更する。従って、本願第１，４，６，８，１０発明によれば、ボトルネックの原因を判定するために測定用データの相互通信を行う必要がなく、少ないデータ通信量でボトルネックの原因を判定できると共に、処理装置の状態に応じて処理量を動的に分配できる。
【００５３】
また、本願第４発明によれば、処理前キュー及び処理後キューを介して、受信手段及び送信手段と加工処理手段とが入出力を行うため、加工処理の変更が転送処理に影響を及ぼすことが無いと共に、並列化を考慮して加工処理を実装する必要がない。さらに、本願第４発明によれば、既存の映像処理プログラムの入出力先を処理前キュー及び処理後キューに変更するだけで、既存の映像処理プログラムを流用することができる。従って、本願第４発明によれば、製造コストを削減することができる。
【００５４】
本願第２発明によれば、どの素材処理装置での加工処理がボトルネックの原因であるかの判定結果に応じて、適切なボトルネック改善処理を行う。従って、本願第２発明によれば、素材処理装置の状態に応じて、処理量をより正確に分配することができる。
【００５５】
本願第３発明によれば、素材蓄積装置内での読込処理、完成ファイル生成装置内での書込処理、素材蓄積装置と素材処理装置との転送処理、又は、素材処理装置と完成ファイル生成装置との転送処理の何れがボトルネックの原因であるかの判定結果に応じて、適切なボトルネック改善処理を行う。従って、本願第３発明によれば、素材処理装置に加えて、素材蓄積装置や完成ファイル生成装置の状態にも応じて、処理量をより正確に分配することができる。
【００５６】
本願第５発明によれば、素材処理装置での加工処理、素材蓄積装置と素材処理装置との転送処理、又は、素材処理装置と完成ファイル生成装置との転送処理の何れかにボトルネックの原因があることを示すキュー報告を管理装置に送信する。さらに、本願第５発明によれば、素材処理装置が余分なため、加工処理能力が余剰なことを示すキュー報告を管理装置に送信する。従って、本願第５発明によれば、このキュー報告を受信した管理装置において、素材処理装置の状態に応じて、処理量をより正確に分配することができる。
【００５７】
本願第７発明によれば、完成ファイル生成装置での書込処理、又は、素材処理装置と完成ファイル生成装置との転送処理の何れかにボトルネックの原因があることを示すキュー報告を管理装置に送信する。従って、本願第７発明によれば、このキュー報告を受信した管理装置において、完成ファイル生成装置の状態に応じて、処理量をより正確に分配することができる。
【００５８】
本願第９発明によれば、素材蓄積装置での読込処理、又は、素材蓄積装置と素材処理装置との転送処理の何れかにボトルネックの原因があることを示すキュー報告を管理装置に送信する。従って、本願第９発明によれば、このキュー報告を受信した管理装置において、素材蓄積装置の状態に応じて、処理量をより正確に分配することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１実施形態に係る並列処理システムの全体構成図である。
【図２】図１の各端末のブロック図である。
【図３】本発明において、各ワーカー端末で起動されるモジュールを説明する説明図である。
【図４】図１の並列処理システムで用いられるファイル転送技術を説明する説明図である。
【図５】図１の並列処理システムで転送される同期パケットのデータ項目図である。
【図６】図１の並列処理システムで転送されるデータパケットのデータ項目図である。
【図７】図４のキューのデータ項目図である。
【図８】図１の並列処理システムでタスクを実行するときの全体構成図である。
【図９】図８の並列処理システムでデータの流れを説明する説明図である。
【図１０】図８のクライアント装置が生成するタスク記述ファイルのデータ項目図である。
【図１１】図８の映像素材蓄積装置の構成を示すブロック図である。
【図１２】図９の映像データ用キューを説明する説明図である。
【図１３】図８の映像処理装置の構成を示すブロック図である。
【図１４】図８の完成映像出力装置の構成を示すブロック図である。
【図１５】図２の管理端末の動作を示すフローチャートである。
【図１６】図２のワーカー端末の動作を示すフローチャートである。
【図１７】図２のワーカー端末で起動されるモジュールの接続関係を説明する説明図。
【図１８】図１４の完成映像出力装置の動作（同期パケットの送信）を示すフローチャートである。
【図１９】図１３の映像処理装置の動作（同期パケットの送信）を示すフローチャートである。
【図２０】図１１の映像素材蓄積装置の動作（素材ファイルの読み込み）を示すフローチャートである。
【図２１】図１１の映像素材蓄積装置の動作（素材ファイルの送信）を示すフローチャートである。
【図２２】図１３の映像処理装置の動作（加工済み素材ファイルの送信）を示すフローチャートである。
【図２３】図１４の完成映像出力装置の動作（完成ファイルの生成）を示すフローチャートである。
【図２４】図８の映像処理装置におけるキュー監視を説明する説明図である。
【図２５】図８の映像処理装置の動作（キュー報告）を示すフローチャートである。
【図２６】図８の映像データ用キューの状態を説明する説明図である。
【図２７】図２の管理端末の動作（ボトルネック改善処理）を示すフローチャートである。
【図２８】図２の管理端末の動作（ボトルネック改善処理の実行）を示すフローチャートである。
【図２９】図１４の完成映像出力装置の動作（速度比、同期信号の周期の変更）を示すフローチャートである。
【図３０】図８の並列処理システムで速度比の変更を説明する説明図である。
【図３１】図８の映像データ用キューの変形例を説明する説明図である。
【図３２】本発明の変形例２に係る並列処理システムの概略図である。
【図３３】本発明の変形例３に係る並列処理システムの概略図である。
【図３４】本発明の変形例４に係る並列処理システムの概略図である。
【発明を実施するための形態】
【００６０】
以下、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。なお、各実施形態において、同一の機能を有する手段には同一の符号を付し、説明を省略した。
【００６１】
（第１実施形態）
［並列処理システムの概略］
図１を参照して、本発明の第１実施形態に係る並列処理システム１の概略について説明する。
図１に示すように、並列処理システム１は、素材ファイルから完成ファイルを生成する処理を並列化するものであって、クライアント端末４００と、管理端末（管理装置）５００と、複数台（例えば、４台以上）のワーカー端末（処理装置）６００とを備える。
【００６２】
また、並列処理システム１は、ネットワーク装置ＮＷを介して、クライアント端末４００と、管理端末５００と、ワーカー端末６００とが接続されている。このネットワーク装置ＮＷは、図示を省略したハブ、ルータ等のネットワーク機器と、ネットワークケーブルとを含んでおり、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等のネットワークを形成する。さらに、ネットワーク装置ＮＷは、ネットワークケーブルを用いた有線ネットワークだけでなく、無線通信を行う無線ネットワークを形成してもよい。
【００６３】
クライアント端末４００は、図示を省略したマウス、キーボード等のユーザインタフェースにより、オペレータがタスクを入力するものである。そして、クライアント端末４００は、このタスクが記述されたタスク記述ファイル（タスク記述情報）を、管理端末５００に送信する。
【００６４】
タスクとは、素材ファイルから完成ファイルを生成する一連の処理である。
素材ファイルとは、映像、音声、音楽等の素材が格納されたファイルであり、本実施形態では、映像が素材ファイルに格納されていることとする。
完成ファイルとは、加工済み素材ファイルが所定の順序で整列されたものであり、例えば、番組コンテンツのことである。
加工済み素材ファイルとは、トランスコーディング等の映像処理（加工処理）が施された素材ファイルのことである。
なお、クライアント端末４００の構成及びタスク記述ファイルの詳細は、後記する。
【００６５】
管理端末（管理装置）５００は、映像処理装置８００（図８）が少なくとも２台以上で並列化されるように、ワーカー端末６００にタスクの実行を命令するものである。具体的には、管理端末５００は、クライアント端末４００からタスク記述ファイルが入力され、このタスク記述ファイルに記述されたタスクの実行を、各ワーカー端末６００に命令する。
【００６６】
また、管理端末５００は、タスクの実行を管理する。具体的には、管理端末５００は、ワーカー端末６００の状態に応じて、素材ファイルの要求周期である同期信号の周期と、映像処理装置８００における加工処理量の分配比である速度比とを変更し、後記する完成映像出力装置９００（図８）に送信する。
なお、管理端末５００の構成は、後記する。
【００６７】
ワーカー端末（処理装置）６００は、それぞれが、後記する映像素材蓄積装置（素材蓄積装置）７００（図８）、映像処理装置（素材処理装置）８００又は完成映像出力装置（完成ファイル生成装置）９００の何れか１以上として動作するものである。
【００６８】
ここで、ワーカー端末６００は、図２に示すように、標準モジュール６１０と、追加モジュール６２０とを備える。これら標準モジュール６１０及び追加モジュール６２０は、例えば、図示を省略したＲＯＭ（Read Only Memory）や磁気ディスクに書き込まれており、その名称を指定することで起動できる。
【００６９】
標準モジュール６１０は、映像素材蓄積装置７００、映像処理装置８００及び完成映像出力装置９００に共通の機能を実現するモジュールである。
追加モジュール６２０は、映像素材蓄積装置７００、映像処理装置８００及び完成映像出力装置９００に固有の機能を実現するモジュールである。
なお、標準モジュール６１０及び追加モジュール６２０の詳細は、後記する。
【００７０】
そして、ワーカー端末６００は、管理端末５００から、映像素材蓄積装置７００、映像処理装置８００又は完成映像出力装置９００の何れかとしてタスクを実行することが命令される。すると、ワーカー端末６００は、この命令に応じた追加モジュール６２０を起動することで、映像素材蓄積装置７００、映像処理装置８００又は完成映像出力装置９００の何れかとしてタスクを実行する。
【００７１】
映像素材蓄積装置７００は、素材を処理して完成ファイルを生成するための素材ファイルを蓄積すると共に、映像処理装置８００からの要求に応じて、この素材ファイルを映像処理装置８００に出力するものである。
映像処理装置８００は、完成映像出力装置９００からの要求に応じて、トランスコーディング等の予め設定された映像処理（加工処理）を素材ファイルに施すものである。
完成映像出力装置９００は、映像処理装置８００からの加工済み素材ファイルを所定の順番で整列させて、完成ファイルを生成するものである。
なお、前記した各装置の構成は、後記する。
【００７２】
＜並列化の説明＞
図３を参照して、並列処理システム１での並列化について説明する（適宜図２参照）。
従来の映像処理プログラムは、蓄積手段２０１から素材ファイルの読み込みと、素材ファイルの加工と、蓄積手段２０１への完成ファイルのデータの書き込みとを組み合わせたものである。このため、従来の映像処理プログラムは、前記した３種類の構成にそれぞれ対応した映像データ入力モジュール７１０と、映像データ処理モジュール８１０と、映像データ出力モジュール９１０とに分割できる。
【００７３】
ここで、並列処理システム１において、従来の映像処理プログラムを３種類のモジュールに分割して、各ワーカー端末６００で実行することを考える。すなわち、ワーカー端末６００は、映像素材蓄積装置７００として動作する場合、映像データ入力モジュール７１０（図１１）が含まれる追加モジュール６２０を起動する。また、ワーカー端末６００は、映像処理装置８００として動作する場合、映像データ処理モジュール８１０（図１３）が含まれる追加モジュール６２０を起動する。さらに、ワーカー端末６００は、完成映像出力装置９００として動作する場合、映像データ出力モジュール９１０（図１４）が含まれる追加モジュール６２０を起動する。そして、並列処理システム１において、各種モジュール間のデータ入出力にデータ交換モジュール６３０（図１１等）を用いる。
【００７４】
以上より、並列処理システム１は、従来の映像処理プログラムに大きな変更を加えることなく、映像データ処理モジュール８１０を複数起動することが可能となり、映像処理を並列化することができる。これによって、並列処理システム１は、並列処理プログラムの作成にかかる手間を低減して、製造コストを削減ことができる。さらに、並列処理システム１は、映像処理とデータ入出力とを分離した構成のため、映像データ処理モジュール８１０の処理内容を変更するだけで、様々な映像処理に対応することができ、利便性を向上させることができる。
【００７５】
＜ファイル転送技術の説明＞
図４を参照して、並列処理システム１で用いられるファイル転送技術について説明する。
このファイル転送技術は、例えば、放送局でのファイル転送の要件の一つである、受信装置２００における優先度に応じた転送速度の制御が可能な、受信装置２００で主導するものである（下記の参考文献参照）。
参考文献「黄  他、“長距離・広帯域IPネットワークにおける優先度に応じたファイル転送プロトコルの性能評価”、信学技報、NS2010-77、2010」
【００７６】
受信装置２００は、キュー６３１を確保した上で同期パケットを送信装置３００に送信する。この同期パケットには、要求するデータのチャンク番号や確認応答が含まれている。そして、送信装置３００は、ファイルをチャンク単位に分割し、同期パケットで要求されたチャンクに対応するデータパケットを受信装置２００に送信する。
なお、チャンクの詳細は、後記する。
【００７７】
＜＜ターミナル装置＞＞
続いて、ターミナル装置１００、送信装置３００、受信装置２００の順で、その構成を説明する。
ターミナル装置１００は、送信装置３００と受信装置２００との間でサードパーティー転送を実行するものであり、命令処理手段１０１を備える。
【００７８】
命令処理手段１０１は、送信装置３００及び受信装置２００にサードパーティー転送の実行を命令するものである。例えば、命令処理手段１０１は、図示を省略したユーザインタフェースにより、オペレータからサードパーティー転送の命令が入力されると、送信装置３００及び受信装置２００それぞれの命令実行手段２０２にサードパーティー転送の実行を命令する。
なお、サードパーティー転送とは、送信装置３００から受信装置２００へのデータ転送をターミナル装置１００が要求するものであり、一般的なため、説明を省略する。
【００７９】
＜＜送信装置＞＞
送信装置３００は、素材ファイルを送信するものであり、蓄積手段２０１と、命令実行手段２０２と、ファイル入力手段３０１と、送信モジュール３１０とを備える。
蓄積手段２０１は、任意のデータ（例えば、素材ファイル）を蓄積するメモリ、ハードディスク等の蓄積装置である。
【００８０】
命令実行手段２０２は、送信装置３００への各種命令を実行するものである。ここで、命令実行手段２０２は、命令を実行するために、例えば、ファイル名、チャンクサイズ又は受信装置２００の所在情報（例えば、ＩＰアドレスやホスト名）等の情報が入力される（不図示）。
ファイル入力手段３０１は、蓄積手段２０１に記録されているファイルをチャンク単位で読み込んで、送信モジュール３１０へ出力するものである。
【００８１】
送信モジュール３１０は、データパケットを送信するモジュールであり、同期パケット受信手段３１１と、送信管理手段３１２と、データ入力手段３１３と、パケット送信手段３１４とを備える。
【００８２】
同期パケット受信手段３１１は、ネットワーク装置ＮＷを介して、受信装置２００から同期パケットを受信するものである。本実施形態では、同期パケットの通信プロトコルとして、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を用いる。すなわち、同期パケットの通信プロトコルとしては、パケット損失が無い、又は、パケット損失があったとしても、再送技術や誤り訂正技術によって、同期パケットを確実に送受信できるものが想定される。
【００８３】
この同期パケットは、図５に示すように、下位プロトコルヘッダー２０４と、要求チャンク番号２０５と、確認応答２０６とを有する。
下位プロトコルヘッダー２０４は、ＩＰ、ＴＣＰ、ＵＤＰ等の下位の通信プロトコルに用いられるヘッダーであり、本実施形態では、ＴＣＰ／ＩＰのヘッダー情報である。
要求チャンク番号２０５は、受信装置２００が要求するチャンクの番号であり、後記するデータパケットのチャンク番号３０４と対応する。
【００８４】
確認応答２０６は、受信したチャンクと、このチャンク内でどのパケットからどのパケットまで連続して受信したかを送信装置３００に知らせるための確認応答用のデータであって、チャンク番号と、最初のパケット番号と、最後のパケット番号とが格納される。例えば、確認応答２０６は、チャンク番号４のパケット番号０から２４０までを連続して受信した場合、チャンク番号４と、最初のパケット番号０と、最後のパケット番号２４０とが格納される。
【００８５】
そして、図４の同期パケット受信手段３１１は、受信した同期パケットから要求チャンク番号２０５を抽出して、送信管理手段３１２を介して後記するデータ入力手段３１３に出力する。さらに、同期パケット受信手段３１１は、受信した同期パケットから確認応答２０６を抽出して、送信管理手段３１２に出力する。
なお、この要求チャンク番号２０５及び確認応答２０６が空の場合、受信装置２００が新規のチャンクの送信及びデータパケットの再送のどちらも要求していないことを示すため、同期パケット受信手段３１１は、何の処理も行わない。
【００８６】
送信管理手段３１２は、同期パケット受信手段３１１から入力された確認応答２０６のパケット番号と、後記するパケット送信手段３１４が送信済みのパケット番号とを比較して（送信済みのパケット番号が確認応答２０６の最初から最後までのパケット番号に含まれるか否かを判定して）、同期パケットの欠落が生じていないかを確認するものである。そして、送信管理手段３１２は、同期パケットの欠落が確認できた場合、欠落した同期パケットの再送をパケット送信手段３１４に指示する。
【００８７】
データ入力手段３１３は、ファイル入力手段３０１から入力された素材ファイルのうち、同期パケット受信手段３１１から入力された要求チャンク番号に対応するチャンクを、パケット送信手段３１４に出力するものである。
【００８８】
パケット送信手段３１４は、ネットワーク装置ＮＷを介して、パケット化したデータ（データパケット）を受信装置２００に送信するものである。具体的には、パケット送信手段３１４は、データ入力手段３１３から入力されたチャンクを、データパケットに格納して受信装置２００に送信する。さらに、パケット送信手段３１４は、送信済みのデータパケットのパケット番号を送信管理手段３１２に出力する。
【００８９】
本実施形態では、パケット送信手段３１４は、ＵＤＰ／ＩＰ（User Datagram Protocol/Internet Protocol）等の通信プロトコルによって、データパケットを送信する。
すなわち、本実施形態では、データパケットの通信プロトコルとして信頼性が低いＵＤＰ／ＩＰを利用し、同期パケットの通信プロトコルとして信頼性が高いＴＣＰ／ＩＰを利用する。
【００９０】
このパケット送信手段３１４が生成するデータパケットは、図６に示すように、下位プロトコルヘッダー３０２と、ペイロードサイズ３０３と、チャンク番号３０４と、パケット番号３０５と、マーカービット３０６と、データポジション３０７と、ペイロード３０８とを有する。
【００９１】
下位プロトコルヘッダー３０２は、ＩＰ、ＴＣＰ、ＵＤＰ等の下位の通信プロトコルに用いられるヘッダーであり、本実施形態では、ＵＤＰ／ＩＰのヘッダー情報である。
ペイロードサイズ３０３は、ペイロード３０８のサイズである。
チャンク番号３０４は、素材ファイルをチャンクに分割した先頭から順番に付けられる番号である。このチャンク番号３０４によって、各チャンクは、一意に識別することができる。
【００９２】
パケット番号３０５は、チャンクごとに、先頭から順番に付けられるデータパケットの番号である。このパケット番号３０５によって、各データパケットは、一意に識別することができる。
マーカービット３０６は、チャンク内での最終データパケットを識別するものである。
データポジション３０７は、そのペイロード３０８の先頭データの、チャンク内でのデータ位置を示す情報である。このデータポジション３０７は、ペイロード３０８にデータを読み込むとき及び書き込むときに用いられる。
ペイロード３０８は、送信するデータ本体である。
【００９３】
＜＜受信装置＞＞
図４に示すように、受信装置２００は、素材ファイルを送信装置３００から受信するものであり、蓄積手段２０１と、命令実行手段２０２と、ファイル出力手段２０３と、受信モジュール２１０と、キュー６３１とを備える。
ファイル出力手段２０３は、後記するキュー６３１からチャンクを読み込んで、蓄積手段２０１に出力する（書き込む）ものである。
【００９４】
受信モジュール２１０は、データパケットを受信するモジュールであり、同期パケット入力手段２１１と、受信管理手段２１２と、同期パケット送信手段２１３と、パケット受信手段２１４とを備える。
【００９５】
同期パケット入力手段２１１は、要求チャンク番号２０５が入力され、この要求チャンク番号２０５を、命令処理手段１０１（図２）により指定された間隔（同期信号の周期）で同期パケット送信手段２１３に出力するものである。
なお、受信装置２００がどのチャンクを要求するかは、後記する。
【００９６】
受信管理手段２１２は、確認応答２０６が格納された同期パケットを生成するものである。まず、受信管理手段２１２は、同期パケットの送信前に命令処理手段１０１（図２）により指定された間隔（同期信号の周期）で、キュー６３１に１チャンク分のチャンク蓄積領域を確保する。ここで、受信管理手段２１２は、キュー６３１に１チャンク分のチャンク蓄積領域を確保できたときは、領域確保を示すチャンク要求制御信号を生成する。一方、受信管理手段２１２は、キュー６３１に１チャンク分のチャンク蓄積領域を確保できないときは、領域未確保を示すチャンク要求制御信号を生成する。
【００９７】
また、受信管理手段２１２は、パケット受信手段２１４からチャンク番号３０４及びパケット番号３０５が入力され、このチャンク番号３０４とパケット番号３０５との組を確認応答２０６に格納し、ＴＣＰ／ＩＰのヘッダー情報を下位プロトコルヘッダー２０４に格納して、同期パケットを生成する。そして、受信管理手段２１２は、生成した同期パケットとチャンク要求制御信号とを同期パケット送信手段２１３に出力する。
【００９８】
同期パケット送信手段２１３は、受信管理手段２１２から入力された同期パケットを送信装置３００に送信するものである。ここで、同期パケット送信手段２１３は、受信管理手段２１２から入力されたチャンク要求制御信号が領域確保を示す場合、入力された同期パケットに同期パケット入力手段２１１から入力された要求チャンク番号２０５を格納する。その後、同期パケット送信手段２１３は、新たなチャンクの送信を要求するために、この同期パケットを送信装置３００に送信する。
【００９９】
一方、同期パケット送信手段２１３は、受信管理手段２１２から入力されたチャンク要求制御信号が未領域確保を示す場合、要求チャンク番号２０５が空のまま、同期パケットを送信装置３００に送信する。これによって、受信モジュール２１０は、輻輳が発生したときや、キュー６３１への書き込みに遅延が発生したときに、転送量を抑制することができる。
【０１００】
パケット受信手段２１４は、送信装置３００からデータパケットを受信するものである。そして、パケット受信手段２１４は、受信したデータパケットのペイロード３０８を抽出して、キュー６３１に書き込む。さらに、パケット受信手段２１４は、受信したデータパケットからチャンク番号３０４及びパケット番号３０５を抽出して、受信管理手段２１２に出力する。
【０１０１】
キュー６３１は、チャンク等の情報を一時記憶するバッファである。このキュー６３１は、ＦＩＦＯ(First In First Out)型のリングバッファであり、図７に示すように、１個のキュー情報６４１と、１個以上のチャンク蓄積領域６４４とを有する。
【０１０２】
キュー情報６４１は、キュー６３１のデータサイズ、キュー６３１に蓄積された全てのチャンク番号、次のチャンク蓄積領域６４４の位置を示すアドレス情報が含まれている。このキュー情報６４１は、チャンク番号を指定することで、そのチャンク番号に該当するチャンクを取り出すためのものである。また、キュー情報６４１は、キュー６３１全体の状態を管理するためのものである。
【０１０３】
チャンク蓄積領域６４４は、完了フラグ６４２と、データ領域６４３とを備える。
完了フラグ（フラグ）６４２は、データ領域６４３への書き込みが完了又は未完了であるかを示す情報である。例えば、あるチャンク蓄積領域６４４が確保された場合、完了フラグ６４２は、未完了で初期化される。そして、そのチャンク蓄積領域６４４のデータ領域６４３への書き込みが完了したとき、完了フラグ６４２は、完了に更新される。つまり、完了フラグ６４２は、データ領域６４３にペイロード３０８の何れか一つでも書き込まれていない場合に未完了であり、データ領域６４３に全てのペイロード３０８が書き込まれたときに完了になる。
【０１０４】
データ領域６４３は、データ本体を蓄積する領域である。ここで、データ領域６４３は、パケット受信手段２１４で受信したデータパケットのペイロード３０８が、データポジション３０７で指定された位置に格納される。
【０１０５】
以下、ファイル転送技術を構成する各装置（図４）と、並列処理システム１の各装置との対応関係について補足説明する。例えば、並列処理システム１は、図８に示すように、１台のクライアント端末４００と、１台の管理端末５００と、１台の映像素材蓄積装置７００と、２台の映像処理装置８００（８００Ａ，８００Ｂ）と、１台の完成映像出力装置９００とを備えることとする。
【０１０６】
この例では、完成映像出力装置９００と映像処理装置８００Ａ，８００Ｂとの転送に着目すれば、完成映像出力装置９００が図４の受信装置２００として動作し、映像処理装置８００Ａ，８００Ｂが図４の送信装置３００として動作する。
【０１０７】
また、映像処理装置８００Ａ，８００Ｂと素材蓄積装置７００との転送に着目すれば、素材蓄積装置７００が図４の送信装置３００として動作し、映像処理装置８００Ａ，８００Ｂが図４の受信装置２００として動作する。
【０１０８】
また、管理端末５００が図４のターミナル装置１００として動作する。
なお、サードパーティー転送に対応しない場合、管理端末５００は、ターミナル装置１００として動作する必要はない。
【０１０９】
図９を参照して、前記したファイル転送技術と並列処理システム１との関係について説明する。
クライアント端末４００と管理端末５００との間では、後記するステータスやタスク記述ファイルが転送されるが、前記したファイル転送技術を適用しなくともよい。また、管理端末５００と、映像素材蓄積装置７００、映像処理装置８００Ａ，８００Ｂ及び完成映像出力装置９００との間では、ステータスやタスク記述ファイルが転送されるが、前記したファイル転送技術を適用しなくともよい（破線矢印で図示）。
一方、映像素材蓄積装置７００と、映像処理装置８００Ａ，８００Ｂと、完成映像出力装置９００との間では、素材ファイルや加工済み素材ファイルの転送速度を受信側主導で制御するため、前記したファイル転送技術を適用する必要がある。従って、映像素材蓄積装置７００と、映像処理装置８００Ａ，８００Ｂと、完成映像出力装置９００との間では、同期パケットやデータパケットが転送される（実線矢印で図示）。”
【０１１０】
ここで、前記したファイル転送技術では、エラー率やＲＴＴ（往復遅延時間）の測定により送信側で輻輳制御を行う方式ではなく、受信側のキュー６３１をベースとしたフローコントロールで輻輳制御を行う。
また、前記したファイル転送技術は、後記する同期信号を用いて、同期パケットの送信間隔を制御することで、データの転送速度を任意に制御できる。この同期信号は一定の周期で生成される信号であり、各ワーカー端末６００の受信モジュール２１０において、同期パケット送信手段２１３は、１個の同期信号に対して、１個の同期パケットを送信する。本実施形態では、管理端末５００からの命令に応じて、完成映像出力装置９００の命令実行手段２０２（図１４）は、同期信号生成手段９２１と同期パケット分配手段９２２とを制御する。これによって、並列処理システム１では、後記する転送フローごとに転送速度を制御することが可能である。
さらに、並列処理システム１では、管理端末５００のデータベース管理手段５０４（図２）によって、命令処理手段１０１が出力した命令を管理することで、ファイル転送に用いるネットワークの帯域（論理値）も把握できる。
【０１１１】
［並列処理システムの構成］
図８を参照して、並列処理システム１の構成について説明する（適宜図１，図２参照）。
以下の説明では、並列処理システム１は、図８に示すように、４台のワーカー端末６００がそれぞれ、１台の映像素材蓄積装置７００と、２台の映像処理装置８００Ａ，８００Ｂと、１台の完成映像出力装置９００として動作することとする。
【０１１２】
また、以後の説明では、並列処理システム１は、１個の素材ファイルの全フレームに対して、トランスコーディングを行って、１個の完成ファイルを生成することとする。このとき、素材ファイル及び完成ファイル共に、フレーム間予測を行わずに符号化された映像ファイルが、ＭＸＦ（Material eXchange Format）でラッピングされたファイル形式とする。このＭＸＦは、ＳＭＰＴＥ（Society of Motion Picture and Television Engineers）で規格化されたファイル形式であり、例えば、放送局の制作現場で使用されている。また、ＭＸＦは、データを包み込むラッパーという概念によって、圧縮内容に関わらず、映像フレーム単位での操作が可能となる。
【０１１３】
また、素材ファイルの映像データは、チャンクという単位に分割されることとする。つまり、チャンクは、素材ファイルの分割単位である。本実施形態では、並列化にあたり、映像データ間の参照関係から、チャンク以下に分割できず、同一のワーカー端末６００内で処理する最小単位である。すなわち、本実施形態では、フレーム間予測を行わずに符号化された映像データを扱うため、１チャンクは、１映像フレームとする。
【０１１４】
また、各映像フレームは、映像フレーム番号で一意に特定できる。この映像フレーム番号は、素材ファイルである映像ファイルの冒頭から、映像フレームごと順番に付された番号である。
【０１１５】
［クライアント装置の構成］
図２に戻り、クライアント端末４００の構成について説明する。
図２に示すように、クライアント端末４００は、タスク送信手段４０１と、ステータス受信手段５０３とを備える。
【０１１６】
タスク送信手段４０１は、タスクが入力され、このタスクが記述されたタスク記述ファイルを管理端末５００に送信するものである。このタスク記述ファイル４０２は、図１０に示すように、分割数と、素材ファイル名と、完成ファイル名と、目標速度と、チャンクサイズと、１チャンクの映像フレーム数と、映像データ入力モジュール名と、映像データ処理モジュール名とパラメータと、映像データ出力モジュール名とが記述されている。
【０１１７】
＜タスク記述ファイルの説明＞
分割数は、このタスクで映像処理を行うワーカー端末６００（映像処理装置８００）の台数を示す情報である。この分割数は、映像処理を行うワーカー端末６００の台数を管理端末５００のタスク実行手段５０２に指示するための情報である。本実施形態では、分割数が２のため、映像処理装置８００が２台となる。
【０１１８】
素材ファイル名（映像素材蓄積装置の特定情報）は、素材ファイルを蓄積するワーカー端末６００（映像素材蓄積装置７００）の所在情報と、この素材ファイルの絶対パスと、この素材ファイルの映像フレーム数とを示す情報である。この素材ファイル名は、複数のワーカー端末６００の中から映像素材蓄積装置７００を特定するため、及び、読み込み手段７１１（図１１）に素材ファイルの読み込み先を指示するための情報である。
なお、映像素材蓄積装置７００も２台以上で並列化する場合、タスク送信手段４０１には、素材ファイル名が２個記述される。
【０１１９】
完成ファイル名（完成映像出力装置の特定情報）は、完成ファイルを蓄積するワーカー端末６００（完成映像出力装置９００）の所在情報と、この完成ファイルの絶対パスと、この完成ファイルの映像フレーム数を示す情報である。この完成ファイル名は、ワーカー端末６００の中から完成映像出力装置９００を特定するため、及び、書き込み手段９１２（図１４）に完成ファイルの書き込み先を指示するための情報である。
【０１２０】
目標速度は、並列処理で目標とするタスクの処理速度を示す情報である。この目標速度は、管理端末５００のタスク実行手段５０２が映像処理装置８００ごとの速度比及び同期信号の周期を計算するための情報である。
【０１２１】
チャンクサイズは、１チャンク分のチャンク蓄積領域６４４（図７）のサイズを示す情報である。このチャンクサイズは、ワーカー端末６００の命令実行手段２０２がデータ交換モジュール６３０を起動するときに参照する情報である。
【０１２２】
１チャンクの映像フレーム数は、１チャンクが何枚の映像フレームであるかを示す情報であり、本実施形態では、１チャンクが１映像フレームである。この１チャンクの映像フレーム数は、映像データ用キュー６３１の入出力を行うワーカー端末６００の各手段に対して、チャンク番号と映像フレーム番号との対応関係を示すための情報である。
【０１２３】
映像データ入力モジュール名は、映像素材蓄積装置７００で起動される追加モジュール６２０の名称である。本実施形態では、映像データ入力モジュール名は、映像データ入力モジュール７１０が含まれる追加モジュール６２０の名称が記述される。
【０１２４】
映像データ処理モジュール名とパラメータは、映像処理装置８００で起動される追加モジュール６２０の名称と、タスクの実行に必要な各種パラメータとを含む情報である。本実施形態では、映像データ処理モジュール名は、映像データ処理モジュール８１０が含まれる追加モジュール６２０の名称が記述される。また、パラメータは、図１３の映像処理手段８１３が用いる、処理対象の映像フレーム番号、画像サイズ、ビットレート等の映像処理パラメータと、図１３の同期パケット入出力手段８１１が用いる、チャンク番号の付け替え方を示す付替処理パラメータとを含む。
【０１２５】
映像データ出力モジュール名は、完成映像出力装置９００で起動される追加モジュール６２０のモジュールの名称である。本実施形態では、映像データ出力モジュール名は、映像データ出力モジュール９１０が含まれる追加モジュール６２０の名称が記述される。
【０１２６】
図２に戻り、クライアント端末４００の説明を続ける。
ステータス受信手段５０３は、管理端末５００から後記するステータスを受信するものである。そして、ステータス受信手段５０３は、例えば、受信したステータスをモニタ（不図示）に出力することで、このステータスをオペレータに提示する。
【０１２７】
［管理端末の構成］
管理端末５００の構成について説明する。
図２に示すように、管理端末５００は、命令処理手段（命令手段）１０１と、タスク受信手段５０１と、タスク実行手段５０２と、ステータス受信手段（キュー報告受信手段）５０３と、データベース管理手段５０４と、ステータス送信手段５０５とを備える。
【０１２８】
命令処理手段（命令手段）１０１は、後記するタスク実行手段５０２から起動装置識別情報が入力され、この起動装置識別情報に基づいて、ワーカー端末６００のそれぞれに、映像素材蓄積装置７００と映像処理装置８００Ａ，８００Ｂと完成映像出力装置９００として、タスクを実行することを命令するものである。このとき、命令処理手段１０１は、入力されたタスク記述ファイル４０２を、タスクの実行を命令したワーカー端末６００に送信する。
【０１２９】
また、命令処理手段１０１は、転送コネクションの確立を、タスクを実行する各ワーカー端末６００に命令した後、タスクの開始を各ワーカー端末６００に命令する。さらに、命令処理手段１０１は、タスク実行手段５０２から同期信号の周期と速度比とが入力され、この同期信号の周期と速度比とを完成映像出力装置９００に送信する。その後、命令処理手段１０１は、起動装置識別情報、同期信号の周期及び速度比をデータベース管理手段５０４に出力する。
【０１３０】
タスク受信手段５０１は、クライアント端末４００からタスク記述ファイル４０２を受信し、受信したタスク記述ファイル４０２をタスク実行手段５０２に出力するものである。
【０１３１】
タスク実行手段５０２は、タスク受信手段５０１からタスク記述ファイル４０２が入力され、このタスク記述ファイル４０２に基づいて、素材ファイル名で特定される１台のワーカー端末６００を、映像素材蓄積装置７００として起動させることを決定するものである。
【０１３２】
また、タスク実行手段５０２は、このタスク記述ファイル４０２に基づいて、完成ファイル名で特定される１台のワーカー端末６００を、完成映像出力装置９００として起動させることを決定する。
【０１３３】
そして、タスク実行手段５０２は、予め設定された装置選択規則に基づいて、タスク記述ファイルの分割数で指定された台数（ここでは、２台）のワーカー端末６００を、映像処理装置８００Ａ，８００Ｂとして起動させることを決定する。本実施形態では、タスク実行手段５０２は、後記するデータベース管理手段５０４のデータベース（不図示）を参照して、タスクを実行していない空きのワーカー端末６００を順番（例えば、ＩＰアドレスの順番）に２台選択するという装置選択規則を用いる。その後、タスク実行手段５０２は、映像素材蓄積装置７００と映像処理装置８００Ａ，８００Ｂと完成映像出力装置９００として起動されるワーカー端末６００を識別する起動装置識別情報を生成する。
【０１３４】
さらに、タスク実行手段５０２は、タスク記述ファイル４０２に基づいて、同期信号の周期を算出する。ここで、タスク実行手段５０２は、下記の式（１）に示すように、タスク記述ファイル４０２に記述されたチャンクサイズＳを目標速度Ａで除算した値を同期信号の周期Ｔとして算出する。
Ｔ＝Ｓ／Ａ  ・・・式（１）
【０１３５】
さらに、タスク実行手段５０２は、タスク記述ファイル４０２に基づいて、予め設定された速度比算出規則に基づいて、転送フローごとの速度の割り振りを示す速度比（映像処理装置８００Ａ，８００Ｂごとの速度比）を算出する。本実施形態では、タスク実行手段５０２は、タスク記述ファイル４０２に記述された目標速度をタスクの目標速度として、各転送フローの速度比（映像処理装置８００Ａ，８００Ｂ）で速度比を均等にするという速度比算出規則に基づいて、各転送フローの速度比を１対１と算出する。その後、タスク実行手段５０２は、起動装置識別情報と、速度比と、同期信号の周期と、タスク記述ファイル４０２とを命令処理手段１０１に出力する。
【０１３６】
ここで、転送フローとは、１台の映像素材蓄積装置７００から１台の映像処理装置８００を経由し、１台の完成映像出力装置９００に至るデータ転送の流れであり、映像処理装置８００の台数と同数になる。従って、並列処理システム１では、全ての転送フローの速度を合計すると、タスクの目標速度になる。
【０１３７】
ステータス受信手段（キュー報告受信手段）５０３は、各ワーカー端末６００からステータスを受信し、このステータスをデータベース管理手段５０４に出力するものである。このステータスとしては、例えば、各ワーカー端末６００の生存確認（例えば、ワーカー端末の起動）、タスクの実行状態（例えば、完成ファイルの完成、タスク終了処理の完了）、各ワーカー端末６００のスループットをあげることができる。
【０１３８】
また、ステータス受信手段５０３は、ステータスとしてのキュー報告を、タスクを実行するワーカー端末６００から受信したか否かを判定する。そして、ステータス受信手段５０３は、このキュー報告をタスク実行手段５０２に出力する。
なお、このキュー報告を受信したときのボトルネック対処条件及びボトルネック改善処理は後記する。
【０１３９】
データベース管理手段５０４は、命令処理手段１０１によってタスクの実行が命令されたワーカー端末６００の識別情報（起動装置識別情報）を記憶するデータベース（不図示）を備え、このデータベースを管理するものである。具体的には、データベース管理手段５０４は、命令処理手段１０１から入力された起動装置識別情報をデータベースに登録する。また、データベース管理手段５０４は、命令処理手段１０１から入力された同期信号の周期及び速度比をデータベースに登録する。
【０１４０】
そして、データベース管理手段５０４は、ステータス受信手段５０３からステータスが入力され、このステータスをデータベースに登録する。また、データベース管理手段５０４は、入力されたステータスをステータス送信手段５０５に出力する。
【０１４１】
つまり、データベース管理手段５０４が管理するデータベースを参照すれば、タスクの実行状態、ワーカー端末６００のスループット、キュー報告に基づいたワーカー端末６００のキュー状態、生存確認に基づいた起動可能なワーカー端末６００、起動装置識別情報に基づいたタスク実行中のワーカー端末６００を判定することができる。さらに、このデータベースを参照すれば、起動可能なワーカー端末６００とタスク実行中のワーカー端末６００との差により、タスクを実行していない空きのワーカー端末６００を判定することができる。
この他、データベース管理手段５０４が管理するデータベースを参照すれば、各ワーカー端末６００の所在情報、ネットワーク装置ＮＷと各ワーカー端末６００との接続関係
を判定することもできる。
【０１４２】
ステータス送信手段５０５は、データベース管理手段５０４からステータスが入力され、このステータスをクライアント端末４００に出力するものである。
【０１４３】
［映像素材蓄積装置の構成］
図１１を参照して、映像素材蓄積装置７００の構成について説明する（適宜図２参照）。
図１１に示すように、映像素材蓄積装置７００は、標準モジュール６１０と、追加モジュール６２０とを備える。
なお、映像素材蓄積装置７００の各手段は、説明を分かりやすくするため、後記する動作にて詳細に説明する。
【０１４４】
標準モジュール６１０は、図２と同様、蓄積手段２０１と、命令実行手段２０２と、ステータス送信手段（キュー報告送信手段）５０５と、バッファ監視手段（キュー監視手段）６１１とを備える。
【０１４５】
この標準モジュール６１０（命令実行手段２０２）は、管理端末５００から、映像素材蓄積装置７００としてタスクを実行する命令と、起動すべき追加モジュール６２０の名称（図１０の映像データ入力モジュール名）とが送信され、この追加モジュール６２０を起動する。
【０１４６】
追加モジュール６２０は、送信モジュール３１０（３１０Ａ，３１０Ｂ）と、データ交換モジュール６３０（６３０１，６３０Ａ，６３０Ｂ）と、映像データ入力モジュール７１０と、送信接続モジュール７２０とを備える。
【０１４７】
ここで、追加モジュール６２０において、映像データ入力モジュール７１０及び送信接続モジュール７２０は、１個ずつ備えられる。一方、送信モジュール３１０Ａ，３１０Ｂは、２台の映像処理装置８００Ａ，８００Ｂにそれぞれ対応するように、２個備えられる。従って、データ交換モジュール６３０１，６３０Ａ，６３０Ｂは、合計３個となる。
【０１４８】
送信モジュール３１０Ａは、映像処理装置８００Ａにデータパケットを送信するモジュールであり、図４と同様、同期パケット受信手段３１１Ａと、送信管理手段３１２Ａと、データ入力手段３１３Ａと、パケット送信手段３１４Ａとを備える。
また、送信モジュール３１０Ｂは、映像処理装置８００Ｂにデータパケットを送信する以外、送信モジュール３１０Ａと同様のものである。
【０１４９】
データ交換モジュール６３０１は、映像データ入力モジュール７１０と送信接続モジュール７２０との間でデータ交換（データ入出力）を行うモジュールであり、映像データ用キュー６３１（６３１１）と、制御用キュー６３２（６３２１）とを備える。
【０１５０】
映像データ用キュー６３１（６３１１）は、複数のモジュール間（ここでは、映像データ入力モジュール７１０と送信接続モジュール７２０との間）で映像データの入出力に用いるものであり、図７と同様の構造を有する。
【０１５１】
本実施形態では、映像データ用キュー６３１は、１チャンクが１映像フレームであるため、図１２に示すように、チャンク蓄積領域６４４のサイズを１映像フレームより大きくする必要がある。一般的に、映像データ用キュー６３１は、処理速度が速いモジュールがデータを書き出して、処理速度が遅いモジュールがデータを読み込む場合、その使用率が高くなる。一方、映像データ用キュー６３１は、処理速度が遅いモジュールがデータを書き出し、処理速度が速いモジュールがデータを読み込む場合、その使用率が低くなる。このように、映像データ用キュー６３１の使用率は、処理の進行状態が反映されることになる。
【０１５２】
図１１の制御用キュー６３２（６３２１）は、チャンク番号用キュー６３３（６３３１）と、同期信号用キュー６３４（６３４１）とを備える。
チャンク番号用キュー６３３（６３３１）は、複数のモジュール間（ここでは、映像データ入力モジュール７１０と送信接続モジュール７２０との間）で、要求する映像データのシーケンス番号であるチャンク番号の入出力に用いるものである。
同期信号用キュー６３４（６３４１）は、複数のモジュール間（ここでは、映像データ入力モジュール７１０と送信接続モジュール７２０との間）で、同期信号の入出力に用いるものである。
これらチャンク番号用キュー６３３及び同期信号用キュー６３４は、映像データ用キュー６３１と同様の構造を有する。
【０１５３】
本実施形態では、同期信号用キュー６３４に同期信号を書き込む各手段は、同期信号の書き込みと共に、チャンク番号用キュー６３３にチャンク番号を書き込む。また、同期信号用キュー６３４から同期信号を読み出す各手段は、同期信号の読み込みと共に、チャンク番号用キュー６３３からチャンク番号を読み込む。このように、チャンク番号用キュー６３３及び同期信号用キュー６３４に一連の処理を行う場合、「制御用キュー６３２への制御データを書き込み」、及び、「制御用キュー６３２から制御データを読み込み」と略記する。
また、映像データ用キュー６３１、チャンク番号用キュー６３３及び同期信号用キュー６３４に対する書き込みと読み込みとは、チャンク蓄積領域６４４の単位で行われることとする。
【０１５４】
データ交換モジュール６３０Ａは、送信接続モジュール７２０と送信モジュール３１０Ａとの間でデータ交換を行うモジュールである。
データ交換モジュール６３０Ｂは、送信接続モジュール７２０と送信モジュール３１０Ｂとの間でデータ交換を行うモジュールである。
これらデータ交換モジュール６３０Ａ，６３０Ｂは、データ交換モジュール６３０１と同様のため、説明を省略する。
【０１５５】
なお、本実施形態では、映像データ用キュー６３１、チャンク番号用キュー６３３、同期信号用キュー６３４は、共有メモリ（半導体メモリ）上にそれぞれの領域が確保されることとしたが、本発明は、これに限定されない。
【０１５６】
映像データ入力モジュール７１０は、蓄積手段２０１から素材ファイルを読み込むモジュールであり、読み込み手段７１１を備える。
送信接続モジュール７２０は、データ交換モジュール６３０Ａ，６３０Ｂにデータを分配するモジュールであり、同期パケット中継手段７２１と、データ分配手段７２２とを備える。
【０１５７】
［映像処理装置の構成］
図１３を参照して、映像処理装置８００Ａの構成について説明する。
図１３に示すように、映像処理装置８００Ａは、標準モジュール６１０と、追加モジュール６２０とを備える。
なお、映像処理装置８００Ａの各手段は、説明を分かりやすくするため、後記する動作にて詳細に説明する。
【０１５８】
標準モジュール６１０（命令実行手段２０２）は、管理端末５００から、映像処理装置８００Ａとしてタスクを実行する命令と、起動すべき追加モジュール６２０の名称（図１０の映像データ処理モジュール名とパラメータ）とが送信され、この追加モジュール６２０を起動する。
なお、標準モジュール６１０は、図１１と同様のため、詳細な説明を省略する。
【０１５９】
追加モジュール６２０は、受信モジュール２１０と、送信モジュール３１０と、データ交換モジュール６３０（６３０１，６３０２）と、映像データ処理モジュール８１０とを備える。
【０１６０】
ここで、追加モジュール６２０において、受信モジュール２１０、送信モジュール３１０及び映像データ処理モジュール８１０は、１個ずつ備えられる。また、データ交換モジュール６３０１，６３０２は、映像データ処理モジュール８１０を挟むように、２個備えられる。
【０１６１】
映像データ処理モジュール８１０は、トランスコーディング等の映像処理を素材ファイルに施すモジュールであり、同期パケット入出力手段８１１と、データ入出力手段８１２と、映像処理手段８１３とを備える。
【０１６２】
なお、図１３の追加モジュール６２０において、映像データ処理モジュール８１０以外の各モジュールは、図４，図１１と同様のため、説明を省略する。
また、映像処理装置８００Ｂの構成及び動作は、映像処理装置８００Ａと同様のため、以後の説明を省略する。
【０１６３】
［完成映像出力装置の構成］
図１４に示すように、完成映像出力装置９００は、標準モジュール６１０と、追加モジュール６２０とを備える。
なお、完成映像出力装置９００の各手段は、説明を分かりやすくするため、後記する動作にて詳細に説明する。
【０１６４】
標準モジュール６１０（命令実行手段２０２）は、管理端末５００から、完成映像出力装置９００としてタスクを実行する命令と、起動すべき追加モジュール６２０の名称（図１０の映像データ出力モジュール名）とが送信され、この追加モジュール６２０を起動する。
なお、標準モジュール６１０は、図１１と同様のため、詳細な説明を省略する。
【０１６５】
追加モジュール６２０は、受信モジュール２１０（２１０Ａ，２１０Ｂ）と、データ交換モジュール６３０（６３０１，６３０Ａ１，６３０Ｂ）と、映像データ出力モジュール９１０と、受信接続モジュール９２０とを備える。
【０１６６】
ここで、追加モジュール６２０において、映像データ出力モジュール９１０及び受信接続モジュール９２０は、１個ずつ備えられる。一方、受信モジュール２１０Ａ，２１０Ｂは、２台の映像処理装置８００Ａ，８００Ｂにそれぞれ対応するように、２個備えられる。従って、データ交換モジュール６３０１，６３０Ａ，６３０Ｂは、合計３個とする。
【０１６７】
映像データ出力モジュール９１０は、蓄積手段２０１に完成ファイルを書き込むモジュールであり、チャンク番号出力手段９１１と、書き込み手段９１２とを備える。
受信接続モジュール９２０は、データ交換モジュール６３０Ａ，６３０Ｂからのデータを整列して、１個の完成ファイルを生成するモジュールであり、同期信号生成手段９２１と、同期パケット分配手段９２２と、データ整列手段９２３とを備える。
【０１６８】
なお、図１４の追加モジュール６２０において、映像データ出力モジュール９１０及び受信接続モジュール９２０以外の各モジュールは、図４，図１１と同様のため、説明を省略する。
【０１６９】
［管理端末の動作］
図１５を参照して、管理端末５００の動作について説明する（適宜図２参照）。
タスク受信手段５０１は、クライアント端末４００からタスク記述ファイル４０２を受信して、タスク実行手段５０２に出力する（ステップＳ１０）。
【０１７０】
タスク実行手段５０２は、タスク記述ファイル４０２に基づいて、タスクの処理内容を決定する。具体的には、タスク実行手段５０２は、タスク記述ファイル４０２に基づいて、映像素材蓄積装置７００及び完成映像出力装置９００として起動させるワーカー端末６００をそれぞれ決定する。また、タスク実行手段５０２は、装置選択規則に基づいて映像処理装置８００Ａ，８００Ｂとして起動させるワーカー端末６００をそれぞれ決定する。さらに、タスク実行手段５０２は、同期信号の周期と、速度比とを算出する（ステップＳ１１）。
【０１７１】
命令処理手段１０１は、タスク実行手段５０２の決定に従って、ワーカー端末６００のそれぞれに、映像素材蓄積装置７００と映像処理装置８００Ａ，８００Ｂと完成映像出力装置９００として、タスクを実行することを命令する（ステップＳ１２）。
【０１７２】
命令処理手段１０１は、タスクの実行開始を映像素材蓄積装置７００と映像処理装置８００Ａ，８００Ｂと完成映像出力装置９００に命令する。また、命令処理手段１０１は、同期信号の周期と速度比とを完成映像出力装置９００とに送信する（ステップＳ１３）。
なお、本実施形態では、図１４の同期信号生成手段９２１の動作開始によってタスクが開始される。
【０１７３】
命令処理手段１０１は、起動装置識別情報、同期信号の周期及び速度比をデータベース管理手段５０４に出力する。また、ステータス受信手段５０３は、各ワーカー端末６００からステータスを受信して、このステータスをデータベース管理手段５０４に出力する。
さらに、データベース管理手段５０４は、入力されたステータスをデータベースに登録すると共に、ステータス送信手段５０５に出力する（ステップＳ１４）。
【０１７４】
ステータス受信手段５０３は、ステータスとしてキュー報告を受信したか否かを判定する（ステップＳ１５）。
キュー報告を受信していない場合（ステップＳ１５でＮｏ）、管理端末５００は、ステップＳ１６の処理に進む。
【０１７５】
ステータス受信手段５０３は、完成映像出力装置９００から、ステータス「完成ファイルの完成」を受信したか否かを判定する（ステップＳ１６）。
ここで、ステータス「完成ファイルの完成」を受信していない場合（ステップＳ１６でＮｏ）、管理端末５００は、ステップＳ１４の処理に戻る。
一方、ステータス「完成ファイルの完成」を受信した場合（ステップＳ１６でＹｅｓ）、管理端末５００は、ステップＳ１７の処理に進む。
【０１７６】
命令処理手段１０１は、タスクを実行している各ワーカー端末６００に、タスク終了処理を命令する。また、ステータス受信手段５０３は、これらワーカー端末６００からステータス「タスク終了処理の完了」を受信すると、これをデータベース管理手段５０４に出力する。そして、データベース管理手段５０４は、このステータスをデータベースに登録し、このステータスをステータス送信手段５０５に出力する。すると、ステータス送信手段５０５は、クライアント端末４００に、ステータス「タスク終了処理の完了」を送信する（ステップＳ１７）。
【０１７７】
キュー報告を受信した場合（ステップＳ１５でＹｅｓ）、ステータス受信手段５０３は、受信したキュー報告をタスク実行手段５０２に出力する。その後、管理端末５００は、ステップＳ１８の処理に進む。
なお、ボトルネック改善処理の詳細は、後記する（図２７，図２８参照）。
【０１７８】
［ワーカー端末の動作］
図１６を参照して、タスクを実行するワーカー端末６００で共通する動作について説明する（適宜図２参照）。
ワーカー端末６００は、電源が投入されると、例えば、標準モジュール６１０をＲＯＭから読み込んで起動する（ステップＳ２０）。
【０１７９】
ステータス送信手段５０５は、管理端末５００にステータス「ワーカー端末の起動」を送信する。ここで、ステータス送信手段５０５は、予め設定した間隔で、このワーカー端末６００が起動中であること（つまり、ステータス「ワーカー端末の起動」）を管理端末５００に繰り返し送信する（ステップＳ２１）。
【０１８０】
命令実行手段２０２は、管理端末５００から、タスク実行の命令を受信したか否かを判定する（ステップＳ２２）。
ここで、タスク実行の命令を受信していない場合（ステップＳ２２でＮｏ）、ワーカー端末６００は、ステップＳ２１の処理に戻る。
一方、タスク実行の命令を受信した場合（ステップＳ２２でＹｅｓ）、ワーカー端末６００は、ステップＳ２３の処理に進む。
【０１８１】
命令実行手段２０２は、例えば、所定の追加モジュール６２０をＲＯＭから読み込んで起動して、タスクの実行を準備する。また、命令実行手段２０２は、追加モジュール６２０の起動時、管理端末５００から入力されたタスク記述ファイル４０２を各手段に出力する。そして、命令実行手段２０２は、送信モジュール３１０と受信モジュール２１０との間でデータパケット及び同期パケットを転送するため、転送コネクションを確立する（ステップＳ２３）。
【０１８２】
ワーカー端末６００は、管理端末５００からの命令に応じて、映像素材蓄積装置７００、映像処理装置８００Ａ，８００Ｂ、又は、完成映像出力装置９００の何れかとして、タスクを実行する。
また、タスク実行中、図８の映像処理装置８００Ａ，８００Ｂは、バッファ監視手段６１１によって、映像データ用キュー６３１を監視する。そして、映像処理装置８００Ａ，８００Ｂは、バッファ監視手段６１１によって、キュー報告が必要な場合、ステータス送信手段５０５を介して管理端末５００にキュー報告を送信する（ステップＳ２４）。
なお、バッファ監視手段６１１によるキュー報告は、後記する。
【０１８３】
命令実行手段２０２は、管理端末５００から、タスク終了の命令を受信したか否かを判定する（ステップＳ２５）。
ここで、タスク終了の命令を受信していない場合（ステップＳ２５でＮｏ）、ワーカー端末６００は、ステップＳ２４の処理に戻る。
【０１８４】
一方、タスク終了の命令を受信した場合（ステップＳ２５でＹｅｓ）、ワーカー端末６００は、ステップＳ２６の処理に進む。
命令実行手段２０２は、追加モジュール６２０を終了し、転送コネクションを切断し（ステップＳ２６）、ステップＳ２１の処理に戻る。
【０１８５】
図１６の処理にて、映像素材蓄積装置７００では、図１７に示すように、映像データ入力モジュール７１０が起動される。また、映像処理装置８００Ａ，８００Ｂでは、映像データ処理モジュール８１０が起動される。さらに、完成映像出力装置９００では、映像データ出力モジュール９１０が起動される。
【０１８６】
次に、映像素材蓄積装置７００、映像処理装置８００Ａ，８００Ｂ、完成映像出力装置９００では、以下の順番で処理が行われる。まず、完成映像出力装置９００は、管理端末５００から受信した同期信号の周期と映像処理装置８００Ａ，８００Ｂごとの速度比とに基づいて、映像処理装置８００Ａ，８００Ｂのそれぞれに同期パケットを送信して、加工済み素材ファイルを要求する。また、映像処理装置８００Ａ，８００Ｂは、完成映像出力装置９００からの要求に応じて、映像素材蓄積装置７００に同期パケットを送信して、素材ファイルを要求する。
【０１８７】
すると、映像素材蓄積装置７００は、映像データ入力モジュール７１０によって、要求された素材ファイルを読み込んで、映像処理装置８００Ａ，８００Ｂに送信する。そして、映像処理装置８００Ａ，８００Ｂは、映像データ処理モジュール８１０によって、映像素材蓄積装置７００から受信した素材ファイルに映像処理を施して、完成映像出力装置９００に送信する。さらに、完成映像出力装置９００は、加工済みの素材ファイルを整列して完成ファイルを生成して、映像データ出力モジュール９１０によって、この完成ファイルを蓄積手段２０１に書き込む。その後、完成ファイルの完成により、タスクが終了する。
【０１８８】
以下、この順番に従って、映像素材蓄積装置７００、映像処理装置８００Ａ、完成映像出力装置９００で固有の動作について説明する。なお、映像処理装置８００Ｂは、映像処理装置８００Ａと同様の動作を行うため、説明を省略する。
【０１８９】
［完成映像出力装置の動作：同期パケットの送信］
図１８を参照して、完成映像出力装置９００が同期パケットを送信する動作について説明する（適宜図１４参照）。
なお、図１８では、受信モジュール２１０Ｂ及び制御用キュー６３２Ｂの図示を省略した。
【０１９０】
映像データ出力モジュール９１０は、チャンク番号出力手段９１１によって、命令実行手段２０２から入力されたタスク記述ファイル４０２に基づいて、チャンク番号用キュー６３３１に、完成ファイルの映像フレームの順番で、チャンク番号を書き込む。また、チャンク番号出力手段９１１は、書き込み手段９１２に、制御用キュー６３２１に書き込んだチャンク番号を出力する。そして、書き込み手段９１２は、チャンク番号用キュー６３３１に書き込まれたチャンク番号を保持する（ステップＳ３０）。
【０１９１】
受信接続モジュール９２０は、同期信号生成手段９２１によって、命令実行手段２０２から入力された同期信号の周期で同期信号を生成し、同期信号用キュー６３４１に書き込む（ステップＳ３１）。
【０１９２】
受信接続モジュール９２０は、同期パケット分配手段９２２によって、制御用キュー６３２１から制御データを読み込む（ステップＳ３２）。
なお、ステップＳ３１，Ｓ３２において、チャンク番号出力手段９１１がチャンク番号用キュー６３３１にだけチャンク番号のデータを書き込む処理、及び、同期信号生成手段９２１が同期信号用キュー６３４１にだけ同期信号を書き込む処理は、制御データの例外的な扱いである。
【０１９３】
同期パケット分配手段９２２は、命令実行手段２０２から入力された速度比に基づいて、制御用キュー６３２Ａ，６３２Ｂに制御データを分配する（ステップＳ３３）。本実施形態では、同期パケット分配手段９２２は、映像処理装置８００Ａ，８００Ｂの速度比が均等なため、同じだけ、制御用キュー６３２Ａ，６３２Ｂに制御データを分配する。
【０１９４】
同期パケット分配手段９２２は、分配した制御データを書き込み、データ整列手段９２３に制御用キュー６３２Ａ，６３２Ｂに書き込んだチャンク番号を出力する。また、データ整列手段９２３は、何れの受信モジュール２１０Ａ，２１０Ｂの何れのチャンク番号を要求したか、受信モジュール２１０Ａ，２１０Ｂとチャンク番号との対応関係情報を保持する（ステップＳ３４）
【０１９５】
受信モジュール２１０Ａは、同期パケット入力手段２１１Ａによって、制御用キュー６３２Ａから制御データを読み込む（ステップＳ３５）。
受信モジュール２１０Ａは、同期パケット送信手段２１３Ａによって、受信管理手段２１２から入力された同期パケット（確認応答２０６が格納された同期パケット）に要求チャンク番号２０５を格納する。そして、同期パケット送信手段２１３Ａは、映像処理装置８００Ａに同期パケットを送信する（ステップＳ３６）。
なお、受信モジュール２１０Ｂは、受信モジュール２１０Ａと同様にステップＳ３５，Ｓ３６の処理を行うため、説明を省略する。
【０１９６】
［映像処理装置の動作：同期パケットの送信］
図１９を参照して、映像処理装置８００Ａが同期パケットを送信する動作について説明する（適宜図１３参照）。
【０１９７】
送信モジュール３１０は、同期パケット受信手段３１１によって、完成映像出力装置９００から受信した同期パケットより要求チャンク番号２０５を抽出する（ステップＳ４０）。
【０１９８】
送信モジュール３１０は、同期パケット受信手段３１１によって、同期パケットから確認応答２０６を抽出して、送信管理手段３１２に出力する。
このとき、送信管理手段３１２は、入力された確認応答２０６のパケット番号と、送信済みのパケット番号とを比較して、欠落番号の有無を確認する。ここで、欠落番号が有る場合、送信管理手段３１２は、欠落した同期パケットの再送をパケット送信手段３１４に指示する（ステップＳ４１）。
【０１９９】
送信モジュール３１０は、同期パケット受信手段３１１によって、制御用キュー６３２２に制御データを書き込み、制御用キュー６３２２に書き込んだチャンク番号をデータ入力手段３１３に出力する（ステップＳ４２）。
【０２００】
映像データ処理モジュール８１０は、同期パケット入出力手段８１１によって、制御用キュー６３２２に制御データが書き込まれたかを監視し、書き込まれた制御データを読み込む。また、データ入出力手段８１２は、映像データ用キュー６３１２に１個のチャンク蓄積領域６４４を確保する（ステップＳ４３）。
【０２０１】
映像データ処理モジュール８１０は、同期パケット入出力手段８１１によって、予め設定されたチャンク番号付替規則に基づいて、チャンク番号を付替える。
ここで、チャンク番号の付け替えとは、素材ファイルと完成ファイルとのチャンク番号が１：１で対応しておらず、映像処理の前後でチャンク番号の付け替えが必要なとき行われる。例えば、１０番目のチャンクの映像フレームを読み出して、映像処理を行った後、そのチャンクだけが含まれる完成ファイルを作成する場合が考えられる。この場合、例えば、同期パケット入出力手段８１１は、１番目のチャンクの要求に対して、チャンク番号を１０番に付け替える。
本実施形態では、素材ファイルと完成ファイルとの間で総チャンク数が同じため、素材ファイルと完成ファイルとのチャンク番号が１：１で対応しており、チャンク番号の付け替えでは何の処理も行わない（ステップＳ４４）。
【０２０２】
映像データ処理モジュール８１０は、同期パケット入出力手段８１１によって、制御用キュー６３２１に制御データを書き込む。また、同期パケット入出力手段８１１は、映像処理手段８１３を介して、制御用キュー６３２１に書き込んだチャンク番号をデータ入出力手段８１２に出力する。そして、データ入出力手段８１２は、書き込まれたチャンク番号を保持する（ステップＳ４５）。
【０２０３】
なお、ステップＳ４６，Ｓ４７の処理は、映像素材蓄積装置７００に同期パケットを送信する以外、図１８のステップＳ３５，Ｓ３６と同様のため、説明を省略する。
【０２０４】
［映像素材蓄積装置の動作：素材ファイルの読み込み］
図２０を参照して、映像素材蓄積装置７００が素材ファイルを読み込む動作について説明する（適宜図１１参照）。
なお、図２０では、送信モジュール３１０Ｂ及び制御用キュー６３２Ｂの図示を省略した。
また、図２０〜図２３では、映像フレーム（チャンク）を「データ」と図示した。
【０２０５】
送信モジュール３１０Ａ，３１０Ｂにおいて、ステップＳ５０〜Ｓ５２の処理は、映像処理装置８００Ａ，８００Ｂから同期パケットを受信する以外、図１９のステップＳ４０〜Ｓ４２と同様のため、説明を省略する。
【０２０６】
送信接続モジュール７２０は、同期バケット中継手段７２１によって、制御用キュー６３２Ａ，６３２Ｂに制御データが書き込まれたかを監視し、書き込まれた制御データを読み込む（ステップＳ５３）。
【０２０７】
送信接続モジュール７２０は、同期バケット中継手段７２１によって、読み込んだ制御データを制御用キュー６３２１に書き込む。また、同期バケット中継手段７２１は、書き込んだチャンク番号をデータ分配手段７２２に出力する。そして、データ分配手段７２２は、何れの送信モジュール３１０Ａ，３１０Ｂから何れのチャンク番号が要求されたか、送信モジュール３１０Ａ，３１０Ｂとチャンク番号との対応関係情報を保持する（ステップＳ５４）。
【０２０８】
映像データ入力モジュール７１０は、読み込み手段７１１によって、制御データを読み込む(ステップＳ５５)。また、読み込み手段７１１は、この制御データを参照して、蓄積手段２０１から要求されたチャンク番号の映像フレームを読み込む（ステップＳ５６）。本実施形態では、チャンク番号と映像フレーム番号とは１：１で対応しているため、同じ値になる。
【０２０９】
［映像素材蓄積装置の動作：素材ファイルの送信］
図２１を参照して、映像素材蓄積装置７００が素材ファイルを送信する動作について説明する（適宜図１１参照）。
【０２１０】
映像データ入力モジュール７１０は、読み込み手段７１１によって、読み込んだ映像フレームを映像データ用キュー６３１１に書き込む（ステップＳ６１）。
送信接続モジュール７２０は、データ分配手段７２２によって、映像データ用キュー６３１１から映像フレームを読み出す（ステップＳ６２）。
【０２１１】
送信接続モジュール７２０は、データ分配手段７２２によって、読み出した映像フレームを、同チャンク番号を要求した送信モジュール３１０Ａ，３１０Ｂに対応する映像データ用キュー６３１Ａ，６３１Ｂの一方に書き込む。つまり、データ分配手段７２２は、対応関係情報を参照して、この映像フレームを対応する映像データ用キュー６３１Ａ，６３１Ｂに分配して書き込む（ステップＳ６３，Ｓ６４）。
【０２１２】
送信モジュール３１０Ａは、データ入力手段３１３Ａによって、映像データ用キュー６３１Ａから映像フレームを読み込む（ステップＳ６５）。また、パケット送信手段３１４Ａは、映像データをパケット化して、映像処理装置８００Ａに送信する（ステップＳ６６）。
なお、送信モジュール３１０Ｂは、送信モジュール３１０Ａと同様にステップＳ６５，Ｓ６６の処理を行うため、説明を省略する。
【０２１３】
［映像処理装置の動作：加工済み素材ファイルの送信］
図２２を参照して、映像処理装置８００Ａが加工済み素材ファイルを送信する動作について説明する（適宜図１３参照）。
【０２１４】
受信モジュール２１０は、パケット受信手段２１４によって、映像素材蓄積装置７００からデータパケットを受信する。また、パケット受信手段２１４は、受信したデータパケットからチャンク番号３０４及びパケット番号３０５を抽出して、受信管理手段２１２に出力する。そして、受信管理手段２１２は、確認応答２０６が格納された同期パケットを生成する（ステップＳ７０）。
【０２１５】
受信モジュール２１０は、パケット受信手段２１４によって、映像データ用キュー６３１１に、受信したデータパケットのペイロード３０８を書き込む（ステップＳ７１）。
映像データ処理モジュール８１０は、データ入出力手段８１２によって、映像データ用キュー６３１１から映像フレームを読み込んで、映像処理手段８１３に出力する（ステップＳ７２）。
【０２１６】
映像データ処理モジュール８１０は、映像処理手段８１３によって、入力された映像フレームに予め設定された映像処理を施す(ステップＳ７３)。また、映像処理手段８１３は、データ入出力手段８１２を介して、加工された映像フレーム（素材ファイル）を映像データ用キュー６３１２に書き込む（ステップＳ７４）。
【０２１７】
なお、ステップＳ７５，Ｓ７６の処理は、完成映像出力装置９００にデータパケットを送信する以外、図２１のステップＳ６５，Ｓ６６と同様のため、説明を省略する。
【０２１８】
［完成映像出力装置の動作：完成ファイルの生成］
図２３を参照して、完成映像出力装置９００が完成ファイルを生成する動作について説明する（適宜図１４参照）。
【０２１９】
受信モジュール２１０Ａ，２１０Ｂにおいて、ステップＳ８０，Ｓ８１の処理は、映像処理装置８００Ａ，８００Ｂからデータパケットを受信する以外、図２２のステップＳ７０，Ｓ７１と同様のため、説明を省略する。
【０２２０】
受信接続モジュール９２０は、データ整列手段９２３によって、映像データ用キュー６３１Ａ，６３１Ｂから、映像フレームを読み込む（ステップＳ８２）。また、データ整列手段９２３は、対応関係情報を参照して、読み込んだ映像フレームを所定の順番（例えば、チャンク番号順）に整列させて（ステップＳ８３）、映像データ用キュー６３１１に書き込む（ステップＳ８４）。
【０２２１】
映像データ出力モジュール９１０は、書き込み手段９１２によって、映像データ用キュー６３１１から映像フレームを順番に読み込んで（ステップＳ８５）、蓄積手段２０１に書き込む（ステップＳ８６）。
【０２２２】
また、完成映像出力装置９００では、完成ファイルが完成したとき、以下の動作を行う。
映像データ出力モジュール９１０は、チャンク番号出力手段９１１によって、チャンク番号用キュー６３３１へ書き込んだ映像フレームが最後のチャンク番号であるか否かを判定する。最後のチャンク番号である場合、チャンク番号出力手段９１１は、最終チャンク番号を示す最終チャンク番号情報を書き込み手段９１２に出力する。
【０２２３】
書き込み手段９１２は、最終チャンク番号情報が入力され、この最終チャンク番号情報が示すチャンク番号の映像フレームを蓄積手段２０１に書きこんで、完成ファイルが完成したか否かを判定する。そして、書き込み手段９１２は、完成ファイルが完成したら、ステータス「完成ファイルの完成」を管理端末５００に送信する。
【０２２４】
［映像処理装置の動作：キュー報告］
また、タスクを実行中、各ワーカー端末６００は、バッファ監視手段６１１によって、映像データ用キュー６３１の状態を監視する。このとき、各映像データ用キュー６３１の状態は、キュー報告として管理端末５００に収集される。そして、管理端末５００は、ボトルネック対処条件の判定及びボトルネック改善処理の実行により、各ワーカー端末６００に処理負荷を調整して、タスクを最適な状態で実行する。
【０２２５】
その一例として、映像処理がボトルネックの原因となっている可能性が高い場合を考える。この場合、映像処理が含まれる転送フローの速度比（つまり、ボトルネックの原因となる映像処理を行っている映像処理装置の速度比）を低下させて、その転送フローへの要求頻度を低減することで、複数の映像処理装置８００の間で負荷を均等化する。
【０２２６】
ここで、説明を簡易にするため、映像処理装置８００のみがキュー報告を送信し、映像素材蓄積装置７００及び完成映像出力装置９００がキュー報告を送信しないこととする。なお、本発明では、他のワーカー端末６００が映像データ用キュー６３１を監視してもよいことは言うまでもない。
以下、キュー報告から、ボトルネック対処条件の判定を行って、ボトルネック改善処理の実行までを順に説明する。
【０２２７】
図２４を参照して、映像処理装置８００Ａにおけるキュー報告の前提として、完了フラグ６４２の更新と、チャンク蓄積領域６４４の削除について説明する（適宜図７，図１３参照）。
【０２２８】
受信モジュール２１０は、パケット受信手段２１４によって、受信したデータパケットのペイロード３０８を、映像データ用キュー６３１１に確保したチャンク蓄積領域６４４のデータ領域６４３に順次書き込む。そして、パケット受信手段２１４は、このチャンク蓄積領域６４４において、１チャンク分全てのペイロード３０８をデータ領域６４３に書き込んだ場合、書き込み完了として、完了フラグ６４２を完了に更新する。
【０２２９】
例えば、図７では、３個のペイロード３０８（未受信データ）がデータ領域６４３に書き込まれていないため、完了フラグ６４２が未完了のままである。そして、３６個、全てのペイロード３０８がデータ領域６４３に書き込まれると、書き込み完了となり、完了フラグ６４２が完了に更新される。
【０２３０】
映像データ処理モジュール８１０は、映像処理手段８１３によって、映像データ用キュー６３１１から、このチャンク蓄積領域６４４のデータ領域６４３を読み出す。そして、映像処理手段８１３は、このチャンク蓄積領域６４４を削除し（チャンク蓄積領域６４４の開放）、データ領域６４３に蓄積されている映像フレームに映像処理を行う。
【０２３１】
また、映像処理手段８１３は、映像データ用キュー６３１２において、チャンク蓄積領域６４４のデータ領域６４３に加工済みの映像フレームを書き込むと共に、その完了フラグ６４２を完了に更新する。
【０２３２】
送信モジュール３１０は、データ入力手段３１３によって、映像データ用キュー６３１２から、このチャンク蓄積領域６４４のデータ領域６４３を読み出したら、このチャンク蓄積領域６４４を削除する（チャンク蓄積領域６４４の開放）。その後、加工済みの映像フレームは、パケット送信手段３１４によってパケット化されて、データパケットとして完成映像出力装置９００に送信される。
【０２３３】
従って、映像処理装置８００Ａにおいて、映像処理前の映像データ用キュー６３１１の状態と、映像処理後の映像データ用キュー６３１２の状態とをバッファ監視手段６１１で監視することで、アプリケーションレベルでボトルネックの原因を推定できる。
【０２３４】
図２５を参照して、映像処理装置８００Ａがキュー報告を送信する動作について説明する（適宜図１３参照）。
バッファ監視手段６１１は、映像データ用キュー６３１１，６３１２が、予め設定されたキュー状態に陥ったか否か（キュー状態であるか否か）を監視する（ステップＳ９０）。そして、バッファ監視手段６１１は、映像データ用キュー６３１１，６３１２がこのキュー状態に陥ったか否かにより、キュー報告が必要であるか否かを判定する（ステップＳ９１）。
【０２３５】
ここで、キュー報告が必要でない場合（ステップＳ９１でＮｏ）、映像処理装置８００Ａは、ステップＳ９０の処理に戻る。
一方、キュー報告が必要な場合（ステップＳ９１でＹｅｓ）、映像処理装置８００Ａは、ステップＳ９２の処理に進む。
バッファ監視手段６１１は、ステータス送信手段５０５を介して、キュー報告を管理端末５００に送信する（ステップＳ９２）。
【０２３６】
このキュー報告は、映像データ用キュー６３１１，６３１２のキュー状態を示す情報であり、キュー報告を送信したワーカー端末６００の所在情報と、キュー状態を識別する情報とが含まれる。
【０２３７】
ここで、バッファ監視手段６１１は、取得したキューの全情報を管理端末５００に送信してもよいが、本実施形態では、映像データ用キュー６３１１，６３１２を監視して、以下で説明するキュー状態の何れかに陥ったときにキュー報告を送信することとした。
【０２３８】
＜映像処理能力余剰のキュー状態＞
この映像処理能力余剰のキュー状態（加工処理能力余剰のキュー状態）は、映像データ用キュー（処理前キュー）６３１１で完了フラグが完了であるチャンク蓄積領域６４４の数が予め設定された閾値ｔ１（例えば、５）よりも少なく、かつ、映像データ用キュー（処理後キュー）６３１２で完了フラグが完了であるチャンク蓄積領域の数が予め設定された閾値ｔ２（例えば、５）よりも少ない状態である。
【０２３９】
言い換えるなら、映像処理能力余剰のキュー状態は、映像データ用キュー６３１１でチャンク蓄積領域６４４を確保していて、完了フラグ６４２が完了であるチャンク数が閾値ｔ１よりも少なく、かつ、映像データ用キュー６３１２でチャンク蓄積領域６４４を確保していて、完了フラグ６４２が完了であるチャンク数が閾値ｔ２よりも少ない状態である。
この状態の場合、映像処理装置８００Ａにボトルネックは生じていないが、タスクの実行に映像処理装置８００を必要以上に使用しており、並列処理システム１全体で映像処理能力に余剰が生じていると推定できる。
【０２４０】
＜映像処理ボトルネックのキュー状態＞
映像処理ボトルネックのキュー状態（加工処理ボトルネックのキュー状態）は、映像データ用キュー（処理前キュー）６３１１で完了フラグが完了であるチャンク蓄積領域６４４の数が予め設定された閾値ｔ３（例えば、５０）よりも多く、かつ、映像データ用キュー（処理後キュー）６３１２で完了フラグが完了であるチャンク蓄積領域６４４の数が予め設定された閾値ｔ４（例えば、５）よりも少ない状態である。
【０２４１】
言い換えるなら、映像処理ボトルネックのキュー状態は、映像データ用キュー６３１１でチャンク蓄積領域６４４を確保していて、完了フラグ６４２が完了であるチャンク数が閾値ｔ３よりも多く、かつ、映像データ用キュー６３１２でチャンク蓄積領域６４４を確保していて、完了フラグ６４２が完了であるチャンク数が閾値ｔ４よりも少ない状態である。
この状態の場合、映像データ処理モジュール８１０がボトルネックの原因であると推定できる。
【０２４２】
＜映像素材蓄積装置−映像処理装置転送ボトルネックのキュー状態＞
映像素材蓄積装置−映像処理装置転送ボトルネックのキュー状態（素材蓄積装置−素材処理装置転送ボトルネックのキュー状態）は、映像データ用キュー（処理前キュー）６３１１でデータ領域６４３のデータサイズが零よりも多く、かつ、完了フラグ６４２が未完了であるチャンク蓄積領域６４４の数が、予め設定された閾値ｔ５（例えば、５）よりも多い状態である。
【０２４３】
言い換えるなら、映像素材蓄積装置−映像処理装置転送ボトルネックのキュー状態は、映像データ用キュー６３１１でチャンク蓄積領域６４４を確保していて、データサイズが零よりも多く、完了フラグ６４２が完了でないチャンク数が閾値ｔ５よりも多い状態である。
【０２４４】
前記したファイル転送技術でパケットロスが多発した場合、図２６に示すように、未受信のデータパケットがある影響で、映像データ用キュー６３１１内の各チャンク蓄積領域６４４に全てのデータが揃わない状態となる。このように、各チャンク蓄積領域６４４内でデータが欠ける場合、受信モジュール２１０ボトルネックの原因であると推定できる。
【０２４５】
＜映像処理装置−完成映像出力装置転送ボトルネックのキュー状態＞
映像処理装置−完成映像出力装置転送ボトルネックのキュー状態（素材処理装置−完成ファイル生成装置転送ボトルネックのキュー状態）は、映像データ用キュー（処理後キュー）６３１２におけるチャンク蓄積領域６４４の数が予め設定された閾値ｔ６（例えば、５）よりも少ない状態である。
【０２４６】
言い換えるなら、映像処理装置−完成映像出力装置転送ボトルネックのキュー状態は、映像データ用キュー６３１２で、確保しているチャンク蓄積領域６４４の数が閾値ｔ６よりも少ない状態である。
この状態の場合、送信モジュール３１０がボトルネックの原因であると推定できる。
【０２４７】
なお、前記したキュー状態は一例であり、例えば、映像データ用キュー６３１１の使用率と、映像データ用キュー６３１２の使用率とを比較することで、より正確な状態把握が可能となる。
【０２４８】
［管理端末の動作：ボトルネック改善処理］
図２７を参照して、管理端末５００でのボトルネック改善処理について説明する（適宜図２，図１５参照）。
【０２４９】
タスク実行手段５０２は、入力されたキュー報告に基づいて、キュー状態ごとに予め設定されたボトルネック対処条件を満たすか否かを判定する（ステップＳ１８０）。
【０２５０】
ここで、キュー報告が、以下で説明するボトルネック対処条件Ａ，Ｂ，Ｃ，Ｄの何れかを満たす場合（ステップＳ１８０でＹｅｓ）、タスク実行手段５０２は、ボトルネック対処条件Ａ〜Ｄに対応するボトルネック改善処理の実行要求（改善要求）を命令処理手段１０１に出力する（ステップＳ１８１）。
一方、ここで、キュー報告がボトルネック対処条件Ａ，Ｂ，Ｃ，Ｄの何れも満たさない場合（ステップＳ１８０でＮｏ）、タスク実行手段５０２は、ボトルネック改善処理を終了する。
【０２５１】
ここでは、説明を簡易にするため、タスク実行手段５０２は、前記した映像処理能力余剰のキュー状態、及び、映像処理ボトルネックのキュー状態を示すキュー報告のみを対象にすることとする。
さらに、異なるキュー状態を示すキュー報告を複数受信した場合、それらの関係性を考慮したボトルネック改善処理の変更も行わないこととする。
【０２５２】
＜ボトルネック対処条件Ａ＞
ボトルネック対処条件Ａ（第１のボトルネック対処条件）は、予め設定された判定時間内において、映像処理能力余剰のキュー状態を示すキュー報告（所定のキュー報告）を複数台の映像処理装置８００から受信したという条件である。
【０２５３】
＜ボトルネック対処条件Ｂ＞
ボトルネック対処条件Ｂ（第２のボトルネック対処条件）は、判定時間内において、映像処理ボトルネックのキュー状態を示すキュー報告（所定のキュー報告）を１台の映像処理装置８００から受信したという条件である。
【０２５４】
＜ボトルネック対処条件Ｃ＞
ボトルネック対処条件Ｃ（第３のボトルネック対処条件）は、判定時間内において、映像処理ボトルネックのキュー状態を示すキュー報告を複数台の映像処理装置８００から受信し、かつ、タスクを実行していない空きのワーカー端末６００がデータベース管理手段５０４のデータベースに存在するという条件である。
【０２５５】
＜ボトルネック対処条件Ｄ＞
ボトルネック対処条件Ｄ（第４のボトルネック対処条件）は、判定時間内において、映像処理ボトルネックのキュー状態を示すキュー報告を複数台の映像処理装置８００から受信し、かつ、空きのワーカー端末６００がデータベース管理手段５０４のデータベースに存在しないという条件である。
【０２５６】
なお、以上のような単純な判定ポリシーでは、処理ループが発生する場合がある。この場合、例えば、データベースの命令実行履歴を参照して、処理ループが発生したときにはボトルネック対処条件を変更する等の制御を行ってもよい。
【０２５７】
［管理端末の動作：ボトルネック改善処理の実行］
図２８を参照して、管理端末５００でのボトルネック改善処理の実行について説明する（適宜図２参照）。
本実施形態では、ボトルネック改善処理は、ボトルネック対処条件Ａ〜Ｄごとに予め設定されており、それぞれ、ボトルネック改善処理Ａ〜Ｄと呼ぶ。また、図２８では、ボトルネック改善処理Ａ〜Ｄを「処理Ａ〜Ｄ」と略記した。
【０２５８】
命令処理手段１０１は、入力された改善要求に基づいて、ボトルネック改善処理Ｂ，Ｄを実行するか否かを判定する（ステップＳ１８００）。
ここで、ボトルネック改善処理Ｂ，Ｄを実行する場合（ステップＳ１８００でＹｅｓ）、管理端末５００は、ステップＳ１８０１の処理に進む。
一方、ボトルネック改善処理Ｂ，Ｄを実行しない場合（ステップＳ１８００でＮｏ）、管理端末５００は、ステップＳ１８０２の処理に進む。
【０２５９】
ステップＳ１８０１の処理において、ボトルネック改善処理Ｂを実行する場合、命令処理手段１０１は、タスク実行手段５０２に速度比の再計算を命令する。
タスク実行手段５０２は、キュー報告を送信した映像処理装置８００の速度比を予め設定した割合（例えば、１０％）だけ低下させるように、映像処理装置８００ごとの速度比を再計算する。すなわち、タスク実行手段５０２は、キュー報告を送信した映像処理装置８００の転送フローから他の映像処理装置８００の転送フローヘ、前記した割合で加工処理量が割り振られるように、速度比を変更する。
【０２６０】
ステップＳ１８０１の処理において、ボトルネック改善処理Ｄを実行する場合、命令処理手段１０１は、タスク実行手段５０２に同期信号の周期の再計算を命令する。
タスク実行手段５０２は、タスクの目標速度が予め設定された量（例えば、１０％）だけ低下するように、同期信号の周期を再計算する。
その後、命令処理手段１０１は、タスク実行手段５０２が再計算した速度比又は同期信号の周期を完成映像出力装置９００に送信し（ステップＳ１８０１）、処理を終了する。
【０２６１】
命令処理手段１０１は、入力された改善要求に基づいて、ボトルネック改善処理Ｃを実行するか否かを判定する（ステップＳ１８０２）。
ここで、ボトルネック改善処理Ｃを実行する場合（ステップＳ１８０２でＹｅｓ）、管理端末５００は、ステップＳ１８０３の処理に進む。
一方、ボトルネック改善処理Ｃを実行しない場合（ステップＳ１８０２でＮｏ）、管理端末５００は、ステップＳ１８０５の処理に進む。
【０２６２】
命令処理手段１０１は、１台の空きのワーカー端末６００に対して、映像処理装置８００としてタスクを実行することを命令する。具体的には、命令処理手段１０１は、新たに追加する映像処理装置８００に対して、追加モジュール６２０の起動を命令する。さらに、命令処理手段１０１は、映像素材蓄積装置７００と、追加する映像処理装置８００と、完成映像出力装置９００との間に転送コネクションの確立を命令する（ステップＳ１８０３）。
【０２６３】
命令処理手段１０１は、タスク実行手段５０２に速度比の再計算を命令する。また、タスク実行手段５０２は、追加した映像処理装置８００を含めた、全ての映像処理装置８００で速度比が均等になるように、速度比を再計算する。そして、命令処理手段１０１は、タスク実行手段５０２が再計算した速度比を完成映像出力装置９００に送信し（ステップＳ１８０４）、処理を終了する。
【０２６４】
命令処理手段１０１は、入力された改善要求に基づいて、ボトルネック改善処理Ａを実行するか否かを判定する（ステップＳ１８０５）。
ここで、ボトルネック改善処理Ａを実行する場合（ステップＳ１８０５でＹｅｓ）、管理端末５００は、ステップＳ１８０６の処理に進む。
一方、ボトルネック改善処理Ａを実行しない場合（ステップＳ１８０５でＮｏ）、管理端末５００は、処理を終了する。
【０２６５】
命令処理手段１０１は、タスク実行手段５０２に速度比の再計算を命令する。この場合１台の映像処理装置８００をタスクから除外するため、タスク実行手段５０２は、この映像処理装置８００を除いた、残りの映像処理装置８００で速度比が均等になるように、速度比を再計算する。そして、命令処理手段１０１は、タスク実行手段５０２が再計算した速度比を完成映像出力装置９００に送信する（ステップＳ１８０６）、
【０２６６】
命令処理手段１０１は、タスクを実行する１台の映像処理装置８００に対して、タスクの終了を命令する。具体的には、命令処理手段１０１は、タスクから除外される映像処理装置８００に対して、追加モジュール６２０の終了を命令する。さらに、命令処理手段１０１は、映像素材蓄積装置７００と、タスクから除外される映像処理装置８００と、完成映像出力装置９００との間に転送コネクションの切断を命令し（ステップＳ１８０７）、処理を終了する。
【０２６７】
なお、タスクから除外される映像処理装置８００において、完了フラグが未完了であるチャンク蓄積領域６４４が映像データ用キュー６３１に残っている場合、命令処理手段１０１は、ボトルネック改善処理Ａを実行しなくともよい。
【０２６８】
［完成映像出力装置の動作：速度比、同期信号の周期の変更］
図２９を参照して、完成映像出力装置９００での速度比又は同期信号を変更する動作について説明する（適宜図１４参照）。
【０２６９】
命令実行手段２０２は、管理端末５００から速度比を受信したか否かを判定する（ステップＳ２００）。
ここで、速度比を受信した場合（ステップＳ２００でＹｅｓ）、管理端末５００は、ステップＳ２０１の処理に進む。
一方、速度比を受信していない場合（ステップＳ２００でＮｏ）、管理端末５００は、ステップＳ２０２の処理に進む。
【０２７０】
命令実行手段２０２は、受信した速度比を同期パケット分配手段９２２に出力する。また、同期パケット分配手段９２２は、この速度比に基づいて、制御用キュー６３２Ａ，６３２Ｂに制御データを分配して書き込み（ステップ Ｓ２０１）、ステップＳ２００の処理に戻る。
【０２７１】
命令実行手段２０２は、管理端末５００から同期信号の周期を受信したか否かを判定する（ステップＳ２０２）。
ここで、同期信号の周期を受信した場合（ステップＳ２０２でＹｅｓ）、管理端末５００は、ステップＳ２０３の処理に進む。
一方、同期信号の周期を受信していない場合（ステップＳ２０２でＮｏ）、管理端末５００は、ステップＳ２００の処理に戻る。
【０２７２】
命令実行手段２０２は、受信した同期信号の周期を同期信号生成手段９２１に出力する。また、同期信号生成手段９２１は、この同期信号の周期で同期信号を生成し、同期信号用キュー６３４１に書き込み（ステップＳ２０３）、ステップＳ２００の処理に戻る。
【０２７３】
図３０を参照して、並列処理システム１で速度比を変更したときの同期パケットの転送について説明する（適宜図１４参照）。
例えば、映像処理装置８００Ａ，８００Ｂがキュー報告を管理端末５００に送信した場合、管理端末５００は、映像処理装置８００Ａ，８００Ｂの速度比を再計算して完成映像出力装置９００に送信したこととする。
【０２７４】
完成映像出力装置９００は、再計算された速度比の割合で、映像処理装置８００Ａ，８００Ｂのそれぞれに同期パケットを送信して、加工済み素材ファイルを要求する。その後、映像処理装置８００Ａ，８００Ｂは、それぞれ、素材ファイルを映像素材蓄積装置７００に送信して、素材ファイルを要求する。
【０２７５】
このとき、完成映像出力装置９００では、要求の前に予めチャンク蓄積領域６４４を確保するため、映像データ用キュー６３１にオーバーフローが発生しない。また、要求チャンク番号２０５が確認応答２０６を送信する同期パケットに格納されるため、映像処理装置８００Ａ，８００Ｂそれぞれの処理量を指示する必要が無く、データ通信量を削減できる。さらに、空きの転送フローから順番に要求を行って、その順にどのチャンクを要求するか決定されるため、事前にどのチャンクをどの転送フローで転送するかを予め決定する必要がない。例えば、図３０の各装置で処理負荷が均等化されていて、ボトルネックが発生していない場合、要求した順に映像フレームが返送されてくる。
【０２７６】
以上のように、本発明の第１実施形態に係る並列処理システム１によれば、映像処理装置８００が映像データ用キュー６３１を監視して、ボトルネックの可能性があるときにキュー報告を送信する。そして、並列処理システム１によれば、管理端末５００が、このキュー報告に基づいてボトルネック対処条件を満たすか否かを判定し、このボトルネック対処条件を満たすとき、ボトルネック改善処理を実行して、映像処理装置８００の加工処理量（つまり、速度比）を変更する。従って、並列処理システム１によれば、ボトルネックの原因を判定するために測定用データの相互通信を行う必要がなく、少ないデータ通信量でボトルネックの原因を判定できると共に、処理装置の状態に応じて処理量を動的に分配できる。
【０２７７】
また、並列処理システム１によれば、映像処理装置８００が、映像データ用キュー６３１１，６３１２を介して、受信モジュール２１０及び送信モジュール３１０と映像データ処理モジュール８１０とが入出力を行うため、映像処理の変更が転送処理に影響を及ぼすことが無いと共に、並列化を考慮して映像処理を実装する必要がない。さらに、並列処理システム１によれば、既存の映像処理プログラムの入出力先を映像データ用キュー６３１１，６３１２に変更するだけで、既存の映像処理プログラムを流用することができる。従って、並列処理システム１によれば、製造コストを削減することができる。
【０２７８】
なお、管理端末５００での速度比算出規則は、映像処理装置８００で速度比を等分するものに限定されない。例えば、速度比算出規則は、各ワーカー端末６００のハードウェア性能やネットワークトポロジ、各ワーカー端末６００に命令した処理の履歴、処理速度の評価等の情報を考慮した規則としてもよい。
【０２７９】
なお、管理端末５００での装置選択規則は、空きのワーカー端末６００を順番に選択するものに限定されない。例えば、装置選択規則は、ラウンドロビンで選択する規則としてもよく、各ワーカー端末６００のハードウェア性能を考慮した規則としてもよい。
【０２８０】
なお、映像処理装置８００での映像処理（加工処理）は、トランスコーディングに限定されない。具体的には、映像処理装置８００は、映像処理として、例えば、映像ノイズ除去、カラーコレクション、ワイプ、ディゾルブ、スーパーインポーズを行うことができる。
【０２８１】
なお、映像ファイルのファイル形式は、ＭＸＦに限定されない。例えば、映像ファイルのファイル形式は、蓄積手段２０１から読み込む際、ランダムアクセスが可能で、フレーム単位又はＧＯＰ（Group Of Pictures）単位等の基準単位でデータを分割できるものであればよい。
【０２８２】
なお、フレーム間予測を行わずに符号化された映像ファイルを扱うため、１チャンクを１映像フレームとしたが、本発明は、これに限定されない。例えば、本発明は、同じＧＯＰ内のピクチャのみを参照できる、クローズドＧＯＰの映像ファイルを扱うことができる。この場合、並列処理システム１は、図３１に示すように、１チャンクを１ＧＯＰとして、映像データ用キュー６３１の読み書きを行うことで、クローズドＧＯＰの映像ファイルを扱うこともできる。
【０２８３】
なお、本実施形態では、１個のタスクを実行する例で説明したが、並列処理システム１は、複数のタスクを並行に実行することができる。このとき、管理端末５００は、同期信号の周期を制御することで、タスクに優先順位を設けることができる。つまり、複数のタスクを異なる同期信号の周期で実行すると、各タスクのデータが別々の速度で転送される。例えば、タスク１とタスク２との優先比率が４：６で、ネットワーク装置ＮＷの帯域が１００Ｍｂｐｓの場合を考える。この場合、タスク１だけなら１００Ｍｂｐｓの帯域を使用できるが、タスク２が加わると、タスク１が４０Ｍｂｐｓの帯域を使用し、タスク２が６０Ｍｂｐｓの帯域を使用する。その結果、タスク２の方が、タスク１よりも優先的に処理を行うことができる。
【０２８４】
なお、本実施形態では、並列処理システム１が２台の映像処理装置８００を備える例で説明したが、本発明は、これに限定されない。つまり、並列処理システム１は、３台以上の映像処理装置８００を備えてもよい。
【０２８５】
なお、本実施形態では、ワーカー端末６００が映像素材蓄積装置７００、映像処理装置８００又は完成映像出力装置９００の何れとしも動作できると説明したが、本発明は、これに限定されない。例えば、映像処理には蓄積手段２０１が不要のため、蓄積手段２０１が省略されたワーカー端末６００を用意して、映像処理装置専用のワーカー端末６００としてもよい。
【０２８６】
（変形例１）
なお、本実施形態では、１個の素材ファイルに映像処理を施して、１個の完成ファイルを生成する並列処理を説明したが、本発明は、これに限定されない。つまり、本発明は、受信側主導でデータを要求するため、複数の素材ファイルで同期が必要な映像処理（例えば、ワイプ処理）も容易に並列化することができる。
【０２８７】
図３２を参照して、本発明の変形例１に係る並列処理システム１Ａとして具体的に説明する。
並列処理システム１Ａは、図３２に示すように、２台の映像素材蓄積装置７００Ａ，７００Ｂと、２台の映像処理装置８００Ａ，８００Ｂと、１台の完成映像出力装置９００とを備える。
【０２８８】
ここで、並列処理システム１Ａにおいて、映像素材蓄積装置７００Ａ，７００Ｂに蓄積された素材ファイル１，２で同期を取り、映像処理を施して１個の完成ファイルを生成ずる並列処理を考える。この映像処理としては、素材ファイル１のフルサイズ映像に、素材ファイル２の縮小映像を埋め込むＰＩＰ（Picture In Picture）処理をあげることができる。
【０２８９】
例えば、映像処理装置８００Ａは、映像素材蓄積装置７００Ａから、素材ファイル１の１，３，６チャンク目の映像フレームを受信し、映像素材蓄積装置７００Bから、素材ファイル２の１，３，６チャンク目の映像フレームを受信したこととする。この場合、映像処理装置８００Ａは、素材ファイル１，２の１，３，６チャンク目にＰＩＰ処理を施して、３枚の映像フレームを完成映像出力装置９００に送信する。
【０２９０】
また、例えば、映像処理装置８００Ｂは、映像素材蓄積装置７００Ａから、素材ファイル１の２，４，５番目の映像フレームを受信し、映像素材蓄積装置７００Bから、素材ファイル２の２，４，５チャンク目の映像フレームを受信したこととする。この場合、映像処理装置８００Ｂは、素材ファイル１，２の２，４，５チャンク目にＰＩＰ処理を施して、３枚の映像フレームを完成映像出力装置９００に送信する。その後、完成映像出力装置９００は、映像処理装置８００Ａ，８００Ｂから受信した６枚の映像フレームをチャンク番号順に整列させ、完成ファイルを生成する。
なお、並列処理システム１Ａは、映像処理装置８００が２台のため、転送フローが２個である。
【０２９１】
（変形例２）
図３３を参照して、本発明の変形例２に係る並列処理システム１Ｂについて説明する。
図３３に示すように、並列処理システム１Ｂは、２台の映像素材蓄積装置７００Ａ，７００Ｂと、４台の映像処理装置８００Ａ〜８００Ｄと、１台の完成映像出力装置９００とを備える。
【０２９２】
この並列処理システム１Ｂは、分散ファイルシステムを採用したものであり、オリジナルの素材ファイルが映像素材蓄積装置７００Ａに蓄積され、素材ファイルのコピーが映像素材蓄積装置７００Ｂに蓄積されている。この場合、例えば、映像処理装置８００Ａ，８００Ｂが映像素材蓄積装置７００Ａに素材ファイルの前半部分を要求し、映像処理装置８００Ｃ，８００Ｄが映像素材蓄積装置７００Ｂに素材ファイルの後半部分を要求する。
【０２９３】
このように、並列処理システム１Ｂでは、複数の映像素材蓄積装置７００で送信する素材ファイルを分配できるため、ネットワーク構成、帯域、映像素材蓄積装置７００の性能に応じて、並列処理の高速化を図ることができる。
なお、並列処理システム１Ｂは、映像処理装置８００が４台のため、転送フローが４個である。
【０２９４】
（変形例３）
なお、本実施形態では、素材ファイルに１種類の映像処理を施すこととしたが、本発明は、これに限定されない。つまり、本発明は、素材ファイルに２種類以上の映像処理を施すこともできる。
【０２９５】
図３４を参照して、本発明の変形例３に係る並列処理システム１Ｃとして具体的に説明する。
図３４に示すように、並列処理システム１Ｃは、１台の映像素材蓄積装置７００と、４台の映像処理装置８００Ａ〜８００Ｄと、１台の完成映像出力装置９００とを備える。
【０２９６】
映像処理装置８００Ａ，８００Ｂは、それぞれ、映像素材蓄積装置７００から受信された素材ファイルにある映像処理（例えば、映像ノイズ除去）を施して、映像処理装置８００Ｃ，８００Ｄに送信する。
【０２９７】
映像処理装置８００Ｃ，８００Ｄは、それぞれ、映像処理装置８００Ａ，８００Ｂから受信された素材ファイルに別の映像処理（例えば、トランスコーディング）を施して、完成映像出力装置９００に送信する。
なお、並列処理システム１Ｂは、完成映像出力装置と転送を行う映像処理装置８００Ｃ，８００Ｄが２台のため、転送フローが２個である。
【０２９８】
（第２実施形態）
［映像素材蓄積装置：キュー報告］
図１１に戻り、本発明の第２実施形態に係る並列処理システム１（以後、「並列処理システム１Ｄ」と呼ぶ）について、第１実施形態と異なる点を説明する。
【０２９９】
並列処理システム１Ｄでは、映像処理装置８００だけでなく、映像素材蓄積装置７００及び完成映像出力装置９００がキュー報告をさらに送信する点が第１実施形態と大きく異なる。さらに、並列処理システム１Ｄでは、管理端末５００が、映像素材蓄積装置７００及び完成映像出力装置９００からのキュー報告に基づいて、ボトルネック対処条件の判定及びボトルネック改善処理を実行する点が、第１実施形態と大きく異なる。
【０３００】
図１１のバッファ監視手段６１１は、映像データ用キュー６３１１，６３１Ａ，６３１Ｂがキュー状態に陥ったか否かを監視し、以下で説明するキュー状態の何れかに陥ったときにキュー報告を生成する。
【０３０１】
＜読込処理ボトルネックのキュー状態＞
読込処理ボトルネックのキュー状態は、映像データ用キュー（処理前キュー）６３１１で完了フラグが未完了であるチャンク蓄積領域６４４の数が予め設定された閾値ｔ９（例えば、５）よりも多い状態である。
この状態の場合、映像データ入力モジュール７１０がボトルネックの原因であると推定できる。
【０３０２】
＜映像素材蓄積装置−映像処理装置転送ボトルネックのキュー状態＞
映像素材蓄積装置−映像処理装置転送ボトルネックのキュー状態（素材蓄積装置−素材処理装置転送ボトルネックのキュー状態）は、それぞれの映像データ用キュー（処理後キュー）６３１Ａ，６３１Ｂでチャンク蓄積領域６４４の数が予め設定された閾値ｔ１０（例えば、５）よりも少ない状態である。
この状態の場合、送信モジュール３１０Ａ，３１０Ｂがボトルネックの原因であると推定できる。
【０３０３】
ここで、映像データ用キュー６３１Ａが映像処理装置８００Ａに対応し、映像データ用キュー６３１Ｂが映像処理装置８００Ｂに対応する。従って、バッファ監視手段６１１は、映像処理装置８００Ａ，８００Ｂ何れの転送がボトルネックの原因があるかを判定すべく、映像データ用キュー６３１Ａ，６３１Ｂを個別に監視する。そして、キュー報告を生成する場合、バッファ監視手段６１１は、このキュー報告に映像処理装置８００Ａ，８００Ｂの所在情報を付加する。
【０３０４】
［完成映像出力装置：キュー報告］
図１４を参照して、完成映像出力装置９００でのキュー報告について説明する。
図１４のバッファ監視手段６１１は、映像データ用キュー６３１１，６３１Ａ，６３１Ｂがキュー状態に陥ったか否かを監視し、以下で説明するキュー状態の何れかに陥ったときにキュー報告を生成する。
【０３０５】
＜映像処理装置−完成映像出力装置転送ボトルネックのキュー状態＞
映像処理装置−完成映像出力装置転送ボトルネックのキュー状態（素材処理装置−完成ファイル生成装置転送ボトルネックのキュー状態）は、それぞれの映像データ用キュー（処理前キュー）６３１Ａ，６３１Ｂでデータ領域６４３のデータサイズが零よりも多く、かつ、完了フラグが未完了であるチャンク蓄積領域６４４の数が予め設定された閾値ｔ７（例えば、５）よりも多い状態である。
この状態の場合、受信モジュール２１０Ａ，２１０Ｂがボトルネックの原因であると推定できる。
【０３０６】
ここで、映像データ用キュー６３１Ａが映像処理装置８００Ａに対応し、映像データ用キュー６３１Ｂが映像処理装置８００Ｂに対応する。従って、バッファ監視手段６１１は、映像処理装置８００Ａ，８００Ｂ何れの転送がボトルネックの原因であるかを判定すべく、映像データ用キュー６３１Ａ，６３１Ｂを個別に監視する。そして、キュー報告を生成する場合、バッファ監視手段６１１は、このキュー報告に映像処理装置８００Ａ，８００Ｂの所在情報を付加する。
【０３０７】
＜書込処理ボトルネックのキュー状態＞
書込処理ボトルネックのキュー状態は、映像データ用キュー（処理後キュー）６３１１で完了フラグが完了であるチャンク蓄積領域６４４の数が予め設定された閾値ｔ８（例えば、５０）よりも多い状態である。
この状態の場合、映像データ出力モジュール９１０がボトルネックの原因であると推定できる。
【０３０８】
［管理端末：ボトルネック対処条件の判定及びボトルネック改善処理の実行］
図２に戻り、管理端末５００でのボトルネック対処条件の判定及びボトルネック改善処理の実行について説明する。
【０３０９】
タスク実行手段５０２は、映像素材蓄積装置７００及び完成映像出力装置９００からのキュー報告に基づいて、キュー状態ごとに予め設定されたボトルネック対処条件を満たすか否かを判定する。
【０３１０】
このキュー報告が、以下で説明するボトルネック対処条件Ｅ〜Ｈの何れかを満たす場合、タスク実行手段５０２は、ボトルネック対処条件Ｅ〜Ｈに対応するボトルネック改善処理Ｅ〜Ｈの実行要求を命令処理手段１０１に出力する。
【０３１１】
＜ボトルネック対処条件Ｅ＞
ボトルネック対処条件Ｅ（第５のボトルネック対処条件）は、判定時間内において、読込処理ボトルネックのキュー状態を示すキュー報告を映像素材蓄積装置７００から受信したという条件である。
【０３１２】
＜ボトルネック対処条件Ｆ＞
ボトルネック対処条件Ｆ（第６のボトルネック対処条件）は、判定時間内において、映像素材蓄積装置７００及び映像処理装置８００の両方から、映像素材蓄積装置−映像処理装置転送ボトルネックのキュー状態を示すキュー報告を受信したという条件である。
【０３１３】
この条件では、映像処理装置８００Ａ，８００Ｂ何れの転送がボトルネックの原因であるかを判定すべく、映像処理装置８００Ａ，８００Ｂ何れからキュー報告を受信したか区別する。すなわち、タスク実行手段５０２は、キュー報告に付加された所在情報を参照して、映像素材蓄積装置７００と映像処理装置８００Ａとからキュー報告を受信したか、又は、映像素材蓄積装置７００と映像処理装置８００Ｂとからキュー報告を受信したのかを区別する。
【０３１４】
＜ボトルネック対処条件Ｇ＞
ボトルネック対処条件Ｇ（第７のボトルネック対処条件）は、判定時間内において、映像処理装置８００及び完成映像出力装置９００の両方から、映像処理装置−完成映像出力装置転送ボトルネックのキュー状態を示すキュー報告を受信したという条件である。
【０３１５】
この条件では、映像処理装置８００Ａ，８００Ｂ何れの転送がボトルネックの原因であるかを判定すべく、映像処理装置８００Ａ，８００Ｂ何れからキュー報告を受信したか区別する。すなわち、タスク実行手段５０２は、キュー報告に付加された所在情報を参照して、完成映像出力装置９００と映像処理装置８００Ａとからキュー報告を受信したか、又は、完成映像出力装置９００と映像処理装置８００Ｂとからキュー報告を受信したのかを区別する。
【０３１６】
＜ボトルネック対処条件Ｈ＞
ボトルネック対処条件Ｈ（第８のボトルネック対処条件）は、判定時間内において、書込処理ボトルネックのキュー状態を示すキュー報告を完成映像出力装置９００から受信したという条件である。
【０３１７】
図２の命令処理手段１０１は、入力された改善要求に基づいて、ボトルネック改善処理Ｅ〜Ｈの何れを実行するか否かを判定する。
なお、ボトルネック対処条件Ｆ，Ｇは、ボトルネック改善処理Ｂと同様のため、説明を省略する。
【０３１８】
ボトルネック改善処理Ｅを実行する場合、命令処理手段１０１は、１台の空きのワーカー端末６００に対して、映像素材蓄積装置７００としてタスクを実行することを命令する。具体的には、命令処理手段１０１は、新たに追加する映像素材蓄積装置７００に対して、追加モジュール６２０の起動を命令する。さらに、命令処理手段１０１は、追加する映像素材蓄積装置７００と、映像処理装置８００と、完成映像出力装置９００との間に転送コネクションの確立を命令する。
【０３１９】
ボトルネック改善処理Ｈを実行する場合、命令処理手段１０１は、完成ファイルをより高速な蓄積手段２０１に蓄積すべき通知を、ステータス「蓄積手段の高速化」として、データベース管理手段５０４に出力する。この場合、データベース管理手段５０４は、入力されたステータス「蓄積手段の高速化」をステータス送信手段５０５に出力する。そして、ステータス送信手段５０５は、データベース管理手段５０４からステータス「蓄積手段の高速化」が入力され、このステータスをクライアント端末４００に出力する。その後、クライアント端末４００がステータス「蓄積手段の高速化」を提示することで、オペレータは、例えば、完成映像出力装置９００の蓄積手段２０１を高速なものに交換するといった作業を行うことができる。
【０３２０】
以上のように、本発明の第２実施形態に係る並列処理システム１Ｄによれば、第１実施形態と同様の効果に加え、映像素材蓄積装置７００及び完成映像出力装置９００でのボトルネックを改善することができ、並列処理システム１Ｄの信頼性をより向上させることができる。
【符号の説明】
【０３２１】
１，１Ａ，１Ｂ，１Ｃ  並列処理システム
１０１  命令処理手段（命令手段）
２０１  蓄積手段（素材ファイル蓄積手段）
２０２  命令実行手段（命令受信手段）
２１３，２１３Ａ，２１３Ｂ  同期パケット送信手段（要求手段）
２１４，２１４Ａ，２１４Ｂ  パケット受信手段（素材ファイル受信手段）
３１４，３１４Ａ，３１４Ｂ  パケット送信手段（送信手段）
５００  管理端末（管理装置）
５０１  タスク受信手段
５０２  タスク実行手段
５０３  ステータス受信手段（キュー報告受信手段）
５０５  ステータス送信手段（キュー報告送信手段）
６００  ワーカー端末（処理装置）
６１１  バッファ監視手段（キュー監視手段）
６３１，６３１１，６３１Ａ，６３１Ｂ  映像データ用キュー（処理前キュー、処理後キュー）
７００，７００Ａ，７００Ｂ  映像素材蓄積装置（素材蓄積装置）
７１１  素材ファイル読み込み手段（読み込み手段）
７２２  データ分配手段（分配手段）
８００，８００Ａ，８００Ｂ，８００Ｃ，８００Ｄ  映像処理装置（素材処理装置）
８１３  映像処理手段（加工処理手段）
９００  完成映像出力装置（完成ファイル生成装置）
９２２  同期パケット分配手段（分配手段）
９２３  データ整列手段（整列手段）
【図１】
0005702682.tif 000002
【図２】
0005702682.tif 000003
【図３】
0005702682.tif 000004
【図４】
0005702682.tif 000005
【図５】
0005702682.tif 000006
【図６】
0005702682.tif 000007
【図７】
0005702682.tif 000008
【図８】
0005702682.tif 000009
【図９】
0005702682.tif 000010
【図１０】
0005702682.tif 000011
【図１１】
0005702682.tif 000012
【図１２】
0005702682.tif 000013
【図１３】
0005702682.tif 000014
【図１４】
0005702682.tif 000015
【図１５】
0005702682.tif 000016
【図１６】
0005702682.tif 000017
【図１７】
0005702682.tif 000018
【図１８】
0005702682.tif 000019
【図１９】
0005702682.tif 000020
【図２０】
0005702682.tif 000021
【図２１】
0005702682.tif 000022
【図２２】
0005702682.tif 000023
【図２３】
0005702682.tif 000024
【図２４】
0005702682.tif 000025
【図２５】
0005702682.tif 000026
【図２６】
0005702682.tif 000027
【図２７】
0005702682.tif 000028
【図２８】
0005702682.tif 000029
【図２９】
0005702682.tif 000030
【図３０】
0005702682.tif 000031
【図３１】
0005702682.tif 000032
【図３２】
0005702682.tif 000033
【図３３】
0005702682.tif 000034
【図３４】
0005702682.tif 000035