JP6181185B2 - LDAP-based multi-customer in-cloud identity management system - Google Patents

LDAP-based multi-customer in-cloud identity management system Download PDF

Info

Publication number
JP6181185B2
JP6181185B2 JP2015531267A JP2015531267A JP6181185B2 JP 6181185 B2 JP6181185 B2 JP 6181185B2 JP 2015531267 A JP2015531267 A JP 2015531267A JP 2015531267 A JP2015531267 A JP 2015531267A JP 6181185 B2 JP6181185 B2 JP 6181185B2
Authority
JP
Japan
Prior art keywords
service
customer
resource
assembly
resource assembly
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
JP2015531267A
Other languages
Japanese (ja)
Other versions
JP2016500854A (en
JP2016500854A5 (en
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
Priority claimed from US13/844,018 external-priority patent/US9501541B2/en
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2016500854A publication Critical patent/JP2016500854A/en
Publication of JP2016500854A5 publication Critical patent/JP2016500854A5/ja
Application granted granted Critical
Publication of JP6181185B2 publication Critical patent/JP6181185B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4523Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using lightweight directory access protocol [LDAP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Description

関連出願の相互参照
本願は、以下の出願の利益および優先権を主張するものであって、その内容全体があらゆる目的で引用によりこの明細書中に援用されている。
This application claims the benefit and priority of the following applications, the entire contents of which are hereby incorporated by reference for all purposes.

(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/801,160号;
(5)「クラウドインフラストラクチャ」と題される2013年3月15日に出願された米国仮出願番号第61/794,427号;および
(6)「ポッドプロビジョニングおよびサービスプロビジョニングの分離」と題される2013年3月15日に出願された米国本出願番号第13/844,018号。
(1) US Provisional Application No. 61 / 698,413, filed September 7, 2012, entitled “Tenant Automation System”;
(2) US Provisional Application No. 61 / 698,459, filed September 7, 2012, entitled “Service Development Infrastructure”;
(3) US Provisional Application No. 61 / 785,299, filed March 14, 2013, entitled “Cloud Infrastructure”;
(4) US Provisional Application No. 61 / 801,160, filed March 15, 2013 entitled “Separation of Pod Provisioning and Service Provisioning”;
(5) US Provisional Application No. 61 / 794,427 filed March 15, 2013 entitled “Cloud Infrastructure”; and (6) “Separation of Pod Provisioning and Service Provisioning” U.S. Application No. 13 / 844,018, filed March 15, 2013.

背景
本開示は、コンピュータシステムおよびソフトウェアに関し、より特定的には、クラウド環境でのサービスのプロビジョニング(provision)を容易にして自動化するための技術に関する。
BACKGROUND This disclosure relates to computer systems and software, and more particularly to techniques for facilitating and automating provisioning of services in a cloud environment.

クラウドコンピューティングは、構成可能な演算リソース(例えばネットワーク、サーバ、ストレージ、アプリケーションおよびサービス)の共有プールへの便利なオンデマンドのネットワークアクセスを可能にするためのモデルである。クラウド(またはネットワーク)を介して提供またはアクセスされるサービスは、クラウドサービスと称される。サブスクライブを行う顧客がクラウドサービスを利用できるようにするためにクラウドサービスプロバイダが行う必要がある処理は数多くある。その複雑さのために、この処理の多くは依然として手動でなされている。例えば、このようなクラウドサービスを提供するためのプロビジョニングリソースは、非常に労働集約型のプロセスであり得る。   Cloud computing is a model for enabling convenient on-demand network access to a shared pool of configurable computing resources (eg, networks, servers, storage, applications and services). A service provided or accessed via the cloud (or network) is called a cloud service. There are many processes that a cloud service provider needs to do in order for a subscribing customer to be able to use a cloud service. Because of its complexity, much of this processing is still done manually. For example, provisioning resources for providing such a cloud service can be a very labor intensive process.

概要
この概要は、主張された主題の重要な特徴または本質的な特徴を特定するよう意図されたものではなく、主張された主題の範囲を決定するために単独で用いられるよう意図されたものでもない。主題は、この特許の明細書全体、いずれかの図面または全ての図面および各々の請求項のうちの適切な部分を参照することによって理解されるはずである。
This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used alone to determine the scope of the claimed subject matter. Absent. The subject matter should be understood by reference to the entire specification of this patent, any or all drawings, and appropriate portions of each claim.

いくつかの実施例に従うと、PODプロビジョニングおよびサービスプロビジョニングのための方法が開示される。当該方法は、クラウドインフラストラクチャシステムによって提供される一組のクラウドサービスからサービスを特定する、顧客からのサブスクリプションオーダー情報をクラウドインフラストラクチャシステムによって格納するステップを含み得る。クラウドインフラストラクチャシステムは1つ以上の演算装置を含む。サブスクリプションオーダー情報は顧客特有の構成を含む。加えて、当該方法は、1つ以上の演算装置のうちの任意の演算装置によって、サブスクリプションオーダー情報に関連付けられたサービスを決定するステップを含み得る。さらに、当該方法は、予めプロビジョニングされた匿名のデプロイメントをサブスクリプションオーダー情報にマッピングするステップを含み得る。予めプロビジョニングされた匿名のデプロイメントは、決定されたサービスのために特定的に予めプロビジョニングされる。さらに、当該方法は、予めプロビジョニングされた匿名のデプロイメントを顧客特有の構成で構成することによって、特定的に顧客のためのサービスインスタンスを1つ以上の演算装置のうちの任意の演算装置によって作成するステップを含み得る。   According to some embodiments, a method for POD provisioning and service provisioning is disclosed. The method may include storing, by the cloud infrastructure system, subscription order information from a customer that identifies a service from a set of cloud services provided by the cloud infrastructure system. A cloud infrastructure system includes one or more computing devices. Subscription order information includes customer specific configurations. In addition, the method may include determining a service associated with the subscription order information by any of the one or more computing devices. Further, the method can include mapping a pre-provisioned anonymous deployment to subscription order information. A pre-provisioned anonymous deployment is specifically pre-provisioned for the determined service. In addition, the method creates a service instance specifically for a customer by any of the one or more computing devices by configuring a pre-provisioned anonymous deployment with a customer specific configuration. Steps may be included.

別の実施例に従うと、システムは、一組のクラウドサービスを提供するように構成可能な1つ以上の演算装置と、一組のクラウドサービスからサービスを特定する、顧客からのサブスクリプションオーダー情報を格納するように構成可能なメモリとを含む。サブスクリプションオーダー情報は顧客特有の構成を含む。1つ以上の演算装置のうちの任意の演算装置は、サブスクリプションオーダー情報に関連付けられたサービスを決定し、予めプロビジョニングされた匿名のデプロイメントをサブスクリプションオーダー情報にマッピングするように構成可能である。予めプロビジョニングされた匿名のデプロイメントは、決定されたサービスのために特定的に予めプロビジョニングされる。当該任意の演算装置はさらに、予めプロビジョニングされた匿名のデプロイメントを顧客特有の構成で構成することによって、特定的に顧客のためのサービスインスタンスを作成するように構成可能である。   According to another embodiment, the system includes one or more computing devices that can be configured to provide a set of cloud services and subscription order information from a customer that identifies the services from the set of cloud services. And memory configurable to store. Subscription order information includes customer specific configurations. Any computing device of the one or more computing devices can be configured to determine a service associated with the subscription order information and map a pre-provisioned anonymous deployment to the subscription order information. A pre-provisioned anonymous deployment is specifically pre-provisioned for the determined service. The optional computing device can be further configured to specifically create a service instance for a customer by configuring a pre-provisioned anonymous deployment with a customer specific configuration.

別の実施例に従うと、一組のクラウドサービスを提供するように構成されたクラウドインフラストラクチャシステムのためのコンピュータ実行可能命令を格納する1つ以上のコンピュータ読取可能媒体が提供される。コンピュータ実行可能命令は、実行されると、クラウドインフラストラクチャシステムにおける1つ以上の演算装置に:一組のクラウドサービスからサービスを特定する、顧客からのサブスクリプションオーダー情報を格納させ、サブスクリプションオーダー情報は顧客特有の構成を含み;さらに、サブスクリプションオーダー情報に関連付けられたサービスを決定させ;予めプロビジョニングされた匿名のデプロイメントをサブスクリプションオーダー情報にマッピングさせ、予めプロビジョニングされた匿名のデプロイメントは決定されたサービスのために特定的に予めプロビジョニングされ;さらに、予めプロビジョニングされた匿名のデプロイメントを顧客特有の構成で構成することによって、特定的に顧客のためのサービスインスタンスを作成させる。   According to another embodiment, one or more computer-readable media storing computer-executable instructions for a cloud infrastructure system configured to provide a set of cloud services are provided. The computer-executable instructions, when executed, cause one or more computing devices in the cloud infrastructure system to store subscription order information from a customer that identifies a service from a set of cloud services, and the subscription order information. Includes customer specific configuration; further, determines the service associated with subscription order information; maps pre-provisioned anonymous deployment to subscription order information, and pre-provisioned anonymous deployment is determined Specifically pre-provisioned for the service; and by configuring the pre-provisioned anonymous deployment in a customer-specific configuration, To create a Nsu.

別の実施例に従うと、一組のクラウドサービスを提供するためのシステムは、クラウドインフラストラクチャシステムによって提供される複数のクラウドサービスのうちの第1のサービスのために、1つ以上のリソースアセンブリの第1の組を維持するための手段を含み、リソースアセンブリの第1の組における各リソースアセンブリは、第1のサービスを提供するための1つ以上のリソースを含み;当該システムはさらに、顧客からのサブスクリプションオーダー情報を格納するための手段を含み、サブスクリプションオーダー情報は、顧客特有の構成および第1のサービスのためのオーダー要求を含み、当該システムはさらに、顧客に第1のサービスを提供するために、サブスクリプションオーダー情報に基づいて、リソースアセンブリの第1の組から第1のリソースアセンブリを選択するための手段と、第1のリソースアセンブリを顧客特有の構成で構成することによって顧客に第1のサービスを提供するために第1の顧客特有リソースアセンブリを作成するための手段とを含む。   According to another embodiment, a system for providing a set of cloud services includes one or more resource assemblies for a first service of a plurality of cloud services provided by a cloud infrastructure system. Means for maintaining a first set, wherein each resource assembly in the first set of resource assemblies includes one or more resources for providing a first service; Means for storing a plurality of subscription order information, the subscription order information including a customer specific configuration and an order request for a first service, the system further providing a first service to the customer Resource assembly based on subscription order information Means for selecting a first resource assembly from the first set and a first customer specific resource for providing a first service to the customer by configuring the first resource assembly in a customer specific configuration; Means for creating an assembly.

別の実施例に従うと、一組のクラウドサービスを提供するように構成されたコンピュータ読取可能プログラムまたはクラウドインフラストラクチャシステムが提供される。コンピュータ実行可能プログラムは、クラウドインフラストラクチャシステムに:クラウドインフラストラクチャシステムによって提供される複数のクラウドサービスから第1のサービスのための1つ以上のリソースアセンブリの第1の組を作成させ、リソースアセンブリの第1の組における各リソースアセンブリは、第1のサービスを提供するための1つ以上のリソースを含み;さらに、作成後、顧客からのサブスクリプションオーダー情報を受取らせ、サブスクリプションオーダー情報は、顧客特有の構成および第1のサービスのためのオーダー要求を含み;さらに、顧客に第1のサービスを提供するために、サブスクリプションオーダー情報に基づいて、リソースアセンブリの第1の組から第1のリソースアセンブリを選択させ;第1のリソースアセンブリを顧客特有の構成で構成することによって顧客に第1のサービスを提供するために、第1の顧客特有リソースアセンブリを作成させる。   According to another embodiment, a computer readable program or cloud infrastructure system configured to provide a set of cloud services is provided. A computer executable program causes a cloud infrastructure system to create a first set of one or more resource assemblies for a first service from a plurality of cloud services provided by the cloud infrastructure system, and Each resource assembly in the first set includes one or more resources for providing a first service; further, after creation, the subscription order information from the customer is received, and the subscription order information is Including a specific configuration and an order request for a first service; and further providing a first resource from a first set of resource assemblies based on subscription order information to provide the customer with the first service. Select assembly; first By configuring the resource assembly in a customer specific configuration for providing a first service to a customer, to create a first customer-specific resource assembly.

図面の簡単な説明
本発明の例示的な実施例について、添付の図面を参照して以下で詳細に説明する。
BRIEF DESCRIPTION OF THE DRAWINGS Exemplary embodiments of the invention are described in detail below with reference to the accompanying drawings.

本発明の一実施例に係るクラウドインフラストラクチャシステムの論理図である。1 is a logical diagram of a cloud infrastructure system according to an embodiment of the present invention. 本発明の実施例に係るクラウドインフラストラクチャシステムを実現するために使用され得るハードウェア/ソフトウェアスタックの簡略ブロック図である。1 is a simplified block diagram of a hardware / software stack that can be used to implement a cloud infrastructure system according to an embodiment of the present invention. FIG. 図1Aに示されるクラウドインフラストラクチャシステムを実現するためのシステム環境の簡略ブロック図である。FIG. 1B is a simplified block diagram of a system environment for realizing the cloud infrastructure system shown in FIG. 1A. 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールによって実行され得る処理を示す簡略化されたフローチャート300を示す。6 shows a simplified flowchart 300 illustrating processing that may be performed by a TAS module in a cloud infrastructure system according to an embodiment of the present invention. 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。FIG. 4 shows a simplified high-level diagram of one or more submodules in a TAS module in a cloud infrastructure system according to an embodiment of the present invention. 本発明の実施例に係るTASコンポーネントの例示的な分散デプロイメントを示す。Fig. 3 illustrates an exemplary distributed deployment of TAS components according to an embodiment of the present invention. 本発明の実施例に係るクラウドインフラストラクチャシステムにおける1つ以上のモジュールとのSDIモジュールのインタラクションを示す簡略ブロック図である。FIG. 4 is a simplified block diagram illustrating SDI module interaction with one or more modules in a cloud infrastructure system according to an embodiment of the present invention. 本発明の実施例に係るSDIモジュールのサブモジュールの簡略化された高レベル図を示す。FIG. 4 shows a simplified high level diagram of sub-modules of an SDI module according to an embodiment of the present invention. 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIコンポーネントによって実行され得る処理を示す簡略化されたフローチャートを示す。FIG. 6 illustrates a simplified flowchart illustrating processing that may be performed by an SDI component in a cloud infrastructure system according to an embodiment of the present invention. 本発明の実施例に係るNuviaqシステム710および他のクラウドインフラストラクチャコンポーネントとのその関係の高レベルアーキテクチャを示す簡略ブロック図を示す。FIG. 3 shows a simplified block diagram illustrating a high level architecture of Nuviaq system 710 and its relationship with other cloud infrastructure components according to an embodiment of the present invention. 本発明の実施例に係るNuviaqシステムを使用するプロビジョニングプロセスのステップを示す例示的なシーケンス図を示す。FIG. 4 shows an exemplary sequence diagram illustrating steps of a provisioning process using a Nuviaq system according to an embodiment of the present invention. 本発明の実施例に係るNuviaqシステムを使用するデプロイメントプロセスのステップを示す例示的なシーケンス図を示す。FIG. 3 shows an exemplary sequence diagram illustrating the steps of a deployment process using a Nuviaq system according to an embodiment of the present invention. 本発明の実施例に係るデータベースサービスのためにプロビジョニングされたデータベースインスタンスの例を示す。Fig. 4 illustrates an example of a database instance provisioned for a database service according to an embodiment of the present invention. 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIモジュールによって実行され得る処理を示す簡略化されたフローチャートを示す。FIG. 6 illustrates a simplified flowchart illustrating processing that may be performed by an SDI module in a cloud infrastructure system according to an embodiment of the present invention. 本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIモジュールによって実行され得る処理を示す簡略化されたフローチャートを示す。FIG. 6 illustrates a simplified flowchart illustrating processing that may be performed by an SDI module in a cloud infrastructure system according to an embodiment of the present invention. いくつかの実施例に係るプロビジョニング要求フローを示す。Fig. 5 illustrates a provisioning request flow according to some embodiments. 顧客のためにJava(登録商標)サービスおよびデータベースサービスをともにプロビジョニングするエンド・ツー・エンドフローを示す。Figure 2 illustrates an end-to-end flow for provisioning both Java and database services for a customer. 一実施例に係るJavaクラウドサービスインスタンスのプロビジョニングを示す。FIG. 4 illustrates Java cloud service instance provisioning according to one embodiment. FIG. 一実施例に係るJavaクラウドサービスインスタンスのプロビジョニングおよびフュージョンアプリケーション関連付けを示す。FIG. 6 illustrates Java cloud service instance provisioning and fusion application association according to one embodiment. FIG. 本発明のいくつかの実施例に係るPaaSおよびSaaSサービス関連付けプロセスを示す。Fig. 4 illustrates a PaaS and SaaS service association process according to some embodiments of the present invention. いくつかの実施例に係るデータベースクラウドサービスの高レベル論理図を示す。FIG. 3 shows a high level logic diagram of a database cloud service according to some embodiments. いくつかの実施例に係るマルチテナントデータベースサービスのためのサービスプロビジョングフローを示す。FIG. 6 illustrates a service provisioning flow for a multi-tenant database service according to some embodiments. 本発明の実施例に従って用いられ得る演算システム1000の簡略ブロック図である。1 is a simplified block diagram of a computing system 1000 that may be used in accordance with an embodiment of the present invention. 本発明の実施例に係る予めプロビジョニングされたポッド1500の物理的アーキテクチャを示す。Fig. 3 shows a physical architecture of a pre-provisioned pod 1500 according to an embodiment of the present invention. 本発明の実施例に係るサービスインスタンス作成のための予めプロビジョニングされたポッドの顧客特有のカスタマイズ(顧客パーソナリティの割り当てと称されることもある)の例を示す。FIG. 6 illustrates an example of customer-specific customization of a pre-provisioned pod for service instance creation according to an embodiment of the present invention (sometimes referred to as customer personality assignment). 一実施例に係る、予めプロビジョニングされたポッドを用いて、パーソナライズされたJAVAサービスポッドまたはサービスインスタンスおよびパーソナライズされたデータベースサービスポッドまたはインスタンスを作成するための方法の例を示す。6 illustrates an example method for creating a personalized JAVA service pod or service instance and a personalized database service pod or instance using a pre-provisioned pod, according to one embodiment. 本発明の実施例に係る電子デバイス1800の簡略ブロック図である。1 is a simplified block diagram of an electronic device 1800 according to an embodiment of the present invention.

詳細な説明
以下の説明では、本発明の実施例が十分に理解されるようにするために、説明の目的で具体的詳細を記載する。しかし、これらの具体的詳細がなくてもさまざまな実施例を実施できることは明らかであろう。図面および説明は、限定的であるよう意図されるものではない。
DETAILED DESCRIPTION In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of embodiments of the invention. However, it will be apparent that various embodiments may be practiced without these specific details. The drawings and description are not intended to be limiting.

本発明の特定の実施例は、クラウドインフラストラクチャシステムによって提供されるサービスのプロビジョニング、管理および追跡を自動化するための技術を提供する。   Certain embodiments of the present invention provide techniques for automating the provisioning, management and tracking of services provided by a cloud infrastructure system.

特定の実施例では、クラウドインフラストラクチャシステムは、セルフサービスの、サブスクリプションベースの、弾性的にスケーラブルな、信頼性のある、高可用性の、安全な態様で顧客に与えられる一連のアプリケーション、ミドルウェアおよびデータベースサービス提供品を含み得る。このようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクルパブリッククラウドである。   In a particular embodiment, a cloud infrastructure system is a self-service, subscription-based, elastically scalable, reliable, highly available, secure set of applications, middleware and Database service offerings may be included. An example of such a cloud infrastructure system is the Oracle public cloud provided by the assignee.

クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムにおいてサービスおよびリソースについての顧客のサブスクリプションをプロビジョニング、管理および追跡する機能、クラウドインフラストラクチャシステムにおいてサービスを利用する顧客に予測可能な作業費用を提供する機能、クラウドインフラストラクチャシステムにおいて顧客のデータのロバストなアイデンティティドメインの分離および保護を提供する機能、クラウドインフラストラクチャシステムの設計の透過的なアーキテクチャおよび制御を顧客に提供する機能、データ保護の保証とデータプライバシ基準および規制の順守とを顧客に提供する機能、クラウドインフラストラクチャシステムにおいてサービスを構築およびデプロイするための統合された開発経験を顧客に提供する機能、ならびにクラウドインフラストラクチャシステムにおいてビジネスソフトウェア、ミドルウェア、データベースおよびインフラストラクチャサービスの間のシームレスな統合を顧客に提供する機能を含むがこれらに限定されない多くの機能を提供することができる。   The cloud infrastructure system provides the ability to provision, manage and track customer subscriptions for services and resources in the cloud infrastructure system, the ability to provide predictable work costs to customers using services in the cloud infrastructure system, The ability to provide robust identity domain separation and protection of customer data in cloud infrastructure systems, the ability to provide customers with a transparent architecture and control of cloud infrastructure system design, data protection assurance and data privacy standards To build and deploy services in cloud infrastructure systems, functions that provide customers with regulatory compliance Many features, including but not limited to the ability to provide customers with an integrated development experience and the ability to provide customers with seamless integration between business software, middleware, databases, and infrastructure services in a cloud infrastructure system Can be provided.

特定の実施例では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューション、ウェブベースの電子メールサービス、ホスト型オフィススイートおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービスなどの、クラウドインフラストラクチャシステムのユーザがオンデマンドで利用可能な多数のサービスを含み得る。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザのニーズを満たすように動的にスケーリング可能である。クラウドインフラストラクチャシステムによって提供されるサービスの具体的なインスタンス化は、本明細書ではサービスインスタンスと称される。一般に、クラウドサービスプロバイダのシステムからインターネットなどの通信ネットワークを介してユーザが利用可能なサービスはいずれも、クラウドサービスと称される。一般に、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスサーバおよびシステムとは異なっている。例えば、クラウドサービスプロバイダのシステムは、アプリケーションをホストし得て、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドで当該アプリケーションをオーダーし、使用し得る。   In certain embodiments, services provided by cloud infrastructure systems include online data storage and backup solutions, web-based email services, hosted office suites and document collaboration services, database processing, managed technical support services, etc. It may include a number of services that are available on demand to users of cloud infrastructure systems. The services provided by the cloud infrastructure system can be dynamically scaled to meet the needs of its users. A specific instantiation of a service provided by a cloud infrastructure system is referred to herein as a service instance. In general, any service that a user can use from a cloud service provider system via a communication network such as the Internet is called a cloud service. In general, in a public cloud environment, the servers and systems that make up the cloud service provider's system are different from the customer's own on-premises servers and systems. For example, a cloud service provider's system can host an application and a user can order and use the application on demand via a communication network such as the Internet.

コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、クラウドベンダによってユーザに提供されるかまたはそうでなければ当該技術分野において公知のストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーションまたは他のサービスへの保護されたコンピュータネットワークアクセスを含む。例えば、サービスは、インターネットを介したクラウド上のリモートストレージへの、パスワードによって保護されたアクセスを含んでいてもよい。別の例として、サービスは、ネットワーク化された開発者による私的使用のためのウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含んでいてもよい。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされる電子メールソフトウェアアプリケーションへのアクセスを含んでいてもよい。   Services in a computer network cloud infrastructure are provided to users by cloud vendors or otherwise protected to storage, hosted databases, hosted web servers, software applications or other services known in the art. Computer network access included. For example, a service may include password protected access to remote storage on the cloud over the Internet. As another example, a service may include a web service-based hosted relational database and scripting language middleware engine for private use by networked developers. As another example, the service may include access to an email software application hosted on a cloud vendor's website.

図1Aは、本発明の一実施例に係るクラウドインフラストラクチャシステムの論理図である。クラウドインフラストラクチャシステム100は、クラウドまたはネットワーク化された環境を介してさまざまなサービスを提供し得る。これらのサービスは、ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)カテゴリ、プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS)カテゴリ、インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS)カテゴリ、またはハイブリッドサービスを含むサービスの他のカテゴリの下で提供される1つ以上のサービスを含んでいてもよい。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスをオーダーし得る。次いで、クラウドインフラストラクチャシステム100は、顧客のサブスクリプションオーダーにおけるサービスを提供するために処理を実行する。   FIG. 1A is a logical diagram of a cloud infrastructure system according to an embodiment of the present invention. The cloud infrastructure system 100 can provide various services via a cloud or networked environment. These services include Software as a Service (SaaS) category, Platform as a Service (PaaS) category, Infrastructure as a Service (Infrastructure as a Service). a Service: IaaS) category, or may include one or more services provided under other categories of services including hybrid services. A customer may order one or more services provided by the cloud infrastructure system 100 via a subscription order. The cloud infrastructure system 100 then performs a process to provide a service in the customer's subscription order.

クラウドインフラストラクチャシステム100は、さまざまなデプロイメントモデルを介してクラウドサービスを提供し得る。例えば、サービスは、クラウドインフラストラクチャシステム100が(例えばオラクルによって所有される)クラウドサービスを販売する組織によって所有され、サービスが一般的な公営企業またはさまざまな産業企業が利用可能であるパブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム100が単一の組織のために単独で運営され、当該組織内の1つ以上のエンティティにサービスを提供することができるプライベートクラウドモデルの下で提供されてもよい。また、クラウドサービスは、クラウドインフラストラクチャシステム100およびシステム100によって提供されるサービスが関連のコミュニティの中のいくつかの組織によって共有されるコミュニティクラウドモデルの下で提供されてもよい。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせであるハイブリッドクラウドモデルの下で提供されてもよい。   The cloud infrastructure system 100 can provide cloud services through various deployment models. For example, the service is owned by an organization that sells cloud services (e.g., owned by Oracle), where the cloud infrastructure system 100 is sold, and the service is of a public cloud model where the public enterprise or various industrial companies can use it. May be provided below. As another example, the services are provided under a private cloud model where the cloud infrastructure system 100 is operated solely for a single organization and can provide services to one or more entities within the organization. May be. The cloud service may also be provided under a community cloud model in which the cloud infrastructure system 100 and the services provided by the system 100 are shared by several organizations in the associated community. The cloud service may also be provided under a hybrid cloud model that is a combination of two or more different models.

図1Aに示されるように、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100によって提供されるサービスのプロビジョニングを可能にする、連携して動作する複数のコンポーネントを備えていてもよい。図1Aに示される実施例では、クラウドインフラストラクチャシステム100は、SaaSプラットフォーム102と、PaaSプラットフォーム104と、IaaSプラットフォーム110と、インフラストラクチャリソース106と、クラウド管理機能108とを含む。これらのコンポーネントは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。   As shown in FIG. 1A, the cloud infrastructure system 100 may comprise a plurality of components that operate in concert that allow provisioning of services provided by the cloud infrastructure system 100. In the example shown in FIG. 1A, the cloud infrastructure system 100 includes a SaaS platform 102, a PaaS platform 104, an IaaS platform 110, an infrastructure resource 106, and a cloud management function 108. These components may be implemented in hardware or software or a combination thereof.

SaaSプラットフォーム102は、SaaSカテゴリに入るクラウドサービスを提供するように構成される。例えば、SaaSプラットフォーム102は、統合された開発およびデプロイメントプラットフォーム上で一連のオンデマンドのアプリケーションを構築および供給するための機能を提供し得る。SaaSプラットフォーム102は、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。SaaSプラットフォーム102によって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム100上で実行されるアプリケーションを利用することができる。顧客は、顧客が別個のライセンスおよびサポートを購入する必要なくアプリケーションサービスを取得することができる。   The SaaS platform 102 is configured to provide cloud services that fall into the SaaS category. For example, the SaaS platform 102 may provide functionality for building and delivering a set of on-demand applications on an integrated development and deployment platform. The SaaS platform 102 may manage and control the basic software and infrastructure for providing SaaS services. By utilizing the services provided by the SaaS platform 102, customers can utilize applications running on the cloud infrastructure system 100. Customers can obtain application services without the customer having to purchase separate licenses and support.

さまざまな異なるSaaSサービスが提供され得る。例としては、大きな組織に販売実績管理、企業統合およびビジネスの柔軟性などのためのソリューションを提供するサービスが挙げられるが、これに限定されるものではない。一実施例では、SaaSサービスは、顧客関係管理(Customer Relationship Management:CRM)サービス110(例えばオラクルクラウドによって提供されるフュージョンCRMサービス)、人材管理(Human Capital Management:HCM)/才能管理サービス112などを含んでいてもよい。CRMサービス110は、顧客への販売活動サイクルの報告および管理に向けられるサービスなどを含んでいてもよい。HCM/才能サービス112は、顧客へのグローバルな労働力ライフサイクル管理および才能管理サービスの提供に向けられるサービスを含んでいてもよい。   A variety of different SaaS services can be provided. Examples include, but are not limited to, services that provide solutions for sales performance management, enterprise integration and business flexibility for large organizations. In one embodiment, the SaaS service includes a customer relationship management (CRM) service 110 (eg, a fusion CRM service provided by Oracle Cloud), a human capital management (HCM) / talent management service 112, etc. May be included. CRM services 110 may include services directed to reporting and managing sales activity cycles to customers. HCM / talent services 112 may include services directed to providing global workforce lifecycle management and talent management services to customers.

標準化された、共有の、弾性的にスケーラブルなアプリケーション開発およびデプロイメントプラットフォームにおけるPaaSプラットフォーム104によって、さまざまな異なるPaaSサービスが提供され得る。PaaSサービスの例としては、共有される共通のアーキテクチャ上で既存のアプリケーションを(オラクルなどの)組織が集約することを可能にするサービス、および、プラットフォームによって提供される共有のサービスを活用する新たなアプリケーションを構築する機能が挙げられ得るが、これらに限定されるものではない。PaaSプラットフォーム104は、PaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。顧客は、顧客が別個のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステム100によって提供されるPaaSサービスを取得することができる。PaaSサービスの例としては、オラクルJava(登録商標)クラウドサービス(Java Cloud Service:JCS)、オラクルデータベースクラウドサービス(Oracle Database Cloud Service:DBCS)などが挙げられるが、これらに限定されるものではない。   A variety of different PaaS services may be provided by the PaaS platform 104 in a standardized, shared, elastically scalable application development and deployment platform. Examples of PaaS services include services that allow organizations (such as Oracle) to aggregate existing applications on a shared common architecture, and new services that leverage shared services provided by the platform A function for building an application may be mentioned, but is not limited thereto. The PaaS platform 104 may manage and control the basic software and infrastructure for providing PaaS services. The customer can obtain the PaaS service provided by the cloud infrastructure system 100 without the customer having to purchase separate licenses and support. Examples of the PaaS service include, but are not limited to, an Oracle Java (registered trademark) cloud service (Java Cloud Service: JCS), an Oracle database cloud service (Oracle Database Cloud Service: DBCS), and the like.

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の顧客に追加のサービスを提供するための追加のコンポーネントを含んでいてもよい。   By utilizing the services provided by the PaaS platform 104, customers can take advantage of programming languages and tools supported by the cloud infrastructure system 100 and can also control deployed services. In some embodiments, the PaaS service provided by the cloud infrastructure system 100 may include a database cloud service 114, a middleware cloud service (eg, Oracle Fusion middleware service) 116, and a Java cloud service 117. . In one embodiment, database cloud service 114 may support a shared service deployment model that allows organizations to pool database resources and provide database as a service to customers in the form of a database cloud. The middleware cloud service 116 provides a platform for customers to develop and deploy various business applications, and the Java cloud service 117 provides a platform for customers to deploy Java applications in the cloud infrastructure system 100. To do. The components in the SaaS platform 102 and PaaS platform 104 shown in FIG. 1A are shown for illustrative purposes only and are not intended to limit the scope of embodiments of the present invention. In an alternative embodiment, SaaS platform 102 and PaaS platform 104 may include additional components for providing additional services to customers of cloud infrastructure system 100.

IaaSプラットフォーム110によってさまざまな異なるIaaSサービスが提供され得る。IaaSサービスは、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のために、ストレージ、ネットワークおよび他の基礎的な演算リソースなどの基本的な演算リソースの管理および制御を容易にする。   A variety of different IaaS services may be provided by the IaaS platform 110. The IaaS service facilitates management and control of basic computing resources such as storage, network and other basic computing resources for customers utilizing services provided by the SaaS platform and the PaaS platform.

特定の実施例では、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100の顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース106を含む。一実施例では、インフラストラクチャリソース106は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するために、サーバ、ストレージおよびネットワーキングリソースなどのハードウェアの予め統合された、最適化された組み合わせを含む。   In particular embodiments, cloud infrastructure system 100 includes infrastructure resources 106 for providing resources that are used to provide various services to customers of cloud infrastructure system 100. In one embodiment, infrastructure resource 106 includes a pre-integrated, optimized combination of hardware such as servers, storage and networking resources to perform services provided by PaaS platform and SaaS platform. .

特定の実施例では、クラウド管理機能108は、クラウドインフラストラクチャシステム100においてクラウドサービス(例えばSaaS、PaaS、IaaSサービス)の包括的な管理を提供する。一実施例では、クラウド管理機能108は、クラウドインフラストラクチャシステム100によって受取られた顧客のサブスクリプションをプロビジョニング、管理および追跡するための機能などを含む。   In certain embodiments, the cloud management function 108 provides comprehensive management of cloud services (eg, SaaS, PaaS, IaaS services) in the cloud infrastructure system 100. In one embodiment, the cloud management function 108 includes functions for provisioning, managing and tracking customer subscriptions received by the cloud infrastructure system 100 and the like.

