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