図面 (/)

技術 クラウドサービスを提供するためのインフラストラクチャ

出願人 オラクル・インターナショナル・コーポレイション
発明者 チャタジー,ラムクリシュナアルン,ゴパランシング,アジャイ・クマールバスデバン,ラメシュエバンス,ニール
出願日 2013年9月6日 (5年4ヶ月経過) 出願番号 2015-531269
公開日 2015年10月5日 (3年3ヶ月経過) 公開番号 2015-529367
状態 特許登録済
技術分野 特定用途計算機 マルチプログラミング
主要キーワード 超過コスト 受取ユニット 加速ユニット 収集終了時刻 ターゲットコンポーネント 超過期間 実装層 アンロッキング
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年10月5日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題・解決手段

クラウドサービスを提供するためのインフラストラクチャについて記載する。特定の実施例では、1つ以上の演算装置を含むクラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムによって顧客に提供される1つ以上のサービスについてサブスクリプションオーダーを処理するための方法を実行する。当該方法は、クラウドインフラストラクチャシステムによって提供される1つ以上のサービスについて顧客から受取られたサブスクリプションオーダーに関連するサブスクリプションオーダー情報を格納するステップを含む。当該方法は、サブスクリプションオーダーを供給するために使用されるように関連付けられたプロセスを特定するステップを含む。当該プロセスは、サブスクリプションオーダーにおいて特定される1つ以上のサービスのために1つ以上のリソースプロビジョニングするための1つ以上の実行ステップを備える。当該方法は、プロセスに対応する1つ以上の実行ステップのパフォーマンスをオーケストレートするステップを含む。クラウドインフラストラクチャシステムは、サブスクリプションオーダーの状態を示す通知を顧客に送る。

概要

背景

背景
本開示は、コンピュータシステムおよびソフトウェアに関し、より特定的には、クラウド環境でのサービスプロビジョニング(provision)を容易にして自動化するための技術に関する。

