(57)【特許請求の範囲】
【請求項１】
他の通信装置を介して接続された第１および第２の通信装置と、前記第１および第２の通信装置に接続された複数の情報処理装置とを含むシステムの通信制御方法であって、
前記複数の情報処理装置が、フレームを前記第１の通信装置に出力して通信し、
前記第１の通信装置と第１の情報処理装置との間の障害が検出されると、前記第１の情報処理装置のフレームの出力先を前記第２の通信装置に切り替え、
前記複数の情報処理装置の中から、前記第１の情報処理装置が使用するタグ情報と共通するタグ情報を使用して通信を行う第２の情報処理装置を検索し、
前記第２の情報処理装置が出力するフレームのうち、前記共通するタグ情報を含むフレームの出力先を前記第２の通信装置に切り替え、前記共通するタグ情報を含まない他のフレームの出力先を前記第１の通信装置に維持する、
通信制御方法。
【請求項２】
前記第２の情報処理装置では、複数の仮想マシンが動作しており、前記共通するタグ情報を含むフレームを出力しているか否かが仮想マシン毎に判定される、請求項１記載の通信制御方法。
【請求項３】
前記共通するタグ情報を含むフレームの出力先を前記第２の通信装置に切り替えることができない場合、前記第１および第２の通信装置が、前記共通するタグ情報を他のタグ情報に変換してフレームを前記他の通信装置に転送する、請求項１または２記載の通信制御方法。
【請求項４】
他の通信装置を介して接続された第１および第２の通信装置と、前記第１および第２の通信装置に接続された複数の情報処理装置とを含むシステムに用いる管理装置であって、
前記複数の情報処理装置とタグ情報との対応関係を示す管理情報を記憶する記憶部と、
前記第１の通信装置にフレームを出力して通信を行う第１の情報処理装置と前記第１の通信装置との間の障害を検出すると、前記管理情報から、前記第１の情報処理装置が使用するタグ情報と共通するタグ情報を使用して前記第１の通信装置にフレームを出力して通信を行う第２の情報処理装置を検索し、前記第１の情報処理装置にフレームの出力先を前記第２の通信装置に切り替えるよう指示し、前記第２の情報処理装置に前記共通するタグ情報を含むフレームの出力先を前記第２の通信装置に切り替えるよう指示し、前記第２の情報処理装置が出力するフレームのうち前記共通するタグ情報を含まない他のフレームの出力先を前記第１の通信装置に維持させる制御部と、
を有する管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信制御方法および管理装置に関する。
【背景技術】
【０００２】
現在、物理的なネットワーク上に複数の論理的なネットワークを形成するネットワークの仮想化技術が利用されている。ネットワークの仮想化技術の１つとして、タグ方式のＶＬＡＮ（Virtual Local Area Network）がある。タグ方式のＶＬＡＮでは、フレームに、ＶＬＡＮ識別子（ＶＬＡＮ−ＩＤ）を含むタグが挿入される。フレームを転送する通信装置（例えば、レイヤ２スイッチ）は、タグを参照して、異なるＶＬＡＮのフレームが混在しないようにフレームの転送先を制御する。タグ方式のＶＬＡＮは、例えば、データセンタのレイヤ２ネットワークにおいて、フレームをユーザ毎に分離するために用いられる。
【０００３】
なお、複数の物理ストレージ間でロードバランスを図るストレージシステムであって、仮想ストレージシステムを形成するものが提案されている。また、アプリケーションソフトウェアの利用状態を示す情報をクライアント端末に提供し、クライアント端末が当該利用状態を示す情報に基づいてアプリケーション配信サーバにアクセスすることで、負荷の集中を軽減するシステムが提案されている。また、端末がサーバの所在を意識せずサーバのサービスを利用できるシステムにおいて、端末から送信されるサービス要求に電子署名を付加することで端末を認証できるようにする認証方法が提案されている。また、クライアントからサーバ宛てのメッセージを受信した中継装置が、クライアントの属するテナントを示すテナントＩＤとコネクションＩＤとを対応付けるシステムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００６／０５５７６５号
【特許文献２】特開２００９−２７７０８９号公報
【特許文献３】特開２０１０−１９１８０１号公報
【特許文献４】特開２０１０−２１９８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、タグ情報をフレームに挿入して仮想ネットワークを形成する場合、タグ情報で表現できる値が有限個であるために、１つの通信装置がサポートできる仮想ネットワークの数に上限があることがある。例えば、タグ方式のＶＬＡＮでは、ＶＬＡＮ−ＩＤが１２ビットで表現され、使用できるＶＬＡＮ−ＩＤは予約済みの２個を除く４０９４個であるため、１つのレイヤ２スイッチがサポートできるＶＬＡＮは４０９４個以下となる。
【０００６】
一方で、物理ネットワーク上に、１つの通信装置がサポートできる仮想ネットワークの数以上の仮想ネットワークを形成したいこともある。例えば、データセンタのレイヤ２ネットワーク上に、４０９４個を超えるＶＬＡＮを形成したいこともある。
【０００７】
そこで、各仮想ネットワークのフレームの伝送範囲が局所化されるように、タグ情報を使用した通信を行う情報処理装置を配置することで、物理ネットワーク内の離れた位置に同一タグ情報を使用する異なる仮想ネットワークを形成する方法も考えられる。しかし、この方法では、障害発生時に冗長制御によってフレームの伝送経路が変化すると、同一タグ情報を使用する複数の異なる仮想ネットワークのフレームが１つの通信装置に流入し、タグ情報の衝突が発生するおそれがあるという問題がある。
【０００８】
本発明はこのような点に鑑みてなされたものであり、障害発生によるフレームのタグ情報の衝突を抑制する通信制御方法および管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
他の通信装置を介して接続された第１および第２の通信装置と、第１および第２の通信装置に接続された複数の情報処理装置とを含むシステムの通信制御方法が提供される。複数の情報処理装置が、フレームを第１の通信装置に出力して通信する。この通信制御方法では、第１の通信装置と第１の情報処理装置との間の障害が検出されると、第１の情報処理装置のフレームの出力先を第２の通信装置に切り替える。複数の情報処理装置の中から、第１の情報処理装置が使用するタグ情報と共通するタグ情報を使用して通信を行う第２の情報処理装置を検索する。第２の情報処理装置が出力するフレームのうち、共通するタグ情報を含むフレームの出力先を第２の通信装置に切り替える。
【００１０】
また、他の通信装置を介して接続された第１および第２の通信装置と、第１および第２の通信装置に接続された複数の情報処理装置とを含むシステムの通信制御方法が提供される。複数の情報処理装置のうち第１および第２の情報処理装置が、第１のタグ情報を含むフレームを第１の通信装置に出力して通信する。第１の通信装置と第１の情報処理装置との間の障害が検出されると、第１の情報処理装置のフレームの出力先を第２の通信装置に切り替える。第１のタグ情報が他の通信装置で使用されていない場合、第１および第２の通信装置が第１のタグ情報を含むフレームを他の通信装置に転送する。第１のタグ情報が他の通信装置で使用されている場合、第１および第２の通信装置がフレームに含まれる第１のタグ情報を第２のタグ情報に変換して、当該フレームを他の通信装置に転送する。
【００１１】
また、他の通信装置を介して接続された第１および第２の通信装置と、第１および第２の通信装置に接続された複数の情報処理装置とを含むシステムに用いる管理装置が提供される。管理装置は、記憶部と制御部を含む。記憶部は、複数の情報処理装置とタグ情報との対応関係を示す管理情報を記憶する。制御部は、第１の通信装置と第１の情報処理装置との間の障害を検出すると、管理情報から、第１の情報処理装置が使用するタグ情報と共通するタグ情報を使用して通信を行う第２の情報処理装置を検索し、第１の情報処理装置にフレームの出力先を第２の通信装置に切り替えるよう指示し、第２の情報処理装置に共通するタグ情報を含むフレームの出力先を第２の通信装置に切り替えるよう指示する。
【発明の効果】
【００１２】
障害発生によるフレームのタグ情報の衝突を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の通信システムを示す図である。
【図２】第２の実施の形態の通信システムを示す図である。
【図３】第３の実施の形態の通信システムを示す図である。
【図４】サーバ装置の構造例を示すブロック図である。
【図５】サーバ装置による冗長制御の実装例を示すブロック図である。
【図６】サーバ装置による冗長制御の他の実装例を示すブロック図である。
【図７】方路管理テーブルの例を示す図である。
【図８】管理装置の構造例を示すブロック図である。
【図９】管理装置による経路制御の実装例を示すブロック図である。
【図１０】経路管理テーブルの例を示す図である。
【図１１】ＶＬＡＮ−ＩＤテーブルの例を示す図である。
【図１２】障害管理テーブルの例を示す図である。
【図１３】スイッチの構造例を示すブロック図である。
【図１４】ＶＬＡＮ変換テーブルの例を示す図である。
【図１５】経路決定の処理を示すフローチャートである。
【図１６】冗長制御の第１のシーケンス例を示す図である。
【図１７】フレーム伝送経路の第１の変化例を示す図である。
【図１８】冗長制御の第２のシーケンス例を示す図である。
【図１９】フレーム伝送経路の第２の変化例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の通信システムを示す図である。第１の実施の形態の通信システムは、タグ情報を含むフレームを伝送する。この通信システムは、例えば、ＶＬＡＮタグを含むＭＡＣフレームを伝送するレイヤ２ネットワークとして実現できる。
【００１５】
第１の実施の形態の通信システムは、情報処理装置３ａ，３ｂを含む複数の情報処理装置、通信装置４ａ，４ｂ，４ｃおよび管理装置１０を含む。情報処理装置３ａ，３ｂは、通信装置４ａ，４ｂの両方と接続されている。通信装置４ａ，４ｂは、上位の通信装置４ｃと接続されている。通信装置４ａ，４ｂ，４ｃは、レイヤ２スイッチであってもよい。
【００１６】
この通信システムでは、情報処理装置３ａ，３ｂが通信装置４ａ，４ｂの両方に接続されることで、フレームの伝送経路が冗長化されている。正常時には、情報処理装置３ａ，３ｂは、通信装置４ａにフレームを出力する。一方、通信装置４ａとの間のリンクに障害を検出すると、情報処理装置３ａ，３ｂは、管理装置１０に障害発生を報告し、管理装置１０からの指示に応じてフレームの出力先を通信装置４ｂに切り替える。
【００１７】
管理装置１０は、情報処理装置３ａ，３ｂのフレームの出力方向（方路）を制御する。管理装置１０は、記憶部１１と制御部１２を有する。管理装置１０は、ネットワークに接続されたサーバコンピュータでもよく、管理者が操作する端末装置であってもよい。制御部１２は、サーバコンピュータや端末装置の備えるＣＰＵ（Central Processing Unit）が、ＲＡＭ（Random Access Memory）に格納されたプログラムを実行することによって実現してもよい。また、制御部１２は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などの回路であってもよい。
【００１８】
記憶部１１は、管理情報１３を記憶する。記憶部１１は、ＲＡＭ（などの揮発性の記憶装置でもよく、ＨＤＤ（Hard Disk Drive）などの不揮発性の記憶装置でもよい。管理情報１３は、情報処理装置３ａ，３ｂを含む複数の情報処理装置とフレームに使用されるタグ情報との対応関係を示す。例えば、情報処理装置３ａがフレームにタグ＃１を使用し、情報処理装置３ｂがフレームにタグ＃１，＃２を使用するという対応関係を示す。タグ情報には、例えば、ＶＬＡＮ−ＩＤが含まれる。
【００１９】
制御部１２は、何れかの情報処理装置と通信装置４ａとの間で生じたリンク障害を検出する。リンク障害は、例えば、当該情報処理装置からの報告に基づいて認識される。制御部１２は、記憶部１１が記憶する管理情報１３から、リンク障害が検出された情報処理装置の使用するタグ情報と共通するタグ情報を使用している他の情報処理装置を検索する。制御部１２は、リンク障害が検出された情報処理装置に、フレームの出力先を通信装置４ｂに切り替えるよう指示する。また、検索された他の情報処理装置に、上記共通するタグ情報を含むフレームの出力先を通信装置４ｂに切り替えるよう指示する。
【００２０】
例えば、情報処理装置３ａと通信装置４ａの間でリンク障害が発生すると、制御部１２は、情報処理装置３ａ以外にタグ＃１を使用して通信を行っている情報処理装置３ｂを検索する。すると、制御部１２は、情報処理装置３ａにフレームの出力先を通信装置４ｂに切り替えるよう指示すると共に、情報処理装置３ｂにタグ＃１を含むフレームの出力先を通信装置４ｂに切り替えるよう指示する。ただし、情報処理装置３ａが使用していないタグ＃２を含むフレームの出力先は、切り替えずに通信装置４ａのままでよい。
【００２１】
なお、情報処理装置３ａ，３ｂ上では、複数の仮想マシンが動作していてもよい。同一の情報処理装置上で動作する異なる仮想マシンが、異なるタグ情報をフレームに使用することがある。情報処理装置３ａで生じたリンク障害に伴って方路切替を行う情報処理装置３ｂは、仮想マシン毎にフレームの出力先を判断するようにしてもよい。
【００２２】
第１の実施の形態の通信システムによれば、情報処理装置３ａ，３ｂを含む複数の情報処理装置が、フレームを通信装置４ａに出力して通信する。通信装置４ａと情報処理装置３ａとの間の障害が検出されると、情報処理装置３ａのフレームの出力先を通信装置４ｂに切り替える。また、管理装置１０が、複数の情報処理装置の中から、情報処理装置３ａが使用するタグ情報と共通するタグ情報を使用して通信を行う情報処理装置３ｂを検索する。そして、情報処理装置３ｂが出力するフレームのうち、当該共通するタグ情報を含むフレームの出力先を通信装置４ｂに切り替える。
【００２３】
このように、障害によって情報処理装置３ａがフレームの出力先を切り替えると、情報処理装置３ａと共通するタグ情報を使用する情報処理装置３ｂも合わせてフレームの出力先を切り替える。よって、障害発生前に通信装置４ａ以下で閉じて行われていた通信を、障害発生後は通信装置４ｂ以下で閉じて行うことができ、タグ情報を含むフレームが上位の通信装置４ｃに転送されることを抑制できる。
【００２４】
タグ情報を用いた通信を局所化することで、ネットワーク内に同一のタグ情報を使用する複数の仮想ネットワークを形成しても、仮想ネットワーク間でのタグ情報の衝突を抑制することができる。例えば、１つのレイヤ２ネットワーク内に、ＶＬＡＮ−ＩＤの上限数である４０９４個よりも多くのＶＬＡＮを形成することが可能となる。
【００２５】
［第２の実施の形態］
図２は、第２の実施の形態の通信システムを示す図である。第２の実施の形態の通信システムは、第１の実施の形態と同様、タグ情報を含むフレームを伝送する。
【００２６】
第２の実施の形態の通信システムは、情報処理装置３ｃ，３ｄを含む複数の情報処理装置、通信装置４ｄ，４ｅ，４ｆおよび管理装置２０を含む。情報処理装置３ｃ，３ｄは、通信装置４ｄ，４ｅの両方と接続されている。通信装置４ｄ，４ｅは、上位の通信装置４ｆと接続されている。第１の実施の形態と同様、情報処理装置３ｃ，３ｄが通信装置４ｄ，４ｅの両方に接続されることで、フレームの伝送経路が冗長化されている。正常時は、情報処理装置３ｃ，３ｄは、通信装置４ｄにフレームを出力する。
【００２７】
管理装置２０は、情報処理装置３ｃ，３ｄや通信装置４ｄ，４ｅのフレームの送受信を制御する。管理装置２０は、記憶部２１と制御部２２を有する。
記憶部２１は、管理情報２３を記憶する。記憶部２１は、ＲＡＭなどの揮発性の記憶装置でもよく、ＨＤＤなどの不揮発性の記憶装置でもよい。管理情報２３は、通信装置４ｆにおけるタグ情報の使用状況を示す。例えば、タグ＃１を含むフレームが通信装置４ｆに流入している一方、タグ＃２を含むフレームは通信装置４ｆに流入していないという状況を示す。タグ情報には、例えば、ＶＬＡＮ−ＩＤが含まれる。
【００２８】
制御部２２は、何れかの情報処理装置と通信装置４ｄの間で生じたリンク障害を検出すると、当該情報処理装置にフレームの出力先を通信装置４ｅに切り替えるよう指示する。また、制御部２２は、記憶部２１が記憶する管理情報２３を参照して、リンク障害が検出された情報処理装置の使用するタグ情報が、通信装置４ｆで既に使用されているか判定する。使用されている場合、通信装置４ｆで未使用の他のタグ情報を選択し、通信装置４ｄ，４ｅに、タグ情報を当該選択した他のタグ情報に変換して、フレームを上位の通信装置４ｆに転送するよう指示する。使用されていない場合には、通信装置４ｄ，４ｅは、タグ情報を変換せずにフレームを上位の通信装置４ｆに転送してよい。
【００２９】
例えば、情報処理装置３ｃと通信装置４ｄの間でリンク障害が発生すると、制御部２２は、情報処理装置３ｃにフレームの出力先を通信装置４ｅに切り替えるよう指示する。これにより、情報処理装置３ｃと情報処理装置３ｄの間では、上位の通信装置４ｆを介してフレームが伝送されることになる。ここで、制御部２２は、情報処理装置３ｃの使用するタグ＃１を含むフレームが既に通信装置４ｆに流入していることを確認すると、通信装置４ｄ，４ｅに、タグ＃１とタグ＃２の間の変換を行うよう指示する。
【００３０】
これにより、情報処理装置３ｃが出力したタグ＃１を含むフレームは、通信装置４ｅによってタグ＃１がタグ＃２に変換されて、上位の通信装置４ｆに転送される。そして、当該フレームは、通信装置４ｆから通信装置４ｄに転送され、通信装置４ｄによってタグ＃２がタグ＃１に変換されて、情報処理装置３ｄに転送される。情報処理装置３ｄから情報処理装置３ｃへのフレームも、同様に、通信装置４ｆを介して伝送される。
【００３１】
なお、タグ情報を変換することによる通信装置４ｆへのフレーム転送は、情報処理装置３ｄがフレームの出力先を通信装置４ｄから通信装置４ｅに切り替えることができない場合のみ実行してもよい。情報処理装置３ｄがフレームの出力先を通信装置４ｅに切り替えることができれば、第１の実施の形態で説明したように、情報処理装置３ｃ，３ｄは上位の通信装置４ｆを介さずにフレームを送受信することができる。
【００３２】
第２の実施の形態の通信システムによれば、情報処理装置３ｃ，３ｄが、第１のタグ情報を含むフレームを通信装置４ｄに出力して通信する。通信装置４ｄと情報処理装置３ｃとの間の障害が検出されると、情報処理装置３ｃのフレームの出力先を通信装置４ｅに切り替える。第１のタグ情報が通信装置４ｆで使用されていない場合、通信装置４ｄ，４ｅが、第１のタグ情報を含むフレームを通信装置４ｆに転送する。第１のタグ情報が通信装置４ｆで使用されている場合、管理装置２０は、通信装置４ｄ，４ｅに、第１のタグ情報を第２のタグ情報に変換してフレームを通信装置４ｆに転送するよう指示する。
【００３３】
これにより、障害発生前に通信装置４ｄ以下で閉じて行われていた通信が、障害発生後に上位の通信装置４ｆを経由することになっても、タグ情報の変換によって、フレームに含まれるタグ情報の衝突を抑制することができる。このため、正常時には、タグ情報を用いた通信を局所化することで、ネットワーク内に同一のタグ情報を使用する複数の仮想ネットワークを形成することが可能となる。
【００３４】
［第３の実施の形態］
図３は、第３の実施の形態の通信システムを示す図である。第３の実施の形態の通信システムは、サーバ装置１００，１００ａ，１００ｂを含む複数のサーバ装置、管理装置２００、スイッチ４１，４２，３００，３００ａおよびルータ４３，４４を含む。この通信システムは、例えば、データセンタのシステムとして実装することができる。
【００３５】
サーバ装置１００，１００ａ，１００ｂおよびスイッチ３００，３００ａは、サーバラック３１に格納されている。サーバラック３２にも、サーバ装置やスイッチが格納されている。ルータ４３，４４は、内側（サーバラック３１，３２側）と外側（ネットワーク４５側）を分離する。ルータ４３，４４の内側に、レイヤ２ネットワークが形成される。
【００３６】
サーバ装置１００，１００ａ，１００ｂは、複数のユーザが利用できるコンピュータである。サーバ装置１００，１００ａ，１００ｂ上では、ユーザ間で情報処理を分離するため、ユーザ毎に１またはそれ以上の仮想マシンが動作する。例えば、仮想マシン毎にオペレーティングシステム（ＯＳ：Operating System）が実行される。仮想マシンは、ユーザ間でレイヤ２通信を分離するため、ＶＬＡＮタグを含むフレームを送信する。例えば、ユーザ毎に１またはそれ以上のＶＬＡＮ−ＩＤが割り当てられる。
【００３７】
管理装置２００は、サーバ装置１００，１００ａ，１００ｂやスイッチ３００，３００ａを管理するためのコンピュータである。管理装置２００は、サーバコンピュータであってもよく、管理者が操作する端末装置としてのクライアントコンピュータでもよい。管理装置２００は、例えば、リンク障害が発生したときにフレームの伝送経路を変更する。
【００３８】
スイッチ４１，４２，３００，３００ａは、ＭＡＣレイヤ（レイヤ２）のフレーム処理を行う通信装置である。スイッチ４１，４２，３００，３００ａは、レイヤ２スイッチであってもよい。スイッチ３００，３００ａは、サーバレベルスイッチであり、サーバ装置１００，１００ａ，１００ｂ間でフレームを転送し、また、サーバ装置１００，１００ａ，１００ｂとスイッチ４１，４２の間でフレームを転送する。一方、スイッチ４１，４２は、集約レベルスイッチであり、サーバラック３１，３２に跨がるフレームを転送し、また、サーバラック３１，３２とルータ４３，４４の間でフレームを転送する。
【００３９】
ルータ４３，４４は、ＩＰ（Internet Protocol）レイヤ（レイヤ３）のパケット処理を行う通信装置である。ルータ４３，４４は、レイヤ３スイッチやレイヤ３を超える通信処理を行う通信装置であってもよい。ルータ４３，４４は、スイッチ４１，４２とネットワーク４５の間でパケットを転送する。サーバ装置１００，１００ａ，１００ｂを利用するユーザは、ネットワーク４５に接続されたクライアント装置から、ルータ４３，４４を介して、ルータ４３，４４の内側に形成されたレイヤ２ネットワークにアクセスする。
【００４０】
この通信システムでは、各種の装置やリンクが冗長化されている。サーバラック３１には、複数のサーバレベルスイッチが設けられる。サーバ装置１００，１００ａ，１００ｂは、スイッチ３００，３００ａ両方に接続され、何れか一方を選択してフレームを出力する。また、複数の集約レベルスイッチが設けられ、スイッチ３００はスイッチ４１に接続され、スイッチ３００ａはスイッチ４２に接続される。スイッチ４１，３００間、スイッチ４２，３００ａ間およびスイッチ４１，４２間の接続には、複数本のケーブルが用いられ、リンクアグリゲーションにより冗長化される。また、ＶＲＲＰ（Virtual Router Redundancy Protocol）などのプロトコルを用いてルータ４３，４４が冗長化され、スイッチ４１はルータ４３に接続され、スイッチ４２はルータ４４に接続される。
【００４１】
スイッチ４１，４２，３００，３００ａは、ＶＬＡＮをサポートする。ここで、レイヤ２ネットワーク内で多数のユーザの仮想マシンが動作することで、多数のＶＬＡＮが形成される可能性がある。例えば、各ユーザが、ファイアウォール（ＦＷ）用、Ｗｅｂサーバ用、アプリケーションサーバ（ＡＰサーバ）用およびデータベース（ＤＢ）用の４つの仮想マシンを使用する場合がある。この場合、ＦＷ−Ｗｅｂサーバ間の通信とＦＷ−ＡＰサーバ−ＤＢ間の通信を分離するため、ユーザ毎に２つのＶＬＡＮを形成することがある。
【００４２】
このため、ユーザに割り当て可能なＶＬＡＮ−ＩＤ数の上限である４０９４個を超えるＶＬＡＮを、レイヤ２ネットワーク内に形成できることが好ましい。そこで、同一ユーザの複数の仮想マシンを同一サーバラック内に配置し、ＶＬＡＮ−ＩＤを含むフレームが、できる限り集約レベルのスイッチ４１，４２を経由しないように局所化する。そして、異なるサーバラックでは、同一のＶＬＡＮ−ＩＤを用いて異なるＶＬＡＮを形成する。
【００４３】
なお、サーバ装置１００，１００ａ，１００ｂは、前述の情報処理装置３ａ，３ｂ，３ｃ，３ｄの一例である。管理装置２００は、前述の管理装置１０，２０の一例である。スイッチ３００，３００ａは、前述の通信装置４ａ，４ｂ，４ｄ，４ｅの一例である。スイッチ４１，４２は、前述の通信装置４ｃ，４ｆの一例である。
【００４４】
図４は、サーバ装置の構造例を示すブロック図である。サーバ装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３および通信インタフェース１１０を有する。上記モジュールは、バスに接続されている。サーバ装置１００ａ，１００ｂも、サーバ装置１００と同様のブロック構造によって実現できる。
【００４５】
ＣＰＵ１０１は、サーバ装置１００における情報処理を制御する演算装置である。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部を読み出してＲＡＭ１０２に展開し、プログラムを実行する。なお、サーバ装置１００は、複数の演算装置を備えて、プログラムを分散して実行してもよい。
【００４６】
ＲＡＭ１０２は、プログラムやデータを一時的に記憶する揮発性メモリである。なお、サーバ装置１００は、ＲＡＭ以外の種類のメモリを備えてもよい。
ＨＤＤ１０３は、ＯＳプログラムやアプリケーションプログラムなどのプログラム、および、情報処理に用いるデータを記憶する不揮発性の記憶装置である。ＨＤＤ１０３は、ＣＰＵ１０１の命令に従って、内蔵の磁気ディスクに対するデータの読み書きを行う。なお、サーバ装置１００は、ＨＤＤ以外の種類の不揮発性の記憶装置（例えば、ＳＳＤ（Solid State Drive））を備えてもよい。
【００４７】
通信インタフェース１１０は、ＶＬＡＮタグを含むフレームを送信および受信する。通信インタフェース１１０は、ポート１１１，１１２，１１３を有する。ポート１１１は、スイッチ３００と接続される。ポート１１２は、スイッチ３００ａと接続される。ポート１１３は、通信装置などを介して管理装置２００と接続される。
【００４８】
図５は、サーバ装置による冗長制御の実装例を示すブロック図である。サーバ装置１００では、ＣＰＵ１０１がプログラムを実行することで、仮想マシン１２１，１２２を含む複数の仮想マシンおよび管理ＯＳ１３０が動作する。
【００４９】
仮想マシン１２１，１２２は、ユーザが使用する仮想的なコンピュータである。仮想マシン毎にＯＳが実行される。各仮想マシンには、ＶＬＡＮ−ＩＤが割り当てられる。仮想マシン１２１，１２２は、同一ユーザが使用する他の仮想マシンと通信するとき、ＶＬＡＮタグを含むフレームを送受信する。
【００５０】
管理ＯＳ１３０は、仮想マシン１２１，１２２を制御する。管理ＯＳ１３０は、障害検出部１３１、警報送信部１３２、命令受信部１３３、方路判定部１３４、テーブル記憶部１３５および方路切替部１３６を有する。テーブル記憶部１３５は、例えば、ＲＡＭ１０２やＨＤＤ１０３上に確保された記憶領域として実装できる。それ以外のユニットは、プログラムのモジュールとして実装できる。
【００５１】
障害検出部１３１は、スイッチ３００，３００ａと接続されたポート１１１，１１２におけるフレームの受信状況を監視し、サーバ装置１００とスイッチ３００，３００ａとの間のリンク障害を検出する。障害検出部１３１は、リンク障害が検出されると、障害が発生したポートの識別子（ポートＩＤ）を警報送信部１３２に通知する。
【００５２】
警報送信部１３２は、障害検出部１３１でリンク障害が検出されると、障害発生を示す警報メッセージを、ポート１１３を介して管理装置２００に送信する。警報メッセージには、障害が発生したポートのＩＤやサーバ装置１００の識別子が含まれる。
【００５３】
命令受信部１３３は、フレームの出力方向（方路）の切替を示す命令を、ポート１１３を介して管理装置２００から受信する。一部のフレームのみが切替対象となる場合、方路切替の命令には、切替対象とするフレームのＶＬＡＮ−ＩＤが含まれ得る。命令受信部１３３は、命令を受信すると、命令の内容を方路判定部１３４に通知する。
【００５４】
方路判定部１３４は、ＶＬＡＮ毎にフレームを出力するポートを管理する。方路判定部１３４は、命令受信部１３３で方路切替の命令が受信されると、テーブル記憶部１３５を参照して、切替後のＶＬＡＮとポート１１１，１１２との対応関係を判定する。そして、ＶＬＡＮ毎の方路を方路切替部１３６に指示する。
【００５５】
テーブル記憶部１３５は、ＶＬＡＮ−ＩＤとポートＩＤとを対応付けた方路管理テーブルを記憶する。方路管理テーブルは、管理装置２００からの命令に従って更新される。
方路切替部１３６は、方路判定部１３４からの指示に従い、ＶＬＡＮタグを含むフレームがポート１１１，１１２の何れか一方から出力されるようにフレームを振り分ける。
【００５６】
ところで、サーバ装置１００，１００ａ，１００ｂでＶＬＡＮ毎の方路切替を実現する方法として、複数の実装方法が考えられる。例えば、第１の方法として、管理ＯＳ１３０で動作する既存ドライバが備えるポート冗長化機能（ボンディング機能）を拡張し、新たなボンディングモードを追加する方法が考えられる。第２の方法として、ポート冗長化機能を備える新たなドライバを、管理ＯＳ１３０で動作させる方法が考えられる。第３の方法として、管理ＯＳ１３０とポート１１１，１１２の間に、方路切替のためのハードウェアを設ける方法が考えられる。上記の図５の実装例は、第１の方法および第２の方法に相当する。以下、第３の方法に相当する実装例を説明する。
【００５７】
図６は、サーバ装置による冗長制御の他の実装例を示すブロック図である。サーバ装置１００ａは、通信インタフェース１１０ａを有し、また、仮想マシン１２１ａ，１２２ａを含む複数の仮想マシンおよび管理ＯＳ１３０ａを動作させる。
【００５８】
通信インタフェース１１０ａは、ポート１１１ａ，１１２ａ，１１３ａ、障害検出部１１４、警報送信部１１５、命令受信部１１６、方路判定部１１７、テーブル記憶部１１８および方路切替部１１９を有する。ポート１１１ａ，１１２ａ，１１３ａ以外のこれらモジュールは、図５の管理ＯＳ１３０の機能に対応し、ハードウェアとして実装される。
【００５９】
図７は、方路管理テーブルの例を示す図である。方路管理テーブル１３７は、テーブル記憶部１３５に記憶される。方路管理テーブル１３７は、ＶＬＡＮ−ＩＤおよびポートＩＤの項目を含む。ＶＬＡＮ−ＩＤの項目には、サーバ装置１００で動作する仮想マシンが使用するＶＬＡＮ−ＩＤが登録される。ポートＩＤの項目には、ポート１１１，１１２の識別子が登録される。方路管理テーブル１３７は、各ＶＬＡＮのフレームをポート１１１，１１２の何れに出力するかを示している。
【００６０】
図８は、管理装置の構造例を示すブロック図である。管理装置２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ２０３、画像信号処理部２０４、入力信号処理部２０５、ディスクドライブ２０６および通信インタフェース２０７を有する。これらユニットが、管理装置２００内でバスに接続されている。
【００６１】
ＣＰＵ２０１は、管理装置２００における情報処理を制御する演算装置である。ＣＰＵ２０１は、ＨＤＤ２０３に記憶されたプログラムやデータの少なくとも一部を読み出してＲＡＭ２０２に展開し、プログラムを実行する。
【００６２】
ＲＡＭ２０２は、プログラムやデータを一時的に記憶する揮発性メモリである。
ＨＤＤ２０３は、ＯＳプログラムやアプリケーションプログラムなどのプログラム、および、情報処理に用いられるデータを記憶する不揮発性の記憶装置である。ＨＤＤ２０３は、ＣＰＵ２０１の命令に従って、内蔵の磁気ディスクに対する読み書きを行う。
【００６３】
画像信号処理部２０４は、ＣＰＵ２０１の命令に従って、管理装置２００に接続されたディスプレイ５１に画像を出力する。ディスプレイ５１として、例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００６４】
入力信号処理部２０５は、管理装置２００に接続された入力デバイス５２から入力信号を取得し、ＣＰＵ２０１に出力する。入力デバイス５２として、例えば、マウスやタッチパネルなどのポインティングデバイスや、キーボードなどを用いることができる。
【００６５】
ディスクドライブ２０６は、記録媒体５３に記録されたプログラムやデータを読み取る駆動装置である。記録媒体５３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。ディスクドライブ２０６は、例えば、ＣＰＵ２０１の命令に従って、記録媒体５３から読み取ったプログラムやデータをＲＡＭ２０２またはＨＤＤ２０３に格納する。
【００６６】
通信インタフェース２０７は、サーバ装置１００，１００ａ，１００ｂやスイッチ３００，３００ａなどの各種装置と通信する。
図９は、管理装置による経路制御の実装例を示すブロック図である。管理装置２００は、警報受信部２１１、テーブル記憶部２１２、ＶＬＡＮ判定部２１３および命令送信部２１４を有する。テーブル記憶部２１２は、ＲＡＭ２０２やＨＤＤ２０３上に確保された記憶領域として実装できる。それ以外のユニットは、プログラムにより実装できる。
【００６７】
警報受信部２１１は、通信インタフェース２０７を介して、サーバ装置１００，１００ａ，１００ｂから障害発生を示す警報メッセージを受信する。警報メッセージには、障害が発生したポートのＩＤや送信元のサーバ装置の識別子が含まれる。警報受信部２１１は、受信した警報メッセージの内容をＶＬＡＮ判定部２１３に通知する。
【００６８】
テーブル記憶部２１２は、サーバ装置１００，１００ａ，１００ｂで動作する仮想マシン間の通信状況を示す経路管理テーブルを記憶する。経路管理テーブルは、サーバ装置と仮想マシンとＶＬＡＮ−ＩＤとポートの関係を示す情報を含む。また、テーブル記憶部２１２は、集約レベルのスイッチ４１，４２に流入するフレームに使用されているＶＬＡＮ−ＩＤを示すＶＬＡＮ−ＩＤテーブルを記憶する。また、テーブル記憶部２１２は、各サーバ装置のポートの障害状況を示す障害管理テーブルを記憶する。
【００６９】
ＶＬＡＮ判定部２１３は、警報受信部２１１で警報メッセージが受信されると、テーブル記憶部２１２を参照し、方路切替の対象となるサーバ装置およびＶＬＡＮを判定する。方路切替の対象となり得るサーバ装置は、障害が発生したサーバ装置と、当該サーバ装置と同じＶＬＡＮ−ＩＤを用いて通信を行う他のサーバ装置である。ただし、他のサーバ装置については、当該同じＶＬＡＮ−ＩＤを含むフレームが方路切替の対象となる。ＶＬＡＮ判定部２１３は、判定したサーバ装置およびＶＬＡＮを命令送信部２１４に通知する。
【００７０】
また、ＶＬＡＮ判定部２１３は、冗長制御の結果、障害が発生したサーバ装置のフレームが、集約レベルのスイッチ４１，４２に転送されることになるか確認する。フレームがスイッチ４１，４２に転送される場合としては、上記他のサーバ装置が方路切替できない場合が考えられる。フレームがスイッチ４１，４２に転送される場合、テーブル記憶部２１２を参照し、スイッチ４１，４２でＶＬＡＮ−ＩＤの衝突が発生し得るか判定する。ＶＬＡＮ判定部２１３は、ＶＬＡＮ−ＩＤの衝突が発生し得る場合、衝突を回避するため、スイッチ４１，４２へ転送されるフレームのＶＬＡＮ−ＩＤを変換するよう決定する。
【００７１】
命令送信部２１４は、ＶＬＡＮ判定部２１３の判定に基づいて、方路切替の命令をサーバ装置１００，１００ａ，１００ｂに送信する。方路切替の命令には、対象となるＶＬＡＮ−ＩＤが含まれ得る。また、命令送信部２１４は、ＶＬＡＮ判定部２１３の判定に基づいて、特定のＶＬＡＮのフレームをスイッチ４１，４２に転送することを許可する命令やＶＬＡＮ−ＩＤ変換の命令をスイッチ３００，３００ａに送信する。ＶＬＡＮ−ＩＤ変換の命令には、変換対象のＶＬＡＮ−ＩＤと変換後のＶＬＡＮ−ＩＤとが含まれる。
【００７２】
図１０は、経路管理テーブルの例を示す図である。経路管理テーブル２１５は、テーブル記憶部２１２に記憶されている。経路管理テーブル２１５は、ＶＬＡＮタグを用いて通信を行う第１および第２の仮想マシン、ＶＬＡＮ−ＩＤ、スイッチＩＤ、迂回フラグおよび変換ＶＬＡＮ−ＩＤの項目を含む。第１および第２の仮想マシンの項目には、それぞれＶＭ−ＩＤ、サーバＩＤおよびポートＩＤの項目が含まれる。
【００７３】
ＶＭ−ＩＤの項目には、仮想マシンの識別子が登録される。サーバＩＤの項目には、当該仮想マシンが配置されているサーバ装置の識別子（例えば、ＩＰアドレスなど）が登録される。ポートＩＤの項目には、当該仮想マシンのフレームが出力されるポートの識別子が登録される。ＶＬＡＮ−ＩＤの項目には、２つの仮想マシン間のフレームに使用されているＶＬＡＮ−ＩＤが登録される。スイッチＩＤの項目には、フレームを転送するサーバレベルスイッチ（スイッチ３００，３００ａなど）の識別子が登録される。迂回フラグの項目には、フレームが集約レベルのスイッチ４１，４２を経由しているか否かを示すフラグが登録される。変換ＶＬＡＮ−ＩＤの項目には、集約レベルのスイッチ４１，４２にフレームを転送するときに使用されるＶＬＡＮ−ＩＤが登録される。
【００７４】
経路管理テーブル２１５のポートＩＤ、スイッチＩＤ、迂回フラグおよび変換ＶＬＡＮ−ＩＤの項目の情報は、ＶＬＡＮ判定部２１３によって更新される。
図１１は、ＶＬＡＮ−ＩＤテーブルの例を示す図である。ＶＬＡＮ−ＩＤテーブル２１６は、テーブル記憶部２１２に記憶されている。ＶＬＡＮ−ＩＤテーブル２１６は、ＶＬＡＮ−ＩＤおよび使用フラグの項目を含む。
【００７５】
ＶＬＡＮ−ＩＤの項目には、ユーザに割り当て可能な４０９４個のＶＬＡＮ−ＩＤ（＃１〜＃４０９４）が登録される。使用フラグの項目には、各ＶＬＡＮ−ＩＤが集約レベルのスイッチ４１，４２で使用されているか否かを示すフラグが登録される。使用フラグの項目の情報は、ＶＬＡＮ判定部２１３によって更新される。
【００７６】
図１２は、障害管理テーブルの例を示す図である。障害管理テーブル２１７は、テーブル記憶部２１２に記憶されている。障害管理テーブル２１７は、サーバＩＤ、ポートＩＤおよび障害フラグを示す項目を含む。
【００７７】
サーバＩＤの項目には、サーバ装置１００，１００ａ，１００ｂなどのサーバ装置の識別子が登録される。ポートＩＤの項目には、各サーバ装置が有するポートの識別子が登録される。障害フラグの項目には、各ポートにリンク障害が発生しているか否かを示すフラグが登録される。障害フラグの項目の情報は、ＶＬＡＮ判定部２１３によって更新される。
【００７８】
図１３は、スイッチの構造例を示すブロック図である。スイッチ３００は、通信インタフェース３１１、ポート部３１２、制御部３２０、ＭＡＣスイッチ３３０およびＶＬＡＮ処理部３４０を有する。スイッチ３００ａも、同様のブロック構造により実現できる。
【００７９】
通信インタフェース３１１は、管理装置２００と通信する管理用のインタフェースである。ポート部３１２は、集約レベルのスイッチ４１，４２やサーバラック３１内のサーバ装置１００，１００ａ，１００ｂとケーブルで接続される複数のポートを有する。
【００８０】
制御部３２０は、スイッチ３００におけるフレーム処理を制御する。例えば、制御部３２０は、通信インタフェース３１１を介して管理装置２００から、ＶＬＡＮとポートの対応付けを変更する命令を受信し、ＭＡＣスイッチ３３０に転送先の切替を指示する。また、制御部３２０は、管理装置２００からＶＬＡＮ−ＩＤ変換の命令を受信し、ＶＬＡＮ処理部３４０が備えるテーブルを書き換える。
【００８１】
上記制御を実現するために、制御部３２０は、ＣＰＵ３２１、ＲＡＭ３２２およびＲＯＭ（Read Only Memory）３２３を有する。ＣＰＵ３２１は、ファームウェアプログラムを実行する。ＲＡＭ３２２は、ファームウェアプログラムやデータを一時的に記憶する。ＲＯＭ３２３は、ファームウェアプログラムやデータを予め記憶している。ＲＯＭ３２３は、フラッシュメモリなど、書き換え可能な不揮発性メモリであってもよい。
【００８２】
ＭＡＣスイッチ３３０は、ポート部３１２の各ポートで受信されたフレームを取得し、フレームに含まれるＶＬＡＮ−ＩＤおよび宛先ＭＡＣアドレスに基づいて、当該フレームを出力するポートを判定する。ＭＡＣスイッチ３３０は、出力ポートの判定に用いる転送テーブルを保持していてもよく、アドレス学習によって転送テーブルに登録されたＭＡＣアドレスを更新してもよい。ＭＡＣスイッチ３３０は、転送するフレームを、ＶＬＡＮ処理部３４０を介して、判定したポートに対して出力する。
【００８３】
ＶＬＡＮ処理部３４０は、ＭＡＣスイッチ３３０から取得したフレームをポート部３１２に転送する。このとき、フレームに含まれるＶＬＡＮ−ＩＤを変換することがある。ＶＬＡＮ処理部３４０は、テーブル記憶部３４１およびタグ変換部３４２を有する。
【００８４】
テーブル記憶部３４１は、サーバラック３１内で使用するＶＬＡＮ−ＩＤと集約レベルのスイッチ４１，４２で使用するＶＬＡＮ−ＩＤとを対応付けたＶＬＡＮ変換テーブルを記憶する。ＶＬＡＮ変換テーブルは、制御部３２０によって更新される。
【００８５】
タグ変換部３４２は、ＭＡＣスイッチ３３０から取得したフレームに含まれるＶＬＡＮ−ＩＤが、テーブル記憶部３４１に記憶されたＶＬＡＮ変換テーブルに登録されているか判定する。登録されている場合、タグ変換部３４２は、ＶＬＡＮ変換テーブルに従って、サーバラック３１内で使用するＶＬＡＮ−ＩＤとスイッチ４１，４２で使用するＶＬＡＮ−ＩＤとを相互に変換してから、フレームをポート部３１２に転送する。
【００８６】
図１４は、ＶＬＡＮ変換テーブルの例を示す図である。ＶＬＡＮ変換テーブル３４３は、テーブル記憶部３４１に記憶されている。ＶＬＡＮ変換テーブル３４３は、ラック内ＩＤおよびラック外ＩＤの項目を含む。ラック内ＩＤの項目には、サーバ装置１００，１００ａ，１００ｂで使用されるＶＬＡＮ−ＩＤが登録される。ラック外ＩＤの項目には、スイッチ４１，４２で使用されるＶＬＡＮ−ＩＤが登録される。
【００８７】
ＶＬＡＮ変換テーブル３４３に登録されたラック内ＩＤを含むフレームがサーバラック３１からスイッチ４１，４２に転送されるとき、当該ラック内ＩＤが対応するラック外ＩＤに変換されることになる。また、ＶＬＡＮ変換テーブル３４３に登録されたラック外ＩＤを含むフレームがスイッチ４１，４２からサーバラック３１に転送されるとき、当該ラック外ＩＤが対応するラック内ＩＤに変換されることになる。
【００８８】
図１５は、経路決定の処理を示すフローチャートである。この処理は、管理装置２００において実行される。以下、図１５に示す処理をステップ番号に沿って説明する。
（ステップＳ１１）警報受信部２１１は、何れかのサーバ装置からリンク障害が検出されたことを示す警報メッセージを受信する。警報メッセージには、送信元のサーバ装置の識別子と障害が発生したポートの識別子が含まれる。
【００８９】
（ステップＳ１２）ＶＬＡＮ判定部２１３は、テーブル記憶部２１２に記憶された経路管理テーブル２１５から、警報メッセージが示すポートを使用するＶＬＡＮを検索する。
（ステップＳ１３）ＶＬＡＮ判定部２１３は、経路管理テーブル２１５から、ステップＳ１２で検索されたＶＬＡＮのフレームを送信する他のサーバ装置を検索する。
【００９０】
（ステップＳ１４）ＶＬＡＮ判定部２１３は、テーブル記憶部２１２に記憶された障害管理テーブル２１７を参照して、ステップＳ１３で検索された他のサーバ装置が、方路切替可能か判断する。当該他のサーバ装置が、現在使用しているポート以外に正常なポートを有する場合、方路切替可能と判断する。方路切替可能である場合、処理をステップＳ１５に進める。方路切替不可の場合、処理をステップＳ１７に進める。
【００９１】
（ステップＳ１５）命令送信部２１４は、警報メッセージの送信元のサーバ装置に、全ＶＬＡＮを対象とした方路切替を示す命令を送信する。
（ステップＳ１６）命令送信部２１４は、ステップＳ１３で検索された他のサーバ装置に、ステップＳ１２で検索されたＶＬＡＮを対象とした方路切替を示す命令を送信する。ＶＬＡＮ判定部２１３は、方路切替の結果に従って、経路管理テーブル２１５と障害管理テーブル２１７を更新する。
【００９２】
（ステップＳ１７）ＶＬＡＮ判定部２１３は、テーブル記憶部２１２に記憶されたＶＬＡＮ−ＩＤテーブル２１６を参照し、集約レベルのスイッチ４１，４２に流入するフレームで既に使用されているＶＬＡＮ−ＩＤを確認する。
【００９３】
（ステップＳ１８）ＶＬＡＮ判定部２１３は、ステップＳ１２で検索されたＶＬＡＮのＩＤが、スイッチ４１，４２において衝突するか（スイッチ４１，４２に流入するフレームで使用されているか）判断する。衝突する場合、処理をステップＳ１９に進める。衝突しない場合、処理をステップＳ２０に進める。
【００９４】
（ステップＳ１９）ＶＬＡＮ判定部２１３は、ＶＬＡＮ−ＩＤテーブル２１６から、スイッチ４１，４２で衝突が発生しないＶＬＡＮ−ＩＤを選択する。命令送信部２１４は、スイッチ３００，３００ａに、ステップＳ１２で検索されたＶＬＡＮのＩＤとＶＬＡＮ判定部２１３で選択されたＶＬＡＮ−ＩＤとを相互に変換するよう命令する。ＶＬＡＮ判定部２１３は、ＶＬＡＮ−ＩＤテーブル２１６を更新する。
【００９５】
（ステップＳ２０）命令送信部２１４は、警報メッセージの送信元のサーバ装置に、全ＶＬＡＮを対象とした方路切替を示す命令を送信する。ＶＬＡＮ判定部２１３は、経路管理テーブル２１５と障害管理テーブル２１７を更新する。また、送信処理部２１４は、処理をステップＳ１６に進め、他サーバに一部ＶＬＡＮの切り替えを示す命令を送信する。なお、命令送信部２１４は、サーバ装置１００，１００ａ，１００ｂに対する命令とスイッチ３００，３００ａに対する命令とは、任意の順序で送信してもよい。
【００９６】
図１６は、冗長制御の第１のシーケンス例を示す図である。
（ステップＳ２１）サーバ装置１００は、フレームをスイッチ３００に出力する。同様に、サーバ装置１００ａは、フレームをスイッチ３００に出力する。
【００９７】
（ステップＳ２２）サーバ装置１００は、ポート１１１（スイッチ３００が接続されたポート）のリンク障害を検出する。サーバ装置１００は、ポート１１１で障害が検出されたことを示す警報メッセージを、管理装置２００に送信する。
【００９８】
（ステップＳ２３）管理装置２００は、サーバ装置１００のポート１１１を用いてフレームが伝送されているＶＬＡＮを検索し、当該ＶＬＡＮのフレームを送信する他のサーバ装置（図１６のシーケンス例では、サーバ装置１００ａ）を検索する。また、管理装置２００は、当該他のサーバ装置が、方路切替可能であることを確認する。
【００９９】
（ステップＳ２４）管理装置２００は、サーバ装置１００に方路切替を命令する。
（ステップＳ２５）サーバ装置１００は、フレームの出力先をポート１１１からポート１１２（スイッチ３００ａが接続されたポート）に切り替える。
【０１００】
（ステップＳ２６）管理装置２００は、ステップＳ２３で検索されたＶＬＡＮのＩＤを指定して、サーバ装置１００ａに方路切替を命令する。
（ステップＳ２７）サーバ装置１００ａは、指定されたＶＬＡＮ−ＩＤを含むフレームの出力先を、ポート１１１ａ（スイッチ３００が接続されたポート）からポート１１２ａ（スイッチ３００ａが接続されたポート）に切り替える。ただし、指定されたＶＬＡＮ−ＩＤを含まないフレームの出力先は、ポート１１１ａに維持する。
【０１０１】
（ステップＳ２８）サーバ装置１００は、フレームをスイッチ３００ａに出力する。サーバ装置１００ａは、サーバ装置１００と同じＶＬＡＮのフレームをスイッチ３００ａに出力し、当該ＶＬＡＮ以外のフレームをスイッチ３００に出力する。
【０１０２】
図１７は、フレーム伝送経路の第１の変化例を示す図である。サーバ装置１００の仮想マシン＃１とサーバ装置１００ａの仮想マシン＃２とが、ＶＬＡＮ−ＩＤ＝１００を用いて通信するとする。また、サーバ装置１００ａの仮想マシン＃３とサーバ装置１００ｂの仮想マシン＃４とが、ＶＬＡＮ−ＩＤ＝２００を用いて通信するとする。前述のように、リンク障害が発生していない正常時には、サーバ装置１００，１００ａ，１００ｂは、これらＶＬＡＮ−ＩＤを含むフレームをスイッチ３００に出力する。
【０１０３】
サーバ装置１００とスイッチ３００との間のリンク障害が発生すると、サーバ装置１００は、フレームの出力先をスイッチ３００からスイッチ３００ａに切り替える。これに伴い、サーバ装置１００ａは、ＶＬＡＮ−ＩＤ＝１００を含む仮想マシン＃２のフレームの出力先を、スイッチ３００からスイッチ３００ａに切り替える。一方、ＶＬＡＮ−ＩＤ＝１００を含むフレームを送信しないサーバ装置１００ｂは、方路切替を行わない。また、サーバ装置１００ａは、ＶＬＡＮ−ＩＤ＝２００を含む仮想マシン＃３のフレームの出力先を、スイッチ３００のままに維持する。
【０１０４】
これにより、仮想マシン＃１，＃２は、スイッチ３００ａを介してＶＬＡＮ−ＩＤ＝１００を含むフレームを送受信する。また、仮想マシン＃３，＃４は、スイッチ３００を介してＶＬＡＮ−ＩＤ＝２００を含むフレームを送受信する。ＶＬＡＮ−ＩＤ＝１００，２００を含むフレームは、サーバレベルのスイッチ３００，３００ａより内側（サーバラック３１）に閉じて伝送され、集約レベルのスイッチ４１，４２に転送されない。
【０１０５】
図１８は、冗長制御の第２のシーケンス例を示す図である。このシーケンスは、図１６に示したシーケンスの後に実行されるものとする。
（ステップＳ３１）サーバ装置１００は、フレームをスイッチ３００ａに出力する。サーバ装置１００ａは、サーバ装置１００と特定のＶＬＡＮのフレームをスイッチ３００ａに出力し、当該ＶＬＡＮ以外のフレームをスイッチ３００に出力する。
【０１０６】
（ステップＳ３２）サーバ装置１００ａは、ポート１１２ａ（スイッチ３００ａが接続されたポート）のリンク障害を検出する。サーバ装置１００ａは、ポート１１２ａで障害が検出されたことを示す警報メッセージを、管理装置２００に送信する。
【０１０７】
（ステップＳ３３）管理装置２００は、サーバ装置１００ａのポート１１２ａを用いてフレームが伝送されているＶＬＡＮを検索し、当該ＶＬＡＮのフレームを送信する他のサーバ装置（図１８のシーケンス例では、サーバ装置１００）を検索する。また、管理装置２００は、当該他のサーバ装置が、方路切替不可であることを確認する。
【０１０８】
（ステップＳ３４）管理装置２００は、ステップＳ３３で検索されたＶＬＡＮのＩＤが集約レベルのスイッチ４１，４２で既に使用されていることを確認する。すると、管理装置２００は、スイッチ４１，４２で未使用のＶＬＡＮ−ＩＤを検索する。
【０１０９】
（ステップＳ３５）管理装置２００は、スイッチ３００に、ステップＳ３３で検索されたＶＬＡＮのフレームをスイッチ４１に転送することを許可する。また、当該ＶＬＡＮのＩＤを、スイッチ４１，４２で未使用のＶＬＡＮ−ＩＤに変換するよう命令する。
【０１１０】
（ステップＳ３６）スイッチ３００は、ＶＬＡＮのフレームの転送設定を変更する。また、スイッチ３００は、ＶＬＡＮ−ＩＤの変換の設定を行う。
（ステップＳ３７）管理装置２００は、スイッチ３００ａに、ステップＳ３３で検索されたＶＬＡＮのフレームをスイッチ４２に転送することを許可する。また、当該ＶＬＡＮのＩＤを、スイッチ４１，４２で未使用のＶＬＡＮ−ＩＤに変換するよう命令する。
【０１１１】
（ステップＳ３８）スイッチ３００ａは、ＶＬＡＮのフレームの転送設定を変更する。また、スイッチ３００ａは、ＶＬＡＮ−ＩＤの変換の設定を行う。
（ステップＳ３９）管理装置２００は、サーバ装置１００ａに方路切替を命令する。
【０１１２】
（ステップＳ４０）サーバ装置１００ａは、フレームの出力先をポート１１２ａからポート１１１ａ（スイッチ３００が接続されたポート）に切り替える。
（ステップＳ４１）サーバ装置１００は、フレームをスイッチ３００ａに出力する。サーバ装置１００ａは、フレームをスイッチ３００に出力する。
【０１１３】
図１９は、フレーム伝送経路の第２の変化例を示す図である。図１７で説明した方路切替の結果、サーバ装置１００の仮想マシン＃１とサーバ装置１００ａの仮想マシン＃２とが、スイッチ３００ａを介して、ＶＬＡＮ−ＩＤ＝１００を用いて通信するとする。
【０１１４】
ここで、更にサーバ装置１００ａとスイッチ３００ａの間のリンク障害が発生した場合（二重障害）、サーバ装置１００ａは、スイッチ３００が接続されているポート１１１ａが正常であるため、フレームの出力先をスイッチ３００ａからスイッチ３００に戻す。一方、サーバ装置１００は、スイッチ３００が接続されているポート１１１が異常であるため、フレームの出力先をスイッチ３００に戻すことができない。そこで、スイッチ３００，３００ａは、ＶＬＡＮ−ＩＤ＝１００を含むフレームを、集約レベルのスイッチ４１，４２に転送することとする。その際、ＶＬＡＮ−ＩＤ＝１００を、スイッチ４１，４２で使用されていないＶＬＡＮ−ＩＤ＝１０１に変換することとする。
【０１１５】
これにより、仮想マシン＃１が送信するＶＬＡＮ−ＩＤ＝１００を含むフレームは、スイッチ３００ａに出力される。そして、スイッチ３００ａで、ＶＬＡＮ−ＩＤ＝１０１に変換されて、スイッチ４２に転送される。ＶＬＡＮ−ＩＤ＝１０１を含むフレームは、スイッチ４１を介して、スイッチ３００に転送される。その後、スイッチ３００で、ＶＬＡＮ−ＩＤ＝１００に逆変換されて、仮想マシン＃２に到達する。仮想マシン＃２から仮想マシン＃１宛てのフレームは、これと逆順に伝送される。
【０１１６】
以上説明したように、第３の実施の形態の通信システムでは、同一のＶＬＡＮに属する複数の仮想マシンが、できる限り同一のサーバラック内に配置されるようにする。このため、リンク障害のない正常時には、ＶＬＡＮタグを含むフレームが、原則としてサーバラック３１，３２内に閉じて伝送されることになる。
【０１１７】
また、サーバラック３１，３２内で１つのリンク障害が発生したときは、障害が検出されたサーバ装置に加えて、関連する他のサーバ装置も方路切替を行うことで、ＶＬＡＮタグを含むフレームが集約レベルのスイッチ４１，４２に転送されることを抑制できる。また、サーバラック３１，３２内で二重のリンク障害が発生し、フレームがスイッチ４１，４２に転送されることとなった場合には、集約レベルのスイッチ４１，４２でＶＬＡＮ−ＩＤが衝突しないようにＶＬＡＮ−ＩＤが変換される。
【０１１８】
このようにして、第３の実施の形態の通信システムでは、正常時およびリンク障害発生時の両方で、各スイッチでＶＬＡＮ−ＩＤが衝突しないように制御される。よって、１つのレイヤ２ネットワーク内（ＭＡＣレイヤのブロードキャストドメイン内）に、同一のＶＬＡＮ−ＩＤを使用する複数のＶＬＡＮを形成することが可能となる。
【０１１９】
なお、前述のように、第３の実施の形態の冗長制御は、コンピュータとしてのサーバ装置１００，１００ａ，１００ｂや管理装置２００に、それぞれプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体（例えば、記録媒体５３）に記録しておくことができる。記録媒体として、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。
【０１２０】
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを記憶装置（例えば、ＨＤＤ２０３）に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
【符号の説明】
【０１２１】
３ａ，３ｂ，３ｃ，３ｄ  情報処理装置
４ａ，４ｂ，４ｃ，４ｄ，４ｅ，４ｆ  通信装置
１０，２０  管理装置
１１，２１  記憶部
１２，２２  制御部
１３，２３  管理情報
【図１】
0005736971.tif 000002
【図２】
0005736971.tif 000003
【図３】
0005736971.tif 000004
【図４】
0005736971.tif 000005
【図５】
0005736971.tif 000006
【図６】
0005736971.tif 000007
【図７】
0005736971.tif 000008
【図８】
0005736971.tif 000009
【図９】
0005736971.tif 000010
【図１０】
0005736971.tif 000011
【図１１】
0005736971.tif 000012
【図１２】
0005736971.tif 000013
【図１３】
0005736971.tif 000014
【図１４】
0005736971.tif 000015
【図１５】
0005736971.tif 000016
【図１６】
0005736971.tif 000017
【図１７】
0005736971.tif 000018
【図１８】
0005736971.tif 000019
【図１９】
0005736971.tif 000020