(57)【要約】【課題】起動するジョブに必要なすべてのデータファイルが揃っていない場合でも所定の時間内にジョブを起動させることができるジョブスケジューリング装置を得ること。【解決手段】入力受付部１２５がデータファイル管理テーブル１２４の受付状態フラグにデータファイルが記憶装置に格納されたことを登録すると、起動条件判定部１２６は、当該データファイルのデータファイル名に関連付けられたデータファイル管理テーブル１２４の起動ジョブ名に登録されたジョブに関連付けられた確定スケジュールテーブル１２３の起動待ち時間の計測を開始し、起動待ち時間の計測が終了するか、起動すべきジョブに関連付けられたデータファイル管理テーブル１２４の受付状態フラグすべてにデータファイルが記憶装置に格納されたことが登録されると当該ジョブを起動する。【選択図】        図２
2008293404.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に格納された複数のサーバが作成した各データファイルを用いて処理を行なうジョブを起動するジョブスケジューリング方法であって、
前記記憶装置にデータファイルが格納されたかを監視するデータファイル監視ステップと、
前記データファイル監視ステップによって起動すべきジョブに必要な複数のデータファイルのうちの最初のデータファイルが前記記憶装置に格納されたことを認識した場合、予め定められた起動待ち時間の計測を開始する起動待ち時間計測ステップと、
前記起動待ち時間計測ステップによって前記起動待ち時間の計測が終了した場合、または前記起動すべきジョブに必要なすべてのデータファイルが前記記憶装置に格納された場合に当該ジョブを起動するジョブ起動ステップと、
を含むことを特徴とするジョブスケジューリング方法。
【請求項２】
記憶装置に格納された複数のサーバが作成したデータファイルを用いて処理を行なうジョブを起動するジョブスケジューリング装置において、
起動すべきジョブに関連付けて起動待ち時間が登録される確定スケジュールテーブルと、
起動すべきジョブに関連付けて当該ジョブに必要な１〜複数のデータファイルを示すデータファイル名および当該データファイル名が示すデータファイルが前記記憶装置に格納されているか否かを示す受付状態が登録されるデータファイル管理テーブルと、
前記記憶装置にデータファイルが格納されると、格納されたデータファイルを示すデータファイル名に関連付けられたデータファイル管理テーブルの受付状態にデータファイルが前記記憶装置に格納されたことを登録する入力受付部と、
前記入力受付部によってデータファイル管理テーブルの受付状態にデータファイルが前記記憶装置に格納されたことが登録されると、当該データファイルのデータファイル名に関連付けられたデータファイル管理テーブルの起動ジョブ名に登録されたジョブを取得し、取得したジョブに関連付けられた確定スケジュールテーブルの起動待ち時間が経過した後に当該ジョブを起動する起動条件判定部と、
を備えることを特徴とするジョブスケジューリング装置。
【請求項３】
前記起動条件判定部は、
前記データファイル管理テーブルの受付状態に基づいて起動すべきジョブに必要なデータファイルがすべて前記記憶装置に格納されているか否かを判定し、必要なデータファイルがすべて前記記憶装置に格納されている場合には、前記起動待ち時間の経過前に当該ジョブを起動すること、
を特徴とする請求項２に記載のジョブスケジューリング装置。
【請求項４】
起動日に関連付けて起動すべきジョブおよび起動待ち時間が登録される起動スケジュールテーブルと、
所定の時刻になると、前記起動スケジュールテーブルおよび現在の日付に基づいて当日起動すべきジョブおよび当該ジョブの起動待ち時間を抽出して前記確定スケジュールテーブルを作成する日別スケジューリング部と、
をさらに備えることを特徴とする請求項２または３に記載のジョブスケジューリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置に格納された複数のサーバが作成した各データファイルを用いて処理を行なうジョブを起動するジョブスケジューリング方法およびジョブスケジューリング装置に関するものである。
【背景技術】
【０００２】
複数のサーバと、記憶装置と、情報処理装置とをネットワークで接続し、各サーバが自装置で作成されたデータファイルを記憶装置に転送して記憶させ、情報処理装置が、記憶装置に記憶された各データファイルを用いたジョブを起動して処理を実行する情報処理システムがある。
【０００３】
このような情報処理システムは、たとえば、データの集計などに用いられることが多く、ジョブに必要なデータファイルのいくつかが不足していても、その他のデータファイルを用いて処理を実行することができることが多い。もちろん、ジョブに必要なデータファイルがすべて揃っていることが望ましい。しかしながら、データファイルがすべて揃うまでジョブの起動（データファイルを用いた処理）を遅延させるより、ある程度のデータファイルが揃った時点でジョブを起動したほうがよい場合もある。
【０００４】
このように複数のデータファイルを用いた処理を実行させるジョブの起動に関する従来技術として、たとえば、特許文献１がある。特許文献１では、ジョブに必要な各データファイル毎にジョブ起動の条件（論理積（ＡＮＤ）条件または論理和（ＯＲ）条件）を設定しておき、ＡＮＤ条件が設定されたすべてのデータファイルとＯＲ条件が設定されたデータファイルの少なくとも１つが揃った時にジョブを起動することで、すべてのデータファイルが揃っていない場合でもジョブを起動してジョブの起動待ち時間を短縮するようにしている。
【０００５】
【特許文献１】特開２０００−２７６４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、各データファイルは異なるサーバで作成されて記憶装置に格納されるため、データファイルが記憶装置に格納される順番は不確定である。しかしながら、上記特許文献１に記載の従来技術では、予めデータファイル毎にジョブ起動の条件を設定するようにしているため、ＡＮＤ条件が設定されたデータファイルがサーバから届かない場合にはジョブを起動することはできないため、ジョブの起動待ち時間は、各データファイルのジョブ起動の条件に依存してしまうという問題があった。
【０００７】
さらに、上記特許文献１に記載の従来技術では、ＡＮＤ条件が設定されたすべてのデータファイルと、ＯＲ条件が設定された少なくとも１つのデータファイルとが記憶装置に格納されると、他のＯＲ条件が設定されたデータファイルが記憶装置に格納されることを待つことなくジョブが起動されてしまう。そのため、データファイルの少なくとも１つにＯＲ条件を設定されていると、すべてのデータファイルが揃ってからジョブを起動する条件は、ＯＲ条件が設定されたデータファイルがすべて記憶装置に格納された後に、ＡＮＤ条件が設定されたデータファイルのなかの最後の１つのデータファイルが記憶装置に格納された場合となる。すなわち、ＯＲ条件を設定した場合には、すべてのデータファイルが揃ってからジョブが起動されるか否かは、データファイルが記憶装置に格納された順番に依存してしまうという問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、複数のデータファイルを用いて処理を実行するジョブを起動する際に、すべてのデータファイルが揃っていない場合でもデータファイルが記憶装置に格納される順番に依存することなく所定の時間内にジョブを起動させることができるジョブスケジューリング方法およびジョブスケジューリング装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、記憶装置に格納された複数のサーバが作成した各データファイルを用いて処理を行なうジョブを起動するジョブスケジューリング方法であって、前記記憶装置にデータファイルが格納されたかを監視するデータファイル監視ステップと、前記データファイル監視ステップによって起動すべきジョブに必要な複数のデータファイルのうちの最初のデータファイルが前記記憶装置に格納されたことを認識した場合、予め定められた起動待ち時間の計測を開始する起動待ち時間計測ステップと、前記起動待ち時間計測ステップによって前記起動待ち時間の計測が終了した場合、または前記起動すべきジョブに必要なすべてのデータファイルが前記記憶装置に格納された場合に当該ジョブを起動するジョブ起動ステップと、を含むことを特徴とする。
【発明の効果】
【００１０】
この発明によれば、起動すべきジョブに必要な複数のデータファイルの最初のデータファイルが記憶装置に格納されてから予め定められた起動待ち時間が経過した場合、または起動すべきジョブに必要なすべてのデータが記憶装置に格納された場合に当該ジョブを起動するようにしているため、すべてのデータファイルが揃っていない場合でもデータファイルが記憶装置に格納される順番に依存することなく起動待ち時間内にジョブを起動させることが可能となり、柔軟にジョブ起動のスケジューリングを行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかるジョブスケジューリング方法およびジョブスケジューリング装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
図１は、本発明にかかるジョブスケジューリング装置が適用される情報処理システムの構成の一例を示す図である。図１において、情報処理システムは、複数（この場合は３台）のサーバ５（５−１〜５−３を示す）と、サーバ５から転送されたデータファイルを用いて処理を実行する情報処理装置１とがネットワークを介して接続されている。
【００１３】
情報処理装置１は、サーバ５から転送されたデータファイルを格納するデータファイル記憶部１１と、ジョブをスケジューリングして起動するジョブスケジューリング部１２と、ジョブスケジューリング部１２からの通知に基づいて処理を実行するジョブ実行部１３とを備えている。なお、図１においては、データファイル記憶部１１を情報処理装置１内の備える構成としたが、ネットワーク３に接続した記憶装置であってもよい。
【００１４】
図２は、図１に示したジョブスケジューリング部１２の構成を示すブロック図である。図２において、ジョブスケジューリング部１２は、起動スケジュールテーブル１２１、日別スケジューリング部１２２、確定スケジュールテーブル１２３、データファイル管理テーブル１２４、入力受付部１２５、起動条件判定部１２６、およびタイマ１２７を備えている。なお、起動スケジュールテーブル１２１、確定スケジュールテーブル１２３、およびデータファイル管理テーブル１２４は、ジョブスケジューリング部１２内または情報処理装置１内の記憶手段（図示せず）に記憶される。
【００１５】
起動スケジュールテーブル１２１には、ジョブスケジューリング部１２が起動するジョブに関する情報が登録される。図３は、起動スケジュールテーブル１２１の構成を示す図である。図３においては、起動スケジュールテーブル１２１の登録項目として、ジョブを起動する日にちが登録される起動日と、起動日に登録された日にちに起動すべきジョブの名称が登録される起動ジョブ名と、起動ジョブ名に登録されたジョブの起動待ち時間が登録される起動待ち時間とを挙げている。
【００１６】
図２に戻って、日別スケジューリング部１２２は、図示しない装置内の計時機能に基づいてその日に起動すべきジョブの情報を起動スケジュールテーブル１２１から抽出して確定スケジュールテーブル１２３を作成する。
【００１７】
図４は、確定スケジュールテーブル１２３の構成を示す図である。図４においては、確定スケジュールテーブル１２３の登録項目として、起動すべきジョブの名称が登録される起動ジョブ名と、起動ジョブ名に登録されたジョブの起動待ち時間が登録される起動待ち時間と、起動待ち時間の計測を行っているか否かの情報が登録される状態フラグとを備えている。図４においては、待ち時間の計測を行っている場合には状態フラグにオン（１）が登録され、待ち時間の計測を行っていない場合には状態フラグにオフ（０）が登録される。
【００１８】
図２に戻って、データファイル管理テーブル１２４には、起動すべきジョブに必要なデータファイルに関する情報が登録される。図５は、データファイル管理テーブル１２４の構成を示す図である。図５においては、データファイル管理テーブル１２４の登録項目として、起動すべきジョブの名称が登録される起動ジョブ名と、起動ジョブ名に登録されたジョブに必要なデータファイル名が登録されるデータファイル名およびデータファイル名に登録されたデータファイルがデータファイル記憶部１１に格納されているか否かの情報が登録される受付状態フラグの組が１〜複数登録される入力データファイル情報とを挙げている。図５においては、データファイル記憶部１１にデータファイルが格納されている場合には受付状態フラグにオン（１）が登録され、データファイル記憶部１１にデータファイルが格納されていない場合には受付状態フラグにオフ（０）が登録される。
【００１９】
図２に戻って、入力受付部１２５は、サーバ５が情報処理装置１にアクセスしてデータ転送（データファイルをデータファイル記憶部１１に格納）する際に、データファイル名を認識する機能を備えており、データファイル記憶部１１にデータファイルが格納されたことをデータファイル管理テーブル１２４に登録する。
【００２０】
起動条件判定部１２６は、データファイル管理テーブル１２４および確定スケジュールテーブル１２３に基づいて当該ジョブの待ち時間をタイマ１２７に計測させる。また、起動条件判定部１２６は、データファイル管理テーブル１２４の受付状態フラグおよびタイマ１２７の計測結果に基づいてジョブを起動するか否かを判定して、ジョブ実行部１３にジョブを起動する旨を通知する。
【００２１】
つぎに、この実施の形態の情報処理システムの動作を、ジョブスケジューリング部１２を中心に説明する。ジョブスケジューリング部１２の動作は、計時機能に基づいてその日に起動すべきジョブの情報を起動スケジュールテーブル１２１から抽出して確定スケジュールテーブル１２３を作成する確定スケジュールテーブル作成処理動作と、データファイル管理テーブル１２４の受付状態フラグおよびタイマ１２７の計測結果に基づいてジョブを起動するか否かを判定して、ジョブ実行部１３にジョブを起動する旨を通知するジョブ起動処理動作とに分けられる。
【００２２】
まず、確定スケジュールテーブル作成処理動作について説明する。この確定スケジュールテーブル作成処理動作は、予め定められた時刻に日別スケジューリング部１２２によって実行される。
【００２３】
日別スケジューリング部１２２は、計時機能を参照して現在の日にちおよび曜日を認識する。日別スケジューリング部１２２は、認識した日にちおよび曜日を検索キーとして起動スケジュールテーブル１２１の起動日を検索して、検索キーと一致する起動日に関連付けられている起動ジョブ名および起動待ち時間をすべて取得する。
【００２４】
ここで、日別スケジューリング部１２２が認識した日にちが「９日」で、曜日が「水曜日」であったとすると、日別スケジューリング部１２２は、先の図３に示した起動スケジュールテーブル１２１から起動日「毎日」に関連付けられた起動ジョブ名「ジョブＡ」、起動待ち時間「２時間」と、起動日「水曜日」に関連付けられた起動ジョブ名「ジョブＣ」、起動待ち時間「２時間」とを取得する。
【００２５】
日別スケジューリング部１２２は、取得した起動ジョブ名および起動待ち時間を確定スケジュールテーブル１２３の起動ジョブ名および起動待ち時間に登録するとともに、状態フラグをオフにする。
【００２６】
つぎに、図６のフローチャートを参照して、ジョブ起動処理動作について説明する。このジョブ起動処理動作は、入力受付部１２５、起動条件判定部１２６、およびタイマ１２７によって実行される。
【００２７】
入力受付部１２５は、データファイル記憶部１１にデータファイルが格納されると（ステップＳ１００）、データファイル記憶部１１に格納されたデータファイル名に関連付けられた受付状態フラグをオンにする（ステップＳ１０１）。入力受付部１２５は、受付状態フラグをオンしたデータファイル名に関連付けてデータファイル管理テーブル１２４の起動ジョブ名に登録されているジョブの名称（ジョブ名）を取得し、取得したジョブ名を含む受付通知を起動条件判定部１２６に出力する。
【００２８】
起動条件判定部１２６は、受付通知およびデータファイル管理テーブル１２４に基づいてジョブに必要なデータファイルがすべてデータファイル記憶部１１に格納されたか否かを判定する（ステップＳ１０２）。具体的には、起動条件判定部１２６は、受付通知に含まれるジョブ名を検索キーとしてデータファイル管理テーブル１２４の起動ジョブ名を検索して、検索キーと一致する起動ジョブ名を抽出する。
【００２９】
起動条件判定部１２６は、抽出した起動ジョブ名に関連付けられたデータファイル管理テーブル１２４の入力データファイル情報の受付状態フラグがすべてオンになっているか否かを判定する。起動条件判定部１２６は、受付状態フラグがすべてオンになっている場合ジョブに必要なデータファイルがすべてデータファイル記憶部１１に格納されたと判定し、受付状態フラグがすべてオンになっていない（状態フラグの少なくとも１つがオフになっている）場合ジョブに必要なデータファイルがすべてデータファイル記憶部１１に格納されていないと判定する。
【００３０】
ジョブに必要なデータファイルがすべてデータファイル記憶部１１に格納されていない場合（ステップＳ１０２，Ｎｏ）、起動条件判定部１２６は、当該ジョブに対する起動開始時間の計測を開始するか否かを判定する（ステップＳ１０３）。具体的には、起動条件判定部１２６は、受付通知に含まれるジョブ名を検索キーとして確定スケジュールテーブル１２３の起動ジョブ名を検索し、検索キーと一致した起動ジョブ名に関連付けられた確定スケジュールテーブル１２３の状態フラグを取得する。起動条件判定部１２６は、取得した状態フラグがオンの場合にはすでに当該ジョブに対する起動開始時間の計測が行われているので起動開始時間の計測を行わない（開始しない）と判定し、取得した状態フラグがオフの場合には当該ジョブに対する起動開始時間の計測が行われていないので起動開始時間の計測を開始すると判定する。
【００３１】
起動開始時間の計測を開始しない場合（ステップＳ１０３，Ｎｏ）、起動条件判定部１２６は処理を終了してステップＳ１００に戻る。起動開始時間の計測を開始する場合（ステップＳ１０３，Ｙｅｓ）、起動条件判定部１２６は、タイマ１２７を起動して起動開始時間の計測を開始させる（ステップＳ１０４）。
【００３２】
具体的には、起動条件判定部１２６は、受付通知に含まれるジョブ名に関連付けられて確定スケジュールテーブル１２３の起動待ち時間に登録されている起動待ち時間を取得する。起動条件判定部１２６は、取得した起動待ち時間を含む計測開始通知をタイマ１２７に通知する。タイマ１２７は、計測開始通知に含まれる起動待ち時間を計測時間として動作を開始する。タイマ１２７は、起動待ち時間の計測が終了すると、計測終了通知を起動条件判定部１２６に出力する。
【００３３】
起動条件判定部１２６は、タイマ１２７を起動した後、起動開始時間の計測を開始したジョブ（受付通知に含まれるジョブ名）に関連付けられた確定スケジュールテーブル１２３の状態フラグをオンにして（ステップＳ１０５）処理を終了しステップＳ１００に戻る。
【００３４】
一方、ジョブに必要なデータファイルがすべてデータファイル記憶部１１に格納されている場合（ステップＳ１０２，Ｙｅｓ）、起動条件判定部１２６は、当該ジョブの起動開始時間を計測しているタイマ１２７に計測終了通知を出力して当該ジョブの起動開始時間の計測を終了させる（ステップＳ１０６）。
【００３５】
起動条件判定部１２６は、起動するジョブに用いるすべてのデータファイルの受付状態フラグをオフにする（ステップＳ１０７）。具体的には、起動条件判定部１２６は、ジョブに必要なデータファイルがすべてデータファイル記憶部１１に格納されたジョブ、すなわち受付要求に含まれるジョブ名が示すジョブに関連付けられたデータファイル管理テーブル１２４のすべての受付状態フラグをオフにする。起動条件判定部１２６は、受付要求に含まれるジョブ名を含むジョブ起動通知を出力して（ステップＳ１０８）処理を終了してステップＳ１００に戻る。
【００３６】
一方、ステップＳ１０４において、タイマ１２７を起動して起動開始時間の計測を開始している場合、タイマ１２７は起動開始時間の計測を終了すると計測終了通知を起動条件判定部１２６に出力する。この計測終了通知によって、起動条件判定部１２６は、起動開始時間であることを認識する。
【００３７】
起動開始時間になると（ステップＳ１０９）、起動条件判定部１２６は、起動するジョブに用いるすべてのデータファイルの受け付け状態フラグをオフにする（ステップＳ１０７）。具体的には、起動条件判定部１２６は、起動開始時間となったジョブを示すジョブ名に関連付けられてデータファイル管理テーブル１２４のすべての受け付け状態フラグをオフにする。起動条件判定部１２６は、受付要求に含まれるジョブ名を含むジョブ起動通知を出力して（ステップＳ１０８）処理を終了してステップＳ１００に戻る。
【００３８】
以上説明したように、この実施の形態においては、起動すべきジョブに必要な複数のデータファイルの最初のデータファイルが記憶装置に格納されてから予め定められた起動待ち時間が経過した場合、または起動すべきジョブに必要なすべてのデータが記憶装置に格納された場合に当該ジョブを起動するようにしているため、すべてのデータファイルが揃っていない場合でもデータファイルが記憶装置に格納される順番に依存することなく起動待ち時間内にジョブを起動させることが可能となり、柔軟にジョブ起動のスケジューリングを行うことができる。
【００３９】
なお、起動条件判定部１２６は、ジョブ実行部１３にジョブ起動通知を出力する際に、ジョブ起動通知によって起動されるジョブに必要なデータファイルの有無を示す情報を記録するようにしてもよい。具体的には、先の図６に示したフローチャートを参照して説明した起動するジョブに用いるすべてのデータファイルの受付状態フラグをオフにするステップＳ１０７の処理の前に、起動するジョブに関連付けられてデータファイル管理テーブル１２４に登録されたデータファイル名および受付状態フラグの各組の登録内容を取得して起動するジョブ名とデータファイル名および受付状態フラグの各組の登録内容とを図示しない記憶部に記憶させるようにすればよい。また、このときに、ジョブの起動時間も関連付けて記憶させるようにしてもよい。
【００４０】
また、この発明におけるジョブスケジューリング部１２の日別スケジューリング部１２２、入力受付部１２５、および起動条件判定部１２６によって実現される前述した各機能を汎用のコンピュータに実行させるためのジョブスケジューリングプログラムとして提供するようにしてもよい。この場合、ジョブスケジューリングプログラムは、コンピュータにインストール可能な形式、またはコンピュータが実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ＤＶＤなどのコンピュータで読取可能な記録媒体に記録して提供する。記録媒体に記録されたジョブスケジューリングプログラムは、記憶媒体から読み出されてコンピュータ上で実現される。
【００４１】
この発明におけるジョブスケジューリングプログラムを実行するコンピュータは、少なくとも制御装置と記憶装置とを備えている。制御装置は、コンピュータ全体を制御するＣＰＵなどの演算処理装置とＲＯＭを備えている。記憶装置は、一般的なＲＡＭで構成され、起動スケジュールテーブル１２１、確定スケジュールテーブル１２３、およびデータファイル管理テーブル１２４を記憶する。
【００４２】
制御装置は、記憶媒体からジョブスケジューリングプログラムを読み出して実行することで、日別スケジューリング部１２２、入力受付部１２５、および起動条件判定部１２６によって実現される前述した各機能としてコンピュータを動作させる。  
【産業上の利用可能性】
【００４３】
以上のように、本発明にかかるジョブスケジューリング方法およびジョブスケジューリング装置は、記憶装置に格納された複数のサーバが作成した各データファイルを用いて処理を行なうジョブを起動する場合に有用であり、特に、すべてのデータファイルが揃っていなくても実行可能な処理を行うジョブの起動に適している。
【図面の簡単な説明】
【００４４】
【図１】本発明にかかるジョブスケジューリング装置が適用される情報処理システムの構成の一例を示す図である。
【図２】図１に示したジョブスケジューリング部の構成を示すブロック図である。
【図３】図２に示した起動スケジュールテーブルの構成を示す図である。
【図４】図２に示した確定スケジュールテーブルの構成を示す図である。
【図５】図２に示したデータファイル管理テーブルの構成を示す図である。
【図６】本発明にかかるジョブスケジューリング装置の動作を説明するためのフローチャートである。
【符号の説明】
【００４５】
１  情報処理装置
３  ネットワーク
５−１，５−２，５−３  サーバ
１１  データファイル記憶部
１２  ジョブスケジューリング部
１３  ジョブ実行部
１２１  起動スケジュールテーブル
１２２  日別スケジューリング部
１２３  確定スケジュールテーブル
１２４  データファイル管理テーブル
１２５  入力受付部
１２６  起動条件判定部
１２７  タイマ
【図１】
2008293404.tif 000003
【図２】
2008293404.tif 000004
【図３】
2008293404.tif 000005
【図４】
2008293404.tif 000006
【図５】
2008293404.tif 000007
【図６】
2008293404.tif 000008