クラウドコンピューティングは、構成可能な演算リソース(例えばネットワークサーバストレージアプリケーションおよびサービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にするためのモデルである。クラウド(またはネットワーク)を介して提供またはアクセスされるサービスは、クラウドサービスと称される。サブスクライブを行う顧客がクラウドサービスを利用できるようにするためにクラウドサービスプロバイダが行う必要がある処理は数多くある。その複雑さのために、この処理の多くは依然として手動でなされている。例えば、このようなクラウドサービスを提供するためのプロビジョニングリソースは、非常に労働集約型のプロセスであり得る。

概要

クラウドサービスを提供するためのインフラストラクチャについて記載する。特定の実施例では、1つ以上の演算装置を含むクラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムによって顧客に提供される1つ以上のサービスについてサブスクリプションオーダーを処理するための方法を実行する。当該方法は、クラウドインフラストラクチャシステムによって提供される1つ以上のサービスについて顧客から受取られたサブスクリプションオーダーに関連するサブスクリプションオーダー情報を格納するステップを含む。当該方法は、サブスクリプションオーダーを供給するために使用されるように関連付けられたプロセスを特定するステップを含む。当該プロセスは、サブスクリプションオーダーにおいて特定される1つ以上のサービスのために1つ以上のリソースをプロビジョニングするための1つ以上の実行ステップを備える。当該方法は、プロセスに対応する1つ以上の実行ステップのパフォーマンスをオーケストレートするステップを含む。クラウドインフラストラクチャシステムは、サブスクリプションオーダーの状態を示す通知を顧客に送る。

目的

本発明の特定の実施例は、クラウドインフラストラクチャシステムによって提供されるサービスのプロビジョニング、管理および追跡を自動化するための技術を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

方法であって、1つ以上の演算装置を備えるクラウドインフラストラクチャステムが、前記クラウドインフラストラクチャシステムによって提供される1つ以上のサービスについて顧客から受取られたサブスクリプションオーダーに関連するサブスクリプションオーダー情報を格納するステップと、前記クラウドインフラストラクチャシステムが、前記サブスクリプションオーダーを供給するために使用されるプロセスを特定するステップとを備え、前記プロセスは、前記サブスクリプションオーダーにおいて特定される前記1つ以上のサービスのために1つ以上のリソースプロビジョニングするための1つ以上の実行ステップを備え、前記方法はさらに、前記クラウドインフラストラクチャシステムが、前記プロセスに対応する前記1つ以上の実行ステップのパフォーマンスをオーケストレートするステップと、前記クラウドインフラストラクチャシステムが、前記サブスクリプションオーダーの状態を示す通知を前記顧客に送るステップとを備える、方法。

請求項2

前記1つ以上の実行ステップのパフォーマンスをオーケストレートするステップは、前記サブスクリプションオーダーにおいて特定される前記1つ以上のサービスのために前記1つ以上のリソースを割り当てるステップを備える、請求項1に記載の方法。

請求項3

前記プロセスを特定するステップは、前記サブスクリプションオーダーを供給するための前記プロセスを決定するために、前記クラウドインフラストラクチャシステムにアクセス可能サービスリポジトリアクセスするステップを備える、請求項1または2に記載の方法。

請求項4

前記1つ以上のリソースについて使用情報を求めるステップをさらに備え、前記使用情報は、ある期間にわたる前記1つ以上のリソースの使用を特定し、前記方法はさらに、前記使用情報および前記サブスクリプションオーダー情報に基づいて、前記期間における前記1つ以上のリソースにおける第1のリソースの過剰使用を演算するステップと、前記過剰使用を示す情報を前記顧客に提供するステップとを備える、請求項1に記載の方法。

請求項5

前記過剰使用を演算するステップは、前記第1のリソースに対応するリソースタイプを決定するステップと、前記第1のリソースの前記過剰使用の演算に使用される演算子を決定するステップと、前記使用情報に含まれる前記第1のリソースに対応する使用統計に前記演算子を適用することによって前記第1のリソースの前記過剰使用を演算するステップとを備える、請求項4に記載の方法。

請求項6

前記過剰使用を演算するステップは、前記第1のリソースについての超過ユニットの数を求め、前記超過ユニットの数に対応する超過コストを求めるステップを備え、前記超過ユニットの数および前記対応する超過コストは、前記顧客のサブスクリプションオーダーに関連付けられたサービスレベルおよび顧客レベルに基づいて求められ、前記過剰使用を示す情報を前記顧客に提供するステップは、前記第1のリソースについての前記超過ユニットの数および前記超過コストを示す通知を前記顧客に送るステップを備える、請求項5に記載の方法。

請求項7

前記サブスクリプションオーダー情報および前記プロセスに基づいて、前記サブスクリプションオーダーについて実行される処理に対応する1つ以上のワークフローの第1の組を特定するステップと、前記サブスクリプションオーダー情報および前記プロセスに基づいて、前記サブスクリプションオーダーについて実行される処理に対応する1つ以上のワークフローの第2の組を特定するステップと、前記1つ以上のワークフローの第1の組の実行の完了後であって、前記1つ以上のワークフローの第2の組における少なくとも1つのワークフローの完了前に、前記クラウドインフラストラクチャシステムを使用して前記1つ以上のサービスに前記顧客がアクセスすることを可能にするステップとをさらに備える、請求項1,2,4,5または6のいずれか1項に記載の方法。

請求項8

前記クラウドインフラストラクチャシステムが、前記1つ以上のワークフローの第2の組における少なくとも1つのワークフローと同時に、前記1つ以上のワークフローの第1の組における少なくとも1つのワークフローを実行するステップをさらに備える、請求項7に記載の方法。

請求項9

前記クラウドインフラストラクチャシステムのテナント自動化サブシステムにおいて、前記サブスクリプションオーダーを前記顧客から受取るステップと、前記サブスクリプションオーダーが発生する地理的領域を求めるステップと、前記地理的領域に基づいて、前記1つ以上の実行ステップのパフォーマンスがオーケストレートされる前記クラウドインフラストラクチャシステムのテナント自動化サブシステムデータセンタを選択するステップとをさらに備える、請求項1に記載の方法。

請求項10

前記クラウドインフラストラクチャシステムのコンポーネントのためにセキュリティゾーンを決定するステップをさらに備え、前記コンポーネントは、前記1つ以上のリソースをプロビジョニングするために前記サブスクリプションオーダーに関連する前記サブスクリプションオーダー情報にアクセスし、前記方法はさらに、第1のセキュリティゾーンに関連付けられたセキュリティレベルを決定するステップと、前記セキュリティレベルに関連付けられたセキュリティ規則に基づいてサブスクライバオーダー情報に前記コンポーネントがアクセスすることを可能にするステップとを備える、請求項1,2または9のいずれか1項に記載の方法。

請求項11

前記クラウドインフラストラクチャシステムの第1のコンポーネントと前記クラウドインフラストラクチャシステムの第2のコンポーネントとの間で前記サブスクリプションオーダー情報を転送するための要求を受取るステップをさらに備え、前記第1のコンポーネントおよび前記第2のコンポーネントは、前記1つ以上の演算装置によって実行され、前記方法はさらに、前記第1のコンポーネントのために第1のセキュリティゾーンを決定し、前記第2のコンポーネントのために第2のセキュリティゾーンを決定するステップと、前記第1のセキュリティゾーンに関連付けられた第1のセキュリティレベルを決定し、前記第2のセキュリティゾーンに関連付けられた第2のセキュリティレベルを決定するステップと、前記第1のセキュリティレベル、前記第2のセキュリティレベルおよびセキュリティ規則情報に基づいて、前記第1のコンポーネントと前記第2のコンポーネントとの間での前記サブスクリプションオーダー情報の転送を決定するステップとを備え、前記セキュリティ規則情報は、前記第1のコンポーネントと前記第2のコンポーネントとの間での前記サブスクリプションオーダー情報の転送に関連する1つ以上の規則を規定する、請求項1,2または9のいずれか1項に記載の方法。

請求項12

1つ以上のサービスを提供するように構成可能な1つ以上の演算装置と、クラウドインフラストラクチャシステムによって提供される前記1つ以上のサービスについて顧客から受取られたサブスクリプションオーダーに関連するサブスクリプションオーダー情報を格納するように構成可能なメモリとを備えるシステムであって、前記1つ以上の演算装置からの少なくとも1つの演算装置は、前記サブスクリプションオーダーを供給するために使用されるプロセスを特定するように構成可能であり、前記プロセスは、前記サブスクリプションオーダーにおいて特定される前記1つ以上のサービスのために1つ以上のリソースをプロビジョニングするための1つ以上の実行ステップを備え、前記少なくとも1つの演算装置はさらに、前記プロセスに対応する前記1つ以上の実行ステップのパフォーマンスをオーケストレートするように構成可能であり、前記サブスクリプションオーダーの状態を示す通知を前記顧客に送るように構成可能である、システム。

請求項13

前記1つ以上の実行ステップのパフォーマンスをオーケストレートすることは、前記サブスクリプションオーダーにおいて特定される前記1つ以上のサービスのために前記1つ以上のリソースを割り当てることを備える、請求項12に記載のシステム。

請求項14

前記プロセスを特定することは、前記サブスクリプションオーダーを供給するための前記プロセスを決定するために、前記クラウドインフラストラクチャシステムにアクセス可能なサービスリポジトリにアクセスすることを備える、請求項12に記載のシステム。

請求項15

前記1つ以上の演算装置からの少なくとも1つの演算装置は、前記1つ以上のリソースについて使用情報を求めるように構成可能であり、前記使用情報は、ある期間にわたる前記1つ以上のリソースの使用を特定し、前記少なくとも1つの演算装置はさらに、前記使用情報および前記サブスクリプションオーダー情報に基づいて、前記期間における前記1つ以上のリソースにおける第1のリソースの過剰使用を演算するように構成可能であり、前記過剰使用を示す情報を前記顧客に提供するように構成可能である、請求項12に記載のシステム。

請求項16

前記過剰使用を演算することは、前記第1のリソースに対応するリソースタイプを決定することと、前記第1のリソースの前記過剰使用の演算に使用される演算子を決定することと、前記使用情報に含まれる前記第1のリソースに対応する使用統計に前記演算子を適用することによって前記第1のリソースの前記過剰使用を演算することとを備える、請求項15に記載のシステム。

請求項17

前記1つ以上の演算装置からの少なくとも1つの演算装置は、前記サブスクリプションオーダー情報および前記プロセスに基づいて、前記サブスクリプションオーダーについて実行される処理に対応する1つ以上のワークフローの第1の組を特定するように構成可能であり、前記サブスクリプションオーダー情報および前記プロセスに基づいて、前記サブスクリプションオーダーについて実行される処理に対応する1つ以上のワークフローの第2の組を特定するように構成可能であり、前記1つ以上のワークフローの第1の組の実行の完了後であって、前記1つ以上のワークフローの第2の組における少なくとも1つのワークフローの完了前に、前記クラウドインフラストラクチャシステムを使用して前記1つ以上のサービスに前記顧客がアクセスすることを可能にするように構成可能である、請求項12に記載のシステム。

請求項18

1つ以上のプロセッサによって実行可能な複数の命令を格納するコンピュータ読取可能メモリであって、前記複数の命令は、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、クラウドインフラストラクチャシステムによって提供される1つ以上のサービスについて顧客から受取られたサブスクリプションオーダーに関連するサブスクリプションオーダー情報を格納するようにする命令と、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記サブスクリプションオーダーを供給するために使用されるプロセスを特定するようにする命令とを備え、前記プロセスは、前記サブスクリプションオーダーにおいて特定される前記1つ以上のサービスのために1つ以上のリソースをプロビジョニングするための1つ以上の実行ステップを備え、前記複数の命令はさらに、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記プロセスに対応する前記1つ以上の実行ステップのパフォーマンスをオーケストレートするようにする命令と、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記サブスクリプションオーダーの状態を示す通知を顧客に送るようにする命令とを備える、コンピュータ読取可能メモリ。

請求項19

前記複数の命令は、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記サブスクリプションオーダー情報および前記プロセスに基づいて、前記サブスクリプションオーダーについて実行される処理に対応する1つ以上のワークフローの第1の組を特定するようにする命令と、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記サブスクリプションオーダー情報および前記プロセスに基づいて、前記サブスクリプションオーダーについて実行される処理に対応する1つ以上のワークフローの第2の組を特定するようにする命令と、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記1つ以上のワークフローの第1の組の実行の完了後であって、前記1つ以上のワークフローの第2の組における少なくとも1つのワークフローの完了前に、前記クラウドインフラストラクチャシステムを使用して前記1つ以上のサービスに前記顧客がアクセスすることを可能にするようにする命令とをさらに備える、請求項18に記載のコンピュータ読取可能メモリ。

請求項20

1つ以上のサービスを提供するように適合されたシステムであって、クラウドインフラストラクチャシステムによって提供される前記1つ以上のサービスについて顧客から受取られたサブスクリプションオーダーに関連するサブスクリプションオーダー情報を格納するための手段と、前記サブスクリプションオーダーを供給するために使用されるプロセスを特定するための手段とを備え、前記プロセスは、前記サブスクリプションオーダーにおいて特定される前記1つ以上のサービスのために1つ以上のリソースをプロビジョニングするための1つ以上の実行ステップを備え、前記システムはさらに、前記プロセスに対応する前記1つ以上の実行ステップのパフォーマンスをオーケストレートするための手段と、前記サブスクリプションオーダーの状態を示す通知を前記顧客に送るための手段とを備える、システム。

請求項21

前記サブスクリプションオーダー情報および前記プロセスに基づいて、前記サブスクリプションオーダーについて実行される処理に対応する1つ以上のワークフローの第1の組を特定するための手段と、前記サブスクリプションオーダー情報および前記プロセスに基づいて、前記サブスクリプションオーダーについて実行される処理に対応する1つ以上のワークフローの第2の組を特定するための手段と、前記1つ以上のワークフローの第1の組の実行の完了後であって、前記1つ以上のワークフローの第2の組における少なくとも1つのワークフローの完了前に、前記クラウドインフラストラクチャシステムを使用して前記1つ以上のサービスに前記顧客がアクセスすることを可能にするための手段とをさらに備える、請求項20に記載のシステム。

請求項22

1つ以上のプロセッサによって実行可能なコンピュータプログラムであって、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、クラウドインフラストラクチャシステムによって提供される1つ以上のサービスについて顧客から受取られたサブスクリプションオーダーに関連するサブスクリプションオーダー情報を格納するようにする命令と、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記サブスクリプションオーダーを供給するために使用されるプロセスを特定するようにする命令とを備え、前記プロセスは、前記サブスクリプションオーダーにおいて特定される前記1つ以上のサービスのために1つ以上のリソースをプロビジョニングするための1つ以上の実行ステップを備え、前記コンピュータプログラムはさらに、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記プロセスに対応する前記1つ以上の実行ステップのパフォーマンスをオーケストレートするようにする命令と、前記1つ以上のプロセッサからの少なくとも1つのプロセッサが、前記サブスクリプションオーダーの状態を示す通知を顧客に送るようにする命令とを備える、コンピュータプログラム。

技術分野

0001

関連出願の相互参照
本願は、以下の優先権を主張し、以下の利益を受ける:
(1)「クラウドインフラストラクチャ」と題される2013年3月15日に出願された米国仮出願番号第61/794,427号
(2)「テナント自動化システム」と題される2012年9月7日に出願された米国仮出願番号第61/698,413号
(3)「サービス開発インフラストラクチャ」と題される2012年9月7日に出願された米国仮出願番号第61/698,459号
(4)「クラウドインフラストラクチャ」と題される2013年3月14日に出願された米国仮出願番号第61/785,299号
(5)上記の米国仮出願番号第61/698,413号、第61/698,459号および第61/785,299号の優先権を主張する、「クラウドサービスのための超過フレームワーク」と題される2013年3月15日に出願された米国通常出願番号第13/840,943号
(6)上記の米国仮出願番号第61/698,413号、第61/698,459号および第61/785,299号の優先権を主張する、「クラウドサービスを処理するためのワークフロー」と題される2013年3月15日に出願された米国通常出願番号第13/841,243号
(7)上記の米国仮出願番号第61/698,413号、第61/698,459号および第61/785,299号の優先権を主張する、「クラウドサービスのためのセキュリティインフラストラクチャ」と題される2013年3月15日に出願された米国通常出願番号第13/842,269号。

0002

上記の仮特許出願および通常特許出願の各々の内容全体は、全ての目的で引用によって本明細書に援用される。

背景技術

0003

背景
本開示は、コンピュータシステムおよびソフトウェアに関し、より特定的には、クラウド環境でのサービスのプロビジョニング(provision)を容易にして自動化するための技術に関する。

0004

クラウドコンピューティングは、構成可能な演算リソース(例えばネットワークサーバストレージアプリケーションおよびサービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にするためのモデルである。クラウド(またはネットワーク)を介して提供またはアクセスされるサービスは、クラウドサービスと称される。サブスクライブを行う顧客がクラウドサービスを利用できるようにするためにクラウドサービスプロバイダが行う必要がある処理は数多くある。その複雑さのために、この処理の多くは依然として手動でなされている。例えば、このようなクラウドサービスを提供するためのプロビジョニングリソースは、非常に労働集約型のプロセスであり得る。

課題を解決するための手段

0005

概要
本発明の特定の実施例は、クラウドインフラストラクチャシステムによって提供されるサービスのプロビジョニング、管理および追跡を自動化するための技術を提供する。一実施例では、クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムにおいて顧客によってサブスクライブされた1つ以上のサービスに関連するサブスクリプションオーダー情報を格納する。

0006

一実施例では、顧客からのサブスクリプションオーダー受取られると、クラウドインフラストラクチャシステムは、当該オーダーによって要求されるサービスが顧客によって使用可能になる前にいくつかの処理ステップを実行する。これらの処理ステップは、オーダーを検証するステップを含み得て、顧客から追加の情報を得るステップ、1つ以上の要求されたサービスを提供するためにリソースをプロビジョニングするステップ、顧客データセキュリティ保証するためにアイデンティティドメインを作成するステップなどをさらに必要とし得る。これらの処理ステップのうちの多くは、実行するのにしばらく時間がかかる可能性がある。しかし、一般に、顧客は、オーダーされたサービスをできる限り速やかに使用し始めたいと考える。特定の実施例では、クラウドインフラストラクチャシステムによって提供されるサービスのプロビジョニング、管理および追跡を自動化するための技術は、サブスクリプションオーダーの処理に関わる全てのステップが完了するまで顧客が待つ必要なく、サブスクリプションオーダーを行った際に、サブスクリプションオーダーにおいて要求されるサービスにアクセスする機能を顧客に提供することを含む。

0007

いくつかの実施例は、顧客のサブスクリプションオーダーを処理するためのワークフローを決定するための技術に関する。当該方法は、クラウドインフラストラクチャシステムによって提供される一組のサービスからサブスクリプションオーダー発注サービスに関連するサブスクリプションオーダー情報を格納するステップを含む。そして、当該方法は、サブスクリプションオーダー情報に基づいて、サブスクリプションオーダーを処理するための一次オーダーワークフローを特定するステップを含む。一次オーダーワークフローは、オーダーされたサービスの使用を可能にする前に実行される1つ以上のステップを備える。そして、当該方法は、サブスクリプションオーダー情報に基づいて、サブスクリプションオーダーを処理するための二次オーダーワークフローを特定するステップを含む。二次オーダーワークフローは、サブスクリプションオーダーを処理するために実行される1つ以上のステップを備える。そして、当該方法は、一次オーダーワークフローの実行の完了後に、オーダーされたサービスへのアクセスを可能にするステップを含む。一実施例では、アクセスは、二次オーダーワークフローにおけるステップの実行の完了前に可能にされる。

0008

いくつかの実施例では、1つ以上のサービスについてのサブスクリプション要求を顧客から受取ると、クラウドインフラストラクチャシステムは、要求されたサービスを提供するためにリソースをプロビジョニングする。要求されたサービスのためのリソースがプロビジョニングされると、多くの場合、顧客は、当該サービスにおいてリソースを過剰使用する可能性がある。特定の実施例では、サービスのプロビジョニング、管理および追跡の自動化の一部として、クラウドインフラストラクチャシステムは、顧客のサブスクリプションオーダーにおいてサービスにプロビジョニングされるリソースのこのような過剰使用または超過を演算し、追跡する。

0009

いくつかの実施例は、顧客のサブスクリプションオーダーにおいてサービスにプロビジョニングされるリソースの超過を演算するための技術に関する。当該処理は、顧客によってサブスクライブされたサービスに関連するサブスクリプションオーダー情報を格納するステップを含み得る。そして、当該処理は、当該サービスに関連付けられたリソースについてのリソース使用情報を求め、リソース使用情報およびサブスクリプションオーダー情報に基づいて超過期間のリソースの超過を演算するステップを含み得る。次いで、リソースの超過は、クラウドインフラストラクチャシステムにおいてサービスを利用する顧客に提供され得る。

0010

特定の実施例では、クラウドインフラストラクチャシステムは、顧客のサブスクリプションオーダーの処理中に互いの間で情報を転送したいクラウドインフラストラクチャシステムにおけるコンポーネント間の安全なインタラクション対処するためのフレームワークを提供する。一実施例では、コンポーネントは、さまざまなセキュリティゾーン割り当てられる。セキュリティゾーンへのコンポーネントの割り当ては、コンポーネントによって処理されるデータの機密性、コンポーネントによって実行される機能の機密性などに基づき得る。

0011

一実施例では、フレームワークは、セキュリティレベルに基づいてコンポーネントのセキュリティゾーンをオーダーする。フレームワークは、異なるセキュリティレベルを有するセキュリティゾーン内のコンポーネント間の情報の転送を保護する。より高いセキュリティゾーン内のコンポーネントは、より低いセキュリティゾーンコンポーネント内のコンポーネントに情報を押し付け、より低いセキュリティゾーン内のコンポーネントから情報を引っ張ってくる。より低いセキュリティゾーン内のコンポーネントは、より高いセキュリティゾーン内のコンポーネントによって管理されるデータへの直接的な読取りまたは書込みアクセスを有していないかもしれない。同一のセキュリティゾーン内のコンポーネントは、互いに対して読取りまたは書込みアクセスを有し得る。一実施例では、セキュリティゾーンによって提供される粒度は、同一のセキュリティレベルを有するセキュリティゾーンに属する2つのコンポーネント間の通信が、異なるセキュリティレベルを有するセキュリティゾーンに属する2つのコンポーネント間の通信よりも速く、効率的である場合に2つのコンポーネント間で情報を転送する際のセキュリティと効率との兼ね合いである。

0012

いくつかの実施例は、顧客のサブスクリプションオーダーの処理中に互いの間で情報を転送したいクラウドインフラストラクチャシステムにおけるコンポーネント間の安全なインタラクションを提供するための技術に関する。当該処理は、顧客によってサブスクライブされたサービスに関連するサブスクリプションオーダー情報を格納するステップを含む。そして、当該処理は、クラウドインフラストラクチャにおける第1のコンポーネントと第2のコンポーネントとの間で情報を転送するための要求を受取るステップと、第1のコンポーネントのために第1のセキュリティゾーンを決定し、第2のコンポーネントのために第2のセキュリティゾーンを決定するステップを含む。そして、当該方法は、第1のセキュリティゾーンに関連付けられた第1のセキュリティレベルおよび第2のセキュリティゾーンに関連付けられた第2のセキュリティレベルを決定するステップを含む。さらに、当該処理は、第1のセキュリティレベル、第2のセキュリティレベルおよびセキュリティ規則情報に基づいて、第1のコンポーネントと第2のコンポーネントとの間での情報の転送を決定するステップを含む。一実施例では、セキュリティ規則情報は、第1のコンポーネントと第2のコンポーネントとの間での情報の転送に関連する規則を規定する。

0013

本発明の例示的な実施例について、以下の図面を参照して以下で詳細に説明する。

図面の簡単な説明

0014

本発明の一実施例に係るクラウドインフラストラクチャシステムの論理図である。
本発明の実施例に係るクラウドインフラストラクチャシステムを実現するために使用され得るハードウェアソフトウェアスタックの簡略ブロック図である。
図1Aに示されるクラウドインフラストラクチャシステムを実現するためのシステム環境の簡略ブロック図である。
本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールによって実行され得る処理を示す簡略化されたフローチャート300を示す。
本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。
本発明の実施例に係るTASコンポーネントの例示的な分散デプロイメントを示す。
本発明の実施例に係るクラウドインフラストラクチャシステムにおける1つ以上のモジュールとのSDIモジュールのインタラクションを示す簡略ブロック図である。
本発明の実施例に係るSDIモジュールのサブモジュールの簡略化された高レベル図を示す。
本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIモジュールによって実行され得る処理を示す簡略化されたフローチャートを示す。
本発明の実施例に係るNuviaqシステム710および他のクラウドインフラストラクチャコンポーネントとのその関係の高レベルアーキテクチャを示す簡略ブロック図を示す。
本発明の実施例に係るNuviaqシステムを使用するプロビジョニングプロセスのステップを示す例示的なシーケンス図を示す。
本発明の実施例に係るNuviaqシステムを使用するデプロイメントプロセスのステップを示す例示的なシーケンス図を示す。
本発明の実施例に係るデータベースサービスのためにプロビジョニングされたデータベースインスタンスの例を示す。
本発明の一実施例に係る超過フレームワークを示す高レベルブロック図である。
クラウドインフラストラクチャシステム100において顧客のサブスクリプションオーダーにおける1つ以上のサービスに割り当てられた1つ以上のリソースの超過を演算するための超過フレームワークによって実行され得る処理を示す簡略化されたフローチャートを示す。
本発明の実施例に係る1つ以上のリソースの超過を演算するために実行され得る処理を示す簡略化されたフローチャートを示す。
本発明の一実施例に係る顧客のサブスクリプションオーダーを処理するためのシステムの高レベルブロック図である。
本発明の実施例に係る一次および二次オーダーワークフローを使用してサブスクリプションオーダーを処理するためにTASモジュールにおけるオーダーワークフロー特定モジュールによって実行され得る処理を示す簡略化されたフローチャートを示す。
本発明の実施例に係る、顧客のサブスクリプションオーダーを処理するために一次オーダーワークフローにおける1つ以上の一次ステップとの関係で二次オーダーワークフローにおける1つ以上の二次ステップがいかに実行され得るかの例を示す。
本発明の一実施例に係る一次オーダーワークフローを使用してサブスクリプションオーダーを処理するためのステップを実行する方法を示す高レベルフローチャートである。
本発明の一実施例に係るクラウドインフラストラクチャシステムにおけるさまざまなコンポーネントへのセキュリティゾーンの割り当ての論理図である。
本発明の実施例に係るセキュリティゾーンベースのセキュリティインフラストラクチャを示す。
本発明の実施例に係るクラウドインフラストラクチャシステムにおけるセキュリティインフラストラクチャによって実行され得る処理を示す簡略化されたフローチャートを示す。
本発明の実施例に従って使用され得る演算システム1400の簡略ブロック図である。
本発明の実施例に係る電子デバイス1500の簡略ブロック図である。

実施例

0015

詳細な説明
以下の説明では、本発明の実施例が十分に理解されるようにするために、説明の目的で具体的詳細を記載する。しかし、これらの具体的詳細がなくてもさまざまな実施例を実施できることは明らかであろう。図面および説明は、限定的であるよう意図されるものではない。

0016

本発明の特定の実施例は、クラウドインフラストラクチャシステムによって提供されるサービスのプロビジョニング、管理および追跡を自動化するための技術を提供する。

0017

特定の実施例では、クラウドインフラストラクチャシステムは、セルフサービスの、サブスクリプションベースの、弾性的にスケーラブルな、信頼性のある、高可用性の、安全な態様で顧客に与えられる一連のアプリケーション、ミドルウェアおよびデータベースサービス提供品を含み得る。このようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクルパブリッククラウドである。

0018

クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムにおいてサービスおよびリソースについての顧客のサブスクリプションをプロビジョニング、管理および追跡する機能、クラウドインフラストラクチャシステムにおいてサービスを利用する顧客に予測可能作業費用を提供する機能、クラウドインフラストラクチャシステムにおいて顧客のデータのロバストなアイデンティティドメインの分離および保護を提供する機能、クラウドインフラストラクチャシステムの設計の透過的なアーキテクチャおよび制御を顧客に提供する機能、データ保護の保証とデータプライバシ基準および規制順守とを顧客に提供する機能、クラウドインフラストラクチャシステムにおいてサービスを構築およびデプロイするための統合された開発経験を顧客に提供する機能、ならびにクラウドインフラストラクチャシステムにおいてビジネスソフトウェア、ミドルウェア、データベースおよびインフラストラクチャサービスの間のシームレスな統合を顧客に提供する機能を含むがこれらに限定されない多くの機能を提供することができる。

0019

特定の実施例では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューションウェブベース電子メールサービス、ホスト型オフィススイートおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービスなどの、クラウドインフラストラクチャシステムのユーザがオンデマンドで利用可能な多数のサービスを含み得る。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザのニーズを満たすように動的にスケーリング可能である。クラウドインフラストラクチャシステムによって提供されるサービスの具体的なインスタンス化は、本明細書ではサービスインスタンスと称される。一般に、クラウドサービスプロバイダのシステムからインターネットなどの通信ネットワークを介してユーザが利用可能なサービスはいずれも、クラウドサービスと称される。一般に、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスサーバおよびシステムとは異なっている。例えば、クラウドサービスプロバイダのシステムは、アプリケーションをホストし得て、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドで当該アプリケーションをオーダーし、使用し得る。

0020

コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、クラウドベンダによってユーザに提供されるかまたはそうでなければ当該技術分野において公知のストレージ、ホスト型データベース、ホスト型ウェブサーバソフトウェアアプリケーションまたは他のサービスへの保護されたコンピュータネットワークアクセスを含む。例えば、サービスは、インターネットを介したクラウド上のリモートストレージへの、パスワードによって保護されたアクセスを含んでいてもよい。別の例として、サービスは、ネットワーク化された開発者による私的使用のためのウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含んでいてもよい。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされる電子メールソフトウェアアプリケーションへのアクセスを含んでいてもよい。

0021

図1Aは、本発明の一実施例に係るクラウドインフラストラクチャシステムの論理図である。クラウドインフラストラクチャシステム100は、クラウドまたはネットワーク化された環境を介してさまざまなサービスを提供し得る。これらのサービスは、ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)カテゴリプラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS)カテゴリ、インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS)カテゴリ、またはハイブリッドサービスを含むサービスの他のカテゴリの下で提供される1つ以上のサービスを含んでいてもよい。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスをオーダーし得る。次いで、クラウドインフラストラクチャシステム100は、顧客のサブスクリプションオーダーにおけるサービスを提供するために処理を実行する。

0022

