(57)【要約】【課題】通信回線を介して接続されている複数の処理装置に処理を割り当てる処理割当装置において、ある処理装置について処理量が不足する場合であって、余剰となっている処理量が同じ又はその処理量の差分が予め定められた範囲内である処理装置が複数あるときに、通信遅延を抑制する可能性が高い処理装置に、処理を割り当てることができる処理割当装置を提供する。【解決手段】処理割当装置の監視手段は、通信回線を介して接続されている複数の処理装置の負荷を監視し、割当手段は、前記監視手段によって、第１の処理装置について処理量が不足する場合は、第２の処理装置に該第１の処理装置における処理を割り当て、前記割当手段は、余剰となっている処理量が同じ又は該処理量の差分が予め定められた範囲内である処理装置が複数ある場合は、該処理装置における過去の通信に関する統計に基づいて、前記第２の処理装置となる処理装置を割り当てる。【選択図】図１
2019159385.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して接続されている複数の処理装置の負荷を監視する監視手段と、
前記監視手段の監視によって、第１の処理装置について処理量が不足する場合は、第２の処理装置に該第１の処理装置における処理を割り当てる割当手段
を有し、
前記割当手段は、余剰となっている処理量が同じ又は該処理量の差分が予め定められた範囲内である処理装置が複数ある場合は、該処理装置における過去の通信に関する統計に基づいて、前記第２の処理装置となる処理装置に処理を割り当てる、
処理割当装置。
【請求項２】
前記通信に関する統計は、対象とする時間帯における通信量と通信に要した時間から定められる値の統計である、
請求項１に記載の処理割当装置。
【請求項３】
前記通信量として、制御装置から処理装置へのデータの送信量を用い、
前記通信に要した時間として、前記データの通信に要した時間を用いる、
請求項２に記載の処理割当装置。
【請求項４】
前記通信量として、処理装置から制御装置へのデータの送信量を用い、
前記通信に要した時間として、前記データの通信に要した時間を用いる、
請求項２に記載の処理割当装置。
【請求項５】
前記割当手段は、過去の予め定められた時間帯に応じた負荷の変動に基づいて、いずれかの処理装置に処理の割り当てを行う、
請求項１に記載の処理割当装置。
【請求項６】
前記処理は終了時刻が定められており、該終了時刻までに終了しない場合を、処理量の不足とし、
前記複数の処理装置は、同じ計算能力を有している、
請求項１に記載の処理割当装置。
【請求項７】
前記処理量の不足又は余剰は、処理種類に応じた必要処理量と前記処理装置における処理量を用いて定められる、
請求項６に記載の処理割当装置。
【請求項８】
コンピュータを、
通信回線を介して接続されている複数の処理装置の負荷を監視する監視手段と、
前記監視手段の監視によって、第１の処理装置について処理量が不足する場合は、第２の処理装置に該第１の処理装置における処理を割り当てる割当手段
として機能させ、
前記割当手段は、余剰となっている処理量が同じ又は該処理量の差分が予め定められた範囲内である処理装置が複数ある場合は、該処理装置における過去の通信に関する係数に基づいて、前記第２の処理装置となる処理装置に処理を割り当てる、
処理割当プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理割当装置及び処理割当プログラムに関する。
【背景技術】
【０００２】
特許文献１には、管理ノードとなる１の計算機と処理ノードとなる複数の計算機でネットワークを構成し、管理ノードの指示にしたがい複数の業務を各処理ノードで分担して処理する分散処理システムにおいて、前記管理ノードは、業務と処理ノードの組み合わせを定めた複数の組み合わせパターンを記憶する運行計画記憶手段と、所定の選択データにより前記複数の組み合わせパターンの中から所定の組み合わせパターンを選択し各処理ノードに配送する業務割当手段を具備し、前記処理ノードは、前記管理ノードから配送された組み合わせパターンに基づいて、受信したトランザクションを自ノードで処理すべきか否か判断する処理業務選択手段を具備していることが開示されている。
【０００３】
特許文献２には、ネットワークに接続しているコンピュータが有する情報処理能力の余力部分を他者に対して開放し再販することができるようにするとともに、利用者が必要に応じて簡単に計算機資源を利用できるようにすることを課題とし、利用者からの計算処理の依頼を受け付け、その計算処理を並列処理可能な複数の計算単位ブロックに分割し、計算単位ブロックの各提供者への割り当てを決定し、複数の提供者に対してそれぞれに割り当てられた計算単位ブロックを配信し、各提供者は、それぞれ計算単位ブロックを計算し、結果をセンターシステムに送信し、結果を取りまとめ、利用者に送信するとともに、課金処理を実行することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３００３４４０号公報
【特許文献２】特開２００１−３２５０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の処理を複数の処理装置で分担して処理する分散処理システムがある。この分散処理システムでは、複数の処理装置が通信回線を介して接続されており、処理割当装置が各処理装置に対して処理を割り当てている。
処理の種類又は必要とする処理量によっては、処理装置の処理能力が不足する場合がある。この場合、処理割当装置は、他の処理装置において余剰となっている処理能力を割り当てることを行う。
しかし、余剰となっている処理能力が同程度である処理装置が複数ある場合が起こり得る。通信によっては、いずれの処理装置を選択するかによって、対象としている処理の終了予定時刻に間に合わない場合が生じる。
本発明は、通信回線を介して接続されている複数の処理装置に処理を割り当てる処理割当装置において、ある処理装置について処理量が不足する場合であって、余剰となっている処理量が同じ又はその処理量の差分が予め定められた範囲内である処理装置が複数あるときに、通信遅延を抑制する可能性が高い処理装置に、処理を割り当てることができる処理割当装置及び処理割当プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、通信回線を介して接続されている複数の処理装置の負荷を監視する監視手段と、前記監視手段の監視によって、第１の処理装置について処理量が不足する場合は、第２の処理装置に該第１の処理装置における処理を割り当てる割当手段を有し、前記割当手段は、余剰となっている処理量が同じ又は該処理量の差分が予め定められた範囲内である処理装置が複数ある場合は、該処理装置における過去の通信に関する統計に基づいて、前記第２の処理装置となる処理装置に処理を割り当てる、処理割当装置である。
【０００７】
請求項２の発明は、前記通信に関する統計は、対象とする時間帯における通信量と通信に要した時間から定められる値の統計である、請求項１に記載の処理割当装置である。
【０００８】
請求項３の発明は、前記通信量として、制御装置から処理装置へのデータの送信量を用い、前記通信に要した時間として、前記データの通信に要した時間を用いる、請求項２に記載の処理割当装置である。
【０００９】
請求項４の発明は、前記通信量として、処理装置から制御装置へのデータの送信量を用い、前記通信に要した時間として、前記データの通信に要した時間を用いる、請求項２に記載の処理割当装置である。
【００１０】
請求項５の発明は、前記割当手段は、過去の予め定められた時間帯に応じた負荷の変動に基づいて、いずれかの処理装置に処理の割り当てを行う、請求項１に記載の処理割当装置である。
【００１１】
請求項６の発明は、前記処理は終了時刻が定められており、該終了時刻までに終了しない場合を、処理量の不足とし、前記複数の処理装置は、同じ計算能力を有している、請求項１に記載の処理割当装置である。
【００１２】
請求項７の発明は、前記処理量の不足又は余剰は、処理種類に応じた必要処理量と前記処理装置における処理量を用いて定められる、請求項６に記載の処理割当装置である。
【００１３】
請求項８の発明は、コンピュータを、通信回線を介して接続されている複数の処理装置の負荷を監視する監視手段と、前記監視手段の監視によって、第１の処理装置について処理量が不足する場合は、第２の処理装置に該第１の処理装置における処理を割り当てる割当手段として機能させ、前記割当手段は、余剰となっている処理量が同じ又は該処理量の差分が予め定められた範囲内である処理装置が複数ある場合は、該処理装置における過去の通信に関する係数に基づいて、前記第２の処理装置となる処理装置に処理を割り当てる、処理割当プログラムである。
【発明の効果】
【００１４】
請求項１の処理割当装置によれば、通信回線を介して接続されている複数の処理装置に処理を割り当てる処理割当装置において、ある処理装置について処理量が不足する場合であって、余剰となっている処理量が同じ又はその処理量の差分が予め定められた範囲内である処理装置が複数あるときに、通信遅延を抑制する可能性が高い処理装置に、処理を割り当てることができる。
【００１５】
請求項２の処理割当装置によれば、対象とする時間帯における通信量と通信に要した時間から定められる値の統計を用いることができる。
【００１６】
請求項３の処理割当装置によれば、制御装置から処理装置へのデータの送信量と、データの通信に要した時間を用いることができる。
【００１７】
請求項４の処理割当装置によれば、処理装置から制御装置へのデータの送信量と、データの通信に要した時間を用いることができる。
【００１８】
請求項５の処理割当装置によれば、処理装置に割り当てに、過去の予め定められた時間帯に応じた負荷の変動を用いることができる。
【００１９】
請求項６の処理割当装置によれば、複数の処理装置は、同じ計算能力を有している場合、定められた終了時刻までに処理が終了しない場合を、処理量の不足とすることができる。
【００２０】
請求項７の処理割当装置によれば、処理種類に応じた必要処理量と処理装置における処理量を用いて、処理量の不足又は余剰を定めることができる。
【００２１】
請求項８の処理割当プログラムによれば、通信回線を介して接続されている複数の処理装置に処理を割り当てる処理割当装置において、ある処理装置について処理量が不足する場合であって、余剰となっている処理量が同じ又はその処理量の差分が予め定められた範囲内である処理装置が複数あるときに、通信遅延を抑制する可能性が高い処理装置に、処理を割り当てることができる。
【図面の簡単な説明】
【００２２】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】処理装置側の構成例についての概念的なモジュール構成図である。
【図４】本実施の形態による処理例を示すフローチャートである。
【図５】本実施の形態による処理例を示すフローチャートである。
【図６】タスクリストのデータ構造例を示す説明図である。
【図７】必要な処理能力（処理負荷）テーブルのデータ構造例を示す説明図である。
【図８】本実施の形態による処理例を示すフローチャートである。
【図９】処理予定テーブルのデータ構造例を示す説明図である。
【図１０】時刻−負荷の関係例を示した説明図である。
【図１１】時刻−負荷マップテーブルのデータ構造例を示す説明図である。
【図１２】本実施の形態による処理例を示すフローチャートである。
【図１３】時間−遅延マップテーブルのデータ構造例を示す説明図である。
【図１４】本実施の形態による処理例を示すフローチャートである。
【図１５】時刻−負荷の関係例を示した説明図である。
【図１６】時刻−遅延マップテーブルのデータ構造例を示す説明図である。
【図１７】時刻−遅延マップテーブルのデータ構造例を示す説明図である。
【図１８】タスクリスト・割り当てテーブル、割り当てテーブルのデータ構造例を示す説明図である。
【図１９】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２３】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係、ログイン等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。また、「Ａ、Ｂ、Ｃ」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その１つのみを選んでいる場合（例えば、Ａのみ）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２４】
本実施の形態である処理割当装置１００は、処理割当装置１００と通信回線１９０を介して接続されている複数の処理装置１８０に処理を割り当てるものであって、図１の例に示すように、負荷管理モジュール１１０、割当モジュール１１５、遅延管理モジュール１２０、負荷記録モジュール１２５、遅延記録モジュール１３０、負荷ＤＢ１３５、制御モジュール１４０、遅延ＤＢ１４５を有している。処理割当装置１００は、複数の処理装置１８０と通信回線１９０を介して接続されている。
なお、処理装置１８０は、計算ユニット、計算資源、コンピュータ等ともいわれる。
処理割当装置１００は、通信回線１９０に接続している処理装置１８０が有する情報処理能力の余力部分を他の処理装置１８０に対して提供する際に、処理部（プログラム）、データ（処理対象）を他の処理装置１８０へ転送し、処理結果を回収する必要がある。かかる場合において、処理割当装置１００は、転送及び回収に要する遅延（ＬＡＴＥＮＣＹ）を低減するものである。
【００２５】
負荷管理モジュール１１０は、割当モジュール１１５、負荷記録モジュール１２５と接続されており、各処理装置１８０から必要な処理１０４、必要なデータ量１０６を受け取り、各処理装置１８０の負荷を管理する。つまり、負荷管理モジュール１１０は、通信回線１９０を介して接続されている複数の処理装置１８０の負荷を監視する。
「通信回線１９０」として、専用回線、公衆回線を含む。そして、特に、公衆回線である場合は、時間帯（季節、月、月初、月末、週、日時等を含む）によって、通信時間が左右されることになる。したがって、同じ余剰処理量を有している処理装置が複数ある場合、通信遅延が生じにくい処理装置に割り当てた方が確実に処理を終了させることができる。
通信回線１９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。
【００２６】
割当モジュール１１５は、負荷管理モジュール１１０、遅延管理モジュール１２０、制御モジュール１４０と接続されており、各処理装置１８０から納期１０２を受け取り、処理量が不足している処理装置１８０（第１の処理装置）から、処理量が余剰している処理装置１８０（第２の処理装置）に、第１の処理装置で不足している処理を割り当てる。つまり、割当モジュール１１５は、負荷管理モジュール１１０の監視によって、第１の処理装置について処理量が不足することが判明した場合は、第２の処理装置となる処理装置にその第１の処理装置における処理を割り当てる。もちろんのことながら、第２の処理装置は、第１の処理装置とは異なる処理装置である。第２の処理装置は複数であってもよい。また、割り当てられる処理は、第１の処理装置で不足している処理量に相当する処理である。なお、第２の処理装置が複数である場合は、第１の処理装置で不足している処理量の一部が、各第２の処理装置に割り当てられる。また、「処理を割り当てる」とは、第２の処理装置が有する情報処理能力の余力部分を他の第１の処理装置に対して提供することをいう。
【００２７】
そして、割当モジュール１１５は、余剰となっている処理量が同じ又はその処理量の差分が予め定められた範囲内である処理装置１８０が複数ある場合（第２の処理装置の候補となる処理装置１８０が複数ある場合）は、その処理装置１８０（複数の処理装置１８０）における過去の通信に関する統計に基づいて、第２の処理装置（複数の処理装置１８０のうちの１つ以上）に処理を割り当てる。
「余剰となっている処理量が同じ」である場合の他に「余剰となっている処理量の差分が予め定められた範囲内である」である場合を含む。したがって、余剰となっている処理量が少しだけ異なる複数の処理装置も対象となる。
「過去の通信に関する統計」とは、対象とする時間帯における通信量と通信に要した時間から定められる値の統計としてもよい。「過去の通信に関する統計」の値として、具体的には、後述する遅延計数を用いるようにしてもよい。
また、ここでの「通信量」として、制御装置から処理装置へのデータの送信量を用い、「通信に要した時間」として、そのデータの通信に要した時間を用いるようにしてもよい。「制御装置から処理装置へのデータ」とは、処理を行うにあたって必要なデータである。なお、制御装置内に、処理割当装置１００が含まれていてもよい。「データの通信に要した時間」は、通信開始の時刻とデータの受信完了時刻との差分である。
また、ここでの「通信量」として、処理装置から制御装置へのデータの送信量を用い、「通信に要した時間」として、そのデータの通信に要した時間を用いるようにしてもよい。「処理装置から制御装置へのデータ」とは、処理装置における処理結果である。
【００２８】
また、割当モジュール１１５は、過去の予め定められた時間帯に応じた負荷の変動に基づいて、いずれかの処理装置１８０に処理の割り当てを行うようにしてもよい。
また、処理については終了時刻が定められており、その終了時刻までに終了しない場合を、処理量の不足としてもよい。そして、複数の処理装置１８０は、同じ計算能力を有しているものとしてもよい。なお、「同じ計算能力を有している処理装置１８０」として、同一の処理能力（同一のＣＰＵ、同容量のメモリ、同容量のハードディスク等の二次記憶装置等）を有しているコンピュータの他に、対象としている処理を行うのに、同じ処理時間で終了させ得るものであればよい。
その場合、処理量の不足又は余剰は、処理種類に応じた必要処理量と処理装置１８０における処理量を用いて定められるようにしてもよい。この場合、「複数の処理装置１８０は、同じ計算能力を有している」ので、処理種類に応じた必要処理量と処理装置１８０における処理量を用いて、処理量の不足又は余剰を算出することができる。
また、例えば、「複数の処理装置１８０は、同じ計算能力を有している」場合は、同一の計算能力を有する複数の計算ユニット（処理装置１８０）と各計算ユニットを接続するネットワークにおいて、各計算ユニットの計算負荷監視とアロケーションを制御することができるロードアロケーションシステムとしての機能を処理割当装置１００は有することになる。
【００２９】
なお、各処理装置１８０は、所有者が割り当てられており、処理の割り当てを他の所有者の処理装置に割り当てた場合は、処理を割り当てられた処理装置の所有者に対して、処理量が不足した処理装置の所有者が料金（使用料）を支払うようにしてもよい。
【００３０】
遅延管理モジュール１２０は、割当モジュール１１５、遅延記録モジュール１３０と接続されている。遅延管理モジュール１２０は、割当モジュール１１５の処理結果に基づいて、各処理装置１８０における処理の遅延を管理する。例えば、いずれの処理装置１８０が処理量が不足していることによって第１の処理装置になるか、その不足している処理量、その時期（時刻）はいつであるか等を管理する。
負荷記録モジュール１２５は、負荷管理モジュール１１０、負荷ＤＢ１３５、制御モジュール１４０と接続されている。負荷記録モジュール１２５は、負荷管理モジュール１１０による監視結果（負荷情報）を負荷ＤＢ１３５に記憶させ、制御モジュール１４０に渡す。
遅延記録モジュール１３０は、遅延管理モジュール１２０、制御モジュール１４０、遅延ＤＢ１４５と接続されている。遅延記録モジュール１３０は、遅延管理モジュール１２０による管理結果（遅延情報）を遅延ＤＢ１４５に記憶させ、制御モジュール１４０に渡す。
負荷ＤＢ１３５は、負荷記録モジュール１２５、遅延ＤＢ１４５と接続されている。負荷ＤＢ１３５は、負荷記録モジュール１２５の制御にしたがって、負荷情報を記憶する。
遅延ＤＢ１４５は、遅延記録モジュール１３０、負荷ＤＢ１３５と接続されている。遅延ＤＢ１４５は、遅延管理モジュール１２０の制御にしたがって、遅延情報を記憶する。
なお、実装上、負荷ＤＢ１３５、遅延ＤＢ１４５は、一体のデータベースとして構成してもよい。
【００３１】
制御モジュール１４０は、割当モジュール１１５、負荷記録モジュール１２５、遅延記録モジュール１３０と接続されており、また、通信回線１９０を介して処理装置１８０ａ、処理装置１８０ｂと接続されている。制御モジュール１４０は、割当モジュール１１５による処理の割り当て結果にしたがって、第１の処理装置から第２の処理装置内に、処理部（プログラム）、データ（処理対象）を転送する等の制御を行う。又は、第１の処理装置に対して、「第２の処理装置に対して処理を転送し、第２の処理装置から処理結果を回収すること」、そして、第２の処理装置に対して、「第１の処理装置から処理を受信し、処理結果を第１の処理装置に返信すること」を指示する制御を行うようにしてもよい。また、制御モジュール１４０は、負荷記録モジュール１２５からの負荷情報、遅延記録モジュール１３０からの遅延情報にしたがって、各処理装置１８０で行わせる処理を制御する。
【００３２】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
処理割当装置１００は、処理装置１８０Ｘと接続されており、また、通信回線１９０を介して、処理装置Ａ１８０Ａ、処理装置Ｂ１８０Ｂ、処理装置Ｃ１８０Ｃ、処理装置Ｄ１８０Ｄ等と接続されている。つまり、処理割当装置１００は、２以上の処理装置１８０と通信回線１９０で接続される。各処理装置１８０は同等な性能とする。また、複数の処理装置１８０を近接に設置してもよい（例えば、処理装置Ｃ１８０Ｃ、処理装置Ｄ１８０Ｄ）。この場合、処理装置Ｃ１８０Ｃと処理装置Ｄ１８０Ｄとの間の通信時間は、他の処理装置１８０（例えば、処理装置Ａ１８０Ａ等）との通信時間よりも短くなる可能性が大きい。つまり、前述した第１の処理装置として処理装置Ｃ１８０Ｃが該当した場合、処理装置Ａ１８０Ａ、処理装置Ｂ１８０Ｂ、処理装置Ｄ１８０Ｄにおいて余剰処理量が同じである場合、第２の処理装置として処理装置Ｄ１８０Ｄが選択されることになる可能性が高い。
なお、設置した各処理装置１８０は、別個のものとして扱う。また、処理割当装置１００は、処理装置１８０Ｘの機能を有していてもよい。そして、不足した処理量を補う処理装置１８０（処理装置１８０Ｘ以外の処理装置１８０）がない場合、処理装置１８０Ｘがその不足した処理量を補う処理装置１８０（第２の処理装置）となってもよい。また、処理割当装置１００による機能は、クラウドサービスとして実現してもよい。
【００３３】
図３は、処理装置１８０側の構成例についての概念的なモジュール構成図である。
処理割当装置１００は、通信回線１９０を介して、処理装置１８０ａ、処理装置１８０ｂ、処理装置１８０ｃ等と接続されている。処理装置１８０ｂ、処理装置１８０ｃ等も、処理装置１８０ａと同等のモジュール構成である。
処理装置１８０ａは、処理管理モジュール３１０、実行資源３４０を有している。
【００３４】
処理管理モジュール３１０は、通信モジュール３１５、制御モジュール３２０、配置モジュール３２５、監視モジュール３３０、回収モジュール３３５を有している。処理管理モジュール３１０は、処理割当装置１００からの指示にしたがって、実行資源３４０に処理を実行させる。
通信モジュール３１５は、制御モジュール３２０と接続されている。通信モジュール３１５は、処理割当装置１００又は他の処理装置１８０との通信を行う。
制御モジュール３２０は、通信モジュール３１５、配置モジュール３２５、監視モジュール３３０、回収モジュール３３５と接続されている。制御モジュール３２０は、処理管理モジュール３１０内の通信モジュール３１５、配置モジュール３２５、監視モジュール３３０、回収モジュール３３５を制御する。
【００３５】
配置モジュール３２５は、制御モジュール３２０、実行資源３４０と接続されている。配置モジュール３２５は、処理割当装置１００から送信されてきた依頼（プログラム、データ）を実行資源３４０のメモリ上に配置して実行を開始させる。いわゆるローダー（ｌｏａｄｅｒ）としての機能を有する。
監視モジュール３３０は、制御モジュール３２０、実行資源３４０と接続されている。監視モジュール３３０は、実行資源３４０の処理状況（つまり、負荷）を監視する。監視結果を制御モジュール３２０、通信モジュール３１５、通信回線１９０を介して処理割当装置１００に送信する。
回収モジュール３３５は、制御モジュール３２０、実行資源３４０と接続されている。回収モジュール３３５は、実行資源３４０による処理結果（データ）を、制御モジュール３２０、通信モジュール３１５、通信回線１９０を介して、処理割当装置１００又は他の処理装置１８０に送信する。いわゆるリトリーバー（ｒｅｔｒｉｅｖｅｒ）としての機能を有する。
実行資源３４０は、処理管理モジュール３１０の配置モジュール３２５、監視モジュール３３０、回収モジュール３３５と接続されている。実行資源３４０は、処理を行う実体であって、計算ユニット、コンピュータ等である。
【００３６】
図４は、本実施の形態による処理例を示すフローチャートである。
ステップＳ４０２では、負荷管理モジュール１１０が、タスクリストを作成する。ステップＳ４０２の詳細な処理については、図５の例に示すフローチャートを用いて後述する。
ステップＳ４０４では、負荷管理モジュール１１０が、時刻−負荷マップを作成する。ステップＳ４０４の詳細な処理については、図８の例に示すフローチャートを用いて後述する。
ステップＳ４０６では、遅延管理モジュール１２０が、時刻−遅延マップを作成する。ステップＳ４０６の詳細な処理については、図１２の例に示すフローチャートを用いて後述する。
【００３７】
ステップＳ４０８では、負荷管理モジュール１１０が、次のタスクを取得する。
ステップＳ４１０では、負荷管理モジュール１１０が、タスクがあるか否かを判断し、ある場合はステップＳ４１２へ進み、それ以外の場合は処理を終了する（ステップＳ４９９）。
ステップＳ４１２では、割当モジュール１１５が、タスク割当を行う。ステップＳ４１２の詳細な処理については、図１４の例に示すフローチャートを用いて後述する。
【００３８】
図５は、本実施の形態による処理例（ステップＳ４０２）を示すフローチャートである。
１つの処理装置１８０に割り当てられる処理内容をタスクとする。
各処理装置１８０にはオーナー（使用者）が設定され、各オーナーは基本的には自分が必要とする処理を自分の処理装置１８０で実行する。
各タスクの、納期、オーナー、処理内容、処理量をリスト化して、タスクリスト６００を生成する。
各タスクに、処理装置１８０における必要処理量（計算機リソースの見込み使用量）を事前に定める。各タスクに必要な処理量は、必要処理量と処理量の積算で見積もることができる。
【００３９】
ステップＳ５０２では、各処理装置１８０から処理予定を受け取る。
ステップＳ５０４では、タスク毎に必要処理量を算出する。必要処理量を、例えば、必要な処理能力（処理負荷）テーブル７００を用いて算出する。図７は、必要な処理能力（処理負荷）テーブル７００のデータ構造例を示す説明図である。必要な処理能力（処理負荷）テーブル７００は、処理内容ＩＤ欄７０５、必要処理量欄７１０を有している。処理内容ＩＤ欄７０５は、本実施の形態において、処理内容を一意に識別するための情報（処理内容ＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ、プログラムＩＤであってもよい）を記憶している。必要処理量欄７１０は、その処理内容で必要となる単位あたりの処理量を記憶している。
例えば、タスクの処理内容ＩＤ：「０ｘ０１」であり、処理量：「１００」である場合は、必要な処理能力（処理負荷）テーブル７００から必要処理量：「０．５」であることから、そのタスクにおける必要処理量は、０．５×１００＝５０と算出できる。
【００４０】
ステップＳ５０６では、タスクリスト６００を生成する。図６は、タスクリスト６００のデータ構造例を示す説明図である。タスクリスト６００は、開始時刻欄６０５、納期欄６１０、オーナー欄６１５、処理内容欄６２０、処理量欄６２５を有している。開始時刻欄６０５は、その処理装置１８０での処理の開始時刻（処理開始予定時刻）を記憶している。納期欄６１０は、その処理の納期（処理終了予定時刻）を記憶している。オーナー欄６１５は、その処理装置１８０のオーナーを記憶している。また、処理装置１８０を識別する情報（ＩＤ）を記憶してもよい。処理内容欄６２０は、その処理の処理内容（例えば、プログラム名等）を記憶している。処理量欄６２５は、その処理の処理量を記憶している。例えば、処理装置Ａ１８０Ａから、開始時刻：「１０：１１」、納期：「１０：１６」、オーナー：「Ａ」、処理内容：「０ｘ０１」、処理量：「１００」を受け取り、タスクリスト６００の１行目に記憶させる。以下、同様の処理を行って、タスクリスト６００を生成する。
【００４１】
図８は、本実施の形態による処理例（ステップＳ４０４）を示すフローチャートである。時刻−負荷マップを生成するものであり、具体的には、余剰処理量と不足処理量を算出するものである。
ステップＳ８０２では、処理予定テーブル９００から次の処理を取得する。図９は、処理予定テーブル９００のデータ構造例を示す説明図である。処理予定テーブル９００は、処理時間ｔ１、ｔ２、ｔ３において、処理装置毎に予定される処理内容とデータ量を管理するテーブルである。つまり、単位時間（この例では、ｔ１からｔ２まで、ｔ２からｔ３まで）あたりの処理の状態を管理するものである。処理予定テーブル９００は、処理装置ＩＤ欄９０５、開始時刻欄９１０、終了時刻欄９１５、処理内容ＩＤ欄９２０、処理量欄９２５、余剰処理量（正）、不足処理量（負）欄９３０を有している。処理装置ＩＤ欄９０５は、本実施の形態において、処理装置を一意に識別するための情報（処理装置ＩＤ）を記憶している。ここでは、処理装置ＩＤとしてオーナーを記憶している。開始時刻欄９１０は、その処理の開始時刻を記憶している。終了時刻欄９１５は、その処理の終了時刻を記憶している。処理内容ＩＤ欄９２０は、処理内容ＩＤを記憶している。処理量欄９２５は、処理量を記憶している。余剰処理量（正）、不足処理量（負）欄９３０は、余剰処理量（正）、不足処理量（負）を記憶している。なお、余剰処理量（正）、不足処理量（負）欄９３０は、ステップＳ８０２の段階では、空欄である。ステップＳ８０６によって算出され、ステップＳ８０８で余剰処理量（正）、不足処理量（負）欄９３０に記憶される。
【００４２】
ステップＳ８０４では、処理予定が有るか否かを判断し、有る場合はステップＳ８０６へ進み、それ以外の場合はステップＳ８１０へ進む。
ステップＳ８０６では、余剰／不足処理量を計算する。
処理予定テーブル９００の余剰処理量（正）、不足処理量（負）欄９３０内の値は、処理予定テーブル９００の上から順に、以下のように算出する。
０．９＝１．０−（０．２×０．５）
１．０＝１．０−（０．０×０．０）
０＝１．０−（１．０×１．０）
１．０＝１．０−（０．０×０．０）
−０．５＝１．０−（１．０×１．５）
−０．５＝１．０−（１．０×１．５）
１．０＝１．０−（０．０×０．０）
−１．０＝１．０−（０．５×３．０）
【００４３】
ステップＳ８０８では、負荷ＤＢ１３５へ時刻（開始、終了）、処理装置ＩＤ、余剰／不足処理量を記録する。具体的には、処理予定テーブル９００の余剰処理量（正）、不足処理量（負）欄９３０にステップＳ８０６の計算結果を記憶させる。
ここで、図９の例に示した処理予定テーブル９００の状態を、図１０の例を用いて説明する。
図１０は、時刻と各処理装置１８０における負荷の関係例を示した説明図である。
時刻ｔ１からｔ２までの間（以下、「時刻ｔ１−ｔ２」と記す）では、処理装置Ｄ１８０Ｄは余剰処理量：１．０、処理装置Ａ１８０Ａは余剰処理量：０．９、処理装置Ｂ１８０Ｂは余剰処理量：０（つまり、過不足ないことを示している）、処理装置Ｃ１８０Ｃは不足処理量：−０．５であることを示している。この時刻ｔ１−ｔ２では、処理装置Ｃ１８０Ｃは処理量が不足しており、処理装置Ａ１８０Ａ、処理装置Ｄ１８０Ｄは処理量に余裕があることを示している。
時刻ｔ２−ｔ３では、処理装置Ａ１８０Ａは余剰処理量：１．０、処理装置Ｂ１８０Ｂは余剰処理量：１．０、処理装置Ｃ１８０Ｃは不足処理量：−０．５、処理装置Ｄ１８０Ｄは不足処理量：−０．５であることを示している。この時刻ｔ２−ｔ３では、処理装置Ｃ１８０Ｃ、処理装置Ｄ１８０Ｄは処理量が不足しており、処理装置Ａ１８０Ａ、処理装置Ｂ１８０Ｂは処理量に余裕があることを示している。
【００４４】
ステップＳ８１０では、処理予定毎の処理量について、偏差値を計算する。
ステップＳ８１２では、負荷ＤＢ１３５へ余剰／不測処理量の偏差値を記録する。例えば、時刻−負荷マップテーブル１１００を生成し、記憶させる。図１１は、時刻−負荷マップテーブル１１００のデータ構造例を示す説明図である。時刻−負荷マップテーブル１１００は、処理装置ＩＤ欄１１０５、開始時刻欄１１１０、終了時刻欄１１１５、処理内容ＩＤ欄１１２０、処理量欄１１２５、余剰処理量（正）、不足処理量（負）欄１１３０、余剰処理量の偏差値欄１１３５、不足処理量の偏差値欄１１４０を有している。時刻−負荷マップテーブル１１００は、処理予定テーブル９００に余剰処理量の偏差値欄１１３５、不足処理量の偏差値欄１１４０を付加したものである。処理装置ＩＤ欄１１０５は、処理装置ＩＤを記憶している。開始時刻欄１１１０は、開始時刻を記憶している。終了時刻欄１１１５は、終了時刻を記憶している。処理内容ＩＤ欄１１２０は、処理内容ＩＤを記憶している。処理量欄１１２５は、処理量を記憶している。余剰処理量（正）、不足処理量（負）欄１１３０は、余剰処理量（正）、不足処理量（負）を記憶している。余剰処理量の偏差値欄１１３５は、余剰処理量の偏差値を記憶している。不足処理量の偏差値欄１１４０は、不足処理量の偏差値を記憶している。
【００４５】
図１２は、本実施の形態による処理例（ステップＳ４０６）を示すフローチャートである。時刻−遅延マップを生成するものであり、具体的には、通信遅延時間の記録と分類の処理を行うものである。負荷記録モジュール１２５は、予め定められた時間間隔で、各処理装置１８０について、予め定められた処理のレイテンシ（通信遅延時間）を記録する。
ステップＳ１２０２では、事前に定めた時間間隔で、時刻昇順で次の処理を取得する。
ステップＳ１２０４では、処理が有るか否かを判断し、有る場合はステップＳ１２０６へ進み、それ以外の場合はステップＳ１２１０へ進む。
【００４６】
ステップＳ１２０６では、区間の割当性能を計算する。
処理割当装置１００からのデータ送信量Ｑ１、開始時刻Ｔｓ１と、処理装置１８０におけるそのデータ通信の受信完了時刻Ｔｓ２、及び、処理装置１８０での処理結果のデータ量Ｑ２、送信開始時刻Ｔｒ１と処理装置１８０でのその処理結果の受信完了時刻Ｔｒ２を、負荷ＤＢ１３５へ記録する。
そして、負荷ＤＢ１３５に記録された時刻情報をもとにして、次に示す式（１）を用いて割当性能（割当率）：Ｒｄ（Ｋｂｙｔｅ／ｓｅｃ）を算出し、式（２）を用いて回収性能（回収率）：Ｒｒ（Ｋｂｙｔｅ／ｓｅｃ）を算出する。
【数１】
2019159385.tif 000003
【数２】
2019159385.tif 000004
【００４７】
割当性能及び回収性能は、別途指定する任意の間隔で、平均値μ、標準偏差σ、及び偏差値を算出する。
算出した平均値、標準偏差、及び偏差値を、遅延ＤＢ１４５に格納する。
レイテンシは時間変動幅を有するため常に更新が必要であり、数値的に厳密な比較よりむしろ、レイテンシ大、中、小の様に分類して保持することが適当である。ゆえに、割当性能及び回収性能の標準偏差をσとするとき、任意時間におけるＲｄ又はＲｒをｘとして、遅延係数を式（３）のように分類する。
【数３】
2019159385.tif 000005
なお、遅延係数ａは、遅延しにくいことを示しており、遅延係数ｃは、遅延しやすいことを示しており、遅延係数ｂは、その中間であることを示している。
そして、時間−遅延マップテーブル１３００を生成する。図１３は、時間−遅延マップテーブル１３００のデータ構造例を示す説明図である。時間−遅延マップテーブル１３００は、処理装置ＩＤ欄１３０５、月日欄１３１０、時刻欄１３１５、遅延係数欄１３２０を有している。処理装置ＩＤ欄１３０５は、処理装置ＩＤを記憶している。月日欄１３１０は、月日を記憶している。時刻欄１３１５は、時刻を記憶している。遅延係数欄１３２０は、遅延係数を記憶している。例えば、時間−遅延マップテーブル１３００の１行目は、１０月１日の時刻ｔ１−ｔ２では、遅延係数ａであること（遅延しにくいこと）を示している。時間−遅延マップテーブル１３００の３行目は、１０月１日の時刻ｔ３−ｔ４では、遅延係数ｃであること（遅延しやすいこと）を示している。
【００４８】
ステップＳ１２０８では、遅延ＤＢ１４５へ時刻（開始、終了）、処理装置ＩＤ、割当／回収率を記録する。
ステップＳ１２１０では、処理予定毎の処理量について平均値、偏差値、標準偏差を計算し、遅延係数を割り当てる。
ステップＳ１２１２では、遅延ＤＢ１４５へ余剰／不測処理量の偏差値、遅延係数を記録する。
【００４９】
図１４は、本実施の形態による処理例（ステップＳ４１２）を示すフローチャートである。
ステップＳ１４０２では、タスクリスト６００から次の処理を取得する。図６に示すタスクリスト６００では、時刻１０：１１に開始する処理を取得する。この場合、オーナーＡの処理装置Ａ、オーナーＢの処理装置、オーナーＤの処理装置Ｄが該当する。
ステップＳ１４０４では、タスクが有るか否かを判断し、有る場合はステップＳ１４０６へ進み、それ以外の場合は処理を終了する（ステップＳ１４９９）。
ステップＳ１４０６では、不足処理量が有るか否かを判断し、有る場合はステップＳ１４０８へ進み、それ以外の場合はステップＳ１４０２へ戻る。
【００５０】
ステップＳ１４０８では、負荷分散候補を検索する。
ステップＳ１４１０では、候補が有るか否かを判断し、有る場合はステップＳ１４１２へ進み、それ以外の場合はステップＳ１４１８へ進む。
ステップＳ１４１２では、複数の候補が有るか否かを判断し、有る場合はステップＳ１４１６へ進み、それ以外の場合はステップＳ１４１４へ進む。
【００５１】
ステップＳ１４１４では、候補の処理装置１８０に処理を割り当てる。
ステップＳ１４１６では、遅延係数最小の候補に割り当てる。
ステップＳ１４１８では、処理割当装置１００の処理装置１８０Ｘへ割り当てる。
【００５２】
図１５は、時刻と各処理装置１８０における負荷の関係例を示した説明図である。
時刻ｔ１−ｔ２では、処理装置Ｂ１８０Ｂは余剰処理量：０．５、処理装置Ｄ１８０Ｄは余剰処理量：０．５であることを示している。
時刻ｔ１−ｔ３では、処理装置Ａ１８０Ａは不足処理量：−１．０であることを示している。
時刻ｔ２−ｔ４では、処理装置Ｃ１８０Ｃは余剰処理量：１．０、処理装置Ｄ１８０Ｄは余剰処理量：１．０、処理装置Ｂ１８０Ｂは余剰処理量：０であることを示している。
【００５３】
処理装置Ａ１８０Ａにおいて開始時刻ｔ１から納期ｔ３までの不足処理量は−１．０であり、これを対象とした場合の負荷分散の候補となる処理装置１８０を抽出する。つまり、時刻ｔ１−ｔ２での割当候補として処理装置Ｂ１８０Ｂ、処理装置Ｄ１８０Ｄがある。そして、余剰処理量は両方とも０．５であり、２つを合わせると、処理装置Ａ１８０Ａの不足処理量に合致する。同区間では不足処理量を補うために他の候補はないため、遅延係数は勘案せずに処理装置Ｂ１８０Ｂ、処理装置Ｄ１８０Ｄへ処理を割り当てる。
【００５４】
次に、時刻ｔ２−ｔ３での割当先の候補として処理装置Ｃ１８０Ｃ、処理装置Ｄ１８０Ｄがある。そして、時刻ｔ２−ｔ３では、処理装置Ｃ１８０Ｃ、処理装置Ｄ１８０Ｄの余剰となっている処理量が１．０と同じである。そして、処理装置Ａ１８０Ａの不足している処理量−１．０を、処理装置Ｃ１８０Ｃ、処理装置Ｄ１８０Ｄのいずれか一方で補うことができるものである。したがって、処理装置Ｃ１８０Ｃ、処理装置Ｄ１８０Ｄのいずれか一方を選択する必要がある。
【００５５】
そこで、処理装置Ｃ１８０Ｃの時刻−遅延マップテーブル１６００、処理装置Ｄ１８０Ｄの時刻−遅延マップテーブル１７００を参照する。図１６は、時刻−遅延マップテーブル１６００のデータ構造例を示す説明図である。図１７は、時刻−遅延マップテーブル１７００のデータ構造例を示す説明図である。時刻−遅延マップテーブル１６００、時刻−遅延マップテーブル１７００は、前述した時間−遅延マップテーブル１３００と同等のデータ構造を有している。時刻−遅延マップテーブル１６００、時刻−遅延マップテーブル１７００より、時刻ｔ２−ｔ３における処理装置Ｃ１８０Ｃと処理装置D１８０Dの遅延係数を比較して、より遅延が少ない処理装置Ｃ１８０Ｃへ処理（処理装置Ａ１８０Ａの不足している処理量分の処理）を割り当てる。
【００５６】
処理を割り当てた結果、タスクリスト・割り当てテーブル１８００、割り当てテーブル１８５０を生成する。図１８は、タスクリスト・割り当てテーブル１８００、割り当てテーブル１８５０のデータ構造例を示す説明図である。
図１８（ａ）は、タスクリスト・割り当てテーブル１８００のデータ構造例を示す説明図である。タスクリスト・割り当てテーブル１８００は、開始時刻欄１８０５、納期欄１８１０、オーナー欄１８１５、処理内容欄１８２０、処理量欄１８２５、割り当て欄１８３０を有している。開始時刻欄１８０５は、開始時刻を記憶している。納期欄１８１０は、納期を記憶している。オーナー欄１８１５は、オーナー（処理装置Ａ１８０Ａ）を記憶している。処理内容欄１８２０は、処理内容を記憶している。処理量欄１８２５は、処理量を記憶している。割り当て欄１８３０は、割り当てを記憶している割り当てテーブル１８５０へのポインタを記憶している。つまり、処理装置Ａ１８０Ａの不足処理量を補う処理装置１８０に関する情報を参照している。
【００５７】
図１８（ｂ）は、割り当てテーブル１８５０のデータ構造例を示す説明図である。割り当てテーブル１８５０は、割当時刻欄１８５５、割当量欄１８６０、依頼元欄１８６５、依頼先欄１８７０、回収時刻欄１８７５を有している。割当時刻欄１８５５は、割当時刻を記憶している。割当量欄１８６０は、割当量を記憶している。依頼元欄１８６５は、依頼元の処理装置１８０を記憶している。依頼先欄１８７０は、依頼先の処理装置１８０を記憶している。回収時刻欄１８７５は、回収時刻を記憶している。具体的には、処理装置Ａ１８０Ａは時刻ｔ１において、処理装置Ｂ１８０Ｂに処理を依頼し、その処理結果時刻ｔ２に回収する。処理装置Ａ１８０Ａは時刻ｔ１において、処理装置Ｄ１８０Ｄに処理を依頼し、その処理結果時刻ｔ２に回収する。そして、処理装置Ａ１８０Ａは時刻ｔ２において、処理装置Ｃ１８０Ｃに処理を依頼し、その処理結果時刻ｔ３に回収する。なお、処理装置Ａ１８０Ａと他の処理装置１８０との間で直接に転送及び回収を行うように記載しているが、処理割当装置１００を介して、処理装置１８０間の転送及び回収を行ってもよい。
【００５８】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図１９に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ１９０１を用い、記憶装置としてＲＡＭ１９０２、ＲＯＭ１９０３、ＨＤ１９０４を用いている。ＨＤ１９０４として、例えばハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を用いてもよい。負荷管理モジュール１１０、割当モジュール１１５、遅延管理モジュール１２０、負荷記録モジュール１２５、遅延記録モジュール１３０、制御モジュール１４０、処理管理モジュール３１０、通信モジュール３１５、配置モジュール３２５、監視モジュール３３０、回収モジュール３３５等のプログラムを実行するＣＰＵ１９０１と、そのプログラムやデータを記憶するＲＡＭ１９０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１９０３と、負荷ＤＢ１３５、遅延ＤＢ１４５としての機能を有する補助記憶装置（フラッシュ・メモリ等であってもよい）であるＨＤ１９０４と、キーボード、マウス、タッチスクリーン、マイク、カメラ（視線検知カメラ等を含む）等に対する利用者の操作（動作、音声、視線等を含む）に基づいてデータを受け付ける受付装置１９０６と、ＣＲＴ、液晶ディスプレイ、スピーカー等の出力装置１９０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース１９０７、そして、それらをつないでデータのやりとりをするためのバス１９０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。なお、実行資源３４０は、図１９の例に示すコンピュータとしてもよい。
【００５９】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１９に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１９に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図１９に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６１】
１００…処理割当装置
１０２…納期
１０４…必要な処理
１０６…必要なデータ量
１１０…負荷管理モジュール
１１５…割当モジュール
１２０…遅延管理モジュール
１２５…負荷記録モジュール
１３０…遅延記録モジュール
１３５…負荷ＤＢ
１４０…制御モジュール
１４５…遅延ＤＢ
１８０…処理装置
１９０…通信回線
３１０…処理管理モジュール
３１５…通信モジュール
３２０…制御モジュール
３２５…配置モジュール
３３０…監視モジュール
３３５…回収モジュール
３４０…実行資源
【図１】
2019159385.tif 000006
【図２】
2019159385.tif 000007
【図３】
2019159385.tif 000008
【図４】
2019159385.tif 000009
【図５】
2019159385.tif 000010
【図６】
2019159385.tif 000011
【図７】
2019159385.tif 000012
【図８】
2019159385.tif 000013
【図９】
2019159385.tif 000014
【図１０】
2019159385.tif 000015
【図１１】
2019159385.tif 000016
【図１２】
2019159385.tif 000017
【図１３】
2019159385.tif 000018
【図１４】
2019159385.tif 000019
【図１５】
2019159385.tif 000020
【図１６】
2019159385.tif 000021
【図１７】
2019159385.tif 000022
【図１８】
2019159385.tif 000023
【図１９】
2019159385.tif 000024