(57)【要約】【課題】簡易な設定で様々な処理に対応可能な分散処理技術を提供する。【解決手段】Ｍａｓｔｅｒ機能部１２がジョブの実行に必要な情報を設定ファイル１６から読み出し、設定ファイル１６から読み出した外部コマンドの情報に基づいてジョブに応じた処理をＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに依頼し、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎのコマンド実行部２１が外部コマンドをコマンド処理部３を呼び出して実行させる。これにより、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎに特定のプログラムを組み込むことなく、ジョブに対応する外部コマンドの情報を設定ファイル１６に記載し、コマンド処理部３上でその外部コマンドを実行させるだけで、所望のジョブを分散処理を行いつつ実行させることが可能となる。また、設定ファイル１６の記載を変更するだけで処理内容を変更することができる。【選択図】図１
2014153982.tif 000002
【特許請求の範囲】
【請求項１】
管理装置と複数の処理装置を備え、前記管理装置が受け付けたジョブに対応する処理を前記複数の処理装置それぞれに分割して割り当ててジョブを実行する分散処理システムであって、
前記管理装置は、
ジョブに応じて必要な外部コマンドの情報を記載した設定ファイルと、
受け付けたジョブに応じた外部コマンドの情報を前記設定ファイルから取得するコマンド取得手段と、
前記外部コマンドの情報を前記処理装置に送信して処理を割り当てる割当手段と、を有し、
前記処理装置は、
前記外部コマンドの情報を受信し、当該外部コマンドの情報が示す外部コマンドを外部の処理手段に実行させて結果を受信する実行手段を有すること
を特徴とする分散処理システム。
【請求項２】
前記管理装置は、
受け付けたジョブを一時的に保持するキューを有し、
前記コマンド取得手段は、前記処理装置が処理可能な場合に、前記キューからジョブを取得することを特徴とする請求項１記載の分散処理システム。
【請求項３】
前記割当手段は、前記複数の処理装置毎に異なる処理を割り当てることを特徴とする請求項１又は２記載の分散処理システム。
【請求項４】
受け付けたジョブに対応する処理を分割して実行する分散処理装置であって、
ジョブに応じて必要な外部コマンドの情報を記載した設定ファイルと、
受け付けたジョブに応じた外部コマンドの情報を前記設定ファイルから取得するコマンド取得手段と、
前記外部コマンドの情報を送信して処理を割り当てる割当手段と、
前記外部コマンドの情報を受信し、当該外部コマンドの情報が示す外部コマンドを外部の処理手段に実行させて結果を受信する複数の実行手段と、
を有することを特徴とする分散処理装置。
【請求項５】
受け付けたジョブに対応する処理を分割して実行する分散処理プログラムであって、
受け付けたジョブに応じた外部コマンドの情報をジョブに応じて必要な外部コマンドの情報を記載した設定ファイルから取得する処理と、
前記外部コマンドの情報を送信して処理を割り当てる処理と、
前記外部コマンドの情報を受信し、当該外部コマンドの情報が示す外部コマンドを外部の処理手段に実行させて結果を受信する処理と、をコンピュータに実行させ、
前記外部コマンドを外部の処理手段に実行させて結果を受信する処理を並列して実行させることを特徴とする分散処理プログラム。
【請求項６】
受け付けたジョブに対応する処理を分割して実行する分散処理方法であって、
受け付けたジョブに応じた外部コマンドの情報をジョブに応じて必要な外部コマンドの情報を記載した設定ファイルから取得するステップと、
前記外部コマンドの情報を送信して処理を割り当てるステップと、
前記外部コマンドの情報を受信し、当該外部コマンドの情報が示す外部コマンドを外部の処理手段に実行させて結果を受信するステップと、を有し、
前記外部コマンドを外部の処理手段に実行させて結果を受信するステップは並列して実行させることを特徴とする分散処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理技術に関する。
【背景技術】
【０００２】
近年、大規模データを解析して利用することが重要視されている。大規模データを解析するにあたっては高速での処理が求められるため、いかに大規模データを早く処理するかが課題となっている。この課題を解決するため、ＨａｄｏｏｐやＪｕｂａｔｕｓといった分散処理技術が知られている（非特許文献１，２参照）。
【０００３】
従来の大規模データの分散処理システムは、Ｍａｓｔｅｒ機能部と複数のＷｏｒｋｅｒ機能部を有し、Ｍａｓｔｅｒ機能部が依頼されたジョブを複数の処理に分割してＷｏｒｋｅｒ機能部それぞれにデータ処理を割り当て、Ｗｏｒｋｅｒ機能部それぞれが割り当てられたデータ処理を実行して結果を返却することで、大規模データを高速に処理していた。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Welcome to Apache Hadoop!”,  [online], The Apache Software Foundation, [平成24年12月20日検索], インターネット〈 URL：http://hadoop.apache.org/〉
【非特許文献２】“Jubatus : Distributed Online Machine Learning Framework - Jubatus -”,  [online], PFI & NTT, [平成24年12月20日検索], インターネット〈 URL：http://jubat.us/〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の分散処理技術では、Ｗｏｒｋｅｒ機能部におけるデータ処理を高速に行うため、Ｗｏｒｋｅｒ機能部に目的のデータ処理に特化した特定のプログラムを組み込んで実行させていた。そのため、大規模データに対してデータ処理を高速に行うという点において優れていた。
【０００６】
しかしながら、分散処理システムを利用して様々なデータ処理を行いたいというニーズに対しては、Ｍａｓｔｅｒ機能部やＷｏｒｋｅｒ機能部にニーズに合った特定のプログラムを組み込む必要があり、汎用的な利用は困難であるという問題があった。例えば、ＯＳ上にインストールされた既存のプログラムを実行したい場合、そのプログラムと同じ機能をＷｏｒｋｅｒ機能部に組み込む必要がある。
【０００７】
本発明は、上記に鑑みてなされたものであり、簡易な設定で様々な処理に対応可能な分散処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の本発明に係る分散処理システムは、管理装置と複数の処理装置を備え、前記管理装置が受け付けたジョブに対応する処理を前記複数の処理装置それぞれに分割して割り当ててジョブを実行する分散処理システムであって、前記管理装置は、ジョブに応じて必要な外部コマンドの情報を記載した設定ファイルと、受け付けたジョブに応じた外部コマンドの情報を前記設定ファイルから取得するコマンド取得手段と、前記外部コマンドの情報を前記処理装置に送信して処理を割り当てる割当手段と、を有し、前記処理装置は、前記外部コマンドの情報を受信し、当該外部コマンドの情報が示す外部コマンドを外部の処理手段に実行させて結果を受信する実行手段を有することを特徴とする。
【０００９】
上記分散処理システムにおいて、前記管理装置は、受信したジョブを一時的に保持するキューを有し、前記コマンド取得手段は、前記処理装置が処理可能な場合に、前記キューからジョブを取得することを特徴とする。
【００１０】
上記分散処理システムにおいて、前記割当手段は、前記複数の処理装置毎に異なる処理を割り当てることを特徴とする。
【００１１】
第２の本発明に係る分散処理装置は、受け付けたジョブに対応する処理を分割して実行する分散処理装置であって、ジョブに応じて必要な外部コマンドの情報を記載した設定ファイルと、受け付けたジョブに応じた外部コマンドの情報を前記設定ファイルから取得するコマンド取得手段と、前記外部コマンドの情報を送信して処理を割り当てる割当手段と、前記外部コマンドの情報を受信し、当該外部コマンドの情報が示す外部コマンドを外部の処理手段に実行させて結果を受信する複数の実行手段と、を有することを特徴とする。
【００１２】
第３の本発明に係る分散処理プログラムは、受け付けたジョブに対応する処理を分割して実行する分散処理プログラムであって、受け付けたジョブに応じた外部コマンドの情報をジョブに応じて必要な外部コマンドの情報を記載した設定ファイルから取得する処理と、前記外部コマンドの情報を送信して処理を割り当てる処理と、前記外部コマンドの情報を受信し、当該外部コマンドの情報が示す外部コマンドを外部の処理手段に実行させて結果を受信する処理と、をコンピュータに実行させ、前記外部コマンドを外部の処理手段に実行させて結果を受信する処理を並列して実行させることを特徴とする。
【００１３】
第４の本発明に係る分散処理方法は、受け付けたジョブに対応する処理を分割して実行する分散処理方法であって、受け付けたジョブに応じた外部コマンドの情報をジョブに応じて必要な外部コマンドの情報を記載した設定ファイルから取得するステップと、前記外部コマンドの情報を送信して処理を割り当てるステップと、前記外部コマンドの情報を受信し、当該外部コマンドの情報が示す外部コマンドを外部の処理手段に実行させて結果を受信するステップと、を有し、前記外部コマンドを外部の処理手段に実行させて結果を受信するステップは並列して実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、簡易な設定で様々な処理に対応可能な分散処理技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態における分散処理装置の構成を示す機能ブロック図である。
【図２】分散処理装置がジョブを入力したときの処理の流れを示すフローチャートである。
【図３】分散処理装置がジョブを実行するときの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を用いて説明する。
【００１７】
図１は、本実施の形態における分散処理装置の構成を示す機能ブロック図である。図１に示す分散処理装置は、入力部１１、Ｍａｓｔｅｒ機能部１２、データ取得部１３、出力部１４、キューＤＢ１５、設定ファイル１６、および複数のＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎを有する。分散処理装置１が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは分散処理装置１が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。なお、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎを複数サーバで動作させてもよいし、１サーバ内で動作させてもよい。１サーバ内で動作させる場合、複数のＣＰＵコアに分散させる。いずれの場合でも、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎにおける処理は並列して実行される。なお、Ｗｏｒｋｅｒ機能部の数Ｎはシステム利用者が決定する（例えば、サーバ台数やＣＰＵコア数をＮとする）。以下、本実施の形態における分散処理装置１の各部について説明する。
【００１８】
入力部１１は、処理要求（ジョブ）を受け付けてＭａｓｔｅｒ機能部１２に送信する。ジョブは、例えば、http://〜/exec/image?img=○○○などの処理内容（image）と処理対象（○○○）を示す文字列で入力される。
【００１９】
Ｍａｓｔｅｒ機能部１２は、入力部１１からジョブを受信してキューＤＢ１５に格納し、格納した結果を出力部１４に要求受付結果として送信する。また、Ｍａｓｔｅｒ機能部１２は、キューＤＢ１５からジョブを取得し、ジョブの実行に必要な情報を設定ファイル１６から読み出して、ジョブに応じた処理をＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに依頼する。Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎへの処理の依頼および実行結果の受信は、Ｍａｓｔｅｒ機能部１２が備える実行連携部１２１が行う。Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎから返却された実行結果及び実行結果状態は、Ｍａｓｔｅｒ機能部１２が出力部１４へ送信する。
【００２０】
データ取得部１３は、ネットワーク１００上にある処理データ（大規模データの全体または一部）を取得し、Ｍａｓｔｅｒ機能部１２に送信する。データ取得部１３が取得した処理データは、必要であればＭａｓｔｅｒ機能部１２により分割され、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎに送信される。
【００２１】
出力部１４は、Ｍａｓｔｅｒ機能部１２から受信した要求受付結果を出力する。また、Ｍａｓｔｅｒ機能部１２から受信した実行結果及び実行結果状態を要求処理結果として出力する。
【００２２】
キューＤＢ１５は、実行されていないジョブを格納する。
【００２３】
設定ファイル１６には、ジョブに応じて必要な外部コマンドの情報（外部コマンド名とそのインストール場所）および外部コマンドを実行するために必要な設定情報などが記載されている。例えば、ジョブ名、ジョブの処理内容を示す文字列、外部コマンドの情報などの組みが記載される。
【００２４】
Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎは、コマンド実行部２１を備え、実行連携部１２１から依頼された処理をコマンド実行部２１を用いて実行し、コマンド実行部２１から実行結果及び実行結果状態を取得して実行連携部１２１に返却する。コマンド実行部２１は、実行連携部１２１から受信した外部コマンドの情報及び設定情報を利用してコマンド処理部３を呼び出し、外部コマンドを実行させる。
【００２５】
コマンド処理部３は、コマンド実行部２１により指定された外部コマンドを実行して結果を返却する。例えば、コマンド処理部３は本分散処理装置１のＯＳであり、外部コマンドは、そのＯＳ上にインストールされたＯＳ上で実行可能なプログラムである。ＯＳ上で実行可能なプログラムは外部コマンドとして全て利用できる。Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎを複数サーバでそれぞれ動作させる場合は、複数サーバそれぞれのＯＳ上にインストールされたプログラムを外部コマンドとして呼び出す。
【００２６】
次に、本実施の形態における分散処理装置の動作について説明する。
【００２７】
まず、ジョブの登録について説明する。図２は、分散処理装置がジョブを入力したときの処理の流れを示すフローチャートである。
【００２８】
入力部１１は、ジョブを受け付けると、Ｍａｓｔｅｒ機能部１２へ受け付けたジョブを送信する（ステップＳ１１）。
【００２９】
Ｍａｓｔｅｒ機能部１２は、入力部１１から受信したジョブがキューＤＢ１５に登録可能であるか否かキューＤＢ１５に問い合わせる（ステップＳ１２）。
【００３０】
ジョブがキューＤＢ１５に登録可能である場合（ステップＳ１２のＹｅｓ）、ジョブをキューＤＢ１５に格納し（ステップＳ１３）、出力部１４から要求受付結果としてジョブを受け付けた旨のメッセージを送信する（ステップＳ１４）。
【００３１】
一方、ジョブがキューＤＢ１５に登録できない場合（ステップＳ１２のＮｏ）、出力部１４から要求受付結果としてキューＤＢ１５が一杯である旨のメッセージを送信する（ステップＳ１５）。
【００３２】
以上の処理により、ジョブがキューＤＢ１５に格納され、要求受付結果が返却される。ジョブをキューＤＢ１５に格納し、ジュブの実行完了を待たずに要求受付結果を返却する非同期処理を行うことにより、ジョブの格納が完了すれば次のジョブの受付が可能となるので、大量のジョブをバックグラウンドで利用する用途に適している。
【００３３】
続いて、ジョブの実行について説明する。図３は、分散処理装置がジョブを実行するときの処理の流れを示すフローチャートである。ジョブを実行する処理は、ジョブを受け付ける処理と並行して実行されている。
【００３４】
Ｍａｓｔｅｒ機能部１２は、キューＤＢ１５を監視し、キューＤＢ１５にジョブが存在するか否か確認する（ステップＳ２１）。キューＤＢ１５にジョブが存在しない場合は処理を終了する（ステップＳ２１のＮｏ）。
【００３５】
キューＤＢ１５にジョブが存在する場合（ステップＳ２１のＹｅｓ）、Ｍａｓｔｅｒ機能部１２は、キューＤＢ１５に格納された古い順でジョブを一つ取り出す（ステップＳ２２）。
【００３６】
そして、ジョブ待ち状態のＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎが存在するか否か調べて（ステップＳ２３）、ジョブ待ち状態のＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎが存在しない場合は（ステップＳ２３のＮｏ）、一定時間待ってからステップＳ２３に戻り（ステップＳ２４）、ジョブ待ち状態のＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎの存在を確認する。
【００３７】
ジョブ待ち状態のＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎが存在する場合（ステップＳ２３のＹｅｓ）、Ｍａｓｔｅｒ機能部１２は、データ取得部１３を介してネットワーク１００上の処理データを取得するとともに、取り出したジョブに対応する外部コマンドの情報およびその設定情報を設定ファイル１６から取得する（ステップＳ２５）。
【００３８】
そして、外部コマンドの情報、設定情報、および処理データをジョブ待ち状態のＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに送信して処理の実行を依頼する（ステップＳ２６）。必要であれば処理データを分割してＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎへ送信する。
【００３９】
Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎからジョブ実行結果が返されて（ステップＳ２７のＹｅｓ）、実行結果状態が正常終了の場合は（ステップＳ２８のＹｅｓ）、要求処理結果を出力部１４から出力する（ステップＳ２９）。分割して処理された実行結果はＭａｓｔｅｒ機能部１２が統合する。
【００４０】
一方、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎからジョブ実行結果が返されてないか（ステップＳ２７のＮｏ）、実行結果状態がエラー終了の場合は（ステップＳ２８のＮｏ）、処理エラーを示す要求処理結果を出力部１４から出力する（ステップＳ３０）。何らかの理由でＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎから実行結果及び実行結果状態が通知されない場合、Ｍａｓｔｅｒ機能部１２は、一定時間経っても結果が得られないものに関して処理エラーと判定する。
【００４１】
以上の処理により、キューＤＢ１５に格納されたジョブが取り出されて、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎにおいて分散処理される。例えば、複数のデータに対する処理を行うジョブがキューＤＢ１５に格納されている場合、複数のデータの中からデータを１つづつ選択し、選択したデータぞれぞれに対する処理をＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに分散して行わせる。Ｍａｓｔｅｒ機能部１２がＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎの状態をリアルタイムに監視することで、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎの過負荷状態を避けつつ、ジョブ待ち状態を少なくすることが可能となり、効率良くジョブを実行することができる。また、Ｍａｓｔｅｒ機能部１２は、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎの処理状態だけでなく処理速度等も監視してもよい。それにより、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎの処理能力に応じて処理データを調整することも可能である。
【００４２】
なお、キューＤＢ１５に格納されるジョブに優先度を設定し、Ｍａｓｔｅｒ機能部１２が優先度の高い順にキューＤＢ１５からジョブを取り出してもよい。さらに、優先度と登録時間を組み合わせて、優先度が高く、かつ古い順にジョブを取り出してもよい。
【００４３】
続いて、Ｗｏｒｋｅｒ機能部の処理について説明する。
【００４４】
Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎのコマンド実行部２１は、Ｍａｓｔｅｒ機能部１２から受信した外部コマンドの情報で示された外部コマンドを外部呼出しすることで処理データに対する処理を実行する。外部呼出しとは、コマンド処理部３に外部コマンドを実行させることを表し、例えば、ＯＳ上にインストールされたプログラムに設定情報、処理データを渡して実行することである。コマンド処理部３に外部コマンドを実行させることで、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎ自身に特定のプログラムを組み込んで処理を行う必要がなくなり、分散処理装置において汎用的な外部コマンドによる処理が利用できる。処理内容を変える場合は、設定ファイル１６に外部コマンドの情報及び設定情報を登録するだけで対応可能である。また、処理データを変更することで、従来技術と同様に別の処理データに対して同じ処理を行うことも可能である。
【００４５】
コマンド実行部２１は、外部呼出し後に返却された実行結果と実行結果状態をＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに通知する。Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎは、通知された実行結果と実行結果状態を実行連携部１２１に送信する。その後、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎはジョブ待ち状態となり、実行連携部１２１から新たな処理の依頼を受け付ける。
【００４６】
ＯＳ上で実行されるプログラムが返却する実行結果状態は、一般的に、処理が正常に終了した場合は特定の番号（例えば０）を返却し、エラー終了した場合は特定の番号以外を返却する一定のルールが存在する。本実施の形態では、このルールを利用して返却された番号に基づいて実行結果状態を判断する。これにより実行連携部１２１の処理を単純化でき、分散処理の汎用化を行うことができる。
【００４７】
分散処理は、全てのＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに同じ処理をさせてもよいし、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎ毎に異なる処理をさせてもよい。例えば、動画のトランスコード変換を行うジョブの場合、１つの動画をＸ等分してＮ個のＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎにトランスコード処理させる。あるいは、動画を映像と音声に分けて、Ｎ−１個のＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎ−１に映像を処理させ、１個のＷｏｒｋｅｒ機能部２−Ｎに音声を処理させてもよい。Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎ毎に異なる処理をさせる場合、処理の割り当てを設定ファイル１６に記載してもよい。この場合、Ｍａｓｔｅｒ機能部１２がジョブをキューＤＢ１５から取り出した際、設定ファイル１６を参照して処理を割り当てるＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎを決定する。例えば、動画を映像と音声に分けてトランスコード変換を行う場合、Ｗｏｒｋｅｒ機能部２−１に映像と音声を分離する処理、Ｗｏｒｋｅｒ機能部２−２，・・・，２−Ｎ−１に映像を変換する処理、Ｗｏｒｋｅｒ機能部２−Ｎに音声を変換する処理を割り当てると記載することで、実行連携部１２１がＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに決められた各処理を割り当てることが可能となる。
【００４８】
処理を割り当てるとき、Ｍａｓｔｅｒ機能部１２がＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎの処理能力等を管理しておき、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎの処理能力に応じてジョブを分割して処理を依頼してもよい。例えば、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎの処理能力に応じて依頼する処理データの量を調整する。
【００４９】
また、設定ファイル１６にＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎ毎の呼び出せる外部コマンド一覧を記載しておき、Ｍａｓｔｅｒ機能部１２は、その外部コマンド一覧に基づいてＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに処理を割り当ててもよい。
【００５０】
なお、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎに割り当てた全ての処理が完了した後は、Ｍａｓｔｅｒ機能部１２が実行結果、例えば処理後の動画、映像や音声を結合し、出力部１４から要求処理結果を出力する。
【００５１】
以上説明したように、本実施の形態によれば、Ｍａｓｔｅｒ機能部１２がジョブの実行に必要な情報を設定ファイル１６から読み出し、設定ファイル１６から読み出した外部コマンドの情報に基づいてジョブに応じた処理をＷｏｒｋｅｒ機能部２−１，・・・，２−Ｎに依頼し、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎのコマンド実行部２１が外部コマンドをコマンド処理部３を呼び出して実行させることにより、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎに特定のプログラムを組み込むことなく、ジョブに対応する外部コマンドの情報を設定ファイル１６に記載し、コマンド処理部３上でその外部コマンドを実行させるだけで、所望のジョブを分散処理を行いつつ実行させることが可能となる。また、設定ファイル１６の記載を変更するだけで処理内容を変更することができる。このように、Ｗｏｒｋｅｒ機能部２−１，・・・，２−Ｎに特定のプログラムを組み込まずジョブに応じた外部プログラムを利用するので、１つの分散処理装置に様々なデータ処理を行わせる場合に特に効果的である。
【００５２】
本実施の形態によれば、Ｍａｓｔｅｒ機能部１２が受信したジョブをキューＤＢ１５に登録して要求受付結果をすぐに返却し、キューＤＢ１５から古い順にジョブを取得する非同期処理を行うことにより、大量データをバックグラウンドで処理させることが可能となる。また、Ｍａｓｔｅｒ機能部１２がキューＤＢ１５からジョブを取得するタイミングを調整することで、受け付けたジョブをリアルタイムに実行して実行結果を返却するか、一定時間後にジョブを実行して実行結果を返却するかをコントロールすることができる。
【符号の説明】
【００５３】
１…分散処理装置
１１…入力部
１２…Ｍａｓｔｅｒ機能部
１２１…実行連携部
１３…データ取得部
１４…出力部
１５…キューＤＢ
１６…設定ファイル
２−１，・・・，２−Ｎ…Ｗｏｒｋｅｒ機能部
２１…コマンド実行部
３…コマンド処理部
１００…ネットワーク
【図１】
2014153982.tif 000003
【図２】
2014153982.tif 000004
【図３】
2014153982.tif 000005