(57)【特許請求の範囲】
【請求項１】
複数のジョブからなる業務全体での休業日を含むカレンダー情報をカレンダーデータベースから取得するカレンダー情報取得部と、
前記カレンダー情報取得部により取得された前記カレンダー情報に基づいて休業日のみがリストアップされている休業日リストを作成する休業日リスト作成部と、
前記カレンダー情報に依存せずに作成したジョブ毎に適用可能な実行予定ルールに基づく実行予定日と実行除外予定ルールに基づく実行除外予定日とを含むスケジュール情報をスケジュールデータベースから取得するスケジュール情報取得部と、
前記スケジュール情報取得部が取得したスケジュール情報に基づいて、日ごとに休業振り替えを、「実行する」、「実行しない」、「前の運用日に振り替え」、「後の運用日に振り替え」が指定されている実行予定日をリスト化した実行予定リストを作成する実行予定リスト作成部と、前記実行除外予定ルールに基づいて日ごとに休業振り替えを「実行しない」が指定されている実行除外予定日がリストアップされている実行除外予定リストを作成する実行除外予定リスト作成部と、
前記実行予定リストと前記実行除外予定リストに、それぞれ前記休業日リストにリストアップされている休業日を反映させる休業日リスト反映部と、
前記休業日リストを反映させた後の前記実行予定リストに、前記実行除外予定リストにリストアップされている実行除外予定日を反映させる実行予定リスト−実行除外予定リスト反映部と、を有し、
前記スケジュール情報は、前記実行予定リスト及び前記実行除外予定リストのそれぞれに関する休業日の振り替えルールを含み、
前記休業日リスト反映部は、前記休業日の振り替えルールに基づいて、前記実行予定リスト及び前記実行除外予定リストを再編集することを特徴とするジョブスケジューリング装置。
【請求項２】
前記再編集は、
休業日に実行予定があった場合、前記実行予定リストに設定されている休業日の振り替え指定にしたがって、実行予定をリストから削除又は日付を変更することで、前記実行予定リストを休業日の振り替え指定に基づいて再編集し、
休業日に実行除外予定があった場合、前記実行除外予定リストに設定されている休業日の振り替え指定にしたがって、実行除外予定を前記実行除外予定リストから削除又は日付を変更することで、前記実行除外予定リストを休業日の振り替え指定に基づいて再編集し、
休業日の反映が終わると、前記実行予定リスト−実行除外予定リスト反映部が、実行予定リストに実行除外予定リストの情報を反映することを特徴とする請求項１に記載のジョブスケジューリング装置。
【請求項３】
前記実行除外予定リストに入っている日付の実行予定は必ず削除することを特徴とする請求項２に記載のジョブスケジューリング装置。
【請求項４】
前記実行予定ルール及び前記実行除外予定ルールは、ジョブ毎に適用可能なスケジュールルールとして入力部から入力されることを特徴とする請求項１から３までのいずれか１項に記載のジョブスケジューリング装置。
【請求項５】
複数のジョブからなる業務全体での休業日を含むカレンダー情報をカレンダーデータベースから取得するカレンダー情報取得手順と、
前記カレンダー情報取得手順により取得された前記カレンダー情報に基づいて休業日のみがリストアップされている休業日リストを作成する休業日リスト作成手順と、
前記カレンダー情報に依存せずに作成したジョブ毎に適用可能な実行予定ルールに基づく実行予定日と実行除外予定ルールに基づく実行除外予定日とを含むスケジュール情報をスケジュールデータベースから取得するスケジュール情報取得手順と、
前記スケジュール情報取得手順において取得したスケジュール情報に基づいて、日ごとに休業振り替えを、「実行する」、「実行しない」、「前の運用日に振り替え」、「後の運用日に振り替え」が指定されている実行予定日をリスト化した実行予定リストを作成する実行予定リスト作成手順と、前記実行除外予定ルールに基づいて日ごとに休業振り替えを「実行しない」が指定されている実行除外予定日がリストアップされている実行除外予定リストを作成する実行除外予定リスト作成手順と、
前記実行予定リストと前記実行除外予定リストに、それぞれ前記休業日リストにリストアップされている休業日を反映させる休業日リスト反映手順と、
前記休業日リストを反映させた後の前記実行予定リストに、前記実行除外予定リストにリストアップされている実行除外予定日を反映させる実行予定リスト−実行除外予定リスト反映手順と、
をコンピュータに実行させるためのジョブスケジューリングプログラムであって、
前記スケジュール情報は、前記実行予定リスト及び前記実行除外予定リストのそれぞれに関する休業日の振り替えルールを含み、前記休業日リスト反映手順は、前記休業日の振り替えルールに基づいて、前記実行予定リスト及び前記実行除外予定リストを再編集することを特徴とするジョブスケジューリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ上で稼動するジョブ運用管理システムにおいて、ジョブを実行するスケジュールを行うジョブスケジューリング技術に関する。
【背景技術】
【０００２】
従来から、コンピュータ上で稼働するジョブ運用管理システムにおいて、業務上行われている多数のジョブをそれぞれ実行するためのスケジュールを行うジョブスケジューリング装置に関する提案がなされている。
【０００３】
例えば、下記特許文献１では、入力装置を用いることで、ジョブのスケジュール設定を行い、自動で効率良くジョブを実行する技術が開示されている。
【０００４】
また、特許文献２では、ジョブの情報とカレンダーの情報とを画面よりパラメータで指定してシミュレートすることで、意図した日にスケジュールされたかどうかを容易に確認することができる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−３１２４１２号公報
【特許文献２】特開平６−８３６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のような従来のジョブ運用管理システムでは、ジョブを実行するか否かのスケジュールの指定を、運用日や休業日を決定するカレンダー情報と、実行日時と周期や振り替え方法などのスケジュールルール設定とで構成して行っている。そのため、実行する日時に一定のルールがあるスケジュールを組む場合には特に問題がないが、実行しない日時に一定のルールがあるスケジュールを組む場合には、ルールを反転させて設定しなければならないという問題があった。例えば、「毎月１日を除いて毎日実行する」というようなスケジュールを組むには、１日以外である「毎月２日，３日，．．．３１日に実行する」と設定しなければならないため操作が煩雑になる。
【０００７】
更に、実行しない日時のルールがカレンダーとの関係で変動する場合は、ルールで設定することはできないという問題もあった。例えば「週末を除いて毎日実行する」の場合、通常の週末は金曜日であるが、たまたま金曜日が休日であれば週末は木曜日となり、実行する日に変換するのは困難となる。
【０００８】
また、特許文献１のようなカレンダー情報のみで実行スケジュールを決めるジョブ運用管理システムでは、全体の業務としての休業日は同一でも、多くのジョブのうち特定のジョブでは他にも実行したくない日があると、そのジョブだけ異なるカレンダーを作成する必要があり、スケジュールの変更があるとカレンダーを１つ１つ変えていかなければならないという問題がある。
【０００９】
本発明の目的は、実行する日時の組合せだけでは実装しづらいスケジュールでも直感的でわかりやすく登録する仕組みを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一観点によれば、複数、特に１０件以上から数万件にわたる多数のジョブからなる業務全体での休業日を含むカレンダー情報をカレンダーデータベースから取得するカレンダー情報取得部と、前記カレンダー情報に依存せずに作成したジョブ毎に適用可能な実行予定ルールに基づく実行予定日と実行除外予定ルールに基づく実行除外予定日とを含むスケジュール情報をスケジュールデータベースから取得するスケジュール情報取得部と、前記実行予定日と前記実行除外予定日に、それぞれ前記カレンダー情報取得部により取得された前記カレンダー情報に基づく休業日情報を反映させる休業日情報反映部と、前記休業日情報をそれぞれ反映させた後の前記実行予定日に、前記実行除外予定日を反映させる実行予定情報−実行除外予定情報反映部と、を有することを特徴とするジョブスケジューリング装置が提供される。実行予定ルール以外に、処理サイクルを項目として持つ実行除外予定ルールも考慮してジョブを実行させるため、逐一反転させたルールに基づいて実行しない日を考えて登録することなく、実行しない日そのものを直接登録して自動でスケジュールの演算を実行させることができる。
【００１１】
また、本発明は、複数、特に１０件以上から数万件にわたる多数のジョブからなる業務全体での休業日を含むカレンダー情報をカレンダーデータベースから取得するカレンダー情報取得部と、前記カレンダー情報取得部により取得された前記カレンダー情報に基づいて休業日のリストを作成する休業日リスト作成部と、前記カレンダー情報に依存せずに作成したジョブ毎に適用可能な実行予定ルールに基づく実行予定日と実行除外予定ルールに基づく実行除外予定日とを含むスケジュール情報をスケジュールデータベースから取得するスケジュール情報取得部と、前記スケジュール情報取得部が取得したスケジュール情報に基づいて、前記実行予定ルールに基づいて実行予定日をリスト化した実行予定リストを作成する実行予定リスト作成部と、前記実行除外予定ルールに基づいて実行除外予定日をリスト化した実行除外予定リストを作成する実行除外予定リスト作成部と、前記実行予定リストと前記実行除外予定リストに、それぞれ前記休業日リストを反映させる休業日リスト反映部と、前記休業日リストをそれぞれ反映させた後の前記実行予定リストに、前記実行除外予定リストを反映させる実行予定リスト−実行除外予定リスト反映部と、を有することを特徴とするジョブスケジューリング装置である。
【００１２】
前記スケジュール情報は、前記実行予定リスト及び前記実行除外予定リストのそれぞれに関する休業日の振り替えルールを含み、前記休業日リスト反映部は、前記休業日の振り替えルールに基づいて、前記実行予定リスト及び前記実行除外予定リストを再編集するようにすると良い。休業日の振り替えルールを考慮して、前記実行予定リスト及び前記実行除外予定リストを再編集するため、コンピュータの演算に適している。
【００１３】
前記実行予定ルール及び前記実行除外予定ルールは、ジョブ毎に適用可能なスケジュールルールとして入力部から入力されることが好ましい。これにより、ジョブ毎に、適したスケジュールルールを、きめ細かく設定することができる。
【００１４】
尚、本発明は、上記ジョブスケジューリング装置におけるジョブスケジューリング方法、当該方法をコンピュータに実行させるためのジョブスケジューリングプログラム、当該プログラムを記録するコンピュータ読みとり可能な記録媒体であっても良い。
【発明の効果】
【００１５】
本発明によれば、カレンダー情報とスケジュール情報とを分離してＤＢで管理しているため、休業日以外の日にジョブの実行を抑止するために別のカレンダーを作成しなくても良くなり、カレンダー情報を変更する際に必要最小限の変更で済むようになる。
【００１６】
また、スケジュール情報に実行予定だけではなく、実行予定と同じ処理サイクルを項目として持つ実行除外予定も組み合わせてスケジュールとして登録できるので、一定のルールで実行しない日を持つスケジュールでも反転させたルールを考えて逐一登録するのではなく、実行しない日そのものを直接登録して自動でスケジュールを計算することができるようになる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態によるジョブ運用管理システムの一構成例を示す機能ブロック図である。
【図２】本実施の形態によるジョブスケジューリングプログラム（装置）の一構成例を示す機能ブロック図である。
【図３】本実施の形態によるスケジュールルール登録画面（ａ、ｂ）と、それに対応したスケジュールデータベース（ＤＢ）のレコードの一例を示す図（ｃ）である。
【図４】本実施の形態によるカレンダー登録画面（ａ）と、それに対応したカレンダーデータベース（ＤＢ）のレコードの一例を示す図（ｂ）である。
【図５】本実施の形態によるジョブスケジューリングの処理の流れを示すフローチャート図である。
【図６】本実施の形態によるジョブスケジューリングの処理における、実行予定リストに休業日情報を反映させる処理を示す図である。
【図７】本実施の形態によるジョブスケジューリングの処理における、実行除外予定リストに休業日情報を反映させる処理を示す図である。
【図８】本実施の形態によるジョブスケジューリングの処理における、実行予定リストに実行除外情報を反映させる処理を示す図である。
【図９】ジョブネットの１ヶ月（６月を例にして）の実行スケジュールを表示した画面を示す図である。
【発明を実施するための形態】
【００１８】
本発明は、業務全体での運用日や休業日を決定するカレンダー情報とジョブごとの実行予定を決めるスケジュール情報を分離し、さらにスケジュール情報に実行予定と同様に日毎や週末毎、毎月第２水曜日といった処理サイクルを項目として持つ実行除外予定も設定できるように構成することを特徴とする。すなわち、スケジュール情報は、カレンダー情報に依存しない分離した情報である。
【００１９】
以下、本発明の一実施の形態に係るジョブスケジューリング装置及びそれを用いたジョブ運用管理システムについて、図面に参照しながら説明を行う。
【００２０】
図１は、本実施の形態に係るジョブスケジューリング装置を含むジョブ運用管理システムの概略を示す機能ブロック図である。
【００２１】
本実施の形態によるジョブ運用管理システム１００には、データ格納装置（プログラム）１０１とジョブスケジューリング装置（プログラム）１０２、ジョブ実行装置（プログラム）１０３、画面表示装置（プログラム）１０４の各処理装置（プログラム）が例えば、コンピュータのＣＰＵと協働するプログラムとしてＲＯＭ内に搭載されている。これらの装置１０１から１０４までのいずれかを、専用の回路により実行するようにしても良い。
【００２２】
また、ジョブ運用管理システム１００は、例えばネットワーク経由で、スケジュールＤＢ１１１・カレンダーＤＢ１１２・ジョブ定義ＤＢ１１３の各データベース、表示装置（ＬＣＤディスプレイなど）１２０、入力装置（マウス、キーボード、タッチパネルなど）１３０と接続されている。これらの構成は、基本的には、パーソナルコンピュータ（ＰＣ）によって実現することができる。
【００２３】
次に、システム全体の処理の概要について簡単に説明する。まず、表示装置１２０に表示されたパラメータ入力画面（ＧＵＩ）に、入力装置１３０を用いてジョブのスケジュール、カレンダーおよびジョブの内容に関するジョブ定義についてのパラメータを入力し、ＧＵＩ経由でＤＢにデータを入力するデータ格納プログラム１０１が、それぞれ、スケジュールＤＢ１１１、カレンダーＤＢ１１２、ジョブ定義ＤＢ１１３に格納する。尚、ジョブ定義ＤＢ１１３内のデータについては、どのようなジョブを行わせるかに関する一般的なデータであるため、ここでは、説明を省略する。
【００２４】
ジョブスケジューリングプログラム１０２は、スケジュールＤＢ１１１とカレンダーＤＢ１１２から情報を取得し、ジョブを実行する日を計算する。ジョブスケジューリングプログラム（装置）については、図２を参照して後述する。
【００２５】
ジョブ実行プログラム１０３は、ジョブスケジューリングプログラム１０２が計算したスケジュールを基にジョブを実行する一般的な公知のプログラムである。
【００２６】
画面表示プログラム１０４は、ジョブスケジューリングプログラム１０２が計算したスケジュールを表示装置１２０に表示する一般的な公知のプログラムである。
【００２７】
図３は、スケジュールルール登録画面２００とそれに対応したスケジュールＤＢのレコード２１０の一例を示す図である。図３（ａ）、（ｂ）に示すスケジュールルール登録画面２００は、ルールＩＤ２０１、予定種別２０２、開始年月２０３、開始日２０４、開始時刻２０５、繰返し指定２０６、繰返しサイクル２０７、休業日振り替え指定２０８の入力項目を含んで構成されている。
【００２８】
ルールＩＤ２０１は、スケジュールルールの内容を特定するために一意に設定されるＩＤである。
【００２９】
本実施の形態の特徴である予定種別２０２は、スケジュールルールの予定の種別を示す。予定種別には「実行」と「実行除外」とを選択することができるように構成されている。予定種別として「実行」を選択すると実行予定のルールを入力する画面となり、新たに設けた「実行除外」を選択すると、実行除外予定のルールを入力する画面になる（図３（ｂ））。また、ここで「実行除外」を選択すると、実行除外予定に不要な情報となる開始時刻２０５はグレーアウトして選択や編集ができなくなることで、無駄な入力をさせずにすむ。
【００３０】
開始年月２０３は、スケジュールルールの適用開始年月を示す。ここに入力した年月を開始月として当該スケジュールルールが適用される。
【００３１】
開始日２０４は、スケジュールルールの適用開始日を示す。ここでは「日付指定」が表示されているが、その他、「月末指定」、「曜日指定」をプルダウンメニューなどにより選択することができ、「日付指定」を選択した場合は日付を、「月末指定」を選択した場合は最終日から何日前かを、「曜日指定」を選択した場合は何週目、あるいは最終週、あるいは毎週の何曜日かを指定することができる。
【００３２】
開始時刻２０５は、ジョブが実行される時刻を示す。予定種別２０２で「実行除外」が選択されて実行除外予定のルールとなっている場合は、ジョブは実行されないため開始時刻情報は不要となるため、グレーアウトして選択や編集ができなくなる。
【００３３】
繰返し指定２０６はスケジュールルールを特定の処理サイクルで繰り返すかどうかを示す。このチェックボックスにチェックを入れることで、繰返しサイクル２０７を設定することができるようになる。  繰返しサイクル２０７はスケジュールルールの繰返し条件を示す。サイクルは、日、週、月、年単位で指定することができる。
【００３４】
休業日の振り替え指定２０８はスケジュールされた日がカレンダーで休業日に設定されていた場合の運用の方法を指定するものである。休業日の振り替え指定２０８には、休業日の振り替えなしでジョブを実行しない「実行しない」、休業日の振り替えを前の運用日に振り替えてジョブを実行する「前の運用日に振り替え」、休業日の振り替えを後の運用日に振り替えてジョブを実行する「後の運用日に振り替え」、休業日にかかわらず振り替えなしでジョブを実行する「振り替えなしで実行する」を選択することができる。
【００３５】
図３（ｃ）は、スケジュールＤＢ１１１内に格納されるスケジュールルールのレコード２１０の一例を示す図である。例えば、スケジュールルールＩＤ２０１＝１のレコードは、予定種別２０２が「実行」であり、開始年月２０３が２０１０年６月、開始日２０４が５日、開始時刻２０５が１０：００、繰り返し２０６，２０７が１日毎、休業日の振り替え２０８は「実行しない」である。スケジュールルールＩＤ２０１＝２のレコードは、予定種別２０２が「実行除外」であり、開始年月２０３が２０１０年６月、開始日２０４が１０日、開始時刻２０５が空欄、繰り返し２０６，２０７が１月毎、休業日の振り替え２０８は「実行しない」である。
【００３６】
これらのスケジュールルールは、ジョブネットに関連付けされていて、実行予定のルールも実行除外予定のルールも複数登録することができる。
【００３７】
このようなスケジュールルールが、スケジュールＤＢ１１１（図１）内に上記の入力に伴って格納されていく。
【００３８】
図４は、カレンダー登録画面３００（図４（ａ））と、それに対応したカレンダーＤＢ１１２（図１）のレコード３１０（図４（ｂ））の一例を示す図である。カレンダー登録画面３００では、年間を通した曜日毎の指定３０１と、個別の日付毎の指定３０２で運用日、休業日を登録することができる。
【００３９】
曜日毎の指定３０１（ここでは日曜日）と個別の日付毎の指定３０２（ここでは６月５日，１９日）のどちらも未指定の場合はジョブの運用日として扱い、どちらか一方だけが未指定の場合はもう一方の指定内容に従う。両方で指定内容が異なる場合は個別の日付毎の指定が優先されるようにしてきめ細かい指定ができるようになっている。
【００４０】
図４（ｂ）に示すレコード３１０において、図の左側は曜日情報であり、右側は日付情報である。この図４（ｂ）の情報が、図１のカレンダーＤＢ１１２内に格納される。例えば、２０１０年６月５日の土曜日は、曜日情報で運用、日付情報で休業となっており、休業日となる。また、ＩＤ＝２のように、曜日情報で土曜日、日曜日が休業であって、６月５日及び６月１９日の日付情報が未指定の場合には、６月５日及び６月１９日は、それぞれ休業となる。さらに、ＩＤ＝３のように、曜日情報で全曜日が運用であって、６月５日及び６月１９日の日付情報が未指定の場合には、６月５日及び６月１９日は、それぞれ運用となる。これらのカレンダー情報は、ジョブネットに関連付けされている。
【００４１】
図２に戻って、本実施の形態によるジョブスケジューリング装置について説明する。ジョブスケジューリング装置１０２は、一般的にはジョブスケジューリングプログラムにより実現される。図１及び図２に示すように、ジョブスケジューリングプログラム（装置）１０２は、カレンダーＤＢ１１２内のカレンダー情報を取得するカレンダー情報取得部１２１と、当該カレンダー情報取得部１２１により取得されたカレンダー情報から休業日リストを作成する休業日リスト作成部１２２と、を有している。
【００４２】
さらに、スケジュールＤＢ１１１内のスケジュールルールを取得するスケジュール情報取得部１２３と、予定リストを作成する予定リスト作成部１２４と、を有している。予定リスト作成部１２４は、実行予定リスト作成部１２５と、実行除外予定リスト作成部１２６と、からなる。
【００４３】
さらに、実行予定リスト作成部１２５と、実行除外予定リスト作成部１２６と、に、対して、休業日リスト作成部１２２で作成した休業日リストを反映する休業日リスト反映部１２７と、実行予定リストに実行除外予定リストを反映する実行予定リスト−実行除外予定リスト反映部１２８を有している。
【００４４】
図５は、ジョブネットの実行スケジュールを決定する処理の流れを示すフローチャートである。他の図面も参照しながら説明を行う。
【００４５】
まず、カレンダー情報取得部１２１が、ジョブネットに関連付けられたカレンダー情報をカレンダーＤＢ１１２から取得する（ステップＳ１）。そして、カレンダー情報を取得できたら（ステップＳ２でレコードありがＹＥＳ）、取得したカレンダー情報から休業日リスト作成部１２２が休業日リストを作成・追加する（ステップＳ３）。ジョブネットに関連付けられたカレンダーを全て取得し終わったら（ステップＳ２でＮＯ）、スケジュール情報取得部１２３が、ジョブネットに関連付けられたスケジュールルールをスケジュールＤＢ１１１から取得する（ステップＳ４）。スケジュールルールを取得できたら（ステップＳ５でレコードありがＹＥＳ）、取得したスケジュールルールの予定種別を確認する（ステップＳ６）。ここで、予定種別が「実行」であれば、実行予定リスト作成部１２５が、実行予定リストを作成・追加し（ステップＳ７）、予定種別が「実行除外」であれば、実行除外予定リスト作成部１２６が、実行除外予定リストを作成・追加する（ステップＳ８）。ジョブネットに関連付けられたスケジュールルールを全て取得し終わったら（ステップＳ５でＮＯ）、休業日リスト反映部１２７が実行予定リストに休業日リストの情報を反映する（ステップＳ９）。休業日に実行予定があった場合、実行予定リストに設定されている休業日の振り替え指定にしたがって、実行予定をリストから削除したり、日付を変更したりする。すなわち、実行予定リストを休業日の振り替え指定に基づいて再編集する。実行予定リストに休業日の反映が終わったら、休業日リスト反映部１２７が実行除外予定リストに休業日リストの情報を反映する（ステップＳ１０）。休業日に実行除外予定があった場合、実行除外予定リストに設定されている休業日の振り替え指定にしたがって、実行除外予定をリストから削除したり、日付を変更したりする。すなわち、実行除外予定リストを休業日の振り替え指定に基づいて再編集する。休業日の反映が終わったら、実行予定リスト−実行除外予定リスト反映部１２８が、実行予定リストに実行除外予定リストの情報を反映する（ステップＳ１１）。このとき、休業日とは異なり実行除外予定に入っている日付の実行予定は必ず削除する。
【００４６】
尚、休業日リストの作成処理と、実行予定リスト・実行除外予定リストの作成処理は、いずれから初めても良い。並列して処理を行っても良い。
【００４７】
図６は、実行予定リスト６００に休業日リスト６１０を反映する様子を示す図である。休業日リスト６１０は、図４に示すカレンダー情報３１０から作成されたものであり、休業日６１１から６１６までがリストアップされている。一方、実行予定リスト６００は、図３に示すスケジュールルール情報２１０から作成されたものであり、日ごとに休業振り替えを、「実行する」、「実行しない」、「前の運用日に振り替え」、「後の運用日に振り替え」が指定されている。図６では、一部の日付については省略して記載されている。
【００４８】
休業日リスト６１０に記載されている休業日６１１〜６１６のうち、2010/06/05の実行予定への休業日の反映６１１は休業日の振り替えが「実行しない」となっているので、実行予定リストから削除する。2010/06/06の実行予定への休業日の反映６１２は休業日の振り替えが「前の運用日に振り替え」となっているので、前の運用日を探す。この場合、2010/06/05は休業日であり、2010/06/04が2010/06/06以前にある最寄りの運用日となる。したがって、振り替える日時は2010/06/04 10:00となり、この日時に実行予定はないので振り替え分として実行予定に追加する。2010/06/13の実行予定への休業日の反映６１３は休業日の振り替えが「実行する」となっているので、実行予定はそのまま変更しない。2010/06/19の実行予定への休業日の反映６１４は休業日の振り替えが「後の運用日に振り替え」となっているので、後の運用日を探す。この場合、2010/06/20は休業日であるため、2010/06/21が2010/06/19以降にある最寄りの運用日となる。したがって、振り替える日時は2010/06/21 10:00となるが、この日時の実行予定があるので振り替え分としての実行予定は削除する。2010/06/20の実行予定への休業日の反映６１５は休業日の振り替えが「実行する」となっているので、実行予定はそのまま変更しない。2010/06/27の実行予定への休業日の反映６１６は休業日の振り替えが「実行しない」となっているので、実行予定リストから削除する。このように、リストを振り替えルールによって再編集する。
【００４９】
図７は、実行除外予定リスト７００に休業日リスト７１０（休業日リスト６１０と同じ）を反映する様子を表す図である。実行除外予定リスト７００は、毎月１０日、２０日、３０日は実行を除外するという実行除外のスケジュールルールに基づいている（図３（ｂ）参照）。休業日のうち2010/06/05、06、13、19、27（７１１、７１２、７１３、７１４、７１６）には該当する実行除外予定がないので実行除外予定リストに変更はない。2010/06/20の休業日７１５は実行除外予定があり休業日の振り替えは「実行しない」となっているので実行除外予定リストから削除する。尚、2010/06/20の休業日７１５は実行除外予定があり休業日の振り替えは「実行する」となっている場合には、2010/06/20も実行除外予定に入れることになる。また、2010/06/20の休業日７１５は実行除外予定があり休業日の振り替えは「前に振り替えする」となっている場合には、2010/06/19は休業日であるから実行除外予定日が2010/06/18になる。2010/06/20の休業日７１５は実行除外予定があり休業日の振り替えは「後に振り替えする」となっている場合には、実行除外予定日が2010/06/21になる。
【００５０】
図８は、実行予定リスト８００に実行除外予定リスト８１０（図７の７００に７１０を反映したもの）を反映する様子を表す図である。図８では、一部の日付については省略して記載されている。2010/06/10及び2010/06/30の実行除外予定８１１、８１２は実行予定があるので実行予定リストから削除する。尚、上記図７で、2010/06/20の休業日７１５は実行除外予定があり休業日の振り替えは「実行する」となっている場合には、2010/06/20も実行除外予定に入れることになるため、この日も実行予定から削除されることになる。このように、実行除外予定リスト８１０を作成しておき、実行予定リストに反映させることで、一般的には実行除外予定日は少ないので、従来のように、実行する日に変換して反映する場合に比べて処理が簡単になるケースが多い。
【００５１】
図９は、１ヶ月分のジョブネットの実行予定表示画面９００である。ここでは、ジョブネット１から３までが例示されているが、実際には非常に多くのジョブネットのスケジューリングがなされている。
【００５２】
「ジョブネット１」は休業日がなく（カレンダーが図４（ｂ）においてＩＤ＝３）、実行予定が「2010/06/05から毎日実行」（実行予定リスト６００）で実行除外予定がないというケースを適用した例であり、2010/06/05から毎日実行される。
【００５３】
「ジョブネット２」は休業日を「毎週日曜および2010/06/05, 2010/06/19」とし（カレンダーが図４（ｂ）においてＩＤ＝１）、実行予定が「2010/06/05から毎日実行」（実行予定リスト６００）で実行除外予定がないというケースを適用した例であり、2010/06/05, 6, 19, 27のみが休業日になる。
【００５４】
「ジョブネット３」は休業日を「毎週日曜および2010/06/05, 2010/06/19」とし（カレンダーが図４（ｂ）においてＩＤ＝１）、実行予定が「2010/06/05から毎日実行」（実行予定リスト６００）で実行除外予定が「毎月１０日，２０日，３０日」（実行除外予定リスト７００）というケースを適用した例であり、実行除外予定を適用することで、「ジョブネット２」に比べて、2010/06/10, 30が実行除外日になっている。
【００５５】
このように、図５に示す処理を行うことで、簡単な操作で実行除外も考慮に入れたジョブネットのスケジューリングを行うことができる。
【００５６】
以上に説明したように、本実施の形態によれば、カレンダー情報とスケジュール情報とを分離しているので、休業日以外の日にジョブの実行を抑止するために別のカレンダーを作成しなくても良くなり、カレンダー情報を変更する際に必要最小限の変更で済むようになる。
【００５７】
また、スケジュール情報に、実行予定だけではなく、実行予定と同じ処理サイクルを項目として持つ実行除外予定も組み合わせてスケジュールとして登録できるため、一定のルールで実行しない日を持つスケジュールであれば、逐一反転させたルールを考えて登録することなく、実行しない日そのものを直接登録して自動でスケジュールの演算を実行させることができるという利点がある。特に、多数のジョブが同時期に実行される場合には極めて有効な手段となる。
【産業上の利用可能性】
【００５８】
本発明は、ジョブのスケジューリング装置として利用可能である。
【符号の説明】
【００５９】
１００  ジョブ運用管理システム
１０１  データ格納プログラム
１０２  ジョブスケジューリングプログラム
１０３  ジョブ実行プログラム
１０４  画面表示プログラム
１１１  スケジュールＤＢ
１１２  カレンダーＤＢ
１１３  ジョブ定義ＤＢ
１２０  表示装置
１２１  カレンダー情報取得部
１２２  休業日リスト作成部
１２３  スケジュール情報取得部
１２４  予定リスト作成部
１２５  実行予定リスト作成部
１２６  実行除外予定リスト作成部
１２７  休業日リスト反映部
１２８  実行予定リスト−実行除外予定リスト反映部
１３０  入力装置
２００  スケジュールルール登録画面
２０１  ルールＩＤ
２０２  予定種別
２０３  開始年月
２０４  開始日
２０５  開始時刻
２０６  繰返し指定
２０７  繰返しサイクル
２０８  休業日の振り替え指定
２１０  スケジュールＤＢレコード
３００  カレンダー登録画面
３０１  曜日毎の運用日・休業日指定
３０２  日付毎の運用日・休業日指定
３１０  カレンダーＤＢレコード
６００  実行予定リスト
６１０  休業日リスト
７００  実行除外予定リスト
７１０  休業日リスト
８００  実行予定リスト
８１０  実行除外予定リスト
９００  １ヶ月分のジョブネットの実行予定表示画面
【図１】
0005539829.tif 000002
【図２】
0005539829.tif 000003
【図３】
0005539829.tif 000004
【図４】
0005539829.tif 000005
【図５】
0005539829.tif 000006
【図６】
0005539829.tif 000007
【図７】
0005539829.tif 000008
【図８】
0005539829.tif 000009
【図９】
0005539829.tif 000010