(57)【特許請求の範囲】
【請求項１】
複数の呼出先プログラム毎に定められた一定時間の経過により前記呼出先プログラムの呼出し処理を行なう処理呼出制御装置において、
前記各呼出先プログラムを呼出す前記一定時間を示す呼出間隔情報と、前記各呼出先プログラムの呼出し処理に対するリトライ処理についての情報であるリトライ情報と、前記各呼出先プログラムを呼出す前記一定時間の起点の時刻を示す起点時刻情報を前記各呼出先プログラム毎に記録したタイマーリストと、
設定された一定のインターバル毎に、前記タイマーリストを参照し、前記各呼出先プログラムの全てに対して、前記起点時刻情報の時刻から前記呼出間隔情報の時間の経過により呼出しを行なう周期毎呼出しあるいは現在リトライ中である場合に呼出しを行なうリトライ呼出しの判断を行なうタイマーリストチェック手段と、
前記タイマーリストチェック手段の判断に従い、呼出を実行するものと判断された全ての前記呼出先プログラムに対する呼出を行ない、前記呼出しが成功するまで呼出しを繰返すリトライ処理を実行する設定を行なう処理呼出手段と、
前記処理呼出手段が、各呼出先との間で送受信をする前記データや命令の制御を行なう呼出データ処理部を備え、
前記処理呼出手段は、
ずれや遅れを生じさせず一定の時間間隔で前記周期毎呼出しを行なうために、各呼出先プログラムを前記周期毎呼出しにより呼出す場合に、前記タイマーリスト内のこの呼出先プログラムの起点時刻情報を呼出しの時刻により更新し、前記リトライ呼出しにより呼出す場合には更新しない処理を行なうことを特徴とする処理呼出制御装置。
【請求項２】
前記各呼出先プログラムは、
前記処理呼出手段からの呼出しに応じて、個々の前記各呼出先プログラム毎に定められた処理を実行するプログラムであることを特徴とする請求項１に記載の処理呼出制御装置。
【請求項３】
複数の呼出先プログラム毎に定められた一定時間の経過により前記呼出先プログラムの呼出し処理を行なう処理呼出制御方法において、
前記各呼出先プログラムを呼出す前記一定時間を示す呼出間隔情報と、前記各呼出先プログラムの呼出し処理に対するリトライ処理についての情報であるリトライ情報と、前記各呼出先プログラムを呼出す前記一定時間の起点の時刻を示す起点時刻情報を前記各呼出先プログラム毎に予め記憶し、
設定された一定のインターバル毎に、前記タイマーリストを参照し、前記各呼出先プログラムの全てに対して、前記起点時刻情報の時刻から前記呼出間隔情報の時間の経過により呼出しを行なう周期毎呼出しあるいは現在リトライ中である場合に呼出しを行なうリトライ呼出しの判断をし、
前記判断に従い、呼出を実行するものと判断された全ての前記呼出先プログラムに対する呼出しを行ない、前記呼出しが失敗した場合には成功するまで呼出しを繰返すリトライ処理を実行する設定を行ない、
ずれや遅れを生じさせず一定の時間間隔で前記周期毎呼出しを行なうために、各呼出先プログラムを前記周期毎呼出しにより呼出す場合に、前記タイマーリスト内のこの呼出先プログラムの起点時刻情報を呼出しの時刻により更新し、前記リトライ呼出しにより呼出す場合には更新しない処理を行なうことを特徴とする処理呼出制御方法。
【請求項４】
前記各呼出先プログラムは、
呼出しに応じて、個々の前記各呼出先プログラム毎に定められた処理を実行するプログラムであることを特徴とする請求項３に記載の処理呼出制御方法。
【請求項５】
複数の呼出先プログラム毎に定められた一定時間の経過により前記呼出先プログラムの呼出しを行なう処理をコンピュータ装置に実行させる処理呼出制御プログラムを格納する記録媒体において、
前記各呼出先プログラムを呼出す前記一定時間を示す呼出間隔情報と、前記各呼出先プログラムの呼出し処理に対するリトライ処理についての情報であるリトライ情報と、前記各呼出先プログラムを呼出す前記一定時間の起点の時刻を示す起点時刻情報の３つの情報を含む情報を前記各呼出先プログラム毎に予め記憶する機能と、
設定された一定のインターバル毎に、前記タイマーリストを参照し、前記各呼出先プログラムの全てに対して、前記起点時刻情報の時刻から前記呼出間隔情報の時間の経過により呼出しを行なう周期毎呼出しあるいは現在リトライ中である場合に呼出しを行なうリトライ呼出しの判断をする機能と、
前記判断に従い、呼出を実行するものと判断された全ての前記呼出先プログラムに対する呼出を行ない、前記呼出しが成功するまで呼出しを繰返すリトライ処理を実行する設定を行なう機能と、
ずれや遅れを生じさせず一定の時間間隔で前記周期毎呼出しを行なうために、各呼出先プログラムを前記周期毎呼出しにより呼出す場合に、前記タイマーリスト内の当該呼出先プログラムの起点時刻情報を呼出しの時刻により更新し、前記リトライ呼出しにより呼出す場合には更新しない機能を実行させることを特徴とする処理呼出制御プログラムを格納する記録媒体。
【請求項６】
前記各呼出先プログラムは、
呼出しに応じて、個々の前記各呼出先プログラム毎に定められた処理を実行するプログラムであることを特徴とする請求項５に記載の処理呼出制御プログラムを格納する記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の呼出先プログラムに対して、各呼出先プログラム毎に定められた一定の時間経過により呼出しを行なう呼出制御に関し、特に単一のタイマーにより複数の各呼出先への呼出しの時間を管理する処理呼出制御装置、及び処理呼出制御方法、及び処理呼出制御プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来、複数の呼出先にして各呼出先毎に定められた一定の時間経過により呼出しを行なう呼出制御のシステムには、１つのプログラムを複数の部分に分けて実行する分散システムや、通信回線により接続されたコンピュータ等が発信する情報を一定時間周期で回収するものや、これらのコンピュータ等に対して一定時間周期で命令を発信するものや、コンピュータのメモリ内に常駐し呼出しに応じてデータの検索や現在の状態の情報を返送するプログラムに対し定期的に呼出しを行なうものなどがある。
【０００３】
こうした複数の呼出先を呼出すシステムでは、呼出しにおける情報や命令の送受信の制御の他に、各呼出先を呼出す時刻を管理する制御が重要である。
【０００４】
この呼出しの時刻を管理するためには、各呼出先毎に個別の独立したタイマーを備える方式もあるが、この方式ではシステムの負荷が大きくまたこの方式の採用ができないオペレーティングシステムも多いため、単一のタイマーにより複数の各呼出先への呼出しの時間を管理する方式がある。
【０００５】
こうした、単一のタイマーにより複数の各呼出先への呼出しの時間を管理する方式には、以下に述べるような従来技術がある。
【０００６】
特開平０２−２５４５１３に開示された従来技術では、共通の呼出しの周期を持つ複数の呼出先をこの共通の周期毎に呼出しを行なうものである。
【０００７】
特開平１０−１７７４７９に開示された従来技術では、呼出しの時刻が定められた複数の呼出先をこの呼出時刻に基づき呼出しを行なうものである。この従来技術では、呼出先を一定の時間間隔に基づいて繰返し呼出す機能は備えられていない。
【０００８】
【発明が解決しようとする課題】
上述したように従来の、単一のタイマーにより異なる複数の呼出しの時間を管理する処理呼出制御では、以下に述べるような問題点があった。これは、タイマーの同一のインターバル内に複数の呼出しの開始時刻が重なった場合の処理と、呼出先に対する呼出しが失敗した場合の処理と、この呼出しの失敗により呼出しが成功するまで呼出しを繰返し行なうリトライが行われた場合の次回以降の呼出間隔の設定についての問題点である。
【０００９】
まず、タイマーの同一のインターバル内に複数の呼出しの開始時刻が重なった場合の処理には、その開始時刻のインターバル内にて全ての呼出しを実行する方式や、また、その開始時刻のインターバル内ではこの複数の呼出しの内の１つを実行し以後タイマーのインターバル毎にこの残る呼出しを一つずつ個別に開始する方式等がある。
【００１０】
後者の、インターバル毎に一つずつ個別に呼出しを開始する方式では、呼出しの開始時刻が重なった場合に、予定時刻よりも呼出しが遅れる呼出先が現れる等の問題点があるため、前者の全ての呼出しをその開始時刻のインターバル内にて実行する方式が好ましいが、この方式では呼出しの時間の管理において、呼出しの開始時刻が重なる複数の呼出先をそのインターバル内にて認識する機能を備える必要がある。
【００１１】
前記特開平０２−２５４５１３や前記特開平１０−１７７４７９に開示された従来技術では、こうした呼出しの開始時刻が重なった場合の処理を行なう機能を備えていない。
【００１２】
次に、呼出先に対する呼出しが失敗した場合の処理については、失敗したまま次の周期の呼出しを行なう時刻に呼出しを行なうまで何もしない方式や、利用者に対しエラーメッセージを表示し呼出しの失敗に対する対応を求める方式等の他に、タイマーのインターバル毎に呼出しに成功するまで呼出しを繰返すリトライを行なう方式がある。各呼出先に対する呼出しを予定通りに遅れないように行なうためには、このリトライを行なう方式が優れている。
【００１３】
前記特開平０２−２５４５１３や前記特開平１０−１７７４７９に開示された従来技術では、こうした呼出先に対する呼出しが失敗した場合の処理や、この呼出しの失敗によりリトライが行われた場合の次回以降の呼出時刻を適切に設定するための処理を行なう機能を備えていない。
【００１４】
以上のように、従来の単一のタイマーにより異なる複数の呼出しの時刻を管理する処理呼出制御においては、同一のインターバル内に複数の呼出しの開始時刻が重なった場合の処理や、かつ呼出先に対する呼出しが失敗し呼出しのリトライを行なう場合の処理が十分でなく、呼出しの開始にずれを生じさせ、呼出しの時間的な密度がばらつくという問題点があった。
【００１５】
この呼出しのばらつきやずれ等の発生によって、各呼出先に対する呼出しが適切な時刻や順番から外れることになり呼出しの失敗が多発する原因となったり、また呼出先に対し通信回線を用いて接続を行っている場合には、通信タイミングがずれることによって呼出先への接続や切断が適切に行われない等の問題が発生した。
【００１６】
本発明の第１の目的は、上記従来技術の欠点を解決し、単一のタイマーにより異なる複数の呼出しの時間を管理するシステムにおいて、呼出しの開始にずれを生じさせずに呼出しが時間的に均一で一定の密度となる処理呼出制御装置、及び処理呼出制御方法、及び処理呼出制御プログラムを記録した記録媒体を提供することにある。
【００１７】
本発明の第２の目的は、タイマーの同一のインターバル内に複数の呼出しの開始時刻が重なった場合や、また呼出先に対する呼出しが失敗し呼出しのリトライが行なわれることにより呼出しの成功までに時間が掛かった場合にも、呼出しの開始に遅れやズレを生じさせずに呼出しが時間的に均一で一定の密度となる処理呼出制御装置、及び処理呼出制御方法、及び処理呼出制御プログラムを記録した記録媒体を提供することにある。
【００１８】
【課題を解決するための手段】
上記目的を達成するため本発明の処理呼出制御装置は、複数の呼出先プログラム毎に定められた一定時間の経過により前記呼出先プログラムの呼出し処理を行なう処理呼出制御装置において、前記各呼出先プログラムを呼出す前記一定時間を示す呼出間隔情報と、前記各呼出先プログラムの呼出し処理に対するリトライ処理についての情報であるリトライ情報と、前記各呼出先プログラムを呼出す前記一定時間の起点の時刻を示す起点時刻情報を前記各呼出先プログラム毎に記録したタイマーリストと、設定された一定のインターバル毎に、前記タイマーリストを参照し、前記各呼出先プログラムの全てに対して、前記起点時刻情報の時刻から前記呼出間隔情報の時間の経過により呼出しを行なう周期毎呼出しあるいは現在リトライ中である場合に呼出しを行なうリトライ呼出しの判断を行なうタイマーリストチェック手段と、前記タイマーリストチェック手段の判断に従い、呼出を実行するものと判断された全ての前記呼出先プログラムに対する呼出を行ない、前記呼出しが成功するまで呼出しを繰返すリトライ処理を実行する設定を行なう処理呼出手段と、前記処理呼出手段が、各呼出先との間で送受信をする前記データや命令の制御を行なう呼出データ処理部を備え、前記処理呼出手段は、ずれや遅れを生じさせず一定の時間間隔で前記周期毎呼出しを行なうために、各呼出先プログラムを前記周期毎呼出しにより呼出す場合に、前記タイマーリスト内のこの呼出先プログラムの起点時刻情報を呼出しの時刻により更新し、前記リトライ呼出しにより呼出す場合には更新しない処理を行なうことを特徴とする。
【００１９】
請求項２の本発明の処理呼出制御装置は、前記各呼出先プログラムは、
前記処理呼出手段からの呼出しに応じて、個々の前記各呼出先プログラム毎に定められた処理を実行するプログラムであることを特徴とする。
【００２０】
請求項３の本発明の処理呼出制御方法は、複数の呼出先プログラム毎に定められた一定時間の経過により前記呼出先プログラムの呼出し処理を行なう処理呼出制御方法において、前記各呼出先プログラムを呼出す前記一定時間を示す呼出間隔情報と、前記各呼出先プログラムの呼出し処理に対するリトライ処理についての情報であるリトライ情報と、前記各呼出先プログラムを呼出す前記一定時間の起点の時刻を示す起点時刻情報を前記各呼出先プログラム毎に予め記憶し、設定された一定のインターバル毎に、前記タイマーリストを参照し、前記各呼出先プログラムの全てに対して、前記起点時刻情報の時刻から前記呼出間隔情報の時間の経過により呼出しを行なう周期毎呼出しあるいは現在リトライ中である場合に呼出しを行なうリトライ呼出しの判断をし、前記判断に従い、呼出を実行するものと判断された全ての前記呼出先プログラムに対する呼出しを行ない、前記呼出しが失敗した場合には成功するまで呼出しを繰返すリトライ処理を実行する設定を行ない、ずれや遅れを生じさせず一定の時間間隔で前記周期毎呼出しを行なうために、各呼出先プログラムを前記周期毎呼出しにより呼出す場合に、前記タイマーリスト内のこの呼出先プログラムの起点時刻情報を呼出しの時刻により更新し、前記リトライ呼出しにより呼出す場合には更新しない処理を行なうことを特徴とする。
【００２１】
請求項４の本発明の処理呼出制御方法は、前記各呼出先プログラムは、呼出しに応じて、個々の前記各呼出先プログラム毎に定められた処理を実行するプログラムであることを特徴とする。
【００２２】
請求項５の本発明の処理呼出制御プログラムを格納する記録媒体は、複数の呼出先プログラム毎に定められた一定時間の経過により前記呼出先プログラムの呼出しを行なう処理をコンピュータ装置に実行させる処理呼出制御プログラムを格納する記録媒体において、前記各呼出先プログラムを呼出す前記一定時間を示す呼出間隔情報と、前記各呼出先プログラムの呼出し処理に対するリトライ処理についての情報であるリトライ情報と、前記各呼出先プログラムを呼出す前記一定時間の起点の時刻を示す起点時刻情報の３つの情報を含む情報を前記各呼出先プログラム毎に予め記憶する機能と、設定された一定のインターバル毎に、前記タイマーリストを参照し、前記各呼出先プログラムの全てに対して、前記起点時刻情報の時刻から前記呼出間隔情報の時間の経過により呼出しを行なう周期毎呼出しあるいは現在リトライ中である場合に呼出しを行なうリトライ呼出しの判断をする機能と、前記判断に従い、呼出を実行するものと判断された全ての前記呼出先プログラムに対する呼出を行ない、前記呼出しが成功するまで呼出しを繰返すリトライ処理を実行する設定を行なう機能と、ずれや遅れを生じさせず一定の時間間隔で前記周期毎呼出しを行なうために、各呼出先プログラムを前記周期毎呼出しにより呼出す場合に、前記タイマーリスト内の当該呼出先プログラムの起点時刻情報を呼出しの時刻により更新し、前記リトライ呼出しにより呼出す場合には更新しない機能を実行させることを特徴とする。
【００２３】
請求項６の本発明の処理呼出制御プログラムを格納する記録媒体は、前記各呼出先プログラムは、呼出しに応じて、個々の前記各呼出先プログラム毎に定められた処理を実行するプログラムであることを特徴とする。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２８】
図１は、本発明の第１の実施の形態による処理呼出制御装置の構成を示すブロック図である。
【００２９】
図１を参照すると、本実施の形態による処理呼出制御装置は、呼出先への呼出しに関わる情報や命令の送受信とこの呼出しの時間を管理する処理呼出部１０と、呼出先の一つ又は複数のプログラムである被呼出部２０と、呼出しにより処理呼出部１０が受信した又は送信する情報や命令についての処理を行なう呼出データ処理部３０と、これらの機能を実現するためのプログラムを格納する記録媒体４０を備える。
【００３０】
処理呼出部１０は、処理呼出手段１１と、タイマー１２と、タイマーリスト１３と、タイマーリストチェック手段１４を備える。
【００３１】
処理呼出手段１１は、被呼出部２０内の各呼出先のプログラムに対する呼出しを実行するものであり、タイマーリストチェック手段１４が呼出しを実行すると判定した全ての呼出先への呼出しを実行する。また、呼出データ処理部３０から呼出先のプログラムに対し送信する情報や命令等を受け、呼出データ処理部３０に対し呼出先のプログラムから受信した情報や命令等を送信する。
【００３２】
また、処理呼出手段１１は、各呼出先のプログラムに対する呼出しが成功したか失敗したかの判断を行なう。呼出しの成功と判断するのは、呼出先から所定のデータの返送等があった場合であり、呼出しの失敗と判断するのは、長時間呼出先からの連絡がない場合や呼出先から呼出し失敗の旨の情報を受信した場合等である。
【００３３】
タイマー１２は、インターバルとして定めた一定の時間毎にクロック信号の送信等を行なうことで、インターバル毎にタイマーリストチェック手段１４に対し定められた処理を実行させる。
タイマーリスト１３は、各呼出先のプログラムへの呼出しの時刻を管理するために、各呼出先の呼出時刻に関する情報を格納するタイマーリスト１３を備え、タイマーリスト１３は個々の呼出先別にアイテムとして各呼出先の呼出時刻に関する情報を格納し、各アイテムは各アイテムに対応する呼出先の呼出時刻に関する何種類かの情報をメンバーデータとして格納する。
【００３４】
図２は、本発明の第１の実施の形態のタイマーリスト１３のアイテムのメンバーデータの構成を示すブロック図である。
【００３５】
図２を参照すると、本実施の形態のタイマーリスト１３のアイテムのメンバーデータは、各呼出先プログラムを呼出すまでの一定時間の長さを表す呼出間隔情報２１と、各呼出先プログラムに対するリトライ処理についての情報であるリトライ情報２２と、各呼出先プログラムを呼出すまでの一定時間の起点の時刻を表す起点時刻情報２３の３つの情報を備えている。
【００３６】
また、時間管理のための情報ではないために図２のメンバーデータには示されていないが、タイマーリスト１３の各アイテムと各呼出先との対応を表すデータや、個々の呼出先への通信方法や、個々の呼出先の場所を表すデータをも同様にタイマーリスト１３内に備えてもよい。
【００３７】
タイマーリストチェック手段１４は、タイマー１２のインターバル毎に、このタイマーリスト１３の各アイテムのメンバーデータを参照し、このアイテムに対応する呼出先プログラムに対し呼出しを行なうかどうかを判定するタイマーリストチェック処理を行ない、各インターバルにおける呼出しを行なうべき全ての呼出先を判定する。
【００３８】
このタイマーリストチェック手段１４による判定は、各アイテムのメンバーデータにおいて、起点時刻情報２３の時刻から呼出間隔情報２１の時間が経過している場合には呼出しを行なう時間に達したものとして呼出しを行なう判定をし、またリトライ情報２２において現在リトライ中であること、つまり前回の呼出しにおいて呼出しが失敗したため呼出しに成功するまで呼出しを繰返し実行するリトライ中である場合にも呼出しを行なう判定をする。
【００３９】
ここで、呼出間隔情報２１の各呼出先プログラムを呼出すまでの一定時間の長さは、タイマー１２のインターバルの長さよりも十分に長いものとする。例えば、呼出間隔情報２１の長さが１０分で、タイマー１２のインターバルの長さ１秒とするものである。
【００４０】
呼出間隔情報２１は、その一定時間の長さを何分何秒間等の形式で指定する他に、一定時間内のタイマー１２のインターバルの回数（つまり、一定時間内にタイマーリストチェック処理が行われる回数）をもって指定してもよい。
【００４１】
呼出間隔情報２１は、その長さを”０”と指定した場合に、このアイテムに対する呼出しを行なわない呼出不可であるものと設定してもよい。これは、呼出間隔情報２１の長さがタイマー１２のインターバルの長さ以下の場合では、タイマー１２のインターバル毎に呼出しを実行する同一の効果を持つため、長さ”０”の場合に特に他の意味を持つものとしても差し障りがないためであり、かつこの方法により容易に各アイテムを個別に呼出不可と設定することができる。
【００４２】
本発明では、複数の呼出先のプログラムに対し同時にあるインターバル内において呼出しを行なうことになった場合にも、そのインターバル内において一斉に呼出しを実行し、呼出しの時間にずれを生じさせないことを特徴とする。
【００４３】
つまり、タイマーリスト１３内の複数のアイテムがタイマー１２のあるインターバルにおいて、同時に呼出しを行なう時刻となった場合、またリトライ処理により同時に呼出しを行なうことになった場合には、そのインターバル内にタイマーリストチェック手段１４はこれら呼出しをすべき全てのアイテムに対し呼出しを行なう判定をし、かつ処理呼出手段１１においてもこれら呼出しを行なう判定をされたアイテムに対応する全ての呼出先のプログラムに対し呼出しを行なう。
【００４４】
本発明では、呼出しに失敗しリトライが行われた場合にも、起点時刻情報２３の時刻を呼出しの失敗がなかった場合と同じ時刻により更新することで、以後の呼出しを行なう時間がずれたり遅れることなく均一の時間間隔で呼出しが行われることを特徴とする。
【００４５】
つまり、次の呼出しを行なう呼出間隔情報２１の時間の経過を計測する起点の時刻である起点時刻情報２３には、呼出しに成功した時点の時刻ではなく、始めにリトライではない呼出しがされた時点の時刻を記録することにより、均一の時間間隔での呼出しを行なう。
【００４６】
リトライ情報２２は、単に現在リトライ中であるかどうかを表すのみでなく、リトライ中の場合にこれまでに行われた呼出しの回数の情報をリトライ数として表すものとしてもよい。この方法では、リトライ数が“１”以上の場合には現在リトライ中であり、“０”である場合には現在リトライ中ではないものと判定することができる。リトライ情報２２にこのリトライ数の情報を設定することは単に呼出しに失敗する度に“１”加算し、呼出しに成功した場合に“０”を設定すれば良く容易に実現でき、また、現在までに行われてたリトライ処理の長さを認識することが、現在時刻と起点時刻情報２３を参照するよりも早く容易に行なうことができる。
【００４７】
この、現在までに行われてたリトライ処理の長さの認識を行なうことは、リトライが長く続いた場合に呼出しを一時止める等の特別の処理に用いることができる。これには特に、リトライが長く続き呼出間隔情報２１の長さ以上に及ぶ場合（上記の１０分と１秒の例では６００回呼出しの失敗が続いた場合）を認識しすることで、以後の呼出時刻を適切に設定する処理を行なうことがある。
【００４８】
つまり、もし現在時刻までに当初予定された回数の呼出しを行なうことに重点を置く処理は、起点時刻情報２３の時刻の値の更新処理を、一回の呼出しの成功につき一度、常に更新前の起点時刻情報２３の値から呼出間隔情報２１の時間分のみを増加させるものとして構成することにより実現し、また、当初の起点時刻情報２１の時刻から呼出間隔情報２１の時間を周期として定められる特定の時刻において呼出しを行なうことに重点を置く処理は、呼出しの成功の時点で、起点時刻情報２３の時刻の値を呼出時刻に予定されていて経過した時刻の内で、呼出しの成功の時刻に最も近い時刻に更新することにより実現する。
【００４９】
次に、第１の実施の形態を適応した一実施例について図面を参照し詳細に説明する。図３は、本発明の第１の実施の形態による処理呼出制御装置を、通信によりデータを取得し表示するプログラムに適応した一実施例の構成を示すブロック図である。
【００５０】
図３を参照すると、本実施例の処理呼出制御装置は、呼出しに応じてデータ検索や状態の情報の取得を行ないデータを返信するアドインコンポーネントＡ、Ｂ、Ｃを呼出先のプログラムとして被呼出部２０ａに備え、処理呼出部１０の機能を実現する呼出側プログラム１０ａは、この各アドインコンポーネントＡ、Ｂ、Ｃを呼出し返信され得られたデータを呼出データ処理部３０ａに対し送信しする処理を処理呼出手段１１の機能を実現するデータ取得手段１１ａにより実行し、呼出データ処理部３０ａでは、送信された各アドインコンポーネントＡ、Ｂ、Ｃからのデータをそれぞれに対応するデータ表示部を用いて表示する処理を実行する。
【００５１】
本実施例においては、被呼出部２０ａである各アドインコンポーネントＡ、Ｂ、Ｃと、呼出側プログラム１０ａの間は通信回線２５により接続されており、本発明の呼出時間のずれを防止し呼出しを均一の時間間隔で行なう処理呼出制御によって効率的な通信を実現するものである。
【００５２】
また、呼出データ処理部３０ａと呼出側プログラム１０ａの間のデータの送受信は、通信回線による接続に限らず同一の装置内に備えるものでも良く、また同一のプログラム内に双方の機能を備え呼出データ処理部３０ａは各アドインコンポーネントＡ、Ｂ、Ｃからのデータをディスプレイに表示する等の制御行なうものとしてもよい。
【００５３】
次に、本実施例の処理呼出制御の動作について説明する。
【００５４】
本実施例の処理呼出制御の動作は、まず処理呼出制御の実行前に、予め呼出先２０のアドインコンポーネントに応じてタイマーリスト１３ａを作成し、タイマーリスト１３ａの各アイテムを初期化する初期化処理を行なう。
【００５５】
図５は、第１の実施例の呼出側プログラム１０ａによるタイマーリスト１３ａの初期化処理を説明するためのフローチャートである。
【００５６】
図５を参照すると第１の実施例のタイマーリスト１３ａの初期化処理は、まず始めに、タイマーリスト１３内に各アドインコンポーネントに対応させてアイテムを作成し、かつ各アドインコンポーネントの情報を参照して各アイテムのメンバーデータの内データ取得間隔２１ａの値の設定を行なう（ステップ５０１）。この各アイテムのデータ取得間隔２１ａの情報は、呼出しデータ処理部３０ａや被呼出部２０ａや各アドインコンポーネント等から呼出側プログラム１０ａに対し通知される。
【００５７】
次に、各アイテムの残るメンバーデータ前回データ取得処理開始時刻２３、リトライ数２２の値の初期設定を各アイテム毎に行なう（ステップ５０２）。
【００５８】
このため、タイマーリスト１３ａ内に初期設定の終了していないアイテムがまだ残っている場合には、その内の１つを設定処理の対象として選択する（ステップ５０３）。
【００５９】
そして、この選択されたアイテムに対し、前回データ取得処理開始時刻２３ａの値に現在時刻を設定し（ステップ５０４）、データ取得手段１１によりこのアイテムに対応するアドインコンポーネントからデータを取得するデータ取得処理を実行する（ステップ５０５）。
【００６０】
ここで、データ取得処理に失敗した場合には、以後タイマー１２のインターバル毎にデータ取得処理をデータ取得に成功するまで繰返すリトライ処理を行なうためリトライ数２２の値に“１”を設定し、このアイテムがリトライ処理中であることが判るようにする。このリトライ数２２の値は、以後データ取得に成功するまで、データ取得処理が実行される毎に１つずつ加算される。
【００６１】
ここで、データ取得処理に成功した場合には、リトライ数２２の値に“０”を設定し、このアイテムにはリトライ処理は行われなず、次にデータ取得処理が行われるのは前回データ取得処理開始時刻２３ａの時刻からデータ取得間隔２１ａの時間が経過したときである。また、この場合取得されたデータは、データ取得手段１１から呼出しデータ処理部３０ａに対し送信し、各アドインコンポーネントのデータ表示部により表示を行なう。
【００６２】
以上のステップ５０２からステップ５０８の処理により、タイマーリスト１３ａ内の各アイテムのメンバーデータの値を設定し、この処理をすべてのアイテムに対し実行することによりタイマーリスト１３ａの初期設定が行われる。
【００６３】
タイマーリスト１３ａの初期設定の後は、タイマーリストチェック手段１４により、タイマー１２のインターバル毎にタイマーリスト１３ａを参照し、データ取得処理の開始時刻をチェックする処理と、このチェックに基づくデータ取得処理が実行される。
【００６４】
図６は、第１の実施例のタイマーリストチェック手段１４によるデータ取得処理の開始時刻をチェックする処理を説明するためのフローチャートである。
【００６５】
図６を参照すると第１の実施例のタイマーリストチェック手段１４によるチェック処理は、まず、タイマーリスト１３ａ内にチェック処理の終了していないアイテムがまだ残っている場合には、その内の１つをチェック処理の対象として選択する（ステップ６０１、６０２）。
【００６６】
次に、この選択されたアイテムに対して、データ取得処理の実行が許可されているかを調べる（ステップ６０３）。これは、このアイテムのデータ取得間隔２１ａの値が“０”である場合に、このアイテムのデータ取得処理が“実行不可”に設定されていると判断する。ここで、データ取得処理が“実行不可”に設定されている場合には、このアイテムのチェック処理を終了し、ステップ６０２に戻り残るアイテムのチェック処理を続行する。また、データ取得処理が“実行不可”に設定されていない場合には、このアイテムに対する以下のチェック処理を続ける。
【００６７】
次に、この選択されたアイテムが、リトライ処理中のアイテムであるかどうかを調べる（ステップ６０４）。これは、このアイテムのリトライ数２２の値が”１”以上の場合には、このアイテムはリトライ処理中である判断する。ここで、この選択されたアイテムが、リトライ処理中のアイテムである場合には、前回データ取得処理開始時刻２３ａからの経過時間を調べることなく、ステップ６０７のデータ取得処理の実行を行なう。また、この選択されたアイテムが、リトライ処理中のアイテムでない場合には、このアイテムに対するチェック処理を続ける。
【００６８】
次に、このアイテムに対して現在、データ取得処理をする時間であるかどうかをチェックする（ステップ６０５）。これは、前回データ取得処理開始時刻２３ａに表される時刻から、データ取得間隔２１ａに表される時間が経過している場合に、現在データ取得処理をする時間であると判断をする。ここで、データ取得処理をする時間でない場合には、このアイテムのチェック処理を終了し、ステップ６０２に戻り残るアイテムのチェック処理を続行する。また、この選択されたアイテムが、リトライ処理中のアイテムでない場合には、このアイテムの前回データ取得処理開始時刻２３ａの値に対し現在時刻を設定する更新処理を行ない（ステップ６０６）、ステップ６０７のデータ取得処理の実行を行なう。
【００６９】
データ取得処理（ステップ６０７）は、データ取得手段１１ａによりこのアイテムに対応するアドインコンポーネントに対し呼出を行ない、アドインコンポーネントからデータの返信を受け、さらにこの取得されたデータを呼出しデータ処理部３０ａに対し送信し、このアドインコンポーネントのデータ表示部により表示を行なうものである。
【００７０】
ここで、データ取得処理に成功した場合には、リトライ数２２の値に“０”を設定した後、このアイテムのチェック処理を終了し、ステップ６０２に戻り残るアイテムのチェック処理を続行する（ステップ６０８、６０９）。これにより、もしこのアイテムが今まで  リトライ数２２の値が“１”以上であってリトライ処理中であった場合にも、リトライ処理が解除される。このアイテムのアドインコンポーネントに、次にデータ取得処理が行われるのは前回データ取得処理開始時刻２３ａの時刻からデータ取得間隔２１ａの時間が経過したときである。
【００７１】
ここで、データ取得処理に失敗した場合には、このアイテムのアドインコンポーネントに対しデータ取得処理を続行するためリトライ数２２の値を１つ加算した後、このアイテムのチェック処理を終了し、ステップ６０２に戻り残るアイテムのチェック処理を続行する（ステップ６０８、６１０）。これにより、もし今まで  リトライ数２２の値が“０”でありリトライ処理が行われていなかった場合にも、リトライ処理が設定され、以後データ取得に成功するまでこのアイテムのアドインコンポーネントに、タイマー１２のインターバル毎にデータ取得処理が行われる。
【００７２】
以上のステップ６０１からステップ６１０の処理により、タイマーリスト１３ａ内の各アイテムのデータ取得処理の開始時刻のチェック処理と、データ取得処理を行ない、この処理をすべてのアイテムに対し実行することによりタイマーリスト１３ａのチェック処理が行われる。
【００７３】
図７は、第１の実施例のアドインコンポーネントＡ、Ｂ、Ｃに対し、具体的な数値等を当てはめた場合の処理を説明するための表である。
【００７４】
図７を参照すると、第一の実施例による処理の本具体例では、アドインコンポーネントＡ、Ｂ、Ｃに対し、呼出を行ないデータ取得処理を行なう間隔であるデータ取得間隔２１ａはそれぞれ、３０分、１０分、５分である。また、タイマー１２のインターバルは１秒である。
【００７５】
まず始めに、図５に説明されたタイマーリスト１３ａの初期化処理を行なう。
【００７６】
このタイマーリスト１３ａの初期化処理におけるデータ取得処理は、アドインコンポーネントＡのみが成功し、アドインコンポーネントＢ、Ｃにおいては失敗した場合を考える。
【００７７】
すると、まず各アドインコンポーネントに対応させてアイテムを作成し、  データ取得間隔２１ａの値の設定を行なう（ステップ５０１）。アドインコンポーネントＡ、Ｂ、Ｃの各アイテムに対し、データ取得間隔２１ａの値はそれぞれ別に定められた上記の３０分、１０分、５分の値を設定する。
【００７８】
次に、各アイテムの前回データ取得処理開始時刻２３ａの値に現在時刻を設定する（ステップ５０４）。ここで、現在時刻は０時００分００秒であり、この時刻を各アイテムの前回データ取得処理開始時刻２３ａの値に設定する。
【００７９】
初期化処理の最後は、リトライ数２２を設定する。ここで、データ取得処理に成功したのはアドインコンポーネントＡのみなので、アドインコンポーネントＡのアイテムに”０”が設定され（ステップ５０７）、アドインコンポーネントＢ、Ｃのアイテムに”１”が設定される（ステップ５０８）。こうして、アドインコンポーネントＢ、Ｃに対しては、リトライ処理中であることが設定される。
【００８０】
以上のようにして、タイマーリスト１３ａの初期化処理が終了し、以後タイマー１２のインターバル毎に、図６に説明されたタイマーリストチェック手段１４ａによりデータ取得処理の開始時刻をチェックする処理と、このチェックに基づくデータ取得処理が実行される。
【００８１】
以下順次各インターバル毎の処理を説明する。
【００８２】
ここで、各アドインコンポーネントＡ、Ｂ、Ｃのデータ取得間隔２１ａの値は、３０分、１０分、５分の値が設定されているため“０”ではなく、このためデータ取得処理が“実行不可”に設定されているものはない（ステップ６０３）。
【００８３】
まず、０時００分０１秒における初期化処理後の最初のインターバルにおいて、タイマーリストチェック手段１４ａによりデータ取得処理を行なうかどうかが調べられ、アドインコンポーネントＡはリトライ数２２が“０”でありリトライ中でなく（ステップ６０４）、かつデータ取得間隔２１ａに設定されている３０分の時間が前回データ所得処理開始時刻２３ａより経過していないため、データ取得処理を行なわない（ステップ６０５）。しかしアドインコンポーネントＢ、Ｃについてはリトライ数２２が“１”でありリトライ中なので、データ取得処理を実行する（ステップ６０４）。
【００８４】
ここで、アドインコンポーネントＢ、Ｃに対しては、リトライにより再びデータ取得処理が実行されるが、これに関わらずこのアドインコンポーネントＢ、Ｃの前回データ所得処理開始時刻２３ａの時刻は変更しない。これにより以後のデータ所得処理を開始する時間のずれや遅れを防止し均一の時間間隔でデータ所得を行なうことができ効率的な通信が実現できる。
【００８５】
次に、このインターバルでアドインコンポーネントＢからのデータ取得には成功し、アドインコンポーネントＣからのデータ取得には失敗した場合を考える。
【００８６】
すると、アドインコンポーネントＢのリトライ数２２の値を“０”に設定しリトライ処理を終了し、アドインコンポーネントＣのリトライ数２２の値を１増加させ“２”としリトライ処理を継続する。
【００８７】
そして、０時００分０２秒における初期化処理後の２回目のインターバルにおいて、タイマーリストチェック手段１４ａによりデータ取得処理を行なうかどうかが調べられ、アドインコンポーネントＡ、Ｂはリトライ数２２が“０”でありリトライ中でなく、かつデータ取得間隔２１ａに設定されているそれぞれ３０分、１０分の時間が前回データ所得処理開始時刻２３ａより経過していないため、データ取得処理を行なわない。しかしアドインコンポーネントＣについてはリトライ数２２が“２”でありリトライ中なので、データ取得処理を実行する。
【００８８】
この場合も、アドインコンポーネントＣに対してはデータ取得処理が行われたが、前回データ所得処理開始時刻２３ａの変更は行なわない。
【００８９】
次に、このインターバルでアドインコンポーネントＣのデータ取得に成功した場合を考える。
【００９０】
すると、アドインコンポーネントＣのリトライ数２２の値を“０”に設定しリトライ処理を終了する。
【００９１】
そして、０時００分０３秒における初期化処理後の３回目のインターバル以降、０時０５分００秒におけるアドインコンポーネントＣのデータ取得を行なう時刻になるまで、各アドインコンポーネントＡ、Ｂ、Ｃはデータ取得の時刻でなくかつリトライ中でもないためデータ所得処理は行われない。
【００９２】
以後、同様に０時１０分００秒にＢ、Ｃの、０時１５分００秒にＣの、０時２０分００秒にＢ、Ｃの、０時２５分００秒にＣの、０時３０分００秒にＡ、Ｂ、Ｃの各アドインコンポーネントのデータ所得処理が開始され、上記の処理が実行される。
【００９３】
以上の様に、本実施の形態では、単一のタイマーにより異なる複数の呼出の時間を管理するシステムにおいて、タイマーの同一のインターバル内に複数の呼出しの開始時刻が重なった場合にも、その開始時刻のインターバル内にて全ての呼出しを処理の負担なく実行し、かつ呼出先に対する呼出しが失敗し呼出しのリトライが行なわれることにより呼出しの成功までに時間が掛かった場合にも、以後の呼出しの開始を遅らせずに呼出しの失敗がなかった場合と同じ時刻で開始することにより、呼出しの開始にずれを生じさせずに呼出しを時間的に均一で一定の密度とすることができる。
【００９４】
また、呼出先に対し通信回線によって接続されている場合には、本発明の時間的に均一で一定の密度による呼出しにより、効率の良い通信を行ないシステムの負荷を低く押さえることができる。
【００９５】
なお、本実施の形態の処理呼出制御方法は、処理呼出部１０、処理呼出手段１１、タイマー１２、タイマーリスト１３、タイマーリスト１４、被呼出部２０、呼出データ処理部３０その他の機能をハードウェア的に実現することは勿論として、各機能を備えるコンピュータプログラムを、コンピュータ処理装置のメモリにロードされることで実現することができる。このコンピュータプログラムは、磁気ディスク、半導体メモリその他の記録媒体４０に格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【００９６】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。図８は、第２の実施の形態による処理呼出制御装置の構成を示すブロック図である。
【００９７】
図８を参照すると、本実施の形態による処理呼出制御装置の図１における第１の実施の形態による処理呼出制御装置や、図３における第１の実施の形態による処理呼出制御装置の一実施例との違いは、呼出データ処理部３０ｂを処理呼出部のプログラム１０ｂ内に収めたことと、かつ被呼出部である呼出先のプログラムを処理Ａ、処理Ｂ、処理Ｃとして、処理呼出手段である処理実行部１１ｂ内に収めたことである。
【００９８】
ここで、処理Ａ、Ｂ、Ｃは、それぞれに定められたデータの検索や状態の情報の取得等の処理を行ない、処理結果を呼出データ処理部３０ｂに対し送信するものであり、呼出データ処理部３０ｂは各処理Ａ、Ｂ、Ｃの処理結果をディスプレイ等を用いて表示する機能を備え、処理実行部１１ｂから送信される各処理Ａ、Ｂ、Ｃの処理結果を表示する。
【００９９】
図９は、第２の実施の形態のタイマーリストのアイテムのメンバーデータの構成を示すブロック図である。
【０１００】
図９を参照すると、本実施の形態のタイマーリストのアイテムのメンバーデータには、図４における第１の実施の形態のメンバーデータの構成に加えてさらに処理名２４を備えている。
【０１０１】
処理名２４は、処理実行部１１ｂ内の各処理Ａ、Ｂ、Ｃを指定するものである。これは、本実施の形態ではタイマーリストチェック手段１４ｂにより、各処理Ａ、Ｂ、Ｃの呼出を行なうかどうかの、つまり各処理の実行を行なうかどうかの判定をして、もし実行をする処理がある場合にはその旨の命令と共に、その処理の名前（例えば処理Ａとする。）である処理名２４を処理実行部１１ｂに対し送信を行なう。
【０１０２】
処理実行部１１ｂは、タイマーリストチェック手段１４ｂから処理名２４の情報と共にその処理名２４が指定する処理Ａを実行する旨の命令を受信した時には、処理実行部１１ｂ内にある処理Ａを呼出し実行し実行結果を呼出データ処理部３０ｂの処理Ａの結果表示部に対し送信する。
【０１０３】
以上の様に、本実施の形態では、第１の実施の形態と同様にして、プログラム内の各種の複数の処理の実行に対して、一斉に同時に処理を行なう機能と、呼出しの開始にずれを生じさせずに呼出しを時間的に均一で一定の密度行なう機能を備えることができる。
【０１０４】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０１０５】
【発明の効果】
以上説明したように本発明の処理呼出制御装置、及び処理呼出制御方法、及び処理呼出制御プログラムを記録した記録媒体によれば、以下のような効果が達成される。
【０１０６】
第１に、単一のタイマーにより異なる複数の呼出しの時間を管理するシステムにおいて、タイマーの同一のインターバル内に複数の呼出しの開始時刻が重なった場合にも、その開始時刻のインターバル内にて全ての呼出しを処理の負担なく実行し、かつ呼出先に対する呼出しが失敗し呼出しのリトライが行なわれることにより呼出しの成功までに時間が掛かった場合にも、以後の呼出しの開始を遅らせずに呼出しの失敗がなかった場合と同じ時刻で開始することにより、呼出しの開始にずれを生じさせずに呼出しを時間的に均一で一定の密度とすることができる。
【０１０７】
第２に、呼出先に対し通信回線によって接続されている場合には、本発明の時間的に均一で一定の密度による呼出しにより、効率の良い通信を行ないシステムの負荷を低く押さえることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態による処理呼出制御装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態のタイマーリストのアイテムのメンバーデータの構成を示すブロック図である。
【図３】本発明の第１の実施の形態による処理呼出制御装置を、通信によりデータを取得し表示するプログラムに適応した一実施例の構成を示すブロック図である。
【図４】本発明の第１の実施の形態をプログラムに適応した一実施例のタイマーリストのアイテムのメンバーデータの構成を示すブロック図である。
【図５】本発明の一実施例の呼出側プログラムによるタイマーリストの初期化処理を説明するためのフローチャートである。
【図６】本発明の一実施例のタイマーリストチェック手段によるデータ取得処理の開始時刻をチェックする処理を説明するためのフローチャートである。
【図７】本発明の一実施例のアドインコンポーネントＡ、Ｂ、Ｃに対し、具体的な数値等を当てはめた場合の処理を説明するための表である。
【図８】本発明の第２の実施の形態による処理呼出制御装置の構成を示すブロック図である。
【図９】本発明の第２の実施の形態のタイマーリストのアイテムのメンバーデータの構成を示すブロック図である。
【符号の説明】
１０  処理呼出部
１０ａ  呼出側プログラム
１０ｂ  プログラム
１１  処理呼出手段
１１ａ  データ取得手段
１１ｂ  処理実行部
１２  タイマー
１３、１３ａ、１３ｂ  タイマーリスト
１４、１４ａ、１４ｂ  タイマーリストチェック手段
２０、２０ａ  被呼出部
２１  呼出間隔情報
２１ａ  データ取得間隔
２２  リトライ情報
２２ａ  リトライ数
２３  起点時刻情報
２３ａ  前回処理呼出開始時刻
２４  処理名
３０、３０ａ、３０ｂ  呼出データ処理部
【図１】
0003620364.tif 000002
【図２】
0003620364.tif 000003
【図３】
0003620364.tif 000004
【図４】
0003620364.tif 000005
【図５】
0003620364.tif 000006
【図６】
0003620364.tif 000007
【図７】
0003620364.tif 000008
【図８】
0003620364.tif 000009
【図９】
0003620364.tif 000010