実行時に、異なるネットワークに存在する複数のエンドポイント間で確立されたネットワーク接続にわたって通信する方法をコンピュータに実行させるコンピュータ実行可能命令を格納するコンピュータ読取可能記憶媒体であって、前記方法は、ソースエンドポイントと宛先エンドポイントとの間に跨る前記ネットワーク接続を提供するステップであって、前記ネットワーク接続が、前記ソースエンドポイントおよび前記宛先エンドポイントが夫々存在する前記異なるネットワークを橋渡しするTCPベースのトンネルとして動作する、ステップと、前記TCPベースのトンネル上で一体的に実行されている1つまたは複数の低レベルの信頼性機構を選択的に無効化するステップと、前記1つまたは複数の低レベルの信頼性機構がメッセージの送信タイミングに干渉することなく、前記トンネルを通じて前記第1のエンドポイントと前記第2のエンドポイントとの間でメッセージを送信するステップとを備えることを特徴とするコンピュータ読取可能記憶媒体。前記第1のエンドポイントと前記第2のエンドポイントとの間でメッセージを送信するステップは、前記TCPベースのトンネルを介してIPパケットを前記第1のエンドポイントから前記第2のエンドポイントに送信するステップを含むことを特徴とする請求項1に記載のコンピュータ読取可能記憶媒体。前記1つまたは複数の低レベルの信頼性機構は、IPパケットの送信速度を管理するように構成された輻輳制御機構を備えることを特徴とする請求項2に記載のコンピュータ読取可能記憶媒体。前記1つまたは複数の低レベルの信頼性機構は、未配信のまたは遅延のIPパケットを自動的に再送信することによって前記ネットワーク接続上のパケット損失を管理するように構成されたパケット損失機構を備えることを特徴とする請求項2に記載のコンピュータ読取可能記憶媒体。前記ネットワーク接続は、低レベルのTCPベース接続の上で実行される高レベルのTCPベース接続を含むことを特徴とする請求項1に記載のコンピュータ読取可能記憶媒体。1つまたは複数の高レベルの信頼性機構が、前記高レベルのTCPベース接続で一体的に実行されており、前記1つまたは複数の低レベルの信頼性機構が、前記低レベルのTCPベース接続で一体的に実行されていることを特徴とする請求項5に記載のコンピュータ読取可能記憶媒体。前記1つまたは複数の低レベルの信頼性機構を選択的に無効化する際に、前記1つまたは複数の高レベルの信頼性機構は有効化されたままであることを特徴とする請求項6に記載のコンピュータ読取可能記憶媒体。前記1つまたは複数の高レベルの信頼性機構は、IPパケットの送信速度を管理するように構成された輻輳制御機構と、未配信のまたは遅延のIPパケットを自動的に再送信することによって前記ネットワーク接続上のパケット損失を管理するように構成されたパケット損失機構とを備えることを特徴とする請求項6に記載のコンピュータ読取可能記憶媒体。前記1つまたは複数の高レベルの信頼性機構は、有効化されたときに、前記高レベルのTCPベース接続上のデータフローを管理する1組のルールを強制し、前記1つまたは複数の低レベルの信頼性機構は、有効化されたときに、前記低レベルのTCPベース接続上のデータフローを管理する同一の1組のルールを強制することを特徴とする請求項6に記載のコンピュータ読取可能記憶媒体。前記1つまたは複数の低レベルの信頼性機構は、クラウドコンピューティングプラットフォームのクライアントにより、部分的に、デザインされたクラウドコンピューティングサービスモデルの機能として選択的に無効化され、前記クラウドコンピューティングプラットフォームは、前記ソースエンドポイントをホストするデータセンタを備えることを特徴とする請求項1に記載のコンピュータ読取可能記憶媒体。前記宛先エンドポイントは、前記クライアントが管理するプライベート企業ネットワーク内に配置されたリソースによりホストされることを特徴とする請求項1に記載のコンピュータ読取可能記憶媒体。独立したネットワークに存在するエンドポイント間のデータフローを管理するコンピュータシステムであって、前記コンピュータシステムは、ソースエンドポイントをホストするクラウドコンピューティングプラットフォーム内のデータセンタであって、前記ソースエンドポイントが、前記クラウドコンピューティングプラットフォームおよびプライベート企業ネットワークの両方で実行されているアプリケーションに割り当てられる、データセンタと、前記アプリケーションに割り当てられた宛先エンドポイントをホストする前記プライベート企業ネットワーク内のリソースであって、前記ソースエンドポイントおよび前記宛先エンドポイントは、前記データフローを前記ソースエンドポイントと前記宛先エンドポイントとの間で直接転送するトンネルにより接続され、前記トンネルが、低レベルの接続の上で実行される高レベルの接続を可能とし、輻輳制御機構およびパケット損失機構が両方とも、前記高レベルの接続および前記低レベルの接続の各々に、夫々組み込まれる、リソースと、前記トンネルを確立し前記トンネル内で前記接続を構成する、前記データセンタ内で実行されるファブリックコントローラであって、前記接続を構成することには、前記低レベルの接続に組み込まれた前記輻輳制御機構および前記パケット損失機構を選択的に無効化することと、前記高レベルの接続に組み込まれた前記輻輳制御機構および前記パケット損失機構を選択的に有効化することを含むファブリックコントローラとを備えることを特徴とするコンピュータシステム。前記高レベルの接続で前記ソースエンドポイントに運ばれる第1のIPパケットを生成する、前記データセンタ内の仮想マシンをさらに備え、前記ソースエンドポイントが前記第1のIPパケットを第2のIPパケットにカプセル化し、前記第2のIPパケットを前記低レベルの接続で送信することを特徴とする請求項12に記載のコンピュータシステム。前記低レベルの接続に組み込まれた前記輻輳制御機構を選択的に無効化するときに、前記ファブリックコントローラが前記ソースエンドポイントと通信し、前記低レベルの接続に組み込まれた前記パケット損失機構を選択的に無効化するときに、前記ソースエンドポイントが前記宛先エンドポイントとネゴシエーションすることを特徴とする請求項13に記載のコンピュータシステム。TCPベースのトンネルにわたるソースエンドポイントと宛先エンドポイントとの間の通信を促進するコンピュータ実行方法であって、前記方法は、ファブリックコントローラを使用して、前記ソースエンドポイントおよび前記宛先エンドポイントを異なるネットワークにわたって通信可能に接続するTCPベースのトンネルを確立するステップであって、前記ソースエンドポイントの動作がデータセンタによりサポートされ、前記宛先エンドポイントの動作は、前記データセンタのクライアントが管理するプライベート企業ネットワークに存在する、遠隔に配置されたリソースによりサポートされる、ステップと、前記データセンタ内でインスタンス化された仮想マシンから渡される第1のIPパケットを前記ソースエンドポイントで受信するステップであって、前記第1のIPパケットは、第1の1組の信頼性機構が提供された高レベルの接続を介して運ばれる、ステップと、前記ソースエンドポイントで前記第1のIPパケットを第2のIPパケットにカプセル化するステップと、前記第2のIPパケットを、前記高レベルの接続の下方で積層された低レベルの接続を介して前記TCPベースのトンネルを通じて送信するステップであって、前記低レベルの接続には第2の1組の信頼性機構が提供されており、前記第1の1組の信頼性機構および前記第2の1組の信頼性機構の各々が、輻輳制御機構および損失回復機構を夫々備える、ステップと、前記ファブリックコントローラを使用して、前記低レベルの接続に提供された前記輻輳制御機構および前記損失回復機構を選択的に無効化するステップと、前記ファブリックコントローラを使用して、前記高レベルの接続に提供された前記輻輳制御機構および前記損失回復機構を受動的に有効化されたままにするステップと、前記低レベルの接続の無効化された状態および前記高レベルの接続の有効化された状態を記憶するステップであって、前記無効化された状態は、前記低レベルの接続に提供された前記輻輳制御機構および前記損失回復機構が無効化されていることを表し、前記有効化された状態は、前記高レベルの接続に提供された前記輻輳制御機構および前記損失回復機構が有効化されていることを表す、ステップとを含むことを特徴とする方法。法的要件を満たすために、本発明の諸実施形態の主題を本明細書で具体的に説明する。しかし、本説明自体は本特許権の範囲を限定しようとするものではない。むしろ、本発明者は、他の既存または将来の技術とともに、特許請求する主題を他の方法で具体化して、本明細書で説明したものと類似する別のステップまたはステップの組合せを含めてもよいと考えている。さらに、本明細書ではステップおよび/またはブロックという用語を用いて様々な方法の要素が使用されることを示唆するが、個々のステップの順序を明示的に記載しない限り、本明細書で開示した様々なステップの間で何らかの特定の順序があることを当該用語が暗示すると解釈すべきではない。本発明の諸実施形態は、接続されたネットワーク内で遠隔に配置されたネットワークまたはエンドポイントに跨るトンネルを確立し構成するための方法、コンピュータシステムおよびコンピュータ読取可能媒体に関する。本明細書で使用する際、用語トンネルは限定的な意味ではなく、異なるネットワークにわたる通信を橋渡しする意図をもってソースエンドポイントおよび宛先エンドポイントを通信可能に接続する任意のネットワーク接続を包含することができる。1つの事例では、別々のローカルネットワーク内でホストされるエンドポイント間でデータパケットを流すネットワーク接続としてトンネルを確立してもよく、この場合、エンドポイントは、それに割り当てられたIPアドレスにより発見され、識別される。さらに、ストリーミングデータパケットおよび他のトラフィックがトンネルを介して移動するとき、それらが複数のリンク、ファイアウォールおよび他のセキュリティ手段を横断してもよい。エンドポイント間のこの表面的な直接接続により、双方のエンドポイントは、あたかもそれらが共通のネットワーク内で隣接して配置されIP層を介して通信しているかのように会話することができる。幾つかの実施形態では、トンネルは、TCPまたはHTTPhypertexttransferprotocolまたはHTTPSHTTPSecureを用いてそれぞれ確立され、それらにエンドポイントが参加することもあれば参加しないこともある。トンネルにより、エンドポイントが有利に接続され、1つのネットワークまたは異なるネットワークにわたる通信が可能となる。例えば、HTTPトンネルまたはHTTPSトンネルは、エンドポイントが2つの異なるネットワークに存在する場合であっても、直接的な仮想IPレベルの接続を確立する機能をエンドポイントに提供する。換言すれば、トンネルにより、双方のエンドポイントは、あたかもそれらが共通のネットワーク内で隣接して配置されIP層を介して通信しているかのように会話することができる。例えば、2つのエンドポイント上で現在実行されているアプリケーションが、そのエンドポイントが2つの異なるネットワークに存在することを認識できず、そのため、アプリケーションは自分がトンネル上で実行されていることに気付かない。このHTTPトンネルまたはHTTPSトンネルの機能は、ファイアウォールおよびプロキシサーバなどの他のネットワークエッジデバイスをバイパスするためのHTTPおよびHTTPSベースのネットワーク接続機能の産物である。さらに、HTTPトンネルまたはHTTPSトンネルは、TCPベース接続が広範囲の様々なネットワークで利用されているので、エンドツーエンドの信頼性機構が組み込まれたTCPベース接続によりサポートされる。これらの信頼性機構は、損失回復および輻輳制御などの機能を実施して、これらの様々なネットワークを接続するこれらのリンク上の損失および輻輳を処理する。換言すれば、パケット損失の検出および輻輳の検出、ならびにその各々に対応するためのビルトインの信頼性機構がTCPに提供される。1つの事例では、TCPベース接続において輻輳を検出すると、信頼性機構の応答により、データパケットのトラフィックがネットワーク接続に配信される速度が減少することとなりうる。別の事例では、TCPベース接続においてパケット損失を検出すると、信頼性機構の応答により、損失したデータパケットが再送信されることとなりうる。潜在的には、エンドツーエンドのTCP接続の最中は、お互いの上で実行されている複数のTCPベース接続が存在しうる。この状況では、パケット損失またはネットワーク輻輳が発生した場合、積層された接続の各々に統合された信頼性機構が、お互いの間で通信せずに、パケット損失およびネットワーク輻輳に対して独立に応答する。例えば、高レベルのTCPベース接続の損失回復機構が、低レベルの接続の損失回復機構からの応答に加えて独自の応答の実行を試みる可能性がある。即ち、双方の損失回復機構がデータを再送し、ネットワーク接続の性能の劣化が不必要に増大することとなる。また、パケット損失に輻輳問題として反応し、協調して動作するに際して送信速度の調節時に重複して動作しうる輻輳制御機構を双方のチャネルが有することがある。例えば、双方の輻輳制御機構がデータパケットのストリーミング速度を半分に減少させた場合、集約効果として速度が4分の1になり、これはパケット損失問題の解決に必要な速度よりも相当遅い。したがって、実際には、これらの重複する是正措置は原因を過度に補償し、非効率的なものとなる。この過度な補償はしばしば、エンドポイント間の通信に悪影響を及ぼし、未解決のパケット損失またはネットワーク輻輳の問題を適切に対処するのに望ましい待ち時間を超えて待ち時間を増大させる。一態様では、本発明の諸実施形態は、コンピュータ実行可能命令を格納する1つまたは複数のコンピュータ読取可能媒体に関する。当該命令は、実行時に、異なるネットワークに存在する複数のエンドポイント間で確立されたネットワーク接続にわたって通信するための方法を実施する。まず、本方法は、ソースエンドポイントと宛先エンドポイントとの間に跨るネットワーク接続を提供するステップを含む。上述したように、ネットワーク接続は、ソースエンドポイントおよび宛先エンドポイントがそれぞれ存在する異なるネットワークを橋渡しするTCPベースのトンネルとして動作する。本方法はさらに、TCPベースのトンネル上で一体的に実行されている1つまたは複数の低レベルの信頼性機構を選択的に無効化するステップ、および当該低レベルの信頼性機構がメッセージの送信タイミングに干渉することなしに、第1のエンドポイントと第2のエンドポイントとの間でメッセージを送信するステップを含む。諸実施形態では、第1のエンドポイントと第2のエンドポイントとの間でメッセージを送信するステップには、特に、TCPベースのトンネルを介してIPパケットを第1のエンドポイントから第2のエンドポイントへ送信するステップを含んでもよい。例示的な一実施形態では、低レベルの信頼性機構が輻輳制御機構およびパケット損失機構を備える。輻輳制御機構は、IPパケット内で運ばれるデータの量を管理するように構成されうる。パケット損失機構は、未配信のまたは遅延したIPパケットを自動的に再送信することによってネットワーク接続上のパケット損失を管理するように構成されうる。別の態様では、本発明の諸実施形態は、個々のローカルネットワークに存在するエンドポイント間のデータの流れを管理するコンピュータシステムに関する。まず、当該コンピュータシステムは、クラウドコンピューティングプラットフォーム内のデータセンタ、プライベート企業ネットワーク内のリソース、ファブリックコントローラおよび仮想マシンを備える。諸実施形態では、データセンタが、クラウドコンピューティングプラットフォームおよびプライベート企業ネットワークの双方で実行されているアプリケーションに割り当てられたソースエンドポイントをホストしてもよい。リソースが、やはりアプリケーションに割り当てられた宛先エンドポイントをホストしてもよい。ソースエンドポイントと宛先エンドポイントとの間の通信を開始するに際して、ソースエンドポイントおよび宛先エンドポイントが、それらの間で直接にデータフローを転送するトンネルにより接続される。ここで、トンネルは低レベルの接続の上で実行されている高レベルの接続を含んでもよい。上述したように、輻輳制御機構およびパケット損失機構は両方とも、高レベルの接続および低レベルの接続の各々に、夫々組み込まれている。ファブリックコントローラは、データセンタ内で実行され、トンネルを確立しトンネルを構成することができる。1つの事例では、トンネルを構成することには、低レベルの接続に組み込まれた輻輳制御機構およびパケット損失機構を選択的に無効化することが含まれる。別の事例では、これらの接続を構成することには、高レベルの接続に組み込まれた輻輳制御機構およびパケット損失機構を選択的に有効化することを含めてもよい。データセンタ内の仮想マシンは、高レベルの接続でソースエンドポイントに運ばれる第1のIPパケットを生成する。当該IPパケットを受け取ると、ソースエンドポイントまたはソーストンネル終端エンドポイントは第1のIPパケットを第2のIPパケットにカプセル化して、当該第2のIPパケットを低レベルの接続で送信する。したがって、TCPベースのトンネルのエンドポイント間でデータパケットを送信するときに、双方の接続が関係する。さらに別の態様では、本発明の諸実施形態は、TCPベースのトンネルにわたるソースエンドポイントと宛先エンドポイントとの間の通信を促進するためのコンピュータ化された方法に関する。例示的な一実施形態では、本方法は、ファブリックコントローラを使用して、ソースエンドポイントおよび宛先エンドポイントを1つのネットワーク上でまたは異なるネットワークにわたって通信可能に接続するTCPベースのトンネルを確立することを含む。前述したように、ソースエンドポイントの動作がデータセンタによりサポートされ、宛先エンドポイントの動作が、データセンタのクライアントが管理するプライベート企業ネットワークに存在する、遠隔に配置されたリソースによりサポートされる。本方法はさらに、第1のIPパケットをソースエンドポイントで受け取ることを含む。当該第1のIPパケットは、データセンタ内でインスタンス化された仮想マシンから渡される。これらの第1のIPパケットは、第1の1組の信頼性機構が提供されている高レベルの接続を介して運ばれる。当該第1のIPパケットはソースエンドポイントまたは、ソースエンドポイントと同じネットワーク内のソーストンネル終端エンドポイントで第2のパケットにカプセル化され、低レベルの接続を介してTCPベースのトンネルを通じて宛先ネットワーク内のトンネル終端エンドポイントに送信され、最終的な宛先、即ち、リモートネットワーク内のエンドポイントに転送される。一般的には、低レベルの接続には第2の1組の信頼機構が提供される。諸実施形態では、これらの第1の1組の信頼性機構および第2の1組の信頼性機構の各々は、輻輳制御機構および損失回復機構をそれぞれ備える。本方法は続いて、ファブリックコントローラを使用して、低レベルの接続に提供された輻輳制御機構および損失回復機構を選択的に無効化することを実施する。また、ファブリックコントローラを使用して、高レベルの接続に提供された輻輳制御機構および損失回復機構を受動的に有効化されたままにすることができる。低レベルの接続の無効化された状態および高レベルの接続の有効化された状態が少なくとも一時的に記憶される。明確さのため、無効化された状態は、低レベルの接続に提供された輻輳制御機構および/または損失回復機構が無効化されていることを表す。反対に、有効化された状態は、高レベルの接続に提供された輻輳制御機構および損失回復機構が有効化されていることを表す。本発明の諸実施形態の概要を簡単に説明したので、本発明の諸実施形態の実装に適した例示的な動作環境を以下で説明する。図を概括的に参照する。まず、特に図1を参照すると、本発明の諸実施形態を実装するための例示的な動作環境が示され、コンピューティング装置100として一般的に指定されている。コンピューティング装置100は適切なコンピューティング環境の一例にすぎず、本発明の諸実施形態の使用範囲または機能範囲に関するどのような限定を示唆しようとするものでもない。また、コンピューティング環境100が、図示したコンポーネントのうち任意の1つまたは組合せに関して何らかの依存性または要件を有するとも解すべきではない。本発明の諸実施形態をコンピュータコードまたは機械利用可能命令の一般的なコンテキストで説明することができる。当該コードまたは命令には、コンピュータ、あるいはPDAまたは他のハンドヘルド装置などの他の機械により実行されている、プログラムコンポーネントなどのコンピュータ実行可能命令が含まれる。一般に、プログラムコンポーネントは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実施するかまたは特定の抽象データ型を実装するコードを指す。本発明の諸実施形態を様々なシステム構成で実施してもよく、当該システム構成には、ハンドヘルド装置、家庭用電化製品、汎用コンピュータ、特殊なコンピューティング装置等が含まれる。本発明の諸実施形態を、通信ネットワークを介して接続されたリモート処理装置によりタスクが実施される分散コンピューティング環境で実施してもよい。引き続き図1を参照すると、コンピューティング装置100は、メモリ112、1つまたは複数のプロセッサ114、1つまたは複数のプレゼンテーションコンポーネント116、I/Oinputoutputポート118、I/Oコンポーネント120、および例示的な電源122を直接または間接に接続するバス110を備える。バス110は、1つまたは複数のバスでありうるもの例えば、アドレスバス、データバス、またはそれらの組合せを表す。図1の様々なブロックは明確さのため線で示してあるが、現実には、様々なコンポーネントはそのように明確には区別されず、比喩的に言うと、当該線はより正確にはグレーであり唆味であるはずである。例えば、ディスプレイ装置などのプレゼンテーションコンポーネントがI/Oコンポーネントであると考える者もいるかもしれない。また、プロセッサはメモリを有する。本発明の発明者は、それが当業界の性質であることを認識しており、図1の図は、本発明の1つまたは複数の実施形態と関連して使用できる例示的なコンピューティング装置を示すにすぎないことを繰り返しておく。ワークステーション、サーバ、ラップトップ、ハンドヘルド装置等のカテゴリ間では区別しない。なぜならば、これら全てが図1の範囲内にありコンピュータまたはコンピューティング装置を指すと考えられるからである。コンピューティング装置100は一般に、様々なコンピュータ読取可能媒体を含む。限定ではなく例として、コンピュータ読取可能媒体には、RAMRandomAccessMemory、ROMReadOnlyMemory、EEPROMElectronicallyErasableProgrammableReadOnlyMemory、フラッシュメモリもしくは他のメモリ技術、CDROM、DVDdigitalversatilediskもしくは他の光媒体もしくはホログラフィック媒体、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報のエンコードに使用できコンピューティング装置100がアクセスできる他の任意の媒体が含まれうる。メモリ112は、コンピュータ記憶媒体を揮発性メモリおよび/または不揮発性メモリの形で含む。メモリは、リムーバブル、非リムーバブル、またはそれらの組合せであってもよい。例示的なハードウェア装置には、ソリッドステートメモリ、ハードドライブ、光ディスクドライブ等が含まれる。コンピューティング装置100は、メモリ112またはI/Oコンポーネント120のような様々なエンティティからデータを読み出す1つまたは複数のプロセッサを備える。プレゼンテーションコンポーネント116は、データのインジケーションをユーザまたは他の装置に提示する。例示的なプレゼンテーションコンポーネントには、ディスプレイ装置、スピーカ、印刷コンポーネント、バイブレーションコンポーネント等が含まれる。I/Oポート118により、コンピューティング装置100を、I/Oコンポーネント120を含む他の装置に論理的に接続することができ、それらの一部がビルトインであってもよい。例示的なコンポーネントには、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、プリンタ、無線装置等が含まれる。図1および図2を参照すると、第1のコンピューティング装置255および/または第2のコンピューティング装置265を、図1の例示的なコンピューティング装置100により実装してもよい。さらに、エンドポイント201および/またはエンドポイント202が、図1のメモリ112の一部および/または図1のプロセッサ114の一部を備えてもよい。次に図2を参照すると、本発明の一実施形態に従うブロック図が示されている。当該ブロック図は、サービスアプリケーションが使用するための仮想マシン270および275をデータセンタ225内に割り当てるように構成された、例示的なクラウドコンピューティングプラットフォーム200を示す。図2に示すクラウドコンピューティングプラットフォーム200は、適切なコンピューティングシステム環境の一例にすぎず、本発明の諸実施形態の使用範囲または機能範囲に関してどのような限定も示唆しようとするものではないことは理解されよう。例えば、クラウドコンピューティングプラットフォーム200がパブリッククラウド、プライベートクラウド、専用クラウドであってもよい。また、クラウドコンピューティングプラットフォーム200が、図示したコンポーネントのうち任意の1つまたは組合せに関して何らかの依存性または要件を有するとも解すべきではない。さらに、図2の様々なブロックは明確さのため線で示してあるが、現実には、様々なコンポーネントはそのように明確には区別されず、比喩的に言うと、当該線はより正確にはグレーであり曖昧であるはずである。さらに、任意数の物理マシン、仮想マシン、データセンタ、エンドポイント、またはそれらの組合せを使用して、本発明の諸実施形態の範囲内にある所望の機能を実現してもよい。クラウドコンピューティングプラットフォーム200は、特定のサービスアプリケーションのエンドポイント201および202の動作をホストおよびサポートするように構成されたデータセンタ225を備える。用語サービスアプリケーションは、本明細書で使用する際は、データセンタ225上で実行され、データセンタ225内の記憶場所にアクセスする、任意のソフトウェアまたはソフトウェアの一部を広く指す。一実施形態では、エンドポイント201および202のうち1つまたは複数が、サービスアプリケーションに参加するソフトウェアの一部、コンポーネントプログラム、または役割のインスタンスを表してもよい。別の実施形態では、エンドポイント201および202のうち1つまたは複数が、サービスアプリケーションがアクセス可能な記憶データを表してもよい。図2に示すエンドポイント201および202はサービスアプリケーションをサポートするのに適した部分の一例にすぎず、本発明の諸実施形態の使用範囲または機能範囲に関するどのような限定も示唆しようとするものではないことは理解されよう。一般に、仮想マシン270および275は、サービスアプリケーションになされた要求例えば、処理負荷の量に基づいてサービスアプリケーションのエンドポイント201および202に割り当てられる。本明細書で使用する際は、用語仮想マシンは、限定的な意味ではなく、処理装置により実行されエンドポイント201および202の機能の基礎となる、任意のソフトウェア、アプリケーション、オペレーティングシステム、またはプログラムを指してもよい。さらに、仮想マシン270および275が、エンドポイント201および202を適切にサポートするためのデータセンタ225内の処理機能、記憶位置、および他の資産を含んでもよい。動作に際しては、仮想マシン270および275が、データセンタ225のリソース例えば、第1のコンピューティング装置255および第2のコンピューティング装置265内に動的に割り当てられ、エンドポイント例えば、エンドポイント201および202が、割り当てられた仮想マシン270および275に動的に配置されて、現在の処理負荷を満足する。1つの事例では、ファブリックコントローラ210が、仮想マシン270および275を自動的に割り当て、エンドポイント201および202をデータセンタ225内に配置する責任を負う。例えば、ファブリックコントローラ210が例えば、サービスアプリケーションを所有する顧客により設計されたサービスモデルを利用して、いつどのように仮想マシン270および275を割り当ててエンドポイント201および202をそれらに配置するかについて誘導してもよい。さらに、ファブリックコントローラ210が、エンドポイント201および202と遠隔に配置されたエンドポイントとの間のトンネル型のネットワーク接続に統合された信頼性機構を有効化オンまたは無効化オフすべきか否かを判定するときに、クラウドコンピューティングサービスモデルから命令を読み取ってもよい。これを、図3を参照して以下でより完全に論ずる。上述したように、仮想マシン270および275を第1のコンピューティング装置255および第2のコンピューティング装置265の内部に動的に割り当ててもよい。本発明の諸実施形態ごとに、コンピューティング装置255および265は、例えば、サーバ、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、モバイル装置、家庭用電子機器、サーバ、図1のコンピューティング装置100等の任意の形態のコンピューティング装置を表す。1つの事例では、コンピューティング装置255および265は仮想マシン270および275の動作をホストおよびサポートし、同時に、データセンタ225の他のテナントをサポートするために切り出された他の仮想マシンをホストする。この場合、当該テナントは様々な顧客が所有する他のサービスアプリケーションのエンドポイントを含む。1つの態様では、エンドポイント201および202はクラウドコンピューティングプラットフォーム200のコンテキスト内で動作し、したがって、仮想マシン270と275との間で動的に作成された接続を介して内部的に通信し、物理ネットワークトポロジを介してリモートネットワークのリソース例えば、図3の企業プライベートネットワーク325のリソース375と外部的に通信する。当該内部接続では、ネットワーククラウド図示せずを介して、データセンタ225の物理リソースにわたって分散された仮想マシン270および275を相互接続してもよい。ネットワーククラウドはこれらのリソースを相互接続し、エンドポイント201がエンドポイント202および他のエンドポイントの位置を認識し、それらの間の通信を確立できるようにする。さらに、ネットワーククラウドが、この通信を、エンドポイント201および202を論理的に接続する、第1のコンピューティング装置255と第2のコンピューティング装置265のエンドポイント間のトンネルを通じて確立してもよい。限定ではなく例として、チャネルが1つまたは複数のLANlocalareanetworkおよび/またはWANwideareanetworkを利用してもよい。かかるネットワーク環境は職場、企業規模のコンピュータネットワーク、イントラネットおよびインターネットで一般的である。したがって、本明細書では当該ネットワークについてはこれ以上説明しない。次に図3を参照すると、本発明の一実施形態に従う例示的な分散コンピューティング環境300を示すブロック図が示されており、TCPベースのトンネル330が当該コンピューティング環境300内で確立されている。まず、分散コンピューティング環境300は、企業プライベートネットワーク325および図2を参照して論じたクラウドコンピューティングプラットフォーム200を備える。企業プライベートネットワーク325およびクラウドコンピューティングプラットフォーム200を、物理ネットワークによりサポートされるネットワーク315を介して接続してもよい。本明細書で使用する際、用語物理ネットワークは限定的な意味ではなく、有形の機構および装置例えば、ファイバ線、配電箱、スイッチ、アンテナ、IPルータ等、並びに、地理的に離れた場所のエンドポイント間通信を促進する無形の通信および搬送波を包含することができる。例えば、物理ネットワーク図3では図示せずが、インターネットで利用されるか、または異なるネットワーク間の通信を推進するために利用できる、任意の有線技術または無線技術を備えてもよい。一般に、企業プライベートネットワーク325は、クラウドコンピューティングプラットフォーム200の顧客が管理するリソース375のようなリソースを含む。しばしば、これらのリソースが、顧客が所有するサービスアプリケーションのコンポーネントの動作をホストおよびサポートする。エンドポイントB385はサービスアプリケーションの1つまたは複数のコンポーネントを表す。諸実施形態では、図2の仮想マシン270のようなリソースが図2のデータセンタ225内に割り当てられて、遠隔に分散されたサービスアプリケーションのコンポーネントの動作をホストおよびサポートする。エンドポイントA395は、クラウドコンピューティングプラットフォーム200内部にある、これらの遠隔に分散されたサービスアプリケーションのコンポーネントの1つまたは複数を表わす。動作に際しては、エンドポイントA395およびB385が互いに協働して、サービスアプリケーションが正しく実行されることを保証する。1つの事例では、協働において、エンドポイントA395とB385との間でデータパケット複数可316、またはIPデータパケットを、物理ネットワークがサポートするネットワーク315にわたって送信する。諸実施形態では、パケット316が、エンドポイントA395とB385との間で情報を交換するように動作してもよい。一般に、パケット316はバイト列から構成され、さらに、ヘッダを含み、続いてボディ部を含む。ヘッダはパケット316の宛先を記述し、場合によっては、パケット316がリソース375のようなその最終的な宛先に到達するまで転送を行うために使用される物理ネットワーク内のルータを記述する。ボディ部は、仮想マシン270のようなパケット316の起点で生成されたデータまたはペイロードを含む。一般に、リソース375およびデータセンタ225は、何らかの形態のコンピューティングユニット例えば、中央処理装置、マイクロプロセッサ等を備えるか、またはそれに接続されて、当該コンピューティングユニット上で実行されるエンドポイントおよび/またはコンポーネントの動作をサポートする。本明細書で使用する際、用語コンピューティングユニットは一般に、処理能力および記憶メモリを有する専用コンピューティング装置を指す。当該専用コンピューティング装置は1つもしくは複数のオペレーティングシステムまたは他の基盤ソフトウェアをサポートする。1つの事例では、コンピューティングユニットは、リソース375およびデータセンタ225と一体かまたは動作可能に接続され各装置が様々なプロセスおよび動作を実施できるようにする、有形のハードウェア要素、またはマシンで構成されている。別の事例では、コンピューティングユニットが、リソース375およびデータセンタ225の各々に収容されたコンピュータ読取可能媒体に接続されたプロセッサ図示せずを包含してもよい。一般に、コンピュータ読取可能媒体は、少なくとも一時的に、プロセッサにより実行可能な複数のコンピュータソフトウェアコンポーネント例えば、エンドポイントA395およびB385を格納する。本明細書で使用する際、用語プロセッサは限定的な意味ではなく、ある計算能力で動作するコンピューティングユニットの任意の要素を包含することができる。かかる能力において、プロセッサを、命令を処理する有形の製品として構成してもよい。例示的な一実施形態では、処理は、命令をフェッチする、デコード/解釈する、実行する、および書き戻すものであってもよい。TCPベースのトンネル330トンネル330を確立して、エンドポイントA395およびB385を含むサービスアプリケーションのような1つのサービスアプリケーションに割り当てたエンドポイント間で、または、割り当てたエンドポイント間の通信を異なるネットワークにわたって橋渡しするために独立のサービスアプリケーションの役割を果たす複数のペア間で、通信してもよい。トンネル330はTCPを使用し、TCPはアプリケーション層とネットワーク層/IP層との間にあるトランスポート層で通信サービスを提供する。トンネル330は、HTTPまたはHTTPSを使用するときは、アプリケーション層を430および440に含めてもよい。これは図4のTCP/IPスタック430および440で示されており、トンネル330が仮想マシン270におけるトランスポート層の低レベルのチャネル425の間で論理接続の役割を果たす。動作に際しては、アプリケーションプログラムが、大量のチャンクデータをIPサイズのピースに分割して一連のIP要求を発行するのではなく、IPを用いて大量のチャンクデータをネットワーク例えば、インターネットにわたって送信したいときは、当該アプリケーションプログラムはTCPを使用するトランスポート層を介して1つの要求を発行してIPの細部を処理することができる。したがって、当該トランスポート層を、完全な配信を保証する伝送機構、例えば、その内容またはペイロードがその宛先に安全かつ健全に到達することを保証する責任を有する運搬手段とみなすことができる。諸事例においては、配信の保証では、多数の信頼性問題を解決しデータパケット316の信頼できる送信を提供する、トンネル330に組み込まれた信頼性機構が必要である。これらの信頼性機構は高レベルで動作し、2つのエンドシステム例えば、WebブラウザおよびWebサーバと関係する。特に、TCPは、1組のルールを強制することにより或るコンピュータ上のエンドポイント395から別のコンピュータ上のエンドポイント385へのパケット316のストリームの信頼できる順序付けられた配信を提供する。当該1組のルールでは、データパケット316が順番に到着すること、データパケット316にエラーがないこと即ち、正確性、重複するデータパケット316が廃棄されること、および損失/遅延したデータパケット316が再送されることを記述してもよい。以上の1組のルールの例を、図5の損失回復機構505により強制してもよい。損失回復機構505はデータストリームを検査して任意の損失パケット316を特定する。当該信頼性機構はまた、IPパケット内で運搬されるデータの量を管理し、一般にトンネル330上のトラフィックの輻輳を管理するように構成された、図5の輻輳制御機構515を備えてもよい。一般に、トンネル330は、2つのエンドポイント間の経路の一部または経路全体に沿ってトランスポート層を介してエンドポイントを接続する、論理接続を表す。諸実施形態では、トンネル330は、ネットワーク315を介してIPネットワーク境界にわたるブリッジ接続を生成するように設計された、IP-HTTPS、SSL、SSTPまたは別のTCPベースのトンネリング技術を利用する。したがって、トンネル330は、基礎となる物理ネットワークから独立したエンドポイント385と395との間の論理接続を表面上確立し、それにより、エンドポイント385および395があたかもデータセンタ225内で隣接しているかのように対話することができる。例示的な一実施形態では、トンネル330が、互いの上に積層された1つまたは複数のTCPベース接続を含んでもよい。図4を参照すると、本発明の一実施形態に従う、トンネル330を含むTCPベース接続の階層の略図が示されている。図4に示すように、互いの上で実行される2つのTCPベース接続が存在する。これらのTCPベース接続は双方とも、データパケット316の各ストリームに対して上述の1組のルールを強制して完全で効率的な配信を保証する。当該2つのTCPベース接続は、高レベルのチャネル415および低レベルのチャネル425を含む。高レベルのチャネル415は、カプセル化されていないデータを仮想マシン270からデータセンタ225内のエンドポイントA395に流す。カプセル化されていないデータをエンドポイントA395でカプセル化して低レベルのチャネル425に置く。低レベルのチャネル425は、データパケット316にカプセル化されたデータをエンドポイントB385に運ぶ。エンドポイントB385に到達すると、データパケット316は低レベルのチャネル425で受け取られ、非カプセル化され、高レベルのチャネル415を介してリソース375に転送される。トンネル330を含む2つの異なるチャネルを説明したが、IPデータパケットを流す他種の適切な接続を使用してもよいこと、および、本発明の諸実施形態は本明細書で説明したこれらのチャネル415および425には限定されないことは理解されよう。損失回復機構505および輻輳制御機構515図5を参照を双方とも、高レベルのチャネル415および低レベルのチャネル425の各々に組み込み、それらの上で一体的に実行してもよい。これらの機構505および515を並列かつアクティブに動作させるとしばしば、重複で冗長な動作により性能が劣化することとなる。例えば、データパケット316が損失した場合は、チャネル415および425の双方の中にある機構505と515の双方が夫々、損失回復および輻輳制御を実施する。したがって、図2および図5のファブリックコントローラ210を使用して、チャネル415と425の何れかにある機構505と515の何れかを独立して選択的に設定オンまたはオフしてもよい。次に図5を参照すると、本発明の諸実施形態に従って、ファブリックコントローラ210を使用して、TCPベースのトンネル330に組み込まれた信頼性機構505および515を選択的に有効化/無効化する例示的なデータセンタ225を示すブロック図が示されている。示したように、データは高レベルのチャネル415を介して仮想マシン270からエンドポイントA395に流される。エンドポイントA395はストリーミングデータをカプセル化して、低レベルのチャネル415を介してネットワーク315に転送する。ファブリックコントローラ210は、低レベルのチャネル425に組み込まれた損失回復機構505および/または輻輳制御機構515を選択的に無効化する命令510をエンドポイントA395に運ぶことができる。これらの命令510を諸基準により促してもよい。これらの命令510は一般に、トンネル330に使用されるTCPベースのチャネル415および425の接続ごとに発行される。接続ごとに、または、ソケットオプションごとに、損失回復機構505および/または輻輳制御機構515をオンまたはオフにするための命令510を独立に、消費者例えば、クラウドコンピューティングサービスモデル、ネゴシエーション型のサービスレベルアグリーメント等が提供しうるポリシのような諸基準により起動してもよい。別の実施形態では、機構505および515の選択的な無効化を、ソースエンドポイントエンドポイントA395の識別および宛先エンドポイントエンドポイントB385の識別、運ばれているデータのタイプ、確立されているトンネルのタイプ、実行されているアプリケーション/動作のタイプ、またはポリシーベースの情報に関連する諸基準により行ってもよい。例示的な一実施形態では、ファブリックコントローラ210が、低レベルのチャネル425上で実行されている機構505および515を無効化するための命令510を発行し、高レベルのチャネル415上で実行されている機構図示せずを有効化させたままにしておくことにより、データストリームのエンドツーエンドの信頼性を提供し、遅延の原因となる二重機構の冗長性を低減する。1つの事例では、低レベルのチャネル425の機構505および515を無効化する構成を、デフォルトの設定としてファブリックコントローラ210内に提供する。本実施形態では、ファブリックコントローラ210が機構505および515を、有効化する入力がない限り、自動的に無効化する。諸実施形態では、輻輳制御機構515を無効化するとき、ファブリックコントローラ210が、トンネル330の受信側例えば、図3乃至5の宛先エンドポイント、エンドポイントB385、または図3および4のリソース375に変更を加えずに、トンネル330の送信側例えば、図3乃至5のソースエンドポイント、エンドポイントA395、または図2乃至5の仮想マシン270のコンポーネントに作用してもよい。したがって、受信側と何らネゴシエーションすることなく輻輳制御機構515をオフにすることができ、したがって、輻輳制御機構515は下位互換である。動作に際しては、図5を参照すると、エンドポイントA395に作用する際、このソースエンドポイントが、高レベルのチャネル415の輻輳制御機構図示せずが指定したデータ量またはデータパケット316の速度を送信する。したがって、高レベルのチャネル415の輻輳制御機構のみがデータ量を制御し、その結果、ネットワーク315は、大量のデータ損失の原因となる大量のデータで溢れかえることはない。諸実施形態では、損失回復機構505を無効化するとき、ファブリックコントローラ210が、トンネル330の送信側例えば、図3乃至5のソースエンドポイント、エンドポイントA395、または図2乃至5の仮想マシン270のコンポーネント、およびトンネル330の受信側例えば、図3乃至5の宛先エンドポイント、エンドポイントB385、または図3および4のリソース375に作用してもよい。したがって、トンネル330の送信側と受信側との間のネゴシエーションを介した協調により、損失回復機構515をオフにすることができる。即ち、受信側はネゴシエーションを通して、データパケット316の損失が送信側により回復されないことを認識するようになる。したがって、動作に際しては、中間データがリソース375まで損失するか、またはエンドポイントB385の下流であるサービスアプリケーションの他の宛先エンドポイントまで損失した可能性があっても、受信側は配信されたデータパケット316を転送する。しかし、トンネル330の受信側が損失回復機構505のオフをサポートしない場合は、損失回復機構505は一般にアクティブで有効化されたままとなる。ネゴシエーションの1つの事例では、エンドポイントA395がネゴシエーション情報を運ぶ初期同期SYNパケットをエンドポイントB385に送信してもよい。エンドポイントB385は、SYNパケットの受領を認識することができる。さらに、エンドポイントB385が、応答SYN-ACKパケットをエンドポイントA395に送信することによって、エンドポイントA395とのハンドシェークに返答してもよい。この時点で、返答がなされると、低レベルのチャネル425の損失回復機構505が無効化され、高レベルのチャネル415の損失回復機構図示せずがアクティブで有効化されたままとなる。それにより、ネットワーク315において損失または遅延した何らかのデータを再送信することで、データパケット316の配信中の何らかの損失または遅延からの回復が支援される。ここで図6を参照すると、本発明の一実施形態に従って、異なるネットワークに存在する複数のエンドポイント間で確立されたネットワーク接続にわたって通信を促進するための方法600を示す流れ図が示されている。ブロック602に示すように、ネットワーク接続が提供される。1つの事例では、ネットワーク接続は、ソースエンドポイント例えば、図4のエンドポイントA395と宛先エンドポイント例えば、図4のエンドポイントB385との間に跨るものである。上述したように、ネットワーク接続は、ソースエンドポイントおよび宛先エンドポイントが夫々存在する異なるネットワーク例えば、図3のクラウドコンピューティングプラットフォーム200および企業プライベートネットワーク325を橋渡しするTCPベースのトンネルとして動作する。方法600は、ブロック604および606で、TCPベースのトンネル上で一体的に実行されている1つまたは複数の低レベルの信頼性機構を選択的に無効化するステップ、および低レベルの信頼性機構がメッセージの送信タイミングに干渉することなく第1のエンドポイントと第2のエンドポイントとの間でメッセージを送信するステップを行う。諸実施形態では、第1のエンドポイントと第2のエンドポイントとの間でメッセージを送信するステップには、特に、TCPベースのトンネルを介してIPパケットを第1のエンドポイントから第2のエンドポイントに送信するステップを含んでもよい。例示的な実施形態では、選択的に無効化する動作を、所定の基準に対応する事象が発生した際に開始してもよい。当該所定の基準がファブリックコントローラに知らされていてもよく、当該ファブリックコントローラが、以下の対応するイベント、即ち、所定のポートがトンネルを通じてデータパケットを送信しようとしていること、新たなネットワーク接続が所定のデータセンタ、仮想マシン、もしくはソースエンドポイントで確立されていること、または、新たなネットワーク接続が所定のリソースもしくは宛先エンドポイントで確立されていることを検出した際に、1つまたは複数の信頼性機構例えば、図5の損失回復機構505および輻輳制御機構515を選択的に無効化してもよい。別の実施形態では、データセンタのユーザまたはクライアントに、クラウドコンピューティングプラットフォームでインスタンス化された一群の信頼性機構をオン/オフするための手動制御を行う権限を付与してもよい。このように、クライアントやユーザは、UIでトンネルのエンドポイントを指定することにより、1つまたは複数の信頼性機構を無効化または有効化するかどうかを動的に判定することができる。したがって、ユーザまたはクライアントは、通常は輻輳制御と損失回復を冗長かつ非効率に実施するはずである、TCPのような重複した信頼できるプロトコルの層をトンネル上で実行することに関連する性能ペナルティを回避すべきかどうかを判定することができる。図7を参照すると、本発明の一実施形態に従って、TCPベースのトンネルにわたってソースエンドポイントと宛先エンドポイントとの間の通信を促進するための方法700を示す流れ図が示されている。ブロック702で示すように、方法700は、ファブリックコントローラを使用して、1つのネットワーク上でまたは異なるネットワークにわたってソースエンドポイントおよび宛先エンドポイントを通信可能に接続するTCPベースのトンネルを確立するステップを含む。諸実施形態では、例えば、図3のデータセンタ225を利用してソースエンドポイントの動作がデータセンタによりサポートされ、宛先エンドポイントの動作が、例えば、図3のリソース375を利用してプライベート企業ネットワークに存在する遠隔に配置されたリソースによりサポートされる。この場合、当該リソースをデータセンタのクライアントが管理/所有してもよい。方法700はさらに、第1のIPパケットストリームをソースエンドポイントで受け取るステップを含み、当該第1のIPパケットストリームはデータセンタ内でインスタンス化された仮想マシンから渡される。このステップをブロック704で示す。幾つかの実施形態では、この第1のIPパケットストリームは、第1の1組の信頼性機構が提供されている高レベルのチャネルを介して運ばれる。ブロック706および708で示すように、ソースのトンネルエンドポイントに到着すると、第1のIPパケットストリームを第2のIPパケットストリームにカプセル化する。当該第2のIPパケットストリームは低レベルの接続を介してTCPベースのトンネルを通じて送信される。TCPベースのトンネルの1つの構成では、低レベルの接続を高レベルチャネルの下方で積層するlayerことで、協調してIPパケットを運び、その運搬の信頼性を保証する。このように、低レベルのチャネルにはしばしば第2の1組の信頼性機構が提供される。例示的な一実施形態では、第1の1組の信頼性機構および第2の1組の信頼性機構の各々が、少なくとも輻輳制御機構および損失回復機構を夫々備える。方法700は続いて、ブロック710で示すように、ファブリックコントローラを使用して、低レベルのチャネルに提供された輻輳制御機構および損失回復機構を選択的に無効化するステップを有する。ブロック712で示すように、ファブリックコントローラを使用して、高レベルのチャネルに提供された輻輳制御機構および損失回復機構を受動的に有効化されたままにすることもできる。ブロック714で示すように、低レベルのチャネルの無効化された状態および高レベルのチャネルの有効化された状態を記憶する。明確さのため、当該無効化された状態は、低レベルのチャネルに提供された輻輳制御機構および損失回復機構が無効化されていることを表す。反対に、有効化された状態は、高レベルのチャネルに提供された輻輳制御機構および損失回復機構が有効化されていることを表す。チャネルの状態を、ファブリックコントローラがアクセス可能なデータセンタ、リソース、エンドポイント、または他の任意の場所に記憶してもよい。本発明の諸実施形態を特定の実施形態に関連して説明した。これらは全ての点で、限定的ではなく例示的であると意図している。本発明の範囲から逸脱しない本発明の諸実施形態が関連する代替実施形態は、当業者には明らかであろう。以上から、本発明が、上述の目標および目的の全てを本システムおよび方法に自明で固有である他の利点とともに実現するように良く適合したものであることが分かる。特定の機能および副次的組合せが有用であり、これらを他の機能および副次的組合せを参照せずに使用できることは理解されよう。これは、特許請求の範囲により考慮されており、特許請求の範囲内にある。