(57)【特許請求の範囲】
【請求項１】
第１のＶＰＮエージェントにおいて、ハイブリッド・クラウド環境内の第１のクラウドと第２のクラウドとの間の複数のＶＰＮトンネルにおける第１のＶＰＮトンネルを管理することと、
ＶＰＮマネージャから、前記複数のＶＰＮトンネルにおける前記第１のＶＰＮトンネルに関する第１の組の要件を含む要求を受け取ることと、
前記第１の組の要件に従って前記第１のＶＰＮトンネルを作成することと、
前記ＶＰＮマネージャから、前記複数のＶＰＮトンネルにおける第２のＶＰＮトンネルに関する第２の組の要件を含む修正要求を受け取ることと、
前記第２の組の要件に従って前記第１のＶＰＮトンネルを調整することと、
を含み、
前記調整することは、前記第１のＶＰＮトンネルと前記第２のＶＰＮトンネルを併合することを含み、前記修正要求は、前記第１の組の要件と前記第２の組の要件が両立できるとの判断に基づくものであり、併合後の前記第１のＶＰＮトンネルが前記第１のクラウドと前記第２のクラウドとの間の通信の提供を継続する、方法。
【請求項２】
前記第１のＶＰＮトンネルにおいて発生するイベントを監視することと、
前記第１のＶＰＮトンネルにおいて発生する第１のイベントを検出することと、
前記第１のイベントを前記ＶＰＮマネージャに送ることと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の組の要件は、セキュリティ要件の組を含む、請求項１に記載の方法。
【請求項４】
前記第１のイベントは、前記第１のＶＰＮトンネル内のトラフィック帯域幅の変更を検出すること、前記第１のクラウドについてのネットワーク・トポロジの変更、及びＶＰＮトンネルに関するセキュリティ要件の変更に対する、第１または第２のクラウド・アプリケーションからの修正要求から成る群から選択される、請求項２に記載の方法。
【請求項５】
前記ＶＰＮマネージャから、前記第１のＶＰＮトンネルに関する第２の組の要件を含む要求を受け取ることと、
前記第２の組の要件に従って前記第１のＶＰＮトンネルを修正することであって、前記第１の組の要件は第１のクラウド・アプリケーションからのトラフィックのためのものであり、前記第２の組の要件は第２のクラウド・アプリケーションからのトラフィックのためのものである、修正することと、
をさらに含み、
前記第１のＶＰＮトンネルを調整することは、前記第１のＶＰＮトンネルを、前記第１のクラウド・アプリケーションからのトラフィックを適合させるための前記第１のＶＰＮトンネルと、前記第２のクラウド・アプリケーションからのトラフィックに適合させるための第２のＶＰＮトンネルとに分割することを含み、
前記第１のクラウドはプライベート・クラウドであり、前記第２のクラウドは前記ハイブリッド・クラウド環境内のパブリック・クラウドである、
請求項１に記載の方法。
【請求項６】
前記ＶＰＮマネージャから、選択されたＶＰＮエージェントを受け取ることと、
前記選択されたＶＰＮエージェントを第１のシステム内にインストールすることと、
をさらに含み、
前記ＶＰＮエージェントは、前記第１の組の要件に基づいて選択される、
請求項１に記載の方法。
【請求項７】
プロセッサと、
ハイブリッド・クラウド環境内の第１のクラウドと第２のクラウドとの間の複数のＶＰＮトンネルにおける第１のＶＰＮトンネルを管理するために、前記プロセッサにより実行されるコンピュータ・プログラム命令を保持するコンピュータ・メモリと、
を含み、前記コンピュータ・プログラム命令は、
ＶＰＮマネージャから、前記複数のＶＰＮトンネルにおける前記第１のＶＰＮトンネルに関する第１の組の要件を含む第１の要求を受け取るように動作可能なプログラム・コードと、
前記第１の組の要件に従って前記第１のＶＰＮトンネルを作成するように動作可能なプログラム・コードと、
前記ＶＰＮマネージャから、前記複数のＶＰＮトンネルにおける第２のＶＰＮトンネルに関する第２の組の要件を含む第２の要求を受け取るように動作可能なプログラム・コードと、
前記第２の組の要件に従って前記第２のＶＰＮトンネルを作成するように動作可能なプログラム・コードと、
前記第２のＶＰＮトンネルを前記第１のＶＰＮトンネルに併合する併合要求であって、前記第１の組の要件と前記第２の組の要件が両立できるとの判断に基づく前記併合要求を受け取るように動作可能なプログラム・コードと、
前記第１のＶＰＮトンネルと前記第２のＶＰＮトンネルを併合するように動作可能なプログラム・コードと、
前記第２の組の要件に従って前記第１のＶＰＮトンネルを調整し、併合後の前記第１のＶＰＮトンネルが前記第１のクラウドと前記第２のクラウドとの間の通信の提供を継続するように動作可能な プログラム・コードと、
を含む、装置。
【請求項８】
前記第１のＶＰＮトンネルにおけるイベントを監視するように動作可能なプログラム・コードと、
前記第１のＶＰＮトンネルを用いてアプリケーションから要求を受け取るように動作可能なプログラム・コードと、
前記第１のＶＰＮトンネルの前記管理に関する要求及び情報を前記ＶＰＮマネージャに通信するように動作可能なプログラム・コードと、
をさらに含む、請求項７に記載の装置。
【請求項９】
前記第１の組の要件は第１の組のセキュリティ要件を含み、前記第２の組の要件は第２の組のセキュリティ要件を含み、前記装置は、前記第１のＶＰＮトンネルと前記第２のＶＰＮトンネルを併合する前に、前記第１及び第２の組のセキュリティ要件が両立できるかどうかを判断するように動作可能なプログラム・コードをさらに含む、請求項７に記載の装置。
【請求項１０】
前記イベントは、ＶＰＮエージェントにより検出される前記第１のＶＰＮトンネルにおけるトラフィック帯域幅の変更の検出である、請求項８に記載の装置。
【請求項１１】
１組の専用ＶＰＮエージェントと、
前記第１の組の要件に従って前記専用ＶＰＮエージェントの間で選択されるＶＰＮエージェントを選択するように動作可能なプログラム・コードと、
をさらに含む、請求項８に記載の装置。
【請求項１２】
前記イベントは、第１のクラウド・アプリケーションのアプリケーション・ライフ サイクルの変化を検出することである、請求項８に記載の装置。
【請求項１３】
前記第１のＶＰＮトンネルにおけるイベントを監視するように動作可能な前記プログラム・コードは、
前記第１のＶＰＮトンネルにおいて、トラフィック帯域幅の下限閾値を横断したかどうかを判断するように動作可能なプログラム・コードと、
前記第１のＶＰＮトンネルにおいて、トラフィック帯域幅の上限閾値を横断したかどうかを判断するように動作可能なプログラム・コードと、
閾値を横断したとの判断に応答して、メッセージを前記ＶＰＮマネージャに送るように動作可能なプログラム・コードと、
をさらに含む、請求項１０に記載の装置。
【請求項１４】
前記ＶＰＮマネージャから、前記第１のＶＰＮトンネルを第３のＶＰＮトンネル及び前記第１のＶＰＮトンネルに分割する分割要求を受け取るように動作可能なプログラム・コードと、
前記第１のＶＰＮトンネルを前記第１のＶＰＮトンネルと前記第３のＶＰＮトンネルに分割するように動作可能なプログラム・コードと、
をさらに含む、請求項８に記載の装置。
【請求項１５】
データ処理システムで用いられる非一時的なコンピュータ可読な記録媒体内のコンピュータ・ プログラムであって、前記コンピュータ・プログラムは、ハイブリッド・クラウド環境内の第１のクラウドと第２のクラウドとの間の複数のＶＰＮトンネルにおける第１のＶＰＮトンネルを管理するために、プロセッサにより実行されるコンピュータ・プログラム命令を含み、前記コンピュータ・プログラム命令は、
ＶＰＮマネージャから、前記複数のＶＰＮトンネルにおける第１のＶＰＮトンネルに関する第１の組の要件を含む第１の要求を受け取るように動作可能なプログラム・コードと、
前記第１の組の要件に従って前記第１のＶＰＮトンネルを作成するように動作可能なプログラム・コードと、
前記ＶＰＮマネージャから、前記複数のＶＰＮトンネルにおけるＶＰＮトンネルに関する第２の組の要件を含む第２の要求を受け取るように動作可能なプログラム・コードと、
前記第２の組の要件に従って前記第１のＶＰＮトンネルを修正するように動作可能なプログラム・コードであって、前記第１の組の要件は第１のクラウド・アプリケーションからのトラフィックに関するものであり、前記第２の組の要件は第２のクラウド・アプリケーションからのトラフィックに関するものであり、前記第１のＶＰＮトンネルは前記第１及び第２のクラウド・アプリケーションからのトラフィックを搬送する、プログラム・ コードと、
前記第１のＶＰＮトンネルに対する分割要求であって、前記第１の組の要件と前記第２の組の要件が両立できないとの判断に基づく前記分割要求を受け取るように動作可能なプログラム・コードと、
前記第１のＶＰＮトンネルを前記第１のＶＰＮトンネルと第２のＶＰＮトンネルとに分割するように動作可能なプログラム・コードと、
を含み、前記第１のＶＰＮトンネルと前記第２のＶＰＮトンネルが前記第１のクラウドと前記第２のクラウドとの間の通信を提供し、ＶＰＮエージェントは、前記第１のクラウド・アプリケーションのトラフィックに対する前記第１の組の要件に従って、前記第１のＶＰＮトンネルを調整し、かつ、前記第２のクラウド・アプリケーションのトラフィックに関する第２の組の要件に従って前記第２のＶＰＮトンネルを調整する、
コンピュータ・プログラム。
【請求項１６】
前記第１のＶＰＮトンネルにおけるイベントを監視するように動作可能なプログラム・コードと、
前記第１のＶＰＮトンネルを用いてアプリケーションから要求を受け取るように動作可能なプログラム・コードと、
前記第１のＶＰＮトンネルの前記管理に関する要求及び情報を前記ＶＰＮマネージャに通信するように動作可能なプログラム・コードと、
をさらに含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
前記第１のクラウド・アプリケーションについてのセキュリティ要件の変更は、前記第１のＶＰＮトンネルに対する前記分割要求をもたらす、請求項１５に記載のコンピュータ・プログラム。
【請求項１８】
第１のクラウドのアプリケーション・ライフサイクルの終わりに前記第１のＶＰＮトンネルを除去するように動作可能なプログラム・コードをさらに含む、請求項１５に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、「クラウド」コンピューティング環境における通信に関する。とりわけ、本開示は、ハイブリッド・クラウド環境において仮想プライベート・ネットワーク・トンネルを動的に作成することに関する。
【背景技術】
【０００２】
新たな情報技術（ＩＴ）配信モデルは、クラウド・コンピューティングであり、これにより、共有リソース、ソフトウェア及び情報が、インターネット上で、オンデマンドでコンピュータ及び他のデバイスに提供される。クラウド・コンピューティングは、ワークロードの最適化及びサービス配信を改善しながら、ＩＴのコスト及び複雑さを著しく低減させることができる。この手法を用いて、アプリケーション・インスタンスは、ホストすることができ、ＨＴＴＰ上で従来のウェブ・ブラウザを通じてアクセス可能なインターネット・ベースのリソースから入手可能となる。例示的なアプリケーションは、電子メール、スケジュール管理、連絡先管理及びインスタント・メッセージングのような共通のメッセージング機能の組を提供するものとすることができる。次に、ユーザは、インターネット上でサービスに直接アクセスする。このサービスを用いて、企業は、その電子メール、予定表、及び／又はコラボレーション・インフラストラクチャをクラウド内に置き、エンドユーザは、適切なクライアントを用いて、その電子メールにアクセスする、又はカレンダー操作を実施する。
【０００３】
クラウド・コンピューティング・リソースは、一般的に、ハードウェア・アーキテクチャ、いわゆるベア・メタル（bare metal）クラウド・ホスティングを用いて、又は、アプリケーションが、データ・センタ・ファシリティ内の物理サーバにマッピングされる、仮想サーバ若しくはいわゆる「仮想マシン」（ＶＭ）内で実行される仮想化アーキテクチャを用いて、ネットワーク・アプリケーションを実行するより大規模のサーバ・ファーム内に収容される。仮想マシンは、一般的には、物理リソースを仮想マシンに割り当てる制御プログラムであるハイパーバイザの上で実行される。
【０００４】
コンピューティング・リソースが組織により所有され、その組織のためだけにサービスを提供するプライベート・クラウド、及び、別の組織が、ハイブリッド・クラウドを運営する組織を含む複数の「テナント（tenant）」のためのコンピューティング・サービスを提供するパブリック・クラウドの両方を含むハイブリッド・クラウド環境において、組織がコンピューティング・リソースを構成することが知られている。ハイブリッド・クラウド・モデルの１つの利点は、直接アクセス可能な、オンプレミス（on-premise）のプライベート・インフラストラクチャを有する一方で、デマンドが高い時にパブリック・クラウド環境へのアクセスを提供できることである。しかしながら、この統合において、２つの環境の間のセキュア通信（secure communication）に対する必要性がある。通信を確立する１つの方法は、専用仮想パブリック・ネットワーク（virtual public network、ＶＰＮ）トンネルを通じたものである。
【０００５】
以下の開示は、ハイブリッド・クラウド環境におけるＶＰＮ通信を改善するための方法を詳述する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｐｅｔｅｒ  Ｍｅｌｌ及びＴｉｍ  Ｇｒａｎｃｅ著、「Ｄｒａｆｔ  ＮＩＳＴ  Ｗｏｒｋｉｎｇ  Ｄｉｆｉｎｉｔｉｏｎ  ｏｆ  Ｃｌｏｕｄ  Ｃｏｍｐｕｔｉｎｇ」、２００９年１０月７日
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ハイブリッド・クラウド環境における第１のクラウドと第２のクラウドとの間の複数のＶＰＮトンネルを管理するための方法、装置及びコンピュータ・プログラムを提供する。
【課題を解決するための手段】
【０００８】
本開示によると、ハイブリッド・クラウド環境における第１のクラウドと第２のクラウドとの間の複数のＶＰＮトンネルを管理する方法、装置及びコンピュータ・プログラム製品が説明される。本発明の第１の態様において、方法が、第１のＶＰＮエージェントにおいて、ハイブリッド・クラウド環境内の第１のクラウドと第２のクラウドとの間の複数のＶＰＮトンネルにおける第１のＶＰＮトンネルを管理する。ＶＰＮエージェントは、ＶＰＮマネージャから要求を受け取る。要求は、複数のＶＰＮトンネルにおける第１のＶＰＮトンネルに関する第１の組の要件を含む。ＶＰＮエージェントは、第１の組の要件に従って第１のＶＰＮトンネルを作成する。ＶＰＮマネージャから、第２の組の要件を含む修正要件を受け取る。ＶＰＮエージェントは、第２の組の要件に従って第１のＶＰＮトンネルを調整する。
【０００９】
本発明の別の態様において、プロセッサと、プロセッサにより実行されるコンピュータ・プログラム命令を保持するコンピュータ・メモリとを含む装置が、第１のＶＰＮトンネルを管理する。コンピュータ・プログラム命令は、ＶＰＮマネージャから第１の要求を受け取るプログラム・コードを含む。要求は、複数のＶＰＮトンネルにおける第１のＶＰＮトンネルに関する第１の組の要件を含む。プログラム・コードは、第１の組の要件に従って第１のＶＰＮトンネルを作成する。プログラム・コードにより、ＶＰＮマネージャから第２の要求を受け取る。第２の要求は、複数のＶＰＮトンネルにおける第２のＶＰＮトンネルに関する第２の組の要件を含む。プログラム・コードは、第２の組の要件に従って第２のＶＰＮトンネルを作成する。プログラム・コードにより、第２のＶＰＮトンネルを第１のＶＰＮトンネル内に併合する併合要求を受け取る。プログラム・コードは、第１のＶＰＮトンネルと第２のＶＰＮトンネルを併合する。プログラムは、第２の組の要件に従って第１のＶＰＮトンネルを調整する。
【００１０】
本発明の別の態様において、プロセッサにより実行されるとき、非一時的なコンピュータ可読媒体内のコンピュータ・プログラム製品が、ハイブリッド・クラウド環境内の第１のクラウドと第２のクラウドとの間の複数のＶＰＮトンネルにおける第１のＶＰＮトンネルを管理する。コンピュータ・プログラム命令は、ＶＰＮマネージャから第１の要求を受け取るプログラム・コードを含み、第１の要求は、複数のＶＰＮトンネルにおける第１のＶＰＮトンネルに関する第１の組の要件を含む。プログラム・コードは、第１の組の要件に従って第１のＶＰＮトンネルを作成する。プログラム・コードは、ＶＰＮマネージャから第２の要求を受け取る。第２の要求は、複数のＶＰＮトンネルにおける第２のＶＰＮトンネルに関する第２の組の要件を含む。プログラム・コードは、第２の組の要件に従って第１のＶＰＮトンネルを修正する。第１の組の要件は、第１のクラウド・アプリケーションからのトラフィックに関するものであり、第２の組の要件は、第２のクラウド・アプリケーションからのトラフィックに関するものであり、第１のＶＰＮトンネルは、第１及び第２のクラウド・アプリケーションからトラフィックを通信する。プログラム・コードは、第１のＶＰＮトンネルに対する分割要求を受け取る。プログラム・コードは、第１のＶＰＮトンネルを第１のＶＰＮトンネル及び第２のＶＰＮトンネルに分割する。ＶＰＮエージェントは、第１のクラウド・アプリケーションについてのトラフィックに関する第１の組の要件に従って第１のＶＰＮトンネルを調整し、かつ、第２のクラウド・アプリケーションについてのトラフィックに関する第２の組の要件に従って第２のＶＰＮトンネルを調整する。
【００１１】
上記は、開示される主題のより適切な特徴の一部を概説している。これらの特徴は、単なる例証にすぎないと解釈すべきである。開示される主題を異なる方法で適用すること、又は説明されるように本発明を修正することによって、他の多くの有益な結果を得ることができる。
【００１２】
本発明及びその利点のより完全な理解のため、ここで、添付図面と併用される以下の説明を参照する。
【図面の簡単な説明】
【００１３】
【図１】例証となる実施形態の例示的な態様を実装することができる分散型データ処理環境の例示的なブロック図を示す。
【図２】例証となる実施形態の例示的な態様を実装することができるデータ処理システムの例示的なブロック図である。
【図３】開示される主題を実装することができる例示的なクラウド・コンピューティング・アーキテクチャを示す。
【図４】本発明の好ましい実施形態の高レベルのフロー図である。
【図５】本発明の実施形態を実装することができるハイブリッド・クラウド環境を示す。
【図６】ＶＰＮトンネル及びＶＰＮ特性を管理者ユーザに表示することができるグラフィカル・ユーザ・インターフェースを示す。
【図７】ユーザ・アプリケーション・デマンドの変化に応答した特性の変更を示す。
【図８】ユーザ・アプリケーション・デマンドの変化に応答したＶＰＮトンネルの併合を示す。
【図９】ユーザ・アプリケーション・デマンドの変化に応答したＶＰＮトンネルの分割を示す。
【図１０】本発明の一実施形態におけるイベント及びログ管理のフロー図である。
【図１１】本発明の一実施形態によるＶＰＮトンネルの作成及び修正のフロー図である。
【図１２】２つの異なるＶＰＮマネージャ・ベースのフェデレーション（federation）モデルにより管理されるクラウド環境間のＶＰＮの作成を示す。
【発明を実施するための形態】
【００１４】
ハイブリッド・クラウド環境は、異なるクラウド・ホスティング環境間の、アプリケーション間のセキュア通信に対する必要性を促進する。アプリケーション及びプラットフォームの数が増大すると、セキュア保護する必要がある通信経路の数は急速に増大する。今日、顧客は、ハイブリッド・クラウド環境における異なるクラウド間を架橋するために、専用ＶＰＮをインストールすることが多いが、専用ＶＰＮは、柔軟性の制限、セキュア保護する必要がある環境内への大きな通信の穴の生成（通信を可能にするためにファイアウォールを開けることによる）を含む多数の欠点を伴う。ハイブリッド・クラウド環境にわたるイベント管理のような高粒度の要件の場合、多量のデバイスから中央サーバに小さいログを送ることはできるが、従来のＶＰＮ選択肢は、ソース・デバイスと中央サーバとの間に、少量のデータを伝送するのに必要とされるものをはるかに上回る広い通信チャネルを開けることを必要とする。本発明は、従来技術の解決法に比べて、ハイブリッド・クラウド環境に関するアプリケーション要件及びトポロジ要件に基づく高度に調整されたＶＰＮを提供するための手段を提供する。
【００１５】
「ハイブリッド・クラウド環境」とは、コンピューティング・リソースが組織により所有され、その組織のためだけにサービスを提供するプライベート・クラウド、及び、別の組織が、該組織を含む複数の「テナント」のためにコンピューティング・サービスを提供するパブリック・クラウドの両方を含むクラウド環境である。
【００１６】
「ノード」は、任意の電子デバイス、クライアント、サーバ、ピア、サービス、アプリケーション、又はネットワーク内の通信チャネル上で情報を送信、受信、又は転送することができる他のオブジェクトとすることができる。
【００１７】
「ＶＰＮエージェント」は、トンネルのエンドポイントである２つのノードの１つにおいてＶＰＮトンネルを管理するアプリケーションである。
【００１８】
「ＶＰＮマネージャ」は、ハイブリッド・クラウド環境におけるＶＰＮトンネルのインフラストラクチャを管理するクラウド・アプリケーションである。好ましい実施形態において、ＶＰＮマネージャは、ＶＰＮエージェントのインフラストラクチャも管理し、次にそれぞれのＶＰＮトンネルを管理する。
【００１９】
「ＶＰＮトンネル」は、任意の適切な暗号トンネリング・プロトコルに従ってデータのインターネット・プロトコル（ＩＰ）パケットをカプセル化することによってデータを搬送する、２つのノード間の通信チャネルである。
【００２０】
ここで図面を、特に図１〜図２を参照して、本開示の例証となる実施形態を実装することができるデータ処理環境の例示的な図が提供される。図１〜図２は、例示にすぎず、開示される主題の態様又は実施形態を実装することができる環境に関するいずれかの制限を主張又は含意することを意図するものではないことを理解されたい。本発明の趣旨及び範囲から逸脱することなく、示される環境への多くの修正をなすことができる。
【００２１】
ここで図を参照すると、図１は、例証となる実施形態の態様を実装することができる例示的な分散型データ処理システムの図形的表現を示す。分散型データ処理システム１００は、例証となる実施形態の態様を実装することができるコンピュータのネットワークを含むことができる。分散型データ処理システム１００は、分散型データ処理システム１００内で互いに接続された種々のデバイス及びコンピュータ間の通信リンクを提供するために使用される媒体である少なくとも１つのネットワーク１０２を含む。ネットワーク１０２は、有線、無線通信リンク、又は光ファイバ・ケーブルのような接続を含むことができる。
【００２２】
示される例において、サーバ１０４及びサーバ１０６は、ストレージ・ユニット１０８と共に、ネットワーク１０２に接続される。さらに、クライアント１１０、１１２及び１１４もまた、ネットワーク１０２に接続される。これらのクライアント１１０、１１２及び１１４は、例えば、パーソナル・コンピュータ、ネットワーク・コンピュータ等とすることができる。示される例において、サーバ１０４は、起動ファイル、オペレーティング・システムのイメージ及びアプリケーションのようなデータを、クライアント１１０、１１２及び１１４に供給する。示される例において、クライアント１１０、１１２及び１１４は、サーバ１０４に対するクライアントである。分散型データ処理システム１００は、付加的なサーバ、クライアント及び図示されていない他のデバイスを含むことができる。
【００２３】
示される例において、分散型データ処理システム１００は、ネットワーク１０２を有するインターネットであり、インターネットは、互いに通信するためにプロトコルの通信制御プロトコル／インターネット・プロトコル（Transmission Control Protocol/Internet Protocol：ＴＣＰ／ＩＰ）スイートを用いるネットワーク及びゲートウェイのワールドワイドの集合を表す。インターネットの中心は、データ及びメッセージを経路指定する多数の商用、行政用、教育用又は他のコンピュータ・システムから成る、主要ノード又はホスト・コンピュータ間の高速データ通信ラインのバックボーンである。当然のことながら、分散型データ処理システム１００は、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）及び／又は広域ネットワーク（ＷＡＮ）等のような多数の異なるタイプのネットワークを含むように実装することもできる。上述のように、図１は、一例であることを意図したものであり、開示される主題の異なる実施形態についてのアーキテクチャ上の限定を意図したものではなく、従って、図１に示される特定の要素は、本発明の例証となる実施形態を実装することができる環境に関する限定であると考えるべきではない。
【００２４】
ここで図２を参照すると、例証となる実施形態の態様を実装することができる例示的なデータ処理システムのブロック図が示される。データ処理システム２００は、図１のクライアント１１０のようなコンピュータの一例であり、その中に、本開示の例証となる実施形態についてプロセスを実装するコンピュータ使用可能コード又は命令を配置することができる。
【００２５】
ここで図２を参照すると、例証となる実施形態を実装することができるデータ処理システムのブロック図が示される。データ処理システム２００は、図１のサーバ１０４又はクライアント１１０のようなコンピュータの一例であり、その中に、例証となる実施形態についてプロセスを実装するコンピュータ使用可能プログラム・コード又は命令を配置することができる。この説明に役立つ実例において、データ処理システム２００は、プロセッサ・ユニット２０４、メモリ２０６、永続的ストレージ２０８、通信ユニット２１０、入力／出力（Ｉ／Ｏ）ユニット２１２、及びディスプレイ２１４の間の通信を提供する通信ファブリック２０２を含む。
【００２６】
プロセッサ・ユニット２０４は、メモリ２０６にロードすることができるソフトウェアのための命令を実行する役目を果たす。プロセッサ・ユニット２０４は、特定の実装形態に応じて、１つ又は複数のプロセッサの組とすることも、又はマルチプロセッサ・コアとすることもできる。さらに、プロセッサ・ユニット２０４は、主プロセッサが二次プロセッサと共にシングル・チップ上に存在する１つ又は複数の異種プロセッサ・システムを用いて実装することができる。別の説明に役立つ実例として、プロセッサ・ユニット２０４は、同じタイプの複数のプロセッサを含む対称型マルチ・プロセッサ（ＳＭＰ）システムとすることができる。
【００２７】
メモリ２０６及び永続的ストレージ２０８は、ストレージ・デバイスの例である。ストレージ・デバイスは、情報を一時的に及び／又は永続的に格納することができるハードウェアのいずれかの一部である。これらの例におけるメモリ２０６は、例えば、ランダム・アクセス・メモリ又は他のいずれかの適切な揮発性若しくは不揮発性のストレージ・デバイスとすることができる。永続的ストレージ２０８は、特定の実装形態に応じて種々の形態を取ることができる。例えば、永続的ストレージ２０８は、１つ又は複数のコンポーネント又はデバイスを含むことができる。例えば、永続的ストレージ２０８は、ハード・ドライブ、フラッシュ・メモリ、再書き込み可能光ディスク、再書き込み可能磁気テープ、又は上記の何らかの組み合わせとすることができる。永続的ストレージ２０８によって用いられる媒体は、取り外し可能とすることもできる。例えば、取り外し可能ハード・ドライブを永続的ストレージ２０８に用いることができる。
【００２８】
これらの例における通信ユニット２１０は、他のデータ処理システム又はデバイスとの通信を提供する。これらの例では、通信ユニット２１０は、ネットワーク・インターフェース・カードである。通信ユニット２１０は、物理通信リンク及び無線通信リンクの一方又は両方の使用を通じて、通信を提供することができる。
【００２９】
入力／出力ユニット２１２は、データ処理システム２００に接続することができる他のデバイスとのデータの入力及び出力を可能にする。例えば、入力／出力ユニット２１２は、キーボード及びマウスを通じたユーザ入力のための接続を提供することができる。さらに、入力／出力ユニット２１２は、プリンタに出力を送信することができる。ディスプレイ２１４は、情報をユーザに表示するための機構を提供する。
【００３０】
オペレーティング・システム及びアプリケーション又はプログラムのための命令は、永続的ストレージ２０８上に配置することができ、これらの命令は、メモリ２０６にロードし、プロセッサ・ユニット２０４によって実行することができる。異なる実施形態のプロセスは、メモリ２０６のようなメモリ内に配置することができるコンピュータ実装命令を用いて、プロセッサ・ユニット２０４によって実施することができる。これらの命令は、プロセッサ・ユニット２０４のプロセッサによって読み出し及び実行することができる、プログラム・コード、コンピュータ使用可能プログラム・コード、又はコンピュータ可読プログラム・コードと呼ばれる。異なる実施形態においては、プログラム・コードは、メモリ２０６又は永続的ストレージ２０８といった異なる物理又は有形コンピュータ可読媒体上に具体化することができる。
【００３１】
プログラム・コード２１６は、選択的に取り外し可能なコンピュータ可読媒体２１８上に機能的形態で配置されており、データ処理システム２００にロード又は転送して、プロセッサ・ユニット２０４により実行することができる。これらの例では、プログラム・コード２１６及びコンピュータ可読媒体２１８によって、コンピュータ・プログラム製品２２０が形成される。一例において、コンピュータ可読媒体２１８は、例えば光又は磁気ディスクのような有形形態とすることができ、光又は磁気ディスクは、永続的ストレージ２０８の一部であるドライブ又は他のデバイスに挿入され又は置かれ、永続的ストレージ２０８の一部であるハード・ドライブのようなストレージ・デバイスに移される。有形形態において、コンピュータ可読媒体２１８は、データ処理システム２００に接続された、ハード・ドライブ、サム・ドライブ、又はフラッシュ・メモリといった永続的ストレージの形態を取ることもできる。コンピュータ可読媒体２１８の有形形態は、コンピュータ記録可能ストレージ媒体とも呼ばれる。幾つかの例においては、コンピュータ可読媒体２１８は、取り外しできないようにしてもよい。
【００３２】
代替的に、プログラム・コード２１６は、通信ユニット２１０への通信リンクを通じて及び／又は入力／出力ユニット２１２への接続を通じて、コンピュータ可読媒体２１８からデータ処理システム２００へ転送することができる。説明に役立つ例において、通信リンク及び／又は接続は、物理的なものであっても、又は無線式であってもよい。コンピュータ可読媒体はまた、プログラム・コードを含む通信リンク又は無線伝送のような無形の媒体の形態を取ることもできる。データ処理システム２００において示される異なるコンポーネントは、異なる実施形態を実装することができる方法に関してアーキテクチャ上の制限を与えることを意味するものではない。異なる例証となる実施形態は、データ処理システム２００において示されたコンポーネントに追加した又はその代わりのコンポーネントを含むデータ処理システムにおいて実装することができる。図２に示される他のコンポーネントは、示される説明に役立つ実例とは異なる場合がある。一例として、データ処理システム２００内のストレージ・デバイスは、データを格納することがきるに任意のハードウェア装置である。メモリ２０６、永続的ストレージ２０８及びコンピュータ可読媒体２１８は、有形の形態のストレージ・デバイスの例である。
【００３３】
別の例では、バス・システムは、通信ファブリック２０２を実装するのに用いることができ、システム・バス又は入力／出力バスといった１つ又は複数のバスを含むことができる。当然のことながら、バス・システムは、バス・システムに取り付けられた異なるコンポーネント又はデバイス間のデータ転送を提供するいずれかの適切なタイプのアーキテクチャを用いて実装することができる。さらに、通信ユニットが、モデム又はネットワーク・アダプタといった、データの送信及び受信に用いられる１つ又は複数のデバイスを含むことができる。さらに、メモリは、メモリ２０６、又は、通信ファブリック２０２内に存在することがあるインターフェース及びメモリ・コントローラ・ハブにおいて見られるもののようなキャッシュとすることができる。
【００３４】
本発明の態様の操作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ（商標）、ＳｍａｌｌＴａｌｋ、Ｃ＋＋、Ｃ＃、Ｏｂｊｅｃｔｉｖｅ−Ｃ等のようなオブジェクト指向型プログラミング言語、及び、従来の手続き型プログラミング言語を含む、１つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。プログラム・コードは、全体がユーザのコンピュータ上で実行される場合もあり、独立型ソフトウェア・パッケージとして、一部がユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は全体が遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。
【００３５】
当業者であれば、図１〜図２のハードウェアは、実装形態に応じて変化し得ることを理解するであろう。図１〜図２に示されるハードウェアに加えて又はその代わりに、フラッシュ・メモリ、同等の不揮発性メモリ、又は光ディスク・ドライブ等といった他の内部ハードウェア若しくは周辺機器を用いることもできる。また、開示される主題の趣旨及び範囲から逸脱することなく、例証となる実施形態のプロセスを、既述のＳＭＰシステム以外のマルチプロセッサ・データ処理システムに適用することもできる。
【００３６】
見られるように、本明細書で説明される技術は、クライアント・マシンが１つ又は複数のマシンの組上で実行されているインターネットでアクセス可能なウェブ・ベースのポータルと通信する、図１に示されるような標準的なクライアント・サーバ・パラダイムと共に動作することができる。エンドユーザは、ポータルにアクセスし、これと対話することができる、インターネットに接続可能なデバイス（例えば、デスクトップ・コンピュータ、ノートブック・コンピュータ、インターネット接続可能（Internet-enabled）モバイル機器等）を作動させる。一般的には、各クライアント又はサーバ・マシンは、ハードウェア及びソフトウェアを含む、図２に示されるようなデータ処理システムであり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、又は他の通信媒体若しくはリンクのようなネットワーク上で互いに通信する。データ処理システムは、一般的には、１つ又は複数のプロセッサ、オペレーティング・システム、１つ又は複数のアプリケーション、及び１つ又は複数のユーティリティを含む。データ処理システム上のアプリケーションは、制限なく、とりわけ、ＨＴＴＰ、ＳＯＡＰ、ＸＭＬ、ＷＳＤＬ、ＵＤＤＩ及びＷＳＦＬへのサポートを含む、ウェブ・サービスへのネイティブ・サポートを提供する。ＳＯＡＰ、ＷＳＤＬ、ＵＤＤＩ及びＷＳＦＬに関する情報は、これらの標準の開発及び維持を担当するワールド・ワイド・ウェブ・コンソーシアム（World Wide Web Consortium、Ｗ３Ｃ）から入手可能であり、ＨＴＴＰ及びＸＭＬに関するさらなる情報は、インターネット技術タスクフォース（Internet Engineering Task Force、ＩＥＴＦ）から入手可能である。これらの標準を熟知していると仮定される。
【００３７】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするサービス配信のモデルである。このクラウド・モデルは、全てが非特許文献１により具体的に記載され、定められるような、少なくとも５つの特徴、少なくとも３つのサービス・モデル、及び少なくとも４つのデプロイメント・モデルを含むことができる。
【００３８】
特に、以下が典型的な特徴である。
オンデマンド・セルフサービス：クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
リソースのプール化：プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないが、より高レベルの抽象化では位置（例えば、国、州、又はデータセンタ）を特定できる場合があるという点で、位置とは独立しているといえる。
迅速な弾力性：機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングして素早くスケール・アウトし、迅速にリリースして素早くスケール・インさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。
サービスの測定：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計量機能を利用することによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【００３９】
サービス・モデルは以下の通りである。
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ（例えば、ウェブ・ベースの電子メール）などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイするために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをデプロイし動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント（例えば、ホストのファイアウォール）選択の限定された制御を有する。
【００４０】
デプロイメント・モデルは以下の通りである。
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス（構内、on-premise）又はオフプレミス（構外、off-premise）に存在することができる。
コミュニティ・クラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項（例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移植性を可能にする標準化された又は専用の技術（例えば、クラウド間の負荷分散のためのクラウド・バースティング）によって結び付けられる２つ又はそれより多いクラウド（プライベート、コミュニティ、又はパブリック）の混成物である。
【００４１】
クラウド・コンピューティング環境は、無国籍性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。代表的なクラウド・コンピューティング・ノードは、上記の図２に示されるようなものである。特に、クラウド・コンピューティング・ノードには、他の多数の汎用又は専用コンピューティング・システム環境又は構成で動作可能な、コンピュータ・システム／サーバが存在する。コンピュータ・システム／サーバと共に用いるのに好適であり得る周知のコンピューティング・システム、環境、及び／又は構成の例としては、これらに限定されるものではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち式又はラップトップ型デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能民生電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び、上述のシステム又はデバイス等のいずれかを含む分散型クラウド・コンピューティング環境が含まれる。コンピュータ・システム／サーバは、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム／サーバは、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施することができる。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体内に配置することができる。
【００４２】
ここで図３を参照すると、付加的な背景として、クラウド・コンピューティング環境によって提供される機能抽象化層の組が示される。図３に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【００４３】
ハードウェア及びソフトウェア層３００は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、ＩＢＭ（登録商標）  ｚＳｅｒｉｅｓ（登録商標）システムを一例とするメインフレームと；ＩＢＭ（登録商標）  ｐＳｅｒｉｅｓ（登録商標）システムを一例とするＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ（縮小命令セット・コンピュータ））アーキテクチャ・ベースのサーバと；ＩＢＭ（登録商標）  ｘＳｅｒｉｅｓ（登録商標）システムと；ＩＢＭ（登録商標）  ＢｌａｄｅＣｅｎｔｅｒ（登録商標）システムと；ストレージ・デバイスと；ネットワーク及びネットワーク・コンポーネントと、が含まれる。ソフトウェア・コンポーネントの例として、ＩＢＭ（登録商標）  ＷｅｂＳｐｈｅｒｅ（登録商標）アプリケーション・サーバ・ソフトウェアを一例とするネットワーク・アプリケーション・サーバ・ソフトウェアと、ＩＢＭ（登録商標）  ＤＢ２（登録商標）データベース・ソフトウェアを一例とするデータベース・ソフトウェアとが含まれる。（ＩＢＭ、ｚＳｅｒｉｅｓ、ｘＳｅｒｉｅｓ、ＢｌａｄｅＣｅｎｔｅｒ、ＷｅｂＳｐｈｅｒｅ、及びＤＢ２は、世界中の多数の管轄区域において登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。）
【００４４】
仮想化層３０２は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーション及びオペレーティング・システム、並びに仮想クライアントを提供することができる。
【００４５】
一例においては、管理層３０４は、以下で説明される機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、リこれらのソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータルは、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント（Service Level Agreement、ＳＬＡ）の計画及び履行は、ＳＬＡに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【００４６】
ワークロード層３０６は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例には、マッピング及びナビゲーション、ソフトウェア開発及びライフサイクル管理、仮想教室教育配信、データ分析処理、及びトランザクション処理及び他のもの（例えば、プライベート・クラウドにおける企業固有の機能）が含まれる。
【００４７】
本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書で挙げられる教示の実装形態は、クラウド・コンピューティング環境に限定されないことが予め理解される。どちらかと言えば、本発明の実施形態は、現在知られている又は後に開発される他のいずれかのタイプのコンピューティング環境と共に実施することができる。
【００４８】
ハイブリッド・クラウド環境は、異なるホスティング環境間の、アプリケーション間のセキュア通信に対する必要性を促進する。アプリケーション及びプラットフォームの数が増大すると、セキュア通信経路の数は急速に増大する。従来技術の専用ＶＰＮは、セキュア保護する必要がある環境内に大容量の通信チャネルを作成する。多くの伝送の必要性は、イベント管理のような高粒度の要件であり、そこで、ログ・データは、多くのデバイスから中央サーバへ送られ、従来のＶＰＮは、必要とされず、セキュリティ・リスクをもたらす広い通信チャネルを使用する。クラウド間で少量のデータを伝送するアプリケーションの他の例は、例えば月に一度など定期的にデータの同期を試みるアプリケーション、又は規則的ではあるが少量のデータを送る監視アプリケーションを含む。
【００４９】
従来技術のソフトウェアＶＰＮは、特定のアプリケーション又は特定のクラウドのために通信経路を作成することにより、この問題を部分的に解決することができるが、アプリケーション・ベースの解決法は、一般に、単一のアプリケーションのみに適用され、管理及び監視が難しい場合があり、規模の効率性（efficiency of scale）を生かせない。
【００５０】
本発明は、複数のアプリケーションからのアプリケーション要件に基づいて、高度に調整されたＶＰＮを動的にデプロイ及び再構成し、ハイブリッド・クラウド環境のための最適なトポロジを提供する環境を含む。
【００５１】
高レベルで、本発明の実施形態についての一般的なプロセスが、図４に示される。ステップ４０１に示されるように、クラウド・アプリケーションが、それらがプライベート・クラウド内にあろうと又はパブリック・クラウド内にあろうと、中央ＶＰＮマネージャと対話して、トンネルの作成を要求する。中央ＶＰＮマネージャを、パブリック・クラウド又はプライベート・クラウドのいずれかにインストールして、ＳａａＳ、ＰａａＳ又はＩａａＳ機能として組織に提供することができる。簡単にするために、単一のクラウド・アプリケーションの要求からもたらされるフローが示される。しかしながら、好ましい実施形態においては、複数のクラウド・アプリケーションが、同時にＶＰＮマネージャと対話し、図４に示されるプロセスは、それぞれのアプリケーションについての異なる段階におけるものとすることができる。ステップ４０３において、ＶＰＮトンネルの作成を要求しているアプリケーションは、プロトコル、ポート、帯域幅制限、並びに、例えばセキュリティ品質及びスループット能力などの他の特性のような、ＶＰＮトンネルに関する所望の要件を提供する。
【００５２】
次に、ステップ４０５において、ＶＰＮマネージャは、要求中のマシン又は同じクラウド内の別のマシン上にインストールするための、ＶＰＮエンドポイント・エージェント、又は単に「ＶＰＮエージェント」を提供する。好ましい実施形態において、ＶＰＮエージェントは、ターゲット・マシン内にインストールされる。ＶＰＮエンドポイント・エージェントは、例えばＬｉｎｕｘベースのシステム対ｉＯＳベースのシステムなど、要求中のマシンの要件に適合するように僅かに変化させることができる。本発明の幾つかの実施形態において、ＶＰＮエージェントは、異なるタイプで特殊化し、構成することができ、特定のＶＰＮトンネルに割り当てられたＶＰＮエージェントのタイプは、ＶＰＮトンネルについての要求される品質及び能力によって異なる。本発明の他の実施形態において、種々のＶＰＮトンネル・タイプを提供できる一般的なフル機能のＶＰＮエージェントが使用される。要求がアプリケーションのものか、又は同じマシン上にある別のアプリケーションが以前に要求したものかによって、ＶＰＮエージェントは、既にエンドポイントに存在する又は近くのマシンに存在し得る。さらに、本発明の実施形態は、ＶＰＮエージェントをデプロイするのではなく、シェフ・エージェントなどの既存のエージェント又は既存のＶＰＮコントローラへのＡＰＩを使用する。従って、本発明の多くの実施形態において、ステップ４０５は随意的なものである。ステップ４０７において、ＶＰＮエージェントは、ＶＰＮマネージャと通信して、アプリケーションが以前に要求したようなデプロイメント構成の詳細を受け取り、それらの詳細に従って、ＶＰＮトンネルをデプロイする。
【００５３】
ステップ４０９に示されるように、要求中のアプリケーションは、ＶＰＮトンネルについてのアプリケーション・ライフサイクル全体にわたって、所望の要求されるセキュリティ品質及びスループット能力を変更することができる。ＶＰＮトンネルの「調整（tuning）」は、トンネルのセキュリティ及び他の能力を変更することができ、又は以下に説明されるように、クラウド・アプリケーションの要件の変更に適合させるために、ＶＰＮトンネルを併合すること又は分割することを含むことができる。例えば、ＶＰＮトンネルの特性を変更する場合、ＶＰＮマネージャは、生産のために、ＶＰＮトンネルを、デプロイメントの際に使用される大きなＶＰＮパイプのツーウェイの迅速なセキュリティ・プロトコル・トンネルから、小さなワンウェイの非常にセキュアなＶＰＮパイプであるＶＰＮトンネルに変化させるよう、ＶＰＮエージェントに指示することができる。最小数のＶＰＮトンネル上の許可されたアプリケーションが必要とするトラフィック及び許可のみを可能にすることによりセキュリティを最適化するように、ＶＰＮネットワークを調整することができる。可能なセキュリティ・コストで、より多くのＶＰＮトンネルにより許容されるより高い帯域幅を提供することによって、トラフィック性能を高めることができる。１つの好ましい実施形態において、アプリケーションは、ＶＰＮマネージャに通信し、次いで、ＶＰＮマネージャは、ＶＰＮトンネルの２つのエンドポイント上のＶＰＮエージェントに通信することができる。このステップ、つまり、ＶＰＮトンネルのスルーアウト及びセキュリティ品質を動的に変更することは、アプリケーション・ライフサイクルの全体にわたって繰り返すことができる。
【００５４】
ステップ４１１に見られるように、アプリケーションは、ＶＰＮフィルタ・プラグインをＶＰＮマネージャに提供することができる。ＶＰＮフィルタは、ＶＰＮトンネルを通り過ぎるトラフィックをフィルタ処理するために使用される。ＶＰＮフィルタは、一般にどのＩＰ／ポートを許可又は拒否すべきかについてＡＣＬフィールド列挙することによって、ＶＰＮトンネルを出た後のトラフィック及びＶＰＮトンネルに入る前のトラフィックを許可又は拒否する能力を提供する。このステップは、要求ステップ４０３の一部として行うことができ、又は、例えば、ステップ４０９における変更要求の一部としてなど、セキュリティ品質の変更の一部として後で行うことができる。ステップ４０３において最初に要求されたＶＰＮフィルタが、後で要求されるＶＰＮフィルタにより取って代わること又は補完することが可能である。新しいＶＰＮフィルタを要求するこのステップは、アプリケーション・ライフサイクル全体にわたって繰り返すことができる。ＶＰＮトンネルが他のＶＰＮトンネルと併合されたとき又は複数のＶＰＮトンネルに分割されたとき、ＶＰＮトンネルの通信帯域幅を共有する他のアプリケーションからの要求に応答して、特定のＶＰＮトンネル上のＶＰＮフィルタを修正することができる。
【００５５】
イベント及びトラフィック・ロギングにより、ＶＰＮマネージャは、ステップ４１３として示されるＶＰＮ構成への可視性をもたらす。本発明の最も好ましい実施形態において、イベント・ロギングが提供される。幾つかの実施形態においては、トラフィック・ロギングも提供される。１つの好ましい実施形態において、イベント及びトラフィック・ロギングは、ＶＰＮマネージャ関連の監査イベントである。本発明の他の実施形態において、ＶＰＮエージェントを介して、他のアプリケーションに接続するアプリケーションに関連したイベントをログ記録することができる。例えば、ＶＰＮエージェントにより、帯域幅履歴を含む、アプリケーションにより使用される帯域幅をログ記録することができる。さらに他の実施形態においては、エージェントにより、アプリケーション通信トラフィックをログ記録することができる。セキュリティ侵害を監視するために、セキュリティ・オペレーション・センター（ＳＯＣ）により、セキュリティ関連イベントが消費される。イベント及びトラフィック・ロギングは、図１０に関連して以下により詳細に説明される。
【００５６】
本発明の好ましい実施形態において、ＶＰＮマネージャは、既存のＶＰＮエージェントにわたるトラフィックを経路指定及び再経路指定し、必要に応じて、新しいＶＰＮエージェントをデプロイし、トラフィック・フローを最適化する。例えば、格納及び監視される利用可能なトラフィック・ログを用いてトラフィックの低下を検出することに応答して、２つのＶＰＮトンネル上のトラフィックに関するセキュリティ要件が両立できる場合、ＶＰＮマネージャは、ＶＰＮトンネルを併合するよう、ＶＰＮエージェントに指示することができる。検出は、アプリケーション・トラフィックを監視するＶＰＮエージェントにおいて実施することができる。代替的に、正常に動作する（well-behaved）アプリケーションに応答して、ＶＰＮトンネルの併合デプロイメント段階から生産段階に移行し、従って、より少ない帯域幅しか必要としないというメッセージを、ＶＰＮマネージャに送ることができる。ＶＰＮマネージャは、予想されるデマンドの低下を考慮して、ＶＰＮトンネルを併合する機会があると判断する。代替的に、新しい又は既存のアプリケーションからの新しい要求により、新しいＶＰＮエージェントが作成され、新しい予期されるロード又は要件を処理する。アプリケーションのセキュリティ要件は、アプリケーション・ライフサイクルにおいて変更することがあり、それにより、新しいＶＰＮエージェントに対する必要性が作成され得る。このステップは、異なるＶＰＮエージェントを異なるＶＰＮトンネルに再割り当てすること、不要なＶＰＮエージェントを削除すること、新しいトラフィックが予想される場合に、新しいＶＰＮエージェントを作成及び提供し、併合されるＶＰＮトンネルを処理する又は新しいＶＰＮトンネルを処理することを必要とする。
【００５７】
同じくステップ４１７として示されるように、アプリケーションのライフサイクル中にアプリケーションによりなされた要求、監視されたトラフィックの変更、又はアプリケーションが常駐するマシンにおける変更のために、ＶＰＮトンネルを再構成する必要がある場合がある。アプリケーション・トポロジが変更し、マシンが移動されると、ＶＰＮマネージャは、必要に応じてＶＰＮを再構成、併合、分割するよう、ＶＰＮエージェントに指示する。本発明によると。ＶＰＮトンネルの「分割」は、単一のＶＰＮトンネルによって以前に処理された既存のアプリケーション又はマシンからのトラフィックを、２つのＶＰＮトンネルに再経路指定することを意味する。対照的に、新しいＶＰＮトンネルの付加又は作成は、ＶＰＮマネージャにより以前に供給されなかったアプリケーションからの新しいアプリケーション要求に応えるが、新しいソースからのトラフィックしか含まない。ＶＰＮトンネルの分割は、分割と見なされる新しいソースからのトラフィックを含むことができるが、ＶＰＮトンネルの各々のトラフィックの一部は、既存のソースから来てしまう。ＶＰＮエージェントをＶＰＮトンネルと同時に再構成及び再割り当てする必要があるとき、ある程度、ＶＰＮトンネルの再構成及びＶＰＮエージェントを再構成する先行するステップは、類似したステップであるが、図においては、明確にするために、ＶＰＮエージェントの再構成及びＶＰＮトンネルの再構成は別個のステップとして示される。
【００５８】
本発明の好ましい実施形態において、ＶＰＮマネージャの機能は、エンドポイントにおけるＶＰＮエージェントと協調して、ハイブリッド・クラウド環境内の異なるクラウド間に新しいＶＰＮトンネルを作成する能力を含む。ＶＰＮマネージャは、帯域幅閾値（最小及び最大）のようなトンネル・ポリシー及びセキュリティ・ポリシーを構成する能力を有する。ＶＰＮマネージャは、他のクラウド環境を管理する他のＶＰＮマネージャとフェデレートする（federate）能力を有する。ＶＰＮマネージャは、新しい要求、アプリケーション・ライフサイクルの変更、トラフィック若しくはネットワーク再構成の変更、又は既存のＶＰＮトンネルに関するＶＰＮトンネル仕様の動的構成に応答して、ＶＰＮトンネルを動的に併合又は分割することにより、ＶＰＮトンネル・インフラストラクチャを最適化することができる。ＶＰＮトンネル・ポリシーは、提案された最適化が許容されるかどうか、及びＶＰＮサービスに対する新しい要求が、既存のＶＰＮトンネル・インフラストラクチャによりに適合され得るかどうかを判断するためにＶＰＮマネージャにより使用され、又は、ＶＰＮトンネルが併合、付加、分割、又は再構成することを要求する。
【００５９】
ＶＰＮトンネルの作成及び維持は、従来技術においてよく知られている。ＶＰＮトンネルは、管理者又は要求中のアプリケーションにより指定される要件に従って作成することができる。ＶＰＮトンネルは、ソフトウェア・アプリケーション又は専用ハードウェア・デバイスによって作成することができる。本発明が対処する問題は、ひとたび作成されると、従来技術のＶＰＮトンネルは静的（static）であり、アプリケーション・ライフサイクルの変更及びネットワーク・トポロジの変更といったクラウド環境における変化に適合しないことである。静的性質のため、従来技術のＶＰＮトンネルは、本発明のＶＰＮトンネルよりも多くのセキュリティ暴露（security exposure）を呈する。本発明は、ＶＰＮトンネルのインフラストラクチャを調整して、ハイブリッド・クラウド環境全体におけるクラウド環境間の必要なトラフィックのみを可能にする。
【００６０】
選択された例証となる実施形態のより詳細な説明が以下に与えられる。図５に示されるように、本発明の１つの好ましい実施形態が、プライベート・クラウドをホストするオンプレミス・インフラストラクチャ５０１、ＩａａＳインフラストラクチャ５０３上のクラウド・ワークロード、及びＳａａＳ環境５０５内のアプリケーションを統合するハイブリッド・クラウド環境において用いられる。図は、一般的なクラウド環境５０７において動作するＶＰＮマネージャ５０８も示す。ＶＰＮマネージャ５０８が常駐する一般的なクラウド環境５０７は、プライベート・クラウド又はパブリック・クラウドのいずれかとすることができる。マシンＡ〜Ｄは、ＩａａＳインフラストラクチャ５０３内にあるように示され、マシンＥ及びＦは、ＳａａＳ環境５０５内に示され、マシンＫ及びＬは、一般的なクラウド環境５０７内に示される。ログ及びイベント・マネージャ５１２は、マシンＭ上にあるように示される。ＶＰＮマネージャ５０８は、マシンＫ又はマシンＬのいずれかの上にある。
【００６１】
図５に示されるように、ＶＰＮトンネル５０９及び５１１は、本発明の例証となる実施形態に従って構成される。本発明のこの実施形態において、管理者は、ユーザ・インターフェースを用いてＶＰＮトンネルを構成している。本発明の他の実施形態において、ＶＰＮマネージャ・アウェア・アプリケーションは、ＶＰＮマネージャに直接要求を行う。管理者は、マシンＡをＶＰＮマネージャ５０８に接触させ、ログ及びイベント情報をログ及びイベント・マネージャ５１２に報告できるように、マシンＭへのＶＰＮトンネル接続５１１を要求する。この要求の一部として、マシンＡは、ＶＰＮトンネルに関する所望の要件５１３：
プロトコル：ＳＹＳＬＯＧ
ポート：５４１
ソース：１０．１．１．５
ターゲット：９．１．２．２０
帯域幅：制限なし
フィルタ：Ａ（／＾ａｐｐ１［ａ−ｚ］｛０，１０｝＄／）
セキュリティ・ポリシーＡ
を提供する。
当業者であれば、他のパラメータをＶＰＮトンネル要件として与えることができること、そして、これらは例証にすぎないことを理解する。
【００６２】
セキュリティ・ポリシーを含めることは、随意的である。セキュリティ・ポリシーは、ＶＰＮマネージャ・アウェア(aware）アプリケーションにより含ませられる可能性が最も高い。セキュリティ・ポリシーを提供する代わりに、ＶＰＮマネージャは、要求中のマシン又はアプリケーションにより与えられる要件からセキュリティ・ポリシーを構成する。さらに、ハイブリッド・クラウド環境内のそれぞれのクラウド間の通信に関するデフォルトのセキュリティ・ポリシーが存在する場合もある。デフォルト・セキュリティ・ポリシーと提供される又は構成されるセキュリティ・ポリシーとの間の競合のイベントにおいて、ＶＰＮマネージャは、ユーザ・インターフェースを介して管理者に警告を発行する、又は提供されるセキュリティ・ポリシーがデフォルト・セキュリティ・ポリシーに優先するといった、こうした競合を解決するための規則を有することができる。本発明の実施形態において、セキュリティ要件及びセキュリティ・ポリシーの両方を用いることができるが、本発明の好ましい実施形態において、これらの用語は、以下の意味を有する。「セキュリティ要件」とは、要求中のマシンが、ＶＰＮトンネル内に存在することを要求するセキュリティ・タイプのパラメータである。セキュリティ要件の例は、ＶＰＮプロトコル及び暗号化セキュリティ・プロトコルの使用を含む。「セキュリティ・ポリシー」は、セキュリティ要件が、ＶＰＮトンネルにおいてどのように使用されるかを示す。セキュリティ・ポリシーは、ＶＰＮが、リクエスタにより指定されるセキュリティ要件のみを使用するという指令であってもよい。別の例として、リクエスタがセキュリティ要件を指定した場合、別のリクエスタにより要求される又は別のＶＰＮトンネルにより使用される場合、両立性のあるプロトコルの制限されたサブセットが、既存のＶＰＮトンネルを結合するための又はＶＰＮトンネルの併合のための基礎を形成する。代替的に、セキュリティ・ポリシーは、許容的（permissive）であり、同じクラウドからのリクエスタにより指定されるいずれのセキュリティ要件もＶＰＮトンネル内に含まれることを許容するが、許可されたマシンにより要求されていない場合、他のセキュリティ・プロトコルがＶＰＮトンネル内に含まれることを許容しない場合もある。別の例として、セキュリティ・ポリシーが、特定のセキュリティ要件は、同じＶＰＮトンネル内で両立できないと述べることがある。従って、「セキュリティ・ポリシー」を用いて、複数のアプリケーション又は複数のＶＰＮトンネルの「セキュリティ要件」が両立できるかどうかを評価することができる。
【００６３】
１つの好ましい実施形態において、ＶＰＮマネージャ５０８が、マシンＭと事前に接触しない場合、ＶＰＮマネージャ５０８は、マシンＭからの接続を待つ。この実施形態において、管理者は、マシンＭをＶＰＮマネージャに登録する。要求又は登録に応答して、ＶＰＮマネージャ５０８は、マシンＭ及びマシンＡ上に、それぞれＶＰＮエージェント５１５、５１７をインストールする。次に、インストールされたＶＰＮエージェント５１５、５１７を介して作用し、ＶＰＮマネージャ５０８は、マシンＡの要求５１３における指定されたパラメータ（ＳＹＳＬＯＧ、ポート、単向性、帯域幅等）を有するように、マシンＡとマシンＭとの間にＶＰＮ５１１を構成する。つまり、ＶＰＮマネージャ５０８は、ＶＰＮエージェント（又は、他の既存のエンティティ）が実行する命令及び構成要件をＶＰＮエージェントに発行する。当業者には周知のように、ＶＰＮトンネルは、インターネット・プロトコル・セキュリティ（ＩＰｓｅｃ）、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ／Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ（ＳＳＬ／ＴＬＳ）、又はマルチプロトコル・ラベル・スイッチング（ＭＰＬＳ）のような選択されたＶＰＮセキュリティ技術を用いて、トンネルをセキュア保護する。他のＶＰＮセキュリティ・プロトコルは、Ｄａｔａｇｒａｍ  Ｔｒａｎｓｐｏｒｔ  ＬａｙｅｒＳｅｃｕｒｉｔｙ（ＤＴＬＳ）、Ｍｉｃｒｏｓｏｆｔ  Ｐｏｉｎｔ−ｔｏ−Ｐｏｉｎｔ  Ｅｎｃｒｐｔｉｏｎ（ＭＰＰＥ）、及びＳｅｃｕｒｅ  Ｓｈｅｌｌ（ＳＳＨ）プロトコルを含む。マシンＡにおけるＶＰＮセキュリティ要件は、ＶＰＮセキュリティ・プロトコルの選択、並びにｓｕｐｐｏｒｔ  ｄａｔａ  ｅｎｃｒｙｐｔｉｏｎ  ｓｔａｎｄａｒｄｓ（ＤＥＳ）／Ｔｒｉｐｌｅ  ＤＥＳ（３ＤＥＳ）及び異なるキーサイズ若しくはマルチキャストを有するＡｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ）、又はグループ暗号化標準のような、異なる暗号化標準に従ってデータを暗号化する能力を含む。ＶＰＮセキュリティ要件は、暗号化の前にＬｅｍｐｅｌ−Ｚｉｖ−Ｓｔａｃ（ＬＺＳ）のような標準に従ってデータを圧縮する能力を含むことができる。
【００６４】
管理者は次に、マシンＢをＶＰＮマネージャに接触させ、マシンＭへのＶＰＮ接続を要求する。この要求の一部として、マシンＢは、ＶＰＮに関する所望の要件５１９：
プロトコル:ＳＣＰ
ポート:２２
ソース:１０．１．１．５
ターゲット:９．１．２．２０
帯域幅:制限なし
フィルタ:Ｂ（／＾ａｐｐ２［ａ−ｚ］｛０，３０｝＄／）
セキュリティ・ポリシーＢ
を提供する。
【００６５】
要求に応答して、ＶＰＮマネージャ５０８は、マシンＢ上にＶＰＮエージェントをインストールする。ＶＰＮマネージャは、マシンＡから生じる既存の近くのＶＰＮトンネル５１１を識別する。マシンＡのセキュリティ・ポリシーとマシンＢのセキュリティ・ポリシーが両立できることが明らかになった後、ＶＰＮマネージャ５０８は、マシンＢ上のＶＰＮエージェントを介して、マシンＢを、指定されたトラフィックをマシンＡに送るように構成する。指定されたトラフィックは、セキュリティ・ポリシーにより許容されるトラフィックである。例えば、特定のセキュリティ・ポリシーは、ｈｔｔｐトラフィックのみを許容し、ＶＰＮトンネル上のｆｔｐトラフィックを許容しない。次に、ＶＰＮマネージャ５０８は、ＡからＭへのＶＰＮトンネル５１１を、マシンＢの要件５１９からのＶＰＮフィルタを含ませるように再構成する。このように、１つのマシンからの既存のＶＰＮトンネル５１１を、同じクラウド５０３内の別のマシンからのトラフィックを送るように再構成することができる。結果として得られるＶＰＮトンネル５１１には、次の特性５２１：単指向性、２つのパケット・タイプ（アプリケーションの各々から１つ）、２つのプロトコル（ＳＹＳＬＯＧ及びＳＣＰ）、２つのソースから来る、がある。ＶＰＮトンネルについての集合的ＶＰＮフィルタは、今や２つのソース及び２つのパケット・タイプからのトラフィックを可能にするという点で、より許容的であるが、好ましい実施形態において、ＶＰＮフィルタは、正しいパケット・タイプが正しいマシンから来ているかを依然としてチェックする。
【００６６】
この例証となる実施形態において、ＶＰＮマネージャ５０８は、組織がマシンを有する２つより多いクラウド間のＶＰＮトンネルを管理することができる。例を続けると、管理者は、ＳａａＳ環境５０５内の一般的なＳａａＳアプリケーションのマシンＦからプライベート・クラウド５０１内のログ及びイベント・マネージャ５１２までのＶＰＮトンネルを作成することを要求する。管理者又は一般的なＳａａＳアプリケーションの所有者のいずれかが、管理者により与えられた資格証明（credential）を用いて、ＶＰＮトンネルを作成する要求をＶＰＮマネージャに行う。要求は、ＶＰＮに関する所望の要件５２３：
プロトコル：ＳＣＰ
ポート：８０
ソース：１５．１．１．５
ターゲット：９．１．２．２０
帯域幅：制限なし
フィルタ：Ｃ（／＾ａｐｐ３［ａ−ｚ］｛０，５０｝＄／）
を含む。
要求に応答して、ＶＰＮマネージャ５０８は、マシンＦ上にＶＰＮエージェント５２２をインストールする。ＶＰＮエージェント５２２を通じて、ＶＰＮマネージャ５０８は、最初の要求５２３からの指定されたフィルタを有した状態で、マシンＦとマシンＭとの間にＶＰＮトンネルを構成する。
【００６７】
この例証となる実施形態において、マシンＡ及びＢは、ＶＰＮトンネル５１１を通じて、ログ及びイベント・データを、マシンＭ上のログ及びイベント・マネージャに提供し、マシンＦは、ＶＰＮトンネル５０９を通じて、そうしたデータを提供する。図に示されるように、同じ場所に配置されたマシンＧ及びＩも、ログ及びイベント・データをログ及びイベント・マネージャに提供する。マシンＧ及びＩは、プライベート・クラウド５０１内のプライベート・ネットワークを通じて、マシンＭと直接通信することができるので、ＶＰＮマネージャ５０８を含ませる必要性はない。
【００６８】
上述したステップは、ＶＰＮトンネルの初期構成の説明に役立つ実例を提供する。以下に説明されるように、そのライフサイクル中にアプリケーションの必要性が変化するので、正常に動作するアプリケーションは、さらなる要求を発行して、トンネルに必要とされるパラメータを変更することができる。例えば、デプロイメント中又は他の負荷の高い期間中、アプリケーションは、トンネルを通る高帯域幅を要求する。またある時には、例えば、ルーチンの監視中、アプリケーションはより低い帯域幅を要求する。アプリケーションは、要求される帯域幅を変更するさらなる要求を発行することがある。代替的な実施形態において、ＶＰＮトンネルを管理するＶＰＮエージェントは、１組のアプリケーションから来るトラフィックを監視することができる。監視されるトラフィックが要求されるものよりもずっと少ない場合、ＶＰＮエージェント又はＶＰＮマネージャは、トンネルを別の適切なものと併合する機会を認識すること、又はより低い帯域幅のためにトンネルを再構成することができる。例えばアプリケーションがアンインストールされるときなど、寿命の最後に、アンインストール・プロセスの一部として、正常に動作するアプリケーションは、ＶＰＮマネージャに、ＶＰＮトンネルがもはや必要とされないことを知らせる。アプリケーションのセキュリティ要件は、そのライフサイクル中に変更することもできる。本発明のさらに他の実施形態において、イベント及びロギング情報が、ＶＰＮエージェントの変更に対する要求を発行することができる管理者に提示され、認識されたアプリケーション・ライフサイクルに基づくＶＰＮトンネル構成が、イベント及びロギング情報から変更する。
【００６９】
図６は、ＶＰＮマネージャにより提供されるサンプル・ダッシュボード内のグラフィカル・ユーザ・インターフェース６００における管理者ビューの一実施形態を示す。当業者であれば、本発明の教示に従って、他の代替的なインターフェースを提供できることを認識するであろう。この図では、図５と関連して説明される初期構成の直後の、ＶＰＮトンネルの現在状況ビューが示される。現在状況ビューのこの実施形態において、既存のＶＰＮトンネル、ＶＰＮトンネルにより接続されるクラウド、及びＶＰＮトンネルを用いるマシンだけが示され、ハイブリッド・クラウド環境内の他のコンポーネントは示されない。現在状況ビューの他の実施形態は、他のコンポーネントを示す。プライベート・ネットワーク６０１内のマシンＭは、ＶＰＮトンネル６１１によりＩａａＳインフラストラクチャ６０３に及びＶＰＮトンネル６０９によりＳａａＳ環境６０５に結合されるように示される。マシンＡからの要求される構成パラメータは、パネル６１３内に示され、一方、マシンＢからの要求される構成パラメータは、パネル６１９内に示される。結果として得られるＶＰＮトンネル６１１のＶＰＮパラメータは、パネル６２１内に示される。同様に、マシンＦからの要求される構成パラメータは、パネル６２３内に示され、一方、結果として得られるＶＰＮトンネル６０９についてのＶＰＮパラメータは、パネル６２５内に示される。１つの好ましい実施形態において、パネル６１３、６１９、６２１、６２３及び６２５の各々は、システム管理者により編集可能である。要求される構成パラメータ・パネル６１３、６１９又は６２３の１つを編集することにより、マシン又はマシン上で実行されているアプリケーションの１つにより所望されるＶＰＮ特性に対して、新しい要求がＶＰＮマネージャに作成される。ひとたびその要求が実行されると、適切なＶＰＮパラメータ・パネル６２１又は６２５内に、ＶＰＮ特性の更新が示される。
【００７０】
パネル内に十分な空間が利用可能でなかった場合、スクロール制御を提示し、管理者が、利用可能なパラメータの全てをスクロールすることを可能にする。編集不能なパラメータは、グレー表示方式で提示することができる。本発明の好ましい実施形態においては、ネットワークの他のビューが想定される。例えば、ネットワーク内のマシンの全てを、新しい接続を生成できるように提示することができる。ポイント及びドラッグ機構を用いて、新しいトンネルを定めることができる。管理者によるポイント及びドラッグ操作に応答して、デフォルトの編集可能なパラメータを、管理者が編集又はサブミットすることができる要求される構成パネル内にポピュレートすることができる。別の代替的な実施形態において、アプリケーション・ビューを、マシンではなく環境の各々において動作するアプリケーションを示すように提示することができる。
【００７１】
警告を提示することができる。例えば、１つの好ましい実施形態において、ＶＰＮトンネル６１１又はＶＰＮパラメータ・パネル６２１が、強調表示方式で提示され、管理者の注意を引くためのアクションを示す。例えば、インターフェース内の２つのトンネルの強調表示は、より効率的なサービスを提供するために２つのトンネルを併合するための機会を示すことができる。単一のトンネルの強調表示は、スループットがトンネルの容量を超えること、又は新しい組の要件と、従来の要求により生成されたトンネルについての既存の新しいＶＰＮパラメータとの間の競合のために、新しいサービス要求を既存のトンネルと適合させることができないことを示すことができる。強調表示されたトンネルが管理者により選択された場合、付加的なパネル内に、警告の原因であったイベント・ログ及びスループットなどの付加的な詳細を提示することができる。
【００７２】
ＶＰＮマネージャは、選択肢を曝し、ＶＰＮエージェント及びＶＰＮトンネルを手動で追加、削除及び再構成する。１つの好ましい実施形態において、ユーザ・インターフェース（ＵＩ）は、ＵＩ＋ＲＥＳＴ  ＡＰＩインターフェースとする。ウェブ・ベースのＵＩは、ＲＥＳＴ  ＡＰＩを使用する、又はアプリケーションは、ＲＥＳＴ  ＡＰＩを直接使用することができる。
【００７３】
図７において、ＶＰＮトンネルの再構成の例証となる実施形態が示される。この例は、ＶＰＮマネージャ７０８に、ハイブリッド・クラウドのＶＰＮトンネル・インフラストラクチャを変更させるネットワーク・トポロジ変更の一例を示す。例において、これは、クラウドの１つからのマシンの除去である。他のネットワーク・トポロジ変更は、クラウド・アプリケーションの追加又は除去、例えば負荷バランシングのための、別のマシンと同じクラウド・アプリケーションを有する「クローン（clone）」マシンの追加、クラウド・アプリケーションの１つのマシンから別のマシンへの移動、クラウド・アプリケーションの１つのクラウドから別のクラウドへの、例えばプライベート・クラウドからプライベート・クラウドへの移動を含む。本発明の１つの好ましい実施形態において、この種のネットワーク・トポロジ変更は、「イベント」としてＶＰＮマネージャ７０８に送られ、ＶＰＮマネージャ７０８は、ＶＰＮトンネル・インフラストラクチャの自動再構成を行うか、又はＶＰＮトンネル再構成の候補である状況として警告を管理者に提示する。
【００７４】
「Ｘ」で示されるように、管理者は、ＩａａＳインフラストラクチャ７０３からマシンＡを除去し、そのことは、マシンＡにより処理されるマシンＢのトラフィックの再構成をトリガする。管理者がマシンＡの除去を開始すると、マシンＡ上のＶＰＮエージェント７０４は、クラウド７０７内のＶＰＮマネージャに接触する。ＶＰＮマネージャは、ＶＰＮトンネル７１１内の結合したＶＰＮ接続を分析し、この場合、マシンＡから生じるＶＰＮトンネル７１１も、マシンＢからのトラフィックも処理する。ＶＰＮマネージャ７０８は、既存の要件、即ちマシンＢ及びＶＰＮトンネル７１１を用いていたＩｓｓＳインフラストラクチャ７０３内の他のいずれかのマシンからの既存の要件を用いて、マシンＢからマシンＭまでのＶＰＮトンネル７２０を作成するよう、マシンＢ上のＶＰＮエージェント７１２に命令する。マシンＡは除去されるので、その要件のどれも関連しない。トンネルについてのＶＰＮフィルタを設定するとき、マシンＢの要件のみが用いられる。図において、ＶＰＮサービスを要求するときのマシンＢの要件が示される。マシンＢは、ＶＰＮに関する所望の要件７１９：
プロトコル：ＳＣＰ
ポート：２２
ソース：１０．１．１．５
ターゲット：９．１．２．２０
帯域幅：制限なし
フィルタ：Ｂ（／＾ａｐｐ２［ａ−ｚ］｛０，３０｝＄／）
セキュリティ・ポリシーＢ
を提供した。
【００７５】
示されるように、新しいＶＰＮチャネル７２０についてのＶＰＮパラメータ７２１は、図５に示される結合したＶＰＮトンネル５１１についてのパラメータ５２１、又はこの図のＶＰＮトンネル７１１、又はこの図のＶＰＮトンネル７１１とは異なる。ＶＰＮトンネル７１１は、「Ｘ」で示されるように除去される。現在のＶＰＮトンネルの必要性を有する認識されたマシンからの要求されたパラメータに適合させることだけにより、セキュリティが向上する。
【００７６】
図７は、マシンＡからのアプリケーションの除去を検討するために用いることもできる。この場合、ひとたび新しいＶＰＮトンネル７２０が作成されると、ＶＰＮマネージャ７０８は、Ａ・Ｍ間のＶＰＮトンネル７１１を除去する。同じく随意的に、ＶＰＮマネージャ７０８は、マシンＡ上のＶＰＮエージェント７０４をアンインストールする。これらの随意的なステップは、正常に動作するシステムを生成し、マシンＡ上に常駐する許可されたサブスクライビング（subscribing）アプリケーションがないときに、ＶＰＮトンネル及びＶＰＮエージェントを保持するするセキュリティ上のリスクを低減させる。しかしながら、代替的な実施形態は、ＶＰＮトンネル又はＶＰＮエージェントをアライブのままにし、新しいアプリケーション要求がＶＰＮマネージャに対してなされた場合、新しいＶＰＮエージェントを開始するオーバーヘッドを低減させる。
【００７７】
本発明の実施形態において、ＶＰＮトンネルを併合し、分割するための規則の組がある。セキュリティ・ベースの規則は、ＶＰＮトンネルによりサービスされる又は潜在的にサービスされるアプリケーションの各々のセキュリティ要件又はポリシーが、他のアプリケーションのセキュリティ要件又はポリシーと両立できるかどうかに関係している。候補ＶＰＮによりサービスされるアプリケーションのセキュリティ要件と両立できることは、ＶＰＮトンネルの併合の必要条件である。本発明の実施形態において、セキュリティ要件の両立性は、クラウド間の通信についてのアプリケーションのセキュリティ・ポリシー又はＶＰＮマネージャのセキュリティ・ポリシーに基づいて解釈される。例えば、アプリケーション・セキュリティ・ポリシーのために、１つのＶＰＮトンネルがｈｔｔｐトラフィックのみを許可し、別のＶＰＮトンネルがｆｔｐトラフィックのみを許可する場合、２つのトンネルを併合することはできない。しかしながら、両方のトンネルが、ｈｔｔｐトラフィック又は全てのトラフィックを許可する場合、それらを併合することができる。別の例として、２つの異なるＶＰＮトンネル上の２つのアプリケーションが、２つの異なるセキュリティ又は暗号化プロトコルを要求し、２つのクラウド間の通信のために、実際上、ＶＰＮマネージャのセキュリティ・ポリシーが、単一の暗号化プロトコルの使用を要求することがある。従って、アプリケーション・セキュリティ要件又はポリシーは、ＶＰＮトンネルの併合を防止することがあり、他の場合にはスループット効率のために併合されることがある。
【００７８】
新しいセキュリティ要件の組を含むアプリケーションからの新しい要求を考慮して、両立性規則を考慮した現在のＶＰＮの評価により、現在のＶＰＮトンネルが分割される。好ましい実施形態において、潜在的な併合の両立性は、直接的な競合に関して、２つのＶＰＮトンネルにおけるセキュリティ要件及びＶＰＮフィルタを評価することによって判断される。競合が見つかった場合、幾つかの実施形態において、ユーザ・インターフェースは、候補ＶＰＮトンネルを管理者に表示して、競合と、ＶＰＮトンネルを両立性があるようにするのに必要な変更とを表示する。このように、管理者は、セキュリティ上の観点から、ＶＰＮフィルタの修正、付加的なタイプのトラフィック若しくはセキュリティ若しくは暗号プロトコルの現在のＶＰＮへの追加が許容可能かどうかを判断する。１つの実施形態において、ＶＰＮトンネルを分割できる別の場合は、共有ＶＰＮトンネルを使用するアプリケーションの１つのセキュリティ要件の変更の際である。例えば、アプリケーションが今やオリジナルのｈｔｔｐトラフィックに加えてｆｔｐトラフィックを伝送したいと望み、現在のＶＰＮトンネルがｆｒｐトラフィックを許可しない場合、ＶＰＮトンネルを分割することができる。別の例として、アプリケーションの１つが現在のＶＰＮトンネルよりも高レベルの暗号化を望む場合、全てのトラフィック上により高いオーバーヘッドを被るよりも、現在のＶＰＮトンネルを分割する方が理にかなっていることがある。本発明の他の実施形態において、セキュリティ・ベースの規則以外のパラメータについての他の両立性ベースの規則が用いられる。
【００７９】
別の規則の組は、ＶＰＮトンネルの帯域幅又はスループットに基づいている。帯域幅の規則は、例えば、帯域幅上の上限閾値又は下限閾値に基づくことができる。複数のアプリケーションのトラフィックが許容可能なトンネル限界（帯域幅）を横断する場合、ＶＰＮトンネルの分割を行うことができる。この場合、ＶＰＮマネージャは次に、トンネルを分割する。１つ又は複数の両立性のあるＶＰＮトンネルがトンネル帯域幅の下限を下回る帯域幅を有する場合、ＶＰＮトンネルの併合を行うことができる。
【００８０】
図８において、ＶＰＮトンネルを併合する再構成の例証となる実施形態が示される。この例は、ＶＰＮトンネル７１１及び７２０の併合を可能にする低減した帯域幅要件のために、マシンＡ及びＢ上のアプリケーションからのデマンドが変化した場合を示す。ＶＰＮトンネルの併合を可能にする別の場合は、アプリケーションの１つについてのセキュリティ・プロトコルの変更であり、その結果、新しいセキュリティ・プロトコルの組が、事実上、セキュリティ・ポリシーに従って両立できるようになる。示されるように、ＶＰＮトンネル７１１は、他のＶＰＮトンネル７２０が総デマンドに適合できる際、クラウド７０１とクラウド７０３との間で除去される。本発明の好ましい実施形態において、２つのＶＰＮトンネル上のトラフィック（セキュリティ要件に加えて）は、併合のために両立性があることが必要である。本発明の好ましい実施形態において、ＶＰＮマネージャ７０８は、マシンＡ及びマシンＢに割り当てられたＶＰＮエージェント７０４及び７１２から情報を受け取る。ＶＰＮマネージャは、マシンＢ上のＶＰＮエージェント７１２を、マシンＢ・マシンＭ間のＶＰＮトンネル７２０を修正し、要件、即ちＶＰＮトンネル７１１を使用していたマシンＡからの要件を付加するように再構成する。図において、マシンＡの要件７３９及びマシンＢの要件７１９が示される。マシンＡは、ＶＰＮトンネルに関する所望の要件７３９：
プロトコル：ＳＹＳＬＯＧ
ポート：５４１
ソース：１０．１．１．５
ターゲット：９．１．２．２０
帯域幅：制限なし
フィルタ：Ａ（／＾ａｐｐ１［ａ−ｚ］｛０，１０｝＄／）
を提供する。
【００８１】
マシンＢは、ＶＰＮに関する所望の要件７１９：
プロトコル：ＳＣＰ
ポート：２２
ソース：１０．１．１．５
ターゲット：９．１．２．２０
帯域幅：制限なし
フィルタ：Ｂ（／＾ａｐｐ２［ａ−ｚ］｛０，３０｝＄／）
を提供した。
【００８２】
示されるように、修正されたＶＰＮトンネル７２０についてのＶＰＮパラメータ７５１は、これらが単一のアプリケーションをサポートしたとき、個々のＶＰＮトンネル７１１及び７２０からのパラメータとは異なる。認識されるマシンからの要求されるパラメータのみを適合させることによって、セキュリティが向上する。この図において、マシンＡ上のＶＰＮエージェント７０４は、マシンＡからのトラフィックをマシンＢ上のＶＰＮエージェント７１２に転送するので、ＶＰＮトンネル７２０は、結合したトラフィックを処理することができる。
【００８３】
図９において、ＶＰＮトンネル７２０を分割する例証となる実施形態が示される。この例において、ＶＰＮトンネル７２０は、もはやマシンＡ及びマシンＢの両方からの通信を処理するのに適切ではない。ＶＰＮトンネルの分割は、その要件が変更したこと又は変更することを示す管理者アクション又はＶＰＮマネージャ・アウェア・アプリケーションによる要求の結果とすることができる。ＶＰＮマネージャは、マシンＢから生じ、マシンＡからのトラフィックも処理するＶＰＮトンネル７２０における結合したＶＰＮ接続を分析し、ユーザ・インターフェースを介して、警告を管理者に表示することができる。この例において、双方向性ＶＰＮトンネル及び新しいセキュリティ暗号化プロトコルを必要とする更新のために、予想されるデマンドの増大を示す新しい要件７５９の組を、マシンＡ上で実行されているアプリケーションから受け取る。これらの新しい要件７５９をＶＰＮマネージャ７２０で履行することができない、又は少なくとも、新しい要件に応答したＶＰＮトンネル７２０の修正が、セキュリティ上又はスループット上の観点から最適ではないとの認識において、ＶＰＮマネージャ７０８は、新しい要件を用いて新しいマシンＡ・マシンＭ間のＶＰＮトンネル７６３を作成するように、マシンＡ上のＶＰＮエージェント７０４を再構成する。従って、古いＶＰＮトンネル７２０は、マシンＡ上のソースからのトラフィックとして「分割」され、マシンＢは、新しいＶＰＮトンネル・インフラストラクチャ内の２つのＶＰＮトンネルによりサービスされる。
【００８４】
マシンＡは、ＶＰＮトンネル７６３に関する所望の要件７５９：
プロトコル：ＳＹＳＬＯＧ
暗号化プロトコル：ＥＣＣ
ポート：５４１
ソース：１０．１．１．５
ターゲット：９．１．２．２０
帯域幅：制限なし  双方向性
フィルタ：Ａ（／＾ａｐｐ１［ａ−ｚ］｛０，１０｝＄／）
を提供する。
【００８５】
マシンＢ上のＶＰＮエージェント７１２は、マシンＢの要件：
プロトコル：ＳＣＰ
ポート：２２
ソース：１０．１．１．５
ターゲット：９．１．２．２０
帯域幅：制限なし
フィルタ：Ｂ（／＾ａｐｐ２［ａ−ｚ］｛０，３０｝＄／）
のみを使用するように、ＶＰＮトンネル７２０を再構成する。
【００８６】
再び、認識されたマシンからの要求されるパラメータだけを適合させることによって、セキュリティが向上し、従って、修正されたＶＰＮトンネル７２０についての新しいＶＰＮパラメータ７６１は、図８に示される結合したＶＰＮトンネル７２０についてのパラメータ７５１とは異なる。同様に、新しく生成されたＶＰＮトンネル７５７についてのＶＰＮパラメータ７６３は、マシンＡに関する要件７５９のみを反映する。
【００８７】
図１０は、ＶＰＮマネージャのイベント報告及びロギング動作のフロー図である。イベント及びトラフィック・ロギングは、ＶＰＮマネージャが、どのアプリケーションがどの他のアプリケーションと通信しているかを理解することを可能にする。イベント及びトラフィック・ロギングは、ＶＰＮマネージャが、どのクラウドが相互接続されるか、どのデータが通信されるかを理解することも可能にする。さらに、イベント報告及びロギング動作は、セキュリティ・オペレーション・センター（ＳＯＣ）によるポリシー違反又はセキュリティ侵害の検出を可能にする。
【００８８】
ステップ８０１において、ＶＰＮマネージャは、ＶＰＮエージェントによるイベントの報告を待つ。イベントを受け取ると（ステップ８０３）、イベントがログ記録される（ステップ８０５）。ステップ８０７において、ＶＰＮマネージャは、受け取ったイベントが規則をトリガするかどうかを判断する。規則をトリガするために、直前に受け取ったイベントを、既にログ記録されたイベントと相関させる必要があり得る。既述したように、規則の一例は、トラフィック閾値規則である。ＶＰＮ上のトラフィックが閾値を上回っているか又は上回ると予測される場合、ＶＰＮマネージャは、単一のＶＰＮトンネルを２つのトンネルに分割するよう、命令をＶＰＮエージェントに発行することができる。別のトラフィック閾値規則は、最小トラフィック規則である。隣接するＶＰＮトンネルが閾値を下回るトラフィックを有する場合、ＶＰＮマネージャは、ＶＰＮトンネルを併合するよう、命令をＶＰＮエージェントに発行することができる。規則の別の例は、セキュリティ関連規則である。ＶＰＮトンネルに関連したセキュリティ・イベントがあった場合、ＶＰＮマネージャは、トンネルについてのセキュリティ・パラメータを変更するように、命令をＶＰＮエージェントに発行することができる。例えば、ＶＰＮトンネルによりサービスされるマシンの１つに対する侵入イベントの検出により、問題のあるイベントが生じ、さらなる精密な調査をもたらす。従って、ＶＰＮマネージャは、そのトンネルに関して、マシンからのイベントをより緊密に監視するよう、又はＶＰＮトンネルを分割するよう、命令をＶＰＮエージェントに発行し、影響を受けるマシンからのイベントを監視できるようにする、即ち、他の影響を受けないマシンからのイベントの侵入検出オーバーヘッドがより低くなることを可能にしながら、新しいトンネルからの全てのイベントを監視する。
【００８９】
イベントが、ＶＰＮマネージャ・アウェア・アプリケーションによりなされた修正要求である場合、デフォルト規則は、要求に従うことができる。この場合、ＶＰＮマネージャは、修正要求と一貫しているよう、命令をＶＰＮエージェントに発行する。別の規則は、ＶＰＮトンネルについてそこで修正要求がセキュリティ・ポリシーと一貫しているかどうかを評価するためのものであり、一貫していない場合、さらなるアクションのために、管理者に警告する。
【００９０】
ステップ８０９において、イベントにより規則がトリガされた場合、ＶＰＮマネージャは、ＶＰＮトンネルを適切に調整するよう、命令をＶＰＮエージェントに発行する。上記に説明されるように、ＶＰＮトンネルの調整は、ＶＰＮトンネル上のパラメータを修正すること、ＶＰＮトンネルを併合すること、又はＶＰＮトンネルを２つ又はそれより多いＶＰＮトンネルに分割することを含む。１つの好ましい実施形態において、規則は、ユーザ・インターフェースにおいて警告をトリガし、管理者が、ＶＰＮエージェントへの命令を確認及び／又は修正することを可能にする。プロセスは、ステップ８０１における新しいイベントの待機に戻る。
【００９１】
図１１は、本発明の一実施形態による、トラフィック・フローを最適化し、ＶＰＮを併合及び分割するプロセスを示す。ステップ９０１において、ＶＰＮマネージャが既存のＶＰＮトンネルを監視することからプロセスが開始する。このステップは、図１０と関連して上述したスループット及びイベントの監視を含む。１つの好ましい実施形態において、各々のトンネル・エンドポイントで確立されたＶＰＮエージェント、サブスクライブしているマシン及び／又はアプリケーションが、関連情報をＶＰＮマネージャに報告する（ステップ９０３）。ＶＰＮマネージャがＶＰＮエージェントに通信する必要があるいずれの命令も、このステップにおいて伝送される。ＶＰＮマネージャがＶＰＮエージェントに通信する命令の例は、所定のアプリケーション又はマシンからのトラフィックに対してどのＶＰＮトンネルを使用すべきか、ＶＰＮトンネルをどのエンドポイント（例えば、アプリケーション）に接続すべきか、どのフィルタ設定を有するべきか、ＶＰＮエージェント及びエージェント構成関連データ等を含む。
【００９２】
ステップ９０５において、受け取った情報に基づいて、既存のＶＰＮインフラストラクチャへの変更が示されるかどうかについての判断を行う。肯定的決定は、多くの要因に基づき得る。第１に、上述のように、ＶＰＮトンネル設定への変更に対する新しい管理者又はアプリケーション・ベースの要求がある場合がある。新しい要求は、新しいアプリケーション又は新しいマシンのための新しい接続、又は既にサブスクライブしているマシン間の既存のＶＰＮトンネルへの変更に関する場合がある。第２に、変更は、ＶＰＮエージェントによるスループット測定により示すことができる。ＶＰＮトンネルは、最初に、高帯域幅要件が存在するアプリケーション・ライフサイクルの開発段階において、アプリケーションにより作成することができる。従って、必要な帯域幅を提供するために、別個のＶＰＮトンネルが作成される。後に、アプリケーション・ライフサイクルのせい生産段階において、アプリケーションの帯域幅要件は低く、従って、セキュリティ要件がアプリケーションの間で両立性がある場合、ＶＰＮトンネルを併合することができる。第３に、アプリケーション・ライフサイクルの最後に、アプリケーションが除去されるとき、そのアプリケーションについてのＶＰＮトンネル及びＶＰＮエージェントを除去又は修正して、エンドポイントにおいて依然として存在するアプリケーションだけをサポートすることができる。ＶＰＮエージェントが、ＶＰＮトンネルが十分に利用されていず、従って、他のＶＰＮトンネルとの併合の候補であることを報告する。ＶＰＮマネージャは、その制御下にある既存のＶＰＮトンネルの全てのマップを有し、例えば、閉鎖されるべきＶＰＮトンネル得るに関する既存の要件の組を、第１のＶＰＮトンネルを制御している第１のＶＰＮエージェントに送って、開いたままにするなどの、必要とされる併合のためのコマンド、第１のＶＰＮトンネルのＶＰＮ特性を新しい要件のものに変更するためのコマンド、第１のＶＰＮエージェントの代わりに、閉鎖されるべき第２のＶＰＮトンネルを現在制御している第２のＶＰＮエージェントからの通信を転送するためのコマンド等を発行する。
【００９３】
変更は、新しい帯域幅又はセキュリティ要件のために、ＶＰＮトンネルを分割する必要があるという表示とすることができる。以前に併合したＶＰＮトンネルは、多くの場合、複数のトンネルに分割するための主要な候補である。アプリケーション・ライフサイクルの間、例えば、更新中又はクラウド・アプリケーションの１つの示される侵入に応答して、帯域幅又はセキュリティ要件が変更する期間、即ち、特別なセキュリティ処理を必要とする期間がある。ＶＰＮトンネルを分割する必要がある別の理由は、付加的なマシン又はアプリケーションによる新しい要求に起因する。図５を参照して上述した例において、ＶＰＮトンネル５１１は、マシンＡ及びマシンＢにサービスするのに適切であるが、アプリケーション又は管理者要求は、マシンＣ及びマシンＤのためのＶＰＮサービスに対してなされ、単一のＶＰＮトンネルは、４つのマシン全てに関する帯域幅要件を履行することができないと仮定する。１つの選択肢は、マシンＣ及びＤにサービスする新しいＶＰＮトンネルを作成することとであり得る。しかしながら、ＶＰＮマネージャは、マシンＡ及びＣに関する要件が、マシンＡ及びＢよりも両立性があることを確立し、従って、１つのＶＰＮトンネルがマシンＡ及びＣにサービスし、第２のＶＰＮトンネルがマシンＢ及びＤにサービスするのが最も効率的である。変更が示されない場合、プロセッサは、ＶＰＮトンネルの監視（ステップ９０１）に戻る。
【００９４】
ステップ９０７において、変更が既存のＶＰＮトンネルの組により達成できるかどうかを判断する。一般に、これはより効率的であり、クラウドはセキュリティ攻撃を受けにくく、維持される２つのクラウド間のＶＰＮトンネルがより少ない。要求される帯域幅、現在の帯域幅、及び現在のトンネルの利用可能な帯域幅の比較を行う。それぞれのアプリケーションにより要求されるセキュリティ・パラメータの両立性を判断するために、既存のセキュリティ・パラメータ及び要求されるセキュリティ・パラメータの比較を行う。既存のＶＰＮトンネルの併合を含む既存のＶＰＮトンネルを使用することができる場合、既存のＶＰＮエージェントは、ＶＰＮトンネルへの何らかの必要な変更を行うために、所望の要件を発行する。ＶＰＮトンネルを使用できる場合、要求中のマシン内にＶＰＮエージェントが既にインストールされている可能性が高い。しかしながら、例えば一般的なＶＰＮエージェントではなく特化されたＶＰＮエージェントが使用される実施形態において、新しいＶＰＮエージェントが必要とされる場合、ステップ９１１において、ＶＰＮマネージャは、新しいＶＰＮエージェントをマシン・エンドポイントに送る。次に、プロセスは、既存のＶＰＮインフラストラクチャの監視（ステップ９０１）を続行する。
【００９５】
一方、変更が新しいＶＰＮトンネルを要求する場合、ステップ９１３において、プロセスは次に、ＶＰＮエージェントが既にインストールされているかどうかを判断する。インストールされていない場合、ステップ９１５において、ＶＰＮマネージャは、新しいＶＰＮエージェントを、それを必要とするエンドポイントに送る。ステップ９１７において、新しいＶＰＮトンネルが、新しい及び／又は既存のＶＰＮエージェントを通じて作成される。新しいＶＰＮトンネルは、既存のトンネルの分割であると考えることができる。プロセスは次に、起こり得る変更のためにＶＰＮインフラストラクチャを監視するためのステップ９０１に戻る。
【００９６】
本発明の好ましい実施形態において、中央ＶＰＮマネージャが、単一のシステム又はクラウド・プロバイダにより制御される。例えば、クラウ環境において、ＩａａＳ及びＰａａＳプロバイダが、本発明が可能にするＶＰＮ能力をこれらの環境に提供するのは価値がある。
【００９７】
フェデレーション・モデルは、１つのクラウド・プロバイダにより１つのＶＰＮマネージャが提供される場合に使用することができ、クラウド・プロバイダは、フェデレーテッド・アイデンティティ（federated identity）（ＯＡｕｔｈ、ＯｐｅｎＩＤ等）に類似したモデルを用いて、クライアント・ネットワークと他のクラウド・ネットワークとの間の信頼モデルを作成する。１つの組織に属するアプリケーションがＶＰＮトンネルを望む場合、アプリケーションは、組織のＶＰＮサーバによるフェデレーション型認証を用いて、クラウド・プロバイダのＶＰＮマネージャと確立された信頼を有することができる。
【００９８】
１つの実施形態が、図１２に示される。第１の組織のためのアプリケーションが、クラウド１００１の第１の組における１つ内のマシンＭ上にあり、異なる組織に属するクラウド１００３の第２の組の１つにおけるマシンＦと通信するように作成されたＶＰＮトンネルを必要とする。クラウド１００１の組におけるマシン間のＶＰＮトンネルは、ＶＰＮマネージャ１００５により管理され、一方、クラウド１００３の組におけるＶＰＮトンネルは、ＶＰＮマネージャ１００７により管理される。
【００９９】
次に、アプリケーションがＶＰＮトンネルを望むとき、アプリケーションは、例えば、マシンＭ上のアプリケーションがＶＰＮマネージャ１００５に接触するといった要求を、それぞれのＶＰＮプロバイダ・サーバに行う。ＶＰＮマネージャ１００５は、その相手方のＶＰＮマネージャ１００７と通信して、新しいＶＰＮトンネル１０１１を設定する。従って、クライアントは、ＶＰＮトンネルを用いて他の信頼できるクライアントと通信し、アクセス・ポイント及び暗号化を提供する。ＶＰＮトンネルは、中央サーバを通じて流れることができ、又はＶＰＮマネージャは、付加的な軽量トンネルを生成することができる。ハイブリッド・クラウド環境内のＶＰＮトンネルについての上記の説明と同様に、２つのクラウド環境１００１と１００３との間で管理されるＶＰＮトンネルを再構成し、併合し、分割して、そのライフサイクル中のアプリケーションの必要性に適合させることができる。
【０１００】
上述の主題は、多くの利点を提供する。好ましい実施形態において、ＶＰＮトンネルの併合及び分割は、ネットワークの最適化を可能にする。ＶＰＮマネージャは、ＶＰＮの位置及び結合に関して決定を行うとき、利用可能な帯域幅、利用可能なマシン・コンピュート、ネットワーク・トポロジ及びＶＰＮオーバーヘッドを考慮に入れることができる。従来技術は、クラウド環境間のセキュリティを提供するために、専用ＶＰＮトンネルを用いる。所定のＶＰＮトンネルにおけるスループットを監視することにより、ＶＰＮマネージャは、大量のトラフィックを処理するＶＰＮを分割するために付加的なＶＰＮトンネルの生成を示唆する、又は同じクラウド内の位置で終了する十分に活用されていないＶＰＮの併合を示唆することができる。
【０１０１】
十分な特権を有した状態でクラウド環境に統合されるとき、ＶＰＮマネージャは、ＶＰＮトラフィックのオフロードのために、専用マシンを自動的にデプロイすることができる。ＶＰＮマネージャが、利用可能なクラウド管理者の資格証明を有する場合、ＶＰＮマネージャは、その資格証明を用いて、クラウド内にＶＭを自動的に作成し、それをＶＰＮトラフィックの処理専用にし、従って、負荷を共有するために新しいＶＰＮマネージャを作成することができる。このことは、ＶＰＮマネージャを実行している既存のマシン上の負荷を軽減するのを助け、ＶＰＮマネージャをハイブリッド・クラウドのためにさらに拡大縮小可能にもする。次に、全ての又は一部のＶＰＮエージェントが新しいＶＰＮマネージャとの通信を開始する。別の実施形態において、ＶＰＮマネージャは、可用性に応じて、専用ＶＰＮ機器にオフロードすることもできる。ＶＰＮマネージャがＶＰＮ機器を検出する場合、ＶＰＮ機器がＶＰＮマネージャをインストールする（又は既にインストールされたＶＰＮマネージャを使用する）ことができ、次に、クラウドＶＭに類似した方法で、ＶＰＮマネージャはＶＰＮ機器へのトラフィックのオフロードを開始し、既存のＶＰＮマネージャへのワークロードの一部を緩和することができる。本発明の幾つかの好ましい実施形態において本発明の大部分が自律的であり得るが、管理者は、ユーザ・インターフェースを通じてＶＰＮトンネルを手動で調整することができる。本発明の自律的な実施形態において、ユーザ・インターフェースを提供して、管理者に、ＶＰＮマネージャが取るアクションを警告することができる。管理者は、エージェントにより検出されるイベントのログ、及びＶＰＮマネージャにより取られる又はＶＰＮマネージャに取られように指示される後のアクションを調べて、自律的ポリシーを調整するか又はＶＰＮマネージャにより取られるアクションを無効にすることができる。管理者は、物理ＶＰＮ機器をインストールし、それらの機器をデフォルトで明示的に使用するように、ＶＰＮマネージャを構成することができる。
【０１０２】
代替的な実施形態において、上述したエージェント・ベースの管理ではなく、ＶＰＮマネージャは、クラウドＡＰＩ又は既存のエージェント（シェフ・クライアント・エージェントのような）を利用して、ＶＰＮトンネルのエンドポイントを再構成することができる。これらの実施形態において、ＶＰＮエージェントにより取られる上述したアクションは、シェフ・エージェント、又はクラウド・インフラストラクチャ内に既にある機構を制御する他のＶＰＮのような他のネットワーク・エンティティにより代わりに取られる。クラウドＡＰＩを使用する際、１つ１つのマシン上にエージェントをデプロイする代わりに、ソフトウェア定義ネットワーク（software defined network、ＳＤＮ）に接続される全てのＶＭに対するＶＰＮトンネルを作成するために用いることができる、クラウド内で利用可能なソフトウェア・ベースのネットワーキングが存在し得る。
【０１０３】
上述のように、アプリケーションは、アプリケーションのライフサイクルが変更されると、ＶＰＮトンネルについてのＶＰＮパラメータを変更することができる。例えば、アプリケーション・デプロイメント・プロセスの間、アプリケーションが、異なる通信帯域幅及びセキュリティ・プロトコルを要求することがある。例えば、製品のインストール中、ＶＰＮトンネル上のＳＳＨプロトコルを必要とするが、製品の実行中は必要とされないことがある。アプリケーションは、動的ＶＰＮトンネル再構成に関する新しい要件の組をＶＰＮマネージャに提供することができる。
【０１０４】
ＶＰＮマネージャは、組織のネットワーク内のアプリケーションの組又はマシンにより供給される詳細かつ動的な要件に応答して、動的なＶＰＮのデプロイメント、管理及び再構成を提供することができる。複数の柔軟なＶＰＮトンネルの併合及び分割を可能にすることにより、ハイブリッド・クラウドの効率及びセキュリティが改善される。さらに、組織は、本発明を用いて、パートナー又は他の信頼できるエンティティにより制御されるクラウド環境とのフェデレーションを有するＶＰＮトンネリング能力を提供することができる。異なる組織に属するＶＰＮマネージャ間の信頼の確立を通じたＶＰＮ能力のフェデレーションは、アプリケーション自体が複数の組織に加わることを必要とせずに、アプリケーションが既存の信頼関係を利用することを可能にする。
【０１０５】
本発明の実施形態は、より効率的な管理、及びＶＰＮアクティビティのオフロードのために、クラウドによりホストされるハードウェアの自動化されたデプロイメント及び除去に応じて、ＶＰＮトンネル・トポロジを変更することを可能にする。ＶＰＮ技術の選択は、環境の変化及び要求中のアプリケーションの要件に対応する。クラウド・インフラストラクチャ（ＡＰＩ、自動化デプロイメント・ツール）を利用することにより、ＶＰＮマネージャは、最小の付加的なインフラストラクチャで、ＶＰＮトンネルを管理することができる。本発明の実施形態は、アプリケーション駆動コマンドに基づく許可されたプロトコルのリアルタイムの変更といった、アプリケーション・ライフサイクルに基づく通信を応答可能なように変更する。管理者又はアプリケーションの組により与えられるＶＰＮトンネル要件を連続的に監視することにより、本発明の実施形態は、動的なＶＰＮトンネルの再構成を提供する。
【０１０６】
従来技術に優る本発明の多くの利点がある。本発明は、アプリケーションにより与えられる詳細かつ動的な要件に応答して、動的なＶＰＮデプロイメント、管理及び再構成を提供する。さらに、複数のＶＰＮマネージャは、異なるクラウド内で、ＶＰＮマネージャ間の信頼の確立を通じたＶＰＮ能力のフェデレーションにより、ＶＰＮを管理することができ、アプリケーションは、既存の信頼関係を利用して、異なるクラウドからの信頼できるＶＰＮマネージャからＶＰＮを要求することができる。
【０１０７】
複数の柔軟なＶＰＮトンネルを単一のＶＰＮトンネルに結合することにより、クラウド間の通信の効率及びセキュリティが改善される。必要な場合は、新しいデマンドを満たすために結合したＶＰＮの分割を達成することもできる。本発明の実施形態において、ＶＰＮ機能を提供するために用いられるハードウェアが、より効率的な管理のために、自動的にデプロイされ、除去される。所定のトンネルを作成するために選択されるＶＰＮ技術は、アプリケーションにより指定されるクラウド環境及び要件に対応する。専用ＶＰＮエージェントが用いられる場合、専用ＶＰＮエージェントは、ＶＰＮトンネルを要求しているアプリケーション又はマシンにより要求される要件を提供するように構成される。クラウド・インフラストラクチャ自体は柔軟性があり、マシン間のタスクの再割り当てを可能にする。必要に応じて、そうしたリソースを付加的な管理ＶＰＮに動的に割り当てることによって、この柔軟性を、ＶＰＮ管理プロセス（ＡＰＩ、自動化デプロイメント・ツール）において利用することができる。
【０１０８】
ＶＰＮトンネルを対応して変更し、アプリケーション・ライフサイクルに基づく通信チャネルの拡張又は制限、並びに、アプリケーション駆動コマンドに基づくＶＰＮトンネルにおける許可されたプロトコルのリアルタイムの変更をもたらすことができる。本発明の好ましい実施形態において、ＶＰＮエージェントは、動的なＶＰＮ再構成のために、管理者又はアプリケーション、又はアプリケーションの組により与えられるＶＰＮ要件、並びにアプリケーションにより求められる実際のスループットを連続的に監視する。既述のように、本明細書での手法は、手動で又は自動化した方法で、全体的に又は部分的に実施することができる。
【０１０９】
好ましい動作環境及び使用事例が説明されたが、本明細書における技術は、サービスをデプロイすることが望まれる他のいずれの動作環境でも使用することができる。
【０１１０】
説明されたように、上述の機能は、例えば、１つ又は複数のハードウェア・プロセッサにより実行される１つ又は複数のソフトウェア・ベースの機能など、独立型の手法として実装することができ、又は管理されるサービスとして（ＳＯＡＰ／ＸＭＬインターフェースを介したウェブ・サービスとして等）利用可能であり得る。本明細書で説明される特定のハードウェア及びソフトウェア実装の詳細は、説明のためのものであり、説明される主題の範囲を制限することを意図したものではない。
【０１１１】
より一般的には、開示される主題の文脈内のコンピューティング・デバイスは、それぞれハードウェア及びソフトウェアを含むデータ処理システム（図２に示されるような）であり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、又は他のいずれかの通信媒体若しくはリンクのようなネットワーク上で互いに通信する。データ処理システ上のアプリケーションは、制限なく、とりわけＨＴＴＰ、ＦＴＰ、ＳＭＴＰ、ＳＯＡＰ、ＸＭＬ、ＷＳＤＬ、ＵＤＤＩ及びＷＳＦＬへのサポートを含む、ウェブ及び他の周知のサービス及びプロトコルへのネイティブ・サポートを提供する。ＳＯＡＰ、ＷＳＤＬ、ＵＤＤＩ及びＷＳＦＬに関する情報は、これらの標準の開発及び維持を担当するワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）から入手可能であり、ＨＴＴＰ、ＦＴＰ、ＳＭＴＰ、及びＸＭＬに関するさらなる情報は、インターネット技術タスクフォース（ＩＥＴＦ）から入手可能である。
【０１１２】
クラウド・ベースの環境に加えて、本明細書で説明される技術は、簡単なｎ階層アーキテクチャ、ウェブ・ポータル、フェデレーテッド・システム等を含む種々のサーバサイドのアーキテクチャにおいて又はこれと共に実施することができる。
【０１１３】
さらに一般的には、本明細書で説明される主題は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はソフトウェアの要素とハードウェアの要素の両方を含む実施形態の形態をとることができる。好ましい実施形態において、信頼できるプラットフォーム・モジュール機能は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアの形で実装することができる。さらに、ダウンロード及び削除インターフェース及び機能は、コンピュータ又はいずれかの命令実行システムにより又はこれと共に使用されるプログラム・コードを提供するコンピュータ使用可能又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形を取ることができる。この説明の目的のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスにより又はこれと共に使用されるプログラムを収容又は格納する任意の装置とすることができる。媒体は、電子、磁気、光学、電磁気、赤外線又は半導体のシステム（若しくは装置若しくはデバイス）とすることができる。コンピュータ可読媒体の例として、半導体又はソリッド・ステート・メモリ、磁気テープ。取り外し可能なコンピュータ・ディスケット、ランダム・アクセス。メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、剛性磁気ディスク及び光ディスクが挙げられる。光ディスクの現在の例として、コンパクト・ディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読み出し／書き込み（ＣＤ−Ｒ／Ｗ）及びＤＶＤが挙げられる。コンピュータ可読媒体は、有形の非一時的な（non-transitory）項目である。
【０１１４】
コンピュータ・プログラム製品は、説明される機能の１つ又は複数を実施するためのプログラム命令（又はプログラム・コード）を有する製品とすることができる。これらの命令又はコードは、遠隔データ処理システムからネットワーク上でダウンロードされた後、データ処理システムのコンピュータ可読ストレージ媒体内に格納することができる。或いは、これらの命令又はコードは、サーバ・データ処理システムのコンピュータ可読ストレージ媒体内に格納し、遠隔システム内のコンピュータ可読ストレージ媒体で使用するために、ネットワーク上で遠隔データ処理システムにダウンロードするように適合することができる。
【０１１５】
代表的な実施形態において、技術は、専用コンピューティング・プラットフォーム内で、好ましくは１つ又は複数のプロセッサにより実行されるソフトウェアの形で実装される。ソフトウェアは、１つ又は複数のデータ・ストア又は１つ又は複数のプロセッサと関連したメモリ内に保持され、かつ、１つ又は複数のコンピュータ・プログラムとして実装することができる。まとめると、専用ハードウェア及びソフトウェアは、上述の機能を含む。
【０１１６】
好ましい実施形態において、本明細書で与えられる機能は、既存のクラウド・コンピュート・デプロイメント管理の解決法への付加物又は拡張として実装される。
【０１１７】
上記は、本発明の特定の実施形態により実施される動作の特定の順序を説明するが、この順序は例示的なものであり、代替的な実施形態は動作を異なる順序で実施し、特定の動作を組み合わせ、特定の動作を重ねること等が可能であることを理解されたい。明細書における所定の実施形態への参照は、説明される実施形態が特定の特徴、構造、又は特性を含むが、あらゆる実施形態が必ずしも特定の特徴、構造、又は特性を含むわけではないことを指し示す。
【０１１８】
最後に、システムの所定のコンポーネントが別個に説明されたが、当業者であれば、所定の命令、プログラム・シーケンス、コード部分等において機能の一部を組み合わせること又は共有することができる。
【符号の説明】
【０１１９】
１００、２００：データ処理システム
１０２：ネットワーク
１０４、１０６：サーバ
１０８：ストレージ・ユニット
１１０、１１２、１１４：クライアント
３００：ハードウェア及びソフトウェア層
３０２：仮想化層
３０４：管理層
３０６：ワークロード層
５０１：オンプレミス・インフラストラクチャ
５０３、７０３：ＩａａＳインフラストラクチャ
５０５、６０５：ＳａａＳ環境
５０７：クラウド環境
５０８、７０８：ＶＰＮマネージャ
５０９、５１１、６０９、７１１、７２０、７５７：ＶＰＮトンネル
５１２：ログ及びイベント・マネージャ
５１３、５１９、５２３、７１９、７３９、７５９：要件
５２２、７０４、７１２：ＶＰＮエージェント
６００：グラフィカル・ユーザ・インターフェース
７２１、７５１、７６１、７６３：ＶＰＮパラメータ
【図１】
0006803114.tif 000002
【図２】
0006803114.tif 000003
【図３】
0006803114.tif 000004
【図４】
0006803114.tif 000005
【図５】
0006803114.tif 000006
【図６】
0006803114.tif 000007
【図７】
0006803114.tif 000008
【図８】
0006803114.tif 000009
【図９】
0006803114.tif 000010
【図１０】
0006803114.tif 000011
【図１１】
0006803114.tif 000012
【図１２】
0006803114.tif 000013