(57)【要約】  【課題】  グリッドコンピュータを構成するコンピュータの使用状態を、ダミープログラムを実行させることによる実行時間の相違に応じて的確に把握しつつプログラム実行用のコンピュータを選択することができるプログラム実行システム、中央装置、プログラム実行方法及びコンピュータプログラムを提供する。  【解決手段】  中央装置と、該中央装置と通信手段を介して接続してある複数の端末装置とを備え、中央装置は、実行させるプログラムより処理負荷の小さいダミープログラムを複数の端末装置に対して定期的又は不定期に配布し、配布したダミープログラムの実行完了を示す実行完了信号を端末装置から受信し、ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶し、記憶した実行時間に応じて、プログラムを実行させる一又は複数の端末装置を選択する。【選択図】        図４
2005339287.tif 000002
【特許請求の範囲】
【請求項１】
中央装置と、該中央装置と通信手段を介して接続してある複数の端末装置とを備え、
前記中央装置は、一又は複数の端末装置を選択し、選択した一又は複数の端末装置に対して実行させるプログラムを配布し、選択された一又は複数の端末装置は、配布されたプログラムを実行するプログラム実行システムにおいて、
前記中央装置は、
実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の端末装置に対して定期的又は不定期に配布するダミープログラム配布手段と、
該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記端末装置から受信する実行完了信号受信手段と、
ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、
該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の端末装置を選択する端末装置選択手段とを備えることを特徴とするプログラム実行システム。
【請求項２】
前記端末装置選択手段は、記憶してある実行時間に応じて、前記ダミープログラムの実行時間が最短となる一又は複数の端末装置を選択するようにしてあることを特徴とする請求項１記載のプログラム実行システム。
【請求項３】
一又は複数の送信先を選択し、一又は複数の送信先に対してプログラムを配布する中央装置において、
実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の送信先に対して定期的又は不定期に配布するダミープログラム配布手段と、
該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記複数の送信先から受信する実行完了信号受信手段と、
ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、
該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の送信先を選択する送信先選択手段とを備えることを特徴とする中央装置。
【請求項４】
中央装置と、該中央装置と通信手段を介して接続してある複数の端末装置とを備え、
前記中央装置は、一又は複数の端末装置を選択し、選択した一又は複数の端末装置に対して実行させるプログラムを配布し、選択された一又は複数の端末装置は、配布されたプログラムを実行するプログラム実行方法において、
前記中央装置は、
実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の端末装置に対して定期的又は不定期に配布し、
配布した前記ダミープログラムの実行完了を示す実行完了信号を前記端末装置から受信し、
ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶し、
記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の端末装置を選択することを特徴とするプログラム実行方法。
【請求項５】
一又は複数の送信先を選択し、選択した一又は複数の送信先に対して前記プログラムを配布する中央装置で実行することが可能なコンピュータプログラムにおいて、
実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の送信先に対して定期的又は不定期に配布するダミープログラム配布手段と、
該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記送信先から受信する実行完了信号受信手段と、
ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、
該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の送信先を選択する送信先選択手段とを含むことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信手段を介して接続されている端末装置上で実行させることが可能なプログラムを、実行時間が短くなるように配布することができるプログラム実行システム、中央装置、プログラム実行方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年のコンピュータによる処理能力の急速な向上、及びインターネット等の通信環境の普及によって、一般家庭も含めて高性能のＣＰＵを搭載したコンピュータが広く配布された状況となっている。それに伴い、コンピュータに搭載したＣＰＵの演算処理能力を使い切ることができないコンピュータが急激に増加しており、このような、いわゆる休眠状態にあるコンピュータのＣＰＵを如何に活用するかが大きな課題となりつつある。
【０００３】
すなわち、演算処理対象となるプログラムには、比較的単純な演算処理を繰り返し実行する、メモリへのアクセス頻度が過大である等により演算処理負荷が膨大になっているプログラムも存在する。斯かるプログラムの実行をより短時間で完了させるためには、ＣＰＵの性能向上による演算処理時間の短縮を図る必要があり、コンピュータの大型化に伴う各種の費用増大の一因となっていた。
【０００４】
そこで、ネットワークを介して接続してある複数のコンピュータで並列処理することにより、高性能かつ高価なコンピュータを用いる場合と同様の演算処理能力を、安価なコンピュータを大量に用いて性能向上を図るグリッドコンピュータを用いることが多くなってきた。グリッドコンピュータとは、複数のコンピュータをネットワーク等の通信手段を介して接続し、仮想的な１台のコンピュータとして用いるコンピュータシステムの総称である。
【０００５】
例えば、特許文献１には、ネットワークで結合された複数の計算機で構成するクライアントサーバシステムにおいて、動的な計算資源情報、例えば計算機負荷、障害発生の有無等の情報を収集して、負荷の分散が適切になるよう制御することができる分散計算機システム管理方式が開示されている。本分散計算機システム管理方式では、クライアント計算機の負荷分散を制御することにより、クライアントサーバシステム全体のスループットの向上を図っている。
【０００６】
また、特許文献２には、グリッドの各コンピュータのＣＰＵ利用率を常時監視し、各コンピュータ間のＣＰＵ利用率のバラツキを抑制するよう制御することができるグリッドコンピューティングシステムが開示されている。本グリッドコンピューティングシステムでは、ＣＰＵ利用率の低いＣＰＵに対してワークロードを割当てるよう制御する、例えば実行対象となるプログラムを複数のコンピュータに配布することにより、グリッドコンピュータ全体のスループットの向上を図っている。
【特許文献１】特開平６−２７４４３２号公報
【特許文献２】特開２００４−０３８９７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した従来のグリッドコンピューティング環境では、ワークロードの割当て対象となるコンピュータの処理負荷を略リアルタイム的に収集して、各コンピュータの処理負荷の均等化を図っている。したがって、各コンピュータのＣＰＵ使用率を均等にすることはできるが、各コンピュータ毎に相違しているメモリ使用状況等を考慮してワークロードの割当先を選択することができず、グリッドコンピュータのスループットの向上を保証することができないという問題点があった。
【０００８】
すなわち、グリッドコンピュータでは、ネットワークを介して接続されている各コンピュータの導入環境が均一でないことを前提としている。したがって、たとえＣＰＵ使用率が低い状態であっても、メモリ搭載容量が過小であるコンピュータでは、他のワークロードが割り当てられた場合に演算処理の速度の向上は期待できない。したがって、ＣＰＵ使用率とグリッドコンピュータ全体のスループットとは必ずしも比例するものではなく、各コンピュータの使用状態を正確に把握し、適切なコンピュータを選択する必要が生じる。
【０００９】
また、一旦ネットワークに接続されたコンピュータであっても、ネットワーク構成が変更される、内蔵メモリの増設又は取り外し、ＣＰＵのアップグレード等、あるいは新規コンピュータの増設、ネットワークからの取り外し等に応じて、グリッドコンピューティング環境は、日々刻々と変動する。斯かる変動をＣＰＵ使用率に基づいて把握することは困難であり、必要な全ての情報を略リアルタイム的に収集することも、ネットワーク負荷、ＣＰＵ負荷の観点から、グリッドコンピューティング環境を構築した趣旨に反し、望ましくない。
【００１０】
さらに、１つのコンピュータ上でも、使用する時間帯によっては演算処理負荷の大小が生じうる。例えば、出勤直後と退社直前に負荷が集中する出退勤管理コンピュータ、日報作成コンピュータ等では、演算処理負荷が一定時間帯に集中することが容易に予想できる。演算処理負荷の偏在は、１日の時間帯別だけでなく、例えば１週間では何曜日に演算処理が集中するか、１ヶ月では何日に演算処理が集中するか、１年では何月に演算処理が集中するか等、それぞれ演算処理が集中する時期が変動する。斯かる変動を考慮に入れつつ適切なコンピュータを選択する必要があった。
【００１１】
本発明は斯かる事情に鑑みてなされたものであり、グリッドコンピュータを構成するコンピュータの使用状態を、ダミープログラムを実行させることによる実行時間の相違に応じて的確に把握し、適切なコンピュータをプログラム実行用のコンピュータを選択することができるプログラム実行システム、中央装置、プログラム実行方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために第１発明に係るプログラム実行システムは、中央装置と、該中央装置と通信手段を介して接続してある複数の端末装置とを備え、前記中央装置は、一又は複数の端末装置を選択し、選択した一又は複数の端末装置に対して実行させるプログラムを配布し、選択された一又は複数の端末装置は、配布されたプログラムを実行するプログラム実行システムにおいて、前記中央装置は、実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の端末装置に対して定期的又は不定期に配布するダミープログラム配布手段と、該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記端末装置から受信する実行完了信号受信手段と、ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の端末装置を選択する端末装置選択手段とを備えることを特徴とする。
【００１３】
第１発明に係るプログラム実行システムでは、中央装置は、端末装置で実行させるプログラムよりも処理負荷の小さいダミープログラムを実行させた実行時間を、複数の端末装置毎に算出して記憶しておき、記憶してある実行時間に応じて、該プログラムを実行させる一又は複数の端末装置を選択する。これにより、ダミープログラムの実行時間を中央装置に記憶しておき、中央装置が実行対象であるプログラムの配布先となる端末装置を選択する場合、端末装置でのプログラムの実行開始時刻に基づいて、中央装置に記憶してある実行時間を抽出する。そして、抽出した実行時間の大小に応じて、実行対象であるプログラムの実行完了時間を推定し、推定した実行完了時間が短くなるようにプログラムの配布先を選択することができることから、グリッドコンピュータのスループットを確実に向上させることが可能となる。
【００１４】
また、第２発明に係るプログラム実行システムは、第１発明において、前記端末装置選択手段は、記憶してある実行時間に応じて、前記ダミープログラムの実行時間が最短となる一又は複数の端末装置を選択するようにしてあることを特徴とする。
【００１５】
第２発明に係るプログラム実行システムでは、記憶してあるダミープログラムの実行時間に応じて、ダミープログラムの実行時間が最も短くなるよう、実行対象となるプログラムの配布先となる端末装置を選択する。これにより、ダミープログラムの実行時間を実行対象となるプログラムの実行完了時間であると想定することで、実際に実行しなければ正確に把握することができないプログラムの実行時間を推定することなく、容易に把握することができるダミープログラムの実行時間に応じて、グリッドコンピュータのスループットを最大とする端末装置を選択することが可能となる。
【００１６】
また、第３発明に係る中央装置は、一又は複数の送信先を選択し、一又は複数の送信先に対してプログラムを配布する中央装置において、実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の送信先に対して定期的又は不定期に配布するダミープログラム配布手段と、該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記複数の送信先から受信する実行完了信号受信手段と、ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の送信先を選択する送信先選択手段とを備えることを特徴とする。
【００１７】
第３発明に係る中央装置では、中央装置は、送信先である端末装置で実行させるプログラムよりも処理負荷の小さいダミープログラムを実行させた実行時間を、複数の端末装置毎に算出して記憶しておき、記憶してある実行時間に応じて、該プログラムを実行させる一又は複数の端末装置を送信先として選択する。これにより、ダミープログラムの実行時間を中央装置に記憶しておき、中央装置が実行対象であるプログラムの配布先となる端末装置を選択する場合、端末装置でのプログラムの実行開始時刻に基づいて、中央装置に記憶してある実行時間を抽出する。そして、抽出した実行時間の大小に応じて、実行対象であるプログラムの実行完了時間を推定し、推定した実行完了時間が短くなるようにプログラムの配布先を選択することができることから、グリッドコンピュータのスループットを確実に向上させることが可能となる。
【００１８】
第４発明に係るプログラム実行方法は、中央装置と、該中央装置と通信手段を介して接続してある複数の端末装置とを備え、前記中央装置は、一又は複数の端末装置を選択し、選択した一又は複数の端末装置に対して実行させるプログラムを配布し、選択された一又は複数の端末装置は、配布されたプログラムを実行するプログラム実行方法において、前記中央装置は、実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の端末装置に対して定期的又は不定期に配布し、配布した前記ダミープログラムの実行完了を示す実行完了信号を前記端末装置から受信し、ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶し、記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の端末装置を選択することを特徴とする。
【００１９】
第４発明に係るプログラム実行方法では、中央装置は、端末装置で実行させるプログラムよりも処理負荷の小さいダミープログラムを実行させた実行時間を、複数の端末装置毎に算出して記憶しておき、記憶してある実行時間に応じて、該プログラムを実行させる一又は複数の端末装置を選択する。これにより、ダミープログラムの実行時間を中央装置に記憶しておき、中央装置が実行対象であるプログラムの配布先となる端末装置を選択する場合、端末装置でのプログラムの実行開始時刻に基づいて、中央装置に記憶してある実行時間を抽出する。そして、抽出した実行時間の大小に応じて、実行対象であるプログラムの実行完了時間を推定し、推定した実行完了時間が短くなるようにプログラムの配布先を選択することができることから、グリッドコンピュータのスループットを確実に向上させることが可能となる。
【００２０】
第５発明に係るコンピュータプログラムは、一又は複数の送信先を選択し、選択した一又は複数の送信先に対して前記プログラムを配布する中央装置で実行することが可能なコンピュータプログラムにおいて、実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の送信先に対して定期的又は不定期に配布するダミープログラム配布手段と、該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記送信先から受信する実行完了信号受信手段と、ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の送信先を選択する送信先選択手段とを含むことを特徴とする。
【００２１】
第５発明に係るコンピュータプログラムでは、中央装置は、送信先である端末装置で実行させるプログラムよりも処理負荷の小さいダミープログラムを実行させた実行時間を、複数の端末装置毎に算出して記憶しておき、記憶してある実行時間に応じて、該プログラムを実行させる一又は複数の端末装置を送信先として選択する。これにより、ダミープログラムの実行時間を中央装置に記憶しておき、中央装置が実行対象であるプログラムの配布先となる端末装置を選択する場合、端末装置でのプログラムの実行開始時刻に基づいて、中央装置に記憶してある実行時間を抽出する。そして、抽出した実行時間の大小に応じて、実行対象であるプログラムの実行完了時間を推定し、推定した実行完了時間が短くなるようにプログラムの配布先を選択することができることから、グリッドコンピュータのスループットを確実に向上させることが可能となる。
【発明の効果】
【００２２】
第１発明、第３発明、第４発明及び第５発明によれば、ダミープログラムの実行時間を中央装置に記憶しておき、中央装置が実行対象であるプログラムの配布先となる端末装置を選択する場合、端末装置でのプログラムの実行開始時刻に基づいて、中央装置に記憶してある実行時間を抽出する。そして、抽出した実行時間の大小に応じて、実行対象であるプログラムの実行完了時間を推定し、推定した実行完了時間が短くなるようにプログラムの配布先を選択することができることから、グリッドコンピュータのスループットを確実に向上させることが可能となる。
【００２３】
第２発明によれば、ダミープログラムの実行時間を実行対象となるプログラムの実行完了時間であると想定することで、実際に実行しなければ正確に把握することができないプログラムの実行時間を推定することなく、容易に把握することができるダミープログラムの実行時間に応じて、グリッドコンピュータのスループットを最大とする端末装置を選択することが可能となる。
【発明を実施するための最良の形態】
【００２４】
（実施の形態１）
以下、本発明の実施の形態１に係るプログラム実行システムについて図面に基づいて具体的に説明する。図１は、本発明の実施の形態１に係るプログラム実行システムの構成を示すブロック図である。図１に示すように、本実施の形態１に係るプログラム実行システムは、中央装置１にＬＡＮ３を介して通信することが可能となるよう接続されている複数の端末装置２、２、・・・、及びインターネット４を介して通信することが可能となるよう接続されている複数の端末装置２、２、・・・で、１つのグリッドコンピュータを構成している。なお、中央装置１と端末装置２、２、・・・とを接続する通信手段は、これらに限定されるものではない。
【００２５】
図２は、本発明の実施の形態１に係るプログラム実行システムの中央装置１の構成を示すブロック図である。中央装置１は、少なくとも、ＣＰＵ（中央演算装置）１１、記憶手段１２、ＲＡＭ１３、ＬＡＮ３、インターネット４等の外部の通信手段と接続する通信インタフェース１４、入力手段１５、出力手段１６及びＤＶＤ、ＣＤ等の可搬型記録媒体１８を用いる補助記憶手段１７で構成される。
【００２６】
ＣＰＵ１１は、内部バス１９を介して中央装置１の上述したようなハードウェア各部と接続されており、上述したハードウェア各部を制御するとともに、記憶手段１２に記憶されている処理プログラム、例えばプログラムローダとして、プログラムをロードして実行するプログラムに従って、種々のソフトウェア的機能を実行する。
【００２７】
記憶手段１２は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成され、通信インタフェース１４を介した外部のコンピュータ、又はＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体１８から取得した、中央装置１として機能させるために必要な処理プログラムを記憶している。記憶手段１２は、処理プログラムだけではなく、ＬＡＮ３、インターネット４等のネットワークを介して接続してある端末装置２、２、・・・を識別する情報に対応付けて、ダミープログラムを実行した場合の実行時間を記憶するダミープログラム実行時間データベース１２１を記憶してある。
【００２８】
ＲＡＭ１３は、ＤＲＡＭ、フラッシュメモリ等で構成され、ソフトウェアの実行時に発生する一時的なデータを記憶する。通信インタフェース１４は内部バス１８に接続されており、ＬＡＮ３、インターネット４等と通信することができるよう接続することにより、処理に必要とされるデータを送受信する。
【００２９】
入力手段１５は、画面上に表示された単語を選択するマウス等のポインティングデバイス、又は画面上でテキストデータを打鍵により入力するキーボード等である。出力手段１６は、画像を表示出力する液晶表示装置（ＬＣＤ）、表示ディスプレイ（ＣＲＴ）等の表示装置である。
【００３０】
補助記憶手段１７は、ＣＤ、ＤＶＤ等の可搬型記録媒体１８を用い、記憶手段１２へ、ＣＰＵ１１が処理するプログラム、データ等をダウンロードする。また、ＣＰＵ１１が処理したデータをバックアップすべく書き込むことも可能である。
【００３１】
図３は、本発明の実施の形態１に係るプログラム実行システムの端末装置２の構成を示すブロック図である。端末装置２は、少なくとも、ＣＰＵ（中央演算装置）２１、記憶手段２２、ＲＡＭ２３、ＬＡＮ３、インターネット４等の外部の通信手段と接続する通信インタフェース２４、入力手段２５、出力手段２６で構成される。
【００３２】
ＣＰＵ２１は、内部バス２７を介して端末装置２の上述したようなハードウェア各部と接続されており、上述したハードウェア各部を制御するとともに、記憶手段２２に記憶されている処理プログラム、例えば中央装置１から転送されてきたプログラムを記憶し、記憶したプログラムに対するローダとして、プログラムをロードして実行するプログラムに従って、種々のソフトウェア的機能を実行する。
【００３３】
記憶手段２２は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成され、通信インタフェース２４を介した外部のコンピュータ、又はＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体から取得した、端末装置２として機能させるために必要な処理プログラムを記憶している。また、中央装置１から配布された実行対象となるプログラムを記憶し、該プログラムをＣＰＵ２１により実行させる起動プログラムも記憶してある。
【００３４】
ＲＡＭ２３は、ＤＲＡＭ、フラッシュメモリ等で構成され、ソフトウェアの実行時に発生する一時的なデータを記憶する。通信インタフェース２４は内部バス２７に接続されており、ＬＡＮ３、インターネット４等と通信することができるよう接続することにより、処理に必要とされるデータ、プログラムを送受信する。
【００３５】
入力手段２５は、画面上に表示された単語を選択するマウス等のポインティングデバイス、又は画面上でテキストデータを打鍵により入力するキーボード等である。出力手段２６は、画像を表示出力する液晶表示装置（ＬＣＤ）、表示ディスプレイ（ＣＲＴ）等の表示装置である。
【００３６】
以下、上述した構成の中央装置１を用いたプログラム実行システムの動作について説明する。図４は、本発明の実施の形態１に係るプログラム実行システムで用いる中央装置１のＣＰＵ１１の処理手順を示すフローチャートである。
【００３７】
中央装置１のＣＰＵ１１は、一定期間毎、例えば１時間毎に、ＬＡＮ３、インターネット４等の通信手段を介して接続してある各端末装置２、２、・・・の状態を検知すべく、テスト用のダミープログラムを各端末装置２、２、・・・へ配布する（ステップＳ４０１）。テスト用のダミープログラムは、記憶手段１２に記憶しておく。そして、ＣＰＵ１１は、タイマ等の計時手段を用いて、テスト用のダミープログラムを各端末装置２、２、・・・へ配布した時点からの時間を計測する。
【００３８】
テスト用のダミープログラムは、実際に端末装置２、２、・・・で実行の対象となるプログラムよりも規模の小さなプログラムであり、演算処理負荷も小さい。本実施の形態１では、３種類のダミープログラムを準備した。
【００３９】
１つは、ＣＰＵ２１の処理負荷が大きいダミープログラム（以下、ダミープログラムＡという）である。ダミープログラムＡは、例えば内部に多くのループ処理を組込み、ＣＰＵ２１に必要以上の処理負荷が生じるよう工夫したプログラムである。ダミープログラムＡを配布して各端末装置２、２、・・・での実行時間を抽出することで、ＣＰＵ使用率に余裕のある端末装置２、２、・・・を特定することが可能となる。
【００４０】
今１つは、メモリ（ＲＡＭ）２３へのアクセス頻度が高いダミープログラム（以下、ダミープログラムＢという）である。ダミープログラムＢを、十分な容量のＲＡＭ２３を搭載している端末装置２、２、・・・で実行した場合、ダミープログラムＢの実行時間に影響は出ないのに対し、不十分な容量のＲＡＭ２３しか搭載していない端末装置２、２、・・・で実行する場合は、ページング等が頻繁に生じることによりダミープログラムＢの実行時間が長くなる。これにより、端末装置２、２、・・・のどれが十分なＲＡＭ２３を搭載しているコンピュータであるか否かを判別することが可能となる。
【００４１】
今１つは、大容量のデータ、例えばイメージデータの入出力を行うダミープログラム（以下、ダミープログラムＣという）である。ダミープログラムＣを、十分な転送速度を得ることができるＬＡＮ３、インターネット４等の通信手段を介して接続してある端末装置２、２、・・・で実行した場合、ダミープログラムＣの実行時間に影響は出ないのに対し、不十分な転送速度しか得ることができないＬＡＮ３、インターネット４等の通信手段を介して接続してある端末装置２、２、・・・で実行する場合は、通信手段がボトルネックとなりダミープログラムＣの実行時間が長くなる。これにより、端末装置２、２、・・・のどれが十分な転送速度を得ることができるＬＡＮ３、インターネット４等の通信手段を介して接続してあるコンピュータであるか否かを判別することが可能となる。
【００４２】
なお、ダミープログラムは、上述した３種類に限定されるものではなく、コンピュータの実行環境を特定することが可能な演算要素が組み込まれたプログラムであり、かつ大きさが過大でないプログラムであれば何でも良い。
【００４３】
ダミープログラムを受信した端末装置２、２、・・・は、受信したダミープログラムを記憶手段２２に記憶し、ＣＰＵ２１により起動する。ダミープログラム起動のトリガは、受信完了時点からの経過時間に応じた自動起動であっても良いし、端末装置２の入力手段２５からの起動信号入力であっても良い。ＣＰＵ２１は、ダミープログラムの実行の完了を検知した時点で、通信インタフェース２４を介して、中央装置１に対してダミープログラム実行完了信号を送信する。
【００４４】
中央装置１のＣＰＵ１１は、端末装置２、２、・・・から送信されてきたダミープログラム実行完了信号を受信し（ステップＳ４０２）、ダミープログラムを配布した時点からの経過時間を、配布したダミープログラムの実行時間として算出し(ステップＳ４０３)、算出したダミープログラムの実行時間を記憶手段１２のダミープログラム実行時間データベース１２１に記憶する（ステップＳ４０４）。
【００４５】
図５は、ダミープログラム実行時間データベース１２１のデータ構成の例示図である。図５に示すように、ダミープログラム実行時間データベース１２１では、ダミープログラムの識別情報であるプログラムＩＤ、及び実行した端末装置２の識別情報である端末ＩＤとをキー情報として、端末装置２、２、・・・毎に実行時間を秒単位で記憶している。
【００４６】
ＣＰＵ１１は、記憶手段１２に準備してあるすべてのダミープログラムについて実行時間を算出したか否かを判断し（ステップＳ４０５）、ＣＰＵ１１が、実行時間を算出していないダミープログラムが存在すると判断した場合（ステップＳ４０５：ＮＯ）、ＣＰＵ１１は、実行時間を算出していないダミープログラムのうち１つを端末装置２、２、・・・へ配布し（ステップＳ４０６）、ステップＳ４０２へ戻す。
【００４７】
ＣＰＵ１１が、すべてのダミープログラムについて実行時間を算出したと判断した場合（Ｓ４０５：ＹＥＳ）、ＣＰＵ１１は、ユーザにより入力されたダミープログラムを識別する情報であるプログラムＩＤ及び実行対象となるプログラムを識別する識別情報を受け付ける（ステップＳ４０７）。
【００４８】
なお、プログラムＩＤ及び実行対象となるプログラムを識別する識別情報は、ユーザがプログラムを実行する際に端末装置２の入力手段２５を介して入力され、通信インタフェース２４を介して中央装置１へ送信される。したがって、ＣＰＵ１１は、受け付けたプログラムＩＤに基づいてダミープログラム実行時間データベース１２１を照会して、実行対象となるプログラムの実行時間を最短とすべく、ダミープログラムの実行時間が最も短い端末装置２を選択する（ステップＳ４０８）。
【００４９】
例えば、ユーザにより入力されたプログラムＩＤ「Ａ」を受け付けた場合、ＣＰＵ１１は、図５に示すダミープログラム実行時間データベース１２１を照会して、プログラムＩＤが「Ａ」であるダミープログラムの実行時間を抽出する。そして、ＣＰＵ１１は、ダミープログラムの実行時間が「３秒」と最も短い端末ＩＤ「Ｐ０１」を、実行対象となるプログラムの実行時間が最短となる端末ＩＤとして選択する。
【００５０】
プログラムの実行時間が最も短い端末装置２の選択方法は、上述した方法に限定されるものではなく、例えば、端末装置２毎に、ＣＰＵ１１が算出した実行時間の平均値を算出して記憶しておき、記憶してある平均実行時間が最も短い端末装置２を選択する方法であっても良い。この場合、ユーザにより入力されたプログラムＩＤ「Ａ」を受け付けた場合、ＣＰＵ１１は、ダミープログラム実行時間データベース１２１を照会して、プログラムＩＤが「Ａ」であるダミープログラムの実行時間の平均値を抽出して、平均値の最も短い端末ＩＤを選択して、端末ＩＤに対応した端末装置２を選択する。このようにすることで、プログラムを実行する時間帯等による生じる演算処理負荷の大小、ネットワーク負荷の大小等を均し、より客観的な数値に基づいて、グリッドコンピュータのスループットを最大とする端末装置を選択することが可能となる。
【００５１】
ＣＰＵ１１は、選択した端末装置２に対して、受け付けた識別情報に対応するプログラムを実行対象となるプログラムを送信し（ステップＳ４０９）、実行結果を端末装置２から受信する（ステップＳ４１０）。これにより、実行対象となるプログラムを最短時間で実行し、結果を収集することが可能となる。
【００５２】
なお、実行時間に基づいて選択する端末装置２は１つに限定されるものではなく、複数の端末装置２、２、・・・を選択するものであっても良い。例えば実行対象となるプログラムが複数に分割することが可能である場合、あるいは並列して実行することが可能であるプログラム構造である場合等は、ＣＰＵ１１は、分割可能な数、あるいは並列処理することが可能な数だけ実行時間が短い順に端末装置２、２、・・・を選択し、実行対象となるプログラムを選択した端末装置２、２、・・・へ配布することにより、グリッドコンピュータ全体のスループットを向上することが可能となる。
【００５３】
また、ユーザにより入力されたダミープログラムを識別する情報であるプログラムＩＤを受け付けることに限定されるものではなく、実行対象となるプログラムが、全体としてどのような特徴点を有しているか判別することができさえすれば足りる。例えば、実行対象となるプログラムのソースコードを解析しておき、実行対象となるプログラムの有する特徴点、例えばループ処理の回数が平均値よりも多い、メモリアクセス頻度が平均値よりも高い、等の特徴点に基づいてダミープログラム実行時間データベース１２１を照会するプログラムＩＤを事前に定めておくものであっても良い。あるいは、実行対象となるプログラムの実行時に、ダミープログラム実行時間データベース１２１を照会するプログラムＩＤを判断する手段を有するものであっても良い。
【００５４】
以上のように本実施の形態１によれば、実行対象となるプログラムを端末装置２で実行することなく、ダミープログラムの実行結果に基づいて選択すべき端末装置２を選択することができ、通信手段を介して接続されている端末装置２、２、・・・の状態に応じてグリッドコンピュータ全体のスループットを向上させることが可能となる。
【００５５】
（実施の形態２）
以下、本発明の実施の形態２に係るプログラム実行システムについて図面に基づいて具体的に説明する。図６は、本実施の形態２に係るプログラム実行システムのダミープログラム実行時間データベース１２１に記憶してあるデータ構成の例示図である。本実施の形態２に係るプログラム実行システムは、ダミープログラム実行時間データベース１２１に、端末装置２毎に、時間帯別、日別、曜日別、月別のダミープログラムの実行時間を記憶してある点に特徴を有する。なお、中央装置１、端末装置２、２、・・・の構成は実施の形態１と同様であることから、同一の符号を付することで詳細な説明は省略する。
【００５６】
図６に示すように、本実施の形態２では、ダミープログラム実行時間データベース１２１に、ダミープログラムの識別情報であるプログラムＩＤ、及び実行した端末装置２の識別情報である端末ＩＤをキー情報として、端末装置２、２、・・・毎に実行時間を秒単位で記憶している点では実施の形態１と相違しない。しかし、ダミープログラムを端末装置２で実行した時間帯毎に実行時間を記憶しておく実行時間帯テーブル、ダミープログラムを端末装置２で実行した日毎に実行時間を記憶しておく実行日テーブル、ダミープログラムを端末装置２で実行した曜日毎に実行時間を記憶しておく実行曜日テーブル、及びダミープログラムを端末装置２で実行した月毎に実行時間を記憶しておく実行月テーブルの４つのテーブルを、プログラムＩＤと端末ＩＤとの組み合わせ毎に、夫々備えている。図６は、プログラムＩＤが「Ａ」の場合の端末ＩＤ毎の４つのテーブル構成を示している。
【００５７】
中央装置１のＣＰＵ１１が、端末装置２からダミープログラムのダミープログラム実行完了信号を受信し、実行時間を算出した時点で、ＣＰＵ１１は、実行時間帯テーブル、実行日テーブル、実行曜日テーブル、及び実行月テーブルの４つのテーブルに対して、プログラムＩＤと端末ＩＤとの組み合わせ毎に実行時間を記憶する。
【００５８】
なお、上述した４つのテーブルは必須ではなく、少なくとも１つ備えていれば良い。また、これらのテーブルに限定されるものではなく、端末装置２、２、・・・の使用状況に応じて選択することを補助することが可能なテーブルであればどのようなテーブルであっても良い。
【００５９】
以下、上述したデータ構成を有するダミープログラム実行時間データベース１２１を用いたプログラム実行システムの動作について説明する。図７は、本発明の実施の形態２に係るプログラム実行システムで用いる中央装置１のＣＰＵ１１でのダミープログラム実行時間データベース１２１への実行時間を記憶する処理手順を示すフローチャートである。
【００６０】
中央装置１のＣＰＵ１１は、一定期間毎、例えば１時間毎に、ＬＡＮ３、インターネット４等の通信手段を介して接続してある各端末装置２、２、・・・の状態を検知すべく、テスト用のダミープログラムを各端末装置２、２、・・・へ配布する（ステップＳ７０１）。テスト用のダミープログラムは、記憶手段１２に記憶しておく。そして、ＣＰＵ１１は、タイマ等の計時手段を用いて、テスト用のダミープログラムを各端末装置２、２、・・・へ配布した時点からの時間を計測する。
【００６１】
テスト用のダミープログラムは、実施の形態１と同様、ダミープログラムＡ、ダミープログラムＢ、ダミープログラムＣの３種類を記憶手段１２に記憶しておく。もちろん、ダミープログラムは、上述した３種類に限定されるものではなく、コンピュータの実行環境を特定することが可能な演算要素が組み込まれたプログラムであり、かつ大きさが過大でないプログラムであれば何でも良い。
【００６２】
ダミープログラムを受信した端末装置２、２、・・・は、受信したダミープログラムを記憶手段２２に記憶し、ＣＰＵ２１により起動する。ＣＰＵ２１は、ダミープログラムの実行の完了を検知した時点で、通信インタフェース２４を介して、中央装置１に対してダミープログラム実行完了信号を送信する。
【００６３】
中央装置１のＣＰＵ１１は、端末装置２、２、・・・から送信されてきたダミープログラム実行完了信号を受信し（ステップＳ７０２）、ダミープログラムを配布した時点からの経過時間を、配布したダミープログラムの実行時間として算出し(ステップＳ７０３)、算出したダミープログラムの実行時間を記憶手段１２のダミープログラム実行時間データベース１２１の実行時間帯テーブル、実行日テーブル、実行曜日テーブル、及び実行月テーブルの４つのテーブルに、プログラムＩＤと端末ＩＤとの組み合わせ毎に記憶する（ステップＳ７０４）。
【００６４】
ＣＰＵ１１は、記憶手段１２に準備してあるすべてのダミープログラムについて実行時間を算出したか否かを判断し（ステップＳ７０５）、ＣＰＵ１１が、実行時間を算出していないダミープログラムが存在すると判断した場合（ステップＳ７０５：ＮＯ）、ＣＰＵ１１は、実行時間を算出していないダミープログラムのうち１つを端末装置２、２、・・・へ配布し（ステップＳ７０６）、ステップＳ７０２へ戻す。
【００６５】
ＣＰＵ１１が、すべてのダミープログラムについて実行時間を算出したと判断した場合（Ｓ７０５：ＹＥＳ）、ダミープログラム実行時間データベース１２１への実行時間の記憶が完了する。
【００６６】
図８は、本発明の実施の形態２に係るプログラム実行システムで用いる中央装置１のＣＰＵ１１の端末装置２を選択する処理手順を示すフローチャートである。ＣＰＵ１１は、ユーザにより入力されたダミープログラムを識別する情報であるプログラムＩＤ、実行対象となるプログラムを識別する識別情報に加えて、実行予定時間を受け付ける（ステップＳ８０１）。そして、ＣＰＵ１１は、受け付けたプログラムＩＤ及び実行予定時間に基づいてダミープログラム実行時間データベース１２１の照会テーブルを特定し（ステップＳ８０２）、ダミープログラムの実行時間が最も短い端末ＩＤを、実行対象となるプログラムの実行時間が最短である端末装置２として選択する（ステップＳ８０３）。
【００６７】
例えば、ユーザにより入力されたプログラムＩＤ「Ａ」、予定実行時間「１時間」を受け付けた場合、ＣＰＵ１１は、図６に示すダミープログラム実行時間データベース１２１を照会して、プログラムＩＤが「Ａ」であるダミープログラムの実行時間を、時間帯別テーブルから抽出する。そして、ＣＰＵ１１は、最近の実行時間が最も短い端末ＩＤ、又は実行時間の平均値が最も短い端末ＩＤを選択する。
【００６８】
また、実行対象となるプログラムの実行開始時刻が２３時である場合、上述した処理により端末ＩＤ「Ｐ０１」が選択されたとき、ＣＰＵ１１は、実行時間帯テーブルより、端末ＩＤ「Ｐ０１」に対応する端末装置２は電源が投入されていないことを認識することができる。したがって、電源が投入されていて、しかも次に短い実行時間が記憶されている端末ＩＤを選択する。このように、時間帯別テーブルを有することにより、単純にダミープログラムの実行時間が短い端末装置２を選択するのではなく、プログラムの実行に支障が出ない範囲内で最も短い実行時間が期待できる端末装置２を選択することが可能となる。
【００６９】
予定実行時間として、例えば「２日」を受け付けた場合、ＣＰＵ１１は、図６に示すダミープログラム実行時間データベース１２１を照会して、プログラムＩＤが「Ａ」であるダミープログラムの実行時間を、曜日別テーブル又は日別テーブルから抽出する。また、予定実行時間「３ヶ月」を受け付けた場合、ＣＰＵ１１は、図６に示すダミープログラム実行時間データベース１２１を照会して、プログラムＩＤが「Ａ」であるダミープログラムの実行時間を、月別テーブルから抽出する。そして、ＣＰＵ１１は、時間帯別テーブルから実行時間を抽出した場合の処理と同様に、プログラムの実行に支障が出ない範囲内で最も短い実行時間が期待できる端末装置２を選択する。
【００７０】
ＣＰＵ１１は、選択した端末装置２に対して、実行対象となるプログラムを送信し（ステップＳ８０４）、実行結果を端末装置２から受信する（ステップＳ８０５）。これにより、実行対象となるプログラムを最短時間で実行し、結果を収集することが可能となる。
【００７１】
なお、実行時間に基づいて選択する端末装置２は１つに限定されるものではなく、複数の端末装置２、２、・・・を選択するものであっても良い。例えば実行対象となるプログラムが複数に分割することが可能である場合、あるいは並列して実行することが可能であるプログラム構造である場合等は、ＣＰＵ１１は、分割可能な数、あるいは並列処理することが可能な数だけ実行時間が短い順に端末装置２、２、・・・を選択し、実行対象となるプログラムを選択した端末装置２、２、・・・へ配布することにより、グリッドコンピュータ全体のスループットを向上することが可能となる。
【００７２】
また、ユーザにより入力されたダミープログラムを識別する情報であるプログラムＩＤを受け付けることに限定されるものではなく、実行対象となるプログラムが、全体としてどのような特徴点を有しているか判別することができさえすれば足りる。例えば、実行対象となるプログラムのソースコードを解析しておき、実行対象となるプログラムの有する特徴点、例えばループ処理の回数が平均値よりも多い、メモリアクセス頻度が平均値よりも高い、等の特徴点に基づいてダミープログラム実行時間データベース１２１を照会するプログラムＩＤを事前に定めておくものであっても良い。あるいは、実行対象となるプログラムの実行時に、ダミープログラム実行時間データベース１２１を照会するプログラムＩＤを判断する手段を有するものであっても良い。
【００７３】
以上のように本実施の形態２によれば、例えば時間帯別、日別、曜日別、月別にダミープログラムの実行時間にバラツキが存在する場合であっても、実際にプログラムを実行する時間帯、日、曜日、月に合わせてダミープログラムの実行時間を抽出することにより、実行対象であるプログラムの実行完了時間をより正確に推定することができる。そして、推定した実行完了時間が短くなるようにプログラムの配布先を選択することにより、グリッドコンピュータのスループットを確実に向上させることが可能となる。
【００７４】
（実施の形態３）
以下、本発明の実施の形態３に係るプログラム実行システムについて図面に基づいて具体的に説明する。本実施の形態３に係るプログラム実行システムは、中央装置１、端末装置２、２、・・・の構成は実施の形態１と同様であることから、同一の符号を付することで詳細な説明は省略する。
【００７５】
図９は、本実施の形態３に係るプログラム実行システムのダミープログラム実行時間データベース１２１に記憶してある実行時間の例示図である。図９では、所定の端末ＩＤ、所定のプログラムＩＤ、所定の時間帯に対する、１日毎のダミープログラム実行時間の推移を例示している。すなわち、所定の端末装置２について、例えば０：００〜１：００のダミープログラムの実行時間が、４月２日から順次記憶されている。
【００７６】
図１０は、本発明の実施の形態３に係るプログラム実行システムで用いる中央装置１のＣＰＵ１１でのダミープログラム実行時間データベース１２１への実行時間を記憶する処理手順を示すフローチャートである。基本的な処理は実施の形態２と同様であるが、図７のステップＳ７０２以降に算出したダミープログラム実行時間の判断処理が挿入してある点に特徴を有する。
【００７７】
ステップＳ７０２にて、ＣＰＵ１１がダミープログラムの実行完了信号を端末装置２、２、・・・から受信した場合、ＣＰＵ１１は、既に記憶してある同一条件下での実行時間の平均値及び分散に基づいて、正規分布曲線を算出し（ステップＳ１００１）、その後、ＣＰＵ１１はダミープログラムの実行時間を算出する（ステップＳ１００２）。そして、ＣＰＵ１１は、新たに算出したダミープログラムの実行時間が、信頼度９５％以上の範囲内に属するか否かを判断する（ステップＳ１００３）。
【００７８】
ＣＰＵ１１が、新たに算出したダミープログラムの実行時間が、信頼度９５％以上の範囲内に属すると判断した場合（ステップＳ１００３：ＹＥＳ）、ＣＰＵ１１は、ダミープログラム実行時間データベース１２１に最後に記憶された実行時間に削除制御フラグが付与されているか否かを判断する（ステップＳ１００４）。
【００７９】
ＣＰＵ１１が、ダミープログラム実行時間データベース１２１に最後に記憶された実行時間に削除制御フラグが付与されていると判断した場合（ステップＳ１００４：ＹＥＳ）、記憶してある実行時間はイレギュラーに発生した特異点であると判断し、削除制御フラグが付与されている実行時間をダミープログラム実行時間データベース１２１から削除して（ステップＳ１００５）、ステップＳ７０４で算出した実行時間を記憶する。
【００８０】
ＣＰＵ１１が、ダミープログラム実行時間データベース１２１に最後に記憶された実行時間に削除制御フラグが付与されていると判断した場合（ステップＳ１００４：ＮＯ）、ステップＳ７０４で算出した実行時間を記憶する。
【００８１】
例えば図９で、４月２日から４日まで既に実行時間が記憶されていた場合に、４月５日の実行時間が「３１秒」と算出されたときは、新たに算出した４月５日の実行時間が信頼度９５％以上の範囲内に属すると判断する。そして、４月４日の実行時間には削除制御フラグが付与されていないことから、４月５日の実行時間を、削除制御フラグを付与することなく、ダミープログラム実行時間データベース１２１に記憶する。
【００８２】
また、仮に４月４日の実行時間には削除制御フラグが付与されていた場合、４月４日の実行時間の算出時に、端末装置２に停電等の不慮の事態が生じた等の特殊状況下での算出値であると判断し、４月４日の実行時間を削除し、４月５日の実行時間を、削除制御フラグを付与することなく、ダミープログラム実行時間データベース１２１に記憶する。
【００８３】
ＣＰＵ１１が、新たに算出したダミープログラムの実行時間が、信頼度９５％以上の範囲内に属さないと判断した場合（ステップＳ１００３：ＮＯ）、算出した実行時間に削除制御フラグを付与し（ステップＳ１００６）、ＣＰＵ１１は、ダミープログラム実行時間データベース１２１に最後に記憶された実行時間に削除制御フラグが付与されているか否かを判断する（ステップＳ１００７）。
【００８４】
ＣＰＵ１１が、ダミープログラム実行時間データベース１２１に最後に記憶された実行時間に削除制御フラグが付与されていると判断した場合（ステップＳ１００７：ＹＥＳ）、２回連続して信頼度９５％以上の範囲内に属さない実行時間が算出されたことから、コンピュータの交換、ＣＰＵのアップグレード、メモリの増設、ネットワーク環境の更新等の端末装置２のコンピュータ環境が大きく変動したものと判断することができる。したがって、ＣＰＵ１１は、ダミープログラム実行時間データベース１２１から、削除フラグが付与されていない実行時間を削除し（ステップＳ１００８）、ステップＳ７０４で算出した実行時間を削除制御フラグを付与して記憶する。
【００８５】
ＣＰＵ１１が、ダミープログラム実行時間データベース１２１に最後に記憶された実行時間に削除制御フラグが付与されていないと判断した場合（ステップＳ１００７：ＮＯ）、ステップＳ７０４で算出した実行時間を削除制御フラグを付与して記憶する。
【００８６】
例えば図９で、４月２日から５日まで既に実行時間が記憶されていた場合に、４月６日の実行時間が「１秒」と算出されたときは、新たに算出した４月６日の実行時間が信頼度９５％以上の範囲内に属さないと判断して、４月６日の実行時間に削除制御フラグを付与した上でダミープログラム実行時間データベース１２１に記憶する。
【００８７】
そして、４月７日の実行時間が「２秒」と算出されたときは、新たに算出した４月７日の実行時間が、４月２日から４月５日までの実行時間で算出した正規分布曲線に対して信頼度９５％以上の範囲内に属さないと判断して、４月７日の実行時間に削除制御フラグを付与した上でダミープログラム実行時間データベース１２１に記憶し、削除制御フラグの付与されていない４月２日から４月５日までの実行時間を削除する。これにより、直近２回分の算出した実行時間を、端末装置２の現在の状態に対応している実行時間としてダミープログラム実行時間データベース１２１に記憶することが可能となる。
【００８８】
以上のように本実施の形態３では、記憶されているダミープログラムの実行時間と、取得したダミープログラムの実行時間とが、大きく相違するような実行時間を２回連続して取得した場合、該端末装置に何らかの変動、例えば機器の故障、ＣＰＵのアップグレード、メモリの増設等があったものと判断し、それ以前に記憶されていた実行時間を削除することができる。これにより、実際の端末装置の状態に即した実行時間のみを記憶しておくことができ、実情に沿わない状態での実行時間も考慮に入れた平均値等に基づいてプログラム配布の送信先を選択することを未然に防止することができる。したがって、グリッドコンピュータのスループットを確実に向上させることが可能となる。
【００８９】
以下、付記する。
【００９０】
（付記１）
中央装置と、該中央装置と通信手段を介して接続してある複数の端末装置とを備え、
前記中央装置は、一又は複数の端末装置を選択し、選択した一又は複数の端末装置に対して実行させるプログラムを配布し、選択された一又は複数の端末装置は、配布されたプログラムを実行するプログラム実行システムにおいて、
前記中央装置は、
実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の端末装置に対して定期的又は不定期に配布するダミープログラム配布手段と、
該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記端末装置から受信する実行完了信号受信手段と、
ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、
該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の端末装置を選択する端末装置選択手段とを備えることを特徴とするプログラム実行システム。
【００９１】
（付記２）
前記端末装置選択手段は、記憶してある実行時間に応じて、前記ダミープログラムの実行時間が最短となる一又は複数の端末装置を選択するようにしてあることを特徴とする付記１記載のプログラム実行システム。
【００９２】
（付記３）
前記実行時間記憶手段は、前記ダミープログラムの実行時間の平均値を端末装置毎に算出して記憶するようにしてあり、記憶した平均値に基づいて一又は複数の端末装置を選択するようにしてあることを特徴とする付記１又は２記載のプログラム実行システム。
【００９３】
（付記４）
前記実行時間記憶手段は、前記ダミープログラムを実行させた時間帯別、日別、曜日別、月別の少なくともいずれか１つに対応付けて前記実行時間を記憶するようにしてあり、前記端末装置選択手段は、プログラムの実行開始時刻、実行開始日、実行開始曜日、実行開始月の少なくともいずれか１つに応じて前記実行時間記憶手段を照会することで一又は複数の端末装置を選択するようにしてあることを特徴とする付記１乃至３のいずれか一つに記載のプログラム実行システム。
【００９４】
（付記５）
前記実行時間記憶手段は、
取得した第１の実行時間と既に記憶されている実行時間との差が所定値よりも大きいか否か判断する第１の判断手段と、
該第１の判断手段で、前記第１の実行時間と既に記憶されている実行時間との差が所定値よりも大きいと判断した場合、次に取得した第２の実行時間と既に記憶されている実行時間との差が所定値よりも大きいか否かを判断する第２の判断手段と、
該第２の判断手段で、前記第２の実行時間と前記既に記憶されている実行時間との差が所定値よりも大きいと判断したとき、前記第１の実行時間を取得した時点以前の実行時間を削除する手段とを備えることを特徴とする付記１乃至４のいずれか一つに記載のプログラム実行システム。
【００９５】
（付記６）
一又は複数の送信先を選択し、一又は複数の送信先に対してプログラムを配布する中央装置において、
実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の送信先に対して定期的又は不定期に配布するダミープログラム配布手段と、
該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記複数の送信先から受信する実行完了信号受信手段と、
ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、
該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の送信先を選択する送信先選択手段とを備えることを特徴とする中央装置。
【００９６】
（付記７）
前記送信先選択手段は、前記実行時間に応じて、前記ダミープログラムの実行時間が最短となる一又は複数の送信先を選択するようにしてあることを特徴とする付記６記載の中央装置。
【００９７】
（付記８）
前記実行時間記憶手段は、前記ダミープログラムの実行時間の平均値を送信先毎に算出して記憶するようにしてあり、記憶した平均値に基づいて一又は複数の送信先を選択するようにしてあることを特徴とする付記６又は７記載の中央装置。
【００９８】
（付記９）
前記実行時間記憶手段は、前記ダミープログラムを実行させた時間帯別、日別、曜日別、月別の少なくともいずれか１つに対応付けて前記実行時間を記憶するようにしてあり、前記送信先選択手段は、プログラムの実行開始時刻、実行開始日、実行開始曜日、実行開始月の少なくともいずれか１つに応じて前記実行時間記憶手段を照会することで一又は複数の送信先を選択するようにしてあることを特徴とする付記６乃至８のいずれか一つに記載の中央装置。
【００９９】
（付記１０）
前記実行時間記憶手段は、
取得した第１の実行時間と既に記憶されている実行時間との差が所定値よりも大きいか否か判断する第１の判断手段と、
該第１の判断手段で、前記第１の実行時間と既に記憶されている実行時間との差が所定値よりも大きいと判断した場合、次に取得した第２の実行時間と既に記憶されている実行時間との差が所定値よりも大きいか否かを判断する第２の判断手段と、
該第２の判断手段で、前記第２の実行時間と前記既に記憶されている実行時間との差が所定値よりも大きいと判断したとき、前記第１の実行時間を取得した時点以前の実行時間を削除する手段とを備えることを特徴とする付記６乃至９のいずれか一つに記載の中央装置。
【０１００】
（付記１１）
中央装置と、該中央装置と通信手段を介して接続してある複数の端末装置とを備え、
前記中央装置は、一又は複数の端末装置を選択し、選択した一又は複数の端末装置に対して実行させるプログラムを配布し、選択された一又は複数の端末装置は、配布されたプログラムを実行するプログラム実行方法において、
前記中央装置は、
実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の端末装置に対して定期的又は不定期に配布し、
配布した前記ダミープログラムの実行完了を示す実行完了信号を前記端末装置から受信し、
ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶し、
記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の端末装置を選択することを特徴とするプログラム実行方法。
【０１０１】
（付記１２）
一又は複数の送信先を選択し、選択した一又は複数の送信先に対して前記プログラムを配布する中央装置で実行することが可能なコンピュータプログラムにおいて、
実行させるプログラムより処理負荷の小さいダミープログラムを前記複数の送信先に対して定期的又は不定期に配布するダミープログラム配布手段と、
該ダミープログラム配布手段で配布した前記ダミープログラムの実行完了を示す実行完了信号を前記送信先から受信する実行完了信号受信手段と、
ダミープログラムの配布時点から実行完了信号を受信した時点までの実行時間を算出して記憶する実行時間記憶手段と、
該実行時間記憶手段で記憶した実行時間に応じて、前記プログラムを実行させる一又は複数の送信先を選択する送信先選択手段とを含むことを特徴とするコンピュータプログラム。
【図面の簡単な説明】
【０１０２】
【図１】本発明の実施の形態１に係るプログラム実行システムの構成を示すブロック図である。
【図２】本発明の実施の形態１に係るプログラム実行システムの中央装置の構成を示すブロック図である。
【図３】本発明の実施の形態１に係るプログラム実行システムの端末装置の構成を示すブロック図である。
【図４】本発明の実施の形態１に係るプログラム実行システムで用いる中央装置のＣＰＵの処理手順を示すフローチャートである。
【図５】ダミープログラム実行時間データベースのデータ構成の例示図である。
【図６】本実施の形態２に係るプログラム実行システムのダミープログラム実行時間データベースに記憶してあるデータ構成の例示図である。
【図７】本発明の実施の形態２に係るプログラム実行システムで用いる中央装置のＣＰＵでのダミープログラム実行時間データベースへの実行時間を記憶する処理手順を示すフローチャートである。
【図８】本発明の実施の形態２に係るプログラム実行システムで用いる中央装置のＣＰＵの端末装置を選択する処理手順を示すフローチャートである。
【図９】本実施の形態３に係るプログラム実行システムのダミープログラム実行時間データベースに記憶してある実行時間の例示図である。
【図１０】本発明の実施の形態３に係るプログラム実行システムで用いる中央装置のＣＰＵでのダミープログラム実行時間データベースへの実行時間を記憶する処理手順を示すフローチャートである。
【符号の説明】
【０１０３】
１  中央装置
２  端末装置
１１、２１  ＣＰＵ
１２、２２  記憶手段
１３、２３  ＲＡＭ
１４、２４  通信インタフェース
１５、２５  入力手段
１６、２６  出力手段
１７  補助記憶手段
１２１  ダミープログラム実行時間データベース
【図１】
2005339287.tif 000003
【図２】
2005339287.tif 000004
【図３】
2005339287.tif 000005
【図４】
2005339287.tif 000006
【図５】
2005339287.tif 000007
【図６】
2005339287.tif 000008
【図７】
2005339287.tif 000009
【図８】
2005339287.tif 000010
【図９】
2005339287.tif 000011
【図１０】
2005339287.tif 000012