(57)【要約】【課題】スイッチを介したサーバ間の通信において耐障害性を向上させる。【解決手段】通信管理装置は、第１のサーバと第２のサーバを中継する複数のスイッチのそれぞれについて、各スイッチと第１のサーバとの通信に使用中のポートの数と、各スイッチと第２のサーバとの通信に使用中のポートの数を求めるポート数算出部と、複数のスイッチのうちの第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された第１のサーバ側のポートを選択するとともに、抽出したスイッチからのホップ数が相対的に少ないスイッチであって第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、第２のサーバ側のポートを選択し、選択した第１のサーバ側のポートと選択した第２のサーバ側のポートを通信に使用するポート選択部と、を備える。【選択図】図１
2017158103.tif 000002
【特許請求の範囲】
【請求項１】
第１のサーバと第２のサーバを中継する複数のスイッチのそれぞれについて、各スイッチと前記第１のサーバとの通信に使用中のポートの数と、各スイッチと前記第２のサーバとの通信に使用中のポートの数を求めるポート数算出部と、
前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するとともに、前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側のポートを選択し、前記選択した前記第１のサーバ側のポートと前記選択した前記第２のサーバ側のポートを通信に使用するポート選択部と、を備える、
ことを特徴とする、通信管理装置。
【請求項２】
前記ポート選択部は、前記抽出したスイッチまたは前記抽出したスイッチに直結されたスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された前記第２のサーバ側のポートを選択する、
請求項１に記載の通信管理装置。
【請求項３】
前記ポート選択部は、前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が最小のスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するとともに、前記抽出したスイッチまたは前記抽出したスイッチに直結されたスイッチであって前記第２のサーバとの通信に使用中のポートの数が最小のスイッチのポートに結線された、前記第２のサーバ側のポートを選択する、
請求項１または２に記載の通信管理装置。
【請求項４】
前記ポート数算出部および前記ポート選択部は、前記使用中のポートの数を求め、前記第１のサーバ側のポートを選択し、前記第２のサーバ側のポートを選択し、前記選択したポートを通信に使用する処理を、前記第１のサーバおよび前記第２のサーバ側の使用中のポートの数が所定の数となるまで繰り返す、
請求項１ないし３のいずれか１項に記載の通信管理装置。
【請求項５】
前記複数のスイッチは、前記第１のサーバと第２のサーバとの間のハートビートパケットを転送するスイッチである、
請求項１ないし４のいずれか１項に記載の通信管理装置。
【請求項６】
前記第１のサーバ側のポートは、前記第１のサーバ上で稼働する仮想マシンに割り当てられるポートである、
請求項１ないし５のいずれか１項に記載の通信管理装置。
【請求項７】
前記第１のサーバ側のポートは、前記第１のサーバに所定のカードを介して接続されたＮＩＣ（Network Interface Card）のポートである、
請求項６に記載の通信管理装置。
【請求項８】
第１のサーバと第２のサーバを中継する複数のスイッチと、
前記複数のスイッチを介した前記第１のサーバと前記第２のサーバの通信を管理する通信管理装置と、を備え、
前記通信管理装置は、前記複数のスイッチのそれぞれについて、各スイッチと前記第１のサーバとの通信に使用中のポートの数と、各スイッチと前記第２のサーバとの通信に使用中のポートの数を求めるポート数算出部と、
前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するとともに、前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側のポートを選択し、前記選択した前記第１のサーバ側のポートと前記選択した前記第２のサーバ側のポートを通信に使用するポート選択部と、を有する、
ことを特徴とする、通信システム。
【請求項９】
第１のサーバと第２のサーバを中継する複数のスイッチのそれぞれについて、各スイッチと前記第１のサーバとの通信に使用中のポートの数と、各スイッチと前記第２のサーバとの通信に使用中のポートの数を求めるステップと、
前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するステップと、
前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側のポートを選択するステップと、
前記選択した前記第１のサーバ側のポートと前記選択した前記第２のサーバ側のポートを通信に使用するステップと、を含む、
ことを特徴とする、通信管理方法。
【請求項１０】
第１のサーバと第２のサーバを中継する複数のスイッチのそれぞれについて、各スイッチと前記第１のサーバとの通信に使用中のポートの数と、各スイッチと前記第２のサーバとの通信に使用中のポートの数を求める処理と、
前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択する処理と、
前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側のポートを選択する処理と、
前記選択した前記第１のサーバ側のポートと前記選択した前記第２のサーバ側のポートを通信に使用する処理と、をコンピュータに実行させる、
ことを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信管理装置、通信システム、通信管理方法およびプログラムに関し、特にスイッチを介したサーバ間の通信を管理する通信管理装置、通信システム、通信管理方法およびプログラムに関する。
【背景技術】
【０００２】
スイッチ等の通信機器における転送処理を、外部に設けられた管理サーバによって一元的に集中制御する技術として、OpenFlowが提案されている（非特許文献１）。
【０００３】
OpenFlowネットワークは、パケットの経路計算を行うコントローラ（ＯＦＣ：OpenFlow Controller）と、パケットの転送を行うスイッチ（ＯＦＳ：OpenFlow Switch）を備えたネットワークである。OpenFlowネットワークを介して外部機器（サーバまたは外部ネットワーク装置）が相互に接続される。具体的には、ＯＦＳのポートと、外部機器のポートとを接続することにより、ＯＦＳを経由した外部機器同士の通信が可能となる。
【０００４】
ＯＦＣと各ＯＦＳとの間には、セキュアチャネルと呼ばれるＴＬＳ（Transport Layer Security）またはＴＣＰ（Transmission Control Protocol）の接続が確立されており、ＯＦＣと各ＯＦＳを制御するためのOpenFlowプロトコルのメッセージの送受信が行われる。
【０００５】
ところで、ネットワークにおける通信障害を回避するには、一般に、ネットワーク中に単一障害点（ＳＰＯＦ：Single Point of Failure）が生じないようにすることが重要である。一例として、特許文献１には、ネットワークのコストを評価する所定のコスト関数を用いて、現用経路と予備経路が同一のリンクを経由しないようにすることで、単一障害による通信断を回避する技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１４／１１８９３８号
【非特許文献】
【０００７】
【非特許文献１】Nick McKeown, et. al., "OpenFlow: Enabling Innovation in Campus Networks," March 14, 2008, <http://archive.openflow.org/documents/openflow-wp-latest.pdf>.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。
【０００９】
ＯＦＣ（OpenFlow Controller）は、以下の「物理トポロジ情報」と「経路情報」を生成し、ＯＦＳ（OpenFlow Switch）上のフローテーブルのエントリに対してパケットの転送ルールを設定する。ＯＦＳは、ＯＦＣにより設定された転送ルールに従ってパケットの転送を行う。
【００１０】
「物理トポロジ情報」：
OpenFlowネットワーク内のＯＦＳの接続関係を表す情報である。ＯＦＣが管理対象のＯＦＳに対して定期的にＬＬＤＰ（Link Layer Discovery Protocol）などのクエリパケットを送受信することにより生成する。
【００１１】
「経路情報」：
OpenFlowネットワーク内のパスとそのパスコストを表す情報である。ＯＦＣが物理トポロジ情報から算出する。
【００１２】
また、ＯＦＣは、ネットワーク経由で物理トポロジ情報を取得するためのＡＰＩ（Application Programming Interface）を提供する。さらに、ＯＦＣは、あるＯＦＳから他のＯＦＳまでの経路情報を取得するためのＡＰＩを提供する。
【００１３】
また、OpenFlowネットワーク上には、複数の仮想ネットワークを構成することができる。仮想ネットワークに対して物理ネットワーク情報（ＯＦＳのポートＩＤ（Identifier）や、外部機器のポートのＭＡＣ（Media Access Control）アドレスなど）を登録することにより、外部機器は仮想ネットワークに接続され、通信が可能となる。
【００１４】
ところで、仮想ネットワークとサーバのポートを接続する際に、固有情報（通信速度やＶＬＡＮ  ＩＤなど）が等しいサーバのポートが複数存在する場合、管理者は任意のポートを選択して仮想ネットワークに接続することができる。しかし、管理者が注意深く設計せずにポートを選択した場合、複数のポートを選択したとしても、一方のサーバから各ＯＦＳへの接続数が偏ったり、または、サーバ間の物理ネットワーク上に単一障害点が含まれたりするおそれがある。
【００１５】
また、ＨＡ（High Availability）クラスタシステムにおけるハートビートネットワークを構築する際、一般に、管理者はサーバ上で静的にハートビートネットワーク用のポートを設定した後、設定に合わせて物理ネットワークを構築する。しかし、クラウドを構成するＤＣ（Data Center）のサーバでＨＡクラスタを構築する場合、物理ネットワークが複雑に構成されているため、使用するポートの選択が困難となっている。かかる場合において、管理者が注意深く設計せずに使用するポートを選択すると、複数のポートを選択したとしても、一方のサーバから各ＯＦＳへの接続数が偏ったり、サーバ間の物理ネットワーク上に単一障害点が含まれたりする可能性がある。
【００１６】
また、仮想化環境においてハイパーバイザが生成した仮想マシン（ＶＭ：Virtual Machine）に対して割り当てるサーバのポートを選択する場合や、ExpEther技術によって構成されたサーバに対して動的に追加するＮＩＣ（Network Interface Card）を選択する場合にも、上記と同様の問題が生じ得る。
【００１７】
なお、特許文献１に記載されたネットワークのコストを評価するコスト関数においては、複数の制約（単一障害による通信断を回避するための制約のみならず、余剰帯域や遅延制約も）が同時に考慮されているため、耐障害性を十分に向上させることができないおそれもある。
【００１８】
そこで、スイッチを介したサーバ間の通信において耐障害性を向上させることが課題となる。本発明の目的は、かかる課題解決に寄与する通信管理装置、通信システム、通信管理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明の第１の態様に係る通信管理装置は、第１のサーバと第２のサーバを中継する複数のスイッチのそれぞれについて、各スイッチと前記第１のサーバとの通信に使用中のポートの数と、各スイッチと前記第２のサーバとの通信に使用中のポートの数を求めるポート数算出部と、前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するとともに、前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側のポートを選択し、前記選択した前記第１のサーバ側のポートと前記選択した前記第２のサーバ側のポートを通信に使用するポート選択部と、を備えている。
【００２０】
本発明の第２の態様に係る通信システムは、第１のサーバと第２のサーバを中継する複数のスイッチと、前記複数のスイッチを介した前記第１のサーバと前記第２のサーバの通信を管理する通信管理装置と、を備えている。前記通信管理装置は、前記複数のスイッチのそれぞれについて、各スイッチと前記第１のサーバとの通信に使用中のポートの数と、各スイッチと前記第２のサーバとの通信に使用中のポートの数を求めるポート数算出部と、前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するとともに、前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側のポートを選択し、前記選択した前記第１のサーバ側のポートと前記選択した前記第２のサーバ側のポートを通信に使用するポート選択部と、を有する。
【００２１】
本発明の第３の態様に係る通信管理方法は、第１のサーバと第２のサーバを中継する複数のスイッチのそれぞれについて、各スイッチと前記第１のサーバとの通信に使用中のポートの数と、各スイッチと前記第２のサーバとの通信に使用中のポートの数を求めるステップと、前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するステップと、前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側のポートを選択するステップと、
前記選択した前記第１のサーバ側のポートと前記選択した前記第２のサーバ側のポートを通信に使用するステップと、を含む。
【００２２】
本発明の第４の態様に係るプログラムは、第１のサーバと第２のサーバを中継する複数のスイッチのそれぞれについて、各スイッチと前記第１のサーバとの通信に使用中のポートの数と、各スイッチと前記第２のサーバとの通信に使用中のポートの数を求める処理と、前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択する処理と、前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側のポートを選択する処理と、前記選択した前記第１のサーバ側のポートと前記選択した前記第２のサーバ側のポートを通信に使用する処理と、をコンピュータに実行させる。なお、プログラムは、非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）に記録されたプログラム製品として提供することもできる。
【発明の効果】
【００２３】
本発明に係る通信管理装置、通信システム、通信管理方法およびプログラムによると、スイッチを介したサーバ間の通信において耐障害性を向上させることが可能となる。
【図面の簡単な説明】
【００２４】
【図１】一実施形態に係る通信管理装置の構成を例示するブロック図である。
【図２】第１の実施形態に係る通信システムの構成を例示するブロック図である。
【図３】第１の実施形態における管理サーバのポート設定部の動作を例示するフロー図である。
【図４】第１の実施形態におけるポート設定部が取得するポート情報を例示するテーブルである。
【図５】第２の実施形態に係る通信システムの構成を例示するブロック図である。
【図６】第２の実施形態における管理サーバのポート設定部の動作を例示するフロー図である。
【図７】第２の実施形態におけるポート設定部が取得するポート情報を例示するテーブルである。
【図８】第３の実施形態に係る通信システムの構成を例示するブロック図である。
【図９】第３の実施形態における管理サーバのポート設定部の動作を例示するフロー図である。
【図１０】第３の実施形態における管理サーバのポート設定部の動作を例示するフロー図である。
【図１１】第３の実施形態におけるポート設定部が取得するポート情報を例示するテーブルである。
【発明を実施するための形態】
【００２５】
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００２６】
図１は、一実施形態に係る通信管理装置１０の構成を例示するブロック図である。図１を参照すると、通信管理装置１０は、ポート数算出部２０とポート選択部３０を備えている。
【００２７】
ポート数算出部２０は、第１のサーバ（例えば図２の稼働系サーバ２）と第２のサーバ（例えば図２の待機系サーバ４）を中継する複数のスイッチ（例えばＯＦＳ３１〜３３）のそれぞれについて、各スイッチと第１のサーバとの通信に使用中のポートの数と、各スイッチと第２のサーバとの通信に使用中のポートの数を求める。
【００２８】
ポート選択部３０は、複数のスイッチのうちの第１のサーバとの通信に使用中のポートの数が相対的に少ない（例えば最小の）スイッチ（例えばＯＦＳ３１）を抽出し、抽出したスイッチのポートに結線された第１のサーバ側のポート（例えばポートＰ１）を選択する。また、ポート選択部３０は、抽出したスイッチ（例えばＯＦＳ３１）からのホップ数が相対的に少ないスイッチであって第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチ（例えばＯＦＳ３１自身またはＯＦＳ３１に直結されたＯＦＳ３２）のポートに結線された、第２のサーバ側のポート（例えばポートＰ５）を選択する。さらに、ポート選択部３０は、選択した第１のサーバ側のポートと選択した第２のサーバ側のポートを通信に使用する。
【００２９】
かかる通信管理装置１０によると、スイッチを介したサーバ間の通信において耐障害性を向上させることが可能となる。なぜなら、スイッチで構成されるネットワーク（例えば図２のOpenFlowネットワーク）に複数のサーバ（例えば図２の稼働系サーバ２、待機系サーバ４）を接続する際に、各サーバから各ＯＦＳへの接続数が分散し、サーバ間の物理ネットワークに単一障害点が含まれないように接続することが可能となるからである
【００３０】
＜実施形態１＞
次に、第１の実施形態に係る通信システムについて、図面を参照して説明する。本実施形態では、ＨＡ（High Availability）クラスタシステムのハートビートネットワークをOpenFlowネットワークとし、ハートビートネットワーク用のポートを選択する場合について説明する。なお、OpenFlow技術により、ネットワークの物理トポロジ情報と経路情報を取得することができるようになったため、本実施形態ではこれらの情報を活用する。
【００３１】
［構成］
図２は、本実施形態に係る通信システムの構成を例示するブロック図である。
【００３２】
図２を参照すると、本実施形態は、管理サーバ１と、稼働系サーバ２と、ハートビートネットワーク（OpenFlowネットワーク）３と、待機系サーバ４を含む。
【００３３】
管理サーバ１は、ハートビートネットワーク３を制御するＯＦＣ１１とポート設定部１２を備えている。
【００３４】
また、稼働系サーバ２は、ポート情報取得部２１と、ハートビート送受信部２２と、ポートＰ１〜Ｐ４を備えている。
【００３５】
同様に、待機系サーバ４は、ポート情報取得部４１と、ハートビート送受信部４２と、ポートＰ５〜Ｐ８を備えている。
【００３６】
ハートビートネットワーク３は、稼働系サーバ２と待機系サーバ４との間でハートビートパケットを送受信するためのネットワークである。ハートビートネットワーク３は、ＯＦＣ１１に対してセキュアチャネル接続するＯＦＳ３１〜３３を備えている。
【００３７】
ポート設定部１２は、ＯＦＣ１１に仮想ネットワークの生成を要求する。また、ポート設定部１２は、ポート情報取得部２１、４１から取得したポート情報と、ＯＦＣ１１から取得した物理トポロジ情報および経路情報から、ハートビート送受信部２２、４２が使用するポートを選択し、仮想ネットワークに接続する。このとき、ハートビートネットワーク３に接続する稼働系サーバ２と待機系サーバ４のポートの数（使用ポート数）は、管理者が管理サーバ１上の設定情報として設定するものとする。また、稼働系サーバ２および待機系サーバ４のそれぞれのサーバＩＤ（ＩＰ（Internet Protocol）アドレスなど）も、管理者が管理サーバ１上の設定情報として設定するものとする。
【００３８】
ポート情報取得部２１は、稼働系サーバ２のポートＰ１〜Ｐ４からＬＬＤＰ（Link Layer Discovery Protocol）パケットを送受信し、ポートと結線されているＯＦＳポートのＯＦＳ  ＩＤとＯＦＳポートＩＤを取得する。待機系サーバ４側のポート情報取得部４１も、ポート情報取得部２１と同様の処理を行う。
【００３９】
ハートビート送受信部２２は、ポート設定部１２が選択したポートを使用してハートビートパケットを送受信する。待機系サーバ４側のハートビート送受信部４２も、ハートビート送受信部２２と同様の処理を行う。
【００４０】
［動作］
次に、図２〜図４を参照して本実施形態の通信システムの動作について詳細に説明する。
【００４１】
図３は、管理サーバ１のポート設定部１２の動作を例示するフロー図である。まず、ポート設定部１２は、ＯＦＣ１１に対して仮想ネットワークの生成を要求する（ステップＡ１）。
【００４２】
また、ポート設定部１２は、管理サーバ１上の設定情報から使用ポート数Ｘを取得する（ステップＡ２）。
【００４３】
さらに、ポート設定部１２は、ポート情報取得部２１、４１からポート情報（ポートＩＤ、サーバＩＤ、ＯＦＳ  ＩＤ、ＯＦＳポートＩＤ）を取得する（ステップＡ３）。このとき、ポート情報の使用中属性の値はすべてＮｏとする。
【００４４】
次に、ポート設定部１２は、サーバごとに各ＯＦＳの使用中ポート数を計算する（ステップＡ５）。
【００４５】
次に、ポート設定部１２は、稼働系サーバ２が使用するポートとして、使用中ポート数が最小のＯＦＳと結線されているポートを選択する（ステップＡ６）。
【００４６】
一方、ポート設定部１２は、待機系サーバ４が使用するポートとして、使用中ポート数が最小、かつ、ステップＡ６のＯＦＳと同じか直結しているＯＦＳと結線されているポートを選択する（ステップＡ７）。
【００４７】
さらに、ポート設定部１２は、選択したポートを仮想ネットワークに接続し、ポート情報の使用中属性をＹｅｓに更新する（ステップＡ８）。
【００４８】
ポート設定部１２は、以上のステップＡ５〜Ａ８を使用ポート数Ｘの数だけ繰り返す（ステップＡ４、Ａ９）。なお、使用中ポート数が最小のＯＦＳが複数存在する場合、ポート設定部１２はこれらの複数のＯＦＳのうちの任意のＯＦＳからポートを選択してもよい。
【００４９】
次に、ポート設定部１２は、選択したポートＩＤのリストをハートビート送受信部２２とハートビート送受信部４２に送信する（ステップＡ１０）。
【００５０】
以下では、具体例を用いて本実施形態の通信システムの動作を説明する。
【００５１】
まず、ポート設定部１２は、ＯＦＣ１１に対して仮想ネットワークの生成を要求する（ステップＡ１）。次に、ポート設定部１２は、設定情報から使用ポート数を取得する（ステップＡ２）。ここでは、一例として、取得した使用ポート数Ｘを「２」とする。
【００５２】
次に、ポート設定部１２は、ポート情報取得部２１とポート情報取得部４１から図４に示すポート情報（ポートＩＤ、サーバＩＤ、ＯＦＳ  ＩＤ、ＯＦＳポートＩＤ）を取得する（ステップＡ３）。ただし、このときポート設定部１２が取得するポート情報は、図４においてポート情報の「使用中」属性の値をすべて「Ｎｏ」としたものである。
【００５３】
次に、ポート設定部１２は、稼働系サーバ２と待機系サーバ４の１つ目のポートを選択する。また、ポート設定部１２は、サーバごとに各ＯＦＳの使用中ポート数を計算する（ステップＡ５）。稼働系サーバ２については、ＯＦＳ３１〜３３の使用中ポート数はいずれも０である。待機系サーバ４についても、ＯＦＳ３１〜３３の使用中ポート数はいずれも０である。
【００５４】
そこで、ポート設定部１２は、稼働系サーバ２のポートとして、使用中ポート数が０のＯＦＳ３１と結線されているポートＰ１を選択する（ステップＡ６）。
【００５５】
また、ポート設定部１２は、待機系サーバ４のポートとして、使用中ポート数が０、かつ、ステップＡ６で選択したＯＦＳと同じＯＦＳ３１に結線されているポートＰ５を選択する（ステップＡ７）。このとき、ＯＦＳ３２の使用中ポート数も０であり、ポートＰ７と結線されているＯＦＳ３２と、稼働系サーバ２のポートとして選択したポートＰ１と結線されているＯＦＳ３１が直結している。したがって、ポート設定部１２は、待機系サーバ４のポートとして、ポートＰ７を選択することも可能である。なお、ＯＦＳ３３の使用中ポート数も０である。しかしながら、ポートＰ８と結線されているＯＦＳ３３と、稼働系サーバ２のポートとして選択したポートＰ１と結線されているＯＦＳ３１との間に単一障害点ＯＦＳ３２が含まれることになる。よって、ポート設定部１２は、待機系サーバ４のポートとしてポートＰ８を選択することはできない。
【００５６】
次に、ポート設定部１２は、ステップＡ６、Ａ７で選択したポート（ポートＰ１、ポートＰ５）をハートビートネットワーク３に接続し、ポート情報の使用中属性をＹｅｓに更新する（ステップＡ８）。
【００５７】
ポート設定部１２は、使用ポート数Ｘをデクリメント（「２」→「１」）する（ステップＡ９）。使用ポート数ＸはＸ＞０を満たすことから（ステップＡ４のＹｅｓ）、ポート設定部１２の処理はステップＡ５に進む。
【００５８】
ポート設定部１２は、稼働系サーバ２と待機系サーバ４の２つ目のポートを選択する。また、ポート設定部１２はサーバごとに各ＯＦＳの使用中ポート数を計算する（ステップＡ５）。稼働系サーバ２については、ＯＦＳ３１の使用中ポート数は１、ＯＦＳ３２とＯＦＳ３３の使用中ポートは０である。待機系サーバ４についても、ＯＦＳ３１の使用中ポート数は１、ＯＦＳ３２とＯＦＳ３３の使用中ポートは０である。
【００５９】
そこで、ポート設定部１２は、稼働系サーバ２のポートとして、使用中ポート数が０のＯＦＳ３２と結線されているポートＰ２を選択する（ステップＡ６）。
【００６０】
また、ポート設定部１２は、待機系サーバ４のポートとして、使用中ポート数が０、かつ、ステップＡ６で選択したＯＦＳと同一のＯＦＳ３２に結線されているポートＰ７を選択する（ステップＡ７）。
【００６１】
さらに、ポート設定部１２は、ステップＡ６、Ａ７で選択したポート（ポートＰ２、ポートＰ７）を仮想ネットワークに接続し、ポート情報の使用中属性をＹｅｓに更新する（ステップＡ８）。このときのポート情報を図４に示す。
【００６２】
また、ポート設定部１２は使用ポート数Ｘをデクリメント（「１」→「０」）する（ステップＡ９）。使用ポート数ＸはＸ＞０を満たさないことから（ステップＡ４のＮｏ）、ポート設定部１２の処理はステップＡ１０に進む。
【００６３】
ポート設定部１２は、選択した稼働系サーバ２のポートＩＤのリスト（ポートＰ１、ポートＰ２）をハートビート送受信部２２に送信する。また、ポート設定部１２は選択した稼働系サーバ４のポートＩＤのリスト（ポートＰ５、ポートＰ７）をハートビート送受信部４２に送信する（ステップＡ１０）。
【００６４】
［効果］
本実施形態の通信システムによると、ネットワークの耐障害性を向上させることができる。なぜなら、OpenFlowネットワーク上の仮想ネットワークに複数のサーバを接続する際に、各サーバから各ＯＦＳに対する接続数が分散し、サーバ間の物理ネットワークに単一障害点が含まれないように接続するからである。
【００６５】
＜実施形態２＞
次に、第２の実施形態に係る通信システムについて、図面を参照して説明する。本実施形態では、仮想化環境におけるＶＭ用ネットワークをOpenFlowネットワークとし、ＶＭに割り当てるポートを選択する場合について説明する。
【００６６】
［構成］
図５は、本実施形態の通信システムの構成を例示するブロック図である。
【００６７】
図５を参照すると、本実施形態は、管理サーバ１Ａと、サーバ２Ａと、ＶＭ用ネットワーク（OpenFlowネットワーク）３Ａと、通信先サーバ４Ａを含む。
【００６８】
管理サーバ１Ａは、ＶＭ用ネットワーク３Ａを制御するＯＦＣ１１とポート設定部１２を備えている。サーバ２Ａは、ポート情報取得部２１と、ポート設定部１２から取得したポートＩＤを指定してＶＭを生成するハイパーバイザ２５と、ＶＭ２３と、ポートＰ１〜Ｐ４を備えている。ＶＭ用ネットワーク３Ａは、利用者が通信先サーバ４ＡからＶＭ２３にアクセスするためのネットワークであり、ＯＦＣ１１に対してセキュアチャネル接続するＯＦＳ３１〜３３を備えている。通信先サーバ４Ａは、ポートＰ５〜Ｐ８を備えている。
【００６９】
ポート設定部１２は、ＯＦＣ１１に仮想ネットワークの生成を要求し、ポート情報取得部２１から取得したポート情報（ポートＩＤ、サーバＩＤ、ＯＦＳ  ＩＤ、ＯＦＳポートＩＤ）と、ＯＦＣ１１から取得した物理トポロジ情報および経路情報から、ＶＭ２３が使用するポートを選択し、ＶＭ用ネットワーク（仮想ネットワーク）３Ａに接続する。このとき、ＶＭ２３に割り当てるポートの数（使用ポート数）、通信先サーバのポート情報（ポートＩＤ、サーバＩＤ、ＯＦＳ  ＩＤ、ＯＦＳポートＩＤ）は、管理者が管理サーバ１Ａ上の設定情報として設定するものとする。また、サーバ２Ａ、通信先サーバ４Ａの各サーバのサーバＩＤ（ＩＰアドレスなど）も、管理者が管理サーバ１Ａ上の設定情報として設定するものとする。
【００７０】
ポート情報取得部２１は、サーバ２ＡのポートＰ１〜Ｐ４からＬＬＤＰ（Link Layer Discovery Protocol）パケットを送受信し、ポートと結線されているＯＦＳポートのＯＦＳ  ＩＤ、ＯＦＳポートＩＤを取得する。
【００７１】
［動作］
次に、図５〜図７を参照して本実施形態の通信システムの動作について詳細に説明する。
【００７２】
ハイパーバイザ２５は、ＶＭ２３を生成する際に、ポート設定部１２に対して、ＶＭ２３に割り当てるポートＩＤのリストを要求する。
【００７３】
図６は、本実施形態のポート設定部１２の動作を例示するフロー図である。図６を参照すると、まず、ポート設定部１２は、ＯＦＣ１１に対して仮想ネットワークの生成を要求する（ステップＢ１）。
【００７４】
また、ポート設定部１２は、管理サーバ１Ａ上の設定情報から使用ポート数Ｘを取得する（ステップＢ２）。
【００７５】
さらに、ポート設定部１２は、ポート情報取得部２１と管理サーバ１Ａ上の設定情報からポート情報（図７）を取得する（ステップＢ３）。このとき、ポート情報の「使用中」属性の値はすべて「Ｎｏ」とする。
【００７６】
次に、ポート設定部１２は、サーバ２Ａ、通信先サーバ４Ａごとに、各ＯＦＳの使用中ポート数を計算する（ステップＢ５）。
【００７７】
次に、ポート設定部１２は、サーバ２Ａが使用するポートとして、使用中ポート数が最小のＯＦＳと結線されているポートを選択する（ステップＢ６）。
【００７８】
一方、ポート設定部１２は、通信先サーバ４Ａが使用するポートとして、使用中ポート数が最小、かつ、ステップＢ６のＯＦＳと同一のＯＦＳか、当該ＯＦＳに直結しているＯＦＳと結線されているポートを選択する（ステップＢ７）。
【００７９】
さらに、ポート設定部１２は、選択したポートをＶＭ用ネットワーク（仮想ネットワーク）３Ａに接続し、ポート情報の「使用中」属性を「Ｙｅｓ」に更新する（ステップＢ８）。
【００８０】
ポート設定部１２は、以上のステップＢ５〜Ｂ８を使用ポート数Ｘの数だけ繰り返す（ステップＢ４、Ｂ９）。なお、使用中ポート数が最小のＯＦＳが複数存在する場合、ポート設定部１２はこれらの複数のＯＦＳのうちの任意のＯＦＳからポートを選択してもよい。
【００８１】
次に、ポート設定部１２は、選択したポートＩＤのリストをハイパーバイザ２５に送信する（ステップＢ１０）。
【００８２】
ハイパーバイザ２５は、ポート選択部１２から受信したポートＩＤのリストを指定してＶＭ２３を生成する。
【００８３】
［効果］
本実施形態の通信システムによると、仮想化環境においてハイパーバイザが生成した仮想マシン（ＶＭ：Virtual Machine）に対して割り当てるサーバのポートを選択する場合において、ネットワークの耐障害性を向上させることができる。なぜなら、OpenFlowネットワーク上の仮想ネットワークに複数のサーバを接続する際に、各サーバから各ＯＦＳに対する接続数が分散し、サーバ間の物理ネットワークに単一障害点が含まれないように接続するからである。
【００８４】
＜実施形態３＞
次に、第３の実施形態に係る通信システムについて、図面を参照して説明する。本実施形態では、ExpEther技術によって構成されたサーバと接続するユーザネットワークをOpenFlowネットワークとし、サーバに動的に追加するＮＩＣ（Network Interface Card）を選択する場合について説明する。
【００８５】
［構成］
はじめに、本実施形態で一例として使用するExpEtherについて説明する。ExpEtherは、ＰＣＩｅ（PCI Express）のＴＬＰ（Transaction Layer Packet）を、Ethernet（登録商標）フレームにカプセル化し、レイヤ２ネットワーク経由で送受信する技術である。ExpEther技術により、ＰＣＩｅ規格のリソースをレイヤ２ネットワーク経由で接続することが可能となる。このレイヤ２ネットワークをExpEtherネットワークと呼ぶ。
【００８６】
管理サーバ（例えば図８の管理サーバ１Ｂ）上の管理ソフトウェア（例えば図８の管理ソフトウェア１３）からExpEtherカード（ＥＥＳＶ：ExpEther Server、ＥＥＩＯ：ExpEther I/O）に対して、同一のグループＩＤを設定することにより、仮想ＰＣＩｅスイッチ（例えば図８の仮想ＰＣＩｅスイッチ６）が構成される。
【００８７】
管理ソフトウェアは、ExpEtherネットワークに接続されたExpEtherカードとの間で、制御フレームを送受信することにより、ExpEtherカードを管理するためのアプリケーションソフトウェアである。管理ソフトウェアの主な機能を以下に示す。
【００８８】
管理ソフトウェアは、ExpEtherカードに対して制御フレーム（ＶＬＡＮＳＥＴフレーム）を送信することにより、ExpEtherカードにグループＩＤを設定する。なお、管理者は、管理ソフトウェアが提供するユーザインタフェース（ＵＩ：User Interface）を使用することにより、ExpEtherカードにグループＩＤを設定することができる。
【００８９】
管理ソフトウェアは、ExpEtherカードが定期的にブロードキャストする制御フレーム（ＤＥＶＩＮＦＯフレーム）を受信し、ＤＥＶＩＮＦＯフレームに含まれるデバイス情報を抽出し、データベースまたはメモリ上に保持する。なお、管理者は、管理ソフトウェアが提供するユーザインタフェースを使用することにより、このデバイス情報を参照することができる。
【００９０】
ExpEtherカードは、データフレーム（ＴＬＰをカプセル化したEthernetフレームにカプセル化したもの）と制御フレームをExpEtherネットワーク経由で送受信する機能を備えたＮＩＣ（Network Interface Card）である。ExpEtherカードの種別として、以下の「ＥＥＳＶ」と「ＥＥＩＯ」が存在する。
【００９１】
「ＥＥＳＶ（ExpEther Server）」：
サーバ側に配置されるExpEtherカードである。ＰＣＩｅスイッチのUpstream Portとして動作する。ＰＣＩｅのRoot complex機能を有するチップセット経由でＣＰＵ（Central Processing Unit）やメモリと接続される。
【００９２】
「ＥＥＩＯ（ExpEther I/O）」：
Ｉ／Ｏデバイス側に配置されるExpEtherカードである。ＰＣＩｅスイッチのDownstream Portとして動作する。ＮＩＣやストレージなどのＩ／Ｏデバイスと接続される。
【００９３】
ＥＥＳＶとＥＥＩＯは、接続を確立するために、ＤＥＶＩＮＦＯフレームを定期的にブロードキャストする。ＥＥＳＶは、自身と同一のグループＩＤを有するＥＥＩＯが送信したＤＥＶＩＮＦＯフレームの受信を契機として、ＥＥＩＯとの接続を確立する。
【００９４】
図８は、本実施形態の構成を例示するブロック図である。図８を参照すると、本実施形態は、管理サーバ１Ｂと、サーバ２Ｂと、Ｉ／Ｏリソースプール５と、仮想ＰＣＩｅスイッチ６と、ユーザネットワーク（OpenFlowネットワーク）３Ｂと、通信先サーバ４Ｂを含む。一例として、図８に含まれるＮＩＣのポート数はすべて１つで、各ポートの帯域はすべて等しいものとする。ただし、本発明はかかる場合に限定されない。
【００９５】
管理サーバ１Ｂは、ユーザネットワーク３Ｂを制御するＯＦＣ１１と、ポート設定部１２と、管理ソフトウェア１３と、Ｉ／Ｏデバイス（ストレージ、ＮＩＣなど）の固有情報（ストレージの容量、ＮＩＣのポート数など）を取得するためのＶＭ１４を備えている。
【００９６】
サーバ２Ｂは、ＶＭ２３のＮＩＣの負荷情報（帯域利用率など）を定期的に採取する管理エージェント２６と、ポート設定部１２から取得したポートＩＤのリストを指定してＶＭを生成するハイパーバイザ２５と、ＶＭ２３と、ＥＥＳＶ２４を備えている。
【００９７】
Ｉ／Ｏリソースプール５は、ＥＥＳＶ１４２と同一のグループＩＤを有し、ＥＥＳＶ１４２との接続を確立しているＥＥＩＯ５１〜５３を備えている。ＥＥＩＯ５１には、ストレージ５４が接続されている。一方、ＥＥＩＯ５２、５３には、それぞれＮＩＣ５５、５６が接続されている。
【００９８】
仮想ＰＣＩｅスイッチ６は、管理ソフトウェア１３からＥＥＳＶ２４、ＥＥＩＯ６１〜６３に対して同一のグループＩＤを設定することにより構成された仮想的なＰＣＩｅスイッチである。ＥＥＩＯ６１には、ストレージ６４が接続されている。一方、ＥＥＩＯ６２、６３には、それぞれＮＩＣ６５、６６が接続されている。
【００９９】
ユーザネットワーク３Ｂは、利用者が通信先サーバ４ＢからＶＭ２３にアクセスするためのネットワークである。ユーザネットワーク３Ｂは、ＯＦＣ１１に対してセキュアチャネル接続するＯＦＳ３１〜３３を備えている。
【０１００】
通信先サーバ４Ｂは、ポートＰ５〜Ｐ８を備えている。
【０１０１】
ポート設定部１２は、ハイパーバイザ２５がＶＭ２３を生成する際に、ＯＦＣ１１に仮想ネットワークの生成を要求し、ポート情報取得部２１とＥＥＩＯ情報取得部１４１から取得したポート情報（ポートＩＤ、サーバＩＤ、ＯＦＳ  ＩＤ、ＯＦＳポートＩＤ、ＶＬＡＮ  ＩＤ）、ＯＦＣ１１から取得した物理トポロジ情報および経路情報、ならびに、以下のＯＦＳ情報（スイッチ負荷、パスコスト、セキュリティフラグ）から、ＶＭ２３が使用するポートを選択し、ユーザネットワーク（仮想ネットワーク）３Ｂに接続する。
【０１０２】
ここで、「スイッチ負荷」、「パスコスト」、「セキュリティフラグ」は、それぞれ次のようにして取得可能である。
【０１０３】
「スイッチ負荷」：
（各ポートの送受信パケット数の合計値）／（各ポートの通信速度の合計値）の値。ＯＦＣ１１から取得することができる。
【０１０４】
「パスコスト」：
ＮＩＣのポートと結線されているＯＦＳから通信先サーバ４Ｂに接続されたＯＦＳまでのホップ数。ＯＦＣ１１から取得することができる。
【０１０５】
「セキュリティフラグ」：
利用者に対してＯＦＳのケーブルの抜き差しなどの操作を禁止するかを示すフラグ（ＯＮ／ＯＦＦ）。このフラグがＯＮの場合、利用者による操作が禁止された物理的に高セキュリティなＯＦＳであることを示す。このフラグは、管理者がＯＦＳに対してのＯＦＳ属性として設定するものであり、ＯＦＣ１１から取得することができる。
【０１０６】
また、ＶＭ２３に割り当てるポートの数（使用ポート数）、ＶＭ２３が所属するＶＬＡＮ情報（ＶＬＡＮ  ＩＤ）、通信先サーバ４Ｂのポート情報（ポートＩＤ、サーバＩＤ、ＯＦＳ  ＩＤ、ＯＦＳポートＩＤ、ＶＬＡＮ  ＩＤ）は、管理者が管理サーバ１Ｂ上の設定情報として設定するものとする。
【０１０７】
さらに、ポート設定部１２は、管理エージェント２６がＶＭ２３のＮＩＣの負荷情報が閾値を超えたことを検出した際に、ＶＭ２３に追加するポートを選択し、ユーザネットワーク（仮想ネットワーク）３Ｂに接続する。
【０１０８】
ＥＥＩＯ情報取得部１４１は、ポート設定部１２の要求により、ＥＥＳＶ１４２経由でＩ／Ｏリソースプール５のＩ／Ｏデバイスの固有情報を取得し、ポート設定部１２に返却する。また、Ｉ／Ｏリソースプール５のＥＥＩＯに接続されているＮＩＣのポートからＬＬＤＰパケットを送受信し、ポートと結線されているＯＦＳポートのＯＦＳ  ＩＤ、とＯＦＳポートＩＤ、ＶＬＡＮ  ＩＤを取得する。
【０１０９】
［動作］
次に、本実施形態の通信システムの動作について図面を参照して説明する。
【０１１０】
まず、図８、図９、図１１を参照して、ハイパーバイザ２５がＶＭ２３を生成する際の動作について、詳細に説明する。
【０１１１】
ハイパーバイザ２５は、ポート設定部１２に対して、指定するポートＩＤのリスト、ＶＬＡＮ  ＩＤを要求する。
【０１１２】
図９は、ハイパーバイザ２５がＶＭを生成する際のポート設定部１２の動作を例示するフロー図である。まず、ポート設定部１２は、ＯＦＣ１１に対して仮想ネットワークの生成を要求する（ステップＣ１）。
【０１１３】
また、ポート設定部１２は、管理サーバ１Ｂ上の設定情報から使用ポート数「Ｘ」とＶＬＡＮ  ＩＤ「Ｙ」を取得する（ステップＣ２）。
【０１１４】
さらに、ポート設定部１２は、ポート情報取得部２１と管理サーバ１Ｂ上の設定情報からポート情報（図１１）を取得する（ステップＣ３）。このとき、ポート情報の「使用中」属性の値はすべて「Ｎｏ」とする。
【０１１５】
次に、ポート設定部１２は、サーバ２Ｂ、通信先サーバ４Ｂごとに、各ＯＦＳの使用中ポート数を計算する（ステップＣ５）。
【０１１６】
次に、ポート設定部１２は、サーバ２Ｂが使用するポートとして、セキュリティフラグがＯＦＦで、使用中ポート数が最小のＯＦＳと結線され、かつ、ＶＬＡＮ  ＩＤ＝Ｙのポートを選択する（ステップＣ６）。
【０１１７】
一方、ポート設定部１２は、通信先サーバ４Ｂが使用するポートとして、セキュリティフラグがＯＦＦで、使用中ポート数が最小で、ステップＣ６のＯＦＳと同一のＯＦＳか当該ＯＦＳに直結しているＯＦＳと結線され、かつ、ＶＬＡＮ  ＩＤ＝Ｙのポートを選択する（ステップＣ７）。
【０１１８】
次に、ポート設定部１２は、管理ソフトウェア１３に対して、ステップＣ６で選択したポートをもつＮＩＣが接続されたＥＥＩＯに対して、ＥＥＳＶ２４と同一のグループＩＤを設定するよう要求する（ステップＣ８）。
【０１１９】
また、ポート設定部１２は、選択したポートをユーザネットワーク（仮想ネットワーク）３Ｂに接続し、ポート情報の「使用中」属性を「Ｙｅｓ」に更新する（ステップＣ９）。
【０１２０】
ポート設定部１２は、以上のステップＣ５〜Ｃ９を使用ポート数「Ｘ」の数だけ繰り返す（ステップＣ４、Ｃ１０）。なお、使用中ポート数が最小のＯＦＳが複数存在する場合、ポート設定部１２はスイッチ負荷またはパスコストが最小のＯＦＳからポートを選択してもよい。
【０１２１】
次に、ポート設定部１２は、選択したポートのうち、サーバ２ＢのポートをもつＮＩＣが接続されたＥＥＩＯのＩＤのリストを管理ソフトウェア１３に送信する。また、ポート設定部１２は、選択したポートＩＤのリストとＶＬＡＮ  ＩＤをハイパーバイザ２５に送信する（ステップＣ１１）。
【０１２２】
ハイパーバイザ２５は、ポート選択部１２から受信したポートＩＤのリストとＶＬＡＮ  ＩＤを指定してＶＭ２３を生成し、管理エージェント２６にＶＭ  ＩＤとポートＩＤのリストを送信する。ＥＥＳＶ  ＩＤとサーバＩＤの関係は、管理者が管理サーバ１Ｂ上の設定情報として設定するものとする。また、各サーバのサーバＩＤ（ＩＰアドレスなど）とＥＥＳＶ  ＩＤの関係も、管理者が管理サーバ１Ｂ上の設定情報として設定するものとする。
【０１２３】
次に、図８、図１０を参照して、管理エージェント２６がＶＭのＮＩＣの負荷情報が閾値を超えたことを検出した際の動作について、詳細に説明する。
【０１２４】
このとき、管理エージェント２６は、ポート設定部１２に対して、追加するポートＩＤを要求する。
【０１２５】
図１０は、管理エージェント２６がＶＭのＮＩＣの負荷情報が閾値を超えたことを検出した際のポート設定部１２の動作を例示するフロー図である。
【０１２６】
まず、ポート設定部１２は、サーバ２Ｂ、通信先サーバ４Ｂごとに、各ＯＦＳの使用中ポート数を計算する（ステップＤ１）。
【０１２７】
次に、ポート設定部１２は、サーバ２Ｂが使用するポートとして、セキュリティフラグがＯＦＦで、使用中ポート数が最小で、通信先サーバ４Ｂが接続されているＯＦＳか、または当該ＯＦＳに直結しているＯＦＳに結線され、かつ、ＶＬＡＮ  ＩＤ＝Ｙのポートを選択する（ステップＤ２）。
【０１２８】
次に、ポート設定部１２は、管理ソフトウェア１３に対して、ステップＤ２で選択したポートをもつＮＩＣが接続されたＥＥＩＯに対して、ＥＥＳＶ２４と同一のグループＩＤを設定するよう要求する（ステップＤ３）。
【０１２９】
また、ポート設定部１２は、選択したポートをユーザネットワーク（仮想ネットワーク）３Ｂに接続し、ポート情報の「使用中」属性を「Ｙｅｓ」に更新する（ステップＤ４）。
【０１３０】
［効果］
本実施形態の通信システムによると、ExpEther技術によって構成されたサーバに対して動的に追加するＮＩＣ（Network Interface Card）を選択する場合において、ネットワークの耐障害性を向上させることができる。なぜなら、OpenFlowネットワーク上の仮想ネットワークに複数のサーバを接続する際に、各サーバから各ＯＦＳに対する接続数が分散し、サーバ間の物理ネットワークに単一障害点が含まれないように接続するからである。さらに、本実施形態によると、ＮＩＣの負荷の上昇に応じてポートを追加することで、サーバ間の通信性能の向上を図ることもできる。
【０１３１】
なお、本発明において、下記の形態が可能である。
［形態１］
上記第１の態様に係る通信管理装置のとおりである。
［形態２］
前記ポート選択部は、前記抽出したスイッチまたは前記抽出したスイッチに直結されたスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された前記第２のサーバ側のポートを選択する、
形態１に記載の通信管理装置。
［形態３］
前記ポート選択部は、前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が最小のスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するとともに、前記抽出したスイッチまたは前記抽出したスイッチに直結されたスイッチであって前記第２のサーバとの通信に使用中のポートの数が最小のスイッチのポートに結線された、前記第２のサーバ側のポートを選択する、
形態１または２に記載の通信管理装置。
［形態４］
前記ポート数算出部および前記ポート選択部は、前記使用中のポートの数を求め、前記第１のサーバ側のポートを選択し、前記第２のサーバ側のポートを選択し、前記選択したポートを通信に使用する処理を、前記第１のサーバおよび前記第２のサーバ側の使用中のポートの数が所定の数となるまで繰り返す、
形態１ないし３のいずれか一に記載の通信管理装置。
［形態５］
前記複数のスイッチは、前記第１のサーバと第２のサーバとの間のハートビートパケットを転送するスイッチである、
形態１ないし４のいずれか一に記載の通信管理装置。
［形態６］
前記第１のサーバ側のポートは、前記第１のサーバ上で稼働する仮想マシンに割り当てられるポートである、
形態１ないし５のいずれか一に記載の通信管理装置。
［形態７］
前記第１のサーバ側のポートは、前記第１のサーバに所定のカードを介して接続されたＮＩＣ（Network Interface Card）のポートである、
形態６に記載の通信管理装置。
［形態８］
前記ポート選択部は、前記抽出したスイッチのポートに結線された前記第１のサーバ側の所定のＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）を有するポートを選択するとともに、前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側の前記所定のＶＬＡＮ  ＩＤを有するポートを選択する、
ことを特徴とする、形態７に記載の通信管理装置。
［形態９］
前記ポート選択部は、前記第２のサーバからのホップ数が相対的に少ないスイッチであって前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記所定のＶＬＡＮ  ＩＤを有するＮＩＣのポートを選択するとともに、選択したポートを有するＮＩＣに接続された所定のカードに対して、前記第１のサーバ側に配置された所定のカードに設定されたグループＩＤを設定する、
形態８に記載の通信管理装置。
［形態１０］
上記第２の態様に係る通信システムのとおりである。
［形態１１］
上記第３の態様に係る通信管理方法のとおりである。
［形態１２］
前記抽出したスイッチまたは前記抽出したスイッチに直結されたスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された前記第２のサーバ側のポートを選択するステップを含む、
形態１１に記載の通信管理方法。
［形態１３］
前記複数のスイッチのうちの前記第１のサーバとの通信に使用中のポートの数が最小のスイッチを抽出し、抽出したスイッチのポートに結線された前記第１のサーバ側のポートを選択するステップと、
前記抽出したスイッチまたは前記抽出したスイッチに直結されたスイッチであって前記第２のサーバとの通信に使用中のポートの数が最小のスイッチのポートに結線された、前記第２のサーバ側のポートを選択するステップと、を含む、
形態１１または１２に記載の通信管理方法。
［形態１４］
前記使用中のポートの数を求めるステップと、前記第１のサーバ側のポートを選択するステップと、前記第２のサーバ側のポートを選択するステップと、前記選択したポートを通信に使用するステップを、前記第１のサーバおよび前記第２のサーバ側の使用中のポートの数が所定の数となるまで繰り返す、
形態１１ないし１３のいずれか一に記載の通信管理方法。
［形態１５］
前記複数のスイッチは、前記第１のサーバと第２のサーバとの間のハートビートパケットを転送するスイッチである、
形態１１ないし１４のいずれか一に記載の通信管理方法。
［形態１６］
前記第１のサーバ側のポートは、前記第１のサーバ上で稼働する仮想マシンに割り当てられるポートである、
形態１１ないし１５のいずれか一に記載の通信管理方法。
［形態１７］
前記第１のサーバ側のポートは、前記第１のサーバに所定のカードを介して接続されたＮＩＣ（Network Interface Card）のポートである、
形態１６に記載の通信管理方法。
［形態１８］
前記抽出したスイッチのポートに結線された前記第１のサーバ側の所定のＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）を有するポートを選択するステップと、
前記抽出したスイッチからのホップ数が相対的に少ないスイッチであって前記第２のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記第２のサーバ側の前記所定のＶＬＡＮ  ＩＤを有するポートを選択するステップと、を含む、
ことを特徴とする、形態１７に記載の通信管理方法。
［形態１９］
前記第２のサーバからのホップ数が相対的に少ないスイッチであって前記第１のサーバとの通信に使用中のポートの数が相対的に少ないスイッチのポートに結線された、前記所定のＶＬＡＮ  ＩＤを有するＮＩＣのポートを選択するステップと、
選択したポートを有するＮＩＣに接続された所定のカードに対して、前記第１のサーバ側に配置された所定のカードに設定されたグループＩＤを設定するステップと、を含む、
形態１８に記載の通信管理方法。
［形態２０］
上記第４の態様に係るプログラムのとおりである。
【０１３２】
なお、上記特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１３３】
１、１Ａ、１Ｂ    管理サーバ
２    稼動系サーバ
２Ａ、２Ｂ    サーバ
３    ハートビートネットワーク
３Ａ    ＶＭ用ネットワーク
３Ｂ    ユーザネットワーク
４    待機系サーバ
４Ａ、４Ｂ    通信先サーバ
５    Ｉ／Ｏリソースプール
６    仮想ＰＣＩｅスイッチ
１０    通信管理装置
１１    ＯＦＣ
１２    ポート設定部
１３    管理ソフトウェア
１４、２３    ＶＭ
２０    ポート数算出部
２１、４１    ポート情報取得部
２２、４２    ハートビート送受信部
２４、１４２    ＥＥＳＶ
２５    ハイパーバイザ
２６    管理エージェント
３０    ポート選択部
３１〜３３    ＯＦＳ
５１〜５３、６１〜６３    ＥＥＩＯ
５４、６４    ストレージ
５５、５６、６５、６６    ＮＩＣ
１４１    ＥＥＩＯ情報取得部
Ｐ１〜Ｐ８    ポート
【図１】
2017158103.tif 000003
【図２】
2017158103.tif 000004
【図３】
2017158103.tif 000005
【図４】
2017158103.tif 000006
【図５】
2017158103.tif 000007
【図６】
2017158103.tif 000008
【図７】
2017158103.tif 000009
【図８】
2017158103.tif 000010
【図９】
2017158103.tif 000011
【図１０】
2017158103.tif 000012
【図１１】
2017158103.tif 000013