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