(57)【要約】【課題】クロック異常を確実に検出することができ、クロック異常に対して適切に対処することができるクロック異常検出方法及びクロック異常検出プログラムの提供。【解決手段】ソフトウェアを用いて、基準となるＣＰＵ上でＯＳが保持するインターバルタイマの値と、他のＣＰＵ上でＯＳが保持するインターバルタイマの値との差分を演算し、所定の時間間隔における各ＣＰＵの差分の変化量を演算し、その変化量と予め定めた判定基準値とを比較して各ＣＰＵのクロック異常を検出し、クロック異常を検出した場合に、ＯＳにクロック異常を通知すると共にクロック異常の通報や時刻修正などの処理を行う。これにより、追加のハードウェアを必要とせずにクロック異常を確実に検出でき、ソフトウェアの機能を活用することにより、ログ登録、通報、時刻修正の自動化を実現して予兆監視で予防保守に活用する。【選択図】図２
2007316815.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置におけるクロック異常検出方法であって、
前記ＣＰＵ毎にＯＳが保持しているインターバルタイマの値を前記ＣＰＵ間で比較することによって、各々の前記ＣＰＵにおけるクロック異常を検出することを特徴とするクロック異常検出方法。
【請求項２】
クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置におけるクロック異常検出方法であって、
第１の時刻において、基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との第１の差分を演算する第１の演算ステップと、
所定時間経過後の第２の時刻において、前記基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、前記他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との第２の差分を演算する第２の演算ステップと、
前記第１の差分と前記第２の差分との変化量を演算する第３の演算ステップと、
演算した前記変化量と予め定められた判定基準値とを比較する比較ステップと、
前記変化量が前記判定基準値を超える場合に、前記変化量の演算対象となったＣＰＵにおいてクロック異常が発生していると判断する判断ステップと、を少なくとも有することを特徴とするクロック異常検出方法。
【請求項３】
前記判断ステップでは、いずれか１つの前記変化量が前記判定基準値を超える場合に、前記他のＣＰＵの中の前記変化量の演算対象となったＣＰＵにクロック異常が発生していると判断し、全ての前記変化量が前記判定基準値を超える場合に、前記基準となるＣＰＵにクロック異常が発生していると判断することを特徴とする請求項２記載のクロック異常検出方法。
【請求項４】
更に、クロック異常が発生しているＣＰＵのＯＳにクロック異常を通知する処理、クロック異常を報知する処理、又は、クロック異常が発生しているＣＰＵの時刻を修正する処理の少なくとも１つを実行することを特徴とする請求項１乃至３のいずれか一に記載のクロック異常検出方法。
【請求項５】
クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置で動作するクロック異常検出プログラムであって、
コンピュータに、少なくとも、
前記ＣＰＵ毎にＯＳが保持しているインターバルタイマの値を前記ＣＰＵ間で比較することによって、各々の前記ＣＰＵにおけるクロック異常を検出する処理を実行させることを特徴とするクロック異常検出プログラム。
【請求項６】
クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置で動作するクロック異常検出プログラムであって、
コンピュータに、少なくとも、
第１の時刻において、基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との第１の差分を演算する第１の演算ステップ、
所定時間経過後の第２の時刻において、前記基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、前記他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との第２の差分を演算する第２の演算ステップ、
前記第１の差分と前記第２の差分との変化量を演算する第３の演算ステップ、
演算した前記変化量と予め定められた判定基準値とを比較する比較ステップ、
前記変化量が前記判定基準値を超える場合に、前記変化量の演算対象となったＣＰＵにおいてクロック異常が発生していると判断する判断ステップ、を実行させることを特徴とするクロック異常検出プログラム。
【請求項７】
前記判断ステップでは、いずれか１つの前記変化量が前記判定基準値を超える場合に、前記他のＣＰＵの中の前記変化量の演算対象となったＣＰＵにクロック異常が発生していると判断し、全ての前記変化量が前記判定基準値を超える場合に、前記基準となるＣＰＵにクロック異常が発生していると判断することを特徴とする請求項６記載のクロック異常検出プログラム。
【請求項８】
コンピュータに、更に、クロック異常が発生しているＣＰＵのＯＳにクロック異常を通知する処理、クロック異常を報知する処理、又は、クロック異常が発生しているＣＰＵの時刻を修正する処理の少なくとも１つを実行させることを特徴とする請求項５乃至７のいずれか一に記載のクロック異常検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック異常検出方法及びクロック異常検出プログラムに関し、特に、クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置におけるクロック異常検出方法及びクロック異常検出プログラムに関する。
【背景技術】
【０００２】
複数の論理部（ＣＰＵ）を備える情報処理装置において、各々のＣＰＵにおける処理を同期させるために、水晶発振器などで構成されるクロック信号生成部で生成したクロック信号をクロック信号分配部で分配して複数のＣＰＵに供給し、各々のＣＰＵでは、ＯＳが保持するインターバルタイマの割り込み信号に基づいて処理を実行している。
【０００３】
上記構成において、情報処理装置を正常に動作させるためには、クロック回路の故障又はＣＰＵの故障によるクロック異常がないことを確認する必要がある。そこで、従来は、特別なクロック異常検出回路を追加するか、又は、外部に設けた基準装置を用いて時刻を比較するなどによって、クロック異常を検出していた。
【０００４】
例えば、下記特許文献１には、インターバルタイマの周期的割り込みからシステム時刻を生成しシステム時刻に基づいて各種処理を実行する計算機システムにおいて、外部時計から外部時刻を取り込む手段と、外部時刻とシステム時刻とを比較する比較手段と、システム時刻が外部時刻に対して進み或いは遅れている場合にはインターバルタイマの周期的割り込みタイミングを遅らせ或いは進ませるインターバルタイマ周期変換手段とを備える誤差検出機構を設ける構成が開示されている。
【０００５】
【特許文献１】特開２００２−７３２０４号公報（第３−７頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、情報処理装置内にクロック異常を検出する手段を持たない場合は、自身の情報処理装置の内部または外部に新たなハードウェアを追加しなければならないため、装置の構成が複雑になるという問題があった。
【０００７】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、新たなハードウェアを追加することなく、クロック異常を確実に検出することができるクロック異常検出方法及びクロック異常検出プログラムを提供することにある。
【０００８】
また、本発明の他の目的は、クロック異常に対して適切に対処することができるクロック異常検出方法及びクロック異常検出プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明は、クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置におけるクロック異常検出方法であって、前記ＣＰＵ毎にＯＳが保持しているインターバルタイマの値を前記ＣＰＵ間で比較することによって、各々の前記ＣＰＵにおけるクロック異常を検出するものである。
【００１０】
また、本発明は、クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置におけるクロック異常検出方法であって、第１の時刻において、基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との第１の差分を演算する第１の演算ステップと、所定時間経過後の第２の時刻において、前記基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、前記他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との第２の差分を演算する第２の演算ステップと、前記第１の差分と前記第２の差分との変化量を演算する第３の演算ステップと、演算した前記変化量と予め定められた判定基準値とを比較する比較ステップと、前記変化量が前記判定基準値を超える場合に、前記変化量の演算対象となったＣＰＵにおいてクロック異常が発生していると判断する判断ステップと、を少なくとも有するものである。
【００１１】
本発明においては、前記判断ステップでは、いずれか１つの前記変化量が前記判定基準値を超える場合に、前記他のＣＰＵの中の前記変化量の演算対象となったＣＰＵにクロック異常が発生していると判断し、全ての前記変化量が前記判定基準値を超える場合に、前記基準となるＣＰＵにクロック異常が発生していると判断する構成とすることができる。
【００１２】
また、本発明においては、更に、クロック異常が発生しているＣＰＵのＯＳにクロック異常を通知する処理、クロック異常を報知する処理、又は、クロック異常が発生しているＣＰＵの時刻を修正する処理の少なくとも１つを実行する構成とすることができる。
【００１３】
また、本発明は、クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置で動作するクロック異常検出プログラムであって、コンピュータに、少なくとも、前記ＣＰＵ毎にＯＳが保持しているインターバルタイマの値を前記ＣＰＵ間で比較することによって、各々の前記ＣＰＵにおけるクロック異常を検出する処理を実行させるものである。
【００１４】
また、本発明は、クロック信号に基づいて動作する複数のＣＰＵを備える情報処理装置で動作するクロック異常検出プログラムであって、コンピュータに、少なくとも、第１の時刻において、基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との第１の差分を演算する第１の演算ステップ、所定時間経過後の第２の時刻において、前記基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、前記他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との第２の差分を演算する第２の演算ステップ、前記第１の差分と前記第２の差分との変化量を演算する第３の演算ステップ、演算した前記変化量と予め定められた判定基準値とを比較する比較ステップ、前記変化量が前記判定基準値を超える場合に、前記変化量の演算対象となったＣＰＵにおいてクロック異常が発生していると判断する判断ステップ、を実行させるものである。
【００１５】
本発明においては、前記判断ステップでは、いずれか１つの前記変化量が前記判定基準値を超える場合に、前記他のＣＰＵの中の前記変化量の演算対象となったＣＰＵにクロック異常が発生していると判断し、全ての前記変化量が前記判定基準値を超える場合に、前記基準となるＣＰＵにクロック異常が発生していると判断する構成とすることができる。
【００１６】
また、本発明においては、コンピュータに、更に、クロック異常が発生しているＣＰＵのＯＳにクロック異常を通知する処理、クロック異常を報知する処理、又は、クロック異常が発生しているＣＰＵの時刻を修正する処理の少なくとも１つを実行させる構成とすることができる。
【００１７】
このように、本発明では、クロック信号生成部からのクロック信号を元に生成されたＯＳ上の情報であるインターバルタイマの値を使用し、ソフトウェアを用いて、ＣＰＵ間でインターバルタイマの値を比較することによってクロック異常を検出する構成としているため、情報処理装置の内部又は外部に新たなハードウェアを追加することなく、自身の装置内でクロック異常を確実に検出することができる。また、ソフトウェアの機能を活用することによって、ログ登録やクロック異常に対する通報、時刻修正などの自動化を容易に実現することができ、予兆監視に活用することができるため、クロック異常に対して適切に対処することができる。
【発明の効果】
【００１８】
本発明のクロック異常検出方法及びクロック異常検出プログラムによれば、クロック信号を元に生成されたＯＳ上の情報であるインターバルタイマの値を使用し、ソフトウェアを用いて、インターバルタイマの値のＣＰＵ毎のカウント情報を比較することによってクロック異常を検出する構成としているため、追加のハードウェアを必要とせずにクロック異常を確実に検出することができる。
【００１９】
また、ソフトウェアの機能を活用しているため、ログ登録、通報、時刻修正の自動化を容易に実現することができ、また、ログ登録及び通報を可能としているため、予兆監視で予防保守に活用することができ、これによりクロック異常に対して適切に対処することができる。
【発明を実施するための最良の形態】
【００２０】
従来技術で示したように、複数のＣＰＵを備える情報処理装置では各々のＣＰＵにおける処理を同期させるためにクロック信号生成部からのクロック信号を各ＣＰＵに分配して動作させる構成が用いられるが、情報処理装置を正常に動作させるためには、クロック回路の故障又はＣＰＵの故障によるクロック異常がないことを確認しなければならず、そのために装置の内部または外部にクロック異常を検出するための新たなハードウェアを追加しなければならないという問題があった。
【００２１】
一方、各々のＣＰＵでは、ＯＳがクロック信号生成部からのクロック信号に基づいて動作するインターバルタイマをインクリメントしており、このインターバルタイマの値はソフトウェアで利用することができる。そこで、本発明では、このインターバルタイマの値を利用して、ソフトウェアを用いてクロック異常を検出する構成とする。具体的には、ソフトウェアを用いて、基準となるＣＰＵ上でＯＳが保持しているインターバルタイマの値と、他のＣＰＵ上でＯＳが保持しているインターバルタイマの値との差分を演算し、所定の時間間隔における各々のＣＰＵにおける差分の変化量を演算し、その変化量と予め定めた判定基準値とを比較することによって、各々のＣＰＵにおけるクロック異常を検出する構成とする。これにより、特別にクロック異常検出のためのハードウェアを設けることなく、クロック回路の故障またはＣＰＵの故障によるクロック異常を確実に検出可能にすることができ、ソフトウェアの機能を活用することによって、ログ登録、通報、時刻修正の自動化を実現し、予兆監視に活用することができる。
【実施例】
【００２２】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るクロック異常検出方法及びクロック異常検出プログラムについて、図１乃至図３を参照して説明する。図１は、本実施例の情報処理装置の構成を模式的に示すブロック図であり、図２は、本実施例のクロック異常検出方法の手順を示すフローチャート図である。また、図３は、本実施例の情報処理装置におけるインターバルタイマ値の一例を示すタイミングチャート図である。
【００２３】
図１に示すように、本実施例の情報処理装置は、水晶発振器などで構成されるクロック信号発生部１０と、クロック信号を分配するクロック信号分配部２０と、複数の論理部（ＣＰＵ：Central Processing Unit）３０と、これらを繋ぐバスなどで構成され、クロック信号生成部１０より生成されたクロック信号は、クロック信号分配部２０を経て、各ＣＰＵ３０へ供給される。また、各々のＣＰＵ３０上では、ＯＳ（Operating System）がそれぞれに供給されたクロック信号を元に、一定の時間間隔で割り込みを行うためのインターバルタイマをインクリメントしている。
【００２４】
なお、図１は本実施例の情報処理装置の基本構成であり、記憶部や装置全体を制御するＣＰＵなどの他の構成要素を含んでいてもよい。また、クロック信号発生部１０やクロック信号分配部２０、複数のＣＰＵ３０は１つの装置内に設けてもよいし、各々のＣＰＵ３０を別々の装置に設けるなど、情報処理装置を複数の装置で構成してもよい。また、ＣＰＵ３０は複数であればよく、その数量は特に限定されず、また、各々のＣＰＵ３０で行う処理は任意もある。
【００２５】
次に、図２のフローチャート図を参照して、本実施例のクロック異常検出動作の流れを説明する。
【００２６】
まず、ステップＳ１０１で、クロック異常検出プログラムは、所定の時刻において、ＣＰＵ３０毎にＯＳが保持しているインターバルタイマ用のインクリメント単位の値（以下、単にインターバルタイマ値と呼ぶ。）を取得し、ステップＳ１０２で、基準となるＣＰＵ３０（ここではＣＰＵ＃０）のインターバルタイマ値と、他のＣＰＵ３０（ここではＣＰＵ＃１〜３）のインターバルタイマ値の差分（第１の差分）を演算する。例えば、図３に示すように、時刻ｔ０におけるＣＰＵ＃０のインターバルタイマ値（ａ０）から、ＣＰＵ＃１、ＣＰＵ＃２、ＣＰＵ＃３のインターバルタイマ値（ｂ０、ｃ０、ｄ０）を減じて、差分Ｅｔ０（０−１）、Ｅｔ０（０−２）、Ｅｔ０（０−３）を演算する。
【００２７】
次に、ステップＳ１０３で、クロック異常検出プログラムは、予め定められた時間経過後の所定の時刻において、同様に、ＣＰＵ３０毎にＯＳが保持しているインターバルタイマ値を取得し、ステップＳ１０４で、基準となるＣＰＵ３０（ＣＰＵ＃０）のインターバルタイマ値と、他のＣＰＵ３０（ＣＰＵ＃１〜３）のインターバルタイマ値の差分（第２の差分）を演算する。例えば、図３に示すように、時刻ｔ１におけるＣＰＵ＃０のインターバルタイマ値（ａ１）から、ＣＰＵ＃１、ＣＰＵ＃２、ＣＰＵ＃３のインターバルタイマ値（ｂ１、ｃ１、ｄ１）を減じて、差分Ｅｔ１（０−１）、Ｅｔ１（０−２）、Ｅｔ１（０−３）を演算する。
【００２８】
次に、ステップＳ１０５で、クロック異常検出プログラムは、ステップＳ１０２で演算した差分（第１の差分）とステップＳ１０４で演算した差分（第２の差分）の変化量（以下、時間ズレ量と呼ぶ。）を演算する。例えば、図３の例では、時間間隔Ｔ（時刻ｔ１−ｔ０）における時間ズレ量は、ＣＰＵ＃０−ＣＰＵ＃１間はＥｔ１（０−１）−Ｅｔ０（０−１）、ＣＰＵ＃０−ＣＰＵ＃２間はＥｔ１（０−２）−Ｅｔ０（０−２）、ＣＰＵ＃０−ＣＰＵ＃３間はＥｔ１（０−３）−Ｅｔ０（０−３）となる。
【００２９】
なお、上記演算は、負荷の影響を削減するためにＣＰＵ３０がアイドル状態時に実施することが好ましく、例えば、ＯＳからソフトウェア制御でジョブの動作を抑制するスケジューリングを実施して、強制的にアイドル状態とした後で計測を行う構成とすることができる。
【００３０】
次に、ステップＳ１０６で、クロック異常検出プログラムは、ステップＳ１０５で演算した時間ズレ量と、各ＣＰＵ３０間に対して予め定められた判定基準値と比較する。なお、この判定基準値は各ＣＰＵ３０間で同じ値としてもよいし、異なる値としてもよい。また、判定基準値の具体的な数値は特に限定されず、情報処理装置に対して求められる精度などに応じて適宜設定することができる。
【００３１】
そして、ステップＳ１０７で、クロック異常検出プログラムは、いずれかのＣＰＵ３０に対応する時間ズレ量が判定基準値を越えているかを判断し、いずれのＣＰＵ３０に対応する時間ズレ量も判定基準値以下である場合（”Ｎｏ”の場合）は、クロック異常が発生していないと判断して処理を終了する。
【００３２】
一方、いずれかのＣＰＵ３０に対応する時間ズレ量が判定基準値を越えている場合（”Ｙｅｓ”の場合）は、クロック異常が発生しているＣＰＵ３０を特定するために、ステップＳ１０８で、全てのＣＰＵ３０に対応する時間ズレ量が判定基準値を越えているかを判断し、”Ｎｏ”の場合は判定基準値を越えているＣＰＵ３０でクロック異常が発生していると判断し、ステップＳ１１０で、そのＣＰＵ３０のＯＳに対してクロック異常を通知する。例えば、上記例では、Ｅｔ１（０−１）−Ｅｔ０（０−１）が判定基準値を超えている場合は、ＣＰＵ＃１でクロック異常が発生していると判断し、ＣＰＵ＃１のＯＳに対してクロック異常を通知する。
【００３３】
また、ステップＳ１０８で”Ｙｅｓ”の場合は、基準となるＣＰＵ＃０（又は全てのＣＰＵ）にクロック異常が発生している判断し、ステップＳ１０９で、ＣＰＵ＃０（又は全てのＣＰＵ）のＯＳに対してクロック異常を通知する。例えば、上記例では、Ｅｔ１（０−１）−Ｅｔ０（０−１）、Ｅｔ１（０−２）−Ｅｔ０（０−２）、Ｅｔ１（０−３）−Ｅｔ０（０−３）の全てが判定基準値を超えている場合は、ＣＰＵ＃０（又はＣＰＵ＃１〜３）でクロック異常が発生していると判断し、ＣＰＵ＃０（又はＣＰＵ＃１〜３）のＯＳに対してクロック異常を通知する。
【００３４】
また、本実施例では、上記演算や比較、判断をソフトウェア（クロック異常検出プログラム）で実行する構成としていることから、ログ登録の自動化を容易に実現することができると共に、クロック異常を検出した場合に、必要に応じて、ステップＳ１１１で、クロック異常が発生したことを表示手段や鳴動手段などを用いて管理者に通報したり、インターバルタイマのインクリメント単位を調整するなどによって時刻修正を行うなどの処理の自動化も容易に実現することができる。
【００３５】
このように、本実施例によれば、クロック異常検出プログラムは、ＣＰＵ３０毎のＯＳが保持するインターバルタイマ値を取得し、ＣＰＵ３０間のインターバルタイマ値の差分から、各々のＣＰＵ３０に対する時間ズレ量を演算し、演算した時間ズレ量と予め定めた判定基準値とを比較し、時間ズレ量が判定基準値を超える場合にクロック異常が発生したと判断して、対応するＣＰＵ３０のＯＳに対してクロック異常を通知したり、管理者にクロック異常を報知したり、時刻を修正する処理を行うため、新たなハードウェアを追加することなく、クロックの異常を確実に検出することができると共に、クロック異常に対して適切な処理を実行することができる。
【００３６】
なお、本発明は上記実施例に限定されるものではなく、ソフトウェアを用いてインターバルタイマの値を利用してクロック異常を検出する限りにおいて、その構成や検出手順等は適宜変更することができる。
【産業上の利用可能性】
【００３７】
本発明は、クロック信号に基づいて動作する複数のＣＰＵを備える任意の情報処理装置やコンピュータシステムに対して適用することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施例に係る情報処理装置の構成を模式的に示すブロック図である。
【図２】本発明の一実施例に係るクロック異常検出方法の手順を示すフローチャート図である。
【図３】本発明の一実施例に係る情報処理装置におけるインターバルタイマ値のズレ量を説明するためのチャート図である。
【符号の説明】
【００３９】
１０  クロック信号生成部
２０  クロック信号分配部
３０  ＣＰＵ
【図１】
2007316815.tif 000003
【図２】
2007316815.tif 000004
【図３】
2007316815.tif 000005