JP5716396B2 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP5716396B2
JP5716396B2 JP2010294451A JP2010294451A JP5716396B2 JP 5716396 B2 JP5716396 B2 JP 5716396B2 JP 2010294451 A JP2010294451 A JP 2010294451A JP 2010294451 A JP2010294451 A JP 2010294451A JP 5716396 B2 JP5716396 B2 JP 5716396B2
Authority
JP
Japan
Prior art keywords
processing
monitoring
cpu
controller
mechanisms
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.)
Active
Application number
JP2010294451A
Other languages
English (en)
Other versions
JP2011181064A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010294451A priority Critical patent/JP5716396B2/ja
Priority to US12/929,535 priority patent/US8595560B2/en
Priority to EP11152972.3A priority patent/EP2354947B1/en
Publication of JP2011181064A publication Critical patent/JP2011181064A/ja
Application granted granted Critical
Publication of JP5716396B2 publication Critical patent/JP5716396B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、情報処理装置における障害発生を監視する技術に関する。
情報処理装置における処理の信頼性を向上させるため、プログラムを実行する処理機構における障害の発生を監視し、障害対処処理を行う技術が一般的に採用されている。
かかる監視を行う方法として、監視対象となる処理機構にウォッチドッグタイマを搭載する方法が用いられており、例えば、次のような方法がある。すなわち、ウォッチドッグタイマがタイムアウトし障害を検出すると、オペレーティングシステム(以下、OS(Operating System)という)に対して障害発生が通知される。このとき、OSが障害に対処をすることができない状態であれば、ハードウェア情報の収集を行うサービスプロセッサに対して障害発生が通知される。また、別の方法として、ウォッチドッグタイマを複数の処理機構にそれぞれ設け、1つのウォッチドッグタイマがタイムアウトしたときに、そのウォッチドッグタイマが、他の処理機構に対して障害発生の通知を行う方法もある。
しかし、このように処理機構に搭載されたウォッチドッグタイマは通常、ハードウェア障害については検出可能であるものの、ソフトウェアに起因する障害の検出や情報収集を行うには十分な機能を備えていない。このため、さらに別の方法として、処理機構から独立した別個の管理機構が、処理機構の稼動状態の監視や障害対処処理を行う方法が提案されている。かかる方法の一例では、処理機構が、自身の稼働状態を所定周期ごとに監視処理の起動、停止等を制御するコマンドとともに当該管理機構に通知する。一方、管理機構は、通知された稼動状態及びコマンドに基づき、処理機構において障害が発生しているか否かの判定をし、障害が発生していることを検出したときには、障害対処処理を行う。
また、システムの稼働状態を監視する関連技術として、監視対象装置が、LAN(Local Area Network)を介して接続された監視装置の指示に従って自己監視を行う技術が提案されている。当該技術では、監視装置が、監視対象装置に対し、必要に応じて監視処理を停止又は再開させるコマンドを送信する。
ここで、近年では、複数の処理機構を備えた情報処理装置が普及しており、また、1台の情報処理装置の処理機構の数は増加傾向にある。かかる複数の処理機構を備えた情報処理装置の場合、1つの管理機構が、複数の処理機構の稼動状態を一括して監視して障害の有無を判定し、障害が発生した処理機構に対して障害対処処理を行う方法が一般的に採用されている。
特開平1−116739号公報 特開平1−134637号公報 特開平11−85569号公報 特開2004−254088号公報
しかしながら、処理効率の向上の観点から処理機構が多数となった場合、1つの管理機構が複数の処理機構の夫々の稼働状態に基づき、各処理機構について障害発生の有無の判定を行うと、管理機構における処理負荷が大きくなる。その結果、管理機構の処理に支障が生じ、障害対処処理を適切に行うことが困難となる。
以上のような問題点に鑑み、開示の技術は、1つの管理機構が複数の処理機構に対して障害対処処理を行う情報処理装置において、管理機構の処理負担を軽減して障害対処処理の遅延を防ぐことを目的とする。
開示の技術では、複数の処理機構と、当該複数の処理機構のうちの少なくとも1つで障害が発生したときに、当該障害が発生した処理機構に対して障害対処処理を行う管理機構を備えた情報処理装置に、複数の処理機構のそれぞれに対応した複数の個別監視機構を設ける。そして、個別監視機構が、対応する処理機構の稼働状態に基づき、当該処理機構が正常に稼動しているか否かを判定する。一方、管理機構は、少なくとも1つの個別監視機構において当該個別監視機構に対応する処理機構が正常に稼動していないと判定されたときに、当該判定結果に基づき、当該判定をした個別監視機構に対応する処理機構に対して障害対処処理を行う。
開示の技術によれば、1つの管理機構が複数の処理機構に対して障害対処処理を行う情報処理装置において、管理機構の処理負担を軽減して障害対処処理の遅延を防ぐことができる。
情報処理装置の一例のブロック図である。 情報処理装置のハードウェア構成の一例の説明図である。 メインプロセッサのレジスタの一例の説明図であり、(A)は第1チェックレジスタ、(B)はタイマレジスタ、(C)はタイマレジスタのINTERVALフィールドに設定される監視周期の具体例を示す。 サービスプロセッサのレジスタの一例の説明図である。 メインプロセッサのCPUにおける処理の一例を示すフローチャートである。 メインプロセッサの第1コントローラにおける処理の一例を示すフローチャートである。 サービスプロセッサにおける処理の一例を示すフローチャートである。 処理フェーズを特定可能なフェーズコードの具体例である。 メインプロセッサのCPUにおける処理の一例を示すフローチャートである。 サービスプロセッサにおける処理の一例を示すフローチャートである。
≪第1実施例≫
図1は、情報処理装置の一例の概略を示す説明図である。本情報処理装置は、内部に複数の処理機構1(ノード)を有する。「ノード」とは、処理機構上で動作するソフトウェアを指す用語として用いられることもあるが、以下ではソフトウェアが動作する処理機構などの「装置」と「ノード」とを同義のものとして扱うこととする。各処理機構1では、OSが動作し、プログラム処理を行う。
また、本情報処理装置は、各処理機構1の夫々に対して設けられ、対応する処理機構1の稼働状態を監視し、処理機構1の稼働状態に基づいて対応する処理機構1における障害発生の有無を判定する複数の個別監視機構2を有する。さらに、本情報処理装置は、いずれかの処理機構1で障害が発生したときに、その処理機構1に対して障害対処処理を行う管理機構3を有する。障害対処処理とは、例えば、障害の原因となった情報の収集や解析を行ったり、リモート制御で処理機構1を障害から復旧させたりする処理を指す。
個別監視機構2の夫々は、所定の監視周期ごとに、対応する処理機構1の稼働状態を監視する。そして、個別監視機構2は、対応する処理機構1の稼動状態監視の結果に基づいて、処理機構1に障害が発生しているか否かを判定し、対応する処理機構1に障害が発生していると判定したときにのみ、管理機構3に通知する。すなわち、管理機構3は、自らは処理機構1の稼動情報に基づいた障害の発生有無の判定は行わず、個別監視機構2から判定結果を示す情報、具体的には障害発生を示す判定結果情報を得るのみである。そして、管理機構3は、いずれかの個別監視機構2から障害発生の判定結果の通知を受けたときに、その個別監視機構2に対応する処理機構1に対する障害対処処理を行う。
次に、かかる情報処理装置について、ハードウェア構成の具体例を用いて詳述する。図2は、本情報処理装置のハードウェア構成の一例を示す。本情報処理装置は、複数のメインプロセッサ10と、本情報処理装置に組み込まれている各装置(各メインプロセッサ10の他、例えば、電源ユニット、冷却機器等)を一括管理し、各装置の監視やリモート制御を行うサービスプロセッサ20とを有する。各メインプロセッサ10とサービスプロセッサ20とは、制御バス30を介して接続されている。
各々のメインプロセッサ10は、1つ以上のCPU(Central Processing Unit)10A、RAM(Random Access Memory)10B、第1コントローラ10C及びROM10Fを有する。第1コントローラ10Cは、第1チェックレジスタ10D、タイマレジスタ10E及びタイマ機構10Fを有する。メインプロセッサ10は一例として、上記の各要素が搭載された一枚のボードを想定することも出来る。
CPU10Aは、前掲の図1における処理機構1として機能し、OSを動作させ、RAM10Bに格納された各種プログラムを実行する。なお、1つのメインプロセッサ10に複数のCPU10Aが設けられ、1つのOSを複数のCPU10Aで動作させている場合には、同一のOSを動作させている複数のCPU10A全体が1つの処理機構1として機能すると見なすこともできる。
第1コントローラ10Cは、例えばFPGA(Field Programmable Gate Array)や論理回路であり、メインプロセッサ10に含まれる各装置の制御を行う。また、第1コントローラ10Cは、前掲の図1の個別監視機構2として機能し、CPU10Aの稼働状態を監視して、稼動状態の監視結果に基づいて、CPU10Aに障害が発生しているか否かを判定する。そして第1コントローラ10Cは、CPU10Aに障害が発生していると判定したときに、サービスプロセッサ20に障害発生を通知する。
第1チェックレジスタ10D及びタイマレジスタ10Eは、第1コントローラ10CがCPU10Aの稼働状態の監視のために用いるレジスタ(記憶領域)であり、CPU10Aの稼動状態の監視処理に必要な情報が設定される。また、タイマ機構10Fは、第1コントローラ10CがCPU10Aの稼働状態を監視する監視周期の経過を検出する。さらに、ROM10Gには、第1コントローラ10Cで動作する制御用や監視用のプログラムが格納されている。なお、メインプロセッサ10の各構成要素は、図2に示すようにシステムバス10Hで接続されている。
一方、サービスプロセッサ20は、前掲の図1の管理機構3として機能し、MPU(Micro Processing Unit)20A、RAM20B、第2コントローラ20C及びROM20Eを有する。第2コントローラ20Cは、その内部に複数の第2チェックレジスタ20Dを有する。
MPU20Aは、RAM20Bに格納されたファームウェアの処理を行う。MPU20Aは、ファームウェアの処理を行うことで、前掲の管理機構3の機能のうち、障害対処処理を行う機能を実現する。
第2コントローラ20Cは、例えばFPGAや論理回路であり、主としてサービスプロセッサ20に含まれる各装置の制御を行う。また、第2コントローラ20Cは、複数のメインプロセッサ10の第1コントローラ10Cから、CPU10Aで障害が発生していることを示す通知を受信する。第1コントローラ10Cからの通知は、換言すれば、サービスプロセッサ20で動作するファームウェアに対する割込み制御指示である。このとき、第2コントローラ20Cは、MPU20Aにおいて処理中のファームウェアに対し、割込み制御を行う。一方、MPU20Aにおいて処理中のファームウェアは、第2コントローラ20Cからの割込み制御を受け、障害発生の通知を行った第1コントローラ10Cに対応するCPU10Aに対し障害対処処理を行う。
第2チェックレジスタ20Dは、メインプロセッサ10の第1コントローラ10Cからの指示により書き込みが行われるレジスタであり、少なくとも障害発生通知に用いられる。また、ROM20Eには、第2コントローラ20Cで動作する制御用や監視用のプログラムが格納されている。なお、サービスプロセッサ20の各構成要素は、図2に示すようにシステムバス20Fで接続されている。
次に、メインプロセッサ10の第1チェックレジスタ10D及びタイマレジスタ10E、並びにサービスプロセッサ20の第2チェックレジスタ20Dについて説明する。
第1チェックレジスタ10D及びタイマレジスタ10Eは、第1コントローラ10C及びCPU10Aの両方からアクセス可能なレジスタである。
図3(A)は、第1チェックレジスタ10Dの構造の一例を示す。第1チェックレジスタ10Dは全体で8ビットのサイズを有し、サイズが1ビットのALIVEINTフィールド及びサイズが7ビットのDATAフィールドを含む。ALIVEINTフィールドは、メインプロセッサ10からサービスプロセッサ20への割込みが発生したことを示す情報を保持する領域であり、第1コントローラ10CがCPU10Aにおける障害発生を検出したときに、その値が変更される。また、DATAフィールドは、CPU10Aにより稼動情報が設定される領域である。稼動情報の詳細については後述する。
図3(B)は、タイマレジスタ10Eの構造の一例を示す。タイマレジスタ10Eは、全体で8ビットのサイズを有し、サイズが1ビットのRESERVEDフィールド及びサイズが7ビットのINTERVALフィールドを含む。RESERVEDフィールドは予備領域であり、本実施例では使用されない。INTERVALフィールドは、第1コントローラ10CがCPU10Aの稼働状態を監視する監視周期が設定される領域である。なお、図3(C)は、INTERVALフィールドに設定される値の具体例であり、監視周期を示す監視周期コードを示す。例えば、監視周期コード「0000001」は、監視周期が30秒間隔であることを示す。第1コントローラ10Cは、タイマレジスタ10EのINTERVALフィールドに設定された監視周期コードに基づいて、CPU10Aの監視周期を決定する。そして、当該監視周期が経過したとき、すなわち、タイマがタイムアウトしたときに、タイマ割込みとして監視処理を実行する。
一方、サービスプロセッサ20の第2チェックレジスタ20Dは、サービスプロセッサ20に接続されるメインプロセッサ10の数に対応した数だけ設けられている。そして、この第2チェックレジスタ20Dは、いずれかのメインプロセッサ10の第1コントローラ10CによりCPU10Aに障害が発生したと通知されたときに、障害発生を通知した第1コントローラ10C内の第1チェックレジスタ10Dが保持するデータが制御バス30を介してコピーされるものである。第2チェックレジスタ20Dは、第1チェックレジスタ10Dと同様、図4に示すように、夫々、全体で8ビットのサイズを有し、サイズが1ビットのALIVEINTフィールド(7ビット)及びサイズが7ビットのDATAフィールド(0〜6ビット)を含む。
次に、メインプロセッサ10のCPU10Aで実行される処理の一例について、図5に示すフローチャートを用いて説明する。なお、以下の説明において、CPU10Aが行うこととして記述している処理は、すなわち、CPU10Aで実行されるOS又はプログラムの機能により実現される処理である。
ステップ1(図5ではS1と表記している。以下同様)では、CPU10Aが、タイマレジスタ10EのINTERVALフィールドに、第1コントローラ10CがCPU10Aの監視処理を行う監視周期を設定する。この監視処理とは、図6のフローチャートで示す処理を指す。第1コントローラ10Cに監視処理を実行させる場合、CPU10Aはステップ1で、「0(ゼロ)」以外の値を監視周期としてINTERVALフィールドに設定する。「0」は「特定値」の一例である。
ステップ2では、CPU10Aが、第1チェックレジスタ10DのDATAフィールドに、新たな稼動情報を設定する。
ここで、新たな稼動情報とは、すでにDATAフィールドに設定されていた情報と異なる情報であれば何でもよい。また、稼動情報自体も任意の情報でよい。換言すれば、ここでは、少なくともCPU10Aが正常稼動していてDATAフィールドの値を書き換えることができたということが示されればよい。仮にCPU10Aに障害が発生した場合、CPU10AはDATAフィールドに新たな稼動情報を書き込むことが出来ない可能性がある。逆に言えば、DATAフィールドに設定された稼動情報が前回設定された稼動情報と異なっていない場合には、CPU10Aに障害が発生したと推測することが可能となる。
また、ステップ2でCPU10Aは、新たな稼動情報を設定する前にすでにDATAフィールドに設定されていた稼動情報、すなわち、CPU10Aが前回DATAフィールドに設定した稼動情報を、別の記憶領域(図2において図示省略)に退避させておく。
ステップ3では、CPU10Aが、所定時間が経過した否かを判定する。この所定時間は、少なくとも第1コントローラ10Cにおける監視処理の監視周期よりも短い時間とする。所定時間が経過していれば、ステップ4に進み(Yes)、所定時間が経過していなければ、ステップ3の処理を繰り返す(No)。なお、ステップ3における所定時間が第1コントローラ10Cにおける監視処理の監視周期よりも短い時間であるため、CPU10Aは、監視周期が経過する前に、次の新たな稼働情報の設定を行うこととなる。
ステップ4では、CPU10Aが、第1コントローラ10Cによる監視を終了させるか否かを判定する。監視を終了させるときには、ステップ5に進み(Yes)、監視を続行させるときには、ステップ2に戻る(No)。
ステップ5では、CPU10Aが、タイマレジスタ10Eの監視時間に「0(ゼロ)」(特定値)を設定する。
次に、メインプロセッサ10の第1コントローラ10Cで実行される処理の一例について、図6に示すフローチャートを用いて説明する。この処理は、第1コントローラ10Cが、CPU10Aにより「0」以外の監視周期がINTERVALフィールドに設定されたことを条件として開始する。
ステップ11では、第1コントローラ10Cが、タイマレジスタ10EのINTERVALフィールドを参照し、「0」以外の監視周期が設定されているか否かを判定する。「0」以外の監視周期が設定されていれば、ステップ12に進み(Yes)、「0」以外の監視周期が設定されていなければ、そのまま待機し、再度ステップ11の処理を繰り返す(No)。
ステップ12では、第1コントローラ10Cが、CPU10Aの稼働状態の監視処理を開始する。
ステップ13では、第1コントローラ10Cが、タイマレジスタ10EのINTERVALフィールドを参照し、「0」が設定されているか否かを判定する。「0」が設定されていれば、ステップ18に進み(Yes)、「0」が設定されていなければ、ステップ14に進む(No)。
ステップ14では、第1コントローラ10Cが、タイマレジスタ10EのINTERVALフィールドに設定された監視周期が経過したか否か、すなわち、タイマ機構10Fで監視周期のタイムアウトが発生したか否かを判定する。そして、監視周期が経過していれば、ステップ15に進み(Yes)、監視周期が経過していなければ、ステップ13に戻る(No)。
ステップ15では、第1コントローラ10Cが、第1チェックレジスタ10DのDATAフィールドに設定された稼動情報を参照する。
ステップ16では、第1コントローラ10Cが、第1チェックレジスタ10DのDATAフィールドに設定された稼動情報と、前回DATAフィールドを参照した時の稼動情報とを比較する。前回参照時の稼動情報は、図5で示したCPU10Aの処理で別の記憶領域に退避されているので(ステップ2参照)、第1コントローラ10Cは当該別の記憶領域を参照する。なお、CPU10Aが正常に動作していれば、図5で示したCPU10Aの処理により、第1チェックレジスタ10DのDATAフィールドには、監視周期よりも短い時間ごとに新たな稼働情報が設定されていることになる。第1コントローラ10Cは、第1チェックレジスタ10DのDATAフィールドに設定された稼動情報と、前回DATAフィールドを参照した時の稼動情報とが一致しているか否かを判定する。両者が一致していれば、ステップ17に進み(Yes)、両者が一致していなければ、ステップ13に戻る(No)。
ステップ17では、第1コントローラ10Cは、CPU10Aに障害が発生したと判断する。この場合、第1コントローラ10Cが、第2コントローラ20Cに対し、CPU10Aにおいて障害が発生したことを通知する。具体的には、第1コントローラ10Cが、第1チェックレジスタ10DのALIVEINTフィールドの値を、障害が発生したことを示す値へと変更する。例えば、通常時のALIVEINTフィールドの値を「0」とする場合、第1コントローラ10CはALIVEINTフィールドの値を「1」に変更する。さらに、第1コントローラ10Cは、制御バス30を介して、第2コントローラ20Cへ第1チェックレジスタ10Dのデータを伝送する。第2コントローラ20Cは、第1コントローラ10Cから転送されたデータを、第2チェックレジスタ20Dにコピーする。これにより、第2チェックレジスタ20DのALIVEINTフィールドの値が、CPU10Aで障害が発生したことを示す値へと変更され、第2コントローラ20Cは、第2チェックレジスタ20Dを参照することによって、メインプロセッサ10のCPU10Aの処理において障害が発生したことを識別することができる。
なお、このとき、第1コントローラ10Cは、少なくとも自身が搭載されたメインプロセッサ10を特定可能な情報、すなわち、サービスプロセッサ20側でどのメインプロセッサ10で障害が発生したかを特定可能な情報も、併せて第2コントローラ20Cに対して通知する。また、メインプロセッサ10が複数のCPU10Aを備えている場合には、第1コントローラ10Cから第2コントローラ20Cに対して、さらに、障害が発生したCPU10Aを特定可能な情報も併せて通知してもよい。
一方、ステップ16でNoと判定された場合、第1コントローラ10CはCPU10Aに障害は発生していないと判断する。この場合、第1コントローラ10Cは、第2コントローラ20Cに対して特に通知を発しない。
ステップ18では、第1コントローラ10Cが、CPU10Aの監視処理を終了する。
次に、サービスプロセッサ20で実行される処理の一例について、図7に示すフローチャートを用いて説明する。この処理は、メインプロセッサ10の第1コントローラ10Cから障害発生通知がなされたときに実行される。なお、以下の説明において、MPU20Aが行うこととして記述している処理は、MPU20Aが処理するファームウェアの機能により実現される処理である。
ステップ21は、サービスプロセッサ20の第2コントローラ20Cが、MPU20Aで処理中のファームウェアに対し、ALIVEINT割込み制御を行う。
ステップ22は、MPU20Aが、第2コントローラ20Cからの割り込みに応じて、障害が発生したメインプロセッサ10のCPU10Aに対する障害対処処理を行う。具体的にはMPU20Aは、メインプロセッサ10から障害に関連する情報を収集してエラーログを生成したり、メインプロセッサ10から収集した情報から障害原因を特定し、リモート制御で障害からのCPU10Aの復旧処理を行ったりする。例えば、MPU20Aは、リモート制御によりCPU10Aに対して次のような処理を行うことができる。MPU20Aは、第2コントローラ20Cから割込み制御がなされたときには、メインプロセッサ10のCPU10Aで動作するOSに対して復旧指示を行う。そして、MPU20Aは、CPU10Aで動作するOSが復旧指示を受け付けない状態のとき、すなわち、復旧指示をしてもCPU10Aの処理が正常動作に戻らず、個別監視機構から再び割込み制御がなされたときには、CPU10Aの処理を強制的にリセットし、CPU10Aの再起動を行う。MPU20Aは、このように段階を分けて対処処理を行い、障害レベルに応じた適切な障害対処処理を行うことが可能である。
かかる情報処理装置によれば、メインプロセッサ10に夫々設けられ、個別監視機構2として機能する第1コントローラ10Cが、監視周期ごとに、処理機構1として機能するCPU10Aの稼働状態を監視する。そして、第1コントローラ10Cは、CPU10Aの稼動状態に基づいてCPU10Aに障害が発生しているか否かを判定する。ここで、第1コントローラ10Cは、CPU10Aに障害が発生していると判定したときにのみ、管理機構3として機能するサービスプロセッサ20に通知を行う。このため、本情報処理装置は、メインプロセッサ10の夫々からサービスプロセッサ20に直接稼動状態を通知し、CPUに障害が発生しているか否かをサービスプロセッサ20が判定する場合に比べ、次のような作用効果を奏する。すなわち、本情報処理装置では、各メインプロセッサ10のCPU10Aの稼動状態に基づいて障害発生の有無を判定する処理を第1コントローラ10Cが負担するため、サービスプロセッサ20で障害発生の判定を行う必要がなく、サービスプロセッサ20における処理量が減少する。さらに、CPU10Aが正常稼動しているときには、メインプロセッサ10からサービスプロセッサ20に通知がなされないことから、サービスプロセッサ20に対する通信量を減少させることができる。これらの結果、メインプロセッサ10の数が多数である場合においても、サービスプロセッサ20における処理負荷が軽減され、また、通信のトラフィック集中が回避される。したがって、サービスプロセッサ20による障害対処処理の遅延を防ぐことが可能となる。また、サービスプロセッサ20は、上述のように、メインプロセッサ10のみならず、情報処理装置の他の装置の管理も行っているが、これらの管理に伴う処理の遅延も防ぐことができる。
なお、上記実施例では、対応するCPU10Aに障害が発生していると第1コントローラ10Cにより判定されたときにのみ、メインプロセッサ10からサービスプロセッサ20に対して通知(第2チェックレジスタ20Dへのデータコピー)を行っている。しかしながら、変形例として、例えば、第1コントローラ10Cは、対応するCPU10Aに障害が発生していると判定したとき及び対応するCPU10Aには障害が発生していないと判定したときの両方において、その判定結果をサービスプロセッサ20に通知してもよい。このようにした場合、上記実施例のように障害発生時のみ第1コントローラ10がサービスプロセッサ20に通知を行う方法に比べると、サービスプロセッサ20に対する通信
量は多い。しかし、このようにしても、サービスプロセッサ20側では、少なくとも、第1コントローラ10Cによる判定結果のみを取得して処理を行うことができる。すなわち、複数のメインプロセッサ10のCPU10Aの稼動状態を監視し、CPU10Aに障害が発生したか否かを判定する処理を、サービスプロセッサ20側で行う必要がない。したがって、その分だけサービスプロセッサ20の処理負荷を軽減し、障害対処処理の遅延を防ぐことが可能である。また、例えば、サービスプロセッサ20側から第1コントローラ10にアクセスして判定結果を確認する方式を採用したとしても、同様に、少なくともサービスプロセッサ20で障害発生有無の判定処理を行う必要がない分については、処理負荷の軽減を図ることができる。
さらに、上記実施例では、第1コントローラ10Cが、第1チェックレジスタ10DのDATAフィールドの変化を監視して、CPU10Aにおける障害発生の有無を判定している。しかし、このようにレジスタを用いる方法に限らず、少なくとも第1コントローラ10CでCPU10Aの稼働状態を確認でき、障害発生の有無の判定処理を負担することができれば、サービスプロセッサ20の処理負荷の軽減を図ることが可能である。
また、上記実施例では、CPU10Aの処理により、タイマレジスタ10Eに任意の監視周期を設定することができる。一方、タイマレジスタ10Eには、CPU10Aの処理に関わらず、予め監視周期を設定しておいてもよい。
さらに、上記実施例では、CPU10Aがタイマレジスタ10Eに「0」以外の監視周期を設定することで、第1コントローラ10Cが監視処理を開始する一方、CPU10Aがタイマレジスタ10Eに「0」を設定することで、第1コントローラ10Cが監視処理を終了させている。こうすることで、CPU10Aは、タイマレジスタ10Eを用いるだけで、第1コントローラ10Cの監視処理の開始及び終了の制御を行うことができる。しかし、かかる方法に限らず、例えば、CPU10Aが第1コントローラ10Cを制御する指示(コマンド)を送信しても、第1コントローラ10Cの監視処理を制御することは可能である。
なお、上記ハードウェア構成の例では、メインプロセッサ10に含まれる各装置の制御を行う第1コントローラ10Cに、さらに、タイマ機構及びレジスタを用いてCPU10Aの障害発生の有無を判定させ、個別監視機構2としての機能を実現させている。このようにすることで、個別監視機構2の機能を実現する物理的なハードウェアをさらに追加する必要がない。しかし、かかる構成に限らず、メインプロセッサ10に障害発生の有無を判定する装置を別途設けても、サービスプロセッサ20の処理負担を軽減することは当然に可能である。
≪第2実施例≫
次に、第1実施例の変形例として、メインプロセッサ10からサービスプロセッサ20に対し、障害が発生したときのCPU10Aにおける処理フェーズを通知する第2実施例について説明する。なお、第1実施例と重複する内容については、説明を省略する。
CPU10Aは、適宜異なる処理フェーズの処理を実行している。第2実施例では、障害発生時にCPU10Aが実行していた処理フェーズをサービスプロセッサ20に通知することにより、サービスプロセッサ20で収集した情報に基づいて、障害発生時のCPU10Aの状態をより容易に判別可能としている。
図8は、第2実施例において、メインプロセッサ10で実行される処理を示す。
ステップ31では、CPU10Aが、タイマレジスタ10EのINTERVALフィールドに、第1コントローラ10CがCPU10Aの監視処理を行う監視周期を設定する。CPU10Aは、監視周期として、CPU10Aの現在の処理フェーズの処理に要する時間以上の周期を設定する。これは、次の理由による。
すなわち、CPU10Aは監視周期が経過する前にDATAフィールドを新たな値で書き換える必要があり、かつ、第2実施例では、次のステップ32でDATAフィールドに現在の処理フェーズを設定する。ここで、第1コントローラ10Cは、DATAフィールドに設定された処理内容が監視前後で異なっているか否かを、監視周期ごとにDATAフィールドを参照することで判別している。このため、第1コントローラ10Cが適切にCPU10Aの障害発生有無を判別するためには、少なくとも監視周期が経過する前に、言い換えれば個別監視機構がDATAフィールドを参照する前に、CPU10AがDATAフィールドに設定する処理フェーズが変化している必要がある。ある時点で実行している処理フェーズの処理に要する時間以上の周期をCPU10AがDATAフィールドに設定することで、CPU10Aが正常に動作している状況では、第1コントローラ10CによるDATAフィールド参照時には、CPU10Aがある処理フェーズの処理を完了し、次の処理フェーズの処理をすでに開始していることが期待できる。その結果、CPU10AがDATAフィールドに設定する処理フェーズを、第1コントローラ10CによるDATAフィールドの参照前後で異なるものとすることが可能となる。
ステップ32では、CPU10Aが、第1チェックレジスタ10DのDATAフィールドに、新たな稼動情報として、現在のCPU10Aによる処理フェーズを特定可能な情報であるフェーズコードを設定する。なお、図9は、フェーズコード及び対応する処理フェーズの具体例である。図9は特に、情報処理装置の起動時にCPU10Aが実行する初期診断の各処理フェーズを示している。
ステップ33では、CPU10Aが、処理フェーズの移行が発生したか否かを判定する。処理フェーズの移行が発生していれば、ステップ34に進み(Yes),処理フェーズの移行が発生していなければ、そのまま待機し、再度ステップ33の処理を繰り返す(No)。
ステップ34では、CPU10Aが、監視周期の設定を変更するか否かを判定する。ここで、監視周期を変更する場合とは、例えば、CPU10Aにおける処理が進行して次の処理フェーズとなり、次の処理フェーズに要する時間が前の処理フェーズに要する時間と異なる場合が該当する。監視周期を変更するときには、ステップ35に進み(Yes)、監視周期を変更しない場合には、ステップ36に進む(No)。
ステップ35では、CPU10Aが、タイマレジスタ10EのINTERVALフィールドに、第1コントローラ10CがCPU10Aの監視処理を行う監視周期を再設定(変更)する。CPU10Aは、ステップ31と同様、監視周期として、CPU10Aの現在の処理フェーズの処理に要する時間以上の周期を設定する。
ステップ36及びステップ37は、ステップ4及びステップ5と同様であるため、説明を省略する。
なお、第1コントローラ10Cの処理は、図6に示した処理と第1実施例の処理と同様であるが、第2実施例では、ステップ14において、第1チェックレジスタ10DのDATAフィールドに稼動情報としてフェーズコードが設定されている。そして、第1チェックレジスタ10Dのデータが、フェーズコードも含めて第2チェックレジスタ20Dにコピーされる。このため、第2コントローラ20Cは、第1コントローラ10Cからコピーされたデータを参照することで、障害発生時におけるCPU10Aが実行していた処理の処理フェーズを特定することができる。
ここで、第2実施例の処理について、CPU10Aにおける初期診断の処理フェーズ(図9)及び監視周期(図3(C))の具体例を示して説明する。CPU10Aは、初期診断の処理フェーズの進行に応じて、第1チェックレジスタ10DのDATAフィールドに
、フェーズコードを「01」から順に設定し、初期診断終了時には「7f」を設定する。
例えば、ある監視時における処理フェーズがCPU動作確認テスト(フェーズコード:03)である場合、CPU10Aは、第1チェックレジスタ10DのDATAフィールドに、フェーズコード03を設定する。また、CPU10Aは、タイマレジスタ10EのINTERVALフィールドに、CPU動作確認テストの処理に要する時間以上の時間に対応する監視時間コードを設定する。例えば、CPU動作確認テストに要する処理時間が30秒の場合、CPU10Aはタイマレジスタ10EのINTERVALフィールドに、監視時間コード0000001を設定する。そして、CPU10Aが正常に動作しており、CPU10Aの処理が次のフェーズであるRAM初期化(フェーズコード:04)に移行した場合、CPU10Aは、INTERVALフィールドに設定された監視周期が経過する前に、第1チェックレジスタ10DのDATAフィールドに、移行したRAM初期化処理に対応するフェーズコード04を設定する。
一方、第1コントローラ10Cは、前回の監視処理から監視周期30秒が経過したとき、第1チェックレジスタ10DのDATAフィールドを参照する。フェーズコードが03から04に変化していることを第1コントローラ10Cが確認した場合、第1コントローラ10CはCPU10Aの監視を続行する。この場合、第1コントローラ10Cは、サービスプロセッサ20に対し、特に通知を行わない。
一方、図9の例において、CPU10Aの処理に異常が発生し、CPU10Aにおける処理フェーズがCPU動作確認テストから次の処理フェーズに移行しない場合、第1チェックレジスタ10DのDATAフィールドは、監視周期30秒が経過しても、フェーズコード03のままである。このため、DATAフィールドを参照した第1コントローラ10Cは、CPU10Aに異常が発生していることを検出する。この場合、第1チェックレジスタ10DのDATAフィールドにはフェーズコード03が設定されているため、DATAフィールドのデータを第2チェックレジスタ20Dにコピーすることで、サービスプロセッサ20は、第2チェックレジスタ20Dを参照して障害発生時のCPU10Aの処理フェーズに対応したフェーズコードを識別することができる。
このように、第2実施例においては、サービスプロセッサ20では、第2チェックレジスタ20Dに設定されたフェーズコードから、障害発生時におけるメインプロセッサ10のCPU10Aの処理フェーズを特定することができる。そして、このように処理フェーズを特定することにより、サービスプロセッサ20では、障害内容の診断等を的確に行うことができ、迅速な復旧処理につながる。
また、通常、処理フェーズによって処理に要する時間が異なるが、第2実施例では、CPU10Aが処理フェーズに応じて監視周期を変更することができるため、このように処理フェーズの変化を監視する監視処理においても正常に障害発生の有無を判定することができる。なお、このように第1コントローラ10Cにおける監視周期をCPU10A側で変更する処理は、DATAフィールドに処理フェーズを設定する場合に限らなくても適用可能である。
≪第3実施例≫
次に、第1実施例及び第2実施例におけるさらなる変形例として、サービスプロセッサ20がメインプロセッサ10における監視処理を停止させる処理を行う第3実施例について説明する。
第1実施例及び第2実施例では、メインプロセッサ10において、CPU10Aが、第1コントローラ10Cによる監視処理を終了させていた。しかし、情報処理装置に対する電源供給が遮断された場合、メインプロセッサ10の第1コントローラ10Cやサービスプロセッサ20等の管理系装置が継続して動作する一方で、CPU10Aの動作が先に停
止する特定の状態が生じ得る。情報処理装置に対する電源供給が遮断される例としては、停電が発生したり、情報処理装置のリブートや電源切断が行われたりした場合がある。この場合、CPU10Aの動作は、自装置の監視処理を終了させる間もなく停止してしまう。このため、CPU10Aの動作が停止している一方で、第1コントローラ10Cによる監視処理が継続することとなる。ここで、このように情報処理装置の電源供給が遮断された場合には、原則として情報処理装置の全てのCPU10Aの動作が停止することとなる。すると、次のような問題が生じる。すなわち、情報処理装置の全てのCPU10Aは、監視周期が経過しても、第1チェックレジスタ10DのDATAフィールドに新たな稼働情報を設定することができない。このため、全てのCPU10Aに対応する第1コントローラ10Cが、監視周期が経過したときに、CPU10Aに障害が発生したと判断し、サービスプロセッサ20に対して障害発生通知を行うこととなる。そうすると、サービスプロセッサ20に対する通信のトラフィックが集中するとともに、サービスプロセッサ20の処理負荷が増大してしまう。
また、特に、ユーザが意図的に情報処理装置のリブートや電源切断等を行った場合等には、CPU10Aの動作が停止しても、本来、障害発生として検出する必要がない。しかし、このような場合であっても、第1コントローラ10Cにおいて障害発生が検出され、障害発生通知が行われることとなる。
したがって、第3実施例では、情報処理装置に対する電源供給が遮断された場合に、サービスプロセッサ20側から、第1コントローラ10Cにおける監視処理を終了させるようにする。なお、サービスプロセッサ20は、前述したように情報処理装置の電源ユニットの管理を行う機能を有しているため、情報処理装置に対する電源供給が遮断された状態を検出することができる。第1実施例及び第2実施例と重複する内容については、説明を省略する。
図10は、第3実施例において、サービスプロセッサ20で実行される処理の一例を示す。
ステップ41では、第2コントローラ20Cが、情報処理装置に対する電源供給が遮断された状態を検出する。
ステップ42では、第2コントローラ20Cが、第1コントローラ10Cのタイマレジスタ10Eの監視時間に「0(ゼロ)」(特定値)を設定する。
このサービスプロセッサ20におけるステップ22の処理が行われると、メインプロセッサ10の第1コントローラ10Cは、タイマレジスタに「0(ゼロ)」が設定されていることを検出し(図6のステップ13 Yes)、監視処理を終了する(図6のステップ18)。
かかる第3実施例におけるサービスプロセッサ20の処理によれば、情報処理装置における電源供給が遮断されることによりCPU10Aの動作が停止した場合に、サービスプロセッサ20から、第1コントローラ10Cの監視処理を停止させることができる。このため、サービスプロセッサ20に対する通信のトラフィックの集中や、サービスプロセッサ20の処理負荷の増大を回避することができる。また、特に、ユーザが意図的に情報処理装置のリブートや電源切断等を行った場合等に、不必要な監視処理及び障害対処処理が発生することを回避することもできる。
なお、CPU10Aが第1コントローラ10Cの監視処理を制御する場合と同様、サービスプロセッサ20が第1コントローラ10Cの監視処理を停止させる方法は、タイマレジスタ10Eに特定値を設定する方法に限らず、他の制御方法であってもよい。
1 処理機構
2 個別監視機構
3 管理機構
10 メインプロセッサ
10A CPU
10B RAM
10C 第1コントローラ
10D 第1チェックレジスタ
10E タイマレジスタ
10F ROM
20 サービスプロセッサ
20A MPU
20B RAM
20C 第2コントローラ
20D 第2チェックレジスタ
20E ROM

