JPH0226253B2 - - Google Patents

Info

Publication number
JPH0226253B2
JPH0226253B2 JP59147705A JP14770584A JPH0226253B2 JP H0226253 B2 JPH0226253 B2 JP H0226253B2 JP 59147705 A JP59147705 A JP 59147705A JP 14770584 A JP14770584 A JP 14770584A JP H0226253 B2 JPH0226253 B2 JP H0226253B2
Authority
JP
Japan
Prior art keywords
wsc
block
cpu
message
polling
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
Application number
JP59147705A
Other languages
English (en)
Other versions
JPS6061850A (ja
Inventor
Erudaa Hanmaa Uiriamu
Furanshisu Kosuman Harorudo
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS6061850A publication Critical patent/JPS6061850A/ja
Publication of JPH0226253B2 publication Critical patent/JPH0226253B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4086Bus impedance matching, e.g. termination
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は主ホストコンピユータ、主ワークステ
ーシヨンコントローラ、複数のワークステーシヨ
ン、副ホストコンピユータ、及び副ワークステー
シヨンコントローラを有する、可用性の高いコン
ピユータシステムに関する。
[従来技術] 米国特許第3303474号、第3593302号及び第
3864670号に示されるような従来技術は、共通の
ハードウエアが動作を監視しコンピユータの1つ
に故障を検知した場合に作動可能な別のコンピユ
ータに切替えるようにすることを意図している。
[発明が解決しようとする問題点] 従来は、共通のハードウエアがオペレーシヨン
を監視しており、従つてシステム全体としての可
用性という点で問題があつた。
[問題点を解決するための手段] 本発明のコンピユータシステムは、主ホストコ
ンピユータ、主ワークステーシヨンコントロー
ラ、複数のワークステーシヨン、副ホストコンピ
ユータ、及び副ワークステーシヨンコントローラ
で構成される。以下、ワークステーシヨンコント
ローラを“WSC”と略記する。
主WSCは主ホストコンピユータ及び複数のワ
ークステーシヨンに接続される。副WSCは副ホ
ストコンピユータに接続され、また主WSCがポ
ーリングできるような形で複数のワークステーシ
ヨンに接続される。主WSCが故障すると(所定
の期間内に主WSCが副WSCをポーリングしない
場合に副WSCによつてこの故障が検知される)、
副WSCは自身の状態を切替えてワークステーシ
ヨン全体に係るWSCとして機能し、故障した主
WSCのインピーダンス整合抵抗は終端抵抗とし
て機能する。隣接するワークステーシヨンへの主
WSC及び副WSCの接続は、1つのワークステー
シヨンと連続するワークステーシヨンとの接続に
対して逆である。こうしてラインインピーダンス
整合抵抗は、WSCが主モード(制御モード)に
ある場合は駆動抵抗として機能し、WSCが副モ
ード(待機モード)にある場合はライン終端抵抗
として機能する。
[実施例] 第1図は本発明に従つたコンピユータシステム
の実施例を表わすブロツク図である。複数のワー
クステーシヨン50がコンピユータ10及び10
0に接続されている。実施例のコンピユータ10
は主記憶装置15及びCPU(中央演算処理装置)
20を有する。同様に、コンピユータ100は主
記憶装置150及びCPU200を有する。コン
ピユータが専用の主記憶装置を有するか否かは、
本発明にとつては重要でない。コンピユータは、
周知の密結合配置において記憶装置を共有しても
よい。
WSC40はCPU20に接続され、WSC400
はCPU200に接続される。コンピユータ10
及び100は、通信コントローラ60及び600
を介して互いに通信する。実施例ではWSC40
はワークステーシヨン50を制御するための主
WSCとして機能し、WSC400は待機WSC即ち
副WSCとして機能する。コンピユータ10及び
100はワークステーシヨン50に対してそれぞ
れ主ホストコンピユータ及び副ホストコンピユー
タとして機能する。
WSC40及び400は通常の方式によりポー
リングリストを受け取る。ホストコンピユータ1
0及び100はポーリングリストをロードするた
めの指令をWSC40及び400に送る。それか
ら指令に従つてWSC40及び400はそれぞれ
主記憶装置15及び150からポーリングリスト
を検索する。WSC40及び400はポーリング
リストをそれぞれの記憶装置に記憶する。この詳
細は、第5a図、第5b図、及び第5c図を参照
して後に説明する。ポーリングリストロード指令
の中の制御ビツトの状態に従つて、主モード及び
副モードがセツトされる。ポーリングリストロー
ド指令は、これらの制御ビツトを除いて他は同じ
である。
WSC40及び400は、ポーリングリストロ
ード指令の実行を終えると、ワークステーシヨン
50のポーリングを開始するが、今の場合は活動
WSC、即ちWSC40のみがワークステーシヨン
50のポーリングを行い、さらに、それと同じや
り方でWSC400のポーリングを行う。
WSC400が活動している場合もあるので、
WSC40はCPU20からポーリングリストを受
け取つた後、ポート101の活動状況を監視す
る。そのとき通常は、ポート101は非活動状態
(信号なし)である。ポート101に信号がある
場合、それは、WSC400が活動WSCとして作
動しているか、または複数のワークステーシヨン
50のうちの1つが作動不能であるか、を示す。
WSC40によるポート101の監視は第8a
図のブロツク501に示されている。ポート10
1が活動状態にあるか否かは次のブロツク502
で判断される。ポート101が活動状態ならば、
WSC40は、本質的に、WSC400によつてポ
ーリングされており、従つてそれに対する応答と
して、WSC40が主WSCになりたいということ
を示すモード切替要求を返送する(ブロツク50
3)。WSC40はそれからポート101の監視を
継続して、ポート101が非活動状態になつたか
どうか(即ちWSC400が副モードになつたか
どうか)を判定する(ブロツク504)。WSC4
00が副モードに切替わらず、ポート101が活
動状態にある場合は、WSC400がポート10
1をビジーにしているということを示すエラー状
態がWSC40からホストのCPU20に報告され
る(ブロツク505)。WSC40はポート101
をポーリングリストから外してポート102及び
ポート103だけを残す(ブロツク506)。ポ
ート102及びポート103は、例えば、他のワ
ークステーシヨン群(図示せず)に接続されてい
る。
ブロツク504においてポート101が非活動
状態になれば、WSC40はWSC400を副WSC
としてポーリングする(ブロツク510)。WSC
40はそうしてWSC400からの応答を調べる
(ブロツク511)。ブロツク502においてポー
ト101が活動状態でなかつたと確定された場合
にも、このブロツク511に至る。ポート101
が活動状態でない場合、WSC40がWSC400
をポーリングする(ブロツク508)。WSC40
0から応答があるか否かを検査し(ブロツク50
9)、応答があればその有効性を検査する(ブロ
ツク511)。応答がなければ、WSC40は、そ
のことをCPU20に報告する(ブロツク53
0)。WSC400からの応答がなくても正常な場
合がある。即ち、WSC400が待機状態(副モ
ード)に切替わる途中にあつて、まだ完全には切
替つていない場合である。
ブロツク531はブロツク532(結合子C)
への戻りをセツトアツプする。ブロツク532へ
の戻りはWSC40によつて決定される。WSC器
はワークステーシヨン50のポーリングまたはポ
ート102,103のポーリングのような他の作
業を行うこともできる(ブロツク507)。ブロ
ツク532は、WSC40が副WSC400をポー
リングしていることを表わしており、ブロツク5
33において、WSC400からの応答の有無を
検査している。WSC400から再び応答がなけ
れば、ブロツク531に進む。WSC400から
応答があれば、ブロツク534において、その応
答が電源投入(POT)応答であるかどうかを検
査する。POT応答は、WSC400が検知した最
初のポーリングに対する応答である。ブロツク5
34において、応答がPOT応答以外の応答であ
れば(例えばライン雑音状態を示す応答)、ブロ
ツク531に進む。
応答がPOT応答ならば、WSC40はその再試
行カウンタをリセツトする(ブロツク536)。
そうして、WSC40は、副WSC400がポーリ
ングに応答したことを表わすメツセージを、
CPU20に送る(ブロツク537)。WSC40は
この段階で、副WSC400との良好なリンクを
確立し、そうして、ブロツク507を介するB
(第8b図)への戻りをセツトアツプする(ブロ
ツク538)。それが終ると、WSC40は副
WSC400を活動ワークステーシヨンとしてポ
ーリングすることができるようになる。このポー
リングは、WSC40がBに戻つたあとで行われ
る。
ブロツク509において、副WSC400から
応答があつた場合は、その応答が無効であつたか
どうかが判定される(ブロツク511)。その応
答が無効であつたなら、WSC40において再試
行カウンタが増分される(ブロツク512)。
WSC40の再試行カウンタはプログラム可能な
カウンタであり、所定の再試行回数がプログラム
されている。ブロツク513において再試行カウ
ンタのオーバーフローが検査され、オーバーフロ
ーがなければ、ブロツク510に戻つて副WSC
400をさらにポーリングする。オーバーフロー
があれば、WSC40はそれをCPU20に報告す
る(ブロツク514)。この報告は、ポーリング
を所定回数繰返しても、副WSC400からの応
答が無効であることを示す。WSC40はWSC4
00のポーリングを停止してポーリングリストか
らそれを外す。
ブロツク511において、応答が有効である
か、または、無効応答がない、と判定されれば、
ブロツク511へ至る経路が2つあるのでブロツ
ク515において応答の状態を検査する。応答が
なければ、WSC40の再試行カウンタが増分さ
れる(ブロツク516)。ブロツク517はその
オーバーフローを検査する。再試行カウンタのオ
ーバーフローがあれば、WSC40はそれをCPU
20に報告する(ブロツク518)。この報告の
ためのメツセージは、副WSC400がポーリン
グに応答しないということを示す。WSC40は
それからCへの戻りをセツトアツプする。ブロツ
ク517において再試行カウンタがオーバーフロ
ーしなければ、WSC40はAへの戻りをセツト
アツプする(ブロツク519)。
WSC40は第8b図のBに戻ると、まず副
WSC400をポーリングする(ブロツク54
0)。ここで、即ち副WSC400がPOT応答を
返したことがわかつた後で、副WSC400をポ
ーリングすると、副WSC400による引継ぎが
可能かどうかを調べることができる。ブロツク5
41は、副WSC400が適切に応答しているか
どうか、即ち正常であることを示すリンクレベル
ポーリング(OK)応答を返しているかどうかを
検査する。副WSC400からOK応答を受取る
と、WSC40は再試行カウンタをリセツトする
(ブロツク542)。WSC40はそれからBへの
戻りをセツトアツプし(ブロツク543)、ブロ
ツク507に進む。動作の流れを明確にするため
にブロツク507を第8b図に再記した。
ブロツク541において、OK応答以外のエラ
ー状態を表わす応答が検知されると、WSC40
は、副WSC400が主WSCになることを要求し
ているのかどうかを検査する(ブロツク544)。
副WSC400が主WSCになることを要求してい
ると、WSC40はその要求を示すメツセージを
CPU20に送る(ブロツク545)。WSC40は
その後、副モードに移行する(ブロツク546)。
副モードについては第9図を参照して説明する。
WSC40及び400のオペレーシヨンは並行
して行なわれる。実施例においては、WSC40
及び400は、主WSC及び副WSCのいずれにも
なり得るという点で同一のものである。従つて、
副WSC400は自身がポーリングされたか否か
を監視している。第9図のブロツク600におい
て、副WSC400は、ポーリングの有無を検知
し、ポーリングされたならば、POT応答を返す
(ブロツク601)。WSC400は、さらに、主
WSC40がポーリングを開始したというメツセ
ージを、CPU200に送る(ブロツク602)。
副WSC400はそれから2秒タイマを始動する。
このタイマの働きは、副WSCが2秒ごとにポー
リングされることを保証することである。このタ
イマを設けることによつて、主WSC40が正し
く動作しているかどうかを調べることができる。
ブロツク604においてポーリングの有無を検
査し、ポーリング有りと判定されれば、副WSC
400は2秒タイマを再始動する(ブロツク60
5)。副WSC400はそれから、主WSC40に
OK応答を返す(ブロツク606)。
ブロツク604において、ポーリング無しと判
定されると、ブロツク607において2秒タイマ
が増分され、それがタイムアウトしたか否かが検
査される(ブロツク608)。タイムアウトして
いなければブロツク604に戻り、タイムアウト
していれば、副WSC400は、その状態をCPU
200に報告する(ブロツク609)。副WCS4
00は、主WCS40がポーリングを中止したこ
とを報告する。
この副WCS400が主WCS40がポーリング
を中止したことを報告すると、ポーリングの検知
を続行する(ブロツク613)。この段階で主
WSC40が再びポーリングを開始する場合もあ
る。主WSC40が再びポーリングを開始すれば、
ブロツク601に進む。主WSC40がポーリン
グを開始しなければ、副WSC400は他の何ら
かの動作が起らない限りは、ブロツク613を含
むポーリング検知ループに留まる。例えば、
CPU200がWSC400を主WSCに切替える
と、WSC400は第8a図のブロツク501か
ら自身のオペレーシヨンを開始する。
副WSC400がポーリングを検知している場
合に何も起こらなければ、ブロツク610で2分
タイマが増分され、次にブロツク611におい
て、タイムアウトが生じたかどうかが検査され
る。タイムアウトしていなければ、ブロツク60
0に進む。タイムアウトしていれば、その状態が
CPU200に報告される(ブロツク612)。即
ち、WSC400は、主WSC40が2分間にわた
つてポーリングを開始していないということを報
告する。
副WSC400自身が主WSCに切替わりたいと
いう要求を表わすメツセージを主WSC40が受
け取ると、主WSC40は副WSCに切替わること
ができる。この切替えは、例えばCPU200と
CPU20とが通信コントローラ600及び60
を介して通信しCPU200がCPU20から何ら
応答を得ない場合に起こる。もしCPU20に問
題があれば、WSC40は主WSCから副WSCに切
替わることができない。従つてこの切替えは、
WSC400が主WSCになるということをCPU4
00がWSC40に示すことによつて起こる。
WSC400はそれから自身が主WSCになること
を示す適切なメツセージをWSC40に送る。
第8b図のブロツク544において、上述のメ
ツセージが検知されなければ、WSC40は再試
行カウンタを増分する(ブロツク550)。ブロ
ツク551において、再試行カウンタがオーバー
フローしたかどうかを検査し、オーバーフローし
ていなければ、ブロツク540に戻る。オーバー
フローしていれば、ブロツク552においてエラ
ー応答があるかまたは何ら応答がないかを検査す
る。何ら応答がない場合は、WSC40は、副
WSCがポーリングに対して応答しなくなつたと
いうことをCPU20に報告する(ブロツク55
3)。WSC40はそれから第8a図のAに戻るた
めの準備を行う(ブロツク554)。ブロツク5
52においてエラー応答があれば、WSC40は、
ポーリングに対する副WSC400の応答が所定
回数の再試行の後、無効であるということを、
CPU20に報告する(ブロツク555)。WSC4
0はそれから副WSC400のポーリングを停止
しそれをポーリングリストから外す(ブロツク5
56)。WSC40はそれからブロツク507に進
み他の作業(即ちWSC400以外のワークステ
ーシヨン50のポーリングの続行)を行う。
CPU20及びCPU200は各々、第10図(第
10a図乃至第10f図)に示す機能を実行する
ことができる。CPU20及びCPU200はそれ
ぞれWSC40及びWSC400に、ポーリングリ
ストロード指令を発する(第10b図のブロツク
710)。その後、CPU20及びCPU200は、
WSC40及びWSC400の指示に対応した機械
状態をセツトする(ブロツク7111。実施例で
はCPU20が機械状態を“主”にセツトし、
CPU200が“副”にセツトする。そうしてブ
ロツク712においてその機械状態が検査され
る。
CPUの機械状態が“主”にセツトされると、
ブロツク713(第10a図)に示すように、全
ワークステーシヨンのための通常処理に進む。状
態が“副”にセツトされると、ブロツク810
(第10c図)に示すように、待ち状態に進む。
CPU20が自身の機械状態を“主”にセツトし
たとする。CPU20は次に“主”機能に関して
は待ち状態に入る。“主”機能が待ち状態にある
間は、もちろん、CPU20は他の作業を遂行す
ることができる。WSC40から副WSC400の
アドレスを受け取るとCPU20は待ち状態から
抜け出る(ブロツク714)。こうしてブロツク
715において、CPU20はWSC40からメツ
セージを受け取る。
ブロツク716においてWSC40が送つてき
たメツセージのタイプ、特に、副WSC400が
ポーリングに対して最初にPOT応答を返してき
たというメツセージであるかどうかを検査する。
メツセージが以上のような内容を表わすメツセー
ジならば、再び待ち状態に進行する(第10d図
のブロツク717)。そうでなければ、ブロツク
718(第10d図)において、そのメツセージ
が、副WSC400がWSC40からのポーリング
に応答しなかつたということを表わすメツセージ
であるかどうかを検査する。無応答メツセージな
らば、CPU20はプログラム可能な3分タイマ
をセツトする(ブロツク760)。そうでなけれ
ば、ブロツク719(第10e図)において、別
の検査を行う。ブロツク719においては、
WSC40からCPU20に送られたメツセージが、
副WSC400がポート101をビジーにしてい
ることを表わすメツセージであるかどうかを検査
する。もしそうならば、CPU20はブロツク7
80(第10B図)を実行する。ブロツク780
では、CPU20が通信コントローラ60及び通
信コントローラ600を介してCPU200にメ
ツセージを送つて、WSC400の動作を停止さ
せるための指令をWSC400に送るように要求
する。ブロツク719においてメツセージが、副
WSC400がポート101をビジーにしている
ことを表わすメツセージでないなら、CPU20
はブロツク720(第10e図)においてそのメ
ツセージをさらに検査する。ブロツク720で
は、所定回数の再試行の後ポーリングに対する副
WSCの応答が無効であるということを表わすメ
ツセージであつたかどうかを検査する。
ブロツク716(第10a図)において、副
WSC400がポーリングに対して最初にPOT応
答を返してきたことを表わすメツセージが検知さ
れれば、CPU20は待ち状態に進み(第10d
図のブロツク717)、WSC40からのメツセー
ジの受け取り(ブロツク725)を待つ。もちろ
ん前述のように、その間、CPU20は他の作業
を実行することもできる。また、前述のように、
CPU20がWSC40からWSC400のアドレス
を受け取つた時点で、待ち状態は解除される。
CPU20の待ち状態が解除されると、CPU2
0はWSC40から送られてきたメツセージを検
査する。ブロツク726(第10d図)におい
て、そのメツセージが、副WSC400が主WSC
40からのポーリングに対する応答を停止したと
いうことを表わすメツセージであるかどうかを検
査する。もしそうならば、CPU20はそのメツ
セージを保管する(ブロツク727)。さもなけ
れば、ブロツク728においてさらに、そのメツ
セージが所定回数の再試行の後ポーリングに対す
る副WSCの応答が無効であるということを表わ
すメツセージであるかどうかを検査する。もしそ
うならば、そのメツセージは保管され(ブロツク
727)、そうでなければ、ブロツク729にお
いてさらにそのメツセージが、副WSC400が
主WSCになることを表わすメツセージであるか
どうかを検査する。
ブロツク726,728(第10d図)及びブ
ロツク720(第10e図)においてメツセージ
検査の結果“YES”と判定されたとすると、ブ
ロツク727(第10d図)においてそのメツセ
ージが保管され、CPU20は、副WSC400が
正常に機能しているかどうかをCPU200に検
査させるためのメツセージを通信コントローラ6
0及び通信コントローラ600を介してCPU2
00に送る(ブロツク730)。そしてCPU20
はプログラム可能なタイマをセツトし(ブロツク
731)、待ち状態に進む(ブロツク732)。
CPU200が通信コントローラ600及び通信
コントローラ60を介してCPU20にメツセー
ジを送るか(ブロツク733)、または、プログ
ラム可能なタイマがタイムアウトすると、(ブロ
ツク734)、CPU20は待ち状態から解除され
る。
プログラム可能なタイマがタイムアウトする前
にCPU200がCPU20にメツセージを送ると、
CPU20はプログラム可能なタイマをリセツト
し(ブロツク735)、CPU200から送られて
きたメツセージを検査する(ブロツク736)。
CPU200から送られたメツセージが、WSC4
00が正常であることを表わしていれば、CPU
20はCPU20側のオペレータに、すべては正
常であり従つて問題はどこか他の場所に発生して
いる、というメツセージを送る(ブロツク73
7)。問題の所在をつきとめるのはオペレータの
責任であり、WSC40のためにCPU20が実行
する機能は終了する。
ブロツク736において、CPU200から送
られたメツセージが、WSC400が正常ではな
いということを表わしていれば、CPU20はそ
のメツセージを以前に保管されたメツセージと共
にCPU20側のオペレータに送る(ブロツク7
38)。以前に保管されたメツセージというのは、
ブロツク727において保管されたメツセージ、
即ち、ブロツク726,728,720において
検査されたメツセージである。ブロツク738に
おいてメツセージをCPU20側のオペレータに
送つた後、WSC40のためにCPU20が実行す
る機能は終了する。
通信コントローラ600及び通信コントローラ
60を介してCPU200がCPU20にメツセー
ジを送る前に、プログラム可能なタイマがタイム
アウトすれば、CPU20は以前に保管したメツ
セージ(ブロツク727)と、タイマによつて設
定された所定の期間内に通信コントローラ600
及び通信コントローラ60を介してCPU200
がCPU20に応答しなかつたことを表わすメツ
セージと、をCPU20側のオペレータに送る
(ブロツク739)。これは、CPU200が機能
していないか、機能していても正常に機能してい
ないか、または通信コントローラ600及び60
を含む補助通信リングに何らかの故障がある場合
に生じる。いずれにしても、CPU20の実行す
る機能は終了する。
ブロツク729(第10d図)において、
CPU20の受け取つたメツセージが、主及び副
の切替えを表わしていると、CPU20は、WSC
40が“主”から“副”へ切替わり従つてCPU
20も自身の機械状態を切替えるべきであるとい
うことを、内部の制御プログラムに通知する(ブ
ロツク750)。そうして、CPU20は、自身の
機械状態を“主”から“副”に切替えるというこ
とをCPU20側のオペレータに通知し(ブロツ
ク751)、自身の機械状態を“主”から“副”
に切替える(ブロツク752)。
ブロツク718(第10d図)において、
WSC40からCPU20に受け取られたメツセー
ジが、副WSC400の無応答を表わしていると、
CPU20はプログラム可能なタイマをセツトし
(ブロツク760)、待ち状態に進む(ブロツク7
61)。プログラム可能なタイマがタイムアウト
するか(ブロツク762)またはタイムアウト前
にCPU20がWSC40からメツセージを受け取
れば(ブロツク763)、待ち状態は解除される。
プログラム可能なタイマがタイムアウトすれば
(ブロツク762)、CPU20は、副WSC400
が正常に機能しているかどうかをCPU200に
検査させるためのメツセージを通信コントローラ
60及び通信コントローラ600を介してCPU
200に送る(第10e図のブロツク764)。
タイムアウト前にCPU20がWSC40からメツ
セージを受け取れば(ブロツク763)、CPU2
0はそのメツセージを検査する(ブロツク76
5)。ブロツク765では、そのメツセージが、
副WSC400がポーリングに対して最初にPOT
応答を返したことを表わすメツセージであるかど
うかが検査される。もしそうならば、CPU20
はブロツク717に進む。そうでなければ、
CPU20は、WSC400が正常に動作していな
いということを表わすメツセージを、CPU20
側のオペレータに通知する(ブロツク766)。
こうしてCPU20の実行する機能は終了する。
主WSC40からCPU20がメツセージを受け
取る前にプログラム可能なタイマがタイムアウト
し(ブロツク762)、かつ、CPU20がCPU2
00にWSC400の状態検査を要求するための
メツセージを送ると(ブロツク764)、CPU2
0はプログラム可能なタイマをセツトし(ブロツ
ク770)待ち状態に進む(ブロツク771)。
副CPU200からメツセージを受け取るか(ブ
ロツク772)またはプログラム可能なタイマが
タイムアウトすると(ブロツク773)、待ち状
態は解除される。副CPU200からメツセージ
を受け取ると、CPU20はプログラム可能なタ
イマをリセツトし(ブロツク774)、受け取つ
たメツセージを検査する(ブロツク776)。ブ
ロツク776において、CPU200から送られ
てきたメツセージが、副WSC400が正常であ
ることを示すものであれば、CPU20は、WSC
40からメツセージは受け取らないが補助通信リ
ングは正常であるということをCPU20側のオ
ペレータに通知する(ブロツク777)。こうし
てCPU20の実行する機能は終了する。
副CPU200から送られてきたメツセージが、
副WSC400が正常でないということを示すも
のであれば、CPU20は、WSC40から応答が
なくかつ補助通信リングが正常でないということ
をCPU20側のオペレータに通知する(ブロツ
ク778)。こうしてCPU20の実行する機能は
終了する。
プログラム可能なタイマがタイムアウトすれば
(ブロツク773)、CPU20は、タイムアウト
前にはWSC40からメツセージはなくかつ補助
通信リンクが作動不能であつた、ということを
CPU20側のオペレータに通知する(ブロツク
779)。こうしてCPU20の実行する機能は終
了する。
ブロツク719(第10e図)において検査さ
れたメツセージが、副WSC400がポート10
1をビジーにしていることを示すものであれば、
CPU20は、副WSC400を停止させるための
メツセージを補助通信リンクを介してCPU20
0に送る(第10b図のブロツク780)。そう
してCPU20はプログラム可能なタイマをセツ
トし(ブロツク781)、待ち状態に進む(ブロ
ツク782)。副CPU200からメツセージを受
け取るか(ブロツク783)またはプログラム可
能なタイマがタイムアウトすれば(ブロツク78
4)、CPU20の待ち状態は解除される。CPU2
0が副CPU200からメツセージを受け取ると
(ブロツク783)、プログラム可能なタイマはリ
セツトされ(ブロツク785)、CPU200から
の応答の種類が検査される(ブロツク786)。
ブロツク786において、CPU200から送ら
れてきたメツセージが、副WSC400が正常で
あることを示すものであれば、CPU20は、副
WSC400が送信を継続しかつ細助通信リンク
が正常であることを示すメツセージをCPU20
側のオペレータに送る(ブロツク787)。ブロ
ツク786において、CPU200から送られて
きたメツセージが、副WSC400が正常でない
ことを示すものであれば、CPU20は、副WSC
400が送信を継続していること、及び副WSC
400が正常でないことを示すメツセージが副
CPU200から補助通信リンクを介して送られ
てきたことを示すメツセージをCPU20側のオ
ペレータに送る(ブロツク788)。こうして
CPU20の実行する機能は終了する。
CPU200がメツセージを送る前にプログラ
ム可能なタイマがタイムアウトすると(ブロツク
784)、CPU20は、副WSC400が送信を継
続していること、及び副CPU200が応答しな
いことを表わすメツセージをCPU20側のオペ
レータに送る(ブロツク789)。こうしてCPU
20の実行する機能は終了する。
前述のように、第10c図のブロツク810に
おける待ち状態は、第10b図のブロツク712
または第10d図のブロツク752から入る。
CPU200のように、最初に副CPUとしてセツ
トされていれば、ブロツク712からブロツク8
10に移行し、相手側のWSC400が“副”か
ら“主”に切替わる場合はブロツク752からブ
ロツク810に移行する。“副”状態で動作して
いるCPU即ち副CPU200は、副WSC400か
ら応答があれば待ち状態が解除される(ブロツク
815)。そうして、ブロツク816において、
副WSC400からの応答のタイプが検査される。
この応答が、主WSC40がポーリングを開始し
たことを示すものであれば、副CPU200は待
ち状態に進む(ブロツク817)。応答が、主
WSC40がポーリングを開始しなかつたことを
示すものであれば、副CPU200は補助通信リ
ンクを介して主CPU20にメツセージを送る
(ブロツク825)。
当該機能に関して待ち状態に入つた(ブロツク
817)副CPU200は副WSC400からのメ
ツセージがあれば待ち状態を解除される(ブロツ
ク820)。そうしてブロツク821においてそ
のメツセージのタイプが検査される。この状態で
有効なメツセージはただ1つであり、それは、主
WSC40がポーリングを停止したことを示すメ
ツセージである。ブロツク821においてこのメ
ツセージが検知されると、副CPU200は補助
通信リンクを介して主CPU20にメツセージを
送る(ブロツク825)。ブロツク821におい
て上記以外のメツセージが検知されると、CPU
200は、副WSC400が作動不能であるとい
うことをCPU200側のオペレータに通知する
(ブロツク822)。こうして当該機能に関する、
オペレーシヨンは終了する。
CPU200は、主WSC40がポーリングを停
止したということを表わすメツセージをCPU2
0に送ると(ブロツク825)、次にプログラム
可能なタイマをセツトし(ブロツク826)、待
ち状態に進む(ブロツク827)。
副WSC400からメツセージが送られてくる
か(ブロツク831)、補助通信リンクを介して
CPU20からメツセージが送られてくるか(ブ
ロツク832)、または、プログラム可能なタイ
マがタイムアウトすると(ブロツク833)、
CPU200の待ち状態は解除される。タイムア
ウト前にWSC400からメツセージがあれば
(ブロツク831)、プログラム可能なタイマはリ
セツトされ(ブロツク835)、副WSC400か
らのメツセージのタイプを検査する(ブロツク8
36)。そのメツセージが、主WSC40がポーリ
ングを開始したということを表わすものであれ
ば、ブロツク815に戻る。そうでなければ、
CPU200は、副WSC400が作動不能である
ことをCPU200側のオペレータに通知する
(ブロツク822)。こうしてこの機能は終了す
る。CPU200がCPU20から補助通信リング
を介してメツセージを受け取れば(ブロツク83
2)、CPU200はプログラム可能なタイマをリ
セツトし(ブロツク840)、そのメツセージの
タイプを検査する(ブロツク841)。ブロツク
841において、CPU20から受け取つたメツ
セージが、主WSC400が正常であることを表
わしていると、ブロツク810(第10c図)に
戻る。ブロツク841において、CPU20から
受け取つたメツセージが、主WSC40が正常で
ないことを表わしていると、CPU200は自身
の機械状態を“主”にセツトし(ブロツク84
5)、CPU200の側のオペレータに、CPU20
0が“主”CPUとして動作していることを通知
する(ブロツク846)。
副WSC400からメツセージを受け取るかま
たは補助通信リンクを介してCPU20からメツ
セージを受け取るよりも前に、プログラム可能な
タイマがタイムアウトすれば(ブロツク833)、
ブロツク845に進み、CPU200が自身の機
械状態を“主”にセツトする。
次に、第1図のコンピユータシステムの詳細を
第2a図乃至第2d図を参照して説明する。第2
a図において、CPU20は、制御記憶装置22
から受け取る制御ワードを処理するためのマイク
ロプロセツサ21を含む。こうしたタイプの
CPUは米国特許第4258417号に示されている。マ
イクロプロセツサ21は、仮想アドレス変換器2
3及び主記憶制御装置24を介して、主記憶装置
15をアクセスすることもできる。CPU20は
I/Oチヤネル26とインターフエースする。
I/Oチヤネル26は、米国特許第4381540号に
示されているようなタイプのものを使用できる。
I/Oチヤネル26は、第2b図のWSC40
及び通信コントローラ60とインタフエースす
る。I/Oチヤネル26はシステム制御アダプタ
30ともインタフエースする。システム制御アダ
プタ30は、米国特許第4023142号に示されるよ
うなタイプのアダプタである。
副コンピユータシステム100のCPU200
を第2d図に示す。実施例では、CPU200は
主CPU20と同一構成であり、マイクロプロセ
ツサ210、制御記憶装置200、仮想アドレス
変換器230、及び主記憶制御装置240を有す
る。副CPU200はI/Oチヤネル260とイ
ンターフエースし、I/Oチヤネル260は第2
c図のWSC400及び通信コントローラ600
とインターフエースする。I/Oチヤネル260
はシステム制御アダプタ300ともインターフエ
ースする。
第3a図乃至第3d図は、独立したWSCを含
む複数のWSCを有するコンピユータシステムの
詳細を表わすブロツク図である。
第3a図の主CPU20は第2a図と同様であ
るが、第3b図に示すように、複数のWSC40
に対するホストとして働く点が異なつている。複
数のWSC40のうち1つは主WSCとして機能
し、他のWSC40は“主”でも“副”でもない
独立なWSCとして機能する。第3d図の副CPU
200も第2d図と同様である。第3c図には、
ホストコンピユータに接続される複数のWSC4
00を示す。複数のWSC400のうち1つは副
WSCとして機能し、他のWSC400は独立な
WSCとして機能する。
第4図では、ホストコンピユータ10及び10
0が第1図のように機能するだけでなく、ホスト
コンピユータ10がホストコンピユータ1000
に対して“副”として機能し、ホストコンピユー
タ100がホストコンピユータ1000に対して
“主”として機能している。ホストコンピユータ
1000は主WSC1001及び副WSC1002
の両方を制御している。ホストコンピユータ10
00は、さらに、ホストコンピユータ2000に
対して“主”として機能している。
WSC40及びWSC400は前述のように同一
のものであり、その詳細は第5a図乃至第5c図
に示す。I/Oチヤネルを介してCPUから送ら
れてくるデータはWSCのチヤネルアウトレジス
タ41に入り、そこからチヤネルバツフア42に
送られる。このデータは例えばI/O装置指令で
あつてもよい。制御記憶装置43(第5c図)に
在るマイクロコードが指令をチヤネルバツフア4
2からデータ記憶部44(第5b図)に移す。そ
うしてマイクロ命令が指令を複号する。こうした
マイクロ命令は実行に備えて制御記憶装置43か
ら命令レジスタ45(第5b図)に移される。
指令が複号されると、指令の制御情報及びデー
タがデータ記憶部44からBAレジスタ46(第
5c図)に送られる。再試行カウンタ及びポーリ
ングリストだけでなく2秒タイマ及び2分タイマ
もランダムアクセス記憶装置(RAM)47(第
5c図)の中に含まれる。
ワークステーシヨン50はワークステーシヨン
ケーブル51を介してWSCと接続する。ワーク
ステーシヨンケーブル51は、WSCの駆動/受
信部49(第5c図)に接続されている。駆動/
受信部49はWSCの直列化/並列化器
(SERDES)48(第5c図)と接続する。
SERDES48の詳細は第6a図に示す。
SEREDES48は通常の並直列変換及び直並列変
換を行う。第6a図のケーブルアドレスレジスタ
52は、ケーブル51を構成している複数のライ
ンの1つ、及びそれに接続された複数のワークス
テーシヨンの1つを指定するための情報を含んで
いる。ラインに接続されたワークステーシヨンだ
けでなく、第6b図の駆動/受信部49に接続さ
れた各々のラインもアドレス指定することができ
る。実施例では、最高7つのワークステーシヨン
を各ラインに接続することが可能である。
WSC40(及びWSC400)に隣接するワ0
クステーシヨン50は、WSCに接続されている
アウトコネクタに接続されている。従つて動作不
能となつたWSCを取り除いたときにラインを適
切に終端することができる。インコネクタ及びア
ウトコネクタを第7図に示す。第7図に示すスイ
ツチ70はケーブル接続位置にある。スイツチ7
0はライン終端抵抗71と接続することもでき
る。本発明によれば、システムのデータ経路にお
いて故障の影響を受ける要素の数を最小限に抑え
ることができる。複数のWSCのうちの1つであ
る副WSCは、動作中のWSCに対しては1つのワ
ークステーシヨンのように見える。動作中の
WSCのホストコンピユータシステムに問題が発
生するか、または動作中のWSC自身に問題が発
生すれば、システムのオペレーシヨンを続行でき
るように副WSCがその任務を引き継いでワーク
ステーシヨンを制御する。副WSC側の副CPUは
通信路を利用して、主WSC側の主CPUが正常に
動作しなくなつたかどうかを判定する。もしそう
ならば副CPUは副WSCを介して、主WSCを
“副”WSCに切替えることを要求するための返答
を、主WSCに送り、副WSC自身は、“主”WSC
としてその任務を引き継ぐ。
[発明の効果] 以上に説明したワークステーシヨンコントロー
ラの機能によりコンピユータシステムの可用性を
高めることができる。
【図面の簡単な説明】
第1図は本発明を実施するコンピユータシステ
ムの概略を表わすブロツク図、第2図は第2a図
乃至第2d図の関係を表わすブロツク図、第2a
図乃至第2d図は第1図のコンピユータシステム
の詳細を表わすブロツク図、第3図は第3a図乃
至第3d図の関係を表わすブロツク図、第3a図
乃至第3d図は独立なワークステーシヨンコント
ローラWSCを含む複数のWSCを有するコンピユ
ータシステムの詳細を表わすブロツク図、第4図
は4つのホストコンピユータのうちの1つが、少
なくとも1以上の“副”ホストコンピユータに対
して“主”ホストコンピユータとして機能する場
合のコンピユータシステムの概略を表わすブロツ
ク図、第5図は第5a図乃至第5c図の関係を表
わすブロツク図、第5a図及至第5c図はWSC
のデータの流れを表わすブロツク図、第6a図及
び第6図bはWSCの一部を詳細に表わすブロツ
ク図、第7図はラインと終端抵抗との接続の様子
を表わす図、第8a図及び第8b図は主WSCの
オペレーシヨンを表わす流れ図、第9図は副
WSCのオペレーシヨンを表わす流れ図、第10
図は第10a図乃至第10f図の関係を表わすブ
ロツク図、第10a図乃至第10f図は主CPU
及び副CPUのオペレーシヨンを表わす流れ図で
ある。

Claims (1)

  1. 【特許請求の範囲】 1 主ホストコンピユータと、副ホストコンピユ
    ータと、主ワークステーシヨンコントローラと、
    副ワークステーシヨンコントローラと、前記主ワ
    ークステーシヨンコントローラおよび前記副ワー
    クステーシヨンコントローラがそれぞれ前記主ホ
    ストコンピユータおよび前記副ホストコンピユー
    タと接続されている複数のワークステーシヨンと
    を有するコンピユータシステムにおいて、 前記複数のワークステーシヨンをポーリングす
    るように前記主ワークステーシヨンコントローラ
    および前記副ワークステーシヨンコントローラを
    前記複数のワークステーシヨンに接続するための
    接続手段と、 待機モード動作はポーリングに応動する動作お
    よび所定の時間内にポーリングに失敗すると、モ
    ード切替えリクエストメツセージを発生する動作
    を含み、制御モード動作は前記複数のワークステ
    ーシヨンおよび待機モードのワークステーシヨン
    コントローラへのポーリング動作およびモード切
    替えリスエストメツセージを受信すると待機モー
    ドに切替える動作を含む前記主ホストコンピユー
    タおよび前記ホストコンピユータからの指令に応
    じて前記待機モードおよび前記制御モードで同一
    動作を行なうための前記主ワークステーシヨンお
    よび副ワークステーシヨンにおける制御手段とを
    備え、 前記主ワークステーシヨンコントローラおよび
    前記副ワークステーシヨンコントローラのそれぞ
    れは、前記ワークステーシヨンコントローラが前
    記制御モードで動作している場合、駆動器抵抗と
    して作用するように接続され、前記ワークステー
    シヨンコントローラが待機モードで作動する場
    合、線路終端抵抗として作用するように接続され
    る線路インピーダンス整合抵抗を有することを特
    徴とするコンピユータシステム。
JP59147705A 1983-09-12 1984-07-18 コンピユ−タシステム Granted JPS6061850A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53111483A 1983-09-12 1983-09-12
US531114 1983-09-12

Publications (2)

Publication Number Publication Date
JPS6061850A JPS6061850A (ja) 1985-04-09
JPH0226253B2 true JPH0226253B2 (ja) 1990-06-08

Family

ID=24116294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59147705A Granted JPS6061850A (ja) 1983-09-12 1984-07-18 コンピユ−タシステム

Country Status (3)

Country Link
EP (1) EP0139125B1 (ja)
JP (1) JPS6061850A (ja)
DE (1) DE3484727D1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6272248A (ja) * 1985-09-25 1987-04-02 Hitachi Ltd デ−タ伝送システムの現用予備切替方法
US4710926A (en) * 1985-12-27 1987-12-01 American Telephone And Telegraph Company, At&T Bell Laboratories Fault recovery in a distributed processing system
US5377322A (en) * 1989-07-19 1994-12-27 Hitachi, Ltd. Information handling method and system utilizing multiple interconnected processors and controllers
WO2014064696A1 (en) * 2012-10-25 2014-05-01 Michael Behagen Time saving device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49112511A (ja) * 1973-02-23 1974-10-26
JPS5348434A (en) * 1976-10-15 1978-05-01 Hitachi Denshi Ltd System mode switching method and its equipment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2224959B1 (ja) * 1973-04-05 1976-09-10 Constr Telephoniques
US3991407A (en) * 1975-04-09 1976-11-09 E. I. Du Pont De Nemours And Company Computer redundancy interface
JPS5215204A (en) * 1975-07-26 1977-02-04 Fuji Electric Co Ltd Informatioon transmission system
IT1209187B (it) * 1980-02-11 1989-07-16 Sits Soc It Telecom Siemens Dispositivo di controllo del corretto funzionamento di una coppia di elaboratori funzionanti uno come riserva calda dell'altro.
US4351023A (en) * 1980-04-11 1982-09-21 The Foxboro Company Process control system with improved system security features
US4455601A (en) * 1981-12-31 1984-06-19 International Business Machines Corporation Cross checking among service processors in a multiprocessor system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49112511A (ja) * 1973-02-23 1974-10-26
JPS5348434A (en) * 1976-10-15 1978-05-01 Hitachi Denshi Ltd System mode switching method and its equipment

Also Published As

Publication number Publication date
DE3484727D1 (de) 1991-07-25
EP0139125B1 (en) 1991-06-19
EP0139125A3 (en) 1987-12-02
JPS6061850A (ja) 1985-04-09
EP0139125A2 (en) 1985-05-02

Similar Documents

Publication Publication Date Title
US5058056A (en) Workstation takeover control
EP0147046B1 (en) Fault-tolerant communications controlller system
EP0010211B1 (en) Data storage subsystem comprising a pair of control units and method for the automatic recovery of data from a defaulting one of these control units
US4979108A (en) Task synchronization arrangement and method for remote duplex processors
JPH0560701B2 (ja)
US5410650A (en) Message control system for data communication system
JP3806600B2 (ja) 多重系システムの系切り替え方法
JPH0226253B2 (ja)
JPH0738183B2 (ja) 中央処理装置間通信処理方式
CA2002966C (en) Method of checking test program in duplex processing apparatus
JPH08227406A (ja) 並列計算機
US7016995B1 (en) Systems and methods for preventing disruption of one or more system buses
JP2966966B2 (ja) プログラマブルコントローラの二重化装置
JP2693627B2 (ja) プログラマブルコントローラの二重化システム
JPH06175868A (ja) 二重化計算機故障監視方法
JPH10232704A (ja) 二重化プログラマブルコントローラ
US11232197B2 (en) Computer system and device management method
CA1269141A (en) Task synchronization arrangement and method for remote duplex processors
KR920004292B1 (ko) 이중화 장치 및 방법
US7873662B2 (en) Link between a central system and a satellite system for executing operations of the central system
JPS5854765A (ja) 通信制御装置
JPH05175980A (ja) 系間交絡通信制御方式
JPH0744509A (ja) Cpu間通信方法
JPS638500B2 (ja)
JPS60220639A (ja) シリアルバス通信装置