(57)【特許請求の範囲】
【請求項１】
相互接続ネットワークに結合される第１及び第２の処理ノードを含む分散コンピュータ・システムのエラーを報告するシステムであって、
前記相互接続ネットワークによってエラーが検出されたとき、前記エラーに関するエラー・サービス・パケットを生成するように適合された、前記相互接続ネットワークのハードウェア要素を備え、
前記エラー・サービス・パケットが、前記エラーの内容を表すエラー・データと前記ハードウェア要素から前記分散コンピュータ・システムの第１の指定処理ノード及び第２の指定処理ノードの両方への経路を指定する経路情報とを含み、
前記ハードウェア要素がさらに、前記経路を使用して、前記ハードウェア要素から前記第１の指定処理ノード及び前記第２の指定処理ノードの両方に前記エラー・サービス・パケットを転送するように適合され、
前記ハードウェア要素がさらに、前記エラー・サービス・パケットを前記第１の指定処理ノード及び前記第２の指定処理ノードの少なくとも一方が受け取ったとの指示を前記ハードウェア要素において受け取る前に、追加のエラーを収集し、前記指示を前記ハードウェア要素において受け取ったことに応答して、前記追加のエラーに関する追加のエラー・サービス・パケットを、前記ハードウェア要素から前記第１の指定処理ノード及び前記第２の指定処理ノードの両方に転送するように適合されている、前記システム。
【請求項２】
前記ハードウェア要素が交換要素から成る、請求項１に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般に分散コンピュータ・システムに関し、詳細にはこうしたシステムのハードウェア構成要素を使ってそれらのハードウェア構成要素が検出したエラーを報告することに関する。
【０００２】
【従来の技術】
通常、分散コンピュータ・システムは相互接続ネットワークによって互いに結合されたいくつかのプロセッサを含んでいる。プロセッサのうち１台はコンピュータ・システム内の装置障害を監視するタスクを有する。たとえば、心拍型プロトコルは、システム内の各装置を定期的にポーリングして、それが依然として活動状態にあるかどうか判定する。かつて活動状態にあった装置がもはや活動状態にない場合、プロセッサは装置を検査して、エラーが発生したかどうか突きとめる。すべての装置をポーリングするのに要する時間は、システムのサイズが増大するのに比例して増加する。
【０００３】
障害が検出されると、プロセッサは障害装置と通信して障害の原因を決定し、かつ適当な回復スキームを開始する必要がある。たとえば、相互接続ネットワーク内で障害が発生した場合、プロセッサはそのネットワークと通信して、相互接続ネットワークが捕捉した障害情報を取り出し、かつ適切な回復措置を開始する必要がある。しかし、相互接続ネットワークとプロセッサの間に直接接続が存在する保証はないので、この通信には一般に代替機構が使用される。
【０００４】
【発明が解決しようとする課題】
プロセッサを使用して、このような形で障害情報を探索して取り出し、さらに代替機構を使用して、相互接続ネットワーク内でエラーが発生したときに、障害情報を取り出すのは、望むほど効率がよくない。したがって、対処のためエラーをプロセッサに報告するより効率のよい方法が求められている。詳細には、プロセッサに障害情報を探索させて取り出させる代りに、たとえば相互接続ネットワーク自体が報告を行う機構が求められている。
【０００５】
【課題を解決するための手段】
分散コンピュータ・システムにおけるエラーを報告するシステムを提供することにより、従来技術の欠点が克服され、追加の利点が提供される。このシステムは、エラーが検出されたとき、エラー・メッセージを生成するように適合された、前記分散コンピュータ・システムのハードウェア要素を含んでいる。このハードウェア要素はさらに、このハードウェア要素から分散コンピュータ・システムの第１の指定処理ノードにそのエラー・メッセージを転送するように適合されている。
【０００６】
本発明の他の実施形態では、ハードウェア要素は、交換要素または通信アダプタを含んでいる。
【０００７】
本発明の他の実施形態では、ハードウェア要素はさらに、エラー・メッセージを第１の指定処理ノードが受け取ったとの指示をハードウェア要素が受け取る前に、追加のエラーを収集するように適合されている。
【０００８】
さらに別の例では、ハードウェア要素はさらに、ハードウェア要素からコンピュータ・システムの第２の指定処理ノードにエラー・メッセージを送るように適合されている。
【０００９】
本発明のエラー報告機能により、障害があるかどうか装置を監視する必要がなくなり、経路または経路区間の争奪が軽減される。さらに、本発明のエラー報告機能により、システムが後続のエラー・パケットで混雑することが防止され、システムの残りの部分が正常に動作できるようになる。本発明のエラー報告機能は、ソフトウェアまたは任意のプロセッサ論理ではなくシステム内部のハードウェアを使って実施される。
【００１０】
本発明の技術によってその他の特徴および利点も実現される。本発明のその他の実施形態および態様は本明細書に詳しく記載してあり、特許請求される発明の一部と見なされる。
【００１１】
【発明の実施の形態】
本発明の原理によれば、分散コンピュータ・システムのハードウェア要素がコンピュータ・システムの指定された処理ノードにエラー状態を報告する。ハードウェア要素は、ソフトウェアやプロセッサ論理を必要とせずにエラーを報告する。
【００１２】
本発明の報告機能を組み込みそれを使用する分散コンピュータ・システムの一例を図１に示す。一実施形態においては、分散コンピュータ・システム１００は、インターナショナル・ビジネス・マシーンズ・コーポレイションから提供されるＲＩＳＣシステム／６０００スケーラブルＰＯＷＥＲパラレル・システムであり、相互接続ネットワーク１０４に結合された複数の処理ノード１０２を含んでいる。処理ノードおよび相互接続ネットワークの一例については下記に説明する。
【００１３】
処理ノードは、たとえば、インターナショナル・ビジネス・マシーンズ・コーポレイションから提供されるＲＳ／６０００プロセッサなどのプロセッサ１０６と、たとえばシステム入出力バス１０９を介してプロセッサに結合された通信アダプタ１０８とを含む。通信アダプタは、システム内のあるプロセッサから別のプロセッサに、または相互接続ネットワークからプロセッサに通信を行う際に使用される入出力装置である。通信アダプタの一例は、下記で図６に関してさらに詳しく説明する。
【００１４】
処理ノード１０２は、相互接続ネットワーク１０４に結合され、相互接続ネットワーク１０４は、たとえばインターナショナル・ビジネス・マシーンズ・コーポレイションから提供されるスケーラブルＰＯＷＥＲパラレル交換機（ＳＰ交換機）を含む。相互接続ネットワークの一実施形態については下記で説明するが、デリック・ガーマイヤ（Derrick Garmire）著の白書「IBM POWERparallel Technology Briefing: Interconnection Technologies for High-Performance Computing (RS/6000 SP)」（1996年6月6日）、および同じくデリック・ガーマイヤ著「The RS/6000 SP High-Performance Communication Network」（1996年6月6日）にも記載されている。
【００１５】
相互接続ネットワークは、各プロセッサが同時にメッセージを送受できるように分散コンピュータ・システムのプロセッサを互いに接続する。一実施形態では、相互接続ネットワーク１０４は、１台または複数の交換機１１０を含み、各交換機は処理ノードまたは別の交換機あるいはその両方に結合される。たとえば、図１において、交換機＃１はここでは１次ノードと称する第１処理ノードと、他の１つまたは複数の処理ノードに接続されている。これはさらに、システムのスケーラビリティを高めるために交換機＃２に接続されている。交換機＃２は、交換機＃１と他の少なくとも１つの処理ノード１０２に接続されている。
【００１６】
さらに大きな構成では、システムのスケーラビリティをさらに高めるために、追加レベルの中間交換機をも含めることができる（図２参照）。図２に示した例では、中間交換機２００はフレーム２０４内に位置する交換機２０２に接続されている。各フレームは、交換機２０２の他に、たとえば２〜１６個の処理ノードを含む。中間交換機は交換機を他の交換機に接続するものであって、交換機を処理ノードに接続することはしない。図２に示すように、処理ノードへの接続は、中間交換機２００ではなく交換機２０２によって行われる。
【００１７】
図１に戻ると、一例では、各交換機１１０は複数（たとえば８個）の交換要素１１２を含み、それらは、それに接続された各ノードの接続点および他の交換要素の接続点を提供する。この交換要素の構成により、処理ノード間に複数の経路が得られ、単一の経路または素子が障害を起こしてもノードが相互に分離されなくなる。具体的には、各処理ノードは交換要素への接続を２つ有し、各接続は入出力接続である。
【００１８】
本発明の原理によれば、各交換要素１１２は、たとえば分散コンピュータ・システム１００内の指定された処理ノード（たとえば１次ノード）からその交換要素に転送される交換機初期設定パケットを使って初期設定される。一実施形態では、初期設定サービス・パケットは、このパケットが交換機初期設定パケットであり、したがって交換ネットワーク内の次の段に渡されないことを示すコマンドと、システムの第１の指定処理ノード（たとえば１次ノード）への経路を示す１次経路情報と、第１の指定処理ノードへの第２の経路または第２の指定処理ノード（たとえばバックアップ・ノード）への経路を示す２次経路情報と、交換要素の識別子と、その交換要素に関する、本発明では論じる必要のないその他の様々な初期設定データを含んでいる。
【００１９】
一例では、各交換要素１１２は単一ＣＭＯＳチップ上に集積された８チャネル−８チャネル・パケット経路指定ユニットである。そのようなチップの一実施形態は、米国特許第５５４６３９１号に詳しく記載されている。
【００２０】
交換要素１１２の一実施形態（たとえば交換チップ）についてはまた図３に関して詳しく説明する。一例では、交換要素１１２は、交換要素の各入力ポートごとに１個ずつ、複数の受信モジュール３０２（たとえば８個のモジュール）と、交換要素の各出力ボードごとに１個ずつ、複数の送信モジュール３０４（たとえば８個のモジュール）とを含む。
【００２１】
交換要素１１２はまた、指定された出力ポートが使用可能なとき、パケットが受信モジュールから送信モジュールに直接移動できるようにする、バッファのないクロスバー３０６を含む。さらに、バッファ付き時間多重化８方向ルータを実施した中央待ち行列３０８をも含む。この中央待ち行列３０８は、当該の出力ポートが使用中のとき、受信モジュールからメッセージを受け取って格納する。その後、その当該の送信モジュールから要求があったとき、中央待ち行列３０８はメッセージをその送信モジュールに渡す。
【００２２】
さらに、交換要素１１２は、その動作中に使用されるハードウェア・サービス論理３１０を含む。具体的には、ハードウェア・サービス論理３１０は受信ポートからメッセージを受け取って処理し、交換機の送信モジュールを介してシステムの処理ノードにメッセージを送ることにより動作を確認する。さらに、本発明によれば、ハードウェア・サービス論理３１０は本発明のエラー報告機能を提供する。
【００２３】
本発明のエラー報告機能に使用されるハードウェア・サービス論理の一実施形態を図４に関して詳細に説明する。一例では、下記に述べる機能はハードウェア状態機械を使って実施される。
【００２４】
図４を参照すると、最初に、たとえばパリティ・エラー、巡回冗長検査（ＣＲＣ）エラー、順序エラーなどのエラーを交換要素が検出したかどうか判定する（照会４００）。たとえば、交換要素内の状態機械の現状態を検査して、それが予想される状態にあるかどうか判定することによって、交換要素は順序エラーがあるかどうか検査する。それが予想される状態にない場合は、エラーが発生した訳である。しかし状態が適正な場合は、順序エラーはない。
【００２５】
エラーが検出されなかったときは、流れは照会４００に戻り、予め選択した時間間隔で判定を行うことができる。一方、エラーが検出された場合は、下記に述べるように処理が続行する。
【００２６】
エラー・メッセージが既に送られたかどうか判定を行う（照会４０２）。たとえば、エラーを含むエラー・サービス・パケットが既に交換要素によって指定の処理ノードに送られたかどうか検査を行って判定する。一例では、この判定は、エラー・サービス・パケットが送られたかどうかを示す交換要素内のビットを検査して行う。
【００２７】
エラー・サービス・パケットが送られていないときは、パケットを送るためにたとえば２つのポート、１次ポートおよび２次ポートのアクセスを要求する（ステップ４０６）。ポートの指定は、前述のように初期設定時に交換要素に提供される。アクセスが要求されると、各ポートは肯定応答を送り返し、最初に受信されたポートがメッセージを送出するのに使用される最初のポートとなる。たとえば、１次ポートが肯定応答を送り返した最初のポートである場合（照会４０８）、第１の指定処理ノード（たとえば１次ノード）宛のエラー・サービス・パケットが生成される（ステップ４１０）。
【００２８】
一例では、エラー・サービス・パケットは、開始制御文字、交換要素の初期設定中に提供される、第１の指定処理ノードへの経路を示す経路情報、エラーが発生したことを示すコマンド、初期設定中に提供される交換要素の識別子、どのエラー・ビットが活動状態であるかを示すエラー・データ、データが壊れていないことを確認するために第１の指定ノードにある通信アダプタが使用する検査パターンを含む、巡回冗長検査、および終了制御文字を含んでいる。開始制御文字および終了制御文字は、パケットの開始位置および終了位置を定義し、したがってハードウェアがパケット長やその他類似のタイプの情報を記録する必要はない。
【００２９】
エラー・サービス・パケットの作成に続いて、パケットは標準の送信技術を用いて第１の指定処理ノードに送り出される。第１の指定処理ノードでは、通信アダプタがパケットを受信し、それをバッファし、その処理ノードのプロセッサに渡す。
【００３０】
パケットを１次ポートから送出した後、そのパケットが両方のポートから送出されたかどうか検査して判定する（照会４１２）。パケットが両方のポートから送出されていないときは、流れは、ステップ４０６「ポート間で調停する」に戻る。このとき、交換機は、既にパケットを１次ポートから送出したことを知っており、したがってバックアップ・ポートを選択する（照会４１４）。
【００３１】
その後、エラーを第２の指定処理ノード（たとえば、バックアップ・ノード）に報告するためのエラー・サービス・パケットが生成される（ステップ４１６）。このパケットは、指定経路が１次処理ノードではなくてバックアップ処理ノード宛である点を除き、最初のパケットに関して上述したものと同じ情報を含んでいる。
【００３２】
パケットが両方のポートから送出されると（照会４１２）、流れは照会４００「エラーを検出したか」に戻る。
【００３３】
照会４０２「エラー・パケットが既に送られたか」に戻ると、エラー・パケットが既に送られているときは、そのエラーに対するリセット・サービス・パケットを交換要素が受け取ったかどうか判定が行われる（照会４１８）。一実施形態では、この判定は交換要素が着信サービス・パケットのコマンドを検査することによって行う。
【００３４】
そのコマンドが、リセット・サービス・パケットを受け取っていないことを示すときは、システムがエラー・メッセージであふれないように追加のエラーが収集される（ステップ４２０）。具体的には、リセット・サービス・パケットを受け取るまで、他のエラー・サービス・パケットは交換要素から転送されない。次いで処理は照会４００「エラーを検出したか」に戻る。
【００３５】
照会４１８に戻って、送られたエラー・サービス・パケットに対するリセット・サービス・パケットを受け取った場合は、処理は図５に進む（ステップ４２２）。一実施形態では、図５の機能はハードウェア状態機械を使って実施される。
【００３６】
図５を参照すると、一例では、エラー・パケットを受信した指定ノードの少なくとも１つがリセット・サービス・パケットを生成する。一例では、リセット・サービス・パケットは、それがリセット・パケットであることを示すコマンドおよびリセット・データを含む。リセット・サービス・パケットを生成した後、その指定ノードはエラー・サービス・パケット中で識別された交換要素にそのパケットを送信し、その交換要素はリセット・パケットを受け取ったことを検出する。（ステップ５００）。
【００３７】
リセット・サービス・パケットの受信に続いて、交換要素はそのリセット・データを使って（たとえば、エラー・ビットをリセットすることにより）エラーをリセットし、さらにエラー報告機能をリセットして、別のエラー・パケットが送られるのを禁止する（ステップ５０２）。一例では、この機能は対応するビットをリセットすることによってリセットされる。
【００３８】
次に、リセット・パケットをどのポートに送信するか選択が行われる（ステップ５０４）。１次ポートが最初に選択された（すなわち、最初に要求に肯定応答する）場合（照会５０６）、肯定応答サービス・パケットが生成される（ステップ５０８）。一実施形態では、肯定応答サービス・パケットは、第１の指定処理ノードに対するエラー・サービス・パケットについて上述したのと同じ情報を含んでいる。ただし、エラー・データはステップ４２０（図４）で収集されたすべてのエラーを含む。具体的には、肯定応答サービス・パケットは、開始制御文字、１次ノードへの経路を示す経路情報、それがエラーであることを示すコマンド、交換要素の識別子、収集されたエラー・データのすべて、ＣＲＣ、および終了制御文字を含む。生成された肯定応答サービス・パケットは１次処理ノードに送信される。
【００３９】
パケットが両方のポートから送出されてはいない場合（照会５１０）、処理はステップ５０４「ポート間で調停する」に進む。このときは、２次ポートが選択され（照会５１２）、次いで第２の指定処理ノードに対する肯定応答サービス・パケットが生成される（ステップ５１４）。この場合も、このパケットは、指定経路がバックアップ・ノード宛である点を除き、１次ノードに対する肯定応答について上述したように生成される。
【００４０】
パケットが両方のポートから送出されると、処理は、最後のリセット・パケットに含まれる新しいエラー・メッセージについての照会４１８「リセット・パケットが受信されたか」に進む（ステップ５１６）。
【００４１】
上記の実施形態では、エラー／肯定応答が２つの処理ノードに報告される。これは一例にすぎない。別の実施形態では冗長性が除去され、１つの処理ノードだけにエラー／肯定応答が送られる。さらに別の実施形態では、パケットは必ずしも別の処理ノードに送られず、別の経路を通って同じ処理ノードに送られる。これらの変形形態もその他の実施形態もすべて本発明の範囲および趣旨に含まれる。
【００４２】
上記では、交換要素が分散コンピュータ・システムの１つまたは複数の指定処理ノードに検出済みエラーを報告するための機構について述べたが、別の実施形態では、エラー情報が失われた場合、処理ノードは交換要素にエラー状況パケットを要求することができる。
【００４３】
本発明の別の実施形態では、やはり分散コンピュータ・システムのハードウェア構成要素である通信アダプタがエラーを検出し、１つまたは複数の指定処理ノードに報告する。
【００４４】
通信アダプタの一例については図６に関して詳細に説明し、通信アダプタの報告機能に関連する論理の一実施形態については図７に関して詳細に説明する。
【００４５】
図６を参照すると、一例では、通信アダプタ６００は、バス・インターフェース・ハードウェア論理６０２、送信メッセージ・バッファ６０４、受信メッセージ・バッファ６０６、送信リンク・ハードウェア論理６０８、６１０、および受信リンク・ハードウェア論理６１２、６１４を含む。そのそれぞれについて下記で説明する。
【００４６】
バス・インターフェース・ハードウェア論理６０２は、通信アダプタの残りの構成要素とシステム・バスの間のインターフェースをとる。このシステム・バスは通信アダプタを処理ノード上の対応するプロセッサに接続する。システム・バスは、他のアダプタ構成要素またはプロセッサからエラー情報を受け取り、クリティカルなエラーが検出されたとき、チェック停止エラー信号を送出する。
【００４７】
バス・インターフェースは送信メッセージ・バッファ６０４に結合される。これはバス・インターフェース・ハードウェア論理６０２からメッセージを受け取る。送信メッセージ・バッファ６０４はパケット化されていないメッセージを後で送信するために一時記憶し、エラーを検出した場合はそれをバス・インターフェース・ハードウェア論理６０２に報告する。
【００４８】
送信メッセージ・バッファ６０４は、送信リンク・ハードウェア論理６０８および６１０に結合される。これらは、相互接続ネットワークにメッセージを送信する際に使用される二重ポートである。各送信リンク・ハードウェア論理は、メッセージをパケット化し、バッファし、所与のリンクから相互接続ネットワークに送出する。さらに検出したエラーをバス・インターフェース・ハードウェア論理６０２に報告する。送信リンク・ハードウェア論理が活動状態のチェック停止信号を受信したときは、現状態（たとえば状態機械に記憶されている）に割り込んで、下記で詳しく説明するように、エラー・サービス・パケットを送る。その後、リセットを受け取るまでリンク論理は遊休状態となる。
【００４９】
二重ポート送信リンクに加えて、通信アダプタは、二重ポート受信リンク、すなわち受信リンク・ハードウェア論理６１２および６１４をも含む。受信リンク・ハードウェア論理は、通信アダプタを相互接続ネットワークに接続するリンクからメッセージ・パケットを受け取る。この論理は、受信データを受信メッセージ・バッファ６０６に渡し、エラーをバス・インターフェース・ハードウェア論理６０２に報告する。さらに、チェック停止信号が活動状態の場合、動作を停止する。
【００５０】
受信リンクは受信メッセージ・バッファ６０６に結合され、後者はリンクからデータを受け取り、バス・インターフェース・ハードウェア論理６０２に渡す。また、エラーを検出した場合はそれをバス・インターフェース・ハードウェア論理６０２に報告する。
【００５１】
本発明の原理によれば、通信アダプタは、それに対応するローカル・プロセッサによって初期設定される。たとえば、ローカル・プロセッサは、指定処理ノードへの経路を示す経路情報、アダプタの識別子、および初期設定に必要な他の情報を提供する。アダプタがそれらの情報を受け取ると、それはアダプタのハードウェア記憶エレメントに記憶される。
【００５２】
上述のように、通信アダプタは、クリティカルなエラーを検出した場合それを自発的に１つまたは複数の指定処理ノードに報告し、したがって処理ノードが通信アダプタをポーリングして、エラーが発生したかどうか判定する必要はない。本発明の原理による、このようなエラーを報告するのに使用されるハードウェア論理について、図７に関してさらに説明する。一例では、下記に述べる機能は、通信アダプタの異なる構成要素のハードウェア状態機械を使って実施される。
【００５３】
図７を参照すると、最初に、通信アダプタがクリティカルなエラーを検出したかどうか判定を行う（照会７００）。この判定は、交換要素によるエラーの検出と類似の形で行われる。クリティカルなエラーが検出されなかったときは、再度検査が行われる（照会７００）。しかし、クリティカルなエラーが検出されたときは、通信アダプタが、オフラインになる（たとえば割込み状態に入る）ことによって現動作に割り込む（ステップ７０２）。
【００５４】
続いて、エラー・サービス・パケット（チェック停止パケットとも呼ばれる）が生成され、１つまたは複数の指定処理ノードに送られる（ステップ７０４）。一例では、第１の指定処理ノードに対してエラー・サービス・パケットが生成され、第２の指定処理ノードに対して別のパケットが生成される。各エラー・パケットは、交換要素が生成するエラー・サービス・パケットについて前述したのと同様の情報を含む。たとえば、それぞれ開始制御文字、１次ノードまたは２次ノードへの経路を示す経路情報、エラー・コマンド、アダプタ識別子、エラー・データ、巡回冗長検査、および終了制御文字を含む。
【００５５】
パケットが生成された後、第１の指定処理ノード宛のパケットが指定された１次ポートから送出され、第２の指定処理ノード宛のパケットが指定された２次ポートから送出される（ステップ７０６）。２つのポートの使用により、パケットの１つがシステムを通過して指定ノードの１つに到着する確率、または指定経路の１つを通過する確率が増大する。
【００５６】
その後、通信アダプタは、それ以上エラーが伝播するのを防止するためにリセットされるまで遊休状態に留まる（ステップ７０８）。アダプタがその対応するプロセッサによってリセットされると（照会７１０）、流れは照会７００「エラーが検出されたか」に戻る。
【００５７】
上記の実施形態では、クリティカルなエラーは指定処理ノードに報告される。アダプタによって検出されたクリティカルでないエラーはローカル・プロセッサにのみ報告される。しかし、別の実施形態では、すべてのエラーが指定処理ノードに報告される。
【００５８】
別の実施形態では、交換機構の場合と同様に、エラー・パケットを２つのポートから送出する必要はない。その上、パケットを２つ（以上）の経路を通って同一の処理ノードに送ることもできる。これらその他の実施形態は、特許請求される本発明の範囲および趣旨に含まれる。
【００５９】
本発明のエラー報告機能は、障害がないかどうか装置を監視する必要がなく、その結果、経路または経路区間に対する争奪が軽減される。エラーが検出されると、交換要素またはアダプタによりサービス・パケットを介して報告される。交換要素は追加のエラーを収集するだけで、リセット・サービス・パケットを受信するまではそれを報告しないので、追加のエラー・パケットでシステムがあふれることはない。アダプタはオフラインになり、したがって、システムは後続のエラー・パケットであふれることはなく、システムの残りの部分は正常に機能することができる。
【００６０】
本発明の機構はさらに、障害のある構成要素が報告経路の１つ中にある場合、高度のフォールト・トレラント性を提供する。
【００６１】
本明細書で述べた分散コンピュータ・システムは一例にすぎない。本発明の報告機能は、本発明の趣旨から逸脱することもなく、他のシステム内に組み込むことができ、または他のシステムと共に使用することができ、あるいはその両方が可能である。たとえば、本発明の趣旨から逸脱することなく、異なるアーキテクチャまたはハードウェア構成要素あるいはその両方を使用することができる。さらに、状態機械以外のハードウェア構成要素を使って本発明のハードウェア論理を実施することもできる。
【００６２】
上記のことに加えて、別の実施形態では、検出されたエラーは、エラーの発生回数が閾値に達した後に初めて報告される。閾値に達したとき、本発明の原理に従ってエラーが報告される。
【００６３】
本明細書に示した流れ図は例示的なものにすぎない。それらの図に述べた図やその中に示されたステップ（または動作）には、本発明の趣旨から逸脱せずに、多数の変形例があり得る。たとえば、各ステップを異なる順序で実行することもでき、またステップを追加し、あるいは変更することもできる。これらの変形例はすべて、特許請求される本発明の一部分と見なされる。
【図面の簡単な説明】
【図１】本発明の報告機能を組み込みそれを使用する分散コンピュータ・システムの一例を示す図である。
【図２】本発明の原理による、中間交換機を含む図１の分散コンピュータ・システムの相互接続ネットワークの一実施形態を示す図である。
【図３】本発明の原理による交換要素の一例を示す図である。
【図４】本発明の原理による、図３の交換要素によって検出されたエラーを報告する際に使用されるハードウェア・サービス論理の一実施形態を示す図である。
【図５】本発明の原理による、リセット・サービス・パケットの受信を図３の交換要素によって確認し、追加のエラーを転送する際に使用されるハードウェア・サービス論理の一実施形態を示す図である。
【図６】本発明の原理による、図１の分散コンピュータ・システムの通信アダプタの一例を示す図である。
【図７】本発明の原理による、図６の通信アダプタによって検出されたエラーを報告する際に使用されるハードウェア・サービス論理の一実施形態を示す図である。
【符号の説明】
１００  分散コンピュータ・システム
１０２  処理ノード
１０４  相互接続ネットワーク
１０６  プロセッサ
１０８  通信アダプタ
１０９  システム入出力バス
１１０  交換機
１１２  交換要素
３０２  受信モジュール
３０４  送信モジュール
３０６  クロスバー
３０８  中央待ち行列
３１０  ハードウェア・サービス論理
【図１】
0003649580.tif 000002
【図２】
0003649580.tif 000003
【図３】
0003649580.tif 000004
【図４】
0003649580.tif 000005
【図５】
0003649580.tif 000006
【図６】
0003649580.tif 000007
【図７】
0003649580.tif 000008