(57)【要約】  クラウドコンピューティングネットワークにおいてノードを設定するための方法およびシステムを記載する。１つの例示的方法は、ネットワークを介して、クラウドコンピューティングネットワークにおける特定のノードから、特定のノードについてのノード情報を含む設定要求を受信するステップと、ノード情報に少なくとも部分的に基づいて、特定のノードが設定のために認可されていることを確認するステップと、特定のノードが設定のために認可されていることを確認したことに応じて、ノード情報に少なくとも部分的に基づいて特定のノード上で実行すべき設定動作を識別するステップと、識別された１つ以上の設定動作に対応する設定コマンドを、ネットワークを介して、特定のノードに送信するステップとを含み、特定のノードは、設定コマンドを受信すると設定コマンドを実行して、対応する設定動作を実行する。
2019522282.tif 000002
【特許請求の範囲】
【請求項１】
クラウドコンピューティングネットワークにおいてノードを設定するために１つ以上のプロセッサによって実行される、コンピュータにより実現される方法であって、
前記クラウドコンピューティングネットワークにおける特定のノードから、ネットワークを介して、設定要求を受信するステップを備え、前記設定要求は、前記特定のノードについてのノード情報を含み、
前記ノード情報に少なくとも部分的に基づいて、前記特定のノードが設定のために認可されていることを確認するステップと、
前記特定のノードが設定のために認可されていることを確認したことに応じて、前記ノード情報に少なくとも部分的に基づいて前記特定のノード上で実行すべき設定動作を識別するステップと、
識別された１つ以上の前記設定動作に対応する設定コマンドを、前記ネットワークを介して、前記特定のノードに送信するステップとを含み、前記特定のノードは、前記設定コマンドを受信すると前記設定コマンドを実行して、前記対応する設定動作を実行する、方法。
【請求項２】
前記設定コマンドに対応する設定レポートを、前記特定のノードから前記ネットワークを介して受信するステップをさらに含み、前記設定レポートは、前記特定のノードによる前記設定コマンドの実行に関するレポート情報を含む、請求項１に記載の方法。
【請求項３】
前記設定コマンドは第１の設定コマンドであり、前記方法はさらに、
前記レポート情報に基づいて、前記特定のノードによって前記第１の設定コマンドを実行するのに成功したと判断するステップと、
前記第１の設定コマンドを実行するのに成功したと判断したことに応じて、１つ以上の付加的な設定動作に対応する第２の設定コマンドを前記ネットワークを介して前記特定のノードに送信するステップとを含み、前記１つ以上の付加的な設定動作は、識別された前記設定動作から選択されるとともに、前記第１の設定コマンドに対応する前記設定動作とは異なる、請求項２に記載の方法。
【請求項４】
前記レポート情報に基づいて、前記特定のノードによって前記設定コマンドを実行するのに成功しなかったと判断するステップと、
前記設定コマンドを実行するのに成功しなかったと判断したことに応じて、前記特定のノードを設定するのに成功しなかったことを、前記特定のノードに関連付けられた管理コンポーネントに通知するステップとをさらに含む、請求項２に記載の方法。
【請求項５】
前記特定のノードが設定のために認可されていることを確認するステップは、
前記ネットワークを介して、前記特定のノードに情報要求を送信するステップと、
前記ネットワークを介して、前記特定のノードから前記情報要求に対する応答を受信するステップと、
前記特定のノードから受信した前記応答が予想される応答と一致することを確認するステップとを含む、請求項１に記載の方法。
【請求項６】
前記情報要求は、受信したときに前記特定のノードによって実行されるべき１つ以上のコマンドを含み、前記情報要求に対する前記応答は、前記特定のノードによって前記１つ以上のコマンドを実行することによって生成される出力を含む、請求項５に記載の方法。
【請求項７】
前記特定のノードが設定のために認可されていることを確認するステップは、前記クラウドコンピューティングネットワークに関連付けられた管理コンポーネントが、前記特定のノードから受信したのと一致するノード情報を備えたノードを作成したことと、前記ノードがまだ設定されていないこととを判断するステップを含む、請求項１に記載の方法。
【請求項８】
前記ノード情報は、前記特定のノードがどのように作成されたかを詳述する作成情報を含み、
前記特定のノードが設定のために認可されていることを確認するステップは、前記作成情報が前記クラウドコンピューティングネットワークに関連付けられたセキュリティポリシーに一致することを確認するステップを含む、請求項１に記載の方法。
【請求項９】
前記作成情報は、前記特定のノードを作成した管理コンポーネント、前記特定のノードを作成した前記管理コンポーネントのユーザ、前記特定のノードが作成された目的であるプロジェクト、または前記特定のノードについてのノードタイプ、のうち少なくとも１つを含む、請求項８に記載の方法。
【請求項１０】
前記ノード情報は、前記特定のノードのアイデンティティを含む、請求項１に記載の方法。
【請求項１１】
少なくとも１つのプロセッサに以下の演算を行なわせるために実行されるときに実施可能である命令を格納した非一時的なコンピュータ読取り可能媒体であって、前記以下の演算は、
前記クラウドコンピューティングネットワークにおける特定のノードから、ネットワークを介して、設定要求を受信することを備え、前記設定要求は、前記特定のノードについてのノード情報を含み、
前記ノード情報に少なくとも部分的に基づいて、前記特定のノードが設定のために認可されていることを確認することと、
前記特定のノードが設定のために認可されていることを確認したことに応じて、前記ノード情報に少なくとも部分的に基づいて前記特定のノード上で実行すべき設定動作を識別することと、
識別された１つ以上の前記設定動作に対応する設定コマンドを、前記ネットワークを介して、前記特定のノードに送信することとを含み、前記特定のノードは、前記設定コマンドを受信すると前記設定コマンドを実行して、前記対応する設定動作を実行する、非一時的なコンピュータ読取り可能媒体。
【請求項１２】
前記以下の演算はさらに、
前記設定コマンドに対応する設定レポートを、前記ネットワークを介して前記特定のノードから受信することを含み、前記設定レポートは、前記特定のノードによる前記設定コマンドの実行に関するレポート情報を含む、請求項１１に記載のコンピュータ読取り可能媒体。
【請求項１３】
前記設定コマンドは第１の設定コマンドであり、前記以下の演算はさらに、
前記レポート情報に基づいて、前記特定のノードによって前記第１の設定コマンドを実行するのに成功したと判断することと、
前記第１の設定コマンドを実行するのに成功したと判断したことに応じて、１つ以上の付加的な設定動作に対応する第２の設定コマンドを、前記ネットワークを介して前記特定のノードに送信することとを含み、前記１つ以上の付加的な設定動作は、識別された前記設定動作から選択されるとともに、前記第１の設定コマンドに対応する前記設定動作とは異なる、請求項１２に記載のコンピュータ読取り可能媒体。
【請求項１４】
前記以下の演算はさらに、
前記レポート情報に基づいて、前記特定のノードによって前記設定コマンドを実行するのに成功しなかったと判断することと、
前記設定コマンドを実行するのに成功しなかったと判断したことに応じて、前記特定のノードを設定するのに成功しなかったことを、前記特定のノードに関連付けられた管理コンポーネントに通知することとを含む、請求項１２に記載のコンピュータ読取り可能媒体。
【請求項１５】
前記特定のノードが設定のために認可されていることを確認することは、
前記ネットワークを介して、前記特定のノードに情報要求を送信することと、
前記ネットワークを介して、前記特定のノードから前記情報要求に対する応答を受信することと、
前記特定のノードから受信した前記応答が予想される応答に一致することを確認することとを含む、請求項１１に記載のコンピュータ読取り可能媒体。
【請求項１６】
前記情報要求は、受信したときに前記特定のノードによって実行されるべき１つ以上のコマンドを含み、前記情報要求に対する前記応答は、前記特定のノードによって前記１つ以上のコマンドを実行することによって生成される出力を含む、請求項１５に記載のコンピュータ読取り可能媒体。
【請求項１７】
前記特定のノードが設定のために認可されていることを確認することは、前記クラウドコンピューティングネットワークに関連付けられた管理コンポーネントが、前記特定のノードから受信したのと一致するノード情報を備えたノードを作成したことと、前記ノードがまだ設定されていないこととを判断することを含む、請求項１１に記載のコンピュータ読取り可能媒体。
【請求項１８】
前記ノード情報は、前記特定のノードがどのように作成されたかを詳述する作成情報を含み、前記特定のノードが設定のために認可されていることを確認することは、前記作成情報が前記クラウドコンピューティングネットワークに関連付けられたセキュリティポリシーに一致していることを確認することを含む、請求項１１に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記作成情報は、前記特定のノードを作成した管理コンポーネント、前記特定のノードを作成した前記管理コンポーネントのユーザ、前記特定のノードが作成された目的であるプロジェクト、または前記特定のノードについてのノードタイプ、のうち少なくとも１つを含む、請求項１８に記載のコンピュータ読取り可能媒体。
【請求項２０】
システムであって、
データを格納するためのメモリと、
以下の演算を実行するように動作可能である１つ以上のプロセッサとを備え、前記以下の演算は、
前記クラウドコンピューティングネットワークにおける特定のノードから、ネットワークを介して、設定要求を受信することを含み、前記設定要求は、前記特定のノードについてのノード情報を含み、
前記ノード情報に少なくとも部分的に基づいて、前記特定のノードが設定のために認可されていることを確認することと、
前記特定のノードが設定のために認可されていることを確認したことに応じて、前記ノード情報に少なくとも部分的に基づいて前記特定のノード上で実行すべき設定動作を識別することと、
識別された１つ以上の前記設定動作に対応する設定コマンドを、前記ネットワークを介して、前記特定のノードに送信することとを含み、前記特定のノードは、前記設定コマンドを受信すると前記設定コマンドを実行して、前記対応する設定動作を実行する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
本明細書は、概して、クラウドコンピューティングシステムにおいてノードをセキュアに設定することに関する。
【背景技術】
【０００２】
クラウドコンピューティングネットワークにおいては、複数のコンピューティングデバイスがネットワークによって接続され得るとともに、演算タスクを協働的におよび／または平行に実行し得る。大規模な分散型システムは何百またはさらには何千もの別個のコンピューティングデバイスを含み得る。コンピューティングデバイスは、（同じ設定を共有する）同質または（さまざまな設定を有する）異質なものであり得る。コンピューティングデバイスはさらに、複数のコンピューティングノード（たとえば、仮想マシンインスタンス、コンテナインスタンス）が単一の物理的なコンピューティングデバイス上でホストされることを可能にする仮想環境をホストし得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
概して、この明細書中に記載されている主題の一局面は、システムと、データ処理装置によって実行される方法とにおいて具体化され得る。当該システムおよび方法は、ネットワークを介して、クラウドコンピューティングネットワークにおける特定のノードから、特定のノードについてのノード情報を含む設定要求を受信することと、ノード情報に少なくとも部分的に基づいて特定のノードが設定のために認可されていることを確認することと、特定のノードが設定のために認可されていることを確認したことに応じて、ノード情報に少なくとも部分的に基づいて特定のノード上で実行すべき設定動作を識別することと、識別された１つ以上の設定動作に対応する設定コマンドを、ネットワークを介して、特定のノードに送信することとを含む。特定のノードは、設定コマンドを受信するとこれを実行して、対応する設定動作を実行する。
【０００４】
概して、この明細書中に記載される主題の１つの革新的な局面は、設定コントローラによってソフトウェアデプロイメントを制御するステップを含む方法で具体化することができる。この場合、ソフトウェアは、１グループの設定マネージャのうち１つの設定マネージャによってクラウドコンピューティング環境におけるノードにデプロイされる。１つのこのような方法は、ノードによって、ノードを設定するように設定コントローラに要求するステップと、設定コントローラが、ノードを設定するために用いられるべき設定マネージャを決定するステップと、設定コントローラが、ノードと設定マネージャとの間の信頼関係を確立するステップと、確立された信頼関係に基づいて設定マネージャを用いてノード上にソフトウェアをデプロイするステップとを含む。
【０００５】
別の局面においては、設定マネージャは、当該１グループの設定マネージャからアドミニストレータによって予め決定されていてもよい。
【０００６】
いくつかの局面においては、信頼関係は、設定マネージャのサーバとクライアントとの間で確立されてもよく、この場合、上記サーバによって提供されるソフトウェアの上記クライアント上でデプロイメントが行われ、上記クライアントがノード上で実行されている。
【０００７】
いくつかの局面においては、設定コントローラは、ノード、ノード上でのソフトウェアデプロイメントの状態、および／または、設定を受信したとき、ノード設定が成功したときもしくは失敗したときに取られるべき１つ以上の動作、についての情報を維持する。
【０００８】
別の局面においては、ノード上にデプロイされるべきソフトウェアが、設定コントローラによって決定される設定によって特定される。
【０００９】
別の局面においては、設定は、アドミニストレータによって設定コントローラに提供される。
【００１０】
いくつかの局面においては、クラウドコンピューティング環境および／または設定マネージャにアクセスするためのキーは、設定コントローラによって格納されて機密に維持され、設定コントローラは、当該キーを用いて信頼関係を確立する。
【００１１】
別の局面においては、クラウドコンピューティング環境および／または設定マネージャにアクセスするためのキーは、設定マネージャが知見しているエンティティによって作成されて格納される。この場合、エンティティは、クラウドコンピューティング環境、設定マネージャ、または、信頼された第三者であり得るとともに、設定コントローラは、上記知見を用いて信頼関係を確立する。場合によっては、キーは暗号化キーである。
【００１２】
いくつかの局面においては、第１のパーティと第２のパーティとの信頼関係を確立するということは、第２のパーティへのアクセスを認可するのに使用可能なクレデンシャルを第１のパーティに提供すること、または、他のそれぞれのパーティへのアクセスを認可するのに使用可能なクレデンシャルを各々のパーティに提供することを意味する。
【００１３】
この明細書中に記載されるいくつかの実現例においては、特定のノードが設定のために認可されていることを確認する／ノードと設定マネージャとの間の信頼関係を確立するプロセスは、システムの全体的なセキュリティを高めてセキュアな設定を容易にするために間接層（a layer of indirection）を提供する。場合によっては、当該プロセスは、個々のノードがどのように設定されるかを制御するための個々のノードの能力を排除し、これにより、認可されていないノード、確認されていないノードまたは損なわれていないノードが、アドホックな態様で、機密情報を含み得る設定リソースを要求することを防止する。これにより、認可されていないノード、確認されていないノードまたは損なわれていないノードが機密に関わる設定情報にアクセスし得るリスクが低減され得る。
【００１４】
当該プロセスはまた、さまざまな既存の設定マネージャと統合することによって融通性を提供してもよく、これにより、アドミニストレータが、特定のノードを設定するために用いられるべき設定マネージャを選ぶことを可能にし得る。さまざまな設定マネージャおよび設定ツールと統合することによっても、複数の設定マネージャおよび設定ツールを利用して異種のクラウドコンピューティングネットワークにおいて当該プロセスを実現することが可能になり得る。当該プロセスはまた、通信用の共通のクライアント・サーバプロトコルを用いて実現されてもよく、これにより、既存のネットワークおよびシステムの再設定を最小限にすることを可能にし得る。
【００１５】
この明細書に記載される主題の１つ以上の実現例の詳細が、添付の図面および以下の説明において記載されている。主題の他の特徴、局面および潜在的利点は、以下の説明、添付の図面および添付の特許請求の範囲から明らかになるだろう。
【図面の簡単な説明】
【００１６】
【図１】クラウドコンピューティングシステムにおいてリソースをセキュアに設定するための例示的な環境を示す図である。
【図２】クラウドコンピューティングシステムにおいてリソースをセキュアに設定するための例示的なプロセスを示すスイムレーン図である。
【図３】クラウドコンピューティングシステムにおいてリソースをセキュアに設定するための例示的なプロセスを示すスイムレーン図である。
【図４】図１の環境において用いられる例示的な設定コントローラを示す図である。
【図５】クラウドコンピューティングシステムにおいてリソースをセキュアに設定するための例示的なプロセスを示すフローチャートである。
【図６】この明細書において記載されるシステムおよび方法を実現するために用いられ得るコンピューティングデバイスを示す図である。
【発明を実施するための形態】
【００１７】
さまざまな図面における同様の参照番号および符号は同様の要素を示す。
詳細な説明
ＣＨＥＦ（登録商標）、ＰＵＰＰＥＴ、ＳＡＬＴおよびＡＮＳＩＢＬＥなどの設定マネージャは、ネットワークを介してソフトウェアをコンピューティングデバイスにデプロイするためのソフトウェアプログラムである。これらの設定マネージャは、内部ネットワークを介してソフトウェアを分散させるためにオンプレミス環境において用いられることが多い。これらの設定マネージャが多くの有用な特徴を提供しているので、より大規模なクラウドコンピューティングシステムにおいてこれら設定マネージャを用いるための努力が払われてきた。しかしながら、これらの設定マネージャは主に内部ネットワーク使用のために設計されているので、このような努力は、これまで、ロバストなセキュリティ、他のフレームワークとの相互運用性および融通性のあるデプロイメント能力などのクラウドコンピューティングシステムにおいて望ましい多くの特徴によって妨害されてきた。
【００１８】
本開示は、クラウドコンピューティングシステムにおいてノードをセキュアに設定するための方法およびシステムを記載する。記載された解決策は、設定プロセス中にノードに設定アイテムを提供するためのリソースとして既存の設定マネージャを利用する。この解決策は、さまざまなアプリケーションプログラミングインターフェイス（application programming interface：ＡＰＩ）を用いて複数のさまざまな種類の設定マネージャをサポートし得るとともに、単一のクラウドコンピューティングシステムにおいてこれらを一緒に用いることを可能にし得る。さらに、この解決策は、リソースに対する需要の増加または変化するネットワーク条件などに応じて、リソースの融通性のあるデプロイメントをサポートする。加えて、潜在的に機密に関わる設定リソースのためのアクセスクレデンシャルの割当て、分布および管理などのセキュリティ対策は、クラウドコンピューティングシステムにおいて、設定リソースまたはノードではなく、上述のシステムによって全体的に管理される。
【００１９】
上述の解決策は、設定時に設定マネージャとノードとの間に間接層を追加する。たとえば、ノードが設定リソースによって設定される場合、信頼関係は設定されるべきノードと設定リソースとの間に確立され得る。概して、設定リソースまたはノードは、セキュアな設定プロセスを確実にするために、信頼されたコンピューティング基盤の一部をなしている（たとえば、認可されていないノードまたは確認されていないノードが、機密情報を含み得る設定リソースにアクセス要求することが防止される）。この明細書中に記載される解決策においては、信頼されたコンピューティング基盤に含まれる設定コントローラは、ノードと設定リソースとの間の信頼関係を仲介し得るものであって、これにより、ノードおよび設定リソースは、信頼されたコンピューティング基盤の一部を設定することなく相互信頼を確立し得る。設定コントローラは、たとえば、設定リソース上のノードのためのアクセスクレデンシャルを設定してリソースへのアクセスに使用されるクレデンシャルをノードに提供することによって、この信頼関係を確立してもよい。設定コントローラによって提供されるこの間接層に基づけば、ノードまたは設定リソースが信頼されたコンピューティング基盤の一部をなしていなくても、ノードのセキュアな設定が実現され得る。信頼されたコンピューティング基盤は、たとえば、潜在的に機密のアクセスクレデンシャルを管理しセキュアにするコンポーネントをシステム内に含み得る。
【００２０】
アドミニストレータは、どの設定マネージャからのどの設定が特定のノードに適用されるべきであるかを規定する１セットの設定ポリシーでシステムを設定し得る。設定ポリシーは１セットのルールとして特定されてもよい。各々のルールは、ノードの特性（たとえば、名前、作成日、所有者など）を１セットの設定データに一致させる。各々のルールはまた、成功したノード設定または失敗したノード設定に対してシステムが取るべき設定動作を特定し得る。設定を得るために、ノードは（たとえばネットワークを介して）システムに要求を送信する。システムがマシンを設定するようにとの要求を受信すると、当該システムは、実行すべき設定動作を決定するために、設定ポリシーのうちノードの特性に一致する１つ以上のルールを見つけ出す。
【００２１】
本解決策は、リソースについての要求に応じて、自動的なノード設定によって融通性をもたらすために既存の設定マネージャと統合されてもよい。既存の設定マネージャは、概して、アドミニストレータが新しいノードをプロビジョニングするために設定マネージャを対話形式で用いている対話環境において機能する。この対話形式のシナリオは、システムの現在の状態に応じて顧客がノードをプロビジョニングすることを希望している融通性のあるシナリオに対しては有用でないかもしれない。本解決策は、要望に応じてノードをプロビジョニングするアドミニストレータの能力を増大させて、設定マネージャを融通性のあるシナリオに適用できるようにする。既存の解決策を備えたこの統合機能はまた、さまざまな異なる既存のクラウド設定において本システムをより容易にデプロイさせる。各々の既存のクラウド設定は、本システムを統合させることのできる１つ以上の設定マネージャを用いてもよい。
【００２２】
セキュリティに関して、いくつかのクラウド設定マネージャは、設定時にノードにアクセスクレデンシャル（たとえば、暗号化キー、ログインクレデンシャルなど）を提供し得るので、設定のために必要とされるアイテム（たとえば、ソフトウェアライブラリ、ソースコードなど）を得るためにネットワークリソースにアクセスできるようになる。このような設定は、セキュリティ上のリスクを呈する可能性がある。というのも、攻撃者がこれらのアクセスクレデンシャルを得るためにいくつかのノードに侵入することができるからである。本開示において記載されるシステムにおいては、アクセスクレデンシャルは、設定システムによって管理され得るとともに、設定されているノードによって管理または維持される必要がない。この局面は、システムの全体的なセキュリティを高めて、セキュアな設定を容易にする。さらに、本システムは、個々のノードがどのように設定されるかを制御するために個々のノードの能力を排除し、これにより、損なわれたノードが、アドホックな態様で、機密情報を含み得る設定リソースを要求するのを防止する。これにより、認可されていないノード、確認されていないノードまたは損なわれたノードが機密に関わる設定情報にアクセスし得るリスクが低減される。
【００２３】
本解決策はまた、特定のノード要求設定が実際にそのように設定されることが認可されていることを確認することによって、高度なセキュリティを提供し得る。当該システムは、ノードが設定されることが認可されていることを確認するために、アドミニストレータによって、特定のノードから受信された設定要求を対応する動作と相互に関連付けてもよい。当該システムはまた、ノードに指示して、さまざまな命令を実行させ得るとともに、当該ノードが本物であって、たとえば攻撃者によって指示された損なわれたノードではないことを確認するための命令を出力させ得る。たとえば、システムは、損なわれたノードが人の攻撃者によって手動で制御されていないことを確認するために短時間に多数の計算を実行するようにノードに指示してもよい。システムはまた、その初期設定に含まれている一意識別子などの情報を提供するようにノードに指示してもよい。このような情報は、ノードが設定を受信することが認可されていることを確認するために、ノードに対する元の作成要求と相互に関連付けることができる。
【００２４】
図１は、クラウドコンピューティングシステムにおいてリソースをセキュアに設定するための例示的な環境１００を示す図である。図示のとおり、環境１００は、デプロイメントマネージャ１２０と通信するユーザまたは自動化システム１１０を含む。デプロイメントマネージャ１２０は、ユーザ／自動化システム１１０からの要求に応答して、ノード１３０（たとえば、仮想マシンインスタンス、コンテナインスタンスまたはクラウドコンピューティングシステムの他のコンポーネント）をデプロイする。設定コントローラ１４０は、ノード１３０と対話して、これに設定を提供する。設定コントローラ１４０は設定ポリシー１６０に基づいて動作する。設定コントローラ１４０はまた、ノード１３０がリソースから設定アイテムを検索することも認可しないように、設定リソース１５０と対話する。動作時に、ユーザ／自動化システム１１０は、デプロイメントマネージャ１２０がノードを作成する（１７０）ことを要求する。これに応答して、デプロイメントマネージャ１２０はノード１３０をデプロイする（１７２）。初期化されると、ノード１３０は設定要求１７４を設定コントローラ１４０に送信する。設定コントローラ１４０は、設定要求１７４に含まれるパラメータに基づいてノード１３０の設定ポリシー１６４を識別する。設定コントローラ１４０は、ノード１３０に設定コマンド１７６を発行する。ノード１３０は、設定コマンド１７６を実行し、設定コントローラ１４０にコマンドの結果を提供する。設定コントローラ１４０はまた、設定リソース１５０に設定コマンド１７８を送信してもよい。たとえば、設定コントローラ１４０のための設定は、ノード１３０が設定リソース１５０から設定アイテムを検索する（１８０）ことを認可するように設定リソース１５０を設定してもよい。設定コントローラ１４０はまた、ノード１３０を、これが設定リソース１５０にアクセスすることを可能にするアクセスクレデンシャルで（たとえば、設定コマンド１７６によって）設定してもよい。
【００２５】
ユーザ／自動化システム１１０は、デプロイメントマネージャ１２０によってデプロイされるノード１３０などの、ノードインスタンスを要求するエンティティである。たとえば、ユーザ／自動化システム１１０は、新しいノードインスタンスを作成するためにユーザインターフェイスと対話するユーザを含み得る。ユーザ／自動化システム１１０はまた、たとえば、特定のアプリケーションのためのコンピューティングリソースに対する要求の増加に応じて、デプロイメントマネージャ１２０によって管理されているクラウドコンピューティングシステムの性能の低下に応じて、または、他の事象に応じて、デプロイメントマネージャにノードインスタンスの作成を自動的に要求する自動化システムを含んでもよい。いくつかの実現例においては、ユーザ／自動化システム１１０は、ノードの作成（１７０）を要求するために、かつ、ノードが作成された（１８２）という通知を受信するために、ネットワーク（図示せず）を介してデプロイメントマネージャ１２０と通信してもよい。ユーザ／自動化システム１１０のアイデンティティ、作成されるべきノードの属性または他の情報などの付加的な情報は、以下においてより詳細に説明されるように、作成要求（１７０）および通知（１８２）において呈示されてもよい。
【００２６】
デプロイメントマネージャ１２０は、クラウドコンピューティングシステムなどの分散コンピューティング環境におけるコンピューティングコンポーネントであってもよい。いくつかの実現例においては、デプロイメントマネージャ１２０は、新しいノードインスタンスをデプロイするとともに分散コンピューティング環境内における既存のノードインスタンスを管理するように動作可能である１つ以上のコンピューティングコンポーネントであってもよい。場合によっては、デプロイメントマネージャ１２０は、ソフトウェアコンポーネントとして実現されてもよく、ユーザ／自動化システム１１０などのエンティティが分散コンピューティング環境内で新しいノードの作成を要求することを可能にするＡＰＩを提供してもよい。いくつかの実現例においては、デプロイメントは、１つ以上の仮想実行環境内においてノードをデプロイして管理するハイパーバイザコンポーネントであってもよい。このような場合、ハイパーバイザによってデプロイおよび管理されるノードは、仮想マシンインスタンス、コンテナインスタンス、仮想リソース（たとえば、ディスク、プロセッサなど）または他の仮想コンポーネントであってもよい。
【００２７】
ノード１３０は、１７２においてデプロイメントマネージャ１２０によってデプロイされる。ノード１３０は、仮想環境内において物理的なコンピューティングデバイスによってデプロイされて実行されるノードインスタンスであってもよい。場合によっては、ノード１３０は、デプロイメントマネージャ１２０に関連付けられるとともに作成要求１７０においてユーザ／自動化システム１１０によって特定される仮想マシンまたはコンテナ画像に従って作成されてもよい。いくつかの実現例においては、ノード１３０は、それが設定コントローラ１４０と通信することを可能にするのに十分な最小の設定でデプロイされてもよい。たとえば、ノード１３０は、最小限に設定されたオペレーティングシステムと、当該ノード１３０がネットワーク（図示せず）を介して設定コントローラ１４０にアクセスすることを可能にする限られたネットワーク設定と、設定コントローラ１４０に設定要求１７４を送信して設定コントローラ１４０からの応答を待つ命令とを用いて、デプロイされてもよい。このようなデプロイメントは、設定コントローラ１４０がノード１３０の設定のほとんどの局面を制御することを可能にし得る。対照的に、非最小の設定でデプロイされたノードは、構成設定、ソフトウェアパッケージ、および、ノードを作成するのに用いられる画像内の他の設定アイテムを含み得る。このような方策により、新しいノードのための初期設定に変更を加えることが困難になる可能性がある。なぜなら、ノードを作成するための元となる画像が、このような変更を実現するために更新されなければならないからである。本解決策はまた、たとえば、予めインストールされたソフトウェアパッケージを最新バージョンに更新するために、画像における初期設定内に含まれている設定を更新済みの値に変更するために、かつ、他の設定動作を実行するために、ノードがこのような非最小の設定でデプロイされている状況において利用されてもよい。このような方策は、画像に含まれている初期設定を変更することの困難さをいくらか緩和し得る。なぜなら、非最小に設定されたノード１３０は、最小に設定されたノードと同じ態様で、初期化されると、設定コントローラ１４０に設定を要求して設定コントローラ１４０からこの設定を受信し得るからである。
【００２８】
設定コントローラ１４０は、ネットワーク（図示せず）を介してノード１３０から設定要求１７４を受信する。いくつかの実現例においては、ノード１３０は、設定コントローラ１４０によって提供されるレプレゼンテーショナル・ステート・トランスファ（Representational State Transfer：ＲＥＳＴ）ＡＰＩに従って設定要求１７４を送信する。ノード１３０は、ハイパーテキスト転送プロトコル（Hypertext Transfer Protocol：ＨＴＴＰ）、ＨＴＴＰセキュア（HTTP Secure：ＨＴＴＰＳ）または他のプロトコルを用いて、設定コントローラ１４０に対応するユニフォームリソースロケータ（Uniform Resource Locator：ＵＲＬ）にアクセスするように指示され得る。たとえば、ノード１３０は、設定コントローラ１４０にＵＲＬ「http://configcontroller.internal.net/start」についてのＨＴＴＰ要求を送信してもよい。この場合、ドメイン名「configcontroller.internal.net」は設定コントローラ１４０に関連付けられたネットワークアドレスに分解され、目的である「start」は、ノード１３０が設定を要求していることを設定コントローラ１４０に示している。
【００２９】
設定要求１７４はまた、ノード１３０についての情報を識別することを含み得る。たとえば、ユーザ／自動化システム１１０は、デプロイメントマネージャ１２０によって作成されるべきノード１３０についての情報、たとえば、あるタイプのノードインスタンス、ノード１３０の作成を要求しているユーザまたはシステムのアイデンティティ、ノードを作成するようにとの要求についての一意識別子、または他の情報など、を特定し得る。場合によっては、この情報は設定要求１７４において符号化されてもよい。いくつかの実現例においては、設定コントローラ１４０は、この情報を用いて、ノード１３０が設定されることが認可されていることを確認してもよい。たとえば、設定コントローラ１４０は、設定要求１７４でノードを作成するようにとの要求についての一意識別子を受信してもよく、この識別子を用いることで、ノード１３０が実際にデプロイされていて、有効な作成要求に基づいて設定を要求していることを確認してもよい。このような確認は、認可されていないノードインスタンスが内部の、場合によっては機密の、設定データにアクセスするのを防止することによって、高度なセキュリティを提供し得る。一例においては、このようなノードインスタンスは、このような内部データにアクセスしようと試みる悪意のあるエンティティによって作成されるはずである。設定コントローラ１４０はまた、ノード要求設定の特定の属性を備えたノードインスタンスを作成することが認可されているユーザまたはシステムによってノードインスタンスが作成されたことを確認してもよい。
【００３０】
いくつかの実現例においては、設定コントローラ１４０はデプロイメントマネージャ１２０から設定要求１７４を受信してもよい。このような場合、デプロイメントマネージャ１２０が新しいノードをデプロイすると、デプロイメントマネージャ１２０は、新しくデプロイされたノードについての情報とともに設定要求１７４を設定コントローラ１４０に送信してもよい。設定コントローラ１４０は、ノードによって開始された上述の設定シナリオと同様に、上述と同様の態様でノードについての情報を用いてノードのアイデンティティを識別および確認してからこれを設定し得る。
【００３１】
いくつかの実現例においては、設定コントローラ１４０は、設定を待っている新しくデプロイされたノードのためにネットワークをスキャンするように設定されてもよい。このような場合、設定コントローラ１４０は、特定のノードの設定を開始するようにとの設定要求１７４を受信しない可能性があるが、代わりに、設定を待っているノードが発見されたときに設定プロセスを開始する可能性がある。たとえば、設定コントローラ１４０は、設定を待っているノードのリストを含むデータベースまたは他のリソースを定期期的にチェックし得るとともに、設定プロセスを開始するためにこのようなノードとの通信を開始し得る。設定コントローラ１４０はまた、いずれかの新しくデプロイされたノードを設定する準備ができていることを示すブロードキャストメッセージをネットワーク上で送信してもよい。このような場合、新しくデプロイされたノードは、このブロードキャストメッセージに応答して設定プロセスを開始するように設定されるだろう。
【００３２】
設定コントローラ１４０は、設定要求１７４からの情報を用いて、ノード１３０を設定するために用いるべき設定ポリシー１６０のうちの１つを識別してもよい。いくつかの実現例においては、設定ポリシー１６０は、ルールと、設定されるべきノードが当該ルールに一致する場合に実行するべき１セットの設定コマンドとを含み得る。たとえば、設定ポリシー１６０は、「データベース」のノードタイプで設定されるべきノードが設定プロセス中にインストールされたデータベース管理ソフトウェアプログラムを有するべきであることを規定してもよい。設定コントローラ１４０がノード１３０のタイプが「データベース」であることを特定する設定要求をノード１３０から受信する場合、設定コントローラは、ノード１３０がノードタイプ「データベース」についての設定ポリシー１６０に一致することを特定し、データベース管理ソフトウェアプログラムをインストールするために設定ポリシー１６０において規定されている設定コマンドをノード１３０に発行するだろう。設定ポリシー１６０におけるルールは、ノード１３０から受信された設定要求において受信された情報について一致する値を規定する基準を含み得る。いくつかの実現例においては、設定ポリシー１６０は、設定を実行するために用いられる特定の設定リソース１５２を特定してもよい。
【００３３】
設定コントローラ１４０がノード１３０を設定するために用いられる設定ポリシー１６２を識別すると、設定コントローラ１４０は１つ以上の設定コマンド１７６をノード１３０に送信し得る。上述されたように、ノード１３０は、設定要求１７４を送信した後、設定コントローラ１４０からのこのようなコマンドをリッスンする。いくつかの実現例においては、ノード１３０が設定コマンド１７６を受信すると、ノード１３０をデプロイするための命令は、受信されたコマンドを実行させるとともに、実行されたコマンドの出力または結果を設定コントローラ１４０に提供する。
【００３４】
この配置設定は、ノード１３０を設定する際に高い融通性を提供し得る。なぜなら、設定コントローラ１４０は、ユーザがノード１３０に直接コマンドを入力することによって実行され得るいずれのコマンドも有効に実行するようにノード１３０に指示し得るからである。いくつかの実現例においては、ノード１３０は、オペレーティングシステム・シェルまたはコマンドラインインターフェイスにおいて、たとえば、ボーン・シェル（Bourne shell）（sh）、ボーン・アゲイン・シェル（Bourne-Again shell）（bash）、コーン・シェル（Korn shell）（ksh）、Ｃシェル（csh）もしくは他のシェル、または、コマンドラインインターフェイスなどにおいて、受信した各々の設定コマンド１７６を実行し得る。このような配置設定は、リダイレクト（「＞」）およびパイプ（「｜」）などのスクリプティングおよびフロー制御動作など、ノード１３０を設定する際にこのようなシェルのリッチな特徴を設定コントローラ１４０が利用することを可能にし得る。
【００３５】
たとえば、タイプ「データベース」のノード１３０からの例示的な設定要求１７４に応じて、設定コントローラ１４０は、特定の設定リソース１５０にアクセスするためにアドバンスドパッケージングツール（Advanced Packaging Tool：ＡＰＴ）、ＲＰＭパッケージマネージャまたは他のクライアントなどのパッケージ管理クライアントをノード１３０上で設定するために設定コマンド１７６をノード１３０に送信してもよい。たとえば、この設定コマンド１７６は、「add-apt-repository ‘deb http://config.blah.com/config/ database-manager main’」であってもよく、この場合、「http://config.blah.com/config/」はリソース１５０に対応するＵＲＬである。ノード１３０は、設定コマンド１７６を受信して、上述のとおりシェルまたはコマンドラインインターフェイスにおいてこれを実行し得る。設定コマンド１７６を実行することにより、ノード１３０上の「add-apt-repository」プログラムが特定されたパラメータで実行され、これにより、この場合には、ＡＰＴパッケージ管理クライアントプログラムの設定が更新されることとなる。次いで、設定コントローラ１４０は、ノード１３０上でパッケージ管理クライアントを呼出し、適切なパッケージを検索するようにこれに指示する設定コマンド１７６を送信してもよい。たとえば、上述の例から「データベース・マネージャ」コンポーネントを検索するための設定コマンド１７６は、「apt-get install database-manager」であってもよい。ノード１３０は、設定コマンド１７６を受信して、これを上述のとおりシェルまたはコマンドラインインターフェイスにおいて実行し得る。設定コマンド１７６を実行することにより、ノード１３０上の「add-get」プログラムが特定のパラメータで実行されることとなり、さらに、この場合には、ノード１３０に、上述のコマンドで設定された設定リソース１５０から「database-manager」ソフトウェアパッケージを検索させてインストールさせることとなるだろう。
【００３６】
設定コントローラ１４０はまた、ノード１３０が設定されることが認可されていることをさらに確認するために選択された設定コマンド１７６を送信してもよい。たとえば、設定コントローラ１４０は、一連の計算を実行して一定の期間内で結果を提供するようにノード１３０に指示してもよい。このようなメカニズムは、ノード１３０が実際にはコンピューティングリソースであって、システムに電子的にアクセスしようと試みる人の攻撃者ではないことを確認するために用いられてもよい。上記期間は、上記期間の終了前においては人の攻撃者が計算を実行できなくなるように選択されてもよい。別の例においては、設定コントローラ１４０は、ノード１３０に指示して、その環境についての不変の特徴、たとえば、物理的な媒体アクセス制御（Medium Access Control：ＭＡＣ）アドレス、シリアル番号、または、それが実行される物理的なコンピューティングデバイスの他の一意識別子など、を読出させてもよい。ノード１３０は、確認のためにこのデータを設定コントローラ１４０に提供してもよい。このようなチェックは、ノード１３０が、ユーザ／自動化システム１１０からの要求に応答してデプロイメントマネージャ１２０によってデプロイされたノードインスタンスであって、場合によっては悪意のある目的のためにデプロイされたインスタンスを模倣する攻撃者ではないことを確実にし得る。
【００３７】
設定リソース１５０は、ノード１３０がそこから設定アイテムを検索し得る（１８０）１つのコンピューティングコンポーネントまたはコンピューティングコンポーネントのセットであってもよい。たとえば、設定リソース１５０は、たとえばＣＨＥＦ、ＰＵＰＰＥＴ、ＳＡＬＴ、ＡＮＳＩＢＬＥまたは別の設定管理ツールなどの設定管理ツールを実行する設定管理サーバであってもよい。設定リソース１５０はまた、データベース、デポジトリまたは設定アイテムの他の集合であってもよい。いくつかの実現例においては、設定コントローラは、ＡＰＩ、通信プロトコルまたは各々の特定のタイプの設定リソース１５０に特有の他のメカニズムを用いて、複数の異なるタイプの設定リソース１５０と通信するように設定されてもよい。設定コントローラ１４０は、ノード１３０が設定リソース１５０にアクセスすることを認可するために設定リソース１５０に設定コマンド１７８を送信してもよい。設定コントローラ１４０は、同様に、ノード１３０に設定コマンド１７６を送信して、設定リソース１５０にアクセスする際に用いるべきクレデンシャルを提供してもよい。場合によっては、このようなクレデンシャルは、ノード１３０が設定される必要のあるアクセスのレベル分だけ当該ノード１３０が許可されるように制限されてもよい。たとえば、ノード１３０には、設定プロセスの開始時に設定コントローラ１４０によって作成されるとともに設定プロセスの終了時に設定コントローラ１４０によって削除される、設定リソース１５０のためのアクセスクレデンシャルが提供されてもよい。このような技術は、ノード１３０が設定リソース１５０のためにそれ自体のアクセスクレデンシャルを格納して維持する必要性を軽減することにより、従来の技術を上回る高度なセキュリティにつながり得る。代わりに、設定コントローラ１４０は、このようなクレデンシャルを管理し、設定のために必要な場合にのみノード１３０にこれらクレデンシャルを提供してもよい。これにより、ノード１３０の制御を掌握している攻撃者によってアクセス可能なリソースが制限され得るとともに、潜在的に機密に関わるアクセスクレデンシャルを管理してセキュアにすることを必要とするシステム内のコンポーネントの数が制限される。
【００３８】
いくつかの実現例においては、図１に示されるコンポーネント間の対話は、これらコンポーネントが接続される１つ以上のネットワークを介してコンポーネント間で送信されるメッセージとして実現されてもよい。たとえば、１つ以上のネットワークは、インターネットプロトコル（Internet Protocol：ＩＰ）または他のタイプのネットワークを含んでもよく、トランスポート層において伝送制御プロトコル（Transmission Control Protocol：ＴＣＰ）、ユニバーサルデータグラムプロトコル（Universal Datagram Protocol：ＵＤＰ）または他のプロトコルを利用してもよい。コンポーネント間で送信されるメッセージは、たとえば、ハイパーテキスト転送プロトコル（Hypertext Transfer Protocol：ＨＴＴＰ）、リモート・プロシージャ・コール（Remote Procedure Call：ＲＰＣ）、簡易オブジェクトアクセスプロトコル（Simple Object Access Protocol：ＳＯＡＰ）または他の通信プロトコルなどの通信プロトコルに従って設定されてもよい。１つ以上のネットワークは、イーサネット（登録商標）、同期光ネットワーキング（Synchronous Optical Networking：ＳＯＮＥＴ）、非同期転送モード（Asynchronous Transfer Mode：ＡＴＭ）、および、他の有線または無線ネットワーキング技術を含むがこれらに限定されない１つ以上の物理層ネットワーキング技術を用いて実現されてもよい。
【００３９】
いくつかの実現例においては、設定コントローラ１４０は、ネットワーク上の既存のノードを交互にずらして更新してもよい。このようなローリング更新プロセスにおいては、設定コントローラ１４０は、特定の基準に基づいて更新済みの設定を受信するためにノードを選択する。たとえば、基準は、ネットワーク上のノードが１時間当たり１００のレートで更新されるように規定してもよい。これに応じて、設定コントローラ１４０は、１時間当たり１００のノードを選択して、これらのノードに対して上述と同じ態様で更新済みの設定を得るように指示し得る。場合によっては、設定コントローラ１４０は、更新されるべきとのメッセージをノードに送信することによって更新プロセスを開始してもよい。設定コントローラ１４０はまた、更新プロセスを開始するメッセージを更新されるべき各々のノードから受信し得る。設定コントローラ１４０はまた、更新プロセスを開始するメッセージをデプロイメントマネージャ１２０から受信してもよい。
【００４０】
図２は、クラウドコンピューティングシステムにおいてリソースをセキュアに設定するための例示的なプロセスのスイムレーン図である。２０５において、ユーザ／自動化システム１１０は、デプロイメントマネージャ１２０がノードを作成することを要求する。２１０において、デプロイメントマネージャ１２０はノード１３０を作成してデプロイする。２１５において、ノード１３０は、初期化ごとに、設定を要求するメッセージを設定コントローラ１４０に送信する。２２０において、ノード１３０は設定コントローラ１４０からの設定コマンドについてポーリングする。いくつかの実現例においては、ノード１３０は、設定コントローラ１４０から受信された設定コマンドを定期的にチェックする「ビジーウェイト（busy wait）」ループに入り得る。
【００４１】
２２５において、ノード１３０から設定についての要求を受信したことに応答して、設定コントローラ１４０がノード１３０に設定コマンドを送信する。２３０において、ノード１３０が、受信した設定コマンドを実行する。２３５として、ノード１３０は、設定コントローラ１４０に設定コマンドの結果を送信する。たとえば、ノード１３０は、オペレーティングシステム・シェルにおいて設定コマンドを実行し、結果として、実行されたコマンドの出力を設定コントローラ１４０に提供してもよい。２４０において、ノード１３０が、再び、設定コントローラ１４０からの設定コマンドについてポーリングする。
【００４２】
図３は、設定コントローラ１４０を用いてノード１３０および設定リソース１５０を設定するための例示的なプロセスを示すスイムレーン図である。３０５において、設定コントローラ１４０は、設定リソース１５０にアクセスするようにノード１３０を設定する。たとえば、設定コントローラ１４０は、設定リソース１５０にアクセスするための情報、たとえば、設定リソース１５０にコンタクトするのに用いられるネットワークアドレス、設定リソース１５０にアクセスするのに用いるべきアクセスクレデンシャル、または他の情報などを、ノード１３０を提供し得る。いくつかの実現例においては、当該設定は、設定コントローラ１４０が（以下に記載される）３１０および３１５において設定リソースを準備した後に、行われてもよい。いくつかの実現例においては、設定コントローラ１４０は、ノード１３０上に設定リソース１５０に関連付けられたクライアントアプリケーションをインストールしてもよく、設定リソース１５０から設定アイテムを検索するようにノード１３０に指示する際にこのクライアントアプリケーションを呼出してもよい。
【００４３】
３１０において、設定コントローラ１４０は、ノード１３０に設定アイテムを提供するように設定リソース１５０を準備するためのセットアップ動作を実行する。いくつかの実現例においては、このようなセットアップ動作は、設定リソース１５０がノード１３０を設定するのに必要な特定の設定アイテムを提供することができるかどうかを判断する動作を含み得る。３１５において、設定コントローラ１４０は、設定リソース１５０にアクセスするノード１３０を認可するように設定リソース１５０に指示する。たとえば、設定コントローラ１４０は、ノード１３０のために設定リソース１５０上に１セットのアクセスクレデンシャルを作成してもよい。場合によっては、設定コントローラ１４０は、設定リソース１５０に、そのネットワークアドレスまたは他の識別情報などのノード１３０についての情報を提供してもよく、これにより、設定リソース１５０は、リソースにアクセスしようと試みる際にノード１３０を確認することができるようになる。いくつかの実現例においては、設定コントローラ１４０は、設定リソース１５０に特有のＡＰＩを利用することによってステップ３１０および３１５を実行してもよい。設定コントローラ１４０は、複数のさまざまなＡＰＩを用いて複数のさまざまな種類の設定リソース１５０と通信するように動作可能であり得る。
【００４４】
３２０において、設定コントローラ１４０は、設定リソース１５０から設定アイテムを検索するようにノード１３０に指示する。たとえば、設定コントローラ１４０は、設定リソース１５０にアクセスするために３０５においてインストールされたクライアントアプリケーションを呼出すようにノード１３０に指示してもよい。設定コントローラ１４０は、検索されるべき１つの設定アイテムまたは複数の設定アイテムの識別を含み得る。いくつかの実現例においては、設定コントローラ１４０は、設定アイテムを検索するために設定リソース１５０に特有のプロトコルに従って設定されたメッセージをネットワークを介して送信するようにノード１３０に指示してもよい。３３０において、設定リソース１５０は、３２５において送信された要求によって示される設定アイテムを戻す。
【００４５】
３３５において、ノード１３０は、設定リソース１５０から受信した設定アイテムを適用する。いくつかの実現例においては、設定アイテムを適用することは、受信された設定アイテムをノード１３０上にインストールする、設定リソース１５０に関連付けられたクライアントアプリケーションを含み得る。ノード１３０はまた、３３０において設定リソース１５０から設定アイテムを受信すると、設定コントローラ１４０に結果を戻してもよい。これに応じて、設定コントローラ１４０は、設定アイテムをインストールするようにとの命令を含む設定コマンドをノード１３０に送信してもよい。３４０において、ノード１３０は、設定コントローラ１４０に設定アイテムを適用した結果を送信する。いくつかの実現例においては、ステップ３２０〜ステップ３４０は、複数の異なる設定アイテムをノード１３０に適用するために複数回繰返されてもよい。ノード１３０について設定コントローラ１４０によって識別された設定ポリシー１６０は、どの設定アイテムがノード１３０にインストールされるべきであるかを特定し得るとともに、これにより、回数を特定し、どのようなパラメータでステップ３２０〜３４０を繰返し得るかを特定し得る。
【００４６】
３４５において、設定コントローラ１４０は、ノード１３０の設定が完了していると判断する。いくつかの実現例においては、設定コントローラ１４０は、ノード１３０に適用されるべき各々の設定アイテムについての好結果をノード１３０から受信したことに基づいて設定が完了していると判断してもよい。３５０において、設定コントローラ１４０は、設定プロセスが完了しているという表示をノード１３０に送信する。３５５において、ノード１３０は、デプロイに成功したという表示をデプロイメントマネージャ１２０に送信する。３６０において、デプロイメントマネージャ１２０は、ノード１３０を作成するのに成功したという表示をユーザ／自動化システム１１０に送信する。いくつかの実現例においては、設定コントローラ１４０は、適用されるべき設定アイテムのうち１つ以上についてノード１３０から好成績を受信しない場合、当該設定コントローラは、「設定の失敗」などを示すネガティブな表示をノード１３０に送信してもよい。ノード１３０は、この表示をデプロイメントマネージャ１２０に伝達してもよく、デプロイメントマネージャ１２０が次いで、この表示をユーザ／自動化システム１１０に伝達してもよい。場合によっては、ノード１３０はこのような失敗の表示に応じてそれ自体を削除するかもしれない。ノードの削除は、設定コントローラ１４０またはデプロイメントマネージャ１２０によって実行されてもよい。
【００４７】
図４は、図１に示される設定コントローラ１４０を含む例示的な環境４００を示す図である。図示のとおり、設定コントローラ１４０は、設定サービス４１０、設定ワーカー４２０、１セットの設定データ４３２およびユーザインターフェイス４５０を含む。動作時に、設定イニシエータ４４０が、ＲＥＳＴ  ＡＰＩを用いて設定サービス４１０と通信してもよい。設定イニシエータ４４０は、新しいノード１３０がデプロイされていることを設定サーバ４１０に示してもよく、さらに、設定コントローラ１４０に設定を要求することになるだろう。場合によっては、設定イニシエータ４４０は、図１に示されるユーザ／自動化システム１１０、図１に示されるデプロイメントマネージャ１２０、または、デプロイされたノード１３０もしくは作成されたノード１３０である他の任意のコンピューティングコンポーネントもしくはエンティティであり得る。設定イニシエータ４４０は、ノード１３０についての情報、たとえば、ノード１３０についての、または、ノード１３０をデプロイさせるかもしくは作成させる要求についての固有の識別情報など、を示してもよい。この情報は、設定コントローラ１４０によって受信された設定についての要求が、設定イニシエータ４４０によって作成されたかまたはデプロイされたノード１３０からのものであることを確認するために、用いられてもよい。
【００４８】
設定イニシエータ４４０からのこのような表示を受信したことに応じて、設定サービス４１０は、ノード１３０を設定するタスクを設定ワーカー４２０に割当ててもよい。いくつかの実現例においては、設定ワーカー４２０は、ノード１３０からの設定要求を処理するのに必要であるとともに必要な設定を実行するための必要な設定コマンドをノード１３０に提供するのに必要である機能を含むスレッド、モジュールまたはオブジェクトなどのソフトウェアコンポーネントであってもよい。場合によっては、設定サービス４１０はまた、設定コントローラ１４０内において受信されたメッセージの内部ルーティングの役割を果たすネットワークモジュール（図示せず）を設定することなどによって、ノード１３０から発生するものとして識別された設定に対する要求を、ノード１３０を設定するために割当てられた設定ワーカー４２０にルーティングさせてもよい。設定ワーカー４２０は、設定についての要求をノード１３０から受信すると、図１〜図３に関して上述したように、ノード１３０を設定するように設定リソース１５０におけるノード１３０と対話し得る。
【００４９】
設定サービス４１０および設定ワーカー４２０は、１セットの設定データ４３２を作成して維持し得る。いくつかの実現例においては、設定データ４３２は、ペンディング中の設定動作についての情報、以前の設定動作の結果（たとえば成功もしくは失敗）、または、設定コントローラ１４０において失敗があった場合にペンディング中の設定動作を回復させるかもしくは再開させるのに用いられるリカバリデータを含み得る。
【００５０】
図示のとおり、設定サービス４１０は課金記録４７０およびログ４８０を作成する。いくつかの実現例においては、課金記録４７０およびログ４８０は、完了した設定動作についての情報を含む。たとえば、課金記録４７０は、ノード１３０のデプロイを成功させるために、設定イニシエータ４４０または別のエンティティに課金されるべき料金を含み得る。ログ４８０は、ノード１３０のための設定プロセスに関する詳細情報、たとえば、どの設定コマンドが設定コントローラ１４０によって発行されたか、コマンドの結果などを含み得る。ログ４８０は、設定コントローラ１４０の活動の履歴記録を提供してもよい。
【００５１】
ユーザインターフェイス４５０は、課金記録４７０、ログ４８０からアドミニストレータ４６０への情報に対するアクセスを提供する。たとえば、アドミニストレータ４６０は、ＨＴＴＰを用いてネットワークを介してユーザインターフェイス４５０にアクセスするためにウェブブラウザを用いてもよく、課金記録４７０およびログ４８０からの情報を含むウェブページをユーザインターフェイスから検索してもよい。いくつかの実現例においては、ユーザインターフェイス４５０、または図示されるものとは異なるユーザインターフェイスは、アドミニストレータ４６０が課金記録４７０およびログ４８０内の情報をサーチすること、情報をフィルタリングすること、さまざまな方法で情報を閲覧すること、情報をさまざまなフォーマットでエクスポートすること、または、他の動作を実行することを可能にし得る。
【００５２】
図５は、クラウドコンピューティングシステムにおいてリソースをセキュアに設定するための例示的なプロセス５００のフローチャートである。明瞭にするために、プロセス５００は図１に示されるコンポーネントに関連付けて説明することとする。５０５において、設定コントローラ１４０は、クラウドコンピューティングネットワークにおける特定のノード１３０から設定要求を受信する。場合によっては、設定要求は、特定のノードについてのノード情報を含む。ノード情報は、特定のノードのアイデンティティを含み得る。
【００５３】
５１０において、設定コントローラ１４０は、ノード情報に少なくとも部分的に基づいて、特定のノード１３０が設定のために認可されていることを確認する。場合によっては、特定のノード１３０が設定のために認可されていることを確認することは、設定コントローラ１４０が、情報要求をネットワークを介して特定のノード１３０に送信すること、情報要求に対する応答をネットワークを介して特定のノード１３０から受信すること、特定のノード１３０から受信した応答が予想される応答と一致することを確認することを含む。いくつかの実現例においては、情報要求は、それが受信されたときに特定のノード１３０によって実行されるべき１つ以上のコマンドを含むとともに、情報要求に対する応答は、特定のノード１３０によって１つ以上のコマンドを実行することによって生成される出力を含む。特定のノード１３０が設定のために認可されていることを確認することはまた、クラウドコンピューティングネットワークに関連付けられた管理コンポーネントが、特定のノード１３０から受信したのと一致するノード情報を有するノードを作成したことと、ノードがまだ設定されていないこととを判断し得る。いくつかの実現例においては、ノード情報は、特定のノード１３０がどのように作成されたかを詳述する作成情報を含むとともに、特定のノード１３０が設定のために認可されていることを確認することは、作成情報がクラウドコンピューティングネットワークに関連付けられたセキュリティポリシーに一致することを確認することを含む。作成情報は、特定のノード１３０を作成した管理コンポーネント、特定のノード１３０を作成した管理コンポーネントのユーザ、特定のノードが作成された目的であるプロジェクト、または特定のノード１３０についてのノードタイプ、のうち少なくとも１つを含み得る。
【００５４】
５１５において、図１に関して上述したように、特定のノード１３０が設定のために認可されていることを確認したことに応じて、設定コントローラ１４０は、ノード情報に少なくとも部分的に基づいて特定のノード１３０上で実行すべき設定動作を識別する。５２０において、図１に関して上述したように、設定コントローラ１４０は、識別された１つ以上の設定動作に対応する設定コマンドを特定のノード１３０に送信するとともに、特定のノード１３０は、設定コマンドを受信するとこれを実行して、対応する設定動作を実行する。
【００５５】
場合によっては、プロセス５００はさらに、設定コマンドに対応する設定レポートをネットワークを介して特定のノード１３０から受信する設定コントローラ１４０を含む。設定レポートは、特定のノード１３０による設定コマンドの実行に関するレポート情報を含む。
【００５６】
場合によっては、設定コマンドは第１の設定コマンドである。プロセス５００はさらに、設定コントローラ１４０が、レポート情報に基づいて特定のノード１３０によって第１の設定コマンドを実行するのに成功したと判断することと、第１の設定コマンドを実行するのに成功したと判断したことに応じて、１つ以上の付加的な設定動作に対応する第２の設定コマンドを、ネットワークを介して、特定のノード１３０に送信することとを含む。この場合、１つ以上の付加的な設定動作は、識別された設定動作から選択されるものであって、第１の設定コマンドに対応する設定動作とは異なる。
【００５７】
いくつかの実現例においては、プロセス５００はさらに、設定コントローラ１４０が、レポート情報に基づいて、特定のノード１３０によって設定コマンドを実行するのに成功しなかったと判断することと、設定コマンドを実行するのに成功しなかったと判断したことに応じて、特定のノード１３０を設定することに成功しなかったことを、特定のノード１３０に関連付けられた管理コンポーネントに通知することとを含む。
【００５８】
図６は、クライアントまたは１つのサーバまたは複数のサーバとして、この明細書中に記載されるシステムおよび方法を実現するために用いられ得るコンピューティングデバイス６００および６５０のブロック図である。コンピューティングデバイス６００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどのデジタルコンピュータのさまざまな形態を表わすように意図されている。コンピューティングデバイス６５０は、携帯情報端末、携帯電話、スマートフォンおよび他の同様のコンピューティングデバイスなどのモバイルデバイスのさまざまな形態を表わすように意図されている。加えて、コンピューティングデバイス６００または６５０はユニバーサルシリアルバス（Universal Serial Bus：ＵＳＢ）フラッシュドライブを含み得る。ＵＳＢフラッシュドライブはオペレーティングシステムおよび他のアプリケーションを格納し得る。ＵＳＢフラッシュドライブは、別のコンピューティングデバイスのＵＳＢポートへ挿入され得るワイヤレス送信機またはＵＳＢコネクタのような入出力コンポーネントを含み得る。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は例示であることが意図されているに過ぎず、本文書に記載のおよび／または請求項に記載の発明の実現例を限定することを意図していない。
【００５９】
コンピューティングデバイス６００は、プロセッサ６０２、メモリ６０４、ストレージデバイス６０６、メモリ６０４および高速拡張ポート６１０に接続している高速インターフェイス６０８、ならびに低速バス６１４およびストレージデバイス６０６に接続している低速インターフェイス６１２を含む。コンポーネント６０２，６０４，６０６，６０８，６１０および６１２の各々はさまざまなバスを用いて相互に接続されており、共通のマザーボード上にまたは他の態様で適宜搭載され得る。プロセッサ６０２は、コンピューティングデバイス６００内で実行される命令を処理可能であり、この命令には、ＧＵＩのためのグラフィック情報を高速インターフェイス６０８に結合されているディスプレイ６１６などの外部入出力デバイス上に表示するためにメモリ６０４内またはストレージデバイス６０６上に格納されている命令が含まれる。他の実現例では、複数のプロセッサおよび／または複数のバスが、複数のメモリおよび複数種類のメモリとともに必要に応じて用いられ得る。また、複数のコンピューティングデバイス６００が接続されてもよく、各デバイスは（たとえばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の一部を提供する。
【００６０】
メモリ６０４は情報をコンピューティングデバイス６００内に格納する。一実現例では、メモリ６０４は１つまたは複数の揮発性メモリユニットである。別の実現例では、メモリ６０４は１つまたは複数の不揮発性メモリユニットである。また、メモリ６０４は、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取り可能媒体であってもよい。
【００６１】
ストレージデバイス６０６は、コンピューティングデバイス６００にマスストレージを提供可能である。一実現例では、ストレージデバイス６０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含む多数のデバイスといった、コンピュータ読取り可能媒体であってもよく、または当該コンピュータ読取り可能媒体を含んでいてもよい。コンピュータプログラムプロダクトが情報媒体内に有形に具体化され得る。また、コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含み得る。情報媒体は、メモリ６０４、ストレージデバイス６０６、またはプロセッサ６０２上のメモリといった、コンピュータ読取り可能媒体またはマシン読取り可能媒体である。
【００６２】
高速コントローラ６０８はコンピューティングデバイス６００のための帯域幅集約的な動作を管理するのに対して、低速コントローラ６１２はより低い帯域幅集約的な動作を管理する。そのような機能の割当ては例示に過ぎない。一実現例では、高速コントローラ６０８はメモリ６０４、ディスプレイ６１６に（たとえばグラフィックスプロセッサまたはアクセラレータを介して）、およびさまざまな拡張カード（図示せず）を受付け得る高速拡張ポート６１０に結合される。当該実現例では、低速コントローラ６１２はストレージデバイス６０６および低速拡張ポート６１４に結合される。さまざまな通信ポート（たとえばＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータといったネットワーキングデバイスなどの１つ以上の入出力デバイスに、たとえばネットワークアダプタを介して結合され得る。
【００６３】
コンピューティングデバイス６００は、図に示すように多数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス６００は標準的なサーバ６２０として、またはそのようなサーバのグループ内で複数回実現されてもよい。また、コンピューティングデバイス６００はラックサーバシステム６２４の一部として実現されてもよい。さらに、コンピューティングデバイス６００はラップトップコンピュータ６２２などのパーソナルコンピュータにおいて実現されてもよい。代替的には、コンピューティングデバイス６００からのコンポーネントは、デバイス６５０などのモバイルデバイス（図示せず）内の他のコンポーネントと組合されてもよい。そのようなデバイスの各々がコンピューティングデバイス６００，６５０のうち１つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス６００，６５０で構成されてもよい。
【００６４】
コンピューティングデバイス６５０は、数あるコンポーネントの中でも特に、プロセッサ６５２、メモリ６６４、ディスプレイ６５４などの入出力デバイス、通信インターフェイス６６６、およびトランシーバ６６８を含む。また、デバイス６５０には、付加的なストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスが設けられてもよい。コンポーネント６５０，６５２，６６４，６５４，６６６および６６８の各々はさまざまなバスを用いて相互に接続されており、当該コンポーネントのいくつかは共通のマザーボード上にまたは他の態様で適宜搭載され得る。
【００６５】
プロセッサ６５２は、メモリ６６４に格納されている命令を含む、コンピューティングデバイス６５０内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。さらに、プロセッサは、いくつかのアーキテクチャのうちのいずれかを使用して実現され得る。たとえば、プロセッサ６１０は、ＣＩＳＣ（Complex Instruction Set Computers（複雑命令セットコンピュータ））プロセッサ、ＲＩＳＣ（Reduced Instruction Set Computer（簡略化命令セットコンピュータ））プロセッサ、または、ＭＩＳＣ（Minimal Instruction Set Computer（最小命令セットコンピュータ））プロセッサであり得る。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス６５０が実行するアプリケーション、およびデバイス６５０による無線通信といった、デバイス６５０の他のコンポーネントの協調を提供し得る。
【００６６】
プロセッサ６５２は、ディスプレイ６５４に結合された制御インターフェイス６５８およびディスプレイインターフェイス６５６を介してユーザと通信し得る。ディスプレイ６５４は、たとえば、ＴＦＴディスプレイ（Thin-Film-Transistor Liquid Crystal Display：薄膜トランジスタ液晶ディスプレイ）もしくはＯＬＥＤ（Organic Light Emitting Diode：有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェイス６５６は、ディスプレイ６５４を駆動してグラフィックおよび他の情報をユーザに提示するための適切な回路を含み得る。制御インターフェイス６５８はユーザからコマンドを受け、当該コマンドをプロセッサ６５２に提示できるように変換し得る。さらに、デバイス６５０と他のデバイスとの隣接通信を可能にするために、プロセッサ６５２と通信する外部インターフェイス６６２が設けられてもよい。外部インターフェイス６６２は、たとえば、ある実現例では有線通信を提供し、他の実現例では無線通信を提供してもよく、また、複数のインターフェイスが用いられてもよい。
【００６７】
メモリ６６４は情報をコンピューティングデバイス６５０内に格納する。メモリ６６４は、１つもしくは複数のコンピュータ読取り可能媒体、１つもしくは複数の揮発性メモリユニット、または１つもしくは複数の不揮発性メモリユニットの１つ以上として実現され得る。さらに、拡張メモリ６７４が設けられてもよく、たとえばＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含み得る拡張インターフェイス６７２を介してデバイス６５０に接続されてもよい。このような拡張メモリ６７４はデバイス６５０に余分のストレージスペースを提供し得るか、またはデバイス６５０のためのアプリケーションもしくは他の情報をさらに格納し得る。具体的には、拡張メモリ６７４は上述のプロセスを実行または補足するための命令を含み得るとともに、セキュアな情報も含み得る。このため、たとえば、拡張メモリ６７４はデバイス６５０のためのセキュリティモジュールとして設けられてもよく、デバイス６５０のセキュアな使用を許可する命令でプログラムされてもよい。さらに、ハッキング不可能なようにＳＩＭＭカード上に識別情報を置くなどして、セキュアなアプリケーションが付加的な情報とともにＳＩＭＭカードを介して設けられてもよい。
【００６８】
メモリは、以下に記載のように、たとえばフラッシュメモリおよび／またはＮＶＲＡＭメモリを含み得る。一実現例では、コンピュータプログラムプロダクトが情報媒体内に有形に具体化される。コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含む。情報媒体は、メモリ６６４、拡張メモリ６７４、またはプロセッサ６５２上のメモリなどのコンピュータ読取り可能媒体またはマシン読取り可能媒体であって、たとえばトランシーバ６６８または外部インターフェイス６６２を介して受信され得る。
【００６９】
デバイス６５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス６６６を介して無線通信し得る。通信インターフェイス６６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳといった、さまざまなモードまたはプロトコル下の通信を提供し得る。そのような通信は、たとえば無線周波数トランシーバ６６８を介して行われてもよい。さらに、ブルートゥース、Ｗｉ−Ｆｉ、または他のそのようなトランシーバ（図示せず）を用いるなどして、短距離通信が行われてもよい。さらに、ＧＰＳ（Global Positioning System：全地球測位システム）レシーバモジュール６７０が付加的なナビゲーション関連および位置関連の無線データをデバイス６５０に提供し得るとともに、当該データはデバイス６５０上で実行されるアプリケーションによって適宜用いられ得る。
【００７０】
また、デバイス６５０は、ユーザから口頭情報を受けて当該情報を使用可能なデジタル情報に変換し得る音声コーデック６６０を用いて可聴的に通信し得る。音声コーデック６６０も同様に、たとえばデバイス６５０のハンドセット内で、スピーカを介すなどしてユーザに可聴音を生成し得る。そのような音は音声電話からの音を含んでいてもよく、録音された音（たとえば音声メッセージ、音楽ファイル等）を含んでいてもよく、さらに、デバイス６５０上で実行されるアプリケーションが生成する音を含んでいてもよい。
【００７１】
コンピューティングデバイス６５０は、図に示すように多数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス６５０はセルラー電話６８０として実現されてもよい。また、コンピューティングデバイス６５０は、スマートフォン６８２、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【００７２】
本明細書に記載のシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（application specific integrated circuit：特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組合せで実現され得る。これらのさまざまな実現例は、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムにおける実現例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信するように、かつこれらにデータおよび命令を送信するように結合されている。
【００７３】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知）はプログラマブルプロセッサのためのマシン命令を含んでおり、高レベル手続きおよび／もしくはオブジェクト指向プログラミング言語で、ならびに／またはアセンブリ／マシン言語で実現され得る。本明細書において使用する「マシン読取り可能媒体」および「コンピュータ読取り可能媒体」という用語は、マシン命令および／またはデータをプログラマブルプロセッサに提供するために用いられる任意のコンピュータプログラムプロダクト、装置および／またはデバイス（たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（Programmable Logic Device：ＰＬＤ））を指し、マシン命令をマシン読取り可能信号として受信するマシン読取り可能媒体を含む。「マシン読取り可能信号」という用語は、マシン命令および／またはデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
【００７４】
ユーザと対話できるようにするために、本明細書に記載のシステムおよび技術は、情報をユーザに表示するためのディスプレイデバイス（たとえばＣＲＴ（cathode ray tube：陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタ）と、ユーザがコンピュータに入力することを可能にするキーボードおよびポインティングデバイス（たとえばマウスまたはトラックボール）とを有するコンピュータ上で実現され得る。他の種類のデバイスを用いてユーザと対話できるようにすることもでき、たとえば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック（たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であり得るとともに、ユーザからの入力は、音響入力、スピーチ入力または触覚入力を含む任意の形態で受け付けられ得る。
【００７５】
本明細書に記載のシステムおよび技術は、バックエンドコンポーネントを（たとえばデータサーバとして）含むコンピューティングシステムにおいて実現され得るか、またはミドルウェアコンポーネント（たとえばアプリケーションサーバ）を含むコンピューティングシステムにおいて実現され得るか、またはフロントエンドコンポーネント（たとえば、ユーザが上記のシステムおよび技術の実現例と対話する際に使用可能なグラフィックユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ）を含むコンピューティングシステムにおいて実現され得るか、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信（たとえば通信ネットワーク）によって相互に接続され得る。通信ネットワークの例は、ローカルエリアネットワーク（local area network：ＬＡＮ）、ワイドエリアネットワーク（wide area network：ＷＡＮ）、（アドホックまたはスタティックメンバーを有する）ピアツーピアネットワーク、グリッドコンピューティングインフラストラクチャ、および、インターネットを含む。システムのコンポーネントはまた、仮想マシンインスタンスまたはコンテナインスタンスなどのソフトウェアインスタンスを実行するための１つ以上の仮想環境を含むコンピューティングデバイス（たとえば、クライアントまたはサーバ）であり得る。仮想環境は、実行するソフトウェアインスタンスに対して、ハードウェア、ソフトウェアおよび他のリソースの仮想表現を提供し得る。
【００７６】
コンピューティングシステムはクライアントおよびサーバを含み得る。クライアントおよびサーバは一般に互いにリモートであり、典型的には通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有するコンピュータプログラムによって発生する。いくつかの実現例においては、サーバは、通信ネットワークを介してクライアントによってアクセスされるクラウドコンピューティングシステム内のノードであってもよい。
【００７７】
いくつかの実現例を詳細に上述してきたが、他の変更例も実現可能である。加えて、図に示されている論理のフローは、望ましい結果を実現するために、図示された特定の順序または連続する順序を必要としない。他のステップが提供されてもよく、または、ステップが上述のフローから省かれてもよく、他のコンポーネントが上述のシステムに追加されてもよく、または上述のシステムから省かれてもよい。したがって、他の実現例も添付の特許請求の範囲内にある。
【図１】
2019522282.tif 000003
【図２】
2019522282.tif 000004
【図３】
2019522282.tif 000005
【図４】
2019522282.tif 000006
【図５】
2019522282.tif 000007
【図６】
2019522282.tif 000008
【手続補正書】
【提出日】平成31年2月21日(2019.2.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クラウドコンピューティングネットワークにおいてノードを設定するために１つ以上のプロセッサによって実行される、コンピュータにより実現される方法であって、
前記クラウドコンピューティングネットワークにおける特定のノードから、ネットワークを介して、設定要求を受信するステップを備え、前記設定要求は、前記特定のノードについてのノード情報を含み、
前記ノード情報に少なくとも部分的に基づいて、かつ、一連の計算を実行して一定の期間内にそれぞれの結果を提供するための、前記特定のノードによって設定コントローラから受信した命令に基づいて、前記特定のノードが設定のために認可されていることを確認するステップと、
前記特定のノードが設定のために認可されていることを確認したことに応じて、前記ノード情報に少なくとも部分的に基づいて前記特定のノード上で実行すべき設定動作を識別するステップと、
識別された１つ以上の前記設定動作に対応する設定コマンドを、前記ネットワークを介して、前記特定のノードに送信するステップとを含み、前記特定のノードは、前記設定コマンドを受信すると前記設定コマンドを実行して、前記対応する設定動作を実行する、方法。
【請求項２】
前記設定コマンドに対応する設定レポートを、前記特定のノードから前記ネットワークを介して受信するステップをさらに含み、前記設定レポートは、前記特定のノードによる前記設定コマンドの実行に関するレポート情報を含む、請求項１に記載の方法。
【請求項３】
前記設定コマンドは第１の設定コマンドであり、前記方法はさらに、
前記レポート情報に基づいて、前記特定のノードによって前記第１の設定コマンドを実行するのに成功したと判断するステップと、
前記第１の設定コマンドを実行するのに成功したと判断したことに応じて、１つ以上の付加的な設定動作に対応する第２の設定コマンドを前記ネットワークを介して前記特定のノードに送信するステップとを含み、前記１つ以上の付加的な設定動作は、識別された前記設定動作から選択されるとともに、前記第１の設定コマンドに対応する前記設定動作とは異なる、請求項２に記載の方法。
【請求項４】
前記レポート情報に基づいて、前記特定のノードによって前記設定コマンドを実行するのに成功しなかったと判断するステップと、
前記設定コマンドを実行するのに成功しなかったと判断したことに応じて、前記特定のノードを設定するのに成功しなかったことを、前記特定のノードに関連付けられた管理コンポーネントに通知するステップとをさらに含む、請求項２または３に記載の方法。
【請求項５】
前記特定のノードが設定のために認可されていることを確認するステップは、
前記ネットワークを介して、前記特定のノードに情報要求を送信するステップと、
前記ネットワークを介して、前記特定のノードから前記情報要求に対する応答を受信するステップと、
前記特定のノードから受信した前記応答が予想される応答と一致することを確認するステップとを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記情報要求は、受信したときに前記特定のノードによって実行されるべき１つ以上のコマンドを含み、前記情報要求に対する前記応答は、前記特定のノードによって前記１つ以上のコマンドを実行することによって生成される出力を含む、請求項５に記載の方法。
【請求項７】
前記特定のノードが設定のために認可されていることを確認するステップは、前記クラウドコンピューティングネットワークに関連付けられた管理コンポーネントが、前記特定のノードから受信したのと一致するノード情報を備えたノードを作成したことと、前記ノードがまだ設定されていないこととを判断するステップを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項８】
前記ノード情報は、前記特定のノードがどのように作成されたかを詳述する作成情報を含み、
前記特定のノードが設定のために認可されていることを確認するステップは、前記作成情報が前記クラウドコンピューティングネットワークに関連付けられたセキュリティポリシーに一致することを確認するステップを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項９】
前記作成情報は、前記特定のノードを作成した管理コンポーネント、前記特定のノードを作成した前記管理コンポーネントのユーザ、前記特定のノードが作成された目的であるプロジェクト、または前記特定のノードについてのノードタイプ、のうち少なくとも１つを含む、請求項８に記載の方法。
【請求項１０】
前記ノード情報は、前記特定のノードのアイデンティティを含む、請求項１〜７のいずれか１項に記載の方法。
【請求項１１】
少なくとも１つのプロセッサに以下の演算を行なわせるために実行されるときに実施可能である命令を格納した非一時的なコンピュータ読取り可能媒体であって、前記以下の演算は、
クラウドコンピューティングネットワークにおける特定のノードから、ネットワークを介して、設定要求を受信することを備え、前記設定要求は、前記特定のノードについてのノード情報を含み、
前記ノード情報に少なくとも部分的に基づいて、かつ、一連の計算を実行して一定の期間内にそれぞれの結果を提供するための、前記特定のノードによって設定コントローラから受信した命令に基づいて、前記特定のノードが設定のために認可されていることを確認することと、
前記特定のノードが設定のために認可されていることを確認したことに応じて、前記ノード情報に少なくとも部分的に基づいて前記特定のノード上で実行すべき設定動作を識別することと、
識別された１つ以上の前記設定動作に対応する設定コマンドを、前記ネットワークを介して、前記特定のノードに送信することとを含み、前記特定のノードは、前記設定コマンドを受信すると前記設定コマンドを実行して、前記対応する設定動作を実行する、非一時的なコンピュータ読取り可能媒体。
【請求項１２】
前記以下の演算はさらに、
前記設定コマンドに対応する設定レポートを、前記ネットワークを介して前記特定のノードから受信することを含み、前記設定レポートは、前記特定のノードによる前記設定コマンドの実行に関するレポート情報を含む、請求項１１に記載のコンピュータ読取り可能媒体。
【請求項１３】
前記設定コマンドは第１の設定コマンドであり、前記以下の演算はさらに、
前記レポート情報に基づいて、前記特定のノードによって前記第１の設定コマンドを実行するのに成功したと判断することと、
前記第１の設定コマンドを実行するのに成功したと判断したことに応じて、１つ以上の付加的な設定動作に対応する第２の設定コマンドを、前記ネットワークを介して前記特定のノードに送信することとを含み、前記１つ以上の付加的な設定動作は、識別された前記設定動作から選択されるとともに、前記第１の設定コマンドに対応する前記設定動作とは異なる、請求項１２に記載のコンピュータ読取り可能媒体。
【請求項１４】
前記以下の演算はさらに、
前記レポート情報に基づいて、前記特定のノードによって前記設定コマンドを実行するのに成功しなかったと判断することと、
前記設定コマンドを実行するのに成功しなかったと判断したことに応じて、前記特定のノードを設定するのに成功しなかったことを、前記特定のノードに関連付けられた管理コンポーネントに通知することとを含む、請求項１２または１３に記載のコンピュータ読取り可能媒体。
【請求項１５】
前記特定のノードが設定のために認可されていることを確認することは、
前記ネットワークを介して、前記特定のノードに情報要求を送信することと、
前記ネットワークを介して、前記特定のノードから前記情報要求に対する応答を受信することと、
前記特定のノードから受信した前記応答が予想される応答に一致することを確認することとを含む、請求項１１〜１４のいずれか１項に記載のコンピュータ読取り可能媒体。
【請求項１６】
前記情報要求は、受信したときに前記特定のノードによって実行されるべき１つ以上のコマンドを含み、前記情報要求に対する前記応答は、前記特定のノードによって前記１つ以上のコマンドを実行することによって生成される出力を含む、請求項１５に記載のコンピュータ読取り可能媒体。
【請求項１７】
前記特定のノードが設定のために認可されていることを確認することは、前記クラウドコンピューティングネットワークに関連付けられた管理コンポーネントが、前記特定のノードから受信したのと一致するノード情報を備えたノードを作成したことと、前記ノードがまだ設定されていないこととを判断することを含む、請求項１１〜１４のいずれか１項に記載のコンピュータ読取り可能媒体。
【請求項１８】
前記ノード情報は、前記特定のノードがどのように作成されたかを詳述する作成情報を含み、前記特定のノードが設定のために認可されていることを確認することは、前記作成情報が前記クラウドコンピューティングネットワークに関連付けられたセキュリティポリシーに一致していることを確認することを含む、請求項１１〜１４のいずれか１項に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記作成情報は、前記特定のノードを作成した管理コンポーネント、前記特定のノードを作成した前記管理コンポーネントのユーザ、前記特定のノードが作成された目的であるプロジェクト、または前記特定のノードについてのノードタイプ、のうち少なくとも１つを含む、請求項１８に記載のコンピュータ読取り可能媒体。
【請求項２０】
システムであって、
データを格納するためのメモリと、
以下の演算を実行するように動作可能である１つ以上のプロセッサとを備え、前記以下の演算は、
クラウドコンピューティングネットワークにおける特定のノードから、ネットワークを介して、設定要求を受信することを含み、前記設定要求は、前記特定のノードについてのノード情報を含み、
前記ノード情報に少なくとも部分的に基づいて、かつ、一連の計算を実行して一定の期間内にそれぞれの結果を提供するための、前記特定のノードによって設定コントローラから受信した命令に基づいて、前記特定のノードが設定のために認可されていることを確認することと、
前記特定のノードが設定のために認可されていることを確認したことに応じて、前記ノード情報に少なくとも部分的に基づいて前記特定のノード上で実行すべき設定動作を識別することと、
識別された１つ以上の前記設定動作に対応する設定コマンドを、前記ネットワークを介して、前記特定のノードに送信することとを含み、前記特定のノードは、前記設定コマンドを受信すると前記設定コマンドを実行して、前記対応する設定動作を実行する、システム。
【請求項２１】
コンピュータによって実行されるプログラムであって、前記プログラムは、前記コンピュータに、請求項１から１０のいずれか１項に記載の方法を実行させる、プログラム。
【国際調査報告】
2019522282.tif 000009
2019522282.tif 000010
2019522282.tif 000011