Claims (8)

  1. 複数の処理機構と、
    前記複数の処理機構のそれぞれに対して設けられ、対応する処理機構の稼働状態を監視し、前記対応する処理機構が正常に稼動しているか否かを判定して、前記対応する処理機構についての判定結果を外部に通知する複数の個別監視機構と、
    前記複数の個別監視機構と接続され、対応する処理機構が正常に稼動していないといずれかの個別監視機構から通知を受けたときに、当該通知をした個別監視機構に対応する処理機構に対して障害対処処理を行う管理機構と、
    を有する情報処理装置であって、
    前記処理機構は、対応する個別監視機構が参照可能な記憶領域に所定の監視周期を設定する一方、前記監視周期が経過する前に前記記憶領域に新たな稼動情報を設定することを繰り返し、
    前記個別監視機構は、前記記憶領域に特定値以外の周期が前記監視周期として設定されたときに、対応する処理機構の監視処理を開始し、前記記憶領域に設定された前記監視周期ごとに当該記憶領域に設定された稼働情報を参照して、当該稼働情報が前回の参照時と一致するときに、対応する処理機構が正常に稼働していないと判定し、前記記憶領域に前記特定値が前記監視周期として設定されたときに、対応する処理機構の監視処理を終了する情報処理装置。
  2. 前記個別監視機構の夫々は、対応する処理機構が正常に稼動していないと判定したときにのみ、前記管理機構に判定結果を通知する請求項1記載の情報処理装置。
  3. 前記処理機構は、前記処理機構の現在の処理フェーズを示す情報を稼動情報として前記記憶領域に設定することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記監視周期は、前記処理機構の現在の処理フェーズの処理に要する時間以上の周期であることを特徴とする請求項記載の情報処理装置。
  5. 前記複数の処理機構のそれぞれが複数のCPUを含み、
    前記個別監視機構のそれぞれは、対応する処理機構のCPUの稼働状態を監視し、前記対応する処理機構のCPUが正常に稼働していないと判定したときに、当該判定結果を、正常に稼働していないCPUを特定可能な情報と併せて外部に通知し、
    前記管理機構は、対応する処理機構のCPUが正常に稼動していないといずれかの個別監視機構から通知を受けたときに、当該通知をした個別監視機構に対応する処理機構の前記正常に稼働していないCPUに対して障害対処処理を行うことを特徴とする請求項1〜4のいずれか1つに記載の情報処理装置。
  6. 前記管理機構は、情報処理装置に含まれるいずれかの処理機構に対する電源供給が遮断された状態を検出したときに、電源供給が遮断された処理機構を監視する個別監視機構における監視処理を終了させることを特徴とする請求項1〜のいずれか1つに記載の情報処理装置。
  7. 複数の処理機構のそれぞれに対して設けられた個別監視機構が、対応する処理機構の稼働状態を監視し、前記対応する処理機構が正常に稼動しているか否かを判定して、前記対応する処理機構についての判定結果を外部に通知し、
    前記複数の個別監視機構と接続され、いずれかの前記個別監視機構の判定結果に基づいて動作する管理機構が、前記個別監視機構において当該個別監視機構に対応する処理機構が正常に稼動していないといずれかの個別監視機構から通知を受けたときに、当該通知をした個別監視機構に対応する処理機構に対して障害対処処理を行う情報処理方法であって、
    前記処理機構は、対応する個別監視機構が参照可能な記憶領域に所定の監視周期を設定する一方、前記監視周期が経過する前に前記記憶領域に新たな稼動情報を設定することを繰り返し、
    前記個別監視機構は、前記記憶領域に特定値以外の周期が前記監視周期として設定されたときに、対応する処理機構の監視処理を開始し、前記記憶領域に設定された前記監視周期ごとに当該記憶領域に設定された稼働情報を参照して、当該稼働情報が前回の参照時と一致するときに、対応する処理機構が正常に稼働していないと判定し、前記記憶領域に前記特定値が前記監視周期として設定されたときに、対応する処理機構の監視処理を終了する情報処理方法。
  8. 前記個別監視機構の夫々は、対応する処理機構が正常に稼動していないと判定したときにのみ、前記管理機構に判定結果を通知することを特徴とする請求項記載の情報処理方法。