クラウドインフラストラクチャシステム100は、さまざまなデプロイメントモデルを介してクラウドサービスを提供し得る。例えば、サービスは、クラウドインフラストラクチャシステム100が(例えばオラクルによって所有される)クラウドサービスを販売する組織によって所有され、サービスが一般的な公営企業またはさまざまな産業企業が利用可能であるパブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム100が単一の組織のために単独で運営され、当該組織内の1つ以上のエンティティにサービスを提供することができるプライベートクラウドモデルの下で提供されてもよい。また、クラウドサービスは、クラウドインフラストラクチャシステム100およびシステム100によって提供されるサービスが関連のコミュニティの中のいくつかの組織によって共有されるコミュニティクラウドモデルの下で提供されてもよい。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせであるハイブリッドクラウドモデルの下で提供されてもよい。

0023

図1Aに示されるように、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100によって提供されるサービスのプロビジョニングを可能にする、連携して動作する複数のコンポーネントを備えていてもよい。図1Aに示される実施例では、クラウドインフラストラクチャシステム100は、SaaSプラットフォーム102と、PaaSプラットフォーム104と、IaaSプラットフォーム110と、インフラストラクチャリソース106と、クラウド管理機能108とを含む。これらのコンポーネントは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。

0024

SaaSプラットフォーム102は、SaaSカテゴリに入るクラウドサービスを提供するように構成される。例えば、SaaSプラットフォーム102は、統合された開発およびデプロイメントプラットフォーム上で一連のオンデマンドのアプリケーションを構築および供給するための機能を提供し得る。SaaSプラットフォーム102は、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。SaaSプラットフォーム102によって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム100上で実行されるアプリケーションを利用することができる。顧客は、顧客が別個ライセンスおよびサポート購入する必要なくアプリケーションサービスを取得することができる。

0025

さまざまな異なるSaaSサービスが提供され得る。例としては、大きな組織に販売実績管理、企業統合およびビジネスの柔軟性などのためのソリューションを提供するサービスが挙げられるが、これに限定されるものではない。一実施例では、SaaSサービスは、顧客関係管理(Customer Relationship Management:CRM)サービス110(例えばオラクルクラウドによって提供されるフュージョンCRMサービス)、人材管理(Human Capital Management:HCM)/才能管理サービス112などを含んでいてもよい。CRMサービス110は、顧客への販売活動サイクル報告および管理に向けられるサービスなどを含んでいてもよい。HCM/才能サービス112は、顧客へのグローバル労働力ライフサイクル管理および才能管理サービスの提供に向けられるサービスを含んでいてもよい。

0026

標準化された、共有の、弾性的にスケーラブルなアプリケーション開発およびデプロイメントプラットフォームにおけるPaaSプラットフォーム104によって、さまざまな異なるPaaSサービスが提供され得る。PaaSサービスの例としては、共有される共通のアーキテクチャ上で既存のアプリケーションを(オラクルなどの)組織が集約することを可能にするサービス、および、プラットフォームによって提供される共有のサービスを活用する新たなアプリケーションを構築する機能が挙げられ得るが、これらに限定されるものではない。PaaSプラットフォーム104は、PaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。顧客は、顧客が別個のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステム100によって提供されるPaaSサービスを取得することができる。PaaSサービスの例としては、オラクルJava(登録商標)クラウドサービス(Java Cloud Service:JCS)、オラクルデータベースクラウドサービス(Oracle Database Cloud Service:DBCS)などが挙げられるが、これらに限定されるものではない。

0027

PaaSプラットフォーム104によって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム100によってサポートされるプログラミング言語およびツールを利用することができ、デプロイされたサービスを制御することもできる。いくつかの実施例では、クラウドインフラストラクチャシステム100によって提供されるPaaSサービスは、データベースクラウドサービス114と、ミドルウェアクラウドサービス(例えばオラクルフュージョンミドルウェアサービス)116と、Javaクラウドサービス117とを含んでいてもよい。一実施例では、データベースクラウドサービス114は、組織がデータベースリソースプールし、データベースクラウドの形態でデータベース・アズ・ア・サービスを顧客に提供することを可能にする共有のサービスデプロイメントモデルをサポートし得て、ミドルウェアクラウドサービス116は、さまざまなビジネスアプリケーションを開発およびデプロイするために顧客にプラットフォームを提供し、Javaクラウドサービス117は、クラウドインフラストラクチャシステム100においてJavaアプリケーションをデプロイするために顧客にプラットフォームを提供する。図1Aに示されるSaaSプラットフォーム102およびPaaSプラットフォーム104におけるコンポーネントは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例では、SaaSプラットフォーム102およびPaaSプラットフォーム104は、クラウドインフラストラクチャシステム100の顧客に追加のサービスを提供するための追加のコンポーネントを含んでいてもよい。

0028

IaaSプラットフォーム110によってさまざまな異なるIaaSサービスが提供され得る。IaaSサービスは、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のために、ストレージ、ネットワークおよび他の基礎的な演算リソースなどの基本的な演算リソースの管理および制御を容易にする。

0029

特定の実施例では、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100の顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース106を含む。一実施例では、インフラストラクチャリソース106は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するために、サーバ、ストレージおよびネットワーキングリソースなどのハードウェアの予め統合された、最適化された組み合わせを含む。

0030

特定の実施例では、クラウド管理機能108は、クラウドインフラストラクチャシステム100においてクラウドサービス(例えばSaaS、PaaS、IaaSサービス)の包括的な管理を提供する。一実施例では、クラウド管理機能108は、クラウドインフラストラクチャシステム100によって受取られた顧客のサブスクリプションをプロビジョニング、管理および追跡するための機能などを含む。

0031

図1Bは、本発明の実施例に係るクラウドインフラストラクチャシステム100を実現するために使用され得るハードウェア/ソフトウェアスタックの簡略ブロック図である。図1Bに示される実現例は、図1Bに示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図1Bに示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、クラウドインフラストラクチャシステム100は、図1Bに示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。特定の実施例では、最適な性能を提供する垂直統合を提供するようにハードウェアおよびソフトウェアコンポーネントが積層される。

0032

さまざまなタイプのユーザがクラウドインフラストラクチャシステム100と対話し得る。これらのユーザは、例えば、デスクトップモバイル機器タブレットなどのさまざまなクライアント装置を使用してクラウドインフラストラクチャシステム100と対話し得るエンドユーザ150を含んでいてもよい。また、ユーザは、さまざまな統合された開発環境(integrated development environment:IDE)を介して、および他のアプリケーションを介して、コマンドラインインターフェース(command line interface:CLI)、アプリケーションプログラミングインターフェース(application programming interface:API)を使用してクラウドインフラストラクチャシステム100と対話し得る開発者/プログラマ152を含んでいてもよい。また、ユーザは、オペレーションスタッフ154を含んでいてもよい。これらは、クラウドサービスプロバイダのスタッフまたは他のユーザのスタッフを含んでいてもよい。

0033

アプリケーションサービス層156は、クラウドインフラストラクチャシステム100によって提供され得るさまざまなクラウドサービスを特定する。これらのサービスは、サービス統合および連結層158を介してそれぞれのソフトウェアコンポーネント160(例えばJavaサービスを提供するためのオラクルウェブロジックサーバ、データベースサービスを提供するためのオラクルデータベースなど)にマッピングされるか、または関連付けられ得る。

0034

特定の実施例では、クラウドインフラストラクチャシステム100のさまざまなコンポーネントまたはモジュールおよびクラウドインフラストラクチャシステム100によって提供されるサービスによって共有されるいくつかの内部サービス162が提供され得る。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス統合サービスエンタープライズリポジトリサービス、エンタープライズマネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよび回復サービス、IDEにおいてクラウドサポートを可能にするためのサービス、電子メールサービス、通知サービスファイル転送サービスなどを含み得るが、これらに限定されるものではない。

0035

ランタイムインフラストラクチャ層164は、さまざまな他の層およびコンポーネントが構築されるハードウェア層を表わす。特定の実施例では、ランタイムインフラストラクチャ層164は、ストレージ、処理およびネットワーキングリソースを提供するための1つのオラクルのExadataマシンを備えていてもよい。Exadataマシンは、さまざまなデータベースサーバストレージサーバ、ネットワーキングリソース、およびクラウドサービス関連のソフトウェア層をホストするための他のコンポーネントから構成され得る。特定の実施例では、Exadataマシンは、ストレージ、演算、ネットワークおよびソフトウェアリソース集合体を提供するエンジニアド・システムであるOracle Exalogicと連携するように設計され得る。ExadataおよびExalogicの組み合わせは、クラウドサービスを提供するための高性能で、高可用性で、スケーラブルで、安全な、管理されたプラットフォームを与える完全なハードウェアおよびソフトウェアエンジニアドソリューションを提供する。

0036

図2は、本発明の実施例に係る図1Aに示されるクラウドインフラストラクチャシステムを実現するためのシステム環境の簡略ブロック図である。示される実施例では、システム環境230は、クラウドインフラストラクチャシステム100と対話するためにユーザによって使用され得る1つ以上のクライアント演算装置224,226および228を含む。クライアント装置は、クラウドインフラストラクチャシステム100によって提供されるサービスを利用するためにクラウドインフラストラクチャシステム100と対話するようにクライアント装置のユーザによって使用され得る、ウェブブラウザプロプライエタリクライアントアプリケーション(例えばOracle Forms)またはその他のアプリケーションなどのクライアントアプリケーションを動作させるように構成され得る。

0037

図2に示されるクラウドインフラストラクチャシステム100は、図2に示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図2に示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、クラウドインフラストラクチャシステム100は、図2に示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。

0038

クライアント演算装置224,226および228は、汎用パーソナルコンピュータ(一例として、マイクロソフトウィンドウズ(登録商標)および/またはアップルマキントッシュオペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む)、(マイクロソフトウィンドウズモバイルなどのソフトウェアを実行し、インターネット、電子メール、SMS、ブラックベリーまたは使用可能な他の通信プロトコルである)携帯電話もしくはPDA、さまざまな市販のUNIX(登録商標)もしくはUNIXのようなオペレーティングシステム(さまざまなGNU/Linux(登録商標)オペレーティングシステムを含むがこれに限定されるものではない)のいずれかを実行するワークステーションコンピュータ、またはその他の演算装置であってもよい。例えば、クライアント演算装置224,226および228は、ネットワーク(例えば下記のネットワーク232)を介して通信することができる、シンクライアントコンピュータ、インターネットへの接続が可能なゲーム機および/またはパーソナルメッセージング装置などのその他の電子装置であってもよい。例示的なシステム環境230が3つのクライアント演算装置とともに示されているが、いかなる数のクライアント演算装置がサポートされてもよい。センサを有する装置などの他の装置がクラウドインフラストラクチャシステム100と対話してもよい。

0039

ネットワーク232は、クライアント224,226および228とクラウドインフラストラクチャシステム100との間でのデータの通信および交換を容易にし得る。ネットワーク232は、TCP/IP、SNAIPX、AppleTalkなどを含むがこれらに限定されるものではないさまざまな市販のプロトコルのいずれかを使用してデータ通信をサポートし得る、当業者なじみのある任意のタイプのネットワークであってもよい。単に一例として、ネットワーク232は、イーサネット(登録商標)ネットワーク、トークンリング・ネットワークなどのローカルエリアネットワーク(local area network:LAN)、広域ネットワーク仮想プライベートネットワーク(virtual private network:VPN)を含むがこれに限定されるものではない仮想ネットワーク、インターネット、イントラネットエクストラネット公衆交換電話網(public switched telephone network:PSTN)、赤外線ネットワーク無線ネットワーク(例えばIEEE802.1Xの一連のプロトコル、当該技術分野において公知のブルートゥース(登録商標)プロトコルおよび/またはその他の無線プロトコルのいずれかの下で動作するネットワーク)、ならびに/または、これらのおよび/もしくは他のネットワークの任意の組み合わせであってもよい。

0040

クラウドインフラストラクチャシステム100は、汎用コンピュータ特化サーバコンピュータ(一例として、PCサーバUNIXサーバミッドレンジサーバ、メインフレームコンピュータラックマウント式のサーバなどを含む)、サーバファームサーバクラスタ、またはその他の適切な配置および/もしくは組み合わせであり得る1つ以上のコンピュータおよび/またはサーバを備えていてもよい。クラウドインフラストラクチャシステム100を構成する演算装置は、HTTPサーバFTPサーバCGIサーバ、Javaサーバ、データベースサーバなどを含む、オペレーティングシステムまたはさまざまな追加のサーバアプリケーションおよび/もしくは中間層アプリケーションのいずれかを実行し得る。例示的なデータベースサーバとしては、オラクル、マイクロソフト、サイベース、IBMなどから市販されているものが挙げられるが、これらに限定されるものではない。

0041

さまざまな実施例では、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100によって提供されるサービスへの顧客のサブスクリプションを自動的にプロビジョニング、管理および追跡するように適合され得る。一実施例では、図2に示されるように、クラウドインフラストラクチャシステム100におけるコンポーネントは、アイデンティティ管理(Identity Management:IDM)モジュール200と、サービスモジュール202と、テナント自動化システム(Tenant Automation System:TAS)モジュール204と、サービスデプロイメントインフラストラクチャ(Service Deployment Infrastructure:SDI)モジュール206と、エンタープライズマネージャ(Enterprise Manager:EM)モジュール208と、ストアユーザインターフェース(user interface:UI)210、クラウドユーザインターフェース(UI)212およびサポートユーザインターフェース(UI)216などの1つ以上のフロントエンドウェブインターフェースと、オーダー管理モジュール214と、販売スタッフ218と、オペレータスタッフ220と、オーダーデータベース222とを含む。これらのモジュールは、汎用コンピュータ、特化サーバコンピュータ、サーバファーム、サーバクラスタ、またはその他の適切な配置および/もしくは組み合わせであり得る1つ以上のコンピュータおよび/またはサーバを含んでいてもよく、またはそれらを使用して提供されてもよい。一実施例では、これらのモジュールのうちの1つ以上は、クラウドインフラストラクチャシステム100におけるクラウド管理機能108またはIaaSプラットフォーム110によって提供され得る。図2に示されるクラウドインフラストラクチャシステム100のさまざまなモジュールは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例は、図2に示されるものよりも多くのまたは少ないモジュールを含んでいてもよい。

0042

例示的なオペレーションにおいて、(1)において、クライアント装置224または226などのクライアント装置を使用する顧客は、クラウドインフラストラクチャシステム100によって提供されるさまざまなサービスをブラウズし、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスについてのサブスクリプションのオーダーを行うことによって、クラウドインフラストラクチャシステム100と対話し得る。特定の実施例では、顧客は、ストアUI210またはクラウドUI212にアクセスし、これらのユーザインターフェースを介してサブスクリプションオーダーを行い得る。

0043

顧客がオーダーを行ったことに応答してクラウドインフラストラクチャシステム100によって受取られるオーダー情報は、顧客と、顧客がサブスクライブする予定の、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスとを特定する情報を含んでいてもよい。単一のオーダーは、複数のサービスのオーダーを含んでいてもよい。例えば、顧客は、クラウドUI212にログインして、同一のオーダーにおいてCRMサービスおよびJavaクラウドサービスについてのサブスクリプションを要求し得る。

0044

さらに、オーダーは、オーダーされたサービスについての1つ以上のサービスレベルも含んでいてもよい。本明細書で使用され、以下でより詳細に説明されるように、サービスについてのサービスレベルは、ストレージの量、演算リソースの量、データ転送設備などの、サブスクリプションの文脈において要求されたサービスを提供するために割り当てられるリソースの量を決定する。例えば、ベーシックなサービスレベルは、最小レベルのストレージ、データ伝送またはユーザの数を提供することができ、より高いサービスレベルは、さらなるリソースを含み得る。

0045

また、いくつかの例では、クラウドインフラストラクチャシステム100によって受取られるオーダー情報は、顧客レベルおよびサービスが求められる期間を示す情報を含んでいてもよい。顧客レベルは、サブスクリプション要求を行う顧客の優先度を規定する。一例では、優先度は、顧客とクラウドサービスのプロバイダとの間で合意されたサービスレベル合意書(Service Level Agreement:SLA)によって規定されるようにクラウドインフラストラクチャシステム100が顧客に保証または約束するサービスの質に基づいて決定され得る。一例では、さまざまな顧客レベルは、ベーシックレベルシルバーレベルおよびゴールドレベルを含む。サービスの期間は、当該サービスの開始日および時刻と、当該サービスが求められる期間とを規定し得る(例えばサービス終了日および時刻が規定されてもよい)。

0046

