(57)【要約】      （修正有）【課題】スイッチに接続するためのサーバの構成を管理する管理コンピュータを提供する。【解決手段】ターゲットサーバの仮想スイッチに、物理ＮＩＣと関連する仮想アダプタを作成するために、スイッチのターゲットスイッチポートに接続することを、ターゲットサーバに指示し、すべてのスイッチポートのＶＬＡＮ  ＩＤのリストを取得し、プリセットポリシーに基づいて、リストから１つ以上のＶＬＡＮ  ＩＤを選択し、１つの当該ＶＬＡＮ  ＩＤを仮想アダプタに設定し、ターゲットスイッチポートに、ＶＬＡＮ  ＩＤが設定されたパケットが送信されるように仮想アダプタを操作することを、ターゲットサーバに指示し、ターゲットスイッチポートに送信されたパケットを、スイッチが認識したら、発見されたＶＬＡＮ  ＩＤを持つターゲットスイッチポートに、仮想アダプタと関連する物理ＮＩＣをマップする。【選択図】なし【特許請求の範囲】
【請求項１】
スイッチに接続するための複数のサーバの構成を管理する管理コンピュータであって、前記管理コンピュータは、プロセッサ、メモリ、及びポートディスカバリモジュールを含み、前記ポートディスカバリモジュールは、
（ｉ）ターゲットサーバの仮想スイッチに、物理ＮＩＣ（Network Interface Card）と関連する仮想アダプタを作成するために、前記スイッチのターゲットスイッチポートに接続することを、前記複数のサーバの前記ターゲットサーバに指示し、
（ｉｉ）前記スイッチの、すべてのスイッチポートのＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）のリストを取得し、
（ｉｉｉ）プリセットポリシーに基づいて、前記リストから１つ以上のＶＬＡＮ  ＩＤを選択し、
（ｉｖ）前記選択された１つ以上のＶＬＡＮ  ＩＤのうち、１つのＶＬＡＮ  ＩＤを前記仮想アダプタに設定し、
（ｖ）前記ターゲットサーバから、前記スイッチの前記ターゲットスイッチポートに、前記ＶＬＡＮ  ＩＤが設定されたパケットが送信されるように前記仮想アダプタを操作することを、前記ターゲットサーバに指示し、
（ｖｉ）前記スイッチの、前記すべてのスイッチポートのサーバＭＡＣ（Machine Address Control）アドレステーブルを取得し、前記サーバＭＡＣアドレステーブルは、前記スイッチに接続された各サーバの、前記物理ＮＩＣ及び対応するＭＡＣアドレスについての情報を提供し、
（ｖｉｉ）前記ターゲットスイッチポートに前記設定されたＶＬＡＮ  ＩＤ、及び前記スイッチのポート構成テーブルの前記ターゲットスイッチポートのために更新された前記ＭＡＣアドレスに基づいて、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識したら、前記ポート構成テーブルは、前記ＭＡＣアドレスのＭＡＣアドレスリスト、及び前記スイッチの各スイッチポートのための対応するＶＬＡＮ  ＩＤを含み、前記更新されたＭＡＣアドレスは、前記ＭＡＣアドレスリストのうちの前記ターゲットスイッチポートのための１つの前記ＭＡＣアドレスであり、次に、発見されたＶＬＡＮ  ＩＤを持つ前記ターゲットスイッチポートに、前記ターゲットサーバの前記仮想アダプタと関連する前記物理ＮＩＣをマップするために、前記更新されたＭＡＣアドレス及び前記ターゲットスイッチポートを使用し、スイッチポートマッピングを更新し、
（ｖｉｉｉ）前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識せず、前記スイッチの前記ポート構成テーブルに、前記ターゲットサーバのＮＩＣの前記パケットの前記ＭＡＣアドレスがあれば、次に、前記仮想アダプタに次のＶＬＡＮ  ＩＤを設定し、前記ターゲットサーバから前記スイッチの前記ターゲットスイッチポートに、前記設定された次のＶＬＡＮ  ＩＤを持つ前記パケットを送信するために前記仮想アダプタを操作することを、前記ターゲットサーバに指示し、
（ｉｘ）前記発見されたＶＬＡＮ  ＩＤに基づいて、前記ターゲットサーバの前記ＮＩＣの前記パケットの前記ＭＡＣアドレスが前記スイッチによって認識されるまで、または前記リストに、前記次のＶＬＡＮ  ＩＤがない場合、（ｖｉ）から（ｖｉｉｉ）までを繰り返す、管理コンピュータ。
【請求項２】
前記スイッチポートマッピングを更新することは、前記スイッチに接続された前記各サーバのサーバ名、前記スイッチに接続された前記サーバの、各物理ＮＩＣの物理ＮＩＣ名、前記物理ＮＩＣに接続された前記スイッチポートのスイッチポート番号、及び前記物理ＮＩＣに接続された前記スイッチポートのスイッチＶＬＡＮ  ＩＤを含むスイッチポートマッピングテーブルを更新することを含む、請求項１に記載の管理コンピュータ。
【請求項３】
前記１つ以上のＶＬＡＮ  ＩＤは、以下の前記プリセットポリシーの１つに基づいて、前記リストから選択される：
（１）前記スイッチのすべての前記ＶＬＡＮ  ＩＤを選択する、
（２）前記サーバに接続された前記スイッチの、アクティブポートだけにあるＶＬＡＮ  ＩＤを選択する、
（３）前記サーバに接続された前記スイッチの、任意の前記アクティブポートにあるＶＬＡＮ  ＩＤを１つ選択する、請求項１に記載の管理コンピュータ。
【請求項４】
前記ポートディスカバリモジュールは、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識せず、前記リストに前記次のＶＬＡＮ  ＩＤがない場合、次に、前記発見されたＶＬＡＮ  ＩＤがないことを示すエラーメッセージを送信する、請求項１に記載の管理コンピュータ。
【請求項５】
前記ポートディスカバリモジュールは、前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識したら、前記サーバの接続グループに前記ターゲットサーバを追加するために、前記発見されたＶＬＡＮ  ＩＤを生成し、
前記接続グループのために前記１つ以上のＶＬＡＮ  ＩＤを選択し、
前記ターゲットサーバの前記物理ＮＩＣに接続されている前記ターゲットスイッチポートに、前記選択されたＶＬＡＮ  ＩＤを割り当てる、請求項１に記載の管理コンピュータ。
【請求項６】
前記ポートディスカバリモジュールは、前記ターゲットサーバの前記物理ＮＩＣに接続されている前記ターゲットスイッチポートに前記割り当てられたＶＬＡＮ  ＩＤ、及び前記対応するＭＡＣアドレスを使用して、接続グループテーブルを更新し、前記接続グループテーブルは、各接続グループの前記接続グループの前記サーバ、前記物理ＮＩＣの対応するサーバＭＡＣアドレス、前記割り当てられたＶＬＡＮ  ＩＤ、及び前記接続グループが外部ネットワークへ接続するためのものであるか、を含む、請求項５に記載の管理コンピュータ。
【請求項７】
前記接続グループのために前記１つ以上のＶＬＡＮ  ＩＤを選択することは、
前記接続グループが前記外部ネットワークへ接続するためのものであれば、次に、前記接続グループのために、１つ以上の外部ＶＬＡＮ  ＩＤを前記接続グループテーブルから選択することを、管理者に要求し、
前記接続グループが前記外部ネットワークへ接続するためのものではなく、選択が自動でない場合、次に、前記接続グループのために、１つ以上の内部ＶＬＡＮ  ＩＤを前記接続グループテーブルから選択することを、前記管理者に要求し、
前記接続グループが前記外部ネットワークへ接続するためのものではなく、前記選択が自動である場合、次に、前記接続グループのために、前記１つ以上の内部ＶＬＡＮ  ＩＤを前記接続グループテーブルから自動的に選択することを含む、請求項６に記載の管理コンピュータ。
【請求項８】
スイッチ、
複数のサーバ、及び
前記複数のサーバが前記スイッチへ接続する構成を管理する管理コンピュータを含み、
前記管理コンピュータは、プロセッサ、メモリ、及びポートディスカバリモジュールを含み、
前記スイッチのターゲットスイッチポートに接続される、前記複数のサーバのターゲットサーバは、前記ターゲットサーバの物理ＮＩＣ（Network Interface Card）と関連する仮想スイッチに仮想アダプタを作成するよう構成され、
前記ポートディスカバリモジュールは、前記スイッチのすべてのスイッチポートのＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）のリストを取得し、プリセットポリシーに基づいて、１つ以上のＶＬＡＮ  ＩＤを前記リストから選択し、前記選択された１つ以上のＶＬＡＮ  ＩＤのうち、１つのＶＬＡＮ  ＩＤを前記仮想アダプタに設定するよう構成され、
前記ターゲットサーバは、前記ターゲットサーバから前記スイッチの前記ターゲットスイッチポートに、前記ＶＬＡＮ  ＩＤが設定されたパケットが送信されるように前記仮想アダプタを操作するよう構成され、
前記ポートディスカバリモジュールは、
（ａ）前記スイッチの、前記すべてのスイッチポートのサーバＭＡＣ（Machine Address Control）アドレステーブルを取得し、前記サーバＭＡＣアドレステーブルは、前記スイッチに接続された各サーバの、前記物理ＮＩＣ及び対応するＭＡＣアドレスについての情報を提供し、
（ｂ）前記ターゲットスイッチポートに前記設定されたＶＬＡＮ  ＩＤ、及び前記スイッチのポート構成テーブルの前記ターゲットスイッチポートのために更新されたＭＡＣアドレスに基づいて、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識したら、前記ポート構成テーブルは、前記ＭＡＣアドレスのＭＡＣアドレスリスト、及び前記スイッチの各スイッチポートのための対応するＶＬＡＮ  ＩＤを含み、前記更新されたＭＡＣアドレスは、前記ＭＡＣアドレスリストのうちの前記ターゲットスイッチポートのための１つの前記ＭＡＣアドレスであり、次に、発見されたＶＬＡＮ  ＩＤを持つ前記ターゲットスイッチポートに、前記ターゲットサーバの前記仮想アダプタと関連する前記物理ＮＩＣをマップするために、前記更新されたＭＡＣアドレス及び前記ターゲットスイッチポートを使用し、スイッチポートマッピングを更新し、
（ｃ）前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識せず、前記スイッチの前記ポート構成テーブルに、前記ターゲットサーバのＮＩＣの前記パケットの前記ＭＡＣアドレスがあれば、次に、前記仮想アダプタに次のＶＬＡＮ  ＩＤを設定し、前記ターゲットサーバから前記スイッチの前記ターゲットスイッチポートに、前記設定された次のＶＬＡＮ  ＩＤを持つ前記パケットを送信するために前記仮想アダプタを操作することを、前記ターゲットサーバに指示し、
（ｄ）前記発見されたＶＬＡＮ  ＩＤに基づいて、前記ターゲットサーバの前記ＮＩＣの前記パケットの前記ＭＡＣアドレスが前記スイッチによって認識されるまで、または前記リストに、前記次のＶＬＡＮ  ＩＤがない場合、（ａ）から（ｃ）までを繰り返すように構成される、情報システム。
【請求項９】
前記１つ以上の前記ＶＬＡＮ  ＩＤは、以下の前記プリセットポリシーの１つに基づいて、前記リストから選択される：
（１）前記スイッチのすべての前記ＶＬＡＮ  ＩＤを選択する、
（２）前記サーバに接続された前記スイッチの、アクティブポートだけにあるＶＬＡＮ  ＩＤを選択する、
（３）前記サーバに接続された前記スイッチの、任意の前記アクティブポートにあるＶＬＡＮ  ＩＤを１つ選択する、請求項８に記載の情報システム。
【請求項１０】
前記ポートディスカバリモジュールは、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識せず、前記リストに前記次のＶＬＡＮ  ＩＤがない場合、次に、前記発見されたＶＬＡＮ  ＩＤがないことを示すエラーメッセージを送信する、請求項８に記載の情報システム。
【請求項１１】
前記ポートディスカバリモジュールは、前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識したら、前記サーバの接続グループに前記ターゲットサーバを追加するために、前記発見されたＶＬＡＮ  ＩＤを生成し、
前記接続グループのために前記１つ以上のＶＬＡＮ  ＩＤを選択し、
前記ターゲットサーバの前記物理ＮＩＣに接続されている前記ターゲットスイッチポートに、前記選択されたＶＬＡＮ  ＩＤを割り当てることを含む、請求項８に記載の情報システム。
【請求項１２】
前記ポートディスカバリモジュールは、前記ターゲットサーバの前記物理ＮＩＣに接続されている前記ターゲットスイッチポートに前記割り当てられたＶＬＡＮ  ＩＤ、及び前記対応するＭＡＣアドレスを使用して、接続グループテーブルを更新し、前記接続グループテーブルは、各接続グループの前記接続グループの前記サーバ、前記物理ＮＩＣの対応するサーバＭＡＣアドレス、前記割り当てられたＶＬＡＮ  ＩＤ、及び前記接続グループが外部ネットワークへ接続するためのものであるか、を含む、請求項１１に記載の情報システム。
【請求項１３】
前記接続グループのために前記１つ以上のＶＬＡＮ  ＩＤを選択することは、
前記接続グループが前記外部ネットワークへ接続するためのものであれば、次に、前記接続グループのために、１つ以上の外部ＶＬＡＮ  ＩＤを前記接続グループテーブルから選択することを、管理者に要求し、
前記接続グループが前記外部ネットワークへ接続するためのものではなく、選択が自動でない場合、次に、前記接続グループのために、１つ以上の内部ＶＬＡＮ  ＩＤを前記接続グループテーブルから選択することを、前記管理者に要求し、
前記接続グループが前記外部ネットワークへ接続するためのものではなく、前記選択が自動である場合、次に、前記接続グループのために、前記１つ以上の内部ＶＬＡＮ  ＩＤを前記接続グループテーブルから自動的に選択することを含む、請求項１２に記載の情報システム。
【請求項１４】
（ｉ）ターゲットサーバの仮想スイッチに、物理ＮＩＣ（Network Interface Card）と関連する仮想アダプタを作成するために、スイッチのターゲットスイッチポートに接続することを、複数のサーバの前記ターゲットサーバに指示すること、
（ｉｉ）前記スイッチの、すべてのスイッチポートのＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）のリストを取得すること、
（ｉｉｉ）プリセットポリシーに基づいて、前記リストから１つ以上のＶＬＡＮ  ＩＤを選択すること、
（ｉｖ）前記選択された１つ以上のＶＬＡＮ  ＩＤのうち、１つのＶＬＡＮ  ＩＤを前記仮想アダプタに設定すること、
（ｖ）前記ターゲットサーバから、前記スイッチの前記ターゲットスイッチポートに、前記ＶＬＡＮ  ＩＤが設定されたパケットが送信されるように前記仮想アダプタを操作することを、前記ターゲットサーバに指示すること、
（ｖｉ）前記スイッチの、前記すべてのスイッチポートのサーバＭＡＣ（Machine Address Control）アドレステーブルを取得し、前記サーバＭＡＣアドレステーブルは、前記スイッチに接続された各サーバの、前記物理ＮＩＣ及び対応するＭＡＣアドレスについての情報を提供すること、
（ｖｉｉ）前記ターゲットスイッチポートに前記設定されたＶＬＡＮ  ＩＤ、及び前記スイッチのポート構成テーブルの前記ターゲットスイッチポートのために更新された前記ＭＡＣアドレスに基づいて、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識したら、前記ポート構成テーブルは、前記ＭＡＣアドレスのＭＡＣアドレスリスト、及び前記スイッチの各スイッチポートのための対応するＶＬＡＮ  ＩＤを含み、前記更新されたＭＡＣアドレスは、前記ＭＡＣアドレスリストのうちのターゲットスイッチポートのための１つの前記ＭＡＣアドレスであり、次に、発見されたＶＬＡＮ  ＩＤを持つ前記ターゲットスイッチポートに、前記ターゲットサーバの前記仮想アダプタと関連する前記物理ＮＩＣをマップするために、前記更新されたＭＡＣアドレス及び前記ターゲットスイッチポートを使用し、スイッチポートマッピングを更新すること、
（ｖｉｉｉ）前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識せず、前記スイッチの前記ポート構成テーブルに、前記ターゲットサーバのＮＩＣの前記パケットの前記ＭＡＣアドレスがあれば、次に、前記仮想アダプタに次のＶＬＡＮ  ＩＤを設定し、前記ターゲットサーバから前記スイッチの前記ターゲットスイッチポートに、前記設定された次のＶＬＡＮ  ＩＤを持つ前記パケットを送信するために前記仮想アダプタを操作することを、前記ターゲットサーバに指示すること、
（ｉｘ）前記発見されたＶＬＡＮ  ＩＤに基づいて、前記ターゲットサーバの前記ＮＩＣの前記パケットの前記ＭＡＣアドレスが前記スイッチによって認識されるまで、または前記リストに、前記次のＶＬＡＮ  ＩＤがない場合、（ｖｉ）から（ｖｉｉｉ）までを繰り返すことを含む、前記スイッチに接続するための前記複数のサーバの構成を管理する方法。
【請求項１５】
前記スイッチポートマッピングを更新することは、前記スイッチに接続された前記各サーバのサーバ名、前記スイッチに接続された前記サーバの、各物理ＮＩＣの物理ＮＩＣ名、前記物理ＮＩＣに接続された前記スイッチポートのスイッチポート番号、及び前記物理ＮＩＣに接続された前記スイッチポートのスイッチＶＬＡＮ  ＩＤを含むスイッチポートマッピングテーブルを更新することを含む、請求項１４に記載の方法。
【請求項１６】
前記１つ以上のＶＬＡＮ  ＩＤは、以下の前記プリセットポリシーの１つに基づいて、前記リストから選択される：
（１）前記スイッチのすべての前記ＶＬＡＮ  ＩＤを選択すること、
（２）前記サーバに接続された前記スイッチの、アクティブポートだけにあるＶＬＡＮ  ＩＤを選択すること、
（３）前記サーバに接続された前記スイッチの、任意の前記アクティブポートにあるＶＬＡＮ  ＩＤを１つ選択することを含む、請求項１４に記載の方法。
【請求項１７】
前記ポートディスカバリモジュールは、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識せず、前記リストに前記次のＶＬＡＮ  ＩＤがない場合、次に、前記発見されたＶＬＡＮ  ＩＤがないことを示すエラーメッセージを送信することをさらに含む、請求項１４に記載の方法。
【請求項１８】
前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識したら、前記サーバの接続グループに前記ターゲットサーバを追加するために、前記発見されたＶＬＡＮ  ＩＤを生成すること、
前記接続グループのために前記１つ以上のＶＬＡＮ  ＩＤを選択すること、
前記ターゲットサーバの前記物理ＮＩＣに接続されている前記ターゲットスイッチポートに、前記選択されたＶＬＡＮ  ＩＤを割り当てることをさらに含む、請求項１４に記載の方法。
【請求項１９】
前記ターゲットサーバの前記物理ＮＩＣに接続されている前記ターゲットスイッチポートに前記割り当てられたＶＬＡＮ  ＩＤ、及び前記対応するＭＡＣアドレスを使用して、接続グループテーブルを更新し、前記接続グループテーブルは、各接続グループの前記接続グループの前記サーバ、前記物理ＮＩＣの対応するサーバＭＡＣアドレス、前記割り当てられたＶＬＡＮ  ＩＤ、及び前記接続グループが外部ネットワークへ接続するためのものであるか、をさらに含む、請求項１８に記載の方法。
【請求項２０】
前記接続グループのために前記１つ以上のＶＬＡＮ  ＩＤを選択することは、
前記接続グループが前記外部ネットワークへ接続するためのものであれば、次に、前記接続グループのために、１つ以上の外部ＶＬＡＮ  ＩＤを前記接続グループテーブルから選択することを、管理者に要求すること、
前記接続グループが前記外部ネットワークへ接続するためのものではなく、選択が自動でない場合、次に、前記接続グループのために、１つ以上の内部ＶＬＡＮ  ＩＤを前記接続グループテーブルから選択することを、前記管理者に要求すること、
前記接続グループが前記外部ネットワークへ接続するためのものではなく、前記選択が自動である場合、次に、前記接続グループのために、前記１つ以上の内部ＶＬＡＮ  ＩＤを前記接続グループテーブルから自動的に選択することを含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は、概してクラウドデータセンタにおいて、スイッチ及びサーバをＶＬＡＮ（Virtual Local Area Network）で動的に構成する方法及び装置に関する。
【背景技術】
【０００２】
０００２    クラウドデータセンタには、異なるベンダの数千のサーバ及びスイッチが存在するため、ネットワーク構成が複雑である。ネットワーク、サーバ、またはストレージの管理を担うＤＣＡ（Data Center Administrator）が、ネットワークケーブリング及びネットワークスイッチ及びサーバの設定を実施すると、ユーザの要求に従って設計を変更したり、新たな設計を実装したりすることは困難である。ネットワークにはいくつかのＶＬＡＮが存在する。ＶＬＡＮはイーサネット（登録商標）スイッチに実装され、ＩＥＥＥ８０２．１Ｑに準拠する。管理者がイーサネット（登録商標）スイッチにサーバノードを追加する時、管理者はＶＬＡＮを構成する必要がある。
【０００３】
０００３    先行技術の特開２００７−２４３７４０Ａ号公報では、スイッチポートがＶＬＡＮを端末から発見する方法が開示されている。本発明は、ＶＬＡＮ  ＩＤ（Virtual network identifier）によって確認されたＶＬＡＮの使用が可能であるかどうかを、事前に登録してあるＶＬＡＮ  ＩＤを使って確認する。
【０００４】
０００４    特開２００７−２４３７４０Ａ号公報では、スイッチポートのＶＬＡＮ  ＩＤを発見する方法が開示されている。本発明は、ＶＬＡＮ  ＩＤ（Virtual network identifier）によって確認されたＶＬＡＮの使用が可能であるかどうかを、事前に登録してあるＶＬＡＮ  ＩＤを使って確認する。最悪の場合、例えば０から４，０９１までのすべてのＶＬＡＮ  ＩＤを、端末が使用しなければならないことがある。したがって、発見されるまで、その管理者は長時間待つことになる。クラウドデータセンタのネットワークにサーバを追加する時に、手作業によるネットワーク構成及びテストを必要としない、効率的な手法をＤＣＡは求めている。
【０００５】
０００５    米国特許第７，７９６，６１３号明細書では、デバイスのポートにおける不整合なＶＬＡＮ  ＩＤを検出する方法が開示されている。その発明では、別のデバイスのターゲットポートから、ある特定のＶＬＡＮ  ＩＤにアクセスすることができるかどうかを確認する。別のデバイスがＶＬＡＮ  ＩＤを付加しないでパケットを送信した場合や、意図していたＶＬＡＮとは異なるＶＬＡＮのデバイスに誤って送信した場合、デバイスはユーザにエラーメッセージを送信する。しかし、米国特許第７，７９６，６１３号明細書には、スイッチにおける、ホスト及びポートのネットワークアダプタを発見してマッピングし、新たなＶＬＡＮを設定することについて記載されていない。
【発明の概要】
【０００６】
０００６    本発明の例示的な実施形態は、ホストのネットワークアダプタが、スイッチに接続されているかどうかを判定するための方法及びシステムを提供する。システムは、サーバホスト、スイッチに接続されたホスト、及びサーバ及びスイッチ用の管理サーバを備える。各スイッチは、スイッチのスイッチポートと、スイッチに接続されているホストのネットワークアダプタのＭＡＣアドレスとの間のマッピングを含む、スイッチのＭＡＣ（Machine Address Control）アドレステーブルを定期的に更新する。トラフィックがスイッチポートを通過してもよい場合にだけ、スイッチはポートのために関係を更新する。スイッチポートのＶＬＡＮ番号の１つがトラフィックにタグ付けされている場合を除いて、ＩＥＥＥ８０２．１Ｑに準拠するＶＬＡＮ番号（ＶＬＡＮ  ＩＤ）がスイッチポートにタグ付けされている時は、トラフィックの通過は許可されない。結果として、スイッチポートと、ホストのネットワークアダプタとの間のマッピングを判定することはできない。
【０００７】
０００７    特定の実施形態では、スイッチポートと、ＭＡＣアドレスとの間の欠落したマッピングを判定する方法が開示されている。ＶＬＡＮのリストから選択されたＶＬＡＮを使用して、各ネットワークアダプタからトラフィックフローを強制的に出し、管理サーバのＩＥＥＥ８０２．１Ｑに準拠するスイッチからＭＡＣアドレステーブルに問い合わせる。さらに、この方法は、ＶＬＡＮにおけるホスト/サーバのグループのＭＡＣアドレス間で通信を行えるよう、発見されたマッピングのために、発見されたあとに、ＶＬＡＮ  ＩＤを設定するという概念を紹介している。本発明では、スイッチ及びサーバと通信を行える管理サーバを使用し、サーバのＮＩＣ（Network Interface Card）と、スイッチポートとの間のマッピングを発見し、サーバグループと通信を行えるよう新たなＶＬＡＮを設定することができる。また、大きいデータセンタのＤＣＡは、管理サーバのＮＩＣと、スイッチポートとの間のマッピングの発見を、効率良く自動化することができる。
【０００８】
０００８      本発明の一態様は、スイッチに接続するための複数のサーバの構成を管理する管理コンピュータであって、前記管理コンピュータは、プロセッサ、メモリ、及びポートディスカバリモジュールを含むものである。前記ポートディスカバリモジュールは、（ｉ）ターゲットサーバの仮想スイッチに、物理ＮＩＣ（Network Interface Card）と関連する仮想アダプタを作成するために、前記スイッチのターゲットスイッチポートに接続することを、前記複数のサーバの前記ターゲットサーバに指示し、（ｉｉ）前記スイッチの、すべてのスイッチポートのＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）のリストを取得し、（ｉｉｉ）プリセットポリシーに基づいて、前記リストから１つ以上のＶＬＡＮ  ＩＤを選択し、（ｉｖ）前記選択された１つ以上のＶＬＡＮ  ＩＤのうち、１つのＶＬＡＮ  ＩＤを前記仮想アダプタに設定し、（ｖ）前記ターゲットサーバから、前記スイッチの前記ターゲットスイッチポートに、前記ＶＬＡＮ  ＩＤが設定されたパケットが送信されるように前記仮想アダプタを操作することを、前記ターゲットサーバに指示し、（ｖｉ）前記スイッチの、前記すべてのスイッチポートのサーバＭＡＣ（Machine Address Control）アドレステーブルを取得し、前記サーバＭＡＣアドレステーブルは、前記スイッチに接続された各サーバの、前記物理ＮＩＣ及び対応するＭＡＣアドレスについての情報を提供し、（ｖｉｉ）前記ターゲットスイッチポートに前記設定されたＶＬＡＮ  ＩＤ、及び前記スイッチのポート構成テーブルの前記ターゲットスイッチポートのために更新された前記ＭＡＣアドレスに基づいて、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識したら、前記ポート構成テーブルは、前記ＭＡＣアドレスのＭＡＣアドレスリスト、及び前記スイッチの各スイッチポートのための対応するＶＬＡＮ  ＩＤを含み、前記更新されたＭＡＣアドレスは、前記ＭＡＣアドレスリストのうちの前記ターゲットスイッチポートのための１つの前記ＭＡＣアドレスであり、次に、発見されたＶＬＡＮ  ＩＤを持つ前記ターゲットスイッチポートに、前記ターゲットサーバの前記仮想アダプタと関連する前記物理ＮＩＣをマップするために、前記更新されたＭＡＣアドレス及び前記ターゲットスイッチポートを使用し、スイッチポートマッピングを更新し、（ｖｉｉｉ）前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識せず、前記スイッチの前記ポート構成テーブルに、前記ターゲットサーバのＮＩＣの前記パケットの前記ＭＡＣアドレスがあれば、次に、前記仮想アダプタに次のＶＬＡＮ  ＩＤを設定し、前記ターゲットサーバから前記スイッチの前記ターゲットスイッチポートに、前記設定された次のＶＬＡＮ  ＩＤを持つ前記パケットを送信するために前記仮想アダプタを操作することを、前記ターゲットサーバに指示し、（ｉｘ）前記発見されたＶＬＡＮ  ＩＤに基づいて、前記ターゲットサーバの前記ＮＩＣの前記パケットの前記ＭＡＣアドレスが前記スイッチによって認識されるまで、または前記リストに、前記次のＶＬＡＮ  ＩＤがない場合、（ｖｉ）から（ｖｉｉｉ）までを繰り返す管理コンピュータ。
【０００９】
０００９    ある実施形態では、スイッチポートマッピングを更新することは、前記スイッチに接続された前記各サーバのサーバ名、前記スイッチに接続された前記サーバの、各物理ＮＩＣの物理ＮＩＣ名、前記物理ＮＩＣに接続された前記スイッチポートのスイッチポート番号、及び前記物理ＮＩＣに接続された前記スイッチポートのスイッチＶＬＡＮ  ＩＤを含むスイッチポートマッピングテーブルを更新することを含む。前記１つ以上のＶＬＡＮ  ＩＤは、以下の前記プリセットポリシーの１つに基づいて、前記リストから選択される：（１）前記スイッチのすべての前記ＶＬＡＮ  ＩＤを選択する、（２）前記サーバに接続された前記スイッチの、アクティブポートだけにあるＶＬＡＮ  ＩＤを選択する、（３）前記サーバに接続された前記スイッチの、任意の前記アクティブポートにあるＶＬＡＮ  ＩＤを１つ選択する。前記ポートディスカバリモジュールは、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識せず、前記リストに前記次のＶＬＡＮ  ＩＤがない場合、次に、前記発見されたＶＬＡＮ  ＩＤがないことを示すエラーメッセージを送信する。
【００１０】
００１０    特定の実施形態では、前記ポートディスカバリモジュールは、前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識したら、前記サーバの接続グループに前記ターゲットサーバを追加するために、前記発見されたＶＬＡＮ  ＩＤを生成し、前記接続グループのために前記１つ以上のＶＬＡＮ  ＩＤを選択し、前記ターゲットサーバの前記物理ＮＩＣに接続されている前記ターゲットスイッチポートに、前記選択されたＶＬＡＮ  ＩＤを割り当てる。前記ポートディスカバリモジュールは、前記ターゲットサーバの前記物理ＮＩＣに接続されている前記ターゲットスイッチポートに前記割り当てられたＶＬＡＮ  ＩＤ、及び前記対応するＭＡＣアドレスを使用して、接続グループテーブルを更新し、前記接続グループテーブルは、各接続グループの前記接続グループの前記サーバ、前記物理ＮＩＣの対応するサーバＭＡＣアドレス、前記割り当てられたＶＬＡＮ  ＩＤ、及び前記接続グループが外部ネットワークへ接続するためのものであるか、を含む。前記接続グループのために前記１つ以上のＶＬＡＮ  ＩＤを選択することは、前記接続グループが前記外部ネットワークへ接続するためのものであれば、次に、前記接続グループのために、１つ以上の外部ＶＬＡＮ  ＩＤを前記接続グループテーブルから選択することを、管理者に要求し、前記接続グループが前記外部ネットワークへ接続するためのものではなく、選択が自動でない場合、次に、前記接続グループのために、１つ以上の内部ＶＬＡＮ  ＩＤを前記接続グループテーブルから選択することを、前記管理者に要求し、前記接続グループが前記外部ネットワークへ接続するためのものではなく、前記選択が自動である場合、次に、前記接続グループのために、前記１つ以上の内部ＶＬＡＮ  ＩＤを前記接続グループテーブルから自動的に選択することを含む。
【００１１】
００１１    本発明の他の態様は、スイッチ、複数のサーバ、及び前記複数のサーバが前記スイッチへ接続する構成を管理する管理コンピュータを含み、前記管理コンピュータは、プロセッサ、メモリ、及びポートディスカバリモジュールを含む。前記スイッチのターゲットスイッチポートに接続される、前記複数のサーバのターゲットサーバは、前記ターゲットサーバの物理ＮＩＣ（Network Interface Card）と関連する仮想スイッチに仮想アダプタを作成するよう構成される。前記ポートディスカバリモジュールは、前記スイッチのすべてのスイッチポートのＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）のリストを取得し、プリセットポリシーに基づいて、１つ以上のＶＬＡＮ  ＩＤを前記リストから選択し、前記選択された１つ以上のＶＬＡＮ  ＩＤのうち、１つのＶＬＡＮ  ＩＤを前記仮想アダプタに設定するよう構成される。前記ターゲットサーバは、前記ターゲットサーバから前記スイッチの前記ターゲットスイッチポートに、前記ＶＬＡＮ  ＩＤが設定されたパケットが送信されるように前記仮想アダプタを操作するよう構成される。前記ポートディスカバリモジュールは、（ａ）前記スイッチの、前記すべてのスイッチポートのサーバＭＡＣ（Machine Address Control）アドレステーブルを取得し、前記サーバＭＡＣアドレステーブルは、前記スイッチに接続された各サーバの、前記物理ＮＩＣ及び対応するＭＡＣアドレスについての情報を提供し、（ｂ）前記ターゲットスイッチポートに前記設定されたＶＬＡＮ  ＩＤ、及び前記スイッチのポート構成テーブルの前記ターゲットスイッチポートのために更新されたＭＡＣアドレスに基づいて、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識したら、前記ポート構成テーブルは、前記ＭＡＣアドレスのＭＡＣアドレスリスト、及び前記スイッチの各スイッチポートのための対応するＶＬＡＮ  ＩＤを含み、前記更新されたＭＡＣアドレスは、前記ＭＡＣアドレスリストのうちの前記ターゲットスイッチポートのための１つの前記ＭＡＣアドレスであり、次に、発見されたＶＬＡＮ  ＩＤを持つ前記ターゲットスイッチポートに、前記ターゲットサーバの前記仮想アダプタと関連する前記物理ＮＩＣをマップするために、前記更新されたＭＡＣアドレス及び前記ターゲットスイッチポートを使用し、スイッチポートマッピングを更新し、（ｃ）前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識せず、前記スイッチの前記ポート構成テーブルに、前記ターゲットサーバのＮＩＣの前記パケットの前記ＭＡＣアドレスがあれば、次に、前記仮想アダプタに次のＶＬＡＮ  ＩＤを設定し、前記ターゲットサーバから前記スイッチの前記ターゲットスイッチポートに、前記設定された次のＶＬＡＮ  ＩＤを持つ前記パケットを送信するために前記仮想アダプタを操作することを、前記ターゲットサーバに指示し、（ｄ）前記発見されたＶＬＡＮ  ＩＤに基づいて、前記ターゲットサーバの前記ＮＩＣの前記パケットの前記ＭＡＣアドレスが前記スイッチによって認識されるまで、または前記リストに、前記次のＶＬＡＮ  ＩＤがない場合、（ａ）から（ｃ）までを繰り返すように構成される、情報システム。
【００１２】
００１２    本発明の他の態様は、（ｉ）ターゲットサーバの仮想スイッチに、物理ＮＩＣ（Network Interface Card）と関連する仮想アダプタを作成するために、スイッチのターゲットスイッチポートに接続することを、複数のサーバの前記ターゲットサーバに指示することと、（ｉｉ）前記スイッチの、すべてのスイッチポートのＶＬＡＮ  ＩＤ（Virtual Local Area Network Identifier）のリストを取得することと、（ｉｉｉ）プリセットポリシーに基づいて、前記リストから１つ以上のＶＬＡＮ  ＩＤを選択することと、（ｉｖ）前記選択された１つ以上のＶＬＡＮ  ＩＤのうち、１つのＶＬＡＮ  ＩＤを前記仮想アダプタに設定することと、（ｖ）前記ターゲットサーバから、前記スイッチの前記ターゲットスイッチポートに、前記ＶＬＡＮ  ＩＤが設定されたパケットが送信されるように前記仮想アダプタを操作することを、前記ターゲットサーバに指示することと、（ｖｉ）前記スイッチの、前記すべてのスイッチポートのサーバＭＡＣ（Machine Address Control）アドレステーブルを取得し、前記サーバＭＡＣアドレステーブルは、前記スイッチに接続された各サーバの、前記物理ＮＩＣ及び対応するＭＡＣアドレスについての情報を提供することと、（ｖｉｉ）前記ターゲットスイッチポートに前記設定されたＶＬＡＮ  ＩＤ、及び前記スイッチのポート構成テーブルの前記ターゲットスイッチポートのために更新された前記ＭＡＣアドレスに基づいて、前記ターゲットスイッチポートに送信された前記パケットを、前記スイッチが認識したら、前記ポート構成テーブルは、前記ＭＡＣアドレスのＭＡＣアドレスリスト、及び前記スイッチの各スイッチポートのための対応するＶＬＡＮ  ＩＤを含み、前記更新されたＭＡＣアドレスは、前記ＭＡＣアドレスリストのうちのターゲットスイッチポートのための１つの前記ＭＡＣアドレスであり、次に、発見されたＶＬＡＮ  ＩＤを持つ前記ターゲットスイッチポートに、前記ターゲットサーバの前記仮想アダプタと関連する前記物理ＮＩＣをマップするために、前記更新されたＭＡＣアドレス及び前記ターゲットスイッチポートを使用し、スイッチポートマッピングを更新することと、（ｖｉｉｉ）前記ターゲットスイッチポートに送信された前記パケットを前記スイッチが認識せず、前記スイッチの前記ポート構成テーブルに、前記ターゲットサーバのＮＩＣの前記パケットの前記ＭＡＣアドレスがあれば、次に、前記仮想アダプタに次のＶＬＡＮ  ＩＤを設定し、前記ターゲットサーバから前記スイッチの前記ターゲットスイッチポートに、前記設定された次のＶＬＡＮ  ＩＤを持つ前記パケットを送信するために前記仮想アダプタを操作することを、前記ターゲットサーバに指示することと、（ｉｘ）前記発見されたＶＬＡＮ  ＩＤに基づいて、前記ターゲットサーバの前記ＮＩＣの前記パケットの前記ＭＡＣアドレスが前記スイッチによって認識されるまで、または前記リストに、前記次のＶＬＡＮ  ＩＤがない場合、（ｖｉ）から（ｖｉｉｉ）までを繰り返すこととを含む、前記スイッチに接続するための前記複数のサーバの構成を管理する方法。
【００１３】
００１３    本発明の上記及びその他の特徴及び効果は、特定の実施形態についての以下の詳細な説明を考慮することにより、当業者にとって明らかとなるであろう。
【図面の簡単な説明】
【００１４】
【図１】００１４    図１は、本発明の方法及び装置が適用され得る情報システムのハードウェア構成の一例を示す。
【図２】００１５    図２は、図１のアーキテクチャに、本発明の論理構成を適用したアーキテクチャの一例を示す。
【図３】００１６    図３は、スイッチのポート構成のためのポート構成テーブルの一例を示す。
【図４】００１７    図４は、管理サーバのＮＩＣ  ＭＡＣアドレスのサーバＭＡＣアドレステーブルの一例を示す。
【図５】００１８    図５は、スイッチの各ポートにおいて発見されたＭＡＣ及びＶＬＡＮ  ＩＤの、発見されたサーバ接続テーブルの一例を示す。
【図６】００１９    図６は、サーバ、ポート、ＶＬＡＮ間のスイッチポートマッピングテーブルの一例を示す。
【図７】００２０    図７は、ＶＬＡＮ  ＩＤプールテーブルの一例を示す。
【図８】００２１    図８は、サーバにおけるスイッチのポートの、接続グループの接続グループテーブルの一例を示す。
【図９】００２２    図９は、ソートされたＶＬＡＮ  ＩＤテーブルの一例を示す。
【図１０】００２３    図１０は、ＶＬＡＮネットワークにアクセスするための、イーサネット（登録商標）のフレーム形式の一例を示す。
【図１１】００２４    図１１は、サーバ追加処理のフローチャートの一例を示す。
【図１２】００２５    図１２は、ポートディスカバリが必要であるかを確認するためのプレステップのフローチャートの一例を示す。
【図１３】００２６    図１３は、管理サーバのポートディスカバリモジュールにおいてポートのディスカバリが実行されるメインポートディスカバリ処理のフローチャートの一例を示す。
【図１４】００２７    図１４は、管理サーバのポートディスカバリモジュールを実行することによって発見されたスイッチのポートに、ＶＬＡＮ  ＩＤを割り当てる処理のフローチャートの一例を示す。
【図１５】００２８    図１５は、図１４のステップ１４０２において、ＶＬＡＮ  ＩＤを選択する処理のフローチャートの一例を示す。
【図１６】００２９    図１６は、スイッチポートにＶＬＡＮ  ＩＤを割り当てる処理の一例を示す。
【図１７】００３０    図１７は、パケットの送信に失敗した場合に行われる、サーバのＭＡＣと、スイッチポートとの間のマッピングのリディスカバリの論理構成を示す。
【図１８】００３１    図１８は、図１４のステップ１５０５において、ＶＬＡＮ  ＩＤが自動的に設定されるように、接続グループでＶＬＡＮ  ＩＤを選択する処理のフローチャートの一例を示す。
【図１９】００３２    図１９は、ＶＭ（Virtual Machine）を作成する場合に、各ＶＭにＶＬＡＮ  ＩＤを設定する処理の、フローチャートの一例を示す。
【図２０】００３３    図２０は、接続グループにサーバを追加した場合、各ＶＭにＶＬＡＮ  ＩＤを割り当てるシステム構成の一例を示す。
【発明を実施するための形態】
【００１５】
００３４    以下の本発明についての詳細な説明では、開示の一部を成すとともに、それによって本発明が実施され得る例示的実施形態が実例として（但し限定ではない）示される、添付の図面を参照する。当該図面において、類似の数字は、いくつかの図面を通してほぼ同様の構成要素を示すものである。また、留意すべき点として、詳細な説明では様々な例示的実施形態を提供する（以下に説明し、かつ図面で示される通り）が、本発明は本明細書において説明されかつ示される実施形態に限定されず、当業者が知っているであろう又は知るようになり得るその他の実施形態にも及び得る。本明細書における「一実施形態」、「本実施形態」、又は「上述の実施形態」の言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書の様々な箇所において上記文言が使用されていても、必ずしもすべてが同一の実施形態を言及するものではない。さらに、以下の詳細な説明において、本発明を徹底して理解できるように、多くの具体的な詳細が記載されている。但し、本発明を実施するためにこれらの具体的な詳細すべてが必要なわけではないことは、当業者にとって明らかであろう。他の状況では、本発明を不必要に曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースの詳細については説明しておらず、かつ／又はブロック図において図示している場合もある。
【００１６】
００３５    さらに、以下の詳細な説明の一部は、コンピュータ内のオペレーションのアルゴリズム及び象徴的な態様に関して示されている。これらのアルゴリズム記述及び象徴的な態様は、データ処理分野の当業者がその新しいアイディアのエッセンスを最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムとは、望ましい最終状態又は結果へと導く一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を達成するための相当量の物理的操作を必要とする。通常は（必ずしもそうではないが）、当該数量は、格納、転送、組み合わせ、比較、その他の操作が可能な電気もしくは磁気信号又は命令の形態を取る。主に一般的な使用のために、上記の信号をビット、値、要素、記号、文字、用語、数字、命令等として言及することが時として便利であることが証明されている。但し、上記の及び類似の用語のすべてが、適切な物理数量に関連付けられるものであり、かつ当該数量に適用される単に便利なラベルであることを留意すべきである。別段の記載がない限り、以下の解説から明らかなように、当然のことながら説明全体を通して、「処理」、「演算」、「計算」、「判断」、「表示」等の用語を用いた解説は、コンピュータシステムのレジスタ及びメモリ内の物理的（電子的）数量として表わされるデータを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置の中の物理的数量として同様に表わされるその他のデータに操作しかつ変換する、コンピュータシステム又はその他の情報処理装置の動作又はプロセスを含み得る。
【００１７】
００３６    本発明は、本明細書における動作を実施する装置にも関する。この装置は、必要とされる目的のために特別に構築してもよく、又は一つ以上のコンピュータプログラムによって選択的に起動又は再構成された一つ以上の汎用コンピュータを含み得る。当該コンピュータプログラムは、光ディスク、磁気ディスク、読取専用記憶装置（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ソリッドステート装置及びドライブ、又は電子情報の格納に適したその他の種類の媒体等（但し、これらに限定されない）のコンピュータ読取可能記憶媒体に格納され得る。本明細書において示されるアルゴリズム及び提示は、特定のコンピュータ又はその他の装置に本質的に関係しているわけではない。様々な汎用システムを、本明細書における教示に従ってプログラム及びモジュールと共に使用してもよく、又は望ましい方法ステップを実施するためにより特化した装置を構築することが都合がよいということが判明するかもしれない。さらに、本発明は、特定のプログラミング言語を参照して説明されてはいない。当然のことながら、本明細書に記載されている通りに本発明の教示を実施するために、様々なプログラミング言語を使用してもよい。プログラミング言語の命令は、一つ以上の処理装置、例えば中央処理装置（ＣＰＵ）、プロセッサ、又はコントローラによって実行され得る。
【００１８】
００３７    以下により詳細に示す本発明の例示的実施形態は、クラウドデータセンタにおいて動的にスイッチ及びサーバをＶＬＡＮで構成するための装置、方法及びコンピュータプログラムを提供する。
【００１９】
００３８    例示的な実施形態によると、管理サーバ１００は、ＶＬＡＮ  ＩＤがタグ付けされているイーサネット（登録商標）パケットが、スイッチに対して発行する、サーバのＮＩＣと、ＩＥＥＥ８０２．１Ｑに準拠するイーサネット（登録商標）スイッチ２００のポートとの間のマッピングを探索する。スイッチには、既知のスイッチトランクタグ、つまり許容されたＶＬＡＮタグが存在する。本発明のメリットは、サーバに接続グル―プを作成するために、ＶＬＡＮタグを効率的に発見することができることと、スイッチの発見されたポートでは使用されていない、ユーザが指定したＶＬＡＮ  ＩＤを設定することができることである。以下、システム構成の構成要素、構成要素の挙動を示すフローチャート、及び全体的なシステムの働きについて説明する。
【００２０】
００３９    図１は、本発明の方法及び装置が適用され得る情報システムのハードウェア構成の一例を示す。システムは、管理サーバ１００、特定の実施形態ではＩＥＥＥ８０２．１Ｑに準拠するイーサネット（登録商標）スイッチである、少なくとも一つのスイッチ２００、及びサーバ３００（「ホスト」とも呼ぶ）。管理サーバ１００及びサーバ３００は、パソコンのサーバであってよい。パソコンの各サーバは、ＣＰＵ、メモリ、ディスク、ＮＩＣ（Network Interface Card）１０１を備える。ＮＩＣは、ポートとしてアクセスすることができる、固有のＭＡＣ（Media Access Control）アドレスを持っている。イーサネット（登録商標）スイッチ２００は、ポケットプロセッサ、ポート２１０、及びメモリを備える。イーサネット（登録商標）スイッチ２００は、ＩＥＥＥ８０２．１Ｑに準拠するＶＬＡＮ  ＩＤを使用して、ポート２１０間に接続を提供す。ポート２１０の１つのＶＬＡＮ  ＩＤがトラフィックにタグ付けされている場合を除いて、トラフィックの通過は許可されない。スイッチ２００は、各ポートのＭＡＣアドレステーブルを定期的に更新する。どのサーバのＭＡＣアドレスがアクセスされたかを探索するときに、ＭＡＣアドレステーブルが使用されてもよい。管理サーバ１００及びスイッチ２００は管理ラック５００に位置している。サーバ３００は、計算ラック６００に位置している。ＤＣＡは、複数の計算ラック６００を使用して、計算機能力を向上させることができる。接続に関連すると、管理サーバ１００及びサーバ３００は、ＩＥＥＥ８０２．３ａｂ、ＩＥＥＥ８０２．３ｚ、またはその他のイーサネット（登録商標）フレーム転送可能な規格に準拠するイーサネット（登録商標）銅ケーブルまたはファイバを介して、イーサネット（登録商標）スイッチ２００に接続する。また、イーサネット（登録商標）は、インターネットなどの外部ネットワーク８１０、またはイントラネットなどの企業内ネットワークに、イーサネット（登録商標）を介して接続されてよい。イーサネット（登録商標）スイッチ２００は、データセンタ配線ネットワーク８２０を介してサーバ３００に接続する。データセンタ配線ネットワーク８２０は、ＶＬＡＮ  ＩＤのイーサネット（登録商標）パケットが通過することができるケーブルを備える。ケーブルはブリッジケーブルとして、スイッチまたはハブなどを接続することができる。このネットワークは、ポート及びＮＩＣを直接接続する、ポイントツーポイントネットワークである。
【００２１】
００４０    図２は、図１のアーキテクチャに、本発明の論理構成を適用したアーキテクチャの一例を示す。主要な構成要素は、管理サーバ１００のポートディスカバリモジュール１１０である。ポートディスカバリモジュール１１０は、管理サーバ１００のＮＩＣ１０１、スイッチポートマッピングテーブル１２０、ＭＡＣアドレステーブル１３０、図３のポート構成テーブル９００に基づく発見されたサーバ接続テーブル１４０、ＶＬＡＮ  ＩＤプールテーブル１５０、接続グループテーブル１６０、及びソートされたＶＬＡＮ  ＩＤテーブル１７０を使用して、本発明を可能にする。以下に、テーブルの詳細を説明する。
【００２２】
００４１    イーサネット（登録商標）スイッチ２００は、ポート番号、ポートのＶＬＡＮ、及びポートで発見されたＭＡＣアドレスの列を含む、図５に図示されているような発見されたサーバ接続テーブル１４０を備える。ＤＣＡは、スイッチの各ポート２１０に、モードを設定してもよい。モードについては、３種類のモードがある。１種類目はデフォルトモードである。このモードでは、どのようなパケットがどのようなポートを通過することもできる。ほとんどのベンダが、デフォルトモードをデフォルトとして設定している。２種類目はアクセスモードである。このモードでは、ネットワークＩＤを使用して、ＤＣＡが指定したスイッチのポートを、どのようなパケットが通過することができる。例えば、ポート１００はスイッチにネットワークＩＤを１つ持ち、ポート１０１はネットワークＩＤを１つ持っている。このような場合、パケットをポート１が受信した場合、ＶＬＡＮ  ＩＤにかかわらず、スイッチはパケットをポート１０１に転送する。ほとんどの場合、ＤＣＡはエンドノードを接続するために、アクセスモードを使用する。３種類目は、トランクモードである。トランクモードは８０２．１ＱＶＬＡＮ規格において定義されている。トランクモードでは、イーサネット（登録商標）パケットのＶＬＡＮ  ＩＤに基づいて、ＶＬＡＮ  ＩＤを持っているパケットをイーサネット（登録商標）パケットをほかのポート２１０に送るために、複数のＶＬＡＮ  ＩＤがポートに設定されている。例えば、サーバはＶＬＡＮ  ＩＤ１を使用して、パケットをポート１００に送信する。ＶＬＡＮ  ＩＤ１は、ポートのＶＬＡＮ  ＩＤを使用して、パケットを送るためにＶＬＡＮ  ＩＤ１０によって設定される。スイッチは、ポートのＶＬＡＮ  ＩＤに基づいてパケットを受信する。スイッチはパケットを転送するために、スイッチのほかのポートの同じＶＬＡＮ  ＩＤを探索する。サーバ３００またはイーサネット（登録商標）スイッチにおける仮想マシンサーバの仮想スイッチなどのスイッチに接続するトランクリンクのために、トランクモードを使用する。本発明の実施形態は、サーバを仮想マシン走行可能サーバ３００として構成する。そのため、サーバに接続されているポートには、トランクモードを設定する必要がある。アクセスポートはＶＬＡＮパケットをほかのポートに送ることができないため、結果として、アクセスモードのかわりにトランクモードを設定する。設定モードの例として、ポート１（２１１）に、２０、３０、４０をＶＬＡＮ  ＩＤとして設定する場合、２０をＶＬＡＮ  ＩＤとしてポート５（２１５）に、トランクモードで３０をＶＬＡＮ  ＩＤとしてスイッチのポート６（２１６）に、スイッチ２００はポート１のパケットをＶＬＡＮ  ＩＤ２０と共にポート５に送る。ポート１のパケットを、ＶＬＡＮ  ＩＤ３０と共にポート６に送信する。
【００２３】
００４２    サーバ３００には、いくつかのＮＩＣが存在する。図２の実施形態では、４つの異なるＮＩＣがある。初めのＮＩＣ３１０は、管理（MGMT：Management）ネットワーク用である。２番目のＮＩＣ３１１は、仮想マシン（ＶＭ：Virtual Machine）ネットワーク用である。３番目のＮＩＣ３１２は、移動（ライブ）用である。４番目のＮＩＣ３１３は、クラスタ（Cluster：ＣＬＵＳ）管理ネットワーク用である。スイッチのほかのＮＩＣまたはポートと通信することができるよう、各ＮＩＣはＭＡＣアドレスを備えている。ＮＩＣは仮想スイッチ３１４（「仮想SW」と表記）に接続されている。仮想スイッチ３１４は、１台またはそれ以上の各仮想マシン３１５（「ＶＭ」と表記）の仮想アダプタ３１６及び仮想ＮＩＣ３１７に接続されている。仮想アダプタ３１６は、アダプタを有効にすることによって、ＶＬＡＮ  ＩＤを付けたパケットを送信することができる。この実施形態では、仮想アダプタ３１６を使用して、スイッチのポートとサーバのＭＡＣアドレスとの間のマッピングを発見する。仮想ＮＩＣは、ほかの仮想マシンと通信するための仮想マシンのネットワークインタフェースである。
【００２４】
００４３    論理接続に関すると、３つの主な接続がある。初めの接続８３０は、ポート構成を取得し、ＳＳＨ（Secure Shell）またはｔｅｌｎｅｔを使用して、スイッチから発見されたポートのＭＡＣアドレス管理サーバ１００とイーサネット（登録商標）スイッチ２００との間の接続である。２つ目の接続８３１は、アクセスすることができるＶＬＡＮ  ＩＤを発見するために、ＮＩＣのＭＡＣアドレスを取得し、ＶＬＡＮが付加されているパケットを発行することを、サーバに要求する、管理サーバ１００と、サーバ３００との間の接続である。３つ目のネットワーク８３２は、スイッチ２００とサーバ３００との間の接続である。
【００２５】
００４４    図３は、スイッチ２００のポート構成のためのポート構成テーブルの一例を示す。ポート構成テーブル９００には、スイッチ２００のポート番号９０１、アクセスまたはトランクとして選択することができるポートモード９０２、ポートのＶＬＡＮ  ＩＤ９０３、及びＭＡＣリスト９０４の列がある。ＭＡＣリスト９０４は、ＶＬＡＮ  ＩＤ９０３によって確認された、アクセスすることができるＶＬＡＮを持つパケットをスイッチが受信したときに構成することができる、ＭＡＣアドレスのリストである。スイッチ２００は、ＶＬＡＮ  ＩＤに基づいて、ポート構成テーブル９００に設定されている情報を使用して、パケットを送る。
【００２６】
００４５    図４は、管理サーバ１００のＮＩＣ  ＭＡＣアドレスのサーバＭＡＣアドレステーブル１３０の一例を示す。ＭＡＣアドレステーブル１３０は、サーバノード１３１、物理ＮＩＣ名１３２、及びＮＩＣ１３３のＭＡＣアドレスの列を持っている。ＮＩＣ１０１の役割を識別するために、ユーザは物理ＮＩＣ名を設定してもよい。上記で説明している通り、スイッチ２００は定期的に各ポートのＭＡＣアドレステーブル１３０を更新し、サーバ３００からテーブル情報が収集される。
【００２７】
００４６    図５は、スイッチ２００の各ポートにおいて発見されたＭＡＣ及びＶＬＡＮ  ＩＤの、発見されたサーバ接続テーブル１４０の一例を示す。発見されたサーバ接続テーブル１４０は、スイッチ２００のポート番号１４１、サーバ３００からのディスカバリにおいて使用されるＭＡＣアドレス１４２、及びＶＬＡＮ  ＩＤ１４３の列を含む。ＶＬＡＮ  ＩＤ１４３が付加されているイーサネット（登録商標）パケットが到着すると、スイッチ２００は各ポートでＭＡＣアドレス１４２を更新し、格納する。管理サーバ１００のポートディスカバリモジュール１１０は、スイッチ２００が図３のポート構成テーブル９００における、ポート９０１のＭＡＣアドレス９０４を持っていることを確かめると、発見されたサーバ接続テーブル１４０を構成する。スイッチ２００は、ポート９０１のＭＡＣアドレス列９０４によって定義される、アクセスすることができるＶＬＡＮを持つパケットを受信する。以下、詳細を説明する。発見されたサーバ接続テーブル１４０はスイッチ２００及び管理サーバ１００に格納されてよい。
【００２８】
００４７    図６は、サーバ、ポート、ＶＬＡＮ間のスイッチポートマッピングテーブル１２０の一例を示す。スイッチポートマッピングテーブル１２０は、サーバ名１２１、物理ＮＩＣ名１２２（図４における「ＮＩＣ名１３２」と同等）、スイッチポート番号１２３、及びスイッチＶＬＡＮ  ＩＤ１２４の列を含む。管理サーバ１００のポートディスカバリモジュール１１０は、図４のサーバＭＡＣアドレステーブル１３０、及び図５の発見されたサーバ接続テーブル１４０の結果に基づいて、テーブル１２０を構成する。詳細は、図１２及び１３のフローチャートに関連して説明されている。
【００２９】
００４８    図７は、ＶＬＡＮ  ＩＤプールテーブル１５０の一例を示す。管理サーバ１００のポートディスカバリモジュール１１０が、ＶＬＡＮ  ＩＤで接続グループを作成するために、管理サーバ１００のＮＩＣ１０１と、サーバ３００のポートとの間のマッピングを発見すると、ＶＬＡＮプールは新たなＶＬＡＮ  ＩＤを割り当てるために使用される。プールに関連すると、２種類のＶＬＡＮプールが存在する。１種類は内部ＶＬＡＮ１５１用であり、もう１種類は外部ＶＬＡＮ１５２用である。内部ＶＬＡＮは、管理サーバ１００を含むサーバ（１００、３００）間で通信するために存在する。外部ＶＬＡＮは、イントラネットまたはインターネットなどの外部ネットワーク８１０と通信するために存在する。内部ＶＬＡＮ  ＩＤに関連すると、ＤＣＡは、スイッチ２００において使用されていない、空きＶＬＡＮ  ＩＤのプールを用意しなければならない。ポートディスカバリモジュール１１０が自動モードで、ＶＬＡＮ  ＩＤを生成してもよい（図１５のステップ１５０２及びその説明を参照）。外部ＶＬＡＮ  ＩＤに関連すると、ＤＣＡは外部ネットワークを、外部ＶＬＡＮ  ＩＤがタグ付けされているポートに接続してもよい。またＤＣＡは、ＧＵＩ（Graphical User Interface）またはＣＬＩ（Command Line Interface）から、使用することができるＶＬＡＮ  ＩＤを設定する。
【００３０】
００４９    図８は、サーバ３００におけるスイッチのポート２１０の、接続グループの接続グループテーブル１６０の一例を示す。接続グループテーブル１６０は、接続グループの中で固有の識別子としての接続グループ１６１、接続グループのサーバ名１６２、サーバのＮＩＣのＭＡＣアドレス１６３、接続グループの外部属性１６４、ＶＭで走行している接続グループの、接続グループのＶＭに割り当てるＶＬＡＮ  ＩＤ１６５の数、及び割り当てられたＶＬＡＮ  ＩＤ１６６（ＶＬＡＮ  ＩＤを割り当てる処理の説明については、図１４を参照）の列を含む。外部属性、ポートディスカバリモジュール１１０が、外部ネットワークと通信することができる、図７の外部ＶＬＡＮ  ＩＤプール１５２で定義されているＶＬＡＮ  ＩＤを選択したら、サーバのＮＩＣは、接続グループの中でほかのサーバと通信する。
【００３１】
００５０    図９は、ソートされたＶＬＡＮ  ＩＤテーブル１７０の一例を示す。ソートされたＶＬＡＮ  ＩＤテーブル１７０は、スイッチ２００から収集されたＶＬＡＮ  ＩＤ（１７１）を含む。
【００３２】
００５１    図１０は、ＶＬＡＮネットワークにアクセスするための、イーサネット（登録商標）のフレーム形式の一例を示す。パケットは、イーサネット（登録商標）ＩまたはＩＩフレームに基づく。パケットは、サーバのＮＩＣ  ＭＡＣアドレスのターゲットを特定する宛先アドレス１０１０、送信側のソースを特定するソースアドレス１０１２、及びＶＬＡＮ  ＩＤセグメント１０１１を含む。主な違いは、ＶＬＡＮ  ＩＤフィールド１０１１があるという点である。スイッチがポートでＶＬＡＮ  ＩＤのパケットを受信すると、スイッチはほかのポートに同じＶＬＡＮ  ＩＤがあるかを探索し、そのポートに受信したパケットを送信する。
【００３３】
００５２    本発明の特定の実施形態では、ＤＣＡが接続グループを外部ネットワーク（例えばインターネット）と接続したい場合、ＤＣＡは図７のＶＬＡＮ  ＩＤプールテーブル１５０によると外部ネットワークアクセスを持つポートに、ＶＬＡＮ  ＩＤプール１５２を外部ネットワークアクセス用に設定する。またＤＣＡは、図８の接続グループテーブル１６０のサーバに、接続グループを設定する。図８に図示する通り、接続グループの設定はサーバ１６２、グループのＮＩＣ  ＭＡＣアドレス１６３、求められているネットワークの種類を示す外部ネットワーク１６４の属性、ＶＬＡＮ  ＩＤ１６５の数、及び割り当てられたＶＬＡＮ  ＩＤ１６６である。
【００３４】
００５３    上記のシステムの構成要素、テーブル、及びパケットフレームは、以下の処理の流れを実行するために、システムによって使用される。
【００３５】
００５４    図１１は、サーバ追加処理のフローチャートの一例を示す。ステップ１１０１では、ＤＣＡはサーバのＮＩＣからのイーサネット（登録商標）ケーブルをスイッチ２００のターゲットポートに接続する。ステップ１１０２では、ＤＣＡはサーバ及びＮＩＣを接続グループに追加する。接続グループがない場合、ＤＣＡはサーバ名、ＮＩＣ  ＭＡＣアドレス、外部接続１６４の属性、必要なＶＬＡＮ  ＩＤの数を追加し、新たな接続グループを作成する。このステップに関連すると、以下に説明がある図１５のステップ１５０５で説明されている自動モードで使用される。ＤＣＡがステップ１５０４またはステップ１５０５を使用して、手動モードを実行したい場合、ＤＣＡはこの接続グループを設定する必要はない。
【００３６】
００５５    サーバ追加処理を設定したあと、ＤＣＡは管理サーバ１００のポートディスカバリモジュール１１０に、ポートディスカバリフロー、及びＶＬＡＮ  ＩＤ＃設定フローの実行を開始する。ポートディスカバリモジュール１１０の処理には、２つの部分がある：プレステップ（図１２）及びメインステップ（図１３）。ポートディスカバリモジュール１１０は、図１２及び１３の通りにＮＩＣ及びポートマッピングを探索するため、すべてのＮＩＣに対してこの処理を実行する。
【００３７】
００５６    図１２は、ポートディスカバリ１１０が必要であるかを確認するためのプレステップのフローチャートの一例を示す。ステップ１２０１では、ポートディスカバリモジュール１１０のプログラムがサーバノードからＭＡＣアドレスを取得する。ステップ１２０２では、プログラムはすべてのポートに対してＭＡＣアドレステーブル１３０をスイッチ２００から取得し、サーバ３００及び図４のＭＡＣアドレステーブル１３０を構成する。ステップ１２０３では、プログラムはターゲットＮＩＣのＭＡＣアドレスが、収集されたＭＡＣアドレステーブル１３０にあるか確認する。なければ、処理はステップ１２０４に進む。あれば、アクセスモードにおいて、接続サーバ３００とスイッチ２００との間に接続があるという根拠、または仮定のもと、処理は終了する。ステップ１２０４では、プログラムが図１３のメインポートディスカバリフローを実行する。
【００３８】
００５７    図１３は、管理サーバ１００のポートディスカバリモジュール１１０においてポートのディスカバリが実行されるメインポートディスカバリ処理のフローチャートの一例を示す。処理は、スイッチ２００に接続されるようサーバを追加することを含む（例：図１６（a）のサーバ３）。ステップ１３０１では、ポートディスカバリモジュール１１０のプログラムが、システムに追加されるよう、仮想アダプタ３１６（図２を参照）をサーバ／ホストの仮想スイッチに作成し、仮想アダプタを有効にする。以下に説明する通り、スイッチのポート及びサーバのＭＡＣアドレスを発見するために、仮想アダプタ３１６はＶＬＡＮ  ＩＤが付加されたパケットを送信するように処理する。ステップ１３０２では、プログラムはスイッチ２００からすべてのポートのＶＬＡＮ  ＩＤを取得する。リストは、図３のポート構成テーブルにおけるポート９０１のＶＬＡＮ  ＩＤ９０３に基づく。ステップ１３０３では、以下のポリシーに基づいてプログラムはＶＬＡＮ  ＩＤを選択し、以下の方法に基づいてＶＬＡＮ  ＩＤをソートする。ＤＣＡは、メリット及びデメリットを考慮し、管理サーバのＧＵＩまたはＣＬＩを介して、ディスカバリポリシーを選択するする必要があるかもしれない。ソートされたＶＬＡＮ  ＩＤ１７１は、図９のソートされたＶＬＡＮ  ＩＤテーブル１７０に格納されている。
【００３９】
００５８    ポリシー１は、スイッチのすべてのＶＬＡＮ  ＩＤを選択し、ソートする(すべての範囲のＶＬＡＮではなく、スイッチによって管理されているＶＬＡＮ  ＩＤ)。ポリシー１のメリットは、スイッチが特定のＶＬＡＮ  ＩＤに対して適切な処理があったとしても、ＶＬＡＮが見逃されないことである。デメリットは、３つのポリシーの中で、処理時間が最も長いことである。ポリシー２は、サーバにすでに接続されていて、スイッチがアクティブポートとして接続を探索することができる、スイッチにおいてアクティブポートのＶＬＡＮ  ＩＤを選択し、重複を除外することによりＶＬＡＮ  ＩＤを集める。ポリシー２のメリットは、アクティブポートだけが確認されることである。デメリットは、スイッチに適切な処理がある場合、ＶＬＡＮ  ＩＤを見逃すことがあることである。ポリシー３では、１つのＶＬＡＮ  ＩＤをスイッチのアクティブポートで選択する。ポリシー３のメリットは、サーバのＮＩＣと、スイッチのポートとの間の接続を確認するために、ＶＬＡＮ  ＩＤがただ１つだけ使用されるため、ポリシー２よりも速いことである。一方ポリシー３では、見逃されたＶＬＡＮ  ＩＤが存在する可能性がより高くなる。
【００４０】
００５９    ステップ１３０４では、リストにＶＬＡＮ  ＩＤがあるか、プログラムが確認する。ある場合、処理はステップ１３０６に進む。ない場合、処理はステップ１３０５に進む。ステップ１３０５では、プログラムはＤＣＡにエラーメッセージを送信する。エラーメッセージは、ＶＬＡＮ  ＩＤがない、またはすべてのポートがトランクモードで使用されていないことを示している。ステップ１３０６では、プログラムは、図９のソートされたＶＬＡＮ  ＩＤテーブル１７０のソートされたリスト１７１からＶＬＡＮ  ＩＤを取得し、サーバの追加される仮想アダプタに設定する。ステップ１３０７では、プログラムは仮想アダプタに割り当てられた物理ＮＩＣと関連する、ステップ１３０６のＶＬＡＮ  ＩＤをブロードキャストするために作成された仮想アダプタを、無効にしたり有効にしたりする。つまり、管理サーバによってターゲットスイッチポートを探索する試み、すなわちＶＬＡＮ  ＩＤが付加されたパケットを、スイッチのポートに送信することである（ＶＬＡＮ  ＩＤをブロードキャストするために仮想アダプタを無効にしたり／有効にしたりするこのステップの操作は、実装固有である）。図１０には、イーサネット（登録商標）パケットフレームの一例が図示している。ＶＬＡＮ  ＩＤは、ＶＬＡＮ  ＩＤセグメント１０１１に格納されている。またプログラムは、送信側のソースを、ソースアドレス１０１２の下に設定する。トランクモードにおいて、スイッチのサーバに接続されたポートに設定された適切なＶＬＡＮ  ＩＤを持つパケットをスイッチが受信したら、スイッチは、パケットを受信したポート１４３で、受信したＭＡＣアドレス１４２を格納するために、ポート構成テーブル９００を更新する（図３を参照）。スイッチの、サーバに接続されていないポートに設定されていない、誤ったＶＬＡＮ  ＩＤを持つパケットをスイッチが受信したら、スイッチはパケットを受信しない。ステップ１３０８では、すべてのポート用のポート構成テーブル９００を、プログラムがスイッチから取得する。ステップ１３０９では、ＮＩＣのＭＡＣアドレスが、追加されたサーバによってスイッチのサーバ接続テーブル１４０（図５を参照）に送信されているかを、プログラムが確認する。つまりステップ１３０７の管理サーバ１００によって、スイッチ２００から取得したか、すなわちスイッチ２００が、追加されるサーバのＮＩＣからパケットを認識したかを確認する。認識していれば、処理はステップ１３１０に進む。この時、スイッチの、発見されたサーバ接続テーブル１４０に基づく送信側におけるＮＩＣのＭＡＣアドレスのエントリがあるポートを、ポートディスカバリモジュール１１０は探索する。認識していなければ、処理はステップ１３０４に戻る。ステップ１３１０では、プログラムは仮想アダプタを削除する。ステップ１３１１では、発見されたＶＬＡＮ  ＩＤに基づいて、スイッチによって認識された、送信されたＭＡＣアドレスに基づいて、プログラムは発見されたスイッチポート１２３を、サーバのターゲットＮＩＣ（１２１、１２２）用に、図６のスイッチポートマッピングテーブル１２０に保存する。
【００４１】
００６０    管理サーバ１００のポートディスカバリモジュール１１０は、追加されるサーバ（例：図１６（ａ）のサーバ３）に、ステップ１３０１、１３０７、及び１３１０を実行することを、また図１３のほかのステップを実行することを、命令または指示する。
【００４２】
００６１    マッピングを発見したら、ポートディスカバリモジュール１１０は、ターゲットサーバのＮＩＣに接続されている発見されたポートに、ＶＬＡＮ  ＩＤを設定する必要がある。
【００４３】
００６２    図１４は、管理サーバ１００のポートディスカバリモジュール１１０を実行することによって発見されたスイッチのポートに、ＶＬＡＮ  ＩＤを割り当てる処理のフローチャートの一例を示す。処理は、接続グループにターゲットサーバを追加することを含む。ステップ１４０１では、ポートディスカバリモジュール１１０のプログラムが、接続グループのターゲットポート用のＶＬＡＮ  ＩＤを選択する（以下に説明されている図１５を参照）。ステップ１４０２では、図６のスイッチポートマッピングテーブル１２０（ステップ１３１１で更新された）に基づいて、サーバの接続されたポートをプログラムは選択する。ステップ１４０３では、スイッチの選択されたポートに、サーバ用に選択されたＶＬＡＮ  ＩＤをプログラムは割り当てる。ステップ１４０４ではプログラムは、図６におけるスイッチポートマッピングテーブル１２０のスイッチＶＬＡＮ  ＩＤ１２４に、ステップ１４０１で選択されたＶＬＡＮ  ＩＤを追加し、図８における接続グループの割り当てられたＶＬＡＮ  ＩＤ１６６を追加する。
【００４４】
００６３    図１５は、図１４のステップ１４０２において、ＶＬＡＮ  ＩＤを選択する処理のフローチャートの一例を示す。管理サーバ１００のポートディスカバリモジュール１１０への実行によって、処理は実行される。ステップ１５０１では、図８における接続グループテーブル１６０の外部属性１６４に基づいて、ターゲットサーバが外部ネットワークへの接続を求めているかを、プログラムが確認する。「はい」であれば、処理はステップ１５０３に進む。「いいえ」であれば、処理はステップ１５０２に進む。ステップ１５０３では、図７におけるＶＬＡＮ  ＩＤプールテーブル１５０の、外部ＶＬＡＮ１５２のリストまたはプールから、図８における接続グループテーブル１６０で必要とされるＶＬＡＮ  ＩＤの数１６５のＶＬＡＮ  ＩＤを選択することを、プログラムはＤＣＡに要求する。処理は終了する。ステップ１５０２では、ＶＬＡＮ  ＩＤ選択モードが自動になっているかを、プログラムが確認する。「いいえ」であれば、処理はステップ１５０４に進む。「はい」であれば、処理はステップ１５０５に進む。
【００４５】
００６４    ステップ１５０５（自動モード）では、プログラムは接続グループのＶＬＡＮ  ＩＤを選択する。処理は終了する。ステップ１５０４（手動モード）では、（例：図７の内部ＶＬＡＮプール１５１で提供されている）ターゲット接続グループの内部ＶＬＡＮ  ＩＤのリストから、内部ＶＬＡＮ  ＩＤを選択することを、プログラムはＤＣＡに要求する。選択するＶＬＡＮ  ＩＤの数は、図８における接続グループテーブル１６０のＶＬＡＮ  ＩＤの数１６５によって、定義されている。
【００４６】
００６５    図１８は、図１５のステップ１５０５において、ＶＬＡＮ  ＩＤが自動的に設定されるように、接続グループでＶＬＡＮ  ＩＤを選択する処理のフローチャートの一例を示す。ポートディスカバリモジュール１１０で処理は実行される。ステップ１８０１では、追加されたターゲットサーバが、接続グループの中で第１のサーバであるか、プログラムが確認する。追加されたサーバが第１であった場合、処理はステップ１８０２に進む。追加されたサーバが第１ではなかった場合、処理はステップ１８０３に進む。ステップ１８０２では、プログラムは、図７の内部ＶＬＡＮ  ＩＤプール１５１からＶＬＡＮ  ＩＤを選択する。ＶＬＡＮ  ＩＤの数は、図８における接続グループテーブル１６０のＶＬＡＮの数１６５で定義されている。ステップ１８０３では、図８における接続グループテーブル１６０から、追加されたサーバが属する接続グループを、プログラムが選択する。ステップ１８０４では、接続グループのＶＬＡＮのリストから、プログラムはＶＬＡＮ  ＩＤを読み出す。処理は終了する。
【００４７】
００６６    図１９は、ＶＭを作成する場合に、各ＶＭにＶＬＡＮ  ＩＤを設定する処理の、フローチャートの一例を示す。ステップ１９０１では、ＤＣＡは、図８の接続グループリストを使用して、ターゲット接続グループに割り当てられたＶＬＡＮ  ＩＤからＶＬＡＮ  ＩＤを選択する。ステップ１９０２では、ＤＣＡは、ターゲットＶＭ用にＶＬＡＮ  ＩＤを設定する。
【００４８】
００６７    図１６に図示する構成を実現するために、上記の実施形態を利用して、上記の処理を実行してもよい。図１６は、各スイッチポートにＶＬＡＮ  ＩＤを割り当てる処理の一例を示す。具体的には、図１６（ａ）は、スイッチポートに接続するためのサーバを追加したあとであり、新たなＶＬＡＮ  ＩＤを設定する前のシステム構成を示す。図１６（ｂ）は、接続グループに、追加されたサーバを加えるために、新たなＶＬＡＮ  ＩＤを設定したあとのシステム構成を示す。システムは、スイッチ、管理サーバ、及び２台のサーバを備える。サーバは、スイッチのポートに接続し、各ポートは連動するＶＬＡＮ  ＩＤを持っている。
【００４９】
００６８    例えば、サーバ１は、スイッチのポート２に接続し、そのスイッチポートは、ＶＬＡＮ  ＩＤ２０及び３０を設定する。サーバ２は、スイッチのポート５に接続し、そのスイッチポートはＶＬＡＮ  ＩＤ２０及び３０を設定する。サーバ１及びサーバ２は、同じ接続グループの中にある。ＤＣＡはポート７に、設定されたＶＬＡＮ  ＩＤ７１及び７２を有する。ＤＣＡがポート７にサーバ３を追加すると、管理サーバはＶＬＡＮグループの単位で、各ポートのＶＬＡＮ  ＩＤのリストを収集し、ポートのＶＬＡＮ  ＩＤを発見するために、第１のＶＬＡＮ  ＩＤ（ポート１の２０、ポート２の２０、ポート７の７１）を選択し、上記で説明している通り、ポリシー３の下、２０、７１のようなＶＬＡＮ  ＩＤの重複を除去する。ＶＬＡＮ  ＩＤ２０、７１を付けてパケットを送信することを、管理サーバはサーバ３に命令し、サーバ３によって送信されたパケットが、スイッチのどのポートによって受信されたかを確認する。図２０に図示し、以下に説明している通り、図６のスイッチポートマッピングテーブル１２０の形式で示されているように、管理サーバはスイッチポート及びサーバのＮＩＣマッピングを構成する。スイッチＶＬＡＮ  ＩＤ１２４に関連すると、ポートディスカバリモジュール１１０は接続グループのＶＬＡＮ  ＩＤに基づいてＶＬＡＮ  ＩＤを設定／割り当てる。この例では、接続グループはＶＬＡＮ  ＩＤ２０、３０を持ち、ポートディスカバリモジュールはＶＬＡＮ  ＩＤ２０、３０を、発見されたポート７に設定する。
【００５０】
００６９    この実施形態では、ＶＬＡＮ  ＩＤを設定してから接続グループを確認する処理について説明していない。しかし、接続を確認するために、接続グループのサーバ間でパケットを送信してもよい。
【００５１】
００７０    図２０は、接続グループにサーバを追加した場合、各ＶＭにＶＬＡＮ  ＩＤを割り当てるシステム構成の一例を示す。この例では、接続グループはＶＬＡＮ  ＩＤ２０、３０を持っている。ＤＣＡは、追加されたサーバ３のＶＭに、１つのＶＬＡＮ  ＩＤを割り当てる。そのＶＭは、ＶＭのローカルサーバの物理ＮＩＣを介してほかのＶＭと通信するために、仮想ＮＩＣを持っている。例えば、サーバ３におけるＶＭ3の仮想ＮＩＣに、ＤＣＡはＶＬＡＮ  ＩＤ２０を割り当てる。そのあと、ＶＬＡＮ  ＩＤ２０を持つサーバ１のＶＭ１は、ＶＬＡＮ  ＩＤ２０を使用して、サーバ３のＶＭ３と通信することができる。
【００５２】
００７１    ＶＬＡＮのリディスカバリのもう１つのタイミングとして、パケットに失敗する事態の場合がある。図１７は、パケットの送信に失敗した場合に行われる、サーバのＭＡＣと、スイッチポートとの間のマッピングのリディスカバリの論理構成を示す。ポートのスイッチＶＬＡＮ設定を２０から３０に変更し、２０ＶＬＡＮ  ＩＤを持つパケットをサーバが送信したら、誤ったＶＬＡＮ  ＩＤであるため、パケットを送信することをスイッチは禁止し、パケットは落とされる。メール、ＳＮＭＰ（Simple Network Management Protocol）、ＳＮＭＰのトラップ、システムイベントログ、またはその他の通知方法を使用して、管理サーバは、サーバによって送信されたエラーメッセージを受信し、パケットの送信に失敗したサーバのリディスカバリを実行する。処理は、図１３に図示している。
【００５３】
００７２    発明の実施形態によると、ＤＣＡがＶＬＡＮ  ＩＤの設定に失敗したり、イーサネット（登録商標）ケーブリングに失敗しても、サーバのＮＩＣとサーバのスイッチポート間の接続を一定に保つことができる。
【００５４】
００７３    当然のことながら、図１に示すシステム構成は、本発明が実施され得る情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータ及びストレージシステムは、上述の発明を実施するために用いられるモジュール、プログラム及びデータ構造を格納しかつ読み出すことができる公知のＩ／Ｏ装置（例えば、ＣＤ及びＤＶＤドライブ、フロッピー（登録商標）ディスクドライブ、ハードドライブ等）も有し得る。これらのモジュール、プログラム及びデータ構造は、当該コンピュータ読取可能媒体上で符号化することができる。例えば、本発明のデータ構造は、本発明で使用されるプログラムが存在する一つ以上のコンピュータ読取可能媒体から独立したコンピュータ読取可能媒体に格納することができる。システムの構成要素は、あらゆる形態又は媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク（例えば、インターネット）、無線ネットワーク、ストレージエリアネットワーク等を含む。
【００５５】
００７４    説明では、本発明を徹底的に理解できるようにするために説明する目的で多くの詳細が記載されている。しかし、当業者にとっては、本発明を実施するためにはこれら具体的な詳細のすべてが必要なわけではないことは明らかであるだろう。また、留意すべき点として、本発明は、通常はフローチャート、流れ図、構成図又はブロック図として記載されるプロセスとして説明されてもよい。フローチャートでは動作を逐次プロセスとして説明し得るが、動作の多くは並行して又は同時に実行することができる。さらに、動作の順番は並び替えてもよい。
【００５６】
００７５    当技術分野では周知であるように、上述の動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実行することができる。本発明の実施形態の様々な態様は、回路や論理装置（ハードウェア）を用いて実施してよく、その一方で、その他の態様は、機械読み取り可能媒体（ソフトウェア）上に記憶された命令を用いて実施してもよく、これがプロセッサによって実行された場合には、本発明の実施形態を実行する方法をプロセッサに実施させるものである。さらに、本発明のいくつかの実施形態は、ハードウェアのみにおいて実施されてよく、その他の実施形態は、ソフトウェアのみで実施されてよい。さらに、説明された様々な機能は、一つのユニットで実施することができ、又はあらゆる方法によって多くの構成要素に分散することができる。ソフトウェアによって実施された場合、上記の方法は、コンピュータ読取可能媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。望ましい場合には、圧縮及び／又は暗号化形式で命令を媒体に記憶することができる。
【００５７】
００７６    上記により、本発明が、クラウドデータセンタにおいて動的にスイッチ及びサーバをＶＬＡＮで構成するための方法、装置及びコンピュータ読取可能媒体に記憶されたプログラムを提供するものであることが明らかであろう。さらに、本明細書において特定の実施形態が示され説明されているが、当業者にとって当然のことながら、開示された特定の実施形態の代わりに、同じ目的を達成するために創出されたいかなる構成を用いてもよい。本開示は、本発明のあらゆる適応又はバリエーションを対象とすることを意図したものであり、また以下の請求項で用いられる用語は、本発明を本明細書で開示されている特定の実施形態に限定するものとは解釈されるべきではないことが理解される。むしろ本発明の範囲は、以下の請求項によって全面的に判断されるものであり、以下の請求項は、当該請求項が権利を有する同等物の範囲全体と共に、請求項の解釈について確立された原則に従って解釈されるものである。
【図１】
2012244621.tif 000002
【図２】
2012244621.tif 000003
【図３】
2012244621.tif 000004
【図４】
2012244621.tif 000005
【図５】
2012244621.tif 000006
【図６】
2012244621.tif 000007
【図７】
2012244621.tif 000008
【図８】
2012244621.tif 000009
【図９】
2012244621.tif 000010
【図１０】
2012244621.tif 000011
【図１１】
2012244621.tif 000012
【図１２】
2012244621.tif 000013
【図１３】
2012244621.tif 000014
【図１４】
2012244621.tif 000015
【図１５】
2012244621.tif 000016
【図１６】
2012244621.tif 000017
【図１７】
2012244621.tif 000018
【図１８】
2012244621.tif 000019
【図１９】
2012244621.tif 000020
【図２０】
2012244621.tif 000021
【外国語明細書】
2012244621000001.pdf