JPH06230992A - 計算機システムおよび計算機システムの障害回復方法 - Google Patents

計算機システムおよび計算機システムの障害回復方法

Info

Publication number
JPH06230992A
JPH06230992A JP5041918A JP4191893A JPH06230992A JP H06230992 A JPH06230992 A JP H06230992A JP 5041918 A JP5041918 A JP 5041918A JP 4191893 A JP4191893 A JP 4191893A JP H06230992 A JPH06230992 A JP H06230992A
Authority
JP
Japan
Prior art keywords
failure
computer system
component
processing
constituent element
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.)
Pending
Application number
JP5041918A
Other languages
English (en)
Inventor
Yoshifumi Takamoto
良史 高本
Hitoshi Tsunoda
仁 角田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5041918A priority Critical patent/JPH06230992A/ja
Publication of JPH06230992A publication Critical patent/JPH06230992A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】低コストでかつ高信頼な計算機システムおよび
その障害回復方法を提供することを目的とする。 【構成】複数の構成要素を備えた計算機システムにおい
て、ある構成要素(例えばディスク装置106の圧縮機
構113)に障害が発生したとき、その構成要素を代替
して機能する代替構成要素(CPU114によるエミュ
レーションなど)を探索し、その代替構成要素に代替処
理を行なわせる。また、障害を起こした構成要素を代替
する処理を他の装置(ディスク装置107)やホストプ
ロセッサ(101)に依頼して、代替処理を行なわせ
る。 【効果】多数の装置を接続しても信頼性が低下すること
がなく、また低コストで信頼性の高いシステムを構築で
きる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムおよび
その障害回復方法に関し、特に高信頼性および高い拡張
性が要求されるファイルシステムを備えた計算機システ
ムなどに適用して好適な障害回復方法および計算機シス
テムに関する。
【0002】
【従来の技術】ハードウェアの信頼性を向上させる手法
として、一般にはハードウェアの二重化や符号による誤
り訂正といった技術が用いられる。例えば、ディスクシ
ステムにおいても、格納ディスクドライブの多重化、制
御プロセッサの多重化、あるいはデータパスの多重化な
どにより、高い信頼性を保証するシステムが多数存在す
る。
【0003】格納ディスクドライブの多重化は、同一デ
ータを複数のディスクドライブに格納しておき、もし何
れかのディスクドライブあるいはディスクドライブを制
御する制御装置が障害を起こしたときには、同一データ
が格納された他のディスクドライブにアクセスすること
で処理を中断させないようにするものである。
【0004】ここで、同一データを複数のディスクドラ
イブに格納する方式としては、大きく2種類の方式が存
在する。1つは、ソフトウェア(一般には、オペレーテ
ィングシステム)が複数のディスクドライブにデータを
格納する入出力命令をそれぞれ発行する方式である。も
う1つは、オペレーティングシステムは一回の入出力命
令を発行し、その一回の入出力命令でディスク制御装置
が自動的に複数のディスクドライブに格納するようにハ
ードウェア制御を行なう方式である。
【0005】現状では、ハードウェアコストが低減され
たことや、ソフトウェアの負荷削減などの理由から、後
者のハードウェア制御によるディスクドライブ多重化が
行なわれるようになってきている。こういった環境で、
何れかのディスクドライブのアクセスが不可能に陥った
場合には、ハードウェアが障害を検知し、自動的に他の
ディスクドライブで代用する制御を行なう。こういった
制御は、例えば、特開平3−226825号公報などに
記載されている。
【0006】一方、制御プロセッサの多重化やデータパ
スの多重化も、同様に、障害発生時には障害を起こして
いない制御プロセッサやデータパスを使用し、これによ
り高信頼性を保証している。一般には、システムを構成
する要素の内、最も障害の発生しやすい箇所やあるいは
システムバスといったシステムの中核となる箇所での多
重化を行なっている。
【0007】
【発明が解決しようとする課題】上述した多重化技術
は、比較的容易に信頼性を向上させることができるとい
ったメリットを持つ。しかし、ある意味ではリソースを
無駄に使用していることにもなる。ハードウェアコスト
が以前に比べ低下したとはいえ、これら多重化されたシ
ステムを多数連結させるような大規模システムでは、多
重化によるコストが大きくなる。
【0008】さらに、上記従来技術では、あらかじめ定
められた多重度を容易に変更することができない。例え
ば、始めに二重化で設計されたシステムを、容易に三重
化、四重化にすることは難しい。始めに二重化で設計さ
れたシステムは、実装上、さらに三重化、四重化するた
めのハードウエアを組み込むことが難しいからである。
また、多重化制御用ハードウェアの仕様変更コストなど
によるコスト高が生じるからである。こういった場合、
通常は、さらに上位のソフトウェアによる多重化などを
行なわなければならない。
【0009】本発明は、上述の従来例における問題点に
鑑み、低コストでかつ高信頼な計算機システムおよびそ
の障害回復方法を提供することを目的とする。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数の構成要素を備えた計算機システム
において、上記構成要素の障害を検知する検知手段と、
ある構成要素に障害が発生したとき、その構成要素を代
替して機能する代替構成要素を探索する探索手段と、探
索された代替構成要素に対し、障害が発生した構成要素
を代替する処理を行なわせる管理手段とを備えたことを
特徴とする。
【0011】また、ホストプロセッサを備えた計算機シ
ステムまたはネットワークに接続される周辺機器であっ
て、複数の構成要素を備えた周辺機器において、上記構
成要素の障害を検知する検知手段と、ある構成要素に障
害が発生したとき、内部の他の構成要素中から障害を起
こした構成要素を代替して機能する代替構成要素を探索
する探索手段と、探索された代替構成要素に対し、障害
が発生した構成要素を代替する処理を行なわせる管理手
段とを備えたことを特徴とする。
【0012】前記代替構成要素は、例えばプログラムを
実行可能なプロセッサを備えており、該プロセッサを用
いて、前記障害が発生した構成要素の動作をエミュレー
ションまたはシミュレーションにより模擬してもよい。
また、前記障害が発生した構成要素がデータ圧縮機構で
ある場合、前記プロセッサはデータ圧縮のエミュレーシ
ョンを行なってデータ圧縮機構を代替する処理を行なう
とよい。
【0013】前記探索手段は、障害が発生した構成要素
を示すデータ、およびその構成要素を代替する代替構成
要素を示すデータを含むデータ列を生成して、前記管理
手段へと送り、前記管理手段は、該データ列に基づいて
前記代替する処理を行なわせるようにしてもよい。
【0014】さらに、前記構成要素に障害が発生してい
るかどうかを示すデータと、障害が発生したときその構
成要素を代替する処理を表すデータとを格納した構成管
理テーブルを備え、前記検知手段は、該構成管理テーブ
ルを参照して、構成要素の障害を検知し、前記探索手段
は、該構成管理テーブルを参照して、障害が発生した構
成要素を代替する処理を探索するようにしてもよい。
【0015】さらに、前記各構成要素の障害を検知した
とき、再度その構成要素に同じ動作を反復させ、所定回
数以下の反復動作によりその構成要素が正常に動作した
ときには、その構成要素には障害が発生しなかったもの
として動作を継続するとともに、そのような反復動作に
より正常動作に移行した回数を数え、該回数が所定値を
越えたときにはその旨を外部に伝えるようにしてもよ
い。
【0016】前記構成要素は、多重化されていてもよ
い。前記管理手段自体が、前記障害が発生した構成要素
を代替する処理を行なうことが可能な構成要素であって
もよい。前記構成要素は、例えば計算機システムのファ
イルシステムを構成する構成要素である。
【0017】さらに、本発明は、ホストプロセッサと、
複数の周辺機器とを備えた計算機システムであって、そ
の各周辺機器は複数の構成要素を備えている、計算機シ
ステムにおいて、上記周辺機器の構成要素の障害を検知
する検知手段と、ある構成要素に障害が発生したとき、
その構成要素を含む周辺機器以外の周辺機器または上記
ホストプロセッサにより、障害が発生した構成要素を代
替する処理を行なわせる管理手段とを備えたことを特徴
とする。
【0018】前記管理手段は、障害回復処理依頼である
ことを示す識別子、障害を起こした構成要素を示す識別
子、および依頼する処理を示す識別子を含むデータ列を
生成して送出することにより、前記周辺機器またはホス
トプロセッサに代替処理を行なわせるようにしてもよ
い。また、前記管理手段は、前記データ列を複数の周辺
機器に対して送信し、該データ列に格納された要求を処
理可能な周辺機器が、該データ列に基づく代替処理を行
なうようにしてもよい。
【0019】さらに、前記構成要素に障害が発生してい
るかどうかを示すデータと、障害が発生したときその構
成要素を代替する処理あるいは代替手段を表すデータと
を格納した構成管理テーブルを備え、前記検知手段は、
該構成管理テーブルを参照して、構成要素の障害を検知
し、前記管理手段は、該構成管理テーブルを参照して、
どこに前記代替する処理を行なわせるかを決定するよう
にしてもよい。
【0020】前記周辺機器は、多重化されていてもよ
い。また、前記周辺機器は、計算機システムのファイル
システムであってもよい。
【0021】さらに、本発明は、ホストプロセッサと、
互いに通信可能な複数のファイルシステムとを備えた計
算機システムであって、その各ファイルシステムはディ
スクデバイスを含む複数の構成要素を備えているととも
に、各ファイルシステム間のクロスコールにより、互い
に他のファイルシステムのディスクデバイスにアクセス
できる、計算機システムにおいて、上記ファイルシステ
ムの構成要素の障害を検知する手段と、ディスクデバイ
ス以外の構成要素に障害が発生したとき、その構成要素
を含むファイルシステム以外のファイルシステムに対
し、障害が発生した構成要素を代替する処理を依頼する
手段とを備え、該依頼を受けたファイルシステムは、そ
の依頼に基づいて代替処理を行なうとともに、クロスコ
ールにより、前記障害が発生した構成要素を含むファイ
ルシステムのディスクデバイスに、直接アクセスするこ
とを特徴とする。
【0022】また、本発明に係る計算機システムの周辺
機器は、ホストプロセッサを備えた計算機システムまた
はネットワークに接続される周辺機器であって、複数の
構成要素を備えた周辺機器において、自周辺機器の内部
にある構成要素の障害を検知する手段と、ある構成要素
に障害が発生したとき、他周辺機器に対して、その障害
が発生した構成要素を代替する処理を依頼するデータ列
を送出する手段と、他周辺機器から上記依頼した処理の
処理結果を受取ったときは、上記障害を起こした構成要
素をバイパスして、処理を継続する手段と、他周辺機器
から上記障害が発生した構成要素を代替する処理を依頼
するデータ列を受けたときは、該データ列の依頼に基づ
いて処理を行ない、処理結果を上記データ列の送出元に
返送する手段とを備えたことを特徴とする。
【0023】また、ホストプロセッサを備えた計算機シ
ステムまたはネットワークに接続される周辺機器であっ
て、複数の構成要素を備えた周辺機器において、自周辺
機器の内部にある構成要素の障害を検知する手段と、あ
る構成要素に障害が発生したとき、上記ホストプロセッ
サに対して、その障害が発生した構成要素を代替する処
理を依頼するデータ列を送出する手段と、上記ホストプ
ロセッサから上記依頼した処理の処理結果を受取ったと
きは、上記障害を起こした構成要素をバイパスして、処
理を継続する手段とを備えたことを特徴とする。
【0024】さらに、本発明は、ホストプロセッサと、
該ホストプロセッサに接続される周辺機器とを備えた計
算機システムにおいて、該周辺機器は、通常は自機器の
内部で行なう処理を、他の周辺機器またはホストプロセ
ッサに依頼する手段を備えたことを特徴とする。
【0025】また、プログラムを実行可能なプロセッサ
を含む複数の構成要素を備えた計算機システムにおい
て、上記プロセッサ以外の構成要素の動作を上記プロセ
ッサでエミュレートまたはシミュレートし、上記構成要
素による処理結果と上記プロセッサによるエミュレート
またはシミュレートの結果とを比較する手段と備えたこ
とを特徴とする。
【0026】さらに、本発明に係る計算機システムの障
害回復方法は、複数の構成要素を備えた計算機システム
の障害回復方法において、上記構成要素の障害を検知す
るステップと、ある構成要素に障害が発生したとき、そ
の構成要素を代替して機能する代替構成要素を探索する
ステップと、探索された代替構成要素に対し、障害が発
生した構成要素を代替する処理を行なわせるステップと
を備えたことを特徴とする。
【0027】また、ホストプロセッサと、複数の周辺機
器とを備えた計算機システムであって、その各周辺機器
は複数の構成要素を備えている計算機システムの障害回
復方法において、上記周辺機器の構成要素の障害を検知
するステップと、ある構成要素に障害が発生したとき、
その構成要素を含む周辺機器以外の周辺機器または上記
ホストプロセッサにより、障害が発生した構成要素を代
替する処理を行なわせるステップとを備えたことを特徴
とする。
【0028】
【作用】複数の構成要素を備えた計算機システムにおい
て、ある構成要素に障害が発生したとき、その構成要素
を代替して機能する代替構成要素を探索し、その代替構
成要素に障害が発生した構成要素を代替する処理を行な
わせるようにしているので、例えばエミュレーションな
どにより障害を起こしたハードウェアと同等の処理を行
なうようにすることができ、これにより低コストで高信
頼なシステムを構築できる。
【0029】また、障害を起こした構成要素を代替する
処理を他の周辺機器やホストプロセッサに依頼すること
ができるので、通信可能な周辺機器やホストプロセッサ
であればどこへでも障害回復依頼を行なうことができ、
その結果を障害発生した機器へ転送することができ、処
理を中断させない高信頼なシステムの構築が可能にな
る。
【0030】
【実施例】以下、図面を用いて、本発明の実施例を詳細
に説明する。
【0031】[実施例1]図1は、本発明の一実施例に
係る計算機システムであり、かつ、本発明の障害回復方
法を適用したディスクシステム(周辺機器)を用いた計
算機システムを示したものである。
【0032】このシステムは、大きく分けて、ホストプ
ロセッサ101,102とディスク装置106,107
とから構成され、両者はチャネルケーブル181,18
2により接続されている。チャネルケーブル181,1
82の制御のために、ホストプロセッサ101,102
側には入出力プロセッサ(IOP)103,104が、
ディスク装置側にはチャネルアダプタ105が、それぞ
れ設置されている。チャネルアダプタ105とディスク
装置106,107は、システムバス183に接続され
ている。
【0033】ホストプロセッサ101,102はディス
ク装置106,107に対して入出力要求を発行し、要
求を受けたディスク装置106,107は、要求内容に
従ってデータの読出し/書込み(READ/WRITE)などを行
ない、結果をホストプロセッサ101,102に通知す
る。ディスク装置106,107は、本実施例では匡体
イメージである。ディスク装置106のように、1つの
匡体内に複数のディスクシステム(ファイルシステム)
が入っていてもよい。
【0034】ディスク装置106は、構成管理テーブル
111,131、障害管理部112,116,132,
136、オプション機構(OP)113,133、制御
プロセッサ(CPU)114,117,134,13
7、キャッシュメモリ115,135、ディスクドライ
ブ118,119,138,139から成る。同様に、
ディスク装置107は、構成管理テーブル151、障害
管理部152,156、オプション機構153、制御プ
ロセッサ154,157、キャッシュメモリ155、デ
ィスクドライブ158,159から成る。図から分かる
ように、ディスク装置106は、左側と右側の2つのデ
ィスクシステムを備えている。
【0035】構成管理テーブル111,131,151
は、それぞれ、ディスク装置106,107内の各構成
要素の障害に関する情報を管理している。障害管理部1
12,116,132,136,152,156は、本
発明の特徴の1つであり、ディスク装置106,107
内の各構成要素が障害を起こした場合、できるだけ処理
を停止させないように管理する部分である。障害管理部
112,116,132,136,152,156は、
それぞれ、システムバス183に接続されている。
【0036】オプション機構113,133,153
は、ディスク装置を高機能化するための機構であり、ユ
ーザにとって便利な機能が1つあるいは複数設定するこ
とができる。以下、本実施例では圧縮機構を例にとって
説明するが、特に圧縮に限る必要はない。
【0037】制御プロセッサ114,117,134,
137,154,157は、ディスク装置106,10
7全体を制御し、例えばホストプロセッサ101,10
2からのコマンドを解釈したり、キャッシュメモリ11
5,135,155内のデータ管理などを行なう。ディ
スクドライブ118,119,138,139,15
8,159には、ユーザのデータなどが格納されてい
る。
【0038】また、121〜126,141〜146,
161〜166は、それぞれ構成管理テーブル111,
131,151の更新/参照を意味する。127,14
7,167,128,148,168は、オプション機
構や制御プロセッサの制御を受けないで、直接にデータ
を次の処理構成部へ転送するためのパスである。これら
についての詳細は、後に詳しく説明する。
【0039】図2は、本実施例における障害回復の流れ
の一例(概略)を示したフローチャートである。
【0040】ある構成要素に障害が発生すると、まずそ
の構成要素が多重化されているかどうかを調べる(ステ
ップ201)。その結果、多重化されていてかつ代用可
能な構成要素があるなら(ステップ205)、代用可能
な構成要素で代替して処理を続行する。
【0041】多重化を利用できない場合(構成要素が多
重化されていない場合、または多重化されていても代用
が不可能な場合)は、同等の機能をエミュレーション可
能かどうか調べる(ステップ202)。ここで、エミュ
レーションとは、本来ハードウェアが実行する処理をソ
フトウェア的な手段で代用することを意味する。エミュ
レーション可能ならば、そのエミュレーションを実行
し、エミュレーション処理が正常終了したかどうかを判
別する(ステップ206)。処理が正常終了したなら
ば、継続して処理を続行する。
【0042】さらに、エミュレーション不可能またはエ
ミュレーション異常終了のときは、ディスク装置が通信
可能な範囲で他のディスク装置に対して同一の処理を依
頼できるかどうか調べる(ステップ203)。他装置へ
依頼可能であれば、その処理をその他装置へ依頼して実
行してもらい、その処理が正常終了したかどうかを判別
する(ステップ207)。処理が正常終了したならば、
継続して処理を続行する。
【0043】さらに、他装置への依頼が不可能または他
装置へ依頼した処理が異常終了のときは、ホストに対し
て同一の処理を依頼できるかどうか調べる(ステップ2
04)。ホストに対して依頼可能であれば、その処理を
ホストに依頼して実行してもらい、その処理が正常終了
したかどうかを判別する(ステップ208)。処理が正
常終了したならば、継続して処理を続行する。ホストへ
の依頼も不可能またはホストへ依頼した処理が異常終了
したときは、入出力要求を発行したホストに対して、回
復不可能の障害発生した旨を通知した後、異常終了す
る。
【0044】このようにして、本実施例では、障害回復
の手段を多段化している。従来は、高々、多重化した構
成要素を代用するだけの障害回復であったが、図2のよ
うに障害回復の手段を多段化することにより、装置に対
する信頼性をより高めることができる。
【0045】次に、障害管理部112,132,152
について、詳細に説明する。3つの障害管理部112,
132,152の構成および動作は同様であるので、以
下では障害管理部112について説明するものとし、障
害管理部132,152については説明を省略する。
【0046】図3は、障害管理部112のブロック図を
示す。301はコマンド解析プロセッサ、302はコマ
ンドバッファ、303はデータバッファ、304は障害
検知プロセッサ、305は障害管理プロセッサ、306
は障害管理プロセッサが実行すべきマイクロプログラム
が格納されたメモリ、311はデータバッファ内のデー
タの転送先を切り替えるセレクタである。メモリ306
には、エミュレーションをリクエストするマイクロプロ
グラム307、外部装置による代替処理をリクエストす
るマイクロプログラム308、およびホストによる代替
処理をリクエストするマイクロプログラム309が格納
されている。
【0047】障害管理部112における処理の概要を説
明する。まず、システムバス183を介して転送された
コマンドがコマンド解析プロセッサ301で解釈され、
そのコマンドを実行するためにディスクシステム内のど
の構成要素を必要とするのかが解析される。その結果
は、障害検知プロセッサ304に転送される。これを受
けて、障害検知部304は、処理に必要な構成要素が実
行可能状態にあるのかどうかを判別する。この判別は、
構成管理テーブル111を参照することにより行なう。
【0048】処理に必要な構成要素が障害を起こしてい
た場合、障害検知プロセッサ304は、再度、構成管理
テーブル111を参照し、障害を起こした構成要素を代
替する代わりの処理方法が存在するかどうかを検索す
る。
【0049】もし代わりの処理方法が見つかれば、その
情報を障害管理プロセッサ305へ転送し、代わりの処
理を依頼する。その依頼を受けた障害管理プロセッサ3
05は、その依頼に応じて、メモリ306内のマイクロ
プログラムを実行する。また、障害管理プロセッサ30
5は、代わりの処理がどこで実行されたかに基づいてセ
レクタ311のデータ転送先を切り替える。
【0050】この実施例では、代わりの処理(代替処
理)として、図2に示したように、同一構成要素の多重
化による方法のほか、エミュレーションによる方法、外
部装置に処理依頼を行なう方法、およびホストに対して
処理依頼を行なう方法などが設けられている。したがっ
て、障害管理プロセッサ305は、代替処理を、エミュ
レーションにより行なう場合はエミュレーションリクエ
ストプログラム307を、外部装置に処理依頼を行なう
場合は外部装置リクエストプログラム308を、ホスト
に対して処理依頼を行なう場合はホストリクエストプロ
グラム309を、それぞれ実行することとなる。
【0051】上記の処理により、障害が発生しても処理
を中断することなく継続して実行可能となる。
【0052】次に、障害管理部116,136,156
について説明する。3つの障害管理部116,136,
156の構成および動作は同様であるので、以下では障
害管理部116について説明する。また、障害管理部1
16の構成および動作は、上述の障害管理部112と同
様であるので、以下では、特に異なる部分について説明
する。
【0053】図4は、図1の障害管理部116のブロッ
ク図を示したものである。障害管理部116の構成要素
401〜411は、図3の障害管理部112の構成要素
301〜311と同等のものである。ただし、障害管理
部116では、必要な機能が少ない。これは、オプショ
ン機構を管理していないためである。
【0054】オプション機構を管理していないので、オ
プション機構へのデータパスの切り替えの必要がなく、
またオプション機構のエミュレーションをリクエストす
ることもないので、メモリ406内にエミュレーション
リクエストプログラムを備える必要もない。したがっ
て、図4では、図3のデータパス312やエミュレーシ
ョンリクエストプログラム307に相当する部分はな
い。
【0055】このように、障害管理部112,132,
152,116,136,156は、それぞれ、その管
理する対象に応じて必要な機能のみを備えていればよ
い。したがって、障害管理部を設けるにあたっては、コ
ストを最小限に抑えることができる。
【0056】図5は、構成管理テーブル111の構造を
示したものである。構成管理テーブル131,151も
同様の構成である。
【0057】図5において、501は当該ディスクシス
テムの構成要素を示し、例えば圧縮機構113、制御プ
ロセッサ114,117、キャッシュメモリ115、デ
ィスクドライブ118,119などがそれにあたる。図
5の構成要素501の欄が「圧縮機構(OP)」とある
のは圧縮機構113を、「制御CPU1」とあるのは制
御プロセッサ114を、「制御CPU2」とあるのは制
御プロセッサ117を、「キャッシュ」とあるのはキャ
ッシュメモリ115を、「ドライブ1」とあるのはディ
スクドライブ118を、「ドライブ2」とあるのはディ
スクドライブ119を、それぞれ示している。
【0058】502は各構成要素の多重化の情報を記憶
する領域を示す。ここには、当該構成要素が、もし単独
で存在するなら”1”、2重化されているなら”2”な
どと格納されている。ある構成要素がn重化されている
とき、その構成要素はn個の同じ要素を内部に備えてい
ることになるが、それらn個の要素を部分要素と呼ぶも
のとする。多重化の情報502により、多重化による代
替処理が可能かどうかがわかる。もし、多重化された構
成要素中の部分要素に障害が発生し、その部分要素が利
用不可能になった場合は、本フィールドの値は障害が起
こった部分要素の数だけ引かれる。
【0059】503は当該構成要素の障害の有無を示
す。多重度による障害回復ができなくなったときに、本
フィールドがマーク(「×」印)される。図では、
「○」でその構成要素に障害がないことを、「×」でそ
の構成要素に障害があって利用不可能であることを示
す。本フィールドがマークされたとき(障害が発生した
とき)、後述の代替手段505により当該構成要素を代
替させて処理を続行させるか、または続行不可能を処理
依頼者に対して伝えなければならないかを判断する。
【0060】504は当該構成要素の障害発生回数を記
憶しておくフィールドである。各構成要素は、障害が発
生しても何度かリトライすることで正常な動作ができる
ようになることがある。本フィールドは、リトライによ
り再度使用できるようになった回数を記憶しているフィ
ールドである。装置の管理者は、本情報を参照すること
で、リトライにより処理が続けられてはいるが、あまり
にも障害発生回数が多いと何か障害を発生させる原因が
あるのではないかと推測でき、早期に装置の改良にかか
ることができる。なお、本フィールド504でいう「障
害」は、上記フィールド503でいう「障害」とは意味
が異なる。フィールド503でいう「障害」は、その構
成要素が利用不可能となる障害のことである。
【0061】505は当該構成要素に対する代替手段を
示す。代替手段とは、当該構成要素が(多重化されてい
るときは、その部分要素のすべて)障害を起こしたと
き、その構成要素を代替して同等の処理を行なう他の手
段のことである。例えば、圧縮機構113の場合は、代
替手段として、プロセッサによるエミュレーション、他
の装置に対して圧縮処理を依頼する手段、およびホスト
に対して圧縮処理を依頼する手段などがあり、これらが
フィールド505に登録されている。
【0062】上述した内容を有する構成管理テーブル1
11は、図1に示したように、各構成要素が障害を発生
したときに、パス121〜126(構成管理テーブル1
31,151ではパス141〜146,161〜16
6)を通じて更新される。すなわち、障害を発生した構
成要素自身が、構成管理テーブルを更新する。
【0063】次に、さらに詳細に図3の障害管理部11
2(図4の障害管理部116も同様)の説明を行なう。
【0064】図6は、ホストから障害管理部に転送され
るコマンドパケットの形式を示す。コマンドパケット
は、処理要求と、制御情報と、もし必要であれば処理デ
ータとが連なったデータ列である。601はコマンドフ
ィールドであり、本コマンドパケットが何を要求するも
のかが記述されている。602は位置情報を示し、フィ
ールド601の要求が何処に対してのものなのかが記述
されている。例えば、コマンドフィールド601にディ
スクドライブに対しての書き込み(WRITE)要求が
記述されているのであれば、位置情報フィールド602
には、装置名、ドライブ名、およびドライブブロック番
号などが格納されていることになる。
【0065】図7に、この位置情報フィールドに記述さ
れる情報とその意味を示す。701は位置情報の具体例
を示し、702はその意味を示す。位置情報701に記
載されている「装置1」は装置名、「VOL1」はディ
スクドライブ名、「Block100」はドライブブロ
ック番号を示す。図に示すように、位置情報の指定方法
としては、装置名からブロック番号まですべて指定する
方法、装置名とディスクドライブ名を指定する方法、装
置名のみを指定する方法、あるいは何処の装置が処理を
行なってもかまわない”ANY”を指定する方法などが
存在する。
【0066】再び図6を参照して、603は、誰が本コ
マンドパケットを発行したのか、その要求者を記述する
フィールドである。通常の場合はホストからのディスク
入出力要求であるため、本フィールド603にはホスト
の識別子が記述されている。なお、本発明では、ある装
置が他の装置に対してコマンドパケットを発行すること
もあるため、そのようなコマンドパケットでは本フィー
ルド603には要求者である装置名が記述されることと
なる。これらについては後で詳細に説明する。604は
コマンドに対する処理データが格納されている。本フィ
ールド604は、コマンドによっては必要ない場合もあ
る。
【0067】図8は、図3に示した障害管理部112の
コマンド解析プロセッサ301および障害検知プロセッ
サ304の処理フローチャートを示したものである。ス
テップ801〜804はコマンド解析部301の動作を
示し、ステップ805〜809は障害検知プロセッサ3
04の動作を示す。
【0068】コマンド解析プロセッサ301は、ステッ
プ801で、システムバス183を介して転送されたパ
ケット(例えば図6)の読み込みを行なう。ステップ8
02では読み込まれたパケットの解析が行なわれ、パケ
ットのコマンド部(図6のコマンド601、位置情報6
02、および要求者603)をコマンドバッファ302
へ転送する。次に、ステップ803で、パケットのデー
タ部(図6の処理データ604)をデータバッファに転
送する。
【0069】さらに、ステップ804では、パケットの
コマンド部を解析し、必要ならその解析結果を障害検知
プロセッサ304に送る。図8では、要求されたコマン
ドが圧縮機構113を使用する処理であるのかどうかを
判定する部分(ステップ804)のみ図示しているが、
他に、キャッシュメモリ115および制御プロセッサ1
14についても、それらを使用するのかどうか判別さ
れ、使用するのであればその旨が障害検知プロセッサ3
04に知らされる。
【0070】なお、図4のコマンド解析プロセッサ40
1であれば、制御プロセッサ117およびディスクドラ
イブ118,119について、それらを使用するのかど
うか判別され、使用するのであればその旨が障害検知プ
ロセッサ404に知らされることとなる。
【0071】次に、障害検知プロセッサ304は、ステ
ップ805で、コマンド解析プロセッサ301からの解
析結果に基づいて構成管理テーブル111の検索を行な
う。この検索は、ステップ804で選択された構成要素
が使用可能かどうか判定を行なうための検索である。具
体的には、図5の構成管理テーブル111のフィールド
503を参照することにより行なう。ステップ806で
は、その検索の結果、選択された構成要素に障害が発生
しているかどうかを判定する。
【0072】例えば、ステップ804の解析の結果、要
求されたコマンドを実行する際に圧縮機構113を使用
するということが知らされていたら、ステップ805で
は図5の構成管理テーブル111の圧縮機構113の障
害の有無503を参照し、ステップ806で圧縮機構1
13が使用可能かどうか判定する。
【0073】ステップ806で当該構成要素に障害が発
生していないなら、その構成要素による通常の動作によ
って、要求されたコマンドを実行することができるか
ら、障害管理プロセッサ305にその旨を知らせて、処
理を障害管理プロセッサ305に移す。これにより、障
害管理プロセッサ305は、障害が発生していない場合
の通常の動作を継続して、そのコマンドを実行すること
となる。この障害管理プロセッサ305の処理は、図1
0を参照して後述する。
【0074】ステップ806で当該構成要素に障害が発
生しているときは、その構成要素は利用不可能であるか
ら、ステップ807で再度構成管理テーブル111を検
索する。そして、ステップ808で、その構成要素(例
えば、圧縮機構113)に代替手段があるかどうかを判
別する。
【0075】代替手段があれば、障害管理プロセッサ3
05にその旨を知らせて、処理を障害管理プロセッサ3
05に移す。これにより、障害管理プロセッサ305
は、障害が発生した構成要素に対し、(実際には、所定
回数のリトライを行なった後に)代替手段に処理を依頼
して、障害が発生した構成要素を代替させる。この障害
管理プロセッサ305の処理は、図10を参照して後述
する。
【0076】ステップ808でもし代替手段がないよう
であれば、ステップ809で回復不可能障害である旨
を、処理の依頼者に通知する。
【0077】図9は、障害検知プロセッサ304が構成
要素の障害を検知し、かつその構成要素の代替手段があ
るとき(図8のステップ808から障害管理プロセッサ
に処理が移行するシーケンス)、障害管理プロセッサ3
05へ転送するパケットを示している。
【0078】901は障害を起こした構成要素を示すフ
ィールド、902はその構成要素の障害発生回数を格納
したフィールドである。障害発生回数は、図5のフィー
ルド504に記述されている。フィールド903には、
障害を起こした構成要素を代替する代替手段(代替構成
要素)が記述されている。本実施例において、圧縮機構
113の代替手段としては、エミュレーションによる手
段、他の装置に対して圧縮処理を依頼する手段、および
ホストに対して圧縮処理を依頼する手段などがあり、こ
こではエミュレーションによる手段が選択された場合の
パケットの例を示している。
【0079】図10は、図3に示した障害管理部112
の障害管理プロセッサ305の処理フローチャートを示
したものである。
【0080】まず、ステップ1001では、要求された
処理を実行する際に必要な構成要素に障害が発生してい
るかどうかをチェックする。障害が無いようであれば
(図8のステップ806で障害なしのとき)、処理を続
行する。ステップ1001で、障害が発生しているよう
であれば(図8のステップ806〜808で障害有りか
つ代替手段有りのとき)、ステップ1002に移る。
【0081】ステップ1002では、転送されたパケッ
ト(例えば図9)を解析し、障害が発生した構成要素に
対しリトライを行なう。そして、ステップ1003で、
ステップ1002のリトライが成功したかどうかをチェ
ックする。リトライが成功したらステップ1009に進
み、リトライが失敗したらステップ1004に進む。ス
テップ1004では、リトライの回数があらかじめ設定
された値”M”を越えたかどうかをチェックする。越え
ていないときはステップ1002に戻り、リトライを繰
り返す。ステップ1004でリトライ回数が所定値”
M”を越えたときは、障害検知プロセッサ304が選択
した代替手段を用いるため、ステップ1005に進む。
【0082】ステップ1003でリトライが成功したと
きは、ステップ1009で、構成管理テーブル内の障害
発生回数(図5のフィールド504)の内容に1をプラ
スする。そして、ステップ1010で、プラスされた値
があらかじめ設定された値”N”を越えたかどうかチェ
ックする。もし所定の値”N”を越えているようであれ
ば、ステップ1011に移り、当該構成要素に障害が多
いことをホストに通知してステップ1012に移る。ス
テップ1010で障害発生回数が所定の値”N”を越え
ていないようであれば、ステップ1012に移る。
【0083】ステップ1012ではセレクタ311(図
3)を通常パスに切り替える。例えば、図3の圧縮機構
113の障害が検知され、リトライの結果、とりあえず
圧縮機構113が正常となったときは、データバッファ
303の圧縮処理すべきデータが圧縮機構113に転送
されるように、セレクタ311のパスを通常パス312
に切り替える。
【0084】ステップ1004でリトライ回数が所定
値”M”を越えたときは、ステップ1005で、障害検
知プロセッサ304が選択した代替手段がエミュレーシ
ョンであるかどうか判別する。代替手段がエミュレーシ
ョンであればエミュレーションリクエストを行ない、そ
うでなければステップ1006に進む。ステップ100
6では、代替手段が他装置への依頼であるかどうか判別
する。他装置への依頼であればそれを実行し、そうでな
ければステップ1007に進む。ステップ1007では
代替手段がホストへの依頼であるかどうか判別する。ホ
ストへの依頼であればそれを実行し、そうでなければス
テップ1008に進む。
【0085】障害検知プロセッサ304が選択した代替
手段が見つからないようであれば、ステップ1008で
修復不可能障害発生を処理要求者に伝える。
【0086】次に、図10のステップ1005〜ステッ
プ1007で選択された各代替手段の詳細な処理手順を
説明する。
【0087】図11は、図10のステップ1005から
実行されるエミュレーションの処理フローチャートを示
す。図10の左側のフローチャートは、図3で障害管理
プロセッサ305が実行するエミュレーションリクエス
トプログラム307の処理を示す。ここでは、圧縮処理
をリクエストするものとする。図10の右側のフローチ
ャートは、圧縮処理のリクエストに応じて、図3の制御
プロセッサ114が圧縮処理を行なう手順を示す。ここ
で、エミュレーションとは、本来オプション機構113
が行なわなければならない処理を、制御プロセッサ11
4のマイクロプログラムで代替して同等の処理を行なう
ことを意味している。
【0088】図11において、障害管理プロセッサ30
5は、ステップ1101で、図3のセレクタ311を制
御プロセッサ114へのパス314に切り替える。これ
により、データバッファ303内のデータは、本来のオ
プション機構113から制御プロセッサ114に転送さ
れるようになる。ステップ1102では、制御プロセッ
サ114に対しエミュレーション要求を発行する。具体
的には、エミュレーション要求を示す識別子と共に制御
プロセッサ114に対して割り込みをかける。
【0089】割り込みを受けた制御プロセッサ114
は、エミュレーションであることを認識した後、ステッ
プ1105で、データバッファ303から圧縮を行なう
べきデータを取り込む。ステップ1106では、オプシ
ョン機構113の動作をエミュレートする。具体的に
は、オプション機構113と同じアルゴリズムによる圧
縮を行なう。
【0090】ステップ1107では、ステップ1106
の圧縮処理の結果が正常かどうかをチェックする。圧縮
処理が異常終了であれば、ステップ1108に進み、異
常終了を障害管理部112の障害管理プロセッサ305
に通知する。正常にエミュレーションが終了したのであ
れば、ステップ1109で、キャッシュ115に圧縮後
のデータを書き込む。その後、ステップ1110で、正
常終了を障害管理部112の障害管理プロセッサ305
に通知する。
【0091】終了通知を受け取った障害管理プロセッサ
305は、エミュレーション処理内でステップ1103
を実行し、異常終了かどうかチェックする。その結果、
異常終了であれば、ステップ1104で、障害検知プロ
セッサ304に対して異常終了を報告する。ステップ1
103で異常終了でなければ、エミュレーション処理を
終了する。
【0092】異常終了を報告された障害検知プロセッサ
304は、構成管理テーブル111内のフィールド50
5からエミュレーションに代わる代替手段をさがし、代
替手段があればその代替手段による代替処理を上記と同
様にして試みる。この処理は、代替手段による処理が正
常終了するかあるいは代替手段の候補が無くなるまでつ
づけられる。
【0093】上述したように、障害を起こした構成要素
に代えてエミュレーションによって処理するので、コス
トの高いハードウェアを多重に持たなくても、多重化と
ほぼ同じ信頼性を得ることができ、低コストで信頼性の
高いディスクシステムを実現することができる。エミュ
レーションは性能面ではハードウェアに劣るが、例え
ば、障害が発生してから比較的短時間の間に保守を行な
い部品交換を行なう体制であればほとんど問題はない。
【0094】また、本実施例によれば、次のような効果
もある。オプション機構113を装備していないディス
ク装置に対して、オプション機構を使用する要求が発行
された場合、従来であれば、オプション機構が無い旨を
ユーザに通知し、異常終了と判定されていたが、本実施
例によれば、その場合でもエミュレーションによる処理
続行が可能となる。
【0095】図12は、上記エミュレーションによるデ
ータの流れを示したものである。太い矢印がデータの流
れを示す。
【0096】オプション機構113に障害が発生した場
合、制御プロセッサ114でオプション機構113と同
等の処理(エミュレーション)を行ない、オプション機
構113が正常に動作したのと同じようにキャッシュメ
モリ115に圧縮データが格納されることを示してい
る。このような代替処理は、オプション機構113の障
害に限らず、ソフトウェア的に処理可能なものであれば
なんでも適用可能である。
【0097】図13は、図10のステップ1006から
実行される他装置への障害回復依頼の処理フローチャー
トを示す。本処理は、図3で障害管理プロセッサ305
が実行する他装置への依頼リクエストプログラム308
の処理に相当する。
【0098】まず、障害管理プロセッサ305は、ステ
ップ1301で、他装置に対する要求パケットを作成す
る。
【0099】図14に、この他装置に対する要求パケッ
トのフォーマット例を示す。このパケットは、コマンド
フィールド1401、位置情報フィールド1402、依
頼者フィールド1403、依頼する処理内容フィールド
1404、および処理を行なうデータフィールド140
5からなる。
【0100】コマンドフィールド1401には、障害回
復依頼であることが記述されている。位置情報フィール
ド1402には、どの装置で実行して欲しいかが記述さ
れている。この例では”ANY”指定であるため、圧縮
処理が可能な装置であればどこでもかまわないことを示
している。なお、複数の装置で同じ処理が行なわれた場
合は、最も早く結果を返してきた装置の値を使用するな
どの方法を採ればよい。
【0101】依頼者フィールド1403には、障害を起
こした装置の識別子が格納される。この識別子は、依頼
された装置から処理結果を転送(返送)するときに用い
られる。依頼する処理内容フィールド1404には、本
実施例では圧縮機構の代行要求が格納されている。デー
タフィールド1405には、圧縮処理を行なう対象であ
るデータが格納されている。
【0102】再び図13を参照して、ステップ1301
で図14のような要求パケットを作成した後、ステップ
1302ではシステムバス183に対して作成したパケ
ットを流す。これにより、システムバス183に接続さ
れた装置すべてにパケットが転送される。パケット転送
後は、依頼した処理が終了するのを待つ。
【0103】そのパケットを受け取った各装置は、自機
内の障害管理部でそのパケット内の位置情報フィールド
1402をチェックし、自機への依頼であるかどうか判
定する。自機への依頼であったときは、コマンドフィー
ルド1401を解釈し、前記図8などで説明したのと同
様にして、依頼された処理を実行する。そして、処理結
果を依頼元の装置に返す。図14のパケットの例では、
位置情報が”ANY”であるので、パケットを受けたす
べての装置で当該処理が実行され、その結果が送出され
る。依頼元の装置では、一番早く送られてきた処理結果
を用いて、以降の処理を続行することとなる。
【0104】ステップ1303では、依頼した処理が正
常に終了したかどうかをチェックする。もし異常終了で
あれば、ステップ1304で障害検知プロセッサ304
にその旨が通知される。そうでなければ、ステップ13
05でセレクタ311を直結パス127に切り替える。
これにより、キャッシュメモリ115とデータバッファ
303とが直結される。ステップ1306では、この直
結パス127により、データバッファ303内に格納さ
れている他装置による実行結果が、直接、キャッシュメ
モリ115に転送される。
【0105】なお、本実施例では、1本のシステムバス
183上に接続された他装置に障害回復要求を発行して
いるが、図14のパケットが転送可能な範囲であればど
この装置にでも障害回復を依頼することができる。例え
ば、ネットワークに接続された装置、またはネストされ
たネットワーク上の装置などに、処理を依頼するように
してもよい。したがって、本発明によれば、多数台のデ
ィスク装置を接続した場合、1台分のディスク装置が動
作可能な構成要素が複数のディスク装置により得られて
いる限りは、システムの動作を停止することなく動作可
能となる。
【0106】一般に装置の数が多くなればなるほどシス
テム全体の信頼性は低下する。しかし、本発明では、数
が増えたことによる信頼性低下を最小限に抑さえること
ができる。
【0107】図15は、他装置へ処理を依頼する際の処
理の流れを図式化したものである。太い矢印は、処理の
流れを示すとともに、例えばデータ書き込み時のデータ
の流れをも示すと考えてよい。
【0108】ディスク装置106の障害管理部112
は、圧縮機構113の障害を検知し、他の装置へ圧縮機
構113で行なうべき処理の代替を依頼する。図15で
は、ディスク装置107の障害管理部152が、これを
受けて、ディスク装置107内の圧縮機構153で、障
害を起こした圧縮機構113と同等の処理を行なう。そ
の結果は、障害管理部152から障害管理部112に送
られる。障害管理部112は、セレクタ311を直結パ
ス127に切り替えて、受けたデータを直接キャッシュ
メモリ115に転送している。
【0109】図16は、図10のステップ1007から
実行されるホストへの障害回復依頼の処理フローチャー
トを示す。本処理は、図3で障害管理プロセッサ305
が実行するホストへの依頼リクエストプログラム309
の処理に相当する。
【0110】まず、障害管理プロセッサ305は、ステ
ップ1601で、ホストプロセッサ101,102に対
する要求パケットを作成する。
【0111】図17に、このホストプロセッサに対する
要求パケットのフォーマット例を示す。このパケット
は、コマンドフィールド1701、位置情報フィールド
1702、依頼者フィールド1703、依頼する処理内
容フィールド1704、および処理を行なうデータフィ
ールド1705からなる。
【0112】コマンドフィールド1701には、障害回
復依頼であることが記述されている。位置情報フィール
ド1702には、どの装置で実行して欲しいかが記述さ
れている。ここでは、ホストプロセッサへの処理依頼で
あるから”ホスト”と記述されている。依頼者フィール
ド1703には、障害を起こした装置の識別子が格納さ
れる。この識別子は、依頼されたホストプロセッサ側か
ら処理結果を転送(返送)するときに用いられる。依頼
する処理内容フィールド1704には、本実施例では圧
縮機構の代行要求が格納されている。データフィールド
1705には、圧縮処理を行なう対象であるデータが格
納されている。
【0113】再び図16を参照して、ステップ1601
で図17のような要求パケットを作成した後、ステップ
1602ではシステムバス183に対して作成したパケ
ットを流す。これにより、チャネルアダプタ105を介
してシステムバス183に接続されたホストプロセッサ
101,102に、パケットが転送される。パケット転
送後は、依頼した処理が終了するのを待つ。
【0114】そのパケットを受け取ったホストプロセッ
サでの処理については、後に詳しく説明する。
【0115】ステップ1603では、依頼した処理が正
常に終了したかどうかをチェックする。もし異常終了で
あれば、ステップ1604で障害検知プロセッサ304
にその旨が通知される。そうでなければ、ステップ16
05でセレクタ311を直結パス127に切り替える。
これにより、キャッシュメモリ115とデータバッファ
303とが直結される。ステップ1606では、この直
結パス127により、データバッファ303内に格納さ
れているホストプロセッサによる実行結果が、直接、キ
ャッシュメモリ115に転送される。
【0116】図18は、ホストプロセッサ101(また
は102)内の特に障害回復関係のプログラムの構成を
示している。
【0117】1802はアプリケーションプログラムを
示す。ディスク装置106,107に対する入出力要求
は、アプリケーションプログラム1802が発行する。
1803は、オペレーティングシステムを示している。
オペレーティングシステム1803はホスト101(1
02)を制御するプログラムであり、図ではそのうち入
出力関係だけを取り上げて記述している。
【0118】1804は入出力終了処理プログラムであ
り、アプリケーションプログラム1802から発行され
た入出力の終了処理を行なう。終了処理には、例えば入
出力制御に使用したメモリ領域といったリソースの開放
などが含まれる。1807は入出力発行処理プログラム
である。入出力終了処理プログラム1804とは逆に、
入出力に必要なリソースを確保し、入出力プロセッサ1
03(104)に対して非同期入出力処理を依頼する。
【0119】1806は割り込み受付プログラムであ
る。アプリケーションプログラム1802から発行され
た入出力の終了時にデバイス側からホストに対して割り
込みが発生する。割り込み受付プログラム1806は、
この割り込みを受け付けるプログラムである。具体的に
は、デバイス側から発行されたパケット(図17のパケ
ットも含む)の取り込みを行なう。
【0120】1805は終了割り込み解析プログラムで
ある。このプログラム1805は、受け付けた割り込み
が、入出力終了割り込みなのかそれとも障害回復要求
(図17)なのかを判定する。1808はデバイス要求
管理プログラムである。このプログラム1808は、デ
バイス側から要求された内容を実行および管理し、実行
結果を要求したデバイスに転送する。
【0121】デバイス要求管理プログラム1808が実
行すべきプログラムは、機能プログラムライブラリ18
09に格納されており、必要に応じて実行される。例え
ば、圧縮処理を依頼されたのであれば、圧縮プログラム
1810が実行される。従来のホストプロセッサは、入
出力終了割込などを除いて、デバイス側からの処理依頼
を受け付ける機能を備えていなかった。本実施例では、
ホストプロセッサが上記のような構成を備えているた
め、デバイス側からの処理依頼を受け付けることが可能
となる。
【0122】図19は、上記構成のホストプロセッサの
動作を示すフローチャートである。
【0123】ホストプロセッサは、まず、ステップ19
01で入出力終了割り込み受付処理を行なう。この処理
は、上記の割り込み受付プログラム1806による処理
であり、具体的には、デバイス側から発行されたパケッ
ト(図17など)の取り込みなどの処理である。
【0124】次に、終了割り込み解析プログラム180
5による処理1921を行なう。すなわち、まずステッ
プ1902で、受け取ったパケットを解析し、ステップ
1803で、その割り込みが入出力終了割り込みなのか
それとも障害回復要求なのかを判定する。もし、通常の
入出力終了割り込みであれば、入出力終了処理プログラ
ム1804を起動し、ステップ1909で入出力処理を
完了させる。
【0125】ステップ1903でデバイス側からの処理
要求であると判定されたときは、デバイス要求管理プロ
グラム1808に制御を移し、処理1922を行なう。
処理1922では、まずステップ1904で、パケット
(図17)を解析する。そして、解析の結果、何を行な
うべきかを、ステップ1905〜1907で判定する。
【0126】ステップ1905〜1907の判定に基づ
いて、処理1923で、機能プログラムライブラリ18
09中のプログラムを用いて、要求された処理を実行す
る。例えば、ステップ1905で要求された処理が圧縮
処理であったときは、圧縮プログラム1810により、
ステップ1910で圧縮処理を行なう。同様に、ステッ
プ1906で要求されたのが処理1であるときはステッ
プ1911でその処理1を行ない、ステップ1907で
要求されたのが処理2であるときはステップ1912で
その処理2を行なう。
【0127】ステップ1910,1911,1912の
後、ステップ1908で、依頼を発行した装置に対し実
行結果を転送する。
【0128】図20は、上記ホストプロセッサでの回復
処理の概要を示したものである。太い矢印は、処理の流
れを示すとともに、データの流れをも示すと考えてよ
い。
【0129】ディスク装置106の障害管理部112
は、圧縮機構113の障害を検知し、ホストに対し圧縮
機構113で行なうべき処理の代替を依頼する。図20
では、ホストプロセッサ101が、これを受けて、内部
の圧縮プログラム1810を用いて、障害を起こした圧
縮機構113と同等の圧縮処理を行なう。その結果は、
ホストプロセッサ101から障害管理部112に送られ
る。障害管理部112は、セレクタ311を直結パス1
27に切り替えて、受けたデータを直接キャッシュメモ
リ115に転送している。
【0130】これにより、前述の他の装置での障害回復
と合わせて、デバイスが通信可能な、あらゆる装置ある
いはホストプロセッサを利用した障害回復が行なえるよ
うになり、より信頼性の高いシステムを構築することが
可能となる。
【0131】なお、本発明はディスク装置のみに限定さ
れず、計算機システム一般に適用可能である。また、本
発明の基本は多数のデバイスまたはコンピューティング
システム間でのリソースの有効利用にある。従って、本
発明は、障害回復に限定されることなく、一般に、多数
のデバイスまたはコンピューティングシステム間でリソ
ースを有効に利用するために適用することができる。
【0132】[実施例2]次に、本発明の第2の実施例
を説明する。本実施例では、上記第1の実施例のシステ
ムと同じシステムを用いる。特に、クロスコール動作を
行なう点に特徴がある。
【0133】図21は、本実施例における障害回復処理
をクロスコールを用いて行なう場合の動作の流れを示
す。太い矢印は、処理の流れを示すとともに、データの
流れをも示すと考えてよい。
【0134】ディスク装置106の障害管理部112
は、上位装置からのデータ書き込み要求を受けて、圧縮
機構113によりデータを圧縮し、キャッシュ115に
格納する。障害管理部116は、キャッシュ115に格
納されたデータをディスクドライブ118に書き込もう
とするが、この際、ディスクドライブ118,119の
入出力制御を行なっている制御プロセッサ117が障害
を起こしていたとする。
【0135】このとき、障害管理部116は、制御プロ
セッサ117の障害を検知し、他装置に対して障害回復
を依頼する。その依頼を受けた障害管理部132は、受
けとったデータを直結パス147でキャッシュ135に
格納し、さらに障害管理部136は、キャッシュ135
に格納されたデータを制御プロセッサ137に渡し、制
御プロセッサ137はそのデータをディスクドライブ1
18に書き込む。このように、データを元の装置に戻す
ことなく、障害回復依頼を受けた装置が直接クロスコー
ルでディスクドライブ118に対してアクセスするよう
になっている。
【0136】このクロスコールを可能にするのは、パス
171,172の存在による。このパスにより、独立の
制御形態間(すなわち、ディスク装置106中の左側の
ディスクシステムと右側のディスクシステムとの間)で
のディスクドライブのアクセスが可能になる。
【0137】次に、クロスコールによる障害回復処理を
さらに詳細に説明する。
【0138】図22は、クロスコールによる障害回復処
理依頼の手順を示すフローチャートである。本処理は、
障害管理部116の障害管理プロセッサ405により実
行される。まず、ステップ2201で、要求パケットの
作成を行なう。次に、ステップ2202で、作成された
パケットをシステムバス183に送信し、クロスコール
可能な装置へ転送する。
【0139】要求パケットとして2種類の例をあげる。
【0140】図23は、第1のパケットの例であり、図
21において障害管理部116が送出する要求パケット
の例である。このパケットは、コマンドフィールド23
01、位置情報フィールド2302、障害回復依頼者フ
ィールド2303、処理依頼者フィールド2304、依
頼する処理内容フィールド2305、および処理を行な
うデータフィールド2306からなる。
【0141】コマンドフィールド2301は、コマンド
を示し、障害回復依頼であることを相手に伝える。位置
情報フィールド2302には、依頼を行なう装置の識別
子が格納されている。障害回復依頼者フィールド230
3には、障害回復の依頼元の識別子が格納されている。
【0142】ここでは、ディスク装置106内の左側の
ディスクシステムの障害管理部116から、同じディス
ク装置106内の右側のディスクシステムの障害管理部
132,136への依頼であるので、位置情報フィール
ド2302にはディスク装置106内の右側のディスク
システムを表す「装置1−2」と記述され、障害回復依
頼者フィールド2303にはディスク装置106内の左
側のディスクシステムを表す「装置1−1」と記述され
ている。
【0143】処理依頼者フィールド2304には、処理
の依頼者であるホストの識別子が格納されている。この
識別子により当回復処理が終了した際に、依頼元に終了
処理を返すことなく直接ホストに終了報告ができる。依
頼する処理内容フィールド2305には、依頼内容が記
述される。本例では、制御プロセッサ117の処理であ
ることが記述されている。データフィールド2306に
は、依頼処理データが記述される。本例では、キャッシ
ュメモリ115内の必要データが格納されている。
【0144】以上のようなパケットにより、他装置への
依頼を行なっているので、依頼を受けた装置の側では、
不必要に処理を重複させることなく効率よく処理可能と
なる。
【0145】図24は、第2のパケットの例であり、や
はり図21において障害管理部116が送出する要求パ
ケットの例である。このパケットは、コマンドフィール
ド2401、位置情報フィールド2402、処理要求者
フィールド2403、依頼する処理内容フィールド24
04、および処理を行なうデータフィールド2405か
らなる。
【0146】コマンドフィールド2401にはコマンド
が格納されており、ここではクロスコールであることが
示されている。位置情報フィールド2402には位置情
報が格納されており、ここではアクセス対象となるディ
スクドライブの位置が格納されている。要求者フィール
ド2403には、第1のパケットの処理依頼者フィール
ド2304と同様にホストの識別子が格納されている。
処理内容フィールド2404には、依頼する処理の内容
が記述され、ここでは障害が発生した制御プロセッサ1
17の処理を示す識別子が格納される。データフィール
ド2405には、第1のパケットのデータフィールド2
306と同様にキャッシュメモリ115上の必要なデー
タが格納されている。
【0147】図23または図24のパケットのどちらを
使用しても目的とするクロスコールは可能である。以下
では、図24の第2のパケットを使用したクロスコール
処理について詳細に説明する。
【0148】図25は、図24のようなクロスコール依
頼パケットを受けた装置の処理フローチャートを示して
いる。ステップ2501〜2503は、図7のステップ
701〜703に等しいので、説明を省略する。次に、
ステップ2504ではパケットのコマンドフィールド2
401がクロスコール依頼であるかどうかを判別する。
クロスコール依頼であるときは、障害検知部304によ
るステップ2505に進む。
【0149】障害検知部304は、ステップ2505
で、パケットのデータフィールド2405のデータをキ
ャッシュメモリ135に転送する。このときは、図13
のステップ1305で述べたのと同様に、障害管理部1
32のセレクタ(図3のセレクタ311)では直結パス
147が選択されている。
【0150】次に、ステップ2506で、パケットの依
頼処理フィールド2404のデータを制御プロセッサ1
37に転送する。この転送処理を行うのは、障害管理部
136である。このとき、障害管理部136のセレクタ
(図4のセレクタ411)ではパス414が選択されて
いる。これにより、キャッシュメモリ135に格納され
たデータ(パケットのデータフィールド2405のデー
タ)は、パス414を介して制御プロセッサ137に渡
され、制御プロセッサ137は、そのデータをクロスコ
ールでディスクデバイス118に書き込む。
【0151】このような処理により、制御プロセッサ1
34での処理などを省略することができ、高速なクロス
コールが可能となる。また、このクロスコールにより、
実施例1で述べた方式に比べ、往復に要する通信オーバ
ヘッドを少なくでき、より高速に処理を行なうことがで
きる。
【0152】[実施例3]上述した第1および第2の実
施例では、ユーザがアクセスしたいデータが唯一1つの
ディスクドライブに存在するファイルシステムに本発明
を適用した例を述べた。しかし、より高信頼性を備えた
ファイルシステムを実現する場合には、同一データを複
数のディスク装置に格納しておくことで高い信頼性を得
る方式を用いることもある。これをミラーリングとい
う。
【0153】第3の実施例は、ミラーリングされたディ
スクファイルシステムに本発明を適用した例であり、そ
のようなシステムで効率的な障害回復動作を実現した例
である。なお、本実施例のシステムの構成は上述した第
1の実施例と同様のものを用いることとし、以下では、
特に第3の実施例に特有の部分を中心に説明する。
【0154】図26は、ミラーリングされた本実施例の
ディスクファイルシステムにおける障害回復の動作概要
を示したものである。太い矢印は、処理の流れを示すと
ともに、データの流れをも示すと考えてよい。ここで
は、ディスクドライブ118とディスクドライブ158
がミラーリングされており、これらのドライブ118,
158に同じ内容のデータが存在していることを前提と
する。
【0155】いま、ディスクドライブ118が障害を起
こしたとする。この障害を検知した障害管理部112
は、構成管理テーブル111を参照して、障害を起こし
たディスクドライブ118がディスクドライブ158に
ミラーリングされていることを得る。その後、障害管理
部112は、ディスクドライブ158に対して処理を行
なうことで、障害回復を行なっている。
【0156】図27は、ミラーリングの情報が格納され
ている構成管理テーブル111の内容を示している。テ
ーブルの各領域2701〜2705は、図5の構成管理
テーブル111の領域501〜505と同様の内容を格
納する領域である。図5の構成管理テーブル111と異
なる点は、レコード情報としてミラーリングがつけ加わ
ったところである。
【0157】図27では、構成要素2701が「ドライ
ブ1」(ディスクドライブ118)の代替手段2705
として「ミラー,装置2:ドライブ1」と記述されてい
る。これにより、ディスクドライブ118が、ディスク
装置107のディスクドライブ158とミラーリングさ
れていることがわかる。
【0158】図28は、本実施例における障害管理部1
12の障害管理プロセッサ305の処理フローチャート
を示したものである。同図において、ステップ2801
〜2807は前述の第1の実施例の図10のステップ1
001〜1007に、ステップ2809はステップ10
08に、ステップ2810〜2813はステップ100
9〜1012に、それぞれ対応し、これらのステップに
おける動作は第1の実施例と同様であるので説明は省略
する。
【0159】図28のフローチャートでは、ステップ2
808が追加されている。これは、ミラーリングによる
障害回復が可能かどうかをチェックするステップであ
る。障害を起こした構成要素にミラーリングが施されて
いれば、そのミラー(ミラーリングされた複数の構成要
素のうちの障害を起こしていないもの)を使用して、処
理を継続することができる。
【0160】図29は、図28のステップ2808から
実行されるミラーへの障害回復依頼の処理フローチャー
トを示す。本処理のプログラムは、図3のエミュレーシ
ョンリクエストプログラム307や外部装置リクエスト
プログラム308と同様にメモリ306に格納されてい
る。障害管理プロセッサ305は、まずステップ290
1で、ミラーリングが施されている装置に対しての回復
依頼パケットを作成する。次に、ステップ2902で、
そのパケットをシステムバス183を介して目的の装置
に転送する。
【0161】図30は、上記の障害回復依頼パケットの
構造を示している。このパケットは、第1の実施例でホ
ストから障害管理部に転送される図6のパケットと同様
のものである。ただし、図30はミラーへの依頼パケッ
トであるから、位置情報フィールド3002には、ミラ
ーリングされた装置が指定されている。ミラーリング時
のパケットの特徴は、オリジナルのパケットの位置情報
をミラーリングが施された装置と入れ替えるだけで容易
に処理依頼を行なうことができる点である。
【0162】[実施例4]上述の各実施例では、ある構
成要素が障害を起こしたときに、その障害を起こした構
成要素を他の構成要素で代替して処理を継続するシステ
ムを説明した。これに対し、第4の実施例は、前述のエ
ミュレーション処理を障害時に使用するのではなく、デ
ータの信頼性を高めるために多重化動作をさせ、ハード
ウェアとで多数決判定を行なうものである。
【0163】図31は、本実施例のファイルシステムに
おける障害管理部112の構成を示す。基本的な構成
は、図3と同様であるので、異なる点について特に詳し
く説明する。図31の障害管理部112では、オプショ
ン機構が多重化(2重化)されており、2つのオプショ
ン機構3101,3102を備えている。また、多数決
判定を行なうための比較器3103,3104が追加さ
れている。
【0164】本実施例において、第1の実施例の図6に
示したようなデータ書き込み要求のパケットを受け付け
たとする。このとき、障害管理プロセッサ305は、デ
ィスクに書き込むべきデータを圧縮するため、多重化さ
れたオプション機構3101,3102にデータを渡
す。また、オプション機構3101,3102に障害が
発生していないときでも、第1の実施例で説明したエミ
ュレーションを、制御プロセッサ114に実行させる。
【0165】オプション機構3101での圧縮処理の結
果とオプション機構3102での圧縮処理の結果とは、
比較器3103で比較される。さらに、その比較結果が
等しいときには、オプション機構3101,3102で
の圧縮処理の結果とエミュレーションの結果とが、比較
器3104で比較される。これらの比較の結果、どれか
1つのデータが他の2つのデータと異なっていた場合、
多数決により値があっていた2つのデータを採用し、キ
ャッシュ115に書き込む。
【0166】このようにして、本発明は、障害時だけで
なく通常の動作時にも適用することができ、より信頼性
の高い動作を実現できる。なお、多数決をとる方式に限
定することなく、1つのハードウェアとエミュレーショ
ンとで2重化を行なうなどのバリエーションをもたせる
こともできる。
【0167】[実施例5]上述した各実施例において
は、図3および図4に示したように、障害管理部内の障
害管理プロセッサ305,405と制御プロセッサ11
4,117とを設けているが、これらを共用することも
できる。
【0168】図32は、図3の障害管理プロセッサ30
5と制御プロセッサ114とを、1つの制御プロセッサ
3201に置き換えたものである。この制御プロセッサ
3201が、図3の障害管理プロセッサ305と制御プ
ロセッサ114の行なっていた動作を実行する。これに
より、部品点数を削減することができ、より装置コスト
を削減することができる。1つのプロセッサで、従来2
つのプロセッサが行なっていた動作を実行するので、性
能は前述の方式と比較して若干低下するが、プロセッサ
の数が削減された分かなりのコスト削減が見込める。
【0169】
【発明の効果】本発明によれば、複数の構成要素からな
る計算機システムにおいて、ある構成要素が障害を起こ
したとしても、他の構成要素(エミュレーションな
ど)、他の装置、あるいはホストプロセッサなどに、そ
の構成要素の代替処理を依頼することができるので、多
数の装置を接続しても信頼性が低下することがない。ま
た、エミュレーション、他の装置、あるいはホストプロ
セッサによる代替処理を行なっているので、多重化によ
り信頼性を向上させる従来の手法に比較して、低コスト
で信頼性の高いシステムを構築できる。
【図面の簡単な説明】
【図1】本発明に係る計算機システムの第1の実施例の
全体構成図を示す。
【図2】第1の実施例における障害回復の流れを示すフ
ローチャートを示す。
【図3】第1の実施例における障害管理部112のブロ
ック図を示す。
【図4】第1の実施例における障害管理部116のブロ
ック図を示す。
【図5】第1の実施例における障害情報が格納された構
成管理テーブルを示す。
【図6】第1の実施例においてホストから転送されるコ
マンドパケット構成を示す。
【図7】第1の実施例におけるコマンドパケット内の位
置情報の詳細を示す。
【図8】第1の実施例における障害検知部の処理フロー
チャートを示す。
【図9】第1の実施例における障害管理プロセッサへの
伝達パケット構成を示す。
【図10】第1の実施例における障害管理プロセッサの
処理フローチャートを示す。
【図11】第1の実施例におけるエミュレーション処理
のフローチャートを示す。
【図12】第1の実施例におけるエミュレーション動作
の概要を示す。
【図13】第1の実施例における他装置への障害回復依
頼処理フローチャートを示す。
【図14】第1の実施例における他装置への障害回復依
頼パケット構成を示す。
【図15】第1の実施例における他装置への障害回復依
頼処理の概要を示す。
【図16】第1の実施例におけるホストへの障害回復依
頼処理フローチャートを示す。
【図17】第1の実施例におけるホストへの障害回復依
頼パケット構成を示す。
【図18】第1の実施例におけるホスト内のプログラム
構成を示す。
【図19】第1の実施例におけるホストの障害回復処理
フローチャートを示す。
【図20】第1の実施例におけるホストへの障害回復依
頼処理の概要を示す。
【図21】第2の実施例におけるクロスコール処理の概
要を示す。
【図22】第2の実施例におけるクロスコール依頼処理
フローチャートを示す。
【図23】第2の実施例におけるクロスコール依頼パケ
ット構成(その1)を示す。
【図24】第2の実施例におけるクロスコール依頼パケ
ット構成(その2)を示す。
【図25】第2の実施例においてクロスコール依頼を受
けた装置の処理フローチャートを示す。
【図26】第3の実施例におけるミラー時の障害回復概
要を示す。
【図27】第3の実施例におけるミラー時の構成管理テ
ーブルを示す。
【図28】第3の実施例におけるミラー時の障害管理プ
ロセッサ処理フローチャートを示す。
【図29】第3の実施例におけるミラー時の障害回復依
頼フローチャートを示す。
【図30】第3の実施例におけるミラー時の障害回復依
頼パケット構成を示す。
【図31】第4の実施例におけるエミュレーションを使
用した多数決判定を行なうディスクシステムのブロック
構成(一部)図を示す。
【図32】第5の実施例における制御プロセッサを使用
した障害管理部を示す。
【符号の説明】
101,102…ホストプロセッサ、106,107…
ディスク装置、111,131,151…構成管理テー
ブル、112,116,132,136,152,15
6…障害管理部、113,133,153…オプション
機構、114,117,134,137,154,15
7…制御プロセッサ、115,135,155…キャッ
シュメモリ、118,119,138,139,15
8,159…ディスクドライブ、301,401…コマ
ンド解析プロセッサ、304,404…障害検知プロセ
ッサ、305,405…障害管理プロセッサ、307…
エミュレーションリクエストプログラム、308,40
8…外部装置リクエストプログラム、309,409…
ホストリクエストプログラム、311,411…セレク
タ。

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】複数の構成要素を備えた計算機システムに
    おいて、 上記構成要素の障害を検知する検知手段と、 ある構成要素に障害が発生したとき、その構成要素を代
    替して機能する代替構成要素を探索する探索手段と、 探索された代替構成要素に対し、障害が発生した構成要
    素を代替する処理を行なわせる管理手段とを備えたこと
    を特徴とする計算機システム。
  2. 【請求項2】前記代替構成要素は、プログラムを実行可
    能なプロセッサを備えており、該プロセッサを用いて、
    前記障害が発生した構成要素の動作をエミュレーション
    またはシミュレーションにより模擬する請求項1に記載
    の計算機システム。
  3. 【請求項3】前記障害が発生した構成要素がデータ圧縮
    機構であり、前記プロセッサは、データ圧縮のエミュレ
    ーションを行なうことを特徴とする請求項2に記載の計
    算機システム。
  4. 【請求項4】前記探索手段は、障害が発生した構成要素
    を示すデータ、およびその構成要素を代替する代替構成
    要素を示すデータを含むデータ列を生成して、前記管理
    手段へと送り、前記管理手段は、該データ列に基づいて
    前記代替する処理を行なわせることを特徴とする請求項
    1ないし3のいずれかに記載の計算機システム。
  5. 【請求項5】さらに、前記構成要素に障害が発生してい
    るかどうかを示すデータと、障害が発生したときその構
    成要素を代替する処理を表すデータとを格納した構成管
    理テーブルを備え、 前記検知手段は、該構成管理テーブルを参照して、構成
    要素の障害を検知し、 前記探索手段は、該構成管理テーブルを参照して、障害
    が発生した構成要素を代替する処理を探索することを特
    徴とする請求項1ないし4のいずれかに記載の計算機シ
    ステム。
  6. 【請求項6】さらに、前記各構成要素の障害を検知した
    とき、再度その構成要素に同じ動作を反復させ、所定回
    数以下の反復動作によりその構成要素が正常に動作した
    ときには、その構成要素には障害が発生しなかったもの
    として動作を継続するとともに、そのような反復動作に
    より正常動作に移行した回数を数え、該回数が所定値を
    越えたときにはその旨を外部に伝える手段を備えた請求
    項1ないし5のいずれかに記載の計算機システム。
  7. 【請求項7】前記構成要素が多重化されていることを特
    徴とする請求項1ないし6のいずれかに記載の計算機シ
    ステム。
  8. 【請求項8】前記管理手段自体が、前記障害が発生した
    構成要素を代替する処理を行なうことが可能な構成要素
    でもあることを特徴とする請求項1ないし7のいずれか
    に記載の計算機システム。
  9. 【請求項9】前記構成要素は、計算機システムのファイ
    ルシステムを構成する構成要素であることを特徴とする
    請求項1ないし8のいずれかに記載の計算機システム。
  10. 【請求項10】ホストプロセッサを備えた計算機システ
    ムまたはネットワークに接続される周辺機器であって、
    複数の構成要素を備えた周辺機器において、 上記構成要素の障害を検知する検知手段と、 ある構成要素に障害が発生したとき、内部の他の構成要
    素中から障害を起こした構成要素を代替して機能する代
    替構成要素を探索する探索手段と、 探索された代替構成要素に対し、障害が発生した構成要
    素を代替する処理を行なわせる管理手段とを備えたこと
    を特徴とする計算機システムの周辺機器。
  11. 【請求項11】ホストプロセッサと、複数の周辺機器と
    を備えた計算機システムであって、その各周辺機器は複
    数の構成要素を備えている、計算機システムにおいて、 上記周辺機器の構成要素の障害を検知する検知手段と、 ある構成要素に障害が発生したとき、その構成要素を含
    む周辺機器以外の周辺機器または上記ホストプロセッサ
    により、障害が発生した構成要素を代替する処理を行な
    わせる管理手段とを備えたことを特徴とする計算機シス
    テム。
  12. 【請求項12】前記管理手段は、障害回復処理依頼であ
    ることを示す識別子、障害を起こした構成要素を示す識
    別子、および依頼する処理を示す識別子を含むデータ列
    を生成して送出することにより、前記周辺機器またはホ
    ストプロセッサに代替処理を行なわせることを特徴とす
    る請求項11に記載の計算機システム。
  13. 【請求項13】前記管理手段は、前記データ列を複数の
    周辺機器に対して送信し、該データ列に格納された要求
    を処理可能な周辺機器が、該データ列に基づく代替処理
    を行なうことを特徴とする請求項12に記載の計算機シ
    ステム。
  14. 【請求項14】さらに、前記構成要素に障害が発生して
    いるかどうかを示すデータと、障害が発生したときその
    構成要素を代替する処理あるいは代替手段を表すデータ
    とを格納した構成管理テーブルを備え、 前記検知手段は、該構成管理テーブルを参照して、構成
    要素の障害を検知し、 前記管理手段は、該構成管理テーブルを参照して、どこ
    に前記代替する処理を行なわせるかを決定することを特
    徴とする請求項11ないし13のいずれかに記載の計算
    機システム。
  15. 【請求項15】前記周辺機器が多重化されていることを
    特徴とする請求項11ないし14のいずれかに記載の計
    算機システム。
  16. 【請求項16】前記周辺機器は、計算機システムのファ
    イルシステムであることを特徴とする請求項11ないし
    15のいずれかに記載の計算機システム。
  17. 【請求項17】ホストプロセッサと、互いに通信可能な
    複数のファイルシステムとを備えた計算機システムであ
    って、その各ファイルシステムはディスクデバイスを含
    む複数の構成要素を備えているとともに、各ファイルシ
    ステム間のクロスコールにより、互いに他のファイルシ
    ステムのディスクデバイスにアクセスできる、計算機シ
    ステムにおいて、 上記ファイルシステムの構成要素の障害を検知する手段
    と、ディスクデバイス以外の構成要素に障害が発生した
    とき、その構成要素を含むファイルシステム以外のファ
    イルシステムに対し、障害が発生した構成要素を代替す
    る処理を依頼する手段とを備え、 該依頼を受けたファイルシステムは、その依頼に基づい
    て代替処理を行なうとともに、クロスコールにより、前
    記障害が発生した構成要素を含むファイルシステムのデ
    ィスクデバイスに、直接アクセスすることを特徴とする
    計算機システム。
  18. 【請求項18】ホストプロセッサを備えた計算機システ
    ムまたはネットワークに接続される周辺機器であって、
    複数の構成要素を備えた周辺機器において、 自周辺機器の内部にある構成要素の障害を検知する手段
    と、 ある構成要素に障害が発生したとき、他周辺機器に対し
    て、その障害が発生した構成要素を代替する処理を依頼
    するデータ列を送出する手段と、 他周辺機器から上記依頼した処理の処理結果を受取った
    ときは、上記障害を起こした構成要素をバイパスして、
    処理を継続する手段と、 他周辺機器から上記障害が発生した構成要素を代替する
    処理を依頼するデータ列を受けたときは、該データ列の
    依頼に基づいて処理を行ない、処理結果を上記データ列
    の送出元に返送する手段とを備えたことを特徴とする計
    算機システムの周辺機器。
  19. 【請求項19】ホストプロセッサを備えた計算機システ
    ムまたはネットワークに接続される周辺機器であって、
    複数の構成要素を備えた周辺機器において、 自周辺機器の内部にある構成要素の障害を検知する手段
    と、 ある構成要素に障害が発生したとき、上記ホストプロセ
    ッサに対して、その障害が発生した構成要素を代替する
    処理を依頼するデータ列を送出する手段と、 上記ホストプロセッサから上記依頼した処理の処理結果
    を受取ったときは、上記障害を起こした構成要素をバイ
    パスして、処理を継続する手段とを備えたことを特徴と
    する計算機システムの周辺機器。
  20. 【請求項20】ホストプロセッサと、該ホストプロセッ
    サに接続される周辺機器とを備えた計算機システムにお
    いて、 該周辺機器は、通常は自機器の内部で行なう処理を、他
    の周辺機器またはホストプロセッサに依頼する手段を備
    えたことを特徴とする計算機システム。
  21. 【請求項21】プログラムを実行可能なプロセッサを含
    む複数の構成要素を備えた計算機システムにおいて、上
    記プロセッサ以外の構成要素の動作を上記プロセッサで
    エミュレートまたはシミュレートし、上記構成要素によ
    る処理結果と上記プロセッサによるエミュレートまたは
    シミュレートの結果とを比較する手段と備えたことを特
    徴とする計算機システム。
  22. 【請求項22】複数の構成要素を備えた計算機システム
    の障害回復方法において、 上記構成要素の障害を検知するステップと、 ある構成要素に障害が発生したとき、その構成要素を代
    替して機能する代替構成要素を探索するステップと、 探索された代替構成要素に対し、障害が発生した構成要
    素を代替する処理を行なわせるステップとを備えたこと
    を特徴とする計算機システムの障害回復方法。
  23. 【請求項23】前記代替構成要素は、プログラムを実行
    可能なプロセッサを備えており、該プロセッサを用い
    て、前記障害が発生した構成要素の動作をエミュレーシ
    ョンまたはシミュレーションにより模擬する請求項22
    に記載の計算機システムの障害回復方法。
  24. 【請求項24】前記障害が発生した構成要素がデータ圧
    縮機構であり、前記プロセッサは、データ圧縮のエミュ
    レーションを行なうことを特徴とする請求項23に記載
    の計算機システムの障害回復方法。
  25. 【請求項25】さらに、前記構成要素に障害が発生して
    いるかどうかを示すデータと、障害が発生したときその
    構成要素を代替する処理を表すデータとを格納した構成
    管理テーブルを備え、 前記検知するステップは、該構成管理テーブルを参照し
    て、構成要素の障害を検知し、 前記探索するステップは、該構成管理テーブルを参照し
    て、障害が発生した構成要素を代替する処理を探索する
    ことを特徴とする請求項22ないし24のいずれかに記
    載の計算機システムの障害回復方法。
  26. 【請求項26】さらに、前記各構成要素の障害を検知し
    たとき、再度その構成要素に同じ動作を反復させ、所定
    回数以下の反復動作によりその構成要素が正常に動作し
    たときには、その構成要素には障害が発生しなかったも
    のとして動作を継続するとともに、そのような反復動作
    により正常動作に移行した回数を数え、該回数が所定値
    を越えたときにはその旨を外部に伝えるステップを備え
    た請求項22ないし25のいずれかに記載の計算機シス
    テムの障害回復方法。
  27. 【請求項27】前記構成要素が多重化されていることを
    特徴とする請求項22ないし26のいずれかに記載の計
    算機システムの障害回復方法。
  28. 【請求項28】前記構成要素は、計算機システムのファ
    イルシステムを構成する構成要素であることを特徴とす
    る請求項22ないし27のいずれかに記載の計算機シス
    テムの障害回復方法。
  29. 【請求項29】ホストプロセッサと、複数の周辺機器と
    を備えた計算機システムであって、その各周辺機器は複
    数の構成要素を備えている計算機システムの障害回復方
    法において、 上記周辺機器の構成要素の障害を検知するステップと、 ある構成要素に障害が発生したとき、その構成要素を含
    む周辺機器以外の周辺機器または上記ホストプロセッサ
    により、障害が発生した構成要素を代替する処理を行な
    わせるステップとを備えたことを特徴とする計算機シス
    テムの障害回復方法。
  30. 【請求項30】前記代替する処理を行なわせるステップ
    は、障害回復処理依頼であることを示す識別子、障害を
    起こした構成要素を示す識別子、および依頼する処理を
    示す識別子を含むデータ列を生成して送出することによ
    り、前記周辺機器またはホストプロセッサに代替処理を
    行なわせることを特徴とする請求項29に記載の計算機
    システムの障害回復方法。
  31. 【請求項31】前記代替する処理を行なわせるステップ
    は、前記データ列を複数の周辺機器に対して送信し、該
    データ列に格納された要求を処理可能な周辺機器が、該
    データ列に基づく代替処理を行なうことを特徴とする請
    求項30に記載の計算機システムの障害回復方法。
  32. 【請求項32】さらに、前記構成要素に障害が発生して
    いるかどうかを示すデータと、障害が発生したときその
    構成要素を代替する処理あるいは代替手段を表すデータ
    とを格納した構成管理テーブルを備え、 前記検知するステップは、該構成管理テーブルを参照し
    て、構成要素の障害を検知し、 前記代替する処理を行なわせるステップは、該構成管理
    テーブルを参照して、どこに前記代替する処理を行なわ
    せるかを決定することを特徴とする請求項29ないし3
    1のいずれかに記載の計算機システムの障害回復方法。
  33. 【請求項33】前記周辺機器が多重化されていることを
    特徴とする請求項29ないし32のいずれかに記載の計
    算機システムの障害回復方法。
  34. 【請求項34】前記周辺機器は、計算機システムのファ
    イルシステムであることを特徴とする請求項29ないし
    33のいずれかに記載の計算機システムの障害回復方
    法。