図1Bは、本発明の実施例に係るクラウドインフラストラクチャシステム100を実現するために使用され得るハードウェア/ソフトウェアスタックの簡略ブロック図である。図1Bに示される実現例は、図1Bに示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図1Bに示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、クラウドインフラストラクチャシステム100は、図1Bに示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。特定の実施例では、最適な性能を提供する垂直統合を提供するようにハードウェアおよびソフトウェアコンポーネントが積層される。   FIG. 1B is a simplified block diagram of a hardware / software stack that may be used to implement a cloud infrastructure system 100 according to an embodiment of the present invention. It should be understood that the implementation shown in FIG. 1B may have other components than those shown in FIG. 1B. Further, the embodiment shown in FIG. 1B is only one example of a cloud infrastructure system that can incorporate embodiments of the present invention. In some other embodiments, cloud infrastructure system 100 may have more or fewer components than those shown in FIG. 1B, may combine two or more components, or components May have different configurations or arrangements. In particular embodiments, hardware and software components are stacked to provide vertical integration that provides optimal performance.

さまざまなタイプのユーザがクラウドインフラストラクチャシステム100と対話し得る。これらのユーザは、例えば、デスクトップ、モバイル機器、タブレットなどのさまざまなクライアント装置を使用してクラウドインフラストラクチャシステム100と対話し得るエンドユーザ150を含んでいてもよい。また、ユーザは、さまざまな統合された開発環境(integrated development environment:IDE)を介して、および他のアプリケーションを介して、コマンドラインインターフェース(command line interface:CLI)、アプリケーションプログラミングインターフェース(application programming interface:API)を使用してクラウドインフラストラクチャシステム100と対話し得る開発者/プログラマ152を含んでいてもよい。また、ユーザは、オペレーションスタッフ154を含んでいてもよい。これらは、クラウドサービスプロバイダのスタッフまたは他のユーザのスタッフを含んでいてもよい。   Various types of users may interact with the cloud infrastructure system 100. These users may include end users 150 that may interact with the cloud infrastructure system 100 using various client devices such as desktops, mobile devices, tablets, and the like. In addition, the user can use a command line interface (CLI), an application programming interface (CLI), through various integrated development environments (IDE) and through other applications. An API) may be included to include a developer / programmer 152 that can interact with the cloud infrastructure system 100. The user may also include an operation staff 154. These may include staff of cloud service providers or staff of other users.

アプリケーションサービス層156は、クラウドインフラストラクチャシステム100によって提供され得るさまざまなクラウドサービスを特定する。これらのサービスは、サービス統合および連結層158を介してそれぞれのソフトウェアコンポーネント160(例えばJavaサービスを提供するためのオラクルウェブロジックサーバ、データベースサービスを提供するためのオラクルデータベースなど)にマッピングされるか、または関連付けられ得る。   The application service layer 156 identifies various cloud services that can be provided by the cloud infrastructure system 100. These services are mapped to respective software components 160 (eg, an Oracle web logic server for providing Java services, an Oracle database for providing database services, etc.) via service integration and connectivity layer 158, or Or it can be associated.

特定の実施例では、クラウドインフラストラクチャシステム100のさまざまなコンポーネントまたはモジュールおよびクラウドインフラストラクチャシステム100によって提供されるサービスによって共有されるいくつかの内部サービス162が提供され得る。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、エンタープライズリポジトリサービス、エンタープライズマネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよび回復サービス、IDEにおいてクラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを含み得るが、これらに限定されるものではない。   In particular embodiments, several internal services 162 that are shared by various components or modules of the cloud infrastructure system 100 and services provided by the cloud infrastructure system 100 may be provided. These internal shared services include security and identity services, integration services, enterprise repository services, enterprise manager services, virus scanning and whitelist services, high availability, backup and recovery services, services to enable cloud support in IDEs, This may include, but is not limited to, email services, notification services, file transfer services, and the like.

ランタイムインフラストラクチャ層164は、さまざまな他の層およびコンポーネントが構築されるハードウェア層を表わす。特定の実施例では、ランタイムインフラストラクチャ層164は、ストレージ、処理およびネットワーキングリソースを提供するための1つのオラクルのExadataマシンを備えていてもよい。Exadataマシンは、さまざまなデータベースサーバ、ストレージサーバ、ネットワーキングリソース、およびクラウドサービス関連のソフトウェア層をホストするための他のコンポーネントから構成され得る。特定の実施例では、Exadataマシンは、ストレージ、演算、ネットワークおよびソフトウェアリソースの集合体を提供するエンジニアド・システムであるOracle Exalogicと連携するように設計され得る。ExadataおよびExalogicの組み合わせは、クラウドサービスを提供するための高性能で、高可用性で、スケーラブルで、安全な、管理されたプラットフォームを与える完全なハードウェアおよびソフトウェアエンジニアドソリューションを提供する。   The runtime infrastructure layer 164 represents the hardware layer on which various other layers and components are built. In certain embodiments, the runtime infrastructure layer 164 may comprise a single Oracle Exadata machine for providing storage, processing and networking resources. Exadata machines can be composed of various database servers, storage servers, networking resources, and other components for hosting cloud service related software layers. In certain embodiments, Exadata machines can be designed to work with Oracle Exalogic, an engineered system that provides a collection of storage, computing, network and software resources. The combination of Exadata and Exalogic provides a complete hardware and software engineered solution that provides a high-performance, highly available, scalable, secure, and managed platform for delivering cloud services.

図2は、本発明の実施例に係る図1Aに示されるクラウドインフラストラクチャシステムを実現するためのシステム環境の簡略ブロック図である。示される実施例では、システム環境230は、クラウドインフラストラクチャシステム100と対話するためにユーザによって使用され得る1つ以上のクライアント演算装置224,226および228を含む。クライアント装置は、クラウドインフラストラクチャシステム100によって提供されるサービスを利用するためにクラウドインフラストラクチャシステム100と対話するようにクライアント装置のユーザによって使用され得る、ウェブブラウザ、プロプライエタリクライアントアプリケーション(例えばOracle Forms)またはその他のアプリケーションなどのクライアントアプリケーションを動作させるように構成され得る。   FIG. 2 is a simplified block diagram of a system environment for realizing the cloud infrastructure system shown in FIG. 1A according to an embodiment of the present invention. In the illustrated embodiment, the system environment 230 includes one or more client computing devices 224, 226 and 228 that can be used by a user to interact with the cloud infrastructure system 100. The client device may be used by a user of the client device to interact with the cloud infrastructure system 100 to utilize services provided by the cloud infrastructure system 100, such as a web browser, a proprietary client application (eg, Oracle Forms) or It may be configured to run client applications such as other applications.

図2に示されるクラウドインフラストラクチャシステム100は、図2に示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図2に示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、クラウドインフラストラクチャシステム100は、図2に示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。   It should be understood that the cloud infrastructure system 100 shown in FIG. 2 may have other components than those shown in FIG. Further, the embodiment shown in FIG. 2 is only one example of a cloud infrastructure system that can incorporate embodiments of the present invention. In some other embodiments, cloud infrastructure system 100 may have more or fewer components than those shown in FIG. 2, may combine two or more components, or components May have different configurations or arrangements.

クライアント演算装置224,226および228は、汎用パーソナルコンピュータ(一例として、マイクロソフトウィンドウズ(登録商標)および/またはアップルマッキントッシュオペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む)、(マイクロソフトウィンドウズモバイルなどのソフトウェアを実行し、インターネット、電子メール、SMS、ブラックベリーまたは使用可能な他の通信プロトコルである)携帯電話もしくはPDA、さまざまな市販のUNIX(登録商標)もしくはUNIXのようなオペレーティングシステム(さまざまなGNU/Linux(登録商標)オペレーティングシステムを含むがこれに限定されるものではない)のいずれかを実行するワークステーションコンピュータ、またはその他の演算装置であってもよい。例えば、クライアント演算装置224,226および228は、ネットワークを介して通信することができるシン・クライアントコンピュータ、インターネットへの接続が可能なゲーム機および/またはパーソナルメッセージング装置などのその他の電子装置であってもよい。例示的なシステム環境230が3つのクライアント演算装置とともに示されているが、いかなる数のクライアント演算装置がサポートされてもよい。センサを有する装置などの他の装置がクラウドインフラストラクチャシステム100と対話してもよい。   Client computing devices 224, 226 and 228 may be general purpose personal computers (including, by way of example, personal computers and / or laptop computers running various versions of Microsoft Windows® and / or Apple Macintosh operating systems), Runs software such as Microsoft Windows Mobile and is a mobile phone or PDA (such as the Internet, email, SMS, Blackberry or any other communication protocol that can be used), various commercial operating systems such as UNIX (R) or UNIX Any system (including but not limited to various GNU / Linux operating systems) Or workstation computers running or may be another computing device. For example, client computing devices 224, 226, and 228 are other electronic devices such as thin client computers that can communicate over a network, gaming machines capable of connecting to the Internet, and / or personal messaging devices. Also good. Although an exemplary system environment 230 is shown with three client computing devices, any number of client computing devices may be supported. Other devices, such as devices having sensors, may interact with the cloud infrastructure system 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の一連のプロトコル、当該技術分野において公知のブルートゥース(登録商標)プロトコルおよび/またはその他の無線プロトコルのいずれかの下で動作するネットワーク)、ならびに/または、これらのおよび/もしくは他のネットワークの任意の組み合わせであってもよい。   Network 232 may facilitate communication and exchange of data between clients 224, 226 and 228 and cloud infrastructure system 100. The network 232 is familiar to those skilled in the art that can support data communications using any of a variety of commercially available protocols including but not limited to TCP / IP, SNA, IPX, AppleTalk, etc. It can be any type of network. By way of example only, the network 232 includes a local area network (LAN), such as an Ethernet network, a token ring network, a wide area network, or a virtual private network (VPN). But not limited to virtual networks, Internet, intranets, extranets, public switched telephone networks (PSTN), infrared networks, wireless networks (eg, IEEE 802.1X series of protocols, known in the art) Network that operates under any of the Bluetooth® protocols and / or other wireless protocols), and / or these and / or other networks. It may be any combination of the work.

クラウドインフラストラクチャシステム100は、汎用コンピュータ、特化サーバコンピュータ(一例として、PCサーバ、UNIXサーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式のサーバなどを含む)、サーバファーム、サーバクラスタ、またはその他の適切な配置および/もしくは組み合わせであり得る1つ以上のコンピュータおよび/またはサーバを備えていてもよい。クラウドインフラストラクチャシステム100を構成する演算装置は、HTTPサーバ、FTPサーバ、CGIサーバ、Javaサーバ、データベースサーバなどを含む、オペレーティングシステムまたはさまざまな追加のサーバアプリケーションおよび/もしくは中間層アプリケーションのいずれかを実行し得る。例示的なデータベースサーバとしては、オラクル、マイクロソフト、サイベース、IBMなどから市販されているものが挙げられるが、これらに限定されるものではない。   The cloud infrastructure system 100 includes general-purpose computers, specialized server computers (including PC servers, UNIX servers, midrange servers, mainframe computers, rack mount servers, etc.), server farms, server clusters, or others. One or more computers and / or servers may be provided, which may be any suitable arrangement and / or combination. The computing devices making up the cloud infrastructure system 100 execute any of the operating system or various additional server applications and / or middle tier applications, including HTTP servers, FTP servers, CGI servers, Java servers, database servers, etc. Can do. Exemplary database servers include, but are not limited to, those commercially available from Oracle, Microsoft, Sybase, IBM, and the like.

さまざまな実施例では、クラウドインフラストラクチャシステム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に示されるものよりも多くのまたは少ないモジュールを含んでいてもよい。   In various embodiments, the cloud infrastructure system 100 may be adapted to automatically provision, manage and track customer subscriptions to services provided by the cloud infrastructure system 100. In one embodiment, as shown in FIG. 2, the components in the cloud infrastructure system 100 include an identity management (IDM) module 200, a service module 202, and a tenant automation system (TAS) module. 204, Service Deployment Infrastructure (SDI) module 206, Enterprise Manager (EM) module 208, store user interface (UI) 210, cloud user interface (UI) 212 and support. One or more front-end web interfaces, such as a user interface (UI) 216, and an order management module 214; Including the sales staff 218, the operator staff 220, and the order database 222. These modules may include one or more computers and / or servers, which may be general purpose computers, specialized server computers, server farms, server clusters, or other suitable arrangements and / or combinations. May be provided using. In one embodiment, one or more of these modules may be provided by the cloud management function 108 or the IaaS platform 110 in the cloud infrastructure system 100. The various modules of the cloud infrastructure system 100 shown in FIG. 2 are shown for illustrative purposes only and are not intended to limit the scope of embodiments of the present invention. Alternative embodiments may include more or fewer modules than those shown in FIG.

例示的なオペレーションにおいて、(1)において、クライアント装置224または226などのクライアント装置を使用する顧客は、クラウドインフラストラクチャシステム100によって提供されるさまざまなサービスをブラウズし、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスについてのサブスクリプションのオーダーを行うことによって、クラウドインフラストラクチャシステム100と対話し得る。特定の実施例では、顧客は、ストアUI210またはクラウドUI212にアクセスし、これらのユーザインターフェイスを介してサブスクリプションオーダーを行い得る。   In an exemplary operation, in (1), a customer using a client device, such as client device 224 or 226, browses various services provided by the cloud infrastructure system 100 and is provided by the cloud infrastructure system 100. One can interact with the cloud infrastructure system 100 by placing an order for a subscription for one or more services. In certain embodiments, a customer may access store UI 210 or cloud UI 212 and place a subscription order through these user interfaces.

顧客がオーダーを行ったことに応答してクラウドインフラストラクチャシステム100によって受取られるオーダー情報は、顧客と、顧客がサブスクライブする予定の、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスとを特定する情報を含んでいてもよい。単一のオーダーは、複数のサービスのオーダーを含んでいてもよい。例えば、顧客は、クラウドUI212にログインして、同一のオーダーにおいてCRMサービスおよびJavaクラウドサービスについてのサブスクリプションを要求し得る。   The order information received by the cloud infrastructure system 100 in response to the customer placing an order includes the customer and one or more services provided by the cloud infrastructure system 100 that the customer intends to subscribe to. The information to identify may be included. A single order may include orders for multiple services. For example, a customer may log into the cloud UI 212 and request a subscription for CRM service and Java cloud service in the same order.

さらに、オーダーは、オーダーされたサービスについての1つ以上のサービスレベルも含んでいてもよい。本明細書で使用され、以下でより詳細に説明されるように、サービスについてのサービスレベルは、ストレージの量、演算リソースの量、データ転送設備などの、サブスクリプションの文脈において要求されたサービスを提供するために割り当てられるリソースの量を決定する。例えば、ベーシックなサービスレベルは、最小レベルのストレージ、データ伝送またはユーザの数を提供することができ、より高いサービスレベルは、さらなるリソースを含み得る。   In addition, the order may also include one or more service levels for the ordered service. As used herein and described in more detail below, the service level for a service refers to the service requested in the context of the subscription, such as the amount of storage, the amount of computing resources, data transfer facilities, etc. Determine the amount of resources allocated to provide. For example, a basic service level may provide a minimum level of storage, data transmission, or number of users, and a higher service level may include additional resources.

また、いくつかの例では、クラウドインフラストラクチャシステム100によって受取られるオーダー情報は、顧客レベルおよびサービスが求められる期間を示す情報を含んでいてもよい。顧客レベルは、サブスクリプション要求を行う顧客の優先度を規定する。一例では、優先度は、顧客とクラウドサービスのプロバイダとの間で合意されたサービスレベル合意書(Service Level Agreement:SLA)によって規定されるようにクラウドインフラストラクチャシステム100が顧客に保証または約束するサービスの質に基づいて決定され得る。一例では、さまざまな顧客レベルは、ベーシックレベル、シルバーレベルおよびゴールドレベルを含む。サービスの期間は、当該サービスの開始日および時刻と、当該サービスが求められる期間とを規定し得る(例えばサービス終了日および時刻が規定されてもよい)。   Also, in some examples, the order information received by the cloud infrastructure system 100 may include information indicating the customer level and the period for which service is desired. The customer level defines the priority of the customer making the subscription request. In one example, the priority is a service that the cloud infrastructure system 100 guarantees or promises to the customer as defined by a Service Level Agreement (SLA) agreed between the customer and the provider of the cloud service. Can be determined based on quality. In one example, the various customer levels include a basic level, a silver level, and a gold level. The service period may specify the start date and time of the service and the period for which the service is required (for example, the service end date and time may be specified).

一実施例では、顧客は、ストアUI210を介して新たなサブスクリプションを要求するか、またはクラウドUI212を介してトライアルサブスクリプションを要求し得る。特定の実施例では、ストアUI210は、サービスプロバイダの電子商取引ストアフロントに相当し得る(例えばオラクルクラウドサービスのためのwww.oracle.com/store)。クラウドUI212は、サービスプロバイダのためのビジネスインターフェースに相当し得る。顧客は、クラウドUI212を介して、利用可能なサービスを調査し、関心のあるサービスにサインアップすることができる。クラウドUI212は、クラウドインフラストラクチャシステム100によって提供されるトライアルサブスクリプションをオーダーするのに必要なユーザ入力を取込む。また、クラウドUI212は、アカウント機能を閲覧し、クラウドインフラストラクチャシステム100内に位置するランタイム環境を構成するために使用され得る。新たなサブスクリプションのオーダーを行うことに加えて、ストアUI210は、サブスクリプションのサービスレベルの変更、サブスクリプションの期間の延長、サブスクリプションのサービスレベルの向上、既存のサブスクリプションの終了などの他のサブスクリプション関連のタスクを顧客が実行できるようにもし得る。   In one example, the customer may request a new subscription via the store UI 210 or a trial subscription via the cloud UI 212. In certain embodiments, the store UI 210 may correspond to a service provider's e-commerce storefront (eg, www.oracle.com/store for an Oracle cloud service). Cloud UI 212 may represent a business interface for a service provider. Customers can investigate available services and sign up for services of interest via the cloud UI 212. The cloud UI 212 captures the user input necessary to order a trial subscription provided by the cloud infrastructure system 100. The cloud UI 212 can also be used to view account functions and configure a runtime environment located within the cloud infrastructure system 100. In addition to placing orders for new subscriptions, the store UI 210 can change subscription service levels, extend the duration of subscriptions, increase subscription service levels, terminate existing subscriptions, etc. It may also allow customers to perform subscription related tasks.

(1)につきオーダーが行われた後、(2)において、ストアUI210またはクラウドUI212のいずれかを介して受取られるオーダー情報がオーダーデータベース222に格納され、当該オーダーデータベース222は、クラウドインフラストラクチャシステム100によって操作されて他のシステム要素と連携して利用されるいくつかのデータベースのうちの1つであり得る。オーダーデータベース222は図2では単一のデータベースとして論理的に示されているが、実際の実現例では、これは1つ以上のデータベースを備えていてもよい。   After the order is placed per (1), in (2), order information received via either the store UI 210 or the cloud UI 212 is stored in the order database 222, and the order database 222 is stored in the cloud infrastructure system 100. It can be one of several databases that are manipulated by and used in conjunction with other system elements. Although the order database 222 is logically shown in FIG. 2 as a single database, in an actual implementation this may comprise one or more databases.

(3)において、オーダーはオーダー管理モジュール214に送られる。オーダー管理モジュール214は、オーダーの検証および検証時のオーダーの予約などのオーダーに関連する課金およびアカウンティング機能を実行するように構成される。特定の実施例では、オーダー管理モジュール214は、契約管理モジュールと、インストールベースモジュールとを含んでいてもよい。契約管理モジュールは、クラウドインフラストラクチャシステム100との顧客のサービスレベル合意書(SLA)などの顧客のサブスクリプションオーダーに関連付けられた契約情報を格納し得る。インストールベースモジュールは、顧客のサブスクリプションオーダーにおけるサービスの詳細な説明を含み得る。オーダー情報に加えて、インストールベースモジュールは、サービスに関連するインストールの詳細、製品状態およびサービスに関連するサポートサービス履歴を追跡し得る。顧客が新たなサービスをオーダーするかまたは既存のものをアップグレードすると、インストールベースモジュールは、新たなオーダー情報を自動的に追加し得る。   In (3), the order is sent to the order management module 214. Order management module 214 is configured to perform billing and accounting functions associated with orders, such as order validation and order reservation upon validation. In certain embodiments, order management module 214 may include a contract management module and an install base module. The contract management module may store contract information associated with a customer subscription order, such as a customer service level agreement (SLA) with the cloud infrastructure system 100. The installed base module may include a detailed description of the service in the customer's subscription order. In addition to order information, the install base module may track installation details associated with the service, product status and support service history associated with the service. When a customer orders a new service or upgrades an existing one, the installed base module can automatically add new order information.

(4)において、オーダーに関する情報は、TASモジュール204に通信される。一実施例では、TASモジュール204は、顧客によって行われたオーダーについてのサービスおよびリソースのプロビジョニングをオーケストレート(orchestrate)するためにオーダー情報を利用する。(5)において、TASコンポーネント204は、SDIモジュール206のサービスを使用してサブスクライブされたサービスをサポートするために、リソースのプロビジョニングをオーケストレートする。(6)において、TASモジュール204は、SDIモジュール206から受取られた、プロビジョニングされたオーダーに関連する情報をサービスモジュール202に提供する。いくつかの実施例では、(7)において、SDIモジュール206は、顧客のサブスクリプションオーダーを実現するために必要なリソースを割り当てて構成するために、サービスモジュール202によって提供されるサービスも使用し得る。   In (4), information regarding the order is communicated to the TAS module 204. In one embodiment, the TAS module 204 utilizes order information to orchestrate the provisioning of services and resources for orders made by customers. In (5), the TAS component 204 orchestrates the provisioning of resources to support subscribed services using the services of the SDI module 206. In (6), the TAS module 204 provides the service module 202 with information related to the provisioned order received from the SDI module 206. In some embodiments, at (7), the SDI module 206 may also use the services provided by the service module 202 to allocate and configure the resources necessary to fulfill the customer's subscription order. .

(8)において、サービスモジュール202は、オーダーの状態に関する通知をクライアント装置224,226および228上の顧客に送る。   In (8), the service module 202 sends a notification regarding the status of the order to the customers on the client devices 224, 226 and 228.

特定の実施例では、TASモジュール204は、互いに関連付けられたビジネスプロセスを管理し、ビジネスロジックを適用してオーダーがプロビジョニングに進むべきか否かを判断するオーケストレーションコンポーネントとして機能する。一実施例では、新たなサブスクリプションのオーダーを受取ると、TASモジュール204は、リソースを割り当てて、当該サブスクリプションオーダーを実現するために必要なそれらのリソースを構成するために、SDIモジュール206に要求を送る。SDIモジュール206は、顧客によってオーダーされたサービスのためのリソースの割り当てを可能にする。SDIモジュール206は、クラウドインフラストラクチャシステム100によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間の抽象化のレベルを提供する。したがって、TASモジュール204は、サービスおよびリソースがオンザフライで実際にプロビジョニングされるか否か、または予めプロビジョニングされて要求時に単に配分/割り当てられるか否かなどの実装詳細から切離され得る。   In certain embodiments, the TAS module 204 functions as an orchestration component that manages business processes associated with each other and applies business logic to determine whether an order should proceed to provisioning. In one embodiment, upon receiving an order for a new subscription, the TAS module 204 requests the SDI module 206 to allocate resources and configure those resources necessary to fulfill the subscription order. Send. The SDI module 206 allows allocation of resources for services ordered by the customer. The SDI module 206 provides a level of abstraction between the cloud service provided by the cloud infrastructure system 100 and the physical implementation layer used to provision the resources to provide the requested service. To do. Thus, the TAS module 204 can be decoupled from implementation details such as whether services and resources are actually provisioned on-the-fly, or whether they are pre-provisioned and simply allocated / assigned on demand.

特定の実施例では、ユーザは、オーダー管理モジュール214と直接対話して、オーダーの検証および検証時のオーダーの予約などの課金およびアカウンティング関連機能を実行するためにストアUI210を使用し得る。いくつかの実施例では、顧客がオーダーを行う代わりに、(9)において、オーダーはその代わりに、顧客のサービス担当者または販売担当者などの顧客を代表する販売スタッフ218によって行われてもよい。販売スタッフ218は、オーダーを行うためまたは顧客に見積もりを提供するためにオーダー管理モジュール214によって提供されるユーザーインターフェース(図2には図示せず)を介して、オーダー管理モジュール214と直接対話し得る。例えば、これは、オーダーがオーダー管理モジュール214を介して顧客の販売担当者によって行われ得る大口顧客のためになされ得る。販売担当者は、顧客を代表してサブスクリプションを準備し得る。   In certain embodiments, the user may use the store UI 210 to interact directly with the order management module 214 to perform billing and accounting related functions such as order validation and order reservation during validation. In some embodiments, instead of the customer placing an order, in (9) the order may instead be placed by a sales staff 218 representing the customer, such as a customer service representative or sales representative. . Sales staff 218 may interact directly with order management module 214 via a user interface (not shown in FIG. 2) provided by order management module 214 to place an order or provide a quote to a customer. . For example, this can be done for large customers where orders can be placed by customer sales representatives via order management module 214. The sales representative may prepare a subscription on behalf of the customer.

EMモジュール208は、クラウドインフラストラクチャシステム100における顧客のサブスクリプションの管理および追跡に関連するアクティビティをモニタリングするように構成される。EMモジュール208は、使用されるストレージの量、転送されるデータの量、ユーザの数、システムアップ時間およびシステムダウン時間の量などのサブスクリプションオーダーにおけるサービスについての使用統計を収集する。(10)において、クラウドインフラストラクチャシステム100のプロバイダの従業員であってもよいホストオペレータスタッフ220は、サービスがクラウドインフラストラクチャシステム100内でプロビジョニングされるシステムおよびリソースを管理するために、エンタープライズマネージャユーザインターフェース(図2には図示せず)を介してEMモジュール208と対話し得る。   The EM module 208 is configured to monitor activities related to managing and tracking customer subscriptions in the cloud infrastructure system 100. The EM module 208 collects usage statistics for services in the subscription order, such as the amount of storage used, the amount of data transferred, the number of users, the amount of system up time and system down time. In (10), the host operator staff 220, who may be an employee of the provider of the cloud infrastructure system 100, is an enterprise manager user to manage the systems and resources for which services are provisioned within the cloud infrastructure system 100. The EM module 208 may be interacted via an interface (not shown in FIG. 2).

