JP5810891B2 - 情報処理装置及び動作状態監視方法 - Google Patents

情報処理装置及び動作状態監視方法 Download PDF

Info

Publication number
JP5810891B2
JP5810891B2 JP2011279030A JP2011279030A JP5810891B2 JP 5810891 B2 JP5810891 B2 JP 5810891B2 JP 2011279030 A JP2011279030 A JP 2011279030A JP 2011279030 A JP2011279030 A JP 2011279030A JP 5810891 B2 JP5810891 B2 JP 5810891B2
Authority
JP
Japan
Prior art keywords
module
master
control module
status information
slave
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
JP2011279030A
Other languages
English (en)
Other versions
JP2013130977A (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 JP2011279030A priority Critical patent/JP5810891B2/ja
Priority to KR1020120117074A priority patent/KR101437735B1/ko
Priority to US13/658,926 priority patent/US9164824B2/en
Priority to EP12190347.0A priority patent/EP2608034A1/en
Priority to CN2012104231114A priority patent/CN103197997A/zh
Publication of JP2013130977A publication Critical patent/JP2013130977A/ja
Application granted granted Critical
Publication of JP5810891B2 publication Critical patent/JP5810891B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/0727Error 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 in a storage system, e.g. in a DASD or network based storage system
    • 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
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • 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/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Description

本発明は、相互に通信可能な複数の制御モジュールを含む情報処理装置と、相互に通信可能な複数の制御モジュールの動作状態を監視する動作状態監視方法とに、関する。
情報処理装置の中には、相互に通信可能な複数の制御モジュールを含み、或る制御モジュールが故障した場合、その制御モジュールを他の部分から切り離して動作し続ける装置が、存在している。
そのような情報処理装置は、通常、いずれの部品(制御モジュール、制御モジュール内の回路等)が故障したのかを、1つのモジュール(制御モジュールあるいは状態監視用のモジュール)が判定(決定)するものとなっている。ただし、1つのモジュールが各部品が故障したか否かを判定する装置では、当該モジュールが故障した場合、『実際には正常な部品が、故障したと誤判定されて切り離される』、『故障した部品が切り離されないが故に、装置が正常に機能しなくなる』といったようなことが生じ得る。そのため、複数の制御モジュールのそれぞれが、各部品の状態を監視し、特定の制御モジュールが、全制御モジュールの監視結果に基づき故障部品がいずれであるかを判定する情報処理装置(以下、従来装置と表記する。)が開発されている。
特開2007−249741号公報 特開平11−249931号公報 特開2001−7892号公報
上記した従来装置は、特定の制御モジュール(以下、マスター制御モジュールと表記する)が故障したか否かを、マスター制御モジュールとの間の通信に失敗した制御モジュール(以下、送信元モジュールと表記する)が、単独で判定する装置となっている。すなわち、従来装置は、マスター制御モジュールとの通信に失敗した原因が送信元モジュール側の故障であっても、当該故障を送信元モジュールが認識できない場合には、マスター制御モジュールが故障していると誤判定されて切り離される装置となっている。
そこで、1つの側面では、本発明は、相互に通信可能な複数の制御モジュールの状態をより正確に判定することを目的とする。
開示の技術の一態様の情報処理装置は、
相互に通信可能な複数の制御モジュールを含む情報処理装置であって、
各制御モジュールは、他の各制御モジュールとの間の通信において発生したエラーの状況を反映した状況情報を、通信先の制御モジュール及び/又は自制御モジュールそれぞれについて記憶するメモリを有し、
前記複数の制御モジュールのうち、ある制御モジュールに障害が発生しているか否かを判定する際に、判定対象制御モジュールとは異なる制御モジュールが、当該判定対象制御モジュールとは異なる2以上の制御モジュールのメモリ上に記憶されている当該判定対象制御モジュールの状況情報に基づいて、当該判定対象制御モジュールに障害が発生してい
るか否かを判定する。
また、開示の技術の一態様の動作状態監視方法は、
相互に通信可能な複数の制御モジュールの動作状態を監視する動作状態監視方法であって、
各制御モジュールは、他の各制御モジュールとの間の通信において発生したエラーの状況を反映した状況情報を、通信先の制御モジュール及び/又は自制御モジュールそれぞれについて記憶するメモリを有し、
前記複数の制御モジュールのうち、ある制御モジュールに障害が発生しているか否かを判定する際に、判定対象制御モジュールとは異なる制御モジュールが、当該判定対象制御モジュールとは異なる2以上の制御モジュールのメモリ上に記憶されている当該判定対象制御モジュールの状況情報に基づいて、当該判定対象制御モジュールに障害が発生しているか否かを判定する。
1実施形態によれば、相互に通信可能な複数の制御モジュールの状態をより正確に判定することができる。
第1実施形態に係る情報処理装置を用いて構築されるストレージシステムの構成例の説明図 第1実施形態に係る情報処理装置が備えるCMの概略構成図 各CMが実行するマスターCM特定処理の流れ図 各スレーブCMが通信エラー発生時に実行するスレーブCM用エラー処理の流れ図 各CMが備える状況値テーブルの説明図 各CMが保持する加点情報の説明図 マスターCMが通信エラー発生時に実行するマスターCM用エラー処理の流れ図 マスターCMが状況値テーブル受信時に実行するテーブル受信時用処理の流れ図 次期マスターCMが状況値テーブル受信時に実行するテーブル受信時用処理の流れ図 次期マスターCMが実行する生存確認処理の流れ図 第1実施形態に係る情報処理装置の、スレーブCMが故障した場合の動作内容の説明図 第1実施形態に係る情報処理装置の、マスターCMが故障した場合の動作内容の説明図 第2実施形態に係る情報処理装置内の次期マスターCMが状況値テーブル受信時に実行するテーブル受信時用処理の流れ図
以下、本発明の実施形態について、図面を参照して詳細に説明する。尚、以下で説明する第1、第2実施形態は、本発明の一例に過ぎず、本発明は、各実施形態とは具体的な構成/手順が異なる形でも実現することができるものである。
《第1実施形態》
まず、図1及び図2を用いて、第1実施形態に係る情報処理装置10の使用形態、ハードウェア構成及び基本的な動作(機能)を説明する。尚、図1は、情報処理装置10を用いることにより構築できるストレージシステムの構成例の説明図である。また、図2は、
情報処理装置10が備える各CM(Controller Module;制御モジュール)11の概略構
成図である。
本実施形態に係る情報処理装置10は、図1に示したようなストレージシステムを構築するための装置である。
このストレージシステム内の各DE(Drive Enclosure)16は、ドライブ(ハードデ
ィスクドライブ又はソリッドステートドライブ)を規定台数まで装着可能な本体ユニットに、複数台(規定台数以下)のドライブを装着したユニットである。各EXP(エクスパンダ)15は、CM11・DE16間を接続するための多ポートスイッチ(本実施形態では、SAS(Serial Attached SCSI(Small Computer System Interface))エクスパンダ)である。ストレージシステムの構築時、情報処理装置10と複数のDE16との間には、通常、情報処理装置10内の各CM11を、任意の(全ての)DE16に接続できる数及び仕様(ポート数)のEXP15が設けられる。
情報処理装置10は、ストレージシステム内(複数のEXP15を介して自身と接続されている複数のDE16内)の全ドライブを、複数のRAID(Redundant Array of Independent (or Inexpensive) Disks)として機能させる装置である。
図1に示してあるように、情報処理装置10は、8個のCM11と4個のFRT(Front-end Router)12とを備えている。尚、図1には、8個のCM11が示してあるが、本情報処理装置10は、各CM11を着脱可能な、8個よりも少ない数のCM11のみを装着した形で運用することも出来る装置である。以下、情報処理装置10内の各CM11のことを、CM#n(n=0〜7)とも表記する。また、情報処理装置10内の各FRT12のことを、FRT#m(m=0〜3)とも表記する。
情報処理装置10内の各CM11は、各RAID(任意のRAID)に対するリード/ライト要求をホスト(図示略)から受信し、受信したリード/ライト要求に応じた内容のリード/ライトアクセスを各RAIDに対して行うモジュールである。尚、各CM11が受信するリード/ライト要求は、正確には、“或るRAIDに対するリード/ライト要求”ではなく、“いずれかのRAIDに割り当てられている或る論理ボリュームに対するリード/ライト要求”である。
図2に示してあるように、CM11は、4個のDMA(Direct Memory Access)ポート(図2では、“DMA”)21、4個のCA(Channel Adapter)22及び4個のIOC
(Input/Output Controller)23を備えている。また、CM11は、2個のCPU(Central Processing Unit)24、メモリコントローラ25及びメモリ26を備えている。さらに、CM11は、IPL(Initial Program Loader)等を記憶したROM(Read Only Memory;図示略)、キャッシュメモリ(図示略)も備えている。
各CA22は、ホストと通信を行うためのインタフェースユニットである。CM11の実現時、CA22としては、FC(Fibre Channel)、iSCSI(Internet Small Computer System Interface)、SAS等のプロトコルで通信を行うものが使用される。また、
ストレージシステムを利用するホストとしては、通常、ストレージシステム(情報処理装置10)と通信を行うためのインタフェースアダプタを複数個備えたものが使用される。そして、各ホストの各インタフェースアダプタが異なるCM11と通信可能なように、各CM11内の各CA22と各サーバとの間が、直接又はスイッチ(FCスイッチ、LAN(Local Area Network)スイッチ、SASスイッチ)を介して接続される。
IOC23は、DE16用のインタフェースコントローラ(本実施形態では、SASコ
ントローラ)である。CM11内の各IOC23は、通常、図1に示してあるように、複数個(本実施形態では、8個)のEXP15を介して全てのDE15と接続される。
DMAポート21(図2)は、CM11間の通信用のインタフェースユニットである。CM11内の各DMAポート21は、多ポートスイッチであるFRT12(FRT#0〜FRT#3のいずれか)に接続されている。以下、FRT#m(m=0〜3)と接続されているDMAポート21のことを、DMAポート#mとも表記する。
尚、本情報処理装置10は、或るCM11が故障した際、当該CM11が他の部分から切り離され(当該CM11の使用が中止され)、当該CM11が行っていた処理を他CM11が引き継ぐ装置となっている。換言すれば、情報処理装置10は、各CM11(各CM11内のCPU24)が、他CM11に自身が行っている処理の内容に関する情報を比較的に頻繁に通知する装置となっており、当該情報の通知に各DMAポート21が利用される。
また、各CM11は、通信を試みることによって他の各CM11の状態が正常であるか否かをチェックする処理を、定期的に行うようにも構成(プログラミング)されている。この処理にも各DMAポート21が利用される。
メモリ26は、ROM上のIPLに従ってCPU24がシステムディスクから読み出すプログラムの記憶領域、当該プログラムの作業領域、状況値テーブル28の記憶領域(詳細は後述)等として使用されるDRAM(Dynamic Random Access Memory)である。尚、システムディスクとは、CPU24がメモリ26上に読み出して実行するプログラムを記憶した、ストレージシステム内の特定のRAIDのことである。
メモリコントローラ25は、メモリ26の制御や、CM11内の各ユニット間(メモリ26とDMAポート21との間等)の接続制御を行うユニットである。
以下、本実施形態に係る情報処理装置10の動作(機能)を具体的に説明する。尚、本実施形態に係る情報処理装置10は、マスターCM(詳細は後述)が故障したか否かの判定手順に特に特徴があるものとなっている。そのため、以下では、当該判定手順に関連する動作を中心に、情報処理装置10の動作を説明する。
情報処理装置10内の各CM11は、起動されると、図3に示した手順のマスターCM特定処理を実行する。
すなわち、起動されたため、このマスターCM特定処理を開始したCM11は、まず、全CM11の名称(識別情報)を各CM11の優先順位順に並べたリストであるCMリストを作成する(ステップS101)。ここで、“全CM11の名称を各CM11の優先順位順に並べたリスト”(つまり、CMリスト)とは、“全CM11の名称を、優先順位がより高いCM11の名称の方がより先頭側に位置するように並べたリスト”のことである。また、各CM11の優先順位とは、主としてマスターCM(及び次期マスターCM)を決定できるようにすることを目的として各CM11に予め割り当てられている優先順位のことである。
CMリストの作成を終えたCM11は、作成したCMリストから、最も先頭側の,未処理の名称(まだ読み出していない名称)を読み出す(ステップS102)。次いで、CM11は、読み出した名称を有するCM11の状態をDMAポート21を利用した通信によりチェックする(ステップS103)。そして、CM11は、チェックしたCM11の状態が異常(オフライン等)であった場合(ステップS103;異常)には、当該CM11
の名称をCMリストから削除(ステップS104)してから、ステップS105の処理(判断)を実行する。また、CM11は、チェックしたCM11の状態が正常であった場合(ステップS103;正常)には、ステップS104の処理を行うことなく、ステップS105の処理を実行する。
ステップS105にて、CM11は、CMリスト上の全名称に対する処理が完了した(今回、処理した名称が、CMリストの末尾の名称である)か否かを判断する。そして、CM11は、CMリスト上の全名称に対する処理が完了していなかった場合(ステップS105;NO)には、ステップS102以降の処理を再び実行する。
CM11は、CMリスト上の全名称に対する処理が完了した場合(ステップS105;YES)には、その時点におけるCMリストの先頭の名称を有するCM11が、マスターCMであることを記憶する(ステップS106)。そして、CM11は、このマスターCM特定処理(図3の処理)を終了する。
マスターCM特定処理を終えた各CM11は、自身がマスターCMであった場合には、マスターCMとしての動作を開始し、自身がマスターCMではなかった場合には、スレーブCMとしての動作を開始する。
以下、スレーブCMとして動作している(スレーブCMとしての動作を開始している)各CM11のことを、スレーブCMと表記し、マスターCMとして動作しているCM11のことを、マスターCMと表記する。
既に説明したように、情報処理装置10内の各CM11(マスターCM又はスレーブCM)は、DMAポート21を利用して他CM11に自身が行っている処理の内容に関する情報を比較的に頻繁に通知する。また、各CM11は、DMAポート21を利用して他の各CM11に対する通信が可能であるか否かをチェックする処理も定期的に行う。
スレーブCMは、そのような通信時に通信エラーが発生した場合、図4に示した手順のスレーブCM用エラー処理を実行する。
すなわち、他CM11との通信時に通信エラーが発生した場合、スレーブCMは、まず、状況値テーブル28上の、発生エラーの種類に応じた各被疑部品(故障した可能性がある部品)の状況値に、発生エラーに応じた値を加算する(ステップS201)。
ここで、状況値テーブル28とは、各CM11に関する状況値と、各CM11内の各DMAポート21に関する状況値とを記憶できるテーブルのことである。また、或る部品(CM11、DMAポート21)に関する状況値とは、エラーが発生している状況を示す値であり、発生したエラーの種別に対応して予め定められた点数の加算値である。
この状況値は、個々のCM11によって管理される。また、この状況値によって、当該部品が故障している蓋然性(確実性の度合:状況値/しきい値)を求めることができる。
なお、状況値テーブルの状況値の初期値は0であり、エラーが発生した場合に値が更新される。また、情報処理装置10の電源のOFF/ONやCM11の再起動でも、状況値は0に初期化される。
以下、図5及び図6を用いて、ステップS201の処理の内容をさらに具体的に説明する。
各CM11(スレーブCM/マスターCM)は、自CM11内のメモリ26上の特定の記憶領域を、図5に示したような形で状況値テーブル28として使用する。尚、この図5において、“CM#n”(n=0〜7)と記されている1バイト分の記憶領域が、“CM#n”の状況値が記憶される領域である。また、“CM#nDMAm”(n=0〜7、m=0〜3)と記されている1バイト分の記憶領域が、CM#n内のDMAポート#mの状況値が記憶される領域である。
また、各CM11は、発生エラー(他CM11との通信時に発生した通信エラー)が、以下の5種類のエラーのいずれであるかを判別する機能を有している。
・CMタイムアウト(CM間):2CM11間の通信タイムアウト
・CMタイムアウト(CPU間):同一CM11内の2CPU24間の通信タイムアウト・通信異常(自系側):通信タイムアウト以外の、自CM11側に問題があることが明らかな通信異常
・通信異常(対向側):通信タイムアウト以外の、他CM11(通信相手)側に問題があることが明らかな通信異常
・通信異常(被疑箇所不明):通信タイムアウト以外の、自CM11側、他CM11側のいずれに問題があるかが不明な通信異常
さらに、各CM11は、図6に示したような内容の加点情報、すなわち、各部品の状況値に加えるべき値(点数)を発生エラーの種類別に既定する加点情報を、保持している。そして、ステップS201の処理は、この加点情報に基づき、状況値テーブル28上の、発生エラーの種類に応じた各被疑部品の状況値に、発生エラーに応じた値(加点情報中の点数)を加算する処理となっている。
尚、図6に示した加点情報において、点数が0となっている対応部品の状況値には、0を加算しても、0を加算しなくても良い。
図4に戻って、スレーブCM用エラー処理の説明を続ける。
ステップS201の処理を終えたスレーブCMは、自身が、マスターCMの状態判定や切り離しを行う状態判定CMとして動作しているか否かを判断する(ステップS202)。詳細については後述するが、状態判定CMとして動作することがあるスレーブCMは、特定のスレーブCM(後述する次期マスターCM)だけである。また、当該特定のスレーブCM(次期マスターCM)は、特定の状況になった場合にのみ、状態判定CMとして動作する。従って、スレーブCMは、通常、ステップS202の処理(判断)後に、ステップS205の処理を実行する。
ステップS205にて、スレーブCMは、ステップS201の処理で値を更新した各状況値について、状況値が転送しきい値を超えたか否かをチェックする。ここで、転送しきい値とは、加点情報(図6)中の大部分の点数よりも大きな値(通常、加点情報中の点数の最大値の2、3倍の値)となるように、予め定められる値のことである。
このステップS205の処理は、情報処理装置10内の正常なCM11の数(以下、CM数と表記する)によって転送しきい値を変える処理となっている。具体的には、ステップS204の処理は、CM数≧4が成立している場合には、転送しきい値=“48”であるとして行われ、CM数≧4が成立していない場合には、転送しきい値=“32”であるとして行われる処理となっている。
ステップS205の処理を終えたスレーブCMは、状況値が転送しきい値を超えている部品(以下、転送しきい値超え部品と表記する)が存在していなかった場合(ステップS
206;NO)には、このスレーブCM用エラー処理(図4の処理)を終了する。
一方、1個以上の転送しきい値超え部品が存在していた場合(ステップS206;YES)、スレーブCMは、マスターCMが転送しきい値超え部品である(いずれかの転送しきい値超え部品がマスターCMである)か否かを判断する(ステップS207)。
マスターCMが転送しきい値超え部品ではなかった場合(ステップS207;NO)、スレーブCMは、ステップS208にて、状況値テーブル28(状況値テーブル28上の全状況値)をマスターCMに転送する。その後、スレーブCMは、状況値テーブル28をクリアする処理と、テーブルクリア時刻を、“現在時刻+規定時間(例えば1分)”に更新する処理とを行う。ここで、“状況値テーブル28をクリアする”とは、“状況値テーブル28上の各状況値を“0”に書き換える”ということである。また、テーブルクリア時刻とは、その時刻になったときに、スレーブCMが状況値テーブル28をクリアする時刻のことである。
スレーブCMは、ステップS208にて上記処理を行ってから、スレーブCM用エラー処理を終了する。
スレーブCM用エラー処理の残りの各ステップの内容を説明する前に、ここで、マスターCMの動作を説明しておくことにする。
マスターCMは、他CM11との通信時に通信エラーが発生した場合、図7に示した手順のマスターCM用エラー処理を実行する。
すなわち、他CM11との通信時に通信エラーが発生した場合、マスターCMは、まず、自身のメモリ26上の状況値テーブル28上の、発生エラーの種類に応じた各被疑部品の状況値に発生エラーに応じた値を加算する処理(ステップS301)を行う。この処理は、図5や図6を用いて説明したステップS201の処理と同内容の処理である。
次いで、マスターCMは、状況値テーブル28上の各状況値について、状況値が切り離ししきい値を超えているか否かをチェックする(ステップS302)。ここで、切り離ししきい値とは、上記した転送しきい値(本実施形態では、32又は48)よりも大きな値(通常、転送しきい値の数倍の値;例えば、128)となるように、予め定められる値のことである。
ステップS302の処理を終えたマスターCMは、状況値が切り離ししきい値を超えている部品(以下、切り離ししきい値超え部品と表記する)が存在しているか否かを判断する(ステップS303)。そして、マスターCMは、切り離ししきい値超え部品が存在していなかった場合(ステップS303;NO)には、このマスターCM用エラー処理を終了する。
一方、1個以上の切り離ししきい値超え部品が存在していた場合(ステップS303;YES)、マスターCMは、自身が切り離ししきい値超え部品である(いずれかの切り離ししきい値超え部品が自CM11である)か否かを判断する(ステップS304)。
自身が切り離ししきい値超え部品ではなかった場合(ステップS304;NO)、マスターCMは、ステップS305にて、各切り離ししきい値超え部品を他の部分から切り離すための処理を行う。具体的には、マスターCMは、このステップS305にて、各CM11(各CM11内のプログラム)の状態を、各切り離ししきい値超え部品を利用しない状態に移行させる処理や、切り離したCM11をホストに通知する処理等を行う。そして
、ステップS305の処理を終えたマスターCMは、このマスターCM用エラー処理を終了する。
一方、自身が切り離ししきい値超え部品であった場合(ステップS304;YES)、マスターCMは、自身を他の部分から切り離すことなく、このマスターCM用エラー処理を終了する。
また、既に説明したように(図4参照)、スレーブCMは、所定条件が満たされた場合、マスターCMに状況値テーブル28を転送する。スレーブCMからの状況値テーブル28を受信した場合、マスターCMは、図8に示した手順のテーブル受信時用処理を実行する。
すなわち、状況値テーブル28を受信したマスターCMは、まず、受信した状況値テーブル28中の各部品の状況値を、自身の状況値テーブル28上の同部品の状況値に加算する(ステップS401)。
その後、マスターCMは、マスターCM用エラー処理(図7)のステップS302〜S305の処理と全く同内容の処理(ステップS402〜S405)を行ってから、このテーブル受信時用処理を終了する。
マスターCMは、上記のような処理に加えて、自CM11内の状況値テーブル28を規定時間毎にクリアする処理も行う。
図4に戻って、スレーブCM用エラー処理の説明を続ける。
スレーブCMは、マスターCMが転送しきい値超え部品であった場合(ステップS207;YES)には、ステップS209にて、次期マスターCM特定処理を行う。
この次期マスターCM特定処理は、マスターCM特定処理(図3)と同手順で、マスタ−CMを除いたCM11の中から最も優先順位が高い正常なCM11を探索し、探索したCM11を次期マスターCMとして特定する(探索したCM11が次期マスターCMであることを記憶する)処理である。
次期マスターCM特定処理を終えたスレーブCMは、自身が次期マスターCMであるか否かを判断する(ステップS210)。そして、スレーブCMは、自身が次期マスターCMではなかった場合(ステップS210;NO)には、ステップS211にて、まず、状況値テーブル28を次期マスターCMに転送する。そして、スレーブCMは、状況値テーブル28をクリアする処理と、テーブルクリア時刻を“現在時刻+規定時間”に更新する処理とを行ってから、ステップS211の処理及びスレーブCM用エラー処理(図4の処理)を終了する。
一方、自身が次期マスターCMであった場合(ステップS210;YES)、スレーブCMは、ステップS212にて、生存確認実施回数を“0”に初期化し、実施回数クリア時刻に“現在時刻+規定時間”を設定する処理を行う。さらに、スレーブCMは、このステップS212にて、状態判定CMとしての動作を開始したこと(状態判定CMとして動作していること)を記憶する処理も行う。尚、生存確認実施回数とは、後述する生存確認処理(図10)の,既定時間内の実行回数を記憶しておくための変数のことである。また、実施回数クリア時刻とは、その時刻になったときに、状態判定CM(状態判定CMとして動作している次期スレーブCM)が、状況値テーブル28をクリアして、通常のスレーブCMとしての動作を開始する時刻のことである。
ステップS212の処理を終えたスレーブCM(状態判定CMとしての動作を開始した次期マスターCM;以下、単に、状態判定CMとも表記する)は、このスレーブCM用エラー処理を終了する。
状態判定CM(状態判定CMとして動作している次期マスターCM)も、他CM11との通信時に通信エラーが発生した場合には、このスレーブCM用エラー処理を開始する。そして、状態判定CMは、ステップS201の処理を実行した後、自身が状態判定CMとして動作している(ステップS202;YES)ため、ステップS205の処理ではなく、ステップS203の処理(判断)を実行する。
ステップS203にて、状態判定CMは、自CM11内の状況値テーブル28上のマスターCMの状況値が、予め定められている生存確認しきい値(例えば、96)を超えているか否かを判断する。
そして、状態判定CMは、マスターCMの状況値が生存確認しきい値を超えていた場合(ステップS203;YES)には、ステップS204にて、生存確認処理(詳細は後述)を行ってから、このスレーブCM用エラー処理を終了する。また、状態判定CMは、マスターCMの状況値が生存確認しきい値以下であった場合(ステップS203;NO)には、生存確認処理を行うことなく、このスレーブCM用エラー処理を終了する。
既に説明したように(図4参照)、次期マスターCMではないスレーブCMは、マスターCMが転送しきい値超え備品であった場合(ステップS201;NO)、次期マスターCMに状況値テーブル28を転送する(ステップS211)。
次期マスターCMは、状況値テーブル28を受信した場合、図9に示した手順のテーブル受信時用処理を実行する。
すなわち、次期マスターCMは、状況値テーブル28を受信した場合、まず、受信した状況値テーブル28上の各部品の状況値を、自CM11内の状況値テーブル28上の,同部品の状況値に加算する(ステップS501)。
次いで、次期マスターCMは、状態判定CMとして動作しているか否かを判断する(ステップS502)。そして、次期マスターCMは、状態判定CMとして動作していない場合(ステップS502;NO)には、ステップS503にて、ステップS212(図4)と同じ処理を行う。すなわち、次期マスターCMは、ステップS503にて、生存確認実施回数を“0”に初期化し、実施回数クリア時刻に“現在時刻+規定時間”を設定する。また、次期マスターCMは、状態判定CMとしての動作を開始したことを記憶する。
ステップS503の処理を終えた次期マスターCMは、マスターCMの状況値が生存確認しきい値を超えているか否かを判断する(ステップS504)。また、次期マスターCMは、状態判定CMとして既に動作していた場合(ステップS502;YES)には、ステップS503の処理を行うことなく、このステップS504の処理(判断)を行う。
そして、状態判定CM(状態判定CMとして動作している次期マスターCM)は、マスターCMの状況値が生存確認しきい値を超えていなかった場合(ステップS504;NO)には、このテーブル受信時用処理を終了する。また、状態判定CMは、マスターCMの状況値が生存確認しきい値を超えていた場合(ステップS504;YES)には、ステップS505にて、生存確認処理を行ってから、このテーブル受信時用処理を終了する。
ステップS505(図9)及びステップS204(図4)で実行される生存確認処理は、図10に示した手順の処理である。
すなわち、マスターCMの状況値が生存確認しきい値を超えていたため、この生存確認処理を開始した状態判定CMは、まず、マスターCMに対する通信を実施(試行)する(ステップS601)。また、状態判定CMは、状況値テーブル28をクリアし、テーブルクリア時刻を“現在時刻+規定時間”に更新する処理(ステップS602)も行う。
ステップS601及びS602の処理を終えた状態判定CMは、ステップS601におけるマスターCMに対する通信が成功していた場合(ステップS603;YES)には、生存確認実施回数に“1”を加算する(ステップS604)。その後、状態判定CMは、値を更新した生存確認実施回数が、予め定められている実施回数しきい値(例えば、3)を超えているか否かを判断する(ステップS605)。
生存確認実施回数が実施回数しきい値を超えていた場合(ステップS605;YES)、状態判定CMは、ステップS606にて、マスターCMを他の部分から切り離すための処理(各CM11に構成が変わったことを通知する処理等)を行う。そして、状態判定CMは、この生存確認処理を終了する。
一方、生存確認実施回数が実施回数しきい値を超えていなかった場合(ステップS605;NO)、状態判定CMは、マスターCMを他の部分から切り離すことなく、この生存確認処理を終了する。
また、ステップS601におけるマスターCMに対する通信が失敗していた場合(ステップS603;NO)、状態判定CMは、生存確認実施回数の値をチェックすることなく、マスターCMを他の部分から切り離す(ステップS606)。そして、状態判定CMは、この生存確認処理を終了する。
以下、本実施形態に係る情報処理装置10の動作を、さらに具体的に説明する。
まず、CM#0がマスターCMである状況下、CM#3(スレーブCM)が故障した場合を例に、スレーブCMが故障した場合における情報処理装置10の動作を説明する。
この場合、図11に模式的に示してあるように、各CM11(図11では、CM#2、CM#6、CM#7)からのCM#3に対する通信(破線矢印)時に通信エラーが発生することになる。
そのため、たとえば、CM#2が、DMAポート#0を用いてCM#3に対する通信を行った場合、CM#2によりスレーブCM用エラー処理(図4)が実行される。そして、ステップS201の処理が行われる結果として、CM#2内の状況値テーブル28上のCM#3に関する状況値、CM#3のDMAポート#0に関する状況値に、たとえば、それぞれ、“3”、“8”(図6参照)が加算されることになる。
CM#2は、状態判定CMとして動作しないCM11(次期マスターCMではないCM11)である。そのため、ステップS201の処理後に実行されるステップS202では、“NO”側への分岐が行われる。そして、値を更新したいずれの状況値も転送しきい値を超えていない(ステップS206;NO)ため、状況値テーブル28がマスターCMに転送されることなく、スレーブCM用エラー処理が終了される。
CM#3との通信に失敗したCM#2は、CM#3と通信に使用するDMAポート21
を、たとえばDMAポート#1に変えてCM#3との通信を試みる。CM#3が故障している場合、この通信時にもエラーが発生するので、CM#2は、スレーブCM用エラー処理を再び実行する。その結果、ステップS201の処理が行われて、CM#2内の状況値テーブル28上のCM#3に関する状況値、CM#3のDMAポート#1に関する状況値に、たとえば、それぞれ、“3”、“8”が加算されることになる。
CM#3と通信を行う必要があるCM#2は、上記のような処理を繰り返す。従って、比較的に短時間のうちに(規定時間の経過により状況値テーブル28がクリアされる前に)、CM#3の状況値が転送しきい値を超える。そして、その結果として、CM#2内の状況値テーブル28がマスターCM(CM#0)に転送されることになる。
CM#3との通信を試みた他のCM11(図11では、CM#6及びCM#7)でも、通信エラーの発生毎にスレーブCM用エラー処理が実行される。従って、各CM11内の状況値テーブル28も、マスターCM(CM#0)に転送されることになる。
一方、マスターCM(CM#0)は、状況値テーブル28を受信する度に、テーブル受信時用処理(図8)を開始し、受信した状況値テーブル28中の各部品の状況値を、自身の状況値テーブル28上の各状況値に加算する(ステップS401)。従って、何回か状況値テーブル28を受信すると、マスターCM(CM#0)内の状況値テーブル28上のCM#3に関する状況値が切り離ししきい値を超える。そして、その結果として(ステップS403;YES)、CM#3の切り離しが行われることになる。
次に、CM#0がマスターCMであり、CM#1が次期マスターCMである場合を例に、マスターCMが故障した場合における情報処理装置10の動作を説明する。
この場合、図12に模式的に示してあるように、各CM11(図12では、CM#2、CM#6、CM#7)からのマスターCM(CM#0)に対する通信(破線矢印)時に通信エラーが発生する。
そして、通信エラーが発生したことを検出した各CM11(CM#2、CM#6、CM#7)は、『スレーブCM用エラー処理を実行してから、通信に使用するDMAポート21を変えてマスターCM(CM#0)に対する通信を試みる処理』を繰り返す。従って、比較的に短時間のうちに、各CM11内の状況値テーブル28上のマスターCM(CM#0)に関する状況値が転送しきい値を超えることになる。
マスターCM(CM#0)に関する状況値が転送しきい値を超えた場合(ステップS207;YES)、次期マスターCMではないスレーブCMは、状況値テーブル28を次期マスターCM(CM#1)に転送する(ステップS211)。
次期マスターCMは、状況値テーブル28を受信する度に、テーブル受信時用処理(図9)を開始し、受信した状況値テーブル28中の各部品の状況値を、自身の状況値テーブル28上の各状況値に加算する(ステップS501)。従って、何回か状況値テーブル28を受信すると、次期マスターCM(CM#1)内の状況値テーブル28上のマスターCM(CM#0)に関する状況値が生存確認しきい値を超えることになる。
マスターCM(CM#0)に関する状況値が生存確認しきい値を超えた場合、次期マスターCMは、生存確認処理(図10)を行う。既に説明したように、生存確認処理は、マスターCMに対する通信によりマスターCMが故障していることを確認できた場合と、生存確認処理の規定時間内の実施回数が実施回数しきい値を超えた場合とに、マスターCMを他の部分から切り離す処理となっている。
従って、マスターCM(CM#0)が実際に故障している場合には、何回目かの生存確認処理時に、マスターCMが他の部分から切り離されることになる。
以上、詳細に説明したように、本実施形態に係る情報処理装置10は、マスターCMが故障したか否かを判定して故障している場合にマスターCMを切り離す処理である生存確認処理を、以下の条件が成立したときに実行する装置となっている。
受信した状況値テーブル28中の各状況値の加算により、状況値テーブル28上のマスターCMに関する状況値が生存確認しきい値を超える。
そして、この条件は、1つのスレーブCMが、マスターCMが故障したと誤判定している場合には、通常、成立し得ない条件である。従って、本実施形態に係る情報処理装置10は、1つのスレーブCMがマスターCMを切り離すか否かを判定する上記した従来装置よりも、マスターCMを切り離すか否かの判定が正確に行える装置となっていると言うことが出来る。
《第2実施形態》
本発明の第2実施形態に係る情報処理装置は、上記した第1実施形態に係る情報処理装置10をソフトウェア的に改良した装置である。そのため、以下では、第1実施形態の情報処理装置10の説明時に用いたものと同じ符号を用いて、第2実施形態に係る情報処理装置10の動作を、第1実施形態に係る情報処理装置10と異なる部分を中心に説明する。また、以下では、第1実施形態に係る情報処理装置10内のCM11のことを、第1種CM11と表記し、第2実施形態に係る情報処理装置10内のCM11のことを、第2種CM11と表記する。
第2種CM11は、状態判定CMとしての動作内容のみが第1種CM11と異なるモジュールとなっている。
具体的には、スレーブCMである場合に第2種CM11が実行するスレーブCM用エラー処理は、上記したスレーブCM用エラー処理(図4)と基本的には同内容の処理である。ただし、第2種CM11が実行するスレーブCM用エラー処理のステップS211(第2種CM11が次期マスターCMである場合に実行するステップS211)では、他の各第2種CM11(以下、送信元CMと表記する)についての受信回数を“0”に初期化する処理も行われる。
また、第2種CM11は、次期マスターCMである場合、テーブル受信時用処理として、図13に示した手順の処理を行う。
すなわち、次期マスターCMである第2種CM11(以下、単に、次期マスターCMと表記する)は、状況値テーブル28を受信した場合、まず、状態判定CMとして動作しているか否かを判断する(ステップS701)。そして、次期マスターCMは、状態判定CMとして動作していない場合(ステップS701;NO)には、ステップS702にて、生存確認実施回数及び各送信元CMに関する受信回数を“0”に初期化し、実施回数クリア時刻に“現在時刻+規定時間”を設定する。また、次期マスターCMは、状態判定CMとしての動作を開始したことを記憶する。
ステップS702の処理を終えた次期マスターCMは、ステップS703にて、受信した状況値テーブル28上の各部品の状況値を、自CM11内の状況値テーブル28上の,同部品の状況値に加算する処理を行う。次期マスターCMは、このステップS703にて、今回、受信した状況値テーブル28の送信元CMに関する受信回数に“1”を加算する
処理も行う。
また、次期マスターCMは、状態判定CMとして既に動作していた場合(ステップS701;YES)には、ステップS702の処理を行うことなく、ステップS703の処理を行う。
ステップS703の処理を終えた次期マスターCMは、マスターCMの状況値が生存確認しきい値を超えているか否かを判断する(ステップS704)。
そして、次期マスターCMは、マスターCMの状況値が生存確認しきい値を超えていた場合(ステップS704;YES)には、それまで受信した状況値テーブル28の送信元CMが1CMであるか否かを判断する(ステップS705)。すなわち、次期マスターCMは、送信元CMに関する受信回数の中に、“0”ではない受信回数が1つしか存在していないか否かを判断する(ステップS705)。
そして、次期マスターCMは、複数の送信元CMから状況値テーブル28を受信していた場合(ステップS705;NO)には、マスターCMに対する生存確認処理(図10)を実行(ステップS706)してから、このテーブル受信時用処理を終了する。
一方、1つのCMのみから状況値テーブル28を受信していた場合(ステップS705;YES)、次期マスターCMは、その唯一の状況値テーブル28の送信元CMに対する生存確認処理を実行(ステップS707)してから、このテーブル受信時用処理を終了する。
要するに、第1実施形態に係る情報処理装置10に関して説明したように、生存確認処理の開始条件である『受信した状況値テーブル28中の各状況値の加算により、状況値テーブル28上のマスターCMに関する状況値が切り離ししきい値を超える』という条件は、1つのスレーブCMが、マスターCMが故障したと誤判定している場合には、通常、成立しない条件である。ただし、『受信した状況値テーブル28中の各状況値の加算により、状況値テーブル28上のマスターCMに関する状況値が切り離ししきい値を超える』という条件は、1つのスレーブCMがマスターCMが故障したと誤判定している場合に、成立し得ない条件ではない。
そして、上記手順を採用しておけば、1つのスレーブCMによりマスターCMの状態の誤判定により、マスターCMが誤って切り離されてしまうことを防止できる。また、誤判定しているスレーブCM(つまり、故障しているスレーブCM)を、素早く(その状況値が切り離ししきい値を超える以前に)、他の部分から切り離せることにもなる。そのため、本実施形態に係る情報処理装置10の各CM11を、上記機能を有するものとしてあるのである。
《変形形態》
上記した各実施形態に係る情報処理装置10は、各種の変形が行えるものである。たとえば、各情報処理装置10を、次期マスターCMによって、ステップS204、S706等で、生存確認処理(図10)ではなく、“マスタ−CMを切り離す処理”が行われる装置に変形することが出来る。また、各情報処理装置10を、ステップS211(図4)にて、次期マスターCMにマスターCMの状況値のみが送信される装置に変形することも出来る。
各情報処理装置10を、CM数によって、転送しきい値ではなく、切り離ししきい値及び生存確認しきい値が変わるものに変形することも出来る。また、各実施形態に係る情報
処理装置10は、ストレージシステム(RAIDシステム)用の装置であったが、上記した技術は、切り離し可能なユニットを複数個含む装置であれば適用可能なものである。従って、上記した技術に基づき、ストレージとは無関係な装置を実現することも出来る。
10 情報処理装置
11 CM
12 FRT
15 EXP
16 DE
21 DMAポート
22 CA
23 IOC
24 CPU
25 メモリコントローラ
26 メモリ
28 状況値テーブル

Claims (7)

  1. 相互に通信可能な複数の制御モジュールを含む情報処理装置であって、
    各制御モジュールは、他の各制御モジュールとの間の通信において発生したエラーの状況を反映した状況情報を、通信先の制御モジュール及び/又は自制御モジュールそれぞれについて記憶するメモリを有し、
    前記各制御モジュールは、他の各制御モジュールとの間の通信においてエラーが発生した際に、発生したエラーの種類を判別し、
    前記各制御モジュールは、前記判別されたエラーの種類に応じた値を前記状況情報に加算し、
    前記複数の制御モジュールのうち、ある制御モジュールに障害が発生しているか否かを判定する判定対象制御モジュールとは異なる制御モジュールは、判定対象制御モジュールとは異なる2以上の制御モジュールのメモリ上に記憶されている当該判定対象制御モジュールの状況情報に基づいて、当該判定対象制御モジュールに障害が発生しているか否かを判定する
    ことを特徴とする情報処理装置。
  2. 前記複数の制御モジュールは、マスター制御モジュールとして動作するマスターモジュールと、次期マスター制御モジュールとして動作する次期マスターモジュールと、それぞれ、スレーブ制御モジュールとして動作する複数のスレーブモジュールとを含み、
    前記マスターモジュールに障害が発生しているか否かを判定する際に、次期マスターモジュールが、自モジュール内のメモリ上の前記マスターモジュールの状況情報と前記スレーブモジュールから通知された前記マスターモジュールの状況情報とに基づいて、前記マスターモジュールに障害が発生しているか否かを判定する
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記マスターモジュールは、
    他の各制御モジュールとの間の通信において発生したエラーの種類に基づき、自モジュール内の前記メモリ上の、通信先の制御モジュールについての状況情報及び/又は自モジュールについての状況情報を更新する第1更新処理と、
    次期マスターモジュール及び各スレーブモジュールから送信されてくる各制御モジュ
    ールについての状況情報の値を、自モジュール内の前記メモリ上の、各制御モジュールについての状況情報の値に加算する第1加算処理と、
    自モジュール内のメモリ上の状況情報の値が、第1所定値以上となった場合に、スレーブモジュール又は次期マスターモジュールに障害が発生した判定する第1判定処理と、
    を行い、
    各スレーブモジュールは、
    前記第1更新処理と、
    自モジュール内のメモリ上のいずれかのスレーブモジュール又は次期マスターモジュールの状況情報の値が、前記第1所定値よりも小さな第2所定値以上となった場合に、当該メモリ上の各制御モジュールの状況情報を前記マスターモジュールに送信し、当該メモリ上の前記マスターモジュールについての状況情報の値が前記第2所定値以上となった場合に、当該メモリ上の前記マスターモジュールについての状況情報を前記次期マスターモジュールに送信する第1送信処理と、
    を行い、
    次期マスターモジュールは、
    前記第1更新処理と、
    自モジュール内のメモリ上のいずれかのスレーブモジュール又は自モジュールの状況情報の値が前記第2所定値以上となった場合に、当該メモリ上の各制御モジュールの状況情報の値を前記マスターモジュールに送信する第2送信処理と、
    各スレーブモジュールから通知された前記マスターモジュールの状況情報の値を自モジュール内のメモリ上の前記マスターモジュールの状況情報の値に加算する第2加算処理と、
    自モジュール内の前記メモリ上の前記マスターモジュールの状況情報の値が第3所定値以上となった場合に、前記マスターモジュールに障害が発生したと判定する第2判定処理と、
    を行う
    ことを特徴とする請求項2記載の情報処理装置。
  4. 各制御モジュールは、前記複数の制御モジュールの識別情報及び動作状況に基づき、自モジュールが、前記マスターモジュール、前記次期マスターモジュール、前記スレーブモジュールのいずれであるかを把握し、把握したモジュールとして動作する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記第2判定処理が、
    自モジュール内の前記メモリ上の前記マスターモジュールについての状況情報の値が前記第3所定値以上となった場合、前記マスターモジュールとの間の通信を試み、当該通信に成功し、且つ、所定期間内における当該通信の成功回数が所定回数未満であった場合には、前記マスターモジュールに障害が発生しているか否かを判定し、当該通信に失敗した場合と、所定期間内における当該通信の成功回数が所定回数以上となった場合とには、前記マスターモジュールに障害が発生したと判定する処理である
    ことを特徴とする請求項3又は4に記載の情報処理装置。
  6. 前記次期マスターモジュールは、さらに、前記マスターモジュールについての状況情報の受信回数をスレーブモジュール別に計数して管理する計数・管理処理を、行い、
    前記第2判定処理が、
    自モジュール内の前記メモリ上の前記マスターモジュールについての状況情報の値が第3所定値以上となった場合、前記計数・管理処理により管理されている複数のスレーブモジュールについての受信回数が“1”以上となっているか否かを判断し、複数のスレーブモジュールについての受信回数が“1”以上となっていた場合に限り、前記マスターモジ
    ュールに障害が発生したと判定する処理である
    ことを特徴とする請求項3又は4に記載の情報処理装置。
  7. 相互に通信可能な複数の制御モジュールの動作状態を監視する動作状態監視方法であって、
    各制御モジュールは、他の各制御モジュールとの間の通信において発生したエラーの状況を反映した状況情報を、通信先の制御モジュール及び/又は自制御モジュールそれぞれについて記憶するメモリを有し、
    前記各制御モジュールは、他の各制御モジュールとの間の通信においてエラーが発生した際に、発生したエラーの種類を判別し、
    前記各制御モジュールは、前記判別されたエラーの種類に応じた値を前記状況情報に加算し、
    前記複数の制御モジュールのうち、ある制御モジュールに障害が発生しているか否かを判定する判定対象制御モジュールとは異なる制御モジュールは、判定対象制御モジュールとは異なる2以上の制御モジュールのメモリ上に記憶されている当該判定対象制御モジュールの状況情報に基づいて、当該判定対象制御モジュールに障害が発生しているか否かを判定する
    ことを特徴とする動作状態監視方法。
JP2011279030A 2011-12-20 2011-12-20 情報処理装置及び動作状態監視方法 Active JP5810891B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011279030A JP5810891B2 (ja) 2011-12-20 2011-12-20 情報処理装置及び動作状態監視方法
KR1020120117074A KR101437735B1 (ko) 2011-12-20 2012-10-22 정보 처리 장치 및 동작 상태 감시 방법
US13/658,926 US9164824B2 (en) 2011-12-20 2012-10-24 Information processing apparatus and operation status monitoring method
EP12190347.0A EP2608034A1 (en) 2011-12-20 2012-10-29 Information processing apparatus and operation status monitoring method
CN2012104231114A CN103197997A (zh) 2011-12-20 2012-10-29 信息处理设备和操作状态监视方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011279030A JP5810891B2 (ja) 2011-12-20 2011-12-20 情報処理装置及び動作状態監視方法

Publications (2)

Publication Number Publication Date
JP2013130977A JP2013130977A (ja) 2013-07-04
JP5810891B2 true JP5810891B2 (ja) 2015-11-11

Family

ID=47458637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011279030A Active JP5810891B2 (ja) 2011-12-20 2011-12-20 情報処理装置及び動作状態監視方法

Country Status (5)

Country Link
US (1) US9164824B2 (ja)
EP (1) EP2608034A1 (ja)
JP (1) JP5810891B2 (ja)
KR (1) KR101437735B1 (ja)
CN (1) CN103197997A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185582B2 (en) * 2012-11-28 2019-01-22 Red Hat Israel, Ltd. Monitoring the progress of the processes executing in a virtualization environment
US10063439B2 (en) 2014-09-09 2018-08-28 Belkin International Inc. Coordinated and device-distributed detection of abnormal network device operation
US9026840B1 (en) 2014-09-09 2015-05-05 Belkin International, Inc. Coordinated and device-distributed detection of abnormal network device operation
TWI546682B (zh) * 2015-07-06 2016-08-21 群暉科技股份有限公司 藉助於混和管理路徑來管理一儲存系統之方法與裝置
JP6898561B2 (ja) * 2017-09-08 2021-07-07 富士通株式会社 機械学習プログラム、機械学習方法、および機械学習装置
DE102018205390A1 (de) * 2018-04-10 2019-10-10 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fehlerbehandlung in einer Kommunikation zwischen verteilten Software Komponenten

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390326A (en) * 1993-04-30 1995-02-14 The Foxboro Company Local area network with fault detection and recovery
JPH08329023A (ja) * 1995-05-30 1996-12-13 Shikoku Nippon Denki Software Kk 並列電子計算機システム
KR0174604B1 (ko) * 1995-07-24 1999-04-01 김광호 전자식 교환기에서 프로세서 상태확인 분산처리방법
JPH11249931A (ja) 1998-03-04 1999-09-17 Nec Corp 事象従監視装置
JP2001007892A (ja) 1999-06-22 2001-01-12 Sumitomo Electric Ind Ltd ネットワーク管理方法およびネットワーク管理システム
US6766470B1 (en) * 2000-03-29 2004-07-20 Intel Corporation Enhancing reliability and robustness of a cluster
JP2002344453A (ja) * 2001-05-21 2002-11-29 Omron Corp 通信エラーモニタシステムおよびスレーブユニットおよびネットワークコンフィグレータ
DE10148325A1 (de) * 2001-09-29 2003-04-17 Daimler Chrysler Ag Buswächtereinheit
JP4871687B2 (ja) * 2005-10-03 2012-02-08 日立オートモティブシステムズ株式会社 車両制御システム
JP4584853B2 (ja) 2006-03-17 2010-11-24 富士通株式会社 被疑箇所特定装置および処理方法
US20070283104A1 (en) * 2006-05-31 2007-12-06 International Business Machines Corporation Concurrent Hardware Selftest for Central Storage
CN100471156C (zh) * 2007-03-07 2009-03-18 今创集团有限公司 数据总线桥接器及其工作方法
CN100492223C (zh) * 2007-03-30 2009-05-27 哈尔滨工程大学 发动机冗余电控系统切换电路
JP4512621B2 (ja) * 2007-08-06 2010-07-28 株式会社日立製作所 分散システム
US7870425B2 (en) * 2007-11-23 2011-01-11 International Business Machines Corporation De-centralized nodal failover handling
US7877627B1 (en) * 2008-12-18 2011-01-25 Supercon, L.L.C. Multiple redundant computer system combining fault diagnostics and majority voting with dissimilar redundancy technology
US8291070B2 (en) * 2009-08-31 2012-10-16 Red Hat Israel, Ltd. Determining an operating status of a remote host upon communication failure

Also Published As

Publication number Publication date
US20130159773A1 (en) 2013-06-20
CN103197997A (zh) 2013-07-10
JP2013130977A (ja) 2013-07-04
US9164824B2 (en) 2015-10-20
EP2608034A1 (en) 2013-06-26
KR101437735B1 (ko) 2014-09-03
KR20130071346A (ko) 2013-06-28

Similar Documents

Publication Publication Date Title
JP5810891B2 (ja) 情報処理装置及び動作状態監視方法
KR102419351B1 (ko) 관리 컨트롤러 및 관리 컨트롤러를 포함하는 섀시의 동작 방법
JP4641546B2 (ja) 入出力(i/o)エラーをハンドリングするための方法及びシステム
US7802127B2 (en) Method and computer system for failover
JP5511960B2 (ja) 情報処理装置、及びデータの転送方法
JP4940967B2 (ja) ストレージシステム、ストレージ装置、ファームウェアの活性交換方法、ファームウェアの活性交換プログラム
US20160077752A1 (en) Fibre Channel Storage Array Methods for Handling Cache-Consistency Among Controllers of an Array and Consistency Among Arrays of a Pool
JP2008299509A (ja) 仮想計算機システム
JP2009265805A (ja) フェイルオーバ方法、プログラム、フェイルオーバ装置およびフェイルオーバシステム
JP2006127201A (ja) ストレージシステムおよび導通確認方法
US11184435B2 (en) Message transmission method and apparatus in cluster file system
JP2017010390A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
WO2015033433A1 (ja) ストレージ装置及び障害部位特定方法
EP2784677A1 (en) Processing apparatus, program and method for logically separating an abnormal device based on abnormality count and a threshold
JP2020021313A (ja) データ処理装置および診断方法
JP6777848B2 (ja) 制御装置、及びストレージ装置
US20130007512A1 (en) Managing storage providers in a clustered appliance environment
JP4806382B2 (ja) 冗長化システム
JP2009110218A (ja) 仮想化スイッチおよびそれを用いたコンピュータシステム
US8667243B2 (en) Storage apparatus, controller, and method of controlling controller
JP4483947B2 (ja) 入出力制御装置
JP3688217B2 (ja) マルチプロセッサ初期化/並行診断方法
JP5422706B2 (ja) 管理システム
JP5147955B2 (ja) 仮想計算機システム
WO2016125294A1 (ja) 計算機システム、管理装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150831

R150 Certificate of patent or registration of utility model

Ref document number: 5810891

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150