IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コンテックの特許一覧

<>
  • 特許-情報処理装置および情報処理システム 図1
  • 特許-情報処理装置および情報処理システム 図2
  • 特許-情報処理装置および情報処理システム 図3
  • 特許-情報処理装置および情報処理システム 図4
  • 特許-情報処理装置および情報処理システム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-24
(45)【発行日】2024-02-01
(54)【発明の名称】情報処理装置および情報処理システム
(51)【国際特許分類】
   G06F 9/4401 20180101AFI20240125BHJP
【FI】
G06F9/4401
【請求項の数】 6
(21)【出願番号】P 2020056927
(22)【出願日】2020-03-27
(65)【公開番号】P2021157489
(43)【公開日】2021-10-07
【審査請求日】2022-10-31
(73)【特許権者】
【識別番号】592007601
【氏名又は名称】株式会社コンテック
(74)【代理人】
【識別番号】110001298
【氏名又は名称】弁理士法人森本国際特許事務所
(72)【発明者】
【氏名】高田 智史
【審査官】牛丸 太希
(56)【参考文献】
【文献】特開2010-039519(JP,A)
【文献】特開2008-125003(JP,A)
【文献】特開2015-069582(JP,A)
【文献】特開2004-302720(JP,A)
【文献】特開2002-268913(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/00-9/54
(57)【特許請求の範囲】
【請求項1】
自己診断機能を有する情報処理装置であって、
CPUと、前記CPUを動作させるための基本プログラムが記録された基本メモリと、前記CPUとの接続を行うための外部バスと、前記外部バスに接続された外部機器と、を備え、
前記基本メモリには前記情報処理装置の自己診断および自身の状態の確認を行う自己診断プログラムが記録されており、
前記情報処理装置の起動時に、前記基本プログラムを介して前記自己診断プログラムが実行可能であり、前記自己診断プログラムの実行結果は前記基本メモリの書き換え可能領域または前記外部バスに前記外部機器として接続された補助記憶装置に記録可能であり、
前記外部機器が、自身のファームウェアによって行われる前記外部機器単体での単体自己診断機能を有しており、
前記情報処理装置の自己診断プログラムは、前記外部機器の前記単体自己診断機能の実行結果を参照することが可能であること
を特徴とする情報処理装置。
【請求項2】
前記自己診断プログラムの過去の実行結果の記録が、診断履歴として蓄積されるようになっており、
前記自己診断プログラムは実行された際に、今回の実行結果と前記診断履歴とを照合することによって、現在の前記情報処理装置の状態が正常であるか否かを診断することが可能であること
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記CPUからの指令に基づいて各種の表示を行うことが可能なモニタ機器が設けられており、
前記自己診断プログラムの実行結果が、前記モニタ機器に表示可能であること
を特徴とする請求項1または請求項に記載の情報処理装置。
【請求項4】
前記自己診断プログラムの実行結果が、前記モニタ機器に表示されるのと同じ形態の画像として記録可能であること
を特徴とする請求項に記載の情報処理装置。
【請求項5】
通信機能を備えた情報処理装置を含む情報処理システムであって、
前記情報処理装置との通信が可能なサーバ装置が設けられており、
前記情報処理装置は、CPUと、前記CPUを動作させるための基本プログラムが記録された基本メモリと、前記CPUとの接続を行うための外部バスと、前記外部バスに接続されており前記サーバ装置との通信を行う通信部と、前記外部バスに接続された外部機器と、を備え、
前記サーバ装置は、前記情報処理装置に自己診断および自身の状態の確認を行わせる自己診断プログラムを保持しており、
前記情報処理装置の起動時に、前記基本プログラムを介して前記通信部による前記情報処理装置と前記サーバ装置との通信が行われることで、前記基本プログラムを介した前記自己診断プログラムの実行が前記情報処理装置において可能となっており、
前記自己診断プログラムの実行結果は、前記基本プログラムを介した前記通信部による通信によって前記サーバ装置へと記録可能であり、
前記外部機器が、自身のファームウェアによって行われる前記外部機器単体での単体自己診断機能を有しており、
前記自己診断プログラムは、前記外部機器の前記単体自己診断機能の実行結果を参照することが可能であること
を特徴とする情報処理システム。
【請求項6】
前記サーバ装置は複数の情報処理装置と通信することが可能であり、
前記サーバ装置は前記複数の情報処理装置のそれぞれにおいて実行された前記自己診断プログラムの実行結果の記録を全体診断履歴として保持しており、
前記自己診断プログラムは実行された際に、今回の実行結果と前記全体診断履歴とを照合することによって、前記自己診断プログラムを今回実行した前記情報処理装置の状態が正常であるか否かを診断することが可能であること
を特徴とする請求項に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己診断機能を有する情報処理装置に関するものである。また本発明は、通信機能を備えた情報処理装置を含む情報処理システムにも関する。
【背景技術】
【0002】
産業用コンピュータなどの情報処理装置において、その情報処理装置の状態が正常であるかどうかの検査(診断)が行われることがある。特許文献1に記載の検査方式は、検査対象となる情報処理装置(検査対象装置)の動作をコントロールするための操作端末装置内に、検査サーバ機能を仮想化技術を用いて構築することで、他のシステムとの接続なしで検査を可能としている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2013-20282号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の検査方式で検査を行うには、検査対象となる情報処理装置とは別体の操作端末装置が必要となる。また操作端末装置においては仮想化技術による検査サーバ機能の構築という高度な処理を行うため、オペレーティングシステムが提供する仮想サーバ機能を利用することが前提となる。そして、この高度な処理を行っている操作端末装置と通信する検査対象機器もまた、検査プログラムをオペレーティングシステム上で動作させることが前提となる。
【0005】
したがって、特許文献1に記載の検査方式で検査を行うためには、検査対象装置が、オペレーティングシステムを起動できて、その上で操作端末装置との通信が可能な程度には正常であることが必須となる。そのため、オペレーティングシステムが起動できない不具合が生じていたりするような場合には、検査プログラムは実行不能となる。そのような場合、特許文献1の検査方式は、情報処理装置の状態を検査することができない。例えば、オペレーティングシステムの起動不良の原因(オペレーティングシステムのプログラムを格納している補助記憶装置に不具合が生じているのか、電源ユニットの出力電圧が不安定となっているのか、など)を、特許文献1に記載の検査方式は診断することができない。
【0006】
そこで本発明は、情報処理装置および情報処理システムにおいて、オペレーティングシステムを起動せずとも、情報処理装置の状態を診断することを可能とすることを課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係る実施形態の一例としての情報処理装置は、自己診断機能を有する情報処理装置であって、CPUと、前記CPUを動作させるための基本プログラムが記録された基本メモリと、前記CPUとの接続を行うための外部バスと、前記外部バスに接続された外部機器と、を備え、前記基本メモリには前記情報処理装置の自己診断および自身の状態の確認を行う自己診断プログラムが記録されており、前記情報処理装置の起動時に、前記基本プログラムを介して前記自己診断プログラムが実行可能であり、前記自己診断プログラムの実行結果は前記基本メモリの書き換え可能領域または前記外部バスに前記外部機器として接続された補助記憶装置に記録可能であり、前記外部機器が、自身のファームウェアによって行われる前記外部機器単体での単体自己診断機能を有しており、前記情報処理装置の自己診断プログラムは、前記外部機器の前記単体自己診断機能の実行結果を参照することが可能であるあることを特徴とする。
【0008】
また好ましくは、前記自己診断プログラムの過去の実行結果の記録が、診断履歴として蓄積されるようになっており、前記自己診断プログラムは実行された際に、今回の実行結果と前記診断履歴とを照合することによって、現在の前記情報処理装置の状態が正常であるか否かを診断することが可能であるとよい。
【0010】
また好ましくは、前記CPUからの指令に基づいて各種の表示を行うことが可能なモニタ機器が設けられており、前記自己診断プログラムの実行結果が、前記モニタ機器に表示可能であるとよい。
【0011】
また好ましくは、前記自己診断プログラムの実行結果が、前記モニタ機器に表示されるのと同じ形態の画像として記録可能であるとよい。
【0012】
また、本発明に係る実施形態の一例としての情報処理システムは、通信機能を備えた情報処理装置を含む情報処理システムであって、前記情報処理装置との通信が可能なサーバ装置が設けられており、前記情報処理装置は、CPUと、前記CPUを動作させるための基本プログラムが記録された基本メモリと、前記CPUとの接続を行うための外部バスと、前記外部バスに接続されており前記サーバ装置との通信を行う通信部と、前記外部バスに接続された外部機器と、を備え、前記サーバ装置は、前記情報処理装置に自己診断および自身の状態の確認を行わせる自己診断プログラムを保持しており、前記情報処理装置の起動時に、前記基本プログラムを介して前記通信部による前記情報処理装置と前記サーバ装置との通信が行われることで、前記基本プログラムを介した前記自己診断プログラムの実行が前記情報処理装置において可能となっており、前記自己診断プログラムの実行結果は、前記基本プログラムを介した前記通信部による通信によって前記サーバ装置へと記録可能であり、前記外部機器が、自身のファームウェアによって行われる前記外部機器単体での単体自己診断機能を有しており、前記自己診断プログラムは、前記外部機器の前記単体自己診断機能の実行結果を参照することが可能であることを特徴とする。
【0013】
また好ましくは、前記サーバ装置は複数の情報処理装置と通信することが可能であり、前記サーバ装置は前記複数の情報処理装置のそれぞれにおいて実行された前記自己診断プログラムの実行結果の記録を全体診断履歴として保持しており、前記自己診断プログラムは実行された際に、今回の実行結果と前記全体診断履歴とを照合することによって、前記自己診断プログラムを今回実行した前記情報処理装置の状態が正常であるか否かを診断することが可能であるとよい。
【発明の効果】
【0014】
本発明に係る実施形態の一例としての情報処理装置および情報処理システムによれば、基本プログラム(典型的にはBIOS)を介して自己診断プログラムが実行可能であるため、オペレーティングシステムを起動せずとも情報処理装置の自己診断が可能となる。また自己診断の結果が基本メモリの書き換え可能領域または補助記憶装置に記録可能であるため、不具合が生じている場合には、記録された自己診断の結果を、情報処理装置および情報処理システムの管理者が確認することで、不具合の原因を調査することが可能である。
【図面の簡単な説明】
【0015】
図1】本発明に係る実施形態の一例としての情報処理装置の構成を示すブロック図。
図2図1の情報処理装置における自己診断の手順を示すフローチャート。
図3】モニタ機器に表示される自己診断画像の一例を示す図。
図4】本発明に係る実施形態の一例としての情報処理システムの構成を示すブロック図。
図5図4の情報処理システムにおける自己診断の手順を示すフローチャート。
【発明を実施するための形態】
【0016】
図1に、本発明に係る実施形態の一例としての情報処理装置10の構成をブロック図として示す。この情報処理装置10(例えば産業用コンピュータ)は、電源ユニット14から直流電源電圧の供給を受けるCPU基板12を備えている。CPU基板12には情報処理装置10において主要な演算処理を受け持つCPU22と、CPU22を情報処理装置10の各種構成要素と接続する外部バス20とが設けられている。外部バス20には、CPU22が一時的なデータの蓄積に利用するメインメモリ24(主記憶装置)と、情報処理装置10の起動時(リセット直後)に読み込まれる基本プログラム(CPU22を動作させるためのBIOS42など)が記録されている基本メモリ26などが接続されている。メインメモリ24は例えばDRAMやSRAMなどの高速アクセスが可能な半導体メモリで構成される。また基本メモリ26は、電源を切っても記録内容が保持されるフラッシュメモリなどの不揮発性メモリで構成される。
【0017】
さらに外部バス20には種々の外部機器が接続されており、図1の情報処理装置10においては、補助記憶装置としてのストレージ機器32(ハードディスクドライブ:HDDやソリッドステートドライブ:SSDなど)およびモニタ機器34が接続されている。図1には図示していないが、外部バス20にはこの他、ユーザが情報の入力に使用するキーボードやマウスなどの入出力機器、外部記憶媒体としてのCDやDVD用の光学ディスクドライブ、他の情報処理装置との通信を行うためのUSBやLAN用の通信コントローラなど、様々な外部機器が接続可能である。
【0018】
本実施形態において、基本メモリ26には、基本プログラムとしてのBIOS42の他に、自己診断プログラム44が記録されている。この自己診断プログラム44は、情報処理装置10の自己診断および自身の状態の確認を行うためのプログラムである。すなわち、この自己診断プログラム44を情報処理装置10自身が実行することで、情報処理装置10の状態が正常であるか否かの判定(自己診断)を行ったり、正常であるか否かまでは判定しなくとも、どのような状態となっているかの確認を行ったりすることが可能である。基本メモリ26には書き換え可能領域があり、CPU22は自己診断プログラム44の実行結果のデータすなわち自己診断結果46をこの書き換え可能領域に書き込むことができる。
【0019】
情報処理装置10に外部機器として接続されたストレージ機器32(補助記憶装置)には、このストレージ機器32の動作を制御するための制御基板50と、情報(データ)が書き込まれる媒体部58(HDDのプラッタ、SDDの半導体記憶素子など)とが設けられている。制御基板50には様々な電子部品が実装されているが、その中にはフラッシュメモリなどの不揮発性メモリが含まれており、そこにストレージ機器32の動作を制御するためのファームウェア52が記録されている。本実施形態においては、このファームウェア52によって、ストレージ機器32自身が正常であるか否か、現在の状態はどうなっているか、をストレージ機器32単体で調べる単体自己診断機能を実行することが可能である。
【0020】
そしてストレージ機器32の媒体部58には各種データが記録されており、例えばオペレーティングシステム(OS)およびその設定データなどからなるシステムデータ54や、ユーザが作成/使用するユーザデータ56などが媒体部58に記録されている。さらに媒体部58は、前述の自己診断プログラム44による自己診断結果46を記録することも可能である。
【0021】
モニタ機器34はCPU22からの指令に基づいて各種の表示を行うことができる。モニタ機器34は例えば、オペレーティングシステムが機能している環境下でユーザと情報処理装置10との間の双方向入出力ユーザーインタフェースとなるGUI画面を表示することが可能である。またBIOS42が動作している環境下では、モニタ機器34はユーザがBIOSの機能を利用するためのBIOSメニューを表示することが可能である。本実施形態においては、モニタ機器34は前述の自己診断プログラム44の実行結果を表示することも可能である。
【0022】
図2に示すフローチャートに沿って、本実施形態において情報処理装置10の自己診断が行われる場合の手順について説明する。まず、図1には図示しない情報処理装置10の電源ボタンが操作されるなどして、電源ユニット14からCPU基板12への電圧印加が開始されることにより、情報処理装置10への電源投入が行われる(ステップS01)。
【0023】
CPU基板12への電圧印加が開始されると、CPU22がリセットされ、CPU22はリセット後のプログラムカウンタが示すアドレスに格納されたジャンプ命令によって、基本メモリ26内のBIOS42実行コードのアドレスへとジャンプすることでBIOS42が起動される(ステップS02)。
【0024】
本実施形態においては、BIOS42の起動後、BIOS42を介して自己診断プログラム44が実行される(ステップS03)。自己診断プログラム44は、BIOS42が提供する範囲のハードウェア制御機能によって、情報処理装置10自身の状態を確認し、必要に応じてその状態が正常であるか否かの自己診断を行う。この状態の確認は様々な項目について行われる。例えば外部機器の状態を確認するにあたっては、外部機器のそれぞれに実装されているファームウェアとCPU22が通信し、そのファームウェアによって制御されている該当の外部機器の状態を示すデータをCPU22が受信する。そうして得られた自己診断結果46のデータは、図1に示すように、基本メモリ26の書き換え可能領域や、ストレージ機器32に記録される(ステップS04)。
【0025】
ここで自己診断プログラム44によって確認される情報処理装置10自身の状態には、外部バス20に接続されている外部機器のそれぞれが動作可能な状態であるか、CPU22との接続または通信が正常に行える状態になっているか、が含まれる。例えばCPU22の割り込み信号や割り込み処理アドレスを直接指定するような入出力デバイス(比較的旧型のいわゆるLPCデバイス)が外部機器として接続されている場合、その外部機器に割り当てられている割り込み信号や割り込み処理アドレスが確認される。その上で、それらが他の機器と重複していないか、そもそもCPU22が有する割り込み信号や割り込み処理アドレスとして正しいものになっているか、が診断される。
【0026】
自己診断プログラム44が情報処理装置10の状態を確認するだけでなく、その状態が正常であるか否かを診断する場合には、どのような状態であれば正常であるかという規定値が(自己診断プログラム44に数値が埋め込まれるなどして)予め指定されており、その規定値と実際の値とが照合されて正常であるか否かの診断が行われる。例えば前述の割り込み信号や割り込み処理アドレスに関する診断においては、LPCデバイスを制御するLPCコントローラが管理している割り込み信号と割り込み処理アドレスとの対応関係が規定値と整合しているか否かが診断される。例えば割り込み処理アドレス「3F8」に対しては4番目のIRQ端子の立ち下がりエッジが対応するのが規定値であるならば、その規定値とLPCコントローラが管理している対応関係のデータとが整合しているか否かが診断される。
【0027】
この他、自己診断においては、CPU22が外部機器に対して動作確認の信号を送信し、それに対する応答信号(ACK信号)が返ってきたならばその外部機器は動作可能な状態と判定されるなどの診断が行われる。
【0028】
また、自己診断プログラム44により確認される項目の中には、外部機器が備える単体自己診断機能によって調べられる情報についての項目があってもよい。例えばHDDやSSDなどのストレージ機器32には、通称S.M.A.R.T.情報(Self-Monitoring, Analysis and Reporting Technology)と呼ばれる様々な項目の情報をストレージ機器32自身で調べることが可能な機能が備わっていることがある。本実施形態の自己診断プログラム44によれば、BIOS42のハードウェア制御機能を介してCPU22からストレージ機器32のファームウェアへS.M.A.R.T.情報を要求することも可能である。なお、S.M.A.R.T.情報がどのような状態であれば正常であるかについては、ストレージ機器32のメーカごとに異なる基準が定められているため、自己診断プログラム44はその情報について正常であるか否かの判定は行わず、得られた結果を記録するだけに留めるようにしてもよい。
【0029】
情報処理装置10の自己診断においては、S.M.A.R.T.情報に含まれる全ての項目についての記録までは必要でないこともあるので、得られた情報の一部のみが記録されるようになっていてもよい。例えばSSDの状態を知るにあたっては、合計でどれだけの論理ブロックが消去されたか、性能上許容される消去ブロック数はいくつか、の情報さえ得られれば、そのSSDの寿命(あと何回消去を行うことが可能か)が推測可能となる。また、外部機器の単体自己診断機能を介さずに、ファームウェアとの単純な通信のみで得ることが可能な情報のみが記録されるようになっていてもよい。
【0030】
自己診断プログラム44によって診断または確認される項目はこの他にも、外部機器として接続されている通信制御ICに記録されている通信情報の整合性(例えばLANカードのMACアドレスのベンダーID部分が規定値となっているか否か、など)であったり、電源ユニット14がCPU基板12へ供給している電源電圧であったり、CPU22やCPU基板12の温度であったりしてもよい。本実施形態の自己診断プログラム44はこのように、BIOS42が機能している環境下で、様々な項目について情報処理装置10の状態を調べることができる。CPU22はこれらの情報に関するデータを、各項目について制御または監視を担当しているICやプロセッサおよびそのファームウェアに対して通信を行うことによって得ることができる。
【0031】
以上のようにして様々な項目について診断および確認された自己診断プログラム44の実行結果は、前述の通り自己診断結果46として記録されるが、この自己診断プログラム44の実行結果が、モニタ機器34に表示されてもよい(ステップS05)。このようにすると、自己診断プログラム44の実行結果が、ユーザにとって視覚的にわかりやすくなる。このモニタ機器34に表示される情報は、表示されるのと同じ形態の画像(自己診断画像35)として、自己診断結果46の一部として記録されてもよい。
【0032】
図3に、モニタ機器34に自己診断プログラム44の実行結果として表示される自己診断画像35の一例を示す。この自己診断画像35においては、動作確認信号に対する応答信号が得られた外部機器についての項目には[ACTIVE]、正常であるか否かの判定(診断)が行われた結果、正常であると判定された項目には[PASS]、状態を確認しただけで正常であるか否かの判定が行なわれていない項目には[Show Only]と表示されている。図3においてはCPU温度や電圧の項目も[Show Only]となっているが、これらについては予め規定値として閾値または範囲を定めておき、そこから逸脱した値となっている場合には異常と判定されてもよい。また、この自己診断画像35には後述の総合判定の結果を含めることも可能であり、図3においては情報処理装置10の状態が正常であることを示す「PASS」の表示が大きく表れている(異常の場合には「FAIL」などと表示すればよい)。この表示について、図3においては複数の記号を組み合わせて大きな文字を形成しているが、正常と異常にそれぞれ対応して予め作成されてある画像(例えば大きなフォントで描かれた「PASS」という文字列を画像にしたもの)が表示されてもよい。
【0033】
以上のようにして様々な項目についての診断および確認が済んだ後、情報処理装置10またはユーザによって総合判定が行なわれてもよい(ステップS06)。総合判定とは、各項目についてそれが正常であるか否かが診断されたデータを基に、情報処理装置10の全体が正常であるか否かについて判定するものである。例えばストレージ機器32について、ユーザデータ領域に多少の不具合がみられる程度であれば情報処理装置10の全体としては正常と判定される。一方で、他の項目が正常であってもユーザから見て明らかに異常な項目が存在する場合、例えば自己診断画像35に示されている電源電圧が過剰に高い場合には、異常であるという判定をユーザが下すようになっていてもよい。その場合CPU22は、ユーザがキーボードの操作などによって入力する、情報処理装置10の異常を示す信号を受信する。
【0034】
またこの総合判定は、自己診断プログラム44の過去の実行結果の記録を基に判定されてもよい。すなわち、ストレージ機器32などにおいて、診断履歴48として、過去に複数回(1回だけでもよい)行われた自己診断の記録である自己診断結果46が蓄積して保存されており、今回の自己診断プログラム44の実行結果と、診断履歴48とが照合される。その照合の結果、過去に正常であると判定されたデータと今回のデータが大きく離れていなければ今回の診断結果は正常と判定される。一方、過去に正常であると判定されたデータから今回のデータが大きく離れていれば、今回の診断結果は異常と判定される。この場合、自己診断結果46として記録される項目に、自己診断が行われた日時の情報が含まれていることが好ましい。自己診断結果46に実行日時の情報が含まれていれば、診断履歴48として蓄積される複数の自己診断結果46を時系列に沿って管理することが容易となる。
【0035】
総合判定において情報処理装置10の状態が正常であると判定された場合(ステップS06-YES)には、ストレージ機器32のシステムデータ54に含まれるオペレーティングシステム(OS)を起動しても問題ないと判定されて、OSの起動が開始される(ステップS07)。OSが起動したら、CPU22の制御権はBIOS42からOSに移り、以後はOSによって情報処理装置10が制御される。
【0036】
一方、総合判定において情報処理装置10の状態が異常であると判定された場合(ステップS06-NO)には、終了処理が行われる(ステップS08)。終了処理とは、判明した異常状態に応じて、情報処理装置10を以後どのように動作させるかを決める処理である。例えば判明した異常が致命的なものであり、直ぐには修復できない瑕疵であると考えられる場合には、電源ユニット14による電源電圧の供給を停止(電源をOFF)して、情報処理装置10の動作を完全に停止させる。一方、判明した異常が一時的なものに過ぎず、再度自己診断すれば解消されるものであると考えられる場合には、CPUを再度リセットして、情報処理装置10を再起動する。
【0037】
以上の実施形態においては、情報処理装置10の基本メモリ26に自己診断プログラム44が記録されている場合について説明したが、自己診断プログラムは、情報処理装置10の外部に用意されていてもよい。
【0038】
図4に、本発明に係る実施形態の一例としての情報処理システム60の構成をブロック図として示す。この情報処理システム60には複数の情報処理装置10が含まれる。情報処理装置10の構成要素について、図1と共通するものについては同一の符号を付して説明を省略する。図1と異なり、自己診断プログラム44は基本メモリ26ではなくサーバ装置70に保持されている。
【0039】
サーバ装置70はネットワーク65(例えばインターネットや構内通信網)を介して複数の情報処理装置10と通信可能に接続されている。個々の情報処理装置10の外部バス20には通信部37(LANカードなどのネットワークインタフェース)が接続されており、個々の情報処理装置10はこの通信部37を介してサーバ装置70との通信を行うことが可能である。
【0040】
サーバ装置70は自己診断プログラム44を保持している(正確にはサーバ装置70が備えるストレージ機器に自己診断プログラム44が記録されている)。サーバ装置70は、ネットワーク65を介して自己診断プログラム44を情報処理装置10へ送ることが可能である。なお、ここでは図示を省略しているが、サーバ装置70にもCPU、メインメモリ、通信部などが実装されている。
【0041】
また、サーバ装置70は個々の情報処理装置10から自己診断プログラム44の実行結果すなわち自己診断結果46を受信することが可能であり、サーバ装置70には複数の情報処理装置10のそれぞれにおける自己診断結果46が蓄積されている。こうした複数の情報処理装置10のそれぞれにおける自己診断結果46が蓄積されたデータを、サーバ装置70は全体診断履歴76として保持している。
【0042】
サーバ装置70は自己診断プログラム44を保持している(正確にはサーバ装置70が備えるストレージ機器に自己診断プログラム44が記録されている)。サーバ装置70は、ネットワーク65を介して自己診断プログラム44を情報処理装置10へ送ることが可能である。なお、ここには図示を省略しているが、サーバ装置70にもCPU、メインメモリ、通信部などが実装されている。
【0043】
図5に示すフローチャートを用いて、図4に示す情報処理システム60において情報処理装置10の自己診断が行われる場合の手順について説明する。ここで、図2と同様のステップについては同一のステップ符号を付して説明を省略する。
【0044】
ステップS02において情報処理装置10のBIOS42が起動した後、BIOS42を介して(BIOS42の提供するインタフェース機能によって)、通信部37経由のネットワークブート(PXEブート、HTTPブートなど)が行われる(ステップS09)。情報処理装置10は、通信部37およびネットワーク65を介してサーバ装置70と通信を行う。BIOS42を介した通信部37による通信を行うことで、CPU22は、サーバ装置70内の自己診断プログラム44をサーバ装置70から自身のメインメモリ24へ呼び出し、呼び出した自己診断プログラム44をメインメモリ24から実行する(ステップS03)。
【0045】
情報処理システム60においては、ステップS04における自己診断結果46の書き込みは、自己診断プログラム44を実行した情報処理装置10自身の基本メモリ26やストレージ機器32に対して行うことも可能である。その一方でここでは、BIOS42を介して通信部37による通信によって、サーバ装置70へと自己診断結果46を記録することも可能である。
【0046】
個々の情報処理装置10が自身の自己診断結果46をサーバ装置70へと記録することで、サーバ装置70には複数の情報処理装置10のそれぞれによる自己診断結果46が蓄積されて、多数の自己診断結果46からなる全体診断履歴76がサーバ装置70に保持されることになる。
【0047】
サーバ装置70に全体診断履歴76が保持されていると、ステップS06における総合判定の際に、自己診断プログラムは、個々の情報処理装置10において今回行われた自己診断の結果と、全体診断履歴76とを照合することによっても情報処理装置10の状態が正常であるか否かを診断することが可能となる。例えば他の情報処理装置10において異常と判定された項目と同様の結果が今回の自己診断の結果に含まれていれば、今回自己診断を行った情報処理装置10にも異常が生じているということになる。一方で正常と判定された他の情報処理装置10と全ての項目において一致する結果が得られたのならば今回自己診断を行った情報処理装置10もまた正常である。逆に、正常と判定された他の情報処理装置10の自己診断結果とかけ離れた結果となった項目があるのならば、今回自己診断を行った情報処理装置10には異常が発生している可能性が高い。
【0048】
以上のようにして、本発明の情報処理装置10または情報処理システム60によれば、情報処理装置10の自己診断がBIOS42を介して行われ、その結果に応じてOSの起動可否が決定される。すなわち、本実施形態の情報処理装置10によれば、例えOSが起動できない状態であっても情報処理装置10の自己診断が可能となる。またこの自己診断は情報処理装置10が起動する度に自動的に行われるため、ユーザにとっては、OSの起動後に自己診断プログラムを立ち上げるような手間をかけずに済む。さらに、専門知識のないユーザが自己診断画像35だけでは情報処理装置10の不具合に気付けなかった場合でも、自己診断結果46が自動的に記録されているので、情報処理装置10の管理者が自己診断結果46を確認することで、後から情報処理装置10の不具合を突き止めることも可能となる。
【0049】
特に、情報処理装置10が、安定して動作することが求められる産業用途のもの、例えば産業用コンピュータである場合には、障害を早い時期に予見し、適切な時期に保守作業を行うことが可能となる。上記の実施形態では情報処理装置10が起動する度に自己診断が行われるので、頻繁に自己診断が行われることになる。そのため、情報処理装置10の状態が異常となっていること、すなわち不具合が生じていることを適切な早い時期に発見することができる。つまり、情報処理装置10が起動できなくなったり暴走したりするなどの致命的な動作不良(障害)が生じる前に、障害の予兆を不具合として早い時期に予見できる。障害が予見された場合には、適切な保守作業(不具合の生じているストレージ機器32などの各種構成要素、あるいは情報処理装置10自体を新しいものと交換するなど)を行うことで、障害を事前に防ぐことができ、情報処理装置10が安定して動作する状態を長く継続することが可能となる。
【0050】
また、オペレーティングシステム(OS)が格納されているストレージ機器32に障害が生じると、OSデータ(を含むシステムデータ54)のバックアップをとることも不可能となってしまうが、上記の実施形態ではOSの起動前に自己診断が行われるので、ストレージ機器32を含む情報処理装置10の障害を、OSが起動するより先に予見することが可能である。すなわち、システムデータ54が壊れる前に保全することも可能となるので、ストレージ機器32を含む情報処理装置10の保守作業の品質向上が見込まれる。
【0051】
また自己診断プログラム44が情報処理装置10の基本メモリ26に記録されている場合には、自己診断は情報処理装置10単体で行われるため、情報処理装置10とは別体の操作端末装置を用意する必要もない。
【0052】
一方で、自己診断プログラム44が情報処理装置10とは別体のサーバ装置70に保持されている場合には、自己診断プログラム44の更新が行われた際に、サーバ装置70の自己診断プログラム44のみが書き換えられればよいので、複数の情報処理装置10の基本メモリ26を書き換える必要がない。またサーバ装置70に全体診断履歴76が保持されることで、サーバ装置70と通信する複数の情報処理装置10は、それぞれ自身の自己診断結果46を全体診断履歴76と照合することが可能となり、同種の情報処理装置10間で正常/異常の判定基準を統一することが可能となる。
【0053】
自己診断プログラム44の更新が行われる場合の例としては、情報処理装置10の状態が正常であるか異常であるかを判定するための基準や範囲が、より適切なものに変更される(具体例としては規定値や閾値が変更される)場合が挙げられる。このような判定の基準の最適化は、専門知識を持った技術者(管理者)によって行われることがある。その管理者は、情報処理装置10において過去に発生した障害の内容や発生頻度、そして情報処理装置10において行われた自己診断の結果を分析/解析することにより、適切な判定基準を定めることができる(例えば、最適な規定値や閾値を算出する)。このようにして最適化された判定基準データ(自己診断プログラム44で用いられる規定値や閾値など)を用いて自己診断を行うことにより、障害の予見精度がより向上することが期待される。そのため、判定基準データの最適化が行われた場合には、全ての情報処理装置10において、その最適化後の最新の判定基準データに基づいて自己診断プログラム44が実行されることが、保守作業の品質向上の観点から望ましい。ここで、図4のように、情報処理装置10とは別体のサーバ装置70に自己診断プログラム44が格納されているならば、情報処理装置10の各々が地理的にはサーバ装置70から離れた遠隔地に設置されているとしても、サーバ装置の自己診断プログラム44が、最適化後の判定基準データを伴う最新の自己診断プログラム44に更新されるだけで、即時に全ての情報処理装置10において最新の自己診断プログラム44による起動時の最適な自己診断が可能となる。なお、こうした判定基準データの更新については、自己診断プログラム44内に埋め込まれた数値が変更されるようになっていてもよいが、サーバ装置70内に自己診断プログラム44から参照される設定ファイル(例えばテキストファイルやXMLファイル)が用意されていて、管理者がその設定ファイルの内容を書き換えることで判定基準データが更新されるようになっていてもよい。またこの設定ファイルの内容に応じて、自己診断によって診断/確認が可能な様々な項目のうち、どの項目についての診断/確認を実施するかが指定されるようになっていてもよい。
【0054】
また、自己診断の結果が、正常であるか否かの判定は行われない情報も含めて自己診断画像35としてモニタ機器34に表示されるので、自己診断プログラム44による判定で自動的には発見できない異常も、ユーザが目視で自己診断の結果を確認することで発見することができる。またモニタ機器34に表示されるものと同じ形態の画像(自己診断画像35)が記録されていれば、直接モニタ機器34を見ていない人物にも情報処理装置10の状態を伝えることができる。例えば専門知識のないユーザがモニタ機器34の表示を見ただけでは異常を発見できなかった場合にも、その自己診断画像35を情報処理装置10のメーカ等が設けた相談窓口(サポートセンター)に送ることで、専門知識を持った技術者に自己診断画像35を確認させ、どこが異常なのかを発見することができる。
【0055】
また、自己診断プログラム44が、ストレージ機器32などの外部機器単体での単体自己診断機能の実行結果を参照できるようになっており、記録される自己診断結果46やモニタ機器34に表示される自己診断画像35に単体自己診断機能の実行結果が含まれていれば、ユーザあるいは自己診断プログラム44は、OSの起動前に、外部機器の状態を確認することができる。そのため、外部機器に不具合があってOSを無理に起動させると障害が起こるような場合(例えば、SSDの寿命が近づいている場合)には、ユーザはOSの起動前にそれを確認して、障害を事前に回避する(例えばOSを起動せずに電源をOFFにする)ことが可能となる。なお、外部機器としてのストレージ機器32に不具合があって書き込みが行なえない場合には、自己診断結果46は基本メモリ26の書き換え可能領域に記録されてもよい。OSの起動前にモニタ機器34に自己診断画像35が表示されることで障害を事前に回避することができるケースは他にも考えられ、例えば電源電圧やCPU温度が異常な値になっている場合には、ユーザはOSの起動前に情報処理装置10の電源を遮断することが好ましい。
【0056】
なお、本明細書においては、情報処理装置10のCPU22がリセットされた後で最初に読み込む基本メモリ26に格納された命令及びそれに引き続いて実行される、ハードウェアの基本的な制御を担うソフトウェア群を、基本プログラムの一例としてBIOS42と称している。従って、本明細書におけるBIOS42(または「基本プログラム」)とは、いわゆるレガシーなシステムBIOSだけでなく、UEFI仕様に則ったインタフェース用のソフトウェア等、情報処理装置10の起動初期にオペレーティングシステムよりも先に実行されるソフトウェア群の全般を指す。これには情報処理装置10が備える各種構成要素を動作させるためのファームウェア等も含まれる。
【0057】
なお、上記の実施形態においては情報処理装置10の起動の度に必ず自己診断が行われるが、これは起動時に自己診断プログラムを実行可能であればよく、必ずしも起動時に毎回実行されなくともよい。情報処理装置10の状態が正常であることが明らかな場合には自己診断を飛ばしてもよく、例えば情報処理装置10の起動時にユーザがキーボードの特定のキーを押すことで自己診断が飛ばせるようになっていてもよい。また情報処理装置10の起動時にはBIOSメニューが立ち上がる(ユーザがBIOSの機能を利用するための画面がモニタ機器34に表示される)ようになっていて、そのBIOSメニュー内に自己診断を行うための選択肢が設けられていてもよい。すなわち、起動時の自己診断の実行をユーザが希望する場合には、起動時に立ち上がったBIOSメニュー内の選択肢から、自己診断を行うことがユーザによって選択されることにより、自己診断プログラムが実行される。一方、ユーザが自己診断の実行を希望しない場合には、自己診断実行の選択が行われることなくBIOSメニューが終了されることにより、引き続いてOSの起動が行われる。ここで、BIOSメニュー内に自己診断を行うための選択肢が設けられている場合には、そのBIOSメニューから自己診断の実行条件をユーザが指定できるようになっていてもよい。自己診断の実行条件をユーザが指定することにより、例えば、実施される診断項目の指定や判定基準データの変更が行われる。すなわちこの場合、ユーザは、自己診断によって診断/確認される様々な項目のうち、どの項目について診断/確認を実施するか(温度と電圧の確認は行うがSSD寿命の推定は行わない、など)という診断項目の指定をBIOSメニューから行える。またユーザは、情報処理装置10の状態が正常であるか異常であるかを判定するための基準や範囲(判定基準データ)を、BIOSメニューから変更することができる。
【0058】
なお、上記の実施形態においては自己診断結果46を記録(書き込み)した後にモニタ機器34へ自己診断画像35の表示を行っているが、自己診断結果46の書き込みは総合判定の後に行われてもよい。特に、ユーザが自己診断画像35を目視して総合判定を行った場合には、その総合判定の結果も記録されるとよい。
【符号の説明】
【0059】
10 情報処理装置10
12 CPU基板
14 電源ユニット
20 外部バス
22 CPU
24 メインメモリ
26 基本メモリ
32 ストレージ機器
34 モニタ機器
35 自己診断画像35
37 通信部
42 BIOS
44 自己診断プログラム
46 自己診断結果
48 診断履歴
50 制御基板
52 ファームウェア
54 システムデータ
56 ユーザデータ
60 情報処理システム
65 ネットワーク
70 サーバ装置
76 全体診断履歴
図1
図2
図3
図4
図5