アイデンティティ管理(IDM)モジュール200は、クラウドインフラストラクチャシステム100においてアクセス管理および認可サービスなどのアイデンティティサービスを提供するように構成される。一実施例では、IDMモジュール200は、クラウドインフラストラクチャシステム100によって提供されるサービスを利用したい顧客についての情報を制御する。このような情報は、このような顧客のアイデンティティを認証する情報、および、さまざまなシステムリソース(例えばファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してそれらの顧客がどのアクションを実行することが認可されるかを表わす情報を含み得る。また、IDMモジュール200は、各顧客についての記述的情報および当該説明的情報がどのようにして誰によってアクセスおよび修正され得るかについての記述的情報の管理を含み得る。   An identity management (IDM) module 200 is configured to provide identity services, such as access management and authorization services, in the cloud infrastructure system 100. In one embodiment, the IDM module 200 controls information about customers who want to use services provided by the cloud infrastructure system 100. Such information includes information that authenticates the identity of such customers, and what actions they perform on various system resources (eg, files, directories, applications, communication ports, memory segments, etc.) Information may be included that indicates whether the authorization is permitted. The IDM module 200 may also include management of descriptive information about each customer and who can access and modify the descriptive information.

一実施例では、アイデンティティ管理モジュール200によって管理される情報は、別個のアイデンティティドメインを作成するために分割可能である。特定のアイデンティティドメインに属する情報は、全ての他のアイデンティティドメインから切離されることができる。また、アイデンティティドメインは、複数の別個のテナントによって共有可能である。各々のこのようなテナントは、クラウドインフラストラクチャシステム100においてサービスにサブスクライブする顧客であり得る。いくつかの実施例では、顧客は、1つまたは多くのアイデンティティドメインを有することができ、各アイデンティティドメインは、1つ以上のサブスクリプションに関連付けられ得て、各サブスクリプションは、1つまたは多くのサービスを有する。例えば、単一の顧客は大規模事業体に相当し得て、この大規模事業体内の部門/部署についてアイデンティティドメインが作成されてもよい。さらに、EMモジュール208およびIDMモジュール200は、クラウドインフラストラクチャシステム100において顧客のサブスクリプションを管理および追跡するために、それぞれ(11)および(12)においてオーダー管理モジュール214と対話し得る。   In one embodiment, information managed by the identity management module 200 can be split to create a separate identity domain. Information belonging to a particular identity domain can be isolated from all other identity domains. An identity domain can also be shared by multiple separate tenants. Each such tenant may be a customer that subscribes to services in the cloud infrastructure system 100. In some examples, a customer can have one or many identity domains, each identity domain can be associated with one or more subscriptions, and each subscription can have one or more subscriptions. Have service. For example, a single customer may correspond to a large business entity, and an identity domain may be created for a department / department within this large business entity. Further, EM module 208 and IDM module 200 may interact with order management module 214 at (11) and (12), respectively, to manage and track customer subscriptions in cloud infrastructure system 100.

一実施例では、(13)において、サポートUI216を介してサポートサービスも顧客に提供され得る。一実施例では、サポートUI216は、サポートスタッフが(14)においてサポートサービスを実行するようにサポートバックエンドシステムを介してオーダー管理モジュール214と対話することを可能にする。クラウドインフラストラクチャシステム100におけるサポートスタッフおよび顧客は、サポートUI216を介して、バグ報告を提出し、これらの報告の状態を確認することができる。   In one embodiment, support services may also be provided to the customer via the support UI 216 at (13). In one embodiment, the support UI 216 allows support staff to interact with the order management module 214 via the support backend system to perform support services at (14). Support staff and customers in the cloud infrastructure system 100 can submit bug reports and check the status of these reports via the support UI 216.

図2に図示されない他のインターフェイスもクラウドインフラストラクチャシステム100によって提供されてもよい。例えば、アイデンティティドメイン管理者は、ドメインおよびユーザアイデンティティを構成するためにIDMモジュール200へのユーザインターフェイスを使用し得る。また、顧客は、利用したい各サービスのための別個のインターフェイスにログインし得る。特定の実施例では、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスにサブスクライブしたい顧客は、さまざまな役割および任務も割り当てられ得る。一実施例では、顧客に割り当てられ得るさまざまな役割および任務は、バイヤ、アカウント管理者、サービス管理者、アイデンティティドメイン管理者、またはクラウドインフラストラクチャシステム100によって提供されるサービスおよびリソースを利用するユーザの役割および任務を含んでいてもよい。さまざまな役割および任務は、以下の図4にさらに十分に示されている。   Other interfaces not shown in FIG. 2 may also be provided by the cloud infrastructure system 100. For example, an identity domain administrator may use a user interface to IDM module 200 to configure domain and user identities. The customer can also log into a separate interface for each service that they want to use. In particular embodiments, customers who want to subscribe to one or more services provided by the cloud infrastructure system 100 may also be assigned various roles and missions. In one embodiment, the various roles and missions that can be assigned to a customer are for buyers, account administrators, service administrators, identity domain administrators, or users utilizing services and resources provided by the cloud infrastructure system 100. May include roles and missions. Various roles and missions are more fully illustrated in FIG. 4 below.

図3Aは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールによって実行され得る処理を示す簡略化されたフローチャート300を示す。図3Aに示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図3Aに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図3Aに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図3Aに示される処理は、図3Bに詳細に示されるように、TASコンポーネント204における1つ以上のコンポーネントによって実行され得る。   FIG. 3A shows a simplified flowchart 300 illustrating processing that may be performed by a TAS module in a cloud infrastructure system according to an embodiment of the present invention. The process illustrated in FIG. 3A may be implemented in software (eg, code, instructions, program) executed by one or more processors, hardware, or a combination thereof. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular series of processing steps shown in FIG. 3A is not intended to be limiting. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the invention may perform the above steps in a different order. Furthermore, the individual steps shown in FIG. 3A may include multiple sub-steps that may be performed in various sequences as appropriate to the individual steps. Furthermore, additional steps may be added or deleted depending on the particular application. Those skilled in the art will recognize many variations, modifications and alternatives. In one example, the process shown in FIG. 3A may be performed by one or more components in TAS component 204, as shown in detail in FIG. 3B.

302において、顧客のサブスクリプションオーダーが処理される。当該処理は、一例ではオーダーの認証を含んでいてもよい。オーダーの認証は、顧客がサブスクリプションの代金を支払ったことを保証すること、および、顧客が同一の名前を備えたサブスクリプションをまだ有していないことを保証すること、または、(CRMサービスの場合など)許可されないサブスクリプションタイプについて同一のアイデンティティドメインにおいて同一タイプの複数のサブスクリプションを顧客が作成しようと試みていないことを保証することを含む。また、処理は、クラウドインフラストラクチャシステム100によって処理されている各オーダーについてのオーダーの状態の追跡を含んでいてもよい。   At 302, a customer subscription order is processed. The process may include order authentication in one example. Order verification ensures that the customer has paid for the subscription and ensures that the customer does not yet have a subscription with the same name, or Including ensuring that the customer does not attempt to create multiple subscriptions of the same type in the same identity domain for unauthorized subscription types. Processing may also include tracking the status of the order for each order being processed by the cloud infrastructure system 100.

304において、オーダーに関連付けられたビジネスプロセスが特定される。いくつかの例では、複数のビジネスプロセスがオーダーについて特定され得る。各ビジネスプロセスは、オーダーのさまざまな局面を処理するための一連のステップを特定する。一例として、第1のビジネスプロセスは、オーダーのための物理的リソースのプロビジョニングに関連する1つ以上のステップを特定し得て、第2のビジネスプロセスは、オーダーについての顧客アイデンティティとともにアイデンティティドメインを作成することに関連する1つ以上のステップを特定し得て、第3のビジネスプロセスは、ユーザについての顧客記録の作成などのバックオフィス機能の実行、オーダーに関連するアカウンティング機能の実行などに関連する1つ以上のステップを特定し得る。特定の実施例では、オーダーにおけるさまざまなサービスを処理するためにさまざまなビジネスプロセスも特定されてもよい。例えば、CRMサービスおよびデータベースサービスを処理するためにさまざまなビジネスプロセスが特定されてもよい。   At 304, the business process associated with the order is identified. In some examples, multiple business processes may be identified for an order. Each business process identifies a series of steps for processing various aspects of the order. As an example, a first business process may identify one or more steps related to provisioning physical resources for an order, and a second business process creates an identity domain along with a customer identity for the order One or more steps related to doing can be identified, and the third business process is related to performing back office functions such as creating customer records for users, performing accounting functions related to orders, etc. One or more steps may be identified. In particular embodiments, various business processes may also be identified to handle various services in the order. For example, various business processes may be identified to handle CRM services and database services.

306において、304でオーダーについて特定されたビジネスプロセスが実行される。オーダーに関連付けられたビジネスプロセスの実行は、ステップ304において特定されたビジネスプロセスに関連付けられた一連のステップのオーケストレートを含んでいてもよい。例えば、オーダーのための物理リソースのプロビジョニングに関連するビジネスプロセスの実行は、リソースを割り当てて、サブスクリプションオーダーを実現するために必要なそれらのリソースを構成するために、SDIモジュール206に要求を送ることを含んでいてもよい。   At 306, the business process identified for the order at 304 is executed. Execution of the business process associated with the order may include an orchestration of a series of steps associated with the business process identified in step 304. For example, the execution of a business process related to provisioning physical resources for an order sends a request to the SDI module 206 to allocate resources and configure those resources necessary to fulfill a subscription order. It may include.

308において、プロビジョニングされたオーダーの状態に関する通知が顧客に送られる。ステップ302,304,306および308の実行に関連するさらなる説明については、図3Bに詳細に記載されている。   At 308, a notification is sent to the customer regarding the status of the provisioned order. Further explanation relating to the execution of steps 302, 304, 306 and 308 is described in detail in FIG. 3B.

図3Bは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるTASモジュールにおける1つ以上のサブモジュールの簡略化された高レベル図を示す。一実施例では、図3Bに示されるモジュールは、図3Aに示されるステップ302〜308に記載された処理を実行する。示される実施例では、TASモジュール204は、オーダー処理モジュール310と、ビジネスプロセス識別子312と、ビジネスプロセスエクセキュータ316と、超過フレームワーク322と、ワークフロー特定モジュール324と、バンドルされたサブスクリプション生成モジュール326とを備える。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。図3Bに示されるTASモジュールのさまざまなモジュールは、単に例示の目的で示されており、本発明の実施例の範囲を限定することを意図したものではない。代替的な実施例は、図3Bに示されるものよりも多くのまたは少ないモジュールを含んでいてもよい。   FIG. 3B shows a simplified high-level diagram of one or more submodules in a TAS module in a cloud infrastructure system according to an embodiment of the present invention. In one embodiment, the module shown in FIG. 3B performs the process described in steps 302-308 shown in FIG. 3A. In the illustrated embodiment, the TAS module 204 includes an order processing module 310, a business process identifier 312, a business process executor 316, an excess framework 322, a workflow identification module 324, and a bundled subscription generation module 326. With. These modules may be implemented in hardware or software or a combination thereof. The various modules of the TAS module shown in FIG. 3B are shown for illustrative purposes only and are not intended to limit the scope of embodiments of the present invention. Alternative embodiments may include more or fewer modules than those shown in FIG. 3B.

一実施例では、オーダー処理モジュール310は、顧客からのオーダーを1つ以上の入力ソース321から受取る。例えば、オーダー処理モジュール310は、一実施例ではクラウドUI212またはストアUI210を介してオーダーを直接受取ってもよい。代替的に、オーダー処理モジュール310は、オーダー管理モジュール214またはオーダーデータベース222からオーダーを受取ってもよい。次いで、オーダー処理モジュール310は、オーダーを処理する。特定の実施例では、オーダーの処理は、サービスタイプ、サービスレベル、顧客レベル、リソースのタイプ、サービスインスタンスに割り当てられるリソースの量、およびサービスが求められる期間などのオーダーについての情報を含む顧客記録の生成を含む。処理の一部として、オーダー処理モジュール310は、オーダーが有効なオーダーであるか否かも判断する。これは、顧客が同一の名前を備えたサブスクリプションをまだ有していないことを保証すること、または、(フュージョンCRMサービスの場合など)許可されないサブスクリプションタイプについて同一のアイデンティティドメインにおいて同一タイプの複数のサブスクリプションを顧客が作成しようと試みていないことを保証することを含む。   In one embodiment, order processing module 310 receives orders from customers from one or more input sources 321. For example, order processing module 310 may receive orders directly via cloud UI 212 or store UI 210 in one embodiment. Alternatively, order processing module 310 may receive orders from order management module 214 or order database 222. The order processing module 310 then processes the order. In a particular embodiment, the processing of an order is a customer record that includes information about the order, such as service type, service level, customer level, resource type, amount of resources allocated to a service instance, and the period for which service is required. Includes generation. As part of the processing, the order processing module 310 also determines whether the order is a valid order. This ensures that the customer does not yet have a subscription with the same name, or multiple of the same type in the same identity domain for unauthorized subscription types (such as in the case of a fusion CRM service) Including ensuring that the customer has not attempted to create a subscription.

また、オーダー処理モジュール310は、オーダーについてのさらなる処理を実行し得る。処理は、クラウドインフラストラクチャシステム100によって処理されている各オーダーについてのオーダーの状態の追跡を含んでいてもよい。一実施例では、オーダー処理モジュール310は、オーダーに関係するいくつかの状態を特定するために各オーダーを処理し得る。一例では、オーダーのさまざまな状態は、初期化状態、プロビジョニング状態、アクティブ状態、管理が必要な状態、エラー状態などであり得る。初期化状態は、新たなオーダーの状態を指し、プロビジョニング状態は、オーダーについてのサービスおよびリソースがプロビジョニングされた時点のオーダーの状態を指す。オーダーがTASモジュール204によって処理され、その趣旨の通知が顧客に与えられると、オーダーはアクティブ状態になる。問題を解決するために管理者による介入が必要な場合、オーダーは管理が必要な状態である。オーダーを処理できない場合、オーダーはエラー状態である。オーダー進捗状態の維持に加えて、オーダー処理モジュール310は、プロセスの実行中に遭遇するいかなる障害についても詳細な情報を維持する。他の実施例では、以下で詳細に記載されるように、オーダー処理モジュール310によって実行されるさらなる処理は、サブスクリプションにおけるサービスのサービスレベルの変更、サブスクリプションに含まれるサービスの変更、サブスクリプションの期間の延長、およびサブスクリプションのキャンセルまたはサブスクリプションにおけるさまざまな期間にわたるさまざまなサービスレベルの指定も含んでいてもよい。   The order processing module 310 may also perform further processing on the order. Processing may include tracking order status for each order being processed by cloud infrastructure system 100. In one embodiment, order processing module 310 may process each order to identify a number of conditions related to the order. In one example, the various states of the order can be an initialization state, a provisioning state, an active state, a state that requires management, an error state, and so on. The initialization state refers to the state of the new order, and the provisioning state refers to the state of the order when the services and resources for the order are provisioned. When the order is processed by the TAS module 204 and a notification to that effect is given to the customer, the order becomes active. An order is in a state that needs to be managed if an administrator intervention is required to solve the problem. If the order cannot be processed, the order is in error. In addition to maintaining the order progress state, the order processing module 310 maintains detailed information about any failures encountered during the execution of the process. In other embodiments, as described in detail below, further processing performed by the order processing module 310 may include changing the service level of a service in a subscription, changing a service included in a subscription, It may also include extending the period and specifying different service levels over different periods in the cancellation or subscription of the subscription.

オーダーがオーダー処理モジュール310によって処理された後、オーダーがプロビジョニングに進むべきか否かを判断するためにビジネスロジックが適用される。一実施例では、オーダーのオーケストレートの一部として、ビジネスプロセス識別子312は、処理されたオーダーをオーダー処理モジュール310から受取って、ビジネスロジックを適用して、処理中のオーダーで使用されるべき特定のビジネスプロセスを特定する。一実施例では、ビジネスプロセス識別子312は、オーダーで使用されるべき特定のビジネスプロセスを決定するために、サービスカタログ314に格納されている情報を利用し得る。一実施例では、図3Aに示されるように、オーダーについて複数のビジネスプロセスが特定されてもよく、各ビジネスプロセスは、オーダーのさまざまな局面を処理するための一連のステップを特定する。別の実施例では、上記のように、CRMサービスまたはデータベースサービスなどのさまざまなタイプのサービスまたはサービスの組み合わせについてさまざまなビジネスプロセスが規定されてもよい。一実施例では、サービスカタログ314は、オーダーを特定のタイプのビジネスプロセスにマッピングする情報を格納し得る。ビジネスプロセス識別子312は、処理中のオーダーについての特定のビジネスプロセスを特定するためにこの情報を使用し得る。   After the order is processed by the order processing module 310, business logic is applied to determine whether the order should proceed to provisioning. In one embodiment, as part of an order orchestration, the business process identifier 312 receives a processed order from the order processing module 310 and applies business logic to identify the specific to be used in the order being processed. Identify business processes. In one example, business process identifier 312 may utilize information stored in service catalog 314 to determine a particular business process to be used in the order. In one example, as shown in FIG. 3A, multiple business processes may be identified for an order, each business process identifying a series of steps for processing various aspects of the order. In another example, as described above, different business processes may be defined for different types of services or combinations of services, such as CRM services or database services. In one example, service catalog 314 may store information that maps orders to specific types of business processes. Business process identifier 312 may use this information to identify a particular business process for the order being processed.

ビジネスプロセスが特定されると、ビジネスプロセス識別子312は、実行されるべき特定のビジネスプロセスをビジネスプロセスエクセキュータ316に通信する。次いで、ビジネスプロセスエクセキュータ316は、クラウドインフラストラクチャシステム100における1つ以上のモジュールと連携して動作することによって、特定されたビジネスプロセスのステップを実行する。いくつかの実施例では、ビジネスプロセスエクセキュータ316は、ビジネスプロセスに関連付けられたステップを実行するためのオーケストレータの役割を果たす。例えば、ビジネスプロセスエクセキュータは、オーダーに関連するワークフローを特定して、オーダーにおけるサービスの超過を判断するか、またはオーダーに関連するサービスコンポーネントを特定するビジネスプロセスにおけるステップを実行するようにオーダー処理モジュール310と対話し得る。   Once the business process is identified, the business process identifier 312 communicates the specific business process to be executed to the business process executor 316. The business process executor 316 then operates in conjunction with one or more modules in the cloud infrastructure system 100 to execute the identified business process steps. In some embodiments, the business process executor 316 serves as an orchestrator for performing steps associated with the business process. For example, the business process executor identifies the workflow associated with the order and determines the service excess in the order, or executes the steps in the business process that identify the service component associated with the order. 310 may be interacted with.

一例では、ビジネスプロセスエクセキュータ316は、サブスクリプションオーダーにおいて要求されたサービスのためにリソースを割り当ててプロビジョニングするためのビジネスプロセスにおけるステップを実行するようにSDIモジュール206と対話する。この例では、ビジネスプロセスにおける各ステップごとに、ビジネスプロセスエクセキュータ316は、リソースを割り当てて、特定のステップを実現するために必要なリソースを構成するために、SDIコンポーネント206に要求を送り得る。SDIコンポーネント206は、リソースの実際の割り当てを担当する。オーダーのビジネスプロセスの全てのステップが実行されると、ビジネスプロセスエクセキュータ316は、サービスコンポーネント202のサービスを利用することによって、処理されたオーダーの通知を顧客に送り得る。通知は、処理されたオーダーの詳細を有する電子メール通知を顧客に送ることを含んでいてもよい。また、電子メール通知は、顧客がサブスクライブされたサービスにアクセスすることを可能にするための、オーダーに関連するデプロイメント情報も含んでいてもよい。   In one example, the business process executor 316 interacts with the SDI module 206 to perform steps in the business process for allocating and provisioning resources for the services requested in the subscription order. In this example, for each step in the business process, business process executor 316 may send a request to SDI component 206 to allocate resources and configure the resources necessary to implement a particular step. The SDI component 206 is responsible for the actual allocation of resources. Once all the steps of the order's business process have been executed, the business process executor 316 may send a notification of the processed order to the customer by utilizing the service of the service component 202. The notification may include sending an email notification with the details of the processed order to the customer. The email notification may also include deployment information associated with the order to allow the customer to access the subscribed service.

特定の実施例では、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に定期的に伝える。   In certain embodiments, the TAS module 204 may include one or more TAS application programming that allows the TAS module 204 to interact with other modules in the cloud infrastructure system 100 and allow other modules to interact with the TAS module 204. An interface (Application Programming Interface: API) 318 may be provided. For example, the TAS API interacts with the SDI module 206 via asynchronous Simple Object Access Protocol (SOAP) based web service calls to provision resources for customer subscription orders. A system provisioning API to be included. In one embodiment, the TAS module 204 may also utilize the system provisioning API to accomplish the creation and deletion of systems and service instances, switch service instances to enhanced service levels, and associate service instances. An example of this is the association of a Java service instance to a fusion application service instance to enable secure web service communication. The TAS API may also include a notification API that interacts with the service module 202 to notify the customer of the processed order. In certain embodiments, the TAS module 204 also periodically communicates subscription information, outages and notifications (eg, planned downtime) to the service component 202.

特定の実施例では、TASモジュール204は、使用されるストレージの量、転送されるデータの量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間の量などのプロビジョニングされたサービスの各々についての使用統計をEMモジュール208から定期的に受取る。超過フレームワーク322は、サービスの過剰使用が生じたか否かを判断し、生じた場合には超過に対してどれぐらい課金されるかを判断するために当該使用統計を利用し、この情報をオーダー管理モジュール214に提供する。   In certain embodiments, the TAS module 204 uses the amount of storage used, the amount of data transferred, the number of users, and the usage for each provisioned service, such as the amount of system up and down time. Statistics are received periodically from the EM module 208. The excess framework 322 determines whether an overuse of the service has occurred and, if so, uses the usage statistics to determine how much is charged for the excess and orders this information. Provide to the management module 214.

特定の実施例では、TASモジュール204は、顧客のサブスクリプションオーダーの処理に関連付けられた1つ以上のワークフローを特定するように構成されるオーダーワークフロー特定モジュール324を含む。特定の実施例では、TASモジュール204は、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスについてのサブスクリプションオーダーを顧客が行うと顧客のためにサブスクリプションオーダーを生成するためのサブスクリプションオーダー生成フレームワーク326を含んでいてもよい。一実施例では、サブスクリプションオーダーは、当該サブスクリプションオーダーにおいて顧客によって要求されたサービスを提供することを担当する1つ以上のサービスコンポーネントを含む。   In certain embodiments, the TAS module 204 includes an order workflow identification module 324 that is configured to identify one or more workflows associated with processing a customer's subscription order. In certain embodiments, the TAS module 204 is a subscription order for generating a subscription order for a customer when the customer places a subscription order for one or more services provided by the cloud infrastructure system 100. A generation framework 326 may be included. In one embodiment, the subscription order includes one or more service components responsible for providing the services requested by the customer in the subscription order.

さらに、TASモジュール204は、もしあれば顧客が利用可能な履歴情報を考慮に入れながら、顧客によってサブスクライブされた1つ以上のサービスのためのリソースのプロビジョニングを可能にするために、テナント情報システム(Tenant Information System:TIS)データベース320などの1つ以上のさらなるデータベースとも対話し得る。TISデータベース320は、顧客によってサブスクライブされたオーダーに関係する履歴オーダー情報および履歴使用情報を含んでいてもよい。   In addition, the TAS module 204 may provide a tenant information system to allow provisioning of resources for one or more services subscribed to by a customer, taking into account historical information available to the customer, if any. One or more additional databases, such as a (Tenant Information System: TIS) database 320, may also be interacted with. The TIS database 320 may include historical order information and historical usage information related to orders subscribed by the customer.

TASモジュール204は、さまざまなデプロイメントモデルを使用してデプロイされ得る。特定の実施例では、デプロイメントは、1つ以上の分散されたコンポーネントと遣り取りする中心コンポーネントを含む。分散されたコンポーネントは、例えばさまざまなデータセンタとしてデプロイされてもよく、したがってデータセンタコンポーネントとも称されてもよい。中心コンポーネントは、クラウドインフラストラクチャシステム100においてオーダーを処理してサービスをまとめるための機能を含み、データセンタコンポーネントは、サブスクライブされたサービスにリソースを提供するランタイムシステムをプロビジョニングして動作させるための機能を提供する。   The TAS module 204 can be deployed using various deployment models. In certain embodiments, a deployment includes a central component that interacts with one or more distributed components. Distributed components may be deployed, for example, as various data centers and therefore may also be referred to as data center components. The central component includes functions for processing orders and organizing services in the cloud infrastructure system 100, and the data center component is functions for provisioning and operating a runtime system that provides resources to subscribed services. I will provide a.

図4は、本発明の実施例に係るTASモジュールの例示的な分散型デプロイメントを示す。図4に示される実施例では、TASモジュール204の分散型デプロイメントは、TAS中心コンポーネント400と、1つ以上のTASデータセンタ(Data Center:DC)コンポーネント402,404および406とを含む。これらのコンポーネントは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。   FIG. 4 illustrates an exemplary distributed deployment of TAS modules according to an embodiment of the present invention. In the example shown in FIG. 4, the distributed deployment of the TAS module 204 includes a TAS center component 400 and one or more TAS data center (DC) components 402, 404 and 406. These components may be implemented in hardware or software or a combination thereof.

一実施例では、TAS中心コンポーネント400の任務は、顧客オーダーを受取って、新たなサブスクリプションの作成、サブスクリプションにおけるサービスのサービスレベルの変更、サブスクリプションに含まれるサービスの変更、およびサブスクリプションの期間の延長、またはサブスクリプションのキャンセルなどのオーダー関連のビジネスオペレーションを実行するための集中型コンポーネントを提供することを含むが、これに限定されるものではない。また、TAS中心コンポーネント400の任務は、クラウドインフラストラクチャシステム100によって必要とされるサブスクリプションデータを維持および供給すること、ならびに、全てのバックオフィスインタラクションに対処するためにオーダー管理モジュール214、サポートUI216、クラウドUI212およびストアUI210と遣り取りすることも含んでいてもよい。   In one embodiment, the task of the TAS-centric component 400 is to receive a customer order and create a new subscription, change the service level of a service in the subscription, change the service included in the subscription, and the duration of the subscription Including, but not limited to, providing a centralized component for performing order-related business operations such as extension of subscriptions or cancellation of subscriptions. Also, the task of the TAS-centric component 400 is to maintain and supply the subscription data required by the cloud infrastructure system 100, as well as order management module 214, support UI 216, to handle all back office interactions, Interacting with the cloud UI 212 and the store UI 210 may also be included.

一実施例では、TAS DC402,404および406の任務は、顧客によってサブスクライブされた1つ以上のサービスのためのリソースのプロビジョニングをオーケストレートするためのランタイムオペレーションを実行することを含むが、これに限定されるものではない。また、TAS DC402,404および406は、サブスクリプションオーダーのロッキング、アンロッキング、イネーブルまたはディスエーブル、オーダーに関連するメトリクスの収集、オーダーの状態の判断、およびオーダーに関連する通知イベントの送信などのオペレーションを実行するための機能も含む。   In one embodiment, the duties of TAS DCs 402, 404 and 406 include performing runtime operations to orchestrate the provisioning of resources for one or more services subscribed to by a customer. It is not limited. TAS DCs 402, 404 and 406 also perform operations such as subscription order locking, unlocking, enabling or disabling, order-related metrics collection, order status determination, and order-related notification event transmission. The function for executing is also included.

図4に示される分散型TASシステムの例示的なオペレーションでは、TAS中心コンポーネント400は、最初に、クラウドUI212、ストアUI210を介して、オーダー管理システム214を介して、またはオーダーデータベース222を介して、顧客からオーダーを受取る。一実施例では、顧客は、財務情報ならびにサブスクリプションをオーダーおよび/または変更するための権限を有するバイヤに相当する。一実施例では、オーダー情報は、顧客、顧客がサブスクライブしたいサービスのタイプ、および要求への対処を担当するアカウント管理者を特定する情報を含む。特定の実施例では、アカウント管理者は、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスへのサブスクリプションについてのオーダーを顧客が行うと、顧客によって任命され得る。オーダー情報に基づいて、TAS中心コンポーネント400は、オーダーが発生するアメリカ、EMEAまたはアジア太平洋などの世界のデータ領域、およびオーダーをプロビジョニングするためにデプロイされる特定のTAS DC(例えば402,404または406)を特定する。一実施例では、オーダーをプロビジョニングするためにデプロイされる(例えばDC402,404または406の中からの)特定のTAS DCは、要求が発生した地理的なデータ領域に基づいて決定される。   In the exemplary operation of the distributed TAS system shown in FIG. 4, the TAS-centric component 400 is initially through the cloud UI 212, the store UI 210, the order management system 214, or the order database 222. Receive orders from customers. In one embodiment, a customer represents a buyer who has the authority to order and / or change financial information and subscriptions. In one embodiment, the order information includes information identifying the customer, the type of service that the customer wants to subscribe to, and the account administrator responsible for handling the request. In certain embodiments, an account administrator may be appointed by a customer when the customer places an order for a subscription to one or more services provided by the cloud infrastructure system 100. Based on the order information, the TAS-centric component 400 determines the data area in the world, such as the United States, EMEA, or Asia Pacific where the order originates, and the specific TAS DC (eg, 402, 404 or 406) deployed to provision the order. ). In one embodiment, the particular TAS DC deployed to provision the order (eg, from within DCs 402, 404 or 406) is determined based on the geographic data region where the request originated.

次いで、TAS中心コンポーネント400は、オーダー要求についてのサービスをプロビジョニングするためにオーダー要求を特定のTAS DCに送る。一実施例では、TAS DC402,404または406は、特定のTAS DCにおいてオーダー要求を処理することを担当するサービス管理者およびアイデンティティドメイン管理者を特定する。サービス管理者およびアイデンティティ管理者は、サブスクリプションオーダーにおいて特定されるアカウント管理者によって任命され得る。TAS DC402,404または406は、オーダーのための物理リソースのプロビジョニングをオーケストレートするためにSDIモジュール204と通信する。それぞれのTAS DC402,404または406におけるSDIコンポーネント206は、リソースを割り当てて、サブスクリプションオーダーを実現するために必要なそれらのリソースを構成する。   The TAS center component 400 then sends the order request to a particular TAS DC to provision a service for the order request. In one embodiment, the TAS DC 402, 404 or 406 identifies the service administrator and identity domain administrator responsible for processing order requests at a particular TAS DC. Service administrators and identity managers can be appointed by account administrators identified in the subscription order. The TAS DC 402, 404 or 406 communicates with the SDI module 204 to orchestrate provisioning of physical resources for the order. The SDI component 206 in each TAS DC 402, 404 or 406 allocates resources and configures those resources needed to fulfill the subscription order.

特定の実施例では、TAS DC402,404または406は、サブスクリプションに関連付けられたアイデンティティドメインを特定する。SDIコンポーネント206は、既存のアイデンティティドメインの特定または新たなアイデンティティドメインの作成のためにアイデンティティドメイン情報をIDMコンポーネント200(図2に図示)に提供し得る。オーダーがそれぞれのTAS DC402,404または406におけるSDIモジュールによってプロビジョニングされると、TAS中心コンポーネント400は、サポートシステムにおけるプロビジョニングされたリソースに関する情報をサポートUI216を介して配置し得る。情報は、例えばサービスに関連するリソースメトリクスおよびサービスの使用統計の表示を含んでいてもよい。   In particular embodiments, TAS DC 402, 404 or 406 identifies the identity domain associated with the subscription. The SDI component 206 may provide identity domain information to the IDM component 200 (shown in FIG. 2) for identification of an existing identity domain or creation of a new identity domain. Once the order is provisioned by the SDI module in the respective TAS DC 402, 404 or 406, the TAS-centric component 400 may place information about provisioned resources in the support system via the support UI 216. The information may include, for example, a display of resource metrics and service usage statistics associated with the service.

オペレーション時に、各データセンタにおいて、EMモジュール208は、当該データセンタにおいてプロビジョニングされたプロビジョニングされたサービスの各々について、使用されるストレージの量、転送されるデータの量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間の量などの使用統計を定期的に収集する。これらの統計は、EMモジュール208にローカルな(すなわち、同一のデータセンタにおける)TAS DCに提供される。実施例では、TAS DCは、サービスの過剰使用が生じたか否かを判断し、生じた場合には超過に対してどれぐらい課金されるかを判断するために使用統計を使用し、課金情報をオーダー管理システム214に提供し得る。   During operation, at each data center, the EM module 208 is responsible for the amount of storage used, amount of data transferred, number of users, and system uptime for each provisioned service provisioned at that data center. And regularly collect usage statistics such as the amount of system downtime. These statistics are provided to the TAS DC that is local to the EM module 208 (ie, in the same data center). In an embodiment, the TAS DC determines whether an overuse of the service has occurred and, if so, uses usage statistics to determine how much is charged for the excess, The order management system 214 may be provided.

図5は、本発明の実施例に係るクラウドインフラストラクチャシステムにおける1つ以上のモジュールとのSDIモジュールのインタラクションを示す簡略ブロック図である。一実施例では、SDIモジュール206は、TASモジュール204によって受取られたサブスクリプションオーダーにおけるサービスのためのリソースをプロビジョニングするためにTASモジュール204と対話する。特定の実施例では、図5に示されるモジュールのうちの1つ以上は、クラウドインフラストラクチャシステム100内のモジュールであってもよい。他の実施例では、SDIモジュール206と対話するモジュールのうちの1つ以上は、クラウドインフラストラクチャシステム100の外側にあってもよい。また、代替的な実施例は、図5に示されるものよりも多くのまたは少ないモジュールを有していてもよい。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組み合わせで実現されてもよい。   FIG. 5 is a simplified block diagram illustrating SDI module interaction with one or more modules in a cloud infrastructure system according to an embodiment of the present invention. In one embodiment, the SDI module 206 interacts with the TAS module 204 to provision resources for service in the subscription order received by the TAS module 204. In certain embodiments, one or more of the modules shown in FIG. 5 may be a module within the cloud infrastructure system 100. In other embodiments, one or more of the modules that interact with the SDI module 206 may be external to the cloud infrastructure system 100. Alternate embodiments may also have more or fewer modules than those shown in FIG. These modules may be implemented in hardware or software or a combination thereof.

一実施例では、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クラウドサービスをプロビジョニングするために必要なリソースを決定する。   In one embodiment, the modules in SDI module 206 may include one or more modules in SaaS platform 102 and PaaS platform 104 in cloud infrastructure system 100. In order to provision resources for various services, the SDI module 206 may interact with various other modules, each customized to assist in provisioning resources for a particular type of service. For example, as shown in FIG. 5, the SDI module 206 may interact with the Java service provisioning control module 500 to provision Java cloud services. In one embodiment, the Java service provisioning control component 500 deploys a Java Cloud Service (JCS) assembly defined by the SDI module 206 that includes a set of tasks performed to provision a Java cloud service. Can do. The infrastructure resource 106 then determines the resources needed to provision the Java cloud service.

他の例として、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と対話する。   As another example, the SDI module 206 includes a virtual assembly builder (VAB) module 502, an application express (APEX) deployer module 504, a virtual machine (VM) module 506, and an IDM. One or more modules such as module 200 and database machine module 118 may interact. VAB module 502 includes functionality for configuring and provisioning a complete multi-tier application environment. In one embodiment, the VAB module 502 is a MW service defined by the SDI module 206 to provision a middleware (MW) service in the cloud infrastructure system 100 using the service provided by the VM module 506. Deploy the assembly. The APEX deployer module 504 includes functionality for configuring and provisioning database services. In one embodiment, the APEX deployer module 504 deploys a database service assembly defined by the SDI module 206 to provision a database service in the cloud infrastructure system 100 using the resources provided by the infrastructure resource 106. To do. The SDI module 206 interacts with the IDM module 200 to provide identity services such as access management across multiple applications in the cloud infrastructure system 100.

図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に示されるものよりも多くのまたは少ないモジュールを有していてもよい。これらのモジュールおよびそれらの機能については、以下で詳細に説明する。   FIG. 6 shows a simplified high-level diagram of submodules of an SDI module according to an embodiment of the present invention. In the embodiment shown in FIG. 6, the SDI module 206 includes an SDI-Web Service (WS) module 600, an SDI request controller module 602, an SDI task manager module 604, an SDI monitoring module 606, and SDI data. The access module 608 includes an SDI common library module 610 and an SDI connector module 612. These modules may be implemented in hardware or software or a combination thereof. The SDI module 206 and its various modules shown in FIG. 6 are shown for illustrative purposes only and are not intended to limit the scope of embodiments of the present invention. Alternative embodiments may have more or fewer modules than those shown in FIG. These modules and their functions are described in detail below.

SDI−WSモジュール600は、TASコンポーネント204のビジネスプロセスエクセキュータ316から、オーダーに関連付けられたビジネスにおけるステップを受取るための機能を含む。一実施例では、SDI−WSモジュール600は、ビジネスプロセスの各ステップを構文解析し、当該ステップをSDIモジュール206によって使用される内部表現に変換する。一実施例では、オーダーに関連付けられたビジネスプロセスの各ステップは、SDI−WSモジュール600へのSOAP要求の形態で、ウェブサービス処理層を介して(例えば図3Bに示されるシステムプロビジョニングAPIを介して)到着する。   The SDI-WS module 600 includes functionality for receiving steps in the business associated with the order from the business process executor 316 of the TAS component 204. In one embodiment, the SDI-WS module 600 parses each step of the business process and converts the step into an internal representation used by the SDI module 206. In one embodiment, each step of the business process associated with the order is performed in the form of a SOAP request to the SDI-WS module 600 via the web service processing layer (eg, via the system provisioning API shown in FIG. 3B). )arrive.

SDI要求コントローラモジュール602は、SDIモジュール206における内部要求処理エンジンであり、非同期要求処理、同時要求処理、同時タスク処理、オーダー要求に関連するフォールト・トレラントな回復およびプラグインサポートを実行するための機能を含む。一実施例では、SDI要求コントローラモジュール602は、オーダーに関連付けられたビジネスプロセスの各ステップをSDI−WSモジュール600から受入れ、当該ステップをSDIタスクマネージャモジュール604に提出する。   The SDI request controller module 602 is an internal request processing engine in the SDI module 206, and functions for executing asynchronous request processing, simultaneous request processing, simultaneous task processing, fault tolerant recovery and plug-in support related to order requests. including. In one embodiment, the SDI request controller module 602 accepts each step of the business process associated with the order from the SDI-WS module 600 and submits the step to the SDI task manager module 604.

SDIタスクマネージャモジュール604は、ビジネスプロセスにおいて規定された各ステップを、特定のステップをプロビジョニングするための一連のタスクに変換する。特定のステップのための一組のタスクがプロビジョニングされると、SDIタスクマネージャモジュール604は、特定のステップを実現するためにプロビジョニングされたリソースの詳細を有するオーダーペイロードを含むオペレーション結果により、TASモジュール204におけるビジネスプロセスエクセキュータ316に応答する。SDIタスクマネージャモジュール604は、オーダーに関連付けられた特定のビジネスプロセスの全てのステップが完了するまで、このプロセスを繰返す。   The SDI task manager module 604 translates each step defined in the business process into a series of tasks for provisioning a particular step. Once a set of tasks for a particular step is provisioned, the SDI task manager module 604 may return the TAS module 204 with an operation result that includes an order payload with details of resources provisioned to implement the particular step. In response to the business process executor 316 at. The SDI task manager module 604 repeats this process until all steps of the specific business process associated with the order are completed.

特定の実施例では、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において人々と情報とのコネクティビティを与えるための機能を含む。   In a particular embodiment, the SDI task manager module 604 converts each step defined in the business process into a series of tasks by utilizing the services of the SDI connector module 612. The SDI connector module 612 includes one or more connectors for addressing the deployment of tasks defined by the SDI task manager module 604 to provision one or more services associated with order requests. In particular embodiments, one or more of the connectors can handle tasks specific to a particular service type, and other connectors can handle common tasks across various service types. In one embodiment, the SDI connector module 612 interacts with one or more of the external modules (shown in FIG. 5) in the cloud infrastructure system 100 to provision services and resources related to order requests. Includes connector (wrapper API). For example, Application Express (APEX) connector 614 interacts with APEX deployer module 504 to provision database services. A web center connector 616 (Web Center Connector: WCC) interacts with a web center module in the cloud infrastructure system 100 to provision web services. The web center module is a user engagement platform, and includes a function for providing connectivity between people and information in the cloud infrastructure system 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つ以上のウェブサーバと遣り取りする。   In particular embodiments, a middleware application (MA) connector 618 interacts with the VAB module 502 in the cloud infrastructure system 100 to provision middleware application services. NUVIAQ connector 620 interacts with VAB module 502 to provision Java services. The IDM connector 622 interacts with the IDM module 200 to provide identity and access management to users who subscribe to services and resources in the cloud infrastructure system 100. Virtual assembly builder (VAB) connector 624 interacts with VAB module 502 in cloud infrastructure system 100 to configure and provision a complete multi-tier application environment. Plug-in connector 626 interacts with EM module 208 to manage and monitor components in cloud infrastructure system 100. The HTTP server connector 628 interacts with one or more web servers in the PaaS platform to provide connection services to users in the cloud infrastructure system 100.

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におけるモジュールのための構成サポートを提供する。   The SDI monitoring module 606 in the SDI module 206 provides an inbound interface for receiving Java Management Extensions (JMX) requests. The SDI monitoring module 606 also provides tools for managing and monitoring applications, system objects and devices in the cloud infrastructure system 100. The SDI data access module 608 provides an inbound interface for receiving Java Database Connectivity (JDBC) requests. The SDI data access module 608 supports data access in the cloud infrastructure system 100 and provides object relationship mapping, Java transaction API service, data access object and connection pooling. The SDI common library module 610 provides configuration support for modules in the SDI module 206.

