[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5739364B2 - Time management apparatus, method, and program - Google Patents

Time management apparatus, method, and program Download PDF

Info

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
Application number
JP2012040840A
Other languages
Japanese (ja)
Other versions
JP2013178597A (en
Inventor
大祐 稲葉
大祐 稲葉
直之 武田
直之 武田
崇博 大平
崇博 大平
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 JP2012040840A priority Critical patent/JP5739364B2/en
Publication of JP2013178597A publication Critical patent/JP2013178597A/en
Application granted granted Critical
Publication of JP5739364B2 publication Critical patent/JP5739364B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2009−064077号公報JP 2009-064077 A

しかしながら、特許文献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.

本実施形態による仮想環境の構成を示すブロック図である。It is a block diagram which shows the structure of the virtual environment by this embodiment. 更新タイミングテーブルの一例を示す図である。It is a figure which shows an example of an update timing table. ゲスト時計時刻を更新する処理を示すフローチャートである。It is a flowchart which shows the process which updates guest clock time. ゲスト時計時刻を変更する処理を示すフローチャートである。It is a flowchart which shows the process which changes guest clock time. ゲスト時計時刻を読み込む処理を示すフローチャートである。It is a flowchart which shows the process which reads guest clock time.

本発明の一実施形態に係る仮想環境の計算機システムについて図面を参照して詳細に説明する。   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 guest 20 and a host 30. There may be a plurality of guests 20. Time management in the virtual environment 10 including the host 30 and the guest 20 will be described.

ゲスト20はゲストOS上のゲスト時刻変更部21、ゲストOS時刻管理部22、およびゲストOS時刻補正部23を有し、更に仮想計算機時計24を有している。   The guest 20 has a guest time change unit 21 on the guest OS, a guest OS time management unit 22 and a guest OS time correction unit 23, and further has a virtual computer clock 24.

ホスト30はホストOS上のゲスト時計時刻読み込み部31、ゲスト時計時刻書き込み部32、ゲストOS時刻補正指示部33、ゲスト時計時刻保持部34、更新時間保持部35、更新タイミング管理部36、周期カウンタ37、ゲスト時計時刻更新部38、ホスト時刻変更部39、ホストOS時刻管理部3A、およびホストOS時刻更新部3Bを有し、更に物理計算機時計3Cを有している。   The host 30 includes a guest clock time reading unit 31, a guest clock time writing unit 32, a guest OS time correction instruction unit 33, a guest clock time holding unit 34, an update time holding unit 35, an update timing management unit 36, and a period counter on the host OS. 37, a guest clock time update unit 38, a host time change unit 39, a host OS time management unit 3A, and a host OS time update unit 3B, and further includes a physical computer clock 3C.

物理計算機時計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 physical computer clock 3C is a substantial hardware clock, while the virtual computer clock 24 is a virtual clock that the host 30 provides to the guest 20 by emulation. The host 30 has a host OS time management unit 3A that manages the host OS time, and the guest 20 has a guest OS time management unit 22 that manages the guest OS time. The host OS time management unit 3A keeps the host OS time in synchronization with the timing signal from the host OS time update unit 3B. The time of the physical computer clock 3C of the host 30 (host clock time) and the host OS time can be changed from the host time changing unit 39. Further, the time of the virtual computer clock 24 of the guest 20 (guest clock time) and the guest OS time can be changed from the guest time changing unit 21.

ホスト30にあるゲスト時計時刻保持部34と更新時間保持部35はゲスト20に対応している。ゲスト20が複数ある場合には、それに対応してゲスト時計時刻保持部34および更新時間保持部35も複数となる。   The guest clock time holding unit 34 and the update time holding unit 35 in the host 30 correspond to the guest 20. When there are a plurality of guests 20, there are a plurality of guest clock time holding units 34 and update time holding units 35 correspondingly.

ゲスト時計時刻保持部34は、対応するゲスト20についてのゲスト時計時刻を保持する。   The guest clock time holding unit 34 holds the guest clock time for the corresponding guest 20.

周期カウンタ37は、ホストOS時刻更新部3Bからのタイミング信号に同期してカウントアップするカウンタであり、巡回する複数のカウンタ値を周期的に順次出力する。具体的には、ホストOS時刻更新部3Bは1秒間を刻むタイミング信号を出力しており、周期カウンタ37は1秒ごとに1個ずつカウンタ値をアップする。周期カウンタ37のカウンタ値は「9」まで行くと次は「0」に戻る。周期カウンタ37がホストOS時刻管理部3Aに送っているのと同じタイミング信号で動作しているので、周期カウンタ37の動作はホストOS時刻管理部3Aに同期している。   The cycle counter 37 is a counter that counts up in synchronization with the timing signal from the host OS time update unit 3B, and periodically and sequentially outputs a plurality of counter values that circulate. More specifically, the host OS time update unit 3B outputs a timing signal that ticks 1 second, and the period counter 37 increments the counter value by 1 every second. When the counter value of the period counter 37 reaches “9”, it next returns to “0”. Since the cycle counter 37 operates with the same timing signal as that sent to the host OS time management unit 3A, the operation of the cycle counter 37 is synchronized with the host OS time management unit 3A.

更新タイミング管理部36は、ゲスト20と、そのゲスト20のゲスト時計時刻を更新するタイミングを示すカウンタ値との対応関係を示す更新タイミングテーブルを保持する。ゲスト20が複数の場合、更新タイミングテーブルにおいて複数のゲスト20の更新タイミングを複数のカウンタ値にできるだけ均等に分散させるのが好ましい。   The update timing management unit 36 holds an update timing table indicating a correspondence relationship between the guest 20 and a counter value indicating a timing at which the guest clock time of the guest 20 is updated. When there are a plurality of guests 20, it is preferable to distribute the update timings of the plurality of guests 20 to a plurality of counter values as evenly as possible in the update timing table.

図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 guests 20 named guest # 1 to # 3, and the timing of updating each guest clock time is the timing when the counter value of the period counter 37 is “0”, “3”, “4”. It is.

ゲスト時計時刻更新部38は、周期カウンタ37の出力が、更新タイミング管理部36が保持している更新タイミングテーブルに示されたカウンタ値になると、ゲスト時計時刻保持部34においてそのカウンタ値に対応するゲスト20のゲスト時計時刻を更新する。   When the output of the cycle counter 37 reaches the counter value shown in the update timing table held by the update timing management unit 36, the guest clock time update unit 38 corresponds to the counter value in the guest clock time holding unit 34. The guest clock time of the guest 20 is updated.

例えば、周期カウンタ37のカウンタ値が「0」になると、ゲスト#1のゲスト時計時刻が更新される。   For example, when the counter value of the period counter 37 becomes “0”, the guest clock time of the guest # 1 is updated.

このように本実施形態によれば、ホスト30が各ゲスト20の時計時刻をホスト時刻とは別に個々に管理するので、ホストおよび他のゲストの時刻から独立したゲストの時計を提供することができる。その際にゲスト20が多数であっても、ホスト30はゲスト時計時刻の更新タイミングを複数に分けて更新処理を実行するので、ゲスト時計時刻の更新によってプロセッサやホストOSに対する大きな処理負荷が短い時間に集中するのを防止することができる。   As described above, according to the present embodiment, since the host 30 individually manages the clock time of each guest 20 separately from the host time, it is possible to provide a guest clock independent of the time of the host and other guests. . Even if there are a large number of guests 20 at this time, the host 30 executes the update process by dividing the update timing of the guest clock time into a plurality of times. Can be prevented from concentrating on.

また、更新時間保持部35は、対応するゲスト20のゲスト時計時刻の次の更新タイミングにおける更新時間のデフォルト値として、周期カウンタの一巡に相当する時間を保持する。更新時間というのは、更新タイミングにゲスト時計時刻に加算する時間である。   The update time holding unit 35 holds a time corresponding to one cycle of the cycle counter as a default value of the update time at the next update timing of the guest clock time of the corresponding guest 20. The update time is the time added to the guest clock time at the update timing.

ゲスト時計時刻書き込み部32は、ゲスト20からそのゲスト20のゲスト時計時刻を所定の要求変更時間だけ変更することが要求されると、更新タイミングテーブルにおいてゲスト20の更新タイミングを示すカウンタ値と周期カウンタ37が出力しているカウンタ値とに基づいて、ゲスト20の次の更新タイミングまでの残時間を算出し、要求変更時間と残時間を加算して更新時変更時間を算出する。残時間というのは、現時点から次の更新タイミングまでの時間である。そして、周期カウンタ37が出力しているカウンタ値と、更新タイミングテーブルに示された更新タイミングとの差が残時間ということになる。更新変更時間というのは、更新タイミング管理部36で管理されている更新タイミングにおいて変更させるべき時間である。そして更に、ゲスト時計時刻書き込み部32は、更新時間保持部35における更新時間をデフォルト値から、その更新時変更時間に書き換える。   When the guest clock time writing unit 32 is requested by the guest 20 to change the guest clock time of the guest 20 by a predetermined request change time, the counter value indicating the update timing of the guest 20 and the period counter in the update timing table Based on the counter value output by 37, the remaining time until the next update timing of the guest 20 is calculated, and the update change time is calculated by adding the request change time and the remaining time. The remaining time is the time from the current time to the next update timing. The difference between the counter value output from the cycle counter 37 and the update timing shown in the update timing table is the remaining time. The update change time is a time to be changed at the update timing managed by the update timing management unit 36. Further, the guest clock time writing unit 32 rewrites the update time in the update time holding unit 35 from the default value to the update time change time.

そして、上記ゲスト時計時刻更新部38は、ゲスト20の更新タイミングになったら、ゲスト時計時刻を、更新時間保持部35に保持されている更新時間だけ進行させる。   The guest clock time update unit 38 advances the guest clock time by the update time held in the update time holding unit 35 when the update timing of the guest 20 is reached.

そのため、本実施形態によれば、ゲストの時計時刻の変更が要求された場合に、更新タイミングにおいて要求通りの時刻に変更できるように変更時間を更新タイミングに整合させて更新を実行するので、予め決められている更新タイミングに要求通りの更新を実行することができる。   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 time reading unit 31 is requested to read the guest clock time of the guest 20 from the guest 20, the counter value indicating the update timing of the guest 20 and the period counter 37 are output in the update timing table. The remaining time until the next update timing of the guest 20 is calculated based on the counter value. Furthermore, the guest clock time reading unit 31 calculates the remaining time from the sum of the guest clock time of the guest 20 held in the guest clock time holding unit 34 and the update time of the guest 20 held in the update time holding unit 35. Output the value obtained by subtraction.

そのため、本実施形態によれば、ゲスト時計時刻の読み込みが要求されば場合、次の更新タイミングのゲスト時計時刻から、次の更新タイミングまでの残時を減算して出力するので、ゲスト時計時刻の更新タイミングとどのような時間関係のタイミングで読み込みが要求されても、正しいゲスト時計時刻を出力することができる。   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 correction instruction unit 33 instructs 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 34 is updated. .

ゲスト20では、ゲストOS時刻補正部23は、ゲストOS時刻補正指示手段からの指示に従って前記ゲストOS時刻を補正する。   In the guest 20, the guest OS time correction unit 23 corrects the guest OS time according to an instruction from the guest OS time correction instruction unit.

これにより、ゲスト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 time update unit 38 searches the update timing table of the update timing management unit 36, and the update timing matches the current counter value. The guest 20 to be extracted is extracted (step 102). Then, the guest clock time update unit 38 adds the update time 35 to update the guest clock time (step 103).

図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 guest 20 is requested to change the guest clock time from the guest time changing unit 21 to the virtual machine clock 24 in the guest 20, the change request is input from the virtual machine clock 24 to the guest clock time writing unit 32 (step 201). The guest time writing unit 32 calculates the remaining time until the next update timing of the guest 20 from the difference between the counter value indicating the update timing in the update timing table and the counter value output by the period counter (step 202). .

続いて、ゲスト時刻書き込み部32は、どれだけ時刻を進める、あるいは遅らせるかという要求変更時間と、ステップ202で算出した残時間とを加算して更新時変更時間を算出し(ステップ203)、更新時間保持部35の更新時間を更新時変更時間に書き換える(ステップ204)。   Subsequently, the guest time writing unit 32 calculates the update time by adding the request change time for how much the time is advanced or delayed and the remaining time calculated in Step 202 (Step 203). The update time of the time holding unit 35 is rewritten to the change time at update (step 204).

その後にゲスト20の更新タイミングが来ると、図3に示した更新処理によって、更新時変更時間がゲスト時計時刻に加算され、ゲスト時計時刻が変更される。   Thereafter, when the update timing of the guest 20 comes, the update time shown in FIG. 3 is added to the guest clock time, and the guest clock time is changed.

図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 guest 20 to the host 30 (step 301), in the host 30, the guest clock time reading unit 31 displays a counter value indicating the update timing in the update timing table, Based on the difference from the counter value output by the cycle counter 37, the remaining time until the next update timing of the guest 20th is calculated (step 302).

続いて、ゲスト時計時刻読み込み部31は、ゲスト時計時刻保持部34に保持されているゲスト時計時刻と、更新時間保持部35に保持されている更新時間との和から、ステップ302で算出した残時間を減算し、得られたゲスト時計時刻をゲスト20に出力する(ステップ303)。   Subsequently, the guest clock time reading unit 31 calculates the remaining time calculated in step 302 from the sum of the guest clock time held in the guest clock time holding unit 34 and the update time held in the update time holding unit 35. The time is subtracted and the obtained guest clock time is output to the guest 20 (step 303).

実施例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 period counter 37 becomes “0”.

周期カウンタ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 time update unit 38 recognizes that the update timing of the guest # 1 has come. Then, the guest clock time update unit 38 acquires the update time from the update time holding unit 35 and adds it to the guest clock time of the guest clock time holding unit 34. Here, it is assumed that the update time is 10 seconds, and the guest clock time held in the guest clock time holding unit 34 is 12:00 (12:00:00). As a result of the update, the guest clock time of the guest clock time holding unit 34 becomes 12:00:10.

実施例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 guest 20 requests the host 30 to change the guest clock time, the guest clock time writing unit 32 outputs the counter value indicating the update timing of the guest # 1 in the update timing table and the period counter 37 at that time. The difference from the current counter value is calculated as the remaining time until the next update timing of guest # 1.

ここでは更新タイミングテーブルにおけるゲスト#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 period counter 37 at that time is “7”. Then the remaining time is 3 seconds.

続いて、ゲスト時計時刻書き込み部32は、要求変更時間と残時間を加算して更新時変更時間を算出し、更新時間保持部35の更新時間をその値に書き換える。ここでは要求更新時間が1時間(01:00:00)であり、残時間が3秒間(00:00:03)なので、更新時変更時間は1時間3秒(01:00:03)となる。   Subsequently, the guest clock time writing unit 32 calculates the update time by adding the request change time and the remaining time, and rewrites the update time of the update time holding unit 35 to the value. Here, the request update time is 1 hour (01:00:00) and the remaining time is 3 seconds (00:00:03), so the update time change time is 1 hour 3 seconds (01:00:03). .

その後に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 time update unit 38 sets the update time change time (01:00:03) of the update time holding unit 35 to the guest clock time holding unit 34. The update time (01:00:03) is added to the clock time (12:00:00). As a result, the guest clock time is 13: 3 (01:00:03)

実施例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 guest 20 requests the guest 30 to read the guest clock time, the guest clock time reading unit 31 outputs the counter value indicating the update timing of the guest # 1 and the period counter 37 in the update timing table. The difference from the counter value is calculated as the remaining time until the next update timing of guest # 1.

ここでは更新タイミングテーブルにおけるゲスト#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 period counter 37 at that time is “7”. Then the remaining time is 3 seconds.

続いて、ゲスト時計時刻読み込み部31は、ゲスト時計時刻保持部34に保持されているゲスト時計時刻と、更新時間保持部35に保持されている更新時間との和を算出し、得られた値から残時間を減算し、その算出結果をゲスト20に出力する。   Subsequently, the guest clock time reading unit 31 calculates the sum of the guest clock time held in the guest clock time holding unit 34 and the update time held in the update time holding unit 35, and the obtained value The remaining time is subtracted from and the calculation result is output to the guest 20.

ここでは、ゲスト時計時刻保持部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 time holding unit 34 is 12:00 (12:00:00), and the update time held in the update time holding unit 35 is 10 seconds (00: 00: 00: 00). 10). Therefore, the sum of the stored guest clock time and the update time is 12:10 seconds, and when the remaining time of 3 seconds (00:00:03) is subtracted from there, the guest clock time to be output is 12: 7 seconds ( 12:00:07).

以上、本発明の実施形態および実施例について述べてきたが、本発明は、これらの実施形態または実施例だけに限定されるものではなく、本発明の技術思想の範囲内において、これらの実施形態や実施例を組み合わせて使用したり、一部の構成を変更したりしてもよい。   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.
JP2012040840A 2012-02-28 2012-02-28 Time management apparatus, method, and program Expired - Fee Related JP5739364B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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