一実施例では、顧客は、ストアUI210を介して新たなサブスクリプションを要求するか、またはクラウドUI212を介してトライアルサブスクリプションを要求し得る。特定の実施例では、ストアUI210は、サービスプロバイダ電子商取引ストアフロントに相当し得る(例えばオラクルクラウドサービスのためのwww.oracle.com/store)。クラウドUI212は、サービスプロバイダのためのビジネスインターフェースに相当し得る。顧客は、クラウドUI212を介して、利用可能なサービスを調査し、関心のあるサービスにサインアップすることができる。クラウドUI212は、クラウドインフラストラクチャシステム100によって提供されるトライアルサブスクリプションをオーダーするのに必要なユーザ入力取込む。また、クラウドUI212は、アカウント機能を閲覧し、クラウドインフラストラクチャシステム100内に位置するランタイム環境を構成するために使用され得る。新たなサブスクリプションのオーダーを行うことに加えて、ストアUI210は、サブスクリプションのサービスレベルの変更、サブスクリプションの期間の延長、サブスクリプションのサービスレベルの向上、既存のサブスクリプションの終了などの他のサブスクリプション関連のタスクを顧客が実行できるようにもし得る。

0047

(1)につきオーダーが行われた後、(2)において、ストアUI210またはクラウドUI212のいずれかを介して受取られるオーダー情報がオーダーデータベース222に格納され、当該オーダーデータベース222は、クラウドインフラストラクチャシステム100によって操作されて他のシステム要素と連携して利用されるいくつかのデータベースのうちの1つであり得る。オーダーデータベース222は図2では単一のデータベースとして論理的に示されているが、実際の実現例では、これは1つ以上のデータベースを備えていてもよい。

0048

(3)において、オーダーはオーダー管理モジュール214に送られる。オーダー管理モジュール214は、オーダーの検証および検証時のオーダーの予約などのオーダーに関連する課金およびアカウンティング機能を実行するように構成される。特定の実施例では、オーダー管理モジュール214は、契約管理モジュールと、インストールベースモジュールとを含んでいてもよい。契約管理モジュールは、クラウドインフラストラクチャシステム100との顧客のサービスレベル合意書(SLA)などの顧客のサブスクリプションオーダーに関連付けられた契約情報を格納し得る。インストールベースモジュールは、顧客のサブスクリプションオーダーにおけるサービスの詳細な説明を含み得る。オーダー情報に加えて、インストールベースモジュールは、サービスに関連するインストールの詳細、製品状態およびサービスに関連するサポートサービス履歴を追跡し得る。顧客が新たなサービスをオーダーするかまたは既存のものをアップグレードすると、インストールベースモジュールは、新たなオーダー情報を自動的に追加し得る。

0049

(4)において、オーダーに関する情報は、TASモジュール204に通信される。一実施例では、TASモジュール204は、顧客によって行われたオーダーについてのサービスおよびリソースのプロビジョニングをオーケストレート(orchestrate)するためにオーダー情報を利用する。(5)において、TASコンポーネント204は、SDIモジュール206のサービスを使用してサブスクライブされたサービスをサポートするために、リソースのプロビジョニングをオーケストレートする。(6)において、TASモジュール204は、SDIモジュール206から受取られた、プロビジョニングされたオーダーに関連する情報をサービスモジュール202に提供する。いくつかの実施例では、(7)において、SDIモジュール206は、顧客のサブスクリプションオーダーを実現するために必要なリソースを割り当てて構成するために、サービスモジュール202によって提供されるサービスも使用し得る。

0050

(8)において、サービスモジュール202は、オーダーの状態に関する通知をクライアント装置224,226および228上の顧客に送る。

0051

特定の実施例では、TASモジュール204は、互いに関連付けられたビジネスプロセスを管理し、ビジネスロジックを適用してオーダーがプロビジョニングに進むべきか否かを判断するオーケストレーションコンポーネントとして機能する。一実施例では、新たなサブスクリプションのオーダーを受取ると、TASモジュール204は、リソースを割り当てて、当該サブスクリプションオーダーを実現するために必要なそれらのリソースを構成するために、SDIモジュール206に要求を送る。SDIモジュール206は、顧客によってオーダーされたサービスのためのリソースの割り当てを可能にする。SDIモジュール206は、クラウドインフラストラクチャシステム100によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理実装層との間の抽象化のレベルを提供する。したがって、TASモジュール204は、サービスおよびリソースがオンザフライで実際にプロビジョニングされるか否か、または予めプロビジョニングされて要求時に単に配分/割り当てられるか否かなどの実装詳細から切離され得る。

0052

特定の実施例では、ユーザは、オーダー管理モジュール214と直接対話して、オーダーの検証および検証時のオーダーの予約などの課金およびアカウンティング関連機能を実行するためにストアUI210を使用し得る。いくつかの実施例では、顧客がオーダーを行う代わりに、(9)において、オーダーはその代わりに、顧客のサービス担当者または販売担当者などの顧客を代表する販売スタッフ218によって行われてもよい。販売スタッフ218は、オーダーを行うためまたは顧客に見積もりを提供するためにオーダー管理モジュール214によって提供されるユーザーインターフェース図2には図示せず)を介して、オーダー管理モジュール214と直接対話し得る。例えば、これは、オーダーがオーダー管理モジュール214を介して顧客の販売担当者によって行われ得る大口顧客のためになされ得る。販売担当者は、顧客を代表してサブスクリプションを準備し得る。

0053

EMモジュール208は、クラウドインフラストラクチャシステム100における顧客のサブスクリプションの管理および追跡に関連するアクティビティモニタリングするように構成される。EMモジュール208は、使用されるストレージの量、転送されるデータの量、ユーザの数、システムアップ時間およびシステムダウン時間の量などのサブスクリプションオーダーにおけるサービスについての使用統計収集する。(10)において、クラウドインフラストラクチャシステム100のプロバイダの従業員であってもよいホストオペレータスタッフ220は、サービスがクラウドインフラストラクチャシステム100内でプロビジョニングされるシステムおよびリソースを管理するために、エンタープライズマネージャユーザインターフェース(図2には図示せず)を介してEMモジュール208と対話し得る。

0054

アイデンティティ管理(IDM)モジュール200は、クラウドインフラストラクチャシステム100においてアクセス管理および認可サービスなどのアイデンティティサービスを提供するように構成される。一実施例では、IDMモジュール200は、クラウドインフラストラクチャシステム100によって提供されるサービスを利用したい顧客についての情報を制御する。このような情報は、このような顧客のアイデンティティを認証する情報、および、さまざまなシステムリソース(例えばファイルディレクトリ、アプリケーション、通信ポートメモリセグメントなど)に対してそれらの顧客がどのアクションを実行することが認可されるかを表わす情報を含み得る。また、IDMモジュール200は、各顧客についての記述的情報および当該説明的情報がどのようにして誰によってアクセスおよび修正され得るかについての記述的情報の管理を含み得る。

0055

一実施例では、アイデンティティ管理モジュール200によって管理される情報は、別個のアイデンティティドメインを作成するために分割可能である。特定のアイデンティティドメインに属する情報は、全ての他のアイデンティティドメインから切離されることができる。また、アイデンティティドメインは、複数の別個のテナントによって共有可能である。各々のこのようなテナントは、クラウドインフラストラクチャシステム100においてサービスにサブスクライブする顧客であり得る。いくつかの実施例では、顧客は、1つまたは多くのアイデンティティドメインを有することができ、各アイデンティティドメインは、1つ以上のサブスクリプションに関連付けられ得て、各サブスクリプションは、1つまたは多くのサービスを有する。例えば、単一の顧客は大規模事業体に相当し得て、この大規模事業体内の部門部署についてアイデンティティドメインが作成されてもよい。さらに、EMモジュール208およびIDMモジュール200は、クラウドインフラストラクチャシステム100において顧客のサブスクリプションを管理および追跡するために、それぞれ(11)および(12)においてオーダー管理モジュール214と対話し得る。

0056

一実施例では、(13)において、サポートUI216を介してサポートサービスも顧客に提供され得る。一実施例では、サポートUI216は、サポートスタッフが(14)においてサポートサービスを実行するようにサポートバックエンドシステムを介してオーダー管理モジュール214と対話することを可能にする。クラウドインフラストラクチャシステム100におけるサポートスタッフおよび顧客は、サポートUI216を介して、バグ報告提出し、これらの報告の状態を確認することができる。

0057

図2に図示されない他のインターフェースもクラウドインフラストラクチャシステム100によって提供されてもよい。例えば、アイデンティティドメイン管理者は、ドメインおよびユーザアイデンティティを構成するためにIDMモジュール200へのユーザインターフェースを使用し得る。また、顧客は、利用したい各サービスのための別個のインターフェースにログインし得る。特定の実施例では、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスにサブスクライブしたい顧客は、さまざまな役割および任務も割り当てられ得る。一実施例では、顧客に割り当てられ得るさまざまな役割および任務は、バイヤアカウント管理者サービス管理者、アイデンティティドメイン管理者、またはクラウドインフラストラクチャシステム100によって提供されるサービスおよびリソースを利用するユーザの役割および任務を含んでいてもよい。さまざまな役割および任務は、以下の図4にさらに十分に示されている。

0058

図3Aは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールによって実行され得る処理を示す簡略化されたフローチャート300を示す。図3Aに示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記媒体上の)メモリに格納されてもよい。図3Aに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図3Aに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図3Aに示される処理は、図3Bに詳細に示されるように、TASコンポーネント204における1つ以上のコンポーネントによって実行され得る。

0059

302において、顧客のサブスクリプションオーダーが処理される。当該処理は、一例ではオーダーの認証を含んでいてもよい。オーダーの認証は、顧客がサブスクリプションの代金支払ったことを保証すること、および、顧客が同一の名前を備えたサブスクリプションをまだ有していないことを保証すること、または、(CRMサービスの場合など)許可されないサブスクリプションタイプについて同一のアイデンティティドメインにおいて同一タイプの複数のサブスクリプションを顧客が作成しようと試みていないことを保証することを含む。また、処理は、クラウドインフラストラクチャシステム100によって処理されている各オーダーについてのオーダーの状態の追跡を含んでいてもよい。

0060

304において、オーダーに関連付けられたビジネスプロセスが特定される。いくつかの例では、複数のビジネスプロセスがオーダーについて特定され得る。各ビジネスプロセスは、オーダーのさまざまな局面を処理するための一連のステップを特定する。一例として、第1のビジネスプロセスは、オーダーのための物理的リソースのプロビジョニングに関連する1つ以上のステップを特定し得て、第2のビジネスプロセスは、オーダーについての顧客アイデンティティとともにアイデンティティドメインを作成することに関連する1つ以上のステップを特定し得て、第3のビジネスプロセスは、ユーザについての顧客記録の作成などのバックオフィス機能の実行、オーダーに関連するアカウンティング機能の実行などに関連する1つ以上のステップを特定し得る。特定の実施例では、オーダーにおけるさまざまなサービスを処理するためにさまざまなビジネスプロセスも特定されてもよい。例えば、CRMサービスおよびデータベースサービスを処理するためにさまざまなビジネスプロセスが特定されてもよい。

0061

306において、304でオーダーについて特定されたビジネスプロセスが実行される。オーダーに関連付けられたビジネスプロセスの実行は、ステップ304において特定されたビジネスプロセスに関連付けられた一連のステップのオーケストレートを含んでいてもよい。例えば、オーダーのための物理リソースのプロビジョニングに関連するビジネスプロセスの実行は、リソースを割り当てて、サブスクリプションオーダーを実現するために必要なそれらのリソースを構成するために、SDIモジュール206に要求を送ることを含んでいてもよい。

0062

308において、プロビジョニングされたオーダーの状態に関する通知が顧客に送られる。ステップ302,304,306および308の実行に関連するさらなる説明については、図3Bに詳細に記載されている。

0063

図3Bは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。一実施例では、図3Bに示されるモジュールは、図3Aに示されるステップ302〜308に記載された処理を実行する。示される実施例では、TASモジュール204は、オーダー処理モジュール310と、ビジネスプロセス識別子312と、ビジネスプロセスエクセキュータ316と、超過フレームワーク322と、ワークフロー特定モジュール324と、バンドルされたサブスクリプション生成モジュール326とを備える。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。図3Bに示されるTASモジュールのさまざまなモジュールは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例は、図3Bに示されるものよりも多くのまたは少ないモジュールを含んでいてもよい。

0064

一実施例では、オーダー処理モジュール310は、顧客からのオーダーを1つ以上の入力ソース321から受取る。例えば、オーダー処理モジュール310は、一実施例ではクラウドUI212またはストアUI210を介してオーダーを直接受取ってもよい。代替的に、オーダー処理モジュール310は、オーダー管理モジュール214またはオーダーデータベース222からオーダーを受取ってもよい。次いで、オーダー処理モジュール310は、オーダーを処理する。特定の実施例では、オーダーの処理は、サービスタイプ、サービスレベル、顧客レベル、リソースのタイプ、サービスインスタンスに割り当てられるリソースの量、およびサービスが求められる期間などのオーダーについての情報を含む顧客記録の生成を含む。処理の一部として、オーダー処理モジュール310は、オーダーが有効なオーダーであるか否かも判断する。これは、顧客が同一の名前を備えたサブスクリプションをまだ有していないことを保証すること、または、(フュージョンCRMサービスの場合など)許可されないサブスクリプションタイプについて同一のアイデンティティドメインにおいて同一タイプの複数のサブスクリプションを顧客が作成しようと試みていないことを保証することを含む。

0065

また、オーダー処理モジュール310は、オーダーについてのさらなる処理を実行し得る。処理は、クラウドインフラストラクチャシステム100によって処理されている各オーダーについてのオーダーの状態の追跡を含んでいてもよい。一実施例では、オーダー処理モジュール310は、オーダーに関係するいくつかの状態を特定するために各オーダーを処理し得る。一例では、オーダーのさまざまな状態は、初期化状態、プロビジョニング状態、アクティブ状態、管理が必要な状態、エラー状態などであり得る。初期化状態は、新たなオーダーの状態を指し、プロビジョニング状態は、オーダーについてのサービスおよびリソースがプロビジョニングされた時点のオーダーの状態を指す。オーダーがTASモジュール204によって処理され、その趣旨の通知が顧客に与えられると、オーダーはアクティブ状態になる。問題を解決するために管理者による介入が必要な場合、オーダーは管理が必要な状態である。オーダーを処理できない場合、オーダーはエラー状態である。オーダー進捗状態の維持に加えて、オーダー処理モジュール310は、プロセスの実行中に遭遇するいかなる障害についても詳細な情報を維持する。他の実施例では、以下で詳細に記載されるように、オーダー処理モジュール310によって実行されるさらなる処理は、サブスクリプションにおけるサービスのサービスレベルの変更、サブスクリプションに含まれるサービスの変更、サブスクリプションの期間の延長、およびサブスクリプションのキャンセルまたはサブスクリプションにおけるさまざまな期間にわたるさまざまなサービスレベルの指定も含んでいてもよい。

0066

オーダーがオーダー処理モジュール310によって処理された後、オーダーがプロビジョニングに進むべきか否かを判断するためにビジネスロジックが適用される。一実施例では、オーダーのオーケストレートの一部として、ビジネスプロセス識別子312は、処理されたオーダーをオーダー処理モジュール310から受取って、ビジネスロジックを適用して、処理中のオーダーで使用されるべき特定のビジネスプロセスを特定する。一実施例では、ビジネスプロセス識別子312は、オーダーで使用されるべき特定のビジネスプロセスを決定するために、サービスカタログ314に格納されている情報を利用し得る。一実施例では、図3Aに示されるように、オーダーについて複数のビジネスプロセスが特定されてもよく、各ビジネスプロセスは、オーダーのさまざまな局面を処理するための一連のステップを特定する。別の実施例では、上記のように、CRMサービスまたはデータベースサービスなどのさまざまなタイプのサービスまたはサービスの組み合わせについてさまざまなビジネスプロセスが規定されてもよい。一実施例では、サービスカタログ314は、オーダーを特定のタイプのビジネスプロセスにマッピングする情報を格納し得る。ビジネスプロセス識別子312は、処理中のオーダーについての特定のビジネスプロセスを特定するためにこの情報を使用し得る。

0067

ビジネスプロセスが特定されると、ビジネスプロセス識別子312は、実行されるべき特定のビジネスプロセスをビジネスプロセスエクセキュータ316に通信する。次いで、ビジネスプロセスエクセキュータ316は、クラウドインフラストラクチャシステム100における1つ以上のモジュールと連携して動作することによって、特定されたビジネスプロセスのステップを実行する。いくつかの実施例では、ビジネスプロセスエクセキュータ316は、ビジネスプロセスに関連付けられたステップを実行するためのオーケストレータの役割を果たす。例えば、ビジネスプロセスエクセキュータは、オーダーに関連するワークフローを特定して、オーダーにおけるサービスの超過を判断するか、またはオーダーに関連するサービスコンポーネントを特定するビジネスプロセスにおけるステップを実行するようにオーダー処理モジュール310と対話し得る。

0068

一例では、ビジネスプロセスエクセキュータ316は、サブスクリプションオーダーにおいて要求されたサービスのためにリソースを割り当ててプロビジョニングするためのビジネスプロセスにおけるステップを実行するようにSDIモジュール206と対話する。この例では、ビジネスプロセスにおける各ステップごとに、ビジネスプロセスエクセキュータ316は、リソースを割り当てて、特定のステップを実現するために必要なリソースを構成するために、SDIモジュール206に要求を送り得る。SDIモジュール206は、リソースの実際の割り当てを担当する。オーダーのビジネスプロセスの全てのステップが実行されると、ビジネスプロセスエクセキュータ316は、サービスコンポーネント202のサービスを利用することによって、処理されたオーダーの通知を顧客に送り得る。通知は、処理されたオーダーの詳細を有する電子メール通知を顧客に送ることを含んでいてもよい。また、電子メール通知は、顧客がサブスクライブされたサービスにアクセスすることを可能にするための、オーダーに関連するデプロイメント情報も含んでいてもよい。

0069

特定の実施例では、TASモジュール204は、TASモジュール204がクラウドインフラストラクチャシステム100における他のモジュールと対話し、他のモジュールがTASモジュール204と対話することを可能にする1つ以上のTASアプリケーションプログラミングインターフェース(Application Programming Interface:API)318を提供し得る。例えば、TAS APIは、顧客のサブスクリプションオーダーのためのリソースをプロビジョニングするために、非同期シンプルオブジェクト・アクセス・プロトコル(Simple Object Access Protocol:SOAP)ベースのウェブサービスコールを介してSDIモジュール206と対話するシステムプロビジョニングAPIを含んでいてもよい。一実施例では、TASモジュール204は、システムおよびサービスインスタンスの作成および削除を達成し、サービスインスタンスを向上したサービスレベルに切替え、サービスインスタンスを関連付けるためにも、システムプロビジョニングAPIを利用し得る。この一例は、安全なウェブサービス通信を可能にするためのフュージョンアプリケーションサービスインスタンスへのJavaサービスインスタンスの関連付けである。また、TAS APIは、処理されたオーダーを顧客に通知するためにサービスモジュール202と対話する通知APIも含んでいてもよい。特定の実施例では、TASモジュール204は、サブスクリプション情報機能停止および通知(例えば計画されたダウンタイム)もサービスコンポーネント202に定期的に伝える。

0070

特定の実施例では、TASモジュール204は、使用されるストレージの量、転送されるデータの量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間の量などのプロビジョニングされたサービスの各々についての使用統計をEMモジュール208から定期的に受取る。超過フレームワーク322は、サービスの過剰使用が生じたか否かを判断し、生じた場合には超過に対してどれぐらい課金されるかを判断するために当該使用統計を利用し、この情報をオーダー管理モジュール214に提供する。

0071

特定の実施例では、TASモジュール204は、顧客のサブスクリプションオーダーの処理に関連付けられた1つ以上のワークフローを特定するように構成されるオーダーワークフロー特定モジュール324を含む。特定の実施例では、TASモジュール204は、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスについてのサブスクリプションオーダーを顧客が行うと顧客のためにサブスクリプションオーダーを生成するためのサブスクリプションオーダー生成フレームワーク326を含んでいてもよい。一実施例では、サブスクリプションオーダーは、当該サブスクリプションオーダーにおいて顧客によって要求されたサービスを提供することを担当する1つ以上のサービスコンポーネントを含む。

0072

さらに、TASモジュール204は、もしあれば顧客が利用可能な履歴情報を考慮に入れながら、顧客によってサブスクライブされた1つ以上のサービスのためのリソースのプロビジョニングを可能にするために、テナント情報システム(Tenant Information System:TIS)データベース320などの1つ以上のさらなるデータベースとも対話し得る。TISデータベース320は、顧客によってサブスクライブされたオーダーに関係する履歴オーダー情報および履歴使用情報を含んでいてもよい。

0073

TASモジュール204は、さまざまなデプロイメントモデルを使用してデプロイされ得る。特定の実施例では、デプロイメントは、1つ以上の分散されたコンポーネントと遣り取りする中心コンポーネントを含む。分散されたコンポーネントは、例えばさまざまなデータセンタとしてデプロイされてもよく、したがってデータセンタコンポーネントとも称されてもよい。中心コンポーネントは、クラウドインフラストラクチャシステム100においてオーダーを処理してサービスをまとめるための機能を含み、データセンタコンポーネントは、サブスクライブされたサービスにリソースを提供するランタイムシステムをプロビジョニングして動作させるための機能を提供する。

0074

図4は、本発明の実施例に係るTASモジュールの例示的な分散型デプロイメントを示す。図4に示される実施例では、TASモジュール204の分散型デプロイメントは、TAS中心コンポーネント400と、1つ以上のTASデータセンタ(Data Center:DC)コンポーネント402,404および406とを含む。これらのコンポーネントは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。

0075

一実施例では、TAS中心コンポーネント400の任務は、顧客オーダーを受取って、新たなサブスクリプションの作成、サブスクリプションにおけるサービスのサービスレベルの変更、サブスクリプションに含まれるサービスの変更、およびサブスクリプションの期間の延長、またはサブスクリプションのキャンセルなどのオーダー関連のビジネスオペレーションを実行するための集中型コンポーネントを提供することを含むが、これに限定されるものではない。また、TAS中心コンポーネント400の任務は、クラウドインフラストラクチャシステム100によって必要とされるサブスクリプションデータを維持および供給すること、ならびに、全てのバックオフィスインタラクションに対処するためにオーダー管理モジュール214、サポートUI216、クラウドUI212およびストアUI210と遣り取りすることも含んでいてもよい。

0076

一実施例では、TAS DC402,404および406の任務は、顧客によってサブスクライブされた1つ以上のサービスのためのリソースのプロビジョニングをオーケストレートするためのランタイムオペレーションを実行することを含むが、これに限定されるものではない。また、TAS DC402,404および406は、サブスクリプションオーダーのロッキングアンロッキングイネーブルまたはディスエーブル、オーダーに関連するメトリクスの収集、オーダーの状態の判断、およびオーダーに関連する通知イベントの送信などのオペレーションを実行するための機能も含む。

0077

図4に示される分散型TASシステムの例示的なオペレーションでは、TAS中心コンポーネント400は、最初に、クラウドUI212、ストアUI210を介して、オーダー管理システム214を介して、またはオーダーデータベース222を介して、顧客からオーダーを受取る。一実施例では、顧客は、財務情報ならびにサブスクリプションをオーダーおよび/または変更するための権限を有するバイヤに相当する。一実施例では、オーダー情報は、顧客、顧客がサブスクライブしたいサービスのタイプ、および要求への対処を担当するアカウント管理者を特定する情報を含む。特定の実施例では、アカウント管理者は、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスへのサブスクリプションについてのオーダーを顧客が行うと、顧客によって任命され得る。オーダー情報に基づいて、TAS中心コンポーネント400は、オーダーが発生するアメリカ、EMEAまたはアジア太平洋などの世界のデータ領域、およびオーダーをプロビジョニングするためにデプロイされる特定のTAS DC(例えば402,404または406)を特定する。一実施例では、オーダーをプロビジョニングするためにデプロイされる(例えばDC402,404または406の中からの)特定のTAS DCは、要求が発生した地理的なデータ領域に基づいて決定される。

0078

次いで、TAS中心コンポーネント400は、オーダー要求についてのサービスをプロビジョニングするためにオーダー要求を特定のTAS DCに送る。一実施例では、TAS DC402,404または406は、特定のTAS DCにおいてオーダー要求を処理することを担当するサービス管理者およびアイデンティティドメイン管理者を特定する。サービス管理者およびアイデンティティ管理者は、サブスクリプションオーダーにおいて特定されるアカウント管理者によって任命され得る。TAS DC402,404または406は、オーダーのための物理リソースのプロビジョニングをオーケストレートするためにSDIモジュール204と通信する。それぞれのTAS DC402,404または406におけるSDIモジュール206は、リソースを割り当てて、サブスクリプションオーダーを実現するために必要なそれらのリソースを構成する。

0079

特定の実施例では、TAS DC402,404または406は、サブスクリプションに関連付けられたアイデンティティドメインを特定する。SDIモジュール206は、既存のアイデンティティドメインの特定または新たなアイデンティティドメインの作成のためにアイデンティティドメイン情報をIDMコンポーネント200(図2に図示)に提供し得る。オーダーがそれぞれのTAS DC402,404または406におけるSDIモジュールによってプロビジョニングされると、TAS中心コンポーネント400は、サポートシステムにおけるプロビジョニングされたリソースに関する情報をサポートUI216を介して配置し得る。情報は、例えばサービスに関連するリソースメトリクスおよびサービスの使用統計の表示を含んでいてもよい。

0080

オペレーション時に、各データセンタにおいて、EMモジュール208は、当該データセンタにおいてプロビジョニングされたプロビジョニングされたサービスの各々について、使用されるストレージの量、転送されるデータの量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間の量などの使用統計を定期的に収集する。これらの統計は、EMモジュール208にローカルな(すなわち、同一のデータセンタにおける)TAS DCに提供される。実施例では、TAS DCは、サービスの過剰使用が生じたか否かを判断し、生じた場合には超過に対してどれぐらい課金されるかを判断するために使用統計を使用し、課金情報をオーダー管理システム214に提供し得る。

0081

図5は、本発明の実施例に係るクラウドインフラストラクチャシステムにおける1つ以上のモジュールとのSDIモジュールのインタラクションを示す簡略ブロック図である。一実施例では、SDIモジュール206は、TASモジュール204によって受取られたサブスクリプションオーダーにおけるサービスのためのリソースをプロビジョニングするためにTASモジュール204と対話する。特定の実施例では、図5に示されるモジュールのうちの1つ以上は、クラウドインフラストラクチャシステム100内のモジュールであってもよい。他の実施例では、SDIモジュール206と対話するモジュールのうちの1つ以上は、クラウドインフラストラクチャシステム100の外側にあってもよい。また、代替的な実施例は、図5に示されるものよりも多くのまたは少ないモジュールを有していてもよい。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。

0082

一実施例では、SDIモジュール206におけるモジュールは、クラウドインフラストラクチャシステム100内のSaaSプラットフォーム102およびPaaSプラットフォーム104における1つ以上のモジュールを含んでいてもよい。さまざまなサービスのためのリソースのプロビジョニングを行うために、SDIモジュール206は、各々が特定のタイプのサービスのためのリソースのプロビジョニングに役立つようにカスタマイズされるさまざまな他のモジュールと対話し得る。例えば、図5に示されるように、SDIモジュール206は、JavaクラウドサービスをプロビジョニングするためにJavaサービスプロビジョニング制御モジュール500と対話し得る。一実施例では、Javaサービスプロビジョニング制御コンポーネント500は、Javaクラウドサービスをプロビジョニングするために実行される一組のタスクを含むSDIモジュール206によって規定されるJavaクラウドサービス(Java Cloud Service:JCS)アセンブリをデプロイし得る。次いで、インフラストラクチャリソース106は、Javaクラウドサービスをプロビジョニングするために必要なリソースを決定する。

0083

他の例として、SDIモジュール206は、バーチャル・アセンブリ・ビルダ(Virtual Assembly Builder:VAB)モジュール502、アプリケーション・エクスプレス(Application Express:APEX)デプロイヤモジュール504、仮想マシン(Virtual Machine:VM)モジュール506、IDMモジュール200およびデータベースマシンモジュール118などの1つ以上のモジュールと対話し得る。VABモジュール502は、完全な複数層アプリケーション環境を構成およびプロビジョニングするための機能を含む。一実施例では、VABモジュール502は、VMモジュール506によって提供されるサービスを使用してクラウドインフラストラクチャシステム100においてミドルウェア(Middleware:MW)サービスをプロビジョニングするために、SDIモジュール206によって規定されるMWサービスアセンブリをデプロイする。APEXデプロイヤモジュール504は、データベースサービスを構成およびプロビジョニングするための機能を含む。一実施例では、APEXデプロイヤモジュール504は、インフラストラクチャリソース106によって提供されるリソースを使用してクラウドインフラストラクチャシステム100においてデータベースサービスをプロビジョニングするために、SDIモジュール206によって規定されるデータベースサービスアセンブリをデプロイする。SDIモジュール206は、クラウドインフラストラクチャシステム100において複数のアプリケーションにまたがるアクセス管理などのアイデンティティサービスを提供するためにIDMモジュール200と対話する。

0084

図6は、本発明の実施例に係るSDIモジュールのサブモジュールの簡略化された高レベル図を示す。図6に示される実施例では、SDIモジュール206は、SDI−ウェブサービス(Web Service:WS)モジュール600と、SDI要求コントローラモジュール602と、SDIタスクマネージャモジュール604と、SDIモニタリングモジュール606と、SDIデータアクセスモジュール608と、SDI共通ライブラリモジュール610と、SDIコネクタモジュール612とを含む。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。図6に示されるSDIモジュール206およびそのさまざまなモジュールは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例は、図6に示されるものよりも多くのまたは少ないモジュールを有していてもよい。これらのモジュールおよびそれらの機能については、以下で詳細に説明する。

0085

SDI−WSモジュール600は、TASコンポーネント204のビジネスプロセスエクセキュータ316から、オーダーに関連付けられたビジネスにおけるステップを受取るための機能を含む。一実施例では、SDI−WSモジュール600は、ビジネスプロセスの各ステップを構文解析し、当該ステップをSDIモジュール206によって使用される内部表現に変換する。一実施例では、オーダーに関連付けられたビジネスプロセスの各ステップは、SDI−WSモジュール600へのSOAP要求の形態で、ウェブサービス処理層を介して(例えば図3Bに示されるシステムプロビジョニングAPIを介して)到着する。

0086

SDI要求コントローラモジュール602は、SDIモジュール206における内部要求処理エンジンであり、非同期要求処理、同時要求処理、同時タスク処理、オーダー要求に関連するフォールトトレラント回復およびプラグインサポートを実行するための機能を含む。一実施例では、SDI要求コントローラモジュール602は、オーダーに関連付けられたビジネスプロセスの各ステップをSDI−WSモジュール600から受入れ、当該ステップをSDIタスクマネージャモジュール604に提出する。

0087

SDIタスクマネージャモジュール604は、ビジネスプロセスにおいて規定された各ステップを、特定のステップをプロビジョニングするための一連のタスクに変換する。特定のステップのための一組のタスクがプロビジョニングされると、SDIタスクマネージャモジュール604は、特定のステップを実現するためにプロビジョニングされたリソースの詳細を有するオーダーペイロードを含むオペレーション結果により、TASモジュール204におけるビジネスプロセスエクセキュータ316に応答する。SDIタスクマネージャモジュール604は、オーダーに関連付けられた特定のビジネスプロセスの全てのステップが完了するまで、このプロセスを繰返す。

0088

特定の実施例では、SDIタスクマネージャモジュール604は、SDIコネクタモジュール612のサービスを利用することによって、ビジネスプロセスにおいて規定された各ステップを一連のタスクに変換する。SDIコネクタモジュール612は、オーダー要求に関連する1つ以上のサービスをプロビジョニングするために、SDIタスクマネージャモジュール604によって規定されるタスクのデプロイメントに対処するための1つ以上のコネクタを含む。特定の実施例では、コネクタのうちの1つ以上は、特定のサービスタイプに特有のタスクに対処することができ、他のコネクタは、さまざまなサービスタイプにわたって共通のタスクに対処することができる。一実施例では、SDIコネクタモジュール612は、オーダー要求に関連するサービスおよびリソースをプロビジョニングするためにクラウドインフラストラクチャシステム100における外部モジュール図5に図示)のうちの1つ以上と遣り取りする一組のコネクタ(ラッパーAPI)を含む。例えば、アプリケーション・エクスプレス(APEX)コネクタ614は、データベースサービスをプロビジョニングするために、APEXデプロイヤモジュール504と遣り取りする。ウェブセンタコネクタ616(Web Center Connector:WCC)は、ウェブサービスをプロビジョニングするために、クラウドインフラストラクチャシステム100におけるウェブセンタモジュールと遣り取りする。ウェブセンタモジュールは、ユーザエンゲージメントプラットフォームであり、クラウドインフラストラクチャシステム100において人々と情報とのコネクティビティを与えるための機能を含む。