上記の図6の実施例は、本発明の実施例に係るSDIモジュールにおけるモジュールを記載している。図7Aは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIモジュールのモジュールによって実行され得る処理を示す簡略化されたフローチャート700を示す。図7Aに示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図7Aに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図7Aに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図7Aに示される処理は、図6に詳細に示されるSDIモジュール206における1つ以上のモジュールによって実行され得る。   The embodiment of FIG. 6 above describes the modules in the SDI module according to an embodiment of the present invention. FIG. 7A shows a simplified flowchart 700 illustrating processing that may be performed by modules of an SDI module in a cloud infrastructure system according to an embodiment of the present invention. The processing shown in FIG. 7A may be implemented by software (eg, code, instructions, program) executed by one or more processors, hardware, or a combination thereof. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular series of processing steps shown in FIG. 7A is not intended to be limiting. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the invention may perform the above steps in a different order. Further, the individual steps shown in FIG. 7A may include multiple sub-steps that may be performed in various sequences as appropriate to the individual steps. Furthermore, additional steps may be added or deleted depending on the particular application. Those skilled in the art will recognize many variations, modifications and alternatives. In one embodiment, the process shown in FIG. 7A may be performed by one or more modules in SDI module 206 shown in detail in FIG.

702において、サブスクリプションオーダーに関連付けられたビジネスプロセスが受取られる。一実施例では、SDIモジュール206におけるSDI−WSモジュール600は、サブスクリプションオーダーに関連付けられたビジネスプロセスにおける1つ以上のステップをビジネスプロセスエクセキュータ316から受取る。704において、ビジネスプロセスにおける各ステップは、サブスクリプションオーダーのためのリソースをプロビジョニングするための一連のタスクに変換される。一実施例では、SDIモジュール206におけるSDIタスクマネージャモジュール604は、SDIコネクタモジュール612のサービスを利用することによって、ビジネスプロセスにおいて規定された各ステップを一連のタスクに変換する。706において、サブスクリプションオーダーは、一連のタスクに基づいてプロビジョニングされる。一実施例では、図6に示されるように、SDIコネクタモジュール612は、サブスクリプションオーダーにおけるサービスのためのリソースをプロビジョニングするために、SDIタスクマネージャモジュール604によって規定されるタスクのデプロイメントに対処するための1つ以上のコネクタを含む。   At 702, a business process associated with a subscription order is received. In one embodiment, the SDI-WS module 600 in the SDI module 206 receives one or more steps in the business process associated with the subscription order from the business process executor 316. At 704, each step in the business process is converted into a series of tasks for provisioning resources for the subscription order. In one embodiment, the SDI task manager module 604 in the SDI module 206 converts each step defined in the business process into a series of tasks by utilizing the services of the SDI connector module 612. At 706, the subscription order is provisioned based on a series of tasks. In one embodiment, as shown in FIG. 6, the SDI connector module 612 handles the deployment of tasks defined by the SDI task manager module 604 to provision resources for services in the subscription order. One or more connectors.

図6に関して上記したように、SDIタスクマネージャモジュール604は、SDIコネクタモジュール612のサービスを利用することによって、ビジネスプロセスにおいて規定された各ステップを一連のタスクに変換し、SDIコネクタモジュール612は、オーダー要求に関連する1つ以上のサービスをプロビジョニングするために、SDIタスクマネージャモジュール604によって規定されるタスクのデプロイメントに対処するための1つ以上のコネクタを含んでいてもよい。コネクタのうちの1つ以上は、特定のサービスタイプに特有のタスクに対処することができ、他のコネクタは、さまざまなサービスタイプにわたって共通のタスクに対処することができる。一実施例では、SDIコネクタモジュール612は、オーダー要求に関連するサービスおよびリソースをプロビジョニングするためにクラウドインフラストラクチャシステム100における外部モジュール(図5に図示)のうちの1つ以上と遣り取りする一組のコネクタ(ラッパーAPI)を含む。例えば、NUVIAQコネクタ620は、JavaサービスをプロビジョニングするためにVABモジュール502と遣り取りする。   As described above with respect to FIG. 6, the SDI task manager module 604 utilizes the services of the SDI connector module 612 to convert each step defined in the business process into a series of tasks, and the SDI connector module 612 One or more connectors for addressing the deployment of tasks defined by the SDI task manager module 604 may be included to provision one or more services associated with the request. One or more of the connectors can handle tasks that are specific to a particular service type, and other connectors can handle tasks that are common across various service types. In one embodiment, the SDI connector module 612 interacts with one or more of the external modules (shown in FIG. 5) in the cloud infrastructure system 100 to provision services and resources related to order requests. Includes connector (wrapper API). For example, the NUVIAQ connector 620 interacts with the VAB module 502 to provision Java services.

図7Bは、本発明の実施例に係るNuviaqシステム710および他のクラウドインフラストラクチャシステムとのその関係の高レベルアーキテクチャを示す簡略ブロック図を示す。図7Bに示されるNuviaqシステム710は、図7Bに示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図7Bに示される実施例は、本発明の実施例を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施例では、Nuviaqシステム710は、図7Bに示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。   FIG. 7B shows a simplified block diagram illustrating a high level architecture of Nuviaq system 710 and its relationship with other cloud infrastructure systems according to an embodiment of the present invention. It should be understood that the Nuviaq system 710 shown in FIG. 7B may have other components than those shown in FIG. 7B. Further, the embodiment shown in FIG. 7B is only one example of a cloud infrastructure system that can incorporate embodiments of the present invention. In some other embodiments, Nuviaq system 710 may have more or fewer components than those shown in FIG. 7B, may combine two or more components, or have different components It may have a configuration or an arrangement.

特定の実施例では、Nuviaqシステム710は、PaaSオペレーションをオーケストレートするためのランタイムエンジンを提供するように構成され得る。Nuviaqシステム710は、他の製品およびサービスとの統合を容易にするためにウェブサービスAPIを提供し得る。また、Nuviaqシステム710は、システムプロビジョニング、アプリケーションデプロイメントおよび関連付けられたライフサイクルオペレーションにおける複雑なワークフローのためのサポートを提供し、管理およびモニタリングソリューションと統合する。   In certain embodiments, Nuviaq system 710 may be configured to provide a runtime engine for orchestrating PaaS operations. Nuviaq system 710 may provide a web service API to facilitate integration with other products and services. Nuviaq system 710 also provides support for complex workflows in system provisioning, application deployment and associated lifecycle operations, and integrates with management and monitoring solutions.

図7Bに示される実施例では、Nuviaqシステム710は、Nuviaqプロキシ712と、Nuviaqマネージャ714と、Nuviaqデータベース716とを備える。特定の実施例では、Nuviaqマネージャ714は、Nuviaqシステム710へのエントリポイントを提供し、ウェブサービスAPIを介してPaaSオペレーションへの安全なアクセスを提供する。内部では、Nuviaqマネージャ714は、データベースにおいてシステム状態を追跡し、ワークフローエンジン上でのジョブの実行を制御する。パブリッククラウドでは、Nuviaqマネージャ714は、プロビジョニングオペレーションおよびデプロイメントオペレーションをそれぞれ駆動するために、テナントプロビジョニングシステム(SDI206)およびテナントコンソールによってアクセスされ得る。   In the example shown in FIG. 7B, the Nuviaq system 710 comprises a Nuviaq proxy 712, a Nuviaq manager 714, and a Nuviaq database 716. In certain embodiments, Nuviaq manager 714 provides an entry point to Nuviaq system 710 and provides secure access to PaaS operations via a web service API. Internally, Nuviaq manager 714 tracks the system state in the database and controls the execution of jobs on the workflow engine. In the public cloud, Nuviaq manager 714 can be accessed by the tenant provisioning system (SDI 206) and the tenant console to drive provisioning and deployment operations, respectively.

一実施例では、Nuviaqマネージャ714は、内部ワークフローエンジンを介して非同期にジョブを実行する。ジョブは、所与のPaaSワークフローに特有のアクションのシーケンスであってもよい。アクションは、順番に実行されてもよく、任意のステップにおける障害は、結果としてジョブ全体の障害になる。多くのワークフローアクションは、EMコマンドラインインターフェース(cli)などのワークフローに関連する外部システムに権限を委任する。一実現例では、Nuviaqマネージャ714アプリケーションは、ファイアウォール内で実行される関連付けられたHTTPサーバ(例えばオラクルHTTPサーバまたはOHS)インスタンスを有する2ノードウェブロジッククラスタにおいてホストされ得る。   In one embodiment, Nuviaq manager 714 executes jobs asynchronously via an internal workflow engine. A job may be a sequence of actions specific to a given PaaS workflow. Actions may be executed in order, and failure at any step results in failure of the entire job. Many workflow actions delegate authority to external systems associated with the workflow, such as the EM command line interface (cli). In one implementation, the Nuviaq manager 714 application may be hosted in a two-node web logic cluster with an associated HTTP server (eg, Oracle HTTP server or OHS) instance running within the firewall.

特定の実施例では、Nuviaqプロキシ712は、Nuviaq APIへのパブリックアクセスポイントである。一実施例では、パブリックAPIのみがここで公開され得る。プロキシ712によって受取られた要求は、Nuviaqマネージャ714に送られ得る。一実施例では、Nuviaqプロキシ712はファイアウォールの外側で実行される一方、マネージャ714はファイアウォール内で実行される。一実現例では、Nuviaqプロキシ712アプリケーションは、ファイアウォールの外側で実行されるウェブロジッククラスタ上で実行される。   In a particular embodiment, Nuviaq proxy 712 is a public access point to Nuviaq API. In one embodiment, only public APIs can be published here. Requests received by proxy 712 may be sent to Nuviaq manager 714. In one embodiment, Nuviaq proxy 712 runs outside the firewall, while manager 714 runs inside the firewall. In one implementation, the Nuviaq proxy 712 application runs on a web logic cluster that runs outside the firewall.

特定の実施例では、Nuviaqデータベース716は、プラットフォームインスタンス、デプロイメント計画、アプリケーション、ウェブロジックドメイン、ジョブ、アラーとなどであるがこれらに限定されないさまざまなドメインエンティティを追跡する。必要に応じて、主キーがサービスデータベースと整合させられてもよい。   In certain embodiments, Nuviaq database 716 tracks various domain entities such as, but not limited to, platform instances, deployment plans, applications, web logic domains, jobs, alerts, and the like. If necessary, the primary key may be aligned with the service database.

一実施例では、プラットフォームインスタンス718は、所与のテナントのためのウェブロジックサービスに必要な全てのリソースを含んでいてもよい。   In one embodiment, platform instance 718 may include all the resources necessary for web logic services for a given tenant.

Nuviaqシステム710は、ウェブロジッククラウドサービスによって使用されるワークフローを実行するために、クラウドインフラストラクチャシステム100のさらなるシステムに依拠し得る。これらの依存性は、SDI206、IDM200、ウイルススキャンシステム、サービスデータベース、CRMインスタンスなどへの依存性を含んでいてもよい。例えば、Nuviaqシステム710は、SDI206におけるアセンブリデプロイヤによって実行される機能に依存し得る。一実施例では、アセンブリデプロイヤは、OVAB(Oracle Virtual Assembly builder:オラクルバーチャル・アセンブリ・ビルダ)およびOVM(Oracle Virtual Machine:オラクル仮想マシン)とのインタラクションを管理するためのシステムである。Nuviaqシステム710によって使用されるアセンブリデプロイヤの機能は、アセンブリをデプロイするための機能、アセンブリをアンデプロイするための機能、アセンブリデプロイメントを説明するための機能、アプライアンスをスケーリングするための機能などを含み得るが、これらに限定されるものではない。一実現例では、Nuviaqシステム710は、ウェブサービスAPIを介してアセンブリデプロイヤにアクセスする。   Nuviaq system 710 may rely on additional systems of cloud infrastructure system 100 to execute workflows used by web logic cloud services. These dependencies may include dependencies on the SDI 206, IDM 200, virus scanning system, service database, CRM instance, and the like. For example, Nuviaq system 710 may rely on functions performed by an assembly deployer at SDI 206. In one embodiment, the assembly deployer is a system for managing interactions with OVAB (Oracle Virtual Assembly Builder) and OVM (Oracle Virtual Machine). Assembly deployer functions used by Nuviaq system 710 may include functions for deploying assemblies, functions for undeploying assemblies, functions for describing assembly deployment, functions for scaling appliances, etc. However, it is not limited to these. In one implementation, the Nuviaq system 710 accesses an assembly deployer via a web service API.

特定の実施例では、セキュリティポリシは、アプリケーションにデプロイされる前に特定のアーティファクトがウイルススキャンされることを必要とし得る。クラウドインフラストラクチャシステム100は、この目的でウイルススキャンシステムを提供し得て、パブリッククラウドの複数のコンポーネントのためのサービスとしてスキャンを提供する。   In certain embodiments, the security policy may require that certain artifacts be scanned for viruses before being deployed to the application. The cloud infrastructure system 100 can provide a virus scanning system for this purpose, providing scanning as a service for multiple components of the public cloud.

特定の実施例では、パブリッククラウドインフラストラクチャは、テナント(例えば顧客)およびそれらのサービスサブスクリプションについての情報を含むサービスデータベースを維持し得る。Nuviaqワークフローは、テナントもサブスクライブする他のサービスに対するクライアントとしてウェブロジックサービスを適切に構成するために、このデータにアクセスし得る。   In certain embodiments, the public cloud infrastructure may maintain a service database that includes information about tenants (eg, customers) and their service subscriptions. The Nuviaq workflow may access this data to properly configure the web logic service as a client to other services that the tenant also subscribes to.

Nuviaqシステム710は、そのセキュリティ統合のためにIDM200に依存し得る。特定の実施例では、Javaサービスインスタンスは、CRMインスタンスに関連付けられ得る。当該関連付けにより、Javaサービスインスタンスにデプロイされたユーザアプリケーションは、ウェブサービスコールを介してCRMインスタンスにアクセスできる。   Nuviaq system 710 may rely on IDM 200 for its security integration. In certain embodiments, a Java service instance may be associated with a CRM instance. With this association, a user application deployed on the Java service instance can access the CRM instance via a web service call.

Nuviaqシステム710によって提供されるサービスをさまざまなエンティティが使用し得る。Nuviaqシステム710のこれらのクライアントは、プラットフォームインスタンス上でアプリケーションを管理するために顧客がアクセスし得る管理サーバ(例えばオラクル管理サーバ)ベースのユーザインターフェイスであるテナントコンソールと、アプリケーションライフサイクル管理オペレーションへのアクセスを提供するように拡張されたオラクルIDE(JDeveloper、NetBeansおよびOEPE)などのいくつかのIDEと、プラットフォームインスタンス上のライフサイクルオペレーションにアクセスするために利用可能な1つ以上のコマンドラインインターフェース(Command Line Interface:CLI)とを含んでいてもよい。   Various entities may use the services provided by Nuviaq system 710. These clients of the Nuviaq system 710 include a tenant console which is a management server (eg, Oracle management server) based user interface that customers can access to manage applications on platform instances, and access to application lifecycle management operations. Several IDEs, such as Oracle IDEs (JDeveloper, NetBeans, and OEPE) that have been extended to provide one and more command line interfaces (Command Line) that can be used to access lifecycle operations on platform instances Interface: CLI).

Nuviaqシステム710についてのプロビジョニング使用事例、すなわちプロビジョニングプラットフォームインスタンスの使用事例は、Nuviaq APIの作成プラットフォームインスタンスオペレーションによって実現される。クラウドインフラストラクチャシステム100の文脈では、Nuviaqシステムに対するサービスインスタンスは、Nuviaqプラットフォームインスタンスに対応する。プラットフォームインスタンスは、このインスタンスに関連する全ての後続のオペレーション上で使用される独自の識別子を割り当てられる。作成プラットフォームインスタンスアクションに提供されるプラットフォームデプロイメント記述子により、テナントのサブスクリプション要件を満たすようにプラットフォームインスタンスの構成を修正するプロパティを設定することができる。これらのプロパティは、例えば以下を含んでいてもよい:
プロパティ#1:oracle.cloud.service.weblogic.size
値:ベーシック、標準、エンタプライズ
説明:サブスクリプションタイプを規定する。これは、サーバの数、データベース限度およびサービス設定の質に影響を及ぼす。
The provisioning use case for the Nuviaq system 710, ie the use case of the provisioning platform instance, is realized by the Nuviaq API creation platform instance operation. In the context of the cloud infrastructure system 100, a service instance for a Nuviaq system corresponds to a Nuviaq platform instance. A platform instance is assigned a unique identifier that is used on all subsequent operations associated with this instance. The platform deployment descriptor provided in the create platform instance action allows you to set properties that modify the configuration of the platform instance to meet tenant subscription requirements. These properties may include, for example:
Property # 1 : oracle.cloud.service.weblogic.size
Value: Basic, Standard, Enterprise Description: Specifies the subscription type. This affects the number of servers, database limits and quality of service settings.

プロパティ#2:oracle.cloud.service.weblogic.trial
値:真、偽
説明:これがトライアルサブスクリプションであるか否かを示す。
Property # 2 : oracle.cloud.service.weblogic.trial
Value: True, False Description: Indicates whether this is a trial subscription.

プロパティ#3:oracle.cloud.service.weblogic.crm
値:CRMサービスID
説明:このウェブロジックサービスインスタンスに関連付けられるべきCRMサービスを特定する。
Property # 3 : oracle.cloud.service.weblogic.crm
Value: CRM service ID
Description: Specifies the CRM service to be associated with this web logic service instance.

図7Cは、本発明の実施例に係るNuviaqシステムを使用するプロビジョニングプロセスのステップを示す例示的なシーケンス図を示す。図7Cに示されるシーケンス図は、一例に過ぎず、限定的であるよう意図されるものではない。   FIG. 7C shows an exemplary sequence diagram illustrating the steps of the provisioning process using the Nuviaq system according to an embodiment of the present invention. The sequence diagram shown in FIG. 7C is only an example and is not intended to be limiting.

インストール/更新アプリケーションの使用事例、すなわちインストールアプリケーションオペレーションは、アプリケーションアーカイブがパブリッククラウドのセキュリティ要件を満たすことを確認した後に、実行中のウェブロジックサーバにアプリケーションをデプロイする。一実施例では、インストールアプリケーションアクションに提供されるアプリケーションデプロイメント記述子により、テナントのサブスクリプション要件を満たすようにアプリケーションの構成を修正するプロパティを設定することができる。これらのプロパティは、例えば以下を含んでいてもよい:
プロパティ:oracle.cloud.service.weblogic.state
値:実行、停止
説明:デプロイメント後のアプリケーションの初期状態を規定する。
The install / update application use case, i.e., install application operation, deploys the application to a running weblogic server after confirming that the application archive meets the security requirements of the public cloud. In one embodiment, an application deployment descriptor provided in the install application action may set properties that modify the application configuration to meet tenant subscription requirements. These properties may include, for example:
Property : oracle.cloud.service.weblogic.state
Value: Run, Stop Description: Specifies the initial state of the application after deployment.

図7Dは、本発明の実施例に係るNuviaqシステムを使用するデプロイメントプロセスのステップを示す例示的なシーケンス図を示す。図7Dに示されるシーケンス図は、一例に過ぎず、限定的であるよう意図されるものではない。   FIG. 7D shows an exemplary sequence diagram illustrating the steps of the deployment process using the Nuviaq system according to an embodiment of the present invention. The sequence diagram shown in FIG. 7D is only an example and is not intended to be limiting.

図2に戻って、特定の実施例では、協働して動作するTAS204およびSDI206は、クラウドインフラストラクチャシステム100によって提供される一組のサービスから顧客によってオーダーされた1つ以上のサービスのためにリソースをプロビジョニングすることを担当する。例えば、一実施例では、データベースサービスをプロビジョニングするために、自動化されたプロビジョニングフローは、有料サブスクリプションについては以下のようなものであってもよい:
(1)顧客は、ストアUI210を介して、サービスの有料サブスクリプションのオーダーを行う。
Returning to FIG. 2, in a specific embodiment, the TAS 204 and SDI 206 operating in concert are for one or more services ordered by a customer from a set of services provided by the cloud infrastructure system 100. Responsible for provisioning resources. For example, in one embodiment, to provision a database service, an automated provisioning flow may be as follows for a paid subscription:
(1) The customer orders a paid subscription for the service via the store UI 210.

(2)TAS204がサブスクリプションオーダーを受取る。
(3)サービスが利用可能であると、TAS204は、SDI206のサービスを使用することによってプロビジョニングを開始する。TAS204は、ビジネスプロセスのオーケストレーションを実行してもよく、関連のビジネスプロセスを実行してオーダーのプロビジョニング局面を完了する。一実施例では、TAS204は、プロビジョニングに関わるステップをオーケストレートして、ライフサイクルオペレーションを処理するために、BPEL(ビジネスプロセス実行言語:Business Process Execution Language)プロセスマネージャを使用し得る。
(2) The TAS 204 receives the subscription order.
(3) When the service is available, the TAS 204 starts provisioning by using the service of the SDI 206. The TAS 204 may perform orchestration of business processes and execute related business processes to complete the provisioning aspect of the order. In one embodiment, the TAS 204 may use a Business Process Execution Language (BPEL) process manager to orchestrate the steps involved in provisioning and process lifecycle operations.

(4)一実施例では、データベースサービスをプロビジョニングするために、SDI206は、要求を行っている顧客にスキーマを関連付けるようにCLOUD_UIにおけるPLSQL APIを呼出し得る。   (4) In one embodiment, to provision a database service, the SDI 206 may call the PSQL API in the CLOUD_UI to associate the schema with the requesting customer.

(5)顧客へのスキーマの関連付けが成功した後、SDIはTASに知らせて、TASは、データベースサービスが現在顧客によって使用可能な状態にあるという通知を顧客に送る。   (5) After successfully associating the schema with the customer, the SDI informs the TAS and the TAS sends a notification to the customer that the database service is currently available for use by the customer.

(6)顧客は、(例えばcloud.oracle.comなどのURALを使用して)クラウドインフラストラクチャシステム100にログインし、サービスを起動し得る。   (6) The customer may log into the cloud infrastructure system 100 (eg, using a URAL such as cloud.oracle.com) and activate the service.

いくつかの実施例では、顧客は、トライアルベースでサービスにサブスクライブすることも許可されてもよい。例えば、このようなトライアルオーダーは、(例えばcloud.oracle.comを使用して)クラウドUI212を介して受取られ得る。   In some embodiments, the customer may also be allowed to subscribe to the service on a trial basis. For example, such a trial order may be received via the cloud UI 212 (eg, using cloud.oracle.com).

特定の実施例では、クラウドインフラストラクチャシステム100は、顧客またはテナント同士の間で基本的なハードウェアおよびサービスインスタンスが共有されることを可能にする。例えば、データベースサービスは、一実施例では、図7Eに示されるようにプロビジョニングされ得る。図7Eは、複数のExadata演算ノード730および732を示し、演算ノード730および732の各々が、データベースサービスのためにプロビジョニングされたデータベースインスタンスを提供する。例えば、演算ノード730は、データベースサービスのためのデータベースインスタンス734を提供する。各々のExadata演算ノードは、複数のデータベースインスタンスを有していてもよい。   In certain embodiments, the cloud infrastructure system 100 allows basic hardware and service instances to be shared between customers or tenants. For example, a database service may be provisioned as shown in FIG. 7E in one embodiment. FIG. 7E shows a plurality of Exadata compute nodes 730 and 732, each of which provides a database instance provisioned for database services. For example, compute node 730 provides a database instance 734 for database services. Each Exadata operation node may have a plurality of database instances.

特定の実施例では、各データベースインスタンスは、複数のスキーマを備えていてもよく、当該スキーマは、異なる顧客またはテナントに関連付けられてもよい。例えば、図7Eでは、データベースインスタンス734は、2つのスキーマ736および738を提供し、スキーマ736および738の各々は、それ自体の表を有する。スキーマ736は、データベースサービスにサブスクライブする第1の顧客またはテナントに関連付けられ得て、スキーマ738は、データベースサービスにサブスクライブする第2の顧客またはテナントに関連付けられ得る。各テナントは、完全に切離されたスキーマを得る。各スキーマは、関連付けられたテナントについての表、ビュー、格納されたプロシージャ、トリガなどを含むデータベースオブジェクトを管理できる容器のように動作する。各スキーマは、1つの専用の表領域を有し得て、各々の表領域は、1つのデータファイルを有する。   In particular embodiments, each database instance may comprise multiple schemas, which may be associated with different customers or tenants. For example, in FIG. 7E, database instance 734 provides two schemas 736 and 738, each of which has its own table. Schema 736 can be associated with a first customer or tenant that subscribes to the database service, and schema 738 can be associated with a second customer or tenant that subscribes to the database service. Each tenant gets a completely isolated schema. Each schema acts like a container that can manage database objects including tables, views, stored procedures, triggers, etc. for the associated tenant. Each schema can have one dedicated tablespace, and each tablespace has one data file.

このように、単一のデータベースインスタンスは、複数のテナントにデータベースサービスを提供することができる。これは、基本的なハードウェアリソースの共有を可能にするだけでなく、テナント同士の間でのサービスインスタンスの共有も可能にする。   Thus, a single database instance can provide database services to multiple tenants. This not only allows basic hardware resource sharing, but also allows service instances to be shared between tenants.

特定の実施例では、このようなマルチテナンシシステムは、IDM200によって容易になり、これにより、各々がそれ自体の別個のアイデンティティドメインを有する複数の別個の顧客が、クラウドにおいて共有されるハードウェアおよびソフトウェアを使用することが有利に可能になる。その結果、各顧客が自身の専用のハードウェアまたはソフトウェアリソースを有する必要がなくなり、場合によっては、特定の時点で一部の顧客によって使用されていないリソースが、他の顧客によって使用可能になり、それによってそれらのリソースが無駄になることを防止する。例えば、図7Eに示されるように、データベースインスタンスは、各々がそれぞれのアイデンティティドメインを有する複数の顧客に供給されることができる。各々のこのようなデータベースサービスインスタンスは、多くの別個のアイデンティティドメインの中で共有される単一の物理的なマルチテナントデータベースシステムの別個の抽象化またはビューであり得るが、各々のこのようなデータベースサービスインスタンスは、各々の他のデータベースサービスインスタンスが有するものとは別個の、場合によっては異なるスキーマを有することができる。したがって、マルチテナントデータベースシステムは、顧客指定のデータベーススキーマとそれらのデータベーススキーマが関係するアイデンティティドメインとの間のマッピングを格納し得る。マルチテナントデータベースシステムは、特定のアイデンティティドメインのためのデータベースサービスインスタンスに、当該特定のアイデンティティドメインにマッピングされるスキーマを使用させ得る。   In certain embodiments, such a multi-tenancy system is facilitated by the IDM 200, which allows multiple separate customers, each with its own separate identity domain, to be shared in the cloud and It is advantageously possible to use software. As a result, each customer does not need to have their own dedicated hardware or software resources, and in some cases, resources that are not used by some customers at any given time are made available to other customers, This prevents waste of those resources. For example, as shown in FIG. 7E, a database instance can be served to multiple customers, each having a respective identity domain. Each such database service instance may be a separate abstraction or view of a single physical multitenant database system shared within many separate identity domains, but each such database A service instance may have a different and possibly different schema than each other database service instance has. Thus, a multi-tenant database system can store a mapping between customer-specified database schemas and the identity domains to which those database schemas relate. A multi-tenant database system may cause a database service instance for a particular identity domain to use a schema that is mapped to that particular identity domain.

また、マルチテナンシは、Javaサービスなどの他のサービスに拡張可能である。例えば、複数の顧客は、それぞれのアイデンティティドメイン内に配置されたJAVAサービスインスタンスを有し得る。各々のこのようなアイデンティティドメインは、ハードウェアの仮想的な「スライス」と見なされることができるJAVA仮想マシンを有し得る。一実施例では、ジョブモニタリングサービス(例えばハドソン)は、各々の別個のアイデンティティドメインがJAVAエンタプライズ版プラットフォームのそれ自体の別個の仮想的な「スライス」を有することを可能にするように、クラウドにおけるJAVAエンタプライズ版プラットフォーム(例えばオラクルウェブロジック)と組み合わせられてもよい。このようなジョブモニタリングサービスは、例えばオペレーティングシステムの時間ベースのジョブスケジューラによって実行されるソフトウェアプロジェクトまたはジョブの構築などの繰返されるジョブの実行をモニタリングし得る。このような繰返されるジョブは、ソフトウェアプロジェクトの連続的な構築および/またはテストを含んでいてもよい。さらにまたは代替的に、このような繰返されるジョブは、ジョブモニタリングサービスが実行されるマシンから離れたマシン上で実行されるオペレーティングシステム起動ジョブの実行のモニタリングを含んでいてもよい。   Multi-tenancy can be extended to other services such as Java services. For example, multiple customers may have JAVA service instances located within their identity domain. Each such identity domain may have a JAVA virtual machine that can be considered a virtual “slice” of hardware. In one embodiment, a job monitoring service (eg, Hudson) in the cloud to allow each separate identity domain to have its own separate virtual “slice” of the JAVA enterprise platform. It may be combined with a JAVA enterprise version platform (for example, Oracle Web Logic). Such a job monitoring service may monitor the execution of repetitive jobs such as, for example, software projects or job construction executed by an operating system time-based job scheduler. Such repeated jobs may include the continuous construction and / or testing of software projects. Additionally or alternatively, such repeated jobs may include monitoring the execution of an operating system boot job that is executed on a machine remote from the machine on which the job monitoring service is executed.

ポッドプロビジョニングおよびサービスプロビジョニング
いくつかの実施例に従うと、SDIは、サービスのために別個のPODプロビジョニングおよびサービスプロビジョニングを調整することができる。PODは、以下のうちの1つを表わし得る論理エンティティである:(Javaサービスの場合と同様に)予めプロビジョニングされた匿名のシングルテナントデプロイメント;または、(データベースサービスの場合と同様に)複数のテナントのために機能するマルチテナントスタック(物理的または仮想的)。例えば、PODは物理的なスタック上へのサービスのデプロイメントである。PODは1つ以上のサービスインスタンスを収容することができる。PODは先験的に作成することができるか、または、サービスインスタンスが所与の顧客のために作成されるときにオンデマンドで作成することができる。
Pod Provisioning and Service Provisioning According to some embodiments, the SDI can coordinate separate POD provisioning and service provisioning for services. A POD is a logical entity that can represent one of the following: An anonymous single tenant deployment pre-provisioned (as with Java services); or multiple tenants (as with database services) Multi-tenant stack that works for (physical or virtual). For example, POD is the deployment of services on a physical stack. A POD can contain one or more service instances. The POD can be created a priori or can be created on demand when a service instance is created for a given customer.

いくつかの例においては、PODは、サービスを実行させるためのソフトウェアスタックのインスタンス化である。このため、PODを用いてサービスを実行する。例えば、Javaサービスに対応するPODは仮想マシンのスタックを含んでもよい。別の例として、データベースサービスのためのPODは、データベースのインスタンスを含んでもよい。PODは、サービスをホストすることのできるサブシステムと見なされてもよい。異なるポッドを異なるサービスのために用いてもよい。   In some examples, a POD is an instantiation of a software stack to run a service. For this reason, the service is executed using the POD. For example, a POD corresponding to a Java service may include a stack of virtual machines. As another example, a POD for a database service may include an instance of a database. A POD may be viewed as a subsystem that can host a service. Different pods may be used for different services.

サービスのためのPODを作成するタスクはPODプロビジョニングと称される。図8Bに示されるように、PODプロビジョニングは、SDIモジュール206によって容易にされ得る。PODプロビジョニングは、ソフトウェアコンポーネントの匿名インスタンスを作成する動作である。インフラストラクチャの観点から、PODは完全にインストールされて有線接続されてもよい。PODは、顧客特有の構成データまたは統合を有さない(例えば、いかなる顧客ストライプにも接続されない)。   The task of creating a POD for a service is called POD provisioning. As shown in FIG. 8B, POD provisioning can be facilitated by the SDI module 206. POD provisioning is an operation that creates an anonymous instance of a software component. From an infrastructure perspective, the POD may be fully installed and wired. The POD has no customer-specific configuration data or integration (eg, not connected to any customer stripe).

物理的なPODプロビジョニングは3つの広範囲の局面を含み得る。
1.サービスの物理的なフットプリントを定義するためのPOD定義スキーマ;
2.サービス特有のプラグインを取込むためのサービス定義スキーマ;ならびに
3.エンタプライズ管理(EM:Entreprise Management)、アイデンティティ管理(IDM:Identity Management)、ユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator)ルーティング、および他のサービス特有の構成を取込むためのサービス構成スキーマ。
Physical POD provisioning can include three broad aspects.
1. POD definition schema for defining the physical footprint of the service;
2. 2. Service definition schema for incorporating service specific plug-ins; Service configuration schema to capture enterprise management (EM), identity management (IDM), Uniform Resource Locator (URL) routing, and other service specific configurations.

各々のサービスのために異なるPODが作成されてもよい。例えば、Javaサービスの場合、PODは、ミドルウェア技術を実行する(例えば、フュージョンミドルウェアを実行する)一組のVMにマップし得る。PODプロビジョニングのために、SDIモジュール206によって別々の自動化フローが用いられてもよい。いくつかの例においては、PODはほぼ完全に仮想的な概念にもなり得る。   Different PODs may be created for each service. For example, in the case of Java services, the POD may map to a set of VMs that execute middleware technology (eg, execute fusion middleware). A separate automation flow may be used by the SDI module 206 for POD provisioning. In some examples, POD can also be an almost completely virtual concept.

