説明

スイッチ装置及びフレーム交換方法とそのプログラム

【課題】冗長な経路を持つストレージエリアネットワークにおいて経路数の増加に伴うサーバ処理負荷の増加及び障害発生時におけるサーバの負荷の低減。
【解決手段】外部設定信号に基づき仮想ポートを生成し、ノードの冗長なポートと仮想ポートを対応付け、スイッチに入力されたフレームが前記仮想ポート宛だった場合、前記フレームを仮想ポートに対応付けられたノードのポート宛にフレームを送出することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はネットワークを構築するスイッチ装置に関して、障害発生時の処理の軽減を行う技術に関する。
【背景技術】
【0002】
スイッチ装置を利用したストレージエリアネットワーク(SAN)環境では、一般的にサーバからディスク装置内のデータ記録場所に至る経路は複数存在している。これはスイッチ装置が中間の経路を網状に接続することにより、どこかひとつの経路が障害により使用不可能になっても他の経路を利用し、また負荷分散により特定の経路に転送が集中して応答時間が長くなることを防止する目的で利用されている。
【0003】
特許文献1では、ファイバチャンネル・スイッチの故障を自動的に回避するために、ファイバチャネル・スイッチのポート制御部やスイッチング回路に故障が発生した場合に、ポート制御部相互間でデータを送るように迂回することでネットワークの継続運用を行う技術が記載されている。
【0004】
【特許文献1】特開2005−210166号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来のスイッチ装置においては、転送性能の増加や、負荷分散の実現、または障害発生時の予備のパスを確保する目的で、サーバとディスク装置間を複数のパスで接続される。
【0006】
具体的にはサーバは複数のHBA(Host Bus Adapter)を備え、冗長構成で各々スイッチに接続される。また、ディスク装置も複数の冗長なポートを備え、これらのポートも各々スイッチへ接続される。このように構成することで、HBAまたはディスク装置のポートの一つが故障した場合でも残りのHBAまたはディスク装置のポートを用いて通信を継続することで可用性を高めた運用が可能となる。
【0007】
しかし、この場合サーバからディスク装置内部の任意の記録用ディスク至る経路(パス)の数は、サーバとスイッチ間を接続するパスの数とディスク装置とスイッチ間を接続するパスの数の積となる。そのためサーバとディスク装置間を接続するパスを増やそうとした場合、これらの積に比例してパスが増加してしまうという問題がある。
【0008】
この結果サーバ側で管理しなければならないパスの本数が飛躍的に増加し、サーバにおいてフレームを転送するパスを管理するための資源が大幅に増加してしまう。例えばディスク装置の一つのポートに障害が発生した場合、このポートに接続されている全てのパスに対してエラーが発生するため、サーバ側ではこれらのパス全てを使用不可とするエラー処理を行う必要があるためサーバの資源を浪費してしまうという問題があった。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明のスイッチ装置は、外部設定信号に基づき仮想ポートを生成し、ノードの冗長なポートと仮想ポートを対応付け、スイッチに入力されたフレームが前記仮想ポート宛だった場合、前記フレームを仮想ポートに対応付けられたノードのポート宛にフレームを送出することを特徴とする。
【発明の効果】
【0010】
スイッチ装置から特定のノードにいたる経路が一つ以上ある複数のポートを仮想的に一つのポートとすることにより、サーバ側で管理するパスの数を削減し、ポートで障害が起きた際の処理を低減することができる。
【発明を実施するための最良の形態】
【0011】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。(第1の実施形態)図1に本実施の形態におけるスイッチ装置の詳細な構成を示す。図1を参照すると第1の実施形態におけるスイッチ装置は、ポート20、スイッチ部21、制御部22、経路情報記憶部23、仮想ポート管理部24、仮想ポート記憶部25、仮想ポート検索部26、フレーム書換部27を備える。
【0012】
ポート2
0には図示されていないサーバのHBA及び複数のポートを備えたディスク装置が接続される。またスイッチ2に直接サーバやディスク装置が接続される構成以外にも複数のスイッチを介してサーバとディスク装置が接続される構成にしてもよい。この場合スイッチ2のポート20には別のスイッチが接続され、サーバから送出されたフレームは複数のスイッチを経由してディスク装置に到達することになる。
【0013】
図2に本実施例でスイッチ部21が転送するフレームの構造を示す。フレームはSOF(Start Of Frame)で始まりEOF(End Of Frame)で終わり、この間にヘッダ部、可変長データ部、CRC(Cyclic Redundancy Check)部が入る。
【0014】
ヘッダ部にはフレームの送り先の装置のIDである宛先ID、及びフレームを送り元の装置のIDである送り元IDが設定されている。また可変長データ部にはフレームで転送するデータがおかれ、CRC部ではフレームのデータの正当性を検査するためにフレームのCRCを計算した値が設定されている。
【0015】
尚、本実施例では転送するフレームとしてファイバチャンネル・フレームを想定しているが、フレームの構造は上記構造に限定する必要はなく、少なくとも相手先ID及び送り元IDによりフレームの宛先が決定されるものであれば良い。
【0016】
次に、図1に示す各構成について、それぞれ詳細に説明する。スイッチ装置2へのフレームの入出力はポート20を介して行われる。前述したようにポート20にはサーバやディスク装置の他に他のスイッチを接続することも可能である。
【0017】
サーバがフレームを送出する場合、フレームには宛先IDと送り元IDが設定される。宛先IDにはサーバがアクセスを行う対象であるディスク装置のポートのIDが、また送り元IDにはフレームを送出したサーバのHBAのポートのIDが設定される。ポート20から入力されたフレームはスイッチ部21に渡される。
【0018】
スイッチ部21はポートからフレームが入力されると、フレームに設定されたフレームの宛先IDを用いて経路情報記憶部23を検索する。フレームを送出すべきポートが経路情報記憶部23に記憶された経路情報より求められると、スイッチ部21は当該フレームを送出すべきポートより出力する。
【0019】
経路情報情報記憶部23は、ある宛先IDを持つフレームをスイッチ部21がどのポートに送出すれば該当する宛先IDを持つノードに到達することができるかという経路情報を記憶している。
【0020】
制御部22はスイッチ装置2のポート20に直接サーバのHBAやディスク装置のポートが接続された場合、当該ポートに接続されたノードのIDを元に経路情報の設定を行う。この場合、当該IDを宛先IDとして持つフレームは、前記ポートに送出されるように経路情報が設定される。
【0021】
また、ポート20にスイッチ装置が接続される場合には、各スイッチ装置の持つ経路情報をスイッチ装置間で交換することにより、複数のスイッチ装置から構成されるネットワークにおいて、ネットワーク中のノードのポートから送出されたフレームが、そのフレームの宛先IDで指定される特定のノードのポートのポートに到達できるように、経路情報記憶部23に記憶される経路情報を設定する。
【0022】
経路情報にはフレームの宛先IDと対応付けられて、フレームを転送すべきポート20が設定されており、制御部22は経路情報をあらわす特別なフレームをスイッチ間で交換することにより、経路情報記憶部23に記憶された経路情報を随時更新する。
【0023】
スイッチ間で経路情報を交換するためのルーティングプロトコルとしてはファイバチャンネルではFSPF(Fibrechannel Shortest Path First)プロトコルなどが知られており、本実施例でもスイッチ装置2がファイバチャンネルフレームを転送する場合にはFSPFプロトコルを用いてもよい。
【0024】
尚、ルーティングプロトコルはFSPFプロトコルに限定されるものではなく、スイッチ間の経路情報を交換し、各スイッチの経路情報を決定できるものであれば良い。
【0025】
仮想ポート管理部24は、仮想ポートの生成及び仮想ポートの経路情報記憶部23への登録及び仮想ポートの設定を行う。仮想ポート管理部24はサーバもしくは図示しないスイッチの管理装置からの外部設定信号に基づき仮想ポートの作成を行う。サーバもしくは管理装置からの外部設定信号は、ポート20から入力されるフレームに当該フレームの宛先を仮想ポート管理部とし、更にフレームのデータに仮想ポートの構成情報を含めることで実現することができる。またポート20とは別に、スイッチ装置に外部設定信号用の入力を設ける構成としてもよい。
【0026】
更に仮想ポート管理部は作成された仮想ポートを経路情報記憶部23にも登録する。また仮想ポート管理部は仮想ポートの構成情報として、仮想ポートを構成するポートや、それらのポートに関連する属性情報を管理し、これを仮想ポート記憶部25に記憶する。
【0027】
仮想ポート記憶部25は、仮想ポート管理部24によって設定される仮想ポートの構成情報を記憶する。仮想ポート記憶部25に記憶される構成情報は前述した仮想ポートのIDから仮想ポートを構成するポートのIDを、また仮想ポートを構成するポートのIDから仮想ポートのIDと、両方の検索が可能な形に格納されている。
【0028】
仮想ポート検索部26は、フレーム書き換え部27から渡される仮想ポートのIDに基づき仮想ポート記憶部を検索し、IDによって特定された仮想ポートを構成するポートIDのうち一つを選んでフレーム書き換え部に返す。
【0029】
フレーム書き換え部27にはスイッチ部21から送出される仮想ポート宛のフレームの送り先IDを、仮想ポート検索部に送り、仮想ポートを構成するポートのIDの一つを得る。次にこのIDをフレームの送り先IDに設定してスイッチ部21に送出する。
【0030】
次に本発明の第1の実施形態に基づくスイッチ装置を用いたネットワークの構成とその動作の概要について述べる。
【0031】
図3は複数のホストアダプタを備えたサーバ1と、そのサーバに接続されるスイッチ装置2、及び複数のポートを備えたディスク装置3の物理的な接続関係を示している。
【0032】
サーバ1は3つのホストバスアダプタHBA11、HBA12、HBA13を備えている。各ホストバスアダプタは各々スイッチ2のポート201、ポート202、ポート203に接続されている。
【0033】
またディスク装置3は3つのポート31、ポート32、ポート33を備えており、各ポートはディスク装置3に内蔵された各ディスクアレイ(ディスクアレイ1、ディスクアレイ2、ディスクアレイ3)接続されており、各ポートからは内蔵された全てのディスクアレイにアクセスすることができる。これらディスク装置3の各ポートは各々スイッチ2のポート211、ポート212、ポート213に接続されている。
【0034】
なお、図3ではサーバ1、スイッチ2、ディスク装置3は各々1台ずつ記載されているが、本発明はこのようなシステムの構成に限定されるものではない。すなわち、任意の数のホストアダプタを備えた複数台のサーバを、複数のスイッチを介して、任意の数のポートを備えた複数台のディスク装置に接続する構成をとることもできる。また各スイッチが各々有するポートの数も本実施例に限定されるものではなく、スイッチからディスク装置への接続する経路が複数あるような冗長構成となる接続関係を実現できれば良い。
【0035】
図4に、図3に示すシステムにおいて、スイッチ2に仮想ポートを生成しないで、通常のスイッチとして動作させた場合におけるサーバ1とディスク装置3間の論理的な接続関係を示す。
【0036】
図4において、サーバとディスク装置との通信は次のように行われる。まずサーバから送出されるフレームは、サーバの備えるホストバスアダプタHBA1n(n=1〜3)のうちのいずれか一つを経由してスイッチ2に送られる。サーバが同一のスイッチ2に接続される複数のホストアダプタを備えることにより、サーバ1、スイッチ2間の接続経路を冗長化することができる。
【0037】
サーバ1から送られたフレームは、スイッチ2において、フレームが入力されたポートから、スイッチ2の持つ経路情報に基づきディスク装置に接続されるポートが選択され、当該ポートへフレームが送出される。ディスク装置3もサーバ1と同様に内部のディスクアレイにアクセスできる複数のポートを備えているため、スイッチ2、ディスク装置3間の接続経路を冗長化することができる。
【0038】
このような構成により、サーバ1、ディスク装置3の間は複数の冗長な接続経路によって接続されるため、サーバのホストバスアダプタや各機器のポート、ケーブルの故障により一部の経路が使用不能となった場合でも、残りの経路を経由したアクセスが可能になり、システムの可用性が高くなるという効果がある一方、サーバの監視する経路が組み合わせ的に増大するため、障害時のサーバの監視コストがかかるという問題がある。
【0039】
図5に、図4に示すシステムにおいて、スイッチ2に本実施例の構成に基づき、仮想ポートを作成した場合におけるサーバ1とディスク装置3間の論理的な接続関係を示す。図5ではスイッチ2にディスク装置3のポート31〜33に接続されているポート211〜213をまとめた仮想ポート10が作成される。仮想ポート10はディスク装置3の仮想的なポートとして機能し、サーバ1からのディスク装置3へのアクセスは全てこの仮想ポート10を経由して行われる。
【0040】
仮想ポートで送られたフレームはスイッチ2内で、適宜選択されたディスク装置のポートに対してフレームが送出される。
【0041】
ディスク装置のポートは見かけ上、仮想ポートのみとなるため、サーバ1が管理しなければならないディスク装置への経路はサーバのホストバスアダプタとスイッチ間の冗長経路のみとなり見掛けの経路の数は、ホストバスアダプタとスイッチ間の接続数をn、スイッチとディスク装置間の接続数をmとした場合、図4の仮想ポートを作成しない場合ではn×mであるのに対し、図5の仮想ポートを作成した場合ではn×1に減少する。この結果、障害発生時にサーバが管理すべきパスはm分の1に減少しサーバの監視コストを低減することができる。
【0042】
次に本実施例の動作について説明する。仮想ポートの作成及び経路情報への登録は、スイッチの初期設定時もしくは構成変更時に行う。サーバ1は仮想ポートをスイッチ2に作成するために、外部設定信号として構成情報設定用フレームを仮想ポート管理部24宛に送る。仮想ポート管理部24は管理用の特別なIDが付与され、このIDを送り先IDとするフレームはスイッチ部21により、仮想ポート管理部24に送られる。仮想ポート管理部はこのフレームの内容に基づき仮想ポート記憶部25に仮想ポートの構成情報の設定を行う。
【0043】
構成情報設定用のフレームは仮想ポート管理部に対する、新規な仮想ポートの作成の指示コマンド、新規に作成する仮想ポートのID及び、仮想ポートを構成するディスク装置3等のポートを指定できるものではあれば具体的な構造は特に限定されない。また新規に作成する仮想ポートのIDは構成情報設定用のフレームで設定する以外に、仮想ポート管理部が使われていない新たなIDを自動的に付与する構成としても良い。
【0044】
尚、本実施例では構成情報設定をフレームによって行っているが、これ以外にスイッチに設けられたIP通信による管理インタフェースを用いた実施形態をとることも可能であり、スイッチ間・サーバ間の通信方法は構成情報を送ることができるものであれば良い。
【0045】
また本実施例ではディスク装置をアクセスするサーバが構成情報設定を行っているが、これ以外にディスク構成を管理する専用の装置を用いて構成情報を設定することも可能であり、スイッチに所定の情報の設定で
きるシステム構成であれば、特に本実施例の構成に限定されるものではない。
【0046】
仮想ポート管理部は前述の構成情報設定を用いて仮想ポートの構成情報として、仮想ポート記憶部に図6に示す情報を設定する。仮想ポートの構成情報にはその仮想ポートのID、及びその仮想ポートに属するディスク装置のポートのIDが設定される。
【0047】
仮想ポートに送られたフレームを仮想ポートを構成するポートの一つに転送する際に、構成するポートの一つをランダムに選択し負荷分散を図る他に、仮想ポートを構成するポート情報に加えて、各ポートで処理可能なフレームの量を通信可能容量として管理することで、転送時に使用可能な容量が大きなポートを選択し、フレームを送出することで負荷分散を行うことができる。
【0048】
例えば、ファイバチャンネルでは通信可能容量は各ポートに割り当てられた受信バッファの容量に比例するクレジット数や、各ポートで処理可能なエクスチェンジ数とすることができる。ディスク装置のポートにフレームを転送する際にはポートの備える受信バッファの範囲で転送を行う必要があり、フレーム転送量がバッファの容量を超えた場合、フレーム転送は一次的に中断される。ディスク装置で処理が終了しバッファに余裕ができると、中断されていたフレーム転送を開始する。
【0049】
また仮想ポートの通信可能容量として、仮想ポートを構成する各ポートの通信可能容量を設定することができる。仮想ポートはディスク装置の複数のポートにより構成されているため、各ポートにサーバからもしくはサーバへのトラフィックを振り分けることにより、実際に使用可能な通信可能容量として仮想ポートを構成する各ポートの通信可能容量の総和を設定することができる。
【0050】
仮想ポートに通信可能容量を設定した場合、仮想ポートを構成するポートのうち実際にフレームを転送する際に使用したポートの使用量を増やし、当該ポートでの処理が終了したことを通知するフレームが到達した時点で当該ポートの使用量を減ずることで、該当するポートで現在利用可能な通信可能容量を把握することができる。例えば、通信可能容量としてポートのクレジット数を用いた場合、仮想ポートのクレジット数として、仮想ポートを構成する各ポートのクレジット数の総和が設定されることで、仮想ポートは仮想ポートを構成するクレジット数と同等のバッファを仮想的に備えることとなる。
【0051】
仮想ポートに送られたフレームは、仮想ポートを構成するポートの一つを適宜選択されたポートに送出されるが、ポートを選択する際にポートの使用可能なクレジット数に余裕があるものを選択することで、仮に一つのポートの使用可能なクレジット数がなくなった場合、即ちポートのバッファがなくなったことで、フレームの送出が行えなくなった場合でも、他のポートを介して通信を継続することができる。
【0052】
また、あるノードに属するポートへ送られたフレームが処理されると、ノードよりACKフレームが返されるため、このフレームを仮想ポートを管理するスイッチで識別することで、ポートで現在利用可能なクレジット数を把握することができる。
【0053】
また、この仮想ポートの通信可能容量として、各ポートの通信可能容量の総和値より少ない値を設定してもよい。総和値より小さい値を設定することで、仮想ポートを介して行われるトラフィックの総和を抑え、これにより障害が発生していない場合には仮想ポートを構成する各ポートの通信可能容量に対して余裕を持って通信を行うことができる。
【0054】
これにより仮想ポートを構成するポートや、ポートに至る経路上に障害が発生し通信が不能になった場合においても仮想ポートに設定した通信可能容量の範囲内で通信が可能な場合には、サーバに対して障害通知することなく運用を継続することができる。
【0055】
図6に、図5に示す仮想ポートを作成するために、仮想ポート記憶部25に作成される仮想ポートの構成情報を示す。図7の構成情報は、スイッチ2に仮想ポートが一つ作成され、その仮想ポートのIDが10として設定されていることを示している。
【0056】
仮想ポートのIDを決定する際には、ネットワーク内でユニークなIDを選択し、前述した構成情報を設定するサーバが設定する。次に仮想ポートの構成情報として、仮想ポートを構成するディスク装置のポートアドレスが設定される。
【0057】
図6に示す例では、図5のディスク装置3のポートのIDがそれぞれ4、5、6として設定されている。このように同じディスク装置に属するポートがどのディスク装置に対して透過なアクセスをすることが可能な冗長なポートであるかという情報はあらかじめシステムの設計者が構成情報として与えておく。
【0058】
また図6の例では、ディスク装置の各ポートのクレジット数を表す通信可能容量の合計値が仮想ポートのクレジット数である通信可能容量として設定されている。ここではポートID4〜ポートID6までクレジットの総和である6が仮想ポートのクレジット数として登録されている。また各ポートはフレームの送信に使われた際のクレジット数として使用量が格納されている。また各ポートの故障状況を管理するために各ポートの状態を保持しており、使用可能な場合は通信可能容量の範囲で通信が行うことを許可され、ディスク装置3のポートの障害や、スイッチ2からディスク装置3のポートまでの経路上に障害があり通信が出来ない場合は使用不可能という状態が設定される。
【0059】
次に仮想ポートが作成された場合におけるスイッチ各部の動作の詳細についてのべる。
【0060】
図7にスイッチ装置の各部の詳細な動作をフローチャートで示す。まず仮想ポートが作成されると、仮想ポートはサーバ側からみると仮想的なディスク装置のポートとして認識される。サーバ1は通信を開始する前に、この仮想ポートに対してポートログインを行う。次に仮想ポート管理部は仮想ポート記憶部からサーバ1が指定した仮想ポートのIDを検索し、該当する仮想ポートの通信可能容量等のパラメータをサーバ1に返す(ステップS0)。
【0061】
サーバ1から送出されたフレームはスイッチ部21に入力される(ステップS1)。
【0062】
次にスイッチ部21では経路情報記憶部23を検索し、フレームに設定された宛先アドレスをどのポートに送出するか決定する。フレームの宛先IDが仮想ポートIDを示していた場合はフレーム書き換え部27にフレームを送出される(ステップS2のYESの場合)。
【0063】
またスイッチ部21はフレームの送り元IDが仮想ポートを構成するディスク装置のポートである場合にもフレーム書き換え部27にフレームを送出する(ステップS10でYESの場合)。
【0064】
上記どちらにも該当しない場合(ステップS10でNOの場合)は、フレームは仮想ポート宛に、もしくは仮想ポートを構成するポートから送出されたものではないということになる。この場合、フレームはスイッチ部21で仮想ポートが設定されていない場合の通常のスイッチ動作と同じように、経路情報記憶部23に記憶された経路情報に基づき出力するポート20を選択しフレームを出力するという処理を行う。
【0065】
フレームが仮想ポート宛に送出された場合(ステップS2でYESの場合)、フレーム書き換え部27はフレームの宛先IDを仮想ポート検索部26に送り、仮想ポートを構成するディスク装置のポートを検索する(ステップS3)。
【0066】
仮想ポート検索部26は仮想ポートのIDに対応するディスク装置3のポートを仮想ポート記憶部25から検索し、ディスク装置に使用可能なポートがあるか判定する(ステップS4)。
【0067】
ディスク装置3のポートが故障により全て使用不能な場合(ステップS4でYESの場合)、フレームを送出するポートが存在しないため検索はエラーとなり、フレーム書き換え部27はフレームの送信元IDのサーバ1にエラーを表すフレームを送出し、障害通知を行う(ステップS9)。
【0068】
送出可能なディスク装置3のポートがあった場合、仮想ポート検索部26は前記ポートで使用可能なポートのうち、最も使用量の少ないポートを選択する(ステップS5)。
【0069】
次に仮想ポート検索部26は前記選択したポートの使用量を1増加させる(ステップS6)。
【0070】
フレーム書き換え部27はフレームの宛先IDをステップS5で選択されたポートのIDに書き換え、スイッチ部21に送出する(ステップS7)。
【0071】
スイッチ部21は宛先IDが書き換えられたフレームに対して、新しい宛先IDで経路情報記憶部23を検索し送出するポート20を決定し、当該ポートへフレームを送出する(ステップS8)。
【0072】
次にステップS10でYESの場合、当該フレームは仮想ポートを構成するディスク装置のポートから送出されたフレームである。フレーム書き換え部27は、当該フレームの送元IDに設定されているディスクのポートIDから、当該ポートを含む仮想ポートを仮想ポート検索部26で検索する。
【0073】
仮想ポート検索部26は該当する仮想ポートのIDをポート書き換え部27に返し、フレーム書き換え部27は当該フレームの送元IDを仮想ポートのIDで置き換える(ステップS12)。
【0074】
次にポート書き換え部27は、当該フレームが、ディスク装置のポートへ送出したフレームに対するACKフレームである場合と判断された場合(ステップS13でYESの場合)、当該ポートに該当する仮想ポート検索部26にたいして、前記検索を行ったポートの使用量を1減少させるよう指示し、仮想ポート検索部26は仮想ポート記憶部25の該当するポートの使用量を1減少させる(ステップS14)。
【0075】
ポート書き換え部27で当該フレームがACKフレームでないと判断された場合及びACKフレームと判断されステップS14でポート使用量が減らされたあと、当該フレームはスイッチ部21に送出される。
【0076】
次にスイッチ部21は当該フレームの宛先IDで経路情報記憶部23を検索し送出するポート20を検索し、当該ポートへフレームを送出する(ステップS8)。
【0077】
(第2の実施形態)次に本発明の第2の実施形態について説明する。第2の実施形態においてもスイッチの構成は第1の実施形態と同様で図1に示す構成となっている。
【0078】
第2の実施形態では、仮想ポート管理部24が仮想ポート記憶部25に設定する仮想ポートの記憶情報として、図8に示すように仮想ポート毎にエラーレベルが設定されている点が異なる。
【0079】
仮想ポート管理部24は仮想ポートを作成する際に、仮想ポートを構成するポートのうち障害通知を仮想ポートに接続されたノードに通知しないで通信を継続する最大許容するポートの故障の数をエラーレベルとして設定する。
【0080】
更に仮想ポート管理部24は仮想ポートを構成するポートの状態を監視しエラーとなった場合には、当該ポートを使用不可の状態とする。
【0081】
図8に示す例では仮想ポートを構成するポートは3つあるが、この場合は1つのポートが故障した場合は障害通知を行わないで通信を継続し、2つ以上のポートが故障した場合には障害通知を行うことを示している。
【0082】
また図8の例では仮想ポートの通信可能容量として4が設定されている。各ポートの通信可能容量の総和である6よりも小さい。この為、通信可能容量が2であるポートID6のポートが故障した場合でも、予め利用可能な通信可能容量に変化がないため、仮想ポートに接続したノードに障害通知を行うことなく仮想ポートを介した通信を行うことが可能になる。
【0083】
図9に本実施例におけるスイッチの各部の動作を示す。図9は第1の実施例の動作を示す図1とほぼ同一であるが、ステップS3において仮想ポート検索部26が仮想ポートを検索した場合に、仮想ポートを構成するポートのうち使用不可となっているポートの数がエラーレベルを超える場合、フレーム書き換え部27に通知する点が異なる(ステップS41)。
【0084】
フレーム書き換え部27はエラーが通知された場合(ステップS41のYESの場合)、フレームの送り元IDにエラーを通知することで仮想ポートに障害が発生したことを通知する。
【図面の簡単な説明】
【0085】
【図1】本発明の第1の実施形態におけるシステムの構成を示すブロック図である。
【図2】本発明の第1の実施形態におけるフレームの構造を示す図である。
【図3】本発明の第1の実施形態におけるシステムの物理的な接続関係を示す図である。
【図4】本発明の第1の実施形態において仮想ポートを使用しない場合のシステムの論理的な接続関係を示すブロック図である。
【図5】本発明の第1の実施形態において仮想ポートを使用した場合のシステムの論理的な接続関係を示すブロック図である。
【図6】本発明の第1の実施形態における仮想ポート記憶部25に記憶される仮想ポートの構成情報を示す図である。
【図7】本発明の第1の実施形態におけるスイッチの動作を示すフローチャートである。
【図8】本発明の第2の実施形態における仮想ポート記憶部25に記憶される仮想ポートの構成情報を示す図である。
【図9】本発明の第2の実施形態におけるスイッチの動作を示すフローチャートである。
【符号の説明】
【0086】
1 サーバ2 スイッチ3 ディスク装置11〜13 ホストバスアダプタ20 ポート21 スイッチ部22 制御部23 経路情報記憶部24 仮想ポート管理部25 仮想ポート記憶部26 仮想ポート検索部27 フレーム書き換え部201〜203 スイッチ ポート204 スイッチ 仮想ポート211〜213 スイッチ ポート31〜33 ディスク装置 ポート