0089

特定の実施例では、ミドルウェアアプリケーション(Middleware Application:MA)コネクタ618は、ミドルウェアアプリケーションサービスをプロビジョニングするために、クラウドインフラストラクチャシステム100におけるVABモジュール502と遣り取りする。NUVIAQコネクタ620は、Javaサービスをプロビジョニングするために、VABモジュール502と遣り取りする。IDMコネクタ622は、クラウドインフラストラクチャシステム100においてサービスおよびリソースにサブスクライブするユーザにアイデンティティおよびアクセス管理を提供するために、IDMモジュール200と遣り取りする。バーチャル・アセンブリ・ビルダ(VAB)コネクタ624は、完全な複数層アプリケーション環境を構成およびプロビジョニングするために、クラウドインフラストラクチャシステム100におけるVABモジュール502と遣り取りする。プラグインコネクタ626は、クラウドインフラストラクチャシステム100におけるコンポーネントを管理およびモニタリングするために、EMモジュール208と遣り取りする。HTTPサーバコネクタ628は、クラウドインフラストラクチャシステム100においてユーザに接続サービスを提供するために、PaaSプラットフォームにおける1つ以上のウェブサーバと遣り取りする。

0090

SDIモジュール206におけるSDIモニタリングモジュール606は、Java管理拡張(Java Management Extensions:JMX)要求を受取るためのインバウンドインターフェースを提供する。また、SDIモニタリングモジュール606は、クラウドインフラストラクチャシステム100においてアプリケーション、システムオブジェクトおよび装置を管理およびモニタリングするためのツールも提供する。SDIデータアクセスモジュール608は、Javaデータベースコネクティビティ(Java Database Connectivity:JDBC)要求を受取るためのインバウンドインターフェースを提供する。SDIデータアクセスモジュール608は、クラウドインフラストラクチャシステム100において、データアクセスをサポートし、オブジェクト関係マッピング、javaトランザクションAPIサービス、データアクセスオブジェクトおよび接続プーリングを提供する。SDI共通ライブラリモジュール610は、SDIモジュール206におけるモジュールのための構成サポートを提供する。

0091

上記の図6の実施例は、本発明の実施例に係るSDIモジュールにおけるモジュールを記載している。図7Aは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIモジュールのモジュールによって実行され得る処理を示す簡略化されたフローチャート700を示す。図7Aに示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図7Aに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図7Aに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図7Aに示される処理は、図6に詳細に示されるSDIモジュール206における1つ以上のモジュールによって実行され得る。

0092

702において、サブスクリプションオーダーに関連付けられたビジネスプロセスが受取られる。一実施例では、SDIモジュール206におけるSDI−WSモジュール600は、サブスクリプションオーダーに関連付けられたビジネスプロセスにおける1つ以上のステップをビジネスプロセスエクセキュータ316から受取る。704において、ビジネスプロセスにおける各ステップは、サブスクリプションオーダーのためのリソースをプロビジョニングするための一連のタスクに変換される。一実施例では、SDIモジュール206におけるSDIタスクマネージャモジュール604は、SDIコネクタモジュール612のサービスを利用することによって、ビジネスプロセスにおいて規定された各ステップを一連のタスクに変換する。706において、サブスクリプションオーダーは、一連のタスクに基づいてプロビジョニングされる。一実施例では、図6に示されるように、SDIコネクタモジュール612は、サブスクリプションオーダーにおけるサービスのためのリソースをプロビジョニングするために、SDIタスクマネージャモジュール604によって規定されるタスクのデプロイメントに対処するための1つ以上のコネクタを含む。

0093

図6に関して上記したように、SDIタスクマネージャモジュール604は、SDIコネクタモジュール612のサービスを利用することによって、ビジネスプロセスにおいて規定された各ステップを一連のタスクに変換し、SDIコネクタモジュール612は、オーダー要求に関連する1つ以上のサービスをプロビジョニングするために、SDIタスクマネージャモジュール604によって規定されるタスクのデプロイメントに対処するための1つ以上のコネクタを含んでいてもよい。コネクタのうちの1つ以上は、特定のサービスタイプに特有のタスクに対処することができ、他のコネクタは、さまざまなサービスタイプにわたって共通のタスクに対処することができる。一実施例では、SDIコネクタモジュール612は、オーダー要求に関連するサービスおよびリソースをプロビジョニングするためにクラウドインフラストラクチャシステム100における外部モジュール(図5に図示)のうちの1つ以上と遣り取りする一組のコネクタ(ラッパーAPI)を含む。例えば、NUVIAQコネクタ620は、JavaサービスをプロビジョニングするためにVABモジュール502と遣り取りする。

0094

図7Bは、本発明の実施例に係るNuviaqシステム710および他のクラウドインフラストラクチャシステムとのその関係の高レベルアーキテクチャを示す簡略ブロック図を示す。図7Bに示されるNuviaqシステム710は、図7Bに示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図7Bに示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、Nuviaqシステム710は、図7Bに示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。

0095

特定の実施例では、Nuviaqシステム710は、PaaSオペレーションをオーケストレートするためのランタイムエンジンを提供するように構成され得る。Nuviaqシステム710は、他の製品およびサービスとの統合を容易にするためにウェブサービスAPIを提供し得る。また、Nuviaqシステム710は、システムプロビジョニング、アプリケーションデプロイメントおよび関連付けられたライフサイクルオペレーションにおける複雑なワークフローのためのサポートを提供し、管理およびモニタリングソリューションと統合する。

0096

図7Bに示される実施例では、Nuviaqシステム710は、Nuviaqプロキシ712と、Nuviaqマネージャ714と、Nuviaqデータベース716とを備える。特定の実施例では、Nuviaqマネージャ714は、Nuviaqシステム710へのエントリポイントを提供し、ウェブサービスAPIを介してPaaSオペレーションへの安全なアクセスを提供する。内部では、Nuviaqマネージャ714は、データベースにおいてシステム状態を追跡し、ワークフローエンジン上でのジョブの実行を制御する。パブリッククラウドでは、Nuviaqマネージャ714は、プロビジョニングオペレーションおよびデプロイメントオペレーションをそれぞれ駆動するために、テナントプロビジョニングシステム(SDI206)およびテナントコンソールによってアクセスされ得る。

0097

一実施例では、Nuviaqマネージャ714は、内部ワークフローエンジンを介して非同期にジョブを実行する。ジョブは、所与のPaaSワークフローに特有のアクションのシーケンスであってもよい。アクションは、順番に実行されてもよく、任意のステップにおける障害は、結果としてジョブ全体の障害になる。多くのワークフローアクションは、EMコマンドラインインターフェース(cli)などのワークフローに関連する外部システムに権限を委任する。一実現例では、Nuviaqマネージャ714アプリケーションは、ファイアウォール内で実行される関連付けられたHTTPサーバ(例えばオラクルHTTPサーバまたはOHS)インスタンスを有する2ノードウェブロジッククラスタにおいてホストされ得る。

0098

特定の実施例では、Nuviaqプロキシ712は、NuviaqAPIへのパブリックアクセスポイントである。一実施例では、パブリックAPIのみがここで公開され得る。プロキシ712によって受取られた要求は、Nuviaqマネージャ714に送られ得る。一実施例では、Nuviaqプロキシ712はファイアウォールの外側で実行される一方、マネージャ714はファイアウォール内で実行される。一実現例では、Nuviaqプロキシ712アプリケーションは、ファイアウォールの外側で実行されるウェブロジッククラスタ上で実行される。

0099

特定の実施例では、Nuviaqデータベース716は、プラットフォームインスタンス、デプロイメント計画、アプリケーション、ウェブロジックドメイン、ジョブ、アラーとなどであるがこれらに限定されないさまざまなドメインエンティティを追跡する。必要に応じて、主キーサービスデータベース整合させられてもよい。

0100

一実施例では、プラットフォームインスタンス718は、所与のテナントのためのウェブロジックサービスに必要な全てのリソースを含んでいてもよい。

0101

Nuviaqシステム710は、ウェブロジッククラウドサービスによって使用されるワークフローを実行するために、クラウドインフラストラクチャシステム100のさらなるシステムに依拠し得る。これらの依存性は、SDI206、IDM200、ウイルススキャンシステム、サービスデータベース、CRMインスタンスなどへの依存性を含んでいてもよい。例えば、Nuviaqシステム710は、SDI206におけるアセンブリデプロイヤによって実行される機能に依存し得る。一実施例では、アセンブリデプロイヤは、OVAB(オラクルバーチャル・アセンブリ・ビルダ)およびOVM(オラクル仮想マシン)とのインタラクションを管理するためのシステムである。Nuviaqシステム710によって使用されるアセンブリデプロイヤの機能は、アセンブリをデプロイするための機能、アセンブリをアンデプロイするための機能、アセンブリデプロイメントを説明するための機能、アプライアンスをスケーリングするための機能などを含み得るが、これらに限定されるものではない。一実現例では、Nuviaqシステム710は、ウェブサービスAPIを介してアセンブリデプロイヤにアクセスする。

0102

特定の実施例では、セキュリティポリシは、アプリケーションにデプロイされる前に特定のアーティファクトがウイルススキャンされることを必要とし得る。クラウドインフラストラクチャシステム100は、この目的でウイルススキャンシステムを提供し得て、パブリッククラウドの複数のコンポーネントのためのサービスとしてスキャンを提供する。

0103

特定の実施例では、パブリッククラウドインフラストラクチャは、テナント(例えば顧客)およびそれらのサービスサブスクリプションについての情報を含むサービスデータベースを維持し得る。Nuviaqワークフローは、テナントもサブスクライブする他のサービスに対するクライアントとしてウェブロジックサービスを適切に構成するために、このデータにアクセスし得る。

0104

Nuviaqシステム710は、そのセキュリティ統合のためにIDM200に依存し得る。特定の実施例では、Javaサービスインスタンスは、CRMインスタンスに関連付けられ得る。当該関連付けにより、Javaサービスインスタンスにデプロイされたユーザアプリケーションは、ウェブサービスコールを介してCRMインスタンスにアクセスできる。

0105

Nuviaqシステム710によって提供されるサービスをさまざまなエンティティが使用し得る。Nuviaqシステム710のこれらのクライアントは、プラットフォームインスタンス上でアプリケーションを管理するために顧客がアクセスし得る管理サーバ(例えばオラクル管理サーバ)ベースのユーザインターフェースであるテナントコンソールと、アプリケーションライフサイクル管理オペレーションへのアクセスを提供するように拡張されたオラクルIDE(JDeveloper、NetBeansおよびOEPE)などのいくつかのIDEと、プラットフォームインスタンス上のライフサイクルオペレーションにアクセスするために利用可能な1つ以上のコマンドラインインターフェース(Command Line Interface:CLI)とを含んでいてもよい。

0106

Nuviaqシステム710についてのプロビジョニング使用事例、すなわちプロビジョニングプラットフォームインスタンスの使用事例は、NuviaqAPIの作成プラットフォームインスタンスオペレーションによって実現される。クラウドインフラストラクチャシステム100の文脈では、Nuviaqシステムに対するサービスインスタンスは、Nuviaqプラットフォームインスタンスに対応する。プラットフォームインスタンスは、このインスタンスに関連する全ての後続のオペレーション上で使用される独自の識別子を割り当てられる。作成プラットフォームインスタンスアクションに提供されるプラットフォームデプロイメント記述子により、テナントのサブスクリプション要件を満たすようにプラットフォームインスタンスの構成を修正するプロパティを設定することができる。これらのプロパティは、例えば以下を含んでいてもよい:
プロパティ#1:oracle.cloud.service.weblogic.size
値:ベーシック、標準、エンタープライズ
説明:サブスクリプションタイプを規定する。これは、サーバの数、データベース限度およびサービス設定の質に影響を及ぼす。
プロパティ#2:oracle.cloud.service.weblogic.trial
値:真、
説明:これがトライアルサブスクリプションであるか否かを示す。
プロパティ#3:oracle.cloud.service.weblogic.crm
値:CRMサービスID
説明:このウェブロジックサービスインスタンスに関連付けられるべきCRMサービスを特定する。

0107

図7Cは、本発明の実施例に係るNuviaqシステムを使用するプロビジョニングプロセスのステップを示す例示的なシーケンス図を示す。図7Cに示されるシーケンス図は、一例に過ぎず、限定的であるよう意図されるものではない。

0108

インストール/更新アプリケーションの使用事例、すなわちインストールアプリケーションオペレーションは、アプリケーションアーカイブがパブリッククラウドのセキュリティ要件を満たすことを確認した後に、実行中のウェブロジックサーバにアプリケーションをデプロイする。一実施例では、インストールアプリケーションアクションに提供されるアプリケーションデプロイメント記述子により、テナントのサブスクリプション要件を満たすようにアプリケーションの構成を修正するプロパティを設定することができる。これらのプロパティは、例えば以下を含んでいてもよい:
プロパティ:oracle.cloud.service.weblogic.state
値:実行、停止
説明:デプロイメント後のアプリケーションの初期状態を規定する。

0109

図7Dは、本発明の実施例に係るNuviaqシステムを使用するデプロイメントプロセスのステップを示す例示的なシーケンス図を示す。図7Dに示されるシーケンス図は、一例に過ぎず、限定的であるよう意図されるものではない。

0110

図2に戻って、特定の実施例では、協働して動作するTAS204およびSDI206は、クラウドインフラストラクチャシステム100によって提供される一組のサービスから顧客によってオーダーされた1つ以上のサービスのためにリソースをプロビジョニングすることを担当する。例えば、一実施例では、データベースサービスをプロビジョニングするために、自動化されたプロビジョニングフローは、有料サブスクリプションについては以下のようなものであってもよい:
(1)顧客は、ストアUI210を介して、サービスの有料サブスクリプションのオーダーを行う。
(2)TAS204がサブスクリプションオーダーを受取る。
(3)サービスが利用可能であると、TAS204は、SDI206のサービスを使用することによってプロビジョニングを開始する。TAS204は、ビジネスプロセスのオーケストレーションを実行してもよく、関連のビジネスプロセスを実行してオーダーのプロビジョニング局面を完了する。一実施例では、TAS204は、プロビジョニングに関わるステップをオーケストレートして、ライフサイクルオペレーションを処理するために、BPELビジネスプロセス実行言語:Business Process Execution Language)プロセスマネージャを使用し得る。
(4)一実施例では、データベースサービスをプロビジョニングするために、SDI206は、要求を行っている顧客にスキーマを関連付けるようにCLOUD_UIにおけるPLSQLAPIを呼出し得る。
(5)顧客へのスキーマの関連付けが成功した後、SDIはTASに知らせて、TASは、データベースサービスが現在顧客によって使用可能な状態にあるという通知を顧客に送る。
(6)顧客は、(例えばcloud.oracle.comなどのURALを使用して)クラウドインフラストラクチャシステム100にログインし、サービスを起動し得る。

0111

いくつかの実施例では、顧客は、トライアルベースでサービスにサブスクライブすることも許可されてもよい。例えば、このようなトライアルオーダーは、(例えばcloud.oracle.comを使用して)クラウドUI212を介して受取られ得る。

0112

特定の実施例では、クラウドインフラストラクチャシステム100は、顧客またはテナント同士の間で基本的なハードウェアおよびサービスインスタンスが共有されることを可能にする。例えば、データベースサービスは、一実施例では、図7Eに示されるようにプロビジョニングされ得る。図7Eは、複数のExadata演算ノード730および732を示し、演算ノード730および732の各々が、データベースサービスのためにプロビジョニングされたデータベースインスタンスを提供する。例えば、演算ノード730は、データベースサービスのためのデータベースインスタンス734を提供する。各々のExadata演算ノードは、複数のデータベースインスタンスを有していてもよい。

0113

特定の実施例では、各データベースインスタンスは、複数のスキーマを備えていてもよく、当該スキーマは、異なる顧客またはテナントに関連付けられてもよい。例えば、図7Eでは、データベースインスタンス734は、2つのスキーマ736および738を提供し、スキーマ736および738の各々は、それ自体のテーブルを有する。スキーマ736は、データベースサービスにサブスクライブする第1の顧客またはテナントに関連付けられ得て、スキーマ738は、データベースサービスにサブスクライブする第2の顧客またはテナントに関連付けられ得る。各テナントは、完全に切離されたスキーマを得る。各スキーマは、関連付けられたテナントについてのテーブル、ビュー、格納されたプロシージャトリガなどを含むデータベースオブジェクトを管理できる容器のように動作する。各スキーマは、1つの専用のテーブル領域を有し得て、各々のテーブル領域は、1つのデータファイルを有する。