PODの一例として、特定の顧客に特定のサービスを提供するためにともに有線接続された一組のデータセンタリソースを含み得る。PODは、共有されるインフラストラクチャにおいて専用のリソースを含み得る。例えば、オラクル・バーチャル・アセンブリ・ビルダ(OVAB:Oracle Virtual Assembly Builder)技術などのVAB技術を用いてデプロイされるサービスの場合、OVABアセンブリはPODである。PODの別の例として、ドメインにJavaアセンブリを構成するVMのコアセットを含み得る。フュージョンアプリケーションの場合、PODは、データベースおよびVMを含み得るフュージョンアプリケーションを特定的にインストールするためだけの一組の仮想マシンであり得る。データベースサービスのために、PODはExadataと、当該Exadata上にDBインスタンスとをともに含み得る。   An example of a POD may include a set of data center resources that are wired together to provide a specific service to a specific customer. A POD may include dedicated resources in a shared infrastructure. For example, in the case of services deployed using VAB technology such as Oracle Virtual Assembly Builder (OVAB) technology, the OVAB assembly is a POD. As another example of POD, a domain may include a core set of VMs that make up a Java assembly. In the case of a fusion application, the POD may be a set of virtual machines that are specifically for installing a fusion application that may include a database and a VM. For database services, a POD can include both Exadata and a DB instance on that Exadata.

図8Aは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIモジュール206によって実行され得る処理を示す簡略化されたフローチャート800を示す。図8Aに示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図8Aに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図8Aに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図8Aに示される処理は、図6に詳細に示されるSDIモジュール206における1つ以上のモジュールによって実行され得る。   FIG. 8A shows a simplified flowchart 800 illustrating processing that may be performed by the SDI module 206 in a cloud infrastructure system according to an embodiment of the present invention. The processing shown in FIG. 8A may be implemented by software (eg, code, instructions, program) executed by one or more processors, hardware, or a combination thereof. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular series of processing steps shown in FIG. 8A is not intended to be limiting. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the invention may perform the above steps in a different order. Furthermore, the individual steps shown in FIG. 8A may include multiple sub-steps that may be performed in various sequences as appropriate to the individual steps. Furthermore, additional steps may be added or deleted depending on the particular application. Those skilled in the art will recognize many variations, modifications and alternatives. In one embodiment, the process shown in FIG. 8A may be performed by one or more modules in SDI module 206 shown in detail in FIG.

フローチャート800は、予めプロビジョニングされた各PODアセンブリのために実行され得る。SDIモジュール206は、管理アルゴリズムおよび選択アルゴリズムを用いてPODをバックグラウンドにおいてプロビジョニングし、次いで、要求が受取られると、特定のテナントのためのPODを決定することができる。例えば、図8Bに示されるように、SDIモジュール206は、顧客オーダーを受取る前にPODを予めプロビジョニングすることができる。サービス要求が受取られると、SDIモジュール206は、次に、図8Aに示されるように、PODに顧客情報を追加し、要求に基づいてPODをカスタマイズすることができる。   The flowchart 800 may be executed for each pre-provisioned POD assembly. The SDI module 206 can provision the POD in the background using management and selection algorithms, and then determine the POD for a particular tenant when a request is received. For example, as shown in FIG. 8B, the SDI module 206 can pre-provision a POD before receiving a customer order. When a service request is received, the SDI module 206 can then add customer information to the POD and customize the POD based on the request, as shown in FIG. 8A.

802において、SDIモジュール206は、一組のサービスからサービスを特定する、顧客からのサブスクリプションオーダー情報を格納することができる。例えば、サブスクリプションオーダー情報は、ストアUI 210からの、データベースサービスについての顧客要求であってもよい。サブスクリプションオーダー情報は顧客特有の構成を含み得る。   At 802, the SDI module 206 can store subscription order information from a customer that identifies a service from a set of services. For example, the subscription order information may be a customer request for a database service from the store UI 210. Subscription order information may include customer specific configurations.

804において、SDIモジュール206は、サブスクリプションオーダー情報に関連付けられたサービスを決定することができる。例えば、SDIモジュール206は、顧客オーダーがデータベースサービスのためのものであると判断することができる。したがって、顧客オーダーが受取られると、SDIモジュール206は、顧客特有のPODを顧客要求にマッピングするために要求されたサービスのタイプを決定する。   At 804, the SDI module 206 can determine a service associated with the subscription order information. For example, the SDI module 206 can determine that the customer order is for a database service. Thus, when a customer order is received, the SDI module 206 determines the type of service required to map the customer specific POD to the customer request.

806において、SDIモジュール206は、予めプロビジョニングされた匿名のデプロイメントをサブスクリプションオーダー情報にマッピングすることができる。予めプロビジョニングされた匿名のデプロイメントはPODであり得る。この明細書中において記載されるように、PODは、特定のサービスのために予めプロビジョニングされ、作成され得る。   At 806, the SDI module 206 can map the pre-provisioned anonymous deployment to subscription order information. The pre-provisioned anonymous deployment can be a POD. As described herein, a POD can be pre-provisioned and created for a specific service.

サービスは、特定の顧客のサブスクリプションにマップすることができる。例えば、サービスは特定の顧客のためのJavaインスタンスであってもよい。サービスインスタンスは、Javaサービスなどの特定のタイプのサービスのための特定のサブスクリプションIDである。サービスインスタンスは特定の顧客に属し得るものであって、ポッド上に存在する。1つのサービスインスタンスだけがシングルテナントPOD上に存在し、複数のインスタンスは複数のテナントPOD上に存在し得る。さらに、サービスインスタンスは常にPODに存在しているが、2つのポッドにまたがることはない。他方で、サービスインスタンスは、単にPODが存在する以上のことを必要とする可能性がある。   Services can be mapped to specific customer subscriptions. For example, the service may be a Java instance for a particular customer. A service instance is a specific subscription ID for a specific type of service, such as a Java service. A service instance can belong to a specific customer and exists on a pod. Only one service instance may exist on a single tenant POD, and multiple instances may exist on multiple tenant PODs. Furthermore, service instances always exist in the POD, but do not span two pods. On the other hand, a service instance may need more than just the presence of a POD.

808において、SDIモジュール206は、予めプロビジョニングされた匿名のデプロイメントを顧客特有の構成で構成することによって、顧客のために特定的にサービスインスタンスを作成することができる。例えば、SDIモジュール206は、パーソナリティインジェクション(personality injection)を用いて顧客特有の構成をPODに導入することができる。サービスプロビジョニングは特定の顧客を特定のPODに結合するプロセスである。これにより、顧客特有の構成がPODに導入される(例えばパーソナリティインジェクション)。PODは、1つ以上のテナントを同時にサポートしてもよい(シングルテナントまたはマルチテナント)。複数のテナントをサポートするPODの場合、複数のパーソナリティがPODにインジェクションされ、それぞれのパーソナリティが、サポートされた各テナントに対応し得る。   At 808, the SDI module 206 can create a service instance specifically for a customer by configuring a pre-provisioned anonymous deployment with a customer-specific configuration. For example, the SDI module 206 can introduce customer specific configuration into the POD using personality injection. Service provisioning is the process of combining a specific customer with a specific POD. This introduces a customer specific configuration into the POD (eg, personality injection). A POD may support one or more tenants simultaneously (single tenant or multi-tenant). For a POD that supports multiple tenants, multiple personalities may be injected into the POD, and each personality may correspond to each supported tenant.

別の実施例に従うと、特定のサービスは複数のPODを用いることができる。例えば、Javaサービスが要求され得る。SDIモジュール206は予めプロビジョニングされた複数のJavaPODを有し得る。要求されたサイズのサービスに基づいて、SDIモジュール206は、要求されたサービスをサポートするために複数のPODが必要であると判断し得る。   According to another embodiment, a particular service can use multiple PODs. For example, a Java service may be requested. The SDI module 206 may have a plurality of pre-provisioned Java PODs. Based on the requested size of service, the SDI module 206 may determine that multiple PODs are needed to support the requested service.

サービスプロビジョニングおよびPODプロビジョニングのプロセスは別個のものであり、互いとは無関係であり、SDIモジュール206によって調整される。これにより、例えば、バックグラウンドにおいてPODプロビジョニングを実行することが可能となる。ポッドの予備的なプール化は、将来の需要を予想するために管理者構成可能なオプションに基づいて行われてもよい。サービスプロビジョニングは、一般に、PODプロビジョニングよりもはるかに高速であり、SDIがTASからオーダーを受取るとオンデマンドで発生する。SDIは、プール化およびレジストレーションを処理している間も、PODプロビジョニングおよびサービスプロビジョニングを調整する。   The service provisioning and POD provisioning processes are separate, independent of each other and coordinated by the SDI module 206. Thereby, for example, POD provisioning can be executed in the background. Preliminary pooling of pods may be based on administrator configurable options to anticipate future demand. Service provisioning is generally much faster than POD provisioning and occurs on demand when the SDI receives an order from the TAS. The SDI coordinates POD provisioning and service provisioning while processing pooling and registration.

ポッドを予めプロビジョニング
いくつかの実施例に従うと、SDIによって処理される完全に自動化されたPODプロビジョニングは、TASからの要求なしにソフトウェアコンポーネントのインスタンスを作成し得る。これは、顧客オーダーに先立って実行されるバックグラウンドアクティビティであり得る。PODをゆっくりと立ち上げることができるので、PODプロビジョニングは事前に完了してしまい、このため、顧客がサービスをオーダーすると、この顧客は、オーダーを速やかに(例えば数秒以内または数分以内に)受取ることができる。PODは、1つ以上のテナントを同時にサポートし得る(シングルテナントまたはマルチテナント)。これらのプロセスは、PODプロビジョニングがバックグラウンドにおいて実行され得るように独立している。ポッドの予備的なプール化は、将来の需要を予想するために管理者構成可能なオプションに基づいている。
Pre-provisioning pods According to some embodiments, fully automated POD provisioning handled by SDI may create instances of software components without a request from TAS. This can be a background activity performed prior to customer ordering. Since POD can be launched slowly, POD provisioning is completed in advance, so when a customer orders a service, the customer receives the order promptly (eg within seconds or minutes) be able to. A POD may support one or more tenants simultaneously (single tenant or multi-tenant). These processes are independent so that POD provisioning can be performed in the background. Preliminary pooling of pods is based on administrator configurable options to anticipate future demand.

リソースが少なくなれば、SDIモジュール206は新しいPODを作成することができる。後に説明されるように、Min_Usedしきい値を用いることにより、SDIモジュール206は使用および割り当てをモニタリングすることができる。モニタリングに基づいて、SDIは新しいPODを予めプロビジョニングすることができる。   With fewer resources, the SDI module 206 can create a new POD. As will be explained later, by using the Min_Used threshold, the SDI module 206 can monitor usage and allocation. Based on the monitoring, the SDI can pre-provision a new POD.

例えば、SDIタイマジョブが実行され、所与のサービスサイズ(ベーシック、標準、エンタプライズ)のための自由なアセンブリの数が現在の構成において規定されるMin_Usedしきい値を下回ったことをSDIモジュール206に通知すると、しきい値に達するまで追加のアセンブリを予めプロビジョニングすることができる。   For example, the SDI timer job is executed and the number of free assemblies for a given service size (basic, standard, enterprise) falls below the Min_Used threshold specified in the current configuration. , Additional assemblies can be pre-provisioned until a threshold is reached.

図8Bは、本発明の実施例に係るクラウドインフラストラクチャシステムにおけるSDIモジュール206によって実行され得る処理を示す簡略化されたフローチャート850を示す。図8Bに示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(例えばコード、命令、プログラム)、ハードウェアまたはそれらの組み合わせで実現されてもよい。ソフトウェアは、(例えばメモリ装置、非一時的なコンピュータ読取可能記憶媒体上の)メモリに格納されてもよい。図8Bに示される特定の一連の処理ステップは、限定的であるよう意図されるものではない。他のステップのシーケンスも代替的な実施例に従って実行されてもよい。例えば、本発明の代替的な実施例は、異なる順序で上記のステップを実行してもよい。さらに、図8Bに示される個々のステップは、個々のステップに適切であるようにさまざまなシーケンスにおいて実行され得る複数のサブステップを含んでいてもよい。さらに、特定のアプリケーションに応じて、さらなるステップが追加または削除されてもよい。当業者は、多くの変更例、変形例および代替例を認識するであろう。一実施例では、図8Bに示される処理は、図6に詳細に示されるSDIモジュール206における1つ以上のモジュールによって実行され得る。   FIG. 8B shows a simplified flowchart 850 illustrating processing that may be performed by the SDI module 206 in a cloud infrastructure system according to an embodiment of the present invention. The processing illustrated in FIG. 8B may be implemented by software (eg, code, instructions, program) executed by one or more processors, hardware, or a combination thereof. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular series of processing steps shown in FIG. 8B is not intended to be limiting. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the invention may perform the above steps in a different order. Furthermore, the individual steps shown in FIG. 8B may include multiple sub-steps that may be performed in various sequences as appropriate to the individual steps. Furthermore, additional steps may be added or deleted depending on the particular application. Those skilled in the art will recognize many variations, modifications and alternatives. In one embodiment, the process shown in FIG. 8B may be performed by one or more modules in SDI module 206 shown in detail in FIG.

フローチャート850は、各々の予めプロビジョニングされたアセンブリのために実行することができる。アセンブリはPODの一種である。例えば、アセンブリは、作成のためにOVABによって用いられる特有の技術である。OVABはアセンブリを作成するかまたはアセンブリをデプロイする。Min_usedしきい値に達するまで、または、タイマジョブがオペレータによって中断されるまで、無期限にPODを予めプロビジョニングし続けることができる。   The flowchart 850 can be executed for each pre-provisioned assembly. An assembly is a type of POD. For example, assembly is a unique technique used by OVAB for creation. OVAB creates or deploys an assembly. The POD can continue to be preprovisioned indefinitely until the Min_used threshold is reached or until the timer job is interrupted by the operator.

加えて、障害がいずれかのステップで起これば、先行するオペレーションを巻き戻すことができる。次いで、SDIモジュール206はシーケンスを再試行することができる。   In addition, if a failure occurs at any step, the previous operation can be rewound. The SDI module 206 can then retry the sequence.

852において、SDIモジュール206は、PODアセンブリを予めプロビジョニングするためにIPアドレスを獲得することができる。例えば、8つのIPアドレス(例えばFRONTENDから4つ、BACKENDから4つ)は、SDIデータベースに保存することができる。オペレーションはアトミックレベルであり得る。いくつかの例においては、システムが十分なIPアドレスを有していない場合、管理者はより多くの容量を環境に追加することができる。   At 852, the SDI module 206 can obtain an IP address to pre-provision the POD assembly. For example, 8 IP addresses (eg, 4 from Frontend and 4 from BACKEND) can be stored in the SDI database. Operations can be at the atomic level. In some examples, if the system does not have enough IP addresses, the administrator can add more capacity to the environment.

854において、SDIモジュールは、バーチャル・アセンブリ・ビルダ・ホーム(例えばオラクルバーチャル・アセンブリ・ビルダ(OVAB))を作成することができる。例えば、新しいディレクトリはルート(例えばovab.virtual.root)ディレクトリ下で作成することができ、さまざまなsymlinkは、ホームディレクトリ(例えばovab.master.home)まで作成し直すことができる。ホームディレクトリは、シングルデプロイメントのためにバーチャル・アセンブリ・ビルダ・ホームとして用いることができる。これにより、ロッキング問題を起こすことなく、SDIモジュール206がバーチャル・アセンブリ・ビルダ(例えばOVAB)オペレーションを並行して実行することが可能となる。   At 854, the SDI module can create a virtual assembly builder home (eg, Oracle Virtual Assembly Builder (OVAB)). For example, a new directory can be created under the root (eg, ovab.virtual.root) directory, and various sylinks can be recreated up to the home directory (eg, ovab.master.home). The home directory can be used as a virtual assembly builder home for single deployment. This allows the SDI module 206 to execute virtual assembly builder (eg OVAB) operations in parallel without causing locking problems.

856において、SDIモジュール206は、新しいバーチャル・アセンブリ・ビルダ(例えばOVAB)ホームにデプロイメントプラン(例えばdeploymentPlan.xml)ファイルを作成することができる。デプロイメントプランは、デプロイメントのためにバーチャル・アセンブリ・ビルダ(例えばOVAB)によってデプロイされた仮想マシン(VM)にインジェクションされることとなるIPアドレス、ネットワークファイル共有(NFS:network file sharing)マウント、およびVMブリッジ名などの、但しこれらに限定されない構成情報を含み得る。   At 856, the SDI module 206 can create a deployment plan (eg, deploymentPlan.xml) file in a new virtual assembly builder (eg, OVAB) home. A deployment plan is an IP address, a network file sharing (NFS) mount, and a VM that will be injected into a virtual machine (VM) deployed by a virtual assembly builder (eg OVAB) for deployment. It may include configuration information such as, but not limited to, a bridge name.

858において、SDIモジュール206はZFSボリュームを作成することができる。ZFSは複合型ファイルシステムおよび論理ボリュームマネージャである。ZFSの特徴は、データ破損からの保護、高記憶容量のサポート、ファイルシステムおよびボリューム管理の概念の統合、スナップショットおよびコピー・オン・ライトクローン、連続的な完全性のチェックおよび自動修復を含む。例えば、3ボリューム分がデプロイメントのためにZFSファイラにおいて作成される。これらボリュームはこのデプロイメントの一部としてブートされた各々のVMに搭載される。   At 858, the SDI module 206 can create a ZFS volume. ZFS is a complex file system and logical volume manager. ZFS features include protection from data corruption, high storage capacity support, integration of file system and volume management concepts, snapshots and copy-on-write clones, continuous integrity checking and automatic repair. For example, 3 volumes are created in the ZFS filer for deployment. These volumes are mounted on each VM booted as part of this deployment.

860において、SDIモジュール206は、アセンブリをデプロイするためのデプロイコマンド(例えば、abctl deploy)を発行し得る。例えば、デプロイコマンドはVMマネージャによって1つ〜4つのVMをブートすることができる。   At 860, the SDI module 206 may issue a deploy command (eg, abctl deploy) to deploy the assembly. For example, the deploy command can boot one to four VMs by the VM manager.

862において、SDIモジュール206は、SDIデータベースにおいてアセンブリをフリーに設定することができる。例えば、SDIモジュール206は、PRE_PROV_JAVA_ASSEMBLY行のためにUSED=0を設定することができる。これは、PODアセンブリが、サービスインスタンスに割り当てられるように読み出されることを示す。   At 862, the SDI module 206 can set the assembly free in the SDI database. For example, the SDI module 206 can set USED = 0 for the PRE_PROV_JAVA_ASSEMBLY line. This indicates that the POD assembly is read to be assigned to the service instance.

先に述べたように、PODをゆっくりと立ち上げることができるので、PODアセンブリは事前に完了し、このため、顧客がサービスをオーダーすると、この顧客は、オーダーを速やかに(例えば、数秒以内または数分以内に)受取ることができる。ポッドの予備的なプール化は、将来の需要を予想するために管理者構成可能なオプション(例えば、Min_Usedしきい値)に基づいている。   As mentioned earlier, the POD can be launched slowly so that the POD assembly is completed in advance, so when a customer orders a service, the customer promptly places the order (eg within a few seconds or Within a few minutes). Preliminary pooling of pods is based on an administrator configurable option (eg, Min_Used threshold) to anticipate future demand.

サービスインスタンスの作成
SDIモジュール206はサービスインスタンスの作成および破壊を自動化し、また、試行期間満了などの特定のビジネス活動をサポートするためにサービスインスタンスのモニタリング能力を提供する。
Service Instance Creation The SDI module 206 automates the creation and destruction of service instances and provides service instance monitoring capabilities to support specific business activities such as expiration of trial periods.

サービスインスタンス作成APIは、新しいシステムおよび/またはサービスインスタンスを作成するために用いることができる。サービスインスタンス作成APIは、そのシステムに属する1つ以上のサービスインスタンスとともに新しいシステムを作成するのに用いることができるか、または、既存のシステムに対する1つ以上のサービスインスタンスを作成するのに用いることができる。APIは非同期であり得る。なぜなら、APIは、実施に関する我々の決断と、解決するのに手動での介入を必要とする潜在的な障害とに応じて数分または数時間かかる長期間続くオペレーションとなる可能性があるからである。したがって、このAPIはその引数のうちの1つとしてコールバックアドレスを採用することができる。コールの即時リターン値は、単に、要求の履行期間にわたる特定のための要求を特定する要求IDであってもよい。要求の結果は、提供されるアドレスにコールバックすることによって与えることができる。コールバックが応答本体でなされると、要求によって作成されたシステムおよびサービスインスタンスは完全に操作可能となり使用の準備ができた状態になり得る。   The service instance creation API can be used to create a new system and / or service instance. The service instance creation API can be used to create a new system with one or more service instances belonging to the system, or can be used to create one or more service instances for an existing system. it can. The API can be asynchronous. Because APIs can be long-lasting operations that take minutes or hours depending on our implementation decisions and potential obstacles that require manual intervention to resolve. is there. Therefore, this API can adopt a callback address as one of its arguments. The immediate return value of the call may simply be a request ID that identifies a request for identification over the fulfillment period of the request. The result of the request can be given by calling back to the provided address. When a callback is made on the response body, the system and service instances created by the request can be fully operational and ready for use.

コールバックアドレスおよびサービスオーダードキュメントはサービスインスタンス作成APIのための入力である。コールバックアドレスはオペレーションが完了したときにTASにコールバックするためのアドレスであり得る。サービスオーダードキュメントは、TASシステムによって処理されるオーダーを記述するXMLドキュメントであり得る。サービスオーダードキュメントは以下の情報を与えることができる:
・コールバックアドレス:オペレーションが完了したときにTASにコールバックするためのアドレス。
The callback address and service order document are inputs for the service instance creation API. The callback address may be an address for calling back to the TAS when the operation is completed. The service order document may be an XML document that describes an order that is processed by the TAS system. The service order document can give the following information:
Callback address: An address for calling back to the TAS when the operation is completed.

・システム名:新しいシステムまたは既存のシステムについての名前。システム名は、この値が共有のIDMインスタンス内でテナンシ名に用いられることとなるので、クラウドアーキテクチャ全体にわたって一意的であり得る。   System name: name for a new or existing system. The system name can be unique across the cloud architecture because this value will be used for the tenancy name within the shared IDM instance.

・新しいシステムインジケータであるか:これが新システムを作成するオーダーであるかまたはサービスインスタンスを既存のシステムに追加するオーダーであるかどうかを示すブール値。   Is this a new system indicator: a Boolean value that indicates whether this is an order to create a new system or an order to add a service instance to an existing system.

・(任意)システム管理ユーザ名:新しいシステムが作成されている場合に作成されるべきシステム/テナンシ管理者アカウントの名前。   • (Optional) System Admin User Name: The name of the system / tenancy administrator account that should be created when a new system is created.

・サービスインスタンスオーダーのリスト:1−Nシステムインスタンスオーダー。この場合、各々のシステムインスタンスオーダーは以下を含む。   Service instance order list: 1-N system instance order. In this case, each system instance order includes:

−サービスインスタンス名:作成されるべきサービスインスタンスの名前。
システムインスタンス名は、所与のシステム内において一意的である。
-Service instance name: The name of the service instance to be created.
System instance names are unique within a given system.

−管理ユーザ名:このサービスインスタンスのために作成されるべきサービスインスタンス管理者アカウントの名前。     Admin user name: The name of the service instance administrator account to be created for this service instance.

−サービスインスタンスタイプ:FA CRM、FA HCM、Java、WCC、APEXなどの作成されるべきサービスのタイプ。     -Service instance type: the type of service to be created, such as FACRM, FA HCM, Java, WCC, APEX.

−サービスインスタンスサイズ:小/中/大。全てのサービスインスタンスはここではサイズについての何らかの概念を有する。     -Service instance size: small / medium / large. All service instances now have some notion of size.

−サービス特有のプロパティ:作成されているサービスのタイプに特有の一組のプロパティ。     Service specific properties: A set of properties specific to the type of service being created.

サービスオーダー履行ドキュメントはサービスインスタンス作成APIのための出力であり得る。上述のように、この非同期コールからのリターン値は、その持続期間中にこの要求を追跡するために用いることができる要求idであり得る。要求に対する応答は、入力として与えられるコールバックアドレスに対してコールバックとして送ることができる。サービスオーダー履行ドキュメントは以下の情報を含むXMLドキュメントであり得る。   The service order fulfillment document may be the output for the service instance creation API. As described above, the return value from this asynchronous call may be a request id that can be used to track this request during its duration. The response to the request can be sent as a callback to the callback address given as input. The service order fulfillment document may be an XML document that includes the following information:

・要求id:元のAPIコールに同期的に戻される要求id。
・システム名:この要求によって生成または追加されるシステム名。
Request id: Request id returned synchronously to the original API call.
System name: The system name generated or added by this request.

・(任意)システム/テナンシ管理ユーザ名および仮パスワード:この要求により新しいシステムが作成された場合、これらの値は応答の一部として返すことができる。これらの値は、要求により結果的に単に既存のシステムに新しいサービスが追加されただけであった場合には返されない可能性がある。   (Optional) System / Tenancy Management Username and Temporary Password: If a new system is created with this request, these values can be returned as part of the response. These values may not be returned if the request only results in a new service being added to the existing system.

・(任意)システムIDMコンソールURL:この要求により新しいシステムが作成される場合、このシステムのためのIDMコンソールについてのURLを返すことができる。   (Optional) System IDM console URL: If this request creates a new system, the URL for the IDM console for this system can be returned.

・サービスインスタンスオーダーのリスト:各々のサービスインスタンスオーダーは以下を含む。   Service instance order list: Each service instance order includes:

−サービスインスタンス名:作成されたサービスインスタンスの名前。
−サービスインスタンス管理ユーザ名および仮パスワード:サービスインスタンス管理アカウント情報。
-Service instance name: The name of the created service instance.
-Service instance management user name and temporary password: Service instance management account information.

−(任意)サービスインスタンス管理URL:サービスのために適用可能である場合、サービスインスタンスのための管理コンソールに対するURL。例えば、Javaサービスの場合、これは、JavaサービスのためのEMコンソールにつながるURLとなるはずである。     -(Optional) Service instance management URL: URL to the management console for the service instance, if applicable for the service. For example, in the case of a Java service, this should be a URL that leads to an EM console for the Java service.

−サービスインスタンスURL:ユーザをそれらの新しく作成されたサービスインスタンスに導くURL。     Service instance URL: URL that directs users to their newly created service instance.

加えて、SDIモジュール206は、サービスインスタンスを予めデプロイして関連付ける能力を有し得る。さまざまなサービスインスタンスをデプロイするのに必要な時間の長さに応じて、アセンブリがこれらのサービスのために予めデプロイされてもよい。したがって、ユーザがサービスインスタンスを要求する場合、SDIモジュール206が行うべきことは、いずれかのユーザ特有の「パーソナリティ」をアセンブリに入れてそれをユーザに返すことである。   In addition, the SDI module 206 may have the ability to pre-deploy and associate service instances. Depending on the length of time required to deploy the various service instances, the assembly may be pre-deployed for these services. Thus, when a user requests a service instance, what the SDI module 206 should do is put any user-specific “personality” into the assembly and return it to the user.

要求フローのプロビジョニング
顧客がオーダーを要求すると、SDIプロビジョニング要求が、単一のSOAPオペレーション時にTASによって要求される。プロビジョニング要求は、1バンドルのシステム/サービス作成、読出、更新および削除(CRUD)オペレーションを含み得る。プロビジョニング要求は、その要求Idによって一意的に特定することができる。
Request Flow Provisioning When a customer requests an order, an SDI provisioning request is requested by the TAS during a single SOAP operation. A provisioning request may include a bundle of system / service create, read, update and delete (CRUD) operations. The provisioning request can be uniquely specified by the request Id.

図9はいくつかの実施例に係るプロビジョニング要求フローを示す。例えば、プロビジョニング要求は、TASモジュール204によって開始させることができる。902において、TASモジュール204は、関連するプロビジョニングSOAPオペレーション(CRUD)を呼び出し、SOAP要求を送ることによって要求idを設定することができる。904において、SOAP要求を受取ると、SDIは、HTTP202コードで応答することができ、要求を非同期的に処理し始める。加えて、906において、SDIモジュール206は、最初に、これが、要求Idによって決定され得る新しい要求であるかどうかをチェックすることができる。906でチェックすることにより、同じ要求(すなわち同じ要求Idを備えた要求)が再処理されるのを防ぐ(例えば、要求が再提出されると、アドレスに「対する応答」および「相関ID」値(TASコールバックのために用いられる)がその最新のSOAP要求の値に更新される)。   FIG. 9 illustrates a provisioning request flow according to some embodiments. For example, a provisioning request can be initiated by the TAS module 204. At 902, the TAS module 204 can set the request id by invoking the associated provisioning SOAP operation (CRUD) and sending a SOAP request. At 904, upon receiving a SOAP request, the SDI can respond with an HTTP 202 code and begin processing the request asynchronously. In addition, at 906, the SDI module 206 can first check whether this is a new request that can be determined by the request Id. Checking at 906 prevents the same request (ie, a request with the same request Id) from being reprocessed (eg, when the request is resubmitted, the “response to” and “correlation ID” values for the address. (Used for TAS callback) is updated to the value of its most recent SOAP request).

要求が新しくない場合、908において、SDIモジュール206は、(例えば既存のSDIデータベースエントリからの)要求状態をチェックする。例えば、状態が「完了している」場合、要求はそのときまでに処理できている。次いで、910において、SDIモジュール206は関連するTAS「orderCompleteCallback」を呼び出すことができる。代替的には、状態が「キャンセルされる」場合、要求はそのときまでには処理できていない。次いで、912において、SDIモジュール206は、障害情報で、関連するTAS「onFaultCallback」を呼び出すことができる。   If the request is not new, at 908, the SDI module 206 checks the request status (eg, from an existing SDI database entry). For example, if the status is “complete”, the request has been processed by that time. The SDI module 206 can then call the associated TAS “orderCompleteCallback” at 910. Alternatively, if the state is “cancelled”, the request has not been processed by that time. Then, at 912, the SDI module 206 can call the associated TAS “onFaultCallback” with the fault information.

要求が新しい場合、914において、要求が引き続き処理される。TASモジュール204は、処理がいつ完了するかを通知することができる。SDIモジュール206は要求を確認することができる。例えば、入力確認、状態確認および確認のロックなどの3つの確認カテゴリがあってもよい。916において、要求が無効であれば、SDIモジュール206は、関連する障害情報でTAS「onFaultCallback」を呼び出すことができる。   If the request is new, at 914, the request continues to be processed. The TAS module 204 can notify when processing is complete. The SDI module 206 can confirm the request. For example, there may be three confirmation categories such as input confirmation, status confirmation and confirmation lock. If the request is invalid at 916, the SDI module 206 can call the TAS “onFaultCallback” with the associated fault information.

要求が有効であれば、918において、SDIモジュールは新しい要求を作成し、状態を設定して準備する。SDIモジュール206は要求の実行を開始し、実行し続ける。例えば、タスクキューにおける次のタスクが実行され、その後、次のタスクが実行されるなどして、全てのタスクが完了するまで続けられる。   If the request is valid, at 918, the SDI module creates a new request, sets the state, and prepares. The SDI module 206 starts executing the request and continues to execute. For example, the next task in the task queue is executed, and then the next task is executed, and so on until all tasks are completed.

920において、この要求に関連付けられる全てのタスクが実行できた場合、SDIモジュール206は、オーダーの履行により、関連するTAS「orderCompleteCallback」を呼び出すことができる。   If, at 920, all tasks associated with this request have been performed, the SDI module 206 can call the associated TAS “orderCompleteCallback” upon fulfillment of the order.

エラーシナリオにおいては、要求が完了せず、シングルタスクが失敗した場合、要求中のそれ以降のタスクが実行されない可能性がある。922において、SDIモジュール206は、エラーが回復可能であるかどうかを判断することができる。924において、エラーが回復不可能である場合、要求状態がキャンセルされた状態に変更され、SDIモジュール206は、関連する障害情報でTAS「onFaultCallback」を呼び出すことができる。加えて、SDIモジュール206は、内部エラーキューにエントリを追加することができる。このキューは、ダッシュボードを更新して管理者に警告電子メールを送るために、EMモジュール208によってポーリングされることとなる。926において、エラーが回復可能である場合、SDIモジュール206は、状態を一時停止状態に変更し、その状態から停止された状態に変更することができる。加えて、SDIモジュール206は、内部エラーキューにエントリを追加することができる。このキューは、ダッシュボードを更新して管理者に警告電子メールを送るために、EMモジュール208によってポーリングされることとなる。   In the error scenario, if the request is not completed and the single task fails, the subsequent task in the request may not be executed. At 922, the SDI module 206 can determine whether the error is recoverable. If the error is unrecoverable at 924, the request state is changed to a canceled state and the SDI module 206 can call the TAS “onFaultCallback” with the associated fault information. In addition, the SDI module 206 can add entries to the internal error queue. This queue will be polled by the EM module 208 to update the dashboard and send an alert email to the administrator. If the error is recoverable at 926, the SDI module 206 can change the state to a paused state and change from that state to a stopped state. In addition, the SDI module 206 can add entries to the internal error queue. This queue will be polled by the EM module 208 to update the dashboard and send an alert email to the administrator.

サービスについての新しい要求がSDIモジュール206によって受取られて確認されると、SDIモジュール206が要求されたサービスをプロビジョニングする。図10は、いくつかの実施例に係るプロビジョニング例の詳細なフローを示す。プロビジョニングプロセスはSDIモジュール206によって管理される。   When a new request for a service is received and confirmed by the SDI module 206, the SDI module 206 provisions the requested service. FIG. 10 shows a detailed flow of an example provisioning according to some embodiments. The provisioning process is managed by the SDI module 206.

例えば、TASは、BPELプロセス内からシステムプロビジョニングモジュールと統合することができる。具体的には、システムプロビジョニングインターフェイスを非同期的なSOAPベースのWebサービスコールとして公開することができ、さまざまなライフサイクルオペレーションのためのTAS BPELプロセスが直接システムプロビジョニングエンドポイントをコールしてプロビジョニングタスクを実行することができる。   For example, TAS can be integrated with the system provisioning module from within the BPEL process. Specifically, the system provisioning interface can be exposed as an asynchronous SOAP-based web service call, and the TAS BPEL process for various lifecycle operations directly calls the system provisioning endpoint to perform provisioning tasks can do.

