【手続補正書】
【提出日】平成27年6月3日(2015.6.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のホスト上で動作するターゲットＶＭ（仮想マシン）と、第２のホスト上で動作するアプリケーションとの間のネットワーク接続を提供する方法であって、
物理データネットワークを介して、前記第１のホストで、ある通信プロトコルに準拠し前記アプリケーションが送信した接続要求メッセージを受信するステップであって、前記接続要求メッセージは、前記ターゲットＶＭを識別するＶＭ識別子と、前記ターゲットＶＭのネットワークアドレスとを含み、前記接続要求メッセージは、前記第１のホストと前記第２のホストとの間の前記物理データネットワークを介して、前記第２のホストが前記接続要求メッセージを前記第１のホストのネットワークアドレスに送信することによって受信され、前記接続要求メッセージは、前記第２のホストから前記第１のホストへ、前記接続要求メッセージ内の前記第１のホストの前記ネットワークアドレスに従い、前記物理データネットワークによってルーティングされた、ステップと、
前記接続要求メッセージに応答して、前記ＶＭ識別子に基づいて、前記第１のホスト上の前記ターゲットＶＭを管理するハイパーバイザーによって、前記ターゲットＶＭを管理する前記ハイパーバイザーと前記ターゲットＶＭとの間の通信チャネルを形成するステップであって、前記通信チャネルは、前記ターゲットＶＭと前記ハイパーバイザーとの間の、前記ターゲットＶＭおよび前記ハイパーバイザーのエンドポイントを有するプライベート通信経路を含む、ステップと、
前記接続要求メッセージを、前記通信チャネルを介して前記ターゲットＶＭに、前記通信プロトコルおよび前記ターゲットＶＭの前記ネットワークアドレスに従う配送のために渡すステップと
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記第１のホスト上の他のＶＭが、許可なく前記ターゲットＶＭと通信するために前記通信チャネルを使用することができないように、前記通信チャネルの前記エンドポイントは、前記ハイパーバイザーおよび前記ターゲットＶＭにのみ直接アクセス可能である、方法。
【請求項３】
請求項１に記載の方法であって、前記第１のホストは第１のＩＰ（インターネットプロトコル）アドレスを有し、前記第２のホストは第２のＩＰアドレスを有し、前記ターゲットＶＭは第３のＩＰアドレスを有し、前記物理データネットワークは、ＩＰパケットを前記第２のホストの前記第２のＩＰアドレスから前記ターゲットＶＭの前記第３のＩＰアドレスにルーティングすることができない、方法。
【請求項４】
請求項３に記載の方法であって、ＩＰパケットを、前記第２のホストが前記パケットを前記第１のＩＰアドレスにアドレッシングすることによって、前記第２のホストから前記第１のホストに送信するステップをさらに含む方法。
【請求項５】
請求項４に記載の方法であって、前記ＩＰパケットは、アプリケーションレベルのプロトコルに準拠するペイロードを含み、前記方法は、前記パケットが通信チャネルを介して前記ＶＭに受信された後、前記ペイロードを前記ターゲットＶＭ上で動作するエージェントに配送するステップをさらに含む、方法。
【請求項６】
請求項１に記載の方法であって、前記通信チャネルは、前記ハイパーバイザーの内部ネットワークスイッチと、前記ハイパーバイザーによって提供され、前記ターゲットＶＭに割り当てられた仮想ネットワークインターフェースカードとを含む、方法。
【請求項７】
請求項１に記載の方法であって、前記第１のホスト上の前記ハイパーバイザーおよびプロキシエージェントは、前記第２のホストが標準的なネットワークプロトコルを使用して前記ターゲットＶＭと通信することを可能にするように協働する、方法。
【請求項８】
コンピュータがあるプロセスを実行することを可能にするための命令を格納する１つまたは複数のコンピュータ可読記憶デバイスであって、前記プロセスは、
ＶＭ（仮想マシン）、および、前記ＶＭ上のゲストオペレーティングシステムを実行するステップであって、前記ＶＭは、ネットワークレベルのプロトコルの実装、およびトランスポートプロトコルの実装を含み、前記ＶＭの実行は、前記コンピュータ上のハイパーバイザーによって管理される、ステップと、
前記コンピュータ上のハイパーバイザーによりプロキシエージェントを実行するステップと、
前記コンピュータ上のハイパーバイザーでパケットを受信するステップと
を含み、前記パケットは、あるプロトコルに準拠し、ネットワークプロトコルを使用して前記コンピュータ上の前記ハイパーバイザーのネットワークアドレスにアドレッシングされ、物理データネットワークを介して送信され、前記パケットは、前記ＶＭを識別する情報を含み、前記プロキシエージェントは、前記パケットを受信し、前記ＶＭを識別する前記情報から、前記ＶＭが前記パケットを受信することになると判定し、それに応答して、前記ハイパーバイザーは、前記ＶＭと前記ハイパーバイザーとの間のプライベート通信チャネルを介して、前記パケットまたは該パケット内にカプセル化されているパケットを前記ＶＭに渡す、１つまたは複数のコンピュータ可読記憶媒体。
【請求項９】
請求項８に記載の１つまたは複数のコンピュータ可読記憶媒体であって、前記ＶＭは、前記ネットワークプロトコルを実装し、前記ネットワークプロトコルに従うネットワークアドレスを有し、前記ネットワークを介して前記パケットを前記コンピュータに送信したホストは、前記ネットワークおよび前記ネットワークプロトコルを介して、前記ＶＭの前記ネットワークアドレスとの直接接続を有さない、１つまたは複数のコンピュータ可読記憶媒体。
【請求項１０】
請求項８に記載の１つまたは複数のコンピュータ可読記憶媒体であって、複数のＶＭがネットワーク上で通信し、前記プロセスは、前記コンピュータにおいて、どのＶＭが前記ハイパーバイザーによって管理されるどのＶＭに対応するのかを示すチャネル情報を維持するステップをさらに含む、１つまたは複数のコンピュータ可読記憶媒体。
【請求項１１】
請求項１０に記載の１つまたは複数のコンピュータ可読記憶媒体であって、前記プロセスは、前記プライベート通信チャネルを前記チャネル情報に基づき選択するステップをさらに含む、１つまたは複数のコンピュータ可読記憶媒体。
【請求項１２】
請求項１１に記載の１つまたは複数のコンピュータ可読記憶媒体であって、前記ＶＭを識別する前記情報は前記ＶＭの識別子を含み、選択する前記ステップは、前記パケット内の前記ＶＭの前記識別子を使用するステップであって、前記パケットを前記ＶＭに渡すために、前記プライベート通信チャネルを使用するべきと判定するステップを含む、１つまたは複数のコンピュータ可読記憶媒体。
【請求項１３】
請求項８に記載の１つまたは複数のコンピュータ可読記憶媒体であって、前記プロセスは、前記パケットまたは該パケット内にカプセル化されているパケットを、前記ＶＭ上の前記ゲストオペレーティングシステムにおいて受信するステップをさらに含む、１つまたは複数のコンピュータ可読記憶媒体。
【請求項１４】
請求項１３に記載の１つまたは複数のコンピュータ可読記憶媒体であって、前記プロセスは、前記パケットを、前記ゲストオペレーティングシステム上で動作しているゲストエージェントに渡すステップをさらに含む、１つまたは複数のコンピュータ可読記憶媒体。
【請求項１５】
方法であって、第１のホストは、前記第１のホスト上の複数のＶＭ（仮想マシン）の実行を管理する仮想化レイヤを含み、前記方法は、
前記仮想化レイヤと、前記第１のホスト上の前記複数のＶＭのうちの第１のＶＭとの間の第１の通信チャネルを確立するステップであって、前記第１の通信チャネルは、前記仮想化レイヤ内の第１のエンドポイントと、前記ＶＭ内の第２のエンドポイントとを有する、ステップと、前記仮想化レイヤと、前記第１のホスト上の前記複数のＶＭのうちの第２のＶＭとの間の第２の通信チャネルを確立するステップであって、前記第２の通信チャネルは、前記仮想化レイヤ内の第３のエンドポイントと、前記ＶＭ内の第４のエンドポイントとを有する、ステップと、
前記第１のホストで、物理データネットワークを介して第２のホストから複数の第１のパケットを受信するステップであって、各第１のパケットは、前記第１のホストのネットワークアドレスと、前記第１のＶＭのネットワークアドレスと、前記第１のＶＭを識別する第１の識別子とを含む、ステップと、前記第１のホストで、前記物理データネットワークを介して第３のホストから複数の第２のパケットを受信するステップであって、各第２のパケットは、前記第１のホストの前記ネットワークアドレスと、前記第２のＶＭのネットワークアドレスと、前記第２のＶＭを識別する第２の識別子とを含み、前記複数の第１のパケットおよび第２のパケットは、前記第１のホストへ、前記物理データネットワークを介して、前記複数の第１のパケットおよび第２のパケットが前記第１のホストの前記ネットワークアドレスにアドレッシングされることに基づきルーティングされた、ステップと、
プロキシエージェントにより、前記第２のホストと前記第１のＶＭとの間の間接的なネットワーク接続および前記第３のホストと前記第２のＶＭとの間の間接的なネットワーク接続を可能にするステップであって、前記プロキシエージェントは、前記第１のホスト上かつ前記第１のホスト上の前記複数のＶＭの外で動作し、前記第１の識別子から、前記複数の第１のパケットは前記第１の通信チャネルを介して渡すべきと判定し、前記第２の識別子から、前記複数の第２のパケットは前記第２の通信チャネルを介して渡すべきと判定する、ステップと
を含む、方法。
【請求項１６】
請求項１５に記載の方法であって、前記方法は、前記第１および第２の通信チャネルと、前記第１および第２のＶＭとをそれぞれ関連付ける関連付け情報を維持するステップをさらに含み、第１または第２のパケットが前記プロキシエージェントによって処理されるときに、前記プロキシエージェントは、前記パケットを前記複数のＶＭのうちの１つに運ぶことになる前記第１および第２の通信チャネルのどちらかを選択するために、前記関連付け情報を使用する、方法。
【請求項１７】
請求項１６に記載の方法であって、前記プロキシエージェントは、ＨＴＴＰ（ハイパーテキスト転送プロトコル）を含み、前記第１および第２のパケットは、ＨＴＴＰパケット内にカプセル化された、方法。
【請求項１８】
請求項１７に記載の方法であって、前記第１および第２のパケットは、前記ＶＭを識別する識別子を含むＨＴＴＰヘッダを含み、前記プロキシエージェントは、前記ＨＴＴＰヘッダを読み取り、前記識別子を抽出し、どのチャネルが前記第１および第２のパケットを受信するのかを選択するために前記識別子を使用する、方法。
【請求項１９】
請求項１５に記載の方法であって、前記第１のＶＭのゲストオペレーティングシステムは、前記ゲストオペレーティングシステムのネットワークアドレスを介した前記ゲストオペレーティングシステムとの接続を可能にするトランスポートプロトコルおよびネットワークプロトコルを実装し、前記第２のホストは、前記ネットワークプロトコルおよび前記ネットワークアドレスを使用して、前記ネットワークを介して前記ＶＭと直接接続することができず、前記方法は、前記第２のホストが前記第１のホストのネットワークアドレスに前記パケットをアドレッシングするステップをさらに含む、方法。
【請求項２０】
請求項１５に記載の方法であって、前記第１のホストを含む複数のハイパーバイザーホストが、前記第１および第２のＶＭを含む複数のＶＭをホストし、前記方法は、どのスーパーバイザーホストがどのＶＭをホストするのかを示すＶＭホスト情報を維持し、前記ＶＭホスト情報を使用して前記パケットに前記第１のホストの前記ネットワークアドレスを与えるステップをさらに含む、方法。
【請求項２１】
請求項８から１４の何れか一項に記載の前記命令を含むコンピュータプログラム。