JP5041918A 1993-02-06 1993-02-06 計算機システムおよび計算機システムの障害回復方法 Pending JPH06230992A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5041918A JPH06230992A (ja) 1993-02-06 1993-02-06 計算機システムおよび計算機システムの障害回復方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5041918A JPH06230992A (ja) 1993-02-06 1993-02-06 計算機システムおよび計算機システムの障害回復方法

Publications (1)

Publication Number Publication Date
JPH06230992A true JPH06230992A (ja) 1994-08-19

Family

ID=12621636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5041918A Pending JPH06230992A (ja) 1993-02-06 1993-02-06 計算機システムおよび計算機システムの障害回復方法

Country Status (1)

Country Link
JP (1) JPH06230992A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148467A (ja) * 2005-11-24 2007-06-14 Nec Computertechno Ltd 情報処理装置およびそのエラー処理方法ならびに制御プログラム
JP2007157060A (ja) * 2005-12-08 2007-06-21 Nec Corp マルチプロセッサシステムと初期立ち上げ方法およびプログラム
JP2008040540A (ja) * 2006-08-01 2008-02-21 Nec Corp エミュレーション装置及びエミュレーション方法
WO2011087020A1 (ja) * 2010-01-15 2011-07-21 株式会社日立製作所 組み込み装置及び組み込みシステム
JP5423886B2 (ja) * 2010-05-27 2014-02-19 富士通株式会社 パケット通信装置及びパケット転送方法
JP2014059750A (ja) * 2012-09-18 2014-04-03 Yokogawa Electric Corp フォールトトレラントシステム
US8707109B2 (en) 2010-07-06 2014-04-22 Fujitsu Limited Computer apparatus, non-transitory computer-readable medium storing an error recovery control program, and error recovery control method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148467A (ja) * 2005-11-24 2007-06-14 Nec Computertechno Ltd 情報処理装置およびそのエラー処理方法ならびに制御プログラム
JP2007157060A (ja) * 2005-12-08 2007-06-21 Nec Corp マルチプロセッサシステムと初期立ち上げ方法およびプログラム
JP2008040540A (ja) * 2006-08-01 2008-02-21 Nec Corp エミュレーション装置及びエミュレーション方法
WO2011087020A1 (ja) * 2010-01-15 2011-07-21 株式会社日立製作所 組み込み装置及び組み込みシステム
CN102667729A (zh) * 2010-01-15 2012-09-12 株式会社日立制作所 嵌入式装置以及嵌入式系统
JP5423886B2 (ja) * 2010-05-27 2014-02-19 富士通株式会社 パケット通信装置及びパケット転送方法
US9088500B2 (en) 2010-05-27 2015-07-21 Fujitsu Limited Packet communication apparatus and packet transfer method
US8707109B2 (en) 2010-07-06 2014-04-22 Fujitsu Limited Computer apparatus, non-transitory computer-readable medium storing an error recovery control program, and error recovery control method
JP2014059750A (ja) * 2012-09-18 2014-04-03 Yokogawa Electric Corp フォールトトレラントシステム
US9465634B2 (en) 2012-09-18 2016-10-11 Yokogawa Electric Corporation Fault tolerant system and method for performing fault tolerant

