(57)【要約】【課題】  論理計算機システムにおいて、論理計算機ごとの時刻合わせを正確に行い、論理計算機間の時刻を同期させる手段を提供する。【解決手段】  ＯＳ３は、ハイパバイザ２に差分値取得命令を発行する（Ｓ８０１）。ハイパバイザ２は、当該論理区画の差分値をＯＳ３に報告する（Ｓ８０４）。ＯＳ３は、差分値が０か否かをチェックする（Ｓ８０６）。０であれば、処理を終了する。０でなければ、ハイパバイザ２に時刻合わせ開始通知命令を発行する（Ｓ８０７）。ハイパバイザ２は、当該論理区画の基準補整値を有効化する（Ｓ８０９）。ＯＳ３は、動作に影響のない差分値を含む差分値変更命令をハイパバイザ２に発行する（Ｓ８１１）。ハイパバイザ２は、その差分値によって当該論理区画の差分値を変更する（Ｓ８１３）。ＯＳ３は、差分値が０か否かをチェックする（Ｓ８１６）。０であれば、処理を終了する。０でなければ、処理を続行する。【選択図】      図８
2005267321.tif 000002
【特許請求の範囲】
【請求項１】
物理的な計算機において、それぞれでＯＳが動作する論理的な計算機である複数の論理計算機と、その各論理計算機に割り当てる資源を管理し、各論理計算機のＯＳの実行を制御する制御機構とからなる論理計算機システムにおいて、
前記制御機構が保持する、論理計算機システムの標準時刻および各論理計算機の時刻である論理時刻と前記標準時刻との時間差である差分時間のうち、各論理計算機の差分時間を所定値内にすることによって各論理計算機の論理時刻を前記標準時刻に合わせる時刻合わせ方法であって、
前記ＯＳが、定期的にまたは所定のタイミングで前記制御機構に対して前記ＯＳに対応する論理計算機の差分時間の取得要求を行うステップと、
前記制御機構が、前記ＯＳからの差分時間の取得要求に従って、前記ＯＳに対して当該論理計算機の差分時間を報告するステップと、
前記ＯＳが、前記制御機構から報告された当該論理計算機の差分時間が所定値内でなかったとき、前記ＯＳの動作に影響を与えない所定の差分時間を設定し、その設定した所定の差分時間の変更要求を前記制御機構に対して行うステップと、
前記制御機構が、前記ＯＳからの差分時間の変更要求に従って、当該論理計算機の差分時間を変更するステップと、
前記ＯＳが、当該論理計算機の差分時間が所定値内になるまで、前記差分時間の変更要求を前記制御機構に対して行うステップを繰り返すように制御するステップと、
を含むことを特徴とする論理計算機システムにおける時刻合わせ方法。
【請求項２】
前記差分時間を所定値内にする時刻合わせ中に標準時刻が変更された場合、
前記制御機構が、変更前の標準時刻と変更後の標準時刻との時間差である補整値を、前記時刻合わせ中の論理計算機に対応して保持するステップと、
前記制御機構が、前記差分時間が所定値内になったとき、前記補整値を前記差分時間に設定するステップと、
を更に含むことを特徴とする請求項１に記載の論理計算機システムにおける時刻合わせ方法。
【請求項３】
前記制御機構が、前記時刻合わせ中に前記ＯＳから論理時刻の取得要求があったとき、その時点の標準時刻、前記ＯＳに対応する論理計算機の差分時間および補整値を合算した値を論理時刻として前記ＯＳに対して報告するステップ
を更に含むことを特徴とする請求項２に記載の論理計算機システムにおける時刻合わせ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理計算機システムにおいて、論理計算機間の時刻を同期させるために、論理計算機ごとの時刻を合わせる時刻合わせ方法に関する。
【背景技術】
【０００２】
従来の計算機システムにおける時刻合わせ方式では、正確な時刻情報を有するＮＴＰ（Network Time Protocol）サーバから時刻情報を取得し、その時刻情報に基づいて時刻合わせを行っている。そのとき、論理区画ごとにＮＴＰサーバに接続するネットワーク環境が必要になる。また、ＮＴＰサーバが有する時刻情報をネットワーク経由で取得し、ネットワークによる転送速度や遅延時間などを考慮した上で、ＯＳ（Operating System）が動作する論理区画の時刻を設定している。
【０００３】
ここで、論理計算機システムは、物理的な計算機を複数の論理区画（論理計算機）に分割し、それぞれの論理区画においてＯＳを動作させることによって、物理的な計算機において複数の論理的な計算機を実現するものである。
その論理計算機システムにおいて動作する時計には、全体を制御するハイパバイザ（制御機構）が管理する、システムに１つの時刻（物理ＴＯＤ値）を提供する物理ＴＯＤ（Time Of Day clock）と、それぞれの論理区画ごとの論理的な時刻を示す論理ＴＯＤとがある。物理ＴＯＤには、ＮＴＰサーバなどから取得した時刻情報が設定される。論理ＴＯＤには実体がなく、その代わりに論理ＴＯＤと物理ＴＯＤとの差分時間情報が論理区画ごとに保持されている。論理区画で動作するゲストＯＳから時刻（論理ＴＯＤ値）取得の要求があったとき、ハイパバイザは、その時点の物理ＴＯＤ値に、ゲストＯＳに対応する論理区画の差分時間を加算し、その加算結果を論理ＴＯＤ値としてゲストＯＳに返すことによって論理ＴＯＤを実現している。一方、ゲストＯＳから時刻設定命令が発行されたとき、例えば、１０：００：０５という時刻を設定するように指示されることになるが（時刻は、実際には、マイクロ秒以下の桁まである）、このとき、ハイパバイザは、その設定指示された時刻とそのときの物理ＴＯＤ値との差分を計算し、その差分によって当該論理区画の差分時間情報を変更する（例えば特許文献１参照）。
【特許文献１】特開２０００−２０１５８号公報（段落００１１〜００１６、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、命令プロセッサ（ＣＰＵ、Central Processing Unit）を複数の論理区画で共有する論理計算機システムにおいては、ハイパバイザによる命令プロセッサのタイムスライススケジューリングによって、論理区画に対して命令プロセッサが割り当てられない時間が存在する。このため、ゲストＯＳが論理ＴＯＤを所定の時刻に設定しようとしても、その時刻を設定する処理の最中に当該論理区画から他の論理区画に命令プロセッサの割り当てが切り替えられると、タイムリーに意図した時刻を設定できないという問題がある。このとき、次に当該論理区画に対して命令プロセッサが割り当てられ、時刻設定処理の続きが動作する時点では、設定しようとした時刻から既に時間が経過してしまっている。その結果として、所定の精度以上には、時刻合わせをすることができないのが現状である。
【０００５】
そこで、本発明は、前記問題に鑑み、論理計算機システムにおいて、論理計算機ごとの時刻合わせを正確に行い、論理計算機間の時刻を同期させる手段を提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記課題を解決する本発明は、物理的な計算機において、それぞれでＯＳが動作する論理的な計算機である複数の論理計算機と、その各論理計算機に割り当てる資源を管理し、各論理計算機のＯＳの実行を制御する制御機構とからなる論理計算機システムにおいて、制御機構が保持する、論理計算機システムの標準時刻および各論理計算機の時刻である論理時刻と標準時刻との時間差である差分時間のうち、各論理計算機の差分時間を所定値内にすることによって各論理計算機の論理時刻を標準時刻に合わせる時刻合わせ方法である。ここで、差分時間が「所定値内」であるとは、差分時間が０または所定の範囲内であることを意味する。
制御機構が保持する論理計算機の差分時間を所定値内にする場合、まず、ＯＳが制御機構から差分時間を取得し、取得した差分時間が所定値内でなかったとき、ＯＳ自身の動作に影響を与えないような所定の差分時間を設定し、その設定した所定の差分時間に変更するように制御機構に要求する。「ＯＳ自身の動作に影響を与えない」とは、ＯＳの処理においてタイムオーバや時刻の逆戻りなどが発生しないことを意味する。制御機構は、ＯＳからの要求に従って、そのＯＳに対応する論理計算機の差分時間を変更する。ＯＳは、当初取得した差分時間が徐々に所定値内に近付くように、少しずつ小さくした差分時間への変更を要求していき、最終的には差分時間を所定値内にするように要求する。
【０００７】
そのＯＳによる時刻合わせの最中に、制御機構の標準時刻が変更されることがある。この場合、制御機構は、変更前の標準時刻と変更後の標準時刻との時間差である補整値を、当該論理計算機に対応して保持する。ここで、ＯＳから論理時刻の取得要求があったときには、その時点の標準時刻、差分時間および補整値を合算した値を論理時刻としてＯＳに対して報告する。そして、時刻合わせによって差分時間が所定値内になったとき、その補整値を差分時間に設定する。これによると、時刻合わせ中に標準時刻が変更されたとしても、ＯＳは、当初の差分時間を所定値内にする時刻合わせの処理を続行することができ、変更前の標準時刻に基づいた論理時刻を取得することができる。また、差分時間が所定値内になって時刻合わせの処理が終了したとき、標準時刻の変更に伴う差分時間が設定されるので、次の差分時間の取得および所定値内チェックによって標準時刻の変更に対する時刻合わせを行うことになる。
【０００８】
なお、請求項における「論理計算機」、「制御機構」、「標準時刻」、「論理時刻」、「差分時間」および「補整値」は、それぞれ、後記する発明を実施するための最良の形態における「論理区画」、「ハイパバイザ」、「物理ＴＯＤ値」、「論理ＴＯＤ値」、「（論理ＴＯＤ）差分値」および「（時刻合わせ）基準補整値」に相当する。また、「論理計算機」は、一般に「仮想計算機」とも呼ばれるものである。
【発明の効果】
【０００９】
本発明によれば、論理時刻と標準時刻との差分時間を指定して時刻合わせを行うので、論理計算機にＣＰＵがタイムリーに割り当てられなくても、確実な時刻合わせを行うことができる。また、時刻合わせ中に標準時刻が変更されたとしても、変更前の標準時刻に基づいた処理を行うことができる。これによって、論理計算機間の時刻を同期させることが可能になる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態（以下、「本発明の実施の形態」という）について図面を参照して詳細に説明する。
【００１１】
≪論理計算機システムの構成と概要≫
図１を参照して、本発明の実施の形態に係る論理計算機システムの機能構成について説明する。既に説明したように、論理計算機システムは、物理的な計算機を複数の論理区画に分割し、それぞれの論理区画においてＯＳを動作させることによって、物理的な計算機において複数の論理的な計算機を実現するものである。
図１に示すように、論理計算機システム１は、ハイパバイザ２および複数のＯＳ３から構成される。ハイパバイザ２は、論理計算機システム１全体を制御する機構（ハードウエアおよびソフトウエアを含む）である。ＯＳ３は、各論理区画で稼動し、その論理区画において動作するプログラム全体を制御、管理するソフトウエアである。ＯＳ３は、時刻に関する処理をハイパバイザ２に指示するとき、時刻処理専用の命令をハイパバイザ２に対して発行する。なお、論理計算機システム１は、物理的な計算機、例えば、メインフレームやサーバなどのコンピュータによって実現される。
【００１２】
ハイパバイザ２は、差分値報告手段２１、基準補整値設定手段２２、差分値変更手段２３、時刻情報記憶手段２４、論理ＴＯＤ報告手段２５、物理ＴＯＤ２６、外部時刻取得手段２７などから構成される。差分値報告手段２１は、ＯＳ３から差分値取得命令を受付けて、時刻情報記憶手段２４に記憶されたその論理区画の論理ＴＯＤ差分値（以下、単に「差分値」という）を入力し、その入力した差分値をＯＳ３に報告する。基準補整値設定手段２２は、ＯＳ３から時刻合わせ開始通知命令を受付けて、時刻情報記憶手段２４に記憶されたその論理区画の時刻合わせ基準補整値（以下、単に「基準補整値」という）を有効化する。差分値変更手段２３は、ＯＳ３から差分値変更命令を受付けて、その差分値変更命令に含まれる差分値に、時刻情報記憶手段２４に記憶されたその論理区画の差分値を変更する。時刻情報記憶手段２４は、論理区画ごとの時刻情報を記憶するものである。
【００１３】
時刻情報記憶手段２４には、図２に示す論理区画時刻情報２４１が記憶されており、論理区画に対応するＯＳ名２４２ごとに差分値２４３および基準補整値２４４が保持されている。差分値２４３は、各論理区画の論理ＴＯＤと、物理ＴＯＤとの時間差である。その差分値２４３と物理ＴＯＤ値とを合算することによって、各論理区画の論理ＴＯＤ値を求めることができる。基準補整値２４４は、時刻合わせの処理の最中に物理ＴＯＤが変更されたとき、変更前の物理ＴＯＤと、変更後の物理ＴＯＤとの差を計算したものである。その基準補整値２４４と変更後の物理ＴＯＤ値とを合算することによって、変更前の物理ＴＯＤ値を求めることができる。これは、時刻合わせの処理中であるＯＳ３に対して、その最中に物理ＴＯＤの変更があったとしても、変更前の物理ＴＯＤに基づいた処理をさせるための処置である。この基準補整値２４４は、ＯＳ３による時刻合わせ開始通知によって時刻合わせの処理を開始したときに有効化し、その時刻合わせの処理によって差分値２４３が０になったときに無効化する。
【００１４】
図１に戻って（適宜図２参照）、論理ＴＯＤ報告手段２５は、ＯＳ３から時刻取得命令を受付けて、時刻情報記憶手段２４に記憶されたその論理区画の差分値２４３と、物理ＴＯＤ２６から入力した物理ＴＯＤ値とを合算し、その合算した値を論理ＴＯＤ値としてＯＳ３に報告する。物理ＴＯＤ２６は、外部時刻取得手段２７から入力した外部時刻を物理ＴＯＤ値として設定し、現時点の物理ＴＯＤ値を必要に応じて論理ＴＯＤ報告手段２５に出力する。外部時刻取得手段２７は、外部時刻発信手段４に接続され、その外部時刻発信手段４から外部時刻を受信し、その受信した外部時刻を現時点の物理ＴＯＤ値として物理ＴＯＤ２６に設定させる。また、外部時刻取得手段２７は、受信した外部時刻に基づいて、時刻情報記憶手段２４に記憶された論理区画時刻情報２４１を更新する。その論理区画のＯＳ３が時刻合わせ中であるときは、変更前の物理ＴＯＤと変更後の物理ＴＯＤとの時間差を基準補整値２４４として設定する。その論理区画のＯＳ３が時刻合わせ中でないときは、差分値２４３に対して変更前の物理ＴＯＤと変更後の物理ＴＯＤとの時間差を加算する。
【００１５】
ＯＳ３は、差分値取得手段３１、時刻合わせ開始通知手段３２、差分値変更要求手段３３、論理ＴＯＤ取得手段３４などから構成される。差分値取得手段３１は、定期的にまたはオペレータの指示などによる所定のタイミングで、ハイパバイザ２からそのＯＳ３に対応する論理区画の差分値を取得する。具体的には、差分値取得命令をハイパバイザ２に対して発行する。時刻合わせ開始通知手段３２は、差分値取得手段３１が取得した差分値が０でないとき、ハイパバイザ２に時刻合わせ処理を開始する旨を通知する。具体的には、時刻合わせ開始通知命令をハイパバイザ２に対して発行する。差分値変更要求手段３３は、ハイパバイザ２が保持する、そのＯＳ３に対応する論理区画の差分値を変更するように要求する。具体的には、差分値変更命令をハイパバイザ２に対して発行する。論理ＴＯＤ取得手段３４は、必要に応じて、ハイパバイザ２からそのＯＳ３に対応する論理区画の論理ＴＯＤ値を取得する。具体的には、時刻取得命令をハイパバイザ２に対して発行する。
外部時刻発信手段４は、外部時刻取得手段２７に接続され、定期的にもしくは時刻に変更が発生したときに、または、外部時刻取得手段２７から指示を受けたときに、外部時刻を外部時刻取得手段２７に対して送信する。
【００１６】
なお、ハイパバイザ２の差分値報告手段２１、基準補整値設定手段２２、差分値変更手段２３、論理ＴＯＤ報告手段２５および外部時刻取得手段２７、ならびに、ＯＳ３の差分値取得手段３１、時刻合わせ開始通知手段３２、差分値変更要求手段３３および論理ＴＯＤ取得手段３４は、ＣＰＵが所定のメモリに記憶されたプログラムを実行することによって実現される。また、ハイパバイザ２の時刻情報記憶手段２４は、ハードディスク装置やメモリなどの記憶装置によって実現される。物理ＴＯＤ２６は、論理計算機システム１を構築する物理的な計算機が有する時計機能によって実現される。更に、外部時刻発信手段４は、例えば、論理計算機システム１にネットワーク接続されたＮＴＰサーバなどによって実現される。
【００１７】
≪時刻合わせ方法の概要≫
図３および図４を参照して、本発明の実施の形態に係る時刻合わせ方法の概要について説明する。
図３では、比較例および本発明の実施の形態に係る時刻合わせ方法を対比して示している。ＯＳ３は、論理ＴＯＤが物理ＴＯＤとの時間差が０でないことを認識したとき、その時間差を０にするため、少しずつ時刻を変更するようにハイパバイザ２に要求する。図３（ａ）に示すように、比較例では、ＯＳ３が時刻の変更を変更後の「論理ＴＯＤ値」によって指定するため、ＯＳ３の時刻変更処理は所定の時刻に動作する必要がある。しかし、論理計算機システム１においては、他の論理区画が動作中であるなどの理由でＣＰＵが当該論理区画に割り当てられず、当該ＯＳ３の時刻変更処理が所定の時刻に動作できない場合があり、これが時刻合わせ誤差を発生させる原因となる。そこで、図３（ｂ）に示すように、本発明の実施の形態では、ＯＳ３が時刻の変更を「物理ＴＯＤとの差分値」で指定する。このため、ＯＳ３の時刻変更処理が所定の時刻に動作することができなくても、確実に時間差を短縮することができ、その結果として時刻合わせ誤差の発生を抑えることができる。
【００１８】
図４では、本発明の実施の形態に係る時刻合わせ方法のうち、基準補整値を使わない場合と使う場合とを対比して示している。
本発明の実施の形態では、物理ＴＯＤとの差分値を変更することによる時刻合わせ方法について説明している。図４（ａ）に示すように、物理ＴＯＤとの差分値を指定して論理ＴＯＤの時刻合わせを行っているので、確実な時刻合わせを行うができるが、その時刻合わせ処理中に物理ＴＯＤが変更されると、それに合わせて論理ＴＯＤが変化することになる。従って、物理ＴＯＤが急激に変化すると、ＯＳ３にとって急激に論理ＴＯＤが変化してしまうことになる。これは、ＯＳ３が差分値の変更を要求するときに想定していた事態ではなく、ＯＳ３の動作に影響を与える可能性がある。そこで、このような事態の発生を抑止するために、基準補整値を設ける。図４（ｂ）に示すように、基準補整値は、ＯＳ３による時刻合わせの開始から時刻合わせの終了までの間に変更された物理ＴＯＤが、ＯＳ３から見たときに、変更される前の物理ＴＯＤ、すなわち、ＯＳ３が時刻合わせを開始したときの物理ＴＯＤと等しくなるように設定される。つまり、基準補整値を変更前の物理ＴＯＤと変更後の物理ＴＯＤとの差とすることで、変更後の物理ＴＯＤに基準補整値を加算することによって、変更前の物理ＴＯＤを求めることができるようにする。これによって、時刻合わせ処理中に物理ＴＯＤが変更されたとしても、ＯＳ３の論理ＴＯＤが想定外に急激に変化することなく、変更前の物理ＴＯＤに基づいた時刻合わせを行うことが可能となる。
【００１９】
≪時刻合わせ処理における時刻情報の変化≫
図５および図６を参照して、本発明の実施の形態に係る時刻合わせ処理における時刻情報の変化について説明する。図５および図６は、外部時刻、物理ＴＯＤ値、論理区画時刻情報である基準補整値および差分値、論理区画の時刻（論理ＴＯＤ値）の変化を時系列に示している。
図５に示すように、ハイパバイザ２は、外部時刻を取得し、その取得した外部時刻を物理ＴＯＤ値として設定する。更に、ハイパバイザ２は、論理区画時刻情報の差分値にそれまでの物理ＴＯＤ値と取得した外部時刻との差を加算する。その後、論理区画のＯＳ３は、定期的に論理ＴＯＤと物理ＴＯＤとの差分値を取得する。ＯＳ３が取得した差分値が０以外（図５では５秒）であるため、ＯＳ３は他の処理の切れ目を待って時刻合わせ処理を行う。ＯＳ３は時刻合わせ処理を行うとき、時刻合わせ開始通知をハイパバイザ２に対して発行し、ハイパバイザ２は基準補整値（初期値は０秒）を設定して、時刻合わせ処理中状態になる。最初に差分値を取得したときから５秒後に時刻合わせ処理を行い、ＯＳ３は差分値を指定してハイパバイザ２に対して差分値の変更を要求する。図５では、差分値が５秒から４秒になるように要求している。ハイパバイザ２は、その要求を受付け、指定された差分値（＋４秒）になるよう差分値を変更し、物理ＴＯＤ値は５秒経過したが、論理区画の時刻（論理ＴＯＤ値）は４秒進んだように見せかけることによって、実際の差分値は＋４秒になる。更に、ＯＳ３は、差分値が＋３秒、＋２秒、＋１秒、０秒になるように差分値変更要求を発行する。ハイパバイザ２は、それに従って差分値を変更する。ＯＳ３から要求される差分値が０になったとき、論理ＴＯＤと物理ＴＯＤとが同期する。図５では、合計１７秒をかけて、論理ＴＯＤと物理ＴＯＤとを同期させている。また，ハイパバイザ２では、論理ＴＯＤと物理ＴＯＤが同期したとき、すなわち、ＯＳ３から要求される差分値が０になったとき、時刻合わせ処理中状態を解除し、基準補整値を無効化する。
【００２０】
図６は、時刻合わせ処理中に外部時刻を取得した場合の時刻情報の変化を示している。ハイパバイザ２は、物理ＴＯＤ値が１０：００：１１までは、図５と同じ処理であるが、その後新たに外部時刻（１０：００：１６）を取得したとき、基準補整値に今までの物理ＴＯＤ値（１０：００：１１）と新たに取得した外部時刻との差分値（−５秒）を設定し、物理ＴＯＤ値には１０：００：１６を設定する。次に、３秒後の１０：００：１９までに差分値を＋１秒に変更する要求が発行されているが、このときの差分値は時刻合わせ処理を開始したときの物理ＴＯＤに合わせているため、“現在の物理ＴＯＤ値＋基準補整値＋差分値”を論理ＴＯＤ値としてＯＳ３に報告する。これと同様に、ＯＳ３から３秒後に差分値を０にする要求が発行されたときにも、“現在の物理ＴＯＤ値＋基準補整値＋差分値”を論理ＴＯＤ値としてＯＳ３に報告する。このときの論理区画の時刻（論理ＴＯＤ値）は１０：００：１７であり、時刻合わせ処理を開始したときの物理ＴＯＤ値と経過した時間とを加算した値が１０：００：１７であることから、当初基準とした物理ＴＯＤとの同期が完了したと言うことができる。このとき、差分値が０であるため、時刻合わせ処理中状態を解除し，基準補整値を差分値に設定した後、基準補整値を無効化する。
なお、図５および図６の説明においては差分値を１秒ずつ減らしていくようにしたが、この「１秒」は、説明の便宜上の値であって、本発明を限定するものではない。つまり、差分値を減らしていく時間幅は、ＯＳ３の処理を考慮してどのような値であってもよい。また、毎回異なる時間幅にしてもよい。実際には、例えば、差分値を１０ｍｓｅｃ程度ずつ減らしていくのが現実的であると考えられる。
【００２１】
≪外部時刻設定処理≫
図７を参照して、本発明の実施の形態に係る外部時刻設定処理について説明する（適宜図１および図２参照）。まず、ハイパバイザ２の外部時刻取得手段２７は、外部時刻発信手段４から外部時刻を入力する（ステップＳ７０１）。この外部時刻の入力は、外部時刻取得手段２７が定期的にまたはオペレータの指示などによる所定のタイミングで外部時刻発信手段４に指示することによって行ってもよいし、外部時刻発信手段４が定期的にまたは外部時刻に変更が発生したときに外部時刻を出力することに対応して行ってもよい。次に、その入力した外部時刻を物理ＴＯＤ値として物理ＴＯＤ２６に設定させる（ステップＳ７０２）。その上で各論理区画の処理を行う。各論理区画の処理が完了していなければ（ステップＳ７０３のＮｏ）、論理区画の選択を行う（ステップＳ７０４）。これは、時刻情報記憶手段２４に記憶された論理区画時刻情報２４１（図２参照）のＯＳ名２４２のいずれかを選択することを意味する。そこで、ＯＳ３が時計合わせ中であるか否かをチェックする（ステップＳ７０５）。このチェックは、例えば、論理区画時刻情報２４１の基準補整値２４４が有効であるか否かによって判断することができる。時計合わせ中であれば（ステップＳ７０５のＹｅｓ）、入力した外部時刻に基づいて基準補整値２４４を設定する（ステップＳ７０６）。具体的には、変更前の物理ＴＯＤ値と入力した外部時刻（変更後の物理ＴＯＤ値）との差を基準補整値２４４として設定する。時計合わせ中でなければ（ステップＳ７０５のＮｏ）、入力した外部時刻に基づいて差分値２４３を再設定する（ステップＳ７０７）。具体的には、変更前の物理ＴＯＤ値と入力した外部時刻（変更後の物理ＴＯＤ値）との差を差分値２４３に加算する。ステップＳ７０６またはステップＳ７０７の処理が終了したら、再びステップＳ７０３のチェックを行う。そこで、各論理区画の処理が完了していれば（ステップＳ７０３のＹｅｓ）、外部時刻取得手段２７による外部時刻設定処理は終了する。
【００２２】
≪時刻合わせ処理≫
図８を参照して、本発明の実施の形態に係る時刻合わせ処理について説明する（適宜図１および図２参照）。まず、ＯＳ３の差分値取得手段３１は、定期的にまたはオペレータの指示などによる所定のタイミングで、ハイパバイザ２に対して差分値取得命令を発行する（ステップＳ８０１）。ハイパバイザ２の差分値報告手段２１は、その発行された差分値取得命令を受付けて（ステップＳ８０２）、そのＯＳ３に対応する論理区画の差分値２４３を時刻情報記憶手段２４から入力する（ステップＳ８０３）。そして、その入力した差分値２４３をＯＳ３に報告する（ステップＳ８０４）。ＯＳ３の差分値取得手段３１は、ハイパバイザ２から差分値を取得し（ステップＳ８０５）、その取得した差分値が０であるか否かをチェックする（ステップＳ８０６）。差分値が０であれば（ステップＳ８０６のＹｅｓ）、時刻合わせを行う必要がないので、処理を終了する。差分値が０でなければ（ステップＳ８０７のＮｏ）、その旨を受けた時刻合わせ開始通知手段３２は、ハイパバイザ２に対して時刻合わせ開始通知命令を発行する（ステップＳ８０７）。ハイパバイザ２の基準補整値設定手段２２は、その発行された時刻合わせ開始通知命令を受付けて（ステップＳ８０８）、時刻情報記憶手段２４に保持された、そのＯＳ３に対応する論理区画の基準補整値２４４を有効化する（ステップＳ８０９）。具体的には、数値以外の文字の設定によって無効化されている基準補整値２４４に０を設定する。
【００２３】
一方、ＯＳ３の差分値変更要求手段３３は、ＯＳ３自身の動作に影響を与えないような差分値を決定する（ステップＳ８１０）。すなわち、時刻を変更することによって、処理のタイムオーバや時刻の逆戻りなどが発生しないようにすると共に、差分値を徐々に０に近づけるために、適切な差分値を決定する。そして、その決定した差分値を含む差分値変更命令をハイパバイザ２に対して発行する（ステップＳ８１１）。ハイパバイザ２の差分値変更手段２３は、その発行された差分値変更命令を受付けて（ステップＳ８１２）、その差分値変更命令に含まれる差分値によって、時刻情報記憶手段２４に記憶された、そのＯＳ３に対応する論理区画の差分値２４３を変更する（ステップＳ８１３）。そこで、ＯＳ３に対して差分値の変更完了通知を報告する（ステップＳ８１４）。ＯＳ３の差分値変更要求手段３３は、その変更完了通知を取得する（ステップＳ８１５）。そして、変更された差分値が０であるか否かをチェックする（ステップＳ８１６）。差分値が０であれば（ステップＳ８１６のＹｅｓ）、時刻合わせ処理を終了する。差分値が０でなければ（ステップＳ８１６のＮｏ）、ステップＳ８１０に戻って時刻合わせ処理を続行する。
【００２４】
ハイパバイザ２の差分値変更手段２３は、変更完了通知を報告した（ステップＳ８１４）後、変更を行った差分値が０であるか否かをチェックする（ステップＳ８１７）。差分値が０であれば（ステップＳ８１７のＹｅｓ）、時刻情報記憶手段２４に記憶された、そのＯＳ３に対応する論理区画の基準補整値２４４を差分値２４３に設定する（ステップＳ８１８）。これは、時刻合わせ処理中に物理ＴＯＤの変更があったときに設定された基準補整値２４４を無効化する前に、その値を新たな差分値として差分値２４３に反映するものである。なお、この新たに設定された差分値２４３は、ＯＳ３の差分値取得手段３１による次の差分値取得でチェックされて時刻合わせの対象になる。続いて、基準補整値２４４を無効化する（ステップＳ８１９）。具体的には、基準補整値２４４に数値以外の文字、例えば、“−”を設定する。これによって、ステップＳ８０８以降の一連の時刻合わせ処理を終了する。一方、差分値が０でなければ（ステップＳ８１７のＮｏ）、時刻合わせ処理が完了していないので、ＯＳ３からの次の差分値変更命令を待つことになる。
【００２５】
≪時刻取得／報告処理≫
図９を参照して、本発明の実施の形態に係る時刻取得／報告処理について説明する（適宜図１および図２参照）。ＯＳ３の論理ＴＯＤ取得手段３４は、必要に応じて時刻を取得するために、ハイパバイザ２に対して時刻取得命令を発行する（ステップＳ９０１）。ハイパバイザ２の論理ＴＯＤ報告手段２５は、その発行された時刻取得命令を受付けて（ステップＳ９０２）、論理ＴＯＤ値を生成する（ステップＳ９０３）。具体的には、まず、物理ＴＯＤ２６から入力した物理ＴＯＤ値と、時刻情報記憶手段２４に記憶された、そのＯＳ３に対応する論理区画の差分値２４３とを合算する。そして、そのＯＳ３に対応する論理区画の基準補整値２４４が有効でなければ、その合算した値を論理ＴＯＤ値とする。基準補整値２４４が有効であれば、合算した値にその基準補整値２４４を更に加算した値を論理ＴＯＤ値とする。これによって、時刻合わせ処理の最中に物理ＴＯＤが変更されたとしても、その時刻合わせ処理が終了するまでの間については、変更前の物理ＴＯＤに基づいた論理ＴＯＤ値を生成することができる。続いて、生成した論理ＴＯＤ値をＯＳ３に報告する（ステップＳ９０４）。ＯＳ３の論理ＴＯＤ取得手段３４は、論理ＴＯＤ値を取得し（ステップＳ９０５）、それに基づいて所定の処理を行うことになる。
【００２６】
以上の説明によると、各ＯＳが対応する論理区画の時刻合わせ処理を行い、各論理区画の論理ＴＯＤと物理ＴＯＤとの時間差を０にすることができる。これによって、各論理区画の論理ＴＯＤを同期させることができる。これによれば、各論理区画のＯＳ上で稼動するアプリケーションプログラムが使用する時刻を同期させることができ、例えば、それらのアプリケーションプログラムが出力する時系列のデータ上の時刻を同期したものとして参照することが可能になる。
【００２７】
以上本発明の実施の形態について説明したが、図１に示す論理計算機システムのそれぞれで実行されるプログラムをコンピュータによる読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の実施の形態に係る論理計算機システムが実現されるものとする。ここでいうコンピュータシステムとは、ＯＳなどのソフトウエアや周辺機器などのハードウエアを含むものである。
【００２８】
≪その他の実施の形態≫
以上本発明について好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、以下のような実施の形態が考えられる。
（１）前記実施の形態においては、ハイパバイザ２の外部時刻取得手段２７が外部時刻発信手段４から外部時刻の取得を行うように記載したが、必ずしもハイパバイザ２でなくてもよく、ＯＳ３がＮＴＰサーバなどから外部時刻の取得を行うようにしてもよい。このとき、ＯＳ３が外部時刻を含む外部時刻設定命令をハイパバイザ２に対して発行し、ハイパバイザ２がその発行された外部時刻設定命令を受付けて、その外部時刻設定命令に含まれる外部時刻によって物理ＴＯＤ値や差分値を設定するようにする。
（２）前記実施の形態においては、図８に示すようにハイパバイザ２からＯＳ３に差分値を報告した後、基準補整値を有効化するように記載したが、差分値を報告する前に基準補整値を有効化するようにしてもよい。特に、ＯＳ３に報告する差分値が０でないとき、基準補整値を有効化することもできる。これによれば、ハイパバイザ２において、差分値を報告してから基準補整値を有効化するまでの間に、物理ＴＯＤの変更によって差分値が変わることがなくなり、更に確実な時刻合わせを行うことが可能になる。
（３）前記実施の形態においては、図８に示すように時刻合わせを行うか否かを差分値が０であるか否かによって判断するように記載したが、差分値が所定の範囲内（例えば、−α≦差分値≦α、または、−α＜差分値＜α、αは所定の正の値）であるか否かによって判断するようにしてもよい。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態に係る論理計算機システムの機能構成を示す図である。
【図２】本発明の実施の形態に係る論理区画時刻情報の構成を示す図である。
【図３】比較例および本発明の実施の形態に係る時刻合わせ方法の概要を示す図である。（ａ）は、比較例に係る時刻合わせ方法を示す。（ｂ）は、本発明の実施の形態に係る時刻合わせ方法を示す。
【図４】本発明の実施の形態に係る時刻合わせ方法の概要を示す図である。（ａ）は、基準補整値を使わない場合の時刻合わせ方法を示す。（ｂ）は、基準補整値を使う場合の時刻合わせ方法を示す。
【図５】本発明の実施の形態に係る時刻合わせ処理における時刻情報の変化を示す図である。
【図６】本発明の実施の形態に係る時刻合わせ処理（時刻合わせ処理中に外部時刻を取得した場合）における時刻情報の変化を示す図である。
【図７】本発明の実施の形態に係る外部時刻設定処理を示すフローチャートである。
【図８】本発明の実施の形態に係る時刻合わせ処理を示すフローチャートである。
【図９】本発明の実施の形態に係る時刻取得／報告処理を示すフローチャートである。
【符号の説明】
【００３０】
１      論理計算機システム
２      ハイパバイザ（制御機構）
３      ＯＳ
４      外部時刻発信手段
２１    差分値報告手段
２２    基準補整値設定手段
２３    差分値変更手段
２４    時刻情報記憶手段
２５    論理ＴＯＤ報告手段
２６    物理ＴＯＤ
２７    外部時刻取得手段
３１    差分値取得手段
３２    時刻合わせ開始通知手段
３３    差分値変更要求手段
３４    論理ＴＯＤ取得手段
【図１】
2005267321.tif 000003
【図２】
2005267321.tif 000004
【図３】
2005267321.tif 000005
【図４】
2005267321.tif 000006
【図５】
2005267321.tif 000007
【図６】
2005267321.tif 000008
【図７】
2005267321.tif 000009
【図８】
2005267321.tif 000010
【図９】
2005267321.tif 000011