JP6326417B2 - Ldapベースの複数顧客インクラウドアイデンティティ管理システム - Google Patents

Ldapベースの複数顧客インクラウドアイデンティティ管理システム Download PDF

Info

Publication number
JP6326417B2
JP6326417B2 JP2015531268A JP2015531268A JP6326417B2 JP 6326417 B2 JP6326417 B2 JP 6326417B2 JP 2015531268 A JP2015531268 A JP 2015531268A JP 2015531268 A JP2015531268 A JP 2015531268A JP 6326417 B2 JP6326417 B2 JP 6326417B2
Authority
JP
Japan
Prior art keywords
service
cloud infrastructure
infrastructure system
cloud
declaration
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
JP2015531268A
Other languages
English (en)
Other versions
JP2015529366A5 (ja
JP2015529366A (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 JP2015529366A publication Critical patent/JP2015529366A/ja
Publication of JP2015529366A5 publication Critical patent/JP2015529366A5/ja
Application granted granted Critical
Publication of JP6326417B2 publication Critical patent/JP6326417B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5048Automatic or semi-automatic definitions, e.g. definition templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Computing Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Hardware Design (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Description

関連出願の相互参照
本願は、以下の出願の利益および優先権を主張し、以下の出願の内容全体は、全ての目的で引用によって本明細書に援用される:
(1)「テナント自動化システム」と題される2012年9月7日に出願された米国仮出願番号第61/698,413号
(2)「サービス開発インフラストラクチャ」と題される2012年9月7日に出願された米国仮出願番号第61/698,459号
(3)「クラウドインフラストラクチャ」と題される2013年3月14日に出願された米国仮出願番号第61/785,299号
(4)「クラウドベースのサービスのプロビジョニングのための宣言的かつ拡張可能なモデル」と題される2013年3月15日に出願された米国仮出願番号第61/794,269号
(5)「クラウドインフラストラクチャ」と題される2013年3月15日に出願された米国仮出願番号第61/794,427号、および
(6)上記の米国仮出願の優先権を主張する、「クラウドベースのサービスのプロビジョニングのための宣言的かつ拡張可能なモデル」と題される2013年5月31日に出願された米国通常出願番号第13/907,616号。
背景
本開示は、コンピュータシステムおよびソフトウェアに関し、より特定的には、クラウド環境でのサービスのプロビジョニング(provision)を容易にして自動化するための技術に関する。
クラウドコンピューティングは、構成可能な演算リソース(例えばネットワーク、サーバ、ストレージ、アプリケーションおよびサービス)の共有プールへの便利なオンデマンドのネットワークアクセスを可能にするためのモデルである。クラウド(またはネットワーク)を介して提供またはアクセスされるサービスは、クラウドサービスと称される。サブスクライブを行う顧客がクラウドサービスを利用できるようにするためにクラウドサービスプロバイダが行う必要がある処理は数多くある。その複雑さのために、この処理の多くは依然として手動でなされている。例えば、このようなクラウドサービスを提供するためのプロビジョニングリソースは、非常に労働集約型のプロセスであり得る。
概要
この概要は、クレームされている主題の重要なまたは必須の特徴を特定することを意図したものではなく、クレームされている主題の範囲を決定するために単独で使用されるよう意図したものでもない。主題は、本特許の明細書全体の適切な箇所、任意のまたは全ての図面および各々の請求項を参照することによって理解されるべきである。
いくつかの実施例に従って、一組のサービスを提供するための方法が開示される。当該方法は、クラウドインフラストラクチャシステムが、上記クラウドインフラストラクチャシステムによって提供される一組のサービスからサービスを特定するサブスクリプションオーダー情報を格納するステップを備え得て、上記クラウドインフラストラクチャシステムは、1つ以上の演算装置を備える。上記1つ以上の演算装置からの演算装置は、上記サービスのためにサービス宣言を決定し得て、上記サービス宣言は、上記サービスを可能化するためにリソースをプロビジョニングするためのプロシージャを示す情報を備える。上記1つ以上の演算装置からの演算装置は、上記サービス宣言に基づいて上記サービスをプロビジョニングし得る。
いくつかの実施例によれば、システムは、一組のクラウドサービスを提供するように構成可能な1つ以上の演算装置と、上記一組のクラウドサービスからサービスを特定するサブスクリプションオーダー情報を格納するように構成可能なメモリとを備え得て、上記1つ以上の演算装置からの演算装置は、上記サービスのためにサービス宣言を決定するように構成可能であり、上記サービス宣言は、上記サービスを可能化するためにリソースをプロビジョニングするためのプロシージャを示す情報を備え、上記1つ以上の演算装置からの演算装置はさらに、上記サービス宣言に基づいて上記サービスをプロビジョニングするように構成可能である。
いくつかの実施例によれば、一組のクラウドサービスを提供するように構成されたクラウドインフラストラクチャシステムのためのコンピュータによって実行可能な命令を格納する1つ以上のコンピュータ読取可能媒体であって、上記コンピュータによって実行可能な命令は、実行されると、上記クラウドインフラストラクチャシステムにおける1つ以上の演算装置に、上記一組のクラウドサービスからサービスを特定するサブスクリプションオーダー情報を格納させ、上記クラウドインフラストラクチャシステムにおける1つ以上の演算装置に、上記サービスのためにサービス宣言を決定させ、上記サービス宣言は、上記サービスを可能化するためにリソースをプロビジョニングするためのプロシージャを示す情報を備え、上記コンピュータによって実行可能な命令はさらに、上記クラウドインフラストラクチャシステムにおける1つ以上の演算装置に、上記サービス宣言に基づいて上記サービスをプロビジョニングさせ得る。
いくつかの実施例によれば、一組のクラウドサービスを提供するためのシステムは、クラウドインフラストラクチャシステムによって提供される上記一組のクラウドサービスを特定するカタログ情報と、各サービスごとに上記サービスに関連付けられたサービス宣言とを格納するための手段と、顧客からサブスクリプションオーダー情報を受取るための手段とを備え、上記サブスクリプションオーダー情報は、上記クラウドインフラストラクチャシステムによって提供される上記一組のクラウドサービスから、選択されたサービスを特定し、上記システムはさらに、上記カタログ情報に基づいて、上記一組のサービス宣言から、上記選択されたサービスのために特定のサービス宣言を決定するための手段を備え、上記特定のサービス宣言は、上記選択されたサービスを可能化するためにリソースをプロビジョニングするための1つ以上のプロシージャを示す情報を備え、上記システムはさらに、上記特定のサービス宣言における上記情報に基づいて、上記選択されたサービスをプロビジョニングするための手段を備える。
いくつかの実施例によれば、一組のクラウドサービスを提供するように構成されたクラウドインフラストラクチャシステムのためのコンピュータ読取可能プログラムであって、上記コンピュータ読取可能プログラムは、上記クラウドインフラストラクチャシステムに、上記クラウドインフラストラクチャシステムによって提供される上記一組のクラウドサービスを特定するカタログ情報と、各サービスごとに上記サービスに関連付けられたサービス宣言とを格納させ、上記クラウドインフラストラクチャシステムに、顧客からサブスクリプションオーダー情報を受取らせ、上記サブスクリプションオーダー情報は、上記クラウドインフラストラクチャシステムによって提供される上記一組のクラウドサービスから、選択されたサービスを特定し、上記コンピュータ読取可能プログラムはさらに、上記クラウドインフラストラクチャシステムに、上記カタログ情報に基づいて、上記一組のサービス宣言から、上記選択されたサービスのために特定のサービス宣言を決定させ、上記特定のサービス宣言は、上記選択されたサービスを可能化するためにリソースをプロビジョニングするための1つ以上のプロシージャを示す情報を備え、上記コンピュータ読取可能プログラムはさらに、上記クラウドインフラストラクチャシステムに、上記特定のサービス宣言における上記情報に基づいて、上記選択されたサービスをプロビジョニングさせる。
本発明の例示的な実施例について、以下の図面を参照して以下で詳細に説明する。
本発明の一実施例に係るクラウドインフラストラクチャシステムの論理図である。 本発明の実施例に係るクラウドインフラストラクチャシステムを実現するために使用され得るハードウェア/ソフトウェアスタックの簡略ブロック図である。 図1Aに示されるクラウドインフラストラクチャシステムを実現するためのシステム環境の簡略ブロック図である。 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールによって実行され得る処理を示す簡略化されたフローチャート300を示す。 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。 本発明の実施例に係るTASコンポーネントの例示的な分散デプロイメントを示す。 本発明の実施例に係るクラウドインフラストラクチャシステムにおける1つ以上のモジュールとのSDIモジュールのインタラクションを示す簡略ブロック図である。 本発明の実施例に係るSDIモジュールのサブモジュールの簡略化された高レベル図を示す。 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIコンポーネントによって実行され得る処理を示す簡略化されたフローチャートを示す。 本発明の実施例に係るNuviaqシステム710および他のクラウドインフラストラクチャコンポーネントとのその関係の高レベルアーキテクチャを示す簡略ブロック図を示す。 本発明の実施例に係るNuviaqシステムを使用するプロビジョニングプロセスのステップを示す例示的なシーケンス図を示す。 本発明の実施例に係るNuviaqシステムを使用するデプロイメントプロセスのステップを示す例示的なシーケンス図を示す。 本発明の実施例に係るデータベースサービスのためにプロビジョニングされたデータベースインスタンスの例を示す。 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。 本発明の実施例に係るサービスブループリントコンポーネントの簡略化された高レベル図を示す。 本発明の実施例に係るオーケストレーション(orchestration)エンジンを示す。 本発明の実施例に係る実行フローを示す。 本発明の実施例に係る非同期的なタスクの実行に関わる処理の一例を示す。 本発明の実施例に従って実行され得るサービス宣言関連の処理を示す簡略化されたフローチャートを示す。 本発明の実施例に従って実行され得るサービス宣言関連の処理を示す簡略化されたフローチャートを示す。 本発明の実施例に従って使用され得る演算システム1000の簡略ブロック図である。 本発明の実施例に係る電子デバイス1800の簡略ブロック図である。
詳細な説明
以下の説明では、本発明の実施例が十分に理解されるようにするために、説明の目的で具体的詳細を記載する。しかし、これらの具体的詳細がなくてもさまざまな実施例を実施できることは明らかであろう。図面および説明は、限定的であるよう意図されるものではない。
本発明の特定の実施例は、クラウドインフラストラクチャシステムによって提供されるサービスのプロビジョニング、管理および追跡を自動化するための技術を提供する。
特定の実施例では、クラウドインフラストラクチャシステムは、セルフサービスの、サブスクリプションベースの、弾性的にスケーラブルな、信頼性のある、高可用性の、安全な態様で顧客に与えられる一連のアプリケーション、ミドルウェアおよびデータベースサービス提案を含み得る。このようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクルパブリッククラウドである。
クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムにおいてサービスおよびリソースについての顧客のサブスクリプションをプロビジョニング、管理および追跡する機能、クラウドインフラストラクチャシステムにおいてサービスを利用する顧客に予測可能な作業費用を提供する機能、クラウドインフラストラクチャシステムにおいて顧客のデータのロバストなアイデンティティドメインの分離および保護を提供する機能、クラウドインフラストラクチャシステムの設計の透過的なアーキテクチャおよび制御を顧客に提供する機能、データ保護の保証とデータプライバシ基準および規制の順守とを顧客に提供する機能、クラウドインフラストラクチャシステムにおいてサービスを構築およびデプロイするための統合された開発経験を顧客に提供する機能、ならびにクラウドインフラストラクチャシステムにおいてビジネスソフトウェア、ミドルウェア、データベースおよびインフラストラクチャサービスの間のシームレスな統合を顧客に提供する機能を含むがこれらに限定されない多くの機能を提供することができる。
特定の実施例では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューション、ウェブベースの電子メールサービス、ホスト型オフィススイートおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービスなどの、クラウドインフラストラクチャシステムのユーザがオンデマンドで利用可能な多数のサービスを含み得る。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザのニーズを満たすように動的にスケーリング可能である。クラウドインフラストラクチャシステムによって提供されるサービスの具体的なインスタンス化は、本明細書ではサービスインスタンスと称される。一般に、クラウドサービスプロバイダのシステムからインターネットなどの通信ネットワークを介してユーザが利用可能なサービスはいずれも、クラウドサービスと称される。一般に、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスサーバおよびシステムとは異なっている。例えば、クラウドサービスプロバイダのシステムは、アプリケーションをホストし得て、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドで当該アプリケーションをオーダーし、使用し得る。
コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、クラウドベンダによってユーザに提供されるかまたはそうでなければ当該技術分野において公知のストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーションまたは他のサービスへの保護されたコンピュータネットワークアクセスを含む。例えば、サービスは、インターネットを介したクラウド上のリモートストレージへの、パスワードによって保護されたアクセスを含んでいてもよい。別の例として、サービスは、ネットワーク化された開発者による私的使用のためのウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含んでいてもよい。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされる電子メールソフトウェアアプリケーションへのアクセスを含んでいてもよい。
図1Aは、本発明の一実施例に係るクラウドインフラストラクチャシステムの論理図である。クラウドインフラストラクチャシステム100は、クラウドまたはネットワーク化された環境を介してさまざまなサービスを提供し得る。これらのサービスは、ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)カテゴリ、プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS)カテゴリ、インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS)カテゴリ、またはハイブリッドサービスを含むサービスの他のカテゴリの下で提供される1つ以上のサービスを含んでいてもよい。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスをオーダーし得る。次いで、クラウドインフラストラクチャシステム100は、顧客のサブスクリプションオーダーにおけるサービスを提供するために処理を実行する。
クラウドインフラストラクチャシステム100は、さまざまなデプロイメントモデルを介してクラウドサービスを提供し得る。例えば、サービスは、クラウドインフラストラクチャシステム100が(例えばオラクルによって所有される)クラウドサービスを販売する組織によって所有され、サービスが一般的な公営企業またはさまざまな産業企業が利用可能であるパブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム100が単一の組織のために単独で運営され、当該組織内の1つ以上のエンティティにサービスを提供することができるプライベートクラウドモデルの下で提供されてもよい。また、クラウドサービスは、クラウドインフラストラクチャシステム100およびシステム100によって提供されるサービスが関連のコミュニティの中のいくつかの組織によって共有されるコミュニティクラウドモデルの下で提供されてもよい。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせであるハイブリッドクラウドモデルの下で提供されてもよい。
図1Aに示されるように、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100によって提供されるサービスのプロビジョニングを可能にする、連携して動作する複数のコンポーネントを備えていてもよい。図1Aに示される実施例では、クラウドインフラストラクチャシステム100は、SaaSプラットフォーム102と、PaaSプラットフォーム104と、IaaSプラットフォーム110と、インフラストラクチャリソース106と、クラウド管理機能108とを含む。これらのコンポーネントは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。
SaaSプラットフォーム102は、SaaSカテゴリに入るクラウドサービスを提供するように構成される。例えば、SaaSプラットフォーム102は、統合された開発およびデプロイメントプラットフォーム上で一連のオンデマンドのアプリケーションを構築および供給するための機能を提供し得る。SaaSプラットフォーム102は、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。SaaSプラットフォーム102によって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム100上で実行されるアプリケーションを利用することができる。顧客は、顧客が別個のライセンスおよびサポートを購入する必要なくアプリケーションサービスを取得することができる。
さまざまな異なるSaaSサービスが提供され得る。例としては、大きな組織に販売実績管理、企業統合およびビジネスの柔軟性などのためのソリューションを提供するサービスが挙げられるが、これに限定されるものではない。一実施例では、SaaSサービスは、顧客関係管理(Customer Relationship Management:CRM)サービス110(例えばオラクルクラウドによって提供されるフュージョンCRMサービス)、人材管理(Human Capital Management:HCM)/才能管理サービス112などを含んでいてもよい。CRMサービス110は、顧客への販売活動サイクルの報告および管理に向けられるサービスなどを含んでいてもよい。HCM/才能サービス112は、顧客へのグローバルな労働力ライフサイクル管理および才能管理サービスの提供に向けられるサービスを含んでいてもよい。
標準化された、共有の、弾性的にスケーラブルなアプリケーション開発およびデプロイメントプラットフォームにおけるPaaSプラットフォーム104によって、さまざまな異なるPaaSサービスが提供され得る。PaaSサービスの例としては、共有される共通のアーキテクチャ上で既存のアプリケーションを(オラクルなどの)組織が集約することを可能にするサービス、および、プラットフォームによって提供される共有のサービスを活用する新たなアプリケーションを構築する機能が挙げられ得るが、これらに限定されるものではない。PaaSプラットフォーム104は、PaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。顧客は、顧客が別個のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステム100によって提供されるPaaSサービスを取得することができる。PaaSサービスの例としては、オラクルJava(登録商標)クラウドサービス(Java Cloud Service:JCS)、オラクルデータベースクラウドサービス(Oracle Database Cloud Service:DBCS)などが挙げられるが、これらに限定されるものではない。
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の顧客に追加のサービスを提供するための追加のコンポーネントを含んでいてもよい。
IaaSプラットフォーム110によってさまざまな異なるIaaSサービスが提供され得る。IaaSサービスは、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のために、ストレージ、ネットワークおよび他の基礎的な演算リソースなどの基本的な演算リソースの管理および制御を容易にする。
特定の実施例では、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100の顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース106を含む。一実施例では、インフラストラクチャリソース106は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するために、サーバ、ストレージおよびネットワーキングリソースなどのハードウェアの予め統合された、最適化された組み合わせを含む。
特定の実施例では、クラウド管理機能108は、クラウドインフラストラクチャシステム100においてクラウドサービス(例えばSaaS、PaaS、IaaSサービス)の包括的な管理を提供する。一実施例では、クラウド管理機能108は、クラウドインフラストラクチャシステム100によって受取られた顧客のサブスクリプションをプロビジョニング、管理および追跡するための機能などを含む。
図1Bは、本発明の実施例に係るクラウドインフラストラクチャシステム100を実現するために使用され得るハードウェア/ソフトウェアスタックの簡略ブロック図である。図1Bに示される実現例は、図1Bに示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図1Bに示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、クラウドインフラストラクチャシステム100は、図1Bに示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。特定の実施例では、最適な性能を提供する垂直統合を提供するようにハードウェアおよびソフトウェアコンポーネントが積層される。
さまざまなタイプのユーザがクラウドインフラストラクチャシステム100と対話し得る。これらのユーザは、例えば、デスクトップ、モバイル機器、タブレットなどのさまざまなクライアント装置を使用してクラウドインフラストラクチャシステム100と対話し得るエンドユーザ150を含んでいてもよい。また、ユーザは、さまざまな統合された開発環境(integrated development environment:IDE)を介して、および他のアプリケーションを介して、コマンドラインインターフェース(command line interface:CLI)、アプリケーションプログラミングインターフェース(application programming interface:API)を使用してクラウドインフラストラクチャシステム100と対話し得る開発者/プログラマ152を含んでいてもよい。また、ユーザは、オペレーションスタッフ154を含んでいてもよい。これらは、クラウドサービスプロバイダのスタッフまたは他のユーザのスタッフを含んでいてもよい。
アプリケーションサービス層156は、クラウドインフラストラクチャシステム100によって提供され得るさまざまなクラウドサービスを特定する。これらのサービスは、サービス統合および連結層158を介してそれぞれのソフトウェアコンポーネント160(例えばJavaサービスを提供するためのオラクルウェブロジックサーバ、データベースサービスを提供するためのオラクルデータベースなど)にマッピングされるか、または関連付けられ得る。
特定の実施例では、クラウドインフラストラクチャシステム100のさまざまなコンポーネントまたはモジュールおよびクラウドインフラストラクチャシステム100によって提供されるサービスによって共有されるいくつかの内部サービス162が提供され得る。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、エンタープライズリポジトリサービス、エンタープライズマネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよび回復サービス、IDEにおいてクラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを含み得るが、これらに限定されるものではない。
ランタイムインフラストラクチャ層164は、さまざまな他の層およびコンポーネントが構築されるハードウェア層を表わす。特定の実施例では、ランタイムインフラストラクチャ層164は、ストレージ、処理およびネットワーキングリソースを提供するための1つのオラクルのExadataマシンを備えていてもよい。Exadataマシンは、さまざまなデータベースサーバ、ストレージサーバ、ネットワーキングリソース、およびクラウドサービス関連のソフトウェア層をホストするための他のコンポーネントから構成され得る。特定の実施例では、Exadataマシンは、ストレージ、演算、ネットワークおよびソフトウェアリソースの集合体を提供するエンジニアド・システムであるOracle Exalogicと連携するように設計され得る。ExadataおよびExalogicの組み合わせは、クラウドサービスを提供するための高性能で、高可用性で、スケーラブルで、安全な、管理されたプラットフォームを与える完全なハードウェアおよびソフトウェアエンジニアドソリューションを提供する。
図2は、本発明の実施例に係る図1Aに示されるクラウドインフラストラクチャシステムを実現するためのシステム環境の簡略ブロック図である。示される実施例では、システム環境230は、クラウドインフラストラクチャシステム100と対話するためにユーザによって使用され得る1つ以上のクライアント演算装置224,226および228を含む。クライアント装置は、クラウドインフラストラクチャシステム100によって提供されるサービスを利用するためにクラウドインフラストラクチャシステム100と対話するようにクライアント装置のユーザによって使用され得る、ウェブブラウザ、プロプライエタリクライアントアプリケーション(例えばOracle Forms)またはその他のアプリケーションなどのクライアントアプリケーションを動作させるように構成され得る。
図2に示されるクラウドインフラストラクチャシステム100は、図2に示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図2に示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、クラウドインフラストラクチャシステム100は、図2に示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。
クライアント演算装置224,226および228は、汎用パーソナルコンピュータ(一例として、マイクロソフトウィンドウズ(登録商標)および/またはアップルマッキントッシュオペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む)、(マイクロソフトウィンドウズモバイルなどのソフトウェアを実行し、インターネット、電子メール、SMS、ブラックベリーまたは使用可能な他の通信プロトコルである)携帯電話もしくはPDA、さまざまな市販のUNIX(登録商標)もしくはUNIXのようなオペレーティングシステム(さまざまなGNU/Linux(登録商標)オペレーティングシステムを含むがこれに限定されるものではない)のいずれかを実行するワークステーションコンピュータ、またはその他の演算装置であってもよい。例えば、クライアント演算装置224,226および228は、ネットワーク(例えば下記のネットワーク232)を介して通信することができる、シン・クライアントコンピュータ、インターネットへの接続が可能なゲーム機および/またはパーソナルメッセージング装置などのその他の電子装置であってもよい。例示的なシステム環境230が3つのクライアント演算装置とともに示されているが、いかなる数のクライアント演算装置がサポートされてもよい。センサを有する装置などの他の装置がクラウドインフラストラクチャシステム100と対話してもよい。
ネットワーク232は、クライアント224,226および228とクラウドインフラストラクチャシステム100との間でのデータの通信および交換を容易にし得る。ネットワーク232は、TCP/IP、SNA、IPX、AppleTalkなどを含むがこれらに限定されるものではないさまざまな市販のプロトコルのいずれかを使用してデータ通信をサポートし得る、当業者になじみのある任意のタイプのネットワークであってもよい。単に一例として、ネットワーク232は、イーサネット(登録商標)ネットワーク、トークン・リング・ネットワークなどのローカルエリアネットワーク(local area network:LAN)、広域ネットワーク、仮想プライベートネットワーク(virtual private network:VPN)を含むがこれに限定されるものではない仮想ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網(public switched telephone network:PSTN)、赤外線ネットワーク、無線ネットワーク(例えばIEEE802.1Xの一連のプロトコル、当該技術分野において公知のブルートゥース(登録商標)プロトコルおよび/またはその他の無線プロトコルのいずれかの下で動作するネットワーク)、ならびに/または、これらのおよび/もしくは他のネットワークの任意の組み合わせであってもよい。
クラウドインフラストラクチャシステム100は、汎用コンピュータ、特化サーバコンピュータ(一例として、PCサーバ、UNIXサーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式のサーバなどを含む)、サーバファーム、サーバクラスタ、またはその他の適切な配置および/もしくは組み合わせであり得る1つ以上のコンピュータおよび/またはサーバを備えていてもよい。クラウドインフラストラクチャシステム100を構成する演算装置は、HTTPサーバ、FTPサーバ、CGIサーバ、Javaサーバ、データベースサーバなどを含む、オペレーティングシステムまたはさまざまな追加のサーバアプリケーションおよび/もしくは中間層アプリケーションのいずれかを実行し得る。例示的なデータベースサーバとしては、オラクル、マイクロソフト、サイベース、IBMなどから市販されているものが挙げられるが、これらに限定されるものではない。
さまざまな実施例では、クラウドインフラストラクチャシステム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に示されるものよりも多くのまたは少ないモジュールを含んでいてもよい。
例示的なオペレーションにおいて、(1)において、クライアント装置224または226などのクライアント装置を使用する顧客は、クラウドインフラストラクチャシステム100によって提供されるさまざまなサービスをブラウズし、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスについてのサブスクリプションのオーダーを行うことによって、クラウドインフラストラクチャシステム100と対話し得る。特定の実施例では、顧客は、ストアUI210またはクラウドUI212にアクセスし、これらのユーザインターフェースを介してサブスクリプションオーダーを行い得る。
顧客がオーダーを行ったことに応答してクラウドインフラストラクチャシステム100によって受取られるオーダー情報は、顧客と、顧客がサブスクライブする予定の、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスとを特定する情報を含んでいてもよい。単一のオーダーは、複数のサービスのオーダーを含んでいてもよい。例えば、顧客は、クラウドUI212にログインして、同一のオーダーにおいてCRMサービスおよびJavaクラウドサービスについてのサブスクリプションを要求し得る。
さらに、オーダーは、オーダーされたサービスについての1つ以上のサービスレベルも含んでいてもよい。本明細書で使用され、以下でより詳細に説明されるように、サービスについてのサービスレベルは、ストレージの量、演算リソースの量、データ転送設備などの、サブスクリプションの文脈において要求されたサービスを提供するために割り当てられるリソースの量を決定する。例えば、ベーシックなサービスレベルは、最小レベルのストレージ、データ伝送またはユーザの数を提供することができ、より高いサービスレベルは、さらなるリソースを含み得る。
また、いくつかの例では、クラウドインフラストラクチャシステム100によって受取られるオーダー情報は、顧客レベルおよびサービスが求められる期間を示す情報を含んでいてもよい。顧客レベルは、サブスクリプション要求を行う顧客の優先度を規定する。一例では、優先度は、顧客とクラウドサービスのプロバイダとの間で合意されたサービスレベル合意書(Service Level Agreement:SLA)によって規定されるようにクラウドインフラストラクチャシステム100が顧客に保証または約束するサービスの質に基づいて決定され得る。一例では、さまざまな顧客レベルは、ベーシックレベル、シルバーレベルおよびゴールドレベルを含む。サービスの期間は、当該サービスの開始日および時刻と、当該サービスが求められる期間とを規定し得る(例えばサービス終了日および時刻が規定されてもよい)。
一実施例では、顧客は、ストアUI210を介して新たなサブスクリプションを要求するか、またはクラウドUI212を介してトライアルサブスクリプションを要求し得る。特定の実施例では、ストアUI210は、サービスプロバイダの電子商取引ストアフロントに相当し得る(例えばオラクルクラウドサービスのためのwww.oracle.com/store)。クラウドUI212は、サービスプロバイダのためのビジネスインターフェースに相当し得る。顧客は、クラウドUI212を介して、利用可能なサービスを調査し、関心のあるサービスにサインアップすることができる。クラウドUI212は、クラウドインフラストラクチャシステム100によって提供されるトライアルサブスクリプションをオーダーするのに必要なユーザ入力を取込む。また、クラウドUI212は、アカウント機能を閲覧し、クラウドインフラストラクチャシステム100内に位置するランタイム環境を構成するために使用され得る。新たなサブスクリプションのオーダーを行うことに加えて、ストアUI210は、サブスクリプションのサービスレベルの変更、サブスクリプションの期間の延長、サブスクリプションのサービスレベルの向上、既存のサブスクリプションの終了などの他のサブスクリプション関連のタスクを顧客が実行できるようにもし得る。
(1)につきオーダーが行われた後、(2)において、ストアUI210またはクラウドUI212のいずれかを介して受取られるオーダー情報がオーダーデータベース222に格納され、当該オーダーデータベース222は、クラウドインフラストラクチャシステム100によって操作されて他のシステム要素と連携して利用されるいくつかのデータベースのうちの1つであり得る。オーダーデータベース222は図2では単一のデータベースとして論理的に示されているが、実際の実現例では、これは1つ以上のデータベースを備えていてもよい。
(3)において、オーダーはオーダー管理モジュール214に送られる。オーダー管理モジュール214は、オーダーの検証および検証時のオーダーの予約などのオーダーに関連する課金およびアカウンティング機能を実行するように構成される。特定の実施例では、オーダー管理モジュール214は、契約管理モジュールと、インストールベースモジュールとを含んでいてもよい。契約管理モジュールは、クラウドインフラストラクチャシステム100との顧客のサービスレベル合意書(SLA)などの顧客のサブスクリプションオーダーに関連付けられた契約情報を格納し得る。インストールベースモジュールは、顧客のサブスクリプションオーダーにおけるサービスの詳細な説明を含み得る。オーダー情報に加えて、インストールベースモジュールは、サービスに関連するインストールの詳細、製品状態およびサービスに関連するサポートサービス履歴を追跡し得る。顧客が新たなサービスをオーダーするかまたは既存のものをアップグレードすると、インストールベースモジュールは、新たなオーダー情報を自動的に追加し得る。
(4)において、オーダーに関する情報は、TASモジュール204に通信される。一実施例では、TASモジュール204は、顧客によって行われたオーダーについてのサービスおよびリソースのプロビジョニングをオーケストレートするためにオーダー情報を利用する。(5)において、TASコンポーネント204は、SDIモジュール206のサービスを使用してサブスクライブされたサービスをサポートするために、リソースのプロビジョニングをオーケストレートする。(6)において、TASモジュール204は、SDIモジュール206から受取られた、プロビジョニングされたオーダーに関連する情報をサービスモジュール202に提供する。いくつかの実施例では、(7)において、SDIモジュール206は、顧客のサブスクリプションオーダーを実現するために必要なリソースを割り当てて構成するために、サービスモジュール202によって提供されるサービスも使用し得る。
(8)において、サービスモジュール202は、オーダーの状態に関する通知をクライアント装置224,226および228上の顧客に送る。
特定の実施例では、TASモジュール204は、互いに関連付けられたビジネスプロセスを管理し、ビジネスロジックを適用してオーダーがプロビジョニングに進むべきか否かを判断するオーケストレーションコンポーネントとして機能する。一実施例では、新たなサブスクリプションのオーダーを受取ると、TASモジュール204は、リソースを割り当てて、当該サブスクリプションオーダーを実現するために必要なそれらのリソースを構成するために、SDIモジュール206に要求を送る。SDIモジュール206は、顧客によってオーダーされたサービスのためのリソースの割り当てを可能にする。SDIモジュール206は、クラウドインフラストラクチャシステム100によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間の抽象化のレベルを提供する。したがって、TASモジュール204は、サービスおよびリソースがオンザフライで実際にプロビジョニングされるか否か、または予めプロビジョニングされて要求時に単に配分/割り当てられるか否かなどの実装詳細から切離され得る。
特定の実施例では、ユーザは、オーダー管理モジュール214と直接対話して、オーダーの検証および検証時のオーダーの予約などの課金およびアカウンティング関連機能を実行するためにストアUI210を使用し得る。いくつかの実施例では、顧客がオーダーを行う代わりに、(9)において、オーダーはその代わりに、顧客のサービス担当者または販売担当者などの顧客を代表する販売スタッフ218によって行われてもよい。販売スタッフ218は、オーダーを行うためまたは顧客に見積もりを提供するためにオーダー管理モジュール214によって提供されるユーザーインターフェース(図2には図示せず)を介して、オーダー管理モジュール214と直接対話し得る。例えば、これは、オーダーがオーダー管理モジュール214を介して顧客の販売担当者によって行われ得る大口顧客のためになされ得る。販売担当者は、顧客を代表してサブスクリプションを準備し得る。
EMモジュール208は、クラウドインフラストラクチャシステム100における顧客のサブスクリプションの管理および追跡に関連するアクティビティをモニタリングするように構成される。EMモジュール208は、使用されるストレージの量、転送されるデータの量、ユーザの数、システムアップ時間およびシステムダウン時間の量などのサブスクリプションオーダーにおけるサービスについての使用統計を収集する。(10)において、クラウドインフラストラクチャシステム100のプロバイダの従業員であってもよいホストオペレータスタッフ220は、サービスがクラウドインフラストラクチャシステム100内でプロビジョニングされるシステムおよびリソースを管理するために、エンタープライズマネージャユーザインターフェース(図2には図示せず)を介してEMモジュール208と対話し得る。
アイデンティティ管理(IDM)モジュール200は、クラウドインフラストラクチャシステム100においてアクセス管理および認可サービスなどのアイデンティティサービスを提供するように構成される。一実施例では、IDMモジュール200は、クラウドインフラストラクチャシステム100によって提供されるサービスを利用したい顧客についての情報を制御する。このような情報は、このような顧客のアイデンティティを認証する情報、および、さまざまなシステムリソース(例えばファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してそれらの顧客がどのアクションを実行することが認可されるかを表わす情報を含み得る。また、IDMモジュール200は、各顧客についての記述的情報および当該記述的情報がどのようにして誰によってアクセスおよび修正され得るかについての記述的情報の管理を含み得る。
一実施例では、アイデンティティ管理モジュール200によって管理される情報は、別個のアイデンティティドメインを作成するために分割可能である。特定のアイデンティティドメインに属する情報は、全ての他のアイデンティティドメインから切離されることができる。また、アイデンティティドメインは、複数の別個のテナントによって共有可能である。各々のこのようなテナントは、クラウドインフラストラクチャシステム100においてサービスにサブスクライブする顧客であり得る。いくつかの実施例では、顧客は、1つまたは多くのアイデンティティドメインを有することができ、各アイデンティティドメインは、1つ以上のサブスクリプションに関連付けられ得て、各サブスクリプションは、1つまたは多くのサービスを有する。例えば、単一の顧客は大規模事業体に相当し得て、この大規模事業体内の部門/部署についてアイデンティティドメインが作成されてもよい。さらに、EMモジュール208およびIDMモジュール200は、クラウドインフラストラクチャシステム100において顧客のサブスクリプションを管理および追跡するために、それぞれ(11)および(12)においてオーダー管理モジュール214と対話し得る。
一実施例では、(13)において、サポートUI216を介してサポートサービスも顧客に提供され得る。一実施例では、サポートUI216は、サポートスタッフが(14)においてサポートサービスを実行するようにサポートバックエンドシステムを介してオーダー管理モジュール214と対話することを可能にする。クラウドインフラストラクチャシステム100におけるサポートスタッフおよび顧客は、サポートUI216を介して、バグ報告を提出し、これらの報告の状態を確認することができる。
図2に図示されない他のインターフェースもクラウドインフラストラクチャシステム100によって提供されてもよい。例えば、アイデンティティドメイン管理者は、ドメインおよびユーザアイデンティティを構成するためにIDMモジュール200へのユーザインターフェースを使用し得る。また、顧客は、利用したい各サービスのための別個のインターフェースにログインし得る。特定の実施例では、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスにサブスクライブしたい顧客は、さまざまな役割および任務も割り当てられ得る。一実施例では、顧客に割り当てられ得るさまざまな役割および任務は、バイヤ、アカウント管理者、サービス管理者、アイデンティティドメイン管理者、またはクラウドインフラストラクチャシステム100によって提供されるサービスおよびリソースを利用するユーザの役割および任務を含んでいてもよい。さまざまな役割および任務は、以下の図4にさらに十分に示されている。
図3Aは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールによって実行され得る処理を示す簡略化されたフローチャート300を示す。図3Aに示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図3Aに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図3Aに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図3Aに示される処理は、図3Bに詳細に示されるように、TASコンポーネント204における1つ以上のコンポーネントによって実行され得る。
302において、顧客のサブスクリプションオーダーが処理される。当該処理は、一例ではオーダーの認証を含んでいてもよい。オーダーの認証は、顧客がサブスクリプションの代金を支払ったことを保証すること、および、顧客が同一の名前を備えたサブスクリプションをまだ有していないことを保証すること、または、(CRMサービスの場合など)許可されないサブスクリプションタイプについて同一のアイデンティティドメインにおいて同一タイプの複数のサブスクリプションを顧客が作成しようと試みていないことを保証することを含む。また、処理は、クラウドインフラストラクチャシステム100によって処理されている各オーダーについてのオーダーの状態の追跡を含んでいてもよい。
304において、オーダーに関連付けられたビジネスプロセスが特定される。いくつかの例では、複数のビジネスプロセスがオーダーについて特定され得る。各ビジネスプロセスは、オーダーのさまざまな局面を処理するための一連のステップを特定する。一例として、第1のビジネスプロセスは、オーダーのための物理的リソースのプロビジョニングに関連する1つ以上のステップを特定し得て、第2のビジネスプロセスは、オーダーについての顧客アイデンティティとともにアイデンティティドメインを作成することに関連する1つ以上のステップを特定し得て、第3のビジネスプロセスは、ユーザについての顧客記録の作成などのバックオフィス機能の実行、オーダーに関連するアカウンティング機能の実行などに関連する1つ以上のステップを特定し得る。特定の実施例では、オーダーにおけるさまざまなサービスを処理するためにさまざまなビジネスプロセスも特定されてもよい。例えば、CRMサービスおよびデータベースサービスを処理するためにさまざまなビジネスプロセスが特定されてもよい。
306において、304でオーダーについて特定されたビジネスプロセスが実行される。オーダーに関連付けられたビジネスプロセスの実行は、ステップ304において特定されたビジネスプロセスに関連付けられた一連のステップのオーケストレートを含んでいてもよい。例えば、オーダーのための物理的リソースのプロビジョニングに関連するビジネスプロセスの実行は、リソースを割り当てて、サブスクリプションオーダーを実現するために必要なそれらのリソースを構成するために、SDIモジュール206に要求を送ることを含んでいてもよい。
308において、プロビジョニングされたオーダーの状態に関する通知が顧客に送られる。ステップ302,304,306および308の実行に関連するさらなる説明については、図3Bに詳細に記載されている。
図3Bは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。一実施例では、図3Bに示されるモジュールは、図3Aに示されるステップ302〜308に記載された処理を実行する。示される実施例では、TASモジュール204は、オーダー処理モジュール310と、ビジネスプロセス識別子312と、ビジネスプロセスエクセキュータ316と、超過フレームワーク322と、ワークフロー特定モジュール324と、バンドルされたサブスクリプション生成モジュール326とを備える。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。図3Bに示されるTASモジュールのさまざまなモジュールは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例は、図3Bに示されるものよりも多くのまたは少ないモジュールを含んでいてもよい。
一実施例では、オーダー処理モジュール310は、顧客からのオーダーを1つ以上の入力ソース321から受取る。例えば、オーダー処理モジュール310は、一実施例ではクラウドUI212またはストアUI210を介してオーダーを直接受取ってもよい。代替的に、オーダー処理モジュール310は、オーダー管理モジュール214またはオーダーデータベース222からオーダーを受取ってもよい。次いで、オーダー処理モジュール310は、オーダーを処理する。特定の実施例では、オーダーの処理は、サービスタイプ、サービスレベル、顧客レベル、リソースのタイプ、サービスインスタンスに割り当てられるリソースの量、およびサービスが求められる期間などのオーダーについての情報を含む顧客記録の生成を含む。処理の一部として、オーダー処理モジュール310は、オーダーが有効なオーダーであるか否かも判断する。これは、顧客が同一の名前を備えたサブスクリプションをまだ有していないことを保証すること、または、(フュージョンCRMサービスの場合など)許可されないサブスクリプションタイプについて同一のアイデンティティドメインにおいて同一タイプの複数のサブスクリプションを顧客が作成しようと試みていないことを保証することを含む。
また、オーダー処理モジュール310は、オーダーについてのさらなる処理を実行し得る。処理は、クラウドインフラストラクチャシステム100によって処理されている各オーダーについてのオーダーの状態の追跡を含んでいてもよい。一実施例では、オーダー処理モジュール310は、オーダーに関係するいくつかの状態を特定するために各オーダーを処理し得る。一例では、オーダーのさまざまな状態は、初期化状態、プロビジョニング状態、アクティブ状態、管理が必要な状態、エラー状態などであり得る。初期化状態は、新たなオーダーの状態を指し、プロビジョニング状態は、オーダーについてのサービスおよびリソースがプロビジョニングされた時点のオーダーの状態を指す。オーダーがTASモジュール204によって処理され、その趣旨の通知が顧客に与えられると、オーダーはアクティブ状態になる。問題を解決するために管理者による介入が必要な場合、オーダーは管理が必要な状態である。オーダーを処理できない場合、オーダーはエラー状態である。オーダー進捗状態の維持に加えて、オーダー処理モジュール310は、プロセスの実行中に遭遇するいかなる障害についても詳細な情報を維持する。他の実施例では、以下で詳細に記載されるように、オーダー処理モジュール310によって実行されるさらなる処理は、サブスクリプションにおけるサービスのサービスレベルの変更、サブスクリプションに含まれるサービスの変更、サブスクリプションの期間の延長、およびサブスクリプションのキャンセルまたはサブスクリプションにおけるさまざまな期間にわたるさまざまなサービスレベルの指定も含んでいてもよい。
オーダーがオーダー処理モジュール310によって処理された後、オーダーがプロビジョニングに進むべきか否かを判断するためにビジネスロジックが適用される。一実施例では、オーダーのオーケストレートの一部として、ビジネスプロセス識別子312は、処理されたオーダーをオーダー処理モジュール310から受取って、ビジネスロジックを適用して、処理中のオーダーで使用されるべき特定のビジネスプロセスを特定する。一実施例では、ビジネスプロセス識別子312は、オーダーで使用されるべき特定のビジネスプロセスを決定するために、サービスカタログ314に格納されている情報を利用し得る。一実施例では、図3Aに示されるように、オーダーについて複数のビジネスプロセスが特定されてもよく、各ビジネスプロセスは、オーダーのさまざまな局面を処理するための一連のステップを特定する。別の実施例では、上記のように、CRMサービスまたはデータベースサービスなどのさまざまなタイプのサービスまたはサービスの組み合わせについてさまざまなビジネスプロセスが規定されてもよい。一実施例では、サービスカタログ314は、オーダーを特定のタイプのビジネスプロセスにマッピングする情報を格納し得る。ビジネスプロセス識別子312は、処理中のオーダーについての特定のビジネスプロセスを特定するためにこの情報を使用し得る。
ビジネスプロセスが特定されると、ビジネスプロセス識別子312は、実行されるべき特定のビジネスプロセスをビジネスプロセスエクセキュータ316に通信する。次いで、ビジネスプロセスエクセキュータ316は、クラウドインフラストラクチャシステム100における1つ以上のモジュールと連携して動作することによって、特定されたビジネスプロセスのステップを実行する。いくつかの実施例では、ビジネスプロセスエクセキュータ316は、ビジネスプロセスに関連付けられたステップを実行するためのオーケストレータの役割を果たす。例えば、ビジネスプロセスエクセキュータは、オーダーに関連するワークフローを特定して、オーダーにおけるサービスの超過を判断するか、またはオーダーに関連するサービスコンポーネントを特定するビジネスプロセスにおけるステップを実行するようにオーダー処理モジュール310と対話し得る。
一例では、ビジネスプロセスエクセキュータ316は、サブスクリプションオーダーにおいて要求されたサービスのためにリソースを割り当ててプロビジョニングするためのビジネスプロセスにおけるステップを実行するようにSDIモジュール206と対話する。この例では、ビジネスプロセスにおける各ステップごとに、ビジネスプロセスエクセキュータ316は、リソースを割り当てて、特定のステップを実現するために必要なリソースを構成するために、SDIコンポーネント206に要求を送り得る。SDIコンポーネント206は、リソースの実際の割り当てを担当する。オーダーのビジネスプロセスの全てのステップが実行されると、ビジネスプロセスエクセキュータ316は、サービスコンポーネント202のサービスを利用することによって、処理されたオーダーの通知を顧客に送り得る。通知は、処理されたオーダーの詳細を有する電子メール通知を顧客に送ることを含んでいてもよい。また、電子メール通知は、顧客がサブスクライブされたサービスにアクセスすることを可能にするための、オーダーに関連するデプロイメント情報も含んでいてもよい。
特定の実施例では、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に定期的に伝える。
特定の実施例では、TASモジュール204は、使用されるストレージの量、転送されるデータの量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間の量などのプロビジョニングされたサービスの各々についての使用統計をEMモジュール208から定期的に受取る。超過フレームワーク322は、サービスの過剰使用が生じたか否かを判断し、生じた場合には超過に対してどれぐらい課金されるかを判断するために当該使用統計を利用し、この情報をオーダー管理モジュール214に提供する。
特定の実施例では、TASモジュール204は、顧客のサブスクリプションオーダーの処理に関連付けられた1つ以上のワークフローを特定するように構成されるオーダーワークフロー特定モジュール324を含む。特定の実施例では、TASモジュール204は、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスについてのサブスクリプションオーダーを顧客が行うと顧客のためにサブスクリプションオーダーを生成するためのサブスクリプションオーダー生成フレームワーク326を含んでいてもよい。一実施例では、サブスクリプションオーダーは、当該サブスクリプションオーダーにおいて顧客によって要求されたサービスを提供することを担当する1つ以上のサービスコンポーネントを含む。
さらに、TASモジュール204は、もしあれば顧客が利用可能な履歴情報を考慮に入れながら、顧客によってサブスクライブされた1つ以上のサービスのためのリソースのプロビジョニングを可能にするために、テナント情報システム(Tenant Information System:TIS)データベース320などの1つ以上のさらなるデータベースとも対話し得る。TISデータベース320は、顧客によってサブスクライブされたオーダーに関係する履歴オーダー情報および履歴使用情報を含んでいてもよい。
TASモジュール204は、さまざまなデプロイメントモデルを使用してデプロイされ得る。特定の実施例では、デプロイメントは、1つ以上の分散されたコンポーネントと遣り取りする中心コンポーネントを含む。分散されたコンポーネントは、例えばさまざまなデータセンタとしてデプロイされてもよく、したがってデータセンタコンポーネントとも称されてもよい。中心コンポーネントは、クラウドインフラストラクチャシステム100においてオーダーを処理してサービスをまとめるための機能を含み、データセンタコンポーネントは、サブスクライブされたサービスのためにリソースを提供するランタイムシステムをプロビジョニングして動作させるための機能を提供する。
図4は、本発明の実施例に係るTASモジュールの例示的な分散型デプロイメントを示す。図4に示される実施例では、TASモジュール204の分散型デプロイメントは、TAS中心コンポーネント400と、1つ以上のTASデータセンタ(Data Center:DC)コンポーネント402,404および406とを含む。これらのコンポーネントは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。
一実施例では、TAS中心コンポーネント400の任務は、顧客オーダーを受取って、新たなサブスクリプションの作成、サブスクリプションにおけるサービスのサービスレベルの変更、サブスクリプションに含まれるサービスの変更、およびサブスクリプションの期間の延長、またはサブスクリプションのキャンセルなどのオーダー関連のビジネスオペレーションを実行するための集中型コンポーネントを提供することを含むが、これに限定されるものではない。また、TAS中心コンポーネント400の任務は、クラウドインフラストラクチャシステム100によって必要とされるサブスクリプションデータを維持および供給すること、ならびに、全てのバックオフィスインタラクションに対処するためにオーダー管理モジュール214、サポートUI216、クラウドUI212およびストアUI210と遣り取りすることも含んでいてもよい。
一実施例では、TAS DC402,404および406の任務は、顧客によってサブスクライブされた1つ以上のサービスのためのリソースのプロビジョニングをオーケストレートするためのランタイムオペレーションを実行することを含むが、これに限定されるものではない。また、TAS DC402,404および406は、サブスクリプションオーダーのロッキング、アンロッキング、可能化または不可能化、オーダーに関連するメトリックの収集、オーダーの状態の判断、およびオーダーに関連する通知イベントの送信などのオペレーションを実行するための機能も含む。
図4に示される分散型TASシステムの例示的なオペレーションでは、TAS中心コンポーネント400は、最初に、クラウドUI212、ストアUI210を介して、オーダー管理モジュール214を介して、またはオーダーデータベース222を介して、顧客からオーダーを受取る。一実施例では、顧客は、財務情報ならびにサブスクリプションをオーダーおよび/または変更するための権限を有するバイヤに相当する。一実施例では、オーダー情報は、顧客、顧客がサブスクライブしたいサービスのタイプ、および要求への対処を担当するアカウント管理者を特定する情報を含む。特定の実施例では、アカウント管理者は、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスへのサブスクリプションについてのオーダーを顧客が行うと、顧客によって任命され得る。オーダー情報に基づいて、TAS中心コンポーネント400は、オーダーが発生するアメリカ、EMEAまたはアジア太平洋などの世界のデータ領域、およびオーダーをプロビジョニングするためにデプロイされる特定のTAS DC(例えば402,404または406)を特定する。一実施例では、オーダーをプロビジョニングするためにデプロイされる(例えばDC402,404または406の中からの)特定のTAS DCは、要求が発生した地理的なデータ領域に基づいて決定される。
次いで、TAS中心コンポーネント400は、オーダー要求についてのサービスをプロビジョニングするためにオーダー要求を特定のTAS DCに送る。一実施例では、TAS DC402,404または406は、特定のTAS DCにおいてオーダー要求を処理することを担当するサービス管理者およびアイデンティティドメイン管理者を特定する。サービス管理者およびアイデンティティ管理者は、サブスクリプションオーダーにおいて特定されるアカウント管理者によって任命され得る。TAS DC402,404または406は、オーダーのための物理的リソースのプロビジョニングをオーケストレートするためにSDIモジュール206と通信する。それぞれのTAS DC402,404または406におけるSDIモジュール206は、リソースを割り当てて、サブスクリプションオーダーを実現するために必要なそれらのリソースを構成する。
特定の実施例では、TAS DC402,404または406は、サブスクリプションに関連付けられたアイデンティティドメインを特定する。SDIコンポーネント206は、既存のアイデンティティドメインの特定または新たなアイデンティティドメインの作成のためにアイデンティティドメイン情報をIDMコンポーネント200(図2に図示)に提供し得る。オーダーがそれぞれのTAS DC402,404または406におけるSDIモジュールによってプロビジョニングされると、TAS中心コンポーネント400は、サポートシステムにおけるプロビジョニングされたリソースに関する情報をサポートUI216を介して配置し得る。情報は、例えばサービスに関連するリソースメトリックおよびサービスの使用統計の表示を含んでいてもよい。
オペレーション時に、各データセンタにおいて、EMモジュール208は、当該データセンタにおいてプロビジョニングされたプロビジョニングされたサービスの各々について、使用されるストレージの量、転送されるデータの量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間の量などの使用統計を定期的に収集する。これらの統計は、EMモジュール208にローカルな(すなわち、同一のデータセンタにおける)TAS DCに提供される。実施例では、TAS DCは、サービスの過剰使用が生じたか否かを判断し、生じた場合には超過に対してどれぐらい課金されるかを判断するために使用統計を使用し、課金情報をオーダー管理モジュール214に提供し得る。
図5は、本発明の実施例に係るクラウドインフラストラクチャシステムにおける1つ以上のモジュールとのSDIモジュールのインタラクションを示す簡略ブロック図である。一実施例では、SDIモジュール206は、TASモジュール204によって受取られたサブスクリプションオーダーにおけるサービスのためのリソースをプロビジョニングするためにTASモジュール204と対話する。特定の実施例では、図5に示されるモジュールのうちの1つ以上は、クラウドインフラストラクチャシステム100内のモジュールであってもよい。他の実施例では、SDIモジュール206と対話するモジュールのうちの1つ以上は、クラウドインフラストラクチャシステム100の外側にあってもよい。また、代替的な実施例は、図5に示されるものよりも多くのまたは少ないモジュールを有していてもよい。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。
一実施例では、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クラウドサービスをプロビジョニングするために必要なリソースを決定する。
他の例として、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と対話する。
図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に示されるものよりも多くのまたは少ないモジュールを有していてもよい。これらのモジュールおよびそれらの機能については、以下で詳細に説明する。
SDI−WSモジュール600は、TASコンポーネント204のビジネスプロセスエクセキュータ316から、オーダーに関連付けられたビジネスにおけるステップを受取るための機能を含む。一実施例では、SDI−WSモジュール600は、ビジネスプロセスの各ステップを構文解析し、当該ステップをSDIモジュール206によって使用される内部表現に変換する。一実施例では、オーダーに関連付けられたビジネスプロセスの各ステップは、SDI−WSモジュール600へのSOAP要求の形態で、ウェブサービス処理層を介して(例えば図3Bに示されるシステムプロビジョニングAPIを介して)到着する。
SDI要求コントローラモジュール602は、SDIモジュール206における内部要求処理エンジンであり、非同期要求処理、同時要求処理、同時タスク処理、オーダー要求に関連するフォールト・トレラントな回復およびプラグインサポートを実行するための機能を含む。一実施例では、SDI要求コントローラモジュール602は、オーダーに関連付けられたビジネスプロセスの各ステップをSDI−WSモジュール600から受入れ、当該ステップをSDIタスクマネージャモジュール604に提出する。
SDIタスクマネージャモジュール604は、ビジネスプロセスにおいて規定された各ステップを、特定のステップをプロビジョニングするための一連のタスクに変換する。特定のステップのための一組のタスクがプロビジョニングされると、SDIタスクマネージャモジュール604は、特定のステップを実現するためにプロビジョニングされたリソースの詳細を有するオーダーペイロードを含むオペレーション結果により、TASモジュール204におけるビジネスプロセスエクセキュータ316に応答する。SDIタスクマネージャモジュール604は、オーダーに関連付けられた特定のビジネスプロセスの全てのステップが完了するまで、このプロセスを繰返す。
特定の実施例では、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において人々と情報とのコネクティビティを与えるための機能を含む。
特定の実施例では、ミドルウェアアプリケーション(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つ以上のウェブサーバと遣り取りする。
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におけるモジュールのための構成サポートを提供する。
上記の図6の実施例は、本発明の実施例に係るSDIモジュールにおけるモジュールを記載している。図7Aは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIモジュールのモジュールによって実行され得る処理を示す簡略化されたフローチャート700を示す。図7Aに示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図7Aに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図7Aに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図7Aに示される処理は、図6に詳細に示されるSDIモジュール206における1つ以上のモジュールによって実行され得る。
702において、サブスクリプションオーダーに関連付けられたビジネスプロセスが受取られる。一実施例では、SDIモジュール206におけるSDI−WSモジュール600は、サブスクリプションオーダーに関連付けられたビジネスプロセスにおける1つ以上のステップをビジネスプロセスエクセキュータ316から受取る。704において、ビジネスプロセスにおける各ステップは、サブスクリプションオーダーのためのリソースをプロビジョニングするための一連のタスクに変換される。一実施例では、SDIモジュール206におけるSDIタスクマネージャモジュール604は、SDIコネクタモジュール612のサービスを利用することによって、ビジネスプロセスにおいて規定された各ステップを一連のタスクに変換する。706において、サブスクリプションオーダーは、一連のタスクに基づいてプロビジョニングされる。一実施例では、図6に示されるように、SDIコネクタモジュール612は、サブスクリプションオーダーにおけるサービスのためのリソースをプロビジョニングするために、SDIタスクマネージャモジュール604によって規定されるタスクのデプロイメントに対処するための1つ以上のコネクタを含む。
図6に関して上記したように、SDIタスクマネージャモジュール604は、SDIコネクタモジュール612のサービスを利用することによって、ビジネスプロセスにおいて規定された各ステップを一連のタスクに変換し、SDIコネクタモジュール612は、オーダー要求に関連する1つ以上のサービスをプロビジョニングするために、SDIタスクマネージャモジュール604によって規定されるタスクのデプロイメントに対処するための1つ以上のコネクタを含んでいてもよい。コネクタのうちの1つ以上は、特定のサービスタイプに特有のタスクに対処することができ、他のコネクタは、さまざまなサービスタイプにわたって共通のタスクに対処することができる。一実施例では、SDIコネクタモジュール612は、オーダー要求に関連するサービスおよびリソースをプロビジョニングするためにクラウドインフラストラクチャシステム100における外部モジュール(図5に図示)のうちの1つ以上と遣り取りする一組のコネクタ(ラッパーAPI)を含む。例えば、NUVIAQコネクタ620は、JavaサービスをプロビジョニングするためにVABモジュール502と遣り取りする。
図7Bは、本発明の実施例に係るNuviaqシステム710および他のクラウドインフラストラクチャコンポーネントとのその関係の高レベルアーキテクチャを示す簡略ブロック図を示す。図7Bに示されるNuviaqシステム710は、図7Bに示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図7Bに示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、Nuviaqシステム710は、図7Bに示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。
特定の実施例では、Nuviaqシステム710は、PaaSオペレーションをオーケストレートするためのランタイムエンジンを提供するように構成され得る。Nuviaqシステム710は、他の製品およびサービスとの統合を容易にするためにウェブサービスAPIを提供し得る。また、Nuviaqシステム710は、システムプロビジョニング、アプリケーションデプロイメントおよび関連付けられたライフサイクルオペレーションにおける複雑なワークフローのためのサポートを提供し、管理およびモニタリングソリューションと統合する。
図7Bに示される実施例では、Nuviaqシステム710は、Nuviaqプロキシ712と、Nuviaqマネージャ714と、Nuviaqデータベース716とを備える。特定の実施例では、Nuviaqマネージャ714は、Nuviaqシステム710へのエントリポイントを提供し、ウェブサービスAPIを介してPaaSオペレーションへの安全なアクセスを提供する。内部では、Nuviaqマネージャ714は、データベースにおいてシステム状態を追跡し、ワークフローエンジン上でジョブの実行を制御する。パブリッククラウドでは、Nuviaqマネージャ714は、プロビジョニングオペレーションおよびデプロイメントオペレーションをそれぞれ駆動するために、テナントプロビジョニングシステム(SDI206)およびテナントコンソールによってアクセスされ得る。
一実施例では、Nuviaqマネージャ714は、内部ワークフローエンジンを介して非同期にジョブを実行する。ジョブは、所与のPaaSワークフローに特有のアクションのシーケンスであってもよい。アクションは、順番に実行されてもよく、任意のステップにおける障害は、結果としてジョブ全体の障害になる。多くのワークフローアクションは、EMコマンドラインインターフェース(cli)などのワークフローに関連する外部システムに権限を委任する。一実現例では、Nuviaqマネージャ714アプリケーションは、ファイアウォール内で実行される関連付けられたHTTPサーバ(例えばオラクルHTTPサーバまたはOHS)インスタンスを有する2ノードウェブロジッククラスタにおいてホストされ得る。
特定の実施例では、Nuviaqプロキシ712は、Nuviaq APIへのパブリックアクセスポイントである。一実施例では、パブリックAPIのみがここで公開され得る。プロキシ712によって受取られた要求は、Nuviaqマネージャ714に送られ得る。一実施例では、Nuviaqプロキシ712はファイアウォールの外側で実行される一方、マネージャ714はファイアウォール内で実行される。一実現例では、Nuviaqプロキシ712アプリケーションは、ファイアウォールの外側で実行されるウェブロジッククラスタ上で実行される。
特定の実施例では、Nuviaqデータベース716は、プラットフォームインスタンス、デプロイメント計画、アプリケーション、ウェブロジックドメイン、ジョブ、アラーとなどであるがこれらに限定されないさまざまなドメインエンティティを追跡する。必要に応じて、主キーがサービスデータベースと整合させられてもよい。
一実施例では、プラットフォームインスタンス718は、所与のテナントのためのウェブロジックサービスに必要な全てのリソースを含んでいてもよい。
Nuviaqシステム710は、ウェブロジッククラウドサービスによって使用されるワークフローを実行するために、クラウドインフラストラクチャシステム100のさらなるシステムに依拠し得る。これらの依存性は、SDI206、IDM200、ウイルススキャンシステム、サービスデータベース、CRMインスタンスなどへの依存性を含んでいてもよい。例えば、Nuviaqシステム710は、SDI206におけるアセンブリデプロイヤによって実行される機能に依存し得る。一実施例では、アセンブリデプロイヤは、OVAB(オラクルバーチャル・アセンブリ・ビルダ)およびOVM(オラクル仮想マシン)とのインタラクションを管理するためのシステムである。Nuviaqシステム710によって使用されるアセンブリデプロイヤの機能は、アセンブリをデプロイするための機能、アセンブリをアンデプロイするための機能、アセンブリデプロイメントを説明するための機能、アプライアンスをスケーリングするための機能などを含み得るが、これらに限定されるものではない。一実現例では、Nuviaqシステム710は、ウェブサービスAPIを介してアセンブリデプロイヤにアクセスする。
特定の実施例では、セキュリティポリシは、アプリケーションにデプロイされる前に特定のアーティファクトがウイルススキャンされることを必要とし得る。クラウドインフラストラクチャシステム100は、この目的でウイルススキャンシステムを提供し得て、パブリッククラウドの複数のコンポーネントのためのサービスとしてスキャンを提供する。
特定の実施例では、パブリッククラウドインフラストラクチャは、テナント(例えば顧客)およびそれらのサービスサブスクリプションについての情報を含むサービスデータベースを維持し得る。Nuviaqワークフローは、テナントもサブスクライブする他のサービスに対するクライアントとしてウェブロジックサービスを適切に構成するために、このデータにアクセスし得る。
Nuviaqシステム710は、そのセキュリティ統合のためにIDM200に依存し得る。特定の実施例では、Javaサービスインスタンスは、CRMインスタンスに関連付けられ得る。当該関連付けにより、Javaサービスインスタンスにデプロイされたユーザアプリケーションは、ウェブサービスコールを介してCRMインスタンスにアクセスできる。
Nuviaqシステム710によって提供されるサービスをさまざまなエンティティが使用し得る。Nuviaqシステム710のこれらのクライアントは、プラットフォームインスタンス上でアプリケーションを管理するために顧客がアクセスし得る管理サーバ(例えばオラクル管理サーバ)ベースのユーザインターフェースであるテナントコンソールと、アプリケーションライフサイクル管理オペレーションへのアクセスを提供するように拡張されたオラクルIDE(JDeveloper、NetBeansおよびOEPE)などのいくつかのIDEと、プラットフォームインスタンス上のライフサイクルオペレーションにアクセスするために利用可能な1つ以上のコマンドラインインターフェース(Command Line Interface:CLI)とを含んでいてもよい。
Nuviaqシステム710についてのプロビジョニング使用事例、すなわちプロビジョニングプラットフォームインスタンスの使用事例は、Nuviaq APIの作成プラットフォームインスタンスオペレーションによって実現される。クラウドインフラストラクチャシステム100の文脈では、Nuviaqシステムに対するサービスインスタンスは、Nuviaqプラットフォームインスタンスに対応する。プラットフォームインスタンスは、このインスタンスに関連する全ての後続のオペレーション上で使用される独自の識別子を割り当てられる。作成プラットフォームインスタンスアクションに提供されるプラットフォームデプロイメント記述子により、テナントのサブスクリプション要件を満たすようにプラットフォームインスタンスの構成を修正するプロパティを設定することができる。これらのプロパティは、例えば以下を含んでいてもよい:
プロパティ#1:oracle.cloud.service.weblogic.size
値:ベーシック、標準、エンタープライズ
説明:サブスクリプションタイプを規定する。これは、サーバの数、データベース限度およびサービス設定の質に影響を及ぼす。
プロパティ#2:oracle.cloud.service.weblogic.trial
値:真、偽
説明:これがトライアルサブスクリプションであるか否かを示す。
プロパティ#3:oracle.cloud.service.weblogic.crm
値:CRMサービスID
説明:このウェブロジックサービスインスタンスに関連付けられるべきCRMサービスを特定する。
図7Cは、本発明の実施例に係るNuviaqシステムを使用するプロビジョニングプロセスのステップを示す例示的なシーケンス図を示す。図7Cに示されるシーケンス図は、一例に過ぎず、限定的であるよう意図されるものではない。
インストール/更新アプリケーションの使用事例、すなわちインストールアプリケーションオペレーションは、アプリケーションアーカイブがパブリッククラウドのセキュリティ要件を満たすことを確認した後に、実行中のウェブロジックサーバにアプリケーションをデプロイする。一実施例では、インストールアプリケーションアクションに提供されるアプリケーションデプロイメント記述子により、テナントのサブスクリプション要件を満たすようにアプリケーションの構成を修正するプロパティを設定することができる。これらのプロパティは、例えば以下を含んでいてもよい:
プロパティ:oracle.cloud.service.weblogic.state
値:実行、停止
説明:デプロイメント後のアプリケーションの初期状態を規定する。
図7Dは、本発明の実施例に係るNuviaqシステムを使用するデプロイメントプロセスのステップを示す例示的なシーケンス図を示す。図7Dに示されるシーケンス図は、一例に過ぎず、限定的であるよう意図されるものではない。
図2に戻って、特定の実施例では、協働して動作するTAS204およびSDI206は、クラウドインフラストラクチャシステム100によって提供される一組のサービスから顧客によってオーダーされた1つ以上のサービスのためにリソースをプロビジョニングすることを担当する。例えば、一実施例では、データベースサービスをプロビジョニングするために、自動化されたプロビジョニングフローは、有料サブスクリプションについては以下のようなものであってもよい:
(1)顧客は、ストアUI210を介して、サービスの有料サブスクリプションのオーダーを行う。
(2)TAS204がサブスクリプションオーダーを受取る。
(3)サービスが利用可能であると、TAS204は、SDI206のサービスを使用することによってプロビジョニングを開始する。TAS204は、ビジネスプロセスのオーケストレーションを実行してもよく、関連のビジネスプロセスを実行してオーダーのプロビジョニング局面を完了する。一実施例では、TAS204は、プロビジョニングに関わるステップをオーケストレートして、ライフサイクルオペレーションを処理するために、BPEL(ビジネスプロセス実行言語:Business Process Execution Language)プロセスマネージャを使用し得る。
(4)一実施例では、データベースサービスをプロビジョニングするために、SDI206は、要求を行っている顧客にスキーマを関連付けるようにCLOUD_UIにおけるPLSQL APIを呼出し得る。
(5)顧客へのスキーマの関連付けが成功した後、SDIはTASに知らせて、TASは、データベースサービスが現在顧客によって使用可能な状態にあるという通知を顧客に送る。
(6)顧客は、(例えばcloud.oracle.comなどのURALを使用して)クラウドインフラストラクチャシステム100にログインし、サービスを起動し得る。
いくつかの実施例では、顧客は、トライアルベースでサービスにサブスクライブすることも許可されてもよい。例えば、このようなトライアルオーダーは、(例えばcloud.oracle.comを使用して)クラウドUI212を介して受取られ得る。
特定の実施例では、クラウドインフラストラクチャシステム100は、顧客またはテナント同士の間で基本的なハードウェアおよびサービスインスタンスが共有されることを可能にする。例えば、データベースサービスは、一実施例では、図7Eに示されるようにプロビジョニングされ得る。図7Eは、複数のExadata演算ノード730および732を示し、演算ノード730および732の各々が、データベースサービスのためにプロビジョニングされたデータベースインスタンスを提供する。例えば、演算ノード730は、データベースサービスのためのデータベースインスタンス734を提供する。各々のExadata演算ノードは、複数のデータベースインスタンスを有していてもよい。
特定の実施例では、各データベースインスタンスは、複数のスキーマを備えていてもよく、当該スキーマは、異なる顧客またはテナントに関連付けられてもよい。例えば、図7Eでは、データベースインスタンス734は、2つのスキーマ736および738を提供し、スキーマ736および738の各々は、それ自体のテーブルを有する。スキーマ736は、データベースサービスにサブスクライブする第1の顧客またはテナントに関連付けられ得て、スキーマ738は、データベースサービスにサブスクライブする第2の顧客またはテナントに関連付けられ得る。各テナントは、完全に切離されたスキーマを得る。各スキーマは、関連付けられたテナントについてのテーブル、ビュー、格納されたプロシージャ、トリガなどを含むデータベースオブジェクトを管理できる容器のように動作する。各スキーマは、1つの専用のテーブル領域を有し得て、各々のテーブル領域は、1つのデータファイルを有する。
このように、単一のデータベースインスタンスは、複数のテナントにデータベースサービスを提供することができる。これは、基本的なハードウェアリソースの共有を可能にするだけでなく、テナント同士の間でのサービスインスタンスの共有も可能にする。
特定の実施例では、このようなマルチテナンシシステムは、IDM200によって容易になり、これにより、各々がそれ自体の別個のアイデンティティドメインを有する複数の別個の顧客が、クラウドにおいて共有されるハードウェアおよびソフトウェアを使用することが有利に可能になる。その結果、各顧客が自身の専用のハードウェアまたはソフトウェアリソースを有する必要がなくなり、場合によっては、特定の時点で一部の顧客によって使用されていないリソースが、他の顧客によって使用可能になり、それによってそれらのリソースが無駄になることを防止する。例えば、図7Eに示されるように、データベースインスタンスは、各々がそれぞれのアイデンティティドメインを有する複数の顧客に供給されることができる。各々のこのようなデータベースサービスインスタンスは、多くの別個のアイデンティティドメインの中で共有される単一の物理的なマルチテナントデータベースシステムの別個の抽象化またはビューであり得るが、各々のこのようなデータベースサービスインスタンスは、各々の他のデータベースサービスインスタンスが有するものとは別個の、場合によっては異なるスキーマを有することができる。したがって、マルチテナントデータベースシステムは、顧客指定のデータベーススキーマとそれらのデータベーススキーマが関係するアイデンティティドメインとの間のマッピングを格納し得る。マルチテナントデータベースシステムは、特定のアイデンティティドメインのためのデータベースサービスインスタンスに、当該特定のアイデンティティドメインにマッピングされるスキーマを使用させ得る。
また、マルチテナンシは、Javaサービスなどの他のサービスに拡張可能である。例えば、複数の顧客は、それぞれのアイデンティティドメイン内に配置されたJAVAサービスインスタンスを有し得る。各々のこのようなアイデンティティドメインは、ハードウェアの仮想的な「スライス」と見なされることができるJAVA仮想マシンを有し得る。一実施例では、ジョブモニタリングサービス(例えばハドソン)は、各々の別個のアイデンティティドメインがJAVAエンタープライズ版プラットフォームのそれ自体の別個の仮想的な「スライス」を有することを可能にするように、クラウドにおけるJAVAエンタープライズ版プラットフォーム(例えばオラクルウェブロジック)と組み合わせられてもよい。このようなジョブモニタリングサービスは、例えばオペレーティングシステムの時間ベースのジョブスケジューラによって実行されるソフトウェアプロジェクトまたはジョブの構築などの繰返されるジョブの実行をモニタリングし得る。このような繰返されるジョブは、ソフトウェアプロジェクトの連続的な構築および/またはテストを含んでいてもよい。さらにまたは代替的に、このような繰返されるジョブは、ジョブモニタリングサービスが実行されるマシンから離れたマシン上で実行されるオペレーティングシステム起動ジョブの実行のモニタリングを含んでいてもよい。
図8は、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。図8は図2と類似しているが、サービスブループリントコンポーネント201が追加されている。
サービスブループリントコンポーネントは、1つ以上のコンピュータおよび/またはサーバを含んでいてもよく、当該1つ以上のコンピュータおよび/またはサーバは、汎用コンピュータ、特化サーバコンピュータ、サーバファーム、サーバクラスタ、またはその他の適切な配置および/もしくは組み合わせであってもよい。図8に示されるクラウドインフラストラクチャシステム100のさまざまなコンポーネントは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例は、図8に示されるものよりも多くのまたは少ないコンポーネントを含んでいてもよい。
この実施例によれば、(5)において、TASコンポーネント204は、サービスブループリントコンポーネント201のサービスを使用して、サブスクライブされたサービスをサポートするために、リソースのプロビジョニングをオーケストレートする。(6)において、TASモジュール204は、サービスブループリントコンポーネント201から受取られた、プロビジョニングされたオーダーに関連する情報をサービスモジュール202に提供する。いくつかの実施例では、(7)において、サービスブループリントコンポーネント201は、顧客のサブスクリプションオーダーを実現するために必要なリソースを割り当てて構成するために、サービスモジュール202によって提供されるサービスも使用し得る。
(8)において、サービスモジュール202は、オーダーの状態に関する通知をクライアント装置224,226および228上の顧客に送る。
特定の実施例では、サービスブループリントコンポーネント201は、各オーダーに関連付けられたビジネスプロセスを管理し、ビジネスロジックを適用してオーダーがプロビジョニングに進むべきか否かを判断するオーケストレーションコンポーネントとして機能する。一実施例では、新たなサブスクリプションのオーダーを受取ると、サービスブループリントコンポーネント201は、リソースを割り当てて、当該サブスクリプションオーダーを実現するために必要なそれらのリソースを構成する。サービスブループリントコンポーネント201は、顧客によってオーダーされたサービスのためのリソースの割り当てを可能にする。サービスブループリントコンポーネント201は、クラウドインフラストラクチャシステム100によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間の抽象化のレベルを提供する。
一実施例では、図3Aに示される処理は、図9に詳細に示されるように、TASコンポーネント204における1つ以上のコンポーネントおよびサービスブループリントコンポーネント201によって実行され得る。ステップ302,304,306および308の実行に関連するさらなる説明については、図9に詳細に記載されている。図9は図3Bと類似しているが、サービスブループリントコンポーネント201が追加されている。
一実施例では、図9に示されるコンポーネントは、図3Aに示されるステップ302〜308に記載されている処理を実行する。
いくつかの例では、オーダーがオーダー処理システム310によって処理された後、TASコンポーネント204およびサービスブループリントコンポーネント201は、ビジネスロジックを適用して、オーダーがプロビジョニングに進むべきか否かを判断する。一実施例では、サービスブループリントコンポーネント201は、リソースを割り当てて、サブスクリプションオーダーを実現するために必要なそれらのリソースを構成する。サービスブループリントコンポーネント201は、顧客によってオーダーされたサービスのためのリソースの割り当てを可能にする。
上記のように、クラウドインフラストラクチャシステム100は、顧客によってオーダーまたはサブスクライブされ得る1つ以上のクラウドサービスを提供することができる。一般に、各サービスは、サービスを提供するために必要な演算リソースをプロビジョニングするための関連付けられたパラメータおよびプロシージャを有する。例えば、パラメータは、サービスのさまざまなビジネス処理局面に関連し得て、当該さまざまなビジネス処理局面は、さまざまなサービス提案、サービスによって使用されるプロプライエタリクライアント情報、サービスについてのオーダー詳細、超過(すなわちサービスの過剰使用)を演算するためのプロシージャ、サービスのために使用される使用メトリック、さまざまなカスタム属性、サービスの関連付け、顧客通知テンプレート、価格決定情報、課金情報などであるが、これらに限定されるものではない。演算リソースをプロビジョニングするためのプロシージャは、物理ストレージ、物理コンポーネント、EM統合、IDMフットプリントの作成、URLルーティング、ポッド定義、テナント配置プラグイン、テナント当たりのフットプリント作成プラグイン、モニタリング構成、アイデンティティ管理フットプリント構成、ネットワーク構成などの割り当てのためのプロシージャを含み得るが、これらに限定されるものではない。
クラウドインフラストラクチャシステム100が、サービスをオーダーする顧客からサブスクリプションオーダーを受取ると、クラウドインフラストラクチャシステム100は、オーダーされたサービスに関連付けられたさまざまなパラメータ(例えば、オーダーされたサービスのビジネス処理局面に関連するパラメータ)に関連する情報を集めるために処理を実行し、次いで、オーダーされたサービスのためのプロビジョニングプロシージャを使用して、サービスをオーダーする。1つのクラウドサービスが別のクラウドサービスとは異なっているので、パラメータ(例えば、ビジネス処理局面に関連するパラメータ)および異なるサービスのためのプロビジョニングプロシージャは一般には非常に異なっている。サービス当たりのこの多様性のために、クラウドインフラストラクチャシステム100がサービスプロビジョニングを自動化することが相当困難かつ複雑になる。また、これにより、それ自体の新たなパラメータおよびプロビジョニングプロシージャを有する新たなクラウドサービスをクラウドインフラストラクチャシステム100によって提供されるサービスに追加するプロセスが、困難かつ複雑になる。
特定の実施例では、クラウドインフラストラクチャシステム100によってサービス宣言テンプレートが提供され、当該サービス宣言テンプレートは、特定のサービスのプロバイダによって「記入される」ことができ、サービス関連のパラメータ(例えばビジネスプロセス局面パラメータ)、プロビジョニング局面またはプロシージャ、および当該特定のサービスのための他の可能な局面をサービスプロバイダが宣言的に規定することを可能にする。そして、特定のサービスのための記入されたテンプレートは、特定のサービスのためのサービス宣言(また、サービスのためのサービスブループリントと称されることもある)に相当する。特定の実施例では、サービスのためのサービス宣言は、サービスのためのビジネス処理局面情報、および、サービスのためのリソースプロビジョニング局面を駆動するバイナリを備える。
サービスのためのサービス宣言は、サービスプロバイダと、サービスをプロビジョニングするクラウドインフラストラクチャシステム100との間のインターフェースを提供する。サービス宣言テンプレートスキーマは、サービスをプロビジョニングするためのプロシージャに関連するサービス関連のパラメータおよび情報をサービスプロバイダが規定することを可能にする。サービスのためのサービス宣言は、顧客のサブスクリプションオーダーに応答してサービスをプロビジョニングするためにクラウドインフラストラクチャシステム100によって必要とされる全ての情報をクラウドインフラストラクチャシステム100が利用できるようにする。クラウドサービスのサブスクリプションオーダーを受取ると、クラウドインフラストラクチャシステム100は、オーダーされたサービスのためのサービス宣言にアクセスし、次いでサービス宣言からの情報を使用してサービスをプロビジョニングするように構成される。したがって、サービス宣言は、プロビジョニングインフラストラクチャを完全に宣言的なモデルに発展させるのに役立つ。
一実施例では、サービス宣言テンプレートはXSD文書であり、サービス宣言はXML文書である。別の実施例では、サービス宣言テンプレートはXML文書である。サービス宣言テンプレートは、テナントの新たなサブスクリプションの作成、既存のサブスクリプションの解約、サブスクリプションの変更などのサービスについてのさまざまなプロビジョニングライフサイクルオペレーションのための実行フローをクラウドサービスのプロバイダが宣言的に規定することを可能にするための特定のスキーマを提供する。
サービス宣言テンプレートは、クラウドインフラストラクチャシステム100自体によって提供される「内部」クラウドサービス、または、クラウドインフラストラクチャシステム100を介してサードパーティサービスプロバイダによって(例えばアプリケーションストアを介して)提供される「外部」クラウドサービスのために使用され得る。例えば、サービスプロバイダが、クラウドインフラストラクチャシステム100によって提供されるサービスに新たなクラウドサービスを追加したい場合、サービスプロバイダは、サービス宣言テンプレートに記入することによって新たなサービスのためのサービス宣言を作成する。次いで、サービス宣言がクラウドインフラストラクチャシステム100に提供され、クラウドインフラストラクチャシステム100は次いで、サービス宣言を使用してサービスを顧客に提供し、新たなサービスがサブスクリプションオーダーによってオーダーされるとプロビジョニング関連の処理を実行する。
サービス宣言は、新たなサービスをクラウドインフラストラクチャシステム100のサービス提案に追加するための容易かつ柔軟な方法を提供する。新たなサービスは、動的な態様でクラウドインフラストラクチャシステム100に追加され、クラウドインフラストラクチャシステム100のサービス提案に反映されることができる。
さらに、サービス宣言は、クラウドインフラストラクチャシステム100のコンポーネント(例えばTAS、SDI、EM、IDM、URLルーティング)が、当該コンポーネントに必要とされるいかなるコード変更もなしに、クラウドインフラストラクチャシステム100に追加される新たなサービスをサポートできるようにすることを可能にする。いくつかの例では、インフラストラクチャコンポーネントは全て、宣言型モデルに基づき得て、いかなるサービス特有のカスタムコードも有することはできない。
例えば、サービスのためのサービス宣言において規定されるXMLベースのプロビジョニングプロシージャは、TASビジネス処理およびマルチテナントポッドプロビジョニングを含んでいてもよい。TASビジネス処理は、サービス提案、カスタム属性、メトリック、超過、関連付けおよび通知テンプレートを含んでいてもよい。マルチテナントポッドプロビジョニングの例としては、物理的フットプリント定義、関連のポッド情報(例えばサービスタイプ当たりのポッド、ポッドにおけるインスタンス、ポッドの物理的レイアウト)を追跡するための永続的なスキーマ、およびテナント当たりのサービスプロビジョニングが挙げられ得る。さらに、テナント当たりのサービスプロビジョニングは、プロビジョニング中に実行されるタスク(例えばIDMフットプリント、EMターゲットの作成、URLルーティング、サービスに特有のプラグインの呼出し)、任意のテナント当たりの物理的フットプリント、およびサービスインスタンスフットプリントを追跡するための永続的なスキーマ、およびidドメイン情報を含んでいてもよい。
特定の実施例では、サービス宣言に関連する処理は、サービスブループリントコンポーネント201によって実行される。サービスブループリントコンポーネント201は、サービスプロバイダがサービス宣言テンプレートにアクセスして、サービス宣言を送信することを可能にするように構成され得る。一実施例では、サービスブループリントコンポーネント201は、SDIコンポーネント206の役割を担い、SDIコンポーネント206に取って代わることができる。いくつかの他の実施例では、サービスブループリントコンポーネント201は、SDIコンポーネント206とともにプロビジョニングを実行し得る。
特定の実施例では、クラウドインフラストラクチャシステム100によって提供されるサービスは、サービスカタログにリストアップされる。サービスがサービスカタログを介して顧客に提供され得る前に、サービスはまずクラウドインフラストラクチャシステム100に登録されなければならない。新たなサービスの登録の一部として、サービスをいかにプロビジョニングすべきかについての全ての局面を取込むサービス宣言がサービスに提供され得る。例えば、XMLサービス宣言が提供されてもよい。
例えば、サービスプロバイダが新たなデータベースサービスを登録し得る。当該新たなサービスのためのサービス宣言は、データベースサービスに関連するさまざまなパラメータおよびプロビジョニングプロシージャを規定し得る。パラメータは、さまざまなサービスレベル、サービスに関連するメトリックなどを特定し得る。例えば、パラメータは、サービスをプロビジョニングするためにサービス名、パスワードなどの特定の顧客関連情報が必要とされ得ることを示し得る。したがって、サービス宣言におけるビジネス要件関連のパラメータは、データベースサービスを得るために必要とされる情報を特定し得る。また、サービス宣言は、サービスをプロビジョニングするために使用されるプロシージャを特定する情報を備えていてもよい。プロビジョニングの際、クラウドインフラストラクチャシステム100は、サービスをプロビジョニングするために(例えばBPELベースのオーケストレータを介して)バックエンドオーケストレーションを実行し得る。また、サービス宣言は、データベースサービスのためのプロビジョニング要件が、要求される仮想マシン(VM)の数、VM上で必要とされるスクリプト、データベースサービスと他のサービスとの間の必要なインターフェースなどについての情報を含むことを規定し得る。いくつかの例では、プロビジョニングは、APIを使用してなされることができる。
サービスがクラウドインフラストラクチャシステム100に登録されると、当該サービスはサービスカタログに追加され、顧客に提供されて、例えばクラウドUIを介してオーダーされる。サービスカタログに入ると、サービスは直ちにオーダー可能になり、クラウドにデプロイ可能になる。
例えば、クラウドインフラストラクチャシステム100は、ウェブサービス、Javaサービス、データベースサービスなどを提供し得る。これまで、データベースサービス開発者は、クラウド上で利用可能であるようにデータベースサービスを登録してきたかもしれない。要求されるパラメータをブループリントにおいて提供することによって、開発者は、ブループリントにおけるデータベースサービスを定義し、データベースを登録することができる。その結果、データベースサービスは、クラウドUIからの顧客のオーダーに利用可能になり得る。
したがって、サービス宣言は、クラウドサービスを追加して、クラウドインフラストラクチャシステム100を介してそれらを利用可能にするための拡張可能なモデルを提供する。いかなる新たなサービスもサービス宣言を使用して登録することができる。当該サービスがオーダー可能になると、サービスは、サービス宣言を使用してクラウドインフラストラクチャシステム100によってプロビジョニングされ得る。サービス宣言は、新たなオーダーのために各サービスを拡張可能にすることによってサービスのプロビジョニングを自動化するのに役立つ。例えば、顧客は、クラウドインフラストラクチャシステム100によって提供されるクラウドサービスをオーダーし得る。要求されたサービスのためのサービス宣言は、サービス関連のビジネスプロセス局面およびプロビジョニングプロシージャが後に続くことを保証することを含む、サービスをプロビジョニングするために使用されるものを提供する。
特定の実施例では、サービスブループリントコンポーネント201は、サービスプロバイダがサービス宣言テンプレートを埋めることを可能にするインターフェースを提供し得る。例えば、サービスプロバイダは、記入されるべきXMLフォーマットのテンプレートを提供され得る。テンプレートのスキーマは、テンプレートが複数のサービスで使用できるようにサービス関連のパラメータを一般化する。
特定の実施例では、サービス宣言は、サービスをプロビジョニングする際に可能なさまざまなオペレーションを全て取込むことができる。例えば、サービスのためのサービス宣言は、サービスのためのオンボーディングオペレーションがサービスのインスタンスの作成を含み、特定のパラメータ(例えば、サービスがスケールアウトする必要がある場合、ユーザ要件)を規定する必要があることを示す情報を提供し得る。また、サービス宣言は、今日は50人のユーザのためにサービスがオーダーされるが将来的には5000人のユーザにまで増大する可能性がある場合などにサービスをスケーリングするためのプロシージャを特定し得る。サービスプロビジョニングの一部として、TASコンポーネント204は、オンボーディングおよびスケールアップ機能を自動的に実行するために、サービスのためのサービス宣言からの情報を使用し得る。
図10は、本発明の実施例に係るサービスブループリントコンポーネントの簡略化された高レベル図を示す。図10に示されるように、サービスブループリントコンポーネント201は、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよいさまざまなコンポーネントを含む。図10に示されるサービスブループリントコンポーネント201およびそのさまざまなコンポーネントは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例は、図6に示されるものよりも多くのまたは少ないコンポーネントを有していてもよい。これらのコンポーネントおよびそれらの機能については、以下で詳細に説明する。
図10に示されるように、サービス宣言テンプレートに関連する情報および1つ以上の登録されたサービスのためのサービス宣言がブループリントデータベース668に格納され得る。データベース668は、要求/応答スキーマ670、ポッドスキーマ672、ブループリントレジストリ674およびサービスインスタンススキーマ676を格納し得る。
図10に示される実施例では、サービスブループリントコンポーネント201は、TASコンポーネント204およびDevOps(開発およびオペレーションインフラストラクチャ)と遣り取りする。TAS204は、サービスブループリント201と対話するためにサービスプロバイダAPI652を使用し得る。DevOpsは、サービスブループリントコンポーネント201と対話するためにポッド管理API654を使用し得る。サービスプロビジョニングAPI652およびポッド管理API654は、オーダーに関連付けられたビジネスプロセスに関連する情報をTASコンポーネント204のビジネスプロセスエクセキュータ316から受取るための機能を含む。一実施例では、サービスプロビジョニングAPI652およびポッド管理API654は、ビジネスプロセスの各ステップを構文解析して、ステップをサービスブループリントコンポーネント201によって使用される内部表現に変換し得る。この内部表現は、サービス宣言におけるスキーマ表現に基づき得る。一実施例では、オーダーに関連付けられたビジネスプロセスの各ステップは、サービスプロビジョニングAPI652およびポッド管理API654へのSOAP要求の形態で、ウェブサービス処理層を介して(例えば図9に示されるTAS API318を介して)到着する。
いくつかの例では、サービスプロビジョニングAPI652およびポッド管理API654は、共通のAPIを介して提供されることができる。しかし、特定の実施例では、ポッド作成対サービスインストール作成のための異なるポッドインスタンスが存在し得る。サービスプロビジョニングAPI652は、顧客の要求に基づいてサービスインスタンスを起動し得る。ポッド管理API654は、ポッド作成を起動し得る。
ポッド管理API654は、単一の物理的デプロイメントがクラウド上の多数のテナントをサポートするマルチテナントサービスの作成において使用可能である。いくつかの例では、ポッド管理API654下のポッドが予め作成され、顧客のオーダーが入ってくると使用可能になる。例えば、メッセージングサービスでは、1000のテナントを供給することができるメッセージングポッドが顧客の要求なしに作成可能である。したがって、顧客の要求が入ってくると、メッセージングポッドは使用できる状態になり得る。
特定の実施例では、サービスAPI652またはポッド管理API654を使用してTAS204またはDevOpsから受取られた要求は、サービスブループリント201によって提供される1つ以上の入力キューに並べられ得る。例えば、TAS204から受取られた要求(または代替的には、構文解析されたビジネスプロセスにおけるステップ)が、キュー656に並べられ得る。例えば、顧客によってオーダーされた特定のサービスをプロビジョニングするためにサービス要求がTAS204から受取られ得る。TAS204は、サービスのプロビジョニングを実行するためにサービスブループリントコンポーネント201を使用し得る。その趣旨の要求は、TAS204からサービスブループリント201によって受取られ、入力要求キュー656に並べられ得る。要求プロセッサ658は、キューに並べられた要求をピックアップして、各要求をオーケストレータ660に提供するように構成され得る。ポッド管理API654を介して受取られた要求は、対応する入力キューに並べられ得て、ポッド管理654に対応する要求プロセッサは、当該キューから要求をピックアップして、それをオーケストレータ660に提供して実現するように構成され得る。
要求キュー656および要求プロセッサ658は、サービスブループリントコンポーネント201における内部要求処理エンジンの役割を果たし、非同期要求処理、同時要求処理、同時タスク処理、オーダー要求に関連するフォールトトレラントな評価および回復およびプラグインサポートを実行するための機能を含んでいてもよい。一実施例では、要求キュー656および要求プロセッサ658は、オーダーに関連付けられたビジネスプロセスの各ステップをサービスプロビジョニングAPI652および/またはポッド管理API654から受入れ、ステップをオーケストレータ660に送信し得る。
要求プロセッサは、入ってくる要求の状態ライフサイクルを管理しながらこれらの入ってくる要求をキューに格納することによって信頼性のある非同期メッセージ処理を可能にする一般的なコンポーネントであり得る。例えば、要求プロセッサは、JMSキューにおいて要求のキューを維持し、要求テーブルにおいてもこれらの要求を維持する。これらの要求のライフサイクルを制御することによって、要求プロセッサは、スケールアウトデプロイメントをサポートしながらこれらの要求の信頼性のある処理を保証する。
特定の実施例では、要求キューにおける要求をモニタリングして要求を処理するポーリングスレッドであってもよい要求ポーラが提供され得る。いくつかの例では、あらゆるオーケストレーションエンジンインスタンスが、要求ポーラのプールを有し得る。
特定の実施例では、サービスプロビジョニングAPI652またはポッド管理API654のいずれかに要求が入ってくることができ、当該要求は、その発生元に基づいて異なる要求キュー656に入ることができる。要求プロセッサ658は、処理のための要求をオーケストレータ660に送ることによって、要求をピックアップし得る。
オーケストレータ660は、要求プロセッサから受取られた要求を実行するように構成される。特定の実施例では、オーケストレータ660は、BPEL(ビジネスプロセス実行言語)に基づき得る。BPELオーケストレータ660は、要求が関連するサービスを判断し、要求サービスのためのサービス宣言に基づいて要求を実行するように構成される。
一実施例では、オーケストレーションエンジン660は、以下のコンポーネント、すなわち、オーケストレーションエンジンエンドポイント、要求プロセッサ、要求ポーラおよびBPELベースの要求処理エンジンを含んでいてもよい。オーケストレーションエンジン660は、2つのエンドポイント、すなわち(a)ビジネスオーケストレーション層が(例えば作成、削除、関連付け、アーカイブなどのオペレーションのために)サービスをプロビジョニングおよび管理することを可能にするためのサービスプロビジョニングエンドポイント、および、(b)(例えばキャンセル要求、中断要求などのオペレーションのために)オーケストレーションエンジンサービス自体を管理するための管理エンドポイントを公開し得る。サービスプロビジョニングのための要求は、非同期要求であり得て、要求プロセッサによって並べられる。既存のビジネスオーケストレーション層(TAS)との適合性を維持するために、オーケストレーションエンジンは、既存のSDIと同一のウェブサービスを公開し得る。
特定の実施例では、オーケストレータ660は、ブループリントデータベース668に格納されたサービス宣言情報にアクセスして、TAS204から受取られた要求を実現するために実行されるべき一連のタスクを当該サービス宣言から決定するように構成され得る。例えば、一実施例では、BPELベースの要求処理エンジンは、要求をオーダーして、要求をBPELオーケストレータ660に送信し得る。BPELオーケストレータ660のプロセスは、サービスブループリントエンドポイントからサービス宣言サービスブループリントをフェッチし、サービスidのための実行テンプレートを抽出し、テンプレートに規定されたタスクを実行するためにタスクエクセキュータサービスエンドポイントを非同期的に呼出すように構成される。
別の実施例では、オーケストレータ660は、サービスのためのサービス宣言に格納された情報をブループリントパーサ662を介して受取り得る。BPELベースのオーケストレータ660は、特定のサービスについてTAS204から受取られた要求を実現するために実行されるべきタスクを要求するメッセージをパーサ662に送り得る。
一実施例では、ブループリントパーサ662は、プロビジョニングされるサービスのためのサービス宣言にブループリントデータベース668からアクセスし、サービス宣言における情報に基づいて、プロビジョニング要求を実現するために実行されるべき一連のタスクを決定するように構成される。一実施例では、パーサ662は、サービス宣言に規定されたビジネスプロセスを特定し得て、当該プロセスに規定された各ステップを、特定のステップをプロビジョニングするための一連のタスクに変換し得る。また、ブループリントパーサ662は、タスク実行テンプレートの形態でタスクのリストをオーケストレータ660に送り得て、当該タスク実行テンプレートは、(例えばXML docのような)XMLベースであり得て、スキーマを有し得る。一実施例では、タスク実行テンプレートは、プロビジョニングされるサービスのためのサービス宣言に規定され得る。
特定の実施例では、プロビジョニングオペレーションは、タスク実行のシーケンスであってもよい。当該オペレーションは、決まった一組のアクションを定義するシードタスク実行テンプレートによってOOTBで駆動される。サービスのためのテンプレートは、サービスのためのサービス宣言に定義され得て、特定のタスクおよびこれらのタスクが実行される必要があるオーダーを特定し得る。ライフサイクルオペレーションに応じて、サービスをプロビジョニングするために一組の標準的なタスクが実行されてもよい。さらに、サービスは、サービス自体によって最良に処理される特定のタスクを実行するためにプラグインを提供する必要があり得る。プラグインは、オーケストレーションエンジン660によってブラックボックスとして扱われる。サービスプロビジョニングプラグインのセクションに記載されるように、サービスは、タスク実行テンプレート全体を無効にするか、または、実行フローにおける制御されたポイントにおいて実行されるカスタムタスクを提供し得る。タスク実行テンプレートは、下記のタスクおよびタスクエクセキュータモデルを活用し得る。
特定の実施例では、サービスについての所与のプロビジョニングライフサイクルオペレーションのためのフロー全体は、タスク実行のシーケンスとして実行されることができる。アクションのシーケンスは、サービスのためのサービス宣言におけるサービスのためのタスク実行テンプレートに取込まれ得る。図11に示されるように、オーケストレーションエンジンは、サービス宣言に定義されたいかなるサービス特有のタスクとも交互配置される一組のサービスに依存しないタスク(例えば「IDMフットプリントの作成」タスク)を整理する。一実施例によれば、タスクは、タスクエクセキュータサービスを呼出すことによってシーケンシャルに実行可能である。
特定の実施例では、特定のステップのための一組のタスクがプロビジョニングされると、ブループリントパーサ662は、特定のステップを実現するためにプロビジョニングされたリソースの詳細を有するオーダーペイロードを含むオペレーション結果により、TASコンポーネント204におけるビジネスプロセスエクセキュータ316に応答する。
BPELベースのオーケストレータ660は、パーサ662から受取られたタスク実行におけるタスクを実行するように構成される。タスク実行フレームワークは、同期または非同期の態様でタスクを実行するための機構を提供し得る。例えば、図11に示されるように、タスク実行フレームワークは、タスクの同期実行のための同期タスクエクセキュータと、タスクの非同期実行のための非同期タスクエクセキュータとを含んでいてもよい。
特定の実施例では、タスク実行フレームワークは、タスクを実行するために他のモジュールによって全面的に使用される共通のコンポーネントであってもよい。例えば、所与のサービスのための各々のプロビジョニングライフサイクルオペレーションごとに、タスク実行テンプレートは、実行される必要がある一組のタスクを封入し得る。テンプレートは、タスク実行サービスを使用してオーケストレーションエンジン660によって実行され得る。このテンプレートは、関連付けられたタスクエクセキュータによりタスクのシーケンスとしてモデル化され得る。
いくつかの実施例によれば、同期タスクエクセキュータ664および/または非同期タスクエクセキュータ666は、サービスを作成するために実行されるべきタスクを特定するXML文書を取得し得る。XMLを構文解析することによって、タスクエクセキュータは、サービスを作成するためにアクションのシーケンスを実行し得る。いくつかの例では、アクションのシーケンスは、シーケンシャルになされてもよい。他の例では、イベントのシーケンスは、順番にまたはばらばらになされてもよい。
非同期タスクでは、アクション自体がポーリングをサポートし得る。したがって、非同期タスクエクセキュータ666は、アクションをディスパッチして、アクションがなされるまでポーリングし続けることができる。代替的に、アクションはコールバック可能であってもよい。例えば、BPELベースのオーケストレータ660は、アクションをディスパッチして、次いで非同期タスクエクセキュータ666のためのコールバックポイントを送ってコールバックし得る。
タスク実行フレームワークは、同期または非同期タスク実行要求を受入れるファサードサービスと、一組のタスクエクセキュータと、タスクを実行するためのリソースのライブラリとを含んでいてもよい。タスクを受取ると、サービスは、システムおよびサービスプロパティのバッグを有する、タスクに規定されたタスクエクセキュータを呼出し得る。完了後、サービスは、一組の予め規定された{キー,値}の対を返し、当該対は呼出し元によって次のタスクに伝えられ得る。
特定の実施例では、図12に示されるように、タスク実行フレームワークは、タスクと、タスクエクセキュータと、タスク実行テンプレートと、タスクエクセキュータサービスとを含んでいてもよい。一実施例では、タスクは、ワークのユニットを封入し得る。タスクは、固有の名前、および、タスクが封入するワークのユニットを行うことを担当するエクセキュータへの参照を含んでいてもよい。このモデルにより、サービスが当該特定のタスクのためのエクセキュータを定義することによって必要なプラグインを提供することができるようになる。例えば、IDMにおいてシステムフットプリントを作成するためのタスクは、OOTB実行テンプレートによって決定される実行シーケンスにおけるポイントにおいてCreateSystemInIDMExecutorを実行することによって実行可能である。
特定の実施例では、タスクエクセキュータは、タスクを実行するために呼出される必要がある実行可能ファイルを封入し得る。タスクエクセキュータ定義は、固有の名前と、内蔵型エクセキュータタイプと、エクセキュータタイプに基づいて解釈可能な位置パラメータとを含んでいてもよい。また、当該定義は、実行後に{キー,値}の対として返される任意の出力パラメータも規定し得る。
図12に示されるように、エクセキュータタイプは、Java、ウェブサービスおよびシェルスクリプトなどであるがこれらに限定されない予め規定されたタイプであってもよい。Javaタイプでは、エクセキュータは、実行時にJavaライブラリに対して呼出しを行い得る。位置パラメータは、ClassName#MethodNameの形態であり得る。オブジェクトを構築して方法を呼出すためにリフレクションが使用可能である。呼出される方法は、単一の要求パラメータを受入れて、応答オブジェクトを返し得る。ウェブサービスタイプでは、エクセキュータは、サービスによって供給されるウェブサービスエンドポイントに対して呼出しを行い得る。シェルスクリプトタイプでは、エクセキュータは、シェルスクリプトを実行し得る。
タスクエクセキュータによって使用されるリソースは、例えばjarファイル、warファイルおよびシェルスクリプトであってもよい。
図12は、一実施例に係る実行フローを示す。タスクエクセキュータサービスへの各要求は、タスクエクセキュータを規定するタスクと、各サービスごとに1つの、複数の要求項目を有する要求バッグと、処理される要求項目のインデックスとを封入し得る。要求は、全ての要求項目に共通の、システムに特有のプロパティを含み、要求項目は、サービスに特有のプロパティを含む。タスクエクセキュータは、システムプロパティおよびサービスプロパティを受け渡すことによって規定されるタスクを実行し得る。
タスク実行フレームワークからの応答は、オーケストレータ660に提供され得る。当該応答は、サービスブループリントコンポーネント201によって提供される1つ以上の出力キューに並べられ得る。1つ以上の応答プロセッサは、出力キューから応答を選択して、API652または654を使用して応答を要求発生元に戻すように構成され得る。
特定の実施例では、物理的プロビジョニングのためのブループリントデータベース668は、サービスの物理的フットプリントを定義するためのポッド定義スキーマ(例えばポッドスキーマ672)と、サービスに特有のプラグインを取込むためのサービス定義スキーマ(例えば要求/応答スキーマ670)と、EM、IDM、URLルーティングおよび他のサービスに特有の構成を取込むためのサービス構成スキーマ(例えばサービスインスタンススキーマ)とを含んでいてもよい。ビジネス処理ブループリントの下では、ブループリントデータベース668は、ブループリントレジストリ674も含んでいてもよい。さらに、ブループリントデータベース668は、要求応答、状態変化および移行に関する情報を含んでいてもよい。例えば、ポッドが作成されると、ポッドの定義全体がブループリントデータベース668に格納され得る。
図12に関連して上記したように、オーケストレータ660は、タスクを実行するためにタスク実行フレームワークのサービスを使用し得る。このタスク実行フレームワークは、非同期の態様でタスクを実行するように構成された非同期タスクエクセキュータ666を含んでいてもよい。図13は、本発明の実施例に係る非同期的なタスクの実行に関わる処理の一例を示す。この例では、特定のタスクは、サービスのためのVMの作成であってもよい。
751において、BPELベースのオーケストレータ660から入ってくる要求が非同期タスクエクセキュータ666によって受取られる。例えば、BPELベースのオーケストレータ660は、VM作成タスクのために非同期タスクエクセキュータ666を呼出し得る。
752において、非同期タスクエクセキュータ666は、当該要求を要求/応答スキーマ670に格納し、要求/応答スキーマ670からBPELコールバックURLを要求し得る。例えば、VM作成タスクはコールバック作成タスクであり得るため、非同期タスクエクセキュータ666は、VMを作成するためのプラグインを呼出すことができる。
753において、VMクリエータは、サーバを作成するためにオープンスタックREST APIを使用し得る。754において、オープンスタックREST APIは、ポーリングURLをVMクリエータに返し得る。755において、ポーリングURLは、データベースに格納され得る。756において、非同期タスクエクセキュータ666は、ポーリングURLを入手し得る。
757において、非同期タスクエクセキュータ666は、VM作成状態についてオープンスタックREST APIに対してポーリングし得る。758において、非同期タスクエクセキュータ666は、応答をブループリントデータベース668に格納し得る。759において、非同期タスクエクセキュータ666は、BPELコールバックURL上でBPELベースのオーケストレータ670に応答を書込み得る。
上記の図12および図13は、本発明の実施例を組込むことができるサービスブループリントコンポーネントにおけるコンポーネントを示している。
図14および図15は、本発明の実施例に従って実行され得るサービス宣言関連の処理を示す簡略化されたフローチャートを示す。図14に示される処理800および図15に示される処理900は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図14および図15に示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図14および図15に示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図14および図15に示される処理は、図10に詳細に示されるサービスブループリントコンポーネント201における1つ以上のコンポーネントによって実行され得る。
図14は、いくつかの実施例に係る、サービスを利用可能にするための処理を示す。
802において、クラウドインフラストラクチャシステム100は、新たなクラウドサービスを登録するための要求を受取る。804において、クラウドインフラストラクチャシステム100は、新たなサービスのためのサービス宣言を受取る。806において、サービス宣言がクラウドインフラストラクチャシステム100によって格納され、サービスが登録される。808において、登録されたサービスがサービスカタログに追加され、顧客によるオーダー発注に利用可能になる。
例えば、開発者は、特定のサービスのためのサービス宣言を提供することによって、当該特定のサービスをサービスカタログに登録し得る。いくつかの例では、サービスは、そのプロビジョニングの全ての局面を取込むサービスブループリント(例えばXMLスキーマ)に適合するXML文書を供給することによってサービスカタログに登録され得る。サービスがサービスカタログに登録されると、当該サービスは直ちにオーダー可能になり、クラウドにデプロイ可能になり得て、それによって、サービスがクラウドにおいて利用可能になるための拡張可能なモデルが提供される。
図15は、いくつかの実施例に係る、サブスクリプションオーダーを得ると実行される処理を示す。
902において、サービスブループリントコンポーネント201は、顧客によってオーダーされたサービスを特定するサブスクリプションオーダー情報を受取り得る。904において、サービスブループリントコンポーネント201は、要求されたサービスに対応するサービス宣言を特定し得る。906において、サービスブループリントコンポーネントは、904において特定されたサービスのためのサービス宣言における情報に従って、要求されたサービスをプロビジョニングし得る。
例えば、サービスカタログは、顧客によってオーダー可能な登録されたサービスのメニュを含む。いくつかの例では、顧客は、サービスカタログから新たなサービスを要求(例えばオーダー)し得る。さらに、一実施例によれば、顧客がサービスを要求するようにするためにサービス開発者が顧客から必要とし得る特定の要件がある。サービスブループリントコンポーネント201は、要求されたサービスに対応するサービス宣言に基づいて、要求されたサービスをプロビジョニングし得る。
上記のように、サービスのためのサービス宣言は、リソースのプロビジョニングを自動化してサービスを可能化するためにサービスブループリントコンポーネントによって使用されるさまざまな情報を備えていてもよい。特定の実施例では、サービスのためのサービス宣言は、以下に関連する情報を備える:
(1)サービスのためのビジネス処理局面
(2)サービスの物理的プロビジョニング、および
(3)ポッドプロビジョニング。
(1)ビジネス処理局面情報
特定の実施例では、サービス宣言におけるビジネス処理局面情報は、サービスのビジネスレベル属性に関連する情報を特定し得て、当該情報は、サービスカタログ登録情報、カスタム属性情報、関連付け情報、サービスランタイム情報(例えばメトリック、計画的な停電)、購買情報、超過情報などに関連する情報を含むが、これらに限定されるものではない。これらのうちのいくつかについて、以下で説明する。
(a)サービスカタログ登録情報
クラウドインフラストラクチャシステム100のためのサービスカタログは、各サービスが提供し得る全てのオプションを含む、クラウドインフラストラクチャシステム100によって提供される全てのサービスを特定する。(例えばブループリントレジストリ624として格納された)サービスのためのサービス宣言におけるサービスカタログ情報は、特定のサービスと、サービスのためのサービスカタログにおいて使用され、サービスカタログに取込まれるさまざまなサービス関連の情報とを特定する。例えば、サービスのためのサービス宣言は、サービス詳細(例えばさまざまなサービスコンポーネント)、サービス構成、サービスのためのトライアル構成などの情報を備えていてもよい。
例えば、サービス詳細は、サービスについての詳細(例えば名前、表示名、説明、マーケティング資料)を特定し得る。この情報は、新たなオーダー可能なサービスを動的に反映するためにクラウドインフラストラクチャシステム100によって消費され得る。サービス構成情報は、ベーシック、標準およびエンタープライズなどのさまざまなサポートされた構成を特定し得る。サービスによってサポートされたさまざまな構成は、TASに登録され、これは、サービス宣言において<serviceCatalog>要素を使用することによりなされ得る。この構成のための(クラウドインフラストラクチャシステム100による通知において使用される)簡単な説明および表示名も提供され得る。サービス宣言におけるトライアル構成要素情報は、サービス関連のトライアルの局面を制御するためにサービスプロバイダによって使用可能であり、トライアル期間、過少利用構成および延長などの情報を含んでいてもよい。過少利用構成局面は、利用確認に使用されるメトリックと、過少利用警告通知で使用される期間とを含んでいてもよい。延長局面は、延長が許可されるか否か、許可される延長の数、延長の期間、および延長に関係する他の関連情報を判断し得る。
(b)カスタム属性情報
いくつかの実施例によれば、クラウドインフラストラクチャシステム100に登録されたあらゆるサービスは、一組のカスタム属性を規定し得て、当該一組のカスタム属性の値は、顧客がサービスを購入またはオーダーすると顧客によって提供されなければならない。例えば、CRMおよびHCMサービスは、顧客の企業名、言語パック、企業の住所などのサービス関連の属性の値が、サービスをオーダーする顧客によって供給されることを必要とする。サービスのためのサービス宣言におけるカスタム属性情報は、これらのカスタム属性を特定する。一実施例では、属性は、TASに格納され得て、クラウドインフラストラクチャシステム100ポータルが、モデル駆動のユーザインターフェースを使用して、サービスに特有のUIを顧客に提供することを可能にし得る。UIに収集された属性値は全て、TASを介して物理的プロビジョニングインフラストラクチャ(例えばサービスブループリントコンポーネントまたはSDI)に伝えられ得る。
(c)関連付け情報
クラウドインフラストラクチャシステム100にデプロイされるサービスのためのサービスインスタンスは、他のサービスインスタンスとの関連付けをサポートし得る。いくつかの例では、当該関連付けは、ターゲットサービスインスタンスに対するユーザの権限に準拠し得る。当該関連付けは、必須または任意であるように宣言され得る。サービスのためのサービス宣言における関連付け情報は、サービスプロバイダがこのような関連付けを特定することを可能にする。関連付けがサービス宣言において宣言されると、クラウドインフラストラクチャシステム100は、サービス作成購買フローの一部として、可能な関連付けをUIに動的に反映させ得る。
(d)通知テンプレート情報
特定の実施例では、TASは、オーダー起動、オーダー完了、パスワードなどであるがこれらに限定されないさまざまなインタラクションのための通知を顧客に送り得る。顧客に送られる通知メッセージは、各サービスごとにカスタマイズされることができる。いくつかの実施例によれば、カスタマイズは、差し込み可能な通知内容と、カスタマイズされた通知本体とに分類可能である。
通知モジュールは、サービス表示名および説明を含むがこれらに限定されない情報をTASサービスカタログから検索するように提供され得る。また、サービス宣言および関連のXMLベースのプロビジョニングを使用して、そのブループリントの一部としてサービスによって供給され得る、ロゴおよびマーケティング宣伝文などであるがこれらに限定されない差し込み可能な通知内容があってもよい。
さらに、いくつかのまれなケースでは、サービスは、通知メッセージの構造全体を変更したい場合もある。例えば、HCMサービスは、2つのSFTPアカウントを必要とし得て、顧客に送られる通知は、大半の他のサービスのための1つだけのアカウントとは対照的に、両方のアカウントについて情報を提供する必要がある。
サービスのためのサービス宣言は、サービスに使用される通知を特定する通知テンプレート情報を含んでいてもよい。これにより、サービスプロバイダは、サービスについての通知を制御およびカスタマイズすることができる。
(e)サービスランタイム情報
サービスプロバイダは、サービスのためのサービス宣言におけるサービスについてのサービスランタイム情報を供給し得る。これは、サービスについてのランタイム情報を処理および提供するためにクラウドインフラストラクチャシステム100によって使用される。クラウドインフラストラクチャシステム100によって処理されたサービスについてのランタイム情報は、サービスメトリックデータ、サービス状態、サービス可用性データ、サービスに影響を及ぼすイベントなどを含んでいてもよい。
サービスメトリックデータは、全体に及ぶ情報(例えばEMウェブサービスによって使用されるタグ名などのサービスの全てのメトリックに適用可能な情報)と、メトリックに特有の情報(例えばメトリックId、タイプ、ユニット、現在/履歴、IsVisibleInPortal、表示情報、表示名、表示説明)とを含んでいてもよい。いくつかの例では、メトリックがポータルにおいて報告される場合、または、メトリックが派生メトリックの中間演算にのみ使用される場合に、IsVisibleInPortalが規定され得る。さらに、表示順序および表示カテゴリのようなさらなる表示に特有の要素が、メトリックに特有の情報に含まれていてもよい。
特定の実施例では、派生の演算もメトリックに特有の情報に含まれていてもよい。派生の演算は、派生メトリックをサービスのためのさまざまなソースメトリックから演算するために使用される情報であり得る。これらの演算は、複数のソースメトリック上でのいくつかの基準にわたる集約であり得る(例えばavg、min、max、sum、last)。集約方法についてのさらなるパラメータまたは詳細は、プロパティのリストによって取込まれることができる。プロパティの正確な詳細、名前および値は、集約方法および集約が必要とされるフィールドに依存し得る。
サービス状態(例えばサービスインスタンス状態)は、EMエージェントを介してこの情報を収集した後にTASに押しやられ得る。EMエージェントは、サービス状態をTASに押しやるためにサービス提供メトリック収集APIを使用し得て、当該サービス提供メトリック収集APIは、他の使用メトリックとともにサービス状態のためのメトリックを含んでいてもよい。例えば、TASウェブサービスを介した一般的なオペレーションが、そのサービスインスタンス状態を更新することができる任意のサービスプロバイダを使用する全てのサービスタイプに適用可能である。いくつかの例では、EMは、サービスインスタンス状態をTASに押しやるためにTASウェブサービスAPIを使用し得る。
したがって、サービスのためのサービス宣言は、本明細書に記載されているEM統合が、サービスインスタンス状態をTASリポジトリ、したがってクラウドポータルに反映させるのに十分であり得ることを規定する情報を備えていてもよい。
特定の実施例では、サービス可用性情報は、サービスのタイプから独立しているウェブサービスAPIを使用してEMからTASによって検索され得る。したがって、サービス宣言は、サービス可用性をカバーする必要はないかもしれない。サービスに影響を及ぼすイベントは、サービスのタイプから独立しているウェブサービスAPIを使用してEMからTASによって検索され得る。したがって、サービス宣言は、計画的な停電をカバーする必要はないかもしれない。
(f)購買情報
サービスのためのサービス宣言は、サービスのための購買情報を規定し得る。購買情報は、バックオフィスアカウンティングシステム(GSI)においてサービスを構成するために使用され得る。サービスの各々の提案またはサービスレベルごとに、サービスブループリントは、BOM(部品表)を規定し得る。BOMは、サービス部分名および説明、ライセンス部分名および説明、ならびに価格決定情報などの情報を含んでいてもよい。BOMの価格決定セクションは、通貨コード、国コード、価格およびメトリック(例えば「ユーザ/月」)などの情報を含んでいてもよい。
(g)超過情報
各リソース(例えばファイルストレージ、データ転送)ごとに、サービスの特定の提案によって使用可能な当該リソースの量には限度があり得る。サービスインスタンスは、当該サービスインスタンスの提供レベルについて許可される量を超えて任意のリソースを使用すると、超過を招く。サービスのためのサービス宣言は、サービスの超過を演算するために必要な情報を規定し得る。
サービス宣言の超過セクションは、超過限度、超過バンド定義、超過集約規則などの情報を含んでいてもよい。超過限度は、超過を招くことなくサービスによって使用可能なリソースの量を規定し得る。超過バンド定義は、1つの超過ユニットが許可するリソースの量を規定し得る。例えば、1つの超過ユニットは、提供レベルについて許可されるストレージの量を超えて、5GBの追加のストレージを許可し得る。超過集約規則は、超過を演算しながらリソース使用値を集約するために使用される集約オペレーションを規定し得る。例えば、ストレージでは、集約オペレーションは「max」であり得て、データ転送では、超過オペレーションは「sum」であり得る。
(h)サービスインスタンス関係/依存性サービスインスタンス情報
いくつかのサービスは、一次サービスインスタンスの作成の副生成物として暗黙の依存性サービスインスタンスを作成させるための要件を有している。例えば、FAサービスでは、生成サービスインスタンスが作成されると、事前生成インスタンスが暗黙的に作成される。このようなシナリオでは、TASは、サービスインスタンス同士の依存関係を把握し得て、2つのサービスインスタンスのライフサイクルが同期されることを保証する(例えば、生成インスタンスが削除されると事前生成インスタンスを暗黙的に削除し、単独での事前生成インスタンスの削除を防止する)。また、TASは、クラウドポータルにおけるサービスインスタンス同士の関係を規定し得る。
サービスのためのサービス宣言は、このような関係を規定する情報を備えていてもよい。特定の実施例では、サービス宣言は、一般的な関係モデルとして当該関係をモデル化することができ、事前生成/段階インスタンスの明示的なハードコードされた概念を有していないかもしれない。
(2)物理的プロビジョニング情報
物理的プロビジョニングのためのブループリントデータベース618は、サービスの物理的フットプリントを定義するためのポッド定義スキーマ(例えばポッドスキーマ622)と、サービスに特有のプラグインを取込むためのサービス定義スキーマ(例えば要求/応答スキーマ620)と、EM、IDM、URLルーティングおよび他のサービスに特有の構成を取込むためのサービス構成スキーマ(例えばサービスインスタンススキーマ)とを含んでいてもよい。上記のように、ビジネス処理ブループリントの下では、ブループリントデータベース618は、ブループリントレジストリ624も含んでいてもよい。
ポッド定義
サービスのためのサービス宣言におけるポッド定義は、サービスのためのポッドを構成するさまざまな局面を表わし得る。特定の実施例では、ポッド定義を構成する要素は、物理的フットプリント(例えばオラクルバーチャル・アセンブリ・ビルダ(OVAB)アセンブリ+OVABデプロイメント計画)、テナンシタイプ、オンデマンドプロビジョニング選択およびカスタム属性であり得る。
物理的フットプリント
いくつかの例では、ポッドのための物理的フットプリントは、OVABアセンブリベースの定義またはVMテンプレートベースの定義に規定され得る。OVABアセンブリベースの定義は、その物理的フットプリントをモデル化するためにサービスによって使用可能である。代替的に、サービスは、VMテンプレートおよび関連付けられたリハイドレーションスクリプトを使用してその物理的フットプリントを宣言し得る。これは、OPCインフラストラクチャがクラウドスタックまたはオープンスタックなどの一般的なIaaSスタックをサポートする場合に有用であり得る。この情報は、サービス宣言に含まれていてもよい。
さらに、サービスがそのブループリントにおいて物理的フットプリントを宣言しない場合、当該サービスはバンド外でそのポッドをセットアップし、登録ポッドAPIを使用してポッドをクラウドインフラストラクチャシステム100に登録し得る、ということが想定され得る。
物理的フットプリントを定義する際、サービスは、OVABアセンブリの詳細、デプロイメント計画テンプレート、テナンシタイプ、およびポッドがオンデマンドでプロビジョニングされることができるべきか否かを規定し得る。
アセンブリ位置に関して、構築されたOVABベースのアセンブリを使用して物理的フットプリントをデプロイするサービスは、それらのアセンブリをアセンブリレジストリにアップロードし得て、次いでそれらのサービス宣言定義においてアセンブリを参照し得る。例えば、アセンブリレジストリ内のアセンブリの位置を規定するために、要素<assemblyLocation>が使用可能である。SDIは、所与のOPCデプロイメントのために、アップロードされたアセンブリをOVABに登録する任務を担い得る。当該要素は、サービスがサポートする(ベーシック、標準、エンタープライズなどの)各構成ごとに1つである。
さらに、アセンブリレジストリは、大きなバイナリをアップロードして、アップロードされたバイナリに固有の識別子を提供するためにファイルシステムストアを使用するコンポーネントであり得て、当該固有の識別子は次いで、ブループリントなどの他のモジュールにおいてバイナリを参照するために使用可能である。
特定の実施例では、デプロイメント計画およびOVABベースのアセンブリに関して、OVABは、サービスのデプロイメントおよびリハイドレーションの面でOVABを助けるデプロイメント計画を必要とし得る。サービスは、プロビジョニング層がサービスプロビジョニング中に実際のデプロイメント計画を作成するために使用し得るサービスアーカイブパッケージ全体の一部として、デプロイメント計画テンプレートを供給する必要があり得る。デプロイメント計画テンプレートは、OVABデプロイメント計画を生成するためにプロビジョニング中に実際の値と置換され得る、予め規定されたプレースホルダタグを有していてもよい。
テナンシタイプは、サービスがマルチテナントサービスであるかシングルテナントサービスであるかを規定し得る。
オンデマンドプロビジョニングは、サービスをオンデマンドでプロビジョニングできるか否かを規定し得る。例えば、当該サービスのために利用可能な容量がなければ、オンデマンドプロビジョニング要素は、プロビジョニングインフラストラクチャがサービス作成フロー中にオンザフライでポッドをデプロイすべきか否かを判断する。いくつかの例では、この要素が偽に設定され、利用可能な容量がなければ、プロビジョニング要求は中断され得て、管理者が追加の容量をプロビジョニングすることを可能にするようにアラートが生成され得る。
カスタム属性
サービス宣言におけるカスタム属性情報は、サービスがポッド定義のために使用し得る一組のキーおよび値を取込み得る。属性は、キー/値の対、または、値がプロビジョニングインフラストラクチャによってデプロイメント時に認識される単なるキーであってもよい。値がデプロイメント時に認識されるカスタム属性の一例は、ポッド使用であってもよい。これらの属性は、ポッドスキーマの一部として格納され、サービスがカスタム属性値に基づいてテナント配置決定を駆動することを可能にするために、テナント配置セクションに規定されたポッドAPIに渡され得る。
ポッドのプール
クラウドインフラストラクチャシステム100におけるポッドマネージャコンポーネントは、ポッドのプールの形式概念をサポートし得る。DevOps/オンデマンドサービスインスタンス作成フローは、ポッドを作成し、ポッドプールを作成し、ポッドをポッドプールに位置付けるために、ポッドマネージャAPIを使用し得る。ポッドがポッドプールに位置付けられると、デプロイされたポッド/ポッドプールについての情報を引っ張ってくるようにサービスがAPIに提供され得て、そのためプラグインにおけるテナント配置などの局面について十分な情報を得たうえでの判断を行うことができる。代替的に、ポッドのプールの情報は、サービスプラグインに渡されてもよい。
ポッドおよびポッドプール関係
所与のサービスのために、複数のポッドがDevOpsによって推測的に作成され得るか、または、(オンデマンドポッド作成がブループリントにおいて可能化される場合には)サービス作成フローによって実行時に作成され得る。いくつかのシナリオでは、これらのポッドは、何らかの方法で互いに関連付けることができる。このような関係の典型的な例は、一次ポッドのためにDRポッドが作成される場合である。この関係は、(DRフローに対応するために)物理的プロビジョニング層によって追跡される必要があり、(クラウドポータルを介してDRインスタンスを公開するために)ビジネス処理層によって追跡される必要がある。
サービスのためのサービス宣言は、サービスのための一次ポッドの作成の一部として作成される必要があるいかなる関連のポッドも宣言し得る。それは、(DRの明示的なハードコードされた概念をサポートすることとは対照的に)他のタイプの関係のための余地を認めるために一般的なポッド関係としてモデル化され得る。
ポッドプール関係は、どちらかというとデプロイメント局面であり、DevOpsによって構築および維持され得る。例えば、DevOpsは、所与のポッドプールのためのDRプールであるように特定のポッドプールを指定し得る。これは、一次ポッドがプール−1において作成されると、そのDR関連のポッドがプール−1のためのDRプールに収容され得ることを暗に示しているであろう。この例では、ポッドをDRプールに配置する決定は、サービスのテナント配置規則/プラグインを使用して実現され得る。
サービス定義
カスタムプラグインは、テナント配置プラグインおよびサービスプロビジョニングプラグインなどのサービスによって提供され得る。さらに、サービスによって提供されるプラグインは、タスク実行フレームワークセクションに記載されているようにタスクおよびタスクエクセキュータからなる共通のアーキテクチャに準拠し得る。この情報は、サービスのためのサービス宣言に規定され得る。
テナント配置
テナント配置モジュールは、インスタンス作成中に新たなサービスインスタンスを収容するように最良のポッドを決定することを担当する。この配置は、(ゴールドの顧客、SLA要件などの)ビジネス要件または(利用可能な容量、HA/DRサポートなどの)物理的制約などのさまざまな要因に基づき得る。
サービスプロビジョニングプラグイン
クラウドインフラストラクチャシステム100のプロビジョニングインフラストラクチャは、サービス宣言提供プラグイン(すなわちコールバック)と連携して各サービスごとにさまざまなライフサイクルオペレーションを自動化することができる。例えば、サービスのためのサービス宣言は、プロビジョニングライフサイクルオペレーションプラグイン、プロビジョニングフローを変更するためのプラグイン、テナント配置のためのプラグイン、DevOpsによって起動されるオペレーションのためのプラグインなどのプラグインを提供し得る。プロビジョニングライフサイクルオペレーションプラグインは、createService、deleteService、upsizeService、関連付けおよびロックなどであるがこれらに限定されないさまざまなオペレーションのためのプラグインであってもよい。
プロビジョニングフローを変更するためのプラグインは、タスク実行テンプレートによって駆動され得る。プロビジョニングフローは、細かい設定なしに(out-of-the-box:OOTB)シードされ、さらに物理的プロビジョニングオーケストレーションエンジンセクションに記載され得るさまざまなライフサイクルオペレーションのためのプロビジョニングフロー全体を含んでいてもよい。サービスは、新たなタスク実行テンプレート全体を提供することによって、または、明確に規定された実行ポイントにおいてカスタムタスクを実行フローに注入することによって、この実行フローをカスタマイズすることができる。いくつかの例では、カスタマイズされた実行フローは、最初の公開後にサポートされ得る。さらに、予め規定されたプロビジョニングフローは、各ライフサイクルオペレーションごとに実行される一組のタスクの概要を示すことができる一般的なタスク実行テンプレートとしてモデル化され得る。この情報は、サービスのためのサービス宣言に規定され得る。
テナント配置のためのプラグインは、新たに作成されたサービスインスタンスを収容するように最良のポッドを決定するためにカスタムプラグインを提供し得る。DevOpsによって起動されるオペレーションのためのプラグインは、DevOpsがサービスを管理することを可能にするためにカスタムプラグインを提供し得る。これらは、開始/停止、RelocateInstanceおよび隔離などであるがこれらに限定されないオペレーションを含む。さらに、プラグインは、EM統合セクションに記載されているようにEMフレームワークを使用するEMカスタムジョブとして公開され得る。
標準化されたプラグインアーキテクチャにより、サービスチームがさまざまなプロビジョニングアクションのための実現例を提供することが可能になり得る。プラグインは、サービスのためのサービス宣言におけるタスクとして表わされることができる。サービス提供プラグインの呼出しの一部として、ランタイム文脈およびライブラリを有する形式化されたランタイム実行環境も提供され得る。
ライフサイクルプロビジョニングのためのプラグインは、シードされたタスク実行テンプレートによってOOTBで駆動され得る。当該テンプレートは、特定のタスクおよびオーダーを決定し得る。オペレーションに応じて、実行される一組の標準的なタスクが存在し得る。さらに、特定のタスクを実行するためのプラグインを提供するためにサービスが必要とされ得て、当該プラグインは、サービス自体によって最良に処理され、オーケストレーションエンジンによってブラックボックスとして扱われることができる。
例えば、作成、アップサイズおよび終了オペレーションの各々について、決まった一組のタスクがサービスチームからプラグインとして必要とされ得る。いくつかの実施例によれば、作成サービスに関して、それが新たなシステムであれば、プラグインは、システムのためのIDMフットプリントおよびSFTPアカウント作成を作成し得る。さらに、作成サービスプラグインは、サービスのためのIDMフットプリントを作成し得る。サービス供給プラグインは、マルチテナントポッドにおいてテナント当たりのフットプリントを作成する(例えばデータベースサービス)か、予めプロビジョニングされた匿名のインスタンスにポッドのプールから「パーソナリティ」を注入する(例えばJavaサービス)か、またはオンデマンドでポッドを作成し得る(例えばFA)。いくつかの例では、入力パラメータは、サービス名、アイデンティティドメイン名、サイズ(例えばミニ/ベーシック/標準/エンタープライズ)、サブスクリプションタイプ(例えばトライアル/有料)および全ての他のプロパティをキー−値の対のリストとして含んでいてもよい。
さらに、サービスのためのサービス宣言に規定されるように、サービス供給プラグインは、FAのために言語パックをインストールすることまたはエンタープライズマネージャグリッド制御(Enterprise Manager Grid Control:EMGC)にデータベースを発見させることのようなデプロイ後プロセスに使用可能である。SFTPアカウント作成は、サービスレベルでなされ得る。さらに、ネットワーク構成要素が必要とすれば、サービス宣言は、URLルーティングのためにOHS構成の変更を可能にし得る。
アップサイズサービスのために、追加のリソースのブックキーピングを取っておいてもよい。ブループリント当たり、サービスがプロビジョニングインフラストラクチャによって追跡されるリソース(例えばIPアドレス)のうちのいずれかを使用する場合に、アップサイズプラグインが必要とされ得る。スケールアップのためのサービス供給プラグインは、以下の入力パラメータ、すなわち新たなサイズおよび全ての他のプロパティ、をキー−値の対のリストとして含んでいてもよい。
終了サービスに関して、切離しを行うために関連付けサービス供給プラグインが使用可能である。例えば、Javaとデータベースとが関連付けられ、データベースが終了中である場合、ウェブロジックサーバからデータソースを除去するためにJavaサービスからのプラグインが使用され得る。サービス宣言に規定される入力パラメータは、サービス名、終了中のサービスのアイデンティティドメイン名および全ての他のプロパティをキー−値の対のリストとして含んでいてもよい。
さらに、ブループリントにおけるネットワーク構成要素が必要とすれば、終了プラグインは、URLルーティングのためにOHS構成を除去し得る。アーカイバルが可能化されると、終了プラグインは、サービスアーカイブをSFTPアカウントに移動させることができる。アーカイバルが可能化されなければ、終了プラグインは、全てのデータを削除して、SFTPアカウントを除去することができる。さらに、終了プラグインは、EMGCからターゲットを除去し得る。
さらに、サービスは、クリーンアップのためのプラグインを供給し得る。入力パラメータは、プロパティをキー−値の対のリストとして含んでいてもよい。クリーンアッププラグインは、プロビジョニングインフラストラクチャによって追跡されている全てのリソース(例えばIPアドレス、ボリューム、仮想OVABホーム)を破壊および回復させ得る。
必要なプラグインに加えて、プロビジョニングライフサイクルオペレーションの一部として、サービスはカスタムプラグインも提供し得る。カスタムオペレーションフローのためのプラグインは、カスタムタスクを実行フローに注入し得る。これは、タスク実行シーケンスにおいて許可された特定のポイントにおいて、制御された態様でなされ得る。サービスは、サービスに特有のアクションを行うためにこれらのカスタムタスクを使用してプロビジョニングフローを自由に強化または変更できる。例えば、SFTPアカウントの作成前にシステムのためのIDMフットプリントを作成した後で、カスタムタスクを実行することができるであろう。さらに、任意のオペレーションのためのフロー全体は、新たなタスク実行テンプレートを提供することによって無効にされ得る。
サービス構成
サービスのためのサービス宣言におけるサービス構成情報は、サービスプロバイダがサービスのためのさまざまな構成要素を定義することを可能にする。サービス構成情報は、ネットワークを構成するために、例えばEM統合セクションと、IDM統合セクションと、ネットワーク構成セクションとを含んでいてもよい。
EM統合
サービス宣言におけるEM統合情報は、EMを介してサービスのモニタリングおよび管理を可能にするエンタープライズマネージャクラウド制御(Enterprise Manager Cloud Control:EMCC)と統合するために必要な定義を提供し得る。
各サービスがサービス宣言に規定し得るEM統合の主要な局面は、ターゲットタイプ、ターゲット発見属性およびスクリプト、メトリック収集プラグイン、メトリック収集間隔、モニタリングアカウントならびにカスタムジョブを含んでいてもよい。
ターゲットタイプは、新たなモニタリング可能なターゲットをモデル化するためにEMによって必要とされるメタデータを定義し得る。サービスブループリントに規定される情報は、EMターゲットメタデータXMLスキーマに適合するターゲットタイプXML文書を生成するために使用され得る。次いで、ターゲットタイプXML文書は、EM APIを使用してEMに登録され得る。いくつかの例では、ターゲットタイプテンプレートは、EMツールを使用して生成され、必要に応じて手作業で編集され、EM拡張性開発キット(Extensibility development Kit:EDK)を介してEMCCおよびEMCCエージェントに登録され得る。さらに、ブループリントは、サービスがサービスレジストリに登録されるとサービス公開プロセス中にプロビジョニングインフラストラクチャから呼出され得るクリーナ/より単純なプログラムAPIを使用して、ターゲットタイプを自動化することができる。
ターゲット発見属性およびスクリプトは、EMにおいてターゲットを作成するために使用されるサービスインスタンスに特有の属性であってもよい。サービス宣言に規定される情報は、EM APIを呼出してサービスインスタンス作成フロー中にターゲットを作成するために使用され得る。いくつかの例では、ターゲットの作成は、EM CLIを使用して、(例えばデータベースサービスの場合のように)SDIによって、または(例えばNuviaqがこの機能を実行するJavaサービスの場合のように)サービス自体によってなされる。サービス宣言は、これを、全てのサービスにわたって共通の方法でプロビジョニングインフラストラクチャから呼出され得るREST APIに発展させることができる。
メトリック収集プラグインは、EMが特定のサービスインスタンスのためのメトリックを収集することを可能にし得るプラグインXMLへの経路を定義する。EMは、サービスがJMX、REST、ウェブサービス、スクリプトなどのさまざまな機構を使用してプラグインを定義することを可能にする。OPCサービスブループリントは、メトリック収集プラグインの定義を取込むために、EMによって定義されるXMLスキーマを公開し得る。
メトリック収集間隔局面は、EMCCがサービスインスタンスターゲットのためのメトリックを収集するスケジュールを制御し得る。
モニタリングアカウント局面は、サービス提供メトリック収集プラグインを使用してサービスインスタンスターゲットのためのメトリックを収集するためにEMCCエージェントによって使用されるアカウントをサービスにおいて定義し得る。
カスタムジョブ局面では、EMは、サービスの開始/停止などのカスタム機能を実行するためにサービスによって登録されるカスタムジョブの概念をサポートし得る。次いで、当該カスタム機能は、EMコンソールを介してDevOpsに公開される。OPCプロビジョニングフレームワークは、標準的な一組の動詞(例えば開始、停止、リロケート、隔離)を定義し得て、当該標準的な一組の動詞は、全てのサービスにわたって共通の一組のインターフェースをDevOpsに提供してEMコンソールを介してサービス管理機能を実行するためにEMカスタムジョブフレームワークを活用し得る。
IDM統合
これらのサービス定義は、サービスのためのサービス宣言に規定され得る要素であり、サービス作成の一部として、共有のIDMインフラストラクチャにおいて作成されるサービスインスタンス当たりのフットプリントの作成を可能にする。これは、例えばサービス名、役割テンプレートおよびアイデンティティドメイン/サービス管理役割マッピングを含んでいてもよい。例えば、サービス名は、TASおよびSDIに登録されたサービス名と一致し得る。
役割テンプレートは、サービス作成の一部としてインスタンス化される必要がある一組のサービスインスタンス当たりの役割であってもよい。次いで、これらの役割の各々は、IDMコンソールを介してサービスインスタンスのための割当て可能な役割になり得る。
アイデンティティドメイン管理/サービス管理役割マッピングは、アイデンティティドメインユーザ/サービス管理ユーザがサービスインスタンス作成の一部として作成したときにこれらのユーザに付与される必要がある一組の役割を定義し得る。
いくつかの例では、サービス宣言における以下の局面が、IDM統合に関してまとめられ得る。これは、XMLスキーマを規定して、OAMポリシ、CSR権限、関連付け中のSAML IDの伝搬、AppID、IDストア/OPSSストアにアクセスするためのサービスランタイムコードのバインド証明書、およびOPCキーリフレッシュ自動化を活用するための証明書/キーのライフサイクルを取込むためになされる。
ネットワーク構成(URLルーティング)
ネットワーク構成は、ファイヤウォール規則、URLルーティング、および一貫したクラウドURL名前スペースを定義するために必要な情報を定義する要素を含んでいてもよい。さらに、プロビジョニングインフラストラクチャ層は、サービスのためのURLをルーティングするように、BigIPロードバランサおよびOHSノードのプールを構成し得る。
(3)ポッドプロビジョニング情報
特定の実施例では、サービスのためのポッドの作成および使用に関連する情報が、サービスのためのサービス宣言に規定され得る。次いで、この情報は、サービスプロビジョニング中にポッドマネージャによって使用される。
特定の実施例では、ポッドマネージャは、全てのサービスにわたるポッドの作成および管理を担当するモジュールである。いくつかの実施例によれば、ポッドマネージャは、オブジェクトを管理し、永続的なスキーマを維持し、利用可能なポッドの容量をモニタリングし、DevOpsによって使用されるプログラムAPIをサポートし得る。いくつかの例では、ポッドマネージャは、ポッドまたはポッドプールを管理し得る。
例えば、ポッドは、(例えばJavaサービスの場合のように)予めプロビジョニングされた匿名のシングルテナントデプロイメント、または(例えばデータベースサービスの場合のように)複数のテナントを供給するマルチテナントスタック(すなわち物理的または仮想化された)に相当し得る論理的エンティティであってもよい。換言すれば、ポッドは、物理的なスタック上でのサービスのデプロイメントであり得る。ポッドは、1つ以上のサービスインスタンスを収容し得る。ポッドは、推測的に作成され得るか、またはサービスインスタンスが所与の顧客のために作成されるとオンデマンドで作成され得る。
例えば、ポッドプールは、シングルテナントまたはマルチテナントポッドのプールであり得る。プールは、多くの理由(例えばさまざまなSLA要件、好ましい顧客、サービス構成における変動)でポッドの集合体を分離するために作成され得る。サービスインスタンスが所与の顧客のために作成されると、当該サービスインスタンスは、テナント配置セクションに定義されるさまざまな基準に基づいて、所与のプールからポッドに収容され得る。
さらに、ポッドマネージャは、他のポッド関連情報の中で、サービス当たりのポッドのリスト、ポッドにおけるサービスインスタンスのリスト、ポッドプールのリスト、各ポッドの物理的フットプリント、および各ポッドについての容量情報を追跡するための永続的なスキーマを維持し得る。
さらに、ポッドマネージャは、利用可能なポッドおよび各ポッド内のリソースの容量をモニタリングして、容量閾値に達するとアラートを生成し得る。
さらに、ポッドマネージャは、DevOpsによって使用されるプログラムAPIをサポートし得る。プログラムAPIは、createpod、createpodPool、listpods、listpodPools、(バンド外で作成されるポッドのための)registerpod、listServiceInstancesInpodおよびscalepodを含んでいてもよい。
図16は、本発明の実施例に従って使用され得る演算システム1000の簡略ブロック図である。例えば、クラウドインフラストラクチャシステム100は、1つ以上の演算装置を備えていてもよい。図10に示されるシステム1000は、1つのこのような演算装置の一例であってもよい。バス1024を介して電気的に結合され得るハードウェア要素を備えるコンピュータシステム1000が示されている。コンポーネントは、1つ以上の処理ユニット1002と、入力サブシステム1004と、出力サブシステム1006と、記憶装置1008と、コンピュータ読取可能記憶媒体1010に接続されるコンピュータ読取可能記憶媒体リーダ1012と、通信サブシステム1014と、処理加速サブシステム1016と、ワーキングメモリ1018とを含んでいてもよい。
バスサブシステム1024は、コンピュータシステム1000のさまざまなコンポーネントおよびサブシステムを意図されたように互いに通信させるための機構を提供する。バスサブシステム1024は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実施例は、複数のバスを利用してもよい。
入力サブシステム1004は、マウス、キーボード、ポインティングデバイス、タッチパッドなどの1つ以上の入力装置を含んでいてもよい。一般に、入力サブシステム1004は、情報をコンピュータシステム1000に入力するための任意の装置または機構を含んでいてもよい。
出力サブシステム1006は、コンピュータシステム1000から情報を出力するための1つ以上の出力装置を含んでいてもよい。出力装置の例としては、ディスプレイ装置、プリンタ、プロジェクション装置などが挙げられるが、これらに限定されるものではない。一般に、出力サブシステム1006は、コンピュータシステム1000から情報を出力するための任意の装置または機構を含んでいてもよい。
処理ユニット1002は、1つ以上のプロセッサ、プロセッサの1つ以上のコア、それらの組み合わせなどを含んでいてもよい。いくつかの実施例では、処理ユニット1002は、汎用一次プロセッサと、グラフィックスプロセッサ、デジタル信号プロセッサなどの1つ以上の特殊用途コプロセッサとを含んでいてもよい。いくつかの実施例では、いくつかのまたは全ての処理ユニット1002は、特定用途向け集積回路(application specific integrated circuit:ASIC)またはフィールド・プログラマブル・ゲート・アレイ(field programmable gate array:FPGA)などのカスタマイズされた回路を使用して実現されてもよい。いくつかの実施例では、このような集積回路は、回路自体に格納されている命令を実行する。他の実施例では、処理ユニット1002は、ワーキングメモリ1018または記憶装置1008に格納された命令を実行し得る。さまざまな実施例では、処理ユニット1002は、さまざまなプログラムまたはコード命令を実行し得て、複数の同時実行プログラムまたはプロセスを維持し得る。任意の所与の時間に、実行されるべきプログラムコードのうちのいくつかまたは全ては、システムワーキングメモリ1018、記憶装置1008および/またはコンピュータ読取可能記憶媒体1010に存在し得る。好適なプログラミングを介して、処理ユニット1002は、イベントストリーム関連の処理を実行するための上記のさまざまな機能を提供し得る。いくつかの実施例では、コンピュータシステム1000は、デジタル信号プロセッサ(digital signal processor:DSP)、特殊用途プロセッサなどを含み得る処理加速ユニット1016も含んでいてもよい。
記憶装置1008は、ディスクドライブ、光学記憶装置、およびランダムアクセスメモリ(random access memory:RAM)および/またはリードオンリメモリ(read-only memory:ROM)などの、プログラム可能、フラッシュ更新可能などであり得るソリッドステート記憶装置、などのメモリ装置を含んでいてもよい。処理ユニット1002によって実行されると上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が記憶装置1008に格納され得る。また、記憶装置1008は、本発明の実施例に従って使用されるデータを格納するためのリポジトリも提供し得る。
さらに、コンピュータ読取可能記憶媒体リーダ1012は、ともに(および任意に、記憶装置1008と組み合わせて)一時的および/またはより永久的にコンピュータ読取可能な情報を含むためのリモートの、ローカルの、固定されたおよび/または取外し可能なメモリ記憶装置プラス記憶媒体を包括的に表わすコンピュータ読取可能記憶媒体1010に接続可能である。
通信サブシステム1014は、ネットワークおよび/またはその他のコンピュータとデータを遣り取りすることを可能にし得る。通信サブシステム1014は、コンピュータシステム1000からデータを受取り、コンピュータシステム1000から他のシステムにデータを送信するためのインターフェースの働きをする。通信は、有線または無線プロトコルを使用して行われてもよい。例えば、通信サブシステム1014は、コンピュータ1000がインターネットを介してクライアント装置に接続することを可能にし得る。通信サブシステム1014は、モデム、ネットワークカード(無線または有線)、赤外線通信装置、GPS受信機などを備えていてもよい。
ワーキングメモリサブシステム1018は、プログラムの実行中に命令およびデータを格納するためのメインランダムアクセスメモリ(RAM)および決まった命令が格納されるリードオンリメモリ(ROM)を含むいくつかのメモリを含んでいてもよい。オペレーティングシステム1020、および/または、(クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、RDBMSなどであってもよい)アプリケーションプログラムなどの他のコード1022などのソフトウェア要素が、ワーキングメモリ1018に格納され得る。例示的な実施例では、ワーキングメモリ1018は、実行可能なコードと、上記のようにイベントを処理して可変期間ウィンドウ処理を可能にするために使用される(キャッシュなどの)関連付けられたデータ構造とを含んでいてもよい。
コンピュータシステム1000の代替的な実施例は、上記のものからの多数の変更例を備えたより多くのまたはより少ないコンポーネントを有していてもよいということが理解されるべきである。例えば、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素がハードウェア、(アプレットなどの高移植性ソフトウェアを含む)ソフトウェアまたはそれら両方で実現されてもよい。さらに、ネットワーク入力/出力装置などの他の演算装置への接続が利用されてもよい。
本発明の特定の実施例について説明してきたが、さまざまな変形例、変更例、代替的な構成および等価物も本発明の範囲内に包含される。本発明の実施例は、特定の具体的なデータ処理環境内での動作に限定されるものではなく、複数のデータ処理環境内で自由に動作できる。さらに、特定の一連のトランザクションおよびステップを使用して本発明の実施例について説明してきたが、本発明の範囲が、記載されている一連のトランザクションおよびステップに限定されるものではないということが当業者に明らかであるべきである。
さらに、ハードウェアおよびソフトウェアの特定の組み合わせを使用して本発明の実施例について説明してきたが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲内であることが認識されるべきである。本発明の実施例は、ハードウェアのみで実現されてもよく、またはソフトウェアのみで実現されてもよく、またはそれらの組み合わせを使用して実現されてもよい。本明細書に記載されているさまざまなプロセスは、任意の組み合わせで、同一のプロセッサまたは異なるプロセッサ上で実現されてもよい。したがって、コンポーネントまたはモジュールは特定のオペレーションを実行するように構成されるものとして記載されているが、このような構成は、例えばオペレーションを実行するように電子回路を設計することによって、オペレーションを実行するように(マイクロプロセッサなどの)プログラム可能な電子回路をプログラミングすることによって、またはそれらの任意の組み合わせによって、実現可能である。プロセスは、従来のプロセス間通信技術を含むがこれに限定されないさまざまな技術を使用して通信可能であり、プロセスの異なる対は異なる技術を使用してもよく、またはプロセスの同一の対は異なる時間に異なる技術を使用してもよい。
したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考えられるべきである。しかし、特許請求の範囲に記載されているより広範な精神および範囲から逸脱することなく、追加、削減、削除ならびに他の変形および変更がそれに対してなされてもよいということは明白であろう。したがって、特定の本発明の実施例について説明してきたが、これらは限定的であるよう意図されるものではない。さまざまな変形例および等価物も以下の特許請求の範囲の範囲内である。
図17は、本発明のさまざまな実施例に係る一組のクラウドサービスを提供するように構成されたクラウドインフラストラクチャシステム1700の図である。図17に示されるように、クラウドインフラストラクチャシステム1700は、クラウドインフラストラクチャシステムによって提供される一組のクラウドサービスに対応する一組のサービス宣言を格納するように構成された格納ユニット1701と、顧客からサブスクリプションオーダー情報を受取るように構成された受取ユニット1703とを備え、当該サブスクリプションオーダー情報は、クラウドインフラストラクチャシステムによって提供される一組のクラウドサービスから、選択されたサービスを特定し、クラウドインフラストラクチャシステム1700はさらに、選択されたサービスのために特定のサービス宣言を決定するように構成された決定ユニット1705を備え、当該特定のサービス宣言は、選択されたサービスを可能化するためにリソースをプロビジョニングするための1つ以上のプロシージャを示す情報を備え、クラウドインフラストラクチャシステム1700はさらに、特定のサービス宣言における情報に基づいて、選択されたサービスをプロビジョニングするように構成されたプロビジョニングユニット1707を備える。
一実施例によれば、クラウドインフラストラクチャシステム1700はさらに、クラウドインフラストラクチャシステムによって提供される一組のクラウドサービスにサービスを追加するためのサービス宣言テンプレートを提供するように構成された提供ユニット1709と、新たなサービスをクラウドインフラストラクチャシステムに登録するための変更されたサービス宣言を受取るように構成された受取ユニット1711とを備え、当該変更されたサービス宣言は、新たなサービスを可能化するために一組のリソースをプロビジョニングするための一組のプロシージャを示す情報を備え、クラウドインフラストラクチャシステム1700はさらに、クラウドインフラストラクチャシステムによって提供される一組のクラウドサービスに新たなサービスを追加するように構成された追加ユニット1713を備える。
一実施例によれば、クラウドインフラストラクチャシステム1700はさらに、顧客から1つ以上の入力要件を受取るように構成された受取ユニット1715を備え、当該1つ以上の入力要件は、選択されたサービスを可能化するためにリソースをプロビジョニングするために、特定のサービス宣言によって順番に必要とされる。
クラウドインフラストラクチャシステムの機能ブロックは、本発明の原理を実施するために、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせによって実現されてもよい。図17に示される機能ブロックは、上記の本発明の原理を実現するために、組み合わせられてもよく、またはサブブロックに分けられてもよい、ということが当業者によって理解される。したがって、本明細書における説明は、本明細書に記載されている機能ブロックの任意の可能な組み合わせまたは分離またはさらなる定義をサポートすることができる。

Claims (13)

  1. 方法であって、
    1つ以上の演算装置を備えるクラウドインフラストラクチャシステムが、前記クラウドインフラストラクチャシステムによって提供される一組のクラウドサービスに対応する一組のサービス宣言を格納するステップと、
    前記クラウドインフラストラクチャシステムの前記1つ以上の演算装置のうちの演算装置が、顧客からサブスクリプションオーダー情報を受取るステップとを備え、前記サブスクリプションオーダー情報は、前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスから、選択されたサービスを特定し
    記クラウドインフラストラクチャシステムが、前記一組のサービス宣言から、前記選択されたサービスのために特定のサービス宣言を決定するステップ
    記クラウドインフラストラクチャシステムが、前記特定のサービス宣言における情報に基づいて、前記選択されたサービスをプロビジョニングするステップと、
    前記クラウドインフラストラクチャシステムが、提供している前記一組のクラウドサービスにサービスを追加するためのサービス宣言テンプレートを提供するステップと、
    前記クラウドインフラストラクチャシステムが、新たなサービスを前記クラウドインフラストラクチャシステムに登録するための変更されたサービス宣言を受取るステップと、
    前記クラウドインフラストラクチャシステムが、提供している前記一組のクラウドサービスに前記新たなサービスを追加するステップとを備え、
    記特定のサービス宣言は、前記選択されたサービスを可能化するためにリソースをプロビジョニングするための1つ以上のプロシージャを示す情報を備え
    前記変更されたサービス宣言は、前記新たなサービスを可能化するために一組のリソースをプロビジョニングするための一組のプロシージャを示す情報を備える、方法。
  2. システムであって、
    一組のクラウドサービスを提供するように構成可能な1つ以上の演算装置と、
    クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスに対応する一組のサービス宣言を格納するように構成可能なメモリとを備え、
    前記1つ以上の演算装置は、
    顧客からサブスクリプションオーダー情報を受取るように構成可能であり、前記サブスクリプションオーダー情報は、前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスから、選択されたサービスを特定し
    前記選択されたサービスのために特定のサービス宣言を決定するように構成可能であり
    前記特定のサービス宣言における情報に基づいて、前記選択されたサービスをプロビジョニングするように構成可能であり、
    前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスにサービスを追加するためのサービス宣言テンプレートを提供するように構成可能であり、
    新たなサービスを前記クラウドインフラストラクチャシステムに登録するための変更されたサービス宣言を受取るようにさらに構成可能であり、
    前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスに前記新たなサービスを追加するように構成可能であり、
    記特定のサービス宣言は、前記選択されたサービスを可能化するためにリソースをプロビジョニングするための1つ以上のプロシージャを示す情報を備え
    前記変更されたサービス宣言は、前記新たなサービスを可能化するために一組のリソースをプロビジョニングするための一組のプロシージャを示す情報を備える、システム。
  3. 前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスは、サービスに特有のカスタムコードなしでプロビジョニングされる、請求項2に記載のシステム。
  4. 前記サービス宣言テンプレートは、拡張マークアップ言語(XML)文書またはXMLスキーマ定義(XSD)文書であり、前記サービス宣言テンプレートは、クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスに追加されるサービスをプロビジョニングするための特定のスキーマおよび実行フローに関する情報を提供するための部分を提供する、請求項に記載のシステム。
  5. 前記顧客から1つ以上の入力要件を受取るようにさらに構成され、前記1つ以上の入力要件は、前記選択されたサービスを可能化するためにリソースをプロビジョニングするために、前記特定のサービス宣言によって順番に必要とされる、請求項2〜のいずれか1項に記載のシステム。
  6. 前記一組のサービス宣言は、さまざまなサービス提供、サービス関連付け、超過、使用メトリック、顧客通知テンプレート、課金情報、物理的ストレージ、物理的コンポーネント、ユニフォーム・リソース・ロケータ(URL)ルーティング、モニタリング構成またはネットワーク構成についての情報を含む拡張マークアップ言語(XML)文書である、請求項2〜のいずれか1項に記載のシステム。
  7. 前記選択されたサービスをプロビジョニングするためにビジネスプロセス実行言語(BPEL)ベースの要求処理エンジンが使用され、前記BPELベースの要求処理エンジンは、前記特定のサービス宣言に定義されたタスクを実行するように構成される、請求項2〜のいずれか1項に記載のシステム。
  8. 一組のクラウドサービスを提供するためのシステムであって、
    クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスに対応する一組のサービス宣言を格納するための手段と、
    顧客からサブスクリプションオーダー情報を受取るための手段とを備え、前記サブスクリプションオーダー情報は、前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスから、選択されたサービスを特定し
    前記選択されたサービスのために特定のサービス宣言を決定するための手段を備え、
    前記特定のサービス宣言における情報に基づいて、前記選択されたサービスをプロビジョニングするための手段と、
    前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスにサービスを追加するためのサービス宣言テンプレートを提供するための手段と、
    新たなサービスを前記クラウドインフラストラクチャシステムに登録するための変更されたサービス宣言を受取るための手段と、
    前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスに前記新たなサービスを追加するための手段をさらに備える、
    記特定のサービス宣言は、前記選択されたサービスを可能化するためにリソースをプロビジョニングするための1つ以上のプロシージャを示す情報を備え
    前記変更されたサービス宣言は、前記新たなサービスを可能化するために一組のリソースをプロビジョニングするための一組のプロシージャを示す情報を備える、システム。
  9. 前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスは、サービスに特有のカスタムコードなしでプロビジョニングされる、請求項に記載のシステム。
  10. 前記サービス宣言テンプレートは、拡張マークアップ言語(XML)文書またはXMLスキーマ定義(XSD)文書であり、前記サービス宣言テンプレートは、クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスに追加されるサービスをプロビジョニングするための特定のスキーマおよび実行フローに関する情報を提供するための部分を提供する、請求項に記載のシステム。
  11. 前記顧客から1つ以上の入力要件を受取るための手段をさらに備え、前記1つ以上の入力要件は、前記選択されたサービスを可能化するためにリソースをプロビジョニングするために、前記特定のサービス宣言によって順番に必要とされる、請求項10のいずれか1項に記載のシステム。
  12. 一組のクラウドサービスを提供するように構成されたクラウドインフラストラクチャシステムのためのコンピュータ読取可能プログラムであって、前記コンピュータ読取可能プログラムは、
    前記クラウドインフラストラクチャシステムに、前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスに対応する一組のサービス宣言を格納させるステップと
    前記クラウドインフラストラクチャシステムに、顧客からサブスクリプションオーダー情報を受取らせるステップとを実行させ、前記サブスクリプションオーダー情報は、前記クラウドインフラストラクチャシステムによって提供される前記一組のクラウドサービスから、選択されたサービスを特定し
    前記クラウドインフラストラクチャシステムに、前記選択されたサービスのために特定のサービス宣言を決定させるステップと、
    前記クラウドインフラストラクチャシステムに、前記特定のサービス宣言における情報に基づいて、前記選択されたサービスをプロビジョニングさせるステップと
    前記クラウドインフラストラクチャシステムに、提供している前記一組のクラウドサービスにサービスを追加するためのサービス宣言テンプレートを提供させるステップと、
    前記クラウドインフラストラクチャシステムに、新たなサービスを前記クラウドインフラストラクチャシステムに登録するための変更されたサービス宣言を受取らせるステップと、
    前記クラウドインフラストラクチャシステムに、提供している前記一組のクラウドサービスに前記新たなサービスを追加させるステップとを実行させ、
    記特定のサービス宣言は、前記選択されたサービスを可能化するためにリソースをプロビジョニングするための1つ以上のプロシージャを示す情報を備え
    前記変更されたサービス宣言は、前記新たなサービスを可能化するために一組のリソースをプロビジョニングするための一組のプロシージャを示す情報を備える、コンピュータ読取可能プログラム。
  13. 前記クラウドインフラストラクチャシステムに、前記顧客から1つ以上の入力要件をさらに受取らせ、前記1つ以上の入力要件は、前記選択されたサービスを可能化するためにリソースをプロビジョニングするために、前記特定のサービス宣言によって順番に必要とされる、請求項12に記載のコンピュータ読取可能プログラム。
JP2015531268A 2012-09-07 2013-09-06 Ldapベースの複数顧客インクラウドアイデンティティ管理システム Active JP6326417B2 (ja)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201261698459P 2012-09-07 2012-09-07
US201261698413P 2012-09-07 2012-09-07
US61/698,413 2012-09-07
US61/698,459 2012-09-07
US201361785299P 2013-03-14 2013-03-14
US61/785,299 2013-03-14
US201361794269P 2013-03-15 2013-03-15
US201361794427P 2013-03-15 2013-03-15
US61/794,427 2013-03-15
US61/794,269 2013-03-15
US13/907,616 2013-05-31
US13/907,616 US9621435B2 (en) 2012-09-07 2013-05-31 Declarative and extensible model for provisioning of cloud based services
PCT/US2013/058639 WO2014039919A1 (en) 2012-09-07 2013-09-06 Ldap-based multi-customer in-cloud identity management system

Publications (3)

Publication Number Publication Date
JP2015529366A JP2015529366A (ja) 2015-10-05
JP2015529366A5 JP2015529366A5 (ja) 2016-10-13
JP6326417B2 true JP6326417B2 (ja) 2018-05-16

Family

ID=50234537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015531268A Active JP6326417B2 (ja) 2012-09-07 2013-09-06 Ldapベースの複数顧客インクラウドアイデンティティ管理システム

Country Status (5)

Country Link
US (2) US9621435B2 (ja)
EP (1) EP2893684A1 (ja)
JP (1) JP6326417B2 (ja)
CN (1) CN104756460B (ja)
WO (1) WO2014039919A1 (ja)

Families Citing this family (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189419B2 (en) 2011-04-14 2015-11-17 Vmware, Inc. Detecting and suppressing redundant input-output operations
US9053302B2 (en) 2012-06-08 2015-06-09 Oracle International Corporation Obligation system for enterprise environments
US10771351B2 (en) 2012-06-15 2020-09-08 Digital River, Inc. Fast provisioning service for cloud computing
US20150058467A1 (en) * 2012-06-15 2015-02-26 Digital River, Inc. Fast provisioning of platform-as-a-service system and method
US9825823B2 (en) * 2012-07-03 2017-11-21 Hewlett Packard Enterprise Development Lp Managing a cloud service
US9542400B2 (en) 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
US9069979B2 (en) 2012-09-07 2015-06-30 Oracle International Corporation LDAP-based multi-tenant in-cloud identity management system
US9667470B2 (en) 2012-09-07 2017-05-30 Oracle International Corporation Failure handling in the execution flow of provisioning operations in a cloud environment
US9621435B2 (en) 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
US10148530B2 (en) 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
US9467355B2 (en) 2012-09-07 2016-10-11 Oracle International Corporation Service association model
US9276942B2 (en) 2012-09-07 2016-03-01 Oracle International Corporation Multi-tenancy identity management system
US20140074659A1 (en) 2012-09-07 2014-03-13 Oracle International Corporation Ramped ordering for cloud services
US9253113B2 (en) 2012-09-07 2016-02-02 Oracle International Corporation Customizable model for throttling and prioritizing orders in a cloud environment
US10521746B2 (en) 2012-09-07 2019-12-31 Oracle International Corporation Recovery workflow for processing subscription orders in a computing infrastructure system
WO2014070923A1 (en) * 2012-10-31 2014-05-08 Volcano Corporation Dependency-based startup in a multi-modality medical system
US9858093B2 (en) * 2013-03-08 2018-01-02 Oracle International Corporation Model for configuration independent process templates and business catalog
US9608958B2 (en) 2013-03-12 2017-03-28 Oracle International Corporation Lightweight directory access protocol (LDAP) join search mechanism
US9912521B2 (en) * 2013-03-13 2018-03-06 Dell Products L.P. Systems and methods for managing connections in an orchestrated network
US9413854B1 (en) * 2013-07-15 2016-08-09 Amazon Technologies, Inc. Network-accessible signal processing service
US20150019722A1 (en) * 2013-07-15 2015-01-15 Infosys Limited Determining, managing and deploying an application topology in a virtual environment
US8874755B1 (en) * 2013-07-31 2014-10-28 Splunk, Inc. Provisioning of cloud networks with services
US20150067127A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus for multi-client service catalog for a software defined cloud
US9729615B2 (en) * 2013-11-18 2017-08-08 Nuwafin Holdings Ltd System and method for collaborative designing, development, deployment, execution, monitoring and maintenance of enterprise applications
US20170019313A1 (en) * 2013-12-17 2017-01-19 Hewlett Packard Enterprise Development Lp A generic model to implement a cloud computing service
US10310903B2 (en) * 2014-01-17 2019-06-04 Red Hat, Inc. Resilient scheduling of broker jobs for asynchronous tasks in a multi-tenant platform-as-a-service (PaaS) system
US11611473B2 (en) * 2014-01-14 2023-03-21 Zixcorp Systems, Inc. Provisioning a service using file distribution technology
US9690575B2 (en) * 2014-01-17 2017-06-27 Fair Isaac Corporation Cloud-based decision management platform
KR102271265B1 (ko) 2014-01-21 2021-07-01 오라클 인터내셔날 코포레이션 어플리케이션 서버, 클라우드 또는 다른 환경에서 멀티 테넌시를 지원하기 위한 시스템 및 방법
US9607167B2 (en) 2014-03-18 2017-03-28 Bank Of America Corporation Self-service portal for tracking application data file dissemination
WO2015167592A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Using a single deployer agent to deploy a plurality of programs on a server
US11477278B2 (en) * 2014-06-24 2022-10-18 Oracle International Corporation System and method for supporting partitions in a multitenant application server environment
US9465645B1 (en) 2014-06-25 2016-10-11 Amazon Technologies, Inc. Managing backlogged tasks
US9645805B2 (en) 2014-06-26 2017-05-09 Vmware, Inc. Application blueprints based on service templates to deploy applications in different cloud environments
WO2016000244A1 (zh) * 2014-07-04 2016-01-07 华为技术有限公司 一种云计算下业务弹性的方法和装置
US10291548B2 (en) 2014-08-08 2019-05-14 Oracle International Corporation Contribution policy-based resource management and allocation system
US9912609B2 (en) * 2014-08-08 2018-03-06 Oracle International Corporation Placement policy-based allocation of computing resources
US10164901B2 (en) 2014-08-22 2018-12-25 Oracle International Corporation Intelligent data center selection
EP2990932B1 (en) * 2014-08-27 2019-04-17 Deutsche Telekom AG Method for provisioning a customized cloud stack
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
KR102443172B1 (ko) 2014-09-24 2022-09-14 오라클 인터내셔날 코포레이션 멀티테넌트 어플리케이션 서버 환경에서 패치를 지원하는 시스템 및 방법
US10382537B2 (en) 2014-09-25 2019-08-13 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US11126598B1 (en) * 2014-11-06 2021-09-21 Ab Initio Technology Llc Techniques for performing lifecycle operations on a data store
US11650816B2 (en) 2014-11-11 2023-05-16 Fair Isaac Corporation Workflow templates for configuration packages
US10162630B2 (en) 2014-11-11 2018-12-25 Fair Isaac Corporation Configuration packages for software products
US10523754B2 (en) * 2014-11-25 2019-12-31 Netapp, Inc. Methods for integrating applications with a data storage network and devices thereof
US9563472B2 (en) 2014-12-04 2017-02-07 International Business Machines Corporation Concurrent workload deployment to synchronize activity in a design palette
US9853868B2 (en) * 2014-12-05 2017-12-26 Accenture Global Services Limited Type-to-type analysis for cloud computing technical components
US10366358B1 (en) * 2014-12-19 2019-07-30 Amazon Technologies, Inc. Backlogged computing work exchange
CN105897805B (zh) * 2015-01-04 2019-12-27 伊姆西公司 对多层架构的数据中心的资源进行跨层调度的方法和装置
US10225209B2 (en) * 2015-01-21 2019-03-05 Oracle International Corporation System and method for interceptors in a multitenant application server environment
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US10282176B2 (en) * 2015-01-30 2019-05-07 Hitachi, Ltd. Management apparatus and management method
US10491667B1 (en) * 2015-03-16 2019-11-26 Amazon Technologies, Inc. Customized memory modules in multi-tenant service provider systems
US9912759B2 (en) 2015-06-24 2018-03-06 International Business Machines Corporation Dynamically generating solution stacks
US10063428B1 (en) * 2015-06-30 2018-08-28 Apstra, Inc. Selectable declarative requirement levels
US10860983B2 (en) 2015-07-30 2020-12-08 Espresa, Inc. Cloud based platform for workplace services management
EP3281168A4 (en) * 2015-07-31 2018-03-14 Hewlett-Packard Enterprise Development LP Discovering and publishing api information
US10142174B2 (en) 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning
US10200246B1 (en) 2015-09-01 2019-02-05 Vmware, Inc. Importing parameters from nested information-technology blueprints
CN105281955B (zh) * 2015-10-27 2018-10-09 上海华为技术有限公司 一种业务和资源编排的系统、方法及装置
US9952953B2 (en) 2015-11-02 2018-04-24 Microsoft Technology Licensing Llc Non-monotonic eventual convergence for desired state configuration
US10757064B2 (en) 2015-11-04 2020-08-25 Oracle International Corporation Communication interface for handling multiple operations
US10200387B2 (en) * 2015-11-30 2019-02-05 International Business Machines Corporation User state tracking and anomaly detection in software-as-a-service environments
JP6438378B2 (ja) * 2015-12-02 2018-12-12 日本電信電話株式会社 制御システム、制御装置、制御方法及び制御プログラム
US9891982B2 (en) 2015-12-04 2018-02-13 Microsoft Technology Licensing, Llc Error handling during onboarding of a service
US9798583B2 (en) 2015-12-04 2017-10-24 Microsoft Technology Licensing, Llc Onboarding of a service based on automated supervision of task completion
US20170171026A1 (en) * 2015-12-14 2017-06-15 Microsoft Technology Licensing, Llc Configuring a cloud from aggregate declarative configuration data
US9548991B1 (en) * 2015-12-29 2017-01-17 International Business Machines Corporation Preventing application-level denial-of-service in a multi-tenant system using parametric-sensitive transaction weighting
US10367914B2 (en) * 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
US11521137B2 (en) 2016-04-25 2022-12-06 Fair Isaac Corporation Deployment of self-contained decision logic
US9838377B1 (en) * 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
KR101874384B1 (ko) * 2016-05-11 2018-07-04 오라클 인터내셔날 코포레이션 멀티-테넌트 아이덴티티 및 데이터 보안 관리 클라우드 서비스
US9838376B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US9781122B1 (en) 2016-05-11 2017-10-03 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
CN107464107A (zh) 2016-06-06 2017-12-12 阿尔卡特朗讯 用于云系统的在线计费的方法、系统和设备
US10805414B2 (en) * 2016-07-15 2020-10-13 International Business Machines Corporation Dynamic resource broker services
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10530578B2 (en) * 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10762086B2 (en) * 2016-09-01 2020-09-01 Amazon Technologies, Inc. Tracking query execution status for selectively routing queries
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10409789B2 (en) 2016-09-16 2019-09-10 Oracle International Corporation Method and system for adaptively imputing sparse and missing data for predictive models
CN109565511B (zh) 2016-09-16 2021-06-29 甲骨文国际公司 用于多租户身份和数据安全管理云服务的租户和服务管理
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US11138017B2 (en) 2016-09-16 2021-10-05 Oracle International Corporation System and method for partition administrative targeting in an application server environment
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US11256490B1 (en) * 2016-10-31 2022-02-22 Jpmorgan Chase Bank, N.A. Systems and methods for server operating system provisioning using server blueprints
CN108023757B (zh) * 2016-11-03 2020-04-28 华为技术有限公司 管理网络切片实例的方法、装置和系统
US10965774B2 (en) * 2016-12-21 2021-03-30 Harford Fire Insurance Company Automated platform provisioning system
US10534636B2 (en) * 2017-03-13 2020-01-14 Oracle Financial Services Software Limited Interface and runtime environment for process definition and process execution tracking
US20180270299A1 (en) * 2017-03-16 2018-09-20 Fugue, Inc. System and method for producing api-throttle and back-pressure avoidance among clients using distributed asynchronous components
US10467071B2 (en) 2017-03-17 2019-11-05 Accenture Global Solutions Limited Extensible key management system for application program interfaces
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10476959B2 (en) * 2017-05-02 2019-11-12 Servicenow, Inc. Cloud resource provisioning using blueprint chaining
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
CN107436764A (zh) * 2017-07-07 2017-12-05 福建天泉教育科技有限公司 代码模板管理方法、存储介质
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
PL3704834T3 (pl) * 2017-10-30 2023-12-27 Cloudblue Llc Integracja aplikacji w chmurze z platformą brokera usług w chmurze przy użyciu pakietu zautomatyzowanych, uniwersalnych łączników
US10642677B2 (en) 2017-11-02 2020-05-05 International Business Machines Corporation Log-based diagnosis for declarative-deployed applications
US10310959B2 (en) 2017-11-07 2019-06-04 Bank Of America Corporation Pre-deployment validation system using intelligent databases
CN107862508A (zh) * 2017-11-08 2018-03-30 搜易贷(北京)金融信息服务有限公司 一种自动处理数据的方法
US10726027B2 (en) * 2017-11-16 2020-07-28 International Business Machines Corporation Cognitive elasticity of cloud applications
WO2019099851A1 (en) 2017-11-20 2019-05-23 Siemens Healthcare Diagnostics Inc. User interface for managing a multiple diagnostic engine environment
CN115394434A (zh) * 2017-11-20 2022-11-25 美国西门子医学诊断股份有限公司 用于管理多重诊断引擎环境的用户接口
TW201926951A (zh) * 2017-11-23 2019-07-01 財團法人資訊工業策進會 平台即服務雲端伺服器及其多用戶操作方法
CN107977254B (zh) * 2017-12-05 2021-07-27 郑州云海信息技术有限公司 云数据系统中请求的响应方法和计算机可读存储介质
US10833962B2 (en) 2017-12-14 2020-11-10 International Business Machines Corporation Orchestration engine blueprint aspects for hybrid cloud composition
US10972366B2 (en) 2017-12-14 2021-04-06 International Business Machines Corporation Orchestration engine blueprint aspects for hybrid cloud composition
US11025511B2 (en) 2017-12-14 2021-06-01 International Business Machines Corporation Orchestration engine blueprint aspects for hybrid cloud composition
TWI649657B (zh) * 2017-12-20 2019-02-01 雙子星雲端運算股份有限公司 雲端服務管理方法
US10831772B2 (en) 2017-12-20 2020-11-10 International Business Machines Corporation Facilitation of domain and client-specific application program interface recommendations
US10803108B2 (en) 2017-12-20 2020-10-13 International Business Machines Corporation Facilitation of domain and client-specific application program interface recommendations
CN108052318B (zh) * 2018-01-03 2021-03-23 上海火杉信息科技有限公司 一种基于SaaS模式的多组织协同平台
US10782949B2 (en) 2018-01-08 2020-09-22 International Business Machines Corporation Risk aware application placement modeling and optimization in high turnover DevOps environments
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
CN110197368B (zh) * 2018-03-21 2024-02-13 腾讯科技(深圳)有限公司 一种云资源处理方法、装置及存储介质
US11281767B2 (en) 2018-03-23 2022-03-22 International Business Machines Corporation Secure system state extraction software extensibility via plugin sandboxing
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US10778797B2 (en) 2018-04-05 2020-09-15 International Business Machines Corporation Orchestration engine facilitating management of operation of resource components
US10673855B2 (en) 2018-04-10 2020-06-02 Sap Se Consolidated identity management system provisioning to manage access across landscapes
US11064013B2 (en) * 2018-05-22 2021-07-13 Netskope, Inc. Data loss prevention using category-directed parsers
US10620989B2 (en) * 2018-06-08 2020-04-14 Capital One Services, Llc Managing execution of data processing jobs in a virtual computing environment
US11012444B2 (en) * 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10911367B2 (en) * 2018-06-27 2021-02-02 Oracle International Corporation Computerized methods and systems for managing cloud computer services
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
CN110716787A (zh) * 2018-07-13 2020-01-21 中兴通讯股份有限公司 容器地址设置方法、设备和计算机可读存储介质
US11474982B2 (en) * 2018-07-26 2022-10-18 Sap Se Zero downtime evolution of database schemas for cloud applications
US11288715B2 (en) * 2018-07-31 2022-03-29 Zuora, Inc. Multi-tenant extensible billing system
JP2020030743A (ja) * 2018-08-24 2020-02-27 株式会社Idcフロンティア ホスティングシステムおよびホスティング環境製造処理装置
US11487590B2 (en) * 2018-10-09 2022-11-01 Kyndryl, Inc. Orchestration engine resources and blueprint definitions for hybrid cloud composition
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
CN111143232B (zh) * 2018-11-02 2023-08-18 伊姆西Ip控股有限责任公司 用于存储元数据的方法、设备和计算机可读介质
US11394711B2 (en) 2018-11-29 2022-07-19 Microsoft Technology Licensing, Llc Streamlined secure deployment of cloud services
CN112840326B (zh) * 2018-12-03 2024-07-02 硕动力公司 用于自动化操作管理的测试引擎
JP7132507B2 (ja) * 2019-01-16 2022-09-07 日本電信電話株式会社 カタログ作成支援システム、カタログ作成支援方法、及びプログラム
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US10812619B2 (en) * 2019-02-19 2020-10-20 Ingram Micro Inc. System and method for bulk user service assignment using CSV
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
CN109918147B (zh) * 2019-02-20 2022-03-25 杭州迪普科技股份有限公司 OpenStack下驱动的扩展方法、装置、电子设备
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11966870B2 (en) 2019-04-18 2024-04-23 Oracle International Corporation System and method for determination of recommendations and alerts in an analytics environment
US12248490B2 (en) 2019-04-18 2025-03-11 Oracle International Corporation System and method for ranking of database tables for use with extract, transform, load processes
EP3963473A1 (en) 2019-04-30 2022-03-09 Oracle International Corporation System and method for data analytics with an analytic applications environment
CN113039527B (zh) 2019-05-06 2025-03-18 甲骨文国际公司 用于在分析应用环境中进行定制的系统和方法
EP3745265B1 (en) * 2019-05-29 2023-04-12 Tata Consultancy Services Limited System and method of provisioning, upgrading and tracking solutions in a multi tenanted platform
CN110310034B (zh) * 2019-06-28 2022-06-07 京东科技控股股份有限公司 一种应用于SaaS的服务编排、业务流程处理方法和装置
US12153595B2 (en) 2019-07-04 2024-11-26 Oracle International Corporation System and method for data pipeline optimization in an analytic applications environment
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11178067B2 (en) 2019-10-07 2021-11-16 Cisco Technology, Inc. Service allocation across multi-managed heterogeneous networks
US10917358B1 (en) * 2019-10-31 2021-02-09 Servicenow, Inc. Cloud service for cross-cloud operations
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
US11467879B2 (en) * 2020-01-20 2022-10-11 Oracle International Corporation Techniques for implementing rollback of infrastructure changes in a cloud infrastructure orchestration service
WO2021150291A1 (en) * 2020-01-20 2021-07-29 Oracle International Corporation User interface techniques for an infrastructure orchestration service
US11093459B2 (en) * 2020-01-21 2021-08-17 Oracle International Corporation Parallel and efficient technique for building and maintaining a main memory, CSR-based graph index in an RDBMS
US11397739B2 (en) 2020-03-10 2022-07-26 International Business Machines Corporation Automated information technology services composition
US11099907B1 (en) 2020-03-13 2021-08-24 International Business Machines Corporation Prerequisite driven dynamic infrastructure orchestration
KR102524540B1 (ko) * 2020-04-17 2023-04-24 한국전자통신연구원 멀티 클라우드 서비스 플랫폼 장치 및 방법
CN111813418B (zh) * 2020-06-30 2024-04-05 深圳赛安特技术服务有限公司 分布式链路跟踪方法、装置、计算机设备及存储介质
CN111954316B (zh) * 2020-07-27 2022-05-27 新华三技术有限公司 通信方法及装置
KR102443199B1 (ko) * 2020-09-21 2022-09-14 주식회사 디투오 서비스 프로필 기반으로 컴퓨팅 인프라 환경을 추천하는 컴퓨팅 인프라 환경 지원 장치 및 방법
KR102443202B1 (ko) * 2020-09-21 2022-09-14 주식회사 디투오 Csp에 따른 가격 정책 비교 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법
CN114258020B (zh) * 2020-09-25 2023-12-12 中移物联网有限公司 专有云部署方法、平台及电子设备
US12216651B2 (en) 2020-09-25 2025-02-04 Oracle International Corporation System and method for semantic model action sets and replay in an analytic applications environment
US11848829B2 (en) * 2020-11-06 2023-12-19 Salesforce, Inc. Modifying a data center based on cloud computing platform using declarative language and compiler
US11895119B2 (en) * 2021-01-31 2024-02-06 Salesforce, Inc. Systems, methods, and apparatuses for pre-configured per-tenant isolation in a multi-tenant cloud based computing environment
CN112965761B (zh) * 2021-03-10 2023-10-10 中国民航信息网络股份有限公司 一种数据处理方法、系统、电子设备及存储介质
US11503038B1 (en) 2021-10-27 2022-11-15 Netskope, Inc. Policy enforcement and visibility for IaaS and SaaS open APIs
US12461791B2 (en) 2021-12-27 2025-11-04 Hewlett Packard Enterprise Development Lp Generation of cloud-based actionable processes
CN116797199A (zh) * 2022-04-08 2023-09-22 西安幸福悦动信息科技有限公司 一种对象管理运维系统
CN114925242B (zh) * 2022-04-24 2024-11-22 杭州悦数科技有限公司 图数据库的管理方法和装置
CN115412554A (zh) * 2022-08-04 2022-11-29 浪潮云信息技术股份公司 一种反向订单提交的云平台管理方法及装置
WO2024073406A1 (en) * 2022-09-30 2024-04-04 Productiv, Inc. Saas application feature benchmarking in a saas management platform
US12341861B2 (en) 2022-12-15 2025-06-24 International Business Machines Corporation Dynamic horizontal autoscaling for multi-tenant service
US12468524B2 (en) 2023-10-17 2025-11-11 Fair Isaac Corporation Extendible, recursive configuration packages that provide versioning trace-ability and testability

Family Cites Families (342)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939723A (en) * 1989-06-07 1990-07-03 Ford Aerospace Corporation Bit-channel multiplexer/demultiplexer
US5257369A (en) 1990-10-22 1993-10-26 Skeen Marion D Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
EP0538464B1 (en) 1991-05-08 1998-12-30 Digital Equipment Corporation License management system
US5418782A (en) 1992-10-30 1995-05-23 Scientific-Atlanta, Inc. Methods and apparatus for providing virtual service selection in a multi-service communications system
EP0697662B1 (en) 1994-08-15 2001-05-30 International Business Machines Corporation Method and system for advanced role-based access control in distributed and centralized computer systems
US5892909A (en) 1996-09-27 1999-04-06 Diffusion, Inc. Intranet-based system with methods for co-active delivery of information to multiple users
DE19645433C2 (de) 1996-11-04 2002-10-10 Ericsson Telefon Ab L M Kommunikationssystem, Mobilvermittlungszentrum und Verfahren zum Herstellen einer Mehrdialog-Kommunikation zwischen Teilnehmerstationen
US6778651B1 (en) 1997-04-03 2004-08-17 Southwestern Bell Telephone Company Apparatus and method for facilitating service management of communications services in a communications network
US6334193B1 (en) 1997-05-29 2001-12-25 Oracle Corporation Method and apparatus for implementing user-definable error handling processes
US6192391B1 (en) 1997-05-30 2001-02-20 Nec Corporation Process stop method and apparatus for a distributed memory multi-processor system
US6516416B2 (en) 1997-06-11 2003-02-04 Prism Resources Subscription access system for use with an untrusted network
US7290288B2 (en) 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
GB2329044B (en) 1997-09-05 2002-10-09 Ibm Data retrieval system
US5961636A (en) 1997-09-22 1999-10-05 International Business Machines Corporation Checkpoint table for selective instruction flushing in a speculative execution unit
US5970120A (en) 1997-10-29 1999-10-19 Alcatel Usa Sourcing, L.P. Method and system for testing provisioning of telecommunications services
US5991756A (en) 1997-11-03 1999-11-23 Yahoo, Inc. Information retrieval from hierarchical compound documents
US6151601A (en) 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
WO1999026377A2 (en) * 1997-11-17 1999-05-27 Mcmz Technology Innovations Llc A high performance interoperable network communications architecture (inca)
US6222832B1 (en) * 1998-06-01 2001-04-24 Tantivy Communications, Inc. Fast Acquisition of traffic channels for a highly variable data rate reverse link of a CDMA wireless communication system
US6052684A (en) 1998-03-24 2000-04-18 Hewlett-Packard Company System and method for performing consistent workflow process execution in a workflow management system
US6085188A (en) 1998-03-30 2000-07-04 International Business Machines Corporation Method of hierarchical LDAP searching with relational tables
US6122640A (en) 1998-09-22 2000-09-19 Platinum Technology Ip, Inc. Method and apparatus for reorganizing an active DBMS table
US6397125B1 (en) 1998-12-18 2002-05-28 International Business Machines Corporation Method of and apparatus for performing design synchronization in a computer system
US6611506B1 (en) 1999-01-21 2003-08-26 Lucent Technologies Inc. Enhanced channel allocation among multiple carriers in a spread spectrum communications system
US6496831B1 (en) 1999-03-25 2002-12-17 Lucent Technologies Inc. Real-time event processing system for telecommunications and other applications
US6526513B1 (en) 1999-08-03 2003-02-25 International Business Machines Corporation Architecture for dynamic permissions in java
US6633907B1 (en) 1999-09-10 2003-10-14 Microsoft Corporation Methods and systems for provisioning online services
FR2804231B1 (fr) * 2000-01-25 2002-11-08 Vistaprint Usa Inc Impression centralisee de documents commerciaux en faibles volumes sur des machines auparavant limitees a des tres gros tirages
WO2001055869A1 (en) * 2000-01-25 2001-08-02 Vistaprint Usa, Inc. Managing print jobs
US20020004390A1 (en) 2000-05-05 2002-01-10 Cutaia Rory Joseph Method and system for managing telecommunications services and network interconnections
US6769074B2 (en) 2000-05-25 2004-07-27 Lumigent Technologies, Inc. System and method for transaction-selective rollback reconstruction of database objects
US6856999B2 (en) 2000-10-02 2005-02-15 Microsoft Corporation Synchronizing a store with write generations
US6757673B2 (en) 2000-10-09 2004-06-29 Town Compass Llc Displaying hierarchial relationship of data accessed via subject index
US7383355B1 (en) * 2000-11-01 2008-06-03 Sun Microsystems, Inc. Systems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects
US6546095B1 (en) 2001-01-05 2003-04-08 America Online, Inc. Automated provisioning of telephone services
US20020161840A1 (en) 2001-02-20 2002-10-31 Willcox William J. Adapter for interfacing with a workflow engine
US7130839B2 (en) 2001-05-29 2006-10-31 Sun Microsystems, Inc. Method and system for grouping entries in a directory server by group memberships defined by roles
US7080119B2 (en) 2001-07-17 2006-07-18 Bea Systems, Inc. System and method for transaction processing with delegated commit feature
US7031967B2 (en) 2001-08-06 2006-04-18 Sun Microsystems, Inc. Method and system for implementing policies, resources and privileges for using services in LDAP
US6745209B2 (en) 2001-08-15 2004-06-01 Iti, Inc. Synchronization of plural databases in a database replication system
US7051039B1 (en) 2001-09-28 2006-05-23 Oracle International Corporation Mechanism for uniform access control in a database system
US20040014067A1 (en) * 2001-10-12 2004-01-22 Third Wave Technologies, Inc. Amplification methods and compositions
US7617317B2 (en) * 2001-12-03 2009-11-10 Sprint Spectrum L.P. Method and system for allowing multiple service providers to serve users via a common access network
US20070203771A1 (en) 2001-12-17 2007-08-30 Caballero Richard J System and method for processing complex orders
US7912930B1 (en) 2002-02-21 2011-03-22 Oracle International Corporation System and method for resource provisioning
US7136867B1 (en) 2002-04-08 2006-11-14 Oracle International Corporation Metadata format for hierarchical data storage on a raw storage device
US20030212991A1 (en) 2002-05-08 2003-11-13 Sanjeev Mahajan Data based automated over the air provisioning for wireless services
US7418426B1 (en) 2002-05-20 2008-08-26 Microsoft Corporation System and method providing rules driven subscription event processing
US9565275B2 (en) 2012-02-09 2017-02-07 Rockwell Automation Technologies, Inc. Transformation of industrial data into useful cloud information
US20030233465A1 (en) 2002-06-12 2003-12-18 Vuico, L.L.C. System and method for implementing communication middleware for mobile "Java" computing
US7941514B2 (en) 2002-07-31 2011-05-10 Level 3 Communications, Llc Order entry system for telecommunications network service
US8910062B2 (en) 2002-10-07 2014-12-09 At&T Intellectual Property I, L.P. Method and system for performing network provisioning
AU2003291711A1 (en) 2002-11-12 2004-06-03 Next Generation Broadband Intelligent configuration bridge system and method for adding supplemental capabilities to an existing high speed data infrastructure
US7334225B2 (en) 2003-04-28 2008-02-19 International Business Machines Corporation Method, system, and computer program product for on demand enablement of dormant computing resources
WO2004102323A2 (en) 2003-05-06 2004-11-25 Dana Corporation System or method for analyzing information organized in a configurable manner
US7219303B2 (en) 2003-05-20 2007-05-15 Aol Llc Presence and geographic location notification based on a setting
US20040267872A1 (en) 2003-06-30 2004-12-30 Serdy Frank Stephen Provisioning interface
US7698398B1 (en) * 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
CA2442796A1 (en) 2003-09-26 2005-03-26 Ibm Canada Limited - Ibm Canada Limitee Binding a workflow engine to a data model
US20050198629A1 (en) 2003-10-10 2005-09-08 Vipul Vishwanath Method and system for provisioning servers based on a policy and rule hierarchy
US7921299B1 (en) 2003-12-05 2011-04-05 Microsoft Corporation Partner sandboxing in a shared multi-tenant billing system
US20050144033A1 (en) 2003-12-30 2005-06-30 Rational Systems, Llc Structured products based enterprise management system
US20050273346A1 (en) 2004-06-02 2005-12-08 Frost Richard N Real property information management system and method
US7469219B2 (en) 2004-06-28 2008-12-23 Accenture Global Services Gmbh Order management system
US20050289072A1 (en) 2004-06-29 2005-12-29 Vinay Sabharwal System for automatic, secure and large scale software license management over any computer network
US7711780B1 (en) 2004-07-20 2010-05-04 Oracle America, Inc. Method for distributed end-to-end dynamic horizontal scalability
US7614049B2 (en) 2004-08-24 2009-11-03 International Business Machines Corporation Autonomic installation and configuration of an enterprise business process on-demand
US8463819B2 (en) 2004-09-01 2013-06-11 Oracle International Corporation Centralized enterprise security policy framework
US7428503B1 (en) 2004-10-26 2008-09-23 Cox Communications, Inc Methods and systems for providing product and services upgrades and work order status in a cable services network
GB0427133D0 (en) 2004-12-10 2005-01-12 British Telecomm Workflow scheduler
EP1674960B1 (en) 2004-12-23 2011-10-05 Sap Ag Reverse engineering access control
US8335704B2 (en) 2005-01-28 2012-12-18 Pegasystems Inc. Methods and apparatus for work management and routing
US7788225B2 (en) 2005-03-18 2010-08-31 Oracle International Corporation Apparatus and method for identifying asynchronous data in redundant data stores and for re-synchronizing same
US8554916B2 (en) 2005-04-11 2013-10-08 Accenture Global Services Gmbh Service delivery platform and development of new client business models
US8849685B2 (en) 2005-04-29 2014-09-30 Tracy Denise Oden System for real-time on-demand provisioning, fulfilling, and delivering full service professional services
US7565310B2 (en) 2005-05-04 2009-07-21 International Business Machines Corporation Method and system and program product for a design pattern for automating service provisioning
US20060265583A1 (en) 2005-05-20 2006-11-23 Tamar Eilam Method, system, and product for identifying provisioning operations via planning methods
US7945041B2 (en) 2005-05-27 2011-05-17 International Business Machines Corporation Method, system and program product for managing a customer request
US7774827B2 (en) 2005-06-06 2010-08-10 Novell, Inc. Techniques for providing role-based security with instance-level granularity
US7783746B2 (en) 2005-06-30 2010-08-24 Infinera Corporation Efficient synchronization of element management systems to network element attributes
US20070028098A1 (en) 2005-07-28 2007-02-01 International Business Machines Corporation Encrypting units of work based on a trust level
US7698309B2 (en) 2005-08-16 2010-04-13 Oracle International Corporation Advanced fine-grained administration of recovering transactions
CN101258483B (zh) 2005-09-09 2015-08-12 易享信息技术(上海)有限公司 用于在多租户数据库环境中导出、发布、浏览和安装随需应用的系统及其方法
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20070112952A1 (en) 2005-11-14 2007-05-17 Kabushiki Kaisha Toshiba And Toshiba Tec Kabushiki Kaisha System and method for synchronized startup of document processing services
US8156083B2 (en) 2005-12-01 2012-04-10 Oracle International Corporation Database system that provides for history-enabled tables
US7409413B2 (en) 2005-12-21 2008-08-05 International Business Machines Corporation Detecting granular data store changes
US8150816B2 (en) 2005-12-29 2012-04-03 Nextlabs, Inc. Techniques of optimizing policies in an information management system
US9407662B2 (en) 2005-12-29 2016-08-02 Nextlabs, Inc. Analyzing activity data of an information management system
US7703667B2 (en) 2006-03-06 2010-04-27 Microsoft Corporation Management and application of entitlements
US8489729B2 (en) 2006-03-14 2013-07-16 Sap Ag System and method for social service event processing and management
US7992194B2 (en) 2006-03-14 2011-08-02 International Business Machines Corporation Methods and apparatus for identity and role management in communication networks
US8060391B2 (en) 2006-04-07 2011-11-15 The University Of Utah Research Foundation Analogy based workflow identification
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8266616B1 (en) 2006-05-11 2012-09-11 Hewlett-Packard Development Company, L.P. Computer system provisioning using templates
US20070283147A1 (en) 2006-05-30 2007-12-06 Fried Eric P System and method to manage device access in a software partition
AU2007255315B2 (en) 2006-06-05 2011-12-08 Comptel Corporation Provisioning and activation using a service catalog
US8094797B2 (en) 2006-08-31 2012-01-10 Accenture Global Services Limited Service provisioning and activation engines for system
US20080059469A1 (en) 2006-08-31 2008-03-06 International Business Machines Corporation Replication Token Based Synchronization
US8201216B2 (en) 2006-09-11 2012-06-12 Interdigital Technology Corporation Techniques for database structure and management
US8601598B2 (en) 2006-09-29 2013-12-03 Microsoft Corporation Off-premise encryption of data storage
US8705746B2 (en) 2006-09-29 2014-04-22 Microsoft Corporation Data security in an off-premise environment
US8254396B2 (en) 2006-10-13 2012-08-28 Cisco Technology, Inc. Fast border gateway protocol synchronization
EP1914951B8 (en) 2006-10-17 2009-06-03 Software Ag Methods and system for storing and retrieving identity mapping information
US8402514B1 (en) 2006-11-17 2013-03-19 Network Appliance, Inc. Hierarchy-aware role-based access control
US20080127183A1 (en) 2006-11-27 2008-05-29 Microsoft Corporation Document Workflows and Routing Services Using Modular Filters
US7725416B2 (en) 2006-12-13 2010-05-25 Novell, Inc. Method for rule locating, ordering and combining in a polyhierarichical environment
US8126970B2 (en) 2006-12-20 2012-02-28 Sap Ag Method and apparatus for engineering change management
US8280978B2 (en) 2006-12-29 2012-10-02 Prodea Systems, Inc. Demarcation between service provider and user in multi-services gateway device at user premises
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US8380880B2 (en) 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US20080201705A1 (en) 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
US20080250074A1 (en) 2007-04-04 2008-10-09 Oracle International Corporation Recoverable last resource commit
US7664866B2 (en) 2007-04-10 2010-02-16 Apertio Limited Sub-tree access control in network architectures
US20080256419A1 (en) 2007-04-13 2008-10-16 Microchip Technology Incorporated Configurable Split Storage of Error Detecting and Correcting Codes
US8136147B2 (en) 2007-04-16 2012-03-13 International Business Machines Corporation Privilege management
EP1986369B1 (en) 2007-04-27 2012-03-07 Accenture Global Services Limited End user control configuration system with dynamic user interface
US20080281617A1 (en) 2007-05-11 2008-11-13 Near-Time, Inc. Method and system for web site management
US9769177B2 (en) 2007-06-12 2017-09-19 Syracuse University Role-based access control to computing resources in an inter-organizational community
US20090037492A1 (en) 2007-07-31 2009-02-05 Ahmad Baitalmal Framework for Synchronizing Applications
CA2733364A1 (en) 2007-08-02 2009-02-05 Fugen Solutions, Inc. Method and apparatus for multi-domain identity interoperability and certification
US8001091B2 (en) 2007-08-29 2011-08-16 International Business Machines Corporation Apparatus, system, and method for hierarchical rollback of business operations
US7540205B2 (en) * 2007-09-17 2009-06-02 Viaflo Corp. Electronic pipettor
US8788457B2 (en) 2007-09-21 2014-07-22 International Business Machines Corporation Ensuring that the archival data deleted in relational source table is already stored in relational target table
US8572027B2 (en) 2007-09-21 2013-10-29 International Business Machines Corporation Performing synchronization among relational database tables with minimal contention
US9330050B2 (en) 2007-10-02 2016-05-03 Aspect Software, Inc. Deployment wizard
US20090097657A1 (en) 2007-10-05 2009-04-16 Scheidt Edward M Constructive Channel Key
US7904756B2 (en) 2007-10-19 2011-03-08 Oracle International Corporation Repair planning engine for data corruptions
US20090126007A1 (en) 2007-11-08 2009-05-14 Avantia, Inc. Identity management suite
CN101868965B (zh) 2007-11-21 2018-06-19 朗讯科技公司 基于规则的分层账户资源管理系统和方法
US8954952B2 (en) 2007-11-30 2015-02-10 Red Hat, Inc. Portable business process deployment model across different application servers
US8336089B1 (en) 2007-12-21 2012-12-18 Emc Corporation Method and apparatus for providing authentication and encryption services by a software as a service platform
US10007767B1 (en) 2007-12-21 2018-06-26 EMC IP Holding Company LLC System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service
US9323938B2 (en) 2007-12-31 2016-04-26 Enterra Solutions, Llc Holistic XACML and obligation code automatically generated from ontologically defined rule set
US20090178102A1 (en) 2008-01-04 2009-07-09 Khaled Alghathbar Implementing Security Policies in Software Development Tools
ES2609808T3 (es) * 2008-02-01 2017-04-24 Interdigital Patent Holdings, Inc. Método y aparato para priorizar canales lógicos
US20090198797A1 (en) 2008-02-05 2009-08-06 Microsoft Corporation Network device provisioning using documents
US20090205018A1 (en) 2008-02-07 2009-08-13 Ferraiolo David F Method and system for the specification and enforcement of arbitrary attribute-based access control policies
US9378066B2 (en) 2008-02-25 2016-06-28 Sap Se Dynamic resizing of applications running on virtual machines
US8353012B2 (en) 2008-02-26 2013-01-08 Alejandro Emilio Del Real Internet-based group website technology for content management and exchange (system and methods)
US20090259683A1 (en) 2008-04-14 2009-10-15 Fiberlink Communications Corporation System and method for business object modeling
US8291474B2 (en) 2008-04-16 2012-10-16 Oracle America, Inc. Using opaque groups in a federated identity management environment
US8850409B2 (en) 2008-05-21 2014-09-30 Optumsoft, Inc. Notification-based constraint set translation to imperative execution
US8543998B2 (en) 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US8572602B1 (en) 2008-06-05 2013-10-29 Appcelerator, Inc. System and method for synchronization of a web application to a cloud provider
US8533797B2 (en) 2008-06-12 2013-09-10 Microsoft Corporation Using windows authentication in a workgroup to manage application users
US8291490B1 (en) 2008-06-30 2012-10-16 Emc Corporation Tenant life cycle management for a software as a service platform
US8429540B1 (en) 2008-10-10 2013-04-23 Adobe Systems Incorporated End user created collaborative and non-collaborative workspace application container system and method
US20100269049A1 (en) 2008-10-13 2010-10-21 Regen Fearon System and method for managing events in a multiple schedule environment
US7974943B2 (en) 2008-10-30 2011-07-05 Hewlett-Packard Development Company, L.P. Building a synchronized target database
US20100114618A1 (en) 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Management of Variants of Model of Service
EP2182489A1 (en) 2008-10-31 2010-05-05 Accenture Global Services GmbH System for controlling user access to a service
US8627328B2 (en) 2008-11-14 2014-01-07 Oracle International Corporation Operation control for deploying and managing software service in a virtual environment
CN101419616A (zh) 2008-12-10 2009-04-29 阿里巴巴集团控股有限公司 一种数据同步方法及装置
US9137209B1 (en) 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
US8615581B2 (en) 2008-12-19 2013-12-24 Openpeak Inc. System for managing devices and method of operation of same
US8650290B2 (en) 2008-12-19 2014-02-11 Openpeak Inc. Portable computing device and method of operation of same
US8788655B2 (en) 2008-12-19 2014-07-22 Openpeak Inc. Systems for accepting and approving applications and methods of operation of same
US8856322B2 (en) 2008-12-19 2014-10-07 Openpeak Inc. Supervisory portal systems and methods of operation of same
US8745213B2 (en) 2008-12-19 2014-06-03 Openpeak Inc. Managed services platform and method of operation of same
US8612582B2 (en) 2008-12-19 2013-12-17 Openpeak Inc. Managed services portals and method of operation of same
US20100161552A1 (en) 2008-12-24 2010-06-24 Dan Murarasu Method and system for referencing measures between tables of analytical report documents
US8843997B1 (en) 2009-01-02 2014-09-23 Resilient Network Systems, Inc. Resilient trust network services
WO2010080152A1 (en) 2009-01-08 2010-07-15 Oracle International Corporation Server management system
US8566362B2 (en) 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
US9165154B2 (en) 2009-02-16 2015-10-20 Microsoft Technology Licensing, Llc Trusted cloud computing and services framework
US8666935B2 (en) 2009-03-10 2014-03-04 Xerox Corporation System and method of on-demand document processing for a medical office
US20100248681A1 (en) 2009-03-27 2010-09-30 Anthony Phills Method and system for producing emergency notifications
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US20100280892A1 (en) 2009-04-30 2010-11-04 Alcatel-Lucent Usa Inc. Method and system for targeted offers to mobile users
US7953896B2 (en) 2009-05-27 2011-05-31 Microsoft Corporation Managing user accounts and groups in multiple forests
EP2256660B1 (en) 2009-05-28 2015-08-12 Sap Se Computer-implemented method, computer system, and computer program product for optimization of evaluation of a policy specification
US20100332629A1 (en) 2009-06-04 2010-12-30 Lauren Ann Cotugno Secure custom application cloud computing architecture
WO2010151273A1 (en) 2009-06-04 2010-12-29 Unisys Corporation Secure custom application cloud computing architecture
US20100318393A1 (en) 2009-06-11 2010-12-16 International Business Machines, Corporation Dynamically dispatching workflows in response to workflow rules
WO2010149222A1 (en) 2009-06-26 2010-12-29 Nokia Siemens Networks Oy Attribute management
US20100332401A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US8326962B2 (en) 2009-07-01 2012-12-04 Siemens Corporation Method, system and apparatus for providing automation management services
US8631477B2 (en) 2009-07-23 2014-01-14 International Business Machines Corporation Lifecycle management of privilege sharing using an identity management system
US8413150B2 (en) 2009-07-31 2013-04-02 Sap Ag Systems and methods for data aware workflow change management
US20110035444A1 (en) 2009-08-06 2011-02-10 Timedright Inc. Relationship security in online social and professional networks and communities
US8200633B2 (en) 2009-08-07 2012-06-12 International Business Machines Corporation Database backup and restore with integrated index reorganization
US9015723B2 (en) 2009-09-23 2015-04-21 International Business Machines Corporation Resource optimization for real-time task assignment in multi-process environments
US8913729B2 (en) 2009-10-29 2014-12-16 Verizon Patent And Licensing Inc. Automated provisioning
US8671036B2 (en) 2009-11-06 2014-03-11 Microsoft Corporation User interface for defining account dimension combinations
US20110126197A1 (en) 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
JP4939594B2 (ja) 2009-11-30 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション プライマリクラウドが提供したサービスレベルの実績値又は更新されたプリファレンス情報に基づいて、サービスレベルアグリーメントを動的に決定してサービスを提供することができるクラウドシステムを構成する装置、方法及びコンピュータプログラム
US20110131146A1 (en) 2009-12-02 2011-06-02 Anthony John Skutnik Employment management system
US8924559B2 (en) 2009-12-03 2014-12-30 International Business Machines Corporation Provisioning services using a cloud services catalog
US20110137805A1 (en) 2009-12-03 2011-06-09 International Business Machines Corporation Inter-cloud resource sharing within a cloud computing environment
US8615584B2 (en) 2009-12-03 2013-12-24 International Business Machines Corporation Reserving services within a cloud computing environment
GB2475897A (en) 2009-12-04 2011-06-08 Creme Software Ltd Resource allocation using estimated time to complete jobs in a grid or cloud computing environment
US9489266B2 (en) 2009-12-11 2016-11-08 Google Inc. System and method of storing backup image catalog
US20110153969A1 (en) 2009-12-18 2011-06-23 William Petrick Device and method to control communications between and access to computer networks, systems or devices
US20120054624A1 (en) 2010-08-27 2012-03-01 Owens Jr Kenneth Robert Systems and methods for a multi-tenant system providing virtual data centers in a cloud configuration
US8387137B2 (en) 2010-01-05 2013-02-26 Red Hat, Inc. Role-based access control utilizing token profiles having predefined roles
US8387136B2 (en) 2010-01-05 2013-02-26 Red Hat, Inc. Role-based access control utilizing token profiles
US8386371B2 (en) 2010-02-02 2013-02-26 Ften, Inc. Method and system for canceling orders for financial articles of trades
US9269075B2 (en) 2010-03-05 2016-02-23 Oracle International Corporation Distributed order orchestration system for adjusting long running order management fulfillment processes with delta attributes
US8793262B2 (en) 2010-03-05 2014-07-29 Oracle International Corporation Correlating and mapping original orders with new orders for adjusting long running order management fulfillment processes
US20110218925A1 (en) 2010-03-05 2011-09-08 Oracle International Corporation Change management framework in distributed order orchestration system
US9904898B2 (en) 2010-03-05 2018-02-27 Oracle International Corporation Distributed order orchestration system with rules engine
US10061464B2 (en) 2010-03-05 2018-08-28 Oracle International Corporation Distributed order orchestration system with rollback checkpoints for adjusting long running order management fulfillment processes
US9875463B2 (en) 2010-03-17 2018-01-23 Infostreet, Inc. Cloud-based desktop and subscription application platform apparatuses, methods and systems
US8504400B2 (en) 2010-03-24 2013-08-06 International Business Machines Corporation Dynamically optimized distributed cloud computing-based business process management (BPM) system
US20110238737A1 (en) 2010-03-26 2011-09-29 Nec Laboratories America, Inc. Decentralized cloud storage
US8290900B2 (en) 2010-04-24 2012-10-16 Research In Motion Limited Apparatus, and associated method, for synchronizing directory services
US8719804B2 (en) 2010-05-05 2014-05-06 Microsoft Corporation Managing runtime execution of applications on cloud computing systems
US20110288968A1 (en) 2010-05-20 2011-11-24 Oracle International Corporation Processes and apparatus to generate cross charge and recoveies for shared service centers
US8204794B1 (en) 2010-05-25 2012-06-19 Amazon Technologies, Inc. Processing orders for wireless service
US8615585B2 (en) 2010-05-28 2013-12-24 International Business Machines Corporation Ontology based resource provisioning and management for services
US8954564B2 (en) * 2010-05-28 2015-02-10 Red Hat, Inc. Cross-cloud vendor mapping service in cloud marketplace
US8606897B2 (en) * 2010-05-28 2013-12-10 Red Hat, Inc. Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
US8676848B2 (en) 2010-06-09 2014-03-18 International Business Machines Corporation Configuring cloud resources
US8904382B2 (en) 2010-06-17 2014-12-02 International Business Machines Corporation Creating instances of cloud computing environments
US20110313902A1 (en) 2010-06-18 2011-12-22 International Business Machines Corporation Budget Management in a Compute Cloud
US9178766B2 (en) 2010-06-28 2015-11-03 Amazon Technologies, Inc. Provisioning multiple network resources
US8370303B1 (en) 2010-06-30 2013-02-05 Amazon Technologies, Inc. Generating snapshots of data tables
US8935397B2 (en) 2010-07-01 2015-01-13 Red Hat, Inc. Dividing cloud resources
CN105653368B (zh) * 2010-07-09 2019-08-20 道富公司 用于私人云计算的系统和方法
CN102376064A (zh) 2010-08-12 2012-03-14 威睿公司 云环境中软件的弹性许可
JP2012044090A (ja) 2010-08-23 2012-03-01 Toshiba Corp 検査方法、テンプレート製造方法、半導体集積回路製造方法および検査システム
US8904159B2 (en) 2010-08-23 2014-12-02 International Business Machines Corporation Methods and systems for enabling control to a hypervisor in a cloud computing environment
US8769704B2 (en) 2010-09-10 2014-07-01 Salesforce.Com, Inc. Method and system for managing and monitoring of a multi-tenant system
US9043445B2 (en) 2010-09-22 2015-05-26 International Business Machines Corporation Linking instances within a cloud computing environment
US8935427B2 (en) 2010-09-23 2015-01-13 Microsoft Corporation Providing virtual networks using multi-tenant relays
BR112013007808A2 (pt) 2010-10-04 2020-06-30 Headwater Partners I Llc método, dispositivo de usuário final móvel e sistema
JP2012079210A (ja) * 2010-10-05 2012-04-19 Hitachi Ltd サービス連携システム
US10380660B2 (en) 2010-10-06 2019-08-13 Ncr Corporation Techniques for automated profile-based transaction processing
US8949939B2 (en) 2010-10-13 2015-02-03 Salesforce.Com, Inc. Methods and systems for provisioning access to customer organization data in a multi-tenant system
US8805970B2 (en) 2010-10-25 2014-08-12 International Business Machines Corporation Automatic management of configuration parameters and parameter management engine
US9135586B2 (en) 2010-10-28 2015-09-15 Sap Se System for dynamic parallel looping of repetitive tasks during execution of process-flows in process runtime
US8825791B2 (en) 2010-11-24 2014-09-02 Red Hat, Inc. Managing subscribed resource in cloud network using variable or instantaneous consumption tracking periods
WO2012070993A1 (en) 2010-11-25 2012-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for enabling service delivery in a telecommunications network
EP2458548A1 (en) 2010-11-30 2012-05-30 France Telecom System and method for implementing dynamic access control rules to personal cloud information
US9542699B2 (en) 2010-12-13 2017-01-10 Oracle International Corporation Order management system with technical decoupling
US9098338B2 (en) 2010-12-17 2015-08-04 Verizon Patent And Licensing Inc. Work flow command processing system
US9116746B2 (en) 2010-12-17 2015-08-25 Verizon Patent And Licensing Inc. Workflows and presets for workflows
US10491662B2 (en) 2011-01-27 2019-11-26 Computenext, Inc. Dynamically organizing cloud computing resources to facilitate discovery
US8825002B2 (en) 2011-02-08 2014-09-02 Macheen, Inc. Fractional applications product catalog
US9967318B2 (en) 2011-02-09 2018-05-08 Cisco Technology, Inc. Apparatus, systems, and methods for cloud agnostic multi-tier application modeling and deployment
US20120221454A1 (en) 2011-02-28 2012-08-30 Morgan Christopher Edwin Systems and methods for generating marketplace brokerage exchange of excess subscribed resources using dynamic subscription periods
US8959221B2 (en) * 2011-03-01 2015-02-17 Red Hat, Inc. Metering cloud resource consumption using multiple hierarchical subscription periods
US8832219B2 (en) 2011-03-01 2014-09-09 Red Hat, Inc. Generating optimized resource consumption periods for multiple users on combined basis
US20120233220A1 (en) 2011-03-08 2012-09-13 Albert Kaschenvsky Controlling Access To A Computer System
JP5393719B2 (ja) 2011-03-24 2014-01-22 京セラドキュメントソリューションズ株式会社 画像形成装置
US20120271949A1 (en) 2011-04-20 2012-10-25 International Business Machines Corporation Real-time data analysis for resource provisioning among systems in a networked computing environment
US8869244B1 (en) 2011-05-03 2014-10-21 Symantec Corporation Techniques for providing role-based access control using dynamic shared accounts
US8806593B1 (en) 2011-05-19 2014-08-12 Zscaler, Inc. Guest account management using cloud based security services
US8661500B2 (en) 2011-05-20 2014-02-25 Nokia Corporation Method and apparatus for providing end-to-end privacy for distributed computations
US8631099B2 (en) 2011-05-27 2014-01-14 Red Hat, Inc. Systems and methods for cloud deployment engine for selective workload migration or federation based on workload conditions
US9037723B2 (en) 2011-05-31 2015-05-19 Red Hat, Inc. Triggering workload movement based on policy stack having multiple selectable inputs
US8839347B2 (en) 2011-05-31 2014-09-16 Nokia Corporation Method and apparatus for providing privacy in cognitive radio information sharing
US8782192B2 (en) 2011-05-31 2014-07-15 Red Hat, Inc. Detecting resource consumption events over sliding intervals in cloud-based network
CN102222090B (zh) * 2011-06-02 2012-12-05 清华大学 一种云环境下海量数据资源管理框架
US8806003B2 (en) 2011-06-14 2014-08-12 International Business Machines Corporation Forecasting capacity available for processing workloads in a networked computing environment
US9697051B2 (en) 2011-06-27 2017-07-04 Nokia Technologies Oy Method and apparatus for providing services via cloud-based analytics
US8769622B2 (en) 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
US8612528B2 (en) 2011-06-30 2013-12-17 Blackboard Connect Inc. Dynamic population of notification template with language or transmission mode at time of transmission
ITMI20111209A1 (it) 2011-06-30 2012-12-31 Ibm Monitoraggio a livello utente in un ambiente di elaborazione a nuvola
US9069788B2 (en) 2011-07-01 2015-06-30 Salesforce.Com, Inc. Truncating data associated with objects in a multi-tenant database
US9251033B2 (en) 2011-07-07 2016-02-02 Vce Company, Llc Automatic monitoring and just-in-time resource provisioning system
US8463633B2 (en) 2011-07-27 2013-06-11 Xerox Corporation Methods and systems for deploying a service workflow in a hybrid cloud environment
US8898291B2 (en) 2011-08-08 2014-11-25 International Business Machines Corporation Dynamically expanding computing resources in a networked computing environment
US8782762B2 (en) 2011-08-17 2014-07-15 International Business Machines Corporation Building data security in a networked computing environment
US9250944B2 (en) 2011-08-30 2016-02-02 International Business Machines Corporation Selection of virtual machines from pools of pre-provisioned virtual machines in a networked computing environment
US10044678B2 (en) * 2011-08-31 2018-08-07 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks with virtual private networks
US8789157B2 (en) 2011-09-06 2014-07-22 Ebay Inc. Hybrid cloud identity mapping infrastructure
US8712961B2 (en) 2011-09-23 2014-04-29 International Business Machines Corporation Database caching utilizing asynchronous log-based replication
US9106584B2 (en) * 2011-09-26 2015-08-11 At&T Intellectual Property I, L.P. Cloud infrastructure services
US8595346B2 (en) 2011-09-30 2013-11-26 Netapp, Inc. Collaborative management of shared resources selects corrective action based on normalized cost
US8959114B2 (en) 2011-10-21 2015-02-17 Salesforce.Com, Inc. Entitlement management in an on-demand system
US20130110943A1 (en) 2011-11-02 2013-05-02 Apple Inc. Notification and reminder generation, distribution, and storage system
US20130117157A1 (en) 2011-11-09 2013-05-09 Gravitant, Inc. Optimally sourcing services in hybrid cloud environments
US8826277B2 (en) 2011-11-29 2014-09-02 International Business Machines Corporation Cloud provisioning accelerator
US8782548B2 (en) 2011-12-02 2014-07-15 Verizon Patent And Licensing Inc. Workflow-based delivery management methods and systems
CN102420873B (zh) * 2011-12-06 2014-06-11 肇庆全商联盟信息科技有限公司 复合网络全新云应用平台
US8819210B2 (en) 2011-12-06 2014-08-26 Sap Portals Israel Ltd Multi-tenant infrastructure
US9094208B2 (en) 2011-12-13 2015-07-28 Sharp Laboratories Of America, Inc. User identity management and authentication in network environments
US8738775B1 (en) 2011-12-20 2014-05-27 Amazon Technologies, Inc. Managing resource dependent workflows
US8788663B1 (en) 2011-12-20 2014-07-22 Amazon Technologies, Inc. Managing resource dependent workflows
US8656002B1 (en) 2011-12-20 2014-02-18 Amazon Technologies, Inc. Managing resource dependent workflows
US8793714B2 (en) 2012-01-03 2014-07-29 Time Warner Cable Enterprises Llc Excluding specific application traffic from customer consumption data
US9215085B2 (en) 2012-01-19 2015-12-15 Empire Technology Development Llc Iterative simulation of requirement metrics for assumption and schema-free configuration management
US8813205B2 (en) 2012-02-06 2014-08-19 International Business Machines Corporation Consolidating disparate cloud service data and behavior based on trust relationships between cloud services
US9026658B2 (en) 2012-03-28 2015-05-05 Microsoft Technology Licensing, Llc Enhanced computer cluster operation using resource allocation requests
WO2013147821A1 (en) 2012-03-29 2013-10-03 Empire Technology Development, Llc Determining user key-value storage needs from example queries
US20130268480A1 (en) 2012-04-05 2013-10-10 Box, Inc. Method and apparatus for selective subfolder synchronization in a cloud-based environment
US10089323B2 (en) 2012-04-05 2018-10-02 Microsoft Technology Licensing, Llc Telemetry system for a cloud synchronization system
US9307006B2 (en) 2012-04-11 2016-04-05 Salesforce.Com, Inc. System and method for synchronizing data objects in a cloud based social networking environment
US8595799B2 (en) 2012-04-18 2013-11-26 Hewlett-Packard Development Company, L.P. Access authorization
US8788819B2 (en) 2012-04-27 2014-07-22 Yahoo! Inc. System and method for a cloud-based electronic communication vault
US9210162B2 (en) 2012-05-02 2015-12-08 Microsoft Technology Licensing, Llc Certificate based connection to cloud virtual machine
US9548962B2 (en) 2012-05-11 2017-01-17 Alcatel Lucent Apparatus and method for providing a fluid security layer
US8832159B2 (en) 2012-05-22 2014-09-09 Google Inc. Systems and methods for asynchronous schema changes
US8676984B2 (en) 2012-05-23 2014-03-18 International Business Machines Corporation Live directory of cloud tenants to enable inter-tenant interaction via cloud
US8856082B2 (en) 2012-05-23 2014-10-07 International Business Machines Corporation Policy based population of genealogical archive data
US9053302B2 (en) 2012-06-08 2015-06-09 Oracle International Corporation Obligation system for enterprise environments
US8856077B1 (en) 2012-06-15 2014-10-07 Amazon Technologies, Inc. Account cloning service for cloud computing environments
US9454199B2 (en) 2012-06-28 2016-09-27 Intel Corporation Power management control of remote servers
EP2831746A1 (en) 2012-07-31 2015-02-04 Hewlett-Packard Development Company, L.P. Orchestrating hybrid cloud services
US9563480B2 (en) 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9276942B2 (en) 2012-09-07 2016-03-01 Oracle International Corporation Multi-tenancy identity management system
US9542400B2 (en) 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
US10148530B2 (en) 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
US9621435B2 (en) 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
US10521746B2 (en) 2012-09-07 2019-12-31 Oracle International Corporation Recovery workflow for processing subscription orders in a computing infrastructure system
EP2893683A1 (en) 2012-09-07 2015-07-15 Oracle International Corporation Ldap-based multi-customer in-cloud identity management system
US9467355B2 (en) 2012-09-07 2016-10-11 Oracle International Corporation Service association model
US20150363724A1 (en) 2012-09-07 2015-12-17 Oracle International Corporation Reusable anonymous subscription
US9069979B2 (en) 2012-09-07 2015-06-30 Oracle International Corporation LDAP-based multi-tenant in-cloud identity management system
EP2893685B1 (en) 2012-09-07 2017-07-26 Oracle International Corporation Infrastructure for providing cloud services
US9253113B2 (en) 2012-09-07 2016-02-02 Oracle International Corporation Customizable model for throttling and prioritizing orders in a cloud environment
US20140074659A1 (en) 2012-09-07 2014-03-13 Oracle International Corporation Ramped ordering for cloud services
US9667470B2 (en) * 2012-09-07 2017-05-30 Oracle International Corporation Failure handling in the execution flow of provisioning operations in a cloud environment
WO2014043278A1 (en) 2012-09-11 2014-03-20 Visa International Service Association Cloud-based virtual wallet nfc apparatuses, methods and systems
US9336030B1 (en) * 2012-09-18 2016-05-10 Amazon Technologies, Inc. Placement and tuning of virtual machines
US9424432B2 (en) * 2012-09-20 2016-08-23 Nasdaq, Inc. Systems and methods for secure and persistent retention of sensitive information
US9154641B2 (en) 2012-11-21 2015-10-06 At&T Intellectual Property I, L.P. Long term evolution intelligent subscriber profile
US10194414B2 (en) 2013-01-07 2019-01-29 Futurewei Technologies, Inc. Information centric networking based service centric networking
US9654358B2 (en) * 2013-01-15 2017-05-16 International Business Machines Corporation Managing user privileges for computer resources in a networked computing environment
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9608958B2 (en) 2013-03-12 2017-03-28 Oracle International Corporation Lightweight directory access protocol (LDAP) join search mechanism
US20140280800A1 (en) 2013-03-14 2014-09-18 Alcatel-Lucent Bell Labs France Apparatus and method to maintain consistent operational states in in cloud-based infrastructures
US20150067171A1 (en) * 2013-08-30 2015-03-05 Verizon Patent And Licensing Inc. Cloud service brokering systems and methods
WO2015034481A1 (en) 2013-09-04 2015-03-12 Hewlett-Packard Development Company, L.P. Providing resources to customers via node-relationship models
US9544293B2 (en) 2013-09-20 2017-01-10 Oracle International Corporation Global unified session identifier across multiple data centers
US10567231B2 (en) 2013-10-30 2020-02-18 Hewlett Packard Enterprise Development Lp Execution of a topology
EP3063663A4 (en) 2013-10-30 2017-04-19 Hewlett-Packard Enterprise Development LP Stitching an application model to an infrastructure template
EP3063662A4 (en) 2013-10-30 2017-06-21 Hewlett-Packard Enterprise Development LP Facilitating autonomous computing within a cloud service
US9705847B2 (en) 2013-11-13 2017-07-11 Institute For Information Industry Management server and management method thereof for managing cloud appliances in virtual local area networks
CN105765568B (zh) 2013-12-19 2019-05-10 英特尔公司 基于服务级别协议要求的服务模板生成和部署
US9729419B2 (en) * 2014-03-27 2017-08-08 International Business Machines Corporation Smart migration of overperforming operators of a streaming application to virtual machines in a cloud
WO2015191119A1 (en) 2014-06-11 2015-12-17 Oracle International Corporation Providing a subscription for a service using an existing subscription
US10164901B2 (en) 2014-08-22 2018-12-25 Oracle International Corporation Intelligent data center selection
US20160197835A1 (en) 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for virtualization of cloud networking components
US9535754B1 (en) 2015-02-05 2017-01-03 Amazon Technologies, Inc. Dynamic provisioning of computing resources
US9336483B1 (en) * 2015-04-03 2016-05-10 Pearson Education, Inc. Dynamically updated neural network structures for content distribution networks
US10284433B2 (en) 2015-06-25 2019-05-07 International Business Machines Corporation Data synchronization using redundancy detection
US10142174B2 (en) 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning

Also Published As

Publication number Publication date
US10212053B2 (en) 2019-02-19
WO2014039919A1 (en) 2014-03-13
EP2893684A1 (en) 2015-07-15
US20170244613A1 (en) 2017-08-24
CN104756460B (zh) 2018-05-29
JP2015529366A (ja) 2015-10-05
US9621435B2 (en) 2017-04-11
CN104756460A (zh) 2015-07-01
US20140075032A1 (en) 2014-03-13

Similar Documents

Publication Publication Date Title
JP6326417B2 (ja) Ldapベースの複数顧客インクラウドアイデンティティ管理システム
JP6181185B2 (ja) Ldapベースのマルチカスタマ・インクラウド・アイデンティティ管理システム
US9397884B2 (en) Workflows for processing cloud services
JP6419700B2 (ja) クラウドサービスを提供するためのインフラストラクチャ
US9838370B2 (en) Business attribute driven sizing algorithms
US9542400B2 (en) Service archive support
US10521746B2 (en) Recovery workflow for processing subscription orders in a computing infrastructure system
US9467355B2 (en) Service association model
US9667470B2 (en) Failure handling in the execution flow of provisioning operations in a cloud environment
US10182107B2 (en) Multi-tenant application using hierarchical bean factory container

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171114

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: 20180327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R150 Certificate of patent or registration of utility model

Ref document number: 6326417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250