加えて、システムプロビジョニングは、コールバックAPIを用いて、成功についての結果をBPELプロセスに送信することができるか、または、オペレーションが障害のために失敗したことをBPELプロセスに通知することができる。コールバックを受取ると、BPELプロセスは、その結果を用いてその通常のフローを継続するか、または障害を処理する障害ポリシーに従う。   In addition, system provisioning can use a callback API to send a result of success to the BPEL process or notify the BPEL process that the operation failed due to a failure. Upon receipt of the callback, the BPEL process either continues its normal flow with the result or follows a fault policy that handles the fault.

Javaサービスおよびデータベースサービスのプロビジョニング例
図10は、顧客のためにJavaサービスおよびデータベースサービスをともにプロビジョニングするエンド・ツー・エンドフローを示す。例えば、1050において、顧客は試験的なサブスクリプションをオーダーすることができる。クラウドUIを用いる顧客は、サインアップしてJavaサービスを無料で試用することができる。クラウドUIは、PLSQLコールを行ってオーダーを提出することができる。この場合、このコールは、Javaサービスサブスクリプションおよびデータベースサービスサブスクリプションを含む2つの異なるサブスクリプションのためのものであってもよく、PLSQLを介してTASモジュール204に提出され得る。
Example of Provisioning Java and Database Services FIG. 10 shows an end-to-end flow for provisioning both Java and database services for a customer. For example, at 1050, the customer can order a trial subscription. Customers using the cloud UI can sign up and use the Java service for free. The cloud UI can submit an order by making a PSQL call. In this case, this call may be for two different subscriptions, including a Java service subscription and a database service subscription, and may be submitted to the TAS module 204 via PSQL.

1055において、オンボードを開始することができ、TASモジュールはテナントコールを作成することができる。テナントにおいて、サービスタイプおよびサイズがパスされ得る。この例においては、オーダーがJavaおよびデータベースサービスのためのものあるので、2つのタイプが存在し得る。トライアル用の対応するサイズは等しく小さいものであってもよい。代替的には、オーダーが支払済みオーダーであった場合、サイズがより大きくてもよい。作成テナントコールはプロビジョニングのためのSDIモジュール206に渡される。   At 1055, onboarding can begin and the TAS module can create a tenant call. At the tenant, the service type and size can be passed. In this example, there are two types as orders are for Java and database services. The corresponding size for the trial may be equally small. Alternatively, the size may be larger if the order was a paid order. The created tenant call is passed to the SDI module 206 for provisioning.

1060において、ローカルの候補マシンのループコールにより、SDIモジュール206が利用可能なリソースを参照して、場合によっては、予めプロビジョニングされたPODを見つけることを可能にする。サービスタイプに応じて、リソースは予めプールされて、既に大部分がセットアップされていた可能性がある。代替的には、サービスが予めプロビジョニングされていなかった場合、SDIモジュール206は要求されたサービスをプロビジョニングするために最初から始めなければならないかもしれない。例えば、Javaサービスの場合、SDIモジュール206は、PODを予めプロビジョニングすることをサポートすることができる。この場合、仮想マシンを作成し、これらを立ち上げる作業は全て事前に終わっている。したがって、顧客要求を受取ると、SDIモジュール206は、単に、パーソナリティインジェクションというより小さなステップを有するだけとなる。パーソナルインジェクションは、ランタイムで、予めプロビジョニングされたPODを特定の顧客のための構成でカスタマイズすることを含む。データベースサービスのために、SDIモジュール206は顧客フットプリントをオンデマンドで作成することができる。他方では、顧客フットプリントは、データベースサービスが既存のデータベース内のスキーマを用いているので、極めて仮想的なフットプリントになり得る。フュージョンアプリケーションの場合、パーソナリティインジェクションは、特定の顧客の詳細と一致させるために構成を接続し直すことを含み得る。この例においては、SDIモジュール206は、Javaサービスのために予めプロビジョニングされた既存のVMを選択し得るか、または、新しいJavaサービスをプロビジョニングし得るが、これは、新しいVMを立ち上げるために十分なリソースを有するラックの選択を含む。   At 1060, a loop call of a local candidate machine allows the SDI module 206 to reference available resources and possibly find a pre-provisioned POD. Depending on the service type, the resources may have been pre-pooled and already largely set up. Alternatively, if the service has not been pre-provisioned, the SDI module 206 may have to start from scratch to provision the requested service. For example, in the case of a Java service, the SDI module 206 can support preprovisioning a POD. In this case, all of the tasks of creating virtual machines and starting them up have been completed in advance. Thus, upon receiving a customer request, the SDI module 206 simply has a smaller step of personality injection. Personal injection involves customizing a pre-provisioned POD with a configuration for a particular customer at runtime. For database services, the SDI module 206 can create customer footprints on demand. On the other hand, the customer footprint can be a very virtual footprint because the database service uses a schema in an existing database. In the case of a fusion application, personality injection may include reconnecting the configuration to match specific customer details. In this example, the SDI module 206 may select an existing VM that has been pre-provisioned for Java services, or it may provision a new Java service, which is sufficient to launch a new VM. Including the selection of racks with the right resources.

1065においては、SDIモジュール206はレジストリを更新し得る。SDIモジュール206は、基礎をなす仮想マシンマネージャおよび仮想マシンプールを追跡し続けるために物理的なハードウェアリソースをオンボードで記録することができる。加えて、SDIモジュールは、作成されたアセンブリおよびVMを全て追跡し続けることができ、かつ、それらが、例えば、特定の顧客サブスクリプションに結合される顧客またはアセンブリには割り当てられていない匿名のアセンブリであるかどうかを追跡し続けることができる。   At 1065, the SDI module 206 may update the registry. The SDI module 206 can record on-board physical hardware resources to keep track of the underlying virtual machine manager and virtual machine pool. In addition, the SDI module can keep track of all created assemblies and VMs, and anonymous assemblies that are not assigned to customers or assemblies that are bound to a particular customer subscription, for example. You can keep track of whether or not.

1070において、ビルドIDはオンボード層に戻っていく。これにより、特定の要求のためにシステムまたはサービスが作成されていることをTASモジュール204に通知することができる。TASモジュールは、プロビジョニングが完了しているかどうかを非同期的に判断することができる。1075において、TASモジュール204は、SDIモジュール206をポーリングし、特定の要求が完了しているかどうかをチェックすることができる。代替的には、TASモジュール204による非同期的なSOAP要求により、TAS204がコールバックを待っている場合に要求が完了しているかどうかを判断することもできる。   At 1070, the build ID returns to the onboard layer. This can notify the TAS module 204 that a system or service has been created for a particular request. The TAS module can asynchronously determine whether provisioning is complete. At 1075, the TAS module 204 can poll the SDI module 206 to check if a particular request is complete. Alternatively, an asynchronous SOAP request by the TAS module 204 can determine if the request is complete when the TAS 204 is waiting for a callback.

1080において、SDIモジュールは、API(例えばOVAB Java API)を用いて、ウェブロジックサーバ(WLS)アセンブリをデプロイすることができる。例えば、OVABは、アセンブリにおいて個々のVMを作成するために、内部でVMマネージャにコールすることができる。加えて、OVABは、全体的なWLSドメイントポロジーをVMにサポートさせるために、複数のVMをインターフェイスするための複数のVMがある場合に追加のロジックを有することができる。1080および1085において、SDIモジュール206は、WLSマシンプールおよびDBマシンプールを作成することができる。WLSアセンブリが実際にデプロイされて、VMマネージャを介して、さらにOVABを介して戻すことができれば、SDIモジュールは匿名のアセンブリが作成されたと判断することができる。   At 1080, the SDI module can deploy a web logic server (WLS) assembly using an API (eg, OVAB Java API). For example, OVAB can internally call a VM manager to create individual VMs in the assembly. In addition, OVAB can have additional logic when there are multiple VMs to interface multiple VMs to allow the VM to support the overall WLS domain topology. At 1080 and 1085, the SDI module 206 can create a WLS machine pool and a DB machine pool. If the WLS assembly is actually deployed and can be returned via the VM manager and then back via OVAB, the SDI module can determine that an anonymous assembly has been created.

加えて、匿名のアセンブリはNuviaqベースのパーソナリティインジェクションに組込むことができる。例えば、SDIモジュール206は、Nuviaqコネクタをコールし、物理的な詳細および顧客特有の詳細を渡して、Nuviaqが実行中のVMに対してランタイムコールを行えるようにすることができる。Nuviaqは、顧客特有の情報(例えば、顧客によって選択された、URLへのアイデンティティドメイン名)と一致させるためにウェブロジックドメインを再構成することができる。   In addition, anonymous assemblies can be incorporated into Nuviaq-based personality injection. For example, the SDI module 206 can call a Nuviaq connector and pass physical details and customer-specific details to allow Nuviaq to make runtime calls to the running VM. Nuviaq can reconfigure the web logic domain to match customer specific information (eg, the identity domain name to the URL selected by the customer).

1085において、SDIモジュール206はデータベースサービスをプロビジョニングすることができる。例えば、データベースサービスは、Exadataハードウェア上に予め構成することができるExadataハードウェア・データベース・インスタンスによって支援され得る。図12にさらに記載されるように、各々のインスタンスは多くの顧客をサポートすることができる。SDIモジュール206は、DBサービス自体にExadataを登録し、ExadataPODを管理することができる。さらに、SDIモジュール206は、APEXコネクタを用いて、データベースサービスをプロビジョニングすることができる。APEXはデータベースの上にあるアプリケーション・エクスプレス・プログラミング・エンジンである。SDIモジュール206は、データベースをプロビジョニングするために、データベースサービスのサイズ、顧客アイデンティティドメイン名などの関連情報をAPEXコネクタに渡すことができる、次いで、APEXコネクタは、実行中に顧客のために追加のスキーマおよびテーブル領域を割り当てることができる。加えて、特定のExadataマシンは、負荷、サイジングなどに基づいて選択されてもよい。実際のスキーマは、スキーマに対する接続情報を含み得るSDIモジュール206に戻される。SDIモジュール206は、ランダムなクレデンシャルを生成し、このクレデンシャルをTASモジュール204に返す。   At 1085, the SDI module 206 can provision a database service. For example, the database service can be supported by an Exadata hardware database instance that can be pre-configured on Exadata hardware. As further described in FIG. 12, each instance can support many customers. The SDI module 206 can register Exadata in the DB service itself and manage ExadataPOD. Further, the SDI module 206 can provision database services using an APEX connector. APEX is an application express programming engine that sits on top of a database. The SDI module 206 can pass relevant information such as the size of the database service, customer identity domain name, etc. to the APEX connector to provision the database. The APEX connector can then add additional schema for the customer during execution. And table space can be allocated. In addition, a particular Exadata machine may be selected based on load, sizing, etc. The actual schema is returned to the SDI module 206, which can include connection information for the schema. The SDI module 206 generates a random credential and returns this credential to the TAS module 204.

1090において、SDIモジュール206はソフトHTTPサーバ(例えばOHS)の再始動を開始させることができる。SDIモジュール206は、OHSのソフトな再始動を必要とし得る特有の顧客のために特有の結合でもって構成ファイルを動的に生成し得る。ソフトな再始動により、全てのインフライト要求が再始動前に完了することを可能にする。OHSが再開されると、ルーティング層を介するPODへのインバウンド・トラフィックが実現可能となる。   At 1090, the SDI module 206 can initiate a restart of the soft HTTP server (eg, OHS). The SDI module 206 can dynamically generate a configuration file with specific bindings for specific customers that may require a soft restart of the OHS. Soft restart allows all in-flight requests to be completed before restart. When OHS is resumed, inbound traffic to the POD through the routing layer can be realized.

1095において、要求されたサービスおよび生成されたパスワードのために、応答が、URLでもってTASモジュール204に送り返される。パスワードは、サービス管理者であってもよく、または、サービス環境にアクセスするための電子メールを介して顧客に与えることができるアイデンティティドメイン管理者パスワードであってもよい。   At 1095, a response is sent back to the TAS module 204 with a URL for the requested service and the generated password. The password may be a service administrator or may be an identity domain administrator password that can be given to a customer via email to access the service environment.

Javaクラウドサービスインスタンスをプロビジョニングするサービス
図11Aは、一実施例に係るJavaクラウドサービスインスタンスのプロビジョニングを示す。JavaクラウドサービスインスタンスのプロビジョニングはJavaサービスプロビジョニング制御(JSPC:Java Service Provisioning Control)によって実行することができる。例えば、プロビジョンプラットフォームインスタンス使用事例は、制御APIをプロビジョニングするJavaサービスの作成プラットフォームインスタンスオペレーションによって実現することができる。パブリッククラウドの文脈においては、JavaクラウドサービスインスタンスはJSPCプラットフォームインスタンスに対応する。プラットフォームインスタンスには、このインスタンスに関する以降の全オペレーションに対して用いることができる固有の識別子が割り当てられる。
Service to Provision Java Cloud Service Instances FIG. 11A illustrates provisioning of Java cloud service instances according to one embodiment. Java cloud service instance provisioning can be performed by Java Service Provisioning Control (JSPC). For example, a provision platform instance use case may be realized by a create platform instance operation of a Java service that provisions a control API. In the public cloud context, a Java cloud service instance corresponds to a JSPC platform instance. A platform instance is assigned a unique identifier that can be used for all subsequent operations on this instance.

作成プラットフォームインスタンス動作に対して提供されるプラットフォームデプロイメント記述子は、テナントのサブスクリプション要件を満たすためにプラットフォームインスタンスの構成を変更するプロパティを設定することを可能にする。プロパティは以下の目的のために用いることができる:サブスクリプションタイプ/サイズを規定する(サブスクリプションタイプ/サイズは、サーバの数、データベース限度およびサービス設定の質に影響を及ぼす可能性がある);これがトライアルサブスクリプションであるか否かを示す;このウェブロジックサービスインスタンスに関連付けられるべきCRMサービスを特定する。   The platform deployment descriptor provided for creation platform instance behavior allows setting properties that modify the configuration of the platform instance to meet the tenant subscription requirements. Properties can be used for the following purposes: Define subscription type / size (subscription type / size can affect the number of servers, database limits and quality of service settings); Indicates whether this is a trial subscription; identifies the CRM service to be associated with this web logic service instance.

一実施例に従うと、SDIモジュール206は構成マネージャとして連続的な統合サーバ(例えばハドソン)を用いることができる。連続的な統合サーバは、ビルドおよびデプロイメントを自動化することを可能にする。加えて、連続的な統合サーバは、ユーザがリソース利用を向上させ、メンテナンス・オーバーヘッドを低減させ、突然のシステム負荷スパイクに自動的に応答することができるように、クラウドサービスおよび仮想化技術とのインターフェイスを可能にし得る。   According to one embodiment, the SDI module 206 can use a continuous integration server (eg, Hudson) as a configuration manager. A continuous integration server makes it possible to automate builds and deployments. In addition, a continuous integration server can be used with cloud services and virtualization technologies so that users can improve resource utilization, reduce maintenance overhead, and automatically respond to sudden system load spikes. Can allow an interface.

図11Bは、一実施例に係るJavaクラウドサービスインスタンスのプロビジョニングおよびフュージョンアプリケーションの関連付けのためのさまざまなインタラクションの高レベル概略図を示す。Javaサービスのプロビジョニングは、顧客またはテナントの要件に基づいてVMをパーソナライズし得るプロセスであり得る。図11Bに示されるように、JavaサービスはフュージョンアプリケーションSaaS環境を拡張させることができる。   FIG. 11B shows a high-level schematic of various interactions for Java cloud service instance provisioning and fusion application association according to one embodiment. Provisioning Java services can be a process that can personalize VMs based on customer or tenant requirements. As shown in FIG. 11B, the Java service can extend the fusion application SaaS environment.

図11Bは、匿名のアセンブリがテナントの個別化情報でどのようにハイドレートされるかを説明する。例えば、JavaサービスVM画像はOVABアセンブリとして提供することができる。このようなアセンブリのデプロイメントにより、結果として、匿名のインスタンスが得られる。図8Bにおいて言及されるように、SDIモジュールはサービスの匿名のインスタンスを予めプロビジョニングすることができる。匿名のインスタンスはライブのVMであるが、いずれのテナントにも関連付けられていない。先に記載されたように、SDIモジュール206は、テナント環境またはサービスインスタンスを作成するプロセスを促進するために匿名のVMを予めプロビジョニングすることができる。   FIG. 11B illustrates how anonymous assemblies are hydrated with tenant personalization information. For example, a Java service VM image can be provided as an OVAB assembly. Such assembly deployment results in an anonymous instance. As mentioned in FIG. 8B, the SDI module can pre-provision an anonymous instance of the service. An anonymous instance is a live VM, but is not associated with any tenant. As previously described, the SDI module 206 can pre-provision an anonymous VM to facilitate the process of creating a tenant environment or service instance.

1101において、TASモジュール204は、Javaサービスについてのテナント要求をSDIモジュール206に送ることができる。1102において、SDIモジュール206は、アセンブリ・ビルダ・コネクタを介してアセンブリ・ビルダに対して匿名のアセンブリを要求することができる。1103において、アセンブリ・ビルダは、OVMを用いて、匿名のアセンブリをデプロイすることができる。1104において、匿名のアセンブリがSDIモジュール206に送られる。1105において、SDIモジュール206はIDMコネクタを介してIDMスライスを作成することができる。1106において、IDMはSDIモジュール206にIDM座標を返すことができる。1107において、SDIモジュール206は、データベースコネクタを介してデータベーススライスを作成することができる。1108において、データベースはSDIモジュール206にデータベース座標を返すことができる。いくつかの例においては、データベースはAPEXデータベースサービスであってもよい。   At 1101, the TAS module 204 can send a tenant request for the Java service to the SDI module 206. At 1102, the SDI module 206 can request an anonymous assembly from the assembly builder via the assembly builder connector. At 1103, the assembly builder can use OVM to deploy an anonymous assembly. At 1104, the anonymous assembly is sent to the SDI module 206. At 1105, the SDI module 206 can create an IDM slice via an IDM connector. At 1106, the IDM can return IDM coordinates to the SDI module 206. At 1107, the SDI module 206 can create a database slice via a database connector. At 1108, the database can return database coordinates to the SDI module 206. In some examples, the database may be an APEX database service.

1109において、SDIモジュール206は、Nuviaqコネクタを介して、受取られたIDM、データベースおよびEM座標でJavaサービスを構成するよう要求することができる。1110において、Nuviaqは、Nuviaqデータベースに全てのサービスインスタンスデータを格納することができる。1111において、Nuviaqは、EMエージェントの開始をも含み得るJavaサービスインスタンスを構成することができる。いくつかの例においては、NuviaqはJavaサービスオーケストレータであってもよい。   At 1109, the SDI module 206 can request via the Nuviaq connector to configure a Java service with the received IDM, database and EM coordinates. At 1110, Nuviaq can store all service instance data in the Nuviaq database. At 1111, Nuviaq can configure a Java service instance that can also include the start of an EM agent. In some examples, Nuviaq may be a Java service orchestrator.

さらに、フュージョンアプリケーション(FA:Fusion application)SaaS環境を用いる場合、JavaサービスをFA SaaSテナントに従って適切にプロビジョニングすることが必要になる可能性がある。したがって、図11Bに記載されたプロビジョニングプロセスでは、アイデンティティ管理に関するいくつかの相違の原因を明らかにしなければならないかもしれない。   Furthermore, when using a Fusion application (FA) SaaS environment, it may be necessary to properly provision Java services according to the FA SaaS tenant. Thus, the provisioning process described in FIG. 11B may have to account for some differences in identity management.

典型的なクラウドPaaS(例えばJavaサービス、データベースサービス)プロビジョニング環境においては、全てのテナントに対処する単一の共有IDMがあってもよい。各々のテナントのセキュリティ情報は、他のテナントから隔てておくことのできるIDMストライプ(例えばアイデンティティドメイン)で分離させることができる。FA SaaSの場合、IDMが異なっていてもよく、各々のSaaSインスタンス専用とされてもよい。したがって、JavaサービスおよびFAサービスを統合すると、シングルサインオンのような機能をサポートするためにIDM同士の間にインタラクションを存在させることが必要となる可能性がある。   In a typical cloud PaaS (eg, Java service, database service) provisioning environment, there may be a single shared IDM that addresses all tenants. Each tenant's security information can be separated by IDM stripes (eg, identity domains) that can be separated from other tenants. In the case of FA SaaS, the IDM may be different and may be dedicated to each SaaS instance. Therefore, when the Java service and the FA service are integrated, it may be necessary to have an interaction between IDMs in order to support a function such as single sign-on.

いくつかの実施例に従うと、関連付けられたサービスのプロビジョニング中、SDIモジュールは、SaaSサービスとPaaSサービスとの間で共有のIDMを用いることができる。SaaSサービスとPaaSサービスとの間の共有のIDMに基づいて、以下にサポート可能な使用事例を示す:FAウェブサービスと統合されるJavaクラウドサービスにおけるパートナー/顧客構築アプリケーション;FAに埋め込まれたユーザインターフェイスを有するJavaクラウドサービスにおけるパートナー/顧客構築アプリケーション;テストインスタンスおよび生成インスタンスによる影響;テストインスタンスと生成インスタンスとの間のマイグレーション;オンプレミスとのユーザの統合;ならびに、他のユーザのためのクラウド・アイデンティティ・ストアを用いた、何人かのユーザのためのオンプレミスとの実際のユーザの統合。   According to some embodiments, during provisioning of associated services, the SDI module can use a shared IDM between SaaS and PaaS services. Based on the shared IDM between SaaS and PaaS services, the following supportable use cases are shown: Partner / customer building application in Java cloud service integrated with FA web service; User interface embedded in FA Partner / customer-built applications in Java cloud services with: Impact from test and generation instances; Migration between test and generation instances; User integration with on-premises; and Cloud identity for other users Integration of real users with on-premises for some users using the store.

図11Cは、本発明のいくつかの実施例に係るPaaSおよびSaaSサービス関連付けプロセスを示す。PaaS(例えばJava)サービスおよびSaaS(例えばFA)サービス関連付けプロセスは、PaaS環境ハイドレーションを含み得る。例えば、JavaサービスPaaS環境は、プロビジョニング中に呼び出されるハイドレーションスクリプトを含み得る。スクリプトは、PaaSドメインなどを構成するようなさまざまなタスクを実行することができる。タスクは、PaaSインタラクションおよびSaaSインタラクションを可能にするようファイアウォールルールを変更すること;認証サーブレットフィルタに必要な変更を調査すること;ハイドレーション中に実行するのに必要なフックをパペットリポジトリに追加すること;共有されるIDM統合;ならびに、ウェブサービス構成変更;を含み得る。   FIG. 11C illustrates a PaaS and SaaS service association process according to some embodiments of the present invention. PaaS (eg, Java) service and SaaS (eg, FA) service association process may include PaaS environment hydration. For example, a Java service PaaS environment may include a hydration script that is invoked during provisioning. Scripts can perform various tasks such as configuring a PaaS domain. The task modifies the firewall rules to allow PaaS and SaaS interactions; investigates the changes required for the authentication servlet filter; adds the hooks needed to run during hydration to the puppet repository; Shared IDM integration; as well as web service configuration changes.

データベースクラウドサービスをプロビジョニングするサービス
図12は、いくつかの実施例に係るデータベースクラウドサービスの高レベル論理図を示す。クラウドデータベースサービスはSDIモジュール206によってプロビジョニングすることができる。データベースクラウドサービスは3つの主要なコンポーネントを有し得る:単純なURIによってデータベースクラウドサービスにおけるデータにアクセスすることを可能にするウェブサービスアクセス;ブラウザベースの環境において多種多様なアプリケーションを全て作成およびデプロイするためのアプリケーション・エクスプレス;ならびに、(例えば数クリックだけで)容易にインストールすることができる一組のビジネス生産能率アプリケーション。
Service Provisioning Database Cloud Service FIG. 12 shows a high level logical diagram of a database cloud service according to some embodiments. The cloud database service can be provisioned by the SDI module 206. A database cloud service can have three main components: web service access that allows you to access data in the database cloud service with a simple URI; create and deploy all the many different applications in a browser-based environment Application Express for; and a set of business production efficiency applications that can be easily installed (for example with just a few clicks).

マルチテナントに共有されるアーキテクチャのいくつかの主要な属性は以下を含み得る:各々のテナントは完全に切離されたスキーマを獲得する;各々のExadata演算ノードは複数のデータベースインスタンスを有する;各々のインスタンスは複数のスキーマ(例えばテナント)を有する;各々のスキーマ/テナントは、表、ビュー、格納されたプロシージャ、トリガを含むデータベースオブジェクトを管理できる容器である;各々のスキーマは1つの専用の表領域を有する;各々の表領域は1つのデータファイルを有する。   Some key attributes of the architecture shared by multi-tenants may include: each tenant acquires a fully isolated schema; each Exadata compute node has multiple database instances; An instance has multiple schemas (eg tenants); each schema / tenant is a container that can manage database objects including tables, views, stored procedures, triggers; each schema has one dedicated tablespace Each tablespace has one data file.

図7Eと同様の図12は、同じ物理的なマシン内に複数の演算ノード(例えば、EXADATA演算ノード1202、EXADATA演算ノード1204)を有する例を示す。加えて、データベースインスタンス1206は各々の演算ノード内に常駐することができる。さらに、2つの別個のスキーマ(例えばスキーマ1208、スキーマ1210)は各々のデータベースインスタンス1206内に含めることができる。別の実施例に従うと、3つ以上のスキーマを1つのデータベースインスタンスに含めることができる。各々のスキーマ(例えばスキーマ1208、スキーマ1210)は異なる顧客のためのものであってもよい。したがって、いくつかの実施例においては、別々の顧客に関連付けられる複数のスキーマは同じデータベースインスタンス内に常駐することができる。   FIG. 12, similar to FIG. 7E, illustrates an example having multiple computing nodes (eg, EXADATA computing node 1202, EXADATA computing node 1204) in the same physical machine. In addition, database instance 1206 can reside within each compute node. In addition, two separate schemas (eg, schema 1208, schema 1210) can be included in each database instance 1206. According to another embodiment, more than two schemas can be included in one database instance. Each schema (eg, schema 1208, schema 1210) may be for a different customer. Thus, in some embodiments, multiple schemas associated with different customers can reside in the same database instance.

このデータベース実現例においては、一人の顧客だけが各々のデータベースインスタンス内に常駐することができる。したがって、複数の顧客は複数のデータベースインスタンスを必要とする。代替的には、本発明の実施例に従うと、複数のスキーマが1つのデータベースインスタンスに含まれているので、データベースインスタンスは複数の顧客の間で共有することができる。各々のスキーマはテナントを表わすことができ、このため、1つのデータベースインスタンスは複数のテナントを有することができる。   In this database implementation, only one customer can reside in each database instance. Thus, multiple customers require multiple database instances. Alternatively, according to an embodiment of the present invention, a database instance can be shared among multiple customers because multiple schemas are included in a single database instance. Each schema can represent a tenant, so one database instance can have multiple tenants.

例えば、フュージョンアプリケーションおよびJavaサービスはシングルテナントサービスである。シングルテナントサービスは一人の顧客に割り当てられる。データベースサービスはマルチテナントサービスである。データベースサービスのためのPODはラックについての2、3個のデータベースインスタンスを備えたExadataラックである。この場合、多くの顧客が1つのPODを用いることができる。したがって、PODが複数の顧客を有することができるので、データベースサービスはマルチテナントサービスとなる。これにより、PODを一度セットアップし、次いで、SDIモジュール206によるランタイムプロビジョニングを行って、ランタイムで複数のテナントをPODに追加することが可能となる。   For example, the fusion application and Java service are single tenant services. Single tenant services are assigned to one customer. The database service is a multi-tenant service. The POD for database service is an Exadata rack with a few database instances for the rack. In this case, many customers can use one POD. Therefore, since the POD can have multiple customers, the database service is a multi-tenant service. This allows a POD to be set up once and then run-time provisioned by the SDI module 206 to add multiple tenants to the POD at run-time.

図13は、いくつかの実施例に係るマルチテナントデータベースサービスのためのサービスプロビジョングフロー1300を示す。図12に示されるように、データベースサービスはマルチテナントサービスの一例である。というのも、1つのデータベースインスタンスが、異なる顧客に関連付けられた複数のスキーマを有し得るからである。   FIG. 13 illustrates a service provisioning flow 1300 for a multi-tenant database service according to some embodiments. As shown in FIG. 12, the database service is an example of a multi-tenant service. This is because a single database instance can have multiple schemas associated with different customers.

1302において、顧客は、トライアルサービスに関してクラウドUI212にデータベースサービスを要求する。代替的には、顧客は、支払済みのサービスに関してストアUI210にデータベースサービスを要求することができる。1304において、クラウドUI212がTASモジュール204に顧客要求を送る。1306において、TASモジュール204は、BPELを介してSDIモジュール206をコールすることによってプロビジョニングを開始することができる。いくつかの例においては、サービスが利用可能である場合にのみTASモジュール204はプロビジョニングを開始することができる。1308において、SDIモジュール206は、要求している顧客に関するスキーマを関連付けるためにCLOUD_UIにおけるPLSQL APIをコールすることができる。1310において、関連付けが成功した後、SDIモジュール206はTASモジュール204に通知することができ、TASモジュール204は(例えば電子メールで)顧客に通知することができる。その後、顧客はウェブサーバにログインし、データベースサービスを始動させる。   At 1302, the customer requests a database service from the cloud UI 212 for a trial service. Alternatively, the customer can request a database service from the store UI 210 for paid services. At 1304, the cloud UI 212 sends a customer request to the TAS module 204. At 1306, the TAS module 204 can initiate provisioning by calling the SDI module 206 via BPEL. In some examples, the TAS module 204 can initiate provisioning only if the service is available. At 1308, the SDI module 206 can call the PSQL API in the CLOUD_UI to associate the schema for the requesting customer. At 1310, after successful association, the SDI module 206 can notify the TAS module 204, which can notify the customer (eg, via email). The customer then logs into the web server and starts the database service.

別の実施例に従うと、フュージョンアプリケーションのためのサービスプロビジョニングが実現され得る。例えば、新しいフュージョンアプリケーションサブスクリプションオーダーはSDIモジュール206によって受取られる。オーダーが承認されると、フュージョンアプリケーションPODがプロビジョニングされる。顧客(例えばテナント)は、テナントをそのポッドにおいてセットアップできるようにするための重要な情報を提供する。初期のユーザが作成されると、フュージョンアプリケーションクラウドサービスは、初期のユーザにユーザIDおよびパスワードを電子メールで送る。さらに、割り当てポッドにプロビジョニングするテナントは、オンプレミスの顧客が採用するであろう標準的なセットアッププロセスのサブセットである。   According to another embodiment, service provisioning for a fusion application may be realized. For example, a new fusion application subscription order is received by the SDI module 206. Once the order is approved, the fusion application POD is provisioned. A customer (eg, a tenant) provides important information to allow a tenant to be set up in its pod. When the initial user is created, the fusion application cloud service sends the user ID and password to the initial user by e-mail. In addition, the tenant provisioning to the allocation pod is a subset of the standard setup process that on-premises customers will employ.

図15は、本発明の実施例に係る予めプロビジョニングされたポッド1500の物理的アーキテクチャを例示する。図15に示されるように、複数のポッドは、クラウドインフラストラクチャによって提供される1つ以上のサービスのために予めプロビジョニングされてもよい。例えば、図15に示されるように、一組のポッド1505は、JAVAサービスのために予めプロビジョニングされてもよく、一組のポッド1510はデータベースサービスのために予めプロビジョニングされてもよい。   FIG. 15 illustrates the physical architecture of a pre-provisioned pod 1500 according to an embodiment of the present invention. As shown in FIG. 15, multiple pods may be pre-provisioned for one or more services provided by the cloud infrastructure. For example, as shown in FIG. 15, a set of pods 1505 may be pre-provisioned for JAVA services and a set of pods 1510 may be pre-provisioned for database services.

上述のように、ポッドは、特定のサービスを提供するためにともに有線接続されているリソース(例えば、処理リソース、ネットワーキングリソース、メモリリソース)のモジュールアセンブリである。例えば、図15に示されるように、予めプロビジョニングされたポッド1500は、Javaサービス1505のための1つ以上の仮想マシン(例えばオラクル仮想マシン(OVM))および1つ以上のデータベースリソース1510(例えばオラクルExadataデータベース)を論理的にグループ分けしたものであり得る。データベースリソースはストレージ、インフラストラクチャおよびネットワークコンポーネントを含んでもよい。予めプロビジョニングされたポッドは、シングルテナンシサービスまたはマルチテナンシサービス用に構成されてもよい。   As described above, a pod is a modular assembly of resources (eg, processing resources, networking resources, memory resources) that are wired together to provide a particular service. For example, as shown in FIG. 15, pre-provisioned pod 1500 includes one or more virtual machines for Java service 1505 (eg, Oracle Virtual Machine (OVM)) and one or more database resources 1510 (eg, Oracle). Exadata database) can be logically grouped. Database resources may include storage, infrastructure and network components. Pre-provisioned pods may be configured for single-tenancy service or multi-tenancy service.

