(57)【要約】  仮想化機構の管轄外の所定種類の情報を使用した通信が行われる仮想計算機システムにおいて第１の物理計算機から第２の物理計算機にライブマイグレーションされた対象のＶＭ（対象ＶＭ）のネットワーク接続を復元する。第１の物理計算機内の第１の仮想化機構が、ＶＭからパケットを受信した場合、パケットから、所定種類の情報を抽出し、抽出した所定種類の情報を第１の管理情報ユニットに登録するようになっており、ライブマイグレーションのときに、第１の管理情報ユニット中の所定種類の情報を、第２の物理計算機内の第２の仮想化機構に送信する。第２の仮想化機構は、その所定種類の情報を第２の管理情報ユニットに登録し、対象ＶＭのネットワーク接続を復元するべく、所定種類の情報を含んだ所定種類のパケットを、第２の物理計算機の１以上の物理Ｉ／Ｏデバイスの少なくとも１つから送信する。
2014030229.tif 000002
【特許請求の範囲】
【請求項１】
１以上の物理ネットワークスイッチに接続される１以上の第１の物理Ｉ／Ｏ（Input/Output）デバイスを含む第１の物理リソースと、前記第１の物理リソースを論理的に分割することにより得られた１以上の第１の仮想リソースをそれぞれ１以上の第１のＬＰＡＲ（Logical  Partition）に割り当てることで１以上の仮想計算機を構築することができる第１の仮想化機構と、を有する第１物理計算機と、
前記１以上の物理ネットワークスイッチに接続される１以上の第２の物理Ｉ／Ｏデバイスを含む第２の物理リソースと、前記第２の物理リソースを論理的に分割することにより得られた１以上の第２の仮想リソースをそれぞれ１以上の第２のＬＰＡＲに割り当てることで１以上の仮想計算機を構築することができる第２の仮想化機構と、を有する第２の物理計算機と
を有し、
（Ａ）前記第１の仮想化機構は、第１の管理情報ユニットを有し、
仮想計算機からパケットを受信した場合、前記パケットから、所定種類の情報を抽出し、前記抽出した所定種類の情報を前記第１の管理情報ユニットに登録し、
（Ｂ）前記第１の仮想化機構は、稼働中のマイグレーション対象の仮想計算機である対象仮想計算機を前記第１の物理計算機から前記第２の物理計算機にマイグレーションするライブマイグレーションのときに、前記第１の管理情報ユニット中の前記所定種類の情報を、前記第２の仮想化機構に送信し、
（Ｃ）前記第２の仮想化機構は、第２の管理情報ユニットを有し、
前記所定種類の情報を前記第２の仮想化機構から受信し、
前記受信した所定種類の情報を前記第２の管理情報ユニットに登録し、
前記所定種類の情報を含んだ所定種類のパケットを、前記１以上の第２の物理Ｉ／Ｏデバイスの少なくとも１つから送信する、
仮想計算機システム。
【請求項２】
前記第１の仮想リソースは、前記１以上の第１の物理Ｉ／Ｏに基づく第１の仮想Ｉ／Ｏデバイスを含み、前記１以上の第２の仮想リソースは、前記１以上の第２の物理Ｉ／Ｏに基づく第２の仮想Ｉ／Ｏデバイスを含み、
前記第１の仮想化機構は、前記第１の仮想化機構が管理する１以上の仮想計算機にそれぞれ割り当てられる１以上の第１の仮想Ｉ／Ｏデバイスと前記１以上の第１の物理Ｉ／Ｏデバイスの少なくとも１つとが接続される１以上の第１の仮想スイッチを有し、
前記第２の仮想化機構は、前記第２の仮想化機構が管理する１以上の仮想計算機にそれぞれ割り当てられる１以上の第２の仮想Ｉ／Ｏデバイスと前記１以上の第２の物理Ｉ／Ｏデバイスの少なくとも１つとが接続される１以上の第２の仮想スイッチを有し、
各第１の仮想スイッチが、前記第１の管理情報ユニットを有し、各第２の仮想スイッチが、前記第２の管理情報ユニットを有し、
前記（Ａ）に関して、前記第１の仮想化機構が、仮想計算機の第１の仮想Ｉ／Ｏデバイスを通じてその仮想計算機からパケットを受信した第１の仮想Ｉ／Ｏデバイスの第１の管理情報ユニットに、前記受信したパケットに含まれている所定種類の情報を登録し、
前記（Ｂ）に関して、前記第１の仮想化機構は、前記ライブマイグレーションのときに、前記対象仮想計算機の第１の仮想Ｉ／Ｏデバイスから出力されたパケットが経由する第１の仮想スイッチが有する第１の管理情報ユニット中の少なくとも前記対象仮想計算機の第１の仮想Ｉ／Ｏデバイスに対応し前記所定種類の情報を含んだ対象情報部分を、前記第２の仮想化機構に送信し、
前記（Ｃ）に関して、前記第２の仮想化機構が、マイグレーションされた対象仮想計算機の第２の仮想Ｉ／Ｏデバイスに接続されている第２の仮想スイッチの第２の管理情報ユニットに、前記対象情報部分を登録し、前記対象情報部分中の前記所定種類の情報を含んだ前記所定種類のパケットを、前記対象仮想計算機の第２の仮想Ｉ／Ｏデバイスが接続された第２の仮想スイッチに接続されている第２の物理Ｉ／Ｏデバイスから送信する、
請求項１記載の仮想計算機システム。
【請求項３】
各管理情報ユニットには、それぞれ、当該管理情報ユニットを有する仮想スイッチに接続されている仮想Ｉ／ＯデバイスのデバイスＩＤと、その仮想Ｉ／Ｏデバイスを通じて受信したパケット中の前記所定種類の情報とが登録される、
請求項２記載の仮想計算機システム。
【請求項４】
前記（Ａ）に関して、前記抽出した所定種類の情報と同一の情報が、前記パケットを受けた第１の仮想スイッチの第１の管理情報ユニットに登録されているが、その登録済の情報に対応したデバイスＩＤから識別される仮想Ｉ／Ｏデバイスが、前記パケットの送信元の第１の仮想Ｉ／Ｏデバイスの異なっている場合、前記第１の仮想化機構が、前記パケットを受けた第１の仮想スイッチの第１の管理情報ユニットにおける前記登録済の情報に対応したデバイスＩＤを、前記パケットの送信元の第１の仮想Ｉ／ＯデバイスのＩＤに更新する、
請求項３記載の仮想計算機システム。
【請求項５】
前記所定種類の情報は、ＭＡＣアドレス及びＶＬＡＮ（Virtual  LAN）  ｔａｇのうちの少なくとも１つである、
請求項１記載の仮想計算機システム。
【請求項６】
前記所定種類の情報は、ＭＡＣアドレスであり、
前記所定種類のパケットは、ＲＡＲＰ（Reverse  Address  Resolution  Protocol）要求であり、
前記ＲＡＲＰパケットは、ＭＡＣアドレスを含み、
各物理ネットワークスイッチは、物理ポートＩＤとＭＡＣアドレスの対応関係を表すアドレス管理情報とを有し、パケットを受信した場合、対象ＭＡＣアドレスが前記アドレス管理情報に無ければ、前記対象ＭＡＣアドレスと対象物理ポートＩＤとの組を前記アドレス管理情報に登録し、前記対象ＭＡＣアドレスが前記アドレス管理情報に有り、且つ、前記対象ＭＡＣアドレスに対応している物理ポートＩＤが、前記対象物理ポートＩＤと異なっていれば、前記アドレス管理情報における、前記対象ＭＡＣアドレスに対応した物理ポートＩＤを前記対象物理ポートＩＤに更新するようになっており、
前記対象ＭＡＣアドレスは、前記受信したパケットが有するＭＡＣアドレスであり、
前記対象物理ポートは、前記パケットを受信した物理ポートである、
請求項５記載の仮想計算機システム。
【請求項７】
前記所定種類の情報及び前記ＲＡＲＰパケットは、ＭＡＣアドレスの他にＶＬＡＮ  ｔａｇで含んでおり、
前記アドレス管理情報は、ＭＡＣアドレスと物理ポートＩＤとＶＬＡＮ  ｔａｇ部分の少なくとも一部分との対応関係を表しており、
各物理ネットワークスイッチは、パケットを受信した場合、前記対象ＭＡＣアドレスが前記アドレス管理情報に無ければ、前記対象ＭＡＣアドレスと対象ＶＬＡＮ  ｔａｇ部分と前記対象物理ポートＩＤとの組を前記アドレス管理情報に登録し、前記対象ＭＡＣアドレスが前記アドレス管理情報に有り、且つ、前記対象ＭＡＣアドレスに対応しているＶＬＡＮ  ｔａｇ部分が、前記対象ＶＬＡＮ  ｔａｇ部分と異なっていれば、前記アドレス管理情報における新たなエントリに、前記対象ＭＡＣアドレスと前記対象ＶＬＡＮ  ｔａｇ部分と前記対象物理ポートＩＤとの組を登録するようになっており、
前記対象ＶＬＡＮ  ｔａｇ部分は、前記受信したパケットが有するＶＬＡＮ  ｔａｇの少なくとも一部分である、
請求項６記載の仮想計算機システム。
【請求項８】
前記（Ｂ）に関して、前記第１の仮想化機構は、前記対象仮想計算機に割り当てられている仮想リソースを休止し、その後に、前記第１の管理情報ユニット中の前記所定種類の情報を、前記第２の仮想化機構に送信する、
請求項１記載の仮想計算機システム。
【請求項９】
１以上の物理ネットワークスイッチに接続される１以上の物理Ｉ／Ｏ（Input/Output）デバイスを含む物理リソースを有する物理計算機で実行され、前記物理リソースを論理的に分割することにより得られた１以上の仮想リソースをそれぞれ１以上のＬＰＡＲ（Logical  Partition）に割り当てることで１以上の仮想計算機を構築することができる仮想化機構であって、
稼働中のマイグレーション対象の仮想計算機である対象仮想計算機を物理計算機から別の物理計算機にマイグレーションするライブマイグレーションを実行することができるマイグレーション処理部と、
管理情報ユニットと、
仮想計算機からのパケットから、所定種類の情報を抽出し、前記抽出した所定種類の情報を前記管理情報ユニットに登録する学習部と
を有し、
前記ライブマイグレーションのときに、前記マイグレーション処理部は、前記管理情報ユニット中の前記所定種類の情報を取得し、取得した前記所定種類の情報を、前記別の物理計算機に送信する、
仮想化機構。
【請求項１０】
１以上の物理ネットワークスイッチに接続される１以上の物理Ｉ／Ｏ（Input/Output）デバイスとプロセッサと記憶デバイスとを含む物理リソースを有し、
前記プロセッサが、仮想化機構を実行することで、前記物理リソースを論理的に分割することにより得られた１以上の仮想リソースをそれぞれ１以上のＬＰＡＲ（Logical  Partition）に割り当てることで１以上の仮想計算機を構築することができ、且つ、稼働中のマイグレーション対象の仮想計算機である対象仮想計算機を物理計算機から別の物理計算機にマイグレーションするライブマイグレーションを実行することができるようになっており、
前記記憶デバイスは、管理情報ユニットを記憶し、
前記プロセッサは、仮想計算機からのパケットから、所定種類の情報を抽出し、前記抽出した所定種類の情報を前記管理情報ユニットに登録し、
前記ライブマイグレーションのときに、前記プロセッサは、前記管理情報ユニット中の前記所定種類の情報を、前記別の物理計算機に送信する、
物理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機のライブマイグレーションに関する。
【背景技術】
【０００２】
物理計算機が有するハイパーバイザのような仮想化機構により、物理計算機に１又は複数の仮想計算機が構築される。稼働中の仮想計算機を第１の物理計算機から第２の物理計算機にマイグレーションすることであるライブマイグレーション（以下、「ＬＭ」と言うことがある）の技術が知られている（例えば特許文献１）。【０００３】
以下、ＬＭ元の物理計算機を「第１の物理計算機」と言い、第１の物理計算機が有する仮想化機構を「第１の仮想化機構」と言い、ＬＭ先の物理計算機を「第２の物理計算機」と言い、仮想的なＮＩＣ（Network  Interface  Card）を「ＶＮＩＣ」と言い、第２の物理計算機が有する仮想化機構を「第２の仮想化機構」と言い、ＬＭ対象の仮想計算機（仮想マシン）を「対象ＶＭ」と言い、第１の仮想化機構が管理するＶＮＩＣであってＬＭ前に対象ＶＭに割り当てられていたＶＮＩＣを「第１のＶＮＩＣ」と言い、第２の仮想化機構が管理するＶＮＩＣであってＬＭ後に対象ＶＭに割り当てられるＶＮＩＣを「第２のＶＮＩＣ」と言うことがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１０８８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
対象ＶＭの上位マシン（例えば、対象ＶＭにアクセスする物理的又は仮想的な計算機、或いは、対象ＶＭ上で動作する仮想的な計算機）がいたとしても、ＬＭでは、上位マシンに気づかれることなく、対象ＶＭをマイグレーションする必要がある。このため、ＬＭ後に対象ＶＭと外部環境との接続を復元する必要がある。【０００６】
外部環境のネットワーク接続情報として、例えば、ＰＳＷ（物理的なネットワークスイッチ）が保持しているＭＡＣアドレステーブルがある。ＭＡＣアドレステーブルは、宛先となるＭＡＣアドレスが割り当てられているマシンがＰＳＷのどのポートに接続されているかを表す情報を有する。【０００７】
ＬＭの後、ＭＡＣアドレステーブルを更新する必要がある。この更新は、第２の仮想化機構が、ＲＡＲＰ（Reverse  Address  Resolution  Protocol）パケットを発行することで行われる。ＲＡＲＰは、ＭＡＣアドレスを用いてＩＰアドレスを取得するためのプロトコルである。【０００８】
具体的には、第１及び第２の仮想化機構の間で、第１のＶＮＩＣのＭＡＣアドレス＃Ｘと第２のＶＮＩＣのＭＡＣアドレス＃Ｙが交換される。第２の仮想化機構は、第２の仮想化機構が有することになったＭＡＣアドレス＃Ｘを指定したＲＡＲＰパケットをブロードキャストする。ネットワーク上のＲＡＲＰサーバが、そのＲＡＲＰパケットを受信し、そのＲＡＲＰパケットに応答して、ＭＡＣアドレス＃Ｘに対応するＩＰアドレス＃Ｋを第２の仮想化機構に返す。これにより、第２の物理計算機がＩＰアドレス＃Ｋを使用した通信をすることができるようになる。ＲＡＲＰパケットは、ＰＳＷで中継されるが、ＰＳＷは、ＭＡＣアドレステーブルにおけるＭＡＣアドレス＃Ｘに対応したポートの識別情報を、そのＲＡＲＰパケットを受信したポートの識別情報に更新する。これにより、ＭＡＣアドレス＃Ｘとポートとの対応関係が更新され、ＬＭ後の対象ＶＭについて、ネットワークの接続が復元することになる。【０００９】
しかし、ＬＭ前において、第１の仮想化機構の管轄の外で、第１のＶＮＩＣのＭＡＣアドレスとは異なるＭＡＣアドレスが、対象ＶＭによる通信において使用されることがある。【００１０】
その一例として、Teamingと呼ばれる技術が適用されている環境がある。Teamingとは、計算機に割り当てられた１以上のＮＩＣの複数のポートを束ねて１つのポートとして運用し負荷分散、帯域向上及び耐障害性の向上を図るための技術である。この技術がＶＮＩＣに適用された場合、１以上のＶＮＩＣに係る複数のポート（チーム設定された複数のポート）は一体として運用され、下記のうちの少なくとも１つが行われる。
（＊）複数のポートのうちの第１のポートに障害が発生した場合に、第１のポートが論理的に切り離され、複数のポートのうちの第２のポートを使用して通信が続行される。
（＊）複数のポートを介して複数の通信相手と通信する際に分担して送受信が行われることで、帯域幅が増加され、又は、負荷が分散される。【００１１】
Teamingで使用されるＭＡＣアドレスは、ＶＮＩＣに割り当てられているＭＡＣアドレスと異なるＭＡＣアドレスであることがある。仮想計算機のＯＳ（ゲストＯＳ）が使用するＭＡＣアドレスの変更は、仮想化機構とは独立して実施される。【００１２】
そして、ＰＳＷが有するＭＡＣアドレステーブルには、ゲストＯＳが使用するＭＡＣアドレスが登録される。具体的には、例えば、ＰＳＷは、外部から来たパケットを受信した場合、受信したパケットに含まれているＭＡＣアドレスがＭＡＣアドレステーブルに無ければ、そのＭＡＣアドレスと、そのパケットを受信したポート（ＰＳＷのポート）のＩＤとをＭＡＣアドレステーブルに登録するようになっている。【００１３】
そのため、ＬＭ後に第２の仮想化機構が送信するＲＡＲＰパケットにおいて、正しいＭＡＣアドレス（具体的には、ＰＳＷのＭＡＣアドレステーブルに登録されているＭＡＣアドレスと同じＭＡＣアドレス）を指定することができないケースがあり得る。この場合、対象ＶＭのネットワーク接続を復元することはできない。【００１４】
上記のことは、ＭＡＣアドレスに限らず、第１の仮想化機構が管理する情報とは異なる情報が、対象ＶＭによる通信において使用される他のケースについてもあり得る。例えば、対象ＶＭがｔａｇ  ＶＬＡＮ（Virtual  LAN）を使用するケースである（ＬＡＮは、Local  Area  Networkの略称）。ｔａｇ  ＶＬＡＮを経由する通信では、ＶＬＡＮ  ｔａｇ（ＶＬＡＮ  ＩＤ等を含んだ情報）が使用されるが、仮想化機構は、対象ＶＭが使用するＶＬＡＮ  ｔａｇを知らない。このようなケースでは、ゲストＯＳのＭＡＣアドレスがＶＮＩＣのＭＡＣアドレスと同じであったとしても、上記のように、ＬＭ後に対象ＶＭのネットワーク接続を復元することができないという問題が生じ得る。【００１５】
このようなことを回避する１つの方法として、対象ＶＭが使用するＭＡＣアドレス或いはＶＬＡＮ  ｔａｇのような情報を仮想化機構に管理者が管理コンソールを通じて手動で入力する方法が考えられる。しかし、誤った情報が入力される或いは情報の入力漏れが生じるおそれがある。この場合、ＬＭ後に対象ＶＭのネットワーク接続を復元することはできない。【００１６】
また、仮想計算機或いはその上位マシンがどのように運用されているかを仮想化機構の管理者が管理することは困難であるケースがある。そのようなケースの一例として、クラウド環境でＰａａＳ（Platform  as  a  Service）を提供するケースである。通常、仮想化機構の管理者は、仮想計算機或いはその上位マシンがどのように運用されているかを把握していない。このため、仮想計算機が使用する情報を管理者が手動で入力する場合、仮想マシン或いはその上位マシンの使用者と仮想化機構の管理者の連携が必要になる。
【課題を解決するための手段】
【００１７】
第１の仮想化機構は、第１の管理情報ユニットを有し、第２の仮想化機構が、第２の管理情報ユニットを有する。第１の仮想化機構が、仮想計算機からパケットを受信した場合、パケットから、所定種類の情報を抽出し、抽出した所定種類の情報を第１の管理情報ユニットに登録する。第１の仮想化機構は、ＬＭのときに、第１の管理情報ユニット中の所定種類の情報を、第２の仮想化機構に送信する。第２の仮想化機構は、その所定種類の情報を第２の管理情報ユニットに登録し、ＬＭされた仮想計算機のネットワーク接続を復元するべく、所定種類の情報を含んだ所定種類のパケットを、第２の物理計算機の１以上の物理Ｉ／Ｏデバイスの少なくとも１つから送信する。
【発明の効果】
【００１８】
仮想化機構の管轄外の情報を使用した通信が行われる環境であっても、仮想化機構の管理者によって当該管轄外情報が手動で入力されること無しに、ライブマグレーションされた仮想計算機のネットワーク接続を復元することができる。仮想化機構の管理者が手動で管轄外情報を入力する必要が無いので、当該情報入力のために仮想計算機或いはその上位マシンの使用者と仮想化機構の管理者が連携する必要も無い。
【図面の簡単な説明】
【００１９】
【図１】図１は、実施形態に係る仮想計算機システムとその外部環境の一例を示す。
【図２】図２は、ＶＮＩＣ＃１１の管理テーブル＃１１とＶＮＩＣ＃１２の管理テーブル＃１２の例を示す。
【図３】図３は、ｔａｇ  ＶＬＡＮを使用していないＬＰＡＲ１２８から送信されるパケットの構成例を示す。
【図４】図４は、ｔａｇ  ＶＬＡＮを使用しているＬＰＡＲ１２８から送信されるパケットの構成例を示す。
【図５】図５は、ＬＭ対象のＬＰＡＲ１２８がｔａｇ  ＶＬＡＮを使用していないＬＰＡＲ１２８である場合に送信されるＲＡＲＰパケットの構成例を示す
【図６】図６は、ハイパーバイザ１０３内のＶＳＷ１３７が行う処理の流れを示す。
【図７】図７は、ＭＡＣアドレス学習テーブル１４４の構成例を示す。
【図８】図８は、メモリ１１１のうちハイパーバイザ１０３に関する情報が占める領域を示す。
【図９】図９は、図６のＳ６０３（ＭＡＣアドレス学習処理）の流れを示す。
【図１０】図１０は、学習データ収集処理の流れを示す。
【図１１】図１１は、ＬＭ処理の流れを示す。
【図１２】図１２は、ＬＭ元のハイパーバイザ＃１におけるＶＳＷ＃１１のＬＭ前後のＭＡＣアドレス学習テーブル＃１１の一例を示す。
【図１３】図１３は、ＬＭ先のハイパーバイザ＃２におけるＶＳＷ＃２１のＬＭ前後のＭＡＣアドレス学習テーブル＃２１の一例を示す。
【図１４】図１４は、ＰＳＷ＃１におけるＬＭ前のＭＡＣアドレステーブル＃１の一例を示す。
【図１５】図１５は、ＰＳＷ＃１におけるＬＭ前のＭＡＣアドレステーブル＃１の一例を示す。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、一実施形態を説明する。
【００２１】
その際、同種の複数の要素を区別しないで説明する際には、その要素の参照符号を使用し、同種の要素を区別して説明する際には、その要素の参照符号に代えてその要素に付した通し番号を使用する。例えば、複数の物理計算機を区別しないで説明する際には、「物理計算機１０１」と記載し、複数の物理計算機を区別して説明する際には、「物理計算機＃１」、「物理計算機＃２」と記載する。
【００２２】
また、以下の説明では、ａａａ情報の一例として、ａａａテーブルという名称で説明するが、情報はテーブルの形式に限らず他種の形式でも良い。
【００２３】
図１は、実施形態に係る仮想計算機システムとその外部環境の一例を示す。
【００２４】
仮想計算機システムは、複数の物理計算機１０１を含む。仮想計算機システムの外部環境は、例えば、複数のＰＳＷ１５４と、管理コンソール１４９とを含む。
【００２５】
物理計算機１０１は、物理層（物理リソース）１０２を有する。物理層１０２は、１以上のＣＰＵ１０４、１以上のメモリ１１１、及び１以上の物理Ｉ／Ｏ（Input/Output）デバイスを含む。物理Ｉ／Ｏデバイスは、例えば、通信ネットワークを介した通信のためのインタフェースデバイスであり、物理Ｉ／Ｏデバイスが通信ネットワークに接続されていてよい。１以上の物理Ｉ／Ｏデバイスは、例えば、３つの物理的なＮＩＣ１１２と、２つのＦＣ（Fibre  Channel）−ＨＢＡ（Host  Bus  Adaptor）１１５である。図示の例では、物理計算機＃１に関して、ＮＩＣ＃１１の第１のポートに、ＰＳＷ＃１のポート＃Ａが接続されており、ＮＩＣ＃１２の第１のポートに、ＰＳＷ＃３のポート＃Ｂが接続されており、ＮＩＣ＃１３の第１のポートに、ＰＳＷ＃４のポート＃Ｂが接続されている。物理計算機＃２に関して、ＮＩＣ＃２１の第１のポートにＰＳＷ＃１のポート＃Ｄが接続されており、ＮＩＣ＃２２の第１のポートにＰＳＷ＃３のポート＃Ｄが接続されている。
【００２６】
物理計算機１０１において、物理層１０２の少なくとも１つのＣＰＵ１０４においてコンピュータプログラム（例えばファームウェア）が実行されることで、ハイパパイザ１０３が実現される。ハイパーバイザ１０３は、物理層１０２（ＣＰＵ１０４、メモリ１１１、Ｉ／Ｏデバイス（ＮＩＣ１１２及びＦＣ−ＨＢＡ１１５）を論理的に分割し、且つ、論理的に分割することにより得られた複数の仮想リソースをそれぞれ複数のＬＰＡＲ（Logical  Partition）に割り当てることにより、１台の物理計算機１０１上に複数の仮想計算機を動作させることを可能とする機構である。仮想リソースの数はＬＰＡＲの数と同じであり、仮想リソースはＬＰＡＲに１対１で割り当てられる。仮想リソースがＬＰＡＲに割り当てられることで仮想計算機が実現されるので、以下、本実施形態では、仮想計算機を「ＬＰＡＲ」と呼ぶ。１つのＬＰＡＲ１２８に割り当てられる１つの仮想リソースは、例えば、１以上のＣＰＵ１０４に基づく１以上のＶＣＰＵ（仮想ＣＰＵ）１１９、１以上のメモリ１１１に基づく１以上のＶＭＥＭ（仮想メモリ）１２３、及び、１以上のＩ／Ｏデバイスに基づく１以上の仮想Ｉ／Ｏデバイスを含む。１以上の仮想Ｉ／Ｏデバイスは、例えば、１以上のＮＩＣ１１２に基づく１以上のＶＮＩＣ１２４、及び／又は、１以上のＦＣ−ＨＢＡ１１５に基づく１以上のＶＨＢＡ（仮想ＨＢＡ）１２６である。
【００２７】
ＬＰＡＲ１２８では、ＯＳ（ゲストＯＳ）１３１が実行される。ゲストＯＳ１３１は、パケットを送信する際、パケットに、所定種類の情報を含めるようになっている。所定種類の情報は、例えば、ゲストＯＩＳ１３１が使用するＭＡＣアドレス、及び／又は、ＶＬＡＮ  ｔａｇを含む。ＶＬＡＮ  ｔａｇは、ゲストＯＳ１３１の通信においてｔａｇ  ＶＬＡＮが使用される場合に、ゲストＯＳ１３１が送信するパケットに含まれる。ゲストＯＳ１３１が送信するパケットは、そのゲストＯＳ１３１を実行するＬＰＡＲ１２８に割り当てられているＶＮＩＣ１２４又はＶＨＢＡ１２６から送信される。そして、パケットに含まれるＭＡＣアドレスは、ゲストＯＳ１３１が独自に使用するＭＡＣアドレス（以下、「ソフトウェアＭＡＣ」と言うことがある）であって、ＶＮＩＣのＭＡＣアドレスとは異なるＭＡＣアドレスであることがある。
【００２８】
ＬＰＡＲ１２８から送信されたパケットは、複数のＰＳＷ１５４のうちの少なくとも１つが受信する。ＰＳＷ１５４は、物理的なネットワークスイッチである。ＰＳＷ１５４は、複数のポート（物理ポート）と、ＭＡＣアドレステーブル１５８（正確には、ＭＡＣアドレステーブル１５８を記憶するメモリのような記憶デバイス）と、図示しないプロセッサとを有している。ＭＡＣアドレステーブル１５８は、そのテーブル１５８を有するＰＳＷ１５４の物理ポートのＩＤとＭＡＣアドレスとの対応関係を表すアドレス管理情報の一例である。ここで言う「対応関係」は、どの物理ポートにどのゲストＯＳが接続されているかを表す。そのため、ＭＡＣアドレステーブル１５８に登録される物理ポートＩＤは、パケットの転送先物理ポートのＩＤと言うこともできる。ＭＡＣアドレステーブル１５８は、例えば、図１４に示すように、ＭＡＣアドレスと、ＶＬＡＮ  ｔａｇの少なくとも一部分の一例であるＶＬＡＮ  ＩＤと、物理ポートのＩＤとの組を有する（図１４は、ＰＳＷ＃１のＭＡＣアドレステーブル＃１の一例である。
【００２９】
ＰＳＷ＃１（ＰＳＷ＃１のプロセッサ）は、パケットを受信した場合、対象ＭＡＣアドレス（受信したパケットに含まれているＭＡＣアドレス）がＭＡＣアドレステーブル＃１に無ければ、対象ＭＡＣアドレスと対象ＶＬＡＮ  ＩＤ（パケットに含まれているＶＬＡＮ  ｔａｇ中のＶＬＡＮ  ＩＤ）と、対象物理ポート（パケットを受信した物理ポート）のＩＤとの組をＭＡＣアドレステーブル＃１に登録するようになっている。対象ＶＬＡＮ  ＩＤが無い場合には、ＭＡＣアドレステーブル＃１には、ＶＬＡＮ  ＩＤとして、指定無しを意味する値が登録される。また、ＰＳＷ＃１（ＰＳＷ＃１のプロセッサ）は、対象ＭＡＣアドレスがＭＡＣアドレステーブル＃１に有るが、対象ＭＡＣアドレスに対応している物理ポートＩＤが対象物理ポートＩＤと異なっていれば、ＭＡＣアドレステーブル＃１における、対象ＭＡＣアドレスに対応した物理ポートＩＤを、対象物理ポートＩＤに更新するようになっている。また、ＰＳＷ＃１（ＰＳＷ＃１のプロセッサ）は、パケットを受信した場合、対象ＭＡＣアドレスがＭＡＣアドレステーブル＃１に有り、且つ、対象ＭＡＣアドレスに対応しているＶＬＡＮ  ＩＤが、対象ＶＬＡＮ  ＩＤと異なっていれば、新たなエントリを追加し、そのエントリに、対象ＭＡＣアドレスと対象ＶＬＡＮ  ＩＤを登録する。ＰＳＷ＃１のこのような機能により、ＭＡＣアドレステーブル＃１には、ゲストＯＳが使用するＭＡＣアドレス（及びＶＬＡＮ  ｔａｇ）が登録されるようになっており、故に、そのＭＡＣアドレスが、ソフトウェアＭＡＣであれば、ＬＰＡＲ１２８のＶＮＩＣ１２４のＭＡＣアドレスではなく、ソフトウェアＭＡＣが登録される。なお、ＰＳＷ＃１のこのような機能と同じ機能を、他のＰＳＷ１２８も有している。
【００３０】
ハイパーバイザ１０３は、スケジューラ１１７、リソース管理部１１８、マイグレーション処理部１４８、複数のＶＳＷ（仮想スイッチ）１３７、及び、前述した１以上の仮想リソースを有する。
【００３１】
スケジューラ１１７は、物理層１０２の論理分割を行い、リソース管理部１１８は、物理層１０２としての物理リソース等のリソースを管理する。スケジューラ１１７及びリソース管理部１１８により、物理層１０２（物理リソース）を論理的に分割することにより得られた複数の仮想リソース（例えば、ＶＣＰＵ１１９、ＶＭＥＭ１２３、ＶＮＩＣ１２４及びＶＨＢＡ１２６）をそれぞれ複数のＬＰＡＲ１２８に割り当てることができる。
【００３２】
ＶＮＩＣ１２４は、ハイパーバイザ１０３が割り当てた仮想ＭＡＣアドレスを持つ。また、ＶＮＩＣ１２４は、仮想ＭＡＣアドレスの他に、ＶＮＩＣ１２４に関する情報を含んだ管理テーブル１５２を有する。管理テーブル１５２は、ＶＮＩＣ１２４毎に設けられる。以下、管理テーブル１５２について、ＬＰＡＲ＃１１に割り当てられたＶＮＩＣ＃１１及び＃１２のそれぞれの管理テーブルを例に取る。
【００３３】
図２は、ＶＮＩＣ＃１１の管理テーブル＃１１とＶＮＩＣ＃１２の管理テーブル＃１２の一例を示す。
【００３４】
管理テーブル＃１１は、ＶＮＩＣ＃１１の仮想ＭＡＣアドレスと、ＬＰＡＲ＃１１のゲストＯＳ＃１１が使用し得る１以上のＭＡＣアドレスである１以上のＯＳ登録ＭＡＣアドレス（すなわち、ＶＮＩＣ＃１１を経由するパケットに含まれるＭＡＣアドレスとして使用され得る１以上のＭＡＣアドレス）とを含む。ＯＳ登録ＭＡＣアドレスは、ＶＮＩＣ＃１１の仮想ＭＡＣアドレスと同じ値である場合もある。
【００３５】
ゲストＯＳ＃１１が送信するパケットに含まれるＭＡＣアドレスが、管理テーブル＃１１に登録される。ハイパーバイザ１０３は、管理テーブル＃１１を参照することで、ゲストＯＳ＃１１によって登録されたＭＡＣアドレスを知ることができる。
【００３６】
例えばＶＮＩＣ＃１１及び＃１２についてteamingの設定がされた場合、図２に示す管理テーブル＃１１及び＃１２の通り、ＶＮＩＣ＃１１とＶＮＩＣ＃１２とでは仮想ＭＡＣアドレスが異なるが、使用されるＯＳ登録ＭＡＣアドレスは、図２に示す通り同じになることがある（例えばＭＡＣアドレス００：００：８７：００：００：０１）。teaming時には、このＯＳ登録ＭＡＣアドレスを使用すれば良いようにも思えるが、teamingの場合には、ゲストＯＳがハイパーバイザ１０３にどのＭＡＣアドレスを使用してくるか分からないため、登録ＭＡＣアドレスを使用することができない（図２に示すように、両方とも共通のＭＡＣアドレスが複数登録されている場合がある）。
【００３７】
再び図１を参照する。ＬＰＡＲ１２８では、前述したように、ゲストＯＳ１３１が動作する。ＬＰＡＲ＃１３のゲストＯＳ＃１３のようにＶＬＡＮ  ｔａｇを使用しないゲストＯＳ１３１からは、図３に示すような、ＶＬＡＮ  ｔａｇを含まないパケットが送信される。ＬＰＡＲ＃１１のゲストＯＳ＃１１或いはＬＰＡＲ＃１２のゲストＯＳ＃１２のようにｔａｇ  ＶＬＡＮを使用するゲストＯＳ１３１からは、図４に示すような、ＶＬＡＮ  ｔａｇを含むパケットが送信される。図３及び図４に示すいずれの種類のパケットにも、宛先ＭＡＣアドレスと送信元ＭＡＣアドレスとが含まれる。宛先ＭＡＣアドレスは、送信元のＬＰＡＲ１２８のゲストＯＳ１３１が送信先として指定するＭＡＣアドレスであり、送信元ＭＡＣアドレスは、送信元のＬＰＡＲ１２８のゲストＯＳ１３１が送信元として指定するＭＡＣアドレスである。例えば、ｔａｇ  ＶＬＡＮを使用しないゲストＯＳから送信されるパケット（以下、ＶＬＡＮ未使用パケット）は、第１のフィールド（例えば最初の６バイトのフィールド）に宛先ＭＡＣアドレスを有し、第２のフィールド（例えば次の６バイトのフィールド）に送信元ＭＡＣアドレスを有し、第３のフィールド（例えば次の２バイトのフィールド）にパケットのタイプを示す情報（例えばプロトコルを識別するための番号）を有し、第４のフィールド（例えば次の４６〜１５００バイトのフィールド）に、データを有し、第５のフィールド（例えば最後の４バイトのフィールド）に、エラー検出のためのコードを有する。一方、ｔａｇ  ＶＬＡＮを使用するゲストＯＳから送信されるパケット（以下、ＶＬＡＮ使用パケット）は、ＶＬＡＮ未使用パケットとほぼ同じであり、相違点は、ＶＬＡＮ使用パケットには、第２のフィールドと第３のフィールドとの間に第６のフィールド（例えば４バイト）がある点である。第６のフィールドには、ＶＬＡＮ  ｔａｇがある。具体的には、例えば、第６のフィールドの前半部分（例えば２バイト）には、ＴＰＩＤ（Tag  Protocol  Identifier）があり、第６のフィールドの後半部分（例えば２バイト）には、ＴＣＩ（Tag  Control  Information）がある。ＴＰＩＤの値は、ｔａｇ  ＶＬＡＮ使用時には「０x８１００」となる。ＴＣＩは、ＶＬＡＮ  ＩＤやパケットの優先順位等の情報を含む情報である。ＴＰＩＤとＴＣＩとを含んだ情報を、ＶＬＡＮ  ｔａｇと呼ぶ。
【００３８】
前述したように、例えば、ＬＰＡＲ＃１１及び＃１２のようにｔａｇ  ＶＬＡＮを使用するＬＰＡＲ１２８からは、ＶＬＡＮ  ＩＤ等の情報を含んだＶＬＡＮ  ｔａｇを含むパケットが送信される。また、例えば、ＬＰＡＲ＃１３のように、ネットワークを冗長化するTeamingを行うＬＰＡＲ１２８からは、ゲストＯＳがＶＮＩＣ１５２の仮想ＭＡＣアドレスと異なるＭＡＣアドレスを含むパケットが送信されることがある。
【００３９】
ハイパーバイザ＃１により、稼働中のＬＰＡＲ１２８が物理計算機＃１から物理計算機＃２にＬＭされることがある。例えば、ＬＰＡＲ＃１３がＬＭされると、ＬＰＡＲ＃１３が物理計算機＃２にマイグレーションされ、物理計算機＃２内のハイパーバイザ＃２が、ＲＡＲＰ（Reverse  Address  Resolution  Protocol）を送信すれば、ＰＳＷ＃３のＭＡＣアドレステーブル＃３とＰＳＷ＃４のＭＡＣアドレステーブル＃４が更新され、ＬＰＡＲ＃１３のネットワーク接続を復元（実質的に引き継ぐ）ことができる。
【００４０】
本実施形態では、ＬＭされるＬＰＡＲ１２８がＶＮＩＣの仮想ＭＡＣアドレスと異なるソフトウェアＭＡＣを含んだパケットを送信するようになっていても（或いは、ＶＬＡＮ  ｔａｇを含んだパケットを送信するようになっていても）、そのようなＬＰＡＲ１２８がＬＭされた後にネットワーク接続を復元できるよう（言い換えれば、ＬＭに伴いネットワーク接続の引き継ぎができるよう）、少なくともＬＭ元の物理計算機＃１内のハイパーバイザ＃１が、ＬＰＡＲ１２８からのパケットから所定種類の情報を抽出し保持するという学習機能を有する。所定種類の情報は、例えば、ＭＡＣアドレス（送信元ＭＡＣアドレス）とＶＬＡＮ  ｔａｇの少なくとも一部分（例えばＶＬＡＮ  ＩＤ）とのうちの少なくとも一方（典型的には両方）である。上記学習機能は、ＭＡＣ学習部１４０である。ＭＡＣ学習部１４０は、ＭＡＣアドレス（送信元ＭＡＣアドレス）とＶＬＡＮ    ＩＤとを抽出し管理するＭＡＣアドレス学習を行うようになっている。
【００４１】
ハイパーバイザ１０３は、自身が構築する仮想的なネットワークセグメント毎にＶＳＷ（仮想的なスイッチ）１３７を有する。ＶＳＷ１３７は、物理的なＮＩＣ１１２のポートに対応している。
【００４２】
各ＶＳＷ１３７は、複数の仮想ポートと、ＭＡＣ学習部１４０と、ＭＡＣアドレス学習テーブル１４４とを有する。各ＶＳＷ＃１３７の複数の仮想ポートは、ＬＰＡＲ１２８に割り当てられたＶＮＩＣ１２４に接続される仮想ポートと、物理計算機１０１が有する物理的なＮＩＣ１１２に割り当てられる仮想ポートとを含む。ＭＡＣ学習部１４０は、ＭＡＣアドレス学習を行う。例えば、ＶＳＷ＃１１のＭＡＣ学習部＃１１は、ＶＳＷ＃１１に接続されているＶＮＩＣが割り当てられているＬＰＡＲ＃１１（ゲストＯＳ＃１１）からＶＳＷ＃１１がパケットを受信した場合、そのパケットからＭＡＣアドレス（送信元ＭＡＣアドレス）とＶＬＡＮ  ＩＤとを抽出し、抽出した情報（例えばＭＡＣアドレス及びＶＬＡＮ  ＩＤ）をＭＡＣアドレス学習テーブル＃１１に登録する。これにより、ＭＡＣアドレス学習テーブル１４０に登録される情報（ＭＡＣアドレス及びＶＬＡＮ  ＩＤ）は、そのＭＡＣアドレス学習テーブル１４０を有するＶＳＷ１３７が受信したパケットに依存する。
【００４３】
図１に例示した構成によれば、ＬＰＡＲ１２８に割り当てられたＶＮＩＣ１２４に少なくとも１つのＶＳＷ１３７が接続されており、ＶＳＷ１３７に少なくとも１つの物理的なＮＩＣ１１２が接続されており、物理的なＮＩＣ１１２に少なくとも１つのＰＳＷ１５４が接続されており、ＰＳＷ１５４に、そのＰＳＷ１５４に物理的なＮＩＣ１１２を通じて接続されているＶＳＷ（仮想ネットワークセグメント）１３７に対応したネットワークセグメントが接続されている。ネットワークセグメントは、例えば、ＬＡＮのサブネット、或いは、ＶＬＡＮ（ｔａｇ  ＶＬＡＮ）で良い。例えば、ゲストＯＳ＃１３から送信されたパケットは、ＬＰＡＲ＃１３に割り当てられているＶＮＩＣ１２４、そのＶＮＩＣ１２４に接続されているＶＳＷ＃１３、及び、ＶＳＷ＃１３に接続されているＮＩＣ＃２を通じて、ＮＩＣ＃２に接続されているＰＳＷ＃３で受信される。ＰＳＷ＃３は、その受信したパケット内の宛先ＭＡＣアドレスに対応した物理ポートＩＤをＭＡＣアドレステーブル＃３から特定し、特定した物理ポート＃Ａ又は＃Ｄから、その受信したパケットを出力する。これにより、パケットは、ＰＳＷ＃３に接続されているネットワークセグメント＃３を通じて外部の装置へ送られる、或いは、物理計算機＃２内のＬＰＡＲ１２８へと送られる。
【００４４】
ＶＳＷ１３７は、ネットワークセグメントに対応しているので、複数の物理計算機１０１に、同一のネットワークセグメントに対応した複数のＶＳＷ１３７が存在することになる。例えば、物理計算機＃１及び＃２に、同一のネットワークセグメント＃１に対応したＶＳＷ＃１１とＶＳＷ＃２１が存在することになる。
【００４５】
管理コンソール１４９は、例えば、パーソナルコンピュータのような計算機でも良い。管理コンソール１４９は、例えば、複数のＰＳＷ１５４のうちの少なくとも１つ（例えばＰＳＷ＃１）に接続されている。管理コンソール１４９から、ＰＳＷ＃１を通じて、ＬＭ開始要求がＬＭ元の物理計算機＃１とＬＭ先の物理計算機＃２の両方に指示が出されることにより開始される。ＬＭ開始要求は、例えば、物理計算機＃１（又は＃２）だけに送られて、その物理計算機＃１（又は＃２）から相手の物理計算機＃２（又は＃１）にＬＭ開始要求が送られても良い。マイグレーション処理部＃１が、ＮＩＣ＃１を通じてマイグレーション処理部＃２にＬＭ対象のＬＰＡＲ＃１２８のデータを転送することにより、ＬＰＡＲ１２８のＬＭが実現される。ＬＭ開始要求では、ＬＭ対象のＬＰＡＲ１２８（例えばＬＰＡＲ＃１３）が及びマイグレーションの方式が指定される。指定されたＬＰＡＲ１２８が稼働中であり、かつ指定された方式がＬＭであれば、ＬＭが実行される。指定された方式がＬＭであるにも関わらす、指定されたＬＰＡＲ１２８が稼働中でなければ、ＬＭは失敗となる。本実施形態に係るマイグレーション処理部１４８は、ＬＭの他に、他種のマイグレーション、例えば、マイグレーション対象のＬＰＡＲ１２８のゲストＯＳ１３１をシャットダウンした状態でそのマイグレーション対象のＬＰＡＲ１２８をマイグレーションするシャットダウンマイグレーションを行うことができる。シャットダウンマイグレーションを行う際には、マイグレーション方式としてシャットダウンマイグレーションが指定される必要がある。
【００４６】
ＬＰＡＲ１２８が物理計算機＃２にＬＭされた場合、ＬＭ先の物理計算機＃２のマイグレーション処理部＃２が、ＲＡＲＰパケットを送信する。
【００４７】
図５は、ＬＭ対象のＬＰＡＲ１２８がｔａｇ  ＶＬＡＮを使用していないＬＰＡＲ１２８である場合に送信されるＲＡＲＰパケットの構成例を示す。
【００４８】
図５からわかるように、パケットの構成は、図３に示したパケットの構成と同じである。第３のフィールド（タイプが書き込まれるフィールド）に、ＲＡＲＰを意味する値（例えば０x８０３５）が書き込まれ、第４のフィールド（データを有するフィールド）に、ＲＡＲＰに関するデータ（ＲＡＲＰパケット構成に従う値）が書き込まれる。
【００４９】
図６は、ハイパーバイザ１０３内のＶＳＷ１３７が行う処理の流れを示す。
【００５０】
図６の処理は、物理計算機１０１が起動しハイパーバイザ１０３によりＶＳＷ１３７が構築された後、全てのＶＳＷ１３７で実施される共通の処理である。具体的には、図６の処理は、ＶＳＷ１３７を有する物理計算機１０１がＬＰＡＲ１２８のＬＭ元であるかＬＭ先であるかに関係なく実施される。図６の処理は、全てのＶＳＷ１３７に適用されるが、以下、本実施形態のＬＭ対象がＬＰＡＲ＃１３であるため、ＶＳＷ＃１３を例に取り、図６に示す処理を説明する。
【００５１】
（Ｓ６０１）物理計算機＃１に電源が入り、ハイパーバイザ＃１が動き始め、ＶＳＷ＃１３が構築され、ＶＳＷ＃１３の処理が開始する。
【００５２】
（Ｓ６０２）ＶＳＷ＃１３は、ゲストＯＳ＃１３が送信したパケットを受信するまで、又は、学習データ取得要求を受けるまで、待機する。
【００５３】
（Ｓ６０３）ゲストＯＳ＃１３が送信したパケットを受信した場合には、ＭＡＣ学習部＃１３がＭＡＣアドレス学習処理を行う（ＭＡＣアドレス学習処理の詳細については後の図９を参照）。
【００５４】
（Ｓ６０４）ＶＳＷ＃１３は、ＭＡＣアドレス学習処理を行った後、受信したパケットを送信する。そのパケットは、ＶＳＷ＃１３に接続されているＮＩＣ＃１２を通じて物理計算機＃１から出力される。
【００５５】
（Ｓ６０５）ＶＳＷ＃１３は、学習データ取得要求を受信した場合には、学習データ取得処理を行う（学習データ取得処理を含む学習データ収集処理の詳細については、後の図１０を参照）。
【００５６】
（Ｓ６０６）ＶＳＷ＃１３は、学習データを取得し、取得した学習データを、学習データ取得要求の送信元（ＶＮＩＣ）に送信する。
【００５７】
以上のように、ハイパーバイザ１０３が動作し、ＶＳＷ１３７が存在しているときには、常に、各ＶＳＷ１３７で、図６のＳ６０２〜Ｓ６０４の処理が繰り返される。Ｓ６０５とＳ６０６は、ＬＭ処理が行われた場合に行われる。
【００５８】
図７は、ＭＡＣアドレス学習テーブル１４４の構成例を示す。
【００５９】
ＭＡＣアドレス学習テーブル１４４は、前述したように、ＶＳＷ１３７毎に存在し、１以上のエントリを有する。１つのエントリは、例えば、このＭＡＣアドレス学習テーブル１４４を有するＶＳＷ１３７が受信したパケットから抽出された送信元ＭＡＣアドレスと、そのパケットから抽出されたＶＬＡＮ  ＩＤと、そのパケットの送信元のＶＮＩＣのＩＤと、このエントリが更新された時刻である更新時刻とを有する。すなわち、各エントリは、ＶＮＩＣを特定するのに、ＶＮＩＣの仮想ＭＡＣアドレスではなく、ＶＮＩＣのＩＤを使用する。ＶＮＩＣについて、ＶＮＩＣの仮想ＭＡＣアドレスが登録されても良い。
【００６０】
ＬＭされたＬＰＡＲ１２８のネットワーク接続をＬＭ先の物理計算機＃２において復元するために、ハイパーバイザ＃２（マイグレーション処理部＃２）がＲＡＲＰパケットを出す。図５を参照して説明したが、ＲＡＲＰパケットには、送信元ＭＡＣアドレスとＶＬＡＮ  ＩＤ（ｔａｇ  ＶＬＡＮが使用されていれば）が必要となる。ＬＭ元のハイパーバイザ＃１におけるＭＡＣアドレス学習テーブル１４４から、ＬＭされたＬＰＡＲに関する全エントリの情報をＬＭ先のハイパーバイザ＃２にマイグレーションする。これにより、ゲストＯＳ＃１３がハイパーバイザ＃１が管理している仮想ＭＡＣアドレスと異なるＭＡＣアドレスを含んだパケットを送信していた場合（及び、ｔａｇ  ＶＬＡＮが使用されていた場合）であっても、ＬＭ元から持ってきたエントリ（ＭＡＣアドレス学習テーブルのエントリ）に、ネットワーク接続の復元に必要な情報であってＲＡＲＰパケットに含められる情報が格納されている。このため、そのような情報を含んだＲＡＲＰパケットをＬＭ先のハイパーバイザ＃２（マイグレーション処理部＃２）が出すことで、ＬＭされたＬＰＡＲのネットワーク接続を復元することができるようになる。
【００６１】
ＭＡＣアドレス学習テーブル１４４は、ハイパーバイザ１０３によるＶＳＷ１３７の初期化処理で生成され、ＶＳＷ１３７が存在する間、常に存在する。ゲストＯＳ１３４が、生成されたどのＶＳＷ（仮想ネットワークセグメント）を使うかは、ユーザによって指定される。ＭＡＣアドレス学習テーブル１４４の更新は、ゲストＯＳ１３４が使用するパケット中の情報が更新された場合に行われる。
【００６２】
図８は、メモリ１１１のうちハイパーバイザ１０３に関する情報が占める領域を示す。
【００６３】
図８に示すように、ＭＡＣアドレス学習テーブル１４４と、そのテーブル１４４を論理的に保持するＶＳＷ１３７（正確にはＶＳＷ１３７としての機能を発生させるためにＣＰＵ１０４によって実行されるプログラムモジュール）とがメモリ１１１に配置される。これにより、ゲストＯＳ１３４が大量のパケットを生成し送信しても、ＭＡＣアドレス学習処理を長い時間をかけずに行うことができる。管理コンソール１４９のような、物理計算機＃１の外部の装置がＭＡＣアドレス学習テーブル１４４を持っても良いかもしれないが、そうすると、通信ネットワークによりデータを転送する必要がでるため、ゲストＯＳ１３４により大量にパケットが生成され送信された場合に、データの解析及び更新に長い時間を要してしまうことになる。
【００６４】
図９は、図６のＳ６０３（ＭＡＣアドレス学習処理）の流れを示す。
【００６５】
ＭＡＣアドレス学習処理は、ＬＭとは無関係に、ＶＳＷ１３７が存在している間、そのＶＳＷ＃１３７のＭＡＣ学習部１４０で行われる処理である。ここでも、図６と同様に、ＶＳＷ＃１３を例に取り、図９に示す処理を説明する。
【００６６】
（Ｓ９０１）ＭＡＣ学習部＃１３は、ゲストＯＳ＃１３が送信したパケットを受信する。
【００６７】
（Ｓ９０２）ＭＡＣ学習部＃１３は、受信したパケットの解析を行い、ゲストＯＳ＃１３がｔａｇ  ＶＬＡＮを使用しているか否かに基づき、パケットから情報を取得する。具体的には、ｔａｇ  ＶＬＡＮが使用されている場合、取得される情報は、送信元ＭＡＣアドレスとＶＬＡＮ  ＩＤである。ｔａｇ  ＶＬＡＮが使用されていない場合、取得される情報は、送信元ＭＡＣアドレスである。ｔａｇ  ＶＬＡＮを使用しているか否かは、例えば、パケットにおける第２のフィールド（送信元ＭＡＣアドレス）の次の２バイトが、ＴＰＩＤ「０x８１００」であるか否かで判定することができる。
【００６８】
（Ｓ９０３）ＭＡＣ学習部＃１３は、取得した送信元ＭＡＣアドレス（及びＶＬＡＮ  ＩＤ）と同じＭＡＣアドレス（及びＶＬＡＮ  ＩＤ）を含んだエントリ（図９の説明において、以下、一致エントリ）がＭＡＣアドレス学習テーブル＃１３にあるか否かを判定する。
【００６９】
（Ｓ９０４）Ｓ９０３の判定の結果が肯定的の場合（Ｓ９０３：Ｙｅｓ）、ＭＡＣ学習部＃１３は、一致エントリ内に、Ｓ９０１で受信したパケットの送信元のＶＮＩＣのＩＤと同じＶＮＩＣ  ＩＤが登録されているか否かを判定する。
【００７０】
（Ｓ９０５）Ｓ９０４の判定の結果が否定的の場合（Ｓ９０４：Ｎｏ）、ＭＡＣ学習部＃１３は、一致エントリのＶＮＩＣ  ＩＤを、Ｓ９０１で受信したパケットの送信元のＶＮＩＣ  ＩＤに変更する。これにより、例えばteaming時に異なるＶＮＩＣで同じＭＡＣアドレスが使用されていた場合でも、どのＶＮＩＣが使用されているかを知ることができる。
【００７１】
（Ｓ９０６）Ｓ９０４の判定の結果が肯定的の場合（Ｓ９０４：Ｎｏ）、又は、Ｓ９０５の後、ＭＡＣ学習部＃１３は、一致エントリにおける更新時刻を、一致エントリを更新した時刻に変更する。
【００７２】
（Ｓ９０７）Ｓ９０３の判定の結果が否定的の場合（Ｓ９０３：Ｎｏ）、ＭＡＣ学習部＃１３は、ＭＡＣアドレス学習テーブル＃１３に空きエントリがあるか否かを判定する。
【００７３】
（Ｓ９０８）Ｓ９０７の判定の結果が否定的の場合（Ｓ９０７：Ｎｏ）、ＭＡＣ学習部＃１３は、ＭＡＣアドレス学習テーブル＃１３から、最も更新時刻の古いエントリを削除することにより、空きエントリを生成する。
【００７４】
（Ｓ９０９）Ｓ９０７の判定の結果が肯定的の場合（Ｓ９０７：Ｎｏ）、又は、Ｓ９０８の後、ＭＡＣ学習部＃１３は、空きエントリに、Ｓ９０２で取得した情報（学習した情報）と、Ｓ９０１で受信したパケットの送信元のＶＮＩＣ  ＩＤと、空きエントリに情報を格納する時刻である更新時刻とを、格納する。
【００７５】
図１０は、学習データ収集処理の流れを示す。
【００７６】
学習データ収集処理を説明する際の前提として、図７で示したように、ＭＡＣアドレス学習テーブル１４４は、複数のエントリを有し、各エントリは、ＶＮＩＣ  ＩＤを含んでいる。ＶＮＩＣ  ＩＤは、名前の通り、ＶＮＩＣを識別するための情報であり、ＶＮＩＣと１：１で対応する。
【００７７】
ＬＭされたＬＰＡＲ１２８のネットワーク接続を復元するためには、ＬＭ対象のＬＰＡＲに割り当てられたＶＮＩＣに対応するＶＮＩＣ  ＩＤを持つエントリの情報を取得し、ＬＭ先のハイパーバイザ＃２が、当該エントリのＭＡＣアドレスとＶＬＡＮ  ＩＤを利用してＲＡＲＰパケットを送信する必要がある。ＬＰＡＲに割り当てられたＶＮＩＣのエントリをＭＡＣアドレス学習テーブルから検索する際には、ＶＮＩＣ  ＩＤをキーとして検索する。ＬＰＡＲに複数のＶＮＩＣが割り当てられていれば、複数のエントリの情報を取得する必要がある。また、ＬＭ対象のＬＰＡＲ１２８がｔａｇ  ＶＬＡＮを使用するＬＰＡＲであることもあるので、その際には、１つのＶＮＩＣについて複数のエントリの情報を取得する必要がある。以下、図６及ぶ図９と同様、ＬＭ対象のＬＰＡＲ１２８がＬＰＡＲ＃１３であり物理計算機＃１から物理計算機＃２にＬＭされることを例に取り、図１０に示す学習データ収集処理を説明する。
【００７８】
（Ｓ１００１）マイグレーション処理部＃１は、ＬＰＡＲ＃１３に割り当てられている１以上のＶＮＩＣ１３７のうちの１つのＶＮＩＣ１３７（例えば＃１１）に、学習データ取得要求を出す。
【００７９】
（Ｓ１００２）ＶＮＩＣ＃１１は、Ｓ１００１の学習データ取得要求を受信し、ＶＮＩＣ＃１１に接続されているＶＳＷ＃１３に対して、学習データ取得要求を送信する。
【００８０】
（Ｓ１００３）ＶＳＷ＃１３が、データ収集要求を受信する。
【００８１】
（Ｓ１００４）ＶＳＷ＃１３が、ＶＮＩＣ＃１１のＶＮＩＣ  ＩＤを特定する。
【００８２】
（Ｓ１００５）ＶＳＷ＃１３が、ＭＡＣアドレス学習テーブル＃１３内に、Ｓ１００４で特定したＶＮＩＣ  ＩＤと同一のＶＮＩＣ  ＩＤを持つエントリ（図１０の説明において、以下、一致エントリ）の検索を行う。
【００８３】
（Ｓ１００６）ＶＳＷ＃１３が、検索したエントリが一致エントリであるかどうかの判定を行う。
【００８４】
（Ｓ１００７）Ｓ１００６の判定の結果が肯定的の場合（Ｓ１００６：Ｙｅｓ）、ＶＳＷ＃１３が、一致エントリの情報を、マイグレーション処理部＃１のバッファ領域（例えばメモリ１１における所定領域）にコピーする。これにより、マイグレーション処理部＃１がＬＭ先にＬＰＡＲ＃１３に関するデータを転送できるようにする。
【００８５】
（Ｓ１００８）Ｓ１００６の判定の結果が否定的の場合（Ｓ１００６：Ｎｏ）、或いは、Ｓ１００７の後、ＶＳＷ＃１３が、検索するエントリが最終エントリであるか否かを判定する。この判定の結果が否定的の場合（Ｓ１００８：Ｎｏ）、別の未検索のエントリについて、Ｓ１００５が行われる。
【００８６】
（Ｓ１００９）Ｓ１００８の判定の結果が肯定的の場合（Ｓ１００８：Ｙｅｓ）、ＶＳＷ＃１３が、Ｓ１００３で受信した要求の送信元のＶＮＩＣ＃１１に対して、データ取得の完了を通知する。
【００８７】
（Ｓ１０１０）データ取得の完了の通知を受けたＶＮＩＣ＃１１は、Ｓ１００１の要求の送信元のマイグレーション処理部＃１に対して、データ取得の完了を通知する。
【００８８】
（Ｓ１０１１）ＶＮＩＣ＃１１からデータ取得の完了の通知を受けたマイグレーション処理部＃１は、ＬＭ対象のＬＰＡＲ＃１３に割り当てられている１以上のＶＮＩＣ１３７の全てについて、データの取得が完了したか否かを判定する。
【００８９】
（Ｓ１０１２）Ｓ１０１１の判定の結果が否定的の場合（Ｓ１０１１：Ｎｏ）、マイグレーション処理部＃１は、ＬＰＡＲ＃１３に割り当てられている１以上のＶＮＩＣ１３７のうち別のＶＮＩＣ（例えば＃１２）に対して、Ｓ１００１のように学習データ取得要求を送信する。
【００９０】
（Ｓ１０１３）Ｓ１０１１の判定の結果が肯定的の場合（Ｓ１０１１：Ｙｅｓ）、マイグレーション処理部＃１は、学習データ収集処理を終了する。
【００９１】
図１１は、ＬＭ処理の流れを示す。なお、これまで、ＬＰＡＲ１２８が物理計算機＃１から物理計算機＃２にＬＭされると説明したが、正確には、物理計算機＃１におけるＬＭ元のＬＰＡＲに関するデータが物理計算機＃１から物理計算機＃２に転送され、物理計算機＃２におけるＬＭ先のＬＰＡＲに関するデータが、物理計算機＃１におけるＬＭ元のＬＰＡＲに関するデータに変更されることである。そこで、以下の説明では、「ＬＭ元ＬＰＡＲ」及び「ＬＭ先ＬＰＡＲ」という言葉が使用される。このＬＭ処理では、ＬＭ元ＬＰＡＲからＬＭ先ＬＰＡＲにＬＰＡＲ＃３がマイグレーションされるというイメージである。
【００９２】
（Ｓ１１０１）管理コンソール１４９が、ＬＭ元の物理計算機＃１におけるマイグレーション処理部＃１に対してＬＭ開始要求を出す。
【００９３】
（Ｓ１１０２）管理コンソール１４９が、ＬＭ先の物理計算機＃１におけるマイグレーション処理部＃２に対してＬＭ開始要求を出す。
【００９４】
（Ｓ１１０３）マイグレーション処理部＃１は、ＬＭ元の物理計算機＃１に関する構成情報を収集する。構成情報は、例えば、どのＮＩＣ１１２のポートにどのＶＳＷ１３７を通じてどのＶＮＩＣ１２４が接続されているか、ＶＮＩＣ毎の仮想ＭＡＣアドレス、及び、ＶＨＢＡ毎のＷＷＮ（World  Wide  Name）を含んでよい。
【００９５】
（Ｓ１１０４）マイグレーション処理部＃２はＬＭ先の物理計算機＃２に関する構成情報を収集する。
【００９６】
（Ｓ１１０５）マイグレーション処理部＃２は、Ｓ１１０４で取得した構成情報のうちの、ＬＭ先ＬＰＡＲのＭＡＣアドレス及び／又はＷＷＮを、マイグレーション処理部＃１に転送する。
【００９７】
（Ｓ１１０６）マイグレーション処理部＃１は、Ｓ１１０３で取得した構成情報のうちの、ＬＭ元ＬＰＡＲのＭＡＣアドレス及び／又はＷＷＮを、マイグレーショ処理部＃２に転送する。
【００９８】
（Ｓ１１０７）マイグレーション処理部＃２は、Ｓ１１０６でマイグレーション処理部＃１から送信されたＭＡＣアドレス及び／又はＷＷＮを受信し、それらが、ＬＭ先ＬＰＡＲのＭＡＣアドレス及び／又はＷＷＮを、受信したＭＡＣアドレス及び／又はＷＷＮに変更する。
【００９９】
（Ｓ１１０８）マイグレーション処理部＃１は、マイグレーション処理部＃２に対して、リソース確保要求を出す。
【０１００】
（Ｓ１１０９）マイグレーション処理部＃２は、マイグレーション処理部＃１からリソース確保要求を受信し、ＬＭ先ＬＰＡＲのリソース確保処理を行う。
【０１０１】
（Ｓ１１１０）リソースを確保したマイグレーション処理部＃２は、マイグレーション処理部＃１からＶＭＥＭ１２３に記憶されている情報が転送されて来るのを待つ。
【０１０２】
（Ｓ１１１１）マイグレーション処理部＃１は、ＶＭＥＭ１２３から、ＬＭ元ＬＰＡＲに関する情報を取得し、取得した情報をマイグレーション処理部＃２に転送する。マイグレーション処理部＃１は、ＶＭＥＭ１２３に記憶されている、ＬＭ元ＬＰＡＲに関する情報のうち、ダーティ比率が一定値以下になるまで、ＬＭ元ＬＰＡＲに関する情報の転送を続ける。なお、ダーティ比率とは、ＬＭ元ＬＰＡＲに関する情報の量に対する、ＬＭ元ＬＰＡＲに関する情報のうちのダーティ情報の量の比率である。ダーティ情報は、本ＬＭ処理において転送された後に更新され転送が必要になった情報である。
【０１０３】
（Ｓ１１１２）マイグレーション処理部＃２は、ハイパーバイザ＃２におけるＶＭＥＭにおける情報のうち、ＬＭ先ＬＰＡＲに関する情報を、マイグレーション処理部＃１より転送されて来た情報（ＬＭ元ＬＰＡＲに関する情報）に変更する。
【０１０４】
（Ｓ１１１３）マイグレーション処理部＃１は、ダーティ比率が一定値以下になった場合に、ＬＭ元ＬＰＡＲを休止する。具体的には、マイグレーション処理部＃１は、ＬＭ元ＬＰＡＲに割り当てられていた仮想リソース（ＶＣＰＵ１１９、ＶＮＩＣ１２４等））を休止させることにより、ＬＭ元ＬＰＡＲを休止させる。これにより、ＶＭＥＭの情報のうちの、ＬＭ元ＬＰＡＲに関する情報を確定することができ、以って、ダーティ情報が増えないようにすることができる。
【０１０５】
（Ｓ１１１４）ＬＭ元ＬＰＡＲの休止後に、学習データ収集処理（図１０参照）が行われる。その処理は、マイグレーション処理部＃１がＬＭ元ＬＰＡＲに接続されているＶＮＩＣに学習データ取得要求を送信することを含む。この処理により、ＬＭ元ＬＰＡＲについて学習されたデータ（ソフトウェアＭＡＣ、ＶＬＡＮ  ＩＤ）を、マイグレーション処理部＃１が取得することができる。具体的には、図１０のＳ１００７の通り、ＭＡＣアドレス学習テーブル１４４の１以上のエントリの情報が、マイグレーション処理部＃１のバッファ領域にコピーされる。
【０１０６】
（Ｓ１１１５）マイグレーション処理部＃１は、マイグレーション処理部＃１のバッファ領域にコピーされた情報（ＭＡＣアドレス学習テーブル１４４の１以上のエントリの情報）を含んだ情報であるデバイス情報をマイグレーション処理部＃２に転送する。
【０１０７】
（Ｓ１１１６）マイグレーション処理部＃２は、Ｓ１１１５でマイグレーション処理部＃１から転送されたデバイス情報を受信し、受信したデバイス情報を、ＬＭ先ＬＰＡＲに反映する。具体的には、マイグレーション処理部＃２は、ＬＭ先ＬＰＡＲのＶＮＩＣに接続されているＶＳＷのＭＡＣアドレス学習テーブルにおける、ＬＭ先ＬＰＡＲのＶＮＩＣのＩＤに対応した１以上のエントリに、それぞれ、受信したデバイス情報のうちのＶＮＩＣ  ＩＤ以外の情報（ＭＡＣアドレス、ＶＬＡＮ  ＩＤ及び更新時刻）を格納する。
【０１０８】
ここまでの処理により、ＬＭの前後、例えば、Ｓ１１１３の前とＳ１１１６の後で、図１２及び図１３に示す変化が生じる。
【０１０９】
すなわち、例えば、図１２の左側に示すように、ＬＭ元ＬＰＡＲに割り当てられていたＶＮＩＣのＩＤが「１」であった場合、ＬＭ後に、ＶＮＩＣ  ＩＤ「１」を含んだ全てのエントリは、図１２の右側に示すように、空きエントリとなる。一方、図１３の左側に示すように、ＬＭ先ＬＰＡＲに割り当てられていたＶＮＩＣ（ＩＤ「９」のＶＮＩＣ）に対応するエントリに、受信したデバイス情報のうちのＶＮＩＣ  ＩＤ「１」以外の情報（ＭＡＣアドレス、ＶＬＡＮ  ＩＤ及び更新時刻）が格納される。格納先のエントリでは、ＶＮＩＣ  ＩＤは「９」である。
【０１１０】
（Ｓ１１１７）マイグレーション処理部＃１は、デバイス情報の転送後、最終メモリ転送を行う。例えば、ＬＭ元ＬＰＡＲについての残りの全てのダーティ情報がマイグレーション処理部＃２に転送される。
【０１１１】
（Ｓ１１１８）マイグレーション処理部＃２は、最終メモリの反映を行う。例えば、マイグレーション処理部＃２は、受信したダーティ情報を、ハイパーバイザ＃２におけるＶＭＥＭに格納する。
【０１１２】
（Ｓ１１１９）マイグレーション処理部＃１は、ＬＭされたＬＰＡＲを指定したＬＰＡＲ再開要求をマイグレーション処理部＃２に出す。
【０１１３】
（Ｓ１１２０）マイグレーション処理部＃２は、ＬＰＡＲ再開要求を受信し、その要求に従い、ＬＭ元で停止させていたゲストＯＳ１３１を再開させるためのＬＰＡＲ再開処理を行う。
【０１１４】
（Ｓ１１２１）マイグレーション処理部＃１は、ＬＭ元ＬＰＡＲのdeactivate処理を行う。
【０１１５】
（Ｓ１１２２）マイグレーション処理部＃２は、ＬＭ先ＬＰＡＲに接続されたＶＳＷのＭＡＣアドレス学習テーブルから、ＬＭ先ＬＰＡＲに割り当てられているＶＮＩＣに対応するエントリを見つけ出し、見つかったエントリ内のＭＡＣアドレス（及びＶＬＡＮ  ＩＤ）を含んだＲＡＲＰパケットをブロードキャスト送信する。これにより、図１４及び図１５に示すように、そのＲＡＲＰパケット内のＭＡＣアドレス（及びＶＬＡＮ  ＩＤ）と同じＭＡＣアドレス（及びＶＬＡＮ  ＩＤ）を含んだＭＡＣアドレステーブル＃１を有するＰＳＷ＃１が、そのＲＡＲＰパケットを受信した場合に、そのＭＡＣアドレスに対応する物理ポートのＩＤ「ｐｏｒｔＢ」を、今回そのＲＡＲＰパケットを受信した物理ポートのＩＤ「ｐｏｒｔＤ」に変更する。すなわち、ＲＡＲＰパケットのブロードキャスト送信により、ＰＳＷ１５４に、ネットワーク経路が変わったことを伝えることができる。なお、本実施形態では、ＰＳＷ１５４のＭＡＣアドレステーブル１４８を変更するためにＲＡＲＰパケットのブロードキャスト送信が利用されるが、ＲＡＲＰパケット以外の種類のパケットにより、ＰＳＷ１５４のＭＡＣアドレステーブル１４８が変更されても良い。
【０１１６】
（Ｓ１１２３）マイグレーション処理部＃２は、ＬＭ先ＬＰＡＲの構成情報を保存する。ＬＰＡＲの構成情報は、メモリに保存されても良いが、本実施形態では、物理計算機１０１の保守又は管理のための計算機であるＳＶＰ（Service  Processor）に保存される。ＳＶＰは、複数の物理計算機１０１に共通であっても良いし、物理計算機１０１毎に用意されても良い。例えば、Ｓ１１２３では、ＬＰＡＲの構成情報は、物理計算機＃２のＳＶＰに保存される。
【０１１７】
（Ｓ１１２４）マイグレーション処理部＃２は、マイグレーション処理部＃１に対して構成情報保存完了報告を送信する。
【０１１８】
（Ｓ１１２５）マイグレーション処理部＃１は、構成情報保存完了報告を受信し、Ｓ１１０５でマイグレーション処理部＃２から送信されたＭＡＣアドレス及び／又はＷＷＮを、ＬＭ元ＬＰＡＲのＭＡＣアドレス及び／又はＷＷＮとして設定する。
【０１１９】
（Ｓ１１２６）マイグレーション処理部＃１は、ＬＭ元ＬＰＡＲの定義（例えば、ＬＭ元ＬＰＡＲに関する、リソース管理部＃１内の情報）を削除する。
【０１２０】
（Ｓ１１２７）マイグレーション処理部＃１は、マイグレーション処理部＃２に対してＬＰＡＲ定義取り消し報告を送信する。
【０１２１】
（Ｓ１１２８）マイグレーション処理部＃１は、ＬＭ元ＬＰＡＲの構成情報を保存する。例えば、Ｓ１１２８では、ＬＰＡＲの構成情報は、物理計算機＃１のＳＶＰに保存される。
【０１２２】
（Ｓ１１２９）マイグレーション処理部＃１は、構成情報保存完了後、ＬＭ先マイグレーション処理部１７２に対して構成情報保存完了報告を送信する。
【０１２３】
（Ｓ１１３０）マイグレーション処理部＃１は、マイグレーション処理部＃２に構成情報保存完了報告を送信した後、管理コンソール１４９に対してＬＭ完了報告を送信する。
【０１２４】
（Ｓ１１３１）マイグレーション処理部＃２は、マイグレーション処理部＃１から構成情報保存完了報告を受信し、管理コンソール１４９に対してＬＭ完了報告を送信する。
【０１２５】
（Ｓ１１３２）管理コンソール１４９は、マイグレーション処理部＃１及び＃２の両方からＬＭ完了報告を受信した後、ＬＭを完了させる。
【０１２６】
上述した実施形態によれば、ハイパーバイザ１０３の管轄外のＭＡＣアドレス或いはＶＬＡＮ  ＩＤを使用した通信が行われる環境であっても、管理者によって当該ＭＡＣアドレス或いはＶＬＡＮ  ＩＤが手動で入力されること無しに、ライブマグレーションされたＬＰＡＲのネットワーク接続を復元することができる。管理者が手動でハイパーバイザ１０３の管轄外のＭＡＣアドレス或いはＶＬＡＮ  ＩＤを入力する必要が無いので、当該情報入力のためにＬＰＡＲ或いはその上位マシンの使用者とハイパーバイザ１０３の管理者が連携する必要も無い。
【０１２７】
また、複数のネットワークセグメントにそれぞれ対応した複数のＶＳＷ１３７がハイパーバイザ１０３で構築される場合、ＶＳＷ１３７毎にＭＡＣアドレス管理テーブル１４４がある。故に、ハイパーバイザ＃１は、複数のＭＡＣアドレス管理テーブル１４４を管理する。このような構成であっても、ＬＭ対象のＬＰＡＲ１２８に割り当てられているＶＮＩＣを通じてＶＳＷから学習データを収集することにより、ＬＭ対象のＬＰＡＲ１２８ではないＬＰＡＲ１２８に関するデータをＬＭ先に転送することを回避することができる。
【０１２８】
以上、一実施形態を説明したが、本発明は、その実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上述の実施形態では、ＶＮＩＣを介した通信を例に取ったが、他種の仮想Ｉ／Ｏデバイス（例えばＶＨＢＡ）でも同様の処理が行われても良い。また、ハイパーバイザ１０３のような仮想化機構は、コンピュータプログラムとして実現されても良いし、物として実現されても良い。例えば、ハイパーバイザは、コンピュータプログラムを記憶した記憶デバイスと、物理計算機のような外部装置と通信するための通信インタフェースデバイスと、記憶デバイス及び通信インタフェースデバイスに接続されておりプロセッサを含んだ制御デバイスを有した装置であって、制御デバイス内のプロセッサでコンピュータプログラムが実行されることにより、ハイパーバイザとしての機能が実現されて良い。また、例えば、ハイパーバイザ１０３が有するスケジューラ１１７、リソース管理部１１８及びマイグレーション処理部１４８のうちの少なくとも１つがハードウェア回路で実現されても良いし、それらの要素１１７、１１８及び１４８の少なくとも１つの一部の処理がハードウェア回路で実現されても良い。
【符号の説明】
【０１２９】
１０１：物理計算機、１０３：ハイパーバイザ、１２８：ＬＰＡＲ（仮想計算機）、１３７：ＶＳＷ（仮想スイッチ）、１４０：ＭＡＣ学習部、１４４：ＭＡＣ学習テーブル
【図１】
2014030229.tif 000003
【図２】
2014030229.tif 000004
【図３】
2014030229.tif 000005
【図４】
2014030229.tif 000006
【図５】
2014030229.tif 000007
【図６】
2014030229.tif 000008
【図７】
2014030229.tif 000009
【図８】
2014030229.tif 000010
【図９】
2014030229.tif 000011
【図１０】
2014030229.tif 000012
【図１１】
2014030229.tif 000013
【図１２】
2014030229.tif 000014
【図１３】
2014030229.tif 000015
【図１４】
2014030229.tif 000016
【図１５】
2014030229.tif 000017
【手続補正書】
【提出日】平成27年11月27日(2015.11.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１以上の物理ネットワークスイッチに接続される１以上の第１の物理Ｉ／Ｏ（Input/Output）デバイスを含む第１の物理リソースと、前記第１の物理リソースを論理的に分割することにより得られた１以上の第１の仮想リソースをそれぞれ１以上の第１のＬＰＡＲ（Logical  Partition）に割り当てることで１以上の仮想計算機を構築することができる第１の仮想化機構と、を有する第１物理計算機と、
前記１以上の物理ネットワークスイッチに接続される１以上の第２の物理Ｉ／Ｏデバイスを含む第２の物理リソースと、前記第２の物理リソースを論理的に分割することにより得られた１以上の第２の仮想リソースをそれぞれ１以上の第２のＬＰＡＲに割り当てることで１以上の仮想計算機を構築することができる第２の仮想化機構と、を有する第２の物理計算機と
を有し、
（Ａ）前記第１の仮想化機構は、第１の管理情報ユニットを有し、
仮想計算機からパケットを受信した場合、前記パケットから、所定種類の情報を抽出し、前記抽出した所定種類の情報を前記第１の管理情報ユニットに登録し、
（Ｂ）前記第１の仮想化機構は、稼働中のマイグレーション対象の仮想計算機である対象仮想計算機を前記第１の物理計算機から前記第２の物理計算機にマイグレーションするライブマイグレーションのときに、前記第１の管理情報ユニット中の前記所定種類の情報を、前記第２の仮想化機構に送信し、
（Ｃ）前記第２の仮想化機構は、第２の管理情報ユニットを有し、
前記所定種類の情報を前記第１の仮想化機構から受信し、
前記受信した所定種類の情報を前記第２の管理情報ユニットに登録し、
前記所定種類の情報を含んだ所定種類のパケットを、前記１以上の第２の物理Ｉ／Ｏデバイスの少なくとも１つから送信し、
前記所定種類の情報は、ＭＡＣアドレス及びＶＬＡＮ（Virtual  LAN）  ｔａｇのうちの少なくとも１つである、
仮想計算機システム。
【請求項２】
前記１以上の第１の仮想リソースは、前記１以上の第１の物理Ｉ／Ｏデバイスに基づく１以上の第１の仮想Ｉ／Ｏデバイスを含み、前記１以上の第２の仮想リソースは、前記１以上の第２の物理Ｉ／Ｏに基づく１以上の第２の仮想Ｉ／Ｏデバイスを含み、
前記第１の仮想化機構は、前記第１の仮想化機構が管理する１以上の仮想計算機にそれぞれ割り当てられる１以上の第１の仮想Ｉ／Ｏデバイスと前記１以上の第１の物理Ｉ／Ｏデバイスの少なくとも１つとが接続される１以上の第１の仮想スイッチを有し、
前記第２の仮想化機構は、前記第２の仮想化機構が管理する１以上の仮想計算機にそれぞれ割り当てられる１以上の第２の仮想Ｉ／Ｏデバイスと前記１以上の第２の物理Ｉ／Ｏデバイスの少なくとも１つとが接続される１以上の第２の仮想スイッチを有し、
各第１の仮想スイッチが、前記第１の管理情報ユニットを有し、各第２の仮想スイッチが、前記第２の管理情報ユニットを有し、
前記（Ａ）に関して、前記第１の仮想化機構が、仮想計算機の第１の仮想Ｉ／Ｏデバイスを通じてその仮想計算機からパケットを受信した第１の仮想Ｉ／Ｏデバイスの第１の管理情報ユニットに、前記受信したパケットに含まれている所定種類の情報を登録し、
前記（Ｂ）に関して、前記第１の仮想化機構は、前記ライブマイグレーションのときに、前記対象仮想計算機の第１の仮想Ｉ／Ｏデバイスから出力されたパケットが経由する第１の仮想スイッチが有する第１の管理情報ユニット中の少なくとも前記対象仮想計算機の第１の仮想Ｉ／Ｏデバイスに対応し前記所定種類の情報を含んだ対象情報部分を、前記第２の仮想化機構に送信し、
前記（Ｃ）に関して、前記第２の仮想化機構が、マイグレーションされた対象仮想計算機の第２の仮想Ｉ／Ｏデバイスに接続されている第２の仮想スイッチの第２の管理情報ユニットに、前記対象情報部分を登録し、前記対象情報部分中の前記所定種類の情報を含んだ前記所定種類のパケットを、前記対象仮想計算機の第２の仮想Ｉ／Ｏデバイスが接続された第２の仮想スイッチに接続されている第２の物理Ｉ／Ｏデバイスから送信する、
請求項１記載の仮想計算機システム。
【請求項３】
各管理情報ユニットには、それぞれ、当該管理情報ユニットを有する仮想スイッチに接続されている仮想Ｉ／ＯデバイスのデバイスＩＤと、その仮想Ｉ／Ｏデバイスを通じて受信したパケット中の前記所定種類の情報とが登録される、
請求項２記載の仮想計算機システム。
【請求項４】
前記（Ａ）に関して、前記抽出した所定種類の情報と同一の情報が、前記パケットを受けた第１の仮想スイッチの第１の管理情報ユニットに登録されているが、その登録済の情報に対応したデバイスＩＤから識別される仮想Ｉ／Ｏデバイスが、前記パケットの送信元の第１の仮想Ｉ／Ｏデバイスの異なっている場合、前記第１の仮想化機構が、前記パケットを受けた第１の仮想スイッチの第１の管理情報ユニットにおける前記登録済の情報に対応したデバイスＩＤを、前記パケットの送信元の第１の仮想Ｉ／ＯデバイスのＩＤに更新する、
請求項３記載の仮想計算機システム。
【請求項５】
前記１以上の第１の仮想リソースは、前記１以上の第１の物理Ｉ／Ｏデバイスに基づく複数の第１の仮想Ｉ／Ｏデバイスを含み、
前記複数の第１の仮想Ｉ／Ｏデバイスについてteamingの設定がされている、
請求項１乃至４のうちのいずれか１項に記載の仮想計算機システム。
【請求項６】
前記所定種類の情報は、ＭＡＣアドレスであり、
前記所定種類のパケットは、ＲＡＲＰ（Reverse  Address  Resolution  Protocol）要求であり、
前記ＲＡＲＰパケットは、ＭＡＣアドレスを含み、
各物理ネットワークスイッチは、物理ポートＩＤとＭＡＣアドレスの対応関係を表すアドレス管理情報とを有し、パケットを受信した場合、対象ＭＡＣアドレスが前記アドレス管理情報に無ければ、前記対象ＭＡＣアドレスと対象物理ポートＩＤとの組を前記アドレス管理情報に登録し、前記対象ＭＡＣアドレスが前記アドレス管理情報に有り、且つ、前記対象ＭＡＣアドレスに対応している物理ポートＩＤが、前記対象物理ポートＩＤと異なっていれば、前記アドレス管理情報における、前記対象ＭＡＣアドレスに対応した物理ポートＩＤを前記対象物理ポートＩＤに更新するようになっており、
前記対象ＭＡＣアドレスは、前記受信したパケットが有するＭＡＣアドレスであり、
前記対象物理ポートは、前記パケットを受信した物理ポートである、
請求項５記載の仮想計算機システム。
【請求項７】
少なくとも前記対象仮想計算機は、ｔａｇ  ＶＬＡＮを使用する仮想計算機であり、
前記所定種類の情報及び前記ＲＡＲＰパケットは、ＭＡＣアドレスの他にＶＬＡＮ  ｔａｇで含んでおり、
前記アドレス管理情報は、ＭＡＣアドレスと物理ポートＩＤとＶＬＡＮ  ｔａｇ部分の少なくとも一部分との対応関係を表しており、
各物理ネットワークスイッチは、パケットを受信した場合、前記対象ＭＡＣアドレスが前記アドレス管理情報に無ければ、前記対象ＭＡＣアドレスと対象ＶＬＡＮ  ｔａｇ部分と前記対象物理ポートＩＤとの組を前記アドレス管理情報に登録し、前記対象ＭＡＣアドレスが前記アドレス管理情報に有り、且つ、前記対象ＭＡＣアドレスに対応しているＶＬＡＮ  ｔａｇ部分が、前記対象ＶＬＡＮ  ｔａｇ部分と異なっていれば、前記アドレス管理情報における新たなエントリに、前記対象ＭＡＣアドレスと前記対象ＶＬＡＮ  ｔａｇ部分と前記対象物理ポートＩＤとの組を登録するようになっており、
前記対象ＶＬＡＮ  ｔａｇ部分は、前記受信したパケットが有するＶＬＡＮ  ｔａｇの少なくとも一部分である、
請求項６記載の仮想計算機システム。
【請求項８】
前記（Ｂ）に関して、前記第１の仮想化機構は、前記対象仮想計算機に割り当てられている仮想リソースを休止し、その後に、前記第１の管理情報ユニット中の前記所定種類の情報を、前記第２の仮想化機構に送信する、
請求項１乃至７のうちのいずれか１項に記載の仮想計算機システム。
【請求項９】
１以上の物理ネットワークスイッチに接続される１以上の物理Ｉ／Ｏ（Input/Output）デバイスを含む物理リソースを有する物理計算機で実行され、前記物理リソースを論理的に分割することにより得られた１以上の仮想リソースをそれぞれ１以上のＬＰＡＲ（Logical  Partition）に割り当てることで１以上の仮想計算機を構築することができる仮想化機構であって、
稼働中のマイグレーション対象の仮想計算機である対象仮想計算機を物理計算機から別の物理計算機にマイグレーションするライブマイグレーションを実行することができるマイグレーション処理部と、
管理情報ユニットと、
仮想計算機からのパケットから、所定種類の情報を抽出し、前記抽出した所定種類の情報を前記管理情報ユニットに登録する学習部と
を有し、
前記ライブマイグレーションのときに、前記マイグレーション処理部は、前記管理情報ユニット中の前記所定種類の情報を取得し、取得した前記所定種類の情報を、前記別の物理計算機に送信し、
前記所定種類の情報は、ＭＡＣアドレス及びＶＬＡＮ（Virtual  LAN）  ｔａｇのうちの少なくとも１つである、
仮想化機構。
【請求項１０】
１以上の物理ネットワークスイッチに接続される１以上の物理Ｉ／Ｏ（Input/Output）デバイスとプロセッサと記憶デバイスとを含む物理リソースを有し、
前記プロセッサが、仮想化機構を実行することで、前記物理リソースを論理的に分割することにより得られた１以上の仮想リソースをそれぞれ１以上のＬＰＡＲ（Logical  Partition）に割り当てることで１以上の仮想計算機を構築することができ、且つ、稼働中のマイグレーション対象の仮想計算機である対象仮想計算機を物理計算機から別の物理計算機にマイグレーションするライブマイグレーションを実行することができるようになっており、
前記記憶デバイスは、管理情報ユニットを記憶し、
前記プロセッサは、仮想計算機からのパケットから、所定種類の情報を抽出し、前記抽出した所定種類の情報を前記管理情報ユニットに登録し、
前記ライブマイグレーションのときに、前記プロセッサは、前記管理情報ユニット中の前記所定種類の情報を、前記別の物理計算機に送信し、
前記所定種類の情報は、ＭＡＣアドレス及びＶＬＡＮ（Virtual  LAN）  ｔａｇのうちの少なくとも１つである、
物理計算機。
【国際調査報告】
2014030229.tif 000018
2014030229.tif 000019