(57)【特許請求の範囲】
【請求項１】
クライアントデバイスから、仮想デスクトップインスタンス上で仮想デスクトップセッションを開始する要求を受信することであって、前記仮想デスクトップインスタンスが、複数の可用性ゾーンに設置され、仮想デスクトップサービスを集合的に実装する複数のコンピューティングノードのうちの１つにホストされる、前記受信することと、
前記仮想デスクトップインスタンスとゲートウェイ構成要素との間の通信チャンネルを確立することであって、前記ゲートウェイ構成要素が、クライアントデバイスと前記仮想デスクトップサービスとの間に通信インターフェースを提供するように構成される複数のゲートウェイ構成要素のうちの１つであり、前記複数のゲートウェイ構成要素のそれぞれが、前記複数の可用性ゾーンのそれぞれにおけるポイントオブプレゼンスロケーションのそれぞれのコンピューティングノード上にホストされ、前記複数のゲートウェイ構成要素のうちの少なくともいくつかが、前記仮想デスクトップサービスの仮想プライベートクラウド内の前記仮想デスクトップサービスの１つ以上の他の構成要素と相互運用する、前記確立することと、
前記仮想デスクトップインスタンス上で仮想デスクトップセッションを開始することであって、前記開始することが、前記クライアントデバイスが公共ネットワーク上で前記ゲートウェイ構成要素と通信するような前記ゲートウェイ構成要素を介して、前記仮想デスクトップインスタンスと前記クライアントデバイスとの間のインタラクティブビデオストリームの通信を始めることを含み、前記インタラクティブビデオストリームが、前記仮想デスクトップインスタンスから前記クライアントデバイスに通信されるピクセルのストリームと、前記クライアントデバイスから前記仮想デスクトップインスタンスとのユーザインタラクションを示す前記仮想デスクトップインスタンスまで通信される複数の入力とを備える、前記開始することと
を、１つ以上のコンピュータで実行することを含む、
方法。
【請求項２】
前記仮想デスクトップインスタンスが、前記要求が前記クライアントデバイスから代わりに受信されるクライアントの仮想プライベートクラウド内で動作する複数の仮想化されたコンピューティングリソースインスタンスうちの１つによって実装される、
請求項１に記載の方法。
【請求項３】
前記複数のゲートウェイ構成要素のそれぞれは、複数のクライアントのために、クライアントデバイスと前記仮想デスクトップサービスとの間の通信インターフェースを提供するマルチテナントゲートウェイ構成要素である、
請求項１または２に記載の方法。
【請求項４】
前記確立することの前に、
前記複数のゲートウェイ構成要素のうちのどちらが、前記複数のゲートウェイ構成要素のうちの少なくとも１つが前記クライアントデバイスにホストされる前記ポイントオブプレゼンスロケーションに近いことに少なくとも部分的に依存する、前記クライアントデバイスと前記仮想デスクトップインスタンスとの間の前記インタラクティブビデオストリームの通信を処理するために使用されることになるかを決定すること
をさらに含む、
請求項１−３のいずれか１項に記載の方法。
【請求項５】
前記決定することが、前記ゲートウェイ構成要素が設置される可用性ゾーン以外の可用性ゾーンに設置されるデータセンターのコンピューティングノード上で実行されている前記仮想デスクトップサービスの管理構成要素によって、自動的に実行される、
請求項４に記載の方法。
【請求項６】
前記決定することが、前記クライアントデバイス上で実行されている前記仮想デスクトップサービスのクライアントサイド構成要素によって実行される、
請求項４に記載の方法。
【請求項７】
前記決定することの前に、
前記クライアントデバイスと前記仮想デスクトップサービスとの間に通信インターフェースを提供するために利用可能である一組の２つ以上のゲートウェイ構成要素を識別し、それらがホストされる前記ポイントオブプレゼンスロケーションを識別する前記仮想デスクトップサービスの前記クライアントサイド構成要素に情報を通信すること
をさらに含む、
請求項６に記載の方法。
【請求項８】
前記ゲートウェイ構成要素を介して前記仮想デスクトップインスタンスと前記クライアントデバイスとの間の前記インタラクティブビデオストリームの通信を前記始めることが、ステートレスなデータグラムベースネットワークプロトコル上で前記仮想デスクトップインスタンスから前記ゲートウェイ構成要素まで前記インタラクティブビデオストリームの通信を始めることを含む、
請求項１−７のいずれか１項に記載の方法。
【請求項９】
前記公共ネットワーク上の構成要素によって、前記ステートレスなデータグラムベースプロトコルネットワークプロトコルからステートフルなネットワークプロトコルに前記インタラクティブビデオストリームを変換することと、
前記変換されたインタラクティブビデオストリームを前記クライアントデバイス上のポートに提供することと
をさらに含む、
請求項８に記載の方法。
【請求項１０】
複数のゲートウェイ構成要素のうちの少なくともいくつかのそれぞれが、前記仮想デスクトップサービスの前記仮想プライベートクラウド内で実行されている１つ以上の仮想化されたコンピューティングリソースインスタンスによって実装される、
請求項１−９のいずれか１項に記載の方法。
【請求項１１】
前記ゲートウェイ構成要素が、前記仮想デスクトップサービスの前記仮想プライベートクラウド以外の仮想プライベートクラウド内で動作し、前記仮想デスクトップサービスの前記仮想プライベートクラウド以外の前記仮想プライベートクラウドが、仮想プライベートクラウドピアリング機構を使用して、前記仮想デスクトップサービスの前記仮想プライベートクラウドに通信可能に連結される、
請求項１−１０のいずれか１項に記載の方法。
【請求項１２】
１つ以上のコンピュータ上で実行されるとき、前記１つ以上のコンピュータに、
１つ以上のクライアントのために仮想デスクトップセッションを提供する仮想化されたコンピューティングリソースインスタンスを構成することであって、前記仮想化されたコンピューティングリソースインスタンスが、複数の領域に設置され、仮想コンピューティングサービスを集合的に提供する複数のコンピューティングノードのうちの１つにホストされる、前記構成することと、
前記仮想化されたコンピューティングリソースインスタンス上で仮想デスクトップセッションを開く、クライアントからの要求を受信することと、
クライアントと前記仮想コンピューティングサービスとの間のネットワークインターフェースを提供するように構成される複数のゲートウェイ構成要素のうちのどちらが、前記仮想化されたコンピューティングリソースインスタンスと前記クライアントとの間のインタラクティブビデオストリームの通信を処理するために使用されることになるか決定することであって、前記複数のゲートウェイ構成要素のそれぞれが、前記領域のそれぞれにおけるポイントオブプレゼンスロケーションのそれぞれのコンピューティングノード上にホストされ、前記複数のゲートウェイ構成要素の少なくともいくつか、及び前記仮想コンピューティングサービスの１つ以上の他の構成要素が、仮想プライベートクラウド内に加わり、前記決定することが、前記クライアントが設置される前記領域に少なくとも部分的に依存する、前記決定することと、
前記クライアントのために、前記仮想化されたコンピューティングリソースインスタンスと前記決定されたゲートウェイ構成要素との間で通信チャンネルを確立することと
を実行させるプログラム命令を記憶する非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記１つ以上のコンピュータで実行されるとき、前記プログラム命令が、前記１つ以上のコンピュータに、
前記仮想化されたコンピューティングリソースインスタンス上で仮想デスクトップセッションを開始することであって、前記開始することが、前記クライアントが公共ネットワーク上で前記ゲートウェイ構成要素と通信するような前記ゲートウェイ構成要素を介して前記仮想化されたコンピューティングリソースと前記クライアントとの間のインタラクティブビデオストリームの通信を始めることを含み、前記インタラクティブビデオストリームが、前記仮想化されたコンピューティングリソースインスタンスから前記クライアントに通信されるピクセルのストリームと、前記クライアントから前記仮想化されたコンピューティングリソースインスタンスとのユーザインタラクションを示す前記仮想化されたコンピューティングリソースインスタンスまで通信される複数の入力とを備える、前記開始すること
を実行させる、
請求項１２に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記１つ以上のコンピュータで実行されるとき、前記プログラム命令が、前記１つ以上のコンピュータに、
クライアント及び前記仮想コンピューティングサービスとそれらがホストされる前記ポイントオブプレゼンスロケーションとの間にネットワークインターフェースを提供するために利用可能である一組の２つ以上のゲートウェイ構成要素の送信先アドレスのリストを自動的に決定することと、
前記２つ以上のゲートウェイ構成要素がホストされる前記コンピューティングノードのうちの１つ以上で経験される作業負荷の増減、前記２つ以上のゲートウェイ構成要素のうちの１つとの通信の損失、または、前記２つ以上のゲートウェイ構成要素のうちの１つがホストされるコンピューティングノードの障害のうちの１つ以上に依存する、クライアントと前記仮想コンピューティングサービスとの間のネットワークインターフェースを提供するために利用可能である前記一組の２つ以上のゲートウェイ構成要素の送信先アドレスのリストを修正することと
を実行させる、
請求項１２または１３に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
１つ以上のクライアントに仮想コンピューティングサービスを集合的に提供する複数の地理的領域で設置される複数のコンピューティングノードであって、前記コンピューティングノードのそれぞれが少なくとも１つのプロセッサ及びメモリを備える、複数のコンピューティングノードと、
それぞれが、各前記領域のそれぞれにおけるデータセンター内の前記コンピューティングノードのそれぞれで実行される、複数の仮想化されたコンピューティングリソースインスタンスと、
それぞれが、前記領域のそれぞれにおけるポイントオブプレゼンスロケーションで前記コンピューティングノードのそれぞれにホストされる、複数のゲートウェイ構成要素と
を備え、
前記仮想化されたコンピューティングリソースインスタンスのうちの１つ以上が、仮想デスクトップサービスの管理構成要素を実装するように構成され、
前記複数のゲートウェイ構成要素のうちの少なくともいくつかと、前記仮想デスクトップサービスの前記管理構成要素とが、前記仮想デスクトップサービスの仮想プライベートクラウド内で互いに相互運用され、
前記仮想化されたコンピューティングリソースインスタンスのうちの１つが、仮想デスクトップインスタンスを実装するように構成され、
前記複数のゲートウェイ構成要素のうちの２つ以上が、クライアントデバイスと前記仮想デスクトップサービスとの間の通信のためのネットワークインターフェースとして構成され、クライアントデバイスが、公共ネットワーク上で前記２つ以上のゲートウェイ構成要素と通信し、
前記仮想デスクトップインスタンスに接続するクライアントデバイスからの要求を受信することに応じて、前記仮想デスクトップサービスの前記管理構成要素が、前記仮想デスクトップインスタンスと、前記クライアントデバイスと前記仮想デスクトップインスタンスとの間のインタラクティブビデオストリームの双方向通信のための前記２つ以上の前記ゲートウェイ構成要素のうちの１つとの間に通信チャンネルを確立するように構成され、前記インタラクティブビデオストリームが、前記仮想デスクトップインスタンスから前記クライアントデバイスに通信されるピクセルのストリームと、前記クライアントデバイスから前記仮想デスクトップインスタンスとのユーザインタラクションを示す前記仮想デスクトップインスタンスまで通信される複数の入力とを備える、
システム。
【発明の詳細な説明】
【背景技術】
【０００１】
多数の企業及び他の組織は、（例えば、ローカルネットワークの一部として）共存している、またはそうではなく、（例えば、１つ以上のプライベートまたは公共中間ネットワークを介して接続された）複数の別個の地理的場所に存在しているコンピューティングシステムを用いる等、その事業活動を支援するために無数のコンピューティングシステムを相互接続するコンピュータネットワークを運用する。例えば、単一の組織によりかつそのために運用されるプライベートデータセンター、及びコンピューティングリソースを顧客またはクライアントに提供するために事業として事業体により運用される公共データセンター等、相当数の相互接続されたコンピューティングシステムを収容するデータセンターが一般的になってきている。いくつかの公共データセンター運用者は、様々なクライアントによって所有されるハードウェアのためのネットワークアクセス、電力、及び安全な設置施設を提供する一方、他の公共データセンター運用者は、そのクライアントによる使用のために利用可能になったハードウェアリソースも含む「フルサービス」の施設を提供する。しかしながら、典型的なデータセンターの規模及び範囲が増加したことに伴い、物理的コンピューティングリソースをプロビジョニング、管理、及び運営するタスクはますます複雑になっている。
【０００２】
汎用ハードウェアの仮想化技術の出現は、様々なニーズを擁する多数のクライアントのための大規模コンピューティングリソースを運営する点で利点をもたらし、様々なコンピューティングリソースが、複数のクライアントによって効率的かつ安全に共有されることを可能にしている。例えば、仮想化技術は、単一の物理的コンピューティングマシンによってホストされた１つ以上の仮想マシンを各ユーザに提供することによって、単一の物理的コンピューティングマシンが、複数のユーザの間で共有されることを可能にすることができ、各々のそのような仮想マシンは、ユーザが所与のハードウェアコンピューティングリソースの唯一の運用者かつ管理者であるという錯覚をユーザに提供すると同時に、様々な仮想マシン間でアプリケーションの分離及びセキュリティも提供する、別個の論理的コンピューティングシステムとして作用するソフトウェアシミュレーションである。その上、いくつかの仮想化技術は、複数の別個の物理的コンピューティングシステムにまたがる、複数の仮想プロセッサを備える単一の仮想マシン等、２つ以上の物理的リソースにまたがる仮想リソースを提供することが可能である。仮想化によって、単一の物理的コンピューティングデバイスは、動的な方法で、仮想マシンを作成、維持、または削除することができる。次に、ユーザは、データセンターからコンピュータリソースを要求することができ、「必要に応じて」または少なくとも「要求に応じて」、仮想マシンリソースの数を変えることができる。いくつかのシステムにおいて、仮想化されたコンピューティングリソースは、仮想デスクトップを実装するために使用することができる。
【図面の簡単な説明】
【０００３】
【図１】少なくともいくつかの実施形態に従う、例示的プロバイダネットワーク環境を示すブロック図である。
【図２】少なくともいくつかの実施形態に従う、クライアントにストレージ仮想化サービス及びハードウェア仮想化サービスを提供する例示的プロバイダネットワークを示すブロック図である。
【図３】少なくともいくつかの実施形態に従う、サービスプロバイダコンピュータネットワークと通信するクライアントコンピューティングデバイスを含むネットワーク化されたコンピューティング環境を示すブロック図である。
【図４】少なくともいくつかの実施形態に従う、例示的サービスプロバイダデータセンターを示すブロック図である。
【図５】少なくともいくつかの実施形態に従う、クライアントにプライベートネットワークを提供する例示的プロバイダネットワークを示すブロック図である。
【図６】少なくともいくつかの実施形態に従う、仮想デスクトップサービスがクライアントに提供される例示的ネットワーク化環境を示すブロック図である。
【図７Ａ】少なくともいくつかの実施形態に従う、ポイントオブプレゼンスロケーションのゲートウェイ構成要素が仮想デスクトップサービスの仮想プライベートクラウド内で動作する例示的ネットワーク化環境を示すブロック図である。
【図７Ｂ】少なくともいくつかの実施形態に従う、ポイントオブプレゼンスロケーションのいくつかのゲートウェイ構成要素が仮想デスクトップサービスの仮想プライベートクラウド内で動作し、その他がピアＶＰＣ内で動作する例示的ネットワーク化環境を示すブロック図である。
【図８】ポイントオブプレゼンスロケーションのゲートウェイ構成要素を通じて、クライアントに仮想デスクトップサービスを提供するための方法の１つの実施形態を示すフロー図である。
【図９】ポイントオブプレゼンスロケーションのゲートウェイ構成要素を通じて、ワークスペースプロバイダとクライアントとの間のインタラクティブビデオトラフィックを管理するための方法の１つの実施形態を示すフロー図である。
【図１０】ポイントオブプレゼンスロケーションのゲートウェイ構成要素を通じて、クライアントがワークスペースサービスに接続し、通信するための方法の１つの実施形態を示すフロー図である。
【図１１】異なる実施形態に従う、本明細書に記載される技法の一部または全てを実装する例示的コンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【０００４】
本明細書において、実施形態はいくつかの実施形態及び例示的図面によって説明されるが、当業者は、実施形態が説明される実施形態または図面に限定されないことを認識するであろう。図面及びそれらに対する詳細説明は、開示される特定の形式に実施形態を限定することを意図せず、しかし対照的に、その意図は、添付の請求項によって定義される趣旨及び範囲に含まれる全ての変形、同等物、及び代替を網羅することであることを理解されたい。本明細書に使用される見出しは、構成上の目的のみであり、記載または請求項の範囲を限定するために使用されることを意図するものではない。本明細書全体で使用されるように、「〜することができる（〜してもよい）」（ｍａｙ）は、必須の意味（すなわち、〜しなければならない（ｍｕｓｔ））ではなく、許容の意味（すなわち、〜する可能性を有する意味）において使用される。同様に、単語「ｉｎｃｌｕｄｅ」、「ｉｎｃｌｕｄｉｎｇ」及び「ｉｎｃｌｕｄｅｓ」は、含むがそれらに限定されないことを意味する。
【０００５】
仮想化されたコンピューティングリソースをクライアントに提供するシステムにおける、ワークスペース（例えば、仮想デスクトップインスタンス）への低レイテンシ接続（または、通信チャンネル）を提供するためのシステム及び方法の様々な実施形態が、本明細書に記載される。仮想コンピューティングサービスを提供するコンピューティングシステムは、クライアントコンピューティングデバイスとサービスプロバイダのネットワーク上でホストされる仮想デスクトップインスタンス（ワークスペース）との間でリモートコンピューティングセッションを生成し、管理してもよい。例えば、システムは、インタラクティブビデオストリームが独自のコンピューティングデバイス上のエンドユーザに配信されるワークスペースサービスを実装してもよい。ワークスペースサービスの大型構成要素の性能（例えば、インタラクティブビデオストリームの配信におけるレイテンシ及び／または配信されるビデオストリームの品質）は、インタラクティブビデオストリームがエンドユーザに配信される接続を提供するネットワーク（または、一連のネットワーク）（例えば、サービスプロバイダのネットワーク上にホストされる仮想コンピューティングリソースインスタンスから、エンドユーザのオフィスにあるクライアントデバイスまでの全ての通信チャンネル）に依存していてもよい。一般に、インタラクティブビデオストリームの配信は、任意の種類の不都合なネットワーク効果がエンドユーザの接続の品質に影響を及ぼす可能性があるという点で、非常に時間に敏感であることがある。いくつかの実施形態において、本明細書に記載されるシステム及び方法は、公共ネットワーク（例えば、公共インターネット）を通り抜けるそのパスの部分を最小化することができ、したがって、インタラクティブビデオストリームを、ワークスペースサービスがほとんど制御を有しない比較的低品質のネットワークに公開する。
【０００６】
いくつかの実施形態において、本明細書に記載されるシステムは、複数の地理的に分散されたポイントオブプレゼンス（ＰＯＰ）ロケーションでセキュリティゲートウェイまたはアクセスゲートウェイ構成要素（時には本明細書で「ゲートウェイ構成要素」または単に「ゲートウェイ」と呼ばれる）まで広がるワークスペースサービスのために、仮想プライベートクラウド（ＶＰＣ）を実装してもよい。換言すれば、これらのシステムは、エンドユーザのクライアントデバイスの近くに物理的に存在するコンピューティングノード上で実行され、同時に、ワークスペースサービスのＶＰＣ内で動作する（そして、ワークスペースサービスの制御下のままである）ゲートウェイ構成要素を含んでもよい。いくつかの実施形態において、このアプローチによって、ゲートウェイ構成要素とクライアントデバイスとの間の潜在的に信頼性が低く、レイテンシがより高い公共ネットワーク接続への切替え前に、インタラクティブビデオストリームを通信するための安全、高信頼性、低レイテンシ、高帯域幅、低損失、及び低ジッタの通信チャンネルの使用を通して、ある程度可能な限りクライアントデバイスに近い仮想デスクトップセッションに高品質の接続及びエンドユーザエクスペリエンスを提供してもよい。用語「接続」及び「通信チャンネル」は、以下の説明において、ある程度交換可能に使用されてもよいことに留意されたい。しかし、様々な実施形態において、ゲートウェイ構成要素を通しての仮想デスクトップインスタンスとクライアントデバイスとの間の接続または通信チャンネルは、高レベルハンドシェイキングプロトコルを実装してもよくまたは実装しなくてもよく（あるいは高レベルハンドシェイキングプロトコルに依存してもよくまたは依存しなくてもよく）、特定のタイプのネットワーク構成要素あるいは特定のタイプのネットワーク構成要素間の仮想または物理接続に限定されない。
【０００７】
いくつかの実施形態において、サービスプロバイダのネットワーク化環境は、複数の仮想デスクトップインスタンスを含んでもよく、そのそれぞれは、仮想デスクトップ（ワークスペース）サービスを集合的に実装する複数のコンピューティングノードのそれぞれにホストされる。これらのコンピューティングノードは、複数の可用性ゾーン（例えば、異なる建物、都市、国、または地域）におけるデータセンター内に存在してもよい。いくつかの実施形態において、このネットワーク化環境は、複数のゲートウェイ構成要素を含んでもよく、そのそれぞれは、可用性ゾーンの１つにおいて、ＰＯＰロケーションのそれぞれのコンピューティングノード上にホストされる。本明細書でさらに詳細に記載されるように、これらのゲートウェイ構成要素及び仮想デスクトップサービスの管理構成要素は、仮想デスクトップサービスの仮想プライベートクラウド内で互いに相互運用してもよく、仮想プライベートネットワーク上で互いに通信してもよい。いくつかの実施形態において、ゲートウェイ構成要素は、ＰＯＰロケーションでコンピューティングノード上にホストされる仮想化されたリソースインスタンスを使用して実装されてもよい。
【０００８】
いくつかの実施形態において、仮想デスクトップセッションのクライアント要求に応答して、サービスは、仮想デスクトップセッションを実装する仮想デスクトップインスタンスとして、仮想コンピューティングリソースインスタンスを構成してもよい。この仮想コンピューティングリソースインスタンスは、代わりにインスタンス化及び／または構成されたクライアント（例えば、代わりに要求をクライアントデバイスから受信したクライアント）の仮想プライベートクラウド内で動作する（または、参加する）複数の仮想リソースインスタンスの１つでもよい。１つ以上の他の仮想コンピューティングリソースインスタンスは、サービスの管理構成要素を実装するように構成されてもよい。
【０００９】
仮想デスクトップセッションのクライアント要求に応答して、サービスはまた、セッションの双方向インタラクティブビデオストリームの通信のためのクライアントデバイスの近くのＰＯＰロケーションで、仮想コンピューティングリソースインスタンスとゲートウェイ構成要素との間の（例えば、仮想プライベートネットワーク上の）安全で、信頼性があり、低レイテンシの接続を確立してもよい。例えば、インタラクティブビデオストリームは、仮想デスクトップインスタンスからクライアントデバイスに通信されるピクセルのストリーム、及びクライアントデバイスから仮想デスクトップインスタンスとのユーザインタラクションを示す仮想デスクトップインスタンスまで通信される入力を含んでもよい。いくつかの実施形態において、インタラクティブビデオストリームは、仮想デスクトップインスタンスからクライアントデバイスに通信され、クライアントデバイスによる表示のためのピクセルを生成及び／または描画するために（例えば、ピクセルのストリームの代わりにまたはそれに加えて）クライアントデバイスに向ける命令を表すコマンドを含んでもよい。本明細書でさらに詳細に記載されるように、ゲートウェイ構成要素は、様々なＰＯＰロケーションでホストされる複数のそのようなゲートウェイ構成要素の１つでもよく、少なくとも部分的にはクライアントへの近さのために、セッションの提供において使用するために選択されてもよい。例えば、ゲートウェイ構成要素は、要求が受信されたクライアントデバイスと同じ都市、国、または地域のＰＯＰロケーションでホストされる複数のゲートウェイ構成要素の１つでもよい。ゲートウェイ構成要素がホストされる可用性ゾーンは、セッションのリソースインスタンスがホストされる可用性ゾーンと異なってもよいことにも留意されたい。いくつかの実施形態において、ゲートウェイ構成要素は、サービスの管理構成要素によって自動的に選択されてもよく（例えば、サービスのＶＰＣ内で動作しているもの）、一方、他の実施形態において、サービスのクライアント部分は、ゲートウェイ構成要素を選択してもよい。仮想コンピューティングリソースインスタンスとゲートウェイ構成要素との間の接続がサービスによって確立される（そして、接続がクライアントデバイスとゲートウェイ構成要素との間で確立される）と、サービスは、仮想デスクトップセッション上で仮想デスクトップセッションを開始し、セッションのインタラクティブビデオストリームの通信を始めてもよい。
【００１０】
本明細書に記載されるシステム及び方法は、異なる実施形態において、ネットワーク環境内部の１つ以上のコンピューティングシステム上で、またはそれらによって実装され得る。本明細書に記載されるクラウドコンピューティング環境のワークスペースを安全にするための技術の実施形態が実装されてもよい例示的なコンピュータシステムが、図１１に示される。これらの技術を実装するための様々なシステム及び方法の実施形態が、概して、本明細書において、インターネットなどの中間ネットワークを介して、サービスプロバイダのプロバイダネットワーク上に実装された仮想化されたリソース（例えば、仮想化されたコンピューティング及びストレージリソース）をクライアントに提供するサービスプロバイダの状況において、記載される。図１〜７及び１１（ならびにそれらの対応する説明）は、本明細書に記載されるシステム及び方法の実施形態が実装されてもよい例示的環境を示して記載し、限定することを目的としない。少なくともいくつかの実施形態において、プロバイダネットワークを介してサービスプロバイダのクライアントに提供されるリソースのうちの少なくともいくつかは、他のクライアント（単数または複数）と共有されるマルチテナントハードウェア上、及び／または特定のクライアント専用のハードウェア上に実装された仮想化されたコンピューティングリソースであり得る。各仮想化されたコンピューティングリソースは、リソースインスタンスと呼ぶことができる。リソースインスタンスは、例えば、サービスプロバイダのクライアントに賃借またはリースされ得る。例えば、サービスプロバイダのクライアントは、リソースインスタンスを取得及び構成するため、ならびに、例えば、仮想化されたプライベートネットワーク等のリソースインスタンスを含む仮想ネットワーク構成を確立及び管理するために、サービスへのＡＰＩを介して、プロバイダネットワークの１つ以上のサービスにアクセスすることができる。
【００１１】
いくつかの実施形態において、リソースインスタンスは、例えば、複数のオペレーティングシステムが、ホストコンピュータ上で同時に稼動することを可能にするハードウェア仮想化技術に従って、すなわち、ホスト上の仮想マシン（ＶＭ）として実装され得る。ホスト上のハイパーバイザ、または仮想マシンモニタ（ＶＭＭ）は、ホスト上のＶＭに仮想プラットフォームを提示することができ、ＶＭの実行を監視する。各ＶＭには１つ以上のプライベートＩＰアドレスを提供することができ、ホスト上のＶＭＭは、ホスト上のＶＭのプライベートＩＰアドレスを認識することができる。そのようなハードウェア仮想化技術を採用するシステムの実施例が、図４に示され、以下に詳細に説明する。
【００１２】
様々な実施形態において、仮想コンピューティングサービスを提供するための本明細書に記載されるシステムは、複数の「可用性ゾーン」にわたって展開されてもよく、そのそれぞれは、コンピューティングノードの集合が実装される、その独自の物理的に別の独立したインフラストラクチャを含んでもよいことに留意されたい。いくつかの実施形態において、各可用性ゾーンは、異なる地理的場所または領域に存在してもよく、一方、他の実施形態において、複数の可用性ゾーンが、同じ地理的場所または領域に存在してもよい。
【００１３】
例示的プロバイダネットワーク環境
本項では、本明細書に記載される方法の実施形態が実装され得る、例示的プロバイダネットワーク環境を説明する。ただし、これらの例示的プロバイダネットワーク環境は限定することを目的としない。様々な実施形態において、これらのプロバイダネットワーク環境で、サービスプロバイダは、エンドユーザによってアクセスできる顧客のために仮想化されたリソースインスタンスをホストしてもよい。例えば、仮想化されたリソースインスタンスが代わりにホストされる顧客と関連付けられるエンドユーザ（例えば、同じ組織または企業のメンバー）は、クライアントデバイス上のクライアントアプリケーションを使用して、仮想化されたリソースインスタンスにアクセスできてもよい。いくつかの実施形態において、仮想化されたリソースインスタンスは、仮想デスクトップインスタンスを実装するように構成されてもよい。
【００１４】
図１は、少なくともいくつかの実施形態に従う、例示的プロバイダネットワーク環境を示す。プロバイダネットワーク１００は、クライアントが、１つ以上のデータセンターにおけるプロバイダネットワーク（単数または複数）内部のデバイス上に実装された、演算及びストレージリソースを含むがこれに限定されない、仮想化されたリソースのインスタンス１１２を購入、賃借、またはその他取得することを可能にする１つ以上の仮想化サービス１１０を経由して、リソース仮想化をクライアントに提供することができる。プライベートＩＰアドレス１１６は、リソースインスタンス１１２と関連付けることができ、プライベートＩＰアドレスは、プロバイダネットワーク１００上のリソースインスタンス１１２の内部ネットワークアドレスである。いくつかの実施形態において、プロバイダネットワーク１００はまた、クライアントがプロバイダ１００から取得することができる、公共ＩＰアドレス１１４及び／または公共ＩＰアドレス範囲（例えば、インターネットプロトコルバージョン４（ＩＰｖ４）またはインターネットプロトコルバージョン６（ＩＰｖ６）のアドレス）も提供することができる。
【００１５】
従来、プロバイダネットワーク１００は、仮想化サービス１１０を介して、サービスプロバイダのクライアント（例えば、クライアントネットワーク１５０Ａ、１５０Ｂ、または１５０Ｃを運用するクライアントで、そのそれぞれが１つ以上のクライアントデバイス１５２を含むことができる）が、クライアントに割り振られた、または割り当てられた少なくともいくつかの公共ＩＰアドレス１１４を、クライアントに割り振られた特定のリソースインスタンス１１２と動的に関連付けることを可能にすることができる。プロバイダネットワーク１００はまた、クライアントが、クライアントに割り当てられた１つの仮想化されたコンピューティングリソースインスタンス１１２に以前にマッピングされた、公共ＩＰアドレス１１４を、これもクライアントに割り当てられている別の仮想化されたコンピューティングリソースインスタンス１１２へ、再マッピングすることを可能にすることもできる。例えば、サービスプロバイダによって提供された仮想化されたコンピューティングリソースインスタンス１１２及び公共ＩＰアドレス１１４を使用して、クライアントネットワーク１５０Ａの運用者等のサービスプロバイダのクライアントは、インターネット等の中間ネットワーク１４０上で、クライアント専用アプリケーションを実装し、クライアントのアプリケーションを提示することができる。中間ネットワーク１４０上の他のネットワーク実体１２０は、次いで、クライアントネットワーク１５０Ａによって発行された送信先公共ＩＰアドレス１１４へのトラフィックを生成することができ、トラフィックは、サービスプロバイダのデータセンターへルーティングされ、データセンターで、ネットワークサブストレートを介して、送信先公共ＩＰアドレス１１４に現在マッピングされている仮想化されたコンピューティングリソースインスタンス１１２のプライベートＩＰアドレス１１６へルーティングされる。同様に、仮想化されたコンピューティングリソースインスタンス１１２からの応答トラフィックは、ネットワークサブストレートを介して、発信元エンティティ１２０への中間ネットワーク１４０上へ戻るようにルーティングすることができる。
【００１６】
本明細書に使用されるように、プライベートＩＰアドレスは、プロバイダネットワークにおけるリソースインスタンスの内部ネットワークアドレスを指す。プライベートＩＰアドレスは、プロバイダネットワーク内部のみでルーティング可能である。プロバイダネットワークの外側から発信されているネットワークトラフィックは、プライベートＩＰアドレスへ直接ルーティングされず、その代わりに、トラフィックは、リソースインスタンスにマッピングされている公共ＩＰアドレスを使用する。プロバイダネットワークは、公共ＩＰアドレスからプライベートＩＰアドレスへ、及びこの逆のマッピングを実施するために、ネットワークアドレス変換（ＮＡＴ）または類似の機能性を提供するネットワークデバイスまたは機器を含むことができる。
【００１７】
本明細書に使用されるように、公共ＩＰアドレスは、サービスプロバイダによって、またはクライアントによってのいずれかで、リソースインスタンスに割り振られる、インターネットをルーティング可能なネットワークアドレスである。公共ＩＰアドレスへルーティングされたトラフィックは、例えば、１：１ネットワークアドレス変換（ＮＡＴ）を介して変換され、リソースインスタンスのそれぞれのプライベートＩＰアドレスへ転送される。
【００１８】
いくつかの公共ＩＰアドレスは、プロバイダネットワーク基礎構造によって、特定のリソースインスタンスに割り振ることができ、これらの公共ＩＰアドレスは、標準公共ＩＰアドレス、または簡単に標準ＩＰアドレスと呼ぶことができる。少なくともいくつかの実施形態において、リソースインスタンスの標準ＩＰアドレスからプライベートＩＰアドレスへのマッピングは、リソースインスタンスタイプ全てのデフォルトの起動構成である。
【００１９】
少なくともいくつかの公共ＩＰアドレスは、プロバイダネットワーク１００のクライアントによって割り当てられる、または取得され得て、クライアントは次いで、それらの割り当てられた公共ＩＰアドレスを、クライアントに割り当てられた特定のリソースインスタンスに割り振ることができる。これらの公共ＩＰアドレスは、クライアント公共ＩＰアドレス、または簡単にクライアントＩＰアドレスと呼ぶことができる。標準のＩＰアドレスの場合のように、プロバイダネットワーク１００によってリソースインスタンスに割り振られるのではなく、クライアントＩＰアドレスは、例えば、サービスプロバイダによって提供されるＡＰＩを介して、クライアントによってリソースインスタンスに割り振られる場合がある。標準のＩＰアドレスとは異なり、クライアントＩＰアドレスは、クライアントアカウントに割り当てられてもよく、必要または所望に応じて、それぞれのクライアントによって、他のリソースインスタンスに再マッピングされてもよい。いくつかの実施形態において、クライアントＩＰアドレスは、特定のリソースインスタンスではなく、クライアントのアカウントと関連付けられ、クライアントは、クライアントがそれを解放することを選択するまで、そのＩＰアドレスを制御する。従来の静的ＩＰアドレスとは異なり、クライアントＩＰアドレスは、クライアントが、クライアントの公共ＩＰアドレスを、クライアントのアカウントと関連付けられたいずれかのリソースインスタンスに再マッピングすることによって、リソースインスタンスまたは可用性ゾーンの障害をマスクすることを可能にしてもよい。クライアントＩＰアドレスは、例えば、クライアントが、クライアントＩＰアドレスを交換リソースインスタンスに再マッピングすることによって、クライアントのリソースまたはソフトウェアで問題を回避するように設計することを可能にしてもよい。
【００２０】
いくつかの実施形態において、仮想化サービス（単数または複数）１１０を介してクライアント（例えば、クライアントデバイス１５２）に利用可能となるリソースインスタンス１１２は、複数のネットワークインターフェースを含んでもよいことにも留意されたい。例えば、仮想化されたコンピューティングリソースインスタンスのうちの少なくともいくつか（仮想デスクトップインスタンスを実装するように構成されるいくつかを含む）は、クライアントネットワーク１５０の様々な構成要素と通信するための１つのネットワークインターフェース、及びプロバイダネットワーク１００の外部の別のネットワーク（図示せず）上のリソースまたは他のネットワーク実体と通信するための別のネットワークインターフェースを含んでもよい。
【００２１】
図２は、少なくともいくつかの実施形態に従う、別の例示的プロバイダネットワーク環境のブロック図であり、クライアントにストレージ仮想化サービス及びハードウェア仮想化サービスを提供するものである。この実施例において、ハードウェア仮想化サービス２２０は、クライアントに複数の計算リソース２２４（例えば、ＶＭ）を提供する。計算リソース２２４は、例えば、プロバイダネットワーク２００のクライアントに（例えば、クライアントネットワーク２５０を実装するクライアントに）賃借またはリースされてもよい。各計算リソース２２４には、１つ以上のプライベートＩＰアドレスが提供されてもよい。プロバイダネットワーク２００は、計算リソース２２４のプライベートＩＰアドレスから公共インターネットの送信先まで、及び、公共インターネットの発信元から計算リソース２２４までのパケットをルーティングするように構成されてもよい。
【００２２】
プロバイダネットワーク２００は、例えば、ローカルネットワーク２５６を介して中間ネットワーク２４０に連結されるクライアントネットワーク２５０、中間ネットワーク２４０及びプロバイダネットワーク２００に連結されるハードウェア仮想化サービス２２０を介して仮想コンピューティングシステム２９２を実装する能力を提供してもよい。いくつかの実施形態において、ハードウェア仮想化サービス２２０は、１つ以上のＡＰＩ２０２、例えばクライアントネットワーク２５０が、例えばコンソール２９４を介して、ハードウェア仮想化サービス２２０によって提供される機能にアクセスしてもよいウェブサービスインターフェースを提供してもよい。少なくともいくつかの実施形態において、プロバイダネットワーク２００で、クライアントネットワーク２５０の各仮想コンピューティングシステム２９２は、クライアントネットワーク２５０にリース、賃借、またはその他提供される計算リソース２２４に対応してもよい。
【００２３】
仮想コンピューティングシステム２９２及び／または別のクライアントデバイス２９０もしくはコンソール２９４のインスタンスから、クライアントは、例えば、１つ以上のＡＰＩ２０２を介して、ストレージ仮想化サービス２１０の機能にアクセスし、プロバイダネットワーク２００によって提供される仮想データストア２１６からのデータにアクセスしそのデータを記憶してもよい。いくつかの実施形態において、仮想化されたデータストアゲートウェイ（図示せず）は、クライアントネットワーク２５０に設けられてもよく、それは、少なくともいくつかのデータ、例えば頻繁にアクセスされるまたはクリティカルなデータをローカルにキャッシュしてもよく、１つ以上の通信チャンネルを介して仮想化されたデータストアサービス２１０と通信し、データの一次ストア（仮想化されたデータストア２１６）が維持されるようにローカルキャッシュからの新しいまたは修正されたデータをアップロードしてもよい。少なくともいくつかの実施形態において、ユーザは、仮想コンピューティングシステム２９２を介して及び／または別のクライアントデバイス２９０上で、仮想データストア２１６の１つ以上のストレージボリューム２１８をマウントし、アクセスしてもよく、そのそれぞれはユーザにはローカルの仮想化されたストレージ２９８と見える。
【００２４】
図２には示されていないが、仮想化サービスはまた、ＡＰＩ２０２を介してプロバイダネットワーク２００内のリソースインスタンスからアクセスされてもよい。例えば、クライアント、アプライアンスサービスプロバイダ、または他の実体は、ＡＰＩ２０２を介して、プロバイダネットワーク２００上のそれぞれのプライベートネットワーク内から仮想化サービスにアクセスし、プライベートネットワーク内または別のプライベートネットワーク内で１つ以上のリソースインスタンスの割当てを要求してもよい。いくつかの実施形態において、ハードウェア仮想化サービス２２０は、仮想デスクトップインスタンスを実装するように構成されている計算リソース２２４を提供するように構成されてもよく、それはユーザに（仮想コンピューティングシステム２９２によって実装される）ローカルデスクトップと見えてもよいことに留意されたい。いくつかの実施形態において、ハードウェア仮想化サービス２２０を介してクライアントが利用可能になる計算リソース２２４は、複数のネットワークインターフェースを含んでもよいことにも留意されたい。例えば、それらの少なくともいくつかは、クライアントネットワーク２５０の様々な構成要素と通信するための１つのネットワークインターフェース、及びプロバイダネットワーク２００（図示せず）の外部の別のネットワーク上でコンピューティングリソースまたは他のネットワーク実体と通信するための別のネットワークインターフェースを含んでもよい。
【００２５】
いくつかの実施形態において、サービスプロバイダネットワークの様々な構成要素は、クライアントコンピューティングデバイスと、プログラム実行サービス（ＰＥＳ）プラットフォームの１つ以上のリモートデータセンターコンピュータによってホストされる仮想デスクトップインスタンスとの間でのリモートコンピューティングセッションの生成及び管理のために構成されてもよい。多数のデータセンターが、ＰＥＳの顧客によるデータセンターのリソースの利用を容易にすることができる単一のＰＥＳプラットフォームの一部として組織されてもよい。いくつかの実施形態において、ＰＥＳは、数百または数千のデータセンターコンピュータを含んでもよい。例えば、いくつかの実施形態において、クライアントコンピューティングデバイスは、１つ以上のリモートコンピューティングセッション中、仮想デスクトップインスタンスにアクセスしてもよく、仮想デスクトップインスタンスは、ユーザに、クライアントデスクトップ環境の全ての機能を提供してもよいが、クライアントにアクセスされるサービスは集中的にプロビジョニングされる。
【００２６】
いくつかの実施形態において、ユーザは、クライアントコンピューティングデバイスを介して、リモートコンピューティングアプリケーションなどのアプリケーションをロードする要求を伝送してもよい。要求の受信に続いて、クライアントコンピューティングデバイスは、ＰＥＳプラットフォームと通信し、リモートコンピューティングセッションを開始してもよい。１つの実施形態において、クライアントコンピューティングデバイスとＰＥＳプラットフォームとの間の通信は、ログイン情報を含んでもよい。他の実施形態において、通信はまた、リソースの使用状況情報を識別する情報、処理要件、またはクライアントコンピューティングデバイスのユーザのためのリモートコンピューティングセッションの持続時間または条件に関する規則を含んでもよい。クライアントコンピューティングデバイスはさらに、デバイス状態に関する様々な情報を通信してもよく、それらは、デバイスリソース（例えば、処理能力、メモリ、ストレージ、ネットワーク使用など）の現在または将来の可用性を含むがそれらに限定されない。受信された情報を使用して、ＰＥＳプラットフォームは、１つ以上のリモートコンピューティングセッションにおける実行のために１つ以上の仮想デスクトップインスタンスを識別してもよい。１つの実施例において、ＰＥＳプラットフォームは、データセンターコンピュータ上の仮想マシンインスタンスをインスタンス化する、またはインスタンス化させてもよく、仮想マシンインスタンスは、オペレーティングシステムを含んでもよい。次いで、クライアントコンピューティングデバイスは、仮想マシンとのリモートコンピューティングセッションを確立してもよく、オペレーティングシステムのユーザインターフェース（例えば、グラフィカルユーザインターフェース、サウンドなどのオペレーティングシステムの出力など）は、仮想マシンインスタンスまたは仮想デスクトップインスタンスの特定のネットワークインターフェースを介してクライアントコンピューティングデバイスに送信され、ユーザに示されてもよい（例えば、グラフィカルユーザインターフェースは、クライアントコンピューティングデバイスのディスプレイ上に描画されてもよい）。オペレーティングシステムは、ユーザと関連付けられ、ＰＥＳによってアクセス可能なデスクトップストアに記憶されるデスクトッププロファイルを使用し、デスクトップ背景、スクリーンセーバー、デスクトップレイアウト、ポインタプレファレンス、サウンド設定などを設定することによって、ユーザの仮想デスクトップインスタンスを構成してもよい。次いで、マウス及びキーボード操作などのユーザ入力が、（仮想マシンインスタンスまたは仮想デスクトップインスタンスの特定のネットワークインターフェースを介して）仮想マシンに送信され、操作がユーザに直接仮想マシンで実行されているように、オペレーティングシステムに投入される。
【００２７】
いくつかの実施形態において、ＰＥＳプラットフォームは、リモートコンピューティングセッション中、クライアントコンピューティングデバイス上の仮想デスクトップインスタンスとのクライアントコンピューティングデバイスの相互作用と関連付けられるデータを受信または生成してもよい。データは、ユーザデータ及びプレファレンス、ファイルなどを含んでもよい。データを受信すると、ＰＥＳプラットフォームは、仮想デスクトップインスタンスと関連付けられるデスクトップストアに、データをセーブしてもよい。いくつかの実施形態において、デスクトップストアは、ボリュームまたは別の論理ブロックストレージデバイス上に実装されてもよい。いくつかの実施形態において、ＰＥＳは、データのバックアップコピーを作成してもよく、または中央リポジトリにデータを記憶してもよい。次いで、セーブされたデータは、仮想デスクトップインスタンス、仮想デスクトップインスタンスをホストするサーバ、ネットワークなどの障害のために中断されたリモートコンピューティングセッションをリストアするために使用されてもよい。ユーザデータをセーブすることによって、ＰＥＳプラットフォームは、リモートコンピューティングセッションが最小限の遅延及びクライアントコンピューティングデバイスのユーザへの最小限の混乱を伴うだけで再確立させることを確実にしてもよい。
【００２８】
いくつかの実施形態において、提供される仮想デスクトップインスタンスは、ＰＥＳのユーザプロファイルストアで記憶されるユーザプロファイルによって構成されてもよい。仮想デスクトップインスタンスの構成はまた、インスタンスの監視方法によって調整されてもよい。いくつかの実施形態において、ユーザプロファイルは、ユーザの使用を支配する実体と関連付けられる管理者によって設定されてもよい。ユーザプロファイルは、１つ以上の仮想デスクトップインスタンスを実行するＰＥＳコンピュータと関連付けられる様々なメモリ及び処理要件、ならびに仮想デスクトップインスタンスの要件を示してもよい。例えば、ユーザプロファイルは、仮想デスクトップインスタンスを使用している間、ユーザがアクセスを与えられるプログラムを示してもよい。ユーザプロファイルはまた、リモートコンピューティングセッションと関連付けられる最大の時間またはコストを示してもよい。ＰＥＳは、仮想デスクトップインスタンスを配置し構成するとき、ユーザのユーザプロファイルを考慮してもよい。さらに、配置及び構成の決定はまた、ユーザの経時的な仮想デスクトップとの相互作用に基づいて調整されてもよい。
【００２９】
図３は、通信ネットワーク３０４を介してサービスプロバイダコンピュータネットワーク３０５と通信するクライアントコンピューティングデバイス３０６を含む例示的ネットワーク化コンピューティング環境３００を示すブロック図である。クライアントコンピューティングデバイス３０６は、ユーザにリモートオペレーティングシステム及びアプリケーションへのアクセスを提供するために使用されてもよい。様々な実施形態において、クライアントコンピューティングデバイス３０６は、パーソナルコンピューティングデバイス、ラップトップコンピューティングデバイス、ハンドヘルドコンピューティングデバイス、ターミナルコンピューティングデバイス、モバイルデバイス（例えば、携帯電話、タブレットコンピューティングデバイス、電子ブックリーダなど）、無線装置、様々な電子デバイス及びアプライアンスなどを含む、多種多様なコンピューティングデバイスに対応してもよい。いくつかの実施形態において、クライアントコンピューティングデバイス３０６は、ワイドエリアネットワークまたはローカルエリアネットワークなどの通信ネットワーク３０４上に通信を確立するために必要なハードウェア及びソフトウェア構成要素を含む。例えば、クライアントコンピューティングデバイス３０６は、インターネットまたはイントラネットを介して通信を容易にするネットワーク機器及びブラウザソフトウェアアプリケーションを備えてもよい。クライアントコンピューティングデバイス３０６は、中央処理装置及びアーキテクチャ、メモリ、マスストレージ、グラフィック処理ユニット、通信ネットワーク可用性及び帯域幅などの変化するローカルコンピューティングリソースを有してもよい。
【００３０】
１つの実施形態において、クライアントコンピューティングデバイス３０６は、リモートコンピューティングアプリケーション３３０を実行してもよい。リモートコンピューティングアプリケーション３３０は、サービスプロバイダコンピュータネットワーク３０５によってホストされる仮想デスクトップインスタンスへのアクセスを要求してもよい。リモートコンピューティングアプリケーション３３０はまた、クライアントコンピューティングデバイス３０６とサービスプロバイダコンピュータネットワーク３０５との間のリモートコンピューティングセッションを管理してもよい。図３に示されるように、サービスプロバイダコンピュータネットワーク３０５はまた、ＰＥＳプラットフォーム３０２を含んでもよい。図３に示されるＰＥＳプラットフォーム３０２は、サービスプロバイダと関連付けられる１つ以上のデータセンターの論理的関連付けに対応する。ＰＥＳプラットフォーム３０２は、例えばデータセンターコンピュータ３１０などの多数のデータセンターコンピュータと関連付けられてもよい。各データセンターコンピュータ３１０は、１つ以上の仮想デスクトップインスタンス３１４をホストしてもよい。例えば、データセンターコンピュータ３１０は、物理デバイス上で仮想マシンを実行することによって、仮想デスクトップインスタンスをホストしてもよい。仮想マシンは、オペレーティングシステム及びアプリケーションソフトウェアのインスタンスを実行して、仮想デスクトップインスタンスを作成してもよい。ＰＥＳ３０２によって実行される各仮想デスクトップインスタンスは、クライアントコンピューティングデバイス３０６などの１つ以上のクライアントコンピューティングデバイスによってアクセスされてもよい。
【００３１】
いくつかの実施形態において、データセンターコンピュータ３１０は、サービスプロバイダコンピュータネットワーク３０５内でクライアントコンピューティングデバイス３０６によって直接アクセス可能でなくてもよいＩＰアドレスなどの、プライベートネットワークアドレスと関連付けられてもよい。仮想デスクトップインスタンス３１４は、サービスプロバイダコンピュータネットワーク３０５の境界にゲートウェイによって利用可能としてもよい公共ネットワークアドレスと関連付けられてもよい。したがって、仮想デスクトップインスタンス３１４は、公共ネットワークアドレスを介してクライアントコンピューティングデバイス３０６によって直接アドレス可能でもよい。当業者は、各データセンターコンピュータ３１０が物理的コンピューティングデバイスリソース及びソフトウェアを含み、複数の仮想デスクトップインスタンス３１４を実行する、または、仮想デスクトップインスタンス３１４を動的にインスタンス化することを理解するであろう。そのようなインスタンス化は、クライアントコンピューティングデバイス３０６からなど、特定の要求に基づく可能性がある。
【００３２】
図３に示されるように、データセンターコンピュータ３１０は、１つ以上のインスタンスマネージャ３２２を含んでもよい。インスタンスマネージャ３２２は、それぞれのインスタンス３１４、または独立したコンピュータと同じコンピュータ上にあってもよい。インスタンスマネージャ３２２は、データセンターコンピュータ３１０上で実行されるインスタンスの進捗を追跡し、クライアントコンピューティングデバイスを介してインスタンス３１４と相互作用する間にユーザによって作成されるデータのストレージを監視及び調整し、データセンターコンピュータ３１０及びクライアントコンピューティングデバイス３０６上で実行されているリモートコンピューティングアプリケーションの全体的な健全性及び状態を監視してもよい。インスタンスマネージャ３２２は、データセンターコンピュータ３１０とクライアントコンピューティングデバイス３０６との間の様々なリモートコンピューティングセッションを効率的に管理するために、ＰＥＳプラットフォーム３０２のデータセンター管理構成要素３０１による追跡及び監視を通して収集される情報を通信してもよい。
【００３３】
図３に示されるように、サービスプロバイダネットワーク３０５はまた、ストレージサービスプラットフォーム３０３を含んでもよい。ストレージサービスプラットフォーム３０３は、１つ以上のストレージサーバ３０７を含んでもよく、または接続してもよい。ストレージサーバ３０７は、仮想デスクトップインスタンス３１４によって生成または利用されるデータを記憶するために使用されてもよい。仮想デスクトップインスタンス３１４によって生成または利用されるデータは、１つ以上のリモートコンピューティングセッションを介したクライアントコンピューティングデバイス３０６とＰＥＳ３０２との間の相互作用に基づいてもよい。
【００３４】
いくつかの実施形態において、ストレージサービスプラットフォーム３０３は、デスクトップストアにおいてホストされた仮想デスクトップインスタンス３１４と関連付けられる情報を論理的に組織し、維持してもよい。デスクトップストアにおいて維持される仮想デスクトップインスタンス３１４と関連付けられる情報は、ユーザプレファレンス、ユーザまたは顧客専用ポリシー、プログラムデータの実行と関連付けられる情報、ユーザコンテンツ、ユーザコンテンツへの参照などを含んでもよいが、これらに限定されない。例えば、ストレージ・サービスプロバイダを通してのものを含む、他のストレージデバイス上に音楽、ファイルなど記憶するためにユーザによって使用されるフォルダは、それらのストレージロケーションへの参照を介して、デスクトップストアにマップされてもよい。すなわち、これらのフォルダのファイルを開く要求などの入出力操作は、デスクトップストアにリダイレクトさせることができる。したがって、ユーザが自身のドキュメントフォルダに記憶させたファイルを開こうとするとき、要求は、仮想デスクトップインスタンスで動作するオペレーティングシステムによって、デスクトップストアにリダイレクトさせることができる。ユーザによって作成されるデータに加えて、例えば、背景画像、フォント、アイコンの配置などのデスクトップの構成情報を含んでもよいユーザのデスクトッププロファイルは、ユーザの仮想デスクトップインスタンスと関連付けられるデスクトップストアに記憶させてもよい。いくつかの実施形態において、サービスプロバイダコンピュータネットワーク３０５は、データセンターコンピュータ３１０から独立しているストレージサーバ上にデータを記憶させることによって、仮想デスクトップインスタンス３１４を実行するデータセンターコンピュータ３１０の障害、またはデータセンターコンピュータ３１０上での仮想デスクトップインスタンス３１４の実行と関連付けられるエラーの影響を軽減することができることがある。さらに、サービスプロバイダネットワーク３０５はまた、デスクトップストアで情報を維持することによって、複数の仮想デスクトップインスタンス３１４とのクライアントの相互作用を容易にしてもよい。いくつかの実施形態において、１つの仮想デスクトップインスタンス３１４が故障した場合、新しいインスタンスが起動され、故障した仮想デスクトップインスタンス３１４に前に接続されていた同じデスクトップストアに接続されてもよい。
【００３５】
様々な実施形態において、デスクトップストアは、複数のサーバにわたって分散されてもよく、異なるネットワーク領域におけるサーバでの性能のために複製されてもよく、または、バックアップまたは性能の異常に備えて、独立した障害プロファイルを有する複数のサーバにわたって複製されてもよい。例えば、サーバは、異なる電源または冷却システムに取り付けられてもよく、データセンターの異なる部屋、もしくは異なるデータセンターに設置されてもよく、及び／または、異なるルータもしくはネットワークスイッチに取り付けられてもよい。いくつかの実施形態において、デスクトップストアは、１つのストレージサーバ上に設置されてもよく、デスクトップストアに行われる変更は、異なるストレージサーバ上の別のデスクトップストアに複製されてもよい。そのような複製により、ユーザのデータのバックアップコピーを作成してもよい。デスクトップストアが故障する、または、仮想デスクトップインスタンス３１４がデスクトップストアへのその接続を失う場合、ＰＥＳ３０２は、デスクトップストアからバックアップのデスクトップストアに、仮想デスクトップインスタンス３１４の接続を切り替えてもよい。
【００３６】
図３に示されるように、ＰＥＳプラットフォーム３０２はまた、ストレージサーバ３０７上の様々なデスクトップストア及びバックアップストアに記憶されるデータを記憶するためのＰＥＳリポジトリ３４０などの中央ストレージデバイスを含んでもよい。データセンターコンピュータ３１０及びストレージサーバ３０７は、通信を容易にする追加のソフトウェアまたはハードウェア構成要素をさらに含んでもよく、それらは、仮想マシンのインスタンスを選択する、要求されたアプリケーションをサポートする、及び／または、ＤＮＳネームサーバに情報を提供しリクエストルーティングを容易にするためのロードバランシングまたはロードシェアリングソフトウェア／ハードウェア構成要素を含むがそれらに限定されない。
【００３７】
この実施例に示されるように、サービスプロバイダコンピュータネットワーク３０５は、ユーザプロファイルストア３０８を含んでもよい。ユーザプロファイルストア３０８は、例えば、仮想デスクトップインスタンス３１４を使用している間に、ユーザがアクセスを与えられる様々なプログラムを記憶させるために使用されてもよい。記憶されるユーザプロファイルはまた、異なるユーザのリモートコンピューティングセッションと関連付けられる最大時間またはコストを示してもよい。ＰＥＳプラットフォーム３０２は、仮想デスクトップインスタンス３１４を配置、構成、及び／または管理するとき、ユーザプロファイルを考慮してもよい。ＰＥＳプラットフォーム３０２はまた、仮想デスクトップ画像ストア３０９を含んでもよく、またはそれに接続されてもよい。仮想デスクトップ画像ストア３０９は、ユーザプロファイルごとに適用されるカスタマイズなしに、オペレーティングシステムのテンプレート画像を含んでもよい。
【００３８】
いくつかの実施形態において、データセンターコンピュータ３１０及びストレージサーバ３０７は、構成要素または構成要素の一部が物理的に独立しているかどうかにかかわらず、論理的にグループ化されるように考慮されてもよい。例えば、サービスプロバイダコンピュータネットワーク３０５は、仮想デスクトップインスタンス３１４及びストレージ構成要素を提供するための独立したロケーションを維持してもよい。さらに、データセンターコンピュータ３１０は、ＰＥＳプラットフォーム３０２と論理上関連付けられるように図３に示されるが、データセンターコンピュータ３１０は、そのユーザの様々な人口統計を最も満足させる方法で地理的に分散されてもよい。さらに、当業者は、サービスプロバイダコンピュータネットワーク３０５が、コンテンツ及びリソースなどの管理のための追加のコンピューティングデバイスなどの、様々な追加のコンピューティングリソースと関連付けられてもよいことを理解するであろう。例えば、サービスプロバイダコンピュータネットワーク３０５（及び／またはその上に実装される仮想デスクトップインスタンス３１４の様々なもの）は、通信ネットワーク３０４上または別の通信ネットワーク上で他のネットワーク実体３２０と通信するように構成されてもよい（例えば、仮想デスクトップインスタンス３１４の少なくともいくつかは、クライアントコンピューティングデバイス３０６と通信するために使用可能であるネットワークインターフェースから独立し、区別される１つ以上の他のネットワーク実体３２０にアクセスするために使用可能なネットワークインターフェースを含んでもよい）。これらの他のネットワーク実体３２０は、例えば、他のクライアントネットワークもしくはそれらのコンピューティングデバイス、クライアントコンピューティングデバイス３０６から受信される要求に応えるためのリソースを提供するコンピューティングシステム、及び／または、インターネット上の他のサービス、アプリケーション、もしくはデータにアクセスするそれらのネットワークまたはコンピューティングデバイスを含んでもよい。
【００３９】
いくつかの実施形態において、ユーザまたはクライアントコンピューティングデバイスと関連付けられる処理要件は、様々なシナリオに基づいて決定されてもよい。いくつかの実施形態において、決定は、リモートコンピューティングアプリケーション３３０の起動時のユーザリクエストに基づいてもよい。例えば、ユーザには、リソース及びアプリケーションの様々な選択肢を表示するグラフィカルユーザインターフェース（ＧＵＩ）で示されてもよい。次いでユーザは、アクセスすることを望むアプリケーション、または代わりに、それらのアプリケーションのバージョンを選択してもよい。例えば、あるユーザは、アプリケーションの基本的なバージョンにアクセスすることを望んでもよく、一方、別のユーザは、同じアプリケーションのプロフェッショナルバージョンにアクセスすることを望んでもよい。決定はまた、ユーザと関連付けられる実体の管理者によって決定された、特定のユーザのために予め選択された選択肢に基づいてもよい。例えば、予め選択された選択肢は、ユーザがアクセスすることを望んでもよいアプリケーションの異なるパッケージのリストとして、ユーザに示されてもよい。いくつかの場合において、決定は、ユーザの使用履歴データに基づいてもよく、ユーザから要求を受信すると、ＰＥＳプラットフォーム３０２が決定してもよい。その他の場合において、処理要件の決定は、リモートコンピューティングセッションが始められると、ユーザによるプロセスの使用の常時監視に基づいてもよい。そのような場合において、十分なリソースインスタンスの選択は、セッションが確立されたあとに、動的に変化してもよく、上で図３に対して記載されるように、新しいインスタンス（単数または複数）への動的な切替えが実行されてもよい。いくつかの実施形態において、リモートコンピューティングアプリケーション３３０は、クライアントのために仮想デスクトップセッションが開かれることを要求してもよく、それに応じて、仮想デスクトップインスタンス３１４は、インスタンス化されてもよく、クライアントの使用のために構成されてもよく、及び／またはネットワーク３０４上で（例えば、仮想デスクトップインスタンス３１４の２つのネットワークインターフェースのうちの１つを介して）クライアントコンピューティングデバイス３０６に接続されてもよい。
【００４０】
いくつかの実施形態において、ＶＭ及びＶＭＭを実装するサービスプロバイダネットワークは、クライアントデータパケットをカプセル化し、プロバイダネットワーク内部の異なるホスト上のクライアントリソースインスタンス間のネットワークサブストレート上でルーティングするために、インターネットプロトコル（ＩＰ）トンネリング技術を使用することができる。プロバイダネットワークは、ルータ、スイッチ、ネットワークアドレストランスレータ（ＮＡＴ）等のネットワークデバイス、ならびにデバイス間の物理的接続を含む物理的ネットワークサブストレートを含むことができる。プロバイダネットワークは、カプセル化されたパケット（すなわち、オーバーレイネットワーク上でルーティングするためのオーバーレイネットワークアドレス情報を含むがこれに限定されない、オーバーレイネットワークメタデータを用いてタグ付けされているクライアントパケット）が、トンネルまたはオーバーレイネットワーク経路を介して、ネットワークサブストレートを通過させられ得るオーバーレイネットワークを提供するために、ＩＰトンネリング技術を採用することができる。ＩＰトンネリング技術は、ネットワークサブストレート上にオーバーレイネットワークを作成するためのマッピング及びカプセル化システムを提供することができ、オーバーレイネットワーク層（公共ＩＰアドレス）及びネットワークサブストレート層（プライベートＩＰアドレス）のために別々の名前空間を提供することができる。少なくともいくつかの実施形態において、オーバーレイネットワーク層内のカプセル化されたパケットは、それらのトンネルサブストレートターゲット（プライベートＩＰアドレス）が何であるべきかを決定するために、マッピングディレクトリで確認することができる。ＩＰトンネリング技術は、物理的ネットワークサブストレート上にオーバーレイされた仮想ネットワークトポロジを提供することができ、クライアントに提示されるインターフェース（例えば、サービスＡＰＩ）は、オーバーレイネットワークに付加されるので、クライアントリソースインスタンスが、パケットが送信されるＩＰアドレスを提供すると、ＩＰアドレスは、ＩＰオーバーレイアドレスがどこにあるかを決定することができるマッピングサービスと通信することによって、仮想空間内で稼動する。オーバーレイネットワーク技術の例示的使用が、図４に示され、以下に詳細に説明する。
【００４１】
様々な実施形態において、ホスト上のクライアントリソースインスタンスは、伝送制御プロトコル（ＴＣＰ）等のステートフルプロトコルに従って、及び／またはユーザデータグラムプロトコル（ＵＤＰ）等のステートレスプロトコルに従って、同じホスト上または異なるホスト上の他のクライアントリソースインスタンスと通信することができる。しかしながら、クライアントパケットは、送信側ＶＭＭによって、オーバーレイネットワークプロトコルに従ってカプセル化され、受信側ＶＭＭによってカプセル化が解除される。ホスト上のＶＭＭは、ホスト上のクライアントリソースインスタンスから、別のクライアントリソースインスタンスのＩＰアドレスに向けられたクライアントパケット（例えば、ＴＣＰまたはＵＤＰパケット）を受信すると、オーバーレイネットワーク（またはＩＰトンネリング）プロトコルに従ってクライアントパケットをカプセル化またはタグ付けし、配信のためにカプセル化されたパケットをオーバーレイネットワーク上へ送信する。カプセル化されたパケットは次いで、ＩＰトンネリング技術に従って、オーバーレイネットワークを介して別のＶＭＭへルーティングされ得る。他のＶＭＭは、パケットからオーバーレイネットワークカプセル化を解除し、ターゲットクライアントリソースインスタンスを実装するホスト上の適切なＶＭへ、クライアントパケット（例えば、ＴＣＰまたはＵＤＰパケット）を配信する。すなわち、いくつかの実施形態において、サービスプロバイダのコンピューティング環境（例えば、サービスプロバイダのデータセンター）には単一の基底の物理的ネットワークが存在し得るが、本明細書に記載されるカプセル化は、それが、あたかも各クライアントアプリケーション（または１つ以上のクライアントアプリケーションが実行する各クライアントリソースインスタンス）が、その独自の仮想ネットワーク上で稼動しているように見えることを可能にすることができる（例えば、複数のクライアントアプリケーションのデータパケットは、同じ物理的ネットワーク上を移動することができるが、クライアントアプリケーションの各々に向かうトラフィックは、プライベートネットワーク上を移動しているかのように見えることがある）。
【００４２】
いくつかの実施形態において、オーバーレイネットワークは、コネクションレス（またはステートレス）ＩＰプロトコルに従って実装されたステートレスネットワークであり得る。いくつかのそのような実施形態において、送信側ＶＭＭは、ルーティング及び配信のために、カプセル化されたパケットをオーバーレイネットワークへ送信するが、パケットの配信に関する確認応答（ＡＣＫ）または他の応答を受信しない。他の実施形態において、ＶＭＭは、カプセル化されたパケットの配信に関するＡＣＫまたは他の応答を受信することができる。
【００４３】
図４は、少なくともいくつかの実施形態に従う、例示的データセンター（例えば、ＩＰトンネリング技術を使用してネットワークサブストレート上にオーバーレイネットワークを実装するデータセンター）を示す。この実施例に示されるように、プロバイダデータセンター４００は、ルータ、スイッチ、ネットワークアドレストランスレータ（ＮＡＴ）等のネットワークデバイス４１２を含むネットワークサブストレートを含むことができる。少なくともいくつかの実施形態は、カプセル化されたパケットがトンネルを使用してネットワークサブストレート４１０を介してオーバーレイネットワークを提供するために、インターネットプロトコル（ＩＰ）トンネリング技術を採用することができる。ＩＰトンネリング技術は、ネットワーク（例えば、図４のデータセンター４００内のローカルネットワーク）上にオーバーレイネットワークを作成するためのマッピング及びカプセル化システムを提供することができ、オーバーレイ層（公共ＩＰアドレス）及びネットワークサブストレート４１０層（プライベートＩＰアドレス）に別々の名前空間を提供することができる。オーバーレイ層内のパケットは、それらのトンネルサブストレートターゲット（プライベートＩＰアドレス）が何であるべきかを決定するために、マッピングディレクトリ（例えば、マッピングサービス４３０によって提供される）と照合することができる。ＩＰトンネリング技術は、仮想ネットワークトポロジ（オーバーレイネットワーク）を提供し、クライアントに提示されるインターフェース（例えば、サービスＡＰＩ）は、オーバーレイネットワークに付加されるので、クライアントが、クライアントがパケットを送信したいＩＰアドレスを提供すると、ＩＰアドレスは、ＩＰオーバーレイアドレスがどこにあるか知っているマッピングサービス（例えば、マッピングサービス４３０）と通信することによって、仮想空間内で稼動する。
【００４４】
少なくともいくつかの実施形態において、ＩＰトンネリング技術は、ＩＰオーバーレイアドレス（公共ＩＰアドレス）をサブストレートＩＰアドレス（プライベートＩＰアドレス）にマップし、２つの名前空間の間のトンネルでパケットをカプセル化し、パケットを、トンネルを介して正しいエンドポイントに配信することができ、カプセル化がパケットから解除される。図４には、ホスト４２０Ａ上の仮想マシン（ＶＭ）４２４Ａから中間ネットワーク４４０上のデバイスへの例示的なオーバーレイネットワークトンネル４３４Ａ（例えば、コンピューティングシステム４７０、ローカルネットワーク４５０上のコンピューティングシステム４５２、またはデータセンター４６）、及びホスト４２０Ｂ上のＶＭ４２４Ｂとホスト４２０Ａ上のＶＭ４２４Ａとの間の例示的なオーバーレイネットワークトンネル４３４Ｂが示される。いくつかの実施形態において、パケットは、送信前にオーバーレイネットワークパケット形式にカプセル化することができ、オーバーレイネットワークパケットは、受信後に解除することができる。他の実施形態において、パケットをオーバーレイネットワークパケットにカプセル化する代わりに、オーバーレイネットワークアドレス（公共ＩＰアドレス）を、送信前にパケットのサブストレートアドレス（プライベートＩＰアドレス）に埋め込むことができ、受信後にパケットアドレスから解除することができる。実施例として、オーバーレイネットワークは、公共ＩＰアドレスとして、３２ビットＩＰｖ４（インターネットプロトコルバージョン４）アドレスを使用して実装することができ、ＩＰｖ４アドレスは、プライベートＩＰアドレスとして、サブストレートネットワーク上で使用される１２８ビットＩＰｖ６（インターネットプロトコルバージョン６）アドレスの一部として埋め込むことができる。
【００４５】
クラウドコンピューティング環境でワークスペースを安全にするために、本明細書に記載される技術の実施形態が実装することができる少なくともいくつかのネットワークは、複数のオペレーティングシステムが、ホストコンピュータ（例えば、図４のホスト４２０Ａ及び４２０Ｂ）上で同時に、すなわち、ホスト４２０上の仮想マシン（ＶＭ）４２４として、可動することを可能にするハードウェア仮想化技術を含むことができる。ＶＭ４２４（そのうちのいくつかはクライアントの使用のために仮想デスクトップインスタンスを実装するように構成されてもよい）は、例えば、ネットワークプロバイダのクライアントに賃借またはリースされてもよい。ハイパーバイザ、または仮想マシンモニタ（ＶＭＭ）４２２は、ホスト４２０上で、ＶＭ４２４及び／またはホスト４２０上の他の仮想化されたリソースインスタンスのインスタンスマネージャの役割をしてもよく、それは仮想プラットフォームでホスト上のＶＭ４２４を示し、ＶＭ４２４の実行を監視することを含んでもよい。各ＶＭ４２４には、１つ以上のプライベートＩＰアドレスを提供することができ、ホスト４２０上のＶＭＭ４２２は、ホスト上のＶＭ４２４のプライベートＩＰアドレスを認識することができる。マッピングサービス４３０は、ローカルネットワーク上のＩＰアドレスに対応しているルータまたは他のデバイスの全てのネットワークＩＰプレフィックス及びＩＰアドレスを認識することができる。これは、複数のＶＭ４２４に対応しているＶＭＭ４２２のＩＰアドレスを含む。マッピングサービス４３０は、例えば、サーバシステム上で集中管理されてもよく、または代替として、ネットワーク上の２つ以上のサーバシステムまたは他のデバイス間で分散されてもよい。ネットワークは、例えば、データセンター４００ネットワーク内部の異なるホスト４２０上のＶＭ４２４間でデータパケットをルーティングするために、例えば、マッピングサービス技術及びＩＰトンネリング技術を使用することができ、内部ゲートウェイプロトコル（ＩＧＰ）は、そのようなローカルネットワーク内部のルーティング情報を交換するために使用することができることに留意されたい。
【００４６】
加えて、プロバイダデータセンター４００ネットワーク（時には自律システム（ＡＳ）と呼ばれる）のようなネットワークは、パケットをＶＭ４２４からインターネットの送信先へ、及びインターネットの発信元からＶＭ４２４へルーティングするために、マッピングサービス技術、ＩＰトンネリング技術、及びルーティングサービス技術を使用してもよい。外部ゲートウェイプロトコル（ＥＧＰ）またはボーダゲートウェイプロトコル（ＢＧＰ）は一般に、インターネット上の発信元と送信先との間のインターネットルーティングのために使用されることに留意されたい。図４は、少なくともいくつかの実施形態に従う、リソース仮想化技術を提供し、かつインターネットトランジットプロバイダに接続するエッジルータ４１４を介して完全なインターネットアクセスを提供するネットワークを実装する例示的なプロバイダデータセンター４００を示す。プロバイダデータセンター４００は、例えば、（図２のハードウェア仮想化サービス２２０などの）ハードウェア仮想化サービスを介して、仮想コンピューティングシステム（ＶＭ４２４）を実装する能力、及び、（図２のストレージ仮想化サービス２１０などの）ストレージ仮想化サービスを介して、ストレージリソース４１８上に仮想化されたデータストア４１６を実装する能力をクライアントに提供することができる。
【００４７】
いくつかの実施形態において、データセンター４００ネットワークは、例えば、データセンター４００内のホスト４２０上のＶＭ４２４からインターネット送信先へ、及びインターネット発信元からＶＭ４２４へパケットをルーティングするために、仮想化されたリソースへ及び仮想化されたリソースからのトラフィックをルーティングするために、ＩＰトンネリング技術、マッピングサービス技術、及びルーティングサービス技術を実装することができる。インターネットの発信元及び送信先は、例えば、中間ネットワーク４４０に接続されたコンピューティングシステム４７０、及び（例えば、ネットワーク４５０を中間トランジットプロバイダに接続するエッジルータ（単数または複数）４１４を介して）中間ネットワーク４４０に接続するローカルネットワーク４５０に接続されたコンピューティングシステム４５２を含むことができる。プロバイダデータセンター４００ネットワークはまた、例えば、データセンター４００内のホスト４２０上のＶＭ４２４から同じホスト上またはデータセンター４００内の他のホスト４２０上の他のＶＭ４２４へ、データセンター４００内のリソース間でパケットをルーティングすることもできる。いくつかの実施形態において、ＶＭ４２４のうちの少なくともいくつかは、２つ以上のネットワークインターフェースを含んでもよい。例えば、それらは、ＶＭ４２４とＶＭ４２４がプロバイダによって代わりにホストされるクライアントとの間の通信に使用可能な１つのネットワークインターフェース、及びプロバイダネットワーク及びクライアントネットワーク以外のネットワーク上の外部リソース、コンピューティングシステム、データセンター、またはインターネットの送信先にアクセスするために使用可能である第２の（独立し、区別される）ネットワークインターフェースを含んでもよい。本明細書に記載されるように、その一方または両方がＩＰトンネリング技術を採用してもよい。
【００４８】
データセンター４００を提供するサービスプロバイダはまた、データセンター４００に類似するハードウェア仮想化技術を含み、中間ネットワーク４４０にも接続することができる、追加のデータセンター（単数または複数）４６０を提供することができる。パケットは、例えば、データセンター４００内のホスト４２０上のＶＭ４２４から、別の類似のデータセンター４６０内の別のホスト上の別のＶＭへ、及びこの逆等、データセンター４００から他のデータセンター４６０へ転送することができる。
【００４９】
上記に複数のオペレーティングシステムが、ホスト上の仮想マシン（ＶＭ）としてホストコンピュータ上で同時に稼動することを可能にし、ＶＭは、ネットワークプロバイダのクライアントに賃借またはリースされ得る、ハードウェア仮想化技術を説明したが、ハードウェア仮想化技術はまた、同様な様式でネットワークプロバイダのクライアントに対する仮想化されたリソースとして、例えば、ストレージリソース４１８等、他のコンピューティングリソースを提供するためにも使用され得る。
【００５０】
公共ネットワークは、広義には、複数のエンティティ間へのオープンアクセス及び相互接続を提供するネットワークとして定義され得ることに留意されたい。インターネット、またはワールドワイドウェブ（ＷＷＷ）は、公共ネットワークの一例である。共有ネットワークは、広義には、アクセスが一般に限定されない公共ネットワークとは対照的に、アクセスが２つ以上のエンティティに限定されるネットワークとして定義され得る。共有ネットワークは、例えば、１つ以上のローカルエリアネットワーク（ＬＡＮ）及び／またはデータセンターネットワーク、あるいは広域ネットワーク（ＷＡＮ）を形成するために相互接続される２つ以上のＬＡＮまたはデータセンターネットワークを含むことができる。共有ネットワークの例として、企業ネットワーク及び他のエンタープライズネットワークを挙げることができるが、これらに限定されない。共有ネットワークは、ローカルエリアを対象とするネットワークからグローバルネットワークまでの範囲のいずれかであり得る。共有ネットワークは、少なくともいくつかのネットワーク基礎構造を公共ネットワークと共有することができ、共有ネットワークは、他のネットワーク（単数または複数）と共有ネットワークとの間のアクセスを制御して、公共ネットワークを含むことができる、１つ以上の他のネットワークに連結され得ることに留意されたい。共有ネットワークはまた、インターネットのような公共ネットワークとは対照的に、プライベートネットワークとして考えることもできる。実施形態において、共有ネットワークまたは公共ネットワークのどちらかが、プロバイダネットワークとクライアントネットワークとの間、または、プロバイダネットワークと他のネットワーク実体との間の中間ネットワークの役割をしてもよい（例えば、プロバイダネットワーク及びＶＭ４２４がプロバイダによって代わりにホストされるクライアントネットワーク以外の、ネットワーク上の外部リソース、コンピューティングシステム、データセンター、またはインターネットの送信先）。
【００５１】
いくつかの実施形態において、本明細書に記載されるクライアントアプリケーション及び他のプロセスを実行している物理的コンピュータが存在する一方、クライアントアプリケーションは、物理的コンピュータ上で仮想マシンとして稼動している場合がある。例えば、これらの仮想マシンの作成を管理する、これらの仮想マシンのリソースをプロビジョニングする、及び／またはクライアント及び／またはそれらのアプリケーションの代わりに他の管理タスク（例えば、リソース使用量、顧客アカウント、サービスの請求等を監視する）を実施するように構成されるクラウドコンピューティング環境の内部プロセスは、クラウドコンピューティング環境内の制御プレーン層（またはハイパーバイザ）内で実行することができる。対照的に、クライアントアプリケーション（例えば、アプリケーション構成要素を実装する各リソースインスタンス）は、クラウドコンピューティング環境のデータプレーン層内で実行することができる。これらの層の下には、いくつかの実施形態において、各ホストノードに対して（または複数のホストノードに対して）１つの物理的ネットワークカードだけが存在し得るが、各リソースインスタンスは、あたかもそれがその独自のネットワーク（例えば、仮想ネットワーク）を有するように実行することができる。いくつかの実施形態において、各リソースインスタンスは、その独自のデータプレーンネットワーク接続（単数または複数）を有することができるが、これらのデータプレーンネットワーク接続に依存する必要なく、ローカルＡＰＩ呼出し（例えば、同じノード上の構成要素への呼出し）を行うことができる。
【００５２】
いくつかの実施形態において、顧客は、ローカルマシン上で実行するアプリケーションを有してもよいが、ローカルマシンで障害が生じた場合に使用されるクラウドコンピューティング環境において、リソースインスタンスをプロビジョニングしてもよい。いくつかの実施形態において、複数のリソースインスタンスが、クライアントの代わりに分散アプリケーションを実装するためにクラウドコンピューティング環境において実行している場合がある。異なる実施形態において、クラウドコンピューティング環境は、各アプリケーション（及び／または各仮想プライベートネットワーク）がその独自の名前空間を有してもよいマルチテナント環境でもよい。いくつかの実施形態において、各クライアントは、ネットワーク接続及び／または処理能力（帯域幅）のその独自の割当てを有することができる。例えば、データプレーンネットワークのネットワーク接続性及び／または処理能力は、様々なクライアントの使用のためにプロビジョニング（例えば、専用または予約）され得る。
【００５３】
図５は、少なくともいくつかの実施形態に従う、少なくともいくつかのクライアントにプロバイダネットワーク上のプライベートネットワークを提供する例示的プロバイダネットワークを示す。プロバイダネットワーク５００の上のクライアントの仮想化されたプライベートネットワーク５６０は、例えば、クライアントが、クライアントネットワーク５５０上のそれらの既存のインフラストラクチャ（例えば、クライアントデバイス５５２）を、一組の論理的に分離されたリソースインスタンス（例えば、ＶＭ５２４Ａ及び５２４Ｂならびにストレージ５１８Ａ及び５１８Ｂ）に接続すること、ならびに、セキュリティサービス、ファイアウォール、及び侵入検知システムなどの管理能力がそれらのリソースインスタンスを含むように拡張することを可能にしてもよい。
【００５４】
いくつかの実施形態において、クライアントの仮想化されたプライベートネットワーク５６０は、プライベート通信チャンネル５４２を介してクライアントネットワーク５５０に接続されてもよい。プライベート通信チャンネル５４２は、例えば、ネットワークトンネリング技術または中間ネットワーク５４０上のいくつかの他のピアリング接続によって実装されるトンネルでもよい。中間ネットワークは、例えば、共有ネットワークまたはインターネットなどの公共ネットワークでもよい。あるいは、プライベート通信チャンネル５４２は、仮想化されたプライベートネットワーク５６０とクライアントネットワーク５５０との間の直接かつ専用の接続上に実装されてもよい。
【００５５】
公共ネットワークは、広義には、複数のエンティティ間へのオープンアクセス及び相互接続を提供するネットワークとして定義することができる。インターネット、またはワールドワイドウェブ（ＷＷＷ）は、公共ネットワークの一例である。共有ネットワークは、広義には、アクセスが一般に限定されない公共ネットワークとは対照的に、アクセスが２つ以上のエンティティに限定されるネットワークとして定義され得る。共有ネットワークは、例えば、１つ以上のローカルエリアネットワーク（ＬＡＮ）及び／またはデータセンターネットワーク、あるいは広域ネットワーク（ＷＡＮ）を形成するために相互接続される２つ以上のＬＡＮまたはデータセンターネットワークを含むことができる。共有ネットワークの例として、企業ネットワーク及び他のエンタープライズネットワークを挙げることができるが、これらに限定されない。共有ネットワークは、ローカルエリアを対象とするネットワークからグローバルネットワークまでの範囲のいずれかであり得る。共有ネットワークは、少なくともいくつかのネットワーク基礎構造を公共ネットワークと共有することができ、共有ネットワークは、他のネットワーク（単数または複数）と共有ネットワークとの間のアクセスを制御して、公共ネットワークを含むことができる、１つ以上の他のネットワークに連結され得ることに留意されたい。共有ネットワークはまた、インターネットのような公共ネットワークとは対照的に、プライベートネットワークとして考えることもできる。実施形態において、共有ネットワークまたは公共ネットワークのいずれかが、プロバイダネットワークとクライアントネットワークとの間の中間ネットワークとして役割を果たすことができる。
【００５６】
プロバイダネットワーク５００上でクライアントのための仮想化されたプライベートネットワーク５６０を確立するために、１つ以上のリソースインスタンス（例えば、ＶＭ５２４Ａ及び５２４Ｂ、ならびにストレージ５１８Ａ及び５１８Ｂ）が、仮想化されたプライベートネットワーク５６０に割り当てられてもよい。他のリソースインスタンス（例えば、ストレージ５１８Ｃ及びＶＭ５２４Ｃ）は、他のクライアントの使用のためにプロバイダネットワーク５００上で利用可能なままでもよいことに留意されたい。公共ＩＰアドレスの範囲も、仮想化されたプライベートネットワーク５６０に割り当てられてもよい。さらに、プロバイダネットワーク５００の１つ以上のネットワークデバイス（ルータ、スイッチなど）が、仮想化されたプライベートネットワーク５６０に割り当てられてもよい。プライベート通信チャンネル５４２は、仮想化されたプライベートネットワーク５６０のプライベートゲートウェイ５６２とクライアントネットワーク５５０のゲートウェイ５５６との間で確立されてもよい。
【００５７】
少なくともいくつかの実施形態において、プライベートゲートウェイ５６２に加えてまたはその代わりに、仮想化されたプライベートネットワーク５６０は、仮想化されたプライベートネットワーク５６０内のリソースが、プライベート通信チャンネル５４２を介する代わりにまたはそれに加えて、中間ネットワーク５４０を介して、実体（例えば、ネットワーク実体５４４）と直接、通信できるようにする、及びその逆も可能とする、公共ゲートウェイ５６４を含んでもよい。
【００５８】
いくつかの実施形態において、仮想化されたプライベートネットワーク５６０は、必要ではないが、２つ以上のサブネット（図示せず）にさらに分割されてもよい。例えば、プライベートゲートウェイ５６２及び公共ゲートウェイ５６４の両方を含む実施態様において、プライベートネットワークは、プライベートゲートウェイ５６２を通して到達可能なリソース（本例ではＶＭ５２４Ａ及びストレージ５１８Ａ）を含むサブネットと、公共ゲートウェイ５６４を通して到達可能なリソース（本例ではＶＭ５２４Ｂ及びストレージ５１８Ｂ）を含むサブネットとにさらに分割されてもよい。他の実施形態において、ＶＭ５２４のうちの１つ以上は、プライベートゲートウェイ５６２を通して（例えば、ＶＭ５２４とクライアントデバイス５５２との間の通信のために構成されるネットワークインターフェースを介して）プライベート通信チャンネル５４２上のクライアントネットワーク５５０にアクセスするように、ならびに、公共ゲートウェイ５６４を通して（例えば、本明細書に記載されるように、その一方または両方がＩＰトンネリング技術を採用してもよい、ＶＭ５２４と、プロバイダネットワーク５００及びクライアントネットワーク５５０以外のネットワーク上の外部リソース、コンピューティングシステム、データセンター、またはインターネットの送信先との間の通信のために構成されるネットワークインターフェースを介して）代替の通信チャンネル５４６上の他のネットワーク実体５４４にアクセスするように構成されてもよい。さらに他の実施形態において、プライベート及び／または公共ゲートウェイならびに通信チャンネル（プライベートゲートウェイ５６２、公共ゲートウェイ５６４、プライベート通信チャンネル５４２、代替の通信チャンネル５４６、及び／または中間ネットワーク５４０を含む）は、ＶＭ５２４と、クライアントネットワーク５５０と、他のネットワーク実体５４４との間の通信のために、任意の様々な異なる組合せで使用されてもよい。
【００５９】
いくつかの実施形態において、クライアントは、特定のクライアント公共ＩＰアドレスを、仮想化されたプライベートネットワーク５６０の特定のリソースインスタンスに割り振ってもよい。次いで、中間ネットワーク５４０上のネットワーク実体５４４は、クライアントで発行された公共ＩＰアドレスに、トラフィックを送信してもよい。そのトラフィックは、プロバイダネットワーク５００によって、関連するリソースインスタンスにルーティングされる。リソースインスタンスからの戻りトラフィックは、プロバイダネットワーク５００によって、中間ネットワーク５４０上のネットワーク実体５４４へ戻されルーティングされてもよい。リソースインスタンスとネットワーク実体５４４との間のルーティングトラフィックは、公共ＩＰアドレスとリソースインスタンスのプライベートＩＰアドレスとを変換するネットワークアドレス変換を必要とすることがあることに留意されたい。
【００６０】
少なくともいくつかの実施形態は、クライアントが、クライアントの仮想化されたプライベートネットワーク５６０の公共ＩＰアドレスを、図５に示されるように、クライアントの外部ネットワーク５５０上のデバイスに、再マッピングすることを可能にしてもよい。（例えば、ネットワーク実体５４４からの）パケットが受信されると、ネットワーク５００は、パケットによって示される送信先ＩＰアドレスが、外部ネットワーク５５０のエンドポイントに再マッピングされ、プライベート通信チャンネル５４２、代替の通信チャンネル５４６、または中間ネットワーク５４０のいずれかを介して、それぞれのエンドポイントへのパケットのルーティングを処理することを決定してもよい。応答トラフィックは、プロバイダネットワーク５００を通してエンドポイントからネットワーク実体５４４へルーティングされてもよく、あるいは、クライアントネットワーク５５０によってネットワーク実体５４４に直接ルーティングされてもよい。ネットワーク実体５４４の観点から、ネットワーク実体５４４がプロバイダネットワーク５００上のクライアントの公共ＩＰアドレスと通信しているように見えてもよい。しかし、ネットワーク実体５４４は、クライアントネットワーク５５０上のエンドポイントと実際に通信することができる。
【００６１】
図５は、中間ネットワーク５４０上かつプロバイダネットワーク５００外部のネットワーク実体５４４を示すが、他の実施形態において、ネットワーク実体は、プロバイダネットワーク５００上の実体でもよい。例えば、プロバイダネットワーク５００によって提供されるリソースインスタンスの１つは、トラフィックをクライアントで発行される公共ＩＰアドレスに送信するネットワーク実体でもよい。いくつかの実施形態において、このトラフィックは、ＶＭ５２４とクライアントネットワーク５５０との間のトラフィックが送信されるネットワークインターフェースから独立し、区別されるＶＭ５２４のネットワークインターフェースを介して送信されてもよい。
【００６２】
仮想デスクトップインスタンス
様々な実施形態において、サービスプロバイダは、上記の例示的プロバイダネットワークの１つ（または、別の好適なプロバイダネットワーク環境）を採用して、クラウドコンピューティング環境のホストされたデスクトップサービスを実装してもよい。このような実施形態において、顧客は、クラウドコンピューティング環境でプロバイダネットワークにアクセスして、クラウドの１つ以上の仮想デスクトップインスタンスのインスタンス化及び／または構成を要求してもよく、次いで、それらの仮想デスクトップインスタンスへのアクセスを１つ以上のエンドユーザに提供してもよい（例えば、クライアントアプリケーションを通して）。例えば、組織または企業内の管理者は、サービスプロバイダによってアカウントを設定してもよく、サービスプロバイダといくつかの数の仮想デスクトップインスタンス（「仮想ワークスペース」または単に「ワークスペース」とも呼ばれる）を設定する契約を結んでもよく、そして、（仮想デスクトップインスタンスが設定されると）、これらの仮想デスクトップインスタンスにアクセスするための証明書を提供してもよい。この例において、仮想デスクトップインスタンスがセットアップされ、証明書が提供されると、１つ以上のエンドユーザは、クライアントデバイス（例えば、コンピュータ、タブレットデバイス、または他の携帯機器）上でクライアントアプリケーションを起動し、仮想デスクトップインスタンスのために証明書を入力してもよく、その後、仮想ワークスペース環境にログインしてもよい。仮想ワークスペース環境は、クラウドコンピューティング環境の仮想化されたリソースインスタンスによって実装されるが、それはローカルデスクトップであるようにエンドユーザには見え、ユーザが接続している独立したコンピュータであるように動作することができる。いくつかの実施形態において、仮想ワークスペース環境は、ユーザが組織または企業によって所有される物理的なコンピュータにログオンする場合、ユーザが一般にアクセスする生産性ソフトウェア及び他のソフトウェアプログラムへのアクセスを提供してもよい。
【００６３】
いくつかの実施形態において、これらの仮想ワークスペースは、デスクトップコンピュータを置き換えることが意図されてもよく、例えば、代わりにインスタンス化及び構成された組織または企業のメンバーがオフィスの設定でデスクトップコンピュータにアクセスするのと同じソフトウェアプログラム（例えば、エンドユーザ生産性タスクを実行するアプリケーション）を実行することが意図されてもよい。これらのアプリケーションは、スタンドアロンアプリケーションでもよくまたはスタンドアロンアプリケーションでなくてもよいことに留意されたい。例えば、場合によっては、仮想ワークスペース（及び／またはそこで実行されるアプリケーション）のそれぞれは、組織または企業のアクティブディレクトリフレームワークの一部でもよく、仮想ワークスペースへのログイン時にユーザによって示される証明書が認証されると、組織または企業の既存のネットワークの共有ファイルまたは他のリソースにアクセスできてもよい。
【００６４】
いくつかの実施形態において、サービスプロバイダネットワーク上でインスタンス化される各仮想デスクトップインスタンスは、それぞれ特定の目的のために使用される２つ（またはそれ以上）のネットワークインターフェースを含んでもよい。いくつかの実施形態において、これらの仮想ネットワークインターフェースは、ユーザ意図及び／または任意の様々な適用可能なポリシー（例えば、サービスプロバイダのデフォルトポリシー、顧客固有のポリシー、または特定用途向けポリシー）に基づいて制御されてもよい。インターフェースの１つ（時には本明細書で「Ｅ０」インターフェースと呼ばれる）は、インタラクティブビデオストリームを開始するため受信するエンドユーザ要求を受け入れる（例えば、仮想デスクトップインスタンスに接続する）ように構成されてもよい。要求が受けられると、このインターフェースは、エンドユーザへのビデオストリームのためのインターフェースとして使用されてもよい。例えば、仮想デスクトップインスタンス上で実行されているアプリケーションまたはオペレーティングシステムのユーザインターフェースを示す画像（例えば、グラフィカルユーザインターフェース、サウンドなどの、アプリケーションまたはオペレーティングシステムの出力）が、クライアントコンピューティングデバイスにストリーミングされてもよく、ユーザに示されてもよい（例えば、グラフィカルユーザインターフェースを示している画像は、クライアントコンピューティングデバイスのディスプレイ上に描画されてもよい）。他のネットワークインターフェース（時には本明細書で「Ｅ１」インターフェースと呼ばれる）は、エンドユーザのウェブトラフィック（ブラウザ要求など）を仮想デスクトップインスタンスから様々なインターネットの送信先へ送信する、及び／または、仮想デスクトップインスタンスが代わりにインスタンス化された組織もしくは企業の内部ネットワーク上の共有リソースに接続するために使用されてもよい。例えば、いくつかの実施形態において、仮想デスクトップインスタンスのＥ１インターフェースは、顧客（例えば、仮想デスクトップインスタンスが代わりにインスタンス化された組織または企業）の内部ネットワークへの接続を有する仮想プライベートクラウド（ＶＰＣ）の一部でもよい。したがって、仮想デスクトップインスタンスは、顧客のドメインに参加してもよく、任意の共有アプリケーション及び／またはデータを含む顧客のウェブサーバにアクセスしてもよい。
【００６５】
いくつかの実施形態において、各仮想デスクトップインスタンスの第１のネットワークインターフェース（Ｅ０インターフェース）は、サービスプロバイダによって完全に制御されてもよい。例えば、いくつかの実施形態において、そのインターフェースで可能となる唯一のトラフィックは、エンドユーザに送信されるビデオストリームでもよく、サービスプロバイダの制御下にある管理機能に関するトラフィックでもよい。第２のインターフェース（Ｅ１インターフェース）は、仮想デスクトップインスタンスのエンドユーザによって直接使用されなくてもよいが、ビデオストリームに使用される接続から独立している仮想デスクトップインスタンスをホストし、仮想デスクトップインスタンス（または、その上で実行されているアプリケーションまたは処理）が、他のネットワーク、及び他のネットワーク上のネットワーク実体にアクセスできるようにする仮想化されたコンピューティングリソースインスタンスに、ネットワーク接続を提供してもよい。いくつかの実施形態において、Ｅ０インターフェースは、仮想デスクトップインスタンス上でブラウザアプリケーションを起動するコマンドを通信するために使用されてもよいが、そのブラウザアプリケーションから外のインターネットへの通信は、Ｅ１インターフェース上で行われてもよい。
【００６６】
上述のように、いくつかの実施形態において、本明細書に記載されるシステムは、複数の地理的に分散されたポイントオブプレゼンス（ＰＯＰ）ロケーションのアクセスゲートウェイに広がるワークスペースサービスの仮想プライベートクラウド（ＶＰＣ）を実装してもよい。様々な実施形態において、ゲートウェイ構成要素は、ピクセルストリームを生成する仮想デスクトップインスタンス（ワークスペース）と、ストリームを受信するクライアントデバイスとの間のパスに沿ったブリッジの役割をしてもよい。いくつかの実施形態において、そのようなパスは、仮想デスクトップインスタンスからクライアントデバイスに通信され、クライアントデバイスによる表示のためのピクセルを生成及び／または描画するために（例えば、ピクセルストリームの代わりにまたはそれに加えて）クライアントデバイスに向ける命令を表すコマンドを伝えるために使用されてもよい。１つの実施例において、クライアントデバイスによって表示されるテキストまたはグラフィクスを表すデータは、ピクセルストリームとして、仮想デスクトップインスタンスからクライアントデバイスまで送信されてもよい。しかし、ビデオがクライアントデバイスによって表示されることになる場合、仮想デスクトップインスタンスは、ビデオの設置及びアクセスに使用可能であるクライアントデバイスへのリンクを、クライアントデバイスが表示のためにビデオを描画すべきであることを示すコマンドとともに送信してもよい。他の実施形態において、グラフィック処理コマンドを表すデータは、仮想デスクトップインスタンスからクライアントデバイスに通信されてもよく、それがクライアントデバイスに、クライアントデバイス上での表示のためにピクセルの生成及び描画をさせてもよい。
【００６７】
いくつかの実施形態において、同じゲートウェイはまた、クライアントデバイスから仮想デスクトップインスタンスに戻す、仮想デスクトップインスタンスによるユーザインタラクション（例えば、キーボード、タッチスクリーン／パッド、及び／またはマウスイベント）を表すデータを伝えるオーバーラッピングリターンパスをブリッジしてもよい。サービスプロバイダから出ると、これらのアクセスゲートウェイは、ピクセルストリームが公共ネットワークに運ばれる前（例えば、公共インターネットに入る前）に、サービスによって制御されるラストポイントでもよい。ゲートウェイをクライアントデバイスの近くに移動させることによって、ワークスペースサービスのＶＰＣの一部としそれらの制御を維持すると同時に、より高品質の接続及び／またはエンドユーザエクスペリエンスがサービスによって提供されてもよい。例えば、（例えば、仮想プライベートネットワーク上の）安全、高信頼性、低レイテンシ、高帯域幅、低損失、及び／または低ジッタの接続は、ゲートウェイ構成要素とクライアントデバイスの間の潜在的に信頼性が低く、レイテンシがより高い公共ネットワーク接続への切替え前に、ある程度はできるだけクライアントデバイスに近い仮想デスクトップセッションのための双方向インタラクティブビデオストリームを伝えるために使用されてもよい。
【００６８】
いくつかの実施形態において、ゲートウェイ構成要素は、仮想デスクトップインスタンスがサービスによって代わりにホストされる複数の異なるワークスペースクライアント（例えば、異なる顧客またはサービス加入者）にゲートウェイ機能を提供するマルチテナントアクセスゲートウェイでもよい。いくつかの実施形態において、ゲートウェイ構成要素は、仮想デスクトップセッションのために、そして、仮想デスクトップインスタンスとクライアントデバイスとの間の他のタイプのトラフィックのためでなく（例えば、セキュリティ、認証、またはディレクトリサービスなどの他の目的のため）または、仮想デスクトップインスタンスとワークスペースクライアントに代わる他のネットワーク実体との間のトラフィックのために、インタラクティブビデオストリームの配信に含まれるだけでもよいことに留意されたい。その代わりに、（一般にインタラクティブビデオストリームほど時間に敏感ではない、または様々なネットワークの影響に敏感ではない）これらの他のタイプのトラフィックは、他のインターフェースを通して（例えば、上記のようなＥ１型インターフェースを介して）仮想デスクトップインスタンスに伝えられてもよい。
【００６９】
上述のように、仮想デスクトップインスタンスとして構成される仮想コンピューティングリソースインスタンスは、複数の可用性ゾーンにわたって分散される複数のデータセンターのコンピューティングノード上でホストされてもよい。同様に、ワークスペースサービスのゲートウェイ構成要素（仮想コンピューティングリソースによっても実装されてもよい）は、地理的に分散されるポイントオブプレゼンス（ＰＯＰ）ロケーションで、コンピューティングノード上にホストされてもよい。以下でさらに詳細に記載されるように、いくつかの実施形態において、サービスは、特定のクライアント（例えば、特定のエンドユーザ）のためにゲートウェイ構成要素を自動的に割り振ってもよい。クライアントがワークスペースサービスにサインインしようとするとき、サービスは、同じ領域（例えば、クライアントが物理的に設置される領域）にホストされるアクセスゲートウェイアドレスを提供してもよく、仮想デスクトップインスタンスからそのゲートウェイ構成要素へのマッピングを実行してもよい。
【００７０】
本明細書に記載されるように、いくつかの実施形態において、ゲートウェイ構成要素は、ワークスペースサービスによって管理され、全てのクライアント（例えば、顧客またはサービス加入者）に共通であるマルチテナントＶＰＣ内に加わる。このＶＰＣは、ワークスペースサービスのマネージメントネットワークの役割をしてもよく、（例えば、仮想プライベートネットワーク上の）様々なＰＯＰロケーションで、インタラクティブビデオトラフィックを外のゲートウェイ構成要素に伝えるネットワークの役割もしてもよい。ワークスペースサービスは、クライアント専用のＶＰＣを提供してもよく、各クライアントのために作成及び管理される仮想コンピューティングリソースインスタンスは、これらのＶＰＣのうちの１つに加わってもよい。例えば、これらのクライアント専用のＶＰＣは、クライアント自身によって作成されてもよい（または作成されたものが始められてもよい）、または、それらに代わりサービスによって作成されてもよい。これらのクライアントＶＰＣは、仮想デスクトップセッションのインタラクティブビデオストリーム以外のネットワークトラフィック（例えば、ドメインに参加する、または、エンドユーザがインターネットサイトを閲覧することを可能にする操作のためのネットワークトラフィック）を伝えてもよい。いくつかの実施形態において、仮想デスクトップインスタンスを実装する仮想コンピューティングリソースの構成要素はまた、ワークスペースサービス（すなわち、サービスのためのマネージメントネットワーク）のＶＰＣに付加（または、参加）してもよい。
【００７１】
以下でさらに詳細に記載されるように、いくつかの実施形態において、インタラクティブビデオストリームは、ＵＤＰネットワークプロトコル上で通信されてもよく、特定のポート（例えば、ポート４１７２）で実行されてもよい。しかし、これは、顧客のファイアウォール上では一般的に開けられていないことがあるネットワークプロトコル及びポートである。顧客のファイアウォール上で一般的に開けられていることがある別のポートは、ＴＣＰ４４３であり、それは安全なＴＣＰポートである。いくつかの実施形態において、ゲートウェイ構成要素は、ＵＤＰからＴＣＰ４４３に変換するように構成される顧客の安全でない（すなわち、ＤＭＺ）ネットワークに配置されることがあり、そのため、顧客は、インタラクティブビデオストリームを受信するために、彼らのファイアウォール上で任意の追加のポートを開けなければならない。このような実施形態において、エンドユーザは、（ＴＣＰのオーバヘッドがなく、インタラクティブビデオストリームなどのリアルタイムトラフィックにとって非常に効率的な配信プロトコルである）ＵＤＰの利益を彼らのオンプレミスネットワークまで得ることができ、次いで、最後にストリームをＴＣＰ４４３に変換することができる。例えば、クライアントデバイスで実行されているローカルプロセス（ローカルゲートウェイ）は、ワークスペースゲートウェイ構成要素からＵＤＰトラフィックを受信してもよく、次いで（顧客のファイアウォールの安全でない側で）ポート４４３のためにそれをＴＣＰに変換してもよい。
【００７２】
クラウドコンピューティング環境のワークスペースへの低レイテンシ接続を提供するための本明細書に記載される技術は、図６〜１１及び下記の例示的な実施形態としてさらに示すことができる。例えば、図６は、少なくともいくつかの実施形態に従う、仮想デスクトップサービスがクライアントに提供される例示的ネットワーク化環境を示すブロック図である。この実施例に示されるように、ネットワーク化されたコンピューティング環境６００は、２つのクライアントコンピューティングデバイス６７０及び６８０、ならびに少なくとも部分的に公共ネットワーク６５０上の他のネットワーク実体６６０と通信する仮想コンピューティングサービスプロバイダ６１０を含んでもよい。仮想コンピューティングサービスプロバイダ６１０は、複数の仮想コンピューティングリソースインスタンスを含んでもよく、そのいくつかは、仮想デスクトップ（ワークスペース）インスタンス６３２及び６４２などの仮想デスクトップ（ワークスペース）インスタンスとして構成される。これらの仮想デスクトップ（ワークスペース）インスタンスは、クライアントのために仮想デスクトップセッションをホストするために使用されてもよい。いくつかの実施形態において、他の仮想コンピューティングリソースインスタンス（例えば、上記のような、仮想マシンのインスタンス）は、データストリーミングアプリケーションなどのアプリケーションをホストするために構成されてもよい。これらの仮想コンピューティングリソースインスタンスはどれも、物理的コンピューティングデバイスリソース及びソフトウェアを含み、仮想マシンの複数のインスタンスを提供してもよく、または、仮想マシンのインスタンスを動的に作成させてもよい。そのような作成は、クライアントコンピューティングデバイスからなど、特定の要求に基づくことができ、または、ワークスペースサービス（または、そのワークスペースサービス管理構成要素）が、それ自身の上で仮想マシンのインスタンスの動的作成を始めてもよい。各仮想コンピューティングリソースインスタンスは、ネットワークまたはコンピューティングリソースの配信及び処理で使用される任意のタイプのデータを記憶するための１つ以上のストレージデバイスを含んでもよく、それらは、いくつかの実施形態において、ユーザデータ、状態情報、処理要件、使用履歴データ、及び仮想コンピューティングリソースインスタンスのうちの１つ以上で処理されて、伝送されるコンテンツプロバイダからのリソースを含むがそれらに限定されないことに留意されたい。いくつかの実施形態において、１つ以上の仮想コンピューティングリソースインスタンス（または、ワークスペースサービスＶＰＣ６２０及び／または顧客ＶＰＣ６３０または６４０のそれぞれの内部の他の構成要素）は、通信を容易にする追加のソフトウェア及び／またはハードウェア構成要素を含んでもよく、それらは、ロードバランシングまたはロードシェアリングソフトウェア／ハードウェア構成要素を含むがそれらに限定されない。
【００７３】
この実施例に示されるように、仮想デスクトップ（ワークスペース）インスタンス６３２ならびに１つもしくは複数の他のコンピューティング及び／またはネットワークストレージリソースインスタンス６３８は、クライアントのために、仮想コンピューティングサービスプロバイダ６１０の物理的リソース上の仮想プライベートクラウド６３０内で動作（参加）してもよく、仮想プライベートネットワーク（ＶＰＮ）上で互いに通信してもよい。同様に、仮想デスクトップ（ワークスペース）インスタンス６４２ならびに１つもしくは複数の他のコンピューティング及び／またはネットワークストレージリソースインスタンス６４８は、（例えば、同じクライアントまたは異なるクライアント）クライアントのために、仮想コンピューティングサービスプロバイダ６１０の物理的リソース上の仮想プライベートクラウド６４０内で動作してもよく、仮想プライベートネットワーク（ＶＰＮ）上で互いに通信してもよい。本明細書に記載されるように、これらの仮想デスクトップ（ワークスペース）インスタンスのそれぞれは、異なる目的に役立つ２つの独立し、区別されるネットワークインターフェースを含んでもよい。例えば、仮想デスクトップ（ワークスペース）インスタンス６３２は、（例えば、ワークスペースゲートウェイ６２６のうちの１つを介して）クライアントと通信するためのＥ０インターフェース６３４、及び、他のネットワーク実体６６０と通信するためのＥ１インターフェース６３６を含み、一方、仮想デスクトップ（ワークスペース）インスタンス６４２は、（例えば、ワークスペースゲートウェイ６２６のうちの１つを介して）クライアントと通信するためのＥ０インターフェース６４４、及び、他のネットワーク実体６６０と通信するためのＥ１インターフェース６４６を含む。
【００７４】
図６の例で示されるように、仮想コンピューティングサービスプロバイダ６１０は、ワークスペースサービスＶＰＣ６２０として示される、ワークスペースサービスのための仮想プライベートクラウド内のエッジノードに対応する多数の「ポイントオブプレゼンス」（すなわち「ＰＯＰ」）ロケーション６２４を含んでもよい。一般に、ポイントオブプレゼンスは、１つ以上の物理的コンピューティングノード（例えば、サーバ、ルータ、スイッチ、及び／または他の構成要素）がインターネットにアクセスポイントの役割をするように構成される物理的ロケーションである。仮想コンピューティングサービスプロバイダ６１０はまた、ワークスペースサービスＶＰＣ６２０内で動作する１つ以上のワークスペースサービス管理構成要素６２２を含んでもよく、そのそれぞれは、クライアントのために、仮想デスクトップインスタンス（ワークスペース）を実装するコンピューティングリソースインスタンスを管理する。例えば、いくつかの実施形態において、ワークスペースサービス管理構成要素６２２は、様々な仮想デスクトップ（ワークスペース）インスタンス及び／または他の仮想コンピューティングリソースインスタンスと仮想コンピューティングサービスプロバイダがこれらのリソースインスタンスを代わりにホストするクライアントとの間の接続を確立するためのコンピューティングリソースを含んでもよい。いくつかの実施形態において、ワークスペースサービス管理構成要素６２２は、コンテンツ及びリソースなどの管理のためのコンピューティングリソースを含んでもよい。この実施例に示されるように、（６３４及び６４４として示される）仮想デスクトップインスタンス６３０及び６４０のＥ０インターフェースは、ワークスペースサービスＶＰＣ６２０内、ならびに顧客ＶＰＣ６３０及び６４０内でそれぞれ動作してもよい。
【００７５】
この実施例に示されるように、各ワークスペースＰＯＰロケーション６２４は、１つ以上のワークスペースゲートウェイ構成要素６２６を含んでもよく、それを通して、クライアントは仮想デスクトップ（ワークスペース）インスタンスと通信する。各ワークスペースＰＯＰロケーション６２４は、クライアントコンピュータ６７０及び６８０からのＤＮＳクエリを解決するためのＤＮＳ構成要素、ならびに／または、コンテンツプロバイダからのリソースを記憶して、様々な要求されたリソースを様々なクライアントコンピュータ（図示せず）に伝送するためのリソースキャッシュ構成要素を含んでもよい。いくつかの実施形態において、これらの構成要素（または、ワークスペースＰＯＰロケーション６２４のそれぞれの内部の他の構成要素）は、通信を容易にする追加のソフトウェア及び／またはハードウェア構成要素を含んでもよく、それらは、ロードバランシングまたはロードシェアリングソフトウェア／ハードウェア構成要素を含むがそれらに限定されない。ワークスペースサービス管理構成要素６２２及びワークスペースＰＯＰロケーション６２４の様々な構成要素（ワークスペースゲートウェイ構成要素６２６を含む）は、構成要素または構成要素の一部が物理的に独立しているかどうかにかかわらず、論理的にグループ化されるように考慮されてもよい（そして、ワークスペースサービスＶＰＣ６２０内で互いに相互運用して、仮想プライベートネットワーク上で互いに通信してもよい）ことに留意されたい。例えば、ワークスペースサービス管理構成要素６２２及びワークスペースＰＯＰロケーション６２４の様々な構成要素は、クライアント６７０及び６８０などのクライアントコンピューティングデバイスの様々な人口統計を最も満足させる方法で、ネットワーク化環境６００全体で地理的に分散されてもよい。さらに、当業者は、ＣＤＮサービスプロバイダ１０６を、コンテンツ及びリソースなどの管理のための追加のコンピューティングデバイスなどの様々な追加のコンピューティングリソースと関連付けることができると理解するであろう。様々な実施形態において、仮想デスクトップ（ワークスペース）インスタンス６３２及び６４２は、クライアントのために、他のタイプの仮想コンピューティングリソースインスタンスを管理する構成要素と同じまたは異なる構成要素（例えば、他の仮想コンピューティング及び／またはストレージリソースインスタンス６３８または６４８）を使用する管理でもよい。
【００７６】
この実施例に示されるように、仮想コンピューティングサービスプロバイダ６１０（例えば、仮想デスクトップサービス）から仮想コンピューティング及び／またはストレージサービスを受信する各クライアントは、クライアントデバイス上で実行するワークスペースサービスのクライアントサイド構成要素を含んでもよい。いくつかの実施形態において、ワークスペースサービスのこのクライアントサイド構成要素は、クライアントのファイアウォール構成要素の背後で動作してもよい。例えば、クライアント６７０は、ファイアウォール６７２の背後で動作するワークスペースサービスクライアント構成要素６７５を含み、クライアント６８０は、ファイアウォール６８２の背後で動作するワークスペースサービスクライアント構成要素６８５を含む。例えば、インタラクティブビデオトラフィックは、クライアント６７０または６８０のうちの１つと仮想デスクトップインスタンス（例えば、仮想デスクトップインスタンス６３２または６４２）との間で、ワークスペースＰＯＰロケーション６２４のワークスペースゲートウェイ構成要素６２６のうちの１つを通して、かつ、仮想デスクトップインスタンス（例えば、Ｅ０インターフェース６３４または６４４）のＥ０ネットワークインターフェースを通して、通信されてもよい。いくつかの実施形態において、ワークスペースサービスは、仮想デスクトップインスタンスからの安全で、信頼性が高く、低レイテンシの接続の上のインタラクティブビデオストリームのストリーミングを、ＰＯＰロケーションのゲートウェイ構成要素に提供（及び制御）してもよいが、そこを超えることはない。換言すれば、ワークスペースＰＯＰロケーションのゲートウェイ構成要素は、仮想デスクトップインスタンスと、信頼性が低い及び／またはより高レイテンシの公共ネットワークに伝えられてその最終送信先（クライアント）に到達する前に通信がワークスペースサービスによって制御されるクライアントとの間の接続におけるラストポイントを表してもよい。しかし、クライアントデバイスの近くにワークスペースサービスのゲートウェイ構成要素を設置することによって、インタラクティブビデオストリームを配送するときの、サービスの性能におけるそのような公共ネットワークの影響は減少させることができる。
【００７７】
本明細書に記載されるように、いくつかの実施形態において、ワークスペースサービスの仮想プライベートクラウドは、ネットワーク化環境にわたって地理的に分散されてもよいワークスペースポイントオブプレゼンスロケーションのゲートウェイ構成要素を含むように拡張されてもよい。少なくともいくつかの実施形態に従う、ポイントオブプレゼンスロケーションのゲートウェイ構成要素が仮想デスクトップ（ワークスペース）サービスの仮想プライベートクラウド内で動作（参加）し、仮想プライベートネットワーク（ＶＰＮ）上で互いに（そして、ワークスペースサービスの他の構成要素と）通信するネットワーク化環境の１つの例が、図７Ａのブロック図によって示される。この例において、ネットワーク化環境７００は、少なくとも２つの可用性ゾーンまたは領域を含む。上記のように、各可用性ゾーン／領域は、コンピューティングノードの集合が（例えば、１つ以上のデータセンター内で）実装される、その独自の物理的に別の独立したインフラストラクチャを含んでもよい。いくつかの実施形態において、各可用性ゾーン／領域は、異なる地理的場所または領域に存在してもよく、一方、他の実施形態において、複数の可用性ゾーン／領域が、同じ地理的場所または領域に存在してもよい。この例において、ネットワーク化環境７００は、データセンター７１２を含む可用性ゾーンまたは領域７１０を含み、データセンター７１２は、１つ以上のワークスペースインスタンス７１４及び／またはワークスペース管理構成要素７１６を（例えば、データセンター７１２内の１つ以上のコンピューティングノード上で）ホストする。同様に、ネットワーク化環境７００は、データセンター７２２を含む可用性ゾーンまたは領域７２０を含み、データセンター７２２は、１つ以上のワークスペースインスタンス７２４及び／またはワークスペース管理構成要素７２６を（例えば、データセンター７２２内の１つ以上のコンピューティングノード上で）ホストする。
【００７８】
上記のように、（ワークスペースインスタンスを実装するあらゆる仮想コンピューティング及び／またはストレージリソースを含む）１つ以上のワークスペースインスタンスは、それがホストされるそれぞれのデータセンターの顧客ＶＰＣ内で動作してもよく、ワークスペースインスタンス（例えば、ワークスペースインスタンス７１４及び／または７２４）のうちのいくつかまたは全ては、本明細書に記載されるＥ０及びＥ１インターフェース（図示せず）などの、２つの独立し、区別されるネットワークインターフェースを含んでもよい。
【００７９】
図７Ａに示されるように、異なる可用性ゾーンまたは領域で設置されるワークスペース管理構成要素７１６及び７２６は、ワークスペースサービスＶＰＣ７３０内で動作してもよく、仮想デスクトップインスタンスを作成及び／もしくは構成する、インタラクティブビデオストリームが仮想デスクトップインスタンスとクライアントとの間で通信されるゲートウェイ構成要素を選択する、仮想デスクトップインスタンスとクライアントとの間の接続を確立する、ならびに／または、ワークスペースサービスの他の管理または通信機能を実行するための機能を提供してもよい。さらに、（ＷＳ  ＰＯＰゲートウェイ構成要素７３１〜７３６として示される）複数のワークスペースポイントオブプレゼンス（ＰＯＰ）ゲートウェイ構成要素は、２つの可用性ゾーン／領域７１０及び７２０の間で分散されるが、ワークスペースサービスＶＰＣ内で動作してもよく、ワークスペースサービスＶＰＣ７３０内の（例えば、ＶＰＮ上の）ワークスペースサービスの他の構成要素と相互運用してもよい。いくつかの実施形態において、ワークスペースインスタンス７１４及び／または７２４の一部または全部のＥ０インターフェースは、ワークスペース管理構成要素７１６及び／もしくは７２６と、ならびに／またはワークスペースサービスＶＰＣ７３０（図示せず）内のＷＳ  ＰＯＰゲートウェイ構成要素７３１〜７３６のいずれかと相互運用してもよい。この実施例に示されるように、ワークスペースサービスのワークスペースＰＯＰゲートウェイ構成要素のいくつかまたは全ては、クライアントのためにワークスペースインスタンスをホストするデータセンターの外部に設置されてもよい。他の実施形態において、ワークスペースサービスのワークスペースＰＯＰゲートウェイ構成要素のいくつかまたは全ては、クライアントのためにワークスペースインスタンスをホストするデータセンター内に設置されてもよい。様々な実施形態において、２つ以上のデータセンターが各可用性ゾーンまたは領域に存在してもよく、そのそれぞれが、それぞれのワークスペースインスタンスをホストする複数のコンピューティングノードを含んでもよいことに留意されたい。
【００８０】
いくつかの実施形態において、クライアントは、近くのワークスペースゲートウェイ構成要素（例えば、クライアントの近くのポイントオブプレゼンスロケーションのワークスペースゲートウェイ構成要素）を通して接続することによって、それらのワークスペース（すなわち、クライアントのためにワークスペースサービスによって作成及び管理されるワークスペースインスタンス）にアクセスしてもよい。しかし、これらのゲートウェイ構成要素は、それらのワークスペースインスタンスがホストされるデータセンターまたは可用性ゾーン／領域で必ずしもホストされなくてもよい。図７Ａに示される実施例において、４つのクライアント（例えば、クライアント７５２、７５４、７５６、及び７５８）は、ＷＳ  ＰＯＰゲートウェイ構成要素７３１〜７２６の様々なものを通して、様々なワークスペースインスタンス（例えば、可用性ゾーン／領域７１０内のデータセンター７１２にホストされるワークスペースインスタンス７１４の様々なもの、または、可用性ゾーン／領域７２０内のデータセンター７２２にホストされるワークスペースインスタンス７２４の様々なもの）にアクセスしてもよい。ここで、クライアント７５２、７５４、７５６、及び７５８は、それらのワークスペースがホストされる場所に関係なく、（公共ネットワーク７４０として示される）インターネットなどの公共ネットワーク上で、これらのワークスペースＰＯＰゲートウェイ構成要素のいずれかと接続（及び通信）してもよい。この実施例に示されるように、クライアント７５２は、可用性ゾーン／領域７１０のＷＳ  ＰＯＰゲートウェイ構成要素７３２を通して、例えば、クライアント７５２がそのワークスペースインスタンスにアクセスするクライアントデバイスが可用性ゾーン／領域７１０にまたはそれの近くに物理的に設置される場合、（可用性ゾーン／領域７１０のデータセンター７１２の）ワークスペースインスタンス７１４または（可用性ゾーン／領域７２０のデータセンター７２２の）７２４のいずれかにアクセスしてもよい。他方で、クライアント７５２がその後、別の可用性ゾーン／領域に物理的に設置されるクライアントデバイスを通してそのワークスペースインスタンスにアクセスする場合、異なるワークスペースＰＯＰゲートウェイ構成要素を通して、ワークスペースインスタンスにアクセスしてもよい。
【００８１】
上述のように、（ＷＳ  ＰＯＰゲートウェイ構成要素７３２などの）ＷＳ  ＰＯＰゲートウェイ構成要素は、ワークスペースインスタンスがサービスによって代わりにホストされる複数の異なるワークスペースクライアント（例えば、異なる顧客またはサービス加入者）にゲートウェイ機能を提供するマルチテナントアクセスゲートウェイでもよい。この例において、クライアント７５８はまた、可用性ゾーン／領域７１０のＷＳ  ＰＯＰゲートウェイ構成要素７３２を通して、（例えば、クライアント７５８がそのワークスペースインスタンスにアクセスするクライアントデバイスが可用性ゾーン／領域７１０に、またはその近くに物理的に設置される場合）、（可用性ゾーン／領域７１０のデータセンター７１２の）ワークスペースインスタンス７１４または（可用性ゾーン／領域７２０のデータセンター７２２の）７２４のいずれかにアクセスしてもよく、その後、異なるワークスペースＰＯＰゲートウェイ構成要素を通して、（例えば、それが別の可用性ゾーン／領域に物理的に設置されるクライアントデバイスを通してワークスペースインスタンスにアクセスする場合）そのワークスペースインスタンスにアクセスしてもよい。
【００８２】
図７Ａに示される実施例において、クライアント７５４は、可用性ゾーン／領域７２０のＷＳ  ＰＯＰゲートウェイ構成要素７３４を通して、（可用性ゾーン／領域７１０のデータセンター７１２の）ワークスペースインスタンス７１４または（可用性ゾーン／領域７２０のデータセンター７２２の）７２４のいずれかにアクセスしてもよい。同様に、クライアント７５６は、可用性ゾーン／領域７２０のＷＳ  ＰＯＰゲートウェイ構成要素７３６を通して、（可用性ゾーン／領域７１０のデータセンター７１２の）ワークスペースインスタンス７１４または（可用性ゾーン／領域７２０のデータセンター７２２の）７２４のいずれかにアクセスしてもよい。いくつかの実施形態において、クライアントは最初に、１つのゲートウェイ構成要素を通して、それらのワークスペースインスタンスのうちの１つにアクセスしようとしてもよく、その後、（例えば、ワークスペースインスタンスに接続する試みが失敗した場合、接続のレイテンシが容認できない場合、または、クライアントがワークスペースインスタンスにアクセスするクライアントデバイスが変わる場合）ワークスペースＰＯＰゲートウェイ構成要素のうちの別のものを通して、ワークスペースインスタンスにアクセスしようとしてもよい。
【００８３】
図７Ｂは、少なくともいくつかの実施形態に従う、クライアントにワークスペースサービスを提供する別の例示的ネットワーク化環境を示すブロック図である。ネットワーク化環境７０５は、図７Ａに示されるネットワーク化環境７００に類似している。しかし、この実施例において、ポイントオブプレゼンスロケーションのゲートウェイ構成要素のいくつかは、仮想デスクトップサービス（例えば、ワークスペースサービスＶＰＣ７３０）の仮想プライベートクラウド内で動作し、一方、他は、仮想デスクトップサービスの仮想プライベートクラウドに密に結合されるピアＶＰＣ（例えば、ピアＶＰＣ７６０）内で動作する。より詳細には、この実施例において、ＷＳ  ＰＯＰゲートウェイ構成要素７３１、７３２、７３３及び７３４は、仮想デスクトップサービス（例えば、ワークスペースサービスＶＰＣ７３０）の仮想プライベートクラウド内で動作し、一方、ＷＳ  ＰＯＰゲートウェイ構成要素７３５及び７３６は、ピアＶＰＣ７６０内で動作し、ピアＶＰＣ７６０はピアリング接続７６５を通してワークスペースサービスＶＰＣ７３０に通信可能に連結される。前の例のように、クライアント７５６は、可用性ゾーン／領域７２０のＷＳ  ＰＯＰゲートウェイ構成要素７３６を通して、（可用性ゾーン／領域７１０のデータセンター７１２の）ワークスペースインスタンス７１４または（可用性ゾーン／領域７２０のデータセンター７２２の）７２４のいずれかにアクセスしてもよい。しかし、この実施例において、ＷＳ  ＰＯＰゲートウェイ構成要素７３６は、ワークスペースサービスＶＰＣ７３０内ではなくピアＶＰＣ７６０内で動作する。ＷＳ  ＰＯＰゲートウェイ構成要素７３６がピアＶＰＣ７６０内で動作するとしても、クライアント７５６によってアクセスされるＷＳ  ＰＯＰゲートウェイ構成要素７３６と任意のワークスペースインスタンスとの間の通信チャンネルは、ワークスペースサービスＶＰＣ７３０の中で動作するＷＳ  ＰＯＰゲートウェイ構成要素とクライアント７５２、７５４、７５６、または７５８のいずれかによってアクセスされるワークスペースインスタンスとの間の通信チャンネルと実質的に類似の信頼性及びレイテンシを有してもよいことに留意されたい。いくつかの実施形態において、ピアＶＰＣ７６０などのピアＶＰＣは、複数の可用性ゾーンまたは領域のコンピューティングノード上にホストされるＷＳ  ＰＯＰゲートウェイ構成要素を含んでもよいことに留意されたい。さらに他の実施形態において、ワークスペースサービスを提供するネットワーク化環境のＷＳ  ＰＯＰゲートウェイ構成要素の全ては、ワークスペースサービスＶＰＣ自体の内部で動作するのではなく、ワークスペースサービスＶＰＣに密に結合される１つ以上のピアＶＰＣ内で動作してもよいことにも留意されたい。
【００８４】
上述のように、いくつかの実施形態において、ワークスペースサービスは、そのロケーション（例えば、インタラクティブビデオストリームが通信されるクライアントデバイスへのＰＯＰロケーションの近く）に依存する仮想デスクトップセッションのインタラクティブビデオストリームを処理する際に使用される特定のＰＯＰロケーションでゲートウェイ構成要素を選択するように構成されてもよい。例えば、クライアント（例えば、顧客またはサービス加入者）がニューヨーク市のクライアントコンピューティングデバイスから仮想デスクトップセッションに接続している場合、セッションの間のインタラクティブビデオストリームは、クライアントのためにセッションのための仮想デスクトップインスタンスをホストする物理的コンピューティングリソース（例えば、１つ以上のコンピューティングノード）が設置される場所に関係なく、（好適なゲートウェイ構成要素がホストされるロケーションに依存して）クライアントが上海のクライアントコンピューティングデバイスから仮想デスクトップセッションに接続している場合とは異なるアクセスゲートウェイを通して処理されてもよい。このアプローチを使用して、クライアントは、それらの物理的ロケーションに関係なく、（少なくとも選択されたＰＯＰロケーションゲートウェイまで、ワークスペースサービス自体によって制御される）優れたネットワーク性能を体感してもよい。換言すれば、いくつかの実施形態において、クライアントが仮想デスクトップインスタンスに接続するデバイスを物理的に移動させるとき、サービスは、セッションのインタラクティブビデオトラフィックを最も優れた利用可能なゲートウェイ（例えば、クライアントデバイスに近いもの）に自動的にリダイレクトしてもよい。
【００８５】
いくつかの実施形態において、異なるポイントオブプレゼンス（例えば、異なる地理的領域のエッジロケーションで）の少なくともいくつかのリソース（例えば、物理的コンピューティングリソース及び／または仮想コンピューティングリソースインスタンス）は、同じ（または近くの）都市、国、または地域のクライアントによるそれらの使用を予想して、ワークスペースサービスのＶＰＣ内のゲートウェイ構成要素としてプロビジョニングされてもよい。いくつかの実施形態において、同じ地理的領域のクライアントデバイスからワークスペースサービスに接続するユーザ数がそのような増加を保証する場合は、サービス（または、その管理構成要素）は、特定のポイントオブプレゼンスロケーションのゲートウェイ構成要素として、追加の仮想コンピューティングリソースをプロビジョニング（例えば、クライアントによる接続をサポートするために能力を拡大）してもよい。異なる実施形態において、ゲートウェイインスタンスのこの自動スケールは、ワークスペースサービスの中心または特定のＰＯＰロケーションで必要に応じて実行されてもよい。いくつかの実施形態において、サービスは、１つ以上のゲートウェイ構成要素による通信の損失、または、１つ以上のゲートウェイ構成要素が特定のＰＯＰロケーションでホストされるコンピューティングノードの障害のあとに、クライアントデバイスとワークスペースインスタンスとの間のトラフィックが代替のゲートウェイ構成要素（例えば、クライアントデバイスに最も近いＰＯＰロケーションでホストされないもの）に向けられてもよい（または、リダイレクトされてもよい）フェールオーバー機構を実装してもよい。同様に、サービスは、ゲートウェイ構成要素（または、ＰＯＰロケーション）によって経験される相対的な作業負荷の変化に応答して、クライアントデバイスとワークスペースインスタンスとの間のトラフィックを特定のゲートウェイ構成要素（及び／またはＰＯＰロケーション）に向けてもよい（または、リダイレクトしてもよい）。いくつかの実施形態において、クライアントデバイスからトラフィックを、（例えば、障害のために、ロードバランシングのために、または任意の他の理由のために）、クライアントデバイスに近いゲートウェイ構成要素（または、ＰＯＰロケーション）から離れてリダイレクトされる必要がある場合、システムは自動的に、トラフィックを次に最も近いゲートウェイ構成要素（または、ＰＯＰロケーション）にリダイレクトしてもよい。他の実施形態において、そのようなトラフィックがリダイレクトされるゲートウェイ構成要素やＰＯＰロケーションは、利用可能なゲートウェイ構成要素の中からゲートウェイ構成要素を選択するためのロードバランシングポリシー、またはいくつかの他のタイプの優先権ポリシーに依存してもよく、それは、クライアントの近くのポイントオブプレゼンスロケーションでホストされるゲートウェイ構成要素、及びクライアントからさらに離れたポイントオブプレゼンスロケーションでホストされるゲートウェイ構成要素を含んでもよい。
【００８６】
いくつかの実施形態において、サービスは、どのゲートウェイが特定のクライアントの使用に利用可能かを示す情報を維持してもよく、それらのクライアントに、（特定のＰＯＰロケーションでの）利用可能なゲートウェイ構成要素の送信先アドレスのリストを提供してもよい。例えば、サービスは、クライアント及び仮想コンピューティングサービスとそれらがホストされるポイントオブプレゼンスロケーションとの間でネットワークインターフェースを提供するため、そして、ワークスペースサービスのクライアントサイド構成要素（例えば、特定のクライアントのために実行しているワークスペースクライアントプロセス）にそれを提供するために利用可能である一組の２つ以上のゲートウェイ構成要素を自動的に決定することに対して構成されてもよい。このような実施形態において、ワークスペースサービスのクライアントサイド構成要素は、利用可能なゲートウェイ構成要素をリストから選択するように構成されてもよく、選択されたゲートウェイ構成要素を通しての仮想デスクトップインスタンスへの接続及び仮想デスクトップセッションの開始の試みが失敗した場合、セッションの接続及び開始する試みにおいて利用可能なゲートウェイ構成要素のリストを循環するように構成されてもよい。いくつかの実施形態において、サービスは、負荷情報または可用性情報に基づく（特定のＰＯＰロケーションでの）利用可能なゲートウェイ構成要素の送信先アドレスのリストを修正するように構成されてもよく、（例えば、事前に利用可能なゲートウェイ構成要素がホストされるコンピューティングノードのうちの１つもしくは複数で経験される作業負荷の増減、事前に利用可能なゲートウェイ構成要素のうちの１つもしくは複数との通信の損失、または、事前に利用可能なゲートウェイ構成要素のうちの１つもしくは複数がホストされるコンピューティングノードの障害に応答して、）更新されたリストをワークスペースサービスのクライアントサイド構成要素に提供してもよい。
【００８７】
図８は、ポイントオブプレゼンスロケーションのゲートウェイ構成要素を通じて、クライアントに仮想デスクトップサービスを提供するための方法の１つの実施形態を示すフロー図である。８１０で示されるように、この例において、方法は、仮想デスクトップサービスにサインインし、仮想デスクトップセッションを開始する（例えば、仮想デスクトップインスタンスをインスタンス化する、及び／または仮想デスクトップインスタンスに接続する）クライアントからの要求を受信することを含んでもよい。要求が認証されない場合（例えば、クライアントが有効な証明書を生成しない場合）、８２０からの否定終了として示され、方法は、８２５のように、クライアントに障害の検出を戻すことを含んでもよい。しかし、要求が認証される場合、８２０からの肯定終了として示され、方法は、８３０のように、クライアントの使用のために仮想デスクトップ（ワークスペース）インスタンスの仮想コンピューティングリソースを構成することを含んでもよい。例えば、方法は、仮想資源インスタンスをインスタンス化することと、クライアントのために仮想デスクトップ（ワークスペース）を実装するためにそれを構成することとを含んでもよい。
【００８８】
この実施例に示されるように、方法は、８４０のように、仮想デスクトップセッションのインタラクティブビデオストリームがクライアントに通信しなければならない適切なポイントオブプレゼンス（ＰＯＰ）ロケーションを決定することを含んでもよい。いくつかの実施形態において、クライアント（または、エンドユーザ）は、仮想デスクトップインスタンスと通信での使用のための特定のＰＯＰロケーション（または、そのゲートウェイ構成要素）を選択してもよい。他の実施形態において、仮想デスクトップサービスは、（自動的に、例えば、要求が受信されたクライアントデバイスのロケーションに基づいて、様々なゲートウェイ構成要素の作業負荷に基づいて、または、他の基準またはポリシーを使用して）複数の利用可能なＰＯＰロケーション（及び／またはそのゲートウェイ構成要素）のうちのどれが、仮想デスクトップインスタンスとクライアントとの間のインタラクティブビデオストリームトラフィックを処理するために使用されるべきかを決定するように構成されてもよい。
【００８９】
好適なＰＯＰロケーション（及び／またはそのゲートウェイ構成要素）が決定されると、方法は、８５０のように、ワークスペースサービスの仮想プライベートクラウド内にある選択されたＰＯＰロケーションのゲートウェイ構成要素を通して、クライアントとワークスペースインスタンスとの間の接続（または、通信チャンネル）を設定することを含んでもよい。例えば、いくつかの実施形態において、方法は、ワークスペースサービスの管理構成要素が、仮想プライベートネットワーク上のＰＯＰロケーションの仮想デスクトップインスタンスからゲートウェイ構成要素までトンネルまたはパイプを確立することを含んでもよく、その結果、仮想デスクトップインスタンスのためのインタラクティブストリームが伝えられる信頼性があり、低レイテンシの接続は、外のＰＯＰロケーションまで完全にワークスペースサービスによって制御されていてもよく、信頼性の低い及び／またはより高いレイテンシの公共ネットワーク（例えば、ゲートウェイ構成要素と公共インターネット上のクライアントとの間の接続）上を伝えられる接続の部分は最小化されてもよい。異なる実施形態において、ＰＯＰロケーションのゲートウェイ構成要素を通してクライアントとワークスペースインスタンスとの間の接続または通信チャンネルを確立する管理構成要素は、ゲートウェイ構成要素をホストするコンピューティングノード、またはワークスペースインスタンスをホストするコンピューティングノードと同じ領域または可用性ゾーンに物理的に設置されるコンピューティングノード上に、ホストされてもよく、またはホストされなくてもよいことに留意されたい。
【００９０】
接続が確立されると、方法は、８６０のように、クライアントと仮想デスクトップインスタンスとの間でインタラクティブビデオトラフィックのための接続の使用を始めることを含んでもよい。例えば、方法は、ワークスペースサービスが、仮想デスクトップインスタンスを（仮想化されたコンピューティングリソースインスタンスにアクセスするクライアントによって使用可能な証明書を提供することを含んでもよい）クライアントに利用可能にすること、表示のためにピクセル（ならびに／もしくは、ピクセルを生成及び描画するためのコマンド）のストリームのクライアントへの通信を始めること、ならびに／または、この接続上でのクライアントから受信する入力（例えば、キーボード入力、マウス入力、またはタッチベースインターフェース入力などの、仮想デスクトップインスタンスとのユーザインタラクションを示す入力）を受信して、処理する準備をすることを含んでもよい。
【００９１】
図９は、ポイントオブプレゼンスロケーションのゲートウェイ構成要素を通じて、ワークスペースプロバイダとクライアントとの間のインタラクティブビデオトラフィックを管理するための方法の１つの実施形態を示すフロー図である。９１０で示されるように、この例において、方法は、データセンター内で、ワークスペースサービスが、仮想化されたコンピューティングリソースインスタンスをインスタンス化することと、クライアントのために仮想デスクトップ（ワークスペース）インスタンスとしてそれを構成することと、仮想デスクトップ（ワークスペース）セッションを開始することとを含んでもよい。いくつかの実施形態において、仮想デスクトップ（ワークスペース）インスタンスとしての使用のために仮想デスクトップインスタンスを構成すること、及び、ワークスペースセッションを開始することは、ワークスペースＰＯＰロケーションのゲートウェイ構成要素を通して、仮想デスクトップ（ワークスペース）インスタンスと、仮想デスクトップ（ワークスペース）インスタンスが代わりに構成されたクライアントとの間の通信チャンネルを確立することを含んでもよい。本明細書に記載されるように、仮想デスクトップ（ワークスペース）インスタンスとゲートウェイ構成要素との間の通信チャンネルの一部は、仮想プライベートネットワーク上に実装されてもよく、一方、ゲートウェイ構成要素とクライアントとの間の通信チャンネルの一部は、公共ネットワーク上に実装されてもよい。仮想デスクトップインスタンスが仮想デスクトップ（ワークスペース）インスタンスとしての使用のために構成され、通信チャンネルが確立されると、方法は、パラレルパス上の仮想デスクトップ（ワークスペース）インスタンスとクライアントとの間の双方向インタラクティブビデオトラフィックを管理することを含んでもよく、そのどちらもゲートウェイ構成要素を含んでもよい。例えば、１つのパスは、クライアントの仮想デスクトップ（ワークスペース）インスタンスからのピクセルのストリーム（及び／または、ピクセルの生成及び描画のためのコマンド）をクライアントに通信するために使用されてもよく、別のパスは、クライアントからの入力を仮想デスクトップ（ワークスペース）インスタンスに通信するために使用されてもよい。これらの２つのパラレルパスはそれぞれ、図９のフロー図の左右両側のパラレルパスによって示される。
【００９２】
この実施例に示されるように、方法は、９２０のように、ワークスペースインスタンスが、クライアントデバイス上でのクライアントワークスペースの表示のためにＵＤＰネットワークプロトコル上にビデオストリームを生成することを含んでもよい。例えば、方法は、ワークスペースインスタンス（または、その仮想化されたコンピューティングリソース）が、クライアントのためにワークスペースインスタンス上のアプリケーションの実行に応答して、ＵＤＰネットワークプロトコル上にピクセルのストリームを生成することを含んでもよい。方法はまた、９４０のように、ワークスペースインスタンスが、クライアントデバイスのロケーションの近くのＰＯＰロケーションでゲートウェイ構成要素にビデオストリームを提供することを含んでもよい。上述のように、いくつかの実施形態において、ワークスペースインスタンスはまた、クライアントデバイス（図示せず）による表示のためにピクセルを生成及び／または描画するためにクライアントデバイスに向ける命令を表すコマンドをクライアントデバイスに提供してもよい。上記のように、ゲートウェイ構成要素は、ワークスペースサービスの仮想プライベートクラウド内のワークスペース管理構成要素と通信し、相互運用する（例えば、仮想プライベートネットワーク上で通信している）複数のゲートウェイ構成要素のうちの１つでもよく、または、ＶＰＣピアリング機構を使用して、ワークスペースサービスの仮想プライベートクラウドに通信可能に連結される独立した仮想プライベートクラウド内で動作してもよいことに留意されたい。例えば、ゲートウェイ構成要素がワークスペースサービスのＶＰＣに密に結合されるピアＶＰＣ内で動作する実施形態において、（クライアントデバイスでのピクセルの生成及び／または描画のためのピクセルデータ及び／またはコマンドを含む）ビデオストリームが、２つのＶＰＣにわたる安全で、信頼性のある、低レイテンシの通信チャンネル上で、ワークスペースインスタンスからゲートウェイ構成要素まで通信されてもよい。
【００９３】
方法は、９６０のように、クライアントデバイス上で実行するワークスペースサービスのクライアント構成要素が、ゲートウェイ構成要素からＵＤＰビデオストリームを受信することと、それをＴＣＰに変換することとを含んでもよい。例えば、いくつかの実施形態において、クライアントデバイスは、クライアントデバイス上のファイアウォールを通してポート４１７２でＵＤＰストリームを受信してもよく、そのファイアウォールの背後で、ワークスペースサービスのクライアント構成要素は、ポート４４３のためにそれをＴＣＰに変換してもよい。この実施例に示されるように、方法は、９８０のように、クライアントサイドアプリケーションが、クライアントデバイス上で変換されたビデオストリームを描画することと、表示することとを含んでもよい。
【００９４】
その間（例えば、要素９２０〜９８０に示される操作が実行される間）に、方法はまた、９３０のように、ワークスペースサービスのクライアント構成要素が、（例えば、ピクセルストリームを処理するのと同じゲートウェイ構成要素）クライアントデバイスのロケーションの近くのＰＯＰロケーションでゲートウェイ構成要素への入力を提供することを含んでもよい。例えば、クライアントは、ローカルデスクトップを含むユーザインタラクションと類似の仮想デスクトップインスタンスとのユーザインタラクション（例えば、キーボード、タッチベースインターフェース、及び／またはマウスを含む相互作用）を示す入力を提供してもよい。
【００９５】
この実施例に示されるように、方法は、９５０のように、ゲートウェイ構成要素が、クライアントからワークスペースインスタンスまでのリターンパスをブリッジすることを含んでもよい。いくつかの場合において、このパスは、可用性ゾーン及び／または地理的領域境界を横切ってもよいことに留意されたい。方法はまた、９７０のように、ワークスペースインスタンスがクライアント入力を受信することと、要求された操作を実行することと、行われた操作に応答して（例えば、ＵＤＰネットワークプロトコル上で）ビデオストリームを生成することとを含んでもよい。ビデオストリームが生成されると、この実施例において、方法は９４０のように続いてもよい。
【００９６】
この実施例に示されるように、図９で示され、インタラクティブビデオストリーム処理に対応する操作、入力がクライアントから受信され、新しいピクセルストリーム（及び／または、ピクセルの生成及び描画のためのコマンド）が生成されて、応答してクライアントデバイスに通信される（要素９３０、９５０、９７０、９２０、９４０、９６０、及び９８０によるパス、及び、９８０から９３０へのフィードバックとして示される）ように、そして、ワークスペースインスタンス上の様々なクライアントアプリケーションの実行に応答してワークスペースインスタンスによって生成されるビデオストリームがクライアントデバイスに通信される（要素９２０、９４０、９６０、９８０を含むパス、及び９８０から９２０へのフィードバックとして示される）ように、繰り返されてもよい。
【００９７】
図１０は、ポイントオブプレゼンスロケーションのゲートウェイ構成要素を通じて、クライアントがワークスペースサービスに接続し、通信するための方法の１つの実施形態を示すフロー図である。１０１０で示されるように、この例において、方法は、エンドユーザのためにリモートデータセンターでワークスペースインスタンスをホストするワークスペースサービスのクライアント構成要素が、ゲートウェイ構成要素がホストされるＰＯＰロケーションの送信先アドレスのリストを受信することを含んでもよい。例えば、いくつかの実施形態において、ワークスペースサービスのクライアント構成要素は、クライアントデバイス上でのクライアント構成要素のインスタンス化（インストレーション）または構成（初期化）の間に、ワークスペースサービスから（ワークスペースサービスのクライアント構成要素が実行しているクライアントデバイスとそれらがホストされるワークスペースサービス及びポイントオブプレゼンスロケーションとの間に通信インターフェースを提供するために利用可能である一組の２つ以上のゲートウェイ構成要素を識別できる）そのようなリストを受信してもよい。いくつかのこのような実施形態において、クライアント構成要素は、定期的にまたは必要もしくは要求に応じて（例えば、ゲートウェイ構成要素の数または構成の変更に応答して）更新されたリスト（または、リストに適用される更新）を受信してもよい。
【００９８】
この実施例に示されるように、方法は、ワークスペースサービスのクライアント構成要素が、ゲートウェイ構成要素がワークスペースサービスから受信されたリストに含まれるそれらの中からホストされる（１０２０のように）ＰＯＰロケーションの送信先アドレスを選択することを含んでもよい。例えば、様々な実施形態において、送信先アドレスは、自動的にまたはユーザ入力によって選択されてもよく、その選択自体は、クライアント構成要素が実行されているクライアントデバイスのロケーション、１つ以上のＰＯＰロケーションで及び／またはその様々なゲートウェイ構成要素によって経験される作業負荷、及び／または、他の基準もしくはプレファレンス（そのいくつかはワークスペースサービスのデフォルトポリシーまたはクライアント固有のポリシーで指定されてもよい）に基づいてもよい。図１０に示されるように、方法は、１０３０のように、ワークスペースサービスのクライアント構成要素が、選択されたＰＯＰロケーションのゲートウェイ構成要素を通して、ワークスペースインスタンスと接続しようと試みることを含んでもよい。
【００９９】
ワークスペースインスタンスに接続する試みが成功した（１０４０からの肯定終了として示される）場合、方法は、クライアント構成要素が、選択されたＰＯＰロケーションのゲートウェイ構成要素を通して、インタラクティブビデオストリームデータのワークスペースインスタンスとの交換を開始することを含んでもよく、それは、本明細書に記載されるように、（１０５０のように）ワークスペースインスタンスからピクセルストリームを受信すること、及び、（パラレルに）ユーザ入力を戻すことを含んでもよい。上述のように、インタラクティブビデオストリームはまた、ワークスペースインスタンスからクライアント構成要素に通信し、いくつかの実施形態において、クライアントデバイスによる表示のためのピクセルの生成及び／または描画するためにクライアント構成要素に向ける命令を表すコマンドを含んでもよい。しかし、ワークスペースインスタンスに接続する試みが成功していない（１０４０からの否定終了として示される）場合、方法は、ワークスペースサービスのクライアント構成要素が、ゲートウェイ構成要素がホストされるＰＯＰロケーションの別の送信先アドレスを選択することと、再びワークスペースインスタンスと接続しようとすることとを含んでもよい。これは、１０４０の否定終了から１０２０へのフィードバックによって、図１０に示される。本明細書に記載されるように、インタラクティブビデオストリーム以外のワークスペースインスタンスとクライアントとの間のトラフィック（例えば、接続要求または他のタイプの要求もしくはデータ）は、インタラクティブビデオストリームを伝えるために使用されるもの以外のワークスペースインスタンスの異なるインターフェース上で通信されてもよいことに留意されたい。例えば、（上記のような）Ｅ０型インターフェースは、インタラクティブビデオストリームを伝えるために使用されてもよく、一方、（上記のような）Ｅ１型インターフェースは、他のタイプの情報の通信、及び／またはワークスペースインスタンスが代わりに作成されたワークスペースサービスクライアント以外のネットワーク実体との通信のために使用されてもよい。いくつかの実施形態において、クライアント（例えば、顧客またはサービス加入者）は、それらのワークスペースインスタンスへの全てのアクセスが、クライアントがそれらのワークスペースインスタンスにアクセスするクライアントデバイスの物理的ロケーションに関係なく、特定のゲートウェイ構成要素を通して通信されるべきであることを（例えば、ワークスペースサービスのクライアント構成要素のインターフェースを通して）指定することができてもよいことにも留意されたい。他の実施形態において、クライアントは、（それらのロケーションに関係なく）使用のためにデフォルトゲートウェイ構成要素を指定することができてもよいが、特定の状況の下で、このデフォルト状態をオーバーライドすることを可能としてもよい。さらに他の実施形態において、クライアントは、ゲートウェイ構成要素が、クライアントがそれらのワークスペースインスタンスにアクセスするクライアントデバイスの物理的ロケーションに少なくとも部分的に依存して、使用のために選択されなければならないことを指定することができてもよい。
【０１００】
多くの例示的な実施形態は、サービスプロバイダネットワークのエッジに対応するＰＯＰロケーションに設置されるゲートウェイ構成要素に関して記載されていることに留意されたい。しかし、他の実施形態において、クラウドコンピューティング環境のワークスペースへの低レイテンシの接続を提供するための本明細書に記載される技術は、ワークスペースインスタンスからクライアントデバイスへの様々なパスに沿ってネットワーク機能を実行する他のタイプのゲートウェイ構成要素またはルータに適用されてもよい。例えば、ワークスペースサービスの仮想プライベートクラウドは、エッジロケーションではないが、ワークスペースインスタンスがホストされるコンピューティングノードが物理的に設置されるデータセンターよりクライアントデバイスの近くに設置される類似のリモートネットワーク構成要素まで広がってもよい。このような実施形態において、性能は、それらのリモートネットワーク構成要素までの（例えば、ワークスペースサービスによって制御される仮想プライベートネットワーク上の）安全で、信頼性のある、低レイテンシの接続の上で、インタラクティブビデオストリームを仮想デスクトップセッションに提供し、クライアントデバイスへのパスに沿って他のネットワーク（例えば、潜在的により低い品質のネットワーク）の貢献を減少させることによって、向上させることができる。
【０１０１】
例示的システム
少なくともいくつかの実施形態において、本明細書に記載されるようなクラウドコンピューティング環境のワークスペースへの低レイテンシ接続を提供するための技術のいくつかまたは全てを実装するシステムが、図１１に示されるようなコンピュータシステム１１００など、非一時的コンピュータアクセス可能（例えば、コンピュータ可読）媒体を含む、またはこれにアクセスするように構成される汎用コンピュータシステムを含むことができる。例えば、様々な実施形態において、本明細書に記載されるコンピュータシステム構成要素のいくつかまたは全て（例えば、仮想コンピューティングサービス及び／もしくは仮想記憶サービス、仮想化されたコンピューティングリソースインスタンス、仮想マシン、仮想マシンモニタまたはハイパーバイザ、ワークスペース管理構成要素、ならびに／または仮想デスクトップインスタンスを集合的に提供するサービスプロバイダネットワーク上のデータセンターコンピュータならびに／または他の構成要素、ポイントオブプレゼンスロケーションのゲートウェイ構成要素または他の構成要素、または、クライアントコンピューティングデバイス、ワークスペースサービスのクライアントサイド構成要素、ファイアウォール、もしくはクライアントネットワーク上の他の構成要素を含む）は、それらの構成要素の機能を提供するように構成されているコンピュータシステム１１００に類似のコンピュータシステムを使用して実装されてもよい。示される実施形態において、コンピュータシステム１１００は、入出力（Ｉ／Ｏ）インターフェース１１３０を介して、システムメモリ１１２０に連結される１つ以上のプロセッサ１１１０を含む。コンピュータシステム１１００は、Ｉ／Ｏインターフェース１１３０に連結された１つ以上のネットワークインターフェース１１４０をさらに含む。いくつかの実施形態において、ネットワークインターフェース１１４０は、２つ以上のネットワークインターフェースを含んでもよく、それは、例えば、コンピュータシステム１１００上でホストされる仮想化されたコンピューティングリソースとそのクライアントとの間の通信のために構成されるもの、及び、仮想化されたコンピューティングリソースと、外部リソース、コンピューティングシステム、データセンター、またはプロバイダネットワーク及び仮想化されたコンピューティングリソースが代わりにホストされるクライアントネットワーク以外のネットワーク上のインターネットの送信先との間の通信のために構成されるものを含む。
【０１０２】
様々な実施形態において、コンピュータシステム１１００は、１つのプロセッサ１１１０を含む単一プロセッサシステム、または複数（例えば、２、４、８、または別の適切な数）のプロセッサ１１１０を含むマルチプロセッサシステムでもよい。プロセッサ１１１０は、命令を実行することが可能である任意の適切なプロセッサであり得る。例えば、様々な実施形態において、プロセッサ１１１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣ、またはＭＩＰＳ  ＩＳＡ、あるいは任意の他の適切なＩＳＡ等、様々な命令セットアーキテクチャ（ＩＳＡ）のうちのいずれかを実装する汎用または埋め込みプロセッサであり得る。マルチプロセッサシステムにおいて、プロセッサ１１１０の各々は一般に、同じＩＳＡを実装することができるが、必ずしも実装しなくてもよい。
【０１０３】
システムメモリ１１２０は、プロセッサ１１１０によってアクセス可能な命令及びデータを記憶するように構成され得る。様々な実施形態において、システムメモリ１１２０は、静的ランダムアクセスメモリ（ＳＲＡＭ）、同期動的ＲＡＭ（ＳＤＲＡＭ）、不揮発性／フラッシュタイプメモリ、または任意の他の種類のメモリ等、任意の適切なメモリ技術を使用して実装され得る。例示される実施形態において、クラウドコンピューティング環境のワークスペースへの低レイテンシ接続を提供するための上記の方法、技術、及びデータなどの、１つ以上の所望の機能を実装するプログラム命令及びデータは、コード１１２５及びデータ１１２６として、システムメモリ１１２０内部に記憶されて示される。
【０１０４】
１つの実施形態において、Ｉ／Ｏインターフェース１１３０は、ネットワークインターフェース（単数または複数）１１４０または他の周辺インターフェースのうちのいずれかを含んで、プロセッサ１１１０と、システムメモリ１１２０と、デバイス内の任意の周辺機器との間で、Ｉ／Ｏトラフィックを調整するように構成されてもよい。いくつかの実施形態において、Ｉ／Ｏインターフェース１１３０は、１つの構成要素（例えば、システムメモリ１１２０）からのデータ信号を、別の構成要素（例えば、プロセッサ１１１０）によって使用されるために適切な形式に変換するために、任意の必要なプロトコル、タイミング、または他のデータ変換を実施することができる。いくつかの実施形態において、Ｉ／Ｏインターフェース１１３０は、例えば、周辺構成要素相互接続（ＰＣＩ）バス基準またはユニバーサルシリアルバス（ＵＳＢ）基準等、多種の周辺バスを通じて接続されたデバイスのサポートを含むことができる。いくつかの実施形態において、Ｉ／Ｏインターフェース１１３０の機能は、例えば、ノースブリッジ及びサウスブリッジ等、２つ以上の別々の構成要素に分割され得る。また、いくつかの実施形態において、システムメモリ１１２０へのインターフェース等、Ｉ／Ｏインターフェース１１３０の機能のいくつかまたは全ては、プロセッサ１１１０内に直接組み入れることができる。
【０１０５】
ネットワークインターフェース（単数または複数）１１４０は、データが、コンピュータシステム１１００と、例えば、図面に示される他のコンピュータシステムまたはデバイス等、ネットワーク（単数または複数）１１５０に接続された他のデバイス１１６０との間で交換されることを可能にするように構成され得る。様々な実施形態において、ネットワークインターフェース（単数または複数）１１４０は、例えば、イーサネット（登録商標）ワークのタイプ等、任意の適切な有線または無線汎用データネットワークを介して、通信をサポートすることができる。加えて、ネットワークインターフェース（単数または複数）１１４０は、ファイバーチャンネルＳＡＮ等のストレージエリアネットワークを介して、あるいは任意の他の適切な種類のネットワーク及び／またはプロトコルを介して、アナログ音声ネットワークまたはデジタルファイバー通信ネットワーク等の電気通信網／テレフォニーネットワークを介して、通信をサポートすることができる。
【０１０６】
いくつかの実施形態において、システムメモリ１１２０は、本明細書に記載されるクラウドコンピューティング環境のワークスペースへの低レイテンシ接続を提供するための技術の様々な実施形態を実装するために、上記のプログラム命令及びデータを記憶するように構成されたコンピュータアクセス可能媒体の１つの実施形態でもよい。しかしながら、他の実施形態において、プログラム命令及び／データは、受信、送信、または異なる種類のコンピュータアクセス可能媒体上に記憶され得る。一般に、コンピュータアクセス可能（例えば、コンピュータ可読）媒体は、磁気または光学式媒体などの非一時的記憶媒体またはメモリ媒体、例えば、Ｉ／Ｏインターフェース１１３０を介して、コンピュータシステム１１００に連結されたディスクまたはＤＶＤ／ＣＤを含むことができる。非一時的コンピュータアクセス可能（例えば、コンピュータ可読）記憶媒体は、システムメモリ１１２０または別のタイプのメモリとしてコンピュータシステム１１００のいくつかの実施形態に含むことができるＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭなど）、ＲＯＭなどの任意の揮発性または不揮発性媒体も含むことができる。さらに、コンピュータアクセス可能媒体は、ネットワークインターフェース（単数または複数）１１４０を介して実装されてもよいように、ネットワーク及び／または無線リンク等の通信媒体を介して伝達される、電気、電磁気、またはデジタル信号等の伝送媒体または信号を含むことができる。
【０１０７】
本開示の実施形態は、以下の条項を考慮して説明することができる。
【０１０８】
１．１つ以上のクライアントに仮想コンピューティングサービスを集合的に提供する複数の地理的領域で設置される複数のコンピューティングノードであって、前記コンピューティングノードのそれぞれが少なくとも１つのプロセッサ及びメモリを備える、前記複数のコンピューティングノードと、
それぞれが、各前記領域のそれぞれにおけるデータセンター内の前記コンピューティングノードのそれぞれで実行される、複数の仮想化されたコンピューティングリソースインスタンスと、
それぞれが、前記領域のそれぞれにおけるポイントオブプレゼンスロケーションで前記コンピューティングノードのそれぞれにホストされる、複数のゲートウェイ構成要素と
を備え、
前記仮想化されたコンピューティングリソースインスタンスのうちの１つ以上が、仮想デスクトップサービスの管理構成要素を実装するように構成され、
前記複数のゲートウェイ構成要素のうちの少なくともいくつかと、前記仮想デスクトップサービスの前記管理構成要素とが、前記仮想デスクトップサービスの仮想プライベートクラウド内で互いに相互運用され、
前記仮想化されたコンピューティングリソースインスタンスのうちの１つが、仮想デスクトップインスタンスを実装するように構成され、
前記複数のゲートウェイ構成要素のうちの２つ以上が、クライアントデバイスと前記仮想デスクトップサービスとの間の通信のためのネットワークインターフェースとして構成され、クライアントデバイスが、公共ネットワーク上で前記２つ以上のゲートウェイ構成要素と通信し、
前記仮想デスクトップインスタンスに接続するクライアントデバイスからの要求を受信することに応じて、前記仮想デスクトップサービスの前記管理構成要素が、前記仮想デスクトップインスタンスと、前記クライアントデバイスと前記仮想デスクトップインスタンスとの間のインタラクティブビデオストリームの双方向通信のための前記２つ以上の前記ゲートウェイ構成要素のうちの１つとの間に通信チャンネルを確立するように構成され、前記インタラクティブビデオストリームが、前記仮想デスクトップインスタンスから前記クライアントデバイスに通信されるピクセルのストリームと、前記クライアントデバイスから前記仮想デスクトップインスタンスとのユーザインタラクションを示す前記仮想デスクトップインスタンスまで通信される複数の入力とを備える、
システム。
【０１０９】
２．前記２つ以上の前記ゲートウェイ構成要素のうちの前記１つ、及び前記仮想デスクトップインスタンスが実行されている前記仮想化されたコンピューティングリソースインスタンスが、前記領域の異なるものに設置される、
条項１に記載のシステム。
【０１１０】
３．前記仮想デスクトップサービスの前記管理構成要素が、前記通信チャンネルを確立する前に、前記２つ以上の前記ゲートウェイ構成要素のうちのどちらが、前記クライアントデバイスが設置される前記領域の少なくとも部分的に依存して、前記クライアントデバイスと前記仮想デスクトップインスタンスとの間の前記インタラクティブビデオストリームの双方向通信のために使用されることになるかを決定するようにさらに構成される、
先行条項のいずれか１項に記載のシステム。
【０１１１】
４．前記仮想デスクトップインスタンスが実行されている前記仮想化されたコンピューティングリソースインスタンスが、クライアントの仮想プライベートクラウド内で動作する複数の仮想化されたコンピューティングリソースインスタンスのうちの１つである、
先行条項のいずれか１項に記載のシステム。
【０１１２】
５．クライアントデバイスから、仮想デスクトップインスタンス上で仮想デスクトップセッションを開始する要求を受信することであって、前記仮想デスクトップインスタンスが、複数の可用性ゾーンに設置され、仮想デスクトップサービスを集合的に実装する複数のコンピューティングノードのうちの１つにホストされる、前記受信することと、
前記仮想デスクトップインスタンスとゲートウェイ構成要素との間の通信チャンネルを確立することであって、前記ゲートウェイ構成要素が、クライアントデバイスと前記仮想デスクトップサービスとの間に通信インターフェースを提供するように構成される複数のゲートウェイ構成要素のうちの１つであり、前記複数のゲートウェイ構成要素のそれぞれが、前記複数の可用性ゾーンのそれぞれにおけるポイントオブプレゼンスロケーションのそれぞれのコンピューティングノード上にホストされ、前記複数のゲートウェイ構成要素のうちの少なくともいくつかが、前記仮想デスクトップサービスの仮想プライベートクラウド内の前記仮想デスクトップサービスの１つ以上の他の構成要素と相互運用する、前記確立することと、
前記仮想デスクトップインスタンス上で仮想デスクトップセッションを開始することであって、前記開始することが、前記クライアントデバイスが公共ネットワーク上で前記ゲートウェイ構成要素と通信するような前記ゲートウェイ構成要素を介して、前記仮想デスクトップインスタンスと前記クライアントデバイスとの間のインタラクティブビデオストリームの通信を始めることを含み、前記インタラクティブビデオストリームが、前記仮想デスクトップインスタンスから前記クライアントデバイスに通信されるピクセルのストリームと、前記クライアントデバイスから前記仮想デスクトップインスタンスとのユーザインタラクションを示す前記仮想デスクトップインスタンスまで通信される複数の入力とを備える、前記開始することと
を、１つ以上のコンピュータで実行することを含む、
方法。
【０１１３】
６．前記仮想デスクトップインスタンスが、前記要求が前記クライアントデバイスから代わりに受信されるクライアントの仮想プライベートクラウド内で動作する複数の仮想化されたコンピューティングリソースインスタンスうちの１つによって実装される、
条項５に記載の方法。
【０１１４】
７．前記複数のゲートウェイ構成要素のそれぞれは、複数のクライアントのために、クライアントデバイスと前記仮想デスクトップサービスとの間の通信インターフェースを提供するマルチテナントゲートウェイ構成要素である、
条項５または６に記載の方法。
【０１１５】
８．前記確立することの前に、
前記複数のゲートウェイ構成要素のうちのどちらが、前記複数のゲートウェイ構成要素のうちの少なくとも１つが前記クライアントデバイスにホストされる前記ポイントオブプレゼンスロケーションに近いことに少なくとも部分的に依存する、前記クライアントデバイスと前記仮想デスクトップインスタンスとの間の前記インタラクティブビデオストリームの通信を処理するために使用されることになるかを決定することをさらに含む、
条項５〜７のいずれか１項に記載の方法。
【０１１６】
９．前記決定することが、前記ゲートウェイ構成要素が設置される可用性ゾーン以外の可用性ゾーンに設置されるデータセンターのコンピューティングノード上で実行されている前記仮想デスクトップサービスの管理構成要素によって、自動的に実行される、
条項８に記載の方法。
【０１１７】
１０．前記決定することが、前記クライアントデバイス上で実行されている前記仮想デスクトップサービスのクライアントサイド構成要素によって実行される、
条項８に記載の方法。
【０１１８】
１１．前記決定することの前に、
前記クライアントデバイスと前記仮想デスクトップサービスとの間に通信インターフェースを提供するために利用可能である一組の２つ以上のゲートウェイ構成要素を識別し、それらがホストされる前記ポイントオブプレゼンスロケーションを識別する前記仮想デスクトップサービスの前記クライアントサイド構成要素に情報を通信すること
をさらに含む、
条項１０に記載の方法。
【０１１９】
１２．前記ゲートウェイ構成要素を介して前記仮想デスクトップインスタンスと前記クライアントデバイスとの間の前記インタラクティブビデオストリームの通信を前記始めることが、ステートレスなデータグラムベースネットワークプロトコル上で前記仮想デスクトップインスタンスから前記ゲートウェイ構成要素まで前記インタラクティブビデオストリームの通信を始めることを含む、
条項５〜１１のいずれか１項に記載の方法。
【０１２０】
１３．前記公共ネットワーク上の構成要素によって、前記ステートレスなデータグラムベースプロトコルネットワークプロトコルからステートフルなネットワークプロトコルに前記インタラクティブビデオストリームを変換することと、
前記変換されたインタラクティブビデオストリームを前記クライアントデバイス上の論理的エンドポイントに提供することと
をさらに含む、
条項１２に記載の方法。
【０１２１】
１４．複数のゲートウェイ構成要素のうちの少なくともいくつかのそれぞれが、前記仮想デスクトップサービスの前記仮想プライベートクラウド内で実行されている１つ以上の仮想化されたコンピューティングリソースインスタンスによって実装される、
条項５〜１３のいずれか１項に記載の方法。
【０１２２】
１５．前記ゲートウェイ構成要素が、前記仮想デスクトップサービスの前記仮想プライベートクラウド以外の仮想プライベートクラウド内で動作し、前記他の仮想プライベートクラウドが、仮想プライベートクラウドピアリング機構を使用して、前記仮想デスクトップサービスの前記仮想プライベートクラウドに通信可能に連結される、
条項５〜１４のいずれか１項に記載の方法。
【０１２３】
１６．前記インタラクティブビデオストリームが、前記仮想デスクトップインスタンスから前記クライアントデバイスに通信され、前記クライアントデバイスによる表示のためのピクセルを生成または描画するために前記クライアントデバイスに向ける命令を表す１つ以上のコマンドをさらに備える、
条項５〜１５のいずれか１項に記載の方法。
【０１２４】
１７．１つ以上のコンピュータ上で実行されるとき、前記１つ以上のコンピュータに、
１つ以上のクライアントのために仮想デスクトップセッションを提供する仮想化されたコンピューティングリソースインスタンスを構成することであって、前記仮想化されたコンピューティングリソースインスタンスが、複数の領域に設置され、仮想コンピューティングサービスを集合的に提供する複数のコンピューティングノードのうちの１つにホストされる、前記構成することと、
前記仮想化されたコンピューティングリソースインスタンス上で仮想デスクトップセッションを開く、クライアントからの要求を受信することと、
クライアントと前記仮想コンピューティングサービスとの間のネットワークインターフェースを提供するように構成される複数のゲートウェイ構成要素のうちのどちらが、前記仮想化されたコンピューティングリソースインスタンスと前記クライアントとの間のインタラクティブビデオストリームの通信を処理するために使用されることになるか決定することであって、前記複数のゲートウェイ構成要素のそれぞれが、前記領域のそれぞれにおけるポイントオブプレゼンスロケーションのそれぞれのコンピューティングノード上にホストされ、前記複数のゲートウェイ構成要素の少なくともいくつか、及び前記仮想コンピューティングサービスの１つ以上の他の構成要素が、仮想プライベートクラウド内に加わり、前記決定することが、前記クライアントが設置される前記領域に少なくとも部分的に依存する、前記決定することと、
前記クライアントのために、前記仮想化されたコンピューティングリソースインスタンスと前記決定されたゲートウェイ構成要素との間で通信チャンネルを確立することと
を実行させるプログラム命令を記憶する非一時的コンピュータ可読記憶媒体。
【０１２５】
１８．前記１つ以上のコンピュータで実行されるとき、前記プログラム命令が、前記１つ以上のコンピュータに、
前記仮想化されたコンピューティングリソースインスタンス上で仮想デスクトップセッションを開始することであって、前記開始することが、前記クライアントが公共ネットワーク上で前記ゲートウェイ構成要素と通信するような前記ゲートウェイ構成要素を介して前記仮想化されたコンピューティングリソースと前記クライアントとの間のインタラクティブビデオストリームの通信を始めることを含み、前記インタラクティブビデオストリームが、前記仮想化されたコンピューティングリソースインスタンスから前記クライアントに通信されるピクセルのストリームと、前記クライアントから前記仮想デスクトップインスタンスとのユーザインタラクションを示す前記仮想化されたコンピューティングリソースインスタンスまで通信される複数の入力とを備える、前記開始すること
を実行させる、
条項１７に記載の非一時的コンピュータ可読記憶媒体。
【０１２６】
１９．クライアントと前記仮想コンピューティングサービスとの間にネットワークインターフェースを提供するように構成される複数のゲートウェイ構成要素のうちのどちらが前記仮想化されたコンピューティングリソースインスタンスと前記クライアントとの間のインタラクティブビデオストリームの通信を処理するために使用されることになるかを前記決定することが、前記クライアントに最も近い前記ポイントオブプレゼンスロケーションであるポイントオブプレゼンスロケーションのコンピューティングノード上にホストされるゲートウェイ構成要素を自動的に識別することを含む、
条項１７または１８に記載の非一時的コンピュータ可読記憶媒体。
【０１２７】
２０．クライアントと前記仮想コンピューティングサービスとの間にネットワークインターフェースを提供するように構成される複数のゲートウェイ構成要素のうちのどちらが前記仮想化されたコンピューティングリソースインスタンスと前記クライアントとの間のインタラクティブビデオストリームの通信を処理するために使用されることになるかを前記決定することが、前記クライアントの近くのポイントオブプレゼンスロケーションで１つ以上のコンピューティングノード上にホストされる２つ以上の前記複数のゲートウェイ構成要素の中からゲートウェイ構成要素を選択するためのロードバランシングポリシーまたは優先権ポリシーに依存して、前記クライアントに最も近い前記ポイントオブプレゼンスロケーション以外のポイントオブプレゼンスロケーションでコンピューティングノード上にホストされるゲートウェイ構成要素を選択することを含む、
条項１７〜１９のいずれか１項に記載の非一時的コンピュータ可読記憶媒体。
【０１２８】
２１．前記１つ以上のコンピュータで実行されるとき、前記プログラム命令が、前記１つ以上のコンピュータに、
クライアント及び前記仮想コンピューティングサービスとそれらがホストされる前記ポイントオブプレゼンスロケーションとの間にネットワークインターフェースを提供するために利用可能である一組の２つ以上のゲートウェイ構成要素を自動的に決定することと、
前記２つ以上のゲートウェイ構成要素がホストされる前記コンピューティングノードのうちの１つ以上で経験される作業負荷の増減、前記２つ以上のゲートウェイ構成要素のうちの１つとの通信の損失、または、前記２つ以上のゲートウェイ構成要素のうちの１つがホストされるコンピューティングノードの障害のうちの１つ以上に依存する、クライアントと前記仮想コンピューティングサービスとの間のネットワークインターフェースを提供するために利用可能である前記一組の２つ以上のゲートウェイ構成要素を修正することと
を実行させる、
条項１７〜２０のいずれか１項に記載の非一時的コンピュータ可読記憶媒体。
【０１２９】
２２．前記１つ以上のコンピュータで実行されるとき、前記プログラム命令が、前記１つ以上のコンピュータに、
障害またはエラー条件の検出に応答して、クライアントと前記仮想コンピューティングサービスとの間にネットワークインターフェースを提供するように構成される前記複数のゲートウェイ構成要素のうちの異なる１つが、前記仮想化されたコンピューティングリソースインスタンスと前記クライアントとの間のインタラクティブビデオストリームの通信を処理するために使用されることになることを決定することと、
前記クライアントのために前記仮想化されたコンピューティングリソースインスタンスと前記異なるゲートウェイ構成要素との間に通信チャンネルを確立することと
を実行させる、
条項１７〜２１のいずれか１項に記載の非一時的コンピュータ可読記憶媒体。
【０１３０】
本明細書の図面及び説明において例示された様々な方法は、方法の例示的実施形態を表す。方法は、ソフトウェア、ハードウェア、またはこれらの組合せにおいて実装され得る。方法の順序は変更されてもよく、様々な要素が追加、順番を変更、組合せ、省略、修正等されてもよい。
【０１３１】
本開示の利点を有する当業者には明らかであるように、様々な修正及び変更が行われ得る。全てのそのような修正及び変更を網羅すること、したがって、上記の説明は、制限的意味ではなく、例示として解釈されることが意図される。
【図１】
0006322727.tif 000002
【図２】
0006322727.tif 000003
【図３】
0006322727.tif 000004
【図４】
0006322727.tif 000005
【図５】
0006322727.tif 000006
【図６】
0006322727.tif 000007
【図７Ａ】
0006322727.tif 000008
【図７Ｂ】
0006322727.tif 000009
【図８】
0006322727.tif 000010
【図９】
0006322727.tif 000011
【図１０】
0006322727.tif 000012
【図１１】
0006322727.tif 000013