JP3888637B2 - 論理的に区分されたコンピュータ・システムにおける仮想リアルタイム・クロックの維持 - Google Patents

論理的に区分されたコンピュータ・システムにおける仮想リアルタイム・クロックの維持 Download PDF

Info

Publication number
JP3888637B2
JP3888637B2 JP2004113586A JP2004113586A JP3888637B2 JP 3888637 B2 JP3888637 B2 JP 3888637B2 JP 2004113586 A JP2004113586 A JP 2004113586A JP 2004113586 A JP2004113586 A JP 2004113586A JP 3888637 B2 JP3888637 B2 JP 3888637B2
Authority
JP
Japan
Prior art keywords
time clock
value
real
clock
hardware
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
JP2004113586A
Other languages
English (en)
Other versions
JP2004318878A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004318878A publication Critical patent/JP2004318878A/ja
Application granted granted Critical
Publication of JP3888637B2 publication Critical patent/JP3888637B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Electric Clocks (AREA)

Description

本発明は、一般には、論理的に区分されたコンピュータ・システムに関し、より詳細には、ハードウェアのリアルタイム・クロックに基づいて仮想化されたリアルタイム・クロックを維持することに関するものである。
コンピューティング環境において、並列処理とは、一般に複数のコンピューティング・タスクを並列に実行することを指す。従来、並列処理には、複数のコンピュータ・システムが必要であり、そのそれぞれのリソースが特定のタスク専用とされ、または共通のタスクの一部を実行するために割り当てられていた。しかし、最近のコンピュータ・ハードウェアおよびソフトウェア技術の進歩により、単一のコンピュータ・システムで、システム・リソースを異なるタスクに対して論理的に区分することによって、非常に複雑な並行処理を行うことができるようになった。論理的に区分されたコンピュータ・システムでは、使用可能なシステム・リソースは、複数の論理パーティション(区分)に割り当てられ、そのそれぞれが、他のパーティションとは独立に動作するように見えるように設計される。リソースの論理パーティションへの割当ての管理は、パーティション・マネージャと一般に称されるソフトウェア・コンポーネントの一階層を介して通常実施される。
パーティション・マネージャの一目的は、専用のコンピュータ・システム上で実行するために一般に開発されたソフトウェア(オペレーティング・システムや特定のオペレーティング・システム用のアプリケーションなど)を、ほとんどまたは全く修正を加えないで、それぞれの論理パーティションが独立に実行できるようにすることである。たとえば、ある論理パーティションは、IBMのOS/400など第1のオペレーティング・システムを実行し、第2の論理パーティションは、IBMのAIXなど第2のオペレーティング・システムを実行し、第3の論理パーティションは、Linuxなど第3のオペレーティング・システムを実行することができる。複数のオペレーティング・システムを同じコンピュータ・システム上で実行できるようにすると、論理的に区分されたシステムは、アプリケーション・プログラムがどのオペレーティング・システム用に作成されたかにほとんどまたは全く関係なく、ユーザのニーズに最適なアプリケーション・プログラムを選択するより多くの自由度をユーザに提供することができる。
パーティション・マネージャは一般に、それぞれの論理パーティションに対して、当該論理パーティションから見て、相当するハードウェア・コンポーネントと同じように動作する1組の仮想リソース(ソフトウェア・コンポーネント)を与えることによって、それぞれの論理パーティションが、ソフトウェアを独立に実行できるようにするという目的を達成するものである。言い換えれば、パーティション・マネージャによって、それぞれの論理パーティションは、実際には、それ自体の1組の仮想リソースを有する、独立した仮想コンピュータ・システム(または仮想マシン)として動作できるようになる。
それぞれの論理パーティションに設けることができる仮想リソースの一例に、仮想リアルタイム・クロックがある。このクロックは、電源がない時にシステムの時間管理を可能にするためバッテリでバックアップされた実在の単一ハードウェア・リアルタイム(実時間)・クロックから導き出すことができる。パーティション・マネージャは一般に、それぞれの論理パーティションに対して、ハードウェア・リアルタイム・クロックからのオフセット(補正値)を維持することによって、仮想化されたリアルタイム・クロックの動きを常に把握する。論理パーティションは、仮想リアルタイム・クロックを修正することができるが、オフセットを無効にするかもしれないので、ハードウェア・リアルタイム・クロックの修正は一般にできないようにしてある。
それぞれの仮想リアルタイム・クロックは、(たとえば異なるパーティション・オフセットを用いて)異なる時間に設定できるが、論理的に区分されたシステムの保守容易性にとっては、当該システム内でパーティションを維持する役割を担う様々なコンポーネント間で、リアルタイム・クロックを同期化することが一般的な目的であり、こうしたコンポーネントには、パーティション・マネージャ、サービス・プロセッサ、システム全体を制御するために使用する遠隔コンソール、およびこうしたコンポーネントの任意の組合せを含むことができる。これらのシステムにとっては、こうした同期化を行うためにパーティション・マネージャを起動して完全動作状態におくという制約なしに、このような同期化を実施する機能を有することも、更なる目的である。したがって、パーティション・マネージャが稼働していない間に、ハードウェア・リアルタイム・クロックに対する変更を行うことを許可することができる。
しかし、パーティション・マネージャが稼働していない間に、ハードウェア・リアルタイム・クロックが変更されると、論理パーティションに対する仮想リアルタイム・クロック・データ(オフセットなど)が無効になることがある。したがって、従来の論理的に区分されたシステムでは、パーティション・マネージャが稼働していない間にハードウェア・リアルタイム・クロックが変更されると、すべてのパーティションの仮想リアルタイム・クロックが失われることがあり、その後でこの仮想リアルタイム・クロックをユーザが1つずつ再設定しなければならず、それに多大な時間と労力を要することがある。従来の論理的に区分されたシステムにおけるこうしたシナリオを回避するために、パーティション・マネージャが稼働していない間の、ハードウェア・リアルタイム・クロックの設定へのアクセスは厳しく制限され、それによって保守容易性を好ましくないほどに制限することがある。
したがって、論理パーティショニング・ソフトウェア(論理区分化ソフトウェア)が稼働していない間に、ハードウェア・リアルタイム・クロックを変更できるようにする、ハードウェア・リアルタイム・クロックに基づいて仮想リアルタイム・クロックを維持するための改良型の方法および装置が求められている。
本発明は、一般に、論理的に区分されたコンピュータ・システム内で、1つまたは複数の仮想リアルタイム・クロックを維持するための方法、製品およびシステムを対象とする。
一実施形態では、論理パーティショニング・オペレーティング・システムによって管理される少なくとも1つの論理パーティションに対する少なくとも1つの仮想リアルタイム・クロックを維持するための方法が提供される。この方法は一般に、論理パーティショニング・オペレーティング・システムが稼働していない間に、ハードウェア・リアルタイム・クロックに対して行われる変更を追跡すること、および当該ハードウェア・リアルタイム・クロックに対する当該変更に基づいて、仮想リアルタイム・クロックを導き出す元である1つまたは複数のデータ要素を調整することを含む。
別の実施形態では、論理パーティショニング・オペレーティング・システムによって管理される1つまたは複数の論理パーティションをもつコンピュータ・システム内で、1つまたは複数の仮想リアルタイム・クロックを維持するための方法が提供される。この方法は一般に、論理パーティショニング・オペレーティング・システムが稼働していない間、ハードウェア・リアルタイム・クロックに対する変更をサービス・プロセッサによって捕捉すること、および当該捕捉された変更に基づいて、論理パーティショニング・オペレーティング・システムによって、仮想リアルタイム・クロックを導き出す元である1つまたは複数のデータ要素を調整することを含む。
別の実施形態では、仮想リアルタイム・クロックを維持するためのプログラムを含むコンピュータ読取り可能媒体が提供される。プロセッサによる実行時、このプログラムは、一般に、論理パーティショニング・オペレーティング・システムが稼働していない間のハードウェア・リアルタイム・クロックの変更を示す変数にアクセスすること、およびこの変数に基づいて、仮想リアルタイム・クロックを導き出す元である1つまたは複数のデータ要素を調整することを含めた処理を実施する。
別の実施形態では、ハードウェア・リアルタイム・クロック、サービス・プロセッサ、相当する仮想リアルタイム・クロックを有する少なくとも1つの論理パーティションおよびパーティション・マネージャを含む、論理的に区分されたコンピュータ・システムが提供される。サービス・プロセッサは一般に、パーティション・マネージャが稼働していない間、ハードウェア・リアルタイム・クロックに対する変更を、デルタ・クロック変数として捕捉するように構成される。パーティション・マネージャは一般に、当該デルタ・クロック変数にアクセスし、当該デルタ・クロック変数に基づいて、仮想リアルタイム・クロックの導き出す元である1つまたは複数のデータ要素を調整するように構成される。
本発明は一般に、論理的に区分されたコンピュータ・システム内で、仮想リアルタイム・クロック(仮想RTC)を維持するための方法、装置、システムおよび製品を対象とする。一般に、パーティション・マネージャが稼働していない(または十分に動作する状態でない)間に、ハードウェア・リアルタイム・クロック(ハードウェアRTC)に対して行われる変更を追跡する。ハードウェアRTCの値に対するこうした変更の累積的効果は、本明細書では「クロック・デルタ」と称する変数として捕捉することができる。実施形態によっては、サービス・プロセッサは、パーティション・マネージャが稼働していない間、ハードウェアRTCに対する変更を追跡して、当該クロック・デルタを生成するように構成することができる。ロードされた後、パーティション・マネージャは、この捕捉されたクロック・デルタを使用して、パーティション・マネージャが稼働していない間にハードウェアRTCに対して行われた変更を補償することでその保全性を保持するよう努めながら、仮想RTCを調整することができる。
本明細書では、リアルタイム・クロックという用語は一般に、特定の基準時点に対してタイミングを調整する目的で使用され得るどんなタイプのタイミング機構をも指す。本明細書では、仮想という用語は一般に、相当するハードウェア・コンポーネントとして動作するように見えるように構成されるソフトウェア・コンポーネントを指す。したがって、仮想リアルタイム・クロックは一般に、相当するハードウェア・リアルタイム・クロックとして動作するように見えるように構成されるソフトウェア・コンポーネント、たとえばその値を1つのアプリケーション・プログラムが読み出しおよび設定できるようにするもの、を指す。リアルタイム・クロックの一般的な用途は、日時の値(本明細書では併せてTOD値と称する)を保持および維持することであるが、本発明の諸態様が、他のいずれかの時間管理目的に使用される仮想リアルタイム・クロックを維持するための利点に向いている場合がある。したがって、以下の説明で時刻機能についてのどんな言及も、リアルタイム・クロックの具体的な、しかし限定的ではない、適用例であるとみなすべきである。
本発明の一実施形態は、たとえば、図1に示し、以下で説明する論理的に区分されたコンピュータ・システム100などのコンピュータ・システムで使用するプログラム製品として実装される。このプログラム製品におけるプログラムは、(本明細書で説明する諸方法を含む)諸実施形態の機能を定義するものであり、様々な信号搬送媒体に含めることができる。模範的な信号搬送媒体としては、それだけには限らないが、(i)書込み不可能な記憶媒体(CD−ROMドライブによって読出し可能なCD−ROMディスクなど、コンピュータ上の読出し専用メモリ装置)に永久的に格納される情報、(ii)書込み可能な記憶媒体(ディスケット・ドライブ内のフロッピ・ディスクやハード・ディスク・ドライブなど)に格納される変更可能な情報、または(iii)通信媒体によって、たとえば無線通信およびインターネットを含めたコンピュータ・ネットワークまたは電話ネットワークを介して、コンピュータに伝達される情報を含む。
一般に、本発明の諸実施形態を実施するために実行されるルーチンは、オペレーティング・システムの一部でも、たとえば図1に示す論理的に区分されたコンピュータ・システム100のパーティション・マネージャ120およびサービス・プロセッサ160として実施されるファームウェアを含めて、特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクトまたは命令シーケンスでもよい。本発明のソフトウェアは一般に、ネイティブ・コンピュータによってマシン読取り可能なフォーマットに、したがって実行可能な命令に変換される複数の命令で構成される。またプログラムは、プログラムにとってローカルなところに常駐し、あるいはメモリまたは記憶装置内にある変数およびデータ構造体で構成される。さらに、以下で説明する様々なプログラムは、それらが本発明の特定の実施形態においてどの適用例に対して実施されているかに基づいて識別することができる。しかし、以下に述べるいずれの具体的な用語(nomenclature)も便宜上使用するものにすぎず、したがって、本発明は、こうした用語によって識別または示唆される特定の適用例だけに使用することに限定されないことを理解されたい。
[模範的な論理的に区分されたシステム]
図1では、論理的に区分されたコンピュータ・システム100は、1つまたは複数の論理パーティションを有する(任意の数Nの論理パーティション110をサポートできることを示すために、論理パーティション1101から110Nとして図示する)。パーティション・マネージャ120は一般に、論理パーティション110の生成および削除を制御することができる。コンピュータ・システム100は、ネットワーク・サーバ、メイフレーム・コンピュータなど、論理区分をサポートできるいずれの適切なタイプのコンピュータ・システムであってもよい。一実施形態では、コンピュータ・システム110は、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ(IBM)から入手可能なeServer iSeriesコンピュータ・システムである。
コンピュータ・システム100は一般に、システム・メモリ140に接続された1つまたは複数のシステム・プロセッサ130を含む。システム・プロセッサ130は、任意の適切な割当て構成に従って論理パーティション110に割り当てることができる。たとえば、それぞれの論理パーティション110は、システム・プロセッサ130のうちの1つまたは複数を、それ専用にすることができ、またシステム・プロセッサ130のうちの1つまたは複数を、1つまたは複数の他の論理パーティション110と共有することもできる。システム・プロセッサ130、システム・メモリ140および他の様々な割当てリソースおよび未割当てリソース170の論理パーティション110への割当ては、パーティション・マネージャ120によって制御することができる。
システム・プロセッサ130に加えて、コンピュータ・システム100は、サービス・プロセッサ160を含むことができ、このサービス・プロセッサは一般に、パーティション・マネージャ120が稼働していないときを含めて、連続して、かつパーティション・マネージャ120とは独立に稼働するように構成される。サービス・プロセッサ160は一般に、コンポーネント・テストを含むことができる初期プログラムロード(IPL)の一部を実行するための特殊なファームウェア・コードを実行する。したがって、サービス・プロセッサ160は通常、システム・プロセッサ130の始動および停止、ならびに図示する様々なコンポーネント内の障害分離レジスタの読出しができることを含めて、ハードウェアへの制御アクセスを有する。サービス・プロセッサ160は、稼働時に発生し得るシステムの問題を診断する助けとして使用することもできる。サービス・プロセッサ160は、本明細書に記載する処理および機能を実施するために、(内部または外部メモリを介して)プログラムされる、IBMから入手可能なPowerPCプロセッサなどのマイクロプロセッサとして実装することができる。
サービス・プロセッサ160は、ハードウェア管理コンソール(HMC)180にとって、コンピュータ・システム100とのインターフェイスとして働く。HMC180は、(一般にサービス・プロセッサ160をインターフェイスとして使用する)コンピュータ・システム100に接続されたカスタム構成のパーソナル・コンピュータ(PC)として実装することができ、また論理区分および他の低レベルのシステム管理を構成するのに使用することができる。実施形態によっては、類似の機能を、やはりサービス・プロセッサ160とインターフェイスすることができる1つまたは複数のサービス・パーティション(図示せず)、あるいは他の類似のタイプのインターフェイスによって提供することができる。
実施形態によっては、サービス・プロセッサ160は、リアルタイム・クロック(RTC)150などのハードウェア・コンポーネントとの唯一のソフトウェア・インターフェイスを提供する。言い換えれば、パーティション・マネージャ120またはHMC180など他のコンポーネントからのRTC150の設定要求は、サービス・プロセッサ160を介してだけ実行することができる。上述したように、サービス・プロセッサ160は、パーティション・マネージャ120の電源が切れた後、引き続き実行することができ、したがって、HMC180またはこうした類似のハードウェア・インターフェイスを介してRTC150への変更を可能にすることができる。
RTC150は一般に、「実際の」システム時刻や「時刻」(TOD)の維持などの、永続的な時間管理の目的で使用することができる、連続して動作するように構成されるどんなタイプのカウント装置(バッテリでバックアップされたリアルタイム・クロック・チップなど)をも示している。TODは、任意の適切なフォーマットで保持することができ、その個々の詳細は、様々な実施形態によって異なり、パーティション110間でさえも異なり得ることが理解されよう。上述のように、パーティション・マネージャ120は、それぞれのパーティション110に対する、仮想リアルタイム・クロックを維持することができ、このクロックは、RTC150からのオフセットとして維持することができる。精密な実装に応じて、それぞれのパーティションに対するオフセットを、仮想RTCデータ192として、永続的メモリ190(バッテリ・バックアップまたは不揮発性のRAM)に直接格納し、またはそこから導き出すことができる。
しかし、上述したように、パーティション・マネージャ120が稼働していない間に、(たとえばHMC180によって)RTC150が異なる時間に修正または設定されると、論理パーティション110に対する仮想RTCデータ192は、有効ではなくなることがある。したがって、実施形態によっては、サービス・プロセッサ160を、パーティション・マネージャ120の電源が切れている(稼働していない)間RTC150に対する変更を監視し、こうした変更の累積効果を変数クロック・デルタ194として永続的メモリ190内に捕捉するように、構成することができる。ロードされた後、パーティション・マネージャ120は、それが稼働していなかった間のRTC150に対する変更を補償する目的で、このクロック・デルタ194を使用して、仮想RTCデータ192、または、論理パーティションに対する仮想RTC値(TOD)を計算するために仮想RTCデータ192とともに使用される他の類似の変数、を調整することができる。
[仮想リアルタイム・クロックの維持]
図2は、本発明の一実施形態による、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントの相関図である。図示するように、パーティション・マネージャ120は、ディスパッチ(データ等の発送)可能な部分122およびディスパッチ不可能な部分124を含む、2つの一般に別個のコード層として実装することができる。ディスパッチ不可能部分124は一般に、コンピュータ・システム100のシステム・ファームウェアとして実装され、転送制御の有効化(I/Oアクセスなど)やページ・テーブル管理などの低レベルのパーティション管理機能を提供し、複数の論理パーティション110を構成し、サービスし、実行するために必要なデータおよびアクセス方法を含む。ディスパッチ可能部分122は一般に、仮想サービス・プロセッサ機能やパーティションの開始/停止などの高レベルのパーティション管理機能を扱う。
ディスパッチ不可能部分124は、論理パーティション110に対する仮想RTCのファンクション呼出しを扱うこともでき、ディスパッチ可能部分122は、サービス・プロセッサ160とともに、パーティション・マネージャ120が稼働していない間にハードウェアRTC150に対する変更が行われた後、仮想RTCが適切に維持されるようにすることができる。たとえば、上述のように、サービス・プロセッサ160は、パーティション・マネージャ120が稼働していない間、RTC150に対する変更を捕捉することができ、パーティション・マネージャのディスパッチ可能部分122は、その捕捉された変更を使用して、仮想RTCを調整することができる。以下でより詳しく述べるように、仮想RTCに対する実際の調整は、その実際の実装によって変わることがある。
図4に、パーティション・マネージャ120が稼働していない間、ハードウェアRTC150に対する変更を追跡し、クロック・デルタ194を生成するために、大部分はサービス・プロセッサ160(またはハードウェアRTC150に対する変更を追跡できる他のいずれかのタイプのコンポーネント)によって実施することができる模範的な処理300を示す。クロック・デルタ194の値は、処理300を開始する前に分かっていると想定されているが、その実際の値は想定されていない。処理300は、図2を参照すれば最もよく説明することができる。
処理300では、ステップ302で、RTC150を新しい値(RTCNEW)に設定する要求を受信することから開始する。たとえば、サービス・プロセッサ160は、HMC180またはパーティション・マネージャ120から、RTC150の設定要求を受信することができる。ステップ304で、パーティション・マネージャ120が稼働しているかどうかを判定する。この判定は、たとえばステータス・フラグを調べ、または単に(要求自体に含まれることがある)要求発信元のコンポーネントの識別に基づいて行うことができる。パーティション・マネージャ120が実行中であると判定された場合、パーティション・マネージャ120が、RTC150に対する変更について仮想リアルタイム・クロックと同期をとることができる。したがって、ステップ307で、RTC150を新しい値に設定し、ステップ309で、仮想リアルタイム・クロック・データ(仮想RTCデータ192など)を、RTC150の変更を反映するように更新する。
一方、パーティション・マネージャ120が稼働していない場合、RTC150に対する変更を、(後でパーティション・マネージャ120がロードされるときなど)仮想RTCを調整する際に使用するため、クロック・デルタ194として捕捉する。ステップ306で、RTC150の現在の値を読み出し、ステップ308で、新しいクロック・デルタ194(ΔNEW)を、次式を用いて生成する。
ΔNEW=ΔCURRENT+(RTCNEW−RTCCURRENT
ただし、ΔCURRENTおよびRTCCURRENTはそれぞれ、クロック・デルタ194およびRTC150の現在の値である。新しいクロック・デルタ194が計算されると、ステップ310で、RTC150をRTCNEWに設定することができ、その後、ステップ312で、処理300が終了する。論理パーティション110に対する仮想RTCを調整する際にパーティション・マネージャ120が使用できるように、RTC150に対する累積的変更をクロック・デルタ194として捕捉するために、必要に応じて処理300を繰り返すことができる。
図5に、たとえば、パーティション・マネージャ120によって、捕捉されたクロック・デルタ194に基づいてパーティション110の仮想RTCを(ロード後などに)調整するために実施することができる模範的な処理400を示す。処理400では最初に、ステップ402で、パーティション・オペレーティング・システム(パーティション・マネージャ120など)の初期プログラム・ロード(IPL)が開始される。ステップ404で、RTC150の現在の値(RTCCURRENT)を読み出し、ステップ406で、たとえば永続的メモリ190からクロック・デルタ194を読み出す。ステップ408で、仮想RTCを、RTCCURRENTおよびクロック・デルタ194に基づいて調整し、その後、ステップ410で、(クロック・デルタ194が、仮想RTCを更新するために一度だけ使用されるように)クロック・デルタ194をゼロにする。
[模範的な仮想リアルタイム・クロックの実装]
仮想RTCに対する実際の調整は、仮想RTCが具体的にはどのように実装されているかによって異なる。図2に示すように、実施形態によっては、仮想RTCデータ192は、リモート・カウンタ152およびRTC150から導き出すことができる。リモート・カウンタ152は、フリーラン・カウンタとすることができ、そこから仮想RTC(またはTDO)値を、仮想RTCデータ192に格納されているオフセット値に基づいて導き出すことができる。ハードウェアRTC150とリモート・カウンタ152は、異なる周波数で動作することができるが、これらの値は、スケーリングおよび変換の任意の組合せによって、整合性のとれたものとすることができる。したがって、TOD値は、リモート・カウンタ152のバイナリ値を、年、月、日、時、分、秒およびコンマ何秒などの、単位についての別個のコンポーネントを含み得る任意の所望のTODフォーマットに変換することによって、導き出すことができる。
したがって、リモート・カウンタ152を使用して、最初の時刻(たとえば最小値に対応する)および最後の時刻(たとえば最大値に対応する)によって定義されるTOD値の範囲を示すことができる。具体的な例として、リモート・カウンタ152を、8マイクロ秒毎に増分する49ビット・カウンタとすることができる。このように、リモート・カウンタ152は、およそ143年(すなわち249×8×10-6秒)にわたって動くものになることがある。
実施形態によっては、パーティション・マネージャ120は、リモート・カウンタ152をシステム・タイムに対する基準として使用し、かつ上述のように、電源が切れたときにシステム・タイムを維持するためにRTC150を使用するように、構成することもできる。しかし、RTC150およびリモート・カウンタ152は、分解能および精度がわずかに異なっているので、リモート・カウンタ152から導き出されるリアルタイムとRTCから導き出されるリアルタイムとの間にずれが生じることがある。したがって、こうしたずれを最小に抑えるために、パーティション・マネージャ120のディスパッチ可能部分122は、たとえばリモート・カウンタ152の値に基づいてRTC150を周期的に更新することによって、RTC150とリモート・カウンタ152を周期的に同期させるように構成することができる。
ともかく、上述のように、それぞれの論理パーティションについて、リモート・カウンタ152からのオフセットを(たとえば永続的メモリ190に)保持することによって、仮想RTCを維持することができる。こうしたオフセットを直接格納しておくことができるし、また他のデータから導き出すこともでき、どちらも、仮想RTCデータ192として格納することができる。実施形態によっては、あるパーティション110上で稼働しているアプリケーションがそれに相当する仮想RTCを設定するとき、パーティション・マネージャ120は、そのパーティション110について、リモート・カウンタ152からのオフセットを計算する際に使用するために、(たとえば仮想RTCデータ192として)2つのデータ要素、
1)仮想RTCに設定される値、および
2)仮想RTC設定時のリモート・カウンタ152の値
を保存することができる。
一例として、図3に、こうした2つのデータ要素を格納するのに使用することができる模範的なデータ構造体を示す。図示するように、クライアント(たとえば対応する論理パーティション110)が最後に設定した仮想RTC(TOD)値を表す基本TOD値(TODBase)、およびクライアントによって最後の仮想RTC値(TODBase)が設定されたときのリモート・カウンタ152のスナップショット(TODSnapshot)がある。
このように、TODBaseおよびTODSnapshotによって、仮想時刻をフリーラン・カウンタ値152に関連付ける基準時点が設けられる。言い換えれば、仮想RTCオフセット(vRTCOFFSET)を、次式を用いて決定することができる。
vRTCOFFSET=TODBase−TODSnapshot
次いで、仮想RTCオフセットを使用して、次式によって、リモート・カウンタ152の現在の値(TODCURRENT)から、現在の仮想RTC値(vRTCCURRENT)を計算することができる。
vRTCCURRENT=TODCURRENT+vRTCOFFSET
しかし、リモート・カウンタ152は一般に、バッテリによるバックアップはなく、電源が切れているときは動作しない。したがって、電源の初期投入時に、リモート・カウンタ152の状態を定義することができない。そこで、リモート・カウンタ152をTODの基準値として使用できるように、電源が切れている間に、仮にリモート・カウンタ152が動作し続けていたとしら達するであろう推定値を生成するために、電源が入れ直された後、リモート・カウンタをまずRTC150に基づいて初期設定することができる。
リモート・カウンタ152のこうした推定値(TODEST)は、基準時点をもたらす、ある既知の時刻におけるRTC150のスナップショット値(RTCSNAPSHOP)、およびリモート・カウンタ152のスナップショット値(TODSNAPSHOT)と(これらの値は、IPL時にパーティション・マネージャ120のディスパッチ可能部分122からアクセス可能な仮想RTCデータ1920として格納することができる)、ならびにRTC150の現在の値(RTCCURRENT)と、に基づいて計算することができる。たとえば、次式を用いてTODESTを計算することができる。
TODEST=TODSNAPSHOT+SCALE(RTCCURRENT−RTCSNAPSHOT
先に示したように、リモート・カウンタ152およびRTC150は、異なる周波数で動作していることがあるので、まずRTC値をスケーリングすることが必要になり得る。実施形態によっては、たとえば、RTC150が異なる値(年、日、時、秒など)を提供する場合、RTC値を、リモート・カウンタ152と整合性のとれたフォーマットに変換することも必要になることがある。ともかく、パーティション・マネージャ120は、たとえばIPLの後で、リモート・カウンタ152を、こうした推定値(TODEST)に設定することができ、その結果、リモート・カウンタ152は、電源が切れている間も連続して動作していたように見えるようになる。したがって、リモート・カウンタ152に基づいて仮想リアルタイム・クロックを適切に維持することができる。
しかし、上述のように、サービス・プロセッサ160は、パーティション・マネージャ120の電源が切れているか、または十分な動作状態ではないときに、連続して動作することができ、また、RTC150に対する変更を行えるようにし続けることができ、それによって、上述のTOD推定値が影響を受け、RTCSNAPSHOTによって設けられた時刻の基準が実際には無効になることがある。しかし、上述のように、こうした変更を、クロック・デルタ194(ΔCLOCK)に捕捉することができ、このクロック・デルタを使用して、次式によって、TOD推定値を補償することができる。
TODEST=TODSNAPSHOT+SCALE(RTCCURRENT−RTCSNAPSHOT−ΔCLOCK
言い換えれば、RTC150に対する正の変更は、現在のRTC値から減算され(または負の変更は現在のRTC値に加算され)、それによって、リモート・カウンタ152の値は、電源が切れていた間に連続して動作していた場合と同じように推定される。この手法の1つの利点は、すべての論理パーティション110について、リモート・カウンタ152に基づく仮想RTCの計算値に対して、単一の値(リモート・カウンタ152)を調整することによって、ハードウェアRTC150の変更を補償できることである。
もちろん、リモート・カウンタ152を調整するのではなく、クロック・デルタ194を使用して、様々な他の技法に従って仮想RTC計算値を補償することもできる。たとえば、vRTCオフセット計算値を、クロック・デルタを用いて、次式によって、補償することができる。
vRTCOFFSET=TODBase−TODSnapshot−SCALE(ΔCLOCK
別法では、クロック・デルタ194を用いて、vRTCデータ192として格納されている実際の値のうちの1つを調整することができる。たとえば、IPL時(または後)、パーティション・マネージャ120は、次式に従って図3に示した値のうちのいずれかを調整することができる。
TODBaseNEW=TODBaseOLD−SCALE(ΔCLOCK)または
TODSnapshotNEW=TODSnapshotOLD+SCALE(ΔCLOCK
どちらの値を調整しても、計算されたオフセットに対して同じ効果をもつ。もちろん、様々な異なるタイプの仮想リアルタイム・クロック実装について、類似のタイプの調整を、クロック・デルタ194に基づいて行うことができる。
個々の実装に関係なく、クロック・デルタ194に基づいて仮想RTCを調整した後、たとえばパーティション・マネージャ120によって、(図5のステップ410に示すように)クロック・デルタ194をクリアして、捕捉されたRTC150に対するどの1組の変更についても、仮想RTCは一度だけしか調整されないようにすることができる。さらに、実施形態によっては、1組の状態変数を永続的メモリ190に維持することができ、この1組の状態変数を用いて、周知の技法によって、仮想RTC調整中に発生する可能性があるエラーからの回復を行うことができる。
[結論]
本発明の実施形態では、パーティション・マネージャが稼働していない間にハードウェアRTCに対して行われる変更を追跡することによって、論理的に区分されたシステム内の仮想RTCの保全性が、電源オン・オフのサイクルを通して維持されるようになる。こうしたハードウェアRTCに対する変更を、クロック・デルタ変数として捕捉することができ、この変数を使用して、一旦パーティション・マネージャが稼働した際に、仮想RTCを調整することができ、。それによって、パーティション・マネージャが稼働していない間に、ハードウェアRTCに対する変更がいつ行われたとしても、ユーザがそれぞれのパーティションに対する仮想RTCを手動で再設定する必要なしに、望ましいレベルの保守容易性がもたらされることになる。
前述の内容は、本発明の実施形態を対象とするものであるが、その基本の範囲から逸脱せずに、本発明の他のおよび追加の実施形態を考案することができ、その範囲は、特許請求の範囲によって定められる。
例として使用される本発明による論理的に区分されたコンピュータ・システムの図である。 本発明の一実施形態のソフトウェア・コンポーネントの相関図である。 本発明の一実施形態による模範的な仮想リアルタイム・クロック・データ構造体を示す図である。 本発明の一実施形態による、サービス・プロセッサによって実施することができる模範的な処理を示すフローチャートである。 本発明の一実施形態による、パーティション・マネージャによって実施することができる模範的な処理を示すフローチャートである。
符号の説明
100 コンピュータ・システム
1101 パーティション1
110N パーティションN
120 パーティション・マネージャ
122 ディスパッチ可能部分
124 ディスパッチ不可能部分
130 システム・プロセッサ
140 システム・メモリ
150 リアルタイム・クロック
152 リモート・カウンタ
160 サービス・プロセッサ
170 未割当てリソース
180 ハードウェア管理コンソール(HMC)
190 永続的メモリ
192 仮想RTCデータ
1920 仮想RTCデータ
1921 仮想RTCデータ
192N 仮想RTCデータ
194 クロック・デルタ
300 処理
400 処理

Claims (22)

  1. 論理パーティショニング・オペレーティング・システムによって管理される少なくとも1つの論理パーティションに対して、少なくとも1つの仮想リアルタイム・クロックを維持する方法であって、
    前記論理パーティショニング・オペレーティング・システムが稼働していない間、サービス・プロセッサがハードウェア・リアルタイム・クロックに対する変更を追跡るステップと、
    前記サービス・プロセッサが前記ハードウェア・リアルタイム・クロックに対する前記変更に準拠して、前記仮想リアルタイム・クロックが導き出される元となる1つまたは複数のデータ要素をパーティション・マネージャが稼働していない間に前記ハードウェア・リアルタイム・クロックに対して行われた変更の補償を調整するステップと、
    を有する方法。
  2. 前記サービス・プロセッサが前記ハードウェア・リアルタイム・クロックの値を読み出すステップと、
    前記サービス・プロセッサが読み出された前記ハードウェア・リアルタイム・クロックのにオフセット値を加算することによって、前記仮想リアルタイム・クロックの値を計算するステップと、
    をさらに有する、請求項1に記載の方法。
  3. 前記サービス・プロセッサが前記調整するステップが、前記仮想リアルタイム・クロックに関連するオフセット値を調整するステップをさらに有する、請求項1に記載の方法。
  4. 前記サービス・プロセッサがフリーラン・カウンタの値を読み出すステップと、
    前記サービス・プロセッサが読み出された前記フリーラン・カウンタの値に前記オフセット値を加算することによって前記仮想リアルタイム・クロックの値を計算するステップと、
    をさらに有する、請求項3に記載の方法。
  5. 前記サービス・プロセッサが前記仮想リアルタイム・クロックに最後に設定された記憶値と、前記仮想リアルタイム・クロックに最後に設定された時のフリーラン・カウンタの示す値の記憶値とから、前記オフセット値を計算するステップ、をさらに有する、請求項3に記載の方法。
  6. 前記調整するステップが、前記論理パーティショニング・オペレーティング・システムの電源投入時の前記ハードウェア・リアルタイム・クロックが示す時刻に基づいて、前記仮想リアルタイム・クロックの基になるフリーラン・カウンタの値を修正するステップを有する、請求項1に記載の方法。
  7. 前記調整するステップが、前記フリーラン・カウンタを、前記ハードウェア・リアルタイム・クロックと、時に取られた前記フリーラン・カウンタと前記ハードウェア・リアルタイム・クロックとの各スナップショット値に基づいて、生成された値に設定するステップを有する、請求項6に記載の方法。
  8. 前記フリーラン・カウンタと前記ハードウェア・リアルタイム・クロックとをフリーラン・カウンタの示す値に基づいて前記ハードウェア・リアルタイム・クロックを周期的に同期させるステップをさらに有する、請求項6に記載の方法。
  9. 論理パーティショニング・オペレーティング・システムによって管理される1つまたは複数の論理パーティションをもつコンピュータ・システム内で1つまたは複数の仮想リアルタイム・クロックを維持する方法であって、
    サービス・プロセッサによって、
    ハードウェア・リアルタイム・クロックを新しい値に変更する要求を受け取るステップと、
    前記論理パーティショニング・オペレーティング・システムが稼働しているかどうかを判断するステップと、
    稼働中でない場合、前記ハードウェア・リアルタイム・クロックの現在の値を読み出し、前記新しい値と前記現在との値の間の差分に基づいて前記ハードウェア・リアルタイム・クロックに対する累積的変更を捕捉するクロック・デルタを演算し、前記ハードウェア・リアルタイム・クロックを前記新しい値に設定するステップと、
    前記論理パーティショニング・オペレーティング・システムによって、前記クロック・デルタの値に基づいて、前記仮想リアルタイム・クロックが導き出される元となる1つまたは複数のデータ要素をパーティション・マネージャが稼働していない間に前記ハードウェア・リアルタイム・クロックに対して行われた変更の補償を調整するステップと、
    を有する方法。
  10. 前記仮想リアルタイム・クロックが導き出される元となる1つまたは複数のデータ要素を調整するステップが、
    前記論理パーティショニング・オペレーティング・システムの初期プログラム・ロードの開始するステップと、
    前記ハードウェア・リアルタイム・クロックの現在の値を読み出すステップと、
    前記クロック・デルタの値を読み出すステップと、
    前記仮想リアルタイム・クロックを、読み出された前記ハードウェア・リアルタイム・クロックの現在の値と、前記クロック・デルタの値に基づき調整されるステップと、
    を有する、請求項9に記載の方法。
  11. 前記調整するステップが、
    前記論理パーティショニング・オペレーティング・システムによって、前記サービス・プロセッサからの前記クロック・デルタにアクセスするステップと、
    前記論理パーティショニング・オペレーティング・システムによって、それぞれの論理パーティションに対する1つまたは複数のデータ要素を、前記クロック・デルタに基づいて調整するステップと、
    を有する、請求項10に記載の方法。
  12. 前記論理パーティショニング・オペレーティング・システムによって前記1つまたは複数のデータ要素にパーティション・マネージャが稼働していない間に前記ハードウェア・リアルタイム・クロックに対して行われた変更の補償を調整するステップが、それぞれの論理パーティションに対するオフセット値を調整するステップを有する、請求項に記載の方法。
  13. 前記論理パーティショニング・オペレーティング・システムによって前記1つまたは複数のデータ要素をパーティション・マネージャが稼働していない間に前記ハードウェア・リアルタイム・クロックに対して行われた変更の補償を調整するステップが、フリーラン・カウンタの値を調整するステップを有する、請求項に記載の方法。
  14. 請求項1〜6のいずれかに記載の方法の前記各ステップをコンピュータに実行させるプログラム。
  15. 請求項14記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  16. 請求項7〜13のいずれかに記載の方法の前記各ステップをコンピュータに実行させるプログラム。
  17. 請求項16記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  18. 論理的に区分されたコンピュータ・システムであって、
    ハードウェア・リアルタイム・クロックと、
    パーティション・マネージャが稼働していない間の、前記ハードウェア・リアルタイム・クロックに対する変更を、クロック・デルタの値として捕捉するように構成されたサービス・プロセッサと、
    相当する仮想リアルタイム・クロックをもつ少なくとも1つの論理パーティションと、
    前記クロック・デルタの値に基づいて、前記仮想リアルタイム・クロックが導き出される元となる1つまたは複数のデータ要素をパーティション・マネージャが稼働していない間に前記ハードウェア・リアルタイム・クロックに対して行われた変更の補償を調整するように構成されたパーティション・マネージャと、
    を有するコンピュータ・システム。
  19. フリーラン・カウンタをさらに有し、また、前記1つまたは複数のデータ要素が、前記フリーラン・カウンタの1つの値、および、前記仮想リアルタイム・クロックに関連する1つのオフセット値、のうちの少なくとも1つを有する、請求項18に記載の論理的に区分されたコンピュータ・システム。
  20. 前記パーティション・マネージャがさらに、前記オフセット値および前記フリーラン・カウンタの値に基づいて、前記仮想リアルタイム・クロックの値を計算するように構成される、請求項19に記載の論理的に区分されたコンピュータ・システム。
  21. 前記パーティション・マネージャが、前記フリーラン・カウンタを、前記クロック・デルタの値に基づいて、ならびに、ほぼ同時に取られた前記フリーラン・カウンタと前記ハードウェア・リアルタイム・クロックとの両スナップショット値に基づいて、生成された値に設定するように構成される、請求項20に記載の論理的に区分されたコンピュータ・システム。
  22. 前記サービス・プロセッサが、
    前記ハードウェア・リアルタイム・クロックを新しい値に変更する要求を受け取る機能と、
    前記パーティション・マネージャが稼働中であるかどうかを判断する機能と、
    もし稼働中でない場合は、前記ハードウェア・リアルタイム・クロックの現在の値を読み出し、前記新しい値と前記現在の値との間の変更量に基づいて前記クロック・デルタの値を調整し、引き続いて、前記ハードウェア・リアルタイム・クロックを前記新しい値に設定する機能と、
    によって、前記ハードウェア・リアルタイム・クロックに対する変更を捕捉するように構成される、請求項18に記載の論理的に区分されたコンピュータ・システム。
JP2004113586A 2003-04-10 2004-04-07 論理的に区分されたコンピュータ・システムにおける仮想リアルタイム・クロックの維持 Expired - Fee Related JP3888637B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/411,455 US7155629B2 (en) 2003-04-10 2003-04-10 Virtual real time clock maintenance in a logically partitioned computer system

Publications (2)

Publication Number Publication Date
JP2004318878A JP2004318878A (ja) 2004-11-11
JP3888637B2 true JP3888637B2 (ja) 2007-03-07

Family

ID=33130982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004113586A Expired - Fee Related JP3888637B2 (ja) 2003-04-10 2004-04-07 論理的に区分されたコンピュータ・システムにおける仮想リアルタイム・クロックの維持

Country Status (3)

Country Link
US (1) US7155629B2 (ja)
JP (1) JP3888637B2 (ja)
KR (1) KR100603118B1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3563721B2 (ja) 2001-09-21 2004-09-08 株式会社東芝 情報処理装置および同装置で使用される時計表示制御方法
US20040230673A1 (en) * 2003-04-17 2004-11-18 International Business Machines Corporation Virtual counter device tolerant to hardware counter resets
US7475002B1 (en) * 2004-02-18 2009-01-06 Vmware, Inc. Method and apparatus for emulating multiple virtual timers in a virtual computer system when the virtual timers fall behind the real time of a physical computer system
US8230252B2 (en) * 2004-07-20 2012-07-24 Hewlett-Packard Development Company, L.P. Time of day response
US8146078B2 (en) * 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US7512826B2 (en) * 2005-04-20 2009-03-31 International Business Machines Corporation Method, apparatus, and product for an efficient virtualized time base in a scaleable multi-processor computer
US8327448B2 (en) * 2005-06-22 2012-12-04 Intel Corporation Protected clock management based upon a non-trusted persistent time source
JP4671796B2 (ja) * 2005-07-27 2011-04-20 富士通テン株式会社 マイクロコンピュータのタイマ調整機構
US7356725B2 (en) 2005-09-09 2008-04-08 International Business Machines Corporation Method and apparatus for adjusting a time of day clock without adjusting the stepping rate of an oscillator
US7779289B2 (en) * 2006-02-15 2010-08-17 Stmicroelectronics S.A. Methods and data processing systems for sharing a clock between non-secured and secured tasks
JP4606493B2 (ja) * 2006-03-01 2011-01-05 富士通株式会社 コンピュータシステムの時刻管理制御方法及びコンピュータシステム
JP4162148B2 (ja) * 2006-04-12 2008-10-08 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
EP1936503A1 (en) * 2006-12-20 2008-06-25 International Business Machines Corporation A method and system for providing a deterministic virtual clock
FR2915589B1 (fr) * 2007-04-24 2009-07-10 Schneider Electric Ind Sas Systeme et methode pour gerer le temps dans un equipement d'automatisme
US8220031B2 (en) * 2007-05-01 2012-07-10 Texas Instruments Incorporated Secure time/date virtualization
CN101373390B (zh) * 2007-08-20 2010-04-14 鸿富锦精密工业(深圳)有限公司 即时时钟精确度验证系统及方法
JP4861935B2 (ja) * 2007-09-04 2012-01-25 株式会社日立製作所 情報処理システム及び時刻管理方法
JP2009238211A (ja) * 2008-03-07 2009-10-15 Panasonic Corp 情報処理装置、経過時間計測方法
CN101706748B (zh) * 2009-11-26 2011-07-27 成都市华为赛门铁克科技有限公司 日志记录方法、系统和单板管理控制器
US20110161716A1 (en) * 2009-12-31 2011-06-30 Hyvoenen Jani Systems, methods, and apparatuses for providing access to real time information
JP5549733B2 (ja) * 2010-08-18 2014-07-16 富士通株式会社 計算機管理装置、計算機管理システム及び計算機システム
US8359453B2 (en) 2010-09-13 2013-01-22 International Business Machines Corporation Real address accessing in a coprocessor executing on behalf of an unprivileged process
WO2012060010A1 (ja) * 2010-11-05 2012-05-10 富士通株式会社 情報処理装置,情報処理装置の時刻設定方法,及び情報処理装置の時刻設定プログラム,並びに監視装置
CN102081555B (zh) * 2011-02-24 2013-02-27 华为技术有限公司 调整时钟中断周期的方法和装置
JP5764985B2 (ja) * 2011-03-11 2015-08-19 富士通株式会社 情報処理装置および時刻制御方法
BRPI1101401A2 (pt) * 2011-03-29 2013-06-04 Inst Alberto Luiz Coimbra De Pos Graduacao E Pesquisas De Engenharia Coppe Ufrj relàgio virtual estritamente crescente para temporizaÇço de alta precisço de programas em sistemas de multiprocessamento
JP5739364B2 (ja) * 2012-02-28 2015-06-24 株式会社日立製作所 時刻管理装置、方法、およびプログラム
US9292712B2 (en) * 2012-09-28 2016-03-22 St-Ericsson Sa Method and apparatus for maintaining secure time
JP2014134989A (ja) * 2013-01-11 2014-07-24 Hitachi Ltd 計算機システム及び計算機管理方法
GB201314938D0 (en) 2013-08-21 2013-10-02 Advanced Risc Mach Ltd Communication between voltage domains
WO2016194655A1 (ja) * 2015-06-05 2016-12-08 ソニーセミコンダクタソリューションズ株式会社 信号処理装置および方法
GB2541671B (en) * 2015-08-25 2017-12-13 Advanced Risc Mach Ltd Providing count value between domains
JP6946773B2 (ja) * 2017-06-20 2021-10-06 セイコーエプソン株式会社 リアルタイムクロックモジュール、電子機器、移動体及び情報処理システム
CN113157046B (zh) * 2021-03-25 2023-03-28 山东英信计算机技术有限公司 一种服务器bmc时间管理方法、装置及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303850A (en) * 1978-02-27 1981-12-01 Rockwell International Corporation Real time clock using computer and separate counting means
JPS63201731A (ja) 1987-02-17 1988-08-19 Nec Corp 仮想計算機システムの時刻装置仮想化方式
JP2570096B2 (ja) 1993-05-26 1997-01-08 日本電気株式会社 システム時刻一致方法及びシステム時刻一致装置
GB2315887B (en) * 1996-07-27 2000-07-05 Motorola Gmbh Method and apparatus for re-programming memory device
JP3327138B2 (ja) 1996-09-20 2002-09-24 株式会社日立製作所 仮想情報処理装置の時刻設定方法
US6138243A (en) * 1998-05-14 2000-10-24 International Business Machines Corporation Method and system for keeping time across a multiprocessor platform
JP2000020158A (ja) 1998-07-07 2000-01-21 Hitachi Ltd 論理計算機の時刻合わせの方法
US6968473B2 (en) * 2001-11-15 2005-11-22 International Business Machines Corporation Method and apparatus for generating a virtual clock in a data processing system

Also Published As

Publication number Publication date
KR100603118B1 (ko) 2006-07-20
KR20040089472A (ko) 2004-10-21
JP2004318878A (ja) 2004-11-11
US7155629B2 (en) 2006-12-26
US20040205368A1 (en) 2004-10-14

Similar Documents

Publication Publication Date Title
JP3888637B2 (ja) 論理的に区分されたコンピュータ・システムにおける仮想リアルタイム・クロックの維持
US7870411B2 (en) Tracking current time on multiprocessor hosts and virtual machines
US7849347B2 (en) System and method for updating a time-related state of a migrating logical partition
US10379967B2 (en) Live rollback for a computing environment
US7512826B2 (en) Method, apparatus, and product for an efficient virtualized time base in a scaleable multi-processor computer
US10261800B2 (en) Intelligent boot device selection and recovery
JP4856503B2 (ja) Todクロックをステアリングするためのシステムおよび方法
US5960206A (en) Method and apparatus for estimating installation time in a data processing system
US11886902B2 (en) Physical-to-virtual migration method and apparatus, and storage medium
US9563462B2 (en) Suspending and resuming virtual machines
US8479214B2 (en) Hardware throughput saturation detection
US20140331220A1 (en) Live application mobility from one operating system level to an updated operating system level
US9015517B2 (en) Information processing apparatus and time-of-day control method
US7389410B1 (en) Automatically deriving order of initialization for computing services across multiple computing systems
CN106775846B (zh) 用于物理服务器的在线迁移的方法及装置
US20040230673A1 (en) Virtual counter device tolerant to hardware counter resets
US12019466B2 (en) Virtual precision time protocol clock devices for virtual nodes
CN110489140B (zh) 软件升级方法、装置、计算机设备及计算机存储介质
CN113126694A (zh) 计算机管理子系统的对时方法、系统、设备及存储介质
CN118193121A (zh) 一种云计算场景下的虚拟机vcpu挂死的检测方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060725

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060725

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: 20061107

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20061108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees