(57)【特許請求の範囲】
【請求項１】
複数のブレードを搭載可能であり、且つ、当該複数のブレードに任意の処理を行わせるブレードサーバであって、
前記複数のブレードとして、複数の演算ブレードと、外部とのデータの入出力を行う一又は複数の入出力ブレードと、前記演算ブレードと前記入出力ブレードとを仲介する一又は複数のスイッチブレードとを備え、
前記演算ブレードは、前記入出力ブレードに対してパケットを発行する演算部を有し、  前記スイッチブレードは、
前記複数の演算ブレードのうちから、同じ演算を行って同じパケットを発行する演算ブレードを二以上選択する選択手段と、
前記選択手段が選択した二以上の演算ブレードが備える演算部が発行した二以上のパケットを比較する比較手段と、
前記比較手段が比較した結果に基づいて、当該比較したパケットを前記入出力ブレードに転送する転送手段と、を有し、
前記複数の演算ブレードと前記複数の入出力ブレードと前記複数のスイッチブレードとを含む前記複数のブレードの状態を監視する監視手段と、
前記監視手段が監視した前記状態に応じて前記複数のブレードの接続及び切断を行う結線手段と、
を有する一又は複数のマネージャブレードをさらに備え、
前記マネージャブレードの前記監視手段は、各ブレード間のクロックの遅延を監視し、
前記スイッチブレードは、
前記監視手段が監視している前記二以上の演算ブレードと当該スイッチブレードとの間のクロックの遅延に基づいて、前記二以上のパケットの遅延を調整する調整手段をさらに備え、
前記スイッチブレードの比較手段は、
前記調整手段が遅延を調整した二以上のパケットを比較する、
ことを特徴とするブレードサーバ。
【請求項２】
前記調整手段は、前記スイッチブレードが前記入出力ブレードより前記演算ブレードへのパケットを受信した場合に、前記監視手段が監視している前記二以上の演算ブレードと当該スイッチブレードとの間のクロックの遅延に基づいて、前記二つ以上の演算ブレードに同時に当該パケットが到達するように調整する、
ことを特徴とする請求項１に記載のブレードサーバ。
【請求項３】
複数のブレードを搭載可能であり、且つ、当該複数のブレードに任意の処理を行わせるブレードサーバであって、
前記複数のブレードとして、複数の演算ブレードと、外部とのデータの入出力を行う一又は複数の入出力ブレードと、前記演算ブレードと前記入出力ブレードとを仲介する一又は複数のスイッチブレードとを備え、
前記演算ブレードは、前記入出力ブレードに対してパケットを発行する演算部を有し、  前記スイッチブレードは、
前記複数の演算ブレードのうちから、同じ演算を行って同じパケットを発行する演算ブレードを二以上選択する選択手段と、
前記選択手段が選択した二以上の演算ブレードが備える演算部が発行した二以上のパケットを比較する比較手段と、
前記比較手段が比較した結果に基づいて、当該比較したパケットを前記入出力ブレードに転送する転送手段と、を有し、
前記複数の演算ブレードと前記複数の入出力ブレードと前記複数のスイッチブレードとを含む前記複数のブレードの状態を監視する監視手段と、
前記監視手段が監視した前記状態に応じて前記複数のブレードの接続及び切断を行う結線手段と、
を有する一又は複数のマネージャブレードをさらに備え、
前記複数のマネージャブレードは、
前記複数の演算ブレードと前記複数のスイッチブレードと前記複数の入出力ブレードとを組み合わせて、同じ処理を行う複数の経路ができるように結線する、
ことを特徴とするブレードサーバ。
【請求項４】
パケットを発行する演算部を有する複数の演算ブレードと、外部とデータの入出力を行う一又は複数の入出力ブレードとを備えるブレードサーバに搭載可能なブレードであって、
前記複数の演算ブレードのうちから二以上を選択する選択手段と、
前記選択手段が選択した二以上の演算ブレードが備える演算部が発行した二以上のパケットを比較する比較手段と、
前記比較手段の比較結果に基づいて、当該比較したパケットを前記入出力ブレードに転送する転送手段と、を有し、
外部装置が監視している前記二以上の演算ブレードと前記ブレードとの間のクロックの遅延に基づいて、前記二以上のパケットの遅延を調整する調整手段をさらに備え、
前記比較手段は、前記調整手段が遅延を調整した二以上のパケットを比較する、
ことを特徴とするスイッチブレード。
【請求項５】
前記調整手段は、当該スイッチブレードが前記入出力ブレードより前記演算ブレードへのパケットを受信した場合に、前記二以上の演算ブレードと当該スイッチブレードとの間のクロックの遅延に基づいて、前記二つ以上の演算ブレードに同時に当該パケットが到達するように調整する、
ことを特徴とする請求項４に記載のスイッチブレード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォルトトレラント機能を実現するブレードサーバ、及びスイッチブレードに関する。
【背景技術】
【０００２】
現在、搭載された複数のブレードに任意の処理を行わせるブレードサーバが製品化されている（例えば、特許文献１参照）。
【０００３】
また、一方で、構成を多重化することによって、一部に障害が生じても動作を継続することが可能なフォルトトレラントコンピュータが製品化されている（例えば、特許文献２参照）。
【特許文献１】特開２００７−１２２６９８号公報
【特許文献２】特開２００５−３０２０２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記のブレードサーバは、あるブレードが故障した場合に、そのブレードを切り離して他のブレードを動作させることが可能であるが、故障したブレードにおいて処理中であったパケットは、消滅してしまう。
そこで、フォルトトレラントコンピュータをブレードとして実現した場合には、そのブレード内でのロックステップを行うことはできるが、複数のブレード間でのロックステップを行うことができない。
本発明は、上記問題点に鑑みてなされたもので、ブレード間においてフォルトトレラント機能を実現するブレードサーバ、及びスイッチブレードを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の第１の観点に係るブレードサーバは、
複数のブレードを搭載可能であり、且つ、当該複数のブレードに任意の処理を行わせるブレードサーバであって、
前記複数のブレードとして、複数の演算ブレードと、外部とのデータの入出力を行う一又は複数の入出力ブレードと、前記演算ブレードと前記入出力ブレードとを仲介する一又は複数のスイッチブレードとを備え、
前記演算ブレードは、前記入出力ブレードに対してパケットを発行する演算部を有し、  前記スイッチブレードは、
前記複数の演算ブレードのうちから、同じ演算を行って同じパケットを発行する演算ブレードを二以上選択する選択手段と、
前記選択手段が選択した二以上の演算ブレードが備える演算部が発行した二以上のパケットを比較する比較手段と、
前記比較手段が比較した結果に基づいて、当該比較したパケットを前記入出力ブレードに転送する転送手段と、を有し、
前記複数の演算ブレードと前記複数の入出力ブレードと前記複数のスイッチブレードとを含む前記複数のブレードの状態を監視する監視手段と、
前記監視手段が監視した前記状態に応じて前記複数のブレードの接続及び切断を行う結線手段と、
を有する一又は複数のマネージャブレードをさらに備え、
前記マネージャブレードの前記監視手段は、各ブレード間のクロックの遅延を監視し、
前記スイッチブレードは、
前記監視手段が監視している前記二以上の演算ブレードと当該スイッチブレードとの間のクロックの遅延に基づいて、前記二以上のパケットの遅延を調整する調整手段をさらに備え、
前記スイッチブレードの比較手段は、
前記調整手段が遅延を調整した二以上のパケットを比較する、
ことを特徴とする。
【０００８】
例えば、前記調整手段は、前記スイッチブレードが前記入出力ブレードより前記演算ブレードへのパケットを受信した場合に、前記監視手段が監視している前記二以上の演算ブレードと当該スイッチブレードとの間のクロックの遅延に基づいて、前記二つ以上の演算ブレードに同時に当該パケットが到達するように調整してもよい。
【０００９】
本発明の第２の観点に係るブレードサーバは、
複数のブレードを搭載可能であり、且つ、当該複数のブレードに任意の処理を行わせるブレードサーバであって、
前記複数のブレードとして、複数の演算ブレードと、外部とのデータの入出力を行う一又は複数の入出力ブレードと、前記演算ブレードと前記入出力ブレードとを仲介する一又は複数のスイッチブレードとを備え、
前記演算ブレードは、前記入出力ブレードに対してパケットを発行する演算部を有し、  前記スイッチブレードは、
前記複数の演算ブレードのうちから、同じ演算を行って同じパケットを発行する演算ブレードを二以上選択する選択手段と、
前記選択手段が選択した二以上の演算ブレードが備える演算部が発行した二以上のパケットを比較する比較手段と、
前記比較手段が比較した結果に基づいて、当該比較したパケットを前記入出力ブレードに転送する転送手段と、を有し、
前記複数の演算ブレードと前記複数の入出力ブレードと前記複数のスイッチブレードとを含む前記複数のブレードの状態を監視する監視手段と、
前記監視手段が監視した前記状態に応じて前記複数のブレードの接続及び切断を行う結線手段と、
を有する一又は複数のマネージャブレードをさらに備え、
前記複数のマネージャブレードは、
前記複数の演算ブレードと前記複数のスイッチブレードと前記複数の入出力ブレードとを組み合わせて、同じ処理を行う複数の経路ができるように結線する、
ことを特徴とする。
【００１０】
本発明の第３の観点に係るスイッチブレードは、
パケットを発行する演算部を有する複数の演算ブレードと、外部とデータの入出力を行う一又は複数の入出力ブレードとを備えるブレードサーバに搭載可能なブレードであって、
前記複数の演算ブレードのうちから二以上を選択する選択手段と、
前記選択手段が選択した二以上の演算ブレードが備える演算部が発行した二以上のパケットを比較する比較手段と、
前記比較手段の比較結果に基づいて、当該比較したパケットを前記入出力ブレードに転送する転送手段と、を有し、
外部装置が監視している前記二以上の演算ブレードと前記ブレードとの間のクロックの遅延に基づいて、前記二以上のパケットの遅延を調整する調整手段をさらに備え、
前記比較手段は、前記調整手段が遅延を調整した二以上のパケットを比較する、
ことを特徴とする。
【００１２】
例えば、前記調整手段は、当該スイッチブレードが前記入出力ブレードより前記演算ブレードへのパケットを受信した場合に、前記二以上の演算ブレードと当該スイッチブレードとの間のクロックの遅延に基づいて、前記二つ以上の演算ブレードに同時に当該パケットが到達するように調整してもよい。
【発明の効果】
【００１３】
本発明によるブレードサーバによれば、ブレード間においてフォルトトレラント機能を実現することができる。
【発明を実施するための最良の形態】
【００１４】
（第１の実施形態）
以下、本発明の第１の実施形態に係るブレードサーバ１００について説明する。ブレードサーバ１００は、図１に示すように、複数の演算ブレード１０と複数のスイッチブレード２０と複数のＩＯブレード３０と複数のマネージャブレード４０とを脱着可能に搭載する。ただし、図中における演算ブレード１０−１，１０−２，・・・のそれぞれを演算ブレード１０と、スイッチブレード２０−１，２０−２，・・・のそれぞれをスイッチブレード２０と、ＩＯブレード３０−１，３０−２，・・・のそれぞれをＩＯブレード３０と、マネージャブレード４０−１，４０−２，・・・のそれぞれをマネージャブレード４０と記載する。なお、各ブレードの間はバックプレーンによる結線で結ばれる。
【００１５】
図２に示すように、各演算ブレード１０は、全てのスイッチブレード２０に接続され、各スイッチブレード２０は、全てのＩＯブレード３０に接続される。また、各マネージャブレード４０は、全ての演算ブレード１０とスイッチブレード２０とＩＯブレード３０とに接続される。
【００１６】
各演算ブレード１０とスイッチブレード２０との間で生じるクロックの遅延は、バックプレーン上の線長差のために異なる。例えば、図３における例では、演算ブレード１０−１とスイッチブレード２０との間で生じるクロックの遅延が最も大きく、演算ブレード１０−６とスイッチブレード２０との間で生じるクロックの遅延が最も小さい。なお、各ＩＯブレード３０とスイッチブレード２０との間で生じるクロックの遅延に関しても同様である。
【００１７】
演算ブレード１０は、外部装置又はマネージャブレード４０からの要求に基づいて、処理を行い、処理結果を送り返す。各演算ブレード１０は、ブレードサーバ１００においてロックステップされる対象である。ロックステップされる対象の演算ブレード１０は、同じ処理を行い、同じパケットを発行する。
演算ブレード１０は、図４に示すように、ＣＰＵ（Central Processing Unit）１１とＲＡＭ（Random Access Memory）１２とＲＯＭ（Read Only Memory）１３とバス１４とインタフェース１５とを備える。
インタフェース１５は、各スイッチブレード２０と各マネージャブレード４０と接続される。
【００１８】
スイッチブレード２０は、クロスバースイッチとなっている。ブレード間のパケットは全てスイッチブレード２０を経由する。スイッチブレード２０は、２つの演算ブレード１０を選択して、それらのパケットの比較を行うフォルトトレラント機能、及び、そのための待ち合わせ機構を有する。なお、以下、２つの演算ブレード１０を選択して、それらのパケットの比較を行うことを二重化と記載する。
スイッチブレード２０は、図５に示すように、レジスタ２１，２３，２７，２９と、複数のバッファ２２と、クロスバー２４，２８と、複数のコンパレータ２５と、複数のキュー２６と、を備える。
【００１９】
レジスタ２１は、マネージャブレード４０より供給されたスイッチブレード２０と演算ブレード１０との間のパケット遅延情報を格納する。演算ブレード１０は、図３に示すように、搭載される場所によってバックプレーン上におけるスイッチブレード２０との距離が異なり、高速クロックではその遅延の差が生じる。レジスタ２１は、二重化する二つの演算ブレード１０の遅延差の情報（パケット遅延情報）を格納し、その値を参照して、各バッファ２２に遅延を挿入する。
【００２０】
各バッファ２２は、各演算ブレード１０と接続され、レジスタ２１に格納されたパケット遅延情報に基づいて、各演算ブレード１０より供給されたパケットが同時に各コンパレータ２５に届くように調整する。
【００２１】
さらに詳しく説明すると、ブレード間にクロックの遅延差がある場合には、遅い方のブレードのクロックに合わせる。早い方の演算ブレード１０に接続されるバッファ２２は、パケットを貯めることによって遅延の差を解消する。各バッファ２２は、演算ブレード１０よりデータが供給された場合には、各ＩＯブレード３０に同時にデータが届くように調整する。また、ＩＯブレード３０よりデータが供給された場合には、各演算ブレード１０に同時にデータが届くように調整する。
【００２２】
レジスタ２３は、ロックステップする演算ブレード１０の情報（以下、第１ルーティング情報）を格納する。なお、レジスタ２３は、マネージャブレード４０より第１ルーティング情報を供給されて格納する。
【００２３】
クロスバー２４は、レジスタ２３が格納する第１ルーティング情報を参照して、各演算ブレード１０と各コンパレータ２５との間の結線を切り替える。レジスタ２３が格納する第１ルーティング情報を変更することで、クロスバー２４は、任意の演算ブレード１０をロックステップの対象に選択できる。クロスバー２４は、図５に示すように、それぞれの二つの演算ブレード１０とそれぞれのコンパレータ２５とを結線する。
【００２４】
コンパレータ２５は、アウトバウンドパケットの比較とインバウンドパケットの分岐発行とを行う。
【００２５】
各コンパレータ２５に付加された各キュー２６は、演算ブレード１０から発行されたパケットを比較する為、先に到着したパケットを一旦格納する。後から来たパケットが到着すると、キュー２６は、一旦格納したパケットをコンパレータ２５に供給して消去する。そして、コンパレータ２５は、２つのパケットを比較する。そして、一致した場合には、そのパケットをキュー２６を介してクロスバー２８に供給する。
【００２６】
キュー２６は、タイムアウト値が設定されている。キュー２６は、最初のパケットが届いてからタイムアウト値を越えるまでに比較対象のパケットが届かない場合には、比較エラーを発する。
また、キュー２６は、コンパレータが２つの演算ブレード１０から到着したパケットが異なると判別した場合にも、比較エラーを発する。
【００２７】
キュー２６は、発した比較エラーをレジスタ２７に格納させ、その後に、マネージャブレード４０に送信する。マネージャブレード４０は、その比較エラーに基づいて、ブレードサーバ１００のどこを切り離すかを判断する。
例えば、パケットが到着しない場合には、到着しないパケットの出所の演算ブレード１０を含む部分を切り離してもよい。例えば、パケットが異なる場合には、それらのパケットの出所の二つの演算ブレード１０を含む部分を切り離してもよい。
【００２８】
スイッチブレード２０は、コンパレータ２５とキュー２６との組み合わせを複数備える。つまり、複数のフォルトトレラントシステムを備える。
【００２９】
コンパレータ２５は、ＩＯブレード３０からパケットを受信した場合には、演算ブレード１０側の二つの端子に同じパケットを転送して、二重化した二つの演算ブレード１０にパケットを送信する。
【００３０】
クロスバー２８は、各ＩＯブレード３０とバックプレーン上で接続され、レジスタ２９に格納された第２ルーティング情報を参照して、各コンパレータ２５と各ＩＯブレード３０との結線を管理する。
【００３１】
レジスタ２９は、結線するコンパレータ２５とＩＯブレード３０の情報（第２ルーティング情報）を格納する。なお、レジスタ２９は、マネージャブレード４０より第２ルーティング情報を供給されて格納する。
【００３２】
ＩＯブレード３０は、ＬＡＮ（Local Area Network）やストレージ等のI/O機能を搭載したブレードである。
ＩＯブレード３０は、図６に示すように、ＭＰＵ（Micro Processing Unit）３１とＲＡＭ（Random Access Memory）３２とＲＯＭ（Read Only Memory）３３とバス３４とインタフェース３５と通信制御部３６とハードディスク３７とを備える。
インタフェース３５は、各スイッチブレード２０と各マネージャブレード４０と接続される。また、通信制御部３６は、外部装置と接続され、ＭＰＵ３１の制御に基づいて、外部装置とブレードサーバ１００との間の通信を行う。
【００３３】
マネージャブレード４０は、ブレードサーバ１００が搭載する全ブレードの状態を監視し、その状態に基づいてブレードの切断と接続を管理する。マネージャブレード４０は、全ブレードと結線されている。また、マネージャブレード４０は、ロックステップの対象となる演算ブレード１０に同じ処理を行わせて、同じパケットを発行させる。
マネージャブレード４０は、図７に示すように、ＭＰＵ（Micro Processing Unit）４１とＲＡＭ（Random Access Memory）４２とＲＯＭ（Read Only Memory）４３とバス４４とインタフェース４５とハードディスク４６とを備える。インタフェース４５は、全ブレードに接続されている。
【００３４】
以下、上記構成のブレードサーバ１００の動作を説明する。
例えば、図２では、演算ブレード１０−１と演算ブレード１０−２とがロックステップを行い、同様に、演算ブレード１０−３と演算ブレード１０−４とがロックステップを行い、二重化を行っている。またスイッチブレード２０−１とスイッチブレード２０−２も、同じ動作を行い、二重化を行っている。同じくマネージャブレード４０−１とマネージャブレード４０−２も同じ動作を行い、二重化を行っている。二重化されたブレード間では片方のブレードが故障してももう片方のブレードのみで縮退運転を続け、無停止で動作し続けることが可能である。
【００３５】
ここで、スイッチブレード２０におけるパケット動作の一例を、図８に示すタイムチャートを使用して説明する。図８のタイムチャートは、演算ブレード１０−１と演算ブレード１０−２とがロックステップしており、この２つのブレードが、ＩＯブレード３０−１にアクセスして、その応答を受信するまでのパケットの流れを示している。
【００３６】
時刻ｔ１において、演算ブレード１０−１と演算ブレード１０−２とが、同時にパケットを発行している。しかし、スイッチブレード２０−１がそのパケットを受信するまでに、バックプレーン上の線長差により、時刻ｔ２〜ｔ３のタイムラグが生じる可能性がある。
スイッチブレード２０−１のバッファ２２は、このタイムラグを調整し、演算ブレード１０−１，１０−２からのパケットを時刻ｔ３で揃える。
その後、スイッチブレード２０−１のコンパレータ２５が、それらのパケット内容の一致を確認して、一致した場合には、時刻ｔ４で、そのパケットをＩＯブレード３０−１に転送する。
そして、時刻ｔ５で、ＩＯブレード３０−１がパケットを受信する。
【００３７】
次に、時刻ｔ６以降で、応答パケットがＩＯブレード３０−１からスイッチブレード２０−１を経て演算ブレード１０−１，１０−２へ戻っていく流れを説明する。
【００３８】
時刻ｔ６で、ＩＯブレード３０−１は、演算ブレード１０−１，１０−２が発行したパケットの応答パケットを発行する。
時刻ｔ７で、スイッチブレード２０−１は、応答パケットが受信する。
そして、スイッチブレード２０−１は、時刻ｔ８で、演算ブレード１０−１に転送し、時刻ｔ９で、演算ブレード１０−２に転送する。
【００３９】
さらに詳しく説明すると、上記の時刻ｔ２〜ｔ３のタイムラグの逆を考慮して、スイッチブレード２０−１から演算ブレード１０−１，１０−２への転送時間の差に基づいて、演算ブレード１０−１に転送する時刻と、演算ブレード１０−２に転送する時刻とを異ならせることで、演算ブレード１０−２演算ブレード１０−１，１０−２の両方に同時にパケットを受信させる。
時刻ｔ８〜ｔ９のタイムラグの間は、演算ブレード１０−２に接続されているバッファ２２は、パケットを一時記憶し、演算ブレード１０−１と演算ブレード１０−２とに時刻ｔ１０で同時にパケットが到達するように時間を調節する。
時刻ｔ８〜ｔ９のタイムラグは、時刻ｔ２〜ｔ３のタイムラグと等しい為、容易に得ることができる。
【００４０】
以上、説明したように、本発明の実施形態に係るブレードサーバ１００は、スイッチブレード２０を搭載することで、フォルトトレラント機構を実現することができる。これにより信頼性、可用性を高めたブレードサーバの実現が可能である。また、一つのブレード内で複数の二重化システムを並行して動作させることが可能である。
さらに従来のフォルトトレラントサーバと同等の機能をより高密度なブレードサーバ上で実現することで、省スペース化、低価格化、省消費電力化を図ることができる。
【００４１】
（第２の実施形態）
第１の実施形態においては、スイッチブレード２０は、２つの演算ブレード１０を選択して、それらのパケットの比較を行う、つまり、二重化を行った。しかし、第２の実施形態においては、３つの演算ブレード１０を選択して、それらのパケットの比較を行う、つまり、三重化を行ってもよい。
【００４２】
第２の実施形態に係るブレードサーバの構成は、第１の実施形態とほぼ同様である。しかし、第２の実施形態に係るブレードサーバは、スイッチブレード２０の代りに、スイッチブレード２０’を搭載する。
【００４３】
スイッチブレード２０’は、図９に示すように、レジスタ２１，２３’，２７’，２９と、複数のバッファ２２と、クロスバー２４’，２８と、複数のコンパレータ２５’と、複数のキュー２６’と、を備える。
【００４４】
レジスタ２３’は、レジスタ２３と同様の機能を備える。しかし、三つの演算ブレード１０を選択する第１ルーティング情報をマネージャブレード４０より供給され、格納する。
【００４５】
クロスバー２４は、図９に示すように、レジスタ２３’に格納される第１ルーティング情報に基づいて、それぞれの三つの演算ブレード１０とそれぞれのコンパレータ２５’とを結線する。
【００４６】
コンパレータ２５’は、アウトバウンドパケットの比較とインバウンドパケットの分岐発行とを行う。
【００４７】
各コンパレータ２５’に付加された各キュー２６’は、演算ブレード１０から発行されたパケットを比較する為、先に到着したパケットを一旦格納する。後から来たパケットが到着すると、キュー２６’は、対応するパケットを消去する。そして、コンパレータ２５’は、３つのパケットを比較する。そして、一致した場合には、そのパケットをクロスバー２８に供給する。また、３つのパケットのうちの２つが一致した場合には、その一致したパケットをクロスバー２８に供給する。
【００４８】
キュー２６’は、タイムアウト値が設定されている。キュー２６’は、最初のパケットが届いてからタイムアウト値を越えるまでに比較対象のパケットが届かない場合には、比較エラーを発する。
また、キュー２６’は、コンパレータ２５’が３つの演算ブレード１０から到着したパケットが全て異なると判別した場合にも、比較エラーを発する。
また、キュー２６’は、コンパレータ２５’が３つの演算ブレード１０から到着したパケットのうちの２つのみが一致すると判別した場合にも、比較エラーを発する。
また、コンパレータ２５’が、タイムアウト値を越えるまでに、２つのパケットを受信し、その２つのパケットが一致した場合には、一致したパケットをクロスバー２８に供給し、キュー２６’は、比較エラーを発する。なお、その２つのパケットが一致しない場合には、当然、キュー２６’は、比較エラーを発する。
【００４９】
キュー２６’は、発した比較エラーをレジスタ２７’に格納させ、その後に、マネージャブレード４０に送信する。マネージャブレード４０は、その比較エラーに基づいて、ブレードサーバ１００のどこを切り離すかを判断する。
例えば、パケットが到着しない場合には、到着しないパケットの出所の演算ブレード１０を含む部分を切り離してもよい。例えば、パケットが全て異なる場合には、それらのパケットの出所の三つの演算ブレード１０を含む部分を切り離してもよい。例えば、３つのパケットのうちの一つのみが異なる場合には、そのパケットの出所の演算ブレード１０を含む部分を切り離してもよい。
【００５０】
コンパレータ２５’は、ＩＯブレード３０からパケットを受信した場合には、演算ブレード１０側の三つの端子に同じパケットを転送して、三重化した三つの演算ブレード１０にパケットを送信する。
【００５１】
第２の実施形態に係るブレードサーバは、三重化したことにより、さらに信頼性、可用性を高めることができる。
【００５２】
なお、本発明は上記実施形態に限定されず、種々の応用及び変形が可能である。
【００５３】
上記実施形態においては、演算ブレードの入出力パケットを二重化又は三重化したが、コンパレータを変更することによって、さらに多重化してもよい。
【００５４】
上記実施形態においては、各ブレードをバックプレーンによって接続したが、バスによって接続してもよい。
【００５５】
また、その他、具体的な細部構成等についても適宜変更可能である。
【図面の簡単な説明】
【００５６】
【図１】本発明の第１及び第２の実施形態に係るブレードサーバの斜視図である。
【図２】本発明の第１及び第２の実施形態に係るブレードサーバの構成図である。
【図３】本発明の第１及び第２の実施形態に係るブレードサーバが搭載するブレード間のクロックの遅延差の原因となるバックプレーン上の線長差を説明するための図である。
【図４】図２の演算ブレードの構成図である。
【図５】第１の実施形態に係るスイッチブレードのルーティング構成図である。
【図６】図２のＩＯブレードの構成図である。
【図７】図２のマネージャブレードの構成図である。
【図８】演算ブレードとＩＯブレードとの間で行われるパケットのやり取りを説明するためのタイムチャートである。
【図９】第２の実施形態に係るスイッチブレードのルーティング構成図である。
【符号の説明】
【００５７】
１０      演算ブレード
１１      ＣＰＵ
１２      ＲＡＭ
１３      ＲＯＭ
１４      バス
１５      インタフェース
２０      スイッチブレード
２１      レジスタ
２２      バッファ
２３      レジスタ
２４      クロスバー
２５      コンパレータ
２６      キュー
２７      レジスタ
２８      クロスバー
２９      レジスタ
２０’    スイッチブレード
２３’    レジスタ
２４’    クロスバー
２５’    コンパレータ
２６’    キュー
２７’    レジスタ
３０      ＩＯブレード
３１      ＭＰＵ
３２      ＲＡＭ
３３      ＲＯＭ
３４      バス
３５      インタフェース
３６      通信制御部
３７      ハードディスク
４０      マネージャブレード
４１      ＭＰＵ
４２      ＲＡＭ
４３      ＲＯＭ
４４      バス
４５      インタフェース
４６      ハードディスク
１００    ブレードサーバ
【図１】
0005272442.tif 000002
【図２】
0005272442.tif 000003
【図３】
0005272442.tif 000004
【図４】
0005272442.tif 000005
【図５】
0005272442.tif 000006
【図６】
0005272442.tif 000007
【図７】
0005272442.tif 000008
【図８】
0005272442.tif 000009
【図９】
0005272442.tif 000010