(57)【特許請求の範囲】
【請求項１】
第１のＲＴＣを備える稼働系チップセットと、第２のＲＴＣを備える予備系チップセットとを備える情報処理装置であって、
システム時刻を計時する第３のＲＴＣと、
前記稼働系チップセットの第１のＲＴＣから取得され、定期的に通知されるシステム時刻と、前記第３のＲＴＣにより計時されているシステム時刻との差分時刻を算出する差分時刻算出部と、
前記差分時刻算出部により算出された差分時刻を保持する保持部と、
障害発生時等のチップセット切替え時に、前記第３のＲＴＣのシステム時刻と前記保持部に保持してある差分時刻とに基づいて、切替後の前記予備系チップセットの第２のＲＴＣにセットすべき仮システム時刻を算出する算出部と、
前記算出部によって算出された前記仮システム時刻を、前記予備系チップセットの第２のＲＴＣに設定する設定部と
を備えることを特徴とする情報処理装置。
【請求項２】
障害発生時等のチップセット切替え時に、前記予備系チップセットの第２のＲＴＣのシステム時刻と前記算出部によって算出された前記仮システム時刻とを比較し、双方の差分が所定の閾値以上であるか否かを判定する判定部を更に備え、
前記設定部は、前記判定部により、双方の差分が所定の閾値以上であると判定された場合に、前記仮システム時刻を、前記予備系チップセットの第２のＲＴＣに設定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定部および前記判定部は、ＵＥＦＩ（Unified Extensible Firmware Interface）サービスを行う機能部であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記算出部は、延期システム時刻に前記差分時刻を加算して前記仮システム時刻を算出することを特徴とする請求項１から請求項３の何れか一項に記載の情報処理装置。
【請求項５】
第１のＲＴＣを備える稼働系チップセットと、第２のＲＴＣを備える予備系チップセットとを備える情報処理装置の管理コントローラであって、
システム時刻を計時する第３のＲＴＣと、
前記稼働系チップセットの第１のＲＴＣから取得され、定期的に通知されるシステム時刻と、前記第３のＲＴＣにより計時されているシステム時刻との差分時刻を算出する差分時刻算出部と、
前記差分時刻算出部により算出された差分時刻を保持する保持部と、
障害発生時等のチップセット切替え時に、前記第３のＲＴＣのシステム時刻と前記保持部に保持してある差分時刻とに基づいて、切替後の前記予備系チップセットの第２のＲＴＣにセットすべき仮システム時刻を算出する算出部と
を備えることを特徴とする管理コントローラ。
【請求項６】
第１のＲＴＣを備える稼働系チップセットと、第２のＲＴＣを備える予備系チップセットとを備える情報処理装置でのシステム時刻同期方法であって、
第３のＲＴＣによりシステム時刻を計時するステップと、
前記稼働系チップセットの第１のＲＴＣから取得され、定期的に通知されるシステム時刻と、前記第３のＲＴＣにより計時されているシステム時刻との差分時刻を算出するステップと、
前記算出された差分時刻を記憶部に保持するステップと、
障害発生時等のチップセット切替え時に、前記第３のＲＴＣのシステム時刻と前記記憶部に保持してある差分時刻とに基づいて、切替後の前記予備系チップセットの第２のＲＴＣにセットすべき仮システム時刻を算出するステップと、
前記算出された前記仮システム時刻を、前記予備系チップセットの第２のＲＴＣに設定するステップと
を含むことを特徴とするシステム時刻同期方法。
【請求項７】
第１のＲＴＣを備える稼働系チップセットと、第２のＲＴＣを備える予備系チップセットとを備える情報処理装置のコンピュータに、
第３のＲＴＣによりシステム時刻を計時する第３の計時機能、
前記稼働系チップセットの第１のＲＴＣから取得され、定期的に通知されるシステム時刻と、第３のＲＴＣにより計時されているシステム時刻との差分時刻を算出する差分時刻算出機能、
前記差分時刻算出機能により算出された差分時刻を保持する保持機能、
障害発生時等のチップセット切替え時に、前記第３のＲＴＣのシステム時刻と前記保持部に保持してある差分時刻とに基づいて、切替後の前記予備系チップセットの第２のＲＴＣにセットすべき仮システム時刻を算出する算出機能、
前記算出機能によって算出された前記仮システム時刻を、前記予備系チップセットの第２のＲＴＣに設定する設定機能
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、管理コントローラ、システム時刻同期方法、及びプログラムに関する。
【背景技術】
【０００２】
システム稼動に必要不可欠なチップセットを、可用性向上のために、予備資源として複数備える情報処理装置がある。このような情報処理装置では、現在稼働中のチップセットにおいて障害が発生してシステムダウンとなった場合においては、予備資源のチップセットで動作するように接続を切り替えてシステム起動不可状態となるのを防止するようになっている。
【０００３】
しかしながら、通常、複数のチップセット間では、内蔵されたＲＴＣ（Real Time Clock）の時刻同期がとれておらず、切り替え後に適切に同期をとらないと、システム時刻不正と見なされ、ＯＳ（Operating System）やアプリケーションに動作に悪影響を及ぼすなど、様々な問題が発生する。以下に、システム時刻を同期させるための様々な技術について説明する。
【０００４】
例えば、特許文献１には、ネットワークを構成する各ユニット（コンピュータ）に、システム時刻が通知されたとき、オペレーティングシステムが管理するＯＳ時刻を変更しないで、システム時刻とＯＳ時刻との差分値を保存し、アプリケーションからシステム時刻が要求されると、ＯＳ時刻に差分値を加算して返す技術が提案されている。
【０００５】
また、特許文献２には、マルチタスクシステムにおいて、ネットワークのＮＴＰ（Network Time Protocol）サーバから取得された基準時刻と内蔵タイマのシステム時刻との時刻差を算出し、周期的に実行される時刻補正タスクによって、算出された時刻差に基づいて、システム時刻を補正する技術が提案されている。
【０００６】
また、特許文献３には、２台の計算機を用いる２重系計算機システムに係り、２台の計算期間で時刻を同期させるために、主系計算機のタイマの時刻を、双方からアクセス可能なメモリに定期的に書き込み、主系計算機が故障した場合に、上記メモリから時刻を読み出して時刻の初期値として用いる技術が提案されている。
【０００７】
また、特許文献４には、現用系情報処理装置から自計時機能の出力する時刻を示す情報を、予備系情報処理装置を診断するための診断情報に付加して予備系情報処理装置に送信し、予備系情報処理装置では、受信した診断情報に付加された時刻と自計時機能の出力する時刻とを比較し、診断情報に付加された時刻に一致するように補正する技術が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−１７５１２９号公報
【特許文献２】特開２００６−３４９３６４号公報
【特許文献３】特開昭５８−０６４５２６号公報
【特許文献４】特公昭６２−０４６０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した特許文献１〜４の技術では、システム（ＯＳ）とアプリケーション間、２系統の情報処理装置間で時刻を同期させたり、外部のサーバを用いて時刻を補正したりすることは可能である。しかしながら、特許文献１〜４の技術では、システム稼動に必要不可欠な複数のチップセットを備える情報処理装置において、現在稼働中のチップセットにおいて障害が発生してシステムダウンとなった際に、予備資源のチップセットで動作するように切り替える状況や、そのよう状況が生じた場合にチップセット間で時刻同期を行う技術が開示されておらず、対応することは困難であるという問題があった。
【００１０】
そこでこの発明は、上述の課題を解決することのできる情報処理装置、管理コントローラ、システム時刻同期方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
上述した課題を解決するために、本発明は、第１のＲＴＣを備える稼働系チップセットと、第２のＲＴＣを備える予備系チップセットとを備える情報処理装置であって、システム時刻を計時する第３のＲＴＣと、前記稼働系チップセットの第１のＲＴＣから取得され、定期的に通知されるシステム時刻と、前記第３のＲＴＣにより計時されているシステム時刻との差分時刻を算出する差分時刻算出部と、前記差分時刻算出部により算出された差分時刻を保持する保持部と、障害発生時等のチップセット切替え時に、前記第３のＲＴＣのシステム時刻と前記保持部に保持してある差分時刻とに基づいて、切替後の前記予備系チップセットの第２のＲＴＣにセットすべき仮システム時刻を算出する算出部と、前記算出部によって算出された前記仮システム時刻を、前記予備系チップセットの第２のＲＴＣに設定する設定部とを備えることを特徴とする情報処理装置である。
【００１２】
また、上述した課題を解決するために、本発明は、第１のＲＴＣを備える稼働系チップセットと、第２のＲＴＣを備える予備系チップセットとを備える情報処理装置の管理コントローラであって、システム時刻を計時する第３のＲＴＣと、前記稼働系チップセットの第１のＲＴＣから取得され、定期的に通知されるシステム時刻と、前記第３のＲＴＣにより計時されているシステム時刻との差分時刻を算出する差分時刻算出部と、前記差分時刻算出部により算出された差分時刻を保持する保持部と、障害発生時等のチップセット切替え時に、前記第３のＲＴＣのシステム時刻と前記保持部に保持してある差分時刻とに基づいて、切替後の前記予備系チップセットの第２のＲＴＣにセットすべき仮システム時刻を算出する算出部とを備えることを特徴とする管理コントローラである。
【００１３】
また、上述した課題を解決するために、本発明は、第１のＲＴＣを備える稼働系チップセットと、第２のＲＴＣを備える予備系チップセットとを備える情報処理装置でのシステム時刻同期方法であって、第３のＲＴＣによりシステム時刻を計時するステップと、前記稼働系チップセットの第１のＲＴＣから取得され、定期的に通知されるシステム時刻と、前記第３のＲＴＣにより計時されているシステム時刻との差分時刻を算出するステップと、前記算出された差分時刻を記憶部に保持するステップと、障害発生時等のチップセット切替え時に、前記第３のＲＴＣのシステム時刻と前記記憶部に保持してある差分時刻とに基づいて、切替後の前記予備系チップセットの第２のＲＴＣにセットすべき仮システム時刻を算出するステップと、前記算出された前記仮システム時刻を、前記予備系チップセットの第２のＲＴＣに設定するステップとを含むことを特徴とするシステム時刻同期方法である。
【００１４】
また、上述した課題を解決するために、本発明は、第１のＲＴＣを備える稼働系チップセットと、第２のＲＴＣを備える予備系チップセットとを備える情報処理装置のコンピュータに、第３のＲＴＣによりシステム時刻を計時する第３の計時機能、前記稼働系チップセットの第１のＲＴＣから取得され、定期的に通知されるシステム時刻と、第３のＲＴＣにより計時されているシステム時刻との差分時刻を算出する差分時刻算出機能、前記差分時刻算出機能により算出された差分時刻を保持する保持機能、障害発生時等のチップセット切替え時に、前記第３のＲＴＣのシステム時刻と前記保持部に保持してある差分時刻とに基づいて、切替後の前記予備系チップセットの第２のＲＴＣにセットすべき仮システム時刻を算出する算出機能、前記算出機能によって算出された前記仮システム時刻を、前記予備系チップセットの第２のＲＴＣに設定する設定機能を実行させることを特徴とするプログラムである。
【発明の効果】
【００１５】
この発明によれば、現在稼働中のチップセットにおいて障害が発生してシステムダウンとなった場合でも、予備資源のチップセットにおける時刻をシステム時刻に容易に同期させることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による情報処理装置１０１の構成を示すブロック図である。
【図２】本実施形態により実現される機能構成を示すブロック図である。
【図３】本実施形態による情報処理装置１０１の通常時の動作を説明するためのフローチャートである。
【図４】本実施形態による情報処理装置１０１のチップセット切り替え時の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
本発明は、予備資源としてのチップセットと、ＢＭＣ（Base Management Controller）のようなシステム管理コントローラを持つ装置において、チップセット間での適切なシステム時刻同期を実現するものである。
【００１８】
本発明では、通常稼動時には、まず、システムは、定期的にＲＴＣ（Real Time Clock）からシステム時刻を取得して管理コントローラに時刻を通知する。そして、管理コントローラは、システムから受け取った時刻と管理コントローラ自身が持つシステム時刻との差分時刻を計算し、内部に保持する。
【００１９】
チップセット障害が発生して使用チップセットの切り替えが発生した場合には、まず、システムは、一旦、シャットダウンされ、次回起動時に使用するチップセットに切り替える。次に、システムの初期化時において、管理コントローラは、自身が保持する時刻情報と、予め保存しておいた差分時刻とを用いて、ＲＴＣに書き戻すべきシステム時刻を計算する。そして、システムは、管理コントローラからシステム時刻を受け取り、チップセットに内蔵されたＲＴＣに書き戻すことによって、システム時刻を復旧させる。この結果、本発明では、チップセット切り替え後のシステム時刻同期の適切な実現が可能となっている。
【００２０】
以下、本発明の一実施形態を、図面を参照して説明する。
【００２１】
図１は、本発明の実施形態による情報処理装置１０１の構成を示すブロック図である。図において、情報処理装置１０１は、ＣＰＵ２０１、２つのチップセット３０１、３０２、管理コントローラ４０１を備えている。チップセット３０１、３０２は、それぞれ内部にシステム時刻を保持するためのＲＴＣ３１１、３１２を有する。管理コントローラ４０１は、ＢＭＣ等からなり、内部にシステム時刻を保持するためのＲＴＣ４１１と差分時刻情報を記憶する記憶部４１２とを有する。
【００２２】
図２は、本実施形態により実現される機能構成を示すブロック図である。図２において、稼働系チップセット５００は、図１のチップセット３０１に相当し、通常、稼働しているチップセットであり、第１のＲＴＣ５０１を備えている。第１のＲＴＣ５０１は、図１のＲＴＣ３１１に相当する。予備系チップセット５０２は、図１のチップセット３０２に相当し、稼働系チップセット５００が故障した場合などに稼働されるチップセットであり、第２のＲＴＣ５０３を備えている。第２のＲＴＣ５０３は、図１のＲＴＣ３１２に相当する。第３のＲＴＣ５０４は、図１のＲＴＣ４１１に相当し、システム時刻を計時する。
【００２３】
差分時刻算出部５０５は、稼働系チップセット５００の第１のＲＴＣ５０１から取得され、定期的に通知されるシステム時刻と、第３のＲＴＣ５０４により計時されているシステム時刻との差分時刻を算出する。保持部５０６は、図１の記憶部４１２に相当し、差分時刻算出部５０５により算出された差分時刻を保持する。
【００２４】
算出部５０７は、障害発生時等のチップセット切替え時に、第３のＲＴＣ５０４のシステム時刻と保持部５０６に保持してある差分時刻とに基づいて、切替後の予備系チップセット５０２の第２のＲＴＣ５０３にセットすべき仮システム時刻を算出する。設定部５０８は、算出部５０７によって算出された仮システム時刻を、予備系チップセット５０２の第２のＲＴＣ５０３に設定する。
【００２５】
次に、本実施形態の動作について説明する。
図３は、本実施形態による情報処理装置１０１の通常時の動作を説明するためのフローチャートである。通常運用時、情報処理装置１０１上では、ＯＳ、またはアプリケーション（時刻設定ソフトウェア）が動作しており、定期的にＯＳシステム時刻を、ＵＥＦＩ（Unified Extensible Firmware Interface）サービスの時刻設定関数を使用してチップセット３０１のＲＴＣ３１１にセットするように指示する（ステップＳａ１）。
【００２６】
すると、情報処理装置１０１内のＵＥＦＩサービスを行う機能部は、時刻設定関数を用いて、管理コントローラ４０１に対してＯＳシステム時刻を送信するとともに（ステップＳａ２）、チップセット３０１のＲＴＣ３１１にＯＳシステム時刻をセットする（ステップＳａ３、Ｓａ４）。
【００２７】
管理コントローラ４０１（差分時刻算出部）は、ＵＥＦＩサービスを行う機能部による時刻設定関数によってＯＳシステム時刻を受信し（ステップＳａ５）、ＯＳシステム時刻と自身のＲＴＣ４１１から取得した管理コントローラのシステム時刻との差分時刻を計算し（ステップＳａ６）、該差分時刻を記憶部４１２（保持部）に保持する（ステップＳａ７）。
【００２８】
図４は、本実施形態による情報処理装置１０１のチップセット切り替え時の動作を説明するためのフローチャートである。チップセット３０１に障害が発生した場合、情報処理装置１０１は、障害が発生したチップセット３０１の代わりに、チップセット３０２をシステムに組み込んで、自身の起動・初期化を実施する。
【００２９】
情報処理装置１０１で稼動しているＵＥＦＩサービスの機能部は、システム初期化を実行し（ステップＳｂ１）、初期化時に管理コントローラ４０１に対して、仮システム時刻を要求する（ステップＳｂ２）。
【００３０】
管理コントローラ４０１（算出部）は、自身のＲＴＣ４１１から取得した管理コントローラのシステム時刻と記憶部４１２に保持している差分時刻とから、システム時刻＋差分時刻により仮システム時刻を計算し（ステップＳｂ３）、該仮システム時刻を送信する（ステップＳｂ４）。
【００３１】
情報処理装置１０１で稼動しているＵＥＦＩサービスの機能部（判定部、設定部）は、現在のチップセット３０２のＲＴＣ３１２のシステム時刻と管理コントローラ４０１から受け取った仮システム時刻とを比較する（ステップｓｂ５）。そして、ＵＥＦＩサービスの機能部は、ＲＴＣ３０２のシステム時刻と、管理コントローラ４０１から受信した仮システム時刻の差分の絶対値が閾値以上であれば（ステップＳｂ５のＹＥＳ）、双方の時刻に乖離があり、時刻補正の必要があると判断する。そして、ＵＥＦＩサービスの機能部は、管理コントローラ４０１から受信した仮システム時刻を、チップセット３０２のＲＴＣ３１２に書き込んで復旧する。一方、ＵＥＦＩサービスの機能部は、ＲＴＣ３１２のシステム時刻と管理コントローラ４０１から受信した仮システム時刻の差分の絶対値が閾値以上でない場合には（ステップＳｂ５のＮＯ）、時刻補正の必要がないと判断し、当該処理を終了する。
【００３２】
上述した実施形態によれば、特別なハードウェア開発を実施することなく、チップセット内蔵ＲＴＣ間でのシステム時刻同期を、簡易な構成で制御することができる。
【００３３】
また、上述した実施形態によれば、手動での同期を不要とし、自動で同期させることができる。
【００３４】
なお、上述した実施形態では、情報処理装置１０１は、ＣＰＵ２０１や予備リソースのチップセット３０２を１つしか備えていなかったが、それぞれ１つ以上備えていてもよい。また、管理コントローラ４０１は、複数個をチップセットごとに設けてもよく（上述の実施形態の場合では、チップセット３０１用とチップセット３０２用にそれぞれ管理コントローラを設ける）、切り替えの際には、それぞれの組単位でまとめて切り替えてもよい。この場合、管理コントローラ間で、時刻の差分情報を通信によってそれぞれの記憶部に共有する必要がある。
【符号の説明】
【００３５】
１０１  情報処理装置
２０１  ＣＰＵ
３０１、３０２  チップセット
３１１、３１２  ＲＴＣ
４０１  管理コントーラ
４１１  ＲＴＣ
４１２  記憶部
【図１】
0005488634.tif 000002
【図２】
0005488634.tif 000003
【図３】
0005488634.tif 000004
【図４】
0005488634.tif 000005