(57)【要約】【課題】同一の機能を有する複数の実行装置に適切に作業を配分することを可能とする自動処理汎用制御システム等を提供する。【解決手段】管理コンピュータ１の制御部１１は、コンピュータ２の実行部２０の空き時間等を監視し、管理下のコンピュータグループ４の中から一台のコンピュータ２を選択し、選択したコンピュータ２に管理部１０から処理依頼されたタスクを割当てる。なお、一台のコンピュータ２を選択する際、制御部１１は、タスクで処理されるデータ容量や、各コンピュータ２の処理能力を参照するなどして、コンピュータグループ４の中からタスクを処理するコンピュータ２を選択することで、並列分散処理を最適化する。【選択図】図２
2007317038.tif 000002
【特許請求の範囲】
【請求項１】
一つ又は複数のタスクからなるジョブの処理を管理する管理装置と、前記タスクの種類毎に設けられる制御装置と、前記制御装置の少なくともいずれかの管理下にあり前記制御装置に対応する種類のタスクを実行する複数の実行装置とがネットワークを介して接続される、自動処理汎用制御システムであって、
前記管理装置は、一つ又は複数の前記ジョブを前記タスク及び前記タスクの処理順序と共に保持するジョブ保持手段と、保持した前記ジョブの全てについて前記処理順序に基づいて処理すべき前記タスクを抽出し、抽出した前記タスクの処理依頼を前記タスクの種類に対応する前記制御装置に送る処理依頼手段と、を備え、
前記制御装置は、前記処理依頼に係る前記タスクを実行待ちタスクとして保持する手段と、管理下にある前記実行装置の中から、前記実行待ちタスクを割当てる前記実行装置を選択する規則が記述された一つ又は複数の選択ルールを保持する手段と、前記実行装置の稼働状況を監視し、指定された一つの前記選択ルールに従い、実行可能状態である前記実行装置の中から、処理する前記実行待ちタスクを割当てる前記実行装置を選択する実行装置選択手段と、前記実行装置選択手段が選択した前記実行装置に実行依頼を送り前記実行待ちタスクを処理させる手段と、を備えることを特徴とする自動処理汎用制御システム。
【請求項２】
請求項１に記載の自動処理汎用制御システムであって、前記制御装置は、管理下にある前記実行装置それぞれの前記タスクの処理能力値を保持し、前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較し、前記データ容量の大きい前記実行待ちタスクから順に、処理能力値が大きい前記実行装置を割当てる前記選択ルールを備えていることを特徴とする自動処理汎用制御システム。
【請求項３】
請求項２に記載の自動処理汎用制御システムであって、前記制御装置は、前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較することなく、前記管理装置から依頼された順に、処理能力が大きい前記実行装置を割当てる前記選択ルールを備えていることを特徴とする自動処理汎用制御システム。
【請求項４】
請求項３に記載の自動処理汎用制御システムであって、前記制御装置は、実行可能状態である複数の前記実行装置に所定の処理の実行要求を行い、前記実行装置から返信された前記所定の処理の実行結果に基づいて前記実行装置に前記実行待ちタスクを割当てる前記選択ルールを備えていることを特徴とする自動処理汎用制御システム。
【請求項５】
タスクを実行する複数の実行装置にネットワークを介して接続される制御装置であって、前記処理依頼に係る前記タスクを実行待ちタスクとして保持する手段と、管理下にある前記実行装置の中から、前記実行待ちタスクを割当てる前記実行装置を選択する規則が記述された一つ又は複数の選択ルールを保持する手段と、前記実行装置の稼働状況を監視し、指定された一つの前記選択ルールに従い、実行可能状態である前記実行装置の中から、処理する前記実行待ちタスクを割当てる前記実行装置を選択する実行装置選択手段と、前記実行装置選択手段が選択した前記実行装置に実行依頼を送り前記実行待ちタスクを処理させる手段と、を備えることを特徴とする制御装置。
【請求項６】
請求項５に記載の制御装置であって、管理下にある前記実行装置それぞれのタスクの処理能力値を保持し、前前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較し、前記データ容量の大きい前記実行待ちタスクから順に、処理能力値が大きい前記実行装置を割当てる前記選択ルールを備えていることを特徴とする制御装置。
【請求項７】
請求項６に記載の制御装置であって、前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較することなく、前記管理装置から依頼された順に、処理能力値が大きい前記実行装置を割当てる前記選択ルールを備えていることを特徴とする制御装置。
【請求項８】
請求項７に記載の制御装置であって、実行可能状態である複数の前記実行装置に所定の処理の実行要求を行い、前記実行装置から返信された前記所定の処理の実行結果に基づいて前記実行装置に前記実行待ちタスクを割当てる前記選択ルールを備えていることを特徴とする制御装置。
【請求項９】
一つ又は複数のタスクからなるジョブの処理を管理し、処理依頼に係るタスクを実行待ちタスクとして保持する手段と、一つ又は複数の前記ジョブを前記タスク及び前記タスクの処理順序と共に保持する手段と、前記保持したジョブの全てについて前記処理順序に基づいて処理すべきタスクを抽出する手段と、前記抽出したタスクの処理依頼を当該タスクの種類に対応する制御装置に送る手段と、を備えた管理装置と、
請求項５から請求項８のいずれかに記載の制御装置を備えたことを特徴とする自動処理汎用制御装置。
【請求項１０】
一つ又は複数のタスクからなるジョブの処理を管理する管理装置と、前記タスクの種類毎に設けられる制御装置と、前記制御装置の少なくともいずれかの管理下にあり前記制御装置に対応する種類のタスクを実行する複数の実行装置とがネットワークを介して接続される、自動処理汎用制御システムが実行する自動処理汎用制御方法であって、
前記管理装置が実行する、
一つ又は複数の前記ジョブを前記タスク及び前記タスクの処理順序と共に保持する工程、前記保持したジョブの全てについて前記処理順序に基づいて処理すべきタスクを抽出する工程、前記抽出したタスクの処理依頼を当該タスクの種類に対応する前記制御装置に送る工程と、
前記制御装置が実行する、
前記処理依頼に係るタスクを実行待ちタスクとして保持する工程と、前記実行待ちタスクを割当てる前記実行装置を選択する規則が記述された一つ又は複数の選択ルールを保持する工程と、前記実行装置の稼働状況を監視し、指定された一つの前記選択ルールに従い、実行可能状態である前記実行装置の中から、処理する前記実行待ちタスクを割当てる前記実行装置を選択する実行装置選択工程と、前記実行装置選択工程で選択した前記実行装置に実行依頼を送り前記実行待ちタスクを処理させる工程と、を有することを特徴とする自動処理汎用制御方法。
【請求項１１】
請求項１０に記載の自動処理汎用制御方法であって、
前記実行待ちタスクを保持する工程では、前記実行待ちタスクに加え、前記実行待ちタスクで処理されるデータ容量を保持し、更に、前記選択ルールを保持する工程では、管理下にある前記実行装置それぞれのタスクの処理能力値と前記実行待ちタスクのデータ容量とを比較し、前記データ容量の大きい前記実行待ちタスクから順に、処理能力値が大きい前記実行装置を割当てる第１の選択ルールを少なくとも保持し、前記実行装置選択工程では、前記第１の選択ルールによって前記実行装置が選択されることを特徴とする自動処理汎用制御方法。
【請求項１２】
請求項１１に記載の自動処理汎用制御方法であって、
前記選択ルールを保持する工程では、前記第１の選択ルールに加え、前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較することなく、前記管理装置から依頼された順に、処理能力値が大きい前記実行装置を割当てる第２の選択ルールを保持し、前記実行装置選択工程では、前記第１の選択ルールまたは前記第２の選択ルールによって前記実行装置が選択されることを特徴とする自動処理汎用制御方法。
【請求項１３】
請求項１２に記載の自動処理汎用制御方法であって、
前記選択ルールを保持する工程では、前記第１の選択ルールおよび前記第２の選択ルールに加え、実行可能状態である複数の前記実行装置に所定の処理の実行要求を行い、前記実行装置から返信された前記所定の処理の実行結果に基づいて前記実行装置に前記実行待ちタスクを割当てる第３の選択ルールを保持し、前記実行装置選択工程では、前記第１の選択ルール、前記第２の選択ルールまたは前記第３の選択ルールのいずれかによって前記実行装置が選択されることを特徴とする自動処理汎用制御方法。
【請求項１４】
請求項５から請求項８のいずれかに記載の制御装置として、コンピュータを機能させるプログラム。
【請求項１５】
請求項５から請求項８のいずれかに記載の制御装置として、コンピュータを機能させるプログラムを記憶した記憶媒体。
【請求項１６】
請求項９に記載の自動処理汎用制御装置として、コンピュータを機能させるプログラム。
【請求項１７】
請求項９に記載の自動処理汎用制御装置として、コンピュータを機能させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のソフトウェアに係る処理を制御する自動処理汎用制御システム等に関する。より詳細には、複数のソフトウェアを連携させて自動的に処理を行う自動処理汎用制御システム等に関する。
【背景技術】
【０００２】
従来、ＣＧレンダリング処理など時間のかかる処理を高速化するため、高性能のサーバを購入したり、クラスタ（互いに協調して、あたかも 1 台のサーバーコンピュータであるかのように稼動している複数のコンピュータの集合体）を構築したりとハードウェアの性能を向上させていたが、ハードウェアの価格を安価にするために、ネットワークに接続されたコンピュータの空き時間を利用した並列分散処理(グリッドコンピューティング)により処理時間を大幅に短縮させる技術が開示されている。
【０００３】
例えば、特許文献１で開示されている発明は、複数の実行装置（コンピュータ）に適切にタスクを配分することを可能とする自動処理汎用制御システムであって、一つのまたは複数のジョブを管理する１台の管理装置と、管理装置が実行するジョブに含まれるタスクを処理する複数台の実行装置と、管理装置とそれぞれの実行装置を中継する制御装置とがネットワークを介して接続される。
【０００４】
特許文献１においては、あるジョブのパラーメータが管理装置に入力されると、管理装置は、ジョブを処理するためのタスクを抽出し、タスクの種類に対応する制御装置にタスクの処理を依頼する。
【０００５】
制御装置は管理装置からタスクを依頼されると、管理装置から依頼されたタスクをキューテーブルに格納し、実行装置の稼働状況を監視して実行可能状態である実行装置に、順次、依頼されたタスクを割り当て実行させる。
【０００６】
実行可能状態である実行装置が複数である場合、制御装置は、これらの実行装置に所定の処理の実行要求を行い、実行後の応答が最も早い実行装置を最適な実行装置として選択したりして、実行待ちのタスクを実行装置に割り当てる。
【０００７】
また、特許文献２で開示されている発明は、実行装置が、実行装置における個別仕様と前記制御装置及び前記管理装置における統一仕様とを互いに対応付ける変換テーブルを保持し、前記個別仕様と前記統一仕様とを変換して処理することで、ソフトウェアの仕様や動作環境に関わらず、統一されたインタフェースにより制御可能な自動処理汎用制御システム等を提供するものである。
【０００８】
加えて、特許文献３で開示されている発明は、自動処理汎用制御システムが、ログデータを収集管理する前記実績管理装置を備えることで、効率的かつ高速に、処理状況、処理能力等を詳細に把握することが可能な自動処理汎用制御システム等を提供するものである。
【特許文献１】特開２００４−１０２９３１号公報
【特許文献２】特開２００４−１０２８０５号公報
【特許文献３】特開２００４−１０２８０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した並列分散処理(グリッドコンピューティング)を実現する発明では、タスクのデータ容量の大小や、実行部同士の処理能力差が極端な場合などを考慮しておらず、データ容量が大きい（処理時間がかかる）タスクの処理依頼を、返信の遅い（処理能力の低い）実行部に割り当ててしまうケースがあり、この場合、実行部の選択が必ずしも最適とはいえず、システム全体としての時間あたりの処理効率はむしろ低下する可能性があった。
【００１０】
そこで、上述した課題を鑑みて、本発明は、タスクのデータ容量の大小や、実行部同士の処理能力差が極端な場合があったとしても、タスクを処理する実行部を最適に選択し、システム全体としての時間あたりの処理効率が低下することが極めて少ない自動処理汎用制御システム等を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決するための第１の発明は、一つ又は複数のタスクからなるジョブの処理を管理する管理装置と、前記タスクの種類毎に設けられる制御装置と、前記制御装置の少なくともいずれかの管理下にあり前記制御装置に対応する種類のタスクを実行する複数の実行装置とがネットワークを介して接続される、自動処理汎用制御システムであって、
前記管理装置は、一つ又は複数の前記ジョブを前記タスク及び前記タスクの処理順序と共に保持するジョブ保持手段と、保持した前記ジョブの全てについて前記処理順序に基づいて処理すべき前記タスクを抽出し、抽出した前記タスクの処理依頼を前記タスクの種類に対応する前記制御装置に送る処理依頼手段と、を備え、
前記制御装置は、前記処理依頼に係る前記タスクを実行待ちタスクとして保持する手段と、管理下にある前記実行装置の中から、前記実行待ちタスクを割当てる前記実行装置を選択する規則が記述された一つ又は複数の選択ルールを保持する手段と、前記実行装置の稼働状況を監視し、指定された一つの前記選択ルールに従い、実行可能状態である前記実行装置の中から、処理する前記実行待ちタスクを割当てる前記実行装置を選択する実行装置選択手段と、前記実行装置選択手段が選択した前記実行装置に実行依頼を送り前記実行待ちタスクを処理させる手段と、を備えることを特徴とする自動処理汎用制御システムである。
【００１２】
更に、第２の発明は、第１の発明に記載の自動処理汎用制御システムであって、
前記制御装置は、管理下にある前記実行装置それぞれのタスクの処理能力値を保持し、前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較し、前記データ容量の大きい前記実行待ちタスクから順に、処理能力値が大きい前記実行装置を割当てる前記選択ルールを備えていることを特徴とする。
【００１３】
更に、第３の発明は、第２の発明に記載の自動処理汎用制御システムであって、前記制御装置は、前記実行待ちタスクのデータ容量と前記実行装置の処理能力を比較することなく、前記管理装置から依頼された順に、処理能力が大きい前記実行装置を割当てる前記選択ルールを備えていることを特徴とする。
【００１４】
更に、第４の発明は、第３の発明に記載の自動処理汎用制御システムであって、
前記制御装置は、実行可能状態である複数の前記実行装置に所定の処理の実行要求を行い、前記実行装置から返信された前記所定の処理の実行結果に基づいて、前記実行装置に前記実行待ちタスクを割当てる前記選択ルールを備えていることを特徴とする。
【００１５】
更に、第５の発明は、タスクを実行する複数の実行装置にネットワークを介して接続される制御装置であって、
前記処理依頼に係る前記タスクを実行待ちタスクとして保持する手段と、管理下にある前記実行装置の中から、前記実行待ちタスクを割当てる前記実行装置を選択する規則が記述された一つ又は複数の選択ルールを保持する手段と、前記実行装置の稼働状況を監視し、指定された一つの前記選択ルールに従い、実行可能状態である前記実行装置の中から、処理する前記実行待ちタスクを割当てる前記実行装置を選択する実行装置選択手段と、前記実行装置選択手段が選択した前記実行装置に実行依頼を送り前記実行待ちタスクを処理させる手段と、を備えることを特徴とする。
【００１６】
更に、第６の発明は、第５の発明に記載の制御装置であって、管理下にある前記実行装置それぞれのタスクの処理能力値を保持し、前前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較し、前記データ容量の大きい前記実行待ちタスクから順に、処理能力値が大きい前記実行装置を割当てる前記選択ルールを備えていることを特徴とする。
【００１７】
更に、第７の発明は、第６の発明に記載の制御装置であって、前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較することなく、前記管理装置から依頼された順に、処理能力値が大きい前記実行装置を割当てる前記選択ルールを備えていることを特徴とする。
【００１８】
更に、第８の発明は、第７の発明に記載の制御装置であって、実行可能状態である複数の前記実行装置に所定の処理の実行要求を行い、前記実行装置から返信された前記所定の処理の実行結果に基づいて前記実行装置に前記実行待ちタスクを割当てる前記選択ルールを備えていることを特徴とする。
【００１９】
更に、第９の発明は、一つ又は複数のタスクからなるジョブの処理を管理し、処理依頼に係るタスクを実行待ちタスクとして保持する手段と、一つ又は複数の前記ジョブを前記タスク及び前記タスクの処理順序と共に保持する手段と、前記保持したジョブの全てについて前記処理順序に基づいて処理すべきタスクを抽出する手段と、前記抽出したタスクの処理依頼を当該タスクの種類に対応する制御装置に送る手段と、を備えた管理装置と、
第５の発明から第８の発明のいずれかに記載の制御装置を備えたことを特徴とする自動処理汎用制御装置である。
【００２０】
更に、第１０の発明は、一つ又は複数のタスクからなるジョブの処理を管理する管理装置と、前記タスクの種類毎に設けられる制御装置と、前記制御装置の少なくともいずれかの管理下にあり当該制御装置に対応する種類のタスクを実行する複数の実行装置とがネットワークを介して接続される、自動処理汎用制御システムが実行する自動処理汎用制御方法であって、
前記管理装置が実行する、
一つ又は複数の前記ジョブを前記タスク及び前記タスクの処理順序と共に保持する工程、前記保持したジョブの全てについて前記処理順序に基づいて処理すべきタスクを抽出する工程、前記抽出したタスクの処理依頼を当該タスクの種類に対応する前記制御装置に送る工程と、
前記制御装置が実行する、
前記処理依頼に係るタスクを実行待ちタスクとして保持する工程と、前記実行待ちタスクを割当てる前記実行装置を選択する規則が記述された一つ又は複数の選択ルールを保持する工程と、前記実行装置の稼働状況を監視し、指定された一つの前記選択ルールに従い、実行可能状態である前記実行装置の中から、処理する前記実行待ちタスクを割当てる前記実行装置を選択する実行装置選択工程と、前記実行装置選択工程で選択した前記実行装置に実行依頼を送り前記実行待ちタスクを処理させる工程と、を有することを特徴とする自動処理汎用制御方法である。
【００２１】
更に、第１１の発明は、第１０の発明に記載の自動処理汎用制御方法であって、
前記実行待ちタスクを保持する工程では、前記実行待ちタスクに加え、前記実行待ちタスクで処理されるデータ容量を保持し、更に、前記選択ルールを保持する工程では、管理下にある前記実行装置それぞれのタスクの処理能力と前記実行待ちタスクのデータ容量とを比較し、前記データ容量の大きい前記実行待ちタスクから順に、処理能力が大きい前記実行装置を割当てる第１の選択ルールを少なくとも保持し、前記実行装置選択工程では、前記第１の選択ルールによって前記実行装置が選択されることを特徴とする。
【００２２】
更に、第１２の発明は、第１１の発明に記載の自動処理汎用制御方法であって、
前記選択ルールを保持する工程では、前記第１の選択ルールに加え、前記実行待ちタスクのデータ容量と前記実行装置の処理能力値を比較することなく、前記管理装置から依頼された順に、処理能力値が大きい前記実行装置を割当てる第２の選択ルールを保持し、前記実行装置選択工程では、前記第１の選択ルールまたは前記第２の選択ルールによって前記実行装置が選択されることを特徴とする。
【００２３】
更に、第１３の発明は、第１２の発明に記載の自動処理汎用制御方法であって、
前記選択ルールを保持する工程では、前記第１の選択ルールおよび前記第２の選択ルールに加え、実行可能状態である複数の前記実行装置に所定の処理の実行要求を行い、前記実行装置から返信された前記所定の処理の実行結果に基づいて前記実行装置に前記実行待ちタスクを割当てる第３の選択ルールを保持し、前記実行装置選択工程では、前記第１の選択ルール、前記第２の選択ルールおよび前記第３の選択ルールのいずれかによって前記実行装置が選択されることを特徴とする。
【００２４】
更に、第１４の発明は、第５の発明から第８の発明のいずれかに記載の制御装置として、コンピュータを機能させるプログラム、及び、前記プログラムを記録した記録媒体である。
【００２５】
更に、第１５の発明は、第５の発明から第８の発明のいずれかに記載の制御装置として、コンピュータを機能させるプログラムを記録した記録媒体である。
【００２６】
更に、第１６の発明は、第９の発明に記載の自動処理汎用制御装置として、コンピュータを機能させるプログラム、及び、前記プログラムを記録した記録媒体である。
【００２７】
更に、第１７の発明は、第９の発明に記載の自動処理汎用制御装置として、コンピュータを機能させるプログラムを記録した記録媒体である。
【発明の効果】
【００２８】
上述した本発明によれば、様々な前記選択ルールを用意しておき、予め、又は、前記管理装置から指定された一つの前記選択ルールに従い前記実行装置を選択することで、タスクの前記データ容量の大小や、実行部同士の処理能力差が極端な場合があったとしても、タスクを処理する実行部を最適に選択し、システム全体としての時間あたりの処理効率が低下することが極めて少ない自動処理汎用制御システム等を提供する。
【００２９】
例えば、前記選択ルールを、前記データ容量と前記処理能力情報を比較し、前記実行待ちタスクの依頼順に係らず、前記データ容量の大きい順に、前記実行装置の処理能力が大きい前記実行装置に前記実行待ちタスクを割当てるルールとすることで、タスクの対象データ容量の大小や、前記実行装置同士の処理能力差が極端な場合があったとしても、タスクを処理する前記実行装置を最適に選択することができる。
【００３０】
更に、各タスクの前記データ容量が仕様的に差がない場合は、前記データ容量の大小によらず、前記実行待ちタスクが依頼さら順に、処理能力が大きい前記実行装置を割当てるとよい。
【００３１】
更に、ネットワークなどの混在状況をも踏まえるならば、実行可能状態である複数の前記実行装置に所定の処理（例えば、ベンチマークテスト）の実行要求を行い、前記実行装置から返信された前記所定の処理の実行結果に基づいて前記実行装置に前記実行待ちタスクを割当てるとよい。
【発明を実施するための最良の形態】
【００３２】
以下、本発明に係る自動処理汎用制御システムについて、図を参照しながら詳細に説明する。図１は、本発明の実施の形態に係る自動処理汎用制御システムを説明する図である。
【００３３】
図１に示したように、自動処理汎用制御システムは、ネットワーク３に接続した複数台のコンピュータ２と、同じくネットワーク３に接続され、本発明に係る実行装置となるコンピュータ２を利用して並列分散処理(グリッドコンピューティング)を実行する自動処理汎用制御装置である管理コンピュータ１とから構成されている。
【００３４】
管理コンピュータ１は、それぞれのコンピュータ２に実装されたＣＰＵ（Central Processing Unit）の空き時間を利用し、１つまたは一連の複数のタスクから構成されるジョブを並列分散処理する。
【００３５】
それぞれのコンピュータ２には並列分散処理で利用されるソフトウェアがインストールされている。管理コンピュータ１は、同一のソフトウェア或いは仕様等は異なるが同等の機能を有するソフトウェアがインストールされたコンピュータ２を、ある種類のタスクを処理できるコンピュータグループ４として管理する。
【００３６】
そして、管理コンピュータ１がある種類のタスクを処理する際は、処理するタスクに対応したコンピュータグループ４の中から、一台のコンピュータ２を選択し、選択したコンピュータ２にタスクを処理させる。
【００３７】
管理コンピュータ１には、入力されたジョブの処理を統括的に管理する管理部と、コンピュータグループ４ごとに設けられ、管理部から受取ったタスクの処理を依頼する一台のコンピュータ２を、コンピュータグループ４の中から選択する制御部とが備えられている。管理部は本発明の管理装置に該当し、制御部は制御装置に該当する。
【００３８】
一つのコンピュータ２で処理できるタスクの種類は、コンピュータ２にインストールされたソフトウェアの機能で定まるため、上述しているように、コンピュータグループ４ごとに設けられる制御部は、タスクの種類毎に設けらることになる。
【００３９】
管理コンピュータ１の管理部には、ジョブ毎に、ジョブに係る一連のタスクに関する情報（各タスクの種類、各タスクの処理に必要なパラメータ、対象データもしくはその参照ポインタ等）、各タスクの処理順序等の情報が入力され、入力されたこれらの情報を保持する。そして、入力された全てのジョブに関して、タスク毎に、タスクの種類に対応する制御部にタスクの処理を依頼する。
【００４０】
上述しているように、一つの制御部はタスクの種類毎に設けらるているため、管理部は、異なる複数のジョブに属するタスクであっても、タスクの種類が同一であれば、当該タスク種類に対応する同一の制御部にタスクの処理依頼を行う。従って、一つの制御部には、複数のジョブに係るタスクの処理依頼が送られることがある。
【００４１】
管理コンピュータ１の管理部は、ユーザがジョブ登録に際して指定した制御部（タスクの種類、ソフトウェア）とその連携順序を管理し、制御部からの進捗通知を受けると、連携順序に従い次の制御部にタスクを処理する。
【００４２】
管理コンピュータ１の制御部は、コンピュータ２の空き時間等を監視し、管理部から処理依頼されたタスクを管理下のコンピュータ２に割当てる。なお、タスクを割当てる際は、制御部は、タスクで処理されるデータ容量や、各コンピュータ２の処理能力を参照するなどして、コンピュータグループ４の中からタスクを処理するコンピュータ２を選択することで、並列分散処理を最適化する。
【００４３】
コンピュータ２は、予め、管理コンピュータ１の制御部に対して、インストールされたソフトウェアを呼出して利用するためのプログラムインターフェースを公開し、タスクの処理はこのプログラムインターフェースを経由して行われる。
【００４４】
管理コンピュータ１の制御部からタスクの処理をコンピュータ２が依頼されると、コンピュータ２のプログラムインターフェースは、タスクで処理するデータをソフトウェアが利用できる形式に変換した後、ソフトウェアを呼び出して、制御部から依頼されたタスクを処理する。そして、コンピュータ２のプログラムインターフェースは、タスクの処理結果を管理コンピュータ１の制御部が利用できる形式に変換して、タスクの処理結果を管理コンピュータ１の制御部に返信する。
【００４５】
なお、図１においてネットワーク３は、インターネット、ローカルエリアネットワーク（ＬＡＮ）、各種ケーブル、各種配線等のネットワークであり、有線、無線を問わない。管理コンピュータ１、１台のコンピュータ／サーバで構成されていてもよく、あるいは、管理コンピュータ１の管理部および制御部をそれぞれ実現する複数台のコンピュータ／サーバで構成されていてもよい。
【００４６】
図２は、図１で示した自動処理汎用制御システムのブロック図である。図２に示したように、自動処理汎用制御システムには、管理コンピュータ１、複数台のコンピュータ２がネットワーク３を介して接続されている。
【００４７】
なお、今後、自動処理汎用制御システムは、タスクＰ、タスクＱに係るソフトウェア処理を制御するものとして説明し、今後、説明上、制御部１１、コンピュータ２およびコンピュータグループ４のそれぞれを識別することが必要と思われる場合には、符号にＰｘ（ｘは連番の数字）またはＱを付加する。
【００４８】
図２で示したコンピュータグループ４（Ｐ）はタスクＰを処理するコンピュータグループ４で、このコンピュータグループ４（Ｐ）にはコンピュータ２（Ｐ１）〜コンピュータ２（Ｐ３）が属している。また、コンピュータグループ４（Ｑ）はタスクＱを処理するコンピュータグループ４で、このコンピュータグループ４（Ｑ）にはコンピュータ２（Ｑ）が属している。
【００４９】
コンピュータ２（Ｐ１）、コンピュータ２（Ｐ２）およびコンピュータ２（Ｐ３）は、それぞれ、タスクＰをソフトウェア２１（Ｐ１）より処理する実行部２０（Ｐ１）、タスクＰをソフトウェア２１（Ｐ２）より処理する実行部２０（Ｐ２）およびタスクＰをソフトウェア２１Ｐ３より処理する実行部２０（Ｐ３）を有する。
【００５０】
ここで、実行部２０とは、コンピュータ２のハードウェアリソース、すなわち、ＣＰＵおよびメモリなどを意味し、ソフトウェア２１（Ｐ１）、ソフトウェア２１（Ｐ２）およびソフトウェア２１（Ｐ３）は、それぞれ同一のソフトウェア２１或いは仕様等は異なるが同等の機能を有するソフトウェア２１である。
【００５１】
同様に、コンピュータ２（Ｑ）は、タスクＱを処理するコンピュータ２として、制御部１１（Ｑ）の管理下にあり、タスクＱをソフトウェア２１（Ｑ）により実行する実行部２０（Ｑ）を有する。
【００５２】
管理コンピュータ１は、ジョブの処理を統括的に管理する管理部１０と２つの制御部１１を備え、制御部１１（Ｐ）は、タスクＰを処理するコンピュータ２（Ｐ１）〜コンピュータ２（Ｐ３）から構成されるコンピュータグループ４を管理する制御部１１で、制御部１１（Ｑ）は、タスクＱを処理するコンピュータ２（Ｑ）のみで構成されるコンピュータグループ４を管理する制御部１１である。
【００５３】
管理コンピュータ１の管理部１０は、２つの制御部１１を管理し、一つ又は複数のジョブをタスク及びタスクの処理順序と共に保持するジョブ保持手段１２０と、保持したジョブの全てについて処理順序に基づいて処理すべきタスクを抽出し、抽出したタスクの処理依頼をタスクの種類に対応する制御装置１１に送る処理依頼手段と１２１、登録テーブル１００、制御部管理テーブル１０１などを保持する。制御部１１は、管理下のコンピュータ２の実行部２０を管理するために、キューテーブル１１１、実行部状況テーブル１１２、選択ルールテーブル１１４を保持し、更に、キューテーブル追加手段１１０、初期設定手段１１３、実行部選択手段１１５、そして、実行依頼手段１１６を備える。なお、図２では、これらの手段を制御部１１（Ｐ）に図示しているが、当然のことながら、これらの手段は制御部１１（Ｑ）にも備えられている。
【００５４】
尚、図２に示す自動処理汎用制御システムは一例を示しているに過ぎず、管理コンピュータ１に備えられた管理部１０、制御部１１、実行部２０の構成はこれに限られない。すなわち、制御部１１の数及び各制御部１１の管理下にある実行部２０の数に特段の制限はない。
【００５５】
ユーザが管理コンピュータ１を利用してあるジョブを並列分散処理するときは、処理を施したい対象データに係る一連のタスクをジョブとして登録する。ユーザは、ジョブ毎に、ジョブに係る一連のタスクに関する情報（各タスクの種類、各タスクの処理に必要なパラメータ、対象データもしくはその参照ポインタ等）や、各タスクの処理順序等を管理コンピュータ１に入力し、管理コンピュータ１の管理部１０に備えられたジョブ保持手段１２０は、ユーザが入力したこれらの情報を登録テーブル１００に登録・保持する。
【００５６】
図３は、管理部１０が有する登録テーブル１００を説明する図である。図３に示したように登録テーブル１００は、ジョブ１００ａ、対象データ１００ｂ、制御部１００ｃ、パラメータ１００ｄ、処理順序１００ｅ等の各フィールドを有する。
【００５７】
登録テーブル１００のジョブ１００ａは、ジョブの名称（ここでは、「ジョブＡ」）を示す符号列等であり、ジョブを特定するものである。登録テーブル１００の対象データ１００ｂは、処理の対象となるデータを記憶しているアドレスを示す参照ポインタ（ここでは、「ｆｔｐ：／／ｘｘｘ．ｃｏｍ／ｊｏｂａ」）等である。
【００５８】
登録テーブル１００の制御部１００ｃは、ジョブ毎に、ジョブに係る一連のタスクの種類、当該タスクの種類に対応する制御部１１を示し、例えば、「ＲＩＰ」「変換」「出力」「タスクＰ」「タスクＱ」である。
【００５９】
パラメータ１００ｄは、各タスクを実行する際に必要となるパラメータを示し、例えば、タスクの種類「ＲＩＰ」に関して「ｌａｂ＝１０，２０，２０」、タスクの種類「変換」に関して「ＣＭＹＫ＝１００，０，０，０」、タスクの種類「出力」に関して「解像度（Ｘ，Ｙ）＝７２０，３６０」である。処理順序１００ｅは、ジョブ毎に、各タスクの処理順序を示すものであり、例えば、ジョブＡでは処理順に「１」「２」「３」「４」「５」である。
【００６０】
図４は、管理部１０が有する制御部管理テーブル１０１を説明する図である。管理部１０の処理依頼手段１２１は、登録テーブル１００に基づいて、制御部１１にタスクの処理依頼を行うと共に、ジョブの進捗状況をジョブ毎、制御部１１（タスクの種類）毎に管理し、制御部管理テーブル１０１に保持する。図４に示す制御部管理テーブル１０１は、ジョブ１０１ａ、制御部１０１ｂ、進捗１０１ｃ、処理順序１０１ｄ、開始日時１０１ｅ、終了日時１０１ｆ等の各フィールドを有する。
【００６１】
制御部管理テーブル１０１のジョブ１０１ａは、ジョブの名称、符号列等であり、ジョブを特定するものである。ジョブ１０１ａは、例えば、「ジョブＡ」である。制御部管理テーブル１０１の制御部１０１ｂは、ジョブ毎に、タスクの種類、当該タスクの種類に対応する制御部１１を示し、例えば、「ＲＩＰ」「変換」「出力」「タスクＰ」「タスクＱ」である。
【００６２】
制御部管理テーブル１０１の進捗１０１ｃは、各タスクの進捗状況を示し、例えば、「待ち」「処理中」「未着手」である。図４に示す「待ち」は、ＲＩＰ処理に係る実行部２０のいずれかが実行可能状態（依頼待ち）となるのを待機している状況を示す。
【００６３】
制御部管理テーブル１０１の処理順序１０１ｄは、ジョブ毎に、各タスクの処理順序を示すものであり、例えば、処理順に「１」「２」「３」「４」「５」である。開始日時１０１ｅは、実行部２０におけるソフトウェア２１の実行開始日時を示すものであり、例えば、「２００２／９／１  ９：００」である。終了日時１０１ｅは、実行部２０におけるソフトウェア２１の実行終了日時を示すものであり、例えば、「２００２／９／１  ９：１５」である。尚、図４に示す制御部管理テーブル１０１において、タスクの種類「ＲＩＰ」に係る開始日時がジョブＡの開始日時に相当し、タスクの種類「タスクＱ」に係る終了日時がジョブＡの終了日時に相当する。
【００６４】
図５は、制御部１１が有するキューテーブル１１１を説明する図である。図５に示すキューテーブル１１１は、ジョブ１１１ａ、パラメータ１１１ｂ、対象データ容量１１１ｃ、実行部１１１ｄ等の各フィールドを有する。
【００６５】
キューテーブル１１１のジョブ１１１ａは、ジョブの名称、符号列等であり、ジョブを特定するものである。ジョブ１１１ａは、例えば、「ジョブＡ」である。キューテーブル１１１のパラメータ１１１ｂは、実行部２０でのソフトウェア２１処理に必要となるパラメータを示す。
【００６６】
キューテーブル１１１の対象データ容量１１１ｃとは、各タスクで処理される対象データの容量を示し、例えば、１００ＭＢ（メガバイト）である。キューテーブル１１１の実行部２０は、ソフトウェア２１処理を実行する実行部２０を示し、例えば、「Ｐ１」、「待ち」である。「Ｐ１」は、ジョブＡのタスクＰを実行部２０（Ｐ１）、ソフトウェア２１（Ｐ１）が実行していることを示し、「待ち」は、ジョブＢのタスクＰに関して、タスクＰに係る実行部２０のいずれかが実行可能状態（依頼待ち）となるのを待機している状況を示す。
【００６７】
図６は、制御部１１が有する実行部状況テーブル１１２を説明する図である。制御部１１は、管理下にある実行部２０の稼働状況を監視し、実行部状況テーブル１１２に保持する。図６に示す実行部状況テーブル１１２は、実行部１１２ａ、稼働状況１１２ｂ、アドレス１１２ｃ、処理能力１１２ｄ等の各フィールドを有する。
【００６８】
実行部１１２ａは、実行部２０の名称を示す符号列等であり、ソフトウェア２１処理を実行する実行部２０、ソフトウェア２１を特定するものである。実行部１１２ａは、例えば、「Ｐ１」「Ｐ２」「Ｐ３」である。「Ｐ１」は、実行部２０（Ｐ１）、ソフトウェア２１（Ｐ１）等を示し、「Ｐ２」は、実行部２０（Ｐ１）、ソフトウェア２１（Ｐ１）等を示す。稼働状況１１２ｂは、実行部２０の稼働状況を示し、例えば、「実行中」「依頼待ち」である。アドレス１１２ｃは、実行部２０の稼働状況等を管理、記録するコンピュータ２、データ等のアクセス先等を示し、例えば、「ｆｔｐ：／／ｐ１．ｘｘｘ．ｃｏｍ」である。実行依頼、稼働状況の確認等のために制御部１１から実行部２０にアクセスする際に参照される。
【００６９】
実行部状況テーブル１１２の処理能力１１２ｄは、各制御部１１が管理するそれぞれ実行部２０の処理能力を示し、例えば、単位時間当たりに処理可能なデータの容量を示す１ＭＢ／秒である。
【００７０】
図７（ａ）は、制御部１１が有する選択ルールテーブル１１４を説明する図である。制御部１１は、管理するコンピュータ２グループの中から、タスクの処理を依頼する実行部２０を選択するための選択ルールが示された選択ルールテーブル１１４を保持する。図７（ａ）に示す選択ルールテーブル１１４は、選択ルール名称１１４ａ、関数ポインタ１１４ｂ等の各フィールドを有する。
【００７１】
選択ルール名称１１４ａは、選択ルールの名称を示す符号列等であり、実行部２０を選択する選択ルールを特定するものである。選択ルールテーブル１１４に記憶された選択ルール名称１１４ａを指定すると、指定された選択ルールに基づいて、管理するコンピュータグループ４の中から、タスクの処理を依頼する１つの実行部２０が選択される。
【００７２】
なお、選択ルールとは、実行部２０を選択するための規則である。図７（ａ）において、選択ルール１とは、キューテーブル１１１に記憶されたタスクを処理する実行部２０として、キューテーブル１１１の対象データ容量１１１ｃを参照し、実行部２０の処理能力指標に見合った実行部２０を選択するルールである。すなわち、制御部１１は、対象データ容量１１１ｃと処理能力を比較し、タスクの依頼順に係らず、対象データ容量１１１ｃの大きい順に、実行部２０の処理能力が大きい実行部２０にタスクを割当てる。
【００７３】
また、選択ルール２とは、キューテーブル１１１の対象データ容量１１１ｃを参照することなく、キューテーブル１１１の中で次に処理するタスクを、実行可能な実行部２０が複数あれば処理能力指標の最も高い実行部２０に割当てるルールである。
【００７４】
また、選択ルール３とは、特許文献１に記載された方式で、キューテーブル１１１の中で次に処理するタスクを、実行可能な実行部２０が複数あれば、ベンチマークテストなどの応答速度を参照するなどして、実行部２０を選択する。
【００７５】
例えば、キューテーブル１１１が図７（ｂ）の状態で、図７（ａ）の選択ルール１が選択されていた場合は、図７（ｂ）のキューテーブル１１１の先頭から３個のタスク１１１ｅ〜タスク１１１ｆを、以下のように実行部２０に割当てる。実行部２０（Ｐ１）（処理能力順位１位）に対し、対象データ容量１１１ｃが最も大きいタスク１１１ｆの処理を割当てる。また、実行部２０（Ｐ２）（処理能力順位２位）に対し、対象データ容量１１１ｃが２番目に大きいタスク１１１ｅの処理を割当てる。実行部２０（Ｐ３）（処理能力順位３位）に対し、対象データ容量１１１ｃが３番目に大きいタスク１１１ｇの処理を割当てる。
【００７６】
また、図７（ｂ）の選択ルール２が選択されていた場合は、キューテーブル１１１の先頭のタスク１１１ｅを処理するときは、実行部２０（Ｐ１）〜実行部２０（Ｐ３）の中で最も処理能力が高い実行部２０（Ｐ１）に割当てる。
【００７７】
また、図７（ｂ）の選択ルール３が選択されていた場合は、特許文献１の図９および図１０を用いて詳細に説明されている内容に従い、キューテーブル１１１の先頭から順に実行部２０を割当てる。
【００７８】
なお、それぞれの選択ルールは、それぞれの選択ルールとして機能するためのプログラム言語（例えば、Ｃ言語）で開発された関数副プログラムで実現され、それぞれの選択ルールは、管理コンピュータ１の管理者によって、管理コンピュータ１にロードされる。
【００７９】
関数ポインタ１１４ｂは、選択ルールを実現するための関数を呼出す情報が示され、関数ポインタ１１４ｂは、例えば、「func#select1」である。選択ルールが指定されると、指定された選択ルールの関数ポインタ１１４ｂで示される関数が呼出され、実行部２０が選択される。
【００８０】
制御部１１には、これまで説明したキューテーブル１１１、実行部状況テーブル１１２そして選択ルールテーブル１１４を参照して、コンピュータグループ４の中から、一つの実行部２０を選択しタスクを処理するために、初期設定手段１１３、キューテーブル追加手段１１０、実行部選択手段１１５、実行依頼手段１１６を備えている。
【００８１】
制御部１１に備えられた初期設定手段１１３とは、選択ルールの関数副プログラムを管理コンピュータ１にロードする手段で、管理コンピュータ１にロードされた選択ルールの関数副プログラムは管理コンピュータ１の記憶装置（例えば、ハードディスク）に記憶され、選択ルールの名称を示す符号列と、ロードとした選択ルールの関数を呼出すための情報が、選択ルールテーブル１１４に新規追加される。
【００８２】
キューテーブル追加手段１１０は、管理部１０から依頼されたタスクの内容をキューテーブル１１１に追加する手段で、管理部１０から依頼されたタスクの内容を、キューテーブル１１１に追加する。
【００８３】
制御部１１に備えられた実行部選択手段１１５は、キューテーブル１１１、実行部状況テーブル１１２そして選択ルールテーブル１１４を参照し、管理部１０から指定された選択ルール或いは予め設定された選択ルールを呼び出し、制御部１１が管理するコンピュータグループ４の中から、キューテーブル１１１に記憶されたタスクの処理を依頼する実行部２０を選択する手段である。
【００８４】
実行依頼手段１１６は、キューテーブル１１１に記憶されたタスクを、実行部選択手段１１５が選択した実行部２０に依頼する手段である。
【００８５】
次に、図８、図９を参照しながら本発明の実施の形態に係る自動処理汎用制御システムの動作について説明する。
【００８６】
まず、図８を用いて、管理コンピュータ１の動作について説明する。図８は、管理コンピュータ１の動作を示すフローチャートである。
【００８７】
管理コンピュータ１の管理部１０に備えられたジョブ保持手段１２０は、ジョブが入力されると、ジョブ毎に、各タスクの種類及び処理順序、各タスクにおける処理に必要なパラメータ、処理の対象データ、対象データの参照ポインタ等を保持する。管理部１０は、登録テーブル１００（図３参照）を作成、登録する（ステップＳ１）。
【００８８】
管理部１０の処理依頼手段１２１は、登録テーブル１００に基づいて、制御部管理テーブル１０１を作成する。管理部１０は、制御部管理テーブル１０１の処理順序に従って、各タスク毎に当該タスクの種類に対応する制御部１１に、ジョブ名、パラメータ、処理データ（あるいはその参照ポインタ等）等を送信してタスク処理依頼を行う。例えば、タスクＰを処理するときは、制御部１１（Ｐ）にタスク処理依頼を行い、タスクＱを処理するときは、制御部１１（Ｑ）にタスク依頼処理を行う。尚、管理部１０は、タスク処理依頼を行ったジョブの制御部１１について、制御部管理テーブル１０１の進捗を「待ち」と記録する（ステップＳ２）。
【００８９】
各制御部１１は、管理部１０からタスク処理依頼を受信すると、タスク毎に、ジョブ名、パラメータ、処理データ（あるいはその参照ポインタ等）等、タスク処理依頼に係る情報をキューテーブル１１１に保持する（ステップＳ３）。
【００９０】
制御部１１は、タスク処理依頼に係る処理について、実行部２０に処理依頼を行うと、キューテーブル１１１の内容を更新し、管理部１０にタスクの処理開始を通知する（ステップＳ４）。
【００９１】
管理部１０は、制御部１１からタスク処理開始の通知を受信すると、制御部管理テーブル１０１の進捗を「処理中」に更新し、開始日時を記録するなどして、制御部管理テーブル１０１の内容を更新する。（ステップ５）。
【００９２】
制御部１１は、実行部２０での実行処理が終了すると、管理部１０にタスクの処理終了を通知する（ステップＳ６）。管理部１０は、制御部１１からタスク処理終了の通知を受信すると、終了日時を記録するなどして、制御部管理テーブル１０１を更新する（ステップＳ７）。
【００９３】
全てのジョブについて、ジョブに属する全てのタスクの処理が終了するか、あるいは、ジョブに属するあるタスクの処理においてエラー等が発生するまで（ステップＳ８のＹｅｓ）、管理部１０及び制御部１１は、ステップＳ２〜ステップＳ８の処理を繰り返す。
【００９４】
すなわち、あるジョブに属するタスクの処理の進捗が終了しておらず、ジョブに属するタスク処理においてエラー等が発生していない場合（ステップＳ８のＮｏ）、管理部１０は、制御部管理テーブル１０１の処理順序に従って、次のタスクに対応する制御部１１に、ジョブ名、パラメータ、対象データ（あるいはその参照ポインタ等）等を送信してタスクの処理依頼を行う（ステップ７０２）。尚、管理部１０は、タスクの処理依頼を行ったジョブの制御部１１について、制御部管理テーブル１０１の進捗を「待ち」と記録する。
【００９５】
次に、図９を用いて、制御部１１、実行部２０の動作について説明する。図９は、制御部１１、実行部２０の動作を示すフローチャートである。
【００９６】
制御部１１は、管理部１０からタスク処理要求を受信すると、タスク毎に、ジョブ名、パラメータ、対象データ（あるいはその参照ポインタ等）等、タスク処理依頼に係る情報をキューテーブル１１１に保持する（ステップＳ１０）。
【００９７】
制御部１１は、管理下にある実行部２０の稼働状況を監視し、実行可能な実行部２０があるか確認する（ステップ１１）。そして、実行部２０が処理可能状態（依頼待ち）である場合（ステップＳ１１のＹｅｓ）、キューテーブル１１１に処理するタスクが追加されていると、実行部選択手段１１５は、選択ルールテーブル１１４の中で指定された選択ルールを用いて、キューテーブル１１１に保持しているタスクを処理する実行部２０を選択し、実行依頼手段１１６は、選択した実行部２０に対してタスクの処理を依頼する（ステップＳ１２）。
【００９８】
実行部２０は、依頼されたタスクの処理を開始する。尚、実行部２０は、制御部１１から処理依頼要求を受信した場合、実行部２０のソフトウェア２１の仕様等に応じて、パラメータの形式の変更等を行ってから、ソフトウェア２１を起動する（ステップＳ１３）。
【００９９】
制御部１１は、キューテーブル１１１から実行依頼を行ったタスクを削除、あるいは実行中である旨を記録するなどしてキューテーブル１１１の内容を更新し、管理部１０にタスクの処理開始を通知する（ステップＳ１４）。
【０１００】
実行部２０は、タスクの処理が終了すると、実行部２０を管理する制御部１１に処理終了通知を行い、併せて、処理結果等を送信する。尚、実行部２０は、制御部１１に処理結果等を送信する場合、書式、単位の変更等による処理結果の統一化等を行う（ステップＳ１５）。キューテーブル１１１に管理部１０からのタスク処理依頼が残っている場合（ステップＳ１６のＹｅｓ）、ステップＳ１１〜ステップＳ１６の処理を繰り返す。
【０１０１】
以上の過程を経て、管理部１０は、ユーザがジョブ登録に際して指定した制御部１１（タスクの種類）とその連携順序を管理し、制御部１１からの進捗通知を受けると、連携順序に従い次の制御部１１へタスクの処理を依頼し、次の制御部１１は、管理部１０から送信されたタスクをキューテーブル１１１に格納する。制御部１１は、実行部２０、ソフトウェア２１等をタスク毎に束ねて管理し、実行部２０の実行状況、稼働状況を監視し、実行可能状態（依頼待ち）の実行部２０に対して、キューテーブル１１１に格納しているタスク処理依頼を割り当て実行させる。
【０１０２】
管理部１０は、異なる複数のジョブに属するタスクであっても、同一タスク種類については当該タスク種類に対応する制御部１１にタスク処理依頼を送信し、制御部１１は、タスク処理依頼をキューテーブル１１１に格納し、実行可能状態（依頼待ち）となった実行部２０に順次割り当て実行させる。従って、異なる複数のジョブを同時に平行処理可能であり、複数のジョブにおいて実行部２０のソフトウェア２１を効率的に共用することができる。この効果は、ジョブ数が大きい場合に特に顕著である。
【０１０３】
また、仕様が異なるソフトウェア２１による処理については、実行部２０がプログラムインターフェースを備え、パラメータの形式の変更、実行結果の統一化等が行われるので、自動処理汎用制御システムのユーザは、ソフトウェア２１の仕様や動作する環境にとらわれずにジョブの一連のタスクについてのバッチ処理を実行させることができる。また、同一機能を有する実行部２０を複数のコンピュータ２等に配置する等、レイアウトの変更により、スループット向上を容易に実現することができる。
【０１０４】
加えて、しかし従来の方法では、タスクの対象データ容量の大小や、実行部２０同士の処理能力差が極端な場合などを考慮しておらず、対象データ容量が大きい（実行時間がかかる）処理依頼を、返信の遅い（処理能力の低い）実行部２０に割り当ててしまうケースがあったが、本発明では、タスクの対象データ容量の大小や、実行部２０同士の処理能力差が極端な場合などを考慮して実行部２０を選択するため、システム全体としての時間あたりの処理効率が低下するケースは減る。
【０１０５】
以上、添付図面を参照しながら、本発明に係る自動処理汎用制御システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１０６】
管理部１０、制御部１１、実行部２０等の間で、タスク処理依頼、実行依頼、実行結果等を送信・受信する際、対象データに関しては、対象データ、生成データ、実行結果等そのものを送信・受信してもよいし、対象データ、生成データ、実行結果等の参照ポインタを送信・受信するようにしてもよい。また、実行結果には、処理実行の成否、エラー発生、進捗についての情報、ソフトウェア２１からの返値に関する情報等を含ませるようにしてもよい。
【０１０７】
管理部１０、制御部１１、実行部２０は、コンピュータ２等に設けられるが、１のコンピュータ２等に管理部１０、制御部１１、実行部２０を全て実装することもできるし、複数のコンピュータ２等に分散して実装することもできる。複数のコンピュータ２等に分離して配置した場合は、これらのコンピュータ２等をインターネット、ＬＡＮ（ローカルエリアネットワーク）、有線、無線等のネットワーク、ケーブル等を介して接続することができる。
【０１０８】
また、制御部１１の管理下に設ける実行部２０の数に制限はなく、システム、コンピュータ２等の処理能力、稼働状況、通信負荷等を考慮して定めることができる。さらに、実行部２０の配置、レイアウトは、自由である。例えば、同一機能を持つソフトウェア２１を１のコンピュータ２等に１つ、もしくは、複数のコンピュータ２等に並列に配置することができる。従って、レイアウトの構成変更により、全体としてボトルネックになるソフトウェア２１処理がある場合、ソフトウェア２１処理の実効スループット向上を図る場合等に対応できる。
【０１０９】
尚、図８と図９等に示す処理を行うプログラムはＣＤ−ＲＯＭ等の記録媒体に保持させて流通させてもよいし、通信回線を介してこのプログラムを送受することもできる。
【図面の簡単な説明】
【０１１０】
【図１】自動処理汎用制御システムを説明する図。
【図２】自動処理汎用制御システムのブロック図。
【図３】登録テーブルを説明する図。
【図４】制御部管理テーブルを説明する図。
【図５】キューテーブルを説明する図。
【図６】実行部状況テーブルを説明する図。
【図７】選択ルールテーブルを説明する図。
【図８】管理コンピュータの動作を示すフローチャートを示した図。
【図９】制御部、実行部の動作を示すフローチャートを示した図。
【符号の説明】
【０１１１】
１  管理コンピュータ
１０  管理部
１００  登録テーブル
１０１  制御部管理テーブル
１１  制御部
１１０  キューテーブル追加手段
１１１  キューテーブル
１１２  実行部状況テーブル
１１３  初期設定手段
１１４  選択ルールテーブル
１１５  実行部選択手段
１１６  実行依頼手段
１２０  ジョブ保持手段
１２１  処理依頼手段
２  コンピュータ
２０  実行部
２１  ソフトウェア
３  ネットワーク
４  コンピュータグループ
【図１】
2007317038.tif 000003
【図２】
2007317038.tif 000004
【図３】
2007317038.tif 000005
【図４】
2007317038.tif 000006
【図５】
2007317038.tif 000007
【図６】
2007317038.tif 000008
【図７】
2007317038.tif 000009
【図８】
2007317038.tif 000010
【図９】
2007317038.tif 000011