(57)【要約】【課題】  限られた本数のアプリケーションのライセンスを、実行要求のあった全てのジョブに対して略平等に与える。【解決手段】  アプリケーションを使用したジョブの実行要求を受け付けると、そのジョブの実行要求を実行させるライセンス情報があるかを判定し、なければそのジョブを待機させる。そして所定時間が経過すると実行中のジョブを停止させ、その待機されているジョブを実行させるように制御する。【選択図】  図１
2006039669.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを使用したジョブの実行を管理する情報処理装置であって、
前記ジョブの実行を許可するライセンス情報を管理する管理手段と、
ライセンス情報により許可されたジョブを実行する実行手段と、
ライセンス情報により許可されないジョブを待機させる待機手段とを有し、
前記実行手段は、実行するジョブの切換え時に、実行中のジョブを停止し、待機中のジョブを実行することを特徴とする情報処理装置。
【請求項２】
実行するジョブの切換え時を計時する計時手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記待機手段は、停止したジョブに関する情報を記憶することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記実行手段は、前記待機手段に待機されているジョブの数に対応する数のジョブの実行を停止することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記実行手段は更に、第１の切換え時に停止したジョブを、第２の切換え時に実行することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記実行手段は、実行中のジョブの内、最先に実行が開始されたジョブからジョブの実行を停止することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
アプリケーションを使用したジョブの実行を管理する情報処理方法であって、
前記ジョブの実行を許可するライセンス情報を管理する管理工程と、
ライセンス情報により許可されたジョブを実行する実行手段と、
ライセンス情報により許可されないジョブを待機させる待機工程とを有し、
前記実行工程は、実行するジョブの切換え時に、実行中のジョブを停止し、待機中のジョブを実行することを特徴とする情報処理方法。
【請求項８】
実行するジョブの切換え時を計時する計時工程を更に有することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記待機工程は、停止したジョブに関する情報を記憶することを特徴とする請求項７又は８に記載の情報処理方法。
【請求項１０】
前記実行工程は、前記待機工程で待機されているジョブの数に対応する数のジョブの実行を停止することを特徴とする請求項７から９のいずれか１項に記載の情報処理方法。
【請求項１１】
前記実行工程は更に、第１の切換え時に停止したジョブを、第２の切換え時に実行することを特徴とする請求項７から１０のいずれか１項に記載の情報処理方法。
【請求項１２】
前記実行工程では、実行中のジョブの内、最先に実行が開始されたジョブからジョブの実行を停止することを特徴とする請求項７から１１のいずれか１項に記載の情報処理方法。
【請求項１３】
請求項７乃至１２のいずれか１項に記載の情報処理方法を実行することを特徴とするプログラム。
【請求項１４】
請求項７乃至１２のいずれか１項に記載の情報処理方法を実行するプログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを使用したジョブの実行を管理する情報処理装置及びその方法に関するものである。
【背景技術】
【０００２】
従来、アプリケーションのライセンスを複数のユーザで共有し、複数のユーザがそのアプリケーションを使用する場合、使用するライセンスの競合が起こらないように制御する方法がとられている（特許文献１）。ここで想定するアプリケーションとは、アプリケーションを使用した一つのジョブが一つのライセンスを必要とし、そのジョブが実行されている間は他のジョブがこのライセンスを使用できないようなものをいう。
【０００３】
複数のアプリケーションのライセンスを、複数のユーザ或はアプリケーションを利用する複数のジョブで共有する場合の従来例を図６に示す。図６において、ジョブ実行受付部４３０は、ジョブを実行するジョブ実行者からのジョブ実行要求を受け付けると、このジョブの実行要求はジョブ実行待ち行列部４４０に登録される。ジョブ実行監視部４２０は、ジョブ待ち行列部４４０、及び複数のアプリケーションのライセンスの内、使用中のジョブの数を管理するライセンス管理部４７０を監視し、ジョブ待ち行列部４４０に待機中のジョブがあり、かつライセンス管理部４７０に使用されていないライセンス（空きライセンス）があるかを調べ、空きライセンスがあればジョブ実行部４５０に対してジョブ起動命令を発行する。これによりジョブ実行部４５０は、ライセンス管理部４７０からアプリケーションのライセンスを取得し、その待機中のジョブを実行する。
【０００４】
また、ジョブ実行部４５０で実行されているジョブが終了した場合には、ライセンス管理部４７０に、そのアプリケーションのライセンスを返却する。またジョブ待ち行列部４４０に待機中のジョブがあり、かつライセンス管理部４７０に使用されていないライセンスが無かった場合は、その待機中のジョブはジョブ実行部４５０において現在実行中のジョブが終了し、ライセンスが空くまで待機させられる。このような方法によれば、ジョブの実行者はアプリケーションのライセンス本数や使用状況を気にすることなく、ジョブを実行することができる。ここで、ジョブ待ち行列４４０に、待っているジョブが常に有る状態であると、アプリケーションのライセンスをフルに使用している状態であり、アプリケーションに投資しただけの最大の効果が得られていることになる。
【０００５】
例えば半導体開発における論理回路の検証では、論理シミュレーションを行うアプリケーションを用いて論理検証作業を行っている。限られたアプリケーションのライセンスを複数の人或は複数のジョブで共有する場合、前述したようなアプリケーションのライセンスを共有する方法を用いる。この論理検証作業において、作成されたテストや検証対象回路に不具合が含まれていた場合、その不具合が発見された時点でアプリケーションを停止させ、その不具合を修正した後、再度シミュレーションを実行するという処理が繰り返される。
【特許文献１】特開２００２−２５８９６２号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、不具合の有無は予め予測できないため、所持するライセンス数よりも多くのジョブの実行要求があった場合には、不具合を検出したジョブが他のジョブの実行要求によって長時間待たされてしまうという問題があった。前述の論理検証作業においては不具合をいかに早く修正して取り除くかが検証期間を短縮させる鍵となるが、従来は不具合を修正するまでの時間が長引いてしまい、結果として検証期間を長引かせてしまうという問題があった。
【０００７】
本発明は上記問題点に鑑みてなされたもので、本願発明の特徴は、実行中のジョブを停止し、実行が許可されないジョブを実行にすることにより、複数のジョブがほぼ平均的に実行されるようにした情報処理装置及びその方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
アプリケーションを使用したジョブの実行を管理する情報処理装置であって、
前記ジョブの実行を許可するライセンス情報を管理する管理手段と、
ライセンス情報により許可されたジョブを実行する実行手段と、
ライセンス情報により許可されないジョブを待機させる待機手段とを有し、
前記実行手段は、実行するジョブの切換え時に、実行中のジョブを停止し、待機中のジョブを実行することを特徴とする。
【０００９】
本発明の一態様に係る情報処理方法は以下のような工程を備える。即ち、
アプリケーションを使用したジョブの実行を管理する情報処理方法であって、
前記ジョブの実行を許可するライセンス情報を管理する管理工程と、
ライセンス情報により許可されたジョブを実行する実行手段と、
ライセンス情報により許可されないジョブを待機させる待機工程とを有し、
前記実行工程は、実行するジョブの切換え時に、実行中のジョブを停止し、待機中のジョブを実行することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、実行中のジョブを停止して、ライセンス情報により実行が許可されないジョブを実行することにより、複数のジョブがほぼ平均的に実行される。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。
【００１２】
図１は、本発明の実施の形態に係るジョブ管理システムの構成例を説明するブロック図である。
【００１３】
ジョブ実行受付部１３０は、アプリケーションのユーザからのジョブ実行要求１１１を受け付けると、その受け付けたジョブをジョブ待ち行列部１４０に登録して待機する（１１２）。ライセンス管理部１７０は、所有するアプリケーションのライセンス総数の内、いくつのライセンスが使用中であるかを管理している。ジョブ実行管理部１２０は、ジョブ待ち行列部１４０及びライセンス管理部１７０を監視し、待機しているジョブがあり、かつ未使用ライセンスがあった場合にはジョブ実行部１５０に対して実行命令を発行する（１１３）。ジョブ実行部１５０は、この実行命令を受け、ライセンス管理部１７０からアプリケーションのライセンス１１４を取得してジョブを実行する。
【００１４】
図２は、本実施の形態に係るジョブ実行部１５０、ジョブ待ち行列部１４０及びジョブ実行状態一時記憶部１６０における、それぞれのジョブの状態及び時間経過に従った各ジョブの状態の変化を説明する図である。
【００１５】
時間ｔ５００において、ジョブ実行部１５０で３つのジョブｊ１，ｊ２，ｊ３が実行中である。尚、ここではアプリケーションの総ライセンス数を「６」としている。次に時間ｔ５１０で、新たなジョブｊ４の実行要求がなされると、その要求されたジョブｊ４を実行させるための未使用ライセンスがライセンス管理部１７０に保持されているため、ジョブ実行部１５０にて、そのジョブｊ４が直ちに実行されている。
【００１６】
次に時間ｔ５２０では、所有する全て（「６」）のライセンスが使用されてジョブｊ１〜ｊ６が実行されている状態で、更に４つのジョブｊ７，ｊ８，ｊ９，ｊ１０の実行要求が入力された状態を示している。この場合は、新たに実行要求が発行された４つのジョブｊ７，ｊ８，ｊ９，ｊ１０がジョブ実行待ち行列部１４０に登録されて待機中となっている様子が示されている。
【００１７】
次に時間ｔ５３０では、実行中であったジョブｊ３の実行が終了したため、待機中であったジョブの中の最先のジョブｊ７が実行されている様子が示されている。
【００１８】
ジョブ実行待ち行列部１４０におけるジョブの待つ順序は、左端が最先のジョブ実行要求を示し、右側に行くにつれて後で発行されたジョブの実行要求を示している。そして、この実施の形態では、左側の最先のジョブから優先的に実行するものとした。
【００１９】
ジョブ実行管理部１２０は、ライセンス管理部１７０に未使用のライセンスがある場合には、そのライセンスを取得して（１２２）待機中のジョブは直ちに実行される。従って、未使用ライセンスがあるのに、待機中のジョブが存在することはない。
【００２０】
本実施の形態のシステムでは、更に図１に示すように、設定した所定時間を計測するタイマ部１１０及び、このタイマ部１１０に所定時間１１５を設定する時間設定部１００を具備している。ジョブ実行管理部１２０は、このタイマ部１１０より所定時間が経過した旨の情報１１６を受けると、ジョブ待ち行列部１４０で待機しているジョブがあるかどうかを確認する（１１９）。このとき待機しているジョブが無かった場合には何も行わない。
【００２１】
待機しているジョブがあった場合、即ち、ライセンス管理部１７０に未使用のライセンスが無かった場合には、ジョブ待ち行列部１４０で待機しているジョブを実行するために、現在実行中のジョブのうち、その待機しているジョブの数に対応する数のジョブを停止させる。
【００２２】
図２の例で説明すると、時間ｔ５３０において、所有するアプリケーションのライセンス数の「６」に対し、６つのジョブが実行中で、かつ３つのジョブが待機状態である。時間ｔ５３０において、ジョブｊ１，ｊ２，ｊ４〜ｊ７は、ライセンスにより許可されたジョブであり、ジョブｊ８，ｊ９，ｊ１０は、ライセンスにより許可されないジョブである。ここでタイマ部１１０より所定時間が経過した通知を受けた場合の様子を、時間ｔ５４０に示す。時間ｔ５４０は、実行するジョブの（第１の）切換え時である。
【００２３】
ここではジョブ実行管理部１２０は、ジョブ実行部１５０に対して現在実行中のジョブのうち３つのジョブｊ１，ｊ２，ｊ４を停止するように命令を発行する（１１３）。ジョブ実行部１５０は、この停止命令を受けると、それぞれのジョブの現在の実行状態をジョブ実行状態一時記憶部１６０に退避させる（１１７）。その後、ジョブ実行管理部１２０は、待機している３つのジョブｊ８，ｊ９，ｊ１０の実行命令を、ジョブ実行部１５０に対して発行する（１１３）。これによりジョブ実行部１５０は、ライセンス管理部１７０から３つのジョブ分のライセンスを取得し（１２２）、更にジョブ待ち行列部１４０で待機しているジョブを読み出して（１２３）、それらジョブ（ｊ８，ｊ９，ｊ１０）を実行する。
【００２４】
尚、ここでは、ジョブ待ち行列部１４０で待機中のジョブが３本の場合について説明したが、例えば総ライセンス数を超える８つのジョブが待機中であった場合は、所有するライセンスの数「６」を上限として、前述の停止命令を行う。残りの２本のジョブは、現在実行中のジョブが終了してライセンスに空きがあるか、もしくは次回、タイマ部１１０からの所定時間が経過した通知の際に実行されることになる。
【００２５】
また、ここで現在実行中の６つのジョブから３つを選ぶ場合に、この実施の形態では、例えば６つの内、実行開始時間の古い方から選択することとしたが、他の方法をとっても構わない。
【００２６】
時間ｔ５５０は、時間ｔ５４０の状態からジョブ実行部１５０において１つのジョブｊ６が終了した場合を示している。ジョブ実行部１５０においてジョブが終了した場合、ジョブ実行部１５０はライセンス管理部１７０にライセンスを返却する（１１８）。ジョブ実行管理部１２０はこれを監視しており、未使用ライセンスを見つけた場合、ジョブ待ち行列部１４０におけるジョブの待機状態を確認し（１１９）。ここに待機中のジョブが存在すればこれを実行する。図２の例では、時間ｔ５５０では待機中のジョブが無いため、ジョブ実行状態一時記憶部１６０に保存されている、処理が中断されたジョブがあるか否かを確認する（１２４）。ここには待機中のジョブがあるので、この中から最先のジョブｊ１を選択し、ジョブ実行管理部１２０がジョブ実行部１５０に対してジョブｊ１の実行命令を発行する（１１３）。ジョブ実行部１５０は、この実行命令を受けると、ジョブ実行状態一時記憶部１６０からジョブｊ１のジョブ実行状態を読み込んで（１２１）、中断されていたジョブｊ１の続きを実行する。
【００２７】
次に時間ｔ５７０では、全てのライセンスが使用中で、ジョブ実行状態一時記憶部１６０に退避されたジョブがあり、更に実行待ち行列１４０に待機中のジョブｊ１１，ｊ１２がある場合を示している。時間ｔ５７０において、ジョブｊ５，ｊ７〜ｊ１０，ｊ１は、ライセンスにより許可されたジョブであり、ジョブｊ２，ｊ４，ｊ１１，ｊ１２は、ライセンスにより許可されないジョブである。この状態において、タイマ部１１０により所定時間の経過が確認された場合の様子が時間ｔ５８０に示されている。時間ｔ５８０は、実行するジョブの（第２の）切換え時である。この場合には、ジョブ待ち行列部１４０に２つのジョブが待機しており、これらジョブを実行させるためにはジョブ実行部１５０にて現在実行中の２つのジョブを停止させる。この時、停止させられるジョブ数の上限が「６」であり、停止させたいジョブの数がこれに満たないため、更にジョブ状態一時記憶部１６０に退避されたジョブも実行させることができる。ジョブ実行状態一時記憶部１６０に退避されているジョブの数は２つであるため、合計の停止させるジョブの数は「４」となる。これにより現在実行中のジョブからｊ５，ｊ７，ｊ８，ｊ９を停止させ、その代わりに、ジョブ待ち行列部１４０に待機中のｊ１１，ｊ１２、及びジョブ実行状態一時記憶部１６０に退避されているジョブｊ２，ｊ４が実行されている。ジョブｊ２，ｊ４は、時間ｔ５４０（実行するジョブの第１の切換え時）に停止されたジョブである。この場合は、ジョブ実行状態一時記憶部１６０には、一時実行が中断された、ジョブｊ５，ｊ７，ｊ８，ｊ９が登録されている。
【００２８】
図３は、本実施の形態に係るジョブ管理システムを構成する装置のハードウェア構成を示すブロック図である。このシステムは、例えば一般的なパーソナルコンピュータ或はワークステーションなどで構成されていてもよい。
【００２９】
図において、ＣＰＵ３００は、マイクロプロセッサなどのＣＰＵで、メモリ３０１に記憶されているプログラムに従って各種制御動作を実行している。メモリ３０１は、ＲＡＭ部及びＲＯＭ部を有し、ＲＡＭ部はＣＰＵ３００による動作時にワークエリアとして使用されて各種データを一時的に記憶するとともに、制御プログラムの実行時には、ＨＤ３０４よりその制御プログラムがロードされて実行される。またＲＯＭ部は、ブートプログラムやＢＩＯＳなどのプログラムを記憶している。表示部３０２は液晶やＣＲＴなどを有し、各種データやメッセージなどを表示する。入力部３０３は、キーボードやマウス等を有し、ユーザにより操作されて各種データを入力するのに使用され、ジョブの実行要求の入力などにも使用される。ＨＤ（ハードディスク）３０４は大容量の記憶装置で、ＣＰＵ３００により実行される制御プログラムや各種データを記憶する。このＨＤ３０４には、前述したジョブ待ち行列部１４０、ジョブ実行状態一時記憶部１６０やライセンス管理部１７０が管理記憶している情報が記憶される。ＮＩＣ（ネットワーク・インターフェースコントローラ）は、通信回線を介してネットワークとの間でデータのやり取りを行う。タイマ３０６は、前述のタイマ部１１０としての機能を実行しており、ＣＰＵ３００の指示に従って時間の計時を行い、指定された時間が経過するとＣＰＵ３００に割り込みなどで通知する。３０７は上述した各部を接続するシステムバスである。
【００３０】
図４は、本実施の形態に係るジョブ管理システムにおける処理の流れを説明するフローチャートで、この処理を実行するプログラムはＨＤ３０４に記憶されており、実行時にメモリ３０１にロードされる。ＣＰＵ３００はこのロードされたプログラムに従って、このフローチャートに記述された制御処理を実行する。
【００３１】
この処理が開始されるとまずステップＳ３２０で、ジョブ待ち行列部１４０に待機中のジョブがあるか、又はジョブ実行状態一時記憶部１６０に退避中のジョブがあるかどうかを確認する。該当するジョブがない場合はステップＳ３２０に戻る。ステップＳ３２０で該当ジョブがあった場合はステップＳ３３０に進み、ライセンス管理部１７０に空きライセンス（未使用ライセンス）があるかどうかを確認する。空きライセンスが存在した場合はステップＳ３６０に進み、空きライセンスの数分の、ジョブ待ち行列部１４０に待機中のジョブ或は退避中のジョブを実行する。
【００３２】
一方、ステップＳ３３０で空きライセンスが存在しなかった場合はステップＳ３４０に進み、予め設定した所定の時間が経過したかをタイマ部１１０による計時に基づいて確認する。ステップＳ３４０で、所定時間が経過していない場合にはステップＳ３２０に戻るが、所定時間が経過した場合はステップＳ３５０に進み、実行したい数分の現在実行中のジョブを停止し、その実行状態をジョブ実行状態一時記憶部１６０に退避する。そしてステップＳ３６０に進んで所望のジョブを実行し、このジョブの実行後、ステップＳ３２０に戻る。
【００３３】
図５は、図４のステップＳ３５０，Ｓ２６０の処理の詳細を示すフローチャートで、ステップＳ３４０でタイマ部１１０により所定時間が経過したことを検知するとステップＳ４１０に進み、ジョブ待ち行列部１４０に登録されているジョブの数を取得し、次にステップＳ４２０で、ジョブ実行状態一時記憶部１６０に記憶されているジョブの数を取得する。次にステップＳ４３０で、ステップＳ４１０とＳ４２０で取得したジョブの数の合計Ｔが６以下（０＜Ｔ≦６）であるかをみる。そうであればステップＳ４５０に進み、この合計数分のジョブの実行を停止させ、それら実行を停止させたジョブの情報をジョブ実行状態一時記憶部１６０に退避する。尚、ジョブの数の合計Ｔが「０」であれば、待機或は退避しているジョブがないことを表しているので、その場合は何もせずにステップＳ３２０に進む。そしてステップＳ４６０で、ジョブ待ち行列部１４０とジョブ実行状態一時記憶部１６０に記憶されていたジョブを実行させてステップＳ３２０に進む。尚、このとき、ジョブ待ち行列部１４０とジョブ実行状態一時記憶部１６０に記憶されているジョブの数が「０」であれば何もしない。
【００３４】
またステップＳ４３０で、ステップＳ４１０とＳ４２０で取得したジョブの数の合計が６以下でないときはステップＳ４４０に進み、これら記憶或は退避されているジョブの中から、実行させたい６つのジョブを選択してステップＳ４５０に進み、前述の処理を実行する。尚、このステップＳ４４０では、例えばジョブ待ち行列部１４０に登録されているジョブを優先的に選択し、その合計数が６に満たないときは、残りをジョブ実行状態一時記憶部１６０に記憶されていたジョブから選択するようにしてもよく、或は逆に、ジョブ実行状態一時記憶部１６０に記憶されていたジョブを優先させても良い。
【００３５】
以上説明したように本実施の形態によれば、ジョブ実行待ち行列部１４０にある待機状態のジョブや、ジョブ実行状態一時記憶部１６０に退避されたジョブを、一定時間ごとに現在実行中のジョブと交代して実行させることができ、限られたアプリケーションのライセンスを実行したい全てのジョブでタイムシェアリングすることができる。即ち、複数のジョブを実行し、該複数のジョブの内で不具合を含むジョブを修正するという作業において、不具合を含むジョブの実行が不具合を含まないジョブの実行により待たされる時間が短縮されるので、不具合を修正するまでの時期が早まり、作業の効率化を測ることができる。
【００３６】
また本実施の形態を半導体論理回路の検証方法に適用した場合、ジョブを実行するためのアプリケーションを、半導体論理回路をコンピュータ上で擬似動作させるシミュレーションソフトとし、ジョブはシミュレーションソフトを使用して検証動作を実行するバッチ処理とする。
【００３７】
この状態で、所持するライセンス数よりも多くのジョブの実行要求があった場合には、不具合が発生した半導体の検証ジョブが、他のジョブによって長時間待たされてしまうという問題が生じる可能性があるが、本実施の形態によれば、他のジョブの実行要求によって一時的にその実行が中断されても、所定時間が経過すると再起動されるので、全体として論理検証作業の期間が短縮できる。その結果、半導体論理回路の開発期間を短縮でき、これを搭載した製品の市場投入の早期化を図ることができる。
【００３８】
［他の実施形態］
以上、本発明の実施の形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、または一つの機器からなる装置に適用しても良い。
【００３９】
なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００４０】
プログラムを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００４１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００４２】
またコンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００４３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【００４４】
以上説明したように本実施の形態によれば、限られたアプリケーションのライセンスを、実行要求のあった全てのジョブに対して平等に与えることができるため、結果として不具合を含むジョブの実行が不具合を含まないジョブの実行により待たされる時間が短縮され、ジョブに潜在する不具合を修正する時期を早めることができる。即ち、ジョブの不具合を取り除き、ジョブを正常化するという作業の効率化を図ることができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施の形態に係るジョブ管理システムの機能構成を説明するブロック図である。
【図２】本実施の形態に係るジョブ管理システムにおけるジョブの実行状態を説明する遷移図である。
【図３】本実施の形態に係るジョブ管理システムを構成する装置のハードウェア構成を示すブロック図である。
【図４】本実施の形態に係るジョブ管理システムにおける処理の流れを説明するフローチャートである。
【図５】図４のステップＳ３５０，Ｓ２６０の処理の詳細を示すフローチャートである。
【図６】従来のジョブ管理システムの動作を説明する図である。
【図１】
2006039669.tif 000003
【図２】
2006039669.tif 000004
【図３】
2006039669.tif 000005
【図４】
2006039669.tif 000006
【図５】
2006039669.tif 000007
【図６】
2006039669.tif 000008