(57)【特許請求の範囲】
【請求項１】
ジョブキューにキューイングされたジョブを順次取り出して実行するジョブ管理装置において、
ジョブをキューイングするジョブキューと、
上記ジョブキューにキューイングされたジョブへのポインタをキューイングする仮想ジョブキューと、
実行要求のあるジョブについて上記ジョブキューにキューイングすると共に当該実行要求が即時実行要求であった場合には更に該ジョブキューにキューイングした当該ジョブへのポインタを上記仮想ジョブキューにキューイングし、ジョブの開始に際して、上記仮想ジョブキューにポインタがキューイングされている場合には先頭のポインタを取り出し、取り出したポインタでポイントされているジョブを参照してそのジョブの実行を開始し、上記仮想ジョブキューにポインタがポイントされていない場合には上記ジョブキューからジョブを取り出してジョブの実行を開始するジョブ管理手段と
を有するジョブ管理装置。
【請求項２】
コンピュータにジョブを実行させるジョブ管理プログラムを格納したコンピュータ読取可能な記録媒体であって、
ジョブをキューイングするジョブキューと、
上記ジョブキューにキューイングされたジョブへのポインタをキューイングする仮想ジョブキューとをメモリ上に設け、
実行要求のあるジョブについて上記ジョブキューにキューイングすると共に当該実行要求が即時実行要求であった場合には更に該ジョブキューにキューイングした当該ジョブへのポインタを上記仮想ジョブキューにキューイングし、ジョブの開始に際して、上記仮想ジョブキューにポインタがキューイングされている場合には先頭のポインタを取り出し、取り出したポインタでポイントされているジョブを参照してそのジョブの実行を開始し、上記仮想ジョブキューにポインタがポイントされていない場合には上記ジョブキューからジョブを取り出してジョブの実行を開始するジョブ管理手段と
をコンピュータに実行させるジョブ管理プログラムを格納したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ジョブをジョブキューにキューイングしてジョブ実行順序を管理するジョブ管理装置および記録媒体に関するものである。
【０００２】
【従来の技術】
従来、コンピュータシステムにおいて、ジョブキュー（バッチキュー）にジョブをつなぎ先頭のジョブから順に実行させるものがある。特定のジョブを即時に起動したい場合には、
（ａ）  その特定のジョブのプライオリティを上げ、優先的に起動させる
（ｂ）  ジョブをジョブキューの先頭に移し、次に起動させる
（ｃ）  特急ジョブキューを用意し、これにジョブをつなぎ即時に起動させるなどを行っていた。
【０００３】
【発明が解決しようとする課題】
上記の（ａ）、（ｂ）の場合には、ジョブのプライオリティを上げたり、ジョブをジョブキューの先頭に移動したりしても、即時にジョブを起動できるという保証がないという問題があった。
【０００４】
また、（ｃ）の場合には、図４に示すように、特急ジョブキューを用意する必要があり、定義が必要となると共に処理が煩雑となってしまう問題があった。
図４は、従来技術の説明図を示す。この図４は、特急ジョブキューＡおよびジョブキューＡの属性（メモリ最大サイズ１００ＭＢ、ＰＥ最大使用数３個という属性）を同一のものにそれぞれ定義して作成し、同様に、特急ジョブキューＢおよびジョブキューＢの属性（メモリ最大サイズ５０ＭＢ、ＰＥ最大使用数１個という属性）を同一のものにそれぞれ定義して作成したものである。このように属性が同一の特急ジョブキューＡとジョブキューＡとを定義して作成するという手間と処理が必要となってしまう問題がある。もし、特急ジョブキューＡ’とジョブキューＡ’の属性が異なると、ジョブキューＡ’にエンキューされているジョブを、即時に実行させるために特急ジョブキューＡ’につなぎかえを行おうとすると、属性をチェックして実行可能なときはつなぎなえを行うなどの煩雑な処理が必要となってしまう問題がある。このような属性が異なる場合であっても、即時にジョブを起動させることが望まれている。
【０００５】
本発明は、これらの問題を解決するため、仮想ジョブキューを設けてジョブキューにつながれているジョブに重ねてポイントし、仮想ジョブキューにつながれているジョブを即時に起動し、ジョブ起動の即時性を保証すると共に従来の特急ジョブキューにジョブをつなぎかえるときに生じる属性のチェックや変更などの処理を無くして即時にジョブ起動を実現することを目的としている。
【０００６】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
図１において、ジョブ管理手段５は、ジョブをジョブキュー６１にキューイングしたり、ジョブ実行時に仮想ジョブキュー６２にポインタがキューイングされている場合には先頭のポインタを取り出し、ポインタでポイントされているジョブを参照してそのジョブの実行を開始し、仮想ジョブキュー６２にポインタがキューイングされていない場合にはジョブキュー６１からジョブを取り出して実行開始したりなどするものである。
【０００７】
キュー６は、ジョブキュー６１および仮想ジョブキュー６２から構成されるものであって、ジョブの実行順序を管理するものである。
次に、動作を説明する。
【０００８】
ジョブ管理手段５がジョブの開始に際して、仮想ジョブキュー６２にポインタがキューイングされている場合には先頭のポインタを取り出し、ポインタでポイントされているジョブを参照してそのジョブの実行を開始し、仮想ジョブキュー６２にポインタがキューイングされていない場合にはジョブキュー６１からジョブを取り出して実行を開始するようにしている。
【０００９】
従って、仮想ジョブキュー６２を設けてジョブキュー６１につながれているジョブに重ねてポイントし、仮想ジョブキュー６２につながれているジョブを即時に起動することにより、ジョブ起動の即時性を保証すると共に従来の特急ジョブキューにジョブをつなぎかえるときに生じる属性のチェックや変更などを無くして即時にジョブ起動を実現することが可能となる。
【００１０】
【発明の実施の形態】
次に、図１から図３を用いて本発明の実施の形態および動作を順次詳細に説明する。
【００１１】
図１は、本発明のシステム構成図を示す。
図１において、コンピュータシステム１は、プログラムに従い各種処理を行うものであって、ＰＥ（マスタ）２、１つあるいは複数のＰＥ（セカンダリ）２から構成されるものである。ここで、図示外の記録媒体あるいは外部記憶装置であるハードディスク装置から読み出したプログラム、またはセンタのハードディスク装置から回線を介して転送を受けたプログラムを主記憶にローディングして起動し、以下に説明する各種処理を行うようにしている。
【００１２】
ＰＥ（マスタ）２および１つあるいは複数のＰＥ（セカンダリ）２は、それぞれプロセッサであって、ＯＳ３、アプリ４からそれぞれ構成されるものである。ＯＳ３は、オペレーティングシステムであって、全体を統括制御するものである。
【００１３】
アプリ４は、アプリケーションプログラムであって、外部記憶装置であるハードディスク装置中のアプリプログラム（アプリケーションプログラム）をメモリ（主記憶）にローディングして起動し各種業務処理を行うものであり、ここでは、ジョブ管理手段５、キュー６、ジョブ７から構成されるものである。
【００１４】
ジョブ管理手段５は、ジョブの実行順序を管理するものであって、ここでは、ジョブをジョブキュー６１にキューイングしたり、ジョブの即時実行要求に対応してジョブキュー６１にキューイングされているジョブへのポインタを仮想ジョブキュー６１にエンキューしたり、ジョブ実行時に仮想ジョブキュー６２にポインタがキューイングされている場合には先頭のポインタを取り出し、ポインタでポイントされているジョブを参照してそのジョブの実行を開始し、仮想ジョブキュー６２にポインタがキューイングされていない場合にはジョブキュー６１からジョブを取り出して実行開始したりなどするものである（図２ないし図４を用いて後述する）。
【００１５】
キュー６は、ジョブの実行順序を管理するものであって、目的別にジョブを実行させるためにキューイングするそれぞれのジョブキュー６１および即時にジョブ実行させるためにジョブへのポインタをキューイングする仮想ジョブキュー６２から構成されるものである。
【００１６】
ジョブ７は、各種業務処理を実行するジョブである。
アプリプログラム８は、外部記憶装置であるハードディスク装置に格納したアプリプログラム（アプリケーションプログラム）であって、メモリ（主記憶）上にローディングして起動し、各種処理を行うものである。
【００１７】
次に、図２のフローチャートに示す順序に従い、図１の構成の動作を詳細に説明する。
図２は、本発明の動作説明フローチャートを示す。
【００１８】
図２において、Ｓ１は、ジョブが終了したか判別する。ＹＥＳの場合には、Ｓ２に進む。ＮＯの場合には、待機する。
Ｓ２は、終了したジョブをキューから外す。また、仮想ジョブキュー６２からポイントされているジョブを外す。これらは、終了したジョブをジョブキュー６１から外すと共に、仮想ジョブキュー６２からポインタがポイントされていた場合には更に仮想ジョブキュー６２からジョブキュー６１のジョブをポイントしていたポインタを外す。
【００１９】
Ｓ３は、仮想ジョブキューにジョブがあるか判別する。ある場合には、Ｓ４ないしＳ６によって仮想ジョブキュー６２をもとに実行する。ない場合には、Ｓ８ないしＳ１０によってジョブキュー６１をもとに実行する。
【００２０】
Ｓ４は、Ｓ３のあるで仮想ジョブキュー６２にジョブがあると判明したので、仮想ジョブキュー６２の先頭のポインタでポイントされている先のジョブ（このジョブはジョブキュー６１にエンキューされている）を取り出す。
【００２１】
Ｓ５は、ジョブを実行する。これは、Ｓ４で取り出したジョブを実行する。
Ｓ６は、ジョブ実行制限を越えたか判別する。ＹＥＳの場合には、終了する。越えていない場合には、Ｓ３に戻り繰り返す。
【００２２】
Ｓ８は、Ｓ３のなしで仮想ジョブキュー６２にジョブがないと判明したので、ジョブキュー６１にジョブがあるか判別する。ある場合には、Ｓ９でジョブキュー６１の先頭のジョブを取り出して実行し、Ｓ１０に進む。なしの場合には、終了する。
【００２３】
Ｓ１０は、ジョブ実行制限を越えたか判別する。越えている場合には、終了する。越えていない場合には、Ｓ８に戻り繰り返す。
以上によって、ジョブの終了時に、終了したジョブをジョブキュー６１から外すと共に、仮想ジョブキュー６１から当該ジョブがポインタによってポイントされていた場合にはポインタを外した後、仮想ジョブキュー６２にジョブへのポインタが有った場合には、Ｓ４ないしＳ６によって仮想ジョブキュー６２の先頭のポインタによってポイントされるジョブを取り出して実行開始することをジョブ実行制限を越えるまで繰り返し、一方、仮想ジョブキュー６２にジョブへのポインタが無かった場合（あるいは無くなった場合）には、Ｓ８ないしＳ１０によってジョブキュー６１にジョブがエンキューされているときは先頭から順にジョブ実行制限を越えるまでジョブを実行開始する。これにより、ジョブキュー６１にエンキューしたジョブのうち、即時実行させたいジョブについて仮想ジョブキュー６２からポインタによって該当ジョブをポイントするのみで、自動的にＳ２ないしＳ６の手順によって即時に優先的に実行することを保証することが可能となる。
【００２４】
図３は、本発明のキュー説明図を示す。ここで、ジョブキュー６１は、ジョブを先頭から順にキューイングして実行順序を管理するものであって、目的別にそれぞれ設けられたキューである。図示の状態では、ジョブキューＡは、メモリ最大サイズ１００ＭＢ、ＰＥ最大使用数３０個という目的のキューである。ジョブキューＢは、メモリ最大サイズ５０ＭＢ、ＰＥ最大使用数１個という目的のキューである。
【００２５】
一方、仮想ジョブキュー６２は、図示のように、ジョブキュー６１にエンキューされたジョブへのポインタをエンキューし、即時に実行させるためのものであって、ここでは、ジョブ１へのポインタ、ジョブ２へのポインタをそれぞれ順次にエンキューしたものである。仮想ジョブキュー６２には、ジョブをエンキューできなく、ジョブキュー６１にエンキューされたジョブへのポインタをエンキューするのみである。これにより、仮想ジョブキュー６２には、ジョブの属性（メモリ使用最大サイズ１００ＭＢ、ＰＥ最大使用個数３０個というような属性）がなく、単にジョブへのポインタがあるのみであり、既述した図２の仮想ジョブキュー６２の操作が極めて簡単である。即ち、即時実行させたいジョブがジョブキュー６１にある場合には、そのジョブへのポインタを仮想ジョブキュー６２にエンキューするのみで、既述した図２のＳ１ないしＳ６によって即時に実行される。一方、即時実行させたいジョブがジョブキュー６１にない場合には、そのジョブをジョブキュー６１の該当する目的のものにエンキューした後、そのジョブへのポインタを仮想ジョブキュー６２にエンキューし、既述した図２のＳ１ないしＳ６によって即時に実行される。
【００２６】
【発明の効果】
以上説明したように、本発明によれば、仮想ジョブキュー６２を設けてジョブキュー６１にエンキューされているジョブに重ねてポイントし、仮想ジョブキュー６２につながれているジョブを即時に起動する構成を採用しているため、ジョブ起動の即時性を保証すると共に従来の特急ジョブキューにジョブをつなぎかえるときに生じる属性のチェックや変更などの処理を無くして即時にジョブを起動できる。これらにより、運用管理者やユーザから仮想ジョブキュー６２が見えなくでき、当該仮想ジョブキュー６２の不正使用を考慮する必要がなくなり、しかも、従来の図４の特急ジョブキューのような定義が不用となり、極めて簡単な処理でジョブキュー６１にエンキューされたジョブあるいはジョブキュー６１にエンキューしたジョブを即時起動することが可能となった。
【図面の簡単な説明】
【図１】本発明のシステム構成図である。
【図２】本発明の動作説明フローチャートである。
【図３】本発明のキュー説明図である。
【図４】従来技術の説明図である。
【符号の説明】
１：コンピュータシステム
２：ＰＥ（マスタ、セカンダリ）
３：ＯＳ（オペレーティングシステム）
４：アプリ（アプリケーションプログラム）
５：ジョブ管理手段
６：キュー
６１：ジョブキュー
６２：仮想ジョブキュー
７：ジョブ
８：アプリプログラム（アプリケーションプログラム）
【図１】
0003875371.tif 000002
【図２】
0003875371.tif 000003
【図３】
0003875371.tif 000004
【図４】
0003875371.tif 000005