(57)【要約】【課題】メインシステムと保守管理システムにおける精度の高い時刻同期を行うことを可能にし、障害発生時にはメインシステムと保守管理システムで検出された障害の時刻関係が明確なログを採取する情報処理装置を提供する。【解決手段】情報処理装置において、ＢＭＣ１１８は、ＴＩＭＥRTC１２２を取得してメモリ１２１に保存し、ＴＩＭＥRTC１２２を保存した時におけるシステムバスクロックカウンタ回路１１５のＣＯＵＮＴSTART１２３をメモリ１２１に保存し、メインシステム１０１側の障害発生時に、その障害発生時のシステムバスクロックカウンタ回路１１５のＣＯＵＮＴOFFSET１２４をメモリ１２１に保存し、ソフト時計１０８の計時の刻みとシステムバスクロックカウンタ回路１１５のカウンタの計時の刻みとの比率、ＴＩＭＥRTC１２２、ＣＯＵＮＴSTART１２３、およびＣＯＵＮＴOFFSET１２４に基づいて、障害発生時のＯＳ時刻を算出する。【選択図】図１
2012128552.tif 000002
【特許請求の範囲】
【請求項１】
メインシステムと、前記メインシステムを管理する保守管理システムとを備える情報処理装置であって、
前記メインシステムは、
演算部と、前記メインシステムにクロック信号を供給するクロックジェネレータと、前記演算部と接続される第１記憶部と、前記演算部と接続されるサウスブリッジとを有し、
前記演算部は、前記メインシステム上で動作するＯＳの時刻を計時する第１計時部を有し、
前記サウスブリッジは、前記メインシステムの基準時刻を計時する第２計時部を有し、
前記保守管理システムは、前記メインシステムの前記クロックジェネレータからクロック信号を受信するシステムバスクロックカウンタ部と、前記システムバスクロックカウンタ部および前記第２計時部と接続されるＢＭＣと、前記ＢＭＣと接続される第２記憶部とを有し、
前記ＢＭＣは、
前記第２計時部から起動時点の時刻ＴＩＭＥRTCを取得して前記第２記憶部に保存し、
前記時刻ＴＩＭＥRTCを保存した時における前記システムバスクロックカウンタ部のカウンタ値ＣＯＵＮＴSTARTを、前記第２記憶部に保存し、
前記メインシステム側で前記第１計時部による時刻を含むログが保存された際に、その保存に同期して前記保守管理システム側でログを保存する場合、前記メインシステム側でログが保存された時における前記システムバスクロックカウンタ部のカウンタ値ＣＯＵＮＴOFFSETを、前記第２記憶部に保存し、
前記第１計時部の計時の刻みと前記システムバスクロックカウンタ部のカウンタの計時の刻みとの比率、前記時刻ＴＩＭＥRTC、前記カウンタ値ＣＯＵＮＴSTART、および前記カウンタ値ＣＯＵＮＴOFFSETに基づいて、前記メインシステム側でログが保存された時のＯＳ時刻を算出することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記メインシステム側で前記第１計時部による時刻を含むログが保存される時は、前記メインシステムで障害が発生した時であることを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記ＢＭＣは、算出した前記メインシステム側でログが保存された時の前記ＯＳ時刻を、前記第２記憶部に記録することを特徴とする情報処理装置。
【請求項４】
請求項１に記載の情報処理装置において、
前記ＢＭＣは、前記メインシステム側でログが保存された時の前記ＯＳ時刻を、前記カウンタ値ＣＯＵＮＴSTARTおよび前記カウンタ値ＣＯＵＮＴOFFSETの差分に基づいた前記ＯＳ時刻の差分時間として算出し、前記差分時間と前記時刻ＴＩＭＥRTCに基づいて算出することを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置において、
前記ＢＭＣは、前記メインシステム側でログが保存された時の前記ＯＳ時刻を、ＣｌｏｃｋＴｏＴｉｍｅ関数を前記第１計時部の計時の刻みと、前記システムバスクロックカウンタ部のカウンタ値の刻みの比率が設定された関数として、以下の式により算出することを特徴とする情報処理装置。
ＯＳ時刻＝ＴＩＭＥRTC＋ＣｌｏｃｋＴｏＴｉｍｅ（ＣＯＵＮＴOFFSET−ＣＯＵＮＴSTART）
【請求項６】
請求項１に記載の情報処理装置において、
前記第２計時部は、前記メインシステムの基準時刻を計時する基準計時部と、前記基準計時部に電源を供給する電池を有することを特徴とする情報処理装置。
【請求項７】
メインシステムと、前記メインシステムを管理する保守管理システムとを備える情報処理装置の時刻同期方法であって、
前記メインシステムは、演算部と、前記メインシステムにクロック信号を供給するクロックジェネレータと、前記演算部と接続される第１記憶部と、前記演算部と接続されるサウスブリッジとを有し、前記演算部は、前記メインシステム上で動作するＯＳの時刻を計時する第１計時部を有し、前記サウスブリッジは、前記メインシステムの基準時刻を計時する第２計時部を有し、前記保守管理システムは、前記メインシステムの前記クロックジェネレータからクロック信号を受信するシステムバスクロックカウンタ部と、前記システムバスクロックカウンタ部および前記第２計時部と接続されるＢＭＣと、前記ＢＭＣと接続される第２記憶部とを有し、
前記ＢＭＣにより、前記第２計時部から起動時点の時刻ＴＩＭＥRTCを取得して前記第２記憶部に保存し、前記時刻ＴＩＭＥRTCを保存した時における前記システムバスクロックカウンタ部のカウンタ値ＣＯＵＮＴSTARTを、前記第２記憶部に保存し、前記メインシステム側で前記第１計時部による時刻を含むログが保存された際に、その保存に同期して前記保守管理システム側でログを保存する場合、前記メインシステム側でログが保存された時における前記システムバスクロックカウンタ部のカウンタ値ＣＯＵＮＴOFFSETを、前記第２記憶部に保存し、前記第１計時部の計時の刻みと前記システムバスクロックカウンタ部のカウンタの計時の刻みとの比率、前記時刻ＴＩＭＥRTC、前記カウンタ値ＣＯＵＮＴSTART、および前記カウンタ値ＣＯＵＮＴOFFSETに基づいて、前記メインシステム側でログが保存された時のＯＳ時刻を算出することを特徴とする情報処理装置の時刻同期方法。
【請求項８】
請求項７に記載の情報処理装置の時刻同期方法において、
前記メインシステム側で前記第１計時部による時刻を含むログが保存される時は、前記メインシステムで障害が発生した時であることを特徴とする情報処理装置の時刻同期方法。
【請求項９】
請求項７に記載の情報処理装置の時刻同期方法において、
前記ＢＭＣにより、算出した前記メインシステム側でログが保存された時の前記ＯＳ時刻を、前記第２記憶部に記録することを特徴とする情報処理装置の時刻同期方法。
【請求項１０】
請求項７に記載の情報処理装置の時刻同期方法において、
前記ＢＭＣにより、前記メインシステム側でログが保存された時の前記ＯＳ時刻を、前記カウンタ値ＣＯＵＮＴSTARTおよび前記カウンタ値ＣＯＵＮＴOFFSETの差分に基づいた前記ＯＳ時刻の差分時間として算出し、前記差分時間と前記時刻ＴＩＭＥRTCに基づいて算出することを特徴とする情報処理装置の時刻同期方法。
【請求項１１】
請求項１０に記載の情報処理装置の時刻同期方法において、
前記ＢＭＣにより、前記メインシステム側でログが保存された時の前記ＯＳ時刻を、ＣｌｏｃｋＴｏＴｉｍｅ関数を前記第１計時部の計時の刻みと、前記システムバスクロックカウンタ部のカウンタ値の刻みの比率が設定された関数として、以下の式により算出することを特徴とする情報処理装置の時刻同期方法。
ＯＳ時刻＝ＴＩＭＥRTC＋ＣｌｏｃｋＴｏＴｉｍｅ（ＣＯＵＮＴOFFSET−ＣＯＵＮＴSTART）
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ等の情報処理装置に関し、特に、障害発生時に採取するログの時刻の同期に関するものである。
【背景技術】
【０００２】
近年、サーバのような情報処理装置では、計算機システムとして所定の機能を提供するメインシステムと、このメインシステムのファン、電源、演算処理装置（ＣＰＵ）、メモリといった構成要素の物理的な健全性を監視する保守管理システムで構成されていることが一般的である。
【０００３】
このような計算機システムにおいて、例えば、特許文献１（特開２００５−１３５０６３号公報）に記載されているように、メインシステムおよび保守管理システムがそれぞれ独立した時刻管理が行われ、障害発生時のログの時刻が不正確になるという課題が知られている。
【０００４】
この課題に対して、従来の時刻同期方法としては、サーバなどの情報処理装置内部の時刻を、同期したい情報処理装置から時刻同期の基準となる情報処理装置への、時刻送付要求により転送し、転送された時刻を元に計算機のクロックを増減し、徐々に補正していくものがある。
【０００５】
例えば、特許文献２（特開平１１−２５０５７号公報）に記載されたような、４．３ＢＳＤ  ＵＮＩＸ（登録商標）システムのタイムサーバデーモン（以下ｔｉｍｅｄと称する）方式やｔｉｍｅｄにネットワーク等の伝送路の付加による遅延を統計的に考慮したＮｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌデーモン（以下ｎｔｐｄと称する）方式などがあった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１３５０６３号公報
【特許文献２】特開平１１−２５０５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１は、Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ（以下ＲＴＣと称する）およびＢａｓｅ  Ｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ（以下ＢＭＣと称する）の基準時刻を計時する共有の時計となる共有ＲＴＣを設け、共有ＲＴＣの時刻による時間管理を行うことについて記載されているが、共有ＲＴＣを用いる場合は、同期の処理が複雑になる場合がある。
【０００８】
また、特許文献２に記載されたような、ｔｉｍｅｄやｎｔｐｄといった従来の技術では、基準時刻となる時刻情報を元に同期させたい時計を補正していくために、個々の時刻が同期するまでに時間がかかるという問題がある。また、時刻同期がなされていることを確認することは難しく、時刻同期のタイミングは一定時間毎に行うので、精度が不明確であるという問題もある。
【０００９】
そこで、本発明は、上記課題に鑑みて提案されたものであり、メインシステムと保守管理システムにおける精度の高い時刻同期を行うことを可能にし、障害発生時にはメインシステムと保守管理システムで検出された障害の時刻関係が明確なログを採取する情報処理装置および情報処理装置の時刻同期方法を提供することを目的とする。
【００１０】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【００１２】
すなわち、代表的なものの概要は、メインシステムは、演算部と、メインシステムにクロック信号を供給するクロックジェネレータと、演算部と接続される第１記憶部と、演算部と接続されるサウスブリッジとを有し、演算部は、メインシステム上で動作するＯＳの時刻を計時する第１計時部を有し、サウスブリッジは、メインシステムの基準時刻を計時する第２計時部を有し、保守管理システムは、メインシステムのクロックジェネレータからクロック信号を受信するシステムバスクロックカウンタ部と、システムバスクロックカウンタ部および第２計時部と接続されるＢＭＣと、ＢＭＣと接続される第２記憶部とを有し、ＢＭＣは、第２計時部から起動時点の時刻ＴＩＭＥRTCを取得して第２記憶部に保存し、時刻ＴＩＭＥRTCを保存した時におけるシステムバスクロックカウンタ部のカウンタ値ＣＯＵＮＴSTARTを、第２記憶部に保存し、メインシステム側で第１計時部による時刻を含むログが保存された際に、その保存に同期して保守管理システム側でログを保存する場合、メインシステム側でログが保存された時におけるシステムバスクロックカウンタ部のカウンタ値ＣＯＵＮＴOFFSETを、第２記憶部に保存し、第１計時部の計時の刻みとシステムバスクロックカウンタ部のカウンタの計時の刻みとの比率、時刻ＴＩＭＥRTC、カウンタ値ＣＯＵＮＴSTART、およびカウンタ値ＣＯＵＮＴOFFSETに基づいて、メインシステム側でログが保存された時のＯＳ時刻を算出するものである。
【発明の効果】
【００１３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【００１４】
すなわち、代表的なものによって得られる効果は、システムバスクロックカウンタ回路は、クロック信号からクロックをカウントすることにより、メインシステムのインターバルタイマによって計時されるソフト時計の時刻の刻みをカウントすることができる。保守管理システムは、システムバスクロックカウンタ回路が保持するクロックのカウントした値とＯＳ起動時のＲＴＣ時刻から精度の高いＯＳ時刻求めることができる。また、メインシステムの障害発生時に、メインシステムと保守管理システムで検出された障害の時刻関係が明確なログを採取することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態に係る情報処理装置の構成を示す構成図である。
【図２】本発明の一実施の形態に係る情報処理装置のＲＴＣの構成を示す構成図である。
【図３】本発明の一実施の形態に係る情報処理装置のＢＭＣの構成を示す構成図である。
【図４】本発明の一実施の形態に係る情報処理装置のＢＭＣによる時刻同期処理を示すフローチャートである。
【図５】本発明の一実施の形態に係る情報処理装置のＢＭＣによる時刻同期処理時のメインシステムとＢＭＣとの間の動作を示すタイムシーケンスである。
【図６】従来の情報処理装置における障害検出時の動作を示すタイムシーケンスである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１７】
図１により、本発明の一実施の形態に係る情報処理装置の構成について説明する。図１は本発明の一実施の形態に係る情報処理装置の構成を示す構成図である。
【００１８】
図１において、情報処理装置１００は、メインシステム１０１、保守管理システム１０２を備え、メインシステム１０１は主電源１２８からの電源供給により動作している。
【００１９】
メインシステム１０１は、クロックジェネレータ１０３、第１記憶部であるメモリ１０４、ＣＰＵ１０６、Ｉ／Ｏ  Ｈｕｂ（以下ＩＯＨと称する）１０９、サウスブリッジであるＩ／Ｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ（以下ＩＣＨと称する）１１１を有している。
【００２０】
メモリ１０４は、ログ（以下メインシステムのログをログOSと称す）１０５を保存している。
【００２１】
ＣＰＵ１０６は、メインシステム１０１上で動作するＯＳ１０７を実行し、第１計時部であるソフト時計１０８も動作させている。また、ＣＰＵ１０６は、クロック信号線１２６を介しクロックジェネレータ１０３と接続している。
【００２２】
ＩＣＨ１１１は、メインシステム１０１の基準時刻を計時する第２計時部であるＲＴＣ１１３を備えている。
【００２３】
クロックジェネレータ１０３は、ＣＰＵ１０６のクロック信号を生成させるための回路である。クロックジェネレータ１０３により生成されるクロック信号は、ＣＰＵ１０６上で動作するソフト時計１０８の時刻の更新に使用される。
【００２４】
また、クロックジェネレータ１０３は、詳細は後述するが、保守管理システムのシステムバスクロックカウンタ回路１１５と接続され、クロックジェネレータ１０３により生成されるクロック信号は、システムバスクロックカウンタ回路１１５に出力される。
【００２５】
ＣＰＵ１０６上で動作するＯＳ１０７は、ソフト時計１０８を用いてＯＳ１０７の時刻を管理する。ＯＳ１０７は、メインシステム１０１の障害を検出すると、メモリ１０４にログOS１０５を保存する。ログOS１０５には、障害情報と、障害検出時のソフト時計１０８の時刻とが保存される。
【００２６】
また、ＣＰＵ１０６は、ＱｕｉｃｋＰａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（以下ＱＰＩと称する）１１０を介し、ＩＯＨ１０９と接続をしている。ＩＯＨ１０９は、Ｅｎｔｅｒｐｒｉｓｅ  Ｓｏｕｔｈｂｒｉｄｇｅ  Ｉｎｔｅｒｆａｃｅ（ＥＳＩ）１１２を介し、ＩＣＨ１１１と接続している。
【００２７】
また、保守管理システム１０２は、システムバスクロックカウンタ回路１１５、ＢＭＣ１１８、センサ１１９、第２記憶部であるメモリ１２１を備えている。
【００２８】
システムバスクロックカウンタ回路１１５は、クロック信号線１２６を介し、クロックジェネレータ１０３が生成するクロック信号を受信し、クロックをカウントする。このカウントした値は、カウンタレジスタ１１６に保存される。
【００２９】
また、ＢＭＣ１１８は、Ｉ2Ｃバス１２０を介し、センサ１１９と接続している。センサ１１９は、メインシステム１０１の障害情報が入力されるのを監視し、障害を検出する。メインシステム１０１の障害の検出後、ＢＭＣ１１８はメモリ１２１にログ（以下保守管理システムのログをログBMCと称す）１２５を保存する。
【００３０】
また、ＢＭＣ１１８は、Ｉ2Ｃバス１１４を介し、メインシステム内のＲＴＣ１１３と接続している。ＢＭＣ１１８は、メインシステム１０１の基準となるＲＴＣ時刻をＲＴＣ１１３からＩ2Ｃバス１１４を介し取得し、取得したＲＴＣ時刻をメモリ１２１にＴＩＭＥRTC１２２として保存する。
【００３１】
メモリ１２１にＲＴＣ時刻を保存した直後に、ＢＭＣ１１８は、カウンタレジスタ１１６の値をＣＯＵＮＴSTART１２３としてメモリ１２１に保存する。そして、障害が発生すると、ＢＭＣ１１８は、障害発生時におけるカウンタレジスタ１１６の値をＣＯＵＮＴOFFSET１２４としてメモリ１２１に保存する。
【００３２】
また、ＢＭＣ１１８は、主電源制御バス１２７を介して、主電源１２８に接続され、主電源１２８を制御している。
【００３３】
次に、図２および図３により、本発明の一実施の形態に係る情報処理装置のＲＴＣおよびＢＭＣの構成について説明する。図２は本発明の一実施の形態に係る情報処理装置のＲＴＣの構成を示す構成図、図３は本発明の一実施の形態に係る情報処理装置のＢＭＣの構成を示す構成図である。
【００３４】
図２において、ＲＴＣ１１３は、電池１３０から電源供給を受けて内部の基準計時部で動作を行い時刻を刻む。ＲＴＣ１１３は、日付および時刻をＲＴＣ時刻１２９として提供する。ＣＰＵ１０６のＯＳ１０７は、ブート時にＲＴＣ１１３からＲＴＣ時刻１２９を取得し、ＲＴＣ時刻１２９をソフト時計１０８に設定する。その後ＯＳ１０７は、ソフト時計１０８を用いて時刻を管理する。
【００３５】
図３において、ＢＭＣ１１８は、ＣＰＵ１３１、各種インタフェースを１チップに集積したシングルチップ・マイコンであり、保守管理システム１０２に必要な障害の監視や、ログ管理のためのプログラムを実行する。ＢＭＣ１１８は、Ｉ2Ｃバス１１７を介し、システムバスクロックカウンタ回路１１５と接続している。ＣＰＵ１３１は、保守管理システム１０２上で動作するＯＳ１３２を実行する。
【００３６】
次に、図４により、本発明の一実施の形態に係る情報処理装置のＢＭＣによる時刻同期処理について説明する。図４は本発明の一実施の形態に係る情報処理装置のＢＭＣによる時刻同期処理を示すフローチャートである。
【００３７】
まず、ＢＭＣ１１８は、パワーボタン押下などにより、主電源投入要因があると、主電源制御バス１２７を介して、主電源１２８の投入指示を行う（Ｓ１０１）。
【００３８】
Ｓ１０１での主電源投入指示後、ＢＭＣ１１８は、ＲＴＣ１１４からＲＴＣ時刻１２９を取得する。この時刻をＴＩＭＥRTC１２２とする。ＢＭＣ１１８は、ＴＩＭＥRTC１２２をメモリ１２１に保存する（Ｓ１０２）。
【００３９】
ＴＩＭＥRTC１２２をメモリ１２１に保存した直後に、カウンタレジスタ１１６の値を取得する。この時取得したカウンタレジスタ値をＣＯＵＮＴSTART１２３とする。ＢＭＣ１１８は、ＣＯＵＮＴSTART１２３をメモリ１２１に保存する（Ｓ１０３）。
【００４０】
そして、ＢＭＣ１１８は、センサ１１９に障害情報が入力されるのを監視し、メインシステム１０１の障害を検出し（Ｓ１０４）、Ｓ１０４で障害を検出するまでＳ１０４を繰り返す。
【００４１】
そして、Ｓ１０４で障害を検出すると、ＢＭＣ１１８は、障害を検出した直後にカウンタレジスタ１１６の値を取得する。この時取得したカウンタレジスタ値をＣＯＵＮＴOFFSET１２４とする。ＢＭＣ１１８は、ＣＯＵＮＴOFFSET１２４をメモリ１２１に保存する（Ｓ１０５）。
【００４２】
そして、メモリ１２１に保存された、ＴＩＭＥRTC１２２、ＣＯＵＮＴSTART１２３、ＣＯＵＮＴOFFSET１２４を基に、障害発生時のＯＳ時刻を算出する（Ｓ１０６）。
【００４３】
ＢＭＣ１１８は、以下の式１から得られた障害発生時のＯＳ時刻を、ログBMC１２５を出力し、メモリ１２１に記録する（Ｓ１０７）。
【００４４】
障害発生時のＯＳ時刻＝ＴＩＭＥRTC１２２＋ＣｌｏｃｋＴｏＴｉｍｅ（ＣＯＵＮＴOFFSET１２４−ＣＯＵＮＴSTART１２３）  …（１）
システムバスクロックカウンタ回路１１５は、メインシステム１０１のクロックジェネレータ１０３のクロック信号を用いているので、システムバスクロックカウンタ回路１１５でカウントしたＣＯＵＮＴOFFSET１２４とＣＯＵＮＴSTART１２３との差分Δは、メインシステム１０１においても同じクロック刻みの差分Δといえる。
【００４５】
ところで、ＯＳ１０７の時刻は、ソフト時計１０８により計時されているので、保守管理システム１０２の計時の刻みとは、一致しているとは限らない。
【００４６】
そこで、本実施の形態では、ソフト時計１０８の計時の刻みと、カウンタレジスタ（クロックジェネレータ１０３ともいえる）１１６の計時の刻みとの比率を算出し、その比率をＣｌｏｃｋＴｏＴｉｍｅ関数に反映することで、上記の式１から障害発生時のＯＳ時刻を算出することができる。
【００４７】
例えば、ＣＰＵ１０６の種類等により、ＣＰＵ１０６に供給される動作クロックが異なり、ソフト時計１０８の計時の刻みが１秒単位であれば、ＣＰＵ１０６の動作クロックに対応した１秒当たりのクロック数が比率となり、この比率が予めメインシステム１０１のＣＰＵ１０６が決定した際に、ＢＭＣ１１８内でＣｌｏｃｋＴｏＴｉｍｅ関数として設定されるか、またはＣＰＵ１０６の種類等やＣＰＵ１０６に供給される動作クロックが可変するような場合は、それに合わせて、例えばＢＭＣ１１８などによりＣｌｏｃｋＴｏＴｉｍｅ関数が変更されて設定されるようになっている。
【００４８】
次に、図５により、本発明の一実施の形態に係る情報処理装置のＢＭＣによる時刻同期処理時のメインシステムとＢＭＣとの間の動作について説明する。図５は本発明の一実施の形態に係る情報処理装置のＢＭＣによる時刻同期処理時のメインシステムとＢＭＣとの間の動作を示すタイムシーケンスである。
【００４９】
まず、メインシステム１０１は、ＢＭＣ１１８による主電源投入指示（Ｓ１０１）による主電源投入開始（Ｓ２０１）の後、リセット解除を行う（Ｓ２０２）。
【００５０】
メインシステム１０１のリセット解除後、ＯＳ１０７のブートが開始する（Ｓ２０４）。
【００５１】
ＢＭＣ１１８は、Ｓ１０１の主電源投入指示後は、ＴＩＭＥRTC１２２をメモリ１２１に保存し（Ｓ１０２）、ＣＯＵＮＴSTART１２３をメモリ１２１に保存する（Ｓ１０３）。
【００５２】
ＯＳ１０７は、ブート開始時にＲＴＣ１１３から基準となる時刻を読み込み（Ｓ２０５）、この時刻をソフト時計１０８に設定する（Ｓ２０６）。この後、ＯＳ１０７はソフト時計１０８により時刻を確認している。
【００５３】
メインシステム１０１上でハードウェア（Ｈ／Ｗ）障害が発生すると（Ｓ２０３）、ＯＳ１０７およびＢＭＣ１１８がそれぞれ障害を検出する（Ｓ１０４、Ｓ２０７）。
【００５４】
障害検出後、ＯＳ１０７は、ソフト時計１０８の時刻を基に障害時刻および障害情報をログOS１０５としてメモリ１０４に保存する（Ｓ２０８）。
【００５５】
ＢＭＣ１１８では、障害を検出した後、ＣＯＵＮＴOFFSET１２４をメモリ１２１に保存し（Ｓ１０５）、ＴＩＭＥRTC１２２、ＣＯＵＮＴSTART１２３、ＣＯＵＮＴOFFSET１２４を基に、障害発生時のＯＳ時刻を算出する（Ｓ１０６）。
【００５６】
ＢＭＣ１１８は、上記の式１から得られた障害発生時のＯＳ時刻を、ログBMC１２５を出力し、メモリ１２１に記録する（Ｓ１０７）。
【００５７】
本発明では、ＢＭＣ１１８側での、障害発生時のＯＳ時刻の算出を、システムバスクロックカウンタ回路１１５のカウンタレジスタ１１６の値で算出しているので、メインシステム１０１のＣＰＵ１０６で処理されるソフト時計１０８の計時の基となるクロックジェネレータ１０３のクロック数に基づいた差分Δは、ソフト時計１０８での計時に使用されるクロック数の差分Δと同じなため、ＣｌｏｃｋＴｏＴｉｍｅ関数によるクロック数とソフト時計１０８での計時の刻みの比率の計算により、ＢＭＣ１１８側でメインシステム１０１のソフト時計１０８のＯＳ時刻と同じ時刻を算出することが可能である。
【００５８】
ここで、具体的な時間関係を示す一例を説明する。
【００５９】
ＢＭＣ１１８が主電源投入指示を行い、ＲＴＣ時刻１２９を保存した時のＲＴＣ時刻１２９を１０時００分（この時刻をＴ１とする）とし、この直後にＢＭＣ１１８がカウンタレジスタから取得した値を１００する。
【００６０】
また、ＯＳ１０７がブート時にＲＴＣ時刻１２９の取得をした時のＲＴＣ時刻１２９を１０時０１分（この時刻をＴ２とする）とし、メインシステム１０１に障害が発生し、ＯＳ１０７が障害を検出した時のＯＳ時刻を１０時２０分（この時刻をＴ３とする）とする。
【００６１】
また、システムバスクロックカウンタ回路１１５は、クロック信号線１２６からのクロック数をカウントし、１秒にカウンタレジスタ１１６を１カウントするものとする。
【００６２】
この場合において、ＢＭＣ１１８は障害検出後に、カウンタレジスタ１１６の値は１３００になる。ＢＭＣ１１８が電源投入開始指示後から、ＯＳ１０７がＲＴＣ時刻１２９を取得するまで時間は、Ｔ２−Ｔ１＝６０秒である。この６０秒間は、ＲＴＣ１１３自身が時刻を刻むことになるが、ＢＭＣ１１８がＲＴＣ時刻１２９を保存してから、ＯＳ１０７のブート開始からＲＴＣ時刻１２９の読み込みまでの時間は十分時間が短いため、この時点でのＯＳ時刻とＲＴＣ時刻１２９の刻み幅に誤差はほとんど生じないため、この誤差はないものとする。
【００６３】
この６０秒間にシステムバスクロックカウンタ回路１１５は６０カウントする。ＯＳ１０７がＲＴＣ時刻１２９を取得し、ＯＳ１０７が障害検出までの時間は、Ｔ３−Ｔ２＝１１４０秒である。この１１４０秒間は、ソフト時計１０８を基に時刻を刻むので、システムバスクロックカウンタ回路１１５は１１４０カウントする。
【００６４】
この時のカウンタレジスタ１１６の値は、１００＋６０＋１１４０＝１３００となっている。
【００６５】
よってＢＭＣ１１８はＯＳ１０７の障害検出時に時間をＴ１＋ＣｌｏｃｋＴｏＴｉｍｅ（１３００−１００）となり、この場合のＣｌｏｃｋＴｏＴｉｍｅ関数は１秒間に１カウントアップするので１０時００分＋１２００秒となり、ＢＭＣ１１８は、ＯＳ障害発生時刻を１０時２０分と算出することが可能である。
【００６６】
すなわち、常に、ＢＭＣ１１８側でのメインシステム１０１側のＯＳ時刻の確認は、ソフト時計１０８の計時の基となるクロックジェネレータ１０３のクロック数の差分Δに基づいて算出しているため、ソフト時計１０８によるＯＳ時刻と同じ時刻を算出することが可能である。
【００６７】
ここで、図６により、比較例として、従来の情報処理装置における障害検出時の動作について説明する。図６は従来の情報処理装置における障害検出時の動作を示すタイムシーケンスである。
【００６８】
まず、メインシステム１０１は、ＢＭＣ１１８による主電源投入指示（Ｓ１０１）による主電源投入開始（Ｓ２０１）の後、リセット解除を行う（Ｓ２０２）。
【００６９】
メインシステム１０１のリセット解除後、ＯＳ１０７のブートが開始する（Ｓ２０４）。
【００７０】
ＯＳ１０７は、ブート開始時にＲＴＣ１１３から基準となる時刻を読み込み（Ｓ２０５）、この時刻をソフト時計１０８に設定する（Ｓ２０６）。この後、ＯＳ１０７はソフト時計１０８により時刻を確認している。
【００７１】
メインシステム１０１上でハードウェア（Ｈ／Ｗ）障害が発生すると（Ｓ２０３）、ＯＳ１０７およびＢＭＣ１１８がそれぞれ障害を検出する（Ｓ１０４、Ｓ２０７）。
【００７２】
障害検出後、ＯＳ１０７は、ソフト時計１０８の時刻を基に障害時刻および障害情報をログOS１０５としてメモリ１０４に保存する（Ｓ２０８）。
【００７３】
また、ＢＭＣ１１８は、ＢＭＣ１１８内で計時しているＢＭＣ時刻を基にログを出力する（Ｓ１０８）。ＢＭＣ１１８によるＢＭＣ時刻およびソフト時計１０８によるＯＳ時刻はともに独立して時刻を刻むので、ＢＭＣ１１８およびＯＳ１０７のログの時間関係が必ずしも一致しているとは限らない。
【００７４】
したがって、このような従来の情報処理装置では、保守管理システム１０２側での障害時のログの時刻を確認する際、メインシステム１０１側で保存されたＯＳ時刻と一致しないため、その確認作業に時間がかかったり、確認が困難になる場合がある。
【００７５】
本実施の形態では、メインシステム１０１と保守管理システム１０２に保存される障害発生時の時刻が必ず一致するため、このような問題は発生しない。
【００７６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００７７】
例えば、本実施の形態では、障害発生時のログの時刻について説明したが、障害発生時に限らず、メインシステム１０１および保守管理システム１０２において、メインシステム側でソフト時計１０８の時刻を含むログが保存される際に同期して、保守管理システム１０２にログを保存する場合などでの時刻の記録にも適用することが可能である。
【００７８】
ＢＭＣ１１８側でカウンタレジスタ１１６のカウント値による算出した時刻は、必ず、ソフト時計１０８の計時のよる時刻と同じになるため、保守管理システム側でのメインシステム１０１の監視時の時間管理などに適用することも可能である。
【産業上の利用可能性】
【００７９】
本発明は、サーバ等の情報処理装置に関し、障害発生時に採取するログの時刻の同期を行う装置やシステムなどに広く適用可能である。
【符号の説明】
【００８０】
１００…情報処理装置、１０１…メインシステム、１０２…保守管理システム、１０３…クロックジェネレータ、１０４、１２１…メモリ、１０５…ログOS、１０６、１３１…ＣＰＵ、１０７、１３２…ＯＳ、１０８…ソフト時計、１０９…ＩＯＨ、１１０…ＱＰＩ、１１１…ＩＣＨ、１１２…ＥＳＩ、１１３…ＲＴＣ、１１４、１１７、１２０…Ｉ2Ｃバス、１１５…システムバスクロックカウンタ回路、１１６…カウンタレジスタ、１１８…ＢＭＣ、１１９…センサ、１２２…ＴＩＭＥRTC、１２３…ＣＯＵＮＴSTART、１２４…ＣＯＵＮＴOFFSET、１２５…ログBMC、１２６…クロック信号線、１２７…主電源制御バス、１２８…主電源、１２９…ＲＴＣ時刻、１３０…電池。
【図１】
2012128552.tif 000003
【図２】
2012128552.tif 000004
【図３】
2012128552.tif 000005
【図４】
2012128552.tif 000006
【図５】
2012128552.tif 000007
【図６】
2012128552.tif 000008