ポッドは、当該ポッドが用いられるであろうサービスを要求するサブスクリプションオーダーを受取る前に作成されるので、予めプロビジョニングされているものと見なされる。一実施例においては、特有のサービスのために、各々の予めプロビジョニングされたポッドは、一定のポッドサイズまたは一組のリソース、例えば、一定数の仮想マシン、管理されたサーバ、およびデプロイされたサーバなどを有し得る。1つのサービス用に予めプロビジョニングされたポッドは別のサービス用に予めプロビジョニングされたポッドとは異なる可能性がある。これは、1つのサービス(例えばJAVAサービス)を提供するのに用いられるリソースのタイプおよび数が、別のサービス(例えばデータベースサービス)を提供するのに用いられるリソースのタイプおよび数とは異なる可能性があるからである。例えば、JAVAサービス用に予めプロビジョニングされたポッド1505は互いに似ている可能性があるが、これらはデータベースサービス用に予めプロビジョニングされたポッド1510とは異なる可能性がある。   A pod is considered pre-provisioned because it is created before receiving a subscription order requesting the service that the pod will be used for. In one embodiment, for a specific service, each pre-provisioned pod is a fixed pod size or set of resources, such as a fixed number of virtual machines, managed servers, and deployed servers. And so on. A pod pre-provisioned for one service can be different from a pod pre-provisioned for another service. This is because the type and number of resources used to provide one service (eg JAVA service) may be different from the type and number of resources used to provide another service (eg database service). Because there is. For example, pods 1505 pre-provisioned for JAVA services may be similar to each other, but they may be different from pods 1510 pre-provisioned for database services.

クラウドインフラストラクチャシステム100は、予めプロビジョニングされたポッド1500のプールを作成し得る。このようなポッドを作成することにより、サービスについての顧客からのサブスクリプションオーダーに応答してリソースをプロビジョニングするのに必要な処理の量を低減させる。これにより、サブスクリプションオーダーで要求されたサービスのためのリソースをプロビジョニングするのに必要な時間の量を低減させる。サービスについての顧客のサブスクリプションオーダーに応答して顧客用の新しいサービスインスタンスを作成するのに必要な時間を短縮させる。   Cloud infrastructure system 100 may create a pool of pre-provisioned pods 1500. Creating such pods reduces the amount of processing required to provision resources in response to customer subscription orders for services. This reduces the amount of time required to provision resources for the services requested in the subscription order. Reduce the time required to create a new service instance for a customer in response to a customer subscription order for the service.

サービスを要求する顧客からオーダーを受取ると、クラウドインフラストラクチャシステム100は、そのサービスのために予めプロビジョニングされたポッドの予めプロビジョニングされたプールから1つ以上のポッドを用いることができる。いくつかの実施例においては、サービスオーダーに応答して、そのサービス用の予めプロビジョニングされたポッドが選択され、次いで、顧客特有の情報(例えば、顧客オーダーから決定された顧客特有の情報)がインジェクションされて、顧客用のカスタマイズされたポッドが作成されるようにしてもよい。顧客のために、新しいサービスインスタンスが、このようなカスタマイズされたポッドのうち1つ以上のポッドから作成されてもよい。   Upon receiving an order from a customer requesting a service, the cloud infrastructure system 100 can use one or more pods from a pre-provisioned pool of pods pre-provisioned for that service. In some embodiments, in response to a service order, a pre-provisioned pod for that service is selected, and then customer specific information (eg, customer specific information determined from the customer order) is injected. Then, a customized pod for the customer may be created. For a customer, a new service instance may be created from one or more of these customized pods.

特定のサービス要求のために選択されかつ顧客用にカスタマイズされたサービス特有の予めプロビジョニングされたものの数は、要求されたサービスのサイズに左右される可能性がある。いくつかの実施例においては、サービス要求に割り当てられた予めプロビジョニングされたポッドの数が、要求されたサービスのサイズに正比例する。さらに、顧客の要求が大きくなる(例えば、テナントサービスレベル合意(SLA:service level agreement)要件が増大する)と、追加の予めプロビジョニングされたポッドが選択されて、顧客に割り当てられ(すなわち、顧客のためにカスタマイズされ)得る。   The number of service specific pre-provisioned items selected for a particular service request and customized for the customer may depend on the size of the requested service. In some embodiments, the number of pre-provisioned pods assigned to a service request is directly proportional to the size of the requested service. In addition, as customer demand increases (eg, tenant service level agreement (SLA) requirements increase), additional pre-provisioned pods are selected and assigned to customers (ie, customer To get customized).

サービスについての新しいオーダーが受取られて処理されると、および/または、顧客サービス要件が増大すると、ますます多くの予めプロビジョニングされたポッドがそれらのオーダーのためにカスタマイズされ得る。これにより、そのサービスのためのポッドのうち予めプロビジョニングされた利用可能なプールにおけるポッドの数が激減する可能性がある。一実施例においては、クラウドインフラストラクチャシステム100は、予めプロビジョニングされたポッドの数がサービスについての一定のユーザ構成可能な最小しきい値を下回ると、バックグラウンドにおいてそのサービスのための新しい予めプロビジョニングされたポッドを作成するように構成されてもよい。このようなしきい値は、クラウドインフラストラクチャシステム100によって提供されるさまざまなサービスのために定義され得る。   As new orders for services are received and processed and / or as customer service requirements increase, more and more pre-provisioned pods can be customized for those orders. This can drastically reduce the number of pods in the pre-provisioned available pool of pods for that service. In one embodiment, the cloud infrastructure system 100 can create a new pre-provisioned for the service in the background when the number of pre-provisioned pods falls below a certain user-configurable minimum threshold for the service. May be configured to create a pod. Such thresholds may be defined for various services provided by the cloud infrastructure system 100.

図16は、本発明の実施例に係るサービスインスタンス作成のための予めプロビジョニングされたポッドの顧客特有のカスタマイズ(顧客パーソナリティの割り当て(customer personality assignment)と称されることもある)の例を示す。例えば、サブスクリプションオーダーは、JAVAサービスおよびデータベースサービスを要求する顧客「弊社」から受取られていてもよい。オーダーに応答して、クラウドインフラストラクチャシステム100は、「弊社」が要求した要求済みJAVAサービスを提供するためにJavaインスタンスを作成するのに単一の予めプロビジョニングされたJAVAサービスポッドが必要であると判断し、同様に、要求されたデータベースサービスを提供するためにデータベースサービスインスタンスを作成するのに単一の予めプロビジョニングされたデータベースサービスポッドが必要であると判断し得る。図16に示されるように、JAVAサービスのための予めプロビジョニングされたポッドのプール1505からの予めプロビジョニングされたポッド(予めプロビジョニングされたJAVAポッド#1)が選択され、顧客「弊社」によって要求されるようにJAVAサービスを提供するために顧客「弊社」に割り当てられた。加えて、データベースサービスのための予めプロビジョニングされたポッドのプール1510からの予めプロビジョニングされたポッド(予めプロビジョニングされたDBポッド#1)が選択され、顧客「弊社」によって要求されるように、データベースサービスを提供するために顧客「弊社」に割り当てられた。予めプロビジョニングされたJAVAポッド#1は、JAVAサービスのために顧客用にパーソナライズされたポッド#1 1605を作成するために「弊社」特有の情報(例えば構成情報)をポッドにインジェクションすることによって、顧客「弊社」用にパーソナライズされた。このような態様で、顧客「弊社」にJAVAサービスを提供するように構成されたJAVAサービスインスタンスが、予めプロビジョニングされたJAVAサービスポッドを用いて作成され得る。データベースサービスに関して、予めプロビジョニングされたDBポッド#1は、データベースサービスのために顧客用にパーソナライズされたDBポッド#1 1610を作成するために、「弊社」特有の情報(例えば構成情報)をポッドにインジェクションすることによって、顧客「弊社」用にパーソナライズされた。このような態様で、顧客「弊社」のためのデータベースサービスを提供するように構成されたデータベースサービスインスタンスが、予めプロビジョニングされたデータベースサービスポッドを用いて作成され得る。   FIG. 16 illustrates an example of customer-specific customization of a pre-provisioned pod for service instance creation according to an embodiment of the present invention (sometimes referred to as customer personality assignment). For example, a subscription order may have been received from a customer “us” requesting JAVA and database services. In response to the order, the cloud infrastructure system 100 requires a single pre-provisioned JAVA service pod to create a Java instance to provide the requested JAVA service requested by “we”. As well as determining that a single pre-provisioned database service pod is required to create a database service instance to provide the requested database service. As shown in FIG. 16, a pre-provisioned pod (pre-provisioned JAVA pod # 1) from a pool of pre-provisioned pods for JAVA services is selected and requested by customer “our”. Was assigned to the customer “our company” to provide JAVA services. In addition, the database service is selected so that a pre-provisioned pod (pre-provisioned DB Pod # 1) from the pool of pre-provisioned pods 1510 for the database service is selected and requested by the customer “we”. Assigned to customer “our company” to provide. The pre-provisioned JAVA pod # 1 is created by injecting “we” specific information (eg configuration information) into the pod to create a personalized pod # 1 1605 for the customer for the JAVA service. Personalized for “our company”. In this manner, a JAVA service instance configured to provide a JAVA service to the customer “our company” may be created using a pre-provisioned JAVA service pod. With respect to the database service, the pre-provisioned DB pod # 1 uses “our company” specific information (eg configuration information) in the pod to create a personalized DB pod # 1 1610 for the customer for the database service. By personalization, it was personalized for the customer “our company”. In this manner, a database service instance configured to provide a database service for customer “our” may be created using a pre-provisioned database service pod.

図17は、一実施例に係る、予めプロビジョニングされたポッドを用いてパーソナライズされたJAVAサービスポッドまたはサービスインスタンスおよびパーソナライズされたデータベースサービスポッドまたはインスタンスを作成するための方法の例を示す。   FIG. 17 illustrates an example of a method for creating a personalized JAVA service pod or service instance and a personalized database service pod or instance using a pre-provisioned pod, according to one embodiment.

いくつかの実施例においては、ポッドを予めプロビジョニングする場合、SDIモジュール206によって実行されてもよい。例えば、SDIモジュール206は、事前にリソースを保存して有線接続する(例えば、仮想マシンを作成して立ち上げる)ことによって、予めプロビジョニングされた各々のJAVAサービスポッドを作成するように構成されてもよい。次いで、予めプロビジョニングされたJavaサービスポッドのこのプールは、顧客が要求したJAVAサービスを提供するための顧客特有のサービスインスタンスを作成するために、SDIモジュール206によって用いられてもよい。顧客サービス要求を受取ると、SDIモジュール206は、これらの予めプロビジョニングされたポッドを用いて、顧客特有のパーソナリティをこれらポッドにインジェクションすることによってこれらポッドを顧客特有のものにする。パーソナリティインジェクションは、ランタイムで、予めプロビジョニングされたポッドを特定の顧客特有の構成情報でカスタマイズすることを含み得る。データベースサービスのために、SDIモジュール206は顧客フットプリントをオンデマンドで作成することができる。   In some embodiments, pre-provisioning of pods may be performed by SDI module 206. For example, the SDI module 206 may be configured to create each pre-provisioned JAVA service pod by pre-saving resources and wired (eg, creating and launching a virtual machine). Good. This pool of pre-provisioned Java service pods may then be used by the SDI module 206 to create a customer specific service instance for providing the JAVA service requested by the customer. Upon receiving customer service requests, SDI module 206 uses these pre-provisioned pods to make these pods customer-specific by injecting customer-specific personalities into these pods. Personality injection may include customizing a pre-provisioned pod with specific customer-specific configuration information at runtime. For database services, the SDI module 206 can create customer footprints on demand.

一実施例においては、図17に示されるように、1705において、TASモジュール204はSDIモジュール206にサービスオーダードキュメントを提出し得る。先に述べたように、サービスオーダードキュメントは、コールバックアドレス;システム名;新しいシステムインジケータについてのブール値;システム管理者ユーザ名;およびサービスインスタンスオーダーのリストなどの情報を含み得る。サービスインスタンスオーダーのリストはさらに、サービスインスタンス名;管理者ユーザ名;サービスインスタンスタイプ;サービスインスタンスサイズ;サービス特有のプロパティを含み得る。図16に示された例に関して、サービスオーダードキュメントにおける要求されたサービスインスタンスタイプは、JAVAサービスインスタンスおよびデータベースサービスインスタンスであってもよい。   In one embodiment, the TAS module 204 may submit a service order document to the SDI module 206 at 1705, as shown in FIG. As previously mentioned, the service order document may include information such as a callback address; a system name; a Boolean value for the new system indicator; a system administrator username; and a list of service instance orders. The list of service instance orders may further include service instance name; administrator user name; service instance type; service instance size; service specific properties. With respect to the example shown in FIG. 16, the requested service instance types in the service order document may be JAVA service instances and database service instances.

1710において、サービスオーダードキュメントを受取った後、SDIモジュール206は、サービスオーダードキュメントにおいて規定された要件を満たすのに必要な予めプロビジョニングされたポッドの数を決定し得る。一実施例においては、この決定は、サービスインスタンスタイプ、サービスインスタンスサイズおよびサービス特有のプロパティに基づいてなされ得る。   At 1710, after receiving the service order document, the SDI module 206 may determine the number of pre-provisioned pods needed to meet the requirements specified in the service order document. In one embodiment, this determination may be made based on service instance type, service instance size, and service specific properties.

1715において、サービスオーダードキュメント内のデータに基づいて、SDIモジュール206は、顧客のためにパーソナライズされたサービスインスタンスを作成するために、SDIコネクタモジュール612を用いて、予めプロビジョニングされたポッドのうち1つ以上のポッドをカスタマイズし得る。予めプロビジョニングされたポッドのカスタマイズは、顧客オーダーから受取ったパーソナリティ情報(例えば、コールバックアドレス、システム名、システム管理者ユーザ名)を予めプロビジョニングされたポッドにインジェクションすることを含み得る。   At 1715, based on the data in the service order document, the SDI module 206 uses the SDI connector module 612 to create one of the pre-provisioned pods to create a personalized service instance for the customer. You can customize these pods. Pre-provisioned pod customization may include injecting personality information (eg, callback address, system name, system administrator username) received from a customer order into a pre-provisioned pod.

この例においては、サービスオーダードキュメントに基づいて、特有のSDIコネクタモジュール612は、データベースサービスインスタンス1610を作成するためのAPEXコネクタ614およびJAVAサービスインスタンス1605を作成するためのNUVIAQコネクタ620であってもよい。   In this example, based on the service order document, the specific SDI connector module 612 may be an APEX connector 614 for creating a database service instance 1610 and an NUVIAQ connector 620 for creating a JAVA service instance 1605. .

1720において、パーソナライズされたサービスインスタンス(例えば、JAVAサービスインスタンス1605、データベースサービスインスタンス1610)が作成されると、SDIモジュール206はTASモジュール204にサービスオーダー履行ドキュメントを提出し得る。先に述べたように、サービスオーダー履行ドキュメントはXMLドキュメントであってもよく、このXMLドキュメントは、要求識別子;システム名;システム/テナンシ管理者ユーザ名およびパスワード;システムIDMコンソールURL;ならびに、オーダーされたサービスのリストを含み得る。さらに、各々のオーダーされたサービスに関して、サービスオーダー履行ドキュメントは、サービスインスタンス名;サービスインスタンス管理者ユーザ名およびパスワード;サービスインスタンス管理URL;サービスインスタンスURLを含み得る。   At 1720, when a personalized service instance (eg, JAVA service instance 1605, database service instance 1610) is created, SDI module 206 may submit a service order fulfillment document to TAS module 204. As mentioned above, the service order fulfillment document may be an XML document, which includes a request identifier; system name; system / tenancy administrator username and password; system IDM console URL; A list of available services may be included. Further, for each ordered service, the service order fulfillment document may include a service instance name; a service instance administrator username and password; a service instance management URL; a service instance URL.

図14は、本発明の実施例に従って使用され得る演算システム1000の簡略ブロック図である。例えば、クラウドインフラストラクチャシステム100は、1つ以上の演算装置を備えていてもよい。図14に示されるシステム1000は、1つのこのような演算装置の一例であってもよい。バス1024を介して電気的に結合され得るハードウェア要素を備えるコンピュータシステム1000が示されている。コンポーネントは、1つ以上の処理ユニット1002、入力サブシステム1004、出力サブシステム1006、記憶装置1008、コンピュータ読取可能記憶媒体1010に接続されたコンピュータ読取可能記憶媒体リーダ1012、通信サブシステム1014、処理加速サブシステム1016、およびワーキングメモリ1018を含み得る。   FIG. 14 is a simplified block diagram of a computing system 1000 that may be used in accordance with an embodiment of the present invention. For example, the cloud infrastructure system 100 may include one or more arithmetic devices. The system 1000 shown in FIG. 14 may be an example of one such arithmetic device. A computer system 1000 is shown that includes hardware elements that can be electrically coupled via a bus 1024. The components include one or more processing units 1002, an input subsystem 1004, an output subsystem 1006, a storage device 1008, a computer readable storage medium reader 1012 connected to a computer readable storage medium 1010, a communication subsystem 1014, and a processing acceleration. Subsystem 1016 and working memory 1018 may be included.

バスサブシステム1024は、所期のとおり、さまざまなコンポーネントとコンピュータシステム1000のサブシステムとを互いに通信させるための機構を提供する。バスサブシステム1024は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実施例は複数のバスを利用してもよい。   The bus subsystem 1024 provides a mechanism for communicating various components and the subsystems of the computer system 1000 with each other as expected. Although the bus subsystem 1024 is shown schematically as a single bus, alternate embodiments of the bus subsystem may utilize multiple buses.

入力サブシステム1004は、マウス、キーボード、ポインティング・デバイス、タッチパッドなどの1つ以上の入力装置を含み得る。概して、入力サブシステム1004は、コンピュータシステム1000に情報を入力するためのいかなる装置または機構をも含み得る。   Input subsystem 1004 may include one or more input devices such as a mouse, keyboard, pointing device, touchpad, and the like. In general, input subsystem 1004 may include any device or mechanism for entering information into computer system 1000.

出力サブシステム1006は、コンピュータシステム1000から情報を出力するための1つ以上の出力装置を含み得る。出力装置の例は、表示装置、プリンタ、投影装置などを含むが、これらに限定されない。概して、出力サブシステム1006は、コンピュータシステム1000から情報を出力するためのいかなる装置または機構をも含み得る。   The output subsystem 1006 may include one or more output devices for outputting information from the computer system 1000. Examples of output devices include, but are not limited to, display devices, printers, projection devices, and the like. In general, output subsystem 1006 may include any device or mechanism for outputting information from computer system 1000.

処理ユニット1002は、1つ以上のプロセッサ、プロセッサの1つ以上のコア、これらの組み合わせなどを含み得る。いくつかの実施例においては、処理ユニット1002は、汎用の主要プロセッサ、ならびに、1つ以上の専用コプロセッサ、例えば、グラフィックスプロセッサ、デジタル信号プロセッサなどを含み得る。いくつかの実施例においては、いくつかまたは全ての処理ユニット1002は、特定用途向け集積回路(ASIC:application specific integrated circuit)またはフィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)などのカスタマイズされた回路を用いて実現することができる。いくつかの実施例においては、このような集積回路は、回路自体に格納される命令を実行する。他の実施例においては、処理ユニット1002は、ワーキングメモリ1018または記憶装置1008に格納された命令を実行することができる。さまざまな実施例においては、処理ユニット1002は、さまざまなプログラムまたはコード命令を実行することができ、同時に実行される複数のプログラムまたはプロセスを維持することができる。如何なる所与のときにも、実行されるべきプログラムコードのうちのいくつかまたは全ては、システムワーキングメモリ1018、記憶装置1008内および/またはコンピュータ読取可能記憶媒体1010上に常駐し得る。適切なプログラミングによって、処理ユニット1002は、イベントストリーム関連の処理を実行するために上述のさまざまな機能を提供することができる。いくつかの実施例においては、コンピュータシステム1000はまた、デジタル信号プロセッサ(DSP:digital signal processor)、専用プロセッサなどを含み得る処理加速ユニット1016を含んでもよい。   Processing unit 1002 may include one or more processors, one or more cores of processors, combinations thereof, and the like. In some embodiments, the processing unit 1002 may include a general purpose main processor, as well as one or more dedicated coprocessors such as a graphics processor, a digital signal processor, and the like. In some embodiments, some or all of the processing units 1002 may be customized circuits such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). It can be realized using. In some embodiments, such an integrated circuit executes instructions stored in the circuit itself. In other embodiments, processing unit 1002 may execute instructions stored in working memory 1018 or storage device 1008. In various embodiments, the processing unit 1002 can execute various programs or code instructions and can maintain multiple programs or processes running simultaneously. At any given time, some or all of the program code to be executed may reside in system working memory 1018, in storage device 1008, and / or on computer readable storage medium 1010. With appropriate programming, the processing unit 1002 can provide the various functions described above to perform event stream related processing. In some embodiments, the computer system 1000 may also include a processing acceleration unit 1016 that may include a digital signal processor (DSP), a dedicated processor, and the like.

記憶装置1008は、ディスクドライブ、光学記憶装置、およびソリッドステート記憶装置、例えば、プログラム可能、フラッシュ更新可能などであり得るランダムアクセスメモリ(RAM:random access memory)および/またはリードオンリメモリ(ROM:read-only memory)などの記憶装置を含んでいてもよい。上述の機能を提供するよう処理ユニット1002によって実行されるソフトウェア(プログラム、コードモジュール、命令)が記憶装置1008に格納されてもよい。記憶装置1008はまた、本発明の実施例に従って用いられるデータを格納するためにリポジトリを提供し得る。   Storage device 1008 may be a disk drive, optical storage device, and solid state storage device, eg, random access memory (RAM) and / or read only memory (ROM), which may be programmable, flash updatable, and the like. -only memory) may be included. Software (programs, code modules, instructions) executed by the processing unit 1002 to provide the functions described above may be stored in the storage device 1008. Storage device 1008 may also provide a repository for storing data used in accordance with embodiments of the present invention.

さらに、コンピュータ読取可能記憶媒体リーダ1012は、ともに(および任意に、記憶装置1008と組み合わせて)一時的および/またはより永久的にコンピュータ読取可能な情報を含むためのリモートの、ローカルの、固定されたおよび/または取外し可能な記憶装置プラス記憶媒体を包括的に表わすコンピュータ読取可能記憶媒体1010に接続可能である。   Further, the computer readable storage media reader 1012 is a remote, local, fixed for containing computer readable information both temporarily (and optionally in combination with the storage device 1008) temporarily and / or more permanently. And / or connectable to a computer readable storage medium 1010 representative of a removable storage device plus storage medium.

通信システム1014は、ネットワークおよび/またはその他のコンピュータとデータを遣り取りすることを可能にし得る。通信サブシステム1014は、コンピュータシステム1000のうち他のシステムに対するデータの受信および送信のためのインターフェイスとしての役割を果たす。この通信は、有線プロトコルまたは無線プロトコルを用いて提供され得る。例えば、通信サブシステム1014は、コンピュータ1000がインターネットを介してクライアントデバイスに接続することを可能にし得る。通信サブシステム1014は、モデム、ネットワークカード(無線または有線)、赤外線通信装置、GPS受信機などを含み得る。   Communication system 1014 may allow data to be exchanged with networks and / or other computers. The communication subsystem 1014 serves as an interface for receiving and transmitting data to other systems in the computer system 1000. This communication may be provided using a wired protocol or a wireless protocol. For example, the communication subsystem 1014 may allow the computer 1000 to connect to client devices over the Internet. The communication subsystem 1014 may include a modem, a network card (wireless or wired), an infrared communication device, a GPS receiver, and the like.

ワーキングメモリサブシステム1018は、プログラム実行中に命令およびデータを格納するためのメインランダムアクセスメモリ(RAM)と、一定の命令が格納されるリードオンリメモリ(ROM)とを含むいくつかのメモリを含み得る。オペレーティングシステム1020、および/または、(クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、RDBMSなどであり得る)アプリケーションプログラムなどの他のコード1022などのソフトウェア要素はワーキングメモリ1018に格納されてもよい。例示的な実施例では、ワーキングメモリ1018は、実行可能なコードと、上述のとおりイベントを処理し、可変期間のウインドウ処理を可能にするために使用される関連付けられたデータ構造(キャッシュなど)とを含んでいてもよい。   The working memory subsystem 1018 includes a number of memories including a main random access memory (RAM) for storing instructions and data during program execution and a read only memory (ROM) in which certain instructions are stored. obtain. Software elements such as operating system 1020 and / or other code 1022 such as application programs (which may be client applications, web browsers, middle tier applications, RDBMSs, etc.) may be stored in working memory 1018. In the exemplary embodiment, working memory 1018 includes executable code and associated data structures (such as a cache) that are used to process events and allow variable duration windowing as described above. May be included.

コンピュータシステム1000の代替的な実施例は、上記のものからの多数の変更例を備えたコンポーネントを多少とも有し得ることが理解されるべきである。例えば、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素がハードウェア、(アプレットなどの高移植性ソフトウェアを含む)ソフトウェアまたはそれら両方で実現されてもよい。さらに、ネットワーク入力/出力装置などの他の演算装置への接続が利用されてもよい。   It should be understood that alternative embodiments of computer system 1000 may have some components with numerous variations from those described above. For example, customized hardware may be used and / or certain elements may be implemented in hardware, software (including highly portable software such as applets) or both. Further, connections to other computing devices such as network input / output devices may be utilized.

図18は、本発明の実施例に係る電子デバイス1800の簡略化されたブロック図である。電子デバイス1800は、第1のリソースアセンブリセット作成ユニット1802を含む。第1のリソースアセンブリセット作成ユニット1802は、1つ以上の演算装置を含むクラウドインフラストラクチャシステムによって提供される複数のクラウドサービスから第1のサービスのための1つ以上のリソースアセンブリの第1の組を作成するように構成される。リソースアセンブリの第1の組における各リソースアセンブリは、第1のサービスを提供するための1つ以上のリソースを含む。電子デバイス1800はさらに受取ユニット1804を含む。受取ユニット1804は、作成後、顧客からサブスクリプションオーダー情報を受取るように構成される。サブスクリプションオーダー情報は、顧客特有の構成および第1のサービスのためのオーダー要求を含む。電子デバイス1800はさらに第1のリソースアセンブリ選択ユニット1806を含む。第1のリソースアセンブリ選択ユニット1806は、サブスクリプションオーダー情報に基づいて、顧客に第1のサービスを提供するためにリソースアセンブリの第1の組から第1のリソースアセンブリを選択するように構成される。電子デバイス1800はさらに、第1の顧客特有リソースアセンブリ作成ユニット1808を含む。第1の顧客特有リソースアセンブリ作成ユニット1808は、第1のリソースアセンブリを顧客特有の構成で構成することによって、顧客に第1のサービスを提供するために第1の顧客特有リソースアセンブリを作成するように構成される。   FIG. 18 is a simplified block diagram of an electronic device 1800 according to an embodiment of the present invention. The electronic device 1800 includes a first resource assembly set creation unit 1802. The first resource assembly set creation unit 1802 includes a first set of one or more resource assemblies for a first service from a plurality of cloud services provided by a cloud infrastructure system that includes one or more computing devices. Configured to create. Each resource assembly in the first set of resource assemblies includes one or more resources for providing a first service. The electronic device 1800 further includes a receiving unit 1804. The receiving unit 1804 is configured to receive subscription order information from the customer after creation. The subscription order information includes a customer specific configuration and an order request for the first service. The electronic device 1800 further includes a first resource assembly selection unit 1806. First resource assembly selection unit 1806 is configured to select a first resource assembly from a first set of resource assemblies to provide a first service to a customer based on subscription order information. . The electronic device 1800 further includes a first customer specific resource assembly creation unit 1808. A first customer-specific resource assembly creation unit 1808 creates a first customer-specific resource assembly to provide a first service to a customer by configuring the first resource assembly in a customer-specific configuration. Configured.

一例においては、サブスクリプションオーダー情報は、クラウドインフラストラクチャシステムによって提供される複数のクラウドサービスに第2のサービスを要求する。電子デバイス1800はさらに、第2のリソースアセンブリセット作成ユニット1803を含む。第2のリソースアセンブリセット作成ユニット1803は、クラウドインフラストラクチャシステムによって提供される複数のクラウドサービスから第2のサービスのためのリソースアセンブリの第2の組を作成するように構成される。リソースアセンブリの第2の組における各リソースアセンブリは、第2のサービスを提供するための1つ以上のリソースを含む。リソースアセンブリの第2の組の作成は、顧客からサブスクリプションオーダー情報を受取る前に実行される。電子デバイス1800はさらに、第2のリソースアセンブリ選択ユニット1805を含む。第2のリソースアセンブリ選択ユニット1805は、顧客に第2のサービスを提供するために、サブスクリプションオーダー情報に基づいて、リソースアセンブリの第2の組のうちの第2のリソースアセンブリを、1つ以上の演算装置から選択するように構成される。電子デバイス1800はさらに、第2の顧客特有リソースアセンブリ作成ユニット1807を含む。第2の顧客特有リソースアセンブリ作成ユニット1807はさらに、第2のリソースアセンブリを顧客特有の構成で構成することによって顧客に第2のサービスを提供するために第2の顧客特有リソースアセンブリを作成するように構成される。電子デバイス1800はさらに、統合ユニット1809を含む。統合ユニット1809は、第1の顧客特有リソースアセンブリおよび第2の顧客特有リソースアセンブリに関連付けられた1つ以上のファイアウォールを調整することによって、第1の顧客特有リソースアセンブリと第2の顧客特有リソースアセンブリとの間のデータフローを可能にするために、第1の顧客特有リソースアセンブリと第2の顧客特有リソースアセンブリとを統合するように構成される。   In one example, the subscription order information requests a second service from a plurality of cloud services provided by the cloud infrastructure system. The electronic device 1800 further includes a second resource assembly set creation unit 1803. The second resource assembly set creation unit 1803 is configured to create a second set of resource assemblies for the second service from a plurality of cloud services provided by the cloud infrastructure system. Each resource assembly in the second set of resource assemblies includes one or more resources for providing a second service. Creation of the second set of resource assemblies is performed before receiving subscription order information from the customer. The electronic device 1800 further includes a second resource assembly selection unit 1805. The second resource assembly selection unit 1805 selects one or more second resource assemblies of the second set of resource assemblies based on the subscription order information to provide a second service to the customer. It is comprised so that it may select from the arithmetic unit of. The electronic device 1800 further includes a second customer specific resource assembly creation unit 1807. The second customer specific resource assembly creation unit 1807 is further adapted to create a second customer specific resource assembly to provide a second service to the customer by configuring the second resource assembly in a customer specific configuration. Configured. The electronic device 1800 further includes an integration unit 1809. The integration unit 1809 adjusts one or more firewalls associated with the first customer-specific resource assembly and the second customer-specific resource assembly to provide a first customer-specific resource assembly and a second customer-specific resource assembly. Is configured to integrate the first customer specific resource assembly and the second customer specific resource assembly.

一例においては、第1のサービスはデータベースサービスであり、第1の顧客特有リソースアセンブリ作成ユニット1808はさらに、バーチャル・アセンブリ・ビルダを用いて、1つ以上の仮想マシン(VM)を備えたデータベースサービスのために特定的にプロビジョニングされた第1のリソースアセンブリを作成し;バーチャル・アセンブリ・ビルダを並行して動作させることを可能にするためにバーチャル・アセンブリ・ビルダに関連付けられるバーチャル・アセンブリ・ビルダ・ホームを作成し;デプロイメント・プラン・ファイルを作成するように構成される。デプロイメント・プラン・ファイルは、顧客特有の構成を1つ以上のVMにインジェクションするための構成情報を含む。   In one example, the first service is a database service, and the first customer specific resource assembly creation unit 1808 further uses a virtual assembly builder to provide a database service comprising one or more virtual machines (VMs). Create a first resource assembly specifically provisioned for the virtual assembly builder associated with the virtual assembly builder to allow the virtual assembly builder to operate in parallel Create a home; configured to create a deployment plan file. The deployment plan file includes configuration information for injecting customer specific configuration into one or more VMs.

一例においては、リソースアセンブリの第1の組における各リソースアセンブリはマルチテナントサービスのために構成される。   In one example, each resource assembly in the first set of resource assemblies is configured for multi-tenant service.

一例においては、第1のサービスはデータベースサービスである。複数のスキーマが第1のリソースアセンブリに含まれる。複数のスキーマは、第1の顧客に関連付けられた第1のスキーマと、第1の顧客とは異なる第2の顧客に関連付けられた第2のスキーマとを含む。   In one example, the first service is a database service. Multiple schemas are included in the first resource assembly. The plurality of schemas includes a first schema associated with the first customer and a second schema associated with a second customer different from the first customer.

一例においては、リソースアセンブリの第1の組における各リソースアセンブリがシングルテナントサービスのために構成される。   In one example, each resource assembly in the first set of resource assemblies is configured for a single tenant service.

一例においては、サブスクリプションオーダー情報はサービスインスタンスサイズを含む。電子デバイス1800はさらに、サービスインスタンスサイズに基づいて、リソースアセンブリの第1の組から、顧客のために用いられるべきリリソースアセンブリの数を決定するように構成された決定ユニットを含む。   In one example, the subscription order information includes a service instance size. The electronic device 1800 further includes a determination unit configured to determine the number of resource assemblies to be used for the customer from the first set of resource assemblies based on the service instance size.

一例においては、電子デバイス1800はさらに、第1のサービスのためにプロビジョニングされたリソースアセンブリの第1の組を追跡し続けるためにレジストリを格納するように構成された格納ユニットを含む。レジストリはさらに、顧客特有にされた1つ以上のリソースアセンブリを追跡するように構成される。   In one example, the electronic device 1800 further includes a storage unit configured to store a registry to keep track of the first set of resource assemblies provisioned for the first service. The registry is further configured to track one or more resource assemblies that are customer specific.

なお、点線によって示されるユニットは任意である。本明細書に開示されているさまざまなユニットは、ハードウェア、ソフトウェアまたはそれらの組み合わせで実現されてもよく、またはそれらによって実行されてもよい。それらは、本明細書に記載されている機能を実行するように設計された汎用シングルチップもしくはマルチチッププロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(application specific integrated circuit:ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array:FPGA)もしくは他のプログラマブルロジックデバイス、ディスクリートゲートもしくはトランジスタ論理回路、ディスクリートハードウェアコンポーネント、またはそれらの任意の組み合わせで実現されてもよく、またはそれらによって実行されてもよい。汎用プロセッサは、マイクロプロセッサ、または任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。また、プロセッサは、演算装置の組み合わせ、例えばDSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと併用した1つ以上のマイクロプロセッサの組み合わせ、またはその他のこのような構成として実現されてもよい。いくつかの実現例では、当該ユニットは、所与の機能に特有の回路によって実現されてもよい。   The unit indicated by the dotted line is arbitrary. The various units disclosed herein may be implemented in or performed by hardware, software, or a combination thereof. They are general-purpose single-chip or multi-chip processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), fields designed to perform the functions described herein. A programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic circuit, a discrete hardware component, or any combination thereof, or can be implemented by May be. A general purpose processor may be a microprocessor, or any conventional processor, controller, microcontroller, or state machine. The processor may be realized as a combination of arithmetic devices, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors used in combination with a DSP core, or other such configuration. May be. In some implementations, the unit may be implemented by circuitry that is specific to a given function.