0114

このように、単一のデータベースインスタンスは、複数のテナントにデータベースサービスを提供することができる。これは、基本的なハードウェアリソースの共有を可能にするだけでなく、テナント同士の間でのサービスインスタンスの共有も可能にする。

0115

特定の実施例では、このようなマルチナンシシステムは、IDM200によって容易になり、これにより、各々がそれ自体の別個のアイデンティティドメインを有する複数の別個の顧客が、クラウドにおいて共有されるハードウェアおよびソフトウェアを使用することが有利に可能になる。その結果、各顧客が自身の専用のハードウェアまたはソフトウェアリソースを有する必要がなくなり、場合によっては、特定の時点で一部の顧客によって使用されていないリソースが、他の顧客によって使用可能になり、それによってそれらのリソースが無駄になることを防止する。例えば、図7Eに示されるように、データベースインスタンスは、各々がそれぞれのアイデンティティドメインを有する複数の顧客に供給されることができる。各々のこのようなデータベースサービスインスタンスは、多くの別個のアイデンティティドメインの中で共有される単一の物理的なマルチテナントデータベースシステムの別個の抽象化またはビューであり得るが、各々のこのようなデータベースサービスインスタンスは、各々の他のデータベースサービスインスタンスが有するものとは別個の、場合によっては異なるスキーマを有することができる。したがって、マルチテナントデータベースシステムは、顧客指定データベーススキーマとそれらのデータベーススキーマが関係するアイデンティティドメインとの間のマッピングを格納し得る。マルチテナントデータベースシステムは、特定のアイデンティティドメインのためのデータベースサービスインスタンスに、当該特定のアイデンティティドメインにマッピングされるスキーマを使用させ得る。

0116

また、マルチテナンシは、Javaサービスなどの他のサービスに拡張可能である。例えば、複数の顧客は、それぞれのアイデンティティドメイン内に配置されたJAVAサービスインスタンスを有し得る。各々のこのようなアイデンティティドメインは、ハードウェアの仮想的な「スライス」と見なされることができるJAVA仮想マシンを有し得る。一実施例では、ジョブモニタリングサービス(例えばハドソン)は、各々の別個のアイデンティティドメインがJAVAエンタープライズ版プラットフォームのそれ自体の別個の仮想的な「スライス」を有することを可能にするように、クラウドにおけるJAVAエンタープライズ版プラットフォーム(例えばオラクルウェブロジック)と組み合わせられてもよい。このようなジョブモニタリングサービスは、例えばオペレーティングシステムの時間ベースジョブスケジューラによって実行されるソフトウェアプロジェクトまたはジョブの構築などの繰返されるジョブの実行をモニタリングし得る。このような繰返されるジョブは、ソフトウェアプロジェクトの連続的な構築および/またはテストを含んでいてもよい。さらにまたは代替的に、このような繰返されるジョブは、ジョブモニタリングサービスが実行されるマシンから離れたマシン上で実行されるオペレーティングシステム起動ジョブの実行のモニタリングを含んでいてもよい。

0117

上記のように、1つ以上のサービスについてのサブスクリプション要求を顧客から受取ると、クラウドインフラストラクチャシステム100は、要求されたサービスを提供するように構成されるリソースをプロビジョニングする。サブスクリプション要求の一部として、顧客は、特定の数のリソースを要求し得る。例えば、顧客は、100人のユーザのためにCRMサービスを要求してもよく、またはデータベースサービスのために5GBのストレージを要求してもよい、などである。要求されたサービスのためのリソースがプロビジョニングされると、多くの場合、顧客は、当該サービスにおいてリソースを過剰使用し得る。例えば、CRMサービスの使用中にサブスクリプションオーダーが100人のユーザのためにCRMサービスを要求する間に、顧客は、120人のユーザをサポートするために当該サービスを使用してもよく、これは20人のユーザの過剰使用(超過と称される)に相当する。

0118

特定の実施例では、サービスのプロビジョニング、管理および追跡の自動化の一部として、クラウドインフラストラクチャシステム100は、このような超過を追跡する。別の例として、5GBの「ストレージ」リソース使用限度および1GBの「データ転送」リソース使用限度を含むサービスレベルでクラウドインフラストラクチャシステム100によって提供されるデータベースサービスに顧客がサブスクライブすることを考える。クラウドインフラストラクチャシステム100によって提供されるサービスの使用中、顧客によって使用される実際のリソースは、ストレージに9GBおよびデータ転送に2GBであり得て、その結果、サービスの過剰使用が生じる。特定の実施例では、クラウドインフラストラクチャシステム100は、顧客によって使用される各々のこのようなリソースの超過を演算および追跡する。

0119

特定の実施例では、超過関連の処理は、クラウドインフラストラクチャシステム100のTASコンポーネント204によって実行される。一実施例では、TASコンポーネント204は、顧客のサブスクリプションオーダーにおける1つ以上のサービスのためにプロビジョニングされた1つ以上のリソースの超過を演算および追跡するように構成される超過フレームワーク322を提供する。一実施例では、リソースの超過の演算は、当該リソースについての超過ユニットの数を演算すること、超過のユニット当たりの価格を求めること、次いでリソースの総超過コストを演算することを含む。

0120

図8は、本発明の一実施例に係るTASコンポーネント204の一部であり得る超過フレームワーク322を示す高レベルブロック図である。図8に示される実施例では、超過フレームワーク322は、メタデータ定義モジュール802と、リソース使用演算モジュール804と、超過演算モジュール806と、価格決定モジュール808とを含む。さらに、図8に示されるように、超過フレームワーク322は、EMモジュール208、オーダーデータベース222およびオーダー管理モジュール214と対話し得る。これらのコンポーネントは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。図8に示される超過フレームワーク800のコンポーネントは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。

0121

特定の実施例では、上記のように、EMモジュール208は、クラウドインフラストラクチャシステム100によって提供されるさまざまなサービスについてのリソース使用統計を収集するように構成される。使用統計は、サービス当たり、顧客当たり、サブスクリプションオーダー当たりなどをベースに演算され得る。EMコンポーネント208によって収集されるリソース使用統計は、使用されるストレージの量、転送されるデータの量、サービスによってサポートされるユーザの数、サービスを使用して(例えばjavaサービスを使用して)デプロイされるアプリケーションの数などを含み得るが、これらに限定されるものではない。上記のリソースのタイプおよび関連付けられた使用統計は、一例として提供されているに過ぎず、本発明の範囲を限定することを意図したものではないということが理解されるべきである。

0122

特定の実施例では、リソース使用演算モジュール804は、EMコンポーネント208によって収集されたリソース使用統計を受取るように、またはリソース使用統計にアクセスするように構成される。アクセスされた情報に基づいて、リソース使用演算モジュール804は、サブスクリプション当たりの総リソース使用を求めるように構成される。サブスクリプションについて、リソース使用演算モジュール804は、サブスクリプションオーダーにおける各サービスによって使用されるリソースを決定し得る。一実施例では、リソース使用演算モジュール804は、収集開始時刻および収集終了時刻によって規定される時間間隔にわたるサービスのための各リソースの総リソース使用を求める。

0123

表1は、データベースサービスコンポーネントおよびJavaサービスコンポーネントによって規定される2つのサービスについてサブスクリプションをオーダーする(サブスクリプションID「1」によって特定される)サブスクリプションオーダーについてリソース使用演算モジュール804によって求められる総リソース使用情報を示す。例えば、データベースサービスコンポーネントでは、使用情報は、ストレージ使用および実行されるデータ転送の量で求められる。Javaサービスコンポーネントでは、求められる情報は、メモリ使用と、Javaサービスを使用してデプロイされるアプリケーションの数とを備える。各サービスのための各リソースについて、情報が収集された、開始時刻および終了時刻によって特徴付けられる期間も示される。この期間は、収集期間とも称される。表1の最後の列は、各リソースについての「総リソース使用」を示す。この列におけるリソースについての値は、収集期間にわたって使用されるリソースの合計量を示す。

0124

0125

収集期間にわたってリソースについて収集されたリソース使用情報に基づいてリソースについて「総リソース使用」を演算する方法は、リソース特有のものであり、リソースごとに異なっていてもよい。したがって、特定の期間にわたってリソースについて演算される合計使用値は、リソースに依存し得る。以下に示される表2は、リソースのいくつかの例およびリソースについて総リソース使用を演算する方法を特定する。

0126

0127

特定の実施例では、リソース使用演算モジュール804によって求められる総リソース使用情報は、次いで、リソースの超過が生じたか否かを判断するために使用され得る。図8に示される実施例では、超過の演算は、超過演算モジュール806によって実行される。超過演算の一部として、超過演算モジュール806は、サブスクリプションオーダーについてのリソース使用情報をリソース使用演算モジュール804から受取り得る。サブスクリプションオーダーについて超過演算モジュール806によって受取られる情報は、例えば表1に示されるようなものであってもよい。

0128

超過を求めるために、超過演算モジュール806は、オーダーデータベース222に格納され得る、サブスクリプションオーダーに関連する情報も受取る。例えば、図8に示されるように、メタデータ定義モジュール802は、サブスクリプションオーダーについてのメタデータ情報を抽出し、当該情報を超過演算モジュール806に提供するように構成され得る。表3は、メタデータ定義モジュール802によって超過演算モジュール806に提供される例示的なメタデータ情報を示す。一実施例では、表3に示されるメタデータ情報は、サブスクリプションオーダーにおけるさまざまなサービスコンポーネントに割り当てられることができるサービスレベル、顧客レベル、リソースタイプおよびリソース使用限度のさまざまな組み合わせを含む。

0129

0130

サービスコンポーネントは、顧客のサブスクリプションオーダーにおいて要求されるサービスのタイプに関連する。例としては、CRMサービス、Javaサービス、データベースサービスなどが挙げられるが、これらに限定されるものではない。サービスレベルは、サービスコンポーネントに割り当てられるべき特定のリソースのレベルを規定する。例えば、一実現例では、サービスレベルは、ベーシックサービスレベル、標準サービスレベルおよびエンタープライズサービスレベルを含んでいてもよい。ベーシックサービスレベルは、ストレージ、データ転送、ユーザの数、メモリまたはデプロイされるアプリケーションの数などの最小レベルのリソースを規定し得る。標準サービスレベルおよびエンタープライズサービスレベルは、さらなるまたは増大された数のリソースを規定し得る。一実施例では、特定のサービスは、当該サービスに割り当てられるさまざまなリソースのためにさまざまなサービスレベルを規定し得る。例えば、表1に示されるように、データベースサービスは、「ストレージ」リソースのために「ベーシック」サービスレベルを規定し、「データ転送」リソースのために「エンタープライズ」サービスレベルを規定し得る。

0131

顧客レベルは、サブスクリプション要求を行う顧客の優先度を規定する。一例では、優先度は、顧客のサービスレベル合意書(SLA)によって規定されるようにクラウドインフラストラクチャシステム100が顧客に保証するサービスの質に基づいて決定され得る。一例では、さまざまな顧客レベルは、ベーシックレベル、シルバーレベルおよびゴールドレベルを含む。一実施例では、サブスクリプションオーダーは、特定のサービスおよび当該サービスに関連付けられた特定のリソースタイプのためにさまざまな顧客レベルを規定し得る。例えば、顧客は、データベースサービスのために「ベーシック」顧客レベルを有し、Javaサービスのために「シルバー」顧客レベルを有し得る。

0132

リソースタイプは、特定のサービスレベルおよび顧客レベルを有するサービスに割り当てられるリソースのタイプを規定する。表3に示される例では、データベースサービスに割り当てられるリソースタイプは、ストレージおよびデータ転送を含んでいてもよく、javaサービスに割り当てられるリソースタイプは、メモリおよびデプロイされるアプリケーションの数を含んでいてもよい。さらに、サービスのための各サービスレベルおよび顧客レベルは、関連付けられたリソース使用限度を有する。当該リソース使用限度は、サービスに関連付けられたサービスレベルおよび顧客レベルに割り当てられる特定のリソースタイプのリソースの量を指す。例えば、表3に示されるように、「ベーシック」サービスレベルおよび顧客のための「ベーシック」顧客レベルでデータベースサービスに割り当てられるストレージリソースのリソース使用限度は、5GBである。

0133

特定の実施例では、超過を求めるために、超過演算モジュール806は、サブスクリプションオーダーにおけるサービスに関連する1つ以上の超過バンドもオーダーデータベース222から受取る。超過バンドは、サービスに関連付けられたサービスレベルおよび顧客レベルに割り当てられるリソース使用限度以上に特定のサービスレベルおよび顧客レベルでのサービスによって利用可能なさらなるリソースの量を規定する。

0134

特定の実施例では、超過バンドは、超過ユニットのサイズを規定する。一例では、顧客は、各々の超過バンドごとに1つの超過ユニットを請求される。例えば、データベースサービスのためのストレージリソースに割り当てられる超過バンドは2GBであり、データベースサービスに割り当てられるストレージリソースのリソース使用限度は5GBであると仮定する。もし顧客が6または7GBのストレージリソースを利用すると、顧客は1つの超過ユニットを請求される。なぜなら、使用が両方とも同一の超過バンド内に入っているからである。しかし、もし顧客が8GBのストレージリソースを利用すると、顧客は2つの超過ユニットを請求される。なぜなら、この使用は次の超過バンドに入るからである。

0135

一実施例では、メタデータ定義モジュール802は、サブスクリプションオーダーのサービスコンポーネントに適用可能な超過バンドに関連する情報を抽出し、この情報を超過演算モジュール806に提供するように構成され得る。表4は、データベースサービスをオーダーする顧客のサブスクリプションオーダーについてメタデータ定義モジュール802によって超過演算モジュール806に提供される例示的な超過バンドを示す。

0136

0137

表4に示されるように、一実施例では、データベースサービスのためのストレージリソースについて規定されるリソース使用限度を超えて、複数の超過バンドが規定され得る。表4に示されるバンドは全て、データベースサービスおよびストレージリソースタイプのためのものである。例えば、「ベーシック」サービスレベルおよび「ベーシック」顧客レベルでは、(表3から得られる)5GBのリソース使用限度を超えて2GBまでの量の第1の超過バンドが、ストレージリソースのために規定され得る。「ベーシック」サービスレベルおよび「シルバー」顧客レベルでは、5GBのリソース使用限度を超えて4GBまでの量の第2の超過バンドが、ストレージリソースのために規定され得る。「標準」サービスレベルおよび「ベーシック」顧客レベルでは、5GBの使用限度を超えて5GBまでの量の超過バンドが、ストレージリソースのために規定され得る。「エンタープライズ」サービスレベルおよび「ベーシック」顧客レベルでは、5GBの使用限度を超えて10GBまでの超過バンドが規定され得る。表3および表4に記載されるメタデータ情報は、一例として提供されているに過ぎず、本発明の範囲を限定することを意図したものではないということが理解されるべきである。当業者は、多くの変更例、変形例および代替例を認識するであろう。

0138

超過演算モジュール806は、顧客によって使用される1つ以上のリソースの超過を演算するために、リソース使用演算モジュール804から受取られる総リソース使用情報およびメタデータ定義モジュール802から受取られるメタデータ情報を利用する。一実施例では、超過演算モジュール806は、各リソースごとに超過ユニットの数を演算し、各リソースごとに総超過コストを演算することによって、超過を演算する。一実施例では、サブスクリプションオーダーにおける1つ以上のサービスの使用中に顧客によって利用される1つ以上のリソースについての超過ユニットの数は、以下のように(例えば表1からの)総リソース使用を、サービスに関連付けられた特定のサービスレベルおよび顧客レベルでのリソースの(例えば表2からの)リソース使用限度および(例えば表4からの)超過バンドと比較することによって演算される。

0139

総リソース使用がリソースのリソース使用限度内であると判断されると、リソースについて超過量は生じなかったと判断される。総リソース使用がリソース使用限度を超えると、超過が生じた時間間隔が(例えば表1から)特定される。次いで、当該時間間隔中の所与のサービスレベルおよび顧客レベルでのリソースについての超過ユニットの数が、以下の式(1)に示されるように求められる:
超過ユニットの数=[(総リソース使用−使用限度)/超過バンド]の上限 (1)。

0140

次いで、総超過コストが以下の式(2)に示されるように演算される:
総超過コスト=超過ユニットの数*超過ユニット当たりの価格 (2)。

0141

