複数のコンピュータシステムを含むコンピュータネットワーク環境における、プロセッサおよびメモリを含むコンピュータシステムにおいて、コンピュータシステム間でデータをセキュアにリレーするマルチテナントリレーサービスを提供するコンピュータが実行する方法であって、前記方法は、インスタンス化されたマルチテナントリレーサービスにおいて、第1のテナントに属する第1のコンピュータシステムから第2の異なるコンピュータシステムに渡されるデータの一部を受信する動作であって、前記インスタンス化されたマルチテナントリレーサービスは、複数の異なるテナントに対して、データをセキュアにリレーするように構成される、受信する動作と、前記マルチテナントリレーサービスが、前記第1のコンピュータシステムと前記第2のコンピュータシステムとの間で前記第1のテナントのデータをルーティングするためのセキュアなルーティングチャネルを作成する動作であって、前記セキュアなルーティングチャネルは、前記第1のテナントから受信されるデータの一部のそれぞれにユニークIDを適用する、作成する動作と、前記マルチテナントリレーサービスが、前記適用されたユニークIDを使用して、前記セキュアなルーティングチャネルを介して、前記受信したデータを前記第1のコンピュータシステムから前記第2のコンピュータシステムにルーティングする動作とを備えたことを特徴とする方法。前記マルチテナントリレーサービスにおいて、第2の異なるテナントに属する第3の異なるコンピュータシステムからデータの一部を受信する動作と、前記マルチテナントリレーサービスが、前記第2のテナントから受信される情報の一部のそれぞれに、異なるユニークIDを適用する動作と、前記マルチテナントリレーサービスが、前記適用された異なるユニークIDを使用して、前記セキュアなルーティングチャネルを介して、前記受信したデータを前記第3のコンピュータシステムから前記第2のコンピュータシステムにルーティングする動作とをさらに備えたことを特徴とする請求項1に記載の方法。前記第2のコンピュータシステムにより提供された、前記第1のテナントが接続しているものと同じサービスに、前記第2のテナントが接続している場合でも、前記第2のテナントから受信されるデータは、前記第1のテナントから受信されるデータから分離されることを特徴とする請求項2に記載の方法。前記第1のテナントの前記第1のコンピュータシステムおよび前記第2のテナントの前記第3のコンピュータシステムが、同じIPアドレスを有することを特徴とする請求項2に記載の方法。セキュアなルーティングチャネルを作成することは、前記セキュアなルーティングチャネルにおいてIPアドレス間でルーティングするためのIPアドレス空間を作成することを含むことを特徴とする請求項1に記載の方法。テナントのデータの前記ユニークIDを前記第1のテナントから前記第1のコンピュータシステムのDNS名にマッピングして、前記第1のコンピュータのDNS名を解決する動作さらに備えたことを特徴とする請求項1に記載の方法。どのコンピュータシステムまたはどの複数のコンピュータシステムからデータを受信したかに関わらず、前記ユニークIDを、前記第1のテナントから受信される全てのデータに適用することを特徴とする請求項1に記載の方法。前記適用されたユニークIDにより、各テナントが前記マルチテナントリレーサービス内で自身の一意的な名前空間を有することができることを特徴とする請求項1に記載の方法。通信データが仮想接続上を前記セキュアなルーティングチャネルを介してチャネリングされるため、前記第1のコンピュータシステム上で実行されるアプリケーションは、ネットワークアドレス変換なしで、前記第2のコンピュータシステム上で実行されるアプリケーションまたはサービスに直接接続されるように見えることを特徴とする請求項1に記載の方法。前記リレーサービスが複数の分散コンピュータシステム上で実行されることを特徴とする請求項1に記載の方法。前記マルチテナントリレーサービスに接続される各コンピュータシステムに、ソフトウェアエージェントを提供する動作をさらに備えたことを特徴とする請求項1に記載の方法。前記エージェントが、マシンを前記マルチテナントリレーサービスに結びつけ、かつ、IPアドレス変換のためのDNSサービスを含む追加的なサービスを提供することを特徴とする請求項11に記載の方法。コンピュータシステム間でデータをセキュアにリレーするマルチテナントリレーサービスを提供する方法を実行するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、前記コンピュータシステムの1つまたは複数のプロセッサにより実行されると、前記コンピュータシステムに前記方法を実行させるコンピュータ実行可能命令が記憶された1つまたは複数のコンピュータ可読記憶媒体を備え、前記方法は、インスタンス化されたマルチテナントリレーサービスにおいて、第1のコンピュータシステムから第2の異なるコンピュータシステムに渡されるデータの一部を受信する動作であって、前記インスタンス化されたマルチテナントリレーサービスは、複数の異なるテナントに対して、データをリレーするように構成される、受信する動作と、前記マルチテナントリレーサービスが、前記第1のコンピュータシステムと前記第2のコンピュータシステムとの間でデータをルーティングするためのセキュアなルーティングチャネルを作成する動作であって、前記セキュアなルーティングチャネルは、前記第1のテナントから受信されるデータの一部のそれぞれにユニークIDを与える動作と、複数の異なるネットワークプロトコルうちどれが前記受信したデータのルーティングに利用可能であるかを判定する動作と、どのネットワークプロトコルが利用可能であるかの前記判定に基づき、データ転送効率を最適化する適切なプロトコルを動的に選択する動作と前記判定されたプロトコルを使用して、前記受信したデータを前記第1のコンピュータシステムから前記第2のコンピュータシステムにルーティングする動作であって、前記データは、前記適用されたユニークIDを使用して、前記セキュアなルーティングチャネルを介してルーティングされる、ルーティングする動作とを含む方法であることを特徴とするコンピュータプログラム製品。前記第1のコンピュータシステムおよび前記第2のコンピュータシステムが同じネットワーク内にある場合、前記マルチテナントリレーサービスが、前記2つのシステムに、どちらかのシステムもファイアウォール環境から離れることなくローカルネットワーク上でローカルに接続するように指示することを特徴とする請求項13に記載のコンピュータプログラム製品。1つまたは複数のプロセッサと、システムメモリと、前記1つまたは複数のプロセッサにより実行されると、コンピュータシステム間でデータをセキュアにリレーするマルチテナントリレーサービスを提供する方法をコンピュータシステムに実行させるコンピュータ実行可能命令が記憶される、1つまたは複数のコンピュータ可読記憶媒体であって、前記方法は、インスタンス化されたマルチテナントリレーサービスにおいて、第1のテナントに属する第1のコンピュータシステムから第2の異なるコンピュータシステムに渡されるデータの一部を受信する動作であって、前記インスタンス化されたマルチテナントリレーサービスが、複数の異なるテナントに対して、データをセキュアにリレーするように構成される、受信する動作と、前記マルチテナントリレーサービスが、前記第1のコンピュータシステムと前記第2のコンピュータシステムとの間で前記第1のテナントのデータをルーティングするためのセキュアなルーティングチャネルを作成する動作であって、前記セキュアなルーティングチャネルは、前記第1のテナントから受信したデータの一部のそれぞれにユニークIDを適用する、作成する動作と、前記マルチテナントリレーサービスが、前記適用されたユニークIDを使用して、前記セキュアなルーティングチャネルを介して、前記受信したデータを前記第1のコンピュータシステムから前記第2のコンピュータシステムにルーティングする動作と、前記マルチテナントリレーサービスにおいて、第2の異なるテナントに属する第3の異なるコンピュータシステムからデータの一部を受信する動作と、前記マルチテナントリレーサービスが、前記第2のテナントから受信した情報の一部のそれぞれに、異なるユニークIDを適用する動作と、前記マルチテナントリレーサービスが、前記適用された異なるユニークIDを使用して、前記セキュアなルーティングチャネルを介して、前記受信したデータを前記第3のコンピュータシステムから前記第2のコンピュータシステムにルーティングする動作とを含む、コンピュータ可読記憶媒体とを備えたことを特徴とするコンピュータシステム。本明細書に記載する実施形態は、セキュアな接続をお互いに直接ルーティングすることができないコンピュータシステム間で、データをセキュアにリレーするマルチテナントリレーサービスを提供することに対処する。一実施形態において、コンピュータシステムが、第1のテナントに属する第1のコンピュータシステムから第2の異なるコンピュータシステムに渡されるデータの一部を受け取る。インスタンス化されたマルチテナントリレーサービスが、複数の異なるテナントに対して、データをセキュアにリレーするべく構成される。コンピュータシステムは、第1のコンピュータシステムと第2のコンピュータシステムとの間で第1のテナントのデータをルーティングするためのセキュアなルーティングチャネルを作成する。セキュアなルーティングチャネルは、第1のテナントから受け取ったデータの一部のそれぞれにユニークIDを適用する。コンピュータシステムはまた、適用されたユニークIDを使用して、セキュアなルーティングチャネルを介して、受け取ったデータを第1のコンピュータシステムから第2のコンピュータシステムにルーティングする。別の実施形態において、コンピュータシステムが、第1のコンピュータシステムから第2の異なるコンピュータシステムに渡されるデータの一部を受け取る。インスタンス化されたマルチテナントリレーサービスが、複数の異なるテナントに対して、データをリレーするべく構成される。コンピュータシステムは、第1のコンピュータシステムと第2のコンピュータシステムとの間でデータをルーティングするためのセキュアなルーティングチャネルを作成する。セキュアなルーティングチャネルは、第1のテナントから受け取ったデータの一部のそれぞれにユニークIDを与える。コンピュータシステムは、種々の異なるネットワークプロトコルうちどれが受け取ったデータのルーティングに利用可能であるかを判定し、かつ、どのネットワークプロトコルが利用可能であるかの判定に基づき、データ転送効率を最適化する適切なプロトコルを動的に選択する。コンピュータシステムはまた、判定されたプロトコルを使用して、受け取ったデータを第1のコンピュータシステムから第2のコンピュータシステムにルーティングする。データは、適用されたユニークIDを使用して、セキュアなルーティングチャネルを介してルーティングされる。ここで、以下の検討では、実行することができる多数の方法および方法の動作に言及する。方法の動作を、特定の順番で検討し、または、特定の順番で発生するようにフローチャートにおいて例示しているが、動作は、該動作が実行される前に完了する別の動作に依存するため、特に記載または要求がない限り、特定の順番を必ずしも要求するものではないことに留意されたい。本発明の実施形態では、以下でさらに詳細に検討するように、コンピュータハードウェア、例えば、1つまたは複数のプロセッサおよびシステムメモリを含む専用または汎用のコンピュータを備えるか、または利用することができる。本発明の範囲にある実施形態にはまた、コンピュータ実行可能命令および/またはデータ構造を搬送または記憶するための物理的および他のコンピュータ可読媒体を含む。そのようなコンピュータ可読媒体は、汎用または専用のコンピュータシステムによりアクセス可能な任意の利用可能な媒体とすることができる。コンピュータ実行可能命令を記憶するコンピュータ可読媒体は、コンピュータ記憶媒体である。コンピュータ実行可能命令を搬送するコンピュータ可読媒体は伝送媒体である。従って、制限ではなく例として、本発明の実施形態では、少なくとも2つの明確に異なる種類のコンピュータ可読媒体、すなわち、コンピュータ記憶媒体および伝送媒体を備えることができる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形式で記憶することに使用可能であり、かつ汎用または専用のコンピュータによりアクセス可能である任意の他の媒体を含む。ネットワークは、コンピュータシステムおよび/またはモジュールおよび/または他の電子デバイスの間で電子データの転送を可能にする1つまたは複数のデータリンクとして定義される。ネットワークまたは別の通信接続有線、無線、または有線もしくは無線の組み合わせを介して情報がコンピュータに転送または提供される時、コンピュータは該接続を適切に伝送媒体とみなす。伝送媒体には、ネットワーク、および/または、所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形式で搬送することに使用可能であり、かつ汎用または専用のコンピュータによりアクセス可能であるデータリンクを含むことができる。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含むべきである。さらに、種々のコンピュータシステム構成要素に到達すると、コンピュータ実行可能命令またはデータ構造の形式のプログラムコード手段は、伝送媒体からコンピュータ記憶媒体へまたはその逆自動的に転送されることが可能である。例えば、ネットワークまたはデータリンクを介して受け取ったコンピュータ実行可能命令またはデータ構造は、ネットワークインターフェースモジュール例えば、NIC内のRAMのバッファに格納され、そして、最終的にコンピュータシステムRAMおよび/またはコンピュータシステムの低揮発性コンピュータ記憶媒体に転送されることが可能である。従って、コンピュータ記憶媒体を、伝送媒体をも利用するまたは、主に使用するとも言えるコンピュータシステム構成要素に含めることができることは理解されるべきである。コンピュータ実行可能命令は、例えば、汎用のコンピュータ、専用のコンピュータ、または専用の処理装置に、特定の機能または機能群を実行させる命令およびデータを備える。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間形式の命令、さらにはソースコードとすることができる。主題を、構造的特徴および/または方法論的な動作に特有の言語で記載しているが、添付の請求項に定義する主題が必ずしも記載した上述の特徴または動作に限定されないことは理解されるべきである。むしろ、記載した特徴および動作は、請求項を実装する例示の形式として開示するものである。パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能の家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、ページャ、ルータ、スイッチ等を含む、多くのタイプのコンピュータシステム構成を伴うネットワークコンピュータ環境において本発明を実践することができることを、当業者は理解するであろう。ローカルおよびリモートのコンピュータシステムが、ネットワークを介して有線データリンク、無線データリンク、または有線データリンクと無線データリンクとの組み合わせによりリンクされ、双方がタスクを実行する分散システム環境において、本発明を実践することもできる。分散システム環境において、ローカルおよびリモートのメモリ記憶装置の両方にプログラムモジュールを設置することができる。図1は、本発明の原理を採用することができるコンピュータアーキテクチャ100を例示する。コンピュータアーキテクチャ100には、インターネット130を介して通信する、テナント120およびホスト135を含む。テナントおよびホストを、ファイアウォール125Aおよび125Bを介して通信するべく構成することができる。ファイアウォールに加えて、通信はルータ、スイッチ、ゲートウェイ、または他のネットワーク通信装置を経由することができる。テナント120は、実質的には任意の数のコンピュータシステムを有することができる。例えば、テナントは、政府機関、学校、企業、または数百、数千もしくはそれ以上のコンピュータシステムを有し得る他の事業体などの組織とすることができる。または、テナントは、単一のコンピュータシステムを有する単一のユーザとすることができる。従って、テナント1120が3つのコンピュータシステム121A1、121A2、および121A3を有するものとして図1に示されているが、このテナントが任意の数のコンピュータシステムを有することができることは理解されるであろう。それに応じて、ホスト135もまた、任意の数のコンピュータシステムを有することができ、かつ、任意の数のサービスを提供またはホストすることができる。ホストは、様々な異なるサービスを異なるテナントにホストするマルチテナントホストとすることができる。各テナントは、異なるサービスまたは異なるバージョンのサービスさえも契約することができる。そして、テナントのユーザのそれぞれがそれらのサービスにアクセスする。マルチテナントホストは、ユーザのアイデンティティが特定のクライアントまたはテナントの一部であることを検証して、そのテナントが契約したそれらのサービスを提供する。各テナントの設定、構成、契約、記憶される文書、および他の事項が、全ての他のテナントの情報とは分離され維持される。場合によっては、ホスト135は、クラウドベースのホストとすることができ、物理的に世界中のいたる場所に設置される複数の異なるコンピュータシステム間に分散可能である。このように、ホストの任意のコンピュータシステムが、テナントが要求するサービスを提供することができる。いくつかの実施形態において、テナント120とホスト135との間に仮想ネットワークを構築することができる。仮想ネットワークでは、マルチテナントリレーサービス105または本明細書においてはサービス105を使用して、テナントとホストとの間でデータをセキュアに転送することができる。テナントは、サービス105により構築されたセキュアなルーティングチャネル110を介してデータ106を送ることができる。それぞれの異なるテナントから送られるデータには、どのテナントからデータを受け取ったのかを示すユニークIDユニークID107をタグ付けすることができる。データ106は、SSLsecuresocketslayerトンネルまたは他のセキュアな通信手段を介して、VPNvirtualprivatenetworkを通り伝送されることができる。場合によっては、この仮想ネットワークを、仮想ネットワークに接続されるテナントコンピュータシステムに対する作成およびアドレス割り当てを管理するネットワーク仮想化層として説明することができる。マルチテナントリレーサービス105は、仮想ネットワークに関与するコンピュータシステム間の接続性をサポートすることができる。ネットワーク仮想化層は、IPinternetprotocolエンドポイントをコンピュータシステムのオペレーティングシステム内のネットワークアダプタとして露出させることができる。仮想ネットワーク内の各エンドポイントすなわち、各コンピュータシステムまたはテナントは、コンピュータシステムが仮想ネットワーク内の他のエンドポイントと通信することを可能にするディレクトリサービスから、一意的なアドレスまたは他の識別子を受け取ることができる。仮想ネットワークに関与するコンピュータシステム上にインストールされたドライバまたはソフトウェアエージェントが、リレーサービス105を介してIPトラフィックを送ること、および、トラフィックをリレーサービスから受け入れることを担うことができる。いくつかの実施形態において、マルチテナントリレーサービス105は、リレーサービスと相互作用する分離されたルーティングドメインを作成するべく構成される。各ルーティングドメインにより、認証されたテナントまたはホストのマシンのセットへのアクセスを制限することが可能であり、かつ、マシンを一意的に識別する名前空間をドメイン内に提供することが可能である。これにより、リレーサービスへのアクセスをセキュアにするだけでなく、一旦リレーサービスに接続されたコンピュータシステム間でアクセスを分割することができる。一実施形態において、マルチテナントリレーサービスは、仮想ネットワークの構築に使用することができる1つまたは複数の分離されたルーティングドメインを提供することができる。場合によっては、テナントのアイデンティティに基づく特定のサブネットからIPアドレスを割り当てるSSTPsecuresockettunnelingprotocolリレーを、インスタンス化することができる。これらおよび他の概念は、それぞれ図2および3の方法200および300に関して以下でさらに詳細に記載する。上述のシステムおよびアーキテクチャを考慮すると、開示する主題に従って実装することができる方法論は、図2および3のフローチャートを参照することでより良く理解されるであろう。説明を簡単にする目的で、方法論を一連のブロックとして示し記載している。しかし、特許請求する主題がブロックの順番によって制限されることはなく、一部のブロックは、本明細書に示し記載しているものとは異なる順番で、および/または、他のブロックと同時に発生可能であることは理解かつ認識されるべきである。さらに、例示される全てのブロックが、本明細書に記載する方法論を実装するために求められるわけではない。図2は、コンピュータシステム間でデータをセキュアにリレーするマルチテナントリレーサービスを提供するための方法200のフローチャートを例示する。方法200を、ここでは環境100の構成要素およびデータを頻繁に参照して記載する。方法200は、インスタンス化されたマルチテナントリレーサービスにおいて、第1のテナントに属する第1のコンピュータシステムから第2の異なるコンピュータシステムに渡されるデータの一部を受け取る動作を含み、インスタンス化されたマルチテナントリレーサービスは、複数の異なるテナントに対して、データをセキュアにリレーするべく構成される動作210。例えば、マルチテナントリレーサービス105は、テナント1120からホスト135に渡されるデータ106を受け取ることができる。リレーサービスは、複数の異なるテナントに対して、データをセキュアにリレーするべく構成可能である。ある場合では、リレーサービスは、各コンピュータシステム例えば、121A1を特定のテナント例えば、テナント120に属するコンピュータシステムとして一意的に識別することができる。別の場合では、リレーサービスは、どのコンピュータシステムからデータが生じたのかに関わらず、データを特定のテナントから生じたものとして一意的に識別することができる。従って、リレーサービス105によりデータに添付されたユニークID107は、受け取ったデータの送り元であるテナント、および/または、テナント120の一部である特定のコンピュータシステムまたはユーザを一意的に識別することができる。上記で示すように、ホストおよびテナントのコンピュータシステムは、物理的に分散可能であり、または異なるネットワーク上にローカルに分散可能である。マルチテナントリレーサービスを、複数の分散コンピュータシステム上で実行させることもできる。そのような場合、リレーサービスは、どのパスが最適であるか例えば、最高帯域、最高のセキュア、最短パスなどを判定することができ、かつ、データ106のルーティングに好ましいパスを使用することができる。いくつかの実施形態において、マルチテナントリレーサービスに接続される各コンピュータシステムに、ソフトウェアエージェントをインストールまたは提供することができる。エージェントは、コンピュータシステムをリレーサービスに結びつけることおよび/またはIPアドレス変換のためのDNSdomainnamesystemサービスを提供することを担うことができる。従って、リレーサービスを使用して構築される仮想ネットワーク内では、コンピュータシステムは、その通信においてDNSを使用することができる。場合によっては、マルチテナントリレーサービスはIPレベルのリレーである。そのような場合、第1のコンピュータシステムと第2のコンピュータシステムとの間の通信はIPレベルで管理される。方法200は、マルチテナントリレーサービスによる、第1のコンピュータシステムと第2のコンピュータシステムとの間で第1のテナントのデータをルーティングするためのセキュアなルーティングチャネルを作成する動作を含み、セキュアなルーティングチャネルは、第1のテナントから受け取ったデータの一部のそれぞれにユニークIDを適用する動作220。例えば、マルチテナントリレーサービス105は、テナント120とホスト135との間でデータ106をルーティングするためのセキュアなルーティングチャネル110を作成することができる。セキュアなルーティングチャネルは、テナント120から受け取ったデータの一部のそれぞれにユニークID107を適用することができる。加えてまたは代替として、セキュアなルーティングチャネルは、テナントの特定のコンピュータシステムから例えば、コンピュータシステム121A2から受け取ったデータの一部のそれぞれにユニークIDを適用することができる。セキュアなルーティングチャネルの作成は、セキュアなルーティングチャネルにおいてIPアドレス間でルーティングするためのIPアドレス空間を作成することを含むことができる。DNSが使用される場合、テナントのデータに適用されるユニークID107が、テナントから第1のコンピュータシステム例えば、121A2のDNS名にマッピングされて、第1のコンピュータのDNS名を解決することができる。従って、データ106を送ったコンピュータのDNS名が、セキュアなルーティングチャネルにより適用されたユニークIDに対してマッピングされる。上述のように、ユニークID107を、どのコンピュータシステムまたはどの複数のコンピュータシステムからデータを受け取ったかに関わらず、特定のテナント例えば、テナント120から受け取った全てのデータに適用することができる。このようにして、適用されたユニークIDにより、各テナントがマルチテナントリレーサービス内で自身の一意的な名前空間を有することができ、テナントとホストとの間で転送されるデータの一部のそれぞれが、そのテナントからのものであると一意的に識別される。同様に、ユニークID107を、特定のコンピュータシステムから受け取った全てのデータに適用することができ、コンピュータシステムとホストとの間で転送されるデータの一部のそれぞれが、そのコンピュータシステムからのものであると一意的に識別される。従って、所与のテナントテナントのユーザのうちのどれがデータを送っているのかに関わらずからのデータが、他のテナントのデータとは分離され維持される。これにより、データ転送のセキュリティの方策が追加される。この追加されるセキュリティ他の特徴の中でにより、リレーサービス105はサービスを使用しているテナントにセキュリティ保障を提供することができる。これは、私的情報、財務情報、機密情報、またはセキュアな環境において伝送される必要がある他の情報を伴うサービスには特に重要である。方法200は、マルチテナントリレーサービスによる、適用されたユニークIDを使用して、セキュアなルーティングチャネルを介して、受け取ったデータを第1のコンピュータシステムから第2のコンピュータシステムにルーティングする動作を含む動作230。例えば、リレーサービス105は、適用されたユニークID107を使用して、セキュアなルーティングチャネル110を介して、データ106をテナント120からホスト135にルーティングすることができる。ユニークIDは、セキュアなルーティングチャネルを介してテナントおよびホストとの間でやりとりされる全てのデータに対して適用される。場合によっては、複数の異なるテナントが、ホスト135にデータを送りホスト135からデータを受け取る。例えば、図4のコンピュータ環境400に示すように、テナント420A、420B、および420Cはそれぞれ、異なるデータをマルチテナントリレーサービス405に送ることができる。具体的には、テナント420Aは、データ406Aをリレーサービス405のセキュアなルーティングチャネル410に送る。セキュアなルーティングチャネルは、次に、ユニークIDテナント420AのユニークID407Aを適用し、データをサービスプロバイダ435に転送する。同様に、テナント420Bおよび420Cは、データ406Bおよび406Cをリレーサービス405のセキュアなルーティングチャネル410に送る。セキュアなルーティングチャネルは、次に、ユニークIDテナント420BのユニークIDおよびテナント420CのユニークID407Bおよび407Cをそれぞれ適用し、データをサービスプロバイダ435に転送する。各テナントのデータは、各テナントが同じサービスに接続している場合にも、他のテナントのデータとは分離されセキュアに維持される。さらに、各テナントのデータが、所与のテナントからまたは、テナントの特定のユーザ/コンピュータシステムからのものとして一意的に識別される。従って、2つのテナントが同じIPアドレスを持っている場合でも、データを分離し、各自のユニークIDを有するテナントごとにルーティングすることが可能である。このようにして、リレーサービスは、テナントとホストとの間で情報をセキュアにリレーすることが可能である。テナントのコンピュータシステム複数可に戻るべく伝送されるデータは、セキュアなルーティングチャネルにより割り当てられたユニークIDを保持する。さらに、テナントのコンピュータシステム複数可上で実行されるアプリケーションは、通信データがソースと送り先との間で仮想ネットワーク上をセキュアなルーティングチャネルを介してチャネリングされるため、ネットワークアドレス変換を行わずに、ホストシステム上で実行されるアプリケーションまたはサービスに直接接続するように見える。ここで図3に戻ると、図3は、コンピュータシステム間でデータをセキュアにリレーするマルチテナントリレーサービスを提供するための方法300のフローチャートを例示する。方法300を、ここでは環境100の構成要素およびデータを頻繁に参照して記載する。方法300は、インスタンス化されたマルチテナントリレーサービスにおいて、第1のコンピュータシステムから第2の異なるコンピュータシステムに渡されるデータの一部を受け取る動作動作310を含み、インスタンス化されたマルチテナントリレーサービスは、複数の異なるテナントに対して、データをリレーするべく構成される。例えば、マルチテナントリレーサービス105は、コンピュータシステム121A3から、ホスト135のコンピュータシステム131A1、131A2、または131A3のうちの1つへ渡されるデータ106を受け取ることができる。上記に示すように、リレーサービス105は、様々な異なるテナントに対して、データをリレーするべく構成可能である。テナントには、1つのコンピュータユーザを含むことができ、また、数千またはそれ以上のユーザを含むこともできる。リレーサービスは、121A3などのコンピュータシステムを、テナント120に属するものとして一意的に識別することができる。加えてまたは代替として、リレーサービスは、コンピュータユーザを、そのユーザがどのコンピュータシステムを使用しているのかに関わらず、テナントに属するものとして識別することができる。例えば、ユーザを、テナント120のメンバとして認証することができ、その認証から、ユーザはテナントが契約したサービスへのアクセスを獲得することができる。方法300は、マルチテナントリレーサービスによる、第1のコンピュータシステムと第2のコンピュータシステムとの間でデータをルーティングするためのセキュアなルーティングチャネルを作成する動作動作320をさらに含み、セキュアなルーティングチャネルが第1のテナントから受け取ったデータの一部のそれぞれにユニークIDを与える。例えば、マルチテナントリレーサービス105は、テナント120とホスト135との間でデータをルーティングまたはリレーするためのセキュアなルーティングチャネル110を作成することができる。セキュアなルーティングチャネルは、所与のコンピュータユーザまたはコンピュータシステムから受け取ったデータの一部のそれぞれにユニークID107を適用する。方法300は、複数の異なるネットワークプロトコルうちどれが受け取ったデータのルーティングに利用可能であるかを判定する動作動作330を含む。例えば、リレーサービス105は、データ106のルーティングにどのネットワークプロトコルが利用可能であるかを判定することができる。プロトコルには、HTTPhypertexttransferprotocol、TCPtransmissioncontrolprotocol、IPinternetprotocol、またはネットワークを介してデータを転送するための任意の他のプロトコルを含めることができる。リレーサービスはまた、データの転送にローカルネットワークが利用可能であるかどうかを判定することができる。そして、どのネットワークプロトコルが利用可能であるかの判定に基づき、リレーサービスが、データ転送効率を最適化する適切なプロトコルを動的に選択することができる動作340。例えば、ローカルネットワークが利用可能であり、かつ、セキュアであると判定される場合、そのローカルネットワークは最も効率が良いものとして選択され、そのローカルネットワーク上のプロトコルがデータの転送に使用されることになる。最初の選択が行われた後に、ネットワークに変更が生じた場合、リレーサービスは、利用可能であるどのプロトコルがデータの転送に最も適切であるかを再評価することができる。方法300はまた、判定されたプロトコルを使用して、受け取ったデータを第1のコンピュータシステムから第2のコンピュータシステムにルーティングする動作動作350を含み、データは、適用されたユニークIDを使用して、セキュアなルーティングチャネルを介してルーティングされる。例えば、リレーサービス105のセキュアなルーティングチャネル110は、判定されたプロトコルを使用してルートデータを106テナント120からホスト135にルーティングすることができる。データは、ユニークID107が添付されており、HTTP、TCP、IP、または何らかの他の適切であると判定されたプロトコルを使用して転送される。場合によっては、テナントおよびホストが同じローカルコンピュータネットワーク上にある場合、リレーサービスは、2つのシステムに、どちらかのシステムがファイアウォール環境から離れるようなことなく該ローカルネットワーク上で接続するように指示することができる。最も効率の良いかつセキュアなプロトコルを選択することにより、最適なルーティング効率を確保することができる。このように、コンピュータシステム間でデータをセキュアにリレーするマルチテナントリレーサービスを提供する方法、システム、およびコンピュータプログラム製品を提供する。システムは、ローカルネットワークが利用可能である場合にローカルネットワークを使用することができ、また、利用可能なプロトコルから選択してその状況において最も効率の良いプロトコルを使用することができる。リレーサービスは、各テナントから受け取ったデータをセキュアにリレーすること、かつ、一意的に識別することにより、テナントとホストとの間で仮想ネットワークを構築し保持することができる。このようにして、マルチテナントリレーサービスがマルチテナントホストにサービス提供することが可能である。本発明は、その趣旨または主要な特徴から逸脱することなく他の特定の形式において具現化することができる。記載した実施形態は、あらゆる点において単に例示であって制限するものではないとみなされるべきである。従って、本発明の範囲は、前述の記載によるのではなく、添付の請求項により示すものである。請求項と等価の意味および範囲に入る全ての変更は、請求項の範囲に包含される。