(57)【要約】【課題】複数の装置を具備する情報処理装置において、ログ取得時刻の同期のためのより高精度な時刻補正を行うことを目的とする。【解決手段】自装置の時刻に同期する１つ以上の第１の装置と、自装置の時刻に同期し、第１の装置を制御する第２の装置とを具備する情報処理装置は、各第１の装置の時刻を第２の装置の時刻または基準時刻に同期させる同期時点の間において、第１の装置の時刻および第２の装置の時刻の少なくとも一方の基準時刻に対する誤差の変化に対応する関数の係数を算出する時刻誤差算出部と、その係数に基づいて、第２の装置が収集するログの時刻情報を補正する時刻情報修正部とを具備する。【選択図】図５
2018124241.tif 000002
【特許請求の範囲】
【請求項１】
自装置の時刻に同期して動作する１つ以上の第１の装置と、自装置の時刻に同期して動作するとともに前記各第１の装置を制御する第２の装置とを具備する情報処理装置において、
前記各第１の装置の時刻を前記第２の装置の時刻または基準時刻に同期させる同期時点の間において、
前記第１の装置の時刻および第２の装置の時刻の少なくとも一方の前記基準時刻に対する誤差の変化に対応する、時刻補正のための係数を算出する時刻誤差算出部と、
前記係数に基づいて、前記第２の装置が収集するログの時刻情報を補正する時刻情報修正部と、
を具備する情報処理装置。
【請求項２】
前記時刻情報修正部は、エラ−発生時点での第１の装置の時刻誤差をエラー発生時点での第２の装置の時刻または基準時刻に補正するシフト補正処理を行う、
請求項１記載の情報処理装置。
【請求項３】
前記時刻情報修正部は、前記エラー発生時点から離れた時刻における時刻誤差を、前記時刻補正のための係数に基づいて第２の装置の時刻または基準時刻に補正する予測補正処理を更に実行する、請求項２に記載の情報処理装置。
【請求項４】
前記時刻誤差算出部は、前記同期の実行前に前記第２の装置から、ハード信号線を介して前記各第１の装置にイベントの発生の通知を行い、前記各第１の装置で計時した前記イベントの発生時刻と前記第２の装置で計時した前記イベントの発生時刻との各差時刻を所定の周期で除算することにより、前記各時刻補正のための係数を算出する、請求項１に記載の情報処理装置。
【請求項５】
前記時刻誤差算出部は、前記第２の装置内に、
イベントを発生し、前記イベントの発生を前記ハード信号線を介して前記各第１の装置に通知するイベント発生部と、
前記イベントの発生時刻を記録するイベント時刻記録処理部と、
前記第２の装置が記録したイベントの発生時刻と、前記第１の装置でそれぞれ計時されたイベントの発生時刻とを格納する時刻情報格納部と
前記時刻情報に基づいて、前記時刻を補正するための係数を計算する計算部と、
を有する請求項１に記載の情報処理装置。
【請求項６】
自装置の時刻に同期してログの収集を行う１つ以上の第１の装置の時刻を自装置の時刻に同期して前記各第１の装置を制御する第２の装置の時刻または基準時刻に同期させる同期時点の間において、
前記第１の装置の時刻および第２の装置の時刻の少なくとも一方の前記基準時刻に対する誤差の変化に対応する、時刻補正のための係数を算出する時刻誤差算出ステップと、
前記時刻補正のための係数に基づいて、前記第２の装置が収集するログの時刻情報を同期するように補正する時刻情報修正ステップと、
を具備する情報処理方法。
【請求項７】
自装置の時刻に同期してログの収集を行う１つ以上の第１の装置の時刻を自装置の時刻に同期して前記各第１の装置を制御する第２の装置の時刻または基準時刻に同期させる同期時点の間において、
前記第２の装置を制御するコンピュータに、
前記第１の装置の時刻および第２の装置の時刻の少なくとも一方の前記基準時刻に対する誤差の変化に対応する、時刻補正のための係数を算出する時刻誤差算出ステップと、
前記時刻補正のための係数に基づいて、前記第２の装置が収集するログの時刻情報を同期するように補正する時刻情報修正ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
それぞれ個別にファームウェア又はパーティションを有する複数枚のシステムボードのような複数のサーバシステムを監視、制御する場合、制御用のシステムをおき、その制御用のシステムによる起動、シャットダウン、エラーの監視やログの収集が行われる。
【０００３】
各サーバシステムの起動、シャットダウン時や、エラー検出時には、各サーバシステムのログ出力部が検出エラーや処理動作のログをダンプし、制御用のシステムが、例えばＬＡＮ（ローカルエリアネットワーク）を介して各サーバシステムのログを収集する。このようなログのダンプにおいて、各サーバシステム及び制御用のシステムは、各自が内部に有するリアルタイムクロックに同期して動作する時計に基づいて、各ログの時刻情報を計時している。従って、各サーバシステム及び制御用のシステムが計時する時刻の同期が取れていないと、収集されたログにおいて時刻の逆転等が発生しログの整合性が保証できない場合が発生し得るため、各システム間で時刻の同期を正確に取ることが課題となる。
【０００４】
従来、端末群内の端末間での時刻同期方法として、次のような技術が知られている（例えば特許文献１）。端末の１つからサーバへ送られる複数のデータに付された、端末の１つからの送信時刻の差と、サーバで受信された端末の１つからの複数のデータの受信時刻の差の間の差分によって、端末群内の各端末の間の時刻のずれが検出され、各端末間の時刻が補正される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２６２２９２号公報
【発明の概要】
【０００６】
しかし、上述の従来技術は、ＬＡＮやインターネットなどのネットワークで接続された端末同士の時刻同期を取る技術であるため、同期できる時刻の単位は秒単位程度である。一方、前述した各サーバシステム及び制御用のシステム間で同期が必要となる時刻の単位はミリ秒のオーダであるため、このようなシステムに上記従来技術を適用するのは難しいという問題があった。
【発明が解決しようとする課題】
【０００７】
そこで、本発明の１つの側面では、複数の装置を具備する情報処理装置において、ログ取得時刻の同期のためのより高精度な時刻補正を行うことを目的とする。
【課題を解決するための手段】
【０００８】
態様の一例では、自装置の時刻に同期して動作する１つ以上の第１の装置と、自装置の時刻に同期して動作するとともに前記各第１の装置を制御する第２の装置とを具備する情報処理装置において、前記各第１の装置の時刻を前記第２の装置の時刻または基準時刻に同期させる同期時点の間において、前記第１の装置の時刻および第２の装置の時刻の少なくとも一方の前記基準時刻に対する誤差の変化に対応する、時刻補正のための係数を算出する時刻誤差算出部と、前記係数に基づいて、前記第２の装置が収集するログの時刻情報を補正する時刻情報修正部と、を具備する。
【発明の効果】
【０００９】
複数の装置を具備する情報処理装置において、ログ取得時刻の同期のためのより高精度な時刻補正を行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に関連する情報処理装置の基本構成例を示すブロック図である。
【図２】１つのＢＭＣ内のＢＭＣ処理ログ記録部に記録されるログの例を示す図である。
【図３】本実施形態において時刻誤差算出部の動作を実現するための情報処理装置の構成例を示す図である。
【図４】図３の情報処理装置の実施形態における時刻誤差算出処理の動作説明図である。
【図５】時刻誤差係数の計算動作の説明図である。
【図６】本実施形態において時刻情報修正部の動作を実現するための情報処理装置の構成例を示す図である。
【図７】図６の情報処理装置の実施形態における時刻情報修正処理の動作説明図である。
【図８】補正前の基準時刻と誤差、及び基準時刻とログ記録時刻との関係図である。
【図９】シフト補正後の基準時刻と誤差、及び基準時刻とログ記録時刻との関係図である。
【図１０】予測補正後の基準時刻と誤差、及び基準時刻とログ記録時刻との関係図である。
【図１１】動作例１を示す図である。
【図１２】動作例２を示す図である。
【図１３】動作例２に対応する時刻補正前のログ時系列の例を示す図である。
【図１４】動作例２に対応する時刻補正後のログ時系列の例を示す図である。
【図１５】図３の構成例により実施される図４で示される時刻誤差算出処理が、ソフトウェア処理として実行される場合の処理例を示すフローチャートである。
【図１６】図６の構成例により実施される図７で示される時刻情報修正処理が、ソフトウェア処理として実行される場合の処理例を示すフローチャートである。
【図１７】時刻情報修正部の動作を実現するための情報処理装置の他の実施形態の構成例を示す図である。
【図１８】図１７の情報処理装置の他の実施形態における時刻情報修正処理の動作説明図である。
【図１９】図１又は図１７の情報処理装置（コンピュータ）のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。まず、通常考えられる時刻同期手法について説明する。図１は、本実施形態に関連する情報処理装置１００の基本構成例を示す図である。
【００１２】
図１の情報処理装置１００は、それぞれ回路基板に演算処理部(ＣＰＵ)と記憶部(メモリ)などを搭載し、各自の記憶部にファームウェアを持つ、例えば＃０から＃３の４枚（複数枚）のシステムボード（以下「ＳＢ」と記する）１０２を有する。また、情報処理装置１００は、これらのＳＢ１０２を監視、制御する制御ボード（Ｍａｎａｇｅｍｅｎｔ  Ｂｏａｒｄｄ。以下「ＭＭＢ」と記する）１０１を有する。
【００１３】
ＳＢ１０２は、Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ（以後、「ＢＭＣ」と記する）１２０と、通信制御部１３０を搭載する。ＢＭＣ１２０は、それが搭載されるＳＢ１０２の起動・シャットダウン制御、エラー信号の監視などを実行する。ＢＭＣは、ＢＭＣチップで提供され、ＢＭＣファームウェアで機能が実行される。
【００１４】
ＢＭＣ１２０は、ＢＭＣ内部ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１４０、エラー通知部１４１、ＢＭＣ処理ログ出力部１４２、ＢＭＣ処理ログ記録部１４３、及びＢＭＣ処理ログ連絡部１４４を有する。ＢＭＣ１２０は、ＳＢ１０２においてエラーを検出した場合、エラー通知部１４１を介して、エラー通知用の信号線によって、ＭＭＢ１０１と他のＳＢ１０２内のＢＭＣ１２０にエラーを通知する。ＢＭＣ１２０において、ＢＭＣ処理ログ出力部１４２は、エラー通知部１４１でのエラー通知を含むＳＢ１０２内のログを収集し、そのログをＢＭＣ処理ログ記録部１４３に記録する。このとき、ＢＭＣ処理ログ出力部１４２は、ＢＭＣ内部ＲＴＣ１４０が生成するクロックに同期した時刻を計時して上記ログとして記録する。ＢＭＣ処理ログ連絡部１４４は、通信制御部１３０を介して、ＭＭＢ１０１に、ＢＭＣ処理ログ記録部１４３に記録されたログを転送する。パーティションをとる場合では、ひとつのシステム内に複数のＢＭＣ１２０を保有してよい。
【００１５】
ＭＭＢ１０１は、パーティション構成の設定のほか、ＢＭＣ１２０と同様に起動・シャットダウン制御や、エラーの監視やログ収集などを実行する。ＭＭＢ１０１は、ＭＭＢ内部ＲＴＣ１１０、通信制御部１１１、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）時刻同期実行部１１２、ログ収集部１１３、ＭＭＢ処理ログ出力部１１４、エラー通知部１１５を有する。ＭＭＢ１０１は、自装置内でエラーを検出した場合、エラー通知部１１５を介して、エラー通知用の信号線によって、他のＳＢ１０２内のＢＭＣ１２０にエラーを通知する。ＭＭＢ処理ログ出力部１１４は、エラー通知部１１５でのエラー通知を含むＭＭＢ１０１内のログを収集し、そのログをログ収集部１１３に出力する。このとき、ＭＭＢ処理ログ出力部１１４は、ＭＭＢ内部ＲＴＣ１１０が生成するクロックに同期した時刻を計時して上記ログとして記録する。ログ収集部１１３は、ＭＭＢ処理ログ出力部１１４が出力するログを記録するほか、通信制御部１３０及び通信制御部１１１を介して、各ＳＢ１０２のＢＭＣ１２０内のＢＭＣ処理ログ連絡部１４４から、各ＳＢ１０２に関するログを収集し記録する。ＮＴＰ時刻同期実行部１１２は、ＮＴＰサーバとして動作することにより、定期的（例えば１日１回）に各ＳＢ１０２が計時する時刻を、ＭＭＢ１０１が計時する時刻に同期させる。
【００１６】
以上の情報処理装置１００の基本構成において、ＭＭＢ１０１内のＭＭＢ処理ログ出力部１１４がログを出力する場合には、ＭＭＢ内部ＲＴＣ１１０のクロックに同期した時刻を計時しログとして記録する。一方、各ＳＢ１０２のＢＭＣ１２０内のＢＭＣ処理ログ出力部１４２がログを出力する場合には、ＢＭＣ内部ＲＴＣ１４０のクロックに同期した時刻を計時しログとして記録する。従って、各ＳＢ１０２のＢＭＣ１２０及びＭＭＢ１０１が計時する時刻の同期が取れていないと、収集されたログにおいて時刻の逆転等が発生しログの整合性が保証できない場合が発生し得るため、各システム間で時刻の同期を正確に取ることが課題となる。この場合に必要な精度は、ミリ秒オーダである。ここで、ＭＭＢ内部ＲＴＣ１１０に同期した時刻と、ＢＭＣ内部ＲＴＣ１４０に同期した時刻は、ＮＴＰ時刻同期実行部１１２によって同期させることができる。しかし、ＮＴＰ時刻同期実行部１１２が動作する周期は、１日に１回程度である。一方、ＭＭＢ内部ＲＴＣ１１０及びＢＭＣ内部ＲＴＣ１４０の精度は一般に、５０ｐｐｍ（ｐａｒｔｓ  ｐｅｒ  ｍｉｌｌｉｏｎ）（＝５０／１００００００）程度である。従って、例えば２５６ｓｅｃ（秒）で±１３ｍｓ（ミリ秒）（＝２５６×５０／１００００００）程度の誤差が発生する。±０.５ｍｓ以内に誤差を収めるためには、ＮＴＰの同期として、ＢＭＣ１２０一個について１０ｓｅｃくらいの間隔でポーリングをかける必要がある。これを複数のＢＭＣ１２０について行うためには、通信負荷が大きくなってしまい、結局精度を維持できなくなってしまう。ＢＭＣ１２０を搭載したＳＢ１０２は、１００枚程度に及ぶことがあるので、その場合には制度をミリオーダに保つためにはポーリングを０.１ｓｅｃに一回というようなオーダになってしまい、通信負荷が大きくなる。
【００１７】
エラー発生時などで複数のファームウェアのログを解析する際には、ファームウェア間の動作の時系列が重要となる。図２は、１つのＢＭＣ１２０内のＢＭＣ処理ログ記録部１４３に記録されるログの例を示す図である。ＢＭＣ１２０が頻繁に動作する起動／シャットダウン中においては、処理量が非常に多く１０ｍｓ程度の処理が入る。この処理量のログが複数のファームウェア（＝複数のＢＭＣ１２０）で発生した場合、正しく時系列化するためには１ｍｓ単位の精度が必要となる。これがずれると、ログに記載された時刻がたとえば入れ替わってしまう。
【００１８】
そこで、以下に説明する実施形態では、時刻誤差算出部としての動作と、時刻情報修正部としての動作の、大きく分けて２つの動作が実行される。まず、時刻誤差算出部の動作として、以下の動作が実行される。ＭＭＢ（第２の制御装置）が、ＮＴＰによる時刻同期（時刻同期部）の実行直前に、イベント通知用の信号線を介して各ＢＭＣ（各第１の制御装置）にイベント通知を行う。そして、例えばＭＭＢにおいて、ＭＭＢで計時したイベント通知の発生時刻と各ＢＭＣで計時したイベント通知の発生時刻とが比較されることで、各ＢＭＣの時刻のＭＭＢの時刻に対する各時刻誤差が算出される。次に、時刻情報修正部の動作として、時刻誤差算出部で算出された各時刻誤差に基づいて、各ＢＭＣが収集するログの時刻情報が補正される。以上の２つの動作により、本実施形態では、ＮＴＰの時刻同期回数を増やすことなく、より高精度な時刻補正を行うことを可能とするものである。
【００１９】
図３は、本実施形態において、時刻誤差算出部の動作を実現するために、図１に示される情報処理装置１００を拡張した構成例を示す図である。ＭＭＢ１０１と＃０から＃４のＳＢ１０２からなる構成は、図１の場合と同様である。
【００２０】
図３に示されるＭＭＢ１０１において、ＭＭＢ内部ＲＴＣ１１０、通信制御部１１１、及びＮＴＰ時刻同期実行部１１２は、図１の場合と同様である。これに加えて、図３のＭＭＢ１０１において、時刻誤差算出部に対応する構成として以下の構成を更に有する。まず、ＭＭＢ１０１は、ＭＭＢ内部ＲＴＣ１１０に同期して、時刻誤差測定用の共通イベント（イベント）を発生させイベント通知用のハード信号線によりＭＭＢ１０１自身及び各ＳＢ１０２のＢＭＣ１２０に通知するイベント発生源３００（イベント発生部）を有する。また、ＭＭＢ１０１は、イベント通知用のハード信号線により通知された上記共通イベントの発生時刻を、ＭＭＢ内部ＲＴＣ１１０に同期した時計で計時するための、ＭＭＢ共通イベント時刻記録処理部３０１（共通イベント時刻記録処理部）を有する。また、ＭＭＢ１０１は、自装置内で計時された上記共通イベントの発生時刻と、各ＢＭＣ１２０で計時され通知された上記共通イベントの発生時刻を記録する共通イベント時刻テーブル３０２（共通イベント時刻情報格納部）を管理する。また、ＭＭＢ１０１は、上記自装置内で計時された共通イベントの発生時刻と、各ＳＢ１０２のＢＭＣ１２０から通知された各共通イベントの発生時刻とから、時刻誤差を補正するための時刻誤差係数すなわち時刻補正のための係数を計算する時刻誤差係数計算部３０３を有する。ここで時刻補正のための係数は、ＭＭＢ１０１のクロック時刻および各ＭＢＣ１２０のクロック時刻の少なくとも一方の基準時刻に対する誤差の変化に対応する。更に、ＭＭＢ１０１は、時刻誤差係数計算部３０３が計算した各時刻誤差係数を記録する時刻誤差係数テーブル３０４（時刻誤差係数情報格納部）を管理する。そして、ＭＭＢ１０１は、ＮＴＰ時刻同期実行部１１２でのＮＴＰ同期時刻を記録するＮＴＰ同期時刻記録部３０５を有する。
【００２１】
次に、図３に示される各ＳＢ１０２において、通信制御部１３０と、ＢＭＣ１２０内のＢＭＣ内部ＲＴＣ１４０は、図１の場合と同様である。これに加えて、図３の各ＳＢ１０２のＢＭＣ１２０において、時刻誤差算出部に対応する構成として以下の構成を更に有する。まず、ＢＭＣ１２０は、共通イベントが通知された（発生した）ときの共通イベントの発生時刻を、ＢＭＣ内部ＲＴＣ１４０に同期した時計で計時するＢＭＣ共通イベント時刻記録処理部３１０を有する。更に、ＢＭＣ１２０は、上記共通イベントの発生時刻を記録するＢＭＣ共通イベント時刻記録部３１１を有する。そして、ＢＭＣ１２０は、ＢＭＣ共通イベント時刻記録部３１１に記録された共通イベントの発生時刻を、通信制御部１３０、通信制御部１１１を介してＭＭＢ１０１に送信し、共通イベント時刻テーブル３０２に記録させる共通イベント時刻連絡部１３０を有する。
【００２２】
図４は、図３の情報処理装置１００の実施形態における時刻誤差算出処理の動作説明図である。
【００２３】
まず、ＭＭＢ１０１のＮＴＰ時刻同期実行部１１２が、ＮＴＰサーバとして、各ＳＢ１０２のＢＭＣ１２０内のＢＭＣ内部ＲＴＣ１４０に同期して動作する時計あるいは基準時刻と、時刻同期を取る。同期間隔は、ＢＭＣ処理ログ出力部１４２（図１）がエラー通知部１４１（図１）より通知されるエラーの解析に必要なログが出る時間程度で、またＭＭＢ１０１への負荷が過大にならない頻度で調整してよく、例えば１日である。ＮＴＰ時刻同期実行部１１２は、毎回同期した時刻をＮＴＰ時刻記録部３０５に記録する（以上、図４のＳ１）。
【００２４】
次に、イベント発生源３００が、ＮＴＰ時刻同期実行部１１２がＮＴＰ同期を行う直前（ほぼ同時の直前）に、共通イベント信号をイベント通知用のハード信号線を介して、ＭＭＢ１０１自身と、各ＳＢ１０２のＢＭＣ１２０へ通知する（図４のＳ２）。
【００２５】
ＭＭＢ１０１内のＭＭＢ共通イベント時刻記録処理部３０１と各ＳＢ１０２のＢＭＣ１２０内のＢＭＣ共通イベント時刻記録処理部３１０は、上記共通イベントの通知を同時に受け取る。共通イベントの通知を受けたＢＭＣ共通イベント時刻記録処理部３１０は、ＢＭＣ内部ＲＴＣ１４０に同期した時計で共通イベントの発生時刻を計時し、その時刻をＢＭＣ共通イベント時刻記録部３１１にダンプする。共通イベント時刻連絡部１３０は、上記ＢＭＣ共通イベント時刻記録部３１１にダンプされた共通イベントの発生時刻を、通信制御部１３０を介してＭＭＢ１０１へ通知する。ＭＭＢ１０１は、各ＢＭＣ１２０から通知された共通イベントの発生時刻を、共通イベント時刻テーブル３０２に記録する。共通イベントの通知を受けたＭＭＢ共通イベント時刻記録処理部３０１は、ＭＭＢ内部ＲＴＣ１１０に同期した時計で共通イベントの発生時刻を計時し、その時刻を直接共通イベント時刻テーブル３０２に記録する（以上、図４のＳ３）。
【００２６】
次に、ＭＭＢ１０１内の時刻誤差係数計算部３０３が、共通イベント時刻テーブル３０２に記録された上記２つの共通イベントの発生時刻を用いて、次の計算を実行する。時刻誤差係数計算部３０３は、ＭＭＢ内部ＲＴＣ１１０に同期した時刻を基準としたときの、各ＢＭＣ１２０のＢＭＣ内部ＲＴＣ１４０に同期した時刻に関する各時刻誤差係数を計算する。そして、時刻誤差係数計算部３０３は、計算した各時刻誤差係数で、時刻誤差係数テーブル３０４の記憶内容を更新する（図４のＳ４）。
【００２７】
時刻誤差係数はログの時刻情報を補正するのに必要な係数である。図５は、時刻誤差係数の計算動作の説明図である。ＮＴＰ同期が実行される度に時刻誤差は０となる。ＮＴＰ同期間すなわち同期時点の間に生じる誤差は各ＢＭＣ１２０内のＢＭＣ内部ＲＴＣ１４０の周波数誤差から発生するものであるため、時間経過に従って線形に増加する。イベント実施時刻（共通イベントを通知する時刻）は、ＮＴＰ同期の直前であるため、例えば、＃０のＢＭＣ１２０の時刻誤差係数をＥｒ（単位:ｐｐｍ）とすると、Ｅｒは、下記（１）式に基づいて計算される。ここで、ｔdiffMAX は最大誤差、ｔintervalはＮＴＰ時刻同期間隔である。また、ＴBMC は図４の共通イベント時刻テーブル３０２に記録された＃０のＢＭＣ１２０から通知された共通イベントの発生時刻、ＴMMB を共通イベント時刻テーブル３０２に記録されたＭＭＢ１０１で計時された共通イベントの発生時刻である。これより、時刻誤差係数Ｅｒは、ＮＴＰ周期内での単位時間あたりの時刻誤差の変化率を表していることになる。
【００２８】
【数１】
2018124241.tif 000003
【００２９】
ずれ値の発生を考慮して、以上の図４のＳ２からＳ４までの手順が３回繰り返されて、Ｅｒの平均値が計算された後に、１日に１回時刻誤差係数テーブル３０４が更新される（図４のＳ５）。
【００３０】
時刻誤差係数テーブル３０４内の時刻誤差係数を更新するのは、ＢＭＣ内部ＲＴＣ１４０に誤差が発生する要因として、個体差の他に温度、エージング特性があるためである。温度はサーバの使用環境においてどのＭＭＢ１０１、ＢＭＣ１２０も一定であると考え、エージング特性のみケアするために、１日ごとに更新が実行される（エージング特性は１日以内ではほぼ変化しないためである）。
【００３１】
図６は、本実施形態において、前述した時刻情報修正部の動作を実現するために、図１に示される情報処理装置１００を拡張した構成例を示す図である。ＭＭＢ１０１と＃０から＃４のＳＢ１０２からなる構成は、図１の場合と同様である。
【００３２】
図６に示されるＭＭＢ１０１において、ＭＭＢ内部ＲＴＣ１１０、エラー通知部１１５、ログ収集部１１３、ＭＭＢ処理ログ出力部１１４、ＮＴＰ時刻同期実行部１１２、及び通信制御部１１１は、図１の場合と同様である。また、ＭＭＢ１０１は、図３で説明した時刻誤差係数テーブル３０４、ＮＴＰ同期時刻記録部３０５を有する。これに加えて、図６のＭＭＢ１０１において、時刻情報修正部に対応する構成として以下の構成を更に有する。まず、ＭＭＢ１０１は、ログ収集部１１３が収集記録したログの時刻情報を修正する時刻情報修正部６０１を有する。そして、ＭＭＢ１０１は、時刻情報を補正したログを記録する時刻情報修正ログ記録部６０２を有する。
【００３３】
次に、図６に示される各ＳＢ１０２において、通信制御部１３０と、ＢＭＣ１２０内のＢＭＣ内部ＲＴＣ１４０、ＢＭＣ処理ログ出力部１４２、ＢＭＣ処理ログ記録部１４３、ＢＭＣ処理ログ連絡部１４４は、図１の場合と同様である。
【００３４】
図７は、図６の情報処理装置１００の実施形態における時刻情報修正処理の動作説明図である。
【００３５】
まず、何れかのＳＢ１０２でエラーが発生すると、そのＳＢ１０２のＢＭＣ１２０内のエラー通知部１４１が、エラー通知用の信号線によって、ＭＭＢ１０１と他のＳＢ１０２内のＢＭＣ１２０にエラーを通知する（図７のＳ６）。
【００３６】
ＢＭＣ１２０内のＢＭＣ処理ログ出力部１４２は、エラー通知部１４１でのエラー通知を含むＳＢ１０２内のログを収集し、そのログをＢＭＣ処理ログ記録部１４３にダンプする。このとき、ＢＭＣ処理ログ出力部１４２は、ＢＭＣ内部ＲＴＣ１４０が生成するクロックに同期した時刻を計時して上記ログとして記録する。ＢＭＣ処理ログ連絡部１４４は、通信制御部１３０を介して、ＭＭＢ１０１に、ＢＭＣ処理ログ記録部１４３に記録されたログを転送する。ＭＭＢ１０１において、ログ収集部１１３は、通信制御部１３０及び通信制御部１１１を介して、各ＳＢ１０２のＢＭＣ１２０内のＢＭＣ処理ログ連絡部１４４から、各ＳＢ１０２に関するログを収集し記録する（以上、図７のＳ７）。
【００３７】
次に、ＭＭＢ１０１内の時刻情報修正部６０１は、各ＢＭＣ１２０においてＢＭＣ内部ＲＴＣ１４０に同期して計時されログ収集部１１３に記録されたログの時刻情報のうち、ＮＴＰ同期時刻記録部３０５に記録されている直前にＮＴＰ同期した時刻ＴlatestNTP 以降の時刻情報に対して、シフト補正、予測補正の２段階の時刻誤差のずれ補正を行う。
【００３８】
図８は補正前の基準時刻と誤差（（ａ））、及び基準時刻とログ記録時刻との（（ｂ））関係図、図９はシフト補正後の基準時刻と誤差（（ｃ））、及び基準時刻とログ記録時刻との（（ｄ））関係図、図１０は予測補正後の基準時刻と誤差（（ｅ））、及び基準時刻とログ記録時刻との（（ｆ））関係図である。ここで、基準時刻とは、ＭＭＢ１０１のＭＭＢ内部ＲＴＣ１１０に同期して計時される時刻である。シフト補正は、エラー発生時にＢＭＣ１２０で計時された誤差時刻をエラー発生時点の基準時刻に合わせる補正である。また、予測補正は、前述の時刻誤差算出処理により（１）式に対応する演算処理に基づいて計算されたＥｒにより、エラー発生時点から離れた時点においてＲＴＣの誤差精度から補正値を予測する補正である。シフト補正のみではエラーを発生した時点の時刻は正確に補正するが、エラー発生時点の時刻から離れた時間についてはズレが発生してしまう。また、予測補正は予測値であるため、予測補正のみではエラー発生時刻によっては補正する時刻量が大きくなり、予測補正による誤差を発生させてしまう可能性がある。このため、最も知りたいエラー前後の時刻誤差を正確に補正するためには、シフト補正と予測補正の２段階の補正を実施することが有効である。
【００３９】
まず、シフト補正処理について説明する。エラー発生時にＭＭＢ１０１のエラー通知部１１５が計時した基準時刻をＴerr 、エラー発生時にＢＭＣ１２０が計時し記録した時刻をＴerrBMCとすると、シフト補正処理は下記（２）式により演算されるＴerr とＴerrBMCの差分時刻ｔdiffを、各ログの時刻情報から減算する処理である（図８（ａ）→図９（ｃ）、図８（ｂ）→図９（ｄ））。
【００４０】
【数２】
2018124241.tif 000004
【００４１】
これにより、エラー発生時点におけるＭＭＢ１０１で計時された時刻とＢＭＣ１２０で計時された時刻が一致するため、クロック抜けやＲＴＣの精度による誤差でずれたエラー発生前後の時刻、時系列情報は正確な値となる。
【００４２】
しかし、全体をシフトさせるだけでは、エラー発生から時間の離れた時点Ｅｖｅｎｔ  Ｆでのログの時刻ずれは残ったままである（図９（ｃ）、（ｄ）のδＦ）。そこで、以下に説明する予測補正が実行される。前述した時刻誤差算出処理で（１）式の演算に基づいて算出された時刻誤差係数Ｅｒを用いて、離れた時間のログについても、正確な時刻情報を持たせることができる。本実施形態では、ＮＴＰ同期の周期内で時間に比例して時刻誤差が増加し、図９（ｄ）のＥｖｅｎｔ  Ｆからエラー発生までの傾きは１+Ｅｒである。これらの関係から、時刻情報修正部６０１が算出する補正後の時刻ＴmodBMClog は、時刻誤差係数Ｅｒ、エラー発生時にＢＭＣ１２０が計時し記録した時刻ＴerrBMC、Ｅｖｅｎｔ  Ｆ発生時にＢＭＣ１２０で計時され記録されたログ時刻ＴBMClogを用いて、以下の式（３）の演算で算出することができる。
【００４３】
【数３】
2018124241.tif 000005
【００４４】
（３）式の第１行目において、左辺の「（Ｔerr −ＴmodBMClog）」は、図９（ｄ）において、基準時刻上のエラー発生時刻とログ時刻（補正後時刻）との差時刻を表している。また、右辺の「（Ｔerr −（ＴBMClog−ｔdiff）」はシフト補正後のＢＭＣ１２０での記録時刻上のエラー発生時刻とログ時刻（シフト補正によりｔdiffだけマイナスされている）との差時刻を表している。ＢＭＣ１２０での記録時刻上の差時刻は、基準時刻上の差時刻に対して傾き（１＋Ｅｒ）に相当する値を乗算したものに等しい。言い換えれば、直線の傾き１＋Ｅｒは（Ｔerr −（ＴBMClog−ｔdiff）を（Ｔerr −ＴmodBMClog）で除算することによって与えられる。これより、（３）式の２行目及び３行目のように数式を変形させることにより、３行目の数式に対応する演算で、補正後の時刻ＴmodBMClog を算出することが可能となる。
【００４５】
この予測補正処理により、ログ時刻と基準時刻とのずれはなくなる（図９（ｃ）→図１０（ｅ）、図９（ｄ）→図１０（ｆ））。
【００４６】
なお、図８（ｂ）、図９（ｄ）、図１０（ｆ）で、破線はＭＭＢ１０１に対応する時刻関係で傾きは１である。ＢＭＣ１２０に対応する時刻関係を示す実線の傾きが上方向に急な場合はＢＭＣ１２０の時刻がＭＭＢ１０１の時刻に対して時間の進みが早いことを示している。逆に、ＢＭＣ１２０に対応する時刻関係を示す実線の傾きが下方向に急な場合はＢＭＣ１２０の時刻がＭＭＢ１０１の時刻に対して時間の進みが遅いことを示している。実線の傾きは、破線の基準時刻の傾きに時刻誤差係数Ｅｒが足されたものとなる。
【００４７】
図６、図７の時刻情報修正部６０１が上述の２段階の補正処理を各ＢＭＣ１２０から通知されログ収集部１１３で収集記録された各ログに対して実行し、その実行結果を時刻情報修正ログ記録部６０２へ記録することで、ＮＴＰ同期周期間におけるエラー前後、及びエラー時刻から離れた時間のＭＭＢ１０１−各ＢＭＣ１２０間の時刻誤差を補正し、各ファームウェア（ＳＢ１０２）間で正確に同期した時刻情報を付加することが可能となる。
【００４８】
上述の時刻情報修正処理では、直前のＮＴＰ同期時刻ＴlatestNTP 以前のログについては時刻情報が補正されないが、一般に注目して見たいログはエラーなどを起因としてログダンプを開始する直前であるため、ある程度時間の離れた箇所のログについては高精度同期の必要性は薄いと考えられる。もし同期以前の情報も必要な場合は、ＮＴＰ同期直前に毎回ログダンプし、時刻情報を取得すればよい。
【００４９】
以上説明した実施形態により、各ＢＭＣ１２０がＢＭＣ内部ＲＴＣ１４０に同期して計時、記録したログの時刻情報をシフト補正と予測補正の二段階補正を行うことにより、ＭＭＢ１０１でのログ収集後に高精度に補正することができる。これにより、多数のファームウェアがあるような場合でも、ＮＴＰ等によって高頻度に時刻同期を取ることによる通信負荷、処理負荷をかける必要がなく、ファームウェア間において高精度に時刻同期されたログを得ることが可能となるまた、さらにログの時間情報を記録してあるので、通信負荷あるいは処理負荷が過大ではないときに本実施形態を実施することができる。
【００５０】
以上説明したように、ＭＭＢ１０１からＢＭＣ１２０にハード信号線を介してイベントが通知される。次にそのイベントが発生（通知）された時刻ＭＭＢ１０１とＢＭＣ１２０の双方で計時される。ハード信号における時刻の遅延はほとんどないため、双方で計算された時刻差は双方のクロックの誤差にほぼ等価となる。したがって、クロックの誤差をミリ秒以下のオーダで算出することが可能となる。たとえば、ＬＡＮ（ローヤルエリアネットワーク）でイベントを通知した場合には、ＬＡＮにおける伝送遅延が無視できないため、クロックの誤差をミリ秒以下で算出することは困難である。
【００５１】
上記の実施形態の具体的な動作例として、ＭＭＢ１０１の時刻を基準時刻として、ＢＭＣ１２０が＃０から＃２の３つある場合の動作例１を、図１１に示す。なお、ミリ秒（ｍｓ）単位の計算値が重要であるため、以下の説明では日付記録は省略して記す。図１１に示される動作例１のＳ１からＳ４は図４のＳ１からＳ４の動作例に対応しており、それぞれの意味は下記の通りである。
【００５２】
Ｓ１：ＮＴＰ時刻同期間隔tintervalを２５６．０００ｓｅｃとして同期を開始する。
Ｓ２：イベント発生時刻を毎日００：００：００．０００としてイベントを発生させた場合を考える。
Ｓ３：そのときのＭＭＢ１０１で計時され共通イベント時刻テーブル３０２へ記録された共通イベントの発生時刻がＴMMB 、＃０から＃２の各ＢＭＣ１２０で計時され共通イベント時刻テーブル３０２へ記録された共通イベントの発生時刻がＴBMC である。
Ｓ４：時刻誤差係数計算部３０３が計算した時刻誤差係数がＥｒである。
【００５３】
更に手順Ｓ５として、以上のＳ１からＳ４の手順を２５６ｓｅｃ後の００:０４:１６.０００、５１２ｓｅｃ後の００:０８:３２.０００でも同様に繰り返し、それら３回の平均値で時刻誤差係数テーブル３０４を更新した。この例では、簡略化のため３回のＥｒが同値だったとしている。
【００５４】
次に、ログ収集自の動作例２を図１２に示す。図１２に示される動作例２のＳ６からＳ８は図７のＳ６からＳ８の動作に対応しており、それぞれの意味は下記の通りである。
【００５５】
Ｓ６：エラーはＴerr ＝１６:５７:００.０００に発生し、そのときの各ファームウェア（ＢＭＣ１２０）が記録したエラー発生時刻がＴerrBMC＝１６:５７:００.０１５だった。
Ｓ７：その後数分までログが収集され、各ＢＭＣ処理ログ連絡部１４４がログ収集部１１３へ送付した。補正前時刻はＴBMClogである。
Ｓ８：ログの補正前時刻ＴBMClogに対して補正を実施した結果が補正後時刻ＴmodBMClog である。
【００５６】
最後に、図１２の動作例２に対応する時刻補正前のログ時系列の例を図１３に、時刻補正後のログ時系列の例を図１４に示す。図１３から図１４への時刻補正動作により、各ＢＭＣ１２０のＢＭＣ内部ＲＴＣ１４０で計時されログされた時刻が補正され、正確な時刻の時系列に並べなおされたことがわかる。
【００５７】
図１５は、図３の構成例により実施される図４で示される時刻誤差算出処理が、ソフトウェア処理として実行される場合の処理例を示すフローチャートである。この処理は、ＭＭＢ１０１のプロセッサと各ＢＭＣ１２０のプロセッサが、それぞれファームウェア(プログラム)を実行する処理である。図１５のフローチャートにおいて、括弧内のＳ１からＳ５の参照記号は、このステップが、前述した図４の動作説明におけるＳ１からＳ５の動作に対応する処理であることを示している。
【００５８】
ＭＭＢ１０１のファームウェア及び各ＢＭＣ１２０のファームウェアが起動されることにより、このフローチャートの処理がスタートする（図１５のステップＳ１５０１）。
【００５９】
まず、ＭＭＢ１０１のＮＴＰ時刻同期実行部１１２が、ＮＴＰサーバとして、各ＳＢ１０２のＢＭＣ１２０内のＢＭＣ内部ＲＴＣ１４０に同期して動作する時計と、時刻同期を取る。ＮＴＰ時刻同期実行部１１２は、毎回同期した時刻をＮＴＰ時刻記録部３０５に記録する（図１５のステップＳ１５０２）（図４のＳ１）。
【００６０】
次に、時刻誤差係数の更新から１日が経過したか否かが判定される（図１５のステップＳ１５０３）。
【００６１】
ステップＳ１５０３の判定がＮｏならば、ステップＳ１５０２の処理に戻る。
ステップＳ１５０３の判定がＹｅｓになると、次のＮＴＰ時刻同期実行部１１２による同期処理の直前に、イベント発生源３００が共通イベント信号をアサートする（図１５のステップＳ１５０４）（図４のＳ２）。
【００６２】
次に、ＭＭＢ共通イベント時刻記録処理部３０１が上記共通イベント信号のアサートを検出すると（図１５のステップＳ１５０４の判定がＹｅｓ）、次の処理を実行する。ＭＭＢ共通イベント時刻記録処理部３０１は、共通イベントがアサートされた時刻（共通イベントの発生時刻）をＭＭＢ内部ＲＴＣ１１０に同期した時計で計時し、その時刻を共通イベント時刻テーブル３０２に記録する（図５のステップＳ１５０６）（図４のＳ３）。
【００６３】
一方、各ＢＭＣ１２０のＢＭＣ共通イベント時刻記録処理部３１０が上記共通イベント氏のアサートを検出すると（図１５のステップＳ１５０４の判定がＮｏ）、次の処理を実行する。ＢＭＣ共通イベント時刻記録処理部３１０は、共通イベントがアサートされた時刻（共通イベントの発生時刻）をＢＭＣ内部ＲＴＣ１４０に同期した時計で計時し、その時刻をＢＭＣ共通イベント時刻記録部３１１にダンプする（図１５のステップＳ１５０７）（図４のＳ３）。
【００６４】
共通イベント時刻連絡部１３０は、上記ＢＭＣ共通イベント時刻記録部３１１にダンプされた共通イベントの発生時刻を、通信制御部１３０を介してＭＭＢ１０１へ通知する。ＭＭＢ１０１は、各ＢＭＣ１２０から通知された共通イベントの発生時刻を、共通イベント時刻テーブル３０２に記録する（図１５のステップＳ１５０８）（図４のＳ３）。
【００６５】
ステップＳ１５０６又はＳ１５０８の後、ＭＭＢ１０１内の時刻誤差係数計算部３０３が、共通イベント時刻テーブル３０２内の上記２つの共通イベントの発生時刻から、各ＢＭＣ１２０の時刻誤差係数を計算する（図１５のステップＳ１５０９）（図４のＳ４）。
【００６６】
その後、上記時刻誤差係数の計算がこの日に３回実施されたか否かを判定する（図１５のステップＳ１５１０）。
【００６７】
ステップＳ１５１０の判定がＮｏならば、ステップＳ１５０４の処理に戻る。
ステップＳ１５１０の判定がＹｅｓになると、時刻誤差係数計算部３０３が、計算した時刻誤差係数３回分の平均値を算出し、その値で、時刻誤差係数テーブル３０４の記憶内容を更新する（図１５のステップＳ１５１１）（図４のＳ５）。
その後、ステップＳ１５０２の処理に戻る。
【００６８】
図１６は、図６の構成例により実施される図７で示される時刻情報修正処理が、ソフトウェア処理として実行される場合の処理例を示すフローチャートである。この処理は、ＭＭＢ１０１のプロセッサと各ＢＭＣ１２０のプロセッサが、それぞれファームウェアを実行する処理である。図１６のフローチャートにおいて、括弧内のＳ６からＳ８の参照記号は、このステップが、前述した図７の動作説明におけるＳ６からＳ８の動作に対応する処理であることを示している。
【００６９】
何れかのＳＢ１０２でエラーが発生すると、そのＳＢ１０２のＢＭＣ１２０内のエラー通知部１４１が、エラー通知用の信号線によって、ＭＭＢ１０１と他のＳＢ１０２内のＢＭＣ１２０にエラーを通知する。この結果、このフローチャートの処理がスタートする（図１６のステップＳ１６０１）（図７のＳ６）。
【００７０】
各ファームウェア（ＭＭＢ１０１又はＢＭＣ１２０）のＭＭＢ処理ログ出力部１１４又はＢＭＣ処理ログ出力部１４２が、エラーログの収集を開始する（図１６のステップＳ１６０２）（図７のＳ７）。
【００７１】
ＭＭＢ１０１が処理ログを出力した場合（図１６のステップＳ１６０３の判定がＹｅｓ）、ＭＭＢ処理ログ出力部１１４がログ収集部１１３へ、ＭＭＢ１０１でのエラーに関するログを記録する（図１６のステップＳ１６０４）（図７のＳ７）。
【００７２】
ＢＭＣ１２０が処理ログを出力した場合（図１６のステップＳ１６０３の判定がＮｏ）、ＢＭＣ処理ログ出力部１４２がＢＭＣ処理ログ記録部１４３へ、ＢＭＣ１２０でのエラーに関するログを記録する（図１６のステップＳ１６０５）（図７のＳ７）。
【００７３】
ＢＭＣ処理ログ連絡部１４４は、通信制御部１３０を介して、ＭＭＢ１０１に、ＢＭＣ処理ログ記録部１４３に記録されたエラーログを転送する。ＭＭＢ１０１において、ログ収集部１１３は、通信制御部１３０及び通信制御部１１１を介して、各ＳＢ１０２のＢＭＣ１２０内のＢＭＣ処理ログ連絡部１４４から、各ＳＢ１０２に関するエラーログを収集し記録する（図１６のステップＳ１６０６）（図７のＳ７）。
【００７４】
ステップＳ１６０４又はＳ１６０６の後、ＭＭＢ１０１内の時刻情報修正部６０１は、次の処理を実行する。時刻情報修正部６０１は、時刻誤差係数テーブル３０４、ＮＴＰ同期時刻記録部３０５、ログ収集部１１３が収集した各ログ情報を参照し、各ファームウェア（ＢＭＣ１２０）のログに付加された時刻情報を修正する（図１６のステップＳ１６０７）（図７のＳ８）。より具体的には、図７の説明で前述したように、時刻情報修正部６０１は、各ＢＭＣ１２０においてＢＭＣ内部ＲＴＣ１４０に同期して計時されログ収集部１１３に記録されたログの時刻情報のうち、ＮＴＰ同期時刻記録部３０５に記録されている直前にＮＴＰ同期した時刻ＴlatestNTP 以降の時刻情報に対して、シフト補正、予測補正の２段階の時刻誤差のずれ補正を行う。
【００７５】
最後に、時刻情報修正部６０１が、時刻情報を補正したログを、時刻情報修正ログ記録部６０２に記録する（図１６のステップＳ１６０８）（図７のＳ８）。
【００７６】
図１７は、時刻情報修正部の動作を実現するための情報処理装置の他の実施形態の構成例を示す図である。図６及び図７で説明した時刻情報修正部の動作を実現する実施形態で、ＢＭＣ１２０の数が多いなど、ログ数が多くＭＭＢ１０１の処理が増加する場合には、時刻情報修正部の一部機能を、ＭＭＢ１０１ではなく各ＢＭＣ１２０に分散して持たせるのが望ましい。図１７の構成はそれを実現するもので、各ＢＭＣ１２０が、ＢＭＣ時刻情報修正部１７０１、ＢＭＣ時刻情報修正ログ記録部１７０２、及びＢＭＣ時刻修正処理ログ連絡部１７０３を新たに有する。その他の構成は、図６の場合と同様である。
【００７７】
図１８は、図１７の構成の動作説明図である。ＢＭＣ１２０内のＢＭＣ時刻情報修正部１７０１は、ＭＭＢ１０１内の時刻誤差係数テーブル３０４から自装置に関する時刻誤差係数を、ＮＴＰ同期時刻記録部３０５から直前のＮＴＰ同期時刻を、それぞれ受信する（Ｓ９）。
【００７８】
ＢＭＣ時刻情報修正部１７０１は、上述の情報に基づいて、ＢＭＣ処理ログ記録部１４３に記録されている直前のＮＴＰ同期時刻以降の時刻を有するログの時刻情報を、前述したＭＭＢ１０１内の時刻情報修正部６０１の場合と同様に修正する。ＢＭＣ時刻情報修正部１７０１は、時刻情報が修正されたログを、ＢＭＣ時刻情報修正ログ記録部１７０２に記録する。ＢＭＣ時刻修正処理ログ連絡部１７０３は、ＢＭＣ時刻情報修正ログ記録部１７０２に記録された時刻情報が修正されたログを、通信制御部１３０を介してＭＭＢ１０１に転送する。ＭＭＢ１０１は、転送されたログを、時刻情報修正ログ記録部６０２に記録する（以上、Ｓ１０）。
【００７９】
以上の図１７及び図１８の他の実施形態により、ＢＭＣ１２０が増えた場合に、時刻情報修正処理を各ＢＭＣ１２０に分散して実行させることにより、ＭＭＢ１０１の処理負荷を低減させることが可能となる。
【００８０】
図１９は、図１又は図１７の情報処理装置（コンピュータ）のハードウェア構成の一例を示す図である。
【００８１】
図１９に示されるコンピュータは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１９０１、メモリ１９０２、入力装置１９０３、出力装置１９０４、補助記憶装置１９０５、可搬型記録媒体１９０９が挿入される媒体駆動装置１９０６、及びネットワーク接続装置１９０７を有する。これらの構成要素は、バス１９０８により相互に接続されている。同図に示される構成は上記情報処理装置を実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００８２】
メモリ１９０２は、例えば、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。
【００８３】
ＣＰＵ（プロセッサ）１９０１は、例えば、メモリ１９０２を利用してプログラムを実行することにより、図１のＭＭＢ１０１の各処理部又はＢＭＣ１２０内の各処理部として動作する。
【００８４】
入力装置１９０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置１９０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問合せ又は処理結果の出力に用いられる。
【００８５】
補助記憶装置１９０５は、例えば、ハードディスク記憶装置、磁気ディスク記憶装置、光ディスク装置、光磁気ディスク装置、テープ装置、又は半導体記憶装置である。図１又は図１７の情報処理装置は、補助情報記憶装置１９０５にプログラム及びデータを格納しておき、それらをメモリ１９０２にロードして使用することができる。
【００８６】
媒体駆動装置１９０６は、可搬型記録媒体１９０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１９０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１９０９は、Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＣＤ−ＲＯＭ）、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ（ＤＶＤ）、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体１９０９にプログラム及びデータを格納しておき、メモリ１９０２にロードして使用することができる。
【００８７】
このように、図１又は図１７の情報処理装置の処理に用いられるプログラム及びデータを格納するコンピュータ読取り可能な記録媒体は、メモリ１９０２、補助情報記憶装置１９０５、又は可搬型記録媒体１９０９のような、物理的な（非一時的な）記録媒体である。
【００８８】
ネットワーク接続装置１９０７は、例えばＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置１９０７は、図１又は図１７の通信制御部１１１又は１３０として動作する。図１又は図１７の情報処理装置は、プログラム又はデータを外部の装置からネットワーク接続装置１９０７を介して受信し、それらをメモリ１９０２にロードして使用することができる。
【００８９】
なお、図１又は図１７の情報処理装置が図１９の全ての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、オペレータ又はユーザからの指示又は情報を入力する必要がない場合は、入力装置１９０３が省略されてもよい。可搬型記録媒体１９０９を利用しない場合は、媒体駆動装置１９０６が省略されてもよい。
【００９０】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができる。
【００９１】
以上説明した各実施形態により、複数の時刻同期が必要となる情報処理装置において、ＮＴＰ同期の頻度を増やすことなく、より正確な時刻補正を行うことが可能となる。
【００９２】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
自装置の時刻に同期して動作する１つ以上の第１の装置と、自装置の時刻に同期して動作するとともに前記各第１の装置を制御する第２の装置とを具備する情報処理装置において、
前記各第１の装置の時刻を前記第２の装置の時刻または基準時刻に同期させる同期時点の間において、
前記第１の装置の時刻および第２の装置の時刻の少なくとも一方の前記基準時刻に対する誤差の変化に対応する、時刻補正のための係数を算出する時刻誤差算出部と、
前記係数に基づいて、前記第２の装置が収集するログの時刻情報を補正する時刻情報修正部と、
を具備する情報処理装置。  
（付記２）
前記時刻情報修正部は、エラ−発生時点での第１の装置の時刻誤差をエラー発生時点での第２の装置の時刻または基準時刻に補正するシフト補正処理を行う、
付記１記載の情報処理装置。
（付記３）
前記時刻情報修正部は、前記エラー発生時点から離れた時刻における時刻誤差を、前記時刻補正のための係数に基づいて第２の装置の時刻または基準時刻に補正する予測補正処理を更に実行する、付記２に記載の情報処理装置。  
（付記４）
前記時刻誤差算出部は、前記同期の実行前に前記第２の装置から、ハード信号線を介して前記各第１の装置にイベントの発生の通知を行い、前記各第１の装置で計時した前記イベントの発生時刻と前記第２の装置で計時した前記イベントの発生時刻との各差時刻を所定の周期で除算することにより、前記各時刻補正のための係数を算出する、付記１に記載の情報処理装置。  
（付記５）
前記時刻誤差算出部は、前記第２の装置内に、
イベントを発生し、前記イベントの発生を前記ハード信号線を介して前記各第１の装置に通知するイベント発生部と、
前記イベントの発生時刻を記録するイベント時刻記録処理部と、
前記第２の装置が記録したイベントの発生時刻と、前記第１の装置でそれぞれ計時されたイベントの発生時刻とを格納する時刻情報格納部と
前記時刻情報に基づいて、前記時刻を補正するための係数を計算する計算部と、
を有する付記１に記載の情報処理装置。
（付記６）
前記係数は直線の傾きであることを特徴とする付記１記載の情報処理装置。
（付記７）
前記第１及び第２の装置はプロセッサ上でファームウェアを動作させることで実現された装置であることを特徴とする付記１記載の情報処理装置。
（付記８）
前記時刻情報修正部を前記第２の装置内に有する、付記１、２及び３の何れかに記載の情報処理装置。
（付記９）
前記時刻情報修正部を前記各第１の装置内に有し、前記時刻情報修正部は、前記第２の装置から前記第１の装置に対応する時刻誤差を受信して前記第１の装置が収集するログの時刻情報を補正する、付記１、２及び３の何れかに記載の情報処理装置。
（付記１０）
自装置の時刻に同期してログの収集を行う１つ以上の第１の装置の時刻を自装置の時刻に同期して前記各第１の装置を制御する第２の装置の時刻または基準時刻に同期させる同期時点の間において、
前記第１の装置の時刻および第２の装置の時刻の少なくとも一方の前記基準時刻に対する誤差の変化に対応する、時刻補正のための係数を算出する時刻誤差算出ステップと、
前記時刻補正のための係数に基づいて、前記第２の装置が収集するログの時刻情報を同期するように補正する時刻情報修正ステップと、
を具備する情報処理方法。
（付記１１）
自装置の時刻に同期してログの収集を行う１つ以上の第１の装置の時刻を自装置の時刻に同期して前記各第１の装置を制御する第２の装置の時刻または基準時刻に同期させる同期時点の間において、
前記第２の装置を制御するコンピュータに、
前記第１の装置の時刻および第２の装置の時刻の少なくとも一方の前記基準時刻に対する誤差の変化に対応する、時刻補正のための係数を算出する時刻誤差算出ステップと、
前記時刻補正のための係数に基づいて、前記第２の装置が収集するログの時刻情報を同期するように補正する時刻情報修正ステップと、
を実行させるプログラム。
【符号の説明】
【００９３】
１００  情報処理装置
１０１  ＭＭＢ
１０２  ＳＢ
１１０  ＭＭＢ内部ＲＴＣ
１１１、１３０  通信制御部
１１２  ＮＴＰ時刻同期実行部
１１３  ログ収集部
１１４  ＭＭＢ処理ログ出力部
１１５、１４１  エラー通知部
１２０  ＢＭＣ
１４０  ＢＭＣ内部ＲＴＣ
１４２  ＢＭＣ処理ログ出力部
１４３  ＢＭＣ処理ログ記録部
１４４  ＢＭＣ処理ログ連絡部
３００  イベント発生源
３０１  ＭＭＢ共通イベント時刻記録処理部
３０２  共通イベント時刻テーブル
３０３  時刻誤差係数計算部
３０４  時刻誤差係数テーブル
３０５  ＮＴＰ同期時刻記録部
３１０  ＢＭＣ共通イベント時刻記録処理部
３１１  ＢＭＣ共通イベント時刻記録部
３１２  共通イベント時刻連絡部
６０１  時刻情報修正部
６０２  時刻情報修正ログ記録部
１７０１  ＢＭＣ時刻情報修正部
１７０２  ＢＭＣ時刻情報修正ログ記録部
１７０３  ＢＭＣ時刻修正処理ログ連絡部
【図１】
2018124241.tif 000006
【図２】
2018124241.tif 000007
【図３】
2018124241.tif 000008
【図４】
2018124241.tif 000009
【図５】
2018124241.tif 000010
【図６】
2018124241.tif 000011
【図７】
2018124241.tif 000012
【図８】
2018124241.tif 000013
【図９】
2018124241.tif 000014
【図１０】
2018124241.tif 000015
【図１１】
2018124241.tif 000016
【図１２】
2018124241.tif 000017
【図１３】
2018124241.tif 000018
【図１４】
2018124241.tif 000019
【図１５】
2018124241.tif 000020
【図１６】
2018124241.tif 000021
【図１７】
2018124241.tif 000022
【図１８】
2018124241.tif 000023
【図１９】
2018124241.tif 000024