JP2005235214A - 不具合が存在するときにスイッチ障害を防止する方法、装置及びソフトウエア - Google Patents

不具合が存在するときにスイッチ障害を防止する方法、装置及びソフトウエア Download PDF

Info

Publication number
JP2005235214A
JP2005235214A JP2005039974A JP2005039974A JP2005235214A JP 2005235214 A JP2005235214 A JP 2005235214A JP 2005039974 A JP2005039974 A JP 2005039974A JP 2005039974 A JP2005039974 A JP 2005039974A JP 2005235214 A JP2005235214 A JP 2005235214A
Authority
JP
Japan
Prior art keywords
switch
slave
slave unit
unit
master unit
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
JP2005039974A
Other languages
English (en)
Inventor
Kevin Nolish
ノリシュ ケビン
Drew Anderson
アンダーソン ドルー
Keith Arner
アーナー キース
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.)
Marconi Intellectual Property Ringfence Inc
Marconi Intellectual Property US Inc
Original Assignee
Marconi Intellectual Property Ringfence Inc
Marconi Intellectual Property US Inc
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 Marconi Intellectual Property Ringfence Inc, Marconi Intellectual Property US Inc filed Critical Marconi Intellectual Property Ringfence Inc
Publication of JP2005235214A publication Critical patent/JP2005235214A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Retry When Errors Occur (AREA)
  • Small-Scale Networks (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

【課題】冗長性等,特別のハードウェアを用いることなく、システムを障害状態から回復させる機能を提供する。
【解決手段】データを転送するスイッチ10であって、マスターユニット12及び複数のスレーブユニット14を含んでいる。スイッチは、バス16を具えており、該バスを通して、マスターユニットはスレーブユニットと通信が行われる。スイッチは、マスターユニットと通信が行われるメモリー8を具えており、該メモリーは、スレーブユニットに不具合が生じたときに、スイッチを自動的に回復させるソフトウエアプログラム22を有している。データを転送する方法を提供する。また、ソフトウエアプログラムを提供する。
【選択図】図2

Description

本発明は、1又は2以上のバスマスターユニット(bus master units)を1又は2以上のバススレーブユニット(bus slave units)と相互接続するマスター/スレーブバスを有する電子デバイスに関する。より具体的には、本発明は、ソフトウエアプログラムの動作に基づいて、1又は2以上のバススレーブユニットの不具合から自動的に正常状態に回復する1又は2以上のマスター/スレーブバスを有するスイッチに関する。
マスター/スレーブ共有バスシステムを少なくとも一部に具えるシステムは、スレーブユニットに何らかの不具合(failures)が存在すると、システム障害を起こし易い。マイクロソフト・ウインドウズは、これらの不具合を検出することはできるが、システムを回復する能力を有しない。本発明は、特別目的の冗長性(redundancy)及び弾力性(resiliency)を有するハードウエアのサポートを用いることなく、システムをこれらの障害状態から回復させることができる。本発明は、ソフトウエアの改変により、スレーブユニットの中にハードウエアの不具合が存在するときに、スイッチングシステムにシステム障害(system failure)をきたさないようにするものである。この方法は、特別なハードウエアのサポートを必要としない。
<発明の要旨>
本発明は、データを転送するスイッチに関する。スイッチは、少なくとも1つのマスターユニットを具えている。スイッチは、複数のスレーブユニットを具えている。スイッチは、マスターユニットがスレーブユニットと通信を行なう経路となるバスを具えている。スイッチは、マスターユニットと通信可能なメモリーを具えており、該メモリーは、スレーブユニットに不具合が生じたときに、スイッチを自動的に回復(recover)させるソフトウエアプログラムを有している。
本発明は、データを転送する方法に関する。この方法は、スイッチのマスターユニットにより、マスターユニットと不具合のあるスレーブユニットが通信を行なう経路からの信号で、スイッチの複数のスレーブユニットの中の不具合のあるスレーブユニットへアクセスを試みるステップを含んでいる。スイッチ内のソフトウエアプログラムにより、マスターユニットに対し、複数のスレーブユニットの中の不具合のあるスレーブユニットへのさらなるアクセスを回避する指令を発し、不具合のあるスレーブユニットからスイッチを自動的に回復させるステップがある。
本発明は、ソフトウエアプログラムに関する。ソフトウエアプログラムは、スイッチのマスターユニットが第1のスレーブユニットへアクセスを試みたとき、スイッチの複数のスレーブユニットの中の第1のスレーブユニットに不具合があることを確認する(identify)ステップを含んでいる。ソフトウエアプログラムは、不具合のある第1スレーブユニットに対して、マスターユニットがアクセスを試みることを回避するステップを含んでいる。
<望ましい実施例の詳細な説明>
図面を参照すると、幾つかの図面を通して、類似又は同一の要素については、同じ引用符号を付している。より具体的には、図1A、図1B及び図2において、(10)は、データを転送するためのスイッチを示している。スイッチ(10)は、少なくとも1つのマスターユニット(12)を有している。スイッチ(10)は、複数のスレーブユニット(14)を有している。スイッチ(10)は、バス(16)を有しており、該バスを通して、マスターユニット(12)とスレーブユニット(14)の通信が行われる。スイッチ(10)は、マスターユニット(12)と通信が行われるメモリー(18)を具えており、該メモリーは、スレーブユニット(14)に不具合が生じたときに、スイッチ(10)を自動的に回復させるソフトウエアプログラム(22)を有している。
好適には、スイッチ(10)は、スイッチ(10)の異常終了(abnormal termination)を存続させる永続ストレージ(persistent storage)(20)を含んでいる。スイッチ(10)は、好適には、スレーブユニット(14)の不具合を検出する機構を含んでおり、不具合が検出されると、スイッチ(10)を異常終了させる。検出機構がスイッチ(10)を異常終了させたときに、ソフトウエアプログラム(22)は、好適には、スイッチ(10)を自動的に回復させる。検出機構は、好適には、ハードウエア・ウオッチドッグデバイス(27)を含んでいる。
本発明は、データを転送する方法に関する。本発明の方法は、バス(16)を通して、スイッチ(10)のマスターユニット(12)と不具合のある(failed)スレーブユニット(14)との通信が行われようになし、スイッチ(10)のマスターユニット(12)からの信号により、スイッチ(10)の複数のスレーブユニット(14)の中の不具合のあるスレーブユニット(14)にアクセスを試みるステップを含んでいる。スイッチ(10)内のソフトウエアプログラム(22)により、マスターユニット(12)に対し、複数のスレーブユニットの中の不具合のあるスレーブユニット(14)へのさらなるアクセスを回避する指令を発し、不具合のあるスレーブユニット(14)からスイッチを自動的に回復させるステップがある。好適には、前記回復ステップは、永続ストレージ(20)より、スレーブユニット(14)の状況情報を得るステップを含んでいる。
図1A及び図Bに示されるように、本発明はソフトウエアプログラム(22)に関する。ソフトウエアプログラム(22)は、スイッチ(10)のマスターユニット(12)が第1のスレーブユニット(14)へアクセスを試みたとき、スイッチ(10)の複数のスレーブユニット(14)の中の第1スレーブユニット(14)に不具合があることを検出するステップを含んでいる。ソフトウエアプログラム(22)は、不具合のある第1スレーブユニット(14)に対して、マスターユニット(12)がアクセスを試みることを回避するステップを含んでいる。
好適には、マスターユニット(12)が第1スレーブユニット(14)へアクセスを試みたとき、異常終了したスイッチ(10)を決定する(determine)ステップがある。好適には、マスターユニット(12)がスレーブユニット(14)に接触を試みた後、スイッチ(10)が異常終了しない場合、第1スレーブユニット(14)に連繋された永続ストレージ内の情報を、不具合が検出された情報から、良好と検出された情報へ変更するステップがある。好適には、スイッチ(10)の複数のスロット(26)の中から選択され、不良可能性があるとしてマークされなかった可変スロット(24)をセットするステップがある。また、好適には、第1スレーブユニット(14)が、複数のスロット(26)の第1スロット(26)の中に物理的に存在するかどうかを決定するステップがある。
好適には、第1スロット(26)がスキップされるべきことをマークされることを決定するステップがある。また、好適には、可変スロット(24)が不良可能性があるとマークされない場合、不良可能性があるとして可変スロット(24)をマークするステップがある。好適には、可変スロット(24)がスキップされることをマークされる場合、可変スロット(24)を不具合のあるハードウエアが含まれるとして報告し、マスターユニット(12)が可変スロット(24)へアクセスを試みることを回避するステップがある。
好適には、可変スロット(24)が不良可能性があるとマークされる場合、可変スロット(24)の中にあるハードウエアへアクセスすることを試みるステップがある。好適には、マスターユニット(12)が第1スレーブユニット(14)にアクセスしたとき、スイッチ(10)が異常終了しなかったときは、可変スロット(24)を良好なものとしてマークするステップがある。好適には、可変スロット(24)が良好なものとしてマークされると、可変スロット(24)にあるハードウエアの正常動作を有効にする(enable)するステップがある。好適には、可変スロット(24)を、複数のスロット(26)の中の次のスロット(26)へセットするステップがある。
望ましい実施例において、永続情報は、例えばファイルシステムのような永続ストレージ(20)装置の中に格納される。この情報は、スレーブハードウエアユニットの状態を追跡(track)するのに用いられる。このスレーブユニット(14)に不具合が生じて、システム障害が起こるとき、格納された情報は、次に、ハードウエアを疑わしい(suspect)ものとしてマークするのに用いられる。このようにして、システム障害を起こすかもしれない不具合のあるスレーブユニット(14)に対して、ハードウエアがさらにアクセスするのが回避される。図示のフローチャートは、この手順を詳細に示している。
本発明の動作において、スイッチの構成は次の通りである。
スイッチ
a.マスター/スレーブバス
b.複数のスレーブユニット
c.コントロール・プロセッサ
i.メモリー
1.ソフトウエアプログラムを有している
ii.ウオッチドッグ
iii.永続ストレージ
iv.マスターユニット
スイッチ(10)は、1又は2以上のコントロール・プロセッサを具えている。各コントロール・プロセッサの要素は、スイッチ(10)を制御するソフトウエアプログラム(22)を有するメモリー(18)と、不具合(failures)の種類を検出できると共に、不具合が検出されたときにスイッチ(10)を再スタートさせることのできるウオッチドッグデバイスと、システムの再スタート及びシステムへの電源喪失(loss of power)の情報を保持する永続ストレージ(20)と、マスター/スレーブバス(16)を通じて1又は2以上のスレーブユニット(14)への通信を開始させるマスターユニット(12)とを含んでいる。次に、これら要素の各々について詳細に説明する。
マスタースレーブバス(16)は、ハードウエアシステムの中の複数のユニットを相互接続するのに用いられる。バス(16)は、様々なユニットとプロトコルとの電気的接続から構成される。プロトコルは、バス(16)に接続されたユニット間の通信が容易に行なわれるために、どのようにして、電気的接続を通してトランスポートされた信号が用いられるかを記載している。
バス(16)に接続されたユニットは、マスターユニット(12)とスレーブユニット(14)の2つのカテゴリーに分割されることができる。マスターユニット(12)は、他のバス(16)ユニットとの通信を開始することができ、一方、スレーブユニット(14)は、マスターユニット(12)によって開始された通信に応答するだけである。バス(16)を通じて行われる典型的な読出しトランザクション(read transaction)は、スレーブユニット(14)からの情報を要求するマスターユニット(12)で開始する。スレーブユニット(14)は、その情報を発生させるためにどんなプロセシング(processing)を局部的に行なう必要である場合も、その情報を承認し、次に、要求された情報と、トランザクションを完了したスレーブユニット(14)の信号を戻す。典型的には、書込み要求は、スレーブユニット(14)に対して、書き込まれるべきデータと共に書込み要求を送信し、マスターユニット(12)で開始する。スレーブユニット(14)は、書込み要求を処理するのにどんな局部的プロセシングが必要とされる場合でも、トランザクションを認識し、次に、トランザクションの完了を認識する。
コントロール・プロセッサのサブシステムは、システムの正常動作を取り扱い、スレーブユニット(14)に不具合がある場合は自動的にシステムを回復させるソフトウエアのアルゴリズムを含んでいる。コントロール・プロセッサのサブシステムはまた、システムを処理し回復させるためのプログラムによって用いられたプログラム及び変数を保有するためのメモリー(18)を含んでいる。コントロール・プロセッサのサブシステムはまた、永続ストレージ(20)を含んでおり、その結果、情報は、システム再スタート事象又はシステムの電力降下(power down)事象に保持されることができる。最終的に、コントロール・プロセッサシステムは、ウオッチドッグ機構を有している。ウオッチドッグの目的は、システムにおける不具合の種類を検出し回復させることである。
一般的に、ウオッチドッグデバイスの役割は、他のデバイスの動作状況(activity)を監視することである。もし、監視中のデバイスがあまりに長時間作動していない場合、何らかのアクションを実行して、システムを回復させる。ASX−4000の場合、ウオッチドッグは、コントロール・プロセッサの命令フェッチ状態を監視する。コントロール・プロセッサがアクセス指令を十分に長い時間停止する場合、ASX−4000ウオッチドッグは、コントロール・プロセッサのサブシステムをリセットし、システムの再スタート事象を開始させる。
図1A及び図1Bを参照すると、これら図の番号は、ソフトウエアプログラムを記載した図1A及び図1Bのフローチャート内の図形記号を意味する。図は、フローチャートのウォークスルーとして作成されている。
望ましい実施例において、本発明は、Marconi社のASX−4000スイッチ(10)の製品において実施される。本発明製品を含まないASX−4000は、本願の出願日より前から販売されている。このスイッチ(10)では、マスター・スレーブバス(16)は、コントロール・プロセッサを、システム内のスロット(26)の各々へ接続する。各スロット(26)は、塞がっている(occupied)ときは、コントロール・プロセッサがアクセスしたスレーブデバイスを含んでいる。コントロール・プロセッサは、システム内ではマスターとして作用する。コントロール・プロセッサの重要な動作条件は、ファイルシステムにアクセスできることであり、より重要なことは、ファイルシステムは、バッファすることなく同時に情報を格納できることである。これについては、次に、より詳しく説明する。
本発明の動作は、符号1が付されたボックスにてステップを開始する。制御はステップ2に進み、ここでは、「スロット」と称される可変スロットが、第1スロット(26)を示すように初期化される。一般的に、アルゴリズムの動作は、システム内の全てのスレーブデバイスについて反復することにより行われる。ASX−4000の場合、スレーブデバイスは、システムのスロット(26)と同等に扱うので、フローチャートはスロット(26)について説明する。
第1の決定は、フローチャート中、符号3が付されたボックスの判断ステップで行われる。ここで重要なことは、一旦、うまく動作しない(mulfunctioning)スレーブデバイスがシステムから取り除かれ、作動ハードウエアと交換されると、ハードウエアの作動状態を追跡する永続状態はリセットされなければならない。もし、これが行われなかった場合、交換されたハードウエアは、本発明では動作不良として処理され続ける。もし、スロット(26)が空いている(empty)場合、つまり、動作不良があるハードウエアが取り除かれているため、制御は、ステップ10へ進む。ここで、スロット(26)、つまり一般的には、スレーブデバイスは、コントロール・プロセッサと関連づけられたファイルシステムの中に表示することにより、「不存在(absent)」としてマークされる。
もし、判断ステップ3で、スロット(26)が塞がっていることが判ると、制御は、次に、フローチャートの次の判断ステップ4に進む。ここで重要なことは、システムが再スタートされる前に、スロット(26)又はスレーブデバイスが既に「非作動(non operational)」であることが判断されたかどうかを調べるために、ファイルシステムをチェックすることである。もし、既に判断された場合、制御はステップ11へ進み、不具合のあるスレーブデバイスへアクセスするためのさらなる試みは行われず、システムのオペレータに対し、システム内のスレーブデバイスは使用不能になったことを告知するための適当なアクションがとられる。制御は、ステップ15へ進み、システム内の未検討の他の全てのスレーブデバイスのアルゴリズムを実行する。システム内の全てのスレーブデバイスの試験が終わると、アルゴリズムは、ステップ(16)へ移動した制御によって示されるように、正常に終了する。
判断ステップ4に戻ったとき、調べられるべきスレーブデバイスが、以前のアルゴリズムの実施の際、スレーブハードウエアが作動していないために、「スキップされるべき(to be skipped)」としてマークされなかった場合、アルゴリズムは、ハードウエアを調べるために次に進む。アルゴリズムは、フローチャートの判断部7で、「不良可能性がある(potentially bad)」としてマークされるかどうかを調べる。もし、以前にアルゴリズムを実施した際、スレーブデバイスに不具合があり、スレーブデバイスの不具合により、コントロール・プロセッサが作動できない場合、スレーブデバイスは、ファイルシステムにおいて、「不良可能性がある」としてマークされているだろう。ファイルシステムにおいて「不良可能性がある」としてマークされた全てのスレーブデバイスは、システム障害を招いたかもしれないので、これらデバイスは、フローチャートのステップ6において、「スキップされるべき」としてマークされる。
しかしながら、判断ステップ4において、ハードウエアが「不良可能性がある」としてマークされなかった場合、アルゴリズムは、スレーブデバイスにアクセスして、ハードウエアの検査を行なうことを試みる。最初に、それは、ファイルシステムの中に「不良可能性がある」としてマークする。マークする方法は、アルゴリズムの機能にとって重要である。ファイルシステムは、書込み動作を終了せねばならず、デバイスがステップ9でアクセスされる前に永続的に格納された情報を有している。一般的に、これを実行する方法は、ファイルシステムにおいて何らかの同期動作(synchronize operation)を行なうことである。Linux又はその他POSIXに準拠したオペレーティングシステムに基づくシステムの場合、fsyncシステムコールがこれを実行する。MarconiのForeThoughソフトウエアにおいてこのアルゴリズムを実施するのに、VxWorksのioctlオペレーションを使用し、ファイルシステム全体の同期化を強制的に行なう。スレーブデバイスがアクセスされる前に、書込みが終了しない場合、アルゴリズムは、作動していないスレーブデバイスから正常状態に戻ることができない。それは、この書込み動作を終了することなく、不具合のあるスレーブデバイスを追跡することができないからである。
ステップ8で示されるように、システムが一旦マークされると、システムは、ステップ9で示されるように、スレーブデバイスへアクセスを試みる。デバイスが作動しているとき、スロット(26)は、ステップ9で示されるように良好であるとマークされ、制御はステップ14に進み、デバイスの正常動作を可能にし、次にステップ15へ進み、他のデバイスを調べる必要があるかどうかを判断する。
一方、スレーブデバイスが作動していないとき、システムは、コントロール・プロセッサがスレーブデバイスの操作を試みたときに操作不能となる。最終的に、ハードウエアウオッチドッグタイマーは、システムに障害が生じたことを検出し、システムを再スタートさせる。この場合、アルゴリズムが再スタートして、制御が判断部7へ移動すると、このアルゴリズムが以前に実行したときにファイルシステムに残された情報により、不具合のあるハードウエアが検出される。このようにして、不具合のあるハードウエアが検出され、非作動状態としてマークされる。
最終的に、全てのスレーブデバイスがチェックされ、作動又は非作動のどちかとしてマークされる。一旦、これが起こると、アルゴリズムはステップ16で終了する。
どのマスター/スレーブバス(16)の場合も、バス(16)に接続されたデバイスは、バス(16)のマスター又はバス(16)のスレーブデバイスのどちらか一方として考えられることができる。マスターデバイスは、バス(16)についてトランザクションを開始する能力を有しているが、スレーブユニット(14)は、マスターによって要求された場合を除いて、どんな活動も開始しない。望ましい実施例において、システムのコントロール・プロセッサは、バス(16)のマスターであり、全てのポートカード(portcards)は、スレーブデバイスとして作用する。
マスター/スレーブバス(16)のトランザクションは、マスターユニット(12)がスレーブユニット(14)の1つへ要求することによってスタートする。スレーブユニット(14)は、要求を受け入れるか又は拒絶し、該要求を満足させるのに必要とする全てのアクションを実行し、次に、要求の結果をマスターユニット(12)に戻す。ところで、スレーブユニット(14)が要求を実行する間、マスターユニット(12)、ソフトウエアプログラム(22)及びシステムのコントロール・プロセッサ(29)は、待機するのみである。この待機時間中、マスターユニット(12)と、システム(10)の全体は、原則として「フリーズ(frozen)」状態にある。通常、この時間は非常に短く、100万分の1秒のオーダである。
問題は、ハードウエアに何らかの不具合があると、スレーブユニット(14)は、要求を受け入れて、次に、フェイル(fail)となり、要求を処理し続けて、マスターユニット(12)と全体のシステム(10)が永久的にフリーズ状態になることである。スイッチ(10)には、ウオッチドッグと称されるハードウエアがあり、マスターのフリーズ状態があまりに長すぎる場合は、それを検出し、次に、マスターユニット(12)のリセット動作を実行する。望ましい実施例における「異常終了」という語は、バス(16)のトランザクションを意味し、これは、スレーブデバイスにトランザクション結果をマスターに戻させることによってバス(16)のトランザクションを終了させる代わりに、ウオッチドッグハードウエアをマスターデバイスにリセットさせることによって終了させられる。
Marconi社のATMスイッチ、例えばASX−4000における永続ストレージは、フラッシュファイルシステムを用いて実施される。これは、ソリッドステートデバイスであり、標準フォーマットされたファイルシステムであるプロセッサカードに取り付けられる。同様なデバイスは、デジタルカメラでも用いられている。この格納操作は、VxWorksオペレーティングシステムのファイルルーチンを通じて、プログラムをプログラム上で実行することによって行われる。弾力性の特徴に対する重要なイネーブラ(enabler)は、VxWorksが、VxWorksシステムコールの一部を通じて、トランザクションのような処理を支持することである。これは、上記のフローチャートの中で詳細に記載されている。
本発明の実施例について詳細に説明したが、その詳細については、単なる例示であって、当該分野の専門家であれば、特許請求の範囲内で、発明の精神及び範囲から逸脱することなく種々の変形をなし得ることができることは理解されるべきである。
本発明のフローチャートである。 本発明のフローチャートである。 本発明のスイッチのブロック図である。
符号の説明
(10) スイッチ
(12) マスターユニット
(14) スレーブユニット
(16) バス
(22) ソフトウエアプログラム

Claims (19)

  1. データを転送するスイッチであって、
    少なくとも1つのマスターユニットと、
    複数のスレーブユニットと、
    マスターユニットがスレーブユニットと通信を行なう経路となるバスと、
    スレーブユニットに不具合が生じたときに、スイッチを自動的に回復させるソフトウエアプログラムを有し、マスターユニットと通信を行なうことができるメモリーと、
    を具えているデータ転送スイッチ。
  2. スイッチの異常終了を存続させる永続ストレージを含んでいる請求項1に記載のスイッチ。
  3. スレーブユニットの不具合を検出する機構を含んでおり、不具合が検出されると、スイッチを異常終了させることができる請求項2に記載のスイッチ。
  4. 検出機構がスイッチを異常終了させたとき、ソフトウエアプログラムは、スイッチを自動的に回復させる請求項3に記載のスイッチ。
  5. 検出機構は、ハードウエア・ウオッチドッグデバイスを含んでいる請求項4に記載のスイッチ。
  6. データを転送する方法であって、スイッチのマスターユニットと不具合のあるスレーブユニットとの通信が行なわれるバスを通じて送られる信号を用いて、スイッチのマスターユニットにより、スイッチの複数のスレーブユニットの中の不具合のあるスレーブユニットにアクセスを試みるステップと、
    スイッチ内のソフトウエアプログラムにより、マスターユニットに対し、複数のスレーブユニットの中の不具合のあるスレーブユニットへのさらなるアクセスを回避する指令を発し、不具合のあるスレーブユニットからスイッチを自動的に回復させるステップ、
    を含んでいるデータ転送方法。
  7. 回復させるステップは、永続ストレージからスレーブユニットに関する状況情報を得るステップを含んでいる請求項6に記載の方法。
  8. スイッチのマスターユニットが第1のスレーブユニットへアクセスを試みたとき、スイッチの複数のスレーブユニットの中の第1スレーブユニットに不具合のあることを確認するステップと、
    不具合のある第1スレーブユニットに対して、マスターユニットがアクセスを試みることを回避するステップ、
    を含んでいるソフトウエアプログラム。
  9. マスターユニットが第1スレーブユニットへアクセスを試みたとき、異常終了したスイッチを決定するステップを含んでいる請求項8に記載のソフトウエアプログラム。
  10. マスターユニットがスレーブユニットへ接触を試みた後、スイッチが異常終了しない場合、第1スレーブユニットに連繋された永続ストレージ内の情報を、不具合が検出された情報から、良好と検出された情報へ変更するステップを含んでいる請求項9に記載のプログラム。
  11. 不良可能性があるとマークされなかった、スイッチの複数のスロットの中から選択された可変スロットをセットするステップを含んでいる請求項10に記載のプログラム。
  12. 第1スレーブユニットが、複数のスロットの第1スロットの中に物理的に存在するかどうかを判断するステップを含んでいる請求項11に記載のプログラム。
  13. 第1スロットはスキップされるべきことをマークされることを判断するステップを含んでいる請求項12に記載のプログラム。
  14. 可変スロットが不良可能性があるとマークされない場合、可変スロットを不良可能性があるとマークするステップを含んでいる請求項13に記載のプログラム。
  15. 可変スロットがスキップされることをマークされる場合、可変スロットに不具合のあるハードウエアが含まれることを報告し、マスターユニットが可変スロットへアクセスを試みることを回避させるステップを含んでいる請求項14に記載のプログラム。
  16. 可変スロットが不良可能性があるとマークされた場合、可変スロットの中にあるハードウエアへアクセスすることを試みるステップを含んでいる請求項15に記載のプログラム。
  17. マスターユニットが第1スレーブユニットにアクセスしたとき、スイッチが異常終了しなかったときは、可変スロットを良好なものとしてマークするステップを含んでいる請求項16に記載のプログラム。
  18. 可変スロットが良好なものとしてマークされたとき、可変スロットにあるハードウエアの正常動作を有効にするステップを含んでいる請求項17に記載のプログラム。
  19. 可変スロットを、複数のスロットの中の次のスロットへセットするステップを含んでいる請求項18に記載のプログラム。
JP2005039974A 2004-02-19 2005-02-17 不具合が存在するときにスイッチ障害を防止する方法、装置及びソフトウエア Pending JP2005235214A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/782,217 US20050193246A1 (en) 2004-02-19 2004-02-19 Method, apparatus and software for preventing switch failures in the presence of faults

Publications (1)

Publication Number Publication Date
JP2005235214A true JP2005235214A (ja) 2005-09-02

Family

ID=34711860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005039974A Pending JP2005235214A (ja) 2004-02-19 2005-02-17 不具合が存在するときにスイッチ障害を防止する方法、装置及びソフトウエア

Country Status (5)

Country Link
US (1) US20050193246A1 (ja)
EP (2) EP1845447B1 (ja)
JP (1) JP2005235214A (ja)
AT (2) ATE441890T1 (ja)
DE (2) DE602005002485T2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017046926A1 (ja) * 2015-09-17 2017-03-23 富士通フロンテック株式会社 紙葉類取扱装置及び紙葉類取扱装置の制御方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130658A (ja) * 1988-11-11 1990-05-18 Nec Corp 障害処理方式
JPH0667909A (ja) * 1992-08-18 1994-03-11 Mitsubishi Electric Corp 障害回復方式
US5453737A (en) * 1993-10-08 1995-09-26 Adc Telecommunications, Inc. Control and communications apparatus
JPH09160840A (ja) * 1995-12-08 1997-06-20 Fuji Facom Corp バス通信装置
JPH09204373A (ja) * 1996-01-22 1997-08-05 Internatl Business Mach Corp <Ibm> 入出力通信サブシステム
JPH11327982A (ja) * 1998-04-07 1999-11-30 Lucent Technol Inc 分散デ―タベ―スシステム障害回復方法
WO2000051000A1 (fr) * 1999-02-24 2000-08-31 Hitachi, Ltd. Systeme informatique et procede pour gerer les perturbations affectant un systeme informatique
JP2002300176A (ja) * 2001-04-02 2002-10-11 Sony Corp データ通信装置、データ通信方法、データ通信方法のプログラム及びデータ通信方法のプログラムを記録した記録媒体
JP2003308257A (ja) * 2002-04-16 2003-10-31 Orion Denki Kk データ転送システム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4597082A (en) * 1984-03-06 1986-06-24 Controlonics Corporation Transceiver for multi-drop local area networks
US4637022A (en) * 1984-12-21 1987-01-13 Motorola, Inc. Internally register-modelled, serially-bussed radio system
US4847837A (en) * 1986-11-07 1989-07-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Local area network with fault-checking, priorities and redundant backup
JP2761924B2 (ja) * 1989-06-08 1998-06-04 キヤノン株式会社 ユニット間通信装置
US5333285A (en) * 1991-11-21 1994-07-26 International Business Machines Corporation System crash detect and automatic reset mechanism for processor cards
US5588112A (en) * 1992-12-30 1996-12-24 Digital Equipment Corporation DMA controller for memory scrubbing
US5574945A (en) * 1993-11-04 1996-11-12 International Business Machines Corporation Multi channel inter-processor coupling facility processing received commands stored in memory absent status error of channels
JP3447404B2 (ja) * 1994-12-08 2003-09-16 日本電気株式会社 マルチプロセッサシステム
US5828823A (en) * 1995-03-01 1998-10-27 Unisys Corporation Method and apparatus for storing computer data after a power failure
US5822512A (en) * 1995-05-19 1998-10-13 Compaq Computer Corporartion Switching control in a fault tolerant system
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US6000043A (en) * 1996-06-28 1999-12-07 Intel Corporation Method and apparatus for management of peripheral devices coupled to a bus
US5802269A (en) * 1996-06-28 1998-09-01 Intel Corporation Method and apparatus for power management of distributed direct memory access (DDMA) devices
US6000040A (en) * 1996-10-29 1999-12-07 Compaq Computer Corporation Method and apparatus for diagnosing fault states in a computer system
US5864653A (en) * 1996-12-31 1999-01-26 Compaq Computer Corporation PCI hot spare capability for failed components
US6463550B1 (en) * 1998-06-04 2002-10-08 Compaq Information Technologies Group, L.P. Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory
US6587961B1 (en) * 1998-06-15 2003-07-01 Sun Microsystems, Inc. Multi-processor system bridge with controlled access
US5991900A (en) * 1998-06-15 1999-11-23 Sun Microsystems, Inc. Bus controller
US6718488B1 (en) * 1999-09-03 2004-04-06 Dell Usa, L.P. Method and system for responding to a failed bus operation in an information processing system
US6496890B1 (en) * 1999-12-03 2002-12-17 Michael Joseph Azevedo Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
WO2001071501A1 (en) * 2000-03-22 2001-09-27 Interwoven Inc. Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents
US6601187B1 (en) * 2000-03-31 2003-07-29 Hewlett-Packard Development Company, L. P. System for data replication using redundant pairs of storage controllers, fibre channel fabrics and links therebetween
US6735720B1 (en) * 2000-05-31 2004-05-11 Microsoft Corporation Method and system for recovering a failed device on a master-slave bus
US6574748B1 (en) * 2000-06-16 2003-06-03 Bull Hn Information Systems Inc. Fast relief swapping of processors in a data processing system
US6928584B2 (en) * 2000-11-22 2005-08-09 Tellabs Reston, Inc. Segmented protection system and method
US6769078B2 (en) * 2001-02-08 2004-07-27 International Business Machines Corporation Method for isolating an I2C bus fault using self bus switching device
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6910153B2 (en) * 2002-01-03 2005-06-21 International Business Machines Corporation Method and system for recovery from a coupling facility failure without preallocating space
US7043666B2 (en) * 2002-01-22 2006-05-09 Dell Products L.P. System and method for recovering from memory errors
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
TWM242781U (en) * 2002-11-25 2004-09-01 Quanta Comp Inc Blade server management system with auxiliary management structure
JP2008250632A (ja) * 2007-03-30 2008-10-16 Matsushita Electric Ind Co Ltd データ処理システム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130658A (ja) * 1988-11-11 1990-05-18 Nec Corp 障害処理方式
JPH0667909A (ja) * 1992-08-18 1994-03-11 Mitsubishi Electric Corp 障害回復方式
US5453737A (en) * 1993-10-08 1995-09-26 Adc Telecommunications, Inc. Control and communications apparatus
JPH09160840A (ja) * 1995-12-08 1997-06-20 Fuji Facom Corp バス通信装置
JPH09204373A (ja) * 1996-01-22 1997-08-05 Internatl Business Mach Corp <Ibm> 入出力通信サブシステム
JPH11327982A (ja) * 1998-04-07 1999-11-30 Lucent Technol Inc 分散デ―タベ―スシステム障害回復方法
WO2000051000A1 (fr) * 1999-02-24 2000-08-31 Hitachi, Ltd. Systeme informatique et procede pour gerer les perturbations affectant un systeme informatique
JP2002300176A (ja) * 2001-04-02 2002-10-11 Sony Corp データ通信装置、データ通信方法、データ通信方法のプログラム及びデータ通信方法のプログラムを記録した記録媒体
JP2003308257A (ja) * 2002-04-16 2003-10-31 Orion Denki Kk データ転送システム

Also Published As

Publication number Publication date
EP1845447A3 (en) 2008-01-09
DE602005016462D1 (de) 2009-10-15
EP1845447B1 (en) 2009-09-02
EP1566733B1 (en) 2007-09-19
DE602005002485T2 (de) 2008-06-26
EP1566733A1 (en) 2005-08-24
DE602005002485D1 (de) 2007-10-31
US20050193246A1 (en) 2005-09-01
EP1845447A2 (en) 2007-10-17
ATE373842T1 (de) 2007-10-15
ATE441890T1 (de) 2009-09-15

Similar Documents

Publication Publication Date Title
US7437598B2 (en) System, method and circuit for mirroring data
US7694177B2 (en) Method and system for resynchronizing data between a primary and mirror data storage system
US6829720B2 (en) Coordinating persistent status information with multiple file servers
KR101121116B1 (ko) 동기 제어 장치, 정보 처리 장치 및 동기 관리 방법
JP5392594B2 (ja) 仮想計算機冗長化システム、コンピュータシステム、仮想計算機冗長化方法、及びプログラム
US20020133743A1 (en) Redundant controller data storage system having hot insertion system and method
US20070276983A1 (en) System method and circuit for differential mirroring of data
KR20000011834A (ko) 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치
KR20000011835A (ko) 네트워크의분산애플리케이션에대한고장검출및소정의복제스타일로복구하는방법및장치
CN113342262B (zh) 用以进行全快闪存储器阵列伺服器的碟管理的方法与设备
TW454128B (en) Shared disk type multiple system
JP2006277205A (ja) 記憶装置システムおよびその制御方法、制御プログラム
JPH086910A (ja) クラスタ型計算機システム
US5742851A (en) Information processing system having function to detect fault in external bus
JP2006012004A (ja) ホットスタンバイシステム
JP2011253408A (ja) サーバシステム及びそのbios復旧方法
CN116724297A (zh) 一种故障处理方法、装置及系统
US6574753B1 (en) Peer link fault isolation
JP3942216B2 (ja) 二重化された監視/制御プロセッサによるシステム監視・制御方法およびシステム監視・制御装置
WO2010100757A1 (ja) 演算処理システム、再同期方法、およびファームプログラム
JP2005235214A (ja) 不具合が存在するときにスイッチ障害を防止する方法、装置及びソフトウエア
JP2007334668A (ja) メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム
JP2004206239A (ja) Raid装置
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
JP4294568B2 (ja) ディスクアレイ装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080111

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100826

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100831

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110419