Similar Documents

Publication Publication Date Title
JP4371724B2 (ja) 記憶システム及び記憶装置システム
US5590277A (en) Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
US5440726A (en) Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process message-passing applications
EP0747822B1 (en) External storage system with redundant storage controllers
KR100497990B1 (ko) 중복i/o경로페일오버후의고속큐재시작방법
US7441145B2 (en) Failure monitoring for storage systems constituting multiple stages
US6792557B1 (en) Storage area network system
US6070251A (en) Method and apparatus for high availability and caching data storage devices
US7584377B2 (en) System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area networks transients
US6757782B2 (en) Disk array and method for reading/writing data from/into disk unit
US7293194B2 (en) Method and device for switching database access part from for-standby to currently in use
US8024537B2 (en) Storage system, remote copy and management method therefor
US9330153B2 (en) System, method, and computer readable medium that coordinates between devices using exchange of log files
US7315960B2 (en) Storage area network system
JPH06230992A (ja) 計算機システムおよび計算機システムの障害回復方法
JP3390608B2 (ja) ストレージネットワーク制御方法
EP0372411B1 (en) Floating console control system
US8069364B2 (en) Method to recover from logical path failures
JP2004110801A (ja) 再初期化したチャネル間接続の妥当性を検査するための技法
KR100303344B1 (ko) 시스템이중화를위한프로토콜및시스템절체우선순위관리방법
JP7007025B2 (ja) 障害処理装置、障害処理方法及びコンピュータプログラム
JP2919457B1 (ja) 二重化装置i/o制御方式およびそのプログラム記録媒体
JP2943173B2 (ja) 二重化ファイル記憶装置
JPH08153015A (ja) 障害回復方式
JPH05189312A (ja) キャッシュメモリ制御方式