(57)【要約】【課題】容量の異なる複数の資源に対して適切にジョブを割り付けることで、当該ジョブを効率よく実行することができるジョブ実行計画を作成する。【解決手段】複数の資源それぞれに対して仮想資源を設定し、所望のジョブの実行に必要な容量を有する資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない仮想資源のうち、最小容量の資源に対して設定された仮想資源の何れか１つに所望のジョブを割付け、所望のジョブの実行に必要な容量未満の資源について、各資源に設定された仮想資源の何れか１つに対して、所望のジョブが割り付けられたことを示す割付情報を付加する。【選択図】図１
2010271856.tif 000002
【特許請求の範囲】
【請求項１】
要求される指示を達成するために実行すべき複数のジョブを、異なる容量の複数の資源に対して割り付けて該複数のジョブの実行計画を作成するジョブ実行計画作成装置であって、
前記複数の資源それぞれに対して、自己の資源と該自己の資源の容量以上の容量を有する他の資源との合計数と同数の仮想資源を設定する仮想資源設定手段と、
所望のジョブの実行に必要な容量を有する前記資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない前記仮想資源のうち、最小容量の前記資源に対して設定された前記仮想資源の何れか１つに前記所望のジョブを割付ける割付手段と、
前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に設定された前記仮想資源の何れか１つずつに対して、該所望のジョブが割り付けられたことを示す割付情報を付加する情報付加手段と、
前記所望のジョブが前記仮想資源に対して割付されたか否か、及び、前記所望のジョブの実行に必要な容量未満の全ての前記資源について、該資源に対して設定された前記仮想資源の１つに対して前記割付情報が付加されたか否かを判定する判定手段と、
を備えたことを特徴とするジョブ実行計画作成装置。
【請求項２】
前記仮想資源設定手段は、資源が増加した場合に、該資源に対する仮想資源を更に設定し、
前記判定手段は、前記仮想資源が更に設定された場合に、未だ割り付けられていなかったジョブについて、未だ他のジョブが割り付けられていない前記仮想資源に対して割付可能か否かを判定することを特徴とする請求項１に記載のジョブ実行計画作成装置。
【請求項３】
要求される指示を達成するために実行すべき複数のジョブを、異なる容量の複数の資源に対して割り付けて該複数のジョブの実行計画を作成するジョブ実行計画作成方法であって、
前記複数の資源それぞれに対して、自己の資源と該自己の資源の容量以上の容量を有する他の資源との合計数と同数の仮想資源を設定するステップと、
所望のジョブの実行に必要な容量を有する前記資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない前記仮想資源のうち、最小容量の前記資源に対して設定された前記仮想資源の何れか１つに前記所望のジョブを割付けるステップと、
前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に設定された前記仮想資源の何れか１つずつに対して、該所望のジョブが割り付けられたことを示す割付情報を付加するステップと、
前記所望のジョブが前記仮想資源に対して割付されたか否か、及び、前記所望のジョブの実行に必要な容量未満の全ての前記資源について、該資源に対して設定された前記仮想資源の１つに対して前記割付情報が付加されたか否かを判定するステップと、
を備えたことを特徴とするジョブ実行計画作成方法。
【請求項４】
要求される指示を達成するために実行すべき複数のジョブを、異なる容量の複数の資源に対して割り付けて該複数のジョブの実行計画を作成するジョブ実行計画作成プログラムであって、
前記複数の資源それぞれに対して、自己の資源と該自己の資源の容量以上の容量を有する他の資源との合計数と同数の仮想資源を設定するステップと、
所望のジョブの実行に必要な容量を有する前記資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない前記仮想資源のうち、最小容量の前記資源に対して設定された前記仮想資源の何れか１つに前記所望のジョブを割付けるステップと、
前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に設定された前記仮想資源の何れか１つずつに対して、該所望のジョブが割り付けられたことを示す割付情報を付加するステップと、
前記所望のジョブが前記仮想資源に対して割付されたか否か、及び、前記所望のジョブの実行に必要な容量未満の全ての前記資源について、該資源に対して設定された前記仮想資源の１つに対して前記割付情報が付加されたか否かを判定するステップと、
をコンピュータに実行させることを特徴とするジョブ実行計画作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ実行計画作成装置及びジョブ実行計画作成方法に関し、特に、要求されるオーダ（指示）を達成するために実行すべき複数のジョブを複数の資源に対して割り付けて該複数のジョブを実行する計画を作成するジョブ実行計画作成装置、ジョブ実行計画作成方法及びジョブ実行計画作成プログラムに関するものである。
【背景技術】
【０００２】
例えば、工業製品の生産プロセス等においては、生産プロセスの一工程として要求されるオーダ（指示）に関する複数のジョブを、複数の資源（設備や人等）を用いて実行する。この際、複数の資源に対して、複数のジョブを優先順位の高い順に割り付けることで、何れのジョブが何れの資源において、いつ実行されるかを定めた実行計画を作成し、ジョブ実行の効率化を図っている。
このようなジョブ実行計画を作成する技術の例として、特許文献１には、ロット優先度やロット納期から求められる各ジョブの割付キー（評価の対象）とその重み（重要度）を用いてジョブ毎に評価値を求め、評価値の高い順に各ジョブを資源に割り付ける生産スケジュール方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３７３０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ジョブが実行可能な資源は、ジョブに要求される容量以上の容量を有する資源であるが、例えば、複数の資源の中に同一種類で異なる容量の資源が含まれる場合には、単純に優先順位に従ってジョブを割り付けるだけでは要求されるオーダを効率よく達成することができない場合がある。すなわち、小容量のジョブが大容量の資源に割り付けられている場合には、大容量のジョブを割り付けられる資源がなくなってしまい、実行計画の再作成、すなわち、資源に対するジョブの割り付けの組み合わせを変更するなどの必要が生じる。また、この際、最も効率よくジョブが実行できる実行計画が作成されるまで試行錯誤を繰り返すこととなる。
【０００５】
本発明は、上記問題を解決するためになされたもので、容量の異なる複数の資源に対して適切にジョブを割り付けることで、当該ジョブを効率よく実行することができるジョブ実行計画を作成するジョブ実行計画作成装置、ジョブ実行計画作成方法及びジョブ実行計画作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は以下の手段を採用する。
【０００７】
本発明は、要求される指示を達成するために実行すべき複数のジョブを、異なる容量の複数の資源に対して割り付けて該複数のジョブの実行計画を作成するジョブ実行計画作成装置であって、前記複数の資源それぞれに対して、自己の資源と該自己の資源の容量以上の容量を有する他の資源との合計数と同数の仮想資源を設定する仮想資源設定手段と、所望のジョブの実行に必要な容量を有する前記資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない前記仮想資源のうち、最小容量の前記資源に対して設定された前記仮想資源の何れか１つに前記所望のジョブを割付ける割付手段と、前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に設定された前記仮想資源の何れか１つずつに対して、該所望のジョブが割り付けられたことを示す割付情報を付加する情報付加手段と、前記所望のジョブが前記仮想資源に対して割付されたか否か、及び、前記所望のジョブの実行に必要な容量未満の全ての前記資源について、該資源に対して設定された前記仮想資源の１つに対して前記割付情報が付加されたか否かを判定する判定手段と、を備えたことを特徴とするジョブ実行計画作成装置を提供する。
【０００８】
本発明によれば、まず、仮想資源設定手段により、複数の資源のそれぞれに対して、自己の資源と自己の資源の容量以上の容量を有する他の資源との合計数と同数の仮想資源が存在すると仮定する。複数の資源では、処理可能な容量がそれぞれ異なっており、ジョブによって、全ての資源で処理が可能なジョブや、特定の資源のみで処理可能なジョブなど様々なものが想定される。一方、自己の資源及び自己の資源の容量以上の容量を有する他の資源は、自己の資源において実行可能なジョブを、実行することが出来る資源である。換言すると、自己の資源の容量以下の容量を要するジョブを実行可能な資源は、自己の資源及び自己の資源の容量以上の容量を有する他の資源の合計数だけ存在することとなる。このため、複数の資源のそれぞれに対して、自己の資源及び自己の資源の容量以上の容量を有する他の資源の合計数だけ仮想資源を設定する。
【０００９】
続いて、割付手段により、所望のジョブの実行に必要な容量を有する前記資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない前記仮想資源のうち、最小容量の前記資源に対して設定された前記仮想資源の何れか１つに前記所望のジョブを割付ける。すなわち複数のジョブを複数の資源に割り付けていく過程において、所望のジョブを実行するために必要な容量を把握し、このジョブを実行可能な容量を有する資源を特定する。さらに、特定された資源に対して設定された仮想資源の中から、未だ他のジョブが割り付けられていないものであって、最小容量の資源と対応する何れか１つの仮想資源に対して、このジョブを割り付ける。これにより、所望のジョブが実行可能な資源が複数ある場合に、その中の最小容量の資源に対して設定された仮想資源に対して割り付けられたこととなる。
【００１０】
また、情報付加手段により、前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に設定された前記仮想資源の何れか１つずつに対して、該所望のジョブが割り付けられたことを示す割付情報を付加する。具体的には、所望のジョブが割り付けられた仮想資源は、そのジョブを処理することが可能な容量を有する何れかの資源の存在を仮定したものであり、実際の資源との対応関係を考慮すると、他の資源に対して設定された仮想資源と重複する場合がある。このため、すでにジョブが割り付けられた仮想資源以外の仮想資源であって、所望のジョブの実行に必要な容量未満の資源の、各資源に対して設定された前記仮想資源の何れか１つに対しては、ジョブが割り付けられていることを示す割付情報を付加することで、この仮想資源に対して、他のジョブの割付ができない状態とする。
【００１１】
さらに、判定手段により、所望のジョブが仮想資源に対して割付されたか否か、及び、前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に対して設定された前記仮想資源の何れか１つずつに対して前記割付情報が付加されたか否かを判定する。所望のジョブが割り付けられたか否か、言い換えると、所望のジョブを実行可能であり、割り付け可能な状態の資源があったか否かを判定する。
【００１２】
また、上記したジョブ実行計画作成装置において、前記仮想資源設定手段は、資源が増加した場合に該資源に対する仮想資源を更に設定し、前記判定手段は、前記仮想資源が更に設定された場合に、未だ割り付けられていなかったジョブについて、未だ他のジョブが割り付けられていない前記仮想資源に対して割付可能か否かを判定することが好ましい。
【００１３】
本発明によれば、何れかの資源が増加した場合には、未だ割付されていなかったジョブを割り付けられる可能性が生じる。このため、仮想資源設定手段により、その資源に対する仮想資源を更に設定し、判定手段により、未だ他のジョブが割り付けられていない仮想資源の中で、未だ割付されていなかったジョブを割り付けることが出来る仮想資源があるか否かを判定する。ここで、既にジョブが割り付けられている仮想資源と、所望のジョブの実行に必要な容量未満の全ての資源の、各資源に設定された仮想資源の何れか１つずつに対しては、既に割付情報が付加されている、すなわち、その他の仮想資源には割付情報が付加されていない。このため、割付情報が付加されていない仮想資源を含む未だ他のジョブが割り付けられていない仮想資源の中で、未だ割付されていなかったジョブを、割付可能か否かを判定することで、割付を最初からやり直すことなく、全資源の中でジョブを割り付けることが出来るか否かを判定することが出来る。
【００１４】
本発明は、要求される指示を達成するために実行すべき複数のジョブを、異なる容量の複数の資源に対して割り付けて該複数のジョブの実行計画を作成するジョブ実行計画作成方法であって、前記複数の資源それぞれに対して、自己の資源と該自己の資源の容量以上の容量を有する他の資源との合計数と同数の仮想資源を設定するステップと、所望のジョブの実行に必要な容量を有する前記資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない前記仮想資源のうち、最小容量の前記資源に対して設定された前記仮想資源の何れか１つに前記所望のジョブを割付けるステップと、前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に設定された前記仮想資源の何れか１つずつに対して、該所望のジョブが割り付けられたことを示す割付情報を付加するステップと、前記所望のジョブが前記仮想資源に対して割付されたか否か、及び、前記所望のジョブの実行に必要な容量未満の全ての前記資源について、該資源に対して設定された前記仮想資源の１つに対して前記割付情報が付加されたか否かを判定するステップと、を供えたことを特徴とするジョブ実行計画作成方法を提供する。
【００１５】
本発明は、要求される指示を達成するために実行すべき複数のジョブを、異なる容量の複数の資源に対して割り付けて該複数のジョブの実行計画を作成するジョブ実行計画作成プログラムであって、前記複数の資源それぞれに対して、自己の資源と該自己の資源の容量以上の容量を有する他の資源との合計数と同数の仮想資源を設定するステップと、所望のジョブの実行に必要な容量を有する前記資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない前記仮想資源のうち、最小容量の前記資源に対して設定された前記仮想資源の何れか１つに前記所望のジョブを割付けるステップと、前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に設定された前記仮想資源の何れか１つずつに対して、該所望のジョブが割り付けられたことを示す割付情報を付加するステップと、前記所望のジョブが前記仮想資源に対して割付されたか否か、及び、前記所望のジョブの実行に必要な容量未満の全ての前記資源について、該資源に対して設定された前記仮想資源の１つに対して前記割付情報が付加されたか否かを判定するステップと、をコンピュータに実行させることを特徴とするジョブ実行計画作成プログラムを提供する。
【発明の効果】
【００１６】
このように、本発明によれば、複数の資源の各々に仮想資源を設定してジョブの割付が可能か否かを判断することで、資源の割付をすべき所望のジョブに対し、例えば、すでに資源に割り付けられたジョブが存在する場合であっても、これらの全てのジョブを資源に対して割付しなおさずに、所望のジョブが全ての資源の容量を考慮した場合に割付可能であるかを判定することができる。これにより、効率の良いジョブ実行計画を作成することができると共に、ジョブ実行計画の作成に要する時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】本発明のジョブ実行計画作成装置の概略構成を示すブロック図である。
【図２】本発明のジョブ実行計画作成装置において、仮想資源を設定する場合の説明図である。
【図３】本発明のジョブ実行計画作成装置において、設定した仮想資源にジョブを割り付ける場合の説明図である。
【図４】本発明のジョブ実行計画作成装置において、設定した仮想資源にジョブを割り付ける場合の説明図である。
【図５】本発明のジョブ実行計画作成装置において、仮想資源が増加した場合にジョブを割り付ける場合の説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明に係るジョブ実行計画作成装置の実施形態について、図面を参照して説明する。図１は、本実施形態に係るジョブ実行計画作成装置の概略構成を示したブロック図である。
【００１９】
図１に示すように、本発明におけるジョブ実行計画作成装置１０は、汎用又は専用のコンピュータを用いて実現することができ、ジョブの実行計画を作成するための各種演算処理を実行するＣＰＵ（中央演算処理装置）１１、ジョブ実行計画作成にかかるプログラム等を記憶する読み出し専用のメモリであるＲＯＭ（Read Only Memory）１２、ＣＰＵ１１の作業領域として機能する読み書き自在のメモリであるＲＡＭ（Random Access Memory）１３、及びジョブ実行計画作成にかかるプログラムに基づくジョブ実行計画作成を実行するに際して必要となる種々のデータが格納された記憶装置１４を備えている。
【００２０】
ジョブ実行計画を作成するＣＰＵ１１は、ＲＯＭ１２に格納された所定の処理プログラムをＲＡＭ１３に展開し、展開したプログラムを実行することによって実現される処理部として、仮想資源設定部１５、割付部１６、割付情報付加部１７及び判定部１８を備えている。
【００２１】
仮想資源設定部１５は、複数の資源それぞれに対して、自己の資源と該自己の資源の容量以上の容量を有する他の資源との合計数と同数の仮想資源を設定する。また、仮想資源設定部１５は、仮想資源を設定した後に、資源が増加した場合にはこの資源に対する仮想資源を更に追加設定する。要求される指示を達成するために実行すべき複数のジョブは、その全てが複数の資源の全てにおいて実行可能とは限らない。すなわち、複数の資源では、処理可能な容量がそれぞれ異なるため、ジョブによっては何れの資源でも処理が可能であるが、何れかの資源では容量不足に起因して処理が不可能な場合などがある。このため、複数のジョブをその優先順位に従って、効率よく複数の資源に割り付けるためには何らかの工夫が必要となる。
【００２２】
一方、複数の資源のうち、何れかの資源に注目したとき、その資源によって実行が可能なジョブは、その資源と同容量以上の容量の資源においても実行することができる。すなわち、そのジョブを実行することが出来る資源は、注目した資源以外に、その資源と同容量以上の容量を有する全ての資源があり、それらの合計数だけ存在することとなる。従って、この仮想資源設定部１５では、複数の資源の中の一つの資源に注目したときに、その資源に対して、その資源及びその資源と同容量以上の容量を有する他の資源の合計数の仮想資源を設定する。仮想資源の設定を複数の資源の全てに対して行う。このため、一つの資源に相当する仮想資源が複数設定され、仮想資源同士が重複するものがある。
【００２３】
具体例として、図２に示すように、実際の資源（以下、「実資源」という）がＲ１〜Ｒ５の５つ存在した場合を例として説明する。図２の例では、実資源Ｒ１〜Ｒ５が電源コンセントであり、実資源Ｒ１は１Ａ、Ｒ２は２Ａ、Ｒ３は３Ａ、Ｒ４は４Ａ及びＲ５は５Ａの容量を有するものとする。実資源Ｒ１に注目したとき、Ｒ１と同容量以上の実資源はＲ２〜Ｒ５の４つある。従って、Ｒ１に対しては、５つの仮想資源からなるＤ１を設定する。これは、実資源Ｒ１と同容量以上の容量があり、実資源Ｒ１と同様に機能することができる資源がＲ１を含めて５つ存在することを意味する。続いて、実資源Ｒ２に注目した場合、Ｒ２と同容量以上の実資源は、Ｒ３〜Ｒ５の３つあるため、Ｒ２に対しては４つの仮想資源からなるＤ２を設定する。すなわち、Ｒ２と同様に機能可能な資源がＲ２を含めて４つ存在することを意味している。同様に、Ｒ３に対しては、Ｒ３、Ｒ４及びＲ５に相当する仮想資源として３つの仮想資源からなるＤ３と、Ｒ４に対しては、Ｒ４及びＲ５に相当する仮想資源として２つの仮想資源からなるＤ４を設定する。これも、Ｒ３と同様に機能することができる資源がＲ３を含めて３つ、Ｒ４と同様に機能することができる資源がＲ４を含めて２つあることを意味する。Ｒ５については、Ｒ５と同容量以上の他の資源が存在しないため、Ｒ５に相当する１つの仮想資源であるＤ５のみを設定する。
【００２４】
このように、各資源に設定された全仮想資源は、各資源と同容量以上の容量があり、その資源と同様に機能することができる資源の延べ数となっているため、仮想資源同士で重複する場合がある。なお、複数の資源及び複数のジョブに関する情報は、例えば資源リスト、ジョブリストなどの形式で記憶装置１４に記憶されており、仮想資源設定部１５では、これらの資源リストに基づいて、仮想資源を設定する。
【００２５】
割付部１６では、所望のジョブの実行に必要な容量を有する前記資源に対して設定された仮想資源であって、未だ他のジョブが割り付けられていない前記仮想資源のうち、最小容量の前記資源に対して設定された前記仮想資源の何れか１つに前記所望のジョブを割付ける。図３を参照して、複数のジョブを複数の資源に割り付けていく過程において、所望のジョブの仮想資源への割付について、具体例を挙げて説明する。
【００２６】
図３は、図２で設定した実資源に対する仮想資源に、所望のジョブを割り付ける例を示している。ここで、この仮想資源に対して割り付けるべき複数のジョブとして、ジョブＪ１〜Ｊ６があるとする。また、各ジョブはその実行に際して、Ｊ１〜Ｊ５は１Ａ、Ｊ６は５Ａの容量をそれぞれ要するものとし、図３中、仮想資源として表現した枡内に記載された数字は、それぞれジョブの番号を表すものとする。
【００２７】
まずジョブＪ１は１Ａの容量のジョブであることから、仮想資源Ｄ１の中の何れか一つの仮想資源に割り付けられ、割り付けられたことを示す情報が記録される。すなわち、仮想資源Ｄ１のうちの一つの枡内にジョブＪ１の番号である１が記録される。このような処理をジョブＪ２〜Ｊ５に対して繰り返すことで、ジョブＪ２〜ジョブＪ５についても、仮想資源Ｄ１の何れか一つの仮想資源に割り付けられ、Ｄ１の枡内に各ジョブの番号が記録される。
【００２８】
割付情報付加部１７は、所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に設定された前記仮想資源の何れか１つずつに対して、該所望のジョブが割り付けられたことを示す割付情報を付加する。所望のジョブが割り付けられた仮想資源は、そのジョブを処理することが可能な容量を有する資源があることを示すものである。上述したように、一つの資源に注目して仮想資源を設定する場合、その資源の容量以上の資源に相当するものは、全て仮想資源として設定しており、複数の資源の全てに対して同様のルールに基づいて仮想資源を設定している。
【００２９】
すなわち、ある資源に対して設定された仮想資源と、他の資源に対して設定された仮想資源とに重複するものがあり、全ての仮想資源に異なるジョブを割り付けてしまうと、実際の資源においては当該ジョブの実行が不可能になる。このため、すでにジョブが割り付けられた仮想資源以外の仮想資源であって、所望のジョブの実行に必要な容量未満の資源の、各資源に対して設定された前記仮想資源の何れか１つに対しては、ジョブが既に割り付けられていることを示す割付情報を付加することで、この仮想資源に対して、他のジョブの割付ができない状態とする。以下、図４を参照して、仮想資源に対して割付情報を付加する具体例について説明する。
【００３０】
図４は、図２で設定した実資源に対する仮想資源に、割り付けるべき複数のジョブとして、ジョブＪ１〜Ｊ５がある場合の例を示している。各ジョブはその実行に際して、Ｊ１は４Ａ、Ｊ２及びＪ４は３Ａ，Ｊ３は５Ａ並びにＪ５は１Ａの容量をそれぞれ要するジョブであるとする。
【００３１】
ジョブＪ１は４Ａの容量を要することから、この容量を有する資源に対して設定された仮想資源であって、未だ他のジョブが割りつけられていないＤ４又はＤ５の何れかの仮想資源が割り付けられる仮想資源として考えられる。Ｄ４及びＤ５では、Ｄ４がより小容量の資源に対して設定された仮想資源であるため、割付部１６では、ジョブＪ１をＤ４の何れか１つの仮想資源に割り付ける。続いて、割付情報付加部１７は、ジョブＪ１の実行に必要な容量未満の全ての資源である資源Ｒ１〜Ｒ３の、資源Ｒ１〜Ｒ３に設定された仮想資源Ｄ１〜Ｄ３の何れか１つずつに対して、ジョブの番号を仮想資源の桝内に記録することで、ジョブＪ１が割り付けられたことを示す割付情報を付加する。すなわち、Ｄ１〜Ｄ３の中で、それぞれ何れか一つの仮想資源に対して割付情報を付加する（図４（ａ）参照）。
【００３２】
ジョブＪ２は３Ａの容量を有することから、この容量を有する資源に対して設定された仮想資源であって、未だ他のジョブが割りつけられていないＤ３〜Ｄ５の何れかの仮想資源が割り付けられる仮想資源として考えられる。Ｄ３〜Ｄ５では、Ｄ３がより小容量の資源に対して設定された仮想資源であるため、割付部１６では、ジョブＪ１をＤ３の何れか１つの仮想資源に割り付ける。続いて、割付情報付加部１７は、ジョブＪ２の実行に必要な容量未満の全ての資源である資源Ｒ１〜Ｒ２の、資源Ｒ１〜Ｒ２に設定された仮想資源Ｄ１〜Ｄ２の何れか１つずつに対して、ジョブの番号を仮想資源の桝内に記録することで、ジョブＪ２が割り付けられたことを示す割付情報を付加する。すなわち、Ｄ１〜Ｄ２の中で、それぞれ何れか一つの仮想資源に対して割付情報を付加する（図４（ｂ）参照）。
【００３３】
ジョブＪ３は５Ａの容量を有することから、この容量を有する資源に対して設定された仮想資源であって、未だ他のジョブが割りつけられていないＤ５の何れかの仮想資源が割り付けられる仮想資源として考えられる。Ｄ５には、仮想資源が１つしかないため、割付部１６では、ジョブＪ１をＤ５の仮想資源に割り付ける。続いて、割付情報付加部１７は、ジョブＪ３の実行に必要な容量未満の全ての資源である資源Ｒ２〜Ｒ５の、資源Ｒ２〜Ｒ５に設定された仮想資源Ｄ２〜Ｄ５の何れか１つずつに対して、ジョブの番号を仮想資源の桝内に記録することで、ジョブＪ３が割り付けられたことを示す割付情報を付加する。すなわち、Ｄ２〜Ｄ５の中で、それぞれ何れか一つの仮想資源に対して割付情報を付加する（図４（ｃ）参照）。
【００３４】
ジョブＪ４は３Ａの容量を有することから、この容量を有する資源に対して設定された仮想資源であって、未だ他のジョブが割りつけられていないＤ３〜Ｄ５の何れかの仮想資源が割り付けられる仮想資源として考えられる。しかしながら、Ｄ３〜Ｄ５には、既にジョブが割り付けられている又は割付情報が付加されていることからジョブＪ４を割り付けることができないため、後述する判定部１８により割付不可能との判定がなされ、次のジョブＪ５を仮想資源に対して割り付ける。
【００３５】
ジョブＪ５は１Ａの容量を有することから、この容量を有する資源に対して設定された仮想資源であって、未だ他のジョブが割りつけられていないＤ１〜Ｄ５の何れかの仮想資源が割り付けられる仮想資源として考えられる。Ｄ１〜Ｄ５では、Ｄ１がより小容量の資源に対して設定された仮想資源であるため、割付部１６では、ジョブＪ１をＤ１の何れか１つの仮想資源に割り付ける。この場合、ジョブＪ５の実行に必要な容量未満の資源が存在しないことから、割付情報付加部１７では、割付情報を付加しない（図４（ｄ）参照）。
【００３６】
判定部１８は、所望のジョブが仮想資源に対して割付されたか否か、及び、前記所望のジョブの実行に必要な容量未満の全ての前記資源の、各資源に対して設定された前記仮想資源の何れか１つずつに対して前記割付情報が付加されたか否かを判定する。所望のジョブが割り付けられたか否か、言い換えると、所望のジョブを実行可能であり、割り付け可能な状態の資源があったか否かを判定する。これにより、所望のジョブの割り付けが出来ないと判定された場合に、次のジョブの割付処理に移行することができる。
【００３７】
また、判定部１８では、仮想資源が更に設定された場合に、未だ割り付けられていなかったジョブについて、未だ他のジョブが割り付けられていない仮想資源に対して割付可能か否かを判定する。何れかの資源が増加した場合には、未だ割付されていなかったジョブを割り付けられる可能性が生じる。このため、仮想資源設定部１５で、その資源に対する仮想資源が更に設定されるので、判定部１８において、未だ他のジョブが割り付けられていない仮想資源の中で、未だ割付されていなかったジョブを割り付けることが出来る仮想資源があるか否かを判定する。図５を参照して、仮想資源が増加した場合において所望のジョブを割り付ける具体例について説明する。
【００３８】
図５は、図２で設定した実資源に対する仮想資源にジョブを割り付けた結果、図３の状態になっている場合の例を示している。すなわち、ジョブＪ１〜Ｊ６のうち、Ｊ１〜Ｊ５はその実行に際してそれぞれ１Ａの容量を要し、Ｊ６は５Ａの容量を要するものとしている、また、実資源Ｒ１〜Ｒ５の容量は、Ｒ１は１Ａ、Ｒ２は２Ａ、Ｒ３は３Ａ、Ｒ４は４Ａ及びＲ５は５Ａであるとする。この場合において、ジョブＪ１〜ジョブＪ５は既に割り付けられており、ジョブＪ６が未だ割り付けられておらず、１Ａの容量の実資源Ｒ６が増加したものとする。図５（ａ）に示すように、ジョブＪ１〜Ｊ５は、Ｄ１の仮想資源に対して割り付けられている。実資源としてＲ６が新たに増加した場合に、Ｒ６に対応する仮想資源が仮想資源設定部１５により設定される。このとき、Ｒ６の容量が１Ａであることから、仮想資源はＤ１に設定される。このように仮想資源が設定された状態で、ジョブＪ６の割付を行う。
【００３９】
ジョブＪ６は５Ａの容量を有することから、５Ａの容量を有する資源に対して設定された仮想資源であって、未だ他のジョブが割りつけられていないＤ５の仮想資源が割り付けられる仮想資源として考えられる。Ｄ５には、仮想資源が１つしかないが、図５（ａ）に示すように、Ｄ５の仮想資源には、未だ他のジョブが割り付けられていないため、割付部１６では、ジョブＪ６をＤ５の仮想資源に割り付ける。続いて、割付情報付加部１７が、ジョブＪ６の実行に必要な容量未満の全ての資源である資源Ｒ２〜Ｒ５の、資源Ｒ２〜Ｒ５に設定された仮想資源Ｄ２〜Ｄ５の何れか１つずつに対して、ジョブの番号を仮想資源の桝内に記録することで、ジョブＪ６が割り付けられたことを示す割付情報を付加する（図５（ｂ）参照）。このようにジョブＪ６の割付け及び仮想資源Ｄ２〜Ｄ５への割付情報の付加が完了したことをもって、未だ割付されていなかったジョブが割付可能と判定する。
【００４０】
このようにして順次ジョブを割り付けることで、ジョブの実行計画が作成される。本発明によって作成されたジョブの実行計画を実資源に適用する場合には、ジョブ実行計画において、何れかの仮想資源に割り付けられたジョブのうち、例えば、容量の大きいジョブから順に、そのジョブを実行可能な最小容量の資源に適用していくことで、作成された計画通りにジョブを実行することができる。
【００４１】
このように、本発明によれば、複数の資源の各々に仮想資源を設定してジョブの割付を行うため、資源の割付を行うべき所望のジョブに対し、例えば、すでに資源に割り付けられたジョブが存在する場合であっても、これらの全てのジョブを資源に対して割付しなおさずに、所望のジョブが全ての資源の容量を考慮した場合に割付可能であるかを判定することができる。これにより、効率の良いジョブ実行計画を作成することができると共に、ジョブ実行計画の作成に要する時間を短縮することができる。
【符号の説明】
【００４２】
１０  ジョブ実行計画作成装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  記憶装置
１５  仮想資源設定部
１６  割付部
１７  割付情報付加部
１８  判定部
【図１】
2010271856.tif 000003
【図２】
2010271856.tif 000004
【図３】
2010271856.tif 000005
【図４】
2010271856.tif 000006
【図５】
2010271856.tif 000007