(57)【要約】【課題】情報処理装置における時刻合わせをより正確にする。【解決手段】情報処理装置は、設定手段と、取得手段と、第１更新手段と、第２更新手段とを備える。設定手段は、オペレーティングシステムの起動時に、ハードウェアクロックが管理する時刻をシステムクロックに設定する。取得手段は、時刻更新の機能を有するアプリケーションプログラムの起動時に、外部の時刻発生装置が前記ハードウェアクロックより小さい誤差で管理する時刻を取得する。第１更新手段は、前記ハードウェアクロックが管理する時刻を前記取得手段が取得した時刻に更新する。第２更新手段は、前記アプリケーションプログラムの実行中に、定期的に、前記システムクロックが管理する時刻を前記ハードウェアクロックが管理する時刻に更新する。【選択図】  図１
2012238214.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムの起動時に、ハードウェアクロックが管理する時刻をシステムクロックに設定する設定手段と、
時刻更新の機能を有するアプリケーションプログラムの起動時に、外部の時刻発生装置が前記ハードウェアクロックより小さい誤差で管理する時刻を取得する取得手段と、
前記ハードウェアクロックが管理する時刻を前記取得手段が取得した時刻に更新する第１更新手段と、
前記アプリケーションプログラムの実行中に、定期的に、前記システムクロックが管理する時刻を前記ハードウェアクロックが管理する時刻に更新する第２更新手段と、
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、より正確な時刻合わせを可能とする情報処理装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置では、ハードウェアクロック、インターバルタイマー及びシステムクロックを利用して時刻を管理している。ここで、ハードウェアクロック及びインターバルタイマーは、例えば水晶発信器等のハードウェアであって情報処理装置の電源がオフの場合にも内蔵されるバッテリーで動作している。一方、システムクロックはオペレーティングシステムによってメモリ上に管理され情報処理装置の電源がオンの場合にのみ動作する。
【０００３】
具体的には、ハードウェアクロックが管理する時刻を所定のタイミングでシステムクロックに設定した後、システムクロックで管理する時間をインターバルタイマーが定期的に発生する割り込みに応じて更新することで、情報処理装置で時刻が管理される。また、情報処理装置では、このシステムクロックが管理する時刻をデータ管理やデータ処理等に利用している。
【０００４】
時刻の管理は、情報処理装置が有する中央処理装置（ＣＰＵ：Central Processing Unit）、水晶発振器等の発振回路（ハードウェアクロック及びインターバルタイマー）の性能に依存する。また、発振回路の動作は、ＣＰＵにも依存するため、情報処理装置における正確な時刻の管理は困難である。したがって、情報処理装置では、使用を継続しているとインターバルタイマー等の時間誤差に応じてシステムクロックで管理する時刻にずれが発生することがある。
【０００５】
また、データの送受信等の場合にある情報処理装置で管理した時刻を他の情報処理装置で利用することもあるが、このように情報処理装置で管理する時刻に誤差が生じると、各情報処理装置間で同期しておらず、他の情報処理装置から受信した時刻情報の信頼性は低くなる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２９７５６号公報
【特許文献２】特表２００９−５３８１０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、情報処理装置では、時刻合わせは重要であるにも係らず、システムクロックで管理する時刻に誤差が生じる問題があった。セシウム原子時計等の原子時計は水晶振動子よりも高精度であるため発振回路に原子時計を利用することで誤差を小さくすることができるが、原子時計を利用する場合構成が複雑になるとともに、高価であるため容易に利用しにくい問題がある。
【０００８】
したがって本実施形態は、容易により正確な時刻合わせを可能とする情報処理装置を提供する。
【課題を解決するための手段】
【０００９】
実施形態に係る情報処理装置は、設定手段と、取得手段と、第１更新手段と、第２更新手段とを備える。設定手段は、オペレーティングシステムの起動時に、ハードウェアクロックが管理する時刻をシステムクロックに設定する。取得手段は、時刻更新の機能を有するアプリケーションプログラムの起動時に、外部の時刻発生装置が前記ハードウェアクロックより小さい誤差で管理する時刻を取得する。第１更新手段は、前記ハードウェアクロックが管理する時刻を前記取得手段が取得した時刻に更新する。第２更新手段は、前記アプリケーションプログラムの実行中に、定期的に、前記システムクロックが管理する時刻を前記ハードウェアクロックが管理する時刻に更新する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る情報処理装置の構成を説明するブロック図である。
【図２】図１に示した情報処理装置における時刻合わせについて説明する図である。
【図３】インターバルタイマーによる更新のみを利用した時刻合わせについて説明する図である。
【発明を実施するための形態】
【００１１】
以下に、図面を用いて実施形態に係る情報処理装置について説明する。図１に示すように、実施形態に係る情報処理装置１は、中央処理装置（ＣＰＵ）１０、記憶装置１１、通信インタフェース等を備えるパーソナルコンピュータ等の端末であるが、一般的な端末と比較して、正確な時刻合わせが可能である。この情報処理装置１では、記憶装置１１で記憶される時刻更新プログラムＰ１が読み出されて実行されることで、ＣＰＵ１０に設定手段１０１、取得手段１０２、第１更新手段１０３及び第２更新手段１０４が実装される。この時刻更新プログラムＰ１はアプリケーションプログラムの一種であって、時刻合わせの正確な情報処理装置を実現するものである。
【００１２】
記憶装置１１では、時刻更新プログラムＰ１の他、オペレーティングシステムＯＳ、アプリケーションプログラムＰ２〜Ｐ４を記憶している。
【００１３】
また、情報処理装置１は、時刻を管理するために、ハードウェアクロック１２とインターバルタイマー１３を備えている。具体的には、ハードウェアクロック１２は、バックアップ電源等により、水晶振動子等を利用して時刻を管理するものであって、情報処理装置１の電源がオフの場合にも時刻を管理している。また、インターバルタイマー１３は、情報処理装置１の電源がオンの場合に水晶振動子等を利用して定期的に割り込み信号を発生する。
【００１４】
設定手段１０１は、図２に示すように、オペレーティングシステムＯＳの起動時に、ハードウェアクロック１２で計時される時刻をシステムクロック１４として設定する。その後、オペレーティングシステムＯＳは、インターバルタイマー１３から割り込み信号を入力すると、システムクロック１４が管理する時刻を更新する。すなわち、システムクロック１４では、インターバルタイマー１３が発生する割り込み信号によって管理する時間がアップデートされる。なお、システムクロック１４は、図１では、システムクロック１４は、記憶装置１１で記憶されるオペレーティングシステムＯＳ内に示しているが、オペレーティングシステムＯＳと関連付けられていれて記憶装置１１とは別のメモリ等に記憶されていてもよい。
【００１５】
取得手段１０２は、例えばネットワークを介してＮＴＰ（Network Time Protocol）サーバ等のハードウェアクロック１２よりも高精度で時刻を管理する時刻発生装置２から時刻を取得する。具体的には、図２に示すように、取得手段１０２は、時刻更新プログラムＰ１の起動時に時刻を取得する。時刻発生装置２としては、ＮＴＰサーバの他、ＧＰＳ（Global Positioning System）の時計を利用することもできる。
【００１６】
第１更新手段１０３は、時刻更新プログラムＰ１の起動時に取得手段１０２が現在の時刻を取得すると、図２に示すように、ハードウェアクロック１２の時刻を、取得手段１０２が取得した時刻に更新する。時刻発生装置２は、ハードウェアクロック１２よりも高精度で時刻を管理しているため、第１更新手段１０３によって時刻を更新することで、ハードウェアクロック１２が管理する時刻を正確にすることができる。
【００１７】
第２更新手段１０４は、図２に示すように、アプリケーションプログラムの実行中に、定期的に、システムクロック１４の時刻をハードウェアクロック１２が管理する時刻に更新する。ハードウェアクロック１２は、システムクロック１４よりも高精度で時刻を管理しているため、第２更新手段１０４によって時刻を更新することで、システムクロック１４が管理する時刻を正確にすることができる。
【００１８】
なお、インターバルタイマー１４は、定期的に割り込み信号を発生するが、ハードウェアクロック１２で管理される時刻のほうが精度が良いため、インターバルタイマー１３が発生した割り込み信号によってシステムクロック１４が更新されることはない。
【００１９】
すなわち、時刻更新プログラムＰ１を利用しない場合、図３に示すように、ハードウェアクロック１２が更新された後は、インターバルタイマー１３による割り込み信号のみでシステムクロック１４が管理される。しかしながら、このインターバルタイマー１３は誤差が生じやすく、インターバルタイマー１３での誤差によってシステムクロック１４で管理する時刻にもずれが生じる。
【００２０】
したがって、実施形態に係る情報処理装置１では、インターバルタイマー１３よりも精度の高いハードウェアクロック１２を利用して定期的にシステムクロック１４を更新することで、より正確な時刻合わせを可能とする。
【００２１】
具体的には、ある情報処理装置において、ハードウェアクロック１２を利用してシステムクロック１４で管理する時刻を更新した場合と、ハードウェアクロック１２を使用せずにインターバルタイマー１３のみでシステムクロック１４の管理する時刻を更新した場合の誤差を比較すると、ハードウェアクロック１２を利用した場合の誤差は０．０５［ｓｅｃ／ｈ］程度であるのに対し、ハードウェアクロック１２を利用しない場合の誤差は−０．２〜−０．５［ｓｅｃ／ｈ］程度という結果を得られた。従って、実施形態に係る情報処理装置１のように、ハードウェアクロック１２を利用してシステムクロック１４で管理する時刻を更新した場合、正確な時刻合わせが可能となったことが分かる。なお、この数値は、情報処理装置が有するＣＰＵやメモリの性能等に応じて異なる値であるから、絶対的な値ではない。
【００２２】
上述した説明では、時刻更新プログラムＰ１の起動時をタイミングとしてＮＴＰサーバやＧＰＳ等の時刻発生装置２にアクセスして時刻を更新したり、時刻更新プログラムＰ１の動作時（実行時）の定期的なタイミングで時刻を更新していた。しかし、時刻更新プログラムＰ１は、単独のアプリケーションプログラムとして実行されるのではなく、他のアプリケーションプログラムに含まれるものでもよい。したがって、特定のアプリケーションプログラムの起動時、動作時をタイミングとするようにしてもよい。また、図１において記憶装置１１が記憶する時刻更新プログラムＰ１以外のアプリケーションプログラムＰ２〜Ｐ４の数は３であるが、記憶装置１１が記憶するアプリケーションプログラムＰ２〜Ｐ４の数や種類は限定されない。
【００２３】
さらに、図１に示すように、情報処理装置１は、複数の情報処理装置１ａ〜１ｃと接続されていてもよい。なお、図１に示す例では、複数の情報処理装置１，１ａ〜１ｃがそれぞれ相互に通信回線３ａ〜３ｆで接続されて通信を行なうピアツーピア（Ｐ２Ｐ）方式のネットワークシステムである。このように複数の情報処理装置１，１ａ〜１ｃ間で直接データを送受信して使用する場合、各情報処理装置のシステムクロック１４の時刻が正確かつ同期していることで、処理の不具合を防止できる。したがって、本実施形態に係る情報処理装置を複数接続してＰ２Ｐのシステムを構成することで、各情報処理装置で管理する時刻の差を小さくして処理の不具合を防止することができる。
【００２４】
また、広帯域の回線を利用する情報処理装置の場合、ＮＴＰサーバ等の外部の時刻発生装置に頻繁にアクセスして時刻を取得し、取得した時刻でシステムクロックを更新することが容易であって、正確な時刻の管理も容易に実現できる。一方、狭帯域の回線を利用する情報処理装置の場合、このように頻繁に外部の時刻発生装置にアクセスするのは好ましくないが、Ｐ２Ｐは、狭帯域の回線であっても容易に実現することができる特徴がある。したがって、情報処理装置の接続方法は、Ｐ２Ｐに限られることはないが、狭帯域のＰ２Ｐの場合に本実施形態に係る情報処理装置を利用することで、狭帯域のＰ２Ｐでは実現が困難であった時刻合わせを容易に実現することができる。
【００２５】
上記のように、実施形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例および運用技術が明らかとなる。また、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。
【符号の説明】
【００２６】
１，１ａ〜１ｃ…情報処理装置
１０…ＣＰＵ
１０１…設定手段
１０２…取得手段
１０３…第１更新手段
１０４…第２更新手段
１１…記憶装置
ＯＳ…オペレーティングシステム
Ｐ１…時刻更新プログラム
Ｐ２〜Ｐ４…アプリケーションプログラム
１２…ハードウェアクロック
１３…インターバルタイマー
１４…システムクロック
２…時刻発生装置
３ａ〜３ｆ…通信回線
【図１】
2012238214.tif 000003
【図２】
2012238214.tif 000004
【図３】
2012238214.tif 000005