JP2010294451A 2010-02-05 2010-12-29 情報処理装置及び情報処理方法 Active JP5716396B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010294451A JP5716396B2 (ja) 2010-02-05 2010-12-29 情報処理装置及び情報処理方法
US12/929,535 US8595560B2 (en) 2010-02-05 2011-01-31 Information processing apparatus and method
EP11152972.3A EP2354947B1 (en) 2010-02-05 2011-02-01 Information processing apparatus and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010023854 2010-02-05
JP2010023854 2010-02-05
JP2010294451A JP5716396B2 (ja) 2010-02-05 2010-12-29 情報処理装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2011181064A JP2011181064A (ja) 2011-09-15
JP5716396B2 true JP5716396B2 (ja) 2015-05-13

Family

ID=44045284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010294451A Active JP5716396B2 (ja) 2010-02-05 2010-12-29 情報処理装置及び情報処理方法

Country Status (3)

Country Link
US (1) US8595560B2 (ja)
EP (1) EP2354947B1 (ja)
JP (1) JP5716396B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296434B2 (en) * 2017-01-17 2019-05-21 Quanta Computer Inc. Bus hang detection and find out

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60251446A (ja) 1984-05-29 1985-12-12 Mitsubishi Electric Corp プログラムの実行監視装置
JPH01116739A (ja) 1987-10-30 1989-05-09 Omron Tateisi Electron Co Cpuの監視装置
JPH01134637A (ja) 1987-11-20 1989-05-26 Nec Corp 情報処理システムのストール監視方式
JP3070282B2 (ja) * 1992-08-18 2000-07-31 日本電気株式会社 障害処理方式
JPH08212112A (ja) * 1994-12-06 1996-08-20 Mitsubishi Electric Corp データの処理方法
JPH1185569A (ja) 1997-09-02 1999-03-30 Fujitsu Ltd 処理装置
US6654801B2 (en) * 1999-01-04 2003-11-25 Cisco Technology, Inc. Remote system administration and seamless service integration of a data communication network management system
JP2001147909A (ja) * 1999-11-18 2001-05-29 Nec Corp 状態監視システム
JP2001154999A (ja) * 1999-11-30 2001-06-08 Hitachi Ltd 並列計算機システム及びその立上げ処理方法
JP2001325124A (ja) * 2000-05-17 2001-11-22 Fujitsu Ltd 計算機、システム管理支援装置及び管理方法
US6711700B2 (en) * 2001-04-23 2004-03-23 International Business Machines Corporation Method and apparatus to monitor the run state of a multi-partitioned computer system
US6954884B2 (en) * 2001-06-01 2005-10-11 Lucent Technologies Inc. System and method for effecting recovery of a network
US7689875B2 (en) * 2002-04-25 2010-03-30 Microsoft Corporation Watchdog timer using a high precision event timer
JP2004254088A (ja) 2003-02-20 2004-09-09 Nec Corp プロセス監視システム、及び、プロセス監視方法
US7162666B2 (en) * 2004-03-26 2007-01-09 Emc Corporation Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks
JP2005309643A (ja) * 2004-04-20 2005-11-04 Fujitsu Ltd 稼動状況監視装置,監視対象装置およびそれらのプログラム
JP4831599B2 (ja) * 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
US7958396B2 (en) * 2006-05-19 2011-06-07 Microsoft Corporation Watchdog processors in multicore systems
JP2008090343A (ja) * 2006-09-29 2008-04-17 Sumitomo Electric Ind Ltd 交通信号制御機
JP5018140B2 (ja) * 2007-03-07 2012-09-05 日本電気株式会社 マルチプロセッサシステム、タスクスケジューリング方法およびタスクスケジューリングプログラム
JP4433006B2 (ja) * 2007-07-04 2010-03-17 株式会社デンソー マルチコアの異常監視装置
DE102007035584B4 (de) * 2007-07-30 2009-12-17 Texas Instruments Deutschland Gmbh Watchdog-Vorrichtung zur Überwachung eines elektronischen Systems
DE102007039441A1 (de) * 2007-08-21 2009-02-26 Fujitsu Siemens Computers Gmbh Verfahren und System zur Überwachung von Computern
US7865774B2 (en) * 2007-09-19 2011-01-04 Cisco Technology, Inc. Multiprocessor core dump retrieval

