JP5739364B2 - Time management apparatus, method, and program - Google Patents
Time management apparatus, method, and program Download PDFInfo
- Publication number
- JP5739364B2 JP5739364B2 JP2012040840A JP2012040840A JP5739364B2 JP 5739364 B2 JP5739364 B2 JP 5739364B2 JP 2012040840 A JP2012040840 A JP 2012040840A JP 2012040840 A JP2012040840 A JP 2012040840A JP 5739364 B2 JP5739364 B2 JP 5739364B2
- Authority
- JP
- Japan
- Prior art keywords
- guest
- time
- update
- clock
- clock time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Electric Clocks (AREA)
Description
本発明は計算機上の時刻を管理する技術に関し、特に、仮想環境におけるホストとゲストの時刻を管理する技術に関する。 The present invention relates to a technique for managing time on a computer, and more particularly to a technique for managing the time of a host and a guest in a virtual environment.
ソフトウェアによるエミュレーションで現実の物理的な計算機(以下「物理計算機」という)上に仮想的な計算機(以下「仮想計算機」という)を構築する技術が知られている。これにより、計算機上にそれとは異なる環境の単一または複数の計算機があるかのように物理計算機を動作させることができる。 A technique for constructing a virtual computer (hereinafter referred to as “virtual computer”) on an actual physical computer (hereinafter referred to as “physical computer”) by emulation by software is known. Thereby, the physical computer can be operated as if there are a single computer or a plurality of computers in different environments on the computer.
仮想計算機とその仮想計算機の動作基盤となる物理計算機を含む構成を仮想環境という。また、仮想計算機を動作させる物理計算機を含んだ基盤をホストと呼び、仮想計算機をゲストと呼ぶ。 A configuration including a virtual computer and a physical computer that is the operation base of the virtual computer is called a virtual environment. A base including a physical computer that operates a virtual machine is called a host, and a virtual machine is called a guest.
一般に計算機は時刻を取得したり、時間を計測したりするために時計を備えており、仮想計算機も物理計算機と同様に時計を備えている必要がある。 In general, a computer is provided with a clock in order to acquire time and measure time, and a virtual computer needs to be provided with a clock like a physical computer.
物理計算機が備える時計はそのハードウェアによる時計である。また物理計算機では、そのハードウェアの時計とは別に、ホストのOS(Operating System)がソフトウェア的にホストの時刻を管理している。 The clock provided in the physical computer is a clock based on the hardware. In the physical computer, apart from the hardware clock, the host OS (Operating System) manages the host time in terms of software.
一方、仮想計算機の時計はハードウェアではなく、ソフトウェアによって実現される。具体的には、ホストOSが物理計算機の時計による時刻やホストOSによる時刻を基にしてエミュレーションで仮想計算機の時計を表現している。例えば、仮想計算機の時計が物理計算機の時計と同じ時刻を示すようにエミュレーションを行うことが考えられる。 On the other hand, the clock of the virtual machine is realized not by hardware but by software. Specifically, the host OS expresses the clock of the virtual computer by emulation based on the time by the clock of the physical computer or the time by the host OS. For example, it is conceivable to perform emulation so that the clock of the virtual computer shows the same time as the clock of the physical computer.
上述のように仮想計算機の時計を物理計算機の時計あるいはホストOSによる時刻(ホストの時刻)を基に表現する場合、仮想計算機の時計による時刻はホストの時刻による影響を受けることになる。例えば、物理計算機の時計やホストOSによる時刻を変更すると仮想計算機の時計の時刻も変化してしまう。つまり、ホストの時刻から独立した時刻をゲストに持たせることができない。 As described above, when the clock of the virtual computer is expressed based on the clock of the physical computer or the time by the host OS (host time), the time by the clock of the virtual computer is affected by the time of the host. For example, if the clock of the physical computer or the time by the host OS is changed, the clock time of the virtual computer also changes. In other words, the guest cannot have a time independent of the host time.
また、上述のように、仮想計算機の時計が物理計算機の時計と同じ時刻を示すようにエミュレートされる場合、複数のゲストを構築したときにゲスト毎に異なる時刻を持たせることができない。 Further, as described above, when the clock of the virtual computer is emulated so as to indicate the same time as the clock of the physical computer, a different time cannot be given to each guest when a plurality of guests are constructed.
このように、ホストの時刻から独立した時刻をゲストにもたせることができないことや、ゲスト毎に異なる時刻を持たせることができないことは仮想環境の利用態様を制限することなる。例えば、あるシステムの試験と他のシステムのシミュレーションとを1つのホスト上で行うというように、複数の仮想計算機を1つの物理計算機上に統合した場合に各システムにおいて自由に時刻を変更できず、各システムの試験やシミュレーションに不都合が生じてしまう。 As described above, the fact that the guest cannot have a time independent of the host time, or that the guest cannot have a different time, restricts the use mode of the virtual environment. For example, when a plurality of virtual machines are integrated on one physical computer, such as testing a system and simulation of another system on one host, the time cannot be changed freely in each system. Inconvenience arises in testing and simulation of each system.
これに対して、特許文献1に開示された技術では、ホストの時刻とゲストの時刻のような複数の時刻を管理する方法として、各時刻の変更前と変更後の差分時間を記録することで、ある時刻が変更されたときに他の時刻に影響が及ばないようにしている。 On the other hand, in the technique disclosed in Patent Document 1, as a method of managing a plurality of times such as the host time and the guest time, the difference time after and before the change of each time is recorded. When a certain time is changed, other times are not affected.
しかしながら、特許文献1の技術では、ホストと全てのゲストのそれぞれに上記時刻管理方法を適用する必要がある。ゲストOSにもその仮想環境に特有の時刻管理方法を適用する必要があり、その時刻管理方法を適用していない一般的なOSをゲストOSとして仮想環境に組み込むことが困難となる。 However, in the technique of Patent Document 1, it is necessary to apply the time management method to each of the host and all guests. It is necessary to apply a time management method peculiar to the virtual environment to the guest OS, and it becomes difficult to incorporate a general OS that does not apply the time management method into the virtual environment as a guest OS.
本発明の目的は、ゲストに仮想環境特有の時刻管理方法を適用しなくても、ゲストに他から独立した時計を提供することが可能な時刻管理技術を提供することである。 An object of the present invention is to provide a time management technique capable of providing a guest with a clock independent of others without applying a time management method specific to a virtual environment to the guest.
本発明の一態様による時刻管理装置は、ホストとゲストを含む仮想環境における時刻を管理するための時刻管理装置であって、ゲストの時計をエミュレートするホスト内に、ゲストに対応し、対応する当該ゲストについてのゲスト時計時刻を保持するゲスト時計時刻保持手段と、巡回する複数のカウンタ値を周期的に順次出力する周期カウンタと、ゲストと、当該ゲストのゲスト時計時刻を更新するタイミングを示すカウンタ値との対応関係を示す更新タイミングテーブルを保持する更新タイミング管理手段と、前記周期カウンタの出力が、前記更新タイミングテーブルに示されたカウンタ値になると、該カウンタ値に対応するゲストのゲスト時計時刻を更新するゲスト時計時刻更新手段と、を有している。 A time management device according to one aspect of the present invention is a time management device for managing time in a virtual environment including a host and a guest, and corresponds to and corresponds to a guest in a host that emulates a guest clock. A guest clock time holding means for holding a guest clock time for the guest, a periodic counter for periodically outputting a plurality of cyclic counter values periodically, a guest, and a counter indicating a timing for updating the guest clock time of the guest An update timing management means for holding an update timing table indicating a correspondence relationship with the value, and when the output of the period counter reaches the counter value indicated in the update timing table, the guest clock time of the guest corresponding to the counter value Guest clock time updating means for updating.
本発明によれば、ゲストに仮想環境特有の時刻管理方法を適用しなくても、ゲストに他から独立した時計を提供することが可能となる。 According to the present invention, it is possible to provide a guest with a clock independent of the others without applying a time management method specific to the virtual environment to the guest.
本発明の一実施形態に係る仮想環境の計算機システムについて図面を参照して詳細に説明する。 A virtual environment computer system according to an embodiment of the present invention will be described in detail with reference to the drawings.
図1は、本実施形態による仮想環境の構成を示すブロック図である。図1を参照すると、仮想環境10にはゲスト20とホスト30が含まれている。ゲスト20は複数の場合がある。ホスト30とゲスト20を含む仮想環境10における時刻管理について説明する。
FIG. 1 is a block diagram illustrating a configuration of a virtual environment according to the present embodiment. Referring to FIG. 1, the virtual environment 10 includes a
ゲスト20はゲストOS上のゲスト時刻変更部21、ゲストOS時刻管理部22、およびゲストOS時刻補正部23を有し、更に仮想計算機時計24を有している。
The
ホスト30はホストOS上のゲスト時計時刻読み込み部31、ゲスト時計時刻書き込み部32、ゲストOS時刻補正指示部33、ゲスト時計時刻保持部34、更新時間保持部35、更新タイミング管理部36、周期カウンタ37、ゲスト時計時刻更新部38、ホスト時刻変更部39、ホストOS時刻管理部3A、およびホストOS時刻更新部3Bを有し、更に物理計算機時計3Cを有している。
The
物理計算機時計3Cは実体のあるハードウェアの時計であるが、仮想計算機時計24はホスト30がエミュレートによってゲスト20に提供する仮想的な時計である。また、ホスト30にはホストOS時刻を管理するホストOS時刻管理部3Aがあり、ゲスト20にはゲストOS時刻を管理するゲストOS時刻管理部22がある。ホストOS時刻管理部3AはホストOS時刻更新部3Bからのタイミング信号に同期してホストOS時刻を刻んでいる。ホスト30の物理計算機時計3Cの時刻(ホスト時計時刻)およびホストOS時刻はホスト時刻変更部39から変更することができる。また、ゲスト20の仮想計算機時計24の時刻(ゲスト時計時刻)およびゲストOS時刻はゲスト時刻変更部21から変更することができる。
The
ホスト30にあるゲスト時計時刻保持部34と更新時間保持部35はゲスト20に対応している。ゲスト20が複数ある場合には、それに対応してゲスト時計時刻保持部34および更新時間保持部35も複数となる。
The guest clock
ゲスト時計時刻保持部34は、対応するゲスト20についてのゲスト時計時刻を保持する。
The guest clock
周期カウンタ37は、ホストOS時刻更新部3Bからのタイミング信号に同期してカウントアップするカウンタであり、巡回する複数のカウンタ値を周期的に順次出力する。具体的には、ホストOS時刻更新部3Bは1秒間を刻むタイミング信号を出力しており、周期カウンタ37は1秒ごとに1個ずつカウンタ値をアップする。周期カウンタ37のカウンタ値は「9」まで行くと次は「0」に戻る。周期カウンタ37がホストOS時刻管理部3Aに送っているのと同じタイミング信号で動作しているので、周期カウンタ37の動作はホストOS時刻管理部3Aに同期している。
The
更新タイミング管理部36は、ゲスト20と、そのゲスト20のゲスト時計時刻を更新するタイミングを示すカウンタ値との対応関係を示す更新タイミングテーブルを保持する。ゲスト20が複数の場合、更新タイミングテーブルにおいて複数のゲスト20の更新タイミングを複数のカウンタ値にできるだけ均等に分散させるのが好ましい。
The update
図2は、更新タイミングテーブルの一例を示す図である。図2の例ではゲスト#1〜#3という3つのゲスト20が存在し、それぞれのゲスト時計時刻を更新するタイミングは周期カウンタ37のカウンタ値が「0」、「3」、「4」のタイミングである。
FIG. 2 is a diagram illustrating an example of the update timing table. In the example of FIG. 2, there are three
ゲスト時計時刻更新部38は、周期カウンタ37の出力が、更新タイミング管理部36が保持している更新タイミングテーブルに示されたカウンタ値になると、ゲスト時計時刻保持部34においてそのカウンタ値に対応するゲスト20のゲスト時計時刻を更新する。
When the output of the
例えば、周期カウンタ37のカウンタ値が「0」になると、ゲスト#1のゲスト時計時刻が更新される。
For example, when the counter value of the
このように本実施形態によれば、ホスト30が各ゲスト20の時計時刻をホスト時刻とは別に個々に管理するので、ホストおよび他のゲストの時刻から独立したゲストの時計を提供することができる。その際にゲスト20が多数であっても、ホスト30はゲスト時計時刻の更新タイミングを複数に分けて更新処理を実行するので、ゲスト時計時刻の更新によってプロセッサやホストOSに対する大きな処理負荷が短い時間に集中するのを防止することができる。
As described above, according to the present embodiment, since the
また、更新時間保持部35は、対応するゲスト20のゲスト時計時刻の次の更新タイミングにおける更新時間のデフォルト値として、周期カウンタの一巡に相当する時間を保持する。更新時間というのは、更新タイミングにゲスト時計時刻に加算する時間である。
The update
ゲスト時計時刻書き込み部32は、ゲスト20からそのゲスト20のゲスト時計時刻を所定の要求変更時間だけ変更することが要求されると、更新タイミングテーブルにおいてゲスト20の更新タイミングを示すカウンタ値と周期カウンタ37が出力しているカウンタ値とに基づいて、ゲスト20の次の更新タイミングまでの残時間を算出し、要求変更時間と残時間を加算して更新時変更時間を算出する。残時間というのは、現時点から次の更新タイミングまでの時間である。そして、周期カウンタ37が出力しているカウンタ値と、更新タイミングテーブルに示された更新タイミングとの差が残時間ということになる。更新変更時間というのは、更新タイミング管理部36で管理されている更新タイミングにおいて変更させるべき時間である。そして更に、ゲスト時計時刻書き込み部32は、更新時間保持部35における更新時間をデフォルト値から、その更新時変更時間に書き換える。
When the guest clock
そして、上記ゲスト時計時刻更新部38は、ゲスト20の更新タイミングになったら、ゲスト時計時刻を、更新時間保持部35に保持されている更新時間だけ進行させる。
The guest clock
そのため、本実施形態によれば、ゲストの時計時刻の変更が要求された場合に、更新タイミングにおいて要求通りの時刻に変更できるように変更時間を更新タイミングに整合させて更新を実行するので、予め決められている更新タイミングに要求通りの更新を実行することができる。 Therefore, according to the present embodiment, when a change in the guest's clock time is requested, the update is executed with the change time aligned with the update timing so that the update time can be changed to the requested time. It is possible to perform an update as requested at a predetermined update timing.
また、ゲスト時計時刻読み込み部31は、ゲスト20からそのゲスト20のゲスト時計時刻を読み込むことが要求されると、更新タイミングテーブルにおいてゲスト20の更新タイミングを示すカウンタ値と周期カウンタ37が出力しているカウンタ値とに基づいて、ゲスト20の次の更新タイミングまでの残時間を算出する。更に、ゲスト時計時刻読み込み部31は、ゲスト時計時刻保持部34に保持されているゲスト20のゲスト時計時刻と更新時間保持部35に保持されているゲスト20の更新時間との和から残時間を減算して得た値を出力する。
Further, when the guest clock
そのため、本実施形態によれば、ゲスト時計時刻の読み込みが要求されば場合、次の更新タイミングのゲスト時計時刻から、次の更新タイミングまでの残時を減算して出力するので、ゲスト時計時刻の更新タイミングとどのような時間関係のタイミングで読み込みが要求されても、正しいゲスト時計時刻を出力することができる。 Therefore, according to the present embodiment, when the guest clock time is requested to be read, the remaining time until the next update timing is subtracted from the guest clock time at the next update timing and output. The correct guest clock time can be output no matter what time relationship is required with the update timing.
また、ゲストOS時刻補正指示部33は、ゲスト時計時刻保持34のゲスト時計時刻が更新される少なくとも一部のタイミングに同期して、ゲストOS時刻をゲスト時計時刻に合わせる補正を前記ゲストに指示する。
In addition, the guest OS time
ゲスト20では、ゲストOS時刻補正部23は、ゲストOS時刻補正指示手段からの指示に従って前記ゲストOS時刻を補正する。
In the
これにより、ゲストOS時刻を定期的に正確な時刻に補正することができる。 Thereby, the guest OS time can be periodically corrected to an accurate time.
図3は、ゲスト時計時刻を更新する処理を示すフローチャートである。 FIG. 3 is a flowchart showing a process for updating the guest clock time.
図3を参照すると、ホスト30において周期カウンタ37がカウントアップすると(ステップ101)、ゲスト時計時刻更新部38が更新タイミング管理部36の更新タイミングテーブルを検索し、更新タイミングが現在のカウンタ値と一致するゲスト20を抽出する(ステップ102)。そして、ゲスト時計時刻更新部38は更新時間35を加算することによってゲスト時計時刻を更新する(ステップ103)。
Referring to FIG. 3, when the period counter 37 counts up in the host 30 (step 101), the guest clock
図4は、ゲスト時計時刻を変更する処理を示すフローチャートである。 FIG. 4 is a flowchart showing a process for changing the guest clock time.
図4を参照すると、ゲスト20においてゲスト時刻変更部21から仮想計算機時計24にゲスト時計時刻の変更が要求されると、仮想計算機時計24からゲスト時計時刻書き込み部32にその変更要求が入る(ステップ201)。ゲスト時刻書き込み部32は、更新タイミングテーブルにおける更新タイミングを示すカウンタ値と周期カウンタが出力しているカウンタ値との差から、ゲスト20の次の更新タイミングまでの残時間を算出する(ステップ202)。
Referring to FIG. 4, when the
続いて、ゲスト時刻書き込み部32は、どれだけ時刻を進める、あるいは遅らせるかという要求変更時間と、ステップ202で算出した残時間とを加算して更新時変更時間を算出し(ステップ203)、更新時間保持部35の更新時間を更新時変更時間に書き換える(ステップ204)。
Subsequently, the guest
その後にゲスト20の更新タイミングが来ると、図3に示した更新処理によって、更新時変更時間がゲスト時計時刻に加算され、ゲスト時計時刻が変更される。
Thereafter, when the update timing of the
図5は、ゲスト時計時刻を読み込む処理を示すフローチャートである。 FIG. 5 is a flowchart showing a process for reading the guest clock time.
図5を参照すると、ゲスト20からホスト30にゲスト時計時刻を読み込む要求があると(ステップ301)、ホスト30では、ゲスト時計時刻読み込み部31が、更新タイミングテーブルにおける更新タイミングを示すカウンタ値と、周期カウンタ37が出力しているカウンタ値との差から、ゲス20トの次の更新タイミングまでの残時間を算出する(ステップ302)。
Referring to FIG. 5, when there is a request for reading the guest clock time from the
続いて、ゲスト時計時刻読み込み部31は、ゲスト時計時刻保持部34に保持されているゲスト時計時刻と、更新時間保持部35に保持されている更新時間との和から、ステップ302で算出した残時間を減算し、得られたゲスト時計時刻をゲスト20に出力する(ステップ303)。
Subsequently, the guest clock
実施例1としてゲスト時計時刻が更新されるときの処理の様子について説明する。ここでは図2の更新タイミングテーブルにおけるゲスト#1のゲスト時計時刻の更新の様子を例示する。図2に示されているように、ゲスト#1の更新タイミングは、周期カウンタ37のカウント値が「0」になったときである。
A state of processing when the guest clock time is updated will be described as the first embodiment. Here, a state of updating the guest clock time of guest # 1 in the update timing table of FIG. 2 is illustrated. As shown in FIG. 2, the update timing of the guest # 1 is when the count value of the
周期カウンタ37がカウントアップし、カウンタ値が「0」になると、ゲスト時計時刻更新部38は、ゲスト#1の更新タイミングが来たことを認識する。そして、ゲスト時計時刻更新部38は、更新時間保持部35から更新時間を取得し、ゲスト時計時刻保持部34のゲスト時計時刻に加算する。ここでは更新時間は10秒間であるとし、ゲスト時計時刻保持部34に保持されているゲスト時計時刻が12時(12:00:00)であったとする。更新の結果、ゲスト時計時刻保持部34のゲスト時計時刻は12時00分10秒になる。
When the period counter 37 counts up and the counter value becomes “0”, the guest clock
実施例2としてゲスト時計時刻が変更されるとき処理の様子について説明する。ここでも図2のゲスト#1のゲスト時計時刻の変更の様子を例示する。また、ここではゲスト時計時刻を1時間進めるという要求がなされたものとする。すなわち、要求変更時間が1時間(01:00:00)である。 As a second embodiment, a process when the guest clock time is changed will be described. Here, the state of changing the guest clock time of guest # 1 in FIG. 2 is also illustrated. Here, it is assumed that a request is made to advance the guest clock time by one hour. That is, the request change time is 1 hour (01: 00: 00: 00).
ゲスト20からホスト30にゲスト時計時刻の変更が要求されると、ゲスト時計時刻書き込み部32は、更新タイミングテーブルにおいてゲスト#1の更新タイミングを示すカウンタ値と、その時点で周期カウンタ37が出力しているカウンタ値との差をゲスト#1の次の更新タイミングまでの残時間として算出する。
When the
ここでは更新タイミングテーブルにおけるゲスト#1の更新タイミングを示すカウンタ値は「0」である。また、その時点で周期カウンタ37が示しているカウンタ値が「7」であったとする。そうすると残時間は3秒間となる。
Here, the counter value indicating the update timing of guest # 1 in the update timing table is “0”. Further, it is assumed that the counter value indicated by the
続いて、ゲスト時計時刻書き込み部32は、要求変更時間と残時間を加算して更新時変更時間を算出し、更新時間保持部35の更新時間をその値に書き換える。ここでは要求更新時間が1時間(01:00:00)であり、残時間が3秒間(00:00:03)なので、更新時変更時間は1時間3秒(01:00:03)となる。
Subsequently, the guest clock
その後に3秒間が経過して次の更新タイミングが来ると、ゲスト時計時刻更新部38が更新時間保持部35の更新時変更時間(01:00:03)を、ゲスト時計時刻保持部34のゲスト時計時刻(12:00:00)に、更新時変更時間(01:00:03)を加算する。その結果、ゲスト時計時刻は13時3秒(01:00:03)となる
Thereafter, when 3 seconds elapse and the next update timing comes, the guest clock
実施例3としてゲスト時計時刻を読み込みときの処理の様子について説明する。ここでも図2のゲスト#1のゲスト時計時刻の読み込みの様子を例示する。 As a third embodiment, a process when reading the guest clock time will be described. Here, the state of reading the guest clock time of guest # 1 in FIG. 2 is also illustrated.
ゲスト20からホスト30にゲスト時計時刻の読み込みの要求がされると、ゲスト時計時刻読み込み部31は、更新タイミングテーブルにおいてゲスト#1の更新タイミングを示すカウンタ値と、周期カウンタ37が出力しているカウンタ値との差をゲスト#1の次の更新タイミングまでの残時間として算出する。
When the
ここでは更新タイミングテーブルにおけるゲスト#1の更新タイミングを示すカウンタ値は「0」である。また、その時点で周期カウンタ37が示しているカウンタ値が「7」であったとする。そうすると残時間は3秒間となる。
Here, the counter value indicating the update timing of guest # 1 in the update timing table is “0”. Further, it is assumed that the counter value indicated by the
続いて、ゲスト時計時刻読み込み部31は、ゲスト時計時刻保持部34に保持されているゲスト時計時刻と、更新時間保持部35に保持されている更新時間との和を算出し、得られた値から残時間を減算し、その算出結果をゲスト20に出力する。
Subsequently, the guest clock
ここでは、ゲスト時計時刻保持部34に保持されているゲスト時計時刻が12時(12:00:00)であり、更新時間保持部35に保持されている更新時間が10秒間(00:00:10)であるとする。よって、保持されているゲスト時計時刻と更新時間の和が12時10秒となり、そこから残時間の3秒(00:00:03)を減算すると、出力さえるゲスト時計時刻は12時7秒(12:00:07)となる。
Here, the guest clock time held in the guest clock
以上、本発明の実施形態および実施例について述べてきたが、本発明は、これらの実施形態または実施例だけに限定されるものではなく、本発明の技術思想の範囲内において、これらの実施形態や実施例を組み合わせて使用したり、一部の構成を変更したりしてもよい。 As mentioned above, although embodiment and the Example of this invention were described, this invention is not limited only to these embodiment or an Example, These embodiments are within the scope of the technical idea of this invention. The embodiments may be used in combination, or a part of the configuration may be changed.
10…仮想環境、20…ゲスト、21…ゲスト時刻変更部、22…ゲストOS時刻管理部、23…ゲストOS時刻補正部、24…仮想計算機時計、30…ホスト、31…ゲスト時計時刻読み込み部、32…ゲスト時計時刻書き込み部、33…ゲストOS時刻補正指示部、34…ゲスト時計時刻保持部、35…更新時間保持部、36…更新タイミング管理部、37…周期カウンタ、38…ゲスト時計時刻更新部、39…ホスト時刻変更部、3A…ホストOS時刻管理部、3B…ホストOS時刻更新部、3C…物理計算機時計
DESCRIPTION OF SYMBOLS 10 ... Virtual environment, 20 ... Guest, 21 ... Guest time change part, 22 ... Guest OS time management part, 23 ... Guest OS time correction part, 24 ... Virtual computer clock, 30 ... Host, 31 ... Guest clock time reading part, 32 ... Guest clock time writing unit, 33 ... Guest OS time correction instruction unit, 34 ... Guest clock time holding unit, 35 ... Update time holding unit, 36 ... Update timing management unit, 37 ... Cycle counter, 38 ... Guest clock time update 39: Host time changing unit, 3A: Host OS time managing unit, 3B: Host OS time updating unit, 3C: Physical computer clock
Claims (7)
ゲストの時計をエミュレートするホスト内に、
ゲストに対応し、対応する当該ゲストについてのゲスト時計時刻を保持するゲスト時計時刻保持手段と、
巡回する複数のカウンタ値を周期的に順次出力する周期カウンタと、
ゲストと、当該ゲストのゲスト時計時刻を更新するタイミングを示すカウンタ値との対応関係を示す更新タイミングテーブルを保持する更新タイミング管理手段と、
前記周期カウンタの出力が、前記更新タイミングテーブルに示されたカウンタ値になると、該カウンタ値に対応するゲストのゲスト時計時刻を更新するゲスト時計時刻更新手段と、
を有する時刻管理装置。 A time management device for managing time in a virtual environment including a host and a guest,
In the host that emulates the guest's clock,
A guest clock time holding means for holding a guest clock time for the corresponding guest,
A cycle counter that periodically and sequentially outputs a plurality of counter values that circulate;
An update timing management means for holding an update timing table indicating a correspondence relationship between a guest and a counter value indicating a timing at which the guest clock time of the guest is updated;
When the output of the period counter reaches the counter value shown in the update timing table, guest clock time updating means for updating the guest clock time of the guest corresponding to the counter value;
A time management device.
ゲストに対応し、対応する当該ゲストのゲスト時計時刻の次の更新タイミングにおける更新時間のデフォルト値として、前記周期カウンタの一巡に相当する時間を保持する更新時間保持手段と、
前記ゲストのゲスト時計時刻を所定の要求変更時間だけ変更することが要求されると、前記更新タイミングテーブルにおいて前記ゲストの更新タイミングを示すカウンタ値と前記周期カウンタが出力しているカウンタ値とに基づいて、前記ゲストの次の更新タイミングまでの残時間を算出し、前記要求変更時間と前記残時間を加算して更新時変更時間を算出し、前記更新時間保持手段における前記更新時間を前記デフォルト値から前記更新時変更時間に書き換えるゲスト時計時刻書き込み手段と、を更に有し、
前記ゲスト時計時刻更新手段は、前記ゲストの更新タイミングになったら、前記ゲスト時計時刻を、前記更新時間保持手段に保持されている前記更新時間だけ進行させる、
請求項1に記載の時刻管理装置。 To the host,
An update time holding unit that corresponds to a guest and holds a time corresponding to one cycle of the period counter as a default value of the update time at the next update timing of the guest clock time of the corresponding guest,
When it is requested to change the guest clock time of the guest by a predetermined request change time, based on the counter value indicating the update timing of the guest in the update timing table and the counter value output by the period counter Calculating a remaining time until the next update timing of the guest, adding the request change time and the remaining time to calculate an update time change time, and setting the update time in the update time holding means to the default value And a guest clock time writing means for rewriting to the update change time from
The guest clock time update means advances the guest clock time by the update time held in the update time holding means when the guest update timing comes.
The time management apparatus according to claim 1.
前記ゲストのゲスト時計時刻を読み込むことが要求されると、前記更新タイミングテーブルにおいて前記ゲストの更新タイミングを示すカウンタ値と前記周期カウンタが出力しているカウンタ値とに基づいて、前記ゲストの次の更新タイミングまでの残時間を算出し、前記ゲスト時計時刻保持手段に保持されている前記ゲストのゲスト時計時刻と前記更新時間保持手段に保持されている前記ゲストの更新時間との和から前記残時間を減算して得た値を出力するゲスト時計時刻読み込み手段を更に有する、
請求項2に記載の時刻管理装置。 To the host,
When it is requested to read the guest clock time of the guest, the next time of the guest is determined based on the counter value indicating the update timing of the guest in the update timing table and the counter value output by the period counter. The remaining time until the update timing is calculated, and the remaining time is calculated from the sum of the guest clock time of the guest held in the guest clock time holding unit and the update time of the guest held in the update time holding unit Further includes a guest clock time reading means for outputting a value obtained by subtracting
The time management apparatus according to claim 2.
前記ゲスト時計時刻保持手段のゲスト時計時刻が更新される少なくとも一部のタイミングに同期して、ゲストOS時刻を前記ゲスト時計時刻に合わせる補正を前記ゲストに指示するゲストOS時刻補正指示手段を更に有し、
更に前記ゲストに、
前記ゲストOS時刻補正指示手段からの指示に従って前記ゲストOS時刻を補正するゲストOS時刻補正手段を有する、
請求項1から3のいずれか一項に記載の時刻管理装置。 To the host,
There is further provided guest OS time correction instruction means for instructing the guest to correct the guest OS time to the guest clock time in synchronization with at least a part of timing when the guest clock time of the guest clock time holding means is updated. And
Furthermore, to the guest,
Guest OS time correction means for correcting the guest OS time according to an instruction from the guest OS time correction instruction means;
The time management device according to any one of claims 1 to 3.
前記更新タイミング管理手段の前記更新タイミングテーブルは、前記複数のゲストの更新タイミングが複数のカウンタ値に分散されるように設定される、
請求項1から4のいずれか一項に記載の時刻管理装置。 There are a plurality of the guests,
The update timing table of the update timing management means is set so that update timings of the plurality of guests are distributed over a plurality of counter values.
The time management apparatus as described in any one of Claim 1 to 4.
ゲストの時計をエミュレートするホスト内において、
ゲスト時計時刻保持手段が、ゲストについてのゲスト時計時刻を保持するステップと、
周期カウンタが、巡回する複数のカウンタ値を周期的に順次出力するステップと、
更新タイミング管理手段が、ゲストと、当該ゲストのゲスト時計時刻を更新するタイミングを示すカウンタ値との対応関係を示す更新タイミングテーブルを保持するステップと、
ゲスト時計時刻更新手段が、前記周期カウンタの出力が、前記更新タイミングテーブルに示されたカウンタ値になると、該カウンタ値に対応するゲストのゲスト時計時刻を更新するステップと、を有する時刻管理方法。 A time management method for managing time in a virtual environment including a host and a guest,
In the host that emulates the guest clock,
A guest clock time holding means for holding a guest clock time for the guest;
A period counter sequentially outputting a plurality of cyclic counter values sequentially;
An update timing management unit holding an update timing table indicating a correspondence relationship between a guest and a counter value indicating a timing for updating the guest clock time of the guest;
And a guest clock time updating unit that updates the guest clock time of the guest corresponding to the counter value when the output of the period counter reaches the counter value indicated in the update timing table.
ゲストの時計をエミュレートするホスト内において、
ゲスト時計時刻保持手段が、ゲストについてのゲスト時計時刻を保持する手順と、
周期カウンタが、巡回する複数のカウンタ値を周期的に順次出力する手順と、
更新タイミング管理手段が、ゲストと、当該ゲストのゲスト時計時刻を更新するタイミングを示すカウンタ値との対応関係を示す更新タイミングテーブルを保持する手順と、
ゲスト時計時刻更新手段が、前記周期カウンタの出力が、前記更新タイミングテーブルに示されたカウンタ値になると、該カウンタ値に対応するゲストのゲスト時計時刻を更新する手順と、をコンピュータに実行させるための時刻管理プログラム。
A time management program for causing a computer to manage time in a virtual environment including a host and a guest,
In the host that emulates the guest clock,
The guest clock time holding means holds the guest clock time for the guest;
A procedure in which the cycle counter periodically and sequentially outputs a plurality of counter values to be circulated;
A procedure in which the update timing management means holds an update timing table indicating a correspondence relationship between a guest and a counter value indicating a timing of updating the guest clock time of the guest;
A guest clock time updating means for causing the computer to execute a procedure of updating the guest clock time of the guest corresponding to the counter value when the output of the period counter reaches the counter value indicated in the update timing table; Time management program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012040840A JP5739364B2 (en) | 2012-02-28 | 2012-02-28 | Time management apparatus, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012040840A JP5739364B2 (en) | 2012-02-28 | 2012-02-28 | Time management apparatus, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013178597A JP2013178597A (en) | 2013-09-09 |
JP5739364B2 true JP5739364B2 (en) | 2015-06-24 |
Family
ID=49270185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012040840A Expired - Fee Related JP5739364B2 (en) | 2012-02-28 | 2012-02-28 | Time management apparatus, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5739364B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684089A (en) * | 2018-12-18 | 2019-04-26 | 创新奇智(广州)科技有限公司 | A kind of method for scheduling task based on prediction model, system and electronic equipment |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020158A (en) * | 1998-07-07 | 2000-01-21 | Hitachi Ltd | Time adjusting method for logical computer |
JP2001166954A (en) * | 1999-12-10 | 2001-06-22 | Hitachi Ltd | Virtual computer device and its control method |
JP2001229037A (en) * | 2000-02-16 | 2001-08-24 | Hitachi Ltd | System for measuring virtual computer system |
US7155629B2 (en) * | 2003-04-10 | 2006-12-26 | International Business Machines Corporation | Virtual real time clock maintenance in a logically partitioned computer system |
JP4291713B2 (en) * | 2004-03-19 | 2009-07-08 | 株式会社日立製作所 | Time adjustment method in logical computer system |
JP4606493B2 (en) * | 2006-03-01 | 2011-01-05 | 富士通株式会社 | Computer system time management control method and computer system |
-
2012
- 2012-02-28 JP JP2012040840A patent/JP5739364B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684089A (en) * | 2018-12-18 | 2019-04-26 | 创新奇智(广州)科技有限公司 | A kind of method for scheduling task based on prediction model, system and electronic equipment |
CN109684089B (en) * | 2018-12-18 | 2020-08-18 | 创新奇智(广州)科技有限公司 | Task scheduling method and system based on prediction model and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
JP2013178597A (en) | 2013-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7870411B2 (en) | Tracking current time on multiprocessor hosts and virtual machines | |
US20110320794A1 (en) | Flash System And Method For Updating The Flash System | |
JP2015523629A5 (en) | ||
US20130218549A1 (en) | Dynamic time virtualization for scalable and high fidelity hybrid network emulation | |
JP6433635B1 (en) | Simulation apparatus and simulation method | |
CN108319554B (en) | Application function testing method, computer readable storage medium and terminal device | |
WO2013136918A1 (en) | Information processing apparatus, simulation method, and program | |
TWI602121B (en) | Technology for updating a server image file | |
JP2013024908A5 (en) | ||
CN106483866A (en) | Guidance and control semi-matter simulating system timing method and system | |
JPWO2007099624A1 (en) | Computer system time management control method and computer system | |
JP2011134275A (en) | Scheduler program, distributed simulation system, and scheduler | |
WO2023160608A1 (en) | Robot control method and apparatus, and storage medium and robot cluster | |
JP5933147B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
JP5739364B2 (en) | Time management apparatus, method, and program | |
US10984163B1 (en) | Systems and methods for parallel transient analysis and simulation | |
JP2013065143A (en) | Power consumption measuring apparatus, power consumption measuring method, and program | |
US10509434B1 (en) | Oscillator profiling for time synchronization | |
KR20150128798A (en) | Prime number generation | |
JP5304972B1 (en) | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM | |
JP6168799B2 (en) | Virtual computer system | |
US20190034314A1 (en) | Simulation apparatus | |
JP6510430B2 (en) | Trace data editing apparatus and method | |
US10073762B2 (en) | Debug device, debug method, and debug program | |
WO2017088547A1 (en) | Data upgrading method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140811 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150320 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150421 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150423 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5739364 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |