(57)【要約】【課題】  ネットワークから切断された装置のＭＡＣアドレスが、代理でＡＲＰ応答をする装置から削除されても、ネットワークから切断された装置を宛先とするＬ３レベルのパケットが送信されてしまうことがある。【解決手段】  第１コンピュータと、前記第１コンピュータの物理アドレス及び送信データに基づくパケットを生成する第２コンピュータとを有し、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて、前記第２コンピュータから前記パケットが送信されないことを特徴とする情報処理システム。【選択図】  図２
2014045238.tif 000002
【特許請求の範囲】
【請求項１】
第１コンピュータと、
前記第１コンピュータの物理アドレス及び送信データに基づくパケットを生成する第２コンピュータと
を有し、
前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて、前記第２コンピュータから前記パケットが送信されないことを特徴とする情報処理システム。
【請求項２】
前記第２コンピュータは、複数の仮想コンピュータが実行される物理コンピュータにおいて実行された第２仮想コンピュータであることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記パケットを中継し、前記物理アドレスを取得するための要求を前記第２コンピュータから受けた履歴を格納する中継装置を有し、
前記第２コンピュータから前記パケットが送信されないことは、前記履歴に基づいて前記第２コンピュータに前記物理アドレスが記憶されていると判定された場合に実行されることを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記ネットワークから前記第１コンピュータが切断されることの通知をする管理コンピュータを有し、
前記履歴に基づいて前記第２コンピュータに前記物理アドレスが記憶されていると判定されることは、前記通知に応答して実行されることを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記第１コンピュータは第１仮想コンピュータであり、
前記ネットワークから前記第１コンピュータが切断されることは、前記管理コンピュータが前記第１仮想コンピュータを前記第１仮想コンピュータが実行されていた物理コンピュータから削除させることにより実行されることを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記管理コンピュータは前記通知を、前記第１仮想コンピュータ以外の仮想コンピュータが前記ネットワークから切断されることの通知と合わせて通知することを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記第２コンピュータは前記物理アドレスを一定期間キャッシュすることを特徴とする請求項１〜６の何れか１項に記載の情報処理システム。
【請求項８】
第１コンピュータの物理アドレス及び送信データに基づいて第２コンピュータによって生成されるパケットを中継する制御部と、
前記物理アドレスを取得するための要求を前記第２コンピュータから受けた履歴を格納する格納部と
を有し、
前記履歴は、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて前記第２コンピュータから前記パケットを送信させないために、前記第２コンピュータに前記物理アドレスが記憶されているかを判定するための履歴であることを特徴とする中継装置。
【請求項９】
第１コンピュータ、及び前記第１コンピュータの物理アドレス及び送信データに基づいてパケットを生成する前記第２コンピュータを管理する制御部と、
前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることの通知をする通知部と
を有し、
前記通知は、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて前記第２コンピュータから前記パケットを送信させないために通知する通知であることを特徴とする情報処理装置。
【請求項１０】
第１コンピュータの物理アドレス及び送信データに基づくパケットを生成する第２コンピュータが、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて、前記パケットを送信しないことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、中継装置、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
データセンタ内の複数のサーバがレイヤ２（以下、Ｌ２と表す）ネットワークにより互いに接続される。またデータセンタ内では複数のＬ２ネットワークが互いにブリッジ（中継装置）を介して接続される。ブリッジによって、異なるＬ２ネットワークに接続されたサーバ間の通信が実行される。なお、Ｌ２ネットワークにおける通信では、宛先となるサーバに対応した物理アドレス（以下、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）アドレスと表す）がパケットにおいて指定されることで、通信パケットが宛先に届けられる。
【０００３】
送信元となるサーバが宛先となるサーバに対応したＭＡＣアドレスを未取得の場合には、通信パケットの送信に先だって、アドレス解決プロトコル（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ、以下ＡＲＰと表す）が実行されることにより、宛先となるサーバに対応したＭＡＣアドレスを取得する。
【０００４】
ＡＲＰ要求では、宛先となるサーバに割り当てられた宛先ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、送信元となるサーバに対応した送信元ＭＡＣアドレス、及び送信元となるサーバに割り当てられた送信元ＩＰアドレスが指定されたパケットがＬ２ネットワークにブロードキャストされる。ブロードキャストされたＡＲＰ要求を受信したサーバは、パケット内で指定されている宛先ＩＰアドレスが自身のＩＰアドレスに一致すると、ＡＲＰ応答として自身のＭＡＣアドレスをユニキャストで送信元のサーバに送る。
【０００５】
図１に、関連技術が適用された情報処理システムが示される。図１には、データセンタ１に含まれるラック２、ラック３及びブリッジ８が示される。ラック２は、ネットワーク４、及びネットワーク４に接続されるサーバ６及びサーバ７を含む。ラック３は、ネットワーク５、及びネットワーク５に接続されるサーバ８及びサーバ９を含む。ネットワーク４及びネットワーク５はＬ２ネットワークであり、ネットワーク４及びネットワーク５はブリッジ１０に接続される。例えば、サーバ６は、ネットワーク４、ブリッジ１０、及びネットワーク５を介して、サーバ８との通信を実行する。
【０００６】
例えば、送信元となるサーバがサーバ６であり、宛先となるサーバがサーバ８であるとする。サーバ６がサーバ８のＭＡＣアドレスを未取得の場合、サーバ６はＡＲＰ要求をネットワーク４にブロードキャストする。ＡＲＰ要求を受け取ったブリッジ１０は、ＡＲＰ要求のパケットに含まれる宛先ＩＰアドレスが少なくともネットワーク５に接続されるサーバのＩＰアドレスであると判定して、ネットワーク５にサーバ６からのＡＲＰ要求をブロードキャストする。サーバ８は、受信したＡＲＰ要求のパケットに含まれるＩＰアドレスが自身のＩＰアドレスと一致するので、ＡＲＰ応答としてサーバ６に自身のＭＡＣアドレスをユニキャストで送る。このＡＲＰ応答によってサーバ６がサーバ８のＭＡＣアドレスを取得することで、その後、サーバ１及びサーバ８の間ではレイヤ３（以下、Ｌ３と表す）レベルの通信が実行される。
【０００７】
ところで、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）ネットワークに接続されたＩＰネットワークに属する端末のＭＡＣアドレスが、ＡＴＭネットワークへの入出力部によって記憶され、入出力部が代理でＡＲＰ応答をすることが知られている。また、ＩＰネットワークがＡＴＭネットワークから切断されると入出力部から記憶していたＭＡＣアドレスが削除される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−６４３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ネットワークから切断された装置のＭＡＣアドレスが、代理でＡＲＰ応答をする装置から削除されても、ネットワークから切断された装置を宛先とするＬ３レベルのパケットが送信されてしまうことがある。
【００１０】
本願は、ネットワークから切断された装置を宛先とするＬ３レベルのパケットの誤送信を防止する情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１コンピュータと、前記第１コンピュータの物理アドレス及び送信データに基づくパケットを生成する第２コンピュータとを有し、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて、前記第２コンピュータから前記パケットが送信されないことを特徴とする情報処理システム。
【発明の効果】
【００１２】
本開示の一側面によれば、ネットワークから切断された装置を宛先とするＬ３レベルのパケットの誤送信が防止される。
【図面の簡単な説明】
【００１３】
【図１】関連技術が適用された情報処理システム。
【図２】実施例が適用された情報処理システム。
【図３】実施例が適用された情報処理システムで通信されるＡＲＰパケットの例。
【図４】実施例が適用されたＡＲＰキャッシュに記憶される情報の例。
【図５】実施例が適用された管理サーバに記憶されるＶＭ情報の例。
【図６】実施例が適用されたブリッジ（中継装置）に記憶される情報の例。
【図７】実施例が適用されたブリッジ（中継装置）に記憶される情報の他の例
【図８】実施例が適用された情報処理システムで実行される通信の例。
【図９】実施例が適用された情報処理システムで実行される通信の他の例。
【図１０】実施例が適用された情報処理システムと比較される通信の例。
【図１１】実施例が適用されたサーバのハードウェア構成。
【図１２】実施例が適用されたサーバで実行される機能ブロック。
【図１３】実施例が適用されたサーバで実行される処理。
【図１４】実施例が適用された管理サーバのハードウェア構成。
【図１５】実施例が適用された管理サーバで実行される機能ブロック。
【図１６】実施例が適用された管理サーバで実行される処理。
【図１７】実施例が適用されたブリッジ（中継装置）のハードウェア構成。
【図１８】実施例が適用されたブリッジ（中継装置）で実行される機能ブロック。
【図１９】実施例が適用されたブリッジ（中継装置）で実行される処理。
【発明を実施するための形態】
【００１４】
図２に、実施例が適用された情報処理システムが示される。図２には、データセンタ１００に含まれるラック２００、ラック３００、仮想マシン（以下、仮想マシンをＶＭと表す）管理サーバ（以下、サーバをＳＶと表す）１０００及びブリッジ１１００（以下、ブリッジをＢＲと表す）が示される。ラック２００は、ネットワーク（以下、ネットワークをＮＷと表す）４００、及びＮＷ４００に接続されるＳＶ６００及びＳＶ７００を含む。ラック３００は、ＮＷ５００、及びＮＷ５００に接続されるＳＶ８００及びＳＶ９００を含む。なお、例えばＮＷ４００及びＮＷ５００はレイヤ２（以下、Ｌ２とする）ネットワークであり、ＮＷ４００及びＮＷ５００はＢＲ１１００に接続される。なお、Ｌ２レベルの通信とは、例えば、物理アドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ、以下ＭＡＣアドレスと表す）を指定したパケットの通信である。
【００１５】
ＳＶ６００では、仮想スイッチ（以下、仮想スイッチをｖＳＷと表す）６１０及びＶＭ６２０が実行される。ＳＶ６００には、ＶＭ６２０に対応するＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｉｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）キャッシュ６３０がある。ＡＲＰキャッシュ６３０には、ＶＭ６２０がＡＲＰ要求を実行することによって取得した他のＶＭのＭＡＣアドレスが一定期間記憶される（キャッシュされる）。ｖＳＷ６１０は、ＡＲＰキャッシュ６３０に記憶されているＭＡＣアドレスに基づくパケットをＮＷ４００に送信する。なお、ＳＶ７００−９００は、ＳＶ６００で実行されるＶＭ数やＶＭによって実現される機能が異なることもあるが、基本的な構成はＳＶ６００と同様であるため説明を省略する。また、ＳＶ６００−９００において実行されるＶＭ数は任意であり、図２に示されるＶＭ数に限定されない。
【００１６】
ＶＭ管理ＳＶ１０００は、ＳＶ６００−９００及びＢＲ１１００に接続される。ＶＭ管理ＳＶ１０００は、ＶＭ６２０、ＶＭ７２０、ＶＭ７３０、ＶＭ７４０、ＶＭ８２０、ＶＭ８３０、ＶＭ８４０、ＶＭ９２０、及びＶＭ９３０に関して、物理サーバであるＳＶ６００−９００への生成、物理サーバからの消滅、物理サーバ間の移動（マイグレーション）を管理する。ＶＭ管理ＳＶ１０００はＤＢ１０１０を有する。各ＶＭのＭＡＣアドレス及びＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスの対応付けがＶＭ情報としてＤＢ１０１０に格納される。ＤＢ１０１０は後述するメモリ３１００又は記憶装置３２００によって実現される。ＶＭ管理ＳＶ１０００はＶＭ情報をＢＲ１１００に通知する機能を有する。なお、ＶＭ管理ＳＶ１０００は各ＶＭの管理だけの機能に限定されず、物理サーバであるＳＶ６００−９００を管理する機能を有していてもよい。例えば、ＳＶ６００−９００をＮＷ４００やＮＷ５００へ接続させたり、ＮＷ４００やＮＷ５００から切断させたりする機能を有していてもよい。
【００１７】
ＢＲ１１００は、ＮＷ４００、ＮＷ５００及びＳＶ１０００に接続される。ＢＲ１１００は、ＮＷ４００及びＮＷ５００の間で通信されるデータやパケットを中継する中継装置の例である。ＢＲ１１００はデータベース（以下、ＤＢと表す）１１１０及びＤＢ１１２０を含む。
【００１８】
ＤＢ１１１０はＶＭ管理ＳＶ１０００から送られたＶＭ情報により、ＶＭのＭＡＣアドレス及びＩＰアドレスの対応付けが格納されるデータベースである。なお、ＢＲ１１００は、ＶＭ管理ＳＶ１０００からＶＭのＭＡＣアドレス及びＩＰアドレスの対応付けを含むＶＭ情報を受け取らなくても、ＢＲ１１００がＡＲＰ要求及びＡＲＰ応答を中継する際にＡＲＰ要求及びＡＲＰ応答のパケットに含まれるＭＡＣアドレス及びＩＰアドレスを取得できるので、取得したＭＡＣアドレス及びＩＰアドレスをＤＢ１１１０にキャッシュしていくことによりＭＡＣアドレス及びＩＰアドレスの対応付けを学習してもよい。なお、ＢＲ１１００はＤＢ１１１０に格納されているＭＡＣアドレス及びＩＰアドレスの対応付けに基づいて代理でＡＲＰ応答を返す機能を有していてもよい。例えば、ＡＲＰ要求を受け取った場合にＬ２ネットワークにＡＲＰ要求をブロードキャストせずに、宛先ＩＰアドレスに対応するＭＡＣアドレスがすでにＤＢ１１１０にあればＡＲＰ要求の送信元に代理としてＡＲＰ応答をする機能を有していてもよい。なお。この機能はプロキシＡＲＰである。すでにＤＢ１１１０に格納されているＭＡＣアドレスがあれば、プロキシＡＲＰによってＡＲＰ要求のブロードキャストが減るために、ネットワーク利用が効率化される。
【００１９】
ＤＢ１１２０は、ＡＲＰ要求に伴ってどの仮想マシン又はサーバがどの仮想マシン又はサーバのＭＡＣアドレスを取得したかに関する履歴が通信情報として格納されるデータベースである。ＤＢ１１２０には、例えば、ＡＲＰ要求の送信元ＭＡＣアドレス及び宛先ＭＡＣアドレスとの対応付けが格納される。ＤＢ１１２０に格納された通信情報及び上述したＤＢ１０１０に格納されたＶＭ情報が連携されることによって、ネットワークから切断されたＶＭに対するレイヤ３（以下、Ｌ３と表す）レベルのパケット送信がされなくなる。この点については後述する。なお、Ｌ３レベルの通信とは、例えば、Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ（ＴＣＰ）や、Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ（ＵＤＰ）を使用した通信である。なお、以上に述べたＤＢ１１１０及びＤＢ１１２０は後述するメモリ４１００又は記憶装置４２００によって実現される。
【００２０】
図３に、実施例が適用された情報処理システムで通信されるＡＲＰパケットの例が示される。ＡＲＰパケットには、プリアンブル、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、宛先ＩＰアドレス、送信元ＩＰアドレス、及び誤り訂正用のチェックサムを少なくとも含む。なお、実施例は図３に示されたＡＲＰパケットのフォーマットそのものには限定されず、図示した以外にハードウェアタイプなど一般的な情報も含まれる。
【００２１】
ところで、ＡＲＰ要求の際には、宛先ＭＡＣアドレスはＡＲＰパケット内で特定されない。ＡＲＰパケットで特定された宛先ＩＰアドレスが割り当てられたＶＭ又はサーバがＡＲＰパケットを受け取ると、送信元ＭＡＣアドレス及びＩＰアドレスを宛先とし、かつ自身のＭＡＣアドレス及びＩＰアドレスを送信元としたＡＲＰパケットをＡＲＰ応答によって返す。図２に示されたＢＲ１１００がＭＡＣアドレス及びＩＰアドレスの対応付けを学習する機能を有する場合には、ＡＲＰ要求及びＡＲＰ応答の際のＡＲＰパケット内にあるＭＡＣアドレス及びＩＰアドレスの対応付けを記憶していく。なお、ＡＲＰパケットはＭＡＣアドレスを取得するために使用されるパケットであり、ＶＭ又はサーバ間のＬ３レベルの通信で送られるデータが含まれないため、高々数バイトのパケットである。
【００２２】
図４に、実施例が適用されたＡＲＰキャッシュに記憶される情報の例が示される。例えば、図２に示されるＡＲＰキャッシュ６３０が図４に示される情報を一定期間記憶する（キャッシュする）。一定期間記憶する情報は、他のＶＭ又はサーバに関するＭＡＣアドレス及びＩＰアドレスの対応付けに関する情報であり、ＶＭ６２０がＡＲＰ要求を実行することによって取得した情報である。なお、ＭＡＣアドレス及びＩＰアドレスの対応付けには、ＶＭ又はサーバがＡＲＰ応答として返した情報によるあれば、ＢＲ１１００が代理でＡＲＰ応答を返した情報によってＡＲＰキャッシュ６３０に格納されたＭＡＣアドレス及びＩＰアドレスの対応付けもある。なお、ＭＡＣアドレス及びＩＰアドレスの対応付けが格納されるＡＲＰキャッシュはＡＲＰキャッシュ６３０に限定されず、他のＳＶ７００−９００に含まれるＡＲＰキャッシュであってもよい。
【００２３】
図５に、実施例が適用された管理サーバに記憶されるＶＭ情報の例が示される。なお、管理サーバの例が図２に示されるＶＭ管理ＳＶ１０００である。ＶＭ情報はＶＭ管理ＳＶ１０００が管理する各ＶＭのＭＡＣアドレス及びＩＰアドレスを含み、ＤＢ１０１０に格納される。ＶＭ管理ＳＶ１０００によって、例えば、ＶＭ番号が“１”のＶＭにＩＰアドレス“１０．１４６．４８．７９”、及びＭＡＣアドレス“００−９０−２７−ＡＡ−７４−Ｅ０”が割り当てられている。
【００２４】
図６に、実施例が適用されたブリッジ（中継装置）に記憶される情報の例が示される。ブリッジ（中継装置）の例が図２に示されるＢＲ１１００である。図６に示される情報は、ＶＭ又はサーバに割り当てられたＭＡＣアドレス及びＩＰアドレスの対応付けに関する情報であり、ＤＢ１１１０に格納される。ＢＲ１１００は、ＶＭ管理ＳＶ１０００から通知されるＶＭ情報（図５参照）に基づいて、データセンタ１００内に含まれる各ＶＭに割り当てられたＭＡＣアドレス及びＩＰアドレスの対応付けをＤＢ１１１０にて記憶する。なお、ＢＲ１１００はＶＭ管理ＳＶ１０００からＶＭ情報（図５参照）が通知されなくても、上述したように、ＡＲＰ要求及びＡＲＰ応答を中継する際に、ＡＲＰパケットに含まれるＭＡＣアドレス及びＩＰアドレスに基づき各ＶＭに割り当てられたＭＡＣアドレス及びＩＰアドレスの対応付けを学習して、ＤＢ１１１０に格納してもよい。図６には、例えば、ＩＰアドレスが“１０．１４６．４６．５２”のＶＭのＭＡＣアドレスが“００−９０−２７−ＡＡ−７４−Ｅ１”であることが示される。
【００２５】
図７に、実施例が適用されたブリッジ（中継装置）に記憶される情報の他の例が示される。図７に示される情報は、ＢＲ１１００に含まれるＤＢ１１２０に格納される情報であり、通信情報の一例である。ＢＲ１１００は、ＡＲＰ要求に伴ってどの仮想マシン又はサーバがどの仮想マシン又はサーバのＭＡＣアドレスを取得したかに関する履歴を通信情報としてＤＢ１１２０に格納する。図７には、例えば、ＡＲＰ要求に伴って、ＭＡＣアドレス“００−９０−２７−ＡＡ−７４−Ｅ０”のＶＭが、ＭＡＣアドレス“００−９０−２７−ＡＡ−７４−Ｅ１”を取得したことが示される。加えて、ＡＲＰ要求及び応答は、ＶＭ間で実行されるため、図７に示した例の場合には、ＭＡＣアドレス“００−９０−２７−ＡＡ−７４−Ｅ１”のＶＭのＡＲＰキャッシュにＭＡＣアドレス“００−９０−２７−ＡＡ−７４−Ｅ０”が格納されていることもある。一方で、ＶＭ情報に基づいてＢＲ１１００が代理でＡＲＰ応答する場合には、ＭＡＣアドレス“００−９０−２７−ＡＡ−７４−Ｅ１”のＶＭのＡＲＰキャッシュにＭＡＣアドレス“００−９０−２７−ＡＡ−７４−Ｅ０”が格納されていない場合もある。なお、ＡＲＰキャッシュに含まれるＭＡＣアドレスは一定期間使用されないと消去されるため、ＤＢ１１２０にＭＡＣアドレスの対応付けがあったとしても該当するＶＭのＡＲＰキャッシュからはすでに消去されている場合もある。また、通信情報には、ＡＲＰ要求及びＡＲＰ応答の後にＬ３レベルの通信が実行されたＭＡＣアドレスの組み合わせも含まれれば、Ｌ３レベルの通信が実行されなかった場合も含まれる。
【００２６】
図８に、実施例が適用された情報処理システムで実行される通信の例が示される。ここでは、ＶＭ管理ＳＶ１０００と、ＶＭ８４０との通信を実行しようとするＶＭ６２０、ＶＭ７２０及びＶＭ７３０と、それらの通信を中継するＢＲ１１００を例にして説明する。なお、図８の例では、一点鎖線で示される通知及び処理、又は点線で示される通知及び処理のうち何れか一方が少なくとも実行されればよい。また二点鎖線で示される通知及び処理、又は破線で示される通知及び処理のうち何れか一方が少なくとも実行されればよい。
【００２７】
通知Ｃ１（一点鎖線）として示されるように、ＶＭ情報がＶＭ管理ＳＶ１０００からＢＲ１１００に通知される。なお、このＶＭ情報とは、図５に例示されるような各ＶＭのＭＡＣアドレス及びＩＰアドレスの対応付けに関する情報である。ＢＲ１１００はＶＭ情報を受信すると、ＶＭ情報をＤＢ１１１０に格納する処理１４００（一点鎖線）を実行する。処理１４００によって、ＶＭ情報にある各ＶＭのＭＡＣアドレス及びＩＰアドレスの対応付けがＤＢ１１１０に格納される。
【００２８】
ＶＭ８４０のＭＡＣアドレスを未取得であるＶＭ６２０が、ＶＭ８４０とＬ３レベルの通信をするために、ＶＭ８４０の宛先ＩＰアドレスとしたＡＲＰ要求を実行する。通知Ｃ２として示されるように、このＡＲＰ要求はＶＭ６２０からＢＲ１１００に通知される。通知Ｃ２のＡＲＰ要求を受け取ったＢＲ１１００は、通知Ｃ１によってＶＭ情報を受信していれば、ＤＢ１１１０に格納された各ＶＭのＭＡＣアドレス及びＩＰアドレスの対応付けに従って、通知Ｃ２のＡＲＰ要求に含まれる宛先ＩＰアドレスに対応するＭＡＣアドレスを代理でＶＭ６２０に送信する。このＡＲＰ応答（代理）が通知Ｃ３（一点鎖線）で示される。通知Ｃ３によって、ＶＭ６２０はＶＭ８４０のＭＡＣアドレスを取得する。一方で、通知Ｃ２のＡＲＰ要求を受け取ったＢＲ１１００が、通知Ｃ１によってＶＭ情報を受け取っていなければ、通知Ｃ４（点線）として示されるように、ＢＲ１１００はＡＲＰ要求をＮＷ５００にブロードキャストする。通知Ｃ４のＡＲＰ要求を受け取ったＶＭ８４０はＡＲＰパケットに含まれる宛先ＩＰアドレスが自身のアドレスを一致しているため、送信元であるＶＭ６２０に対して自身のＭＡＣアドレスを通知するために、通知Ｃ５（点線）として示されるように、ＡＲＰ応答を実行する。通知Ｃ５のＡＲＰ応答はＢＲ１１００により中継されてＶＭ６２０に届けられる。ＶＭ８４０によって、通知Ｃ４のＡＲＰ要求におけるＡＲＰパケットに含まれるＶＭ６２０のＭＡＣアドレスをＡＲＰキャッシュに格納する処理１５００が実行される。
【００２９】
通知Ｃ３のＡＲＰ応答又は通知Ｃ５のＡＲＰ応答を受信したＶＭ６２０によって、ＡＲＰパケットに含まれるＶＭ８４０のＭＡＣアドレスがＡＲＰキャッシュ６３０に格納される処理１５１０が実行される。ＡＲＰキャッシュ６３０に格納されたＶＭ８４０のＭＡＣアドレス及び送信データに基づいて、ＶＭ６２０によってＶＭ８４０とのＬ３レベルの通信が実行される。
【００３０】
ＢＲ１１００によって、通知Ｃ２のＡＲＰ要求におけるＡＲＰパケットに含まれるＶＭ６２０のＭＡＣアドレスがキャプチャされることにより、ＶＭ６２０のＭＡＣアドレスがＤＢ１１１０に格納される処理１５３０（点線）が実行される。ＢＲ１１００によって、通知Ｃ５のＡＲＰ要求におけるＡＲＰパケットに含まれるＶＭ８４０のＭＡＣアドレスがキャプチャされることにより、ＶＭ８４０のＭＡＣアドレスがＤＢ１１１０に格納される処理１５３０（点線）が実行される。なお、一点鎖線で示される処理１４００が実行される場合、ＢＲ１１００のＤＢ１１１０には各ＶＭのＭＡＣアドレス及びＩＰアドレスの対応付けが格納されているので、点線で示される処理１５３０及び１５４０が省略されてもよい。
【００３１】
ＢＲ１１００は、通知Ｃ２のＡＲＰ要求及び通知Ｃ３のＡＲＰ応答、又は通知Ｃ２のＡＲＰ要求及び通知Ｃ５のＡＲＰ応答に基づき、ＶＭ６２０がＶＭ８４０と通信を実行しようとしていると判定し、その履歴としてＶＭ６２０及びＶＭ８４０の対応関係がＤＢ１１２０に格納される処理１５５０が実行される。処理１５５０によって、ＶＭ６２０のＭＡＣアドレス及びＶＭ８４０のＭＡＣアドレスが対応付けられ、通信情報としてＤＢ１１２０に格納される。この通信情報を参照することによって、ＶＭ６２０のＡＲＰキャッシュにＶＭ８４０のＭＡＣアドレスがキャッシュされており、ＶＭ８４０のＡＲＰキャッシュにＶＭ６２０のＭＡＣアドレスがキャッシュされていることが推定される。なお、ＶＭ情報に基づいてＢＲ１１００が代理で通知Ｃ３のＡＲＰ応答を実行した場合には、ＶＭ８４０に通知Ｃ２のＡＲＰ要求が送信されていないため、ＶＭ８４０はＶＭ６２０のＭＡＣアドレスを取得していない。すなわち、通信情報においてＶＭ６２０のＭＡＣアドレス及びＶＭ８４０のＭＡＣアドレスが対応付けられていても、ＶＭ８４０のＡＲＰキャッシュにＶＭ６２０のＭＡＣアドレスがキャッシュされていない場合もある。
【００３２】
ＶＭ８４０のＭＡＣアドレスを未取得であるＶＭ７２０が、ＶＭ８４０とＬ３レベルの通信をするために、ＶＭ８４０の宛先ＩＰアドレスとしたＡＲＰ要求を実行する。通知Ｃ６として示されるように、このＡＲＰ要求はＶＭ７２０からＢＲ１１００に通知される。通知Ｃ６のＡＲＰ要求を受け取ったＢＲ１１００は、処理１４００又は処理１５４０によりＶＭ８４０のＭＡＣアドレス及びＩＰアドレスの対応付けを取得済みのため、ＤＢ１１１０に格納された各ＶＭのＭＡＣアドレス及びＩＰアドレスの対応付けに従って、通知Ｃ６のＡＲＰ要求のＡＲＰパケットに含まれる宛先ＩＰアドレスに対応するＭＡＣアドレスを代理でＶＭ７２０に送信する。このＡＲＰ応答（代理）が通知Ｃ７である。
【００３３】
通知Ｃ７のＡＲＰ応答（代理）を受信したＶＭ７２０によって、ＡＲＰパケットに含まれるＶＭ８４０のＭＡＣアドレスがＡＲＰキャッシュに格納される処理１５６０が実行される。ＶＭ７２０のＡＲＰキャッシュに格納されたＶＭ８４０のＭＡＣアドレス及び送信データに基づいて、ＶＭ７２０によってＶＭ８４０とのＬ３レベルの通信が実行される。
【００３４】
通知Ｃ７のＡＲＰ応答（代理）を実行したＢＲ１１００は、処理１４００（一点鎖線）が実行されていない場合には、通知Ｃ６のＡＲＰ要求におけるＡＲＰパケットに含まれるＶＭ７２０のＭＡＣアドレスをキャプチャすることにより、ＶＭ７２０のＭＡＣアドレスがＤＢ１１１０に格納される処理１５８０（点線）が実行される。
【００３５】
ＢＲ１１００は、通知Ｃ６のＡＲＰ要求及び通知Ｃ７のＡＲＰ応答に基づき、ＶＭ７２０がＶＭ８４０と通信を実行しようとしていると判定し、その履歴としてＶＭ７２０及びＶＭ８４０の対応関係がＤＢ１１２０に格納される処理１５９０が実行される。処理１５９０によって、ＶＭ７２０のＭＡＣアドレス及びＶＭ８４０のＭＡＣアドレスが対応付けられ、通信情報としてＤＢ１１２０に格納される。この通信情報を参照することによって、ＶＭ７２０のＡＲＰキャッシュにＶＭ８４０のＭＡＣアドレスがキャッシュされており、ＶＭ８４０のＡＲＰキャッシュにＶＭ７２０のＭＡＣアドレスがキャッシュされていることが推定される。ただし、ＢＲ１１００は、ＶＭ情報に基づき、通知Ｃ７によって代理でＡＲＰ応答をしているので、この例では、ＶＭ８４０はＶＭ７２０のＭＡＣアドレスを取得していない。
【００３６】
ＶＭ管理ＳＶ１０００によって、通知Ｃ８として示されるように、ＶＭ８４０に対して削除命令が通知される。通知Ｃ８の削除命令を受信したＶＭ８４０は、削除処理１６００によって物理サーバ９００から削除される。
【００３７】
例えば、ＶＭ６２０、ＶＭ７２０、及びＶＭ７３０はアプリケーションが実行される仮想マシンであり、そのアプリケーションのアップデートファイルを提供するのがＶＭ８４０であるとする。ＶＭ８４０が提供したアップデートファイルがＶＭ６２０及びＶＭ７２０に提供された後、アップデートファイルに不具合が発見されるなどによって、ＶＭ８４０が急遽削除されることがある。このＶＭ８４０の削除を命令するのが、例えば、削除命令（Ｃ８）である。なお、発明はこの例示に限定されない。
【００３８】
ＶＭ管理ＳＶ１０００は、ＶＭ８４０に対して通知Ｃ８の削除命令を通知した場合に、通知Ｃ９として示されるように、削除通知をＢＲ１１００に通知する。通知Ｃ９の削除通知を受信したＢＲ１１００によって、ＶＭ８４０のＭＡＣアドレスをＤＢ１１００から削除する処理１６１０が実行される。処理１６１０によって、ＢＲ１１００はＶＭ８４０を宛先としたＡＲＰ要求に対して代理応答をしなくなる。従って、ＶＭ８４０が削除されているにもかかわらず、代理でＶＭ８４０のＭＡＣアドレスを通知してしまうことがないため、すでに削除されたＶＭ８４０に対する通信が開始されることが抑制され、無駄なパケットがネットワークに送信されてしまうことが防止される。
【００３９】
また、図８の例では、ＶＭ８４０が削除された例であるが、ＶＭ８４０が削除された場合に直ちに通知Ｃ９の削除通知がＢＲ１１００に通知されるのではなく、同時に削除されていない複数のＶＭに関する削除を通知するための削除通知がまとめてＢＲ１１００に通知されてもよい。この場合には、ＶＭが削除されるたびに削除通知によってネットワーク帯域が占有されないようになる。例えば、ＶＭ管理ＳＶ１０００は、ネットワークの通信状況に基づいてネットワークが混雑していない期間に、同時に削除されていない複数のＶＭに関する削除通知をＢＲ１１００に通知してもよい。
【００４０】
通知Ｃ９の削除通知を受信したＢＲ１１００によって、通知Ｃ１０（二点鎖線）で示されるように、ＤＢ１１２０に基づきＶＭ８４０に関する通信情報がＶＭ管理ＳＶ１０００に通知される。例えば、ＢＲ１１００は通知Ｃ９の削除通知によってＶＭ８４０が削除されることを検出すると、ＶＭ８４０のＭＡＣアドレスをＡＲＰキャッシュに格納していると推定される仮想マシンをＶＭ管理ＳＶ１０００に通知するために、ＤＢ１１２０からＶＭ８４０と対応付けられている仮想マシンのＭＡＣアドレスを抽出してＶＭ管理ＳＶ１０００に通知情報として通知する。
【００４１】
通知Ｃ１０で示される通信情報を受信したＶＭ管理ＳＶ１０００は、通信情報に基づいてＶＭ８４０のＭＡＣアドレスをＡＲＰキャッシュに格納している仮想マシンがＶＭ６２０及びＶＭ７２０であると判定し、通知Ｃ１１（二点鎖線）として示されるように、ＶＭ８４０との通信を停止させるための通信停止命令をＶＭ６２０及びＶＭ７２０に通知する。通知Ｃ１１の通信停止命令を受信したＶＭ６２０によって、例えば、ＶＭ８４０のＭＡＣアドレスがＡＲＰキャッシュ６３０から削除される処理１６２０が実行される。その後、ＶＭ６２０はＶＭ８４０との通信を停止する処理１６３０を実行する。また、通知Ｃ１１の通信停止命令を受信したＶＭ７２０によって、例えば、ＶＭ８４０のＭＡＣアドレスがＡＲＰキャッシュから削除される処理１６４０が実行される。その後、ＶＭ７２０はＶＭ８４０との通信を停止する処理１６５０を実行する。なお、通信情報に基づいて、削除されたＶＭのＭＡＣアドレスをＡＲＰキャッシュに格納していると想定されるＶＭを特定して通信停止命令を送られるため、ＶＭ管理ＳＶ１０００が管理する全てのＶＭに対して通信停止命令を送信しなくてもよく、ネットワークの帯域の使用効率が低下しない。
【００４２】
なお、ＶＭ６２０及びＶＭ７２０のＡＲＰキャッシュからＶＭ８４０のＭＡＣアドレスを削除させなくても、ＶＭ６２０及びＶＭ７２０がＶＭ８４０とＬ３レベルの通信を開始してしまうことを防止すればよい。例えば、ＶＭ６２０及びＶＭ７２０のＡＲＰキャッシュにＶＭ８４０のＭＡＣアドレスが記憶されたままであっても、ＶＭ６２０及びＶＭ７２０がＶＭ８４０へのＬ３レベルのパケットが生成されないようにしたり、Ｌ３レベルのパケットが生成されても送信されないようにしてもよい。例えば、パケット生成やパケット送信を無効化するようなフラグによって、ＶＭ６２０及びＶＭ７２０のＡＲＰキャッシュにＶＭ８４０のＭＡＣアドレスが記憶されたままであっても、ＶＭ８４０とＬ３レベルの通信を開始してしまうことを防止すればよい。なお、後述するように、これらの処理によって削除されてしまった仮想マシンへＬ３レベルのパケットが誤送信されなくなる。
【００４３】
ところで、通知１０（二点鎖線）及び通知１１（二点鎖線）に基づいて、ＶＭ管理ＳＶ１０００がＶＭ６２０及びＶＭ７２０に通信停止命令を通知しなくても、通知Ｃ１２（破線）によって示されるように、ＢＲ１１００がＶＭ６２０及びＶＭ７２０に通信停止命令を通知してもよい。なお、この場合であっても、上述したように、通信情報に基づいて、削除されたＶＭのＭＡＣアドレスをＡＲＰキャッシュに格納していると想定されるＶＭを特定して通信停止命令を送られるため、ＶＭ管理ＳＶ１０００が管理する全てのＶＭに対して通信停止命令を送信しなくてもよく、ネットワークの帯域の使用効率が低下しない。また、この場合であっても、上述したように、ＶＭ６２０及びＶＭ７２０のＡＲＰキャッシュからＶＭ８４０のＭＡＣアドレスを削除させなくても、ＶＭ６２０及びＶＭ７２０がＶＭ８４０とＬ３レベルの通信を開始してしまうことを防止すればよい。例えば、ＶＭ６２０及びＶＭ７２０のＡＲＰキャッシュにＶＭ８４０のＭＡＣアドレスが記憶されたままであっても、ＶＭ６２０及びＶＭ７２０がＶＭ８４０へのＬ３レベルのパケットが生成されないようにしたり、Ｌ３レベルのパケットが生成されても送信されないようにしてもよい。例えば、パケット生成やパケット送信を無効化するようなフラグによって、ＶＭ６２０及びＶＭ７２０のＡＲＰキャッシュにＶＭ８４０のＭＡＣアドレスが記憶されたままであっても、ＶＭ８４０とＬ３レベルの通信を開始してしまうことを防止すればよい。
【００４４】
ＶＭ８４０のＭＡＣアドレスを未取得であるＶＭ７３０がＶＭ８４０とＬ３レベルの通信をするために、通知Ｃ１３として示されるように、ＶＭ８４０の宛先ＩＰアドレスとしたＡＲＰ要求を実行する。しかし、通知Ｃ１３のＡＲＰ要求を受け取ったＢＲ１１００は、処理１６１０によってＤＢ１１１０からＶＭ８４０のＭＡＣアドレスが削除されており、また接続されるネットワークにＶＭ８４０に対応するＩＰアドレスが存在しないため、その後のＡＲＰ要求や代理のＡＲＰ応答を実行しない。所定時間が経過すると、ＡＲＰ応答を受信できなかったＶＭ７３０では、ＡＲＰ要求がタイムアウトしたと判定する。つなわち、ＶＭ７３０はＶＭ８４０との通信が確立できないこととなる。
【００４５】
図９に、実施例が適用された情報処理システムで実行される通信の他の例が示される。ここでは、図８に示される通信の例によって、ＶＭ８４０がＶＭ管理ＳＶ１０００により削除され、例えばＶＭ６２０のＡＲＰキャッシュ６３０からＶＭ８４０のＭＡＣアドレスが消去された後にＶＭ６２０がＶＭ８４０との通信があらためて実行されようとした例が示される。
【００４６】
ＶＭ６２０において、レイヤ４（以下、Ｌ４と表す）レベルの通信を要求する処理１７００が実行される。例えば、処理１７００では、ＶＭ６２０におけるアプリケーション層によって通信が要求される。Ｌ４レベルの通信の要求を受けて、Ｌ３レベルの通信を要求する処理１７１０が実行される。例えば、ＶＭ６２０に実装されたＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ドライバが通信を要求する。Ｌ３レベルの通信の要求を受けて、Ｌ２レベルの通信確立をトライする処理１７２０が実行される。図８に示される処理１６２０によって、ＶＭ６２０のＡＲＰキャッシュ６３０からＶＭ８４０のＭＡＣアドレスが削除されているため、ＶＭ６２０はＬ２レベルの通信を確立させるために、ＶＭ８４０のＭＡＣアドレスを取得するためのＡＲＰ要求をする処理１７３０を実行する。処理１７３０によって、通知Ｃ１４として示されるように、図３に示されるような数バイトのＡＲＰパケットがＡＲＰ要求としてＢＲ１１００に送信される。しかし、ＢＲ１１００では、図８に示される処理１６１０によってＶＭ８４０のＭＡＣアドレスがＤＢ１１１０から削除されており、かつＡＲＰパケットに含まれる宛先ＩＰアドレスに対応するＶＭがＮＷ５００に接続されていないと判定されるため、ＶＭ６２０に対してＡＲＰ応答が返されない。ＡＲＰ応答が一定時間内（例えば数秒間以内）に返ってこないため、ＶＭ６２０において、ＡＲＰ要求がタイムアウトしたと判定する処理１７４０が実行される。処理１７４０が実行されるとＡＲＰ要求をリトライする処理１７５０が実行される。処理１７５０により、通知Ｃ１５として示されるように、図３に示されるような数バイトのＡＲＰパケットがＡＲＰ要求としてＢＲ１１００に再送信される。しかし、ＶＭ８４０はネットワークから削除されているため、上述したように、ＡＲＰ応答はＶＭ６２０に返ってこない。従って、ＶＭ６２０において、ＡＲＰ要求が再びタイムアウトしたと判定する処理１７６０が実行される。ＡＲＰ要求が失敗に終わったため、ＶＭ６２０において、ＶＭ８４０と通信が確立できないと判定する処理１７７０が実行される。処理１７７０の結果を受けて、ＶＭ６２０において、Ｌ３レベルの通信ができないと判定する処理１７８０が実行され、Ｌ４レベルでエラー通知が行われる処理１７９０が実行される。
【００４７】
ＡＲＰ要求はＬ２レベルでの処理であり、Ｌ２レベルで通信が確立できないと、Ｌ３レベルの通信も実行されない。そのため、一般的に、ＡＲＰ要求にかかるタイムアウト時間は相対的に短い時間（数秒間）が設定される。つまり、Ｌ３レベルのタイムアウト時間よりもＡＲＰ要求のタイムアウト時間の方が短く設定される。また、一般的には、Ｌ３レベルのリトライの回数よりも、Ｌ２レベルのリトライ回数の方が少なく設定される。従って、図９に示されるＡＲＰ要求が失敗するまでにかかる時間は、高々数十秒以内である。また、ＡＲＰパケットにはＬ３レベルで送るための送信データが含まれないため、一般的に数バイトのパケットとなる。つまり、Ｌ３レベルのパケットよりも、ＡＲＰパケットはサイズが小さい。
【００４８】
図１０に、実施例が適用された情報処理システムと比較される通信の例が示される。ここでは、ＶＭ８４０がＶＭ管理ＳＶ１０００により削除されても、ＶＭ６２０からＶＭ８４０のＭＡＣアドレスが消去されずに、ＶＭ６２０がＶＭ８４０とＬ３レベルの通信を実行しようとした例が示される。図１０に示される例により、発明者らが新たに見出した課題も説明される。
【００４９】
ＶＭ６２０において、Ｌ４レベルの通信を要求する処理１８００が実行される。例えば、処理１８００では、ＶＭ６２０におけるアプリケーション層によって通信が要求される。Ｌ４レベルの通信の要求を受けて、Ｌ３レベルの通信を要求する処理１８１０が実行される。例えば、ＶＭ６２０に実装されたＴＣＰドライバが通信を要求する。Ｌ３レベルの通信の要求を受けて、Ｌ２レベルの通信の確立をトライする処理１８２０が実行される。ＶＭ管理ＳＶ１０００によりＶＭ８４０が削除されても、ＶＭ６２０のＡＲＰキャッシュ６３０からＶＭ８４０のＭＡＣアドレスが削除されていないため、ＶＭ６２０では、Ｌ３レベルでの通信が開始される処理１８３０が実行される。例えば、通知Ｃ５０として示されるように、ＶＭ６２０に実装されるＴＣＰドライバによって作成されたＳＹＮパケット（ＶＭ８４０とＬ３レベルの通信を確立させるためのパケット）がＢＲ１１００に送信される。なお、Ｌ３レベルのパケットであるＳＹＮパケットは数キロバイトのパケットである。ＶＭ６２０はＳＹＮパケットに対してＶＭ８４０がＡＣＫパケットを返してくることを期待して待機する。しかし、ＶＭ８４０はＶＭ管理ＳＶ１０００により削除されているためにネットワークには存在せず、ＡＣＫパケットは返ってこない。従って、ＶＭ６２０はＳＹＮパケットに対するＡＣＫパケットがないためタイムアウトと判定し、ＳＹＮパケットの送信をリトライする処理１８４０が実行される。処理１８４０によって、通知Ｃ５１として示されるように、ＳＹＮパケットが再送される。なお、ＳＹＮパケットに対するＡＣＫパケットを受け取るまでに設定されるタイムアウト時間は、数十秒である。また、リトライする場合に再設定されるタイムアウト時間は、最初のタイムアウト時間よりも長く、例えばタイムアウト時間を倍々に伸ばしてリトライされる。リトライされる回数もＬ２レベルの通信を確立させるためのリトライよりも多く設定される。この理由は、Ｌ３レベルの通信が開始されているということは、すでにＬ２レベルでの通信が確立されていることが保証されていると判定されるためである。つまり、Ｌ２レベルの通信が確立されているのだから、Ｌ３レベルでの通信をリトライさせていれば、そのうちに通信が確立されるという設計思想があるからである。しかし、図１０の例では、ＶＭ８４０がネットワークに存在しないため、通知５１のＳＹＮパケットの再送に対してＡＣＫパケットが返信されない。ＶＭ６２０は、ＳＹＮパケットに対するＡＣＫパケットがないためタイムアウトと再判定し、再びリトライする処理１８５０が実行される。処理１８５０によって、通知Ｃ５２として示されるように、タイムアウト時間を延ばしてＳＹＮパケットが再送される。処理１８５０によってタイムアウト時間を延ばしてＳＹＮパケットを再送しても、ＡＣＫパケットが返ってこないためＶＭ６２０において、再びタイムアウトと判定する処理１８６０が実行される。ＶＭ６２０では、Ｌ３レベルでの通信が失敗に終わったため、ＶＭ８４０と通信が確立できないと判定する処理１８７０が実行される。処理１８７０の結果を受けて、ＶＭ６２０において、Ｌ３レベルの通信ができないと判定する処理１８８０が実行され、Ｌ４レベルでエラー通知が行われる処理１８９０が実行される。
【００５０】
以上に説明したように、Ｌ３レベルでの通信のリトライは、すでにＬ２レベルでは相手先と通信が確立できているとの判定の下で実行されているため、タイムアウト時間がＬ２レベルの通信のタイムアウト時間よりも長く設定され、かつリトライの回数もＬ２レベルの通信のリトライ回数よりも多く設定される。従って、図９に示されるエラー通知がされるまでにかかる数十秒間に対して、図１０に示されるエラー通知がされるまでにかかる時間は数分以上となってしまう。さらに、Ｌ３レベルのパケットは実際のデータが含まれているため数キロバイトであり、このようなＬ３レベルのパケットが宛先となる仮想マシンがいないにもかかわらずネットワークに数分以上も送信され続けてしまうことは問題である。
【００５１】
これらの問題点を発明者らが新たに見出し、実施例のように、ＶＭ８４０が削除された際に、ＶＭに対応するＡＲＰキャッシュからもＶＭ８４０のＭＡＣアドレスを削除することで、Ｌ３レベルでの通信が実行されることが抑制される。つまり、Ｌ３レベルのパケットがネットワークに送信されてしまうことが防止され、エラー通知が実行されるまでの時間が短縮される。
【００５２】
ところで、例えば、数千台の仮想マシンが一つの物理サーバで実行されることが想定される。あるユーザＡ（事業者Ａ）の数千台の仮想マシンの各々が、ＶＭ管理ＳＶ１０００によってネットワークから切断されてしまった仮想マシンに、Ｌ３レベルの数キロバイトのパケットを送信し続けてしまうことによって、ネットワークに大きな負荷をかかってしまう。
【００５３】
さらに、数千台の仮想マシンが同じユーザ（事業者）によるものとは限らず、複数のユーザ（事業者）による仮想マシンが一つの物理サーバに配備されて共存していることが想定される。例えば、あるユーザＢ（事業者Ｂ）による仮想マシン数百台とあるユーザＣ（事業者Ｃ）による仮想マシン数百台とが一つの物理サーバに配備されて共存されることが想定される。ユーザＢ（事業者Ｂ）及びユーザＣ（事業者Ｃ）は物理サーバ及びネットワークとの接続を共有しているため、宛先となる仮想マシンがいないにもかかわらずＬ３レベルのパケットをユーザＢ（事業者Ｂ）が送信し続けてしまうと、ユーザＣ（事業者Ｃ）のネットワークへのアクセス効率を著しく低下させてしまうことがある。つまり、ユーザＢ（事業者Ｂ）による不要なパケット送信によって、ユーザＣ（事業者Ｃ）の送信帯域が圧迫されてしまい、ユーザＣ（事業者Ｃ）のパフォーマンスが低下してしまう。さらに、ユーザＣ（事業者Ｃ）のパフォーマンスの低下はネットワークへの送信速度だけにとどまらない。ユーザＢ（事業者Ｂ）及びユーザＣ（事業者Ｃ）が同じ物理サーバのリソースを共有しているため、例えば仮想マシンどうしの調停処理が行われた場合に、ユーザＢ（事業者Ｂ）による不要なパケット送信によって調停処理に割り当てるリソースが相対的に減少してしまい、物理サーバ内のユーザＢ（事業者Ｂ）及びユーザＣ（事業者Ｃ）のパフォーマンスが共に低下してしまう可能性がある。
【００５４】
以上のように、一つの物理サーバを複数のユーザ（事業者）が共有するようなサービスが提供される場合には、不要なＬ３パケットの送信を防止できる実施例の効果はよりいっそう顕著な効果となる。また、実施例によれば、通信情報に基づいて、削除されたＶＭのＭＡＣアドレスをＡＲＰキャッシュに格納していると想定されるＶＭを特定して通信停止命令が送られるため、ＶＭ管理ＳＶ１０００が管理する全てのＶＭに対して通信停止命令を送信しなくてもよく、ネットワークの帯域の使用効率が低下しない。この効果は、ＶＭ数が増えた場合により謙虚な効果となる。
【００５５】
図１１に、実施例が適用されたサーバ（ＳＶ６００−９００）のハードウェア構成が示される。ＳＶ６００−９００の各々は、ＣＰＵ２０００、メモリ２１００、記憶装置２２００、送受信インターフェース（データ通信用）２３００、送受信インターフェース（管理用）２４００及びそれらが接続されたバス２５００を有するコンピュータである。ＣＰＵ２０００は、処理を実行するための１以上のプロセッサを含んでいる。メモリ２１００は例えば、ＲＡＭである。記憶装置２２００は例えば、ＲＯＭやフラッシュメモリ等の不揮発性メモリ、又はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気ディスク装置である。送受信インターフェース（データ通信用）２３００は、外部装置に対してデータの送受信をするためのインターフェースであり、インターフェース回路、通信回路、通信制御回路、又はネットワークインターフェースカードなどの回路である。送受信インターフェース（管理用）２４００は、管理用のデータを送受信するためのインターフェースであり、インターフェース回路、通信回路、通信制御回路、又はネットワークインターフェースカードなどの回路である。メモリ２１００に、ＳＶ６００−９００の動作を制御するための処理が記述されたプログラム、及び図１３に示される処理が記述されたプログラムが格納される。ＣＰＵ２０００によってメモリ２１００に格納されたプログラムが実行されることによりＳＶ６００−９００の動作が制御され、図１２に示される各機能ブロックとして機能する。
【００５６】
図１２に、実施例が適用されたサーバ（ＳＶ６００−９００）で実行される機能ブロックが示される。ＳＶ６００−９００の各々は、メモリ２１００に格納されたプログラムがＣＰＵ２０００によって実行されることにより、通信制御部２６００、ＡＲＰ制御部２６１０、ＡＲＰ通信部２６２０、ＡＲＰ情報更新部２６３０、パケット通信部２６４０、及び制御情報取得部２６５０として機能する。各機能ブロックにより実行される処理を、図１３に示される処理に対応させて後述する。
【００５７】
図１３に、実施例が適用されたサーバ（ＳＶ６００−９００）で実行される処理が示される。ＳＶ６００−９００に含まれる仮想マシンの通信制御部２６００によって、Ｌ４レベルが通信を要求する処理２７００が実行される。Ｌ４レベルの通信を要求する処理２７００とは、例えば、仮想マシンにおけるアプリケーション層によって通信が要求される処理であり、上述した処理１７００もその一例である。通信制御部２６００によって、Ｌ３レベルの通信を要求する処理２７１０が実行される。Ｌ３レベルの通信を要求する処理２７１０とは、例えば、実装されたＴＣＰドライバが通信を要求する処理であり、上述した処理１７１０もその一例である。
【００５８】
Ｌ３レベルの通信要求があった場合に、ＡＲＰ制御部２６１０によって、ＡＲＰ要求が必要か否かを判定する処理２７２０が実行される。例えば、ＡＲＰ制御部２６１０は、メモリ２１００に格納されているＡＲＰキャッシュに、処理２７１０により指定された宛先ＩＰアドレスに対応付けられたＭＡＣアドレスがあるか否かを判定し、ＡＲＰキャッシュにＭＡＣアドレスがない場合には処理２７３０に移り、ＡＲＰキャッシュにＭＡＣアドレスがある場合には処理２７９０に移る。
【００５９】
処理２７２０においてＡＲＰ要求が必要だと判定されると、ＡＲＰ通信部２６２０によって、ＡＲＰ要求を送信する処理２７３０が実行される。ＡＲＰ通信部２６２０によって送信されるＡＲＰパケットの例が、図３に示されるパケット構成の例である。また、ＡＲＰ要求を送信する処理２７３０の一例が、図８に示される通知Ｃ２、Ｃ６及びＣ１３である。
【００６０】
ＳＶ６００−９００に含まれる仮想マシンによって、受信データがあるか否かを判定する処理２７４０が実行される。受信データがないと判定された場合には、ＡＲＰ制御部２６１０によって、一定時間経過したか否かを判定する処理２７５０が実行される。一定時間が経過していないと判定された場合には処理２７４０に戻り、一定期間が経過したと判定された場合にはＡＲＰ要求に対するＡＲＰ応答がなかったと判定されて、エラー終了をする処理２７６０が実行される。
【００６１】
処理２７４０において、受信データがあると判定された場合には、ＡＲＰ制御部２６１０によって、受信データがＡＲＰ要求に対する応答か否かを判定する処理２７７０が実行される。ＡＲＰ要求に対する応答ではないと判定されると処理２７４０に戻る。
【００６２】
処理２７７０において、ＡＲＰ要求に対する応答があると判定された場合には、ＡＲＰ情報更新部２６３０によって、ＡＲＰキャッシュを更新する処理２７８０が実行される。例えば、ＡＲＰ情報更新部２６３０は、ＡＲＰ応答のパケットによって取得したＭＡＣアドレスをＩＰアドレスと対応付けて、図４に示される情報としてメモリ２１００に格納する。なお、処理２７８０の一例が、図８に示される処理１５１０及び処理１５６０である。
【００６３】
処理２７７０によって宛先のＭＡＣアドレスを取得すると、Ｌ３レベルの通信を実行する処理２７９０が実行される。処理２７９０においては、宛先ＭＡＣアドレスがＡＲＰキャッシュに格納されているため、ＡＲＰ制御部２６１０から通信制御部２６００に対して宛先ＶＭとＬ２レベルでの通信が確立したことが通知される。この通知を受けた通信制御部２６００は、パケット通信部２６４０に、ＡＲＰキャッシュに格納された宛先ＭＡＣアドレス及び送信データに基づくＬ３レベルのパケットを生成させて、宛先に対して送信させる。なお、処理２７９０の一例が、図８に示される処理１５２０及び１５７０である。
【００６４】
制御情報取得部２６５０によって、ＶＭの削除通知があるか否かを判定する処理２８００が実行される。ＶＭの削除通知がないと判定された場合には、通信が終了したか否かを判定する処理２８１０が通信制御部２６００によって実行される。通信が終了したと判定されない場合には処理２７９０に移り、通信が終了したと判定された場合には処理を終了する。
【００６５】
処理２８００において、ＶＭの削除通知があると判定された場合には、例えば、ＡＲＰキャッシュから削除通知により特定されたＶＭのＭＡＣアドレスを削除する処理２８２０がＡＲＰ情報更新部２６３０によって実行されて、処理２７２０に移る。処理２８２０の一例が、図８に示される処理１６２０及び１６４０である。また処理２８２０後の処理２７２０の一例が図９に示された処理に対応する。なお、上述もしたが、削除通知により特定されたＶＭのＭＡＣアドレスを削除させなくても、Ｌ３レベルの通信を開始してしまうことを防止すればよい。例えば、削除通知により特定されたＶＭのＭＡＣアドレスがＡＲＰキャッシュに記憶されたままであっても、Ｌ３レベルのパケットが生成されないようにしたり、Ｌ３レベルのパケットが生成されても送信されないようにしてもよい。例えば、パケット生成やパケット送信を無効化するようなフラグによって、削除通知により特定されたＶＭのＭＡＣアドレスがＡＲＰキャッシュに記憶されたままであっても、ＶＭ８４０とＬ３レベルの通信を開始してしまうことを防止すればよい。これらの処理によって削除されてしまった仮想マシンへＬ３レベルのパケットが誤送信されなくなる。
【００６６】
図１４に、実施例が適用された管理サーバ（ＶＭ管理ＳＶ１０００）のハードウェア構成が示される。ＶＭ管理ＳＶ１０００は、ＣＰＵ３０００、メモリ３１００、記憶装置３２００、送受信インターフェース（データ通信用）３３００、送受信インターフェース（管理用）３４００及びそれらが接続されたバス３５００を有するコンピュータである。ＣＰＵ３０００は、処理を実行するための１以上のプロセッサを含んでいる。メモリ３１００は例えば、ＲＡＭである。記憶装置３２００は例えば、ＲＯＭやフラッシュメモリ等の不揮発性メモリ、又はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気ディスク装置である。送受信インターフェース（データ通信用）３３００は、外部装置に対してデータの送受信をするためのインターフェースであり、インターフェース回路、通信回路、通信制御回路、又はネットワークインターフェースカードなどの回路である。送受信インターフェース（管理用）３４００は、管理用のデータを送受信するためのインターフェースであり、インターフェース回路、通信回路、通信制御回路、又はネットワークインターフェースカードなどの回路である。メモリ３１００に、ＶＭ管理ＳＶ１０００の動作を制御するための処理が記述されたプログラム、及び図１６に示される処理が記述されたプログラムが格納される。ＣＰＵ３０００によってメモリ３１００に格納されたプログラムが実行されることによりＶＭ管理ＳＶ１０００の動作が制御され、図１５に示される各機能ブロックとして機能する。
【００６７】
図１５に、実施例が適用された管理サーバ（ＶＭ管理ＳＶ１０００）で実行される機能ブロックが示される。ＶＭ管理ＳＶ１０００は、メモリ３１００に格納されたプログラムがＣＰＵ３０００によって実行されることにより、ＶＭ制御部３６００、制御情報通信部３６１０、ＶＭ情報更新部３６１０、ＶＭ情報通信部３６３０、及び通信情報取得部３６４０として機能する。各機能ブロックにより実行される処理を、図１６に示される処理に対応させて後述する。
【００６８】
図１６に、実施例が適用された管理サーバ（ＶＭ管理ＳＶ１０００）で実行される処理が示される。ＶＭに対して削除命令が送信する処理３７００が実行される。処理３７００は、ＶＭ制御部３６００によって削除されるＶＭが特定されて、特定されたＶＭに対して削除命令が制御情報通信部３６１０によって送信される。この際に、削除されたＶＭのＭＡＣアドレス及びＩＰアドレスがメモリ３１００に格納されているＶＭ情報から削除される処理がＶＭ情報更新部３６２０によって実行される。処理３７００によって送信される削除命令の一例が、図８に示される通知Ｃ８である。
【００６９】
ＢＲ１１００に対して削除通知を送信する処理３７１０がＶＭ情報通信部３６３０によって実行される。処理３７１０によって、削除されるＶＭを特定する情報として削除されるＶＭのＭＡＣアドレスやＩＰアドレスなどが送信される。後述するが、この削除通知がＢＲ１１００に含まれるＶＭ情報取得部４６４０に取得されることによって、ＤＢ１１２０の通信情報と連携されて、削除されるＶＭとの通信を停止させるための通信停止命令が送信されるＶＭが特定されることとなる。処理３７１０によって送信される削除通知の一例が、図８に示される通知Ｃ９である。
【００７０】
削除命令が送信されたＶＭ以外の他のＶＭに通信停止命令を送信するか否かを判定する処理３７２０がＶＭ制御部３６００によって実行される。処理３７２０において、他のＶＭに通信停止命令を送信しないと判定された場合には、処理を終える。処理３７２０において、他のＶＭに通信停止命令を送信すると判定された場合には、処理３７３０に移る。
【００７１】
ＶＭ制御部３６００によってＢＲ１１００に対して通信情報が要求されて、通信情報取得部３６４０によって通信情報が受信される処理３７３０が実行される。なお、通信情報とは、例えば、図７に示される情報であって、どの仮想マシンがどの仮想マシンのＭＡＣアドレスを取得した可能性があるかを表す情報である。処理３７３０によって、ＶＭ管理ＳＶ１０００は、通信情報をメモリ３１００に格納する。なお、処理３７３０における通信情報の受信の一例が、図８に示された通知Ｃ１０である。
【００７２】
通信情報に基づいて、削除命令が送信されたＶＭのアドレスと対応付けられたアドレスを抽出する処理３７４０がＶＭ制御部３６００によって実行される。通信情報にはどの仮想マシンがどの仮想マシンのＭＡＣアドレスを取得した可能性があるかが示されているので、上述したように、削除命令が送信されたＶＭのアドレスと対応付けられたアドレスを有するＶＭのＡＲＰキャッシュには、削除されたＶＭのＭＡＣアドレスが格納されている可能性があると推定される。すなわち、処理３７４０によって、削除命令が送信されたＶＭのＭＡＣアドレスをＡＲＰキャッシュに格納している可能性のあるＶＭが特定され、通信停止命令を送信するＶＭが抽出される。
【００７３】
処理３７４０によって抽出されたアドレスに対応するＶＭに通信停止命令を送信する処理３７５０が制御情報通信部３６１０によって実行される。なお、この通信停止命令の一例が、図８に示された通知Ｃ１１である。処理３７５０によって送信される通信停止命令は、抽出されたアドレスに対応するＶＭが、削除されたＶＭに対してＬ３レベルのパケットを送信させないようにする命令である。通信停止命令を受信したＶＭでは、上述したように、ＡＲＰキャッシュからＭＡＣアドレスが削除させられたり、フラグによりパケットの生成や送信がされないようにされたり、パケットの生成や送信がされないようなステートにされる。処理３７５０によって通信停止命令が送信されると処理を終える。
【００７４】
図１７に、実施例が適用されたブリッジ（ＢＲ１１００）のハードウェア構成が示される。ＢＲ１１００は、ＣＰＵ４０００、メモリ４１００、記憶装置４２００、送受信インターフェース（データ通信用）４３００、送受信インターフェース（管理用）４４００及びそれらが接続されたバス４５００を有するコンピュータである。ＣＰＵ４０００は、処理を実行するための１以上のプロセッサを含んでいる。メモリ４１００は例えば、ＲＡＭである。記憶装置４２００は例えば、ＲＯＭやフラッシュメモリ等の不揮発性メモリ、又はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気ディスク装置である。送受信インターフェース（データ通信用）４３００は、外部装置に対してデータの送受信をするためのインターフェースであり、インターフェース回路、通信回路、通信制御回路、又はネットワークインターフェースカードなどの回路である。送受信インターフェース（管理用）４４００は、管理用のデータを送受信するためのインターフェースであり、インターフェース回路、通信回路、通信制御回路、又はネットワークインターフェースカードなどの回路である。メモリ４１００に、ＢＲ１１００の動作を制御するための処理が記述されたプログラム、及び図１９に示される処理が記述されたプログラムが格納される。ＣＰＵ４０００によってメモリ４１００に格納されたプログラムが実行されることによりＢＲ１１００の動作が制御され、図１８に示される各機能ブロックとして機能する。
【００７５】
図１８に、実施例が適用されたブリッジ（ＢＲ１１００）で実行される機能ブロックが示される。ＢＲ１１００は、メモリ４１００に格納されたプログラムがＣＰＵ４０００によって実行されることにより、通信部４６００、制御部４６１０、ＡＲＰ情報更新部４６２０、通信情報更新部４６３０、及びＶＭ情報取得部４６４０として機能する。各機能ブロックにより実行される処理を、図１９に示される処理に対応させて後述する。
【００７６】
図１９に、実施例が適用されたブリッジ（ＢＲ１１００）で実行される処理が示される。パケットを受信する処理４７００が通信部４６００によって実行される。受信したパケットがＡＲＰ要求か否かを判定する処理４７１０が制御部４６１０によって実行される。処理４７１０において受信したパケットが解析された結果、ＡＲＰ要求でないと判定された場合には処理４７２０に移り、パケットを中継する処理４７２０が制御部４６１０によって実行されて処理４７００に戻る。処理４７１０において受信したパケットが解析された結果、ＡＲＰ要求であると判定された場合には処理４７３０に移り、受信したパケットからＩＰアドレスを取得する処理４７３０が制御部４６１０によって実行される。
【００７７】
取得したＩＰアドレスに対応するＭＡＣアドレスがＤＢ１１１０に格納されているか否かを判定する処理４７４０が制御部４６１０によって実行される。制御部４６１０は、例えば、ＤＢ１１１０に格納されている情報（図６参照）に基づいて、取得したＩＰアドレスに対応するＭＡＣアドレスを取得済みであるか否かを判定する。
【００７８】
処理４７４０において取得したＩＰアドレスに対応するＭＡＣアドレスがＤＢ１１１０にないと判定された場合には、ＡＲＰパケットを生成して通信部４６００により送信する処理４７５０が実行される。なお、処理４７５０によって、受信したＡＲＰ要求が中継される。パケットを受信する処理４７６０が通信部４６００によって実行されると、中継したＡＲＰ要求に対するＡＲＰ応答か否かを判定する処理４７７０が制御部４６１０によって実行される。処理４７７０において、中継したＡＲＰ要求に対するＡＲＰ応答ではないと判定されると処理４７６０に移り、中継したＡＲＰ要求に対するＡＲＰ応答であると判定されると処理４７８０に移る。処理４７８０では、ＤＢ１１００を更新してＭＡＣアドレスを格納する処理がＡＲＰ情報更新部４６２０によって実行される。なお、中継したＡＲＰ要求に対するＡＲＰ応答であると判定されたということは、ＡＲＰ応答におけるＡＲＰパケットの送信元ＭＡＣアドレスがＡＲＰ要求において要求されたＭＡＣアドレスであるため、ＡＲＰ情報更新部４６２０は、ＡＲＰ応答におけるＡＲＰパケットの送信元ＭＡＣアドレスとＩＰアドレスとを対応付けてＤＢ１１１０を更新して、処理４７９０に移る。なお、処理４７５０によって送信されるＡＲＰパケットの例が図８に示される通知Ｃ４であり、処理４７８０の例が図８に示される処理１５３０及び処理１５４０である。
【００７９】
処理４７４０において取得したＩＰアドレスに対応するＭＡＣアドレスがＤＢ１１１０にあると判定された場合、又は処理４７８０に次いで、処理４７９０が制御部４６１０によって実行される。制御部４６１０は、処理４７９０によって、ＡＲＰ要求における送信元ＭＡＣアドレス及びＡＲＰ応答における送信元ＭＡＣアドレスを対応付ける。
【００８０】
処理４７９０によって対応付けられたＭＡＣアドレスの組み合わせが通信情報としてＤＢ１１２０に格納する処理４８００が、通信情報更新部４６３０によって実行される。ＤＢ１１２０に格納された通信情報の一例が、図７に示される情報である。処理４７９０及び処理４８００によってＢＲ１１００が通信情報を取得することによって、どの仮想マシンがどの仮想マシンのＭＡＣアドレスをＡＲＰキャッシュに格納しているかを判定するための情報が取得される。なお、処理４８００の例が図８に示される処理１５５０及び処理１５９０である。
【００８１】
ＶＭの削除通知があるか否かを判定する処理４８１０が実行される。ＶＭ情報取得部４６４０が削除通知を受信することによって、制御部４６１０は削除通知があると判定する。なお、削除通知の一例が、図８に示される通知Ｃ９である。削除通知があると判定された場合には、制御部４６１０は、削除通知によって削除されることが示されたＶＭのＭＡＣアドレスをＤＢ１１１０から削除する処理４８２０をＡＲＰ情報更新部に実行させる。処理４８２０によって、ＶＭが削除されたにもかかわらずＤＢ１１１０にＭＡＣアドレスが格納されたままになって、ＢＲ１１００が誤ってＡＲＰ応答を代理でしてしまうことが防止される。一方で、削除通知がないと判定された場合には、処理４８７０に移る。
【００８２】
削除命令が送信されたＶＭ以外の他のＶＭに通信停止命令を送信するか否かを判定する処理４８３０が制御部４６１０によって実行される。通信停止命令を送信しないと判定された場合には、ＶＭ管理ＳＶ１０００に通信情報を送信する処理４８４０が実行される。通信情報をＶＭ管理ＳＶ１０００に送信する理由は、ＶＭ管理ＳＶ１０００が、どの仮想マシンがどの仮想マシンのＭＡＣアドレスをＡＲＰキャッシュに格納しているかを判定できるようにするためのであり、例えば、通信情報を全て送ってもよいし、通信帯域の占有を小さくするために削除されるＶＭに対応付けられたＶＭのＭＡＣアドレスを選択してＶＭ管理ＳＶ１０００に送ってもよい。また、処理４８４０は、ＶＭ管理ＳＶ１０００から通信情報の要求を受けてから実行してもよい。処理４８４０の例が、図８に示される通知Ｃ１２である。処理４８４０の処理を終えると処理４８７０に移る。
【００８３】
削除命令が送信されたＶＭ以外の他のＶＭに通信停止命令を送信すると判定された場合、通信情報に基づいて、削除命令が送信されたＶＭのアドレスと対応付けられたアドレスを抽出する処理４８５０が制御部４６１０によって実行される。通信情報にはどの仮想マシンがどの仮想マシンのＭＡＣアドレスを取得した可能性があるかが示されているので、上述したように、削除命令が送信されたＶＭのアドレスと対応付けられたアドレスを有するＶＭのＡＲＰキャッシュには、削除されたＶＭのＭＡＣアドレスが格納されている可能性があると推定される。すなわち、処理４８５０によって、削除命令が送信されたＶＭのＭＡＣアドレスをＡＲＰキャッシュに格納している可能性のあるＶＭが特定され、通信停止命令を送信するＶＭが抽出される。
【００８４】
処理４８５０によって抽出されたアドレスに対応するＶＭに通信停止命令を送信する処理４８６０が通信部４６００によって実行される。なお、この通信停止命令の例が、図８に示された通知Ｃ１２である。処理４８５０によって送信される通信停止命令は、抽出されたアドレスに対応するＶＭが、削除されたＶＭに対してＬ３レベルのパケットを送信させないようにする命令である。通信停止命令を受信したＶＭでは、上述したように、ＡＲＰキャッシュからＭＡＣアドレスが削除させられたり、フラグによりパケットの生成や送信がされないようにされたり、パケットの生成や送信がされないようなステートにされる。
【００８５】
通信を継続するか否かが判定される処理４８７０が制御部４６１０により実行されて、通信を継続すると判定された場合には処理４７００に移り、通信を継続しないと判定された場合には処理を終える。
【００８６】
ＶＭの生成・消滅・移動を管理するＶＭ管理ＳＶ１０００は、各ＶＭの実際の通信状況や通信相手までは管理していない。また、パケットの中継装置であるＢＲ１１００は各ＶＭの生成・消滅・移動は関知していない。実施例によれば、ＡＲＰ要求及び応答を中継するＢＲ１１００が、ＡＲＰ処理に際してどの仮想マシンがどの仮想マシンのＭＡＣアドレスを取得した可能性があるかを通知情報として記憶しておく。この通信情報とＶＭ管理ＳＶ１０００が管理するＶＭの生成・消滅・移動に関するＶＭ情報を連携させることで、ＶＭが消去された際に、削除されたＶＭのＭＡＣアドレスをＡＲＰキャッシュに格納しているＶＭを特定し、特定されたＶＭのＡＲＰキャッシュから削除されたＶＭのＭＡＣアドレスを削除させたり、削除されたＶＭに対するＬ３レベルのパケットの生成や送信をさせないようにしたりすることで、削除されたＶＭに対するＬ３レベルのパケットが送信されない。上述したように、例えば、一つの物理マシンで実行される複数の仮想マシンが同じユーザ（事業者）であるとは限らないため、Ｌ３レベルのパケットがネットワーク上に送信されないようにすることで、他のユーザ（事業者）の通信帯域やリソースが圧迫されなくなる。つまり、一つの物理サーバを複数のユーザ（事業者）が共有するようなサービスが提供される場合には、不要なＬ３パケットの送信を防止できる実施例は特に顕著な効果を奏する。
【００８７】
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）第１コンピュータと、前記第１コンピュータの物理アドレス及び送信データに基づくパケットを生成する第２コンピュータとを有し、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて、前記第２コンピュータから前記パケットが送信されないことを特徴とする情報処理システム。
（付記２）前記第２コンピュータは、複数の仮想コンピュータが実行される物理コンピュータにおいて実行された第２仮想コンピュータであることを特徴とする付記１に記載の情報処理システム。
（付記３）前記パケットを中継し、前記物理アドレスを取得するための要求を前記第２コンピュータから受けた履歴を格納する中継装置を有し、前記第２コンピュータから前記パケットが送信されないことは、前記履歴に基づいて前記第２コンピュータに前記物理アドレスが記憶されていると判定された場合に実行されることを特徴とする付記１又は２に記載の情報処理システム。
（付記４）前記ネットワークから前記第１コンピュータが切断されることの通知をする管理コンピュータを有し、前記履歴に基づいて前記第２コンピュータに前記物理アドレスが記憶されていると判定されることは、前記通知に応答して実行されることを特徴とする付記３に記載の情報処理システム。
（付記５）前記第１コンピュータは第１仮想コンピュータであり、前記ネットワークから前記第１コンピュータが切断されることは、前記管理コンピュータが前記第１仮想コンピュータを前記第１仮想コンピュータが実行されていた物理コンピュータから削除させることにより実行されることを特徴とする付記４に記載の情報処理システム。
（付記６）前記管理コンピュータは前記通知を、前記第１仮想コンピュータ以外の仮想コンピュータが前記ネットワークから切断されることの通知と合わせて通知することを特徴とする付記５に記載の情報処理システム。
（付記７）前記第２コンピュータは前記物理アドレスを一定期間キャッシュすることを特徴とする付記１〜６の何れか１つに記載の情報処理システム。
（付記８）前記第２コンピュータが前記パケットを送信しないことは、前記ネットワークから前記第１コンピュータが切断されることに応じて前記第２コンピュータに記憶されていた前記物理アドレスが消去されることにより実行されることを特徴とする付記１〜７の何れか１つに記載の情報処理システム。
（付記９）前記第２コンピュータが前記パケットを送信しないことは、前記ネットワークから前記第１コンピュータが切断されることに応じて前記パケットの生成が禁止されることにより実行されることを特徴とする付記１〜７の何れか１つに記載の情報処理システム。
（付記１０）前記第２コンピュータが前記パケットを送信しないことは、前記ネットワークから前記第１コンピュータが切断されることに応じて前記パケットの送信を禁止するステートになることにより実行されることを特徴とする付記１〜７の何れか１つに記載の情報処理システム。
（付記１１）前記第１コンピュータ及び前記第２コンピュータは異なるレイヤ２ネットワークに接続され、前記第１コンピュータ及び前記第２コンピュータの間の通信が前記中継装置によって中継されることを特徴とする付記１〜１０の何れか１つに記載の情報処理システム。
（付記１２）前記第１コンピュータ及び前記第２コンピュータは同じレイヤ２ネットワークに接続されることを特徴とする付記１〜１０の何れか１つに記載の情報処理システム。
（付記１３）前記中継装置は、前記物理アドレスを記憶し、前記ネットワークから前記第１コンピュータが切断されることに応じて、前記中継装置に記憶された前記物理アドレスが消去されることを特徴とする２〜１２の何れか１つに記載の情報処理システム。
（付記１４）第１コンピュータの物理アドレス及び送信データに基づいて第２コンピュータによって生成されるパケットを中継する制御部と、前記物理アドレスを取得するための要求を前記第２コンピュータから受けた履歴を格納する格納部とを有し、前記履歴は、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて前記第２コンピュータから前記パケットを送信させないために、前記第２コンピュータに前記物理アドレスが記憶されているかを判定するための履歴であることを特徴とする中継装置。
（付記１５）前記第２コンピュータは、複数の仮想コンピュータが実行される物理コンピュータにおいて実行された第２仮想コンピュータであることを特徴とする付記１３に記載の中継装置。
（付記１６）第１コンピュータ、及び前記第１コンピュータの物理アドレス及び送信データに基づいてパケットを生成する前記第２コンピュータを管理する制御部と、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることの通知をする通知部とを有し、前記通知は、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて前記第２コンピュータから前記パケットを送信させないために通知する通知であることを特徴とする情報処理装置。
（付記１７）前記第２コンピュータは、複数の仮想コンピュータが実行される物理コンピュータにおいて実行された第２仮想コンピュータであることを特徴とする付記１６に記載の情報処理装置。
（付記１８）前記通知に応答して、前記物理アドレスを取得するための要求を前記第２コンピュータが実行した履歴に基づいて前記第２コンピュータに前記物理アドレスが記憶されていると判定された場合に前記第２コンピュータから前記パケットが送信されないことを特徴とする付記１６又は１７に記載の情報処理装置。
（付記１９）第１コンピュータの物理アドレス及び送信データに基づくパケットを生成する第２コンピュータが、前記第２コンピュータが前記第１コンピュータと通信するためのネットワークから前記第１コンピュータが切断されることに応じて、前記パケットを送信しないことを特徴とする情報処理方法。
（付記２０）前記第２コンピュータは、複数の仮想コンピュータが実行される物理コンピュータにおいて実行された第２仮想コンピュータであることを特徴とする付記１９に記載の情報処理方法。
【符号の説明】
【００８８】
１００                データセンタ
２００、３００        ラック
４００、５００        ネットワーク
６００−９００        サーバ
６１０、７１０、８１０、９１０    仮想スイッチ
６２０、７２０、７３０、７４０、８２０、８３０、８４０、９２０、９３０    仮想マシン
６３０                ＡＲＰキャッシュ
１０００              ＶＭ管理サーバ
１０１０              データベース
１１００              ブリッジ（中継装置）
１１１０、１１２０    データベース
【図１】
2014045238.tif 000003
【図２】
2014045238.tif 000004
【図３】
2014045238.tif 000005
【図４】
2014045238.tif 000006
【図５】
2014045238.tif 000007
【図６】
2014045238.tif 000008
【図７】
2014045238.tif 000009
【図８】
2014045238.tif 000010
【図９】
2014045238.tif 000011
【図１０】
2014045238.tif 000012
【図１１】
2014045238.tif 000013
【図１２】
2014045238.tif 000014
【図１３】
2014045238.tif 000015
【図１４】
2014045238.tif 000016
【図１５】
2014045238.tif 000017
【図１６】
2014045238.tif 000018
【図１７】
2014045238.tif 000019
【図１８】
2014045238.tif 000020
【図１９】
2014045238.tif 000021