(57)【要約】【課題】通信断を生じさせることなくＶＬＡＮをマージする技術を提供する。【解決手段】スイッチ制御装置は、第１のスイッチに第１のＶＬＡＮが設定され、且つ、第２のスイッチに第２のＶＬＡＮが設定されているときに、第１のＶＬＡＮにおいて伝送されるフレームが第２のＶＬＡＮに属する装置に届かないように第２のスイッチのフィルタを制御すると共に、第２のＶＬＡＮにおいて伝送されるフレームが第１のＶＬＡＮに属する装置に届かないように第１のスイッチのフィルタを制御し、第１のＶＬＡＮを識別する情報を含むフレームがレイヤ２ネットワークに送出されるように第２のスイッチを制御し、第１のＶＬＡＮを識別する情報を含むフレームをレイヤ２ネットワークから受信するように第２のスイッチを制御し、第２のＶＬＡＮを識別する情報を含むフレームがレイヤ２ネットワークに送出されないように第２のスイッチを制御する。【選択図】図１
2020078011.tif 000002
【特許請求の範囲】
【請求項１】
レイヤ２ネットワークに接続する第１のスイッチおよび第２のスイッチを制御するスイッチ制御装置であって、
前記第１のスイッチに第１のＶＬＡＮが設定され、且つ、前記第２のスイッチに第２のＶＬＡＮが設定されているときに、前記第１のＶＬＡＮにおいて伝送されるフレームが前記第２のＶＬＡＮに属する装置に届かないように、前記第２のスイッチのフィルタを制御すると共に、前記第２のＶＬＡＮにおいて伝送されるフレームが前記第１のＶＬＡＮに属する装置に届かないように、前記第１のスイッチのフィルタを制御する第１の処理、
前記第１のＶＬＡＮを識別する情報を含むフレームが前記レイヤ２ネットワークに送出されるように、前記第２のスイッチを制御する第２の処理、
前記第１のＶＬＡＮを識別する情報を含むフレームを前記レイヤ２ネットワークから受信するように、前記第２のスイッチを制御する第３の処理、
前記第２のＶＬＡＮを識別する情報を含むフレームが前記レイヤ２ネットワークに送出されないように、前記第２のスイッチを制御する第４の処理、を実行するプロセッサ
を備えるスイッチ制御装置。
【請求項２】
前記プロセッサは、前記第１の処理の後に前記第２の処理を実行し、前記第２の処理の後に前記第３の処理を実行し、前記第３の処理の後に前記第４の処理を実行する
ことを特徴とする請求項１に記載のスイッチ制御装置。
【請求項３】
前記プロセッサは、前記第１の処理において、
前記第１のＶＬＡＮに属する装置から送信される第１のフレームが前記レイヤ２ネットワークを介して前記第２のスイッチに到着したときに、前記第２のスイッチが前記第１のＶＬＡＮに属する装置のＭＡＣアドレスに基づいて前記第１のフレームを廃棄するように、前記第２のスイッチのフィルタを制御し、
前記第２のＶＬＡＮに属する装置から送信される第２のフレームが前記レイヤ２ネットワークを介して前記第１のスイッチに到着したときに、前記第１のスイッチが前記第２のＶＬＡＮに属する装置のＭＡＣアドレスに基づいて前記第２のフレームを廃棄するように、前記第１のスイッチのフィルタを制御する
ことを特徴とする請求項１に記載のスイッチ制御装置。
【請求項４】
レイヤ２ネットワークに接続する第１のスイッチおよび第２のスイッチを制御するスイッチ制御方法であって、
プロセッサが、
前記第１のスイッチに第１のＶＬＡＮが設定され、且つ、前記第２のスイッチに第２のＶＬＡＮが設定されているときに、前記第１のＶＬＡＮにおいて伝送されるフレームが前記第２のＶＬＡＮに属する装置に届かないように、前記第２のスイッチのフィルタを制御すると共に、前記第２のＶＬＡＮにおいて伝送されるフレームが前記第１のＶＬＡＮに属する装置に届かないように、前記第１のスイッチのフィルタを制御する第１の処理、
前記第１のＶＬＡＮを識別する情報を含むフレームが前記レイヤ２ネットワークに送出されるように、前記第２のスイッチを制御する第２の処理、
前記第１のＶＬＡＮを識別する情報を含むフレームを前記レイヤ２ネットワークから受信するように、前記第２のスイッチを制御する第３の処理、
前記第２のＶＬＡＮを識別する情報を含むフレームが前記レイヤ２ネットワークに送出されないように、前記第２のスイッチを制御する第４の処理、
を実行することを特徴とするスイッチ制御方法。
【請求項５】
レイヤ２ネットワークに接続する第１のスイッチおよび第２のスイッチを制御するために、
前記第１のスイッチに第１のＶＬＡＮが設定され、且つ、前記第２のスイッチに第２のＶＬＡＮが設定されているときに、前記第１のＶＬＡＮにおいて伝送されるフレームが前記第２のＶＬＡＮに属する装置に届かないように、前記第２のスイッチのフィルタを制御すると共に、前記第２のＶＬＡＮにおいて伝送されるフレームが前記第１のＶＬＡＮに属する装置に届かないように、前記第１のスイッチのフィルタを制御する第１の処理、
前記第１のＶＬＡＮを識別する情報を含むフレームが前記レイヤ２ネットワークに送出されるように、前記第２のスイッチを制御する第２の処理、
前記第１のＶＬＡＮを識別する情報を含むフレームを前記レイヤ２ネットワークから受信するように、前記第２のスイッチを制御する第３の処理、
前記第２のＶＬＡＮを識別する情報を含むフレームが前記レイヤ２ネットワークに送出されないように、前記第２のスイッチを制御する第４の処理、
をプロセッサに実行させるためのスイッチ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ制御装置、スイッチ制御方法、およびスイッチ制御プログラムに係わる。
【背景技術】
【０００２】
ＶＬＡＮ（Virtual Local Area Network）は、レイヤ２ネットワーク上に複数の仮想的なネットワークを設定することができる。すなわち、ＶＬＡＮは、レイヤ２ネットワークを複数のセグメントに分離できる。ただし、ＶＬＡＮにおいては、各ネットワークを識別するための識別情報（ＶＬＡＮＩＤ）のビット数が決まっているので、最大で４０９４個までしか仮想的なネットワークを設定できない。すなわち、大規模ネットワークでは、ＶＬＡＮＩＤが枯渇するおそれがある。
【０００３】
この問題は、例えば、ＶＬＡＮの代わりに、OpenFlowまたはVXLAN NVGREなどの他のプロトコルを使用すれば解決され得る。ただし、既存のネットワークにおいてＶＬＡＮは広く普及している。そして、ＶＬＡＮネットワークから他のプロトコルに従うネットワークへの移行が困難なことがある。例えば、通信の停止が許されないネットワークでは、ＶＬＡＮネットワークから他のプロトコルに従うネットワークへの移行は困難である。このため、ＶＬＡＮＩＤを効率的に使用しながらネットワークを運用および管理することが要求されている。
【０００４】
関連技術として、標準化されている８０２．１Ｑの機能を用いて、規定数以上の独立したＶＬＡＮを構築する方法が提案されている（例えば、特許文献１）。また、特許文献２および特許文献３にも関連技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３３６５０１号公報
【特許文献２】ＷＯ２０１５／１４６９５８
【特許文献３】特開２０１５−０６１１０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＶＬＡＮＩＤの効率的な使用は、例えば、異なるＶＬＡＮＩＤにより識別されるネットワークをマージすることにより実現され得る。ところが、異なるＶＬＡＮＩＤにより識別されるネットワークをマージする場合、通信が一時的に切断されることがある。例えば、ある通信グループ内で使用されるマルチキャストパケットまたはブロードキャストパケットが、他の通信グループのマシンに到達してしまうことがある。あるいは、同じ通信グループ内のマシン間の通信ができなくなることがある。そして、アプリケーションによっては、このような一時的な通信障害であっても許容されないことがある。
【０００７】
本発明の１つの側面に係わる目的は、通信断を生じさせることなくＶＬＡＮをマージする技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明の１つの態様のスイッチ制御装置は、レイヤ２ネットワークに接続する第１のスイッチおよび第２のスイッチを制御する。このスイッチ制御装置は、前記第１のスイッチに第１のＶＬＡＮが設定され、且つ、前記第２のスイッチに第２のＶＬＡＮが設定されているときに、前記第１のＶＬＡＮにおいて伝送されるフレームが前記第２のＶＬＡＮに属する装置に届かないように、前記第２のスイッチのフィルタを制御すると共に、前記第２のＶＬＡＮにおいて伝送されるフレームが前記第１のＶＬＡＮに属する装置に届かないように、前記第１のスイッチのフィルタを制御する第１の処理、前記第１のＶＬＡＮを識別する情報を含むフレームが前記レイヤ２ネットワークに送出されるように、前記第２のスイッチを制御する第２の処理、前記第１のＶＬＡＮを識別する情報を含むフレームを前記レイヤ２ネットワークから受信するように、前記第２のスイッチを制御する第３の処理、前記第２のＶＬＡＮを識別する情報を含むフレームが前記レイヤ２ネットワークに送出されないように、前記第２のスイッチを制御する第４の処理、を実行するプロセッサを備える。
【発明の効果】
【０００９】
上述の態様によれば、通信断を生じさせることなくＶＬＡＮをマージできる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係わる通信システムの一例を示す図である。
【図２】ＶＬＡＮのマージの一例を示す図である。
【図３】ＶＬＡＮコントローラにおいてデータ管理部により管理される情報の一例を示す図である。
【図４】ＶＬＡＮをマージする手順の一例を示す図（その１）である。
【図５】ＶＬＡＮをマージする手順の一例を示す図（その２）である。
【図６】ＶＬＡＮをマージする手順の一例を示す図（その３）である。
【図７】ＶＬＡＮをマージする手順の一例を示す図（その４）である。
【図８】ＶＬＡＮがマージされた後のＶＬＡＮ情報およびスイッチ情報の状態を例示する図である。
【図９】ＶＬＡＮコントローラの処理の一例を示すフローチャート（その１）である。
【図１０】ＶＬＡＮコントローラの処理の一例を示すフローチャート（その２）である。
【図１１】ＶＬＡＮコントローラのハードウェア構成の一例を示す図である。
【図１２】仮想スイッチの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、本発明の実施形態に係わる通信システムの一例を示す。この実施例では、レイヤ２ネットワーク１００は、ＶＬＡＮにより複数のセグメントに分離される。
【００１２】
レイヤ２ネットワーク１００は、特に図示しないが、複数のレイヤ２スイッチ（Ｌ２ＳＷ）から構成され、ＭＡＣ（Media Access Control）アドレスに従ってフレームを転送する。レイヤ２スイッチは、各フレームの宛先ＭＡＣアドレスおよび送信元ＭＡＣアドレスに基づいてそのフレームを処理する。たとえば、レイヤ２スイッチは、宛先ＭＡＣアドレスに基づいてフレームを転送する。また、レイヤ２スイッチは、宛先ＭＡＣアドレスおよび／または送信元ＭＡＣアドレスに基づいてフレームをフィルタリングすることもできる。
【００１３】
図１に示す通信システムは、複数の通信グループにより共有され得る。図１に示す例では、通信システムは、通信グループ＃１および通信グループ＃２により共有されている。ただし、通信グループ＃１および通信グループ＃２は、ＶＬＡＮにより互いに分離されている。
【００１４】
各通信グループは、複数のマシンを収容することができる。図１に示す例では、マシンＡは、通信グループ＃１に属している。また、マシンＢおよびマシンＣは、通信グループ＃２に属している。「マシン」は、１台の物理的なコンピュータであってもよいし、仮想マシンであってもよい。なお、各マシンのＩＰアドレスは以下の通りである。
マシンＡ：１９２．１６８．１０．１
マシンＢ：１９２．１６８．２０．１
マシンＣ：１９２．１６８．２０．２
また、各マシンのＭＡＣアドレスは以下の通りである。
マシンＡ：ａａａ
マシンＢ：ｂｂｂ
マシンＣ：ｃｃｃ
【００１５】
各マシンは、仮想スイッチを介してレイヤ２ネットワーク１００に接続される。具体的には、マシンＡは、仮想スイッチ１を介してレイヤ２ネットワーク１００に接続される。同様に、マシンＢおよびマシンＣは、それぞれ仮想スイッチ２および仮想スイッチ３を介してレイヤ２ネットワーク１００に接続される。なお、仮想スイッチは、対応するマシンの中に内蔵されていてもよい。或いは、マシンおよび対応する仮想マシンは、互いに異なるハードウェアにより実現されてもよい。また、図１に示す例では、１台のマシンが１個の仮想マシンを介してレイヤ２ネットワーク１００に接続されるが、本発明はこの構成に限定されるものではない。すなわち、１個の仮想スイッチに複数のマシンが接続されていてもよい。さらに、図１に示す例では、各マシンが仮想スイッチを介してレイヤ２ネットワーク１００に接続されるが、本発明はこの構成に限定されるものではない。すなわち、各マシンが物理スイッチを介してレイヤ２ネットワーク１００に接続されるようにしてもよい。
【００１６】
仮想スイッチ１〜３は、通信グループ＃１および通信グループ＃２を互いに分離するように、フレーム処理を実行する。ここで、この実施例では、通信グループ＃１および通信グループ＃２に対して、それぞれＶＬＡＮ１０およびＶＬＡＮ２０が設定されているものとする。なお、ＶＬＡＮ１０は、「ＶＬＡＮＩＤ＝１０」を含むフレームを伝送する仮想的なネットワークを表す。また、ＶＬＡＮ２０は、「ＶＬＡＮＩＤ＝２０」を含むフレームを伝送する仮想的なネットワークを表す。
【００１７】
仮想スイッチ１は、マシンＡにより送信フレームが生成されると、そのフレームに「ＶＬＡＮＩＤ＝１０」を付与してレイヤ２ネットワーク１００に送信する。また、仮想スイッチ１は、レイヤ２ネットワーク１００からフレームを受信すると、ＶＬＡＮＩＤに基づいてそのフレームをフィルタリングする。すなわち、受信フレームが「ＶＬＡＮＩＤ＝１０」を含んでいればそのフレームはマシンＡに導かれ、受信フレームが「ＶＬＡＮＩＤ＝１０」を含んでいなければそのフレームは廃棄される。
【００１８】
仮想スイッチ２は、マシンＢにより送信フレームが生成されると、そのフレームに「ＶＬＡＮＩＤ＝２０」を付与してレイヤ２ネットワーク１００に送信する。また、仮想スイッチ２は、レイヤ２ネットワーク１００からフレームを受信すると、ＶＬＡＮＩＤに基づいてそのフレームをフィルタリングする。すなわち、受信フレームが「ＶＬＡＮＩＤ＝２０」を含んでいればそのフレームはマシンＢに導かれ、受信フレームが「ＶＬＡＮＩＤ＝２０」を含んでいなければそのフレームは廃棄される。なお、仮想スイッチ３の動作は、仮想スイッチ２と実質的に同じなので、説明を省略する。
【００１９】
ＶＬＡＮコントローラ２００は、各仮想スイッチ１〜３に接続されている。そして、ＶＬＡＮコントローラ２００は、仮想スイッチ１〜３に対して指示を与えることにより、ＶＬＡＮの設定、削除、変更を制御する。
【００２０】
ＶＬＡＮコントローラ２００は、図１に示すように、スイッチ制御部２０１、データ管理部２０２、ＶＬＡＮ選択部２０３を備える。スイッチ制御部２０１は、仮想スイッチ１〜３を制御する。データ管理部２０２は、ＶＬＡＮに係わる情報を管理する。ＶＬＡＮ選択部２０３は、複数のＶＬＡＮをマージして１つのＶＬＡＮを設定する際に、マージすべき１組のＶＬＡＮを選択する。なお、スイッチ制御部２０１、データ管理部２０２、ＶＬＡＮ選択部２０３については、後で詳しく説明する。
【００２１】
このように、ＶＬＡＮは、互いに分離された複数のネットワークを設定することができる。ただし、ＶＬＡＮＩＤのビット数が決まっているので、最大で４０９４個までしかネットワークを設定できない。このため、ＶＬＡＮＩＤを効率的に使用するために、ＶＬＡＮコントローラ２００は、必要に応じて、異なるＶＬＡＮＩＤにより識別されるネットワークをマージする。
【００２２】
図２は、ＶＬＡＮのマージの一例を示す。ここでは、ＶＬＡＮ１０とＶＬＡＮ２０とのマージ（ここでは、ＶＬＡＮ１０がＶＬＡＮ２０を吸収するマージ）が行われるものとする。この場合、このマージは、仮想スイッチ２、３の処理対象を「ＶＬＡＮＩＤ＝２０」から「ＶＬＡＮＩＤ＝１０」に変更することで実現される。ただし、仮想スイッチ２、３の処理対象を単に「ＶＬＡＮＩＤ＝２０」から「ＶＬＡＮＩＤ＝１０」に変更するだけでは、通信障害が発生することがある。
【００２３】
例えば、図２に示すように、ＶＬＡＮのマージ作業中に、仮想スイッチ２の処理対象が「ＶＬＡＮＩＤ＝２０」から「ＶＬＡＮＩＤ＝１０」に変更されたものとする。なお、仮想スイッチの設定の変更は、１台ずつ順番に実行されるものとする。すなわち、この時点では、未だ、仮想スイッチ３の処理対象は「ＶＬＡＮＩＤ＝２０」のままであるものとする。
【００２４】
一例として、マシンＡがブロードキャストフレーム（又は、マルチキャストフレーム）を送信するものとする。この場合、このブロードキャストフレームは、レイヤ２ネットワーク１００により仮想スイッチ２、３に導かれる。ここで、このブロードキャストフレームには、仮想スイッチ１により「ＶＬＡＮＩＤ＝１０」が付与されている。このため、仮想スイッチ２は、このブロードキャストフレームをマシンＢに導いてしまう。同様に、マシンＢがブロードキャストフレームを送信した場合には、仮想スイッチ１は、そのブロードキャストフレームをマシンＡに導いてしまう。このように、ＶＬＡＮのマージ作業が行われているときには、ブロードキャストフレームが通信グループの境界をこえてしまうことがある。
【００２５】
また、マシンＢがマシンＣにデータフレームを送信するものとする。この場合、このデータフレームは、レイヤ２ネットワーク１００により仮想スイッチ３に導かれる。ところが、このデータフレームには、仮想スイッチ２により「ＶＬＡＮＩＤ＝１０」が付与されている。このため、仮想スイッチ３は、このデータフレームを廃棄してしまう。同様に、マシンＣがマシンＢにデータフレームを送信した場合には、仮想スイッチ２は、このデータフレームを廃棄してしまう。このように、ＶＬＡＮのマージ作業が行われているときには、同じグループ内であっても、移行前のＶＬＡＮを使用するマシンと移行後のＶＬＡＮを使用するマシンとの間の通信が切断されることがある。
【００２６】
＜実施形態＞
本発明の実施形態に係わるスイッチ制御装置は、上述の問題を解決する機能を備える。なお、ＶＬＡＮコントローラ２００は、本発明の実施形態に係わるスイッチ制御装置の一例である。
【００２７】
ＶＬＡＮコントローラ２００は、複数のＶＬＡＮをマージするときに、各仮想スイッチの設定を変更する。以下の記載では、図１に示すＶＬＡＮ１０およびＶＬＡＮ２０がマージされるものとする。具体的には、通信グループ＃２が使用するＶＬＡＮが、ＶＬＡＮ２０からＶＬＡＮ１０に変更される。
【００２８】
図３は、ＶＬＡＮコントローラ２００においてデータ管理部２０２により管理される情報の一例を示す。データ管理部２０２により管理される情報は、ＶＬＡＮを管理するＶＬＡＮ情報および仮想スイッチを管理するスイッチ情報を含む。
【００２９】
ＶＬＡＮ情報は、図３（ａ）に示すように、通信システム内で設定可能な各ＶＬＡＮを表す「ＶＬＡＮＩＤ」に対して「使用済みフラグ」および「ＣＩＤＲ」を管理する。「使用済みフラグ」は、通信システム内でＶＬＡＮＩＤが使用されているか否かを表す。すなわち、「使用済みフラグ」は、対応するＶＬＡＮＩＤにより識別されるＶＬＡＮが設定されているか否かを表す。図３（ａ）に示す例では、通信システムにおいてＶＬＡＮ１０、ＶＬＡＮ２０、ＶＬＡＮ３０．．．が設定されている。「ＣＩＤＲ（Classless Inter-Domain Routing）」は、対応するＶＬＡＮに対して割り当てられているアドレス範囲を表す。図３（ａ）に示す例では、「ＶＬＡＮＩＤ＝１０」に対応するＣＩＤＲは、ＶＬＡＮ１０に属するマシン（マシンＡを含む）に割り当て可能なＩＰアドレスの範囲を表し、「ＶＬＡＮＩＤ＝２０」に対応するＣＩＤＲは、ＶＬＡＮ２０に属するマシン（マシンＢ、Ｃを含む）に割り当て可能なＩＰアドレスの範囲を表す。
【００３０】
なお、ＶＬＡＮ情報は、特に図示しないが、各ＶＬＡＮの稼動状況を管理してもよい。稼動状況は、例えば、最大帯域に対する使用帯域の割合（即ち、帯域使用率）を表す。
【００３１】
スイッチ情報は、図３（ｂ）に示すように、各仮想スイッチについて「ＶＬＡＮＩＤ」「ＣＩＤＲ」「ＭＡＣアドレス」を管理する。「ＶＬＡＮＩＤ」は、対応する仮想スイッチに対して設定されているＶＬＡＮを識別する。図３（ｂ）に示す例では、仮想スイッチ１に対してＶＬＡＮ１０が設定され、仮想スイッチ２、３に対してそれぞれＶＬＡＮ２０が設定されている。「ＣＩＤＲ」は、上述したように、対応するＶＬＡＮに対して割り当てられているアドレスの範囲を表す。「ＭＡＣアドレス」は、対応する仮想スイッチに接続するマシンのＭＡＣアドレスを表す。
【００３２】
ＶＬＡＮコントローラ２００は、図３に示すＶＬＡＮ情報およびスイッチ情報を利用して、ＶＬＡＮの設定、変更、削除を制御する。ＶＬＡＮの変更は、複数のＶＬＡＮのマージを含む。
【００３３】
図４〜図７は、ＶＬＡＮをマージする手順の一例を示す。この実施例では、図１に示すように、通信グループ＃１に属するマシンがＶＬＡＮ１０を使用して通信を行っており、また、通信グループ＃２に属するマシンがＶＬＡＮ２０を使用して通信を行っているものとする。
【００３４】
ＶＬＡＮコントローラ２００は、常時、ＶＬＡＮＩＤの使用状況をモニタしている。そして、ＶＬＡＮコントローラ２００は、例えば、使用中のＶＬＡＮＩＤの数が所定の閾値を越えると、ＶＬＡＮのマージを実行する。
【００３５】
ＶＬＡＮ選択部２０３は、マージすべきＶＬＡＮを選択する。このとき、ＶＬＡＮ選択部２０３は、データ管理部２０２により管理されているＶＬＡＮ情報を参照してマージすべきＶＬＡＮを選択してもよい。一例としては、ＶＬＡＮ選択部２０３は、帯域使用率の低いＶＬＡＮを選択してもよい。この実施例では、「ＶＬＡＮＩＤ＝１０」により識別されるＶＬＡＮ１０および「ＶＬＡＮＩＤ＝２０」により識別されるＶＬＡＮ２０が選択されるものとする。また、ＶＬＡＮ２０がＶＬＡＮ１０にマージ（即ち、吸収）されるものとする。
【００３６】
スイッチ制御部２０１は、図４に示すように、データ管理部２０２により管理されているスイッチ情報を参照してフィルタ設定指示を生成する。フィルタ設定指示は、通信グループ＃１、＃２間の境界を越えてフレームが伝送されないように、各仮想スイッチ１〜３に実装されているＭＡＣアドレスフィルタを制御する情報を含む。
【００３７】
具体的には、通信グループ＃１に属する各マシンのＭＡＣアドレス（即ち、ａａａ）を含むフレームを廃棄するためのフィルタ設定指示が仮想スイッチ２、３にそれぞれ与えられる。また、通信グループ＃２に属する各マシンのＭＡＣアドレス（即ち、ｂｂｂおよびｃｃｃ）を含むフレームを廃棄するためのフィルタ設定指示が仮想スイッチ１に与えられる。そうすると、各仮想スイッチ１〜３は、与えられたフィルタ設定指示に従って、ＭＡＣアドレスフィルタを更新する。
【００３８】
上述のようにして各仮想スイッチ１〜３においてフィルタが更新された後は、通信グループ＃１、＃２は、ＭＡＣアドレスにより互いに分離される。例えば、マシンＡによりブロードキャストフレームが生成されるときは、仮想スイッチ１は、そのブロードキャストフレームに「ＶＬＡＮＩＤ＝１０」を付与してレイヤ２ネットワーク１００に送出する。そうすると、このブロードキャストフレームは、仮想スイッチ２、３に届けられる。ところが、このブロードキャストフレームの送信元ＭＡＣアドレスは「ａａａ」なので、仮想スイッチ２、３はこのブロードキャストフレームを廃棄する。すなわち、通信グループ＃１において生成されるフレームがマシンＢ、Ｃに到達することはない。同様に、通信グループ＃２において生成されるフレームがマシンＡに到達することもない。
【００３９】
スイッチ制御部２０１は、図５に示すように、データ管理部２０２により管理されているスイッチ情報を参照してＶＬＡＮ追加指示を生成する。ＶＬＡＮ追加指示は、マージされるＶＬＡＮを使用する通信グループ（＃２）において、移行後のＶＬＡＮＩＤ（ＶＬＡＮＩＤ＝１０）を含むフレームがレイヤ２ネットワーク１００に送信されるようにするための制御情報を含む。この実施例では、マージされるＶＬＡＮ（即ち、ＶＬＡＮ２０）が設定されている仮想スイッチは、仮想スイッチ２、３なので、ＶＬＡＮ追加指示は仮想スイッチ２、３に送信される。
【００４０】
各仮想スイッチ１〜３は、レイヤ２ネットワーク１００に送信するフレームに付与するＶＬＡＮＩＤを表すＶＬＡＮ送信情報を保持する。なお、ＶＬＡＮ送信情報は、図５〜図７では「ＶＬＡＮ（送）」と表記されている。そして、仮想スイッチ２、３は、ＶＬＡＮ追加指示に応じてＶＬＡＮ送信情報を更新する。具体的には、仮想スイッチ２、３において、ＶＬＡＮ送信情報に「ＶＬＡＮＩＤ＝１０」が追加される。すなわち、仮想スイッチ２、３において、ＶＬＡＮ送信情報が「２０」から「１０、２０」に更新される。
【００４１】
上述のようにしてＶＬＡＮ送信情報が更新された後は、仮想スイッチ２、３は、対応するマシンにおいて送信フレームが生成されたときに、「ＶＬＡＮＩＤ＝１０」が付与されたフレームおよび「ＶＬＡＮＩＤ＝２０」が付与されたフレームをレイヤ２ネットワーク１００に送信する。これらの２つのフレームは、ＶＬＡＮＩＤ以外は、互いに実質的に同じである。そして、このようにして仮想スイッチ２、３が２つのフレームを送信することにより、ＶＬＡＮのマージ作業中の通信断が回避される。
【００４２】
たとえば、マシンＢがマシンＣを宛先とするデータフレームを生成するものとする。この場合、仮想スイッチ２は、「ＶＬＡＮＩＤ＝１０」が付与されたデータフレームおよび「ＶＬＡＮＩＤ＝２０」が付与されたデータフレームをレイヤ２ネットワーク１００に送信する。そうすると、これらの２つのデータフレームは、レイヤ２ネットワーク１００により仮想スイッチ３に導かれる。ここで、仮想スイッチ３は、「ＶＬＡＮＩＤ＝２０」が付与されたフレームを受信する状態に設定されている。よって、仮想スイッチ３は、「ＶＬＡＮＩＤ＝２０」が付与されたデータフレームをマシンＣに導く。すなわち、マシンＢにより生成されたデータフレームは、マシンＣに到達する。なお、このとき、仮想スイッチ３は、受信データフレームからＶＬＡＮＩＤを削除してもよい。
【００４３】
マシンＢがブロードキャストフレームを生成したときは、仮想スイッチ２は、「ＶＬＡＮＩＤ＝１０」が付与されたブロードキャストフレームおよび「ＶＬＡＮＩＤ＝２０」が付与されたブロードキャストフレームをレイヤ２ネットワーク１００に送信する。そうすると、これらの２つのブロードキャストフレームは、レイヤ２ネットワーク１００により仮想スイッチ１、３に導かれる。ここで、仮想スイッチ３は、「ＶＬＡＮＩＤ＝２０」が付与されたフレームを受信する状態に設定されている。よって、仮想スイッチ３は、「ＶＬＡＮＩＤ＝２０」が付与されたブロードキャストフレームをマシンＣに導く。一方、仮想スイッチ１は、「ＶＬＡＮＩＤ＝１０」が付与されたフレームを受信する状態に設定されている。ところが、図４に示すフィルタ設定により、仮想スイッチ１のＭＡＣアドレスフィルタには「ｂｂｂ」が登録されている。したがって、仮想スイッチ１は、ＶＬＡＮＩＤにかかわらず、仮想スイッチ２から送信されたブロードキャストフレームを廃棄する。すなわち、マシンＢにより生成されたブロードキャストフレームは、マシンＡには到達しない。
【００４４】
スイッチ制御部２０１は、図６に示すように、データ管理部２０２により管理されているスイッチ情報を参照してＶＬＡＮ変更指示を生成する。ＶＬＡＮ変更指示は、マージされるＶＬＡＮを使用する通信グループ（＃２）において、移行後のＶＬＡＮＩＤ（ＶＬＡＮＩＤ＝１０）を含むフレームをレイヤ２ネットワーク１００から受信するための制御情報を含む。この実施例では、マージされるＶＬＡＮ（即ち、ＶＬＡＮ２０）が設定されている仮想スイッチは、仮想スイッチ２、３なので、ＶＬＡＮ変更指示は仮想スイッチ２、３に送信される。
【００４５】
各仮想スイッチ１〜３は、対応するマシンが受信すべきフレームのＶＬＡＮＩＤを指定するＶＬＡＮ受信情報を保持する。尚、ＶＬＡＮ受信情報は、図５〜図７においては「ＶＬＡＮ（受）」と表記されている。そして、仮想スイッチ２、３は、ＶＬＡＮ変更指示に応じてＶＬＡＮ受信情報を更新する。具体的には、仮想スイッチ２、３において、ＶＬＡＮ受信情報が「ＶＬＡＮＩＤ＝２０」から「ＶＬＡＮＩＤ＝１０」に更新される。
【００４６】
上述のようにしてＶＬＡＮ受信情報が更新された後は、仮想スイッチ２、３は、レイヤ２ネットワーク１００からフレームを受信したときに、「ＶＬＡＮＩＤ＝１０」が付与されたフレームのみを対応するマシンに導く。換言すれば、仮想スイッチ２、３は、「ＶＬＡＮＩＤ＝１０」が付与されていないフレームを廃棄する。よって、「ＶＬＡＮＩＤ＝２０」が付与されたフレームは廃棄される。
【００４７】
なお、本発明の実施形態に係る手順では、マージされるＶＬＡＮを使用する通信グループにおいて、ＶＬＡＮ変更指示に応じてＶＬＡＮ受信情報が更新される前に、ＶＬＡＮ追加指示に応じてＶＬＡＮ送信情報が更新されている。このため、ＶＬＡＮのマージ作業中の通信断が回避される。例えば、仮想スイッチ２のＶＬＡＮ送信情報およびＶＬＡＮ受信情報が更新されたときに、仮想スイッチ３のＶＬＡＮ受信情報が未だ更新されておらず、「ＶＬＡＮ（受）＝２０」のままであるものとする。この場合、仮想スイッチ２から送信される２つのフレームのうち、「ＶＬＡＮＩＤ＝１０」が付与されたフレームは、仮想スイッチ３において廃棄されてしまう。しかし、仮想スイッチ３は、更新される前のＶＬＡＮ受信情報に基づいて、「ＶＬＡＮＩＤ＝２０」が付与されたフレームを受信する。したがって、仮想スイッチごとに設定変更のタイミングがずれてしまっても、ＶＬＡＮのマージ作業中の通信断は回避される。
【００４８】
スイッチ制御部２０１は、図７に示すように、データ管理部２０２により管理されているスイッチ情報を参照してＶＬＡＮ削除指示を生成する。ＶＬＡＮ削除指示は、マージされるＶＬＡＮを使用する通信グループ（＃２）において、移行前のＶＬＡＮＩＤ（ＶＬＡＮＩＤ＝２０）を含むフレームがレイヤ２ネットワーク１００に送信されないようにするための制御情報を含む。この実施例では、マージされるＶＬＡＮ（即ち、ＶＬＡＮ２０）が設定されている仮想スイッチは、仮想スイッチ２、３なので、ＶＬＡＮ追加指示は仮想スイッチ２、３に送信される。
【００４９】
仮想スイッチ２、３は、ＶＬＡＮ削除指示に応じてＶＬＡＮ送信情報を更新する。具体的には、仮想スイッチ２、３において、ＶＬＡＮ送信情報から「ＶＬＡＮＩＤ＝２０」が削除される。即ち、仮想スイッチ２、３において、ＶＬＡＮ送信情報が「１０、２０」から「１０」に更新される。
【００５０】
上述のようにしてＶＬＡＮ送信情報が更新された後は、仮想スイッチ２、３は、対応するマシンにおいて送信フレームが生成されたときに、「ＶＬＡＮＩＤ＝１０」が付与されたフレームのみをレイヤ２ネットワーク１００に送信する。
【００５１】
この後、データ管理部２０２は、ＶＬＡＮ情報およびスイッチ情報を更新する。すなわち、ＶＬＡＮ情報において、図８（ａ）に示すように、「１９２．１６８．２０」で表されるサブネットに対して設定されるＶＬＡＮＩＤが「２０」から「１０」に変更される。また、「ＶＬＡＮＩＤ＝２０」は解放される。更に、スイッチ情報において、図８（ｂ）に示すように、仮想スイッチ２、３に対して設定されるＶＬＡＮＩＤが「２０」から「１０」に変更される。
【００５２】
図９〜図１０は、ＶＬＡＮコントローラ２００の処理の一例を示すフローチャートである。なお、このフローチャートは、ＶＬＡＮのマージに係わる処理を示す。また、このフローチャートの処理は、例えば、ユーザまたはネットワーク管理者からの要求に応じて実行される。或いは、このフローチャートの処理は、所定の契機が生じたときに自動的に実行されるようにしてもよい。例えば、未使用のＶＬＡＮＩＤの数が所定の閾値より少なくなったときにこのフローチャートの処理が実行されるようにしてもよい。
【００５３】
なお、このフローチャートに係わる説明において、「マージ元ＶＬＡＮ」は、マージにより他のＶＬＡＮに吸収されるＶＬＡＮを表し、「マージ先ＶＬＡＮ」は、マージ後に存続するＶＬＡＮを表す。図４〜図７に示す例では、「ＶＬＡＮＩＤ＝２０」により識別されるＶＬＡＮ２０がマージ元ＶＬＡＮに相当し、「ＶＬＡＮＩＤ＝１０」により識別されるＶＬＡＮ１０がマージ先ＶＬＡＮに相当する。
【００５４】
Ｓ１において、ＶＬＡＮ選択部２０３は、マージすべき１組のＶＬＡＮ（即ち、マージ元ＶＬＡＮおよびマージ先ＶＬＡＮ）を選択する。そして、ＶＬＡＮ選択部２０３は、選択したＶＬＡＮを識別するＶＬＡＮＩＤをスイッチ制御部２０１に与える。なお、マージすべき１組のＶＬＡＮを選択するための基準は、予め決められているものとする。たとえば、帯域使用率の低いＶＬＡＮが選択される。
【００５５】
Ｓ２において、スイッチ制御部２０１は、ＶＬＡＮ選択部２０３から与えられるＶＬＡＮＩＤを利用してＶＬＡＮ情報を参照し、マージ先およびマージ元のＣＩＤＲおよびＶＬＡＮＩＤを特定する。例えば、図３（ａ）に示す実施例において、マージ先に係わる情報として「ＣＩＤＲ＝１９２．１６８．１０．０／２４」および「ＶＬＡＮＩＤ＝１０」が得られ、マージ元に係わる情報として「ＣＩＤＲ＝１９２．１６８．２０．０／２４」および「ＶＬＡＮＩＤ＝２０」が得られる。
【００５６】
Ｓ３において、スイッチ制御部２０１は、Ｓ２で特定したＶＬＡＮＩＤを利用してスイッチ情報を参照し、マージ先ＶＬＡＮまたはマージ元ＶＬＡＮを使用するマシンの仮想スイッチおよびＭＡＣアドレスを取得する。例えば、図３（ｂ）に示す実施例において、マージ先ＶＬＡＮを使用するマシンの仮想スイッチとして「仮想スイッチ１」が特定され、マージ元ＶＬＡＮを使用するマシンの仮想スイッチとして「仮想スイッチ２」および「仮想スイッチ３」が特定される。また、マージ先ＶＬＡＮを使用するマシンのＭＡＣアドレスとして「ａａａ」が特定され、マージ元ＶＬＡＮを使用するマシンのＭＡＣアドレスとして「ｂｂｂ」および「ｃｃｃ」が特定される。
【００５７】
Ｓ４において、スイッチ制御部２０１は、マージ元ＶＬＡＮを使用するマシンのＭＡＣアドレスを遮断するためのフィルタ設定情報を、マージ先ＶＬＡＮが設定されている仮想スイッチに送信する。図４に示す実施では、「ｂｂｂ」および「ｃｃｃ」を遮断するためのフィルタ設定情報が仮想スイッチ１に送信される。
【００５８】
Ｓ５において、スイッチ制御部２０１は、マージ先ＶＬＡＮを使用するマシンのＭＡＣアドレスを遮断するためのフィルタ設定情報を、マージ元ＶＬＡＮが設定されている仮想スイッチに送信する。図４に示す実施では、「ａａａ」を遮断するためのフィルタ設定情報が仮想スイッチ２、３に送信される。なお、Ｓ５の処理は、Ｓ４の前に実行されるようにしてもよい。
【００５９】
Ｓ１１において、スイッチ制御部２０１は、ＶＬＡＮ送信情報にマージ先ＶＬＡＮＩＤを追加することを指示するＶＬＡＮ追加指示を、マージ元ＶＬＡＮが設定された仮想スイッチに送信する。図５に示す実施例では、ＶＬＡＮ追加指示は、ＶＬＡＮ送信情報に「ＶＬＡＮＩＤ＝１０」を追加することを指示する。そして、ＶＬＡＮ追加指示は、仮想スイッチ２、３に送信される。なお、ＶＬＡＮ送信情報は、上述したように、レイヤ２ネットワーク１００に送信するフレームに付与すべきＶＬＡＮＩＤを表す。
【００６０】
Ｓ１２において、スイッチ制御部２０１は、ＶＬＡＮ受信情報においてマージ元ＶＬＡＮＩＤをマージ先ＶＬＡＮＩＤに変更することを指示するＶＬＡＮ変更指示を、マージ元ＶＬＡＮが設定された仮想スイッチに送信する。図６に示す実施例では、ＶＬＡＮ変更指示は、ＶＬＡＮ受信情報として登録されているＶＬＡＮＩＤを「ＶＬＡＮＩＤ＝２０」から「ＶＬＡＮＩＤ＝１０」に変更することを指示する。そして、ＶＬＡＮ変更指示は、仮想スイッチ２、３に送信される。なお、ＶＬＡＮ受信情報は、上述したように、対応するマシンが受信すべきフレームのＶＬＡＮＩＤを表す。
【００６１】
Ｓ１３において、スイッチ制御部２０１は、ＶＬＡＮ送信情報からマージ元ＶＬＡＮＩＤを削除することを指示するＶＬＡＮ削除指示を、マージ元ＶＬＡＮが設定された仮想スイッチに送信する。図７に示す実施例では、ＶＬＡＮ削除指示は、ＶＬＡＮ送信情報から「ＶＬＡＮＩＤ＝２０」を削除することを指示する。そして、ＶＬＡＮ削除指示は、仮想スイッチ２、３に送信される。
【００６２】
なお、Ｓ１２の処理は、Ｓ１１の後に実行されることが好ましい。また、Ｓ１３の処理は、Ｓ１２の後に実行されることが好ましい。
【００６３】
Ｓ１４において、スイッチ制御部２０１は、ＶＬＡＮ情報において、マージ元ＶＬＡＮＩＤをマージ先ＶＬＡＮＩＤに変更し、旧マージ元ＶＬＡＮＩＤを削除する。図８（ａ）に示す実施例では、「ＣＩＤＲ＝１９２．１６８．２０．０／２４」で識別されるネットワークに対応するＶＬＡＮＩＤが「ＶＬＡＮＩＤ＝２０」から「ＶＬＡＮＩＤ＝１０」に変更されている。加えて、「ＶＬＡＮＩＤ＝２０」の使用済みフラグを「Ｔｒｕｅ」から「Ｆａｌｓｅ」に更新することにより、「ＶＬＡＮＩＤ＝２０」が解放される。
【００６４】
Ｓ１５において、スイッチ制御部２０１は、スイッチ情報において、マージ元ＶＬＡＮＩＤをマージ先ＶＬＡＮＩＤに変更する。図８（ｂ）に示す例では、仮想スイッチ２、３が使用するＶＬＡＮを識別するＶＬＡＮＩＤが「ＶＬＡＮＩＤ＝２０」から「ＶＬＡＮＩＤ＝１０」に変更されている。
【００６５】
ＶＬＡＮコントローラ２００は、たとえば、図１１に示すコンピュータにより実現される。この場合、ＶＬＡＮコントローラ２００は、プロセッサ２１１、メモリ２１２、記憶装置２１３、Ｉ／Ｏデバイス２１４、記録媒体デバイス２１５、通信インタフェース２１６を備える。
【００６６】
プロセッサ２１１は、記憶装置２１３に格納されている通信プログラムを実行することにより、スイッチ制御部２０１およびＶＬＡＮ選択部２０３の機能を提供することができる。なお、通信プログラムは、例えば、図９〜図１０に示すフローチャートの処理を記述する。メモリ２１２は、半導体メモリであり、プロセッサ２１１の作業領域として使用される。記憶装置２１３は、図１１に示すコンピュータ内に実装されていてもよいし、図１１に示すコンピュータに接続されていてもよい。Ｉ／Ｏデバイス２１４は、ユーザまたはネットワーク管理者の指示を受け付ける。また、Ｉ／Ｏデバイス２１４は、プロセッサ２１１による処理結果を出力する。記録媒体デバイス２１５は、可搬型記録媒体２１７から信号を読み取る。なお、上述した通信プログラムは、可搬型記録媒体２１７に記録されていてもよい。通信インタフェース２１６は、各仮想スイッチとの間の通信を提供することができる。
【００６７】
図１２は、仮想スイッチの処理の一例を示すフローチャートである。なお、このフローチャートは、ＶＬＡＮのマージに係わる処理を示す。
【００６８】
Ｓ２１において、各仮想スイッチは、ＶＬＡＮコントローラ２００から与えられるフィルタ設定指示に従って、ＭＡＣアドレスフィルタを更新する。図４に示す実施例では、仮想スイッチ１は、ＭＡＣアドレスフィルタに「ｂｂｂ」および「ｃｃｃ」を追加する。また、仮想スイッチ２、３は、それぞれＭＡＣアドレスフィルタに「ａａａ」を追加する。なお、ＭＡＣアドレスフィルタには、レイヤ２ネットワーク１００から受信するフレームを遮断すべきＭＡＣアドレスが登録される。
【００６９】
Ｓ２２〜Ｓ２４は、マージ元ＶＬＡＮを使用していた仮想スイッチにより実行される。図５〜図７に示す例では、Ｓ２２〜Ｓ２４は、仮想スイッチ２、３により実行される。
【００７０】
Ｓ２２において、各仮想スイッチは、ＶＬＡＮコントローラから与えられるＶＬＡＮ追加指示に従って、ＶＬＡＮ送信情報にマージ先ＶＬＡＮＩＤを追加する。図５に示す実施例では、仮想スイッチ２、３において、ＶＬＡＮ送信情報に「ＶＬＡＮＩＤ＝１０」が追加される。
【００７１】
Ｓ２３において、各仮想スイッチは、ＶＬＡＮコントローラから与えられるＶＬＡＮ変更指示に従って、ＶＬＡＮ受信情報においてマージ元ＶＬＡＮＩＤをマージ先ＶＬＡＮＩＤに変更する。図６に示す実施例では、仮想スイッチ２、３において、ＶＬＡＮ受信情報として登録されていた「ＶＬＡＮＩＤ＝２０」が「ＶＬＡＮＩＤ＝１０」に変更される。
【００７２】
Ｓ２４において、各仮想スイッチは、ＶＬＡＮコントローラから与えられるＶＬＡＮ削除指示に従って、ＶＬＡＮ送信情報からマージ元ＶＬＡＮＩＤを削除する。図７に示す実施例では、仮想スイッチ２、３において、ＶＬＡＮ送信情報から「ＶＬＡＮＩＤ＝２０」が削除される。
【００７３】
各仮想スイッチは、例えば、コンピュータが提供するプロセッサ資源およびメモリ資源により実現される。この場合、図１２に示すフローチャートの処理を記述したプログラムがメモリ資源に格納される。そして、プロセッサ資源がそのプログラムを実行することにより、仮想スイッチの機能が提供される。
【符号の説明】
【００７４】
１〜３  仮想スイッチ
１００  レイヤ２ネットワーク
２００  ＶＬＡＮコントローラ
２０１  スイッチ制御部
２０２データ管理部
２０３  ＶＬＡＮ選択部
２１１  プロセッサ
【図１】
2020078011.tif 000003
【図２】
2020078011.tif 000004
【図３】
2020078011.tif 000005
【図４】
2020078011.tif 000006
【図５】
2020078011.tif 000007
【図６】
2020078011.tif 000008
【図７】
2020078011.tif 000009
【図８】
2020078011.tif 000010
【図９】
2020078011.tif 000011
【図１０】
2020078011.tif 000012
【図１１】
2020078011.tif 000013
【図１２】
2020078011.tif 000014