(57)【要約】  プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法は、顧客のデータベースシステムにおける複数のデータベースの特性を判断するステップを含んでいてもよい。当該方法はまた、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けするステップを含んでいてもよい。当該方法は加えて、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにするステップを含んでいてもよい。当該方法はさらに、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信するステップを含んでいてもよい。当該方法はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにするステップを含んでいてもよい。
2019522846.tif 000002
【特許請求の範囲】
【請求項１】
プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法であって、前記方法は、
顧客のデータベースシステムにおける複数のデータベースの特性を判断するステップと、
前記複数のデータベースを記述している複数のデータベーステンプレートを生成するために、前記複数のデータベースの前記特性をグループ分けするステップと、
前記複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースが前記プライベートクラウドにおいて予め配分されるようにするステップと、
前記複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信するステップと、
前記データベーステンプレートによって少なくとも部分的に記述されたデータベースが、前記プライベートクラウドにおいてプロビジョニングされるようにするステップとを含む、方法。
【請求項２】
前記複数のデータベースの前記特性は、オペレーティングシステムタイプおよびバージョンを含む、請求項１に記載の方法。
【請求項３】
前記複数のデータベースの前記特性は、データベースタイプおよびバージョンを含む、請求項１に記載の方法。
【請求項４】
前記複数のデータベースの前記特性は、データベースメモリサイズを含む、請求項１に記載の方法。
【請求項５】
前記複数のデータベースの前記特性は、プロセッサ使用率を含む、請求項１に記載の方法。
【請求項６】
前記複数のデータベースの前記特性は、前記特性をゲートウェイを通してクラウドサポートプラットフォームへ伝送する、前記顧客のデータベースシステムにインストールされた１つ以上のソフトウェアエージェントによって判断される、請求項１に記載の方法。
【請求項７】
前記クラウドサポートプラットフォームは、前記複数のデータベースの前記特性のリアルタイム報告を生成する、請求項６に記載の方法。
【請求項８】
１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに動作を行なわせる命令を含む、非一時的なコンピュータ読取可能媒体であって、前記動作は、
顧客のデータベースシステムにおける複数のデータベースの特性を判断することと、
前記複数のデータベースを記述している複数のデータベーステンプレートを生成するために、前記複数のデータベースの前記特性をグループ分けすることと、
前記複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにすることと、
前記複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信することと、
前記データベーステンプレートによって少なくとも部分的に記述されたデータベースが、前記プライベートクラウドにおいてプロビジョニングされるようにすることとを含む、非一時的なコンピュータ読取可能媒体。
【請求項９】
前記複数のデータベーステンプレートを生成するために前記複数のデータベースの前記特性をグループ分けすることは、前記特性を、少なくとも第１のグループの特性および第２のグループの特性へと分割することを含み、
前記第１のグループの特性は、前記複数のデータベースのうちの２つ以上のデータベース間で共有される特性を含み、
前記第２のグループの特性は、前記複数のデータベースのうちの２つ以上のデータベースのうちの少なくとも１つに特有の特性を含む、請求項８に記載の非一時的なコンピュータ読取可能媒体。
【請求項１０】
前記第１のグループの特性は、オペレーティングシステムと、データベースバージョン番号と、データベースタイプとを含む、請求項９に記載の非一時的なコンピュータ読取可能媒体。
【請求項１１】
前記第２のグループの特性は、データベースメモリサイズと、リスナポートと、ホームディレクトリ経路とを含む、請求項９に記載の非一時的なコンピュータ読取可能媒体。
【請求項１２】
前記１つ以上のプロセッサに追加の動作を行なわせる追加の命令を含み、前記追加の動作は、
前記データベーステンプレートの前記選択を受信後、前記データベーステンプレートからの前記第１のグループの特性を含む一時的テンプレートを作成することと、
前記第２のグループの特性についての値を含む入力を受信することと、
前記第２のグループの特性についての前記値を前記一時的テンプレートに割当てることとを含む、請求項９に記載の非一時的なコンピュータ読取可能媒体。
【請求項１３】
前記１つ以上のプロセッサに追加の動作を行なわせる追加の命令を含み、前記追加の動作は、
前記データベーステンプレートによって少なくとも部分的に記述された前記データベースが前記プライベートクラウドにおいてアクティブである間、前記一時的テンプレートをテンプレートのライブラリにおいて保持することと、
前記データベーステンプレートによって少なくとも部分的に記述された前記データベースが前記プライベートクラウドにおいてもはやアクティブではなくなった後に、テンプレートの前記ライブラリから前記一時的テンプレートを削除することとを含む、請求項１２に記載の非一時的なコンピュータ読取可能媒体。
【請求項１４】
前記１つ以上のプロセッサに追加の動作を行なわせる追加の命令を含み、前記追加の動作は、
前記データベーステンプレートによって少なくとも部分的に記述された前記データベースがいつ、前記プライベートクラウドにおいてもはやアクティブではなくなったかを判断するために、クラウドサポートプラットフォームが前記プライベートクラウドに問合せることを含む、請求項１３に記載の非一時的なコンピュータ読取可能媒体。
【請求項１５】
システムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに動作を行なわせる命令を含む、１つ以上のメモリデバイスとを含み、前記動作は、
顧客のデータベースシステムにおける複数のデータベースの特性を判断することと、
前記複数のデータベースを記述している複数のデータベーステンプレートを生成するために、前記複数のデータベースの前記特性をグループ分けすることと、
前記複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにすることと、
前記複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信することと、
前記データベーステンプレートによって少なくとも部分的に記述されたデータベースが、前記プライベートクラウドにおいてプロビジョニングされるようにすることとを含む、システム。
【請求項１６】
前記１つ以上のメモリデバイスは、前記１つ以上のプロセッサに追加の動作を行なわせる追加の命令をさらに含み、前記追加の動作は、
前記複数のデータベーステンプレートから、前記プロビジョニング要求の一部として、追加のデータベーステンプレートの追加の選択を受信することと、
前記データベーステンプレートによって少なくとも部分的に記述された前記データベースと、前記追加のデータベーステンプレートによって少なくとも部分的に記述された追加のデータベースとが、前記プロビジョニング要求の一部としてともにプロビジョニングされるべきであることを示す入力を受信することと、
前記追加のデータベーステンプレートによって少なくとも部分的に記述された前記追加のデータベースが、前記データベーステンプレートによって少なくとも部分的に記述された前記データベースとともに、前記プライベートクラウドにおいてプロビジョニングされるようにすることとを含む、請求項１５に記載のシステム。
【請求項１７】
前記プライベートクラウドは、
第１のオペレーティングシステムを使用する第１のプラットフォーム・アズ・ア・サービス（ＰａａＳ）プールと、
第２のオペレーティングシステムを使用する第２のＰａａＳプールとを含み、前記第１のオペレーティングシステムは前記第２のオペレーティングシステムとは異なっている、請求項１５に記載のシステム。
【請求項１８】
前記第１のＰａａＳプールは、
第１のデータベースバージョンを使用する第１のデータベース・アズ・ア・サービス（ＤＢａａＳ）プールと、
第２のデータベースバージョンを使用する第２のＤＢａａＳプールとを含み、前記第１のデータベースバージョンは前記第２のデータベースバージョンとは異なっている、請求項１７に記載のシステム。
【請求項１９】
前記１つ以上のメモリデバイスは、前記１つ以上のプロセッサに追加の動作を行なわせる追加の命令をさらに含み、前記追加の動作は、
前記データベーステンプレートによって少なくとも部分的に記述された前記データベースが、前記データベーステンプレートにおける仕様と一致するＤＢａａＳプールにインストール可能かどうかを判断するために、前記プライベートクラウドをテストすることを含む、請求項１５に記載のシステム。
【請求項２０】
前記プライベートクラウドをテストすることは、前記プライベートクラウドが、前記データベーステンプレートと一致する、オペレーティングシステムとデータベースバージョンとデータベースタイプとを有するＤＢａａＳプールを含むかどうかと、前記プライベートクラウドが、前記データベーステンプレートによって少なくとも部分的に記述された前記データベースに対処するのに十分なメモリおよび処理パワーを有するかどうかとを判断することを含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
【背景技術】
【０００２】
クラウドコンピューティングは、専用ハードウェア／ソフトウェアを使用しなければ実現できないであろうより高い効率の達成を究極の目標として、ネットワークまたはインターネットを介してアクセスされるリソースの共有を可能にする。具体的には、組織がビジネス目標を達成しながら自らのコンピューティングリソースをフレキシブルに保つことを可能にする多くの特定領域で、効率を実現することができる。データベースを「プロビジョニングする」ための労力のレベル、または所要時間は、時間、コスト、および／または工数の点で、最適化の一領域を表わす。この労力のレベルは典型的には、２つの主な動作領域、すなわち、（１）データベースを実行または収容するためにデータベースソフトウェアが使用される物理マシンにインストールされたデータベースソフトウェアを表わす、ソフトウェアと、（２）顧客データを収容し、保持し、実行するために使用される物理データベースおよび関連付けられたメモリ構造を表わす、データベースインスタンスとに分類され得る。これらの２つの領域を、プライベート、パブリック、またはハイブリッドクラウドにおいて迅速、安全、かつ正確にプロビジョニングすることは、効率および規模の経済を達成するという組織目標の保証にとって最重要である。組織がどのようにこれらの新しいアーキテクチャを定量化および定性化できるかは、データを集める点で難しく、タスクを行なう労力の点で費用がかかり、分析して決定を下す時間量の点で面倒である。これらの作業に着手する場合、プロセス全体は「分析麻痺」をもたらすことが多い。
【発明の概要】
【課題を解決するための手段】
【０００３】
簡単な概要
いくつかの実施形態では、プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法は、顧客のデータベースシステムにおける複数のデータベースの特性を判断するステップを含んでいてもよい。当該方法はまた、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けするステップを含んでいてもよい。当該方法は加えて、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにするステップを含んでいてもよい。当該方法はさらに、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信するステップを含んでいてもよい。当該方法はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにするステップを含んでいてもよい。
【０００４】
いくつかの実施形態では、非一時的なコンピュータ読取可能媒体は、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに動作を行なわせる命令を含んでいてもよく、当該動作は、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けすることを含む。当該動作は加えて、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにすることを含んでいてもよい。当該動作はさらに、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信することを含んでいてもよい。当該動作はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにすることを含んでいてもよい。
【０００５】
いくつかの実施形態では、システムは、１つ以上のプロセッサと、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに動作を行なわせる命令を含む、１つ以上のメモリデバイスとを含んでいてもよく、当該動作は、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けすることを含む。当該動作は加えて、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにすることを含んでいてもよい。当該動作はさらに、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信することを含んでいてもよい。当該動作はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにすることを含んでいてもよい。
【０００６】
ここに説明される実施形態のうちのいずれかでは、以下の特徴のうちの１つ以上が、任意の組合せで、何ら限定されることなく含まれていてもよい。複数のデータベースの特性は、オペレーティングシステムタイプおよびバージョンを含んでいてもよい。複数のデータベースの特性は、データベースタイプおよびバージョンを含んでいてもよい。複数のデータベースの特性は、データベースメモリサイズを含んでいてもよい。複数のデータベースの特性は、プロセッサ使用率を含んでいてもよい。複数のデータベースの特性は、特性をゲートウェイを通してクラウドサポートプラットフォームへ伝送する、顧客のデータベースシステムにインストールされた１つ以上のソフトウェアエージェントによって判断されてもよい。クラウドサポートプラットフォームは、複数のデータベースの特性のリアルタイム報告を生成してもよい。当該方法／動作はまた、特性を、少なくとも第１のグループの特性および第２のグループの特性へと分割することを含んでいてもよい。第１のグループの特性は、複数のデータベースのうちの２つ以上のデータベース間で共有される特性を含んでいてもよく、第２のグループの特性は、複数のデータベースのうちの２つ以上のデータベースのうちの少なくとも１つに特有の特性を含んでいてもよい。第１のグループの特性は、オペレーティングシステムと、データベースバージョン番号と、データベースタイプとを含んでいてもよい。第２のグループの特性は、データベースメモリサイズと、リスナポートと、ホームディレクトリ経路とを含んでいてもよい。当該方法／動作はまた、データベーステンプレートの選択を受信後、データベーステンプレートからの第１のグループの特性を含む一時的テンプレートを作成することと、第２のグループの特性についての値を含む入力を受信することと、第２のグループの特性についての値を一時的テンプレートに割当てることとを含んでいてもよい。当該方法／動作はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースがプライベートクラウドにおいてアクティブである間、一時的テンプレートをテンプレートのライブラリにおいて保持すること、データベーステンプレートによって少なくとも部分的に記述されたデータベースがプライベートクラウドにおいてもはやアクティブではなくなった後に、テンプレートのライブラリから一時的テンプレートを削除すること、および／または、データベーステンプレートによって少なくとも部分的に記述されたデータベースがいつ、プライベートクラウドにおいてもはやアクティブではなくなったかを判断するために、クラウドサポートプラットフォームがプライベートクラウドに問合せることを含んでいてもよい。当該方法／動作はまた、複数のデータベーステンプレートから、プロビジョニング要求の一部として、追加のデータベーステンプレートの追加の選択を受信することと、データベーステンプレートによって少なくとも部分的に記述されたデータベースと、追加のデータベーステンプレートによって少なくとも部分的に記述された追加のデータベースとが、プロビジョニング要求の一部としてともにプロビジョニングされるべきであることを示す入力を受信することと、追加のデータベーステンプレートによって少なくとも部分的に記述された追加のデータベースが、データベーステンプレートによって少なくとも部分的に記述されたデータベースとともに、プライベートクラウドにおいてプロビジョニングされるようにすることとを含んでいてもよい。プライベートクラウドは、第１のオペレーティングシステムを使用する第１のプラットフォーム・アズ・ア・サービス（Platform as a Service：ＰａａＳ）プールと、第２のオペレーティングシステムを使用する第２のＰａａＳプールとを含んでいてもよく、第１のオペレーティングシステムは第２のオペレーティングシステムとは異なっていてもよい。第１のＰａａＳプールは、第１のデータベースバージョンを使用する第１のデータベース・アズ・ア・サービス（Database as a Service：ＤＢａａＳ）プールと、第２のデータベースバージョンを使用する第２のＤＢａａＳプールとを含んでいてもよく、第１のデータベースバージョンは第２のデータベースバージョンとは異なっていてもよい。当該方法／動作はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、データベーステンプレートにおける仕様と一致するＤＢａａＳプールにインストール可能かどうかを判断するために、プライベートクラウドをテストすることを含んでいてもよい。プライベートクラウドをテストすることは、プライベートクラウドが、データベーステンプレートと一致する、オペレーティングシステムとデータベースバージョンとデータベースタイプとを有するＤＢａａＳプールを含むかどうかと、プライベートクラウドが、データベーステンプレートによって少なくとも部分的に記述されたデータベースに対処するのに十分なメモリおよび処理パワーを有するかどうかとを判断することを含んでいてもよい。
【０００７】
図面の簡単な説明
本発明の性質および利点の一層の理解は、明細書の残りの部分および図面を参照して実現され得る。いくつかの図面にわたり、同様の構成要素を指すために同じ参照符号が使用される。場合によっては、複数の同様の構成要素のうちの１つを示すために、参照符号にサブラベルが関連付けられる。既存のサブラベルへの特定化なく参照符号が参照される場合、それは、そのような複数の同様の構成要素すべてを指すよう意図されている。
【図面の簡単な説明】
【０００８】
【図１】いくつかの実施形態に従った、顧客データベースシステム、クラウドサポートプラットフォーム、およびプライベートクラウドの簡略システム図である。
【図２】いくつかの実施形態に従った、インストールされたゲートウェイを有する顧客データベースシステムの簡略図である。
【図３】いくつかの実施形態に従った、プライベートクラウドにおいて提供され得る異なるテンプレート提供物を示す図である。
【図４】いくつかの実施形態に従った、データベースタイプおよびレベルを選択するためのユーザインターフェイスを示す図である。
【図５】いくつかの実施形態に従った、単一のデータベーステンプレートを形成するために複数のデータベースからの特性をどのように組合せることができるかについての図である。
【図６】いくつかの実施形態に従った、選択されたテンプレートの可変パラメータを完了するためのユーザインターフェイスを示す図である。
【図７】いくつかの実施形態に従った、プロビジョニングプロセス中に進行を更新するためのユーザインターフェイスを示す図である。
【図８】いくつかの実施形態に従った、プロビジョニングプロセスによって作成される一時的テンプレートを示す図である。
【図９】いくつかの実施形態に従った、テンプレートおよび一時的テンプレートを含むライブラリがどのように経時的に管理されるかを示す図である。
【図１０】いくつかの実施形態に従った、複数のデータベースのプロビジョニングを管理するためのユーザインターフェイスを示す図である。
【図１１】いくつかの実施形態に従った、プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法を示す図である。
【図１２】実施形態のうちのいくつかを実現するための分散型システムの簡略ブロック図である。
【図１３】実施形態システムのコンポーネントによって提供されるサービスをクラウドサービスとして提供し得るシステム環境のコンポーネントの簡略ブロック図である。
【図１４】さまざまな実施形態が実現され得る例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【０００９】
詳細な説明
ここに説明されるのは、プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分するための実施形態である。顧客データベースシステムは、顧客によって構成されたデータベースおよびサーバを含んでいてもよい。ゲートウェイが顧客データベースシステムをクラウドサポートプラットフォームにリンクすることができ、クラウドサポートプラットフォームは次に、データベースシステムが作動する際にバックグラウンドで顧客データベースシステムを分析することができる。クラウドサポートプラットフォームは、使用率統計を監視し、データベースシステムを分析して、システムにおける個々のデータベースの各々を記述する特性を判断することができる。データベースシステムの特性はグループ分けされて、顧客データベースシステム上でインスタンス化されるデータベースのクラスを概して記述するテンプレートを形成することができる。クラウドサポートプラットフォームは次に、顧客データベースシステムにおける既存データベースと同様であるデータベースをプライベートクラウドにおいてプロビジョニングする要求が受信された場合に、プライベートクラウドが利用可能なハードウェアおよびソフトウェアリソースを有することを保証するために、リソースを予め配分することができる。顧客がプライベートクラウドにおける新しいデータベースのプロビジョニングを望む場合、インターフェイスは、データベーステンプレートのライブラリを顧客に提示する。顧客はデータベーステンプレートを選択し、さまざまな調整可能パラメータをカスタマイズして、プロビジョニング要求を行なうことができる。選択されたテンプレートとの適合性を保証するためにプライベートクラウドが前もってテストされ、プライベートクラウドリソースが予め配分されたため、プロビジョニング要求は、数週間または数ヶ月ではなく、数分で完了され得る。
【００１０】
カタログのライブラリが、プライベートクラウドにおいてプロビジョニングされ得る利用可能なデータベースを表わしてもよい。このライブラリは、組織のビジネス要件に対してマッピングされた各データベースの技術仕様間のリンクである。たとえば、金レベルのデータベースは、高度に構成されたクラウドに存在する高度に構成されたデータベースであってもよい。カタログは、ソフトウェアバージョン、データベースタイプ、データベースサイズ、データベース構成、バックアップ構成などの点でデータベースの一般的構成を決定するデータベーステンプレートから構成され得る。ライブラリに格納されるこれらのカタログの数の減少を助けるために、カタログの各々は、カタログのパラメータが動的に変更可能であるという点で「一時的である」と考えることができ、それは、ユーザとサポートチームとの間の対話を減少させ、正しいデータベースが正しいクラウドにおいてプロビジョニングされることを保証する。
【００１１】
図１は、いくつかの実施形態に従った、顧客データベースシステム、クラウドサポートプラットフォーム、およびプライベートクラウドの簡略システム図を示す。顧客データベースシステム１０２は、１つ以上のデータベース１０４と、１つ以上のサーバ１０６とを含んでいてもよい。顧客データベースシステム１０２はまた、データベース１０４に格納されたデータへのアクセスを管轄するリレーショナルデータベース管理システム（relational database management system：ＲＤＢＭＳ）を含んでいてもよい。顧客データベースシステム１０２は、顧客作業サイト上に物理的に存在してもよく、またはそれに代えて、顧客に関連付けられた多くの異なる作業サイトに分散されてもよい。
【００１２】
いくつかの実施形態では、顧客は、データベースプロバイダによって提供されるクラウドサポートプラットフォーム１２０に加入してもよい。たとえば、クラウドサポートプラットフォーム１２０は、オラクル（登録商標）によって提供されるオラクル・アドバンスド・サポート・ポータル（登録商標）を含んでいてもよい。クラウドサポートプラットフォーム１２０は、顧客データベースシステム１０２を監視し分析するゲートウェイ１０８を、顧客データベースシステム１０２にインストールすることができる。ゲートウェイ１０８は、使用率統計、ログ履歴を分析し、各データベース１０４の分析を行なって、顧客データベースシステム１０２のハードウェア／ソフトウェア要件、および推定される能力ニーズを判断することができる。顧客は、クラウドサポートプラットフォーム１２０にログインして、これらの報告および統計にアクセスし、顧客データベースシステム１０２の性能を監視することができる。
【００１３】
具体的には、クラウドサポートプラットフォーム１２０は、データベース１０４を収容する物理マシンを識別でき、各データベース１０４の特性を判断する。これらの特性は、各データベース１０４の物理メモリサイズ要件、各データベースによって使用されるオペレーティングシステム、各データベース１０４のソフトウェアバージョン、各データベース１０４の速度／処理要件、各データベース１０４の構成などを含んでいてもよい。ゲートウェイ１０８はまた、セキュリティ要件、待ち時間要件、利用可能性要件、データ保護およびバックアップ要件などといった、データベース１０４の機能を識別してもよい。以下により詳細に説明されるように、顧客データベースシステム１０２のこれらの特性は、顧客データベースシステム１０２の各データベース１０４のハードウェア／ソフトウェア要件を記述するように機能する複数のデータベーステンプレートを生成するために、クラウドサポートプラットフォーム１２０によって使用される。
【００１４】
クラウドサポートプラットフォーム１２０は、プライベートクラウド１１０に通信可能に結合され得る。プライベートクラウド１１０は、一般的なオペレーティングシステムに基づいたリソースのプラットフォーム・アズ・ア・サービス（ＰａａＳ）プール１１２を含んでいてもよい。たとえば、ＰａａＳプール１１２は、リナックス（登録商標）オペレーティングシステムに基づいたグループと、ソラリス（登録商標）オペレーティングシステムに基づいたグループとを含んでいてもよい。プライベートクラウド１１０はまた、各データベースのバージョンおよびタイプに基づいたリソースのデータベース・アズ・ア・サービス（ＤＢａａＳ）プール１１４グルーピングを含んでいてもよい。たとえば、ＤＢａａＳプール１１４は、データベースバージョン、単一インスタンス対複数インスタンス設計、コンテナデータベース対プラガブルデータベースなどに基づいたデータベースのグルーピングを含んでいてもよい。
【００１５】
一般に、顧客がプライベートクラウド１１０における新しいデータベースのプロビジョニングを決定すると、新しくプロビジョニングされるデータベースについての要件は、顧客データベースシステム１０２のデータベース１０４に既に存在するデータベースと非常に類似するであろう。たとえば、顧客は、既存データベースをアップグレードすること、既存データベースに機能を追加すること、既存データベースをバックアップすること、または、新しいデータベースを設計して既存データベースを置き換えることを望むかもしれない。これらの動作の各々では、プライベートクラウド１１０においてプロビジョニングされるデータベースは、顧客データベースシステム１０２における既存データベース１０４のうちの少なくとも１つと非常に類似するかもしれない。既存データベース１０４を分析することにより、ゲートウェイ１０８および／またはクラウドサポートプラットフォーム１２０は、顧客が将来プライベートクラウド１１０におけるプロビジョニングを要求するであろうデータベースのタイプを効果的に予測することができる。この情報を知って、クラウドサポートプラットフォーム１２０はプライベートクラウド１１０をテストして、それが顧客データベースシステム１０２においてよく見られるデータベースに適合することを保証することができる。クラウドサポートプラットフォーム１２０はまた、そのような要求が顧客データベースシステム１０２から受信されたときにプライベートクラウド１１０が準備できているように、プライベートクラウド１１０においてハードウェア／ソフトウェアリソースを予め配分することができる。これらの動作は、顧客のニーズに応えるために最適化されたプライベートクラウド１１０を作成する。この開示以前では、顧客がプライベートクラウド１１０における新しいデータベースのプロビジョニングを望んだ場合、ハードウェア／ソフトウェアリソースを配分し、適切なオペレーティングシステムおよびデータベースバージョンがプライベートクラウド１１０にインストールされたことを保証するプロセスは、数週間、さらには数ヶ月かかるプロセスであった。顧客データベースシステム１０２がゲートウェイ１０８および／またはクラウドサポートプラットフォーム１２０によって分析される際にプライベートクラウド１１０を予め配分しテストすることにより、顧客データベースシステム１０２の既存データベースに由来する選択されたテンプレートに基づいた新しいデータベースのためのプロビジョニングプロセスは、数分で完了され得る。
【００１６】
図２は、いくつかの実施形態に従った、インストールされたゲートウェイ１０８を有する顧客データベースシステム１０２の簡略図を示す。顧客データベースシステム１０２は、さまざまなオペレーティングシステムタイプおよびバージョンのサーバ１０６にインストールされた、異なる構成（たとえば、ＲＡＣ、ＰＤＢ、単一インスタンスなど）の、およびさまざまなバージョン（たとえば、１０ｇ、１１ｇ、１２ｃ）のデータベース１０４を含んでいてもよい。これらのホストは、仮想マシンおよび／または物理マシンであり得る。場合によっては、ホストは、インストールされ構成されたソフトウェアまたはデータベースを有していなくてもよく、単に配分を待ってアイドル状態であってもよい。
【００１７】
クラウドサポートプラットフォーム１２０のゲートウェイ１０８は、顧客データベースシステム１０２にインストールされ得る。顧客アドミニストレータは、クラウドサポートプラットフォーム１２０によって提供されるサービスおよびツーリングに、ローカルまたはリモートにアクセスしてもよい。一例では、クラウドサポートプラットフォームおよび／またはゲートウェイは、クラウドプラグインおよびデータベースプロビジョニングサービス論理コードを含むオラクルのＥＭ１２Ｃ（登録商標）ソフトウェアスイートの完全なコピーをインストールしたかもしれない。顧客データベースシステム１０２についての構成および性能データは、顧客データベースシステム１０２にインストールされたホストのさまざまなエージェント２０２によって収集され得る。これらのエージェント２０２は、オペレーティングシステム、メモリ、ストレージ、ＣＰＵ使用率、および帯域幅使用率といった特性を検出することができる。エージェント２０２、またはＥＭ１２Ｃプラグインは次に、ホストサーバおよびホストデータベースを監視するプロセス２０４および２０６に折り返し報告してもよい。データベース／サーバ特性は、リポジトリ２０８に格納されてもよい。
【００１８】
図１に少し戻って、プライベートクラウド１１０は、いくつかの論理グルーピングの組合せである。第１の論理グルーピングはＰａａＳゾーン１１２であり、それは配分されたホストの集合である。第２の論理グルーピングはＤＢａａＳゾーン１１４であり、それは、データベースが作成され利用され得るリソースのプールである。これらの論理グルーピングは、クラウドサポートプラットフォーム１２０を通して提供されるプラグインを使用して作成され、格納され得る。
【００１９】
顧客データベースシステム１０２を分析し、データベーステンプレートを生成した後に、プライベートクラウド１１０におけるあらゆる既存システムと、プライベートクラウド１１０および／または顧客データベースシステム１０２内の構成および現在の使用率とともに、顧客のデータベースシステムの概要を提供するために、テンプレートの表示が顧客に提示され得る。顧客がどのようにプライベートクラウド１１０を弾性であるように（すなわち、伸縮するように）操作できるかについての概要を付与するために、プライベートクラウド１１０に配分される準備ができている潜在的なホストも顧客に表示されてもよい。
【００２０】
プライベートクラウド１１０における潜在的なホストは、リナックス、ＡＩＸ、ソラリス、ウィンドウズ（登録商標）などといったオペレーティングシステムの混合物であってもよい。図２に戻って、ＰａａＳプール１１２におけるすべてのホストが同じタイプのものであることを保証するためにオペレーティングシステムタイプをテストする（２１０）ために、ゲートウェイ１０８におけるデータベースプロビジョニングサービス論理コードを使用して、テストを行なうことができる。たとえば、配分を待っているすべてのホストがリナックスおよびソラリスの混合物であってもよく、一方、ＰａａＳプール１１２はリナックスのみで構成されてもよい。正しいホストが対応する正しいＰａａＳプール１１２に割当てられることを保証するために、顧客に表示されたデータは、システムタイプのテスト２１０からの結果を含んでいてもよい。この例では、リナックスホストは表示され得るものの、ソラリスホストは表示されないであろう。このテストは、ＤＢａａＳプール１１４の誤りまたは潜在的な構成ミスが生じないことを保証し、それはクラウドプロビジョニングプロセスを加速して、ＤＢａａＳクラウドを作成し、維持し、修正するために必要とされる労力および専門技術のレベルを低下させる。
【００２１】
ＤＢａａＳプール１１４内の構成および現在の使用率とともに、ＰａａＳプール１１２にインストールされたデータベースソフトウェアの概要を付与するために、データが顧客に提示され得る。ソフトウェアは、プールごとにデータベースタイプを判断する。たとえば、データベースプールは、プロビジョニング中のデータベースと同じバージョンのものでなければならない。たとえば、バージョン１２ｃオラクル（登録商標）データベースは、ＤＢａａＳプールがそこで作動するバージョン１２ｃソフトウエアを有していなかった場合、ＤＢａａＳプール上に存在できないであろう。
【００２２】
顧客が新しいデータベースのプロビジョニングを要求すると、顧客は、テンプレートのライブラリからテンプレートを選択するであろう。各テンプレートは、顧客データベースシステム１０２における既存データベースのソース構成についての情報を含んでいてもよい。適切なソフトウェアバージョンがＰａａＳプール１１２にインストールされることを保証するために、テスト２１２を行なうことができる（ターゲットデータベースタイプが個々のＤＢａａＳプールに割当てられ得るため、これは必要かもしれない）。たとえば、リアル・アプリケーション・クラスタ（Real Application Clusters：ＲＡＣ）データベースは、正確に作動できるようになるためにインストールされたオラクルのクラスタ・レディ・サービス（Cluster Ready Services：ＣＲＳ）ソフトウェアを有していなければならず、一方、単一インスタンスデータベースは、そのような追加ソフトウエアを必要としない。ソフトウェアバージョンテスト２１２は、顧客が特定のデータベースを正しいＤＢａａＳプール１１４へデプロイメントすることしかできないことを保証できる。
【００２３】
顧客はまた、特定のサイズ（たとえば、メモリ、ストレージ、およびＣＰＵ要件）を有するデータベース構成を要求してもよい。ＤＢａａＳプール１１４はまた、要求された構成を収容するのに正しいサイズであるように作成されてもよい。たとえば、新しいデータベースがプライベートクラウド１１０の予め配分されたリソースに収まることを保証するために、ＤＢａａＳプール１１４は、要求されたサイズよりも大きくなければならない。最後に、顧客データベースシステム１０２に由来するテンプレートについて、顧客がデータベースの正しいサイズを要求できることを保証するために、データベースタイプテスト２１４がゲートウェイ１０８によって実行され得る。
【００２４】
プライベートクラウド１１０における新しくプロビジョニングされたデータベースについての要求されたテンプレートに対して、すべてのテスト２１０、２１２、２１４が一旦行なわれると、クラウドサポートプラットフォーム１２０は、プライベートクラウド１１０において新しいデータベースを実際にプロビジョニングするために、さまざまなＡＰＩを通して動作することができる。実施可能な程度の開示を提供するために、オラクル・エンタープライズ・マネージャ（Enterprise Manager：ＥＭ）のＡＰＩを通してデータベースをプロビジョニングするためのプロセスが以下に含まれる。しかしながら、この開示に鑑みて、当業者であれば、これらの特定の手続きを、プライベートクラウド１１０とインターフェイス接続する他のシステム用の他のＡＰＩに対して実行されるように修正できるであろう。したがって、以下の説明は例示に過ぎず、限定的であるよう意図されてはいない。
【００２５】
この特定の例では、プロビジョニングはすべて、それがゾーン、プール、ライブラリ、一時的テンプレート、またはデータベース自体であろうとなかろうと、２つのエンタープライズ・マネージャＡＰＩ、すなわち、エンタープライズ・マネージャ・コマンド・ライン・インターフェイス（Enterprise Manager Command Line Interface：ＥＭＣＬＩ）ＡＰＩと、レプリゼンテーショナル・ステート・トランスファー（Representational State Transfer：ＲＥＳＴ）ＡＰＩとを通して達成されてもよい。ＥＭＣＬＩ  ＡＰＩは、単一コマンドラインで実行される単純な手続き呼出しである。コマンドラインは、動詞（すなわち、「我々がしようとしていること」）と、その動詞をサポートする１組のパラメータとを含んでいてもよい。ＥＭＣＬＩ動詞は、リアルタイムで、またはエンタープライズ・マネージャ・スケジューラを通して実行され得る。ＲＥＳＴ  ＡＰＩは、ウェブサービスの開発を助けるために使用される一般的なＨＴＴＰプロトコルを含む。本質的にそれは、POSTまたはGETコマンドなどのアクションと、パラメータと値との対を含むペイロードファイルとを伴う。ユニフォームリソース識別子（Uniform Resource Identifier：ＵＲＩ）へのペイロードをPOSTすることは、たとえば、ペイロードの扱い方を知っていると推定されるウェブページにペイロードを送信するであろう。アクションの状態を検索するために、GET呼出しを同じＵＲＩに送信することができ、ペイロードが受信されるであろう。それは、構文解析されると、その状態の情報がコードを通して戻されることを可能にする。
【００２６】
顧客が新しいデータベースのプロビジョニングを要求すると、ＰＬ／ＳＱＬ手続きが、その新しいデータベースについてのすべてのパラメータを得て、パラメータファイルを生成することができる。そのパラメータファイルは、単純な「PARAMETER」＝「VALUE」テキストファイルを含んでいてもよい。いくつかの実施形態では、データベースをプロビジョニングするプロセスはまず、（以下により詳細に説明される）一時的テンプレートを作成しなければならない。ＰＬ／ＳＱＬ手続きは、アクションを行なうコードへのオペレーティングシステム呼出しと、パラメータファイルへのポインタとを作成することができる。作成テンプレートプロセスはＥＭＣＬＩ  ＡＰＩを使用し、それはパラメータファイルを読出し、アクションについてのＥＭＣＬＩコマンドラインを生成し、次にアクションを実行する。これは（スケジューラを通して実行されるアクションではなく）リアルタイム実行であるため、ＥＭＣＬＩ呼出しから出力が渡され、次に、アクションが成功したことを確認するために問合せを行なうことができる。
【００２７】
次に、データベース名、テンプレート名などといった情報を含む別のパラメータファイルが構築され得る。次に、データベースをプロビジョニングするために、ＯＳコードに呼出しを行なうことができる。ＯＳコードは、パラメータファイルを得て、それを、典型的にはＪａｖａＳｃｒｉｐｔ（登録商標）オブジェクト表記法（JavaScript Object Notation：ＪＳＯＮ）フォーマットファイルにおけるＲＥＳＴ  ＡＰＩ用のペイロードに変換し、次にそれを、ＰａａＳゾーン用のＵＲＩに通知することができる。エンタープライズ・マネージャ・スケジューラは、それが提出された後にプロビジョニングプロセス用のＵＲＩへのGET呼出しを実行するために、バックグラウンドで作動する。数秒ごとにGETコマンドを実行することにより、顧客は、プロビジョニングプロセスの現在の状態を見ることができる。具体的には、戻されたペイロードを構文解析し、結果として生じるペイロードからステータスを抽出することができる。この情報をＰＬ／ＳＱＬコードへ戻すために、データベースリポジトリ２０８において、各個々のアクション（すなわち、「Create_Zone」、「Create_Database」など）についてのログとして作用するテーブルを利用することができる。GET呼出しが行なわれるたびに、データベースにおけるログテーブルは、戻されたペイロードからの関連情報で更新され得る。ログテーブルは次に、顧客のためのユーザインターフェイスに表示されるべき現在のステータス（たとえば、「実行中」、「完了」など）を検索するために調査され得る（以下の図７についての説明を参照）。この同じログテーブルは、顧客にとって有用なペイロードから抽出された他の情報を保持するためにも使用され得る。たとえば、データベースがプロビジョニングされた後に顧客がデータベースにログインできるように、データベース用の接続文字列が格納され得る。ジョブが何らかの理由で失敗した場合、失敗の理由もGETペイロードから抽出され、ログテーブルに格納され得る。一意的なＵＲＩを有するバックグラウンドでＥＭスケジューラがジョブとして作動するという事実は、以下により詳細に説明される一括プロビジョニングを容易にするために、いくつかのプロビジョニングプロセスが並行して実行可能である、ということを意味する。顧客がプロビジョニングされたデータベースの削除を望む場合、データベース自体もＵＲＩを有する。顧客は、そのＵＲＩへの単純なREST DELETE呼出しを行ない、次に、削除が完了するまで、データベースのプロビジョニングについて上述されたものと同じ態様でそのジョブを監視することができる。
【００２８】
図３は、いくつかの実施形態に従った、プライベートクラウドにおいて提供され得る異なるテンプレート提供物を示す。顧客データベースシステム１０２を分析後、各データベース１０４についての特性は比較され、グループ分けされて、テンプレートを形成することができる。単一のテンプレートは、顧客データベースシステム１０２におけるデータベース１０４のうちの１つ以上を記述していてもよい。いくつかの実施形態では、同様の物理構造またはアプリケーションを有するデータベースは１グループになるようグループ分けされてもよく、そのグループのために異なるレベルが作成されてもよい。たとえば、金融データベースが分析されてもよく、その金融データベースからテンプレートが生成されてもよい。
【００２９】
次に、各々がそれ自体のテンプレートを有する複数のレベルが作成されてもよい。単なる例示のために、ここに説明されるレベルは、異なるデータベースレベルを特定するために、金、銀、銅などと呼ばれるであろう。たとえば、金レベルのデータベースは、プライベートクラウド１１０内で高度なセキュリティ機能を有して構成された、ＲＡＣデータベースなどの非常に複雑なデータベースであってもよい。それは、バックアップおよび／または復旧への特別な注意を必要とする場合がある。それに比べ、銀レベルのデータベースは、より下位の規格に準拠し、それほど多くの構成またはリソースを必要としない場合がある。いくつかの実施形態では、金レベルのデータベースは、高レベルの利用可能性、特定のセキュリティプロトコル、および高忠実度バックアップルーチンを必要とする、顧客が使用するためのライブシステムに対応してもよい。銀レベルのデータベースは、データベースシステムがライブになる前のデータベーステスト環境に対応してもよい。銅レベルのデータベースは、開発段階中の新しいデータベース構想をテストできる試作データベース環境に対応してもよい。
【００３０】
一般に、データベースは、複数の異なる要因に基づいて異なるレベルに割当てられ得る。１つの要因は利用可能性であってもよく、それは、いつ、どのように、バックアップおよび復旧戦略が採用されるか、データベースがＲＡＣ能力を有するかどうか、ならびに、それが待機データベースを介して最大の利用可能性アーキテクチャを必要とするかどうかについて記述する。別の要因はセキュリティであってもよく、それは、データ・ボルト（Data Vault）（登録商標）などの特定のセキュリティ製品、またはデータマスキングや、データベースがテスト用または開発用かどうか、あるユーザがアクセスを許可されているかどうか、もしくは、包括的なパスワードが許可されているかどうかについての指定を含んでいてもよい。別の要因は性能を含んでいてもよく、それは、あるレベルが、メモリ、ＣＰＵパワー、および／またはストレージの点でより多くの能力を有するかどうか、ならびに、停電がどのように扱われるかに関する指定を含む。別の要因は、保守および顧客サービスの点から見たコストを含んでいてもよい。別の要因は敏捷性を含んでいてもよく、それは、できるだけ効率的であることをプロジェクト／システムに強いる待ち行列オントロジーを通して、プロジェクトが利用可能なリソースを十分に利用し、リソース浪費を減少させることを保証してもよい。これらの要因の各々には、テンプレートライブラリにおける各レベルについての値が割当てられてもよい。
【００３１】
図３の例では、ＤＢａａＳプール１１４における各データベースは、金レベル３０６と、銀レベル３０８と、銅レベル３１０とを含む。たとえば、リナックスホスト３０２は、金レベル３０６、銀レベル３０８、および／または銅レベル３１０で、バージョン１１Ｇ  ＲＡＣデータベースを実行してもよい。同様に、ソラリスホスト３０４は、同じレベルで、バージョン１２Ｃ  ＰＤＢデータベースを実行してもよい。
【００３２】
図４は、いくつかの実施形態に従った、データベースタイプおよびレベルを選択するためのユーザインターフェイス４００を示す。一例として、この特定の顧客は、金融データベースと、販売データベースと、品質保証（quality assurance：ＱＡ）データベースとを有するビジネスを経営しているかもしれない。上述のように、顧客データベースシステムにインストールされたゲートウェイは、これらのデータベースの各々を分析し、これらのデータベースの各々についての特性を判断し、これらのデータベースの各々についてのテンプレートを生成するであろう。次に、各テンプレートに対応して、データベースタイプごとに異なるレベルが割当てられ得る。たとえば、金融データベースは、銅、銀、金、およびプラチナという４つのレベルを有していてもよい。これらのレベルの各々は、機能、能力、セキュリティレベル、利用可能性レベルなどの増加に対応してもよい。同様に、販売データベースはゲートウェイによって分析されてもよい。販売データベースは次に、プライベートクラウドにおける銅および金レベルでのプロビジョニングのために利用可能にされてもよい。
【００３３】
ユーザインターフェイス４００は、顧客にとって利用可能なデータベースおよびレベルごとに、利用可能なテンプレートをすべてロードすることができる。顧客がユーザインターフェイス４００をロードすると、顧客は、顧客データベースシステムにすでにインストールされ、動作しているものと同様のデータベースオプションを見るであろう。これにより、顧客は、データベースのタイプを、その使用に基づいて速やかに選択できるようになる。たとえば、新しい金融データベースの試作を望む顧客は、銀レベルの金融データベースを選択できるであろう。ユーザインターフェイス４００はまた、必要なデータベースバージョン、必要なオペレーティングシステム、および、各レベルによって提供されるデータベースのタイプを容易に示す。この例では、ユーザは「Finance_Gold」データベースを選択し、プロビジョニングプロセスにおける次のステップに進む。
【００３４】
図５は、いくつかの実施形態に従った、単一のデータベーステンプレートを形成するために複数のデータベースからの特性をどのように組合せることができるかについての図を示す。テンプレートは、多くの異なる要素で構成されてもよい。たとえば、各データベースは、データベースタイプ、オペレーティングシステム、および／またはバージョン（たとえば、単一インスタンス、ＲＡＣ、ＣＤＢ／ＰＤＢ、スキーマ、１１Ｇ、１２Ｃ、リナックス、ソラリス、ウィンドウズなど）によって特徴付けられ得る。データベースはまた、初期化パラメータなどのデータベースパラメータや、データベースが待機、復旧マネージャ（Recovery Manager：ＲＭＡＮ）バックアップを有するかどうかといったことによって特徴付けられてもよい。データベースはまた、ＣＰＵ使用率、メモリ使用率、およびストレージ要件を含む、計算サイズによって特徴付けられてもよい。
【００３５】
ゲートウェイが顧客データベースシステムを分析する際、ツールは、ゲートウェイによって発見されたデータベース特性に基づいて、利用可能なテンプレートを作成し、作ることができる。しかしながら、データベースごとにテンプレートを生成することは、非常に大きく複雑になるテンプレートライブラリを生み出し得る。なぜなら、テンプレートは、各ソースシステムについて、および各ソースシステムの関連コピーについて必要とされるためである。ソースデータベースごとにテンプレートを作成する代わりに、データベース特性は、少なくとも２つのグループに分割され得る。第１のグループは、多くのデータベース間で共有される特性を含んでいてもよい。第２のグループは、各データベースに特有の特性を含んでいてもよい。第１のグループの特性を共有するデータベースは単一のテンプレートへと組合されることができ、データベースをプロビジョニングする際、それらの特性および第２のグループは顧客によって編集され得る。
【００３６】
たとえば、第１のデータベース５０２および第２のデータベース５０４は、ゲートウェイによって分析されてもよい。第１のデータベース５０２の第１のグループの特性５０８は、オペレーティングシステムと、データベースバージョンと、データベースタイプとを、明確性のために省略された他の特性とともに含む。第２のデータベース５０４の第１のグループの特性５１２は、第１のデータベース５０２の第１のグループの特性５０８と同じである。しかしながら、第１のデータベース５０２の第２のグループの特性５０６は、第２のデータベース５０４の第２のグループの特性５１０と異なっていてもよい。２つの別個のテンプレートを生成する代わりに、テンプレート５１４の第１のグループの特性５１８が第１のデータベース５０２および第２のデータベース５０４のものと一致する、単一のテンプレート５１４を生成することができる。テンプレート５１４の第２のグループの特性５１６は、データベースのサイズと、リスナポートと、ホームディレクトリとを、明確性のために省略された他の可変パラメータとともに含んでいてもよい。テンプレート５１４における第２のグループの特性５１６の各々について、デフォルト値が選択されてもよい。たとえば、第２のグループの特性５１６は、第１のデータベース５０２または第２のデータベース５０４からコピーされてもよい。他の実施形態では、３つ以上のデータベースを組合せて単一のテンプレートを形成してもよい。他の実施形態では、単一のデータベースが、顧客データベースシステムにおける他のデータベースと特性を共有していない場合、その単一のデータベースは単一のテンプレートをもたらしてもよい。
【００３７】
図６は、いくつかの実施形態に従った、選択されたテンプレートの可変パラメータを完了するためのユーザインターフェイス６００を示す。テンプレートを選択する際、テンプレートにおける第１のグループの特性に基づく、プロビジョニングされるべきデータベースのパラメータには、テンプレートからのデータ値が代入され得る。テンプレートにおける第２のグループの特性については、ユーザインターフェイス６００は、顧客が可変パラメータの各々について値を選択できるようにする。第２のグループの特性におけるパラメータの各々は、ユーザ入力を介して設定されてもよい。これらのパラメータは、データベースサイズ、データベース記述、ターゲットサイズ、さまざまなパスワード、ドメイン名、リスナポート、ストレージタイプ、データベースファイル位置、復旧オプション、アーカイブオプション、復旧ファイル位置、リドゥログ位置、インスタンスの数などを含む。可変パラメータを記入後、顧客は、プロビジョニングプロセスの次の段階に進むことができる。
【００３８】
図７は、いくつかの実施形態に従った、プロビジョニングプロセス中に進行を更新するためのユーザインターフェイス７００を示す。この開示以前では、プライベートクラウドが新しいデータベースにとって必要なハードウェア／ソフトウェアを組立て、ロードし、インストールした場合、プライベートクラウドにおけるデータベースのプロビジョニングの要求は、達成に数週間または数ヶ月を要したであろう。ここに説明される実施形態によって提供される事前配分およびテストにより、プロビジョニングプロセスは、ユーザインターフェイス６００を通した要求完了から数分以内に完了され得る。ユーザインターフェイス７００は、上述のＲＥＳＴ  ＡＰＩを通して数秒ごとにGET要求から更新を受信し、プロビジョニングプロセスを完了するために残っている推定時間を提供する。
【００３９】
図８は、いくつかの実施形態に従った、プロビジョニングプロセスによって作成される一時的テンプレートを示す。可変パラメータがユーザインターフェイス６００を通して完了されると、ここに「一時的テンプレート」と呼ばれる新しいテンプレートが、顧客によって提供される可変パラメータ値を格納するために作成されるであろう。いくつかの実施形態では、プライベートクラウドにおける新しいデータベースのあらゆるプロビジョニングは、一時的テンプレートの作成をもたらすであろう。いくつかの実施形態では、新しいデータベースについてのパラメータ値がすべて、顧客によって選択された元のテンプレートにおけるパラメータ値と同じであっても、一時的テンプレートが作成されてもよい。他の実施形態では、プロビジョニングされたデータベースについてのパラメータ値のうちの１つ以上が、元のテンプレートにおける値とは異なる場合にのみ、一時的テンプレートが作成されるであろう。
【００４０】
たとえば、顧客がテンプレート５１４を選択し、次に可変パラメータ値のうちの１つ以上を変更する場合、可変パラメータ値を格納するために、新しい一時的テンプレート８０８が作成されるであろう。この例では、新しい一時的テンプレート８０８の第２のグループの特性８１０は、データベースサイズと、リスナポートと、ホームディレクトリとを含む、テンプレート５１４の第２のグループの特性５１６とは異なっている。いくつかの実施形態では、新しい一時的テンプレート８０２の第２のグループの特性８０４が、テンプレート５１４の第２のグループの特性５１６と同じであっても、新しい一時的テンプレート８０２が作成されてもよい。
【００４１】
図９は、いくつかの実施形態に従った、テンプレートおよび一時的テンプレートを含むライブラリが、どのように経時的に管理されるかを示す。図９に示す一時的テンプレート８０２、８０８、９０２の各々は、顧客によって特定されたような、プライベートクラウドにおけるプロビジョニングされたデータベースの結果であってもよい。ライブラリは、プライベートクラウドにおける実際のデータベース９０４、９０６、９０８へのリンクのリストを保持していてもよい。テンプレート整理プロセス９１０は、プライベートクラウドにおけるアクティブなデータベースにもはや接続されていない一時的テンプレートを除去することにより、テンプレートライブラリを周期的に整理することができる。たとえば、一時的テンプレート８０２は、プライベートクラウドにおける対応するプロビジョニングされたデータベースがもはやアクティブではなくなった場合に、テンプレートライブラリから除去されてもよい。いくつかの実施形態では、クラウドサポートプラットフォームは、どのデータベースがまだアクティブかを判断するためにプライベートクラウドに周期的に問合せ、次に、アクティブなデータベースにもはや接続されていない一時的テンプレートをテンプレートライブラリから除去することができる。図９の例では、一時的テンプレート８０８および９０２は、プライベートクラウドにおけるアクティブなデータベースにまだ接続されているため、テンプレートライブラリに残っていてもよい。
【００４２】
図１０は、いくつかの実施形態に従った、複数のデータベースのプロビジョニングを管理するためのユーザインターフェイス１０００を示す図である。ユーザインターフェイス１０００は、プライベートクラウドの顧客のための概要と、関連付けられたプロビジョニングプロセスとを提供する。たとえば、ユーザインターフェイス１０００は、ライブラリカタログにおけるＰａａＳゾーンの数と、ＤＢａａＳプールの数と、テンプレートの数とを示す。加えて、プライベートクラウドにおいてプロビジョニングされたデータベースの各々についてのステータスも、表示されてもよい。たとえば、ユーザインターフェイス１０００は、１４個のデータベースが順調にプロビジョニングされ、３７個のデータベースが現在プロビジョニング中であり、９個のデータベースがプロビジョニングプロセスに失敗し、７３個のデータベースが順調にプロビジョニングされた後に失効したことを示す。
【００４３】
プライベートクラウドデータベースプロビジョニングプロセスの概要の提供に加えて、ユーザインターフェイス１０００はまた、顧客が複数のデータベースを一括でプロビジョニングできるようにしてもよい。ユーザインターフェイス１０００は、顧客が、一度に２つ以上のデータベースを選択し、次に、「すべてをプロビジョニング」という入力を使用して、一群のプロビジョニング要求をプライベートクラウドに送信できるようにする。上述の予め配分された環境により、これらの実施形態は、異なる環境においても、一度に複数のデータベースの移動を可能にする。選択されたすべてのデータベースをプロビジョニングするために、機能がゲートウェイ内で利用可能である。たとえば、ユーザ／アドミニストレータは、ユーザ／アドミニストレータが各ホストを繰り返しクリックする必要なく、多くのホストを特定されたタイプの既存ＰａａＳに自動的に追加することができる。ユーザ／アドミニストレータが非常に大きい開発プールの作成を望む場合、これは効率的である。
【００４４】
図１１は、いくつかの実施形態に従った、プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法を示す。この方法は、顧客のデータベースシステムにおける複数のデータベースの特性を判断するステップ（１１０２）と、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けするステップ（１１０４）とを含んでいてもよい。この方法はまた、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにするステップ（１１０６）を含んでいてもよい。この方法は加えて、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信するステップ（１１０８）を含んでいてもよい。この方法はさらに、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにするステップ（１１１０）を含んでいてもよい。
【００４５】
図１１に示す特定のステップは、本発明のさまざまな実施形態に従った、プライベートクラウドにおいてデータベースをプロビジョニングする特定の方法を提供する、ということが理解されるべきである。ステップの他の順序も、代替的な実施形態に従って行なわれてもよい。たとえば、本発明の代替的な実施形態は、上に概説されたステップを異なる順序で行なってもよい。また、図１１に示す個々のステップは、個々のステップにとって適切であるようにさまざまな順序で行なわれ得る複数のサブステップを含んでいてもよい。さらに、特定の用途に依存して、追加のステップが追加され、または除去されてもよい。当業者であれば、多くの変形、修正、および代替物を認識するであろう。
【００４６】
ここに説明された方法の各々は、コンピュータシステムによって実現されてもよい。これらの方法の各ステップは、コンピュータシステムによって自動的に実行されてもよく、および／または、ユーザが関与する入力／出力を提供されてもよい。たとえば、ユーザは方法におけるステップごとに入力を提供してもよく、これらの入力の各々は、そのような入力を要求する特定の出力に応答するものであってもよく、出力はコンピュータシステムによって生成される。各入力は、対応する要求出力に応答して受信されてもよい。さらに、入力は、ユーザから、別のコンピュータシステムからデータストリームとして受信され、メモリ位置から検索され、ネットワークを通して検索され、ウェブサービスから要求されたりしてもよい。同様に、出力は、ユーザに、別のコンピュータシステムにデータストリームとして提供され、メモリ位置に保存され、ネットワークを通して送信され、ウェブサービスに提供されたりしてもよい。要するに、ここに説明された方法の各ステップは、コンピュータシステムによって行なわれてもよく、ユーザが関与する、または関与しないかもしれない、コンピュータシステムとの間での任意の数の入力、出力、および／または要求を伴ってもよい。ユーザが関与しないそれらのステップは、人の介入なくコンピュータシステムによって自動的に行なわれる、と言ってもよい。したがって、ここに説明された各方法の各ステップは、ユーザとの間での入力および出力を含むように変更されてもよく、または、人の介入なくコンピュータシステムによって自動的に行なわれてもよく、その場合、あらゆる決定がプロセッサによって下される、ということが、この開示に鑑みて理解されるであろう。さらに、ここに説明された各方法のいくつかの実施形態は、有形のソフトウェア製品を形成するために有形の非一時的な記憶媒体上に格納された１組の命令として実現されてもよい。
【００４７】
図１２は、実施形態のうちの１つを実現するための分散型システム１２００の簡略図を示す。図示された実施形態では、分散型システム１２００は１つ以上のクライアントコンピューティングデバイス１２０２、１２０４、１２０６、および１２０８を含み、それらは、１つ以上のネットワーク１２１０を通して、ウェブブラウザ、専用クライアント（たとえば、オラクル・フォームズ（Oracle Forms））などのクライアントアプリケーションを実行し、動作させるように構成される。サーバ１２１２は、ネットワーク１２１０を介して、リモートのクライアントコンピューティングデバイス１２０２、１２０４、１２０６、および１２０８と通信可能に結合されてもよい。
【００４８】
さまざまな実施形態では、サーバ１２１２は、システムのコンポーネントのうちの１つ以上によって提供される１つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。いくつかの実施形態では、これらのサービスは、ウェブベースのサービスまたはクラウドサービスとして、もしくはソフトウェア・アズ・ア・サービス（Software as a Service：ＳａａＳ）モデルの下で、クライアントコンピューティングデバイス１２０２、１２０４、１２０６、および／または１２０８のユーザに提供されてもよい。クライアントコンピューティングデバイス１２０２、１２０４、１２０６、および／または１２０８を操作するユーザは次に、これらのコンポーネントによって提供されるサービスを利用するためにサーバ１２１２と対話するために、１つ以上のクライアントアプリケーションを利用してもよい。
【００４９】
図に示す構成では、システム１２００のソフトウェアコンポーネント１２１８、１２２０および１２２２は、サーバ１２１２上で実現されるとして示されている。他の実施形態では、システム１２００のコンポーネントおよび／またはこれらのコンポーネントによって提供されるサービスのうちの１つ以上も、クライアントコンピューティングデバイス１２０２、１２０４、１２０６、および／または１２０８のうちの１つ以上によって実現されてもよい。クライアントコンピューティングデバイスを操作するユーザは次に、これらのコンポーネントによって提供されるサービスを使用するために、１つ以上のクライアントアプリケーションを利用してもよい。これらのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せで実現されてもよい。分散型システム１２００とは異なり得るさまざまな異なるシステム構成が可能であることが理解されるべきである。図１に示す実施形態はこのため、実施形態システムを実現するための分散型システムの一例であり、限定的であるよう意図されてはいない。
【００５０】
クライアントコンピューティングデバイス１２０２、１２０４、１２０６、および／または１２０８は、携帯型ハンドヘルドデバイス（たとえば、ｉＰｈｏｎｅ（登録商標）、携帯電話、ｉＰａｄ（登録商標）、コンピューティングタブレット、携帯情報端末（personal digital assistant：ＰＤＡ））、またはウェアラブルデバイス（たとえば、グーグル・グラス（Google Glass）（登録商標）頭部装着型ディスプレイ）であってもよく、マイクロソフト・ウィンドウズ・モバイル（Microsoft Windows Mobile）（登録商標）などのソフトウェア、および／または、ｉＯＳ、ウィンドウズフォン、アンドロイド（登録商標）、ブラックベリー（登録商標）１０、パームＯＳなどのさまざまなモバイルオペレーティングシステムを実行し、インターネット、電子メール、ショートメッセージサービス（short message service：ＳＭＳ）、ブラックベリー（登録商標）、または他の通信プロトコルに対応していてもよい。クライアントコンピューティングデバイスは、マイクロソフト・ウィンドウズ（登録商標）、アップル・マッキントッシュ（登録商標）、および／またはリナックス（登録商標）オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび／またはラップトップコンピュータを例として含む、汎用パーソナルコンピュータであり得る。クライアントコンピューティングデバイスは、たとえばグーグル・クローム（Google Chrome）ＯＳなどのさまざまなＧＮＵ／リナックスオペレーティングシステムを何ら限定されることなく含む、商業的に入手可能なさまざまなＵＮＩＸ（登録商標）またはＵＮＩＸ様オペレーティングシステムのうちのいずれかを実行するワークステーションコンピュータであり得る。それに代えて、またはそれに加えて、クライアントコンピューティングデバイス１２０２、１２０４、１２０６、および１２０８は、ネットワーク１２１０を通して通信可能である、シンクライアントコンピュータ、インターネット対応ゲーミングシステム（たとえば、Ｋｉｎｅｃｔ（登録商標）ジェスチャー入力デバイスを有する、または有さない、マイクロソフトＸｂｏｘゲーミングコンソール）、および／またはパーソナルメッセージングデバイスといった、任意の他の電子デバイスであってもよい。
【００５１】
例示的な分散型システム１２００は４つのクライアントコンピューティングデバイスを有して示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを有するデバイスなどの他のデバイスが、サーバ１２１２と対話してもよい。
【００５２】
分散型システム１２００におけるネットワーク１２１０は、ＴＣＰ／ＩＰ（transmission control protocol/Internet protocol：伝送制御プロトコル／インターネットプロトコル）、ＳＮＡ（systems network architecture：システムネットワークアーキテクチャ）、ＩＰＸ（Internet packet exchange：インターネットパケット交換）、アップル・トーク（Apple Talk）などを何ら限定されることなく含む、商業的に入手可能なさまざまなプロトコルのうちのいずれかを使用してデータ通信をサポートできる、当業者にはよく知られた任意のタイプのネットワークであってもよい。単なる例として、ネットワーク１２１０は、イーサネット（登録商標）、トークンリング（Token-Ring）などに基づくものといった、ローカルエリアネットワーク（local area network：ＬＡＮ）であり得る。ネットワーク１２１０は、ワイドエリアネットワークおよびインターネットであり得る。それは、仮想プライベートネットワーク（virtual private network：ＶＰＮ）、イントラネット、エクストラネット、公衆交換電話網（public switched telephone network：ＰＳＴＮ）、赤外線ネットワーク、無線ネットワーク（たとえば、電気電子技術者協会（the Institute of Electrical and Electronics：ＩＥＥＥ）８０２．１１プロトコルスイート、Bluetooth（登録商標）、および／または任意の他の無線プロトコルのうちのいずれかの下で動作するネットワーク）、ならびに／もしくは、これらのおよび／または他のネットワークの任意の組合せを何ら限定されることなく含む、仮想ネットワークを含み得る。
【００５３】
サーバ１２１２は、１つ以上の汎用コンピュータ、専用サーバコンピュータ（ＰＣ（パーソナルコンピュータ）サーバ、ＵＮＩＸ（登録商標）サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバなどを例として含む）、サーバファーム、サーバクラスタ、もしくは任意の他の適切な構成および／または組合せで構成されてもよい。さまざまな実施形態では、サーバ１２１２は、前述の開示で説明された１つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。たとえば、サーバ１２１２は、本開示の一実施形態に従った上述の処理を行なうためのサーバに対応していてもよい。
【００５４】
サーバ１２１２は、上述のもののうちのいずれかを含むオペレーティングシステム、および商業的に入手可能な任意のサーバオペレーティングシステムを実行してもよい。サーバ１２１２はまた、さまざまな追加のサーバアプリケーションおよび／または中間層アプリケーションのうちのいずれかを実行してもよく、ＨＴＴＰ（hypertext transport protocol：ハイパーテキスト伝送プロトコル）サーバ、ＦＴＰ（file transfer protocol：ファイル転送プロトコル）サーバ、ＣＧＩ（common gateway interface：コモンゲートウェイインターフェイス）サーバ、ＪＡＶＡ（登録商標）サーバ、データベースサーバなどを含む。例示的なデータベースサーバは、オラクル、マイクロソフト、サイベース（Sybase）、ＩＢＭ（International Business Machines：インターナショナル・ビジネス・マシーンズ）などから商業的に入手可能なものを何ら限定されることなく含む。
【００５５】
いくつかの実現化例では、サーバ１２１２は、クライアントコンピューティングデバイス１２０２、１２０４、１２０６、および１２０８のユーザから受信されたデータフィードおよび／またはイベント更新を分析して統合するための１つ以上のアプリケーションを含んでいてもよい。一例として、データフィードおよび／またはイベント更新は、センサデータアプリケーション、金融ティッカー、ネットワーク性能測定ツール（たとえば、ネットワーク監視およびトラフィック管理アプリケーション）、クリックストリーム分析ツール、自動車交通監視などに関連するリアルタイムイベントを含み得る、１つ以上の第三者情報源および連続データストリームから受信されたツイッター（登録商標）フィード、フェースブック（登録商標）更新またはリアルタイム更新を含んでいてもよいが、それらに限定されない。サーバ１２１２はまた、クライアントコンピューティングデバイス１２０２、１２０４、１２０６、および１２０８の１つ以上の表示デバイスを介してデータフィードおよび／またはリアルタイムイベントを表示するための１つ以上のアプリケーションを含んでいてもよい。
【００５６】
分散型システム１２００はまた、１つ以上のデータベース１２１４および１２１６を含んでいてもよい。データベース１２１４および１２１６は、さまざまな位置に存在していてもよい。例として、データベース１２１４および１２１６のうちの１つ以上は、サーバ１２１２に対してローカルな（および／または、サーバ１２１２内にある）非一時的記憶媒体上に存在していてもよい。それに代えて、データベース１２１４および１２１６は、サーバ１２１２からリモートであってもよく、ネットワークベースの接続または専用接続を介してサーバ１２１２と通信してもよい。一組の実施形態では、データベース１２１４および１２１６は、ストレージエリアネットワーク（storage-area network：ＳＡＮ）に存在していてもよい。同様に、サーバ１２１２に帰する機能を行なうための任意の必要なファイルが適宜、サーバ１２１２上にローカルに格納されてもよく、および／またはリモートに格納されてもよい。一組の実施形態では、データベース１２１４および１２１６は、ＳＱＬフォーマットのコマンドに応答してデータを格納し、更新し、検索するように適合された、オラクルによって提供されるデータベースなどのリレーショナルデータベースを含んでいてもよい。
【００５７】
図１３は、本開示の一実施形態に従った、実施形態システムの１つ以上のコンポーネントによって提供されるサービスをクラウドサービスとして提供し得るシステム環境１３００の１つ以上のコンポーネントの簡略ブロック図である。図示された実施形態では、システム環境１３００は、クラウドサービスを提供するクラウドインフラストラクチャシステム１３０２と対話するためにユーザによって使用され得る１つ以上のクライアントコンピューティングデバイス１３０４、１３０６、および１３０８を含む。これらのクライアントコンピューティングデバイスは、クラウドインフラストラクチャシステム１３０２によって提供されるサービスを使用するためにクラウドインフラストラクチャシステム１３０２と対話するためにクライアントコンピューティングデバイスのユーザによって使用され得る、ウェブブラウザ、専用クライアントアプリケーション（たとえば、オラクル・フォームズ）、または何らかの他のアプリケーションといったクライアントアプリケーションを動作させるように構成されてもよい。
【００５８】
図に示すクラウドインフラストラクチャシステム１３０２は、図示されたもの以外のコンポーネントを有していてもよい、ということが理解されるべきである。また、図に示す実施形態は、この発明の一実施形態を取入れ得るクラウドインフラストラクチャシステムの単なる一例である。いくつかの他の実施形態では、クラウドインフラストラクチャシステム１３０２は、図示されたものよりも多い、または少ないコンポーネントを有していてもよく、２つ以上のコンポーネントを組合せてもよく、もしくは、異なる構成または配置のコンポーネントを有していてもよい。
【００５９】
クライアントコンピューティングデバイス１３０４、１３０６、および１３０８は、１２０２、１２０４、１２０６、および１２０８について上述したものと同様のデバイスであってもよい。
【００６０】
例示的なシステム環境１３００は３つのクライアントコンピューティングデバイスを有して示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを有するデバイスなどの他のデバイスが、クラウドインフラストラクチャシステム１３０２と対話してもよい。
【００６１】
ネットワーク１３１０は、クライアント１３０４、１３０６、および１３０８とクラウドインフラストラクチャシステム１３０２との間のデータの通信および交換を容易にしてもよい。各ネットワークは、ネットワーク１２１０について上述したものを含む、商業的に入手可能なさまざまなプロトコルのうちのいずれかを使用してデータ通信をサポートできる、当業者にはよく知られた任意のタイプのネットワークであってもよい。
【００６２】
クラウドインフラストラクチャシステム１３０２は、サーバ１２１２について上述したものを含み得る１つ以上のコンピュータおよび／またはサーバを含んでいてもよい。
【００６３】
ある実施形態では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューション、ウェブベースの電子メールサービス、ホスト型オフィススイートおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービスなどといった、クラウドインフラストラクチャシステムのユーザにとってオンデマンドで利用可能にされる多数のサービスを含んでいてもよい。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザのニーズを満たすために動的にスケール変更され得る。クラウドインフラストラクチャシステムによって提供されるサービスの特定のインスタンス化は、ここに「サービスインスタンス」と呼ばれる。一般に、クラウドサービスプロバイダのシステムから、インターネットなどの通信ネットワークを介してユーザに利用可能とされる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを作り上げるサーバおよびシステムは、顧客自身の構内サーバおよびシステムとは異なっている。たとえば、クラウドサービスプロバイダのシステムはアプリケーションをホストしてもよく、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドでアプリケーションをオーダーし、使用してもよい。
【００６４】
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、クラウドベンダーによってユーザに提供されるかまたは当該技術分野において他の態様で公知であるようなストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーション、もしくは他のサービスへの、保護されたコンピュータネットワークアクセスを含んでいてもよい。たとえば、サービスは、インターネットを通した、クラウド上のリモートストレージへの、パスワードで保護されたアクセスを含み得る。別の例として、サービスは、ネットワーク化された開発者による私的使用のための、ウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含み得る。別の例として、サービスは、クラウドベンダーのウェブサイト上でホストされる電子メールソフトウェアアプリケーションへのアクセスを含み得る。
【００６５】
ある実施形態では、クラウドインフラストラクチャシステム１３０２は、セルフサービスで、サブスクリプションベースで、弾力的にスケーラブルで、信頼でき、高可用性で、かつ安全な態様で顧客に配信される、アプリケーション、ミドルウェアおよびデータベースサービス提供物一式を含んでいてもよい。そのようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクル・パブリック・クラウド（Oracle Public Cloud）である。
【００６６】
さまざまな実施形態では、クラウドインフラストラクチャシステム１３０２は、クラウドインフラストラクチャシステム１３０２によって提供されるサービスへの顧客のサブスクリプションを自動的にプロビジョニングし、管理し、追跡するように適合されてもよい。クラウドインフラストラクチャシステム１３０２は、異なるデプロイメントモデルを介してクラウドサービスを提供してもよい。たとえば、サービスは、クラウドインフラストラクチャシステム１３０２がクラウドサービスを販売する組織によって所有され（たとえば、オラクルによって所有され）、サービスが一般大衆または異なる産業企業にとって利用可能とされる、パブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム１３０２が単一の組織のためにのみ動作され、その組織内の１つ以上のエンティティのためのサービスを提供し得る、プライベートクラウドモデルの下で提供されてもよい。クラウドサービスはまた、クラウドインフラストラクチャシステム１３０２、およびクラウドインフラストラクチャシステム１３０２によって提供されるサービスが、関連するコミュニティにおけるいくつかの組織によって共有される、コミュニティクラウドモデルの下で提供されてもよい。クラウドサービスはまた、２つ以上の異なるモデルの組合せであるハイブリッドクラウドモデルの下で提供されてもよい。
【００６７】
いくつかの実施形態では、クラウドインフラストラクチャシステム１３０２によって提供されるサービスは、ソフトウェア・アズ・ア・サービス（ＳａａＳ）カテゴリー、プラットフォーム・アズ・ア・サービス（ＰａａＳ）カテゴリー、インフラストラクチャ・アズ・ア・サービス（Infrastructure as a Service：ＩａａＳ）カテゴリー、または、ハイブリッドサービスを含むサービスの他のカテゴリーの下で提供される、１つ以上のサービスを含んでいてもよい。顧客は、クラウドインフラストラクチャシステム１３０２によって提供される１つ以上のサービスを、サブスクリプションオーダーを介してオーダーしてもよい。クラウドインフラストラクチャシステム１３０２は次に、顧客のサブスクリプションオーダーにおけるサービスを提供するために処理を行なう。
【００６８】
いくつかの実施形態では、クラウドインフラストラクチャシステム１３０２によって提供されるサービスは、アプリケーションサービス、プラットフォームサービス、およびインフラストラクチャサービスを、何ら限定されることなく含んでいてもよい。いくつかの例では、アプリケーションサービスは、ＳａａＳプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。ＳａａＳプラットフォームは、ＳａａＳカテゴリーに該当するクラウドサービスを提供するように構成されてもよい。たとえば、ＳａａＳプラットフォームは、統合された開発およびデプロイメントプラットフォーム上にオンデマンドアプリケーション一式を構築し、配信するための能力を提供してもよい。ＳａａＳプラットフォームは、ＳａａＳサービスを提供するための基本ソフトウェアおよびインフラストラクチャを管理し、制御してもよい。ＳａａＳプラットフォームによって提供されるサービスを利用することにより、顧客は、クラウドインフラストラクチャシステム上で実行されるアプリケーションを利用できる。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得できる。さまざまな異なるＳａａＳサービスが提供されてもよい。例は、大型組織のための販売実績管理、企業統合、およびビジネス柔軟性についてのソリューションを提供するサービスを、何ら限定されることなく含む。
【００６９】
いくつかの実施形態では、プラットフォームサービスは、ＰａａＳプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。ＰａａＳプラットフォームは、ＰａａＳカテゴリーに該当するクラウドサービスを提供するように構成されてもよい。プラットフォームサービスの例は、（オラクルなどの）組織が共有の共通アーキテクチャ上で既存のアプリケーションを統合できるようにするサービスと、プラットフォームによって提供される共有のサービスを活用する新しいアプリケーションを構築するための能力とを、何ら限定されることなく含んでいてもよい。ＰａａＳプラットフォームは、ＰａａＳサービスを提供するための基本ソフトウェアおよびインフラストラクチャを管理し、制御してもよい。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステムによって提供されるＰａａＳサービスを取得できる。プラットフォームサービスの例は、オラクルＪａｖａ（登録商標）クラウドサービス（Java Cloud Service：ＪＣＳ）、オラクル・データベース・クラウド・サービス（Database Cloud Service：ＤＢＣＳ）などを、何ら限定されることなく含む。
【００７０】
ＰａａＳプラットフォームによって提供されるサービスを利用することにより、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを採用するとともに、デプロイメントされたサービスを制御することもできる。いくつかの実施形態では、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス（たとえば、オラクル・フュージョン・ミドルウェア（Oracle Fusion Middleware）サービス）、およびＪａｖａクラウドサービスを含んでいてもよい。一実施形態では、データベースクラウドサービスは、組織がデータベースリソースをプールし、データベースクラウドの形をしたデータベース・アズ・ア・サービスを顧客に提供することを可能にする共有のサービスデプロイメントモデルをサポートしてもよい。ミドルウェアクラウドサービスは、顧客がさまざまなビジネスアプリケーションを開発してデプロイメントするためのプラットフォームを提供してもよく、Ｊａｖａクラウドサービスは、顧客がクラウドインフラストラクチャシステムにおいてＪａｖａアプリケーションをデプロイメントするためのプラットフォームを提供してもよい。
【００７１】
クラウドインフラストラクチャシステムにおいて、さまざまな異なるインフラストラクチャサービスが、ＩａａＳプラットフォームによって提供されてもよい。これらのインフラストラクチャサービスは、ＳａａＳプラットフォームおよびＰａａＳプラットフォームによって提供されるサービスを利用する顧客のための、ストレージ、ネットワーク、ならびに他の基礎的コンピューティングリソースなどの基本コンピューティングリソースの管理および制御を容易にする。
【００７２】
ある実施形態では、クラウドインフラストラクチャシステム１３０２はまた、クラウドインフラストラクチャシステムの顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース１３３０を含んでいてもよい。一実施形態では、インフラストラクチャリソース１３３０は、ＰａａＳプラットフォームおよびＳａａＳプラットフォームによって提供されるサービスを実行するためのサーバ、ストレージ、およびネットワーキングリソースなどのハードウェアの予め統合され最適化された組合せを含んでいてもよい。
【００７３】
いくつかの実施形態では、クラウドインフラストラクチャシステム１３０２におけるリソースは、複数のユーザによって共有され、要望ごとに動的に再配分されてもよい。加えて、リソースは、異なる時間帯におけるユーザに配分されてもよい。たとえば、クラウドインフラストラクチャシステム１３０２は、第１の時間帯における第１の一組のユーザが、特定数の時間、クラウドインフラストラクチャシステムのリソースを利用することを可能にし、次に、異なる時間帯に位置する別の一組のユーザへの同じリソースの再配分を可能にして、それによりリソースの利用を最大化してもよい。
【００７４】
ある実施形態では、クラウドインフラストラクチャシステム１３０２の異なるコンポーネントまたはモジュールによって、および、クラウドインフラストラクチャシステム１３０２が提供するサービスによって共有される、多くの内部共有サービス１３３２が提供されてもよい。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、企業リポジトリサービス、企業マネージャサービス、ウィルススキャニングおよびホワイトリストサービス、高可用性、バックアップおよび復旧サービス、クラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを、何ら限定されることなく含んでいてもよい。
【００７５】
ある実施形態では、クラウドインフラストラクチャシステム１３０２は、クラウドインフラストラクチャシステムにおけるクラウドサービス（たとえば、ＳａａＳ、ＰａａＳ、およびＩａａＳサービス）の包括的管理を提供してもよい。一実施形態では、クラウド管理機能性は、クラウドインフラストラクチャシステム１３０２によって受信された顧客のサブスクリプションをプロビジョニングし、管理し、追跡するための能力などを含んでいてもよい。
【００７６】
一実施形態では、図に示すように、クラウド管理機能性は、オーダー管理モジュール１３２０、オーダーオーケストレーションモジュール１３２２、オーダープロビジョニングモジュール１３２４、オーダー管理および監視モジュール１３２６、ならびにアイデンティティ管理モジュール１３２８などの１つ以上のモジュールによって提供されてもよい。これらのモジュールは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、もしくは任意の他の適切な構成および／または組合せであり得る、１つ以上のコンピュータおよび／またはサーバを含んでいてもよく、もしくはそれらを使用して提供されてもよい。
【００７７】
例示的な動作１３３４では、クライアントコンピューティングデバイス１３０４、１３０６または１３０８などのクライアントデバイスを使用する顧客は、クラウドインフラストラクチャシステム１３０２によって提供される１つ以上のサービスを要求し、クラウドインフラストラクチャシステム１３０２によって提供される１つ以上のサービスについてサブスクリプションオーダーを出すことにより、クラウドインフラストラクチャシステム１３０２と対話してもよい。ある実施形態では、顧客は、クラウドユーザインターフェイス（User Interface：ＵＩ）、クラウドＵＩ１３１２、クラウドＵＩ１３１４および／またはクラウドＵＩ１３１６にアクセスし、これらのＵＩを介してサブスクリプションオーダーを出してもよい。顧客がオーダーを出したことに応答してクラウドインフラストラクチャシステム１３０２が受信したオーダー情報は、顧客と、顧客が加入するつもりである、クラウドインフラストラクチャシステム１３０２によって提供される１つ以上のサービスとを識別する情報を含んでいてもよい。
【００７８】
顧客によってオーダーが出された後で、オーダー情報が、クラウドＵＩ１３１２、１３１４、および／または１３１６を介して受信される。
【００７９】
動作１３３６で、オーダーがオーダーデータベース１３１８に格納される。オーダーデータベース１３１８は、クラウドインフラストラクチャシステム１３０２によって動作され、他のシステムエレメントとともに動作される、いくつかのデータベースのうちの１つであり得る。
【００８０】
動作１３３８で、オーダー情報がオーダー管理モジュール１３２０へ発送されてもよい。場合によっては、オーダー管理モジュール１３２０は、オーダーを立証し、立証後にオーダーを予約するといった、オーダーに関連する請求および課金機能を行なうように構成されてもよい。
【００８１】
動作１３４０で、オーダーに関する情報が、オーダーオーケストレーションモジュール１３２２へ通信されてもよい。オーダーオーケストレーションモジュール１３２２は、顧客によって出されたオーダーのためのサービスおよびリソースのプロビジョニングをオーケストレーションするために、オーダー情報を利用してもよい。場合によっては、オーダーオーケストレーションモジュール１３２２は、オーダープロビジョニングモジュール１３２４のサービスを使用して加入サービスをサポートするために、リソースのプロビジョニングをオーケストレーションしてもよい。
【００８２】
ある実施形態では、オーダーオーケストレーションモジュール１３２２は、各オーダーに関連付けられたビジネスプロセスの管理を可能にして、オーダーがプロビジョニングへ進むべきかどうかを判断するためにビジネスロジックを適用する。動作１３４２で、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレーションモジュール１３２２は、リソースを配分してサブスクリプションオーダーを遂行するために必要とされるそれらのリソースを構成することを求める要求を、オーダープロビジョニングモジュール１３２４へ送信する。オーダープロビジョニングモジュール１３２４は、顧客によってオーダーされたサービスのためのリソースの配分を可能にする。オーダープロビジョニングモジュール１３２４は、クラウドインフラストラクチャシステム１３０２によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間の抽象化のレベルを提供する。オーダーオーケストレーションモジュール１３２２はこのため、サービスおよびリソースが実際にオンザフライでプロビジョニングされるか否か、または予めプロビジョニングされて要求時にのみ配分され／割当てられるか否かといった実装詳細から切り離されてもよい。
【００８３】
動作１３４４で、サービスおよびリソースが一旦プロビジョニングされると、提供されたサービスの通知が、クラウドインフラストラクチャシステム１３０２のオーダープロビジョニングモジュール１３２４によって、クライアントデバイス１３０４、１３０６、および／または１３０８上の顧客へ送信されてもよい。
【００８４】
動作１３４６で、顧客のサブスクリプションオーダーが、オーダー管理および監視モジュール１３２６によって管理され、追跡されてもよい。場合によっては、オーダー管理および監視モジュール１３２６は、使用されるストレージの量、転送されるデータの量、ユーザの数、システムアップタイムおよびシステムダウンタイムの量といった、サブスクリプションオーダーにおけるサービスについての使用率統計を収集するように構成されてもよい。
【００８５】
ある実施形態では、クラウドインフラストラクチャシステム１３０２は、アイデンティティ管理モジュール１３２８を含んでいてもよい。アイデンティティ管理モジュール１３２８は、クラウドインフラストラクチャシステム１３０２においてアクセス管理および認証サービスなどのアイデンティティサービスを提供するように構成されてもよい。いくつかの実施形態では、アイデンティティ管理モジュール１３２８は、クラウドインフラストラクチャシステム１３０２によって提供されるサービスを利用したい顧客についての情報を制御してもよい。そのような情報は、そのような顧客のアイデンティティを認証する情報と、さまざまなシステムリソース（たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど）に対してそれらの顧客がどのアクションを行なうことが認可されているかを記述する情報とを含み得る。アイデンティティ管理モジュール１３２８はまた、各顧客についての記述的情報と、その記述的情報が誰によってどのようにアクセスされ、修正され得るかについての記述的情報との管理を含んでいてもよい。
【００８６】
図１４は、本発明のさまざまな実施形態が実現され得る例示的なコンピュータシステム１４００を示す。システム１４００は、上述のコンピュータシステムのうちのいずれかを実現するために使用されてもよい。図に示すように、コンピュータシステム１４００は、バスサブシステム１４０２を介して多くの周辺サブシステムと通信する処理部１４０４を含む。これらの周辺サブシステムは、処理加速部１４０６と、Ｉ／Ｏサブシステム１４０８と、記憶サブシステム１４１８と、通信サブシステム１４２４とを含んでいてもよい。記憶サブシステム１４１８は、有形のコンピュータ読取可能記憶媒体１４２２と、システムメモリ１４１０とを含む。
【００８７】
バスサブシステム１４０２は、コンピュータシステム１４００のさまざまなコンポーネントおよびサブシステムを意図されるように互いに通信させるためのメカニズムを提供する。バスサブシステム１４０２は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実施形態は複数のバスを利用してもよい。バスサブシステム１４０２は、さまざまなバスアーキテクチャのうちのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかであってもよい。たとえば、そのようなアーキテクチャは、業界標準アーキテクチャ（Industry Standard Architecture：ＩＳＡ）バス、マイクロチャネルアーキテクチャ（Micro Channel Architecture：ＭＣＡ）バス、強化ＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクス標準組織（Video Electronics Standards Association：ＶＥＳＡ）ローカルバス、および周辺コンポーネント相互接続（Peripheral Component Interconnect：ＰＣＩ）バスを含んでいてもよく、それは、ＩＥＥＥ  Ｐ１３８６．１規格で製造されるメザニンバスとして実現可能である。
【００８８】
１つ以上の集積回路（たとえば、従来のマイクロプロセッサまたはマイクロコントローラ）として実現され得る処理部１４０４は、コンピュータシステム１４００の動作を制御する。処理部１４０４には、１つ以上のプロセッサが含まれていてもよい。これらのプロセッサは、シングルコアまたはマルチコアプロセッサを含んでいてもよい。ある実施形態では、処理部１４０４は、各処理部に含まれるシングルまたはマルチコアプロセッサを有する、１つ以上の独立した処理部１４３２および／または１４３４として実現されてもよい。他の実施形態では、処理部１４０４はまた、２つのデュアルコアプロセッサをシングルチップへと集積することによって形成されるクアッドコア処理部として実現されてもよい。
【００８９】
さまざまな実施形態では、処理部１４０４は、プログラムコードに応答してさまざまなプログラムを実行でき、同時に実行される複数のプログラムまたはプロセスを維持できる。任意の所与の時間において、実行されるべきプログラムコードのうちのいくつかまたはすべては、プロセッサ１４０４に、および／または記憶サブシステム１４１８にあり得る。好適なプログラミングを通して、プロセッサ１４０４は、上述のさまざまな機能性を提供できる。コンピュータシステム１４００は加えて、処理加速部１４０６を含んでいてもよく、それは、デジタル信号プロセッサ（digital signal processor：ＤＳＰ）、専用プロセッサなどを含み得る。
【００９０】
Ｉ／Ｏサブシステム１４０８は、ユーザインターフェイス入力デバイスと、ユーザインターフェイス出力デバイスとを含んでいてもよい。ユーザインターフェイス入力デバイスは、キーボード、マウスまたはトラックボールなどのポインティングデバイス、ディスプレイに組込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声コマンド認識システム付き音声入力デバイス、マイクロホン、および他のタイプの入力デバイスを含んでいてもよい。ユーザインターフェイス入力デバイスは、たとえば、ジェスチャーおよび口頭コマンドを使用する自然のユーザインターフェイスを通して、マイクロソフトＸｂｏｘ（登録商標）３６０ゲームコントローラなどの入力デバイスをユーザが制御し、それと対話することを可能にする、マイクロソフトＫｉｎｅｃｔ（登録商標）運動センサなどの運動感知および／またはジェスチャー認識デバイスを含んでいてもよい。ユーザインターフェイス入力デバイスはまた、ユーザから目の活動（たとえば、写真撮影中および／またはメニュー選択中の「まばたき」）を検出し、アイジェスチャーを入力デバイス（たとえば、グーグル・グラス（登録商標））への入力として変換する、グーグル・グラス（登録商標）まばたき検出器などのアイジェスチャー認識デバイスを含んでいてもよい。加えて、ユーザインターフェイス入力デバイスは、ユーザが音声コマンドを通して音声認識システム（たとえば、Ｓｉｒｉ（登録商標）ナビゲータ）と対話できるようにする音声認識感知デバイスを含んでいてもよい。
【００９１】
ユーザインターフェイス入力デバイスはまた、３次元（３Ｄ）マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびに、スピーカ、デジタルカメラ、デジタルビデオカメラ、携帯型メディアプレイヤー、ウェブカメラ、画像スキャナ、指紋スキャナ、バーコードリーダ３Ｄスキャナ、３Ｄプリンタ、レーザー測距器、および視線追跡デバイスなどの音声／視覚デバイスを、何ら限定されることなく含んでいてもよい。加えて、ユーザインターフェイス入力デバイスは、たとえば、コンピュータ断層撮影装置、磁気共鳴撮像装置、ポジトロン放出断層撮影装置、医療用超音波検査装置などの医療用撮像入力デバイスを含んでいてもよい。ユーザインターフェイス入力デバイスはまた、たとえば、ＭＩＤＩキーボード、デジタル楽器などの音声入力デバイスを含んでいてもよい。
【００９２】
ユーザインターフェイス出力デバイスは、表示サブシステム、表示灯、または、音声出力デバイスなどの非視覚的ディスプレイを含んでいてもよい。表示サブシステムは、陰極線管（cathode ray tube：ＣＲＴ）、液晶ディスプレイ（liquid crystal display：ＬＣＤ）またはプラズマディスプレイを使用するものなどのフラットパネルデバイス、投影デバイス、タッチスクリーンなどであってもよい。一般に、「出力デバイス」という用語の使用は、コンピュータシステム１４００からユーザまたは他のコンピュータへ情報を出力するためのあらゆる可能なタイプのデバイスおよびメカニズムを含むよう意図されている。たとえば、ユーザインターフェイス出力デバイスは、モニタ、プリンタ、スピーカ、ヘッドホン、自動車ナビゲーションシステム、プロッタ、音声出力デバイス、およびモデムといった、テキスト、グラフィックスおよび音声／映像情報を視覚的に伝えるさまざまな表示デバイスを、何ら限定されることなく含んでいてもよい。
【００９３】
コンピュータシステム１４００は、現在システムメモリ１４１０内に位置するように図示されたソフトウェア要素を含む記憶サブシステム１４１８を含んでいてもよい。システムメモリ１４１０は、処理部１４０４上でロード可能および実行可能なプログラム命令、ならびに、これらのプログラムの実行中に生成されたデータを格納してもよい。
【００９４】
コンピュータシステム１４００の構成およびタイプに依存して、システムメモリ１４１０は、揮発性（ランダムアクセスメモリ（random access memory：ＲＡＭ）など）および／または不揮発性（読出専用メモリ（read-only memory：ＲＯＭ）、フラッシュメモリなど）であってもよい。ＲＡＭは典型的には、処理部１４０４に直ちにアクセス可能である、および／または、処理部１４０４によって現在動作され実行されている、データおよび／またはプログラムモジュールを含む。いくつかの実現化例では、システムメモリ１４１０は、スタティックランダムアクセスメモリ（ＳＲＡＭ）またはダイナミックランダムアクセスメモリ（ＤＲＡＭ）といった、複数の異なるタイプのメモリを含んでいてもよい。いくつかの実現化例では、起動中などにコンピュータシステム１４００内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入力／出力システム（basic input/output system：ＢＩＯＳ）が、典型的にはＲＯＭに格納されてもよい。限定のためではなく例として、システムメモリ１４１０はまた、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム（ＲＤＢＭＳ）などを含み得るアプリケーションプログラム１４１２と、プログラムデータ１４１４と、オペレーティングシステム１４１６とを示す。例として、オペレーティングシステム１４１６は、マイクロソフト・ウィンドウズ（登録商標）、アップル・マッキントッシュ（登録商標）、および／またはリナックスオペレーティングシステムのさまざまなバージョン、商業的に入手可能なさまざまなＵＮＩＸ（登録商標）またはＵＮＩＸ様オペレーティングシステム（さまざまなＧＮＵ／リナックスオペレーティングシステム、グーグル・クローム（登録商標）ＯＳなどを何ら限定されることなく含む）、および／または、ｉＯＳ、ウィンドウズ（登録商標）フォン、アンドロイド（登録商標）ＯＳ、ブラックベリー（登録商標）１０ＯＳ、パーム（登録商標）ＯＳオペレーティングシステムなどのモバイルオペレーティングシステムを含んでいてもよい。
【００９５】
記憶サブシステム１４１８はまた、いくつかの実施形態の機能性を提供するデータ構造および基本プログラミングを格納するための有形のコンピュータ読取可能記憶媒体を提供してもよい。プロセッサによって実行されると上述の機能性を提供するソフトウェア（プログラム、コードモジュール、命令）が、記憶サブシステム１４１８に格納されてもよい。これらのソフトウェアモジュールまたは命令は、処理部１４０４によって実行されてもよい。記憶サブシステム１４１８はまた、本発明に従って使用されるデータを格納するためのリポジトリを提供してもよい。
【００９６】
記憶サブシステム１４１８はまた、コンピュータ読取可能記憶媒体１４２２にさらに接続され得るコンピュータ読取可能記憶媒体リーダ１４２０を含んでいてもよい。システムメモリ１４１０とともに、およびオプションでシステムメモリ１４１０と組合わされて、コンピュータ読取可能記憶媒体１４２２は、リモート、ローカル、固定および／またはリムーバブルの記憶装置に加えて、コンピュータ読取可能情報を一時的におよび／またはより永続的に含み、格納し、伝送し、検索するための記憶媒体を包括的に表わしてもよい。
【００９７】
コードまたはコードの一部を含むコンピュータ読取可能記憶媒体１４２２はまた、情報の格納および／または伝送のための任意の方法または技術において実現された揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体などといった記憶媒体および通信媒体を含む、当該技術分野において公知の、または使用されている任意の適切な媒体を含み得る。これは、ＲＡＭ、ＲＯＭ、電子的消去可能プログラマブルＲＯＭ（electronically erasable programmable ROM：ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（digital versatile disk：ＤＶＤ）、または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、もしくは他の有形のコンピュータ読取可能媒体といった、有形のコンピュータ読取可能記憶媒体を含み得る。これはまた、所望の情報を伝送するために使用可能であり、コンピューティングシステム１４００によってアクセス可能であるデータ信号、データ伝送、または任意の他の媒体といった、非有形のコンピュータ読取可能媒体を含み得る。
【００９８】
例として、コンピュータ読取可能記憶媒体１４２２は、非リムーバブルの不揮発性磁気媒体との間で読出および書込を行なうハードディスクドライブ、リムーバブルの不揮発性磁気媒体との間で読出および書込を行なう磁気ディスクドライブ、ならびに、ＣＤ  ＲＯＭ、ＤＶＤ、Ｂｌｕ−Ｒａｙ（登録商標）ディスク、または他の光学媒体といった、リムーバブルの不揮発性光ディスクとの間で読出および書込を行なう光ディスクドライブを含んでいてもよい。コンピュータ読取可能記憶媒体１４２２は、Ｚｉｐ（登録商標）ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス（universal serial bus：ＵＳＢ）フラッシュドライブ、セキュアデジタル（secure digital：ＳＤ）カード、ＤＶＤディスク、デジタルビデオテープなどを含んでいてもよいが、それらに限定されない。コンピュータ読取可能記憶媒体１４２２はまた、フラッシュメモリベースのソリッドステートドライブ（solid-state drive：ＳＳＤ）、企業フラッシュドライブ、ソリッドステートＲＯＭといった、不揮発性メモリに基づいたＳＳＤ、ソリッドステートＲＡＭ、ダイナミックＲＡＭ、スタティックＲＡＭ、ＤＲＡＭベースのＳＳＤ、磁気抵抗ＲＡＭ（ＭＲＡＭ）ＳＳＤといった、揮発性メモリに基づいたＳＳＤ、および、ＤＲＡＭベースのＳＳＤとフラッシュメモリベースのＳＳＤとの組合せを使用するハイブリッドＳＳＤを含んでいてもよい。ディスクドライブおよびそれらの関連付けられたコンピュータ読取可能媒体は、コンピュータシステム１４００のためのコンピュータ読取可能命令、データ構造、プログラムモジュール、および他のデータの不揮発性格納を提供してもよい。
【００９９】
通信サブシステム１４２４は、他のコンピュータシステムおよびネットワークへのインターフェイスを提供する。通信サブシステム１４２４は、コンピュータシステム１４００とは別のシステムからデータを受信し、別のシステムにデータを送信するためのインターフェイスとして機能する。たとえば、通信サブシステム１４２４は、コンピュータシステム１４００がインターネットを介して１つ以上のデバイスに接続できるようにしてもよい。いくつかの実施形態では、通信サブシステム１４２４は、（たとえば、３Ｇ、４Ｇ、またはＥＤＧＥ（enhanced data rates for global evolution：エンハンスト・データレート・フォー・グローバル・エボリューション）、ＷｉＦｉ（ＩＥＥＥ８０２．１１ファミリー規格）、または他のモバイル通信技術、またはそれらの任意の組合せといった携帯電話技術、高度なデータネットワーク技術を使用した）無線音声および／またはデータネットワークにアクセスするための無線周波数（radio frequency：ＲＦ）トランシーバコンポーネント、全地球測位システム（global positioning system：ＧＰＳ）受信機コンポーネント、および／または他のコンポーネントを含んでいてもよい。いくつかの実施形態では、通信サブシステム１４２４は、無線インターフェイスに加えて、またはその代わりに、有線ネットワーク接続（たとえば、イーサネット）を提供できる。
【０１００】
いくつかの実施形態では、通信サブシステム１４２４はまた、構造化および／または非構造化データフィード１４２６、イベントストリーム１４２８、イベント更新１４３０などの形をした入力通信を、コンピュータシステム１４００を使用する１人以上のユーザのために受信してもよい。
【０１０１】
例として、通信サブシステム１４２４は、ツイッター（登録商標）フィード、フェースブック（登録商標）更新、リッチ・サイト・サマリー（Rich Site Summary：ＲＳＳ）フィードなどのウェブフィード、および／または１つ以上の第三者情報源からのリアルタイム更新といった、ソーシャルネットワークおよび／または他の通信サービスのユーザからのデータフィード１４２６をリアルタイムで受信するように構成されてもよい。
【０１０２】
加えて、通信サブシステム１４２４はまた、リアルタイムイベントのイベントストリーム１４２８および／またはイベント更新１４３０を含み得る、明確な終わりがなく本質的に連続的または無限であり得る連続データストリームの形をしたデータを受信するように構成されてもよい。連続データを生成するアプリケーションの例は、たとえば、センサデータアプリケーション、金融ティッカー、ネットワーク性能測定ツール（たとえば、ネットワーク監視およびトラフィック管理アプリケーション）、クリックストリーム分析ツール、自動車交通監視などを含んでいてもよい。
【０１０３】
通信サブシステム１４２４はまた、構造化および／または非構造化データフィード１４２６、イベントストリーム１４２８、イベント更新１４３０などを、コンピュータシステム１４００に結合された１つ以上のストリーミングデータソースコンピュータと通信し得る１つ以上のデータベースに出力するように構成されてもよい。
【０１０４】
コンピュータシステム１４００は、ハンドヘルド携帯デバイス（たとえば、ｉＰｈｏｎｅ（登録商標）携帯電話、ｉＰａｄ（登録商標）コンピューティングタブレット、ＰＤＡ）、ウェアラブルデバイス（たとえば、グーグル・グラス（登録商標）頭部装着型ディスプレイ）、ＰＣ、ワークステーション、メインフレーム、キオスク、サーバラック、または任意の他のデータ処理システムを含む、さまざまなタイプのうちの１つであり得る。
【０１０５】
コンピュータおよびネットワークの絶えず変化する性質により、図に示されるコンピュータシステム１４００の説明は、単に特定の一例として意図される。図に示されるシステムよりも多い、または少ないコンポーネントを有する多くの他の構成が可能である。たとえば、カスタマイズされたハードウェアも使用されてもよく、および／または、特定の要素が、ハードウェア、ファームウェア、ソフトウェア（アプレットを含む）、または組合せで実現されてもよい。さらに、ネットワーク入力／出力デバイスといった他のコンピューティングデバイスへの接続が採用されてもよい。ここに提供される開示および教示に基づいて、当業者であれば、さまざまな実施形態を実現するための他のやり方および／または方法を理解するであろう。
【０１０６】
前述の記載では、説明の目的のため、多くの特定の詳細が、本発明のさまざまな実施形態の完全な理解を提供するために述べられた。しかしながら、これらの特定の詳細のうちのいくつかがなくても本発明の実施形態は実践され得る、ということは、当業者には明らかであろう。他の例では、周知の構造およびデバイスは、ブロック図の形で示される。
【０１０７】
前述の記載は例示的な実施形態のみを提供しており、この開示の範囲、利用可能性、または構成を限定するよう意図されてはいない。むしろ、例示的な実施形態の前述の記載は、例示的な実施形態を実現するための実施可能な説明を当業者に提供するであろう。添付された請求項で述べられるようなこの発明の精神および範囲から逸脱することなく、要素の機能および配置においてさまざまな変更が行なわれてもよい、ということが理解されるべきである。
【０１０８】
前述の記載では、実施形態の完全な理解を提供するために、特定の詳細が与えられる。しかしながら、これらの特定の詳細がなくても実施形態は実践され得る、ということは、当業者には理解されるであろう。たとえば、実施形態を必要以上に詳細に記して不明瞭にすることがないように、回路、システム、ネットワーク、プロセス、および他のコンポーネントは、ブロック図の形のコンポーネントとして示されたかもしれない。他の例では、実施形態を不明瞭にしないように、周知の回路、プロセス、アルゴリズム、構造、および手法は、不要な詳細なしで示されたかもしれない。
【０１０９】
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されたかもしれないということに留意されたい。フローチャートは動作を順次プロセスとして説明したかもしれないが、動作の多くは並行してまたは同時に行なうことが可能である。加えて、動作の順序は並べ替えられてもよい。プロセスは、その動作が完了すると終了するが、図に含まれない追加のステップを有していてもよい。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応していてもよい。プロセスがある機能に対応している場合、その終了は、その機能が呼出し元の機能または主機能に戻ることに対応可能である。
【０１１０】
「コンピュータ読取可能媒体」という用語は、命令および／またはデータを格納し、含み、または担持することができる、携帯型または固定式記憶装置、光学記憶装置、無線チャネル、ならびにさまざまな他の媒体を含むものの、それらに限定されない。コードセグメントまたはマシン実行可能命令が、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、もしくは、命令、データ構造またはプログラム文の任意の組合せを表わしてもよい。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡し、および／または受信することによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク伝送などを含む任意の好適な手段を介して渡され、発送され、または伝送されてもよい。
【０１１１】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実現される場合、必要なタスクを行なうためのプログラムコードまたはコードセグメントが、マシン読取可能媒体に格納されてもよい。プロセッサが、必要なタスクを行なってもよい。
【０１１２】
前述の明細書では、この発明の局面がその特定の実施形態に関して説明されているが、当業者であれば、この発明がそれらに限定されないことを認識するであろう。上述の発明のさまざまな特徴および局面は、個々にまたはともに使用されてもよい。また、実施形態は、明細書のより広範な精神および範囲から逸脱することなく、ここに説明されたものを超えるあらゆる数の環境および用途において利用され得る。したがって、明細書および図面は、限定的ではなく例示的であるとみなされるべきである。
【０１１３】
加えて、例示のために、方法は特定の順序で説明された。代替的な実施形態では、方法は、説明されたものとは異なる順序で行なわれてもよい、ということが理解されるべきである。上述の方法はハードウェアコンポーネントによって行なわれてもよく、もしくは、汎用または専用プロセッサ、もしくは命令でプログラミングされた論理回路といったマシンに方法を行なわせるために使用され得るマシン実行可能命令のシーケンスで具現化されてもよい、ということも理解されるべきである。これらのマシン実行可能命令は、１つ以上のマシン読取可能媒体、たとえば、ＣＤ−ＲＯＭまたは他のタイプの光ディスク、フロッピー（登録商標）ディスケット、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードまたは光カード、フラッシュメモリ、もしくは、電子命令を格納するのに好適である他のタイプのマシン読取可能媒体上に格納されてもよい。それに代えて、方法は、ハードウェアとソフトウェアとの組合せによって行なわれてもよい。
【図１】
2019522846.tif 000003
【図２】
2019522846.tif 000004
【図３】
2019522846.tif 000005
【図４】
2019522846.tif 000006
【図５】
2019522846.tif 000007
【図６】
2019522846.tif 000008
【図７】
2019522846.tif 000009
【図８】
2019522846.tif 000010
【図９】
2019522846.tif 000011
【図１０】
2019522846.tif 000012
【図１１】
2019522846.tif 000013
【図１２】
2019522846.tif 000014
【図１３】
2019522846.tif 000015
【図１４】
2019522846.tif 000016
【国際調査報告】
2019522846.tif 000017
2019522846.tif 000018