(57)【特許請求の範囲】
【請求項１】
対象システムに備えられた複数の計算機それぞれに設けられる同期処理装置と、前記同期処理装置を管理する時刻管理装置と、を有する時刻管理システムであって、
前記時刻管理装置は、
前記対象システムで実行される特定の処理において、処理速度の変更が指定されている箇所を特定するスケジュールデータに基づいて、前記同期処理装置それぞれに対して、処理速度の変更を指示する場合、前記同期処理装置それぞれに対して、前記時刻管理装置におけるシステム時刻と、前記スケジュールデータに含まれる処理速度の変更の開始時刻と、前記スケジュールデータに含まれる基準速度に対する変更後の速度の倍率とを含む指示データを送信し、
前記同期処理装置それぞれは、
対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合、前記時刻管理装置から送信されてきた前記指示データと、対応する前記計算機のシステム時刻とを用いて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出し、算出した前記時刻を前記計算機で実行されているプログラムに取得させる、
時刻管理システム。
【請求項２】
前記同期処理装置それぞれは、対応する前記計算機で実行されているプログラムが、時刻取得のためのシステムコールを行なった場合に、算出した前記時刻を、前記システムコールに対して返還することで、算出した時刻を、対応する前記計算機で実行されているプログラムに取得させる、
請求項１に記載の時刻管理システム。
【請求項３】
複数の前記計算機のうちの１つの計算機で実行されているプログラムが、当該計算機に設けられた前記同期処理装置から取得された前記時刻に基づいて、前記対象システムでの処理対象となる時系列データを送出するタイミングを決定し、決定したタイミングで、他の前記計算機それぞれに、前記時系列データを出力し、
他の前記計算機で実行されているプログラムそれぞれは、対応する前記計算機に設けられた前記同期処理装置から取得した時刻に基づいて、前記時系列データを処理する、
請求項１又は２に記載の時刻管理システム。
【請求項４】
複数の計算機を備える対象システムで実行される特定の処理において、処理速度の変更が指定されている箇所を特定するスケジュールデータに基づいて、対象システムに備えられた複数の計算機それぞれに設けられる同期処理装置それぞれに対して、処理速度の変更を指示する場合、前記同期処理装置それぞれに対して、システム時刻と、前記スケジュールデータに含まれる処理速度の変更の開始時刻と、前記スケジュールデータに含まれる基準速度に対する変更後の速度の倍率とを含む指示データを生成する、管理処理部と、
対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合、前記指示データを前記同期処理装置に送信し、前記指示データと、対応する前記計算機のシステム時刻とを用いて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出し、算出した前記時刻を前記計算機で実行されているプログラムに取得させる、配信処理部と、
を有する時刻管理装置。
【請求項５】
複数の計算機を備える対象システムにおける時刻を管理する時刻管理装置から、前記対象システムで実行される特定の処理において、処理速度の変更が指定されている箇所を特定するスケジュールデータに基づいて、処理速度の変更をするために、前記時刻管理装置におけるシステム時刻と、前記スケジュールデータに含まれる処理速度の変更の開始時刻と、前記スケジュールデータに含まれる基準速度に対する変更後の速度の倍率とを含む指示データを受信し、
対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合、前記時刻管理装置から送信されてきた前記指示データと、対応する前記計算機のシステム時刻とを用いて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出する、同期処理部と、
算出された前記時刻を前記計算機で実行されているプログラムに取得させる、時刻配信部と、
を有する同期処理装置。
【請求項６】
前記同期処理部は、対応する前記計算機で実行されているプログラムが、時刻取得のためのシステムコールを行なった場合に前記時刻を算出し、
前記時刻配信部は、算出された前記時刻を、前記システムコールに対して返還することで、算出された前記時刻を、対応する前記計算機で実行されているプログラムに取得させる、
請求項５に記載の同期処理装置。
【請求項７】
複数の計算機を備える対象システムを構成する計算機であって、
前記対象システムにおける時刻を管理する時刻管理装置から、前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定するスケジュールデータに基づいて、処理速度の変更をするために、前記時刻管理装置におけるシステム時刻と、前記スケジュールデータに含まれる処理速度の変更の開始時刻と、前記スケジュールデータに含まれる基準速度に対する変更後の速度の倍率とを含む指示データを受信し、
対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合、前記時刻管理装置から送信されてきた前記指示データと、対応する前記計算機のシステム時刻とを用いて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出する、同期処理部と、
算出された前記時刻を前記計算機で実行されているプログラムに取得させる、時刻配信部と、
を有する計算機。
【請求項８】
前記同期処理部は、当該計算機で実行されているプログラムが、時刻取得のためのシステムコールを行なった場合に前記時刻を算出し、
前記時刻配信部は、算出された前記時刻を、前記システムコールに対して返還することで、算出された前記時刻を、当該計算機で実行されているプログラムに取得させる、
請求項７に記載の計算機。
【請求項９】
前記同期処理部によって算出された前記時刻に基づいて、前記対象システムでの処理対象となる時系列データを送出するタイミングを決定し、決定したタイミングで、他の前記計算機それぞれに、前記時系列データを出力する、時系列データ出力部を、更に備えている、
請求項７又は８に記載の計算機。
【請求項１０】
対象システムに備えられた複数の計算機それぞれに設けられる同期処理装置と、前記同期処理装置を管理する時刻管理装置と、を用いた時刻管理方法であって、
（ａ）前記時刻管理装置によって、前記対象システムで実行される特定の処理において、処理速度の変更が指定されている箇所を特定するスケジュールデータに基づいて、前記同期処理装置それぞれに対して、処理速度の変更を指示する場合、前記同期処理装置それぞれに対して、前記時刻管理装置におけるシステム時刻と、前記スケジュールデータに含まれる処理速度の変更の開始時刻と、前記スケジュールデータに含まれる基準速度に対する変更後の速度の倍率とを含む指示データを送信する、ステップと、
（ｂ）前記同期処理装置それぞれによって、対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合、前記時刻管理装置から送信されてきた前記指示データと、対応する前記計算機のシステム時刻とを用いて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出し、算出した前記時刻を前記計算機で実行されているプログラムに取得させる、ステップと、
を有する時刻管理方法。
【請求項１１】
前記（ｂ）のステップにおいて、前記同期処理装置それぞれによって、対応する前記計算機で実行されているプログラムが、時刻取得のためのシステムコールを行なった場合に、算出した前記時刻を、前記システムコールに対して返還することで、算出した時刻を、対応する前記計算機で実行されているプログラムに取得させる、
請求項１０に記載の時刻管理方法。
【請求項１２】
複数の前記計算機のうちの１つの計算機で実行されているプログラムが、当該計算機に設けられた前記同期処理装置から取得された前記時刻に基づいて、前記対象システムでの処理対象となる時系列データを送出するタイミングを決定し、決定したタイミングで、他の前記計算機に、前記時系列データを出力した場合に、
前記（ａ）のステップにおいて、前記時刻管理装置によって、前記時系列データに対応して生成された前記スケジュールデータに基づいて、他の前記同期処理装置に対して、処理速度の変更を指示し、
その際、他の前記計算機で実行されているプログラムそれぞれは、対応する前記計算機に設けられた前記同期処理装置から取得した時刻に基づいて、前記時系列データを処理する、
請求項１０又は１１に記載の時刻管理方法。
【請求項１３】
コンピュータに、
（ａ）複数の計算機を備える対象システムで実行される特定の処理において、処理速度の変更が指定されている箇所を特定するスケジュールデータに基づいて、対象システムに備えられた複数の計算機それぞれに設けられる同期処理装置それぞれに対して、処理速度の変更を指示する場合、前記同期処理装置それぞれに対して、システム時刻と、前記スケジュールデータに含まれる処理速度の変更の開始時刻と、前記スケジュールデータに含まれる基準速度に対する変更後の速度の倍率とを含む指示データを生成する、ステップと、
（ｂ）対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合、前記指示データを前記同期処理装置に送信し、前記指示データと、対応する前記計算機のシステム時刻とを用いて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出し、算出した前記時刻を前記計算機で実行されているプログラムに取得させる、ステップと
を実行させるプログラム。
【請求項１４】
複数の計算機を備える対象システムにおける前記計算機の１つに、
（ａ）前記対象システムにおける時刻を管理する時刻管理装置から、前記対象システムで実行される特定の処理において、処理速度の変更が指定されている箇所を特定するスケジュールデータに基づいて、処理速度の変更をするために、前記時刻管理装置におけるシステム時刻と、前記スケジュールデータに含まれる処理速度の変更の開始時刻と、前記スケジュールデータに含まれる基準速度に対する変更後の速度の倍率とを含む指示データを受信し、
対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合、前記時刻管理装置から送信されてきた前記指示データと、対応する前記計算機のシステム時刻とを用いて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出する、ステップと、
（ｂ）算出された前記時刻を当該計算機で実行されている実行プログラムに取得させる、ステップと、
を実行させるプログラム。
【請求項１５】
前記（ａ）のステップにおいて、当該計算機で実行されている実行プログラムが、時刻取得のためのシステムコールを行なった場合に前記時刻を算出し、
前記（ｂ）のステップにおいて、算出された前記時刻を、前記システムコールに対して返還することで、算出された前記時刻を、当該計算機で実行されている実行プログラムに取得させる、
請求項１４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機で構成されたシステムにおける時刻を管理するための、時刻管理システム、時刻管理装置、同期処理装置、計算機、及び時刻管理方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、日本国においては、地震の情報を素早く社会に知らせるため、地震活動等総合監視システムが導入されている。地震活動等総合監視システムは、地震が発生すると、発生直後に震源に近い地震計でとらえた観測データを解析して、震源及びマグニチュードを推定し、更に、これらに基づいて、各地での震度及び主要動の到達時刻を推定する（例えば、特許文献１参照。）。【０００３】
そして、地震活動等総合監視システムは、推定した情報（震源、マグニチュード、震度及び到達時刻）を、緊急地震速報として、各種媒体を介して、広く配信する。この結果、工場、オフィス、家庭において、各人は、素早く避難行動をとれるので、地震による被害が軽減される。【０００４】
また、地震活動等総合監視システムにおいては、緊急時において正常に機能することが極めて重要であることから、運用に当たっては、実際の地震を想定したシミュレーションを定期的に実行する必要がある。具体的には、このようなシミュレーションは、実際の地震の発生によって得られたデータを用いて、地震活動等総合監視システムを稼働させることによって行なわれている。また、地震活動等総合監視システムにおいては、地震が発生してから各種警報が解除されるまでが一連のイベントとして処理されることから、シミュレーションはイベント単位で行なわれる。【０００５】
ところで、地震活動等総合監視システムにおいて、１つのイベントにかかる処理時間は、地震の規模が大きくなるほど長くなっている。例えば、東日本大震災では、システムにおける処理時間は、地震が発生してから津波警報が解除されるまでの５１時間である。従って、このような巨大地震を想定したシミュレーションを行なうためには、同様の時間が必要となる。この場合、システムの運用にかかる人的及び時間的コストは上昇してしまうことから、シミュレーションにおける処理時間を短縮化することが求められている。【０００６】
処理時間を短縮化する技術としては、例えば、特許文献１に開示された技術が挙げられる。特許文献１は、オペレーティングシステムのカーネルパラメータを変更することによって、システム時刻を加速させる、技術を開示している。特許文献１に開示された技術を、上述の地震活動等総合監視システムに適用すれば、当該システムにおいても、システム時刻が加速されるので、処理時間が短縮化されると考えられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平４−２６８９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、地震活動等総合監視システムは、複数の計算機で構成されているため、当該システムに特許文献１に開示された技術を適用するに際しては、計算機間で同期をとる必要がある。しかしながら、特許文献１に開示された技術は、複数の計算機での利用を前提としておらず、同期は困難である。【０００９】
また、特許文献１に開示された技術では、オペレーティングシステムのカーネルパラメータが変更されるため、各計算機において、オペレーティングシステム上での全ての処理が影響を受ける。更に、各計算機において、この影響を分析することは困難である。このため、地震活動等総合監視システムにおいて、正常に機能しない部分があった場合に、原因を特定することが困難となる。【００１０】
本発明の目的の一例は、上記問題を解消し、複数の計算機で構成されたシステムにおいて、計算機間を同期させながら、処理時間の短縮化を図ると共に、処理時間の短縮化による影響を抑制し得る、時刻管理システム、時刻管理装置、同期処理装置、計算機、時刻管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の一側面における時刻管理システムは、
対象システムに備えられた複数の前記計算機それぞれ毎に設けられる、同期処理装置と、
前記同期処理装置を管理する、時刻管理装置とを、
備え、
前記時刻管理装置は、
前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、前記同期処理装置に対して、処理速度の変更を指示し、
前記同期処理装置それぞれは、対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合に、前記時刻管理装置からの前記指示に基づいて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出し、算出した前記時刻を前記計算機で実行されているプログラムに取得させる、
ことを特徴とする。【００１２】
上記目的を達成するため、本発明の一側面における時刻管理装置は、
複数の計算機を備える対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、
複数の前記計算機それぞれ毎に設けられた同期処理装置に対して、処理速度の変更を指示する、管理処理部を備えている、
ことを特徴とする。【００１３】
上記目的を達成するため、本発明の一側面における同期処理装置は、
複数の計算機を備える対象システムにおける時刻を管理する装置から、前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、処理速度の変更が指示され、更に、対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合に、
前記指示に基づいて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出する、同期処理部と、
算出された前記時刻を前記計算機で実行されているプログラムに取得させる、時刻配信部と、
を備えている、ことを特徴とする。【００１４】
上記目的を達成するため、本発明の一側面における計算機は、複数の計算機を備えるシステムを構成する計算機であって、
前記システムにおける時刻を管理する装置から、前記システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、処理速度の変更が指示され、更に、当該計算機で実行されているプログラムが、時刻の取得を求めた場合に、
前記指示に基づいて、変更後の処理速度で処理が行なわれるように当該計算機で実行されているプログラムが取得すべき時刻を算出する、同期処理部と、
算出された前記時刻を当該計算機で実行されているプログラムに取得させる、時刻配信部と、
を備えている、ことを特徴とする。【００１５】
上記目的を達成するため、本発明の一側面における時刻管理方法は、
対象システムに備えられた複数の計算機それぞれ毎に設けられる、同期処理装置と、前記同期処理装置を管理する、時刻管理装置とを、用い、
（ａ）前記時刻管理装置によって、前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、前記同期処理装置に対して、処理速度の変更を指示する、ステップと、
（ｂ）前記同期処理装置それぞれによって、対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合に、前記時刻管理装置からの前記指示に基づいて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出し、算出した前記時刻を前記計算機で実行されているプログラムに取得させる、ステップと、
を有することを特徴とする。【００１６】
また、上記目的を達成するため、本発明の一側面における第１のプログラムは、
コンピュータに、
（ａ）複数の計算機を備える対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、
複数の前記計算機それぞれ毎に設けられた同期処理装置に対して、処理速度の変更を指示する、ステップを実行させる、
ことを特徴とする。
【００１７】
更に、上記目的を達成するため、本発明の一側面における第２のプログラムは、
複数の計算機を備える対象システムにおける前記計算機の１つに、
（ａ）前記対象システムにおける時刻を管理する装置から、前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、処理速度の変更が指示され、更に、当該計算機で実行されている実行プログラムが、時刻の取得を求めた場合に、
前記指示に基づいて、変更後の処理速度で処理が行なわれるように当該計算機で実行されている実行プログラムが取得すべき時刻を算出する、ステップと、
（ｂ）算出された前記時刻を当該計算機で実行されているプログラムに取得させる、ステップと、
を実行させる、
ことを特徴とする。
【発明の効果】
【００１８】
以上のように、本発明によれば、複数の計算機で構成されたシステムにおいて、計算機間を同期させながら、処理時間の短縮化を図ると共に、処理時間の短縮化による影響を抑制することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の実施の形態における時刻管理システムの概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態における時刻管理システムの具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態における時刻管理装置の動作を示すフロー図である。
【図４】図４は、本発明の実施の形態における同期処理装置の動作を示すフロー図である。
【図５】図５は、本発明の実施の形態における時刻管理システムの具体例を示すブロック図である。
【図６】図６は、本発明の実施の形態における時刻管理装置及び同期処理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００２０】
（実施の形態）
以下、本発明の実施の形態における、時刻管理システム、同期処理装置、時刻管理装置、時刻管理方法、及びプログラムについて、図１〜図６を参照しながら説明する。
【００２１】
［システム構成］
最初に、本実施の形態における時刻管理システムの概略構成について図１を用いて説明する。図１は、本発明の実施の形態における時刻管理システムの概略構成を示すブロック図である。
【００２２】
図１に示す、本実施の形態における時刻管理システム１００は、複数の計算機２００を備える対象システム３００における時刻を管理するためのシステムである。図１に示すように、時刻管理システム１００は、同期処理装置１０と、時刻管理装置２０とを備えている。また、図１において、２１０は、各計算機で実行されるプログラムである。
【００２３】
同期処理装置１０は、複数の計算機２００それぞれ毎に設けられている。時刻管理装置２０は、同期処理装置１０を管理している。また、時刻管理装置２０は、各計算機２００とネットワーク４００を介して接続されている。
【００２４】
また、時刻管理装置２０は、スケジュールデータに基づいて、同期処理装置１０に対して、処理速度の変更を指示する。スケジュールデータは、対象システム３００で実行される特定の処理において処理速度の変更が指定されている箇所を特定するデータである。
【００２５】
同期処理装置１０それぞれは、対応する計算機２００で実行されているプログラム２１０が、時刻の取得を求めた場合に、時刻管理装置２０からの指示に基づいて、変更後の処理速度で処理が行なわれるようにプログラム２１０が取得すべき時刻を算出し、算出した時刻をプログラム２１０に取得させる。
【００２６】
このように、本実施の形態では、対象システム３００を構成する各計算機２００のプログラム２１０は、時刻管理装置２０からの指示に応じて、処理速度を変えながら処理を実行することができる。従って、本実施の形態によれば、各計算機２００を同期させながら、処理時間の短縮化を図ることができる。また、各プログラム２１０の処理速度の変更は、プログラム２１０において時刻を取得することが必要な場合に、同期処理装置１０が算出した時刻を取得させることによって行なわれている。よって、各計算機２００において、オぺーレーティングシステムのカーネルパラメータを変更する必要が無く、処理時間の短縮化による、オペレーティングシステム上での処理への影響が抑制される。
【００２７】
続いて、図２を用いて、本実施の形態における時刻管理システムの具体的構成について図２を用いて説明する。図２は、本発明の実施の形態における時刻管理システムの具体的構成を示すブロック図である。
【００２８】
まず、図２の例では、時刻管理システム１００は、対象システム３００に特定の時系列データが入力された場合での対象システム３００における時刻を管理している。また、入力される時系列データとしては、例えば、対象システム３００の試験に用いられる疑似データが挙げられる。
【００２９】
更に、図２の例では、対象システム３００は、計算機２００ａ〜２００ｄを備えている。各計算機には、そのオペレーティングシステム上で動作するプログラム２１０ａ〜２１０ｄがインストールされている。なお、図２に示された計算機は４台あるが、本実施の形態において計算機の数は限定されるものではない。また、以降の説明で、特定の計算機を指定しない場合は、単に「計算機２００」と表記するものとする。同様に、特定のプログラムをしていない場合も、単に「プログラム２１０」と表記するものとする。
【００３０】
また、計算機２００ａ〜２００ｄのうちの１台である計算機２００ａにインストールされているプログラム２１０ａは、他の計算機２００ｂ〜２００ｄそれぞれに時系列データを出力する機能を備えている。プログラム２１０ａは、時系列データ出力部として機能している。
【００３１】
また、図２に示すように、本実施の形態では、時刻管理装置２０は、スケジュールデータ生成部２１と、管理処理部２２と、配信処理部２３とを備えている。
【００３２】
まず、スケジュールデータ生成部２１は、管理者が、端末装置３０を介して入力したデータに基づいて、スケジュールデータを生成する。具体的には、スケジュールデータ生成部２１は、まず、端末装置３０の画面上に、入力画面を表示させる。入力されるデータの内容としては、例えば、処理速度の変更の開始時刻と、基準速度に対する変更後の速度の倍率とが挙げられる。
【００３３】
また、本実施の形態では、管理者は、上述の時系列データに対応したデータを入力する。即ち、管理者は、時系列データの処理を速めたい部分に対応して、この部分の開始時刻と、この部分における倍率とを入力する。
【００３４】
管理者による入力が終了すると、スケジュールデータ生成部２１は、画面上に入力されたデータを取得し、取得したデータに基づいて、スケジュールデータを生成する。本実施の形態では、スケジュールデータ生成部２１は、処理速度の変更の開始時刻と、基準速度に対する変更後の速度の倍率とを含む、スケジュールデータを生成する。
【００３５】
管理処理部２２は、スケジュールデータに基づいて、指示データを生成する。指示データは、時刻管理装置２０におけるシステム時刻Ａと、スケジュールデータに含まれる開始時刻Ｂ及び倍率Ｃとを含む。
【００３６】
また、管理処理部２２は、本実施の形態では、計算機２００ａから時系列データが送信されてくる前に、配信処理部２３に指示データの送信を指示する。配信処理部２３は、指示を受けると、指示データを計算機２００ａ〜２００ｄに送信する。なお、指示データの生成及び送信は、例えば、スケジュールデータに含まれる処理速度の変更点の数だけ行なわれても良いし、スケジュールの進行に合せて複数回に分けて行なわれても良い。
【００３７】
また、図２に示すように、同期処理装置１０は、同期処理部１１と、時刻配信部１２とを備えている。但し、本実施の形態では、同期処理装置１０は、各計算機のオペレーティングシステム上で動作するプログラムで構築されている。
【００３８】
同期処理部１１は、送信されてきた指示データを受信すると、受信した指示データと、対応する計算機２００のシステム時刻Ｄとを用いて、この計算機２００のプログラム２１０が取得すべき時刻Ｅを算出する。
【００３９】
具体的には、同期処理部１１は、先ず、対応する計算機２００のシステム時刻Ｄを取得する。そして、同期処理部１１は、例えば、下記の数１又は数２に、指示データに含まれる、システム時刻Ａ、開始時刻Ｂ、及び倍率Ｃと、計算機２００のシステム時刻Ｄとを代入することによって、計算機２００で実行されているプログラム２１０が取得すべき時刻Ｅを算出する。
【００４０】
（数１）
時刻Ｅ＝（Ｄ−Ａ）×Ｃ＋Ｂ
【００４１】
（数２）
時刻Ｅ＝（Ｄ−（Ｂ−Ａ））×Ｃ＋（Ｂ−Ａ）
【００４２】
また、時刻配信部１２は、対応する計算機２００で実行されているプログラム２１０が、その計算機２００のオペレーティングシステム（ＯＳ）に対して、時刻取得のためのシステムコールを行なった場合に、算出された時刻Ｅを、システムコールに対して返還する。
【００４３】
具体的には、時刻配信部１２は、計算機２００のオペレーティングシステムが備えるオリジナルのライブラリ（例えば、Ｌｉｂｃ（Linux（登録商標） C Library）等）と置き換えが可能なライブラリ（以下「置換ライブラリ」と表記する。）を備えている。そして、時刻配信部１２は、指示データが入力される等すると、オリジナルのライブラリを置換ライブラリに置き換える。
【００４４】
置換ライブラリは、システムコールが行なわれると、これをフックして、算出された時刻Ｅを返還する機能を有している。従って、プログラム２１０が、入力された時系列データに応じて処理を実行し、その際、オペレーティングシステムに対して、時刻取得のためのシステムコールを行なうと、置換ライブラリによって、時刻Ｅが返還される。この結果、プログラム２１０は、設定された倍率Ｃで、時系列データを処理することになる。
【００４５】
また、プログラム２１０ａ〜２１０ｄのうち、プログラム２１０ａは、上述したように、時系列データ出力部として機能するが、同期処理部１１で算出された時刻Ｅに基づいて、時系列データを送出するタイミングを決定する。また、プログラム２１０ａは、決定したタイミングで、時系列データを出力する。
【００４６】
［システム動作］
次に、本発明の実施の形態における時刻管理システムの動作について図３及び図４を用いて説明する。また、本実施の形態では、時刻管理システム１００を動作させることによって、時刻管理方法が実施される。よって、本実施の形態における時刻管理方法の説明は、以下の時刻管理システム１００の動作説明に代える。
【００４７】
最初に、図３を用いて、時刻管理装置２０における動作について説明する。図３は、本発明の実施の形態における時刻管理装置の動作を示すフロー図である。以下の説明においては、適宜図１及び図２を参酌する。
【００４８】
図３に示すように、時刻管理装置２０では、最初に、スケジュールデータ生成部２１が、管理者によって端末装置３０を介して入力されたデータに基づいて、スケジュールデータを生成する（ステップＡ１）。
【００４９】
次に、管理処理部２２は、ステップＡ１で生成されたスケジュールデータに基づいて、処理速度の変更点毎に、システム時刻Ａと、スケジュールデータに含まれる開始時刻Ｂ及び倍率Ｃとを含む、指示データを生成する（ステップＡ２）。
【００５０】
次に、管理処理部２２は、配信処理部２３に指示データの送信を指示する。これにより、配信処理部２３は、指示データを計算機２００ａ〜２００ｄに送信する（ステップＡ３）。これにより、各計算機において、同期処理装置１０は、送信されてきた指示データを受信する。
【００５１】
ステップＡ３の実行により、時刻管理装置２０での処理は終了する。なお、ステップＡ１〜Ａ３は、スケジュールデータが生成される度に行なわれる。
【００５２】
続いて、図４を用いて、同期処理装置１０における動作について説明する。図４は、本発明の実施の形態における同期処理装置の動作を示すフロー図である。以下の説明においては、適宜図１及び図２を参酌する。また、以下の説明では、前提として、同期処理装置は、時刻管理装置２０から送信されてきた指示データを受信しているとする。
【００５３】
図４に示すように、同期処理装置１０では、最初に、同期処理部１１は、対応する計算機２００で実行されているプログラム２１０が、時刻取得の要求を行なったかどうか、具体的には、オペレーティングシステムに対して時刻取得のためのシステムコールを行なったかどうかを判定する（ステップＢ１）。
【００５４】
ステップＢ１の判定の結果、時刻取得の要求が行なわれていない場合は、同期処理部１１は、待機状態となり、一定時間の経過後に、再度ステップＢ１を実行する。
【００５５】
一方、ステップＢ１の判定の結果、時刻取得の要求が行なわれている場合は、同期処理部１１は、時刻管理装置２０から送信されてきた指示データと、対応する計算機２００のシステム時刻Ｄとを用いて、この計算機２００で実行されているプログラム２１０が取得すべき時刻Ｅを算出する（ステップＢ２）。また、同期処理部１１は、算出した時刻Ｅを時刻配信部１２に渡す。
【００５６】
次に、時刻配信部１２は、ステップＢ２で算出された時刻Ｅを、システムコールに対して返還する（ステップＢ３）。ステップＢ３の実行後は、再度、ステップＢ１が実行される。
【００５７】
また、ステップＢ３が実行されると、プログラム２１０は、ステップＢ２で算出された時刻Ｅに基づいて、処理を実行する。つまり、プログラム２１０ａは、設定された倍率Ｃで、時系列データを出力する。また、プログラム２１０ｂ〜２１０ｄは、設定された倍率Ｃで、時系列データを処理する。
【００５８】
［具体例］
ここで、図５を用いて、本実施の形態における時刻管理システムの具体例について説明する。図５は、本発明の実施の形態における時刻管理システムの具体例を示すブロック図である。
【００５９】
図５の例では、対象システムは、地震活動等総合監視システム３０１である。この場合、時刻管理システム１００は、地震活動等総合監視システム３０１において、実際の地震を想定したシミュレーションが実施される際に、システムにおける時刻を管理する。
【００６０】
また、図５の例では、地震活動等総合監視システム３０１は、計算機として、疑似データ入力装置２０１、地震処理装置２０２、津波処理装置２０３、及び震度処理装置２０４を備えているとする。なお、本実施の形態において、地震活動等総合監視システム３０１が備える計算機の数及び種類は、図５の例に限定されるものではない。
【００６１】
図５の例では、時系列データは、疑似データ入力装置２０１によって、地震活動等総合監視システム３０１に入力される。この時系列データは、実際の地震の発生時に、地震活動等総合監視システム３０１に入力されたデータと同様のデータである。
【００６２】
具体的には、時系列データとしては、地震計のデータ（地震処理装置２０２で使用）、震度データ（震度処理装置２０４で使用）、潮位データ（津波処理装置２０３で使用）、各種の地殻データ(歪み計のデータ、傾斜計のデータ、ＧＰＳデータ、ＡＭＥＤＡＳデータ、空振計のデータ)等が挙げられる。また、時系列データは、これらのうちの少なくとも１つを含んでいても良いし、２つ以上を含んでいても良い。
【００６３】
従って、時系列データが入力されると、地震処理装置２０２は、実際の地震発生時と同様に、震央距離及び震源の深さ等を算出し、算出結果を出力する。津波処理装置２０３は、実際の地震発生時と同様に、津波の規模及び津波の到達時刻等を算出し、算出結果を出力する。更に、震度処理装置２０４は、実際の地震発生時と同様に、各地の震度を集計する。
【００６４】
そして、各装置が処理を実行する際に、時刻管理システム１００は、スケジュールデータに沿って、各装置の処理速度を変更する。このため、例えば、時系列データが、大規模な地震発生時のデータであり、地震発生から、地震による津波の監視を終了するまでが長時間にわたる場合において、シミュレーションにかかる時間を短縮化することが可能となる。
【００６５】
［実施の形態の効果］
以上のように本実施の形態によれば、複数の計算機で構成されたシステムにおいて、計算機間を同期させながら、処理時間の短縮化を図ることが可能となる。また、各計算機の処理速度の変更は、例えば、各計算機のオペレーティングシステムが備えるライブラリを、別のライブラリに置き換えて、このライブラリでシステムコールをフックすることによって行なわれる。このため、本実施の形態によれば、処理時間の短縮化による影響が抑制される。
【００６６】
［プログラム］
本発明の実施の形態における第１のプログラムは、コンピュータに、図３に示すステップＡ１〜Ａ３を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における時刻管理装置２０を実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、スケジュールデータ生成部２１、管理処理部２２、及び配信処理部２３として機能し、処理を行なう。
【００６７】
また、本実施の形態における第１のプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、スケジュールデータ生成部２１、管理処理部２２、及び配信処理部２３のいずれかとして機能しても良い。
【００６８】
また、本発明の実施の形態における第２のプログラムは、コンピュータに、図４に示すステップＢ１〜Ｂ３を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における同期処理装置１０を実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、同期処理部１１及び時刻配信部１２として機能し、処理を行なう。
【００６９】
また、本実施の形態における第２のプログラムも、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、同期処理部１１及び時刻配信部１２のいずれかとして機能しても良い。
【００７０】
ここで、本実施の形態におけるプログラムを実行することによって、時刻管理装置２０又は同期処理装置１０を実現するコンピュータについて図６を用いて説明する。図６は、本発明の実施の形態における時刻管理装置及び同期処理装置を実現するコンピュータの一例を示すブロック図である。
【００７１】
図６に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００７２】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００７３】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００７４】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００７５】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記録デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００７６】
なお、本実施の形態における同期処理装置１０及び時刻管理装置２０は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、同期処理装置１０及び時刻管理装置２０は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００７７】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１９）によって表現することができるが、以下の記載に限定されるものではない。
【００７８】
（付記１）
対象システムに備えられた複数の前記計算機それぞれ毎に設けられる、同期処理装置と、
前記同期処理装置を管理する、時刻管理装置とを、
備え、
前記時刻管理装置は、
前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、前記同期処理装置に対して、処理速度の変更を指示し、
前記同期処理装置それぞれは、対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合に、前記時刻管理装置からの前記指示に基づいて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出し、算出した前記時刻を前記計算機で実行されているプログラムに取得させる、
ことを特徴とする時刻管理システム。
【００７９】
（付記２）
前記スケジュールデータが、処理速度の変更の開始時刻と、基準速度に対する変更後の速度の倍率とを含み、
前記時刻管理装置が、前記処理速度の変更の指示に際し、前記同期処理装置それぞれに対して、前記時刻管理装置におけるシステム時刻と、前記開始時刻と、前記倍率とを含む指示データを送信し、
前記同期処理装置それぞれが、送信されてきた前記指示データと、対応する前記計算機のシステム時刻とを用いて、前記計算機が取得すべき時刻を算出する、
付記１に記載の時刻管理システム。
【００８０】
（付記３）
前記同期処理装置それぞれは、対応する前記計算機で実行されているプログラムが、時刻取得のためのシステムコールを行なった場合に、算出した前記時刻を、前記システムコールに対して返還することで、算出した時刻を、対応する前記計算機で実行されているプログラムに取得させる、
付記１または２に記載の時刻管理システム。
【００８１】
（付記４）
複数の前記計算機のうちの１つの計算機で実行されているプログラムが、当該計算機に設けられた前記同期処理装置から取得された前記時刻に基づいて、前記対象システムでの処理対象となる時系列データを送出するタイミングを決定し、決定したタイミングで、他の前記計算機それぞれに、前記時系列データを出力し、
他の前記計算機で実行されているプログラムそれぞれは、対応する前記計算機に設けられた前記同期処理装置から取得した時刻に基づいて、前記時系列データを処理する、
付記１〜３のいずれかに記載の時刻管理システム。
【００８２】
（付記５）
複数の計算機を備える対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、
複数の前記計算機それぞれ毎に設けられた同期処理装置に対して、処理速度の変更を指示する、管理処理部を備えている、
ことを特徴とする時刻管理装置。
【００８３】
（付記６）
前記スケジュールデータが、処理速度の変更の開始時刻と、基準速度に対する変更後の速度の倍率とを含み、
前記管理処理部が、前記処理速度の変更の指示に際し、前記同期処理装置それぞれに対して、前記時刻管理装置におけるシステム時刻と、前記開始時刻と、前記倍率とを含む指示データを生成し、
当該時刻管理装置が、更に、前記指示データを、前記同期処理装置に送信する、配信処理部を備えている、
付記５に記載の時刻管理装置。
【００８４】
（付記７）
複数の計算機を備える対象システムにおける時刻を管理する装置から、前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、処理速度の変更が指示され、更に、対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合に、
前記指示に基づいて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出する、同期処理部と、
算出された前記時刻を前記計算機で実行されているプログラムに取得させる、時刻配信部と、
を備えている、ことを特徴とする同期処理装置。
【００８５】
（付記８）
対応する前記計算機で実行されているプログラムが、時刻取得のためのシステムコールを行なった場合に、前記同期処理部が、前記時刻を算出し、
前記時刻配信部が、算出された前記時刻を、前記システムコールに対して返還することで、算出された前記時刻を、対応する前記計算機で実行されているプログラムに取得させる、
付記７に記載の同期処理装置。
【００８６】
（付記９）
複数の計算機を備えるシステムを構成する計算機であって、
前記システムにおける時刻を管理する装置から、前記システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、処理速度の変更が指示され、更に、当該計算機で実行されているプログラムが、時刻の取得を求めた場合に、
前記指示に基づいて、変更後の処理速度で処理が行なわれるように当該計算機で実行されているプログラムが取得すべき時刻を算出する、同期処理部と、
算出された前記時刻を当該計算機で実行されているプログラムに取得させる、時刻配信部と、
を備えている、ことを特徴とする計算機。
【００８７】
（付記１０）
当該計算機で実行されているプログラムが、時刻取得のためのシステムコールを行なった場合に、前記同期処理部が、前記時刻を算出し、
前記時刻配信部が、算出された前記時刻を、前記システムコールに対して返還することで、算出された前記時刻を、当該計算機で実行されているプログラムに取得させる、
付記９に記載の計算機。
【００８８】
（付記１１）
前記同期処理部によって算出された前記時刻に基づいて、前記システムでの処理対象となる時系列データを送出するタイミングを決定し、決定したタイミングで、他の前記計算機それぞれに、前記時系列データを出力する、時系列データ出力部を、更に備えている、
付記９または１０に記載の計算機。
【００８９】
（付記１２）
対象システムに備えられた複数の前記計算機それぞれ毎に設けられる、同期処理装置と、前記同期処理装置を管理する、時刻管理装置とを、用い、
（ａ）前記時刻管理装置によって、前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、前記同期処理装置に対して、処理速度の変更を指示する、ステップと、
（ｂ）前記同期処理装置それぞれによって、対応する前記計算機で実行されているプログラムが、時刻の取得を求めた場合に、前記時刻管理装置からの前記指示に基づいて、変更後の処理速度で処理が行なわれるように前記計算機で実行されているプログラムが取得すべき時刻を算出し、算出した前記時刻を前記計算機で実行されているプログラムに取得させる、ステップと、
を有することを特徴とする時刻管理方法。
【００９０】
（付記１３）
前記スケジュールデータが、処理速度の変更の開始時刻と、基準速度に対する変更後の速度の倍率とを含み、
前記（ａ）のステップにおいて、前記時刻管理装置によって、前記処理速度の変更の指示に際し、前記同期処理装置それぞれに対して、前記時刻管理装置におけるシステム時刻と、前記開始時刻と、前記倍率とを含む指示データを送信し、
前記（ｂ）のステップにおいて、前記同期処理装置それぞれによって、送信されてきた前記指示データと、対応する前記計算機のシステム時刻とを用いて、前記計算機が取得すべき時刻を算出する、
付記１２に記載の時刻管理方法。
【００９１】
（付記１４）
前記（ｂ）のステップにおいて、前記同期処理装置それぞれによって、対応する前記計算機で実行されているプログラムが、時刻取得のためのシステムコールを行なった場合に、算出した前記時刻を、前記システムコールに対して返還することで、算出した時刻を、対応する前記計算機で実行されているプログラムに取得させる、
付記１２または１３に記載の時刻管理方法。
【００９２】
（付記１５）
複数の前記計算機のうちの１つの計算機で実行されているプログラムが、当該計算機に設けられた前記同期処理装置から取得された前記時刻に基づいて、前記対象システムでの処理対象となる時系列データを送出するタイミングを決定し、決定したタイミングで、他の前記計算機に、前記時系列データを出力した場合に、
前記（ａ）のステップにおいて、前記時刻管理装置によって、前記時系列データに対応して生成された前記スケジュールデータに基づいて、他の前記同期処理装置に対して、処理速度の変更を指示し、
その際、他の前記計算機で実行されているプログラムそれぞれは、対応する前記計算機に設けられた前記同期処理装置から取得した時刻に基づいて、前記時系列データを処理する、
付記１２〜１４のいずれかに記載の時刻管理方法。
【００９３】
（付記１６）
コンピュータに、
（ａ）複数の計算機を備える対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、
複数の前記計算機それぞれ毎に設けられた同期処理装置に対して、処理速度の変更を指示する、ステップを実行させるプログラム。
【００９４】
（付記１７）
前記スケジュールデータが、処理速度の変更の開始時刻と、基準速度に対する変更後の速度の倍率とを含み、
前記（ａ）のステップにおいて、前記処理速度の変更の指示に際し、前記同期処理装置それぞれに対して、前記時刻管理装置におけるシステム時刻と、前記開始時刻と、前記倍率とを含む指示データを生成し、
前記コンピュータに、更に、
（ｂ）前記指示データを、前記同期処理装置に送信する、ステップを実行させる、
付記１６に記載のプログラム。
【００９５】
（付記１８）
複数の計算機を備える対象システムにおける前記計算機の１つに、
（ａ）前記対象システムにおける時刻を管理する装置から、前記対象システムで実行される特定の処理において処理速度の変更が指定されている箇所を特定する、スケジュールデータに基づいて、処理速度の変更が指示され、更に、当該計算機で実行されている実行プログラムが、時刻の取得を求めた場合に、
前記指示に基づいて、変更後の処理速度で処理が行なわれるように当該計算機で実行されているプログラムが取得すべき時刻を算出する、ステップと、
（ｂ）算出された前記時刻を当該計算機で実行されている実行プログラムに取得させる、ステップと、
を実行させるプログラム。
【００９６】
（付記１９）
前記（ａ）のステップにおいて、当該計算機で実行されている実行プログラムが、時刻取得のためのシステムコールを行なった場合に、前記時刻を算出し、
前記（ｂ）のステップにおいて、算出された前記時刻を、前記システムコールに対して返還することで、算出された前記時刻を、当該計算機で実行されている実行プログラムに取得させる、
付記１８に記載のプログラム。
【００９７】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００９８】
この出願は、２０１６年９月１６日に出願された日本出願特願２０１６−１８２１９２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００９９】
以上のように、本発明によれば、複数の計算機で構成されたシステムにおいて、計算機間を同期させながら、処理時間の短縮化を図ると共に、処理時間の短縮化による影響を抑制することができる。本発明は、特に、複数の計算機で構成されたシステムを試験的に動作させる場合に有用である。
【符号の説明】
【０１００】
１０  同期処理装置
１１  同期処理部
１２  時刻配信部
２０  時刻管理装置
２１  スケジュールデータ生成部
２２  管理処理部
２３  配信処理部
３０  端末装置
１００  時刻管理システム
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
２００、２００ａ〜２００ｄ  計算機
２０１  疑似データ入力装置
２０２  地震処理装置
２０３  津波処理装置
２０４  震度処理装置
２１０、２１０ａ〜２１０ｄ  プログラム
３００  対象システム
３０１  地震活動等総合監視システム
４００  ネットワーク
【図１】
0006750682.tif 000002
【図２】
0006750682.tif 000003
【図３】
0006750682.tif 000004
【図４】
0006750682.tif 000005
【図５】
0006750682.tif 000006
【図６】
0006750682.tif 000007