(57)【要約】【課題】計算機が使用する経路に障害が生じたとしても、トラフィック性能の低下を抑止する通信システムを提供する。【解決手段】通信システムは、外部の機器と通信する計算機と、計算機と外部の機器との接続を切り替えるスイッチと、スイッチを管理する管理装置と、を含む。スイッチは、計算機との接続ポートで受信するフレームに、通信エラーが生じているか否かを検出する。管理装置は、通信エラーが生じている場合に、計算機に対し、接続ポートで受信するフレームにおける通信エラーの発生を通知する。計算機は、通信エラーの通知に応じて、通信エラーが検出された接続ポートとは異なるポートを使用する経路で、外部の機器と通信する。【選択図】図１
2014178973.tif 000002
【特許請求の範囲】
【請求項１】
外部の機器と通信する計算機と、
前記計算機と前記外部の機器との接続を切り替えるスイッチと、
前記スイッチを管理する管理装置と、
を含み、
前記スイッチは、前記計算機との接続ポートで受信するフレームに、通信エラーが生じているか否かを検出し、
前記管理装置は、前記通信エラーが生じている場合に、前記計算機に対し、前記接続ポートで受信するフレームにおける前記通信エラーの発生を通知し、
前記計算機は、前記通信エラーの通知に応じて、前記通信エラーが検出された接続ポートとは異なるポートを使用する経路で、前記外部の機器と通信する、
通信システム。
【請求項２】
前記管理装置は、前記通信エラーが生じている場合に、前記スイッチに対し、前記接続ポートのリンクダウンを指示する請求項１の通信システム。
【請求項３】
前記スイッチは、受信フレームに生じる通信エラーの回数を計数し、前記計数した通信エラーの回数が所定の条件を満たす場合に、前記通信エラーが生じていると判定する請求項１又は２の通信システム。
【請求項４】
前記通信エラーは、巡回冗長検査エラーである請求項１乃至３のいずれか一項に記載の通信システム。
【請求項５】
計算機と外部の機器との接続を切り替えるスイッチのポートであって、前記計算機との接続ポートで受信するフレームに、通信エラーが生じているか否かを検出する工程と、
前記通信エラーが生じている場合に、前記計算機に対し、前記接続ポートで受信するフレームにおける前記通信エラーの発生を通知する工程と、
前記通信エラーの通知に応じて、前記計算機と前記外部の機器間の経路を、前記通信エラーが検出された接続ポートとは異なるポートを使用する経路に切り替える工程と、
を含む通信方法。
【請求項６】
前記通信エラーが生じている場合に、前記通信エラーが検出された接続ポートをリンクダウンする工程をさらに含む請求項５の通信方法。
【請求項７】
受信フレームに生じる通信エラーの回数を計数し、前記計数した通信エラーの回数が所定の条件を満たす場合に、前記通信エラーが生じていると判定する工程をさらに含む請求項５又は６の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及び通信方法に関する。特に、複数の機器間を接続するスイッチを備える通信システム及び通信方法に関する。
【背景技術】
【０００２】
同一の筐体内に複数の計算機（例えば、サーバ）が収納されているブレードシステムが、データセンタ等で構築されることが多い。ブレードシステムは、筐体内に、ＣＰＵ（Central Processing Unit）ブレードと呼ばれるブレード（刃）型の計算機を複数含んで構成される。また、ブレードシステムには、各ブレードによるネットワークへの接続を可能とするスイッチを含んで構成されることが多い。とりわけ、ストレージエリアネットワーク（ＳＡＮ）等のネットワークにアクセス可能とするファイバチャネルスイッチ（Fiber Channel Switch）がブレードシステムに用いられることが多い。
【０００３】
ここで、特許文献１において、マルチパスの誤ったユーザ設定による問題を解消し、フェールオーバ時のリカバリ時間を短縮し、入出力装置の保守作業時間の短縮を図る計算機システムが開示されている。また、特許文献２において、障害が発生したときにスイッチユニットでのエラー情報を取得し、経路の接続情報と照合することで、障害発生箇所の特定を実現する通信システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−０６３１２６号公報
【特許文献２】特開２０１１−１４５８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【０００６】
上述のように、ブレードシステムはＦＣ（Fiber Channel）スイッチを含み、ストレージエリアネットワークにアクセスすることが多い。このような接続形態では、ＣＰＵブレードとＦＣスイッチ間の経路において、間欠的に通信エラー（例えば、巡回冗長検査（ＣＲＣ）エラー）が生じた場合、当該通信エラーを、フレームの送信側であるＣＰＵブレードが把握できないという問題がある。
【０００７】
図７は、ブレードシステムとストレージエリアネットワークの接続構成の一例を示す図である。図７に示すＣＰＵブレード２００が、ストレージエリアネットワーク３００に向けてフレームを送信する場合を考える。ＣＰＵブレード２００は、ＦＣスイッチ２１０及び２１１と接続されたホストバスアダプタ（ＨＢＡ；Host Bus Adapter）２０１を備えている。ＣＰＵブレード２００は、ホストバスアダプタ２０１を介して、ストレージエリアネットワーク３００との間でフレームの送受信を行う。
【０００８】
ここで、ＣＰＵブレード２００とＦＣスイッチ２１０を接続する経路２２０に障害が生じており、ＣＰＵブレード２００から送信したフレームが正常にＦＣスイッチ２１０に転送されない場合があるとする。但し、経路２２０に生じている障害は致命的なものではなく、間欠的にフレームの送受信が行えない程度のものとする。このような場合、ＦＣスイッチ２１０は、ＣＰＵブレード２００が送信するフレームにおいて、間欠的に通信エラー（例えば、ＣＲＣエラー）を検出する。
【０００９】
通信エラーを検出したＦＣスイッチ２１０は、受信したフレームをストレージエリアネットワーク３００に転送すると共に、当該フレームにおいてＣＲＣエラー等を検出した旨をストレージエリアネットワーク３００に通知する（異常フレームの受信を通知する）。ストレージエリアネットワーク３００では、このようなＣＲＣエラーが通知されたフレームを破棄する。その結果、ＣＰＵブレード２００は、送信したフレームに対する応答（レスポンス）を得ることができない。ＣＰＵブレード２００は、所定の期間の間に、送信フレームに対するレスポンスがないと判断した段階で、通信エラーの発生を認識する。即ち、ＣＰＵブレード２００は、送信フレームに対する応答待ちがタイムアウトしたことにより、通信エラーの発生を認識する。ＣＰＵブレード２００は、通信エラーを認識すると、先に送信したフレームにより送信したデータと同じデータを持つフレームを再送信する。そのため、例えば、ＣＰＵブレード２００とＦＣスイッチ２１０との間の経路２２０において、通信エラーが間欠的に生じるような状況下では、ＣＰＵブレード２００におけるフレーム送信処理に係るタイムアウトとフレームの再送信（フレーム送信処理の例外処理）が繰り返し行われる。
【００１０】
ここで、ＣＰＵブレード２００では、ごく希に生じる通信エラーと、ある程度の頻度を持って生じる通信エラー（例えば、間欠的に生じるＣＲＣエラー）と、を区別することができない。ＣＰＵブレード２００は、ごく希に生じる通信エラーは致命的なものとはみなさず、ＣＰＵブレード２００とＦＣスイッチ２１０の間の現用系の経路２２０をそのまま使用する（ＦＣスイッチ２１１との間に存在する冗長経路に経路を切り替えない）。同様に、ＣＰＵブレード２００は、間欠的に通信エラーが生じたとしても、現用系の経路２２０の使用を継続する。しかし、間欠的に通信エラーが生じると、その都度、フレームの再送信が行われ、ブレードシステムとストレージエリアネットワーク３００間のトラフィック性能が低下する。
【００１１】
本発明は、計算機が使用する通信経路に障害が生じたとしても、トラフィック性能の低下を抑止することに寄与する通信システム及び通信方法の提供を目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の視点によれば、外部の機器と通信する計算機と、前記計算機と前記外部の機器との接続を切り替えるスイッチと、前記スイッチを管理する管理装置と、を含み、前記スイッチは、前記計算機との接続ポートで受信するフレームに、通信エラーが生じているか否かを検出し、前記管理装置は、前記通信エラーが生じている場合に、前記計算機に対し、前記接続ポートで受信するフレームにおける前記通信エラーの発生を通知し、前記計算機は、前記通信エラーの通知に応じて、前記通信エラーが検出された接続ポートとは異なるポートを使用する経路で、前記外部の機器と通信する、通信システムが提供される。
【００１３】
本発明の第２の視点によれば、計算機と外部の機器との接続を切り替えるスイッチのポートであって、前記計算機との接続ポートで受信するフレームに、通信エラーが生じているか否かを検出する工程と、前記通信エラーが生じている場合に、前記計算機に対し、前記接続ポートで受信するフレームにおける前記通信エラーの発生を通知する工程と、前記通信エラーの通知に応じて、前記計算機と前記外部の機器間の経路を、前記通信エラーが検出された接続ポートとは異なるポートを使用する経路に切り替える工程と、を含む通信方法が提供される。
なお、本方法は、計算機と、スイッチという、特定の機械に結びつけられている。
【発明の効果】
【００１４】
本発明の各視点によれば、計算機が使用する通信経路に障害が生じたとしても、トラフィック性能の低下を抑止することに寄与する通信システム及び通信方法が、提供される。
【図面の簡単な説明】
【００１５】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係るブレードシステム１０の一例を示す図である。
【図３】ＣＰＵブレード１１及びＦＣスイッチ１２の内部構成の一例を示す図である。
【図４】エンクロージャマネージャ（ＥＭ）１３の内部構成の一例を示す図である。
【図５】記憶部６０３が記憶するテーブル情報の一例を示す図である。
【図６】第１の実施形態に係る通信システムの動作の一例を示す図である。
【図７】ブレードシステムとストレージエリアネットワークの接続構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
初めに、図１を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００１７】
上述のように、計算機と外部の機器との通信に使用する経路に障害が生じたとしても、トラフィック性能の低下を抑止する通信システムが、望まれる。
【００１８】
そこで、一例として図１に示す通信システムを提供する。通信システムは、外部の機器と通信する計算機１０１と、計算機１０１と外部の機器との接続を切り替えるスイッチ１０２と、スイッチ１０２を管理する管理装置１０３と、を含む。スイッチ１０２は、計算機１０１との接続ポートで受信するフレームに、通信エラーが生じているか否かを検出する。管理装置１０３は、通信エラーが生じている場合に、計算機１０１に対し、接続ポートで受信するフレームにおける通信エラーの発生を通知する。計算機１０１は、通信エラーの通知に応じて、通信エラーが検出された接続ポートとは異なるポートを使用する経路で、外部の機器と通信する。
【００１９】
図１に示す通信システムでは、スイッチ１０２のポートで受信したフレームに通信エラー（例えば、間欠的に生じるＣＲＣエラー）が検出された場合に、当該フレームの送信元である計算機１０１に対して、通信エラーの発生を通知する。すると、計算機１０１は、外部の機器との経路を実現するスイッチ１０２との間に障害が発生しているため、通信エラーが検出されたと認識することができる。その後、計算機１０１は、通信エラーが検出されたポートとは異なるポートを使用する経路（冗長経路）により、外部の機器との通信を行う。その結果、通信エラーに起因するフレームの再送信が不要となり、計算機と外部の機器との間のトラフィック性能が低下することを抑止できる。
【００２０】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
【００２１】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００２２】
図２は、本実施形態に係るブレードシステム１０の一例を示す図である。図２を参照すると、ブレードシステム１０は、ＣＰＵブレード１１−１及び１１−２と、ＦＣスイッチ１２−１及び１２−２と、エンクロージャマネージャ（ＥＭ；Enclosure Manager）１３と、を含んで構成されている。
【００２３】
ブレードシステム１０は、光ファイバケーブル等によりストレージエリアネットワーク２０と接続されており、ストレージエリアネットワーク２０内部のストレージ（例えば、ハードディスク等）にアクセス可能である。なお、図２に示すブレードシステムの構成は例示であって、ＣＰＵブレードやＦＣスイッチの個数を限定する趣旨ではない。また、ＣＰＵブレード１１−１及び１１−２を区別する特段の理由が無い場合には、「ＣＰＵブレード１１」と表記する。同様に、ＦＣスイッチ１２−１及び１２−２を区別する特段の理由が無い場合には、「ＦＣスイッチ１２」と表記する。
【００２４】
ＣＰＵブレード１１は、ＣＰＵ、ハードディスク、メモリ等が１枚の基板上に搭載され、単体で計算機として動作可能に構成されている。ＣＰＵブレード１１は、ＦＣスイッチ１２を介して、外部の機器（例えば、ストレージエリアネットワーク２０に含まれるストレージ）と通信する。
【００２５】
ＦＣスイッチ１２は、ＣＰＵブレード１１とストレージエリアネットワーク２０の間を接続し、経路の切り替えを行う。なお、ＣＰＵブレード１１とＦＣスイッチ１２の間の経路は冗長化されており、図２においては、ＣＰＵブレード１１はＦＣスイッチ１２−１と接続された経路を現用経路として使用する。
【００２６】
ＥＭ１３は、ブレードシステム１０の筐体管理を行う管理装置である。例えば、ＥＭ１３は、ＣＰＵブレード１１の電源を管理する機能や、ＦＣスイッチ１２の動作を制御する機能等を備えている。なお、図２に示すとおり、ＥＭ１３は、複数のＣＰＵブレード１１と複数のＦＣスイッチ１２を制御し、管理する機能を備える。
【００２７】
図３は、ＣＰＵブレード１１及びＦＣスイッチ１２の内部構成の一例を示す図である。ＣＰＵブレード１１は、ＣＰＵ４０１と、ファイバチャネルドライバ（ＦＣドライバ）４０２と、ファイバチャネルホストバスアダプタ（ＦＣ・ＨＢＡ）４０３と、ベースボードマネージメントコントローラ（ＢＭＣ；Baseboard Management Controller）４０４と、ベースボードマネージメントコントラローラドライバ（ＢＭＣドライバ）４０５と、を含んで構成される。
【００２８】
ＣＰＵ４０１は、図３において図示しないハードディスク等からブログラムを読み出し、読み出したプログラムを実行する。ＣＰＵ４０１では、ＯＳ（Operation System）のカーネルが動作すると共に、ＯＳ上でアプリケーションが動作する。アプリケーションは、ＦＣドライバ４０２を介してＦＣ・ＨＢＡ４０３とのデータ送受信を行う。ＦＣ・ＨＢＡ４０３は、ファイバチャネルのインターフェイスとして機能する。
【００２９】
ＦＣ・ＨＢＡ４０３は、ＦＣスイッチ１２との接続ポートのリンクダウンを検出することで、ＦＣスイッチ１２との間の経路に障害が生じたことを認識する。ＦＣドライバ４０２は、ＦＣ・ＨＢＡ４０３で検出するポートのリンクダウンをＣＰＵ４０１上で動作するアプリケーションに通知する。
【００３０】
ＣＰＵ４０１で動作するアプリケーションは、ＢＭＣドライバ４０５を介してＢＭＣ４０４とのデータ送受信を行う。ＢＭＣ４０４は、ＥＭ１３とのインターフェイスとして機能する。ＢＭＣ４０４は、ＥＭ１３から、ＦＣスイッチ１２において通信エラー（例えば、ＣＲＣエラー）を検出した旨の通知を受ける。ＢＭＣ４０４は、ＥＭ１３からの通信エラーに係る通知をＣＰＵ４０１で動作するアプリケーションに伝達する。
【００３１】
アプリケーションでは、ＦＣドライバ４０２が通知するポートのリンクダウンに係る通知と、ＢＭＣ４０４からの通信エラーに係る通知と、に基づいて例外処理（異常処理）を実行する。より具体的には、ＣＰＵブレード１１とＦＣスイッチ１２の間に冗長経路（バックアップ経路）が存在すれば、アプリケーションは、通信エラーが検出された経路（現用経路）から冗長経路にファイバチャネルのＩ／Ｏ（Input/Output）パスを切り替える。例えば、図２に示す例では、ＣＰＵブレード１１−１とＦＣスイッチ１２−１の間の経路において、通信エラーが間欠的に生じる状況であれば、ＣＰＵブレード１１−１で動作するアプリケーションは、ＦＣスイッチ１２−２を使用してストレージエリアネットワーク２０にアクセスする。
【００３２】
ＦＣスイッチ１２は、ポート５０１と、切り替え制御部５０２と、レジスタ５０３と、を含んで構成される。
【００３３】
ポート５０１は、ＣＰＵブレード１１のＦＣ・ＨＢＡ４０３と、イーサネット（登録商標）や光ファイバケーブル等の媒体により接続される。
【００３４】
切り替え制御部５０２は、ＣＰＵブレード１１とストレージエリアネットワーク２０との接続経路を適宜切り替える手段である。より具体的には、切り替え制御部５０２は、ＣＰＵブレード１１が送信するフレームのヘッダ情報から宛先を割り出し、適宜、内部のポート間の接続を切り替える。また、切り替え制御部５０２は、受信フレームにおいて通信エラー（例えば、ＣＲＣエラー）を検出した場合に、当該エラーの発生を示すエラービットをレジスタ５０３にセットする。なお、切り替え制御部５０２は、１回の通信エラーの検出により、エラービットをレジスタ５０３に設定してもよいし、所定の規則に基づいて、エラービットを設定してもよい。例えば、切り替え制御部５０２に通信エラーの発生回数を計数するカウント機能を設け、所定の期間内に、所定の回数以上の通信エラーが発生した場合に、レジスタ５０３にエラービットを設定してもよい。即ち、切り替え制御部５０２に各ポートでのエラーレートを検出する機能を与え、切り替え制御部５０２が検出したエラーレートが所定の閾値を超えている場合に、ＣＲＣエラーの発生を示すエラービットをレジスタ５０３に設定してもよい。
【００３５】
なお、ＦＣスイッチ１２は複数のポート５０１を備えているため、ポート５０１ごとに、通信エラーの検出を管理する必要がある。より具体的には、レジスタ５０３は、ＦＣスイッチ１２が備えるポートごとにエラービットの設定が可能に構成されている。また、レジスタ５０３は、ＥＭ１３からもアクセス可能に構成されている。
【００３６】
図４は、ＥＭ１３の内部構成の一例を示す図である。ＥＭ１３は、アクセス部６０１と、制御部６０２と、記憶部６０３と、を含んで構成される。
【００３７】
アクセス部６０１は、ＦＣスイッチ１２のレジスタ５０３に格納されたエラービットを読み出す手段である。また、アクセス部６０１は、ＣＰＵブレード１１のＢＭＣ４０４と相互通信を行う手段でもある。なお、ＦＣスイッチ１２とＥＭ１３との間で、通信エラーに関する情報を伝達する手段は、レジスタ５０３に設定されたエラービットを介した方法に限定されない。例えば、切り替え制御部５０２が、ＦＣスイッチ１２とＥＭ１３を接続するポートに、Ｈレベル又はＬレベルの論理信号を出力することで、切り替え制御部５０２が検出した通信エラーをＥＭ１３に伝達してもよい。また、ＥＭ１３とＣＰＵブレード１１との接続も、ＣＰＵブレード１１とＥＭ１３との間で、情報の交換ができればどのような形態であってもよい。
【００３８】
制御部６０２は、レジスタ５０３に定期的にアクセスすることで、切り替え制御部５０２が、受信フレームにおいて通信エラーを検出したか否かを確認する。制御部６０２は、レジスタ５０３から取得した情報に基づいて、ＦＣスイッチ１２に対して、ポート５０１のゲート開閉を指示する。より具体的には、制御部６０２は、切り替え制御部５０２における通信エラーの検出を認識すると、ポート５０１のゲートを閉じる（ポートのリンクダウン）指示を行う。
【００３９】
また、制御部６０２は、ＦＣスイッチ１２が通信エラーを検出したことを認識すると、当該通信エラーの検出をＣＰＵブレード１１に通知する。その際、制御部６０２は、ブレードシステム１０に含まれる複数のＣＰＵブレード１１のいずれに対して、通信エラーの検出に係る通知をするのか把握している必要がある。このような情報を記憶するのが、記憶部６０３である。
【００４０】
図５は、記憶部６０３が記憶するテーブル情報の一例を示す図である。図５に示すように、記憶部６０３は、ＣＰＵブレード１１とＦＣスイッチ１２の間の接続に関する情報を記憶する。制御部６０２は、記憶部６０３が記憶する情報に基づき、通信エラーの通知を行う。例えば、ＦＣスイッチ１２−１のポート１において通信エラーの検出を行った場合には、ＣＰＵブレード１１−１に対して、当該通知を行う。
【００４１】
次に、通信システムの動作について説明する。
【００４２】
図６は、通信システムの動作の一例を示す図である。
【００４３】
ステップＳ０１において、ＦＣスイッチ１２は、ポート５０１で受信したフレームにおいて通信エラーが生じているか否かを確認する。通信エラーが生じていなければ（ステップＳ０１、Ｎｏ分岐）、通信エラーを確認する処理を繰り返す。
【００４４】
通信エラーが生じていれば（ステップＳ０１、Ｙｅｓ分岐）、ＦＣスイッチ１２は、通信エラーの発生が予め定めた条件を満たすか否かを判定する（ステップＳ０２）。例えば、上述のように、所定の期間内に、通信エラーが所定の回数カウントされた場合に、エラービットをレジスタ５０３に設定する条件が定められていれば、当該条件を満たすか否かを判定する。なお、１回の通信エラーの検出で、レジスタ５０３にエラービットを設定すると定められていれば、ステップＳ０２に係る処理は不要となる。
【００４５】
所定の条件を満たさなければ（ステップＳ０２、Ｎｏ分岐）、ステップＳ０１に戻り、処理を継続する。所定の条件を満たせば（ステップＳ０２、Ｙｅｓ分岐）、ＦＣスイッチ１２は、レジスタ５０３にエラービットを設定する（ステップＳ０３）。
【００４６】
ステップＳ０４において、ＥＭ１３は、ＦＣスイッチ１２に対し、ポート５０１のリンクダウンを指示する。また、ＥＭ１３は、ＣＰＵブレード１１のＢＭＣ４０４に、ＦＣスイッチ１２における通信エラーの検出を通知する。
【００４７】
ステップＳ０５において、ＦＣドライバ４０２及びＢＭＣ４０４は、それぞれ、ＣＰＵ４０１で実行されているアプリケーションに対して、ポートのリンクダウンに係る通知と通信エラーの検出に係る通知を行う。
【００４８】
ステップＳ０６において、アプリケーションは、ファイバチャネルのＩ／Ｏパスを冗長経路に切り替える等の通信エラーに対応する処理を行う（例外処理を行う）。即ち、ＣＰＵブレード１１は、ＥＭ１３からの通知に応じて、ＦＣスイッチ１２との接続ポートであって通信エラーが検出された接続ポートと異なるポートを使用する経路により、ストレージエリアネットワーク２０にアクセスする。
【００４９】
なお、本実施形態に係るブレードシステムにおいては、ＦＣドライバ４０２からＣＰＵ４０１で実行されているアプリケーションに対して、リンクダウンの通知を行っているが、このような通知は必ずしも必要はない。アプリケーションは、ＥＭ１３からの通信エラーの検出に係る通知に基づいて、現用経路と冗長経路を入れ替えることが可能だからである。同様の理由により、ＥＭ１３からＦＣスイッチ１２に対するポートのリンクダウンの指示も必ずしも必要がない。しかし、ポートをリンクダウンすることにより、即座に障害の生じている経路の使用を停止することが可能となる。その結果、ＣＰＵブレード１１とストレージエリアネットワーク２０間のトラフィック性能を維持できる。
【００５０】
また、本実施形態において、ブレードシステムを例にとり、経路のエラーを検出する方法を説明した。しかし、通信システムをブレードシステムに限定する趣旨ではない。ＣＰＵブレード１１に代えて、単体で動作するサーバ等の計算機を複数含み、複数の計算機がスイッチを介して外部の機器と接続されている通信システムであればよい。
【００５１】
さらに、本実施形態においては、ＥＭ１３に、ＦＣスイッチに生じた通信エラーを、ＣＰＵブレードに通知する機能を与えているが、当該機能を持つ計算機を独立して設けてもよい。例えば、ＥＭ１３と同様の機能を持つ管理サーバを通信システムに設けてもよい。あるいは、ＣＰＵブレード１１のいずれか１つに、ＥＭ１３と同様の機能を持たせ、他のＣＰＵブレード１１に対して通信エラーの検出に係る通知をしてもよい。
【００５２】
以上のように、本実施形態に係る通信システムにおいては、ＦＣスイッチ１２で検出した通信エラーを、上位の（フレームの送信側の）ＣＰＵブレード１１に通知する。通知を受けたＣＰＵブレード１１は、通信エラーの発生を契機として、例外処理（異常処理）を実行する。その結果、ＣＰＵブレード１１とＦＣスイッチ１２の間で、間欠的に生じる通信エラー（例えば、ＣＲＣエラー）に起因するフレームの再送信が頻繁に行われることを防止できる。即ち、間欠的に生じる通信エラーが、ブレードシステム１０及びストレージエリアネットワーク２０との間のトラフィック性能に影響を与える前に、経路の障害をいち早く検出し、現用経路と冗長経路を切り替える等の処置により、トラフィック性能の低下を抑止する。
【００５３】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００５４】
［付記１］
上述の第１の視点に係る通信システムのとおりである。
［付記２］
前記管理装置は、前記通信エラーが生じている場合に、前記スイッチに対し、前記接続ポートのリンクダウンを指示する付記１の通信システム。
［付記３］
前記スイッチは、受信フレームに生じる通信エラーの回数を計数し、前記計数した通信エラーの回数が所定の条件を満たす場合に、前記通信エラーが生じていると判定する付記１又は２の通信システム。
［付記４］
前記通信エラーは、巡回冗長検査エラーである付記１乃至３のいずれか一に記載の通信システム。
［付記５］
上述の第２の視点に係る通信方法のとおりである。
［付記６］
前記通信エラーが生じている場合に、前記通信エラーが検出された接続ポートをリンクダウンする工程をさらに含む付記５の通信方法。
［付記７］
受信フレームに生じる通信エラーの回数を計数し、前記計数した通信エラーの回数が所定の条件を満たす場合に、前記通信エラーが生じていると判定する工程をさらに含む付記５又は６の通信方法。
［付記８］
計算機と外部の機器との接続を切り替えるスイッチのポートであって、前記計算機との接続ポートで受信するフレームに、通信エラーが生じている場合に、前記計算機に対し、前記接続ポートで受信するフレームにおける前記通信エラーの発生を通知する管理装置。
［付記９］
前記スイッチに対し、前記通信エラーが検出された接続ポートのリンクダウンを指示する付記８の管理装置。
［付記１０］
計算機と外部の機器との接続を切り替えるスイッチを管理する管理装置の制御方法であって、
前記スイッチのポートであって、前記計算機との接続ポートで受信するフレームに、通信エラーが生じているか否かを判定する工程と、
前記通信エラーが生じている場合に、前記計算機に対し、前記接続ポートで受信するフレームにおける前記通信エラーの発生を通知する工程と、
を含む管理装置の制御方法。
［付記１１］
前記スイッチに対し、前記通信エラーが検出された接続ポートのリンクダウンを指示する工程をさらに含む付記１０の管理装置の制御方法。
［付記１２］
計算機と外部の機器との接続を切り替えるスイッチを管理する管理装置を制御するコンピュータに実行させるプログラムであって、
前記スイッチのポートであって、前記計算機との接続ポートで受信するフレームに、通信エラーが生じているか否かを判定する処理と、
前記通信エラーが生じている場合に、前記計算機に対し、前記接続ポートで受信するフレームにおける前記通信エラーの発生を通知する処理と、
を実行させるプログラム。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（ｎｏｎ−ｔｒａｎｓｉｅｎｔ）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
［付記１３］
前記スイッチに対し、前記通信エラーが検出された接続ポートのリンクダウンを指示する処理を実行させる付記１２のプログラム。
【００５５】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００５６】
１０  ブレードシステム
１１、１１−１、１１−２、２００  ＣＰＵブレード
１２、１２−１、１２−２、２１０、２１１  ファイバチャネルスイッチ（ＦＣスイッチ）
１３  エンクロージャマネージャ（ＥＭ）
２０、３００  ストレージエリアネットワーク（ＳＡＮ）
１０１  計算機
１０２  スイッチ
１０３  管理装置
２０１  ホストバスアダプタ（ＨＢＡ）
２２０  経路
４０１  ＣＰＵ
４０２  ファイバチャネルドライバ（ＦＣドライバ）
４０３  ファイバチャネルホストバスアダプタ（ＦＣ・ＨＢＡ）
４０４  ベースボードマネージメントコントローラ（ＢＭＣ）
４０５  ベースボードマネージメントコントラローラドライバ（ＢＭＣドライバ）
５０１  ポート
５０２  切り替え制御部
５０３  レジスタ
６０１  アクセス部
６０２  制御部
６０３  記憶部
【図１】
2014178973.tif 000003
【図２】
2014178973.tif 000004
【図３】
2014178973.tif 000005
【図４】
2014178973.tif 000006
【図５】
2014178973.tif 000007
【図６】
2014178973.tif 000008
【図７】
2014178973.tif 000009