特許第5740445号(P5740445)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アマゾン テクノロジーズ インコーポレイテッドの特許一覧

特許5740445遠隔サービスへのローカル安全なネットワークアクセスを提供する方法
<>
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000002
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000003
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000004
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000005
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000006
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000007
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000008
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000009
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000010
  • 特許5740445-遠隔サービスへのローカル安全なネットワークアクセスを提供する方法 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5740445
(24)【登録日】2015年5月1日
(45)【発行日】2015年6月24日
(54)【発明の名称】遠隔サービスへのローカル安全なネットワークアクセスを提供する方法
(51)【国際特許分類】
   H04L 12/70 20130101AFI20150604BHJP
   H04L 12/24 20060101ALI20150604BHJP
【FI】
   H04L12/70 D
   H04L12/24
【請求項の数】25
【全頁数】61
(21)【出願番号】特願2013-208312(P2013-208312)
(22)【出願日】2013年10月3日
(62)【分割の表示】特願2011-540834(P2011-540834)の分割
【原出願日】2009年12月8日
(65)【公開番号】特開2014-42306(P2014-42306A)
(43)【公開日】2014年3月6日
【審査請求日】2013年10月3日
(31)【優先権主張番号】12/332,216
(32)【優先日】2008年12月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】506329306
【氏名又は名称】アマゾン テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】エリック ジェイソン ブランドワイン
(72)【発明者】
【氏名】ダニエル ティー.コーン
(72)【発明者】
【氏名】アンドリュー ジェイ.ドーン
【審査官】 松崎 孝大
(56)【参考文献】
【文献】 特開2005−057693(JP,A)
【文献】 米国特許出願公開第2006/0253456(US,A1)
【文献】 米国特許第07457824(US,B1)
【文献】 国際公開第2007/126835(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
H04L 12/24
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のコンピュータシステム上の設定可能なネットワークサービスが、仮想ネットワークを設定する際に使用するための第1の設定情報を受信するステップであって、前記第1の設定情報は、前記設定可能なネットワークサービスによって提供されるプログラムインターフェースを介して受信され、かつ前記仮想ネットワークに関連付けられる遠隔プライベートコンピュータネットワークの複数のプライベートネットワークアドレスを特定する、受信するステップと、
前記設定可能なネットワークサービスが、前記仮想ネットワークを提供し、および前記提供された仮想ネットワークを、前記第1の設定情報に基づいて設定するステップであって、前記提供された仮想ネットワークは、各々が前記特定されたプライベートネットワークアドレスのうちの1つに関連付けられる複数のコンピュータノードを含む、設定するステップと、
前記設定可能なネットワークサービスが、前記提供されたプログラムインターフェースを介して、前記遠隔プライベートコンピュータネットワークの外部にあり、かつ前記提供された仮想ネットワークの外部にある指定されたサービスを特定する第2の設定情報を受信するステップと、
前記設定可能なネットワークサービスが、前記サービスを示しかつ通信を前記提供された仮想ネットワークの前記複数のコンピュータノードから前記サービスに転送可能にするローカルアクセス機構を、前記提供された仮想ネットワーク内に生成するステップであって、前記生成するステップは、前記提供された仮想ネットワーク内に前記サービスを示すために、前記特定されたプライベートネットワークアドレスのうちの1つを割り当てるステップを含む、生成するステップと、
前記設定可能なネットワークサービスが、前記提供された仮想ネットワークを介して、前記サービスに対して前記割り当てられた1つのプライベートネットワークアドレスに送信される通信を、前記サービスに転送するステップと
を備えたことを特徴とするコンピュータに実装された方法。
【請求項2】
前記設定可能なネットワークサービスが、前記提供された仮想ネットワークの前記複数のコンピュータノードのうちの1つまたは複数と、前記遠隔プライベートコンピュータネットワークの1つまたは複数の他のコンピュータシステムとの間の仮想プライベートネットワーク接続を設定するステップと、
前記設定可能なネットワークサービスが、前記仮想プライベートネットワーク接続を介して、前記提供された仮想ネットワークの前記1つまたは複数のコンピュータノードと、前記遠隔プライベートコンピュータネットワークの前記他のコンピュータシステムとの間の1つまたは複数の追加の通信を転送するステップと
をさらに備えたことを特徴とする請求項1に記載のコンピュータに実装された方法。
【請求項3】
前記サービスに対して前記割り当てられた1つのプライベートネットワークアドレスに送信される前記通信は、前記提供された仮想ネットワークの前記複数のコンピュータノードのうちの1つからのものであり、前記サービスへの前記通信の前記転送は、前記設定可能なネットワークサービスの1つまたは複数の内部ネットワークを介して発生することを特徴とする請求項2に記載のコンピュータに実装された方法。
【請求項4】
前記サービスに対して前記割り当てられた1つのプライベートネットワークアドレスに送信される前記通信は、前記遠隔プライベートコンピュータネットワークの前記他のコンピュータシステムからのものであり、前記方法は、前記通信を、前記設定された仮想プライベートネットワーク接続を介して、前記サービスへの前記通信の前記転送の前に受信するステップをさらに備えたことを特徴とする請求項2に記載のコンピュータに実装された方法。
【請求項5】
前記提供された仮想ネットワークは、前記設定可能なネットワークサービスによって、前記遠隔プライベートコンピュータネットワークへのネットワーク拡張として提供され、前記第1の設定情報は、前記提供された仮想ネットワークから前記遠隔プライベートコンピュータネットワークのプライベートネットワークアドレスに関連付けられない外部のコンピュータシステムへのアクセスを防ぐためのネットワークアクセス制限情報をさらに含むことを特徴とする請求項1に記載のコンピュータに実装された方法。
【請求項6】
前記遠隔プライベートコンピュータネットワークの1つまたは複数のプライベートネットワークアドレスの指定を受信するステップと、
前記1つまたは複数の特定されたプライベートネットワークアドレスを使用するように、前記提供された仮想ネットワークを設定するステップであって、前記割り当てられた1つのプライベートネットワークアドレスは、前記指定されたプライベートネットワークアドレスのうちの1つを設定するステップと
をさらに備えたことを特徴とする請求項1に記載のコンピュータに実装された方法。
【請求項7】
前記設定可能なネットワークサービスが、前記提供されたプログラムインターフェースを介して、前記遠隔プライベートコンピュータネットワークの外部にあり、かつ前記提供された仮想ネットワークの外部にある遠隔リソースサービスである第2のサービスを特定する第3の設定情報を受信するステップと、
前記設定可能なネットワークサービスが、前記第2のサービスを示しかつ通信を前記第2のサービスに第2のローカルアクセス機構を介して転送可能にする前記第2のローカルアクセス機構を、前記提供された仮想ネットワーク内に生成するステップであって、
をさらに備えたことを特徴とする請求項1に記載のコンピュータに実装された方法。
【請求項8】
前記サービスは、プログラム実行サービスまたはデータ保存サービスであることを特徴とする請求項1に記載のコンピュータに実装された方法。
【請求項9】
前記サービスは、コンピュータ関連リソースをクライアントに提供し、前記方法は、前記サービスへの前記通信の前記転送の後に、前記サービスから1つまたは複数の提供されたコンピュータ関連リソースへのアクセスを受信するステップをさらに備えたことを特徴とする請求項1に記載のコンピュータに実装された方法。
【請求項10】
前記提供されたプログラムインターフェースは、API(アプリケーションプログラムインターフェース)を含み、前記第2の設定情報の前記受信は、前記遠隔プライベートコンピュータネットワークに関連付けられるクライアントによる前記APIの起動に基づくことを特徴とする請求項1に記載のコンピュータに実装された方法。
【請求項11】
プライベート仮想ネットワークを、設定可能なネットワークサービスにおいて、前記設定可能なネットワークサービスの顧客に対して設定し、前記プライベート仮想ネットワークは、遠隔プライベートコンピュータネットワークの複数のプライベートネットワークアドレスに関連付けられる複数のコンピュータノードを含み、
前記プライベート仮想ネットワークに対する設定情報を、提供されたプログラムインターフェースを介して受信し、前記受信された設定情報は、前記遠隔プライベートコンピュータネットワークの外部にあり、かつ前記プライベート仮想ネットワークの外部にあるサービスを特定し、
前記プライベート仮想ネットワーク内に前記サービスを示すために、前記遠隔プライベートコンピュータネットワークのプライベートネットワークアドレスを少なくとも割り当てることによって前記サービスを示すローカルアクセス機構を、前記プライベート仮想ネットワーク内に設定し、
前記サービスに、前記割り当てられたプライベートネットワークアドレスに送信される通信を転送する
ようにコンピュータシステムを設定する記憶されたコンテンツを有する非一時的コンピュータ可読媒体。
【請求項12】
前記非一時的コンピュータ可読媒体は、
前記設定可能なネットワークサービスと、前記遠隔プライベートコンピュータネットワークの1つまたは複数のコンピュータシステムとの間の仮想プライベートネットワーク接続を設定し、
前記仮想プライベートネットワーク接続を介して、前記プライベート仮想ネットワークの前記コンピュータノードと、前記遠隔プライベートコンピュータネットワークの前記1つまたは複数のコンピュータシステムとの間の1つまたは複数の追加の通信を転送する
ように前記コンピュータシステムをさらに設定する記憶されたコンテンツを含むことを特徴とする請求項11に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記受信された設定情報は、前記プライベート仮想ネットワークから前記遠隔プライベートコンピュータネットワークのプライベートネットワークアドレスに関連付けられない外部のコンピュータシステムへのアクセスを防ぐためのネットワークアクセス制限情報をさらに含むことを特徴とする請求項11に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記受信された設定情報は、前記遠隔プライベートコンピュータネットワークの1つまたは複数のプライベートネットワークアドレスをさらに特定し、前記割り当てられたプライベートネットワークアドレスは、前記特定されたプライベートネットワークアドレスのうちの1つであり、前記非一時的コンピュータ可読媒体は、前記1つまたは複数の特定されたプライベートネットワークアドレスを、前記プライベート仮想ネットワークとともに使用するように前記コンピュータシステムをさらに設定する記憶されたコンテンツを含むことを特徴とする請求項11に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記非一時的コンピュータ可読媒体は、
前記提供されたプログラムインターフェースを介して、前記遠隔プライベートコンピュータネットワークの外部にあり、かつ前記提供された仮想ネットワークの外部にある1つまたは複数の追加のサービスを特定する追加の設定情報を受信し、
前記追加のサービスの各々に対して、前記追加のサービスを示す個別のローカルアクセス制限情報を、前記プライベート仮想ネットワーク内に生成し、前記生成されたローカルアクセス制限情報の各々は、前記複数のコンピュータノードのいずれにも関連付けられない、前記遠隔プライベートコンピュータネットワークの個別の割り当てられたプライベートネットワークアドレスを有する
ように前記コンピュータシステムをさらに設定する記憶されたコンテンツを含むことを特徴とする請求項11に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記サービスはデータ保存サービス、プログラム実行サービス、または非同期式メッセージパッシングサービスであることを特徴とする請求項11に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記プライベート仮想ネットワークは、前記遠隔プライベートコンピュータネットワークへの拡張となるべく設定されることを特徴とする請求項11に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記提供されたプログラムインターフェースは、API(アプリケーションプログラムインターフェース)を含み、前記設定情報の前記受信は、遠隔コンピュータシステムによる前記APIの起動に基づくことを特徴とする請求項11に記載の非一時的コンピュータ可読媒体。
【請求項19】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサのうちの少なくとも1つによって実行されると、
遠隔コンピュータネットワークの複数のプライベートネットワークアドレスに関連付けられる複数のコンピュータノードを含むローカル仮想ネットワークを設定し、
前記遠隔コンピュータネットワークに関連付けられるクライアントに、前記ローカル仮想ネットワークへのアクセスを提供し、
設定情報を、前記ローカル仮想ネットワークに対する前記クライアントから、提供されたプログラムインターフェースを介して受信し、前記受信された設定情報は、前記遠隔コンピュータネットワークの外部にあり、かつ前記ローカル仮想ネットワークの外部にある遠隔リソースサービスの指定を含み、
前記設定情報の受信に応答して、前記指定された遠隔リソースサービスを示すローカルアクセス機構を、前記ローカル仮想ネットワーク内に設定し、前記ローカルアクセス機構の前記設定は、前記遠隔コンピュータネットワークの追加のプライベートネットワークアドレスを、前記指定された遠隔リソースサービスに関連付けることを含み、
前記指定された遠隔リソースサービスに、前記ローカル仮想ネットワークを介して前記関連付けられた追加のプライベートネットワークアドレスに送信される通信を転送する
ように設定される設定可能なネットワークサービス管理者モジュールと
を備えたことを特徴とする設定されたコンピュータシステム。
【請求項20】
前記設定可能なネットワークサービス管理者モジュールは、
前記ローカル仮想ネットワークの前記複数のコンピュータノードと、前記遠隔コンピュータネットワークの1つまたは複数のコンピュータシステムとの間の仮想プライベートネットワーク接続を設定し、
前記設定された仮想プライベートネットワーク接続を介して、前記ローカル仮想ネットワークの前記コンピュータノードと、前記遠隔コンピュータネットワークの前記1つまたは複数のコンピュータシステムとの間の1つまたは複数の追加の通信を転送する
ようにさらに設定されることを特徴とする請求項19に記載のコンピュータシステム。
【請求項21】
前記遠隔コンピュータネットワークは、前記クライアントのプライベートネットワークであり、前記ローカル仮想ネットワークは、前記遠隔コンピュータネットワークに対するプライベートネットワーク拡張であり、前記受信された設定情報は、前記ローカル仮想ネットワークから前記遠隔コンピュータネットワークのプライベートネットワークアドレスに関連付けられない外部のコンピュータシステムへのアクセスを防ぐためのネットワークアクセス制限情報をさらに含むことを特徴とする請求項19に記載のコンピュータシステム。
【請求項22】
前記関連付けられた追加のプライベートネットワークアドレスは、前記ローカル仮想ネットワークの前記複数のコンピュータノードのいずれにも、または前記遠隔コンピュータネットワークのいずれの他のコンピュータシステムにも関連付けられないことを特徴とする請求項21に記載のコンピュータシステム。
【請求項23】
前記ローカル仮想ネットワークは、第1の時間時に設定され、前記ローカル仮想ネットワークへの前記アクセスは、前記第1の時間後の第2の時間時に、前記クライアントに提供され、前記設定情報は、前記ローカル仮想ネットワークが使用中である間、前記第2の時間後の第3の時間時に受信されることを特徴とする請求項19に記載のコンピュータシステム。
【請求項24】
前記遠隔リソースサービスは、データ保存サービス、プログラム実行サービス、および非同期メッセージパッシングサービスを含むグループの少なくとも1つに対するコンピュータ関連リソースに関連付けられることを特徴とする請求項19に記載のコンピュータシステム。
【請求項25】
前記提供されたプログラムインターフェースは、API(アプリケーションプログラムインターフェース)を含み、前記設定情報の前記受信は、前記APIの起動によって発生することを特徴とする請求項19に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【0001】
多くの会社および他の組織は、例えば、(例えば、ローカルネットワークの一部として)同一場所に配置された、またはその代わりに、(例えば、1つ以上のプライベートまたはパブリック中間ネットワークを経由した接続により)複数の異なる地理的位置に配置されたコンピュータシステムを用いて、それらの稼働を支援する多数のコンピュータシステムに相互接続するコンピュータネットワークを稼働している。例えば、相当な数の相互接続したコンピュータシステムを収容するデータセンターが一般的となっている。このようなデータセンターとして、例えば、単一の組織の利益となり、かつそれにより稼働されるプライベートデータセンター、および客にコンピュータ資源を提供するためのビジネスとして事業団体により稼働されるパブリックデータセンター等が挙げられる。一部のパブリックデータセンターのオペレータは、種々の客が所有するハードウェア用のネットワークアクセス、電力、および安全な取付設備を提供し、一方、他のパブリックデータセンターのオペレータは、それらの客に用いられるための、利用可能なハードウェア資源をも含む「フルサービス」の設備を提供する。しかしながら、標準的なデータセンターの規模および範囲が増大するにつれて、物理的なコンピュータ資源の提供、運営および管理タスクは益々複雑となる。
【0002】
商品ハードウェア用の仮想技術の出現により、多様な要求を有する多くの客用の大規模なコンピュータ資源の管理に関連したいくつかの恩恵がもたらされる。これにより、種々のコンピュータ資源が、複数の客によって効率的かつ安全に共有されることが可能になる。例えば、VMWare、XEN、またはUser−Mode Linux(登録商標)によって提供されるもの等の仮想技術では、単一の物理的なコンピュータマシンを、このような仮想マシン各々が、ユーザが唯一のオペレータ、および所与のハードウェアコンピュータ資源の管理人であるとユーザに錯覚させるような異なる論理コンピュータシステムとして機能するソフトウェアシミュレーションとし、一方、種々の仮想マシン間のアプリケーションの隔離および安全をさらに提供するとともに、各ユーザがその単一の物理的なコンピュータマシンによりホストされた1つ以上の仮想マシンを提供することによって複数のユーザ間で共有することができる。さらに、一部の仮想技術は、複数の異なる物理的なコンピュータシステムにわたる複数の仮想プロセッサを有する単一の仮想マシン等の、1つ以上の物理的な資源にわたる仮想資源を提供できる。
【図面の簡単な説明】
【0003】
図1A】プライベートコンピュータネットワークを構成および設定する遠隔の顧客を含む、相互作用の例示的な実施形態を示すネットワーク図である。
図1B】プライベートコンピュータネットワークを構成および設定する遠隔の顧客を含む、相互作用の例示的な実施形態を示すネットワーク図である。
図2】顧客にコンピュータネットワークを提供するのに用いられる、相互接続したコンピュータシステムの例示的な実施形態を示すネットワーク図である。
図3】遠隔の顧客に用いられるコンピュータネットワークを提供するシステムの実施形態を実行するのに適した例示的なコンピュータシステムを示すブロック図である。
図4A】設定可能なネットワークサービス管理者ルーティンの例示的な実施形態のフローチャートを示す図である。
図4B】設定可能なネットワークサービス管理者ルーティンの例示的な実施形態のフローチャートを示す図である。
図5】ノード通信管理者ルーティンの例示的な実施形態のフローチャートを示す図である。
図6】外部通信管理者ルーティンの例示的な実施形態のフローチャートを示す図である。
図7】遠隔資源サービスアクセスルーティンの例示的な実施形態のフローチャートを示す図である。
図8】VPN構成実現ルーティンの例示的な実施形態のフローチャートを示す図である。
【発明を実施するための形態】
【0004】
例えば、遠隔のユーザに利用可能である設定可能なネットワークサービスの制御に基づいた、コンピュータネットワークへのアクセスをユーザに提供するための技術が記載される。少なくとも一部の実施形態では、遠隔のユーザは、ユーザに用いられるためのコンピュータネットワークを構成および設定するために。設定されたコンピュータネットワークは、設定可能なネットワークサービスによって提供され、設定可能なネットワークサービスの制御により、またはその制御の基で保持された多重コンピュータノードを含むことによって、パブリックネットワークを通じて設定可能なネットワークサービスと通信してもよい。このようなコンピュータネットワークの設定後、ユーザは、設定可能なネットワークサービスによってユーザに提供されたコンピュータネットワークを備える1つ以上の遠隔地から通信可能である。これにより例えば、提供されたコンピュータネットワークのコンピュータノードにおけるプログラムを実行する。少なくとも一部の実施形態では、設定可能なネットワークサービスは、設定可能なネットワークサービスのユーザは、設定可能なネットワークサービスにより提供される少なくとも一部の機能のための設定可能なネットワークサービスに料金を支払う客となるような、有料サービスであってもよい。さらに、少なくとも一部の実施形態では、記載した技術の一部または全ては、下により詳細に記載するように、任意選択的に他の通信管理者モジュールと共に、設定可能なネットワークサービス管理者モジュールの実施形態によって自動的に実行される。
【0005】
少なくとも一部の実施形態では、設定可能なネットワークサービスによって提供されたコンピュータネットワークの少なくとも一部は、提供されたコンピュータネットワークがそのユーザの利益となるように構成および設定された(または、他者により、アクセスがその他者のために明確に設定された)、設定可能なネットワークサービスのユーザによってのみアクセス可能なプライベートコンピュータネットワークである。例えば、設定可能なネットワークサービスは、設定可能なネットワークサービスの顧客であるユーザに、顧客の1つ以上の遠隔コンピュータシステムと、提供されたコンピュータネットワークとの間における、VPN(「仮想プライベートネットワーク」)接続または他の安全な接続を有効にすることによるなど、その顧客用に対して提供されたコンピュータネットワークへの安全なプライベートアクセスを提供してもよく、または、プライベート、かつ安全な方式にて、提供されたコンピュータネットワークに顧客が遠隔通信可能となる他の安全および/または認証技術を使用してもよい。さらに、少なくとも一部の実施形態では、設定可能なネットワークサービスによって提供されたコンピュータネットワークの少なくとも一部は、顧客の既存のコンピュータネットワークへの拡張となるように、その顧客によって各々が構成および設定される。その例として、その顧客の既存の遠隔プライベートコンピュータネットワークへの拡張となるプライベートコンピュータネットワーク(例えば、企業体である顧客の遠隔の企業ネットワーク等)が挙げられる。このような実施形態では、既存のコンピュータネットワークと、提供されている新規のコンピュータネットワーク拡張との間の安全なプライベートアクセスは、1つ以上のVPN接続または他のプライベート接続を用いて同様に設定可能となる。設定可能なネットワークサービスの実施形態によって提供されたコンピュータネットワークへの顧客によるアクセスの構築に関連する追加的な詳細は、下記に含まれる。
【0006】
設定可能なネットワークサービスの顧客は、種々の実施形態における種々の方法にて、設定可能なネットワークサービスによって提供されたコンピュータネットワークを構成および設定してもよい。少なくとも一部の実施形態では、設定可能なネットワークサービスは、顧客のコンピュータシステムを設定可能なネットワークサービスとプログラムで通信可能にする1つ以上のAPI(「アプリケーションプログラミングインターフェース」)を提供する。これにより、設定可能なネットワークサービスにより提供されたコンピュータネットワークの構成、設定、および使用開始における一部または全ての行為が実行される。一方、少なくとも一部の実施形態では、設定可能なネットワークサービスの顧客であるユーザは、設定可能なネットワークサービスと双方向に通信してもよく、このようなAPIを利用したこのような行為の実行に加えてか、その代わりとしてかにかかわらずに、このような行為(例えば、GUIもしくはグラフィカルユーザインターフェース、または設定可能なネットワークサービスによって提供された他のコンソールによって)の一部またはすべてを実行する。一部の実施形態では、ユーザに利用可能なGUIは、代替的にユーザに利用可能である内在するAPIに基づいてもよく、一方他の実施形態では、GUIは、他の方式にて実施されてもよい。さらに、顧客のコンピュータデバイスと設定可能なネットワークサービスとの間の相互作用は、例えば設定可能なネットワークサービスのメッセージに基づくAPIに従って、顧客のコンピュータデバイスと設定可能なネットワークサービスとの間に送信された電子メッセージ(電子メールのメッセージ等)に少なくとも部分的に基づいてもよい。
【0007】
例えば、少なくとも一部の実施形態では、顧客は、設定可能なネットワークサービスの実施形態において通信してもよく、1つ以上の下記の非排他的なリスト等の種々の種類の情報を選択的に含む設定情報と共に、顧客用に提供されるコンピュータネットワーク用の設定情報を特定する。このリストとして、提供されたコンピュータネットワークの多重コンピュータノードに指定される、複数の特定のネットワークアドレス、提供されたコンピュータネットワーク用の特定のネットワークトポロジー情報、および提供されたコンピュータネットワークに関する特定のネットワークアクセス制限が含まれる。複数の特定のネットワークアドレスは、例えば1つ以上のネットワークアドレスの範囲を含んでもよい。提供されているコンピュータネットワークが顧客の遠隔プライベートコンピュータネットワークの拡張である場合には、ネットワークアドレスは、遠隔プライベートコンピュータネットワークに用いられる仮想および/またはプライベートネットワークアドレスのサブセットに対応する場合がある。特定のネットワークトポロジー情報は、例えば、グループ化されるか、他の方法により共通の相互通信特性を共有する、提供されたコンピュータネットワークのコンピュータノードのサブセットを指定する場合がある。これは例えば、提供されたコンピュータネットワークの一部(例えば、ルータ、スイッチ等)となる、1つ以上のネットワーク装置を特定することにより、この情報が、特有の特定のネットワークアドレスを有するコンピュータノードを管理するか、またはそれと関連付けられる。または、提供されたコンピュータネットワークのサブネット、または提供されたコンピュータネットワークのコンピュータノードの他のグループ分けを指定することによる。特定のネットワークアクセス制限情報は、例えば、1つ以上の提供されたコンピュータネットワークの、他のコンピュータノードが互いに通信してもよい、該コンピュータノード、および/または該コンピュータノードとへ、および/または該コンピュータノードから可能な通信の種類のコンピュータノードの各々について示してもよく、これは、提供されたコンピュータノードが、提供されたコンピュータネットワークの外部における任意のコンピュータノードと通信することが可能であるかどうかを含む(または、提供されたコンピュータネットワークが、既存の他のコンピュータネットワークの拡張である場合には、提供されたコンピュータネットワークのコンピュータノードが、それが属する他のコンピュータネットワークの外部における任意のコンピュータノードと通信可能であるかどうかである。)。追加的な詳細は、下記に含まれる。
【0008】
さらに、少なくとも一部の実施形態では、顧客にコンピュータネットワークを提供するために、設定可能なネットワークサービスに用いられるコンピュータノードは、物理的なコンピュータシステムおよび/または1つ以上の物理的なコンピュータシステム上に各々がホストされた仮想マシン等の種々の形態を有し得る。例えば、一部の実施形態では、設定可能なネットワークサービスは、1つ以上の地理的位置における1つ以上のデータセンター等において、顧客に提供されたコンピュータネットワークにおいて利用可能である、設定可能なネットワークサービスによって提供された多数の コンピュータノードを含んでもよい。さらに、少なくとも一部の実施形態では、設定可能なネットワークサービスによって提供されたコンピュータノードの一部または全ては、1つ以上の中間物理的ネットワークによって相互接続される。また、顧客に提供されたコンピュータネットワークは、サブストレートネットワークとして中間物理的ネットワークを用いることによって、中間物理的ネットワークを通じてオーバーレイされた仮想(または、「論理」)ネットワークでもよい。また、少なくとも一部の実施形態では、コンピュータノードの少なくとも一部は、複数の客またはプログラム実行サービスの他のユーザの代わりに複数のプログラムを実行するプログラム実行サービス(すなわち、「PES」)によって利用されてもよい。コンピュータノードおよび内在するコンピュータネットワークに関連する追加的な詳細は下記に含まれ、顧客への仮想ネットワークの提供およびプログラム実行サービスの提供の例示的な実施形態に関連する追加的な詳細は、2006年3月31日に出願された米国出願番号11/394595(代理人整理番号120137.524)である名称「Managing Communications Between Computing Nodes」、2006年3月31日に出願された米国出願番号11/395463(代理人整理番号120137.525)である名称「Managing Execution of Programs by Multiple Computing Systems」、2007年3月27日に出願された米国出願番号11/692038(代理人整理番号120137.554)である名称「Configuring Intercommunications Between Computing Nodes」、2008年3月31日に出願された米国出願番号12/060074(代理人整理番号120137.576)である名称「Configuring Communications Between Computing Nodes」、および2007年6月18日に出願された米国出願番号11/764739(代理人整理番号120137.555)である名称「Providing Enhanced Access To Remote Services」に含まれ、その各々の全ての内容は参照により本明細書中に組み込まれる。
【0009】
一部の実施形態では、顧客は、提供されたコンピュータネットワークから遠く離れた1つ以上の他のネットワークアクセス可能なサービスへのアクセスを提供するために、設定可能なネットワークサービスによって提供されたコンピュータネットワークをさらに設定してもよい。これには例えば、インターネットもしくは他のパブリックネットワークを通じてアクセス可能である、または他の方法によって提供されたコンピュータネットワークの一部ではなく外部の、他の遠隔ネットワークアクセス可能なサービスが含まれる。一部の実施形態では、少なくとも一部のこのような遠隔サービスは、設定可能なネットワークサービスと提携できる(例えば、設定可能なネットワークサービスまたは提携事業体のオペレータによって提供されるもの。また、設定可能なネットワークサービスによって他の顧客に提供されているコンピュータネットワークを経由して等の、設定可能なネットワークサービスの別の顧客によって提供されるもの等)。また、一部の実施形態では、少なくとも一部のこのような遠隔サービスは、代わりに、設定可能なネットワークサービスとは独立して存在してもよい。このような他の遠隔サービスは、1つ以上の種類のコンピュータ関連資源をネットワークアクセスに提供するサービス(例えば、保存データ資源へのアクセスを提供する保存サービス、メッセージ待ち行列資源または他の保存メッセージ資源へのアクセスを提供するメッセージサービス、保存データベース資源へのアクセスを提供するデータベースサービス、プログラム実行資源へのアクセスを提供するプログラム実行サービス等)を含む、種々の実施形態における種々の形態を有し得る。これにより、他の遠隔サービスは、遠隔コンピュータシステムによって用いられ、または他の方法により、情報もしくは機能または他の資源の使用を提供する(例えば、株価見積情報資源または検索クエリ結果資源を提供するサービス、写真共有機能資源またはソーシャルネットワーキング能力資源を提供するサービス等)。場合によっては、設定可能なネットワークサービスの実施形態では、データセンターまたは他の地理的位置における複数のコンピュータノードが提供されてもよく、かつ異なる顧客に異なるコンピュータネットワークを提供するように、それらのコンピュータノードのサブセットが使用されてもよい(例えば、各提供されたコンピュータネットワークが、共通のサブストレートネットワークを共有する異なる仮想ネットワークである)。このような状況では、その地理的位置に提供された他のコンピュータネットワークを用いた他の顧客によって提供された1つ以上のネットワークアクセス可能な遠隔サービスに、一人の顧客がアクセスできるように、その顧客が提供されたコンピュータネットワークを設定してもよい。これは例えば、それらの遠隔資源が、同一の地理的位置における他のコンピュータノードによって物理的に提供されたことに、その顧客が認識することなく達成される。
【0010】
少なくとも一部の実施形態では、顧客は、その顧客が、その提供されたコンピュータネットワーク用の種々の作用を提供するように設定することができるアクセス機構と共に、特定の資源サービスにアクセスするための機構を含むように、提供されたコンピュータネットワークを設定してもよい。1つの特定の実施例として、一部の実施形態では、複数の関連する仮想ネットワークアドレスを有する提供された仮想コンピュータネットワークは、特定の遠隔資源サービスを示すように、それらの仮想ネットワークアドレスの1つ(または、より多く)を指定してもよい。これにより、コンピュータノードまたは提供されたコンピュータネットワークの他の参加者は、提供されたコンピュータネットワークにおいて局所的に用いられる代表的な指定されたネットワークアドレスを用いて、提供されたコンピュータネットワークの外部における遠隔資源サービスと通信してもよい。このようにして、提供されたコンピュータネットワークの外部への通信を防止する(例えば、インターネットまたは1つ以上の他のパブリックネットワークを通るような通信を防止する)ように、ネットワークアクセス制限を用いて設定された、提供されたコンピュータネットワークでさえ、提供されたコンピュータネットワークの一部であるこのように設定されたアクセス機構によって、特定の外部の遠隔資源サービスに通信可能となるように設定される場合がある。
【0011】
さらにまた、少なくとも一部の実施形態では、種々の技術が、提供されたコンピュータネットワークの設定されたアクセス機構により、提供されたコンピュータネットワークから遠隔資源サービスへの、このような通信のための改善された安全性を提供するために用いられてもよい。例えば、少なくとも一部の実施形態では、特定の遠隔資源サービスは、インターネットまたは他のパブリックネットワークを経由して(例えば、1つ以上のパブリックネットワークアドレスおよび関連するドメイン名によって)、ユーザに利用可能となる公的にアクセス可能なインターフェースを有してもよい。しかしながら、設定可能なネットワークサービスに用いられるサブストレートネットワークから、相互接続するコンピュータノードまで直接にアクセス可能なインターフェースがさらに実施されてもよい。これは例えば、特定の遠隔資源サービスが、設定可能なネットワークサービスとして同一オペレータによって提供されるか、他の方法により設定可能なネットワークサービスと提携する場合に実施される。このような直接にアクセス可能なインターフェースが、特定の遠隔資源サービス用のサブストレートネットワークにおいて実施される場合には、設定可能なネットワークサービスの1つ以上の提供されたコンピュータネットワークは、各々、その遠隔資源サービスを指定して、遠隔資源サービスの遠隔から公的にアクセス可能なインターフェースではなく、サブストレートネットワークにおいて実施されたそのインターフェースと直接通信する、その遠隔資源サービス用に設定されたアクセス機構を有してもよい。少なくとも一部のこのような実施形態および状況では、その遠隔資源サービスは、設定可能なネットワークサービスにおいて局所的に用いられる方式にて(例えば、設定可能なネットワークサービスの1つ以上のコンピュータノードが、その局所的な機能を実施するのに用いられる場合)、少なくとも一部の顧客の要求用の遠隔資源サービスの機能の一部または全ての提供を、しかるべく選択するかもしれない。一方、他の実施形態および状況では、遠隔資源サービスは、安全な方式による遠隔資源サービスの遠隔地への、1つ以上のパブリックネットワークを通じた設定可能なネットワークサービスのサブストレートネットワーク間の通信を管理することによって、少なくとも一部のこのような顧客の要求用の機能の一部または全てを提供してもよい。代替的に、少なくとも一部の実施形態では、設定可能なネットワークサービスは、少なくとも一部の遠隔資源サービス用の追加的な行為を実行する場合があり、同様の方式により、1つ以上のパブリックネットワーク上の設定可能なネットワークサービスから、遠隔資源サービスの遠隔地までの安全な通信を提供する。これは例えば、遠隔資源サービスにアクセス可能な方式にて通信を暗号化すること、および/または信頼できる情報源からのものとして通信を認証すること等によって達成される。提供されたコンピュータネットワークから遠隔資源へのアクセスに関連する追加的な詳細は、下記に含まれる。
【0012】
さらにまた、少なくとも一部のこのような実施形態では、顧客用の提供されたコンピュータネットワークは、その顧客に対応するサブセット等の、ネットワークアクセス可能な遠隔資源サービスにより提供されたコンピュータ関連資源の特定のサブセットへのアクセスを受信するように設定されてもよい。一実施例として、遠隔資源サービスは、その提供された資源を、異なるアクセス権を有し、独立して参照される異なるグループに分割する異なるネームスペースを用いてもよい。これにより、異なるネームスペースにおける異なる資源は、同一のローカルネームまたは他の識別子を有し得るが、それらのネームスペースに基づき、かつ特定の顧客に対応する特定のネームスペースにより独立して参照される。このような場合に、顧客用の提供されたコンピュータネットワークは、その遠隔資源サービスの特定のネームスペースに自動的に対応するように各々が設定される特定の遠隔資源サービスにアクセスするための1つ以上の機構を含んでもよい。これにより、提供されたコンピュータネットワークのコンピュータノードは、その顧客に特定の対応するネームスペース内の資源にアクセスするために設定されたアクセス機構を用いてもよい。さらにまた、少なくとも一部の実施形態では、提供されたコンピュータネットワークのコンピュータノードが、設定された機構が対応するネームスペースを認識しない場合がある。これにより、コンピュータノードは、ネームスペースの実際の指定が無くとも、ネームスペースのコンテクスト内の対象となる資源におけるネームまたは他の識別子を指定する遠隔資源サービスに、要求または他のメッセージを送信する場合がある。このような場合に、設定されたアクセス機構は、メッセージを自動的に修正または翻訳できる。これにより、指定されたネームまたは他の識別子は、メッセージを送信したコンピュータノードに任意選択的に透過的となる修正または翻訳と共に、設定されたアクセス機構に対応するネームスペースに関連付けられる。
【0013】
提供されたコンピュータネットワークの設定、および遠隔資源サービスを示すアクセス機構は、種々の方法により実行され得る。例えば、場合によっては、顧客は、遠隔資源サービス内の顧客の既存のネームスペースを特定できる。これは例えば、顧客が以前に保存した、または他の方法により利用した特定の資源において利用したネームスペースである。代替的に、他の実施形態では、設定可能なネットワークサービスは、例えば、新規のネームスペースを構成するように遠隔資源サービスと通信することによって、提供されたコンピュータネットワークからアクセスされた新規の資源用の遠隔資源サービス内の新規のネームスペースの利用を自動的に起動する場合がある。遠隔資源サービスとのこのような相互作用は、例えば、提供されたコンピュータネットワークを顧客が構成および設定中、または後(例えば、提供されたコンピュータネットワークにおけるコンピュータノードが、設定されたアクセス機構を通じた遠隔資源サービスへのアクセスを最初に試みるとき)などのような様々なときに実行されてもよい。さらにまた、少なくとも一部の実施形態および状況では、設定可能なネットワークサービスは、提供されたコンピュータネットワークに関連付けられた一意の識別子を生成してもよく、新規のネームスペースを照会するためにその識別子を使用してもよい。一方、他の実施形態では、遠隔資源サービスは、このような識別子または構成された新規のネームスペースの他の指定を提供してもよい。いずれの場合でも、顧客および提供されたコンピュータネットワークのコンピュータノードは、新規の自動的に起動されるネームスペース、および/または新規のネームスペースを照会するように設定可能なネットワークサービスによって用いられる一意の識別子を任意選択的に認識しない。代替的に、一部の実施形態では、識別子が新規のネームスペースを照会する設定可能なネットワークサービスに以後用いられること、または他の方式の代わりに用いられことを顧客が認識するかどうかにかかわらず、顧客は、設定可能なネットワークサービスにより顧客に提供されたコンピュータネットワークに関連するように、設定可能なネットワークサービスに用いられる識別子を特定してもよい。さらにまた、少なくとも一部の実施形態では、例えば、顧客が単一の提供されたコンピュータネットワークを有する場合には、顧客に提供されたコンピュータネットワークに関連付けられた識別子は、顧客に関連する識別子でもよい。一方、他の実施形態では、提供されたコンピュータネットワークの識別子は、いかなる顧客の特定の識別子とも異なる。ネームスペースの使用に関連する追加的な詳細は、下記に含まれる。
【0014】
さらに、少なくとも一部のこのような実施形態では、顧客用の提供されたコンピュータネットワークが特定の遠隔資源サービスから資源にアクセスするために用いるアクセス機構は、提供されたコンピュータネットワークから受信した通信の認証または検証において遠隔資源サービスを支援するように設定されてもよい。例えば(例えば、同一の顧客であっても、別のロケーションからの特定の資源へのアクセスを防止するために)、通信が特定のロケーションから送信されたことを検証する。例えば、少なくとも一部の遠隔資源サービスは、遠隔資源サービスによって提供された資源各々が、1つ以上の関連するアクセスコントロールインジケータ(例えば、ネームまたは他のテキスト識別子、数値識別子、タグまたは他のアクセスキー、認証情報等)を有することを許可または要求してもよい。これにより、このような資源は、リクエスタがそれらの関連するインジケータの全てを供給する場合に限り、外部のリクエスタによってアクセスされ得る。このような遠隔資源サービスにおいて、顧客用の提供されたコンピュータネットワークのコンピュータノードに用いられるアクセスコントロールインジケータの1つは、その遠隔資源サービスを用いるその顧客用の客識別子等の、その顧客に対応する識別子であってもよい。顧客用のその単一の客識別子が資源に関連する場合にのみ、次に、その顧客は、同一の単一の客識別子を供給することによって顧客の他の遠隔コンピュータシステムからその資源にアクセスできる。このような資源は、例えば、顧客からの要求に応答して構成されるか、他の方法によりアクセスされてもよく、かつその顧客に(例えば、一時的に)関連付けられてもよい。
【0015】
しかしながら、少なくとも一部の実施形態では、顧客用の提供されたコンピュータネットワークが特定の遠隔資源サービスからの資源にアクセスするために利用するような設定されたアクセス機構は、1つ以上の他の追加的なアクセスコントロールインジケータを含むために、遠隔資源サービスに送信された通信を修正するように設定されてもよい。このような他の追加的なアクセスコントロールインジケータは、例えば、設定可能なネットワークサービスによって自動的に生成された、提供されたコンピュータネットワークに対応する識別子を含んでもよい。また、少なくとも一部の実施形態では、顧客および/または提供されたコンピュータネットワークのコンピュータノードは、用いられた特定の追加的なアクセスコントロールインジケータを認識しないか、または、任意のこのような追加的なアクセスコントロールインジケータの存在および利用を認識さえしない。1つ以上の追加的なアクセスコントロールインジケータが顧客に既知でない場合には、顧客は、その資源へのアクセス要求において、このような資源に関連する全てのインジケータを他の方法で供給しないため、その結果、顧客は、その設定されたアクセス機構を通じて提供されたコンピュータネットワーク以外からそれらの資源にアクセスしないかもしれない。それ故、上述のように、このような追加的なアクセスコントロールインジケータは、資源へのアクセス要求の源またはロケーションを指定するものとして、遠隔資源サービスによって用いられてもよい。これにより、他のロケーションからの要求は、資源への所定のアクセスとはならない。代替的に、他のロケーションからの要求は、例えば、資源用のアクセスコントロールインジケータの全てが供給された場合にのみ、資源への書き込み、または他の修正アクセスを可能にするように資源を設定するように、しかしながら、顧客の特定の識別子が供給された場合に、別のロケーションからの顧客によるなどのように、いかなるアクセスコントロールインジケータ等をも供給することのない何者かにより、他の条件における資源への読み込みまたは他のアクセスを可能にする、このような資源への所定の異なるアクセスであってもよい。さらに、このような追加的なアクセスコントロールインジケータは、例えば、自動的に生成されたランダム英数字インジケータ、提供されたコンピュータネットワークに関連する実際の地理的位置における指定等の種々の形態を有してもよい。
【0016】
ネームスペースを用いたのと同様の方式において、1つ以上のこのような追加的なアクセスコントロールインジケータを用いるための、提供されたコンピュータネットワーク用のアクセス機構の設定は、種々の方法により実行されてもよい。例えば、一部の実施形態では、顧客は、遠隔資源サービスへの設定されたアクセス機構に用いられる提供されたコンピュータネットワークと関連付けられた1つ以上の追加的なインジケータを特定してもよい。代替的に、他の実施形態では、設定可能なネットワークサービスは、(例えば、提供されたコンピュータネットワークに関連付けられた一意の識別子を生成および使用することによって)提供されたコンピュータネットワーク用の遠隔資源サービスへの設定されたアクセス機構用の1つ以上の新規の追加的なインジケータの使用を自動的に起動してもよい。これにより、その設定されたアクセス機構を通じてその遠隔資源サービスからアクセスされた新規の資源は、その提供されたコンピュータネットワークからのみアクセス可能となる。さらに、下により詳細に記載するように、設定可能なネットワークサービスの一部の実施形態では、例えば、サブストレートネットワーク上の通信における送信を容易にするために、提供されたコンピュータネットワークのコンピュータノード間の通信を管理するような種々のモジュールが用いられてもよい。また、このような場合に、1つ以上のこのようなモジュールは、ネームスペース識別子および/またはアクセスコントロールインジケータを含むように通信を自動的に修正すること、および/または1つ以上のパブリックネットワーク上で特定の遠隔資源サービスに(任意選択的に修正後に)通信を転送することによって特定のアクセス機構を実施するように設定されてもよい。提供されたコンピュータネットワークからの、ロケーションの特定の通信の検証における遠隔資源サービスの支援を含む、アクセス機構の実施に関連する追加的な詳細は、下記に含まれる。
【0017】
少なくとも一部の実施形態では、設定可能なネットワークサービスは、その設定可能なネットワークサービスと顧客がプログラムで通信することを可能にするAPIをさらに提供する。これにより、設定可能なネットワークサービスは、その設定可能なネットワークサービスにより、それらに提供されたコンピュータネットワークへの顧客による遠隔アクセスの構築を容易にする手段を取る。このような遠隔アクセス構築APIは、種々の実施形態における種々の行為を実行する場合がある。また、少なくとも一部の実施形態では、これは、顧客が居る遠隔地から、設定可能なネットワークサービスによって顧客用に提供されているコンピュータネットワークまでのVPN接続の構築において顧客を支援する。上述のように、場合によっては、顧客は、設定可能なネットワークサービスの外部における遠隔プライベートコンピュータネットワークを有してもよい。また、設定可能なネットワークサービスにより構成および提供されたコンピュータネットワークは、その遠隔プライベートネットワークの拡張となってもよく、または他の方法によりその遠隔プライベートネットワークに接続されてもよい。他の状況では、顧客は、設定可能なネットワークサービスにより提供されたコンピュータネットワークにアクセスおよび通信するための1つ以上の他の遠隔コンピュータシステムを使用してもよい。いずれの状況でも、少なくとも一部の実施形態では、顧客は、遠隔プライベートネットワークまたは他の遠隔コンピュータシステム(単数または複数)から、設定可能なネットワークサービスにより提供されたコンピュータネットワークまでのVPN接続または他の安全な接続を使用してもよい。このような実施形態では、設定可能なネットワークサービスにより提供された遠隔アクセス構築APIは、設定可能なネットワークサービスの顧客によりプログラムで呼び出された場合に、設定可能なネットワークサービスが、1つ以上の適切なネットワークの構成要素の提供を顧客に対して開始させてもよい。これにより、顧客の遠隔プライベートネットワークまたは他の遠隔コンピュータシステム(単数または複数)が、設定可能なネットワークサービスにより提供されたコンピュータネットワークへのVPN接続または他の安全な接続を構築できる。このようなネットワークの構成要素は、例えば、1つ以上のハードウェアデバイス(ルータまたは他のネットワーク装置等)、ソフトウェアコンポーネント、および/または設定情報のグループを含んでもよい。
【0018】
例えば、一部の実施形態では、顧客が居る遠隔地に配信される適切なルータデバイスまたは他のハードウェアネットワーク装置(単数または複数)を購入または他の方法で取得するために、顧客が遠隔アクセス構築APIを起動することにより、設定可能なネットワークサービスが売買人と通信する。また、適切に設定されたソフトウェアまたは取得されたネットワーク装置(単数または複数)用の他の設定情報が顧客に配信される。これにより、デバイス(単数または複数)は、ソフトウェアを用いてか、または設定情報に基づいて設定され、そして顧客の1つ以上の遠隔コンピュータシステムに接続された場合に、設定可能なネットワークサービスにより顧客用の提供されたコンピュータネットワークに交信するように起動する。この方式では、ネットワーク装置(単数または複数)、ソフトウェアおよび/または設定情報が顧客に受信された後に、顧客は、例えば、受信したネットワーク装置(単数または複数)を、遠隔プライベートネットワークまたは他の遠隔コンピュータシステム(単数または複数)に関連させる。そして、受信したネットワーク装置(単数または複数)を設定するためのソフトウェアおよび/または設定情報を用いる。設定されたネットワーク装置(単数または複数)は、次に、顧客用に提供されたコンピュータネットワークと自動的に交信してもよく、提供されたコンピュータネットワークへの顧客のプライベートセキュアアクセスを可能にするVPN接続を構築してもよい。他の状況では、設定されたネットワーク装置(単数または複数)は、顧客用の提供されたコンピュータネットワークに特定の追加的な設定情報を得るために設定可能なネットワークサービの設定されたコンピュータシステムと第1に自動的に交信してもよく、そしてその後、その提供されたコンピュータネットワークへのVPN接続を自動的に構築する。
【0019】
このような実施形態では、顧客にネットワーク装置(単数または複数)を供給するために使用される売買人は種々の形態を有してもよい。例えば、オンライン商人もしくは設定可能なネットワークサービスを運営するか、他の方法により設定可能なネットワークサービスと提携する同一のオペレータによって運営される他の小売業者、またはその代わりに、設定可能なネットワークサービスと提携しない第3者の売買人が挙げられる。利用されるハードウェアデバイス(単数または複数)は、例えば、顧客により自動的に認識および/または特定されるかもしれないもののような、顧客に用いられる設定可能なネットワークサービスにより提供されたコンピュータネットワークおよび/または遠隔コンピュータシステム(単数または複数)との互換性に基づいたものを含む、種々の実施形態における種々の方法において同様に選択されてもよい。さらにまた、一部の実施形態では、顧客が選択可能な複数の代替案が利用されてもよい。これには例えば、遠隔アクセス構築APIを最初に起動する場合に顧客により特定されてもよい、または設定可能なネットワークサービスからの後のクエリ(例えば、顧客が選択してもよい複数の代替案を特定するクエリ)に応答する代替案が含まれる。他の実施形態では、単一型のネットワーク装置または他のハードウェアデバイスが用いられてもよい。さらには、設定されたソフトウェアおよび/または他の設定情報は、種々の資源から(例えば、ネットワーク装置(単数または複数)を供給する同一の売買人により、設定可能なネットワークサービスにより直接、または別の事業体により)顧客に提供されてもよい。また、種々の方法により(例えば、ソフトウェアおよび/または設定情報を顧客に電子的に送信することにより、DVDまたはUSBメモリキー等の物理的な装置読み取り可能媒体にソフトウェアおよび/または設定情報を保存し、顧客にその媒体を物理的に配信することにより、デバイス(単数または複数)を事前設定するためなどのように、顧客に配信される前に、ネットワーク装置(単数または複数)上にソフトウェアおよび/または設定情報を保存すること等によって)、供給されてもよい。さらに、一部の実施形態では、顧客に提供される設定されたソフトウェアは、遠隔地に居る顧客が既に有している1つ以上のコンピュータシステムまたは他のハードウェアデバイスを利用する場合等に、VPN接続を構築するのに十分かもしれない。
【0020】
さらにまた、小売業者または顧客のための他の第3者の事業体からのハードウェアデバイスの取得は、例えば、デバイスを購入、またはその代わりに別の方式によりそれを取得する(例えば、リース、レンタル、評価のために一時的に等のためにそれを取得)ような、種々の実施形態における種々の方法において実行されてもよい。また、一部の実施形態では、小売業者への支払金を供給する設定可能なネットワークサービスを含んでもよく、その結果、顧客からの支払金(例えば、小売業者への支払金よりも多い、少ないまたはそれと同額である顧客からの支払金を含む)を独立的に得る。またはその代わりに、顧客に(例えば、小売業者に顧客に関する支払金情報を提供する設定可能なネットワークサービスによる、支払金情報を得るための顧客との交信または他の方法による通信における仕様についての情報を小売業者に提供する設定可能なネットワークサービスによる、支払金を得るために顧客から以前に得た情報を小売業者に利用させることによる、等)、小売業者への支払金を直接支払わせる。さらに、一方で一部の実施形態では、開始されたハードウェアデバイスを小売業者から顧客が取得することによって、小売業者から顧客が居る遠隔地までのハードウェアデバイスの直接配信が可能になる。同時に、他の実施形態では、設定可能なネットワークサービスは、他の方式によってこの取得を実行してもよい。例えば、ハードウェアデバイスの配送を最初に受け、次に、それを顧客に配送すること(例えば、適切なソフトウェアおよび/または設定情報をともなうハードウェアデバイスの設定後に、またはその代わりに、それを受けたのと同一の形態において顧客にハードウェアデバイスを転送すること)によって実行される。遠隔アクセス構築APIにおける顧客によるプログラムの起動を実現するための、設定可能なネットワークサービスによる種々の実施形態における行為に関連する追加的な詳細は、下に記載される。
【0021】
説明に役立つ目的のために、特定のコンピュータノードの種類、ネットワーク、通信、および設定操作が実行される一部の実施形態が下に記載される。これらの実施例は、説明に役立つ目的のために提供され、簡潔さを目的として簡易化される。また、発明に関する技術は、一部が下に記載される、他の状況における幅広い種類に用いられ得る。例えば、一部の実施形態では、顧客によるアクセス用に構成および設定されたコンピュータネットワークは、それらの顧客の既存のプライベートコンピュータネットワークへのプライベートコンピュータネットワークの拡張である。一方、他の実施形態では、構成および設定されたコンピュータネットワークは、他のコンピュータネットワークの拡張ではないスタンドアロンのコンピュータネットワーク、および/または顧客の利益のために構成および設定された、その顧客によってプライベートでアクセスできないパブリックコンピュータネットワークでもよい。さらに、一部の実施形態では、設定可能なネットワークサービスにより提供されたコンピュータネットワークは、設定可能なネットワークサービスにより提供および制御されたコンピュータノードを利用する。一方、他の実施形態では、提供されたコンピュータネットワークに用いられる少なくとも一部のこのようなコンピュータノードは、他者により(例えば、第3者、顧客によって等)制御または保持されてもよいが、設定可能なネットワークサービスと共に利用できるようにされる。
【0022】
図1Aは、顧客に用いられるコンピュータネットワークを、遠隔の顧客が構成および設定できる設定可能なネットワークサービスの例示的な実施形態を示すネットワーク図である。この実施例では、構成および設定されるコンピュータネットワークは、顧客の既存のプライベートコンピュータネットワークへのプライベートネットワーク拡張でもよい。また、設定可能なネットワークサービス105は、1つ以上のパブリックネットワーク100上(例えば、インターネット上)において顧客(不図示)に、このような機能を提供する。それ故、遠隔の顧客は、パブリックネットワーク100上においてクラウドコンピュータ技術を用いること等によって、それらのプライベートコンピュータネットワークのサイズおよび/または性能を動的に修正するために、設定可能なネットワークサービス(「CNS」)105を利用する場合がある。
【0023】
特に、図1Aの実施例では、多くの顧客(不図示)は、遠隔の既存の顧客プライベートネットワーク130への種々のプライベートネットワークサービス拡張120を構成および設定するために、管理者モジュール110を用いて、パブリックネットワーク100上において通信する。これは、パブリックネットワーク100上における1つ以上の対応する顧客プライベートネットワーク130からの安全なプライベートアクセスを可能にするように(例えば、相互接続100aおよび100b上において構築されるVPN接続を通じて)設定されているコンピュータネットワーク拡張120の少なくとも一部を用いて実行される。この例示的な実施形態では、管理者モジュール110は、CNS105の種々の他のモジュール(不図示)、並びにプライベートコンピュータネットワーク拡張120を提供するためにCNS105に用いられる種々のコンピュータノードおよびネットワーク装置(不図示)等と共に、CNS105の機能を遠隔の顧客に提供することを支援する。少なくとも一部の実施形態では、CNS管理者モジュール110は、CNS105の1つ以上のコンピュータシステム(不図示)上で実行してもよい。また、顧客の代わりにCNS105の機能の一部または全てにアクセスするために(例えば、プライベートネットワーク拡張120の使用を構成、設定および/または 起動するために)、遠隔コンピュータシステムをモジュール110とプログラムで通信させる1つ以上のAPIを提供できる。さらに、少なくとも一部の実施形態では、顧客は、その代わりに、このような行為の一部または全てを実行するために、モジュール110と(例えば、モジュール110により提供されたユーザインターフェースを通じて)手動で通信できる。
【0024】
パブリックネットワーク100は、例えば、異なる団体によって運営される可能性のあるインターネット等の、接続されたネットワークにおいて公的にアクセス可能なネットワークでもよい。遠隔の顧客プライベートネットワーク130各々は、許可されないユーザに対しては部分的または全体的にアクセス不可能であり、顧客のコンピュータシステムおよび/または他のネットワーク装置を含む企業または他のプライベートネットワーク(例えば、家庭、大学等)等の、1つ以上の既存のプライベートネットワークを含んでもよい。図示した実施例では、提供されたネットワーク拡張120各々は、その少なくとも一部がCNS105の制御に基づいてか、あるいはCNS105の制御の下で提供された多重コンピュータノード(不図示)を含む。また、提供されたネットワーク拡張120各々は、そのネットワークが供給された顧客による種々の手法により設定され得る。他の実施形態では、顧客用のCNS105により提供された少なくとも一部のコンピュータネットワークは、他の既存のコンピュータネットワークの拡張ではない公的にアクセス可能な、および/またはスタンドアロンのコンピュータネットワークでもよいが、図示した実施形態におけるネットワーク拡張120各々は、それを構成する顧客によってのみアクセス可能なプライベートコンピュータネットワークでもよい。同様に、実施例において提供されたコンピュータネットワーク120は、プライベートネットワークである遠隔の顧客コンピュータネットワーク130への拡張でもよいが、他の実施形態では、提供されたコンピュータネットワーク120は、プライベートネットワークではない顧客コンピュータネットワーク130への拡張でもよい。
【0025】
遠隔の顧客プライベートコンピュータネットワーク130と、顧客用の提供された対応するプライベートコンピュータネットワーク拡張120との間のプライベートアクセスは、種々の方法により実行可能である。これは、安全なプライベート方式においてパブリックネットワーク100上における相互通信を可能にするような、それらの間におけるVPN接続または他の安全な接続を構築すること等によって実行される。例えば、CNS105は、顧客の特定のプライベートネットワーク拡張120へのVPNアクセスを可能にするように、CNS105によってホストされる1つ以上のVPN機構(ソフトウェアおよび/またはハードウェアVPN機構等)を自動設定すること等によって、そのコンピュータノードおよび他のコンピュータシステムにおける適切な設定を自動的に実行してもよく、かつ/または遠隔の顧客プライベートネットワーク130においてホストされるVPN機構が、VPNアクセスを構築するように、顧客に適切な設定情報(認証情報、アクセスポイント、および/または他のパラメータ等)を自動的に提供してもよい。VPNアクセスが適切に有効化されかつ/または設定された後に、VPN接続は、遠隔の顧客プライベートネットワークと、プライベートネットワーク拡張との間において構築されてもよい。例えば、IPsec(「インターネットプロトコルセキュリティ」)または他の適切な通信技術を用いた顧客によって起動される。例えば、一部の実施形態では、IPsecベースのVPN接続等の代わりに、データ送信においてMPLS(「マルチプルトコルラベルスイッチング」)を用いるネットワークへのまたはその間におけるVPN接続または他の安全な接続が構築されてもよい。例えば、CNS105によって提供された、対応する遠隔アクセス構築APIの顧客による起動に応答するような、安全な接続の有効化および構築に関する追加的な詳細は、より詳細に他の箇所に記載される。
【0026】
さらに、図示した実施形態では、種々のネットワークアクセス可能な遠隔資源サービス140は、遠隔の顧客プライベートネットワーク130におけるコンピュータシステムを含む、パブリックネットワーク100上で遠隔コンピュータシステムに利用できる。資源サービス140は、遠隔資源サービス140の少なくとも一部等の遠隔コンピュータシステムに、種々の種類のコンピュータ関連資源へのアクセスを、遠隔コンピュータシステムに提供する種々の機能を提供してもよい。さらにまた、CNS105により提供されたプライベートネットワーク拡張120の少なくとも一部は、遠隔資源サービス140の少なくとも一部へのプライベートまたは他の特殊なアクセスを提供するように設定されてもよい。これは、遠隔資源サービス140との実際の通信は、パブリックネットワーク100上において(例えば、相互接続100bおよび100cを通じて)生じ得るが、プライベートネットワーク拡張120の一部となる仮想接続115を通じて局所的に提供された場合に、プライベートネットワーク拡張120のコンピュータノードに任意選択的に生じるその提供されたアクセスと共に実行される。遠隔資源サービスへのこのようなプライベートまたは他の特殊なアクセスの構築および使用に関連する追加的な詳細は、より詳細に他の箇所に記載される。
【0027】
上述のように、提供されたネットワーク拡張120は、各々、種々の方法により顧客により設定されてもよい。例えば、少なくとも一部の実施形態では、CNS105は、顧客に提供されたネットワーク拡張とともに用いるのに利用可能な多数のコンピュータノードは、提供されたネットワーク拡張120の各々が一部として用いるのに専用の複数のこのようなコンピュータノードにおける顧客用に設定された数量を含んでもよい。特に、顧客は、顧客用の提供されたコンピュータネットワークに最初に含まれるコンピュータノードの数を設定するモジュール110と(例えば、CNS105によって提供されたAPIとの1つ以上のプログラム的な相互作用を通じて)通信してもよい。さらに、少なくとも一部のこのような実施形態では、コンピュータノードは、例えば、提供されたコンピュータネットワークが顧客により既に用いられている後で(例えば、特定のコンピュータノードの特定のプログラムにおける実行の起動または完了を指定することによって)、顧客の提供されたコンピュータネットワークに(例えば、CNS105によって提供されたAPIとの1つ以上のプログラム的な相互作用を通じて)、後に動的に追加されるか、それから除去されてもよい。さらにまた、CNS105は、少なくとも一部の実施形態では、例えば、種々のパフォーマンス特性(例えば、プロセッサ速度、利用可能メモリ、利用可能ストレージ等)、および/または他の性能を有するコンピュータノード等の複数の異なるコンピュータノードの種類を提供してもよい。このような場合に、少なくとも一部のこのような実施形態では、顧客は、顧客用の提供されたコンピュータネットワークに含まれるようなコンピュータノードの種類を特定してもよい。
【0028】
さらに、少なくとも一部の実施形態では、顧客は、顧客用の提供されたコンピュータネットワーク用のネットワークアドレスを設定するためのモジュール110と(例えば、CNS105によって提供されたAPIとの1つ以上のプログラム的な通信を通じて)通信してもよい。また、ネットワークアドレスは、少なくとも一部のこのような実施形態では、提供されたコンピュータネットワークが顧客により既に用いられた後等に、顧客の提供されたコンピュータネットワークのために、後に動的に追加、除去または修正されてもよい。例えば、設定されている特定の提供されたコンピュータネットワークが、既存の遠隔顧客コンピュータネットワークの拡張である場合には、顧客は、1つ以上のアドレスレンジ(例えば、クラスレスインタードメインルーティング(「CIDR」)宛先ブロック)、または既存の遠隔の顧客コンピュータネットワークにより用いられるネットワークアドレスのサブセットである、ネットワークアドレスの他のグループを特定できる。これにより、特定のネットワークアドレスが、提供されたコンピュータネットワークのコンピュータノードに用いられる。このような設定されたネットワークアドレスは、場合によっては(例えば、既存の遠隔の顧客コンピュータネットワークおよび対応する提供されたネットワーク拡張が、顧客コンピュータネットワークおよびその提供されたネットワーク拡張用の、ネットワークアドレス転換技術および/または仮想ネットワーク技術を用いる場合)、パブリックネットワーク100におけるコンピュータシステムから直接にはアドレス可能でない仮想またはプライベートネットワークアドレスでもよい。一方、他の状況では、設定されたネットワークアドレスの少なくとも一部は、パブリックネットワーク100におけるコンピュータシステムから直接アドレス可能であるパブリックネットワークアドレス(例えば、スタティックインターネットルーティング可能なIPアドレス、または他の非変化ネットワークアドレスであるパブリックネットワークアドレス)でもよい。他の実施形態では、CNS105は、少なくとも一部の提供されたコンピュータネットワーク拡張の少なくとも一部のコンピュータノードに用いるようなネットワークアドレスを自動選択できる。これは例えば、CNS105に用いられるために利用可能なネットワークアドレス、提供されたコンピュータネットワークに対応する遠隔の既存のコンピュータネットワークにより用いられる関連するネットワークアドレスであるネットワークアドレスの選択等に基づいて実行される。さらに、CNS105が、サブストレートネットワークにおけるオーバーレイネットワークを用いること等によって、顧客に仮想ネットワークを提供する少なくとも一部の実施形態では、各顧客は、それらの提供されたコンピュータネットワークに用いられるような、任意のネットワークアドレスを特定することを許可される。複数の顧客が、それらの個別の提供されたコンピュータネットワーク用の同一またはオーバーラッピングネットワークアドレスを特定する場合でさえ、このような実施形態では、CNS105は、顧客ごとに異なるネットワークアドレスを管理する。これにより、第1の顧客は、第1の顧客の提供されたコンピュータネットワーク用の特定のネットワークアドレスに関連する第1のコンピュータノードを有してもよい。一方、異なる第2の顧客は、第2の顧客の提供されたコンピュータネットワーク用の同一の特定のネットワークアドレスに関連する、異なる第2のコンピュータノードを有してもよい。ネットワークアドレスが、一旦設定されるか、または他の方法により提供されたコンピュータネットワーク用に確定されると、CNS105は、提供されたコンピュータネットワーク用に選択された種々のコンピュータノードに、ネットワークアドレスを指定してもよい。これは例えば、ランダム方式において、DHCP(「動的ホスト構成プロトコル」)またはネットワークアドレスの動的指定用の他の技術等を用いて実行される。さらに、パブリックネットワークアドレスが特定のコンピュータネットワークに用いられる場合でさえも、CNS105は、他の方式に用いられるために、それらのパブリックネットワークアドレスの1つ以上をマッピングしてもよい。これは例えば、他の箇所により詳細に記載されるように、特定の遠隔資源サービス用のアクセス機構として機能する特定のパブリックネットワークアドレスを用いること等によってマッピングされる。これにより、その特定のコンピュータネットワークのコンピュータノードによって、その特定のパブリックネットワークアドレスに送信される通信は、インターネットまたはその特定のパブリックネットワークアドレスが指定された他のネットワークにおける別のコンピュータシステムよりはむしろ、対応する遠隔資源サービスに転送される。図1Bは、提供されたコンピュータネットワーク内に通信をルーティングするための設定されたネットワークアドレスの使用の実施例に関する追加的な詳細を示す。
【0029】
さらに、少なくとも一部の実施形態では、顧客は、顧客用の提供されたコンピュータネットワーク用のネットワークトポロジー情報を設定するために、(例えば、CNS105によって提供されたAPIとの1つ以上のプログラム的な相互作用を通じて)モジュール110と通信してもよい。また、このようなネットワークトポロジー情報は、少なくとも一部のこのような実施形態では、提供されたコンピュータネットワークが顧客に既に用いられた後等に、提供されたコンピュータネットワーク用に、その後動的に修正されてもよい。例えば、顧客は、特定の種類のネットワーク装置(例えば、ルータ、スイッチ等)、および/または提供されたコンピュータネットワークの一部となる他のネットワーク装置またはノード(例えば、ファイアウォール、プロキシ、ネットワーク記憶装置、プリンタ等)を特定してもよく、かつ/またはグループ化されるか、他の方法により共通の相互通信特性を共有する、提供されたコンピュータネットワークのコンピュータノードのサブセット(例えば、相互通信が、フィルタされず、かつ/または特定のネットワーク装置に関連するようなサブネットの一部であるコンピュータノードの特定のサブセット)を特定してもよい。さらに、提供されたコンピュータネットワーク用の特定の設定情報は、少なくとも一部の実施形態では、ネットワーク装置および/またはコンピュータデバイスのグループ間のルーティング情報または他の相互接続情報を含んでもよい。さらにまた、少なくとも一部の実施形態では、CNS105は、複数の地理的位置において(例えば、地理的に分散された複数のデータセンターにおいて)利用可能なコンピュータノードを提供してもよい。また、提供されたコンピュータネットワークに対する顧客により特定された設定情報は、(例えば、複数の地理的位置にそれらを配置することによって、提供されたコンピュータネットワークのコンピュータノード間のフォールトトレランスを提供するために)提供されたコンピュータネットワークのコンピュータノードが配置される1つ以上の地理的位置をさらに指定してもよく、かつ/または提供された、1つ以上のこのような地理的位置を選択するためにCNS105に用いられた、コンピュータネットワークのコンピュータノードが、どのように相互運用するかの優先または要件に関する情報を他の方法により提供してもよい(例えば、コンピュータノード相互通信における最小または最大のネットワーク待ち時間または帯域幅、コンピュータノード間における最小または最大ネットワーク近接性、コンピュータノード間における最小または最大の地理的な近接性、全てのこのような地理的位置において利用できない特定の資源または機能性へのローカルアクセスを有すること、顧客の遠隔コンピュータネットワークおよび/または遠隔資源サービス等の、他の外部のコンピュータシステムに関連した特定の位置を有すること等)。
【0030】
他の箇所により詳細に記載するように、少なくとも一部の実施形態では、提供されたコンピュータネットワークのコンピュータノード間における相互接続および相互通信は、CNS105の内在するサブストレートネットワークを用いて管理される。また、このような場合に、 設定されたネットワークトポロジー情報の一部または全ては、少なくとも一部のこのような実施形態では、CNS105の内在するサブストレートネットワークおよび対応するモジュールを用いてシミュレートされてもよい。例えば、CNS105により提供されたコンピュータノード各々は、その関連するコンピュータノードへ、およびその関連するコンピュータノードからの通信を管理する、CNS105のノード通信管理者モジュールに関連し得る。このような場合に、ファイアウォール装置は、コンピュータノード用の関連する通信管理者モジュールを用いてシミュレートされてもよい。これは、1つ以上のシミュレートされたファイアウォール装置と両立する方式にて、コンピュータノードから、および/またはコンピュータノードへの通信を許可しない、または他の方法により処理される。このようなノード通信管理者モジュールは、コンピュータノード間における相互通信が、どのように通過、および通過するか否かを制御すること、および適切な応答情報を伴う情報(ARP、またはアドレス絞り込みプロトコル、要求等)のためのコンピュータノードからの要求に応答することによって、ルータおよびサブネットを同様にシミュレートする場合がある。CNS105の1つ以上の外部通信管理者モジュールは、CNS105および外部コンピュータシステムによって提供されたコンピュータノード間の通信を管理する場合がある。例えば、ファイアウォール装置を同様にシミュレートし、そして特定のネットワークアクセス制限を実施する。同様に、遠隔資源サービス用に設定されたアクセス機構および遠隔の顧客プライベートコンピュータネットワークへの安全な接続を管理する。他の種類のネットワークトポロジー情報も同様にシミュレートされてもよく、一部の実施形態におけるCNS105の種々のモジュールの使用に関する追加的な詳細は、図2に関連して他の箇所において下に記載される。
【0031】
さらに、少なくとも一部の実施形態では、顧客は、顧客用の提供されたコンピュータネットワーク用の種々のネットワークアクセス制限情報を設定するように、(例えば、CNS105によって提供されたAPIとの1つ以上のプログラム的な相互作用を通じて)モジュール110と通信してもよい。また、このようなネットワークアクセス制限情報は、少なくとも一部のこのような実施形態では、提供されたコンピュータネットワークが顧客により既に用いられるようになった後等に、提供されたコンピュータネットワーク用にその後動的に修正されてもよい。例えば、顧客は、提供されたコンピュータネットワークのコンピュータノードの一部または全てが、提供されたコンピュータネットワークの他のコンピュータノード、および/または他の外部コンピュータシステムとの通信が可能か否か、およびどのように可能になるかに関する情報を特定してもよい。これは、例えば、下記の1つ以上に基づいて実行される。これには、通信方向(送信に対する受信)、通信の種類(例えば、含まれるコンテンツの種類および/または例えば、画像ではなくテキスト用のHTTP要求を可能にするが、FTP要求を可能にしない、用いられる通信プロトコルの種類に基づく)、他のコンピュータシステムのロケーション(例えば、提供されたコンピュータネットワークの一部、提供されたコンピュータネットワークに対応する遠隔顧客コンピュータネットワークの一部、プライベートまたは他の特殊なアクセスが構築した遠隔資源サービスの一部、提供されたコンピュータネットワークおよび任意の対応する遠隔の顧客コンピュータネットワークの外部か否か等)、他のコンピュータシステムの種類等が含まれる。さらに、他の箇所により詳細に記載するように、少なくとも一部の実施形態では、提供されたコンピュータネットワークは、1つ以上の遠隔資源サービスへのプライベートまたは他の特殊なアクセスを提供するように設定されてもよい。これは例えば、提供されたコンピュータネットワークの一部または他の方法によりその局所となる設定されたアクセス機構を通じて設定される。ネットワークトポロジー情報および他のルーティング情報と同様の方式にて、CNS105は、種々の方法にて提供されたコンピュータネットワーク用のネットワークアクセス制限情報を実施できる。一部の実施形態では、提供されたコンピュータネットワークにおける通信の管理に関連する追加的な詳細は、図2に関連して他の箇所において下に記載される。
【0032】
図1Bは、顧客用のCNS105(または、設定可能なネットワークサービスの他の実施形態)によって提供されてもよい、例示的なコンピュータネットワーク120aに関する追加的な詳細を示す。この実施例では、提供されたコンピュータネットワーク120aは、図1Aの遠隔プライベートコンピュータネットワーク130の1つ等の、顧客の遠隔プライベートコンピュータネットワークへのプライベートネットワーク拡張である。この実施例では、提供されたコンピュータネットワーク120aにおける種々の接続および通信路は、設定可能なネットワークアクセス制限およびネットワークトポロジーの型を示すように、概念的な方式において示される。また、図2は、例示的な提供されたコンピュータネットワーク120a等の提供されたコンピュータネットワークの構成に用いられ得る、内在するサブストレートネットワークおよび接続の実施例に関する追加的な詳細を示す。
【0033】
特に、図1Bにおいて、提供されたコンピュータネットワーク120aは、第1の地理的位置1 160(例えば、地理的位置1における第1のデータセンターにおいて等)に配置されたCNS105によって提供された種々のコンピュータノードを含む。ここで、種々のコンピュータノードは、この実施例では、(例えば、図示しない異なるサブネットおよび/または関連する設定されたネットワーク装置に対応するように)論理グループ164、165および166に設定される。この実施例では、単一の概念的な仮想ルータ162は、それらのコンピュータノードと、他のコンピュータシステムとの間の通信を制御するように、地理的位置1において示される。これにより、生じ得る異なる通信の種類を示す。しかしながら、提供されたコンピュータネットワーク120aは、地理的位置1において複数または0個の設定されたネットワーク装置を実際に有してもよく、そしてコンピュータネットワーク120aは、内在するサブストレートネットワーク上の通信を制御する内在するサブストレートネットワークおよび関連するモジュール等を用いることによって、複数の物理的な相互接続ルータまたは他のネットワーク装置を介する等の種々の方法により地理的位置1において設定可能なネットワークサービスによって実施されてもよい。この実施例では、仮想ルータ162は、提供されたコンピュータネットワーク120a用の設定された情報に従って稼働する。この情報には、設定されたネットワークトポロジー情報、遠隔資源サービスへの設定されたプライベートまたは他の特殊なアクセス、および他の設定されたネットワークアクセス制限情報が含まれる。この情報には例えば、提供されたコンピュータネットワーク120aにおける宛先コンピュータノードに対応するような、提供されたコンピュータネットワーク120a内のネットワークアドレスに送信される通信をルーティングすること、および適合するように、提供されたコンピュータネットワーク120aの外側の他のネットワークアドレスに他の通信をルーティングすること等の情報が含まれる。さらにまた、設定されたファイアウォール装置によって許可されない通信、設定されたネットワークトポロジー情報、または他の設定されたネットワークアクセス制限は、妨げられるか、または仮想ルータ162により他の方法で管理される。
【0034】
この実施例では、コンピュータネットワーク120aは、例示的な顧客1用に提供されており、そして顧客1の遠隔コンピュータネットワークへのネットワーク拡張である。顧客1の遠隔コンピュータネットワークは、第1の遠隔地サイトA190において複数のコンピュータシステム(不図示)を含む。また、仮想ルータ162は、地理的位置1における仮想通信リンク170を通じてそれらの複数のコンピュータシステムと通信するように設定される。例えば、他の箇所により詳細に記載するように、提供されたコンピュータネットワーク120aは、サイトA190における複数のコンピュータシステムへの1つ以上の設定されたVPN接続を含んでもよい。また、通信リンク170は、1つ以上のこのようなVPN接続に対応する場合がある。さらに、顧客1の遠隔コンピュータネットワークは、図示した選択的なサイトB192等の、1つ以上の他のロケーションにおけるコンピュータシステムを任意選択的に含んでもよい。また、このような場合に、仮想ルータ162は、サイトB192への任意選択的な仮想通信リンク172等を通じて(例えば、サイトBへの直接的な1つ以上の他の設定されたVPN接続を通じて)、他のロケーションにおけるそれらの他のコンピュータシステムと通信するようにさらに設定されてもよい。複数のVPN接続または他の安全な接続が、遠隔コンピュータネットワークの遠隔コンピュータシステムに用いられる場合には、各接続が、遠隔コンピュータシステムのサブセットに対応してもよく(例えば、それらの遠隔コンピュータシステムに対応する、遠隔コンピュータネットワークのネットワークアドレスのサブセットに関連することよって)、適切な接続において通信をルーティングする。他の実施形態では、複数のVPN接続または他の安全な接続は、1つ以上のロケーションにおける遠隔コンピュータシステムに用いられてもよい。しかしながら、複数の接続が冗長な代替である場合等には(例えば、負荷バランシングに用いられる)、この接続は、遠隔コンピュータシステムのいずれかへの通信各々を支援してもよい。さらにまた、一部の実施形態では、顧客の遠隔コンピュータネットワークは、複数のサイトにおける複数のコンピュータシステムを含んでもよい。しかしながら、遠隔コンピュータシステムへの単一のVPN接続または他の安全な接続のみが用いられてもよく、遠隔コンピュータネットワークは、適切なサイトおよびコンピュータシステムへの通信の送信に関与する。
【0035】
さらに、提供されたコンピュータネットワーク120aは、提供されたコンピュータネットワーク120aのコンピュータノードと、インターネット196または他のパブリックネットワーク上で一般にアクセス可能である他の外部のコンピュータシステムとの間の全てもしくは一部の通信または非通信を可能にするように設定されてもよい。少なくとも一部のこのような外部通信が可能になる場合には、仮想ルータ162は、提供されたコンピュータネットワーク120aの任意選択的な仮想通信リンク178を通じてそれらの外部の複数のコンピュータシステムと通信するようにさらに設定されてもよい。これは例えば、提供されたコンピュータネットワーク120a用の任意選択的な仮想ボーダールータ155を用いて設定される。仮想ボーダールータ155は、外部のコンピュータシステムと、地理的位置1においてCNS105によって提供された種々のコンピュータノード(CNS105によって、CNS105のそれらのコンピュータノードを用いる顧客に提供された多数のコンピュータネットワークを支持する実際の装置等)との間の通信を管理する、1つ以上の実際のファイアウォール装置またはボーダールータデバイスを用いたCNS105によって等の、種々の方法により物理的に実施されてもよい。これは、(例えば、許可されない通信が、サブストレートネットワークの上において提供されたコンピュータネットワーク120aのコンピュータノードによって送信されることを防止するために)内在するサブストレートネットワーク、および内在するサブストレートネットワーク上における通信を制御する関連するモジュールを用いること等により実施される。さらにまた、仮想ボーダールータ155は、例えばサイトAおよびBにおける遠隔の顧客コンピュータネットワーク、1つ以上の遠隔資源サービス等の、提供されたコンピュータネットワーク120aの外部における他のコンピュータシステムへの他の通信の管理を概念的にさらに支援する場合がある。
【0036】
さらに、提供されたコンピュータネットワーク120aは、1つ以上の遠隔資源サービスへのプライベートまたは他の特殊なアクセスを提供するように設定されてもよい。これは例えば、それらの1つ以上の遠隔資源サービスを示すように、提供されたコンピュータネットワーク120aの1つ以上のネットワークアドレスを指定すること、およびそれらの指定されたネットワークアドレスに送信される通信のために取得される特定の行為を任意選択的に設定すること等によって設定される。この実施例では、仮想ルータ162は、提供されたコンピュータネットワーク120aの仮想通信リンク174を通じた、遠隔資源サービス194へのローカルアクセスを提供するように設定される。それ故、例えば、提供されたコンピュータネットワーク120aのコンピュータノードの1つが、通信リンク174にマッピングされた、提供されたコンピュータネットワーク120aの特定のネットワークアドレスに通信を送信する場合には、仮想ルータは、その通信を、(例えば、インターネットまたは他のパブリックネットワークを通じて)提供されたコンピュータネットワーク120aの外部における遠隔資源サービス194に転送してもよい。他の実施形態では、遠隔資源サービス194は、CNS105の一部または他の方法により、地理的位置1におけるインターフェースを実施してもよい。また、このような場合に、通信リンク174にマッピングされた、提供されたコンピュータネットワーク120aの特定ネットワークアドレスに送信された通信は、その代わりに、処理のために遠隔資源サービスのそのインターフェースに転送されてもよい。
【0037】
さらに、仮想通信リンク174は、少なくとも一部の実施形態では、種々の方法においてリンクを通じて送信された通信を管理するように設定されてもよい。これは、通信が遠隔資源サービス194に転送されるか、特殊な方式において遠隔資源サービス194に他の方法によりアクセスする前に、1つ以上の方式にてそれらの通信を修正すること等によって実行される。例えば、図示した実施形態では、仮想通信リンク174は、遠隔資源サービス194内の特定のネームスペースに対応するように設定されてもよい。これは、そのネームスペースの一部である、遠隔資源サービス194によって提供されたコンピュータ関連資源のサブセットを用いて設定される。 それ故、仮想通信リンク174は、特定のネームスペース内の資源にアクセスするように設定されてもよい。これは例えば、特定のネームスペースに関連するネームまたは他の識別子を用いるように通信を修正または変換することにより、特定のネームスペースの指定を支援する、遠隔資源サービスの特定のインターフェースを用いること等によって設定される。さらに、仮想通信リンク174が、特定のネームスペースに対応するか、他の方法により遠隔資源サービス194によって提供された資源のサブセットに対応するように設定された場合には、提供されたコンピュータネットワーク120aは、同一の遠隔資源サービス194にも対応する、1つ以上の他の仮想通信リンクを含むように任意選択的にさらに設定されてもよい。しかしながら、他の方式にて遠隔資源サービス194にアクセスするように設定される。例えば、提供されたコンピュータネットワーク120aは、仮想通信リンク174のそれとは異なる方式にて遠隔資源サービス194にアクセスするように設定される、異なる仮想通信リンク176を任意選択的に含んでもよい。これは例えば、通信リンク174に用いられる客識別子とは異なる、遠隔資源サービス194の客の識別子を用いること等により、異なる第2のネームスペースに対応するが、いかなる特定のネームスペースにも対応しないように実行される。この実施例では、仮想通信リンク174および176は、リンク174および176にそれぞれ用いられるID1およびID2としてこの実施例では示される、異なる識別子(異なるネームスペース識別子等)を利用するように設定される。それ故、提供されたコンピュータネットワーク120aのコンピュータノードは、遠隔資源194からの異なる種類の機能にアクセスできる。また、ここには図示しないが、提供されたコンピュータネットワーク120aは、それらの他の遠隔資源サービスにリンクする他の仮想通信を用いる1つ以上の他の遠隔資源サービス(不図示)にアクセスするように同様に設定されてもよい。
【0038】
遠隔資源サービス194の特定のネームスペースにアクセスするような仮想通信リンク174の設定に加えて、またはその代わりに、遠隔資源サービス194に、提供されたコンピュータネットワーク120aとして、通信のロケーションまたは他の資源を検証させるために、少なくとも一部の実施形態では、仮想通信リンクは、遠隔資源サービス194に追加的な情報を提供するように設定されてもよい。例えば、図示した実施形態では、仮想通信リンク174は、設定可能なネットワークサービスまたは遠隔資源サービス194によって提供されたコンピュータネットワーク120aに関連する、1つ以上の特定の識別子または他のアクセスコントロールインジケータに対応するように設定されてもよい。これにより、仮想通信リンク174を通じてアクセスされた遠隔資源サービス194によって提供された新規および/または既存のコンピュータ関連資源のサブセットは、それらの資源へのアクセス制限において遠隔資源サービス194に用いられるように、アクセスコントロールインジケータ(単数または複数)に関連付けられる。それ故、仮想通信リンク174は、種々の方法により、提供されたコンピュータネットワーク120aに関連する特定の追加的なインジケータ(単数または複数)を利用するように設定されてもよい。この方法には例えば、追加的なインジケータ(単数または複数)を含むように通信を修正すること、通信を修正せずに通信と共に追加的なインジケータ(単数または複数)を送信すること、このような追加的なインジケータ(単数または複数)を含む支援をする、遠隔資源サービスの特定のインターフェースを利用すること等が含まれる。さらに、仮想通信リンク174が、1つ以上の追加的なインジケータに対応するように設定された場合には、提供されたコンピュータネットワーク120aは、同一の遠隔資源サービス194にも対応するが、他の方式にて遠隔資源サービス194にアクセスするように設定される、1つ以上の他の仮想通信リンクを含むように任意選択的にさらに設定されてもよい。例えば、提供されたコンピュータネットワーク120aは、いかなる追加的なインジケータを用いること無く、遠隔資源サービス194にアクセスするために(例えば、他の方法により公的に利用可能な遠隔資源サービス194への同一のアクセスを提供するために)、異なる仮想通信リンク176を任意選択的に設定してもよい。これは、仮想通信リンク174に用いられるものとは異なる1つ以上の他の追加的なアクセスコントロールインジケータを用いること、仮想通信リンク174に用いられる客識別子とは異なる、遠隔資源サービス194の客の識別子を用いること等によって実行される。さらにまた、ここには図示しないが、提供されたコンピュータネットワーク120aは、仮想通信リンク174と同一の1つ以上の追加的なインジケータを用いてか、または他の方法により設定された他の仮想通信リンク等の、それらの他の遠隔資源サービスにリンクする他の仮想通信を用いて、1つ以上の他の遠隔資源サービス(不図示)にアクセスするように同様に設定されてもよい。
【0039】
図示した実施形態では、地理的位置1におけるCNS105のコンピュータノードに加えて、提供されたコンピュータネットワーク120は、第2の地理的位置2 180(例えば、地理的位置2における異なる第2のデータセンターにおいて)に配置された、CNS105によって提供されたコンピュータノード184をさらに含んでもよい。それ故、仮想ルータ162は、地理的位置2における提供されたコンピュータネットワーク120aの部分への任意選択的な仮想通信リンク168を含むように設定されてもよい。この実施例では、地理的位置2における同様の提供されたコンピュータネットワーク120aの部分が、コンピュータノード184への、およびコンピュータノード184からの通信を管理する概念的な仮想ルータ182と共に図示される。この通信には、仮想通信リンク188を通じた、地理的位置1において提供されたコンピュータネットワーク120の部分との通信することが含まれる。異なる地理的位置における、CNS105のコンピュータノード間のこのような通信は、種々の実施形態における種々の方法により処理されてもよい。例えば、インターネットまたは他のパブリックネットワーク上で(例えば、CNS105によって支援される暗号化を用いること等の、安全なトンネルの一部として)通信を送信すること、プライベートな安全な方式により(例えば、地理的位置間における専用のリース線を通じて)通信を送信すること等によって処理される。さらに、ここには図示しないが、地理的位置2において提供されたコンピュータネットワーク120aの部分は、地理的位置1においてその部分が図示された同一の種類の他の仮想通信リンクの一部または全てを同様に含んでもよい。これには例えば、遠隔の顧客プライベートネットワーク(例えば、地理的位置1へのあらゆるVPN接続とは異なる1つ以上のVPN接続を通じた)へ、遠隔資源サービスへ、インターネットへ等のリンクが含まれる。
【0040】
図1Bのコンピュータネットワーク120aが提供された例は、例示を目的として含まれ、CNS105により提供された顧客用の他のコンピュータネットワークは、設定された通信リンクの種類およびネットワークトポロジー情報の全ては含まず、かつ/またはここには図示しない他の設定された通信リンクの種類およびネットワークトポロジー情報を含んでもよいことが理解されるであろう。例えば、一部の実施形態および状況では、提供されたコンピュータネットワークは、コンピュータノードに加えて、またはその代わりに、設定された装置および他の資源を含んでもよい。また、そうである場合には、このような他の資源各々が、提供されたコンピュータネットワークのネットワークアドレスを任意選択的に指定されてもよい。さらにまた、図1Bに示された概念的なデバイスおよび通信リンクは、種々の種類の内在する物理的デバイス、接続、およびモジュールを用いて実施されてもよい。さらに、ここには図示しないが、顧客は、提供されたコンピュータネットワーク、またはその代わりの他の遠隔コンピュータシステムからであるか否かにかかわらずに、遠隔資源サービスとの様々な他の種類の相互作用を実行してもよい。これには例えば、資源を使用するための会員登録/登録、種々の認証情報(例えば、ユーザID、パスワード等)の受信または構成、提供されたコンピュータネットワーク(私企業ネットワークへのネットワーク拡張等)から後にアクセスされる、他の遠隔コンピュータシステム(遠隔プライベート企業ネットワークの一部等)からの資源および/またはネームスペースの構成等が含まれる。
【0041】
図2は、設定可能なネットワークサービスの実施形態等に従った、コンピュータネットワークの提供に用いられる、コンピュータシステムの例示的な実施形態を示すネットワーク図である。特に、この実施例では、多数の物理的なコンピュータシステムが、データセンター200において同一場所に配置され、そして種々のネットワーク装置および1つ以上の物理的なネットワークを通じて相互接続される。この実施例では、物理的なコンピュータシステムおよび他のデバイスは、顧客用の複数のコンピュータネットワークを提供するために、設定可能なネットワークサービスによって用いられる。これは、仮想ネットワークとして提供されたコンピュータネットワーク各々を構築および維持すること、および仮想ネットワークがオーバーレイされたサブストレートネットワークとして物理的なネットワーク(単数または複数)を用いることによって達成される。例えば、図1Bの実施例において、データセンター200は、地理的位置1に配置されてもよく、図示した物理的なコンピュータシステムは、提供されたコンピュータネットワーク120aのコンピュータノード164、165および166を提供するために用いられてもよい。オーバーレイネットワークおよび内在するサブストレートネットワークの使用は、少なくとも一部の実施形態では、提供されたコンピュータネットワークのコンピュータノードに対して透過的でもよい。
【0042】
それ故、この実施例では、設定可能なネットワークサービスにより提供されたコンピュータネットワークは、内在する物理的なサブストレートネットワークを通じて通信を送信する仮想オーバーレイネットワークとして実装される。提供された仮想オーバーレイネットワークは、(物理的なサブストレートネットワークのネットワークプロトコル用に設定された通信における仮想ネットワークに関する仮想ネットワークアドレス情報を埋め込むこと等によって)一部の実施形態において通信をカプセル化しない等の、種々の実施形態における種々の手法により実装されてもよい。説明に役立つ一実施例のように、仮想ネットワークは、32−bit IPv4(「Internet Protocolバージョン4」)ネットワークアドレスを用いて実施されてもよく、それらの32−bit仮想ネットワークアドレスは、物理的なサブストレートネットワークにより用いられる128−bit IPv6(「Internet Protocolバージョン6」)ネットワークアドレスの一部として埋め込まれてもよい。これは例えば、通信パケットまたは他のデータ送信を(例えば、Stateless IP/ICMP Translartion、すなわちSIITを用いて)再ヘッダすること、または異なる第2のネットワークプロトコルに設定するために、それらを第1のネットワークプロトコルから変形するような、かかるデータ送信を他の方法により修正すること等によって実行される。説明に役立つ別の実施例のように、仮想ネットワークおよびサブストレートネットワークは両方とも、同一のネットワークアドレスプロトコル(例えば、IPv4またはIPv6)を用いて実装されてもよく、仮想ネットワークアドレスを用いた提供された仮想オーバーレイネットワークを通じて送信されたデータ通信は、サブストレートネットワーク上において送信されるが、サブストレートネットワークに対応する異なる物理的なネットワークアドレスを用いるように修正されてもよい。しかしながら、原型の仮想ネットワークアドレスは、修正されたデータ送信内に保存されるか、または他の方法により追跡される。これにより、データ送信は、サブストレートネットワークから抜け出たときに、それらの原型の形態に再保存され得る。他の実施形態では、オーバーレイネットワークの少なくとも一部は、通信のカプセル化を用いて実装されてもよい。
【0043】
図2に示した実施例は、設定可能なネットワークサービスの実施形態に従って稼働される複数の物理的なコンピュータシステムを用いたデータセンター200を含む。データセンター200は、データセンター200の外部における1つ以上のパブリックネットワーク235に接続される。これにより、プライベートネットワーク240を通じた1つ以上の遠隔コンピュータシステム245a、他の地理的位置における複数のコンピュータシステムをその各々が有する1つ以上の他の全体的にアクセス可能なデータセンター260、および1つ以上の他の遠隔コンピュータシステム245bへのアクセスが提供される。パブリックネットワーク235は、例えば、種々の異なる団体が稼働する可能性があるネットワークである、インターネット等の公的にアクセス可能なネットワークであってもよく、プライベートネットワーク240は、例えば、プライベートネットワーク240の外部におけるコンピュータシステムから全体的または部分的にアクセスできない企業ネットワークであってもよい。コンピュータシステム245b各々は、例えば(例えば、電話線、ケーブルモデル、デジタル加入者回線(「DSL」)等を通じて)、インターネットに直接接続するホームコンピュータシステムでもよい。
【0044】
この実施例では、仮想の提供されたコンピュータネットワークの設定は、設定可能なネットワークサービスの管理者モジュール210によって促進され、設定可能なネットワークサービスの複数の他のモジュールは、提供されたコンピュータネットワークの機能を実行するのに用いられる。これは例えば、サブストレートネットワークに入る、および/またはサブストレートネットワークから出る通信を修正することによって、物理的なサブストレートネットワークのエッジ等から提供される。特に、この実施例では、設定可能なネットワークサービスの複数のノード通信管理者モジュールは各々、より詳細に下に記載されるような、図示したノード通信管理者モジュール209a、209dおよび250等の関連するコンピュータノードへの、およびコンピュータノードからの通信を管理する。さらに、この実施例では、設定可能なネットワークサービスの外部通信管理者モジュール270は、下により詳細に記載するように、データセンター200および外部のコンピュータシステム内における物理的なコンピュータシステム間の通信を管理する。この実施例では、単一の外部通信管理者モジュール270のみが図示されたが、モジュール270の機能が、冗長性および負荷バランシングのため等に、複数のデバイスを用いて実行されてもよいことが理解される。
【0045】
データセンター200は、関連するコンピュータシステム255a〜255n用の通信を管理するために、1つ以上の他のコンピュータシステム(不図示)を実行するCNSノード通信管理者モジュール250、および1つ以上のコンピュータシステム(不図示)を実行する設定可能なネットワークサービスの管理者モジュール210と共に、多数の物理的なコンピュータシステム205a〜205dおよび255a〜255nを含む。この例示的な実施形態では、各物理的なコンピュータシステム205a〜205dは、複数の仮想マシンコンピュータノードをホストし、(例えば、物理的なコンピュータシステム用の仮想マシンハイパーバイザモニタの一部として)仮想マシン(「VM」)ノード通信管理者モジュールをさらに含む。これには例えば、コンピュータシステム205aにおけるCNS VMノード通信管理者モジュール209aおよび仮想マシン207a、並びにコンピュータシステム205dにおけるCNS VMノード通信管理者モジュール209dおよび仮想マシン207dが含まれる。仮想マシンコンピュータノードは各々、顧客用の提供されたコンピュータネットワークの異なるコンピュータノードとして設定可能なネットワークサービスにより用いられてもよい。物理的なコンピュータシステム255a〜255nは、この実施例では、いかなる仮想マシンをも実行しない。それ故、それらは、設定可能なネットワークサービスによって提供された顧客用のコンピュータネットワークの一部である異なるコンピュータノードとして各々が機能する。他の実施形態では、データセンターにおける物理的なコンピュータシステムの全てが仮想マシンをホストするかもしれないし、またはそのどれもホストしないかもしれない。
【0046】
この例示的なデータセンターは、スイッチ215aおよび215b、エッジルータ225a〜225c、およびコアルータ230a〜230c等の複数の物理的なネットワーク装置をさらに含む。スイッチ215aは、物理的なコンピュータシステム205a〜205cを含む物理的なネットワークの一部であり、エッジルータ225aに接続される。スイッチ215bは、物理的なコンピュータシステム205d、255a〜255n、並びにCNSノード通信管理者モジュール250およびCNSシステム管理者モジュール210を提供するコンピュータシステム(単数または複数)を含む異なる物理的なネットワークの一部であり、エッジルータ225bに接続される。スイッチ215a〜215bによって順次構築される物理的なネットワークは、同様に、エッジルータ225a〜225cおよびコアルータ230a〜230cを含む中間相互接続ネットワーク220を通じて、互いにかつ他のネットワーク(パブリックネットワーク235等)に接続される。エッジルータ225a〜225cは、2つ以上のネットワーク間のゲートウェイを提供する。例えば、エッジルータ225aは、スイッチ 215aにより構築された物理的なネットワークと、相互接続ネットワーク220との間のゲートウェイを提供する。 エッジルータ225cは、相互接続ネットワーク220と、パブリックネットワーク235との間におけるゲートウェイを提供する。コアルータ230a〜230cは、相互接続ネットワーク220内の通信を管理する。これは例えば、そのデータ送信の特性(例えば、発信元および/または宛先サブストレートネットワークアドレス、プロトコル識別子等を含むヘッダ情報等)、および/または相互接続ネットワーク220自体の特性(例えば、物理的なネットワークトポロジーに基づくルート等)に基づいて適合するようなパケットまたは他のデータ送信を転送することよって実行される。
【0047】
説明されたノード通信管理者モジュールは、関連するコンピュータノードへの、および関連するコンピュータノードから送信された通信を管理する。例えば、ノード通信管理者モジュール209aは、関連する仮想マシンコンピュータノード207aを管理し、ノード通信管理者モジュール209dは、関連する仮想マシンコンピュータノード207dを管理し、他のノード通信管理者モジュールは各々、1つ以上の他の関連するコンピュータノードのグループに対する通信を同様に管理する場合がある。説明されたノード通信管理者モジュールは、コンピュータノード間の通信を管理してもよく、中間物理的サブストレートネットワーク(スイッチ215aおよび215bに関連する相互接続ネットワーク220および物理的なネットワーク等)上の特定の仮想ネットワークをオーバーレイする。また、このような通信を制御するためのファイアウォールポリシーおよび他のネットワークアクセス制限を実施してもよい。外部通信管理者モジュール270は、例えば、このような外部通信に関するデータセンター200内のサブストレートネットワーク上でオーバーレイネットワークをさらに実施するように、データセンター200に入り、かつデータセンター200から出る外部通信を管理する。外部通信管理者モジュール270は、ファイアウォールポリシーおよび他のネットワークアクセス制限を実施するように手段を取ってもよい。この手段には、データセンター200の外部における遠隔資源サービスへのプライベート、または他の特殊なアクセスを可能にする、提供されたコンピュータネットワークのための少なくとも一部の設定されたアクセス機構、および遠隔の顧客コンピュータネットワークの外部における少なくとも一部のVPN接続が任意選択的に含まれる。または、その代わりに、このようなVPN接続における設定可能なネットワークサービスの一部を実施する他のハードウェアおよび/またはソフトウェア(不図示)と連動して稼働してもよい。
【0048】
それ故、説明に役立つ一実施例のように、コンピュータシステム205aにおける仮想マシンコンピュータノード207aの1つは、仮想ネットワーク用の仮想ネットワークアドレスを表示するのに利用されるIPv4を用いた、コンピュータシステム205dにおける仮想マシンコンピュータノード207dおよびコンピュータシステム255a(および、任意選択的に、このデータセンター、またはこれも設定可能なネットワークサービスにより用いられる1つ以上の他のデータセンター260における他のコンピュータノード)のうちの1つと共に、顧客用の特定の提供された仮想コンピュータネットワーク(例えば、図1Bの提供されたコンピュータネットワーク120a)の一部であってもよい。仮想マシンコンピュータノード207a、仮想マシンコンピュータノード207d、およびコンピュータシステム255b〜255nの他のものは、(他の説明されたコンピュータノードと同様に)他の顧客に提供されている他のコンピュータネットワークに現在専用でもよく、提供されたコンピュータネットワークに現在指定されていないかもしれず、設定可能なネットワークサービスにより利用可能であってもよく、かつ/または同一の特定の提供された仮想コンピュータネットワークの一部でもあってもよい。特定の提供された仮想コンピュータネットワークの一部である仮想マシンコンピュータノード207aにおける、顧客用のプログラム実行は、次に、特定の提供された仮想コンピュータネットワークの仮想マシンコンピュータノード207dへの発信(不図示)を導く場合がある。これは例えば、その宛先仮想マシンコンピュータノード207dにおいて指定された、その提供された仮想コンピュータネットワーク用の仮想ネットワークアドレスを特定することにより達成される。ノード通信管理者モジュール209aは、その発信を受信し、少なくとも一部の実施形態では、発信の送信を許可するか否かを確定する。これは例えば、(例えば、許可の確定、このような情報の一部または全て等を得るための)送信仮想マシンコンピュータノード207a、および/または宛先仮想マシンコンピュータノード207dに関する以前に設定された情報に基づいて、かつ/またはシステム管理者モジュール210と動的に通信することによって実行される。
【0049】
ノード通信管理者モジュール209aが、発信が許可されたことを確定する(または、このような許可の確定を実行しない)場合には、モジュール209aは、通信用の宛先仮想ネットワークアドレスに対応する実際の物理的なサブストレートネットワークロケーションを確定する。この実施例では、相互接続ネットワークは、相互接続ネットワークを通じて接続された、コンピュータノード用の実際のネットワークアドレスを表示するIPv6を用いる。また、モジュール209aは、それが実際のIPv6サブストレートネットワークアドレスを利用してノード通信管理者モジュール209dに導かれるように、発信を再ヘッダする。ノード通信管理者モジュール209aは、宛先仮想コンピュータノード207dの仮想ネットワークアドレスに用いられるための、実際のIPv6宛先ネットワークアドレスを確定してもよい。これは例えば、システム管理者モジュール210と動的に通信すること、または(例えば、アドレス絞り込みプロトコルまたはARPを用いた要求等の、その宛先仮想ネットワークアドレスに関する情報のために、仮想マシンコンピュータノード207aを送信する事前の要求に応答して)、その情報を事前に確定および保存することによって達成される。この実施例では、用いられる実際のIPv6宛先ネットワークアドレスは、カプセル化無しにオーバーレイネットワーク上における通信を送信するために、仮想宛先ネットワークアドレスおよび追加的な情報が埋め込まれる。
【0050】
ノード通信管理者モジュール209dは、相互接続ネットワーク220を通じて通信を受信する際に、仮想宛先ネットワークアドレスおよび実際のIPv6宛先ネットワークアドレスからの追加的な情報を抽出し、仮想マシンコンピュータノード207dのどれへ通信が導かれるかを確定する。ノード通信管理者モジュール209dは、次に、仮想発信元ネットワークアドレスおよび実際のIPv6発信元ネットワークアドレスからの追加的な情報を抽出すること、およびその仮想発信元ネットワークアドレスを有するコンピュータノードが通信を転送したノード通信管理者モジュール(この実施例では、ノード通信管理者モジュール209a)によって実際に管理されるかを確認すること等によって、宛先仮想マシンコンピュータノード207d用に許可された通信か否かを任意選択的に確定する。これにより、悪意のある送信者による発信元ネットワークアドレスにおける他人へのなりすましを防止する。通信の許可が確定された場合には(または、ノード通信管理者モジュール209dが、このような許可の確定を実行しない場合には)、モジュール209dは、次に、着信を再ヘッダする。これにより、それは、仮想ネットワーク用に適切なIPv4ネットワークアドレスを利用して、宛先仮想マシンコンピュータノード207dに導かれる。これは例えば、発信元ネットワークアドレスとして、送信仮想マシンコンピュータノードの仮想ネットワークアドレス、および宛先ネットワークアドレスとして、宛先仮想機械コンピュータノードの仮想ネットワークアドレスを用いることによって達成される。着信の再ヘッダ後に、モジュール209dは、次に、宛先仮想マシンコンピュータノードに、修正された通信を転送する。少なくとも一部の実施形態では、宛先仮想マシンへの着信の転送前に、モジュール209dは、安全に関する追加的な措置をさらに実行できる。例えば、モジュール209dは、送信仮想マシンコンピュータノードが、(例えば、同一の客または他の事業体と関連付けられ、そのコンピュータノードが互いの通信を許可された異なる事業団体と関連付けられた、等の、同一の仮想ネットワークの所属、および/またはその提供された仮想ネットワーク用の特定のネットワークアクセス制限情報等に基づいて)宛先仮想マシンとの通信を許可されたか、および/または着信が許可された種類かを検証してもよい。これは例えば、モジュール209dによって以前に得られた情報、またはシステム管理者モジュール210との通信に基づいて検証される。
【0051】
送信仮想マシンコンピュータノード207aが、その代わりに(または、それに加えて)、データセンター200の外部への1つ以上の意図された宛先コンピュータシステムへの発信を(不図示)導く場合には、ノード通信管理者モジュール209aは、同様の方式にてその発信を受信および処理する。意図された外部の宛先コンピュータシステムは、例えば、(例えば、特定の提供されたコンピュータネットワークが拡張である遠隔仮想顧客コンピュータネットワーク上、または特定の仮想コンピュータネットワークの一部を提供するための設定可能なネットワークサービスにも用いられる別のデータセンター260における)同一の特定の提供された仮想コンピュータネットワークの一部である別のコンピュータノード、遠隔資源サービスのコンピュータシステム、インターネット上で公的にアクセス可能なコンピュータシステム等でもよい。少なくとも一部の実施形態および状況では、モジュール209aは、発信の送信を許可するか否かを第1に確定してもよく、そうである場合は、通信用の宛先ネットワークアドレスに対応する実際の物理的なサブストレートネットワークロケーションを確定する。この実施例では、例えば、モジュール270が、他の方法においてもノード通信管理者モジュールに指定されない全ての仮想および/または実際のネットワークアドレスに関連する場合に、確定された物理的なサブストレートネットワークロケーションは、外部の通信管理者モジュール270に対応する。モジュール270が、相互接続ネットワーク220を通じて通信を受信する際に、宛先ネットワークアドレスおよび受信した通信からの追加的な情報を同様に抽出する。そして、通信が意図された宛先用に許可されるか否かの任意選択的な判定を含む、通信を転送するか否か、かつどのように転送するかを判定する。通信が許可されることが判定された場合には(または、モジュール270がこのような許可の判定を実行しない場合には)、モジュール270は、次に、着信を再ヘッダする。これにより、それは、適切なIPv4パブリックネットワークアドレス(または、パブリックネットワーク235に適切な他のネットワークアドレス)を用いて宛先に導かれ、そして、パブリックネットワーク235上において修正された通信を転送する。
【0052】
それ故、上述のように、外部通信管理者モジュール270は、それらの遠隔資源サービス用の設定されたアクセス機構を通じて遠隔資源サービスに送信された発信を含むような、図示した実施形態における提供されたコンピュータネットワークからの発信を処理する。特定の提供されたコンピュータネットワーク用の設定されたアクセス機構を通じて、発信が遠隔資源サービスに送信されている場合には、モジュール270および/または送信コンピュータノードの関連するノード通信管理者モジュールは、少なくとも一部の実施形態および状況においてさらなる手段を取ってもよい。例えば、特定の提供された仮想コンピュータネットワークは、その遠隔資源サービスの特定のネームスペースにマッピングされた、特定の遠隔資源サービス(1つ以上のコンピュータシステム245bまたは別のデータセンター260における1つ以上のコンピュータシステムを通じて提供された遠隔資源サービス等)用の設定されたアクセス機構を有してもよい。また、送信仮想マシンコンピュータノード207aは、その設定されたアクセス機構を通じて通信を送信してもよい。特定の提供されたコンピュータネットワーク用のその遠隔資源サービスへの設定されたアクセス機構は、例えば、その設定されたアクセス機構を表示するように指定された、特定の提供されたコンピュータネットワークの仮想ネットワークアドレスでもよい。また、このような場合に、その割り当てられた仮想ネットワークアドレスは、発信がモジュール270に導かれるように、モジュール270に関連付けられてもよい。パブリックネットワーク235を通じて遠隔資源サービスにこのような発信を転送する前に、モジュール270は、用いられるアクセス機構における設定を反映する種々の手段を取ってもよい。この手段には例えば、照会に対する発信の修正、または他の方法による、アクセス機構に対応する特定のネームスペースの使用が含まれる。このような状況では、モジュール270は、種々の手法により、ネームスペースおよびアクセス機構用の他の設定情報を確定できる。これは例えば、設定情報を局所的に保存すること、設定情報を得るために、システム管理者モジュール210と交信すること等により実行される。さらに、モジュール270は、種々の方法により、特定のネームスペースを使用するために、どのように、およびどのタイミングで通信を修正するかを確定してもよい。これは例えば、設定可能なネットワークサービスに以前に提供された対応する設定情報(ネームスペースを指定する1つ以上の特定のメッセージパラメータの指定、ネームスペース識別子を任意選択的に含んでもよい資源を指定または照会するのに用いられる1つ以上の特定のメッセージパラメータの指定、ネームスペースが指定される、または他の方法によりネームスペース情報を用いるメッセージの種類の指定等)を有する遠隔資源サービスによって実行される。
【0053】
1つの特定の説明に役立つ実例として、遠隔資源サービスは、(例えば、保存オブジェクトまたは保存データの他のグループを読み出すための)データ保存サービスを提供してもよく、そして発信は、特定の保存関連資源にアクセスするための要求でもよい。このような場合に、特定の保存資源は、顧客に規定されたネームスペースの一部として、提供されたコンピュータネットワークの外部におけるコンピュータシステムを用いること等によって、(例えば、顧客の遠隔プライベートコンピュータネットワークにおいて)顧客により事前に構成されていてもよい。その同一のネームスペースを用いるための、特定の提供されたコンピュータネットワーク用のアクセス機構を設定することによって、提供されたコンピュータネットワークのコンピュータノードは、顧客の既存の保存資源にアクセスし、かつそれを利用してもよい。説明に役立つ実施例として、顧客の遠隔プライベートコンピュータネットワークが企業ネットワークである場合には、顧客は、異なる種類のデータを保存するために、異なるネームスペースを使用してもよい。この保存には例えば、第1のネームスペースには慎重に扱うべき人事データの保存、第2のネームスペースには部外秘のソフトウェア開発ソフトウェアおよび他のデータの保存、および第3のネームスペースを通じて、一般的に、企業全体において利用可能な他の企業データの保存が含まれる。設定可能なネットワークサービスの提供されたコンピュータネットワークが、企業の特定のサブセット(例えば、人事の人員)のみにより用いられる場合には、特定の提供されたコンピュータネットワーク用の遠隔資源サービスへのアクセス機構は、慎重に扱うべき人事データ用の第1のネームスペースを用いるように設定されてもよい。さらにまた、特定の提供されたコンピュータネットワークは、例えば、一般に入手可能な企業データ用の第3のネームスペースを使用するように、(例えば、提供されたコンピュータネットワークの異なって割り当てられた仮想ネットワークアドレスを用いた)遠隔資源サービスに設定された第2のアクセス機構を任意選択的に有してもよい。これにより、特定の提供されたコンピュータネットワークのコンピュータノードは、資源の異なるグループへのアクセスを得るために、特定の提供されたコンピュータネットワークの異なるローカル仮想ネットワークアドレスと通信してもよい。
【0054】
説明に役立つ他の実施例のように、特定の提供されたコンピュータネットワーク用の遠隔資源サービスへのアクセス機構は、その代わりに、特定の提供されたコンピュータネットワークのコンピュータノードのみが、それらのコンピュータノードにより構成および使用される保存資源にアクセスできるように設定されてもよい。このような場合に、設定可能なネットワークサービスは、(例えば、特定の提供されたコンピュータネットワークのコンピュータノードにその情報を供給すること無く)新規のネームスペースを自動的に生成すること、または設定情報を用いた顧客によって指定される新規のネームスペースを利用すること等によって、特定の提供されたコンピュータネットワークを利用するための新規のネームスペースを確定してもよく、そして新規のネームスペースを用いるためのアクセス機構を設定してもよい。設定可能なネットワークサービスまたは特定の提供されたコンピュータネットワークのコンピュータノードは、遠隔資源サービスに応じて、遠隔資源サービス内において新規のネームスペースを構成するための初期の手段をさらに取る必要がある場合がある。新規のネームスペースが一旦利用可能になると、特定の提供されたコンピュータネットワークのコンピュータノードは、新規のネームスペースの一部である新規の保存された資源を構成するように遠隔資源サービスと通信し、このような保存された資源にアクセスする、設定されたアクセス機構を同様に利用してもよい。そして、外部通信管理者モジュール270は、新規のネームスペースを利用するのに適合するように、同様に発信を修正する。
【0055】
特定の遠隔資源サービス内の特定のネームスペースに対応する設定されたアクセス機構を実施するような設定に加えて、またはその代わりに、外部通信管理者モジュール270は、一部の実施形態では、そのアクセス機構を通じてその遠隔資源サービスに送信される通信の一部または全て用のアクセスコントロールに関連する1つ以上の追加的なインジケータを含むように設定されてもよい。そして、送信仮想マシンコンピュータノード207aは、その設定されたアクセス機構を通じてこのような通信を送信できる。パブリックネットワーク235を通じて遠隔資源サービスにこのような発信を転送する前に、モジュール270は、用いられるアクセス機構用の設定を反映する種々の手段を取ってもよい。この手段には例えば、(例えば、送信仮想マシンコンピュータノード207aによって特定の任意のインジケータの代わりであるか、またはそれに加えてであるかに関わらずに、1つ以上のアクセスコントロールインジケータの顧客仕様が、遠隔資源サービスにより支持された方式において1つ以上の追加的なインジケータを含むことを、遠隔資源サービスが可能にする場合に)遠隔資源サービスに特定の方式を用いた、通信のヘッダおよび/または主部の修正等の、アクセス機構が対応する1つ以上の追加的なインジケータを含む発信の修正が含まれる。このような状況では、モジュール270は、種々の手法にてアクセス機構用の追加的なインジケータ(単数または複数)を確定してもよい。これには例えば、情報の局所的な保存、情報を得るためのシステム管理者モジュール210との交信等が含まれる。さらに、モジュール270は、種々の方法により、特定の追加的なインジケータ(単数または複数)を用いるための通信をどのように、かつどのタイミングで修正するかを確定してもよい。これは例えば、設定可能なネットワークサービスに以前に提供された対応する設定情報(例えば、このようなアクセスコントロールインジケータを指定する1つ以上の特定のメッセージパラメータの指定、1つ以上のこのようなアクセスコントロールインジケータを任意選択的に含んでもよい、資源へのアクセスに用いられる1つ以上の特定のメッセージパラメータの指定、1つ以上のこのようなアクセスコントロールインジケータの特定、またはこのようなアクセスコントロールインジケータの他の方法による使用を可能にするメッセージ種類の指定等)を有する遠隔資源サービスによって実行される。
【0056】
設定されたアクセス機構を用いたネームスペース情報の使用に関して上述した実施例と同様の方式によって、遠隔資源サービスは、(例えば、保存されたオブジェクトまたは保存されたデータの他のグループを読み出すための)データ保存サービスを提供してもよく、そして発信は、特定の保存関連資源にアクセスするための要求でもよい。このような場合に、特定の保存資源は、送信仮想マシンコンピュータノード207aが属する、提供されたコンピュータネットワークのコンピュータノードの1つによって事前に構成されていてもよいか、または現在の通信の一部として新規に構成またはアクセスされてもよい。一部の実施形態では、設定可能なネットワークサービスは、遠隔資源サービスに応じて、(例えばそれらを規定するための)遠隔資源サービス内において共に用いられる1つ以上の追加的なインジケータを特定するための初期の手段をさらに取る必要がある場合がある。他の箇所により詳細に記載するように、送信仮想マシンコンピュータノード207aおよび関連する顧客は、追加的なインジケータ(単数または複数)の使用を認識しない場合があるが、しかしながら、外部通信管理者モジュール270はそれでもなお、関連するインジケータ(単数または複数)の使用に適合するように発信を修正する。
【0057】
さらにまた、上述のように、図示した実施形態では、外部通信管理者モジュール270は、特定の遠隔コンピュータネットワークへの設定されたVPN接続を通じて送信された発信等の、提供されたコンピュータネットワーク拡張から、それにその拡張が対応する遠隔コンピュータネットワークへの発信を処理する。少なくとも一部の実施形態では、データセンター200から遠隔のロケーションから、データセンター200における顧客用の提供されたコンピュータネットワークまでのこのようなVPN接続の構築を、顧客がプログラム的に起動できる遠隔アクセス構築APIを、設定可能なネットワークサービスは提供する。これには例えば、適合するハードウェアデバイス、ソフトウェアおよび/または設定情報を、VPN接続の構築において顧客に用いられる遠隔地に配信させることが含まれる。例えば、コンピュータシステム245bの1つは、このようなハードウェアデバイスおよび/またはソフトウェアを販売または他の方法により提供するオンライン小売業者に対応する場合がある。そして、このような場合に、設定可能なネットワークサービスは、(例えば、顧客用の設定可能なネットワークサービスによって以前に保存された情報基づいて、顧客用の小売業者によって以前に保存された情報に基づいて等、設定可能なネットワークサービスの提供されたAPIの起動の一部として、顧客に特定の)顧客に対応した遠隔のロケーションまたは指定された他のロケーションに配信される、このようなハードウェアデバイスおよび/またはソフトウェアを注文するために、小売業者により提供された分離APIを用いてもよい。顧客が提供されたコンピュータネットワークへの遠隔アクセスを有することが可能なこのようなVPN接続または他の安全な接続が一旦構築されると、モジュール270は、安全な接続が対応する遠隔のロケーションにおける1つ以上の宛先コンピュータシステムを意図する発信を送信するための安全な接続を使用することによるなどの、安全な接続を支援する手段をさらに取ってもよい。
【0058】
それ故、図2に関連して上述したように、少なくとも一部の実施形態では、設定可能なネットワークサービスは、内在するサブストレートネットワークを用いたオーバーレイネットワークとしてそれらを実装することによって、顧客に仮想コンピュータネットワークを提供する。これは例えば、設定可能なネットワークサービスの種々のノード通信管理者モジュールおよび設定可能なネットワークサービスの1つ以上の外部通信管理者モジュールを用いて実行される。少なくとも一部の実施形態では、1つ以上のシステム管理者モジュールは、そこに提供された仮想ネットワークに属するコンピュータノードの追跡および/または管理、並びに(例えば、特定の顧客または他の事業体による)特定の仮想ネットワークに用いられる仮想ネットワークアドレスに対応する実際の物理的なサブストレートネットワークアドレスに関する情報の提供等によって、コンピュータノード間の通信の設定をさらに促進してもよい。さらに、システム管理者モジュールは、目標の物理的なコンピュータシステムにおける仮想マシンコンピュータノード、および仮想マシンが関連付けられた提供された仮想ネットワークの指定を受信してもよい。そして次に、仮想マシンを仮想ネットワークと関連付けるために、目標の物理的なコンピュータシステム用の仮想マシンノード通信管理者モジュールの設定を起動する。または、その代わりに、ノード通信管理者モジュールが、(例えば、仮想マシンが通信を最初に起動または受信したときに)その設定を起動してもよい。
【0059】
少なくとも一部の実施形態では、許可されない通信の認識および/または防止は、上述のように、仮想ネットワークがオーバーレイされた1つ以上の中間サブストレートネットワークのトポロジーに少なくとも部分的に基づいてもよい。このような実施形態では、サブストレートネットワーク上における通信用のこのようなコンピュータノードに用いられる物理的なネットワークアドレスは、コンピュータノードの仮想ネットワークアドレスの指定、およびコンピュータノードの関連するノード通信管理者モジュールのロケーションに対応する、サブストレートネットワーク用の部分的なネットワークアドレスを含む(例えば、サブネットワークまたはノード通信管理者モジュールが通信をそれに対して管理するサブストレートネットワークの他の部分)。それ故、仮想ネットワークの一部である、コンピュータノード用の有効な物理的なネットワークアドレスを悪意のあるユーザが正しく構成するためには、その悪意のあるユーザは、関連するノード通信管理者モジュール用の部分的なネットワークアドレスの確定、および物理的なネットワークアドレスを構成するその情報をどのように用いるかの確定を目的として、コンピュータノードの物理的なサブストレートネットワークロケーションのトポロジーに関する情報へのアクセスを得るように、コンピュータノードが属する仮想ネットワークに関する情報へのアクセスを得る必要がある。構成された物理的なネットワークアドレスの有効性は、構成された物理的なネットワークアドレスに埋め込まれた仮想アドレスが対応するコンピュータノードの識別、および部分的なネットワークアドレスに対応する、サブストレートネットワークの一部におけるコンピュータノードの1つに対応する、その識別されたコンピュータノード(例えば、部分的なネットワークアドレスが対応するノード通信管理者モジュールによって管理されるコンピュータノードの1つ)のロケーションの検証等の種々の手法により検査される場合がある。さらに、構成された物理的なネットワークアドレスの有効性は、例えば、(例えば、発信元の物理的なネットワークアドレスが有効であることを実証するために)宛先コンピュータノードを意図する着信を受信するノード通信管理者モジュールによる、指定されて管理されたコンピュータノード代わりとなる、ノード通信管理者モジュールから意図的にメッセージ(対象となる意図された宛先コンピュータノード用の物理的なネットワークアドレスを要求するメッセージ等)を受信する管理者モジュールによる等、様々な時点で検査されてもよい。
【0060】
図4図5および図6は、少なくとも一部の実施形態における、システム管理者モジュール210、ノード通信管理者モジュール、および外部通信管理者モジュール270各々の行為に関連する追加的な詳細を提供する。さらにまた、少なくとも一部の実施形態に用いられてもよいオーバーレイネットワークの実施に関連する追加的な詳細は、2008年3月31日に出願された米国出願番号12/060074(代理人整理番号120137.576)である名称「Configuring Communications Between Computing Nodes」に含まれ、その全ての内容は参照により本明細書中に組み込まれる。
【0061】
図3は、遠隔の顧客に用いられるコンピュータネットワークを提供するシステムの実施形態を実行するのに適した例示的なコンピュータシステムを示すブロック図である。特に、図3は、種々の顧客コンピュータシステム350、ホストコンピュータシステム360、および他のコンピュータシステム380と共に、設定可能なネットワークサービスの提供を支援する設定可能なネットワークサービスシステム管理者モジュールの実施形態の実行に適したサーバコンピュータシステム300を示す。ここには図示しないが、一部の実施形態では、説明されたコンピュータシステムの少なくとも一部は、図1Bおよび図2に関してより詳細に記載されるように、データセンター等において、同一場所に配置されるか、または他の方法により関連してもよい(例えば、サーバコンピュータシステム300と、設定可能なネットワークサービスの一部となるホストコンピュータシステム360の少なくとも一部との関連)。さらに、ここには図示しないが、少なくとも一部の実施形態において、種々のノード通信管理者モジュールおよび1つ以上の外部通信管理者モジュール等の設定可能なネットワークサービスの種々の他のモジュールが存在してもよく、用いられてもよい。
【0062】
図示した実施形態では、サーバコンピュータシステム300は、CPU305、種々のI/Oコンポーネント310、保存装置320、およびメモリ330を含むコンポーネントを有する。説明されたI/Oコンポーネントは、ディスプレイ311、ネットワーク接続312、コンピュータ可読のメディアドライブ313、および他のI/Oデバイス315(例えば、キーボード、マウス、スピーカ等)を含む。さらに、説明された顧客コンピュータシステム350は、CPU351、I/Oコンポーネント352、保存装置354、およびメモリ357を含む、サーバコンピュータシステム300のそれらと同様のコンポーネントを有する。他のコンピュータシステム360および380は各々、サーバコンピュータシステム300に関して図示されたコンポーネントの一部または全てと同様のコンポーネントをも含んでもよい。しかしながら、これらのコンポーネントは、簡潔さを目的として、この実施例では図示されない。
【0063】
設定可能なネットワークサービス(「CNS」)管理者モジュール340の実施形態は、メモリ330内において実行され、(例えば、インターネットおよび/またはワールドワイドウェブ、プライベートセルラーネットワーク、設定可能なネットワークサービスに用いられるプライベートサブストレートネットワーク等を通じて)1つ以上のネットワーク390上でコンピュータシステム350、360および380と通信する。この例示的な実施形態では、モジュール340は、提供されたコンピュータネットワークを設定およびそれにアクセスするために、コンピュータシステム350を用いる顧客とともに設定可能なネットワークサービスの一部として、種々の顧客(不図示)に用いられるためのコンピュータネットワークの提供および管理に関連する機能を含む作用を有する。ホストコンピュータシステム360は、設定可能なネットワークサービスにより提供されたコンピュータネットワーク用のコンピュータノードの提供することによる等の、設定可能なネットワークサービスの提供も支援してもよい。同様に、少なくとも一部の実施形態では、他のコンピュータシステム380の少なくとも一部は、設定可能なネットワークサービスの提供をさらに支援してもよい。これは例えば、(例えば、VPN接続または他のアクセス機構の実施によって)提供されたコンピュータネットワークと外部の遠隔コンピュータシステムとの間の相互通信を容易にすることによる、提供されたコンピュータネットワークがアクセスするように設定された遠隔資源サービスを提供することによる、(例えば、サブストレートネットワークの一部、または通信を促進する設定可能なネットワークサービスの他の設備を実施することによって)提供されたコンピュータネットワークのコンピュータノード間の相互通信を容易にすることによる等によって実行される。
【0064】
他のコンピュータシステム350、360および380は、モジュール340との相互作用の一部として種々のソフトウェアを実行してもよい。例えば、顧客コンピュータシステム350の一部または全ては、各々、モジュール340と通信するために、(例えば、ウェブブラウザまたは特殊な顧客側のアプリケーションプログラムの一部として)メモリ357内でソフトウェアを実行してもよい。これは例えば、顧客コンピュータシステムのユーザが、設定可能なネットワークサービスのユーザまたは他の顧客に用いられるコンピュータネットワークを構成および設定可能なように実行される。さらにまた、顧客コンピュータシステム350および/または他のコンピュータシステム380の一部または全ては、各々、顧客用の設定可能なネットワークサービスによって提供されているコンピュータネットワークと顧客の代わりに通信するために、メモリ357内のソフトウェアを実行できる。これは例えば、複数の顧客コンピュータシステム350および/または顧客用の遠隔ネットワークの一部である他のコンピュータシステム380と、顧客の遠隔ネットワーク用の提供されたコンピュータネットワーク拡張の一部として、コンピュータノードを提供する複数のホストコンピュータシステム360とを接続するVPN接続等を通じて実行される。さらに、顧客コンピュータシステム350の1人以上のユーザは、他の箇所により詳細に記載するような、種々の他の種類の行為(例えば、提供されたコンピュータネットワークの利用を監視するための、設定可能なネットワークサービスを有する顧客のアカウントに関連する管理機能等)を実行するために、モジュール340と通信してもよい。さらにまた、ホストコンピュータシステム360および/または他のコンピュータシステム380の一部は、提供されたコンピュータネットワークのコンピュータノードへの、およびコンピュータノードから送信された通信の管理を支援するノード通信管理者モジュール等の、設定可能なネットワークサービスの提供を支援するためのソフトウェアモジュール(不図示)を実行してもよい。さらに、コンピュータシステム360および380の他方は、種々のユーザに利用可能な遠隔資源サービス等を実行するための他の機能を実行できる。モジュール340および設定可能なネットワークサービスの作用に関連する種々の情報は、保存装置320にも保存されてもよい。この情報は、例えば情報322であり、複数の顧客の利益となる、コンピュータネットワークの設定および/または供給に関連する情報を含んでもよい。
【0065】
顧客用のコンピュータネットワークの構成および設定のための1つ以上の要求(または、他の指定)を、モジュール340が受信した後、モジュール340は、他の箇所により詳細に記載するような種々の行為を実行してもよい。このような行為には、コンピュータネットワークの一部となるホストコンピュータシステム360から1つ以上のコンピュータノードを選択すること、そのコンピュータネットワークを提供するために、それらのホストコンピュータシステムおよび/または他のコンピュータシステムを設定すること、および顧客の遠隔コンピュータシステム350または遠隔の他のコンピュータシステム380に提供されたコンピュータネットワークのアクセスを開始することが含まれてもよい。さらに、モジュール340は、例えば、顧客からの要求に応答して、またはその代わりに、自動的に確定された提供されているコンピュータネットワークを管理するように、コンピュータシステム360とさらに通信してもよい。この管理には、場合によっては、(例えば、提供されたコンピュータネットワークの1つ以上のコンピュータノードにおいて実行されるプログラムを、他のコンピュータノードに移動させることによる、)提供されたコンピュータネットワークの一部であるコンピュータノードの数量の増加または減少、提供されたコンピュータネットワーク用の設定されたネットワークトポロジーの修正、提供されたコンピュータネットワークのコンピュータノードを提供する特定のホストコンピュータシステムの修正等が含まれる。さらに、モジュール340は、提供されたコンピュータネットワークの利用および工程を追跡するために、ホストコンピュータシステム360の1つ以上を監視またはそれと他の方法により通信してもよい。
【0066】
コンピュータシステム300、350、360および380は、単に例示であり、本発明の範囲を制限することを意図しないことが理解される。コンピュータシステムおよび/またはコンピュータノード各々は、むしろ、複数の通信コンピュータシステムまたはデバイスを含んでもよい。また、コンピュータシステムまたはノードは、インターネット等の1つ以上のネットワーク、ウェブ、またはプライベートネットワーク(例えば、モバイル通信ネットワーク等)を通じて、図示しない他のデバイスと接続されてもよい。より一般的に、コンピュータノードまたは他のコンピュータシステムは、通信および記載した種類の機能性を実行してもよいハードウェアまたはソフトウェアの任意の組み合わせを備えてもよい。これには、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワーク記憶装置および他のネットワーク装置、PDA、携帯電話、無線電話、ポケベル、電子手帳、インターネット家電、(例えば、セットトップボックスおよび/または個人用/デジタルビデオ記録装置を用いた)テレビジョンベースシステム、並びに適切な通信性能を有する種々の他の消費者製品が無制限に含まれる。さらに、一部の実施形態では、追加的なモジュールに図示されたモジュール340により提供された機能性が分配されてもよく、またはモジュール340は、設定可能なネットワークサービスの多重モジュール(例えば、1つ以上のシステム管理者モジュール、1つ以上のノード通信管理者モジュール、および1つ以上の外部通信管理者モジュール)によって提供されているような、他の箇所に記載した機能性を組み込んでもよい。同様に、一部の実施形態では、モジュール340の機能性の一部は提供されないことがあり、かつ/または他の追加的な機能性が利用できることがある。
【0067】
種々の項目が、用いられつつメモリ内または保存装置において保存されるものとして示されたが、これらの項目またはそれらの一部は、メモリ管理およびデータの完全性を目的として、メモリおよび他の記憶装置間を移動されてもよいこともさらに理解される。代替的に、他の実施形態では、ソフトウェアモジュールおよび/またはシステムの一部または全ては、別のデバイスのメモリ内において実行されてもよく、コンピュータ間の通信を通じて示されたコンピュータシステムと通信してもよい。さらにまた、一部の実施形態では、ファームウェアおよび/またはハードウェアに少なくとも部分的に含まれる等の、他の方式にて実施または提供されてもよいシステムおよび/またはモジュールの一部または全ては、1つ以上の特定用途向け集積回路(ASIC)、標準集積回路、(例えば、適切な命令を実行することにより、かつマイクロコントローラおよび/または組込コントローラを含む)制御装置、フィールドプログラマブルゲートアレイ(FPGA)、結合プログラム可能論理回路(CPLD)等を含むが、これらに限定されない。モジュール、システム、およびデータ構造の一部または全ては、ハードディスク、メモリ、ネットワーク、もしくは適切なドライブによって、または適切な接続を通じて読み取られるポータブルメディアアーティクル等の、コンピュータ可読媒体上に(例えば、ソフトウェア命令または構造データとして)保存されてもよい。システム、モジュール、およびデータ構造は、さらに、無線ベースおよび有線/ケーブルベース媒体を含む様々なコンピュータ可読の送信媒体上の生成データ信号として(例えば、搬送波または他のアナログもしくはデジタル伝播信号の一部として)送信されてもよく、(例えば、単一または多重アナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして)様々な形態を取ってもよい。このようなコンピュータプログラム製品は、他の実施形態ではまた他の形態を取ってもよい。それ故、本発明は、他のコンピュータシステム設定において実行されてもよい。
【0068】
図4Aおよび図4Bは、設定可能なネットワークサービス管理者ルーティン400の例示的な実施形態のフローチャートを示す。このルーティンは、例えば、遠隔の顧客にコンピュータネットワークを提供する設定可能なネットワークサービスの稼動の管理を支援することなどのような、図1Aのシステム管理者モジュール110、図2のシステム管理者モジュール210、および/または図3のシステム管理者モジュール340の実行によって提供されてもよい。図示した実施形態では、ルーティン400により構成および提供されたコンピュータネットワークの少なくとも一部は、顧客の既存の遠隔ネットワークの拡張でもよい。一方、他の実施形態では、ルーティン400により構成および提供されたネットワークは、その代わりに、他のネットワークの拡張ではない、顧客に用いられるスタンドアロンのネットワークでもよい。
【0069】
ルーティンの説明される実施形態は、顧客からのメッセージまたは受信した他の情報の受信が指示されるブロック405から開始される。少なくとも一部の実施形態では、ルーティン400が支持する設定可能なネットワークサービスは、設定可能なネットワークサービスに遠隔の顧客がプログラム的に通信可能となる1つ以上のAPIを提供する。また、このような場合に、ブロック405において受信された指示の一部または全ては、それらのAPIを用いた起動または他の遠隔の顧客のプログラム的な相互作用により構成され得る。一方、他の実施形態および状況では、ブロック405において受信された指示の一部は、その代わりに、他の方式により遠隔の顧客または他者によって起動されてもよい。
【0070】
ブロック405後、ルーティンは、ブロック405において受信された指示が、要求している顧客の代わりに、顧客の既存の遠隔ネットワークの拡張等の、提供される新規のコンピュータネットワークの構成の起動かどうかを判定するブロック410に継続する。このような場合に、ルーティンは、顧客の代わりに新規のコンピュータネットワーク拡張または他の新規のコンピュータネットワークを構成する種々の行為を実行するブロック415に継続する。例えば、他の箇所により詳細に記載されるように、新規のコンピュータネットワークを構成するために受信した通信は、構成されるコンピュータネットワークに関連する種々の設定情報を含んでもよい。この設定情報には例えば、構成されたコンピュータネットワークの一部となる多数のコンピュータノード、新規のコンピュータネットワークが別の遠隔ネットワークの拡張であるか否かの指示等が含まれる。ブロック415にて取られた種団は、例えば、構成されている新規のコンピュータネットワークにおいて用いられる設定可能なネットワークサービスから利用可能な特定のコンピュータノードの選択、構成されている新規のコンピュータネットワークにともなう一意の識別子の生成および関連付け、後に用いるためにあらゆる受信した設定情報の保存等を含んでもよい。他の箇所により詳細に記載されるように、このようなコンピュータノードは、種々の実施形態における種々の方法において利用可能なコンピュータノードのグループから選択されてもよい。この選択は例えば、選択されるコンピュータノードの性能、(例えば、設定可能なネットワークサービスの内在するサブストレートネットワーク上の、コンピュータネットワークの他のコンピュータノードに関連するネットワークロケーション上の、等の)選択されるコンピュータノードのネットワークロケーション、(例えば、コンピュータネットワークの他のコンピュータノードに対する相対的な地理的位置上の、複数の地理的に分散されたデータセンターの1つにおける、等の)選択されるコンピュータノードの地理的位置、ランダム方式等に基づいて実行される。さらにまた、ここには図示しないが、ルーティンは、新規のコンピュータネットワーク用の一意の識別子または新規のコンピュータネットワーク用の他の参照を顧客に提供してもよい。これにより、新規のコンピュータネットワークのさらなる設定を実行する場合に、顧客は、新規のコンピュータネットワークを後に参照可能になる。
【0071】
ブロック415後、またはその代わりに、ブロック405にて受信した指示が新規のコンピュータネットワークを構成しないことがブロック410にて判定された場合には、ルーティンは、ブロック405にて受信した指示が、アクセス制限に関連する情報または指定されたコンピュータネットワーク用の他のアクセス情報を含むか否かを判定するブロック420に継続する。例えば、場合によっては、顧客は、新規のコンピュータネットワーク拡張およびその新規のコンピュータネットワーク拡張用の種々の特定の設定情報を構成する要求等の、ブロック405において受信および処理の両方を実行された1つ以上の要求または他のメッセージを供給してもよい。このような場合に、アクセス情報が供給される指定されたコンピュータネットワークは、ブロック415において直前に構成された新規のコンピュータネットワーク拡張でもよい。他の状況および実施形態では、遠隔の顧客は、その代わりに、ブロック405において受信および処理されたのと異なるタイミングで異なる通信を供給してもよい。この通信は例えば、新規のコンピュータネットワークを構成する初期の要求、および以前に構成されたコンピュータネットワーク用の種々の種類の設定情報を特定する後の1つ以上の他の分離要求である。アクセス情報がブロック405において受信されたことがブロック420にて判定された場合には、ルーティンは、顧客が遠隔アクセス構築APIを呼び出したか、または他の方法により、顧客の遠隔地から指定されたコンピュータネットワークへの遠隔アクセスの構築を要求したかを判定するブロック422に継続する。これは、図示した実施形態では、遠隔地における顧客の1つ以上の遠隔コンピュータシステムから、指定されたコンピュータネットワークへのVPN接続の構成を開始することによって実行される。このような場合に、ルーティンは、図8に関連してより詳細に記載されるこのようなルーティンの一実施例における、遠隔の顧客アクセスを構築する手段を取るためのVPN構成実現ルーティンを実行するブロック425に継続する。
【0072】
ブロック425後、またはその代わりに、遠隔の顧客ロケーションにおけるVPN接続の構成の起動をアクセス情報が指示しないことがブロック422にて判定された場合には、ルーティンは、指定されたコンピュータネットワーク用の許容可能なアクセスを設定するために、指定されたコンピュータネットワーク用に他の特定のアクセス制限情報を用いるようにブロック430に継続する。他の箇所に詳細に記載されるように、このような設定情報は、コンピュータネットワークのコンピュータノードのいずれかが、(指定されたコンピュータネットワークが遠隔コンピュータネットワークの拡張である場合には、コンピュータネットワークの遠隔部を含む)コンピュータネットワークのコンピュータノード間の通信アクセスポリシーを任意選択的に特定すると共に、インターネットまたは他の方法により、外部のコンピュータネットワークへのアクセスを有するように許可されたか否かに関連する制限を含んでもよい。それ故ブロック430において、ルーティンは、他の箇所により詳細に記載されるように、(それらの通信管理者モジュールに、設定される情報と共にメッセージを送信すること等によって)例えば、ノード通信管理者モジュールおよび/またはコンピュータネットワークを支援する外部通信管理者モジュールに用いられるルーティング情報の設定を含んでもよい1つ以上の手段をとる。さらにまた、遠隔の顧客ロケーションから提供されたコンピュータネットワークへのVPN接続を構築させる手段がブロック425にて取られた場合には、ブロック430にて取られた手段は、提供されたコンピュータネットワーク、または他の方法により提供されたコンピュータネットワークの代わりとなる設定可能なネットワークサービスによって、このようなVPN接続を支援する手段を取ることをさらに含んでもよい。この手段は例えば、このようなVPN接続を受け入れ、かつそのVPN接続用に暗号化された通信を復号化するのに適切な情報を用いた、提供されたコンピュータネットワークを設定することによる。
【0073】
ブロック430後、またはその代わりに、ブロック405における指示が、アクセス情報を含まないことがブロック420にて判定された場合には、ルーティンは、ブロック405における指示が、1つ以上のネットワークアドレスレンジおよび/または別の形態における特定のネットワークアドレス等の、指定されたコンピュータネットワーク用のネットワークアドレス情報を含むか否かを判定するブロック440に継続する。このような場合に、ルーティンは、指定されたコンピュータネットワークのコンピュータノードに利用するための特定のネットワークアドレス情報を保存するブロック445に継続する。さらに、それらのコンピュータノードが、例えばブロック415および/またはブロック462において既に選択された、または他の方法により使用を開始された場合には、指定されたコンピュータネットワークのコンピュータノードと、それらの特定のネットワークアドレスとを関連付けることを継続してもよい。特定のネットワークアドレスと、コンピュータネットワークのコンピュータノードとの関連は、他の箇所により詳細に記載されるように、ノード通信管理者モジュールおよび/またはコンピュータネットワークを支援する外部通信管理者モジュールに用いられるルーティング情報の設定をさらに含んでもよい。ブロック445後、またはその代わりに、ブロック405にて受信された指示が、ネットワークアドレス情報を含まなかったことがブロック440にて判定された場合には、ルーティンは、ブロック405にて受信された指示が、指定されたコンピュータネットワーク用のネットワークトポロジー情報を含むか否かを判定するブロック455に継続する。このような場合に、ルーティンは、指定されたコンピュータネットワーク用のネットワークトポロジー情報を保存し、そのネットワークトポロジー情報に従ったその指定されたコンピュータネットワークの設定を任意選択的に継続するブロック457に継続する。ネットワークトポロジー情報の設定は、他の箇所により詳細に記載されるような、例えば、特定のトポロジー情報の一部である仮想ネットワーク装置の行為をシミュレートするために、ノード通信管理者モジュールおよび/またはコンピュータネットワークを支援する外部通信管理者モジュールに用いられるルーティング情報の設定を含んでもよい。
【0074】
ブロック457後、またはその代わりに、ブロック405における指示が、ネットワークトポロジー情報を含まないことがブロック455にて判定された場合には、ルーティンは、ブロック405における指示が、指定されたコンピュータネットワークにコンピュータノードを追加する指示を含むか否かを確定するブロック460に継続する。これは例えば、指定されたコンピュータネットワークが、コンピュータノードの特定数量を含むように設定され、その特定数量よりも少ないコンピュータノードが選択および使用開始された場合に実行される。さらにまた、一部の実施形態では、顧客は、コンピュータネットワークの使用の継続後でさえも、種々の方法により、設定可能なネットワークサービスにより提供されている既存のコンピュータネットワークを修正してもよい。この修正には、他の箇所により詳細に記載するような、コンピュータネットワークのコンピュータノードの数量の修正、および/またはコンピュータネットワーク用のそのネットワークトポロジー情報の修正が含まれる。指示が、1つ以上のコンピュータノードを追加することであることが、ブロック460にて判定された場合には、ルーティンは、設定可能なネットワークサービスの利用可能なコンピュータノードのグループから指定されたコンピュータネットワークに追加される1つ以上のコンピュータノードを選択するブロック462に継続する。他の箇所により詳細に記載されるように、このようなコンピュータノードは、種々の方法により選択され得る。ブロック464において、選択されたコンピュータノードは、例えば上述したのと同様の方式により、(例えば、適切なネットワークアドレス情報と、それらの選択されたコンピュータノードとを関連させること、任意の特定のネットワークトポロジー情報および/またはコンピュータネットワーク拡張用の他のアクセス制限情報に従ったそれらの選択されたコンピュータノード用のアクセス権を設定すること等によって)次にコンピュータネットワークに追加される。
【0075】
ブロック464後、またはその代わりに、ブロック405における指示が、コンピュータノードを追加しないことがブロック460にて判定された場合には、ルーティンは、ブロック405における指示が、指定されたコンピュータネットワーク用の設定されたアクセスを、指定された遠隔資源サービスに追加するか否かを判定するブロック470に継続する。このような場合に、ルーティンは、指定された遠隔資源サービスにアクセスするための指定されたコンピュータネットワーク用のアクセス機構を設定するブロック475に継続する。これは例えば、その遠隔資源サービスに指定されたコンピュータネットワーク用の1つ以上のネットワークアドレスをマッピングすること、ノード通信管理者モジュールおよび/またはコンピュータネットワークを支援する外部通信管理者モジュールに用いられるルーティング情報を設定すること、アクセス機構を用いる通信用の外部通信管理者モジュールにより取るべき手段を設定すること等により実行される。ルーティンは、次に、遠隔資源サービスが、指定されたコンピュータネットワークからアクセス可能な資源用の特定のネームスペース、および/または例えばブロック405において指定されてもよい、または他の方法により、設定可能なネットワークサービスによって自動的に判定されてもよいような、資源とともに利用するための指定されたコンピュータネットワーク用の1つ以上の追加的なアクセスコントロールインジケータを有するか否かを判定するブロック478に継続する。そして、このような場合に、ルーティンは、そのネームスペース情報および/またはアクセスコントロールインジケータ情報を、遠隔資源サービス用の設定されたアクセス機構と関連付けるブロック480に継続する。
【0076】
ブロック480後、またはその代わりに、ネームスペースおよび/または追加的なアクセスコントロールインジケータが、用いられていないか、ブロック405における指示が指定された遠隔資源サービスへのアクセスを提供しないブロック470に存在しないことがブロック478にて判定された場合には、ルーティンは、必要に応じて1つ以上の他の指定された工程を任意選択的に実行するブロック490に継続する。例えば、顧客用の特定のコンピュータネットワークの設定の完了後、ルーティンは、例えば、構成された新規のコンピュータネットワーク拡張が存在する遠隔コンピュータネットワークから、遠隔資源からコンピュータネットワークへのアクセスを提供するための1つ以上の最終的なステップをさらに取ってもよい。アクセスのこのような提供は、例えば、顧客がコンピュータネットワークにアクセス可能となる情報の顧客への提供(例えば、コンピュータネットワークへのVPN用の公的にアクセス可能なネットワークアドレス)、遠隔の顧客からの通信を容認するようなコンピュータネットワークの設定等を含んでもよい。さらに、ルーティンは、時折(例えば、定期的、現在の状態が特定の閾値を越えるとき、または他の方法により特定の状態をトリガしたとき等)、他の行為をさらに実行してもよい。この行為には例えば、コンピュータネットワークの一部または全てに対するコンピュータノードの一部または全ての状態の接続確認または他の方法による検査、遠隔の顧客によるコンピュータネットワークの一部または全ての利用の監視、提供されたコンピュータネットワークの一部または全てによる内部の設定可能なネットワークサービス資源の使用の監視、設定可能なネットワークサービスを用いた顧客のアカウントの構築および維持、顧客のアカウントまたはそれらの提供されたコンピュータネットワークについての状態情報のための顧客からの要求への応答、設定可能なネットワークサービスの使用における顧客からの支払金の取得、指定されたコンピュータネットワーク用のコンピュータノードの量の減少、(例えば、第1の地理的位置におけるコンピュータノードから、第2の地理的位置における新規のコンピュータノードに1つ以上の実行プログラムを移動させることによる)指定されたコンピュータネットワークの一部である特定のコンピュータノードの修正等が含まれる。ブロック490後、ルーティンは、例えば、完了への明確な指示が受信されるまで、継続するか否かを判定するブロック495に継続する。継続することが確定された場合には、ルーティンはブロック405に戻り、継続しない場合にはブロック499を経て終了する。
【0077】
図5は、ノード通信管理者ルーティン500の例示的な実施形態のフローチャートを示す。ルーティンは、例えば、少なくとも一部の実施形態では、提供されたコンピュータネットワークが関連するコンピュータノードへの、およびこのコンピュータノードからの通信の制御のためなどのように、図2のCNSノード通信管理者モジュール209a、209dおよび250の実行によって提供されてもよい。ルーティン500は、少なくとも一部の実施形態では、設定可能なネットワークサービスによって提供されたコンピュータノードの1つ以上にその各々が関連する、設定可能なネットワークサービスの多数のノード通信管理者モジュールの各々によって実行されてもよい。また、ノード通信管理者モジュール各々は、(例えば、他の仮想マシンコンピュータノードが実行する、物理的なホストコンピュータシステム用のハイパーバイザを監視する仮想マシンの一部として、スタンドアロンのプロキシコンピュータシステム、または提供されたコンピュータネットワークの1つ以上のコンピュータノードへの、およびこのコンピュータノードからの通信を制御する他のコンピュータシステムとして等)種々の方法により提供されてもよい。特に、図示した実施形態では、ノード通信管理者モジュールは、設定可能なネットワークサービスの種々のコンピュータノードと相互接続する設定可能なネットワークサービスにより用いられる、1つ以上の内在する物理的なサブストレートネットワークにおいてオーバーレイされた仮想ネットワークを用いて、顧客用のコンピュータネットワークの提供を促進する。しかしながら、他の実施形態では、提供されたコンピュータネットワークは、仮想ネットワークおよび/または オーバーレイネットワーク以外の形態を有してもよい。また、他の箇所により詳細に記載するように、図示した実施形態では、ノード通信管理者モジュールは、提供されたコンピュータネットワーク用の特定のネットワークトポロジー情報に従った機能性を提供する。これは例えば、シミュレートされた仮想またはファントムネットワーク装置の機能性を実行すること、またはこのような存在するネットワーク装置と一致した方式における通信を他の方法により処理することによって実行される。しかしながら、他の実施形態では、提供されたコンピュータネットワーク用のネットワークトポロジー情報は、その代わりに、(例えば、ネットワークトポロジーに対応する実際の物理的なネットワーク装置を用いることによって)他の方式にて提供されてもよい。
【0078】
ルーティンの説明された実施形態は、ノード通信または他のメッセージの指示が受信される、ブロック505において開始される。ルーティンは、指定されたメッセージの種類を判定するブロック510に続き、それに応じて継続する。特に、指定されたメッセージが、ルーティンが対応する通信管理者モジュールに関連する1つ以上の宛先コンピュータノードを意図する入力するノード通信となることが判定された場合に、ルーティンは、入力ノード通信用の1つ以上の意図する宛先コンピュータノード(単数または複数)を確定するブロック515に継続する。例えば、着信は、1つ以上の内在するサブストレートネットワーク上におけるノード通信管理者モジュールに導かれてもよい。また、サブストレートネットワークを通じて送信された通信のヘッダまたは他の部分は、仮想の提供されたコンピュータネットワークの一部である、宛先コンピュータノードの仮想ネットワークアドレスに関する情報を含んでもよく、または他の方法により宛先コンピュータノードを指定してもよい。ブロック525に関して下記するように、サブストレートネットワークを通じた着信の処理は、宛先用の仮想ネットワークアドレスおよび発信元コンピュータノードを用いるための通信の再ヘッダ等による、宛先コンピュータノードが属する提供されたコンピュータネットワーク用の適切な方式による通信の修正をさらに含んでもよい。
【0079】
ブロック515後、ルーティンは、着信が、意図された宛先コンピュータノード(単数または複数)において許容可能であることを検証するブロック520に継続する。他の箇所により詳細に記載するように、着信は、ファイアウォール性能または他のアクセスコントロールの提供等の種々の方法において許容可能であるかまたは許容不可であるか判定されてもよい。これにより、特定の他のコンピュータノード(例えば、同一の提供されたコンピュータネットワークの一部である他のコンピュータノード)からの通信のみが許可され、かつ/または(例えば、通信が、提供されたコンピュータネットワークのコンピュータノードの1つから、それらのコンピュータシステムに送信された他の通信に応答する場合にのみ、他のコンピュータシステムからの少なくとも一部の通信のために)特定の種類の通信のみが許可される。上述のように、通信が許容可能か否かの判定は、ルーティンが対応するノード通信管理者モジュール用の、以前に特定された設定情報に少なくとも部分的に基づいて実行される。これは例えば、(例えば、宛先コンピュータノード(単数または複数)が属する提供されたコンピュータネットワーク用の特定のネットワークトポロジー情報、および/またはその提供されたコンピュータネットワーク用の特定の他のアクセス制限情報に基づいて)宛先コンピュータノード(単数または複数)および/またはそれらの宛先コンピュータノード(単数または複数)が属する提供されたコンピュータネットワークに特定の方式にて実行される。さらに、宛先コンピュータノード(単数または複数)が属する提供されたコンピュータネットワーク用に、オーバーレイ仮想ネットワークが用いられる実施形態において、着信の検証は、例えば、対象となる送信者によって実際に送信された通信を検証するように、初期の送信コンピュータノードによって通信が送信された後に、設定可能なネットワークサービスによる着信に含まれる、オーバーレイネットワークおよび/またはサブストレートネットワークに関する情報に部分的に基づいてもよい。
【0080】
着信が許容可能であることが判定された場合には、着信は、ノード通信管理者モジュールと、宛先コンピュータノード(単数または複数)との間の1つ以上の接続または通信リンク上で通信を転送すること等によって、ブロック525において通信用の1つ以上の宛先ノード(単数または複数)に提供される。内在するサブストレートネットワークを通じて着信が送信される実施形態では、提供されたコンピュータネットワークと一致する方式において着信を再ヘッダすること等によって、着信は、(例えば、宛先および発信元コンピュータノード用の提供されたコンピュータネットワークに対応する仮想ネットワークアドレスを用いるために)提供されたコンピュータネットワークと一致するように第1に修正されてもよい。さらに、ここには図示しないが、ブロック520にて通信が許容可能であると判定されない場合に、ルーティンは、例えば、送信コンピュータノードへいかなる指示が無くとも、送信されるノード通信をドロップさせること、送信コンピュータノードにエラーメッセージを返すこと、許容可能な発信の修正を試みること等の種々の他の手段を取ってもよい。
【0081】
その代わりに、ブロック505における指定されたメッセージが、ルーティンが対応するノード通信管理者モジュールによって管理されている提供されたコンピュータネットワークの関連するコンピュータノードから送信されるノード通信であることがブロック510にて判定された場合には、ルーティンは、その代わりに、ブロック520に関連して上述したのと同様の方式等によって、発信が許容可能か否かを第1に検証するためにブロック530に継続する。他の箇所により詳細に記載するように、発信が許容可能か否かの判定は、送信コンピュータノードが属する提供されたコンピュータネットワーク用の特定のネットワークトポロジー情報、および/または提供されたコンピュータネットワーク用の特定の他のアクセス制限情報に基づく方法を含む、種々の実施形態における種々の方法により実行されてもよい。図示した実施形態では、提供されたコンピュータネットワークは仮想オーバーレイネットワークであり、コンピュータノード間の通信は、1つ以上の内在するサブストレートネットワークを通じて実際に送信される。それ故、ブロック530後、ルーティンは、他の箇所により詳細に記載されるように、1つ以上の宛先コンピュータノードに対応する1つ以上のサブストレート宛先ネットワークアドレス、または(例えば、それらの宛先コンピュータノードにおける通信を管理する1つ以上の遠隔ノード通信管理者モジュールへ、外部の宛先コンピュータシステムに対する通信を管理する外部通信管理者モジュールへ、等)発信するための他の宛先コンピュータシステムを判定するブロック535に継続する。ルーティンは、次に、確定されたサブストレート宛先ネットワークアドレス(単数または複数)を用いることによって、意図される宛先(単数または複数)に、送信されるノード通信を転送するブロック540に継続する。他の箇所により詳細に記載されるように、ブロック525に関して記載したのと同様の方式にて、内在するサブストレートネットワークを通じたノード通信の転送は、(例えば、確定されたサブストレート宛先ネットワークアドレスを使用するため、および/または宛先および発信元コンピュータノード用の仮想ネットワークアドレスに関する情報を含むために)サブストレートネットワークと一致する方式にて発信を再ヘッダすること等によって、サブストレートネットワークと一致する発信の修正を含んでもよい。
【0082】
その代わりに、別の種類の指示されたメッセージがブロック505において受信されたことがブロック510にて判定された場合には、ルーティンは、その代わりに、必要に応じて、1つ以上の他の指定された行為を実行するブロック590に継続する。例えば、他の種類のメッセージは、(例えば、ルーティン500のこのインスタンスが対応する1つ以上の提供されたコンピュータネットワーク用のルーティン500に用いられるための、特定のルーティング情報または他の設定情報を特定するために)例えば、図4の設定可能なネットワークサービス管理者ルーティン400から、または(例えば、提供されたコンピュータネットワーク用の設定情報を伝播するために)他のノード通信管理者ルーティンからの設定情報または他の管理メッセージを含んでもよい。同様に、場合によっては、ルーティンは、他のノード通信管理者モジュールに提供されたコンピュータネットワーク用の設定情報を送信する手段をブロック590において取ってもよい。これは例えば、別のノード通信管理者モジュールまたは設定可能なネットワークサービス管理者モジュールからの情報の受信後に、ピアツーピア方式にてこのような情報を分配することにより実行される。他の行為は、少なくとも一部の実施形態および状況では、種々の種類の管理またはハウスキーピング行為を含んでもよい。この機能には例えば、コンピュータネットワークの一部または全て用のコンピュータノードの一部または全ての状態の確認、遠隔の顧客によるコンピュータネットワークの一部または全ての利用の監視、提供されたコンピュータネットワークの一部または全てによる内部の設定可能なネットワークサービス資源の利用の監視等が含まれる。ブロック525、540または590後、ルーティンは、例えば、完了するための明確な指示が受信されるまで等、継続するか否かを判定するブロック595に継続する。継続が確定した場合には、ルーティンはブロック505に戻り、継続しない場合には、ブロック599に継続して終了する。
【0083】
それ故、ルーティン500は、設定可能なネットワークサービスにより提供されたコンピュータネットワークの一部であるコンピュータノードへの、およびコンピュータノードからの種々の種類の通信を管理する。ルーティンのこの例示的な実施形態では別個に図示されないが、ルーティン500が、例えば、セッションまたは他の一連の通信を起動するために、以前に送信された通信に対する1つ以上の応答を可能にする、少なくとも一部の通信用の設定をさらに実行してもよいことが理解される。それ故、例えば、提供されたコンピュータネットワークの特定のコンピュータノードは、少なくとも一部の他のコンピュータシステム(例えば、外部コンピュータシステム)からの通信を容認しないように設定されてもよいが、それらがその特定のコンピュータノードから最初に送信された通信に対する応答である場合に、それらの他のコンピュータシステムからの通信を可能にする。それ故、ブロック520における判定は、着信が、ブロック530〜540に関して処理された以前の発信の応答であるか否かに部分的にさらに基づいてもよい。
【0084】
図6は、外部通信管理者ブロック600の例示的な実施形態のフローチャートを示す。ルーティンは、設定可能なネットワークサービスにより制御されるデータセンターまたは他のコンピュータノードのグループ内へ通過して入る、またはそこから通過して出る通信を管理すること等によって(例えば、制御されたコンピュータノードのそのグループと、顧客の遠隔地、遠隔資源サービス、およびインターネットまたは他のパブリックネットワークにおいて一般的にアクセス可能な他の箇所等の、それらの制御されたコンピュータノードの外部のロケーションにおける他のコンピュータシステムとの間における)、例えば、図2の外部通信管理者モジュール270の実行によって提供されてもよい。他の箇所に詳細に記載されるように、図示した実施形態では、1つ以上の外部通信管理者モジュールは、提供されたコンピュータネットワーク用の特定のアクセス制限情報、および特定の遠隔資源サービスにアクセスするための特定の設定情報に従った機能性を提供する。これは例えば、それらの提供されたコンピュータネットワークに対する顧客および/またはその提供されたコンピュータネットワーク用の設定可能なネットワークサービスによって特定された、ファイアウォールおよび他のアクセス可能な情報と一致する方式により通信を処理すること等によって提供される。さらに、図示した実施形態では、設定可能なネットワークサービスにより提供されたコンピュータネットワークは、設定可能なネットワークサービスによって提供されたコンピュータノードと相互接続する1つ以上の内在する物理的なサブストレートネットワークを用いる仮想オーバーレイネットワークである。しかしながら、他の実施形態では、提供されたコンピュータネットワークは、(例えば、仮想ネットワークおよび/または オーバーレイネットワークを用いない)他の方式にて実施されてもよい。
【0085】
ルーティンの説明された実施形態は、提供されたコンピュータネットワークのコンピュータノードへの、またはそのコンピュータノードからの通信、または別のメッセージの指示が受信される、ブロック605において開始される。ブロック605後、ブロック610におけるルーティンは、受信された示されたメッセージの種類を判定し、それに従って継続する。特に、指定されたメッセージが、(例えば、インターネットを通じて外部コンピュータシステムから、その顧客の代わりにコンピュータネットワークが提供された、顧客の遠隔地からのVPN接続等を通じて、)設定可能なネットワークサービスによって制御されたコンピュータノードに着信し、そして提供されたコンピュータネットワークにおける1つ以上の宛先コンピュータノードを意図される場合に、ルーティンは、ブロック612に継続する。ブロック615において、ルーティンは、着信が顧客のVPN接続を通じて送信されたか否かを第1に判定し、そしてこのような場合に(例えば、設定可能なネットワークサービスの他のソフトウェアが、VPN接続を通じたこのような受信した通信の管理を未だ処理していない場合に)、通信を任意選択的に復号化、または他の方法によりデコードするブロック620に継続する。他の実施形態では、例えば、設定可能なネットワークサービスの他のソフトウェアおよび/またはハードウェアが、ブロック605において受信される前に、VPN接続を通じて受信されたこのような通信を管理する場合等に、ブロック615および620は実行されない。ブロック620後、またはその代わりに、着信がVPN接続を通じて受信されないことがブロック615において判定された場合には、ルーティンは、ブロック625に継続する。
【0086】
ブロック625〜629は、図5のブロック530〜540のそれらと同様の方式において実行される。特に、ブロック625において、ルーティンは、着信が許容可能であるか否かを第1に検証する。これは例えば、宛先コンピュータノード(単数または複数)が属する提供されたコンピュータネットワーク用の特定のネットワーク類型情報に少なくとも部分的に基づいて、および/またはその提供されたコンピュータネットワーク用の他のアクセス制限情報に基づいて検証される。通信が許容可能であると検証された場合には、ルーティンは、宛先コンピュータノード(単数または複数)に対応する1つ以上の宛先サブストレートネットワークアドレスを確定するブロック627に継続する。ブロック629において、ルーティンは、次に、図5のブロック515〜525に関して上述したように、例えば、最終的に1つ以上のノード通信管理者モジュールによって処理されるように、サブストレートネットワークにおける確定された宛先ネットワークアドレスに通信を転送する。上述のように、ブロック625において通信が許容可能であると検証されない場合には、その代わりに、例えば、通信をドロップするなどのような種々の他の手段が取られる場合がある。さらに、サブストレートネットワークにおける通信の転送は、他の箇所により詳細に記載するように、サブストレートネットワークと一致するような、1つ以上の方式による通信の修正を含んでもよい。さらにまた、ここには図示しないが、少なくとも一部の実施形態では、ルーティンは、制御されたコンピュータノードのグループに(例えば、パブリックネットワークからプライベートネットワークに)着信する通信と一致する他の作用を実行してもよい。これらの機能性には例えば、ネットワークアドレス転換(「NAT」)および/またはポートアドレス転換(「PAT」)の提供、一般的なファイアウォールもしくはプロキシ、または設定可能なネットワークサービス用の他の安全機能の提供等が含まれる。
【0087】
その代わりに、指定されたメッセージが、提供されたコンピュータネットワークのコンピュータノードへの着信ではないが、その代わりに、(例えば、公的にアクセス可能なシステムへのインターネット上における、顧客の遠隔コンピュータネットワークまたは顧客の他の遠隔コンピュータシステムへのVPN接続等を通じて)提供されたコンピュータネットワークのコンピュータノードから内部のサブストレートネットワーク上において受信された通信であり、かつ1つ以上の外部宛先コンピュータシステムに発信される通信であることがブロック610において判定された場合には、ルーティンは、ブロック630に継続する。ブロック630、635および645は、図5のブロック515〜525と同様の方式にて実行される。特に、ブロック630において、ルーティンは、例えば、サブストレートネットワークを通じて受信された通信内の情報に基づいて、発信用の1つ以上の遠隔地における1つ以上の意図された宛先コンピュータシステムを確定する。ブロック635において、ルーティンは、次に、例えば上述したのと同様の方式において(例えば、特定のネットワークトポロジー情報および/または送信コンピュータノードが属する提供されたコンピュータネットワーク用のアクセス制限情報を考慮することによって)、通信が許容可能か否かを検証する。ブロック635後、ルーティンは、発信が、顧客の遠隔コンピュータネットワークの一部等の、1つ以上の遠隔の顧客コンピュータシステムへのVPN接続を通じて送信されているか否かを判定するブロック640に継続する。このような場合に、ルーティンは、(例えば、設定可能なネットワークサービスの他のソフトウェアおよび/またはハードウェアが、VPN接続を通じて送信されたこのような通信の管理を処理しない場合に)VPN接続用の通信を任意選択的に暗号化するか、または他の方法により符号化するブロック642に継続する。そして次に、その通信を、VPN接続を通じて確定された宛先コンピュータシステムに転送する。他の実施形態では、VPN接続を維持する分離ソフトウェアおよび/またはハードウェアは、その代わりに、このような稼動をその後実行する。その代わりに、発信が、VPN接続を通じて送信されていないことがブロック640において確定された場合には、ルーティンは、その代わりに、インターネットまたは他のパブリックネットワーク上において確定された宛先コンピュータシステムに通信を転送するブロック645に継続する。上述のように、ルーティンは、例えば、通信が移動するコンピュータネットワークと一致する方式において発信を再ヘッダするように、それらが外部へ転送される前に、サブストレートネットワークを通じて受信されたこのような発信をさらに修正してもよい。さらにまた、ここには図示しないが、少なくとも一部の実施形態では、ルーティンは、制御されたコンピュータノードのグループから外部に発信する(例えば、プライベートネットワークからパブリックネットワークに)通信と一致する他の機能を実行してもよい。これらの機能には例えば、ネットワークアドレス転換(「NAT」)および/またはポートアドレス転換(「PAT」)の提供、一般的なファイアウォールもしくはプロキシ、または設定可能なネットワークサービス用の他の安全機能の提供等が含まれる。
【0088】
その代わりに、指定されたメッセージが、提供されたコンピュータネットワーク用の設定されたアクセス機構を有する、遠隔資源サービスにアクセスするためのその提供されたコンピュータネットワークにおけるコンピュータノードからのものであることがブロック610において確定された場合には、ルーティンは、その代わりに、図7に関してより詳細に記載されるそのルーティンの1つの例示的な実施形態に関する、遠隔資源サービスアクセスルーティンを実行するブロック650に継続する。他の方法により、ルーティンは、例えば他の受信したメッセージまたは受信した情報に応答して、必要に応じて、1つ以上の他の指定された動作を実行する690に継続する。このような他の指定された動作は、例えば、図5のブロック590に関してより詳細に記載される種々の形態を有してもよい。例えば、他の種類のメッセージは(例えば、1つ以上の提供されたコンピュータネットワークのために、ルーティン600において用いられるルーティング情報または他の設定情報を特定するために)、図4の設定可能なネットワークサービス管理者ルーティン400から、または(例えば、提供されたコンピュータネットワーク用の設定情報を伝播するために)ノード通信管理者ルーティンから等の設定情報または他の管理メッセージを含んでもよい。同様に、場合によっては、ルーティンは、ノード通信管理者モジュールに、提供されたコンピュータネットワーク用の設定情報を送信する手段を、ブロック690において取ってもよい。この手段には例えば、他のノード通信管理者モジュールまたは設定可能なネットワークサービス管理者モジュールからの情報の受信後、ピアツーピア方式においてこのような情報を分配することが含まれる。他の機能は、少なくとも一部の実施形態および状況では、種々の種類の管理またはハウスキーピング機能を同様に含んでもよい。この機能は例えば、コンピュータネットワークの一部または全て用のコンピュータノードの一部または全ての状態の確認、遠隔の顧客によるコンピュータネットワークの一部または全ての利用の監視、提供されたコンピュータネットワークの一部または全てによる内部の設定可能なネットワークサービス資源の利用の監視等が含まれる。
【0089】
ブロック629、642、645、650または690後、ルーティンは、例えば、完了するための明確な指示が受信されるまで、継続するか否かを判定するブロック695に継続する。継続が判定された場合には、ルーティンはブロック605に戻り、そして他の方法によりブロック699に継続して終了する。
【0090】
それ故、ブロック600は、設定可能なネットワークサービスにより提供されたコンピュータネットワークの一部であるコンピュータノードへの、およびコンピュータノードからの種々の種類の通信を管理する。ルーティンのこの例示的な実施形態では別個に図示されないが、ブロック600が、例えば、セッションまたは他の一連の通信を起動するために、以前に送信された通信に対する1つ以上の応答を可能にする、少なくとも一部の通信用の設定をさらに実行されてもよいことが理解される。それ故、例えば、特定の提供されたコンピュータネットワークは、そのコンピュータネットワークのコンピュータノードへの通信を、いかなる外部コンピュータシステムが開始することをも防止するように設定されてもよい。しかしながら、このような外部コンピュータシステムは、そのコンピュータネットワークのコンピュータノードから、その外部コンピュータシステムに最初に送信された通信に対して応答できるように設定されてもよい。したがって、ブロック625における判定は、着信が、ブロック630〜645に関して処理された以前の発信の応答であるか否かに部分的にさらに基づいてもよい。同様に、遠隔資源サービスにアクセスするために起動された通信において、ブロック650に関してより詳細に記載するように、ブロック615〜629に関して、またはその代わりに、他の方式等の遠隔資源サービスからの応答が可能なように設定されてもよい。
【0091】
図7は、遠隔資源サービスアクセスルーティン700の例示的な実施形態のフローチャートである。ルーティンは、図6のブロック650の実行等によって起動され得るような、例えば、図2の外部通信管理者モジュール270の実行によって提供される場合がある。ルーティンは、遠隔資源サービス、特に、例えば図4のブロック475〜480において特殊なアクセスを提供するように、提供されたコンピュータネットワークが事前に設定された遠隔資源サービスへの、提供されたコンピュータネットワークのコンピュータノードにより生成された通信を管理する。他の箇所により詳細に記載するように、少なくとも一部の実施形態では、提供されたコンピュータネットワークは、(例えば、遠隔資源サービスを示すように、その提供されたコンピュータネットワークにおいて1つ以上のネットワークアドレスを指定することによって)特定の遠隔資源サービスへの特殊なアクセスを提供するように設定されてもよい。また、サブストレート物理的ネットワークは、必要に応じて、それらの転送された通信を管理するように設定されている外部通信管理者モジュールである、外部通信を管理する外部通信管理者モジュールに、対応する通信を転送するように設定されてもよい。
【0092】
図示した実施形態では、ルーティンは、通信に用いられるネットワークアドレス等に基づいて、提供されたコンピュータネットワークにおけるコンピュータノードから、設定されたアクセス機構がそのコンピュータネットワーク用に提供された遠隔資源サービスへの通信において指示が受信される、ブロック705において開始される。ルーティンは、次に、通信に用いられるアクセス機構用に、事前に特定された設定情報を読み出すブロック710に継続する。ブロック715において、ルーティンは、次に、読み出した設定情報等に基づいて、通信の目標となる宛先遠隔資源サービスを確定する。
【0093】
ブロック715後、ルーティンは、図5のブロック520および530、並びに図6のブロック625および635に関して記載されたのと同様の方式等により、通信が許容可能か否かを判定するブロック725に継続する。さらにまた、その判定は、特定の設定されたアクセス機構用の特定の種類の通信のみ等を可能にするために用いられるアクセス機構用の読み出された設定情報に基づいた少なくとも一部の状況および実施形態において、さらに達成されてもよい。通信が許容可能であると判定された場合には、ルーティンは、次に、用いられるアクセス機構用の以前の設定に基づいた方式において通信を任意選択的に修正するブロック730に継続する。例えば、他の箇所により詳細に記載されるように、アクセス機構は、例えば、遠隔資源サービスにより用いられる特定のネームスペースに対応する通信を修正するように、遠隔資源サービスによる認証目的用のコンピュータノードのロケーションに関する通信または他の情報を送信するコンピュータノードの提供されたコンピュータネットワークに関する情報を含むように設定されてもよい。
【0094】
ルーティンは、次に、確定された遠隔資源サービスに特定の方式において、通信における追加的な認証関連行為を任意選択的に実行するブロック735に継続する。例えば、他の箇所により詳細に記載するように、少なくとも一部の遠隔資源サービスは、設定可能なネットワークサービスと提携され得、または他の方法により、設定可能なネットワークサービスが、パブリックネットワーク上で遠隔資源サービスと通信する認証されていないリクエスタに提供されない特別許可された方式において、遠隔資源サービスにアクセスすることを可能にする。このような場合に、ルーティンは、例えば、遠隔資源サービスが、信頼のある、または他の方法により既知のリクエスタから通信が送信されていることを確定できる認証関連機能を実行してもよい。これは例えば、(例えば、修正された通信の一部である識別子に基づく電子署名を含むような、設定可能なネットワークサービスと遠隔資源サービスとの間における以前の相互作用等に基づいて)設定可能なネットワークサービスに対応する識別子を含むように通信を修正すること等によって実行される。
【0095】
ブロック735後、ルーティンは、次に、通信の暗号化、または他の方法により、確定された遠隔資源サービスにおける安全な接続(例えば、特定の提携された遠隔資源サービスとのVPN接続、遠隔資源サービスへの専用のプライベートリース線または他の通信リンク等)へのアクセスを選択的に実行し、確定された遠隔資源サービスに通信を転送するブロック745に継続する。転送されている通信は、例えば、インターネットまたは1つ以上の他のパブリックネットワーク上において送信されてもよく、またはその代わりに、一部の実施形態では、プライベート通信リンクまたは他の安全な接続を通じて送信されてもよい。ブロック745後、ルーティンは、ブロック799に継続して終了する。
【0096】
図8は、VPN構成実現ルーティン800の例示的な実施形態のフローチャートである。ルーティンは、例えば、設定可能なネットワークサービスの実施形態により提供された遠隔アクセス構築APIの顧客の起動に起因する、図4のブロック425の実行等に基づいて起動されてもよい、設定可能なネットワークサービス管理者モジュールの実行により提供されてもよい。
【0097】
図示した実施形態では、ルーティンは、顧客の遠隔地(顧客の遠隔プライベートコンピュータネットワーク等)から、顧客用の提供されたコンピュータネットワーク(顧客の遠隔プライベートコンピュータネットワーク用の設定可能なネットワークサービスにより提供されたネットワーク拡張等)へのVPN接続を構築する顧客の要求の指示が受信される、ブロック805において開始される。少なくとも一部の実施形態では、VPN接続を構築するための顧客による要求は、1つ以上の適切なネットワーク装置、並びに顧客の遠隔地に提供される対応するソフトウェアおよび/または設定情報の注文を満たすための要求の一部である。これにより、遠隔の顧客ロケーションにおける1つ以上のコンピュータシステムから、設定可能なネットワークサービスにより顧客用に提供されたコンピュータネットワークへのVPN接続の構築が可能になる。少なくとも一部のこのような実施形態では、注文の実現は、遠隔アクセス構築APIの起動または顧客からの要求の他の開始後における顧客によるいかなるさらなる行為も無しで、設定可能なネットワークサービスにより実行されてもよい。一方、他の実施形態では、顧客との一部の追加的な相互作用は、注文の実現の一部(例えば、顧客への選択の提供、顧客からの追加的な情報の取得、顧客からの支払情報の取得等)として実行されてもよい。
【0098】
ブロック815において、ルーティンは、次に、要求を実現するのに用いられる顧客に関する種々の情報を取得する。この情報は例えば、ブロック805において受信された、顧客から事前に受信し、かつ設定可能なネットワークサービスを用いた顧客のアカウントから読み出され、かつ/または顧客および/または1つ以上の外部資源から動的に得られた要求に提供されてもよい。取得した情報は、例えば、ネットワーク装置(単数または複数)および他の品目が物理的な的に配達されてもよい顧客の地理的なロケーションに関する情報、電子情報が電子的に配信されてもよい電子通信アドレス、ブロック805において受信された要求に関連する顧客による料金の支払いに関する支払情報等の種々の形態を有してもよい。さらに、種々の情報は、遠隔の顧客ロケーションと顧客用の提供されたコンピュータネットワークとの間におけるVPN接続の設定を支援するために取得されてもよい。この情報には例えば、VPN接続を起動するための、遠隔の顧客ロケーションから公的にアクセス可能なネットワークアドレス(または、他の対応する接続情報)、VPN接続が構築された、提供されたコンピュータネットワークの識別に用いられる一意の識別子または他の情報等が含まれる。
【0099】
ブロック815後、ルーティンは、提供されたコンピュータネットワークへのVPN接続を構築するために、顧客の1つ以上の遠隔コンピュータシステムに利用する1つ以上の適切なネットワーク装置を確定するブロック825に継続する。他の箇所により詳細に記載するように、適切なネットワーク装置は、種々の方法により確定されてもよい。この方法は例えば、(例えば、設定可能なネットワークサービスのサブストレートネットワーク、または設定可能なネットワークサービスの他の設備の一部として用いられるネットワーク装置に基づいて)顧客用の提供されたコンピュータネットワーク、顧客の遠隔コンピュータシステム、および/または設定可能なネットワークサービスに特定の情報に基づく方法である。さらにまた、適切なネットワーク装置(単数または複数)の確定は、例えば、設定可能なネットワークサービスにより自動的に、かつ/または顧客からの情報に少なくとも部分的に基づく種々の実施形態における種々の方法(例えば、ブロック805において受信された要求の一部である顧客による選択に基づいて、または顧客に提供された複数の代替案間における選択等をするための、顧客による特定の他の方法により)において実行されてもよい。
【0100】
ブロック825後、ルーティンは、顧客用の提供されたコンピュータネットワークに接続するための、ネットワーク装置(単数または複数)の準備に使用するための確定されたネットワーク装置(単数または複数)用の設定情報を生成するブロック835に継続する。しかしながら、他の実施形態では、ルーティンは、設定情報を生成するための、第3者の事業体(例えば、ブロック845において交信される同一の小売業者)を指示してもよい。少なくとも一部の実施形態では、確定されたネットワーク装置用の設定情報は、設定されたネットワーク装置が設定されたネットワーク装置の設定を完成するために、(例えば、特定の提供されたコンピュータネットワークに特定の方式においてネットワーク装置(単数または複数)を設定するための、設定可能なネットワークサービスからの追加的な情報を得ることによって)設定可能なネットワークサービスとの交信を起動させる。さらに、少なくとも一部の実施形態では、確定されたネットワーク装置用の設定情報は、設定されたネットワーク装置が、例えば、提供されたコンピュータネットワークへのVPN接続を構築するように、顧客の提供されたコンピュータネットワークとの交信を起動させる。生成された設定情報は、一部の実施形態では、種々の確定されたネットワーク装置(単数または複数)および/または確定されたネットワーク装置(単数または複数)がVPN接続を構築する、提供されたコンピュータネットワークに特定でもよい。また、設定情報の生成は、(例えば、事前に準備された設定情報が、任意のネットワーク装置(単数または複数)および/または任意の提供されたコンピュータネットワークに用いられる場合等に、確定されたネットワーク装置(単数または複数)および/または提供されたコンピュータネットワークに特定の方式にて、事前に準備された設定情報を修正することによって)事前に準備された設定情報の取り出し、および/または新規の設定情報の動的な構成を含んでもよい。生成された設定情報は、同様に、例えば、ハードウェアデバイスにおいて実行される設定されたソフトウェア、遠隔地における人的オペレータに用いられるテキスト命令等の種々の形態を有してもよい。
【0101】
ブロック845において、ルーティンは、次に、顧客の1つ以上の遠隔コンピュータシステムと共に用いられる確定されたネットワーク装置(単数または複数)を遠隔の顧客ロケーションに供給するために、小売業者への注文を起動する。また、図示した実施形態では、ネットワーク装置を利用するために、生成された設定情報の、顧客への供給をさらに起動する。このような実施形態では、生成された設定情報は、例えば、注文の一部として設定情報を送信すること、設定情報を生成するための、ブロック835における小売業者を事前に指示すること等の種々の方法において小売業者に提供され得る。他の箇所により詳細に記載するように、生成された設定情報は、下記の1つ以上を含む種々の方法により顧客に供給されてもよい。これらの方法には、顧客に物理的に配達された物理的な装置が読み取り可能な保存装置媒体(例えば、CD、DVD、USB、メモリキー等)に、生成された設定情報を保存すること、顧客に配信される前に、(例えば、小売業者に用いられるフルフィルメントセンターにおいて、ネットワーク装置(単数または複数)に生成された設定情報をロードすることによって)生成された設定情報を用いてネットワーク装置(単数または複数)を設定すること、生成された設定情報を顧客に電子的に送信すること等が含まれる。他の実施形態では、ネットワーク装置(単数または複数)および/または設定情報は、他の方式にて顧客に提供されてもよい。例えば、小売業者よりはむしろ設定可能なネットワークサービスにより直接提供されたネットワーク装置および生成された設定のうちの1つまたは両方を有すること、ネットワーク装置を供給する第1の小売業者および生成された設定情報を供給する異なる第2の小売業者を利用すること、小売業者ではない1つ以上の第3者を利用すること等によって提供されてもよい。ブロック845後、ルーティンは、ブロック899に継続し、戻る。
【0102】
一部の実施形態では、上述したルーティンにより提供された機能は、例えば、より多くのルーティン内での分割またはより少ないルーティンへの統合等の代替的な手法により提供されてもよいこともまた理解される。同様に、一部の実施形態では、例えば、他の説明されたルーティンが、その代わりに、このような機能をそれぞれ欠くか含む場合、または提供された機能の量が変更される場合には、説明されたルーティンは、記載されたものよりもより多いまたは少ない機能を提供してもよい。さらに、種々の行為は、特定の方式(順番にまたは同時に等)および/または特定の順序で実行されるように説明されているかもしれないが、他の実施形態では、他の順序および他の方式において動作が実行され得ることが、当業者に理解される。上述のデータ構造が、例えば、複数のデータ構造に分割される単一のデータ構造、または単一のデータ構造に統合される複数のデータ構造を有する等の、異なる方式において構成されてもよいことがさらに当業者に理解される。同様に、一部の実施形態では、説明されたデータ構造は、他の説明されたデータ構造が、その代わりに、このような情報をそれぞれ欠くかまたは含む場合、または保存される情報の量または種類が変更される場合等に、記載されたよりも多いまたは少ない情報を保存する場合がある。
【0103】
条項1
プライベートコンピュータネットワークに、遠隔ネットワークサービスへのローカルネットワークアクセスを提供する設定可能なネットワークサービスのコンピュータシステムのための方法であって、
遠隔のユーザの遠隔プライベートコンピュータネットワークへのネットワーク拡張を遠隔のユーザが構成および設定可能になる、設定可能なネットワークサービスにおけるプログラム的インターフェースを提供することであって、この設定可能なネットワークサービスは、構成されたネットワーク拡張を遠隔のユーザに提供するのに用いられる複数のコンピュータシステムを含む、プログラム的インターフェースを提供することと、
設定可能なネットワークサービスのコンピュータシステムの制御の下で、かつ、複数の遠隔のユーザの各々に対して、
ユーザの遠隔プライベートコンピュータネットワークへのローカルプライベートネットワーク拡張を構成および設定するために提供されたプログラム的インターフェースを通じて、遠隔のユーザによりプログラム的に提供された設定情報を受信することであって、このプライベートネットワーク拡張は、設定可能なネットワークサービスにより提供され、多重の複数のコンピュータシステムのサブセットを含み、受信した設定情報は、複数のコンピュータシステムにおいて指定される、プライベートコンピュータネットワークの複数のプライベートネットワークアドレスのユーザに特定のサブセットを含み、プライベートネットワーク拡張において複数のコンピュータシステムからアクセス可能な、プライベートコンピュータネットワーク外部の遠隔資源サービスの指定を含み、かつプライベートネットワーク拡張からプライベートコンピュータネットワークの一部ではない外部コンピュータシステムへのアクセスを防止するためのネットワークアクセス制限情報を含む、設定情報を受信することと、
受信した設定情報に従って、ユーザのプライベートネットワーク拡張を自動設定することであって、この設定は、複数のコンピュータシステム各々を、プライベートネットワークアドレスのユーザ特定のサブセットの1つに関連させることを含み、遠隔資源サービスを示す、プライベートネットワークアドレスのユーザ特定のサブセットの1つを指定することを含み、かつ複数のコンピュータシステムから、複数のプライベートネットワークアドレスの一部ではない他のネットワークアドレスに通信が送信されることを防止する設定を実行することを含む、自動設定することと、
プライベートネットワーク拡張上に送信された通信の自動的に管理することであって、この管理することは、遠隔資源サービスに指定されたプライベートネットワークアドレスに送信された1つ以上の通信の各々に対して、プライベートコンピュータネットワークの外部の1つ以上のパブリックネットワークを通じて遠隔資源サービスにその通信を転送することとを含む、管理することと、を含む方法。
【0104】
条項2
複数のユーザのうちの1人に対して、1人のユーザのプライベートネットワーク拡張の自動設定は、プライベートネットワーク拡張の複数のコンピュータシステムと、1人のユーザの遠隔プライベートコンピュータネットワークの複数の他のコンピュータシステムとの間の仮想プライベートネットワーク接続を、プライベートアクセスを可能にするように設定することを含み、プライベートネットワーク拡張上で送信された通信を自動的に管理することは、プライベートネットワーク拡張の複数のコンピュータシステムと、1人のユーザの遠隔プライベートコンピュータネットワークの複数の他のコンピュータシステムとの間の、設定された仮想プライベートネットワーク接続を介したプライベートアクセスを提供することをさらに含み、複数のコンピュータシステムから、複数のプライベートネットワークアドレスの一部ではない他のネットワークアドレスへの通信を防止する設定を実行することは、1人のユーザのプライベートコンピュータネットワークと、1人のユーザのプライベートコンピュータネットワークの外部の任意のコンピュータシステムとの間の通信を防止するための1つ以上のネットワーク装置を設定することを含む、条項1の方法。
【0105】
条項3
設定可能なネットワークサービスは、パブリックネットワークを介して遠隔のユーザに対してアクセス可能であり、クラウドコンピュータ技術を利用してネットワーク拡張を提供する有料サービスであり、設定可能なネットワークサービスによりユーザに提供された、構成されたネットワーク拡張に対して設定可能なネットワークサービスに支払いを提供する複数の遠隔のユーザが、設定可能なネットワークサービスの客である、条項2の方法。
【0106】
条項4
遠隔ネットワークサービスにローカルネットワークアクセスを提供するためのコンピュータ実装方法であって、
複数の遠隔の顧客にプライベートコンピュータネットワークを提供する設定可能なネットワークサービスの1つ以上のコンピュータシステムの制御の下で、
多重コンピュータノードを含む第1のプライベートコンピュータネットワークの第1の客に対する構成を起動し、第1のプライベートコンピュータネットワークに対する設定情報を特定する、第1の遠隔の客からの1つ以上の要求を受信することであって、設定情報は、第1のプライベートコンピュータネットワークとともに利用するための複数の特定のネットワークアドレスを含み、コンピュータ関連資源を提供するネットワークアクセス可能な遠隔資源サービスの指定を含み、かつ第1のプライベートコンピュータネットワークの一部ではないコンピュータシステムへの、第1のプライベートコンピュータネットワークの多重コンピュータノードのアクセスを制限するためのネットワークアクセス制限情報を含む1つ以上の要求を受信することと、
設定情報に従った、第1のプライベートコンピュータネットワークを自動設定することであって、設定は、多重コンピュータノード各々を、特定のネットワークアドレスの1つに関連させることを含み、指定された遠隔資源サービスを示すために、特定のネットワークアドレスの示された1つを指定することを含み、多重コンピュータノードから特定のネットワークアドレスの一部ではないネットワークアドレスへまでの少なくとも一部の通信を防止する設定を実行することを含み、多重コンピュータノードは、設定可能なネットワークサービスによって提供された複数のコンピュータノードのサブセットである、自動設定することと、
設定情報に従って多重コンピュータノードにより送信された通信を管理することであって、多重コンピュータノードの1つ以上によって、指定されたネットワークアドレスに送信される1つ以上の通信に対して、第1のプライベートコンピュータネットワークの外部の1つ以上のネットワークを介して遠隔資源サービスに1つ以上の通信を転送することを含む、通信を管理することと、を含む方法。
【0107】
条項5
特定の設定情報に含まれるネットワークアクセス制限情報が、遠隔資源サービスの1つ以上のコンピュータシステム以外の第1のプライベートコンピュータネットワークの一部ではないコンピュータシステムへの、第1のプライベートコンピュータネットワークの多重コンピュータノードのアクセスを禁止し、多重コンピュータノードから、特定のネットワークアドレスの一部ではない他のネットワークアドレスへの少なくとも一部の通信を防止する設定を実行することは、多重コンピュータノードから、特定のネットワークアドレスの一部ではない他のネットワークアドレスに送信されるあらゆる通信の防止を含む、条項4の方法。
【0108】
条項6
複数の設定可能なネットワークサービスによって提供されたコンピュータノードと相互接続する設定可能なネットワークサービスの物理的なサブストレートネットワークにおいてオーバーレイされた仮想ネットワークとして、設定可能なネットワークサービスにより、第1のプライベートコンピュータネットワークが提供され、特定のネットワークアドレスは、仮想ネットワークアドレスであり、かつ指定された遠隔資源サービスは、サブストレートネットワークの一部である設定されたローカルアクセスポイントを有し、1つ以上のコンピュータノードによって、指定されたネットワークアドレスに送信された1つ以上の通信は、指定された遠隔資源サービスの設定されたローカルアクセスポイントに供給される、条項4の方法。
【0109】
条項7
オーバーレイされた仮想ネットワークの一部として、多重コンピュータノード間に送信された通信が、サブストレートネットワーク上で送信され、かつ通信中にサブストレートネットワークに特定の情報を利用するように符号化され、設定可能なネットワークサービスは、サブストレートネットワーク上における送信前に、サブストレートネットワークに特定の情報を用いて符号化される、多重コンピュータノードからの発信を修正し、かつサブストレートネットワーク上における送信後に、サブストレートネットワークに特定の符号化された情報を除去するために、多重コンピュータノードへの着信を修正する多重モジュールを提供し、設定されたローカルアクセスポイントへの1つ以上の通信を提供することは、サブストレートネットワークに特定の符号化された情報を利用するサブストレートネットワークを介した1つ以上の通信の、設定されたローカルアクセスポイントへ送信することを含み、かつ指定された遠隔資源サービスのローカルアクセスポイントは、サブストレートネットワークに特定の情報を用いて符号化された、サブストレートネットワークにおいて送信された通信を管理するように設定される条項6の方法。
【0110】
条項8
指定された遠隔資源サービスの設定されたローカルアクセスポイントが、設定可能なネットワークサービスにより提供されるコンピュータノードにより提供され、1つ以上の外部ネットワークは、パブリックネットワークであり、指定された遠隔資源サービスの設定されたローカルアクセスポイントは、安全な方式において、サブストレートネットワークから1つ以上の外部パブリックネットワーク上で遠隔資源サービスへの1つ以上の通信の転送を管理する条項6の方法。
【0111】
条項9
第1の客が、複数の遠隔の客の1人であり、設定可能なネットワークサービスの1つ以上のコンピュータシステムは、第1のプライベートコンピュータネットワーク以外の複数のプライベートコンピュータネットワークをさらに設定し、第1の客以外の複数の遠隔の客に提供し、複数の他のプライベートコンピュータネットワークの少なくとも一部は、指定された遠隔資源サービスに、それらの少なくとも一部の他のプライベートコンピュータネットワークの他のネットワークアドレスを指定するように設定され、少なくとも一部の他のプライベートコンピュータネットワークに対する通信を管理することは、指定された遠隔資源サービスの設定されたローカルアクセスポイントへの他のネットワークアドレスに送信される他の通信を転送することを含む、条項6の方法。
【0112】
条項10
第1のプライベートコンピュータネットワークが、第2の遠隔資源サービスを示すように、異なる第2の特定のネットワークアドレスのうちの1つを指定するようにさらに設定されており、第2の遠隔資源サービスが、サブストレートネットワークの一部であり、かつ指定された遠隔資源サービスの設定されたローカルアクセスポイントとは異なる設定された第2のローカルアクセスポイントを有し、多重コンピュータノードにより送信された通信を管理することが、多重コンピュータノードの1つ以上によって、第2のネットワークアドレスに送信された1つ以上の他の通信に対して、第2の遠隔資源サービスの設定された第2のローカルアクセスポイントに、その1つ以上の他の通信を提供することによって、第2の遠隔資源サービスにその1つ以上の他の通信を転送する、条項6の方法。
【0113】
条項11
設定可能なネットワークサービスが、多重コンピュータノード間の通信を管理する多重モジュールを提供し、第1のプライベートコンピュータネットワークの自動設定が、1つ以上の外部ネットワーク上の遠隔資源サービスへの指定されたネットワークアドレスへ送信された通信を転送するように、設定可能なネットワークサービスの多重モジュールを設定することを含む、条項4の方法。
【0114】
条項12
複数の設定可能なネットワークサービスによって提供されたコンピュータノードが、単一の地理的位置に配置されており、設定可能なネットワークサービスの1つ以上のコンピュータシステムが、第1のプライベートコンピュータネットワークの多重コンピュータノードとは異なる複数の他の多重コンピュータノードを用いる第2の客に、第2のコンピュータネットワークをさらに提供し、第2のコンピュータネットワークの他の多重コンピュータノードの少なくとも1つが、他者にアクセス可能であるネットワークアクセス可能な遠隔サービスを提供し、指定された遠隔資源サービスが、第2のコンピュータネットワークを用いる第2の客によって提供された遠隔サービスである、条項4の方法。
【0115】
条項13
第1のプライベートコンピュータネットワークおよび第2のコンピュータネットワークが、複数のコンピュータノードと相互接続する設定可能なネットワークサービスの物理的なサブストレートネットワーク上でオーバーレイされた異なる仮想ネットワークとして、設定可能なネットワークサービスにより提供され、1つ以上の外部ネットワークを介した遠隔資源サービスへ1つ以上の通信を転送することは、サブストレートネットワークを通じた、第1のプライベートコンピュータネットワークから少なくとも1つの第2のコンピュータネットワークの他のコンピュータノードの1つ以上へ1つ以上の通信を転送することを含む、条項12の方法。
【0116】
条項14
第1のプライベートコンピュータネットワークが、複数のコンピュータシステムを含む、第1の客の遠隔プライベートコンピュータネットワークの拡張となるように設定され、特定の複数のネットワークアドレスが、遠隔プライベートコンピュータネットワークに利用される複数のプライベートネットワークアドレスのサブセットであり、第1のプライベートコンピュータネットワークの自動設定が、第1の客の遠隔プライベートコンピュータネットワークの複数のコンピュータシステムと、第1のプライベートコンピュータネットワークの多重コンピュータノードとの間のプライベートアクセスをさらに可能にする、条項4の方法。
【0117】
条項15
多重コンピュータノードによって送信された通信を管理することは、遠隔プライベートコンピュータネットワークの複数のコンピュータシステムから、第1のプライベートコンピュータネットワークに送信された通信を管理することをさらに含み、複数のコンピュータシステムから送信された通信を管理することは、1つ以上の多重コンピュータシステムによって、指定されたネットワークアドレスへ送信された1つ以上の他の通信において、1つ以上の外部ネットワークを介した遠隔資源サービスへの1つ以上の他の通信を転送することを含む、条項14の方法。
【0118】
条項16
設定可能なネットワークサービスにより提供されるプライベートコンピュータネットワークの設定において、複数の遠隔の客により用いられる設定可能なネットワークサービスにより提供された1つ以上のプログラム的インターフェースの起動に基づいて、第1の客による1つ以上の要求がプログラム的に構成され、特定の設定情報のネットワークアクセス制限情報が、第1のプライベートコンピュータネットワークの多重コンピュータノード間の通信をさらに制御し、第1のプライベートコンピュータネットワークの自動設定が、複数のコンピュータノードからの、第1のプライベートコンピュータネットワークの一部として用いるための多重コンピュータノードの自動選択を含み、特定のネットワークアクセス制限情報に従った、多重コンピュータノード間の通信を許可すること、およびブロックすることをさらに実行する、条項4の方法。
【0119】
条項17
遠隔資源サービスの制御の下で、
コンピュータ関連資源のサブセットの少なくとも一部にアクセスするための指定されたネットワークアドレスを介して、第1のプライベートコンピュータネットワークの多重コンピュータノードから送信された通信を受信することであって、受信した通信が識別子の指定を含む、通信を受信することと、
指定された識別子に関連するネームスペースから、少なくとも一部のコンピュータ関連資源へのアクセスを提供することと、をさらに含む条項4の方法。
【0120】
条項18
指定された遠隔資源サービスにより提供されたコンピュータ関連資源が、データ保存サービス、プログラム実行サービス、および非同期式メッセージパッシングサービスの少なくとも1つのための資源を含み、多重コンピュータノードが、設定可能なネットワークサービスの複数の物理的なコンピュータシステムの1つにおいてホストされる各仮想マシンであり、第1のプライベートコンピュータネットワークを設定することが、ホストされた仮想マシンに対する通信を管理するための、1つ以上の物理的なコンピュータシステムにおいて実行する1つ以上の仮想マシン通信管理者モジュールを設定することを含む、条項4の方法。
【0121】
条項19
第1のプライベートコンピュータネットワークとともに利用するために特定された複数のネットワークアドレスの少なくとも1つと同一である、1人以上の他の客によって特定された1つ以上のネットワークアドレスを有する、第1の客以外の1人以上の客用の第1のプライベートコンピュータネットワーク以外の1つ以上の提供されたプライベートコンピュータネットワークを、複数の遠隔の客に提供されたプライベートコンピュータネットワークが含み、設定可能なネットワークサービスが、それらの同一のネットワークアドレスをさらに管理し、それらの同一のネットワークアドレスの各々に対して、他のプライベートコンピュータネットワークの各々が、第1のプライベートコンピュータネットワークに対するネットワークアドレスに対応するコンピュータノードとは異なる、そのネットワークアドレスに対応するコンピュータノードを有する、条項4の方法。
【0122】
条項20
設定可能なネットワークサービスの1つ以上のコンピュータシステムによる、複数の遠隔の客へプライベートコンピュータネットワークを提供することは、第1のプライベートコンピュータネットワークとともに利用するために特定された複数のネットワークアドレスに対して任意のネットワークアドレスを選択することを、第1の客に許可することを含む、条項4の方法。
【0123】
条項21
第1の客からの1つ以上の要求が、第1の客のコンピュータデバイス上に第1の客にディスプレイされたグラフィカルユーザインターフェースとの、第1の客の1つ以上の相互作用に基づいて起動される、条項の4の方法である。
【0124】
条項22
コンピュータ可読媒体であって、そのコンテンツは、下記の工程を含む方法を実行することによって、コンピュータシステムが、遠隔ネットワークサービスへのローカルネットワークアクセスの提供することを可能にし、この工程は、
複数の遠隔の顧客の各々に対して、
顧客の遠隔プライベートコンピュータネットワークへのネットワーク拡張を設定するための、顧客から第1の情報を受信することであって、ネットワーク拡張が、顧客に用いられるために提供され、第1の情報は、提供されたネットワーク拡張を利用するために特定された1つ以上の プライベートネットワークアドレスを含む、第1の情報を受信することと、
プライベートコンピュータネットワークからネットワークアクセス可能な資源サービスへのアクセスを設定する第2の情報を取得することと、
この方法は、資源サービスへのアクセスを可能にする提供されたネットワーク拡張を自動的に設定することであって、資源サービスを示すために、特定のプライベートネットワークアドレスの指定された1つに関連付けることを含み、これにより、プライベートコンピュータネットワークのコンピュータノードによって、指定されたプライベートネットワークアドレスに送信された通信は、プライベートコンピュータネットワークとは異なる1つ以上のネットワーク上で資源サービスに転送される、ネットワーク拡張を自動的に設定することと、
この方法は、設定された、提供された顧客へのネットワーク拡張の利用が可能であることを開始することを含む、コンピュータ可読媒体。
【0125】
条項23
コンピュータシステムが、複数の遠隔の顧客にネットワーク拡張を提供し、かつ設定可能なネットワークサービスと通信するための、複数の遠隔の顧客に用いられるプログラム的インターフェースを提供する設定可能なネットワークサービスの一部であり、設定可能なネットワークサービスが第1のネットワーク拡張を提供する第1の複数の顧客のために、第1の情報が、プログラム的インターフェースを用いた第1の顧客の1つ以上の相互作用を介して受信され、かつ第1のネットワーク拡張用の設定情報を含み、設定情報が、第1のネットワーク拡張用の複数の特定のプライベートネットワークアドレスを含み、第1のネットワーク拡張の指定されたネットワークアドレスが関連する資源サービスの指定を含み、かつネットワーク拡張が属するプライベートコンピュータネットワークの一部ではないコンピュータシステムへの第1のネットワーク拡張の多重コンピュータノードのアクセスを防止するネットワークアクセス制限情報を含み、指定された遠隔資源サービスが、第1のプライベートネットワーク拡張から遠隔であり、第1のネットワーク拡張の自動設定が、含まれる設定情報に従ってさらに実行され、かつ多重コンピュータノード各々を、複数の特定のプライベートネットワークアドレスの1つに関連付けることを含み、この方法は、第1のネットワーク拡張の多重コンピュータノードの1つ以上によって、第1のネットワーク拡張に対して指定されたネットワークアドレスへ送信された1つ以上の通信の受信後に、遠隔資源サービスにより提供されたコンピュータ関連資源への多重コンピュータノードのアクセスが可能になるように、1つ以上のパブリックネットワークを介して、指定されたネットワークアドレスが関連する遠隔資源サービスに、受信した通信を転送することをさらに含む、条項22のコンピュータ可読媒体。
【0126】
条項24
コンピュータシステムが、複数の同一場所に配置されたコンピュータノードを用いる複数の遠隔の顧客にネットワーク拡張を提供する設定可能なネットワークサービスの一部であり、提供されたネットワーク拡張各々が、複数の多重コンピュータノードのサブセットを利用した異なるネットワークであり、第1のネットワーク拡張を設定可能なネットワークサービスが提供する第1の複数の顧客に対して、第1のネットワーク拡張に対するアクセスが可能な資源サービスが、設定可能なネットワークサービスにより提供された別のネットワーク拡張を用いた別の複数の遠隔の顧客により提供された資源サービスである、条項22のコンピュータ可読媒体。
【0127】
条項25
コンピュータ可読媒体が、コンテンツを保存するコンピュータシステムのメモリ、およびコンテンツを含む生成された保存データ信号を含むデータ送信媒体の少なくとも1つであり、コンテンツが、実行されたときにコンピュータシステムにこの方法を実行させる指示である、条項22のコンピュータ可読媒体。
【0128】
条項26
遠隔ネットワークサービスへのローカルネットワークアクセスを提供するように設定されたコンピュータシステムであって、
1つ以上のメモリと、
複数の遠隔の顧客各々に、遠隔の顧客に用いられるために構成されたコンピュータネットワークを自動的に提供するように設定された設定可能なネットワークサービス管理者モジュールとを備え、
顧客に用いられるために構成されたコンピュータネットワークを設定するための、顧客により提供された設定情報の受信を含み、この設定情報は、構成されたコンピュータネットワークを介して、構成されたコンピュータネットワークの一部として提供された多重コンピュータノードにアクセス可能な1つ以上のネットワークアクセス可能な遠隔資源サービスの指定を含み、
このシステムは、受信した設定情報に従った、顧客用の構成されたコンピュータネットワークを自動的に設定することを含み、構成されたコンピュータネットワークの一部であり、多重コンピュータノードから、構築したアクセス機構を介して指定された遠隔資源サービスへの通信を送信することを可能にする方式により、指定された遠隔資源サービスに関連付けられた1つ以上のアクセス機構の構築を含み、
構成されたコンピュータネットワークの多重コンピュータノードへのアクセスを顧客に提供することを含む、コンピュータシステム。
【0129】
条項27
設定可能なネットワークサービス管理者モジュールは、設定可能なネットワークサービスの一部であり、顧客に用いられるために構成されたコンピュータネットワークを設定するために、複数の遠隔の顧客に用いられるプログラム的インターフェースを提供し、構成されたコンピュータネットワーク各々の多重コンピュータノードが、構成されたコンピュータネットワークと共に用いる設定可能なネットワークサービスによって提供された複数のコンピュータノードのサブセットであり、複数の顧客の少なくとも一部の各々に、顧客により提供された設定情報が、プログラム的インターフェースを介してプログラム的に提供され、顧客用の構成されたコンピュータネットワークのための追加的な設定情報をさらに含み、追加的な設定情報が、構成されたコンピュータネットワークとともに利用するための複数の特定のネットワークアドレスを含み、および構成されたコンピュータネットワークの一部ではないコンピュータシステムへの、構成されたコンピュータネットワークの多重コンピュータノードのアクセスを防止するネットワークアクセス制限情報を含み、受信した設定情報に従った、顧客用の構成されたコンピュータネットワークの自動設定が、構成されたコンピュータネットワークの一部として用いられる多重コンピュータノードを自動的に選択すること、および多重コンピュータノード各々を、特定のネットワークアドレスの1つに関連させることを含む、条項26のコンピュータシステム。
【0130】
条項28
少なくとも一部の顧客の各々に対して、顧客に用いられるために構成および設定されたコンピュータネットワークが、顧客の遠隔プライベートコンピュータネットワークへのプライベートコンピュータネットワーク拡張であり、指定された遠隔資源サービスに関連付けられた、構成されたコンピュータネットワークの1つ以上のアクセス機構の構築は、構成されたコンピュータネットワークに対する複数の特定のネットワークアドレスの1つを、指定された遠隔資源サービス各々に指定することを含み、構成されたコンピュータネットワークの自動設定が、遠隔プライベートコンピュータネットワークと、プライベートコンピュータネットワーク拡張の多重コンピュータノードとの間におけるプライベートアクセスをさらに可能にし、構成されたコンピュータネットワークの多重コンピュータノードへのアクセスの顧客への提供は、構成されたコンピュータネットワークの多重コンピュータノードによって送信された通信の管理を含み、この管理は、1つ以上の多重コンピュータノードによって、指定されたネットワークアドレスの1つに送信された1つ以上の通信各々に対して、その遠隔資源サービスにより提供されたコンピュータ関連資源への、多重コンピュータノードのアクセスを可能にするために、構成されたコンピュータネットワークの外部における1つ以上のパブリックネットワークを介して、そのネットワークアドレスを指定された遠隔資源サービスへの受信した通信の転送を含む、条項27のコンピュータシステム。
【0131】
条項29
設定可能なネットワークサービス管理者モジュールが、コンピュータシステムにより実行されるソフトウェア命令を含む、条項26のコンピュータシステム。
【0132】
条項30
設定可能なネットワークサービス管理者モジュールが、遠隔の顧客に用いられるために構成されたコンピュータネットワークを自動的に提供するための手段から成り、複数の遠隔の顧客各々に対し、
顧客に用いられるために構成されたコンピュータネットワークを設定するための、顧客により提供された設定情報を受信することであって、構成されたコンピュータネットワークを介して、構成されたコンピュータネットワークの一部として提供された多重コンピュータノードにアクセス可能な1つ以上のネットワークアクセス可能な遠隔資源サービスの指定を含み、
受信した設定情報に従った、顧客用の構成されたコンピュータネットワークの自動的に設定することであって、構成されたコンピュータネットワークの一部であり、構築されたアクセス機構を介して、多重コンピュータノードから指定された遠隔資源サービスへの通信を送信可能になる方式により、指定された遠隔資源サービスに関連する、1つ以上のアクセス機構を構築することを含み、
構成されたコンピュータネットワークの多重コンピュータノードへのアクセスを顧客へ提供することを含む、条項26のコンピュータシステム。
【0133】
特定の実施形態が例示の目的のために本明細書に記載されたが、本発明の精神および範囲から逸脱することなく、種々の修正が可能であることが、上述の内容から理解される。それ故、本発明は、添付の特許請求の範囲およびそこに列挙された要素を除いて限定されない。さらに、本発明の特定の態様が特定の請求項の形態で下記に示されたが、発明者は、任意の利用可能な請求項の形態における、本発明の種々の態様を意図する。例えば、本発明の一部の態様のみが、コンピュータ可読媒体に具現化されたものとしてここに列挙される場合があるが、他の態様も同様に具現化される場合がある。
図1A
図1B
図2
図3
図4A
図4B
図5
図6
図7
図8