【特許請求の範囲】
【請求項1】
ノードから送出されたフレームのスイッチングを行うスイッチ装置と冗長なポートを備えたノードからなるシステムにおいて、前記スイッチ装置は、 外部設定信号に基づき仮想ポートを生成し、前記冗長なポートと仮想ポートを対応付け、スイッチに入力されたフレームが前記仮想ポート宛だった場合、前記フレームを仮想ポートに対応付けられたノードのポート宛にフレームを送出することを特徴とするスイッチ装置。
【請求項2】
前記スイッチ装置は、仮想ポートのIDとポートのIDの対応関係を記憶する仮想ポート記憶部と、外部設定信号に基づき、仮想ポートを作成し、仮想ポートのIDとノードのIDを仮想ポート記憶部に記憶させる仮想ポート管理部と、フレームの宛先IDが仮想ポートであるか判定し、仮想ポートであった場合フレーム書き換え部に送出するスイッチ部と、前記仮想ポートに対応付けられたポートを仮想ポート記憶部から検索し、そのうち一のポートを選択し、前記ポートのIDを返す仮想ポート検索部と、前記スイッチ部から送出されたフレームの宛先IDを、前記仮想ポート検索部で検索して得られたIDに書き換える、スイッチ部に送出するフレーム書き換え部とを持つことを特徴とする請求項1に記載のスイッチ装置。
【請求項3】
前記仮想ポート管理部は、 仮想ポートに対応付けされた各ポートの通信可能容量をノードから取得し、前記各ポートの通信可能容量から仮想ポートの通信可能容量を決定し仮想ポート記憶部に設定し、前記仮想ポート記憶部は、 前記仮想ポートの通信可能容量を記憶することを特徴とする請求項2に記載のスイッチ装置。
【請求項4】
前記仮想ポート管理部は、 前記仮想ポートの通信可能容量として、仮想ポートに対応づけられたポートの通信可能容量の総和した値以下を設定することを特徴とする請求項3に記載のスイッチ装置。
【請求項5】
前記仮想ポート検索部が仮想ポートに対応付けられたポートの一を選択する際に、各ポートの使用量に基づきポートを選択することを特徴とする請求項3乃至4に記載のスイッチ装置。
【請求項6】
前記仮想ポート管理部は、 仮想ポートを構成するポートが故障した際、仮想ポートに接続したノードに障害通知するか否か判定するエラーレベルを前記仮想ポート毎に仮想ポート記憶部に記憶させ、仮想ポートを構成するポートが故障した場合、仮想ポート記憶部の該当するポートに使用不可である情報を設定するとともにポートの故障状況から障害度を決定し、前記仮想ポート検索部は、 使用可能なポートのうちからポートの一を選択し、障害度がエラーレベル以上となった場合には、エラーをフレーム書き換え部に通知し、前記フレーム書き換え部は、 前記仮想ポート検索部よりエラーが通知された場合、フレームの送り元IDにエラーを通知することを特徴とする請求項2乃至5いずれか1項に記載のスイッチ装置。
【請求項7】
前記障害度は仮想ポートを構成するポートのうち故障したポートの数であることを特徴とする請求項6に記載のスイッチ装置。
【請求項8】
冗長なポートを備えたノードとスイッチ装置におけるフレーム交換方法であって、前記フレーム交換方法は、外部設定信号に基づき仮想ポートを生成し、前記ノードの一つもしくは複数の冗長なポートと仮想ポートを対応づけるステップと、フレームの宛先が、前記仮想ポートであった場合に、前記仮想ポートに対応付けられたポートの一つにフレームを送出するステップとを含むことを特徴とするフレーム交換方法。
【請求項9】
前記フレームの宛先IDが仮想ポートの場合、仮想ポートに対応付けられたポートの一つを選択し、該宛先IDを該選択されたポートのIDに書き換えるステップを含むことを特徴とする請求項8に記載のフレーム交換方法。
【請求項10】
前記仮想ポートに対応づけられた各ポートの通信可能容量に基づき前記仮想ポートに通信可能容量を設定するステップとを含むことを特徴とする請求項9に記載のフレーム交換方法。
【請求項11】
前記仮想ポートの通信可能容量を設定するステップは、 前記ノードから取得された各ポートの通信可能容量を総和した値以下の値を設定することを特徴とする請求項10に記載のフレーム交換方法。
【請求項12】
前記仮想ポートに対応付けられたポートの一つにフレームを送出するステップにおいて、仮想ポートに対応付けられたポートを選択する際に、使用可能なポートのうち、利用可能な通信可能容量に基づきポートを選択することを特徴とする請求項8乃至11いずれか1項に記載のフレーム交換方法。
【請求項13】
仮想ポートを構成するポートが故障した際に障害通知するか否か判定するエラーレベルを設定するステップと、仮想ポートの構成するポートが故障した場合、障害度を前記エラーレベルと比較し、エラーレベル未満の場合は、仮想ポートを構成する残りのポートでフレームを送出し、エラーレベル以上の場合はエラーを送出元に返すステップを含むことを特徴とする請求項9乃至12いずれか1項に記載のフレーム交換方法。
【請求項14】
前記障害度は仮想ポートを構成するポートのうち故障したポートの数であることを特徴とする請求項13に記載のフレーム交換方法。
【請求項15】
外部設定信号に基づき仮想ポートを生成する処理と、 ノードの一つもしくは複数の冗長なポートと仮想ポートを対応づける処理と、フレームの宛先が、前記仮想ポートであった場合に、前記仮想ポートに対応付けられたポートの一つにフレームを送出する処理とを含むことを特徴とするプログラム。
【請求項16】
前記フレームの宛先IDが仮想ポートの場合、仮想ポートに対応付けられたポートの一つを選択し、該宛先IDを該選択されたポートのIDに書き換える処理を含むことを特徴とする請求項15に記載のプログラム。
【請求項17】
前記仮想ポートに対応づけられた各ポートの通信可能容量に基づき前記仮想ポートに通信可能容量を設定する処理とを含むことを特徴とする請求項16に記載のプログラム。
【請求項18】
前記仮想ポートの通信可能容量を設定する処理は、前記ノードから取得された各ポートの通信可能容量を総和した値以下の値を設定することを特徴とする請求項17に記載のプログラム。
【請求項19】
前記仮想ポートに対応付けられたポートの一つにフレームを送出する処理において、仮想ポートに対応付けられたポートを選択する際に、使用可能なポートのうち、利用可能な通信可能容量に基づきポートを選択することを特徴とする請求項15乃至18いずれか1項に記載のプログラム。
【請求項20】
仮想ポートを構成するポートが故障した際に障害通知するか否か判定するエラーレベルを設定する処理と、仮想ポートの構成するポートが故障した場合、障害度を前記エラーレベルと比較し、エラーレベル未満の場合は、仮想ポートを構成する残りのポートでフレームを送出し、エラーレベル以上の場合はエラーを送出元に返す処理を含むことを特徴とする請求項16乃至19いずれか1項に記載のプログラム。
【請求項21】
前記障害度は仮想ポートを構成するポートのうち故障したポートの数であることを特徴とする請求項20に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−228150(P2008−228150A)
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願番号】特願2007−66415(P2007−66415)
【出願日】平成19年3月15日(2007.3.15)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】