Also Published As

Publication number Publication date
US8595560B2 (en) 2013-11-26
US20110197095A1 (en) 2011-08-11
EP2354947A1 (en) 2011-08-10
JP2011181064A (ja) 2011-09-15
EP2354947B1 (en) 2016-01-06

Similar Documents

Publication Publication Date Title
JP2012069032A (ja) 情報処理装置
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
JP6291248B2 (ja) ファームウェアアップグレードエラー検出および自動ロールバック
EP3627323B1 (en) Automatic diagnostic mode
JP5347414B2 (ja) 同期制御装置,情報処理装置及び同期管理方法
TWI632462B (zh) 開關裝置及偵測積體電路匯流排之方法
JP4873073B2 (ja) 情報処理装置及び情報処理装置の障害復旧方法
US8555110B2 (en) Apparatus, method, and program configured to embed a standby unit based on an abnormality of an active unit
US7672247B2 (en) Evaluating data processing system health using an I/O device
WO2008101386A1 (fr) Procédé de récupération d'une exception à noyau unique dans un système à plusieurs noyaux
JP2010086364A (ja) 情報処理装置、動作状態監視装置および方法
CN111800304A (zh) 进程运行的监测方法、存储介质和虚拟装置
TW200426571A (en) Policy-based response to system errors occurring during os runtime
JPH0950424A (ja) ダンプ採取装置およびダンプ採取方法
CN109358982B (zh) 硬盘自愈装置、方法以及硬盘
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
JP5716396B2 (ja) 情報処理装置及び情報処理方法
KR101369430B1 (ko) 행 현상 관리 장치 및 방법
JP2013061841A (ja) 情報処理装置および情報処理装置の試験方法
KR101300806B1 (ko) 다중 프로세스 시스템에서 오동작 처리 장치 및 방법
JP2009151440A (ja) プログラムハング検出方法及びそれを適用したコンピュータ装置
US11422877B2 (en) Information processing apparatus, method, and non-transitory computer-readable storage medium for storing control program of information processing apparatus
JP2785992B2 (ja) サーバプログラムの管理処理方式
JP2015106226A (ja) 二重化システム
JP2019164578A (ja) 制御システム、情報処理装置、制御方法、raidコントローラの復旧方法及びプログラム。

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140910

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150302

R150 Certificate of patent or registration of utility model

Ref document number: 5716396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150