一実施例では、超過演算モジュール806は、リソースに関連付けられた特定のサービスレベルおよび顧客レベルでのリソースについての超過ユニット当たりの価格を求めるために、価格決定モジュール808と対話する。一実施例では、価格決定モジュール808は、顧客によって利用されるさまざまなリソースについての超過期間における超過ユニット当たりの価格に関連する情報をオーダーデータベース222から取得し得る。表5は、データベースサービスおよびjavaサービスをオーダーするサブスクリプションオーダーについてオーダーデータベース222によって価格決定モジュール806に提供される例示的な超過ユニット価格を示す。

0142

0143

一例では、リソースについての超過ユニット当たりの価格は、顧客によって利用されるリソースの量以上に格納または転送される各々の追加のGBの固定費として演算されてもよい。別の例では、超過ユニット当たりの価格は、超過バンドに基づいて決定されてもよい。例えば、超過バンドに基づいて、(2GB〜4GB)の範囲内に入る超過を有するリソースについての超過ユニット当たりの価格は同一であり得るが、4GB以上に格納または転送される各々の追加のGBについて、超過ユニット当たりより高い価格が決定されてもよい。

0144

特定の実施例では、価格決定モジュール808は、課金サイクルの中のさまざまな超過期間におけるリソースの総超過コストも決定し得る。一実施例では、超過期間は、リソースの超過が生じた(例えば表1からの)時間間隔に基づいて演算される。一例として、超過期間が1ヶ月であり、課金サイクルが3ヶ月ごとに実行される場合、価格決定モジュール808は、課金サイクルにおける3つの超過期間の各々についてリソースの総超過コストを決定する。課金期間の総超過コストは、課金サイクルにおける全ての超過期間についての総超過コストの合計である。超過期間の継続期間は、より細かいレベルまたはより粗いレベルの粒度で超過演算をサポートするように変更可能である。課金サイクルの間に複数の超過期間を決定することは、サブスクリプションについてのサービスレベルおよび顧客レベルが課金サイクルにわたって変動する可能性があるという事実を考慮に入れるということが理解されるべきである。例えば、顧客は、課金サイクルの最中により高いサービスレベルにアップグレードされたかもしれない。アップグレードされたサービスレベルが課金サイクル全体で使用される場合、顧客は、アップグレードの前に生じた超過については正規の価格以下の請求がなされ得る。

0145

一例として、顧客のサブスクリプションオーダーにおけるデータベースサービスに割り当てられる「ストレージ」リソースを考える。この例では、2013年1月22日午前9時〜2013年1月22日午前10時の時間間隔中の総リソース使用が(例えば表1から求められる)6GBであると判断され、「ベーシック」サービスレベルでのリソース使用限度が(例えば表3から求められる)5GBであると判断され、「ベーシック」サービスレベルおよび顧客レベルでのリソースの超過バンドが(例えば表4から求められる)2GBであると判断されることを考える。超過演算モジュール806は、以下の式(3)に示されるように、当該時間間隔中の「ベーシック」サービスレベルおよび顧客レベルでの「ストレージ」リソースについての超過ユニットの数を演算する:
超過ユニットの数=[(6−5)/2]の上限=[0.5]の上限=1つの超過ユニット (3)。

0146

また、当該時間間隔中の「ベーシック」サービスレベルおよび顧客レベルでの「ストレージ」リソースについての超過ユニット当たりの価格が$100であると価格決定モジュール808によって判断されることを考える。超過演算モジュール806は、以下の式(4)に示されるように、「ベーシック」サービスレベルおよび顧客レベルでの「ストレージ」リソースについての総超過コストを演算する:
総超過コスト=1*100=$100 (4)。

0147

特定の実施例では、超過演算モジュール806は、超過ユニットの数および総超過コストをオーダー管理モジュール214に提供する。次いで、オーダー管理モジュール214は、顧客のサブスクリプションオーダーにおける1つ以上のサービスに割り当てられたリソースの超過に関する通知を顧客に送るために、サービスコンポーネント202(図2に図示)のサービスを利用し得る。一実施例では、当該通知は、サービスの各々に割り当てられたリソースの各々の超過ユニットの数および総超過コストを含む。

0148

図9Aは、クラウドインフラストラクチャシステム100において顧客のサブスクリプションオーダーにおける1つ以上のサービスに割り当てられた1つ以上のリソースの超過を演算するために超過フレームワークによって実行され得る処理を示す簡略化されたフローチャート900を示す。一実施例では、図9Aの処理は、それぞれ図8に示される超過フレームワーク322におけるモジュール802,804,806および808によって実行され得る。図9Aに示される処理900は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図9Aに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図9Aに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。

0149

902において、クラウドインフラストラクチャシステム100の顧客によってサブスクライブされた1つ以上のサービスに関連するサブスクリプションオーダー情報が格納される。一実施例では、サブスクリプションオーダー情報は、オーダーデータベース222に格納される。顧客によってサブスクライブされた1つ以上のサービスに関連する例示的なメタデータ情報は、表3および表4に示されている。

0150

904において、サブスクリプションオーダーにおいて特定されるサービスに関連付けられた1つ以上のリソースについてのリソース使用情報が求められる。一実施例では、リソース使用情報は、1つ以上のサービスに関連付けられた1つ以上のリソースに関連するリソース使用統計の収集に基づいて求められる。一実施例では、図8に示されるように、リソース使用演算モジュール804は、ある時間間隔にわたってリソースに関連付けられたリソース使用統計を合計することによって、サービスに割り当てられた各リソースの総リソース使用を求める。特定の実施例では、当該時間間隔は超過期間であり、各々の超過期間ごとに、サブスクリプションのサービスによって使用されるリソースについて表1にはいくつかの行が存在し得る。したがって、904において、これらの行は、表2においてリソースについて規定される適切な集合演算子を使用して合計される。例えば、ストレージリソースについては、これらの行の中の最大使用値が選択され、データ転送リソースについては、全ての適用可能な行にわたって使用値が合計される。

0151

906において、リソース使用情報およびサブスクリプションオーダー情報に基づいて、サービスに割り当てられた1つ以上のリソースの超過が演算される。超過の演算に関連するさらなる説明は、図9Bに詳細に示されている。

0152

908において、クラウドインフラストラクチャシステム100においてサービスを利用する顧客にリソースの超過が提供される。一実施例では、顧客のサブスクリプションオーダーにおけるサービスに割り当てられたリソースの超過に関する通知が顧客に送られる。一実施例では、当該通知は、顧客のサブスクリプションオーダーにおけるサービスの各々に割り当てられたリソースの各々についての超過ユニットの数および総超過コストを含む。

0153

図9Bは、本発明の実施例に係る1つ以上のリソースの超過を演算するために実行され得る処理を示す簡略化されたフローチャートを示す。一実施例では、図9Bに示される処理は、図9Aに示されるステップ906の実行のさらなる詳細を含む。一実施例では、図9Bに示される処理は、超過期間の間の顧客のサブスクリプションオーダーにおけるサービスに割り当てられた単一のリソースの超過を演算するためのプロセスを記載している。しかし、図9Aに示される特定の一連の処理ステップは、単一のリソースに限定されるよう意図されるものではなく、顧客のサブスクリプションオーダーにおいて要求される1つ以上のサービスのための1つ以上のリソースに適用されてもよい。

0154

910において、超過期間におけるサービスの総リソース使用が求められる。一実施例では、超過期間は、リソースの超過が生じた(例えば表1からの)時間間隔に基づいて演算される。一実施例では、総リソース使用は、表2に記録されるリソースのための適切な集合演算子を、超過期間内に入る表1に記録されるリソース使用の行に適用することによって求められる。

0155

912において、超過期間における決定されたサービスおよび顧客レベルのリソースに関連付けられたサービスレベル、顧客レベルおよび超過バンド情報が求められる。一実施例では、リソースのサービスレベル、顧客レベルおよび超過バンドは、表2および表3に格納されたメタデータ情報から求められる。

0156

914において、超過期間における特定のサービスおよび顧客レベルのリソースのリソース使用限度が(例えば表3から)求められる。

0157

916において、リソースの総リソース使用がリソースのリソース使用限度を超えたか否かが判断される。総リソース使用がリソース使用限度を超えていないと判断されると、超過が演算されないと判断され、このリソースについての処理は終了する。

0158

918において、超過期間中の特定のサービスレベルおよび顧客レベルのリソースの超過が演算される。超過の演算は、リソースの超過ユニットの数の演算を含んでいてもよい。一実施例では、超過ユニットの数は、図8における式(1):超過ユニットの数=(使用全体−使用限度)/超過バンドに示されるように演算される。別の実施例では、超過の演算は、リソースの総超過コストの演算を含む。一実施例では、総超過コストは、図8における式(2):総超過コスト=超過ユニットの数*超過ユニットの価格に示されるように演算される。

0159

顧客からのサブスクリプションオーダーが受取られると、クラウドインフラストラクチャシステム100は、オーダーによって要求されたサービスが顧客によって使用可能になる前にいくつかの処理ステップを実行しなければならない。例えば、これらの処理ステップは、オーダーを検証するステップを含み得て、顧客から追加の情報を得るステップ、1つ以上の要求されたサービスを提供するためにリソースをプロビジョニングするステップ、顧客データのセキュリティを保証するためにアイデンティティドメインを作成するステップなどをさらに必要とし得る。これらの処理ステップのうちの多くは、実行するのにしばらく時間がかかる可能性がある。しかし、一般に、顧客は、オーダーされたサービスをできる限り速やかに使用し始めたいと考える。特定の実施例では、クラウドインフラストラクチャシステム100によって提供されるサービスのプロビジョニング、管理および追跡を自動化するための技術は、サブスクリプションオーダーの処理に関わる全てのステップが完了するまで顧客が待つ必要なく、サブスクリプションオーダーを行った際に、サブスクリプションオーダーにおいて要求されるサービスにアクセスする機能を顧客に提供することを含む。

0160

一実施例では、サブスクリプションオーダーが受取られた後に実行されるステップ全体は、2つのカテゴリに分類される:
(1)オーダーされたサービスを提供することができ、オーダーされたサービスを顧客が利用できるようになる前に実行される必要がある最低限の1つ以上のステップを含む「一次ステップ」、および
(2)サブスクリプションオーダーの受取りに応答して実行されるが、最初は顧客がサービスを利用できるようにするために不可欠でないステップを含む「二次ステップ」。したがって、サブスクリプションオーダーに応答して実行されるステップ全体から、一次ステップとして分類されないいかなるステップも、二次ステップとして分類される。一次ステップは、二次ステップに依存しない。

0161

特定の実施例では、一次ステップのみを備えるサブスクリプションオーダーのために一次オーダーワークフローが規定される。二次ステップを備える1つ以上の二次オーダーワークフローが規定され得る。サブスクリプションオーダーを受取ると、当該オーダーについて実行されるべき処理に関連する1つ以上のワークフローの組が特定される。当該ワークフローの組は、サブスクリプションオーダーについて実行されるべき処理に関連する一次オーダーワークフローおよび1つ以上の二次オーダーワークフローを含む。一実施例では、一次オーダーワークフローにおける一次ステップを実行すると、顧客は、サブスクリプションオーダーにおいて要求されるサービスへのアクセスを提供される。顧客は、オーダーされたサービスに顧客がアクセスできるようになる前に全ての二次ステップの処理が完了するまで待つ必要はない。二次ステップは、サブスクリプションオーダーの処理を完了するために、可能であれば一次ステップと同時に実行されてもよく、または一次ステップが実行された後に実行されてもよい。

0162

特定の実施例では、サブスクリプションオーダーについての一次ステップは、サブスクリプションオーダーの内容に依存する。例えば、オーダーについての一次ステップは、オーダーされるサービスに依存し得て、またはオーダーされるサービスのレベルにさえ依存し得る。

0163

典型的な例では、サブスクリプションオーダーの処理に関わる一次ステップは、物理リソースの割り当てをプロビジョニングするステップ、および、顧客がサービスにアクセスできるように顧客アイデンティティとともに必要であればアイデンティティドメインを作成するステップを少なくとも含んでいてもよい。顧客がサービスの使用を開始するのに必要でないアカウンティングおよびサポートなどのサブスクリプションオーダーに関連する他のバックオフィス機能は、顧客がサービスにアクセスした後に完了し得て、二次ステップとして分類される。例えば、顧客記録の作成およびサブスクリプションオーダーに関連するアカウンティング機能の実行などのオーダー管理モジュール214によって実行される処理のうちのいくつかは、二次ステップとして分類され得る。一実施例では、顧客記録を作成する二次ステップは、SDIモジュール206によって実行されるサブスクリプションのためにリソースをプロビジョニングする一次ステップと同時にオーダー管理モジュール214によって実行され得る。

0164

図10は、本発明の一実施例に係る顧客のサブスクリプションオーダーを処理するためのシステムの高レベルブロック図である。図10に示される実施例は、TASモジュール204の一部であるオーダーワークフロー特定モジュール324を備える。図10に示されるように、一実施例では、オーダーワークフロー特定モジュール322は、一次オーダーワークフロー特定モジュール1002と、二次オーダーワークフロー特定モジュール1004と、オーダーワークフロー処理モジュール1006とを含む。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。図10に示されるオーダーワークフロー特定モジュール322におけるモジュールは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。例えば、本発明の代替的な実施例は、オーダーワークフロー特定モジュール324にさらなるモジュールを含んでいてもよい。

0165

図3Bに示されるオーダー処理モジュール310から顧客のサブスクリプションオーダーを受取ると、一実施例では、一次オーダーワークフロー特定モジュール1002は、顧客のサブスクリプションオーダーに関連する一次オーダーワークフローを特定するためにサブスクリプションオーダーを分析する。一次オーダーワークフローは、サブスクリプションオーダーの処理に関連する1つ以上の一次ステップを含む。例えば、一次オーダーワークフロー特定モジュール1002は、以下に記載されるステップP1〜P8を備える一次オーダーフローチャートを特定し得る:
P1:ストアUI210またはクラウドUI212を介して顧客のサブスクリプションオーダーを受取るステップ。
P2:サブスクリプションオーダーに関連付けられた顧客記録を作成するステップ。
P3:顧客のサブスクリプションオーダーの論理的なサブスクリプションフットプリントを作成するステップ。一例では、論理的なサブスクリプションフットプリントは、顧客記録、顧客アカウント情報記録サービス構成記録などの顧客のサブスクリプションオーダーに関連付けられた一組の記録の作成を含んでいてもよい。
P4:顧客のサブスクリプションに関連付けられたアイデンティティドメイン管理者またはシステム管理者を作成するステップ。
P5:顧客のサブスクリプションに関連付けられたアカウント管理者を作成するステップ。
P6:顧客のサブスクリプションに関連付けられた物理的なサブスクリプションフットプリントを作成するステップ。これは、顧客がサブスクリプションオーダーにおけるサービスにアクセスできるように、顧客によって要求される最小のリソースの組を割り当てることを含む。
P7:物理的なサブスクリプションフットプリントのモニタリングを可能にするステップ。
P8:顧客がサブスクリプションオーダーにおけるサービスへのアクセスを開始できるという通知を顧客に送るステップ。

0166

上記の一次ステップの例は限定的であるよう意図されるものではないということが理解されるべきである。次いで、一次オーダーワークフロー特定モジュール1002は、一次オーダーワークフローをオーダーワークフロー処理モジュール1006に入力して実行する。次いで、オーダーワークフロー処理モジュール1006は、一次オーダーワークフローを実行する。一次オーダーワークフローは、二次オーダーワークフローから独立して実行可能である。

0167

一次オーダーワークフローの実行は、恐らくクラウドインフラストラクチャシステム100のさらなるコンポーネントを含んでいてもよい。例えば、上記の例では、一次ステップP1は、フロントエンドインターフェース、ストアUI210またはクラウドUI212を介して実行されてもよく、一次ステップP2およびP3は、オーダー管理モジュール214によって実行されてもよく、一次ステップP4およびP5は、TASモジュール204によって実行されてもよく、一次ステップP6は、TASモジュール204およびSDIモジュール206によって実行されてもよく、一次ステップP7は、EMモジュール208によって実行されてもよく、一次ステップP8は、サービスモジュール202によって実行されてもよい。一次オーダーワークフローにおけるステップを実行すると、オーダーワークフロー処理モジュール1006は、顧客がサブスクリプションオーダーにおけるサービスの利用を開始できることをサービスコンポーネント202に通知する。一実施例では、オーダーされたサービスにアクセスするために顧客が使用可能なURLが、通知の一部として顧客に提供され得る。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

新着 最近 公開された関連が強い 技術

この 技術と関連性が強い 技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する挑戦したい社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