(57)【特許請求の範囲】
【請求項１】
クラウド・サービス・マーケットプレースのクラウド・サービス・アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を安全に拡張する方法であり、
マーケットプレースコンピューティングデバイスのコネクタハブによって、前記マーケットプレースコンピューティングデバイスの接続ファクトリにＡＰＩコネクタインスタンスを配置するステップであって、前記ＡＰＩコネクタインスタンスは、クラウド・サービス・プロバイダのクラウドサービスと関連した遠隔ＡＰＩと通信するために使用可能なＡＰＩコネクタのソースコードを含むステップと、
前記コネクタハブによって、プロバイダ提供チャネル証明書を前記ＡＰＩコネクタインスタンスおよび前記クラウド・サービス・プロバイダのクラウド・サービス・プロバイダ・インターフェイスに伝送するステップと、
前記コネクタハブによって、ブローカー提供チャネル証明書を前記ＡＰＩコネクタインスタンスおよびクラウド・サービス・ブローカーのクラウド・サービス・ブローカー・インターフェイスに送信するステップと、
前記コネクタハブによって、前記クラウド・サービス・プロバイダ・インターフェイスと前記クラウド・サービス・ブローカー・インターフェイスの間に提供チャネルを確立するステップと、
を含む方法であって、
前記提供チャネルを確立するステップは、（ｉ）第１の認証動作を実行するために前記プロバイダ提供チャネル証明書を用いた前記ＡＰＩコネクタインスタンスと前記クラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、および（ｉｉ）第２の認証動作を実行するために前記ブローカー提供チャネル証明書を用いた前記ＡＰＩコネクタインスタンスと前記クラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネルを確立し、
前記コネクタハブによって、前記クラウド・サービス・プロバイダに対応する前記プロバイダ提供チャネル証明書を生成するステップと、
前記コネクタハブによって、前記クラウド・サービス・ブローカーに対応する前記ブローカー提供チャネル証明書を生成するステップと、
前記コネクタハブによって、ＡＰＩコネクタ提供通知書を前記マーケットプレースコンピューティングデバイスのクラウド・サービス・ブローカー・マーケットプレースから受信するステップを含み、前記クラウド・サービス・ブローカーのための前記ブローカー提供チャネル証明書を生成するステップは、前記ＡＰＩコネクタ提供通知書を受信したことに応答して前記ブローカー提供チャネル証明書を生成することを含む方法。
【請求項２】
前記コネクタハブによって、前記クラウド・サービス・プロバイダの新規なクラウドサービスが前記クラウド・サービス・ブローカー・マーケットプレースにおいて利用可能となったという表示を前記クラウド・サービス・プロバイダから受信するステップを更に含み、前記プロバイダ提供チャネル証明書を生成するステップは、前記表示を受信したことに応答して前記プロバイダ提供チャネル証明書を生成することを含む請求項１に記載の方法。
【請求項３】
実行されることに応答してマーケットプレースコンピューティングデバイスのコネクタハブに、
ＡＰＩコネクタインスタンスを前記クラウド・サービス・プロバイダのクラウドサービスと関連した遠隔ＡＰＩと通信するために使用可能なＡＰＩコネクタのソースコードを含むＡＰＩコネクタインスタンスを前記マーケットプレースコンピューティングデバイスの接続ファクトリに配置させ、
プロバイダ提供チャネル証明書を前記ＡＰＩコネクタインスタンスおよび前記クラウド・サービス・プロバイダのクラウド・サービス・プロバイダ・インターフェイスに伝送させ、
ブローカー提供チャネル証明書を前記ＡＰＩコネクタインスタンスおよび前記クラウド・サービス・ブローカーのクラウド・サービス・ブローカー・インターフェイスに伝送させ、そして、
前記クラウド・サービス・プロバイダ・インターフェイスと前記クラウド・サービス・ブローカー・インターフェイスの間に提供チャネルを確立させる、複数の命令を格納する一つ以上のコンピュータ可読記憶媒体であって、
前記提供チャネルを確立することは、（ｉ）第１の認証動作を実行するために前記プロバイダ提供チャネル証明書を用いた前記ＡＰＩコネクタインスタンスと前記クラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、および（ｉｉ）第２の認証動作を実行するために前記ブローカー提供チャネル証明書を用いた前記ＡＰＩコネクタインスタンスと前記クラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネルを確立し、
前記複数の命令は、更に、前記コネクタハブに、前記クラウド・サービス・プロバイダに対応する前記プロバイダ提供チャネル証明書を生成させて、前記クラウド・サービス・ブローカーに対応する前記ブローカー提供チャネル証明書を生成させ、
前記複数の命令は、更に、前記コネクタハブに、前記マーケットプレースコンピューティングデバイスのクラウド・サービス・ブローカー・マーケットプレースからＡＰＩコネクタ提供通知書を受信させて、前記クラウド・サービス・ブローカーのための前記ブローカー提供チャネル証明書を生成することは、前記ＡＰＩコネクタ提供通知書を受信したことに応答して前記ブローカー提供チャネル証明書を生成することを含む一つ以上のコンピュータ可読記憶媒体。
【請求項４】
前記複数の命令は、更に、前記コネクタハブに、前記クラウド・サービス・プロバイダの新規なクラウドサービスが前記クラウド・サービス・ブローカー・マーケットプレースにおいて利用可能となったという表示を前記クラウド・サービス・プロバイダから受信させて、前記プロバイダ提供チャネル証明書を生成することは、前記表示を受信したことに応答して前記プロバイダ提供チャネル証明書を生成することを含む請求項３に記載の一つ以上のコンピュータ可読記憶媒体。
【請求項５】
クラウド・サービス・マーケットプレースのクラウド・サービス・アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を安全に拡張するためのマーケットプレースコンピューティングデバイスのコネクタハブにおいて、前記クラウド・サービス・マーケットプレースは、マーケットプレースコンピューティングデバイスを含み、前記マーケットプレースコンピューティングデバイスは、
一つ以上のプロセッサと、
前記一つ以上のプロセッサによって実行されるときに前記マーケットプレースコンピューティングデバイスのコネクタハブに、
ＡＰＩコネクタインスタンスをクラウド・サービス・プロバイダのクラウドサービスと関連した遠隔ＡＰＩと通信するために使用可能なＡＰＩコネクタのソースコードを含むＡＰＩコネクタインスタンスを前記マーケットプレースコンピューティングデバイスの接続ファクトリに配置させ、
プロバイダ提供チャネル証明書を前記ＡＰＩコネクタインスタンスおよび前記クラウド・サービス・プロバイダのクラウド・サービス・プロバイダ・インターフェイスに伝送させ、
ブローカー提供チャネル証明書を前記ＡＰＩコネクタインスタンスおよびクラウド・サービス・ブローカーのクラウド・サービス・ブローカー・インターフェイスに伝送させ、そして、
前記クラウド・サービス・プロバイダ・インターフェイスと前記クラウド・サービス・ブローカー・インターフェイスの間に提供チャネルを確立させる複数の命令を格納するメモリと、
を備えるコネクタハブであって、
前記提供チャネルを確立することは、（ｉ）第１の認証動作を実行するために前記プロバイダ提供チャネル証明書を用いた前記ＡＰＩコネクタインスタンスと前記クラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、および（ｉｉ）第２の認証動作を実行するために前記ブローカー提供チャネル証明書を用いた前記ＡＰＩコネクタインスタンスと前記クラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネルを確立し、
前記一つ以上のプロセッサは、
前記クラウド・サービス・プロバイダに対応する前記プロバイダ提供チャネル証明書を生成し、そして、
前記クラウド・サービス・ブローカーに対応する前記ブローカー提供チャネル証明書を生成するために前記複数の命令を実行するように更に構成され、
前記一つ以上のプロセッサは、ＡＰＩコネクタ提供通知書を前記マーケットプレースコンピューティングデバイスのクラウド・サービス・ブローカー・マーケットプレースから受信するために前記複数の命令を実行するように更に構成されて、前記クラウド・サービス・ブローカーのための前記ブローカー提供チャネル証明書を生成することは、前記ＡＰＩコネクタ提供通知書を受信したことに応答して前記ブローカー提供チャネル証明書を生成することを含むコネクタハブ。
【請求項６】
前記一つ以上のプロセッサは、前記クラウド・サービス・プロバイダの新規なクラウドサービスが前記クラウド・サービス・ブローカー・マーケットプレースにおいて利用可能となったという表示を前記クラウド・サービス・プロバイダから受信するために前記複数の命令を実行するように更に構成されて、前記プロバイダ提供チャネル証明書を生成することは、前記表示を受信したことに応答して前記プロバイダ提供チャネル証明書を生成することを含む請求項５に記載のコネクタハブ。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１６年１２月２９日に出願された米国特許出願第１５／３９３，３５４号の国際特許出願であり、これにより、それのテキストおよび図面の内容全体を本願明細書に引用したものとする。
【０００２】
本開示の実施形態は、一般にクラウド・サービス・マーケットプレース、より詳細には、クラウド・サービス・マーケットプレースにおいてクラウド・サービス・アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を拡張する技術に関する。
【背景技術】
【０００３】
独立ソフトウェアベンダー（ＩＳＶ）は、一つ以上のコンピュータハードウェアまたはオペレーティング・システム・プラットフォーム上で動作するように典型的に設計されるソフトウェアアプリケーションを開発して、販売する。この種のソフトウェアアプリケーションは、基本ユーティリティまたは生産性向上アプリケーションから企業用のビジネス・プロセス・アプリケーションにわたる（例えば、顧客関係管理（ＣＲＭ）、企業資源計画（ＥＲＰ）、オートメーションツールなど）。クラウドコンピューティングが、より普及するにつれて、ソフトウェアを引き渡すそのような方法は、サービスとしてのソフトウェア（ＳａａＳ）ベースのモデルを使用してクラウドにより行われてきた。この引渡し方法を使用して、ＩＳＶは、それらのソフトウェアアプリケーション、またはそれらのソフトウェアアプリケーションに対する予約をパブリッククラウドまたはクラウドマーケットプレースを通して販売できる。
【０００４】
クラウドマーケットプレースは、クラウドベースのサービスおよびソフトウェアアプリケーションへの顧客アクセスを可能にするオンライン店頭を提供する。クラウドマーケットプレースのこの種の実施例は、AmazonのAmazon Web Services（登録商標）（ＡＷＳ）マーケットプレース、MicrosoftのAzure（登録商標）マーケットプレース、Oracleのマーケットプレース、SalesforceのAppExchange（登録商標）、および Ingram Microのクラウドマーケットプレースを含む。クラウドマーケットプレースを介してアクセス可能になる特定のＳａａＳベースの購読サービスは、ＩＳＶとクラウドマーケットプレースまたはクラウドマーケットプレースと関連した他の購読管理ツールの間に位置するＩＳＶにより提供されるアプリケーション・プログラミング・インターフェイス（ＡＰＩ）を介して予約および／または使用できる。この種の構成において、クラウド・サービス・ブローカーは、各クラウドサービスのためのプラグインまたはＡＰＩコネクタを用いて、ＩＳＶとエンドユーザ、再販業者、小売業者などの間の処理を容易にするために用いることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のクラウド・サービス・ブローカーの実施態様において、各クラウド・サービス・ブローカーは、通常は、クラウドサービスごとに各ＩＳＶとの契約を有する。しかしながら、この種の実施態様は、サポートすることができる契約の最大数により制限される（すなわち、クラウドサービスの数かけるクラウド・サービス・ブローカーの数により制限される）。他の既存のクラウド・サービス・ブローカーの実施態様は、クラウド・サービス・プロバイダおよびクラウド・サービス・ブローカーの各々との契約を有する中心実体に依存する。しかしながら、この種の実施態様で、サポートすることができる契約の最大数は、クラウドサービスの数とクラウド・サービス・ブローカーの数の合計により制限される。更に、この種の実施態様で、１セットの証明書だけが、クラウドサービスＡＰＩごとに存在し、証明書は、クラウドサービスにアクセスできるようにクラウド・サービス・ブローカーに分散される。したがって、同じ証明書は、いろいろなクラウド・サービス・ブローカーに分散することができて、それは結果として、１人のクラウド・サービス・ブローカーが、他のクラウド・サービス・ブローカーのＡＰＩコネクタにアクセスすることがありえる。したがって、クラウド・サービス・マーケットプレースにクラウドサービスＡＰＩを安全に拡張する必要がある。
【課題を解決するための手段】
【０００６】
一つの態様において、クラウド・サービス・マーケットプレースでクラウド・サービス・アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を安全に拡張する方法は、マーケットプレースコンピューティングデバイスのコネクタハブによって、マーケットプレースコンピューティングデバイスの接続ファクトリにＡＰＩコネクタインスタンスを配置するステップであって、ＡＰＩコネクタインスタンスは、クラウド・サービス・プロバイダのクラウドサービスと関連した遠隔ＡＰＩと通信するために使用可能なＡＰＩコネクタのソースコードを含むステップと、コネクタハブによって、プロバイダ提供チャネル証明書をＡＰＩコネクタインスタンスおよびクラウド・サービス・プロバイダのクラウド・サービス・プロバイダ・インターフェイスに伝送するステップと、コネクタハブによって、ブローカー提供チャネル証明書をＡＰＩコネクタインスタンスおよびクラウド・サービス・ブローカーのクラウド・サービス・ブローカー・インターフェイスに伝送するステップと、コネクタハブによって、クラウド・サービス・プロバイダ・インターフェイスとクラウド・サービス・ブローカー・インターフェイスの間に提供チャネルを確立するステップとを含み、提供チャネルを確立するステップは、（ｉ）第１の認証動作を実行するためにプロバイダ提供チャネル証明書を用いたＡＰＩコネクタインスタンスとクラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、および（ｉｉ）第２の認証動作を実行するためにブローカー提供チャネル証明書を用いたＡＰＩコネクタインスタンスとクラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネルを確立することを含む。
【０００７】
いくつかの実施形態において、方法は、コネクタハブによって、プロキシ提供チャネル証明書を生成するステップと、コネクタハブによって、認証プロキシインスタンスを接続ファクトリに配置するステップと、コネクタハブによって、プロキシ提供チャネル証明書をＡＰＩコネクタインスタンスおよび認証プロキシインスタンスに伝送するステップとを更に含む。他の実施形態において、クラウド・サービス・プロバイダ・インターフェイスとクラウド・サービス・ブローカー・インターフェイスの間に提供チャネルを確立するステップは、（ｉ）第１の認証動作を実行するためにプロバイダ提供チャネル証明書を用いることによるＡＰＩコネクタインスタンスとクラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、（ｉｉ）第２の認証動作を実行するためにブローカー提供チャネル証明書を用いることによる認証プロキシインスタンスとクラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネル、および（ｉｉｉ）第３の認証動作を実行するためにプロキシ提供チャネル証明書を用いることによるＡＰＩコネクタインスタンスと認証プロキシインスタンスの間の第３の通信チャネルを確立することを含む。
【０００８】
他の実施形態において、第２の通信チャネルを認証プロキシインスタンスとクラウド・サービス・ブローカー・インターフェイスの間に確立するステップは、認証プロキシインスタンスのアドレスをクラウド・サービス・ブローカー・インターフェイスに伝送することを含み、アドレスは、認証プロキシインスタンスとの通信を開始するためにクラウド・サービス・ブローカー・インターフェイスによって使用可能である。
【０００９】
更に他の実施形態において、方法は、コネクタハブによって、クラウド・サービス・プロバイダに対応するプロバイダ提供チャネル証明書を生成するステップと、コネクタハブによって、クラウド・サービス・ブローカーに対応するブローカー提供チャネル証明書を生成するステップとを含む。更に他の実施形態において、方法は、コネクタハブによって、ＡＰＩコネクタ提供通知書をマーケットプレースコンピューティングデバイスのクラウド・サービス・ブローカー・マーケットプレースから受信するステップを更に含み、クラウド・サービス・ブローカーのためのブローカー提供チャネル証明書を生成するステップは、ＡＰＩコネクタ提供通知書を受信したことに応答してブローカー提供チャネル証明書を生成することを含む。
【００１０】
いくつかの実施形態において、方法は、コネクタハブによって、クラウド・サービス・プロバイダの新規なクラウドサービスがクラウド・サービス・ブローカー・マーケットプレースにおいて、利用可能となったという表示をクラウド・サービス・プロバイダから受信するステップを含み、プロバイダ提供チャネル証明書を生成するステップは、表示を受信したことに応答してプロバイダ提供チャネル証明書を生成することを含む。他の実施形態において、方法は、コネクタハブによって、プロバイダ提供チャネル証明書をコネクタハブの証明書データベースに格納するステップと、コネクタハブによって、プロバイダ提供チャネル証明書を証明書データベースのクラウド・サービス・プロバイダと関連づけるステップと、コネクタハブによって、ブローカー提供チャネル証明書を証明書データベースに格納するステップと、コネクタハブによって、ブローカー提供チャネル証明書をクラウド・サービス・ブローカーと関連づけるステップとを含む。さらに、他の実施形態において、第２の通信チャネルをＡＰＩコネクタインスタンスとクラウド・サービス・ブローカー・インターフェイスの間に確立するステップは、ＡＰＩコネクタインスタンスのアドレスをクラウド・サービス・ブローカー・インターフェイスに伝送することを含み、アドレスは、認証プロキシインスタンスとの通信を開始するためにクラウド・サービス・ブローカー・インターフェイスによって使用可能である。
【００１１】
別の態様において、一つ以上のコンピュータ可読記憶媒体は、実行されることに応答してマーケットプレースコンピューティングデバイスのコネクタハブに、クラウド・サービス・プロバイダのクラウドサービスと関連した遠隔ＡＰＩと通信するために使用可能なＡＰＩコネクタのソースコードを含むＡＰＩコネクタインスタンスをマーケットプレースコンピューティングデバイスの接続ファクトリに配置させ、プロバイダ提供チャネル証明書をＡＰＩコネクタインスタンスおよびクラウド・サービス・プロバイダのクラウド・サービス・プロバイダ・インターフェイスに伝送させ、ブローカー提供チャネル証明書をＡＰＩコネクタインスタンスおよびクラウド・サービス・ブローカーのクラウド・サービス・ブローカー・インターフェイスに伝送させて、クラウド・サービス・プロバイダ・インターフェイスとクラウド・サービス・ブローカー・インターフェイスの間に提供チャネルを確立させる複数の命令を格納し、提供チャネルを確立することは、（ｉ）第１の認証動作を実行するためにプロバイダ提供チャネル証明書を用いたＡＰＩコネクタインスタンスとクラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、および（ｉｉ）第２の認証動作を実行するためにブローカー提供チャネル証明書を用いたＡＰＩコネクタインスタンスとクラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネルを確立することを含む。
【００１２】
いくつかの実施形態において一つ以上のコンピュータ可読記憶媒体では、複数の命令は、更に、コネクタハブに、プロキシ提供チャネル証明書を生成させ、認証プロキシインスタンスを接続ファクトリに配置させ、そして、プロキシ提供チャネル証明書をＡＰＩコネクタインスタンスおよび認証プロキシインスタンスに伝送させて、提供チャネルをクラウド・サービス・プロバイダ・インターフェイスとクラウド・サービス・ブローカー・インターフェイスの間に確立することは、（ｉ）第１の認証動作を実行するためにプロバイダ提供チャネル証明書を用いることによるＡＰＩコネクタインスタンスとクラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、（ｉｉ）第２の認証動作を実行するためにブローカー提供チャネル証明書を用いることによる認証プロキシインスタンスとクラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネル、および（ｉｉｉ）第３の認証動作を実行するためにプロキシ提供チャネル証明書を用いることによるＡＰＩコネクタインスタンスと認証プロキシインスタンスの間の第３の通信チャネルを確立する。
【００１３】
他の実施形態において、第２の通信チャネルを認証プロキシインスタンスとクラウド・サービス・ブローカー・インターフェイスの間に確立することは、認証プロキシインスタンスのアドレスをクラウド・サービス・ブローカー・インターフェイスに伝送することを含み、アドレスは、認証プロキシインスタンスとの通信を開始するためにクラウド・サービス・ブローカー・インターフェイスによって使用可能である。
【００１４】
更に他の実施形態において、複数の命令は、更に、コネクタハブに、クラウド・サービス・プロバイダに対応するプロバイダ提供チャネル証明書を生成させて、クラウド・サービス・ブローカーに対応するブローカー提供チャネル証明書を生成させる。加えて、いくつかの実施形態において、複数の命令は、更に、コネクタハブに、マーケットプレースコンピューティングデバイスのクラウド・サービス・ブローカー・マーケットプレースからＡＰＩコネクタ提供通知書を受信させて、クラウド・サービス・ブローカーのためのブローカー提供チャネル証明書を生成することは、ＡＰＩコネクタ提供通知書を受信したことに応答してブローカー提供チャネル証明書を生成することを含む。追加的にまたは代替的に、他の実施形態において、複数の命令は、更に、コネクタハブに、クラウド・サービス・プロバイダの新規なクラウドサービスがクラウド・サービス・ブローカー・マーケットプレースにおいて利用可能となったという表示をクラウド・サービス・プロバイダから受信させて、プロバイダ提供チャネル証明書を生成することは、表示を受信したことに応答してプロバイダ提供チャネル証明書を生成することを含む。
【００１５】
いくつかの実施形態において、複数の命令は、更に、コネクタハブに、プロバイダ提供チャネル証明書をコネクタハブの証明書データベースに格納させ、プロバイダ提供チャネル証明書を証明書データベースのクラウド・サービス・プロバイダと関連づけさせ、ブローカー提供チャネル証明書を証明書データベースに格納させ、そして、ブローカー提供チャネル証明書をクラウド・サービス・ブローカーと関連づけさせる。他の実施形態において、第２の通信チャネルをＡＰＩコネクタインスタンスとクラウド・サービス・ブローカー・インターフェイスの間に確立することは、ＡＰＩコネクタインスタンスのアドレスをクラウド・サービス・ブローカー・インターフェイスに伝送することを含み、アドレスは、認証プロキシインスタンスとの通信を開始するためにクラウド・サービス・ブローカー・インターフェイスによって使用可能である。
【００１６】
更に別の態様において、クラウド・サービス・マーケットプレースのクラウド・サービス・アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を安全に拡張するためのマーケットプレースコンピューティングデバイスのコネクタハブが開示され、クラウド・サービス・マーケットプレースは、マーケットプレースコンピューティングデバイスを含み、マーケットプレースコンピューティングデバイスは、ＣＰＵと、プロセッサにより実行されるときにマーケットプレースコンピューティングデバイスのコネクタハブに、クラウド・サービス・プロバイダのクラウドサービスと関連した遠隔ＡＰＩと通信するために使用可能なＡＰＩコネクタのソースコードを含むＡＰＩコネクタインスタンスをマーケットプレースコンピューティングデバイスの接続ファクトリに配置させ、プロバイダ提供チャネル証明書をＡＰＩコネクタインスタンスおよびクラウド・サービス・プロバイダのクラウド・サービス・プロバイダ・インターフェイスに伝送させ、ブローカー提供チャネル証明書をＡＰＩコネクタインスタンスおよびクラウド・サービス・ブローカーのクラウド・サービス・ブローカー・インターフェイスに伝送させて、クラウド・サービス・プロバイダ・インターフェイスとクラウド・サービス・ブローカー・インターフェイスの間に提供チャネルを確立させる複数の命令を格納するメモリとを備え、提供チャネルを確立することは、（ｉ）第１の認証動作を実行するためにプロバイダ提供チャネル証明書を用いたＡＰＩコネクタインスタンスとクラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、および（ｉｉ）第２の認証動作を実行するためにブローカー提供チャネル証明書を用いたＡＰＩコネクタインスタンスとクラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネルを確立することを含む。
【００１７】
いくつかの実施形態において、一つ以上のプロセッサは、プロキシ提供チャネル証明書を生成し、認証プロキシインスタンスを接続ファクトリに配置し、そして、プロキシ提供チャネル証明書をＡＰＩコネクタインスタンスおよび認証プロキシインスタンスに伝送するために命令を実行するように更に構成されて、提供チャネルをクラウド・サービス・プロバイダ・インターフェイスとクラウド・サービス・ブローカー・インターフェイスの間に確立することは、（ｉ）第１の認証動作を実行するためにプロバイダ提供チャネル証明書を用いることによるＡＰＩコネクタインスタンスとクラウド・サービス・プロバイダ・インターフェイスの間の第１の通信チャネル、（ｉｉ）第２の認証動作を実行するためにブローカー提供チャネル証明書を用いることによる認証プロキシインスタンスとクラウド・サービス・ブローカー・インターフェイスの間の第２の通信チャネル、および（ｉｉｉ）第３の認証動作を実行するためにプロキシ提供チャネル証明書を用いることによるＡＰＩコネクタインスタンスと認証プロキシインスタンスの間の第３の通信チャネルを確立することを含む。
【００１８】
他の実施形態において、第２の通信チャネルを認証プロキシインスタンスとクラウド・サービス・ブローカー・インターフェイスの間に確立することは、認証プロキシインスタンスのアドレスをクラウド・サービス・ブローカー・インターフェイスに伝送することを含み、アドレスは、認証プロキシインスタンスとの通信を開始するためにクラウド・サービス・ブローカー・インターフェイスによって使用可能である。更に他の実施形態において、一つ以上のプロセッサは、クラウド・サービス・プロバイダに対応するプロバイダ提供チャネル証明書を生成して、クラウド・サービス・ブローカーに対応するブローカー提供チャネル証明書を生成するために命令を実行するように更に構成される。いくつかの実施形態において、一つ以上のプロセッサは、ＡＰＩコネクタ提供通知書をマーケットプレースコンピューティングデバイスのクラウド・サービス・ブローカー・マーケットプレースから受信するために命令を実行するように更に構成されて、クラウド・サービス・ブローカーのためのブローカー提供チャネル証明書を生成することは、ＡＰＩコネクタ提供通知書を受信したことに応答してブローカー提供チャネル証明書を生成することを含む。
【００１９】
他の実施形態において、一つ以上のプロセッサは、クラウド・サービス・プロバイダの新規なクラウドサービスがクラウド・サービス・ブローカー・マーケットプレースにおいて利用可能となったという表示をクラウド・サービス・プロバイダから受信するために命令を実行するように更に構成されて、プロバイダ提供チャネル証明書を生成することは、表示を受信したことに応答してプロバイダ提供チャネル証明書を生成することを含む。更に他の実施形態において、一つ以上のプロセッサは、プロバイダ提供チャネル証明書をコネクタハブの証明書データベースに格納し、プロバイダ提供チャネル証明書を証明書データベースのクラウド・サービス・プロバイダと関連づけ、ブローカー提供チャネル証明書を証明書データベースに格納して、ブローカー提供チャネル証明書をクラウド・サービス・ブローカーと関連づけるために命令を実行するように更に構成される。更にまた他の実施形態において、第２の通信チャネルをＡＰＩコネクタインスタンスとクラウド・サービス・ブローカー・インターフェイスの間に確立することは、ＡＰＩコネクタインスタンスのアドレスをクラウド・サービス・ブローカー・インターフェイスに伝送することを含み、アドレスは、認証プロキシインスタンスとの通信を開始するためにクラウド・サービス・ブローカー・インターフェイスによって使用可能である。
【００２０】
本願明細書に含まれる実施形態と他の特徴、利点、および開示、ならびにそれらを達成する方法は、明らかになり、そして、本開示は、添付の図面に関連してとられる本開示のさまざまな例示的な実施形態の以下の説明を参照することによってよりよく理解される。
【図面の簡単な説明】
【００２１】
【図１】ブローカーコンピューティングデバイスおよびサービスプロバイダコンピューティングデバイスを含み、それぞれがマーケットプレースコンピューティングデバイスに通信で接続するクラウド・サービス・アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を安全に拡張するクラウド・サービス・マーケットプレース・システムの例示的な実施形態のブロック図を示す。
【図２】図１のクラウド・サービス・マーケットプレース・システムのクラウド・サービス・ブローカーとクラウド・サービス・プロバイダの間に確立された複数の提供チャネルのブロック図を示す。
【図３】図１のマーケットプレースコンピューティングデバイスのクラウド・サービス・ブローカー・マーケットプレースのコンピューティングデバイスの一つの例示的な実施形態のブロック図を示す。
【図４】クラウド・サービス・マーケットプレース・システムのマーケットプレースコンピューティングデバイスのコネクタハブによって実行できる新規なクラウドサービスを図１のクラウド・サービス・マーケットプレース・システムに加える例示的な方法の略フロー図を示す。
【図５】マーケットプレースコンピューティングデバイスのコネクタハブによって実行できる特定のクラウド・サービス・ブローカーのための図１のクラウド・サービス・プロバイダとマーケットプレースコンピューティングデバイスの間に提供チャネルを確立する例示的な方法の略フロー図を示す。
【図６】マーケットプレースコンピューティングデバイスのコネクタハブによって実行できる特定のクラウド・サービス・ブローカーのための図１のクラウド・サービス・プロバイダとマーケットプレースコンピューティングデバイスの間に提供チャネルを確立する別の例示的な方法の略フロー図を示す。
【図７】図１のブローカーコンピューティングデバイスの監視エージェントによって実行できる新規なサービスを再販するための図１のクラウド・サービス・ブローカーを構成する例示的な方法の略フロー図を示す。
【発明を実施するための形態】
【００２２】
本開示の原理の理解を促進するために、図面に示す実施形態に対する参照が、ここでなされて、特定の言語が、それを説明するために用いられる。それでも、本開示の範囲の限定がそれにより意図されないと理解される。
【００２３】
図１は、クラウド・サービス・アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を安全に拡張するクラウド・サービス・マーケットプレース・システム１００を示す。クラウド・サービス・マーケットプレース・システム１００は、サービス・プロバイダ・コンピューティングデバイス１１８およびブローカーコンピューティングデバイス１２４を含み、それらの各々は、マーケットプレースコンピューティングデバイス１０２に（例えば、ネットワーク１３２を介して）通信で接続する。例示的なマーケットプレースコンピューティングデバイス１０２は、クラウド・サービス・ブローカーが特定のクラウドサービス用のライセンスをエンドユーザ（例えば、顧客、ブローカー、再販業者など）にそれらのクラウド・サービス・ブローカー・インターフェイス１２６を介して販売できるように、サービスプロバイダコンピューティングデバイス１１８のクラウド・サービス・プロバイダ・インターフェイス１２０とブローカーコンピューティングデバイス１２４のクラウド・サービス・ブローカー・インターフェイス１２６の間に提供チャネル（例えば、提供チャネル１４０参照）を確立するように構成されるコネクタハブ１０６を含む。
【００２４】
そうするために、下記に詳述するように、コネクタハブ１０６は、クラウド・サービス・プロバイダから以前に受信したクラウドサービスに対応するＡＰＩコネクタのインスタンス（例えば、図１のコネクタファクトリ１１２のＡＰＩコネクタインスタンス１１６参照）を複製し、提供チャネル証明書を生成して、生成された提供チャネル証明書を用いたＡＰＩコネクタインスタンスによってクラウド・サービス・プロバイダ・インターフェイス１２０とクラウド・サービス・ブローカー・インターフェイス１２６の間に提供チャネル（例えば、図１の提供チャネル１４０参照）の確立を組織化するように構成される。提供チャネル証明書は、提供チャネル証明書を使用して２つの実体の間に安全な通信チャネルを認証するために使用可能であるいかなるタイプの情報（例えば、暗号キーまたは他の任意のデータ）でもありえることを理解すべきである。
【００２５】
提供チャネル１４０が確立された後に、クラウド・サービス・ブローカーは、そのクラウドサービス用のライセンスをクラウド・サービス・ブローカー・インターフェイス１２６を介してエンドユーザに再販できる。したがって、ＡＰＩコネクタ、それ故に各クラウド・サービス・ブローカーの証明書がクラウド・サービス・ブローカーにより管理される現在の技術とは異なり、例示的なマーケットプレースコンピューティングデバイス１０２は、クラウド・サービス・ブローカーおよび／またはクラウド・サービス・プロバイダの間の証明書（すなわち、特定のクラウド・サービス・ブローカーまたは特定のクラウドサービスに特有の証明書）の公開を無くすことによってクラウドサービスＡＰＩを安全に拡張するように構成される。
【００２６】
例示的な実施例において、クラウド・サービス・プロバイダ（例えば、独立ソフトウェアベンダー（ＩＳＶ）は、クラウド・サービス・マーケットプレースの制御実体と契約して、エンドユーザへのライセンスの販売を容易にする。ライセンスは、それから、そのエンドユーザまたはそれと関連する他のエンドユーザのクラウド・サービス・プロバイダのクラウドサービス（例えば、クラウドベースのサービスとしてのソフトウェア（ＳａａＳ）アプリケーション）への特定のアクセスを可能にすることができる。例示的なクラウド・サービス・マーケットプレース・システム１００において、マーケットプレースコンピューティングデバイス１０２は、クラウド・サービス・プロバイダとクラウド・サービス・ブローカーの間のさまざまなクラウドサービスへのライセンスを管理するように構成される。
【００２７】
使用中、クラウド・サービス・プロバイダは、ＡＰＩ（例えば、図１のＡＰＩ１２２参照）およびそれらのクラウドサービスの各々ためのＡＰＩコネクタを開発して、クラウドサービス（例えば、クラウド・サービス・アドレス、初期設定、価格情報、販売テンプレート、クラウドサービスの識別子など）のＡＰＩコネクタおよび他の情報をマーケットプレースコンピューティングデバイス１０２のコネクタハブ１０６に引き渡す。いくつかの実施形態において、ＡＰＩコネクタは、そのＡＰＩコネクタの複製されたインスタンス（例えば、図１のコネクタファクトリ１１２のＡＰＩコネクタインスタンス１１６参照）を作成するために使用可能なソースコードの形でありえる。各ＡＰＩ１２２は、クラウドサービスからコマンドを（例えば、サービスプロバイダコンピューティングデバイス１１８のクラウド・サービス・プロバイダ・インターフェイス１２０を介して）受信して、受信したコマンドをＡＰＩが接続されるＡＰＩコネクタインスタンス１１６に伝送するように構成される。その逆も同じである。加えて、各ＡＰＩコネクタインスタンス１１６は、コマンドをそれが通信で接続する対応するＡＰＩ１２２に対して送受信するように構成される。
【００２８】
例示的な実施例の推進において、クラウド・サービス・ブローカー（すなわち、ディストリビュータ、再販業者など）は、クラウド・サービス・ブローカー・マーケットプレース１０４において提供される特定のクラウドサービスに対するライセンスを販売／分散するためにアクセスを許可するために、クラウド・サービス・ブローカー・マーケットプレース（例えば、クラウド・サービス・ブローカー・マーケットプレース１０４参照）の制御実体と契約する。換言すれば、クラウド・サービス・ブローカーは、そのサービスブローカーが提供する許可を与えられたクラウドサービスの各々を含むクラウド・サービス・ポートフォリオをエンドユーザに提供し、それによって、その間にセキュリティの層を加えることによってクラウド・サービス・マーケットプレースと潜在エンドユーザの間の仲介者として役立つ。
【００２９】
利用できるクラウドサービスをクラウド・サービス・ブローカーに提供するために、クラウド・サービス・ブローカー・マーケットプレース１０４は、クラウド・サービス・ブローカーが販売の申し出をしたいクラウドサービスを調べて選択するために使用可能なインターフェイスを提供する。クラウド・サービス・ブローカー・マーケットプレース１０４は、それぞれのクラウド・サービス・プロバイダが対応するＡＰＩコネクタをコネクタハブ１０６に以前に提供したそれらのクラウドサービスを示すことができるだけであることを理解すべきである。したがって、各クラウド・サービス・ブローカーは、それから、クラウド・サービス・ブローカー・マーケットプレース１０４にアクセスすることによって利用できるクラウドサービスをそれらのクラウド・サービス・ポートフォリオに加えることができる。いくつかの実施形態において、クラウド・サービス・ブローカーは、ブローカーコンピューティングデバイス１２４、またはより詳しくは、ブローカーコンピューティングデバイス１２４のクラウド・サービス・ブローカー・インターフェイス１２６を介してクラウド・サービス・ブローカー・マーケットプレース１０４にアクセスすることができる。他の実施形態において、クラウド・サービス・ブローカーは、クラウド・サービス・ブローカー・マーケットプレース１０４に通信で接続するエンドポイントコンピューティングデバイス１４４を介して、クラウド・サービス・ブローカー・マーケットプレース１０４にアクセスすることができる。
【００３０】
上記のように、コネクタハブ１０６は、クラウド・サービス・ブローカー・インターフェイス１２６とクラウド・サービス・プロバイダ・インターフェイス１２０の間に提供チャネル１４０を確立するように構成される。そうするために、下記に詳述するように、コネクタハブ１０６は、ＡＰＩコネクタインスタンス１１６（すなわち、クラウド・サービス・プロバイダから受信されるＡＰＩコネクタの複製されたインスタンス）をコネクタファクトリ１１２に配置する。コネクタハブ１０６は、加えて、コネクタハブ１０６によって生成する提供チャネル証明書を用いてクラウド・サービス・プロバイダ・インターフェイス１２０（例えば、通信チャネル１３４参照）とＡＰＩコネクタインスタンス１１６の間に、そして、ＡＰＩコネクタインスタンス１１６とクラウド・サービス・ブローカー・インターフェイス１２６（例えば、通信チャネル１３８参照）の間に一連の安全な通信チャネルの確立を組織化する。
【００３１】
いくつかの実施形態において、ＡＰＩコネクタインスタンス１１６が配置されるときに、コネクタハブ１０６は、認証プロキシ１１４のインスタンス（例えば、図１のコネクタファクトリ１１２のＡＰＩコネクタインスタンス１１６参照）を配置するように加えて構成される。このような実施形態において、認証プロキシインスタンス１１４は、クラウド・サービス・ブローカー・インターフェイス１２６とＡＰＩコネクタインスタンス１１６の間のコネクタファクトリ１１２に（すなわち、通信チャネル１３８に）配置できる。加えて、このような実施形態において、コネクタハブ１０６は、認証プロキシ１１４とＡＰＩコネクタインスタンス１１６の間の安全な通信チャネル（例えば、通信チャネル１３６参照）の確立を組織化するように更に構成されることができる。例えば、提供チャネル証明書を使用して確立することができる。したがって、このような実施形態において、認証プロキシ１１４は、セキュリティの追加の層として作用する。加えて、ＡＰＩコネクタインスタンス１１６が、変化した場合であっても、認証プロキシ１１４は、クラウド・サービス・ブローカー・インターフェイス１２６との確立した接続を維持できる。安全な通信チャネル１３４、１３６、および１３８の一つ以上が、当業者に知られている技術を使用して安全にすることができることを理解すべきである。
【００３２】
いくつかの実施形態において、コネクタハブ１０６は、そのクラウド・サービス・ブローカー・インターフェイス１２６と関連した複製されたＡＰＩコネクタインスタンス１１６が配置されるたびに、監視エージェント（例えば、監視エージェント１２８参照）にクラウド・サービス・ブローカー・インターフェイス１２６を通知するように加えて構成されることができる。したがって、そのクラウドサービスのための提供チャネル１４０を確立すると、クラウド・サービス・ブローカーと関連したエンドユーザは、そのクラウドサービスのためのクラウド・サービス・ブローカーから（例えば、クラウド・サービス・ブローカー・インターフェイス１２６を介して）購入できる。
【００３３】
ここで図２を参照すると、複数の提供チャネル１４０は、図１のクラウド・サービス・マーケットプレース・システム１００の複数のクラウド・サービス・ブローカー・インターフェイスと複数のクラウド・サービス・プロバイダの間に確立されたとして示される。例示的なクラウド・サービス・ブローカー・インターフェイス１２６は、クラウド・サービス・ブローカー・インターフェイス（１）２０２と表わされる第１のクラウド・サービス・ブローカー・インターフェイスおよびクラウド・サービス・ブローカー・インターフェイス（２）２０６と表わされる第２のクラウド・サービス・ブローカー・インターフェイスを含む。例示的なクラウド・サービス・ブローカー・インターフェイス２０２は、監視エージェント（１）２０４と表わされる監視エージェント１２８を含み、そして、例示的なクラウド・サービス・ブローカー・インターフェイス２０６は、監視エージェント（２）２０８と表わされる監視エージェント１２８を含む。いかなる数のクラウド・サービス・ブローカー・インターフェイス１２６も他の実施形態にありえることを理解すべきである。
【００３４】
例示的なクラウド・サービス・プロバイダ・インターフェイス１２０は、クラウド・サービス・プロバイダ・インターフェイス（１）２１０と表わされる第１のクラウド・サービス・プロバイダ・インターフェイスおよびクラウド・サービス・プロバイダ・インターフェイス（２）２１４と表わされる第２のクラウド・サービス・プロバイダ・インターフェイスを含む。上記のように、各クラウド・サービス・プロバイダは、ＡＰＩ１２２が通信するために開発されるクラウドサービスと関連しているＡＰＩコネクタインスタンス１１６と通信するために使用可能であるＡＰＩ１２２を含む。例示的なクラウド・サービス・プロバイダ・インターフェイス（１）は、ＡＰＩ（１）２１２と表わされる第１のＡＰＩを含み、そして、例示的なクラウド・サービス・プロバイダ・インターフェイス（２）は、ＡＰＩ（２）２１６と表わされる第２のＡＰＩを含む。いかなる数のクラウド・サービス・プロバイダ・インターフェイス１２０も他の実施形態にありえることを理解すべきである。他の実施形態において、クラウド・サービス・プロバイダ・インターフェイス１２０の各々は、複数のＡＰＩ１２２を含むことができることを更に理解すべきである。
【００３５】
上記のように、コネクタハブ１０６は、対応するＡＰＩ１２２と通信するように構成されるそれぞれのクラウド・サービス・プロバイダ・インターフェイス１２０から受信するＡＰＩコネクタのインスタンスを複製することによってクラウド・サービス・プロバイダ・インターフェイス１２０とクラウド・サービス・ブローカー・インターフェイス１２６の間に提供チャネル１４０を確立するように構成される。例示的なコネクタファクトリ１１２において、それらが関連する適用できるＡＰＩ１２２に対応するＡＰＩコネクタインスタンス１１６、および、実施形態によっては、認証プロキシインスタンス１１４から各々成る４つの提供チャネル１４０が示される。
【００３６】
例示的なＡＰＩコネクタインスタンス１１６は、ＡＰＩコネクタ（１）２２６と表わされる第１のＡＰＩコネクタインスタンス、ＡＰＩコネクタ（２）２２８と表わされる第２のＡＰＩコネクタインスタンス、ＡＰＩコネクタ（３）２３０と表わされる第３のＡＰＩコネクタインスタンス、およびＡＰＩコネクタ（４）２３２と表わされる第４のＡＰＩコネクタインスタンスを含む。例示的な認証プロキシ１１４は、認証プロキシ（１）２１８と表わされる第１の認証プロキシインスタンス、認証プロキシ（２）２２０と表わされる第２の認証プロキシインスタンス、認証プロキシ（３）２２２と表わされる第３の認証プロキシインスタンス、および認証プロキシ（４）２２４と表わされる第４の認証プロキシインスタンスを含む。
【００３７】
提供チャネル１４０をその間に確立するように配置される、図２に示す４つのＡＰＩコネクタ１１６（すなわち、ＡＰＩコネクタインスタンス２２６、２２８、２３０、２３２）の各々は、対応するクラウド・サービス・プロバイダから受信するそれぞれのＡＰＩコネクタの複製であることを理解すべきである。示すように、ＡＰＩコネクタ（１）２２６およびＡＰＩコネクタ（３）２３０は、クラウド・サービス・プロバイダ・インターフェイス（１）２１０のＡＰＩ（１）２１２と関連している。その一方で、ＡＰＩコネクタ（２）２２８およびＡＰＩコネクタ（４）２３２は、クラウド・サービス・プロバイダ・インターフェイス（２）２１４のＡＰＩ（２）２１６と関連している。加えて、ＡＰＩコネクタ（１）２２６およびＡＰＩコネクタ（２）２２８は、クラウド・サービス・ブローカー・インターフェイス（１）２０２と関連している。その一方で、ＡＰＩコネクタ（３）２３０およびＡＰＩコネクタ（４）２３２は、クラウド・サービス・ブローカー・インターフェイス（２）２０６と関連している。
【００３８】
図１に戻って参照すると、例示的なクラウド・サービス・マーケットプレース・システム１００に示すように、マーケットプレースコンピューティングデバイス１０２、サービスプロバイダコンピューティングデバイス１１８、ブローカーコンピューティングデバイス１２４、およびエンドポイントコンピューティングデバイス１４４の各々は、いかなるタイプのコンピューティングデバイス１３０としても実現できる。換言すれば、それぞれのコンピューティングデバイス１３０の各々は、本願明細書に記載の機能を実行できるいかなるタイプの計算および／または記憶装置としても実現できる。それぞれのコンピューティングデバイス１３０の一つ以上が、クラウド・アーキテクテッド・ネットワークまたはデータセンターにおける（例えば、記憶エリアネットワーク（ＳＡＮ）の）一つ以上のサーバ（例えば、スタンドアロン、ラックマウントなど）および／またはコンピュートブレードとデータ記憶装置の組合せとして実現することができて、その一方で、それぞれのコンピューティングデバイスの一つ以上が、デスクトップコンピュータ、モバイルコンピューティングデバイス（例えば、スマートフォン、ウェアラブル機器、タブレット、ラップトップ、ノートブックなど）、あるいはその他のタイプの「高性能な」またはインターネット接続装置として実現できることを理解すべきである。
【００３９】
ここで図３を参照すると、マーケットプレースコンピューティングデバイス１０２、サービスプロバイダコンピューティングデバイス１１８、ブローカーコンピューティングデバイス１２４、およびエンドポイントコンピューティングデバイス１４４の一つ以上を表わすコンピューティングデバイス１３０の例示的な実施形態が、示される。例示的なコンピューティングデバイス１３０は、中央演算処理装置（ＣＰＵ）３００、入出力（Ｉ／Ｏ）コントローラ３０２、メモリ３０４、ネットワーク通信回路３０６、およびデータ記憶装置３１０、ならびに、実施形態によっては、一つ以上の入出力周辺機器３０８を含む。いくつかの実施形態において、例示的な構成要素の一つ以上は、単一の集積回路（ＩＣ）上の単一のシステムオンアチップ（ＳｏＣ）に組み合わせることができる。代替の実施形態が、例示的なコンピューティングデバイス１３０のそれらに対する追加の、より少ない、および／または代替の構成要素、例えば、説明の明確さを維持するために示されない、グラフィックス処理ユニット（ＧＰＵ）、電源などを含むことができることを理解すべきである。それぞれのコンピューティングデバイス１３０の記憶／計算構成要素のタイプが、それぞれのコンピューティングデバイス１３０のタイプおよび意図された使用に基づくことがありえると更に理解すべきである。
【００４０】
ＣＰＵ３００またはプロセッサは、データを処理できる回路のいかなるタイプのハードウェアまたは組合せとしても実現できる。したがって、ＣＰＵ３００は、単一コア・プロセッサ・アーキテクチャの一つの処理コア（図示せず）、またはマルチコア・プロセッサ・アーキテクチャの複数の処理コアを含むことができる。処理コアの数にかかわりなく、ＣＰＵ３００は、プログラム命令を読み込んで、実行できる。いくつかの実施形態において、ＣＰＵ３００は、ＣＰＵ３００と直接集積化されるかまたはＣＰＵ３００との別の相互接続を有する別のチップに配置されることができるキャッシュメモリ（図示せず）を含むことができる。いくつかの実施形態において、パイプライン論理が、ＣＰＵ３００に出入りするコマンドよりもむしろ、ソフトウェアおよび／またはハードウェア動作（例えば、ネットワークトラフィック処理操作）を実行するために用いることができることを理解すべきである。
【００４１】
入出力コントローラ３０２または入出力インターフェイスは、入出力装置とコンピューティングデバイス１３０の間のインターフェイスをとることができる回路のいかなるタイプのコンピュータハードウェアまたは組合せとしても実現できる。実例として、入出力コントローラ３０２は、ＣＰＵ３００から入出力要求を受信して、それぞれの入出力装置に制御信号を送り、それによってコンピューティングデバイス１３０に出入りするデータフローを管理するように構成される。
【００４２】
メモリ３０４は、処理のためのデータおよび命令を保持できる回路のいかなるタイプのコンピュータハードウェアまたは組合せとしても実現できる。この種のメモリ３０４は、主または主要なメモリと呼ばれることがある。いくつかの実施形態において、コンピューティングデバイス１３０の一つ以上の構成要素が、メモリへ直接アクセスすることができて、そうすると、特定のデータを、ＣＰＵ３００と独立して直接メモリアクセス（ＤＭＡ）により格納できると理解すべきである。
【００４３】
ネットワーク通信回路３０６は、無線および／または有線通信モードを通じてネットワークインターフェイス通信（例えば、メッセージ、データグラム、パケットなど）を管理できる回路のいかなるタイプのコンピュータハードウェアまたは組合せとしても実現できる。したがって、いくつかの実施形態において、ネットワーク通信回路３０６は、コンピューティングデバイス１３０をコンピュータネットワーク（例えば、ネットワーク１３２）ならびにクラウド・サービス・マーケットプレース・システム１００の他のコンピューティングデバイスに接続するように構成されることができるネットワーク・インターフェイス・コントローラ（ＮＩＣ）を含むことができる。
【００４４】
一つ以上の入出力周辺機器３０８は、コンピューティングデバイス１３０に接続してそれと通信するように構成されるいかなる補助装置としても実現できる。例えば、入出力周辺機器３０８は、マウス、キーボード、モニタ、タッチスクリーン、プリンタ、スキャナ、マイクロホン、スピーカなどを含むことができるが、これらに限定されない。したがって、いくつかの入出力装置が、１つの機能（すなわち、入力または出力）または両方の機能（すなわち、入力および出力）ができることを理解すべきである。
【００４５】
いくつかの実施形態において、入出力周辺機器３０８は、コンピューティングデバイス１３０のケーブル（例えば、リボンケーブル、ワイヤ、汎用シリアルバス（ＵＳＢ）ケーブル、高解像度マルチメディアインターフェイス（ＨＤＭＩ（登録商標））ケーブルなど）を介してコンピューティングデバイス１３０に接続できる。このような実施形態において、ケーブルは、その間でなされる通信を入出力コントローラ３０２によって管理することができるコンピューティングデバイス１３０の対応するポート（図示せず）に接続している。代替の実施形態において、入出力周辺機器３０８は、ネットワーク通信回路３０６によって管理できる通信の無線モード（例えば、ブルートゥース（登録商標）、Ｗｉ−Ｆｉ（登録商標）など）を介してコンピューティングデバイス１３０に接続できる。
【００４６】
データ記憶装置３１０は、データの不揮発性記憶ができるいかなるタイプのコンピュータハードウェア（例えば、半導体記憶媒体、磁気記憶媒体、光記憶媒体など）としても実現できる。この種のデータ記憶装置３１０は、一般に補助的または二次的な記憶装置と呼ばれて、上記のメモリ３０４と関連して大量のデータを格納するために通常は用いる。
【００４７】
図１に戻って参照すると、例示的なクラウド・サービス・マーケットプレース・システム１００は、他のコンピューティングデバイス１３０がマーケットプレースコンピューティングデバイス１０２と通信するために使用可能であるネットワーク１３２を含む。ネットワーク１３２は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、グローバルネットワーク（インターネット）などを含む、いかなるタイプの有線および／または無線ネットワークとしても実施できる。したがって、ネットワーク１３２は、一連の有線および／またはインターコネクト器を通じてネットワーク通信トラフィックのフローおよび／または処理を容易にするための一つ以上の通信で接続したネットワークコンピューティングデバイス（図示せず）を含むことができる。この種のネットワークコンピューティングデバイスは、一つ以上のアクセスポイント、ルータ、スイッチ、サーバ、コンピュートデバイス、記憶装置などを含むことができるが、これらに限定されるものではない。
【００４８】
例えば、この種のネットワークコンピューティングデバイスの一つ以上は、有線（例えば、イーサネット（登録商標）、トークンリングなど）および／または無線（例えば、ブルートゥース（登録商標）、Ｗｉ−Ｆｉ（登録商標）、無線ブロードバンド、ジグビー（登録商標）など）通信技術および関連プロトコルを用いたＬＡＮ構成においてエンドポイントコンピューティングデバイス１４４をネットワーク１３２に接続するように構成されることができる。実施例の促進において、ＬＡＮは、ネットワーク１３２の追加ネットワークコンピューティングデバイスを介して一つ以上の広域ネットワーク（例えば、ＷＡＮ、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットなど）に（例えば、同軸ケーブル、モバイル電話通信、光ファイバーケーブルなどを介して）接続できる。
【００４９】
クラウド・サービス・プロバイダ・インターフェイス１２０およびクラウド・サービス・ブローカー・インターフェイス１２６は、本願明細書に記載の機能を実行できるソフトウェア、ハードウェア、ファームウェア、および回路のいかなる組合せとしても実現できる。いくつかの実施形態において、クラウド・サービス・プロバイダ・インターフェイス１２０およびクラウド・サービス・ブローカー・インターフェイス１２６の一方または両方とも、（例えば、ユーザインターフェイス（ＵＩ）を介して）情報をサービスプロバイダコンピューティングデバイス１１８のディスプレイおよびブローカーコンピューティングデバイス１２４それぞれに提供するように構成されることができる。このような実施形態において、クラウド・サービス・プロバイダ・インターフェイス１２０およびクラウド・サービス・ブローカー・インターフェイス１２６の一方または両方とも、ログインするためにユーザから受信した入力を中継するか、それぞれのインターフェイスを構成するか、または、それに関連する情報（例えば、設定）を操作するように構成されることができる。
【００５０】
ここで図４を参照すると、例示的な方法４００は、マーケットプレースコンピューティングデバイス（例えば、図１のマーケットプレースコンピューティングデバイス１０２）によって、または、より詳細には、マーケットプレースコンピューティングデバイス１０２のコネクタハブ（例えば、図１のコネクタハブ１０６）によって実行できるクラウド・サービス・ブローカー・マーケットプレース（例えば、図１のクラウド・サービス・ブローカー・マーケットプレース１０４）に新規なクラウドサービスを加えるために提供される。そうするために、ブロック４０２で、コネクタハブ１０６は、新規なクラウドサービスがクラウド・サービス・ブローカー・マーケットプレース１０４の利用できるクラウドサービスに加えることになっているかどうか判定する。この種の判定は、新規なクラウドサービスをクラウド・サービス・ブローカー・マーケットプレース１０４に加えるために表示する表示が、コネクタハブ１０６によって（例えば、クラウド・サービス・プロバイダ・インターフェイス１２０から）受信されたかどうかに基づくことができる。
【００５１】
コネクタハブ１０６が、新規なクラウドサービスが加えられることになっていると判定する場合、方法４００は、ブロック４０４へ進む。ブロック４０４において、コネクタハブ１０６は、サービスプロバイダコンピューティングデバイス１１８のクラウド・サービス・プロバイダ・インターフェイス（例えば、図１のクラウド・サービス・プロバイダ・インターフェイス１２０）を介してアクセス可能なクラウドサービスと関連したアドレス（例えば、ユニフォームリソース識別子（ＵＲＩ））を検索する。ブロック４０６において、コネクタハブ１０６は、クラウド・サービス・プロバイダのための提供チャネル証明書（すなわち、プロバイダ提供チャネル証明書）を生成する。いくつかの実施形態において、プロバイダ提供チャネル証明書が、クラウド・サービス・プロバイダから受信できる（例えば、クラウド・サービス・プロバイダ・インターフェイス１２０により生成されて、それを介して受信される）ことを理解すべきである。ブロック４０８において、コネクタハブ１０６は、検索されたクラウド・サービス・プロバイダ・アドレスおよびブロック４０６において生成されたプロバイダ提供チャネル証明書を、例えば、公知技術（例えば、ハードウェア・セキュリティ・モジュール）を使用して安全にすることができる、コネクタハブ１０６のローカルな安全なデータベース（例えば、図１の証明書データベース１０８）に格納する。ブロック４１０において、コネクタハブ１０６は、プロバイダ提供チャネル証明書をクラウド・サービス・プロバイダ・インターフェイス１２０に伝送する。
【００５２】
ブロック４１２において、コネクタハブ１０６は、ＡＰＩコネクタが（例えば、クラウド・サービス・プロバイダ・インターフェイス１２０を介して）クラウド・サービス・プロバイダから受信されたかどうか判定する。上記のように、ＡＰＩコネクタは、ＡＰＩコネクタのインスタンスを複製するために使用可能なソースコードから成ることができる。ＡＰＩコネクタに関連した追加情報が、ブロック４１２においてＡＰＩコネクタを用いて受信できることを理解すべきである。この種の追加情報は、ＡＰＩコネクタの識別子を含むことができる。ＡＰＩコネクタが受信された場合、方法４００は、ブロック４１４へ進む。コネクタハブ１０６は、ブロック４１２において受信するＡＰＩコネクタを、例えば、公知技術（例えば、ハードウェア・セキュリティ・モジュール）を使用して安全にすることができる、コネクタハブ１０６ローカルな安全なデータベース（例えば、図１の利用できるサービスデータベース１１０）に格納する。加えて、ブロック４１６において、コネクタハブ１０６は、ＡＰＩコネクタのソースコードを利用できるサービスデータベース１１０に格納する。更に、ブロック４１８において、コネクタハブは、ブロック４１２において受信するＡＰＩコネクタと関連したクラウドサービスの識別子を利用できるサービスデータベース１１０に格納する。
【００５３】
ここで図５および６を参照すると、例示的な方法５００、６００は、マーケットプレースコンピューティングデバイス１０２によって、または、より詳細にはマーケットプレースコンピューティングデバイス１０２のコネクタハブ（例えば、図１のコネクタハブ１０６）によって実行できる、クラウド・サービス・プロバイダ・インターフェイス（例えば、図１のクラウド・サービス・プロバイダ・インターフェイス１２０）とクラウド・サービス・ブローカー・インターフェイス（例えば、図１のクラウド・サービス・ブローカー・インターフェイス１２６）の間に提供チャネル（例えば、図１の提供チャネル１４０）を確立するために提供される。上記のように、認証プロキシインスタンス（例えば、図１の認証プロキシインスタンス１１４）は、提供チャネルを確立する際に配置できる。図５において、例示的な方法５００は、認証プロキシインスタンス１１４が提供チャネル１４０に配置される実施形態を記載する。図６において、例示的な方法６００は、認証プロキシインスタンス１１４が提供チャネル１４０に配置されない実施形態を記載する。
【００５４】
図５に示すように、方法５００は、ブロック５０２において始まり、コネクタハブ１０６は、ＡＰＩコネクタ提供通知書が受信されたかどうか判定する。いくつかの実施形態において、ＡＰＩコネクタ提供通知書は、クラウド・サービス・ブローカー・マーケットプレース１０４から受信することができて、ＡＰＩコネクタ提供通知書は、クラウド・サービス・ブローカーが利用できるクラウドサービスがそれらのクラウド・サービス・ポートフォリオに加えられることを要求したことに応答して生成された。コネクタハブ１０６が、ＡＰＩコネクタ提供通知書が受信されたと判定する場合、方法５００は、ブロック５０４へ進む。
【００５５】
ブロック５０４において、コネクタハブ１０６は、（例えば、ブロック５０２においてＡＰＩコネクタ提供通知書を用いて受信されるそのクラウド・サービス・ブローカーの識別子に基づいて）ブロック５０２において受信するＡＰＩコネクタ提供通知書と関連したクラウド・サービス・ブローカーのためのブローカー提供チャネル証明書を生成する。コネクタハブ１０６が、生成されたブローカー提供チャネル証明書をコネクタハブ１０６のローカルな証明書データベース（例えば、図１の証明書データベース１０８）に格納するように構成されることができることを理解すべきである。ブロック５０６において、コネクタハブ１０６は、ＡＰＩコネクタ提供通知書を用いて受信されるクラウド・サービス・ブローカーのアドレスに基づいてブローカー提供チャネル証明書をクラウド・サービス・ブローカーに伝送する。コネクタハブ１０６が、クラウド・サービス・ブローカー・アドレスをデータベース、例えば、証明書データベース１０８に格納するように構成されることができることを理解すべきである。ブロック５０８において、コネクタハブ１０６は、プロキシチャネル提供チャネル証明書を生成する。
【００５６】
ブロック５１０において、コネクタハブ１０６は、利用できるサービスデータベース１１０上のＡＰＩコネクタ検索を実行するためにブロック５０２においてＡＰＩコネクタ提供通知書を用いて受信したＡＰＩコネクタの識別子を使用して利用できるサービスデータベース（例えば、図１の利用できるサービスデータベース１１０）から検索されるＡＰＩコネクタのソースコードに基づいてＡＰＩコネクタインスタンス（例えば、図１のＡＰＩコネクタインスタンス１１６）を配置する。
【００５７】
ブロック５１２において、コネクタハブ１０６は、通信チャネル（例えば、図１の通信チャネル１３４）をクラウド・サービス・プロバイダ・インターフェイス１２０とＡＰＩコネクタインスタンス１１６の間に確立するために使用可能であるＡＰＩコネクタインスタンス１１６にプロバイダ提供チャネル情報を伝送する。したがって、この種のプロバイダ提供チャネル情報は、クラウドサービスの識別子が対応するクラウド・サービス・プロバイダおよびクラウド・サービス・プロバイダのアドレスと関連したプロバイダ提供チャネル証明書を含む。加えて、ブロック５１２において、コネクタハブ１０６は、通信チャネル（例えば、図１の通信チャネル１３６）をＡＰＩコネクタインスタンス１１６と認証プロキシインスタンスとの間に確立するために使用可能であるＡＰＩコネクタインスタンス１１６にプロキシ提供チャネル情報を更に伝送する。したがって、この種のプロキシチャネル提供情報は、プロキシチャネル提供チャネル証明書を含む。
【００５８】
ブロック５１４において、コネクタハブ１０６は、認証プロキシインスタンス（例えば、図１の認証プロキシインスタンス１１４）を配置する。加えて、ブロック５１６において、コネクタハブ１０６は、認証プロキシインスタンス１１４とクラウド・サービス・ブローカー・インターフェイス１２６の間に通信チャネル（例えば、図１の通信チャネル１３８）を確立するために使用可能である認証プロキシインスタンス１１４にブローカー提供チャネル情報を伝送する。この種のブローカー提供チャネル情報は、クラウド・サービス・ブローカー識別子が対応するクラウド・サービス・ブローカーおよびクラウド・サービス・ブローカーのアドレスと関連したブローカー提供チャネル証明書を含む。コネクタハブ１０６は、ブロック５１６において、ＡＰＩコネクタインスタンス１１６と認証プロキシインスタンス１１４の間に通信チャネル（例えば、図１の通信チャネル１３６）を確立するために使用可能である認証プロキシインスタンス１１４にプロキシ提供チャネル証明書を更に伝送する。
【００５９】
ブロック５１８において、コネクタハブ１０６は、クラウド・サービス・プロバイダ・インターフェイス１２０と認証プロキシインスタンス１１４の間に提供チャネル１４０の一部を確立する。そうするために、ブロック５２０において、コネクタハブ１０６は、プロバイダ提供チャネル証明書を用いてＡＰＩコネクタインスタンス１１６とクラウド・サービス・プロバイダ・インターフェイス１２０の間に通信チャネル１３４を確立する。加えて、ブロック５２２において、コネクタハブ１０６は、当業者に周知であるいかなる認証動作も使用して（すなわち、ＡＰＩコネクタインスタンス１１６と認証プロキシインスタンス１１４はそれぞれが実体を互いに確認するために）プロキシ提供チャネル証明書を用いてＡＰＩコネクタインスタンス１１６と認証プロキシインスタンス１１４の間に通信チャネル１３６を確立する。
【００６０】
図５に記載されている提供チャネル１４０の一部を確立した後に、提供チャネル１４０の残りの部分（すなわち、クラウド・サービス・ブローカー・インターフェイス１２６と認証プロキシインスタンス１１４の間の通信チャネル１３８）は、確立されないままであることを理解すべきである。通信チャネル１３８を確立するために、ブロック５２４において、コネクタハブ１０６は、ＡＰＩコネクタインスタンス１１６のアドレス（例えば、ＵＲＩ）を含むメッセージを伝送し、メッセージは、認証プロキシインスタンス１１４とクラウド・サービス・ブローカー・インターフェイス１２６の間に通信チャネル（例えば、通信チャネル１３８）を確立するために使用可能である。いくつかの実施形態において、認証プロキシインスタンス１１４が配置されたことを示すメッセージは、メッセージ待ち行列に配置されうる。当該メッセージ待ち行列から、通知書が、コネクタハブ１０６によってプッシュされるかまたはクラウド・サービス・ブローカー・インターフェイス１２６によってプルされる。
【００６１】
いくつかの実施形態において、監視エージェント（例えば、図１の監視エージェント１２８）は、表示を受信／検索するために使用可能であるクラウド・サービス・ブローカー（例えば、クラウド・サービス・ブローカー・インターフェイス１２６）に以前配置することができた。このような実施形態において、表示の検出に応じて、監視エージェント１２８は、ブローカー提供チャネル証明書（例えば、図７の方法７００参照）を用いてクラウド・サービス・ブローカー・インターフェイス１２６と認証プロキシインスタンス１１４の間の通信チャネル１３８の確立を開始できる。したがって、表示は、通信チャネル１３８を確立して、提供チャネル１４０を完成するために監視エージェント１２８によって使用可能であるブロック６０８において配置される認証プロキシインスタンス１１４のアドレス（例えば、ＵＲＩにおける）を含む。監視エージェント１２８を含まない代替の実施形態において、通信チャネル１３８の構成が、クラウド・サービス・ブローカー・インターフェイス１２６において手動で実行できることを理解すべきである。
【００６２】
例示的な実施例において、図２に示すように、通信チャネル１３４は、クラウド・サービス・プロバイダ・インターフェイス（１）２１０とクラウド・サービス・ブローカー・インターフェイス（１）２０２の間に確立される。そうするために、使用中に、ＡＰＩコネクタ（１）２２６は、ＡＰＩコネクタ（１）２２６およびクラウド・サービス・プロバイダ・インターフェイス（１）２１０に以前伝送されたプロバイダ提供チャネル証明書を使用して認証動作を実行することによって、ＡＰＩ（１）２１２を介して、クラウド・サービス・プロバイダ・インターフェイス（１）２１０を用いて通信チャネル１３４を確立する。同様に、別の通信チャネル１３４は、クラウド・サービス・プロバイダ・インターフェイス（２）２１４とクラウド・サービス・ブローカー・インターフェイス（１）２０２の間に確立される。そうするために、使用中に、ＡＰＩコネクタ（１）２２８は、ＡＰＩコネクタ（１）２２８およびクラウド・サービス・プロバイダ・インターフェイス（２）２１４に以前提供されたプロバイダ提供チャネル証明書を使用して認証動作を実行することによって、ＡＰＩ（２）２１６を介して、クラウド・サービス・プロバイダ・インターフェイス（２）２１４を用いて通信チャネル１３４を確立する。
【００６３】
例示的な実施例の促進において、通信チャネル１３６は、ＡＰＩコネクタ（１）２２６および認証プロキシ（１）２１８と関連したプロキシ提供チャネル証明書を使用して認証動作を実行することによってＡＰＩコネクタ（１）２２６と認証プロキシ（１）２１８の間に確立される。同様に、別の通信チャネル１３６は、ＡＰＩコネクタ（２）２２８および認証プロキシ（２）２２０と関連したプロキシ提供チャネル証明書を使用して認証動作を実行することによってＡＰＩコネクタ（２）２２８と認証プロキシ（２）２２０の間に確立される。
【００６４】
加えて、例示的な実施例の促進において、通信チャネル１３８は、クラウド・サービス・ブローカー・インターフェイス（１）２０２と認証プロキシ（１）２１８の間に確立される。そうするために、使用中に、クラウド・サービス・ブローカー・インターフェイス（１）２０２および認証プロキシ（１）２１８は、クラウド・サービス・ブローカー・インターフェイス（１）２０２および認証プロキシ（１）２１８に以前提供されたブローカー提供チャネル証明書を使用して認証動作を実行する。同様に、別の通信チャネル１３８は、クラウド・サービス・ブローカー・インターフェイス（１）２０２と認証プロキシ（２）２２０の間に確立される。そうするために、使用中に、クラウド・サービス・ブローカー・インターフェイス（１）２０２および認証プロキシ（２）２２０は、クラウド・サービス・ブローカー・インターフェイス（１）２０２および認証プロキシ（２）２２０に以前提供されたブローカー提供チャネル証明書を使用して認証動作を実行する。
【００６５】
以前に記載したように、認証プロキシインスタンス１１４が、いくつかの実施形態において配置することができないことを理解すべきである。このような実施形態において、通信チャネル１３８は、それぞれのクラウド・サービス・ブローカー・インターフェイス１２６から、それぞれのＡＰＩコネクタインスタンス１１６まで直接拡張する。認証プロキシインスタンス１１４が、提供チャネルに配置されるかどうかにかかわりなく、現在の技術とは異なり、クラウド・サービス・プロバイダ・インターフェイス１２０もクラウド・サービス・ブローカー・インターフェイス１２６も、その他の提供チャネル証明書にアクセスせず、それによってクラウド・サービス・プロバイダのそれぞれのＡＰＩ１２２の安全な拡張を提供する。
【００６６】
図６に示すように、方法６００は、ブロック６０２において始まり、コネクタハブ１０６は、ＡＰＩコネクタ提供通知書が受信されたかどうか判定する。いくつかの実施形態において、ＡＰＩコネクタ提供通知書は、クラウド・サービス・ブローカー・マーケットプレース１０４から受信することができて、ＡＰＩコネクタ提供通知書は、クラウド・サービス・ブローカーが利用できるクラウドサービスがそれらのクラウド・サービス・ポートフォリオに加えられることを要求したのに応じて生成された。コネクタハブ１０６が、ＡＰＩコネクタ提供通知書が受信されたと判定する場合、方法６００は、ブロック６０４へ進む。
【００６７】
ブロック６０４において、コネクタハブ１０６は、ブロック６０２において受信されるＡＰＩコネクタ提供通知書と関連したクラウド・サービス・ブローカーのためのブローカー提供チャネル証明書を（例えば、ブロック６０２において、ＡＰＩコネクタ提供通知書を用いて受信されるそのクラウド・サービス・ブローカーの識別子に基づいて）生成する。コネクタハブ１０６が、生成されたブローカー提供チャネル証明書をコネクタハブ１０６のローカルな証明書データベースに（例えば、図１の証明書データベース１０８に）格納するように構成されることができることを理解すべきである。いくつかの実施形態において、ブローカー提供チャネル証明書が、クラウド・サービス・ブローカーから受信する（例えば、クラウド・サービス・ブローカー・インターフェイス１２６によって発生して、それを介して受信する）ことができることを更に理解すべきである。ブロック６０６において、コネクタハブ１０６は、ＡＰＩコネクタ提供通知書を用いて受信するクラウド・サービス・ブローカーのアドレスに基づいてブローカー提供チャネル証明書をクラウド・サービス・ブローカーに伝送する。コネクタハブ１０６が、クラウド・サービス・ブローカー・アドレスをデータベース、例えば、証明書データベース１０８に格納するように構成されることができることを理解すべきである。
【００６８】
ブロック６０８において、コネクタハブ１０６は、利用できるサービスデータベース１１０上のＡＰＩコネクタ検索を実行するためにブロック６０２においてＡＰＩコネクタ提供通知書を用いて受信するＡＰＩコネクタの識別子を使用して利用できるサービスデータベース（例えば、図１の利用できるサービスデータベース１１０）から検索したＡＰＩコネクタのソースコードに基づいてＡＰＩコネクタインスタンス（例えば、図１のＡＰＩコネクタインスタンス１１６）を配置する。加えて、ブロック６１０において、コネクタハブ１０６は、クラウド・サービス・プロバイダ・インターフェイス１２０とＡＰＩコネクタインスタンス１１６の間に通信チャネル（例えば、図１の通信チャネル１３４）を確立するために使用可能であるＡＰＩコネクタインスタンス１１６にプロバイダ提供チャネル情報を伝送する。したがって、この種のプロバイダ提供チャネル情報は、クラウドサービスの識別子が対応するクラウド・サービス・プロバイダおよびクラウド・サービス・プロバイダのアドレスと関連したプロバイダ提供チャネル証明書を含む。
【００６９】
更に、ブロック６１２において、コネクタハブ１０６は、ＡＰＩコネクタインスタンス１１６とクラウド・サービス・ブローカー・インターフェイス１２６の間に通信チャネル（例えば、図１の通信チャネル１３８）を確立するために使用可能であるＡＰＩコネクタインスタンス１１６にブローカー提供チャネル情報を伝送する。この種のブローカー提供チャネル情報は、クラウド・サービス・ブローカー識別子が対応するクラウド・サービス・ブローカーおよびクラウド・サービス・ブローカーのアドレスと関連したブローカー提供チャネル証明書を含む。
【００７０】
ブロック６１４において、コネクタハブ１０６は、クラウド・サービス・プロバイダ・インターフェイス１２０とクラウド・サービス・ブローカー・インターフェイス１２６の間に提供チャネルを確立する。そうするために、ブロック６１６において、コネクタハブ１０６は、プロバイダ提供チャネル証明書を用いてＡＰＩコネクタインスタンス１１６とクラウド・サービス・プロバイダ・インターフェイス１２０の間に通信チャネル１３４を確立する。加えて、ブロック６１８において、コネクタハブ１０６は、ブローカー提供チャネル証明書を用いてＡＰＩコネクタインスタンス１１６とクラウド・サービス・ブローカー・インターフェイス１２６の間に通信チャネル１３８を確立する。ブロック６２０において、コネクタハブ１０６は、ＡＰＩコネクタインスタンス１１６のアドレス（例えば、ＵＲＩ）を含むメッセージを伝送し、メッセージは、ＡＰＩコネクタインスタンス１１６とクラウド・サービス・ブローカー・インターフェイス１２６の間に通信チャネル（例えば、通信チャネル１３８）を確立するために使用可能である。いくつかの実施形態において、ＡＰＩコネクタインスタンス１１６が配置されたことを示すメッセージは、メッセージ待ち行列に配置されうる。当該メッセージ待ち行列から、通知書が、コネクタハブ１０６によってプッシュされるかまたはクラウド・サービス・ブローカー・インターフェイス１２６によってプルされる。
【００７１】
いくつかの実施形態において、監視エージェント（例えば、図１の監視エージェント１２８）は、表示を受信／検索するために使用可能であるクラウド・サービス・ブローカー（例えば、クラウド・サービス・ブローカー・インターフェイス１２６）に以前に配置することができた。このような実施形態において、表示の検出に応じて、監視エージェント１２８は、ブローカー提供チャネル証明書（例えば、図７の方法７００参照）を用いてクラウド・サービス・ブローカー・インターフェイス１２６とＡＰＩコネクタインスタンス１１６の間の通信チャネル１３８の確立を開始できる。したがって、表示は、通信チャネル１３８を確立して、提供チャネル１４０を完成するために監視エージェント１２８によって使用可能であるブロック６０８において配置されるＡＰＩコネクタインスタンス１１６のアドレス（例えば、ＵＲＩにおける）を含む。監視エージェント１２８を含まない代替の実施形態において、通信チャネル１３８の構成が、クラウド・サービス・ブローカー・インターフェイス１２６において手動で実行できることを理解すべきである。
【００７２】
ここで図７を参照すると、例示的な方法７００は、ブローカーコンピューティングデバイスのクラウド・サービス・ブローカー・インターフェイス（例えば、図１のブローカーコンピューティングデバイス１２４のクラウド・サービス・ブローカー・インターフェイス１２６）によって、または、より詳細には、クラウド・サービス・ブローカー・インターフェイス１２６の監視エージェント（例えば、図１の監視エージェント１２８）によって実行できるクラウド・サービス・ブローカーによる再販のためのクラウドサービスを構成するために提供される。方法６００は、ブロック７０２において始まり、監視エージェント１２８は、新規なＡＰＩコネクタインスタンス（例えば、ＡＰＩコネクタインスタンス１１６）が検出されたかどうか判定する。
【００７３】
一定の条件下で、ＡＰＩコネクタのソースコード（すなわち、ＡＰＩコネクタインスタンス１１６を配置するために用いる）は、クラウド・サービス・プロバイダによって変更できる。このような条件下で、コネクタハブ１０６は、ＡＰＩコネクタの新規なインスタンスを配置するように構成される。したがって、認証プロキシインスタンス１１４の新規なインスタンスとクラウド・サービス・ブローカー・インターフェイス１２６の間の信用関係の結果として、通信チャネル１３６は、付加的な構成なしに再確立できる。監視チャネル１４２が、その間にメッセージを伝送するために監視エージェント１２８とコネクタハブ１０６の間に確立できることを理解すべきである。この種のメッセージは、通信チャネル１３６の正常性（例えば、クオリティオブサービス）を示すメッセージ、ならびに新規なＡＰＩコネクタ１１６が利用できることを示すメッセージを含み、それによって方法７００を開始する。
【００７４】
一定の条件下で、新規な認証プロキシインスタンス１１４が、配置されることができ、そして／または、ブローカー提供チャネル証明書が、変更されることができると更に理解すべきである。このような条件下で、コネクタハブ１０６は、クラウド・サービス・ブローカー・インターフェイス１２６に新規な認証プロキシインスタンス１１４および／または新規なブローカー提供チャネル証明書を通知するように構成される。したがって、方法５００、６００の一つは、実施形態が認証プロキシインスタンス１１４を含むかどうかに依存して、通信チャネル１３８を再確立するために用いることができる。いくつかの実施形態において、この種の通知は、監視エージェント１２８とコネクタハブ１０６の間で監視チャネル（例えば、図１の監視チャネル１４２参照）を介して実行できる。
【００７５】
監視エージェント１２８が、新規なＡＰＩコネクタインスタンス１１６が検出されたと判定する場合、方法７００は、ブロック７０４へ進む。ブロック７０４において、監視エージェント１２８は、ブロック７０２において検出された新規なＡＰＩコネクタインスタンス１１６を用いて通信チャネル（例えば、提供チャネル１４０の通信チャネル１３８）を構成する。そうするために、いくつかの実施形態において、ブロック７０６で、監視エージェント１２８は、新規なＡＰＩコネクタインスタンス１１６と関連する認証プロキシインスタンス（例えば、図１の認証プロキシインスタンス１１４）のＵＲＩに基づいて通信チャネル１３８を構成する。さもなければ、代替の実施形態（すなわち、認証プロキシインスタンス１１４が配置されない実施形態）において、ブロック７０８で、監視エージェント１２８は、新規なＡＰＩコネクタインスタンス１１６を用いて通信チャネルを確立するために使用可能な情報を含むＵＲＩに基づいて通信チャネル１３８を構成する。
【００７６】
ブロック７１０において、監視エージェント１２８は、新規なＡＰＩコネクタインスタンス１１６と関連したクラウドサービスの再販を可能にするようにクラウド・サービス・ブローカー・インターフェイス１２６を構成する。そうするために、ブロック７１２において、監視エージェント１２８は、コネクタハブ１０６から受信する初期設定に基づいて（例えば、監視チャネル１４２を介して）クラウド・サービス・ブローカー・インターフェイス１２６を構成する。初期設定は、販売計画、サービステンプレート、価格設定モデル、説明書などを含むことができる。設定が、ブロック７１０において実行される最初の構成を完了すると、クラウド・サービス・ブローカーによって（例えば、クラウド・サービス・ブローカー・インターフェイス１２６を介して）変更できることを理解すべきである。
【００７７】
一定の条件下で、監視エージェント１２８が、方法７００が実行される前に配置されることができなかったことを理解すべきである。このような実施形態において、クラウド・サービス・ブローカー・マーケットプレース１０４は、監視エージェント１２８を配置するために表示をクラウド・サービス・インターフェイス・ブローカー１２６に提供するように構成されることができる。この種の表示は、監視エージェント１２８を最初に構成するために使用可能な情報、ならびに通信チャネル１３８の正常性を監視するために監視エージェント１２８によって使用可能な情報を含むことができる。再販のためのクラウドサービスの成功した配置および成功した構成により、監視エージェント１２８は、それから、通信チャネル１３８の正常性を監視して、コネクタハブ１０６に監視動作の結果を報告できる。
【００７８】
本開示が、図面および前述の説明に例示されて詳述されたが、そのことは、特徴において例示的であり限定的でないとみなすべきであり、特定の実施形態だけが、図示されて説明された、そして、本開示の精神の範囲内に入る変更態様が、保護されることが望ましいと理解される。
【図１】
0006884214.tif 000002
【図２】
0006884214.tif 000003
【図３】
0006884214.tif 000004
【図４】
0006884214.tif 000005
【図５】
0006884214.tif 000006
【図６】
0006884214.tif 000007
【図７】
0006884214.tif 000008