JP6967534B2 - データベースプロビジョニングのためのリソース配分 - Google Patents

データベースプロビジョニングのためのリソース配分 Download PDF

Info

Publication number
JP6967534B2
JP6967534B2 JP2018563858A JP2018563858A JP6967534B2 JP 6967534 B2 JP6967534 B2 JP 6967534B2 JP 2018563858 A JP2018563858 A JP 2018563858A JP 2018563858 A JP2018563858 A JP 2018563858A JP 6967534 B2 JP6967534 B2 JP 6967534B2
Authority
JP
Japan
Prior art keywords
database
template
databases
cloud
private cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018563858A
Other languages
English (en)
Other versions
JP2019522846A (ja
JP2019522846A5 (ja
Inventor
ヒギンソン,アントニー・スティーブン
ブラント,マイケル・ジェームズ
クレモニーニ,ジェームズ・アントニー・ウィリアム
バルチ,ニック
マスターソン,ジョン
ヒューズ,ポール
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2019522846A publication Critical patent/JP2019522846A/ja
Publication of JP2019522846A5 publication Critical patent/JP2019522846A5/ja
Application granted granted Critical
Publication of JP6967534B2 publication Critical patent/JP6967534B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Description

背景
クラウドコンピューティングは、専用ハードウェア/ソフトウェアを使用しなければ実現できないであろうより高い効率の達成を究極の目標として、ネットワークまたはインターネットを介してアクセスされるリソースの共有を可能にする。具体的には、組織がビジネス目標を達成しながら自らのコンピューティングリソースをフレキシブルに保つことを可能にする多くの特定領域で、効率を実現することができる。データベースを「プロビジョニングする」ための労力のレベル、または所要時間は、時間、コスト、および/または工数の点で、最適化の一領域を表わす。この労力のレベルは典型的には、2つの主な動作領域、すなわち、(1)データベースを実行または収容するためにデータベースソフトウェアが使用される物理マシンにインストールされたデータベースソフトウェアを表わす、ソフトウェアと、(2)顧客データを収容し、保持し、実行するために使用される物理データベースおよび関連付けられたメモリ構造を表わす、データベースインスタンスとに分類され得る。これらの2つの領域を、プライベート、パブリック、またはハイブリッドクラウドにおいて迅速、安全、かつ正確にプロビジョニングすることは、効率および規模の経済を達成するという組織目標の保証にとって最重要である。組織がどのようにこれらの新しいアーキテクチャを定量化および定性化できるかは、データを集める点で難しく、タスクを行なう労力の点で費用がかかり、分析して決定を下す時間量の点で面倒である。これらの作業に着手する場合、プロセス全体は「分析麻痺」をもたらすことが多い。
簡単な概要
いくつかの実施形態では、プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法は、顧客のデータベースシステムにおける複数のデータベースの特性を判断するステップを含んでいてもよい。当該方法はまた、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けするステップを含んでいてもよい。当該方法は加えて、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにするステップを含んでいてもよい。当該方法はさらに、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信するステップを含んでいてもよい。当該方法はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにするステップを含んでいてもよい。
いくつかの実施形態では、非一時的なコンピュータ読取可能媒体は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに動作を行なわせる命令を含んでいてもよく、当該動作は、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けすることを含む。当該動作は加えて、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにすることを含んでいてもよい。当該動作はさらに、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信することを含んでいてもよい。当該動作はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにすることを含んでいてもよい。
いくつかの実施形態では、システムは、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに動作を行なわせる命令を含む、1つ以上のメモリデバイスとを含んでいてもよく、当該動作は、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けすることを含む。当該動作は加えて、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにすることを含んでいてもよい。当該動作はさらに、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信することを含んでいてもよい。当該動作はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにすることを含んでいてもよい。
ここに説明される実施形態のうちのいずれかでは、以下の特徴のうちの1つ以上が、任意の組合せで、何ら限定されることなく含まれていてもよい。複数のデータベースの特性は、オペレーティングシステムタイプおよびバージョンを含んでいてもよい。複数のデータベースの特性は、データベースタイプおよびバージョンを含んでいてもよい。複数のデータベースの特性は、データベースメモリサイズを含んでいてもよい。複数のデータベースの特性は、プロセッサ使用率を含んでいてもよい。複数のデータベースの特性は、特性をゲートウェイを通してクラウドサポートプラットフォームへ伝送する、顧客のデータベースシステムにインストールされた1つ以上のソフトウェアエージェントによって判断されてもよい。クラウドサポートプラットフォームは、複数のデータベースの特性のリアルタイム報告を生成してもよい。当該方法/動作はまた、特性を、少なくとも第1のグループの特性および第2のグループの特性へと分割することを含んでいてもよい。第1のグループの特性は、複数のデータベースのうちの2つ以上のデータベース間で共有される特性を含んでいてもよく、第2のグループの特性は、複数のデータベースのうちの2つ以上のデータベースのうちの少なくとも1つに特有の特性を含んでいてもよい。第1のグループの特性は、オペレーティングシステムと、データベースバージョン番号と、データベースタイプとを含んでいてもよい。第2のグループの特性は、データベースメモリサイズと、リスナポートと、ホームディレクトリ経路とを含んでいてもよい。当該方法/動作はまた、データベーステンプレートの選択を受信後、データベーステンプレートからの第1のグループの特性を含む一時的テンプレートを作成することと、第2のグループの特性についての値を含む入力を受信することと、第2のグループの特性についての値を一時的テンプレートに割当てることとを含んでいてもよい。当該方法/動作はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースがプライベートクラウドにおいてアクティブである間、一時的テンプレートをテンプレートのライブラリにおいて保持すること、データベーステンプレートによって少なくとも部分的に記述されたデータベースがプライベートクラウドにおいてもはやアクティブではなくなった後に、テンプレートのライブラリから一時的テンプレートを削除すること、および/または、データベーステンプレートによって少なくとも部分的に記述されたデータベースがいつ、プライベートクラウドにおいてもはやアクティブではなくなったかを判断するために、クラウドサポートプラットフォームがプライベートクラウドに問合せることを含んでいてもよい。当該方法/動作はまた、複数のデータベーステンプレートから、プロビジョニング要求の一部として、追加のデータベーステンプレートの追加の選択を受信することと、データベーステンプレートによって少なくとも部分的に記述されたデータベースと、追加のデータベーステンプレートによって少なくとも部分的に記述された追加のデータベースとが、プロビジョニング要求の一部としてともにプロビジョニングされるべきであることを示す入力を受信することと、追加のデータベーステンプレートによって少なくとも部分的に記述された追加のデータベースが、データベーステンプレートによって少なくとも部分的に記述されたデータベースとともに、プライベートクラウドにおいてプロビジョニングされるようにすることとを含んでいてもよい。プライベートクラウドは、第1のオペレーティングシステムを使用する第1のプラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS)プールと、第2のオペレーティングシステムを使用する第2のPaaSプールとを含んでいてもよく、第1のオペレーティングシステムは第2のオペレーティングシステムとは異なっていてもよい。第1のPaaSプールは、第1のデータベースバージョンを使用する第1のデータベース・アズ・ア・サービス(Database as a Service:DBaaS)プールと、第2のデータベースバージョンを使用する第2のDBaaSプールとを含んでいてもよく、第1のデータベースバージョンは第2のデータベースバージョンとは異なっていてもよい。当該方法/動作はまた、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、データベーステンプレートにおける仕様と一致するDBaaSプールにインストール可能かどうかを判断するために、プライベートクラウドをテストすることを含んでいてもよい。プライベートクラウドをテストすることは、プライベートクラウドが、データベーステンプレートと一致する、オペレーティングシステムとデータベースバージョンとデータベースタイプとを有するDBaaSプールを含むかどうかと、プライベートクラウドが、データベーステンプレートによって少なくとも部分的に記述されたデータベースに対処するのに十分なメモリおよび処理パワーを有するかどうかとを判断することを含んでいてもよい。
図面の簡単な説明
本発明の性質および利点の一層の理解は、明細書の残りの部分および図面を参照して実現され得る。いくつかの図面にわたり、同様の構成要素を指すために同じ参照符号が使用される。場合によっては、複数の同様の構成要素のうちの1つを示すために、参照符号にサブラベルが関連付けられる。既存のサブラベルへの特定化なく参照符号が参照される場合、それは、そのような複数の同様の構成要素すべてを指すよう意図されている。
いくつかの実施形態に従った、顧客データベースシステム、クラウドサポートプラットフォーム、およびプライベートクラウドの簡略システム図である。 いくつかの実施形態に従った、インストールされたゲートウェイを有する顧客データベースシステムの簡略図である。 いくつかの実施形態に従った、プライベートクラウドにおいて提供され得る異なるテンプレート提供物を示す図である。 いくつかの実施形態に従った、データベースタイプおよびレベルを選択するためのユーザインターフェイスを示す図である。 いくつかの実施形態に従った、単一のデータベーステンプレートを形成するために複数のデータベースからの特性をどのように組合せることができるかについての図である。 いくつかの実施形態に従った、選択されたテンプレートの可変パラメータを完了するためのユーザインターフェイスを示す図である。 いくつかの実施形態に従った、プロビジョニングプロセス中に進行を更新するためのユーザインターフェイスを示す図である。 いくつかの実施形態に従った、プロビジョニングプロセスによって作成される一時的テンプレートを示す図である。 いくつかの実施形態に従った、テンプレートおよび一時的テンプレートを含むライブラリがどのように経時的に管理されるかを示す図である。 いくつかの実施形態に従った、複数のデータベースのプロビジョニングを管理するためのユーザインターフェイスを示す図である。 いくつかの実施形態に従った、プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法を示す図である。 実施形態のうちのいくつかを実現するための分散型システムの簡略ブロック図である。 実施形態システムのコンポーネントによって提供されるサービスをクラウドサービスとして提供し得るシステム環境のコンポーネントの簡略ブロック図である。 さまざまな実施形態が実現され得る例示的なコンピュータシステムを示す図である。
詳細な説明
ここに説明されるのは、プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分するための実施形態である。顧客データベースシステムは、顧客によって構成されたデータベースおよびサーバを含んでいてもよい。ゲートウェイが顧客データベースシステムをクラウドサポートプラットフォームにリンクすることができ、クラウドサポートプラットフォームは次に、データベースシステムが作動する際にバックグラウンドで顧客データベースシステムを分析することができる。クラウドサポートプラットフォームは、使用率統計を監視し、データベースシステムを分析して、システムにおける個々のデータベースの各々を記述する特性を判断することができる。データベースシステムの特性はグループ分けされて、顧客データベースシステム上でインスタンス化されるデータベースのクラスを概して記述するテンプレートを形成することができる。クラウドサポートプラットフォームは次に、顧客データベースシステムにおける既存データベースと同様であるデータベースをプライベートクラウドにおいてプロビジョニングする要求が受信された場合に、プライベートクラウドが利用可能なハードウェアおよびソフトウェアリソースを有することを保証するために、リソースを予め配分することができる。顧客がプライベートクラウドにおける新しいデータベースのプロビジョニングを望む場合、インターフェイスは、データベーステンプレートのライブラリを顧客に提示する。顧客はデータベーステンプレートを選択し、さまざまな調整可能パラメータをカスタマイズして、プロビジョニング要求を行なうことができる。選択されたテンプレートとの適合性を保証するためにプライベートクラウドが前もってテストされ、プライベートクラウドリソースが予め配分されたため、プロビジョニング要求は、数週間または数ヶ月ではなく、数分で完了され得る。
カタログのライブラリが、プライベートクラウドにおいてプロビジョニングされ得る利用可能なデータベースを表わしてもよい。このライブラリは、組織のビジネス要件に対してマッピングされた各データベースの技術仕様間のリンクである。たとえば、金レベルのデータベースは、高度に構成されたクラウドに存在する高度に構成されたデータベースであってもよい。カタログは、ソフトウェアバージョン、データベースタイプ、データベースサイズ、データベース構成、バックアップ構成などの点でデータベースの一般的構成を決定するデータベーステンプレートから構成され得る。ライブラリに格納されるこれらのカタログの数の減少を助けるために、カタログの各々は、カタログのパラメータが動的に変更可能であるという点で「一時的である」と考えることができ、それは、ユーザとサポートチームとの間の対話を減少させ、正しいデータベースが正しいクラウドにおいてプロビジョニングされることを保証する。
図1は、いくつかの実施形態に従った、顧客データベースシステム、クラウドサポートプラットフォーム、およびプライベートクラウドの簡略システム図を示す。顧客データベースシステム102は、1つ以上のデータベース104と、1つ以上のサーバ106とを含んでいてもよい。顧客データベースシステム102はまた、データベース104に格納されたデータへのアクセスを管轄するリレーショナルデータベース管理システム(relational database management system:RDBMS)を含んでいてもよい。顧客データベースシステム102は、顧客作業サイト上に物理的に存在してもよく、またはそれに代えて、顧客に関連付けられた多くの異なる作業サイトに分散されてもよい。
いくつかの実施形態では、顧客は、データベースプロバイダによって提供されるクラウドサポートプラットフォーム120に加入してもよい。たとえば、クラウドサポートプラットフォーム120は、オラクル(登録商標)によって提供されるオラクル・アドバンスド・サポート・ポータル(登録商標)を含んでいてもよい。クラウドサポートプラットフォーム120は、顧客データベースシステム102を監視し分析するゲートウェイ108を、顧客データベースシステム102にインストールすることができる。ゲートウェイ108は、使用率統計、ログ履歴を分析し、各データベース104の分析を行なって、顧客データベースシステム102のハードウェア/ソフトウェア要件、および推定される能力ニーズを判断することができる。顧客は、クラウドサポートプラットフォーム120にログインして、これらの報告および統計にアクセスし、顧客データベースシステム102の性能を監視することができる。
具体的には、クラウドサポートプラットフォーム120は、データベース104を収容する物理マシンを識別でき、各データベース104の特性を判断する。これらの特性は、各データベース104の物理メモリサイズ要件、各データベースによって使用されるオペレーティングシステム、各データベース104のソフトウェアバージョン、各データベース104の速度/処理要件、各データベース104の構成などを含んでいてもよい。ゲートウェイ108はまた、セキュリティ要件、待ち時間要件、利用可能性要件、データ保護およびバックアップ要件などといった、データベース104の機能を識別してもよい。以下により詳細に説明されるように、顧客データベースシステム102のこれらの特性は、顧客データベースシステム102の各データベース104のハードウェア/ソフトウェア要件を記述するように機能する複数のデータベーステンプレートを生成するために、クラウドサポートプラットフォーム120によって使用される。
クラウドサポートプラットフォーム120は、プライベートクラウド110に通信可能に結合され得る。プライベートクラウド110は、一般的なオペレーティングシステムに基づいたリソースのプラットフォーム・アズ・ア・サービス(PaaS)プール112を含んでいてもよい。たとえば、PaaSプール112は、リナックス(登録商標)オペレーティングシステムに基づいたグループと、ソラリス(登録商標)オペレーティングシステムに基づいたグループとを含んでいてもよい。プライベートクラウド110はまた、各データベースのバージョンおよびタイプに基づいたリソースのデータベース・アズ・ア・サービス(DBaaS)プール114グルーピングを含んでいてもよい。たとえば、DBaaSプール114は、データベースバージョン、単一インスタンス対複数インスタンス設計、コンテナデータベース対プラガブルデータベースなどに基づいたデータベースのグルーピングを含んでいてもよい。
一般に、顧客がプライベートクラウド110における新しいデータベースのプロビジョニングを決定すると、新しくプロビジョニングされるデータベースについての要件は、顧客データベースシステム102のデータベース104に既に存在するデータベースと非常に類似するであろう。たとえば、顧客は、既存データベースをアップグレードすること、既存データベースに機能を追加すること、既存データベースをバックアップすること、または、新しいデータベースを設計して既存データベースを置き換えることを望むかもしれない。これらの動作の各々では、プライベートクラウド110においてプロビジョニングされるデータベースは、顧客データベースシステム102における既存データベース104のうちの少なくとも1つと非常に類似するかもしれない。既存データベース104を分析することにより、ゲートウェイ108および/またはクラウドサポートプラットフォーム120は、顧客が将来プライベートクラウド110におけるプロビジョニングを要求するであろうデータベースのタイプを効果的に予測することができる。この情報を知って、クラウドサポートプラットフォーム120はプライベートクラウド110をテストして、それが顧客データベースシステム102においてよく見られるデータベースに適合することを保証することができる。クラウドサポートプラットフォーム120はまた、そのような要求が顧客データベースシステム102から受信されたときにプライベートクラウド110が準備できているように、プライベートクラウド110においてハードウェア/ソフトウェアリソースを予め配分することができる。これらの動作は、顧客のニーズに応えるために最適化されたプライベートクラウド110を作成する。この開示以前では、顧客がプライベートクラウド110における新しいデータベースのプロビジョニングを望んだ場合、ハードウェア/ソフトウェアリソースを配分し、適切なオペレーティングシステムおよびデータベースバージョンがプライベートクラウド110にインストールされたことを保証するプロセスは、数週間、さらには数ヶ月かかるプロセスであった。顧客データベースシステム102がゲートウェイ108および/またはクラウドサポートプラットフォーム120によって分析される際にプライベートクラウド110を予め配分しテストすることにより、顧客データベースシステム102の既存データベースに由来する選択されたテンプレートに基づいた新しいデータベースのためのプロビジョニングプロセスは、数分で完了され得る。
図2は、いくつかの実施形態に従った、インストールされたゲートウェイ108を有する顧客データベースシステム102の簡略図を示す。顧客データベースシステム102は、さまざまなオペレーティングシステムタイプおよびバージョンのサーバ106にインストールされた、異なる構成(たとえば、RAC、PDB、単一インスタンスなど)の、およびさまざまなバージョン(たとえば、10g、11g、12c)のデータベース104を含んでいてもよい。これらのホストは、仮想マシンおよび/または物理マシンであり得る。場合によっては、ホストは、インストールされ構成されたソフトウェアまたはデータベースを有していなくてもよく、単に配分を待ってアイドル状態であってもよい。
クラウドサポートプラットフォーム120のゲートウェイ108は、顧客データベースシステム102にインストールされ得る。顧客アドミニストレータは、クラウドサポートプラットフォーム120によって提供されるサービスおよびツーリングに、ローカルまたはリモートにアクセスしてもよい。一例では、クラウドサポートプラットフォームおよび/またはゲートウェイは、クラウドプラグインおよびデータベースプロビジョニングサービス論理コードを含むオラクルのEM12C(登録商標)ソフトウェアスイートの完全なコピーをインストールしたかもしれない。顧客データベースシステム102についての構成および性能データは、顧客データベースシステム102にインストールされたホストのさまざまなエージェント202によって収集され得る。これらのエージェント202は、オペレーティングシステム、メモリ、ストレージ、CPU使用率、および帯域幅使用率といった特性を検出することができる。エージェント202、またはEM12Cプラグインは次に、ホストサーバおよびホストデータベースを監視するプロセス204および206に折り返し報告してもよい。データベース/サーバ特性は、リポジトリ208に格納されてもよい。
図1に少し戻って、プライベートクラウド110は、いくつかの論理グルーピングの組合せである。第1の論理グルーピングはPaaSゾーン112であり、それは配分されたホストの集合である。第2の論理グルーピングはDBaaSゾーン114であり、それは、データベースが作成され利用され得るリソースのプールである。これらの論理グルーピングは、クラウドサポートプラットフォーム120を通して提供されるプラグインを使用して作成され、格納され得る。
顧客データベースシステム102を分析し、データベーステンプレートを生成した後に、プライベートクラウド110におけるあらゆる既存システムと、プライベートクラウド110および/または顧客データベースシステム102内の構成および現在の使用率とともに、顧客のデータベースシステムの概要を提供するために、テンプレートの表示が顧客に提示され得る。顧客がどのようにプライベートクラウド110を弾性であるように(すなわち、伸縮するように)操作できるかについての概要を付与するために、プライベートクラウド110に配分される準備ができている潜在的なホストも顧客に表示されてもよい。
プライベートクラウド110における潜在的なホストは、リナックス、AIX、ソラリス、ウィンドウズ(登録商標)などといったオペレーティングシステムの混合物であってもよい。図2に戻って、PaaSプール112におけるすべてのホストが同じタイプのものであることを保証するためにオペレーティングシステムタイプをテストする(210)ために、ゲートウェイ108におけるデータベースプロビジョニングサービス論理コードを使用して、テストを行なうことができる。たとえば、配分を待っているすべてのホストがリナックスおよびソラリスの混合物であってもよく、一方、PaaSプール112はリナックスのみで構成されてもよい。正しいホストが対応する正しいPaaSプール112に割当てられることを保証するために、顧客に表示されたデータは、システムタイプのテスト210からの結果を含んでいてもよい。この例では、リナックスホストは表示され得るものの、ソラリスホストは表示されないであろう。このテストは、DBaaSプール114の誤りまたは潜在的な構成ミスが生じないことを保証し、それはクラウドプロビジョニングプロセスを加速して、DBaaSクラウドを作成し、維持し、修正するために必要とされる労力および専門技術のレベルを低下させる。
DBaaSプール114内の構成および現在の使用率とともに、PaaSプール112にインストールされたデータベースソフトウェアの概要を付与するために、データが顧客に提示され得る。ソフトウェアは、プールごとにデータベースタイプを判断する。たとえば、データベースプールは、プロビジョニング中のデータベースと同じバージョンのものでなければならない。たとえば、バージョン12cオラクル(登録商標)データベースは、DBaaSプールがそこで作動するバージョン12cソフトウエアを有していなかった場合、DBaaSプール上に存在できないであろう。
顧客が新しいデータベースのプロビジョニングを要求すると、顧客は、テンプレートのライブラリからテンプレートを選択するであろう。各テンプレートは、顧客データベースシステム102における既存データベースのソース構成についての情報を含んでいてもよい。適切なソフトウェアバージョンがPaaSプール112にインストールされることを保証するために、テスト212を行なうことができる(ターゲットデータベースタイプが個々のDBaaSプールに割当てられ得るため、これは必要かもしれない)。たとえば、リアル・アプリケーション・クラスタ(Real Application Clusters:RAC)データベースは、正確に作動できるようになるためにインストールされたオラクルのクラスタ・レディ・サービス(Cluster Ready Services:CRS)ソフトウェアを有していなければならず、一方、単一インスタンスデータベースは、そのような追加ソフトウエアを必要としない。ソフトウェアバージョンテスト212は、顧客が特定のデータベースを正しいDBaaSプール114へデプロイメントすることしかできないことを保証できる。
顧客はまた、特定のサイズ(たとえば、メモリ、ストレージ、およびCPU要件)を有するデータベース構成を要求してもよい。DBaaSプール114はまた、要求された構成を収容するのに正しいサイズであるように作成されてもよい。たとえば、新しいデータベースがプライベートクラウド110の予め配分されたリソースに収まることを保証するために、DBaaSプール114は、要求されたサイズよりも大きくなければならない。最後に、顧客データベースシステム102に由来するテンプレートについて、顧客がデータベースの正しいサイズを要求できることを保証するために、データベースタイプテスト214がゲートウェイ108によって実行され得る。
プライベートクラウド110における新しくプロビジョニングされたデータベースについての要求されたテンプレートに対して、すべてのテスト210、212、214が一旦行なわれると、クラウドサポートプラットフォーム120は、プライベートクラウド110において新しいデータベースを実際にプロビジョニングするために、さまざまなAPIを通して動作することができる。実施可能な程度の開示を提供するために、オラクル・エンタープライズ・マネージャ(Enterprise Manager:EM)のAPIを通してデータベースをプロビジョニングするためのプロセスが以下に含まれる。しかしながら、この開示に鑑みて、当業者であれば、これらの特定の手続きを、プライベートクラウド110とインターフェイス接続する他のシステム用の他のAPIに対して実行されるように修正できるであろう。したがって、以下の説明は例示に過ぎず、限定的であるよう意図されてはいない。
この特定の例では、プロビジョニングはすべて、それがゾーン、プール、ライブラリ、一時的テンプレート、またはデータベース自体であろうとなかろうと、2つのエンタープライズ・マネージャAPI、すなわち、エンタープライズ・マネージャ・コマンド・ライン・インターフェイス(Enterprise Manager Command Line Interface:EMCLI)APIと、レプリゼンテーショナル・ステート・トランスファー(Representational State Transfer:REST)APIとを通して達成されてもよい。EMCLI APIは、単一コマンドラインで実行される単純な手続き呼出しである。コマンドラインは、動詞(すなわち、「我々がしようとしていること」)と、その動詞をサポートする1組のパラメータとを含んでいてもよい。EMCLI動詞は、リアルタイムで、またはエンタープライズ・マネージャ・スケジューラを通して実行され得る。REST APIは、ウェブサービスの開発を助けるために使用される一般的なHTTPプロトコルを含む。本質的にそれは、POSTまたはGETコマンドなどのアクションと、パラメータと値との対を含むペイロードファイルとを伴う。ユニフォームリソース識別子(Uniform Resource Identifier:URI)へのペイロードをPOSTすることは、たとえば、ペイロードの扱い方を知っていると推定されるウェブページにペイロードを送信するであろう。アクションの状態を検索するために、GET呼出しを同じURIに送信することができ、ペイロードが受信されるであろう。それは、構文解析されると、その状態の情報がコードを通して戻されることを可能にする。
顧客が新しいデータベースのプロビジョニングを要求すると、PL/SQL手続きが、その新しいデータベースについてのすべてのパラメータを得て、パラメータファイルを生成することができる。そのパラメータファイルは、単純な「PARAMETER」=「VALUE」テキストファイルを含んでいてもよい。いくつかの実施形態では、データベースをプロビジョニングするプロセスはまず、(以下により詳細に説明される)一時的テンプレートを作成しなければならない。PL/SQL手続きは、アクションを行なうコードへのオペレーティングシステム呼出しと、パラメータファイルへのポインタとを作成することができる。作成テンプレートプロセスはEMCLI APIを使用し、それはパラメータファイルを読出し、アクションについてのEMCLIコマンドラインを生成し、次にアクションを実行する。これは(スケジューラを通して実行されるアクションではなく)リアルタイム実行であるため、EMCLI呼出しから出力が渡され、次に、アクションが成功したことを確認するために問合せを行なうことができる。
次に、データベース名、テンプレート名などといった情報を含む別のパラメータファイルが構築され得る。次に、データベースをプロビジョニングするために、OSコードに呼出しを行なうことができる。OSコードは、パラメータファイルを得て、それを、典型的にはJavaScript(登録商標)オブジェクト表記法(JavaScript Object Notation:JSON)フォーマットファイルにおけるREST API用のペイロードに変換し、次にそれを、PaaSゾーン用のURIに通知することができる。エンタープライズ・マネージャ・スケジューラは、それが提出された後にプロビジョニングプロセス用のURIへのGET呼出しを実行するために、バックグラウンドで作動する。数秒ごとにGETコマンドを実行することにより、顧客は、プロビジョニングプロセスの現在の状態を見ることができる。具体的には、戻されたペイロードを構文解析し、結果として生じるペイロードからステータスを抽出することができる。この情報をPL/SQLコードへ戻すために、データベースリポジトリ208において、各個々のアクション(すなわち、「Create_Zone」、「Create_Database」など)についてのログとして作用するテーブルを利用することができる。GET呼出しが行なわれるたびに、データベースにおけるログテーブルは、戻されたペイロードからの関連情報で更新され得る。ログテーブルは次に、顧客のためのユーザインターフェイスに表示されるべき現在のステータス(たとえば、「実行中」、「完了」など)を検索するために調査され得る(以下の図7についての説明を参照)。この同じログテーブルは、顧客にとって有用なペイロードから抽出された他の情報を保持するためにも使用され得る。たとえば、データベースがプロビジョニングされた後に顧客がデータベースにログインできるように、データベース用の接続文字列が格納され得る。ジョブが何らかの理由で失敗した場合、失敗の理由もGETペイロードから抽出され、ログテーブルに格納され得る。一意的なURIを有するバックグラウンドでEMスケジューラがジョブとして作動するという事実は、以下により詳細に説明される一括プロビジョニングを容易にするために、いくつかのプロビジョニングプロセスが並行して実行可能である、ということを意味する。顧客がプロビジョニングされたデータベースの削除を望む場合、データベース自体もURIを有する。顧客は、そのURIへの単純なREST DELETE呼出しを行ない、次に、削除が完了するまで、データベースのプロビジョニングについて上述されたものと同じ態様でそのジョブを監視することができる。
図3は、いくつかの実施形態に従った、プライベートクラウドにおいて提供され得る異なるテンプレート提供物を示す。顧客データベースシステム102を分析後、各データベース104についての特性は比較され、グループ分けされて、テンプレートを形成することができる。単一のテンプレートは、顧客データベースシステム102におけるデータベース104のうちの1つ以上を記述していてもよい。いくつかの実施形態では、同様の物理構造またはアプリケーションを有するデータベースは1グループになるようグループ分けされてもよく、そのグループのために異なるレベルが作成されてもよい。たとえば、金融データベースが分析されてもよく、その金融データベースからテンプレートが生成されてもよい。
次に、各々がそれ自体のテンプレートを有する複数のレベルが作成されてもよい。単なる例示のために、ここに説明されるレベルは、異なるデータベースレベルを特定するために、金、銀、銅などと呼ばれるであろう。たとえば、金レベルのデータベースは、プライベートクラウド110内で高度なセキュリティ機能を有して構成された、RACデータベースなどの非常に複雑なデータベースであってもよい。それは、バックアップおよび/または復旧への特別な注意を必要とする場合がある。それに比べ、銀レベルのデータベースは、より下位の規格に準拠し、それほど多くの構成またはリソースを必要としない場合がある。いくつかの実施形態では、金レベルのデータベースは、高レベルの利用可能性、特定のセキュリティプロトコル、および高忠実度バックアップルーチンを必要とする、顧客が使用するためのライブシステムに対応してもよい。銀レベルのデータベースは、データベースシステムがライブになる前のデータベーステスト環境に対応してもよい。銅レベルのデータベースは、開発段階中の新しいデータベース構想をテストできる試作データベース環境に対応してもよい。
一般に、データベースは、複数の異なる要因に基づいて異なるレベルに割当てられ得る。1つの要因は利用可能性であってもよく、それは、いつ、どのように、バックアップおよび復旧戦略が採用されるか、データベースがRAC能力を有するかどうか、ならびに、それが待機データベースを介して最大の利用可能性アーキテクチャを必要とするかどうかについて記述する。別の要因はセキュリティであってもよく、それは、データ・ボルト(Data Vault)(登録商標)などの特定のセキュリティ製品、またはデータマスキングや、データベースがテスト用または開発用かどうか、あるユーザがアクセスを許可されているかどうか、もしくは、包括的なパスワードが許可されているかどうかについての指定を含んでいてもよい。別の要因は性能を含んでいてもよく、それは、あるレベルが、メモリ、CPUパワー、および/またはストレージの点でより多くの能力を有するかどうか、ならびに、停電がどのように扱われるかに関する指定を含む。別の要因は、保守および顧客サービスの点から見たコストを含んでいてもよい。別の要因は敏捷性を含んでいてもよく、それは、できるだけ効率的であることをプロジェクト/システムに強いる待ち行列オントロジーを通して、プロジェクトが利用可能なリソースを十分に利用し、リソース浪費を減少させることを保証してもよい。これらの要因の各々には、テンプレートライブラリにおける各レベルについての値が割当てられてもよい。
図3の例では、DBaaSプール114における各データベースは、金レベル306と、銀レベル308と、銅レベル310とを含む。たとえば、リナックスホスト302は、金レベル306、銀レベル308、および/または銅レベル310で、バージョン11G RACデータベースを実行してもよい。同様に、ソラリスホスト304は、同じレベルで、バージョン12C PDBデータベースを実行してもよい。
図4は、いくつかの実施形態に従った、データベースタイプおよびレベルを選択するためのユーザインターフェイス400を示す。一例として、この特定の顧客は、金融データベースと、販売データベースと、品質保証(quality assurance:QA)データベースとを有するビジネスを経営しているかもしれない。上述のように、顧客データベースシステムにインストールされたゲートウェイは、これらのデータベースの各々を分析し、これらのデータベースの各々についての特性を判断し、これらのデータベースの各々についてのテンプレートを生成するであろう。次に、各テンプレートに対応して、データベースタイプごとに異なるレベルが割当てられ得る。たとえば、金融データベースは、銅、銀、金、およびプラチナという4つのレベルを有していてもよい。これらのレベルの各々は、機能、能力、セキュリティレベル、利用可能性レベルなどの増加に対応してもよい。同様に、販売データベースはゲートウェイによって分析されてもよい。販売データベースは次に、プライベートクラウドにおける銅および金レベルでのプロビジョニングのために利用可能にされてもよい。
ユーザインターフェイス400は、顧客にとって利用可能なデータベースおよびレベルごとに、利用可能なテンプレートをすべてロードすることができる。顧客がユーザインターフェイス400をロードすると、顧客は、顧客データベースシステムにすでにインストールされ、動作しているものと同様のデータベースオプションを見るであろう。これにより、顧客は、データベースのタイプを、その使用に基づいて速やかに選択できるようになる。たとえば、新しい金融データベースの試作を望む顧客は、銀レベルの金融データベースを選択できるであろう。ユーザインターフェイス400はまた、必要なデータベースバージョン、必要なオペレーティングシステム、および、各レベルによって提供されるデータベースのタイプを容易に示す。この例では、ユーザは「Finance_Gold」データベースを選択し、プロビジョニングプロセスにおける次のステップに進む。
図5は、いくつかの実施形態に従った、単一のデータベーステンプレートを形成するために複数のデータベースからの特性をどのように組合せることができるかについての図を示す。テンプレートは、多くの異なる要素で構成されてもよい。たとえば、各データベースは、データベースタイプ、オペレーティングシステム、および/またはバージョン(たとえば、単一インスタンス、RAC、CDB/PDB、スキーマ、11G、12C、リナックス、ソラリス、ウィンドウズなど)によって特徴付けられ得る。データベースはまた、初期化パラメータなどのデータベースパラメータや、データベースが待機、復旧マネージャ(Recovery Manager:RMAN)バックアップを有するかどうかといったことによって特徴付けられてもよい。データベースはまた、CPU使用率、メモリ使用率、およびストレージ要件を含む、計算サイズによって特徴付けられてもよい。
ゲートウェイが顧客データベースシステムを分析する際、ツールは、ゲートウェイによって発見されたデータベース特性に基づいて、利用可能なテンプレートを作成し、作ることができる。しかしながら、データベースごとにテンプレートを生成することは、非常に大きく複雑になるテンプレートライブラリを生み出し得る。なぜなら、テンプレートは、各ソースシステムについて、および各ソースシステムの関連コピーについて必要とされるためである。ソースデータベースごとにテンプレートを作成する代わりに、データベース特性は、少なくとも2つのグループに分割され得る。第1のグループは、多くのデータベース間で共有される特性を含んでいてもよい。第2のグループは、各データベースに特有の特性を含んでいてもよい。第1のグループの特性を共有するデータベースは単一のテンプレートへと組合されることができ、データベースをプロビジョニングする際、それらの特性および第2のグループは顧客によって編集され得る。
たとえば、第1のデータベース502および第2のデータベース504は、ゲートウェイによって分析されてもよい。第1のデータベース502の第1のグループの特性508は、オペレーティングシステムと、データベースバージョンと、データベースタイプとを、明確性のために省略された他の特性とともに含む。第2のデータベース504の第1のグループの特性512は、第1のデータベース502の第1のグループの特性508と同じである。しかしながら、第1のデータベース502の第2のグループの特性506は、第2のデータベース504の第2のグループの特性510と異なっていてもよい。2つの別個のテンプレートを生成する代わりに、テンプレート514の第1のグループの特性518が第1のデータベース502および第2のデータベース504のものと一致する、単一のテンプレート514を生成することができる。テンプレート514の第2のグループの特性516は、データベースのサイズと、リスナポートと、ホームディレクトリとを、明確性のために省略された他の可変パラメータとともに含んでいてもよい。テンプレート514における第2のグループの特性516の各々について、デフォルト値が選択されてもよい。たとえば、第2のグループの特性516は、第1のデータベース502または第2のデータベース504からコピーされてもよい。他の実施形態では、3つ以上のデータベースを組合せて単一のテンプレートを形成してもよい。他の実施形態では、単一のデータベースが、顧客データベースシステムにおける他のデータベースと特性を共有していない場合、その単一のデータベースは単一のテンプレートをもたらしてもよい。
図6は、いくつかの実施形態に従った、選択されたテンプレートの可変パラメータを完了するためのユーザインターフェイス600を示す。テンプレートを選択する際、テンプレートにおける第1のグループの特性に基づく、プロビジョニングされるべきデータベースのパラメータには、テンプレートからのデータ値が代入され得る。テンプレートにおける第2のグループの特性については、ユーザインターフェイス600は、顧客が可変パラメータの各々について値を選択できるようにする。第2のグループの特性におけるパラメータの各々は、ユーザ入力を介して設定されてもよい。これらのパラメータは、データベースサイズ、データベース記述、ターゲットサイズ、さまざまなパスワード、ドメイン名、リスナポート、ストレージタイプ、データベースファイル位置、復旧オプション、アーカイブオプション、復旧ファイル位置、リドゥログ位置、インスタンスの数などを含む。可変パラメータを記入後、顧客は、プロビジョニングプロセスの次の段階に進むことができる。
図7は、いくつかの実施形態に従った、プロビジョニングプロセス中に進行を更新するためのユーザインターフェイス700を示す。この開示以前では、プライベートクラウドが新しいデータベースにとって必要なハードウェア/ソフトウェアを組立て、ロードし、インストールした場合、プライベートクラウドにおけるデータベースのプロビジョニングの要求は、達成に数週間または数ヶ月を要したであろう。ここに説明される実施形態によって提供される事前配分およびテストにより、プロビジョニングプロセスは、ユーザインターフェイス600を通した要求完了から数分以内に完了され得る。ユーザインターフェイス700は、上述のREST APIを通して数秒ごとにGET要求から更新を受信し、プロビジョニングプロセスを完了するために残っている推定時間を提供する。
図8は、いくつかの実施形態に従った、プロビジョニングプロセスによって作成される一時的テンプレートを示す。可変パラメータがユーザインターフェイス600を通して完了されると、ここに「一時的テンプレート」と呼ばれる新しいテンプレートが、顧客によって提供される可変パラメータ値を格納するために作成されるであろう。いくつかの実施形態では、プライベートクラウドにおける新しいデータベースのあらゆるプロビジョニングは、一時的テンプレートの作成をもたらすであろう。いくつかの実施形態では、新しいデータベースについてのパラメータ値がすべて、顧客によって選択された元のテンプレートにおけるパラメータ値と同じであっても、一時的テンプレートが作成されてもよい。他の実施形態では、プロビジョニングされたデータベースについてのパラメータ値のうちの1つ以上が、元のテンプレートにおける値とは異なる場合にのみ、一時的テンプレートが作成されるであろう。
たとえば、顧客がテンプレート514を選択し、次に可変パラメータ値のうちの1つ以上を変更する場合、可変パラメータ値を格納するために、新しい一時的テンプレート808が作成されるであろう。この例では、新しい一時的テンプレート808の第2のグループの特性810は、データベースサイズと、リスナポートと、ホームディレクトリとを含む、テンプレート514の第2のグループの特性516とは異なっている。いくつかの実施形態では、新しい一時的テンプレート802の第2のグループの特性804が、テンプレート514の第2のグループの特性516と同じであっても、新しい一時的テンプレート802が作成されてもよい。
図9は、いくつかの実施形態に従った、テンプレートおよび一時的テンプレートを含むライブラリが、どのように経時的に管理されるかを示す。図9に示す一時的テンプレート802、808、902の各々は、顧客によって特定されたような、プライベートクラウドにおけるプロビジョニングされたデータベースの結果であってもよい。ライブラリは、プライベートクラウドにおける実際のデータベース904、906、908へのリンクのリストを保持していてもよい。テンプレート整理プロセス910は、プライベートクラウドにおけるアクティブなデータベースにもはや接続されていない一時的テンプレートを除去することにより、テンプレートライブラリを周期的に整理することができる。たとえば、一時的テンプレート802は、プライベートクラウドにおける対応するプロビジョニングされたデータベースがもはやアクティブではなくなった場合に、テンプレートライブラリから除去されてもよい。いくつかの実施形態では、クラウドサポートプラットフォームは、どのデータベースがまだアクティブかを判断するためにプライベートクラウドに周期的に問合せ、次に、アクティブなデータベースにもはや接続されていない一時的テンプレートをテンプレートライブラリから除去することができる。図9の例では、一時的テンプレート808および902は、プライベートクラウドにおけるアクティブなデータベースにまだ接続されているため、テンプレートライブラリに残っていてもよい。
図10は、いくつかの実施形態に従った、複数のデータベースのプロビジョニングを管理するためのユーザインターフェイス1000を示す図である。ユーザインターフェイス1000は、プライベートクラウドの顧客のための概要と、関連付けられたプロビジョニングプロセスとを提供する。たとえば、ユーザインターフェイス1000は、ライブラリカタログにおけるPaaSゾーンの数と、DBaaSプールの数と、テンプレートの数とを示す。加えて、プライベートクラウドにおいてプロビジョニングされたデータベースの各々についてのステータスも、表示されてもよい。たとえば、ユーザインターフェイス1000は、14個のデータベースが順調にプロビジョニングされ、37個のデータベースが現在プロビジョニング中であり、9個のデータベースがプロビジョニングプロセスに失敗し、73個のデータベースが順調にプロビジョニングされた後に失効したことを示す。
プライベートクラウドデータベースプロビジョニングプロセスの概要の提供に加えて、ユーザインターフェイス1000はまた、顧客が複数のデータベースを一括でプロビジョニングできるようにしてもよい。ユーザインターフェイス1000は、顧客が、一度に2つ以上のデータベースを選択し、次に、「すべてをプロビジョニング」という入力を使用して、一群のプロビジョニング要求をプライベートクラウドに送信できるようにする。上述の予め配分された環境により、これらの実施形態は、異なる環境においても、一度に複数のデータベースの移動を可能にする。選択されたすべてのデータベースをプロビジョニングするために、機能がゲートウェイ内で利用可能である。たとえば、ユーザ/アドミニストレータは、ユーザ/アドミニストレータが各ホストを繰り返しクリックする必要なく、多くのホストを特定されたタイプの既存PaaSに自動的に追加することができる。ユーザ/アドミニストレータが非常に大きい開発プールの作成を望む場合、これは効率的である。
図11は、いくつかの実施形態に従った、プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法を示す。この方法は、顧客のデータベースシステムにおける複数のデータベースの特性を判断するステップ(1102)と、複数のデータベースを記述している複数のデータベーステンプレートを生成するために、複数のデータベースの特性をグループ分けするステップ(1104)とを含んでいてもよい。この方法はまた、複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにするステップ(1106)を含んでいてもよい。この方法は加えて、複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信するステップ(1108)を含んでいてもよい。この方法はさらに、データベーステンプレートによって少なくとも部分的に記述されたデータベースが、プライベートクラウドにおいてプロビジョニングされるようにするステップ(1110)を含んでいてもよい。
図11に示す特定のステップは、本発明のさまざまな実施形態に従った、プライベートクラウドにおいてデータベースをプロビジョニングする特定の方法を提供する、ということが理解されるべきである。ステップの他の順序も、代替的な実施形態に従って行なわれてもよい。たとえば、本発明の代替的な実施形態は、上に概説されたステップを異なる順序で行なってもよい。また、図11に示す個々のステップは、個々のステップにとって適切であるようにさまざまな順序で行なわれ得る複数のサブステップを含んでいてもよい。さらに、特定の用途に依存して、追加のステップが追加され、または除去されてもよい。当業者であれば、多くの変形、修正、および代替物を認識するであろう。
ここに説明された方法の各々は、コンピュータシステムによって実現されてもよい。これらの方法の各ステップは、コンピュータシステムによって自動的に実行されてもよく、および/または、ユーザが関与する入力/出力を提供されてもよい。たとえば、ユーザは方法におけるステップごとに入力を提供してもよく、これらの入力の各々は、そのような入力を要求する特定の出力に応答するものであってもよく、出力はコンピュータシステムによって生成される。各入力は、対応する要求出力に応答して受信されてもよい。さらに、入力は、ユーザから、別のコンピュータシステムからデータストリームとして受信され、メモリ位置から検索され、ネットワークを通して検索され、ウェブサービスから要求されたりしてもよい。同様に、出力は、ユーザに、別のコンピュータシステムにデータストリームとして提供され、メモリ位置に保存され、ネットワークを通して送信され、ウェブサービスに提供されたりしてもよい。要するに、ここに説明された方法の各ステップは、コンピュータシステムによって行なわれてもよく、ユーザが関与する、または関与しないかもしれない、コンピュータシステムとの間での任意の数の入力、出力、および/または要求を伴ってもよい。ユーザが関与しないそれらのステップは、人の介入なくコンピュータシステムによって自動的に行なわれる、と言ってもよい。したがって、ここに説明された各方法の各ステップは、ユーザとの間での入力および出力を含むように変更されてもよく、または、人の介入なくコンピュータシステムによって自動的に行なわれてもよく、その場合、あらゆる決定がプロセッサによって下される、ということが、この開示に鑑みて理解されるであろう。さらに、ここに説明された各方法のいくつかの実施形態は、有形のソフトウェア製品を形成するために有形の非一時的な記憶媒体上に格納された1組の命令として実現されてもよい。
図12は、実施形態のうちの1つを実現するための分散型システム1200の簡略図を示す。図示された実施形態では、分散型システム1200は1つ以上のクライアントコンピューティングデバイス1202、1204、1206、および1208を含み、それらは、1つ以上のネットワーク1210を通して、ウェブブラウザ、専用クライアント(たとえば、オラクル・フォームズ(Oracle Forms))などのクライアントアプリケーションを実行し、動作させるように構成される。サーバ1212は、ネットワーク1210を介して、リモートのクライアントコンピューティングデバイス1202、1204、1206、および1208と通信可能に結合されてもよい。
さまざまな実施形態では、サーバ1212は、システムのコンポーネントのうちの1つ以上によって提供される1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。いくつかの実施形態では、これらのサービスは、ウェブベースのサービスまたはクラウドサービスとして、もしくはソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)モデルの下で、クライアントコンピューティングデバイス1202、1204、1206、および/または1208のユーザに提供されてもよい。クライアントコンピューティングデバイス1202、1204、1206、および/または1208を操作するユーザは次に、これらのコンポーネントによって提供されるサービスを利用するためにサーバ1212と対話するために、1つ以上のクライアントアプリケーションを利用してもよい。
図に示す構成では、システム1200のソフトウェアコンポーネント1218、1220および1222は、サーバ1212上で実現されるとして示されている。他の実施形態では、システム1200のコンポーネントおよび/またはこれらのコンポーネントによって提供されるサービスのうちの1つ以上も、クライアントコンピューティングデバイス1202、1204、1206、および/または1208のうちの1つ以上によって実現されてもよい。クライアントコンピューティングデバイスを操作するユーザは次に、これらのコンポーネントによって提供されるサービスを使用するために、1つ以上のクライアントアプリケーションを利用してもよい。これらのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せで実現されてもよい。分散型システム1200とは異なり得るさまざまな異なるシステム構成が可能であることが理解されるべきである。図1に示す実施形態はこのため、実施形態システムを実現するための分散型システムの一例であり、限定的であるよう意図されてはいない。
クライアントコンピューティングデバイス1202、1204、1206、および/または1208は、携帯型ハンドヘルドデバイス(たとえば、iPhone(登録商標)、携帯電話、iPad(登録商標)、コンピューティングタブレット、携帯情報端末(personal digital assistant:PDA))、またはウェアラブルデバイス(たとえば、グーグル・グラス(Google Glass)(登録商標)頭部装着型ディスプレイ)であってもよく、マイクロソフト・ウィンドウズ・モバイル(Microsoft Windows Mobile)(登録商標)などのソフトウェア、および/または、iOS、ウィンドウズフォン、アンドロイド(登録商標)、ブラックベリー(登録商標)10、パームOSなどのさまざまなモバイルオペレーティングシステムを実行し、インターネット、電子メール、ショートメッセージサービス(short message service:SMS)、ブラックベリー(登録商標)、または他の通信プロトコルに対応していてもよい。クライアントコンピューティングデバイスは、マイクロソフト・ウィンドウズ(登録商標)、アップル・マッキントッシュ(登録商標)、および/またはリナックス(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを例として含む、汎用パーソナルコンピュータであり得る。クライアントコンピューティングデバイスは、たとえばグーグル・クローム(Google Chrome)OSなどのさまざまなGNU/リナックスオペレーティングシステムを何ら限定されることなく含む、商業的に入手可能なさまざまなUNIX(登録商標)またはUNIX様オペレーティングシステムのうちのいずれかを実行するワークステーションコンピュータであり得る。それに代えて、またはそれに加えて、クライアントコンピューティングデバイス1202、1204、1206、および1208は、ネットワーク1210を通して通信可能である、シンクライアントコンピュータ、インターネット対応ゲーミングシステム(たとえば、Kinect(登録商標)ジェスチャー入力デバイスを有する、または有さない、マイクロソフトXboxゲーミングコンソール)、および/またはパーソナルメッセージングデバイスといった、任意の他の電子デバイスであってもよい。
例示的な分散型システム1200は4つのクライアントコンピューティングデバイスを有して示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを有するデバイスなどの他のデバイスが、サーバ1212と対話してもよい。
分散型システム1200におけるネットワーク1210は、TCP/IP(transmission control protocol/Internet protocol:伝送制御プロトコル/インターネットプロトコル)、SNA(systems network architecture:システムネットワークアーキテクチャ)、IPX(Internet packet exchange:インターネットパケット交換)、アップル・トーク(Apple Talk)などを何ら限定されることなく含む、商業的に入手可能なさまざまなプロトコルのうちのいずれかを使用してデータ通信をサポートできる、当業者にはよく知られた任意のタイプのネットワークであってもよい。単なる例として、ネットワーク1210は、イーサネット(登録商標)、トークンリング(Token-Ring)などに基づくものといった、ローカルエリアネットワーク(local area network:LAN)であり得る。ネットワーク1210は、ワイドエリアネットワークおよびインターネットであり得る。それは、仮想プライベートネットワーク(virtual private network:VPN)、イントラネット、エクストラネット、公衆交換電話網(public switched telephone network:PSTN)、赤外線ネットワーク、無線ネットワーク(たとえば、電気電子技術者協会(the Institute of Electrical and Electronics:IEEE)802.11プロトコルスイート、Bluetooth(登録商標)、および/または任意の他の無線プロトコルのうちのいずれかの下で動作するネットワーク)、ならびに/もしくは、これらのおよび/または他のネットワークの任意の組合せを何ら限定されることなく含む、仮想ネットワークを含み得る。
サーバ1212は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバなどを例として含む)、サーバファーム、サーバクラスタ、もしくは任意の他の適切な構成および/または組合せで構成されてもよい。さまざまな実施形態では、サーバ1212は、前述の開示で説明された1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。たとえば、サーバ1212は、本開示の一実施形態に従った上述の処理を行なうためのサーバに対応していてもよい。
サーバ1212は、上述のもののうちのいずれかを含むオペレーティングシステム、および商業的に入手可能な任意のサーバオペレーティングシステムを実行してもよい。サーバ1212はまた、さまざまな追加のサーバアプリケーションおよび/または中間層アプリケーションのうちのいずれかを実行してもよく、HTTP(hypertext transport protocol:ハイパーテキスト伝送プロトコル)サーバ、FTP(file transfer protocol:ファイル転送プロトコル)サーバ、CGI(common gateway interface:コモンゲートウェイインターフェイス)サーバ、JAVA(登録商標)サーバ、データベースサーバなどを含む。例示的なデータベースサーバは、オラクル、マイクロソフト、サイベース(Sybase)、IBM(International Business Machines:インターナショナル・ビジネス・マシーンズ)などから商業的に入手可能なものを何ら限定されることなく含む。
いくつかの実現化例では、サーバ1212は、クライアントコンピューティングデバイス1202、1204、1206、および1208のユーザから受信されたデータフィードおよび/またはイベント更新を分析して統合するための1つ以上のアプリケーションを含んでいてもよい。一例として、データフィードおよび/またはイベント更新は、センサデータアプリケーション、金融ティッカー、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通監視などに関連するリアルタイムイベントを含み得る、1つ以上の第三者情報源および連続データストリームから受信されたツイッター(登録商標)フィード、フェースブック(登録商標)更新またはリアルタイム更新を含んでいてもよいが、それらに限定されない。サーバ1212はまた、クライアントコンピューティングデバイス1202、1204、1206、および1208の1つ以上の表示デバイスを介してデータフィードおよび/またはリアルタイムイベントを表示するための1つ以上のアプリケーションを含んでいてもよい。
分散型システム1200はまた、1つ以上のデータベース1214および1216を含んでいてもよい。データベース1214および1216は、さまざまな位置に存在していてもよい。例として、データベース1214および1216のうちの1つ以上は、サーバ1212に対してローカルな(および/または、サーバ1212内にある)非一時的記憶媒体上に存在していてもよい。それに代えて、データベース1214および1216は、サーバ1212からリモートであってもよく、ネットワークベースの接続または専用接続を介してサーバ1212と通信してもよい。一組の実施形態では、データベース1214および1216は、ストレージエリアネットワーク(storage-area network:SAN)に存在していてもよい。同様に、サーバ1212に帰する機能を行なうための任意の必要なファイルが適宜、サーバ1212上にローカルに格納されてもよく、および/またはリモートに格納されてもよい。一組の実施形態では、データベース1214および1216は、SQLフォーマットのコマンドに応答してデータを格納し、更新し、検索するように適合された、オラクルによって提供されるデータベースなどのリレーショナルデータベースを含んでいてもよい。
図13は、本開示の一実施形態に従った、実施形態システムの1つ以上のコンポーネントによって提供されるサービスをクラウドサービスとして提供し得るシステム環境1300の1つ以上のコンポーネントの簡略ブロック図である。図示された実施形態では、システム環境1300は、クラウドサービスを提供するクラウドインフラストラクチャシステム1302と対話するためにユーザによって使用され得る1つ以上のクライアントコンピューティングデバイス1304、1306、および1308を含む。これらのクライアントコンピューティングデバイスは、クラウドインフラストラクチャシステム1302によって提供されるサービスを使用するためにクラウドインフラストラクチャシステム1302と対話するためにクライアントコンピューティングデバイスのユーザによって使用され得る、ウェブブラウザ、専用クライアントアプリケーション(たとえば、オラクル・フォームズ)、または何らかの他のアプリケーションといったクライアントアプリケーションを動作させるように構成されてもよい。
図に示すクラウドインフラストラクチャシステム1302は、図示されたもの以外のコンポーネントを有していてもよい、ということが理解されるべきである。また、図に示す実施形態は、この発明の一実施形態を取入れ得るクラウドインフラストラクチャシステムの単なる一例である。いくつかの他の実施形態では、クラウドインフラストラクチャシステム1302は、図示されたものよりも多い、または少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組合せてもよく、もしくは、異なる構成または配置のコンポーネントを有していてもよい。
クライアントコンピューティングデバイス1304、1306、および1308は、1202、1204、1206、および1208について上述したものと同様のデバイスであってもよい。
例示的なシステム環境1300は3つのクライアントコンピューティングデバイスを有して示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを有するデバイスなどの他のデバイスが、クラウドインフラストラクチャシステム1302と対話してもよい。
ネットワーク1310は、クライアント1304、1306、および1308とクラウドインフラストラクチャシステム1302との間のデータの通信および交換を容易にしてもよい。各ネットワークは、ネットワーク1210について上述したものを含む、商業的に入手可能なさまざまなプロトコルのうちのいずれかを使用してデータ通信をサポートできる、当業者にはよく知られた任意のタイプのネットワークであってもよい。
クラウドインフラストラクチャシステム1302は、サーバ1212について上述したものを含み得る1つ以上のコンピュータおよび/またはサーバを含んでいてもよい。
ある実施形態では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューション、ウェブベースの電子メールサービス、ホスト型オフィススイートおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービスなどといった、クラウドインフラストラクチャシステムのユーザにとってオンデマンドで利用可能にされる多数のサービスを含んでいてもよい。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザのニーズを満たすために動的にスケール変更され得る。クラウドインフラストラクチャシステムによって提供されるサービスの特定のインスタンス化は、ここに「サービスインスタンス」と呼ばれる。一般に、クラウドサービスプロバイダのシステムから、インターネットなどの通信ネットワークを介してユーザに利用可能とされる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを作り上げるサーバおよびシステムは、顧客自身の構内サーバおよびシステムとは異なっている。たとえば、クラウドサービスプロバイダのシステムはアプリケーションをホストしてもよく、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドでアプリケーションをオーダーし、使用してもよい。
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、クラウドベンダーによってユーザに提供されるかまたは当該技術分野において他の態様で公知であるようなストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーション、もしくは他のサービスへの、保護されたコンピュータネットワークアクセスを含んでいてもよい。たとえば、サービスは、インターネットを通した、クラウド上のリモートストレージへの、パスワードで保護されたアクセスを含み得る。別の例として、サービスは、ネットワーク化された開発者による私的使用のための、ウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含み得る。別の例として、サービスは、クラウドベンダーのウェブサイト上でホストされる電子メールソフトウェアアプリケーションへのアクセスを含み得る。
ある実施形態では、クラウドインフラストラクチャシステム1302は、セルフサービスで、サブスクリプションベースで、弾力的にスケーラブルで、信頼でき、高可用性で、かつ安全な態様で顧客に配信される、アプリケーション、ミドルウェアおよびデータベースサービス提供物一式を含んでいてもよい。そのようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクル・パブリック・クラウド(Oracle Public Cloud)である。
さまざまな実施形態では、クラウドインフラストラクチャシステム1302は、クラウドインフラストラクチャシステム1302によって提供されるサービスへの顧客のサブスクリプションを自動的にプロビジョニングし、管理し、追跡するように適合されてもよい。クラウドインフラストラクチャシステム1302は、異なるデプロイメントモデルを介してクラウドサービスを提供してもよい。たとえば、サービスは、クラウドインフラストラクチャシステム1302がクラウドサービスを販売する組織によって所有され(たとえば、オラクルによって所有され)、サービスが一般大衆または異なる産業企業にとって利用可能とされる、パブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム1302が単一の組織のためにのみ動作され、その組織内の1つ以上のエンティティのためのサービスを提供し得る、プライベートクラウドモデルの下で提供されてもよい。クラウドサービスはまた、クラウドインフラストラクチャシステム1302、およびクラウドインフラストラクチャシステム1302によって提供されるサービスが、関連するコミュニティにおけるいくつかの組織によって共有される、コミュニティクラウドモデルの下で提供されてもよい。クラウドサービスはまた、2つ以上の異なるモデルの組合せであるハイブリッドクラウドモデルの下で提供されてもよい。
いくつかの実施形態では、クラウドインフラストラクチャシステム1302によって提供されるサービスは、ソフトウェア・アズ・ア・サービス(SaaS)カテゴリー、プラットフォーム・アズ・ア・サービス(PaaS)カテゴリー、インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS)カテゴリー、または、ハイブリッドサービスを含むサービスの他のカテゴリーの下で提供される、1つ以上のサービスを含んでいてもよい。顧客は、クラウドインフラストラクチャシステム1302によって提供される1つ以上のサービスを、サブスクリプションオーダーを介してオーダーしてもよい。クラウドインフラストラクチャシステム1302は次に、顧客のサブスクリプションオーダーにおけるサービスを提供するために処理を行なう。
いくつかの実施形態では、クラウドインフラストラクチャシステム1302によって提供されるサービスは、アプリケーションサービス、プラットフォームサービス、およびインフラストラクチャサービスを、何ら限定されることなく含んでいてもよい。いくつかの例では、アプリケーションサービスは、SaaSプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリーに該当するクラウドサービスを提供するように構成されてもよい。たとえば、SaaSプラットフォームは、統合された開発およびデプロイメントプラットフォーム上にオンデマンドアプリケーション一式を構築し、配信するための能力を提供してもよい。SaaSプラットフォームは、SaaSサービスを提供するための基本ソフトウェアおよびインフラストラクチャを管理し、制御してもよい。SaaSプラットフォームによって提供されるサービスを利用することにより、顧客は、クラウドインフラストラクチャシステム上で実行されるアプリケーションを利用できる。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得できる。さまざまな異なるSaaSサービスが提供されてもよい。例は、大型組織のための販売実績管理、企業統合、およびビジネス柔軟性についてのソリューションを提供するサービスを、何ら限定されることなく含む。
いくつかの実施形態では、プラットフォームサービスは、PaaSプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。PaaSプラットフォームは、PaaSカテゴリーに該当するクラウドサービスを提供するように構成されてもよい。プラットフォームサービスの例は、(オラクルなどの)組織が共有の共通アーキテクチャ上で既存のアプリケーションを統合できるようにするサービスと、プラットフォームによって提供される共有のサービスを活用する新しいアプリケーションを構築するための能力とを、何ら限定されることなく含んでいてもよい。PaaSプラットフォームは、PaaSサービスを提供するための基本ソフトウェアおよびインフラストラクチャを管理し、制御してもよい。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステムによって提供されるPaaSサービスを取得できる。プラットフォームサービスの例は、オラクルJava(登録商標)クラウドサービス(Java Cloud Service:JCS)、オラクル・データベース・クラウド・サービス(Database Cloud Service:DBCS)などを、何ら限定されることなく含む。
PaaSプラットフォームによって提供されるサービスを利用することにより、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを採用するとともに、デプロイメントされたサービスを制御することもできる。いくつかの実施形態では、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス(たとえば、オラクル・フュージョン・ミドルウェア(Oracle Fusion Middleware)サービス)、およびJavaクラウドサービスを含んでいてもよい。一実施形態では、データベースクラウドサービスは、組織がデータベースリソースをプールし、データベースクラウドの形をしたデータベース・アズ・ア・サービスを顧客に提供することを可能にする共有のサービスデプロイメントモデルをサポートしてもよい。ミドルウェアクラウドサービスは、顧客がさまざまなビジネスアプリケーションを開発してデプロイメントするためのプラットフォームを提供してもよく、Javaクラウドサービスは、顧客がクラウドインフラストラクチャシステムにおいてJavaアプリケーションをデプロイメントするためのプラットフォームを提供してもよい。
クラウドインフラストラクチャシステムにおいて、さまざまな異なるインフラストラクチャサービスが、IaaSプラットフォームによって提供されてもよい。これらのインフラストラクチャサービスは、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のための、ストレージ、ネットワーク、ならびに他の基礎的コンピューティングリソースなどの基本コンピューティングリソースの管理および制御を容易にする。
ある実施形態では、クラウドインフラストラクチャシステム1302はまた、クラウドインフラストラクチャシステムの顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース1330を含んでいてもよい。一実施形態では、インフラストラクチャリソース1330は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するためのサーバ、ストレージ、およびネットワーキングリソースなどのハードウェアの予め統合され最適化された組合せを含んでいてもよい。
いくつかの実施形態では、クラウドインフラストラクチャシステム1302におけるリソースは、複数のユーザによって共有され、要望ごとに動的に再配分されてもよい。加えて、リソースは、異なる時間帯におけるユーザに配分されてもよい。たとえば、クラウドインフラストラクチャシステム1302は、第1の時間帯における第1の一組のユーザが、特定数の時間、クラウドインフラストラクチャシステムのリソースを利用することを可能にし、次に、異なる時間帯に位置する別の一組のユーザへの同じリソースの再配分を可能にして、それによりリソースの利用を最大化してもよい。
ある実施形態では、クラウドインフラストラクチャシステム1302の異なるコンポーネントまたはモジュールによって、および、クラウドインフラストラクチャシステム1302が提供するサービスによって共有される、多くの内部共有サービス1332が提供されてもよい。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、企業リポジトリサービス、企業マネージャサービス、ウィルススキャニングおよびホワイトリストサービス、高可用性、バックアップおよび復旧サービス、クラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを、何ら限定されることなく含んでいてもよい。
ある実施形態では、クラウドインフラストラクチャシステム1302は、クラウドインフラストラクチャシステムにおけるクラウドサービス(たとえば、SaaS、PaaS、およびIaaSサービス)の包括的管理を提供してもよい。一実施形態では、クラウド管理機能性は、クラウドインフラストラクチャシステム1302によって受信された顧客のサブスクリプションをプロビジョニングし、管理し、追跡するための能力などを含んでいてもよい。
一実施形態では、図に示すように、クラウド管理機能性は、オーダー管理モジュール1320、オーダーオーケストレーションモジュール1322、オーダープロビジョニングモジュール1324、オーダー管理および監視モジュール1326、ならびにアイデンティティ管理モジュール1328などの1つ以上のモジュールによって提供されてもよい。これらのモジュールは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、もしくは任意の他の適切な構成および/または組合せであり得る、1つ以上のコンピュータおよび/またはサーバを含んでいてもよく、もしくはそれらを使用して提供されてもよい。
例示的な動作1334では、クライアントコンピューティングデバイス1304、1306または1308などのクライアントデバイスを使用する顧客は、クラウドインフラストラクチャシステム1302によって提供される1つ以上のサービスを要求し、クラウドインフラストラクチャシステム1302によって提供される1つ以上のサービスについてサブスクリプションオーダーを出すことにより、クラウドインフラストラクチャシステム1302と対話してもよい。ある実施形態では、顧客は、クラウドユーザインターフェイス(User Interface:UI)、クラウドUI1312、クラウドUI1314および/またはクラウドUI1316にアクセスし、これらのUIを介してサブスクリプションオーダーを出してもよい。顧客がオーダーを出したことに応答してクラウドインフラストラクチャシステム1302が受信したオーダー情報は、顧客と、顧客が加入するつもりである、クラウドインフラストラクチャシステム1302によって提供される1つ以上のサービスとを識別する情報を含んでいてもよい。
顧客によってオーダーが出された後で、オーダー情報が、クラウドUI1312、1314、および/または1316を介して受信される。
動作1336で、オーダーがオーダーデータベース1318に格納される。オーダーデータベース1318は、クラウドインフラストラクチャシステム1302によって動作され、他のシステムエレメントとともに動作される、いくつかのデータベースのうちの1つであり得る。
動作1338で、オーダー情報がオーダー管理モジュール1320へ発送されてもよい。場合によっては、オーダー管理モジュール1320は、オーダーを立証し、立証後にオーダーを予約するといった、オーダーに関連する請求および課金機能を行なうように構成されてもよい。
動作1340で、オーダーに関する情報が、オーダーオーケストレーションモジュール1322へ通信されてもよい。オーダーオーケストレーションモジュール1322は、顧客によって出されたオーダーのためのサービスおよびリソースのプロビジョニングをオーケストレーションするために、オーダー情報を利用してもよい。場合によっては、オーダーオーケストレーションモジュール1322は、オーダープロビジョニングモジュール1324のサービスを使用して加入サービスをサポートするために、リソースのプロビジョニングをオーケストレーションしてもよい。
ある実施形態では、オーダーオーケストレーションモジュール1322は、各オーダーに関連付けられたビジネスプロセスの管理を可能にして、オーダーがプロビジョニングへ進むべきかどうかを判断するためにビジネスロジックを適用する。動作1342で、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレーションモジュール1322は、リソースを配分してサブスクリプションオーダーを遂行するために必要とされるそれらのリソースを構成することを求める要求を、オーダープロビジョニングモジュール1324へ送信する。オーダープロビジョニングモジュール1324は、顧客によってオーダーされたサービスのためのリソースの配分を可能にする。オーダープロビジョニングモジュール1324は、クラウドインフラストラクチャシステム1302によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間の抽象化のレベルを提供する。オーダーオーケストレーションモジュール1322はこのため、サービスおよびリソースが実際にオンザフライでプロビジョニングされるか否か、または予めプロビジョニングされて要求時にのみ配分され/割当てられるか否かといった実装詳細から切り離されてもよい。
動作1344で、サービスおよびリソースが一旦プロビジョニングされると、提供されたサービスの通知が、クラウドインフラストラクチャシステム1302のオーダープロビジョニングモジュール1324によって、クライアントデバイス1304、1306、および/または1308上の顧客へ送信されてもよい。
動作1346で、顧客のサブスクリプションオーダーが、オーダー管理および監視モジュール1326によって管理され、追跡されてもよい。場合によっては、オーダー管理および監視モジュール1326は、使用されるストレージの量、転送されるデータの量、ユーザの数、システムアップタイムおよびシステムダウンタイムの量といった、サブスクリプションオーダーにおけるサービスについての使用率統計を収集するように構成されてもよい。
ある実施形態では、クラウドインフラストラクチャシステム1302は、アイデンティティ管理モジュール1328を含んでいてもよい。アイデンティティ管理モジュール1328は、クラウドインフラストラクチャシステム1302においてアクセス管理および認証サービスなどのアイデンティティサービスを提供するように構成されてもよい。いくつかの実施形態では、アイデンティティ管理モジュール1328は、クラウドインフラストラクチャシステム1302によって提供されるサービスを利用したい顧客についての情報を制御してもよい。そのような情報は、そのような顧客のアイデンティティを認証する情報と、さまざまなシステムリソース(たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してそれらの顧客がどのアクションを行なうことが認可されているかを記述する情報とを含み得る。アイデンティティ管理モジュール1328はまた、各顧客についての記述的情報と、その記述的情報が誰によってどのようにアクセスされ、修正され得るかについての記述的情報との管理を含んでいてもよい。
図14は、本発明のさまざまな実施形態が実現され得る例示的なコンピュータシステム1400を示す。システム1400は、上述のコンピュータシステムのうちのいずれかを実現するために使用されてもよい。図に示すように、コンピュータシステム1400は、バスサブシステム1402を介して多くの周辺サブシステムと通信する処理部1404を含む。これらの周辺サブシステムは、処理加速部1406と、I/Oサブシステム1408と、記憶サブシステム1418と、通信サブシステム1424とを含んでいてもよい。記憶サブシステム1418は、有形のコンピュータ読取可能記憶媒体1422と、システムメモリ1410とを含む。
バスサブシステム1402は、コンピュータシステム1400のさまざまなコンポーネントおよびサブシステムを意図されるように互いに通信させるためのメカニズムを提供する。バスサブシステム1402は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実施形態は複数のバスを利用してもよい。バスサブシステム1402は、さまざまなバスアーキテクチャのうちのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかであってもよい。たとえば、そのようなアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、強化ISA(EISA)バス、ビデオエレクトロニクス標準組織(Video Electronics Standards Association:VESA)ローカルバス、および周辺コンポーネント相互接続(Peripheral Component Interconnect:PCI)バスを含んでいてもよく、それは、IEEE P1386.1規格で製造されるメザニンバスとして実現可能である。
1つ以上の集積回路(たとえば、従来のマイクロプロセッサまたはマイクロコントローラ)として実現され得る処理部1404は、コンピュータシステム1400の動作を制御する。処理部1404には、1つ以上のプロセッサが含まれていてもよい。これらのプロセッサは、シングルコアまたはマルチコアプロセッサを含んでいてもよい。ある実施形態では、処理部1404は、各処理部に含まれるシングルまたはマルチコアプロセッサを有する、1つ以上の独立した処理部1432および/または1434として実現されてもよい。他の実施形態では、処理部1404はまた、2つのデュアルコアプロセッサをシングルチップへと集積することによって形成されるクアッドコア処理部として実現されてもよい。
さまざまな実施形態では、処理部1404は、プログラムコードに応答してさまざまなプログラムを実行でき、同時に実行される複数のプログラムまたはプロセスを維持できる。任意の所与の時間において、実行されるべきプログラムコードのうちのいくつかまたはすべては、プロセッサ1404に、および/または記憶サブシステム1418にあり得る。好適なプログラミングを通して、プロセッサ1404は、上述のさまざまな機能性を提供できる。コンピュータシステム1400は加えて、処理加速部1406を含んでいてもよく、それは、デジタル信号プロセッサ(digital signal processor:DSP)、専用プロセッサなどを含み得る。
I/Oサブシステム1408は、ユーザインターフェイス入力デバイスと、ユーザインターフェイス出力デバイスとを含んでいてもよい。ユーザインターフェイス入力デバイスは、キーボード、マウスまたはトラックボールなどのポインティングデバイス、ディスプレイに組込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声コマンド認識システム付き音声入力デバイス、マイクロホン、および他のタイプの入力デバイスを含んでいてもよい。ユーザインターフェイス入力デバイスは、たとえば、ジェスチャーおよび口頭コマンドを使用する自然のユーザインターフェイスを通して、マイクロソフトXbox(登録商標)360ゲームコントローラなどの入力デバイスをユーザが制御し、それと対話することを可能にする、マイクロソフトKinect(登録商標)運動センサなどの運動感知および/またはジェスチャー認識デバイスを含んでいてもよい。ユーザインターフェイス入力デバイスはまた、ユーザから目の活動(たとえば、写真撮影中および/またはメニュー選択中の「まばたき」)を検出し、アイジェスチャーを入力デバイス(たとえば、グーグル・グラス(登録商標))への入力として変換する、グーグル・グラス(登録商標)まばたき検出器などのアイジェスチャー認識デバイスを含んでいてもよい。加えて、ユーザインターフェイス入力デバイスは、ユーザが音声コマンドを通して音声認識システム(たとえば、Siri(登録商標)ナビゲータ)と対話できるようにする音声認識感知デバイスを含んでいてもよい。
ユーザインターフェイス入力デバイスはまた、3次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびに、スピーカ、デジタルカメラ、デジタルビデオカメラ、携帯型メディアプレイヤー、ウェブカメラ、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザー測距器、および視線追跡デバイスなどの音声/視覚デバイスを、何ら限定されることなく含んでいてもよい。加えて、ユーザインターフェイス入力デバイスは、たとえば、コンピュータ断層撮影装置、磁気共鳴撮像装置、ポジトロン放出断層撮影装置、医療用超音波検査装置などの医療用撮像入力デバイスを含んでいてもよい。ユーザインターフェイス入力デバイスはまた、たとえば、MIDIキーボード、デジタル楽器などの音声入力デバイスを含んでいてもよい。
ユーザインターフェイス出力デバイスは、表示サブシステム、表示灯、または、音声出力デバイスなどの非視覚的ディスプレイを含んでいてもよい。表示サブシステムは、陰極線管(cathode ray tube:CRT)、液晶ディスプレイ(liquid crystal display:LCD)またはプラズマディスプレイを使用するものなどのフラットパネルデバイス、投影デバイス、タッチスクリーンなどであってもよい。一般に、「出力デバイス」という用語の使用は、コンピュータシステム1400からユーザまたは他のコンピュータへ情報を出力するためのあらゆる可能なタイプのデバイスおよびメカニズムを含むよう意図されている。たとえば、ユーザインターフェイス出力デバイスは、モニタ、プリンタ、スピーカ、ヘッドホン、自動車ナビゲーションシステム、プロッタ、音声出力デバイス、およびモデムといった、テキスト、グラフィックスおよび音声/映像情報を視覚的に伝えるさまざまな表示デバイスを、何ら限定されることなく含んでいてもよい。
コンピュータシステム1400は、現在システムメモリ1410内に位置するように図示されたソフトウェア要素を含む記憶サブシステム1418を含んでいてもよい。システムメモリ1410は、処理部1404上でロード可能および実行可能なプログラム命令、ならびに、これらのプログラムの実行中に生成されたデータを格納してもよい。
コンピュータシステム1400の構成およびタイプに依存して、システムメモリ1410は、揮発性(ランダムアクセスメモリ(random access memory:RAM)など)および/または不揮発性(読出専用メモリ(read-only memory:ROM)、フラッシュメモリなど)であってもよい。RAMは典型的には、処理部1404に直ちにアクセス可能である、および/または、処理部1404によって現在動作され実行されている、データおよび/またはプログラムモジュールを含む。いくつかの実現化例では、システムメモリ1410は、スタティックランダムアクセスメモリ(SRAM)またはダイナミックランダムアクセスメモリ(DRAM)といった、複数の異なるタイプのメモリを含んでいてもよい。いくつかの実現化例では、起動中などにコンピュータシステム1400内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入力/出力システム(basic input/output system:BIOS)が、典型的にはROMに格納されてもよい。限定のためではなく例として、システムメモリ1410はまた、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(RDBMS)などを含み得るアプリケーションプログラム1412と、プログラムデータ1414と、オペレーティングシステム1416とを示す。例として、オペレーティングシステム1416は、マイクロソフト・ウィンドウズ(登録商標)、アップル・マッキントッシュ(登録商標)、および/またはリナックスオペレーティングシステムのさまざまなバージョン、商業的に入手可能なさまざまなUNIX(登録商標)またはUNIX様オペレーティングシステム(さまざまなGNU/リナックスオペレーティングシステム、グーグル・クローム(登録商標)OSなどを何ら限定されることなく含む)、および/または、iOS、ウィンドウズ(登録商標)フォン、アンドロイド(登録商標)OS、ブラックベリー(登録商標)10OS、パーム(登録商標)OSオペレーティングシステムなどのモバイルオペレーティングシステムを含んでいてもよい。
記憶サブシステム1418はまた、いくつかの実施形態の機能性を提供するデータ構造および基本プログラミングを格納するための有形のコンピュータ読取可能記憶媒体を提供してもよい。プロセッサによって実行されると上述の機能性を提供するソフトウェア(プログラム、コードモジュール、命令)が、記憶サブシステム1418に格納されてもよい。これらのソフトウェアモジュールまたは命令は、処理部1404によって実行されてもよい。記憶サブシステム1418はまた、本発明に従って使用されるデータを格納するためのリポジトリを提供してもよい。
記憶サブシステム1418はまた、コンピュータ読取可能記憶媒体1422にさらに接続され得るコンピュータ読取可能記憶媒体リーダ1420を含んでいてもよい。システムメモリ1410とともに、およびオプションでシステムメモリ1410と組合わされて、コンピュータ読取可能記憶媒体1422は、リモート、ローカル、固定および/またはリムーバブルの記憶装置に加えて、コンピュータ読取可能情報を一時的におよび/またはより永続的に含み、格納し、伝送し、検索するための記憶媒体を包括的に表わしてもよい。
コードまたはコードの一部を含むコンピュータ読取可能記憶媒体1422はまた、情報の格納および/または伝送のための任意の方法または技術において実現された揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体などといった記憶媒体および通信媒体を含む、当該技術分野において公知の、または使用されている任意の適切な媒体を含み得る。これは、RAM、ROM、電子的消去可能プログラマブルROM(electronically erasable programmable ROM:EEPROM)、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(digital versatile disk:DVD)、または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、もしくは他の有形のコンピュータ読取可能媒体といった、有形のコンピュータ読取可能記憶媒体を含み得る。これはまた、所望の情報を伝送するために使用可能であり、コンピューティングシステム1400によってアクセス可能であるデータ信号、データ伝送、または任意の他の媒体といった、非有形のコンピュータ読取可能媒体を含み得る。
例として、コンピュータ読取可能記憶媒体1422は、非リムーバブルの不揮発性磁気媒体との間で読出および書込を行なうハードディスクドライブ、リムーバブルの不揮発性磁気媒体との間で読出および書込を行なう磁気ディスクドライブ、ならびに、CD ROM、DVD、Blu−Ray(登録商標)ディスク、または他の光学媒体といった、リムーバブルの不揮発性光ディスクとの間で読出および書込を行なう光ディスクドライブを含んでいてもよい。コンピュータ読取可能記憶媒体1422は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブ、セキュアデジタル(secure digital:SD)カード、DVDディスク、デジタルビデオテープなどを含んでいてもよいが、それらに限定されない。コンピュータ読取可能記憶媒体1422はまた、フラッシュメモリベースのソリッドステートドライブ(solid-state drive:SSD)、企業フラッシュドライブ、ソリッドステートROMといった、不揮発性メモリに基づいたSSD、ソリッドステートRAM、ダイナミックRAM、スタティックRAM、DRAMベースのSSD、磁気抵抗RAM(MRAM)SSDといった、揮発性メモリに基づいたSSD、および、DRAMベースのSSDとフラッシュメモリベースのSSDとの組合せを使用するハイブリッドSSDを含んでいてもよい。ディスクドライブおよびそれらの関連付けられたコンピュータ読取可能媒体は、コンピュータシステム1400のためのコンピュータ読取可能命令、データ構造、プログラムモジュール、および他のデータの不揮発性格納を提供してもよい。
通信サブシステム1424は、他のコンピュータシステムおよびネットワークへのインターフェイスを提供する。通信サブシステム1424は、コンピュータシステム1400とは別のシステムからデータを受信し、別のシステムにデータを送信するためのインターフェイスとして機能する。たとえば、通信サブシステム1424は、コンピュータシステム1400がインターネットを介して1つ以上のデバイスに接続できるようにしてもよい。いくつかの実施形態では、通信サブシステム1424は、(たとえば、3G、4G、またはEDGE(enhanced data rates for global evolution:エンハンスト・データレート・フォー・グローバル・エボリューション)、WiFi(IEEE802.11ファミリー規格)、または他のモバイル通信技術、またはそれらの任意の組合せといった携帯電話技術、高度なデータネットワーク技術を使用した)無線音声および/またはデータネットワークにアクセスするための無線周波数(radio frequency:RF)トランシーバコンポーネント、全地球測位システム(global positioning system:GPS)受信機コンポーネント、および/または他のコンポーネントを含んでいてもよい。いくつかの実施形態では、通信サブシステム1424は、無線インターフェイスに加えて、またはその代わりに、有線ネットワーク接続(たとえば、イーサネット)を提供できる。
いくつかの実施形態では、通信サブシステム1424はまた、構造化および/または非構造化データフィード1426、イベントストリーム1428、イベント更新1430などの形をした入力通信を、コンピュータシステム1400を使用する1人以上のユーザのために受信してもよい。
例として、通信サブシステム1424は、ツイッター(登録商標)フィード、フェースブック(登録商標)更新、リッチ・サイト・サマリー(Rich Site Summary:RSS)フィードなどのウェブフィード、および/または1つ以上の第三者情報源からのリアルタイム更新といった、ソーシャルネットワークおよび/または他の通信サービスのユーザからのデータフィード1426をリアルタイムで受信するように構成されてもよい。
加えて、通信サブシステム1424はまた、リアルタイムイベントのイベントストリーム1428および/またはイベント更新1430を含み得る、明確な終わりがなく本質的に連続的または無限であり得る連続データストリームの形をしたデータを受信するように構成されてもよい。連続データを生成するアプリケーションの例は、たとえば、センサデータアプリケーション、金融ティッカー、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通監視などを含んでいてもよい。
通信サブシステム1424はまた、構造化および/または非構造化データフィード1426、イベントストリーム1428、イベント更新1430などを、コンピュータシステム1400に結合された1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成されてもよい。
コンピュータシステム1400は、ハンドヘルド携帯デバイス(たとえば、iPhone(登録商標)携帯電話、iPad(登録商標)コンピューティングタブレット、PDA)、ウェアラブルデバイス(たとえば、グーグル・グラス(登録商標)頭部装着型ディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラック、または任意の他のデータ処理システムを含む、さまざまなタイプのうちの1つであり得る。
コンピュータおよびネットワークの絶えず変化する性質により、図に示されるコンピュータシステム1400の説明は、単に特定の一例として意図される。図に示されるシステムよりも多い、または少ないコンポーネントを有する多くの他の構成が可能である。たとえば、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素が、ハードウェア、ファームウェア、ソフトウェア(アプレットを含む)、または組合せで実現されてもよい。さらに、ネットワーク入力/出力デバイスといった他のコンピューティングデバイスへの接続が採用されてもよい。ここに提供される開示および教示に基づいて、当業者であれば、さまざまな実施形態を実現するための他のやり方および/または方法を理解するであろう。
前述の記載では、説明の目的のため、多くの特定の詳細が、本発明のさまざまな実施形態の完全な理解を提供するために述べられた。しかしながら、これらの特定の詳細のうちのいくつかがなくても本発明の実施形態は実践され得る、ということは、当業者には明らかであろう。他の例では、周知の構造およびデバイスは、ブロック図の形で示される。
前述の記載は例示的な実施形態のみを提供しており、この開示の範囲、利用可能性、または構成を限定するよう意図されてはいない。むしろ、例示的な実施形態の前述の記載は、例示的な実施形態を実現するための実施可能な説明を当業者に提供するであろう。添付された請求項で述べられるようなこの発明の精神および範囲から逸脱することなく、要素の機能および配置においてさまざまな変更が行なわれてもよい、ということが理解されるべきである。
前述の記載では、実施形態の完全な理解を提供するために、特定の詳細が与えられる。しかしながら、これらの特定の詳細がなくても実施形態は実践され得る、ということは、当業者には理解されるであろう。たとえば、実施形態を必要以上に詳細に記して不明瞭にすることがないように、回路、システム、ネットワーク、プロセス、および他のコンポーネントは、ブロック図の形のコンポーネントとして示されたかもしれない。他の例では、実施形態を不明瞭にしないように、周知の回路、プロセス、アルゴリズム、構造、および手法は、不要な詳細なしで示されたかもしれない。
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されたかもしれないということに留意されたい。フローチャートは動作を順次プロセスとして説明したかもしれないが、動作の多くは並行してまたは同時に行なうことが可能である。加えて、動作の順序は並べ替えられてもよい。プロセスは、その動作が完了すると終了するが、図に含まれない追加のステップを有していてもよい。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応していてもよい。プロセスがある機能に対応している場合、その終了は、その機能が呼出し元の機能または主機能に戻ることに対応可能である。
「コンピュータ読取可能媒体」という用語は、命令および/またはデータを格納し、含み、または担持することができる、携帯型または固定式記憶装置、光学記憶装置、無線チャネル、ならびにさまざまな他の媒体を含むものの、それらに限定されない。コードセグメントまたはマシン実行可能命令が、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、もしくは、命令、データ構造またはプログラム文の任意の組合せを表わしてもよい。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡し、および/または受信することによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク伝送などを含む任意の好適な手段を介して渡され、発送され、または伝送されてもよい。
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実現される場合、必要なタスクを行なうためのプログラムコードまたはコードセグメントが、マシン読取可能媒体に格納されてもよい。プロセッサが、必要なタスクを行なってもよい。
前述の明細書では、この発明の局面がその特定の実施形態に関して説明されているが、当業者であれば、この発明がそれらに限定されないことを認識するであろう。上述の発明のさまざまな特徴および局面は、個々にまたはともに使用されてもよい。また、実施形態は、明細書のより広範な精神および範囲から逸脱することなく、ここに説明されたものを超えるあらゆる数の環境および用途において利用され得る。したがって、明細書および図面は、限定的ではなく例示的であるとみなされるべきである。
加えて、例示のために、方法は特定の順序で説明された。代替的な実施形態では、方法は、説明されたものとは異なる順序で行なわれてもよい、ということが理解されるべきである。上述の方法はハードウェアコンポーネントによって行なわれてもよく、もしくは、汎用または専用プロセッサ、もしくは命令でプログラミングされた論理回路といったマシンに方法を行なわせるために使用され得るマシン実行可能命令のシーケンスで具現化されてもよい、ということも理解されるべきである。これらのマシン実行可能命令は、1つ以上のマシン読取可能媒体、たとえば、CD−ROMまたは他のタイプの光ディスク、フロッピー(登録商標)ディスケット、ROM、RAM、EPROM、EEPROM、磁気カードまたは光カード、フラッシュメモリ、もしくは、電子命令を格納するのに好適である他のタイプのマシン読取可能媒体上に格納されてもよい。それに代えて、方法は、ハードウェアとソフトウェアとの組合せによって行なわれてもよい。

Claims (20)

  1. プライベートクラウドにおけるデータベースプロビジョニングのためにリソースを予め配分する方法であって、前記方法は、
    1つ以上のプロセッサが、顧客のデータベースシステムにおける複数のデータベースの特性を判断するステップと、
    前記1つ以上のプロセッサが、前記複数のデータベースの前記特性をグループ分けすることで、前記顧客のデータベースシステムにおいてインスタンス化されるデータベースのクラスを記述している複数のデータベーステンプレートを生成するステップと、
    前記1つ以上のプロセッサが、前記複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースが前記プライベートクラウドにおいて予め配分されるようにするステップと、
    前記1つ以上のプロセッサが、インターフェイスを介して、前記複数のデータベーステンプレートのライブラリを提示するステップと、
    前記1つ以上のプロセッサが、前記インターフェイスを介して、前記複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信するステップと、
    前記1つ以上のプロセッサが、前記データベーステンプレートによって少なくとも部分的に記述されたデータベースが、前記プライベートクラウドにおいてプロビジョニングされるようにするステップとを含む、方法。
  2. 前記複数のデータベースの前記特性は、オペレーティングシステムタイプおよびバージョンを含む、請求項1に記載の方法。
  3. 前記複数のデータベースの前記特性は、データベースタイプおよびバージョンを含む、請求項1または2に記載の方法。
  4. 前記複数のデータベースの前記特性は、データベースメモリサイズを含む、請求項1から3のいずれか1項に記載の方法。
  5. 前記複数のデータベースの前記特性は、プロセッサ使用率を含む、請求項1から4のいずれか1項に記載の方法。
  6. 前記複数のデータベースの前記特性は、前記特性をゲートウェイを通してクラウドサポートプラットフォームへ伝送する、前記顧客のデータベースシステムにインストールされた1つ以上のソフトウェアエージェントによって判断される、請求項1から5のいずれか1項に記載の方法。
  7. 前記クラウドサポートプラットフォームは、前記複数のデータベースの前記特性のリアルタイム報告を生成する、請求項6に記載の方法。
  8. 前記複数のデータベースの前記特性をグループ分けすることは、前記特性を、少なくとも第1のグループの特性および第2のグループの特性へと分割することを含み、
    前記第1のグループの特性は、前記複数のデータベースのうちの2つ以上のデータベース間で共有される特性を含み、
    前記第2のグループの特性は、前記複数のデータベースのうちの2つ以上のデータベースのうちの少なくとも1つに特有の特性を含む、請求項1から7のいずれか1項に記載の方法。
  9. 前記第1のグループの特性は、オペレーティングシステムと、データベースバージョン番号と、データベースタイプとを含む、請求項8に記載の方法。
  10. 前記第2のグループの特性は、データベースメモリサイズと、リスナポートと、ホームディレクトリ経路とを含む、請求項8または9に記載の方法。
  11. 前記方法は、さらに、
    前記1つ以上のプロセッサが、前記データベーステンプレートの前記選択を受信後、前記データベーステンプレートからの前記第1のグループの特性を含む一時的テンプレートを作成するステップと、
    前記1つ以上のプロセッサが、前記第2のグループの特性についての値を含む入力を受信するステップと、
    前記1つ以上のプロセッサが、前記第2のグループの特性についての前記値を前記一時的テンプレートに割当てるステップとを含む、請求項8から10のいずれか1項に記載の方法。
  12. 前記方法は、さらに、
    前記1つ以上のプロセッサが、前記データベーステンプレートによって少なくとも部分的に記述された前記データベースが前記プライベートクラウドにおいてアクティブである間、前記一時的テンプレートをテンプレートのライブラリにおいて保持するステップと、
    前記1つ以上のプロセッサが、前記データベーステンプレートによって少なくとも部分的に記述された前記データベースが前記プライベートクラウドにおいてもはやアクティブではなくなった後に、テンプレートの前記ライブラリから前記一時的テンプレートを削除するステップとを含む、請求項11に記載の方法。
  13. 前記方法は、さらに、
    前記1つ以上のプロセッサが、前記データベーステンプレートによって少なくとも部分的に記述された前記データベースがいつ、前記プライベートクラウドにおいてもはやアクティブではなくなったかを判断するために、前記プライベートクラウドに問合せるステップを含む、請求項12に記載の方法。
  14. システムであって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに動作を行なわせる命令を含む、1つ以上のメモリデバイスとを含み、前記動作は、
    顧客のデータベースシステムにおける複数のデータベースの特性を判断することと、
    前記複数のデータベースの前記特性をグループ分けすることで、前記顧客のデータベー
    スシステムにおいてインスタンス化されるデータベースのクラスを記述している複数のデータベーステンプレートを生成することと、
    前記複数のデータベーステンプレートのうちの少なくともいくつかに基づいて、リソースがプライベートクラウドにおいて予め配分されるようにすることと、
    インターフェイスを介して、前記複数のデータベーステンプレートのライブラリを提示することと、
    前記インターフェイスを介して、前記複数のデータベーステンプレートから、プロビジョニング要求の一部として、データベーステンプレートの選択を受信することと、
    前記データベーステンプレートによって少なくとも部分的に記述されたデータベースが、前記プライベートクラウドにおいてプロビジョニングされるようにすることとを含む、システム。
  15. 前記1つ以上のメモリデバイスは、前記1つ以上のプロセッサに追加の動作を行なわせる追加の命令をさらに含み、前記追加の動作は、
    前記複数のデータベーステンプレートから、前記プロビジョニング要求の一部として、追加のデータベーステンプレートの追加の選択を受信することと、
    前記データベーステンプレートによって少なくとも部分的に記述された前記データベースと、前記追加のデータベーステンプレートによって少なくとも部分的に記述された追加のデータベースとが、前記プロビジョニング要求の一部としてともにプロビジョニングされるべきであることを示す入力を受信することと、
    前記追加のデータベーステンプレートによって少なくとも部分的に記述された前記追加のデータベースが、前記データベーステンプレートによって少なくとも部分的に記述された前記データベースとともに、前記プライベートクラウドにおいてプロビジョニングされるようにすることとを含む、請求項14に記載のシステム。
  16. 前記プライベートクラウドは、
    第1のオペレーティングシステムを使用する第1のプラットフォーム・アズ・ア・サービス(PaaS)プールと、
    第2のオペレーティングシステムを使用する第2のPaaSプールとを含み、前記第1のオペレーティングシステムは前記第2のオペレーティングシステムとは異なっている、請求項14または15に記載のシステム。
  17. 前記第1のPaaSプールは、
    第1のデータベースバージョンを使用する第1のデータベース・アズ・ア・サービス(DBaaS)プールと、
    第2のデータベースバージョンを使用する第2のDBaaSプールとを含み、前記第1のデータベースバージョンは前記第2のデータベースバージョンとは異なっている、請求項16に記載のシステム。
  18. 前記1つ以上のメモリデバイスは、前記1つ以上のプロセッサに追加の動作を行なわせる追加の命令をさらに含み、前記追加の動作は、
    前記データベーステンプレートによって少なくとも部分的に記述された前記データベースが、前記データベーステンプレートにおける仕様と一致するDBaaSプールにインストール可能かどうかを判断するために、前記プライベートクラウドをテストすることを含む、請求項14から17のいずれか1項に記載のシステム。
  19. 前記プライベートクラウドをテストすることは、前記プライベートクラウドが、前記データベーステンプレートと一致する、オペレーティングシステムとデータベースバージョンとデータベースタイプとを有するDBaaSプールを含むかどうかと、前記プライベートクラウドが、前記データベーステンプレートによって少なくとも部分的に記述された前
    記データベースに対処するのに十分なメモリおよび処理パワーを有するかどうかとを判断することを含む、請求項18に記載のシステム。
  20. コンピュータにより実行されると、請求項1〜13のいずれか1項に記載の方法をコンピュータに実行させる命令を有したコンピュータ読取可能プログラム。
JP2018563858A 2016-06-07 2017-05-15 データベースプロビジョニングのためのリソース配分 Active JP6967534B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/175,213 US11036696B2 (en) 2016-06-07 2016-06-07 Resource allocation for database provisioning
US15/175,213 2016-06-07
PCT/US2017/032620 WO2017213803A1 (en) 2016-06-07 2017-05-15 Resource allocation for database provisioning

Publications (3)

Publication Number Publication Date
JP2019522846A JP2019522846A (ja) 2019-08-15
JP2019522846A5 JP2019522846A5 (ja) 2020-05-21
JP6967534B2 true JP6967534B2 (ja) 2021-11-17

Family

ID=58772969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018563858A Active JP6967534B2 (ja) 2016-06-07 2017-05-15 データベースプロビジョニングのためのリソース配分

Country Status (5)

Country Link
US (1) US11036696B2 (ja)
EP (1) EP3465466A1 (ja)
JP (1) JP6967534B2 (ja)
CN (1) CN109478266B (ja)
WO (1) WO2017213803A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US9491072B2 (en) 2013-07-09 2016-11-08 Oracle International Corporation Cloud services load testing and analysis
US10776244B2 (en) 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US10387198B2 (en) * 2016-08-11 2019-08-20 Rescale, Inc. Integrated multi-provider compute platform
CN108399106A (zh) * 2018-02-28 2018-08-14 华为技术有限公司 管理物理主机的方法和装置
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US11232871B1 (en) * 2018-07-31 2022-01-25 Veeva Systems Inc. System and method for exchanging clinical data
US10917458B2 (en) * 2018-11-12 2021-02-09 Pivotal Software, Inc. Message broker configuration
US10628148B1 (en) * 2018-11-21 2020-04-21 Vmware, Inc. Resource deployment for inter-platform application manager
USD886143S1 (en) 2018-12-14 2020-06-02 Nutanix, Inc. Display screen or portion thereof with a user interface for database time-machine
US10817157B2 (en) 2018-12-20 2020-10-27 Nutanix, Inc. User interface for database management services
US11010336B2 (en) 2018-12-27 2021-05-18 Nutanix, Inc. System and method for provisioning databases in a hyperconverged infrastructure system
US11816066B2 (en) 2018-12-27 2023-11-14 Nutanix, Inc. System and method for protecting databases in a hyperconverged infrastructure system
US11669321B2 (en) * 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11630684B2 (en) * 2019-07-26 2023-04-18 Microsoft Technology Licensing, Llc Secure incident investigation workspace generation and investigation control
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
US11588753B2 (en) * 2019-12-20 2023-02-21 Alibaba Group Holding Limited Methods and systems for generating deployment architecture and template
US11294919B2 (en) * 2020-03-09 2022-04-05 Bank Of America Corporation Trihybrid data movement, data governance and data provenance system
US11138536B1 (en) * 2020-06-18 2021-10-05 Adp, Llc Intelligent implementation project management
US11604705B2 (en) 2020-08-14 2023-03-14 Nutanix, Inc. System and method for cloning as SQL server AG databases in a hyperconverged system
US11907167B2 (en) 2020-08-28 2024-02-20 Nutanix, Inc. Multi-cluster database management services
US11640340B2 (en) 2020-10-20 2023-05-02 Nutanix, Inc. System and method for backing up highly available source databases in a hyperconverged system
US11604806B2 (en) 2020-12-28 2023-03-14 Nutanix, Inc. System and method for highly available database service
CN112487075B (zh) * 2020-12-29 2021-08-31 中科院计算技术研究所大数据研究院 一种集成关系型和非关系型数据库数据转换算子的方法
US11892918B2 (en) 2021-03-22 2024-02-06 Nutanix, Inc. System and method for availability group database patching
CN113268479A (zh) * 2021-07-02 2021-08-17 浙江万里学院 一种计算机数据库云调试维护系统
US11803368B2 (en) 2021-10-01 2023-10-31 Nutanix, Inc. Network learning to control delivery of updates

Family Cites Families (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185625B1 (en) 1996-12-20 2001-02-06 Intel Corporation Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object
US6016394A (en) 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6151608A (en) 1998-04-07 2000-11-21 Crystallize, Inc. Method and system for migrating data
US6356898B2 (en) * 1998-08-31 2002-03-12 International Business Machines Corporation Method and system for summarizing topics of documents browsed by a user
US7020697B1 (en) 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6477483B1 (en) 2000-01-17 2002-11-05 Mercury Interactive Corporation Service for load testing a transactional server over the internet
US6615220B1 (en) 2000-03-14 2003-09-02 Oracle International Corporation Method and mechanism for data consolidation
US6973489B1 (en) 2000-03-21 2005-12-06 Mercury Interactive Corporation Server monitoring virtual points of presence
US6738811B1 (en) 2000-03-31 2004-05-18 Supermicro Computer, Inc. Method and architecture for monitoring the health of servers across data networks
JP2001297026A (ja) 2000-04-11 2001-10-26 Hitachi Ltd 複数のデータベースマネージメントシステムを有する計算機システム
US6898564B1 (en) 2000-05-23 2005-05-24 Microsoft Corporation Load simulation tool for server resource capacity planning
JP2001337790A (ja) 2000-05-24 2001-12-07 Hitachi Ltd 記憶システム及びその階層管理制御方法
SG93868A1 (en) 2000-06-07 2003-01-21 Kent Ridge Digital Labs Method and system for user-configurable clustering of information
JP2002007364A (ja) 2000-06-22 2002-01-11 Fujitsu Ltd 並列計算機システムのジョブスケジューリングを行うスケジューリング装置
US6604110B1 (en) 2000-08-31 2003-08-05 Ascential Software, Inc. Automated software code generation from a metadata-based repository
US7620665B1 (en) 2000-11-21 2009-11-17 International Business Machines Corporation Method and system for a generic metadata-based mechanism to migrate relational data between databases
US7143347B2 (en) 2001-02-02 2006-11-28 Opentv, Inc. Method and apparatus for reformatting of content for display on interactive television
US7548898B1 (en) 2001-02-28 2009-06-16 Teradata Us, Inc. Parallel migration of data between systems
US7177866B2 (en) 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US20020194329A1 (en) 2001-05-02 2002-12-19 Shipley Company, L.L.C. Method and system for facilitating multi-enterprise benchmarking activities and performance analysis
US7197559B2 (en) 2001-05-09 2007-03-27 Mercury Interactive Corporation Transaction breakdown feature to facilitate analysis of end user performance of a server system
FR2824929B1 (fr) 2001-05-18 2003-08-08 Gemplus Card Int Deploiement d'application depuis une carte a puce
US7134122B1 (en) 2001-05-31 2006-11-07 Oracle International Corporation One click deployment
US7580862B1 (en) 2001-05-31 2009-08-25 The Servicemaster Company Method and system to select, schedule and purchase home services
CN1545674A (zh) 2001-07-06 2004-11-10 商业处理策略对象
US20030037034A1 (en) * 2001-08-16 2003-02-20 Tim Daniels System and method for lubricants supply chain management
US6978441B2 (en) 2001-10-03 2005-12-20 Sun Microsystems, Inc. Rating apparatus and method for evaluating bugs
US7065541B2 (en) 2001-10-10 2006-06-20 International Business Machines Corporation Database migration
US6889210B1 (en) 2001-12-12 2005-05-03 Pss Systems, Inc. Method and system for managing security tiers
US20030192028A1 (en) 2002-04-04 2003-10-09 International Business Machines Corporation System and method for determining software object migration sequences
US8121978B2 (en) 2002-11-15 2012-02-21 Sybase, Inc. Database system providing improved methods for data replication
US20040153358A1 (en) 2003-01-31 2004-08-05 Lienhart Deborah A. Method and system for prioritizing user feedback
WO2004081758A2 (en) 2003-03-12 2004-09-23 Digex, Inc. System and method for maintaining installed software compliance with build standards
US20060179431A1 (en) 2003-03-19 2006-08-10 Unisys Corporation Rules-based deployment of computing components
EP1611532A4 (en) 2003-03-19 2008-10-22 Unisys Corp SERVER CONSOLIDATION DATA MODEL
US20060173875A1 (en) 2003-03-19 2006-08-03 Unisys Corporation Server Consolidation Data Mdel
WO2004097566A2 (en) * 2003-04-24 2004-11-11 Secureinfo Corporation Automated electronic software distribution and management method and system
US7801851B2 (en) 2003-06-30 2010-09-21 Gravic, Inc. Method for ensuring referential integrity in multi-threaded replication engines
US7552171B2 (en) 2003-08-14 2009-06-23 Oracle International Corporation Incremental run-time session balancing in a multi-node system
US8655755B2 (en) 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
JP2005222108A (ja) 2004-02-03 2005-08-18 Matsushita Electric Ind Co Ltd バグ分析方法および装置
WO2006007460A2 (en) 2004-06-21 2006-01-19 Spirent Communications Of Rockville, Inc. Service-centric computer network services diagnostic conclusions
US7707007B2 (en) 2004-07-30 2010-04-27 International Business Machines Corporation Autonomic client migration system for service engagements
US7290003B1 (en) 2004-08-19 2007-10-30 Sun Microsystems, Inc. Migrating data using an intermediate self-describing format
US7523286B2 (en) 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US20090126022A1 (en) 2004-11-25 2009-05-14 Nec Corporation Method and System for Generating Data for Security Assessment
US8732182B2 (en) 2004-12-02 2014-05-20 Desktopsites Inc. System and method for launching a resource in a network
US7343467B2 (en) 2004-12-20 2008-03-11 Emc Corporation Method to perform parallel data migration in a clustered storage environment
US7831570B2 (en) 2004-12-30 2010-11-09 Oracle International Corporation Mandatory access control label security
US20060235899A1 (en) 2005-03-25 2006-10-19 Frontline Systems, Inc. Method of migrating legacy database systems
US7656810B2 (en) 2005-03-25 2010-02-02 Microsoft Corporation System and method for monitoring and reacting to peer-to-peer network metrics
JP5093990B2 (ja) 2005-03-28 2012-12-12 Necエンジニアリング株式会社 バグ管理システム
US7693983B1 (en) 2005-05-27 2010-04-06 Symantec Operating Corporation System and method providing application redeployment mappings using filtered resource usage data
US7836452B2 (en) 2005-06-10 2010-11-16 International Business Machines Corporation System, method and program for estimating a requisite amount of server resources
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US8438643B2 (en) 2005-09-22 2013-05-07 Alcatel Lucent Information system service-level security risk analysis
US7707552B2 (en) 2005-10-17 2010-04-27 International Business Machines Corporation Method and system for autonomically prioritizing software defects
US20070106710A1 (en) 2005-10-26 2007-05-10 Nils Haustein Apparatus, system, and method for data migration
KR100551454B1 (ko) 2005-11-29 2006-02-14 (주)그리드원 서버의 응용프로그램 성능을 시험하기 위한 그리드 컴퓨팅제어방법 및 그 서비스방법
US7480643B2 (en) 2005-12-22 2009-01-20 International Business Machines Corporation System and method for migrating databases
US7853945B2 (en) 2006-02-22 2010-12-14 Michael Kramer Integrated computer server imaging
US7676492B2 (en) 2006-04-07 2010-03-09 International Business Machines Corporation Migration of database using serialized objects
US8793679B2 (en) 2006-04-21 2014-07-29 Cirba Inc Method and system for determining compatibility of computer systems
US8606894B1 (en) 2006-04-27 2013-12-10 Hewlett-Packard Development Company, L.P. Server consolidation
JP2007328692A (ja) 2006-06-09 2007-12-20 Canon Inc 代数演算方法及びその装置、プログラム
US7865584B2 (en) 2006-06-20 2011-01-04 Alcatel Lucent Network service performance monitoring apparatus and methods
US8060931B2 (en) 2006-09-08 2011-11-15 Microsoft Corporation Security authorization queries
US8347403B2 (en) 2006-12-19 2013-01-01 Canon Kabushiki Kaisha Single point authentication for web service policy definition
US9563417B2 (en) 2006-12-29 2017-02-07 International Business Machines Corporation Patch management automation tool for UNIX, APARXML
CN101266606B (zh) 2007-03-15 2012-06-20 阿里巴巴集团控股有限公司 一种基于Oracle数据库的在线数据迁移方法
US8239520B2 (en) 2007-04-05 2012-08-07 Alcatel Lucent Network service operational status monitoring
US8271757B1 (en) 2007-04-17 2012-09-18 American Megatrends, Inc. Container space management in a data storage system
US8006223B2 (en) 2007-06-13 2011-08-23 International Business Machines Corporation Method and system for estimating project plans for packaged software applications
US8494832B2 (en) 2007-06-20 2013-07-23 Sanjeev Krishnan Method and apparatus for software simulation
US9678803B2 (en) 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US7886028B2 (en) 2007-07-05 2011-02-08 International Business Machines Corporation Method and system for system migration
US20090048993A1 (en) 2007-08-13 2009-02-19 Motorola, Inc. Implementation of operating system securing
CA2697965C (en) 2007-08-31 2018-06-12 Cirba Inc. Method and system for evaluating virtualized environments
US8407686B2 (en) 2007-09-07 2013-03-26 Ebay Inc. Method and system for problem notification and processing
US8356287B2 (en) 2007-10-24 2013-01-15 International Business Machines Corporation Device, system and method of debugging computer programs
EP2215775A1 (en) 2007-11-21 2010-08-11 Motive, Incorporated System and method for identifying and calling a function of a service
US20090187413A1 (en) 2008-01-18 2009-07-23 Timothy Abels Service delivery platform for automated and remote information technology management
US8175863B1 (en) 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
US8495564B2 (en) 2008-02-19 2013-07-23 International Business Machines Corporation Automated merging in a software development environment
US7856499B2 (en) 2008-03-20 2010-12-21 Sap Ag Autonomic provisioning of hosted applications with level of isolation terms
US8484355B1 (en) * 2008-05-20 2013-07-09 Verizon Patent And Licensing Inc. System and method for customer provisioning in a utility computing platform
US7962458B2 (en) 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US8301593B2 (en) 2008-06-12 2012-10-30 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
US8433680B2 (en) 2008-07-01 2013-04-30 Oracle International Corporation Capturing and restoring database session state
US8266254B2 (en) * 2008-08-19 2012-09-11 International Business Machines Corporation Allocating resources in a distributed computing environment
JP4923008B2 (ja) 2008-08-22 2012-04-25 株式会社日立製作所 ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム
US9367257B2 (en) 2008-09-11 2016-06-14 Microsoft Technology Licensing, Llc Techniques for resource location and migration across data centers
US8275748B2 (en) 2008-09-30 2012-09-25 Emc Corporation Semantic data migration
US8898660B2 (en) 2008-11-25 2014-11-25 Fisher-Rosemount Systems, Inc. Systems and methods to provide customized release notes during a software system upgrade of a process control system
US8286177B2 (en) 2009-01-29 2012-10-09 Microsoft Corporation Technique for conserving software application resources
US8117613B2 (en) 2009-04-08 2012-02-14 Microsoft Corporation Optimized virtual machine migration mechanism
US8234377B2 (en) 2009-07-22 2012-07-31 Amazon Technologies, Inc. Dynamically migrating computer networks
US8495725B2 (en) 2009-08-28 2013-07-23 Great Wall Systems Methods, systems, and computer readable media for adaptive packet filtering
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8850423B2 (en) 2009-10-29 2014-09-30 International Business Machines Corporation Assisting server migration
US8386418B2 (en) * 2009-11-30 2013-02-26 International Business Machines Corporation System and method for an intelligent storage service catalog
GB2468742B (en) 2009-12-22 2011-01-12 Celona Technologies Ltd Error prevention for data replication
US8615741B2 (en) 2009-12-24 2013-12-24 International Business Machines Corporation Software defect tracking
US8589555B2 (en) 2010-01-11 2013-11-19 Nec Laboratories America, Inc. Virtualization and consolidation analysis engine for enterprise data centers
WO2011126902A2 (en) 2010-03-30 2011-10-13 Exoprise Systems Inc. Systems and methods for selecting an alternative computing infrastructure and facilitating the migration and adoption thereto
US9197514B2 (en) * 2010-03-31 2015-11-24 Paypal, Inc. Service level agreement based storage access
US8341462B2 (en) 2010-07-19 2012-12-25 Soasta, Inc. System and method for provisioning and running a cross-cloud test grid
US8356010B2 (en) 2010-08-11 2013-01-15 Sap Ag Online data migration
WO2012047757A1 (en) 2010-10-04 2012-04-12 Avocent System and method for monitoring and managing data center resources in real time incorporating manageability subsystem
US8635624B2 (en) 2010-10-21 2014-01-21 HCL America, Inc. Resource management using environments
US8626587B2 (en) 2010-12-10 2014-01-07 Verizon Patent And Licensing Inc. Artificial intelligence-based recommender and self-provisioner
US8965957B2 (en) 2010-12-15 2015-02-24 Sap Se Service delivery framework
US8918834B1 (en) * 2010-12-17 2014-12-23 Amazon Technologies, Inc. Creating custom policies in a remote-computing environment
US8984269B2 (en) 2011-02-28 2015-03-17 Red Hat, Inc. Migrating data among cloud-based storage networks via a data distribution service
US8667020B2 (en) 2011-04-01 2014-03-04 Microsoft Corporation Placement goal-based database instance dynamic consolidation
US20120284360A1 (en) 2011-04-11 2012-11-08 Ebay Inc. Job planner and execution engine for automated, self-service data movement
US9430505B2 (en) 2011-04-18 2016-08-30 Infosys Limited Automated data warehouse migration
US8589336B1 (en) 2011-04-25 2013-11-19 Netapp, Inc. Framework for automated storage processes and flexible workflow
US9223632B2 (en) 2011-05-20 2015-12-29 Microsoft Technology Licensing, Llc Cross-cloud management and troubleshooting
US20120297059A1 (en) * 2011-05-20 2012-11-22 Silverspore Llc Automated creation of monitoring configuration templates for cloud server images
US9344484B2 (en) 2011-05-27 2016-05-17 Red Hat, Inc. Determining consistencies in staged replication data to improve data migration efficiency in cloud based networks
US8782215B2 (en) 2011-05-31 2014-07-15 Red Hat, Inc. Performance testing in a cloud environment
US9176773B2 (en) 2011-06-29 2015-11-03 Microsoft Technology Licensing, Llc Virtual machine migration tool
US8639989B1 (en) 2011-06-30 2014-01-28 Amazon Technologies, Inc. Methods and apparatus for remote gateway monitoring and diagnostics
US9639402B2 (en) * 2011-08-05 2017-05-02 Oracle International Corporation Systems and methods for automatic hardware provisioning based on application characteristics
US8769340B2 (en) 2011-09-08 2014-07-01 Microsoft Corporation Automatically allocating clients for software program testing
CN103891201B (zh) 2011-09-19 2018-03-30 塔塔咨询服务有限公司 用于基于传感器数据的应用和服务的开发以及部署的计算平台
CN102388595B (zh) 2011-09-30 2014-02-19 华为技术有限公司 Vpc迁移中的资源匹配方法及装置
US9075811B2 (en) 2011-09-30 2015-07-07 Symantec Corporation Cloud information migration systems and methods
US9298713B2 (en) * 2011-09-30 2016-03-29 Oracle International Corporation Executor for software configuration automation
US8943032B1 (en) 2011-09-30 2015-01-27 Emc Corporation System and method for data migration using hybrid modes
US20130085742A1 (en) 2011-10-04 2013-04-04 Nec Laboratories America, Inc. Service level agreement-aware migration for multitenant database platforms
US9177132B2 (en) * 2011-10-12 2015-11-03 International Business Machines Corporation Capturing data parameters in templates in a networked computing environment
US8924353B1 (en) 2011-11-08 2014-12-30 Symantec Corporation Systems and methods for copying database files
US20130311968A1 (en) 2011-11-09 2013-11-21 Manoj Sharma Methods And Apparatus For Providing Predictive Analytics For Software Development
US9262250B2 (en) 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
CN103176988A (zh) 2011-12-21 2013-06-26 上海博腾信息科技有限公司 基于SaaS的数据迁移系统
US8818949B2 (en) 2011-12-30 2014-08-26 Bmc Software, Inc. Systems and methods for migrating database data
US9152659B2 (en) 2011-12-30 2015-10-06 Bmc Software, Inc. Systems and methods for migrating database data
US8909734B2 (en) 2012-02-07 2014-12-09 International Business Machines Corporation Migrating data between networked computing environments
US9477936B2 (en) 2012-02-09 2016-10-25 Rockwell Automation Technologies, Inc. Cloud-based operator interface for industrial automation
CN102637143B (zh) 2012-03-07 2014-12-10 南京邮电大学 基于改进的支持向量机的软件缺陷优先级预测方法
CN102662757A (zh) 2012-03-09 2012-09-12 浪潮通信信息系统有限公司 一种云计算程序平滑迁移的资源需求预估方法
US9401904B1 (en) 2012-03-15 2016-07-26 Motio, Inc. Security migration in a business intelligence environment
US8856339B2 (en) 2012-04-04 2014-10-07 Cisco Technology, Inc. Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment
US8880934B2 (en) 2012-04-04 2014-11-04 Symantec Corporation Method and system for co-existence of live migration protocols and cluster server failover protocols
US9201704B2 (en) 2012-04-05 2015-12-01 Cisco Technology, Inc. System and method for migrating application virtual machines in a network environment
US9203784B2 (en) 2012-04-24 2015-12-01 Cisco Technology, Inc. Distributed virtual switch architecture for a hybrid cloud
US9769085B2 (en) 2012-05-04 2017-09-19 Citrix Systems, Inc. Systems and methods for adaptive application provisioning
US9626710B1 (en) 2012-05-23 2017-04-18 Amazon Technologies, Inc. Best practice analysis, optimized resource use
US9342370B2 (en) 2012-05-30 2016-05-17 International Business Machines Corporation Server migration
US20150058467A1 (en) * 2012-06-15 2015-02-26 Digital River, Inc. Fast provisioning of platform-as-a-service system and method
US9081610B2 (en) 2012-06-18 2015-07-14 Hitachi, Ltd. Method and apparatus to maximize return on investment in hybrid cloud environment
CN103530290B (zh) 2012-07-03 2017-12-12 深圳市腾讯计算机系统有限公司 数据库间的数据迁移方法和系统
TW201404135A (zh) 2012-07-09 2014-01-16 Av Tech Corp 網路電子裝置安裝設定系統、網路電子裝置及其安裝設定方法
US9043787B2 (en) 2012-07-13 2015-05-26 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts
US9122527B2 (en) 2012-08-21 2015-09-01 International Business Machines Corporation Resource allocation for migration within a multi-tiered system
CN103109271B (zh) 2012-08-30 2016-01-20 华为技术有限公司 一种平台间迁移应用的实现方法及系统
WO2014039921A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation Infrastructure for providing cloud services
US9501541B2 (en) * 2012-09-07 2016-11-22 Oracle International Corporation Separation of pod provisioning and service provisioning
US9467355B2 (en) 2012-09-07 2016-10-11 Oracle International Corporation Service association model
US9363154B2 (en) * 2012-09-26 2016-06-07 International Business Machines Corporaion Prediction-based provisioning planning for cloud environments
KR20140045156A (ko) * 2012-10-08 2014-04-16 한국전자통신연구원 프로비저닝 장치 및 방법
US9535818B2 (en) 2012-10-16 2017-01-03 Microsoft Technology Licensing, Llc Identifying high impact bugs
CN102982085B (zh) 2012-10-31 2017-05-31 北京奇虎科技有限公司 数据迁移系统和方法
US9058219B2 (en) 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
US10127084B2 (en) * 2012-11-15 2018-11-13 Red Hat Israel, Ltd. Pre-provisioning resources for composite applications
US9282166B2 (en) 2012-11-29 2016-03-08 International Business Machines Corporation Management infrastructure analysis for cloud migration
US9430506B2 (en) 2012-12-19 2016-08-30 Accenture Global Services Limited Enterprise migration planning information repository
US9075529B2 (en) 2013-01-04 2015-07-07 International Business Machines Corporation Cloud based data migration and replication
US9436712B2 (en) 2013-03-14 2016-09-06 Microsoft Technology Licensing, Llc Data migration framework
US9438648B2 (en) 2013-05-09 2016-09-06 Rockwell Automation Technologies, Inc. Industrial data analytics in a cloud platform
US9491063B2 (en) 2013-05-15 2016-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for providing network services orchestration
US9602598B2 (en) 2013-05-29 2017-03-21 International Business Machines Corporation Coordinating application migration processes
US9317311B2 (en) 2013-06-17 2016-04-19 International Business Machines Corporation Generating a deployment pattern for reuse in a networked computing environment
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US9762461B2 (en) 2013-07-09 2017-09-12 Oracle International Corporation Cloud services performance tuning and benchmarking
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US9792321B2 (en) 2013-07-09 2017-10-17 Oracle International Corporation Online database migration
US9098364B2 (en) 2013-07-09 2015-08-04 Oracle International Corporation Migration services for systems
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
WO2015006137A1 (en) 2013-07-09 2015-01-15 Oracle International Corporation Cloud services load testing and analysis
US9967154B2 (en) 2013-07-09 2018-05-08 Oracle International Corporation Advanced customer support services—advanced support cloud portal
US10776244B2 (en) 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US9491072B2 (en) 2013-07-09 2016-11-08 Oracle International Corporation Cloud services load testing and analysis
US20150026153A1 (en) 2013-07-17 2015-01-22 Thoughtspot, Inc. Search engine for information retrieval system
EP2849064B1 (en) 2013-09-13 2016-12-14 NTT DOCOMO, Inc. Method and apparatus for network virtualization
US9811527B1 (en) 2013-09-30 2017-11-07 EMC IP Holding Company LLC Methods and apparatus for database migration
US9461969B2 (en) 2013-10-01 2016-10-04 Racemi, Inc. Migration of complex applications within a hybrid cloud environment
US9405583B2 (en) * 2013-10-14 2016-08-02 Emc Corporation Resource provisioning based on logical profiles and piecewise objective functions
US9729623B2 (en) 2014-03-15 2017-08-08 International Business Machines Corporation Specification-guided migration
US9386079B2 (en) * 2014-06-10 2016-07-05 American Megatrends, Inc. Method and system of virtual desktop infrastructure deployment studio
EP3155576B1 (en) 2014-06-11 2021-05-05 Oracle International Corporation Providing a subscription for a service using an existing subscription
US9703811B2 (en) 2014-06-14 2017-07-11 Accenture Global Services Limited Assessing database migrations to cloud computing systems
US9948700B2 (en) * 2014-07-01 2018-04-17 Oracle International Corporation ADFDI support for custom attribute properties
US9483248B2 (en) * 2014-07-15 2016-11-01 Oracle International Corporation Automatic generation and execution of server update processes
US10007701B2 (en) 2014-07-16 2018-06-26 Oracle International Corporation Database consolidation advisor
US10027637B2 (en) 2015-03-12 2018-07-17 Vormetric, Inc. Secure and control data migrating between enterprise and cloud services
US9817690B2 (en) * 2015-09-11 2017-11-14 International Business Machines Corporation Predictively provisioning cloud computing resources for virtual machines
US10015197B2 (en) 2015-10-22 2018-07-03 International Business Machines Corporation Determining network security policies during data center migration and detecting security violation
US11074254B2 (en) * 2016-03-23 2021-07-27 International Business Machines Corporation Performance management using thresholds for queries of a service for a database as a service
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US20180157653A1 (en) 2016-12-01 2018-06-07 Bank Of America Corporation Enabling migration of relational database to a cloud network
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage

Also Published As

Publication number Publication date
US20170351716A1 (en) 2017-12-07
JP2019522846A (ja) 2019-08-15
WO2017213803A1 (en) 2017-12-14
US11036696B2 (en) 2021-06-15
EP3465466A1 (en) 2019-04-10
CN109478266A (zh) 2019-03-15
CN109478266B (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
JP6967534B2 (ja) データベースプロビジョニングのためのリソース配分
JP6971341B2 (ja) コンピューティングリソースの配置ポリシーベースの割当て
JP6646048B2 (ja) 異種の電子デバイスのためのアプリケーション配信の区分化
US11233873B2 (en) Dynamic weighting for cloud-based provisioning systems
EP3177997B1 (en) Policy based resource management and allocation system
US10462210B2 (en) Techniques for automated installation, packing, and configuration of cloud storage services
JP2020536312A (ja) マルチテナントapiゲートウェイにおいてテナント分離を提供するためのマイクロサービスコンテナの活用
US9600342B2 (en) Managing parallel processes for application-level partitions
JP6442073B2 (ja) 顧客関係性管理データに基づいて推奨される登録簿
US9600327B2 (en) Process scheduling and execution in distributed computing environments
US10482404B2 (en) Delegated privileged access grants
WO2016022925A2 (en) Policy based resource management and allocation system
EP4085331A1 (en) Autonomous terraforming on cloud infrastructures

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211025

R150 Certificate of patent or registration of utility model

Ref document number: 6967534

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150