本発明の特定の実施例について説明してきたが、さまざまな変形例、変更例、代替的な構成および等価物も本発明の範囲内に包含される。本発明の実施例は、特定の具体的なデータ処理環境内での動作に限定されるものではなく、複数のデータ処理環境内で自由に動作できる。さらに、特定の一連のトランザクションおよびステップを使用して本発明の実施例について説明してきたが、本発明の範囲が、記載されている一連のトランザクションおよびステップに限定されるものではないということが当業者に明らかであるべきである。   While specific embodiments of the invention have been described, various modifications, changes, alternative configurations and equivalents are also encompassed within the scope of the invention. Embodiments of the present invention are not limited to operation within a specific specific data processing environment, but can operate freely within a plurality of data processing environments. Further, while embodiments of the present invention have been described using a specific sequence of transactions and steps, it is to be understood that the scope of the present invention is not limited to the set of transactions and steps described. Should be obvious to the contractor.

さらに、ハードウェアおよびソフトウェアの特定の組み合わせを使用して本発明の実施例について説明してきたが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲内であることが認識されるべきである。本発明の実施例は、ハードウェアのみで実現されてもよく、またはソフトウェアのみで実現されてもよく、またはそれらの組み合わせを使用して実現されてもよい。この明細書中に記載されるさまざまなプロセスは、同じプロセッサ上で、または任意に組み合わせされたさまざまなプロセッサ上で実現することができる。したがって、コンポーネントまたはモジュールがいくつかのオペレーションを実行するように構成されるものと記載されているが、このような構成は、例えば、オペレーションを実行するように電子回路を設計することによって、オペレーションを実行するようにプログラム可能な電子回路(マイクロプロセッサなど)をプログラミングすることによって、またはこれらを組み合わせることによって、達成することができる。プロセス同士は、プロセス間通信のための従来の技術を含むがこれらに限定されないさまざまな技術を用いて通信することができ、異なる対のプロセスは異なる技術を用いてもよく、または、同じ対のプロセスは異なる時間に異なる技術を用いてもよい。   Further, although embodiments of the invention have been described using specific combinations of hardware and software, it should be recognized that other combinations of hardware and software are also within the scope of the invention. Embodiments of the present invention may be implemented in hardware only, software only, or a combination thereof. The various processes described in this specification can be implemented on the same processor or on any combination of processors. Thus, although a component or module is described as being configured to perform a number of operations, such a configuration can be operated by, for example, designing an electronic circuit to perform the operations. This can be accomplished by programming electronic circuitry (such as a microprocessor) that is programmable to execute, or a combination thereof. Processes can communicate using a variety of techniques, including but not limited to conventional techniques for inter-process communication, and different pairs of processes may use different techniques, or the same pair of processes The process may use different techniques at different times.

したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考えられるべきである。しかし、特許請求の範囲に記載されているより広範な精神および範囲から逸脱することなく、追加、削減、削除ならびに他の変形および変更がそれに対してなされてもよいということは明白であろう。このように、特定の発明の実施例を記載してきたが、これらは制限するようには意図されるものではない。さまざまな変更例および同等例は添付の特許請求の範囲内にある。   The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense. However, it will be apparent that additions, reductions, deletions and other variations and modifications may be made thereto without departing from the broader spirit and scope described in the claims. Thus, although specific embodiments of the invention have been described, they are not intended to be limiting. Various modifications and equivalents are within the scope of the appended claims.

Claims (17)

方法であって、
1つ以上の演算装置を含むクラウドインフラストラクチャシステムによって、前記クラウドインフラストラクチャシステムにより提供される複数のクラウドサービスから第1のサービスのための1つ以上のリソースアセンブリの第1の組を作成するステップを含み、前記リソースアセンブリの第1の組における各リソースアセンブリは、前記第1のサービスを提供するための1つ以上のリソースを含み、前記方法はさらに、
作成後、前記クラウドインフラストラクチャシステムによって、顧客からサブスクリプションオーダー情報を受取るステップを含み、前記サブスクリプションオーダー情報は、顧客特有の構成および前記第1のサービスのためのオーダー要求を含み、前記方法はさらに、
前記顧客に前記第1のサービスを提供するために、前記1つ以上の演算装置のうちの任意の演算装置によって、前記サブスクリプションオーダー情報に基づいて、前記リソースアセンブリの第1の組から第1のリソースアセンブリを選択するステップと、
第1の顧客特有リソースアセンブリを前記顧客特有の構成で構成することによって前記顧客に前記第1のサービスを提供するために、前記1つ以上の演算装置のうちの任意の演算装置によって、前記第1の顧客特有リソースアセンブリを作成するステップと、
前記演算装置によって、前記第1の顧客特有リソースアセンブリにおいて特定される前記顧客特有の構成に少なくとも部分的に基づいて、前記第1のサービスをプロビジョニングさせるステップとを含む、方法。
A method,
Creating a first set of one or more resource assemblies for a first service from a plurality of cloud services provided by the cloud infrastructure system by a cloud infrastructure system including one or more computing devices; Each resource assembly in the first set of resource assemblies includes one or more resources for providing the first service, the method further comprising:
Receiving, by the cloud infrastructure system, receiving subscription order information from a customer, wherein the subscription order information includes a customer specific configuration and an order request for the first service, the method comprising: further,
In order to provide the customer with the first service, any one of the one or more computing devices may provide a first from the first set of resource assemblies based on the subscription order information. Selecting a resource assembly for
In order to provide the customer with the first service by configuring a first customer-specific resource assembly in the customer-specific configuration, the first customer-specific resource assembly is configured by any of the one or more computing devices to Creating a customer specific resource assembly;
Provisioning said first service by said computing device based at least in part on said customer specific configuration identified in said first customer specific resource assembly.
前記サブスクリプションオーダー情報は、前記クラウドインフラストラクチャシステムによって提供される前記複数のクラウドサービスに第2のサービスを要求し、前記方法はさらに、
前記クラウドインフラストラクチャシステムによって提供される前記複数のクラウドサービスから第2のサービスのためのリソースアセンブリの第2の組を前記クラウドインフラストラクチャシステムによって作成するステップを含み、前記リソースアセンブリの第2の組における各リソースアセンブリは、前記第2のサービスを提供するための1つ以上のリソースを含み、前記リソースアセンブリの第2の組の作成は、前記顧客から前記サブスクリプションオーダー情報を受取る前に実行され、前記方法はさらに、
前記顧客に前記第2のサービスを提供するために、前記1つ以上の演算装置のうちの任意の演算装置によって、前記サブスクリプションオーダー情報に基いて、前記リソースアセンブリの第2の組から第2のリソースアセンブリを選択するステップと、
前記第2のリソースアセンブリを前記顧客特有の構成で構成することによって前記顧客に前記第2のサービスを提供するために、前記1つ以上の演算装置のうちの任意の演算装置によって、第2の顧客特有リソースアセンブリを作成するステップと、
前記第1の顧客特有リソースアセンブリおよび前記第2の顧客特有リソースアセンブリに関連付けられた1つ以上のファイアウォールを調整することによって、前記第1の顧客特有リソースアセンブリと前記第2の顧客特有リソースアセンブリとの間のデータフローを可能にするために、前記1つ以上の演算装置のうちの任意の演算装置によって、前記第1の顧客特有リソースアセンブリと前記第2の顧客特有リソースアセンブリとを統合するステップとを含む、請求項1に記載の方法。
The subscription order information requests a second service from the plurality of cloud services provided by the cloud infrastructure system, and the method further comprises:
Creating by the cloud infrastructure system a second set of resource assemblies for a second service from the plurality of cloud services provided by the cloud infrastructure system, the second set of resource assemblies Each resource assembly includes one or more resources for providing the second service, and the creation of the second set of resource assemblies is performed prior to receiving the subscription order information from the customer. The method further comprises:
In order to provide the customer with the second service, any one of the one or more computing devices may receive a second from the second set of resource assemblies based on the subscription order information. Selecting a resource assembly for
In order to provide the customer with the second service by configuring the second resource assembly in the customer-specific configuration, any computing device of the one or more computing devices may provide a second Creating a customer-specific resource assembly;
Adjusting the first customer specific resource assembly and the second customer specific resource assembly by adjusting one or more firewalls associated with the first customer specific resource assembly and the second customer specific resource assembly; Integrating the first customer-specific resource assembly and the second customer-specific resource assembly by any of the one or more computing devices to enable data flow between the first customer-specific resource assembly and the second customer-specific resource assembly. The method of claim 1 comprising:
前記リソースアセンブリを前記顧客特有の構成で構成する前記ステップは、前記顧客特有の構成に含まれる情報で前記リソースアセンブリをカスタマイズするステップを含む、請求項1または2に記載の方法。   The method according to claim 1 or 2, wherein the step of configuring the resource assembly with the customer specific configuration comprises customizing the resource assembly with information contained in the customer specific configuration. 前記第1のサービスはデータベースサービスであり、前記第1の顧客特有リソースアセンブリを作成する前記ステップはさらに、
バーチャル・アセンブリ・ビルダを用いて、1つ以上の仮想マシン(VM)を備えた前記データベースサービスのために特定的にプロビジョニングされた前記第1のリソースアセンブリを作成するステップと、
並行なバーチャル・アセンブリ・ビルダの動作を可能にするために、前記バーチャル・アセンブリ・ビルダに関連付けられるバーチャル・アセンブリ・ビルダ・ホームを作成するステップと、
デプロイメント・プラン・ファイルを作成するステップとを含み、前記デプロイメント・プラン・ファイルは、前記顧客特有の構成を前記1つ以上のVMにインジェクションするための構成情報を含む、請求項1〜3のいずれか1項に記載の方法。
The first service is a database service, and the step of creating the first customer specific resource assembly further comprises:
Creating the first resource assembly specifically provisioned for the database service with one or more virtual machines (VMs) using a virtual assembly builder;
Creating a virtual assembly builder home associated with the virtual assembly builder to enable parallel virtual assembly builder operation;
Creating a deployment plan file, wherein the deployment plan file includes configuration information for injecting the customer specific configuration into the one or more VMs. The method according to claim 1.
前記リソースアセンブリの第1の組における各リソースアセンブリはマルチテナントサービスのために構成される、請求項1〜4のいずれか1項に記載の方法。   The method of any one of claims 1-4, wherein each resource assembly in the first set of resource assemblies is configured for multi-tenant services. 前記第1のサービスはデータベースサービスであり、
複数のスキーマが前記第1のリソースアセンブリに含まれ、前記複数のスキーマは、第1の顧客に関連付けられた第1のスキーマと、前記第1の顧客とは異なる第2の顧客に関連付けられた第2のスキーマとを含む、請求項5に記載の方法。
The first service is a database service;
A plurality of schemas are included in the first resource assembly, the plurality of schemas being associated with a first schema associated with the first customer and a second customer different from the first customer. 6. The method of claim 5, comprising a second schema.
前記リソースアセンブリの第1の組における各リソースアセンブリはシングルテナントサービスのために構成される、請求項1〜4のいずれか1項に記載の方法。   The method of any one of claims 1-4, wherein each resource assembly in the first set of resource assemblies is configured for a single tenant service. 前記サブスクリプションオーダー情報は、サービスインスタンスサイズを含み、前記方法はさらに、
前記1つ以上の演算装置のうちの任意の演算装置によって、前記サービスインスタンスサイズに基づいて、前記リソースアセンブリの第1の組から前記顧客のために用いられるべきリソースアセンブリの数を決定するステップを含む、請求項1〜7のいずれか1項に記載の方法。
The subscription order information includes a service instance size, and the method further includes:
Determining the number of resource assemblies to be used for the customer from the first set of resource assemblies based on the service instance size by any of the one or more computing devices. The method according to claim 1, comprising:
前記クラウドインフラストラクチャシステムによって、前記第1のサービスのためにプロビジョニングされた前記リソースアセンブリの第1の組を追跡し続けるためにレジストリを格納するステップを含み、前記レジストリはさらに、顧客特有にされた1つ以上のリソースアセンブリを追跡するように構成される、請求項1〜8のいずれか1項に記載の方法。   Storing a registry to keep track of the first set of resource assemblies provisioned for the first service by the cloud infrastructure system, the registry being further customer specific 9. A method according to any one of the preceding claims, configured to track one or more resource assemblies. システムであって、
一組のクラウドサービスを提供するように構成可能な1つ以上の演算装置と、
クラウドインフラストラクチャシステムによって提供される複数のクラウドサービスのうちの第1のサービスのための1つ以上のリソースアセンブリの第1の組とを含み、前記リソースアセンブリの第1の組における各リソースアセンブリは、前記第1のサービスを提供するための1つ以上のリソースを含み、前記システムはさらに、
顧客からのサブスクリプションオーダー情報を格納するように構成可能なメモリを含み、前記サブスクリプションオーダー情報は、顧客特有の構成および前記第1のサービスのためのオーダー要求を含み、
前記1つ以上の演算装置のうちの任意の演算装置は、
前記顧客に前記第1のサービスを提供するために、前記サブスクリプションオーダー情報に基づいて、前記リソースアセンブリの第1の組から第1のリソースアセンブリを選択し、
第1の顧客特有リソースアセンブリを前記顧客特有の構成で構成することによって前記顧客に前記第1のサービスを提供するために、前記第1の顧客特有リソースアセンブリを作成し、
前記第1の顧客特有リソースアセンブリにおいて特定される前記顧客特有の構成に少なくとも部分的に基づいて、前記第1のサービスをプロビジョニングさせるように構成可能である、システム。
A system,
One or more computing devices configurable to provide a set of cloud services;
A first set of one or more resource assemblies for a first service of a plurality of cloud services provided by a cloud infrastructure system, wherein each resource assembly in the first set of resource assemblies is , Including one or more resources for providing the first service, the system further comprising:
A memory configurable to store subscription order information from a customer, wherein the subscription order information includes a customer specific configuration and an order request for the first service;
An arbitrary arithmetic device among the one or more arithmetic devices is:
Selecting a first resource assembly from the first set of resource assemblies based on the subscription order information to provide the customer with the first service;
Creating the first customer specific resource assembly to provide the first service to the customer by configuring the first customer specific resource assembly in the customer specific configuration;
A system configurable to provision the first service based at least in part on the customer specific configuration identified in the first customer specific resource assembly.
前記サブスクリプションオーダー情報は、前記クラウドインフラストラクチャシステムによって提供される前記複数のクラウドサービスに第2のサービスを要求し、前記システムはさらに、
前記クラウドインフラストラクチャシステムによって提供される前記複数のクラウドサービスから第2のサービスのためのリソースアセンブリの第2の組を作成するように構成され、前記リソースアセンブリの第2の組における各リソースアセンブリは、前記第2のサービスを提供するための1つ以上のリソースを含み、前記リソースアセンブリの第2の組の作成は、前記顧客から前記サブスクリプションオーダー情報を受取る前に実行され、前記システムはさらに、
前記顧客に前記第2のサービスを提供するために、前記サブスクリプションオーダー情報に基づいて、前記リソースアセンブリの第2の組から第2のリソースアセンブリを選択し、
前記第2のリソースアセンブリを前記顧客特有の構成で構成することによって前記顧客に前記第2のサービスを提供するために、第2の顧客特有リソースアセンブリを作成し、
前記第1の顧客特有リソースアセンブリおよび前記第2の顧客特有リソースアセンブリに関連付けられた1つ以上のファイアウォールを調整することによって、前記第1の顧客特有リソースアセンブリと前記第2の顧客特有リソースアセンブリとの間のデータフローを可能にするために、前記第1の顧客特有リソースアセンブリと前記第2の顧客特有リソースアセンブリとを統合するように構成される、請求項10に記載のシステム。
The subscription order information requests a second service from the plurality of cloud services provided by the cloud infrastructure system, the system further comprising:
Configured to create a second set of resource assemblies for a second service from the plurality of cloud services provided by the cloud infrastructure system, wherein each resource assembly in the second set of resource assemblies is , Including one or more resources for providing the second service, wherein the creation of the second set of resource assemblies is performed prior to receiving the subscription order information from the customer, the system further comprising: ,
Selecting a second resource assembly from the second set of resource assemblies based on the subscription order information to provide the customer with the second service;
Creating a second customer-specific resource assembly to provide the second service to the customer by configuring the second resource assembly in the customer-specific configuration;
Adjusting the first customer specific resource assembly and the second customer specific resource assembly by adjusting one or more firewalls associated with the first customer specific resource assembly and the second customer specific resource assembly; The system of claim 10, wherein the system is configured to integrate the first customer specific resource assembly and the second customer specific resource assembly to allow data flow between the first customer specific resource assembly and the second customer specific resource assembly.
前記サブスクリプションオーダー情報はサービスインスタンスサイズを含み、さらに、
前記サービスインスタンスサイズに基づいて、前記リソースアセンブリの第1の組から、前記顧客のために用いられるべきリソースアセンブリの数を決定するように構成される、請求項10または11に記載のシステム。
The subscription order information includes a service instance size, and
12. A system according to claim 10 or 11, configured to determine the number of resource assemblies to be used for the customer from the first set of resource assemblies based on the service instance size.
前記第1のサービスのためにプロビジョニングされた前記リソースアセンブリの第1の
組を追跡し続けるためにレジストリを格納するようにさらに構成され、前記レジストリはさらに、顧客特有にされた1つ以上のリソースアセンブリを追跡するように構成される、請求項10〜12のいずれか1項に記載のシステム。
Further configured to store a registry to keep track of the first set of resource assemblies provisioned for the first service, the registry further comprising one or more resources that are customer specific 13. A system according to any one of claims 10 to 12, configured to track an assembly.
一組のクラウドサービスを提供するためのシステムであって、
クラウドインフラストラクチャシステムによって提供される複数のクラウドサービスのうちの第1のサービスのために1つ以上のリソースアセンブリの第1の組を維持するための手段を含み、前記リソースアセンブリの第1の組における各リソースアセンブリは、前記第1のサービスを提供するための1つ以上のリソースを含み、前記システムはさらに、
顧客からのサブスクリプションオーダー情報を格納するための手段を含み、前記サブスクリプションオーダー情報は、顧客特有の構成および前記第1のサービスのためのオーダー要求を含み、前記システムはさらに、
前記顧客に前記第1のサービスを提供するために、前記サブスクリプションオーダー情報に基づいて、前記リソースアセンブリの第1の組から第1のリソースアセンブリを選択するための手段と、
第1の顧客特有リソースアセンブリを前記顧客特有の構成で構成することによって前記顧客に前記第1のサービスを提供するために前記第1の顧客特有リソースアセンブリを作成するための手段と、
前記第1の顧客特有リソースアセンブリにおいて特定される前記顧客特有の構成に少なくとも部分的に基づいて前記第1のサービスをプロビジョニングさせるための手段とを含む、システム。
A system for providing a set of cloud services,
Means for maintaining a first set of one or more resource assemblies for a first service of a plurality of cloud services provided by a cloud infrastructure system, the first set of resource assemblies Wherein each resource assembly includes one or more resources for providing the first service, the system further comprising:
Means for storing subscription order information from a customer, wherein the subscription order information includes a customer specific configuration and an order request for the first service, the system further comprising:
Means for selecting a first resource assembly from the first set of resource assemblies based on the subscription order information to provide the first service to the customer;
Means for creating the first customer specific resource assembly to provide the first service to the customer by configuring the first customer specific resource assembly in the customer specific configuration;
Means for provisioning the first service based at least in part on the customer specific configuration identified in the first customer specific resource assembly.
前記サブスクリプションオーダー情報は、前記クラウドインフラストラクチャシステムによって提供される前記複数のクラウドサービスに第2のサービスを要求し、前記システムはさらに、
前記クラウドインフラストラクチャシステムによって提供される前記複数のクラウドサービスのうちの第2のサービスのために、リソースアセンブリの第2の組を作成するための手段を含み、前記リソースアセンブリの第2の組における各リソースアセンブリは、前記第2のサービスを提供するための1つ以上のリソースを含み、前記リソースアセンブリの第2の組の作成は、前記顧客から前記サブスクリプションオーダー情報を受取る前に実行され、前記システムはさらに、
前記顧客に前記第2のサービスを提供するために、前記サブスクリプションオーダー情報に基づいて、前記リソースアセンブリの第2の組から第2のリソースアセンブリを選択するための手段と、
前記第2のリソースアセンブリを前記顧客特有の構成で構成することによって前記顧客に前記第2のサービスを提供するために第2の顧客特有リソースアセンブリを作成するための手段と、
前記第1の顧客特有リソースアセンブリおよび前記第2の顧客特有リソースアセンブリに関連付けられた1つ以上のファイアウォールを調整することによって、前記第1の顧客特有リソースアセンブリと前記第2の顧客特有リソースアセンブリとの間のデータフローを可能にするために、前記第1の顧客特有リソースアセンブリと前記第2の顧客特有リソースアセンブリとを統合するための手段とを含む、請求項14に記載のシステム。
The subscription order information requests a second service from the plurality of cloud services provided by the cloud infrastructure system, the system further comprising:
Means for creating a second set of resource assemblies for a second service of the plurality of cloud services provided by the cloud infrastructure system, wherein in the second set of resource assemblies Each resource assembly includes one or more resources for providing the second service, and the creation of the second set of resource assemblies is performed prior to receiving the subscription order information from the customer; The system further includes:
Means for selecting a second resource assembly from the second set of resource assemblies based on the subscription order information to provide the second service to the customer;
Means for creating a second customer specific resource assembly to provide the second service to the customer by configuring the second resource assembly in the customer specific configuration;
Adjusting the first customer specific resource assembly and the second customer specific resource assembly by adjusting one or more firewalls associated with the first customer specific resource assembly and the second customer specific resource assembly; 15. The system of claim 14, comprising means for integrating the first customer specific resource assembly and the second customer specific resource assembly to allow data flow between the first customer specific resource assembly and the second customer specific resource assembly.
一組のクラウドサービスを提供するように構成されたクラウドインフラストラクチャシステムのためのコンピュータ読取可能プログラムであって、前記クラウドインフラストラクチャシステムに、
前記クラウドインフラストラクチャシステムによって提供される複数のクラウドサービスから第1のサービスのための1つ以上のリソースアセンブリの第1の組を作成させ、前記リソースアセンブリの第1の組における各リソースアセンブリは、前記第1のサービスを提供するための1つ以上のリソースを含み、さらに、
作成後、顧客特有の構成および前記第1のサービスのためのオーダー要求を含むサブスクリプションオーダー情報を顧客から受取らせ、
前記顧客に前記第1のサービスを提供するために、前記サブスクリプションオーダー情報に基づいて、前記リソースアセンブリの第1の組から第1のリソースアセンブリを選択させ、
第1の顧客特有リソースアセンブリを前記顧客特有の構成で構成することによって前記顧客に前記第1のサービスを提供するために前記第1の顧客特有リソースアセンブリを作成させ、
前記第1の顧客特有リソースアセンブリにおいて特定される前記顧客特有の構成に少なくとも部分的に基づいて前記第1のサービスをプロビジョニングさせる、コンピュータ読取可能プログラム。
A computer readable program for a cloud infrastructure system configured to provide a set of cloud services, the cloud infrastructure system comprising:
Creating a first set of one or more resource assemblies for a first service from a plurality of cloud services provided by the cloud infrastructure system, wherein each resource assembly in the first set of resource assemblies includes: Including one or more resources for providing the first service;
After creation, subscription order information is received from the customer, including customer specific configuration and order request for the first service,
Selecting a first resource assembly from a first set of resource assemblies based on the subscription order information to provide the customer with the first service;
Configuring the first customer specific resource assembly to provide the first service to the customer by configuring the first customer specific resource assembly in the customer specific configuration;
A computer readable program for causing the first service to be provisioned based at least in part on the customer specific configuration identified in the first customer specific resource assembly.
前記サブスクリプションオーダー情報は、前記クラウドインフラストラクチャシステムによって提供される前記複数のクラウドサービスに第2のサービスを要求し、前記コンピュータ読取可能プログラムはさらに前記クラウドインフラストラクチャシステムに、
前記クラウドインフラストラクチャシステムによって提供される前記複数のクラウドサービスから第2のサービスのためのリソースアセンブリの第2の組を作成させ、前記リソースアセンブリの第2の組における各リソースアセンブリは、前記第2のサービスを提供するための1つ以上のリソースを含み、前記リソースアセンブリの第2の組の作成は、前記顧客から前記サブスクリプションオーダー情報を受取る前に実行され、さらに、
前記顧客に前記第2のサービスを提供するために、前記サブスクリプションオーダー情報に基づいて、前記リソースアセンブリの第2の組から第2のリソースアセンブリを選択させ、
前記第2のリソースアセンブリを前記顧客特有の構成で構成することによって前記顧客に前記第2のサービスを提供するために、第2の顧客特有リソースアセンブリを作成させ、
前記第1の顧客特有リソースアセンブリおよび前記第2の顧客特有リソースアセンブリに関連付けられた1つ以上のファイアウォールを調整することによって、前記第1の顧客特有リソースアセンブリと前記第2の顧客特有リソースアセンブリとの間のデータフローを可能にするために、前記第1の顧客特有リソースアセンブリと前記第2の顧客特有リソースアセンブリとを統合させる、請求項16に記載のコンピュータ読取可能プログラム。
The subscription order information requests a second service from the plurality of cloud services provided by the cloud infrastructure system, and the computer readable program further requests the cloud infrastructure system,
Creating a second set of resource assemblies for a second service from the plurality of cloud services provided by the cloud infrastructure system, wherein each resource assembly in the second set of resource assemblies is the second The creation of the second set of resource assemblies is performed prior to receiving the subscription order information from the customer, further comprising:
Selecting a second resource assembly from a second set of resource assemblies based on the subscription order information to provide the customer with the second service;
Creating a second customer-specific resource assembly to provide the customer with the second service by configuring the second resource assembly in the customer-specific configuration;
Adjusting the first customer specific resource assembly and the second customer specific resource assembly by adjusting one or more firewalls associated with the first customer specific resource assembly and the second customer specific resource assembly; The computer readable program of claim 16, wherein the first customer specific resource assembly and the second customer specific resource assembly are integrated to allow data flow between the first customer specific resource assembly and the second customer specific resource assembly.
JP2015531267A 2012-09-07 2013-09-06 LDAP-based multi-customer in-cloud identity management system Active JP6181185B2 (en)

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
US201361794427P 2013-03-15 2013-03-15
US201361801160P 2013-03-15 2013-03-15
US13/844,018 US9501541B2 (en) 2012-09-07 2013-03-15 Separation of pod provisioning and service provisioning
US61/794,427 2013-03-15
US13/844,018 2013-03-15
US61/801,160 2013-03-15
PCT/US2013/058638 WO2014039918A1 (en) 2012-09-07 2013-09-06 Ldap-based multi-customer in-cloud identity management system

Publications (3)

Publication Number Publication Date
JP2016500854A JP2016500854A (en) 2016-01-14
JP2016500854A5 JP2016500854A5 (en) 2016-10-20
JP6181185B2 true JP6181185B2 (en) 2017-08-16

Family

ID=50237662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015531267A Active JP6181185B2 (en) 2012-09-07 2013-09-06 LDAP-based multi-customer in-cloud identity management system

Country Status (4)

Country Link
EP (1) EP2893683A1 (en)
JP (1) JP6181185B2 (en)
CN (1) CN104737517B (en)
WO (1) WO2014039918A1 (en)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053302B2 (en) 2012-06-08 2015-06-09 Oracle International Corporation Obligation system for enterprise environments
US9467355B2 (en) 2012-09-07 2016-10-11 Oracle International Corporation Service association model
US9667470B2 (en) 2012-09-07 2017-05-30 Oracle International Corporation Failure handling in the execution flow of provisioning operations in a cloud environment
US9253113B2 (en) 2012-09-07 2016-02-02 Oracle International Corporation Customizable model for throttling and prioritizing orders in a cloud environment
US9542400B2 (en) 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
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
US10148530B2 (en) 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
US9069979B2 (en) 2012-09-07 2015-06-30 Oracle International Corporation LDAP-based multi-tenant in-cloud identity management system
US9276942B2 (en) 2012-09-07 2016-03-01 Oracle International Corporation Multi-tenancy identity management system
US9501541B2 (en) 2012-09-07 2016-11-22 Oracle International Corporation Separation of pod provisioning and service provisioning
US9608958B2 (en) 2013-03-12 2017-03-28 Oracle International Corporation Lightweight directory access protocol (LDAP) join search mechanism
CN105900059B (en) 2014-01-21 2019-06-07 甲骨文国际公司 System and method for supporting multi-tenant in application server, cloud or other environment
EP3155576B1 (en) * 2014-06-11 2021-05-05 Oracle International Corporation Providing a subscription for a service using an existing subscription
JP6541694B2 (en) * 2014-06-11 2019-07-10 オラクル・インターナショナル・コーポレイション Providing subscriptions for services using existing subscriptions
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
JP6273179B2 (en) * 2014-08-15 2018-01-31 エヌ・ティ・ティ・コムウェア株式会社 Orchestration system, method, and program
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
WO2016049376A1 (en) 2014-09-24 2016-03-31 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
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
US10084723B2 (en) 2014-09-25 2018-09-25 Oracle International Corporation System and method for providing an end-to-end lifecycle 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
US10142174B2 (en) 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning
US10498807B2 (en) * 2015-10-19 2019-12-03 Citrix Systems, Inc. Multi-tenant multi-session catalogs with machine-level isolation
US10938665B2 (en) 2015-12-15 2021-03-02 At&T Intellectual Property I, L.P. Method and apparatus for creating a custom service
US9781122B1 (en) 2016-05-11 2017-10-03 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US9838376B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Microservices based 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
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
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
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store 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
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy 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
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud 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
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
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
CN109565511B (en) * 2016-09-16 2021-06-29 甲骨文国际公司 Tenant and service management for multi-tenant identity and data security management cloud services
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
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management 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
US10375111B2 (en) * 2016-11-12 2019-08-06 Microsoft Technology Licensing, Llc Anonymous containers
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
HRP20240139T1 (en) * 2017-04-14 2024-04-12 Cloudblue Llc Technologies for creating and distributing integration connectors in a cloud service brokerage system
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10389603B2 (en) 2017-06-02 2019-08-20 Microsoft Technology Licensing, Llc Fast provisioning of tenants on a hosted service
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in 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
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust 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
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison 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
CN108769254B (en) * 2018-06-25 2019-09-20 星环信息科技(上海)有限公司 Resource-sharing application method, system and equipment based on preemption scheduling
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
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
US11394711B2 (en) * 2018-11-29 2022-07-19 Microsoft Technology Licensing, Llc Streamlined secure deployment of cloud services
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
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
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
US11733990B2 (en) 2019-08-27 2023-08-22 Salesforce, Inc. Generating software artifacts from a conceptual data model
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
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
US11695559B2 (en) 2019-09-30 2023-07-04 Salesforce, Inc. Nested tenancy that permits a hierarchy having a plurality of levels
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
CN112036592A (en) * 2020-08-12 2020-12-04 烽火通信科技股份有限公司 Business management method and device of intelligent multifunctional pole facility
WO2023150143A1 (en) * 2022-02-02 2023-08-10 Oracle International Corporation Multi-cloud control plane architecture
WO2023150522A1 (en) 2022-02-02 2023-08-10 Oracle International Corporation Enhanced network-link architecture for improved end-to-end latency in communication between different cloud environments

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100416449C (en) * 2005-04-29 2008-09-03 国际商业机器公司 Method and device for automatically obtaining running software service concerned with software service provider
US8615584B2 (en) * 2009-12-03 2013-12-24 International Business Machines Corporation Reserving services within a cloud computing environment
US8924559B2 (en) * 2009-12-03 2014-12-30 International Business Machines Corporation Provisioning services using a cloud services catalog
US8924569B2 (en) * 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
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
US10560541B2 (en) * 2010-05-26 2020-02-11 Sap Se Service delivery management for brokered service delivery
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
US8935397B2 (en) * 2010-07-01 2015-01-13 Red Hat, Inc. Dividing cloud resources
US8935427B2 (en) * 2010-09-23 2015-01-13 Microsoft Corporation Providing virtual networks using multi-tenant relays
US9172766B2 (en) * 2011-01-10 2015-10-27 Fiberlink Communications Corporation System and method for extending cloud services into the customer premise

Also Published As

Publication number Publication date
EP2893683A1 (en) 2015-07-15
CN104737517A (en) 2015-06-24
WO2014039918A1 (en) 2014-03-13
CN104737517B (en) 2018-08-31
JP2016500854A (en) 2016-01-14

Similar Documents

Publication Publication Date Title
JP6181185B2 (en) LDAP-based multi-customer in-cloud identity management system
US9501541B2 (en) Separation of pod provisioning and service provisioning
JP6326417B2 (en) Multiple customer in-cloud identity management system based on LDAP
JP6280123B2 (en) Multi-domain identity management system
JP6419700B2 (en) Infrastructure for providing cloud services
US9542400B2 (en) Service archive support
US10182107B2 (en) Multi-tenant application using hierarchical bean factory container
US10521746B2 (en) Recovery workflow for processing subscription orders in a computing infrastructure system
US20160105372A1 (en) Customizable model for throttling and prioritizing orders in a cloud environment
US20140075033A1 (en) Service association model
JP2017526038A (en) Provision of service subscriptions using existing subscriptions

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170719

R150 Certificate of patent or registration of utility model

Ref document number: 6181185

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