(57)【特許請求の範囲】
【請求項１】
遠隔ネットワークサービスへローカルネットワークアクセスを提供するためのコンピュータに実装された方法であって、
複数の遠隔の客にプライベートコンピュータネットワークを提供する設定可能なネットワークサービスの１つ以上のコンピュータシステムの制御の下で、
多重コンピュータノードを含む第１のプライベートコンピュータネットワークの第１の客に対する構成を起動し、かつ前記第１のプライベートコンピュータネットワーク用の設定情報を特定する、前記複数の遠隔の客の１人である前記第１の客からの１つ以上の要求を受信することであって、前記設定情報が、前記第１のプライベートコンピュータネットワークとともに利用するための複数の特定のネットワークアドレス、コンピュータ関連資源を提供するネットワークアクセス可能な遠隔資源サービスの指定、および前記第１のプライベートコンピュータネットワークの一部ではないコンピュータシステムへの、前記第１のプライベートコンピュータネットワークの前記多重コンピュータノードのアクセスを制限するためのネットワークアクセス制限情報を含む、要求を受信することと、
前記設定情報に従って、前記第１のプライベートコンピュータネットワークを自動設定することであって、前記設定することが、前記多重コンピュータノード各々を、前記特定のネットワークアドレスの１つに関連させること、前記指定された遠隔資源サービスを示すための、前記特定のネットワークアドレスの特定の１つを指定すること、および前記多重コンピュータノードから、前記特定のネットワークアドレスの一部ではないネットワークアドレスへの少なくとも一部の通信を防止するための設定を実行することを含み、前記多重コンピュータノードが、前記設定可能なネットワークサービスによって提供された複数のコンピュータノードのサブセットである、第１のプライベートコンピュータネットワークを自動設定することと、
前記設定情報に従って、前記多重コンピュータノードによって送信された通信を管理することであって、前記管理することが、前記多重コンピュータノードの１つ以上によって、前記指定されたネットワークアドレスに送信された１つ以上の通信に対して、前記第１のプライベートコンピュータネットワークの外部の１つ以上のネットワークを介して、前記遠隔資源サービスに前記１つ以上の通信を転送することを含む、通信を管理することと、を含む方法。
【請求項２】
前記特定の設定情報に含まれる前記ネットワークアクセス制限情報が、前記遠隔資源サービスの１つ以上のコンピュータシステム以外の、前記第１のプライベートコンピュータネットワークの一部ではないコンピュータシステムへの、前記第１のプライベートコンピュータネットワークの前記多重コンピュータノードのアクセスを禁止し、かつ前記多重コンピュータノードから、前記特定のネットワークアドレスの一部ではない他のネットワークアドレスへの少なくとも一部の通信を防止するための前記設定の前記実行が、前記多重コンピュータノードから、前記特定のネットワークアドレスの一部ではない前記他のネットワークアドレスへのあらゆる通信が送信されることの防止を含む、請求項１に記載の方法。
【請求項３】
前記第１のプライベートコンピュータネットワークが、前記複数の設定可能なネットワークサービスによって提供されたコンピュータノードと相互接続する、前記設定可能なネットワークサービスの物理的なサブストレートネットワーク上にオーバーレイされた仮想ネットワークとして、前記設定可能なネットワークサービスにより提供されており、前記特定のネットワークアドレスが仮想ネットワークアドレスであり、前記指定された遠隔資源サービスが、前記サブストレートネットワークの一部である設定されたローカルアクセスポイントを有しており、これにより、前記１つ以上のコンピュータノードによって、前記指定されたネットワークアドレスに送信された前記１つ以上の通信が、前記指定された遠隔資源サービスの前記設定されたローカルアクセスポイントに供給される、請求項１に記載の方法。
【請求項４】
前記設定可能なネットワークサービスが、前記多重コンピュータノード間の通信を管理する多重モジュールを提供し、前記第１のプライベートコンピュータネットワークの前記自動設定が、前記指定されたネットワークアドレスに送信された通信を、前記１つ以上の外部ネットワーク上の前記遠隔資源サービスに転送するための、前記設定可能なネットワークサービスの前記多重モジュールの設定を含む、請求項１に記載の方法。
【請求項５】
前記設定可能なネットワークサービスによって提供された前記複数のコンピュータノードが、単一の地理的位置に配置されており、前記設定可能なネットワークサービスの前記１つ以上のコンピュータシステムが、前記第１のプライベートコンピュータネットワークの前記多重コンピュータノードとは異なる、他の前記複数の多重コンピュータノードを利用する第２の客に、第２のコンピュータネットワークをさらに提供し、前記第２のコンピュータネットワークの前記他の多重コンピュータノードの少なくとも１つが、他者に利用可能であるネットワークアクセス可能な遠隔サービスを提供し、前記指定された遠隔資源サービスが、前記第２のコンピュータネットワークを利用する前記第２の客によって提供された前記遠隔サービスである、請求項１に記載の方法。
【請求項６】
前記第１のプライベートコンピュータネットワークが、複数のコンピュータシステムを含む、前記第１の客の遠隔プライベートコンピュータネットワークの拡張となるように設定されており、前記特定の複数のネットワークアドレスが、前記遠隔プライベートコンピュータネットワークとともに用いられる複数のプライベートネットワークアドレスのサブセットであり、前記第１のプライベートコンピュータネットワークの前記自動設定が、前記第１の客の前記遠隔プライベートコンピュータネットワークの前記複数のコンピュータシステムと、前記第１のプライベートコンピュータネットワークの前記多重コンピュータノードとの間のプライベートアクセスをさらに可能にする、請求項１に記載の方法。
【請求項７】
前記第１の客による前記１つ以上の要求が、前記設定可能なネットワークサービスにより提供されたプライベートコンピュータネットワークの設定において、前記複数の遠隔の客に用いられるために、前記設定可能なネットワークサービスにより提供された１つ以上のプログラム的インターフェースの起動に基づいてプログラム的に生成され、前記特定の設定情報の前記ネットワークアクセス制限情報が、前記第１のプライベートコンピュータネットワークの前記多重コンピュータノード間の通信をさらに制御し、前記第１のプライベートコンピュータネットワークの前記自動設定が、前記多重コンピュータノードからの、前記第１のプライベートコンピュータネットワークの一部として用いられる前記多重コンピュータノードの自動選択を含み、かつ前記特定のネットワークアクセス制限情報に従って、前記多重コンピュータノード間の通信の許可およびブロックをさらに実行する、請求項１に記載の方法。
【請求項８】
前記遠隔資源サービスの制御の下で、
前記コンピュータ関連資源のサブセットの少なくとも一部にアクセスするために、前記指定されたネットワークアドレスを介して、前記第１のプライベートコンピュータネットワークの前記多重コンピュータノードから送信された、前記遠隔資源サービス内の特定のネームスペースに関連する識別子の指定を含む通信を受信することと、
指定された前記識別子に関連する前記特定のネームスペースからの、前記少なくとも一部のコンピュータ関連資源へのアクセスを提供することと、をさらに含む、請求項１に記載の方法。
【請求項９】
前記指定された遠隔資源サービスにより提供された前記コンピュータ関連資源が、データ保存サービス、プログラム実行サービス、および非同期式メッセージパッシングサービスの少なくとも１つのための資源を含み、前記多重コンピュータノードが各々、前記設定可能なネットワークサービスの複数の物理的なコンピュータシステムの１つにおいてホストされた仮想マシンであり、前記第１のプライベートコンピュータネットワークの前記設定が、前記ホストされた仮想マシン用の通信を管理する１つ以上の前記物理的なコンピュータシステムを実行する１つ以上の仮想マシン通信管理者モジュールの設定を含む、請求項１に記載の方法。
【請求項１０】
前記第１のプライベートコンピュータネットワークを利用するために特定された前記複数のネットワークアドレスの少なくとも１つと同一である、前記１人以上の他の客によって特定された１つ以上のネットワークアドレスを有する、前記第１の客以外の１人以上の客用の前記第１のプライベートコンピュータネットワーク以外の１つ以上の提供されたプライベートコンピュータネットワークを、前記複数の遠隔の客に提供された前記プライベートコンピュータネットワークが含み、前記設定可能なネットワークサービスが、それらの同一のネットワークアドレスをさらに管理し、これにより、それらの同一のネットワークアドレス各々に対して、前記他のプライベートコンピュータネットワーク各々が、前記第１のプライベートコンピュータネットワーク用の前記ネットワークアドレスに対応するコンピュータノードとは異なる、そのネットワークアドレスに対応するコンピュータノードを有する、請求項１に記載の方法。
【請求項１１】
前記設定可能なネットワークサービスの前記１つ以上のコンピュータシステムによる、前記複数の遠隔の客への前記プライベートコンピュータネットワークの前記提供が、前記第１のプライベートコンピュータネットワークとともに利用するために特定された前記複数のネットワークアドレス用の任意のネットワークアドレスの選択を、前記第１の客に許可することを含む、請求項１に記載の方法。
【請求項１２】
前記第１の客からの前記１つ以上の要求が、前記第１の客のコンピュータデバイスにおいて前記第１の客にディスプレイされたグラフィカルユーザインターフェースとの、前記第１の客の１つ以上の相互作用に基づいて起動される、請求項１に記載の方法。
【請求項１３】
遠隔ネットワークサービスへのローカルネットワークアクセスを提供するように設定されたコンピュータシステムであって、
１つ以上のメモリと、
複数の遠隔の顧客各々に対して、遠隔の顧客に用いられるために構成されたコンピュータネットワークを自動的に提供するように設定された設定可能なネットワークサービス管理者モジュールと、を備えており、
前記顧客に用いられるために構成されたコンピュータネットワークを設定するための、前記顧客により提供された設定情報の受信であって、前記構成されたコンピュータネットワークを介して、前記構成されたコンピュータネットワークの一部として提供された多重コンピュータノードにアクセス可能な１つ以上のネットワークアクセス可能な遠隔資源サービスの指定を含む設定情報の受信と、
前記受信した設定情報に従った、前記顧客用の前記構成されたコンピュータネットワークの自動設定であって、前記構成されたコンピュータネットワークの一部であり、かつ前記多重コンピュータノードから、前記構築したアクセス機構を通じた前記指定された遠隔資源サービスへの通信を送信することを可能にするような方式において、前記指定された遠隔資源サービスに関連する１つ以上のアクセス機構の構築を含む自動設定と、
前記構成されたコンピュータネットワークの前記多重コンピュータノードへのアクセスの前記顧客への提供と、を含むコンピュータシステム。
【請求項１４】
前記設定可能なネットワークサービス管理者モジュールが、設定可能なネットワークサービスの一部であり、かつ前記顧客に用いられるために構成された前記コンピュータネットワークを設定するために、前記複数の遠隔の顧客に用いられるプログラム的インターフェースを提供し、前記構成されたコンピュータネットワーク各々の前記多重コンピュータノードが、前記構成されたコンピュータネットワークを利用するための、前記設定可能なネットワークサービスによって提供された複数のコンピュータノードのサブセットであり、前記複数の顧客の少なくとも一部の各々において、前記顧客により提供された前記設定情報が、前記プログラム的インターフェースを通じてプログラム的に提供され、前記顧客用の前記構成されたコンピュータネットワークのための追加的な設定情報をさらに含み、前記追加的な設定情報が、前記構成されたコンピュータネットワークとともに利用するための複数の特定のネットワークアドレス、および前記構成されたコンピュータネットワークの一部ではないコンピュータシステムへの、前記構成されたコンピュータネットワークの前記多重コンピュータノードのアクセスを防止するネットワークアクセス制限情報を含み、前記受信した設定情報に従った、前記顧客用の前記構成されたコンピュータネットワークの前記自動設定が、前記構成されたコンピュータネットワークの一部として用いられる前記多重コンピュータノードの自動選択、および前記多重コンピュータノード各々を、前記特定のネットワークアドレスの１つに関連させることを含む、請求項１３に記載のコンピュータシステム。
【請求項１５】
前記設定可能なネットワークサービス管理者モジュールが、複数の遠隔の顧客各々に対する、遠隔の顧客に用いられるために構成されたコンピュータネットワークを自動的に提供する手段から成り、
前記顧客に用いられるために構成されたコンピュータネットワークを設定するための、前記顧客により提供された設定情報の受信であって、前記構成されたコンピュータネットワークを通じて、前記構成されたコンピュータネットワークの一部として提供された多重コンピュータノードにアクセス可能な１つ以上のネットワークアクセス可能な遠隔資源サービスの指定を含む設定情報の受信と、
前記受信した設定情報に従った、前記顧客用の前記構成されたコンピュータネットワークの自動設定であって、前記構成されたコンピュータネットワークの一部であり、かつ前記多重コンピュータノードから、前記構築したアクセス機構を通じて前記指定された遠隔資源サービスへの通信を送信することを可能にするような方式において、前記指定された遠隔資源サービスに関連する１つ以上のアクセス機構の構築を含む自動設定と、
前記構成されたコンピュータネットワークの前記多重コンピュータノードへのアクセスの前記顧客への提供と、を含む、請求項１３に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
多くの会社および他の組織は、例えば、（例えば、ローカルネットワークの一部として）同一場所に配置された、またはその代わりに、（例えば、１つ以上のプライベートまたはパブリック中間ネットワークを経由した接続により）複数の異なる地理的位置に配置されたコンピュータシステムを用いて、それらの稼働を支援する多数のコンピュータシステムに相互接続するコンピュータネットワークを稼働している。例えば、相当な数の相互接続したコンピュータシステムを収容するデータセンターが一般的となっている。このようなデータセンターとして、例えば、単一の組織の利益となり、かつそれにより稼働されるプライベートデータセンター、および客にコンピュータ資源を提供するためのビジネスとして事業団体により稼働されるパブリックデータセンター等が挙げられる。一部のパブリックデータセンターのオペレータは、種々の客が所有するハードウェア用のネットワークアクセス、電力、および安全な取付設備を提供し、一方、他のパブリックデータセンターのオペレータは、それらの客に用いられるための、利用可能なハードウェア資源をも含む「フルサービス」の設備を提供する。しかしながら、標準的なデータセンターの規模および範囲が増大するにつれて、物理的なコンピュータ資源の提供、運営および管理タスクは益々複雑となる。
【０００２】
商品ハードウェア用の仮想技術の出現により、多様な要求を有する多くの客用の大規模なコンピュータ資源の管理に関連したいくつかの恩恵がもたらされる。これにより、種々のコンピュータ資源が、複数の客によって効率的かつ安全に共有されることが可能になる。例えば、ＶＭＷａｒｅ、ＸＥＮ、またはＵｓｅｒ−Ｍｏｄｅ  Ｌｉｎｕｘによって提供されるもの等の仮想技術では、単一の物理的なコンピュータマシンを、このような仮想マシン各々が、ユーザが唯一のオペレータ、および所与のハードウェアコンピュータ資源の管理人であるとユーザに錯覚させるような異なる論理コンピュータシステムとして機能するソフトウェアシミュレーションとし、一方、種々の仮想マシン間のアプリケーションの隔離および安全をさらに提供するとともに、各ユーザがその単一の物理的なコンピュータマシンによりホストされた１つ以上の仮想マシンを提供することによって複数のユーザ間で共有することができる。さらに、一部の仮想技術は、複数の異なる物理的なコンピュータシステムにわたる複数の仮想プロセッサを有する単一の仮想マシン等の、１つ以上の物理的な資源にわたる仮想資源を提供できる。
【図面の簡単な説明】
【０００３】
【図１Ａ】プライベートコンピュータネットワークを構成および設定する遠隔の顧客を含む、相互作用の例示的な実施形態を示すネットワーク図である。
【図１Ｂ】プライベートコンピュータネットワークを構成および設定する遠隔の顧客を含む、相互作用の例示的な実施形態を示すネットワーク図である。
【図２】顧客にコンピュータネットワークを提供するのに用いられる、相互接続したコンピュータシステムの例示的な実施形態を示すネットワーク図である。
【図３】遠隔の顧客に用いられるコンピュータネットワークを提供するシステムの実施形態を実行するのに適した例示的なコンピュータシステムを示すブロック図である。
【図４Ａ】設定可能なネットワークサービス管理者ルーティンの例示的な実施形態のフローチャートを示す図である。
【図４Ｂ】設定可能なネットワークサービス管理者ルーティンの例示的な実施形態のフローチャートを示す図である。
【図５】ノード通信管理者ルーティンの例示的な実施形態のフローチャートを示す図である。
【図６】外部通信管理者ルーティンの例示的な実施形態のフローチャートを示す図である。
【図７】遠隔資源サービスアクセスルーティンの例示的な実施形態のフローチャートを示す図である。
【図８】ＶＰＮ構成実現ルーティンの例示的な実施形態のフローチャートを示す図である。
【発明を実施するための形態】
【０００４】
例えば、遠隔のユーザに利用可能である設定可能なネットワークサービスの制御に基づいた、コンピュータネットワークへのアクセスをユーザに提供するための技術が記載される。少なくとも一部の実施形態では、遠隔のユーザは、ユーザに用いられるためのコンピュータネットワークを構成および設定するために。設定されたコンピュータネットワークは、設定可能なネットワークサービスによって提供され、設定可能なネットワークサービスの制御により、またはその制御の基で保持された多重コンピュータノードを含むことによって、パブリックネットワークを通じて設定可能なネットワークサービスと通信してもよい。このようなコンピュータネットワークの設定後、ユーザは、設定可能なネットワークサービスによってユーザに提供されたコンピュータネットワークを備える１つ以上の遠隔地から通信可能である。これにより例えば、提供されたコンピュータネットワークのコンピュータノードにおけるプログラムを実行する。少なくとも一部の実施形態では、設定可能なネットワークサービスは、設定可能なネットワークサービスのユーザは、設定可能なネットワークサービスにより提供される少なくとも一部の機能のための設定可能なネットワークサービスに料金を支払う客となるような、有料サービスであってもよい。さらに、少なくとも一部の実施形態では、記載した技術の一部または全ては、下により詳細に記載するように、任意選択的に他の通信管理者モジュールと共に、設定可能なネットワークサービス管理者モジュールの実施形態によって自動的に実行される。
【０００５】
少なくとも一部の実施形態では、設定可能なネットワークサービスによって提供されたコンピュータネットワークの少なくとも一部は、提供されたコンピュータネットワークがそのユーザの利益となるように構成および設定された（または、他者により、アクセスがその他者のために明確に設定された）、設定可能なネットワークサービスのユーザによってのみアクセス可能なプライベートコンピュータネットワークである。例えば、設定可能なネットワークサービスは、設定可能なネットワークサービスの顧客であるユーザに、顧客の１つ以上の遠隔コンピュータシステムと、提供されたコンピュータネットワークとの間における、ＶＰＮ（「仮想プライベートネットワーク」）接続または他の安全な接続を有効にすることによるなど、その顧客用に対して提供されたコンピュータネットワークへの安全なプライベートアクセスを提供してもよく、または、プライベート、かつ安全な方式にて、提供されたコンピュータネットワークに顧客が遠隔通信可能となる他の安全および／または認証技術を使用してもよい。さらに、少なくとも一部の実施形態では、設定可能なネットワークサービスによって提供されたコンピュータネットワークの少なくとも一部は、顧客の既存のコンピュータネットワークへの拡張となるように、その顧客によって各々が構成および設定される。その例として、その顧客の既存の遠隔プライベートコンピュータネットワークへの拡張となるプライベートコンピュータネットワーク（例えば、企業体である顧客の遠隔の企業ネットワーク等）が挙げられる。このような実施形態では、既存のコンピュータネットワークと、提供されている新規のコンピュータネットワーク拡張との間の安全なプライベートアクセスは、１つ以上のＶＰＮ接続または他のプライベート接続を用いて同様に設定可能となる。設定可能なネットワークサービスの実施形態によって提供されたコンピュータネットワークへの顧客によるアクセスの構築に関連する追加的な詳細は、下記に含まれる。
【０００６】
設定可能なネットワークサービスの顧客は、種々の実施形態における種々の方法にて、設定可能なネットワークサービスによって提供されたコンピュータネットワークを構成および設定してもよい。少なくとも一部の実施形態では、設定可能なネットワークサービスは、顧客のコンピュータシステムを設定可能なネットワークサービスとプログラムで通信可能にする１つ以上のＡＰＩ（「アプリケーションプログラミングインターフェース」）を提供する。これにより、設定可能なネットワークサービスにより提供されたコンピュータネットワークの構成、設定、および使用開始における一部または全ての行為が実行される。一方、少なくとも一部の実施形態では、設定可能なネットワークサービスの顧客であるユーザは、設定可能なネットワークサービスと双方向に通信してもよく、このようなＡＰＩを利用したこのような行為の実行に加えてか、その代わりとしてかにかかわらずに、このような行為（例えば、ＧＵＩもしくはグラフィカルユーザインターフェース、または設定可能なネットワークサービスによって提供された他のコンソールによって）の一部またはすべてを実行する。一部の実施形態では、ユーザに利用可能なＧＵＩは、代替的にユーザに利用可能である内在するＡＰＩに基づいてもよく、一方他の実施形態では、ＧＵＩは、他の方式にて実施されてもよい。さらに、顧客のコンピュータデバイスと設定可能なネットワークサービスとの間の相互作用は、例えば設定可能なネットワークサービスのメッセージに基づくＡＰＩに従って、顧客のコンピュータデバイスと設定可能なネットワークサービスとの間に送信された電子メッセージ（電子メールのメッセージ等）に少なくとも部分的に基づいてもよい。
【０００７】
例えば、少なくとも一部の実施形態では、顧客は、設定可能なネットワークサービスの実施形態において通信してもよく、１つ以上の下記の非排他的なリスト等の種々の種類の情報を選択的に含む設定情報と共に、顧客用に提供されるコンピュータネットワーク用の設定情報を特定する。このリストとして、提供されたコンピュータネットワークの多重コンピュータノードに指定される、複数の特定のネットワークアドレス、提供されたコンピュータネットワーク用の特定のネットワークトポロジー情報、および提供されたコンピュータネットワークに関する特定のネットワークアクセス制限が含まれる。複数の特定のネットワークアドレスは、例えば１つ以上のネットワークアドレスの範囲を含んでもよい。提供されているコンピュータネットワークが顧客の遠隔プライベートコンピュータネットワークの拡張である場合には、ネットワークアドレスは、遠隔プライベートコンピュータネットワークに用いられる仮想および／またはプライベートネットワークアドレスのサブセットに対応する場合がある。特定のネットワークトポロジー情報は、例えば、グループ化されるか、他の方法により共通の相互通信特性を共有する、提供されたコンピュータネットワークのコンピュータノードのサブセットを指定する場合がある。これは例えば、提供されたコンピュータネットワークの一部（例えば、ルータ、スイッチ等）となる、１つ以上のネットワーク装置を特定することにより、この情報が、特有の特定のネットワークアドレスを有するコンピュータノードを管理するか、またはそれと関連付けられる。または、提供されたコンピュータネットワークのサブネット、または提供されたコンピュータネットワークのコンピュータノードの他のグループ分けを指定することによる。特定のネットワークアクセス制限情報は、例えば、１つ以上の提供されたコンピュータネットワークの、他のコンピュータノードが互いに通信してもよい、該コンピュータノード、および／または該コンピュータノードとへ、および／または該コンピュータノードから可能な通信の種類のコンピュータノードの各々について示してもよく、これは、提供されたコンピュータノードが、提供されたコンピュータネットワークの外部における任意のコンピュータノードと通信することが可能であるかどうかを含む（または、提供されたコンピュータネットワークが、既存の他のコンピュータネットワークの拡張である場合には、提供されたコンピュータネットワークのコンピュータノードが、それが属する他のコンピュータネットワークの外部における任意のコンピュータノードと通信可能であるかどうかである。）。追加的な詳細は、下記に含まれる。
【０００８】
さらに、少なくとも一部の実施形態では、顧客にコンピュータネットワークを提供するために、設定可能なネットワークサービスに用いられるコンピュータノードは、物理的なコンピュータシステムおよび／または１つ以上の物理的なコンピュータシステム上に各々がホストされた仮想マシン等の種々の形態を有し得る。例えば、一部の実施形態では、設定可能なネットワークサービスは、１つ以上の地理的位置における１つ以上のデータセンター等において、顧客に提供されたコンピュータネットワークにおいて利用可能である、設定可能なネットワークサービスによって提供された多数の コンピュータノードを含んでもよい。さらに、少なくとも一部の実施形態では、設定可能なネットワークサービスによって提供されたコンピュータノードの一部または全ては、１つ以上の中間物理的ネットワークによって相互接続される。また、顧客に提供されたコンピュータネットワークは、サブストレートネットワークとして中間物理的ネットワークを用いることによって、中間物理的ネットワークを通じてオーバーレイされた仮想（または、「論理」）ネットワークでもよい。また、少なくとも一部の実施形態では、コンピュータノードの少なくとも一部は、複数の客またはプログラム実行サービスの他のユーザの代わりに複数のプログラムを実行するプログラム実行サービス（すなわち、「ＰＥＳ」）によって利用されてもよい。コンピュータノードおよび内在するコンピュータネットワークに関連する追加的な詳細は下記に含まれ、顧客への仮想ネットワークの提供およびプログラム実行サービスの提供の例示的な実施形態に関連する追加的な詳細は、２００６年３月３１日に出願された米国出願番号１１／３９４５９５（代理人整理番号１２０１３７．５２４）である名称「Ｍａｎａｇｉｎｇ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｂｅｔｗｅｅｎ  Ｃｏｍｐｕｔｉｎｇ  Ｎｏｄｅｓ」、２００６年３月３１日に出願された米国出願番号１１／３９５４６３（代理人整理番号１２０１３７．５２５）である名称「Ｍａｎａｇｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  ｏｆ  Ｐｒｏｇｒａｍｓ  ｂｙ  Ｍｕｌｔｉｐｌｅ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍｓ」、２００７年３月２７日に出願された米国出願番号１１／６９２０３８（代理人整理番号１２０１３７．５５４）である名称「Ｃｏｎｆｉｇｕｒｉｎｇ  Ｉｎｔｅｒｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｂｅｔｗｅｅｎ  Ｃｏｍｐｕｔｉｎｇ  Ｎｏｄｅｓ」、２００８年３月３１日に出願された米国出願番号１２／０６００７４（代理人整理番号１２０１３７．５７６）である名称「Ｃｏｎｆｉｇｕｒｉｎｇ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｂｅｔｗｅｅｎ  Ｃｏｍｐｕｔｉｎｇ  Ｎｏｄｅｓ」、および２００７年６月１８日に出願された米国出願番号１１／７６４７３９（代理人整理番号１２０１３７．５５５）である名称「Ｐｒｏｖｉｄｉｎｇ  Ｅｎｈａｎｃｅｄ  Ａｃｃｅｓｓ  Ｔｏ  Ｒｅｍｏｔｅ  Ｓｅｒｖｉｃｅｓ」に含まれ、その各々の全ての内容は参照により本明細書中に組み込まれる。
【０００９】
一部の実施形態では、顧客は、提供されたコンピュータネットワークから遠く離れた１つ以上の他のネットワークアクセス可能なサービスへのアクセスを提供するために、設定可能なネットワークサービスによって提供されたコンピュータネットワークをさらに設定してもよい。これには例えば、インターネットもしくは他のパブリックネットワークを通じてアクセス可能である、または他の方法によって提供されたコンピュータネットワークの一部ではなく外部の、他の遠隔ネットワークアクセス可能なサービスが含まれる。一部の実施形態では、少なくとも一部のこのような遠隔サービスは、設定可能なネットワークサービスと提携できる（例えば、設定可能なネットワークサービスまたは提携事業体のオペレータによって提供されるもの。また、設定可能なネットワークサービスによって他の顧客に提供されているコンピュータネットワークを経由して等の、設定可能なネットワークサービスの別の顧客によって提供されるもの等）。また、一部の実施形態では、少なくとも一部のこのような遠隔サービスは、代わりに、設定可能なネットワークサービスとは独立して存在してもよい。このような他の遠隔サービスは、１つ以上の種類のコンピュータ関連資源をネットワークアクセスに提供するサービス（例えば、保存データ資源へのアクセスを提供する保存サービス、メッセージ待ち行列資源または他の保存メッセージ資源へのアクセスを提供するメッセージサービス、保存データベース資源へのアクセスを提供するデータベースサービス、プログラム実行資源へのアクセスを提供するプログラム実行サービス等）を含む、種々の実施形態における種々の形態を有し得る。これにより、他の遠隔サービスは、遠隔コンピュータシステムによって用いられ、または他の方法により、情報もしくは機能または他の資源の使用を提供する（例えば、株価見積情報資源または検索クエリ結果資源を提供するサービス、写真共有機能資源またはソーシャルネットワーキング能力資源を提供するサービス等）。場合によっては、設定可能なネットワークサービスの実施形態では、データセンターまたは他の地理的位置における複数のコンピュータノードが提供されてもよく、かつ異なる顧客に異なるコンピュータネットワークを提供するように、それらのコンピュータノードのサブセットが使用されてもよい（例えば、各提供されたコンピュータネットワークが、共通のサブストレートネットワークを共有する異なる仮想ネットワークである）。このような状況では、その地理的位置に提供された他のコンピュータネットワークを用いた他の顧客によって提供された１つ以上のネットワークアクセス可能な遠隔サービスに、一人の顧客がアクセスできるように、その顧客が提供されたコンピュータネットワークを設定してもよい。これは例えば、それらの遠隔資源が、同一の地理的位置における他のコンピュータノードによって物理的に提供されたことに、その顧客が認識することなく達成される。
【００１０】
少なくとも一部の実施形態では、顧客は、その顧客が、その提供されたコンピュータネットワーク用の種々の作用を提供するように設定することができるアクセス機構と共に、特定の資源サービスにアクセスするための機構を含むように、提供されたコンピュータネットワークを設定してもよい。１つの特定の実施例として、一部の実施形態では、複数の関連する仮想ネットワークアドレスを有する提供された仮想コンピュータネットワークは、特定の遠隔資源サービスを示すように、それらの仮想ネットワークアドレスの１つ（または、より多く）を指定してもよい。これにより、コンピュータノードまたは提供されたコンピュータネットワークの他の参加者は、提供されたコンピュータネットワークにおいて局所的に用いられる代表的な指定されたネットワークアドレスを用いて、提供されたコンピュータネットワークの外部における遠隔資源サービスと通信してもよい。このようにして、提供されたコンピュータネットワークの外部への通信を防止する（例えば、インターネットまたは１つ以上の他のパブリックネットワークを通るような通信を防止する）ように、ネットワークアクセス制限を用いて設定された、提供されたコンピュータネットワークでさえ、提供されたコンピュータネットワークの一部であるこのように設定されたアクセス機構によって、特定の外部の遠隔資源サービスに通信可能となるように設定される場合がある。
【００１１】
さらにまた、少なくとも一部の実施形態では、種々の技術が、提供されたコンピュータネットワークの設定されたアクセス機構により、提供されたコンピュータネットワークから遠隔資源サービスへの、このような通信のための改善された安全性を提供するために用いられてもよい。例えば、少なくとも一部の実施形態では、特定の遠隔資源サービスは、インターネットまたは他のパブリックネットワークを経由して（例えば、１つ以上のパブリックネットワークアドレスおよび関連するドメイン名によって）、ユーザに利用可能となる公的にアクセス可能なインターフェースを有してもよい。しかしながら、設定可能なネットワークサービスに用いられるサブストレートネットワークから、相互接続するコンピュータノードまで直接にアクセス可能なインターフェースがさらに実施されてもよい。これは例えば、特定の遠隔資源サービスが、設定可能なネットワークサービスとして同一オペレータによって提供されるか、他の方法により設定可能なネットワークサービスと提携する場合に実施される。このような直接にアクセス可能なインターフェースが、特定の遠隔資源サービス用のサブストレートネットワークにおいて実施される場合には、設定可能なネットワークサービスの１つ以上の提供されたコンピュータネットワークは、各々、その遠隔資源サービスを指定して、遠隔資源サービスの遠隔から公的にアクセス可能なインターフェースではなく、サブストレートネットワークにおいて実施されたそのインターフェースと直接通信する、その遠隔資源サービス用に設定されたアクセス機構を有してもよい。少なくとも一部のこのような実施形態および状況では、その遠隔資源サービスは、設定可能なネットワークサービスにおいて局所的に用いられる方式にて（例えば、設定可能なネットワークサービスの１つ以上のコンピュータノードが、その局所的な機能を実施するのに用いられる場合）、少なくとも一部の顧客の要求用の遠隔資源サービスの機能の一部または全ての提供を、しかるべく選択するかもしれない。一方、他の実施形態および状況では、遠隔資源サービスは、安全な方式による遠隔資源サービスの遠隔地への、１つ以上のパブリックネットワークを通じた設定可能なネットワークサービスのサブストレートネットワーク間の通信を管理することによって、少なくとも一部のこのような顧客の要求用の機能の一部または全てを提供してもよい。代替的に、少なくとも一部の実施形態では、設定可能なネットワークサービスは、少なくとも一部の遠隔資源サービス用の追加的な行為を実行する場合があり、同様の方式により、１つ以上のパブリックネットワーク上の設定可能なネットワークサービスから、遠隔資源サービスの遠隔地までの安全な通信を提供する。これは例えば、遠隔資源サービスにアクセス可能な方式にて通信を暗号化すること、および／または信頼できる情報源からのものとして通信を認証すること等によって達成される。提供されたコンピュータネットワークから遠隔資源へのアクセスに関連する追加的な詳細は、下記に含まれる。
【００１２】
さらにまた、少なくとも一部のこのような実施形態では、顧客用の提供されたコンピュータネットワークは、その顧客に対応するサブセット等の、ネットワークアクセス可能な遠隔資源サービスにより提供されたコンピュータ関連資源の特定のサブセットへのアクセスを受信するように設定されてもよい。一実施例として、遠隔資源サービスは、その提供された資源を、異なるアクセス権を有し、独立して参照される異なるグループに分割する異なるネームスペースを用いてもよい。これにより、異なるネームスペースにおける異なる資源は、同一のローカルネームまたは他の識別子を有し得るが、それらのネームスペースに基づき、かつ特定の顧客に対応する特定のネームスペースにより独立して参照される。このような場合に、顧客用の提供されたコンピュータネットワークは、その遠隔資源サービスの特定のネームスペースに自動的に対応するように各々が設定される特定の遠隔資源サービスにアクセスするための１つ以上の機構を含んでもよい。これにより、提供されたコンピュータネットワークのコンピュータノードは、その顧客に特定の対応するネームスペース内の資源にアクセスするために設定されたアクセス機構を用いてもよい。さらにまた、少なくとも一部の実施形態では、提供されたコンピュータネットワークのコンピュータノードが、設定された機構が対応するネームスペースを認識しない場合がある。これにより、コンピュータノードは、ネームスペースの実際の指定が無くとも、ネームスペースのコンテクスト内の対象となる資源におけるネームまたは他の識別子を指定する遠隔資源サービスに、要求または他のメッセージを送信する場合がある。このような場合に、設定されたアクセス機構は、メッセージを自動的に修正または翻訳できる。これにより、指定されたネームまたは他の識別子は、メッセージを送信したコンピュータノードに任意選択的に透過的となる修正または翻訳と共に、設定されたアクセス機構に対応するネームスペースに関連付けられる。
【００１３】
提供されたコンピュータネットワークの設定、および遠隔資源サービスを示すアクセス機構は、種々の方法により実行され得る。例えば、場合によっては、顧客は、遠隔資源サービス内の顧客の既存のネームスペースを特定できる。これは例えば、顧客が以前に保存した、または他の方法により利用した特定の資源において利用したネームスペースである。代替的に、他の実施形態では、設定可能なネットワークサービスは、例えば、新規のネームスペースを構成するように遠隔資源サービスと通信することによって、提供されたコンピュータネットワークからアクセスされた新規の資源用の遠隔資源サービス内の新規のネームスペースの利用を自動的に起動する場合がある。遠隔資源サービスとのこのような相互作用は、例えば、提供されたコンピュータネットワークを顧客が構成および設定中、または後（例えば、提供されたコンピュータネットワークにおけるコンピュータノードが、設定されたアクセス機構を通じた遠隔資源サービスへのアクセスを最初に試みるとき）などのような様々なときに実行されてもよい。さらにまた、少なくとも一部の実施形態および状況では、設定可能なネットワークサービスは、提供されたコンピュータネットワークに関連付けられた一意の識別子を生成してもよく、新規のネームスペースを照会するためにその識別子を使用してもよい。一方、他の実施形態では、遠隔資源サービスは、このような識別子または構成された新規のネームスペースの他の指定を提供してもよい。いずれの場合でも、顧客および提供されたコンピュータネットワークのコンピュータノードは、新規の自動的に起動されるネームスペース、および／または新規のネームスペースを照会するように設定可能なネットワークサービスによって用いられる一意の識別子を任意選択的に認識しない。代替的に、一部の実施形態では、識別子が新規のネームスペースを照会する設定可能なネットワークサービスに以後用いられること、または他の方式の代わりに用いられことを顧客が認識するかどうかにかかわらず、顧客は、設定可能なネットワークサービスにより顧客に提供されたコンピュータネットワークに関連するように、設定可能なネットワークサービスに用いられる識別子を特定してもよい。さらにまた、少なくとも一部の実施形態では、例えば、顧客が単一の提供されたコンピュータネットワークを有する場合には、顧客に提供されたコンピュータネットワークに関連付けられた識別子は、顧客に関連する識別子でもよい。一方、他の実施形態では、提供されたコンピュータネットワークの識別子は、いかなる顧客の特定の識別子とも異なる。ネームスペースの使用に関連する追加的な詳細は、下記に含まれる。
【００１４】
さらに、少なくとも一部のこのような実施形態では、顧客用の提供されたコンピュータネットワークが特定の遠隔資源サービスから資源にアクセスするために用いるアクセス機構は、提供されたコンピュータネットワークから受信した通信の認証または検証において遠隔資源サービスを支援するように設定されてもよい。例えば（例えば、同一の顧客であっても、別のロケーションからの特定の資源へのアクセスを防止するために）、通信が特定のロケーションから送信されたことを検証する。例えば、少なくとも一部の遠隔資源サービスは、遠隔資源サービスによって提供された資源各々が、１つ以上の関連するアクセスコントロールインジケータ（例えば、ネームまたは他のテキスト識別子、数値識別子、タグまたは他のアクセスキー、認証情報等）を有することを許可または要求してもよい。これにより、このような資源は、リクエスタがそれらの関連するインジケータの全てを供給する場合に限り、外部のリクエスタによってアクセスされ得る。このような遠隔資源サービスにおいて、顧客用の提供されたコンピュータネットワークのコンピュータノードに用いられるアクセスコントロールインジケータの１つは、その遠隔資源サービスを用いるその顧客用の客識別子等の、その顧客に対応する識別子であってもよい。顧客用のその単一の客識別子が資源に関連する場合にのみ、次に、その顧客は、同一の単一の客識別子を供給することによって顧客の他の遠隔コンピュータシステムからその資源にアクセスできる。このような資源は、例えば、顧客からの要求に応答して構成されるか、他の方法によりアクセスされてもよく、かつその顧客に（例えば、一時的に）関連付けられてもよい。
【００１５】
しかしながら、少なくとも一部の実施形態では、顧客用の提供されたコンピュータネットワークが特定の遠隔資源サービスからの資源にアクセスするために利用するような設定されたアクセス機構は、１つ以上の他の追加的なアクセスコントロールインジケータを含むために、遠隔資源サービスに送信された通信を修正するように設定されてもよい。このような他の追加的なアクセスコントロールインジケータは、例えば、設定可能なネットワークサービスによって自動的に生成された、提供されたコンピュータネットワークに対応する識別子を含んでもよい。また、少なくとも一部の実施形態では、顧客および／または提供されたコンピュータネットワークのコンピュータノードは、用いられた特定の追加的なアクセスコントロールインジケータを認識しないか、または、任意のこのような追加的なアクセスコントロールインジケータの存在および利用を認識さえしない。１つ以上の追加的なアクセスコントロールインジケータが顧客に既知でない場合には、顧客は、その資源へのアクセス要求において、このような資源に関連する全てのインジケータを他の方法で供給しないため、その結果、顧客は、その設定されたアクセス機構を通じて提供されたコンピュータネットワーク以外からそれらの資源にアクセスしないかもしれない。それ故、上述のように、このような追加的なアクセスコントロールインジケータは、資源へのアクセス要求の源またはロケーションを指定するものとして、遠隔資源サービスによって用いられてもよい。これにより、他のロケーションからの要求は、資源への所定のアクセスとはならない。代替的に、他のロケーションからの要求は、例えば、資源用のアクセスコントロールインジケータの全てが供給された場合にのみ、資源への書き込み、または他の修正アクセスを可能にするように資源を設定するように、しかしながら、顧客の特定の識別子が供給された場合に、別のロケーションからの顧客によるなどのように、いかなるアクセスコントロールインジケータ等をも供給することのない何者かにより、他の条件における資源への読み込みまたは他のアクセスを可能にする、このような資源への所定の異なるアクセスであってもよい。さらに、このような追加的なアクセスコントロールインジケータは、例えば、自動的に生成されたランダム英数字インジケータ、提供されたコンピュータネットワークに関連する実際の地理的位置における指定等の種々の形態を有してもよい。
【００１６】
ネームスペースを用いたのと同様の方式において、１つ以上のこのような追加的なアクセスコントロールインジケータを用いるための、提供されたコンピュータネットワーク用のアクセス機構の設定は、種々の方法により実行されてもよい。例えば、一部の実施形態では、顧客は、遠隔資源サービスへの設定されたアクセス機構に用いられる提供されたコンピュータネットワークと関連付けられた１つ以上の追加的なインジケータを特定してもよい。代替的に、他の実施形態では、設定可能なネットワークサービスは、（例えば、提供されたコンピュータネットワークに関連付けられた一意の識別子を生成および使用することによって）提供されたコンピュータネットワーク用の遠隔資源サービスへの設定されたアクセス機構用の１つ以上の新規の追加的なインジケータの使用を自動的に起動してもよい。これにより、その設定されたアクセス機構を通じてその遠隔資源サービスからアクセスされた新規の資源は、その提供されたコンピュータネットワークからのみアクセス可能となる。さらに、下により詳細に記載するように、設定可能なネットワークサービスの一部の実施形態では、例えば、サブストレートネットワーク上の通信における送信を容易にするために、提供されたコンピュータネットワークのコンピュータノード間の通信を管理するような種々のモジュールが用いられてもよい。また、このような場合に、１つ以上のこのようなモジュールは、ネームスペース識別子および／またはアクセスコントロールインジケータを含むように通信を自動的に修正すること、および／または１つ以上のパブリックネットワーク上で特定の遠隔資源サービスに（任意選択的に修正後に）通信を転送することによって特定のアクセス機構を実施するように設定されてもよい。提供されたコンピュータネットワークからの、ロケーションの特定の通信の検証における遠隔資源サービスの支援を含む、アクセス機構の実施に関連する追加的な詳細は、下記に含まれる。
【００１７】
少なくとも一部の実施形態では、設定可能なネットワークサービスは、その設定可能なネットワークサービスと顧客がプログラムで通信することを可能にするＡＰＩをさらに提供する。これにより、設定可能なネットワークサービスは、その設定可能なネットワークサービスにより、それらに提供されたコンピュータネットワークへの顧客による遠隔アクセスの構築を容易にする手段を取る。このような遠隔アクセス構築ＡＰＩは、種々の実施形態における種々の行為を実行する場合がある。また、少なくとも一部の実施形態では、これは、顧客が居る遠隔地から、設定可能なネットワークサービスによって顧客用に提供されているコンピュータネットワークまでのＶＰＮ接続の構築において顧客を支援する。上述のように、場合によっては、顧客は、設定可能なネットワークサービスの外部における遠隔プライベートコンピュータネットワークを有してもよい。また、設定可能なネットワークサービスにより構成および提供されたコンピュータネットワークは、その遠隔プライベートネットワークの拡張となってもよく、または他の方法によりその遠隔プライベートネットワークに接続されてもよい。他の状況では、顧客は、設定可能なネットワークサービスにより提供されたコンピュータネットワークにアクセスおよび通信するための１つ以上の他の遠隔コンピュータシステムを使用してもよい。いずれの状況でも、少なくとも一部の実施形態では、顧客は、遠隔プライベートネットワークまたは他の遠隔コンピュータシステム（単数または複数）から、設定可能なネットワークサービスにより提供されたコンピュータネットワークまでのＶＰＮ接続または他の安全な接続を使用してもよい。このような実施形態では、設定可能なネットワークサービスにより提供された遠隔アクセス構築ＡＰＩは、設定可能なネットワークサービスの顧客によりプログラムで呼び出された場合に、設定可能なネットワークサービスが、１つ以上の適切なネットワークの構成要素の提供を顧客に対して開始させてもよい。これにより、顧客の遠隔プライベートネットワークまたは他の遠隔コンピュータシステム（単数または複数）が、設定可能なネットワークサービスにより提供されたコンピュータネットワークへのＶＰＮ接続または他の安全な接続を構築できる。このようなネットワークの構成要素は、例えば、１つ以上のハードウェアデバイス（ルータまたは他のネットワーク装置等）、ソフトウェアコンポーネント、および／または設定情報のグループを含んでもよい。
【００１８】
例えば、一部の実施形態では、顧客が居る遠隔地に配信される適切なルータデバイスまたは他のハードウェアネットワーク装置（単数または複数）を購入または他の方法で取得するために、顧客が遠隔アクセス構築ＡＰＩを起動することにより、設定可能なネットワークサービスが売買人と通信する。また、適切に設定されたソフトウェアまたは取得されたネットワーク装置（単数または複数）用の他の設定情報が顧客に配信される。これにより、デバイス（単数または複数）は、ソフトウェアを用いてか、または設定情報に基づいて設定され、そして顧客の１つ以上の遠隔コンピュータシステムに接続された場合に、設定可能なネットワークサービスにより顧客用の提供されたコンピュータネットワークに交信するように起動する。この方式では、ネットワーク装置（単数または複数）、ソフトウェアおよび／または設定情報が顧客に受信された後に、顧客は、例えば、受信したネットワーク装置（単数または複数）を、遠隔プライベートネットワークまたは他の遠隔コンピュータシステム（単数または複数）に関連させる。そして、受信したネットワーク装置（単数または複数）を設定するためのソフトウェアおよび／または設定情報を用いる。設定されたネットワーク装置（単数または複数）は、次に、顧客用に提供されたコンピュータネットワークと自動的に交信してもよく、提供されたコンピュータネットワークへの顧客のプライベートセキュアアクセスを可能にするＶＰＮ接続を構築してもよい。他の状況では、設定されたネットワーク装置（単数または複数）は、顧客用の提供されたコンピュータネットワークに特定の追加的な設定情報を得るために設定可能なネットワークサービの設定されたコンピュータシステムと第１に自動的に交信してもよく、そしてその後、その提供されたコンピュータネットワークへのＶＰＮ接続を自動的に構築する。
【００１９】
このような実施形態では、顧客にネットワーク装置（単数または複数）を供給するために使用される売買人は種々の形態を有してもよい。例えば、オンライン商人もしくは設定可能なネットワークサービスを運営するか、他の方法により設定可能なネットワークサービスと提携する同一のオペレータによって運営される他の小売業者、またはその代わりに、設定可能なネットワークサービスと提携しない第３者の売買人が挙げられる。利用されるハードウェアデバイス（単数または複数）は、例えば、顧客により自動的に認識および／または特定されるかもしれないもののような、顧客に用いられる設定可能なネットワークサービスにより提供されたコンピュータネットワークおよび／または遠隔コンピュータシステム（単数または複数）との互換性に基づいたものを含む、種々の実施形態における種々の方法において同様に選択されてもよい。さらにまた、一部の実施形態では、顧客が選択可能な複数の代替案が利用されてもよい。これには例えば、遠隔アクセス構築ＡＰＩを最初に起動する場合に顧客により特定されてもよい、または設定可能なネットワークサービスからの後のクエリ（例えば、顧客が選択してもよい複数の代替案を特定するクエリ）に応答する代替案が含まれる。他の実施形態では、単一型のネットワーク装置または他のハードウェアデバイスが用いられてもよい。さらには、設定されたソフトウェアおよび／または他の設定情報は、種々の資源から（例えば、ネットワーク装置（単数または複数）を供給する同一の売買人により、設定可能なネットワークサービスにより直接、または別の事業体により）顧客に提供されてもよい。また、種々の方法により（例えば、ソフトウェアおよび／または設定情報を顧客に電子的に送信することにより、ＤＶＤまたはＵＳＢメモリキー等の物理的な装置読み取り可能媒体にソフトウェアおよび／または設定情報を保存し、顧客にその媒体を物理的に配信することにより、デバイス（単数または複数）を事前設定するためなどのように、顧客に配信される前に、ネットワーク装置（単数または複数）上にソフトウェアおよび／または設定情報を保存すること等によって）、供給されてもよい。さらに、一部の実施形態では、顧客に提供される設定されたソフトウェアは、遠隔地に居る顧客が既に有している１つ以上のコンピュータシステムまたは他のハードウェアデバイスを利用する場合等に、ＶＰＮ接続を構築するのに十分かもしれない。
【００２０】
さらにまた、小売業者または顧客のための他の第３者の事業体からのハードウェアデバイスの取得は、例えば、デバイスを購入、またはその代わりに別の方式によりそれを取得する（例えば、リース、レンタル、評価のために一時的に等のためにそれを取得）ような、種々の実施形態における種々の方法において実行されてもよい。また、一部の実施形態では、小売業者への支払金を供給する設定可能なネットワークサービスを含んでもよく、その結果、顧客からの支払金（例えば、小売業者への支払金よりも多い、少ないまたはそれと同額である顧客からの支払金を含む）を独立的に得る。またはその代わりに、顧客に（例えば、小売業者に顧客に関する支払金情報を提供する設定可能なネットワークサービスによる、支払金情報を得るための顧客との交信または他の方法による通信における仕様についての情報を小売業者に提供する設定可能なネットワークサービスによる、支払金を得るために顧客から以前に得た情報を小売業者に利用させることによる、等）、小売業者への支払金を直接支払わせる。さらに、一方で一部の実施形態では、開始されたハードウェアデバイスを小売業者から顧客が取得することによって、小売業者から顧客が居る遠隔地までのハードウェアデバイスの直接配信が可能になる。同時に、他の実施形態では、設定可能なネットワークサービスは、他の方式によってこの取得を実行してもよい。例えば、ハードウェアデバイスの配送を最初に受け、次に、それを顧客に配送すること（例えば、適切なソフトウェアおよび／または設定情報をともなうハードウェアデバイスの設定後に、またはその代わりに、それを受けたのと同一の形態において顧客にハードウェアデバイスを転送すること）によって実行される。遠隔アクセス構築ＡＰＩにおける顧客によるプログラムの起動を実現するための、設定可能なネットワークサービスによる種々の実施形態における行為に関連する追加的な詳細は、下に記載される。
【００２１】
説明に役立つ目的のために、特定のコンピュータノードの種類、ネットワーク、通信、および設定操作が実行される一部の実施形態が下に記載される。これらの実施例は、説明に役立つ目的のために提供され、簡潔さを目的として簡易化される。また、発明に関する技術は、一部が下に記載される、他の状況における幅広い種類に用いられ得る。例えば、一部の実施形態では、顧客によるアクセス用に構成および設定されたコンピュータネットワークは、それらの顧客の既存のプライベートコンピュータネットワークへのプライベートコンピュータネットワークの拡張である。一方、他の実施形態では、構成および設定されたコンピュータネットワークは、他のコンピュータネットワークの拡張ではないスタンドアロンのコンピュータネットワーク、および／または顧客の利益のために構成および設定された、その顧客によってプライベートでアクセスできないパブリックコンピュータネットワークでもよい。さらに、一部の実施形態では、設定可能なネットワークサービスにより提供されたコンピュータネットワークは、設定可能なネットワークサービスにより提供および制御されたコンピュータノードを利用する。一方、他の実施形態では、提供されたコンピュータネットワークに用いられる少なくとも一部のこのようなコンピュータノードは、他者により（例えば、第３者、顧客によって等）制御または保持されてもよいが、設定可能なネットワークサービスと共に利用できるようにされる。
【００２２】
図１Ａは、顧客に用いられるコンピュータネットワークを、遠隔の顧客が構成および設定できる設定可能なネットワークサービスの例示的な実施形態を示すネットワーク図である。この実施例では、構成および設定されるコンピュータネットワークは、顧客の既存のプライベートコンピュータネットワークへのプライベートネットワーク拡張でもよい。また、設定可能なネットワークサービス１０５は、１つ以上のパブリックネットワーク１００上（例えば、インターネット上）において顧客（不図示）に、このような機能を提供する。それ故、遠隔の顧客は、パブリックネットワーク１００上においてクラウドコンピュータ技術を用いること等によって、それらのプライベートコンピュータネットワークのサイズおよび／または性能を動的に修正するために、設定可能なネットワークサービス（「ＣＮＳ」）１０５を利用する場合がある。
【００２３】
特に、図１Ａの実施例では、多くの顧客（不図示）は、遠隔の既存の顧客プライベートネットワーク１３０への種々のプライベートネットワークサービス拡張１２０を構成および設定するために、管理者モジュール１１０を用いて、パブリックネットワーク１００上において通信する。これは、パブリックネットワーク１００上における１つ以上の対応する顧客プライベートネットワーク１３０からの安全なプライベートアクセスを可能にするように（例えば、相互接続１００ａおよび１００ｂ上において構築されるＶＰＮ接続を通じて）設定されているコンピュータネットワーク拡張１２０の少なくとも一部を用いて実行される。この例示的な実施形態では、管理者モジュール１１０は、ＣＮＳ１０５の種々の他のモジュール（不図示）、並びにプライベートコンピュータネットワーク拡張１２０を提供するためにＣＮＳ１０５に用いられる種々のコンピュータノードおよびネットワーク装置（不図示）等と共に、ＣＮＳ１０５の機能を遠隔の顧客に提供することを支援する。少なくとも一部の実施形態では、ＣＮＳ管理者モジュール１１０は、ＣＮＳ１０５の１つ以上のコンピュータシステム（不図示）上で実行してもよい。また、顧客の代わりにＣＮＳ１０５の機能の一部または全てにアクセスするために（例えば、プライベートネットワーク拡張１２０の使用を構成、設定および／または 起動するために）、遠隔コンピュータシステムをモジュール１１０とプログラムで通信させる１つ以上のＡＰＩを提供できる。さらに、少なくとも一部の実施形態では、顧客は、その代わりに、このような行為の一部または全てを実行するために、モジュール１１０と（例えば、モジュール１１０により提供されたユーザインターフェースを通じて）手動で通信できる。
【００２４】
パブリックネットワーク１００は、例えば、異なる団体によって運営される可能性のあるインターネット等の、接続されたネットワークにおいて公的にアクセス可能なネットワークでもよい。遠隔の顧客プライベートネットワーク１３０各々は、許可されないユーザに対しては部分的または全体的にアクセス不可能であり、顧客のコンピュータシステムおよび／または他のネットワーク装置を含む企業または他のプライベートネットワーク（例えば、家庭、大学等）等の、１つ以上の既存のプライベートネットワークを含んでもよい。図示した実施例では、提供されたネットワーク拡張１２０各々は、その少なくとも一部がＣＮＳ１０５の制御に基づいてか、あるいはＣＮＳ１０５の制御の下で提供された多重コンピュータノード（不図示）を含む。また、提供されたネットワーク拡張１２０各々は、そのネットワークが供給された顧客による種々の手法により設定され得る。他の実施形態では、顧客用のＣＮＳ１０５により提供された少なくとも一部のコンピュータネットワークは、他の既存のコンピュータネットワークの拡張ではない公的にアクセス可能な、および／またはスタンドアロンのコンピュータネットワークでもよいが、図示した実施形態におけるネットワーク拡張１２０各々は、それを構成する顧客によってのみアクセス可能なプライベートコンピュータネットワークでもよい。同様に、実施例において提供されたコンピュータネットワーク１２０は、プライベートネットワークである遠隔の顧客コンピュータネットワーク１３０への拡張でもよいが、他の実施形態では、提供されたコンピュータネットワーク１２０は、プライベートネットワークではない顧客コンピュータネットワーク１３０への拡張でもよい。
【００２５】
遠隔の顧客プライベートコンピュータネットワーク１３０と、顧客用の提供された対応するプライベートコンピュータネットワーク拡張１２０との間のプライベートアクセスは、種々の方法により実行可能である。これは、安全なプライベート方式においてパブリックネットワーク１００上における相互通信を可能にするような、それらの間におけるＶＰＮ接続または他の安全な接続を構築すること等によって実行される。例えば、ＣＮＳ１０５は、顧客の特定のプライベートネットワーク拡張１２０へのＶＰＮアクセスを可能にするように、ＣＮＳ１０５によってホストされる１つ以上のＶＰＮ機構（ソフトウェアおよび／またはハードウェアＶＰＮ機構等）を自動設定すること等によって、そのコンピュータノードおよび他のコンピュータシステムにおける適切な設定を自動的に実行してもよく、かつ／または遠隔の顧客プライベートネットワーク１３０においてホストされるＶＰＮ機構が、ＶＰＮアクセスを構築するように、顧客に適切な設定情報（認証情報、アクセスポイント、および／または他のパラメータ等）を自動的に提供してもよい。ＶＰＮアクセスが適切に有効化されかつ／または設定された後に、ＶＰＮ接続は、遠隔の顧客プライベートネットワークと、プライベートネットワーク拡張との間において構築されてもよい。例えば、ＩＰｓｅｃ（「インターネットプロトコルセキュリティ」）または他の適切な通信技術を用いた顧客によって起動される。例えば、一部の実施形態では、ＩＰｓｅｃベースのＶＰＮ接続等の代わりに、データ送信においてＭＰＬＳ（「マルチプルトコルラベルスイッチング」）を用いるネットワークへのまたはその間におけるＶＰＮ接続または他の安全な接続が構築されてもよい。例えば、ＣＮＳ１０５によって提供された、対応する遠隔アクセス構築ＡＰＩの顧客による起動に応答するような、安全な接続の有効化および構築に関する追加的な詳細は、より詳細に他の箇所に記載される。
【００２６】
さらに、図示した実施形態では、種々のネットワークアクセス可能な遠隔資源サービス１４０は、遠隔の顧客プライベートネットワーク１３０におけるコンピュータシステムを含む、パブリックネットワーク１００上で遠隔コンピュータシステムに利用できる。資源サービス１４０は、遠隔資源サービス１４０の少なくとも一部等の遠隔コンピュータシステムに、種々の種類のコンピュータ関連資源へのアクセスを、遠隔コンピュータシステムに提供する種々の機能を提供してもよい。さらにまた、ＣＮＳ１０５により提供されたプライベートネットワーク拡張１２０の少なくとも一部は、遠隔資源サービス１４０の少なくとも一部へのプライベートまたは他の特殊なアクセスを提供するように設定されてもよい。これは、遠隔資源サービス１４０との実際の通信は、パブリックネットワーク１００上において（例えば、相互接続１００ｂおよび１００ｃを通じて）生じ得るが、プライベートネットワーク拡張１２０の一部となる仮想接続１１５を通じて局所的に提供された場合に、プライベートネットワーク拡張１２０のコンピュータノードに任意選択的に生じるその提供されたアクセスと共に実行される。遠隔資源サービスへのこのようなプライベートまたは他の特殊なアクセスの構築および使用に関連する追加的な詳細は、より詳細に他の箇所に記載される。
【００２７】
上述のように、提供されたネットワーク拡張１２０は、各々、種々の方法により顧客により設定されてもよい。例えば、少なくとも一部の実施形態では、ＣＮＳ１０５は、顧客に提供されたネットワーク拡張とともに用いるのに利用可能な多数のコンピュータノードは、提供されたネットワーク拡張１２０の各々が一部として用いるのに専用の複数のこのようなコンピュータノードにおける顧客用に設定された数量を含んでもよい。特に、顧客は、顧客用の提供されたコンピュータネットワークに最初に含まれるコンピュータノードの数を設定するモジュール１１０と（例えば、ＣＮＳ１０５によって提供されたＡＰＩとの１つ以上のプログラム的な相互作用を通じて）通信してもよい。さらに、少なくとも一部のこのような実施形態では、コンピュータノードは、例えば、提供されたコンピュータネットワークが顧客により既に用いられている後で（例えば、特定のコンピュータノードの特定のプログラムにおける実行の起動または完了を指定することによって）、顧客の提供されたコンピュータネットワークに（例えば、ＣＮＳ１０５によって提供されたＡＰＩとの１つ以上のプログラム的な相互作用を通じて）、後に動的に追加されるか、それから除去されてもよい。さらにまた、ＣＮＳ１０５は、少なくとも一部の実施形態では、例えば、種々のパフォーマンス特性（例えば、プロセッサ速度、利用可能メモリ、利用可能ストレージ等）、および／または他の性能を有するコンピュータノード等の複数の異なるコンピュータノードの種類を提供してもよい。このような場合に、少なくとも一部のこのような実施形態では、顧客は、顧客用の提供されたコンピュータネットワークに含まれるようなコンピュータノードの種類を特定してもよい。
【００２８】
さらに、少なくとも一部の実施形態では、顧客は、顧客用の提供されたコンピュータネットワーク用のネットワークアドレスを設定するためのモジュール１１０と（例えば、ＣＮＳ１０５によって提供されたＡＰＩとの１つ以上のプログラム的な通信を通じて）通信してもよい。また、ネットワークアドレスは、少なくとも一部のこのような実施形態では、提供されたコンピュータネットワークが顧客により既に用いられた後等に、顧客の提供されたコンピュータネットワークのために、後に動的に追加、除去または修正されてもよい。例えば、設定されている特定の提供されたコンピュータネットワークが、既存の遠隔顧客コンピュータネットワークの拡張である場合には、顧客は、１つ以上のアドレスレンジ（例えば、クラスレスインタードメインルーティング（「ＣＩＤＲ」）宛先ブロック）、または既存の遠隔の顧客コンピュータネットワークにより用いられるネットワークアドレスのサブセットである、ネットワークアドレスの他のグループを特定できる。これにより、特定のネットワークアドレスが、提供されたコンピュータネットワークのコンピュータノードに用いられる。このような設定されたネットワークアドレスは、場合によっては（例えば、既存の遠隔の顧客コンピュータネットワークおよび対応する提供されたネットワーク拡張が、顧客コンピュータネットワークおよびその提供されたネットワーク拡張用の、ネットワークアドレス転換技術および／または仮想ネットワーク技術を用いる場合）、パブリックネットワーク１００におけるコンピュータシステムから直接にはアドレス可能でない仮想またはプライベートネットワークアドレスでもよい。一方、他の状況では、設定されたネットワークアドレスの少なくとも一部は、パブリックネットワーク１００におけるコンピュータシステムから直接アドレス可能であるパブリックネットワークアドレス（例えば、スタティックインターネットルーティング可能なＩＰアドレス、または他の非変化ネットワークアドレスであるパブリックネットワークアドレス）でもよい。他の実施形態では、ＣＮＳ１０５は、少なくとも一部の提供されたコンピュータネットワーク拡張の少なくとも一部のコンピュータノードに用いるようなネットワークアドレスを自動選択できる。これは例えば、ＣＮＳ１０５に用いられるために利用可能なネットワークアドレス、提供されたコンピュータネットワークに対応する遠隔の既存のコンピュータネットワークにより用いられる関連するネットワークアドレスであるネットワークアドレスの選択等に基づいて実行される。さらに、ＣＮＳ１０５が、サブストレートネットワークにおけるオーバーレイネットワークを用いること等によって、顧客に仮想ネットワークを提供する少なくとも一部の実施形態では、各顧客は、それらの提供されたコンピュータネットワークに用いられるような、任意のネットワークアドレスを特定することを許可される。複数の顧客が、それらの個別の提供されたコンピュータネットワーク用の同一またはオーバーラッピングネットワークアドレスを特定する場合でさえ、このような実施形態では、ＣＮＳ１０５は、顧客ごとに異なるネットワークアドレスを管理する。これにより、第１の顧客は、第１の顧客の提供されたコンピュータネットワーク用の特定のネットワークアドレスに関連する第１のコンピュータノードを有してもよい。一方、異なる第２の顧客は、第２の顧客の提供されたコンピュータネットワーク用の同一の特定のネットワークアドレスに関連する、異なる第２のコンピュータノードを有してもよい。ネットワークアドレスが、一旦設定されるか、または他の方法により提供されたコンピュータネットワーク用に確定されると、ＣＮＳ１０５は、提供されたコンピュータネットワーク用に選択された種々のコンピュータノードに、ネットワークアドレスを指定してもよい。これは例えば、ランダム方式において、ＤＨＣＰ（「動的ホスト構成プロトコル」）またはネットワークアドレスの動的指定用の他の技術等を用いて実行される。さらに、パブリックネットワークアドレスが特定のコンピュータネットワークに用いられる場合でさえも、ＣＮＳ１０５は、他の方式に用いられるために、それらのパブリックネットワークアドレスの１つ以上をマッピングしてもよい。これは例えば、他の箇所により詳細に記載されるように、特定の遠隔資源サービス用のアクセス機構として機能する特定のパブリックネットワークアドレスを用いること等によってマッピングされる。これにより、その特定のコンピュータネットワークのコンピュータノードによって、その特定のパブリックネットワークアドレスに送信される通信は、インターネットまたはその特定のパブリックネットワークアドレスが指定された他のネットワークにおける別のコンピュータシステムよりはむしろ、対応する遠隔資源サービスに転送される。図１Ｂは、提供されたコンピュータネットワーク内に通信をルーティングするための設定されたネットワークアドレスの使用の実施例に関する追加的な詳細を示す。
【００２９】
さらに、少なくとも一部の実施形態では、顧客は、顧客用の提供されたコンピュータネットワーク用のネットワークトポロジー情報を設定するために、（例えば、ＣＮＳ１０５によって提供されたＡＰＩとの１つ以上のプログラム的な相互作用を通じて）モジュール１１０と通信してもよい。また、このようなネットワークトポロジー情報は、少なくとも一部のこのような実施形態では、提供されたコンピュータネットワークが顧客に既に用いられた後等に、提供されたコンピュータネットワーク用に、その後動的に修正されてもよい。例えば、顧客は、特定の種類のネットワーク装置（例えば、ルータ、スイッチ等）、および／または提供されたコンピュータネットワークの一部となる他のネットワーク装置またはノード（例えば、ファイアウォール、プロキシ、ネットワーク記憶装置、プリンタ等）を特定してもよく、かつ／またはグループ化されるか、他の方法により共通の相互通信特性を共有する、提供されたコンピュータネットワークのコンピュータノードのサブセット（例えば、相互通信が、フィルタされず、かつ／または特定のネットワーク装置に関連するようなサブネットの一部であるコンピュータノードの特定のサブセット）を特定してもよい。さらに、提供されたコンピュータネットワーク用の特定の設定情報は、少なくとも一部の実施形態では、ネットワーク装置および／またはコンピュータデバイスのグループ間のルーティング情報または他の相互接続情報を含んでもよい。さらにまた、少なくとも一部の実施形態では、ＣＮＳ１０５は、複数の地理的位置において（例えば、地理的に分散された複数のデータセンターにおいて）利用可能なコンピュータノードを提供してもよい。また、提供されたコンピュータネットワークに対する顧客により特定された設定情報は、（例えば、複数の地理的位置にそれらを配置することによって、提供されたコンピュータネットワークのコンピュータノード間のフォールトトレランスを提供するために）提供されたコンピュータネットワークのコンピュータノードが配置される１つ以上の地理的位置をさらに指定してもよく、かつ／または提供された、１つ以上のこのような地理的位置を選択するためにＣＮＳ１０５に用いられた、コンピュータネットワークのコンピュータノードが、どのように相互運用するかの優先または要件に関する情報を他の方法により提供してもよい（例えば、コンピュータノード相互通信における最小または最大のネットワーク待ち時間または帯域幅、コンピュータノード間における最小または最大ネットワーク近接性、コンピュータノード間における最小または最大の地理的な近接性、全てのこのような地理的位置において利用できない特定の資源または機能性へのローカルアクセスを有すること、顧客の遠隔コンピュータネットワークおよび／または遠隔資源サービス等の、他の外部のコンピュータシステムに関連した特定の位置を有すること等）。
【００３０】
他の箇所により詳細に記載するように、少なくとも一部の実施形態では、提供されたコンピュータネットワークのコンピュータノード間における相互接続および相互通信は、ＣＮＳ１０５の内在するサブストレートネットワークを用いて管理される。また、このような場合に、 設定されたネットワークトポロジー情報の一部または全ては、少なくとも一部のこのような実施形態では、ＣＮＳ１０５の内在するサブストレートネットワークおよび対応するモジュールを用いてシミュレートされてもよい。例えば、ＣＮＳ１０５により提供されたコンピュータノード各々は、その関連するコンピュータノードへ、およびその関連するコンピュータノードからの通信を管理する、ＣＮＳ１０５のノード通信管理者モジュールに関連し得る。このような場合に、ファイアウォール装置は、コンピュータノード用の関連する通信管理者モジュールを用いてシミュレートされてもよい。これは、１つ以上のシミュレートされたファイアウォール装置と両立する方式にて、コンピュータノードから、および／またはコンピュータノードへの通信を許可しない、または他の方法により処理される。このようなノード通信管理者モジュールは、コンピュータノード間における相互通信が、どのように通過、および通過するか否かを制御すること、および適切な応答情報を伴う情報（ＡＲＰ、またはアドレス絞り込みプロトコル、要求等）のためのコンピュータノードからの要求に応答することによって、ルータおよびサブネットを同様にシミュレートする場合がある。ＣＮＳ１０５の１つ以上の外部通信管理者モジュールは、ＣＮＳ１０５および外部コンピュータシステムによって提供されたコンピュータノード間の通信を管理する場合がある。例えば、ファイアウォール装置を同様にシミュレートし、そして特定のネットワークアクセス制限を実施する。同様に、遠隔資源サービス用に設定されたアクセス機構および遠隔の顧客プライベートコンピュータネットワークへの安全な接続を管理する。他の種類のネットワークトポロジー情報も同様にシミュレートされてもよく、一部の実施形態におけるＣＮＳ１０５の種々のモジュールの使用に関する追加的な詳細は、図２に関連して他の箇所において下に記載される。
【００３１】
さらに、少なくとも一部の実施形態では、顧客は、顧客用の提供されたコンピュータネットワーク用の種々のネットワークアクセス制限情報を設定するように、（例えば、ＣＮＳ１０５によって提供されたＡＰＩとの１つ以上のプログラム的な相互作用を通じて）モジュール１１０と通信してもよい。また、このようなネットワークアクセス制限情報は、少なくとも一部のこのような実施形態では、提供されたコンピュータネットワークが顧客により既に用いられるようになった後等に、提供されたコンピュータネットワーク用にその後動的に修正されてもよい。例えば、顧客は、提供されたコンピュータネットワークのコンピュータノードの一部または全てが、提供されたコンピュータネットワークの他のコンピュータノード、および／または他の外部コンピュータシステムとの通信が可能か否か、およびどのように可能になるかに関する情報を特定してもよい。これは、例えば、下記の１つ以上に基づいて実行される。これには、通信方向（送信に対する受信）、通信の種類（例えば、含まれるコンテンツの種類および／または例えば、画像ではなくテキスト用のＨＴＴＰ要求を可能にするが、ＦＴＰ要求を可能にしない、用いられる通信プロトコルの種類に基づく）、他のコンピュータシステムのロケーション（例えば、提供されたコンピュータネットワークの一部、提供されたコンピュータネットワークに対応する遠隔顧客コンピュータネットワークの一部、プライベートまたは他の特殊なアクセスが構築した遠隔資源サービスの一部、提供されたコンピュータネットワークおよび任意の対応する遠隔の顧客コンピュータネットワークの外部か否か等）、他のコンピュータシステムの種類等が含まれる。さらに、他の箇所により詳細に記載するように、少なくとも一部の実施形態では、提供されたコンピュータネットワークは、１つ以上の遠隔資源サービスへのプライベートまたは他の特殊なアクセスを提供するように設定されてもよい。これは例えば、提供されたコンピュータネットワークの一部または他の方法によりその局所となる設定されたアクセス機構を通じて設定される。ネットワークトポロジー情報および他のルーティング情報と同様の方式にて、ＣＮＳ１０５は、種々の方法にて提供されたコンピュータネットワーク用のネットワークアクセス制限情報を実施できる。一部の実施形態では、提供されたコンピュータネットワークにおける通信の管理に関連する追加的な詳細は、図２に関連して他の箇所において下に記載される。
【００３２】
図１Ｂは、顧客用のＣＮＳ１０５（または、設定可能なネットワークサービスの他の実施形態）によって提供されてもよい、例示的なコンピュータネットワーク１２０ａに関する追加的な詳細を示す。この実施例では、提供されたコンピュータネットワーク１２０ａは、図１Ａの遠隔プライベートコンピュータネットワーク１３０の１つ等の、顧客の遠隔プライベートコンピュータネットワークへのプライベートネットワーク拡張である。この実施例では、提供されたコンピュータネットワーク１２０ａにおける種々の接続および通信路は、設定可能なネットワークアクセス制限およびネットワークトポロジーの型を示すように、概念的な方式において示される。また、図２は、例示的な提供されたコンピュータネットワーク１２０ａ等の提供されたコンピュータネットワークの構成に用いられ得る、内在するサブストレートネットワークおよび接続の実施例に関する追加的な詳細を示す。
【００３３】
特に、図１Ｂにおいて、提供されたコンピュータネットワーク１２０ａは、第１の地理的位置１  １６０（例えば、地理的位置１における第１のデータセンターにおいて等）に配置されたＣＮＳ１０５によって提供された種々のコンピュータノードを含む。ここで、種々のコンピュータノードは、この実施例では、（例えば、図示しない異なるサブネットおよび／または関連する設定されたネットワーク装置に対応するように）論理グループ１６４、１６５および１６６に設定される。この実施例では、単一の概念的な仮想ルータ１６２は、それらのコンピュータノードと、他のコンピュータシステムとの間の通信を制御するように、地理的位置１において示される。これにより、生じ得る異なる通信の種類を示す。しかしながら、提供されたコンピュータネットワーク１２０ａは、地理的位置１において複数または０個の設定されたネットワーク装置を実際に有してもよく、そしてコンピュータネットワーク１２０ａは、内在するサブストレートネットワーク上の通信を制御する内在するサブストレートネットワークおよび関連するモジュール等を用いることによって、複数の物理的な相互接続ルータまたは他のネットワーク装置を介する等の種々の方法により地理的位置１において設定可能なネットワークサービスによって実施されてもよい。この実施例では、仮想ルータ１６２は、提供されたコンピュータネットワーク１２０ａ用の設定された情報に従って稼働する。この情報には、設定されたネットワークトポロジー情報、遠隔資源サービスへの設定されたプライベートまたは他の特殊なアクセス、および他の設定されたネットワークアクセス制限情報が含まれる。この情報には例えば、提供されたコンピュータネットワーク１２０ａにおける宛先コンピュータノードに対応するような、提供されたコンピュータネットワーク１２０ａ内のネットワークアドレスに送信される通信をルーティングすること、および適合するように、提供されたコンピュータネットワーク１２０ａの外側の他のネットワークアドレスに他の通信をルーティングすること等の情報が含まれる。さらにまた、設定されたファイアウォール装置によって許可されない通信、設定されたネットワークトポロジー情報、または他の設定されたネットワークアクセス制限は、妨げられるか、または仮想ルータ１６２により他の方法で管理される。
【００３４】
この実施例では、コンピュータネットワーク１２０ａは、例示的な顧客１用に提供されており、そして顧客１の遠隔コンピュータネットワークへのネットワーク拡張である。顧客１の遠隔コンピュータネットワークは、第１の遠隔地サイトＡ１９０において複数のコンピュータシステム（不図示）を含む。また、仮想ルータ１６２は、地理的位置１における仮想通信リンク１７０を通じてそれらの複数のコンピュータシステムと通信するように設定される。例えば、他の箇所により詳細に記載するように、提供されたコンピュータネットワーク１２０ａは、サイトＡ１９０における複数のコンピュータシステムへの１つ以上の設定されたＶＰＮ接続を含んでもよい。また、通信リンク１７０は、１つ以上のこのようなＶＰＮ接続に対応する場合がある。さらに、顧客１の遠隔コンピュータネットワークは、図示した選択的なサイトＢ１９２等の、１つ以上の他のロケーションにおけるコンピュータシステムを任意選択的に含んでもよい。また、このような場合に、仮想ルータ１６２は、サイトＢ１９２への任意選択的な仮想通信リンク１７２等を通じて（例えば、サイトＢへの直接的な１つ以上の他の設定されたＶＰＮ接続を通じて）、他のロケーションにおけるそれらの他のコンピュータシステムと通信するようにさらに設定されてもよい。複数のＶＰＮ接続または他の安全な接続が、遠隔コンピュータネットワークの遠隔コンピュータシステムに用いられる場合には、各接続が、遠隔コンピュータシステムのサブセットに対応してもよく（例えば、それらの遠隔コンピュータシステムに対応する、遠隔コンピュータネットワークのネットワークアドレスのサブセットに関連することよって）、適切な接続において通信をルーティングする。他の実施形態では、複数のＶＰＮ接続または他の安全な接続は、１つ以上のロケーションにおける遠隔コンピュータシステムに用いられてもよい。しかしながら、複数の接続が冗長な代替である場合等には（例えば、負荷バランシングに用いられる）、この接続は、遠隔コンピュータシステムのいずれかへの通信各々を支援してもよい。さらにまた、一部の実施形態では、顧客の遠隔コンピュータネットワークは、複数のサイトにおける複数のコンピュータシステムを含んでもよい。しかしながら、遠隔コンピュータシステムへの単一のＶＰＮ接続または他の安全な接続のみが用いられてもよく、遠隔コンピュータネットワークは、適切なサイトおよびコンピュータシステムへの通信の送信に関与する。
【００３５】
さらに、提供されたコンピュータネットワーク１２０ａは、提供されたコンピュータネットワーク１２０ａのコンピュータノードと、インターネット１９６または他のパブリックネットワーク上で一般にアクセス可能である他の外部のコンピュータシステムとの間の全てもしくは一部の通信または非通信を可能にするように設定されてもよい。少なくとも一部のこのような外部通信が可能になる場合には、仮想ルータ１６２は、提供されたコンピュータネットワーク１２０ａの任意選択的な仮想通信リンク１７８を通じてそれらの外部の複数のコンピュータシステムと通信するようにさらに設定されてもよい。これは例えば、提供されたコンピュータネットワーク１２０ａ用の任意選択的な仮想ボーダールータ１５５を用いて設定される。仮想ボーダールータ１５５は、外部のコンピュータシステムと、地理的位置１においてＣＮＳ１０５によって提供された種々のコンピュータノード（ＣＮＳ１０５によって、ＣＮＳ１０５のそれらのコンピュータノードを用いる顧客に提供された多数のコンピュータネットワークを支持する実際の装置等）との間の通信を管理する、１つ以上の実際のファイアウォール装置またはボーダールータデバイスを用いたＣＮＳ１０５によって等の、種々の方法により物理的に実施されてもよい。これは、（例えば、許可されない通信が、サブストレートネットワークの上において提供されたコンピュータネットワーク１２０ａのコンピュータノードによって送信されることを防止するために）内在するサブストレートネットワーク、および内在するサブストレートネットワーク上における通信を制御する関連するモジュールを用いること等により実施される。さらにまた、仮想ボーダールータ１５５は、例えばサイトＡおよびＢにおける遠隔の顧客コンピュータネットワーク、１つ以上の遠隔資源サービス等の、提供されたコンピュータネットワーク１２０ａの外部における他のコンピュータシステムへの他の通信の管理を概念的にさらに支援する場合がある。
【００３６】
さらに、提供されたコンピュータネットワーク１２０ａは、１つ以上の遠隔資源サービスへのプライベートまたは他の特殊なアクセスを提供するように設定されてもよい。これは例えば、それらの１つ以上の遠隔資源サービスを示すように、提供されたコンピュータネットワーク１２０ａの１つ以上のネットワークアドレスを指定すること、およびそれらの指定されたネットワークアドレスに送信される通信のために取得される特定の行為を任意選択的に設定すること等によって設定される。この実施例では、仮想ルータ１６２は、提供されたコンピュータネットワーク１２０ａの仮想通信リンク１７４を通じた、遠隔資源サービス１９４へのローカルアクセスを提供するように設定される。それ故、例えば、提供されたコンピュータネットワーク１２０ａのコンピュータノードの１つが、通信リンク１７４にマッピングされた、提供されたコンピュータネットワーク１２０ａの特定のネットワークアドレスに通信を送信する場合には、仮想ルータは、その通信を、（例えば、インターネットまたは他のパブリックネットワークを通じて）提供されたコンピュータネットワーク１２０ａの外部における遠隔資源サービス１９４に転送してもよい。他の実施形態では、遠隔資源サービス１９４は、ＣＮＳ１０５の一部または他の方法により、地理的位置１におけるインターフェースを実施してもよい。また、このような場合に、通信リンク１７４にマッピングされた、提供されたコンピュータネットワーク１２０ａの特定ネットワークアドレスに送信された通信は、その代わりに、処理のために遠隔資源サービスのそのインターフェースに転送されてもよい。
【００３７】
さらに、仮想通信リンク１７４は、少なくとも一部の実施形態では、種々の方法においてリンクを通じて送信された通信を管理するように設定されてもよい。これは、通信が遠隔資源サービス１９４に転送されるか、特殊な方式において遠隔資源サービス１９４に他の方法によりアクセスする前に、１つ以上の方式にてそれらの通信を修正すること等によって実行される。例えば、図示した実施形態では、仮想通信リンク１７４は、遠隔資源サービス１９４内の特定のネームスペースに対応するように設定されてもよい。これは、そのネームスペースの一部である、遠隔資源サービス１９４によって提供されたコンピュータ関連資源のサブセットを用いて設定される。 それ故、仮想通信リンク１７４は、特定のネームスペース内の資源にアクセスするように設定されてもよい。これは例えば、特定のネームスペースに関連するネームまたは他の識別子を用いるように通信を修正または変換することにより、特定のネームスペースの指定を支援する、遠隔資源サービスの特定のインターフェースを用いること等によって設定される。さらに、仮想通信リンク１７４が、特定のネームスペースに対応するか、他の方法により遠隔資源サービス１９４によって提供された資源のサブセットに対応するように設定された場合には、提供されたコンピュータネットワーク１２０ａは、同一の遠隔資源サービス１９４にも対応する、１つ以上の他の仮想通信リンクを含むように任意選択的にさらに設定されてもよい。しかしながら、他の方式にて遠隔資源サービス１９４にアクセスするように設定される。例えば、提供されたコンピュータネットワーク１２０ａは、仮想通信リンク１７４のそれとは異なる方式にて遠隔資源サービス１９４にアクセスするように設定される、異なる仮想通信リンク１７６を任意選択的に含んでもよい。これは例えば、通信リンク１７４に用いられる客識別子とは異なる、遠隔資源サービス１９４の客の識別子を用いること等により、異なる第２のネームスペースに対応するが、いかなる特定のネームスペースにも対応しないように実行される。この実施例では、仮想通信リンク１７４および１７６は、リンク１７４および１７６にそれぞれ用いられるＩＤ１およびＩＤ２としてこの実施例では示される、異なる識別子（異なるネームスペース識別子等）を利用するように設定される。それ故、提供されたコンピュータネットワーク１２０ａのコンピュータノードは、遠隔資源１９４からの異なる種類の機能にアクセスできる。また、ここには図示しないが、提供されたコンピュータネットワーク１２０ａは、それらの他の遠隔資源サービスにリンクする他の仮想通信を用いる１つ以上の他の遠隔資源サービス（不図示）にアクセスするように同様に設定されてもよい。
【００３８】
遠隔資源サービス１９４の特定のネームスペースにアクセスするような仮想通信リンク１７４の設定に加えて、またはその代わりに、遠隔資源サービス１９４に、提供されたコンピュータネットワーク１２０ａとして、通信のロケーションまたは他の資源を検証させるために、少なくとも一部の実施形態では、仮想通信リンクは、遠隔資源サービス１９４に追加的な情報を提供するように設定されてもよい。例えば、図示した実施形態では、仮想通信リンク１７４は、設定可能なネットワークサービスまたは遠隔資源サービス１９４によって提供されたコンピュータネットワーク１２０ａに関連する、１つ以上の特定の識別子または他のアクセスコントロールインジケータに対応するように設定されてもよい。これにより、仮想通信リンク１７４を通じてアクセスされた遠隔資源サービス１９４によって提供された新規および／または既存のコンピュータ関連資源のサブセットは、それらの資源へのアクセス制限において遠隔資源サービス１９４に用いられるように、アクセスコントロールインジケータ（単数または複数）に関連付けられる。それ故、仮想通信リンク１７４は、種々の方法により、提供されたコンピュータネットワーク１２０ａに関連する特定の追加的なインジケータ（単数または複数）を利用するように設定されてもよい。この方法には例えば、追加的なインジケータ（単数または複数）を含むように通信を修正すること、通信を修正せずに通信と共に追加的なインジケータ（単数または複数）を送信すること、このような追加的なインジケータ（単数または複数）を含む支援をする、遠隔資源サービスの特定のインターフェースを利用すること等が含まれる。さらに、仮想通信リンク１７４が、１つ以上の追加的なインジケータに対応するように設定された場合には、提供されたコンピュータネットワーク１２０ａは、同一の遠隔資源サービス１９４にも対応するが、他の方式にて遠隔資源サービス１９４にアクセスするように設定される、１つ以上の他の仮想通信リンクを含むように任意選択的にさらに設定されてもよい。例えば、提供されたコンピュータネットワーク１２０ａは、いかなる追加的なインジケータを用いること無く、遠隔資源サービス１９４にアクセスするために（例えば、他の方法により公的に利用可能な遠隔資源サービス１９４への同一のアクセスを提供するために）、異なる仮想通信リンク１７６を任意選択的に設定してもよい。これは、仮想通信リンク１７４に用いられるものとは異なる１つ以上の他の追加的なアクセスコントロールインジケータを用いること、仮想通信リンク１７４に用いられる客識別子とは異なる、遠隔資源サービス１９４の客の識別子を用いること等によって実行される。さらにまた、ここには図示しないが、提供されたコンピュータネットワーク１２０ａは、仮想通信リンク１７４と同一の１つ以上の追加的なインジケータを用いてか、または他の方法により設定された他の仮想通信リンク等の、それらの他の遠隔資源サービスにリンクする他の仮想通信を用いて、１つ以上の他の遠隔資源サービス（不図示）にアクセスするように同様に設定されてもよい。
【００３９】
図示した実施形態では、地理的位置１におけるＣＮＳ１０５のコンピュータノードに加えて、提供されたコンピュータネットワーク１２０は、第２の地理的位置２  １８０（例えば、地理的位置２における異なる第２のデータセンターにおいて）に配置された、ＣＮＳ１０５によって提供されたコンピュータノード１８４をさらに含んでもよい。それ故、仮想ルータ１６２は、地理的位置２における提供されたコンピュータネットワーク１２０ａの部分への任意選択的な仮想通信リンク１６８を含むように設定されてもよい。この実施例では、地理的位置２における同様の提供されたコンピュータネットワーク１２０ａの部分が、コンピュータノード１８４への、およびコンピュータノード１８４からの通信を管理する概念的な仮想ルータ１８２と共に図示される。この通信には、仮想通信リンク１８８を通じた、地理的位置１において提供されたコンピュータネットワーク１２０の部分との通信することが含まれる。異なる地理的位置における、ＣＮＳ１０５のコンピュータノード間のこのような通信は、種々の実施形態における種々の方法により処理されてもよい。例えば、インターネットまたは他のパブリックネットワーク上で（例えば、ＣＮＳ１０５によって支援される暗号化を用いること等の、安全なトンネルの一部として）通信を送信すること、プライベートな安全な方式により（例えば、地理的位置間における専用のリース線を通じて）通信を送信すること等によって処理される。さらに、ここには図示しないが、地理的位置２において提供されたコンピュータネットワーク１２０ａの部分は、地理的位置１においてその部分が図示された同一の種類の他の仮想通信リンクの一部または全てを同様に含んでもよい。これには例えば、遠隔の顧客プライベートネットワーク（例えば、地理的位置１へのあらゆるＶＰＮ接続とは異なる１つ以上のＶＰＮ接続を通じた）へ、遠隔資源サービスへ、インターネットへ等のリンクが含まれる。
【００４０】
図１Ｂのコンピュータネットワーク１２０ａが提供された例は、例示を目的として含まれ、ＣＮＳ１０５により提供された顧客用の他のコンピュータネットワークは、設定された通信リンクの種類およびネットワークトポロジー情報の全ては含まず、かつ／またはここには図示しない他の設定された通信リンクの種類およびネットワークトポロジー情報を含んでもよいことが理解されるであろう。例えば、一部の実施形態および状況では、提供されたコンピュータネットワークは、コンピュータノードに加えて、またはその代わりに、設定された装置および他の資源を含んでもよい。また、そうである場合には、このような他の資源各々が、提供されたコンピュータネットワークのネットワークアドレスを任意選択的に指定されてもよい。さらにまた、図１Ｂに示された概念的なデバイスおよび通信リンクは、種々の種類の内在する物理的デバイス、接続、およびモジュールを用いて実施されてもよい。さらに、ここには図示しないが、顧客は、提供されたコンピュータネットワーク、またはその代わりの他の遠隔コンピュータシステムからであるか否かにかかわらずに、遠隔資源サービスとの様々な他の種類の相互作用を実行してもよい。これには例えば、資源を使用するための会員登録／登録、種々の認証情報（例えば、ユーザＩＤ、パスワード等）の受信または構成、提供されたコンピュータネットワーク（私企業ネットワークへのネットワーク拡張等）から後にアクセスされる、他の遠隔コンピュータシステム（遠隔プライベート企業ネットワークの一部等）からの資源および／またはネームスペースの構成等が含まれる。
【００４１】
図２は、設定可能なネットワークサービスの実施形態等に従った、コンピュータネットワークの提供に用いられる、コンピュータシステムの例示的な実施形態を示すネットワーク図である。特に、この実施例では、多数の物理的なコンピュータシステムが、データセンター２００において同一場所に配置され、そして種々のネットワーク装置および１つ以上の物理的なネットワークを通じて相互接続される。この実施例では、物理的なコンピュータシステムおよび他のデバイスは、顧客用の複数のコンピュータネットワークを提供するために、設定可能なネットワークサービスによって用いられる。これは、仮想ネットワークとして提供されたコンピュータネットワーク各々を構築および維持すること、および仮想ネットワークがオーバーレイされたサブストレートネットワークとして物理的なネットワーク（単数または複数）を用いることによって達成される。例えば、図１Ｂの実施例において、データセンター２００は、地理的位置１に配置されてもよく、図示した物理的なコンピュータシステムは、提供されたコンピュータネットワーク１２０ａのコンピュータノード１６４、１６５および１６６を提供するために用いられてもよい。オーバーレイネットワークおよび内在するサブストレートネットワークの使用は、少なくとも一部の実施形態では、提供されたコンピュータネットワークのコンピュータノードに対して透過的でもよい。
【００４２】
それ故、この実施例では、設定可能なネットワークサービスにより提供されたコンピュータネットワークは、内在する物理的なサブストレートネットワークを通じて通信を送信する仮想オーバーレイネットワークとして実装される。提供された仮想オーバーレイネットワークは、（物理的なサブストレートネットワークのネットワークプロトコル用に設定された通信における仮想ネットワークに関する仮想ネットワークアドレス情報を埋め込むこと等によって）一部の実施形態において通信をカプセル化しない等の、種々の実施形態における種々の手法により実装されてもよい。説明に役立つ一実施例のように、仮想ネットワークは、３２−ｂｉｔ  ＩＰｖ４（「Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌバージョン４」）ネットワークアドレスを用いて実施されてもよく、それらの３２−ｂｉｔ仮想ネットワークアドレスは、物理的なサブストレートネットワークにより用いられる１２８−ｂｉｔ  ＩＰｖ６（「Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌバージョン６」）ネットワークアドレスの一部として埋め込まれてもよい。これは例えば、通信パケットまたは他のデータ送信を（例えば、Ｓｔａｔｅｌｅｓｓ  ＩＰ／ＩＣＭＰ  Ｔｒａｎｓｌａｒｔｉｏｎ、すなわちＳＩＩＴを用いて）再ヘッダすること、または異なる第２のネットワークプロトコルに設定するために、それらを第１のネットワークプロトコルから変形するような、かかるデータ送信を他の方法により修正すること等によって実行される。説明に役立つ別の実施例のように、仮想ネットワークおよびサブストレートネットワークは両方とも、同一のネットワークアドレスプロトコル（例えば、ＩＰｖ４またはＩＰｖ６）を用いて実装されてもよく、仮想ネットワークアドレスを用いた提供された仮想オーバーレイネットワークを通じて送信されたデータ通信は、サブストレートネットワーク上において送信されるが、サブストレートネットワークに対応する異なる物理的なネットワークアドレスを用いるように修正されてもよい。しかしながら、原型の仮想ネットワークアドレスは、修正されたデータ送信内に保存されるか、または他の方法により追跡される。これにより、データ送信は、サブストレートネットワークから抜け出たときに、それらの原型の形態に再保存され得る。他の実施形態では、オーバーレイネットワークの少なくとも一部は、通信のカプセル化を用いて実装されてもよい。
【００４３】
図２に示した実施例は、設定可能なネットワークサービスの実施形態に従って稼働される複数の物理的なコンピュータシステムを用いたデータセンター２００を含む。データセンター２００は、データセンター２００の外部における１つ以上のパブリックネットワーク２３５に接続される。これにより、プライベートネットワーク２４０を通じた１つ以上の遠隔コンピュータシステム２４５ａ、他の地理的位置における複数のコンピュータシステムをその各々が有する１つ以上の他の全体的にアクセス可能なデータセンター２６０、および１つ以上の他の遠隔コンピュータシステム２４５ｂへのアクセスが提供される。パブリックネットワーク２３５は、例えば、種々の異なる団体が稼働する可能性があるネットワークである、インターネット等の公的にアクセス可能なネットワークであってもよく、プライベートネットワーク２４０は、例えば、プライベートネットワーク２４０の外部におけるコンピュータシステムから全体的または部分的にアクセスできない企業ネットワークであってもよい。コンピュータシステム２４５ｂ各々は、例えば（例えば、電話線、ケーブルモデル、デジタル加入者回線（「ＤＳＬ」）等を通じて）、インターネットに直接接続するホームコンピュータシステムでもよい。
【００４４】
この実施例では、仮想の提供されたコンピュータネットワークの設定は、設定可能なネットワークサービスの管理者モジュール２１０によって促進され、設定可能なネットワークサービスの複数の他のモジュールは、提供されたコンピュータネットワークの機能を実行するのに用いられる。これは例えば、サブストレートネットワークに入る、および／またはサブストレートネットワークから出る通信を修正することによって、物理的なサブストレートネットワークのエッジ等から提供される。特に、この実施例では、設定可能なネットワークサービスの複数のノード通信管理者モジュールは各々、より詳細に下に記載されるような、図示したノード通信管理者モジュール２０９ａ、２０９ｄおよび２５０等の関連するコンピュータノードへの、およびコンピュータノードからの通信を管理する。さらに、この実施例では、設定可能なネットワークサービスの外部通信管理者モジュール２７０は、下により詳細に記載するように、データセンター２００および外部のコンピュータシステム内における物理的なコンピュータシステム間の通信を管理する。この実施例では、単一の外部通信管理者モジュール２７０のみが図示されたが、モジュール２７０の機能が、冗長性および負荷バランシングのため等に、複数のデバイスを用いて実行されてもよいことが理解される。
【００４５】
データセンター２００は、関連するコンピュータシステム２５５ａ〜２５５ｎ用の通信を管理するために、１つ以上の他のコンピュータシステム（不図示）を実行するＣＮＳノード通信管理者モジュール２５０、および１つ以上のコンピュータシステム（不図示）を実行する設定可能なネットワークサービスの管理者モジュール２１０と共に、多数の物理的なコンピュータシステム２０５ａ〜２０５ｄおよび２５５ａ〜２５５ｎを含む。この例示的な実施形態では、各物理的なコンピュータシステム２０５ａ〜２０５ｄは、複数の仮想マシンコンピュータノードをホストし、（例えば、物理的なコンピュータシステム用の仮想マシンハイパーバイザモニタの一部として）仮想マシン（「ＶＭ」）ノード通信管理者モジュールをさらに含む。これには例えば、コンピュータシステム２０５ａにおけるＣＮＳ  ＶＭノード通信管理者モジュール２０９ａおよび仮想マシン２０７ａ、並びにコンピュータシステム２０５ｄにおけるＣＮＳ  ＶＭノード通信管理者モジュール２０９ｄおよび仮想マシン２０７ｄが含まれる。仮想マシンコンピュータノードは各々、顧客用の提供されたコンピュータネットワークの異なるコンピュータノードとして設定可能なネットワークサービスにより用いられてもよい。物理的なコンピュータシステム２５５ａ〜２５５ｎは、この実施例では、いかなる仮想マシンをも実行しない。それ故、それらは、設定可能なネットワークサービスによって提供された顧客用のコンピュータネットワークの一部である異なるコンピュータノードとして各々が機能する。他の実施形態では、データセンターにおける物理的なコンピュータシステムの全てが仮想マシンをホストするかもしれないし、またはそのどれもホストしないかもしれない。
【００４６】
この例示的なデータセンターは、スイッチ２１５ａおよび２１５ｂ、エッジルータ２２５ａ〜２２５ｃ、およびコアルータ２３０ａ〜２３０ｃ等の複数の物理的なネットワーク装置をさらに含む。スイッチ２１５ａは、物理的なコンピュータシステム２０５ａ〜２０５ｃを含む物理的なネットワークの一部であり、エッジルータ２２５ａに接続される。スイッチ２１５ｂは、物理的なコンピュータシステム２０５ｄ、２５５ａ〜２５５ｎ、並びにＣＮＳノード通信管理者モジュール２５０およびＣＮＳシステム管理者モジュール２１０を提供するコンピュータシステム（単数または複数）を含む異なる物理的なネットワークの一部であり、エッジルータ２２５ｂに接続される。スイッチ２１５ａ〜２１５ｂによって順次構築される物理的なネットワークは、同様に、エッジルータ２２５ａ〜２２５ｃおよびコアルータ２３０ａ〜２３０ｃを含む中間相互接続ネットワーク２２０を通じて、互いにかつ他のネットワーク（パブリックネットワーク２３５等）に接続される。エッジルータ２２５ａ〜２２５ｃは、２つ以上のネットワーク間のゲートウェイを提供する。例えば、エッジルータ２２５ａは、スイッチ ２１５ａにより構築された物理的なネットワークと、相互接続ネットワーク２２０との間のゲートウェイを提供する。 エッジルータ２２５ｃは、相互接続ネットワーク２２０と、パブリックネットワーク２３５との間におけるゲートウェイを提供する。コアルータ２３０ａ〜２３０ｃは、相互接続ネットワーク２２０内の通信を管理する。これは例えば、そのデータ送信の特性（例えば、発信元および／または宛先サブストレートネットワークアドレス、プロトコル識別子等を含むヘッダ情報等）、および／または相互接続ネットワーク２２０自体の特性（例えば、物理的なネットワークトポロジーに基づくルート等）に基づいて適合するようなパケットまたは他のデータ送信を転送することよって実行される。
【００４７】
説明されたノード通信管理者モジュールは、関連するコンピュータノードへの、および関連するコンピュータノードから送信された通信を管理する。例えば、ノード通信管理者モジュール２０９ａは、関連する仮想マシンコンピュータノード２０７ａを管理し、ノード通信管理者モジュール２０９ｄは、関連する仮想マシンコンピュータノード２０７ｄを管理し、他のノード通信管理者モジュールは各々、１つ以上の他の関連するコンピュータノードのグループに対する通信を同様に管理する場合がある。説明されたノード通信管理者モジュールは、コンピュータノード間の通信を管理してもよく、中間物理的サブストレートネットワーク（スイッチ２１５ａおよび２１５ｂに関連する相互接続ネットワーク２２０および物理的なネットワーク等）上の特定の仮想ネットワークをオーバーレイする。また、このような通信を制御するためのファイアウォールポリシーおよび他のネットワークアクセス制限を実施してもよい。外部通信管理者モジュール２７０は、例えば、このような外部通信に関するデータセンター２００内のサブストレートネットワーク上でオーバーレイネットワークをさらに実施するように、データセンター２００に入り、かつデータセンター２００から出る外部通信を管理する。外部通信管理者モジュール２７０は、ファイアウォールポリシーおよび他のネットワークアクセス制限を実施するように手段を取ってもよい。この手段には、データセンター２００の外部における遠隔資源サービスへのプライベート、または他の特殊なアクセスを可能にする、提供されたコンピュータネットワークのための少なくとも一部の設定されたアクセス機構、および遠隔の顧客コンピュータネットワークの外部における少なくとも一部のＶＰＮ接続が任意選択的に含まれる。または、その代わりに、このようなＶＰＮ接続における設定可能なネットワークサービスの一部を実施する他のハードウェアおよび／またはソフトウェア（不図示）と連動して稼働してもよい。
【００４８】
それ故、説明に役立つ一実施例のように、コンピュータシステム２０５ａにおける仮想マシンコンピュータノード２０７ａの１つは、仮想ネットワーク用の仮想ネットワークアドレスを表示するのに利用されるＩＰｖ４を用いた、コンピュータシステム２０５ｄにおける仮想マシンコンピュータノード２０７ｄおよびコンピュータシステム２５５ａ（および、任意選択的に、このデータセンター、またはこれも設定可能なネットワークサービスにより用いられる１つ以上の他のデータセンター２６０における他のコンピュータノード）のうちの１つと共に、顧客用の特定の提供された仮想コンピュータネットワーク（例えば、図１Ｂの提供されたコンピュータネットワーク１２０ａ）の一部であってもよい。仮想マシンコンピュータノード２０７ａ、仮想マシンコンピュータノード２０７ｄ、およびコンピュータシステム２５５ｂ〜２５５ｎの他のものは、（他の説明されたコンピュータノードと同様に）他の顧客に提供されている他のコンピュータネットワークに現在専用でもよく、提供されたコンピュータネットワークに現在指定されていないかもしれず、設定可能なネットワークサービスにより利用可能であってもよく、かつ／または同一の特定の提供された仮想コンピュータネットワークの一部でもあってもよい。特定の提供された仮想コンピュータネットワークの一部である仮想マシンコンピュータノード２０７ａにおける、顧客用のプログラム実行は、次に、特定の提供された仮想コンピュータネットワークの仮想マシンコンピュータノード２０７ｄへの発信（不図示）を導く場合がある。これは例えば、その宛先仮想マシンコンピュータノード２０７ｄにおいて指定された、その提供された仮想コンピュータネットワーク用の仮想ネットワークアドレスを特定することにより達成される。ノード通信管理者モジュール２０９ａは、その発信を受信し、少なくとも一部の実施形態では、発信の送信を許可するか否かを確定する。これは例えば、（例えば、許可の確定、このような情報の一部または全て等を得るための）送信仮想マシンコンピュータノード２０７ａ、および／または宛先仮想マシンコンピュータノード２０７ｄに関する以前に設定された情報に基づいて、かつ／またはシステム管理者モジュール２１０と動的に通信することによって実行される。
【００４９】
ノード通信管理者モジュール２０９ａが、発信が許可されたことを確定する（または、このような許可の確定を実行しない）場合には、モジュール２０９ａは、通信用の宛先仮想ネットワークアドレスに対応する実際の物理的なサブストレートネットワークロケーションを確定する。この実施例では、相互接続ネットワークは、相互接続ネットワークを通じて接続された、コンピュータノード用の実際のネットワークアドレスを表示するＩＰｖ６を用いる。また、モジュール２０９ａは、それが実際のＩＰｖ６サブストレートネットワークアドレスを利用してノード通信管理者モジュール２０９ｄに導かれるように、発信を再ヘッダする。ノード通信管理者モジュール２０９ａは、宛先仮想コンピュータノード２０７ｄの仮想ネットワークアドレスに用いられるための、実際のＩＰｖ６宛先ネットワークアドレスを確定してもよい。これは例えば、システム管理者モジュール２１０と動的に通信すること、または（例えば、アドレス絞り込みプロトコルまたはＡＲＰを用いた要求等の、その宛先仮想ネットワークアドレスに関する情報のために、仮想マシンコンピュータノード２０７ａを送信する事前の要求に応答して）、その情報を事前に確定および保存することによって達成される。この実施例では、用いられる実際のＩＰｖ６宛先ネットワークアドレスは、カプセル化無しにオーバーレイネットワーク上における通信を送信するために、仮想宛先ネットワークアドレスおよび追加的な情報が埋め込まれる。
【００５０】
ノード通信管理者モジュール２０９ｄは、相互接続ネットワーク２２０を通じて通信を受信する際に、仮想宛先ネットワークアドレスおよび実際のＩＰｖ６宛先ネットワークアドレスからの追加的な情報を抽出し、仮想マシンコンピュータノード２０７ｄのどれへ通信が導かれるかを確定する。ノード通信管理者モジュール２０９ｄは、次に、仮想発信元ネットワークアドレスおよび実際のＩＰｖ６発信元ネットワークアドレスからの追加的な情報を抽出すること、およびその仮想発信元ネットワークアドレスを有するコンピュータノードが通信を転送したノード通信管理者モジュール（この実施例では、ノード通信管理者モジュール２０９ａ）によって実際に管理されるかを確認すること等によって、宛先仮想マシンコンピュータノード２０７ｄ用に許可された通信か否かを任意選択的に確定する。これにより、悪意のある送信者による発信元ネットワークアドレスにおける他人へのなりすましを防止する。通信の許可が確定された場合には（または、ノード通信管理者モジュール２０９ｄが、このような許可の確定を実行しない場合には）、モジュール２０９ｄは、次に、着信を再ヘッダする。これにより、それは、仮想ネットワーク用に適切なＩＰｖ４ネットワークアドレスを利用して、宛先仮想マシンコンピュータノード２０７ｄに導かれる。これは例えば、発信元ネットワークアドレスとして、送信仮想マシンコンピュータノードの仮想ネットワークアドレス、および宛先ネットワークアドレスとして、宛先仮想機械コンピュータノードの仮想ネットワークアドレスを用いることによって達成される。着信の再ヘッダ後に、モジュール２０９ｄは、次に、宛先仮想マシンコンピュータノードに、修正された通信を転送する。少なくとも一部の実施形態では、宛先仮想マシンへの着信の転送前に、モジュール２０９ｄは、安全に関する追加的な措置をさらに実行できる。例えば、モジュール２０９ｄは、送信仮想マシンコンピュータノードが、（例えば、同一の客または他の事業体と関連付けられ、そのコンピュータノードが互いの通信を許可された異なる事業団体と関連付けられた、等の、同一の仮想ネットワークの所属、および／またはその提供された仮想ネットワーク用の特定のネットワークアクセス制限情報等に基づいて）宛先仮想マシンとの通信を許可されたか、および／または着信が許可された種類かを検証してもよい。これは例えば、モジュール２０９ｄによって以前に得られた情報、またはシステム管理者モジュール２１０との通信に基づいて検証される。
【００５１】
送信仮想マシンコンピュータノード２０７ａが、その代わりに（または、それに加えて）、データセンター２００の外部への１つ以上の意図された宛先コンピュータシステムへの発信を（不図示）導く場合には、ノード通信管理者モジュール２０９ａは、同様の方式にてその発信を受信および処理する。意図された外部の宛先コンピュータシステムは、例えば、（例えば、特定の提供されたコンピュータネットワークが拡張である遠隔仮想顧客コンピュータネットワーク上、または特定の仮想コンピュータネットワークの一部を提供するための設定可能なネットワークサービスにも用いられる別のデータセンター２６０における）同一の特定の提供された仮想コンピュータネットワークの一部である別のコンピュータノード、遠隔資源サービスのコンピュータシステム、インターネット上で公的にアクセス可能なコンピュータシステム等でもよい。少なくとも一部の実施形態および状況では、モジュール２０９ａは、発信の送信を許可するか否かを第１に確定してもよく、そうである場合は、通信用の宛先ネットワークアドレスに対応する実際の物理的なサブストレートネットワークロケーションを確定する。この実施例では、例えば、モジュール２７０が、他の方法においてもノード通信管理者モジュールに指定されない全ての仮想および／または実際のネットワークアドレスに関連する場合に、確定された物理的なサブストレートネットワークロケーションは、外部の通信管理者モジュール２７０に対応する。モジュール２７０が、相互接続ネットワーク２２０を通じて通信を受信する際に、宛先ネットワークアドレスおよび受信した通信からの追加的な情報を同様に抽出する。そして、通信が意図された宛先用に許可されるか否かの任意選択的な判定を含む、通信を転送するか否か、かつどのように転送するかを判定する。通信が許可されることが判定された場合には（または、モジュール２７０がこのような許可の判定を実行しない場合には）、モジュール２７０は、次に、着信を再ヘッダする。これにより、それは、適切なＩＰｖ４パブリックネットワークアドレス（または、パブリックネットワーク２３５に適切な他のネットワークアドレス）を用いて宛先に導かれ、そして、パブリックネットワーク２３５上において修正された通信を転送する。
【００５２】
それ故、上述のように、外部通信管理者モジュール２７０は、それらの遠隔資源サービス用の設定されたアクセス機構を通じて遠隔資源サービスに送信された発信を含むような、図示した実施形態における提供されたコンピュータネットワークからの発信を処理する。特定の提供されたコンピュータネットワーク用の設定されたアクセス機構を通じて、発信が遠隔資源サービスに送信されている場合には、モジュール２７０および／または送信コンピュータノードの関連するノード通信管理者モジュールは、少なくとも一部の実施形態および状況においてさらなる手段を取ってもよい。例えば、特定の提供された仮想コンピュータネットワークは、その遠隔資源サービスの特定のネームスペースにマッピングされた、特定の遠隔資源サービス（１つ以上のコンピュータシステム２４５ｂまたは別のデータセンター２６０における１つ以上のコンピュータシステムを通じて提供された遠隔資源サービス等）用の設定されたアクセス機構を有してもよい。また、送信仮想マシンコンピュータノード２０７ａは、その設定されたアクセス機構を通じて通信を送信してもよい。特定の提供されたコンピュータネットワーク用のその遠隔資源サービスへの設定されたアクセス機構は、例えば、その設定されたアクセス機構を表示するように指定された、特定の提供されたコンピュータネットワークの仮想ネットワークアドレスでもよい。また、このような場合に、その割り当てられた仮想ネットワークアドレスは、発信がモジュール２７０に導かれるように、モジュール２７０に関連付けられてもよい。パブリックネットワーク２３５を通じて遠隔資源サービスにこのような発信を転送する前に、モジュール２７０は、用いられるアクセス機構における設定を反映する種々の手段を取ってもよい。この手段には例えば、照会に対する発信の修正、または他の方法による、アクセス機構に対応する特定のネームスペースの使用が含まれる。このような状況では、モジュール２７０は、種々の手法により、ネームスペースおよびアクセス機構用の他の設定情報を確定できる。これは例えば、設定情報を局所的に保存すること、設定情報を得るために、システム管理者モジュール２１０と交信すること等により実行される。さらに、モジュール２７０は、種々の方法により、特定のネームスペースを使用するために、どのように、およびどのタイミングで通信を修正するかを確定してもよい。これは例えば、設定可能なネットワークサービスに以前に提供された対応する設定情報（ネームスペースを指定する１つ以上の特定のメッセージパラメータの指定、ネームスペース識別子を任意選択的に含んでもよい資源を指定または照会するのに用いられる１つ以上の特定のメッセージパラメータの指定、ネームスペースが指定される、または他の方法によりネームスペース情報を用いるメッセージの種類の指定等）を有する遠隔資源サービスによって実行される。
【００５３】
１つの特定の説明に役立つ実例として、遠隔資源サービスは、（例えば、保存オブジェクトまたは保存データの他のグループを読み出すための）データ保存サービスを提供してもよく、そして発信は、特定の保存関連資源にアクセスするための要求でもよい。このような場合に、特定の保存資源は、顧客に規定されたネームスペースの一部として、提供されたコンピュータネットワークの外部におけるコンピュータシステムを用いること等によって、（例えば、顧客の遠隔プライベートコンピュータネットワークにおいて）顧客により事前に構成されていてもよい。その同一のネームスペースを用いるための、特定の提供されたコンピュータネットワーク用のアクセス機構を設定することによって、提供されたコンピュータネットワークのコンピュータノードは、顧客の既存の保存資源にアクセスし、かつそれを利用してもよい。説明に役立つ実施例として、顧客の遠隔プライベートコンピュータネットワークが企業ネットワークである場合には、顧客は、異なる種類のデータを保存するために、異なるネームスペースを使用してもよい。この保存には例えば、第１のネームスペースには慎重に扱うべき人事データの保存、第２のネームスペースには部外秘のソフトウェア開発ソフトウェアおよび他のデータの保存、および第３のネームスペースを通じて、一般的に、企業全体において利用可能な他の企業データの保存が含まれる。設定可能なネットワークサービスの提供されたコンピュータネットワークが、企業の特定のサブセット（例えば、人事の人員）のみにより用いられる場合には、特定の提供されたコンピュータネットワーク用の遠隔資源サービスへのアクセス機構は、慎重に扱うべき人事データ用の第１のネームスペースを用いるように設定されてもよい。さらにまた、特定の提供されたコンピュータネットワークは、例えば、一般に入手可能な企業データ用の第３のネームスペースを使用するように、（例えば、提供されたコンピュータネットワークの異なって割り当てられた仮想ネットワークアドレスを用いた）遠隔資源サービスに設定された第２のアクセス機構を任意選択的に有してもよい。これにより、特定の提供されたコンピュータネットワークのコンピュータノードは、資源の異なるグループへのアクセスを得るために、特定の提供されたコンピュータネットワークの異なるローカル仮想ネットワークアドレスと通信してもよい。
【００５４】
説明に役立つ他の実施例のように、特定の提供されたコンピュータネットワーク用の遠隔資源サービスへのアクセス機構は、その代わりに、特定の提供されたコンピュータネットワークのコンピュータノードのみが、それらのコンピュータノードにより構成および使用される保存資源にアクセスできるように設定されてもよい。このような場合に、設定可能なネットワークサービスは、（例えば、特定の提供されたコンピュータネットワークのコンピュータノードにその情報を供給すること無く）新規のネームスペースを自動的に生成すること、または設定情報を用いた顧客によって指定される新規のネームスペースを利用すること等によって、特定の提供されたコンピュータネットワークを利用するための新規のネームスペースを確定してもよく、そして新規のネームスペースを用いるためのアクセス機構を設定してもよい。設定可能なネットワークサービスまたは特定の提供されたコンピュータネットワークのコンピュータノードは、遠隔資源サービスに応じて、遠隔資源サービス内において新規のネームスペースを構成するための初期の手段をさらに取る必要がある場合がある。新規のネームスペースが一旦利用可能になると、特定の提供されたコンピュータネットワークのコンピュータノードは、新規のネームスペースの一部である新規の保存された資源を構成するように遠隔資源サービスと通信し、このような保存された資源にアクセスする、設定されたアクセス機構を同様に利用してもよい。そして、外部通信管理者モジュール２７０は、新規のネームスペースを利用するのに適合するように、同様に発信を修正する。
【００５５】
特定の遠隔資源サービス内の特定のネームスペースに対応する設定されたアクセス機構を実施するような設定に加えて、またはその代わりに、外部通信管理者モジュール２７０は、一部の実施形態では、そのアクセス機構を通じてその遠隔資源サービスに送信される通信の一部または全て用のアクセスコントロールに関連する１つ以上の追加的なインジケータを含むように設定されてもよい。そして、送信仮想マシンコンピュータノード２０７ａは、その設定されたアクセス機構を通じてこのような通信を送信できる。パブリックネットワーク２３５を通じて遠隔資源サービスにこのような発信を転送する前に、モジュール２７０は、用いられるアクセス機構用の設定を反映する種々の手段を取ってもよい。この手段には例えば、（例えば、送信仮想マシンコンピュータノード２０７ａによって特定の任意のインジケータの代わりであるか、またはそれに加えてであるかに関わらずに、１つ以上のアクセスコントロールインジケータの顧客仕様が、遠隔資源サービスにより支持された方式において１つ以上の追加的なインジケータを含むことを、遠隔資源サービスが可能にする場合に）遠隔資源サービスに特定の方式を用いた、通信のヘッダおよび／または主部の修正等の、アクセス機構が対応する１つ以上の追加的なインジケータを含む発信の修正が含まれる。このような状況では、モジュール２７０は、種々の手法にてアクセス機構用の追加的なインジケータ（単数または複数）を確定してもよい。これには例えば、情報の局所的な保存、情報を得るためのシステム管理者モジュール２１０との交信等が含まれる。さらに、モジュール２７０は、種々の方法により、特定の追加的なインジケータ（単数または複数）を用いるための通信をどのように、かつどのタイミングで修正するかを確定してもよい。これは例えば、設定可能なネットワークサービスに以前に提供された対応する設定情報（例えば、このようなアクセスコントロールインジケータを指定する１つ以上の特定のメッセージパラメータの指定、１つ以上のこのようなアクセスコントロールインジケータを任意選択的に含んでもよい、資源へのアクセスに用いられる１つ以上の特定のメッセージパラメータの指定、１つ以上のこのようなアクセスコントロールインジケータの特定、またはこのようなアクセスコントロールインジケータの他の方法による使用を可能にするメッセージ種類の指定等）を有する遠隔資源サービスによって実行される。
【００５６】
設定されたアクセス機構を用いたネームスペース情報の使用に関して上述した実施例と同様の方式によって、遠隔資源サービスは、（例えば、保存されたオブジェクトまたは保存されたデータの他のグループを読み出すための）データ保存サービスを提供してもよく、そして発信は、特定の保存関連資源にアクセスするための要求でもよい。このような場合に、特定の保存資源は、送信仮想マシンコンピュータノード２０７ａが属する、提供されたコンピュータネットワークのコンピュータノードの１つによって事前に構成されていてもよいか、または現在の通信の一部として新規に構成またはアクセスされてもよい。一部の実施形態では、設定可能なネットワークサービスは、遠隔資源サービスに応じて、（例えばそれらを規定するための）遠隔資源サービス内において共に用いられる１つ以上の追加的なインジケータを特定するための初期の手段をさらに取る必要がある場合がある。他の箇所により詳細に記載するように、送信仮想マシンコンピュータノード２０７ａおよび関連する顧客は、追加的なインジケータ（単数または複数）の使用を認識しない場合があるが、しかしながら、外部通信管理者モジュール２７０はそれでもなお、関連するインジケータ（単数または複数）の使用に適合するように発信を修正する。
【００５７】
さらにまた、上述のように、図示した実施形態では、外部通信管理者モジュール２７０は、特定の遠隔コンピュータネットワークへの設定されたＶＰＮ接続を通じて送信された発信等の、提供されたコンピュータネットワーク拡張から、それにその拡張が対応する遠隔コンピュータネットワークへの発信を処理する。少なくとも一部の実施形態では、データセンター２００から遠隔のロケーションから、データセンター２００における顧客用の提供されたコンピュータネットワークまでのこのようなＶＰＮ接続の構築を、顧客がプログラム的に起動できる遠隔アクセス構築ＡＰＩを、設定可能なネットワークサービスは提供する。これには例えば、適合するハードウェアデバイス、ソフトウェアおよび／または設定情報を、ＶＰＮ接続の構築において顧客に用いられる遠隔地に配信させることが含まれる。例えば、コンピュータシステム２４５ｂの１つは、このようなハードウェアデバイスおよび／またはソフトウェアを販売または他の方法により提供するオンライン小売業者に対応する場合がある。そして、このような場合に、設定可能なネットワークサービスは、（例えば、顧客用の設定可能なネットワークサービスによって以前に保存された情報基づいて、顧客用の小売業者によって以前に保存された情報に基づいて等、設定可能なネットワークサービスの提供されたＡＰＩの起動の一部として、顧客に特定の）顧客に対応した遠隔のロケーションまたは指定された他のロケーションに配信される、このようなハードウェアデバイスおよび／またはソフトウェアを注文するために、小売業者により提供された分離ＡＰＩを用いてもよい。顧客が提供されたコンピュータネットワークへの遠隔アクセスを有することが可能なこのようなＶＰＮ接続または他の安全な接続が一旦構築されると、モジュール２７０は、安全な接続が対応する遠隔のロケーションにおける１つ以上の宛先コンピュータシステムを意図する発信を送信するための安全な接続を使用することによるなどの、安全な接続を支援する手段をさらに取ってもよい。
【００５８】
それ故、図２に関連して上述したように、少なくとも一部の実施形態では、設定可能なネットワークサービスは、内在するサブストレートネットワークを用いたオーバーレイネットワークとしてそれらを実装することによって、顧客に仮想コンピュータネットワークを提供する。これは例えば、設定可能なネットワークサービスの種々のノード通信管理者モジュールおよび設定可能なネットワークサービスの１つ以上の外部通信管理者モジュールを用いて実行される。少なくとも一部の実施形態では、１つ以上のシステム管理者モジュールは、そこに提供された仮想ネットワークに属するコンピュータノードの追跡および／または管理、並びに（例えば、特定の顧客または他の事業体による）特定の仮想ネットワークに用いられる仮想ネットワークアドレスに対応する実際の物理的なサブストレートネットワークアドレスに関する情報の提供等によって、コンピュータノード間の通信の設定をさらに促進してもよい。さらに、システム管理者モジュールは、目標の物理的なコンピュータシステムにおける仮想マシンコンピュータノード、および仮想マシンが関連付けられた提供された仮想ネットワークの指定を受信してもよい。そして次に、仮想マシンを仮想ネットワークと関連付けるために、目標の物理的なコンピュータシステム用の仮想マシンノード通信管理者モジュールの設定を起動する。または、その代わりに、ノード通信管理者モジュールが、（例えば、仮想マシンが通信を最初に起動または受信したときに）その設定を起動してもよい。
【００５９】
少なくとも一部の実施形態では、許可されない通信の認識および／または防止は、上述のように、仮想ネットワークがオーバーレイされた１つ以上の中間サブストレートネットワークのトポロジーに少なくとも部分的に基づいてもよい。このような実施形態では、サブストレートネットワーク上における通信用のこのようなコンピュータノードに用いられる物理的なネットワークアドレスは、コンピュータノードの仮想ネットワークアドレスの指定、およびコンピュータノードの関連するノード通信管理者モジュールのロケーションに対応する、サブストレートネットワーク用の部分的なネットワークアドレスを含む（例えば、サブネットワークまたはノード通信管理者モジュールが通信をそれに対して管理するサブストレートネットワークの他の部分）。それ故、仮想ネットワークの一部である、コンピュータノード用の有効な物理的なネットワークアドレスを悪意のあるユーザが正しく構成するためには、その悪意のあるユーザは、関連するノード通信管理者モジュール用の部分的なネットワークアドレスの確定、および物理的なネットワークアドレスを構成するその情報をどのように用いるかの確定を目的として、コンピュータノードの物理的なサブストレートネットワークロケーションのトポロジーに関する情報へのアクセスを得るように、コンピュータノードが属する仮想ネットワークに関する情報へのアクセスを得る必要がある。構成された物理的なネットワークアドレスの有効性は、構成された物理的なネットワークアドレスに埋め込まれた仮想アドレスが対応するコンピュータノードの識別、および部分的なネットワークアドレスに対応する、サブストレートネットワークの一部におけるコンピュータノードの１つに対応する、その識別されたコンピュータノード（例えば、部分的なネットワークアドレスが対応するノード通信管理者モジュールによって管理されるコンピュータノードの１つ）のロケーションの検証等の種々の手法により検査される場合がある。さらに、構成された物理的なネットワークアドレスの有効性は、例えば、（例えば、発信元の物理的なネットワークアドレスが有効であることを実証するために）宛先コンピュータノードを意図する着信を受信するノード通信管理者モジュールによる、指定されて管理されたコンピュータノード代わりとなる、ノード通信管理者モジュールから意図的にメッセージ（対象となる意図された宛先コンピュータノード用の物理的なネットワークアドレスを要求するメッセージ等）を受信する管理者モジュールによる等、様々な時点で検査されてもよい。
【００６０】
図４、図５および図６は、少なくとも一部の実施形態における、システム管理者モジュール２１０、ノード通信管理者モジュール、および外部通信管理者モジュール２７０各々の行為に関連する追加的な詳細を提供する。さらにまた、少なくとも一部の実施形態に用いられてもよいオーバーレイネットワークの実施に関連する追加的な詳細は、２００８年３月３１日に出願された米国出願番号１２／０６００７４（代理人整理番号１２０１３７．５７６）である名称「Ｃｏｎｆｉｇｕｒｉｎｇ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｂｅｔｗｅｅｎ  Ｃｏｍｐｕｔｉｎｇ  Ｎｏｄｅｓ」に含まれ、その全ての内容は参照により本明細書中に組み込まれる。
【００６１】
図３は、遠隔の顧客に用いられるコンピュータネットワークを提供するシステムの実施形態を実行するのに適した例示的なコンピュータシステムを示すブロック図である。特に、図３は、種々の顧客コンピュータシステム３５０、ホストコンピュータシステム３６０、および他のコンピュータシステム３８０と共に、設定可能なネットワークサービスの提供を支援する設定可能なネットワークサービスシステム管理者モジュールの実施形態の実行に適したサーバコンピュータシステム３００を示す。ここには図示しないが、一部の実施形態では、説明されたコンピュータシステムの少なくとも一部は、図１Ｂおよび図２に関してより詳細に記載されるように、データセンター等において、同一場所に配置されるか、または他の方法により関連してもよい（例えば、サーバコンピュータシステム３００と、設定可能なネットワークサービスの一部となるホストコンピュータシステム３６０の少なくとも一部との関連）。さらに、ここには図示しないが、少なくとも一部の実施形態において、種々のノード通信管理者モジュールおよび１つ以上の外部通信管理者モジュール等の設定可能なネットワークサービスの種々の他のモジュールが存在してもよく、用いられてもよい。
【００６２】
図示した実施形態では、サーバコンピュータシステム３００は、ＣＰＵ３０５、種々のＩ／Ｏコンポーネント３１０、保存装置３２０、およびメモリ３３０を含むコンポーネントを有する。説明されたＩ／Ｏコンポーネントは、ディスプレイ３１１、ネットワーク接続３１２、コンピュータ可読のメディアドライブ３１３、および他のＩ／Ｏデバイス３１５（例えば、キーボード、マウス、スピーカ等）を含む。さらに、説明された顧客コンピュータシステム３５０は、ＣＰＵ３５１、Ｉ／Ｏコンポーネント３５２、保存装置３５４、およびメモリ３５７を含む、サーバコンピュータシステム３００のそれらと同様のコンポーネントを有する。他のコンピュータシステム３６０および３８０は各々、サーバコンピュータシステム３００に関して図示されたコンポーネントの一部または全てと同様のコンポーネントをも含んでもよい。しかしながら、これらのコンポーネントは、簡潔さを目的として、この実施例では図示されない。
【００６３】
設定可能なネットワークサービス（「ＣＮＳ」）管理者モジュール３４０の実施形態は、メモリ３３０内において実行され、（例えば、インターネットおよび／またはワールドワイドウェブ、プライベートセルラーネットワーク、設定可能なネットワークサービスに用いられるプライベートサブストレートネットワーク等を通じて）１つ以上のネットワーク３９０上でコンピュータシステム３５０、３６０および３８０と通信する。この例示的な実施形態では、モジュール３４０は、提供されたコンピュータネットワークを設定およびそれにアクセスするために、コンピュータシステム３５０を用いる顧客とともに設定可能なネットワークサービスの一部として、種々の顧客（不図示）に用いられるためのコンピュータネットワークの提供および管理に関連する機能を含む作用を有する。ホストコンピュータシステム３６０は、設定可能なネットワークサービスにより提供されたコンピュータネットワーク用のコンピュータノードの提供することによる等の、設定可能なネットワークサービスの提供も支援してもよい。同様に、少なくとも一部の実施形態では、他のコンピュータシステム３８０の少なくとも一部は、設定可能なネットワークサービスの提供をさらに支援してもよい。これは例えば、（例えば、ＶＰＮ接続または他のアクセス機構の実施によって）提供されたコンピュータネットワークと外部の遠隔コンピュータシステムとの間の相互通信を容易にすることによる、提供されたコンピュータネットワークがアクセスするように設定された遠隔資源サービスを提供することによる、（例えば、サブストレートネットワークの一部、または通信を促進する設定可能なネットワークサービスの他の設備を実施することによって）提供されたコンピュータネットワークのコンピュータノード間の相互通信を容易にすることによる等によって実行される。
【００６４】
他のコンピュータシステム３５０、３６０および３８０は、モジュール３４０との相互作用の一部として種々のソフトウェアを実行してもよい。例えば、顧客コンピュータシステム３５０の一部または全ては、各々、モジュール３４０と通信するために、（例えば、ウェブブラウザまたは特殊な顧客側のアプリケーションプログラムの一部として）メモリ３５７内でソフトウェアを実行してもよい。これは例えば、顧客コンピュータシステムのユーザが、設定可能なネットワークサービスのユーザまたは他の顧客に用いられるコンピュータネットワークを構成および設定可能なように実行される。さらにまた、顧客コンピュータシステム３５０および／または他のコンピュータシステム３８０の一部または全ては、各々、顧客用の設定可能なネットワークサービスによって提供されているコンピュータネットワークと顧客の代わりに通信するために、メモリ３５７内のソフトウェアを実行できる。これは例えば、複数の顧客コンピュータシステム３５０および／または顧客用の遠隔ネットワークの一部である他のコンピュータシステム３８０と、顧客の遠隔ネットワーク用の提供されたコンピュータネットワーク拡張の一部として、コンピュータノードを提供する複数のホストコンピュータシステム３６０とを接続するＶＰＮ接続等を通じて実行される。さらに、顧客コンピュータシステム３５０の１人以上のユーザは、他の箇所により詳細に記載するような、種々の他の種類の行為（例えば、提供されたコンピュータネットワークの利用を監視するための、設定可能なネットワークサービスを有する顧客のアカウントに関連する管理機能等）を実行するために、モジュール３４０と通信してもよい。さらにまた、ホストコンピュータシステム３６０および／または他のコンピュータシステム３８０の一部は、提供されたコンピュータネットワークのコンピュータノードへの、およびコンピュータノードから送信された通信の管理を支援するノード通信管理者モジュール等の、設定可能なネットワークサービスの提供を支援するためのソフトウェアモジュール（不図示）を実行してもよい。さらに、コンピュータシステム３６０および３８０の他方は、種々のユーザに利用可能な遠隔資源サービス等を実行するための他の機能を実行できる。モジュール３４０および設定可能なネットワークサービスの作用に関連する種々の情報は、保存装置３２０にも保存されてもよい。この情報は、例えば情報３２２であり、複数の顧客の利益となる、コンピュータネットワークの設定および／または供給に関連する情報を含んでもよい。
【００６５】
顧客用のコンピュータネットワークの構成および設定のための１つ以上の要求（または、他の指定）を、モジュール３４０が受信した後、モジュール３４０は、他の箇所により詳細に記載するような種々の行為を実行してもよい。このような行為には、コンピュータネットワークの一部となるホストコンピュータシステム３６０から１つ以上のコンピュータノードを選択すること、そのコンピュータネットワークを提供するために、それらのホストコンピュータシステムおよび／または他のコンピュータシステムを設定すること、および顧客の遠隔コンピュータシステム３５０または遠隔の他のコンピュータシステム３８０に提供されたコンピュータネットワークのアクセスを開始することが含まれてもよい。さらに、モジュール３４０は、例えば、顧客からの要求に応答して、またはその代わりに、自動的に確定された提供されているコンピュータネットワークを管理するように、コンピュータシステム３６０とさらに通信してもよい。この管理には、場合によっては、（例えば、提供されたコンピュータネットワークの１つ以上のコンピュータノードにおいて実行されるプログラムを、他のコンピュータノードに移動させることによる、）提供されたコンピュータネットワークの一部であるコンピュータノードの数量の増加または減少、提供されたコンピュータネットワーク用の設定されたネットワークトポロジーの修正、提供されたコンピュータネットワークのコンピュータノードを提供する特定のホストコンピュータシステムの修正等が含まれる。さらに、モジュール３４０は、提供されたコンピュータネットワークの利用および工程を追跡するために、ホストコンピュータシステム３６０の１つ以上を監視またはそれと他の方法により通信してもよい。 
【００６６】
コンピュータシステム３００、３５０、３６０および３８０は、単に例示であり、本発明の範囲を制限することを意図しないことが理解される。コンピュータシステムおよび／またはコンピュータノード各々は、むしろ、複数の通信コンピュータシステムまたはデバイスを含んでもよい。また、コンピュータシステムまたはノードは、インターネット等の１つ以上のネットワーク、ウェブ、またはプライベートネットワーク（例えば、モバイル通信ネットワーク等）を通じて、図示しない他のデバイスと接続されてもよい。より一般的に、コンピュータノードまたは他のコンピュータシステムは、通信および記載した種類の機能性を実行してもよいハードウェアまたはソフトウェアの任意の組み合わせを備えてもよい。これには、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワーク記憶装置および他のネットワーク装置、ＰＤＡ、携帯電話、無線電話、ポケベル、電子手帳、インターネット家電、（例えば、セットトップボックスおよび／または個人用／デジタルビデオ記録装置を用いた）テレビジョンベースシステム、並びに適切な通信性能を有する種々の他の消費者製品が無制限に含まれる。さらに、一部の実施形態では、追加的なモジュールに図示されたモジュール３４０により提供された機能性が分配されてもよく、またはモジュール３４０は、設定可能なネットワークサービスの多重モジュール（例えば、１つ以上のシステム管理者モジュール、１つ以上のノード通信管理者モジュール、および１つ以上の外部通信管理者モジュール）によって提供されているような、他の箇所に記載した機能性を組み込んでもよい。同様に、一部の実施形態では、モジュール３４０の機能性の一部は提供されないことがあり、かつ／または他の追加的な機能性が利用できることがある。
【００６７】
種々の項目が、用いられつつメモリ内または保存装置において保存されるものとして示されたが、これらの項目またはそれらの一部は、メモリ管理およびデータの完全性を目的として、メモリおよび他の記憶装置間を移動されてもよいこともさらに理解される。代替的に、他の実施形態では、ソフトウェアモジュールおよび／またはシステムの一部または全ては、別のデバイスのメモリ内において実行されてもよく、コンピュータ間の通信を通じて示されたコンピュータシステムと通信してもよい。さらにまた、一部の実施形態では、ファームウェアおよび／またはハードウェアに少なくとも部分的に含まれる等の、他の方式にて実施または提供されてもよいシステムおよび／またはモジュールの一部または全ては、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、標準集積回路、（例えば、適切な命令を実行することにより、かつマイクロコントローラおよび／または組込コントローラを含む）制御装置、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、結合プログラム可能論理回路（ＣＰＬＤ）等を含むが、これらに限定されない。モジュール、システム、およびデータ構造の一部または全ては、ハードディスク、メモリ、ネットワーク、もしくは適切なドライブによって、または適切な接続を通じて読み取られるポータブルメディアアーティクル等の、コンピュータ可読媒体上に（例えば、ソフトウェア命令または構造データとして）保存されてもよい。システム、モジュール、およびデータ構造は、さらに、無線ベースおよび有線／ケーブルベース媒体を含む様々なコンピュータ可読の送信媒体上の生成データ信号として（例えば、搬送波または他のアナログもしくはデジタル伝播信号の一部として）送信されてもよく、（例えば、単一または多重アナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして）様々な形態を取ってもよい。このようなコンピュータプログラム製品は、他の実施形態ではまた他の形態を取ってもよい。それ故、本発明は、他のコンピュータシステム設定において実行されてもよい。
【００６８】
図４Ａおよび図４Ｂは、設定可能なネットワークサービス管理者ルーティン４００の例示的な実施形態のフローチャートを示す。このルーティンは、例えば、遠隔の顧客にコンピュータネットワークを提供する設定可能なネットワークサービスの稼動の管理を支援することなどのような、図１Ａのシステム管理者モジュール１１０、図２のシステム管理者モジュール２１０、および／または図３のシステム管理者モジュール３４０の実行によって提供されてもよい。図示した実施形態では、ルーティン４００により構成および提供されたコンピュータネットワークの少なくとも一部は、顧客の既存の遠隔ネットワークの拡張でもよい。一方、他の実施形態では、ルーティン４００により構成および提供されたネットワークは、その代わりに、他のネットワークの拡張ではない、顧客に用いられるスタンドアロンのネットワークでもよい。
【００６９】
ルーティンの説明される実施形態は、顧客からのメッセージまたは受信した他の情報の受信が指示されるブロック４０５から開始される。少なくとも一部の実施形態では、ルーティン４００が支持する設定可能なネットワークサービスは、設定可能なネットワークサービスに遠隔の顧客がプログラム的に通信可能となる１つ以上のＡＰＩを提供する。また、このような場合に、ブロック４０５において受信された指示の一部または全ては、それらのＡＰＩを用いた起動または他の遠隔の顧客のプログラム的な相互作用により構成され得る。一方、他の実施形態および状況では、ブロック４０５において受信された指示の一部は、その代わりに、他の方式により遠隔の顧客または他者によって起動されてもよい。
【００７０】
ブロック４０５後、ルーティンは、ブロック４０５において受信された指示が、要求している顧客の代わりに、顧客の既存の遠隔ネットワークの拡張等の、提供される新規のコンピュータネットワークの構成の起動かどうかを判定するブロック４１０に継続する。このような場合に、ルーティンは、顧客の代わりに新規のコンピュータネットワーク拡張または他の新規のコンピュータネットワークを構成する種々の行為を実行するブロック４１５に継続する。例えば、他の箇所により詳細に記載されるように、新規のコンピュータネットワークを構成するために受信した通信は、構成されるコンピュータネットワークに関連する種々の設定情報を含んでもよい。この設定情報には例えば、構成されたコンピュータネットワークの一部となる多数のコンピュータノード、新規のコンピュータネットワークが別の遠隔ネットワークの拡張であるか否かの指示等が含まれる。ブロック４１５にて取られた種団は、例えば、構成されている新規のコンピュータネットワークにおいて用いられる設定可能なネットワークサービスから利用可能な特定のコンピュータノードの選択、構成されている新規のコンピュータネットワークにともなう一意の識別子の生成および関連付け、後に用いるためにあらゆる受信した設定情報の保存等を含んでもよい。他の箇所により詳細に記載されるように、このようなコンピュータノードは、種々の実施形態における種々の方法において利用可能なコンピュータノードのグループから選択されてもよい。この選択は例えば、選択されるコンピュータノードの性能、（例えば、設定可能なネットワークサービスの内在するサブストレートネットワーク上の、コンピュータネットワークの他のコンピュータノードに関連するネットワークロケーション上の、等の）選択されるコンピュータノードのネットワークロケーション、（例えば、コンピュータネットワークの他のコンピュータノードに対する相対的な地理的位置上の、複数の地理的に分散されたデータセンターの１つにおける、等の）選択されるコンピュータノードの地理的位置、ランダム方式等に基づいて実行される。さらにまた、ここには図示しないが、ルーティンは、新規のコンピュータネットワーク用の一意の識別子または新規のコンピュータネットワーク用の他の参照を顧客に提供してもよい。これにより、新規のコンピュータネットワークのさらなる設定を実行する場合に、顧客は、新規のコンピュータネットワークを後に参照可能になる。
【００７１】
ブロック４１５後、またはその代わりに、ブロック４０５にて受信した指示が新規のコンピュータネットワークを構成しないことがブロック４１０にて判定された場合には、ルーティンは、ブロック４０５にて受信した指示が、アクセス制限に関連する情報または指定されたコンピュータネットワーク用の他のアクセス情報を含むか否かを判定するブロック４２０に継続する。例えば、場合によっては、顧客は、新規のコンピュータネットワーク拡張およびその新規のコンピュータネットワーク拡張用の種々の特定の設定情報を構成する要求等の、ブロック４０５において受信および処理の両方を実行された１つ以上の要求または他のメッセージを供給してもよい。このような場合に、アクセス情報が供給される指定されたコンピュータネットワークは、ブロック４１５において直前に構成された新規のコンピュータネットワーク拡張でもよい。他の状況および実施形態では、遠隔の顧客は、その代わりに、ブロック４０５において受信および処理されたのと異なるタイミングで異なる通信を供給してもよい。この通信は例えば、新規のコンピュータネットワークを構成する初期の要求、および以前に構成されたコンピュータネットワーク用の種々の種類の設定情報を特定する後の１つ以上の他の分離要求である。アクセス情報がブロック４０５において受信されたことがブロック４２０にて判定された場合には、ルーティンは、顧客が遠隔アクセス構築ＡＰＩを呼び出したか、または他の方法により、顧客の遠隔地から指定されたコンピュータネットワークへの遠隔アクセスの構築を要求したかを判定するブロック４２２に継続する。これは、図示した実施形態では、遠隔地における顧客の１つ以上の遠隔コンピュータシステムから、指定されたコンピュータネットワークへのＶＰＮ接続の構成を開始することによって実行される。このような場合に、ルーティンは、図８に関連してより詳細に記載されるこのようなルーティンの一実施例における、遠隔の顧客アクセスを構築する手段を取るためのＶＰＮ構成実現ルーティンを実行するブロック４２５に継続する。
【００７２】
ブロック４２５後、またはその代わりに、遠隔の顧客ロケーションにおけるＶＰＮ接続の構成の起動をアクセス情報が指示しないことがブロック４２２にて判定された場合には、ルーティンは、指定されたコンピュータネットワーク用の許容可能なアクセスを設定するために、指定されたコンピュータネットワーク用に他の特定のアクセス制限情報を用いるようにブロック４３０に継続する。他の箇所に詳細に記載されるように、このような設定情報は、コンピュータネットワークのコンピュータノードのいずれかが、（指定されたコンピュータネットワークが遠隔コンピュータネットワークの拡張である場合には、コンピュータネットワークの遠隔部を含む）コンピュータネットワークのコンピュータノード間の通信アクセスポリシーを任意選択的に特定すると共に、インターネットまたは他の方法により、外部のコンピュータネットワークへのアクセスを有するように許可されたか否かに関連する制限を含んでもよい。それ故ブロック４３０において、ルーティンは、他の箇所により詳細に記載されるように、（それらの通信管理者モジュールに、設定される情報と共にメッセージを送信すること等によって）例えば、ノード通信管理者モジュールおよび／またはコンピュータネットワークを支援する外部通信管理者モジュールに用いられるルーティング情報の設定を含んでもよい１つ以上の手段をとる。さらにまた、遠隔の顧客ロケーションから提供されたコンピュータネットワークへのＶＰＮ接続を構築させる手段がブロック４２５にて取られた場合には、ブロック４３０にて取られた手段は、提供されたコンピュータネットワーク、または他の方法により提供されたコンピュータネットワークの代わりとなる設定可能なネットワークサービスによって、このようなＶＰＮ接続を支援する手段を取ることをさらに含んでもよい。この手段は例えば、このようなＶＰＮ接続を受け入れ、かつそのＶＰＮ接続用に暗号化された通信を復号化するのに適切な情報を用いた、提供されたコンピュータネットワークを設定することによる。
【００７３】
ブロック４３０後、またはその代わりに、ブロック４０５における指示が、アクセス情報を含まないことがブロック４２０にて判定された場合には、ルーティンは、ブロック４０５における指示が、１つ以上のネットワークアドレスレンジおよび／または別の形態における特定のネットワークアドレス等の、指定されたコンピュータネットワーク用のネットワークアドレス情報を含むか否かを判定するブロック４４０に継続する。このような場合に、ルーティンは、指定されたコンピュータネットワークのコンピュータノードに利用するための特定のネットワークアドレス情報を保存するブロック４４５に継続する。さらに、それらのコンピュータノードが、例えばブロック４１５および／またはブロック４６２において既に選択された、または他の方法により使用を開始された場合には、指定されたコンピュータネットワークのコンピュータノードと、それらの特定のネットワークアドレスとを関連付けることを継続してもよい。特定のネットワークアドレスと、コンピュータネットワークのコンピュータノードとの関連は、他の箇所により詳細に記載されるように、ノード通信管理者モジュールおよび／またはコンピュータネットワークを支援する外部通信管理者モジュールに用いられるルーティング情報の設定をさらに含んでもよい。ブロック４４５後、またはその代わりに、ブロック４０５にて受信された指示が、ネットワークアドレス情報を含まなかったことがブロック４４０にて判定された場合には、ルーティンは、ブロック４０５にて受信された指示が、指定されたコンピュータネットワーク用のネットワークトポロジー情報を含むか否かを判定するブロック４５５に継続する。このような場合に、ルーティンは、指定されたコンピュータネットワーク用のネットワークトポロジー情報を保存し、そのネットワークトポロジー情報に従ったその指定されたコンピュータネットワークの設定を任意選択的に継続するブロック４５７に継続する。ネットワークトポロジー情報の設定は、他の箇所により詳細に記載されるような、例えば、特定のトポロジー情報の一部である仮想ネットワーク装置の行為をシミュレートするために、ノード通信管理者モジュールおよび／またはコンピュータネットワークを支援する外部通信管理者モジュールに用いられるルーティング情報の設定を含んでもよい。
【００７４】
ブロック４５７後、またはその代わりに、ブロック４０５における指示が、ネットワークトポロジー情報を含まないことがブロック４５５にて判定された場合には、ルーティンは、ブロック４０５における指示が、指定されたコンピュータネットワークにコンピュータノードを追加する指示を含むか否かを確定するブロック４６０に継続する。これは例えば、指定されたコンピュータネットワークが、コンピュータノードの特定数量を含むように設定され、その特定数量よりも少ないコンピュータノードが選択および使用開始された場合に実行される。さらにまた、一部の実施形態では、顧客は、コンピュータネットワークの使用の継続後でさえも、種々の方法により、設定可能なネットワークサービスにより提供されている既存のコンピュータネットワークを修正してもよい。この修正には、他の箇所により詳細に記載するような、コンピュータネットワークのコンピュータノードの数量の修正、および／またはコンピュータネットワーク用のそのネットワークトポロジー情報の修正が含まれる。指示が、１つ以上のコンピュータノードを追加することであることが、ブロック４６０にて判定された場合には、ルーティンは、設定可能なネットワークサービスの利用可能なコンピュータノードのグループから指定されたコンピュータネットワークに追加される１つ以上のコンピュータノードを選択するブロック４６２に継続する。他の箇所により詳細に記載されるように、このようなコンピュータノードは、種々の方法により選択され得る。ブロック４６４において、選択されたコンピュータノードは、例えば上述したのと同様の方式により、（例えば、適切なネットワークアドレス情報と、それらの選択されたコンピュータノードとを関連させること、任意の特定のネットワークトポロジー情報および／またはコンピュータネットワーク拡張用の他のアクセス制限情報に従ったそれらの選択されたコンピュータノード用のアクセス権を設定すること等によって）次にコンピュータネットワークに追加される。
【００７５】
ブロック４６４後、またはその代わりに、ブロック４０５における指示が、コンピュータノードを追加しないことがブロック４６０にて判定された場合には、ルーティンは、ブロック４０５における指示が、指定されたコンピュータネットワーク用の設定されたアクセスを、指定された遠隔資源サービスに追加するか否かを判定するブロック４７０に継続する。このような場合に、ルーティンは、指定された遠隔資源サービスにアクセスするための指定されたコンピュータネットワーク用のアクセス機構を設定するブロック４７５に継続する。これは例えば、その遠隔資源サービスに指定されたコンピュータネットワーク用の１つ以上のネットワークアドレスをマッピングすること、ノード通信管理者モジュールおよび／またはコンピュータネットワークを支援する外部通信管理者モジュールに用いられるルーティング情報を設定すること、アクセス機構を用いる通信用の外部通信管理者モジュールにより取るべき手段を設定すること等により実行される。ルーティンは、次に、遠隔資源サービスが、指定されたコンピュータネットワークからアクセス可能な資源用の特定のネームスペース、および／または例えばブロック４０５において指定されてもよい、または他の方法により、設定可能なネットワークサービスによって自動的に判定されてもよいような、資源とともに利用するための指定されたコンピュータネットワーク用の１つ以上の追加的なアクセスコントロールインジケータを有するか否かを判定するブロック４７８に継続する。そして、このような場合に、ルーティンは、そのネームスペース情報および／またはアクセスコントロールインジケータ情報を、遠隔資源サービス用の設定されたアクセス機構と関連付けるブロック４８０に継続する。
【００７６】
ブロック４８０後、またはその代わりに、ネームスペースおよび／または追加的なアクセスコントロールインジケータが、用いられていないか、ブロック４０５における指示が指定された遠隔資源サービスへのアクセスを提供しないブロック４７０に存在しないことがブロック４７８にて判定された場合には、ルーティンは、必要に応じて１つ以上の他の指定された工程を任意選択的に実行するブロック４９０に継続する。例えば、顧客用の特定のコンピュータネットワークの設定の完了後、ルーティンは、例えば、構成された新規のコンピュータネットワーク拡張が存在する遠隔コンピュータネットワークから、遠隔資源からコンピュータネットワークへのアクセスを提供するための１つ以上の最終的なステップをさらに取ってもよい。アクセスのこのような提供は、例えば、顧客がコンピュータネットワークにアクセス可能となる情報の顧客への提供（例えば、コンピュータネットワークへのＶＰＮ用の公的にアクセス可能なネットワークアドレス）、遠隔の顧客からの通信を容認するようなコンピュータネットワークの設定等を含んでもよい。さらに、ルーティンは、時折（例えば、定期的、現在の状態が特定の閾値を越えるとき、または他の方法により特定の状態をトリガしたとき等）、他の行為をさらに実行してもよい。この行為には例えば、コンピュータネットワークの一部または全てに対するコンピュータノードの一部または全ての状態の接続確認または他の方法による検査、遠隔の顧客によるコンピュータネットワークの一部または全ての利用の監視、提供されたコンピュータネットワークの一部または全てによる内部の設定可能なネットワークサービス資源の使用の監視、設定可能なネットワークサービスを用いた顧客のアカウントの構築および維持、顧客のアカウントまたはそれらの提供されたコンピュータネットワークについての状態情報のための顧客からの要求への応答、設定可能なネットワークサービスの使用における顧客からの支払金の取得、指定されたコンピュータネットワーク用のコンピュータノードの量の減少、（例えば、第１の地理的位置におけるコンピュータノードから、第２の地理的位置における新規のコンピュータノードに１つ以上の実行プログラムを移動させることによる）指定されたコンピュータネットワークの一部である特定のコンピュータノードの修正等が含まれる。ブロック４９０後、ルーティンは、例えば、完了への明確な指示が受信されるまで、継続するか否かを判定するブロック４９５に継続する。継続することが確定された場合には、ルーティンはブロック４０５に戻り、継続しない場合にはブロック４９９を経て終了する。
【００７７】
図５は、ノード通信管理者ルーティン５００の例示的な実施形態のフローチャートを示す。ルーティンは、例えば、少なくとも一部の実施形態では、提供されたコンピュータネットワークが関連するコンピュータノードへの、およびこのコンピュータノードからの通信の制御のためなどのように、図２のＣＮＳノード通信管理者モジュール２０９ａ、２０９ｄおよび２５０の実行によって提供されてもよい。ルーティン５００は、少なくとも一部の実施形態では、設定可能なネットワークサービスによって提供されたコンピュータノードの１つ以上にその各々が関連する、設定可能なネットワークサービスの多数のノード通信管理者モジュールの各々によって実行されてもよい。また、ノード通信管理者モジュール各々は、（例えば、他の仮想マシンコンピュータノードが実行する、物理的なホストコンピュータシステム用のハイパーバイザを監視する仮想マシンの一部として、スタンドアロンのプロキシコンピュータシステム、または提供されたコンピュータネットワークの１つ以上のコンピュータノードへの、およびこのコンピュータノードからの通信を制御する他のコンピュータシステムとして等）種々の方法により提供されてもよい。特に、図示した実施形態では、ノード通信管理者モジュールは、設定可能なネットワークサービスの種々のコンピュータノードと相互接続する設定可能なネットワークサービスにより用いられる、１つ以上の内在する物理的なサブストレートネットワークにおいてオーバーレイされた仮想ネットワークを用いて、顧客用のコンピュータネットワークの提供を促進する。しかしながら、他の実施形態では、提供されたコンピュータネットワークは、仮想ネットワークおよび／または オーバーレイネットワーク以外の形態を有してもよい。また、他の箇所により詳細に記載するように、図示した実施形態では、ノード通信管理者モジュールは、提供されたコンピュータネットワーク用の特定のネットワークトポロジー情報に従った機能性を提供する。これは例えば、シミュレートされた仮想またはファントムネットワーク装置の機能性を実行すること、またはこのような存在するネットワーク装置と一致した方式における通信を他の方法により処理することによって実行される。しかしながら、他の実施形態では、提供されたコンピュータネットワーク用のネットワークトポロジー情報は、その代わりに、（例えば、ネットワークトポロジーに対応する実際の物理的なネットワーク装置を用いることによって）他の方式にて提供されてもよい。
【００７８】
ルーティンの説明された実施形態は、ノード通信または他のメッセージの指示が受信される、ブロック５０５において開始される。ルーティンは、指定されたメッセージの種類を判定するブロック５１０に続き、それに応じて継続する。特に、指定されたメッセージが、ルーティンが対応する通信管理者モジュールに関連する１つ以上の宛先コンピュータノードを意図する入力するノード通信となることが判定された場合に、ルーティンは、入力ノード通信用の１つ以上の意図する宛先コンピュータノード（単数または複数）を確定するブロック５１５に継続する。例えば、着信は、１つ以上の内在するサブストレートネットワーク上におけるノード通信管理者モジュールに導かれてもよい。また、サブストレートネットワークを通じて送信された通信のヘッダまたは他の部分は、仮想の提供されたコンピュータネットワークの一部である、宛先コンピュータノードの仮想ネットワークアドレスに関する情報を含んでもよく、または他の方法により宛先コンピュータノードを指定してもよい。ブロック５２５に関して下記するように、サブストレートネットワークを通じた着信の処理は、宛先用の仮想ネットワークアドレスおよび発信元コンピュータノードを用いるための通信の再ヘッダ等による、宛先コンピュータノードが属する提供されたコンピュータネットワーク用の適切な方式による通信の修正をさらに含んでもよい。
【００７９】
ブロック５１５後、ルーティンは、着信が、意図された宛先コンピュータノード（単数または複数）において許容可能であることを検証するブロック５２０に継続する。他の箇所により詳細に記載するように、着信は、ファイアウォール性能または他のアクセスコントロールの提供等の種々の方法において許容可能であるかまたは許容不可であるか判定されてもよい。これにより、特定の他のコンピュータノード（例えば、同一の提供されたコンピュータネットワークの一部である他のコンピュータノード）からの通信のみが許可され、かつ／または（例えば、通信が、提供されたコンピュータネットワークのコンピュータノードの１つから、それらのコンピュータシステムに送信された他の通信に応答する場合にのみ、他のコンピュータシステムからの少なくとも一部の通信のために）特定の種類の通信のみが許可される。上述のように、通信が許容可能か否かの判定は、ルーティンが対応するノード通信管理者モジュール用の、以前に特定された設定情報に少なくとも部分的に基づいて実行される。これは例えば、（例えば、宛先コンピュータノード（単数または複数）が属する提供されたコンピュータネットワーク用の特定のネットワークトポロジー情報、および／またはその提供されたコンピュータネットワーク用の特定の他のアクセス制限情報に基づいて）宛先コンピュータノード（単数または複数）および／またはそれらの宛先コンピュータノード（単数または複数）が属する提供されたコンピュータネットワークに特定の方式にて実行される。さらに、宛先コンピュータノード（単数または複数）が属する提供されたコンピュータネットワーク用に、オーバーレイ仮想ネットワークが用いられる実施形態において、着信の検証は、例えば、対象となる送信者によって実際に送信された通信を検証するように、初期の送信コンピュータノードによって通信が送信された後に、設定可能なネットワークサービスによる着信に含まれる、オーバーレイネットワークおよび／またはサブストレートネットワークに関する情報に部分的に基づいてもよい。
【００８０】
着信が許容可能であることが判定された場合には、着信は、ノード通信管理者モジュールと、宛先コンピュータノード（単数または複数）との間の１つ以上の接続または通信リンク上で通信を転送すること等によって、ブロック５２５において通信用の１つ以上の宛先ノード（単数または複数）に提供される。内在するサブストレートネットワークを通じて着信が送信される実施形態では、提供されたコンピュータネットワークと一致する方式において着信を再ヘッダすること等によって、着信は、（例えば、宛先および発信元コンピュータノード用の提供されたコンピュータネットワークに対応する仮想ネットワークアドレスを用いるために）提供されたコンピュータネットワークと一致するように第１に修正されてもよい。さらに、ここには図示しないが、ブロック５２０にて通信が許容可能であると判定されない場合に、ルーティンは、例えば、送信コンピュータノードへいかなる指示が無くとも、送信されるノード通信をドロップさせること、送信コンピュータノードにエラーメッセージを返すこと、許容可能な発信の修正を試みること等の種々の他の手段を取ってもよい。
【００８１】
その代わりに、ブロック５０５における指定されたメッセージが、ルーティンが対応するノード通信管理者モジュールによって管理されている提供されたコンピュータネットワークの関連するコンピュータノードから送信されるノード通信であることがブロック５１０にて判定された場合には、ルーティンは、その代わりに、ブロック５２０に関連して上述したのと同様の方式等によって、発信が許容可能か否かを第１に検証するためにブロック５３０に継続する。他の箇所により詳細に記載するように、発信が許容可能か否かの判定は、送信コンピュータノードが属する提供されたコンピュータネットワーク用の特定のネットワークトポロジー情報、および／または提供されたコンピュータネットワーク用の特定の他のアクセス制限情報に基づく方法を含む、種々の実施形態における種々の方法により実行されてもよい。図示した実施形態では、提供されたコンピュータネットワークは仮想オーバーレイネットワークであり、コンピュータノード間の通信は、１つ以上の内在するサブストレートネットワークを通じて実際に送信される。それ故、ブロック５３０後、ルーティンは、他の箇所により詳細に記載されるように、１つ以上の宛先コンピュータノードに対応する１つ以上のサブストレート宛先ネットワークアドレス、または（例えば、それらの宛先コンピュータノードにおける通信を管理する１つ以上の遠隔ノード通信管理者モジュールへ、外部の宛先コンピュータシステムに対する通信を管理する外部通信管理者モジュールへ、等）発信するための他の宛先コンピュータシステムを判定するブロック５３５に継続する。ルーティンは、次に、確定されたサブストレート宛先ネットワークアドレス（単数または複数）を用いることによって、意図される宛先（単数または複数）に、送信されるノード通信を転送するブロック５４０に継続する。他の箇所により詳細に記載されるように、ブロック５２５に関して記載したのと同様の方式にて、内在するサブストレートネットワークを通じたノード通信の転送は、（例えば、確定されたサブストレート宛先ネットワークアドレスを使用するため、および／または宛先および発信元コンピュータノード用の仮想ネットワークアドレスに関する情報を含むために）サブストレートネットワークと一致する方式にて発信を再ヘッダすること等によって、サブストレートネットワークと一致する発信の修正を含んでもよい。
【００８２】
その代わりに、別の種類の指示されたメッセージがブロック５０５において受信されたことがブロック５１０にて判定された場合には、ルーティンは、その代わりに、必要に応じて、１つ以上の他の指定された行為を実行するブロック５９０に継続する。例えば、他の種類のメッセージは、（例えば、ルーティン５００のこのインスタンスが対応する１つ以上の提供されたコンピュータネットワーク用のルーティン５００に用いられるための、特定のルーティング情報または他の設定情報を特定するために）例えば、図４の設定可能なネットワークサービス管理者ルーティン４００から、または（例えば、提供されたコンピュータネットワーク用の設定情報を伝播するために）他のノード通信管理者ルーティンからの設定情報または他の管理メッセージを含んでもよい。同様に、場合によっては、ルーティンは、他のノード通信管理者モジュールに提供されたコンピュータネットワーク用の設定情報を送信する手段をブロック５９０において取ってもよい。これは例えば、別のノード通信管理者モジュールまたは設定可能なネットワークサービス管理者モジュールからの情報の受信後に、ピアツーピア方式にてこのような情報を分配することにより実行される。他の行為は、少なくとも一部の実施形態および状況では、種々の種類の管理またはハウスキーピング行為を含んでもよい。この機能には例えば、コンピュータネットワークの一部または全て用のコンピュータノードの一部または全ての状態の確認、遠隔の顧客によるコンピュータネットワークの一部または全ての利用の監視、提供されたコンピュータネットワークの一部または全てによる内部の設定可能なネットワークサービス資源の利用の監視等が含まれる。ブロック５２５、５４０または５９０後、ルーティンは、例えば、完了するための明確な指示が受信されるまで等、継続するか否かを判定するブロック５９５に継続する。継続が確定した場合には、ルーティンはブロック５０５に戻り、継続しない場合には、ブロック５９９に継続して終了する。
【００８３】
それ故、ルーティン５００は、設定可能なネットワークサービスにより提供されたコンピュータネットワークの一部であるコンピュータノードへの、およびコンピュータノードからの種々の種類の通信を管理する。ルーティンのこの例示的な実施形態では別個に図示されないが、ルーティン５００が、例えば、セッションまたは他の一連の通信を起動するために、以前に送信された通信に対する１つ以上の応答を可能にする、少なくとも一部の通信用の設定をさらに実行してもよいことが理解される。それ故、例えば、提供されたコンピュータネットワークの特定のコンピュータノードは、少なくとも一部の他のコンピュータシステム（例えば、外部コンピュータシステム）からの通信を容認しないように設定されてもよいが、それらがその特定のコンピュータノードから最初に送信された通信に対する応答である場合に、それらの他のコンピュータシステムからの通信を可能にする。それ故、ブロック５２０における判定は、着信が、ブロック５３０〜５４０に関して処理された以前の発信の応答であるか否かに部分的にさらに基づいてもよい。
【００８４】
図６は、外部通信管理者ブロック６００の例示的な実施形態のフローチャートを示す。ルーティンは、設定可能なネットワークサービスにより制御されるデータセンターまたは他のコンピュータノードのグループ内へ通過して入る、またはそこから通過して出る通信を管理すること等によって（例えば、制御されたコンピュータノードのそのグループと、顧客の遠隔地、遠隔資源サービス、およびインターネットまたは他のパブリックネットワークにおいて一般的にアクセス可能な他の箇所等の、それらの制御されたコンピュータノードの外部のロケーションにおける他のコンピュータシステムとの間における）、例えば、図２の外部通信管理者モジュール２７０の実行によって提供されてもよい。他の箇所に詳細に記載されるように、図示した実施形態では、１つ以上の外部通信管理者モジュールは、提供されたコンピュータネットワーク用の特定のアクセス制限情報、および特定の遠隔資源サービスにアクセスするための特定の設定情報に従った機能性を提供する。これは例えば、それらの提供されたコンピュータネットワークに対する顧客および／またはその提供されたコンピュータネットワーク用の設定可能なネットワークサービスによって特定された、ファイアウォールおよび他のアクセス可能な情報と一致する方式により通信を処理すること等によって提供される。さらに、図示した実施形態では、設定可能なネットワークサービスにより提供されたコンピュータネットワークは、設定可能なネットワークサービスによって提供されたコンピュータノードと相互接続する１つ以上の内在する物理的なサブストレートネットワークを用いる仮想オーバーレイネットワークである。しかしながら、他の実施形態では、提供されたコンピュータネットワークは、（例えば、仮想ネットワークおよび／または オーバーレイネットワークを用いない）他の方式にて実施されてもよい。
【００８５】
ルーティンの説明された実施形態は、提供されたコンピュータネットワークのコンピュータノードへの、またはそのコンピュータノードからの通信、または別のメッセージの指示が受信される、ブロック６０５において開始される。ブロック６０５後、ブロック６１０におけるルーティンは、受信された示されたメッセージの種類を判定し、それに従って継続する。特に、指定されたメッセージが、（例えば、インターネットを通じて外部コンピュータシステムから、その顧客の代わりにコンピュータネットワークが提供された、顧客の遠隔地からのＶＰＮ接続等を通じて、）設定可能なネットワークサービスによって制御されたコンピュータノードに着信し、そして提供されたコンピュータネットワークにおける１つ以上の宛先コンピュータノードを意図される場合に、ルーティンは、ブロック６１２に継続する。ブロック６１５において、ルーティンは、着信が顧客のＶＰＮ接続を通じて送信されたか否かを第１に判定し、そしてこのような場合に（例えば、設定可能なネットワークサービスの他のソフトウェアが、ＶＰＮ接続を通じたこのような受信した通信の管理を未だ処理していない場合に）、通信を任意選択的に復号化、または他の方法によりデコードするブロック６２０に継続する。他の実施形態では、例えば、設定可能なネットワークサービスの他のソフトウェアおよび／またはハードウェアが、ブロック６０５において受信される前に、ＶＰＮ接続を通じて受信されたこのような通信を管理する場合等に、ブロック６１５および６２０は実行されない。ブロック６２０後、またはその代わりに、着信がＶＰＮ接続を通じて受信されないことがブロック６１５において判定された場合には、ルーティンは、ブロック６２５に継続する。
【００８６】
ブロック６２５〜６２９は、図５のブロック５３０〜５４０のそれらと同様の方式において実行される。特に、ブロック６２５において、ルーティンは、着信が許容可能であるか否かを第１に検証する。これは例えば、宛先コンピュータノード（単数または複数）が属する提供されたコンピュータネットワーク用の特定のネットワーク類型情報に少なくとも部分的に基づいて、および／またはその提供されたコンピュータネットワーク用の他のアクセス制限情報に基づいて検証される。通信が許容可能であると検証された場合には、ルーティンは、宛先コンピュータノード（単数または複数）に対応する１つ以上の宛先サブストレートネットワークアドレスを確定するブロック６２７に継続する。ブロック６２９において、ルーティンは、次に、図５のブロック５１５〜５２５に関して上述したように、例えば、最終的に１つ以上のノード通信管理者モジュールによって処理されるように、サブストレートネットワークにおける確定された宛先ネットワークアドレスに通信を転送する。上述のように、ブロック６２５において通信が許容可能であると検証されない場合には、その代わりに、例えば、通信をドロップするなどのような種々の他の手段が取られる場合がある。さらに、サブストレートネットワークにおける通信の転送は、他の箇所により詳細に記載するように、サブストレートネットワークと一致するような、１つ以上の方式による通信の修正を含んでもよい。さらにまた、ここには図示しないが、少なくとも一部の実施形態では、ルーティンは、制御されたコンピュータノードのグループに（例えば、パブリックネットワークからプライベートネットワークに）着信する通信と一致する他の作用を実行してもよい。これらの機能性には例えば、ネットワークアドレス転換（「ＮＡＴ」）および／またはポートアドレス転換（「ＰＡＴ」）の提供、一般的なファイアウォールもしくはプロキシ、または設定可能なネットワークサービス用の他の安全機能の提供等が含まれる。
【００８７】
その代わりに、指定されたメッセージが、提供されたコンピュータネットワークのコンピュータノードへの着信ではないが、その代わりに、（例えば、公的にアクセス可能なシステムへのインターネット上における、顧客の遠隔コンピュータネットワークまたは顧客の他の遠隔コンピュータシステムへのＶＰＮ接続等を通じて）提供されたコンピュータネットワークのコンピュータノードから内部のサブストレートネットワーク上において受信された通信であり、かつ１つ以上の外部宛先コンピュータシステムに発信される通信であることがブロック６１０において判定された場合には、ルーティンは、ブロック６３０に継続する。ブロック６３０、６３５および６４５は、図５のブロック５１５〜５２５と同様の方式にて実行される。特に、ブロック６３０において、ルーティンは、例えば、サブストレートネットワークを通じて受信された通信内の情報に基づいて、発信用の１つ以上の遠隔地における１つ以上の意図された宛先コンピュータシステムを確定する。ブロック６３５において、ルーティンは、次に、例えば上述したのと同様の方式において（例えば、特定のネットワークトポロジー情報および／または送信コンピュータノードが属する提供されたコンピュータネットワーク用のアクセス制限情報を考慮することによって）、通信が許容可能か否かを検証する。ブロック６３５後、ルーティンは、発信が、顧客の遠隔コンピュータネットワークの一部等の、１つ以上の遠隔の顧客コンピュータシステムへのＶＰＮ接続を通じて送信されているか否かを判定するブロック６４０に継続する。このような場合に、ルーティンは、（例えば、設定可能なネットワークサービスの他のソフトウェアおよび／またはハードウェアが、ＶＰＮ接続を通じて送信されたこのような通信の管理を処理しない場合に）ＶＰＮ接続用の通信を任意選択的に暗号化するか、または他の方法により符号化するブロック６４２に継続する。そして次に、その通信を、ＶＰＮ接続を通じて確定された宛先コンピュータシステムに転送する。他の実施形態では、ＶＰＮ接続を維持する分離ソフトウェアおよび／またはハードウェアは、その代わりに、このような稼動をその後実行する。その代わりに、発信が、ＶＰＮ接続を通じて送信されていないことがブロック６４０において確定された場合には、ルーティンは、その代わりに、インターネットまたは他のパブリックネットワーク上において確定された宛先コンピュータシステムに通信を転送するブロック６４５に継続する。上述のように、ルーティンは、例えば、通信が移動するコンピュータネットワークと一致する方式において発信を再ヘッダするように、それらが外部へ転送される前に、サブストレートネットワークを通じて受信されたこのような発信をさらに修正してもよい。さらにまた、ここには図示しないが、少なくとも一部の実施形態では、ルーティンは、制御されたコンピュータノードのグループから外部に発信する（例えば、プライベートネットワークからパブリックネットワークに）通信と一致する他の機能を実行してもよい。これらの機能には例えば、ネットワークアドレス転換（「ＮＡＴ」）および／またはポートアドレス転換（「ＰＡＴ」）の提供、一般的なファイアウォールもしくはプロキシ、または設定可能なネットワークサービス用の他の安全機能の提供等が含まれる。
【００８８】
その代わりに、指定されたメッセージが、提供されたコンピュータネットワーク用の設定されたアクセス機構を有する、遠隔資源サービスにアクセスするためのその提供されたコンピュータネットワークにおけるコンピュータノードからのものであることがブロック６１０において確定された場合には、ルーティンは、その代わりに、図７に関してより詳細に記載されるそのルーティンの１つの例示的な実施形態に関する、遠隔資源サービスアクセスルーティンを実行するブロック６５０に継続する。他の方法により、ルーティンは、例えば他の受信したメッセージまたは受信した情報に応答して、必要に応じて、１つ以上の他の指定された動作を実行する６９０に継続する。このような他の指定された動作は、例えば、図５のブロック５９０に関してより詳細に記載される種々の形態を有してもよい。例えば、他の種類のメッセージは（例えば、１つ以上の提供されたコンピュータネットワークのために、ルーティン６００において用いられるルーティング情報または他の設定情報を特定するために）、図４の設定可能なネットワークサービス管理者ルーティン４００から、または（例えば、提供されたコンピュータネットワーク用の設定情報を伝播するために）ノード通信管理者ルーティンから等の設定情報または他の管理メッセージを含んでもよい。同様に、場合によっては、ルーティンは、ノード通信管理者モジュールに、提供されたコンピュータネットワーク用の設定情報を送信する手段を、ブロック６９０において取ってもよい。この手段には例えば、他のノード通信管理者モジュールまたは設定可能なネットワークサービス管理者モジュールからの情報の受信後、ピアツーピア方式においてこのような情報を分配することが含まれる。他の機能は、少なくとも一部の実施形態および状況では、種々の種類の管理またはハウスキーピング機能を同様に含んでもよい。この機能は例えば、コンピュータネットワークの一部または全て用のコンピュータノードの一部または全ての状態の確認、遠隔の顧客によるコンピュータネットワークの一部または全ての利用の監視、提供されたコンピュータネットワークの一部または全てによる内部の設定可能なネットワークサービス資源の利用の監視等が含まれる。
【００８９】
ブロック６２９、６４２、６４５、６５０または６９０後、ルーティンは、例えば、完了するための明確な指示が受信されるまで、継続するか否かを判定するブロック６９５に継続する。継続が判定された場合には、ルーティンはブロック６０５に戻り、そして他の方法によりブロック６９９に継続して終了する。
【００９０】
それ故、ブロック６００は、設定可能なネットワークサービスにより提供されたコンピュータネットワークの一部であるコンピュータノードへの、およびコンピュータノードからの種々の種類の通信を管理する。ルーティンのこの例示的な実施形態では別個に図示されないが、ブロック６００が、例えば、セッションまたは他の一連の通信を起動するために、以前に送信された通信に対する１つ以上の応答を可能にする、少なくとも一部の通信用の設定をさらに実行されてもよいことが理解される。それ故、例えば、特定の提供されたコンピュータネットワークは、そのコンピュータネットワークのコンピュータノードへの通信を、いかなる外部コンピュータシステムが開始することをも防止するように設定されてもよい。しかしながら、このような外部コンピュータシステムは、そのコンピュータネットワークのコンピュータノードから、その外部コンピュータシステムに最初に送信された通信に対して応答できるように設定されてもよい。したがって、ブロック６２５における判定は、着信が、ブロック６３０〜６４５に関して処理された以前の発信の応答であるか否かに部分的にさらに基づいてもよい。同様に、遠隔資源サービスにアクセスするために起動された通信において、ブロック６５０に関してより詳細に記載するように、ブロック６１５〜６２９に関して、またはその代わりに、他の方式等の遠隔資源サービスからの応答が可能なように設定されてもよい。
【００９１】
図７は、遠隔資源サービスアクセスルーティン７００の例示的な実施形態のフローチャートである。ルーティンは、図６のブロック６５０の実行等によって起動され得るような、例えば、図２の外部通信管理者モジュール２７０の実行によって提供される場合がある。ルーティンは、遠隔資源サービス、特に、例えば図４のブロック４７５〜４８０において特殊なアクセスを提供するように、提供されたコンピュータネットワークが事前に設定された遠隔資源サービスへの、提供されたコンピュータネットワークのコンピュータノードにより生成された通信を管理する。他の箇所により詳細に記載するように、少なくとも一部の実施形態では、提供されたコンピュータネットワークは、（例えば、遠隔資源サービスを示すように、その提供されたコンピュータネットワークにおいて１つ以上のネットワークアドレスを指定することによって）特定の遠隔資源サービスへの特殊なアクセスを提供するように設定されてもよい。また、サブストレート物理的ネットワークは、必要に応じて、それらの転送された通信を管理するように設定されている外部通信管理者モジュールである、外部通信を管理する外部通信管理者モジュールに、対応する通信を転送するように設定されてもよい。
【００９２】
図示した実施形態では、ルーティンは、通信に用いられるネットワークアドレス等に基づいて、提供されたコンピュータネットワークにおけるコンピュータノードから、設定されたアクセス機構がそのコンピュータネットワーク用に提供された遠隔資源サービスへの通信において指示が受信される、ブロック７０５において開始される。ルーティンは、次に、通信に用いられるアクセス機構用に、事前に特定された設定情報を読み出すブロック７１０に継続する。ブロック７１５において、ルーティンは、次に、読み出した設定情報等に基づいて、通信の目標となる宛先遠隔資源サービスを確定する。
【００９３】
ブロック７１５後、ルーティンは、図５のブロック５２０および５３０、並びに図６のブロック６２５および６３５に関して記載されたのと同様の方式等により、通信が許容可能か否かを判定するブロック７２５に継続する。さらにまた、その判定は、特定の設定されたアクセス機構用の特定の種類の通信のみ等を可能にするために用いられるアクセス機構用の読み出された設定情報に基づいた少なくとも一部の状況および実施形態において、さらに達成されてもよい。通信が許容可能であると判定された場合には、ルーティンは、次に、用いられるアクセス機構用の以前の設定に基づいた方式において通信を任意選択的に修正するブロック７３０に継続する。例えば、他の箇所により詳細に記載されるように、アクセス機構は、例えば、遠隔資源サービスにより用いられる特定のネームスペースに対応する通信を修正するように、遠隔資源サービスによる認証目的用のコンピュータノードのロケーションに関する通信または他の情報を送信するコンピュータノードの提供されたコンピュータネットワークに関する情報を含むように設定されてもよい。
【００９４】
ルーティンは、次に、確定された遠隔資源サービスに特定の方式において、通信における追加的な認証関連行為を任意選択的に実行するブロック７３５に継続する。例えば、他の箇所により詳細に記載するように、少なくとも一部の遠隔資源サービスは、設定可能なネットワークサービスと提携され得、または他の方法により、設定可能なネットワークサービスが、パブリックネットワーク上で遠隔資源サービスと通信する認証されていないリクエスタに提供されない特別許可された方式において、遠隔資源サービスにアクセスすることを可能にする。このような場合に、ルーティンは、例えば、遠隔資源サービスが、信頼のある、または他の方法により既知のリクエスタから通信が送信されていることを確定できる認証関連機能を実行してもよい。これは例えば、（例えば、修正された通信の一部である識別子に基づく電子署名を含むような、設定可能なネットワークサービスと遠隔資源サービスとの間における以前の相互作用等に基づいて）設定可能なネットワークサービスに対応する識別子を含むように通信を修正すること等によって実行される。
【００９５】
ブロック７３５後、ルーティンは、次に、通信の暗号化、または他の方法により、確定された遠隔資源サービスにおける安全な接続（例えば、特定の提携された遠隔資源サービスとのＶＰＮ接続、遠隔資源サービスへの専用のプライベートリース線または他の通信リンク等）へのアクセスを選択的に実行し、確定された遠隔資源サービスに通信を転送するブロック７４５に継続する。転送されている通信は、例えば、インターネットまたは１つ以上の他のパブリックネットワーク上において送信されてもよく、またはその代わりに、一部の実施形態では、プライベート通信リンクまたは他の安全な接続を通じて送信されてもよい。ブロック７４５後、ルーティンは、ブロック７９９に継続して終了する。 
【００９６】
図８は、ＶＰＮ構成実現ルーティン８００の例示的な実施形態のフローチャートである。ルーティンは、例えば、設定可能なネットワークサービスの実施形態により提供された遠隔アクセス構築ＡＰＩの顧客の起動に起因する、図４のブロック４２５の実行等に基づいて起動されてもよい、設定可能なネットワークサービス管理者モジュールの実行により提供されてもよい。
【００９７】
図示した実施形態では、ルーティンは、顧客の遠隔地（顧客の遠隔プライベートコンピュータネットワーク等）から、顧客用の提供されたコンピュータネットワーク（顧客の遠隔プライベートコンピュータネットワーク用の設定可能なネットワークサービスにより提供されたネットワーク拡張等）へのＶＰＮ接続を構築する顧客の要求の指示が受信される、ブロック８０５において開始される。少なくとも一部の実施形態では、ＶＰＮ接続を構築するための顧客による要求は、１つ以上の適切なネットワーク装置、並びに顧客の遠隔地に提供される対応するソフトウェアおよび／または設定情報の注文を満たすための要求の一部である。これにより、遠隔の顧客ロケーションにおける１つ以上のコンピュータシステムから、設定可能なネットワークサービスにより顧客用に提供されたコンピュータネットワークへのＶＰＮ接続の構築が可能になる。少なくとも一部のこのような実施形態では、注文の実現は、遠隔アクセス構築ＡＰＩの起動または顧客からの要求の他の開始後における顧客によるいかなるさらなる行為も無しで、設定可能なネットワークサービスにより実行されてもよい。一方、他の実施形態では、顧客との一部の追加的な相互作用は、注文の実現の一部（例えば、顧客への選択の提供、顧客からの追加的な情報の取得、顧客からの支払情報の取得等）として実行されてもよい。
【００９８】
ブロック８１５において、ルーティンは、次に、要求を実現するのに用いられる顧客に関する種々の情報を取得する。この情報は例えば、ブロック８０５において受信された、顧客から事前に受信し、かつ設定可能なネットワークサービスを用いた顧客のアカウントから読み出され、かつ／または顧客および／または１つ以上の外部資源から動的に得られた要求に提供されてもよい。取得した情報は、例えば、ネットワーク装置（単数または複数）および他の品目が物理的な的に配達されてもよい顧客の地理的なロケーションに関する情報、電子情報が電子的に配信されてもよい電子通信アドレス、ブロック８０５において受信された要求に関連する顧客による料金の支払いに関する支払情報等の種々の形態を有してもよい。さらに、種々の情報は、遠隔の顧客ロケーションと顧客用の提供されたコンピュータネットワークとの間におけるＶＰＮ接続の設定を支援するために取得されてもよい。この情報には例えば、ＶＰＮ接続を起動するための、遠隔の顧客ロケーションから公的にアクセス可能なネットワークアドレス（または、他の対応する接続情報）、ＶＰＮ接続が構築された、提供されたコンピュータネットワークの識別に用いられる一意の識別子または他の情報等が含まれる。
【００９９】
ブロック８１５後、ルーティンは、提供されたコンピュータネットワークへのＶＰＮ接続を構築するために、顧客の１つ以上の遠隔コンピュータシステムに利用する１つ以上の適切なネットワーク装置を確定するブロック８２５に継続する。他の箇所により詳細に記載するように、適切なネットワーク装置は、種々の方法により確定されてもよい。この方法は例えば、（例えば、設定可能なネットワークサービスのサブストレートネットワーク、または設定可能なネットワークサービスの他の設備の一部として用いられるネットワーク装置に基づいて）顧客用の提供されたコンピュータネットワーク、顧客の遠隔コンピュータシステム、および／または設定可能なネットワークサービスに特定の情報に基づく方法である。さらにまた、適切なネットワーク装置（単数または複数）の確定は、例えば、設定可能なネットワークサービスにより自動的に、かつ／または顧客からの情報に少なくとも部分的に基づく種々の実施形態における種々の方法（例えば、ブロック８０５において受信された要求の一部である顧客による選択に基づいて、または顧客に提供された複数の代替案間における選択等をするための、顧客による特定の他の方法により）において実行されてもよい。
【０１００】
ブロック８２５後、ルーティンは、顧客用の提供されたコンピュータネットワークに接続するための、ネットワーク装置（単数または複数）の準備に使用するための確定されたネットワーク装置（単数または複数）用の設定情報を生成するブロック８３５に継続する。しかしながら、他の実施形態では、ルーティンは、設定情報を生成するための、第３者の事業体（例えば、ブロック８４５において交信される同一の小売業者）を指示してもよい。少なくとも一部の実施形態では、確定されたネットワーク装置用の設定情報は、設定されたネットワーク装置が設定されたネットワーク装置の設定を完成するために、（例えば、特定の提供されたコンピュータネットワークに特定の方式においてネットワーク装置（単数または複数）を設定するための、設定可能なネットワークサービスからの追加的な情報を得ることによって）設定可能なネットワークサービスとの交信を起動させる。さらに、少なくとも一部の実施形態では、確定されたネットワーク装置用の設定情報は、設定されたネットワーク装置が、例えば、提供されたコンピュータネットワークへのＶＰＮ接続を構築するように、顧客の提供されたコンピュータネットワークとの交信を起動させる。生成された設定情報は、一部の実施形態では、種々の確定されたネットワーク装置（単数または複数）および／または確定されたネットワーク装置（単数または複数）がＶＰＮ接続を構築する、提供されたコンピュータネットワークに特定でもよい。また、設定情報の生成は、（例えば、事前に準備された設定情報が、任意のネットワーク装置（単数または複数）および／または任意の提供されたコンピュータネットワークに用いられる場合等に、確定されたネットワーク装置（単数または複数）および／または提供されたコンピュータネットワークに特定の方式にて、事前に準備された設定情報を修正することによって）事前に準備された設定情報の取り出し、および／または新規の設定情報の動的な構成を含んでもよい。生成された設定情報は、同様に、例えば、ハードウェアデバイスにおいて実行される設定されたソフトウェア、遠隔地における人的オペレータに用いられるテキスト命令等の種々の形態を有してもよい。
【０１０１】
ブロック８４５において、ルーティンは、次に、顧客の１つ以上の遠隔コンピュータシステムと共に用いられる確定されたネットワーク装置（単数または複数）を遠隔の顧客ロケーションに供給するために、小売業者への注文を起動する。また、図示した実施形態では、ネットワーク装置を利用するために、生成された設定情報の、顧客への供給をさらに起動する。このような実施形態では、生成された設定情報は、例えば、注文の一部として設定情報を送信すること、設定情報を生成するための、ブロック８３５における小売業者を事前に指示すること等の種々の方法において小売業者に提供され得る。他の箇所により詳細に記載するように、生成された設定情報は、下記の１つ以上を含む種々の方法により顧客に供給されてもよい。これらの方法には、顧客に物理的に配達された物理的な装置が読み取り可能な保存装置媒体（例えば、ＣＤ、ＤＶＤ、ＵＳＢ、メモリキー等）に、生成された設定情報を保存すること、顧客に配信される前に、（例えば、小売業者に用いられるフルフィルメントセンターにおいて、ネットワーク装置（単数または複数）に生成された設定情報をロードすることによって）生成された設定情報を用いてネットワーク装置（単数または複数）を設定すること、生成された設定情報を顧客に電子的に送信すること等が含まれる。他の実施形態では、ネットワーク装置（単数または複数）および／または設定情報は、他の方式にて顧客に提供されてもよい。例えば、小売業者よりはむしろ設定可能なネットワークサービスにより直接提供されたネットワーク装置および生成された設定のうちの１つまたは両方を有すること、ネットワーク装置を供給する第１の小売業者および生成された設定情報を供給する異なる第２の小売業者を利用すること、小売業者ではない１つ以上の第３者を利用すること等によって提供されてもよい。ブロック８４５後、ルーティンは、ブロック８９９に継続し、戻る。
【０１０２】
一部の実施形態では、上述したルーティンにより提供された機能は、例えば、より多くのルーティン内での分割またはより少ないルーティンへの統合等の代替的な手法により提供されてもよいこともまた理解される。同様に、一部の実施形態では、例えば、他の説明されたルーティンが、その代わりに、このような機能をそれぞれ欠くか含む場合、または提供された機能の量が変更される場合には、説明されたルーティンは、記載されたものよりもより多いまたは少ない機能を提供してもよい。さらに、種々の行為は、特定の方式（順番にまたは同時に等）および／または特定の順序で実行されるように説明されているかもしれないが、他の実施形態では、他の順序および他の方式において動作が実行され得ることが、当業者に理解される。上述のデータ構造が、例えば、複数のデータ構造に分割される単一のデータ構造、または単一のデータ構造に統合される複数のデータ構造を有する等の、異なる方式において構成されてもよいことがさらに当業者に理解される。同様に、一部の実施形態では、説明されたデータ構造は、他の説明されたデータ構造が、その代わりに、このような情報をそれぞれ欠くかまたは含む場合、または保存される情報の量または種類が変更される場合等に、記載されたよりも多いまたは少ない情報を保存する場合がある。
【０１０３】
条項１
プライベートコンピュータネットワークに、遠隔ネットワークサービスへのローカルネットワークアクセスを提供する設定可能なネットワークサービスのコンピュータシステムのための方法であって、
遠隔のユーザの遠隔プライベートコンピュータネットワークへのネットワーク拡張を遠隔のユーザが構成および設定可能になる、設定可能なネットワークサービスにおけるプログラム的インターフェースを提供することであって、この設定可能なネットワークサービスは、構成されたネットワーク拡張を遠隔のユーザに提供するのに用いられる複数のコンピュータシステムを含む、プログラム的インターフェースを提供することと、
設定可能なネットワークサービスのコンピュータシステムの制御の下で、かつ、複数の遠隔のユーザの各々に対して、
ユーザの遠隔プライベートコンピュータネットワークへのローカルプライベートネットワーク拡張を構成および設定するために提供されたプログラム的インターフェースを通じて、遠隔のユーザによりプログラム的に提供された設定情報を受信することであって、このプライベートネットワーク拡張は、設定可能なネットワークサービスにより提供され、多重の複数のコンピュータシステムのサブセットを含み、受信した設定情報は、複数のコンピュータシステムにおいて指定される、プライベートコンピュータネットワークの複数のプライベートネットワークアドレスのユーザに特定のサブセットを含み、プライベートネットワーク拡張において複数のコンピュータシステムからアクセス可能な、プライベートコンピュータネットワーク外部の遠隔資源サービスの指定を含み、かつプライベートネットワーク拡張からプライベートコンピュータネットワークの一部ではない外部コンピュータシステムへのアクセスを防止するためのネットワークアクセス制限情報を含む、設定情報を受信することと、
受信した設定情報に従って、ユーザのプライベートネットワーク拡張を自動設定することであって、この設定は、複数のコンピュータシステム各々を、プライベートネットワークアドレスのユーザ特定のサブセットの１つに関連させることを含み、遠隔資源サービスを示す、プライベートネットワークアドレスのユーザ特定のサブセットの１つを指定することを含み、かつ複数のコンピュータシステムから、複数のプライベートネットワークアドレスの一部ではない他のネットワークアドレスに通信が送信されることを防止する設定を実行することを含む、自動設定することと、
プライベートネットワーク拡張上に送信された通信の自動的に管理することであって、この管理することは、遠隔資源サービスに指定されたプライベートネットワークアドレスに送信された１つ以上の通信の各々に対して、プライベートコンピュータネットワークの外部の１つ以上のパブリックネットワークを通じて遠隔資源サービスにその通信を転送することとを含む、管理することと、を含む方法。
【０１０４】
条項２
複数のユーザのうちの１人に対して、１人のユーザのプライベートネットワーク拡張の自動設定は、プライベートネットワーク拡張の複数のコンピュータシステムと、１人のユーザの遠隔プライベートコンピュータネットワークの複数の他のコンピュータシステムとの間の仮想プライベートネットワーク接続を、プライベートアクセスを可能にするように設定することを含み、プライベートネットワーク拡張上で送信された通信を自動的に管理することは、プライベートネットワーク拡張の複数のコンピュータシステムと、１人のユーザの遠隔プライベートコンピュータネットワークの複数の他のコンピュータシステムとの間の、設定された仮想プライベートネットワーク接続を介したプライベートアクセスを提供することをさらに含み、複数のコンピュータシステムから、複数のプライベートネットワークアドレスの一部ではない他のネットワークアドレスへの通信を防止する設定を実行することは、１人のユーザのプライベートコンピュータネットワークと、１人のユーザのプライベートコンピュータネットワークの外部の任意のコンピュータシステムとの間の通信を防止するための１つ以上のネットワーク装置を設定することを含む、条項１の方法。
【０１０５】
条項３
設定可能なネットワークサービスは、パブリックネットワークを介して遠隔のユーザに対してアクセス可能であり、クラウドコンピュータ技術を利用してネットワーク拡張を提供する有料サービスであり、設定可能なネットワークサービスによりユーザに提供された、構成されたネットワーク拡張に対して設定可能なネットワークサービスに支払いを提供する複数の遠隔のユーザが、設定可能なネットワークサービスの客である、条項２の方法。
【０１０６】
条項４
遠隔ネットワークサービスにローカルネットワークアクセスを提供するためのコンピュータ実装方法であって、
複数の遠隔の顧客にプライベートコンピュータネットワークを提供する設定可能なネットワークサービスの１つ以上のコンピュータシステムの制御の下で、
多重コンピュータノードを含む第１のプライベートコンピュータネットワークの第１の客に対する構成を起動し、第１のプライベートコンピュータネットワークに対する設定情報を特定する、第１の遠隔の客からの１つ以上の要求を受信することであって、設定情報は、第１のプライベートコンピュータネットワークとともに利用するための複数の特定のネットワークアドレスを含み、コンピュータ関連資源を提供するネットワークアクセス可能な遠隔資源サービスの指定を含み、かつ第１のプライベートコンピュータネットワークの一部ではないコンピュータシステムへの、第１のプライベートコンピュータネットワークの多重コンピュータノードのアクセスを制限するためのネットワークアクセス制限情報を含む１つ以上の要求を受信することと、
設定情報に従った、第１のプライベートコンピュータネットワークを自動設定することであって、設定は、多重コンピュータノード各々を、特定のネットワークアドレスの１つに関連させることを含み、指定された遠隔資源サービスを示すために、特定のネットワークアドレスの示された１つを指定することを含み、多重コンピュータノードから特定のネットワークアドレスの一部ではないネットワークアドレスへまでの少なくとも一部の通信を防止する設定を実行することを含み、多重コンピュータノードは、設定可能なネットワークサービスによって提供された複数のコンピュータノードのサブセットである、自動設定することと、
設定情報に従って多重コンピュータノードにより送信された通信を管理することであって、多重コンピュータノードの１つ以上によって、指定されたネットワークアドレスに送信される１つ以上の通信に対して、第１のプライベートコンピュータネットワークの外部の１つ以上のネットワークを介して遠隔資源サービスに１つ以上の通信を転送することを含む、通信を管理することと、を含む方法。
【０１０７】
条項５
特定の設定情報に含まれるネットワークアクセス制限情報が、遠隔資源サービスの１つ以上のコンピュータシステム以外の第１のプライベートコンピュータネットワークの一部ではないコンピュータシステムへの、第１のプライベートコンピュータネットワークの多重コンピュータノードのアクセスを禁止し、多重コンピュータノードから、特定のネットワークアドレスの一部ではない他のネットワークアドレスへの少なくとも一部の通信を防止する設定を実行することは、多重コンピュータノードから、特定のネットワークアドレスの一部ではない他のネットワークアドレスに送信されるあらゆる通信の防止を含む、条項４の方法。
【０１０８】
条項６
複数の設定可能なネットワークサービスによって提供されたコンピュータノードと相互接続する設定可能なネットワークサービスの物理的なサブストレートネットワークにおいてオーバーレイされた仮想ネットワークとして、設定可能なネットワークサービスにより、第１のプライベートコンピュータネットワークが提供され、特定のネットワークアドレスは、仮想ネットワークアドレスであり、かつ指定された遠隔資源サービスは、サブストレートネットワークの一部である設定されたローカルアクセスポイントを有し、１つ以上のコンピュータノードによって、指定されたネットワークアドレスに送信された１つ以上の通信は、指定された遠隔資源サービスの設定されたローカルアクセスポイントに供給される、条項４の方法。
【０１０９】
条項７
オーバーレイされた仮想ネットワークの一部として、多重コンピュータノード間に送信された通信が、サブストレートネットワーク上で送信され、かつ通信中にサブストレートネットワークに特定の情報を利用するように符号化され、設定可能なネットワークサービスは、サブストレートネットワーク上における送信前に、サブストレートネットワークに特定の情報を用いて符号化される、多重コンピュータノードからの発信を修正し、かつサブストレートネットワーク上における送信後に、サブストレートネットワークに特定の符号化された情報を除去するために、多重コンピュータノードへの着信を修正する多重モジュールを提供し、設定されたローカルアクセスポイントへの１つ以上の通信を提供することは、サブストレートネットワークに特定の符号化された情報を利用するサブストレートネットワークを介した１つ以上の通信の、設定されたローカルアクセスポイントへ送信することを含み、かつ指定された遠隔資源サービスのローカルアクセスポイントは、サブストレートネットワークに特定の情報を用いて符号化された、サブストレートネットワークにおいて送信された通信を管理するように設定される条項６の方法。
【０１１０】
条項８
指定された遠隔資源サービスの設定されたローカルアクセスポイントが、設定可能なネットワークサービスにより提供されるコンピュータノードにより提供され、１つ以上の外部ネットワークは、パブリックネットワークであり、指定された遠隔資源サービスの設定されたローカルアクセスポイントは、安全な方式において、サブストレートネットワークから１つ以上の外部パブリックネットワーク上で遠隔資源サービスへの１つ以上の通信の転送を管理する条項６の方法。
【０１１１】
条項９
第１の客が、複数の遠隔の客の１人であり、設定可能なネットワークサービスの１つ以上のコンピュータシステムは、第１のプライベートコンピュータネットワーク以外の複数のプライベートコンピュータネットワークをさらに設定し、第１の客以外の複数の遠隔の客に提供し、複数の他のプライベートコンピュータネットワークの少なくとも一部は、指定された遠隔資源サービスに、それらの少なくとも一部の他のプライベートコンピュータネットワークの他のネットワークアドレスを指定するように設定され、少なくとも一部の他のプライベートコンピュータネットワークに対する通信を管理することは、指定された遠隔資源サービスの設定されたローカルアクセスポイントへの他のネットワークアドレスに送信される他の通信を転送することを含む、条項６の方法。
【０１１２】
条項１０
第１のプライベートコンピュータネットワークが、第２の遠隔資源サービスを示すように、異なる第２の特定のネットワークアドレスのうちの１つを指定するようにさらに設定されており、第２の遠隔資源サービスが、サブストレートネットワークの一部であり、かつ指定された遠隔資源サービスの設定されたローカルアクセスポイントとは異なる設定された第２のローカルアクセスポイントを有し、多重コンピュータノードにより送信された通信を管理することが、多重コンピュータノードの１つ以上によって、第２のネットワークアドレスに送信された１つ以上の他の通信に対して、第２の遠隔資源サービスの設定された第２のローカルアクセスポイントに、その１つ以上の他の通信を提供することによって、第２の遠隔資源サービスにその１つ以上の他の通信を転送する、条項６の方法。
【０１１３】
条項１１
設定可能なネットワークサービスが、多重コンピュータノード間の通信を管理する多重モジュールを提供し、第１のプライベートコンピュータネットワークの自動設定が、１つ以上の外部ネットワーク上の遠隔資源サービスへの指定されたネットワークアドレスへ送信された通信を転送するように、設定可能なネットワークサービスの多重モジュールを設定することを含む、条項４の方法。
【０１１４】
条項１２
複数の設定可能なネットワークサービスによって提供されたコンピュータノードが、単一の地理的位置に配置されており、設定可能なネットワークサービスの１つ以上のコンピュータシステムが、第１のプライベートコンピュータネットワークの多重コンピュータノードとは異なる複数の他の多重コンピュータノードを用いる第２の客に、第２のコンピュータネットワークをさらに提供し、第２のコンピュータネットワークの他の多重コンピュータノードの少なくとも１つが、他者にアクセス可能であるネットワークアクセス可能な遠隔サービスを提供し、指定された遠隔資源サービスが、第２のコンピュータネットワークを用いる第２の客によって提供された遠隔サービスである、条項４の方法。
【０１１５】
条項１３
第１のプライベートコンピュータネットワークおよび第２のコンピュータネットワークが、複数のコンピュータノードと相互接続する設定可能なネットワークサービスの物理的なサブストレートネットワーク上でオーバーレイされた異なる仮想ネットワークとして、設定可能なネットワークサービスにより提供され、１つ以上の外部ネットワークを介した遠隔資源サービスへ１つ以上の通信を転送することは、サブストレートネットワークを通じた、第１のプライベートコンピュータネットワークから少なくとも１つの第２のコンピュータネットワークの他のコンピュータノードの１つ以上へ１つ以上の通信を転送することを含む、条項１２の方法。
【０１１６】
条項１４
第１のプライベートコンピュータネットワークが、複数のコンピュータシステムを含む、第１の客の遠隔プライベートコンピュータネットワークの拡張となるように設定され、特定の複数のネットワークアドレスが、遠隔プライベートコンピュータネットワークに利用される複数のプライベートネットワークアドレスのサブセットであり、第１のプライベートコンピュータネットワークの自動設定が、第１の客の遠隔プライベートコンピュータネットワークの複数のコンピュータシステムと、第１のプライベートコンピュータネットワークの多重コンピュータノードとの間のプライベートアクセスをさらに可能にする、条項４の方法。
【０１１７】
条項１５
多重コンピュータノードによって送信された通信を管理することは、遠隔プライベートコンピュータネットワークの複数のコンピュータシステムから、第１のプライベートコンピュータネットワークに送信された通信を管理することをさらに含み、複数のコンピュータシステムから送信された通信を管理することは、１つ以上の多重コンピュータシステムによって、指定されたネットワークアドレスへ送信された１つ以上の他の通信において、１つ以上の外部ネットワークを介した遠隔資源サービスへの１つ以上の他の通信を転送することを含む、条項１４の方法。
【０１１８】
条項１６
設定可能なネットワークサービスにより提供されるプライベートコンピュータネットワークの設定において、複数の遠隔の客により用いられる設定可能なネットワークサービスにより提供された１つ以上のプログラム的インターフェースの起動に基づいて、第１の客による１つ以上の要求がプログラム的に構成され、特定の設定情報のネットワークアクセス制限情報が、第１のプライベートコンピュータネットワークの多重コンピュータノード間の通信をさらに制御し、第１のプライベートコンピュータネットワークの自動設定が、複数のコンピュータノードからの、第１のプライベートコンピュータネットワークの一部として用いるための多重コンピュータノードの自動選択を含み、特定のネットワークアクセス制限情報に従った、多重コンピュータノード間の通信を許可すること、およびブロックすることをさらに実行する、条項４の方法。
【０１１９】
条項１７
遠隔資源サービスの制御の下で、
コンピュータ関連資源のサブセットの少なくとも一部にアクセスするための指定されたネットワークアドレスを介して、第１のプライベートコンピュータネットワークの多重コンピュータノードから送信された通信を受信することであって、受信した通信が識別子の指定を含む、通信を受信することと、
指定された識別子に関連するネームスペースから、少なくとも一部のコンピュータ関連資源へのアクセスを提供することと、をさらに含む条項４の方法。
【０１２０】
条項１８
指定された遠隔資源サービスにより提供されたコンピュータ関連資源が、データ保存サービス、プログラム実行サービス、および非同期式メッセージパッシングサービスの少なくとも１つのための資源を含み、多重コンピュータノードが、設定可能なネットワークサービスの複数の物理的なコンピュータシステムの１つにおいてホストされる各仮想マシンであり、第１のプライベートコンピュータネットワークを設定することが、ホストされた仮想マシンに対する通信を管理するための、１つ以上の物理的なコンピュータシステムにおいて実行する１つ以上の仮想マシン通信管理者モジュールを設定することを含む、条項４の方法。
【０１２１】
条項１９
第１のプライベートコンピュータネットワークとともに利用するために特定された複数のネットワークアドレスの少なくとも１つと同一である、１人以上の他の客によって特定された１つ以上のネットワークアドレスを有する、第１の客以外の１人以上の客用の第１のプライベートコンピュータネットワーク以外の１つ以上の提供されたプライベートコンピュータネットワークを、複数の遠隔の客に提供されたプライベートコンピュータネットワークが含み、設定可能なネットワークサービスが、それらの同一のネットワークアドレスをさらに管理し、それらの同一のネットワークアドレスの各々に対して、他のプライベートコンピュータネットワークの各々が、第１のプライベートコンピュータネットワークに対するネットワークアドレスに対応するコンピュータノードとは異なる、そのネットワークアドレスに対応するコンピュータノードを有する、条項４の方法。
【０１２２】
条項２０
設定可能なネットワークサービスの１つ以上のコンピュータシステムによる、複数の遠隔の客へプライベートコンピュータネットワークを提供することは、第１のプライベートコンピュータネットワークとともに利用するために特定された複数のネットワークアドレスに対して任意のネットワークアドレスを選択することを、第１の客に許可することを含む、条項４の方法。
【０１２３】
条項２１
第１の客からの１つ以上の要求が、第１の客のコンピュータデバイス上に第１の客にディスプレイされたグラフィカルユーザインターフェースとの、第１の客の１つ以上の相互作用に基づいて起動される、条項の４の方法である。
【０１２４】
条項２２
コンピュータ可読媒体であって、そのコンテンツは、下記の工程を含む方法を実行することによって、コンピュータシステムが、遠隔ネットワークサービスへのローカルネットワークアクセスの提供することを可能にし、この工程は、
複数の遠隔の顧客の各々に対して、
顧客の遠隔プライベートコンピュータネットワークへのネットワーク拡張を設定するための、顧客から第１の情報を受信することであって、ネットワーク拡張が、顧客に用いられるために提供され、第１の情報は、提供されたネットワーク拡張を利用するために特定された１つ以上の プライベートネットワークアドレスを含む、第１の情報を受信することと、
プライベートコンピュータネットワークからネットワークアクセス可能な資源サービスへのアクセスを設定する第２の情報を取得することと、
この方法は、資源サービスへのアクセスを可能にする提供されたネットワーク拡張を自動的に設定することであって、資源サービスを示すために、特定のプライベートネットワークアドレスの指定された１つに関連付けることを含み、これにより、プライベートコンピュータネットワークのコンピュータノードによって、指定されたプライベートネットワークアドレスに送信された通信は、プライベートコンピュータネットワークとは異なる１つ以上のネットワーク上で資源サービスに転送される、ネットワーク拡張を自動的に設定することと、
この方法は、設定された、提供された顧客へのネットワーク拡張の利用が可能であることを開始することを含む、コンピュータ可読媒体。
【０１２５】
条項２３
コンピュータシステムが、複数の遠隔の顧客にネットワーク拡張を提供し、かつ設定可能なネットワークサービスと通信するための、複数の遠隔の顧客に用いられるプログラム的インターフェースを提供する設定可能なネットワークサービスの一部であり、設定可能なネットワークサービスが第１のネットワーク拡張を提供する第１の複数の顧客のために、第１の情報が、プログラム的インターフェースを用いた第１の顧客の１つ以上の相互作用を介して受信され、かつ第１のネットワーク拡張用の設定情報を含み、設定情報が、第１のネットワーク拡張用の複数の特定のプライベートネットワークアドレスを含み、第１のネットワーク拡張の指定されたネットワークアドレスが関連する資源サービスの指定を含み、かつネットワーク拡張が属するプライベートコンピュータネットワークの一部ではないコンピュータシステムへの第１のネットワーク拡張の多重コンピュータノードのアクセスを防止するネットワークアクセス制限情報を含み、指定された遠隔資源サービスが、第１のプライベートネットワーク拡張から遠隔であり、第１のネットワーク拡張の自動設定が、含まれる設定情報に従ってさらに実行され、かつ多重コンピュータノード各々を、複数の特定のプライベートネットワークアドレスの１つに関連付けることを含み、この方法は、第１のネットワーク拡張の多重コンピュータノードの１つ以上によって、第１のネットワーク拡張に対して指定されたネットワークアドレスへ送信された１つ以上の通信の受信後に、遠隔資源サービスにより提供されたコンピュータ関連資源への多重コンピュータノードのアクセスが可能になるように、１つ以上のパブリックネットワークを介して、指定されたネットワークアドレスが関連する遠隔資源サービスに、受信した通信を転送することをさらに含む、条項２２のコンピュータ可読媒体。
【０１２６】
条項２４
コンピュータシステムが、複数の同一場所に配置されたコンピュータノードを用いる複数の遠隔の顧客にネットワーク拡張を提供する設定可能なネットワークサービスの一部であり、提供されたネットワーク拡張各々が、複数の多重コンピュータノードのサブセットを利用した異なるネットワークであり、第１のネットワーク拡張を設定可能なネットワークサービスが提供する第１の複数の顧客に対して、第１のネットワーク拡張に対するアクセスが可能な資源サービスが、設定可能なネットワークサービスにより提供された別のネットワーク拡張を用いた別の複数の遠隔の顧客により提供された資源サービスである、条項２２のコンピュータ可読媒体。
【０１２７】
条項２５
コンピュータ可読媒体が、コンテンツを保存するコンピュータシステムのメモリ、およびコンテンツを含む生成された保存データ信号を含むデータ送信媒体の少なくとも１つであり、コンテンツが、実行されたときにコンピュータシステムにこの方法を実行させる指示である、条項２２のコンピュータ可読媒体。
【０１２８】
条項２６
遠隔ネットワークサービスへのローカルネットワークアクセスを提供するように設定されたコンピュータシステムであって、
１つ以上のメモリと、
複数の遠隔の顧客各々に、遠隔の顧客に用いられるために構成されたコンピュータネットワークを自動的に提供するように設定された設定可能なネットワークサービス管理者モジュールとを備え、
顧客に用いられるために構成されたコンピュータネットワークを設定するための、顧客により提供された設定情報の受信を含み、この設定情報は、構成されたコンピュータネットワークを介して、構成されたコンピュータネットワークの一部として提供された多重コンピュータノードにアクセス可能な１つ以上のネットワークアクセス可能な遠隔資源サービスの指定を含み、
このシステムは、受信した設定情報に従った、顧客用の構成されたコンピュータネットワークを自動的に設定することを含み、構成されたコンピュータネットワークの一部であり、多重コンピュータノードから、構築したアクセス機構を介して指定された遠隔資源サービスへの通信を送信することを可能にする方式により、指定された遠隔資源サービスに関連付けられた１つ以上のアクセス機構の構築を含み、
構成されたコンピュータネットワークの多重コンピュータノードへのアクセスを顧客に提供することを含む、コンピュータシステム。
【０１２９】
条項２７
設定可能なネットワークサービス管理者モジュールは、設定可能なネットワークサービスの一部であり、顧客に用いられるために構成されたコンピュータネットワークを設定するために、複数の遠隔の顧客に用いられるプログラム的インターフェースを提供し、構成されたコンピュータネットワーク各々の多重コンピュータノードが、構成されたコンピュータネットワークと共に用いる設定可能なネットワークサービスによって提供された複数のコンピュータノードのサブセットであり、複数の顧客の少なくとも一部の各々に、顧客により提供された設定情報が、プログラム的インターフェースを介してプログラム的に提供され、顧客用の構成されたコンピュータネットワークのための追加的な設定情報をさらに含み、追加的な設定情報が、構成されたコンピュータネットワークとともに利用するための複数の特定のネットワークアドレスを含み、および構成されたコンピュータネットワークの一部ではないコンピュータシステムへの、構成されたコンピュータネットワークの多重コンピュータノードのアクセスを防止するネットワークアクセス制限情報を含み、受信した設定情報に従った、顧客用の構成されたコンピュータネットワークの自動設定が、構成されたコンピュータネットワークの一部として用いられる多重コンピュータノードを自動的に選択すること、および多重コンピュータノード各々を、特定のネットワークアドレスの１つに関連させることを含む、条項２６のコンピュータシステム。
【０１３０】
条項２８
少なくとも一部の顧客の各々に対して、顧客に用いられるために構成および設定されたコンピュータネットワークが、顧客の遠隔プライベートコンピュータネットワークへのプライベートコンピュータネットワーク拡張であり、指定された遠隔資源サービスに関連付けられた、構成されたコンピュータネットワークの１つ以上のアクセス機構の構築は、構成されたコンピュータネットワークに対する複数の特定のネットワークアドレスの１つを、指定された遠隔資源サービス各々に指定することを含み、構成されたコンピュータネットワークの自動設定が、遠隔プライベートコンピュータネットワークと、プライベートコンピュータネットワーク拡張の多重コンピュータノードとの間におけるプライベートアクセスをさらに可能にし、構成されたコンピュータネットワークの多重コンピュータノードへのアクセスの顧客への提供は、構成されたコンピュータネットワークの多重コンピュータノードによって送信された通信の管理を含み、この管理は、１つ以上の多重コンピュータノードによって、指定されたネットワークアドレスの１つに送信された１つ以上の通信各々に対して、その遠隔資源サービスにより提供されたコンピュータ関連資源への、多重コンピュータノードのアクセスを可能にするために、構成されたコンピュータネットワークの外部における１つ以上のパブリックネットワークを介して、そのネットワークアドレスを指定された遠隔資源サービスへの受信した通信の転送を含む、条項２７のコンピュータシステム。
【０１３１】
条項２９
設定可能なネットワークサービス管理者モジュールが、コンピュータシステムにより実行されるソフトウェア命令を含む、条項２６のコンピュータシステム。
【０１３２】
条項３０
設定可能なネットワークサービス管理者モジュールが、遠隔の顧客に用いられるために構成されたコンピュータネットワークを自動的に提供するための手段から成り、複数の遠隔の顧客各々に対し、
顧客に用いられるために構成されたコンピュータネットワークを設定するための、顧客により提供された設定情報を受信することであって、構成されたコンピュータネットワークを介して、構成されたコンピュータネットワークの一部として提供された多重コンピュータノードにアクセス可能な１つ以上のネットワークアクセス可能な遠隔資源サービスの指定を含み、
受信した設定情報に従った、顧客用の構成されたコンピュータネットワークの自動的に設定することであって、構成されたコンピュータネットワークの一部であり、構築されたアクセス機構を介して、多重コンピュータノードから指定された遠隔資源サービスへの通信を送信可能になる方式により、指定された遠隔資源サービスに関連する、１つ以上のアクセス機構を構築することを含み、
構成されたコンピュータネットワークの多重コンピュータノードへのアクセスを顧客へ提供することを含む、条項２６のコンピュータシステム。
【０１３３】
特定の実施形態が例示の目的のために本明細書に記載されたが、本発明の精神および範囲から逸脱することなく、種々の修正が可能であることが、上述の内容から理解される。それ故、本発明は、添付の特許請求の範囲およびそこに列挙された要素を除いて限定されない。さらに、本発明の特定の態様が特定の請求項の形態で下記に示されたが、発明者は、任意の利用可能な請求項の形態における、本発明の種々の態様を意図する。例えば、本発明の一部の態様のみが、コンピュータ可読媒体に具現化されたものとしてここに列挙される場合があるが、他の態様も同様に具現化される場合がある。
【図１Ａ】
0005385404.tif 000002
【図１Ｂ】
0005385404.tif 000003
【図２】
0005385404.tif 000004
【図３】
0005385404.tif 000005
【図４Ａ】
0005385404.tif 000006
【図４Ｂ】
0005385404.tif 000007
【図５】
0005385404.tif 000008
【図６】
0005385404.tif 000009
【図７】
0005385404.tif 000010
【図８】
0005385404.tif 000011