JP4602535B2 - スケジュール実行管理装置および管理方法 - Google Patents
スケジュール実行管理装置および管理方法 Download PDFInfo
- Publication number
- JP4602535B2 JP4602535B2 JP2000351839A JP2000351839A JP4602535B2 JP 4602535 B2 JP4602535 B2 JP 4602535B2 JP 2000351839 A JP2000351839 A JP 2000351839A JP 2000351839 A JP2000351839 A JP 2000351839A JP 4602535 B2 JP4602535 B2 JP 4602535B2
- Authority
- JP
- Japan
- Prior art keywords
- schedule
- execution
- time
- timetable
- scheduled start
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000007726 management method Methods 0.000 title claims description 59
- 238000000034 method Methods 0.000 claims description 83
- 230000001419 dependent effect Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 61
- 238000010586 diagram Methods 0.000 description 21
- 230000003111 delayed effect Effects 0.000 description 6
- 230000003936 working memory Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Calculators And Similar Devices (AREA)
Description
【発明の属する技術分野】
本発明はスケジュール管理方式、すなわち時刻や他の条件をトリガーとして単独、または複数のスケジュールの実行を管理するスケジュール実行管理方式に係り、更に詳しくは緊急時のスケジュールの変更を容易とし、また他の環境でスケジュールの定義を容易に再利用することができるスケジュール実行管理装置、および管理方法を提供することである。
【0002】
【従来の技術と発明が解決しようとする課題】
本発明で対象とするスケジュールとは、ある作業内容と、その開始予定時刻情報の組合わせとして定義されるものとする。本発明のスケジュール実行管理装置の管理下で、複数の作業内容が並行して実行される場合、それぞれの作業はある特定のスケジュールに属することとする。すなわち一般的には複数のスケジュールが並行して動作する。
【0003】
このようなスケジュールの実行に関する従来方式においては、例えばスケジュールの実施日については毎日、毎週、あるいは指定日などを指定することができたが、その開始時刻については絶対時刻で指定されていた。
【0004】
また緊急時に特定のスケジュールを手動で実行することは可能であったが、実行されたスケジュールと関連するスケジュールについては、その開始時刻を自動的に変更して動作させることはできなかった。
【0005】
更にあるスケジュールAの終了後に、例えば一定時間の間隔を設けて別のスケジュールBを実行させることは可能であったが、スケジュールAの開始時刻の変更や実行時間の変更と連動して、あらかじめ定められた時間間隔をおくように、スケジュールBの開始時刻を変更する方法はなかった。
【0006】
このような従来技術における第1の問題点は、緊急時の柔軟性の欠如である。複数のスケジュールが相互に関連し、各スケジュールに対しての開始時刻が絶対時刻で指定されている場合には、スケジュールの開始時刻を緊急に変更する必要が生じた時には、関連するスケジュールを手動で抽出し、全てのスケジュールに対して開始時刻を手動で再設定しなければばらない。
【0007】
緊急時でなくても、例えば運用時間が異なる別環境でスケジュール情報を再利用したい場合にも、開始時刻を手動で再設定しなければならないという問題があった。
【0008】
第2の問題点は、スケジュールBが依存関係にあるスケジュールの開始時刻の変更が困難であるという問題点である。スケジュールAに依存していて、スケジュールAの終了時点からある一定時間の経過の後に起動されることが前提となっている場合には、スケジュールAの開始時刻や実行時間が変更されたとき、それに連動して前述の実行間隔を保ちながら、スケジュールBの開始時刻を自動的に変更することができないという問題点があった。
【0009】
本発明の課題は、上述の問題点に鑑み、緊急時のスケジュールの変更を容易とし、また他の環境でスケジュール情報を容易に再利用可能とさせるスケジュール実行管理方法装置、および管理方法を提供することである。
【0010】
【課題を解決するための手段】
図1は本発明の原理構成ブロック図である。同図は1つ以上、一般には複数のスケジュールの並列実行などを管理するスケジュール実行管理装置の原理構成ブロック図であり、スケジュール実行管理装置1は開始予定設定手段2、開始予定時刻記憶手段3、およびスケジュール実行制御手段4を備える。
【0011】
開始予定時刻設定手段2は、例えばスケジュール実行管理装置の要求処理部であり、あらかじめ定められたベース時刻とそのベース時刻からのオフセットとに対応して、スケジュールの開始予定時刻を設定するものである。
【0012】
開始予定時刻記憶手段3は、例えば時刻表であり、開始予定時刻設定手段2によって設定された開始予定時刻を記憶するものである。
スケジュール実行制御手段4は、例えばスケジュール実行管理部であり、開始予定時刻記憶手段3に記憶された内容を参照して、スケジュールの開始を制御するものである。
【0013】
本発明の実施の形態においては、前述のあらかじめ定められたベース時刻が変更された時、変更後のベース時刻と前述のオフセットとに対応して、スケジュルの開始予定時刻を変更し、開始予定時刻記憶手段3に記憶されている開始予定時刻を書き換える開始予定時刻変更手段を更に備えることもできる。
【0014】
本発明のスケジュール実行管理装置としては、前述の開始予定時刻設定手段と異なる動作を実行する開始予定時刻設定手段を備えるスケジュール実行管理装置も可能である。
【0015】
その構成ブロック図は図1と同じであるが、開始予定時刻設定手段2はスケジュールの開始予定時刻を、そのスケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、その終了時刻からのオフセットに対応して設定するものである。
【0016】
開始予定時刻記憶手段3は、前述と同様に設定された開始予定時刻を記憶するものであり、またスケジュール実行制御手段4は、同様に開始予定時刻記憶手段3の記憶内容を参照して、スケジュールの開始を制御するものである。
【0017】
発明の実施の形態においては、前述の他のスケジュールの開始時刻が変更された時、変更後の終了時刻とその終了時刻からのオフセットとに対応して、スケジュールの開始予定時刻を変更し、開始予定時刻記憶手段3に記憶されている開始予定時刻を書き換える開始予定時刻変更手段を更に備えることもできる。
【0018】
本発明のスケジュール実行管理方法として、1 つ以上のスケジュールの実行を管理するスケジュール実行管理方法において、あらかじめ定められたベース時刻とそのベース時刻からのオフセットとに対応して、スケジュールの開始予定時刻を設定する過程と、設定された開始予定時刻を記憶する過程と、記憶された開始予定時刻を参照して、スケジュールの開始を制御する過程とを備えるスケジュール実効管理方法が用いられる。
【0019】
また本発明においては、このようにスケジュールの開始時刻をあらかじめ定義されたベース時刻とそのベース時刻からのオフセットとに対応して設定し、1つ以上のスケジュールの実行を管理するスケジュール実行管理方法として、あらかじめ定められたベース時刻が変更された時、変更後のベース時刻とオフセットとに対応してスケジュールの開始予定時刻を再設定する過程と、再設定された開始予定時刻を記憶する過程と、記憶された開始予定時刻を参照して、スケジュールの実行開始を制御する過程とを備えるスケジュール実行管理方法が用いられる。
【0020】
また本発明に於いて、1つ以上のスケジュールの実行を管理するスケジュール実行管理方法として、スケジュールの開始予定時刻を、そのスケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、その終了時刻からのオフセットとに対応して設定する過程と、設定された開始予定時刻を記憶する過程と、記憶された開始予定時刻を参照して、スケジュールの実行開始を制御する過程とを備えるスケジュール実効管理方法が用いられる。
【0021】
またこのようにスケジュール開始予定時刻を、そのスケジュールとの間に依存関係がある他のスケジュールの終了時刻とオフセットに対応して設定し、1つ以上のスケジュールの実行を管理する方法として、他のスケジュールの開始時刻が変更された時、変更後の終了時刻とオフセットとに対応してスケジュールの開始予定時刻を再設定する過程と、再設定された開始予定時刻を記憶する過程と、記憶された開始予定時刻を参照して、スケジュールの実行開始を制御する過程とを備えるスケジュール実行管理方法が用いられる。
【0022】
次に本発明において、1つ以上のスケジュールの実行を管理する計算機によって使用される記憶媒体として、あらかじめ定められたベース時刻とそのベース時刻からのオフセットとに対応して、スケジュールの開始予定時刻を設定するステップと、設定された開始予定時刻を記憶するステップと、記憶された開始予定時刻を参照して、スケジュールの実行開始を制御するステップとを計算機に実行させるためのプログラムを格納した計算機読出し可能可搬型記憶媒体が用いられる。
【0023】
また本発明において、1つ以上のスケジュールの実行を管理する計算機によって使用される記憶媒体として、スケジュールの開始予定時刻を、そのスケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、その終了時刻からのオフセットとに対応して設定するステップと、設定された開始予定時刻を記憶するステップと、記憶された開始予定時刻を参照して、スケジュールの開始を制御するステップとを計算機に実効させるためのプログラムを格納した計算機読出し可能可搬型記憶媒体が用いられる。
【0024】
以上のように本発明によれば、スケジュールの開始予定時刻が、あらかじめ定められたベース時刻とそのベース時刻からのオフセットとに対応して設定されるか、またはそのスケジュールとの間に依存関係が存在する他のスケジュールの終了時刻とオフセットとに対応して設定される。
【0025】
【発明の実施の形態】
図2は本発明のスケジュール実行管理方式が用いられるスケジュール実行システムの1つの構成例である。同図において、サーバ10が基本的に本発明のスケジュール実行管理装置としての役割を果たす。サーバ10には、ホスト11と、複数のクライアント12a〜12cが接続されている。
【0026】
サーバ10は例えばクライアント側の要求に対応してスケジュールAを実行し、ホストコンピュータ11への接続を行い、ある処理要求を依頼して、ホスト11との接続を一旦切断する。ホスト11は一定の処理時間を使って、この要求を処理する。
【0027】
サーバ10はスケジュールAの終了時刻からある一定時間、すなわちホスト11側で要求を処するだけの十分な時間間隔が経過してからスケジュールBを起動し、再度ホスト11との通信経路を接続し、処理の実行結果を受取り、クライアント側にその結果を返す。
【0028】
このようにあるスケジュールBの実行に先行して別のあるスケジュールAが終了している必要がある場合に、後者Aを前者Bの依存元スケジュールと呼ぶことにする。AをBの依存元スケジュールとして指定することによって、前者B(依存先スケジュール)の実行開始を後者Aが終了するまで抑止することが可能となる。
【0029】
図3は本発明のスケジュール実行管理方式を用いるスケジュール実行システムの他の構成例である。同図において、コンピュータ20はネットワーク21によってウェブサーバ22と接続され、コンピュータ20に対してはマウス23、キーボード24およびディスプレイ25が接続されている。
【0030】
図3においてコンピュータ20は、例えば夜の間にウェブサーバ22との通信経路を接続し、あるデータを取ってきておき、朝になったらユーザがスケジュールBによってそのデータを見るというような操作が可能である。また、スケジュールAとジュールBとがコンピュータ20の内部で閉じた処理しか行わない場合には、コンピュータ20としてネットワークに接続されていないスタンドアロン型のコンピュータを用いることも可能である。
【0031】
本発明のスケジュール実行管理方式においては、スケジュールの開始時刻を指定する方式として、従来の絶対時刻指定に加えてベース時刻指定と、相対時刻指定の2つの指定方式を用いるものとする。
【0032】
ベース時刻指定の方式は、特定の時刻をベース時刻としてその時刻に名前、すなわちベース時刻名をつけて絶対時刻と共に登録可能とし、スケジュール開始予定時刻の設定時には、ベース時刻名とベース時刻からのオフセット時間とを用いて、スケジュールの開始予定時刻を指定可能とする方式である。
【0033】
相対時刻指定方式は、依存元スケジュール名とその依存元スケジュールの終了時刻からのオフセット時間とで、スケジュールの開始予定時刻を指定可能とする方式である。
【0034】
図4はスケジュール実行装置の基本的な構成を示すブロック図である。同図においてスケジュール実行管理装置は基本的にスケジュール予約部31と、スケジュール実行部32、およびスケジュール情報ファイル33によって構成されている。
【0035】
図4においてスケジュール予約部31は、例えば図2のサーバ10の内部で必要に応じて起動される非常駐のプログラムに相当するものであり、スケジュールの情報を編集する編集部34と、スケジュール実行部32に対してスケジュール情報の変更を通知する変更通知部35から構成されている。
【0036】
スケジュール実行部32は、例えばサーバ10の電源がオンの場合には常に実行可能な常駐のプログラムに相当し、例えばスケジュール予約部31からのスケジュール情報変更通知に対応して、スケジュールの開始予定時刻の算出などを行う要求処理部36、スケジュールの実行を管理するスケジュール実行管理部37、ベース時刻名と対応するベース時刻とを格納するベース時刻表38、要求処理部36によって算出されたスケジュールの開始予定時刻などを格納する時刻表39、スケジュール実行管理部37の管理の下で実際にスケジュール内容を実行する実行スレッド401 〜40n から構成されている。
【0037】
本実施形態においては、スケジュール実行部32によって、ベース時刻の変更や依存元スケジュールの終了時刻の変更にも動的な対応が可能となるように、スケジュールの更新が行われる。
【0038】
その第一の基本的処理は、スケジュール情報ファイル33の内容の変更に伴うスケジュールの自動更新である。スケジュール実行部32は、スケジュール情報ファイル33の内容、例えばベース時刻の時刻が変更された場合に、スケジュール予約部31からのスケジュール情報変更通知、または定期的に行われるスケジュール情報再読込にあたって、ベース時刻名とオフセットで指定される開始時刻情報を実際の時刻情報に変換し、スケジュール実行部32の内部の時刻表39に登録する。
【0039】
第2の基本的な処理は、依存元スケジュールの終了によるスケジュール(依存先スケジュール)の開始時刻の変更処理である。スケジュール実行部32は、依存元スケジュールの終了を検出した時、依存先スケジュールの開始予定時刻を自動的に計算し、時刻表39に登録する処理を実行する。
【0040】
スケジュール予約部31の処理について更に説明する。まず編集部34は、図示しないベース時刻設定部とスケジュール設定部とを備える。ベース時刻設定部は、ベース時刻名と相当するベース時刻の組が例えばユーザから入力された時、その組のデータをスケジュール情報ファイル33に格納する。
【0041】
スケジュール設定部は、ユーザによるスケジュール指定方式の選択と必要情報の入力に応じて、入力された情報をスケジュール情報ファイル33に格納する。まず絶対時刻が指定される場合には、開始時刻として絶対時刻が入力される。
【0042】
ベース時刻が指定された場合には、例えばベース時刻設定部によって設定されたベース時刻名が選択され、そのベース時刻からのオフセット時間がユーザから入力される。相対時刻が指定された場合には、例えば依存元スケジュールとして、すでにスケジュール情報ファイル33に登録されているスケジュールのスケジュール名が選択され、その依存元スケジュールの終了時刻からのオフセット時刻が入力される。
【0043】
編集部34はスケジュール情報を編集した後、スケジュール情報の変更をスケジュール実行部32に通知する場合には、変更通知要求を変更通知部35に送り、変更通知部35はその要求を受けて、スケジュール実行部32内の要求処理部36にスケジュール情報変更通知を送る。
【0044】
スケジュール実行部32における処理は要求処理部36、スケジュール実行管理部37、および複数の実行スレッド401 〜40n によって行われる。まず要求処理部36の処理については、フローチャートを用いて後述するが、ここではまずその概要を説明する。
【0045】
要求処理部36は、例えばスケジュール予約部31からスケジュール情報変更通知のメッセージを受信することによって処理を実行する。このようなメッセージについては、後に問題がおきた時に解析を行うためのログを残す。これはメッセージの流れを追うことによって、行われた処理のあらましをつかむためのものであり、例えばスケジュール実行管理部37によるスレッド401 〜40n の起動の時刻なども必要に応じてログとして残される。
【0046】
要求処理部36の処理は基本的に3つに分類される。第1の処理は、スケジュール実行部32自体の起動時の処理である。スケジュール実行部32は、前述のように例えば図2のサーバ10の電源がオンとなった時点で起動されるが、要求処理部36も当然同時に起動される。要求処理部36はスケジュール情報ファイル33の内容を読み出し、そのうちのベース時刻情報をベース時刻表38に格納し、次に本日実行予定のスケジュールについて時刻表39にスケジュール名などを登録し、スケジュール実行管理部37を起動する。
【0047】
要求処理部36の第2の処理は定時再読込時、またはスケジュール変更通知受信時の処理である。要求処理部36は、例えば1 日に1 回、スケジュール情報ファイル33の再読込みを行い、またスケジュール予約部31からスケジュール情報通知を受取った時にスケジュール情報ファイル33の読込みを行う。この処理では、ベース時刻表38の内容を更新すると共に、必要に応じて時刻表39内に格納されている各スケジュールに対応するレコードの更新を実行する。
【0048】
要求処理部36の第3の処理は、実行スレッドからスケジュールの実行結果を受信した場合の処理である。実行スレッド401 〜40n はスケジュール実行管理部37によって起動され、実行が依頼されたスケジュールの処理部が終了すると、実行結果に加え、実行スケジュール名と終了時刻を要求処理部36に送ることになる。
【0049】
要求処理部36はこの実行結果を受取ると、実行スケジュール名に相当するレコードの内容を更新し、また依存元スケジュールとして実行スケジュール名のスケジュールが指定されているレコードについて、開始予定時刻の計算などを実行する。
【0050】
ここで開始予定時刻の計算方法について説明する。時刻の指定分類が絶対指定の場合には、オフセットの値が開始予定時刻とされる。ベース時刻指定の場合には、ベース時刻名をキーとしてベース時刻表38からベース時刻が参照され、そのベース時刻とオフセットが加算されて、開始予定時刻とされる。相対時刻指定の場合には、依存元スケジュールの終了時刻にオフセットが加算されて、開始予定時刻が求められる。
【0051】
図4のスケジュール実行管理部37は定期的、例えば30秒とか1分毎に時刻表39を参照し、後述する状態が“実行待機中”のスケジュールであって、現時刻において開始時刻を経過しているものについて状態を“実行中”に変更し、実行スレッドを起動して、実行スケジュール名とスケジュール内容をつけた実行依頼を発行するものである。
【0052】
実行スレッド401 〜40n は、スケジュール実行管理部37から実行依頼されたスケジュールを実行し、作業の完了後、要求処理部36に対して実行スケジュール名と終了時刻をつけた実行結果を送り、処理を終了する。
【0053】
図4のスケジュール情報ファイル33、ベース時刻表38、および時刻表39の格納内容について説明する。図5はスケジュール情報ファイル33の格納内容の全体的な説明図である。同図において、スケジュール情報は基本的にヘッダとしての管理領域と、データ領域1、およびデータ領域2の3つの領域によって構成される。ヘッダとしての管理領域には、ファイルのバージョンレベル、データ領域の数N,ここでは2、各データ領域へのポインタが格納されている。
【0054】
データ領域1は、各スケジュールに対するデータを格納する領域であり、スケジュール表と呼ぶことにする。この格納内容については後述する。データ領域2は、ベース時刻名とベース時刻とを組として格納する領域であり、ベース時刻情報表と呼ぶことにする。
【0055】
図6は図5のデータ領域1の詳細説明図である。データ領域1、すなわちスケジュール表には、各スケジュールに対してそれぞれレコードが格納されている。スケジュール数、すなわちレコードの数がN 1であるとすると、まず先頭にレコード数N 1が格納され、それに続いてN1個のレコードが格納される。
【0056】
図7は、図6のレコード、すなわちスケジュール表の各スケジュールに対応するレコードの詳細な格納内容を示す。レコードの先頭には、まずレコード長が格納される。これは後述するスケジュール内容が可変長であるためである。続いてスケジュールの名称としてのスケジュール名が格納され、その後に既存属性情報が格納される。既存属性情報とは、例えば毎日実行、指定日実行などの属性データである。
【0057】
続いて時刻指定分類方式が格納される。これは前述の絶対時刻指定、ベース時刻指定、相対時刻指定のいずれかを指定するものである。続いて格納されるオフセットとしては、時刻指定が絶対時刻指定の場合には絶対時刻が、ベース時刻指定の場合にはベース時刻からのオフセットが、相対時刻指定の場合には依存元スケジュールの終了時刻からのオフセットが格納される。
【0058】
次の依存元スケジュール名には、依存元スケジュールがある場合にそのスケジュールが指定される。相対時刻指定の場合には、この指定が必ず必要である。次のベース時刻名はベース時刻指定の場合に使用されるベース時刻名である。最後に格納されるスケジュール内容はスケジュールの具体的な実行内容である。これは、当然スケジュールのそれぞれに対応して可変長となる。
【0059】
図8は図5のデータ領域2、すなわちベース時刻情報表の格納内容である。まず、先頭に、ベース時刻としていくつのレコードが格納されているかがレコード数N 2として 格納され、その後にベース時刻名とベース時刻とを1組としたレコードが、N2個格納される。ここでベース時刻名はベース時刻指定のスケジュールに対応して参照されるベース時刻につけられた名前であり、ベース時刻としては絶対時刻が指定される。
【0060】
図4のベース時刻表38の格納内容は、図8で説明したデータ領域2、すなわちベース時刻情報表の内容と同じである。すなわち前述のように要求処理部36はスケジュール予約部31からのスケジュール情報変更通知を受取ると、スケジュール情報ファイル33のデータ領域2の内容を読み出して、その内容をベース時刻表38に格納することになる。
【0061】
図4の時刻表39におけるデータ格納形式は、基本的に図6で説明したデータ領域1、すなわちスケジュール表の格納形式と同じであり、レコードの内容が1部異なるのみである。
【0062】
図9は時刻表39の1つのレコード、すなわちそれぞれのスケジュールに対応するレコードの格納内容を示す。格納内容は図7のスケジュール表のレコードと類似しているため、図7と異なる部分についてのみ説明する。
【0063】
図9においてまずレコード長に続いて変更フラグが格納される。このフラグは、例えば定時再読込み時に要求処理部36がスケジュール情報ファイル33の内容を読み出し、本日実行予定のスケジュールに対応するレコードを時刻表39に格納するにあたって、時刻表39にすでに格納されており、実行の必要がなくなったレコードを削除するために使用されるフラグであるが、その詳細については後述する。
【0064】
開始予定時刻としては、依存元スケジュールの指定がない場合はスケジュール情報ファイル33の読出し時点で、ある場合は依存元スケジュールが終了した時点で、確定したスケジュールの開始予定時刻が格納される。依存元スケジュールが存在し、そのスケジュールが終了していない場合、ここには不確定を示す値が格納される。
【0065】
終了時刻としては、スケジュールの終了時刻が格納される。相対時刻指定の場合に、依存元のスケジュールの終了時点でその終了時刻とオフセットとを加算して、依存先スケジュールの開始時刻を決定する時に参照される。
【0066】
状態については実行待機中、依存元スケジュール待機中、実行中、または終了のいずれかを示す値が格納される。実行待機中とは依存元スケジュールが存在しないか、そのスケジュールが終了し、開始予定時刻が絶対時刻で確定し、スケジュールの実行が開始されるのを待っている状態である。依存元スケジュール待機中は依存元スケジュールの終了を待っている状態であり、実行中はそのスケジュールの作業が実行スレッドによって実行されている状態であり、終了はそのスケジュールの作業の実行が完了している状態である。
【0067】
以上説明したスケジュール情報ファイル33、ベース時刻表38、および時刻表39に対するアクセスに関しては、必要に応じて排他処理を行う必要がある。スケジュール情報ファイル33に対してはスケジュール予約部31とスケジュール実行部32との間で、またベース時刻表38と時刻表39に関しては要求処理部36とスケジュール実行管理部37との間でのアクセスに関して排他処理を行う必要がある。
【0068】
この排他処理は、図4に図示しない同期オブジェクトを利用して実現することができる。この同期オブジェクトは、例えばスケジュール予約部31とスケジュール実行部32との両方が参照できるものであり、この同期オブジェクトに対するアクセス権を獲得したものが例えばスケジュール情報ファイル33に対するアクセスの権利を獲得し、ファイルに対するアクセス終了後に権限を解放する。スケジュール予約部31とスケジュール実行部32のいずれかがスケジュール情報ファイル33にアクセスしている場合に同期オブジェクトは非シグナル状態となり、他方は一方が解放して同期オブジェクトをシグナル状態にするまでロックされる。このような排他制御は、OSのファイルシステムの排他機能を利用することによって実現可能である。
【0069】
続いて図4の要求処理部36の処理について、図10〜図15に示すフローチャートを用いて詳細に説明する。図10は要求処理部36による処理の全体フローチャートである。この処理は、前述のように例えば図2のサーバ10の電源がオンとなった時に開始される処理のフローチャートである。
【0070】
図10において処理が開始されると、まずステップS1で図4には示さない定時再読込みメッセ−ジをための発生するスレッドが起こされる。これは前述のように、例えば1日1回スケジュール情報ファイル33の内容を読み出すためのメッセージを要求処理部36に与えるスレッドを起こすものである。定時再読込みを行うためには、必ずしもこのようなスレッドを起こす必要はなく、例えば時刻を常に監視し、定時再読込みを行うべき時刻になった時に定時再読込みを行う処理を要求処理部36自体が実行することも可能であるが、本実施形態ではそのようなスレッドを起こし、そのようなスレッドからメッセージを受取った時点で定時再読込みを行うものとする。
【0071】
図10において、ステップS2でベース時刻表38へのデータ格納が行われる。すなわちスケジュール情報ファイル33のデータ領域2に格納されているベース時刻情報表の内容が読み出され、それがそのままベース時刻表に格納される。
【0072】
続いてステップS3で時刻表39に対する初期化処理が行われる。この処理については、図11で述べる。ステップS4でスケジュール実行管理部37の起動が行われ、その後メッセージ受信の監視が、例えば電源がオフされるまで続けられる。
【0073】
要求処理部36がメッセージを受信すると、ステップS5で受信したメッセージが何のメッセージであるかが判定される。ステップS1で起こされた定時再読込みメッセージを発生するスレッドからのメッセージである場合と、スケジュール予約部31から受取ったスケジュール情報変更通知のメッセージである場合には、ステップS6で時刻表更新処理1が実行され、その後ステップS5以降の処理が繰返される。
【0074】
メッセージが実行スレッドからの実行結果通知のメッセージである場合には、ステップS7で時刻表更新処理2が行われ、ステップS5以降の処理が繰返される。この時刻表更新処理1、時刻表更新処理2については図14と図15で詳述する。
【0075】
図11は図10のステップS3、すなわち時刻表初期化処理の詳細フローチャートである。同図において処理が開始されると、まずステップS10でスケジュール表、すなわちスケジュール情報ファイル33のデータ領域1から最初のレコードが取り出され、ステップS11でレコードが取り出されたか否かが判定される。取り出せた場合には、ステップS12でそのレコードのスケジュールが本日実行予定か否かが、前述の既存属性情報の内容によって判定され、実行予定の場合にはステップS13で新しい領域がそのレコードのために時刻表上に確保され、ステップS14で時刻表レコードの変更処理が行われる。この処理については、図12で説明する。
【0076】
時刻表レコードの変更処理が終了すると、ステップS15でスケジュール表から次のレコードが取り出され、ステップS11以降の処理が繰返される。ステップS12で本日実行予定のレコードでないと判定されると、ステップS13、S14の処理を実行することなく、ステップS15以降の処理が繰返される。そしてステップS11でレコードが取り出せなかったと判定される、すなわちスケジュール表に格納されている全てのレコードについて処理が終了したと判定されると、時刻表初期化処理を終了する。
【0077】
図12は図11のステップS14、すなわち時刻表レコードの変更処理の詳細フローチャートである。ここでは、図11のステップS13で時刻表に新しく確保されたレコード格納用の領域に対して、スケジュール表のレコードの内容の内そのまま転記できるものなどを転記して、新たなレコードとして格納する処理が行われる。
【0078】
図12において処理が開始されると、まずステップS20で時刻表のレコードの内容としてスケジュール表のデータ、すなわちスケジュール名、時刻指定分類など、そのまま転記できるものが転記され、ステップS21で時刻表のレコードの終了時刻が不確定を示すデータとされ、ステップS22で依存元スケジュールが存在するか否かが判定される。
【0079】
依存元スケジュールが指定される場合には、ステップS23で時刻表のレコードの状態が依存元スケジュール待機中とされ、ステップS24で開始予定時刻が不確定とされ、処理を終了する。またステップS22で依存元スケジュールが指定されていないと判定されると、ステップS25で状態が実行待機中とされ、ステップS26で開始予定時刻の設定処理が行われて、処理を終了する。この開始予定時刻の設定処理については、図13で説明する。
【0080】
図13は図12のステップS26、すなわち開始予定時刻設定処理の詳細フローチャートである。同図において処理が開始されると、まずステップS30で開始時刻指定分類がどの指定であるかが判定される。絶対時刻指定である場合には、ステップS31で作業メモリ(WORK)0が代入される。ベース時刻指定の場合には、ステップS32でベース時刻表38が検索されてベース時刻がWORKに格納され、相対時刻指定の場合には、ステップS33で依存元スケジュール名に対応するレコードの終了時刻がWORKに格納される。
【0081】
ステップS31、S32、またはS33の処理の後で、ステップS34で作業メモリWORKの内容とオフセットとが加算されて開始予定時刻が要求を求められ、処理を終了する。
【0082】
図14は図10のステップS6、すなわち時刻表更新処理1の詳細フローチャートである。この処理は、例えば1日1回の定時再読込、およびスケジュール予約部31からのスケジュール情報変更通知に対応して、スケジュール情報ファイル33の内容を用いて、ベース時刻表38と共に時刻表39の格納内容を更新する処理である。
【0083】
図14において処理が開始されると、まずステップS40でベース時刻表38の内容が更新され、続いてステップS41で時刻表S39に格納されている全てのレコードに対する変更フラグがリセットされ、ステップS42でスケジュール情報ファイル33のスケジュール表、すなわちデータ領域1に格納されているレコードのうち、本日実行予定のレコードが1つ、例えば最初から読み出される。
【0084】
ステップS43でレコードが読み出せたか否かが判定され、読み出せた場合にはステップS44でそのレコードがすでに時刻表39に登録済のレコードと同じスケジュール名を持ち、すでに登録されているものに対応するか否かが判定され、すでに登録済のレコードに対応する時にはステップS45でそのレコードの変更フラグがセットされ、ステップS46で時刻表39に格納されているレコードの状態が何かが判定される。
【0085】
その状態が実行待機中、または依存元スケジュール待機中の場合にはレコードの更新が可能であり、ステップS47で時刻表のレコードを変更する処理、すなわち図12の処理が実行される。
【0086】
続いてステップS48で、更新されたレコード内で依存元スケジュールの指定があるか否かが判定され、指定がある場合にはステップS49で依存元スケジュールがすでに終了しているか否かが判定され、終了している場合には更新されたレコードの状態がステップS50で実行待機中とされ、ステップS51で開始予定時刻設定処理、すなわち図13の処理が実行され、ステップS52でスケジュール表から本日実行予定の次のレコードが読込まれ、ステップS43以降の処理が繰返される。
【0087】
ステップS44でスケジュール表から読み出された本日実行予定のレコードが時刻表39に登録済のものに相当しない場合には、ステップS55で時刻表39上に新しい領域が確保され、ステップS56で変更フラグがセットされた後に、ステップS47以降の処理が繰返される。
【0088】
ステップS46で時刻表39にすでに格納されているレコードの状態が実行中、または終了の場合には、例えば1日1回行われる定時再読込みにおいてレコードを更新しても無意味となるため、ステップS47〜S51の処理を行うことなく、ステップS52以降の処理が繰返される。またステップS48で依存元スケジュールが指定されていない場合には、ステップS49〜S51の処理を行うことなく、またステップS49で依存元スケジュールが終了していない場合にはステップS50、S51の処理を行うことなく、ステップS52以降の処理が繰返される。
【0089】
ステップS43でレコードが読み出せなかったと判定されると、スケジュール表に格納されているレコードのうちで、本日実行予定のレコードは全て読み出されたことになるので、ステップS58で時刻表39に格納されているレコードのうちで変更フラグがリセットされているレコードが1つ取り出され、ステップS59でレコードが取り出されたか否かが判定され、取り出せた場合にはステップS60でそのレコードが「実行中」または「すでに時刻表内で更新され、または新しく格納されて変更フラグがセットされているレコードのうちのいずれかの依存元スケジュールである」か否かが判定され、そのような依存元スケジュールになっていない場合にはそのレコードを時刻表39に残す必要はないので、ステップS61でそのレコードが時刻表39から削除され、ステップS62でフラグがリセットされている次のレコードが1つ取り出され、ステップS59以降の処理が繰返される。
【0090】
ステップS60で取り出されたレコードが、「実行中」または「時刻表39上ですでに更新されたレコード、または新たに格納されたレコードのうちのいずれかのレコードの依存元スケジュールとして指定されている」場合には、ステップS61の処理を行うことなく、ステップS62以降の処理が繰返される。そしてステップS59でフラグがリセットされているレコードが取り出せなかったと判定された時点で処理を終了する。
【0091】
図15は、図10のステップS7、すなわち時刻表更新処理2の詳細フローチャートである。この処理は、前述のように図4において実行スレッドから、スケジュールの作業が終了した時点で、実行結果が要求処理部36に送られた時点で行われる処理である。
【0092】
図15で処理が開始されると、まずステップS70で実行結果として送られた実行スケジュール名のレコードが時刻表39から検索され、ステップS71で検索されたレコードの状態が終了に、終了時刻が実行スレッドから通知された時刻に設定され依存元スケジュールを「なし」に設定される。ステップS72で依存元スケジュール名が指定されているレコードのうちで、その依存元スケジュール名が実行結果として返された実行スケジュール名と一致するレコードが時刻表39から検索される。
【0093】
ステップS73でそのようなレコードがあったか否かが判定され、あった場合にはステップS74で、そのレコードの状態が依存元スケジュール待機中であるか否かが判定される。待機中である場合には、検索されたレコードの依存元スケジュールが終了したことになるので、ステップS75でそのレコードの状態が実行待機中とされ、ステップS76で開始予定時刻設定処理、すなわち図13の処理が実行され、ステップS77で同様に終了したスケジュールが依存元スケジュールとして指定されている次のレコードが検索され、ステップS73以降の処理が繰返される。
【0094】
ステップS74で検索されたレコードの状態が依存元スケジュール待機中でない場合には、ステップS75、S76の処理を実行することなく、ステップS77以降の処理が繰返され、またステップS73で実行結果のスケジュール名が依存元スケジュールとして指定されたレコードが探せなかったと判定された時点で処理を終了する。
【0095】
次にスケジュールの実際の例とその実行経過について、図16〜図19を用いて説明する。図16はスケジュールの例である。スケジュールとしてS1〜S6の6つが示されているが、レコード長、既存属性情報、およびスケジュール内容は省略されている。各スケジュールの実行時間は全て30分とする。
【0096】
図17はベース時刻情報表、すなわちスケジュール情報ファイル33のデータ領域2の内容の例であり、ここではベース時刻名B1のベース時刻が絶対時刻で18時00分であることが示されている。
【0097】
図18はベース時刻の変更が行われなかった場合のスケジュール実行経過である。要求処理部36によるスケジュール情報ファイル33の読込みは、例えば16時に終わっているものとする。
【0098】
依存元スケジュールが指定されていないS1、S3、S6はスケジュール情報ファイル33の読込み段階で絶対時刻指定、またはベース時刻指定の方式に対応して開始予定時刻が決定され、時刻表39に登録され、直ちに実行待ちとなり、開始予定時刻になるとそれぞれその実行が開始される。
【0099】
依存元スケジュールが指定されているS2、S4、およびS5はスケジュール情報ファイル33の読込み段階で依存元スケジュール待機中となる。このうちS2はS1を依存元としているため、S1が終了した19時30分に絶対時刻指定方式によってその開始予定時刻が19時40分に設定され、実行待ちになり、開始予定時刻になるとその実行が開始される。
【0100】
S4もS1が依存元であり、その終了時点、すなわち19時30分にベース時刻指定方式の計算によってその開始予定時刻が18時40分として時刻表39に設定されるが、すでにその時刻は経過しており、スケジュール実行管理部37が次に時刻表39を参照するタイミング、例えば30秒毎に参照する場合には、19時30分30秒の時刻にその実行は開始される。また、S5はS3が依存元であり、S3が終了18時50分の時点で、相対時刻指定方式の計算によってその開始予定時刻が19時10分と時刻表39に設定され、開始予定時刻になるとその実行が開始される。
【0101】
図19は、例えば16時30分にベース時刻名B1のベース時刻が19時00分に変更された場合のスケジュールの実行経過を示す。依存元スケジュールが指定されていないS1、S3およびS6は図18におけると同様に、スケジュール情報ファイル33の読込み段階で開始予定時刻が定まり、開始予定時刻になるとそれぞれ実行が開始される。S1の実行開始は図18におけると同じであり、S3は開始が1時間遅れ、S6も開始が1時間遅れる。
【0102】
依存元スケジュールが指定されているS2、S4、S5については、図18におけると同様にスケジュール情報ファイル33の読込み段階では依存元スケジュール待機中となる。S2ついては、その開始時刻は図18におけると同じである。
【0103】
S4については、図18におけると同様に19時30分にS1が終了した時点でその開始予定時刻が19時40分と時刻表39に設定され、その結果、その開始は図18よりも10分(正しくは9分30秒)遅れることになる。
【0104】
S5については、S3が依存元であり、S3の終了が図18よりも1時間遅れるため、その終了時点すなわち19時50分に、その開始予定時刻20時10分が時刻表39に登録され、その開始は図18より1時間遅れることになる。
【0105】
このようにベース時刻B1変更によって、そのベース時刻からのオフセットがθであるS6だけでなく、S3、S4、およびS5の開始予定時刻が連動して自動的に変更される。すなわち同一のベース時刻を基準としてベース時刻指定されたスケジュール群については、そのベース時刻を変更するだけで、開始予定時刻を一斉に変更することが可能となる。
【0106】
また、S3の開始時刻が変更され、その終了が1時間遅れることとなったが、S3の終了後依存先のスケジュールであるS5が開始されるまでの時間間隔はベース時刻変更後も同じである。すなわち相対時刻指定されたスケジュール群については、依存元スケジュールの開始時刻の変更や実行時間の変化があっても、依存元スケジュールの終了後、当初の予定通りの実行間隔を保って実行することが可能となる。
【0107】
最後に本発明のスケジュール実行管理方式を実現するためのプログラムのコンピュータへのローディングについて説明する。本発明のスケジュール実行管理装置は図2のサーバ10、図3のコンピュータ20のように、一般的なコンピュータを用いて構成することが可能である。図20はそのようなコンピュータの構成図であり、コンピュータ51は本体52とメモリ53によって構成されている。
【0108】
メモリ53としてはランダムアクセスメモリ(RAM)、ハードディスク、磁気ディスク、などの様々な記憶装置を用いることができる。このようなメモリ53に本発明の特許請求の範囲や第9項、および第10項のプログラムや、図4のスケジュール予約部31、スケジュール実行部32に相当するプログラム、図10〜図15のフローチャートに示したプログラムなどが格納され、そのプログラムが本体52によって実行されることにより、本発明のスケジュール実行管理を実現することが可能である。
【0109】
本発明を実現するためのプログラムは、プログラム提供者側からネットワーク54を介してコンピュータ51にロードされることも、また市販され、流通している可搬型記憶媒体55に格納され、そのプログラムがコンピュータ51にロードされることによっても、実行されることが可能である。可搬型記憶媒体55としてはCD−ROM、フロッピィーディスク、光ディスク、光磁気ディスクなど、様々な形式の記憶媒体を使用することができ、そのような記憶媒体に前述のプログラムなどが格納され、そのプログラムがコンピュータ51によって実行されることによって本発明のスケジュール実行管理を実現することが可能である。
【0110】
以上本発明の実施形態について詳細に説明したが、本発明の実施形態は以上の記述に限定されることなく、特許請求の範囲に記載された範囲で様々な実施の形態をとることが可能である。例えば図5において、スケジュール情報ファイルがデータ領域1とデータ領域2とによって構成されるものとしたが、このデータ領域1とデータ領域2とをそれぞれ別のファイルとして構成することも当然可能であり、またこれらのデータ領域に格納されているレコードを固定長にするために、スケジュール内容を別のファイルに格納することも可能である。あるいはこのようなファイルをデータベースの形式で格納することによって、そのデータベースの検索のために、データベースマネージメントシステム(DBMS)を使うことができ、時刻表やスケジュール情報の検索が容易となる。
【0111】
【発明の効果】
以上詳細に説明したように本発明によれば、例えばスケジュールAの終了後にある一定時間間隔を保ってスケジュールBが開始されるような場合に、スケジュールAの開始時刻や実行時間などが変更されても、スケジュールBの実行開始までの時間間隔を保つことができ、例えば電車の運行スケジュールなどの管理において、緊急時におけるスケジュールの変更が容易となる。またスケジュールの定義を他の環境で再利用する場合にも、例えばベース時刻の変更だけで全てのスケジュールの開始時刻を自動的に変更することが可能となり、スケジュール実行管理システムの実用性の向上に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である
【図2】本発明を実現するためのスケジュール実行管理システムの構成列を示す図である
【図3】本発明を実現するためのスケジュール実行管理システムの他の構成列を示す図である。
【図4】本発明のスケジュール実行管理装置の基本構成を示すブロック図である
【図5】スケジュール情報ファイルの格納領域の全体構成を示す図である
【図6】スケジュール情報ファイルのデータ領域1、すなわちスケジュール表の格納形式の例を示す図である。
【図7】スケジュール表のレコードの格納内容の例を示す図である
【図8】ベース時刻情報表の格納形式の例を示す図である
【図9】時刻表のレコードの格納内容の例を示す図である
【図10】要求処理部による処理の全体のフローチャートである
【図11】時刻表初期化処理の詳細フローチャートである
【図12】時刻表レコード変更処理の詳細フローチャートである
【図13】開始予定時刻設定処理の詳細フローチャートである
【図14】時刻表更新処理1の詳細フローチャートである
【図15】時刻表更新処理2の詳細フローチャートである
【図16】スケジュールの例を示す図である
【図17】ベース時刻の情報表の例を示す図である
【図18】スケジュールの実行経過を示す図である
【図19】ベース時刻が変更された場合のスケジュールの実行経過を示す図である
【図20】本発明におけるプログラムのコンピュータへのローディングを説明する図である
【符号の説明】
1 スケジュール実行管理装置
2 開始予定時刻設定手段
3 開始予定時刻記憶手段
4 スケジュール実行制御手段
10 サーバ
11 ホスト
12 クライアント、
31 スケジュール予約部
32 スケジュール実行部
33 スケジュール情報ファイル
34 編集部
35 変更通知部
36 要求処理部
37 スケジュール実行管理部
38 ベース時刻表
39 時刻表
40 実行スレッド
Claims (3)
- 1つ以上のスケジュールの実行を管理するスケジュール実行管理装置において、
スケジュールの開始予定時刻を、該スケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、該終了時刻からのオフセットとに対応して設定する開始予定時刻設定手段と、
該設定された開始予定時刻を、スケジュールを識別するスケジュール識別情報と対応付けて記憶する時刻表と、
前記時刻表に記憶されているスケジュールを1つずつ読み出して、該スケジュールの実行状態が、依存するスケジュールの終了を待機していることを示す待機中、該依存するスケジュールの終了にしたがって該スケジュールの実行開始の制御がなされたことを示す実行中あるいは該依存するスケジュールの終了にしたがって実行開始の制御がなされたスケジュールについての実行が終了したことを示す実行終了のいずれであるかを示す経過情報を、前記スケジュール識別情報及び対応する開始予定時刻と対応付けて前記時刻表に記載する時刻表設定手段と、
前記時刻表に記載されている開始予定時刻及び定期的に読み出される時刻を参照して、前記経過情報として実行待機中が設定されており、開始予定時刻が該読み出された時刻を経過しているスケジュールを実行するスレッドを起動することにより実行を開始し、該スレッドから終了時刻情報を含む実行結果を受信するスケジュール実行制御手段と、
前記スケジュールの実行開始の制御にともない、前記時刻表に記載されている経過情報を更新する時刻表更新手段と、
前記スケジュール実行制御手段によるスケジュールの実行開始の制御によって実行された前記他のスケジュールの実際の終了時刻が前記時刻表に記憶されている前記終了時刻から変更されたとき、前記実行結果に基づいて、該実際の終了時刻と該終了時刻からのオフセットとに対応して、該他のスケジュールに依存するすべてのスケジュールの開始予定時刻を動的に変更し、前記時刻表に記憶されている開始予定時刻を書き換える開始予定時刻変更手段と
を備え、
前記時刻表更新手段は、前記時刻表を参照して、前記時刻表の開始予定時刻を更新する
ことを特徴とするスケジュール実行管理装置。 - 1つ以上の実行をコンピュータにおいて管理するスケジュール実行管理方法であって、
スケジュールの開始予定時刻を、該スケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、該終了時刻からのオフセットとに対応して設定する過程と、
該設定された開始予定時刻を、スケジュールを識別するスケジュール識別情報と対応付けて時刻表に記憶する過程と、
前記時刻表に記憶されているスケジュールを1つずつ読み出して、該スケジュールの実行状態が、依存するスケジュールの終了を待機していることを示す待機中、該依存するスケジュールの終了にしたがって該スケジュールの実行開始の制御がなされたことを示す実行中あるいは該依存するスケジュールの終了にしたがって実行開始の制御がなされたスケジュールについての実行が終了したことを示す実行終了のいずれであるかを示す経過情報を、前記スケジュール識別情報及び対応する開始予定時刻と対応付けて前記時刻表に記載する過程と、
前記時刻表に記載されている開始予定時刻及び定期的に読み出される時刻を参照して、前記経過情報として実行待機中が設定されており、開始予定時刻が該読み出された時刻を経過しているスケジュールを実行するスレッドを起動することにより実行を開始し、該スレッドから終了時刻情報を含む実行結果を受信する過程と、
前記スケジュールの実行開始の制御にともない、前記時刻表に記載されている経過情報を更新する過程と、
前記スケジュールの実行開始の制御により実行された前記他のスケジュールの実際の終了時刻が前記時刻表に記憶されている前記終了時刻から変更されたとき、前記実行結果に基づいて、該実際の終了時刻と該終了時刻からのオフセットとに対応して、該他のスケジュールに依存するすべてのスケジュールの開始予定時刻を動的に変更し、再設定する過程と、
該再設定された開始予定時刻を前記時刻表に記憶する過程と、
前記時刻表を参照して、前記時刻表の開始予定時刻を更新する過程とを備えることを特徴とするスケジュール実行管理方法。 - 1つ以上のスケジュールの実行を管理する計算機によって使用される記憶媒体において、
スケジュールの開始予定時刻を、該スケジュールとの間に依存関係が存在する他のスケジュールの終了時刻と、該終了時刻からのオフセットとに対応して設定するステップと、
該設定された開始予定時刻を、スケジュールを識別するスケジュール識別情報と対応付けて時刻表に記憶するステップと、
前記時刻表に記憶されているスケジュールを1つずつ読み出して、該スケジュールの実行状態が、依存するスケジュールの終了を待機していることを示す待機中、該依存するスケジュールの終了にしたがって該スケジュールの実行開始の制御がなされたことを示す実行中あるいは該依存するスケジュールの終了にしたがって実行開始の制御がなされたスケジュールについての実行が終了したことを示す実行終了のいずれであるかを示す経過情報を、前記スケジュール識別情報及び対応する開始予定時刻と対応付けて前記時刻表に記載するステップと、
前記時刻表に記載されている開始予定時刻及び定期的に読み出される時刻を参照して、前記経過情報として実行待機中が設定されており、開始予定時刻が該読み出された時刻を経過しているスケジュールを実行するスレッドを起動することにより実行を開始し、該スレッドから終了時刻情報を含む実行結果を受信するステップと、
前記スケジュールの実行開始の制御にともない、前記時刻表に記載されている経過情報を更新するステップと、
前記スケジュールの実行開始の制御により実行された前記他のスケジュールの実際の終了時刻が前記時刻表に記憶されている前記終了時刻から変更されたとき、前記実行結果に基づいて、該実際の終了時刻と該終了時刻からのオフセットとに対応して、該他のスケジュールに依存するすべてのスケジュールの開始予定時刻を動的に変更し、再設定するステップと、
該再設定された開始予定時刻を前記時刻表に記憶するステップと、
前記時刻表を参照して、前記時刻表の開始予定時刻を更新するステップとを計算機に実行させるためのプログラムを格納した計算機読出し可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000351839A JP4602535B2 (ja) | 2000-11-17 | 2000-11-17 | スケジュール実行管理装置および管理方法 |
US09/814,071 US7039472B2 (en) | 2000-11-17 | 2001-03-22 | Schedule execution managing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000351839A JP4602535B2 (ja) | 2000-11-17 | 2000-11-17 | スケジュール実行管理装置および管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002157391A JP2002157391A (ja) | 2002-05-31 |
JP4602535B2 true JP4602535B2 (ja) | 2010-12-22 |
Family
ID=18824821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000351839A Expired - Fee Related JP4602535B2 (ja) | 2000-11-17 | 2000-11-17 | スケジュール実行管理装置および管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7039472B2 (ja) |
JP (1) | JP4602535B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2829330B1 (fr) * | 2001-08-31 | 2003-11-28 | Canon Kk | Procede de demande de reception du resultat d'execution d'une fonction a distance a une date predeterminee |
US20050015767A1 (en) * | 2003-07-01 | 2005-01-20 | Brian Nash | Operating system configuration tool |
US7174232B2 (en) * | 2003-10-30 | 2007-02-06 | Agency For Science, Technology And Research | Job release with multiple constraints |
EP1571767B1 (en) | 2004-02-24 | 2018-05-30 | Yamaha Corporation | Event data reproducing apparatus and method, and program therefor |
US7668870B1 (en) * | 2004-04-15 | 2010-02-23 | Citicorp Development Center, Inc. | Methods and systems for updating web pages via a web data instant update utility |
US8041742B1 (en) | 2004-12-20 | 2011-10-18 | American Megatrends, Inc. | Method, system, and apparatus for providing generic database services within an extensible firmware interface environment |
US7260663B2 (en) * | 2005-04-07 | 2007-08-21 | International Business Machines Corporation | System and method for presenting interrupts |
US8005553B2 (en) * | 2006-09-29 | 2011-08-23 | Fisher-Rosemount Systems, Inc. | Automatic configuration of synchronous block execution for control modules run in fieldbus networks |
US7761171B2 (en) * | 2006-09-29 | 2010-07-20 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to generate schedules to execute functions in a process control system |
US8826281B2 (en) * | 2006-11-07 | 2014-09-02 | Microsoft Corporation | Managing document publication using time-driven job scheduling |
US8219845B2 (en) * | 2007-05-09 | 2012-07-10 | Microsoft Corporation | Timer service uses a single timer function to perform timing services for both relative and absolute timers |
US8374898B2 (en) * | 2008-09-05 | 2013-02-12 | Exxonmobil Research And Engineering Company | Bulk material ship routing and inventory management schedule optimization |
US10559000B2 (en) * | 2011-08-19 | 2020-02-11 | Google Llc | Advertiser campaign script execution management |
JP7009894B2 (ja) * | 2017-10-02 | 2022-01-26 | 富士通株式会社 | 分散プロセス管理システム、分散プロセス管理方法、及び情報処理装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63150140A (ja) * | 1986-12-16 | 1988-06-22 | Oki Electric Ind Co Ltd | 作業計画作成装置 |
US4819191A (en) * | 1987-01-29 | 1989-04-04 | International Business Machines Corporation | Electronic calendaring method to establish calendar floating triggers for calendared events and processes |
US5010482A (en) * | 1987-07-02 | 1991-04-23 | Unisys Corp. | Multi-event mechanism for queuing happened events for a large data processing system |
EP0420174B1 (en) * | 1989-09-29 | 1995-12-20 | Mazda Motor Corporation | System for automatically generating a sequential control program |
US5177684A (en) * | 1990-12-18 | 1993-01-05 | The Trustees Of The University Of Pennsylvania | Method for analyzing and generating optimal transportation schedules for vehicles such as trains and controlling the movement of vehicles in response thereto |
JPH05250377A (ja) * | 1992-03-04 | 1993-09-28 | Fujitsu Ltd | スケジューリング方式 |
JPH0652182A (ja) | 1992-07-29 | 1994-02-25 | Toshiba Corp | 割当て装置 |
US6304891B1 (en) * | 1992-09-30 | 2001-10-16 | Apple Computer, Inc. | Execution control for processor tasks |
JP3446256B2 (ja) * | 1993-09-03 | 2003-09-16 | 株式会社日立製作所 | Faシステムの制御方法及び装置 |
US5487170A (en) * | 1993-12-16 | 1996-01-23 | International Business Machines Corporation | Data processing system having dynamic priority task scheduling capabilities |
JP3234713B2 (ja) * | 1994-04-27 | 2001-12-04 | 富士通株式会社 | スケジュール管理方法およびスケジュール管理装置 |
US5623413A (en) * | 1994-09-01 | 1997-04-22 | Harris Corporation | Scheduling system and method |
JPH0973313A (ja) | 1995-02-09 | 1997-03-18 | Matsushita Electric Ind Co Ltd | 製造計画立案方法および製造計画立案装置 |
US5636124A (en) * | 1995-03-08 | 1997-06-03 | Allen-Bradley Company, Inc. | Multitasking industrial controller |
JPH0916527A (ja) * | 1995-06-30 | 1997-01-17 | Nippon Telegr & Teleph Corp <Ntt> | 大規模分散情報処理方法及びシステム |
JPH0929921A (ja) * | 1995-07-14 | 1997-02-04 | Toppan Printing Co Ltd | 製版工程進行管理システム |
DE19527541A1 (de) * | 1995-07-27 | 1997-01-30 | Siemens Ag | Vorrichtung zur Erzeugung von Steuersignalen |
US5838957A (en) * | 1996-02-01 | 1998-11-17 | International Business Machines Corporation | Multi-stage timer implementation for telecommunications transmission |
US5768572A (en) * | 1996-02-05 | 1998-06-16 | International Business Machines Corporation | Timer state control optimized for frequent cancel and reset operations |
US5954792A (en) * | 1996-12-30 | 1999-09-21 | Cadence Design Systems, Inc. | Method for schedule validation of embedded systems |
JPH11235648A (ja) * | 1998-02-17 | 1999-08-31 | Toshiba Corp | 製造計画管理装置、製造計画管理方法、及び、製造計画管理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6480878B1 (en) * | 1998-04-29 | 2002-11-12 | Xerox Corporation | Machine control using response time specifications from sequential and state machine modes |
JP3369470B2 (ja) * | 1998-05-28 | 2003-01-20 | 三菱電機株式会社 | サーボシステムコントローラ |
-
2000
- 2000-11-17 JP JP2000351839A patent/JP4602535B2/ja not_active Expired - Fee Related
-
2001
- 2001-03-22 US US09/814,071 patent/US7039472B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7039472B2 (en) | 2006-05-02 |
JP2002157391A (ja) | 2002-05-31 |
US20020062157A1 (en) | 2002-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4602535B2 (ja) | スケジュール実行管理装置および管理方法 | |
US8595381B2 (en) | Hierarchical file synchronization method, software and devices | |
JP4903012B2 (ja) | ワークフローシステム、ワークフロー処理方法およびワークフロー処理プログラム | |
CN104239439A (zh) | 选择性的数据库复制 | |
JP2003528395A (ja) | コンピュータネットワーク内でデータを自動的に配置するための方法及び装置 | |
KR101109292B1 (ko) | 액티브 어젠더 | |
CN114416677A (zh) | 一种冷存储数据的更新方法、装置、设备及存储介质 | |
JP2004302635A (ja) | トランザクション処理方法及びその実施装置並びにその処理プログラム | |
US7337195B2 (en) | Method and device for establishing synchronized recovery log points | |
JP2001344139A (ja) | データベース管理装置 | |
JPH0789267B2 (ja) | データ編集/提示方法とその装置 | |
CN114969058A (zh) | 一种数据更新方法、装置、设备、存储介质 | |
US5768514A (en) | Cooperative activity system and method | |
JP2009187401A (ja) | 文書管理システム、文書管理装置、文書管理方法及びプログラム | |
JP2010152707A (ja) | データベースのバックアップ方法及びデータベースシステム | |
JP2000250972A (ja) | スケジュール情報管理装置及びその方法、並びに、スケジュール情報管理プログラムを記憶した記憶媒体 | |
JPH05257765A (ja) | データベース管理システム | |
CN116991815B (zh) | 一种分布式存储系统的日志收集方法、装置、设备及介质 | |
JPH10312331A (ja) | データベースの動的アクセス方法 | |
JP2004302630A (ja) | メッセージ処理方法及びその実施装置並びにその処理プログラム | |
JP2002215520A (ja) | 電子掲示板作成装置及び方法と電子掲示板作成処理用プログラム及びそのプログラムの記録媒体 | |
JP3822013B2 (ja) | ホスツファイル管理方法及びコンピュータ可読媒体 | |
JP2003030389A (ja) | ワークフロー管理方法及びその実施システム並びにその処理プログラム | |
JP2003271788A (ja) | 階層型項目情報管理装置、階層型項目情報管理方法、階層型項目情報管理プログラム及びコンピュータ読み取り可能な記録媒体 | |
JP2010044696A (ja) | プログラムライセンス管理システム及び管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070816 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070925 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080324 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080331 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080411 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100903 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100930 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |