JP2014134989A - 計算機システム及び計算機管理方法 - Google Patents

計算機システム及び計算機管理方法 Download PDF

Info

Publication number
JP2014134989A
JP2014134989A JP2013003058A JP2013003058A JP2014134989A JP 2014134989 A JP2014134989 A JP 2014134989A JP 2013003058 A JP2013003058 A JP 2013003058A JP 2013003058 A JP2013003058 A JP 2013003058A JP 2014134989 A JP2014134989 A JP 2014134989A
Authority
JP
Japan
Prior art keywords
time
mode
guest
host
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013003058A
Other languages
English (en)
Inventor
Aritoki Takada
有時 高田
Daisuke Inaba
大祐 稲葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013003058A priority Critical patent/JP2014134989A/ja
Publication of JP2014134989A publication Critical patent/JP2014134989A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ゲストOS内の時刻をホストOS内の時刻に反映させることが困難。
【解決手段】計算機上で仮想計算機を構築・動作させる際、ある仮想計算機内部における時刻設定要求または時刻補正要求を、実計算機および他仮想計算機にも反映させる。また、それらの反映の要否および反映・被反映の関係を管理・制御する。仮想計算機内OS内に時刻設定要求、時刻補正要求・モード変更要求を受け付ける時刻連携機能を設け、一方実計算機OS内にそれらを統括管理する時刻統括機能を設け、両者を連携させる。
【選択図】 図6

Description

本発明は、計算機上の仮想的な計算機システム及び計算機管理方法に関する。
計算機を運用するにあたって、計算機を構成するハードウェア、および、計算機内のCPUが実行する基本ソフト(オペレーティングシステム、以降OSと表記)が、現在時刻を表す情報(以降、時刻情報)を保有・管理する方法(以降、時刻管理と表記)が知られている。この時刻情報は、ある処理の実行要否の判断や、逆に、ある処理が実行されたタイミングの把握や、処理に要した所要時間の算出などの目的で用いられる。
また、近年、計算機の運用における利便性の向上などの目的にて、ある計算機(以降、ホストマシンと表記)上で仮想的な計算機ハードウェア(以降、ゲストマシンと表記)を1台または複数台再現し、各々のゲストマシン上で独立にソフトウェアを実行する「計算機仮想化」技術が広く用いられている。計算機仮想化技術には、ゲストマシンを実現する機構を備えるハードウェアまたはソフトウェアの位置付けにより様々なものがあるが、近年はホストマシン上で単一のOS(ホストOS)を実行し、このホストOSが備える機構を用いてゲストマシンを構築し、ゲストマシン上でOS(ゲストOS)およびアプリケーションを実行する方法がある。
このような計算機仮想化技術を適用したシステムにおいて、ホストマシン上で適切な時刻管理が行われていることを前提に、ホスト上の時刻情報を用いてゲストの時刻管理を行う方法が用いられている。
例えば、非特許文献1には、仮想マシンの中に、仮想クロックデバイス(KVM:kvmclock 又は PVclock)を備え、ホストOSの時刻機能の進み方と同一になるよう仮想マシンが仮想クロックデバイスを制御する技術が記載されている。
"KVM"、 [online]、[平成24年7月25日検索]、インターネット(URL: http://www.linux-kvm.org/page/Main_Page)
計算機仮想化技術を、例えば制御システム等の、実世界におけるタイミング制御を行うようなシステムに適用する場合、仮想マシン内で動作するアプリケーションプログラムの制御に基づくホストOS内の時刻管理が必要とされることがある。これは、制御システムの運用上の制約により、制御システムの動作に支障が発生しない方法・タイミングで時刻情報の変更・補正を行う必要があることによる。しかしながら特許文献1に記載の技術では、仮想マシン内で動作するアプリケーションプログラムの制御に基づくホストOS内の時刻管理を行うことができない。
さらに、例えば、ある任意の仮想マシンについて、テスト等の必要により、一時的に実時刻と異なる時刻情報を設定したい場合がある。しかしながら非特許文献1に記載の技術では、時刻管理に関するホストマシン・ゲストマシン間の連携について、必要に応じて動的にホスト・ゲストの関係を変更することが困難である。
上記課題を解決するため、本発明では、ゲストOSは、ゲストOSにおける時刻を管理する時刻機能部と、ゲストOSが時刻運用モードを受信し、ホストOSに送信する時刻連携部とを備え、ホストOSは、ホストOSにおける時刻を管理する時刻機能部と、ゲストOSから受信した時刻運用モードの変更要求に応じて時刻を補正する、又は前記ホストOS内で、時刻運用モードの変更要求に応じて時刻を補正する時刻連携部と、を備える。
本発明によれば、ゲストOS内の時刻をホストOS内の時刻に反映させることができ、更に、時刻管理に関するゲスト・ホスト間の関係を動的に変更することができる。例えば、特定のゲストマシンにおける時刻管理に、ホストマシンや他ゲストマシンを同期させることや、特定のゲストマシンを一時的に同期から切り離すことができる。
計算機システムの一例を示す図である。 時刻機能の一例を示す図である。 時刻設定要求の一例を示す図である。 時刻補正要求の一例を示す図である。 仮想化技術を適用した計算機システムの一例を示す図である。 時刻連携機能及び時刻統括機能を導入した計算機システムの一例を示す図である。 時刻連携機能の一例を示す図である。 時刻統括機能の一例を示す図である。 全体モード情報の一例を示す図である。 時刻設定要求発生時のフローの一例の前半を示す図である。 時刻設定要求発生時のフローの一例の後半を示す図である。 時刻設定情報の一例を示す図である。 時刻補正要求発生時のフローの一例を示す図である。 時刻補正情報の一例を示す図である。 モード変更要求発生時のフローの一例を示す図である。 モード変更処理のフローの一例を示す図である。 モード変更要求の一例を示す図である。 モード変更情報の一例を示す図である。 モード変更結果情報の一例を示す図である。 時刻統括機能の別の一例を示す図である。 ホスト内モード変更要求の一例を示す図である。 時刻設定情報の別の一例を示す図である。 モード変更結果情報の別の一例を示す図である。
本発明の一実施形態の説明に先立ち、実施形態が前提とする時刻管理の仕組み、および、計算機仮想化環境について述べる。
図1から図5は公知技術の説明図である。
まず、計算機における既存の時刻管理の仕組みとして、一例を図1に示す。計算機1は、ハードウェアとして少なくともCPU2とメモリ3を備えている。尚、CPU2は複数個存在してもよい。メモリ3上には少なくともオペレーティングシステム(OS)10、および、アプリケーションプログラム11が展開されているものとする。また、計算機はクロックデバイス4およびリアルタイムクロック(RTC)5を備える。ここで、クロックデバイスとは、タイマ割込をCPU2に通知すること、または、CPU2から参照可能なレジスタに時間経過に応じて増減するカウンタ値を設定すること、などにより、CPU2に時間経過を表す情報を提供する任意のデバイスである。クロックデバイス4は、例えばProgrammable Interval Timer(PIT)や、High Precision Event Timer(HPET)やTimestamp Counter(TSC)である。このような計算機において、CPU2はOS10内時刻機能20の働きにより、時刻管理を行う。尚、本発明にて時刻情報とは実時刻(現在時刻)または特定のタイミングを表す情報であり、日付やタイムゾーン等の情報を含んでよい。
図2は、時刻機能20の構成の一例を示したものである。時刻機能20は、OS10の時刻を管理する機能である。また時刻機能20は、時刻情報を保持するための領域であるOS時刻情報領域21、時間の経過に応じてOS時刻情報領域21を更新する機能である時刻更新機能22を備える。さらに、計算機の起動または停止の際に、計算機の動作状態によらずに時刻管理を行うデバイスであるRTC5から時刻情報を復元、または逆にRTC5へ時刻情報を退避する機能である時刻退避・復元機能23を備える。さらに、アプリケーションプログラム11やその他プログラムの実行により発生する要求に応じた処理を行う時刻提供機能24、時刻設定機能25、時刻補正機能26を備える。ここで時刻提供機能24とはアプリケーションプログラム11やその他プログラムの実行に必要な時刻情報を提供する機能であり、時刻設定機能25とは、時刻情報と実時刻のずれを瞬時に解消するなどの目的で新たな時刻情報をOS時刻情報領域21に設定する機能であり、時刻補正機能26とは、時刻情報が不連続に変化しないよう徐々に時刻情報と実時刻のずれを解消するなどの目的で時刻更新機能22による更新幅を調整する機能である。これらの機能は、例えばLinux(登録商標)におけるdateコマンドやsettimeofyday関数、adjtime関数として提供される。従って、これらの機能はアプリケーションプログラム11やユーザから呼び出される。時刻設定機能25は、例えば図3に示すような時刻設定要求27をアプリケーションプログラム11またはユーザから受け付ける。時刻設定要求27には、例えば新たに設定されるべき時刻である新時刻28が含まれる。また、時刻補正機能26は、例えば図4に示すような時刻補正要求29を受け付ける。時刻補正要求29には、例えば時刻の進み方に対する補正内容を表す補正値30が含まれる。
既存の時刻管理の仕組みを図5に示す。仮想化技術を適用した計算機には、1台以上の仮想マシン101が存在する。仮想マシン101は、プログラムおよびデータとしてメモリ3内に展開される。仮想マシン101は、計算機1におけるCPU2、メモリ3、クロックデバイス4、RTC5に相当する、仮想CPU102、仮想マシンメモリ103、仮想クロックデバイス104、仮想RTC105を備える。また、実計算機上のOS10またはその上で動作するプログラムと情報の伝達を行うための仮想通信インタフェース(仮想通信I/F)106を備えていてもよい。
仮想マシンメモリ103内には、計算機1上のOS10と同様に、ゲストOS110が存在し、さらにゲストOS110は時刻機能120を備える。この時刻機能120は、連携対象が仮想クロックデバイス104や仮想RTC105であることを除き、計算機1上の時刻機能20と同様である。
ここで、仮想クロックデバイス104は、仮想マシン101の働きによりつくられ、ホストOS10内時刻機能20が保持する時刻情報に基づく動作を行う擬似デバイスか、あるいはパススルー方式により透過的に参照可能となった計算機1内クロックデバイス4であってよい。また、仮想クロックデバイス104は一つの仮想マシン101内に複数種類存在してよく、それらには擬似デバイスとパススルー方式により参照されるクロックデバイス4の両方が含まれてよい。また、仮想RTC105は、例えばホストOS10内時刻機能20が保持する時刻情報に基づき時刻情報を提供する擬似デバイスであってよい。
以上で述べた既存の時刻管理方式、および、計算機仮想化環境に基づく本発明の実施形態について以降で述べる。尚、以降にて任意の仮想マシン101のことを、仮想マシン101外の機能・事象と区別する目的で、各々ゲスト・ホストと表記することがある。
図6は、本発明の実施形態の一例を示す図である。本実施形態では、図5に示した仮想化環境に加え、ゲストOS110内に時刻連携機能140、ホストOS10内に時刻統括機能40を新たに設ける。これらの時刻統括機能40および時刻連携機能140が仮想通信I/F106を介して互いに連携することで、柔軟なホスト・ゲスト間時刻管理連携を実現する。
本実施形態における時刻連携機能140の構成を図7に示す。時刻連携機能140には、モード変更受付機能141、時刻設定受付機能142、時刻補正受付機能143、ホスト要求受付機能144、ゲストモード情報145が含まれる。
ここで、時刻設定受付機能142、時刻補正受付機能143は、時刻機能120内時刻設定機能25および時刻補正機能26と同様または類似の呼出インタフェースを備え、時刻設定要求27および時刻補正要求29を受け付けるものとする。本実施形態では、アプリケーションプログラム11の書き換え、ゲストOS110の書き換え等の方法により、アプリケーションプログラム11が発行した時刻設定要求27および時刻補正要求29は、時刻設定機能27や時刻補正機能26ではなく時刻設定受付機能142および時刻補正受付機能143により処理されるものとする。
また、ホスト要求受付機能144は、後述するモード変更情報や時刻設定情報、時刻補正情報を、時刻統括機能40から仮想通信I/F106経由で受け付け処理する機能である。
モード変更受付機能141及びゲストモード情報145に関する説明に先立ち、本実施形態における仮想マシン101のモード管理について概要を述べる。本実施形態では、動作中の各仮想マシン101について各々マスター・スレーブ・独立のいずれかのモードをとるものとする。ここで、マスターとは当該仮想マシン101内での時刻設定・補正がホストOS10及び他ゲストOSに伝達・適用される状態であり、スレーブとは逆にマスターまたはホストOS10における時刻設定・補正が当該仮想マシン101にも自動的に適用される状態である。独立とは、ホストOS10や他仮想マシン101と無関係に時刻設定・補正が実行・適用される状態である。
以上で述べたモード管理を実現するため、時刻連携機能140はモード変更受付機能141及びゲストモード情報145を備える。モード変更受付機能141はアプリケーションプログラム11またはユーザから当該ゲストのモード変更要求を受け付け、適切な処理を行う機能であり、ゲストモード情報145は当該ゲストのモードを記憶する領域である。すなわち、ゲストモード情報145として、先に述べたゲストが取りうるモードである、マスター、スレーブ、独立いずれかを示す識別子が記載される。
次に、本実施形態における時刻統括機能40の構成を図8に示す。時刻統括機能40は少なくとも、マスターモードの仮想マシン101内時刻連携機能140からの要求を受け付けるゲスト要求受付機能41と、各仮想マシン101のモードを保持・管理するデータ領域である全体モード情報44を備える。また、ホスト内における時刻設定要求27および時刻補正要求29を処理するため、時刻設定受付機能42、時刻補正受付機能43を備えていてもよい。全体モード情報44は、図9に示す通り、各仮想マシン101について、ゲスト識別子45およびモード46を保持する。
以上で述べた構成を踏まえ、本実施形態における時刻管理に関する処理フローを説明する。尚、処理フローはメモリ上のプログラムとして実現された機能により実現されるため、以降では、仮想CPU102またはCPU2がある機能A内の処理Bを行うことを、単に機能Aが処理Bを行う、と表記する。実行の主体は、機能Aが仮想マシン101内である場合は仮想マシン101内の任意の仮想CPU102であり、仮想マシン101外である場合は任意のCPU2である。
まず、ある仮想マシン101上にて、アプリケーションプログラム11が時刻設定要求27を発行した場合のフローについて、時刻設定情報150を送受信するまでのフローを示した図10、時刻設定情報150を送受信した後のフローを示した図11を用いて説明する。最初に、時刻設定受付機能142が時刻設定要求27をアプリケーションプログラム11またはユーザから受け付ける(S101)。次に、時刻設定受付機能142は、当該ゲストがスレーブモードであるかどうか、ゲストモード情報145を参照することで判定する(S102)。判定の結果、スレーブモードであった場合は時刻設定受付機能142の実行を終了する(S103)。このとき、時刻設定要求27を発行したアプリケーションプログラム11に対して、単に設定の成功を示す結果コードを返してもよいし、エラーを示す結果コードを返してもよい。スレーブモードでなかった場合は、当該ゲスト内の時刻設定機能25を呼び出し、時刻設定要求27と同様の要求を時刻設定機能25に対して行う(S104)。次に、当該ゲストが独立モードであるか否か、ゲストモード情報145を参照することで判定する(S105)。独立モードであった場合は、時刻設定受付機能142の実行を終了する(S106)。
当該ゲストが独立モードでもなかった場合、すなわち、マスターモードであった場合、時刻設定情報150を、仮想通信I/F106を介して、ホスト内、ゲスト要求受付機能41に対して送信する。ここで、時刻設定情報150とは、図12に示すような、時刻設定要求27と同じ新時刻28を備えるデータである。また、時刻設定要求27が発生した仮想マシン101を示すゲスト識別子45を備えていてもよい。ホスト側、時刻統括機能40内ゲスト要求受付機能41は、時刻設定情報150を受信することで処理を開始する(S108)。
時刻設定情報150を受信したゲスト要求受付機能41は、まず時刻機能20内時刻設定機能25を呼び出し、時刻設定情報150内新時刻28を含む時刻設定要求27を行う(S109)。次に、全体モード情報44を参照し、スレーブモードである各仮想マシン101内ホスト要求受付機能144に対して、仮想通信I/F106を介して時刻設定情報150を送信する。ここで、時刻設定情報150内新時刻28は、S108にて受信した時刻設定情報150内新時刻28と同じものとする。時刻設定情報を受信した(S111)、スレーブモードである仮想マシン101内のホスト要求受付機能144は、各仮想マシン101内の時刻設定機能25を呼び出し、時刻設定要求27を発行する(S112)。この時刻設定要求27内新時刻28は、時刻設定情報150内新時刻28と同じものとする。以上をもって、アプリケーションプログラム11が時刻設定要求27を発行した場合のフローを終了する(S113)。
次に、ある仮想マシン101上にて、アプリケーションプログラム11が時刻補正要求29を発行した場合のフローについて、図13を用いて説明する。最初に、時刻補正受付機能143が時刻補正要求29を受け付ける(S201)。次に、時刻補正受付機能143は、当該ゲストがスレーブモードであるかどうか、ゲストモード情報145を参照することで判定する(S202)。判定の結果、スレーブモードであった場合は時刻補正受付機能143の実行を終了する(S203)。このとき、時刻補正要求29を発行したアプリケーションプログラム11に対して、単に補正の成功を示す結果コードを返してもよいし、エラーを示す結果コードを返してもよい。スレーブモードでなかった場合は、当該ゲストが独立モードであるかどうか同様に判定する(S204)。独立モードであった場合は、当該ゲスト内の時刻補正機能26を呼び出し、時刻補正要求29と同様の要求を時刻補正機能26に対して行い(S205)、時刻補正受付機能143の実行を終了する(S206)。
当該ゲストが独立モードでもなかった場合、すなわち、マスターモードであった場合、時刻補正情報160を、仮想通信I/F106を介して、ホスト内、ゲスト要求受付機能41に対して送信する(S207)。ここで、時刻補正情報160とは、図14に示すような、時刻補正要求29と同じ補正値30を備えるデータである。時刻設定情報150同様、時刻補正情報160はゲスト識別子45を含んでもよい。
ホスト側、時刻統括機能40内ゲスト要求受付機能41は、時刻補正情報160を受信することで処理を開始する(S208)。ゲスト要求受付機能41は、時刻機能20内時刻補正機能26を呼び出し、時刻補正情報160内補正値30を含む時刻補正要求29を行い(S209)、実行を終了する(S210)。尚、時刻設定の場合と異なり、マスターモードおよびスレーブモードの仮想マシン101内の時刻の進み方は、後述するモード変更の際のクロックソース設定により、自動的にホストの時刻機能20が提供する時刻の進み方に同期するため、各仮想マシン101内時刻補正機能26を呼び出す必要はない。
最後に、ある仮想マシン101上にて、アプリケーションプログラム11がモード変更要求170を発行した場合のフローについて、全体のフローを示した図15、モード変更処理部分のフローを示した図16を用いて説明する。尚、モード変更要求170は、図17に示すように、当該仮想マシン101の遷移先モードである新モード171を含む。
まず、モード変更受付機能141がアプリケーションプログラム11またやユーザからモード変更要求170を受け付ける(S300)。次に、モード受付機能141は、モード変更情報180を、仮想通信I/F106を介して、ホスト内、ゲスト要求受付機能41に対して送信する(S301)。ここでモード変更情報180とは、図18に示すような、モード変更要求170と同じ新モード171を備えるデータである。
ホスト側、時刻統括機能40内ゲスト要求受付機能41は、モード変更情報180を受信することで処理を開始する(S303)。ゲスト要求受付機能41は、まず、全体モード情報44を参照し、モード変更情報180に記されたモード変更により矛盾が発生しないか判定する(S303)。ここで、矛盾が発生するとは、既にマスターモードである仮想計算機101が存在する状態で、新たに別の仮想計算機101がマスターモードに遷移し、マスターモードの仮想計算機101が複数になることを意味する。矛盾が発生しない場合のみ、ゲスト要求受付機能141は全体モード情報44の、モード変更情報180内ゲスト識別子45に対応する箇所のモード46を、新モード171記載の内容に変更する(S304)。矛盾が発生した場合は、S305にすすむ。次に、仮想通信I/F106を介して、モード変更結果情報190をモード変更情報180の送信元であるモード変更受付機能141に送信する(S305)。ここで、モード変更結果情報190とは、図19に示す通り、少なくとも変更可否191を含む。また、先のモード変更情報180における新モードがスレーブである場合は、スレーブモードへの変更時に設定すべき時刻を示す新時刻192を含んでもよい。
モード変更受付機能141は、モード変更結果情報190を受信し処理を再開する(S306)。モード変更結果情報190にて、モード変更可否191が可となっていた場合のみ、後述するモード変更処理を実行し(S308)、処理を終了する(S309)。
モード変更処理(S308)の内容について図16を用いて述べる。モード変更受付機能141はモード変更処理の実行開始後(S351)、まずモード変更が独立モードと他のモードの間の変更であるか否かを判定する。ここで、独立モードと他のモードの間の変更であるとは、マスターモードまたはスレーブモードから独立モードへの変更であるか、逆に独立モードからマスターモードまたはスレーブモードへの変更であることを意味する。本条件に合致する場合は、時刻機能120内時刻更新機能22に対して、クロックソースの切替を要求する(S353)。クロックソースとは、時刻更新機能22が時刻更新の基準とするクロックデバイス4、仮想マシン101内では仮想クロックデバイス104のことである。独立モードから他モードへの遷移である場合は、クロックソースとしてホストOS10内時刻機能20が保持する時刻情報に基づき動作する擬似デバイス方式を採用している仮想クロックデバイス104を、逆の場合はパススルー方式により透過的に参照可能なクロックデバイス4を切替先として選択する。これにより、独立モードの場合はホストOS10とは直接無関係な仮想クロックデバイス104を、他のモードである場合はホストOS10と進み方が一致する仮想クロックデバイス104をクロックソースとして選択することになる。
次に、遷移元・遷移先モードが各々独立モード・スレーブモードであるか判定する(S354)。独立モードからスレーブモードへの遷移の場合は、ホスト側の時刻に同期するため、スレーブモード当該仮想マシン101内時刻設定機能25に対して、時刻設定要求27を発行し(S355)、実行を終了する(S356)。ここで、時刻設定要求27内新時刻28としては、モード変更結果情報190内新時刻192記載のものを用いる。
独立モードからスレーブモードへの遷移でなかった場合は、独立モードからマスターモードへの遷移であるか判定する(S357)。マスターモードへの遷移の場合のみ、ホストおよびスレーブモードのゲストの時刻を同期させるため、仮想通信I/F106を介して、ホスト内、ゲスト要求受付機能41に対して時刻設定情報150を送信する(S358)。ここで、時刻設定情報150内新時刻28としては、送信時点にて当該ゲスト内時刻提供機能24から取得した時刻情報を用いる。尚、ゲスト要求受付機能41が時刻設定情報150を受信してからのフローは、図11内S108以降のものと同じであるため省略する。以上をもって、モード変更処理S308を終了する(S359)。
以上で述べた実施形態の一例の通り、本発明を用いることで時刻管理に関するゲスト・ホスト間の連携を柔軟に設定・制御することが可能となる。例えば、特定のゲストマシンにおける時刻管理に、ホストマシンや他ゲストマシンを同期させることや、特定のゲストマシンを一時的に同期から切り離すことができる。
ただし、実施形態は本例に限らない。例えば、ゲスト・ホスト間で仮想通信I/Fを介した情報転送の要否をゲストモード情報145または全体モード情報44に基づき判断する箇所については、送信元で要否を判断する代わりに受信側にてゲストモード情報145または全体モード情報44に基づき採用要否を判断してもよい。
また、本例ではモード変更受付機能141を仮想計算機101内時刻連携機能140内に設けることでゲスト側でのモード変更操作を可能としているが、時刻統括機能40内に同様の機能を設け、ホスト側にて任意のゲストのモード変更を可能としてもよい。この場合、図20に示す通り、時刻統括機能40はモード変更受付機能47を備え、図21に示すホスト内モード変更要求200を受け付ける。モード変更受付機能47の動作は、ゲスト要求受付機能141が、先に述べたホスト内モード変更要求200内ゲスト識別子45、新モード171を含むモード変更情報180を受信した場合(S302)以降の処理に準ずる。これにより、ホスト内アプリケーションプログラムまたはユーザからモード変更が可能となる。
さらに、ホスト・ゲストにて時刻設定機能25を呼び出すタイミングがずれることにより時刻にずれが発生することを防ぐため、時刻設定情報150およびモード変更結果情報190について、図22および図23に示す通り、新時刻28、新時刻192に加え、基準カウンタ値48、カウンタ倍率49を含んでもよい。ここで、基準カウンタ値48とは、時刻設定機能呼出(S104)や、モード変更結果情報190送信(S305)、マスターへの遷移に伴う時刻設定情報150送信(S358)時点におけるパススルー方式のクロックデバイス4または仮想クロックデバイス104が備えるカウンタの値であり、カウンタ倍率とは、例えば時刻更新機能22がOS時刻情報領域21の更新の際の増分算出に用いている、前記パススルー方式のクロックデバイス4または仮想クロックデバイス104のカウンタ値の変動量と実時間の比率を示す値、例えば一秒間にカウンタ値が増加する量である。
このとき、ゲスト要求受付機能41やホスト要求受付機能144が時刻設定情報150に基づき時刻設定機能25を呼び出す際(S109、S112)、あるいは、モード変更結果情報190に基づき時刻設定機能を呼び出す際(S355)、単に時刻設定情報150内新時刻28またはモード変更結果情報190内新時刻192を時刻設定要求27内新時刻28に設定するのではなく、改めて前記パススルー方式のクロックデバイス4または仮想クロックデバイス104のカウンタ値を取得し、基準カウンタ値48との差分を算出した後、カウンタ倍率49を用いて実時間に変換した値を時刻設定情報150内新時刻28またはモード変更結果情報190内新時刻192の値に加算し、加算後の値を時刻設定要求27内新時刻28に設定する。ここで、カウンタ倍率49を用いて実時間に変換するとは、例えばカウンタ倍率49が一秒間にカウンタ値が増加する量である場合は、カウンタ値の差分をカウンタ倍率49で除した値を算出することである。これにより、時刻管理機能140および時刻統括機能40の処理フローおよび相互通信に遅延が発生する場合でも、時刻の同期が可能となる。
1 計算機
2 CPU
3 メモリ
4 クロックデバイス
5 RTC
10 OS(ホストOS)
11 アプリケーションプログラム
20 時刻機能
40 時刻統括機能
101 仮想マシン
102 仮想CPU
103 仮想マシンメモリ
104 仮想クロックデバイス
105 仮想RTC
106 仮想通信I/F
110 ゲストOS
140 時刻連携機能

Claims (10)

  1. 計算機システムは、ゲストOSとホストOSを備え、
    前記ゲストOSは、
    前記ゲストOSにおける時刻を管理する時刻機能部と、
    前記ゲストOSが時刻運用モードを受信し、ホストOSに送信する時刻連携部とを備え、
    前記ホストOSは、
    前記ホストOSにおける時刻を管理する時刻機能部と、
    前記ゲストOSから受信した時刻運用モードの変更要求に応じて時刻を補正する、又は前記ホストOS内で、時刻運用モードの変更要求に応じて時刻を補正する時刻連携部と、
    を備えることを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記ゲストOSは、運用モードの状態を記憶する全体モード情報記憶部を更に備え、
    前記ゲストOSは、前記時刻運用モードの変更を受信すると、前記全体モード情報記憶部に記憶された前記運用モードに基づいて前記変更の可否を判断することを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記時刻運用モードには、マスターモード、スレーブモード、独立モードを含み、
    前記ホストOSがマスターモードまたはスレーブモードである場合には、ホストOSの仮想計算機が持つ現在時刻を表す情報を更新する際に、前記ホストOSが持つ時刻の変化に同期する仮想デバイスが提供する情報を用い、
    独立モードである場合には、計算機ハードウェアが備える、仮想計算機外オペレーティングシステムに依存しないデバイスが提供する情報を用いることを特徴とする計算機システム。
  4. 請求項3に記載の計算機システムであって、
    前記ゲストOSのモードを変更する要求を受け付け、当該要求が独立モードから他モードへの変更、または、他モードから独立モードへの変更である場合には、前記時刻を表す情報を更新する際に用いるデバイスを切り替えることを特徴とする計算機システム。
  5. 請求項3に記載の計算機システムであって、
    前記ゲストOSのモードを変更する要求を受け付け、
    前記ゲストOSのモードをマスターに変更する要求である場合には、前記ゲストOSの現在時刻情報を仮想計算機外オペレーティングシステムおよびスレーブモードのホストOSに設定し、
    前記ゲストOSのモードをスレーブに変更する要求である場合には、ゲストOSの現在時刻情報を前記ホストOSに設定する
    ことを特徴とする計算機システム。
  6. ゲストOSとホストOSを管理する計算機管理方法において、
    前記ゲストOSは、
    前記ゲストOSにおける時刻を管理し、
    前記ゲストOSが時刻運用モードを受信し、ホストOSに送信し、
    前記ホストOSは、
    前記ホストOSにおける時刻を管理し、
    前記ゲストOSから受信した時刻運用モードの変更要求に応じて時刻を補正する、又は前記ホストOS内で、時刻運用モードの変更要求に応じて時刻を補正する
    ことを特徴とする計算機管理方法。
  7. 請求項6に記載の計計算機管理方法であって、
    前記ゲストOSは、運用モードの状態を全体モード情報記憶部に記憶し、
    前記ゲストOSは、前記時刻運用モードの変更を受信すると、前記全体モード情報記憶部に記憶された前記運用モードに基づいて前記変更の可否を判断することを特徴とする計算機管理方法。
  8. 請求項7に記載の計算機管理方法であって、
    前記時刻運用モードには、マスターモード、スレーブモード、独立モードを含み、
    前記ホストOSがマスターモードまたはスレーブモードである場合には、ホストOSの仮想計算機が持つ現在時刻を表す情報を更新する際に、前記ホストOSが持つ時刻の変化に同期する仮想デバイスが提供する情報を用い、
    独立モードである場合には、計算機ハードウェアが備える、仮想計算機外オペレーティングシステムに依存しないデバイスが提供する情報を用いることを特徴とする計算機管理方法。
  9. 請求項8に記載の計算機管理方法であって、
    前記ゲストOSのモードを変更する要求を受け付け、当該要求が独立モードから他モードへの変更、または、他モードから独立モードへの変更である場合には、前記時刻を表す情報を更新する際に用いるデバイスを切り替えることを特徴とする計算機管理方法。
  10. 請求項8に記載の計算機管理方法であって、
    前記ゲストOSのモードを変更する要求を受け付け、
    前記ゲストOSのモードをマスターに変更する要求である場合には、前記ゲストOSの現在時刻情報を仮想計算機外オペレーティングシステムおよびスレーブモードのホストOSに設定し、
    前記ゲストOSのモードをスレーブに変更する要求である場合には、ゲストOSの現在時刻情報を前記ホストOSに設定する
    ことを特徴とする計算機管理方法。
JP2013003058A 2013-01-11 2013-01-11 計算機システム及び計算機管理方法 Pending JP2014134989A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013003058A JP2014134989A (ja) 2013-01-11 2013-01-11 計算機システム及び計算機管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013003058A JP2014134989A (ja) 2013-01-11 2013-01-11 計算機システム及び計算機管理方法

Publications (1)

Publication Number Publication Date
JP2014134989A true JP2014134989A (ja) 2014-07-24

Family

ID=51413192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013003058A Pending JP2014134989A (ja) 2013-01-11 2013-01-11 計算機システム及び計算機管理方法

Country Status (1)

Country Link
JP (1) JP2014134989A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020158319A1 (ja) * 2019-02-01 2020-08-06 株式会社デンソー 車両用装置、車両用装置の時刻同期方法
CN111338748B (zh) * 2020-02-10 2024-03-19 龙芯中科技术股份有限公司 时间同步方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318878A (ja) * 2003-04-10 2004-11-11 Internatl Business Mach Corp <Ibm> 論理的に区分されたコンピュータ・システムにおける仮想リアルタイム・クロックの維持
WO2007099624A1 (ja) * 2006-03-01 2007-09-07 Fujitsu Limited コンピュータシステムの時刻管理制御方法及びコンピュータシステム
WO2012093490A1 (ja) * 2011-01-07 2012-07-12 富士通株式会社 情報処理装置、時刻制御方法および時刻制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318878A (ja) * 2003-04-10 2004-11-11 Internatl Business Mach Corp <Ibm> 論理的に区分されたコンピュータ・システムにおける仮想リアルタイム・クロックの維持
WO2007099624A1 (ja) * 2006-03-01 2007-09-07 Fujitsu Limited コンピュータシステムの時刻管理制御方法及びコンピュータシステム
WO2012093490A1 (ja) * 2011-01-07 2012-07-12 富士通株式会社 情報処理装置、時刻制御方法および時刻制御プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020158319A1 (ja) * 2019-02-01 2020-08-06 株式会社デンソー 車両用装置、車両用装置の時刻同期方法
JP2020126317A (ja) * 2019-02-01 2020-08-20 株式会社デンソー 車両用装置、車両用装置の時刻同期方法
JP7135903B2 (ja) 2019-02-01 2022-09-13 株式会社デンソー 車両用装置、車両用装置の時刻同期方法
CN111338748B (zh) * 2020-02-10 2024-03-19 龙芯中科技术股份有限公司 时间同步方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN106774277B (zh) 一种多虚拟控制器之间的数据共享方法
US9830181B2 (en) Method and system for gracefully shutdown virtual system
JP2010097533A (ja) パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化
US10684838B2 (en) Dynamic application deployment
CN110377580B (zh) 一种数据迁移方法、装置及设备
US9015517B2 (en) Information processing apparatus and time-of-day control method
KR20100037959A (ko) 가상 컴퓨팅 가속기와 서버 기반의 가상 컴퓨팅을 구현하기위한 프로그램 다운로드 방법
CN113196237A (zh) 计算系统中的容器迁移
CN107704310B (zh) 一种实现容器集群管理的方法、装置和设备
US11573815B2 (en) Dynamic power management states for virtual machine migration
CN103793255A (zh) 可配置的多主模式多os内核实时操作系统架构与启动方法
CN112306623A (zh) 深度学习任务的处理方法、装置及计算机可读存储介质
CN105550156A (zh) 一种时间同步的方法及装置
WO2018149495A1 (en) A method and system to fetch multicore instruction traces from a virtual platform emulator to a performance simulation model
CN107949828B (zh) 用于将应用中的机器代码的执行动态地迁移至虚拟机的方法和装置
CN114679481A (zh) 机器人的控制方法、装置、存储介质及机器人集群
JP2014134989A (ja) 計算機システム及び計算機管理方法
JP5549455B2 (ja) プログラマブルコントローラシステムおよびそのプログラム更新方法
JP2012208680A (ja) 並列処理システム及び並列処理システムの動作方法
US20140325516A1 (en) Device for accelerating the execution of a c system simulation
Tamura et al. A real-time operating system supporting distributed shared memory for embedded control systems
JP4291713B2 (ja) 論理計算機システムにおける時刻合わせ方法
US20140282527A1 (en) Applying or Removing Appropriate File Overlays During Live Application Mobility
JP5238469B2 (ja) データベース処理方法、データベース処理プログラム、および、データベース指示装置
CN107220101B (zh) 一种容器创建方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161227

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170110

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170112