"時刻を提供する第1の時計デバイスを備える制御部と、それぞれが、時刻を提供する第2の時計デバイスを備え、仮想的な情報処理装置として機能する論理ドメインを1つ以上実行可能な複数の物理ドメインと、を有し、前記制御部は、各物理ドメインが備える第2の時計デバイスの時刻と前記第1の時計デバイスの時刻との間の第1の時刻差分を管理し、前記各物理ドメインは、当該物理ドメインで実行される論理ドメインの時刻と当該物理ドメインが備える第2の時計デバイスの時刻との間の第2の時刻差分を管理し、前記第1の時刻差分と前記第2の時刻差分とに基づいて、前記複数の物理ドメインで実行される論理ドメインの時刻を管理する、ことを特徴とする情報処理装置。前記制御部は、何れかの物理ドメインが起動するとき、当該物理ドメインが備える第2の時計デバイスに前記第1の時計デバイスの時刻を設定し、設定後に生じる前記第1の時刻差分を管理することを特徴とする請求項1記載の情報処理装置。前記各物理ドメインは、前記第2の時刻差分を示す情報を保持し、前記各物理ドメインは、当該物理ドメインが備える第2の時計デバイスの時刻を読み出し、読み出した時刻と前記第2の時刻差分を示す情報とに基づいて算出される時刻を、当該物理ドメインで実行される論理ドメインに提供する、ことを特徴とする請求項1または2記載の情報処理装置。前記各物理ドメインは、当該物理ドメインで実行される論理ドメインにより時刻設定の命令が発行されたことを検出すると、前記時刻設定の命令に基づいて前記第2の時刻差分を示す情報を更新することを特徴とする請求項3記載の情報処理装置。前記制御部は、前記第1の時刻差分と前記複数の物理ドメインの少なくとも1つから通知される前記第2の時刻差分とに基づいて、論理ドメインの時刻についての情報を生成することを特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。前記制御部は、何れかの物理ドメインが起動するとき、当該物理ドメインに前記論理ドメインの時刻についての情報を出力し、前記各物理ドメインは、前記制御部から取得した前記論理ドメインの時刻についての情報に基づいて、前記第2の時刻差分の初期値を設定する、ことを特徴とする請求項5記載の情報処理装置。何れかの論理ドメインが第1の物理ドメインから第2の物理ドメインに移動する場合、前記第2の物理ドメインは、前記制御部で管理される前記第1および第2の物理ドメインそれぞれの第1の時刻差分に応じて、当該論理ドメインの第2の時刻差分を更新することを特徴とする請求項1乃至6の何れか一項に記載の情報処理装置。制御部と複数の物理ドメインとを有する情報処理装置の時刻制御方法であって、各物理ドメインが、仮想的な情報処理装置として機能する論理ドメインを実行し、前記制御部が、前記制御部が備える第1の時計デバイスの時刻と前記各物理ドメインが備える第2の時計デバイスの時刻との間の第1の時刻差分を管理し、前記各物理ドメインが、当該物理ドメインで実行される論理ドメインの時刻と当該物理ドメインが備える第2の時計デバイスの時刻との間の第2の時刻差分を管理し、前記第1の時刻差分と前記第2の時刻差分とに基づいて、前記複数の物理ドメインで実行される論理ドメインの時刻を管理する、ことを特徴とする時刻制御方法。ところで、情報処理装置上で実行される論理ドメインが増加すると、情報処理装置が備える時計デバイスへのアクセスが増加するおそれがある。このため、アクセスの集中により、例えば、時計デバイスの負荷の増大や時計デバイスが接続されたバスの混雑などが発生し、応答速度が低下する可能性があるという問題がある。一方、単に情報処理装置が備える時計デバイスの数を増やすだけでは、時計デバイス間で時刻のずれが生じたときに、どのように時刻の整合性をとればよいかが問題となる。本発明はこのような点に鑑みてなされたものであり、時計デバイスへのアクセスを効率的に分散できる情報処理装置および時刻制御方法を提供することを目的とする。制御部と複数の物理ドメインとを有する情報処理装置が提供される。制御部は、時刻を提供する第1の時計デバイスを備える。複数の物理ドメインは、それぞれが、時刻を提供する第2の時計デバイスを備え、仮想的な情報処理装置として機能する論理ドメインを1つ以上実行可能である。制御部は、各物理ドメインが備える第2の時計デバイスの時刻と第1の時計デバイスの時刻との間の第1の時刻差分を管理する。各物理ドメインは、当該物理ドメインで実行される論理ドメインの時刻と当該物理ドメインが備える第2の時計デバイスの時刻との間の第2の時刻差分を管理する。第1の時刻差分と第2の時刻差分とに基づいて、複数の物理ドメインで実行される論理ドメインの時刻が管理される。また、制御部と複数の物理ドメインとを有する情報処理装置の時刻制御方法が提供される。時刻制御方法では、各物理ドメインが、仮想的な情報処理装置として機能する論理ドメインを実行する。制御部が、制御部が備える第1の時計デバイスの時刻と各物理ドメインが備える第2の時計デバイスの時刻との間の第1の時刻差分を管理する。各物理ドメインが、当該物理ドメインで実行される論理ドメインの時刻と当該物理ドメインが備える第2の時計デバイスの時刻との間の第2の時刻差分を管理する。第1の時刻差分と第2の時刻差分とに基づいて、複数の物理ドメインで実行される論理ドメインの時刻を管理する。上記情報処理装置および時刻制御方法によれば、時計デバイスへのアクセスを効率的に分散させることができる。以下、本実施の形態を図面を参照して説明する。[第1の実施の形態]図1は、第1の実施の形態の情報処理装置を示す図である。第1の実施の形態の情報処理装置10は、制御部11および物理ドメイン12,13を有する。制御部11は、物理ドメイン12,13の管理を行う。制御部11は、例えば、CPUおよびRAMを有するコンピュータに、物理ドメイン12,13を管理するためのプログラムを実行させることで実現できる。制御部11は、時計デバイス11aを有する。時計デバイス11aは、情報処理装置10の基準となる時刻を提供するハードウェアである。物理ドメイン12,13は、CPUやRAMなどのリソースを有するコンピュータであり、仮想的な情報処理装置として機能する論理ドメインを1つ以上実行する。物理ドメイン12,13は、自身が有するリソースを論理ドメインに割り当てる。物理ドメイン12,13では、例えば、論理ドメインを制御するハイパーバイザが実行される。図1の例では、物理ドメイン12で論理ドメイン14が実行され、物理ドメイン13で論理ドメイン15が実行されている。論理ドメイン14,15上では、それぞれOSが実行される。物理ドメイン12は時計デバイス12aを有し、物理ドメイン13は時計デバイス13aを有する。時計デバイス12a,13aは、時刻を提供するハードウェアである。時計デバイス12aは、物理ドメイン12で実行される論理ドメイン14への時刻の提供に用いられる。時計デバイス13aは、物理ドメイン13で実行される論理ドメイン15への時刻の提供に用いられる。時計デバイス12a,13aは、物理ドメイン12,13の停止によって保持している時刻を失う揮発性の時計デバイスであってもよい。ここで、制御部11は、時計デバイス12a,13aそれぞれの時刻と時計デバイス11aの時刻との間の差分第1の時刻差分を管理する。物理ドメイン12例えば、物理ドメイン12のハイパーバイザは、論理ドメイン14が認識する時刻と時計デバイス12aの時刻との間の差分第2の時刻差分を管理する。同様に、物理ドメイン13例えば、物理ドメイン13のハイパーバイザは、論理ドメイン15が認識する時刻と時計デバイス13aの時刻との間の差分第2の時刻差分を管理する。情報処理装置10では、時計デバイス11aが提供する時刻を基準として、第1の時刻差分と第2の時刻差分とに基づいて、論理ドメイン14,15それぞれの時刻が管理される。例えば、制御部11は、物理ドメイン12が起動するとき、時計デバイス11aの時刻を時計デバイス12aに複製する。物理ドメイン12は、時計デバイス12aの時刻に第2の時刻差分を加えた時刻を、論理ドメイン14に提供する。第2の時刻差分は、論理ドメイン14のOSが発行する時刻設定の命令に応じて、変化することがある。一方、時計デバイス12aの時刻は、物理ドメイン12が起動した後は、修正しないようにしてもよい。制御部11は、時計デバイス12aの時刻を修正せずに、物理ドメイン12の起動後に生じる時計デバイス11aと時計デバイス12aとの間の時刻のずれを管理することが考えられる。制御部11は、論理ドメイン14が停止するとき、物理ドメイン12から第2の時刻差分を示す情報を取得し、第1の時刻差分と第2の時刻差分の合計を、論理ドメイン14の時刻差分として保持してもよい。これにより、論理ドメイン14が再起動するとき、その時点の時計デバイス11aの時刻に制御部11が保持している時刻差分を加えた時刻を、論理ドメイン14の初期設定時刻とすることができる。情報処理装置10では、物理ドメイン12,13それぞれが、仮想的な情報処理装置として機能する論理ドメインを実行する。制御部11が、時計デバイス11aの時刻と時計デバイス12a,13aの時刻との間の第1の時刻差分を管理する。物理ドメイン12,13それぞれが、当該物理ドメインで実行される論理ドメインの時刻と当該物理ドメインの時計デバイスの時刻との間の第2の時刻差分を管理する。情報処理装置10は、第1の時刻差分と第2の時刻差分とに基づいて、論理ドメイン14,15の時刻を管理する。これにより、論理ドメイン14,15によるアクセスを、時計デバイス12a,13aに分散させることができる。よって、特定の時計デバイスへの負荷の集中やバスの混雑を抑制することができ、起動する論理ドメインの数を増やしても、応答速度の低下を抑制できる。また、制御部11が第1の時刻差分を管理し、物理ドメイン12,13が第2の時刻差分を管理するため、時計デバイス12a,13aの時刻を継続的に修正しなくても、時刻の整合性を確保できる。よって、整合性確保のための処理のオーバヘッドを抑制できる。また、物理ドメイン12,13が、時計デバイス12a,13aを用いずソフトウェアによって時刻管理を行う場合と比べて、時刻精度の維持が容易となり、NTPNetworkTimeProtocol通信などの精度維持のための処理を抑制できる。[第2の実施の形態]図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、ビルディングブロックBB:BuildingBlock100,200,300を含む。BB100,200,300は、仮想的な情報処理装置として機能する論理ドメインを実行可能なコンピュータの筐体である。BB100,200,300は、通信ケーブルによって連結されている。例えば、BB100,200,300が全対全に接続される。ただし、スイッチなどの通信装置を介して、間接的に接続されていてもよい。図3は、ハードウェア構成例を示すブロック図である。BB100は、システムボードSB:SystemBoard110,110a、サービスプロセッサSP:ServiceProcessor120、ディスクユニット130および通信インタフェース140を有する。これらユニットは、例えば、BB100内でバスに接続されている。なお、BB200,300も、BB100と同様のハードウェア構成として実現できる。SB110,110aは、論理ドメインおよび論理ドメインを制御するハイパーバイザの実行に用いられるリソースの集合としてのコンピュータである。SB110は、TODTimeofDay111、CPU112~114およびRAM115~117を有する。SB110aも、SB110と同様に、TOD、CPUおよびRAMを有する。ただし、BB100が有するSBの数は、1つでもよいし3以上でもよい。TOD111は、SB110内で現在時刻を提供するハードウェアである。ただし、TOD111が保持する現在時刻は、揮発性であり、SB110の起動時に初期値がSP120によって設定され、SB110の停止に伴って失われる。CPU112~114は、OSやハイパーバイザなどのプログラムを実行する演算装置である。RAM115~117は、プログラムやデータの少なくとも一部を一時的に記憶する揮発性のメモリである。ハイパーバイザによって、CPU112~114の処理能力およびRAM115~117の記憶領域が、論理ドメインに割り当てられる。SP120は、SB110,110aを管理するコンピュータである。SP120は、TOD121、CPU122およびRAM123を有する。TOD121は、BB100全体の基準となる現在時刻を提供するハードウェアである。TOD121にはバッテリから電力が供給されており、TOD121が保持する時刻はSP120が停止しても失われない不揮発性である。CPU122は、SB110,110aを管理するためのプログラムを実行する演算装置である。RAM123は、プログラムやデータの少なくとも一部を一時的に記憶する揮発性のメモリである。ディスクユニット130は、SB110,110aやSP120が使用するプログラムやデータを記憶する不揮発性の記憶装置の集合である。ディスクユニット130は、HDDHardDiskDrive131~133を有する。HDD131~133は、SB110,110aやSP120からのアクセスに応じて、内蔵されたディスクに対して磁気的に書き込みおよび読み出しを行う。なお、HDD131~133に代えて、フラッシュメモリなど他の種類の不揮発性の記憶装置を用いてもよい。通信インタフェース140は、通信ケーブルが接続される通信ポートを有するインタフェースである。通信インタフェース140は、接続された通信ケーブルを介して、他のBBBB200,300と通信を行う。なお、BB100,200,300間には、SBが通信を行うための論理リンクと、SPが通信を行うための論理リンクとが確立される。SB用の論理リンクとSP用の論理リンクは、同一の物理的な通信ケーブルを共用してもよいし、互いに異なる物理的な通信ケーブルを用いてもよい。後者の場合、2つのBBの接続には、少なくとも2本の通信ケーブルが使用される。図4は、情報処理システムの論理構成例を示すブロック図である。図4の例では、BB100が有するSB110と、BB200が有するSB210と、BB300が有するSB310とが、論理ドメインの実行に用いられる。なお、図4の例では、互いに異なるBBに属するSBを使用しているが、同一のBBに属する複数のSBを使用してもよい。複数のSBは、物理ドメイン物理パーティションPPAR:PhysicalPartitionと呼ぶこともあるに分割される。同一の物理ドメインに属する複数のSBは、論理的に連結されており、ソフトウェアから単一のリソース集合として認識される。よって、論理ドメインを複数のSBに跨がるように配置することも可能である。一方、異なる物理ドメインに属するSB同士は、論理的に分断されており、ソフトウェアからは互いに他のリソースを認識できない。例えば、SB110,210が物理ドメイン0に属し、SB310が物理ドメイン1に属する。物理ドメイン0では、論理ドメイン0~2とハイパーバイザ411が実現される。物理ドメイン1では、論理ドメイン3とハイパーバイザ412が実現される。ハイパーバイザ411は、SB110,210に跨がって配置され、物理ドメイン0内の論理ドメイン0~2を管理する。SB110,210それぞれで実行されるハイパーバイザのプログラムが互いに通信して連携することで、ハイパーバイザ411が実現される。ハイパーバイザ411により、論理ドメイン0がSB110に配置され、論理ドメイン1がSB110,210に跨がって配置され、論理ドメイン2がSB210に配置される。ハイパーバイザ411が通信を行い、論理ドメイン1の状態を示す情報をSB110とSB210の間で受け渡すことで、論理ドメイン1が実現される。同様に、ハイパーバイザ412は、SB310に配置され、論理ドメイン3を管理する。BB100が有するSP120と、BB200が有するSP220と、BB300が有するSP320とは、連携して時刻制御を行う。まず、BB100~300が連結されると、SP120,220,320の中から、複数のSPを統括するマスタSPが選択される。第2の実施の形態では、SP120がマスタSPであるとする。マスタSPでないスレーブSPSP220,320は、各スレーブSPが有するTODTOD221,321の時刻を、マスタSPが有するTODTOD121の時刻に同期させる。そして、SP120は、TOD121を用いて、SB110が有するTOD111の時刻を管理する。SP220は、TOD221を用いて、SB210が有するTOD211の時刻を管理する。SP320は、TOD321を用いて、SB310が有するTOD311の時刻を管理する。ハイパーバイザ411は、TOD111,211を用いて、論理ドメイン0~2に提供する時刻を管理する。ハイパーバイザ412は、TOD311を用いて、論理ドメイン3に提供する時刻を管理する。なお、TOD121,221,321とTOD111,211,311の間では、時間の経過に伴って時刻のずれが生じる可能性がある。また、論理ドメイン0~3では、OSが時刻設定の命令を発行することで、それぞれ異なる時刻を設定することができる。すなわち、第2の実施の形態の情報処理システムは、各SPの時刻と各SBの時刻と各論理ドメインの時刻の3種類の時刻をもつことができる。また、SP120,220,320は、第1の実施の形態の制御部11の一例である。TOD121,221,321は、時計デバイス11aの一例である。SB110,21,310は、物理ドメイン12,13の一例である。TOD111,211,311は、時計デバイス12a,13aの一例である。論理ドメイン0~3は、論理ドメイン14,15の一例である。図5は、時刻オフセットテーブルの例を示す図である。図5に示すような時刻オフセットテーブル124を、マスタSPであるSP120が保持している。例えば、RAM123に、時刻オフセットテーブル124が記憶される。時刻オフセットテーブル124は、IDIdentifierとオフセットの項目を有する。IDは、論理ドメイン0~3を識別するための識別情報である。オフセットは、論理ドメイン0~3が認識する仮想的な時刻と実際の時刻との差を示す時刻オフセットである。論理ドメインが起動すると、時刻オフセットテーブル124が示す時刻オフセットを適用して当該論理ドメインが認識する仮想的な時刻が算出される。例えば、ID=Domain0,オフセット=00:01:13が、時刻オフセットテーブル124に登録される。これは、論理ドメイン0の時刻が、実際の時刻より1分13秒進んでいることを示す。なお、時刻オフセットは、論理ドメインのOSが時刻設定の命令を発行することで更新され得る。また、初めて起動する論理ドメインの時刻オフセットはゼロである。図6は、第2の実施の形態の時刻制御の例を示すシーケンス図である。ここでは、SB210上で実行される論理ドメイン2についての時刻制御を中心に説明する。他の論理ドメインについても、同様の時刻制御が行われる。ステップS11スレーブSPであるSP220は、TOD221の時刻を、マスタSPであるSP120のTOD121と定期的に同期させる。例えば、SP220は、NTP通信によりSP120から時刻を取得し、取得した時刻をTOD221に書き込む。SP320も、SP220と同様に時刻同期を行う。なお、SP120,220,320は、TOD121,221,321のハードウェア時計に加えて、ソフトウェア時計を有していてもよい。その場合、ハードウェア時計とソフトウェア時計の間でも、時刻同期が行われる。例えば、SP120は、後述するように外部のNTPサーバを利用する場合、NTP通信によりソフトウェア時計が更新されたとき、ソフトウェア時計の時刻をTOD121に書き込む。NTPサーバを利用しない場合は、TOD121の時刻をソフトウェア時計に複製する。一方、SP220,320は、上記の時刻同期により、TOD221,321とソフトウェア時計の両方を更新する。次に、電源OFFになっていたSB210が、電源ONになり起動する場合を考える。ステップS21SP220は、同一BB内のSB210の起動を検出すると、TOD221の時刻をSB210のTOD211に書き込む。例えば、TOD211のFPGAFieldProgrammableGateArrayに、TOD221の値を書き込む。TOD211は、書き込まれた時刻を初期値として、現在時刻のカウントを開始する。なお、時間の経過に伴い、TOD211とTOD221の間で時刻のずれが発生する可能性がある。しかし、TOD211の時刻は、SB210が次に再起動するまで修正されない。ステップS22SP220は、SP120にSB210の起動を通知する。SP120は、時刻オフセットテーブル124に登録された時刻オフセットをSP220に送信する。ステップS23SP220は、SP120から受信した時刻オフセットを、SB210で実行されるハイパーバイザ411に送信する。ハイパーバイザ411は、SP220から受信した時刻オフセットをRAMに記憶しておく。なお、SB110が起動する場合は、SP120が単独で時刻設定および時刻オフセットの送信を行う。次に、停止していた論理ドメイン2が、物理ドメイン0上で起動される場合を考える。ステップS31ハイパーバイザ411は、SB110,210が有するCPUの中から、各SBの負荷が偏らないように、論理ドメイン2の実行に用いる1または以上のCPUを割り当てる。そして、論理ドメイン2に割り当てたCPUの中から、それらCPUによる処理を統括する例えば、OSを実行する1つのマスタCPUを選択する。ここでは、SB210の有するCPUがマスタCPUに選択されたとする。ステップS32ハイパーバイザ411は、ステップS31で選択されたマスタCPUと同一のSBに属するTODを、論理ドメイン2に割り当てる。SB210の有するCPUがマスタCPUに選択されることで、TOD211が論理ドメイン2に割り当てられる。以降、ハイパーバイザ411は、論理ドメイン2についての時刻処理を、論理ドメイン2に割り当てたTOD211を用いて実行する。次に、論理ドメイン2のOSが時刻を取得する場合を考える。ステップS41ハイパーバイザ411は、SB210上で、論理ドメイン2のOSが時刻取得のハイパーバイザコールtod_getを発行したことを検出する。ステップS42ハイパーバイザ411は、RAMに記憶されている時刻オフセットの中から、論理ドメイン2の時刻オフセットを検索する。ステップS43ハイパーバイザ411は、論理ドメイン2に割り当てられているTOD211にアクセスし、TOD211の時刻を読み出す。そして、TOD211の時刻に論理ドメイン2の時刻オフセットを加算して、論理ドメイン2の仮想的な時刻を算出し、算出した時刻をハイパーバイザコールの発行元である論理ドメイン2のOSに通知する。なお、時刻取得の際には、SP220のTOD221はアクセスされない。次に、論理ドメイン2のOSが時刻を変更する場合を考える。ステップS51ハイパーバイザ411は、SB210上で、論理ドメイン2のOSが時刻設定のハイパーバイザコールtod_setを発行したことを検出する。なお、tod_setが発行される場合としては、例えば、論理ドメイン2上でアプリケーションプログラムが時刻設定のコマンドを実行した場合などが考えられる。ステップS52ハイパーバイザ411は、上記ステップS42,S43と同様の方法により、変更前の論理ドメイン2の仮想的な時刻を算出する。そして、ハイパーバイザコールで指定された設定時刻と変更前の時刻との差を算出する。ステップS53ハイパーバイザ411は、算出した時刻の差が1秒以上ある場合、論理ドメイン2の時刻オフセットに算出した差を加算し、RAMに記憶されている時刻オフセットを更新する。そして、時刻設定の完了を、ハイパーバイザコールの発行元である論理ドメイン2のOSに通知する。なお、時刻設定の際には、SB210のTOD211およびSP220のTOD221の時刻は修正されない。図7は、第2の実施の形態の時刻制御の例を示すシーケンス図続きである。ここでは、SB210上で実行されている論理ドメイン2が停止する場合を考える。ステップS61ハイパーバイザ411は、SB210上で、OSのシャットダウンなど論理ドメイン2の停止を検出する。すると、ハイパーバイザ411は、RAMに記憶されている最新の論理ドメイン2の時刻オフセットを、SP220に送信する。ステップS62SP220は、SB210のTOD211から時刻を読み出す。ステップS63SP220は、TOD221から時刻を読み出す。そして、TOD211の時刻とTOD221の時刻の差分を算出する。なお、TOD211の時刻の読み出しとTOD221の時刻の読み出しの間に、割り込みが発生しないよう制御する。ステップS64SP220は、SB210から受信した時刻オフセットにステップS63で算出したTOD差分を加算し、時刻オフセットを更新する。そして、更新した時刻オフセットを、SP120に送信する。ステップS65SP120は、SP220から受信した時刻オフセットを、論理ドメイン2と対応付けて時刻オフセットテーブル124に登録する。なお、SB110上で実行されている論理ドメインが停止する場合は、SP120がステップS62~S64に相当する処理も実行する。次に、SP120のTOD121の時刻が更新される場合を考える。なお、ここでは、SB310が電源OFFであるとする。ステップS71SP120は、NTP通信によりNTPサーバから現在時刻を取得し、TOD121に書き込む。ステップS72SP220は、TOD221の時刻を、SP120のTOD121と同期させる。そして、時刻更新が発生したことをハイパーバイザ411に通知する。なお、SP320も、SP220と同様にTOD321の時刻を更新する。また、SP120は、SP220と同様に時刻更新が発生したことをハイパーバイザ411に通知する。ステップS73ハイパーバイザ411は、SB210のTOD211が割り当てられた論理ドメイン2についての時刻オフセットを、SP220に送信する。なお、ハイパーバイザ411は、SB220の場合と同様に、SB110のTOD111が割り当てられた論理ドメインについての時刻オフセットを、SP120に送信する。ステップS74SP220は、SB210のTOD211から時刻を読み出す。ステップS75SP220は、NTPによる更新が反映された時刻をTOD221から読み出す。そして、TOD211の時刻とTOD221の時刻の差分を算出する。ステップS76SP220は、SB210から受信した時刻オフセットにステップS75で算出したTOD差分を加算し、時刻オフセットを更新する。そして、更新した時刻オフセットを、SP120に送信する。ステップS77SP120は、SP220から受信した時刻オフセットを、論理ドメイン2と対応付けて時刻オフセットテーブル124に登録する。なお、ステップS74~S76に相当する処理がSP120でも実行され、TOD111が割り当てられた論理ドメインについての時刻オフセットが更新される。ステップS78SP120は、NTPによる更新後の時刻と更新前の時刻との差を算出する。ステップS79SP120は、時刻オフセットテーブル124に登録された時刻オフセットのうち、ステップS77で更新されなかった時刻オフセット稼動していない論理ドメインの時刻オフセットに、NTPによる時刻更新を反映させる。例えば、現在の時刻オフセットから、ステップS78で算出した差を減算する。図8は、論理ドメインへのTODの割り当て例を示す図である。図8の例では、論理ドメイン0に、SB110の2つのCPUが割り当てられ、そのうち1つがマスタCPUに選択される。論理ドメイン1に、SB110のCPUとSB210の2つのCPUが割り当てられ、SB110のCPUがマスタCPUに選択される。論理ドメイン2に、SB210のCPUが割り当てられ、当該CPUがマスタCPUに選択される。この場合、論理ドメイン0,1に対しては、TOD111が割り当てられる。論理ドメイン0,1のOSが時刻取得や時刻設定のハイパーバイザコールを行うと、ハイパーバイザ411は、TOD111の時刻を用いて時刻処理を行う。一方、論理ドメイン2に対しては、TOD211が割り当てられる。論理ドメイン2のOSが時刻取得や時刻設定のハイパーバイザコールを行うと、ハイパーバイザ411は、TOD211の時刻を用いて時刻処理を行う。図9は、時刻設定状況の第1の例を示す図である。図9の例では、SB110とSB210が同時期に起動する場合を考える。SP120が保持する時刻オフセットテーブル124には、論理ドメイン0のオフセット=a0,論理ドメイン1のオフセット=b0,論理ドメイン2のオフセット=c0,論理ドメイン3のオフセット=d0が登録されている。また、TOD121,221,321が示す現在時刻はX0である。この場合、TOD111にはTOD121の時刻X0が設定され、TOD211にはTOD221の時刻X0が設定される。また、時刻オフセットテーブル124に登録された時刻オフセットが、SP120からハイパーバイザ411に送信される。ハイパーバイザ411は、論理ドメイン0の時刻A0を、TOD111の時刻X0に時刻オフセットa0を加えて算出する。同様に、論理ドメイン1の時刻B0を、TOD111の時刻X0に時刻オフセットb0を加えて算出する。論理ドメイン2の時刻C0を、TOD211の時刻X0に時刻オフセットc0を加えて算出する。図10は、時刻設定状況の第2の例を示す図である。前述の通り、SB110,210が起動してから時間が経過すると、TOD121,221,321とTOD111とTOD211の間で時刻のずれが生じる可能性がある。図10の例では、TOD121,221,321の時刻はX1、TOD111の時刻はY1、TOD211の時刻はZ1である。論理ドメイン0~2を停止させる場合、ハイパーバイザ411は、論理ドメイン0の時刻A1とTOD111の時刻Y1の差である時刻オフセットA1-Y1を、TOD111と同一BBに属するSP120に送信する。論理ドメイン1の時刻B1とTOD111の時刻Y1の差である時刻オフセットB1-Y1をSP120に送信する。また、論理ドメイン2の時刻C1とTOD211の時刻Z1の差である時刻オフセットC1-Z1を、TOD211と同一BBに属するSP220に送信する。SP120は、SB110から受信した時刻オフセットに、TOD111の時刻Y1とTOD121の時刻X1の差Y1-X1を加え、時刻オフセットa1,b1を算出する。SP220は、SB210から受信した時刻オフセットに、TOD211の時刻Z1とTOD221の時刻X1の差Z1-X1を加え、時刻オフセットc1を算出する。SP120は、時刻オフセットa1,b1,c1を、時刻オフセットテーブル124に登録する。図11は、時刻設定状況の第3の例を示す図である。図11の例では、TOD121の時刻がX1からX2に変更された場合を考える。また、SB310は停止しており、ハイパーバイザ412および論理ドメイン3は稼動していないとする。TOD121の時刻がX2に変更されると、同期によりTOD221,321の時刻もX2に変更される。SP120,220は、それぞれハイパーバイザ411に時刻変更を通知する。ハイパーバイザ411は、論理ドメイン0の時刻オフセットA1-Y1および論理ドメイン1の時刻オフセットB1-Y1を、SP120に送信する。また、論理ドメイン2の時刻オフセットC1-Z1をSP220に送信する。SP120は、SB110から受信した時刻オフセットに、TOD111とTOD121の時刻の差Y1-X2を加え、時刻オフセットa2,b2を算出する。SP220は、SB210から受信した時刻オフセットに、TOD211とTOD221の時刻の差Z1-X2を加え、時刻オフセットc2を算出する。SP120は、時刻オフセットa2,b2,c2を、時刻オフセットテーブル124に登録する。また、SP120は、TOD121の変更前後の時刻の差X2-X1を算出する。そして、時刻オフセットテーブル124に登録されている稼動していない論理ドメイン3の時刻オフセットd0から差X2-X1を減じて、時刻オフセットd2に更新する。なお、以上の説明では、SP120が保持する時刻オフセットテーブル124は、各論理ドメインが停止するとき、および、SP120のTOD121の時刻が変更されたときに更新されることとした。しかし、ハイパーバイザ411,412が異常終了する場合に備えて、上記以外のタイミングで時刻オフセットテーブル124を更新してもよい。例えば、ハイパーバイザ411,412が、各論理ドメインの時刻オフセットを定期的例えば、1時間毎に出力することで、定期的に時刻オフセットテーブル124が更新されるようにしてもよい。また、時刻設定のハイパーバイザコールが実行されて時刻オフセットが変更されたときに、時刻オフセットテーブル124が更新されるようにしてもよい。第2の実施の形態の情報処理システムによれば、論理ドメイン0~3がハイパーバイザコールを発行したときの時計アクセスを、TOD111,211,311に分散させることができる。よって、特定のTODへの負荷の集中やバスの混雑を抑制することができ、起動する論理ドメインの数を増やしても、応答速度の低下を抑制できる。また、SP120,220,320がTOD間の時刻のずれを管理し、ハイパーバイザ411,412がTODと論理ドメインの間の時刻の差を分散管理するため、SB110,210,310の起動後にTOD111,211,311の時刻を継続的に修正しなくても、時刻の整合性を確保できる。よって、整合性確保のための処理のオーバヘッドを抑制できる。[第3の実施の形態]次に、第3の実施の形態を説明する。第2の実施の形態との差異を中心に説明し、同様の事項については説明を省略する。第3の実施の形態の情報処理システムは、論理ドメインの稼動中に当該論理ドメインに割り当てるTODを変更する場合を考える。第3の実施の形態の情報処理システムは、第2の実施の形態と同様に、図2に示したシステム構成、および、図3に示したハードウェア構成を用いて実現できる。以下では、図2~4と同じ符号を用いて、第3の実施の形態を説明する。図12は、TOD差分テーブルの例を示す図である。図12に示すようなTOD差分テーブル125を、マスタSPであるSP120が保持している。例えば、RAM123にTOD差分テーブル125が記憶される。TOD差分テーブル125は、IDと差分の項目を有する。IDは、SB110,210,310を識別するための識別情報である。差分は、各SBが有するTODTOD111,211,311と各SPが有するTODTOD121,221,321の間の時刻の差分TOD差分である。TOD差分テーブル125に登録されたTOD差分は、定期的例えば、1時間毎に更新される。例えば、ID=SB0,差分=00:00:15という情報が、TOD差分テーブル125に登録される。これは、SB110の有するTOD111の時刻が、SP120の有するTOD121の時刻より15秒進んでいることを示している。なお、停止しているSBについてのTOD差分はゼロである。図13は、第3の実施の形態の時刻制御の例を示すシーケンス図である。ここでは、論理ドメイン0,1に割り当てるTODを、TOD111からTOD211に変更する場合を考える。TODを変更する場合としては、例えば、SB110が故障により異常終了した場合、ユーザ操作によりSB110を正常に停止させる場合などが考えられる。ステップS81SP220は、SB210のTOD211から時刻を読み出す。ステップS82SP220は、TOD221から時刻を読み出す。そして、TOD211とTOD221の間のTOD差分を算出し、TOD差分をSP120に送信する。ステップS83SP120は、SP220から受信したTOD差分を、SB210と対応付けてTOD差分テーブル125に登録する。なお、SP120は、SB110について、ステップS81,S82と同様の処理を行ってTOD差分をTOD差分テーブル125に登録する。以上のステップS81~S83の処理が、定期的に行われる。ステップS84ハイパーバイザ411は、SB210上で、SB110が異常停止したことを検出する。例えば、SB210で実行されるプログラムが、SB110で実行されるプログラムからの応答がないことを検出する。すると、ハイパーバイザ411は、SB210が有するCPUの中から、論理ドメイン0,1の実行に用いるCPUを割り当て直す。そして、割り当てたCPUの中から、マスタCPUを選択し直す。ステップS85ハイパーバイザ411は、SB210が有するTOD211を、論理ドメイン0,1に割り当て直す。また、TOD111からTOD211への変更をSP220に通知する。SP220は、TODの変更をSP120に通知する。ステップS86SP120は、変更前のTOD111のTOD差分SB110のTOD差分と変更後のTOD211のTOD差分SB210のTOD差分とを、TOD差分テーブル125から検索する。そして、後者のTOD差分から前者のTOD差分を引くことで、TOD111とTOD211の間の時刻ずれを算出し、SP220に送信する。SP220は、時刻のずれをハイパーバイザ411に送信する。ステップS87ハイパーバイザ411は、RAMに保持している時刻オフセットのうち、TODの割り当てを変更した論理ドメイン0,1の時刻オフセットに、PS220から取得した時刻のずれを加算する。以降は、TOD211の時刻と更新された時刻オフセットを用いて、論理ドメイン0,1に提供する時刻を算出する。次に、ユーザ操作を受けてSB110が正常に停止する場合を考える。正常停止の場合も、上記の異常停止の場合と同様の手順に従って、論理ドメイン0,1に割り当てるTODを変更することが可能である。ただし、正常停止の場合は、SB110が停止するまで猶予時間があるため、TOD差分テーブル125を参照しないことも可能である。ステップS91ハイパーバイザ411は、SB110が停止することを検出する。すると、SB210が有するCPUの中から、論理ドメイン0,1の実行に用いるCPUを割り当て直す。そして、割り当てたCPUの中から、マスタCPUを選択し直す。ステップS92ハイパーバイザ411は、SB210が有するTOD211を、論理ドメイン0,1に割り当て直す。ステップS93ハイパーバイザ411は、SB110の停止が完了する前に、TOD111から時刻を読み出す。また、TOD211から時刻を読み出す。そして、ハイパーバイザ411は、TOD211の時刻からTOD111の時刻を引くことで、TOD111とTOD211の間の時刻のずれを算出する。ステップS94ハイパーバイザ411は、RAMに保持している時刻オフセットのうち、TODの割り当てを変更した論理ドメイン0,1の時刻オフセットに、算出した時刻のずれを加算する。以降は、TOD211の時刻と更新された時刻オフセットを用いて、論理ドメイン0,1に提供する時刻を算出する。図14は、時刻設定状況の第4の例を示す図である。図14の例では、SB110,210が稼動しており、その後にSB110が異常停止する場合を考える。SB110が異常停止する前は、論理ドメイン0がSB110に配置され、論理ドメイン1がSB110,210に跨がって配置され、論理ドメイン2がSB210に配置されている。SP120が保持するTOD差分テーブル125には、SB110のTOD差分Δ0=Y3TOD111の時刻-X3TOD121の時刻と、SB210のTOD差分Δ1=Z3TOD211の時刻-X3TOD221の時刻が登録されている。SB110が異常停止すると、ハイパーバイザ411は、論理ドメイン0,1に割り当てるTODを、TOD111からTOD211に変更する。SP120は、TOD差分テーブル125を参照して、TOD211とTOD111の間の時刻のずれΔ1-Δ0を算出し、ハイパーバイザ411に通知する。ハイパーバイザ411は、SP120から通知された時刻のずれΔ1-Δ0を、論理ドメイン0,1の時刻オフセットに加算する。以降、ハイパーバイザ411は、TOD211の時刻と更新した時刻オフセットとを用いて、論理ドメイン0,1に時刻を提供する。第3の実施の形態の情報処理装置によれば、第2の実施の形態と同様に、論理ドメイン0~3がハイパーバイザコールを発行したときの時計アクセスを、効率的に分散させることができる。また、論理ドメイン0~3に割り当てるTODを動的に変更する場合でも、変更前後のTODの時刻のずれを考慮して、論理ドメイン0~3の時刻の整合性を維持することができる。"