(57)【特許請求の範囲】
【請求項１】
コンピュータ上の仮想スイッチのためのプログラムであって、
前記コンピュータに、
受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであるか判断するステップと、
受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであると判断された場合、受信したメッセージの宛先アドレスを、自仮想スイッチの配下にあり且つ同一サブネットに属する仮想マシン宛のブロードキャスト・アドレスに変換して、変換後のメッセージを出力するステップと、
を実行させるためのプログラム。
【請求項２】
前記仮想マシンからブロードキャスト・メッセージを受信するステップと、
前記自仮想スイッチが現在ＶＬＡＮモードであるかアドレス変換モードであるか判断するステップと、
前記アドレス変換モードであると判断された場合、前記ブロードキャスト・メッセージの宛先アドレスを、同一サブネットに属する他の仮想スイッチの、予め定められたアドレスに変換して、当該同一サブネットに属する他の仮想スイッチのアドレス宛に、アドレス変換後の前記ブロードキャスト・メッセージを出力するステップと、
前記ＶＬＡＮモードである場合には、前記仮想マシンが所属するサブネットのＶＬＡＮのＩＤを前記ブロードキャスト・メッセージに付加し、前記ＶＬＡＮのＩＤが付加された前記ブロードキャスト・メッセージを、上位通信装置又は上位仮想スイッチに出力するステップと、
をさらに前記コンピュータに実行させるための請求項１記載のプログラム。
【請求項３】
予め定められた条件を満たすサブネット毎に、データ格納部に格納されている、単位時間内のブロードキャスト・メッセージの数と同一サブネットに属する仮想スイッチの数とからコピー回数評価値を算出する算出ステップと、
前記サブネットを前記コピー回数評価値で降順にソートし、上位所定数のサブネットにＶＬＡＮのＩＤを付与し、上位所定数のサブネットに属する仮想スイッチにＶＬＡＮモードを設定するＶＬＡＮモード設定ステップと、
前記上位所定数のサブネット以外のサブネットに属する仮想スイッチに、ブロードキャスト・メッセージを同一サブネットに属する仮想スイッチ宛のユニキャスト・メッセージに変換すると共に当該仮想スイッチ宛のユニキャスト・メッセージを配下の仮想マシン宛のブロードキャスト・メッセージに変換するアドレス変換モードを設定するアドレス変換モード設定ステップと、
を含み、コンピュータに実行させるためのプログラム。
【請求項４】
前記算出ステップと前記ＶＬＡＮモード設定ステップと前記アドレス変換モード設定ステップとを、前記単位時間内のブロードキャスト・メッセージの数が所定レベル以上変化した場合又は前記同一サブネットに属する仮想スイッチの数が変化する際に実施する、請求項３記載のプログラム。
【請求項５】
仮想マシンと、
仮想スイッチと、
を実行し、
前記仮想スイッチが、
受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであるか判断し、
受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであると判断された場合、受信したメッセージの宛先アドレスを、自仮想スイッチの配下にあり且つ同一サブネットに属する仮想マシン宛のブロードキャスト・アドレスに変換して、変換後のメッセージを出力する
コンピュータ。
【請求項６】
予め定められた条件を満たすサブネット毎に、データ格納部に格納されている、単位時間内のブロードキャスト・メッセージの数と同一サブネットに属する仮想スイッチの数とからコピー回数評価値を算出し、前記サブネットを前記コピー回数評価値で降順にソートし、上位所定数のサブネットにＶＬＡＮのＩＤを付与する論理リソース管理部と、
前記上位所定数のサブネットに属する仮想スイッチにＶＬＡＮモードの設定を含むデータ更新を指示し、前記上位所定数のサブネット以外のサブネットに属する仮想スイッチに、ブロードキャスト・メッセージを同一サブネットに属する仮想スイッチ宛のユニキャスト・メッセージに変換すると共に当該仮想スイッチ宛のユニキャスト・メッセージを配下の仮想マシン宛のブロードキャスト・メッセージに変換するアドレス変換モードの設定を含むデータ更新を指示する転送データ処理部と、
を有するコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、物理サーバ上で稼働している複数の仮想マシン（ＶＭ：Virtual Machine）間の通信処理技術に関する。
【背景技術】
【０００２】
クラウドコンピューティングに代表される、複数の顧客（テナントとも呼ぶ）で物理リソースを共有して使用する環境において、顧客間の論理的な分離は、システムとして実現しなければならない。具体的には、ある顧客は他の顧客の通信内容を傍受したり、他の顧客が使用中のリソースに対してアクセスしたりすることを禁止する必要がある。
【０００３】
例えば、図１に示すような環境を想定する。図１の環境では、テナントＡ及びＢ（顧客Ａ及びＢ）が、物理サーバＡ及びＢ並びに物理的なレイヤ２スイッチ（物理Ｌ２ＳＷと記す。）を共用する。そして、物理サーバＡでは、仮想マシンＶＭ１及びＶＭ２と、仮想的なレイヤ２スイッチ（仮想Ｌ２ＳＷと記す）の仮想Ｌ２ＳＷ＿１及び仮想Ｌ２ＳＷ＿２とが稼働しており、仮想マシンＶＭ１と仮想Ｌ２ＳＷ＿１とは、テナントＡの論理リソースである。また、仮想Ｌ２ＳＷ＿２及び仮想マシンＶＭ２は、テナントＢの論理リソースである。一方、物理サーバＢでは、仮想マシンＶＭ３及びＶＭ４と、仮想Ｌ２ＳＷ＿３とが稼働しており、仮想マシンＶＭ３及びＶＭ４並びに仮想Ｌ２ＳＷ＿３は、テナントＡの論理リソースである。さらに、物理サーバＡ及びＢは、物理Ｌ２ＳＷで互いに接続されている。各仮想マシンのレイヤ２アドレス（Ｌ２アドレスと記す。より具体的にはＭＡＣ（Media Access Control）アドレス）は、重複しないように付与されている。
【０００４】
ここで、テナントＡの仮想マシンＶＭ１がブロードキャスト・メッセージを送信する際には、当該メッセージのアドレスには宛先のＭＡＣアドレスとして「FF:FF:FF:FF:FF:FF」が設定される。このアドレスは予約アドレスであって全てのネットワークで共通である。従って、仮想Ｌ２ＳＷ＿１は、このようなブロードキャスト・メッセージを受信すると、物理Ｌ２ＳＷに当該メッセージを出力する。何も制限がなされていない場合には、物理Ｌ２ＳＷは、ブロードキャスト・メッセージを受信すると、同じテナントＡに所属する、物理サーバＢ上の仮想Ｌ２ＳＷ＿３だけではなく、異なるテナントＢに所属する仮想Ｌ２ＳＷ＿２にもブロードキャスト・メッセージを出力してしまう。すなわち、ブロードキャスト・メッセージの内容が漏洩してしまう。
【０００５】
一般的に、物理サーバの共有についてはサーバ仮想化技術、ネットワークの共有についてはＶＬＡＮ（Virtual LAN）技術が用いられている。ＶＬＡＮ技術は、広く用いられており、この技術が使用できる規模のシステムであれば特に問題はない。しかしながら、使用可能なＶＬＡＮ−ＩＤの数は４０９４と決まっており、大規模なクラウドシステムであれば、不足する可能性がある。
【０００６】
なお、仮想マシンが生成され、ＤＨＣＰ（Dynamic Host Configuration Protocol）方式で新たにＩＰアドレスの割当を求める場合、その仮想マシンはＤＨＣＰサーバの所在がわからないため、ブロードキャストを行う。このため、ネットワークにつながれている他のコンピュータもネットワーク層レベルまでパケットが送られ、ＣＰＵ資源を消費してようやく自分宛ではないと判断することになる。この処理の間は、当該コンピュータ上の他の処理に影響を与えることとなる。しかし、その仮想マシンが生成された物理マシン上では、既に他の仮想マシンが生成・起動され、当該他の仮想マシンによるブロードキャストによって、既にＤＨＣＰサーバの所在が把握できている場合がある。このように、ネットワーク上のあるホスト（物理マシン）上で複数の仮想マシンが生成され得るような場合には、先に生成・起動された仮想マシンによって、ＤＨＣＰサーバのアドレスを知ることができるため、そのホスト上で後に生成・起動された仮想マシンによるブロードキャストは、冗長なものである、という問題を提起した文献は存在している。このために、ローカルブロードキャストであるＤＨＣＰアドレス取得要求を、ハイパーバイザ上ではブロードキャストせずに、ＤＨＣＰサーバへのユニキャストに変換するという解決策が提案されている。しかしながら、ＤＨＣＰアドレス取得要求であるからＤＨＣＰサーバに到達した後、さらにその要求を他のサーバに転送したりする必要はない。
【０００７】
また、仮想ローカルエリアネットワークについて中継網におけるフラッディングを抑制する技術も存在している。この技術では、エッジ転送装置において、加入者ローカルエリアネットワークからその加入者ポートを介してＭＡＣフレームを受信するステップと、ＭＡＣフレームが受信された加入者ポートから当該ＭＡＣフレームに対応するサービスＶＬＡＮ識別子を特定するステップと、ＭＡＣフレームの送信元および１つないし複数の宛先の組を識別する宛先グループ識別子を取得するステップと、取得された宛先グループ識別子に基づき、少なくとも一つの中継ポートの中に当該ＭＡＣフレームを転送する１つ以上の中継ポートがあるか否かを判定するステップと、ＭＡＣフレームを転送する１つ以上の中継ポートがあると判定された場合に、少なくともＭＡＣフレーム及びサービスＶＬＡＮ識別子を含む中継ＭＡＣフレームを生成するステップと、中継ＭＡＣフレームに宛先グループ識別子を付与するステップと、宛先グループ識別子が付与された中継ＭＡＣフレームを１つ以上の中継ポートに転送するステップとが実行される。しかしながら、これはＶＬＡＮが前提となっている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２８９１４号公報
【特許文献２】ＷＯ２００６／０９５５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以上述べたように、ＶＬＡＮの制限を超えた数のサブネットを１つのシステムで実現することは難しい。
【００１０】
従って、本技術の目的は、物理的なリソースを共用する複数のサブネットの論理的な分離を適切に行うための技術を提供することである。
【課題を解決するための手段】
【００１１】
第１の実施の形態に係る通信処理方法は、受信したメッセージの宛先アドレスが本通信処理方法を実行している自仮想スイッチの予め定められたアドレスであるか判断するステップと、受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであると判断された場合、受信したメッセージの宛先アドレスを、自仮想スイッチの配下にあり且つ同一サブネットに属する仮想マシン宛のブロードキャスト・アドレスに変換して、変換後のメッセージを出力するステップとを含む。
【００１２】
第２の実施の形態に係る通信処理方法は、（Ａ）予め定められた条件を満たすサブネット毎に、データ格納部に格納されている、単位時間内のブロードキャスト・メッセージの数と同一サブネットに属する仮想スイッチの数とからコピー回数評価値を算出する算出ステップと、（Ｂ）サブネットをコピー回数評価値で降順にソートし、上位所定数のサブネットにＶＬＡＮのＩＤを付与し、上位所定数のサブネットに属する仮想スイッチにＶＬＡＮモードを設定するＶＬＡＮモード設定ステップと、（Ｃ）上位所定数のサブネット以外のサブネットに属する仮想スイッチに、ブロードキャスト・メッセージを同一サブネットに属する仮想スイッチ宛のユニキャスト・メッセージに変換すると共に当該仮想スイッチ宛のユニキャスト・メッセージを配下の仮想マシン宛のブロードキャスト・メッセージに変換するアドレス変換モードを設定するアドレス変換モード設定ステップとを含む。
【発明の効果】
【００１３】
物理的なリソースを共用する複数のサブネットの論理的な分離を適切に実施できるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来のシステムの問題点を示す図である。
【図２】図２は、本技術の第１の実施の形態に係るシステム概要を示す図である。
【図３】図３は、仮想レイヤ２スイッチの機能ブロック図である。
【図４】図４は、自ＳＷデータ格納領域に保持されるデータの一例を示す図である。
【図５】図５は、変換テーブル格納領域に保持されるデータの一例を示す図である。
【図６】図６は、転送テーブル格納領域に保持されるデータの一例を示す図である。
【図７】図７は、第１の実施の形態に係る処理フローを示す図である。
【図８】図８は、変換テーブル格納領域に保持されるデータ（アドレス変換モード）の一例を示す図である。
【図９】図９は、変換テーブル格納領域に保持されるデータ（ＶＬＡＮモード）の一例を示す図である。
【図１０】図１０は、ＶＬＡＮモードにおける動作を示す模式図である。
【図１１】図１１は、第３の実施の形態に係るシステムの模式図である。
【図１２】図１２は、リソース管理装置の機能ブロック図である。
【図１３】図１３は、物理リソースデータ格納部に格納されるデータの一例を示す図である。
【図１４】図１４は、論理リソースデータ格納部に格納されるデータの一例を示す図である。
【図１５】図１５は、論理リソースデータ格納部に格納されるデータの一例を示す図である。
【図１６】図１６は、論理リソースデータ格納部に格納されるデータの一例を示す図である。
【図１７】図１７は、論理リソースデータ格納部に格納されるデータの一例を示す図である。
【図１８】図１８は、テナントデータ格納部に格納されるデータの一例を示す図である。
【図１９】図１９は、テナントデータ格納部に格納されるデータの一例を示す図である。
【図２０】図２０は、転送テーブル格納部に格納されるデータの一例を示す図である。
【図２１】図２１は、変換テーブル格納領域に保持されるデータの一例を示す図である。
【図２２Ａ】図２２Ａは、第３の実施の形態における仮想Ｌ２ＳＷの処理フローを示す図である。
【図２２Ｂ】図２２Ｂは、第３の実施の形態における仮想Ｌ２ＳＷの処理フローを示す図である。
【図２３】図２３は、ＡＰＲ要求を受信した際の処理を模式的に示した図である。
【図２４】図２４は、ユニキャスト・メッセージの処理を模式的に示した図である。
【図２５】図２５は、ブロードキャスト転送量の測定処理の処理フローを示す図である。
【図２６】図２６は、リソース管理装置により実行される処理の処理フローを示す図である。
【図２７】図２７は、ＶＭ配備時の処理の処理フローを示す図である。
【図２８】図２８は、ＶＬＡＮ−ＩＤ割付決定処理の処理フローを示す図である。
【図２９】図２９は、ＶＭ削除要求受信時の処理の処理フローを示す図である。
【図３０】図３０は、ブロードキャスト転送量変化通知受信時の処理の処理フローを示す図である。
【図３１】図３１は、実施の形態に係る仮想スイッチにより実行される処理の処理フローを示す図である。
【図３２】図３２は、実施の形態に係るリソース管理装置により実行される処理の処理フローを示す図である。
【図３３】図３３は、実施の形態に係るコンピュータの機能ブロック図である。
【図３４】図３４は、実施の形態に係るコンピュータの機能ブロック図である。
【図３５】図３５は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
［実施の形態１］
図２に本技術の第１の実施の形態に係るシステム概要を示す。図２の例では、図１と同様に、テナントＡ及びＢ（顧客Ａ及びＢ）が、物理サーバＡ及びＢ並びに物理的なレイヤ２スイッチ（物理Ｌ２ＳＷ）を共用する。そして、物理サーバＡでは、仮想マシンＶＭ１及びＶＭ２と、仮想Ｌ２ＳＷである仮想Ｌ２ＳＷ＿１及び仮想Ｌ２ＳＷ＿２とが稼働しており、仮想マシンＶＭ１と仮想Ｌ２ＳＷ＿１とは、テナントＡの論理リソースである。また、仮想Ｌ２ＳＷ＿２及び仮想マシンＶＭ２は、テナントＢの論理リソースである。一方、物理サーバＢでは、仮想マシンＶＭ３及びＶＭ４と、仮想Ｌ２ＳＷ＿３とが稼働しており、仮想マシンＶＭ３及びＶＭ４並びに仮想Ｌ２ＳＷ＿３は、テナントＡの論理リソースである。さらに、物理サーバＡ及びＢは、物理Ｌ２ＳＷで互いに接続されている。各仮想マシンのレイヤ２アドレス（より具体的にはＭＡＣアドレス）は、重複しないように付与されている。一方、ＩＰアドレスは、テナント毎に自由に付与できるようになっており、物理サーバＡの仮想マシンＶＭ１と仮想マシンＶＭ２では、テナントが異なるので同一のＩＰアドレスが付与されている。また、仮想マシンに加え、物理サーバＡ及びＢにもＩＰアドレス（例えば２０．０．０．１０１及び２０．０．０．１０２）が付与されている。
【００１６】
本実施の形態では、仮想Ｌ２ＳＷに、以下で述べるような構成を採用することによって、ＶＬＡＮを用いることなくブロードキャスト・メッセージが、異なるテナントの仮想マシンに送付されてしまうことを防止する。より具体的には、仮想Ｌ２ＳＷに仮想ＭＡＣアドレスを事前に付与しておき、同一テナントのサブネットに属する仮想Ｌ２ＳＷに、自仮想Ｌ２ＳＷ以外の仮想Ｌ２ＳＷの仮想ＭＡＣアドレスを登録しておく。図２の例であれば、テナントＡのサブネットに属する仮想Ｌ２ＳＷ＿１には、例えば００：５０：００：００：５０：０１という仮想ＭＡＣアドレスを付与し、仮想Ｌ２ＳＷ＿３には、例えば００：５０：００：００：５０：０３という仮想ＭＡＣアドレスを付与するものとする。さらに、テナントＢのサブネットに属する仮想Ｌ２ＳＷ＿２には、例えば００：５０：００：００：５０：０２という仮想ＭＡＣアドレスを付与する。そして、仮想Ｌ２ＳＷ＿１であれば、テナントＡの他の仮想Ｌ２ＳＷ＿３の仮想ＭＡＣアドレスを保持し、仮想Ｌ２ＳＷ＿３であれば、テナントＡの他の仮想Ｌ２ＳＷ＿１の仮想ＭＡＣアドレスを保持しておく。なお、仮想Ｌ２ＳＷ＿２については、テナントＢの他の仮想Ｌ２ＳＷが存在しないので、本実施の形態における主要な処理のために、保持しておく他の仮想Ｌ２ＳＷの仮想ＭＡＣアドレスはない。
【００１７】
次に、図１と同様に、テナントＡの仮想マシンＶＭ１から、ブロードキャスト・メッセージが出力されることを想定する。このブロードキャスト・メッセージには、予約アドレスであるブロードキャスト・アドレスが設定されており、仮想Ｌ２ＳＷ＿１は、メッセージを受信すると、宛先ＭＡＣアドレスにブロードキャスト・アドレスが設定されていることを認識して、当該ブロードキャスト・アドレスを、同一のサブネットに属する他の仮想Ｌ２ＳＷの仮想ＭＡＣアドレスで置換する。図２の例では、仮想Ｌ２ＳＷ＿３の仮想ＭＡＣアドレスで置換する。なお、複数の仮想Ｌ２ＳＷの仮想ＭＡＣアドレスを保持する場合には、受信したメッセージを（仮想Ｌ２ＳＷの数−１）個コピーして、それぞれ仮想ＭＡＣアドレスで宛先ＭＡＣアドレスを置換する。すなわち、ブロードキャスト・メッセージをユニキャスト・メッセージに変換する。そして、上位のＬ２スイッチ（図２では物理Ｌ２ＳＷ）に出力する。なお、図２の例では、仮想Ｌ２ＳＷ＿１には、仮想マシンＶＭ１以外に仮想マシンが接続されていないが、他の仮想マシンが接続されている場合には、通常のブロードキャスト・メッセージと同様に、他の仮想マシンにはブロードキャスト・メッセージを出力する。
【００１８】
物理Ｌ２ＳＷは、通常のユニキャスト・メッセージを受信した場合と同様に、宛先ＭＡＣアドレス（＝仮想ＭＡＣアドレス）の機器が接続された装置に、受信メッセージを出力する。図２の場合であれば、物理サーバＢに出力する。物理サーバＢでは、仮想ＭＡＣアドレスから仮想Ｌ２ＳＷ＿３を特定して、メッセージを仮想Ｌ２ＳＷ＿３に渡す。
【００１９】
仮想Ｌ２ＳＷ＿３は、自らの仮想ＭＡＣアドレス宛にメッセージを受信すると、ブロードキャスト・メッセージであると認識して、宛先アドレスをブロードキャスト・アドレスに置換した後、配下の仮想マシンＶＭ３及びＶＭ４に出力する。
【００２０】
このような処理を実施することによって、ＶＬＡＮを用いずとも他のテナントの仮想Ｌ２ＳＷ＿２にはブロードキャスト・メッセージを出力することが無くなる。すなわち、サブネット間で論理的な分離が適切に行われたことになる。
【００２１】
次に、仮想Ｌ２ＳＷの構成について、図３を用いて説明する。仮想Ｌ２ＳＷは、物理サーバで実行されるとＬ２スイッチのように動作するプログラムであって仮想マシンや他の仮想Ｌ２ＳＷや物理サーバのオペレーティング・システム（ＯＳ）などとの通信を行う通信インターフェース（ＩＦ）１０１と、通信ＩＦ１０１で受信されたメッセージについての制御処理を実施するメッセージ制御部１０２と、メッセージ制御部１０２と連携して自仮想スイッチ（ＳＷ）のデータを管理するための処理を実施する自ＳＷデータ管理部１０４とを含む。また、仮想Ｌ２ＳＷは、メッセージ制御部１０２と連携してメッセージ変換処理を実施するメッセージ変換部１０５と、メッセージ制御部１０２と連携して転送テーブルの管理のための処理を実施する転送テーブル管理部１０６とを含む。
【００２２】
メッセージ種別テーブル格納領域１０３は、メッセージ制御部１０２により使用される領域であって、メッセージ種別を特定するためのデータを保持する。本実施の形態では、例えば、ブロードキャスト・メッセージであるか否かを判断するためのデータが格納される領域であり、例えば、ブロードキャスト・アドレスが格納されている。
【００２３】
また、自ＳＷデータ格納領域１０７は、自ＳＷデータ管理部１０４により使用される領域であり、例えば図４に示すようなデータを保持する。図４の例では、仮想Ｌ２ＳＷ＿１についての自ＳＷデータであり、仮想ＭＡＣアドレスを含む。
【００２４】
さらに、変換テーブル格納領域１０８は、メッセージ変換部１０５により使用される領域であり、例えば図５に示すようなデータを保持する。図５の例では、仮想Ｌ２ＳＷ＿１についての変換テーブルであり、同一サブネットに属する他の仮想Ｌ２ＳＷの仮想ＭＡＣアドレスが登録されている。
【００２５】
また、転送テーブル格納領域１０９は、転送テーブル管理部１０６により使用される領域であり、例えば図６に示すようなデータを保持する。図６の例では、同一のサブネットに所属する仮想Ｌ２ＳＷ及び仮想マシンの識別子と、ＭＡＣアドレスと、ＩＰアドレスと、出力先種別（例えば自ＳＷ配下、上位ＳＷなど）とを登録するようになっている。これによって、ＭＡＣアドレスに応じて出力先を特定することができる。
【００２６】
仮想Ｌ２ＳＷ＿２及び仮想Ｌ２ＳＷ＿３についても、それぞれのための自ＳＷデータ、変換テーブル及び転送テーブルが登録される。
【００２７】
次に、図２を用いて説明した処理について、図７を用いて詳細に説明する。まず、仮想Ｌ２ＳＷ＿１の通信ＩＦ１０１は、仮想マシンＶＭ１からメッセージを受信すると（ステップＳ１）、メッセージ制御部１０２に出力する。メッセージ制御部１０２は、メッセージ種別テーブル格納領域１０３に保持されているメッセージ種別テーブルのデータに従って、受信したメッセージがブロードキャスト・メッセージであるか判断する（ステップＳ３）。宛先アドレスがブロードキャスト・アドレスである場合にはブロードキャスト・メッセージであると判断して、メッセージ制御部１０２は、受信したメッセージをメッセージ変換部１０５に出力する。メッセージ変換部１０５は、受信したメッセージの宛先アドレスを、変換テーブル格納領域１０８に格納されている、同一サブネットに属する他の仮想Ｌ２ＳＷの仮想ＭＡＣアドレスに変換する（ステップＳ５）。なお、変換テーブルに複数の仮想ＭＡＣアドレスが登録されている場合には、メッセージ変換部１０５は、受信したメッセージを（登録仮想ＭＡＣアドレスの数−１）個分コピーして、宛先アドレスを各仮想ＭＡＣアドレスに変換する。メッセージ変換部１０５は、処理後のメッセージをメッセージ制御部１０２に出力する。
【００２８】
メッセージ制御部１０２は、処理後のメッセージの宛先アドレスを転送テーブル管理部１０６に出力し、対応する出力先のデータを要求する。転送テーブル管理部１０６は、宛先アドレスで、転送テーブル格納領域１０９に保持されている転送テーブルを検索し、該当する出力先を特定する。図２の例であれは、上位ＳＷ（すなわち物理Ｌ２ＳＷ）であることを表すデータを受信することになる。従って、メッセージ制御部１０２は、宛先アドレスが同一サブネットに属する仮想Ｌ２ＳＷの仮想ＭＡＣアドレスに変換されているメッセージを、転送テーブル管理部１０６からの出力先データに従って出力するように通信ＩＦ１０１に指示する。図２の例では、通信ＩＦ１０１は、アドレス変換後のメッセージを上位ＳＷの物理Ｌ２ＳＷに出力する（ステップＳ７）。
【００２９】
物理Ｌ２ＳＷは、物理サーバＡの仮想Ｌ２ＳＷ＿１からメッセージを受信すると、宛先アドレス（仮想Ｌ２ＳＷ＿３の仮想ＭＡＣアドレス）に従って、メッセージを出力すべきポートを特定し、当該ポートに出力する（ステップＳ９）。図２の例では、仮想Ｌ２ＳＷ＿３が稼働している物理サーバＢが接続されているポートに出力する。
【００３０】
物理サーバＢは、メッセージを受信すると、そのメッセージの宛先アドレスである、仮想Ｌ２ＳＷ＿３の仮想ＭＡＣアドレスに応じて、仮想Ｌ２ＳＷ＿３にメッセージを出力する。仮想Ｌ２ＳＷ＿３の通信ＩＦ１０１は、メッセージを受信すると（ステップＳ１１）、当該通信ＩＦ１０１は、受信したメッセージをメッセージ制御部１０２に出力する。メッセージ制御部１０２は、受信したメッセージの宛先アドレスを確認する（ステップＳ１３）。この際、メッセージ制御部１０２は、自ＳＷデータ管理部１０４に、自ＳＷデータに含まれる自仮想ＭＡＣアドレスを要求して、照合する。
【００３１】
宛先アドレスが自仮想ＭＡＣアドレスであれば、メッセージ制御部１０２は、受信したメッセージの宛先アドレスを、予約アドレスであるブロードキャスト・アドレスに変換する（ステップＳ１５）。そして、メッセージ制御部１０２は、配下の仮想マシンＶＭ３及びＶＭ４に、宛先アドレスが変換されたメッセージを出力するように通信ＩＦ１０１に指示し、通信ＩＦ１０１は、指示に従ってメッセージを出力する（ステップＳ１７）。
【００３２】
以上のような処理を実施することによって、ＶＬＡＮを使用しなくとも、他のサブネットに所属する仮想Ｌ２ＳＷ＿２には、ブロードキャスト・メッセージが送信されないので、サブネットの論理的な分離が適切に行われたことになる。
【００３３】
［実施の形態２］
本実施の形態では、第１の実施の形態で述べたアドレス変換とＶＬＡＮとを用いたサブネットの論理的な分離を併用することを考える。ＶＬＡＮが使用できるならばＶＬＡＮを使用する方が効率的であるためである。但し、ＶＬＡＮ−ＩＤは４０９４個しかないので、サブネットの数がこの個数を超えた場合には、全てのサブネットがＶＬＡＮを使用できるわけではない。そこで、例えば、予め定められたサブネットについてはＶＬＡＮを使用し、その他については第１の実施の形態のようにアドレス変換を行うものとする。
【００３４】
本実施の形態における仮想Ｌ２ＳＷは、図３に示したような構成と同様の構成を有する。但し、変換テーブル格納領域１０８には、図８又は図９に示すようなデータを追加で保持する。図８は、第１の実施の形態のようにアドレス変換を実施する場合に保持するデータであり、処理モードとして「ＭＡＣアドレス変換」というモードを表すデータが含まれる。一方、ＶＬＡＮを使用する場合には図９に示すように、処理モードが「ＶＬＡＮ」というモードを表すデータと、ＶＬＡＮの識別子（ＶＬＡＮ−ＩＤとも記す）とが含まれる。
【００３５】
なお、通常の物理Ｌ２スイッチの場合には、ポート毎にＶＬＡＮ−ＩＤを登録しておく必要がある。本実施の形態の仮想Ｌ２ＳＷについてはサブネットの異なる仮想マシンは接続されないものとして、仮想Ｌ２ＳＷにおいてＶＬＡＮモードでは特にＶＬＡＮ−ＩＤを識別して出力先を選択することはないものとする。但し、物理Ｌ２ＳＷにおいては区別するので特に問題はない。なお、仮想Ｌ２ＳＷにおいてもＶＬＡＮ−ＩＤを区別して出力先を選択する場合には、転送テーブルにおいてＶＬＡＮ−ＩＤとの対応付けを登録する必要がある。
【００３６】
仮想Ｌ２ＳＷ＿１及び仮想Ｌ２ＳＷ＿２並びに仮想マシン１、３及び４が同一のサブネットに所属している場合、仮想Ｌ２ＳＷ＿１及び仮想Ｌ２ＳＷ＿３の変換テーブル格納領域１０８に、図８に示すようなモード設定データが登録されていれば、図２に示したものと同様の処理が行われる。但し、図７のステップＳ５では、追加の処理として、モードがＭＡＣアドレス変換モードであるか否かを確認する。なお、ＶＬＡＮモードである場合には、ステップＳ９に移行せず、通常のＶＬＡＮを用いたネットワークと同様の処理に移行する。
【００３７】
一方、仮想Ｌ２ＳＷ＿１及び仮想Ｌ２ＳＷ＿３の変換テーブル格納領域１０８に、図９に示すようなモード設定データが登録されている場合には、図１０に示すような処理が行われる。
【００３８】
すなわち、テナントＡの仮想マシンＶＭ１から、ブロードキャスト・メッセージが出力されることを想定する。このブロードキャスト・メッセージには、予約アドレスであるブロードキャスト・アドレスが宛先アドレスとして設定されており、仮想Ｌ２ＳＷ＿１は、メッセージを受信すると、モード設定データに従ってＶＬＡＮモードであることを確認し、ＶＬＡＮモードであれば、併せて登録されているＶＬＡＮ−ＩＤを受信メッセージに付加する。そして、仮想Ｌ２ＳＷ＿１は、ＶＬＡＮ−ＩＤ付きのメッセージを上位Ｌ２スイッチである物理Ｌ２ＳＷに出力する。
【００３９】
なお、図１０の例では、仮想Ｌ２ＳＷ＿１には、仮想マシンＶＭ１以外に仮想マシンが接続されていないが、接続されている場合には、通常のブロードキャスト・メッセージと同様に、他の仮想マシンにブロードキャスト・メッセージを出力する。
【００４０】
物理Ｌ２ＳＷは、通常のＶＬＡＮ−ＩＤ付きのブロードキャスト・メッセージを受信した場合と同様に、ＶＬＡＮ−ＩＤに基づき対応する出力先ポートを特定して、特定された全ての出力先ポートに、受信したＶＬＡＮ−ＩＤ付きのブロードキャスト・メッセージを出力する。この場合、物理サーバＢの仮想Ｌ２ＳＷ＿３に出力する。なお、同一ＶＬＡＮ−ＩＤが対応付けられていない仮想Ｌ２ＳＷ＿２に、このブロードキャスト・メッセージを出力することはない。
【００４１】
物理サーバＢで稼働している仮想Ｌ２ＳＷ＿３は、自らが保持するのと同一のＶＬＡＮ−ＩＤが付加されたブロードキャスト・メッセージを受信すると、当該ブロードキャスト・メッセージからＶＬＡＮ−ＩＤを削除する。そして、配下の仮想マシンＶＭ３及びＶＭ４に、ブロードキャスト・メッセージとして出力する。
【００４２】
このように、ＶＬＡＮモードの場合には、ＶＬＡＮを使用した通常のネットワークと同様の処理を実施する。
【００４３】
なお、ＶＬＡＮモードの場合には、追加で必要となるメッセージのコピーは、主に物理Ｌ２ＳＷで行われる。従って、仮想Ｌ２ＳＷの負荷が削減される。
【００４４】
［実施の形態３］
第２の実施の形態は、モードの設定を動的に変更することを想定していないが、サブネットの数、仮想マシンの数、仮想Ｌ２ＳＷの数、さらにはブロードキャスト・メッセージの送信回数といったものは、動的に変化するものである。従って、固定でモード設定することは必ずしもシステム全体で効率的とは言えない。
【００４５】
そこで、本実施の形態では、リソース管理装置が各サブネットがＶＬＡＮモードで動作すべきなのか、アドレス変換モードで動作すべきなのかを決定する仕組みを導入する。
【００４６】
まず、本実施の形態に係るシステムの概要を図１１に示す。図１１に示すように、基本的には図２及び図１０で示したシステムに、リソース管理装置２００が導入され、例えば物理Ｌ２ＳＷに接続される。リソース管理装置２００は、システム内で稼働している仮想Ｌ２ＳＷに対して、点線で示すように制御メッセージを送信して、モード切替や必要なデータを送付して、設定させる。
【００４７】
次に、リソース管理装置２００の構成を図１２を用いて説明する。リソース管理装置２００は、物理Ｌ２ＳＷなどと通信を行う通信インターフェース（ＩＦ）２０１と、送受信するメッセージについての制御処理等を実施するメッセージ制御部２０２と、メッセージ制御部２０２と連携してシステム内の物理リソースを管理するための処理を実施する物理リソース管理部２０４と、物理リソースのデータを格納する物理リソースデータ格納部２０８と、メッセージ制御部２０２と連携してシステム内の論理リソースを管理するための処理を実施する論理リソース管理部２０５と、論理リソースのデータを格納する論理リソースデータ格納部２０９とを有する。
【００４８】
また、リソース管理装置２００は、メッセージ制御部２０２と連携してシステムを利用するテナント（すなわち顧客）のデータを管理するための処理を実施するテナント管理部２０６と、テナントのデータを格納するテナントデータ格納部２１０と、メッセージ制御部２０２と連携して自装置及び仮想Ｌ２ＳＷについての転送テーブルに対する変更を行うための処理を実施する転送テーブル処理部２０３と、転送テーブル処理部２０３と連携してシステム全体の転送テーブルの変更を行う転送テーブル管理部２０７と、システム全体の転送テーブルを格納する転送テーブル格納部２１１とを有する。
【００４９】
さらに、リソース管理装置２００は、論理リソース配備処理部２１２をも有する。この論理リソース配備処理部２１２は、例えばメッセージ制御部２０２と連携してリソースプールから論理リソースを確保して所定のアルゴリズムに従って物理サーバ上に論理リソースを配備したり、不要となった論理リソースをリソースプールに返還するなどの、仮想システムが通常有する機能を果たすものである。
【００５０】
なお、転送テーブル処理部２０３は、論理リソース管理部２０５及びテナント管理部２０６とも連携するようになっている。
【００５１】
物理リソースデータ格納部２０８に格納されるデータの一例を図１３に示す。図１３の例では、物理Ｌ２ＳＷなどの物理リソースのリソースＩＤと、接続先の物理サーバのＩＤである接続先ＩＤとが対応付けて登録されるようになっている。図１３の例であれば、図１１に示したように、物理Ｌ２ＳＷが物理サーバＡ及びＢに接続されていることが把握できるようなデータが登録されている。
【００５２】
次に、論理リソースデータ格納部２０９に格納されるデータの一例を図１４に示す。図１４の例では、リソースＩＤと、当該リソースＩＤのリソースが使用するインターフェースの番号であるＩＦ番号と、ＭＡＣアドレスと、ＩＰアドレスと、所属テナントと、どの物理サーバ上で稼働中であるかを示す物理配置とが対応付けられて登録されている。
【００５３】
さらに、論理リソースデータ格納部２０９には、図１５に示すようなデータも格納される。図１５の例では、仮想Ｌ２ＳＷのリソースＩＤと、単位時間あたりのブロードキャスト転送量とを対応付けて格納している。なお、リソースＩＤではなく、サブネット毎に単位時間あたりのブロードキャスト転送量を格納するようにしても良い。
【００５４】
また、論理リソースデータ格納部２０９には、図１６に示すようなデータも格納されている。図１６の例では、仮想Ｌ２ＳＷのリソースＩＤと、接続先の論理リソースのＩＤとが対応付けて登録されるようになっている。
【００５５】
このように図１４及び図１６で論理的なシステム構成が把握できるようになっている。さらに、図１５によって以下で述べるようなモードの動的な切り替えが可能となる。
【００５６】
さらに、論理リソースデータ格納部２０９には、図１７に示すようなデータも格納されている。図１７の例では、サブネットＩＤと、当該サブネットに含まれる仮想Ｌ２ＳＷの数とが対応付けて登録されている。これによって、アドレス変換モードを実施した場合の仮想Ｌ２ＳＷの負荷を計算できるようになる。
【００５７】
また、テナントデータ格納部２１０に格納されているデータの一例を図１８に示す。図１８の例では、所属テナント名と、論理リソース及びサブネット（subnet）のリソースＩＤとが対応付けて登録されている。これによって論理リソース及びサブネットが、どのテナントに所属しているのかを特定することができる。  
【００５８】
さらに、テナントデータ格納部２１０には、図１９に示すようなデータも格納されている。図１９の例では、サブネットＩＤと、ＶＬＡＮ−ＩＤが割り付けられている場合にはＶＬＡＮ−ＩＤとが対応付けて登録されている。これによって、サブネット毎に動作モードを特定することができるようになる。より具体的には、ＶＬＡＮ−ＩＤが登録されているサブネットについてはＶＬＡＮモードが設定されており、ＶＬＡＮ−ＩＤが登録されていないサブネットについてはアドレス変換モードが設定されている。
【００５９】
また、転送テーブル格納部２１１に格納されるデータの一例を図２０に示す。図２０の例では、該当する仮想Ｌ２ＳＷのＩＤと、当該仮想Ｌ２ＳＷの接続先の論理リソースのＩＤと、当該論理リソースのＭＡＣアドレスと、当該論理リソースのＩＰアドレスと、出力先（自スイッチ配下又は上位スイッチのいずれか）とが登録されるようになっている。すなわち、システム内に存在する仮想Ｌ２ＳＷのそれぞれが保持する転送テーブルの内容を全て保持するようになっている。
【００６０】
また、本実施の形態に係る仮想Ｌ２ＳＷは、第２の実施の形態と同様の構成を有するものとする。但し、付加的な機能として、メッセージ変換部１０５は、ブロードキャスト・メッセージの数を単位時間毎に計数し、ブロードキャスト・メッセージの数の変化量が所定の閾値を超えた場合に、リソース管理装置２００にブロードキャスト転送量変化通知を送信する。例えば単位時間をスロットと呼ぶことにする。
【００６１】
さらに、変換テーブル格納領域１０８は、図２１に示すようなデータも保持する。図２１の例では、スロット番号と、単位時間（１スロット）あたりのブロードキャスト転送量（より具体的にはブロードキャスト・メッセージの数）とが登録されるようになっている。例えば、第１のスロットで「２」であったブロードキャスト転送量が、第２のスロットで「５」に増加したケースが、図２１に示されている。例えば閾値が「３」であれば、ブロードキャスト転送量変化通知を送信することになる。
【００６２】
さらに、メッセージ制御部１０２は、リソース管理装置２００からの制御メッセージをメッセージ種別テーブル格納領域１０３で識別して、制御メッセージに応じて必要となる処理を実施させる。例えば、転送テーブルの設定又は更新を指示する制御メッセージを受信した場合には、転送テーブル管理部１０６に、転送テーブルの設定又は更新を指示する。
【００６３】
同様に、自ＳＷデータの設定を指示する制御メッセージを受信した場合には、メッセージ制御部１０２は、自ＳＷデータ管理部１０４に、自ＳＷデータの設定を指示する。さらに、変換テーブルの設定又は更新を指示する制御メッセージを受信した場合には、メッセージ制御部１０２は、メッセージ変換部１０５に、変換テーブルの設定又は更新を指示する。
【００６４】
次に、本システムの事前設定について説明しておく。クラウド等の仮想化されたシステムでは、物理的なシステム構築と仮想システムの構築の２フェーズに分かれる。
［物理的なシステム構築］
従来からのシステム構築と同様の手法で行う。このフェーズで物理サーバなどの物理装置の配置、物理的な結線、物理サーバのＩＰアドレスの設定、必要あれば物理スイッチ（例えばＬ２及びＬ３）の各種設定を行う。なお、図１１には、物理Ｌ３スイッチが含まれていないが、一般的には図１１のような物理的なシステムに限定されるものではなく、物理Ｌ３スイッチを用いたシステムであっても良い。
【００６５】
［論理的なシステム構築］
論理的なシステムは、顧客（すなわちテナント）が利用するシステムであり、顧客による何らかのアクション（例えば利用申し込み等）をトリガにして、以下の手順で構築を行う。
（１）顧客のアクションをリソース管理装置２００が受け付ける。ここでは図１１における「テナントＡ」のシステム、具体的には、仮想マシン３台を同一サブネットに配備した構成）を構築するものとする。
（２）リソース管理装置２００の論理リソース配備処理部２１２は、リソースプールから仮想マシン３台分のリソースを確保する。以下サーバ毎に設定する。
（ア）顧客からＮＩＣ（Network Interface Card）数の指定を受け付け、ＮＩＣ毎にＭＡＣアドレスを割り振る。ＭＡＣアドレスについては、システム上重複しないよう割り振る。
（イ）顧客からＮＩＣ毎にＩＰアドレス、ネットワークアドレス及びサブネットマスクの指定を受け付ける。指定された内容の仮想マシンへの設定は、仮想サーバ起動時にＤＨＣＰ（Dynamic Host Configuration Protocol）サーバ経由で行う。ＤＨＣＰサーバの機能についてはよく知られているのでこれ以上の説明は省略する。
（ウ）リソース管理装置２００の論理リソース配備処理部２１２は、仮想マシンの配備先物理サーバを所定のアルゴリズムに従い決定する。例えば、ランダムに割り振る、リソースの空きが少ないサーバに割り振ってなるべく集約する、といったアルゴリズに従う。配備先決定処理については、既によく知られた技術であるのでここでは説明を省略する。
【００６６】
（３）リソース管理装置２００は、仮想マシンの配備先の論理リソース状況から必要な仮想Ｌ２ＳＷを決定する。ここでは物理サーバＡに仮想マシンを１台、物理サーバＢに仮想マシンを２台配備したものとし、論理リソース配備処理部２１２は、それぞれの物理サーバに仮想Ｌ２ＳＷを配備する。この際、仮想Ｌ２ＳＷに仮想ＭＡＣアドレスを割り付ける。本実施の形態で必要な処理については、以下で述べる。
【００６７】
（４）仮想Ｌ２ＳＷの配備等に応じて、各サブネットについて設定すべきモードを決定し、各サブネットに属する仮想Ｌ２ＳＷについてもモード設定を行う。この際本実施の形態において必要な処理については、以下で述べる。
（５）割り振ったＭＡＣアドレス及び顧客から指定されたＩＰアドレス等を基に、転送テーブル処理部２０３は、転送テーブル（図１９）を生成して転送テーブル管理部２０７に転送テーブル格納部２１１へ格納させる。さらに、転送テーブル処理部２０３は、メッセージ制御部２０２に、各仮想Ｌ２ＳＷへ該当する転送テーブルの部分を制御メッセージとして送信させる。制御メッセージを受信すると、仮想Ｌ２ＳＷのメッセージ制御部１０２は、メッセージ種別テーブル格納領域１０３に格納されているデータから制御メッセージであると認識し、制御メッセージに従って、転送テーブル管理部１０６に、転送テーブルの設定又は更新を指示する。
【００６８】
さらに、論理リソース管理部２０５は、上で述べた設定に基づき、論理リソースデータ格納部２０９へ論理リソースデータ（図１４、図１６、図１７）を格納する。なお、図１５に示したような単位時間あたりのブロードキャスト転送量については、予め定められた初期値が設定される。さらに、論理リソース管理部２０５は、メッセージ制御部２０２に、各仮想Ｌ２ＳＷへ、変換テーブル（同一サブネットの他の仮想Ｌ２ＳＷの仮想ＭＡＣアドレス）及び自ＳＷデータ（自仮想Ｌ２ＳＷの仮想ＭＡＣアドレス）を登録させるための制御メッセージを送信させる。
【００６９】
また、テナント管理部２０６は、上で述べた設定に基づきテナントデータをテナントデータ格納部２１０に格納する。さらに、テナント管理部２０６は、以下で詳細に述べるモード設定の結果に従って、図１９に示すようなモード設定データをテナントデータ格納部２１０に格納する。さらに、テナント管理部２０６は、メッセージ制御部２０２に、各仮想Ｌ２ＳＷへ、モード設定を指示する制御メッセージを送信させる。
【００７０】
このようにして設定が行われると、図１１に示すようなシステムとして動作することになる。そして、仮想Ｌ２ＳＷは、図２２Ａ乃至図２５に示すような処理を実施する。
【００７１】
仮想Ｌ２ＳＷの通信ＩＦ１０１は、メッセージ（すなわち、ＭＡＣフレーム）を受信すると（ステップＳ２１）、メッセージ制御部１０２に出力する。メッセージ制御部１０２は、メッセージ種別テーブル格納領域１０３に格納されているデータに基づき、メッセージ種別を識別する（ステップＳ２３）。本実施の形態では、ブロードキャスト・メッセージ（ブロードキャスト・フレームとも呼ぶ）であるのか、ブロードキャスト・メッセージのうちＡＲＰ（Address Resolution Protocol）要求であるのかを識別する。
【００７２】
メッセージ制御部１０２は、ブロードキャスト・メッセージであると判断すると（ステップＳ２５：Ｙｅｓルート）、ＡＲＰ要求を受信したか判断する（ステップＳ２７）。ＡＲＰ要求を受信した場合には（ステップＳ２７：Ｙｅｓルート）、メッセージ制御部１０２は、転送テーブル管理部１０６に、ＡＲＰ要求に含まれるＩＰアドレスで転送テーブルを検索させ、対応するＭＡＣアドレスを読み出させて、メッセージ制御部１０２に出力させる。そして、メッセージ制御部１０２は、ＭＡＣアドレスとＩＰアドレスの組をメッセージ変換部１０５に出力し、ＡＲＰ応答を生成させる。メッセージ制御部１０２は、メッセージ変換部１０５から得たＡＲＰ応答を通信ＩＦ１０１を介して、要求元の仮想マシンに返信する（ステップＳ２９）。そして処理を終了する。
【００７３】
図２３に模式的に示すように、仮想Ｌ２ＳＷ＿１は、例えば仮想マシンＶＭ１からＡＲＰ要求を受信すると、同一サブネットの仮想マシンに対してＡＲＰ要求を送出することなく、転送テーブルから該当するＭＡＣアドレスを取得して、代理でＡＲＰ応答を仮想マシンＶＭ１に返信してしまう。これによって、ＡＲＰ要求が、他のサブネットに漏洩することはない。さらに、同一サブネットの仮想マシンなどの負荷を減らすことができる。
【００７４】
一方、ＡＲＰ要求ではない場合には（ステップＳ２７：Ｎｏルート）、メッセージ制御部１０２は、送信元ＭＡＣアドレスを転送テーブル管理部１０６に出力して、自ＳＷ配下の仮想マシンＶＭからのメッセージであるか確認させる（ステップＳ３１）。転送テーブル管理部１０６からの応答から自ＳＷ配下の仮想マシンＶＭ１からのメッセージであることが分かれば、メッセージ制御部１０２は、メッセージ変換部１０５に、ＶＬＡＮ−ＩＤが割り付けられているか否か、すなわちＶＬＡＮモードが設定されているのかについて確認させる（ステップＳ３３）。変換テーブル格納領域１０８に保持されているモード設定データに基づき、ＶＬＡＮモードか否かは判断できる。ＶＬＡＮモードが設定されていれば、メッセージ制御部１０２は、受信メッセージをメッセージ変換部１０５に出力する。メッセージ変換部１０５は、受信メッセージに、自仮想Ｌ２ＳＷが所属するサブネットのＶＬＡＮ−ＩＤを、メッセージ（すなわち、ＭＡＣフレーム）に付加して（ステップＳ３５）、メッセージ制御部１０２に出力する。そして、メッセージ制御部１０２は、通信ＩＦ１０１に、ＶＬＡＮ−ＩＤが付加されたメッセージを、上位スイッチに出力させる（ステップＳ３７）。図１１で模式的に示したように、通常のＶＬＡＮと同様に動作する。そして、処理を終了する。
【００７５】
一方、ＶＬＡＮ−ＩＤの割付が無く、アドレス変換モードが設定されている場合には、メッセージ制御部１０２は、受信メッセージをメッセージ変換部１０５に出力し、メッセージ変換部１０５は、受信メッセージの宛先アドレスを、変換テーブルに含まれる、同一サブネットに属する他の仮想Ｌ２ＳＷの仮想ＭＡＣアドレスに置換して（ステップＳ３９）、宛先アドレスが置換された受信メッセージを、メッセージ制御部１０２に出力する。そして、処理はステップＳ３７に移行する。このようにすれば、図２で示したように、ＶＬＡＮを使用せずとも他のサブネットにブロードキャスト・メッセージが送出される事態を回避できる。
【００７６】
さらに、自ＳＷ配下の仮想マシンからのメッセージではない場合（ステップＳ３１：Ｎｏルート）、すなわち、上位スイッチからのメッセージである場合には、メッセージ制御部１０２は、ＶＬＡＮ−ＩＤが受信メッセージにＶＬＡＮタグとして付加されているか判断する（ステップＳ４１）。ＶＬＡＮ−ＩＤが受信メッセージに付加されている場合には、メッセージ制御部１０２は、受信メッセージをメッセージ変換部１０５に出力し、メッセージ変換部１０５は、受信メッセージからＶＬＡＮ−ＩＤを削除し（ステップＳ４３）、メッセージ制御部１０２に出力する。メッセージ制御部１０２は、通信ＩＦ１０１に、自ＳＷ配下の仮想マシンに対して、ブロードキャスト・メッセージを出力させる（ステップＳ４９）。このように、ＶＬＡＮ−ＩＤがＶＬＡＮタグとして付加されたブロードキャスト・メッセージを受信した場合も、通常のＶＬＡＮと同様に動作する。
【００７７】
一方、何らかの理由で、ＶＬＡＮ−ＩＤを含まないブロードキャスト・メッセージを受信した場合には、メッセージ制御部１０２は、ステップＳ４９に移行して、通信ＩＦ１０１に、そのまま自ＳＷ配下の仮想マシンに対して、受信メッセージを出力させる（ステップＳ４９）。
【００７８】
一方、受信メッセージがメッセージ種別テーブルからすると通常のメッセージである場合には（ステップＳ２５：Ｎｏルート）、メッセージ制御部１０２は、自ＳＷデータ管理部１０４に自スイッチの仮想ＭＡＣアドレスを要求して、受信メッセージの宛先アドレスが、自スイッチの仮想ＭＡＣアドレスと同一であるか判断する（ステップＳ４５）。受信メッセージの宛先アドレスが、自スイッチの仮想ＭＡＣアドレスと同一である場合には、メッセージ制御部１０２は、メッセージ変換部１０５に受信メッセージを出力し、メッセージ変換部１０５は、宛先アドレスを、予め定められたブロードキャスト・アドレスに置換し（ステップＳ４７）、メッセージ制御部１０２に返す。そして、ステップＳ４９に移行して、自ＳＷ配下の仮想マシンに対して、宛先アドレス置換後の受信メッセージを出力する。このようにすれば、図２で示したように、ＶＬＡＮを使用せずともブロードキャスト・メッセージを、適切な範囲内の仮想マシンに配布することができるようになる。
【００７９】
これに対して、受信メッセージの宛先アドレスが自ＳＷの仮想Ｌ２ＳＷの仮想ＭＡＣアドレスではない場合には（ステップＳ４５：Ｎｏルート）、通常のユニキャスト・メッセージであるから、メッセージ制御部１０２は、転送テーブル管理部１０６に、受信メッセージのＭＡＣアドレスから出力先を特定させ、当該出力先に従って、受信メッセージを出力する（ステップＳ５１）。すなわち、通常のＬ２ＳＷとして受信メッセージを処理する。例えば、図２４に示すように、物理サーバＡ上の仮想マシンＶＭ１が、物理サーバＢ上の仮想マシンＶＭ３宛にメッセージを送信する場合には、仮想Ｌ２ＳＷ＿１は、転送テーブルから宛先アドレスに対応する出力先を抽出して上位スイッチ（ここでは物理Ｌ２ＳＷ）に受信メッセージを出力する。物理Ｌ２ＳＷでは、同様にして宛先ＭＡＣアドレスから出力先ポートを選択して、物理サーバＢの仮想Ｌ２ＳＷ＿３に受信メッセージを出力する。仮想Ｌ２ＳＷ＿３は、受信メッセージの宛先アドレスで転送テーブルを検索して自ＳＷ配下の仮想マシンＶＭ３に受信メッセージを出力する。このようにすれば、通常のユニキャスト通信が行われる。なお、仮想Ｌ２ＳＷ＿１で、出力先が配下の仮想マシンであると判断されると、処理は簡単で、そのまま他のＬ２ＳＷに出力することなく、自ら宛先ＭＡＣアドレスの仮想マシンに受信メッセージを出力する。
【００８０】
以上のような処理を仮想Ｌ２ＳＷで実施することにより、本実施の形態で想定されるメッセージに対処することができる。なお、制御メッセージについては、上で述べたように、制御メッセージで指定されたデータで該当するデータ格納領域を更新する。設定すべきモードを表すデータも制御メッセージに含まれ、変換テーブル格納領域１０８を更新する。
【００８１】
なお、仮想Ｌ２ＳＷの例えばメッセージ変換部１０５は、図２５に示すような処理をバックグラウンドで実施して設定モードの変更のトリガを、リソース管理装置２００に通知する。
【００８２】
まず、例えばメッセージ変換部１０５は、時間測定を開始する（ステップＳ６１）。そして、メッセージ制御部１０２がブロードキャスト・メッセージ（自仮想ＭＡＣアドレスが宛先アドレスに設定されているメッセージを含む）をメッセージ変換部１０５に出力すると、メッセージ変換部１０５は、ブロードキャスト・メッセージの数を計数する（ステップＳ６３）。この処理を、予め定められた単位時間経過するまで繰り返す（ステップＳ６５）。
【００８３】
そして単位時間経過すると、メッセージ変換部１０５は、今回の単位時間のブロードキャスト・メッセージ数をブロードキャスト転送量として、変換テーブル格納領域１０８（例えば図２１のデータ構造）に格納する（ステップＳ６７）。その後、メッセージ変換部１０５は、今回のブロードキャスト転送量と１回前の単位時間のブロードキャスト転送量との差が閾値以上であるか判断する（ステップＳ６９）。差が閾値未満であれば、ステップＳ７３に移行する。一方、差が閾値以上である場合には、メッセージ変換部１０５は、今回のブロードキャスト転送量を含むブロードキャスト転送量変化通知を生成し、メッセージ制御部１０２に出力し、メッセージ制御部１０２は、ブロードキャスト転送量変化通知を、通信ＩＦ１０１に、リソース管理装置２００へ送信させる（ステップＳ７１）。
【００８４】
このような処理を、仮想Ｌ２ＳＷの動作が停止されるなど処理終了になるまで、繰り返す（ステップＳ７３）。すなわち、処理終了でなければ、ステップＳ７３からステップＳ６１に戻る。
【００８５】
この処理フローでは、ステップＳ７１の後にステップＳ６１に戻るようなフローを示しているが、実体的にはステップＳ６７乃至Ｓ７１とは別にステップＳ６１に戻って次の単位時間についてブロードキャスト・メッセージの数を計数する。
【００８６】
このようにすれば、設定モードの変更のトリガを、リソース管理装置２００に通知できるようになる。
【００８７】
次に、図２６乃至図３０を用いて、リソース管理装置２００の処理内容について説明する。リソース管理装置２００のメッセージ制御部２０２は、通信ＩＦ２０１が受信したメッセージのメッセージ種別を識別する（ステップＳ８１）。そして、メッセージ制御部２０２は、受信メッセージが、例えば顧客端末や他のプログラムからの要求に応じて処理を行った例えば論理リソース配備処理部２１２が出力したＶＭ配備要求であるか判断する（ステップＳ８３）。ＶＭ配備要求である場合には、ＶＭ配備時の処理を実施する（ステップＳ８５）。このＶＭ配備時の処理については、図２７を用いて説明する。
【００８８】
一方、ＶＭ配備要求ではない場合には、メッセージ制御部２０２は、受信メッセージが、例えば顧客端末や他のプログラム（論理リソース配備処理部２１２の場合もある）からのＶＭ削除要求であるか判断する（ステップＳ８７）。ＶＭ削除要求である場合には、ＶＭ削除要求時の処理を実施する（ステップＳ８８）。このＶＭ削除要求時の処理については、図２９を用いて説明する。
【００８９】
さらに、ＶＭ削除要求ではない場合には、メッセージ制御部２０２は、ブロードキャスト転送量変化通知であるか判断する（ステップＳ８９）。ブロードキャスト転送量変化通知である場合には、ブロードキャスト転送量変化時の処理を実施する（ステップＳ９１）。このブロードキャスト転送量変化時の処理については、図３０を用いて説明する。
【００９０】
一方、ブロードキャスト転送量変化通知でない場合には、既存処理を実施し（ステップＳ９３）、処理を終了する。
【００９１】
このように特定のメッセージ毎に、モード変更の要件を満たしているか確認の上、必要があればモード変更を実施するものである。
【００９２】
次に、ＶＭ配備時の処理について図２７を用いて説明する。メッセージ制御部２０２は、論理リソース管理部２０５に、今回のＶＭ配備要求で配備されることになる仮想マシンを含む新規のサブネットを生成することになるかを問い合わせる（ステップＳ１０１）。例えば、ＶＭ配備要求には、所属テナントＩＤ、サブネットＩＤ、配備先物理サーバ名及びＩＰアドレス及びＭＡＣアドレスなどのデータが含まれる。そして、ＶＭ配備要求が、例えば論理リソースデータ格納部２０９に格納されているデータ（図１４乃至図１７）に含まれないテナントについての仮想マシンの配備を要求するものである場合、新規のサブネットを生成することになる。テナントが複数サブネットを使用することもあるが、その場合にはテナント管理部２０６に問い合わせる。以下、確認が必要な場合は同じである。
【００９３】
新規のサブネットを生成するものではない場合には（ステップＳ１０１：Ｎｏルート）、メッセージ制御部２０２は、論理リソース管理部２０５に、今回のＶＭ配備要求で配備されることになる仮想マシンの配備先物理サーバに同一サブネットの仮想マシンが存在しているかを問い合わせる（ステップＳ１０７）。例えば、ＶＭ配備要求に含まれる配備先物理サーバに、同じくＶＭ配備要求に含まれるテナント名と同一のテナントに所属する仮想マシンが配備されているか判断する。
【００９４】
ステップＳ１０１で新規のサブネットを生成すると判断された場合又はステップＳ１０７で配備先物理サーバに同一サブネットの仮想マシンが存在していないと判断された場合、メッセージ制御部２０２は、論理リソース配備処理部２１２に、今回配備する仮想マシンの配備先物理サーバ上に仮想Ｌ２ＳＷを配備するように要求し、論理リソース配備処理部２１２は、周知の方法で配備先物理サーバ上に仮想Ｌ２ＳＷを配備する（ステップＳ１０３）。そして、メッセージ制御部２０２は、論理リソース管理部２０５に、ＶＭ配備要求に係るサブネットの仮想Ｌ２ＳＷの数を論理リソースデータ格納部２０９において更新させる（ステップＳ１０４）。例えば図１７のテーブルにおいて、既にサブネットＩＤが登録されていれば、仮想Ｌ２ＳＷの数を増加させ、サブネットＩＤが登録されていなければ、該当サブネットのＩＤと今回追加される仮想Ｌ２ＳＷの数とが登録されるようになる。
【００９５】
さらに、メッセージ制御部２０２は、論理リソース管理部２０５に、ＶＬＡＮ−ＩＤ割付決定処理を実施する（ステップＳ１０５）。このＶＬＡＮ−ＩＤ割付決定処理については、図２８を用いて説明する。
【００９６】
まず、論理リソース管理部２０５は、論理リソースデータ格納部２０９に格納されているデータ（例えば図１７）に基づき、仮想Ｌ２ＳＷの数が３以上のサブネットを特定する（ステップＳ１２１）。本実施の形態では、仮想Ｌ２ＳＷの数が「１」及び「２」の場合には、アドレス変換モードを設定するため、ステップＳ１２１が実施される。但し、仮想Ｌ２ＳＷの数が２以上のサブネットを特定するようにしても良い。
【００９７】
そして、論理リソース管理部２０５は、該当するサブネットが存在するかを判断する（ステップＳ１２３）。該当サブネットが存在しない場合は、ＶＬＡＮ−ＩＤはいずれのサブネットにも割り付けられず、全てのサブネットがアドレス変換モードに設定されることになる。但し、本処理フローでは特に処理を行わずに元の処理に戻る。
【００９８】
一方、該当サブネットが存在する場合には、論理リソース管理部２０５は、論理リソースデータ格納部２０９に格納されているサブネット毎の仮想Ｌ２ＳＷの数（図１７）及び単位時間あたりのブロードキャスト転送量（図１５）を読み出し、サブネット毎に、ブロードキャスト転送量＊（サブネットに含まれる仮想Ｌ２ＳＷの数−１）によってメッセージのコピー回数を算出し、例えばメインメモリ等の記憶装置に格納する（ステップＳ１２５）。
【００９９】
そして、論理リソース管理部２０５は、サブネットを、コピー回数で降順にソートする（ステップＳ１２７）。そして、論理リソース管理部２０５は、上位所定位（具体的には４０９４）より下位のサブネットのうちＶＬＡＮ−ＩＤが既に割り当てられているサブネットのＶＬＡＮ−ＩＤの割り付けを解除する（ステップＳ１２９）。初めてのＶＬＡＮ−ＩＤの割り付けの場合には、本ステップはスキップする。
【０１００】
さらに、論理リソース管理部２０５は、上位所定位までのサブネットのうちＶＬＡＮ−ＩＤが割り付けられていないサブネットに、未使用のＶＬＡＮ−ＩＤを割り付け、割り付け結果をメッセージ制御部２０２に出力する（ステップＳ１３１）。そして元の処理に戻る。
【０１０１】
このような処理を実施することによって、多くの仮想Ｌ２ＳＷが含まれるサブネットやブロードキャストを頻繁に行うサブネットについては、ＶＬＡＮ−ＩＤを割り付けて、アドレス変換モードで行われることになるコピー処理の負荷を下げることができるようになる。
【０１０２】
図２７の処理フローの説明に戻って、メッセージ制御部２０２は、論理リソース管理部２０５、テナント管理部２０６及び転送テーブル処理部２０３に、リソース管理装置２００において関係するテーブルなどを更新させる（ステップＳ１０９）。論理リソース管理部２０５は、図１４、図１６及び図１７に示すようなデータを、配備した仮想マシン及び仮想Ｌ２ＳＷに応じて更新する。また、テナント管理部２０６は、図１８及び図１９に示すようなデータを、配備した仮想マシン及び仮想Ｌ２ＳＷに応じて更新し、ステップＳ１０５を実施した場合にはメッセージ制御部２０２からのＶＬＡＮ−ＩＤの割り付け状態に応じて更新する。さらに、転送テーブル処理部２０３は、図２０に示すような転送テーブルを、配備した仮想マシン及び仮想Ｌ２ＳＷに応じて更新するデータを生成し、転送テーブル管理部２０７に出力する。転送テーブル管理部２０７は、受け取ったデータに従って転送テーブル格納部２１１に格納されているデータを更新する。
【０１０３】
さらに、転送テーブル処理部２０３は、配備した仮想マシン及び仮想Ｌ２ＳＷに応じて更新された転送テーブルの影響部分のデータを、仮想Ｌ２ＳＷ毎にメッセージ制御部２０２に出力する。メッセージ制御部２０２は、影響のある各仮想Ｌ２ＳＷ毎に、転送テーブル処理部２０３から受け取った影響部分のデータ及びＶＬＡＮモードの場合には論理リソース管理部２０５から受け取ったＶＬＡＮ−ＩＤ又はアドレス変換モードの場合にはアドレス変換モードを表すデータをテーブル更新データとして含む制御メッセージを生成して、通信ＩＦ２０１に送信させる（ステップＳ１１１）。これによって、影響のある各仮想Ｌ２ＳＷは、変換テーブル格納領域１０８及び転送テーブル格納領域１０９を更新する。
【０１０４】
そして、メッセージ制御部２０２は、論理リソース配備処理部２１２に、周知の方法で配備先物理サーバ上に仮想マシンを配備させる（ステップＳ１１３）。そして元の処理に戻る。
【０１０５】
なお、ステップＳ１０７で配備先物理サーバに同一のサブネットの仮想マシンが存在していると判断されると、特に仮想Ｌ２ＳＷを追加で配備しないで済むので、ステップＳ１０９に遷移する。
【０１０６】
このようにすれば、仮想マシンの配備に応じてサブネットの状況が変化する場合があるので、それに応じてＶＬＡＮモードとアドレス変換モードとのいずれが好ましいのかが各サブネットについて適切に判断されるようになる。
【０１０７】
次に、図２９を用いてＶＭ削除要求受信時の処理について説明する。まず、メッセージ制御部２０２は、ＶＭ削除要求で指定された仮想マシンを削除すると全く接続が無くなる仮想Ｌ２ＳＷが存在するかを、論理リソース管理部２０５に問い合わせる（ステップＳ１４１）。例えば図１６のデータにおいて、接続先に仮想マシンが全くない仮想Ｌ２ＳＷが存在するかを確認する。このような仮想Ｌ２ＳＷについては削除する。
【０１０８】
接続先に仮想マシンが全くない仮想Ｌ２ＳＷが存在する場合には、メッセージ制御部２０２は、論理リソース管理部２０５に、論理リソースデータ格納部２０９において、該当するサブネットの仮想Ｌ２ＳＷの数を更新させる（ステップＳ１４３）。削除する仮想Ｌ２ＳＷの数だけ、論理リソースデータ格納部２０９における該当するサブネットの仮想Ｌ２ＳＷの数を減少させる。
【０１０９】
そして、メッセージ制御部２０２は、論理リソース管理部２０５に、ＶＬＡＮ−ＩＤ割付決定処理を実施させる（ステップＳ１４５）。この処理は、図２８に示した処理と同じである。
【０１１０】
その後、メッセージ制御部２０２は、論理リソース管理部２０５、テナント管理部２０６及び転送テーブル処理部２０３に、リソース管理装置２００において関係するテーブルなどを更新させる（ステップＳ１４７）。論理リソース管理部２０５は、図１４、図１６及び図１７に示すようなデータを、削除する仮想マシン及び仮想Ｌ２ＳＷに応じて更新する。また、テナント管理部２０６は、図１８及び図１９に示すようなデータを、削除する仮想マシン及び仮想Ｌ２ＳＷに応じて更新し、ステップＳ１４５を実施した場合にはメッセージ制御部２０２からのＶＬＡＮ−ＩＤの割り付け状態に応じて更新する。さらに、転送テーブル処理部２０３は、図２０に示すような転送テーブルを、削除する仮想マシン及び仮想Ｌ２ＳＷに応じて更新するデータを生成し、転送テーブル管理部２０７に出力する。転送テーブル管理部２０７は、受け取ったデータに従って転送テーブル格納部２１１に格納されているデータを更新する。
【０１１１】
さらに、転送テーブル処理部２０３は、削除する仮想マシン及び仮想Ｌ２ＳＷに応じて更新された転送テーブルの影響部分のデータを、仮想Ｌ２ＳＷ毎にメッセージ制御部２０２に出力する。メッセージ制御部２０２は、影響のある各仮想Ｌ２ＳＷ毎に、転送テーブル処理部２０３から受け取った影響部分のデータ及びＶＬＡＮモードの場合には論理リソース管理部２０５から受け取ったＶＬＡＮ−ＩＤ又はアドレス変換モードの場合にはアドレス変換モードであることを表すデータをテーブル更新データとして含む制御メッセージを生成して、通信ＩＦ２０１に送信させる（ステップＳ１４９）。これによって、影響のある各仮想Ｌ２ＳＷは、変換テーブル格納領域１０８及び転送テーブル格納領域１０９を更新する。
【０１１２】
そして、メッセージ制御部２０２は、論理リソース配備処理部２１２に、周知の方法で、ＶＭ削除要求で指定された仮想マシン及び仮想マシンが接続されていない仮想Ｌ２ＳＷが存在する場合には当該仮想Ｌ２ＳＷを削除させる（ステップＳ１５１）。なお、そして元の処理に戻る。
【０１１３】
なお、ステップＳ１４１で仮想Ｌ２ＳＷは削除しないと判断されると、ＶＬＡＮ−ＩＤの割り付けを変更しないで済むので、ステップＳ１４７に遷移する。
【０１１４】
このようにすれば、仮想マシンの削除に応じてサブネットの状況が変化する場合があるので、それに応じてＶＬＡＮモードとアドレス変換モードとのいずれが好ましいのかが各サブネットについて適切に判断されるようになる。
【０１１５】
次に、図３０を用いて、ブロードキャスト転送量変化通知受信時の処理について説明する。まず、メッセージ制御部２０２は、ブロードキャスト転送量変化通知の送信元仮想Ｌ２ＳＷのサブネットについて、単位時間あたりのブロードキャスト転送量を通知に従って更新するように、論理リソース管理部２０５に指示する（ステップＳ１６１）。なお、同一のサブネットに属する仮想Ｌ２ＳＷは同じようにブロードキャスト転送量変更通知を送信してくるので、最初の通知にのみ本ステップ以降の処理を実施する。
【０１１６】
そして、メッセージ制御部２０２は、論理リソース管理部２０５に、ＶＬＡＮ−ＩＤ割付決定処理を実施させる（ステップＳ１６３）。図２８の処理を実施する。
【０１１７】
その後、メッセージ制御部２０２は、テナント管理部２０６に、テナントデータ格納部２１０のデータを更新させる（ステップＳ１６５）。テナント管理部２０６は、図１９に示すようなデータを、メッセージ制御部２０２からのＶＬＡＮ−ＩＤの割り付け状態に応じて更新する。
【０１１８】
さらに、メッセージ制御部２０２は、影響のある各仮想Ｌ２ＳＷに、ＶＬＡＮモードの場合には論理リソース管理部２０５から受け取ったＶＬＡＮ−ＩＤ又はアドレス変換モードの場合にはアドレス変換モードを表すデータをテーブル更新データとして含む制御メッセージを生成して、通信ＩＦ２０１に送信させる（ステップＳ１６７）。これによって、影響のある各仮想Ｌ２ＳＷは、変換テーブル格納領域１０８を更新する。このような処理を行って元の処理に戻る。
【０１１９】
このようにすれば、ブロードキャスト・メッセージの送信回数が急激に増加した場合や減少した場合に、より処理負荷を下げることができる適切なサブネットにＶＬＡＮ−ＩＤを割り付けるようにするので、システム全体の処理負荷を下げることができる。
【０１２０】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図については必ずしも実際のプログラムモジュール構成と一致するものではない。さらに、処理フローについても、処理結果が変化しなければ実行順序を入れ替えたり、並列実行するようにしても良い。
【０１２１】
なお、上で述べたリソース管理装置２００及び物理サーバは、コンピュータ装置であって、図３５に示すように、メモリ２５０１とプロセッサ（ＣＰＵ２５０３）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１２２】
仮想マシンや仮想Ｌ２ＳＷについては、物理サーバのＨＤＤ２５０５又はメモリ２５０１に格納されているデータを基に起動されるか、リソース管理装置２００から送信されてくるデータを基に起動される。仮想マシン及び仮想Ｌ２ＳＷは、それらのためのプログラムとプロセッサ２５０３等のハードウエアとにより実現される仮想的な装置である。
【０１２３】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１２４】
第１の態様に係る、コンピュータ上の仮想スイッチのためのプログラム（図３１）は、受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレス（例えば所定のデータ格納領域に格納されている）であるか判断するステップ（図３１：ステップＳ３００１）と、受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであると判断された場合、受信したメッセージの宛先アドレスを、自仮想スイッチの配下にあり且つ同一サブネットに属する全ての仮想マシン宛のブロードキャスト・アドレスに変換して、変換後のメッセージを出力するステップ（図３１：ステップＳ３００３）とをコンピュータに実行させる。
【０１２５】
このような仮想スイッチのためのプログラムを導入することによって、ＶＬＡＮを使用せずとも、ブロードキャスト・メッセージが他のサブネットに出力されてしまうような事態を防止できるようになる。
【０１２６】
また、第１の態様に係るプログラムは、仮想マシンからブロードキャスト・メッセージを受信するステップと、自仮想スイッチが現在ＶＬＡＮモードであるかアドレス変換モードであるか判断するステップと、アドレス変換モードであると判断された場合、ブロードキャスト・メッセージの宛先アドレスを、同一サブネットに属する他の仮想スイッチの、予め定められたアドレスに変換して、当該同一サブネットに属する他の仮想スイッチのアドレス宛に、アドレス変換後のブロードキャスト・メッセージを出力するステップと、ＶＬＡＮモードである場合には、仮想マシンが所属するサブネットのＶＬＡＮのＩＤをブロードキャスト・メッセージに付加し、ＶＬＡＮのＩＤが付加されたブロードキャスト・メッセージを、上位通信装置又は上位仮想スイッチに出力するステップとをさらにコンピュータに実行させるようにしてもよい。
【０１２７】
このように、アドレス変換モードとＶＬＡＮモードとをその設定によって切り替えるようにしても良い。
【０１２８】
第２の実施の形態に係るモード設定方法（図３２）は、（Ａ）予め定められた条件を満たすサブネット毎に、データ格納部に格納されている、単位時間内のブロードキャスト・メッセージの数と同一サブネットに属する仮想スイッチの数とからコピー回数評価値を算出する算出ステップ（図３２：ステップＳ３１０１）と、（Ｂ）サブネットをコピー回数評価値で降順にソートし、上位所定数のサブネットにＶＬＡＮのＩＤを付与し、上位所定数のサブネットに属する仮想スイッチにＶＬＡＮモードを設定するＶＬＡＮモード設定ステップ（図３２：ステップＳ３１０３）と、（Ｃ）上位所定数のサブネット以外のサブネットに属する仮想スイッチに、ブロードキャスト・メッセージを同一サブネットに属する仮想スイッチ宛のユニキャスト・メッセージに変換すると共に当該仮想スイッチ宛のユニキャスト・メッセージを配下の仮想マシン宛のブロードキャスト・メッセージに変換するアドレス変換モードを設定するアドレス変換モード設定ステップ（図３２：ステップＳ３１０５）とを含む。
【０１２９】
このような処理を実施することによって、ＶＬＡＮ−ＩＤの個数を超えたサブネットが存在する場合においても、システム全体で処理負荷を減らしつつ適切な形でブロードキャスト・メッセージの取り扱いを設定できる。
【０１３０】
なお、上で述べた算出ステップとＶＬＡＮモード設定ステップとアドレス変換モード設定ステップとを、単位時間内のブロードキャスト・メッセージの数が所定レベル以上変化した場合又は同一サブネットに属する仮想スイッチの数が変化する際に実施するようにしてもよい。このようにすれば、サブネットの状況変化に応じた、ＶＬＡＮ−ＩＤ割付の最適化が可能となる。
【０１３１】
第３の実施の形態に係るコンピュータ（図３３）は、仮想マシン（図３３：３００１）と、仮想スイッチ（図３３：３００３）とを実行する。そして、上で述べた仮想スイッチが、受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであるか判断し、受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであると判断された場合、受信したメッセージの宛先アドレスを、自仮想スイッチの配下にあり且つ同一サブネットに属する全ての仮想マシン（図３３：３００１）宛のブロードキャスト・アドレスに変換して、変換後のメッセージを出力する。
【０１３２】
さらに、第４の実施の形態に係るコンピュータ（図３４）は、（Ａ）予め定められた条件を満たすサブネット毎に、データ格納部（図３４：３１０１）に格納されている、単位時間内のブロードキャスト・メッセージの数と同一サブネットに属する仮想スイッチの数とからコピー回数評価値を算出し、サブネットをコピー回数評価値で降順にソートし、上位所定数のサブネットにＶＬＡＮのＩＤを付与する論理リソース管理部（図３４：３１０３）と、（Ｂ）上位所定数のサブネットに属する仮想スイッチにＶＬＡＮモードの設定を含むデータ更新を指示し、上位所定数のサブネット以外のサブネットに属する仮想スイッチに、ブロードキャスト・メッセージを同一サブネットに属する仮想スイッチ宛のユニキャスト・メッセージに変換すると共に当該仮想スイッチ宛のユニキャスト・メッセージを配下の仮想マシン宛のブロードキャスト・メッセージに変換するアドレス変換モードの設定を含むデータ更新を指示する転送データ処理部（図３４：３１０５）とを有する。
【０１３３】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【０１３４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１３５】
（付記１）
コンピュータ上の仮想スイッチのためのプログラムであって、
前記コンピュータに、
受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであるか判断するステップと、
受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであると判断された場合、受信したメッセージの宛先アドレスを、自仮想スイッチの配下にあり且つ同一サブネットに属する仮想マシン宛のブロードキャスト・アドレスに変換して、変換後のメッセージを出力するステップと、
を実行させるためのプログラム。
【０１３６】
（付記２）
前記仮想マシンからブロードキャスト・メッセージを受信するステップと、
前記自仮想スイッチが現在ＶＬＡＮモードであるかアドレス変換モードであるか判断するステップと、
前記アドレス変換モードであると判断された場合、前記ブロードキャスト・メッセージの宛先アドレスを、同一サブネットに属する他の仮想スイッチの、予め定められたアドレスに変換して、当該同一サブネットに属する他の仮想スイッチのアドレス宛に、アドレス変換後の前記ブロードキャスト・メッセージを出力するステップと、
前記ＶＬＡＮモードである場合には、前記仮想マシンが所属するサブネットのＶＬＡＮのＩＤを前記ブロードキャスト・メッセージに付加し、前記ＶＬＡＮのＩＤが付加された前記ブロードキャスト・メッセージを、上位通信装置又は上位仮想スイッチに出力するステップと、
をさらに前記コンピュータに実行させるための付記１記載のプログラム。
【０１３７】
（付記３）
予め定められた条件を満たすサブネット毎に、データ格納部に格納されている、単位時間内のブロードキャスト・メッセージの数と同一サブネットに属する仮想スイッチの数とからコピー回数評価値を算出する算出ステップと、
前記サブネットを前記コピー回数評価値で降順にソートし、上位所定数のサブネットにＶＬＡＮのＩＤを付与し、上位所定数のサブネットに属する仮想スイッチにＶＬＡＮモードを設定するＶＬＡＮモード設定ステップと、
前記上位所定数のサブネット以外のサブネットに属する仮想スイッチに、ブロードキャスト・メッセージを同一サブネットに属する仮想スイッチ宛のユニキャスト・メッセージに変換すると共に当該仮想スイッチ宛のユニキャスト・メッセージを配下の仮想マシン宛のブロードキャスト・メッセージに変換するアドレス変換モードを設定するアドレス変換モード設定ステップと、
を含み、コンピュータに実行させるためのプログラム。
【０１３８】
（付記４）
前記算出ステップと前記ＶＬＡＮモード設定ステップと前記アドレス変換モード設定ステップとを、前記単位時間内のブロードキャスト・メッセージの数が所定レベル以上変化した場合又は前記同一サブネットに属する仮想スイッチの数が変化する際に実施する、付記３記載のプログラム。
【０１３９】
（付記５）
仮想マシンと、
仮想スイッチと、
を実行し、
前記仮想スイッチが、
受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであるか判断し、
受信したメッセージの宛先アドレスが自仮想スイッチの予め定められたアドレスであると判断された場合、受信したメッセージの宛先アドレスを、自仮想スイッチの配下にあり且つ同一サブネットに属する仮想マシン宛のブロードキャスト・アドレスに変換して、変換後のメッセージを出力する
コンピュータ。
【０１４０】
（付記６）
予め定められた条件を満たすサブネット毎に、データ格納部に格納されている、単位時間内のブロードキャスト・メッセージの数と同一サブネットに属する仮想スイッチの数とからコピー回数評価値を算出し、前記サブネットを前記コピー回数評価値で降順にソートし、上位所定数のサブネットにＶＬＡＮのＩＤを付与する論理リソース管理部と、
前記上位所定数のサブネットに属する仮想スイッチにＶＬＡＮモードの設定を含むデータ更新を指示し、前記上位所定数のサブネット以外のサブネットに属する仮想スイッチに、ブロードキャスト・メッセージを同一サブネットに属する仮想スイッチ宛のユニキャスト・メッセージに変換すると共に当該仮想スイッチ宛のユニキャスト・メッセージを配下の仮想マシン宛のブロードキャスト・メッセージに変換するアドレス変換モードの設定を含むデータ更新を指示する転送データ処理部と、
を有するコンピュータ。
【符号の説明】
【０１４１】
１０１  通信ＩＦ    １０２  メッセージ制御部
１０３  メッセージ種別テーブル格納領域
１０４  自ＳＷデータ管理部    １０５  メッセージ変換部
１０６  転送テーブル管理部    １０７  自ＳＷデータ格納領域
１０８  変換テーブル格納領域    １０９  転送テーブル格納領域
２００  リソース管理装置
２０１  通信ＩＦ    ２０２  メッセージ制御部
２０３  転送テーブル処理部    ２０４  物理リソース管理部
２０５  論理リソース管理部    ２０６  テナント管理部
２０７  転送テーブル管理部    ２０８  物理リソースデータ格納部
２０９  論理リソースデータ格納部    ２１０  テナントデータ格納部
２１１  転送テーブル格納部    ２１２  論理リソース配備処理部
【図１】
0005392137.tif 000002
【図２】
0005392137.tif 000003
【図３】
0005392137.tif 000004
【図４】
0005392137.tif 000005
【図５】
0005392137.tif 000006
【図６】
0005392137.tif 000007
【図７】
0005392137.tif 000008
【図８】
0005392137.tif 000009
【図９】
0005392137.tif 000010
【図１０】
0005392137.tif 000011
【図１１】
0005392137.tif 000012
【図１２】
0005392137.tif 000013
【図１３】
0005392137.tif 000014
【図１４】
0005392137.tif 000015
【図１５】
0005392137.tif 000016
【図１６】
0005392137.tif 000017
【図１７】
0005392137.tif 000018
【図１８】
0005392137.tif 000019
【図１９】
0005392137.tif 000020
【図２０】
0005392137.tif 000021
【図２１】
0005392137.tif 000022
【図２２Ａ】
0005392137.tif 000023
【図２２Ｂ】
0005392137.tif 000024
【図２３】
0005392137.tif 000025
【図２４】
0005392137.tif 000026
【図２５】
0005392137.tif 000027
【図２６】
0005392137.tif 000028
【図２７】
0005392137.tif 000029
【図２８】
0005392137.tif 000030
【図２９】
0005392137.tif 000031
【図３０】
0005392137.tif 000032
【図３１】
0005392137.tif 000033
【図３２】
0005392137.tif 000034
【図３３】
0005392137.tif 000035
【図３４】
0005392137.tif 000036
【図３５】
0005392137.tif 000037