JP3942216B2 - 二重化された監視/制御プロセッサによるシステム監視・制御方法およびシステム監視・制御装置 - Google Patents
二重化された監視/制御プロセッサによるシステム監視・制御方法およびシステム監視・制御装置 Download PDFInfo
- Publication number
- JP3942216B2 JP3942216B2 JP31079596A JP31079596A JP3942216B2 JP 3942216 B2 JP3942216 B2 JP 3942216B2 JP 31079596 A JP31079596 A JP 31079596A JP 31079596 A JP31079596 A JP 31079596A JP 3942216 B2 JP3942216 B2 JP 3942216B2
- Authority
- JP
- Japan
- Prior art keywords
- monitoring
- scf
- processor
- notification event
- controlling
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
Description
【発明の属する技術分野】
中規模以上の計算機システムにおいては、通常、メインプロセッサとは独立して、環境、装置、電源といったシステムの監視、制御、保守の機能を担当する監視/制御プロセッサが設けられる(以下、これを必要に応じてSCF:SystemControlFacilityと呼ぶ)。
本発明は、同一システム内に二重化された監視/制御プロセッサを持つ計算機システムに関し、特に、本発明は二重化された監視/制御プロセッサによるシステムの監視・制御方法およびシステム監視・制御装置に関するものである(以下、上記二重化監視/制御プロセッサ間の通信を必要に応じてSCF間通信またはSCFLinkと呼ぶ)。
【0002】
【従来の技術】
従来から、資源を二重化した計算機システムが知られているが、これらのシステムにおいては、SCF自体は一つであったため、SCF自体が故障した場合は、システムとして動作不能(システムダウン)となった。
また、SCF自体を二重化する試みもなされているが、SCFを二重化した場合でも、従来においては両SCF間通信が行えなかったため、共通資源の排他制御や片系資源の故障時の動作保証が困難であった。
【0003】
【発明が解決しようとする課題】
同一システム内で各種資源を二重化することにより、システムとしてノーダウン、ノーストップを可能とする高信頼性システムを実現することができる。
しかしながら、資源を二重化した場合、それぞれの資源をSCFが監視/制御して一つのシステムの動作を実現しなければならず、また、共通資源については、各SCF間での制御が競合しないように排他制御を行う必要があり、常に他系の状態を監視し、把握しておく必要がある。
【0004】
本発明は上記した事情に鑑みなされたものであって、本発明の第1の目的は、二重化したSCF間での通信処理を実現可能とすることにより、両SCF間の処理に一貫性を持たせるとともに、片系異常時でも適切な処理を迅速に行うことを可能とし、ノーストップ・システムを実現することである。
本発明の第2の目的は、共通資源の排他制御や、片系故障時の切り離し処理および他系資源の監視引き継ぎを容易にすることである。
本発明の第3の目的は、二重化した両SCF間の通信異常を迅速に検出し、ハード異常なのか他系未実装による通信異常なのかを認識できるようにするとともに、受信エラーの検出や受信エラー発生時の他系への通知処理および再送事象の検索処理を容易にすることである。
【0005】
本発明の第4の目的は、システム動作中のまま、片系のSCFを交換することを可能とするとともに、活性挿入されたSCFに対して、動作中のSCFの内部情報を引き継ぐことができるようにし、あたかもずっと二重化状態で動いていたように動作をさせることである。
本発明の第5の目的は、二重化した両SCF間でお互いの機能レベルの自動認識を可能とすることにより、機能版数が異なった状態で動作することをなくし、二重化システムの動作を常に保証することである。
本発明の第6の目的は、他系の自己診断時の異常を迅速に検出できるようにし、自己診断異常時に適切な処理を行えるようにすることである。
【0006】
【課題を解決するための手段】
図1は本発明の原理図である。同図において、1はメインプロセッサ、2はメインプロセッサと監視/制御プロセッサ間を接続するバス、3a,3bは、監視、制御、保守等を行う監視/制御プロセッサであり、監視/制御プロセッサ3a,3bは同一の構成を有し、両系の間に通信手段4が設けられている。
5は監視/制御プロセッサ3a,3bがそれぞれ監視・制御する固有資源、6は監視/制御プロセッサ3a,3bの両方が監視・制御する共有資源である。
【0007】
図1に示すように、本発明においては次のようにして前記課題を解決する。
(1)メインプロセッサ1とは独立して設けられたシステムの監視、制御、保守を行うための監視/制御プロセッサを二重化し、二重化された監視/制御プロセッサ3a,3bによりシステムの監視・制御を行う前記二重化された監視/制御プロセッサにより、情報処理システムの監視・制御を行う情報処理装置のシステム監視・制御方法において、監視/制御プロセッサ3a,3b間相互で通信を行うための通信手段4を設け、前記二重化された監視/制御プロセッサのうち、送信権を有する他の監視/制御プロセッサから通知事象を受信したとき、一の監視/制御プロセッサが通知事象の送信権を獲得するステップと、前記一の監視/制御プロセッサが、他の監視/制御プロセッサへの通知事象に、シーケンス番号を付与するステップと、前記一の監視/制御プロセッサが、シーケンス番号が付与された通知事象を前記他の監視/制御プロセッサに送信するステップと、前記他の監視/制御プロセッサから受信エラーの発生を原因とする再送依頼が前記シーケンス番号を用いてなされたときに、前記他の監視/制御プロセッサからの受信したシーケンス番号が付与されている通知事象を前記他の監視/制御プロセッサに再送するステップを設ける。
【0008】
(2)上記(1)において、通知事象の送信権の放棄を行うステップをさらに有し、前記ステップは、通知事象の送信権を獲得した一の監視/制御プロセッサが、送信権の獲得から一定時間が経過することにより保持時間タイムアウトが発生した場合に、他の監視/制御プロセッサに対して通知事象を送信することにより、前記通知事象の送信権の放棄を行う。
(3)上記(2)において、前記一の監視/制御プロセッサが、送信権を有する他の監視/制御プロセッサから通知事象の送信権を獲得するステップは、送信権を有さない一の監視/制御プロセッサにおいて、前記送信権放棄から一定時間の経過により獲得時間のタイムアウトが発生した場合に、前記一の監視/制御プロセッサが通知事象の送信権を獲得する。
【0009】
(4)上記(3)において、エラー判定を行うステップをさらに有し、前記ステップは、前記獲得時間のタイムアウトが発生した場合に、他の監視/制御プロセッサで前記送信権を獲得した一の監視/制御プロセッサにおいてエラーが発生したものと判断するステップである。
(5)情報処理装置のシステム監視・制御装置において、メインプロセッサとは独立して設けられ、情報処理システムの監視、制御又は保守を行うための二重化された監視/制御プロセッサと、前記二重化された監視/制御プロセッサ間で、通知事象の通信を行なうための通信手段とを有し、前記二重化された監視/制御プロセッサのうち一の監視/制御プロセッサは、送信権を有する他の監視/制御プロセッサから通知事象を受信したとき通知事象の送信権を獲得し、他の監視/制御プロセッサへの通知事象にシーケンス番号を付与し、前記シーケンス番号を付与された通知事象を、他の監視/制御プロセッサに送信するとともに、前記他の監視/制御プロセッサから受信エラーの発生を原因とする再送依頼が前記シーケンス番号を用いてなされたときに、前記他の監視/制御プロセッサからの受信したシーケンス番号が付与されている通知事象を前記他の監視/制御プロセッサに再送する。
【0010】
(6)上記(5)において、二重化された監視/制御プロセッサはそれぞれ送信権保持タイマを有し、通知事象の送信権を獲得した一の監視/制御プロセッサにおいて、前記送信権保持タイマが、送信権の獲得から一定時間の経過によりタイムアウトが発生した場合に、他の監視/制御プロセッサに対して通知事象を送信することにより、前記通知事象の送信権の放棄を行う。
【0011】
(7)上記(6)において、二重化された監視/制御プロセッサはそれぞれ送信権獲得タイマを有し、送信権を有さない一の監視/制御プロセッサにおいて、前記送信権の放棄から一定時間の経過により、前記送信権獲得タイマにタイムアウトが発生した場合に、前記一の監視/制御プロセッサに通知事象の送信権を付与する。
【0012】
(8)上記(7)おいて、二重化された監視/制御プロセッサはそれぞれ、前記送信権獲得タイマにおいてタイムアウトが発生した場合に、他の監視/制御プロセッサでエラーが発生したものと判断する。
【0013】
以上のように、本発明においては、お互いの状態を把握しながらメインプロセッサに対して同じ動作を行うことができ、二重化された監視/制御プロセッサに全体として一つの動作を行わせることができる。
また、片系異常時、これを迅速に検出し、適切な処理(システムダウンしないように、正常な系で制御)を継続することが可能となる。
また、送受信した全ての事象をシーケンス番号により管理することができ、送信側では、送信した事象の記憶と、再送依頼時の再送事象の取り出しが容易となる。
さらに、受信側では、事象単位のシーケンスチェックによって、未受信事象の検出が可能となり、送信側への再送依頼もエラーとなったシーケンス番号を通知するだけでよく、処理が簡略化される。
【0014】
さらに、一定時間、事象( alive message) が通知されなかったことをタイマのタイムアウトにより知ることができ、タイムアウトにより他系に何らかの異常が発生したことを知ることが可能となる。
また、上記事象( alive message) の送信権をいずれか一方の系が持つという機能を利用することにより、共通資源のアクセス権等の排他制御を行うことが可能となる。
また、通信異常を全て受信側で検出することができ、また、検出機構によって通信異常の原因の予測が可能となり、通信異常に対して適切な処理を行うことが可能となる。
また、通信異常が発生した場合、これをいち早く検出し、適切な処理を行うことによって、通信異常が発生した場合であってもシステムの動作を保証することができる。
【0018】
【発明の実施の形態】
図2は、本発明の実施例のシステムの構成と監視資源を示す図である。同図において、10はメインプロセッサ、12,13は二重化されたSCFであり(SCF12,13を、それぞれ#A系SCF12、#B系SCF13という)、#A系、#B系のSCF12,13は同一の構成を備えている。
上記メインプロセッサ10と各SCF12,13はSCバス(SCFとメインプロセッサ間通信線)11で接続されている。
14はSCF12,13をハード的に接続する信号線(SCFLink)であり、後述するようにSCF間通信レジスタに接続されている。
15はRS232Cインタフェース、16は外部無停電電源装置(外部UPS)、17は外部設備、EPCは外部電源制御インタフェース、18は拡張装置、RCIは拡張装置制御インタフェース、19は拡張装置電源、EDPCIは拡張装置電源制御インタフェース、20は温度センサ、21はファンである。
また、22はオペレータ操作パネル、23はサブ電源装置(PSU)、24は内蔵無停電電源装置(UPS)、25はメイン電源装置(PDU)である。
【0019】
図2に示すように、各SCF12,13には二重化された監視資源が接続されているが、外部無停電電源装置(外部UPS)16、拡張筐体制御インタフェースRCI、温度センサ20等は固有資源である。
また、メイン電源(PDU)25、内蔵無停電電源装置(UPS)24、ファン21、オペレータ操作パネル22等は共用資源であり、両系から監視可能であ。
それぞれのSCF12,13は、上記したようにSCバス11によってメインプロセッサと接続されているが、両系で監視している資源の事象は、いずれかの系から一回だけ通知する必要があり、また、他系の通知担当資源の事象でも、例えば、いずれかのSCバスが断線した場合等には、正常な系から代替通知が行えるように構成されている。
【0020】
次に本発明の実施例の各部の構成および動作について説明する。
(1)SCF間通信
図3は本発明の実施例のSCF間通信の概略構成を示す図である。同図において、10はメインプロセッサ、11はSCバス、12,13は二重化されたSCFボードである。
#A系SCFボート12、#B系SCFボード13は、SCF間通信を行うため、それぞれSCF間通信用レジスタ12a,13aを備えており、SCF間通信用レジスタ12a,13aは受信用レジスタECOMR1と送信用レジスタECOMR2から構成されている。
#A系SCFボード12の受信用レジスタECOMR1と#B系SCFボード13の送信用レジスタECOMR2はハード的にシリアル転送を行う信号線14により接続されており、また、#B系SCFボード12の受信用レジスタECOMR1と#A系SCFボード12の送信用レジスタECOMR2は、同様な信号線14により接続されており、送信用レジスタECOMR2にデータを書き込むと、他系のSCFに送信され、受信用レジスタECOMR1に上記データが書き込まれる。
12b,13bは送受信処理を行うSCFファームウエア、12c,13cはSCF制御用CPUである。
【0021】
図4は、SCF間通信用レジスタ12a,13aにおける受信用および送信用レジスタECOMR1,ECOMR2の構成を示す図である。
受信用および送信レジスタECOMR1,ECOMR2は同図に示すように、16ビット構成であり、下位9ビット(FCR,ECOND)は共通のデータ領域、ビット15(INT)は割り込みに使用される。
送信用レジスタECOMR2のINTビットに1を設定すると他系の受信用レジスタECOMR1のINTビットに1がセットされ、その系のSCF制御用CPUに割り込みが通知される。
また、ビット14(PERR)にはパリティ異常時に1がセットされる。
すなわち、16ビットのレジスタに1ビットのパリティがハードウェアで付加され、受信時にハードウェアでパリティチェックを行い、パリティ異常時にビット14(PERR)に1がセットされる。
【0022】
図3、図4において、送信側のSCFファームウェア12bまたは13bは他系への通知事象が発生すると、通知データを送信用レジスタECOMR2に書き込み、INTビットに1をセットする。
このデータは信号線14を介して受信側のSCFに送信され、受信用レジスタECOMR1に書き込まれる。
受信用レジスタECOMR1のINTビットに1が書き込まれると、SCF制御用CPUに割り込みが上がり、CPUから起動されたSCFファームウェア12bまたは13bの割り込みハンドラは受信用レジスタECOMR1を読み取り、SCF間通信が実現される。
【0023】
図5はSCF間通信レジスタのアクセス方法を示す図である。
本実施例のSCF間通信レジスタ12a,13aは、同図に示すように、1バイトずつのREAD/WRITEしか行うことができない。
従って、複数バイトを送受信できるようにするため、コマンド方式によりデータ送信を行い、送信するデータ長をコマンド毎にあらかじめ規定する。また、通知事象発生時の送信データ長は不定なので、1パケットの送信データの先頭と最後に必ずコマンドを付して1バイトずつ送信を行う。
図6はSCF間通信レジスタ12a,13aの使い方を説明する図であり、同図に示すように、送信データがコマンドの場合には、送信用レジスタECOMR2のビット15のINT、ビット8のFCRをそれぞれ1にセットし、0〜7ビットのECONDの上位4ビットにコマンド種別を、また、下位4ビットに詳細コードをセットする。
また、送信データがデータの場合には、ECOMR2のビット15のINTを1に、ビット8のFCRを0にセットし、0〜7ビットのECONDにデータを設定する。
【0024】
図7はコマンド別送信形式を示す図であり、同図に示すように、コマンドには以下のものがあり、次の形式を持つ。
▲1▼「フェーズ通知」
自己診断中に送信されるコマンドであり、詳細コードは、自己診断フェーズを示すフェーズ番号である。
▲2▼「自己診断エラー通知」
自己診断エラーが発生したとき通知されるコマンドであり、詳細コードはコマンドシーケンス番号(後述する)である。また、送信データは、ログコードと、オペレータ操作パネル22に設けられた液晶表示装置(以下、LCDという)の上段および下段への表示コードである。
▲3▼「機能版数通知」
SCFの機能レベル(以下、機能版数という)を通知するためのコマンドであり、「初期通知」と、SCFが非活性(SCFが動作中でない)であることを通知する「非活性通知」、SCFが活性状態であるとき通知される「活性応答」があり、詳細コードにより種別が通知される。また、送信データは自系の機能版数である。
【0025】
▲4▼「alive message 」
両系SCF間で一定時間毎にある決まった通知事象(この通知事象を以後、alive message という)を交換することにより、常に他系の状態を監視することができる(alive message の交換については後述する)。
図7の「alive message 」は上記したalive message を通知するためのコマンドであり、「通常通信」と「送信異常時」があり、詳細コードは、シーケンス番号である。
▲5▼「再送依頼」
受信エラーが発生したとき再送依頼を行うためのコマンドであり、詳細コードはエラー検出したシーケンス番号である。
▲6▼ 「データ開始」
データ開始を示すコマンドであり、詳細コードはシーケンス番号、送信データは送信データ+終了コードである。
▲7▼ 「データ終了」
送信データの終了を示すコマンドであり、詳細コードは、送信データ長であり、送信データは送信したデータのサムデータである。
【0026】
図5において、送信は次のように行われる。
(a) 送信は必ず1バイト単位とし、送信側のSCFは、1バイト書き込んだ後、続けてデータを書き込む場合は、相手が読み取ったことを確認せずに、一定時間以上の間隔を空けて、データを書き込む(他系が読み取る前に、次のデータを書き込んでしまうオーバランのチェックは受信側で行う)。
(b) 受信側は、1回の割り込みが上がると受信用レジスタECOMR1を一回リードして他系からの通知データを読み取る。
(c) 複数バイトのデータ送信中に、alive message 通知または通知事象が発生した場合は、送信中のデータ送信が全て完了するまで待ってから送信する。
(d) 但し、受信エラー時の再送依頼を送信する場合は、複数バイトデータの送信完了を待たずに再送依頼を送信中のデータの間に割り込んで送信する。
【0027】
図8は通知事象発生時の送信シーケンスを示す図であり、同図に示すように、通知事象が発生すると、データ開始コマンドを送信したのち、データを1バイト目から最終バイト目まで送信する。受信側では、該受信データを記憶する。
そして、データ終了コマンドが通知されると、受信側では、終了コマンドにより送られたデータ長データと実際に受信したデータ長を比較チェックする。
さらに、送信側から1パケットの送信データの全ての和であるサムデータが送信されてくると、サムチェックを行う。
【0028】
図9は複数バイト送信中の通知事象発生時の処理を示す図である。
同図に示すように、通知事象Aが発生し通知事象Aのデータを送信し、nバイト目まで送信したとき、alive message 等の通知事象Bが発生しても、このデータは送信待ちになる。一方、通知事象Aの送信中に再送依頼による通知事象Cが発生すると再送依頼は即送信され、受信側でエラー処理(再送処理)が行われる。そして、通知事象Aの送信が終了した後に、前記送信待ち状態であった通知事象Bが送信される。
【0029】
図10はSCF間通信におけるシーケンスチェック処理を示す図である。
SCF間通信を行う際、通知事象にシーケンス番号を付与して送信し、送信側、受信側でシーケンス番号により、未受信エラーの検出や、受信エラー発生時の再送処理を実現する。また、SCFは、送信済事象とシーケンス番号を一定数記憶する送信事象管理テーブルを備えており、該テーブルにより送信履歴を管理する。
【0030】
すなわち、図10に示すようにデータの送信が行われる。
(a) 通知事象(発生事象、alive message )を送信する際、通知事象毎に一連のシーケンス番号(0〜n)を付与して、通知事象と一緒に他系のSCFに送信する(シーケンス番号がnを越えたら0に戻す)。
(b) 送信側は、送信履歴として送信済事象とシーケンス番号を管理テーブルに一定数記憶しておく(例えばn+1個、古いデータは破棄する)。
上記送信済事象とシーケンス番号は、再送依頼時に必要であり、シーケンスエラーが発生しシーケンス番号を付して再送依頼があったとき、上記管理テーブルから該当事象を取り出し再送する。また、再送する場合にも、新たなシーケンス番号を付与して送信する。
(c) 受信側では、受信したシーケンス番号の最新の値を記憶しておく。これは、受信したシーケンス番号と、受信済シーケンス番号から受信エラーを検出するために必要であり、受信したシーケンス番号が、前回受信のシーケンス番号+1でない場合、〔前回受信シーケンス番号+1〕〜〔今回受信シーケンス番号−1〕までを未受信エラーとして、他系に再送依頼する。
【0031】
例えば、図10に示すように、通知事象B(シーケンス番号No.3)が未受信であり、シーケンス番号No.2の通知事象Aの次にシーケンス番号No.4の通知事象Cを受信したとき、シーケンス番号No.3(〔No.2+1〕=No.3〜〔No.4−1〕=No.3)のデータが未受信であるとして、再送依頼を行う。
送信側では、再送依頼があると、送信対象管理テーブルから該当事象(通知事象B)を取り出し、新たなシーケンス番号No.5を付与して再送する。
【0032】
(2)alive message による状態監視
前記したように、上記したSCF間通信機能を用いて、両系SCF間で一定時間毎にある決まった通知事象(この通知事象をalive message という)を交換することにより、常に他系の状態を監視することが可能となる。
すなわち、他系にalive message を送信したら、他系が一定時間alive message を保持した後、再び自系に送信されてくるような仕組みにしておくと、一定時間経ってもalive message が送信されてこなかった場合、他系に異常が発生したと判断することが可能となる。
【0033】
具体的には、常に何れかの系でalive message の送信権(alive message 保持中の状態で、次にalive message を送信する権利)を持たせておくようにし、alive message の送信権は、他系からalive message を受信するか、一定時間(m)のalive message 獲得タイマがタイムアウトしたとき獲得するようにする。
また、alive message を獲得した系は、一定時間(n)の保持タイマを設定し、保持タイマがタイムアウトしたとき、他系にalive message を送信して送信権を放棄する。
上記のようにすることにより、正常時は常に何れかの系がalive message の送信権を持つようになる。そして、獲得タイマのタイムアウトによってalive message 送信権を獲得した場合は、他系がalive message を通知できない何らかの異常が発生したと判断する。
【0034】
図11、図12、図13は上記したalive message の交換制御を説明する図であり、図11は通常時のalive message の交換制御、図12は経路異常時のalive message の交換制御、図13は他系の未実装またはハングアップの場合を示している。
図11において、#A系において、保持タイマがタイムアウトすると、alive message を#B系に送信し、alive message の送信権を放棄する。また、それと同時に獲得タイマを設定し動作を開始させる。
#B系においては、上記alive message を受信すると、獲得タイマの動作を停止し、保持タイマを設定して動作を開始する。
そして、#B系において、保持タイマがタイムアウトすると、alive message を#A系に送信し、alive message の送信権を放棄する。また、それと同時に獲得タイマを設定し動作を開始させる。
【0035】
上記したalive message の交換制御において、通信経路に異常が発生すると、図12に示すようになる。
両系で相互にalive message を交換しているとき、同図に示すように、#A系が#B系にalive message を送信したとき経路異常が発生すると、#B系ではalive message が受信されないので、獲得タイマがタイムアウトし、送信権を獲得する。そして、保持タイマを設定し、保持タイマがタイムアウトしたとき、#A系にalive message を送信し送信権を放棄するとともに、獲得タイマを設定して動作を開始させる。
次いで、経路異常により#A系からのalive message が再び#B系で受信されないと、上記と同様、#B系の獲得タイマがタイムアウトし、#B系が送信権を獲得する。
【0036】
なお、図12の片系の通信経路異常の例では、他系は動作中であるが、alive message 送信権が重なることはないので、後述する共用資源の排他制御は問題なく継続される。
また、上記したalive message の交換制御において、他系のSCFが未実装の場合、またはハングアップ(停止)した場合には、図13に示すようになる。
すなわち、#A系と#B系でalive message を交換している際、図13に示すように、#A系のSCFボードが抜かれて未実装状態になったり、あるいは、#A系のSCFがハングアップした場合には、図12と同様、#B系ではalive message が受信されないので、獲得タイマがタイムアウトし、送信権を獲得する。そして、保持タイマを設定し、保持タイマがタイムアウトしたとき、#A系にalive message を送信し送信権を放棄するとともに、獲得タイマを設定して動作を開始させる。
次いで、経路異常により#A系からのalive message が再び#B系で受信されないと、上記と同様、#B系の獲得タイマがタイムアウトし、#B系が送信権を獲得する。
【0037】
以上のように、獲得タイマのタイムアウトによって#B系がalive message 送信権を獲得した場合は、#A系がalive message を通知できない何らかの異常が発生したと判断することができる。
なお、前記したシーケンスエラーは、通知事象が発生しない限り検出できないが、上記のようにシーケンス番号が付与されたalive message を定期的に交換することにより、通知事象が発生しない場合であっても、問題なく通信異常を検出することができる。
【0038】
(3)通信異常の検出と原因の切りわけ及び通信異常時の処理
(i )通信異常の定義と原因
何らかの異常を検出し、SCFlinkが正常に機能していない状態を通信異常とする。
通常時を含め、SCFの状態をシステム全体から見た場合、そのパターンは図14に示すように4パターンがある。
図14において、片系のSCF(#A系)に着目した場合、相手からの事象が受信できない場合に通信異常(同図のパターン3,4)になっていることが分かる。
ここで、送信が正常にいっていても、異常であっても送信している系の処理は変わらないため、通信異常は、相手の通信異常要因にはなるが、自系を通信異常とはしない。
また、この定義によると通信異常が発生する原因としては、大きく分けて 通信経路が異常(ハード異常)の場合と、他系が停止(ハングアップ)した場合、および、他系が未実装の場合の3通りが考えられる。
【0039】
(ii)通信異常の検出方法
上記(i )で述べたように、受信側は、自分が正常に受信できない事により、通信異常を検出できるが、送信側は相手が正常に受信したかどうかを自力で検出する事はできず、また、検出しても通信異常であるためにそれを確実に相手に通知できる保証はない。
以上のことから、通信異常の検出は受信側で行うものとし、送信側ではチェックは行わない。
本実施例では、図15に示すように3つの検出機構により通信異常の検出を行う。以下の全ての原因に対する通信異常は、受信側で検出することができる。
【0040】
(a) 受信エラーの発生
受信エラーの発生は、後述するように、パリティチェック、受信データ長チェツク、受信データサムチェック、シーケンスチェックにより検出することができる。また、その異常原因は、ハード異常(通信経路異常等)である。
(b) alive message 獲得タイムアウト
前記(2)で説明したように、alive message の交換制御により何らかの異常が発生したことを検出することができる。
この場合の異常原因は、ハード異常(通信経路断線等)、他系SCF未実装、他系SCFハングアップ(停止)である。
(c) 異常要因検出
上記以外の異常要因としては、後述するように他系のSCF未実装検出、他系のSCF停止通知受信、他系の自己診断認識がある。
これらの異常要因は、他系SCF未実装、他系SCFハングアップ、他系SCF活性交換(システム動作中における他系SCFの交換)、他系自己診断中の場合である。
【0041】
(iii) 受信エラー検出
受信エラーの検出について詳述する。
SCFファームウェア12b,13bは、次のようなチェック機構を備えており、各チェック機構により受信エラーを検出し、受信エラー検出時、エラー通知(再送依頼)、返信処理(受信エラーシーケンス番号の決定)を次のように行う。
(a) パリティエラー検出
受信用レジスタECOMR1の読み込み時に、ハードウェアが検出したパリティエラービットがオンの場合、パリティエラーとする。
パリティエラーを検出した場合、受信データおよび受信済データを破棄し、未受信状態とする。この時点では再送依頼は行わない。これは、次のコマンド受信時に、受信エラーを検出できるためである。
また、パリティエラーを検出した以降、次のコマンドを受信するまで、受信データは全て破棄する。そして、コマンド受信時に、受信エラー(データ長不一致、または、シーケンスエラー)となり、再送依頼が送信される。
【0042】
(b) データ長不一致検出
通知事象を送信するとき、送信データのデータ長をコマンドに付与して送信し、受信側で受信したデータのデータ長が、コマンドで通知されたデータ長と不一致の場合に、受信データ長不一致とする。
データ長不一致を検出した時点で送信側に再送依頼を送信し、受信済データは破棄する。また、再送依頼するシーケンス番号は、受信完了シーケンス番号+1(受信中シーケンス番号)とする。
【0043】
(c) サムチェックエラー検出
通知事象を送信するとき、送信データの全ての和のサム値を計算して最後に送信し、受信側で受信中のデータのサム計算を行い、最後に送られてきたサム値と比較することにより受信データの正当性をチェックする。
サムチェックエラー検出時、受信した時点で送信側に再送依頼を送信し、受信済データは破棄する。また、再送依頼するシーケンス番号は、受信完了シーケンス番号+1(受信中シーケンス番号)とする。
【0044】
(d) シーケンスエラー検出
前記したように、受信した通知事象のシーケンス番号が、前回受信した通知事象のシーケンス番号+1でない場合、シーケンスエラーとする。
開始コマンドを受信せずに、データを受信した場合は、そのデータを破棄し、未受信状態のままとする。これは、終了コマンド等受信時に再度エラー検出できるためである。
上記以外のシーケンスエラーを検出した場合は、検出した時点で送信側の再送依頼を送信する。また、受信済データは破棄する。
再送依頼するシーケンス番号は、受信していないシーケンス番号とする。すなわち、前記したように、〔前回までに正常に受信したシーケンス番号+1〕〜〔今回正常に受信したシーケンス番号−1〕である。なお、未受信の事象が2つ以上ある場合は、連続して再送依頼を送信する。
【0045】
(iv)通信異常時の処理
通信異常が発生した場合、以下の処理を行うことによって、通信異常が発生した状態でのシステム動作を保証する。
(a) 通信異常検出時の処理
▲1▼ メインプロセッサ10へ「通信異常」を通知する。
▲2▼ メモリにエラーログを出力する。
▲3▼ オペレータ操作パネル22のLCDに異常表示をするとともに、チェックランプを点灯する。
(b) 通信異常中の処理
▲1▼ alive message 交換制御はそのまま継続する。
▲2▼ 他系への送信処理は継続する。
▲3▼ 他系からの受信事象は読み捨てる。
▲4▼ 受信エラー発生を他系に通知しない(再送依頼未送信)。
通信異常時のシステム監視事象は、それぞれのSCFが独立して通知を行う。したがって、通信異常状態時に限り、共有資源で事象が発生した場合は、両系から異常通知される場合がある。
【0046】
(v )通信異常解除要因とその検出方法
通信異常が発生した場合、その原因がハード異常(SCFボードの異常等)とわかる場合は、交換されるまで通信異常を復旧しない処理が必要である。
また、単なる他系未実装やハングアップしただけの場合には、リセットによって復旧する必要がある。そこで、通信異常の復旧は原因別に以下の条件を満たした場合に復旧させるようにする。
【0047】
(a) パリティエラー、通信経路異常等の復旧
ハード異常のため、自系リセットもしくは他系の活性交換完了により復旧させる。上記復旧は、次のように行われる。なお、SCF活性交換については後で詳述する。
他系SCF未実装から実装を認識→フェーズ通知受信→機能版数またはalive message 受信→通信異常復旧
(b) 他系SCFハングアップ又は他系SCF未実装の復旧
他系がリセットされ、自己診断完了にて復旧する。すなわち、次のようにして復旧する。
フェーズ通知受信→機能版数又はalive message 受信→通信異常復旧
【0048】
(4)他系SCF未実装の検出
二重化システム通信において、一方の系の活性交換時や、他系のSCF故障時など、片系のSCFのみでの運用(他系が未実装状態)を余儀なく行わなければならない場合がある。この場合は、内部的に通信異常を検出することとなるが、それが本当の通信異常なのか、他系未実装による異常なのかを見極める必要がある。
そこで、本実施例では、他系の実装/未実装状態をハード的に検出し、レジスタのビットのON/OFFでSCFファームウェアに通知する仕組みを実現している。SCFファームウェアは、上記レジスタを定期的にポーリングして、監視および内部フラグの更新を行うことにより、常に他系の実装状態を把握することができる。
【0049】
他系SCFの未実装は具体的には次のように検出する。
(a) 最初から他系未実装の場合
alive message 獲得タイマの連続タイムアウトにより、通信異常を検出するので、この時、ポーリングにより更新される上記内部フラグ(他系の実装状態を示す)を見にいき、通信異常の原因が他系のSCF未実装によるものであるかを判断する。
(b) 運用中に他系のSCFが抜かれた場合
上記レジスタをポーリングすることによって、他系のSCFが実装から未実装に変化した場合を検出することができるので、この時点で他系SCF未実装による通信異常処理を行い、この後、alive message 獲得タイマの連続タイムアウトが発生しても異常処理を行わないようにする。
以上のようにすることにより、他系が未実装のままシステムを立ち上げた場合や、運用中に不当に抜かれた場合でも、通信異常でなく、適切なメッセージ(他系未実装)を外部に通知することができる。
【0050】
(5)資源の監視と事象通知
各SCFは次のようにして各資源の監視を行い、通知事象が発生したとき、メインプロセッサに事象を通知し、また、他系のSCFに通知する。
(a) 片系固有で監視可能な事象の資源の監視と事象の通知
前記図2に示した外部無停電電源装置(外部UPS)16、拡張筐体制御インタフェースRCI、温度センサ20等、二重化した個々のSCFのそれぞれが監視・制御する固有資源において事象が発生した場合、検出した系でメインプロセッサ10に事象を通知する。
また、SCF間通信機能を使用して他系のSCFに情報を通知する(検出系からメインプロセッサ10に事象通知ができない異常時に、他系SCFから代替通知させるため)。
他系のSCFが通知すべき事象を、他系のSCFから通知された系は、その事象を保留しておき、特に処理は行わない。
なお、上記のように、他系がメインプロセッサ10に事象通知できないことを検出した場合は、保留していた事象、および、新たに通知された事象については、他系に代わってメインプロセッサ10に代替通知を行う。
【0051】
(b) 両系で監視可能な資源の監視と事象通知
メイン電源(PDU)25、内蔵無停電電源装置(UPS)24、ファン21、オペレータ操作パネル22等、二重化したSCFそれぞれが1個の資源を監視・制御する共有資源において事象が発生した場合は、両系で同じ事象を検出することが可能である。
しかしながら、両系で事象を検出してメインプロセッサ10に通知すると、両系から同じ事象が二重に通知されることになってしまう。また、検出回路の異常の場合で、片系でしか検出することができなかった場合は、両系のSCF間で矛盾が生ずる可能性がある。
以上のことから、共有資源については、事象を検出した時点でSCF間通信機能を使用して他系に事象を送信し、他系からも同じ事象通知がきて初めて処理を行うようにする。また、メインプロセッサ10への通知は、あらかじめ通知担当を分けて決めておき、二重に事象が通知されないようにしておく。
なお、他系が異常状態時には、他系事象通知担当分も処理することで、システム全体としては、監視が継続されるようにする。
【0052】
(6)通常時および通信異常時のシステム制御
二重化通信異常時は、通常時に対して以下のようなシステム制御を行うことによって、システムの動作を保証する。
(i)通常時の動作
(a) 固有資源の監視/通知担当
▲1▼ それぞれの系が自分の担当の資源を監視する。
▲2▼ メインプロセッサ10への通知は自分の担当の資源の異常を検出した場合に通知する。
(b) 共有資源の監視/通知担当
▲1▼ 共有資源は常に両系で監視する。
▲2▼ 通知担当は予めいずれかに固定されている。
▲3▼ メインプロセッサ10への通知は自分の担当の資源の異常を検出し、且つ、他系から同じ異常を通知された場合に通知する。
【0053】
(c) 共有資源の排他制御( オペレータ操作パネル22のLCD表示等)
▲1▼ alive message 交換制御により、alive message 送信権を持っている時のみ、アクセス権を獲得しアクセス可能とする。
例えば、オペレータ操作パネル22のLCD表示あるいは操作スイッチの排他制御においては、alive message 送信権を持つSCFがアクセス権を持つ。
▲2▼ アクセス権(alive message 送信権)を持っていない時にアクセス要因が発生した場合は、次のアクセス権を持つまで待つ。
【0054】
(ii)通信異常時の動作
(a) 固有資源の監視/通知担当
▲1▼ それぞれの系が自分の担当の資源を監視する。
▲2▼ メインプロセッサ10への通知は自分の担当の資源の異常を検出した場合に通知する。
(b) 共有資源の監視/通知担当
▲1▼ 共有資源は常に両系で監視する。
▲2▼ メインプロセッサ10への通知権は無条件で獲得する。
▲3▼ 通信異常を検出したら、他系からの異常通知を待たずにメインプロセッサ10へ通知する。
【0055】
(c) 共有資源の排他制御( オペレータ操作パネル22のLCD表示等)
▲1▼ alive message 交換制御はそのまま継続し、通常時と同様alive message 送信権を持っている時のみ、アクセス可能とする。
なお、通信異常時といえども、アクセス権をいずれかに持たせるようなことはしない。これは、他系から共通資源をアクセスできなくなることを防ぐためであり、この方式によって片系のみの通信異常であれば、100%排他制御が可能となる。また、両系が通信異常の場合でも、初期(起動直後)のalive message 送信権の獲得を両系で意識的にずらすことによって、両系のアクセス権が重なることなく、排他制御が可能となる。
▲2▼ アクセス権(alive message 送信権)を持っていない時にアクセス要因が発生した場合は、次のアクセス権を持つまで待つ。
【0056】
(7)SCF活性交換
二重化システムにおいて、片系が故障した場合等に、運用状態のまま故障したSCF等の交換を実現するSCF活性交換について説明する。
本実施例では以下に説明するように、システム運用状態のまま、個々のSCFを交換することができ、片系の異常ではダウンしないノーストップを実現している(この運用中のSCF交換を、活性交換又は活性挿入という)。
(a) 活性交換の認識
活性交換を行うには、まず動作中の正常系SCFに対して、保守ツールにて「他系停止通知」を発行する。「他系停止通知」を受信した系は、他系がこれから活性交換されると認識し、以後、他系未実装等の異常を検出しても異常処理を行わないように、この時点で内部的に通信異常状態とする。
通信異常状態となった動作系SCFは、前記したように他系の監視範囲であった共有資源の監視/通知権を引き継ぐため、システムとして動作し続けることができる。
【0057】
(b) 活性交換の認識(交換後)
SCFが交換され活性挿入されると、挿入された系はリセットされ、自己診断を開始し、他系に自己診断フェーズ通知を送信する。
自己診断が終了すると、メインプロセッサ10から内部引き継ぎ情報をSCFコマンドにて通知され、オンライン状態とする。
一方、通信異常で動作中であった系は、他系からの自己診断フェーズ通知を受信することにより、他系がリセット(活性交換)されたと認識し、自己診断終了後の機能版数通知(後述する)を受信することにより、通信異常状態を解除する。これによって、二重化SCFによるシステム制御が再開され、運用中の活性交換が実現する。
【0058】
図16は活性交換の手順を示す図であり、同図に示すように活性交換が実現される(以下の(1) 〜(11)は図16の丸数字に対応する)。
(1) 保守ツールから、正常なSCFに他系を活性交換することを通知する。(→他系停止通知の発行)
(2) 他系が上記停止通知を受信すると、他系が停止/抜かれることに対する監視異常検出を抑止する。また、内部的に通信異常状態で動作させるとともに、他系監視範囲を正常なSCFが引き継ぐ。
(3) 交換SCFを抜く。この場合、他系未実装等の異常検出は行わない。
(4) 新しいSCFを挿入し、リセットする。
(5) 新しいSCFは自己診断を開始し、自己診断のフェーズ通知を送信する。
(6) 動作中のSCFは他系のリセットを認識し、自己診断中とする。
(7) 新しいSCFのタスクが起動し、挿入されSCFの機能版数を動作中のSCFに通知する。
【0059】
(8) 動作中のSCFは機能版数を受信し、機能版数のチェック処理を行う。そして、自系の機能版数を機能版数応答として新しいSCFに通知する。さらに、動作中のSCFは通信異常を復旧し、他系監視範囲であった資源の監視引き継ぎを停止する。
(9) 新しいSCFは、動作中のSCFから機能版数応答を受信すると、機能版数チェック処理を行い、新しいSCFの正常起動を保守ツールに通知する。
(10)保守ツールは新しいSCFの正常動作を認識し、ディスクに退避していたデータを読み込み、内部情報を動作側のSCFから新しいSCF側に複写する。また、SCFコマンドにより動作中のSCFから新しいSCFへの内部情報の引き継ぎを行う。
(11)新しいSCFはSCFコマンドを受信し、オンライン状態に遷移する(活性交換完了)。
【0060】
(8)SCF活性交換後の資源の監視および事象の通知
以上のように活性交換が完了した後の固有資源および共有資源の監視/通知は次のように行われる。
(a) 固有資源の監視/通知担当
動作側の系は、自分の監視/通知担当の固有資源を引き続き監視/通知し、挿入側の系も、起動時から、自分の監視/通知担当の固有資源の監視を行うことにより、それぞれの系が自分の担当の資源を監視/通知する。
【0061】
(b) 共有資源の監視/通知担当
動作側の系は、今までは(通信異常状態時)、異常検出すると他系からの異常通知を待たずにメインプロセッサ10に異常通知していたが、通信異常が解除された時点で、メインプロセッサ10への通知権はそのまま引き継ぐが、異常検出をしたとき、前記したように他系からの同じ異常通知を待ち合わせるようにする。
なお、挿入側の系は共有資源の監視は行うが、通知権を獲得しないようにすることによって、処理を簡略化することもできる。
(c) 共有資源の排他制御(オペレータ操作パネルのLCD表示等)
他系の活性挿入によって、alive message 交換制御が復活するため、共通資源の排他制御は自動的に行われるようになる。
以上のように構成することにより、SCFが後から挿入された場合でも、運用中のSCFから情報を引き継ぎ、両系を矛盾なく動作させることが可能となる。
【0062】
(9)機能版数の整合性チェックと対処
両系のSCF同時起動時、およびSCF活性挿入時に、それぞれのSCFの機能版数が不一致であると、SCF間の通信に不具合が生ずる。
そこで、機能版数の整合性をチェックし、機能版数不整合の場合、次のような対処を行う。
(a) 両系のSCF同時起動時における機能版数の整合性チェックと対処
SCF間通信は、両系SCFが決められたコマンドインタフェースによって動作することにより成り立つが、両系SCFは二重化によってノーストップシステムを実現するため、個別に交換可能に構成されている。
SCFが交換される要因の中には、コマンドインタフェース仕様が追加・変更される場合も考えられ、両系で異なったコマンドインタフェースとなった場合、動作保証されないままに動作してしまう。
上記のような問題を防止するため、SCF起動時にコマンドインタフェース版数(機能版数)をお互いに通知/認識しあって、機能版数が不一致の場合に、機能版数の高い方が低い方の機能レベルに落として動作させることにより、両系のコマンドインタフェースを保証する。
【0063】
図17は両系SCFが同時に起動された際の機能版数チェツク結果とその対処を示す図である。具体的には、次のようにして機能版数の整合性チェックと機能版数不整合の場合の対処を行う。
▲1▼ SCFが起動されて、SCF間通信が開始される前に版数情報(版数情報問い合わせコマンドを発行)を両系SCF間で通信し合う。
なお、機能版数情報を送信するタイミングは、自系SCFが機能された場合(機能版数通知コマンド発行)、あるいは、他系から上記機能版数通知コマンドを受信した場合(機能版数応答コマンドを発行)である。また、機能版数応答コマンドを受信した場合には、機能版数の通知を停止する。
▲2▼ 他系のSCFから起動直後の機能版数を受信したら、自系で版数比較によるチェックを行うとともに、自系の機能版数情報を応答として返す。
▲3▼ 機能版数をチェックし、#A系と#B系の機能版数が同じ場合には、問題がないので処理を行わない。また、#A系と#B系の機能版数が異なる場合には、次のような処理を行う。
・#A系と#B系のSCFは機能版数が不一致であることを認識し、オペレータ操作パネルのLCD、コンソール等に表示することにより、機能版数の不一致をオペレータに通知する。
・機能版数が高いSCFの版数機能を下げて、機能版数が低いSCFに機能に合わせて動作させる。なお、機能が追加・変更された場合は、低い版数の機能がわかっているので、旧版数の機能をサポートしつつ、新機能をサポートさせる。
【0064】
(b) SCF活性挿入時の機能版数の整合性チェックと対処
上記(a) では、両系のSCFが同時に起動しているため、いずれかの系に優先度がなく、版数の低い方に機能を合わせれば、二重化状態で動作させることが可能であった。
しかし、活性交換時には、既に動作中のSCFの機能が優先されるので、それより低い版数のSCFが挿入された場合、動作中のSCFの機能を後から挿入された系に合わせることができない。そこで、活性交換時には、この場合の挿入を拒否し、正しいSCFが挿入されるまで、挿入前の状態で動作を継続させる。
【0065】
図18はSCF活性挿入時の機能版数チェツク結果とその対処を示す図である。前記図16で説明したように機能版数を通知して機能版数をチェックする。そして、図18に示すように、#A系と#B系の機能版数が同じ場合には、問題がないので処理を行わない。
また、#A系と#B系の機能版数が異なる場合には、次のような処理を行う。
・既に動作中の#A系のSCFより活性挿入された#B系のSCFの機能レベルが高い場合には、機能版数が不一致であることをオペレータ操作パネルのLCD、コンソール等に表示することにより、オペレータに通知し、活性挿入された#B系のSCFの機能版数を低下させ、#A系のSCFの機能版数に合わせて両系で動作を継続する。
・既に動作中の#A系のSCFより活性挿入された#B系のSCFの機能レベルが高い場合、既に動作中の#A系のSCFの機能版数を下げることは不可能なので、#B系SCFの活性挿入異常を通知する。また、#A系のSCFは挿入前と同じ状態で動作を継続する。
【0066】
(10)自己診断中の監視動作および自己診断異常検出時の処理
SCFの自己診断は、自分で検出して異常となる場合と、ハングアップした場合の2つのケースが考えられる。
この2つのケースの場合、他系は相手の異常を認識する必要がある。そのため、SCF自己診断中は、常に自分の診断フェーズを他系に通知し、他系はそのを監視することにより相手の異常を認識する。
具体的には次のように行う。
【0067】
(a) 自己診断で異常認識した場合
他系が正常に立ち上がったのを確認してから、他系に自己診断異常発生を通知する。これは、SCFが両系同時に起動された場合、他系も自己診断中の可能性があるため、この時に自己診断異常を通知しても、他系は異常処理を行えない場合があるからである。
そこで、他系が正常に起動したことを表す機能版数通知またはalive message 通知を待ち、これを受信して初めて他系に異常を通知することにより他系は相手が異常となったことを知ることができる。
【0068】
図19は自己診断異常検出時の処理シーケンスを示す図である。
二重化システムに場合、自己診断を両系で同時に行うと、診断項目によっては、アクセス異常が発生することがある。そこで、本実施例では、あらかじめいずれかの系が先に自己診断を行うように決めておき、一方の自己診断が完了したら他方のSCFが自己診断を開始するようにしている。
すなわち、図19に示すように、#A系が自己診断中のとき、#B系は自己診断アイドリング中とする。そして、#A系から初期診断終了のフェーズを貰うか、他系の初期診断中のタイムアウトを検出するまでアイドリングを続ける。
正常時には、両系の自己診断が完了した時点で、両系のSCFが同時に起動されるが、図19に示すように、#A系のSCFが自己診断異常を検出した場合、この時点で他系に異常を通知しても、他系が正常動作中とは限らないので、正常に立ち上がったことを示す機能版数通知を受信して初めて、自己診断異常通知を送信する。
【0069】
自己診断異常を検出した#A系は、#B系にその異常のエラーログコードと、LCD表示データを予め規定されたコマンド形式で1バイトずつ通知する。
自己診断異常通知を受けた#B系では、#A系が異常を検出して動けないことをことを知り、全てのデータを受信するまでワーク領域にデータを格納しておき、全てのデータを受信した時点で、受信した相手の異常をエラーログ登録し、LCD表示器等により外部に通知するとともに、片系で動作を続けられるよう適切な処理を行う。
【0070】
(b) 自己診断中にハングアップした場合
この場合には、自己診断フェーズが通知できなくなるので、他系は自己診断フェーズのタイムアウトによって相手がハングアップしたことを認識することができる。なお、監視側は、実際に自己診断フェーズ通知を監視しているのではなく、alive message の獲得タイマの連続タイムアウトによって相手の異常を認識し、他系が一番最後に通知したデータを受信用レジスタECOMR1をリードしにいくことにより調べる。そしてそれが自己診断フェーズであった場合は、その診断フェーズでハングアップしたと認識する仕組みとなっている。
【0071】
図20は自己診断中ハングアップ時の処理シーケンスを示す図である。
自己診断中にハングアップした場合、正常系(#B系)が他系(#A系)自己診断中のタイムアウトを検出するところまでは前記した図19と同じであるが、その後、機能版数の応答やalive message が送信されてこないので、図20に示すように、#B系のalive message 獲得タイマが連続タイムアウトし、#A系が停止したことを認識する。
ここで、受信用カウンタECOMR1には一番最後に動作していた自己診断フェーズが残っているので、受信用カウンタECOMR1をリードすることにより、#A系の自己診断がどこまで動作したかを知ることができる。この情報を元に、前記したように、異常をエラーログ登録し、LCD表示器等により外部に通知するとともに、片系で動作を続けられるよう適切な処理を行う。
以上のようにすることにより、両系で自己診断を行っていた場合でも、自己診断の異常を、正常な系が立ち上がった後に必ず検出することができる。
【0072】
【発明の効果】
以上説明したように、本発明においては、以下の効果を得ることができる。
(1)二重化SCF間での通信処理を行えるようになるため、二重化システムの制御を行う上で、両SCF間での処理に一貫性を持たせることができる。また、片系異常時でも適切な処理を迅速に行うことができ、ノーストップシステムの実現を容易に行うことが可能となる。
(2)共有資源の排他制御や、片系故障時の切り離し処理、他系資源の監視引き継ぎ処理を容易に行うことができる。
(3)二重化した両SCF間で常に他系の状態を監視することができ、片系故障の対処が容易になる。
【0073】
(4)通知事象単位の送受信データを全てシーケンス番号で管理することができ、受信エラーの検出や、受信エラー発生時の他系の通知処理および再送事象の検索処理等が容易になる。
(5)二重化した両SCF間の通信異常を迅速に検出し、ハード異常なのか他系異常なのかを切り分けて適切な処理を行うことが可能となる。
(6)他系の未実装時に、通信異常を検出しても、ハード異常としないで、他系未実装による通信異常と認識することができる。
(7)それぞれのSCFが監視している固有資源の通知事象を、自系からメインプロセッサに通知できない異常時であっても、他系から代替通知をすることができる。
(8)両系で監視している共有資源で検出した事象を、他系でも検出していることを確認した上で処理することができる。また、メインプロセッサへの通知も両系から二重に通知されることがない。
(9)二重化した両SCF間において、一方の系に監視異常が発生した場合であっても、システムダウンとならずに動作させ続けることが可能となる。
【0074】
(10)システム動作中のまま、片系のSCFを交換することが可能となり、片系故障時でもノーストップ/ノーダウンシステムを実現することができる。
(11)活性挿入されたSCFに対して、動作中のSCFの内部情報を引き継ぐことが可能となり、あたかも、ずっと二重化状態で動いていたように動作させることができる。
(12)二重化した両SCF間でお互いのSCF機能レベルの自動認識ができるようになるため、機能版数が異なるままで動作することがなくなり、二重化システムの動作を常に保証することが可能となる。
(13)活性挿入時に、機能版数がアップされたSCFを挿入しても、二重化システムの動作を常に保証することが可能となる。また、オペレータによる操作ミス等のより機能版数がダウンしたSCFを挿入された場合でも、そのまま動作することなく挿入拒否をすることが可能となる。
(14)他系の自己診断の異常を迅速に検出することが可能となり、適切な処置を行うことが可能となる。
(15)エラーログ出力およびLCD表示不可能な異常(ハングアップ)が発生した場合でも、監視している他系SCFによって異常を外部に通知することが可能となる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の実施例のシステム制御構成と監視資源を示す図である。
【図3】本発明の実施例の二重化SCF間通信の概略図である。
【図4】本発明の実施例のSCF間通信レジスタの構成を示す図である。
【図5】SCF間通信レジスタのアクセス方法を説明する図である。
【図6】SCF間通信レジスタの使い方を説明する図である。
【図7】コマンド別送信形式を示す図である。
【図8】通知事象発生時の送信シーケンスを示す図である。
【図9】複数バイト送信中の通知事象発生時の処理を示す図である。
【図10】SCF間通信におけるシーケンスチェック処理を示す図である。
【図11】通常時のalive message の交換制御を説明する図である。
【図12】経路異常時のalive message の交換制御を説明する図である。
【図13】未実装又はハングアップ時のalive message 交換制御を説明する図である。
【図14】システム全体からみた通信異常パターンを示す図である。
【図15】異常検出機構と異常原因を示す図である。
【図16】SCF活性交換の手順を示す図である。
【図17】両系SCFの機能版数と処理を示す図(両系同時起動時)である。
【図18】両系SCFの機能版数と処理を示す図(活性挿入時)である。
【図19】自己診断異常検出時の処理シーケンスである。
【図20】自己診断中ハングアップ時の処理シーケンスである。
【符号の説明】
1 メインプロセッサ
2 バス
3a,3b 監視/制御プロセッサ
4 通信手段
5,5 固有資源
6 共有資源
10 メインプロセッサ
11 SCバス
12,13 SCF
14 信号線(SCFLink)
15 RS232Cインタフェース
16 外部無停電電源装置(外部UPS)
17 外部設備
18 拡張装置
19 拡張装置電源
20 温度センサ
21 ファンである。
22 オペレータ操作パネル
23 サブ電源装置(PSU)
24 内蔵無停電電源装置(UPS)
25 メイン電源装置(PDU)
EPC 外部電源制御インタフェース
EDPCI 拡張装置電源制御インタフェース
RCI 拡張装置制御インタフェース
ECOMR1 受信用レジスタ
ECOMR2 送信用レジスタ
Claims (8)
- メインプロセッサとは独立して設けられ、情報処理システムの監視、制御又は保守を行うための監視/制御プロセッサを二重化するとともに、前記監視/制御プロセッサ間で、通知事象の通信を行なうための通信手段を設け、
前記二重化された監視/制御プロセッサにより、情報処理システムの監視・制御を行う情報処理装置のシステム監視・制御方法であって、
前記二重化された監視/制御プロセッサのうち、送信権を有する他の監視/制御プロセッサから通知事象を受信したとき、一の監視/制御プロセッサが通知事象の送信権を獲得するステップと、
前記一の監視/制御プロセッサが、他の監視/制御プロセッサへの通知事象に、シーケンス番号を付与するステップと、
前記一の監視/制御プロセッサが、シーケンス番号が付与された通知事象を前記他の監視/制御プロセッサに送信するステップと、
前記他の監視/制御プロセッサから受信エラーの発生を原因とする再送依頼が前記シーケンス番号を用いてなされたときに、前記他の監視/制御プロセッサからの受信したシーケンス番号が付与されている通知事象を前記他の監視/制御プロセッサに再送するステップと、
を有することを特徴とする情報処理装置のシステム監視・制御方法。 - 前記システム監視/制御方法は、通知事象の送信権の放棄を行うステップをさらに有し、
前記ステップは、通知事象の送信権を獲得した一の監視/制御プロセッサが、
前記送信権の獲得から一定時間が経過することにより保持時間タイムアウトが発生した場合に、他の監視/制御プロセッサに対して通知事象を送信することにより、前記通知事象の送信権の放棄を行うステップである
ことを特徴とする請求項1記載の情報処理装置のシステム監視・制御方法。 - 前記一の監視/制御プロセッサが、送信権を有する他の監視/制御プロセッサから通知事象の送信権を獲得するステップは、
送信権を有さない一の監視/制御プロセッサにおいて、前記送信権放棄から一定時間の経過により獲得時間のタイムアウトが発生した場合に、前記一の監視/制御プロセッサが通知事象の送信権を獲得するステップである
ことを特徴とする請求項2記載の情報処理装置のシステム監視・制御方法。 - 前記システム監視・制御方法は、エラー判定を行うステップをさらに有し、
前記ステップは、前記獲得時間のタイムアウトが発生した場合に、他の監視/制御プロセッサで前記送信権を獲得した一の監視/制御プロセッサにおいてエラーが発生したものと判断するステップである
ことを特徴とする請求項3に記載の情報処理装置のシステム監視・制御方法。 - メインプロセッサとは独立して設けられ、情報処理システムの監視、制御又は保守を行うための二重化された監視/制御プロセッサと、
前記二重化された監視/制御プロセッサ間で、通知事象の通信を行なうための通信手段とを有し、
前記二重化された監視/制御プロセッサのうち、一の監視/制御プロセッサは、送信権を有する他の監視/制御プロセッサから通知事象を受信したとき通知事象の送信権を獲得し、他の監視/制御プロセッサへの通知事象にシーケンス番号を付与し、前記シーケンス番号が付与された通知事象を、他の監視/制御プロセッサに送信するとともに、前記他の監視/制御プロセッサから受信エラーの発生を原因とする再送依頼が前記シーケンス番号 を用いてなされたときに、前記他の監視/制御プロセッサからの受信したシーケンス番号が付与されている通知事象を前記他の監視/制御プロセッサに再送することを特徴とする情報処理装置のシステム監視・制御装置。 - 前記二重化された監視/制御プロセッサはそれぞれ送信権保持タイマを有し、
通知事象の送信権を獲得した一の監視/制御プロセッサにおいて、前記送信権保持タイマが、前記送信権獲得から一定時間の経過によりタイムアウトが発生した場合に、他の監視/制御プロセッサに対して通知事象を送信することにより、前記通知事象の送信権の放棄を行う
ことを特徴とする請求項5記載の情報処理装置のシステム監視・制御装置。 - 前記二重化された監視/制御プロセッサはそれぞれ送信権獲得タイマを有し、
送信権を有さない一の監視/制御プロセッサにおいて、前記送信権の放棄から一定時間の経過により、前記送信権獲得タイマにタイムアウトが発生した場合に、前記一の監視/制御プロセッサに通知事象の送信権を付与する
ことを特徴とする請求項6記載の情報処理装置のシステム監視・制御装置。 - 前記二重化された監視/制御プロセッサはそれぞれ、前記送信権獲得タイマにおいてタイムアウトが発生した場合に、他の監視/制御プロセッサにおいてエラーが発生したものと判断することを特徴とする請求項7に記載の情報処理装置のシステム監視・制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31079596A JP3942216B2 (ja) | 1996-11-21 | 1996-11-21 | 二重化された監視/制御プロセッサによるシステム監視・制御方法およびシステム監視・制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31079596A JP3942216B2 (ja) | 1996-11-21 | 1996-11-21 | 二重化された監視/制御プロセッサによるシステム監視・制御方法およびシステム監視・制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10154085A JPH10154085A (ja) | 1998-06-09 |
| JP3942216B2 true JP3942216B2 (ja) | 2007-07-11 |
Family
ID=18009545
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP31079596A Expired - Lifetime JP3942216B2 (ja) | 1996-11-21 | 1996-11-21 | 二重化された監視/制御プロセッサによるシステム監視・制御方法およびシステム監視・制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3942216B2 (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100464490B1 (ko) * | 2000-12-22 | 2004-12-31 | 엘지전자 주식회사 | 이중화 장치의 탈/실장 관리장치 |
| JP4492035B2 (ja) | 2003-04-21 | 2010-06-30 | 日本電気株式会社 | データ処理装置 |
| JP4495015B2 (ja) * | 2005-03-16 | 2010-06-30 | 富士通株式会社 | システム管理装置、情報処理装置およびシステム管理装置冗長化方法 |
| WO2008023791A1 (en) * | 2006-08-25 | 2008-02-28 | Panasonic Corporation | Wireless transmitting apparatus, wireless receiving apparatus and wireless communication method |
| JP5131194B2 (ja) | 2006-09-05 | 2013-01-30 | 日本電気株式会社 | パケット回復方法、通信システム、情報処理装置およびプログラム |
| JP2008140280A (ja) * | 2006-12-05 | 2008-06-19 | Hitachi Ltd | サーバの運用管理における信頼性強化方法 |
| JP4525762B2 (ja) | 2008-02-04 | 2010-08-18 | 株式会社デンソー | 車両用電子制御装置 |
| WO2010001445A1 (ja) * | 2008-06-30 | 2010-01-07 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
| JP5293141B2 (ja) * | 2008-12-16 | 2013-09-18 | 日本電気株式会社 | 冗長システム |
| JP2011022741A (ja) * | 2009-07-15 | 2011-02-03 | Nec Computertechno Ltd | コンピュータシステム、サービスプロセッサ、及びその診断方法 |
| JP5576096B2 (ja) * | 2009-11-16 | 2014-08-20 | 富士通株式会社 | マルチcpu構成装置及びその監視制御方法 |
| JP5991088B2 (ja) | 2012-08-31 | 2016-09-14 | 富士通株式会社 | 電源制御装置、情報処理装置及び電源制御方法 |
| KR101533081B1 (ko) * | 2014-09-26 | 2015-07-03 | 성균관대학교산학협력단 | 저전력과 신뢰성을 동시에 확보하기 위한 이중화 대응 장치, 이중화 시스템 및 이중화 구성 설정 방법 |
-
1996
- 1996-11-21 JP JP31079596A patent/JP3942216B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH10154085A (ja) | 1998-06-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3611894B2 (ja) | 二重化構成をもつシステム制御装置 | |
| US4775976A (en) | Method and apparatus for backing up data transmission system | |
| JP3942216B2 (ja) | 二重化された監視/制御プロセッサによるシステム監視・制御方法およびシステム監視・制御装置 | |
| US7853767B2 (en) | Dual writing device and its control method | |
| US4894828A (en) | Multiple sup swap mechanism | |
| KR20000011835A (ko) | 네트워크의분산애플리케이션에대한고장검출및소정의복제스타일로복구하는방법및장치 | |
| JP5392594B2 (ja) | 仮想計算機冗長化システム、コンピュータシステム、仮想計算機冗長化方法、及びプログラム | |
| KR20000011834A (ko) | 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치 | |
| KR20010006847A (ko) | 클러스터 노드 디스트레스 신호 | |
| JP2010140361A (ja) | コンピュータシステム及び異常検出回路 | |
| US20200167249A1 (en) | Information processing system and information processing apparatus | |
| JPH086910A (ja) | クラスタ型計算機システム | |
| JPH09251443A (ja) | 情報処理システムのプロセッサ障害回復処理方法 | |
| JP3001818B2 (ja) | マルチプロセッサ立ち上げ管理装置 | |
| JPH10116261A (ja) | 並列計算機システムのチェックポイントリスタート方法 | |
| JP3343618B2 (ja) | 端末無中断オンラインシステム | |
| KR19990050460A (ko) | 고 가용성 시스템의 장애 복구방법 및 장치 | |
| JP2008250929A (ja) | リンク障害診断方法、ディスクアレイ・システム、及びリンク障害診断プログラム | |
| JP2004013723A (ja) | 共有メモリを使ったクラスタ構成を採用した情報処理システムの障害処理装置と方法 | |
| JPH1196033A (ja) | 情報処理装置 | |
| JP2001175545A (ja) | サーバシステムおよび障害診断方法ならびに記録媒体 | |
| EP1845447B1 (en) | Method, apparatus and software for preventing switch failures in the presence of faults | |
| JP2699291B2 (ja) | 電源異常処理装置 | |
| JP3679412B6 (ja) | 故障から立直りが速い/故障に対する耐性がある計算処理 | |
| JP3679412B2 (ja) | 故障から立直りが速い/故障に対する耐性がある計算処理 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060112 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060529 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061010 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061207 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070109 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070312 |
|
| A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070316 |
|
| 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: 20070403 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070403 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
| EXPY | Cancellation because of completion of term |