(57)【特許請求の範囲】
【請求項１】
１つ以上のスケジュールの実行を管理するスケジュール実行管理装置において、
スケジュールの開始予定時刻を、該スケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、該終了時刻からのオフセットとに対応して設定する開始予定時刻設定手段と、
該設定された開始予定時刻を、スケジュールを識別するスケジュール識別情報と対応付けて記憶する時刻表と、
前記時刻表に記憶されているスケジュールを１つずつ読み出して、該スケジュールの実行状態が、依存するスケジュールの終了を待機していることを示す待機中、該依存するスケジュールの終了にしたがって該スケジュールの実行開始の制御がなされたことを示す実行中あるいは該依存するスケジュールの終了にしたがって実行開始の制御がなされたスケジュールについての実行が終了したことを示す実行終了のいずれであるかを示す経過情報を、前記スケジュール識別情報及び対応する開始予定時刻と対応付けて前記時刻表に記載する時刻表設定手段と、
前記時刻表に記載されている開始予定時刻及び定期的に読み出される時刻を参照して、前記経過情報として実行待機中が設定されており、開始予定時刻が該読み出された時刻を経過しているスケジュールを実行するスレッドを起動することにより実行を開始し、該スレッドから終了時刻情報を含む実行結果を受信するスケジュール実行制御手段と、
前記スケジュールの実行開始の制御にともない、前記時刻表に記載されている経過情報を更新する時刻表更新手段と、
前記スケジュール実行制御手段によるスケジュールの実行開始の制御によって実行された前記他のスケジュールの実際の終了時刻が前記時刻表に記憶されている前記終了時刻から変更されたとき、前記実行結果に基づいて、該実際の終了時刻と該終了時刻からのオフセットとに対応して、該他のスケジュールに依存するすべてのスケジュールの開始予定時刻を動的に変更し、前記時刻表に記憶されている開始予定時刻を書き換える開始予定時刻変更手段と
を備え、
前記時刻表更新手段は、前記時刻表を参照して、前記時刻表の開始予定時刻を更新する
ことを特徴とするスケジュール実行管理装置。
【請求項２】
１つ以上の実行をコンピュータにおいて管理するスケジュール実行管理方法であって、
スケジュールの開始予定時刻を、該スケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、該終了時刻からのオフセットとに対応して設定する過程と、
該設定された開始予定時刻を、スケジュールを識別するスケジュール識別情報と対応付けて時刻表に記憶する過程と、
前記時刻表に記憶されているスケジュールを１つずつ読み出して、該スケジュールの実行状態が、依存するスケジュールの終了を待機していることを示す待機中、該依存するスケジュールの終了にしたがって該スケジュールの実行開始の制御がなされたことを示す実行中あるいは該依存するスケジュールの終了にしたがって実行開始の制御がなされたスケジュールについての実行が終了したことを示す実行終了のいずれであるかを示す経過情報を、前記スケジュール識別情報及び対応する開始予定時刻と対応付けて前記時刻表に記載する過程と、
前記時刻表に記載されている開始予定時刻及び定期的に読み出される時刻を参照して、前記経過情報として実行待機中が設定されており、開始予定時刻が該読み出された時刻を経過しているスケジュールを実行するスレッドを起動することにより実行を開始し、該スレッドから終了時刻情報を含む実行結果を受信する過程と、
前記スケジュールの実行開始の制御にともない、前記時刻表に記載されている経過情報を更新する過程と、
前記スケジュールの実行開始の制御により実行された前記他のスケジュールの実際の終了時刻が前記時刻表に記憶されている前記終了時刻から変更されたとき、前記実行結果に基づいて、該実際の終了時刻と該終了時刻からのオフセットとに対応して、該他のスケジュールに依存するすべてのスケジュールの開始予定時刻を動的に変更し、再設定する過程と、
該再設定された開始予定時刻を前記時刻表に記憶する過程と、
前記時刻表を参照して、前記時刻表の開始予定時刻を更新する過程とを備えることを特徴とするスケジュール実行管理方法。
【請求項３】
１つ以上のスケジュールの実行を管理する計算機によって使用される記憶媒体において、
スケジュールの開始予定時刻を、該スケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、該終了時刻からのオフセットとに対応して設定するステップと、
該設定された開始予定時刻を、スケジュールを識別するスケジュール識別情報と対応付けて時刻表に記憶するステップと、
前記時刻表に記憶されているスケジュールを１つずつ読み出して、該スケジュールの実行状態が、依存するスケジュールの終了を待機していることを示す待機中、該依存するスケジュールの終了にしたがって該スケジュールの実行開始の制御がなされたことを示す実行中あるいは該依存するスケジュールの終了にしたがって実行開始の制御がなされたスケジュールについての実行が終了したことを示す実行終了のいずれであるかを示す経過情報を、前記スケジュール識別情報及び対応する開始予定時刻と対応付けて前記時刻表に記載するステップと、
前記時刻表に記載されている開始予定時刻及び定期的に読み出される時刻を参照して、前記経過情報として実行待機中が設定されており、開始予定時刻が該読み出された時刻を経過しているスケジュールを実行するスレッドを起動することにより実行を開始し、該スレッドから終了時刻情報を含む実行結果を受信するステップと、
前記スケジュールの実行開始の制御にともない、前記時刻表に記載されている経過情報を更新するステップと、
前記スケジュールの実行開始の制御により実行された前記他のスケジュールの実際の終了時刻が前記時刻表に記憶されている前記終了時刻から変更されたとき、前記実行結果に基づいて、該実際の終了時刻と該終了時刻からのオフセットとに対応して、該他のスケジュールに依存するすべてのスケジュールの開始予定時刻を動的に変更し、再設定するステップと、
該再設定された開始予定時刻を前記時刻表に記憶するステップと、
前記時刻表を参照して、前記時刻表の開始予定時刻を更新するステップとを計算機に実行させるためのプログラムを格納した計算機読出し可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はスケジュール管理方式、すなわち時刻や他の条件をトリガーとして単独、または複数のスケジュールの実行を管理するスケジュール実行管理方式に係り、更に詳しくは緊急時のスケジュールの変更を容易とし、また他の環境でスケジュールの定義を容易に再利用することができるスケジュール実行管理装置、および管理方法を提供することである。
【０００２】
【従来の技術と発明が解決しようとする課題】
本発明で対象とするスケジュールとは、ある作業内容と、その開始予定時刻情報の組合わせとして定義されるものとする。本発明のスケジュール実行管理装置の管理下で、複数の作業内容が並行して実行される場合、それぞれの作業はある特定のスケジュールに属することとする。すなわち一般的には複数のスケジュールが並行して動作する。
【０００３】
このようなスケジュールの実行に関する従来方式においては、例えばスケジュールの実施日については毎日、毎週、あるいは指定日などを指定することができたが、その開始時刻については絶対時刻で指定されていた。
【０００４】
また緊急時に特定のスケジュールを手動で実行することは可能であったが、実行されたスケジュールと関連するスケジュールについては、その開始時刻を自動的に変更して動作させることはできなかった。
【０００５】
更にあるスケジュールＡの終了後に、例えば一定時間の間隔を設けて別のスケジュールＢを実行させることは可能であったが、スケジュールＡの開始時刻の変更や実行時間の変更と連動して、あらかじめ定められた時間間隔をおくように、スケジュールＢの開始時刻を変更する方法はなかった。
【０００６】
このような従来技術における第１の問題点は、緊急時の柔軟性の欠如である。複数のスケジュールが相互に関連し、各スケジュールに対しての開始時刻が絶対時刻で指定されている場合には、スケジュールの開始時刻を緊急に変更する必要が生じた時には、関連するスケジュールを手動で抽出し、全てのスケジュールに対して開始時刻を手動で再設定しなければばらない。
【０００７】
緊急時でなくても、例えば運用時間が異なる別環境でスケジュール情報を再利用したい場合にも、開始時刻を手動で再設定しなければならないという問題があった。
【０００８】
第２の問題点は、スケジュールＢが依存関係にあるスケジュールの開始時刻の変更が困難であるという問題点である。スケジュールＡに依存していて、スケジュールＡの終了時点からある一定時間の経過の後に起動されることが前提となっている場合には、スケジュールＡの開始時刻や実行時間が変更されたとき、それに連動して前述の実行間隔を保ちながら、スケジュールＢの開始時刻を自動的に変更することができないという問題点があった。
【０００９】
本発明の課題は、上述の問題点に鑑み、緊急時のスケジュールの変更を容易とし、また他の環境でスケジュール情報を容易に再利用可能とさせるスケジュール実行管理方法装置、および管理方法を提供することである。
【００１０】
【課題を解決するための手段】
図１は本発明の原理構成ブロック図である。同図は１つ以上、一般には複数のスケジュールの並列実行などを管理するスケジュール実行管理装置の原理構成ブロック図であり、スケジュール実行管理装置１は開始予定設定手段２、開始予定時刻記憶手段３、およびスケジュール実行制御手段４を備える。
【００１１】
開始予定時刻設定手段２は、例えばスケジュール実行管理装置の要求処理部であり、あらかじめ定められたベース時刻とそのベース時刻からのオフセットとに対応して、スケジュールの開始予定時刻を設定するものである。
【００１２】
開始予定時刻記憶手段３は、例えば時刻表であり、開始予定時刻設定手段２によって設定された開始予定時刻を記憶するものである。
スケジュール実行制御手段４は、例えばスケジュール実行管理部であり、開始予定時刻記憶手段３に記憶された内容を参照して、スケジュールの開始を制御するものである。
【００１３】
本発明の実施の形態においては、前述のあらかじめ定められたベース時刻が変更された時、変更後のベース時刻と前述のオフセットとに対応して、スケジュルの開始予定時刻を変更し、開始予定時刻記憶手段３に記憶されている開始予定時刻を書き換える開始予定時刻変更手段を更に備えることもできる。
【００１４】
本発明のスケジュール実行管理装置としては、前述の開始予定時刻設定手段と異なる動作を実行する開始予定時刻設定手段を備えるスケジュール実行管理装置も可能である。
【００１５】
その構成ブロック図は図１と同じであるが、開始予定時刻設定手段２はスケジュールの開始予定時刻を、そのスケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、その終了時刻からのオフセットに対応して設定するものである。
【００１６】
開始予定時刻記憶手段３は、前述と同様に設定された開始予定時刻を記憶するものであり、またスケジュール実行制御手段４は、同様に開始予定時刻記憶手段３の記憶内容を参照して、スケジュールの開始を制御するものである。
【００１７】
発明の実施の形態においては、前述の他のスケジュールの開始時刻が変更された時、変更後の終了時刻とその終了時刻からのオフセットとに対応して、スケジュールの開始予定時刻を変更し、開始予定時刻記憶手段３に記憶されている開始予定時刻を書き換える開始予定時刻変更手段を更に備えることもできる。
【００１８】
本発明のスケジュール実行管理方法として、1 つ以上のスケジュールの実行を管理するスケジュール実行管理方法において、あらかじめ定められたベース時刻とそのベース時刻からのオフセットとに対応して、スケジュールの開始予定時刻を設定する過程と、設定された開始予定時刻を記憶する過程と、記憶された開始予定時刻を参照して、スケジュールの開始を制御する過程とを備えるスケジュール実効管理方法が用いられる。
【００１９】
また本発明においては、このようにスケジュールの開始時刻をあらかじめ定義されたベース時刻とそのベース時刻からのオフセットとに対応して設定し、１つ以上のスケジュールの実行を管理するスケジュール実行管理方法として、あらかじめ定められたベース時刻が変更された時、変更後のベース時刻とオフセットとに対応してスケジュールの開始予定時刻を再設定する過程と、再設定された開始予定時刻を記憶する過程と、記憶された開始予定時刻を参照して、スケジュールの実行開始を制御する過程とを備えるスケジュール実行管理方法が用いられる。
【００２０】
また本発明に於いて、１つ以上のスケジュールの実行を管理するスケジュール実行管理方法として、スケジュールの開始予定時刻を、そのスケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、その終了時刻からのオフセットとに対応して設定する過程と、設定された開始予定時刻を記憶する過程と、記憶された開始予定時刻を参照して、スケジュールの実行開始を制御する過程とを備えるスケジュール実効管理方法が用いられる。
【００２１】
またこのようにスケジュール開始予定時刻を、そのスケジュールとの間に依存関係がある他のスケジュールの終了時刻とオフセットに対応して設定し、１つ以上のスケジュールの実行を管理する方法として、他のスケジュールの開始時刻が変更された時、変更後の終了時刻とオフセットとに対応してスケジュールの開始予定時刻を再設定する過程と、再設定された開始予定時刻を記憶する過程と、記憶された開始予定時刻を参照して、スケジュールの実行開始を制御する過程とを備えるスケジュール実行管理方法が用いられる。
【００２２】
次に本発明において、１つ以上のスケジュールの実行を管理する計算機によって使用される記憶媒体として、あらかじめ定められたベース時刻とそのベース時刻からのオフセットとに対応して、スケジュールの開始予定時刻を設定するステップと、設定された開始予定時刻を記憶するステップと、記憶された開始予定時刻を参照して、スケジュールの実行開始を制御するステップとを計算機に実行させるためのプログラムを格納した計算機読出し可能可搬型記憶媒体が用いられる。
【００２３】
また本発明において、１つ以上のスケジュールの実行を管理する計算機によって使用される記憶媒体として、スケジュールの開始予定時刻を、そのスケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、その終了時刻からのオフセットとに対応して設定するステップと、設定された開始予定時刻を記憶するステップと、記憶された開始予定時刻を参照して、スケジュールの開始を制御するステップとを計算機に実効させるためのプログラムを格納した計算機読出し可能可搬型記憶媒体が用いられる。
【００２４】
以上のように本発明によれば、スケジュールの開始予定時刻が、あらかじめ定められたベース時刻とそのベース時刻からのオフセットとに対応して設定されるか、またはそのスケジュールとの間に依存関係が存在する他のスケジュールの終了時刻とオフセットとに対応して設定される。
【００２５】
【発明の実施の形態】
図２は本発明のスケジュール実行管理方式が用いられるスケジュール実行システムの１つの構成例である。同図において、サーバ１０が基本的に本発明のスケジュール実行管理装置としての役割を果たす。サーバ１０には、ホスト１１と、複数のクライアント１２ａ〜１２ｃが接続されている。
【００２６】
サーバ１０は例えばクライアント側の要求に対応してスケジュールＡを実行し、ホストコンピュータ１１への接続を行い、ある処理要求を依頼して、ホスト１１との接続を一旦切断する。ホスト１１は一定の処理時間を使って、この要求を処理する。
【００２７】
サーバ１０はスケジュールＡの終了時刻からある一定時間、すなわちホスト１１側で要求を処するだけの十分な時間間隔が経過してからスケジュールＢを起動し、再度ホスト１１との通信経路を接続し、処理の実行結果を受取り、クライアント側にその結果を返す。
【００２８】
このようにあるスケジュールＢの実行に先行して別のあるスケジュールＡが終了している必要がある場合に、後者Ａを前者Ｂの依存元スケジュールと呼ぶことにする。ＡをＢの依存元スケジュールとして指定することによって、前者Ｂ（依存先スケジュール）の実行開始を後者Ａが終了するまで抑止することが可能となる。
【００２９】
図３は本発明のスケジュール実行管理方式を用いるスケジュール実行システムの他の構成例である。同図において、コンピュータ２０はネットワーク２１によってウェブサーバ２２と接続され、コンピュータ２０に対してはマウス２３、キーボード２４およびディスプレイ２５が接続されている。
【００３０】
図３においてコンピュータ２０は、例えば夜の間にウェブサーバ２２との通信経路を接続し、あるデータを取ってきておき、朝になったらユーザがスケジュールＢによってそのデータを見るというような操作が可能である。また、スケジュールＡとジュールＢとがコンピュータ２０の内部で閉じた処理しか行わない場合には、コンピュータ２０としてネットワークに接続されていないスタンドアロン型のコンピュータを用いることも可能である。
【００３１】
本発明のスケジュール実行管理方式においては、スケジュールの開始時刻を指定する方式として、従来の絶対時刻指定に加えてベース時刻指定と、相対時刻指定の２つの指定方式を用いるものとする。
【００３２】
ベース時刻指定の方式は、特定の時刻をベース時刻としてその時刻に名前、すなわちベース時刻名をつけて絶対時刻と共に登録可能とし、スケジュール開始予定時刻の設定時には、ベース時刻名とベース時刻からのオフセット時間とを用いて、スケジュールの開始予定時刻を指定可能とする方式である。
【００３３】
相対時刻指定方式は、依存元スケジュール名とその依存元スケジュールの終了時刻からのオフセット時間とで、スケジュールの開始予定時刻を指定可能とする方式である。
【００３４】
図４はスケジュール実行装置の基本的な構成を示すブロック図である。同図においてスケジュール実行管理装置は基本的にスケジュール予約部３１と、スケジュール実行部３２、およびスケジュール情報ファイル３３によって構成されている。
【００３５】
図４においてスケジュール予約部３１は、例えば図２のサーバ１０の内部で必要に応じて起動される非常駐のプログラムに相当するものであり、スケジュールの情報を編集する編集部３４と、スケジュール実行部３２に対してスケジュール情報の変更を通知する変更通知部３５から構成されている。
【００３６】
スケジュール実行部３２は、例えばサーバ１０の電源がオンの場合には常に実行可能な常駐のプログラムに相当し、例えばスケジュール予約部３１からのスケジュール情報変更通知に対応して、スケジュールの開始予定時刻の算出などを行う要求処理部３６、スケジュールの実行を管理するスケジュール実行管理部３７、ベース時刻名と対応するベース時刻とを格納するベース時刻表３８、要求処理部３６によって算出されたスケジュールの開始予定時刻などを格納する時刻表３９、スケジュール実行管理部３７の管理の下で実際にスケジュール内容を実行する実行スレッド４０1 〜４０n から構成されている。
【００３７】
本実施形態においては、スケジュール実行部３２によって、ベース時刻の変更や依存元スケジュールの終了時刻の変更にも動的な対応が可能となるように、スケジュールの更新が行われる。
【００３８】
その第一の基本的処理は、スケジュール情報ファイル３３の内容の変更に伴うスケジュールの自動更新である。スケジュール実行部３２は、スケジュール情報ファイル３３の内容、例えばベース時刻の時刻が変更された場合に、スケジュール予約部３１からのスケジュール情報変更通知、または定期的に行われるスケジュール情報再読込にあたって、ベース時刻名とオフセットで指定される開始時刻情報を実際の時刻情報に変換し、スケジュール実行部３２の内部の時刻表３９に登録する。
【００３９】
第２の基本的な処理は、依存元スケジュールの終了によるスケジュール（依存先スケジュール）の開始時刻の変更処理である。スケジュール実行部３２は、依存元スケジュールの終了を検出した時、依存先スケジュールの開始予定時刻を自動的に計算し、時刻表３９に登録する処理を実行する。
【００４０】
スケジュール予約部３１の処理について更に説明する。まず編集部３４は、図示しないベース時刻設定部とスケジュール設定部とを備える。ベース時刻設定部は、ベース時刻名と相当するベース時刻の組が例えばユーザから入力された時、その組のデータをスケジュール情報ファイル３３に格納する。
【００４１】
スケジュール設定部は、ユーザによるスケジュール指定方式の選択と必要情報の入力に応じて、入力された情報をスケジュール情報ファイル３３に格納する。まず絶対時刻が指定される場合には、開始時刻として絶対時刻が入力される。
【００４２】
ベース時刻が指定された場合には、例えばベース時刻設定部によって設定されたベース時刻名が選択され、そのベース時刻からのオフセット時間がユーザから入力される。相対時刻が指定された場合には、例えば依存元スケジュールとして、すでにスケジュール情報ファイル３３に登録されているスケジュールのスケジュール名が選択され、その依存元スケジュールの終了時刻からのオフセット時刻が入力される。
【００４３】
編集部３４はスケジュール情報を編集した後、スケジュール情報の変更をスケジュール実行部３２に通知する場合には、変更通知要求を変更通知部３５に送り、変更通知部３５はその要求を受けて、スケジュール実行部３２内の要求処理部３６にスケジュール情報変更通知を送る。
【００４４】
スケジュール実行部３２における処理は要求処理部３６、スケジュール実行管理部３７、および複数の実行スレッド４０1 〜４０n によって行われる。まず要求処理部３６の処理については、フローチャートを用いて後述するが、ここではまずその概要を説明する。
【００４５】
要求処理部３６は、例えばスケジュール予約部３１からスケジュール情報変更通知のメッセージを受信することによって処理を実行する。このようなメッセージについては、後に問題がおきた時に解析を行うためのログを残す。これはメッセージの流れを追うことによって、行われた処理のあらましをつかむためのものであり、例えばスケジュール実行管理部３７によるスレッド４０1 〜４０n の起動の時刻なども必要に応じてログとして残される。
【００４６】
要求処理部３６の処理は基本的に３つに分類される。第１の処理は、スケジュール実行部３２自体の起動時の処理である。スケジュール実行部３２は、前述のように例えば図２のサーバ１０の電源がオンとなった時点で起動されるが、要求処理部３６も当然同時に起動される。要求処理部３６はスケジュール情報ファイル３３の内容を読み出し、そのうちのベース時刻情報をベース時刻表３８に格納し、次に本日実行予定のスケジュールについて時刻表３９にスケジュール名などを登録し、スケジュール実行管理部３７を起動する。
【００４７】
要求処理部３６の第２の処理は定時再読込時、またはスケジュール変更通知受信時の処理である。要求処理部３６は、例えば1 日に1 回、スケジュール情報ファイル３３の再読込みを行い、またスケジュール予約部３１からスケジュール情報通知を受取った時にスケジュール情報ファイル３３の読込みを行う。この処理では、ベース時刻表３８の内容を更新すると共に、必要に応じて時刻表３９内に格納されている各スケジュールに対応するレコードの更新を実行する。
【００４８】
要求処理部３６の第３の処理は、実行スレッドからスケジュールの実行結果を受信した場合の処理である。実行スレッド４０1 〜４０n はスケジュール実行管理部３７によって起動され、実行が依頼されたスケジュールの処理部が終了すると、実行結果に加え、実行スケジュール名と終了時刻を要求処理部３６に送ることになる。
【００４９】
要求処理部３６はこの実行結果を受取ると、実行スケジュール名に相当するレコードの内容を更新し、また依存元スケジュールとして実行スケジュール名のスケジュールが指定されているレコードについて、開始予定時刻の計算などを実行する。
【００５０】
ここで開始予定時刻の計算方法について説明する。時刻の指定分類が絶対指定の場合には、オフセットの値が開始予定時刻とされる。ベース時刻指定の場合には、ベース時刻名をキーとしてベース時刻表３８からベース時刻が参照され、そのベース時刻とオフセットが加算されて、開始予定時刻とされる。相対時刻指定の場合には、依存元スケジュールの終了時刻にオフセットが加算されて、開始予定時刻が求められる。
【００５１】
図４のスケジュール実行管理部３７は定期的、例えば３０秒とか１分毎に時刻表３９を参照し、後述する状態が“実行待機中”のスケジュールであって、現時刻において開始時刻を経過しているものについて状態を“実行中”に変更し、実行スレッドを起動して、実行スケジュール名とスケジュール内容をつけた実行依頼を発行するものである。
【００５２】
実行スレッド４０1 〜４０n は、スケジュール実行管理部３７から実行依頼されたスケジュールを実行し、作業の完了後、要求処理部３６に対して実行スケジュール名と終了時刻をつけた実行結果を送り、処理を終了する。
【００５３】
図４のスケジュール情報ファイル３３、ベース時刻表３８、および時刻表３９の格納内容について説明する。図５はスケジュール情報ファイル３３の格納内容の全体的な説明図である。同図において、スケジュール情報は基本的にヘッダとしての管理領域と、データ領域１、およびデータ領域２の３つの領域によって構成される。ヘッダとしての管理領域には、ファイルのバージョンレベル、データ領域の数N,ここでは２、各データ領域へのポインタが格納されている。
【００５４】
データ領域１は、各スケジュールに対するデータを格納する領域であり、スケジュール表と呼ぶことにする。この格納内容については後述する。データ領域２は、ベース時刻名とベース時刻とを組として格納する領域であり、ベース時刻情報表と呼ぶことにする。
【００５５】
図６は図５のデータ領域１の詳細説明図である。データ領域１、すなわちスケジュール表には、各スケジュールに対してそれぞれレコードが格納されている。スケジュール数、すなわちレコードの数がN １であるとすると、まず先頭にレコード数N １が格納され、それに続いてN1個のレコードが格納される。
【００５６】
図７は、図６のレコード、すなわちスケジュール表の各スケジュールに対応するレコードの詳細な格納内容を示す。レコードの先頭には、まずレコード長が格納される。これは後述するスケジュール内容が可変長であるためである。続いてスケジュールの名称としてのスケジュール名が格納され、その後に既存属性情報が格納される。既存属性情報とは、例えば毎日実行、指定日実行などの属性データである。
【００５７】
続いて時刻指定分類方式が格納される。これは前述の絶対時刻指定、ベース時刻指定、相対時刻指定のいずれかを指定するものである。続いて格納されるオフセットとしては、時刻指定が絶対時刻指定の場合には絶対時刻が、ベース時刻指定の場合にはベース時刻からのオフセットが、相対時刻指定の場合には依存元スケジュールの終了時刻からのオフセットが格納される。
【００５８】
次の依存元スケジュール名には、依存元スケジュールがある場合にそのスケジュールが指定される。相対時刻指定の場合には、この指定が必ず必要である。次のベース時刻名はベース時刻指定の場合に使用されるベース時刻名である。最後に格納されるスケジュール内容はスケジュールの具体的な実行内容である。これは、当然スケジュールのそれぞれに対応して可変長となる。
【００５９】
図８は図５のデータ領域２、すなわちベース時刻情報表の格納内容である。まず、先頭に、ベース時刻としていくつのレコードが格納されているかがレコード数N ２として  格納され、その後にベース時刻名とベース時刻とを１組としたレコードが、Ｎ２個格納される。ここでベース時刻名はベース時刻指定のスケジュールに対応して参照されるベース時刻につけられた名前であり、ベース時刻としては絶対時刻が指定される。
【００６０】
図４のベース時刻表３８の格納内容は、図８で説明したデータ領域２、すなわちベース時刻情報表の内容と同じである。すなわち前述のように要求処理部３６はスケジュール予約部３１からのスケジュール情報変更通知を受取ると、スケジュール情報ファイル３３のデータ領域２の内容を読み出して、その内容をベース時刻表３８に格納することになる。
【００６１】
図４の時刻表３９におけるデータ格納形式は、基本的に図６で説明したデータ領域１、すなわちスケジュール表の格納形式と同じであり、レコードの内容が１部異なるのみである。
【００６２】
図９は時刻表３９の１つのレコード、すなわちそれぞれのスケジュールに対応するレコードの格納内容を示す。格納内容は図７のスケジュール表のレコードと類似しているため、図７と異なる部分についてのみ説明する。
【００６３】
図９においてまずレコード長に続いて変更フラグが格納される。このフラグは、例えば定時再読込み時に要求処理部３６がスケジュール情報ファイル３３の内容を読み出し、本日実行予定のスケジュールに対応するレコードを時刻表３９に格納するにあたって、時刻表３９にすでに格納されており、実行の必要がなくなったレコードを削除するために使用されるフラグであるが、その詳細については後述する。
【００６４】
開始予定時刻としては、依存元スケジュールの指定がない場合はスケジュール情報ファイル３３の読出し時点で、ある場合は依存元スケジュールが終了した時点で、確定したスケジュールの開始予定時刻が格納される。依存元スケジュールが存在し、そのスケジュールが終了していない場合、ここには不確定を示す値が格納される。
【００６５】
終了時刻としては、スケジュールの終了時刻が格納される。相対時刻指定の場合に、依存元のスケジュールの終了時点でその終了時刻とオフセットとを加算して、依存先スケジュールの開始時刻を決定する時に参照される。
【００６６】
状態については実行待機中、依存元スケジュール待機中、実行中、または終了のいずれかを示す値が格納される。実行待機中とは依存元スケジュールが存在しないか、そのスケジュールが終了し、開始予定時刻が絶対時刻で確定し、スケジュールの実行が開始されるのを待っている状態である。依存元スケジュール待機中は依存元スケジュールの終了を待っている状態であり、実行中はそのスケジュールの作業が実行スレッドによって実行されている状態であり、終了はそのスケジュールの作業の実行が完了している状態である。
【００６７】
以上説明したスケジュール情報ファイル３３、ベース時刻表３８、および時刻表３９に対するアクセスに関しては、必要に応じて排他処理を行う必要がある。スケジュール情報ファイル３３に対してはスケジュール予約部３１とスケジュール実行部３２との間で、またベース時刻表３８と時刻表３９に関しては要求処理部３６とスケジュール実行管理部３７との間でのアクセスに関して排他処理を行う必要がある。
【００６８】
この排他処理は、図４に図示しない同期オブジェクトを利用して実現することができる。この同期オブジェクトは、例えばスケジュール予約部３１とスケジュール実行部３２との両方が参照できるものであり、この同期オブジェクトに対するアクセス権を獲得したものが例えばスケジュール情報ファイル３３に対するアクセスの権利を獲得し、ファイルに対するアクセス終了後に権限を解放する。スケジュール予約部３１とスケジュール実行部３２のいずれかがスケジュール情報ファイル３３にアクセスしている場合に同期オブジェクトは非シグナル状態となり、他方は一方が解放して同期オブジェクトをシグナル状態にするまでロックされる。このような排他制御は、ＯＳのファイルシステムの排他機能を利用することによって実現可能である。
【００６９】
続いて図４の要求処理部３６の処理について、図１０〜図１５に示すフローチャートを用いて詳細に説明する。図１０は要求処理部３６による処理の全体フローチャートである。この処理は、前述のように例えば図２のサーバ１０の電源がオンとなった時に開始される処理のフローチャートである。
【００７０】
図１０において処理が開始されると、まずステップＳ１で図４には示さない定時再読込みメッセ−ジをための発生するスレッドが起こされる。これは前述のように、例えば１日１回スケジュール情報ファイル３３の内容を読み出すためのメッセージを要求処理部３６に与えるスレッドを起こすものである。定時再読込みを行うためには、必ずしもこのようなスレッドを起こす必要はなく、例えば時刻を常に監視し、定時再読込みを行うべき時刻になった時に定時再読込みを行う処理を要求処理部３６自体が実行することも可能であるが、本実施形態ではそのようなスレッドを起こし、そのようなスレッドからメッセージを受取った時点で定時再読込みを行うものとする。
【００７１】
図１０において、ステップＳ２でベース時刻表３８へのデータ格納が行われる。すなわちスケジュール情報ファイル３３のデータ領域２に格納されているベース時刻情報表の内容が読み出され、それがそのままベース時刻表に格納される。
【００７２】
続いてステップＳ３で時刻表３９に対する初期化処理が行われる。この処理については、図１１で述べる。ステップＳ４でスケジュール実行管理部３７の起動が行われ、その後メッセージ受信の監視が、例えば電源がオフされるまで続けられる。
【００７３】
要求処理部３６がメッセージを受信すると、ステップＳ５で受信したメッセージが何のメッセージであるかが判定される。ステップＳ１で起こされた定時再読込みメッセージを発生するスレッドからのメッセージである場合と、スケジュール予約部３１から受取ったスケジュール情報変更通知のメッセージである場合には、ステップＳ６で時刻表更新処理１が実行され、その後ステップＳ５以降の処理が繰返される。
【００７４】
メッセージが実行スレッドからの実行結果通知のメッセージである場合には、ステップＳ７で時刻表更新処理２が行われ、ステップＳ５以降の処理が繰返される。この時刻表更新処理１、時刻表更新処理２については図１４と図１５で詳述する。
【００７５】
図１１は図１０のステップＳ３、すなわち時刻表初期化処理の詳細フローチャートである。同図において処理が開始されると、まずステップＳ１０でスケジュール表、すなわちスケジュール情報ファイル３３のデータ領域１から最初のレコードが取り出され、ステップＳ１１でレコードが取り出されたか否かが判定される。取り出せた場合には、ステップＳ１２でそのレコードのスケジュールが本日実行予定か否かが、前述の既存属性情報の内容によって判定され、実行予定の場合にはステップＳ１３で新しい領域がそのレコードのために時刻表上に確保され、ステップＳ１４で時刻表レコードの変更処理が行われる。この処理については、図１２で説明する。
【００７６】
時刻表レコードの変更処理が終了すると、ステップＳ１５でスケジュール表から次のレコードが取り出され、ステップＳ１１以降の処理が繰返される。ステップＳ１２で本日実行予定のレコードでないと判定されると、ステップＳ１３、Ｓ１４の処理を実行することなく、ステップＳ１５以降の処理が繰返される。そしてステップＳ１１でレコードが取り出せなかったと判定される、すなわちスケジュール表に格納されている全てのレコードについて処理が終了したと判定されると、時刻表初期化処理を終了する。
【００７７】
図１２は図１１のステップＳ１４、すなわち時刻表レコードの変更処理の詳細フローチャートである。ここでは、図１１のステップＳ１３で時刻表に新しく確保されたレコード格納用の領域に対して、スケジュール表のレコードの内容の内そのまま転記できるものなどを転記して、新たなレコードとして格納する処理が行われる。
【００７８】
図１２において処理が開始されると、まずステップＳ２０で時刻表のレコードの内容としてスケジュール表のデータ、すなわちスケジュール名、時刻指定分類など、そのまま転記できるものが転記され、ステップＳ２１で時刻表のレコードの終了時刻が不確定を示すデータとされ、ステップＳ２２で依存元スケジュールが存在するか否かが判定される。
【００７９】
依存元スケジュールが指定される場合には、ステップＳ２３で時刻表のレコードの状態が依存元スケジュール待機中とされ、ステップＳ２４で開始予定時刻が不確定とされ、処理を終了する。またステップＳ２２で依存元スケジュールが指定されていないと判定されると、ステップＳ２５で状態が実行待機中とされ、ステップＳ２６で開始予定時刻の設定処理が行われて、処理を終了する。この開始予定時刻の設定処理については、図１３で説明する。
【００８０】
図１３は図１２のステップＳ２６、すなわち開始予定時刻設定処理の詳細フローチャートである。同図において処理が開始されると、まずステップＳ３０で開始時刻指定分類がどの指定であるかが判定される。絶対時刻指定である場合には、ステップＳ３１で作業メモリ（ＷＯＲＫ）０が代入される。ベース時刻指定の場合には、ステップＳ３２でベース時刻表３８が検索されてベース時刻がＷＯＲＫに格納され、相対時刻指定の場合には、ステップＳ３３で依存元スケジュール名に対応するレコードの終了時刻がＷＯＲＫに格納される。
【００８１】
ステップＳ３１、Ｓ３２、またはＳ３３の処理の後で、ステップＳ３４で作業メモリＷＯＲＫの内容とオフセットとが加算されて開始予定時刻が要求を求められ、処理を終了する。
【００８２】
図１４は図１０のステップＳ６、すなわち時刻表更新処理１の詳細フローチャートである。この処理は、例えば１日１回の定時再読込、およびスケジュール予約部３１からのスケジュール情報変更通知に対応して、スケジュール情報ファイル３３の内容を用いて、ベース時刻表３８と共に時刻表３９の格納内容を更新する処理である。
【００８３】
図１４において処理が開始されると、まずステップＳ４０でベース時刻表３８の内容が更新され、続いてステップＳ４１で時刻表Ｓ３９に格納されている全てのレコードに対する変更フラグがリセットされ、ステップＳ４２でスケジュール情報ファイル３３のスケジュール表、すなわちデータ領域１に格納されているレコードのうち、本日実行予定のレコードが１つ、例えば最初から読み出される。
【００８４】
ステップＳ４３でレコードが読み出せたか否かが判定され、読み出せた場合にはステップＳ４４でそのレコードがすでに時刻表３９に登録済のレコードと同じスケジュール名を持ち、すでに登録されているものに対応するか否かが判定され、すでに登録済のレコードに対応する時にはステップＳ４５でそのレコードの変更フラグがセットされ、ステップＳ４６で時刻表３９に格納されているレコードの状態が何かが判定される。
【００８５】
その状態が実行待機中、または依存元スケジュール待機中の場合にはレコードの更新が可能であり、ステップＳ４７で時刻表のレコードを変更する処理、すなわち図１２の処理が実行される。
【００８６】
続いてステップＳ４８で、更新されたレコード内で依存元スケジュールの指定があるか否かが判定され、指定がある場合にはステップＳ４９で依存元スケジュールがすでに終了しているか否かが判定され、終了している場合には更新されたレコードの状態がステップＳ５０で実行待機中とされ、ステップＳ５１で開始予定時刻設定処理、すなわち図１３の処理が実行され、ステップＳ５２でスケジュール表から本日実行予定の次のレコードが読込まれ、ステップＳ４３以降の処理が繰返される。
【００８７】
ステップＳ４４でスケジュール表から読み出された本日実行予定のレコードが時刻表３９に登録済のものに相当しない場合には、ステップＳ５５で時刻表３９上に新しい領域が確保され、ステップＳ５６で変更フラグがセットされた後に、ステップＳ４７以降の処理が繰返される。
【００８８】
ステップＳ４６で時刻表３９にすでに格納されているレコードの状態が実行中、または終了の場合には、例えば１日１回行われる定時再読込みにおいてレコードを更新しても無意味となるため、ステップＳ４７〜Ｓ５１の処理を行うことなく、ステップＳ５２以降の処理が繰返される。またステップＳ４８で依存元スケジュールが指定されていない場合には、ステップＳ４９〜Ｓ５１の処理を行うことなく、またステップＳ４９で依存元スケジュールが終了していない場合にはステップＳ５０、Ｓ５１の処理を行うことなく、ステップＳ５２以降の処理が繰返される。
【００８９】
ステップＳ４３でレコードが読み出せなかったと判定されると、スケジュール表に格納されているレコードのうちで、本日実行予定のレコードは全て読み出されたことになるので、ステップＳ５８で時刻表３９に格納されているレコードのうちで変更フラグがリセットされているレコードが１つ取り出され、ステップＳ５９でレコードが取り出されたか否かが判定され、取り出せた場合にはステップＳ６０でそのレコードが「実行中」または「すでに時刻表内で更新され、または新しく格納されて変更フラグがセットされているレコードのうちのいずれかの依存元スケジュールである」か否かが判定され、そのような依存元スケジュールになっていない場合にはそのレコードを時刻表３９に残す必要はないので、ステップＳ６１でそのレコードが時刻表３９から削除され、ステップＳ６２でフラグがリセットされている次のレコードが１つ取り出され、ステップＳ５９以降の処理が繰返される。
【００９０】
ステップＳ６０で取り出されたレコードが、「実行中」または「時刻表３９上ですでに更新されたレコード、または新たに格納されたレコードのうちのいずれかのレコードの依存元スケジュールとして指定されている」場合には、ステップＳ６１の処理を行うことなく、ステップＳ６２以降の処理が繰返される。そしてステップＳ５９でフラグがリセットされているレコードが取り出せなかったと判定された時点で処理を終了する。
【００９１】
図１５は、図１０のステップＳ７、すなわち時刻表更新処理２の詳細フローチャートである。この処理は、前述のように図４において実行スレッドから、スケジュールの作業が終了した時点で、実行結果が要求処理部３６に送られた時点で行われる処理である。
【００９２】
図１５で処理が開始されると、まずステップＳ７０で実行結果として送られた実行スケジュール名のレコードが時刻表３９から検索され、ステップＳ７１で検索されたレコードの状態が終了に、終了時刻が実行スレッドから通知された時刻に設定され依存元スケジュールを「なし」に設定される。ステップＳ７２で依存元スケジュール名が指定されているレコードのうちで、その依存元スケジュール名が実行結果として返された実行スケジュール名と一致するレコードが時刻表３９から検索される。
【００９３】
ステップＳ７３でそのようなレコードがあったか否かが判定され、あった場合にはステップＳ７４で、そのレコードの状態が依存元スケジュール待機中であるか否かが判定される。待機中である場合には、検索されたレコードの依存元スケジュールが終了したことになるので、ステップＳ７５でそのレコードの状態が実行待機中とされ、ステップＳ７６で開始予定時刻設定処理、すなわち図１３の処理が実行され、ステップＳ７７で同様に終了したスケジュールが依存元スケジュールとして指定されている次のレコードが検索され、ステップＳ７３以降の処理が繰返される。
【００９４】
ステップＳ７４で検索されたレコードの状態が依存元スケジュール待機中でない場合には、ステップＳ７５、Ｓ７６の処理を実行することなく、ステップＳ７７以降の処理が繰返され、またステップＳ７３で実行結果のスケジュール名が依存元スケジュールとして指定されたレコードが探せなかったと判定された時点で処理を終了する。
【００９５】
次にスケジュールの実際の例とその実行経過について、図１６〜図１９を用いて説明する。図１６はスケジュールの例である。スケジュールとしてＳ１〜Ｓ６の６つが示されているが、レコード長、既存属性情報、およびスケジュール内容は省略されている。各スケジュールの実行時間は全て３０分とする。
【００９６】
図１７はベース時刻情報表、すなわちスケジュール情報ファイル３３のデータ領域２の内容の例であり、ここではベース時刻名B1のベース時刻が絶対時刻で１８時００分であることが示されている。
【００９７】
図１８はベース時刻の変更が行われなかった場合のスケジュール実行経過である。要求処理部３６によるスケジュール情報ファイル３３の読込みは、例えば１６時に終わっているものとする。
【００９８】
依存元スケジュールが指定されていないＳ１、Ｓ３、Ｓ６はスケジュール情報ファイル３３の読込み段階で絶対時刻指定、またはベース時刻指定の方式に対応して開始予定時刻が決定され、時刻表３９に登録され、直ちに実行待ちとなり、開始予定時刻になるとそれぞれその実行が開始される。
【００９９】
依存元スケジュールが指定されているＳ２、Ｓ４、およびＳ５はスケジュール情報ファイル３３の読込み段階で依存元スケジュール待機中となる。このうちＳ２はＳ１を依存元としているため、Ｓ１が終了した１９時３０分に絶対時刻指定方式によってその開始予定時刻が１９時４０分に設定され、実行待ちになり、開始予定時刻になるとその実行が開始される。
【０１００】
Ｓ４もＳ１が依存元であり、その終了時点、すなわち１９時３０分にベース時刻指定方式の計算によってその開始予定時刻が１８時４０分として時刻表３９に設定されるが、すでにその時刻は経過しており、スケジュール実行管理部３７が次に時刻表３９を参照するタイミング、例えば３０秒毎に参照する場合には、１９時３０分３０秒の時刻にその実行は開始される。また、Ｓ５はＳ３が依存元であり、Ｓ３が終了１８時５０分の時点で、相対時刻指定方式の計算によってその開始予定時刻が１９時１０分と時刻表３９に設定され、開始予定時刻になるとその実行が開始される。
【０１０１】
図１９は、例えば１６時３０分にベース時刻名B1のベース時刻が１９時００分に変更された場合のスケジュールの実行経過を示す。依存元スケジュールが指定されていないＳ１、Ｓ３およびＳ６は図１８におけると同様に、スケジュール情報ファイル３３の読込み段階で開始予定時刻が定まり、開始予定時刻になるとそれぞれ実行が開始される。Ｓ１の実行開始は図１８におけると同じであり、Ｓ３は開始が１時間遅れ、Ｓ６も開始が１時間遅れる。
【０１０２】
依存元スケジュールが指定されているＳ２、Ｓ４、Ｓ５については、図１８におけると同様にスケジュール情報ファイル３３の読込み段階では依存元スケジュール待機中となる。Ｓ２ついては、その開始時刻は図１８におけると同じである。
【０１０３】
Ｓ４については、図１８におけると同様に１９時３０分にＳ１が終了した時点でその開始予定時刻が１９時４０分と時刻表３９に設定され、その結果、その開始は図１８よりも１０分（正しくは９分３０秒）遅れることになる。
【０１０４】
Ｓ５については、Ｓ３が依存元であり、Ｓ３の終了が図１８よりも１時間遅れるため、その終了時点すなわち１９時５０分に、その開始予定時刻２０時１０分が時刻表３９に登録され、その開始は図１８より１時間遅れることになる。
【０１０５】
このようにベース時刻Ｂ１変更によって、そのベース時刻からのオフセットがθであるＳ６だけでなく、Ｓ３、Ｓ４、およびＳ５の開始予定時刻が連動して自動的に変更される。すなわち同一のベース時刻を基準としてベース時刻指定されたスケジュール群については、そのベース時刻を変更するだけで、開始予定時刻を一斉に変更することが可能となる。
【０１０６】
また、Ｓ３の開始時刻が変更され、その終了が１時間遅れることとなったが、Ｓ３の終了後依存先のスケジュールであるＳ５が開始されるまでの時間間隔はベース時刻変更後も同じである。すなわち相対時刻指定されたスケジュール群については、依存元スケジュールの開始時刻の変更や実行時間の変化があっても、依存元スケジュールの終了後、当初の予定通りの実行間隔を保って実行することが可能となる。
【０１０７】
最後に本発明のスケジュール実行管理方式を実現するためのプログラムのコンピュータへのローディングについて説明する。本発明のスケジュール実行管理装置は図２のサーバ１０、図３のコンピュータ２０のように、一般的なコンピュータを用いて構成することが可能である。図２０はそのようなコンピュータの構成図であり、コンピュータ５１は本体５２とメモリ５３によって構成されている。
【０１０８】
メモリ５３としてはランダムアクセスメモリ（ＲＡＭ）、ハードディスク、磁気ディスク、などの様々な記憶装置を用いることができる。このようなメモリ５３に本発明の特許請求の範囲や第９項、および第１０項のプログラムや、図４のスケジュール予約部３１、スケジュール実行部３２に相当するプログラム、図１０〜図１５のフローチャートに示したプログラムなどが格納され、そのプログラムが本体５２によって実行されることにより、本発明のスケジュール実行管理を実現することが可能である。
【０１０９】
本発明を実現するためのプログラムは、プログラム提供者側からネットワーク５４を介してコンピュータ５１にロードされることも、また市販され、流通している可搬型記憶媒体５５に格納され、そのプログラムがコンピュータ５１にロードされることによっても、実行されることが可能である。可搬型記憶媒体５５としてはＣＤ−ＲＯＭ、フロッピィーディスク、光ディスク、光磁気ディスクなど、様々な形式の記憶媒体を使用することができ、そのような記憶媒体に前述のプログラムなどが格納され、そのプログラムがコンピュータ５１によって実行されることによって本発明のスケジュール実行管理を実現することが可能である。
【０１１０】
以上本発明の実施形態について詳細に説明したが、本発明の実施形態は以上の記述に限定されることなく、特許請求の範囲に記載された範囲で様々な実施の形態をとることが可能である。例えば図５において、スケジュール情報ファイルがデータ領域１とデータ領域２とによって構成されるものとしたが、このデータ領域１とデータ領域２とをそれぞれ別のファイルとして構成することも当然可能であり、またこれらのデータ領域に格納されているレコードを固定長にするために、スケジュール内容を別のファイルに格納することも可能である。あるいはこのようなファイルをデータベースの形式で格納することによって、そのデータベースの検索のために、データベースマネージメントシステム（ＤＢＭＳ）を使うことができ、時刻表やスケジュール情報の検索が容易となる。
【０１１１】
【発明の効果】
以上詳細に説明したように本発明によれば、例えばスケジュールＡの終了後にある一定時間間隔を保ってスケジュールＢが開始されるような場合に、スケジュールＡの開始時刻や実行時間などが変更されても、スケジュールＢの実行開始までの時間間隔を保つことができ、例えば電車の運行スケジュールなどの管理において、緊急時におけるスケジュールの変更が容易となる。またスケジュールの定義を他の環境で再利用する場合にも、例えばベース時刻の変更だけで全てのスケジュールの開始時刻を自動的に変更することが可能となり、スケジュール実行管理システムの実用性の向上に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の原理構成ブロック図である
【図２】本発明を実現するためのスケジュール実行管理システムの構成列を示す図である
【図３】本発明を実現するためのスケジュール実行管理システムの他の構成列を示す図である。
【図４】本発明のスケジュール実行管理装置の基本構成を示すブロック図である
【図５】スケジュール情報ファイルの格納領域の全体構成を示す図である
【図６】スケジュール情報ファイルのデータ領域１、すなわちスケジュール表の格納形式の例を示す図である。
【図７】スケジュール表のレコードの格納内容の例を示す図である
【図８】ベース時刻情報表の格納形式の例を示す図である
【図９】時刻表のレコードの格納内容の例を示す図である
【図１０】要求処理部による処理の全体のフローチャートである
【図１１】時刻表初期化処理の詳細フローチャートである
【図１２】時刻表レコード変更処理の詳細フローチャートである
【図１３】開始予定時刻設定処理の詳細フローチャートである
【図１４】時刻表更新処理１の詳細フローチャートである
【図１５】時刻表更新処理２の詳細フローチャートである
【図１６】スケジュールの例を示す図である
【図１７】ベース時刻の情報表の例を示す図である
【図１８】スケジュールの実行経過を示す図である
【図１９】ベース時刻が変更された場合のスケジュールの実行経過を示す図である
【図２０】本発明におけるプログラムのコンピュータへのローディングを説明する図である
【符号の説明】
１      スケジュール実行管理装置
２      開始予定時刻設定手段
３      開始予定時刻記憶手段
４      スケジュール実行制御手段
１０      サーバ
１１      ホスト
１２      クライアント、
３１      スケジュール予約部
３２      スケジュール実行部
３３      スケジュール情報ファイル
３４      編集部
３５      変更通知部
３６      要求処理部
３７      スケジュール実行管理部
３８      ベース時刻表
３９      時刻表
４０      実行スレッド
【図１】
0004602535.tif 000002
【図２】
0004602535.tif 000003
【図３】
0004602535.tif 000004
【図４】
0004602535.tif 000005
【図５】
0004602535.tif 000006
【図６】
0004602535.tif 000007
【図７】
0004602535.tif 000008
【図８】
0004602535.tif 000009
【図９】
0004602535.tif 000010
【図１０】
0004602535.tif 000011
【図１１】
0004602535.tif 000012
【図１２】
0004602535.tif 000013
【図１３】
0004602535.tif 000014
【図１４】
0004602535.tif 000015
【図１５】
0004602535.tif 000016
【図１６】
0004602535.tif 000017
【図１７】
0004602535.tif 000018
【図１８】
0004602535.tif 000019
【図１９】
0004602535.tif 000020
【図２０】
0004602535.tif 000021